/* Local Booking CMS - Theme layer
   Only color/background/border/shadow rules belong here.
   Layout and component structure stay in style.css / menu-public.css / header-builder.css.
   Values must come from variables generated by Admin > Impostazioni > Design frontend. */

:root{
  --radius:22px;
  --shadow:0 18px 46px var(--shadow-color);
  --shadow-soft-value:0 10px 28px var(--shadow-soft);
}

html body,
body input,
body textarea,
body select,
body button{font-family:var(--site-font-family)!important;}
body{background:var(--body-bg);color:var(--ink);}
a{color:var(--link-color);}
h1,h2,h3,h4,h5,h6,.section-title,.card h3,.page-content h2,.contact-booking-panel h4{color:var(--heading-color)!important;}
.lead,.section-sub,.muted,.card p,.page-content p,.page-content li,.contact-booking-panel p{color:var(--muted);}

.topbar,.topbar-builder{background:var(--header-bg)!important;color:var(--header-text)!important;border-color:var(--header-border)!important;}
.brand,.brand span,.navlinks a:not(.btn),.hf-component--menu a:not(.btn),.hf-component--text,.hf-lang-current,.lang-pill{color:var(--header-text)!important;}
.hf-lang-list,.navlinks.is-open,.hf-mobile-panel,.hf-mobile-header{background:var(--header-dropdown-bg)!important;color:var(--header-dropdown-text)!important;border-color:var(--header-border)!important;}
.hf-lang-list a,.hf-mobile-nav a{color:var(--header-dropdown-text)!important;}
.hf-lang-list a:hover,.hf-lang-list a.is-active,.hf-mobile-nav a:hover{background:var(--surface-alt)!important;}

.footer,.footer-builder-visual{background:var(--footer-bg)!important;color:var(--footer-text)!important;}
.footer a,.footer strong,.footer-builder-visual a{color:var(--footer-link)!important;}
.footer h1,.footer h2,.footer h3,.footer h4,.footer h5,.footer h6,.footer .footer-builder-col-heading{color:var(--footer-heading)!important;}

.card,.wizard,.page-content,.pill-card,.faq details,.chat-box,.contact-booking-panel,.vdp-menu-item,.vdp-menu-preview-card,.vdp-contact-panel-card,.verify-card,.booking-choice-card,.ba-choice-card{background:var(--card-bg)!important;border-color:var(--border-color)!important;box-shadow:var(--shadow);}
.icon,.contact-modal-close,.chat-msg,.notice,.step-dot,.vdp-card-media--icon .mdi,.vdp-menu-item-image,.vdp-menu-preview-image,.vc-image-empty{background:var(--surface-alt)!important;color:var(--icon-color)!important;}
.icon .mdi,.pill-card .mdi,.footer .mdi,.card .mdi,.brand .mdi,.vdp-card-icon,.vdp-menu-category-head > span,.vd-map-contact-list .mdi,.privacy-notice-icon{color:var(--icon-color)!important;}

.eyebrow,.vd-kicker,.vdp-section-heading .vd-kicker,.section-head .vd-kicker,.vdp-contact-panel-head .vd-kicker,.vd-lux-hero-inner .vd-kicker,.vdp-menu-preview-cat,.vdp-menu-preview-status,.vdp-menu-badges span{color:var(--label-text)!important;background:var(--label-bg)!important;border-color:var(--label-border)!important;}

.hero,.page-hero:not(.page-hero-bg):not(.has-cover-image){background:radial-gradient(circle at 82% 20%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 30%),linear-gradient(135deg,var(--soft),var(--cream))!important;}
.highlight{background:var(--primary-dark)!important;color:var(--button-primary-text)!important;}
/* .cta-band:not(.vdp-action-card-band),.vdp-booking-cta{background:linear-gradient(135deg,var(--primary-dark),var(--primary))!important;color:var(--button-primary-text)!important;} */

.btn,.site-btn,button.btn,a.btn{border-color:var(--button-primary-border);}
.btn-primary,.site-btn-primary,button.btn-primary,a.btn-primary,.nav-toggle,.step-dot.active,.chat-head,.chat-toggle,.booking-progress .step.is-active,.lb-booking-progress .step.is-active,.booking-date-btn.is-selected,.booking-time-btn.is-selected,.ba-date-btn.is-selected,.ba-time-btn.is-selected{
  background:linear-gradient(135deg,var(--button-primary-bg1),var(--button-primary-bg2))!important;
  color:var(--button-primary-text)!important;
  border-color:var(--button-primary-border)!important;
  box-shadow:0 14px 34px var(--button-primary-shadow)!important;
}
.btn-primary .mdi,.site-btn-primary .mdi,button.btn-primary .mdi,a.btn-primary .mdi{color:var(--button-primary-icon)!important;}
.btn-primary:hover,.site-btn-primary:hover,button.btn-primary:hover,a.btn-primary:hover{
  background:linear-gradient(135deg,var(--button-primary-hover-bg1),var(--button-primary-hover-bg2))!important;
  color:var(--button-primary-text)!important;
}
.btn-secondary,.site-btn-secondary,button.btn-secondary,a.btn-secondary,.btn-outline,.site-btn-outline{
  background:linear-gradient(135deg,var(--button-secondary-bg1),var(--button-secondary-bg2))!important;
  color:var(--button-secondary-text)!important;
  border-color:var(--button-secondary-border)!important;
  box-shadow:0 12px 28px var(--button-secondary-shadow)!important;
}
.btn-secondary .mdi,.site-btn-secondary .mdi,button.btn-secondary .mdi,a.btn-secondary .mdi,.btn-outline .mdi{color:var(--button-secondary-icon)!important;}
.btn-secondary:hover,.site-btn-secondary:hover,button.btn-secondary:hover,a.btn-secondary:hover,.btn-outline:hover{
  background:linear-gradient(135deg,var(--button-secondary-hover-bg1),var(--button-secondary-hover-bg2))!important;
  color:var(--button-secondary-text)!important;
}

.vdp-action-card-band{background:linear-gradient(135deg,var(--vdp-action-card-bg1,var(--button-primary-bg1)),var(--vdp-action-card-bg2,var(--button-primary-bg2)))!important;color:var(--button-primary-text)!important;}
.vdp-action-card-band::before{background-image:linear-gradient(135deg,var(--vdp-action-card-overlay,transparent),var(--vdp-action-card-overlay,transparent)),var(--vdp-action-card-bg,none)!important;}

.vd-map-contact-section{background:var(--footer-bg)!important;}
.vd-map-contact-box{background:color-mix(in srgb,var(--card-bg) 92%,transparent)!important;color:var(--ink)!important;border-color:var(--border-color)!important;box-shadow:var(--shadow);}

.booking-shell,.booking-wizard,.lb-booking-wizard{--ba-primary:var(--primary);--ba-ink:var(--ink);--ba-soft:var(--soft);--bk-primary:var(--primary);--bk-ink:var(--ink);--bk-border:var(--border-color);--bk-soft:var(--soft);--bk-muted:var(--muted);}
.booking-field-error{color:var(--danger)!important;}
.booking-advanced-fields input,.booking-advanced-fields select,.booking-advanced-fields textarea,.field input,.field select,.field textarea{border-color:var(--border-color);background:var(--surface-bg);color:var(--ink);}

.vdp-menu-page .page-hero,.vdp-menu-hero{background:radial-gradient(circle at 12% 18%,color-mix(in srgb,var(--surface-bg) 16%,transparent),transparent 32%),linear-gradient(135deg,var(--primary-dark),var(--primary))!important;color:var(--button-primary-text)!important;}
.vdp-menu-category-head > span{background:color-mix(in srgb,var(--primary) 14%,var(--surface-bg))!important;color:var(--primary-dark)!important;}
.vdp-menu-item-head strong,.vdp-menu-preview-foot strong{color:var(--primary-dark)!important;}
.vdp-menu-preview-section{background:var(--soft)!important;color:var(--ink)!important;}
.vdp-menu-preview-card h3,.vdp-menu-category h3{color:var(--heading-color)!important;}
.vdp-menu-preview-card p,.vdp-menu-category-desc,.vdp-menu-item p{color:var(--muted)!important;}

/* 4.1.85 - Lead/contact form theme variables, no runtime inline CSS */
.vdp-lead-card{background:color-mix(in srgb,var(--card-bg,#fff) 90%, transparent);border:1px solid var(--border-color,rgba(17,24,39,.08));box-shadow:0 24px 70px var(--shadow-color,rgba(15,23,42,.12));}
.vdp-lead-card label{color:var(--ink,#111827);}
.vdp-lead-card input,.vdp-lead-card textarea,.vdp-lead-card select{border:1px solid var(--border-color,rgba(15,23,42,.14));background:var(--surface-bg,var(--card-bg,#fff));color:var(--ink,#111827);}
.vdp-lead-card input:focus,.vdp-lead-card textarea:focus,.vdp-lead-card select:focus{border-color:var(--primary,#1f7a57);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary,#1f7a57) 14%, transparent);}
.vdp-lead-privacy{color:var(--muted,#64748b);}
