/* Condhotel Fanti — helper CSS (integra theme.json) */

/* Hero slider: slide "cover" impilate con crossfade (rese via shortcode [chf_hero]) */
.chf-hero{ position:relative; }
.chf-hero .chf-slide{ position:relative; margin:0; min-height:82vh; overflow:hidden; transition:opacity 1.4s ease-in-out; }
.chf-hero .chf-slide:not(:first-child){ position:absolute; inset:0; opacity:0; }
.chf-hero .wp-block-cover__image-background{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; margin:0; max-width:none; z-index:0; }
.chf-hero .wp-block-cover__background{ position:absolute; inset:0; z-index:1; background:rgba(0,0,0,.42); }
.chf-hero .wp-block-cover__inner-container{ position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:1.5rem; }
.chf-hero .chf-hero-logo{ display:block; }
.chf-hero .wp-block-buttons{ display:flex; justify-content:center; gap:.6rem; flex-wrap:wrap; margin-top:.6rem; }

/* Card pillar / promo: overlay leggibile già dato dai Cover. Rifiniture: */
.chf-card .wp-block-cover{ min-height:340px; }
.chf-duo .wp-block-cover{ min-height:420px; }

/* ===== Card "didascalia sotto la foto" (appartamenti, guida, promo) ===== */
.chf-imgcard{ background:#fff; border-radius:6px; overflow:hidden; box-shadow:0 2px 8px rgba(20,30,36,.10); height:100%; }
.chf-imgcard .wp-block-image{ margin:0; }
.chf-imgcard img{ width:100%; height:230px; object-fit:cover; display:block; }
.chf-imgcard__cap{ background:var(--wp--preset--color--slate); padding:14px 18px; color:#dfe5e9; }
.chf-imgcard__cap h3{ color:#fff!important; margin:0 0 .12em; font-size:1.2rem; line-height:1.2; }
.chf-imgcard__cap h3 a{ color:#fff!important; text-decoration:none; }
.chf-imgcard__cap p{ color:#dfe5e9!important; margin:0; opacity:1; font-size:.9rem; }
.chf-duo .chf-imgcard img{ height:320px; }
@media(max-width:900px){ .chf-imgcard img{ height:200px; } .chf-duo .chf-imgcard img{ height:240px; } }

/* ===== Card immagine sovrapposta (pillar duo Ski/Bike) ===== */
/* Riduce l'oscuramento uniforme: immagini luminose, testo leggibile grazie alla sola sfumatura in basso */
.wp-block-columns .wp-block-cover__background{ opacity:.12!important; }
/* Sfumatura scura in basso per leggibilità costante su ogni foto */
.wp-block-columns .wp-block-cover::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(to top, rgba(18,28,34,.78) 0%, rgba(18,28,34,.20) 42%, rgba(18,28,34,0) 68%);
}
.wp-block-columns .wp-block-cover__inner-container{ position:relative; z-index:2; padding:22px; }
/* Titolo (anche se è un link) sempre bianco, niente sottolineatura */
.wp-block-columns .wp-block-cover :is(h2,h3){ color:#fff!important; margin:0 0 .2em; text-shadow:0 1px 10px rgba(0,0,0,.45); }
.wp-block-columns .wp-block-cover :is(h2,h3) a{ color:#fff!important; text-decoration:none; }
.wp-block-columns .wp-block-cover p{ color:#fff!important; margin:0; text-shadow:0 1px 10px rgba(0,0,0,.45); }
.wp-block-columns .wp-block-cover .wp-element-button{ text-shadow:none; }

/* Lista "perché scegliere" con pallini a cerchio */
.chf-list ul{ list-style:none; padding:0; margin:0; }
.chf-list li{ position:relative; padding:8px 0 8px 28px; border-bottom:1px solid var(--wp--preset--color--line); }
.chf-list li::before{ content:""; position:absolute; left:0; top:15px; width:12px; height:12px; border:2px solid var(--wp--preset--color--slate); border-radius:50%; }

/* Barra CTA sticky in fondo alla viewport */
.chf-ctabar{ position:sticky; bottom:0; z-index:20; }

/* Logo header */
.chf-logo{ display:inline-flex; align-items:center; margin-left:.75rem; }
.chf-logo img{ height:40px; width:auto; display:block; }
.chf-footer-logo img{ opacity:.9; }
/* Tutti i link nell'header (contatti inclusi) bianchi */
header a{ color:#fff; text-decoration:none; }
header p{ margin:0; }
/* Riga menu separata sotto logo/contatti */
.chf-navrow{ margin-top:.55rem; padding-top:.55rem; border-top:1px solid rgba(255,255,255,.14); }

/* Mobile: logo centrato in alto, poi lingua+contatti, poi menu */
@media(max-width:781px){
  .chf-toprow{ flex-direction:column; align-items:center; gap:.5rem; text-align:center; }
  .chf-logo{ margin-left:0; }
  .chf-logo img{ height:34px; }
  .chf-navrow{ margin-top:.4rem; padding-top:.5rem; }
}

/* Header: nav dinamica + selettore lingua */
.chf-nav{ display:inline-flex; flex-wrap:wrap; gap:1.25rem; align-items:center; }
.chf-nav a{ color:#fff; text-decoration:none; font-size:0.9rem; opacity:.9; }
.chf-nav a:hover{ opacity:1; }
.chf-lang{ font-size:0.85rem; letter-spacing:.06em; }
.chf-lang a{ color:#fff; text-decoration:none; text-transform:uppercase; opacity:.7; }
.chf-lang a.is-active{ opacity:1; font-weight:600; }
@media(max-width:900px){ .chf-nav{ gap:.9rem; } .chf-nav a{ font-size:0.82rem; } }

/* Form richiesta */
.chf-form{ max-width:640px; }
.chf-form p{ margin:0 0 14px; }
.chf-form > p > label,.chf-form-row label{ display:block; font-size:14px; font-weight:600; color:var(--wp--preset--color--slate); }
.chf-form input,.chf-form textarea{ width:100%; padding:10px 12px; border:1px solid #cdd6da; border-radius:6px; font-size:15px; box-sizing:border-box; font-family:inherit; }
.chf-form-row{ display:flex; gap:16px; margin-bottom:14px; }
.chf-form-row label{ flex:1; }
.chf-form-privacy label{ font-weight:400; font-size:13px; display:flex; gap:8px; align-items:flex-start; }
.chf-form-privacy input{ width:auto; }
.chf-hp{ position:absolute!important; left:-9999px!important; }
.chf-form-ok{ color:#1a7f37; font-weight:600; }
.chf-form-err{ color:#c0392b; font-weight:600; }

/* Logo grande nell'hero */
.chf-hero-logo{ margin-bottom:1rem !important; }
.chf-hero-logo img{ max-width:340px; width:60%; height:auto; margin-left:auto; margin-right:auto; display:block; filter:drop-shadow(0 3px 14px rgba(0,0,0,.5)); }
@media(max-width:781px){ .chf-hero-logo img{ width:72%; max-width:260px; } }

/* Lightbox foto appartamenti (overlay) */
.chf-lb{ position:fixed; inset:0; background:rgba(15,22,27,.92); display:none; align-items:center; justify-content:center; z-index:9999; cursor:zoom-out; padding:3vh; }
.chf-lb.is-open{ display:flex; }
.chf-lb img{ max-width:96vw; max-height:94vh; width:auto; height:auto; border-radius:4px; box-shadow:0 12px 44px rgba(0,0,0,.55); }
.chf-lb__close{ position:absolute; top:12px; right:24px; color:#fff; font-size:2.4rem; line-height:1; cursor:pointer; }

/* Burger menu (mobile) */
.chf-burger{ display:none; background:none; border:0; cursor:pointer; padding:6px; width:42px; height:38px; flex-direction:column; justify-content:center; gap:5px; }
.chf-burger span{ display:block; height:2px; width:26px; background:#fff; margin:0 auto; transition:transform .25s ease, opacity .2s ease; }
.chf-burger.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.chf-burger.is-open span:nth-child(2){ opacity:0; }
.chf-burger.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
@media(max-width:781px){
  .chf-burger{ display:inline-flex; }
  .chf-navrow{ margin-top:.35rem; padding-top:.35rem; }
  .chf-nav{ display:none; width:100%; flex-direction:column; gap:0; }
  .chf-nav.is-open{ display:flex; }
  .chf-nav a{ display:block; width:100%; padding:.75rem .2rem; border-top:1px solid rgba(255,255,255,.12); font-size:1rem; opacity:1; }
}

/* FAQ accordion (shortcode [chf_faq]) */
.chf-faq{ max-width:820px; margin:0 auto; }
.chf-faq__item{ border:1px solid var(--wp--preset--color--line); border-radius:6px; margin-bottom:.6rem; background:#fff; }
.chf-faq__item summary{ cursor:pointer; padding:14px 48px 14px 18px; font-weight:600; color:var(--wp--preset--color--slate); list-style:none; position:relative; }
.chf-faq__item summary::-webkit-details-marker{ display:none; }
.chf-faq__item summary::after{ content:"+"; position:absolute; right:18px; top:11px; font-size:1.5rem; line-height:1; color:var(--wp--preset--color--slate); }
.chf-faq__item[open] summary::after{ content:"\2013"; }
.chf-faq__a{ padding:0 18px 16px; }
.chf-faq__a p{ margin:0; color:var(--wp--preset--color--ink); line-height:1.6; }

/* Testo promo opzionale nell'hero (slide gestite da Laura) */
.chf-hero-promo{ color:#fff; font-family:var(--wp--preset--font-family--serif); font-size:clamp(1.4rem,3.5vw,2.2rem); font-weight:600; margin:.2rem 0 1.1rem; text-shadow:0 2px 14px rgba(0,0,0,.55); }
