/* 23/10/2026: COLORI DI RIFERIMENTO (riordino CSS, passo 1). Cambiare qui, non nelle singole regole.
   Fondo pagina, riquadri, marrone dei pulsanti (template), rosso solo carrello e sconti, testi, inattivo. */
/* ==========================================================================
   Firenze 15 settembre 2026
   Albergo Sonia — fogli di stile del sito, riuniti
   Fernando Antonazzo: progetto sito Albergo Sonia 

   Questo file raccoglie tutto il CSS scritto per il sito, che prima stava in
   otto file collegati uno per uno nell'intestazione delle pagine. Un solo
   collegamento significa una sola richiesta al server e, soprattutto, nessun
   collegamento da aggiungere ogni volta che si stilizza una pagina nuova:
   basta aggiungere una sezione qui in fondo.

   Va caricato SEMPRE DOPO theme.css, perché ne corregge le regole.
   Restano separati plugins.css, hotel-icons.min.css e theme.css: sono i file
   del tema, che non tocchiamo.

   Indice
     1. Spaziatura sotto l'header fisso — telefono
     2. Impianto mobile: prima schermata, arco, banda "Prenota Ora"
     3. Prima schermata desktop: pannello offerta, tre punti, banda
     4. Servizi in home — sei tessere
     5. Riquadro della mappa in home
     6. Giudizio degli ospiti — schede e carosello
     7. Footer chiaro in modalità giorno
     8. Descrizione della camera — telefono
   ========================================================================== */

/* ==========================================================================
   1. Spaziatura sotto l'header fisso — telefono
   (era header-spacer-mobile.css)
   ========================================================================== */

/* ==========================================================================
   Hotel Sonia — spazio in testa alla pagina: regola generale sotto 1200px
   --------------------------------------------------------------------------
   Da caricare DOPO theme.css su tutte le pagine (sito e reservation/):

       <link rel="stylesheet" href="./assets/css/header-spacer-mobile.css">
       <!-- dentro reservation/: ../assets/css/header-spacer-mobile.css -->

   È il file che risolve una volta per tutte la fascia vuota sopra il primo
   titolo, invece di rifare il fix pagina per pagina.

   PERCHÉ SUCCEDE
   Su desktop #header è fixed-top, quindi fuori dal flusso: per non finirgli
   sotto, ogni pagina apre con uno spaziatore che porta una classe .pt-* alta
   (in theme.css .pt-18 = 7rem, .pt-20 = 8rem). Sotto i 768px theme.js forza
   l'header nello stato "sticked" — dentro il flusso — e quei 112/128px
   restano lì come buco. Nella fascia 768–1199px l'header è ancora fixed, e
   una clearance serve: solo molto più piccola dell'altezza pensata per il
   desktop.

   COME FUNZIONA
   Un'unica variabile, --hs-clear, decide la misura; le regole la applicano a
   tutti gli spaziatori noti (#pageTitle, #roomHeaderSpacer, qualunque id che
   finisce in "HeaderSpacer") e al primo figlio di <main> quando porta una
   .pt-* alta. Per cambiare lo spazio su tutto il sito si tocca una riga.

   Tutto vive dentro @media (max-width: 1199.98px): da 1200px in su NON viene
   emessa nessuna regola, il desktop resta identico a oggi.
   ========================================================================== */

@media (max-width: 1199.98px) {

  /* Header sticky (dentro il flusso): serve solo respiro tipografico. */
  :root { --hs-clear: 1.75rem; }

  /* ----------------------------------------------------------------------
     1. Spaziatori nominali
     ---------------------------------------------------------------------- */
  #pageTitle[class*="pt-"],
  #roomHeaderSpacer[class*="pt-"],
  [id$="HeaderSpacer"][class*="pt-"] {
    padding-top: var(--hs-clear) !important;
  }

  /* ----------------------------------------------------------------------
     2. Regola generale: il primo blocco della pagina che porta una .pt-*
        alta è, per costruzione, lo spaziatore dell'header. Sono elencate
        solo le classi da 12 in su (4,5rem+): sotto quella misura la .pt-*
        è spaziatura voluta, non clearance, e non va toccata.

        :first-child copre il caso normale; :first-of-type serve quando in
        testa a <main> c'è un commento o un nodo di testo del template.
     ---------------------------------------------------------------------- */
  main > :is(.pt-12, .pt-14, .pt-16, .pt-18, .pt-20, .pt-22, .pt-24):is(:first-child, :first-of-type),
  body > :is(.pt-12, .pt-14, .pt-16, .pt-18, .pt-20, .pt-22, .pt-24):is(:first-child, :first-of-type),
  main > section:is(.pt-12, .pt-14, .pt-16, .pt-18, .pt-20, .pt-22, .pt-24):first-of-type {
    padding-top: var(--hs-clear) !important;
  }

  /* Lo spaziatore vuoto (<div id="roomHeaderSpacer"> senza contenuto) non ha
     bisogno di padding: gli basta essere alto quanto la clearance. */
  [id$="HeaderSpacer"]:empty {
    padding-top: 0 !important;
    height: var(--hs-clear);
  }

  /* ----------------------------------------------------------------------
     3. Fascia 768–1199px: l'header è ancora fixed-top, quindi la clearance
        deve valere davvero — ma quanto l'header alto, non 8rem.

        Se su una pagina rendi l'header sticky anche qui (come fa
        check-availability-mobile.css al punto 4), aggiungi class="header-in-flow"
        al <body> di quella pagina: la clearance torna a quella tipografica.
     ---------------------------------------------------------------------- */
  @media (min-width: 1200px) {
    :root { --hs-clear: 6.5rem; }
  }

  /* ----------------------------------------------------------------------
     4. Coda del titolo: gli stessi spaziatori chiudono spesso con una .pb-*
        altrettanto alta, che sotto i 1200px allontana il contenuto dal
        titolo senza motivo.
     ---------------------------------------------------------------------- */
  #pageTitle :is(.pb-8, .pb-10, .pb-12) { padding-bottom: 0.75rem !important; }
}

/* ==========================================================================
   2. Impianto mobile: prima schermata, arco, banda "Prenota Ora"
   (era mobile-1d.css)
   ========================================================================== */

/* ==========================================================================
   Hotel Sonia — resa mobile / tablet: variante 1d "editoriale, con barra fissa"
   v2 — corregge la fascia tablet (768–1199px) e il titolo a due voci
   --------------------------------------------------------------------------
   Da caricare DOPO theme.css:
       <link rel="stylesheet" href="./assets/css/theme.css">
       <link rel="stylesheet" href="./assets/css/mobile-1d.css">   <-- questa

   Tutto il file vive dentro @media (max-width: 1199.98px): da 1200px in su
   NON viene emessa nessuna regola, quindi il desktop resta identico a oggi.

   Cosa cambia rispetto alla v1
   ----------------------------
   A) TABLET 768–1199px, rifatto da capo (era la parte inguardabile):      · l'header lì è ancora fixed-top con data-bs-theme="dark" (theme.js forza
        lo stato "sticked" solo sotto i 768px): era trasparente col gradiente
        scuro, senza logo, e copriva il titolo. Ora è bianco, sticky, col logo
        vero — le stesse regole che theme.css applica già sotto i 768px.
      · .promo-banner è display:none solo sotto i 768px: sopra restava absolute
        e galleggiava sul titolo. Ora entra nel flusso come striscia sotto
        l'header, ridisegnata per fondo chiaro (era pensata per stare su foto).
      · impaginazione a due colonne — titolo a sinistra, foto a destra — invece
        del telefono stirato in mezzo allo schermo, contatti su 4 colonne e
        campi del form in fila.
   B) TITOLO A DUE VOCI: "l'accoglienza più calda" in stile diverso richiede un
      elemento suo; _HOTEL_SONIA_TAGLINE è una stringa unica, quindi il CSS non
      può separarla. Le regole sono pronte qui sotto: basta questa modifica in
      reservation/include/messages.it.inc.php (le parole non cambiano di una
      virgola, si aggiunge solo il tag):

        define("_HOTEL_SONIA_TAGLINE_1","La soluzione più vicina,");
        define("_HOTEL_SONIA_TAGLINE_2","l'accoglienza più calda");

      e in index.php, nell'h1 della hero mobile:

        <h1 class="hero-arch-title pt-7">
            <span class="hero-arch-title-1"><?= _HOTEL_SONIA_TAGLINE_1; ?></span>
            <span class="hero-arch-title-2"><?= _HOTEL_SONIA_TAGLINE_2; ?></span>
        </h1>

      _HOTEL_SONIA_TAGLINE resta com'è per il resto del sito. In alternativa,
      senza toccare index.php, basta un <em> nella stringa esistente:

        define("_HOTEL_SONIA_TAGLINE","La soluzione più vicina, <em>l'accoglienza più calda</em>");

      Finché non c'è né l'uno né l'altro, il titolo resta a una voce sola.
   ========================================================================== */

/* Albergo Sonia (28/09/2026): una sola soglia a 768px. Da 768px in su la home usa la
   versione desktop (foto grande + ricerca sulla foto, menu con il pulsante ☰ sotto i 1200px);
   sotto i 768px la versione telefono. Prima questo blocco valeva fino a 1199px e creava
   una versione "tablet" a due colonne. Per tornare indietro: rimettere max-width: 1199.98px.
   Le regole interne con min-width: 768px / 900px / 992px ora non si applicano piu'. */
@media (max-width: 1199.98px) {

  /* La barra "Prenota Ora" è fissata in basso: questo spazio evita che copra
     la fine della pagina (footer compreso). */
  body { padding-bottom: 4.75rem; }

  /* --- 1. Sotto i 768px si usa la hero mobile, non quella desktop --- */
  .hero-carousel #heroStatic { display: none !important; }
  .hero-carousel #heroArchMobile,
  .hero-carousel .hero-arch-contacts { display: block !important; }

  /* --- 2. Ordine: promo -> titolo+foto -> contatti -> form ------------------
     Solo ordine visivo: in pagina il markup resta dov'è. */
  .hero-carousel {
    display: flex;
    flex-direction: column;
    position: relative;
    /* Niente overflow:hidden qui: il pannello del calendario (e la tendina degli
       ospiti) esce dal riquadro della sezione e veniva tagliato a metà.
       Lo z-index tiene la hero — calendario aperto compreso — sopra le sezioni
       che seguono in pagina. */
    z-index: 5;
    background-color: var(--bs-body-bg);
  }
  .hero-carousel .promo-banner           { order: 0; }
  .hero-carousel #heroArchMobile         { order: 1; display: flex !important; flex-direction: column; }
  .hero-carousel .hero-arch-contacts     { order: 2; }
  .hero-carousel #checkRooms.check-room  { order: 3; }
        .hero-carousel #heroArchMobile .hero-arch-contacts { order: 4; }

  /* --- 3. Il titolo, trattato come apertura editoriale ---------------------- */
      /* Era italico #93755d su crema, 3,4:1 — sotto soglia. Cinzel (la famiglia dei
     titoli del desktop) in inchiostro pieno: circa 15:1, a scala editoriale. */
    /* Titolo a due voci. Funziona in tre casi, in ordine di preferenza:
     1) due costanti separate in due <span> (vedi nota B in testa al file):
        il primo resta Cinzel, il secondo passa a Jost light corsivo;
     2) un solo <em> dentro la stringa: stessa resa, seconda voce in corsivo;
     3) nessun elemento: titolo a una voce, tutto Cinzel. */
    
  /* --- 4. La foto montata a passe-partout, al posto dell'arco --------------
     Il cartoncino chiaro e il filetto grigio avevano lo stesso peso della foto:
     una cornice da negozio. Ora il cartoncino è sottile, il filetto è un filo
     d'ottone nel marrone del sito e l'ombra è calda e morbida: un passepartout
     da galleria, che sostiene la foto invece di competerci. */
      
  /* --- 5. Contatti: griglia 2x2 con filetti, a tocco pieno ----------------- */
  .hero-carousel .hero-arch-contacts {
    background-color: var(--bs-body-bg);
    padding: 0;
    border-top: 1px solid var(--bs-primary-100);
  }
  .hero-carousel .hero-arch-contacts > .container { padding-left: 0; padding-right: 0; }
  .hero-carousel .hero-arch-contacts .service-featured-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
  }
  .hero-carousel .hero-arch-contacts .service-featured-list > li {
    width: auto;
    max-width: none;
    flex: none;
    padding: 0;
    margin: 0;
    border-bottom: 1px solid var(--bs-primary-100);
  }
  .hero-carousel .hero-arch-contacts .service-featured-list > li:nth-child(odd) {
    border-right: 1px solid var(--bs-primary-100);
  }
  .hero-carousel .hero-arch-contacts .service-featured-list > li:nth-last-child(-n+2) {
    border-bottom: 0;
  }
  .hero-carousel .hero-arch-contacts .featured-item {
    height: 100%;
    min-height: 66px;
    gap: 0.625rem;
    padding: 0.75rem 1.125rem;
    margin-bottom: 0;
    color: var(--bs-body-color);
  }
  .hero-carousel .hero-arch-contacts .featured-item i {
    flex: none;
    font-size: 1.375rem;
    margin-right: 0;
  }
  .hero-carousel .hero-arch-contacts .featured-desc { min-width: 0; }
  .hero-carousel .hero-arch-contacts .featured-desc small {
    font-family: "Red Hat Text", sans-serif;
    font-weight: 500;
    font-size: 0.6rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bs-secondary-color);
  }
  .hero-carousel .hero-arch-contacts .featured-desc span {
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.25;
    overflow-wrap: anywhere;   /* l'indirizzo email non sfonda la cella */
  }
  .hero-carousel .hero-arch-contacts .featured-item a { min-height: 44px; display: flex; align-items: center; }

  /* Schermi stretti: la cella scende sotto i 230px e il numero andava a capo.
     Si recupera larghezza dall'icona e dalle spaziature, non dal testo, che
     resta leggibile (12px semibold). Sotto i 380px un secondo scatto. */
  @media (max-width: 465.98px) {
    .hero-carousel .hero-arch-contacts .featured-item {
      gap: 0.5rem;
      padding: 0.625rem 0.75rem;
      min-height: 62px;
    }
    .hero-carousel .hero-arch-contacts .featured-item i { font-size: 1.125rem; }
    .hero-carousel .hero-arch-contacts .featured-desc small {
      font-size: 0.55rem;
      letter-spacing: 0.1em;
    }
    .hero-carousel .hero-arch-contacts .featured-desc span {
      font-size: 0.75rem;
      letter-spacing: 0;
    }
  }
  @media (max-width: 379.98px) {
    .hero-carousel .hero-arch-contacts .featured-item {
      gap: 0.4375rem;
      padding: 0.5625rem 0.625rem;
    }
    .hero-carousel .hero-arch-contacts .featured-item i { font-size: 1rem; }
    .hero-carousel .hero-arch-contacts .featured-desc small { font-size: 0.525rem; }
    .hero-carousel .hero-arch-contacts .featured-desc span { font-size: 0.7rem; }
  }

  /* --- 6. Il form: blocco chiaro in coda, non più nero --------------------- */
  .hero-carousel .check-room {
    position: relative;
    /* theme.css, dentro @media (min-width: 1200px), rende .check-room absolute con
       margin-bottom:7rem: serviva per farla galleggiare sulla hero desktop. Ora che
       da 768 a 1199px si usa la hero mobile va azzerato tutto, altrimenti restano
       ~112px di vuoto in coda alla sezione. */
    inset: auto;
    z-index: 6;
    margin-top: 0;
    margin-bottom: 0;
    padding: 1.375rem 1.25rem 0.5rem;
  }
  .hero-carousel .check-room > .container { padding-left: 0; padding-right: 0; }
  /* Il calendario e la tendina ospiti devono poter uscire dalla card. */
  .hero-carousel .check-room .card-check-room,
  .hero-carousel .check-room .card-body,
  .hero-carousel .check-room .control-icon { overflow: visible; }
  .hero-carousel .check-room .dropdown-menu { z-index: 1030; }
  .hero-carousel .check-room .card-check-room {
    background-color: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .hero-carousel .check-room .card-body { padding: 0; }

  /* Campi: nel markup portano bg-white bg-opacity-15 / text-light / border-white,
     pensati per il fondo nero. Su fondo crema vanno riportati a inchiostro pieno. */
  .hero-carousel .check-room .form-control,
  .hero-carousel .check-room .form-select {
    min-height: 54px;
    background-color: var(--bs-body-bg) !important;
    color: var(--bs-body-color) !important;
    border-color: var(--bs-primary-100) !important;
    font-size: 1rem;
  }
  .hero-carousel .check-room .form-control::placeholder { color: var(--bs-secondary-color) !important; }
  .hero-carousel .check-room .form-select.form-select-indicator-light {
    --bs-form-select-bg-img-light: var(--bs-form-select-bg-img);
  }
  .hero-carousel .check-room .form-select .text-nowrap,
  .hero-carousel .check-room .form-select span { color: var(--bs-body-color) !important; }
  .hero-carousel .check-room .control-icon > label.hicon {
    color: var(--bs-primary) !important;
    font-size: 1.25rem;
    z-index: 4;
  }
  /* "Cerca Camere" in versione outline: il pieno resta alla barra fissa, così
     i due comandi non competono. Bordo e testo in inchiostro pieno, 15:1. */
  .hero-carousel .check-room .btn-primary {
    --bs-btn-bg: transparent;
    --bs-btn-color: var(--bs-emphasis-color);
    --bs-btn-border-color: var(--bs-emphasis-color);
    --bs-btn-hover-bg: var(--bs-emphasis-color);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-border-color: var(--bs-emphasis-color);
    min-height: 54px;
    letter-spacing: 0.08em;
  }

  /* --- 7. "Prenota Ora" — una sola barra, con il contesto del desktop ------ */
  /* Prima c'erano due pulsanti con due logiche diverse: la barra fissa dell'arco
     (sempre presente) e il pulsante flottante #scrollTopBtn del desktop, che ha
     già le sue regole di contesto (compare dopo i contatti, sparisce fra le
     camere, si ritira accanto al WhatsApp della mappa, resta nascosto con header
     scuro). Ora la logica è una sola, quella del desktop: cambia solo lo stile,
     che su mobile diventa una banda ancorata in basso. */

  /* Nell'arco il pulsante non serve: la banda in basso è sempre a portata di
     pollice e dice la stessa cosa. Due "Prenota ora" a mezzo schermo di distanza
     erano solo rumore. */
    /* Il pulsante flottante del desktop diventa la banda in basso. La classe
     .active la mette e la toglie lo script già presente in index.php. */
  #scrollTopBtn.scroll-top-book {
    position: fixed;
    z-index: 1020;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: auto !important;
    height: auto !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 4.75rem;
    padding: 0.75rem 1rem;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0 !important;
    background-color: #a78468eb;
    color: #fff;
    font-weight: 600;
    font-size: 1.3rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: 0 -8px 24px rgba(17, 17, 17, 0.18);
    /* Fuori contesto scende sotto il bordo, invece di scomparire di colpo */
    transform: translateY(110%);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.24s ease, opacity 0.24s ease;
  }
  #scrollTopBtn.scroll-top-book.active {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }
  #scrollTopBtn.scroll-top-book:hover,
  #scrollTopBtn.scroll-top-book:focus-visible {
    background-color: var(--bs-primary-600);
    color: #fff;
  }

  /* Con il calendario aperto la banda sparisce: cadeva a pochi centimetri dal
     "Fatto" del calendario e veniva premuta al suo posto, uscendo dalla scelta
     delle date. La classe la mette theme.js (hotelDatePicker). */
  body.datepicker-is-open #scrollTopBtn.scroll-top-book {
    display: none !important;
  }

  /* ======================================================================
     8. TABLET 768–1199px — impaginazione a due colonne
     ====================================================================== */
  @media (min-width: 1200px) {

    /* 8.1 Header: bianco, sticky, con il logo vero — come già fa theme.css
       sotto i 768px. Qui sopra era fixed-top, trasparente e senza logo,
       e finiva sopra al titolo.
       Perché nella v1 restava nero: #header porta data-bs-theme="dark", quindi
       var(--bs-body-bg) lì dentro vale #212121 — chiedere quel token dava nero,
       non bianco. Qui i token chiari vengono ridichiarati sull'header stesso
       (stessa tecnica che theme.css usa su #offcanvasNavbar), così anche testo,
       icone e bordi ereditati risultano coerenti. Il menu offcanvas resta scuro:
       ha un proprio [data-bs-theme=dark] che vince sull'ereditarietà. */
    #header {
      position: sticky;
      top: 0;
      --bs-bg-opacity: 1;
      --bs-body-bg: #fff;
      --bs-body-bg-rgb: 255, 255, 255;
      --bs-body-color: #111;
      --bs-emphasis-color: #111;
      --bs-emphasis-color-rgb: 17, 17, 17;
      --bs-secondary-color: rgba(17, 17, 17, 0.65);
      --bs-border-color: #dedede;
      background-color: #fff !important;
      border-bottom-color: var(--bs-primary-100);
    }
    #header .navbar::before { display: none !important; }
    #header .brand-logo-sticky { display: inline-block !important; }
    #header .asset-default { display: none !important; }
    #header .asset-sticky  { display: inline-block !important; }
    #header .navbar-brand .logo { height: 40px; width: auto; }
    /* L'header porta data-bs-theme="dark": l'icona del toggler resta chiara e
       spariva sul bianco. Qui torna quella a inchiostro scuro di theme.css. */
    #header .navbar-toggler-icon {
      background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2817, 17, 17, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    }
    #header .navbar-toggler {
      background-color: transparent;
      border-color: var(--bs-primary-100);
      box-shadow: none;
    }
    #header .navbar-text,
    #header .navbar-nav .nav-link { color: rgba(var(--bs-emphasis-color-rgb), 0.85); }

    /* 8.2 Banner promo: dentro il flusso, striscia sotto l'header. Era absolute
       sopra la hero e finiva sul titolo; il suo stile (testo bianco, vetro,
       ombra) è pensato per stare su una foto, qui va portato su fondo chiaro. */
    .hero-carousel .promo-banner {
      position: static;
      width: 100%;
      max-width: none;
      margin: 0;
      /* Fondo pieno a tutta larghezza, contenuto allineato alla stessa colonna
         da 1140px di titolo, contatti e form. */
      padding: 1rem max(2rem, calc((100% - 1140px) / 2));
      gap: 1.125rem;
      align-items: center;
      border-left: 0;
      border-top: 1px solid var(--bs-primary-100);
      border-bottom: 1px solid var(--bs-primary-100);
      border-radius: 0;
      background-color: var(--bs-body-bg);
      box-shadow: none;
      -webkit-backdrop-filter: none;
      backdrop-filter: none;
      animation: none;
      color: var(--bs-body-color);
    }
    /* Medaglia: cerchio chiaro con doppio filetto brand — il riempimento a
       vetro e l'anello rosso servivano a staccare da una foto, qui stonavano. */
    .hero-carousel .promo-banner-badge {
      width: 52px;
      height: 52px;
      background: var(--bs-primary-50);
      border: 1px solid var(--bs-primary-200);
      box-shadow: none;
      -webkit-backdrop-filter: none;
      backdrop-filter: none;
      color: var(--bs-primary-600);
    }
    .hero-carousel .promo-banner-badge::before {
      inset: 3px;
      border: 1px solid rgba(var(--bs-primary-rgb), 0.35);
    }
    .hero-carousel .promo-banner-badge-value {
      font-size: 1.0625rem;
      letter-spacing: 0.01em;
      text-shadow: none;
      color: var(--bs-primary-600);
    }
    .hero-carousel .promo-banner-badge-label {
      font-family: "Red Hat Text", sans-serif;
      font-size: 0.5rem;
      font-weight: 500;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--bs-secondary-color);
      text-shadow: none;
    }
    /* Una sola riga: occhiello, titolo, e la scadenza spinta a destra oltre un
       filetto — invece di tre voci ammucchiate a sinistra. */
    .hero-carousel .promo-banner-text {
      flex: 1 1 auto;
      flex-direction: row;
      align-items: center;
      flex-wrap: wrap;
      gap: 0.125rem 1rem;
      text-shadow: none;
    }
    .hero-carousel .promo-banner-eyebrow {
      font-family: "Red Hat Text", sans-serif;
      font-size: 0.6rem;
      font-weight: 500;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: var(--bs-primary);
      text-shadow: none;
    }
    .hero-carousel .promo-banner-title {
      font-family: "Cinzel", serif;
      font-weight: 500;
      font-size: 1rem;
      letter-spacing: 0.02em;
      text-transform: none;
      color: var(--bs-emphasis-color);
      text-shadow: none;
    }

    /* 8.3 Hero: titolo a sinistra, foto a destra — non più un telefono stirato.
       Le due colonne partono da 900px: a 768–899px la colonna del titolo
       scenderebbe sotto i 340px e "l'accoglienza più calda" sbordava sulla foto. */
    .hero-carousel #heroArchMobile {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr);
      align-items: center;
      gap: 2rem;
      max-width: 1140px;
      margin: 0 auto;
      padding: 2.5rem 2rem 3rem;
    }
    .hero-carousel .hero-arch-title {
      font-size: clamp(2rem, 4.4vw, 3rem);
      max-width: 20ch;
      margin-bottom: 0;
    }
    .hero-carousel .hero-arch-photo { padding: 0.5rem; }
    .hero-carousel .hero-arch-photo::before { inset: 0; }
    .hero-carousel .hero-arch-photo img { height: clamp(320px, 42vh, 460px); }
  }

  @media (min-width: 900px) {
    .hero-carousel #heroArchMobile {
      grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
      gap: 2.5rem;
      padding: 3rem 2rem 3.25rem;
    }
                          }

  @media (min-width: 1200px) {

    /* 8.4 Contatti: quattro colonne in una riga */
    .hero-carousel .hero-arch-photo { margin: 0 auto; }
    .hero-carousel .hero-arch-contacts > .container { max-width: 1140px; padding: 0 2rem; }
    .hero-carousel .hero-arch-contacts .service-featured-list {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .hero-carousel .hero-arch-contacts .service-featured-list > li {
      border-bottom: 0;
      border-right: 1px solid var(--bs-primary-100);
    }
    .hero-carousel .hero-arch-contacts .service-featured-list > li:nth-child(odd) {
      border-right: 1px solid var(--bs-primary-100);
    }
    .hero-carousel .hero-arch-contacts .service-featured-list > li:last-child { border-right: 0; }
    .hero-carousel .hero-arch-contacts .featured-item {
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      gap: 0.5rem;
      min-height: 104px;
      padding: 1.125rem 1.25rem;
    }
    .hero-carousel .hero-arch-contacts .featured-desc span { font-size: 0.9375rem; }

    /* 8.5 Form: fino a 991px la data prende una riga sua e ospiti+pulsante la
       seconda. Prima erano tre in fila anche a 768px: al pulsante restavano
       ~180px e "Cerca Camere" andava a capo, crescendo in altezza rispetto ai
       campi (l'anomalia tra 768 e 933px). */
    .hero-carousel .check-room { padding: 1.75rem 2rem 0.75rem; }
    .hero-carousel .check-room > .container { max-width: 1140px; }
    .hero-carousel .check-room .card-body > .row.g-2 {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
    }
    .hero-carousel .check-room .card-body > .row.g-2 > .col-12 { width: auto; flex: 1 1 100%; }
    .hero-carousel .check-room .card-body .row.g-2 .row.g-2 {
      display: flex;
      flex-wrap: nowrap;
      align-items: flex-start;
    }
    .hero-carousel .check-room .card-body .row.g-2 .row.g-2 > .col-12:first-child { width: auto; flex: 1 1 62%; }
    .hero-carousel .check-room .card-body .row.g-2 .row.g-2 > .col-12:last-child  { width: auto; flex: 1 1 38%; }
    /* L'etichetta del pulsante non va mai a capo: resta alta come i campi. */
    .hero-carousel .check-room .btn-primary {
      white-space: nowrap;
      letter-spacing: 0.05em;
    }
    .hero-carousel .check-room .btn-primary span { white-space: nowrap; }

    /* 8.6 Banda in basso: il testo non deve galleggiare al centro di 1200px */
    #scrollTopBtn.scroll-top-book { min-height: 4.25rem; }
  }

  /* --- 8bis. Da 992px i tre controlli stanno in una riga sola ------------- */
  @media (min-width: 1200px) {
    .hero-carousel .check-room .card-body > .row.g-2 { flex-wrap: nowrap; }
    .hero-carousel .check-room .card-body > .row.g-2 > .col-12:first-child { flex: 1 1 38%; }
    .hero-carousel .check-room .card-body > .row.g-2 > .col-12:last-child  { flex: 1 1 62%; }
    .hero-carousel .check-room .card-body .row.g-2 .row.g-2 > .col-12:first-child { flex: 1 1 56%; }
    .hero-carousel .check-room .card-body .row.g-2 .row.g-2 > .col-12:last-child  { flex: 1 1 44%; }
  }

  /* --- 9. Tema scuro ------------------------------------------------------- */
  [data-bs-theme=dark] .hero-carousel,
  [data-bs-theme=dark] .hero-carousel .hero-arch-contacts { background-color: #212121; }
        [data-bs-theme=dark] .hero-carousel .check-room { background-color: #1b1b1b; }
  [data-bs-theme=dark] .hero-carousel .check-room .form-control,
  [data-bs-theme=dark] .hero-carousel .check-room .form-select {
    background-color: #2b2b2b !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
  }
  [data-bs-theme=dark] .hero-carousel .hero-arch-contacts,
  [data-bs-theme=dark] .hero-carousel .hero-arch-contacts .service-featured-list > li {
    border-color: rgba(255, 255, 255, 0.1);
  }
  [data-bs-theme=dark] .hero-carousel .check-room .btn-primary {
    --bs-btn-color: #f8f8f8;
    --bs-btn-border-color: #f8f8f8;
    --bs-btn-hover-bg: #f8f8f8;
    --bs-btn-hover-color: #111;
    --bs-btn-hover-border-color: #f8f8f8;
  }
  [data-bs-theme=dark] #heroArchMobile .hero-arch-cta,
  [data-bs-theme=dark] #scrollTopBtn.scroll-top-book {
    background-color: var(--bs-primary-600);
    border-top-color: rgba(255, 255, 255, 0.16);
  }
  [data-bs-theme=dark] #heroArchMobile .hero-arch-cta:hover,
  [data-bs-theme=dark] #heroArchMobile .hero-arch-cta:focus-visible,
  [data-bs-theme=dark] #scrollTopBtn.scroll-top-book:hover,
  [data-bs-theme=dark] #scrollTopBtn.scroll-top-book:focus-visible {
    background-color: var(--bs-primary);
    color: #111;
  }
  @media (min-width: 1200px) {
    [data-bs-theme=dark] .hero-carousel .promo-banner {
      background-color: #212121;
      border-top-color: rgba(255, 255, 255, 0.1);
      border-bottom-color: rgba(255, 255, 255, 0.1);
    }
    [data-bs-theme=dark] .hero-carousel .promo-banner-badge {
      background: #2b2b2b;
      border-color: rgba(255, 255, 255, 0.18);
      color: var(--bs-primary);
    }
    [data-bs-theme=dark] .hero-carousel .promo-banner-badge-value { color: var(--bs-primary); }
  }
}

/* ==========================================================================
   10. Chiama, WhatsApp e sottotitolo nella prima schermata — telefono
   Chi cerca una stanza vicino a Careggi spesso vuole parlare con qualcuno,
   non compilare un modulo: i due recapiti diventano pulsanti pieni dentro
   l'arco, sopra la piega. Nella griglia contatti più sotto le stesse due voci
   vengono nascoste, per non dirle due volte.
   ========================================================================== */
@media (max-width: 1199.98px) {

/* Con due sole celle l'email ha spazio per stare su una riga: si toglie la
     rottura a metà parola (overflow-wrap:anywhere, utile quando le celle erano
     quattro) e il corpo si adatta alla larghezza dello schermo. */
  .hero-carousel .hero-arch-contacts .service-featured-list > li:nth-child(3) .featured-desc span {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
    font-size: clamp(0.625rem, 3.05vw, 0.8125rem);
    letter-spacing: 0;
  }

  /* Telefono e WhatsApp sono già qui sopra: nella griglia restano email e orari */
  .hero-carousel .hero-arch-contacts .service-featured-list > li:nth-child(1),
  .hero-carousel .hero-arch-contacts .service-featured-list > li:nth-child(2) {
    display: none;
  }
  .hero-carousel .hero-arch-contacts .service-featured-list > li:nth-child(3) {
    border-right: 1px solid var(--bs-primary-100);
  }

  }

/* La seconda riga del titolo è una frase intera ("a soli 500 metri...") e non
   una coda del titolo: corpo più piccolo, due righe, senza il corsivo grande. */

/* I due pulsanti e la riga dei contatti sotto devono incolonnarsi: i pulsanti
   vanno a filo dei bordi della griglia, e le icone dei contatti si rimpiccioliscono
   per non sporgere oltre il testo. */
@media (max-width: 1199.98px) {
    .hero-carousel .hero-arch-contacts .service-featured-list > li {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .hero-carousel .hero-arch-contacts .service-featured-list img,
  .hero-carousel .hero-arch-contacts .service-featured-list svg,
  .hero-carousel .hero-arch-contacts .service-featured-list i {
    width: 1.5rem !important;
    height: 1.5rem !important;
    font-size: 1.5rem !important;
    flex: 0 0 auto;
  }
}

/* ==========================================================================
   11. I tre motivi per prenotare, sovrimpressi alla foto — telefono
   Erano l'argomento più forte e restavano sotto la piega. Ora stanno in basso
   sulla foto: il legno della reception lì è già scuro e una sfumatura appena
   accennata garantisce il contrasto anche cambiando immagine.
   ========================================================================== */

/* ==========================================================================
   3. Prima schermata desktop: pannello offerta, tre punti, banda
   (era hero-usp-desktop.css)
   ========================================================================== */

/* ==========================================================================
   Prima schermata della home — desktop
   I tre motivi non stanno più sovrapposti alla foto: sono una banda a sé fra
   la prima schermata e i recapiti (.usp-strip, più sotto). Sulla foto restano
   solo lo slogan e il pannello di ricerca.
   ========================================================================== */

@media (min-width: 1200px) {

  /* Pannello della ricerca: velo translucido al posto del grigio pieno, che
     spegneva la reception dietro. */
  .hero-carousel .card-check-room,
  .check-room .card-check-room {
    background-color: rgba(20, 14, 10, 0.34) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
  }

  /* Slogan: un gradino sotto il titolo, righe più fitte */
  .hero-carousel .carousel-caption p.fs-4 {
    font-size: 1.1875rem !important;
    line-height: 1.5;
    max-width: 44rem;
    margin-left: auto;
    margin-right: auto;
    text-wrap: pretty;
  }
}

/* ==========================================================================
   I tre motivi per prenotare — banda sotto la prima schermata
   Fuori dalla foto il testo si legge senza veli e non litiga con la barra di
   ricerca a nessuna larghezza. Fondo chiaro di servizio e filetto sotto, che
   fa da soglia verso i recapiti; le tre colonne sono divise da filetti, non
   dai bordi esterni. Su telefono la banda è nascosta: i tre motivi sono già
   sovrimpressi alla foto dell'arco (mobile-1d.css, sez. 11).
   ========================================================================== */

/* Fondo a inchiostro: la banda era chiara su pagina chiara, con filetti tenui,
   e si perdeva. Scura diventa il respiro fra la foto e il resto della pagina,
   e i tre argomenti si leggono da lontano. */
.usp-strip {
  position: relative;
  background-color: var(--ss-riq);
  border-bottom: 0;
  /* Ombra interna in alto: ancora la banda alla foto senza disegnare una linea.
     Il filetto marrone da 3px era troppo marcato su un fondo avorio; qui basta
     un velo che si dissolve in 10px, come se la foto vi appoggiasse sopra. */
  box-shadow: inset 0 10px 12px -10px rgba(26, 26, 24, 0.22);
}

/* Nessun filetto: l'ancoraggio alla foto lo dà l'ombra interna qui sopra */
.usp-strip::before {
  content: none;
}

.usp-strip-list {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}

.usp-strip-list > li {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.875rem;
  padding: 1.375rem 1.25rem;
  font-family: "Jost", sans-serif;
  font-size: 1.225rem;
  line-height: 1.35;
  color: #473320;
  text-align: left;
  text-wrap: pretty;
}

/* Filetti fra le colonne, non ai bordi esterni */
.usp-strip-list > li + li {
  border-left: 1px solid rgba(255, 255, 255, 0.14);
}

/* Numero in serif, nell'accento del marchio: richiama il titolo della hero */
.usp-strip-num {
  flex: 0 0 auto;
  font-family: "Cinzel", serif;
  font-size: 1.875rem;
  font-weight: 600;
  line-height: 1;
  color: var(--bs-primary-300, #c9a888);
}
/* Tablet: le tre voci stanno in colonna, una sotto l'altra */
@media (max-width: 1199.98px) {
  .usp-strip-list { flex-direction: column; }
  .usp-strip-list > li {
    justify-content: flex-start;
    padding: 0.875rem 0;
    font-size: 0.9375rem;
  }
  .usp-strip-list > li + li {
    border-left: 0;
    border-top: 1px solid var(--bs-border-color, var(--ss-riq-scuro));
  }
}

/* Tema scuro */
[data-bs-theme=dark] .usp-strip {
  background-color: rgba(255, 255, 255, 0.04);
  border-bottom-color: rgba(255, 255, 255, 0.1);
}
[data-bs-theme=dark] .usp-strip-list > li + li {
  border-left-color: rgba(255, 255, 255, 0.1);
}
@media (max-width: 1199.98px) {
  [data-bs-theme=dark] .usp-strip-list > li + li {
    border-top-color: rgba(255, 255, 255, 0.1);
  }
}

/* ==========================================================================
   Badge dell'offerta
   Prima diceva "−€10" con il segno meno accanto a una cifra grande: a colpo
   d'occhio si leggeva come un trattino, e più di un cliente l'ha inteso come
   un sovrapprezzo. Ora il verso dello sconto è scritto a parole — "Sconto"
   sopra, "a notte" sotto — e il segno meno è sparito. La data di scadenza è
   stata tolta dal testo accanto: resta "Offerta a tempo".
   ========================================================================== */

.promo-banner-badge {
  gap: 0;
}

/* "Sconto" — piccolo, in maiuscoletto spaziato, sopra la cifra */
.promo-banner-badge-word {
  display: block;
  font-family: "Jost", sans-serif;
  font-size: 0.5625rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--bs-primary-200);
}

/* La cifra resta la voce principale del badge */
.promo-banner-badge-value {
  line-height: 1.05;
}

/* "a notte" — l'unità, sotto la cifra */
.promo-banner-badge-label {
  display: block;
  line-height: 1.2;
  text-transform: lowercase;
}

/* ==========================================================================
   Riga dei recapiti (#recapiti) — fascia 1200-1400px
   Da 1200px le quattro colonne passano a col-xl-3, cioè un quarto ciascuna:
   circa 190px utili per il testo, accanto all'icona. L'indirizzo email è una
   parola sola di 21 caratteri, non può andare a capo e sbordava sulla colonna
   della reception; i numeri di telefono si spezzavano lasciando "241" orfano.
   In questa sola fascia il testo si stringe quanto basta: sopra i 1400px e
   sotto i 1200px (dove le colonne sono due) nulla cambia.
   ========================================================================== */
@media (min-width: 1200px) and (max-width: 1399.98px) {

  /* Icone un poco più piccole: restituiscono larghezza al testo */
  #recapiti .featured-item > .hicon {
    font-size: 2.5rem;
  }

  /* Etichetta e valore si stringono; via la spaziatura fra le lettere, che qui
     costa più di quanto renda */
  #recapiti .featured-desc small {
    font-size: 0.8125rem;
    letter-spacing: 0;
  }
  #recapiti .featured-desc span {
    display: block;
    font-size: 1rem;
    letter-spacing: 0;
    white-space: nowrap;   /* numeri e orari su una riga, senza cifre orfane */
  }

  /* L'email è la voce più lunga: scende di un altro gradino e, se lo spazio
     mancasse comunque, si adatta invece di sbordare */
  #recapiti .service-featured-list > li:nth-child(3) .featured-desc span {
    font-size: 0.9375rem;
    white-space: nowrap;
    overflow-wrap: normal;
    text-overflow: ellipsis;
    overflow: hidden;
  }
}

/* ==========================================================================
   4. Servizi in home — sei tessere
   (era services-tiles.css)
   ========================================================================== */

/* ==========================================================================
   Servizi in home (#facilitiesAmenities) — sei tessere

   Prima erano sei paragrafi della stessa lunghezza su due file di tre colonne,
   senza confini e tutti dello stesso peso: la sezione si leggeva come una
   pagina di giornale. Qui ogni servizio ha il suo cartoncino, l'icona sta in
   un tondo pieno e il testo scende a una riga.
   ========================================================================== */

/* Il testo introduttivo non è più giustificato: era il residuo più "da
   giornale". Centrato e con una misura di lettura contenuta. */

.svc-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.625rem;
  padding: 1.75rem 1.25rem 1.5rem;
  background-color: var(--bs-body-bg, #fff);
  border-radius: var(--bs-border-radius);
  text-align: center;
  box-shadow: 0 2px 12px rgba(26, 26, 24, 0.07);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Si solleva al passaggio, come le schede delle camere */
.svc-tile:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 28px rgba(var(--bs-primary-rgb), 0.16), 0 3px 10px rgba(26, 26, 24, 0.06);
}

/* Tondo pieno nell'accento: l'icona diventa un elemento, non un ornamento
   a filo sottile accanto al testo. */
.svc-tile-icon {
  flex: 0 0 auto;
  width: 3.5rem;
  height: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--bs-primary);
  color: #fff;
  font-size: 1.5rem;
  line-height: 1;
  transition: background-color 0.3s ease;
}
.svc-tile:hover .svc-tile-icon {
  background-color: var(--bs-primary-600);
}

.svc-tile-title {
  margin: 0;
  font-family: "Jost", sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.3;
  text-transform: uppercase;
  color: var(--bs-emphasis-color);
}

.svc-tile-text {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.45;
  color: var(--bs-secondary-color, #7a7573);
  text-wrap: pretty;
}

/* Su telefono le tessere restano una per riga, un poco più compatte */
@media (max-width: 575.98px) {
  .svc-tile {
    padding: 1.375rem 1.125rem 1.25rem;
  }
  .svc-tile-icon {
    width: 3rem;
    height: 3rem;
    font-size: 1.3rem;
  }
}

/* Tema scuro: il cartoncino si schiarisce appena, invece di sparire */
[data-bs-theme=dark] .svc-tile {
  background-color: rgba(255, 255, 255, 0.04);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

/* ==========================================================================
   5. Riquadro della mappa in home
   (era map-lite.css)
   ========================================================================== */

/* ==========================================================================
   Riquadro mappa in home (#mapLite) — due segnaposto e la distanza

   La schermata di Google, coi suoi grigi e i fucsia, era estranea alla pagina
   e soprattutto non mostrava i 500 metri promessi dal testo accanto: in
   evidenza c'erano Villa Incontri e uno studio di osteopatia. Qui la mappa
   vira nei toni del marchio e sopra restano due soli segnaposto, uniti da un
   tratteggio con la distanza.

   Le coordinate dei segnaposto stanno in index.php, come --x e --y in
   percentuale dell'immagine. Il ritaglio "cover" tocca solo i lati (l'altezza
   entra sempre per intero), ed è centrato: vicino al centro lo scarto è di
   pochi pixel, e i due segnaposto sono entrambi lì.

   Va caricato DOPO theme.css, che definisce .map-lite-whatsapp.
   ========================================================================== */

/* Virata nei toni caldi della pagina: la mappa resta leggibile ma smette di
   essere una schermata di Google incollata dentro il sito. */

/* Velo avorio: spegne ancora un poco le etichette estranee e fa staccare i
   due segnaposto, che restano gli unici elementi a piena saturazione. */

/* --- Tratteggio fra i due segnaposto ------------------------------------- */
/* In SVG con preserveAspectRatio="none": le coordinate della linea sono
   percentuali, quindi seguono il riquadro qualunque sia la sua forma. */
/* Il tragitto vero lungo le strade, non la distanza in linea d'aria: è la
   risposta alla domanda che un familiare si fa davvero. Gli stessi valori
   sono anche attributi nel markup (fill="none" ecc.), così il percorso resta
   corretto perfino se questo foglio non venisse caricato. */

/* Alone bianco: il filo resta leggibile anche sopra le strade chiare */

/* --- Segnaposto ---------------------------------------------------------- */

/* Il pallino è il punto esatto: si centra sulle coordinate, l'etichetta cresce
   di lato senza spostarlo. */

/* Ospedale: etichetta chiara a destra del pallino, pallino rosso mattone */

/* Hotel: etichetta a inchiostro, e sta SOPRA il pallino perché il punto cade
   in basso, dove corrono i due comandi. */

/* --- La distanza, al centro del tratteggio ------------------------------- */

/* --- I due comandi, sulla stessa linea di base --------------------------- */
/* Prima il pulsante della mappa stava al centro, sopra i segnaposto, e quello
   di WhatsApp galleggiava a mezza altezza: ora sono due pastiglie negli angoli
   in basso, una chiara e una a inchiostro. */

/* Non il verde tipico di WhatsApp, che qui sarebbe l'unico colore estraneo
   alla pagina: a inchiostro fa coppia con la pastiglia chiara, e il simbolo
   basta a far capire di che si tratta. */

/* --- Schermi stretti ----------------------------------------------------- */

/* Tema scuro: il velo avorio diventa un velo d'inchiostro */

/* ==========================================================================
   6. Giudizio degli ospiti — schede e carosello
   (era testimonials.css)
   ========================================================================== */

/* ==========================================================================
   Recensioni in home (#testimonials) — schede

   Prima: tondi con le iniziali in blu, marrone e fucsia (tre colori fuori
   tavolozza), stelline giallo-oro, il pulsante blu di Booking in mezzo al
   sottotitolo, nessun punteggio, e il giglio a galleggiare in una fascia
   vuota. Qui le citazioni prendono lo stesso cartoncino delle tessere dei
   servizi, il voto sale nel titolo e il giglio ne diventa il fregio.
   ========================================================================== */

/* --- Fregio del titolo --------------------------------------------------- */

/* --- Punteggio Booking --------------------------------------------------- */

/* Riquadro a inchiostro: è il numero, non la parola, a fare la differenza */

/* --- Scheda della citazione ---------------------------------------------- */
/* Il carosello resta quello di prima (splide): cambia solo il contenuto della
   singola diapositiva. */

/* Virgoletta in serif al posto delle virgolette nel testo */

/* Tondo, non corsivo: tre colonne in corsivo affaticano la lettura */

/* L'iniziale in un tondo avorio: riconoscibile senza introdurre colori nuovi */

/* Stelle nei toni del marchio, e col voto accanto: cinque stelline gialle
   dicevano "5 su 5", che non è il dato vero. */

/* Tema scuro: il cartoncino si schiarisce appena, come le tessere dei servizi */

/* --- Frecce e tacche del carosello --------------------------------------- */
/* Le frecce di splide erano spinte fuori dal riquadro dai margini ms-10/me-10,
   e le tacche, posizionate in assoluto, finivano sopra il pulsante di Booking:
   su telefono non si capiva che le schede scorrono. */

.testimonial-slider .splide__arrows {
  display: block;
}

.testimonial-slider .splide__arrow {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0 !important;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background-color: var(--bs-body-bg, #fff);
  color: var(--bs-emphasis-color);
  font-size: 1rem;
  opacity: 1;
  box-shadow: 0 3px 12px rgba(26, 26, 24, 0.18);
  transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}
.testimonial-slider .splide__arrow:hover,
.testimonial-slider .splide__arrow:focus-visible {
  background-color: var(--bs-primary);
  color: #fff;
  box-shadow: 0 6px 18px rgba(26, 26, 24, 0.24);
}
.testimonial-slider .splide__arrow:disabled {
  opacity: 0.35;
}
.testimonial-slider .splide__arrow--prev { left: -0.5rem; }
.testimonial-slider .splide__arrow--next { right: -0.5rem; }

/* Tacche: fuori dal flusso del carosello, con aria sopra e sotto, così non
   toccano né le schede né il pulsante. */
.testimonial-slider .splide__pagination {
  position: static;
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin: 1.25rem 0 0;
  padding: 0;
}
.testimonial-slider .splide__pagination__page {
  width: 1.5rem;
  height: 3px;
  margin: 0;
  border: 0;
  border-radius: 0;
  background-color: var(--bs-primary-200, #ded3c7);
  opacity: 1;
  transform: none;
  transition: background-color 0.25s ease, width 0.25s ease;
}
.testimonial-slider .splide__pagination__page.is-active {
  width: 2.5rem;
  background-color: var(--bs-primary);
  transform: none;
}

@media (max-width: 575.98px) {
  /* Il link "leggile tutte" andava a capo da solo, e sotto c'è già il pulsante
     che porta alle stesse recensioni: su telefono è di troppo. */
  /* Le frecce stanno sopra i bordi della scheda, dove il pollice le trova */
  .testimonial-slider .splide__arrow {
    width: 2.25rem;
    height: 2.25rem;
  }
  .testimonial-slider .splide__arrow--prev { left: -0.25rem; }
  .testimonial-slider .splide__arrow--next { right: -0.25rem; }
}

[data-bs-theme=dark] .testimonial-slider .splide__arrow {
  background-color: var(--ss-testo);
  color: var(--ss-riq);
}

/* ==========================================================================
   7. Footer chiaro in modalità giorno
   (era footer-light.css)
   ========================================================================== */

/* ==========================================================================
   Footer — terra chiara in modalità giorno

   Il footer porta data-bs-theme="dark" scritto nel markup: in modalità giorno
   prendeva quindi il fondo del tema scuro (var(--ss-testo), quasi nero) sotto un corpo
   avorio, con uno stacco secco e senza relazione con i marroni del sito.

   Qui la strada opposta: il footer resta CHIARO, un beige più carico del corpo
   con inchiostro sopra. Nessun salto, pagina luminosa da cima a fondo.

   Il modo più pulito di ottenerlo è ridichiarare le variabili di Bootstrap sul
   solo #footer: tutte le utility del tema (text-body, text-body-emphasis,
   text-body-tertiary, link-hover-primary, border-bottom…) le leggono da qui e
   si adeguano da sé, senza dover inseguire ogni singola classe.

   Vale SOLO in modalità giorno: con il tema notte attivo
   (html[data-bs-theme="dark"]) non si applica nulla e resta tutto come prima.
   ========================================================================== */

html:not([data-bs-theme="dark"]) #footer {
  /* Fondo e testo.
     Tonalità della tinteggiatura delle camere. Nel pannello del browser era
     #cdb8a736, cioè #cdb8a7 al 21%: sovrapposto al bianco della pagina dà
     questo var(--ss-riq). In tinta piena rende lo stesso colore senza dipendere
     da cosa sta dietro. */
  --bs-body-bg: #cdb8a736;
  --bs-body-bg-rgb: 242, 236, 228;
  --bs-body-color: #5c564e;
  --bs-body-color-rgb: 92, 86, 78;

  /* Titoletti delle colonne e testo in evidenza */
  --bs-emphasis-color: #241f1a;
  --bs-emphasis-color-rgb: 36, 31, 26;
  --bs-heading-color: #241f1a;

  /* Toni di servizio: il footer stesso porta .text-body-tertiary */
  --bs-secondary-color: rgba(92, 86, 78, 0.78);
  --bs-tertiary-color: rgba(92, 86, 78, 0.9);

  /* Filetti: il beige più scuro, non il bianco trasparente del tema notte */
  --bs-border-color: #e0d6c8;
  --bs-border-color-translucent: rgba(36, 31, 26, 0.12);

  /* Marrone del marchio un gradino più scuro: su fondo chiaro quello chiaro
     non avrebbe contrasto sufficiente per i collegamenti */
  --bs-primary: var(--ss-marrone-sec);
  --bs-primary-rgb: 138, 106, 74;

  background-color: var(--bs-body-bg) !important;
  color: var(--bs-body-color) !important;
}

/* Il logo bianco su fondo chiaro sparirebbe: in modalità giorno si mostra
   quello scuro, in modalità notte quello bianco (footer.php porta entrambi). */

/* Riquadri delle note legali: erano grigio neutro su fondo scuro. Qui beige
   più carico con inchiostro sopra, nella stessa famiglia del fondo. */
html:not([data-bs-theme="dark"]) #footer .badge.bg-secondary {
  background-color: #e3d8c9 !important;
  color: #3d372f !important;
}

/* Collegamenti: il colore di base lo dà --bs-body-color, al passaggio si
   accende nel marrone del marchio. */
html:not([data-bs-theme="dark"]) #footer a.text-body { color: var(--bs-body-color) !important; }
html:not([data-bs-theme="dark"]) #footer a.link-hover-primary:hover,
html:not([data-bs-theme="dark"]) #footer a.link-hover-primary:focus-visible {
  color: var(--ss-marrone-sec) !important;
}

/* Il footer chiaro perde il peso di chiusura che aveva il fondo scuro: un
   filetto in alto lo separa dal corpo della pagina, che è appena più chiaro. */
html:not([data-bs-theme="dark"]) #footer {
  border-top: 1px solid #cbbfad;
}

/* ==========================================================================
   8. Descrizione della camera — telefono
   (era room-description-mobile.css)
   ========================================================================== */

/* ==========================================================================
   Descrizione della camera (index.php?page=rooms) — solo telefono
   Il testo del tema è tarato sul desktop: su schermo piccolo scende a 14px e
   diventa faticoso. Qui si alza il corpo di lettura e si allarga l'interlinea,
   senza toccare la gerarchia: i titoli restano quelli del tema.
   Niente di tutto questo sopra i 768px.
   ========================================================================== */

@media (max-width: 1199.98px) {

  /* --- Corpo di lettura ---------------------------------------------------- */
  /* 16px: la misura sotto la quale i browser mobili iniziano a ingrandire da sé */
  #detailRoom p,
  #detailRoom li,
  #detailRoom .card-text,
  #detailRoom dd,
  #detailRoom td {
    font-size: 1.125rem;
    line-height: 1.6;
    text-wrap: pretty;        /* evita la riga finale con una parola sola */
  }

  /* La descrizione lunga è il testo che si legge davvero: un filo più grande */
  #detailRoom p {
    font-size: 1.1875rem;
    margin-bottom: 1rem;
  }

  /* Elenco dei servizi dentro la descrizione: rientro più contenuto, così le
     voci lunghe non vanno a capo per un soffio */
  #detailRoom ul:not(.list-unstyled) {
    padding-left: 1.25rem;
  }
  #detailRoom ul:not(.list-unstyled) > li {
    margin-bottom: 0.25rem;
  }

  /* --- Informazioni sulla camera ------------------------------------------ */
  /* Icona e testo restano sulla stessa riga anche col corpo maggiorato */
  #detailRoom .list-unstyled.row > li {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    padding: 0.1875rem 0;
    line-height: 1.5 !important;
  }
  #detailRoom .list-unstyled.row > li > i {
    flex: 0 0 auto;
    font-size: 1.1875rem;
    line-height: 1.4;
  }
  #detailRoom .list-unstyled.row > li > span {
    font-size: 1.125rem;
    text-wrap: pretty;
  }

  /* --- Titoli di sezione -------------------------------------------------- */
  /* Appena più piccoli del desktop: restano dominanti, ma lasciano spazio al
     testo maggiorato e non spezzano "PROMOZIONI E SCONTI" in tre righe. */
  #detailRoom h2.h3,
  #detailRoom h1.h3 {
    font-size: 1.375rem;
    line-height: 1.25;
  }

  /* --- Spazi: recuperati dal padding, non dal testo ----------------------- */
      #detailRoom .pt-12 { padding-top: 2rem !important; }

  /* --- Condizioni di cancellazione e promozioni --------------------------- */
  #detailRoom .table td,
  #detailRoom .table th {
    font-size: 1.0625rem;
    line-height: 1.5;
  }
}

/* ==========================================================================
   Albergo Sonia — messaggi del sito (draw_important_message / draw_message /
   draw_success_message: <div class="msg fail|notice|success"><p>…</p></div>)
   Riquadro chiaro con cornice sottile e bollino a sinistra, nei toni del sito.
   ========================================================================== */
.msg {
  --msg-tone: var(--bs-primary, var(--ss-marrone-sec));
  --msg-bg: var(--ss-fondo);
  --msg-line: var(--ss-riq-scuro);
  --msg-sign: "i";
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin: 24px 0;
  padding: 18px 22px;
  background: var(--msg-bg);
  border: 1px solid var(--msg-line);
  border-radius: 6px;
  box-shadow: 0 6px 18px rgba(26, 26, 24, 0.05);
  color: var(--bs-body-color, #3a3530);
}
.msg::before {
  content: var(--msg-sign);
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--msg-tone);
  color: #fff;
  font: 600 18px/34px Georgia, "Times New Roman", serif;
  text-align: center;
}
.msg p { margin: 0; padding-top: 4px; line-height: 1.55; text-wrap: pretty; }
.msg p b, .msg p strong { color: var(--msg-tone); font-weight: 600; }
.msg.fail    { --msg-tone: #a0522d; --msg-bg: var(--ss-fondo); --msg-line: #ecd6c6; --msg-sign: "!"; }
.msg.success { --msg-tone: #4f7a52; --msg-bg: #f4f8f2; --msg-line: #d3e2cf; --msg-sign: "\2713"; }
.msg.notice  { --msg-tone: var(--bs-primary, var(--ss-marrone-sec)); }

[data-bs-theme="dark"] .msg { --msg-bg: rgba(255,255,255,0.04); --msg-line: rgba(255,255,255,0.12); color: var(--bs-body-color); box-shadow: none; }
[data-bs-theme="dark"] .msg.fail    { --msg-tone: #d08a63; }
[data-bs-theme="dark"] .msg.success { --msg-tone: #8fbf8f; }
[data-bs-theme="dark"] .msg.notice  { --msg-tone: #c9a888; }

@media (max-width: 575.98px) {
  .msg { gap: 12px; padding: 14px 16px; }
  .msg::before { flex-basis: 28px; width: 28px; height: 28px; font-size: 15px; line-height: 28px; }
}

/* Vetrina camere: pillola "Offerta · fino a -X%" in alto a destra sulla foto */
.sonia-offerta-pill { position: absolute; top: 1.5rem; right: 1.5rem; z-index: 2; background: #c0392bc9; color: #fff; font-size: .8rem; font-weight: 600; letter-spacing: .02em; padding: .35rem .8rem; border-radius: 2rem; box-shadow: 0 4px 12px rgba(0,0,0,.18); white-space: nowrap; }
@media (max-width: 575.98px) { .sonia-offerta-pill { top: 1rem; right: 1rem; font-size: 1rem; padding: .3rem .65rem; } }

/* ==========================================================================
   Home — "Senza carta di credito" accanto a Cerca camere (settembre 2026)
   Markup in index.php (.sonia-bollino-wrap sul contenitore del pulsante).
   ========================================================================== */
/* Albergo Sonia: bollino "Senza carta di credito" in linea con Cerca camere (solo desktop largo).
   Solo testo, stessi caratteri del bollino dello sconto (promo-banner-badge). Su schermi piu' stretti di
   1400px non c'e' spazio a destra della ricerca: nascosto (mobile da decidere). */
/* solo testo: niente vetro, niente anello */

/* ==========================================================================
   Home 768-1199px (versione desktop su tablet) — 28/09/2026
   1) Il pulsante WhatsApp "Chiedi info alla reception" a pagina ferma copriva la
      barra di ricerca: qui compare solo dopo lo scroll, gia' raccolto in tondo
      (la classe is-collapsed la mette assets/js/whatsapp.js).
   2) 768-991px: la ricerca va su tre righe e toccava il sottotitolo: titolo e
      sottotitolo salgono un po' e il sottotitolo si rimpicciolisce.
   ========================================================================== */

/* ==========================================================================
   Footer — Condizioni | Privacy Policy | Cookie Policy (28/09/2026)
   Prima i separatori erano testo ("&emsp;|&emsp;") e andando a capo restavano
   appesi all'inizio della riga. Ora li disegna il CSS e le voci non si spezzano.
   ========================================================================== */
.sonia-footer-links { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; row-gap: .25rem; margin: 0; padding: 0; list-style: none; }
.sonia-footer-links > li { margin: 0 !important; white-space: nowrap; }
.sonia-footer-links > li + li::before { content: "|"; margin: 0 .9em; color: var(--bs-primary); }
@media (min-width: 1200px) { .sonia-footer-links { justify-content: flex-end; } }

/* ==========================================================================
   Pagine di contenuto (es. Contatti) — 28/09/2026
   Il motore stampa il titolo della pagina (<h1 class="align_left">) fuori da <main>,
   subito sotto l'header. Su desktop resta coperto dall'header, su telefono compariva
   come un "Contatti" nudo sopra il titolo vero della pagina.
   ========================================================================== */
body > h1.align_left,
body > h1.align_left + p:empty { display: none !important; }

/* ==========================================================================
   Stati delle prenotazioni (area cliente: Le mie prenotazioni) — 28/09/2026
   Stesse pastiglie e stessi colori della Tabella prenotazioni del pannello
   (sonia-admin.css, .sonia-stato-*): il markup arriva da Bookings::statuses_vm.
   ========================================================================== */
.sonia-stato { display: inline-block; box-sizing: border-box; padding: 4px 12px; border-radius: 11px; font-size: 12px; font-weight: 500; line-height: 1.5; text-align: center; white-space: nowrap; }
.sonia-stato-pre        { background-color: #eceff3; color: #4a5766; }
.sonia-stato-sospeso    { background-color: #e7eefb; color: #2a4d94; }
.sonia-stato-riservato  { background-color: #e0f2e4; color: #1f6b33; }
.sonia-stato-completo   { background-color: #00457C; color: #fff; }
.sonia-stato-rimborso   { background-color: #f2e8e8; color: #6f3a3a; }
.sonia-stato-errore     { background-color: #fbe4e2; color: #9b2c22; }
.sonia-stato-annullato  { background-color: #fbeceb; color: #b03636; }

/* Stato "Annullato": chi ha annullato, in piccolo sotto (Bookings::statuses_vm 6c/6h) */
.sonia-stato .sonia-stato-chi { display: block; font-size: 10px; font-weight: 400; line-height: 1.2; opacity: .85; }

/* ==========================================================================
   Home desktop: foto della camera, versione CHIARA (bozza 2a, 02/10/2026)
   Velo crema al centro, testo marrone, schede bianche piene (sconto e ricerca),
   menu in alto con testo scuro finche' la pagina non scorre.
   Solo desktop (>= 992px) e solo sulla home (#heroStatic): mobile e altre pagine invariate.
   ========================================================================== */
/* ==========================================================================
   VELO DELLA HERO DESKTOP  —  UNICO PUNTO DA REGOLARE
   Tutti i numeri sono qui. Nessun'altra regola del sito colora la foto:
   (theme.css non ha più il velo nero, e .sonia-hero-ombra è stato eliminato).
   Valori da 0 a 1. Per provare in DevTools: seleziona <html> e cambia la variabile.
   ========================================================================== */
:root {
  --velo-generale: 1;       /* moltiplicatore di tutto il velo sulla foto: 0 = foto scoperta, 1 = valori sotto */
  --velo-alto: 0;          /* ombra scura in cima alla foto (0 = niente; era .3 e lasciava una riga scura) */
  --velo-alto-fine: 1%;    /* a che altezza della foto il velo in cima svanisce */
  --velo-titolo: 1;       /* crema dietro il titolo "Sonia" */
  --velo-ombra: .05;        /* ombra leggera su tutta la foto (0 = niente) */
  --velo-menu: .75;         /* fascia crema dell'header, SOPRA la foto (si somma a --velo-alto) */
}
#heroStatic .image-wrapper { background-position: center 38%; }
#heroStatic .image-wrapper.bg-overlay:before {
  background:
    linear-gradient(180deg, rgba(0,0,0,var(--velo-alto)) 0%, rgba(0,0,0,0) var(--velo-alto-fine)),
    /* crema dietro il titolo: sfuma nel crema trasparente (niente grigio sporco a meta') */
    radial-gradient(ellipse 30% 34% at 50% 42%, rgba(246,241,234,var(--velo-titolo)), rgba(246,241,234,0) 70%),
    /* leggera ombra su tutta la foto, come prima fuori dall'ellisse */
    linear-gradient(rgba(0,0,0,var(--velo-ombra)), rgba(0,0,0,var(--velo-ombra)));
  opacity: var(--velo-generale);
}
.sonia-hero-titolo { display: flex; flex-direction: column; align-items: center; margin: 0; }
.sonia-hero-hotel { font-family: "Marcellus", "Cinzel", serif; font-weight: 400; font-size: clamp(1.7rem, 2.3vw, 2.25rem); letter-spacing: .42em; padding-left: .42em; text-transform: uppercase; line-height: 1.2; color: var(--ss-testo-bruno);
-webkit-text-stroke: .5px currentColor;
text-shadow: 0 0 14px rgba(250,244,236,.95), 0 0 3px rgba(250,244,236,.9); }
.sonia-hero-nome { font-family: "Playfair Display", Georgia, serif; font-size: clamp(5.5rem, 9.5vw, 9.25rem); line-height: 1; color: var(--ss-testo-bruno); }
.sonia-hero-luogo { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 8px 0 14px; font-family: "Jost", sans-serif; font-size: 1.063rem; font-weight: 500; letter-spacing: .3em; text-transform: uppercase; color: var(--ss-testo-bruno); }
.sonia-hero-luogo span { width: 60px; height: 1px; background: #5e3f2a; }
.hero-carousel #heroStatic .sonia-hero-sotto { color: var(--ss-testo-bruno) !important; text-shadow: none !important; text-wrap: pretty; }
.hero-carousel #heroStatic .sonia-hero-sotto b, .hero-carousel #heroStatic .sonia-hero-sotto strong { font-weight: 600; color: var(--ss-testo-bruno); }

@media (min-width: 1200px) {
  .hero-carousel #heroStatic .carousel-caption { top: 44% !important; }

  /* logo "Hotel Sonia" in alto a sinistra: nascosto finche' la pagina e' ferma in cima
     (il nome c'e' gia' nel titolo); torna quando il menu diventa fisso scorrendo */
  body:has(#heroStatic) #header:not(.header-sticked) #brandHeader .logo { visibility: hidden; }
  /* sconto piu' in alto, al posto del logo */
  /* sconto in cima, all'altezza del menu (al posto del logo nascosto) */
  .hero-carousel .promo-banner { top: calc(var(--header-height, 6.5rem) / 2) !important; transform: translateY(-50%); padding-top: .55rem !important; padding-bottom: .55rem !important; }
  .hero-carousel .promo-banner.is-dismissed { transform: translate(-120%, -50%); }
  /* barra di prenotazione piu' in basso */
  /* "IT" accanto alla bandiera: nero come il resto del menu */
  body:has(#heroStatic) #header:not(.header-sticked) .navbar-text,
  body:has(#heroStatic) #header:not(.header-sticked) .navbar-text span { color: var(--ss-testo-bruno) !important; }

  /* menu in alto: niente fascia nera, velo crema che sfuma; testo e icone marroni */
  body:has(#heroStatic) #header[data-bs-theme=dark]:not(.header-sticked) .navbar::before {
    background: linear-gradient(180deg, rgba(250,244,236,var(--velo-menu)) 0%, rgba(250,244,236,0) 100%) !important;
  }
  body:has(#heroStatic) #header:not(.header-sticked) .navbar-nav .nav-link,
  body:has(#heroStatic) #header:not(.header-sticked) .navbar-nav .nav-link i,
  body:has(#heroStatic) #header:not(.header-sticked) .nav-link .hicon { color: var(--ss-testo-bruno) !important; }
  body:has(#heroStatic) #header:not(.header-sticked) .navbar-nav .nav-link.active,
  body:has(#heroStatic) #header:not(.header-sticked) .navbar-nav .nav-link:hover { color: #7d5a40 !important; font-weight: 600; }
  body:has(#heroStatic) #header:not(.header-sticked) .asset-default { display: none !important; }
  body:has(#heroStatic) #header:not(.header-sticked) .brand-logo-sticky,
  body:has(#heroStatic) #header:not(.header-sticked) .asset-sticky { display: inline-block !important; }

  /* riquadro dello sconto: scheda bianca, tondo rosso pieno */
  .hero-carousel .promo-banner-badge { background: #b23a2e !important; border: 0 !important; box-shadow: none !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .hero-carousel .promo-banner-badge::before { display: none; }
  .hero-carousel .promo-banner-badge-word { color: #fff !important; }
  .hero-carousel .promo-banner-badge-value, .hero-carousel .promo-banner-badge-label { color: #fff !important; text-shadow: none !important; }
  .hero-carousel .promo-banner-eyebrow { color: #a37b5c !important; }
  .hero-carousel .promo-banner-title { color: var(--ss-testo-bruno) !important; text-shadow: none !important; }

  /* barra di prenotazione: scheda bianca piena */
  .hero-carousel .card-check-room { background-color: #fff !important; border: 0 !important; border-radius: 6px; box-shadow: 0 14px 40px rgba(59,42,30,.22); }
  .hero-carousel .card-check-room .form-control,
  .hero-carousel .card-check-room .form-select { background-color: #fff !important; color: var(--ss-testo-bruno) !important; border-color: var(--ss-riq-scuro) !important; }
  .hero-carousel .card-check-room .form-control::placeholder { color: #8a7666; }
  .hero-carousel .card-check-room .control-icon > label,
  .hero-carousel .card-check-room .control-icon .hicon { color: #a37b5c !important; }
  .hero-carousel .card-check-room .form-select-indicator-light { --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%233b2a1e' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); }

  /* "Senza carta di credito" accanto a Cerca camere: marrone sulla foto chiara */
}

/* ==========================================================================
   Home desktop — stili spostati da index.php (02/10/2026)
   Bollino "Senza carta", card WhatsApp reception, sconto in alto,
   fondi trasparenti #ffffff45, sottotitolo della foto.
   ========================================================================== */
/* Albergo Sonia: bollino "Senza carta di credito" in linea con Cerca camere (solo desktop largo).
   Solo testo, stessi caratteri del bollino dello sconto (promo-banner-badge). Su schermi piu' stretti di
   1400px non c'e' spazio a destra della ricerca: nascosto (mobile da decidere). */
.sonia-bollino-wrap { position: relative; }
/* bollo -% sull'immagine dei pagamenti (stesse misure del disegno 1200x900) */
.sonia-pay-img figure { position: relative; container-type: inline-size; }
.sonia-pay-bollo { position: absolute; left: 81.46%; top: 15.28%; width: 10.33%; aspect-ratio: 1; border-radius: 50%;
	background: #b03636; color: #fff; font: 700 3.1cqw/1 Arial, Helvetica, sans-serif; letter-spacing: -.02em;
	display: flex; align-items: center; justify-content: center; z-index: 2; pointer-events: none; }
/* solo testo: niente vetro, niente anello */
/* Albergo Sonia 02/10: due card bianche ai lati della barra di ricerca (>=1400px).
   Sinistra: WhatsApp reception; destra: Senza carta di credito. */
.hero-carousel .promo-banner { background: #ffffff45 !important; box-shadow: none !important; }
/* sottotitolo della foto: piu' in basso, su una banda trasparente come la barra (solo desktop) */
@media (min-width: 1200px) {
	.hero-carousel #heroStatic .carousel-caption .fs-4 { display: inline-block;margin-right:-23px; margin-top: -4.2rem !important; padding: .7rem 1.6rem;
		max-width: 1180px;
		/* senza banda: testo leggermente piu' spesso e scuro + alone chiaro morbido che lo stacca dalla foto */
		font-weight: 400; color: var(--ss-marrone-scuro) !important;
		text-shadow: 0 0 2px rgba(255,255,255,.9), 0 0 12px rgba(255,248,240,.95), 0 0 24px rgba(255,248,240,.7); }
}
/* cornice della barra di ricerca: stesso fondo trasparente (le caselle restano bianche) */
@media (min-width: 1200px) {
	.hero-carousel .check-room .card-check-room { background-color: #ffffff45 !important; box-shadow: none !important; }
}
/* sul fondo trasparente la parola piccola chiara non si leggeva: piu' scura */
/* le due card si agganciano alla barra intera (card-check-room), non alla colonna del pulsante */
@media (min-width: 1400px) {
	.hero-carousel .check-room .card-check-room { position: relative; }
	.hero-carousel .check-room .sonia-bollino-wrap { position: static; }
	/* fondo bianco trasparente (#ffffff45), come provato sullo sconto */
	/* stessa misura per le due card */
	/* 02/10: le due card impilate a sinistra della barra (Senza carta sopra, Reception sotto) */
}

/* Albergo Sonia: nastro "Senza carta di credito" in alto a sinistra (home).
   Stessa forma del nastro Anteprima (preview-ribbon, theme.css), color bronzo del sito.
   Lo vedono i clienti; l'admin in anteprima vede il suo nastro giallo al suo posto.
   Assoluto (non fisso): scorre via con la foto. */
.sonia-ribbon-wrap { position: absolute; top: 0; left: 0; width: 230px; height: 230px; overflow: hidden; z-index: 1040; pointer-events: none; }
.sonia-ribbon { position: absolute; top: 42px; left: -67px; width: 300px; padding: 10px 0 9px; background: var(--bs-primary, #9c7a5b); color: #fff;
	text-align: center; transform: rotate(-45deg); box-shadow: 0 2px 8px rgba(0,0,0,.35);
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; text-decoration: none; pointer-events: auto; }
.sonia-ribbon:hover { background: var(--bs-primary-600, var(--ss-marrone)); color: #fff; }
.sonia-ribbon-row { display: flex; align-items: center; gap: 6px; }
.sonia-ribbon svg { width: 20px; height: 20px; flex-shrink: 0; }
.sonia-ribbon-title { font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; font-weight: 600; white-space: nowrap; }
.sonia-ribbon-sub { font-size: 13px; letter-spacing: .3px; opacity: .92; white-space: nowrap; }
@media (max-width: 575.98px) {
	.sonia-ribbon-wrap { width: 170px; height: 170px; }
	.sonia-ribbon { top: 30px; left: -54px; width: 220px; padding: 7px 0; }
	.sonia-ribbon svg { width: 16px; height: 16px; }
	.sonia-ribbon-title { font-size: 10px; letter-spacing: 1px; }
	.sonia-ribbon-sub { font-size: 9px; }
}

/* ==========================================================================
   Logo in testo (02/10/2026) — stessi caratteri del titolo della home:
   "HOTEL" Marcellus spaziato + "Sonia" Playfair corsivo, su una riga.
   Testata sito: Hotel Sonia · prenotazione e menu telefono: solo Sonia · footer: Hotel Sonia.
   ========================================================================== */
.sonia-logo { display: inline-block; white-space: nowrap; line-height: 1; text-decoration: none; }
.sonia-logo-h { font-family: "Marcellus", serif; letter-spacing: .32em; text-transform: uppercase; margin-right: .2em; vertical-align: .45em; }
.sonia-logo-s { font-family: "Playfair Display", serif; }
#header .navbar-brand .sonia-logo { height: auto !important; width: auto !important; }
@media (max-width: 1199.98px) { #header .navbar-brand .sonia-logo { display: inline-block !important; } }
/* menu che si apre (fondo scuro) */
.offcanvas-header a { text-decoration: none; }
/* footer */
#footer a:has(.sonia-logo) { text-decoration: none; }
/* tema scuro */

/* Logo · ritocco 02/10: piu' spesso e marcato, "Sonia" un po' piu' grande */
.sonia-logo-h { font-size: 14px !important; color: var(--ss-marrone) !important; -webkit-text-stroke: .35px currentColor; opacity: 1 !important; }
.sonia-logo-s { font-size: 34px !important; color: var(--ss-testo-bruno) !important; opacity: 1 !important; }
.sonia-logo--solo .sonia-logo-s { font-size: 31px !important; }
.offcanvas-header .sonia-logo-s { font-size: 29px !important; color: var(--ss-riq) !important; }
.sonia-logo--footer .sonia-logo-h { font-size: 16px !important; }
.sonia-logo--footer .sonia-logo-s { font-size: 42px !important; }
#footer .sonia-logo, #footer .sonia-logo * { opacity: 1 !important; }
[data-bs-theme="dark"] .sonia-logo-s { color: var(--ss-riq) !important; }
[data-bs-theme="dark"] .sonia-logo-h { color: #c9a27f !important; }

/* ==========================================================================
   Menu laterale telefono · 1a crema (02/10/2026)
   Fondo del sito, voci in Marcellus con filetto, contatti rapidi,
   impostazioni in fondo.
   ========================================================================== */
@media (max-width: 1199.98px) {
  #offcanvasNavbar { background: var(--ss-riq) !important; color: var(--ss-testo-bruno); }
  #offcanvasNavbar .offcanvas-header { border-bottom: 1px solid var(--ss-riq-scuro); padding: 18px 22px; }
  #offcanvasNavbar .offcanvas-header .sonia-logo-s { color: var(--ss-testo-bruno) !important; font-size: 30px !important; }
  #offcanvasNavbar .btn-close { filter: none !important; opacity: .8; }
  #offcanvasNavbar .offcanvas-divider { display: none !important; }
  #offcanvasNavbar .offcanvas-body { display: flex; flex-direction: column; padding: 6px 22px 18px; }
  #offcanvasNavbar .navbar-nav { order: 1; margin: 0 !important; }
  #offcanvasNavbar .navbar-nav > .nav-item { border-bottom: 1px solid var(--ss-riq-scuro); }
  #offcanvasNavbar .navbar-nav > .nav-item > .nav-link { font-family: "Marcellus", serif !important; text-transform: none !important; font-size: 19px !important;
    letter-spacing: .06em; color: var(--ss-testo-bruno) !important; padding: 15px 0 !important; font-weight: 400 !important; }
  #offcanvasNavbar .navbar-nav > .nav-item > .nav-link.active { color: #9c7a5b !important; }
  #offcanvasNavbar .navbar-nav .dropdown-toggle-icon, #offcanvasNavbar .navbar-nav [class*="toggle"] i { color: #9c7a5b !important; font-size: 14px; }
  #offcanvasNavbar .dropdown-menu { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 0 12px 14px !important; }
  #offcanvasNavbar .dropdown-menu .dropdown-item { font-family: "Jost", sans-serif; font-size: 15px; color: #6b5443 !important; padding: 6px 0 !important; background: none !important; text-transform: none; }
  /* contatti rapidi */
  #offcanvasNavbar .offcanvas-directions-btn { order: 3; margin-top: 10px; height: 48px; border-radius: 12px !important; display: flex !important; align-items: center; justify-content: center;
    font: 600 14px "Jost", sans-serif; letter-spacing: .08em; text-transform: uppercase; background: #a5825f !important; border-color: #a5825f !important; color: #fff !important; }
  /* impostazioni in fondo */
  #offcanvasNavbar .offcanvas-body > .d-flex.small { order: 4; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--ss-riq-scuro); }
  #offcanvasNavbar .offcanvas-body > .d-flex.small .nav { margin: 0 !important; justify-content: space-between; width: 100%; }
  #offcanvasNavbar .offcanvas-body > .d-flex.small .nav-item:has([data-bs-target="#ocRightInfo"]) { display: none; }
  #offcanvasNavbar #toggle-theme, #offcanvasNavbar .navbar-text { color: #6b5443 !important; font: 400 14px "Jost", sans-serif; }
  #offcanvasNavbar #toggle-theme::after { content: " Tema"; }
  #offcanvasNavbar .navbar-text::after { content: " \203A"; }
}

/* Finestrella chat WhatsApp: logo in testo, un po' piu' piccolo */
.wa-chat-box-brand-name .sonia-logo-h { font-size: 12px !important; }
.wa-chat-box-brand-name .sonia-logo-s { font-size: 28px !important; }
.wa-chat-box-brand-name { margin-bottom: 4px; }

/* Mappa home: etichetta "Albergo Sonia" chiara come quella dell'ospedale (via la fascia nera).
   Il marrone resta sul segnaposto e nel testo, in tinta con il percorso. */

/* Mappa: arrivo all'ingresso CTO / Clinica Ulivella (via Alderotti) e hotel piu' evidente */

/* Mappa: bandiera rossa centrata sul punto esatto dell'hotel; il nome sta in una
   pastiglia in basso, in riga con "Apri mappa interattiva" e "Posizione". */
/* telefono: le due pastiglie vanno su due righe, il nome sale sopra di loro */

/* Mappa: "Posizione" bianca come "Apri mappa interattiva", simbolo WhatsApp verde.
   Da tablet in su i due pulsanti hanno la stessa larghezza: cosi' la pastiglia
   "Albergo Sonia", al centro della mappa, cade esattamente a meta' fra i due. */

/* Pagine di sistema aperte da admin: il motore stampa il titolo come h2 (non h1)
   fuori dalla pagina; si nasconde come per i clienti, il titolo vero e' nella pagina. */
body > h2.align_left,
body > h2.align_left + p:empty { display: none !important; }

/* Contatti (pagina del database, section#contact.pt-12): da computer la testata fissa
   copriva il titolo. Stesso spazio di Condizioni e Stato prenotazione (pt-24 = 10rem).
   Su telefono resta com'e'. */
@media (min-width: 1200px) {
  section#contact { padding-top: 10rem !important; }
}

/* Contatti: orario della reception. Scheda bianca su fondo crema, tondo con
   l'orologio a sinistra, etichetta piccola in maiuscolo, orario in Cinzel. */
.reception-hours-badge {
  display: inline-grid !important;
  grid-template-rows: auto auto;
  column-gap: 14px; row-gap: 2px; align-items: center;
  padding: 14px 22px 14px 14px !important;
  background: #fff !important;
  border: 1px solid var(--ss-riq-scuro) !important;
  border-radius: 999px !important;
  box-shadow: 0 6px 18px rgba(59, 42, 30, 0.08);
  text-align: left !important;
}
.reception-hours-badge { position: relative; padding-left: 72px !important; grid-template-columns: auto; }
[data-bs-theme=dark] .reception-hours-badge { background: var(--bs-body-bg) !important; border-color: rgba(255,255,255,.15) !important; }
@media (max-width: 1199.98px) {
  .reception-hours-badge { padding: 10px 18px 10px 62px !important; }
}

/* Orario reception: da computer torna a destra, in riga con "Inviaci una richiesta"
   (la colonna e' position-relative). Su telefono resta nel flusso, sotto Recapiti. */
@media (min-width: 1200px) {
  .reception-hours-badge { position: absolute !important; top: 0; right: 0; margin: 0 !important; }
}

/* Login cliente: la finestra e' corta, la barra di scorrimento interna non serve.
   Se lo schermo e' basso scorre la finestra intera, non il riquadro. */
#mdlLogin .modal-dialog { max-height: none; }
#mdlLogin .modal-content { max-height: none; overflow: visible; }
#mdlLogin .modal-body { overflow: visible !important; max-height: none !important; scrollbar-width: none; }
#mdlLogin .modal-body::-webkit-scrollbar { display: none; }

/* Selettore lingua nella testata: un po' d'aria fra la bandiera e "IT" */
a.navbar-text[href*="mdlLang"] { gap: 0.45rem; }
a.navbar-text[href*="mdlLang"] img { margin-right: 0 !important; }

/* Login da admin in anteprima: riquadro piu' largo, pulsanti in riga sotto il testo */
.sonia-pv-msg { flex: 1 1 auto; min-width: 0; }
.sonia-pv-btns .btn { white-space: nowrap; }

/* Riquadro sconto della home (desktop): entra in dissolvenza insieme al resto della
   foto, senza scivolare; prima arrivava a scatti con lo spostamento laterale. */
@keyframes soniaPromoIn { from { opacity: 0; } to { opacity: 1; } }
@media (min-width: 1200px) {
  .hero-carousel .promo-banner:not(.is-dismissed) {
    transition: opacity .6s ease !important;
    animation: soniaPromoIn 1s ease .25s both;
    will-change: opacity;
  }
  .hero-carousel .promo-banner.is-dismissed { transition: transform .45s ease, opacity .45s ease !important; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-carousel .promo-banner { animation: none !important; }
}

/* Titolo hero (HOTEL / Sonia / FIRENZE · CAREGGI) piu' in basso, verso la frase sotto.
   Solo il titolo scende (transform): frase, ricerca e pulsanti restano dove sono. Telefono invariato. */

/* === Spostato da index.php (era in un blocco <style>) === */
/* Validazione inline del campo data (stile Booking.com), stesso
   pattern già applicato in reservation/templates/default/header_check_availability.php.
   Il modale server-side "Date non valide" in check_availability.php
   resta come rete di sicurezza, non è stato toccato. */
.date-field-alert{
    position:absolute; top:calc(100% + 8px); left:0; z-index:20;
    max-width:280px; padding:8px 12px; border-radius:8px;
    background-color:var(--bs-danger, #dc3545); color:#fff;
    font-size:.8rem; line-height:1.3; font-weight:500;
    box-shadow:0 6px 16px rgba(0,0,0,.18);
    opacity:0; visibility:hidden; transform:translateY(-4px);
    transition:opacity .15s ease, transform .15s ease, visibility .15s;
    pointer-events:none;
}
.date-field-alert::before{
    content:""; position:absolute; top:-6px; left:20px;
    border-left:6px solid transparent; border-right:6px solid transparent;
    border-bottom:6px solid var(--bs-danger, #dc3545);
}
.date-field-alert.show{ opacity:1; visibility:visible; transform:translateY(0); }
#txtCheckDate.check-date-invalid{
    border-color:var(--bs-danger, #dc3545) !important;
    box-shadow:0 0 0 .2rem rgba(220,53,69,.18) !important;
}

/* === Home 3d (desktop) ===
   Barra 1-2-3 (.usp-strip) sovrapposta al fondo della foto, semitrasparente: entra nella prima schermata.
   Voto degli ospiti sotto la frase. Il riquadro "Senza carta" non c'e' piu' (era il punto 1 della barra). */
@media (min-width: 1200px) {
  .usp-strip { margin-top: -46px; z-index: 11; background-color: rgba(238, 232, 228, 1) !important; box-shadow: none !important;
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); border-top: 1px solid rgba(255, 255, 255, .5); }
  .usp-strip-list > li { height: 46px; padding-top: 0; padding-bottom: 0; font-size: 1.05rem; }
  .usp-strip-list > li + li { border-left-color: rgba(71, 51, 32, .14); }
  /* la ricerca sale sopra la barra */
  .hero-carousel .check-room { margin-bottom: calc(46px + 1.75rem) !important; }
}
/* 1400+: "Chiedi info reception" da solo, centrato sull'altezza della barra di ricerca */
/* 1200-1399: il pulsante WhatsApp galleggiante copriva la barra 1-2-3: compare solo dopo lo scroll, come alle altre larghezze */
/* 768-991: la ricerca si leggeva poco e finiva sotto la barra in basso (Home/Camere/Prenota...):
   scheda quasi piena, sale sopra la barra; il voto si nasconde per fare spazio */
.sonia-hero-voto { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 12px;
  font-family: "Jost", sans-serif; font-size: 1rem; color: var(--ss-testo-bruno); }
.sonia-hero-voto b { font-weight: 600; }
.sonia-hero-stelle { letter-spacing: 2px; }

/* Home da 1200px: tutto il blocco (titolo, frase, voto, ricerca, Chiedi info) sale di circa 56px,
   in posizione piu' centrale fra il menu e la barra 1-2-3 */
@media (min-width: 1200px) {
  .hero-carousel .check-room { margin-bottom: calc(46px + 1.75rem + 56px) !important; }
}

/* Home: piu' contrasto sui testi sopra la foto */
.hero-carousel .promo-banner-eyebrow { font-weight: 600; }
.hero-carousel .promo-banner-title { font-weight: 600;
  text-shadow: 0 0 2px rgba(255,255,255,.9), 0 0 10px rgba(255,248,240,.9) !important; }
.sonia-hero-voto { text-shadow: 0 0 2px rgba(255,255,255,.9), 0 0 10px rgba(255,248,240,.95), 0 0 20px rgba(255,248,240,.7); }
.sonia-hero-stelle { color: #b0761a; }
/* da 1200: il voto non tocca la barra di ricerca */
@media (min-width: 1200px) {
  .hero-carousel #heroStatic .carousel-caption { top: 36% !important; }
}

/* Home: ancora piu' contrasto (barra 1-2-3 molto trasparente, sconto, recensioni) */
@media (min-width: 1200px) {
  .usp-strip-list > li { color: #241912 !important; font-weight: 500;
    /* alone come provato dal pannello DevTools (03/10) */
    text-shadow: 0 0 2px rgba(255,255,255,0), -13px 0 17px rgb(255,248,240), 0 0 20px rgba(255,248,240,.43); }
  .usp-strip-num { color: #6e4f36 !important; text-shadow: 0 0 8px rgba(255,248,240,.95); }
}
.hero-carousel .promo-banner-eyebrow { color: #6e4f36 !important; }
.hero-carousel .promo-banner-title { color: #241912 !important; }
.sonia-hero-voto > span:last-child { color: #2e2118; font-weight: 500; }

/***********************/

/* ==========================================================================
   Hero desktop: titolo centrato, frase sul lato destro (bozza 2a, 04/10/2026)
   - "Sonia" in Playfair diritto, HOTEL piu' vicino
   - da 1200px la frase esce dal centro e va a destra: alta quanto il titolo
     (filetto alla riga di HOTEL, ultima riga a FIRENZE · CAREGGI),
     testo crema su una sfumatura scura del bordo destro della foto
   - sotto 1200px la frase resta sotto il titolo, come prima. Telefono invariato.
   ========================================================================== */
.sonia-hero-titolo { gap: 0; }
.sonia-hero-hotel { margin-bottom: -0.938rem; }
.sonia-hero-nome { font-style: normal; font-weight: 500; letter-spacing: .01em; }
.sonia-hero-blocco { position: relative; }

@media (min-width: 1200px) {
  /* lo spostamento verso il basso passa al blocco intero, cosi' la frase lo segue */
  .sonia-hero-titolo, .sonia-hero-luogo { transform: none; }
  .sonia-hero-blocco { transform: translateY(44px); }

  .hero-carousel #heroStatic .sonia-hero-sotto {
    position: absolute; top: 6px; bottom: 14px; width: 300px;
    right: calc(64px - (50vw - 50%));
    display: flex; flex-direction: column; justify-content: center; gap: 14px; align-items: flex-end;
    font-size: 1.125rem !important; line-height: 1.55; text-align: right;
    color: var(--ss-testo-bruno) !important; text-shadow: none !important;
  }
  .hero-carousel #heroStatic .sonia-hero-sotto::before { content: ""; width: 36px; height: 2px; background: #a37b5c; }
  .hero-carousel #heroStatic .sonia-hero-sotto-txt { display: block; }
  .hero-carousel #heroStatic .sonia-hero-sotto-txt b,
  .hero-carousel #heroStatic .sonia-hero-sotto-txt strong,
  .hero-carousel #heroStatic .sonia-hero-sotto-txt span { color: var(--ss-testo-bruno) !important; font-weight: 600; }
  /* il voto segue il titolo (la frase non e' piu' sotto) */
  .sonia-hero-voto { transform: translateY(44px); margin-top: 4px; }
}

/* REGOLA QUI L'ALTEZZA DELLA FRASE A DESTRA (da 1200px): numero negativo = sale, positivo = scende */
@media (min-width: 1200px) {
  .hero-carousel #heroStatic .sonia-hero-sotto { transform: translateY(-30px); }
}
/* Posizione verticale della frase a destra (da 1200px): e' centrata nell'altezza del titolo.
   Per provarla in DevTools: selettore  .hero-carousel #heroStatic .sonia-hero-sotto
   - top / bottom (ora 6px / 14px): aumentare top e diminuire bottom = scende, viceversa sale
   - oppure aggiungere  transform: translateY(-10px)  per alzarla di 10px */

/* Sconto in alto a sinistra (desktop): niente riquadro, tutto trasparente, tondo rosso piu' acceso */
@media (min-width: 1200px) {
  .hero-carousel .promo-banner { background: transparent !important; box-shadow: none !important; border: 0 !important;
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
  .hero-carousel .promo-banner-eyebrow { text-shadow: 0 0 10px rgba(255,248,240,.95), 0 0 2px rgba(255,248,240,.9); }
  .hero-carousel .promo-banner-title { color: #2e2118 !important; text-shadow: 0 0 12px rgba(255,248,240,.95), 0 0 2px rgba(255,248,240,.9) !important; }
}

/* Sconto in primo piano: sopra il velo trasparente della testata (la testata fissa ha z-index 1030) */
@media (min-width: 1200px) {
  .hero-carousel .promo-banner { z-index: 1040 !important; }
}
/* REGOLA QUI I TESTI DELLO SCONTO (desktop):
   .hero-carousel .promo-banner-eyebrow      = "OFFERTA A TEMPO"
   .hero-carousel .promo-banner-title        = "SU TUTTE LE CAMERE"
   .hero-carousel .promo-banner-badge-word   = "SCONTO" (nel tondo)
   .hero-carousel .promo-banner-badge-value  = "10%"
   .hero-carousel .promo-banner-badge-label  = "a notte"
   .hero-carousel .promo-banner-badge        = il tondo rosso (background, width, height) */

/* punta del fumetto verso il tondo (in basso) */

/* Sconto: "a notte" piu' grande e leggibile */
.hero-carousel .promo-banner-badge-label { font-size: .75rem !important; font-weight: 500; letter-spacing: .03em; }

/* ==========================================================================
   WhatsApp (05/10/2026): un solo tondo, fisso in basso a destra, da 992px in su
   (sotto c'e' "Contatti" nella barra in basso). Il fumetto "Chiedi info alla
   reception" compare all'apertura per 4 secondi (assets/js/whatsapp.js, bubbleMs).
   Il tondo nella foto della home non c'e' piu'.
   REGOLA QUI:
   - colore del tondo  -> --sonia-wa-verde / --sonia-wa-alone
   - grandezza         -> --sonia-wa-size
   - distanza dai bordi -> bottomHero (prima schermata) / bottomScroll / offsetSide in assets/js/whatsapp.js
   - fuori dalla prima schermata passa a sinistra (leftAfterHero), perche' a destra c'e' "Prenota"
   ========================================================================== */
:root { --sonia-wa-size: 60px; }

/* Logo "Sonia" uguale in tutte le testate (sito, prenotazione, menu laterale, piede, chat):
   Playfair diritto come il titolo della home (05/10/2026). Per tornare al corsivo: font-style: italic. */
.sonia-logo-s { font-style: normal !important; font-weight: 500 !important; letter-spacing: .01em; }
/* "Sonia" un po' piu' grande nelle testate (era 34px; telefono 31px). REGOLA QUI. */
#header .sonia-logo-s, .offcanvas-header .sonia-logo-s { font-size: 38px !important; }
@media (max-width: 1199.98px) { #header .sonia-logo-s { font-size: 34px !important; } }
/* WhatsApp: verde salvia tenue al posto del verde acceso (05/10/2026). REGOLA QUI. */
:root { --sonia-wa-verde: #285a35; --sonia-wa-alone: rgba(127,169,138,.22); }

/* Calendario delle date sopra la barra 1-2-3 (06/10/2026).
   Il calendario sta dentro la barra di ricerca (.check-room), che ha un suo livello
   piu' basso della barra 1-2-3 (z-index 11): alzare solo il calendario non bastava.
   Si alza la barra di ricerca a 12; resta sotto la testata fissa (1030) e lo sconto (1040). */
@media (min-width: 1200px) {
  .hero-carousel .check-room { z-index: 12 !important; }
}
.hero-carousel .check-room .datepicker { z-index: 1025 !important; }

/* ==========================================================================
   Timbro dello sconto (bozza 2a, 06/10/2026) — solo da 768px in su.
   SCONTO sulla curva in alto, A NOTTE in basso, percentuale grande al centro.
   Su telefono il timbro e' nascosto e restano le tre scritte di prima.
   REGOLA QUI:
   - grandezza del timbro    -> --sg-size
   - colore del tondo        -> --sg-rosso
   - parole sulla curva      -> .sg-parola (font-size, letter-spacing)
   - percentuale             -> .sg-valore (font-size)
   ========================================================================== */
.promo-banner-sigillo { display: none; }
@media (min-width: 1200px) {
  :root { --sg-size: 4.5rem; --sg-rosso: #e0301e; }   /* 72px: come il tondo di prima */
  .hero-carousel .promo-banner-badge {
    width: var(--sg-size) !important; height: var(--sg-size) !important; min-width: 0 !important;
    padding: 0 !important; background: transparent !important; border-radius: 50% !important;
    box-shadow: none !important; color: var(--sg-rosso) !important;
    filter: drop-shadow(0 6px 16px rgba(224,48,30,.35));
  }
  .hero-carousel .promo-banner-badge > span { display: none !important; }
  .promo-banner-sigillo { display: block; width: 100%; height: 100%; overflow: visible; }
  .promo-banner-sigillo .sg-parola { font-family: "Jost", sans-serif; font-size: 21px; font-weight: 600; letter-spacing: 3px; fill: #fff; }
  .promo-banner-sigillo .sg-valore { font-family: "Marcellus", serif; font-size: 62px; fill: #fff; }
  /* le misure di .sg-parola e .sg-valore sono in proporzione al timbro (160 = tutto il tondo) */
  /* "Offerta a tempo" piu' scuro e marcato; "Su tutte le camere" invariato */
  .hero-carousel .promo-banner-eyebrow { color: var(--ss-testo-bruno) !important; font-weight: 700 !important; }
}

/* "SU TUTTE LE CAMERE" su una riga sola accanto al timbro (06/10/2026) */
@media (min-width: 1200px) {
  .hero-carousel .promo-banner-title { white-space: nowrap; }
  .hero-carousel .promo-banner-text { flex: 0 0 auto; }
}

/* Ospite abituale in Le mie prenotazioni (06/10/2026) */
.sonia-loy-cliente { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 1.05rem; color: var(--ss-testo-bruno); }
.sonia-loy-cliente .sonia-loy-flag { padding: 4px 12px; border-radius: 999px; background: #e0301e; color: #fff; font: 600 .8rem "Jost", sans-serif; letter-spacing: .12em; text-transform: uppercase; }

/* Ospite premium (07/10/2026): coroncina sull'avatar in Dashboard e nella pastiglia */
.sonia-corona { width: 18px; height: 18px; vertical-align: -3px; margin-right: 6px; }
.sonia-corona-avatar { position: absolute; top: -14px; right: -8px; width: 34px; height: 34px; margin: 0; transform: rotate(43deg); filter: drop-shadow(0 2px 3px rgba(59,42,30,.25)); }
.sonia-premium-txt { display: block; margin-top: 2px; color: #e0301e; font: 500 1.05rem "Jost", sans-serif; letter-spacing: .02em; }
.sonia-loy-cliente .sonia-loy-flag { display: inline-flex; align-items: center; }
.sonia-loy-cliente .sonia-corona { width: 16px; height: 16px; filter: brightness(0) invert(1); }

/* ==========================================================================
   Checkout 07/10/2026
   1) Righe delle offerte nel riepilogo (Ospite premium, Tariffa non rimborsabile,
      Convenzione, Sconto): rosso mattone delle offerte, peso normale.
      Classe .sonia-offerta in page/handlers/handler_booking_checkout.php.
   2) Carrello in basso (toast "1 Camera: €65,00"), solo da computer:
      fondo var(--ss-fondo), cerchio blu #2c458a da 48px, numerino rosso piu' grande.
   ========================================================================== */
.sonia-offerta { color: #c0643f !important; font-weight: 400 !important; }
.sonia-offerta span { color: inherit !important; font-weight: 400 !important; }

@media (min-width: 1200px) {
  html body #toast-container > .toast-success {
    width: 360px !important;
    padding: 16px 36px 16px 16px !important;
    gap: 16px !important;
    background-color: var(--ss-fondo) !important;
    border-color: rgba(44, 69, 138, .14) !important;
  }
  html body #toast-container > .toast-success::before {
    flex: 0 0 48px !important; width: 48px !important; height: 48px !important;
    background-color: #2c458a !important;
    background-size: 24px 24px !important;
  }
  html body #toast-container > .toast-success .toast-title {
    top: 6px !important; left: 46px !important;
    min-width: 24px !important; height: 24px !important; padding: 0 6px !important;
    font-size: 13px !important;
    box-shadow: 0 0 0 2px var(--ss-fondo) !important;
  }
  html body #toast-container > .toast-success .toast-message { font-size: 15px !important; }
  html body #toast-container > .toast-success .toast-message a::after { background-color: #2c458a !important; }
  html body #toast-container > .toast-success .toast-progress { background-color: #2c458a !important; }
}

/* Carrello in alto nella testata (.js-cart-link, header.php e header_reservation.php):
   stesso blu #2c458a del carrello in basso, icona bianca. Tutte le larghezze. */
a.js-cart-link.bg-primary-50 {background-color: var(--ss-marrone-sec) !important;color: #fff !important;}
a.js-cart-link.bg-primary-50 i, a.js-cart-link.bg-primary-50 svg { color: #fff !important; stroke: currentColor; }
a.js-cart-link.bg-primary-50:hover { background-color: #23386f !important; }
a.js-cart-link .js-cart-badge { box-shadow: 0 0 0 2px #fff; }

/* ==========================================================================
   Home, Vicini all'ospedale (#overview) - 10/10/2026
   Mappa come nella versione precedente: immagine pulita, nessun velo/filtro,
   pulsante bianco "Apri mappa" in basso a sinistra. Sotto il testo i due
   pulsanti della vecchia scheda: "Scopri come arrivare" + "Posizione" (WhatsApp).
   ========================================================================== */
.sonia-dt-mappa { min-height: 360px; }
.sonia-dt-mappa > a:first-child img { object-fit: cover; filter: none; transition: filter .25s ease; }
.sonia-dt-mappa > a:first-child:hover img { filter: brightness(.96); }
.sonia-dt-gmaps { position: absolute; z-index: 3; display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; background: #fff; color: #2e2118 !important; text-decoration: none;
  font: 500 15px "Jost", sans-serif; box-shadow: 0 6px 18px rgba(59,42,30,.18); transition: transform .2s ease, box-shadow .2s ease; }
.sonia-dt-gmaps:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(59,42,30,.22); color: #2e2118 !important; }
.sonia-pos-pulsanti { display: flex; flex-wrap: wrap; gap: 12px; }
.sonia-pos-pulsanti .btn { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.sonia-pos-wa, .sonia-pos-wa:focus { background: var(--sonia-wa-verde, #285a35) !important; border-color: var(--sonia-wa-verde, #285a35) !important; color: #fff !important; }
.sonia-pos-wa svg { color: #fff !important; }
.sonia-pos-wa:hover { filter: brightness(.9); color: #fff !important; }
@media (max-width: 575.98px) { .sonia-pos-pulsanti .btn { flex: 1 1 100%; justify-content: center; } }

/* Legenda "Destinazione / A piedi" sopra la mappa (#overview) - 10/10/2026
   Riquadro bianco in alto a sinistra. REGOLA QUI: larghezza (width), posizione (top/left). */
.sonia-mappa-legenda { position: absolute; z-index: 3; }
.sonia-mappa-legenda .sonia-dt { width: 100%; border-collapse: collapse; margin: 0; font-family: "Jost", sans-serif; }
.sonia-mappa-legenda .sonia-dt th { font: 600 .7rem "Jost", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--ss-marrone-sec); border-bottom: 1px solid rgba(132,105,85,.35); text-align: left; }
.sonia-mappa-legenda .sonia-dt th:last-child, .sonia-mappa-legenda .sonia-dt td:last-child { text-align: right; white-space: nowrap; }
.sonia-mappa-legenda .sonia-dt td { border-bottom: 1px solid rgba(132,105,85,.12); vertical-align: middle; }
.sonia-mappa-legenda .sonia-dt tbody tr:last-child td { border-bottom: 0; }
.sonia-mappa-legenda .sonia-dt-luogo { display: flex; align-items: center; }
.sonia-mappa-legenda .sonia-dt-ico { display: inline-flex; align-items: center; justify-content: center; font: 700 .75rem "Jost", sans-serif; }
.sonia-mappa-legenda .sonia-dt-ico.is-h { background: #2c458a; color: #fff; }
.sonia-mappa-legenda .sonia-dt-tempo { font-weight: 600; }
@media (max-width: 575.98px) {
  .sonia-mappa-legenda { max-width: none; }
}

/* Legenda mappa piu' piccola (10/10/2026, 2): caratteri ridotti, meno spazio sopra e sotto */
.sonia-mappa-legenda .sonia-dt th { font-size: .62rem; padding: 0 0 .4rem; }
@media (max-width: 575.98px) {
  .sonia-mappa-legenda { top: 10px; padding: 8px 12px 2px; }
  .sonia-mappa-legenda .sonia-dt td { font-size: .78rem; padding: .28rem 0; }
}

/* Scheda #overview compatta (10/10/2026, 4): su desktop la mappa e' "staccata" dal flusso
   (assoluta dentro la sua colonna), quindi non spinge piu' l'altezza: la scheda e' alta
   quanto il testo + il suo padding. La mappa riempie la colonna (ritaglio centrato).
   REGOLA QUI: padding del testo (2.5rem 3rem). */
@media (min-width: 1200px) {
  #overview .layered-card-inner > .row > [class*="col-"]:has(.sonia-dt-mappa) { position: relative; min-height: 0; }
  #overview .sonia-dt-mappa { position: absolute !important; inset: 0; height: auto !important; min-height: 0 !important; }
  #overview .sonia-dt-mappa > a:first-child { position: absolute; inset: 0; height: 100% !important; }
  #overview .sonia-dt-mappa > a:first-child img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: 50% 55%; }
  #overview .layered-card-inner .h-100.d-flex.align-items-center { height: auto !important; }
  #overview .layered-card-inner .h-100.d-flex.align-items-center > div { padding: 3.5rem 3rem !important; margin: 0 !important; }
}

/* Camere & tariffe (#roomsSuites) - 10/10/2026, passo 1 (bozza 2a)
   Fondo crema come le altre sezioni; intestazione in scheda bianca, titolo a sinistra
   e testo a destra separati da una riga sottile. Su telefono uno sotto l'altro. */
.sonia-camere-intro { background: var(--bs-body-bg); box-shadow: var(--bs-box-shadow-sm); padding: 2.5rem 3rem;
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.3fr); gap: 3rem; align-items: center; }
.sonia-camere-intro-testo { border-left: 1px solid #e2d6c8; padding-left: 2rem; text-wrap: pretty; }
@media (max-width: 1199.98px) {
  .sonia-camere-intro { grid-template-columns: 1fr; gap: 1rem; padding: 1.75rem 1.5rem; }
  .sonia-camere-intro-testo { border-left: 0; padding-left: 0; }
}

/* Home, spazi fra le schede (10/10/2026, passo 2) - solo desktop/tablet.
   Meno vuoto fra una sezione e l'altra; l'intestazione delle camere si attacca alla
   prima camera con una leggera sfumatura (bianco -> crema). Stessa regola da usare per
   gli altri capitoli. REGOLA QUI: --sonia-sez-spazio */
@media (min-width: 1200px) {
  :root { --sonia-sez-spazio: 2.5rem; }
  #about, #overview, #roomsSuites, #pagamenti { padding-top: var(--sonia-sez-spazio) !important; padding-bottom: var(--sonia-sez-spazio) !important; }
  #about .layered-card, #overview .layered-card, #pagamenti .layered-card { margin-bottom: 2rem !important; }
  #roomsSuites .sonia-camere-intro {
    margin: 0 0 0 2rem !important; box-shadow: none;
    background: linear-gradient(180deg, var(--bs-body-bg) 0%, var(--bs-body-bg) 55%, var(--ss-riq) 100%);
    border-bottom: 1px solid rgba(132,105,85,.12);
  }
  #roomsSuites .sonia-camere-intro + .layered-card, #roomsSuites .sonia-camere-intro ~ .layered-card:first-of-type { padding-top: 0 !important; }
}

/* Schede camere in home (#roomsSuites) - 10/10/2026, passo 3
   Testo con aria a destra, descrizione piu' piccola, servizi compatti a "etichette"
   su due colonne con icona in un tondino crema, separati dalla descrizione da una riga. */
@media (min-width: 1200px) {
  #roomsSuites .layered-card-inner .card-body { height: 100%; display: flex; align-items: center; }
  #roomsSuites .layered-card-inner .card-body > div { padding: 2.5rem 3rem !important; width: 100%; }
}
/* titolo camera: carattere originale del tema (ff-sub, ls-2), solo spazi ritoccati */
#roomsSuites .card-title { padding-top: 0 !important; margin-bottom: .75rem !important; }
#roomsSuites .card-text { font-size: .98rem; line-height: 1.65; color: var(--ss-testo2); margin-bottom: 1.25rem; text-wrap: pretty; }
#roomsSuites .card-body ul.list-unstyled.row { --bs-gutter-x: .75rem; --bs-gutter-y: .5rem; margin-top: 0; padding-top: 1.1rem; border-top: 1px solid rgba(132,105,85,.15); line-height: 1.3 !important; }
#roomsSuites .card-body ul.list-unstyled.row > li { display: flex; align-items: center; gap: .6rem; font: 400 .88rem/1.3 "Jost", sans-serif; color: var(--ss-testo-bruno); }
#roomsSuites .card-body ul.list-unstyled.row > li > i {
  display: inline-flex; align-items: center; justify-content: center; margin: 0 !important;
}
#roomsSuites .card-body .mb-5.fw-medium { font-weight: 400 !important; margin-bottom: 1.5rem !important; }
@media (max-width: 575.98px) {
  #roomsSuites .card-body ul.list-unstyled.row > li { flex: 0 0 50%; max-width: 50%; font-size: .82rem; }
  #roomsSuites .card-body ul.list-unstyled.row > li > i { flex-basis: 26px; width: 26px; height: 26px; font-size: .85rem; }
}

/* Servizi camere: icone senza tondino ne' colore (10/10/2026, passo 3b) */
#roomsSuites .card-body ul.list-unstyled.row > li > i { flex: 0 0 22px !important; width: 22px !important; height: auto !important; background: none !important; color: inherit !important; border-radius: 0 !important; font-size: 1.05rem !important; }

/* Capitolo "Prenota direttamente con noi" (#pagamenti) - 10/10/2026
   Stessa intestazione di Camere & tariffe, attaccata alla scheda sotto (bianco -> crema),
   testo della scheda piu' compatto come in Posizione. */
@media (min-width: 1200px) {
  #pagamenti .sonia-camere-intro {
    margin: 0 0 0 2rem !important; box-shadow: none;
    background: linear-gradient(180deg, var(--bs-body-bg) 0%, var(--bs-body-bg) 55%, var(--ss-riq) 100%);
    border-bottom: 1px solid rgba(132,105,85,.12);
  }
}
@media (min-width: 1200px) {
  #pagamenti .layered-card-inner .h-100.d-flex.align-items-center > div { padding: 3rem !important; margin: 0 !important; }
}
#pagamenti .layered-card-inner p { text-wrap: pretty; }

/* Capitolo servizi (#facilitiesAmenities) - 10/10/2026
   Intestazione attaccata come gli altri capitoli; i sei servizi in UNA scheda bianca
   (layered-card), divisi da righe sottili, icone sobrie senza tondo pieno. */
@media (min-width: 1200px) {
  :root { --sonia-sez-spazio: 2.5rem; }
  #facilitiesAmenities { padding-top: var(--sonia-sez-spazio) !important; padding-bottom: var(--sonia-sez-spazio) !important; }
  #facilitiesAmenities .sonia-camere-intro {
    margin: 0 0 0 2rem !important; box-shadow: none;
    background: linear-gradient(180deg, var(--bs-body-bg) 0%, var(--bs-body-bg) 55%, var(--ss-riq) 100%);
    border-bottom: 1px solid rgba(132,105,85,.12);
  }
}
#facilitiesAmenities .sonia-svc-scheda { padding: 0; }
#facilitiesAmenities .svc-tiles { margin: 0; }
#facilitiesAmenities .svc-tiles > [class*="col-"] { padding: 0; border-bottom: 1px solid rgba(132,105,85,.12); }
#facilitiesAmenities .svc-tile { background: none !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; }
#facilitiesAmenities .svc-tile-icon { grid-row: 1 / span 2; margin: 0 !important; }
#facilitiesAmenities .svc-tile-icon i { color: inherit !important; }
#facilitiesAmenities .svc-tile-title { margin: 0 !important; }
#facilitiesAmenities .svc-tile-text { margin: 0 !important; color: var(--ss-testo3); }
@media (min-width: 1200px) {
  #facilitiesAmenities .svc-tiles > [class*="col-"]:nth-last-child(-n+3) { border-bottom: 0; }
}
@media (max-width: 1199.98px) {
  #facilitiesAmenities .svc-tiles > [class*="col-"]:last-child { border-bottom: 0; }
}

/* Intestazioni dei capitoli (Camere, Prenota direttamente, Servizi) - 10/10/2026
   Sfumatura orizzontale proposta da Paolo, ammorbidita: crema a sinistra (lato titolo)
   che sfuma nel bianco a destra (lato testo), piu' un velo in basso che la fonde con la
   scheda sotto. Una sola regola per tutti i capitoli.
   REGOLA QUI: --sonia-intro-crema (colore a sinistra), --sonia-intro-fine (dove diventa bianco) */
:root {--sonia-intro-crema: var(--ss-riq);--sonia-intro-fine: 70%;}
@media (min-width: 1200px) {
  #roomsSuites .sonia-camere-intro,
  #pagamenti .sonia-camere-intro,
  #facilitiesAmenities .sonia-camere-intro {
    background:
      linear-gradient(179deg, rgb(225 151 151 / 0%) 65%, rgba(255,255,255,.7) 100%),
      linear-gradient(90deg, var(--sonia-intro-crema) 3%, color-mix(in oklab, var(--sonia-intro-crema) 80%, #b89c8a) 1%, var(--bs-body-bg) var(--sonia-intro-fine)) !important; /* valori di Paolo da DevTools, 11/10/2026 */
    border-bottom: 0 !important;
  }
}

/* Titoli delle schede (non dei capitoli): stesso carattere dei nomi delle camere
   (ff-sub ls-2), cosi' il titolo del capitolo resta l'unico in ff-heading - 10/10/2026 */
/* h3 con le stesse classi dei nomi camere: misura e spaziatura vengono da theme.css (h3, .ls-2) */
.sonia-scheda-tit { padding-top: 0; }

/* Niente maiuscolo forzato (10/10/2026) SOLO nei capitoli della home sotto la foto
   (titoli, scritte piccole, nomi camere). Menu, foto in cima e pie' di pagina restano in maiuscolo.
   Per aggiungere un capitolo: mettere qui il suo id. */
#about .text-uppercase, #overview .text-uppercase, #roomsSuites .text-uppercase,
#pagamenti .text-uppercase, #facilitiesAmenities .text-uppercase { text-transform: none !important; }

/* Intestazioni dei capitoli: riga di divisione al centro (due colonne uguali) - 10/10/2026 */
@media (min-width: 1200px) {
  .sonia-camere-intro { grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; }
}

/* Servizi: schedine piu' ariose e un po' piu' grandi (10/10/2026) */
#facilitiesAmenities .svc-tile { grid-template-columns: 56px minmax(0,1fr) !important; column-gap: 1.25rem !important; row-gap: .35rem !important; }
#facilitiesAmenities .svc-tile-text { line-height: 1.5; }
@media (max-width: 1199.98px) {
  #facilitiesAmenities .svc-tile { grid-template-columns: 48px minmax(0,1fr) !important; }
  #facilitiesAmenities .svc-tile-icon { width: 48px !important; }
}

/* Titoletto sopra il titolo dei capitoli (es. "I servizi dell'Hotel Sonia"): piu' risalto,
   neretto medio e colore piu' caldo e scuro. Vale per tutte le intestazioni .sonia-camere-intro - 10/10/2026 */
.sonia-camere-intro-tit > span { font-weight: 600 !important; color: var(--ss-marrone-sec) !important; }

/* Servizi: bozza 3b (10/10/2026) - icona grande sopra senza cerchio, trattino marrone,
   titolo in minuscolo e testo centrati. Sostituisce l'impaginazione icona-a-sinistra. */
#facilitiesAmenities .svc-tile { display: flex !important; flex-direction: column; align-items: center; text-align: center !important;
  padding: 2.75rem 2.25rem 2.5rem !important; gap: .6rem; }
#facilitiesAmenities .svc-tile-icon { width: auto !important; border: 0 !important; border-radius: 0 !important;
  background: none !important; color: var(--ss-marrone) !important; font-size: 2.1rem !important; line-height: 1; }
#facilitiesAmenities .svc-tile-icon i { font-size: inherit !important; }
#facilitiesAmenities .svc-tile-title { text-transform: none !important; font-family: "Red Hat Text", sans-serif !important;
  font-weight: 600 !important; font-size: 1.06rem !important; letter-spacing: .02em !important; color: #1f1712 !important; align-self: center; }
#facilitiesAmenities .svc-tile-title::before { content: ""; display: block; width: 28px; height: 2px; background: #c9b49e; margin: .35rem auto .85rem; }
#facilitiesAmenities .svc-tile-text { max-width: 260px; font-weight: 300; font-size: .96rem !important; align-self: center; }

/* Titoletto dei capitoli in maiuscoletto (10/10/2026). Regola mirata: solo lo <span> dentro
   .sonia-camere-intro-tit, cosi' .ff-sub / .text-secondary / .ls-1 restano intatte altrove.
   Per un solo capitolo: anteporre l'id, es. #facilitiesAmenities .sonia-camere-intro-tit > span */
.sonia-camere-intro-tit > span { font-variant-caps: small-caps; font-size: 1.05rem !important; letter-spacing: .08em; }

/* Capitolo recensioni (#testimonials) - 10/10/2026, bozza 4a
   Intestazione come gli altri capitoli; recensioni in una scheda bianca, divise da righe;
   in fondo la frase sulle critiche e il link a Booking (contorno marrone, non piu' blu). */
#testimonials .sonia-camere-intro-tit > span { font-variant-caps: small-caps; }
@media (min-width: 1200px) {
  #testimonials { padding-top: var(--sonia-sez-spazio, 2.5rem) !important; padding-bottom: var(--sonia-sez-spazio, 2.5rem) !important; }
  #testimonials .sonia-camere-intro { margin: 0 0 0 2rem !important; box-shadow: none; border-bottom: 0 !important;
    background: linear-gradient(179deg, rgb(225 151 151 / 0%) 65%, rgba(255,255,255,.7) 100%),
      linear-gradient(90deg, var(--sonia-intro-crema, var(--ss-riq)) 3%, color-mix(in oklab, var(--sonia-intro-crema, var(--ss-riq)) 80%, #b89c8a) 1%, var(--bs-body-bg) var(--sonia-intro-fine, 70%)) !important; }
}
#testimonials .text-uppercase { text-transform: none !important; }
#testimonials .sonia-rev-scheda { padding: 0; }
#testimonials .testimonial-slider { margin: 0; }
.sonia-rev { display: flex; flex-direction: column; gap: 1.1rem; padding: 2.5rem 2.25rem; }
.sonia-rev-testa { display: flex; align-items: center; gap: .9rem; }
.sonia-rev-iniziale { flex: 0 0 44px; height: 44px; border-radius: 50%; background: var(--ss-riq); color: var(--ss-marrone); display: inline-flex; align-items: center; justify-content: center; font: 500 1.1rem "Cinzel", serif; }
.sonia-rev-chi { flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sonia-rev-nome { font: 600 1.05rem "Red Hat Text", sans-serif; color: #1f1712; }
.sonia-rev-da { font-size: .82rem; color: #8a7766; }
.sonia-rev-voto { flex: none; font: 600 .95rem "Red Hat Text", sans-serif; color: #fff; background: var(--sonia-btn-marrone, var(--ss-marrone)); padding: .3rem .6rem; border-radius: 6px; }
.sonia-rev-testo p { font-weight: 300; font-size: 1rem; line-height: 1.6; color: var(--ss-testo-bruno); text-wrap: pretty; }
.sonia-rev-critiche { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 2rem; align-items: center;
  padding: 1.75rem 2.25rem; border-top: 1px solid rgba(132,105,85,.15); }
.sonia-rev-critiche p { font-weight: 300; line-height: 1.6; color: var(--ss-testo2); text-wrap: pretty; }
.sonia-rev-critiche strong { font-weight: 500; color: #1f1712; }
.sonia-rev-critiche .btn { display: inline-flex; align-items: center; gap: .5rem; white-space: nowrap; }
@media (max-width: 1199.98px) {
  .sonia-rev { padding: 1.5rem 1.25rem; }
  .sonia-rev-critiche { grid-template-columns: 1fr; gap: 1rem; }
  #testimonials .splide__slide { border-right: 0; }
}

/* Riga verticale fra titolo e testo nelle intestazioni dei capitoli: un po' piu' evidente.
   Il parametro e' il colore del bordo sinistro di .sonia-camere-intro-testo (era #e2d6c8).
   REGOLA QUI: --sonia-intro-riga - 10/10/2026 */
:root { --sonia-intro-riga: #c9b49e; }
@media (min-width: 1200px) {
  .sonia-camere-intro-testo { border-left: 1px solid var(--sonia-intro-riga) !important; }
}

/* Righe divisorie DENTRO le schede (servizi, recensioni): un po' piu' evidenti.
   Erano rgba(132,105,85,.12). REGOLA QUI: --sonia-scheda-riga - 10/10/2026 */
:root { --sonia-scheda-riga: rgba(132,105,85,.24); }
#facilitiesAmenities .svc-tiles > [class*="col-"] { border-bottom-color: var(--sonia-scheda-riga) !important; }
@media (min-width: 1200px) {
  #facilitiesAmenities .svc-tiles > [class*="col-"]:not(:nth-child(3n)) { border-right: 1px solid var(--sonia-scheda-riga) !important; }
}
#testimonials .splide__slide { border-right-color: var(--sonia-scheda-riga) !important; }
.sonia-rev-critiche { border-top-color: var(--sonia-scheda-riga) !important; }

/* Recensioni: trattini dello scorrimento piu' alti e staccati dalla riga sopra "E le critiche?" - 10/10/2026 */
#testimonials .splide__pagination { position: static !important; transform: none !important; padding: .5rem 0 1.5rem !important; margin: 0 !important; }
#testimonials .splide__pagination__page { height: 5px !important; border-radius: 3px !important; }

/* Recensioni: righe verticali fra una recensione e l'altra a tutta altezza (come nella bozza 4a) - 10/10/2026 */
#testimonials .splide__list { align-items: stretch !important; }
#testimonials .splide__slide { height: auto !important; display: flex; }
#testimonials .splide__slide > .sonia-rev { flex: 1; height: auto !important; }

/* Recensioni: righe verticali piu' visibili (stesso marrone della riga nelle intestazioni) - 10/10/2026 */
#testimonials .splide__slide.is-visible:last-of-type, #testimonials .splide__slide:last-child { border-right-color: transparent !important; }

/* Legenda mappa - bozza 5a (11/10/2026): in basso a sinistra, piccola, vetro grigio come il fondo
   della mappa, senza intestazione; "Apri mappa" passa in basso a destra. */
.sonia-mappa-legenda {
  width: 240px !important; max-width: calc(100% - 32px) !important; }
.sonia-mappa-legenda .sonia-dt td { font-size: .78rem !important; padding: .22rem 0 !important; color: #2e2e2c !important; }
.sonia-mappa-legenda .sonia-dt-luogo { gap: 7px !important; }
.sonia-mappa-legenda .sonia-dt-luogo span:last-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sonia-mappa-legenda .sonia-dt-ico { flex: 0 0 16px !important; width: 16px !important; height: 16px !important; border-radius: 4px !important; font-size: .6rem !important; }
.sonia-mappa-legenda .sonia-dt-ico svg { width: 11px !important; height: 11px !important; }
.sonia-mappa-legenda .sonia-dt-ico.is-uni { background: #d9d2c7 !important; color: var(--ss-marrone-scuro) !important; }
.sonia-mappa-nota { display: block; padding-top: 3px; font-size: .66rem; color: #6a6a66; }
.sonia-dt-gmaps { padding: 8px 14px 8px 11px !important; font-size: 14px !important; }
@media (max-width: 575.98px) {
  .sonia-mappa-legenda { width: 210px !important; }
}

/* Legenda mappa (11/10/2026, 2): classica legenda attaccata all'angolo in basso a destra,
   fondo bianco pieno, niente angoli arrotondati, niente trasparenza ne' sfocatura.
   "Apri mappa" torna in basso a sinistra. */
.sonia-mappa-legenda { left: auto !important; top: auto !important; right: 0 !important; bottom: 0 !important;
  border-radius: 0 !important; background: #fff !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
  border: 0 !important; box-shadow: none !important; padding: 8px 14px 8px !important; }
.sonia-mappa-legenda .sonia-dt td { border-bottom-color: rgba(132,105,85,.14) !important; }
.sonia-dt-gmaps { right: auto !important; left: 16px !important; top: auto !important; bottom: 16px !important; }
@media (max-width: 575.98px) {
  .sonia-mappa-legenda { left: auto !important; right: 0 !important; bottom: 0 !important; }
  .sonia-dt-gmaps { left: 10px !important; right: auto !important; top: 10px !important; bottom: auto !important; }
}

/* Percentuali di sconto nei testi (Prenota direttamente): rosso tenue, stesso rosso del bollo - 11/10/2026 */
.sonia-sconto { color: #b03a2e; font-weight: 500; background: rgba(176,58,46,.08); padding: 0 .3em; border-radius: 4px; white-space: nowrap; }

/* ==========================================================================
   Footer corto (11/10/2026, bozza 6a) - footer.php e reservation/templates/default/footer_reservation.php
   Fondo caffe' scuro, logo centrato con motto, due colonne (Contatti, Utili), legali in una riga.
   Testo bianco. Spazi ridotti. REGOLA QUI: --sonia-foot-bg, --sonia-foot-testo
   ========================================================================== */
:root { --sonia-foot-bg: #2e2118; --sonia-foot-testo: #fff; --sonia-foot-tenue: rgba(255,255,255,.62); }
#footer.sonia-foot { background: var(--sonia-foot-bg) !important; color: var(--sonia-foot-testo); padding: 2.75rem 0 0; font-family: "Jost", sans-serif; }
#footer.sonia-foot a { color: var(--sonia-foot-testo); text-decoration: none; transition: color .2s; }
#footer.sonia-foot a:hover { color: #c9b49e; }
.sonia-foot-logo { display: flex; flex-direction: column; align-items: center; gap: .35rem; text-align: center; padding-bottom: 1.75rem; }
.sonia-foot-logo .sonia-logo-s { color: #fff !important; }
.sonia-foot-motto { font-weight: 300; font-size: .95rem; color: var(--sonia-foot-tenue); }
.sonia-foot-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 18rem)); justify-content: center; gap: 1.5rem 5rem; padding-bottom: 1.75rem; }
.sonia-foot-tit { font: 600 .72rem "Jost", sans-serif !important; letter-spacing: .14em; text-transform: uppercase; color: #c9b49e !important; margin: 0 0 .6rem; }
.sonia-foot-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .3rem; font-weight: 300; font-size: .95rem; line-height: 1.45; }
.sonia-foot-social { list-style: none; margin: .9rem 0 0; padding: 0; display: flex; gap: .9rem; }
.sonia-foot-legali { border-top: 1px solid rgba(255,255,255,.14); padding: .9rem 0 1.1rem; display: flex; justify-content: space-between; align-items: center; gap: .5rem 2rem; flex-wrap: wrap;
  font-weight: 300; font-size: .8rem; color: var(--sonia-foot-tenue); }
.sonia-foot-legali p { margin: 0; display: flex; flex-wrap: wrap; gap: .2rem 0; }
.sonia-foot-legali p span + span::before { content: "\00b7"; margin: 0 .55rem; opacity: .6; }
.sonia-foot-legali a { color: var(--sonia-foot-tenue) !important; }
.sonia-foot-legali .sonia-footer-links { list-style: none; margin: 0; padding: 0; display: flex; gap: 1.25rem; }
@media (max-width: 1199.98px) {
  .sonia-foot-cols { grid-template-columns: 1fr; text-align: center; gap: 1.25rem; }
  .sonia-foot-social { justify-content: center; }
  .sonia-foot-legali { flex-direction: column; text-align: center; }
  .sonia-foot-legali p { justify-content: center; }
}

/* Footer corto: vince sulla vecchia regola "Footer chiaro in modalita' giorno" (sezione 7),
   che forzava il fondo beige e il testo grigio con un selettore piu' forte - 11/10/2026 */
html #footer.sonia-foot, html:not([data-bs-theme="dark"]) #footer.sonia-foot {
  --bs-body-bg: var(--sonia-foot-bg); --bs-body-color: var(--sonia-foot-testo);
  background-color: var(--sonia-foot-bg) !important; color: var(--sonia-foot-testo) !important; border-top: 0 !important; }
html:not([data-bs-theme="dark"]) #footer.sonia-foot a, html:not([data-bs-theme="dark"]) #footer.sonia-foot li { color: var(--sonia-foot-testo) !important; }
html:not([data-bs-theme="dark"]) #footer.sonia-foot a:hover { color: #c9b49e !important; }
html:not([data-bs-theme="dark"]) #footer.sonia-foot .sonia-foot-motto,
html:not([data-bs-theme="dark"]) #footer.sonia-foot .sonia-foot-legali,
html:not([data-bs-theme="dark"]) #footer.sonia-foot .sonia-foot-legali a,
html:not([data-bs-theme="dark"]) #footer.sonia-foot .sonia-foot-legali li { color: var(--sonia-foot-tenue) !important; }
html:not([data-bs-theme="dark"]) #footer.sonia-foot .sonia-foot-tit { color: #c9b49e !important; }
#footer.sonia-foot .sonia-footer-links > li + li::before { content: none; }

/* Footer corto, come la bozza 6a (11/10/2026, 2): logo a sinistra (non centrato) e due colonne
   accanto; contatti e link in bianco pieno; riga legali un po' piu' grande. Solo CSS. */
@media (min-width: 1200px) {
  #footer.sonia-foot > .container { display: grid; column-gap: 4rem; align-items: start; }
  #footer.sonia-foot .sonia-foot-logo { align-items: flex-start; text-align: left; padding-bottom: 2rem; }
  #footer.sonia-foot .sonia-foot-cols { grid-template-columns: repeat(2, minmax(0,1fr)); justify-content: stretch; gap: 1.5rem 4rem; padding-bottom: 2rem; }
  #footer.sonia-foot .sonia-foot-legali { grid-column: 1 / -1; }
}
#footer.sonia-foot { padding-top: 3rem; }
html:not([data-bs-theme="dark"]) #footer.sonia-foot .sonia-foot-lista,
html:not([data-bs-theme="dark"]) #footer.sonia-foot .sonia-foot-lista li,
html:not([data-bs-theme="dark"]) #footer.sonia-foot .sonia-foot-lista a { color: #fff !important; opacity: 1 !important; }
#footer.sonia-foot .sonia-foot-lista { font-size: 1rem; }
#footer.sonia-foot .sonia-foot-legali { font-size: .9rem; padding: 1rem 0 1.25rem; }

/* Footer (11/10/2026, 3): colore scelto da Paolo in DevTools; spazio in fondo perche' i pulsanti
   fissi (WhatsApp a sinistra, Prenota a destra) non coprano la riga legali; motto su una riga. */
:root { --sonia-foot-bg: #756353; }
#footer.sonia-foot .sonia-foot-legali { padding-bottom: 6.5rem; }
#footer.sonia-foot .sonia-foot-motto { max-width: none; }
@media (max-width: 1199.98px) {
  #footer.sonia-foot .sonia-foot-motto { white-space: normal; }
}

/* Footer senza logo (gia' nell'header): il motto apre la prima colonna, allineato ai titoletti - 11/10/2026 */

/* Footer (11/10/2026, 4): prima colonna "Albergo Sonia" con motto e dati fiscali (CIN, P.IVA, PEC);
   la riga in fondo resta solo con (c) e Condizioni/Privacy/Cookie. Fondo piu' scuro scelto da Paolo. */
:root { --sonia-foot-bg: var(--ss-marrone-scuro); }
#footer.sonia-foot .sonia-foot-logo { padding-top: 0; gap: 0; }
#footer.sonia-foot .sonia-foot-motto { font-size: .95rem; opacity: 1; color: var(--sonia-foot-tenue) !important; white-space: normal; margin-bottom: .6rem; }
@media (min-width: 1200px) {
  #footer.sonia-foot > .container { grid-template-columns: minmax(0,1fr) minmax(0,2fr); }
}
@media (max-width: 1199.98px) { #footer.sonia-foot .sonia-foot-logo { align-items: center; text-align: center; } }

/* Ritocchi finali home desktop (11/10/2026) */
/* 1) Titoletti DENTRO le schede (Benvenuti, indirizzo, Prenota e paghi...): stessa famiglia dei titoletti
      dei capitoli (marrone, maiuscoletto) ma piu' leggeri */
.layered-card-inner span.ff-sub.text-secondary { color: var(--ss-marrone-sec) !important; font-weight: 500 !important; font-variant-caps: small-caps; letter-spacing: .06em; }
/* 3) Servizi: tutte le icone alla stessa altezza, cosi' titoli e testi restano allineati */
#facilitiesAmenities .svc-tile-icon { height: 2.75rem !important; display: flex !important; align-items: flex-end; justify-content: center; }
#facilitiesAmenities .svc-tile-icon i { line-height: 1; }
/* 4) Recensioni: righe verticali a 1px, marrone piu' scuro (stesso peso delle orizzontali) */
#testimonials .splide__slide { border-right: 1px solid #b39a82 !important; }
/* 6) "Tutte le recensioni" non finisce sotto il pulsante fisso Prenota */
@media (min-width: 1200px) { .sonia-rev-critiche { padding-right: 11rem; } }

/* ==========================================================================
   Dettaglio camera riordinato (12/10/2026) - pagina room_description.content.php
   Titolo + dati in alto, foto con miniature, schede bianche ad angoli vivi,
   tariffe e cancellazione insieme, prezzo fisso a destra.
   ========================================================================== */
#detailRoom.sd .sd-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
#detailRoom.sd .sd-title { font-size: 2.1rem; line-height: 1.15; margin: 0 0 .6rem; }
#detailRoom.sd .sd-facts {display: flex;flex-wrap: wrap;gap: .25rem .9rem;color: var(--ss-testo2);font-size: 1.1rem;font-weight: 400;}
#detailRoom.sd .sd-facts li { margin: 0; }
#detailRoom.sd .sd-facts li + li::before { content: "\00B7"; margin-right: .9rem; color: #b8a796; }

/* Galleria: foto grande + 3 miniature in colonna (solo desktop largo) */
#detailRoom.sd .sd-gal { margin-bottom: 1.75rem; }
#detailRoom.sd .room-gallery-capped { border-radius: 0; }
#detailRoom.sd .sd-thumbs { display: none; }
@media (min-width: 1200px) {
  #detailRoom.sd .sd-gal-thumbs { display: grid; }
  #detailRoom.sd .sd-thumbs { display: grid; }
}
#detailRoom.sd .sd-thumb { position: relative; padding: 0; border: 0; background: var(--ss-riq-scuro); overflow: hidden; cursor: pointer; }
#detailRoom.sd .sd-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
#detailRoom.sd .sd-thumb:hover img { transform: scale(1.04); }
#detailRoom.sd .sd-thumb-more { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(42,38,34,.45); color: #fff; font-weight: 500; letter-spacing: .04em; }

/* Schede bianche */
#detailRoom.sd .sd-card { background: #fff; padding: 2.25rem 2.5rem; margin-bottom: 1.75rem; }
#detailRoom.sd .sd-card > h2 { margin-bottom: 1.25rem; }
#detailRoom.sd .sd-desc { font-weight: 300; font-size: 1.15rem; line-height: 1.65; max-width: 48rem; text-wrap: pretty; }
#detailRoom.sd .sd-desc p:last-child { margin-bottom: 0; }
#detailRoom.sd .sd-srv { grid-template-columns: repeat(3, minmax(0,1fr)); }
#detailRoom.sd .sd-srv li { display: flex; align-items: center; gap: .6rem; margin: 0; }
#detailRoom.sd .sd-srv i { color: var(--bs-primary); }

/* Tariffe */
#detailRoom.sd .sd-rates { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1.75rem; }
#detailRoom.sd .sd-rates-1 { grid-template-columns: 1fr; }
#detailRoom.sd .sd-rate { border: 1px solid var(--ss-riq-scuro); padding: 1.5rem; }
#detailRoom.sd .sd-rate p { font-size: 1rem; line-height: 1.5; margin-bottom: .5rem; }
#detailRoom.sd .sd-rate-top { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: .75rem; }
#detailRoom.sd .sd-rate-top strong { font-size: 1.25rem; font-weight: 500; color: var(--bs-emphasis-color); }
#detailRoom.sd .sd-ok { color: #2f7a3e; }
#detailRoom.sd .sd-no { color: #8a3a2e; }
#detailRoom.sd .sd-cond { margin-top: 1.25rem; }

/* Disponibilita: legenda accanto al titolo */
#detailRoom.sd .sd-cal-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .75rem 1.5rem; margin-bottom: 1.25rem; }

/* Regole su due colonne */
#detailRoom.sd .sd-rules { display: grid; grid-template-columns: 1fr 1fr; column-gap: 2.5rem; }
#detailRoom.sd .sd-rules li { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--ss-bordo); margin: 0; }
#detailRoom.sd .sd-rules-v { text-align: right; }

/* Riquadro prezzo a destra */
#detailRoom.sd .sd-side { background: #fff; padding: 1.75rem; box-shadow: 0 10px 30px rgba(59,42,30,.08); }
#detailRoom.sd .sd-checks { border-top: 1px solid var(--ss-bordo); margin: 1rem 0 1.25rem; padding-top: 1rem; }
#detailRoom.sd .sd-checks li { display: flex; gap: .5rem; align-items: baseline; font-size: 1rem; line-height: 1.45; margin-bottom: .4rem; }
#detailRoom.sd .sd-checks i { color: var(--bs-primary); }
#detailRoom.sd .sd-checks li.sd-ok i { color: #2f7a3e; }
#detailRoom.sd .sd-back { text-decoration: none; padding: .25rem 0; color: var(--ss-marrone-sec); }
#detailRoom.sd .sd-back:hover { color: var(--ss-marrone-scuro); }
@media (max-width: 1199.98px) {
    #detailRoom.sd .sd-card { padding: 1.5rem 1rem; }
  #detailRoom.sd .sd-srv { grid-template-columns: 1fr 1fr; }
  #detailRoom.sd .sd-rates, #detailRoom.sd .sd-rules { grid-template-columns: 1fr; }
}

/* Dettaglio camera: ritocchi dopo la prima prova (12/10/2026) */
#detailRoom.sd .sd-rate-top { flex-wrap: wrap; }
#detailRoom.sd .sd-rate-top h3 { white-space: nowrap; }
@media (min-width: 1200px) { #detailRoom.sd { margin-top: -2rem; } }

/* Dettaglio camera - seconda revisione (12/10/2026) */
/* Nastro "ultima prenotazione" sulla foto, come "camere rimaste" del telefono: esce dal bordo, risvolto sotto */
#detailRoom.sd .sd-gal-main { position: relative; }
#detailRoom.sd .sd-nastro {
  position: absolute;
  top: 18px;
  left: -8px;
  z-index: 3;
  background: rgb(46 107 63 / 69%);
  color: #fff;
  font: 500 15px/1 Jost, sans-serif;
  letter-spacing: .03em;
  padding: 9px 16px 9px 18px;
  box-shadow: 0 2px 6px rgba(0,0,0,.25);
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
  max-width: calc(100% - 40px);
  }
#detailRoom.sd .sd-nastro::after { content: ""; position: absolute; left: 0; top: 100%; border-top: 7px solid rgba(28,68,40,.75); border-left: 8px solid transparent; }
/* Servizi in camera: icone in linea */
#detailRoom.sd .sd-srv { display: flex; flex-wrap: wrap; gap: .9rem 2.25rem; border-top: 0; margin-top: 0; padding-top: 0; }
#detailRoom.sd .sd-srv i { font-size: 1.5rem; }
/* Flessibile: nota di fiducia */
#detailRoom.sd .sd-wish { font-size: .95rem !important; color: var(--ss-testo3); border-top: 1px solid var(--ss-bordo); padding-top: .75rem; }
/* Calendario piu' moderno: niente griglia scura, caselle chiare arrotondate, oggi cerchiato */
#detailRoom.sd .custom-availability-calendar { gap: 2.5rem; }
#detailRoom.sd .custom-cal-month-title { font-size: 1rem; font-weight: 500; letter-spacing: .1em; margin-bottom: .5rem; }
#detailRoom.sd .custom-cal-grid { border: 0; border-radius: 0; padding: 0; background: transparent; gap: 4px; }
#detailRoom.sd .custom-cal-weekday { background: transparent; color: #8a7a6c; font-size: .72rem; font-weight: 500; letter-spacing: .08em; padding: .4rem 0; }
#detailRoom.sd .custom-cal-day { border-radius: 6px; font-size: .95rem; padding: 0; height: 2.6rem; display: flex; align-items: center; justify-content: center; }
#detailRoom.sd .custom-cal-day-empty { background: transparent; }
#detailRoom.sd .custom-cal-day-past { background: transparent; color: #c9c2b9; }
#detailRoom.sd .custom-cal-day-free { background: #eef5e8; color: #2f5d1c; }
#detailRoom.sd .custom-cal-day-partial { background: #fbeedb; color: #8a520c; box-shadow: inset 0 -3px 0 #e0a64c; }
#detailRoom.sd .custom-cal-day-full { background: #f6e1de; color: #a3362a; text-decoration: line-through; font-weight: 500; }
#detailRoom.sd .custom-cal-day-today { background: #fff; color: var(--bs-emphasis-color); box-shadow: inset 0 0 0 2px var(--bs-primary); font-weight: 600; }
/* Altre camere: scheda bianca con foto e dati */
#relatedRoom.sd-related { background: var(--ss-fondo); }
#relatedRoom .sd-rr { background: #fff; display: flex; flex-direction: column; height: calc(100% - 3rem); }
#relatedRoom .sd-rr-img { display: block; overflow: hidden; aspect-ratio: 4 / 3; }
#relatedRoom .sd-rr-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
#relatedRoom .sd-rr-img:hover img { transform: scale(1.04); }
#relatedRoom .sd-rr-body { padding: 1.25rem 1.5rem 1.5rem; display: flex; flex-direction: column; gap: .6rem; flex: 1; }
#relatedRoom .sd-rr-body h3 a { text-decoration: none; }
#relatedRoom .sd-facts { display: flex; flex-wrap: wrap; gap: .2rem .6rem; color: var(--ss-testo2); font-size: 1rem; margin: 0; }
#relatedRoom .sd-facts li + li::before { content: "\00B7"; margin-right: .6rem; color: #b8a796; }
#relatedRoom .sd-rr-foot { margin-top: auto; padding-top: .75rem; border-top: 1px solid var(--ss-bordo); display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
#relatedRoom .sd-rr-foot strong { font-size: 1.2rem; font-weight: 500; color: var(--bs-emphasis-color); }
#relatedRoom .sd-rr-link { text-decoration: none; color: var(--ss-marrone-sec); white-space: nowrap; }
#relatedRoom .sd-rr-link:hover { color: var(--ss-marrone-scuro); }

/* Dettaglio camera su telefono e tablet (12/10/2026): il riquadro Prenota sale subito sotto la foto.
   La colonna sinistra si "scioglie" (display: contents) cosi' foto, Prenota e capitoli si mettono in fila con order. */
@media (max-width: 1199.98px) {
  #detailRoom.sd > .container > .row > .col-xl-8 { display: contents; }
  #detailRoom.sd > .container > .row > .col-xl-8 > * { flex: 0 0 100%; max-width: 100%; order: 3; }
  #detailRoom.sd > .container > .row > .col-xl-8 > .sd-gal { order: 1; }
  #detailRoom.sd > .container > .row > .col-xl-4 { order: 2; }
  #detailRoom.sd .col-xl-4 > .sticky-top { position: static !important; padding-left: 0 !important; }
  #detailRoom.sd .sd-side { margin-bottom: 1.75rem; box-shadow: none; }
}
@media (max-width: 1199.98px) {
  #detailRoom.sd .sd-gal { margin-bottom: 1rem; }
  #detailRoom.sd .sd-side { padding: 1.25rem 1rem; margin-bottom: 1.25rem; }
  #detailRoom.sd .sd-checks { margin: .75rem 0 1rem; padding-top: .75rem; }
  #detailRoom.sd .sd-nastro { font-size: 12px; padding: 7px 12px 7px 14px; top: 12px; }
}

/* Dettaglio camera, telefono: niente metri quadri, dati della camera in marrone */
@media (max-width: 1199.98px) {
  #detailRoom.sd .sd-head .sd-f-area { display: none; }
  #detailRoom.sd .sd-head .sd-facts { color: var(--ss-marrone-sec); font-weight: 500; }
  #detailRoom.sd .sd-head .sd-facts li + li::before { color: #c9b29b; }
}

/* Nastro sulla foto, telefono: il risvolto non va tagliato (niente overflow hidden) */
@media (max-width: 1199.98px) {
  #detailRoom.sd .sd-nastro { overflow: visible !important; text-overflow: clip !important; white-space: normal; }
}

/* Dettaglio camera (12/10/2026): prezzo non rimborsabile a sinistra quando va a capo */
#detailRoom.sd .sd-rate-top > span, #detailRoom.sd .sd-rate-top > strong { margin-left: 0; }
/* Offerte e sconti: niente pillole, percentuale come testo pulito allineato a destra */
#detailRoom.sd #roomPricingPolicies .discount-column-title { font-size: .85rem; letter-spacing: .12em; color: var(--ss-marrone-sec); margin: 0 0 .25rem; }
#detailRoom.sd #roomPricingPolicies .discount-row { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: .7rem 0; border-top: 1px solid var(--ss-bordo); border-bottom: 0; margin: 0; }
#detailRoom.sd #roomPricingPolicies .discount-row:first-of-type { border-top: 0; }
#detailRoom.sd #roomPricingPolicies .discount-row-label { font-size: 1rem; }
#detailRoom.sd #roomPricingPolicies .discount-badge { background: none !important; color: #a3362a !important; padding: 0 !important; border-radius: 0 !important;
  font-weight: 600; font-size: 1.05rem; min-width: 0; box-shadow: none !important; white-space: nowrap; }
#detailRoom.sd #roomPricingPolicies .discount-row:not(:has(.discount-badge)) .discount-row-label { font-size: .92rem; font-style: italic; color: var(--ss-testo3); }

/* ===== Pagina Offerte (offerte.php, 13/10/2026) ===== */
.ss-off-cond { list-style: none; margin: auto 0 0; padding: 14px 0 0; border-top: 1px solid var(--ss-bordo); display: flex; flex-direction: column; gap: 6px; font-size: 15px; color: var(--ss-testo-bruno); }
.ss-off-cond li { display: flex; align-items: center; gap: 10px; }
.ss-off-cond li::before { content: ""; width: 6px; height: 6px; background: #a37b5c; flex: none; }
/* PROVVISORIO 13/10/2026: link Offerte in alto a sinistra della home (togliere con la voce nel menu) */
a.ss-banda-offerta, a.ss-banda-offerta:hover { color: inherit; text-decoration: none; }
/* Offerte 13/10/2026: foto con letto e asciugamani a destra: titolo a sinistra, sulla parte calma (tenda e pavimento) */
/* Offerte 13/10/2026 (2): niente briciole, titolo e frase in alto, foto sfumata in basso verso il fondo chiaro */
/* Offerte 13/10/2026 (3): titolo piu a sinistra, una sola frase, sfumatura tolta (la fa la foto) */
/* Offerte 13/10/2026: senza foto in alto, titolo grande come News del template */
@media (max-width: 1199.98px) {
  body.ss-offerte-pag main { padding-top: var(--ss-header-h, 64px); }
}
/* Offerte 13/10/2026 (2): struttura e classi della pagina News del template. Qui solo cio che il template non ha */
body.ss-offerte-pag main { padding-top: 0 !important; }

.ss-off-img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; }
body.ss-offerte-pag .ss-off-cond { margin: 0 0 1.25rem; padding: 0; border: 0; font-size: .95rem; }
body.ss-offerte-pag .card-link.btn { font-size: inherit; color: var(--bs-link-color, var(--ss-marrone-sec)); }
body.ss-offerte-pag .card-link.btn:hover { color: var(--bs-link-hover-color, var(--ss-marrone-scuro)); }
/* Offerte 13/10/2026 (3): come il template: spazio pt-24 della sezione, container standard, fondo grigio del template */
body.ss-offerte-pag #offerte {background-color: #f7e7c11c !important;}
[data-bs-theme="dark"] body.ss-offerte-pag #offerte, body.ss-offerte-pag[data-bs-theme="dark"] #offerte { background-color: var(--bs-tertiary-bg) !important; }
/* Offerte 13/10/2026 (4): regola d oro sotto il titolo, foto meno alte (16:10) cosi condizioni e pulsante entrano nella prima schermata */
body.ss-offerte-pag .ss-off-regola { font-size: 1.125rem; color: var(--bs-body-color); }
body.ss-offerte-pag .ss-off-img { aspect-ratio: 16 / 10; }
@media (max-width: 1199.98px) { body.ss-offerte-pag .ss-off-regola { font-size: 1rem; } }
/* Offerte 14/10/2026: sconto scritto sulla foto (cartellino), dal pannello */
body.ss-offerte-pag .card.post figure { container-type: inline-size; }
body.ss-offerte-pag .ss-off-cond li { align-items: baseline; } body.ss-offerte-pag .ss-off-cond a { text-decoration: underline; text-underline-offset: 3px; }
body.ss-offerte-pag .ss-off-nota { margin: -.5rem 0 1.25rem; font-size: .85rem; line-height: 1.5; color: var(--bs-secondary-color, var(--ss-testo3)); text-wrap: pretty; } body.ss-offerte-pag .ss-off-nota a { text-decoration: underline; text-underline-offset: 3px; }
/* Offerte 14/10/2026: regola su una riga; righe delle condizioni come testo (il grassetto non si stacca) */
body.ss-offerte-pag .ss-off-regola { max-width: none; }
body.ss-offerte-pag .ss-off-cond li { display: block; position: relative; padding-left: 16px; }
body.ss-offerte-pag .ss-off-cond li::before { position: absolute; left: 0; top: .62em; transform: none; }
/* Offerte 14/10/2026: piu evidenza allo sconto (rosso scuro, numero grande), scadenza e codice coupon */
body.ss-offerte-pag .ss-off-sconto {background: #ff0000ab;padding: 14px 18px 12px;gap: 4px;min-width: 112px;}
body.ss-offerte-pag .ss-off-sconto strong { font-size: 2.6rem !important; font-weight: 600 !important; line-height: 1; letter-spacing: -.02em; }
body.ss-offerte-pag .ss-off-sconto small { font-size: .78rem; letter-spacing: .12em; margin-top: 2px !important; }
body.ss-offerte-pag .ss-off-etichetta { color: #800000; letter-spacing: .06em; }
body.ss-offerte-pag .ss-off-scade { color: #800000; font-weight: 600; }
body.ss-offerte-pag .ss-off-codice { display: inline-block; padding: 1px 10px; margin: 0 2px; border: 1.5px dashed #800000; color: #800000; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; background: #fff8f6; user-select: all; }
@media (max-width: 1199.98px) { body.ss-offerte-pag .ss-off-sconto { padding: 10px 14px 9px; min-width: 92px; } body.ss-offerte-pag .ss-off-sconto strong { font-size: 2rem !important; } }
/* Home 14/10/2026: bollino offerta = link alla pagina Offerte */
a.promo-banner, a.promo-banner:hover { text-decoration: none; color: inherit; cursor: pointer; }
a.promo-banner .promo-banner-badge { transition: transform .25s ease; }
a.promo-banner:hover .promo-banner-badge, a.promo-banner:focus-visible .promo-banner-badge { transform: rotate(-8deg) scale(1.05); }
.promo-banner-vedi {font-weight: 400;display: block;margin-top: 4px;font-size: 16px;letter-spacing: .04em;color: #800000;opacity: .85;transition: opacity .2s ease;}
a.promo-banner:hover .promo-banner-vedi { opacity: 1; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1199.98px) { .promo-banner-vedi { display: none; } }
/* Offerte 14/10/2026: scritta sotto la percentuale ("con il codice", "a notte") piu marcata */
body.ss-offerte-pag .ss-off-sconto small { font-weight: 500; opacity: 1; }
/* Dettaglio camera 14/10/2026: spazio sopra il titolo = pt-12 come Contatti (classe nel template) */
/* Menu Camere 14/10/2026: le ancore della home (#roomsSuites, #checkRooms) non finiscono sotto la testata fissa */
#roomsSuites, #checkRooms { scroll-margin-top: var(--ss-testata, 85px); }
@media (max-width: 1199.98px) { #roomsSuites, #checkRooms { scroll-margin-top: var(--ss-testata, 72px); } }
/* Dettaglio camera 14/10/2026: fondo della pagina (colore scelto da DevTools) */
main.bg-body-tertiary:has(#detailRoom.sd) { background-color: #bdb38e14 !important; }
/* ===== Dettaglio camera, prima schermata (bozza 1b, 14/10/2026) ===== */
/* pillola "Prenotata 2 giorni fa" in basso a sinistra sulla foto */
#detailRoom.sd .sd-nastro.sd-pillola { top: auto; bottom: 14px; left: 14px; background: rgba(255,255,255,.9); color: #2e6b3f; font: 500 13px/1 Jost, sans-serif; letter-spacing: .02em;
  padding: 7px 12px; border-radius: 999px; box-shadow: 0 2px 8px rgba(0,0,0,.12); text-shadow: none; display: inline-flex; align-items: center; gap: 6px; }
#detailRoom.sd .sd-nastro.sd-pillola::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #2e6b3f; }
#detailRoom.sd .sd-nastro.sd-pillola::after { display: none; }
/* riga dell offerta nel riquadro prezzo */
#detailRoom.sd .sd-offerta { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: .9rem 0 0; padding: 10px 12px; background: #fbf3f1; border-left: 3px solid #800000; text-decoration: none; }
#detailRoom.sd .sd-offerta span { display: flex; flex-direction: column; gap: 2px; }
#detailRoom.sd .sd-offerta strong { font-weight: 600; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #800000; }
#detailRoom.sd .sd-offerta small { font-size: 14px; color: var(--ss-testo2); }
#detailRoom.sd .sd-offerta i { font-style: normal; font-size: 18px; color: #800000; transition: transform .2s; }
#detailRoom.sd .sd-offerta:hover i { transform: translateX(3px); }
@media (min-width: 1200px) {
  /* foto, 2 miniature e riquadro prezzo alla stessa altezza: tutto nella prima schermata */
  #detailRoom.sd .sd-side { display: flex; flex-direction: column; }
  #detailRoom.sd .sd-side > form { margin-top: 0; }
  #detailRoom.sd .sd-side > form:first-of-type { margin-top: auto; } /* solo Scegli le date: Torna resta subito sotto */
}
/* Dettaglio camera 14/10/2026: Offerte e sconti in gruppi brevi */
#detailRoom.sd .sd-of { display: grid; }
#detailRoom.sd .sd-of-tit { font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ss-marrone-sec); }
#detailRoom.sd .sd-of-tit small { font-weight: 400; letter-spacing: 0; text-transform: none; }
#detailRoom.sd .sd-of-riga { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
#detailRoom.sd .sd-of-riga span { display: flex; flex-direction: column; gap: 1px; color: var(--ss-testo); }
#detailRoom.sd .sd-of-riga b { font-weight: 600; color: #800000; white-space: nowrap; }
@media (max-width: 1199.98px) { #detailRoom.sd .sd-of { grid-template-columns: 1fr; gap: 1.25rem; } }
/* 14/10/2026: Offerte e sconti a schede (prima il telefono) + testi piu leggibili */
#detailRoom.sd .sd-of { grid-template-columns: 1fr; gap: 12px; }
#detailRoom.sd .sd-of-gr { background: var(--ss-fondo); border: 1px solid var(--ss-bordo); border-radius: 10px; padding: 14px 16px 6px; }
#detailRoom.sd .sd-of-tit { border-bottom: 0; padding-bottom: .35rem; font-size: .85rem; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
#detailRoom.sd .sd-of-tit small { margin-left: 0; font-size: .92rem; color: var(--ss-testo3); }
#detailRoom.sd .sd-of-riga { border-bottom: 0; border-top: 1px solid var(--ss-bordo); padding: .7rem 0; }
#detailRoom.sd .sd-of-riga span { font-size: 1.05rem; }
#detailRoom.sd .sd-of-riga small { font-size: .95rem; color: var(--ss-testo3); }
#detailRoom.sd .sd-of-riga b { font-size: 1.1rem; }
#detailRoom.sd .sd-of-osp { color: inherit; text-decoration: underline; text-decoration-color: var(--ss-bordo); text-underline-offset: 4px; }
#detailRoom.sd .sd-of-osp i { font-style: normal; color: #800000; }
#detailRoom.sd .sd-of-osp:hover { color: #800000; text-decoration-color: currentColor; }
#detailRoom.sd .sd-of-nota { margin: -.5rem 0 1rem; font-size: 1rem; color: var(--ss-testo2); }
@media (min-width: 1200px) { #detailRoom.sd .sd-of { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } #detailRoom.sd .sd-of-gr { padding: 18px 20px 8px; } }
/* Regole della struttura: carattere piu grande e scuro */
#detailRoom.sd .sd-rules li { font-size: 1.05rem; padding: .8rem 0; }
#detailRoom.sd .sd-rules-k { color: var(--ss-testo2); }
#detailRoom.sd .sd-rules-v { color: var(--ss-testo); font-weight: 500; }
/* 15/10/2026 classe .sd-prezzo: vecchio prezzo nero barrato, nuovo prezzo rosso (solo se scontato), /notte nero */
#detailRoom.sd .sd-prezzo, #detailRoom.sd .sd-prezzo .room-price-overlay-old, #detailRoom.sd .sd-prezzo .room-price-overlay-night,
#detailRoom.sd .sd-prezzo .room-price-overlay-current { color: var(--ss-testo) !important; }
#detailRoom.sd .sd-prezzo .room-price-overlay-old { text-decoration-color: var(--ss-testo); }
#detailRoom.sd .sd-prezzo.sd-prezzo-sc .room-price-overlay-current { color: #c92020 !important; }
/* 15/10/2026: Offerte e sconti in scheda chiusa (details) */
#detailRoom.sd .sd-of-sum { list-style: none; cursor: pointer; display: flex; align-items: center; flex-wrap: wrap; gap: 6px 14px; }
#detailRoom.sd .sd-of-sum::-webkit-details-marker { display: none; }
#detailRoom.sd .sd-of-cnt { font-size: 1rem; color: #800000; font-weight: 500; }
#detailRoom.sd .sd-of-ico { margin-left: auto; width: 34px; height: 34px; border: 1px solid #d9cdbf; border-radius: 50%; position: relative; flex: none; transition: transform .2s; }
#detailRoom.sd .sd-of-ico::before { content: ""; position: absolute; left: 50%; top: 45%; width: 9px; height: 9px; border-right: 2px solid #6b4f3a; border-bottom: 2px solid #6b4f3a; transform: translate(-50%,-50%) rotate(45deg); }
#detailRoom.sd .sd-of-box[open] .sd-of-ico { transform: rotate(180deg); }
#detailRoom.sd .sd-of-body { padding-top: 1.25rem; }
#detailRoom.sd .sd-of-body .sd-of-nota { margin: 0 0 1rem; }
#detailRoom.sd .sd-of-link { display: inline-block; margin-top: 1.1rem; color: #800000; font-weight: 500; text-decoration: none; }
#detailRoom.sd .sd-of-link:hover { text-decoration: underline; text-underline-offset: 3px; }
/* 15/10/2026 (cornice 1c): riquadro crema sfalsato in basso a sinistra dietro la foto grande, solo computer */
@media (min-width: 1200px) {
  #detailRoom.sd .sd-gal { padding: 0 0 26px 0; } /* il riquadro esce a sinistra senza spostare la foto */
  #detailRoom.sd .sd-gal-main { position: relative; z-index: 0; }
  #detailRoom.sd .sd-gal-main::before { content: ""; position: absolute; left: -26px; bottom: -26px; width: 70%; height: 70%; background: var(--ss-bordo); z-index: -1; pointer-events: none; }
}
/* 15/10/2026: foto e miniature nel rapporto delle foto (3:2), niente tagli. Con colonne 2:1 e 2 miniature le altezze coincidono da sole */
@media (min-width: 1200px) {
  #detailRoom.sd .sd-gal-thumbs .room-gallery-capped, #detailRoom.sd .sd-gal-thumbs .room-gallery-capped .carousel-inner,
  #detailRoom.sd .sd-gal-thumbs .room-gallery-capped .carousel-item { height: auto !important; }
  #detailRoom.sd .sd-gal-thumbs .room-gallery-capped img { height: auto !important; aspect-ratio: 3 / 2; width: 100%; object-fit: cover; }
  #detailRoom.sd .sd-thumbs img { width: 100%; height: 100% !important; object-fit: cover; }
  #detailRoom.sd .sd-side { min-height: 0; }
}
/* 15/10/2026 correzione: colonne 2:1 (prima 3:1). La foto grande 3:2 decide l altezza, le 2 miniature la dividono a meta (quasi 3:2) */
@media (min-width: 1200px) {
  #detailRoom.sd .sd-gal-thumbs { grid-template-columns: minmax(0,2fr) minmax(0,1fr) !important; gap: 12px !important; align-items: stretch; }
  #detailRoom.sd .sd-thumbs { grid-template-rows: 1fr 1fr !important; gap: 12px !important; height: auto !important; align-content: stretch; }
  #detailRoom.sd .sd-thumbs > * { aspect-ratio: auto !important; height: 100% !important; min-height: 0; }
}
/* 15/10/2026 Contatti: orario reception come targa (cornice doppia sottile, orari grandi, stato in tempo reale) */
.reception-hours-badge.rh-targa { display: inline-flex !important; flex-direction: column; align-items: center;
  background: #fff !important; border: 1px solid #cdbba6 !important; border-radius: 0 !important; box-shadow: none; outline: 1px solid #cdbba6; text-align: center !important; }
.rh-targa .rh-tit { font: 600 .74rem/1.2 Jost, sans-serif; text-transform: uppercase; color: #9a7b5f; }
.rh-targa .rh-ore { display: flex; align-items: center; font-family: "Cinzel", Georgia, serif; line-height: 1.1; color: var(--ss-testo-bruno); }
.rh-targa .rh-ore b { font-weight: 500; }
.rh-targa .rh-ore em { height: 1px; background: #9a7b5f; }
.rh-targa .rh-ore-txt { font-size: 1.15rem; }
.rh-targa .rh-stato { display: inline-flex; align-items: center; font: 500 .9rem Jost, sans-serif; }
.rh-targa .rh-stato i { border-radius: 50%; background: currentColor; }
.rh-targa .rh-stato.is-open { color: #2e6b3f; }
.rh-targa .rh-stato.is-closed { color: #8a3a2e; }
[data-bs-theme=dark] .rh-targa .rh-ore { color: var(--bs-body-color); }
@media (max-width: 1199.98px) { .reception-hours-badge.rh-targa { min-width: 0; } }
/* 15/10/2026: targa reception piu piccola (non deve toccare il modulo) */
.reception-hours-badge.rh-targa { gap: 3px; padding: 9px 18px 8px !important; min-width: 0; outline-offset: -4px; }
.rh-targa .rh-tit { font-size: .66rem; letter-spacing: .2em; }
.rh-targa .rh-ore { font-size: 1.2rem; gap: 8px; }
.rh-targa .rh-ore em { width: 14px; }
.rh-targa .rh-stato { font-size: .8rem; gap: 6px; }
.rh-targa .rh-stato i { width: 7px; height: 7px; }
.rh-targa .rh-stato.is-open i { box-shadow: 0 0 0 3px rgba(46,107,63,.15); }
@media (max-width: 1199.98px) { .reception-hours-badge.rh-targa { padding: 9px 16px 8px !important; } .rh-targa .rh-ore { font-size: 1.15rem; } }
/* 15/10/2026: targa allineata al bordo destro dei campi (rientra del margine della colonna) */
@media (min-width: 1200px) { .reception-hours-badge.rh-targa { right: calc(var(--bs-gutter-x, 1.5rem) * .5) !important; } }
/* ===== Pagina Siamo qui (dove-siamo-hotel-firenze-careggi.php, 15/10/2026) ===== */
.ss-dq-cta { margin-top: 3.5rem; background: var(--ss-bordo); padding: 30px 36px; display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.ss-dq-cta p { margin: 0; font-size: 1.35rem; font-weight: 500; color: var(--ss-testo); }
@media (max-width: 1199.98px) {
  body.ss-dq-pag main, #doveSiamo.bg-body-tertiary { background: var(--ss-fondo) !important; }
  #doveSiamo { padding-top: 18px !important; padding-bottom: 28px !important; }
  #doveSiamo h1 { font-size: 30px !important; margin-bottom: 8px !important; }
  .ss-dq-cta { margin-top: 22px; padding: 18px 16px; } .ss-dq-cta p { font-size: 18px; } .ss-dq-cta .btn { width: 100%; justify-content: center; }
}
/* 15/10/2026 Siamo qui: mappa Google al posto della foto finche non c e la foto; meno spazio in alto */
@media (min-width: 1200px) { #doveSiamo { padding-top: 3rem !important; } }
/* Siamo qui 15/10/2026: mappa della home con legenda sotto + recapiti completi */
.ss-dq-l-hotel { width: 14px; height: 14px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: #c0392b; }
.ss-dq-l-osp { width: 20px; height: 20px; border-radius: 50%; background: #c0392b; color: #fff; font-weight: 700; font-size: 15px; line-height: 1; }
.ss-dq-l-t1 { padding: 2px 6px; border-radius: 4px; background: #3a9b84; color: #fff; font-size: 12px; font-weight: 600; }
.ss-dq-l-piedi { width: 26px; height: 0; border-top: 3px dashed #3a9b84; }
/* Siamo qui 15/10/2026: mappa e riquadro alla stessa altezza; legenda dentro il riquadro */
/* ===== Ospedali vicini (ospedali-vicino-hotel-firenze-careggi.php, 15/10/2026) ===== */
.ss-os-bric { display: flex; flex-wrap: wrap; gap: 8px; font-size: 15px; color: var(--ss-testo3); margin-bottom: 10px; }
.ss-os-bric a { color: var(--ss-testo3); text-decoration: none; } .ss-os-bric a:hover { color: var(--ss-marrone-sec); }
.ss-os-lista { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.ss-os-voce { background: #fff; border: 1px solid var(--ss-bordo); padding: 22px 24px; display: grid; grid-template-columns: 110px minmax(0,1fr); grid-template-rows: auto auto; column-gap: 20px; row-gap: 12px; scroll-margin-top: 120px; }
.ss-os-dist { grid-row: 1 / 3; display: flex; flex-direction: column; gap: 4px; border-right: 1px solid var(--ss-riq); padding-right: 16px; }
.ss-os-dist b { font: 500 2rem/1 "Cinzel", Georgia, serif; color: var(--ss-testo-bruno); white-space: nowrap; }
.ss-os-dist span { font-size: .9rem; font-weight: 500; color: #9a7b5f; }
.ss-os-txt h2 { margin: 0 0 6px; font-size: 1.2rem; font-weight: 600; line-height: 1.3; color: var(--ss-testo); text-transform: none; letter-spacing: 0; }
.ss-os-txt p { margin: 0; font-size: 1.05rem; line-height: 1.5; color: var(--ss-testo2); text-wrap: pretty; }
.ss-os-perc { align-self: end; justify-self: start; color: var(--ss-marrone-sec); font-weight: 600; text-decoration: none; }
.ss-os-perc:hover { text-decoration: underline; text-underline-offset: 3px; }
.ss-os-nota { margin: 18px 0 0; font-size: 1rem; color: var(--ss-testo3); }
.ss-os-nota a { color: var(--ss-marrone-sec); font-weight: 500; }
@media (max-width: 1199.98px) { .ss-os-lista { grid-template-columns: 1fr; } }
@media (max-width: 1199.98px) {
  #ospedaliVicini { padding-top: 18px !important; padding-bottom: 28px !important; }
  #ospedaliVicini h1 { font-size: 30px !important; margin-bottom: 8px !important; }
  .ss-os-lista { gap: 10px; }
  .ss-os-voce { grid-template-columns: 84px minmax(0,1fr); padding: 14px 16px; column-gap: 14px; row-gap: 8px; }
  .ss-os-dist { padding-right: 12px; } .ss-os-dist b { font-size: 22px; } .ss-os-dist span { font-size: 13px; }
  .ss-os-txt h2 { font-size: 18px; } .ss-os-txt p { font-size: 16px; }
  .ss-os-perc { font-size: 16px; padding: 4px 0; }
}
/* ===== Siamo qui, bozza 1a (15/10/2026) ===== */
.ss-sq-hero { position: relative; height: 360px; background: #cfc2b2 center 40% / cover no-repeat; display: flex; align-items: flex-end; justify-content: center; }
.ss-sq-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(42,38,34,0) 35%, rgba(42,38,34,.62) 100%); }
.ss-sq-hero-txt { position: relative; text-align: center; color: #fff; padding: 0 16px 38px; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.ss-sq-bric { display: flex; gap: 8px; font-size: 14px; } .ss-sq-bric a, .ss-sq-bric a:hover { color: #fff; }
.ss-sq-hero h1 { margin: 0; color: #fff; font: 500 clamp(32px, 4.2vw, 54px)/1 "Cinzel", Georgia, serif; letter-spacing: .04em; text-transform: uppercase; }
.ss-sq-hero p { margin: 0; font-weight: 300; font-size: 21px; }
.ss-sq-dist { background: #fff; border-bottom: 1px solid var(--ss-bordo); display: grid; grid-template-columns: repeat(3, 1fr); }
.ss-sq-dist > div { padding: 26px 12px; display: flex; flex-direction: column; align-items: center; gap: 4px; border-left: 1px solid var(--ss-riq); text-align: center; }
.ss-sq-dist > div:first-child { border-left: 0; }
.ss-sq-dist b { font: 500 44px/1 "Cinzel", Georgia, serif; color: var(--ss-testo-bruno); }
.ss-sq-n { font-size: 17px; font-weight: 500; color: var(--ss-testo); } .ss-sq-corto { display: none; }
.ss-sq-m {font-size: 18px;color: #9a7b5f;}
.ss-sq-corpo {background: var(--ss-fondo);padding: 48px 0 64px;}
.ss-sq-mappa { margin: 0; display: flex; flex-direction: column; gap: 12px; }
.ss-sq-mappa a { display: block; overflow: hidden; } .ss-sq-mappa img { display: block; width: 100%; height: 470px; object-fit: cover; object-position: 50% 45%; transition: transform .4s; }
.ss-sq-mappa a:hover img { transform: scale(1.015); }
.ss-sq-leg { display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 15px; color: var(--ss-testo); }
.ss-sq-leg span { display: inline-flex; align-items: center; gap: 8px; } .ss-sq-leg i { font-style: normal; flex: none; display: inline-flex; align-items: center; justify-content: center; }
.ss-sq-tile { background: #fff; border: 1px solid var(--ss-bordo); padding: 16px 18px; display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--ss-testo); transition: border-color .2s; }
.ss-sq-tile:hover { border-color: #c9b39d; color: var(--ss-testo); }
.ss-sq-ico { width: 46px; height: 46px; flex: none; border-radius: 50%; background: var(--ss-riq); color: var(--ss-marrone-sec); display: flex; align-items: center; justify-content: center; font-size: 20px; }
.ss-sq-tt { display: flex; flex-direction: column; gap: 1px; flex: 1; min-width: 0; }
.ss-sq-tt span { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #9a7b5f; }
.ss-sq-tt b { font-size: 18px; font-weight: 500; color: var(--ss-testo); overflow-wrap: anywhere; }
.ss-sq-prev { margin-top: 48px; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ss-sq-pv { background: #fff; border: 1px solid var(--ss-bordo); display: grid; grid-template-columns: 200px minmax(0,1fr); text-decoration: none; color: var(--ss-testo); }
.ss-sq-pv:hover { border-color: #c9b39d; color: var(--ss-testo); }
.ss-sq-pv-foto { background: #ddd2c4 center / cover no-repeat; min-height: 170px; }
.ss-sq-pv-txt { padding: 24px 26px; display: flex; flex-direction: column; gap: 10px; }
.ss-sq-pv-txt h2 { margin: 0; font-size: 19px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ss-testo); }
.ss-sq-pv-txt p { margin: 0; font-size: 16px; line-height: 1.5; color: var(--ss-testo2); text-wrap: pretty; }
.ss-sq-pv-txt > span { font-weight: 600; color: var(--ss-marrone-sec); }
/* 24/10/2026: pagina Accedi, a cosa serve l account e "Prima volta?" */
.ss-lg-why { margin: 8px 0 0; font-size: 15px; line-height: 1.45; color: var(--ss-testo2); }
.ss-lg-first { font-size: 15px; line-height: 1.45; }
/* 24/10/2026: pagina Offerte, Copia del coupon (come le pagine ospedale) */
/* 24/10/2026: riquadro Buono a sapersi (al posto dell anteprima Ospedali vicini) */
.ss-sq-pv.ss-sq-info { grid-template-columns: minmax(0,1fr); }
.ss-sq-info-l { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.ss-sq-info-l dt { font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ss-marrone-sec); }
.ss-sq-info-l dd { margin: 2px 0 0; font-size: 15px; line-height: 1.45; color: var(--ss-testo2); }
.ss-sq-osp-l { margin: 0; }
.ss-sq-osp-l a { display: flex; align-items: center; gap: 12px; padding: 9px 0; border-top: 1px solid var(--ss-bordo); color: var(--ss-testo); text-decoration: none; }
.ss-sq-osp-l li:first-child a { border-top: 0; }
.ss-sq-osp-l b { min-width: 56px; font-weight: 600; color: var(--ss-marrone-sec); }
.ss-sq-osp-l span { flex: 1; }
.ss-sq-osp-l i { font-style: normal; color: var(--ss-marrone-sec); }
.ss-sq-osp-l a:hover span { text-decoration: underline; }
.ss-sq-corpo .ss-dq-cta { margin-top: 48px; }
@media (max-width: 1199.98px) {
  .ss-sq-hero { height: 220px; } .ss-sq-hero-txt { padding-bottom: 20px; } .ss-sq-bric { display: none; }
  .ss-sq-hero p { font-size: 16px; }
  .ss-sq-dist > div { padding: 14px 4px; gap: 2px; } .ss-sq-dist b { font-size: 24px; }
  .ss-sq-lungo, .ss-sq-m { display: none; } .ss-sq-corto { display: inline; } .ss-sq-n { font-size: 14px; }
  .ss-sq-corpo { padding: 14px 0 28px; }
  .ss-sq-mappa { margin: 0 calc(var(--bs-gutter-x, 1.5rem) * -.5); } .ss-sq-mappa img { height: 230px; }
  .ss-sq-leg { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 10px; font-size: 14px; padding: 0 calc(var(--bs-gutter-x, 1.5rem) * .5); }
  .ss-sq-tile { flex-direction: column; justify-content: center; gap: 6px; padding: 14px 8px; text-align: center; }
  .ss-sq-tt b { display: none; } .ss-sq-tt span { font-size: 15px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--ss-testo); }
  .ss-sq-ico { width: 42px; height: 42px; font-size: 18px; }
  .ss-sq-prev { margin-top: 22px; grid-template-columns: 1fr; gap: 10px; }
  .ss-sq-pv { grid-template-columns: 96px minmax(0,1fr); } .ss-sq-pv-foto { min-height: 0; }
  .ss-sq-pv-txt { padding: 14px; gap: 4px; } .ss-sq-pv-txt h2 { font-size: 15px; letter-spacing: .1em; } .ss-sq-pv-txt p { font-size: 15px; line-height: 1.4; }
  .ss-sq-corpo .ss-dq-cta { margin-top: 22px; }
}
/* Siamo qui 15/10/2026: briciole piu leggibili (velo dietro) + velo leggero su tutta la foto */
.ss-sq-bric {background: rgb(42 38 34 / 79%);padding: 5px 14px;border-radius: 999px;color: #fff !important;/* text-shadow: 0 1px 2px rgba(0,0,0,.35); */}
.ss-sq-bric a, .ss-sq-bric a:hover, .ss-sq-bric span { color: #fff !important; }
.ss-sq-hero h1, .ss-sq-hero p { text-shadow: 0 2px 10px rgba(0,0,0,.25); }
/* Siamo qui 15/10/2026: mappa e recapiti in una scheda come Benvenuti in home (layered-card), mappa ridotta di 1/3 */
@media (min-width: 1200px) {
  .ss-sq-card .layered-card-inner { padding: 0; }
  .ss-sq-card .ss-sq-mappa { position: relative; gap: 0; }
  .ss-sq-card .ss-sq-mappa a, .ss-sq-card .ss-sq-mappa img { height: 100%; } .ss-sq-card .ss-sq-mappa img { min-height: 315px; }
  .ss-sq-card .ss-sq-leg { position: absolute; left: 12px; right: 12px; bottom: 12px; background: rgba(255,255,255,.92); padding: 8px 12px; font-size: 13px; gap: 4px 16px; }
  .ss-sq-card .ss-sq-tile { border: 0; border-top: 1px solid var(--ss-riq); padding: 12px 0; }
  .ss-sq-card .ss-sq-ico { width: 40px; height: 40px; font-size: 18px; }
  .ss-sq-card .ss-sq-tt b { font-size: 17px; }
}
@media (max-width: 1199.98px) { .ss-sq-card .layered-card-inner { padding: 16px; } }
@media (max-width: 1199.98px) { .ss-sq-card { margin: 0 !important; } .ss-sq-card .layered-card-inner { padding: 0 0 12px; box-shadow: none; } .ss-sq-card::before { display: none; } }
/* Siamo qui 15/10/2026: scheda Dove siamo come Benvenuti (testo a sinistra, mappa piccola a destra) + recapiti in riga */
.ss-sq-card .layered-card-inner { padding: 0 !important; }
.ss-sq-intro { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); align-items: stretch; }
.ss-sq-intro-txt { padding: 56px 56px 48px; display: flex; flex-direction: column; justify-content: center; }
.ss-sq-intro-txt p { margin: 0 0 14px; font-size: 1.15rem; line-height: 1.7; color: var(--ss-testo2); text-wrap: pretty; }
.ss-sq-card .ss-sq-mappa { margin: 0; position: relative; gap: 0; display: block; }
.ss-sq-card .ss-sq-mappa a { display: block; height: 100%; overflow: hidden; }
.ss-sq-card .ss-sq-mappa img { width: 100%; height: 100% !important; min-height: 380px; object-fit: cover; object-position: 50% 45%; }
.ss-sq-card .ss-sq-leg { position: absolute; left: 12px; right: 12px; bottom: 12px; background: rgba(255,255,255,.93); padding: 8px 12px; font-size: 13px; gap: 4px 14px; display: flex; flex-wrap: wrap; }
.ss-sq-rec-riga { margin-top: 28px; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); }
.ss-sq-rec-riga .ss-sq-tt b { font-size: 16px; }
@media (max-width: 1199.98px) { .ss-sq-intro { grid-template-columns: 1fr; } .ss-sq-intro-txt { padding: 32px 28px; } .ss-sq-card .ss-sq-mappa img { min-height: 0; height: 320px !important; } .ss-sq-rec-riga { grid-template-columns: 1fr 1fr; } }
@media (max-width: 1199.98px) {
  .ss-sq-card .layered-card-inner { background: #fff !important; }
  .ss-sq-intro-txt { padding: 20px 16px; } .ss-sq-intro-txt p { font-size: 16px; line-height: 1.6; }
  .ss-sq-card .ss-sq-mappa img { height: 230px !important; }
  .ss-sq-card .ss-sq-leg { position: static; background: none; padding: 10px 16px 14px; display: grid; grid-template-columns: 1fr 1fr; }
  .ss-sq-rec-riga { margin-top: 14px; gap: 10px; }
  .ss-sq-rec-riga .ss-sq-tile { flex-direction: column; text-align: center; gap: 6px; padding: 14px 8px; }
  .ss-sq-rec-riga .ss-sq-tt b { display: none; }
}
/* Siamo qui 16/10/2026: grassetto del testo piu leggero */
.ss-sq-intro-txt p strong { font-weight: 400 !important; color: var(--ss-testo) !important; }
.ss-sq-intro-txt .ss-sq-puls { margin-top: 10px; }
/* Siamo qui 16/10/2026: recapiti staccati dalla scheda: fascia bianca a tutta larghezza, come la riga contatti della home */
.ss-sq-rec-riga { background: #fff; border-top: 1px solid var(--ss-bordo); border-bottom: 1px solid var(--ss-bordo); gap: 0; }
.ss-sq-rec-riga .ss-sq-tile { border: 0; border-left: 1px solid var(--ss-riq); padding: 6px 24px; background: none; }
.ss-sq-rec-riga .ss-sq-tile:first-child { border-left: 0; padding-left: 0; }
.ss-sq-rec-riga .ss-sq-tile:hover { border-color: var(--ss-riq); } .ss-sq-rec-riga .ss-sq-tile:hover b { color: var(--ss-marrone-sec); }
.ss-sq-rec-riga .ss-sq-ico { background: none; border: 1px solid #d9c9b6; width: 52px; height: 52px; font-size: 22px; }
.ss-sq-corpo .ss-sq-prev { margin-top: 0; }
@media (max-width: 1199.98px) { .ss-sq-rec-riga { row-gap: 14px; } .ss-sq-rec-riga .ss-sq-tile:nth-child(3) { border-left: 0; padding-left: 0; } }
@media (max-width: 1199.98px) { .ss-sq-rec-riga { row-gap: 6px; } .ss-sq-rec-riga .ss-sq-tile, .ss-sq-rec-riga .ss-sq-tile:first-child, .ss-sq-rec-riga .ss-sq-tile:nth-child(3) { padding: 10px 6px; border-left: 0; } .ss-sq-rec-riga .ss-sq-ico { width: 44px; height: 44px; font-size: 19px; } }
/* Siamo qui 16/10/2026: fascia recapiti, testo e icone piu grandi (computer) */
@media (min-width: 1200px) {
  .ss-sq-rec-riga { padding-top: 36px; padding-bottom: 36px; }
  .ss-sq-rec-riga .ss-sq-tile { gap: 18px; }
  .ss-sq-rec-riga .ss-sq-tt span { font-size: 14px; }
}
/* Siamo qui 16/10/2026: fascia recapiti allineata alle schede (larghezza del contenitore), testo 18px */
.ss-sq-rec-riga { margin: 72px 0 !important; padding: 30px 32px !important; border: 1px solid var(--ss-bordo); box-shadow: 0 10px 30px rgba(59,42,30,.06); }
@media (min-width: 1200px) {
  .ss-sq-rec-riga .ss-sq-tt b { font-size: 18px; }
  .ss-sq-rec-riga .ss-sq-ico { width: 60px; height: 60px; font-size: 26px; } .ss-sq-rec-riga .ss-sq-ico svg { width: 26px; height: 26px; }
}
@media (max-width: 1199.98px) { .ss-sq-rec-riga { margin: 40px 0 !important; padding: 20px !important; } }
@media (max-width: 1199.98px) { .ss-sq-rec-riga { margin: 22px 0 !important; padding: 12px 6px !important; } }
/* Home 16/10/2026: stato reception accanto all orario (riga contatti) */
.ss-rh-stato { display: flex; align-items: center; gap: 7px; font-style: normal; font-size: 14px; font-weight: 500; letter-spacing: .02em; margin-top: 2px; }
.ss-rh-stato i { width: 8px; height: 8px; border-radius: 50%; flex: none; }
.ss-rh-stato.is-on { color: var(--ss-verde); } .ss-rh-stato.is-on i { background: #2e8b57; box-shadow: 0 0 0 3px rgba(46,139,87,.18); }
.ss-rh-stato.is-off { color: #8a3a2e; } .ss-rh-stato.is-off i { background: #b3261e; box-shadow: 0 0 0 3px rgba(179,38,30,.15); }
/* 16/10/2026: stato accanto a "Reception:" sulla stessa riga */
.ss-rh-riga { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 12px; }
.featured-desc .ss-rh-stato { display: inline-flex; margin-top: 0; font-size: 14px; background: none; padding: 0; letter-spacing: .02em; }
/* 16/10/2026: lo stato non eredita il carattere grande dei numeri (.featured-desc span) */
.featured-desc small.ss-rh-riga { display: flex !important; flex-wrap: nowrap; gap: 12px; }
.featured-desc small.ss-rh-riga span.ss-rh-stato { display: inline-flex !important; align-items: center; gap: 6px; width: auto !important; margin: 0 !important;
  font-family: inherit !important; font-size: 14px !important; font-weight: 500 !important; letter-spacing: .01em !important; line-height: 1.2 !important; text-transform: none !important; white-space: nowrap; }
.featured-desc small.ss-rh-riga span.ss-rh-stato i { width: 8px; height: 8px; border-radius: 50%; flex: none; }
/* 16/10/2026: pallino in linea col testo e testo alla stessa altezza di "Reception:" */
.featured-desc small.ss-rh-riga { align-items: baseline !important; }
.featured-desc small.ss-rh-riga span.ss-rh-stato { flex-direction: row !important; position: relative; top: 0; }
.featured-desc small.ss-rh-riga span.ss-rh-stato i { position: static !important; display: inline-block !important; margin: 0 !important; transform: none !important; align-self: center; }
/* Siamo qui 16/10/2026: barra recapiti, computer: colonne a misura del contenuto (email lunga su una riga) */
@media (min-width: 1200px) {
  .ss-sq-rec-riga { grid-template-columns: auto auto minmax(max-content, 1.4fr) auto; justify-content: space-between; }
  .ss-sq-rec-riga .ss-sq-tile { padding-left: 28px; padding-right: 28px; }
  .ss-sq-rec-riga .ss-sq-tile:last-child { padding-right: 0; }
  .ss-sq-rec-riga .ss-sq-tt b { white-space: nowrap; }
}
/* ===== Ospedali vicini (hotel-vicino-ospedale-careggi-firenze.php, 16/10/2026) ===== */
.ss-ov-bric { display: flex; flex-wrap: wrap; gap: 8px; font-size: 15px; color: var(--ss-testo3); margin-bottom: 22px; }
.ss-ov-bric a { color: var(--ss-testo3); } .ss-ov-bric a:hover { color: var(--ss-marrone-sec); } .ss-ov-bric span:last-child { color: var(--ss-testo); }
.ss-ov-pag .ss-sq-intro-txt h1 { font-size: clamp(28px, 3.2vw, 44px); line-height: 1.12; margin-bottom: 18px; }
.ss-ov-pag .ss-sq-rec-riga { margin: 48px 0 !important; }
@media (max-width: 1199.98px) {
  .ss-ov-bric { font-size: 14px; margin-bottom: 12px; }
  .ss-ov-pag .ss-sq-rec-riga { margin: 22px 0 !important; }
}
/* 16/10/2026: miniature nelle schede ospedali, distanza nel riquadro scuro sulla foto (come le Offerte) */
.ss-ov-foto { position: relative; min-height: 220px; background: var(--ss-riq-scuro) center / cover no-repeat; }
@media (max-width: 1199.98px) {
  .ss-ov-foto { min-height: 170px; }
}
/* 16/10/2026: Medicina, CTO e Ulivella su tre colonne (foto sopra, testo sotto), Meyer largo sotto: niente buchi */
.ss-ov-pag .ss-dq-cta { padding-right: 110px; }
@media (max-width: 1199.98px) { .ss-ov-pag .ss-dq-cta { padding-right: 0; } }
/* 16/10/2026: tutte le schede come Careggi (foto grande + testo, larghezza piena), foto alternate destra/sinistra */
/* 16/10/2026: schede ospedali come "Benvenuti" della home: layered-card, spazio come in home, foto alternate */
.ss-ov-card { margin-top: 72px; }
.ss-ov-card .ss-sq-intro { grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); }
.ss-ov-card .ss-sq-intro > .ss-ov-foto { order: 2; margin: 0; min-height: 420px; }
.ss-ov-card .ss-sq-intro-txt h2 { font-size: clamp(24px, 2.4vw, 34px); line-height: 1.15; margin: 0 0 16px; text-transform: uppercase; }
@media (max-width: 1199.98px) {
  .ss-ov-card { margin-top: 40px; }
  .ss-ov-card .ss-sq-intro { grid-template-columns: 1fr; }
  .ss-ov-card .ss-sq-intro > .ss-ov-foto { order: 0; min-height: 0; aspect-ratio: 16 / 9; }
}
@media (max-width: 1199.98px) { .ss-ov-card { margin-top: 16px; } .ss-ov-card .ss-sq-intro-txt h2 { font-size: 21px; } }
/* Ospedali vicini 17/10/2026: scheda iniziale con la cornice anche in alto a destra (stesso colore e misura di quella in basso a sinistra) */
.ss-ov-pag .ss-sq-card:not(.ss-ov-card) { margin-top: 0.75rem; }
.ss-ov-pag .ss-sq-card:not(.ss-ov-card)::after { content: ""; position: absolute; right: 0; top: -0.75rem; width: 33.333333%; height: 100%; background-color: rgba(var(--bs-layered-card-rgb), 0.09); }
.ss-ov-pag .ss-sq-card:not(.ss-ov-card) .layered-card-inner { margin-right: 0.75rem; }
@media (min-width: 1200px) {
  .ss-ov-pag .ss-sq-card:not(.ss-ov-card) { margin-top: 2rem; }
  .ss-ov-pag .ss-sq-card:not(.ss-ov-card)::after { top: -2rem; }
  .ss-ov-pag .ss-sq-card:not(.ss-ov-card) .layered-card-inner { margin-right: 2rem; }
}
/* 17/10/2026: la cornice in alto a destra passa sotto la mappa (prima la velava) */
.ss-ov-pag .ss-sq-card:not(.ss-ov-card)::after { z-index: 0; }
.ss-ov-pag .ss-sq-card:not(.ss-ov-card) .layered-card-inner { z-index: 1; }
/* Ospedali vicini 17/10/2026: intestazione di capitolo come in home, attaccata alla prima scheda (Careggi, cornice a destra) */
/* Ospedali vicini 17/10/2026: righe sotto Careggi (etichetta sopra, dato sotto, icone in colonna) */
/* Ospedali vicini 17/10/2026: striscione familiari piu leggibile, pulsante offerte in rosso tenue */
/* Ospedali vicini 17/10/2026: proporzioni comuni tra striscione familiari, recapiti e invito finale */
.ss-ov-pag .ss-dq-cta .btn { min-width: 220px; justify-content: center; font-size: 18px; padding: 16px 26px; line-height: 1.2; }
.ss-ov-pag .ss-dq-cta { padding: 34px 48px; }
.ss-ov-pag .ss-dq-cta p { font-size: clamp(22px, 2vw, 28px); font-family: "Marcellus", serif; font-weight: 400; }
@media (max-width: 1199.98px) {
  .ss-ov-pag .ss-dq-cta { padding: 22px 18px; }
  .ss-ov-pag .ss-dq-cta .btn { width: 100%; min-width: 0; font-size: 17px; padding: 14px 18px; }
  .ss-ov-pag .ss-dq-cta p { font-size: 21px; }
}
/* Come arrivare 17/10/2026: la pagina parte dall intestazione, subito sotto le briciole */
.ss-ca-pag .ss-ca-top h1 { font-size: clamp(28px, 2.6vw, 40px); line-height: 1.1; }
/* Come arrivare 17/10/2026: spazio tra briciole e intestazione (parametro: margin-top) */
body.ss-ca-pag .ss-ov-bric { margin-bottom: 16px; }
/* Come arrivare 17/10/2026: foto piccola accanto al testo, sotto una fascia a tutta larghezza con righe e percorso */
@media (min-width: 1200px) {
  .ss-ca-card .ss-sq-intro { grid-template-columns: minmax(0, 1fr) minmax(0, 2.2fr) !important; }
  .ss-ca-card .ss-ov-foto { min-height: 260px !important; }
  .ss-ca-card .ss-sq-intro-txt { padding-bottom: 28px !important; }
}
.ss-ca-card .ss-sq-intro-txt h2 { font-size: clamp(24px, 2.1vw, 32px); }
.ss-ca-dett { border-top: 1px solid var(--ss-riq); padding: 22px 40px 26px; display: flex; flex-wrap: wrap; align-items: center; gap: 18px 40px; }
@media (max-width: 1199.98px) {
  .ss-ca-dett { padding: 16px; flex-direction: column; align-items: flex-start; gap: 14px; }
}

/* 19/10/2026: Ospedali vicini - griglia di schede stile "News" del template (foto, riquadro distanza, categoria, titolo) */
.ss-og-azioni{display:flex;flex-wrap:wrap;gap:8px 32px}
.ss-og-azioni .ss-og-link{margin-top:0}
.ss-og-azioni a{font-weight:500;font-size:16px;display:inline-flex;align-items:center;gap:8px}
.ss-og-azioni a svg{width:18px;height:18px}
.ss-og-link{font-weight:500;font-size:16px;margin-top:6px}
.ss-og-fam{margin-top:56px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}
.ss-og-fam ul{display:flex;flex-wrap:wrap;gap:8px 28px;list-style:none;margin:0;padding:0}

/* 19/10/2026: Ospedali vicini - titolo sulla foto in una banda scura (come tour-categories del template) */

/* 19/10/2026: Ospedali vicini - due link in fondo alla scheda (Dettagli e Percorso a piedi) */

/* 19/10/2026: pagina di dettaglio Ospedale Careggi (ospedale-careggi-hotel-firenze-careggi.php) */
.ss-cg-faq details{border-top:1px solid var(--ss-riq-scuro)}
.ss-cg-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:20px 0;font-size:18px;font-weight:500}
.ss-cg-faq summary::-webkit-details-marker{display:none}
.ss-cg-faq summary::after{content:'+';color:var(--bs-secondary,var(--ss-marrone-sec));font-size:22px;line-height:1}
.ss-cg-faq details[open] summary::after{content:'\2212'}
.ss-cg-faq p{margin:0 0 22px;font-size:16px;font-weight:300;line-height:1.7;max-width:760px}
.ss-cg-box{flex:1 1 300px;box-sizing:border-box;position:sticky;top:110px;background: #f7f3ee75;padding:32px 28px;display:flex;flex-direction:column}
.ss-cg-form{display:flex;flex-direction:column}
.ss-cg-date{display:grid;grid-template-columns:1fr 1fr}
.ss-cg-form label{display:flex;flex-direction:column;gap:2px;margin:0}
.ss-cg-form label span{text-transform:uppercase;opacity:.75}
.ss-cg-form input,.ss-cg-form select{border:0;padding:0;font:inherit;background:transparent;width:100%;outline:0}
.ss-cg-form .btn{width:100%;padding:14px}
@media (max-width: 1199.98px){.ss-cg-box{position:static}}
@media (max-width:575px){.ss-cg-box{padding:26px 20px}}

/* 19/10/2026: Careggi - testata come Siamo qui; titolo lungo un po piu piccolo */

/* 19/10/2026: Careggi - banda trasparente dietro titolo e frase della testata */

/* 19/10/2026: Careggi - titolo percorso piu piccolo, etichette Partenza/Arrivo, riquadro prenotazione rifinito */
.ss-cg-box{border-top: 3px solid var(--ss-bordo);gap:14px}
.ss-cg-form{gap:10px}
.ss-cg-date{border:0;gap:10px}
.ss-cg-date label+label{border-left:0}
.ss-cg-form label{padding:10px 14px}
.ss-cg-form label:focus-within{background:#fff}
.ss-cg-osp{border:0}
.ss-cg-form label span{font-size:11px;letter-spacing:.12em}
.ss-cg-form input,.ss-cg-form select{font-size:16px;color:inherit;cursor:pointer}
.ss-cg-form input::-webkit-calendar-picker-indicator{opacity:.45;cursor:pointer}
.ss-cg-form .btn{margin-top:4px}

/* 19/10/2026: Careggi - percorso a piedi come linea del tempo (cerchi con i minuti uniti da una linea tratteggiata) */

/* 19/10/2026: Careggi - titoli dei capitoli evidenziati (piu grandi, trattino marrone sotto) */
.ss-cg-faq p strong{font-weight:500;color:var(--bs-emphasis-color,#1e1a17)}

/* 19/10/2026: Careggi - titoli dei capitoli in banda sfumata (come Camere & Tariffe in home) */
#tariffe{scroll-margin-top:120px}
/* offerte: card della pagina Offerte, tutta cliccabile */
/* richiamo Tariffe pensate per te sulla foto della testata */

/* 19/10/2026: Careggi - offerte complete come nella pagina Offerte (stesse regole, dentro .ss-cg-off) */

/* 19/10/2026: Careggi - richiamo in testata: testo bianco con icone, senza pulsante */
/* tariffa di riguardo in evidenza: card larga, foto a sinistra */
/* altri ospedali vicini: una banda come quella finale di Siamo qui */
/* menu: pagina del singolo ospedale rientrata sotto Ospedali vicini */

/* 19/10/2026: Careggi - tariffa di riguardo con la cornice delle schede del dettaglio camera (fondo crema, scheda bianca, ombra leggera, niente bordo rosso) */

/* 19/10/2026: Careggi - tariffa di riguardo: scheda bianca, ombra crema solo in basso a sinistra (come layered-card) */
/* Tutte le offerte: scheda bianca */

/* 19/10/2026: Careggi - Tutte le offerte impaginata come la banda Altri ospedali vicini, su scheda bianca */

/* 19/10/2026: Careggi - Tutte le offerte: scheda bianca, solo il titolo in rosso tenue (segnale offerte) */

/* 19/10/2026: Careggi - tariffa di riguardo nella cornice predefinita (layered-card): tolte le mie cornici */
/* briciole in alto a sinistra sulla foto */
.ss-cg-bric-alto{position:absolute;left:0;right:0;top:24px;z-index:2}
.ss-cg-bric-alto .ss-sq-bric{margin:0}
/* richiamo Tariffe pensate per te: testo bianco e icona del template */
.ss-cg-bric-alto .ss-sq-bric{display:inline-flex;flex-wrap:nowrap;white-space:nowrap;max-width:100%}
@media (max-width:575px){.ss-cg-bric-alto{top:14px}.ss-cg-bric-alto .ss-sq-bric{white-space:normal;flex-wrap:wrap}}
/* 19/10/2026: Careggi - foto chiara: inquadrata su colonne e vetrate */
/* 19/10/2026: Careggi - foto 1920x819 a cielo chiaro: niente velature nere, testo leggibile con ombra */

/* 19/10/2026: Careggi - testata bozza 1a: banda trasparente in basso con titolo e frase in linea, bollino rosso sulla foto */

/* 19/10/2026: pagine ospedali - Google Maps dentro la scheda del percorso */
/* esenzione imposta di soggiorno: scheda in evidenza (verde, come le conferme del sito) */
/* riquadro prenotazione: caselle bianche con bordo, data per esteso (lun 19 ott 2026), tutta la casella apre il calendario */
.ss-cg-form label{background:#fff !important;border:1px solid var(--ss-riq-scuro) !important;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.ss-cg-form label:hover{border-color:#c9b59f !important}
.ss-cg-form label:focus-within{border-color:var(--bs-secondary,var(--ss-marrone-sec)) !important;box-shadow:0 0 0 3px rgba(138,106,79,.12)}
.ss-cg-dl{position:relative;padding-right:40px !important}
.ss-cg-dl .ss-cg-dtxt{display:block;font-weight:500;font-size:16px;color:#1e1a17;text-transform:capitalize;white-space:nowrap}
.ss-cg-dl .hicon{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--bs-secondary,var(--ss-marrone-sec))}
.ss-cg-dl input[type=date]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}

/* 19/10/2026: pagine ospedali - richiamo coupon nel riquadro, gemello di quello dell esenzione (rosso scuro delle offerte) */

/* 19/10/2026: menu Siamo qui a capitoli (Dove siamo / Hotel vicino agli ospedali), piu stretto del mega menu Scopri come */
@media (min-width:1200px){.dropdown-menu.mega-menu.ss-menu-siamo{width:620px;min-width:620px;left:50%;transform:translateX(-50%)}}

/* 19/10/2026: pagine ospedali - nome dell albergo sopra il titolo, nella banda */

/* 19/10/2026: pagine ospedali - banda piu bassa: nome albergo, titolo, frase e Tariffe pensate per te in una riga; banda sopra eventuali velature */

/* 19/10/2026: pagine ospedali - prima riga: nome albergo · frase; seconda riga: titolo e Tariffe pensate per te */

/* 19/10/2026: striscia distanze - unita per esteso accanto al numero */
.ss-sq-dist b small{color:var(--bs-secondary,var(--ss-marrone-sec));font-weight:500}
/* 19/10/2026: striscia distanze - unita piu vicina al numero, carattere del testo */
.ss-sq-dist b small{font-family:'Jost',sans-serif !important;letter-spacing:.02em !important;margin-left: -9px !important;font-size: .37em !important;text-transform:lowercase !important;vertical-align:baseline !important}

.ss-sq-dist em:empty,.ss-sq-dist span:empty{display:none}

/* 19/10/2026: Ospedali vicini - frase sotto il titolo come sottotitolo del template ("Welcome to"): Red Hat Text, maiuscolo, ls-1, marrone */

/* 19/10/2026: Ospedali vicini - riquadro "Per i familiari dei degenti" con lo stile della barra "Dormi a pochi passi" di Siamo qui */
.ss-og-fam{background:var(--ss-bordo);padding:30px 36px;gap:16px 24px}
.ss-og-fam h2{font-family:"Jost",sans-serif !important;font-size:1.35rem;font-weight:500;text-transform:none;letter-spacing:0;color:var(--ss-testo);margin:0 0 8px}
.ss-og-fam ul{font-size:16px;color:#5b4f45}
.ss-og-fam .btn{white-space:nowrap}
@media (max-width:575px){.ss-og-fam{padding:18px 16px}.ss-og-fam h2{font-size:18px}.ss-og-fam .btn{width:100%;justify-content:center}}

/* 19/10/2026: pagina Come arrivare - nuovo design (classi ss-ca-*) */
.ss-ca-hero{background:#cfc2b2 center 55%/cover no-repeat;display:flex;align-items:flex-end}
.ss-ca-banda{width:100%}
.ss-ca-banda .container{flex-wrap:wrap;gap:4px 22px}
.ss-ca-brand{flex:0 0 100%;letter-spacing:.18em}
.ss-ca-banda h1{font-size:clamp(30px,3.4vw,48px);margin:0;line-height:1.05}
.ss-ca-banda p{margin:0;font-size:18px;font-weight:300}
.ss-ca-dist .container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.ss-ca-dist .container > div{text-align:center;display:flex}
.ss-ca-dist .container > div + div{border-left:1px solid var(--ss-bordo)}
.ss-ca-dist b{font-family:"Cinzel",serif;font-weight:400}
.ss-ca-corpo{padding:28px 0 72px}
.ss-ca-scegli{margin:22px 0 48px}
.ss-ca-scegli h2,.ss-ca-modo h2{margin:0}
.ss-ca-scegli > h2{font-size:22px;margin-bottom:18px;color:var(--bs-emphasis-color,#1e1a17)}
.ss-ca-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.ss-ca-tile{display:flex;flex-direction:column;background:#fff;text-decoration:none;color:inherit;box-shadow:-6px 6px 0 var(--ss-bordo);transition:transform .2s,box-shadow .2s}
.ss-ca-tile:hover{transform:translateY(-2px);box-shadow:-8px 8px 0 #e3d6c6;color:inherit}
.ss-ca-tile-f{aspect-ratio:4/3;background:var(--ss-riq-scuro) center/cover no-repeat}
.ss-ca-tile-t{padding:12px 14px 14px;display:flex;flex-direction:column;gap:2px}
.ss-ca-tile-t b{font-family:"Cinzel",serif;font-weight:400;font-size:22px;line-height:1.1;color:var(--ss-testo-bruno)}
.ss-ca-tile-t em{font-style:normal;font-size:13px;color:var(--bs-secondary,var(--ss-marrone-sec))}
.ss-ca-tile-t span{font-size:15px;line-height:1.3;margin-top:4px;color:var(--ss-testo);text-wrap:pretty}
.ss-ca-ev .ss-ca-tile-t{background:var(--ss-marrone-sec)}
.ss-ca-ev .ss-ca-tile-t b,.ss-ca-ev .ss-ca-tile-t em,.ss-ca-ev .ss-ca-tile-t span{color:#fff}
.ss-ca-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start}
.ss-ca-main{display:flex;flex-direction:column;gap:22px}
.ss-ca-modo{background:#fff;padding:30px 34px;scroll-margin-top:120px;display:flex;flex-direction:column;gap:18px}
.ss-ca-modo header{display:flex;gap:22px;align-items:flex-start}
.ss-ca-modo header p{margin:6px 0 0;font-size:17px;font-weight:300;text-wrap:pretty}
.ss-ca-modo h2{font-size:clamp(20px,1.8vw,26px)}
.ss-ca-tempo{flex:0 0 112px;background:var(--ss-bordo);padding:12px 10px;text-align:center;display:flex;flex-direction:column;gap:2px}
.ss-ca-tempo span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--bs-secondary,var(--ss-marrone-sec));font-weight:600}
.ss-ca-tempo b{font-family:"Cinzel",serif;font-weight:400;font-size:26px;line-height:1.1;color:var(--ss-testo-bruno)}
.ss-ca-tempo em{font-style:normal;font-size:13px;color:#5b4f45}
.ss-ca-passi{list-style:none;margin:0;padding:0;counter-reset:p;display:flex;flex-direction:column}
.ss-ca-passi li{counter-increment:p;position:relative;padding:0 0 16px 46px;font-size:16px;line-height:1.5;text-wrap:pretty}
.ss-ca-passi li::before{content:counter(p);position:absolute;left:0;top:-2px;width:30px;height:30px;border-radius:50%;background:var(--ss-marrone-sec);color:#fff;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center}
.ss-ca-passi li::after{content:"";position:absolute;left:14px;top:30px;bottom:2px;width:2px;background:#e3d6c6}
.ss-ca-passi li:last-child{padding-bottom:0}
.ss-ca-passi li:last-child::after{display:none}
.ss-ca-info{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 24px;border-top:1px solid var(--ss-bordo);padding-top:16px}
.ss-ca-info dt{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--bs-secondary,var(--ss-marrone-sec));font-weight:600}
.ss-ca-info dd{margin:2px 0 0;font-size:15px;line-height:1.45}
.ss-ca-side{position:sticky;top:120px}
.ss-ca-box{background:#fff;padding:26px 26px 24px;box-shadow:-8px 8px 0 var(--ss-bordo);display:flex;flex-direction:column;gap:12px}
.ss-ca-box > span{font-size:13px;color:var(--bs-secondary,var(--ss-marrone-sec))}
.ss-ca-ind{font-family:"Cinzel",serif;font-weight:400;line-height:1.25;color:#1e1a17}
.ss-ca-box p{margin:0;font-size:15px;line-height:1.5}
.ss-ca-az{display:flex;flex-direction:column;gap:8px}
.ss-ca-az .btn{justify-content:center;width:100%}
.ss-ca-cont{list-style:none;margin:4px 0 0;padding:12px 0 0;border-top:1px solid var(--ss-bordo);display:flex;flex-direction:column;gap:8px;font-size:15px}
.ss-ca-cont li{display:flex;align-items:center;gap:10px}
.ss-ca-cont .hicon,.ss-ca-cont svg{color:var(--bs-secondary,var(--ss-marrone-sec));font-size:18px;flex:none}
.ss-ca-rec{background:#eef6f0;padding:10px 12px;font-size:14px !important}
.ss-ca-pag .ss-og-fam{margin-top:48px}
@media (max-width: 1199.98px){.ss-ca-grid{grid-template-columns:1fr}.ss-ca-side{position:static;order:-1}}
@media (max-width:575px){.ss-ca-hero{height:240px}.ss-ca-banda p{font-size:15px}.ss-ca-dist .container{grid-template-columns:1fr}.ss-ca-dist .container > div + div{border-left:0;border-top:1px solid var(--ss-bordo)}.ss-ca-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ss-ca-modo{padding:22px 18px}.ss-ca-modo header{flex-direction:column;gap:12px}.ss-ca-tempo{flex:none;display:inline-flex;flex-direction:row;align-items:baseline;gap:8px;padding:8px 12px}}

/* 19/10/2026: Come arrivare - testata con il disegno dello skyline (fondo bianco): niente banda scura, titolo scuro sotto il disegno */
.ss-ca-hero{height:auto;min-height:0;background-color:#fff;background-size:auto 260px;background-position:center 28px;padding-top:270px;border-bottom:1px solid var(--ss-bordo)}
.ss-ca-banda{background:none;color:#1e1a17;padding:0 0 26px}
.ss-ca-banda .container{justify-content:center}
.ss-ca-brand{color:var(--bs-secondary,var(--ss-marrone-sec))}
.ss-ca-banda h1{color:#1e1a17}
.ss-ca-banda p{color:#5b4f45;flex:0 0 100%}
@media (max-width: 1199.98px){.ss-ca-hero{background-size:92% auto;background-position:center 18px;padding-top:calc(33vw + 26px)}}

/* 19/10/2026: Come arrivare - striscia 20 min / 35 min / A1 colorata come la fascia 1-2-3 della home */
.ss-ca-dist{background: #efe7dca1;border-bottom:0}
.ss-ca-dist .container > div + div{border-left-color:#ddd0c0}
.ss-ca-dist b{color:var(--ss-marrone-sec)}
.ss-ca-dist span{color:var(--ss-testo);font-weight:500}
@media (max-width:575px){.ss-ca-dist .container > div + div{border-top-color:#ddd0c0}}

/* 19/10/2026: Come arrivare - striscia stretta come la fascia 1-2-3 della home: numero e testo sulla stessa riga, centrati */
.ss-ca-dist .container > div{flex-direction:row;align-items:center;justify-content:center;gap:14px;padding:14px 16px}
.ss-ca-dist b{font-size:34px;line-height:1;white-space:nowrap}
.ss-ca-dist span{font-size:18px;line-height:1.25;text-align:left}
@media (max-width:575px){.ss-ca-dist .container > div{padding:10px 14px;justify-content:flex-start}.ss-ca-dist b{font-size:26px;min-width:86px}.ss-ca-dist span{font-size:15px}}

/* 19/10/2026: Come arrivare - briciole in alto a sinistra sulla testata, come le pagine degli ospedali */
.ss-ca-hero .ss-cg-bric-alto{position:absolute;left:0;right:0;top:24px;z-index:2}
.ss-ca-scegli{margin-top:8px}
@media (max-width:575px){.ss-ca-hero .ss-cg-bric-alto{top:10px}.ss-ca-hero .ss-sq-bric{display:inline-flex;font-size:12px}}

/* 19/10/2026: Come arrivare - prima schermata come la home: testata a tutto schermo con la striscia in basso, nient altro */
.ss-ca-primo{display:flex;flex-direction:column}
.ss-ca-primo .ss-ca-hero{padding-top:0;flex-direction:column;align-items:stretch;background-size:min(1180px,84vw) auto;background-position:center 34%;border-bottom:0}
.ss-ca-primo .ss-ca-dist{flex:0 0 auto}
/* titoletti in bronzo */
.ss-ca-brand,.ss-ca-scegli > h2,.ss-ca-box > span{color:#a5713f !important}
.ss-ca-brand{font-weight:600}
@media (max-width: 1199.98px){.ss-ca-primo .ss-ca-hero{min-height:300px;background-size:94% auto;background-position:center 30%;padding-top:0}}

/* 19/10/2026: Come arrivare - skyline come immagine a misura fissa sopra il titolo, gruppo centrato nella prima schermata; testo alla misura di prima */
.ss-ca-primo .ss-ca-hero{background:#fff;justify-content:center}
.ss-ca-primo .ss-ca-banda{padding:0}
.ss-ca-sky{display:block;flex:0 0 100%;width:auto;max-width:100%;object-fit:contain}
.ss-ca-primo .ss-ca-banda h1{font-size:clamp(30px,3.4vw,48px)}
.ss-ca-primo .ss-ca-banda p{font-size:18px}
.ss-ca-brand{font-size:13px}
@media (max-width: 1199.98px){.ss-ca-primo .ss-ca-hero{padding:56px 0 24px}.ss-ca-sky{width:100%}.ss-ca-primo .ss-ca-banda p{font-size:15px}}

/* 19/10/2026: Come arrivare - prima schermata sempre intera (striscia in basso visibile).
   PARAMETRI: --ca-sky = altezza massima dello skyline; --ca-su = spazio sopra (sotto le briciole); --ca-giu = spazio sotto il testo;
   per alzare il gruppo del testo aumenta --ca-giu o diminuisci --ca-su */
.ss-ca-primo{--ca-sky:240px;--ca-su:64px;--ca-giu:28px;height:calc(100vh - var(--ss-hh,96px));height:calc(100svh - var(--ss-hh,96px));min-height:440px}
.ss-ca-primo .ss-ca-hero{flex:1 1 0;min-height:0;padding:var(--ca-su) 0 var(--ca-giu);overflow:hidden}
.ss-ca-sky{height:min(var(--ca-sky),32vh)}
@media (max-height:700px){.ss-ca-primo{--ca-su:56px;--ca-giu:18px}.ss-ca-primo .ss-ca-banda h1{font-size:clamp(28px,3vw,40px)}}
@media (max-width: 1199.98px){.ss-ca-primo{height:auto;min-height:calc(100svh - var(--ss-hh,70px))}.ss-ca-sky{height:auto;margin-top:0}}

/* 19/10/2026: Come arrivare - schede delle partenze (bozza 2a): senza cornici, fondo crema, passaggi in orizzontale, dissolvenza */
.ss-ca-lista{display:flex;flex-direction:column}
.ss-ca-sch{display:flex;flex-direction:column;scroll-margin-top:120px}
.ss-ca-sch header{justify-content:space-between;align-items:flex-end;gap:16px 32px;flex-wrap:wrap}
.ss-ca-sch-t{display:flex;flex-direction:column}
.ss-ca-sch-e{font-family:"Red Hat Text",sans-serif !important;font-weight:600;font-size:13px;letter-spacing:.14em;color:#a5713f}
.ss-ca-sch h2{margin:0;line-height:1.1}
.ss-ca-sch-t p{margin:0;font-weight:300;text-wrap:pretty}
.ss-ca-sch-l{flex-wrap:wrap}
.ss-ca-oriz{list-style:none;margin:0;padding:0;counter-reset:p;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:24px;position:relative}
.ss-ca-oriz::before{content:"";position:absolute;left:18px;right:18px;top:17px;height:2px}
.ss-ca-oriz li{counter-increment:p;position:relative;flex-direction:column;gap:14px;text-wrap:pretty}
.ss-ca-oriz li::before{content:counter(p);width:36px;height:36px;border-radius:50%;background:var(--ss-marrone-sec);color:#fff;font-weight:600;font-size:15px;display:flex;align-items:center;justify-content:center}
.ss-ca-righe{margin:0;display:flex;flex-wrap:wrap;gap:10px 44px;padding-top:20px;border-top:1px solid var(--ss-bordo);font-size:16px}
.ss-ca-righe > div{display:flex;gap:10px;align-items:baseline}
.ss-ca-righe dt{font-family:"Red Hat Text",sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#a5713f;font-weight:600;white-space:nowrap}
.ss-ca-righe dd{margin:0}
.ss-ca-fondo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:24px 40px;align-items:start;border-top:1px solid var(--ss-bordo);border-bottom:1px solid var(--ss-bordo)}
.ss-ca-fondo span{display:block;font-family:"Red Hat Text",sans-serif !important;font-size:12px;letter-spacing:.12em;font-weight:600;color:#a5713f;margin-bottom:6px}
.ss-ca-fondo b{display:block;font-weight:500;font-size:17px}
.ss-ca-fondo p{margin:4px 0 0;font-size:15px;line-height:1.5}
.ss-ca-fondo-az{align-self:center}
.ss-ca-fade{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.ss-ca-fade.is-in{opacity:1;transform:none}
.ss-ca-fade .ss-ca-oriz li{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.ss-ca-fade.is-in .ss-ca-oriz li{opacity:1;transform:none}
.ss-ca-fade.is-in .ss-ca-oriz li:nth-child(1){transition-delay:.2s}.ss-ca-fade.is-in .ss-ca-oriz li:nth-child(2){transition-delay:.3s}.ss-ca-fade.is-in .ss-ca-oriz li:nth-child(3){transition-delay:.4s}.ss-ca-fade.is-in .ss-ca-oriz li:nth-child(4){transition-delay:.5s}
@media (prefers-reduced-motion:reduce){.ss-ca-fade,.ss-ca-fade .ss-ca-oriz li{opacity:1;transform:none;transition:none}}
@media (max-width: 1199.98px){.ss-ca-fondo{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 1199.98px){.ss-ca-oriz{grid-template-columns:1fr;gap:14px}.ss-ca-oriz::before{left:17px;right:auto;top:18px;bottom:18px;width:2px;height:auto}.ss-ca-oriz li{flex-direction:row;align-items:flex-start;gap:14px;font-size:16px}.ss-ca-oriz li::before{flex:none}.ss-ca-fondo{grid-template-columns:1fr}}

/* 19/10/2026: Come arrivare - schede piu strette ed eleganti; testo dei passaggi senza a capo inutili; pulsanti in fondo sempre allineati */
.ss-ca-lista,.ss-ca-fondo{max-width:1080px;margin-left:auto;margin-right:auto}
.ss-ca-sch{gap:30px;position:relative}
.ss-ca-sch::before{content:"";position:absolute;left:56px;top:0;width:56px;height:3px;background:#a5713f}
.ss-ca-sch header{display:block}
.ss-ca-sch-t{max-width:none;gap:10px}
.ss-ca-sch h2{font-size:clamp(24px,2.1vw,30px);letter-spacing:.01em}
.ss-ca-sch-t p{font-size:17px;color:var(--ss-testo2)}
.ss-ca-oriz li{display:block;padding-top:54px;font-size:16px;line-height:1.55;color:var(--ss-testo)}
.ss-ca-oriz li::before{position:absolute;left:0;top:0}
.ss-ca-oriz li strong{font-weight:600;color:#1e1a17}
.ss-ca-sch-f{display:flex;justify-content:space-between;align-items:center;gap:16px 32px;flex-wrap:wrap;padding-top:22px;border-top:1px solid var(--ss-bordo);min-height:48px}
.ss-ca-sch-f .ss-ca-righe{padding-top:0;border-top:0;flex:1 1 420px;flex-direction:column;gap:6px;font-size:15px}
.ss-ca-sch-l{display:flex;gap:12px;flex:0 0 auto;margin-left:auto}
.ss-ca-sch-l .btn{font-weight: 500;min-width:200px;justify-content:center;padding:10px 18px;font-size: 17px;}
@media (max-width: 1199.98px){.ss-ca-sch::before{left:20px}.ss-ca-oriz li{padding-top:0;padding-left:50px}.ss-ca-oriz li::before{top:-4px}.ss-ca-sch-l{width:100%;flex-direction:column}.ss-ca-sch-l .btn{width:100%;min-width:0}}

/* 19/10/2026: Come arrivare - gruppo skyline + titolo piu in alto.
   PARAMETRI (qui sotto): --ca-su spazio sopra (piu piccolo = gruppo piu in alto); --ca-giu spazio sotto la frase (piu grande = gruppo piu in alto);
   --ca-sky-tg taglio del bianco sopra e sotto il disegno (negativo = disegno piu vicino al titolo) */
.ss-ca-primo{--ca-su:20px;--ca-giu:80px;--ca-sky-tg:-28px}
.ss-ca-sky{margin:var(--ca-sky-tg) auto calc(var(--ca-sky-tg) + 14px)}
@media (max-width: 1199.98px){.ss-ca-primo{--ca-su:48px;--ca-giu:28px;--ca-sky-tg:-8px}}

/* 19/10/2026: Come arrivare - titoletto dei passaggi */
.ss-ca-oriz .ss-ca-pt{display:block;font-family:"Cinzel",serif;font-weight:500;font-size:17px;line-height:1.3;color:#1e1a17;margin-bottom:6px;text-transform:uppercase;letter-spacing:.02em}
.ss-ca-oriz li > span{display:block;color:var(--ss-testo2)}

/* 19/10/2026: pagine Scopri di piu (motore scopri-pagina.inc.php) - indice, punti a griglia, domande */
.ss-sp-indice{display:flex;flex-wrap:wrap;gap:10px 28px;padding:0 0 24px;margin-bottom:8px}
.ss-sp-indice a{font-family:"Red Hat Text",sans-serif;font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#a5713f}
.ss-sp-indice a:hover{color:var(--ss-marrone-scuro)}
.ss-ca-sch[id]{scroll-margin-top:calc(var(--ss-hh,100px) + 20px)}
.ss-sp-punti{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px 32px}
.ss-sp-punti li{display:flex;flex-direction:column;gap:6px;padding-top:14px;border-top:2px solid #e3d6c6;font-size:17px;line-height:1.5}
.ss-sp-punti b{font-weight:500;color:var(--ss-testo)}
.ss-sp-faq{display:flex;flex-direction:column}
.ss-sp-faq details{border-bottom:1px solid var(--ss-bordo);padding:16px 0}
.ss-sp-faq summary{cursor:pointer;font-size:18px;font-weight:500;color:var(--ss-testo);list-style:none;display:flex;justify-content:space-between;gap:16px}
.ss-sp-faq summary::-webkit-details-marker{display:none}
.ss-sp-faq summary::after{content:"+";color:var(--ss-marrone-sec);font-size:22px;line-height:1}
.ss-sp-faq details[open] summary::after{content:"\2013"}
.ss-sp-faq p{margin:10px 0 0;font-size:17px;line-height:1.55}

/* 19/10/2026: Come arrivare e pagine Scopri di piu - schede bianche con ombra in basso a sinistra (come la scheda Benvenuti della home), su fondo avorio, ben distanziate */
.ss-ca-corpo{background: #f3ece22b !important;padding-bottom:72px}
.ss-ca-corpo .ss-ca-sch,.ss-ca-corpo .ss-ca-fondo{background:#fff !important}
.ss-ca-lista{margin-top:0}
.ss-ca-sch{background:#fff !important;padding:52px 56px 44px;box-shadow:-18px 18px 40px -18px rgba(60,40,25,.22),-4px 4px 12px -6px rgba(60,40,25,.10);border:0}
.ss-ca-sch::before{display:none !important}
.ss-ca-sch .ss-ca-righe,.ss-ca-sch .ss-ca-sch-f{border-top-color:var(--ss-bordo)}
.ss-ca-oriz::before{background:var(--ss-bordo)}
.ss-ca-fondo{margin-top:64px;background:#fff;padding:32px 40px;border:0;box-shadow:-18px 18px 40px -18px rgba(60,40,25,.18)}
.ss-sp-indice{border-bottom:0;padding-bottom:12px}
.ss-ca-corpo .ss-og-fam{margin-top:56px}
@media (max-width: 1199.98px){.ss-ca-corpo{padding-bottom:44px}.ss-ca-sch{padding:28px 22px 26px;box-shadow:-10px 10px 24px -12px rgba(60,40,25,.22)}.ss-ca-fondo{padding:24px 20px;margin-top:40px}}

/* 19/10/2026: Come arrivare e Scopri di piu - cornice crema scuro dietro le schede, alternata in alto a sinistra e in alto a destra (come Benvenuti della home) */
.ss-ca-lista{position:relative;z-index:0}
.ss-ca-lista > .ss-ca-sch{position:relative}
.ss-ca-lista > .ss-ca-sch::after{content:"";position:absolute;z-index:-1;top:-28px;left:-28px;width:42%;height:62%;background:var(--ss-riq-scuro);pointer-events:none}
.ss-ca-lista > .ss-ca-sch:nth-child(even)::after{left:auto;right:-28px}
.ss-ca-lista{gap:72px}
@media (max-width: 1199.98px){.ss-ca-lista > .ss-ca-sch::after{top:-14px;left:-10px;width:55%;height:45%}.ss-ca-lista > .ss-ca-sch:nth-child(even)::after{left:auto;right:-10px}.ss-ca-lista{gap:44px}}
/* 19/10/2026: la cornice compare solo dopo la scheda (durante la dissolvenza la scheda le starebbe sotto) */
.ss-ca-lista > .ss-ca-fade::after{opacity:0;transition:opacity .5s ease}
.ss-ca-lista > .ss-ca-fade.is-in::after{opacity:1;transition-delay:.75s}
@media (prefers-reduced-motion:reduce){.ss-ca-lista > .ss-ca-fade::after{opacity:1;transition:none}}

/* 19/10/2026: Come arrivare - prima schermata: bollino offerta in alto a destra, frase, accessi rapidi, indirizzo; prima scheda piu distanziata */
.ss-ca-hero{position:relative}
.ss-ca-promo .promo-banner{position:absolute !important;top:24px !important;right:max(24px,calc((100vw - 1320px)/2 + 12px)) !important;left:auto !important;bottom:auto !important;z-index:3}
.ss-ca-lead{max-width:760px;margin:22px auto 0 !important;font-weight:300;line-height:1.6;color:var(--ss-testo2) !important;background:none !important;text-wrap:pretty}
.ss-ca-rapidi{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px;margin-top:20px}
.ss-ca-rapidi a{padding:9px 18px;border:1px solid #d9c7b3;background:#fff;color:var(--ss-marrone-scuro);font-size:15px;letter-spacing:.04em;transition:background .2s,border-color .2s}
.ss-ca-rapidi a:hover{background:var(--ss-marrone-sec);border-color:var(--ss-marrone-sec);color:#fff}
.ss-ca-ind{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px 26px;margin-top:22px;font-size:16px}
.ss-ca-ind b{font-weight:500;color:var(--ss-testo)}
.ss-ca-ind a{color:var(--ss-marrone-sec)}
.ss-ca-ind a:hover{color:var(--ss-marrone-scuro)}
.ss-ca-corpo{padding-top:104px !important}
@media (max-width: 1199.98px){.ss-ca-promo .promo-banner{top:auto !important;bottom:12px !important;right:12px !important;transform:scale(.8);transform-origin:right bottom}.ss-ca-lead{font-size:16px !important}.ss-ca-rapidi a{font-size:14px;padding:8px 12px}.ss-ca-corpo{padding-top:56px !important}}
/* 19/10/2026: Come arrivare - prima schermata alleggerita: bollino compatto rosso, una sola frase */
.ss-ca-bollo{position:absolute;top:28px;right:max(24px,calc((100vw - 1320px)/2 + 12px));z-index:3;display:flex;align-items:center;gap:14px;color:var(--ss-testo);text-decoration:none}
.ss-ca-bollo-c{width:84px;height:84px;border-radius:50%;background:#c8322b;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;box-shadow:0 0 0 4px #fff,0 0 0 5px rgba(200,50,43,.35)}
.ss-ca-bollo-c b{font-size:26px;font-weight:500}
.ss-ca-bollo-c small{font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-top:4px}
.ss-ca-bollo-t{display:flex;flex-direction:column;gap:4px;font-family:"Red Hat Text",sans-serif;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.ss-ca-bollo-t em{font-style:normal;font-family:"Jost",sans-serif;font-size:16px;font-weight:400;letter-spacing:0;text-transform:none;color:#c8322b}
.ss-ca-bollo:hover em{text-decoration:underline}
.ss-ca-lead{font-size:18px !important;margin-top:14px !important}
@media (max-width: 1199.98px){.ss-ca-bollo-t{display:none}}
@media (max-width: 1199.98px){.ss-ca-bollo{top:auto;bottom:12px;right:12px}.ss-ca-bollo-c{width:64px;height:64px}.ss-ca-bollo-c b{font-size:20px}}
/* 20/10/2026: Come arrivare - frase sotto il titolo su piu righe, compatta */
.ss-ca-banda p{margin-left:auto;margin-right:auto;line-height:1.45;text-wrap:balance}
/* 20/10/2026: Come arrivare - titolo e frase sempre centrati uno sotto l altro (con la frase lunga andavano affiancati) */
.ss-ca-banda .container{display:flex !important;flex-direction:column !important;align-items:center !important;text-align:center !important}
.ss-ca-banda h1,.ss-ca-banda p{flex:none !important;width:auto !important;margin-left:auto !important;margin-right:auto !important;text-align:center !important}
.ss-ca-banda p{max-width:820px !important;margin-top:6px !important}
.ss-ca-banda .ss-ca-sky{flex:none !important;width:100% !important;max-width:620px !important;height:auto !important;align-self:center !important}
@media (max-width: 1199.98px){.ss-ca-banda .ss-ca-sky{max-width:88% !important}}

/* 20/10/2026: briciole crema chiaro con testo nero SOLO su Come arrivare (e Scopri di piu, stessa testata chiara); altrove restano scure */
.ss-ca-pag .ss-cg-bric-alto .ss-sq-bric{background:var(--ss-bordo) !important;backdrop-filter:none !important;}
.ss-ca-pag .ss-cg-bric-alto .ss-sq-bric,.ss-ca-pag .ss-cg-bric-alto .ss-sq-bric a,.ss-ca-pag .ss-cg-bric-alto .ss-sq-bric span{color:var(--ss-testo) !important}
.ss-ca-pag .ss-cg-bric-alto .ss-sq-bric a:hover{color:var(--ss-marrone-sec) !important}

/* 20/10/2026 (prova): Scopri di piu - indice in un riquadro bianco a sinistra della testata */
.ss-sp-indbox{position:absolute;z-index:3;left:max(24px,calc((100vw - 1320px)/2 + 12px));top:120px;width:300px;background:#fff;padding:26px 28px;display:flex;flex-direction:column;gap:12px;box-shadow:-18px 18px 40px -18px rgba(60,40,25,.22)}
.ss-sp-indbox span{font-family:"Red Hat Text",sans-serif !important;font-size:12px;font-weight:600;letter-spacing:.16em;color:#a5713f;margin-bottom:4px}
.ss-sp-indbox a{font-size:17px;line-height:1.35;color:var(--ss-testo);padding-left:14px;border-left:2px solid var(--ss-riq-scuro);transition:border-color .2s,color .2s}
.ss-sp-indbox a:hover{color:var(--ss-marrone-sec);border-left-color:var(--ss-marrone-sec)}
@media (max-width:1399.98px){.ss-sp-indbox{position:static;width:auto;max-width:720px;margin:0 auto 24px;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px 20px;box-shadow:none;background:none;padding:0}.ss-sp-indbox span{display:none}.ss-sp-indbox a{border-left:0;padding-left:0;font-size:15px;color:var(--ss-marrone-sec)}}

/* 20/10/2026: Scopri di piu - H1 su due righe: parole chiave piccole + titolo grande corto */
.ss-sp-h1{display:flex;flex-direction:column;align-items:center;gap:6px;margin:0;font-size:inherit;line-height:1}
.ss-sp-h1 .ss-ca-brand{display:block;margin:0}
.ss-sp-h1 .ff-heading{display:block;font-size:clamp(34px,3.6vw,64px);line-height:1.05;color:#1e1a17}

/* 20/10/2026: Come arrivare, impianto 2a: testata crema con indice, fasce alternate bianco/crema, pausa marrone, altre partenze in schede */
.ss-ca2{background:#fff}
.ss-ca2 .container{max-width:1200px}
.ss-ca2-k{display:block;font-family:"Red Hat Text",sans-serif;font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:#a5713f}
.ss-ca2-hero{background: #ffffff;padding:48px 0 64px}
.ss-ca2-hero-g{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:64px;align-items:start}
.ss-ca2-intro{display:flex;flex-direction:column;align-items:flex-start}
.ss-ca2-intro .ss-sq-bric{margin:0 0 4px}
.ss-ca2-intro h1{margin:0;line-height:1.05;color:#1e1a17}
.ss-ca2-lead{margin:0;line-height:1.55;color:var(--ss-testo2);font-weight:300;text-wrap:pretty}
.ss-ca2-ind{align-self:stretch;border-top:1px solid #dccdbb;padding-top:14px;display:flex;flex-direction:column;gap:2px}
.ss-ca2-ind b{font-weight:500;font-size:21px;color:#1e1a17}
.ss-ca2-ind span{font-size:16px;color:#5b5049}
.ss-ca2-az{display:flex;flex-wrap:wrap;gap:12px}
.ss-ca2-off{display:inline-flex;align-items:center;font-size:16px;text-decoration:none}
.ss-ca2-off b{background:#9b1c1c;color:#fff;font-weight:600;padding:3px 10px}
.ss-ca2-off em{font-style:normal;text-decoration:underline}
.ss-ca2-idx{background:#fff;display:flex;flex-direction:column}
.ss-ca2-idx h2{margin:0;text-transform:none;color:#1e1a17}
.ss-ca2-idx a{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;border-top:1px solid #f0e9e0;color:#1e1a17;text-decoration:none;transition:background .2s}
.ss-ca2-idx a:hover{background:var(--ss-fondo);color:#1e1a17}
.ss-ca2-idx a span{display:flex;flex-direction:column}
.ss-ca2-idx a span b{font-weight:500}
.ss-ca2-idx a span small{color:#8a7d73}
.ss-ca2-idx a em{font-style:normal;color:var(--ss-marrone-sec);white-space:nowrap}
.ss-ca2-idx a i{font-style:normal;color:#a7856a}
.ss-ca2-via,.ss-ca2-mini{scroll-margin-top:calc(var(--ss-hh,90px) + 12px)}
.ss-ca2-via{padding:72px 0}
.ss-ca2-via.is-alt{background: #f3ece378;}
.ss-ca2-via-g{display:grid;grid-template-columns:360px minmax(0,1fr);gap:64px}
.ss-ca2-via-t{display:flex;flex-direction:column;gap:14px}
.ss-ca2-via-t h2{margin:0;font-size:clamp(26px,2.4vw,34px);line-height:1.15;color:#1e1a17}
.ss-ca2-via-t p{margin:0;font-size:17px;line-height:1.55;color:var(--ss-testo2);font-weight:300}
.ss-ca2-tempo{display:flex;align-items:baseline;gap:10px;padding:12px 0;border-top:1px solid #dccdbb;border-bottom:1px solid #dccdbb}
.ss-ca2-tempo b{font-weight:400;font-size:36px;color:var(--ss-marrone-sec);line-height:1}
.ss-ca2-tempo span{font-size:15px;color:#8a7d73}
.ss-ca2-passi{list-style:none;margin:0;padding:6px 0 0;counter-reset:ssp}
.ss-ca2-passi li{counter-increment:ssp;position:relative;padding:6px 0 28px 62px;display:flex;flex-direction:column;gap:4px}
.ss-ca2-passi li::before{content:counter(ssp);position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;background:var(--ss-marrone-sec);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:17px}
.ss-ca2-passi li::after{content:"";position:absolute;left:19px;top:46px;bottom:6px;width:2px;background:#e2d6c7}
.ss-ca2-passi li:last-child::after{display:none}
.ss-ca2-passi li b{font-size:21px;font-weight:400;color:#1e1a17}
.ss-ca2-passi li span{font-size:17px;line-height:1.55;color:var(--ss-testo2);font-weight:300}
.ss-ca2-passi li strong,.ss-ca2-mini li strong{font-weight:600;color:#1e1a17}
.ss-ca2-nota{/* margin:0 0 0 62px; */background:var(--ss-riq);padding:14px 18px;display:flex;flex-direction:column;gap:6px}
.ss-ca2-via.is-alt .ss-ca2-nota{background:#fff}
.ss-ca2-nota div{display:flex;gap:12px;align-items:baseline}
.ss-ca2-nota dt{font-family:"Red Hat Text",sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ss-marrone-sec);font-weight:600;white-space:nowrap}
.ss-ca2-nota dd{margin:0;font-size:16px;color:var(--ss-testo2)}
.ss-ca2-pausa{background:var(--ss-marrone-sec);color:#fff;padding:44px 0}
.ss-ca2-pausa .container{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:40px;align-items:center}
.ss-ca2-pausa .container > b{font-weight:400;font-size:56px;line-height:1;color:#fff}
.ss-ca2-pausa h2{margin:0 0 4px;font-size:28px;color:#fff;text-transform:none}
.ss-ca2-pausa p{margin:0;font-size:18px;font-weight:300;color:#fff}
.ss-ca2-pausa .btn{background:#fff;color:var(--ss-marrone-sec);border:1px solid #fff}
.ss-ca2-pausa .btn:hover{background:var(--ss-riq);color:#6e5645}
.ss-ca2-altre{background:var(--ss-riq);padding:64px 0 72px}
.ss-ca2-altre .container > h2{margin:0 0 24px;font-size:30px;text-transform:none;color:#1e1a17}
.ss-ca2-altre-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ss-ca2-mini{background:#fff;padding:28px 26px;display:flex;flex-direction:column;gap:14px}
.ss-ca2-mini header{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.ss-ca2-mini h3{margin:0;font-size:22px;text-transform:none;color:#1e1a17}
.ss-ca2-mini header b{font-weight:400;font-size:22px;color:var(--ss-marrone-sec);white-space:nowrap}
.ss-ca2-mini > small{margin-top:-8px}
.ss-ca2-mini ol{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid var(--ss-bordo);counter-reset:ssm;display:flex;flex-direction:column;gap:10px}
.ss-ca2-mini li{counter-increment:ssm;position:relative;padding-left:34px;font-size:15px;line-height:1.5;color:var(--ss-testo2)}
.ss-ca2-mini li::before{content:counter(ssm);position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;border:1px solid var(--ss-marrone-sec);color:var(--ss-marrone-sec);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}
.ss-ca2-mini footer{margin-top:auto;padding-top:6px;display:flex}
.ss-ca2-fine{padding:56px 0 72px}
.ss-ca2 .ss-ca-fondo{margin-top:0;max-width:none;box-shadow:none !important;background:#fff !important;padding:0 0 32px;border:0;border-bottom:1px solid var(--ss-bordo)}
.ss-ca2 .ss-og-fam{margin-top:40px}
.ss-ca2 .ss-ca-fade .ss-ca2-passi li{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.ss-ca2 .ss-ca-fade.is-in .ss-ca2-passi li{opacity:1;transform:none}
.ss-ca2 .ss-ca-fade.is-in .ss-ca2-passi li:nth-child(2){transition-delay:.1s}.ss-ca2 .ss-ca-fade.is-in .ss-ca2-passi li:nth-child(3){transition-delay:.2s}.ss-ca2 .ss-ca-fade.is-in .ss-ca2-passi li:nth-child(4){transition-delay:.3s}
@media (prefers-reduced-motion:reduce){.ss-ca2 .ss-ca-fade .ss-ca2-passi li{opacity:1;transform:none;transition:none}}
@media (max-width: 1199.98px){.ss-ca2-hero-g{grid-template-columns:1fr;gap:32px}.ss-ca2-via-g{grid-template-columns:1fr;gap:28px}.ss-ca2-altre-g{grid-template-columns:1fr}.ss-ca2-pausa .container{grid-template-columns:1fr;gap:12px}}

/* 20/10/2026: Come arrivare, prima schermata bozza 3c: disegno di Firenze come fondo, bollino tondo, indice in riquadro bianco sollevato */
.ss-ca2-hero{position:relative;overflow:hidden}
.ss-ca2-hero .container{position:relative;z-index:1}
.ss-ca2-sky{position:absolute;left:-40px;bottom:-30px;width:min(900px,75vw);height:auto;opacity: .7;mix-blend-mode:multiply;pointer-events:none;user-select:none}
.ss-ca2-lead{max-width:520px}
.ss-ca2-az .btn-outline-primary{background:#fff}
.ss-ca2-off{gap:14px;color:#c62828}
.ss-ca2-off:hover{color:#a01f1f}
.ss-ca2-off-c{width:84px;height:84px;flex:none;border-radius:50%;background:#c62828;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;border:4px solid #fff;box-shadow:0 0 0 1px #eab5b5}
.ss-ca2-off-c b{background:none;padding:0;font-size:24px;font-weight:500;line-height:1}
.ss-ca2-off-c small{font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.ss-ca2-off-t{display:flex;flex-direction:column}
.ss-ca2-off-t > span{font-family:"Red Hat Text",sans-serif;font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--ss-testo)}
.ss-ca2-off-t em{font-style:normal;text-decoration:none;font-size:18px}
.ss-ca2-idx{box-shadow:0 20px 40px -24px rgba(60,40,25,.25)}
.ss-ca2-idx h2{padding-bottom:4px}
.ss-ca2-idx-ind{margin:0;color:#8a7d73}
@media (max-width: 1199.98px){.ss-ca2-sky{width:120%;left:auto;right:-20%;bottom:auto;top:40px}}

/* 20/10/2026: Come arrivare, rifiniture prima schermata: briciole color bozza, titolo piu piccolo, tutto piu in alto, indice compatto (entra nella schermata) */
.ss-ca2 .ss-sq-bric{background:var(--ss-bordo) !important;color:var(--ss-marrone) !important;border:0 !important}
.ss-ca2 .ss-sq-bric a,.ss-ca2 .ss-sq-bric span{color:var(--ss-marrone) !important}
.ss-ca2 .ss-sq-bric a:hover{color:var(--ss-marrone-scuro) !important}
.ss-ca2-hero{padding-top:28px}
.ss-ca2-intro{gap:12px}
.ss-ca2-intro .ss-ca2-k{margin-top:10px}
.ss-ca2-intro h1{font-size:clamp(34px,3.8vw,52px)}
.ss-ca2-lead{font-size:18px}
.ss-ca2-off{margin-top:4px}
.ss-ca2-idx h2{padding:16px 24px 2px;font-size:22px}
.ss-ca2-idx-ind{padding:0 24px 10px;font-size:14px;line-height:1.4}
.ss-ca2-idx a{padding:9px 24px;gap:12px}
.ss-ca2-idx a span{gap:0}
.ss-ca2-idx a span b{font-size:17px}
.ss-ca2-idx a span small{font-size: 15px;}
.ss-ca2-idx a em{font-size:19px}

/* 20/10/2026: indice Come arrivare un pelino piu arioso */
.ss-ca2-idx h2{padding-top:20px}
.ss-ca2-idx-ind{padding-bottom:14px}
.ss-ca2-idx a{padding-top:12px;padding-bottom:12px}

/* 20/10/2026: Come arrivare, blocco di sinistra piu arioso (titolo staccato dal marchio, resto spaziato verso il basso) */
@media (min-width: 1200px){
.ss-ca2-intro{gap:20px}
.ss-ca2-intro h1{margin-top:8px}
.ss-ca2-az{margin-top:6px}
.ss-ca2-off{margin-top:14px}
}

/* 20/10/2026: Come arrivare, pulsanti PDF con icona (non perdono il testo al passaggio), Apri mappa in fondo come link, link delle schede piu leggibili */
.ss-ca2-pdf{display:inline-flex;align-items:center;gap:8px}
.ss-ca2-pdf::before{content:"";flex:none;width:1.05em;height:1.2em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3v4a1 1 0 0 0 1 1h4'/%3E%3Cpath d='M17 21H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7l5 5v11a2 2 0 0 1-2 2z'/%3E%3Cpath d='M9 13h1.5a1.5 1.5 0 0 1 0 3H9v-3zM9 16v2M14 13v5M14 13h2M14 15.5h1.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3v4a1 1 0 0 0 1 1h4'/%3E%3Cpath d='M17 21H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7l5 5v11a2 2 0 0 1-2 2z'/%3E%3Cpath d='M9 13h1.5a1.5 1.5 0 0 1 0 3H9v-3zM9 16v2M14 13v5M14 13h2M14 15.5h1.5'/%3E%3C/svg%3E") center/contain no-repeat}
.ss-ca2-link{font-weight:600;font-size:17px;color:#6e5645;text-decoration:none;border-bottom:1px solid #cbb9a6;padding-bottom:2px;white-space:nowrap}
.ss-ca2-link:hover{color:#4a3a2e;border-bottom-color:#6e5645}
.ss-ca2-mini footer{font-size:16px;font-weight:500;gap:22px}
.ss-ca2-mini footer a{color:#6e5645}
.ss-ca2-mini footer a + a{color:#6e5645}
.ss-ca2-mini footer a:hover{color:#4a3a2e;text-decoration:underline}
.ss-ca2-mini > small{font-size:15px;color:#7a6d63}

/* 20/10/2026: Come arrivare, frase finale su un rigo */
.ss-ca2 .ss-og-fam h2{white-space:nowrap}
.ss-ca2-tel{display:none}

/* 20/10/2026: Come arrivare, versione telefono rifatta (bozza 4a): testi 16px normali, disegno sotto il testo, pulsanti uno sotto l altro 48px, contatti a tessere */

/* 20/10/2026 (richiesta cliente): Come arrivare desktop, bollino offerta in alto a destra del blocco, pulsanti piu in basso */
@media (min-width: 1200px){
.ss-ca2-intro{position:relative}
.ss-ca2-intro > .ss-ca2-off{position:absolute;margin:0;flex-direction:column;gap:8px;text-align:center}
.ss-ca2-intro > .ss-ca2-off .ss-ca2-off-c{width:104px;height:104px}
.ss-ca2-intro > .ss-ca2-off .ss-ca2-off-c b{font-size:30px}
.ss-ca2-intro > .ss-ca2-off .ss-ca2-off-c small{font-size:10px}
.ss-ca2-intro > .ss-ca2-off .ss-ca2-off-t{align-items:center}
.ss-ca2-intro > .ss-ca2-off .ss-ca2-off-t > span{font-size:11px}
.ss-ca2-intro > .ss-ca2-off .ss-ca2-off-t em{font-size:16px}
}
/* 20/10/2026: ritocco, bollino piu vicino al titolo (meno a destra, piu in basso), pulsanti 15px piu su */
@media (min-width: 1200px){
.ss-ca2-intro > .ss-ca2-off{top:96px;right: 0px;}
.ss-ca2-intro > .ss-ca2-az,.ss-ca2-intro > .ss2-ca-dove > .ss-ca2-az{margin-top: 18px;}
}

/* 20/10/2026 (scelta cliente, proposta 5b): pulsanti primari var(--ss-rosso) su tutto il sito (scelta del cliente, al posto del salvia). Il rosso resta solo per le offerte. Backup: backup-2026-10-20/salvia/ */
.btn-primary{--bs-btn-bg: var(--ss-marrone-sec);--bs-btn-border-color: #594141f5;--bs-btn-color:#fff;--bs-btn-hover-bg:var(--ss-rosso-scuro);--bs-btn-hover-border-color:var(--ss-rosso-scuro);--bs-btn-hover-color:#fff;--bs-btn-active-bg:var(--ss-rosso-scuro);--bs-btn-active-border-color:var(--ss-rosso-scuro);--bs-btn-active-color:#fff;--bs-btn-disabled-bg:var(--ss-rosso);--bs-btn-disabled-border-color:var(--ss-rosso);--bs-btn-focus-shadow-rgb:177,81,81}
.btn-outline-primary{--bs-btn-color:var(--ss-rosso);--bs-btn-border-color:var(--ss-rosso);--bs-btn-hover-bg:var(--ss-rosso);--bs-btn-hover-border-color:var(--ss-rosso);--bs-btn-hover-color:#fff;--bs-btn-active-bg:var(--ss-rosso);--bs-btn-active-border-color:var(--ss-rosso);--bs-btn-active-color:#fff}
.ss-ca2 .btn-outline-primary,.ss-ca2 .btn-outline-primary:focus{background:#fff;color:var(--ss-rosso);border-color:#d3a0a0}
.ss-ca2 .btn-outline-primary:hover,.ss-ca2 .btn-outline-primary:active{background:#f6e8e8 !important;color:var(--ss-rosso-scuro) !important;border-color:var(--ss-rosso) !important}

/* 20/10/2026: Siamo qui, computer: foto orizzontale (hotel-sonia-via-dino-del-garbo-2-firenze.jpg), fascia piu alta, palazzo al centro */
@media (min-width: 1200px){
body.ss-dq-pag .ss-sq-hero[style*="--ss-hero-pc"]{background-image:url("../img/about/hotel-sonia-via-dino-del-garbo-2-firenze.jpg") !important; /* url scritto qui: dentro una variabile il percorso relativo si leggeva da assets/css/ e la foto non si caricava */ background-size:cover !important;background-position:center 8% !important;height:clamp(480px,72vh,780px) !important}
}

/* 21/10/2026: pagine ospedale, riga Altre offerte: etichetta (rosa chiaro, come prima) alta come le due righe a destra; testo e link "Vedi tutte le offerte" uno sotto l altro, allineati a sinistra */

/* 21/10/2026: biglietto del coupon nel riquadro Prenota (pagine ospedale) */
.ss-cp{gap:14px;border:2px dashed #c62828;background:#fdf3f3;padding:12px 14px}
.ss-cp-t{flex:1;min-width:0;flex-direction:column;gap:2px}
.ss-cp-t span{font-weight:600;text-transform:uppercase;color:#8b1a1a}
.ss-cp-t b{font:600 24px/1.1 Jost,sans-serif;letter-spacing:.12em;color:#8b1a1a}
.ss-cp-t small{color:var(--ss-testo3)}
.ss-cp-btn{flex:none;border:0;background:#c62828;color:#fff;font:500 15px Jost,sans-serif;padding:10px 16px;cursor:pointer;transition:background .2s}
.ss-cp-btn:hover{background:#9b1c1c}
.ss-cp-btn.is-ok{background:var(--ss-verde)}
.ss-cp-btn-card{align-self:flex-start;margin-top:6px;background:none;color:#c62828;border:1px solid #c62828;padding:8px 14px}
.ss-cp-btn-card:hover{background:#c62828;color:#fff}
.ss-cp-btn-card.is-ok{background:var(--ss-verde);border-color:var(--ss-verde);color:#fff}
.ss-cp-btn.is-ok,.ss-cp-btn.is-ok:hover{cursor:default;background:var(--ss-verde) !important;border-color:var(--ss-verde) !important;color:#fff !important}
/* 21/10/2026: biglietto coupon, la frase "Si applica da solo..." su tutta la larghezza sotto codice e pulsante (niente a capo con una parola sola) */
.ss-cp{display:grid !important;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;row-gap:2px;align-items:center}
.ss-cp-t{display:contents !important}
.ss-cp-t span{grid-column:1;grid-row:1}
.ss-cp-t b{grid-column:1;grid-row:2}
.ss-cp-btn{grid-column:2;grid-row:1 / span 2}
.ss-cp-t small{grid-column:1 / -1;grid-row:3;margin-top:6px;text-wrap:balance}
/* 21/10/2026: Copia il codice come link di testo accanto al codice nella scheda offerta */
.ss-cp-btn.ss-cp-btn-link,.ss-cp-btn.ss-cp-btn-link:hover,.ss-cp-btn.ss-cp-btn-link.is-ok{display:inline;margin:0 0 0 14px !important;padding:0 !important;border:0 !important;background:none !important;color:#c62828 !important;font:500 15px Jost,sans-serif;text-decoration:underline;text-underline-offset:3px;vertical-align:middle}
.ss-cp-btn.ss-cp-btn-link.is-ok{color:var(--ss-verde) !important;text-decoration:none}

/* 21/10/2026: Ospedali vicini, etichetta Tariffa di riguardo accanto alla categoria + pulsante Scegli le date in alto */
.ss-og-azioni{align-items:center}
/* 21/10/2026: riquadro Prenota evidenziato un attimo dopo Copia il codice dalla scheda offerta */
@keyframes ssBoxFlash{0%{box-shadow:0 0 0 0 rgba(198,40,40,.0)}25%{box-shadow:0 0 0 4px rgba(198,40,40,.55)}100%{box-shadow:0 0 0 0 rgba(198,40,40,0)}}
.ss-cg-box.ss-cg-box-flash{animation:ssBoxFlash 1.6s ease-out}

/* 21/10/2026: Contatti, computer: al posto della targa con orari solo lo stato, in evidenza (pillola senza cornice doppia) */
.rh-pre{display:none}
@media (min-width: 1200px){
.col-xl-9 > .reception-hours-badge.rh-targa,.reception-hours-badge.rh-targa{border:0 !important;outline:0 !important;box-shadow:none !important;background:none !important;padding:0 !important;min-width:0 !important;gap:0 !important}
.reception-hours-badge.rh-targa .rh-tit,.reception-hours-badge.rh-targa .rh-ore{display:none !important}
.reception-hours-badge.rh-targa .rh-pre{display:inline}
.reception-hours-badge.rh-targa .rh-stato{margin-top: 25px;gap:10px !important;padding:12px 20px;font:600 14px/1.2 Jost,sans-serif !important;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.reception-hours-badge.rh-targa .rh-stato.is-closed{background: #f7d6d647;color:#8b1a1a !important}
.reception-hours-badge.rh-targa .rh-stato.is-open{background:#e6f0e8;color:#2e6b3f !important}
.reception-hours-badge.rh-targa .rh-stato i{width:9px !important;height:9px !important}
.reception-hours-badge.rh-targa .rh-stato.is-closed i{box-shadow:0 0 0 4px rgba(139,26,26,.15)}
.reception-hours-badge.rh-targa .rh-stato.is-open i{box-shadow:0 0 0 4px rgba(46,107,63,.18);animation:ssRhPulse 2s ease-in-out infinite}
}
@keyframes ssRhPulse{0%,100%{box-shadow:0 0 0 3px rgba(46,107,63,.18)}50%{box-shadow:0 0 0 7px rgba(46,107,63,.05)}}
/* 21/10/2026: Contatti, etichetta reception: sotto i 1400px non piu sovrapposta alla frase (va nel flusso, allineata a destra); spazio dopo "Reception ·" corretto */
.reception-hours-badge.rh-targa .rh-stato{gap:0 !important}
.reception-hours-badge.rh-targa .rh-stato i{margin-right:10px}
@media (min-width: 1200px) and (max-width: 1399.98px){
.reception-hours-badge.rh-targa{position:static !important;display:flex !important;justify-content:flex-start;margin:0 0 18px !important;inset:auto !important}
}
/* 21/10/2026: spazio dopo "Reception ·" (lo spazio finale dentro lo span veniva tolto) + tra 768 e 1399px etichetta sotto la frase "Le risponderemo..." */
.reception-hours-badge.rh-targa .rh-pre{margin-right:.55em}
@media (min-width: 1200px) and (max-width: 1399.98px){
.col-xl-9:has(> .reception-hours-badge.rh-targa){display:flex;flex-direction:column}
.col-xl-9:has(> .reception-hours-badge.rh-targa) > *{order:4}
.col-xl-9 > .reception-hours-badge.rh-targa:first-child + *{order:1}
.col-xl-9 > .reception-hours-badge.rh-targa:first-child + * + *{order:2}
.col-xl-9 > .reception-hours-badge.rh-targa{order:3 !important;align-self:flex-start;margin:0 0 24px !important}
}

/* 21/10/2026: menu Per te (ex Scopri di piu): motivi del viaggio con riga di spiegazione, Prima di arrivare, riquadro Offerte */
/* 21/10/2026: menu Per te, computer: centrato sotto la voce come Siamo qui (prima usciva a sinistra), colonne piu vicine */
@media (min-width:1200px){
.ss-menu-perte .row{--bs-gutter-x:28px}
.ss-menu-perte .mega-menu-item{white-space:normal !important}
}
/* 21/10/2026: menu Per te, correzione: centrato senza transform (il tema usa transform per l animazione) e riga di spiegazione sotto il titolo */
@media (min-width:1200px){
.dropdown-menu.mega-menu.ss-menu-perte{right:auto !important;transform:none !important}
}
/* 21/10/2026: menu Per te, colonne bilanciate (prima la prima era troppo larga e la seconda andava a capo) */
@media (min-width:1200px){
.ss-menu-perte .row > li:not(.ss-mn-mot):not(.ss-mn-off){flex:0 0 31% !important;max-width:31% !important}
}

/* 21/10/2026: menu Per te, ritocchi: titoli dei link piu grandi, Buono a sapersi (domanda + risposta), offerte vere con icona, colori nella testata scura */
.ss-menu-perte .ss-mn-tutte{display:inline-block;margin-top:10px;font-size: 18px;font-weight:500;color:var(--ss-marrone-sec);text-decoration:none}
.ss-menu-perte .ss-mn-tutte:hover{text-decoration:underline;text-underline-offset:3px}
body:has(#heroStatic) #header:not(.header-sticked) .ss-menu-perte .mega-menu-item b,
body:has(.hero-carousel) #header:not(.header-sticked) .ss-menu-perte .mega-menu-item b,
[data-bs-theme=dark] .ss-menu-perte .mega-menu-item b{color:var(--ss-riq) !important}
body:has(#heroStatic) #header:not(.header-sticked) .ss-menu-perte .mega-menu-item small,
body:has(.hero-carousel) #header:not(.header-sticked) .ss-menu-perte .mega-menu-item small,
[data-bs-theme=dark] .ss-menu-perte .mega-menu-item small{color:#d6c6b4 !important}
body:has(#heroStatic) #header:not(.header-sticked) .ss-menu-perte .ss-mn-tutte,
body:has(.hero-carousel) #header:not(.header-sticked) .ss-menu-perte .ss-mn-tutte,
[data-bs-theme=dark] .ss-menu-perte .ss-mn-tutte{color:#e3cdb4}
/* 21/10/2026: menu Per te, la colonna Buono a sapersi prendeva la larghezza della prima (36%) e il riquadro Offerte andava sotto */
@media (min-width:1200px){
.ss-menu-perte .row{flex-wrap:nowrap !important}
}
/* 21/10/2026: menu Per te piu basso: menu 1100px, voci piu fitte, risposte su una riga */
/* 21/10/2026: menu Per te, il riquadro Offerte occupa tutto lo spazio a destra (prima restava un vuoto e le righe andavano a capo) */
/* 21/10/2026: menu Per te, usciva dallo schermo a destra: 1000px e spostato un po' a sinistra rispetto alla voce */
@media (min-width:1200px){
.dropdown-menu.mega-menu.ss-menu-perte{min-width:1000px !important;left:calc(50% - 620px) !important}
}
/* 21/10/2026: menu Per te, l elenco occupa tutta la larghezza del menu (restava vuoto a destra del riquadro Offerte) */
@media (min-width:1200px){
.ss-menu-perte > div > ul.row{flex:1 1 auto !important;width:100% !important;margin-right:0 !important}
}
/* 21/10/2026: menu Per te allineato agli altri menu del template: titoli dei link con lo stesso peso e corpo delle voci di Siamo qui, sottotitoli leggibili */
/* 21/10/2026: menu Per te piu compatto (meno spazio tra le voci) e link Prenotazione e pagamenti / Condizioni leggibili */
@media (min-width:1200px){
.ss-menu-perte .mega-menu-title{margin-bottom:10px !important}
.ss-menu-perte .ss-mn-tutte{margin-top:12px;}
}
/* 21/10/2026: menu Per te, link al modulo di esenzione (PDF) con icona */
/* 21/10/2026: icona PDF a destra del testo, cosi le voci restano allineate a sinistra */
/* 21/10/2026: menu Per te senza righe secondarie (bozza 1a): Condizioni e Modulo in fondo alla colonna Offerte, alla stessa altezza di Tutte le informazioni */
/* 21/10/2026: menu Siamo qui a tre colonne (bozza 2a), come Per te */
@media (min-width:1200px){
.dropdown-menu.mega-menu.ss-menu-siamo.ss-menu-siamo3{width:960px !important;min-width:960px !important;left:calc(50% - 520px) !important;transform:none !important}
.ss-menu-siamo3 .row{flex-wrap:nowrap !important}
.ss-menu-siamo3 .row > li.ss-ms-dove{flex:0 0 27% !important;max-width:27% !important}
.ss-menu-siamo3 .row > li.ss-ms-osp{flex:0 0 38% !important;max-width:38% !important;display:flex;flex-direction:column}
.ss-menu-siamo3 .row > li.ss-ms-ind{flex:1 1 auto !important;max-width:none !important}
}
.ss-menu-siamo3 .ss-ms-osp .mega-menu-item{display:flex !important;justify-content:space-between;align-items:baseline;gap:16px;white-space:nowrap}
.ss-menu-siamo3 .ss-ms-osp .mega-menu-item b{color:var(--ss-marrone-sec)}
.ss-menu-siamo3 .ss-mn-tutte{display:inline-block;margin-top:12px;font-size:15px;font-weight:500;color:var(--ss-marrone-sec);text-decoration:none}
.ss-menu-siamo3 .ss-mn-pdf{display:inline-flex !important;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:8px}
.ss-menu-siamo3 .ss-mn-pdf svg{flex:none;color:#c62828}
.ss-menu-siamo3 .ss-ms-box{display:flex;flex-direction:column;gap:6px;background:var(--ss-riq);padding:18px 20px;text-decoration:none !important;transition:background .2s}
.ss-menu-siamo3 .ss-ms-box span{font-weight:600;font-size:18px;color:var(--ss-marrone-scuro)}
.ss-menu-siamo3 .ss-ms-box small{font-size:15px;color:var(--ss-marrone-scuro)}
.ss-menu-siamo3 .ss-ms-box b{font-weight:500;font-size:15px;color:var(--ss-marrone-sec);margin-top:4px}
body:has(#heroStatic) #header:not(.header-sticked) .ss-menu-siamo3 .ss-ms-osp .mega-menu-item b,
body:has(.hero-carousel) #header:not(.header-sticked) .ss-menu-siamo3 .ss-ms-osp .mega-menu-item b,
body:has(#heroStatic) #header:not(.header-sticked) .ss-menu-siamo3 .ss-mn-tutte,
body:has(.hero-carousel) #header:not(.header-sticked) .ss-menu-siamo3 .ss-mn-tutte{color:#e3cdb4}
/* 21/10/2026: menu Siamo qui, ritocchi: Careggi non in grassetto, distanze piu leggere, link allineato, riquadro fino al bordo */
.ss-menu-siamo3 .ss-ms-osp .ss-ms-top span{font-weight:inherit !important}
.ss-menu-siamo3 .ss-ms-osp .mega-menu-item b{font-weight:400 !important;font-size:.85em !important}
.ss-menu-siamo3 .ss-ms-osp .ss-mn-tutte{margin-left:0 !important;padding-left:var(--bs-dropdown-item-padding-x, 0)}
@media (min-width:1200px){
.ss-menu-siamo3 > div > ul.row{flex:1 1 auto !important;width:100% !important;margin-right:0 !important}
}

/* 21/10/2026: Ospedali vicini (hotel-vicino-ospedale-careggi-firenze.php), testata con foto crema e riquadro bianco sovrapposto. Classi .ss-ovh-* (le .ss-ov-* sono gia usate dalle schede) */
.ss-ovh{background:var(--ss-riq);padding-bottom:8px}
.ss-ovh-foto{height:clamp(320px,46vh,460px);background:url('../img/hero/ingresso-ospedale-careggi-crema.jpg') center 55%/cover no-repeat;padding-top:24px}
.ss-ovh-foto .ss-ov-bric{display:inline-flex;background:rgba(255,255,255,.9);padding:6px 14px;border-radius:999px;margin:0}
.ss-ovh-card{position:relative;background: #ffffffe0;max-width:860px;margin-top:-120px;padding:36px 44px 32px;box-shadow:0 12px 34px rgba(59,42,30,.10);display:flex;flex-direction:column;gap:14px}
.ss-ovh-k{font:600 13px Jost,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--ss-oro)}
.ss-ovh-card h1{margin:0;font-size:clamp(30px,3.4vw,46px);line-height:1.08}
.ss-ovh-lead{margin:0;font:300 19px/1.6 Jost,sans-serif;color:var(--ss-testo2);text-wrap:pretty}
/* 21/10/2026: testata Ospedali vicini, ritocchi: link allineati al testo, titolo su una riga, riquadro piu compatto */
.ss-ovh-card .ss-og-azioni{display:flex;flex-wrap:wrap;gap:10px 32px;margin:2px 0 0 !important;padding:0 !important}
.ss-ovh-card .ss-og-azioni .ss-og-link{margin:0 !important;padding:0 !important}
@media (min-width: 1200px){
.ss-ovh-card{max-width:980px;padding:32px 44px 28px;gap:12px}
.ss-ovh-card h1{font-size:clamp(28px,2.6vw,40px) !important;margin:0 !important}
.ss-ovh-foto{background-position:center 42%}
}
/* 21/10/2026: testo d introduzione piu lungo: niente maiuscolo/spaziatura ereditati, riga leggibile */
.ss-ovh-card .ss-ovh-lead{text-transform:none !important;letter-spacing:normal !important;max-width:720px}
/* 21/10/2026: stacco tra la testata e le schede: fascia crema piu alta e titoletto di sezione */
/* 21/10/2026: testata Ospedali vicini: riquadro piu basso (si vede l ingresso intero) e vetro smerigliato dietro il testo */
@media (min-width: 1200px){
.ss-ovh-card{margin-top:-70px !important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
}
/* 21/10/2026: stacco testata/schede piu compatto (era troppo vuoto) */
@media (min-width: 1200px){
.ss-ovh{padding-bottom:40px !important}
}

/* 21/10/2026: ancora #prenota nelle pagine ospedale: il riquadro non finisce sotto la testata fissa */
#prenota{scroll-margin-top:120px}
@media (max-width: 1199.98px){#prenota{scroll-margin-top:84px}}

/* 21/10/2026: tendina Camere (bozza 4a): elenco camere con ospiti, prezzo, sconto + riquadro Come paghi */
.ss-menu-camere .ss-mc-k{display:block;font:600 12px Jost,sans-serif;text-transform:uppercase;color:var(--ss-oro) !important;padding-bottom:10px}
.ss-menu-camere .ss-mc-riga{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:11px 0;border-top:1px solid var(--ss-riq);text-decoration:none !important}
.ss-menu-camere .ss-mc-nome{font:400 18px/1.25 Jost,sans-serif;color:var(--ss-testo) !important}
.ss-menu-camere .ss-mc-riga:hover .ss-mc-nome{color:var(--ss-marrone-sec) !important}
.ss-menu-camere .ss-mc-prezzo{font:500 16px Jost,sans-serif;color:var(--ss-testo) !important;text-align:right;white-space:nowrap}
.ss-menu-camere .ss-mc-osp{font:400 14px Jost,sans-serif;color:#7a6b5e !important}
.ss-menu-camere .ss-mc-sconto{font:600 12.5px Jost,sans-serif;color:var(--ss-rosso) !important;text-align:right;white-space:nowrap}
.ss-menu-camere .ss-mc-tutte{display:inline-block;margin-top:auto;padding-top:14px;font:500 15px Jost,sans-serif;color:var(--ss-marrone-sec) !important;text-decoration:none !important}
.ss-menu-camere .ss-mc-tutte:hover{color:var(--ss-marrone-scuro) !important}
.ss-menu-camere .ss-mc-lista{display:flex;flex-direction:column}
.ss-menu-camere .ss-mc-lista .ss-mc-tutte{border-top:1px solid var(--ss-riq)}
.ss-menu-camere .ss-mc-paga{background:var(--ss-riq);display:flex;flex-direction:column}
.ss-menu-camere .ss-mc-paga li{display:flex;flex-direction:column;padding:6px 0}
.ss-menu-camere .ss-mc-paga b{font:500 15.5px/1.35 Jost,sans-serif;color:var(--ss-testo-bruno) !important}
.ss-menu-camere .ss-mc-paga b em{font-style:normal;font-weight:600;color:var(--ss-rosso)}
.ss-menu-camere .ss-mc-paga small{font:400 14px/1.35 Jost,sans-serif;color:#7a6b5e !important}
@media (min-width:1200px){
.dropdown-menu.mega-menu.ss-menu-camere{max-width:calc(100vw - 48px) !important;padding:0 !important}
.ss-menu-camere .ss-mc{display:grid !important}
.ss-menu-camere .ss-mc-lista{padding:26px 28px}
.ss-menu-camere .ss-mc-paga{padding:26px 24px}
}
[data-bs-theme=dark] .ss-menu-camere .ss-mc-nome,[data-bs-theme=dark] .ss-menu-camere .ss-mc-prezzo{color:var(--ss-riq) !important}
[data-bs-theme=dark] .ss-menu-camere .ss-mc-osp,[data-bs-theme=dark] .ss-menu-camere .ss-mc-paga small{color:#d6c6b4 !important}
[data-bs-theme=dark] .ss-menu-camere .ss-mc-paga{background:var(--ss-testo)}
[data-bs-theme=dark] .ss-menu-camere .ss-mc-riga,[data-bs-theme=dark] .ss-menu-camere .ss-mc-lista .ss-mc-tutte{border-color:#3a322b}
/* 21/10/2026: tendina Camere centrata nella pagina (la voce non fa da riferimento, si centra sulla barra del menu) */
@media (min-width:1200px){
.navbar .nav-item.dropdown:has(> .ss-menu-camere){position:static !important}
.dropdown-menu.mega-menu.ss-menu-camere{left:calc(50% - 400px) !important;right:auto !important;transform:none !important;width:800px !important;min-width:800px !important}
.ss-menu-camere .ss-mc{grid-template-columns:minmax(0,1fr) 270px !important}
}
/* 21/10/2026: tendina Camere attaccata alla riga sotto la testata, alla stessa altezza di Siamo qui e Per te */
@media (min-width:1200px){
.dropdown-menu.mega-menu.ss-menu-camere{margin-top:0 !important;top:calc(100% + 3px) !important} /* 22/10/2026: scendeva 5px meno di Siamo qui e Per te */
}

/* 21/10/2026: tendine scure (testata sopra la foto della Home): niente cambio di colore al passaggio del mouse, come in Per te */
#header[data-bs-theme=dark] .dropdown-menu{--bs-dropdown-link-hover-color:var(--bs-dropdown-link-color);--bs-dropdown-link-hover-bg:transparent;--bs-dropdown-link-active-bg:transparent}
#header[data-bs-theme=dark] .dropdown-menu .mega-menu-item,#header[data-bs-theme=dark] .dropdown-menu .mega-menu-item:hover,#header[data-bs-theme=dark] .dropdown-menu .mega-menu-item:focus,
#header[data-bs-theme=dark] .dropdown-menu .dropdown-item,#header[data-bs-theme=dark] .dropdown-menu .dropdown-item:hover,#header[data-bs-theme=dark] .dropdown-menu .dropdown-item:focus{color:var(--ss-riq) !important;background:transparent !important}
#header[data-bs-theme=dark] .ss-menu-camere .ss-mc-riga:hover .ss-mc-nome{color:var(--ss-riq) !important}

/* 21/10/2026 REGOLA GENERALE caratteri piccoli: etichette, sconti e badge mai sotto 14px, testi secondari mai sotto 15px; sconti senza spaziatura larga */
.ss-menu-camere .ss-mc-sconto{font-size:15px !important;letter-spacing:0 !important}
.ss-menu-camere .ss-mc-k{font-size:14px !important;letter-spacing:.2em !important}
.ss-menu-camere .ss-mc-osp,.ss-menu-camere .ss-mc-paga small{font-size:15px !important}
.ss-cp-t span{font-size:14px !important;letter-spacing:.1em !important}
.ss-cp-t small{font-size:15px !important}
.ss-ovh-k,.ss-ca2-k{font-size:14px !important;letter-spacing:.22em !important}

/* 21/10/2026: tendina Camere con lo stesso peso del carattere degli altri menu (era piu marcato) */
.ss-menu-camere .ss-mc-nome{font-weight:300 !important}
.ss-menu-camere .ss-mc-osp,.ss-menu-camere .ss-mc-paga small{font-weight:300 !important}
.ss-menu-camere .ss-mc-prezzo{font-weight:400 !important}
/* 24/10/2026: prezzo base barrato accanto al prezzo di stanotte (sonia_mc_prezzo) */
/* 24/10/2026: prezzi e sconto piu grandi (c'e spazio): prezzo di oggi 20px, barrato 17px, sconto 17px */
.ss-menu-camere .ss-mc-prezzo{font-size:20px !important;font-weight:500 !important}
.ss-menu-camere .ss-mc-prezzo s{font-size:17px;font-weight:400;color:var(--ss-testo3) !important;margin-right:4px}
.ss-menu-camere .ss-mc-sconto{font-size:17px !important}
.ss-menu-camere .ss-mc-paga b{font-weight:400 !important}
.ss-menu-camere .ss-mc-sconto{font-weight:500 !important}
.ss-menu-camere .ss-mc-tutte{font-weight:400 !important}

/* 22/10/2026: pagine ospedale con testata Ospedali vicini (ospedale-pagina.inc.php, 'testata' => 'ovh') */
.ss-ovh-kriga{display:flex;flex-wrap:wrap;gap:8px 18px}
/* 22/10/2026: testata ospedale con prenotazione a destra e coupon in linea con Hotel Sonia · Firenze Careggi (bozza 5a) */
.ss-ovh-riga{display:grid;gap:16px;align-items:stretch;position:relative}
.ss-ovh-riga .ss-ovh-card{max-width:none !important;margin-top:0 !important}
.ss-ovh-pren{position:relative;background:#ffffffe0;box-shadow:0 12px 34px rgba(59,42,30,.10);display:flex;flex-direction:column}
.ss-ovh-pren-k{font:600 13px Jost,sans-serif;text-transform:uppercase;color:var(--ss-oro)}
.ss-ovh-pren .ss-cg-dl .hicon{display:none}
.ss-ovh-pren-nota{margin:0;font:400 15px/1.4 Jost,sans-serif;color:var(--ss-testo2);text-wrap:pretty}
.ss-ovh-pren-nota a{color:var(--ss-rosso);font-weight:600;text-decoration:none}
.ss-ovh-kriga{justify-content:space-between}
.ss-ovh-card .ss-ovh-cp{display:inline-flex !important;align-items:center;border: 0.5px dashed #c9a47e;background:transparent;}
.ss-ovh-cp > b{font-weight:600;color:var(--ss-rosso)}
.ss-ovh-cp > span{font:400 16px Jost,sans-serif;color:var(--ss-testo)}
.ss-ovh-cp > span b{font-weight:600;letter-spacing:.12em}
.ss-ovh-cp .ss-cp-btn{grid-column:auto;grid-row:auto;background:#fff;color:var(--ss-marrone-sec);border:1px solid var(--ss-marrone-sec);font:500 15px Jost,sans-serif}
.ss-ovh-cp .ss-cp-btn:hover{background:var(--ss-marrone-sec);color:#fff}
@media (min-width: 1200px){.ss-ovh-riga{margin-top:-70px}.ss-ovh-pren{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}
/* 22/10/2026: riquadro Prenota della testata piu stretto e basso: deve finire con la banda bianca, come nel template di partenza */
.ss-ovh-riga{grid-template-columns:minmax(0,1fr) 290px}
.ss-ovh-pren{padding:14px 16px;gap:8px;justify-content:center}
.ss-ovh-pren-k{font-size:12px;letter-spacing:.18em}
.ss-ovh-pren .ss-cg-form,.ss-ovh-pren .ss-cg-date{gap:6px}
.ss-ovh-pren .ss-cg-form label{padding:5px 10px !important;gap:0}
.ss-ovh-pren .ss-cg-form label span{font-size:11px;letter-spacing:.1em}
.ss-ovh-pren .ss-cg-dl{padding-right:10px !important}
.ss-ovh-pren .ss-cg-dl .ss-cg-dtxt{font-size:15px}
.ss-ovh-pren .ss-cg-form select{font-size:15px;padding:0;height:auto;line-height:1.4}
.ss-ovh-pren .ss-cg-form .btn{margin-top:0;padding:9px 12px;font-size:16px;line-height:1.3}
/* 22/10/2026: coupon in linea con Hotel Sonia · Firenze Careggi senza alzare la riga (il -3% non deve spingere giu il testo) */
.ss-ovh-kriga{align-items:center;min-height:0}
.ss-ovh-card .ss-ovh-cp{padding:0 !important;gap:10px;line-height:1;margin:-6px 0 !important}
.ss-ovh-cp > b{font-size:21px !important;line-height:1 !important}
.ss-ovh-cp > span{font-size:15px !important;line-height:1.1 !important}
.ss-ovh-cp .ss-cp-btn{padding:3px 12px !important;font-size:14px !important;line-height:1.3 !important}
/* 22/10/2026: banda bianca piu corta e Prenota accostato: a destra resta il posto per il pulsante WhatsApp */
@media (min-width:1200px){.ss-ovh-riga{margin-right:84px}}
/* 22/10/2026: coupon spostato in basso, in linea con Apri mappa / Invia posizione, senza bordo */
.ss-ovh-card .ss-og-azioni{align-items:center}
.ss-ovh-card .ss-og-azioni .ss-ovh-cp{margin:-6px 0 -6px auto !important;border:0 !important}
.ss-ovh-cp-fr{font:400 24px/1 Jost,sans-serif;color:var(--ss-rosso);margin-left:-2px} /* 22/10/2026: freccia verso il riquadro Prenota */
/* 22/10/2026: tendina Camere scura (home, prima schermata): Tutte le camere e Condizioni piu leggibili */
[data-bs-theme=dark] .ss-menu-camere .ss-mc-tutte{color:#e2c29f !important;font-weight:500}
[data-bs-theme=dark] .ss-menu-camere .ss-mc-tutte:hover{color:var(--ss-riq) !important}
/* 22/10/2026: COLORI DI RIFERIMENTO del sito (uguali su tutte le pagine): sfondo var(--ss-fondo) (come la home), cornice/riquadro var(--ss-riq) */
.ss-menu-camere .ss-mc-paga,.ss-menu-siamo3 .ss-ms-box{background:var(--ss-riq) !important}
.ss-menu-siamo3 .ss-ms-box:hover{background:var(--ss-bordo) !important}
/* tendina Camere scura: il riquadro di destra resta chiaro come in Siamo qui (prima era marrone scuro, diverso dagli altri menu) */
[data-bs-theme=dark] .ss-menu-camere .ss-mc-paga b{color:var(--ss-testo) !important}
[data-bs-theme=dark] .ss-menu-camere .ss-mc-paga small{color:var(--ss-marrone-scuro) !important}
[data-bs-theme=dark] .ss-menu-camere .ss-mc-paga .ss-mc-tutte{color:var(--ss-marrone-sec) !important}
[data-bs-theme=dark] .ss-menu-camere .ss-mc-paga .ss-mc-tutte:hover{color:var(--ss-marrone-scuro) !important}
/* pagine ospedale: sfondo della pagina come la home */
@media (min-width: 1200px){.ss-ovh{background:var(--ss-fondo) !important}}
/* 22/10/2026: hotel-vicino-ospedale-careggi-firenze.php, contenuto sotto la testata (bozza 6b). Classi .ss-cr-* */
.ss-cr-num{background:#fff;border-top:1px solid var(--ss-bordo);border-bottom:1px solid var(--ss-bordo);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.ss-cr-num > div{padding:28px 12px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.ss-cr-num > div + div{border-left:1px solid var(--ss-riq)}
.ss-cr-num b{font:500 50px/1 "Cinzel",Georgia,serif;color:var(--ss-testo-bruno)}
.ss-cr-num b small{font:500 17px Jost,sans-serif;color:var(--ss-marrone-sec);letter-spacing:.02em}
.ss-cr-num span{font:600 18px Jost,sans-serif;color:var(--ss-testo)}
.ss-cr-num em{font:400 16px Jost,sans-serif;font-style:normal;color:var(--ss-marrone-sec)}
.ss-cr-corpo{background:var(--ss-fondo);padding:56px 0 72px}
.ss-cr-corpo .container{display:flex;flex-direction:column;gap:48px}
.ss-cr-corpo h2{margin:0;font-size:28px;line-height:1.15;color:var(--ss-testo)}
.ss-cr-due{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;align-items:stretch}
.ss-cr-perc{background:#fff;padding:36px 40px;display:flex;flex-direction:column;gap:22px}
.ss-cr-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.ss-cr-h span{font:400 16px Jost,sans-serif;color:var(--ss-marrone-sec)}
.ss-cr-perc ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:18px}
.ss-cr-perc li{display:grid;grid-template-columns:54px minmax(0,1fr);gap:18px;align-items:start}
.ss-cr-perc li > b{width:54px;height:54px;border-radius:50%;border:1.5px solid var(--ss-marrone-sec);color:var(--ss-marrone-sec);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:500;box-sizing:border-box}
.ss-cr-perc li.ss-cr-p > b{border-color:var(--ss-testo);color:#fff}
.ss-cr-perc li.ss-cr-a > b{border-color:var(--ss-rosso);color:#fff}
.ss-cr-perc li > div{display:flex;flex-direction:column;gap:3px;padding-top:6px}
.ss-cr-perc li.ss-cr-a > div{background:var(--ss-riq);padding:14px 18px}
.ss-cr-perc li em{font:600 12px Jost,sans-serif;font-style:normal;letter-spacing:.18em;text-transform:uppercase;color:var(--ss-oro)}
.ss-cr-perc li strong{font:600 18px Jost,sans-serif;color:var(--ss-testo)}
.ss-cr-perc li span{font:400 16px/1.5 Jost,sans-serif;color:var(--ss-testo2)}
.ss-cr-breve{background:var(--ss-riq);padding:36px;display:flex;flex-direction:column;gap:12px}
.ss-cr-breve dl{margin:0;display:flex;flex-direction:column}
.ss-cr-breve dl > div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:13px 0;border-top:1px solid var(--ss-riq-scuro)}
.ss-cr-breve dl > div:last-child{border-bottom:1px solid var(--ss-riq-scuro)}
.ss-cr-breve dt{font:600 13px Jost,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ss-oro);padding-top:3px}
.ss-cr-breve dd{margin:0;font:400 16px/1.5 Jost,sans-serif;color:var(--ss-testo)}
.ss-cr-esenz{background:#fff;padding:30px 40px;display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:28px;align-items:center;box-shadow:0 8px 26px rgba(59,42,30,.06);scroll-margin-top:120px}
.ss-cr-esenz-ico{width:60px;height:60px;border-radius:50%;background:var(--ss-riq);display:flex;align-items:center;justify-content:center;font-weight:600;line-height:1;box-sizing:border-box}
.ss-cr-esenz h2{font-size:24px !important;margin-bottom:6px !important}
.ss-cr-esenz p{margin:0;font:400 17px/1.55 Jost,sans-serif;color:var(--ss-testo2);text-wrap:pretty}
.ss-cr-esenz .btn{white-space:nowrap}
.ss-cr-faq{display:grid;grid-template-columns:300px minmax(0,1fr);gap:48px;align-items:start}
.ss-cr-faq-t{display:flex;flex-direction:column;gap:10px}
.ss-cr-faq-t span{font:600 13px Jost,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--ss-oro)}
.ss-cr-vic{background:var(--ss-riq);padding:24px 32px;display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 32px}
.ss-cr-vic > span{font:600 13px Jost,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--ss-oro)}
.ss-cr-vic a{font:400 17px Jost,sans-serif;color:var(--ss-testo);text-decoration:none}
.ss-cr-vic a b{font-weight:500;color:var(--ss-marrone-sec)}
.ss-cr-vic a:hover{color:var(--ss-marrone-sec)}
.ss-cr-vic .ss-cr-vic-arr{margin-left:auto;font-weight:500;color:var(--ss-marrone-sec)}
@media (max-width: 1199.98px){.ss-cr-due,.ss-cr-faq{grid-template-columns:minmax(0,1fr);gap:24px}}
.ss-cg-faq .ss-cr-copia{margin:0 2px 0 6px !important;font-weight:600 !important;vertical-align:baseline} /* 22/10/2026: Copia accanto al codice nelle domande frequenti */
/* 22/10/2026: icona esenzione (spunta) al posto dell asterisco; Copia nelle domande senza scatti di riga */
.ss-cr-esenz-ico{padding-top:0 !important;font-size:28px !important;color:var(--ss-verde) !important}
.ss-cg-faq .ss-cr-copia,.ss-cg-faq .ss-cr-copia.is-ok{display:inline !important;font-size:inherit !important;line-height:inherit !important;height:auto !important;padding:0 !important;margin:0 0 0 4px !important;vertical-align:baseline !important;border:0 !important;background:none !important;box-shadow:none !important}
/* 22/10/2026: "Un riguardo per chi assiste" sottolineato come con un evidenziatore. COLORE: cambiare #ffe58a qui sotto */
.ss-ovh-cp-ev{/* background:linear-gradient(180deg,transparent 58%,#ffe58a 58%,#ffe58a 92%,transparent 92%); */color:inherit;padding:0 2px;border-radius:2px}
/* 22/10/2026: percorso a tappe, linea tratteggiata che collega i cerchi (come la vecchia pagina) */
.ss-cr-perc li{position:relative}
.ss-cr-perc li:not(:last-child)::before{content:"";position:absolute;left:26px;top:54px;bottom:-18px;border-left:1.5px dashed #c9b59f}
.ss-cr-perc li > b{position:relative;z-index:1;background:#fff}
.ss-cr-perc li.ss-cr-p > b{background:var(--ss-testo)}
.ss-cr-perc li.ss-cr-a > b{background:var(--ss-rosso)}
/* 22/10/2026: riga Vicino anche a, Come arrivare resta sulla stessa riga */
@media (min-width: 1200px){.ss-cr-vic{flex-wrap:nowrap;gap:12px 28px}.ss-cr-vic a{white-space:nowrap}}
/* 22/10/2026: conferma sconto attivo nel riquadro Prenota (bozza 8a) */
.ss-ovh-cp-ok{background:#eaf4ec;border-left:3px solid var(--ss-verde);padding:9px 12px;display:flex;flex-direction:column;gap:2px;animation:ssCpOk .4s ease}
.ss-ovh-cp-ok[hidden]{display:none}
.ss-ovh-cp-ok b{font:600 14px Jost,sans-serif;color:#1f5a35}
.ss-ovh-cp-ok span{font:400 14px/1.35 Jost,sans-serif;color:#2a4a35}
@keyframes ssCpOk{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
/* 22/10/2026: bollino "-3% attivo" e messaggio dopo Copia (bozza 8c) */
.ss-ovh-pren-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ss-ovh-cp-bol{background:var(--ss-verde);color:#fff;font:600 12px Jost,sans-serif;padding:4px 9px;border-radius:999px;white-space:nowrap}
.ss-ovh-cp-bol[hidden],.ss-ovh-cp-msg[hidden]{display:none}
.ss-ovh-cp-msg{position:absolute;left:12px;right:12px;bottom:calc(100% + 10px);z-index:5;background:var(--ss-testo);color:#fff;padding:10px 14px;font:400 14px/1.4 Jost,sans-serif;box-shadow:0 8px 20px rgba(0,0,0,.2);animation:ssCpOk .3s ease}
@media (max-width: 1199.98px){.ss-ovh-cp-msg{position:static;margin-bottom:4px}}
/* 22/10/2026: menu Per te (bozza 9c): Sei qui per / domande frequenti / offerta del momento */
.ss-pt{display:grid;grid-template-columns:280px minmax(0,1fr) 320px;background:#fff;color:var(--ss-testo)}
.ss-pt-k{display:block;margin-bottom:6px}
.ss-pt-sei{background:var(--ss-fondo);border-right:1px solid var(--ss-bordo);padding:28px;display:flex;flex-direction:column;gap:14px}
.ss-pt-mot{text-decoration:none !important}
.ss-pt-mot:hover{color:var(--ss-marrone-sec) !important}
.ss-pt-faq{padding:28px 32px;display:flex;flex-direction:column;gap:12px}
.ss-pt-faq-g{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px}
.ss-pt-q{display:flex;flex-direction:column;gap:3px;text-decoration:none !important}
.ss-pt-q b{font-weight:inherit}
.ss-pt-q span{font-size:.85em;line-height:1.4;opacity:.8}
a.ss-pt-q:hover b{color:var(--ss-marrone-sec)}
.ss-pt-off{background:var(--ss-riq);padding:24px;display:flex;flex-direction:column;gap:10px}
.ss-pt-off1{background:#fff;padding:14px 16px;display:flex;flex-direction:column;gap:2px;text-decoration:none !important}
.ss-pt-off1 b{font:600 44px/1 "Cormorant Garamond","Playfair Display",serif;color:var(--ss-rosso)}
.ss-pt-off1 span{font:500 16px Jost,sans-serif;color:var(--ss-testo)}
.ss-pt-anche{margin:0;font:400 14px/1.45 Jost,sans-serif;color:var(--ss-testo2)}
.ss-pt-vedi{font:500 16px Jost,sans-serif;color:var(--ss-rosso) !important;text-decoration:none !important}
.ss-pt-pic{display:flex;flex-wrap:wrap;gap:6px 16px;border-top:1px solid var(--ss-riq-scuro);padding-top:10px;margin-top:auto}
.ss-pt-pic a{font:400 14px Jost,sans-serif;color:var(--ss-marrone-scuro) !important;text-decoration:none !important}
@media (min-width:1200px){.dropdown-menu.mega-menu.ss-menu-perte{padding:0 !important;width:1040px !important;max-width:calc(100vw - 48px) !important;overflow:hidden}}
@media (max-width:1199.98px){.ss-pt{grid-template-columns:minmax(0,1fr)}.ss-pt-sei{border-right:0}.ss-pt-faq-g{grid-template-columns:minmax(0,1fr)}}
/* tendina scura della home: testi chiari, i riquadri restano chiari */
[data-bs-theme=dark] .ss-pt{background:var(--ss-testo)}
[data-bs-theme=dark] .ss-pt-sei{background:var(--ss-testo);border-color:#3a322b}
[data-bs-theme=dark] .ss-pt-mot,[data-bs-theme=dark] .ss-pt-q b{color:var(--ss-riq) !important}
[data-bs-theme=dark] .ss-pt-q span{color:#d6c6b4}
[data-bs-theme=dark] .ss-pt-k{color:#e2c29f !important}
[data-bs-theme=dark] .ss-pt-off .ss-pt-k{color:var(--ss-oro) !important}
/* 22/10/2026: tendina Per te con gli stessi caratteri delle altre tendine del template (titoli come "Dove siamo", voci come "La nostra posizione") */
@media (min-width:1200px){
.ss-pt .ss-mn-tutte,.ss-pt .ss-pt-vedi{font-family:inherit !important}
}
[data-bs-theme=dark] .ss-pt .ss-pt-k{color:var(--ss-riq) !important}
[data-bs-theme=dark] .ss-pt .ss-pt-off .ss-pt-k{color:var(--ss-testo) !important}
/* 22/10/2026: Informazioni utili (bozza 10a) */
.ss-iu-top{background:var(--ss-fondo);padding:36px 0 28px}
.ss-iu-top h1{margin:6px 0 12px;font-size:clamp(30px,3.2vw,44px);line-height:1.08}
.ss-iu-lead{margin:0;max-width:880px;font:300 19px/1.6 Jost,sans-serif;color:var(--ss-testo2);text-wrap:pretty}
.ss-iu-num{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
.ss-iu-due{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:28px;align-items:start}
.ss-iu-due .ss-cr-breve dl > div{grid-template-columns:130px minmax(0,1fr)}
.ss-iu-faq h2{margin:0 0 14px !important}
.ss-iu-faq .nav-tabs{flex-wrap:wrap}
@media (max-width: 1199.98px){.ss-iu-due{grid-template-columns:minmax(0,1fr)}.ss-iu-num{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
/* 22/10/2026: Informazioni utili come un foglio: un solo riquadro bianco centrato su fondo var(--ss-fondo) */
body.ss-iu-pag main.ss-iu-main{background:var(--ss-fondo)}
.ss-iu-foglio{background:#fff}
.ss-iu-foglio > section,.ss-iu-foglio > .ss-iu-num{background:transparent !important}
@media (min-width: 1200px){
body.ss-iu-pag main.ss-iu-main{padding-bottom:72px}
.ss-iu-foglio{max-width:1140px;margin:48px auto 0;box-shadow:0 14px 44px rgba(59,42,30,.10)}
.ss-iu-foglio > .ss-iu-top{padding:48px 56px 28px !important}
.ss-iu-foglio > .ss-iu-num{margin:0 56px;border:1px solid var(--ss-bordo) !important}
.ss-iu-foglio > .ss-cr-corpo{padding:40px 56px 56px !important}
.ss-iu-foglio .container{max-width:none !important;padding-left:0 !important;padding-right:0 !important}
}
.ss-iu-foglio .ss-iu-num b{font-size:40px !important}
.ss-iu-foglio .ss-iu-num > div{padding:22px 12px}
/* 22/10/2026: linguette delle domande frequenti tutte su una riga */
@media (min-width: 1200px){
.ss-iu-faq .nav-tabs{flex-wrap:nowrap !important}
.ss-iu-faq .nav-tabs .nav-link{font-size:14px !important;letter-spacing:.08em !important;padding:12px 14px !important;white-space:nowrap}
}
/* 22/10/2026: Informazioni utili, intestazione (titolo e frase) centrata nel foglio; briciole restano a sinistra */
.ss-iu-foglio .ss-iu-top h1,.ss-iu-foglio .ss-iu-top .ss-iu-lead{text-align:center;margin-left:auto !important;margin-right:auto !important}
.ss-iu-foglio .ss-iu-top .ss-iu-lead{max-width:860px}
/* 23/10/2026: menu Per te con i caratteri del template, come Siamo qui (mega-menu-title / mega-menu-item) */
.ss-pt .mega-menu-item{white-space:normal !important;padding-left:0 !important;padding-right:0 !important}
.ss-pt-faq-g .ss-pt-q.mega-menu-item{display:flex !important;flex-direction:column;gap:2px;padding-top:0 !important;padding-bottom:0 !important}
.ss-pt .ss-pt-off .mega-menu-title{color:var(--ss-testo) !important}

/* 24/10/2026: prenotazione passo 2, Ripeti email + Password = dati per entrare nell'account (handler_booking.php). Sotto i 1200px lo stile e in sonia-app2.css */
.ss-dati-acc{background:#fbf3e2;border:1px solid #e6cf9c;padding:18px 18px 0;margin:0 0 1.5rem}
.ss-dati-acc-t{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px;color:#5e3f0c}
.ss-dati-acc-t svg{flex:none;color:#a36b1d;margin-top:1px}
.ss-dati-acc-t b{display:block;font:500 17px Jost,sans-serif;color:#5e3f0c}
.ss-dati-acc-t small{display:block;margin-top:2px;font:400 15px/1.45 Jost,sans-serif;color:#6b4f2a}

/* 24/10/2026: Come arrivare, pezzi solo per telefono e tablet (sonia-app2.css): sul desktop il riquadro indirizzo non c'e e l'impaginazione resta com'era */
.ss2-ca-dove{display:contents}
@media (min-width:1200px){main.ss-ca2 :is(.ss2-ca-ind,.ss2-ca-ico,.ss2-ca-foto){display:none !important}}

/* 26/10/2026 Offerte proposta A */
body.ss-offerte-pag .ss-off-tempo { position: absolute; right: 12px; top: 12px; z-index: 1; background: rgba(255,255,255,.94); color: #800000; border-radius: 999px; padding: 4px 12px; font-size: 14px; font-weight: 600; }
body.ss-offerte-pag .ss-off-auto { margin: 0 0 1.25rem; padding: 10px 12px; background: #f6efe6; font-size: .95rem; }
body.ss-offerte-pag .ss-off-attivo { display: none; color: #2e6b3f; font-weight: 600; margin: 0 0 .75rem; }
body.ss-offerte-pag .ss-off-conv.is-on .ss-off-attivo { display: block; }
body.ss-offerte-pag .ss-off-conv.is-on { box-shadow: 0 0 0 3px #2e6b3f; }
body.ss-offerte-pag article.card form .card-link.btn { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; padding: 13px 18px !important; background: var(--bs-primary); color: #fff !important; font-weight: 500; letter-spacing: .02em; transition: background .15s; }
body.ss-offerte-pag article.card form .card-link.btn:hover { background: var(--ss-marrone-scuro, #5e4636); color: #fff !important; }
body.ss-offerte-pag article.card form .card-link.btn .hicon { font-size: 14px; }
body.ss-offerte-pag article.card form .card-link.btn.ss-off-btn-cod { font-size: 1rem; padding-left: 12px !important; padding-right: 12px !important; }
body.ss-offerte-pag .card.ss-off-conv.is-on { box-shadow: 0 0 0 3px #2e6b3f !important; }
body.ss-offerte-pag article.card form .card-link.btn.ss-off-btn-cod { background: #b5402f !important; }
body.ss-offerte-pag article.card form .card-link.btn.ss-off-btn-cod:hover { background: #8f2f22 !important; }
/* 26/10/2026 Offerte: riquadro sconto come il modello A, pulsanti allineati in fondo, scaglioni in evidenza */
body.ss-offerte-pag .ss-off-sconto { top: 16px !important; left: 16px !important; background: #246528e6 !important; /* 26/10/2026: verde scelto dall utente, meno rosso accanto al pulsante */ border-radius: 14px; padding: 10px 16px 9px !important; min-width: 0 !important; align-items: flex-start; text-align: left !important; box-shadow: 0 4px 14px rgba(0,0,0,.18); }
body.ss-offerte-pag .ss-off-sconto strong { font-size: 2.2rem !important; }
body.ss-offerte-pag .ss-off-sconto small { font-size: .72rem; font-weight: 600 !important; }
body.ss-offerte-pag .ss-off-tempo { top: 16px; right: 16px; }
body.ss-offerte-pag .ss-off-piede { display: flex; flex-direction: column; gap: 14px; padding-top: 6px; }
body.ss-offerte-pag .ss-off-piede .ss-off-auto { margin: 0; min-height: 3.4em; display: flex; align-items: center; }
body.ss-offerte-pag .ss-off-info a { text-decoration: underline; text-underline-offset: 3px; color: #800000; }
body.ss-offerte-pag .ss-off-scal { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 10px; margin: 0 0 1.25rem; }
body.ss-offerte-pag .ss-off-scal > div { background: #fbece8; border-radius: 12px; padding: 12px 8px; text-align: center; display: flex; flex-direction: column; gap: 4px; }
body.ss-offerte-pag .ss-off-scal b { font-size: 1.6rem; line-height: 1; font-weight: 600; color: #c4402f; }
body.ss-offerte-pag .ss-off-scal span { font-size: .85rem; line-height: 1.3; color: var(--ss-testo-bruno, #6b5d52); }
body.ss-offerte-pag .ss-off-det { margin-top: 12px; font-size: .95rem; color: var(--bs-secondary-color, var(--ss-testo3)); }
body.ss-offerte-pag .ss-off-det summary { cursor: pointer; font-weight: 500; color: var(--bs-body-color); }
body.ss-offerte-pag .ss-off-det p { margin: 8px 0 0; line-height: 1.5; }
body.ss-offerte-pag .ss-off-det a { text-decoration: underline; text-underline-offset: 3px; }

/* 27/10/2026: link dentro i testi piu evidenti sul desktop (utente): marrone piu scuro (contrasto AA sul bianco) e carattere piu pesante. Solo link senza classe in paragrafi/elenchi/tabelle, non menu, pulsanti, footer. Telefono/tablet: gia verdi 600 (sonia-app2.css) */
@media (min-width: 1200px) {
  :is(p, li, dd, td, label, small) a:not([class]):not(:is(header, footer, nav, #footer) a) { font-weight: 500; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: rgba(var(--bs-link-color-rgb), .45); }
  :root:not([data-bs-theme=dark]) :is(p, li, dd, td, label, small) a:not([class]):not(:is(header, footer, nav, #footer) a) { --bs-link-color-rgb: 122, 92, 68; --bs-link-hover-color-rgb: 90, 66, 48; }
  :is(p, li, dd, td, label, small) a:not([class]):not(:is(header, footer, nav, #footer) a):hover { text-decoration-color: currentColor; }
}
@media (min-width: 1200px) {
  :root:not([data-bs-theme=dark]) a.ss-og-link { --bs-link-color-rgb: 122, 92, 68; --bs-link-hover-color-rgb: 90, 66, 48; font-weight: 600; } /* 27/10/2026: link con freccia piu evidenti (bottoni nelle schede ospedali esclusi: regola sotto ha piu specificita) */
}

/* 27/10/2026: pagina 404 (reservation/page/404.php) */
.ss-404 { padding: 72px 0 88px; }
.ss-404 .container { max-width: 720px; }
.ss-404-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px 22px; border-radius: 999px; border: 1.5px solid #a7856a; color: #6b4f3c; background: #fff; font-weight: 500; text-decoration: none; }
.ss-404-btn:hover { background: #f3ece6; color: #5a4230; }
.ss-404-btn.is-pri { background: #7a5c44; border-color: #7a5c44; color: #fff; }
.ss-404-btn.is-pri:hover { background: #5a4230; border-color: #5a4230; color: #fff; }
@media (min-width: 1200px) { .ss-404 { padding-top: 170px; } }

/* 27/10/2026: pagina Weekend a Firenze (weekend-firenze-2-notti-hotel-sonia.php), bozza */
.ss-we { max-width: 1140px; }
.ss-we-intro { max-width: 760px; margin-bottom: 2.5rem; }
.ss-we-tag { display: inline-block; margin-bottom: .5rem; font-family: "Red Hat Text", sans-serif; font-size: .9rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #800000; }
.ss-we h1 { font-family: "Cinzel", serif; font-weight: 600; text-transform: uppercase; font-size: calc(1.425rem + 2.1vw); line-height: 1.15; color: var(--bs-emphasis-color); margin-bottom: 1rem; }
.ss-we-lead { font-size: 1.2rem; line-height: 1.6; color: var(--bs-body-color); margin: 0; }
.ss-we-h2 { font-family: "Cinzel", serif; font-weight: 600; text-transform: uppercase; font-size: 1.6rem; color: var(--bs-emphasis-color); margin: 3rem 0 .35rem; }
.ss-we-sub { font-size: 1.05rem; color: var(--bs-secondary-color); margin-bottom: 1.25rem; }
.ss-we-fine { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.ss-we-wk { display: flex; flex-direction: column; gap: 6px; padding: 20px 18px; background: var(--bs-body-bg); border: 1px solid var(--bs-border-color); border-radius: 14px; color: var(--bs-body-color); text-decoration: none; }
.ss-we-wk form { margin-top: auto; padding-top: 10px; }
.ss-we-date { font-size: 1.15rem; font-weight: 600; color: var(--bs-emphasis-color); line-height: 1.3; }
.ss-we-per { font-size: .95rem; color: var(--bs-secondary-color); }
.ss-we-prezzo { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin-top: 4px; }
.ss-we-prezzo small { font-size: .95rem; color: var(--bs-secondary-color); }
.ss-we-prezzo s { font-size: 1.05rem; color: var(--bs-secondary-color); }
.ss-we-prezzo b { font-size: 1.6rem; font-weight: 600; color: var(--bs-emphasis-color); line-height: 1.1; }
.ss-we-pill { display: inline-block; font-style: normal; font-weight: 600; font-size: .95rem; line-height: 1; padding: 6px 10px; border-radius: 999px; background: #246528e6; color: #fff; white-space: nowrap; }
.ss-we-btn { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 46px; padding: 8px 16px; border-radius: 999px; border: 1.5px solid #7a5c44; background: #7a5c44; color: #fff; font-weight: 600; font-size: 1rem; }
.ss-we-btn:hover { background: #5a4230; border-color: #5a4230; color: #fff; }
.ss-we-altre { background: var(--bs-tertiary-bg); border-style: dashed; }
.ss-we-altre .ss-we-btn { margin-top: auto; background: transparent; color: #7a5c44; }
.ss-we-altre:hover .ss-we-btn { background: #f3ece6; color: #5a4230; }
.ss-we-nota { margin: 14px 0 0; font-size: .95rem; color: var(--bs-secondary-color); }
.ss-we-camere { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ss-we-cam { display: flex; flex-direction: column; background: var(--bs-body-bg); border: 1px solid var(--bs-border-color); border-radius: 14px; overflow: hidden; color: var(--bs-body-color); text-decoration: none; }
.ss-we-cam-f img { display: block; width: 100%; height: 220px; object-fit: cover; }
.ss-we-cam-c { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px 18px; flex: 1; }
.ss-we-cam-n { font-size: 1.2rem; font-weight: 600; color: var(--bs-emphasis-color); }
.ss-we-cam .ss-we-link { margin-top: auto; padding-top: 10px; }
.ss-we-link { display: inline-block; font-weight: 600; color: #7a5c44; text-decoration: none; }
.ss-we-link:hover { color: #5a4230; text-decoration: underline; }
.ss-we-sconti { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ss-we-sconti li { display: flex; align-items: flex-start; gap: 14px; padding: 16px 18px; background: var(--bs-body-bg); border: 1px solid var(--bs-border-color); border-radius: 14px; }
.ss-we-sconti li .ss-we-pill { font-size: 1.05rem; padding: 8px 12px; }
.ss-we-sconti b, .ss-we-perche b { display: block; font-size: 1.1rem; font-weight: 600; color: var(--bs-emphasis-color); margin-bottom: 2px; }
.ss-we-sconti span, .ss-we-perche span { font-size: 1rem; color: var(--bs-body-color); }
.ss-we-perche { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ss-we-perche li { padding: 16px 18px; background: var(--bs-body-bg); border: 1px solid var(--bs-border-color); border-radius: 14px; }
[data-bs-theme=dark] .ss-we-tag { color: #e3a08f; }
[data-bs-theme=dark] .ss-we-link, [data-bs-theme=dark] .ss-we-altre .ss-we-btn { color: #d9bfa8; }
@media (min-width: 1200px) { .ss-we-intro { padding-top: 1rem; } .ss-we h1 { font-size: 3rem; } }

/* 27/10/2026: pagina Offerte, rimando alla pagina Weekend a Firenze */
.ss-off-we { display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; margin: -1.5rem 0 2.5rem; padding: 18px 22px; border: 1px solid var(--bs-border-color); border-radius: 14px; background: var(--bs-body-bg); color: var(--bs-body-color); text-decoration: none; }
.ss-off-we b { display: block; font-size: 1.2rem; font-weight: 600; color: var(--bs-emphasis-color); margin-bottom: 2px; }
.ss-off-we span { font-size: 1.05rem; }
.ss-off-we em { font-style: normal; font-weight: 600; padding: 10px 20px; border-radius: 999px; background: #7a5c44; color: #fff; white-space: nowrap; }
.ss-off-we:hover em { background: #5a4230; }
