/*
Theme Name:   Bio-Calabria Copanello Child
Theme URI:    https://vibecomunicazione.it
Description:  Child theme di Hello Elementor per il Distretto del Cibo Biologico Bio-Calabria Copanello. Design system "Ionica": palette verde bosco / azzurro Ionio / giallo sole, tipografia Young Serif + Figtree.
Author:       VIBE — thinkthevibe
Author URI:   https://vibecomunicazione.it
Template:     hello-elementor
Version:      1.0.2
Text Domain:  biocalabria-child
*/

/* =========================================================
   DESIGN SYSTEM "IONICA" — Bio-Calabria Copanello
   ========================================================= */

:root{
  /* Palette */
  --verde-bosco:#17402A;   /* primario — testi istituzionali, sfondi scuri, bottoni */
  --verde-foglia:#4E8A3C;  /* secondario — hover, accenti vegetali */
  --verde-chiaro:#EDF3E8;  /* sfondo sezioni alternate */
  --azzurro-ionio:#2E7E8C; /* accento mare — eyebrow, etichette, link secondari */
  --giallo-sole:#E9B93B;   /* accento caldo — CTA principali, highlight */
  --kraft:#C9A876;         /* cartellini evento */
  --kraft-scuro:#A98651;
  --avorio:#FBFAF6;        /* sfondo base */
  --ink:#1C2A21;           /* testo */
  --ink-soft:#54655B;      /* testo secondario */

  /* Tipografia */
  --display:'Young Serif', Georgia, serif;
  --body-font:'Figtree','Segoe UI',sans-serif;

  /* Geometria */
  --radius:14px;
}

/* ---------- Base ---------- */
body{
  font-family:var(--body-font);
  color:var(--ink);
  background:var(--avorio);
  font-size:17px;
  line-height:1.6;
}
h1,h2,h3,h4,h5,h6,
.elementor-heading-title{
  font-family:var(--display);
  font-weight:400;
  color:var(--verde-bosco);
}
a{color:var(--verde-bosco)}
a:hover{color:var(--verde-foglia)}
:focus-visible{outline:3px solid var(--giallo-sole);outline-offset:3px;border-radius:4px}

/* Scala tipografica di riferimento */
h1{font-size:clamp(2.1rem,4.6vw,3.4rem);line-height:1.12}
h2{font-size:clamp(1.6rem,3.2vw,2.3rem);line-height:1.2}
h3{font-size:1.45rem;line-height:1.3}

/* ---------- Componenti condivisi ---------- */
.bcc-eyebrow p{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--azzurro-ionio);margin:0 0 .3rem;
  font-family:var(--body-font)}
.bcc-eyebrow p::before{content:"";width:26px;height:2px;background:var(--giallo-sole)}

.bcc-h1 .elementor-heading-title{font-size:clamp(2.1rem,4.6vw,3.4rem);line-height:1.12}
.bcc-h1 em{font-style:normal;color:var(--verde-foglia)}
.bcc-h2 .elementor-heading-title{font-size:clamp(1.6rem,3.2vw,2.3rem)}
.bcc-h3 .elementor-heading-title{font-size:1.45rem;line-height:1.3}
.bcc-h4 .elementor-heading-title{font-family:var(--body-font);font-size:.8rem;font-weight:800;
  letter-spacing:.18em;text-transform:uppercase;color:var(--azzurro-ionio)}
.bcc-lead p{font-size:1.12rem;color:var(--ink-soft);max-width:34rem}
.bcc-sub p{color:var(--ink-soft);max-width:40rem}

/* Bottoni */
.bcc-btn .elementor-button{background:var(--verde-bosco);color:#fff;font-family:var(--body-font);
  font-weight:700;padding:.75rem 1.5rem;border-radius:100px;font-size:.95rem;transition:background .15s ease}
.bcc-btn .elementor-button:hover{background:var(--verde-foglia);color:#fff}
.bcc-btn-sole .elementor-button{background:var(--giallo-sole);color:var(--verde-bosco)}
.bcc-btn-sole .elementor-button:hover{background:#F2C85B;color:var(--verde-bosco)}
.bcc-btn-ghost .elementor-button{background:transparent;color:var(--verde-bosco);border:2px solid var(--verde-bosco)}
.bcc-btn-ghost .elementor-button:hover{background:var(--verde-chiaro);color:var(--verde-bosco)}

/* ---------- Hero ---------- */
.bcc-hero{background:
  radial-gradient(1200px 500px at 85% -10%, rgba(46,126,140,.12), transparent 60%),
  radial-gradient(900px 420px at -10% 110%, rgba(233,185,59,.14), transparent 60%),
  var(--avorio);
  padding:4.5rem 1rem 3.5rem}

/* Countdown */
.bcc-cd-label{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-soft);margin-bottom:.6rem}
.bcc-cd-grid{display:flex;gap:.7rem;flex-wrap:wrap}
.bcc-cd-cell{background:#fff;border:1px solid #E4E1D6;border-radius:var(--radius);min-width:74px;
  padding:.7rem .5rem;text-align:center;box-shadow:0 2px 10px rgba(23,64,42,.05)}
.bcc-cd-cell b{display:block;font-family:var(--display);font-size:1.7rem;color:var(--verde-bosco);line-height:1}
.bcc-cd-cell span{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}

/* Cartellino kraft (elemento firma) */
.bcc-tag{position:relative;display:block;text-decoration:none;background:linear-gradient(160deg,#D5B888,var(--kraft));
  border-radius:18px;padding:2.2rem 1.9rem 1.9rem;color:#3E2F17;box-shadow:0 18px 40px rgba(23,64,42,.18);
  transform:rotate(1.4deg);max-width:400px;margin:0 auto}
.bcc-tag::before{content:"";position:absolute;top:16px;left:50%;transform:translateX(-50%);
  width:20px;height:20px;border-radius:50%;background:var(--avorio);box-shadow:inset 0 2px 4px rgba(0,0,0,.25)}
.bcc-tag-date{font-family:var(--display);font-size:2.6rem;line-height:1;color:var(--verde-bosco);
  margin:1rem 0 .2rem;text-align:center}
.bcc-tag-date small{display:block;font-family:var(--body-font);font-weight:800;font-size:.85rem;
  letter-spacing:.28em;text-transform:uppercase;color:#5B4626}
.bcc-tag-title{font-weight:800;font-size:1.05rem;line-height:1.35;text-align:center;margin:.9rem 0 .5rem}
.bcc-tag-meta{font-size:.9rem;text-align:center;color:#5B4626}
.bcc-tag-chip{display:block;width:max-content;margin:1.2rem auto 0;background:var(--verde-bosco);color:#fff;
  font-weight:800;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;padding:.45rem 1.1rem;border-radius:100px}

/* ---------- Sezione evento ---------- */
.bcc-evento{background:var(--verde-chiaro);padding:4.2rem 1rem}
.bcc-card{background:#fff;border-radius:var(--radius);padding:2rem;box-shadow:0 6px 24px rgba(23,64,42,.07)}
.bcc-card .elementor-icon-list-item{margin-bottom:.9rem;align-items:flex-start}
.bcc-card .elementor-icon-list-icon i{color:var(--verde-bosco)}
.bcc-card .elementor-icon-list-text{font-size:.98rem;color:var(--ink)}

/* Elenco relatori */
.bcc-speakers .bcc-speaker{display:flex;gap:1rem;padding:.85rem 0;border-bottom:1px dashed #CFDBC6}
.bcc-speakers .bcc-speaker:last-child{border-bottom:none}
.bcc-speakers .bcc-dot{flex:none;width:38px;height:38px;border-radius:50%;background:var(--verde-bosco);
  color:#fff;display:grid;place-items:center;font-weight:800;font-size:.85rem}
.bcc-speakers b{display:block;font-size:.98rem}
.bcc-speakers span{font-size:.85rem;color:var(--ink-soft);line-height:1.4;display:block}

/* ---------- Calendario ---------- */
.bcc-cal{padding:4.2rem 1rem}
.bcc-cal-card{background:#fff;border:1px solid #E4E1D6;border-radius:var(--radius);padding:1.6rem;height:100%}
.bcc-cal-when p{font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--azzurro-ionio);margin:0;font-family:var(--body-font)}
.bcc-cal-h .elementor-heading-title{font-size:1.15rem;line-height:1.35}
.bcc-cal-card p{font-size:.92rem;color:var(--ink-soft)}
.bcc-cal-luogo p{font-size:.85rem;font-weight:600;color:var(--ink)}
.bcc-cal-ph{border:1px dashed #E4E1D6;background:transparent;text-align:center;color:var(--ink-soft)}
.bcc-cal-ph .bcc-plus{font-family:var(--display);font-size:2rem;color:var(--verde-foglia)}

/* ---------- Pilastri distretto ---------- */
.bcc-pilastro{border-radius:var(--radius);padding:1.8rem;height:100%;color:#EAF2E4}
.bcc-pil-1{background:var(--verde-bosco)}
.bcc-pil-2{background:var(--azzurro-ionio)}
.bcc-pil-3{background:var(--verde-foglia)}
.bcc-pilastro .elementor-icon-box-title{font-family:var(--display);font-weight:400;font-size:1.2rem;
  color:#fff;margin:.8rem 0 .5rem}
.bcc-pilastro .elementor-icon-box-description{font-size:.93rem;color:#EAF2E4;opacity:.92}
.bcc-pilastro .elementor-icon i{color:#fff;font-size:2rem}

/* ---------- Contatti ---------- */
.bcc-contatti{background:var(--verde-bosco);padding:4.2rem 1rem;color:#EAF2E4}
.bcc-contatti .bcc-h2 .elementor-heading-title{color:#fff}
.bcc-contatti .bcc-sub p{color:#C9DBBE}
.bcc-contatti .bcc-eyebrow p{color:var(--giallo-sole)}
.bcc-box{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius);padding:1.5rem;height:100%}
.bcc-box b{display:block;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--giallo-sole);margin-bottom:.4rem}
.bcc-box a{color:#fff;font-weight:600;text-decoration:none;word-break:break-word}
.bcc-box a:hover{text-decoration:underline;color:#fff}


/* ---------- Rete di sicurezza vs kit predefinito Elementor ---------- */
/* I selettori del kit (.elementor-kit-XX) possono avere specificità più alta:
   queste regole garantiscono il design system anche senza classi bcc- */
body .elementor-heading-title{font-family:var(--display);color:var(--verde-bosco)}
body .elementor-button{background-color:var(--verde-bosco);color:#fff;font-family:var(--body-font);
  font-weight:700;border-radius:100px;padding:.75rem 1.5rem;font-size:.95rem}
body .elementor-button:hover{background-color:var(--verde-foglia);color:#fff}
body .bcc-btn-sole .elementor-button{background-color:var(--giallo-sole);color:var(--verde-bosco)}
body .bcc-btn-sole .elementor-button:hover{background-color:#F2C85B;color:var(--verde-bosco)}
body .bcc-btn-ghost .elementor-button{background-color:transparent;color:var(--verde-bosco);border:2px solid var(--verde-bosco)}
body .bcc-btn-ghost .elementor-button:hover{background-color:var(--verde-chiaro);color:var(--verde-bosco)}
body .bcc-contatti .elementor-heading-title{color:#fff}


/* ---------- Header (template UAE Lite) ---------- */
.bcc-topbar{background:var(--verde-bosco);padding:.45rem 1rem}
.bcc-topbar-text p{color:#DCEBD3;font-size:.82rem;text-align:center;letter-spacing:.03em;margin:0}
.bcc-topbar-text strong{color:var(--giallo-sole)}
.bcc-headerbar{background:rgba(251,250,246,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid #E4E1D6;padding:.6rem 1rem}
.bcc-headerbar,.bcc-topbar{position:relative;z-index:50}
.bcc-header-col .elementor-widget-container{display:flex;align-items:center;height:100%}
.bcc-brand-name{font-family:var(--display);font-size:1.05rem;line-height:1.15;
  color:var(--verde-bosco);margin:0}
.bcc-brand-name span{display:block;font-family:var(--body-font);font-weight:600;font-size:.68rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--azzurro-ionio)}
.bcc-nav-links{display:flex;gap:1.6rem;justify-content:center;flex-wrap:wrap;margin:0;width:100%}
.bcc-nav-links a{text-decoration:none;font-weight:600;font-size:.95rem;color:var(--ink)}
.bcc-nav-links a:hover{color:var(--verde-foglia)}
.bcc-header-cta-col .elementor-widget-container{justify-content:flex-end}
@media (max-width:900px){
  .bcc-nav-links{gap:1rem;justify-content:flex-start}
  .bcc-header-cta-col .elementor-widget-container{justify-content:flex-start}
}

/* ---------- Footer (template UAE Lite) ---------- */
.bcc-footer{background:var(--verde-bosco);padding:3.5rem 1rem 2.5rem;color:#C9DBBE}
.bcc-footer .bcc-brand-light{color:#fff}
.bcc-footer .bcc-brand-light span{color:var(--giallo-sole)}
.bcc-foot-desc p{color:#C9DBBE;font-size:.92rem;max-width:26rem;margin-top:.8rem}
.bcc-foot-title .elementor-heading-title{font-family:var(--body-font);font-size:.78rem;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:var(--giallo-sole)}
.bcc-foot-links{display:flex;flex-direction:column;gap:.5rem;margin:.8rem 0 0}
.bcc-foot-links a{color:#EAF2E4;text-decoration:none;font-size:.95rem;font-weight:500}
.bcc-foot-links a:hover{color:var(--giallo-sole)}
.bcc-footer-legal{background:#102B1C;padding:1.4rem 1rem}
.bcc-foot-legal p{color:#9DB8A6;font-size:.82rem;text-align:center;margin:0}
.bcc-foot-partner{opacity:.8}

/* ---------- Responsive / accessibilità ---------- */
@media (max-width:900px){
  .bcc-tag{transform:none;margin-top:2rem}
}
@media (prefers-reduced-motion:reduce){
  .bcc-btn .elementor-button{transition:none}
}
