/*
Theme Name: Sentimento Cubano
Theme URI: https://sentimentocubano.com
Author: Sentimento Cubano
Description: Tema custom per il centro formazione danze caraibiche e fitness Sentimento Cubano, Matera. Block theme, pagine con layout bloccato, corsi e recensioni come contenuti dedicati.
Version: 1.0.0
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sentimento-cubano
*/

/* Palette, font e spaziature base vengono da theme.json (variabili --wp--preset--*). */
:root {
  --radius: 16px;
  --gutter: clamp(16px, 4vw, 40px);
  --section: clamp(3.5rem, 8vw, 6.5rem);
  --nav-h: 72px;
  --ease: cubic-bezier(.16, 1, .3, 1);
  --z-float: 40;
  --z-nav: 50;
}
html { scroll-behavior: smooth; }
/* No block gap between header, page content, band and footer: sections carry their own padding. */
.wp-site-blocks > * + *, .sc-page > * + * { margin-block-start: 0 !important; }
body { -webkit-font-smoothing: antialiased; font-optical-sizing: auto; }
h1, h2, h3, h4 { font-stretch: 90%; }
img { height: auto; }
.wp-block-image img, .wp-block-post-featured-image img { border-radius: var(--radius); }
.sc-section { padding-block: var(--section); }
.sc-section.is-tight { padding-top: 0; }
.sc-section-head { max-width: none !important; margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.sc-section-head > * { max-width: 60ch; }
.sc-section-head p { margin-top: .6rem; color: var(--wp--preset--color--testo-tenue); font-size: 1.1rem; }
.sc-prose { max-width: none !important; }
.sc-prose > * { max-width: 65ch; }
.sc-prose .is-style-lead, .sc-lead { font-size: 1.2rem; }
.sc-muted { color: var(--wp--preset--color--testo-tenue); }

/* ---------- Buttons: pill. Cards and images: 16px. ---------- */
.wp-block-button__link, .btn {
  display: inline-flex; align-items: center; gap: .55em;
  padding: .85em 1.5em; border-radius: 999px;
  font: inherit; font-weight: 600; text-decoration: none; cursor: pointer;
  border: 1.5px solid transparent; white-space: nowrap; line-height: 1;
  transition: transform .2s var(--ease), background .2s, color .2s, border-color .2s;
}
.wp-block-button__link:active, .btn:active { transform: translateY(1px) scale(.98); }
.btn svg, .wp-block-button__link svg { width: 1.25em; height: 1.25em; }
.btn-oro, .wp-block-button__link { background: var(--wp--preset--color--oro); color: var(--wp--preset--color--nero); }
.btn-oro:hover, .wp-block-button__link:hover { background: #d6b46a; color: var(--wp--preset--color--nero); }
.is-style-outline .wp-block-button__link, .btn-ghost { background: transparent; border-color: rgba(243, 237, 226, .55); color: var(--wp--preset--color--beige); }
.is-style-outline .wp-block-button__link:hover, .btn-ghost:hover { background: transparent; border-color: var(--wp--preset--color--beige); color: var(--wp--preset--color--beige); }
.btn-ghost-dark { border-color: rgba(42, 36, 28, .35); color: var(--wp--preset--color--testo); background: transparent; }
.btn-ghost-dark:hover { border-color: var(--wp--preset--color--testo); }
/* Darker WhatsApp green for buttons: white text reaches 3:1 (the brand #25d366 gives 2:1). */
.btn-wa { background: #1da851; color: #fff; }
.btn-wa:hover { background: #18914a; color: #fff; }
.link-arrow, .sc-link-arrow .wp-block-button__link {
  display: inline-flex; align-items: center; gap: .4em; font-weight: 600; text-decoration: none;
  color: var(--wp--preset--color--oro); background: none; padding: 0; border: 0; border-radius: 0;
}
.link-arrow { color: var(--wp--preset--color--oro-scuro); }
.sc-link-arrow .wp-block-button__link:hover { background: none; color: var(--wp--preset--color--oro); }
.sc-link-arrow .wp-block-button__link::after, .link-arrow::after {
  content: ""; width: 1em; height: 1em; background: currentColor; transition: transform .2s var(--ease);
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'><path d='M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z'/></svg>") center / contain no-repeat;
}
.sc-link-arrow .wp-block-button__link:hover::after, .link-arrow:hover::after { transform: translateX(3px); }

/* ---------- Nav ---------- */
/* Sticky on the template-part wrapper: sticky on .sc-nav itself is trapped inside that wrapper. */
.wp-site-blocks > :has(> .sc-nav) { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: var(--z-nav); }
@media (max-width: 600px) { .wp-site-blocks > :has(> .sc-nav) { top: 0; } }
.sc-nav { background: var(--wp--preset--color--nero); color: var(--wp--preset--color--beige); }
.sc-nav-inner { min-height: var(--nav-h); align-items: center; }
.sc-nav .wp-block-site-logo img { width: 130px; height: auto; border-radius: 0; }
.sc-nav .wp-block-navigation a { text-decoration: none; font-weight: 500; padding: .35rem 0; border-bottom: 2px solid transparent; transition: border-color .2s; }
.sc-nav .wp-block-navigation a:hover, .sc-nav .wp-block-navigation .current-menu-item > a { border-color: var(--wp--preset--color--oro); }
.sc-nav .wp-block-navigation .wp-block-navigation__container { gap: 1.9rem; }
.sc-nav .wp-block-navigation__responsive-container-open, .sc-nav .wp-block-navigation__responsive-container-close { color: var(--wp--preset--color--beige); }
.sc-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--nero); color: var(--wp--preset--color--beige); padding: 5rem var(--gutter) 2rem; }
.sc-nav .wp-block-navigation__responsive-container.is-menu-open a { font-size: 1.35rem; padding: .6rem 0; border-bottom: 1px solid rgba(243, 237, 226, .1); }
.sc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: .25rem; }
@media (max-width: 860px) { .sc-nav .sc-whatsapp { display: none; } }
/* Compact header once the page scrolls (html.is-scrolled, set in site.js). */
.sc-nav-inner, .sc-nav .wp-block-site-logo img { transition: min-height .3s var(--ease), width .3s var(--ease); }
.is-scrolled .sc-nav-inner { min-height: 56px; }
.is-scrolled .sc-nav .wp-block-site-logo img { width: 96px; }
/* Desktop: the header "Scrivici" hands over to the floating button (kept in layout so the menu doesn't shift). */
@media (min-width: 861px) {
  .sc-nav .sc-wa-nav { transition: opacity .25s, visibility .25s; }
  .is-scrolled .sc-nav .sc-wa-nav { opacity: 0; visibility: hidden; }
  .wa-float { transition: transform .3s var(--ease), opacity .3s, visibility .3s; }
  html:not(.is-scrolled) .wa-float { opacity: 0; visibility: hidden; transform: translateY(12px); }
}

/* ---------- Hero (core/cover) ---------- */
.sc-hero.wp-block-cover {
  align-items: flex-end; padding: 0; min-height: min(100dvh - var(--nav-h), 820px);
  color: var(--wp--preset--color--beige); overflow: hidden;
}
.sc-hero.is-short { min-height: min(62dvh, 560px); }
.sc-hero .wp-block-cover__background { opacity: 1 !important; background: linear-gradient(to top, rgba(21, 18, 14, .92) 0%, rgba(21, 18, 14, .55) 45%, rgba(21, 18, 14, .15) 100%) !important; }
.sc-hero .wp-block-cover__inner-container { width: min(1200px, 100% - 2 * var(--gutter)); margin-inline: auto; padding-block: clamp(2.5rem, 6vw, 5rem); }
.sc-hero .sc-hero-content { max-width: 640px; }
.sc-hero .sc-hero-content > * + * { margin-top: 1.25rem; }
.sc-hero p { font-size: clamp(1.05rem, 1.6vw, 1.3rem); max-width: 48ch; color: rgba(243, 237, 226, .9); }
.sc-hero .wp-block-post-date { color: rgba(243, 237, 226, .8); }
@media (prefers-reduced-motion: no-preference) {
  .sc-hero .sc-hero-content > * { animation: rise .8s var(--ease) both; }
  .sc-hero .sc-hero-content > :nth-child(2) { animation-delay: .08s; }
  .sc-hero .sc-hero-content > :nth-child(3) { animation-delay: .16s; }
  @keyframes rise { from { opacity: 0; transform: translateY(18px); } }
}

/* ---------- Two pillars (home) ---------- */
.sc-pillars { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.sc-pillars > .sc-pillar { margin: 0; }
.sc-pillar.wp-block-cover { align-items: flex-end; min-height: 460px; padding: 2rem; border-radius: var(--radius); color: var(--wp--preset--color--beige); }
.sc-pillar .wp-block-cover__background { opacity: 1 !important; background: linear-gradient(to top, rgba(21, 18, 14, .9), rgba(21, 18, 14, .05) 60%) !important; }
.sc-pillar .wp-block-cover__image-background { transition: transform .8s var(--ease); }
.sc-pillar:hover .wp-block-cover__image-background { transform: scale(1.04); }
.sc-pillar h2 { font-size: clamp(2rem, 3.5vw, 3rem); }
.sc-pillar p { color: rgba(243, 237, 226, .85); max-width: 36ch; }
.sc-pillar .wp-block-cover__inner-container > * + * { margin-top: .5rem; }

/* ---------- Photo strip (core/gallery, horizontal scroll) ---------- */
.sc-strip.wp-block-gallery { display: flex; flex-wrap: nowrap; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .5rem; scrollbar-width: none; }
.sc-strip::-webkit-scrollbar { display: none; }
.sc-strip.wp-block-gallery .wp-block-image { flex: 0 0 min(320px, 78vw) !important; width: auto !important; scroll-snap-align: start; display: block; }
.sc-strip.wp-block-gallery.has-nested-images figure.wp-block-image img { aspect-ratio: 3 / 4 !important; object-fit: cover; width: 100% !important; height: auto !important; flex: none !important; border-radius: var(--radius); }
.sc-strip.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { position: static; background: none; text-shadow: none; padding: .75rem 0 0; margin: 0; color: var(--wp--preset--color--testo); font-size: 1.2rem; font-weight: 600; text-align: left; }
/* Core blurs the bottom of captioned gallery images for overlay captions; ours sit below the image, so the blur lands on the text. */
.sc-strip.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before { content: none; }

/* ---------- Staff cards ---------- */
.sc-staff { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 3.5rem); max-width: 960px; margin-inline: 0 !important; }
.sc-staff > .sc-staff-card { margin: 0; }
.sc-staff-card > * { margin: 0; }
.sc-staff-card .wp-block-image img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; border-radius: var(--radius); }
.sc-staff-card .sc-eyebrow { margin-top: 1.25rem; font-size: .8rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--oro-scuro); }
.sc-staff-card h3 { margin-top: .35rem; font-size: clamp(1.5rem, 2.4vw, 1.9rem); }
.sc-staff-card h3 + p { margin-top: .75rem; max-width: 42ch; }
.sc-staff-card .sc-tags { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--wp--preset--color--beige-2); font-size: .95rem; color: var(--wp--preset--color--testo-tenue); }

/* ---------- Masonry gallery (core/gallery) ---------- */
.sc-masonry.wp-block-gallery { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 200px; gap: 1rem; }
.sc-masonry.wp-block-gallery .wp-block-image { width: auto !important; margin: 0; }
.sc-masonry.wp-block-gallery .wp-block-image img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius); }
.sc-masonry .wp-block-image:nth-child(6n+1) { grid-row: span 2; }
.sc-masonry .wp-block-image:nth-child(6n+2), .sc-masonry .wp-block-image:nth-child(6n+5) { grid-column: span 2; }
.sc-story-photos.wp-block-gallery .wp-block-image img { aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--radius); }

/* ---------- Video (core/embed) ---------- */
.sc-video.wp-block-embed { margin: 0; }
.sc-video .wp-block-embed__wrapper { border-radius: var(--radius); overflow: hidden; background: var(--wp--preset--color--nero); }
.sc-video iframe { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; }
.sc-yt { position: relative; aspect-ratio: 16 / 9; isolation: isolate; }
.sc-yt img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; }
.sc-yt::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(21, 18, 14, .55), rgba(21, 18, 14, .05) 50%); pointer-events: none; }
.sc-yt .play { position: absolute; inset: 0; margin: auto; z-index: 1; width: 84px; height: 84px; border-radius: 50%; border: 0; cursor: pointer; display: grid; place-items: center; color: var(--wp--preset--color--nero); background: var(--wp--preset--color--oro); box-shadow: 0 10px 40px rgba(21, 18, 14, .35); transition: transform .3s var(--ease); }
.sc-yt .play svg { width: 2rem; height: 2rem; margin-left: 4px; }
.sc-yt .play:hover { transform: scale(1.06); }
.sc-yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
@media (max-width: 860px) { .sc-yt .play { width: 64px; height: 64px; } .sc-yt .play svg { width: 1.5rem; height: 1.5rem; } }
.sc-video figcaption { margin-top: 1rem; color: var(--wp--preset--color--testo); font-size: 1.2rem; font-weight: 600; text-align: left; }

/* ---------- Course tiles (sc/corsi) ---------- */
.tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.tiles.cols-3 { grid-template-columns: repeat(3, 1fr); }
.tile {
  position: relative; display: grid; align-content: end; padding: 1.25rem; margin: 0;
  aspect-ratio: 4 / 5; border-radius: var(--radius); overflow: hidden; isolation: isolate;
  color: var(--wp--preset--color--beige); border: 0; background: var(--wp--preset--color--nero); cursor: pointer; text-align: left; font: inherit;
}
.tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .8s var(--ease); border-radius: 0; }
.tile::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(21, 18, 14, .92), rgba(21, 18, 14, .05) 55%); }
.tile:hover img { transform: scale(1.05); }
.tile .play { position: absolute; inset: 0; margin: auto; width: 60px; height: 60px; border-radius: 50%; display: grid; place-items: center; background: rgba(243, 237, 226, .18); color: var(--wp--preset--color--beige); backdrop-filter: blur(6px); border: 1px solid rgba(243, 237, 226, .35); }
.tile .play svg { width: 1.5rem; height: 1.5rem; margin-left: 3px; }
.tile:hover .play { background: var(--wp--preset--color--oro); color: var(--wp--preset--color--nero); border-color: transparent; }
.tile h3 { font-size: 1.3rem; margin: 0; }
.tile small { display: block; margin-top: .25rem; color: rgba(243, 237, 226, .75); font-size: .9rem; }
.tiles-empty { padding: 2rem; border-radius: var(--radius); background: var(--wp--preset--color--beige-2); color: var(--wp--preset--color--testo-tenue); }

/* ---------- Quotes (sc/recensioni) ---------- */
.quotes { display: grid; grid-template-columns: 1.4fr 1fr; gap: 1rem; }
.quote { display: grid; align-content: start; gap: 1.1rem; padding: 2rem; border-radius: var(--radius); background: var(--wp--preset--color--beige-2); }
.quote.featured { grid-row: span 2; padding: 2.5rem; grid-template-rows: auto 1fr auto; align-items: center; }
.quote.featured blockquote { font-size: clamp(1.3rem, 2vw, 1.7rem); }
.quote blockquote { margin: 0; padding: 0; border: 0; font-weight: 500; line-height: 1.35; letter-spacing: -0.01em; }
.quote blockquote p { margin: 0; }
.stars { color: var(--wp--preset--color--oro-scuro); display: flex; gap: .15rem; }
.stars svg { width: 1rem; height: 1rem; }
.quote-who { display: flex; align-items: center; gap: .8rem; font-size: .95rem; }
.quote-who img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.quote-who .avatar-blank { width: 44px; height: 44px; border-radius: 50%; background: var(--wp--preset--color--oro); color: var(--wp--preset--color--nero); display: grid; place-items: center; font-weight: 700; }
.quote-who b { display: block; }
.quote-who span { color: var(--wp--preset--color--testo-tenue); }
.quotes-row { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: .5rem; }
.quotes-row::-webkit-scrollbar { display: none; }
.quotes-row .quote { flex: 0 0 min(420px, 84vw); scroll-snap-align: start; }

/* ---------- CTA band (template part, photo-backed) ---------- */
.sc-band.wp-block-cover { padding: clamp(4rem, 9vw, 7rem) var(--gutter); min-height: 0; align-items: center; color: var(--wp--preset--color--beige); }
.sc-band .wp-block-cover__background { opacity: 1 !important; background: rgba(21, 18, 14, .78) !important; }
.sc-band .wp-block-cover__inner-container { width: min(1200px, 100%); margin-inline: auto; }
.sc-band .wp-block-cover__inner-container > * + * { margin-top: 1.25rem; }
.sc-band h2 { max-width: 20ch; }
.sc-band p { max-width: 50ch; color: rgba(243, 237, 226, .85); font-size: 1.15rem; }
.sc-band .sc-phone { font-size: 1rem; }
.sc-band .sc-phone + .sc-dati-telefono { margin-top: .25rem; }
.sc-band .sc-dati-telefono a { color: var(--wp--preset--color--oro); text-decoration: none; font-weight: 600; }

/* ---------- Why us (core/columns + icon separators) ---------- */
.sc-why.wp-block-columns { gap: 2rem; }
.sc-why .wp-block-column { border-top: 1.5px solid rgba(42, 36, 28, .18); padding-top: 1.25rem; }
.sc-why h3 { font-size: 1.2rem; margin: .75rem 0 0; }
.sc-why p { margin-top: .5rem; color: var(--wp--preset--color--testo-tenue); font-size: 1rem; }
hr.sc-icon { width: 2rem; height: 2rem; border: 0; margin: 0; background: var(--wp--preset--color--oro-scuro); opacity: 1; mask: var(--icon) center / contain no-repeat; }
.sc-icon-medal { --icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'><path d='M216,96A88,88,0,1,0,72,163.83V240a8,8,0,0,0,11.58,7.16L128,225l44.43,22.21A8.07,8.07,0,0,0,176,248a8,8,0,0,0,8-8V163.83A87.85,87.85,0,0,0,216,96ZM56,96a72,72,0,1,1,72,72A72.08,72.08,0,0,1,56,96ZM168,227.06l-36.43-18.21a8,8,0,0,0-7.16,0L88,227.06V174.37a87.89,87.89,0,0,0,80,0ZM128,152a56,56,0,1,0-56-56A56.06,56.06,0,0,0,128,152Zm0-96a40,40,0,1,1-40,40A40,40,0,0,1,128,56Z'/></svg>"); }
.sc-icon-certificate { --icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'><path d='M128,136a8,8,0,0,1-8,8H72a8,8,0,0,1,0-16h48A8,8,0,0,1,128,136Zm-8-40H72a8,8,0,0,0,0,16h48a8,8,0,0,0,0-16Zm112,65.47V224a8,8,0,0,1-12,7l-24-13.74L172,231a8,8,0,0,1-12-7V200H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216a16,16,0,0,1,16,16v30.53a51.88,51.88,0,0,1,0,74.94ZM160,184V161.47A52,52,0,0,1,216,76.31V56H40V184Zm56-12a36,36,0,1,0-36-36A36,36,0,0,0,216,172Zm0-56a20,20,0,1,0,20,20A20,20,0,0,0,216,116Zm-40,94.22,32-18.32,32,18.32V177.14a51.94,51.94,0,0,1-64,0Z'/></svg>"); }
.sc-icon-house { --icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'><path d='M240,208H224V136l2.34,2.34A8,8,0,0,0,237.66,127L139.31,28.68a16,16,0,0,0-22.62,0L18.34,127a8,8,0,0,0,11.32,11.31L32,136v72H16a8,8,0,0,0,0,16H240a8,8,0,0,0,0-16ZM48,120l80-80,80,80v88H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48Zm96,88H112V160h32Z'/></svg>"); }
.sc-icon-plant { --icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'><path d='M247.63,39.89a8,8,0,0,0-7.52-7.52c-51.76-3-93.32,12.74-111.18,42.22-11.8,19.49-11.78,43.16-.16,65.74a71.34,71.34,0,0,0-14.17,26.95L98.33,151c7.82-16.33,7.52-33.35-1-47.49-13.2-21.79-43.67-33.47-81.5-31.25a8,8,0,0,0-7.52,7.52c-2.23,37.83,9.46,68.3,31.25,81.5A45.82,45.82,0,0,0,63.44,168,54.58,54.58,0,0,0,87,162.33l25,25V216a8,8,0,0,0,16,0V186.51a55.61,55.61,0,0,1,12.27-35c25.65,1.65,50.47-8.8,66.2-28.92C222.83,102,242.76,72.19,247.63,39.89ZM47.81,147.6C32.47,138.31,23.79,116.32,24,88c28.32-.24,50.31,8.47,59.6,23.81,4.85,8,5.67,17.4,2.5,27.14L57.4,110.34a8,8,0,0,0-11.31,11.32l28.73,28.73C65.09,153.37,55.86,152.48,47.81,147.6ZM193.16,113c-11.36,14.53-29.33,22.68-48.51,22.53l40.94-40.95a8,8,0,0,0-11.31-11.31L133.35,124.2c-3.51-16.55-.68-32,8.09-46.37,13.77-22.72,45.9-35.64,86.07-35C224,83.25,207.28,95,193.16,113Z'/></svg>"); }

/* ---------- Blog (sc/blog) ---------- */
.sc-blog > .sc-section { width: min(1200px, 100% - 2 * var(--gutter)); margin-inline: auto; }
.post-featured { display: grid; grid-template-columns: 1.3fr 1fr; gap: 2rem; align-items: center; }
.post-featured img { border-radius: var(--radius); aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
.post-featured h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); margin: .5rem 0 0; }
.post-featured h2 a { text-decoration: none; color: inherit; }
.post-featured p { margin-top: .75rem; color: var(--wp--preset--color--testo-tenue); }
.post-featured .link-arrow { margin-top: 1rem; }
.post-list { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem 2.5rem; margin-top: 3.5rem; }
.post { display: grid; grid-template-columns: 140px 1fr; gap: 1.25rem; align-items: center; text-decoration: none; color: inherit; }
.post img, .post .thumb-blank { border-radius: 12px; aspect-ratio: 1; object-fit: cover; width: 100%; background: var(--wp--preset--color--beige-2); }
.post h3 { font-size: 1.2rem; margin: .3rem 0 0; }
.post-date { font-size: .9rem; color: var(--wp--preset--color--testo-tenue); }
.sc-pagination { margin-top: 3rem; display: flex; gap: .75rem; flex-wrap: wrap; }
.sc-single .wp-block-post-content { font-size: 1.1rem; }
.sc-single .wp-block-post-content > * + * { margin-top: 1.2em; }
.sc-single .wp-block-post-content h2, .sc-single .wp-block-post-content h3 { margin-top: 2em; }
.sc-single .wp-block-post-content img { border-radius: var(--radius); }
.sc-single .wp-block-post-content a { color: var(--wp--preset--color--oro-scuro); }

/* ---------- Contacts bento (sc/contatti) ---------- */
.bento { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: minmax(190px, auto); gap: 1rem; }
.cell { border-radius: var(--radius); background: var(--wp--preset--color--beige-2); padding: 1.75rem; display: grid; align-content: start; gap: .75rem; overflow: hidden; }
.cell h3 { font-size: 1.2rem; margin: 0; }
.cell p { margin: 0; }
.cell > svg, .cell > div > svg { width: 2.4rem; height: 2.4rem; color: var(--wp--preset--color--oro-scuro); }
.cell-wa { grid-column: span 5; background: var(--wp--preset--color--nero); color: var(--wp--preset--color--beige); align-content: space-between; }
.cell-wa > div > svg { color: var(--wp--preset--color--whatsapp); }
.cell-wa p { color: rgba(243, 237, 226, .8); }
.cell-map { grid-column: span 7; grid-row: span 2; padding: 0; display: block; position: relative; min-height: 380px; }
.cell-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; filter: grayscale(.4) sepia(.15); }
.sc-map-consent { position: absolute; inset: 0; padding: 1.75rem; display: grid; align-content: center; justify-items: start; gap: .6rem; background: var(--wp--preset--color--beige-2); }
.sc-map-consent > svg { width: 2.4rem; height: 2.4rem; color: var(--wp--preset--color--oro-scuro); }
.sc-map-consent h3 { margin: 0; }
.sc-map-consent p { margin: 0; }
.sc-map-note { font-size: .9rem; color: var(--wp--preset--color--testo-tenue); max-width: 42ch; }
.sc-map-consent .btn { margin-top: .5rem; }
.cell-hours { grid-column: span 5; }
.cell-hours dl { display: grid; grid-template-columns: auto 1fr; gap: .35rem 1.5rem; margin: 0; }
.cell-hours dt { font-weight: 600; }
.cell-hours dd { margin: 0; color: var(--wp--preset--color--testo-tenue); }
.cell-mail { grid-column: span 4; }
.cell-mail a, .cell-address a { font-weight: 600; text-decoration: none; color: var(--wp--preset--color--oro-scuro); word-break: break-all; }
.cell-social { grid-column: span 4; }
.social-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.social-list a { display: flex; align-items: center; gap: .7rem; text-decoration: none; font-weight: 500; color: inherit; }
.social-list svg { width: 1.4rem; height: 1.4rem; color: var(--wp--preset--color--oro-scuro); }
.cell-photo { grid-column: span 4; padding: 0; }
.cell-photo img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0; }

/* ---------- Footer ---------- */
.sc-footer { background: var(--wp--preset--color--nero); color: rgba(243, 237, 226, .85); padding-block: 4rem 2rem; }
.sc-footer .wp-block-columns { gap: 3rem; }
.sc-footer h3 { color: var(--wp--preset--color--oro); font-size: .95rem; font-stretch: 100%; letter-spacing: 0; margin: 0 0 .9rem; }
.sc-footer p, .sc-footer li { font-size: .98rem; }
.sc-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.sc-footer a { text-decoration: none; color: inherit; }
.sc-footer a:hover { color: var(--wp--preset--color--oro); }
.sc-footer .wp-block-site-logo img { width: 150px; border-radius: 0; }
.sc-social { display: flex; gap: .9rem; margin-top: 1rem; }
.sc-social svg { width: 1.5rem; height: 1.5rem; }
.sc-footer-bottom { margin-top: 3rem; padding-top: 1.25rem; border-top: 1px solid rgba(243, 237, 226, .12); font-size: .85rem; color: rgba(243, 237, 226, .55); }
.sc-footer-bottom p { margin: 0; }

/* ---------- WhatsApp float (always visible) ---------- */
.wa-float {
  position: fixed; right: 20px; bottom: 20px; z-index: var(--z-float);
  display: inline-flex; align-items: center; gap: .6rem;
  background: #1da851; color: #fff;
  border-radius: 999px; padding: 12px 20px 12px 14px; text-decoration: none; font-weight: 700;
  box-shadow: 0 12px 32px rgba(21, 18, 14, .3); transition: transform .3s var(--ease);
}
.wa-float svg { width: 1.9rem; height: 1.9rem; }
.wa-float:hover { transform: translateY(-2px); background: #18914a; color: #fff; }

/* ---------- Video dialog ---------- */
.video-dialog { border: 0; padding: 0; background: var(--wp--preset--color--nero-2); color: var(--wp--preset--color--beige); border-radius: var(--radius); width: min(960px, 92vw); }
.video-dialog::backdrop { background: rgba(21, 18, 14, .85); }
.video-dialog header { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1rem 1rem 1.5rem; }
.video-dialog header h3 { font-size: 1.2rem; margin: 0; }
.video-dialog .close { background: none; border: 0; color: inherit; cursor: pointer; padding: .25rem; display: grid; }
.video-dialog .close svg { width: 1.6rem; height: 1.6rem; }
.video-dialog .media { background: #000; aspect-ratio: 16 / 9; }
.video-dialog .media iframe, .video-dialog .media video { width: 100%; height: 100%; display: block; border: 0; }
.video-dialog .desc { padding: 1.25rem 1.5rem 1.5rem; color: rgba(243, 237, 226, .8); display: grid; gap: 1rem; justify-items: start; }
.video-dialog .desc p { margin: 0; }

/* ---------- 404 / search ---------- */
.sc-404 { min-height: 50vh; display: grid; align-content: center; gap: 1rem; justify-items: start; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .tiles { grid-template-columns: repeat(3, 1fr); }
  .sc-masonry.wp-block-gallery { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 860px) {
  .sc-pillars, .quotes, .post-featured, .post-list, .sc-staff { grid-template-columns: 1fr; }
  .sc-footer .wp-block-columns { flex-direction: column; gap: 2rem; }
  .sc-pillar.wp-block-cover { min-height: 340px; }
  .quote.featured { grid-row: auto; }
  .tiles, .tiles.cols-3 { grid-template-columns: repeat(2, 1fr); }
  .sc-masonry.wp-block-gallery { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 160px; }
  .bento { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .bento > * { grid-column: auto !important; grid-row: auto !important; }
  .cell-map { min-height: 300px; }
  .post { grid-template-columns: 100px 1fr; }
  .wa-float span { display: none; }
  .wa-float { padding: 12px; right: 16px; bottom: 16px; }
}
@media (max-width: 480px) {
  .tile { padding: .9rem; }
  .tile h3 { font-size: 1.05rem; }
  .tile .play { width: 46px; height: 46px; }
  .tile .play svg { width: 1.2rem; height: 1.2rem; }
}

.sc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Complianz cookie banner: theme colors and type ---------- */
body .cmplz-cookiebanner {
  --cmplz_banner_background_color: var(--wp--preset--color--beige);
  --cmplz_banner_border_color: var(--wp--preset--color--beige-2);
  --cmplz_banner_border_radius: var(--radius);
  --cmplz_text_color: var(--wp--preset--color--testo);
  --cmplz_hyperlink_color: var(--wp--preset--color--oro-scuro);
  --cmplz_button_border_radius: 999px;
  --cmplz_button_accept_background_color: var(--wp--preset--color--oro);
  --cmplz_button_accept_border_color: var(--wp--preset--color--oro);
  --cmplz_button_accept_text_color: var(--wp--preset--color--nero);
  --cmplz_button_deny_background_color: transparent;
  --cmplz_button_deny_border_color: var(--wp--preset--color--testo);
  --cmplz_button_deny_text_color: var(--wp--preset--color--testo);
  --cmplz_button_settings_background_color: transparent;
  --cmplz_button_settings_border_color: var(--wp--preset--color--testo);
  --cmplz_button_settings_text_color: var(--wp--preset--color--testo);
  --cmplz_slider_active_color: var(--wp--preset--color--oro-scuro);
  font-family: inherit;
  box-shadow: 0 20px 60px rgba(21, 18, 14, .25);
}
body .cmplz-cookiebanner .cmplz-title { font-size: 1.15rem; font-weight: 600; }
body .cmplz-cookiebanner .cmplz-btn { font-weight: 600; }
body .cmplz-cookiebanner .cmplz-documents li:not(:has(a[href]:not([href=""]))) { display: none; }
