/*
Theme Name: Wellness Child
Template: blocksy
Author: Maria & Fabio
Description: Child theme per il sito wellness, direzione editoriale/documentario caldo (crema, verde-nero, terracotta).
Version: 2.0.0
*/

:root{
  --bg:#F6F1E7;        /* crema caldo */
  --bg-2:#EFE6D3;      /* crema alternato */
  --ink:#1F2E27;       /* verde-nero profondo */
  --ink-soft:rgba(31,46,39,.66);
  --line:rgba(31,46,39,.16);
  --accent:#C1583A;    /* terracotta */
  --accent-dk:#A8462C;
  --dark:#1F2E27;
  --f-display:'Fraunces', Georgia, 'Times New Roman', serif;
  --f-sans:'Inter', system-ui, -apple-system, Segoe UI, sans-serif;
}

/* ===== Coerenza palette globale: rimappa la palette di Blocksy sui nostri colori ===== */
:root{
  --theme-palette-color-1:#C1583A;  /* accento / link  (era blu) */
  --theme-palette-color-2:#A8462C;  /* accento hover   (era blu scuro) */
  --theme-palette-color-3:#37452F;  /* verde profondo  */
  --theme-palette-color-4:#1F2E27;  /* testo / titoli  (era navy) */
  --theme-palette-color-5:#E6DFCF;  /* bordi/sottili   */
  --theme-palette-color-6:#EFE6D3;  /* superfici chiare (footer) */
  --theme-palette-color-7:#F6F1E7;  /* crema           */
  --theme-palette-color-8:#ffffff;
  --theme-link-initial-color:#1F2E27;
  --theme-link-hover-color:#C1583A;
  --theme-text-color:#1F2E27;
  --theme-headings-color:#1F2E27;
}
/* Menu: voce corrente e hover in terracotta */
.ct-menu-link:hover, .ct-menu-link:focus,
.current-menu-item > .ct-menu-link,
.current_page_item > .ct-menu-link{ color:var(--accent) !important; }
/* Link nei contenuti (esclusi i bottoni) */
.entry-content a:not(.w-btn){ color:var(--accent); }
.entry-content a:not(.w-btn):hover{ color:var(--accent-dk); }

/* ---------- BASE ---------- */
body{
  font-family:var(--f-sans);
  color:var(--ink);
  background:var(--bg);
  font-size:1.0625rem;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:var(--f-display);
  color:var(--ink);
  font-weight:600;
  line-height:1.04;
  letter-spacing:-.02em;
  margin:0 0 .5em;
}
p{margin:0 0 1.1rem;}
a{color:inherit;}
img{max-width:100%;height:auto;}

.w-container{max-width:1160px;margin:0 auto;padding:0 clamp(20px,5vw,40px);}
.w-section{padding:clamp(3.5rem,9vw,7rem) 0;}
.w-section--sand{background:var(--bg-2);}

.w-eyebrow, .w-kicker{
  font-family:var(--f-sans);
  text-transform:uppercase;
  letter-spacing:.2em;
  font-size:.74rem;
  font-weight:600;
  color:var(--accent);
  margin:0 0 1.1rem;
}
.w-section h2{font-size:clamp(1.9rem,4.4vw,3.2rem);max-width:18ch;}

/* Sezioni a tutta larghezza (breakout dal contenitore Blocksy) */
body{overflow-x:hidden;}
.w-hero, .w-section, .w-band{width:100vw;margin-left:calc(50% - 50vw);}

.w-accent-word{font-style:italic;font-weight:500;color:var(--accent);}

/* ---------- BOTTONI ---------- */
.w-btn{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--f-sans);font-weight:600;font-size:1rem;
  padding:.95rem 1.7rem;border-radius:3px;text-decoration:none;
  transition:transform .18s ease, background .18s ease, color .18s ease;
  border:1.5px solid transparent;line-height:1;
}
.w-btn:hover{transform:translateY(-2px);}
.w-btn--wa{background:var(--accent);color:#fff;}
.w-btn--wa:hover{background:var(--accent-dk);}
.w-btn--wa::before{content:"";width:18px;height:18px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M.057 24l1.687-6.163a11.9 11.9 0 01-1.62-5.985C.122 5.28 5.4 0 12.03 0a11.9 11.9 0 018.412 3.488 11.8 11.8 0 013.5 8.41c0 6.627-5.373 12-11.9 12a11.9 11.9 0 01-5.7-1.45L.057 24z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M.057 24l1.687-6.163a11.9 11.9 0 01-1.62-5.985C.122 5.28 5.4 0 12.03 0a11.9 11.9 0 018.412 3.488 11.8 11.8 0 013.5 8.41c0 6.627-5.373 12-11.9 12a11.9 11.9 0 01-5.7-1.45L.057 24z'/%3E%3C/svg%3E") center/contain no-repeat;}
.w-btn--primary{background:transparent;color:var(--ink);border-color:var(--ink);}
.w-btn--primary:hover{background:var(--ink);color:var(--bg);}
.w-btn--light{background:var(--bg);color:var(--ink);}
.w-btn--light:hover{background:#fff;}

/* Coerenza colore testo bottoni in hover/focus (niente verde/blu del tema) */
.w-btn--wa, .w-btn--wa:hover, .w-btn--wa:focus{ color:#fff !important; }
.w-btn--primary{ color:var(--ink) !important; }
.w-btn--primary:hover, .w-btn--primary:focus{ color:var(--bg) !important; }
.w-btn--light, .w-btn--light:hover, .w-btn--light:focus{ color:var(--ink) !important; }

/* Fluent Forms nella palette (submit terracotta, focus terracotta) */
.fluentform .ff-btn-submit,
.fluentform button[type="submit"]{
  background:var(--accent) !important; border:1.5px solid var(--accent) !important; color:#fff !important;
  border-radius:3px !important; font-family:var(--f-sans) !important; font-weight:600 !important;
  padding:.85rem 1.7rem !important; transition:background .18s ease, transform .18s ease !important;
}
.fluentform .ff-btn-submit:hover,
.fluentform button[type="submit"]:hover{ background:var(--accent-dk) !important; color:#fff !important; transform:translateY(-2px); }
.fluentform input:focus, .fluentform textarea:focus, .fluentform select:focus{
  border-color:var(--accent) !important; box-shadow:0 0 0 2px rgba(193,88,58,.18) !important; outline:none !important;
}

/* ---------- HERO ---------- */
.w-hero{background:var(--bg);padding:clamp(3rem,7vw,5.5rem) 0 clamp(3.5rem,8vw,6rem);overflow:hidden;}
.w-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,6vw,5rem);align-items:center;}
.w-hero h1{font-size:clamp(2.7rem,6.6vw,5.4rem);margin:0 0 1.4rem;}
.w-hero .lead{font-size:clamp(1.05rem,1.6vw,1.3rem);color:var(--ink-soft);max-width:44ch;margin-bottom:2rem;}
.w-cta-row{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:2.4rem;}
.w-hero-stat{display:flex;align-items:baseline;gap:.9rem;padding-top:1.6rem;border-top:1px solid var(--line);max-width:24rem;}
.w-hero-stat .num{font-family:var(--f-display);font-size:2.4rem;font-weight:600;color:var(--accent);line-height:1;}
.w-hero-stat span:last-child{font-size:.92rem;color:var(--ink-soft);}

.w-hero-figure{position:relative;margin:0;}
.w-hero-figure::before{content:"";position:absolute;inset:18px -18px -18px 18px;background:var(--accent);border-radius:4px;z-index:0;}
.w-hero-figure img{position:relative;z-index:1;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px;display:block;
  box-shadow:0 24px 60px rgba(31,46,39,.22);}

/* Hero: logo infinito con due foto tonde */
.w-hero-infinity{margin:0;position:relative;text-align:center;}
.w-hero-infinity svg{width:100%;max-width:360px;height:auto;display:block;margin:0 auto;
  filter:drop-shadow(0 18px 40px rgba(31,46,39,.16));}
.w-infinity-cap{margin-top:.7rem;font-family:var(--f-display);font-size:1.05rem;color:var(--ink-soft);}
.w-infinity-logo{display:block;max-width:210px;height:auto;margin:1.1rem auto 0;}

/* ---------- FLUIDITÀ ---------- */
html{ scroll-behavior:smooth; }
a{ transition:color .2s ease; }
.w-hero-infinity{ will-change:transform; }
.w-hero-infinity svg{ will-change:transform; animation:wfloat 6s ease-in-out infinite; }
@keyframes wfloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-8px); } }

/* ---------- FAQ ---------- */
.w-faq{ background:var(--bg); }
.w-faq-list{ max-width:760px; margin:2.4rem auto 0; border-top:1px solid var(--line); }
.w-faq-item{ border-bottom:1px solid var(--line); }
.w-faq-item summary{ cursor:pointer; list-style:none; padding:1.2rem 2.4rem 1.2rem 0; position:relative;
  font-family:var(--f-display); font-size:1.2rem; color:var(--ink); }
.w-faq-item summary::-webkit-details-marker{ display:none; }
.w-faq-item summary::after{ content:"+"; position:absolute; right:2px; top:1rem; font-size:1.5rem;
  line-height:1; color:var(--accent); transition:transform .25s ease; }
.w-faq-item[open] summary::after{ transform:rotate(45deg); }
.w-faq-a{ padding:0 0 1.4rem; color:var(--ink-soft); max-width:66ch; }

/* ---------- PAGINE LEGALI ---------- */
.w-legal .container{ max-width:100%; padding:0; }
.w-legal .legal-section{ margin:0 0 1.8rem; }
.w-legal h1{ font-size:clamp(2rem,4vw,2.8rem); margin-bottom:1rem; }
.w-legal .legal-section h2{ font-size:1.4rem; margin:0 0 .5rem; }
.w-legal p, .w-legal li{ color:var(--ink-soft); }
.w-legal a{ color:var(--accent); }
.w-legal-notice{ background:rgba(193,88,58,.10); border:1px solid rgba(193,88,58,.35);
  border-radius:6px; padding:.9rem 1.1rem; color:var(--ink); font-size:.92rem; margin-bottom:1.8rem; }
/* link legali nel footer */
.w-foot-legal{ display:inline-block; margin-top:.5rem; font-size:.82rem; }
.w-foot-legal a{ color:inherit; opacity:.85; text-decoration:none; }
.w-foot-legal a:hover{ color:var(--accent); opacity:1; }

/* ---------- MANIFESTO ---------- */
.w-manifesto{background:var(--bg);text-align:center;}
.w-manifesto p{font-family:var(--f-display);font-style:italic;font-weight:400;
  font-size:clamp(1.6rem,3.6vw,2.7rem);line-height:1.25;color:var(--ink);max-width:20ch;margin:0 auto;}

/* ---------- SHOWCASE PRIMA/DOPO ---------- */
.w-showcase-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.6rem,5vw,4rem);align-items:center;margin-top:2.4rem;}
.w-showcase-text{max-width:34ch;}
.w-showcase-text p{color:var(--ink-soft);}
.w-fineprint{font-size:.8rem;opacity:.7;}

/* ---------- STEPS / METODO ---------- */
.w-steps{list-style:none;margin:2.6rem 0 0;padding:0;border-top:1px solid var(--line);}
.w-step{display:grid;grid-template-columns:auto 1fr;gap:1.6rem;align-items:start;
  padding:1.8rem 0;border-bottom:1px solid var(--line);}
.w-step-num{font-family:var(--f-display);font-size:2.2rem;font-weight:600;color:var(--accent);line-height:1;min-width:2.4ch;}
.w-step h3{font-size:1.35rem;margin:.1rem 0 .35rem;}
.w-step p{margin:0;color:var(--ink-soft);max-width:52ch;}

/* nota IA (sottovoce) */
.w-ai-note{margin-top:1.9rem;font-size:.95rem;font-style:italic;color:var(--ink-soft);
  max-width:62ch;display:flex;align-items:center;gap:.65rem;}
.w-ai-chip{flex:0 0 auto;font-family:var(--f-sans);font-style:normal;font-size:.64rem;font-weight:700;
  letter-spacing:.16em;color:var(--accent);border:1px solid var(--accent);border-radius:999px;
  padding:.22rem .55rem;text-transform:uppercase;}

/* ---------- BAND SCURA (CTA) ---------- */
.w-band{background:var(--dark);color:var(--bg);padding:clamp(3.5rem,8vw,6rem) 0;}
.w-band-inner{display:flex;flex-wrap:wrap;gap:2rem;align-items:center;justify-content:space-between;}
.w-band .w-eyebrow{color:#E0A48F;}
.w-band h2{color:var(--bg);font-size:clamp(1.8rem,4vw,3rem);}
.w-band .lead-light{color:rgba(246,241,231,.78);max-width:40ch;margin:0;}

/* ---------- CARD (altre pagine) ---------- */
.w-card{background:rgba(255,255,255,.5);border:1px solid var(--line);border-radius:4px;
  padding:1.7rem;text-align:left;}
.w-card h3{font-size:1.3rem;margin-bottom:.4rem;}
.w-card p{color:var(--ink-soft);margin:0;}

/* ---------- LOGO (solo logo, ingrandito, niente titolo/tagline) ---------- */
.site-title, .site-description,
.ct-site-title, .ct-site-description,
.ct-header .site-title, .ct-header .site-description{ display:none !important; }
.custom-logo,
.site-logo-container img,
.ct-logo-container img{ max-height:82px !important; height:auto !important; width:auto !important; }
@media (max-width:600px){
  .custom-logo, .site-logo-container img, .ct-logo-container img{ max-height:60px !important; }
}
/* Rimuovi la lente di ricerca dal header */
[data-id="search"]{ display:none !important; }

/* ---------- STORY / VIDEO ---------- */
.w-story{background:var(--bg);text-align:center;}
.w-story h2{margin-left:auto;margin-right:auto;}
.w-video{position:relative;max-width:880px;margin:2.4rem auto 1.2rem;border-radius:8px;overflow:hidden;
  box-shadow:0 24px 60px rgba(31,46,39,.24);cursor:pointer;aspect-ratio:16/9;background:var(--dark);}
.w-video img, .w-video video{width:100%;height:100%;object-fit:cover;display:block;}
.w-video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:84px;height:84px;border-radius:50%;background:rgba(193,88,58,.92);
  box-shadow:0 8px 30px rgba(0,0,0,.35);transition:transform .2s;}
.w-video:hover .w-video-play{transform:translate(-50%,-50%) scale(1.08);}
.w-video-play::after{content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);
  border-style:solid;border-width:13px 0 13px 22px;border-color:transparent transparent transparent #fff;}
.w-video-tag{position:absolute;top:14px;left:14px;background:rgba(31,46,39,.72);color:#fff;
  font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:.28rem .7rem;border-radius:3px;}

/* ---------- WHATSAPP FLOTTANTE ---------- */
.w-wa-float{position:fixed;right:18px;bottom:18px;z-index:9999;width:58px;height:58px;
  border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 26px rgba(0,0,0,.28);transition:transform .2s;}
.w-wa-float:hover{transform:scale(1.08);}
.w-wa-float svg{width:32px;height:32px;fill:#fff;}

/* ---------- FOOTER LOGO ---------- */
.ct-footer-copyright{line-height:1.5;}
.ct-footer-copyright .w-foot-logo{height:44px;width:auto;vertical-align:middle;}
.ct-footer-copyright .w-foot-note{display:inline-block;margin-top:.5rem;font-size:13px;opacity:.7;}

/* ---------- DISCLOSURE ---------- */
.w-disclosure{max-width:820px;margin:1.5rem auto .6rem;padding:1rem 1rem 0;text-align:center;
  font-size:.76rem;line-height:1.55;color:var(--ink-soft);}
.w-poweredby{text-align:center;margin:0 auto 5rem;font-size:.78rem;}
.w-poweredby a{display:inline-flex;align-items:center;gap:.4rem;color:var(--ink-soft);
  text-decoration:none;opacity:.85;transition:opacity .2s;}
.w-poweredby a:hover{opacity:1;color:var(--accent);}
.w-poweredby img{width:15px;height:auto;display:inline-block;}
.w-poweredby strong{font-weight:600;}

/* ---------- SLIDER PRIMA/DOPO ---------- */
.w-ba{position:relative;width:100%;max-width:460px;margin:0;border-radius:6px;overflow:hidden;
  user-select:none;box-shadow:0 20px 50px rgba(31,46,39,.20);}
.w-ba img{display:block;width:100%;pointer-events:none;}
.w-ba .w-ba-after{position:absolute;inset:0;width:50%;overflow:hidden;border-right:3px solid var(--bg);}
.w-ba .w-ba-after img{width:200%;max-width:none;}
.w-ba .w-ba-handle{position:absolute;top:0;bottom:0;left:50%;width:40px;margin-left:-20px;
  cursor:ew-resize;display:flex;align-items:center;justify-content:center;}
.w-ba .w-ba-handle::after{content:"⟺";background:var(--bg);color:var(--ink);border-radius:50%;
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  box-shadow:0 3px 12px rgba(0,0,0,.28);font-size:1.1rem;}
.w-ba .w-ba-label{position:absolute;bottom:12px;padding:.22rem .6rem;border-radius:3px;
  background:rgba(31,46,39,.72);color:#fff;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;}
.w-ba .w-ba-label--before{left:12px;} .w-ba .w-ba-label--after{right:12px;}

/* ---------- AOS fallback ---------- */
[data-aos]{opacity:1;}
.aos-init[data-aos]{opacity:0;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:860px){
  .w-hero-grid{grid-template-columns:1fr;gap:2.4rem;}
  .w-hero-figure, .w-hero-infinity{order:-1;max-width:460px;margin-left:auto;margin-right:auto;}
  .w-hero-figure::before{inset:12px -12px -12px 12px;}
  .w-showcase-inner{grid-template-columns:1fr;}
  .w-ba{max-width:100%;}
  .w-band-inner{flex-direction:column;align-items:flex-start;}
}
@media (max-width:640px){
  .w-hero{ padding-top:2rem; }
  .w-hero-content{ text-align:center; }
  .w-hero .lead{ margin-left:auto; margin-right:auto; }
  .w-cta-row{ justify-content:center; }
  .w-cta-row .w-btn{ flex:1 1 auto; justify-content:center; }
  .w-hero-stat{ margin-left:auto; margin-right:auto; justify-content:center; text-align:center; }
  .w-hero-infinity svg{ max-width:270px; }
  .w-manifesto p{ max-width:24ch; }
  .w-step{ gap:1rem; }
  .w-step-num{ font-size:1.9rem; min-width:2ch; }
  .w-ai-note{ font-size:.9rem; align-items:flex-start; }
  .w-band-inner .w-btn{ width:100%; justify-content:center; }
  .w-video-play{ width:64px; height:64px; }
  .w-video-play::after{ border-width:11px 0 11px 18px; }
}
@media (max-width:400px){
  .w-container{ padding-left:16px; padding-right:16px; }
  .w-hero h1{ font-size:2.4rem; }
}
