/*
  Tema globale - La Bottega della Formazione
  Variante più coerente con area e-learning / HiLearning
  Non modifica struttura, testi o logiche PHP.
*/

:root{
  --site-ink:#10233d;
  --site-ink-2:#183653;
  --site-paper:#f5f8f4;
  --site-surface:#ffffff;
  --site-soft:#edf6f1;
  --site-line:rgba(16,35,61,.14);

  --site-primary:#1f7a68;
  --site-primary-dark:#145647;
  --site-secondary:#2f80a7;
  --site-accent:#8bbf3f;
  --site-warm:#b96b3c;

  --site-muted:#64736b;
  --site-danger:#9f1d1d;
}

/* Base generale */
body{
  background-color:var(--site-paper);
  color:var(--site-ink);
}

/* Titoli */
h1,
h2,
h3,
h4,
h5,
h6{
  color:var(--site-ink);
}

/* Link */
a{
  color:var(--site-primary-dark);
}

a:hover{
  color:var(--site-primary);
}

/* Pulsanti e CTA generiche */
button,
.button,
.btn,
.cta,
.cta-button,
.primary-button,
.hero-button,
input[type="submit"],
input[type="button"]{
  background-color:var(--site-primary) !important;
  color:#fff !important;
  border-color:var(--site-primary) !important;
}

button:hover,
.button:hover,
.btn:hover,
.cta:hover,
.cta-button:hover,
.primary-button:hover,
.hero-button:hover,
input[type="submit"]:hover,
input[type="button"]:hover{
  background-color:var(--site-primary-dark) !important;
  border-color:var(--site-primary-dark) !important;
  color:#fff !important;
}

/* Pulsanti secondari */
.secondary,
.btn-secondary,
.button-secondary,
.outline-button{
  background-color:var(--site-secondary) !important;
  border-color:var(--site-secondary) !important;
  color:#fff !important;
}

.secondary:hover,
.btn-secondary:hover,
.button-secondary:hover,
.outline-button:hover{
  background-color:#246987 !important;
  border-color:#246987 !important;
}

/* Card, box, pannelli */
.card,
.box,
.panel,
.service-card,
.course-card,
.article-card,
.feature-card,
.calculator-card,
.faq-item{
  border-color:var(--site-line) !important;
}

/* Sfondi chiari */
.section-light,
.light-section,
.soft-section,
.highlight-box,
.info-box{
  background-color:var(--site-soft) !important;
}

/* Hero e fasce importanti */
.hero,
.page-hero,
.section-hero,
.banner,
.main-hero{
  background:
    linear-gradient(135deg, var(--site-ink) 0%, var(--site-primary) 100%) !important;
  color:#fff !important;
}

.hero h1,
.hero h2,
.hero h3,
.page-hero h1,
.page-hero h2,
.section-hero h1,
.section-hero h2,
.banner h1,
.banner h2,
.main-hero h1,
.main-hero h2{
  color:#fff !important;
}

.hero p,
.page-hero p,
.section-hero p,
.banner p,
.main-hero p{
  color:rgba(255,255,255,.88) !important;
}

/* Badge, label e chip */
.badge,
.tag,
.chip,
.label{
  background-color:var(--site-soft) !important;
  color:var(--site-primary-dark) !important;
}

/* Evidenze rame: lo manteniamo solo come accento */
.accent,
.copper,
.warm,
.orange,
.highlight{
  color:var(--site-warm) !important;
}

/* Form */
input,
textarea,
select{
  border-color:var(--site-line);
}

input:focus,
textarea:focus,
select:focus{
  outline:2px solid rgba(31,122,104,.22);
  border-color:var(--site-primary) !important;
}

/* Tabelle */
table th{
  color:var(--site-muted);
}

table td,
table th{
  border-color:var(--site-line);
}

/* Messaggi */
.success,
.ok,
.message-success{
  background-color:#e6f6ef !important;
  color:var(--site-primary-dark) !important;
}

.error,
.danger,
.message-error{
  background-color:#fdecec !important;
  color:var(--site-danger) !important;
}

/* Area approfondimenti */
.article-stylized-image img{
  background-color:var(--site-soft) !important;
}

.article-inner a,
.content-section a{
  color:var(--site-primary-dark) !important;
}

.article-inner a:hover,
.content-section a:hover{
  color:var(--site-primary) !important;
}

/* Maschere cron / editor */
.toolbar button,
.toolbar select,
.color-tool,
.save{
  background-color:var(--site-ink) !important;
  color:#fff !important;
}

.toolbar button.secondary{
  background-color:var(--site-primary) !important;
}

.toolbar button.secondary:hover{
  background-color:var(--site-primary-dark) !important;
}

.publish-actions .publish-now{
  background-color:var(--site-primary) !important;
}

.publish-actions .schedule{
  background-color:var(--site-secondary) !important;
}

.publish-actions .hold{
  background-color:var(--site-muted) !important;
}

/* Pannello approfondimenti */
.card a.green,
.card a.blue,
.card a.dark{
  color:#fff !important;
}

.card a.green{
  background-color:var(--site-primary) !important;
}

.card a.blue{
  background-color:var(--site-secondary) !important;
}

.card a.dark{
  background-color:var(--site-ink) !important;
}

.card a.gray{
  background-color:var(--site-muted) !important;
}
/* Logo LBF */
.brand-mark{
  min-width:54px !important;
  width:54px !important;
  letter-spacing:-.06em !important;
  font-size:17px !important;
  overflow:visible !important;
}
/* =========================================================
   LBF - Finiture grafiche globali
   Fondo bianco, menu bianco, barra telefono azzurra,
   bottoni verdi, contenitori home rifiniti
   ========================================================= */

:root{
  --site-ink:#10233d;
  --site-logo-blue:#2f80a7;
  --site-logo-blue-dark:#245f7f;

  --site-primary:#1f7a68;
  --site-primary-dark:#145647;
  --site-secondary:#2f80a7;

  --site-paper:#ffffff;
  --site-soft:#f4f8f6;
  --site-line:rgba(16,35,61,.14);

  --site-warm:#b96b3c;
  --site-warm-dark:#8b4b2e;
  --site-warm-light:#fff1dc;
  --site-phone-orange:#ffd49b;

  --ink:#10233d;
  --paper:#ffffff;
  --chalk:#ffffff;
  --copper:#1f7a68;
  --copper-dark:#145647;
  --muted:#64736b;
  --line:rgba(16,35,61,.14);
}

html,
body{
  background:#ffffff !important;
  color:#10233d !important;
  overflow-x:hidden;
}

/* Menu principale bianco */
header,
.site-header,
.main-header,
.navbar,
.nav,
.menu,
.navigation{
  background:#ffffff !important;
  color:#10233d !important;
  border-bottom:1px solid rgba(16,35,61,.10) !important;
  box-shadow:0 8px 24px rgba(16,35,61,.06) !important;
}

header a,
.site-header a,
.main-header a,
.navbar a,
.nav a,
.menu a,
.navigation a{
  color:#10233d !important;
}

header a:hover,
.site-header a:hover,
.main-header a:hover,
.navbar a:hover,
.nav a:hover,
.menu a:hover,
.navigation a:hover{
  color:#1f7a68 !important;
}

/* Logo BF/LBF azzurro */
.brand-mark{
  background:#2f80a7 !important;
  color:#ffffff !important;
  border-color:#2f80a7 !important;
  box-shadow:0 12px 26px rgba(47,128,167,.22) !important;
  min-width:54px !important;
  width:54px !important;
  font-size:17px !important;
  letter-spacing:-.06em !important;
  overflow:visible !important;
  position:relative !important;
}

.brand strong,
.brand-name,
.site-logo,
.logo,
.header-logo{
  color:#2f80a7 !important;
}

.brand small{
  color:#64736b !important;
}

/* Barra telefono azzurra a tutta larghezza */
.lbf-phone-strip-shell{
  background:#2f80a7 !important;
  background-color:#2f80a7 !important;
  border:0 !important;
  box-shadow:none !important;

  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;

  padding-left:0 !important;
  padding-right:0 !important;
}

.lbf-phone-strip{
  background:transparent !important;
  background-color:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  color:#ffffff !important;
}

.lbf-phone-strip *,
.lbf-phone-strip a,
.lbf-phone-strip span,
.lbf-phone-strip strong,
.lbf-phone-strip p,
.lbf-phone-strip div{
  color:#ffffff !important;
}

.lbf-phone-strip a{
  font-weight:900 !important;
  text-decoration:none !important;
}

.lbf-phone-strip a:hover{
  color:#ffffff !important;
}

/* Numero telefono nella barra: arancio chiaro, senza riquadro */
.lbf-phone-number,
.lbf-phone-number:visited,
.lbf-phone-strip .lbf-phone-number,
.lbf-phone-strip .lbf-phone-number:visited,
.lbf-phone-strip a[href^="tel"],
.lbf-phone-strip a[href^="tel"] *,
.lbf-phone-strip [href^="tel"],
.lbf-phone-strip [href^="tel"] *{
  color:#ffd49b !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  font-weight:900 !important;
  text-decoration:none !important;
  text-shadow:0 1px 2px rgba(7,22,41,.24) !important;
}

.lbf-phone-number:hover,
.lbf-phone-strip a[href^="tel"]:hover,
.lbf-phone-strip a[href^="tel"]:hover *{
  color:#ffffff !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Hero e fasce principali */
.hero,
.page-hero,
.section-hero,
.main-hero,
.banner{
  background:
    radial-gradient(circle at 86% 16%, rgba(255,255,255,.18), transparent 30%),
    linear-gradient(135deg, #2f80a7 0%, #1f7a68 100%) !important;
  color:#ffffff !important;
}

.hero h1,
.hero h2,
.hero h3,
.page-hero h1,
.page-hero h2,
.page-hero h3,
.section-hero h1,
.section-hero h2,
.section-hero h3,
.main-hero h1,
.main-hero h2,
.main-hero h3,
.banner h1,
.banner h2,
.banner h3{
  color:#ffffff !important;
}

.hero p,
.page-hero p,
.section-hero p,
.main-hero p,
.banner p{
  color:rgba(255,255,255,.90) !important;
}

/* Titoli su fondo chiaro */
section:not(.hero):not(.page-hero):not(.section-hero):not(.main-hero):not(.banner) h1,
section:not(.hero):not(.page-hero):not(.section-hero):not(.main-hero):not(.banner) h2,
section:not(.hero):not(.page-hero):not(.section-hero):not(.main-hero):not(.banner) h3,
.card h1,
.card h2,
.card h3,
.panel h1,
.panel h2,
.panel h3,
.box h1,
.box h2,
.box h3{
  color:#2f80a7 !important;
}

/* Bottoni principali verdi */
button,
.button,
.btn,
.cta,
.cta-button,
.primary-button,
.hero-button,
input[type="submit"],
input[type="button"]{
  background-color:#1f7a68 !important;
  border-color:#1f7a68 !important;
  color:#ffffff !important;
}

button:hover,
.button:hover,
.btn:hover,
.cta:hover,
.cta-button:hover,
.primary-button:hover,
.hero-button:hover,
input[type="submit"]:hover,
input[type="button"]:hover{
  background-color:#145647 !important;
  border-color:#145647 !important;
  color:#ffffff !important;
}

a{
  color:#145647 !important;
}

a:hover{
  color:#1f7a68 !important;
}

.card,
.panel,
.box,
.article-card,
.service-card,
.course-card,
.feature-card,
.calculator-card,
.faq-item{
  background:#ffffff !important;
  border-color:rgba(16,35,61,.12) !important;
}

.section-light,
.light-section,
.soft-section,
.highlight-box,
.info-box{
  background:#f4f8f6 !important;
}

.badge,
.tag,
.chip,
.label{
  background:#e8f3ef !important;
  color:#145647 !important;
}

/* PRODOTTO IN BOTTEGA */
.lbf-prodotto-bottega-container{
  background:#fff1dc !important;
  background-color:#fff1dc !important;
  border-color:rgba(185,107,60,.28) !important;
  box-shadow:0 18px 38px rgba(185,107,60,.12) !important;
  color:#10233d !important;
}

.lbf-prodotto-bottega-container *,
.lbf-prodotto-bottega-container p,
.lbf-prodotto-bottega-container div,
.lbf-prodotto-bottega-container span,
.lbf-prodotto-bottega-container li,
.lbf-prodotto-bottega-container a,
.lbf-prodotto-bottega-container strong{
  color:#10233d !important;
}

.lbf-prodotto-bottega-container h1,
.lbf-prodotto-bottega-container h2,
.lbf-prodotto-bottega-container h3,
.lbf-prodotto-bottega-container h4{
  color:#8b4b2e !important;
}

.lbf-prodotto-bottega-container .badge,
.lbf-prodotto-bottega-container .tag,
.lbf-prodotto-bottega-container .chip,
.lbf-prodotto-bottega-container .label{
  background:rgba(255,255,255,.54) !important;
  color:#8b4b2e !important;
  border-color:rgba(185,107,60,.20) !important;
}

/* OFFERTA OPERATIVA */
.lbf-offerta-operativa-container{
  background:#ffffff !important;
  background-color:#ffffff !important;
  border-color:rgba(47,128,167,.24) !important;
  box-shadow:0 18px 38px rgba(16,35,61,.10) !important;
}

/* Singole voci dentro Offerta Operativa */
.lbf-offerta-voce-card{
  background:#ffffff !important;
  border:1px solid rgba(31,122,104,.24) !important;
  border-color:rgba(31,122,104,.24) !important;
  border-radius:18px !important;
  box-shadow:0 10px 24px rgba(16,35,61,.07) !important;
}

.lbf-offerta-voce-card:hover{
  border-color:rgba(31,122,104,.42) !important;
  box-shadow:0 14px 30px rgba(16,35,61,.10) !important;
}

/* Titoli delle voci: verdi, senza evidenziazione */
.lbf-offerta-title-clean,
.lbf-offerta-title-clean *,
.lbf-offerta-voce-card h1,
.lbf-offerta-voce-card h2,
.lbf-offerta-voce-card h3,
.lbf-offerta-voce-card h4,
.lbf-offerta-voce-card h5,
.lbf-offerta-voce-card h6,
.lbf-offerta-voce-card h1 *,
.lbf-offerta-voce-card h2 *,
.lbf-offerta-voce-card h3 *,
.lbf-offerta-voce-card h4 *,
.lbf-offerta-voce-card h5 *,
.lbf-offerta-voce-card h6 *,
.lbf-offerta-voce-card strong,
.lbf-offerta-voce-card strong *,
.lbf-offerta-voce-card mark,
.lbf-offerta-voce-card .badge,
.lbf-offerta-voce-card .tag,
.lbf-offerta-voce-card .chip,
.lbf-offerta-voce-card .label,
.lbf-offerta-voce-card [class*="badge"],
.lbf-offerta-voce-card [class*="tag"],
.lbf-offerta-voce-card [class*="chip"],
.lbf-offerta-voce-card [class*="pill"],
.lbf-offerta-voce-card [class*="label"],
.lbf-offerta-voce-card [class*="highlight"],
.lbf-offerta-voce-card [class*="evidence"]{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  border-color:transparent !important;
  color:#1f7a68 !important;
}

.lbf-offerta-voce-card h1::before,
.lbf-offerta-voce-card h2::before,
.lbf-offerta-voce-card h3::before,
.lbf-offerta-voce-card h4::before,
.lbf-offerta-voce-card h5::before,
.lbf-offerta-voce-card h6::before,
.lbf-offerta-voce-card h1::after,
.lbf-offerta-voce-card h2::after,
.lbf-offerta-voce-card h3::after,
.lbf-offerta-voce-card h4::after,
.lbf-offerta-voce-card h5::after,
.lbf-offerta-voce-card h6::after{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  border-color:transparent !important;
}

.lbf-offerta-voce-card p,
.lbf-offerta-voce-card li,
.lbf-offerta-voce-card span,
.lbf-offerta-voce-card div{
  color:#10233d !important;
}

/* Bottone Chiedi un preventivo */
.lbf-preventivo-button,
.lbf-preventivo-button:visited{
  background:#fff7f0 !important;
  background-color:#fff7f0 !important;
  border:1px solid rgba(185,107,60,.48) !important;
  color:#b96b3c !important;
  box-shadow:0 14px 28px rgba(185,107,60,.16) !important;
  text-decoration:none !important;
}

.lbf-preventivo-button *,
.lbf-preventivo-button span,
.lbf-preventivo-button strong{
  color:#b96b3c !important;
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
}

.lbf-preventivo-button:hover{
  background:#b96b3c !important;
  background-color:#b96b3c !important;
  border-color:#b96b3c !important;
  color:#ffffff !important;
  box-shadow:0 16px 30px rgba(185,107,60,.24) !important;
}

.lbf-preventivo-button:hover *,
.lbf-preventivo-button:hover span,
.lbf-preventivo-button:hover strong{
  color:#ffffff !important;
}

/* Francobollo calcolatore centrato più basso */
.calculator-stamp.calculator-floating-stamp{
  top:108px !important;
  left:50% !important;
  right:auto !important;
  bottom:auto !important;
  transform:translateX(-50%) rotate(-1.5deg) scale(1.08) !important;
  z-index:850 !important;
  background:#ffffff !important;
  border-color:rgba(31,122,104,.36) !important;
  color:#10233d !important;
}

.calculator-stamp.calculator-floating-stamp:hover{
  transform:translateX(-50%) rotate(-1.5deg) !important;
  background:#f4f8f6 !important;
  border-color:rgba(31,122,104,.58) !important;
}

.calculator-stamp span{
  background:#1f7a68 !important;
  color:#ffffff !important;
}

.calculator-result{
  background:#f4f8f6 !important;
  border-color:rgba(31,122,104,.25) !important;
}

.calculator-header{
  background:#ffffff !important;
}

@media(max-width:980px){
  .calculator-stamp.calculator-floating-stamp{
    top:auto !important;
    left:14px !important;
    right:14px !important;
    bottom:14px !important;
    width:auto !important;
    max-width:none !important;
    transform:none !important;
    z-index:850 !important;
  }

  .calculator-stamp.calculator-floating-stamp:hover{
    transform:none !important;
  }
}

/* =========================================================
   Fix menu bianco a tutta larghezza
   Applicato solo alla riga menu/logo, non alla barra telefono
   ========================================================= */

.lbf-menu-row-white-shell{
  position:relative !important;
  background:#ffffff !important;
  background-color:#ffffff !important;
  z-index:910 !important;
}

.lbf-menu-row-white-shell::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  left:50% !important;
  width:100vw !important;
  transform:translateX(-50%) !important;
  background:#ffffff !important;
  background-color:#ffffff !important;
  z-index:-1 !important;
  pointer-events:none !important;
  border-bottom:1px solid rgba(16,35,61,.10) !important;
  box-shadow:0 8px 24px rgba(16,35,61,.06) !important;
}

.lbf-menu-row-white-shell *{
  position:relative;
}

/* Conferma: la barra telefono resta azzurra */
.lbf-phone-strip-shell{
  background:#2f80a7 !important;
  background-color:#2f80a7 !important;
}

.lbf-phone-strip{
  background:transparent !important;
  background-color:transparent !important;
}

/* =========================================================
   Fix bottone Contatti nel menu
   ========================================================= */

.lbf-menu-row-white-shell a[href*="contatt"],
.lbf-menu-row-white-shell a[href*="Contatt"],
.lbf-menu-row-white-shell a[href*="#contatti"],
.lbf-menu-row-white-shell a[href*="#contatto"],
.lbf-menu-row-white-shell a[href*="mailto:"],
.lbf-menu-row-white-shell .contatti,
.lbf-menu-row-white-shell .contact,
.lbf-menu-row-white-shell .menu-contact,
.lbf-menu-row-white-shell .nav-contact{
  background:#1f7a68 !important;
  background-color:#1f7a68 !important;
  border:1px solid #1f7a68 !important;
  color:#ffffff !important;
  box-shadow:0 10px 22px rgba(31,122,104,.18) !important;
  text-decoration:none !important;
}

.lbf-menu-row-white-shell a[href*="contatt"] *,
.lbf-menu-row-white-shell a[href*="Contatt"] *,
.lbf-menu-row-white-shell a[href*="#contatti"] *,
.lbf-menu-row-white-shell a[href*="#contatto"] *,
.lbf-menu-row-white-shell a[href*="mailto:"] *,
.lbf-menu-row-white-shell .contatti *,
.lbf-menu-row-white-shell .contact *,
.lbf-menu-row-white-shell .menu-contact *,
.lbf-menu-row-white-shell .nav-contact *{
  color:#ffffff !important;
  background:transparent !important;
  background-color:transparent !important;
}

.lbf-menu-row-white-shell a[href*="contatt"]:hover,
.lbf-menu-row-white-shell a[href*="Contatt"]:hover,
.lbf-menu-row-white-shell a[href*="#contatti"]:hover,
.lbf-menu-row-white-shell a[href*="#contatto"]:hover,
.lbf-menu-row-white-shell a[href*="mailto:"]:hover,
.lbf-menu-row-white-shell .contatti:hover,
.lbf-menu-row-white-shell .contact:hover,
.lbf-menu-row-white-shell .menu-contact:hover,
.lbf-menu-row-white-shell .nav-contact:hover{
  background:#145647 !important;
  background-color:#145647 !important;
  border-color:#145647 !important;
  color:#ffffff !important;
}
/* =========================================================
   Calcolatore sotto le offer-mini-card aperte
   ma sopra la barra azzurra
   ========================================================= */

body.lbf-offer-mini-area-active .calculator-stamp,
body.lbf-offer-mini-sticky .calculator-stamp,
body.lbf-offer-mini-area-active .calculator-floating-stamp,
body.lbf-offer-mini-sticky .calculator-floating-stamp,
body.lbf-offer-mini-area-active [data-open-calculator],
body.lbf-offer-mini-sticky [data-open-calculator]{
  z-index:105 !important;
}