/* Grafica tratta dal sorgente HTML dell'Artifact Claude; scoped per non alterare il tema WP o il vecchio test. */
.mmtb-booking{
  --navy:#1D2A4D;--terra:#B86E51;--olive:#6C7A52;--sand:#EAE1D4;--off:#F8F5F0;
  /* Default: scuro su QUALSIASI dispositivo, anche con preferenze sistema chiare. */
  --bg:#141B30;--surface:#1D2A4D;--ink:#F3EEE6;--muted:#AFB6C8;--line:#2E3B60;
  --accent:#CF8466;--accent-ink:#141B30;--soft:#26345A;--good:#9AAA7C;--cell:#2E3B60;
  --display:"Playfair Display",Georgia,"Times New Roman",serif;--body:"Lato","Helvetica Neue",Arial,sans-serif;
  box-sizing:border-box;max-width:480px;margin:0 auto 25px;padding:20px max(16px,env(safe-area-inset-left,0px)) 40px;
  display:flex;flex-direction:column;gap:18px;background:var(--bg);color:var(--ink);
  font-family:var(--body);font-size:16px;line-height:1.5;
  color-scheme:dark;
}
/* Modalità esplicita scelta in WordPress. Terracotta chiara più scura per contrasto AA. */
.mmtb-booking[data-mmtb-theme="light"]{
  --bg:#F8F5F0;--surface:#FFFFFF;--ink:#1D2A4D;--muted:#5d6479;--line:#E2D9CB;
  --accent:#A25539;--accent-ink:#FFFFFF;--soft:#EAE1D4;--good:#6C7A52;--cell:#E6DCCD;
  color-scheme:light;
}
/* Solo la modalità "Automatico" segue prefers-color-scheme. */
@media(prefers-color-scheme:light){
  .mmtb-booking[data-mmtb-theme="auto"]{
    --bg:#F8F5F0;--surface:#FFFFFF;--ink:#1D2A4D;--muted:#5d6479;--line:#E2D9CB;
    --accent:#A25539;--accent-ink:#FFFFFF;--soft:#EAE1D4;--good:#6C7A52;--cell:#E6DCCD;
    color-scheme:light;
  }
}
.mmtb-booking,.mmtb-booking *{box-sizing:border-box}
.mmtb-booking [hidden]{display:none!important}
.mmtb-booking h1,.mmtb-booking h2{font-family:var(--display)!important;text-wrap:balance;margin:0!important;line-height:1.15!important;color:var(--ink)!important;letter-spacing:normal!important}
.mmtb-booking h1{font-size:clamp(30px,8vw,40px)!important;font-weight:800!important}
.mmtb-booking h2{font-size:clamp(22px,6vw,27px)!important;font-weight:700!important}
.mmtb-booking p{margin:0!important}
.mmtb-booking button,.mmtb-booking input{font-family:var(--body)}
.mmtb-booking .mmqb-screen{display:flex;flex-direction:column;gap:18px}
.mmtb-booking .mmqb-tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.mmtb-booking .mmqb-lead{color:var(--muted);font-size:17px}
.mmtb-booking .mmqb-step{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.mmtb-booking .mmqb-bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden}
.mmtb-booking .mmqb-bar>i{display:block;height:100%;background:var(--accent);width:0;transition:width .3s}
.mmtb-booking [data-mm-question-container]{display:flex;flex-direction:column;gap:18px}
.mmtb-booking .mmqb-opts{display:flex;flex-direction:column;gap:10px}
.mmtb-booking .mmqb-opt{font:inherit;font-size:17px;text-align:left;padding:15px 16px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;min-height:52px;width:100%}
.mmtb-booking .mmqb-opt:hover{border-color:var(--accent)}
.mmtb-booking .mmqb-opt.on{border-color:var(--accent);background:var(--soft);font-weight:700}
.mmtb-booking .mmqb-num{display:flex;gap:10px;align-items:center}
.mmtb-booking .mmqb-num input{flex:1;min-width:0;font:inherit;font-size:24px;font-weight:700;padding:12px 14px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-variant-numeric:tabular-nums;min-height:54px}
.mmtb-booking .mmqb-unit{color:var(--muted);font-weight:700}
.mmtb-booking .mmqb-btn{display:block;font:inherit;font-weight:900;font-size:17px;padding:16px;border-radius:10px;border:0;background:var(--accent);color:var(--accent-ink)!important;cursor:pointer;width:100%;text-align:center;text-decoration:none!important;line-height:1.4}
.mmtb-booking .mmqb-btn:disabled{opacity:.6;cursor:wait}
.mmtb-booking .mmqb-link{display:block;background:none;border:0;padding:4px 0;font:inherit;color:var(--muted)!important;text-decoration:underline!important;cursor:pointer;text-align:left;align-self:flex-start}
.mmtb-booking .mmqb-back{font-size:13px;margin-top:2px}
.mmtb-booking .mmqb-btn:focus-visible,.mmtb-booking .mmqb-opt:focus-visible,.mmtb-booking .mmqb-link:focus-visible,.mmtb-booking input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.mmtb-booking .mmqb-validate{color:var(--accent);font-weight:700;font-size:14px}
.mmtb-booking .mmqb-react{font-family:var(--display);font-size:22px;font-weight:700;color:var(--accent);border-left:4px solid var(--accent);padding:6px 0 6px 14px;text-wrap:balance}
.mmtb-booking .mmqb-contact-form{display:flex;flex-direction:column;gap:14px}
.mmtb-booking .mmqb-field{display:flex;flex-direction:column;gap:6px}
.mmtb-booking .mmqb-field label{font-size:14px;font-weight:700}
.mmtb-booking .mmqb-field input{font:inherit;padding:12px 14px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);width:100%;min-height:48px}
.mmtb-booking .mmqb-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted);line-height:1.5}
.mmtb-booking .mmqb-check input{margin-top:4px;width:18px;height:18px;flex-shrink:0;accent-color:var(--accent)}
.mmtb-booking .mmqb-check a{color:var(--accent)!important;text-decoration:underline}
.mmtb-booking .mmqb-fine{font-size:12px;color:var(--muted)}
/* Blocchi risultato: calendario, tabella e CTA come nell'Artifact. */
.mmtb-booking.mmqb-results{gap:18px}
.mmtb-booking .mmqb-result-greeting{color:var(--muted);font-size:16px}
.mmtb-booking .mmqb-block{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px 18px;display:flex;flex-direction:column;gap:12px}
.mmtb-booking .mmqb-block p{font-size:16px;line-height:1.5}
.mmtb-booking .mmqb-hero-block{background:var(--navy);border-color:var(--navy);color:#F8F5F0}
.mmtb-booking .mmqb-hero-block .mmqb-tag,.mmtb-booking .mmqb-hero-block .mmqb-muted{color:#C9CEDB}
.mmtb-booking .mmqb-intro-number{font-size:19px!important}
.mmtb-booking .mmqb-big{font-family:var(--display);font-weight:800;font-size:clamp(34px,10vw,48px);line-height:1.05;font-variant-numeric:tabular-nums}
.mmtb-booking .mmqb-hero-block .mmqb-big{color:#E7A586}
.mmtb-booking .mmqb-accent-big{color:var(--accent)}
.mmtb-booking .mmqb-white{color:#F8F5F0}
.mmtb-booking .mmqb-cal{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:2px}
.mmtb-booking .mmqb-cal i{display:block;aspect-ratio:1;border-radius:2px;background:#33426B}
.mmtb-booking .mmqb-cal i.free{background:#E7A586}
.mmtb-booking .mmqb-legend{display:flex;gap:16px;font-size:13px;flex-wrap:wrap}
.mmtb-booking .mmqb-legend span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.mmtb-booking .mmqb-legend-one::before{background:#33426B}
.mmtb-booking .mmqb-legend-two::before{background:#E7A586}
.mmtb-booking .mmqb-fall{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.mmtb-booking .mmqb-fall td{padding:10px 0;border-bottom:1px solid var(--line);vertical-align:top;font-size:16px;color:var(--ink)}
.mmtb-booking .mmqb-fall td:last-child{text-align:right;white-space:nowrap;padding-left:12px;font-weight:700}
.mmtb-booking .mmqb-fall small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.mmtb-booking .mmqb-fall .mmqb-neg{color:var(--accent)}
.mmtb-booking .mmqb-total td{border-bottom:0;font-weight:900;font-size:18px}
.mmtb-booking .mmqb-weak{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-weight:700}
.mmtb-booking .mmqb-weak li{list-style:decimal;color:var(--ink)}
.mmtb-booking .mmqb-quote{font-family:var(--display);font-style:italic;font-size:18px!important}
.mmtb-booking .mmqb-cta-link{margin-top:7px}
.mmtb-booking .mmqb-secondary-link{margin-top:4px}
.mmtb-booking .mmqb-restart .mmqb-ghost{background:transparent;color:var(--ink)!important;border:1.5px solid var(--line);font-weight:700}
.mmtb-booking .mmqb-noresult h2{margin-bottom:16px!important}
@media(prefers-reduced-motion:reduce){.mmtb-booking .mmqb-bar>i{transition:none}}


/* v1.2.2 — CONTRASTO e isolamento dal tema WordPress (incl. strong/b).
   Le regole WP globali possono assegnare colori fissi ai tag <strong>,
   incompatibili con il fondo scuro. Forziamo colori locali semanticamente. */
.mmtb-booking.mmqb-results .mmqb-block:not(.mmqb-hero-block),
.mmtb-booking.mmqb-results .mmqb-block:not(.mmqb-hero-block) p,
.mmtb-booking.mmqb-results .mmqb-block:not(.mmqb-hero-block) strong,
.mmtb-booking.mmqb-results .mmqb-block:not(.mmqb-hero-block) b,
.mmtb-booking.mmqb-results .mmqb-block:not(.mmqb-hero-block) li {
  color:var(--ink)!important;
}
.mmtb-booking.mmqb-results .mmqb-block.mmqb-hero-block,
.mmtb-booking.mmqb-results .mmqb-block.mmqb-hero-block p,
.mmtb-booking.mmqb-results .mmqb-block.mmqb-hero-block strong,
.mmtb-booking.mmqb-results .mmqb-block.mmqb-hero-block b {
  color:#F8F5F0!important;
}
.mmtb-booking.mmqb-results .mmqb-block.mmqb-hero-block .mmqb-muted,
.mmtb-booking.mmqb-results .mmqb-block.mmqb-hero-block .mmqb-tag {
  color:#C9CEDB!important;
}
.mmtb-booking.mmqb-results .mmqb-block.mmqb-hero-block .mmqb-big {
  color:#E7A586!important;
}
.mmtb-booking.mmqb-results .mmqb-block:not(.mmqb-hero-block) .mmqb-accent-big,
.mmtb-booking.mmqb-results .mmqb-block .mmqb-fall .mmqb-neg {
  color:var(--accent)!important;
}
.mmtb-booking.mmqb-results .mmqb-block .mmqb-fall small {
  color:var(--muted)!important;
}
.mmtb-booking.mmqb-results .mmqb-block .mmqb-fall,
.mmtb-booking.mmqb-results .mmqb-block .mmqb-fall tr,
.mmtb-booking.mmqb-results .mmqb-block .mmqb-fall td {
  background:transparent!important;
}
.mmtb-booking.mmqb-results .mmqb-result-greeting,
.mmtb-booking.mmqb-results > .mmqb-fine,
.mmtb-booking.mmqb-results .mmqb-block .mmqb-fine {
  color:var(--muted)!important;
}
.mmtb-booking .mmqb-cta-link,
.mmtb-booking .mmqb-cta-link:visited,
.mmtb-booking .mmqb-cta-link:hover,
.mmtb-booking .mmqb-btn:hover,
.mmtb-booking .mmqb-btn:focus {
  color:var(--accent-ink)!important;
  background:var(--accent)!important;
}
.mmtb-booking .mmqb-restart .mmqb-ghost,
.mmtb-booking .mmqb-restart .mmqb-ghost:hover,
.mmtb-booking .mmqb-restart .mmqb-ghost:focus {
  background:transparent!important;
  color:var(--ink)!important;
}
.mmtb-booking .mmqb-secondary-link,
.mmtb-booking .mmqb-secondary-link:visited,
.mmtb-booking .mmqb-secondary-link:hover { color:var(--muted)!important; }
.mmtb-booking input::placeholder { color:var(--muted)!important;opacity:1; }

/* v1.2.3 — CTA ripetuta dopo il riepilogo economico; stessi colori WCAG del tema selezionato. */
.mmtb-booking.mmqb-results .mmqb-mid-cta {
  border-color:var(--accent);
  background:var(--soft);
  gap:14px;
}
.mmtb-booking.mmqb-results .mmqb-mid-cta .mmqb-cta-link { margin-top:0; }
.mmtb-booking .mmqb-field input[name="structure_url"]{overflow-wrap:anywhere;}
