/* ==========================================================
   Pagine Esperienza / Comfort / Intimita' (schede della Home).
   Design system spa-exclusive-time: crema, inchiostro, un oro.
   ========================================================== */

.spaexb-landing{
    --sx-surface:#FBF6E8;
    --sx-card:#FFFFFF;
    --sx-ink:#3D3931;
    --sx-muted:#7A6F60;
    --sx-accent:#9B804E;
    --sx-accent-dark:#7E6639;
    --sx-line:#E7DCC4;
    --sx-night:#221E1A;
    --sx-shadow:0 22px 44px -30px rgba(91,70,36,.45);
}

/* Intestazione su foto, come nella pagina Prenota */
.spaexb-landing #header-wrapper{
    margin-bottom:56px;
}

.spaexb-landing .main-title-section-bg::before,
.spaexb-landing .main-title-section-bg::after{
    display:none !important;
}

.spaexb-landing .main-title-section h1{
    color:#FFFCF2 !important;
    text-shadow:0 2px 24px rgba(0,0,0,.35);
}

.spaexb-landing .main-title-section-wrapper .breadcrumb,
.spaexb-landing .main-title-section-wrapper .breadcrumb a,
.spaexb-landing .main-title-section-wrapper .breadcrumb span{
    color:rgba(255,252,242,.88) !important;
}

.spaexb-landing #header-wrapper .elementor-element-9ad5190 .elementor-icon-list-text,
.spaexb-landing #header-wrapper .elementor-element-9ad5190 .elementor-icon-list-icon{
    color:rgba(255,252,242,.88) !important;
}

/* Contenuto */
.sx-landing{
    max-width:1180px;
    margin:0 auto;
    padding:0 20px;
    color:var(--sx-ink);
    font-family:"Lora",serif;
}

.sx-landing h2,
.sx-landing h3{
    font-family:"Lora",serif;
    font-weight:400;
    color:var(--sx-ink);
}

.sx-landing h2 em,
.sx-landing h3 em{
    font-style:italic;
    color:var(--sx-accent);
}

.sx-landing p{
    margin:0 0 14px;
    font-size:17px;
    line-height:1.75;
    color:#5E5447;
}

.sx-landing img{
    display:block;
    width:100%;
    height:auto;
    border-radius:10px;
}

.sx-btn{
    display:inline-flex;
    align-items:center;
    gap:12px;
    height:52px;
    margin-top:10px;
    padding:0 30px;
    background:var(--sx-accent);
    border-radius:6px;
    color:#FFFFFF !important;
    font-size:14px;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    text-decoration:none !important;
    transition:background .25s ease, transform .25s ease;
}

.sx-btn span{
    letter-spacing:0;
    transition:transform .25s ease;
}

.sx-btn:hover{
    background:var(--sx-accent-dark);
    transform:translateY(-2px);
}

.sx-btn:hover span{
    transform:translateX(4px);
}

.sx-link{
    color:var(--sx-accent-dark) !important;
    text-decoration:underline;
    text-underline-offset:3px;
}

/* Apertura: testo e foto */
.sx-intro{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
    align-items:center;
    gap:56px;
    margin-bottom:88px;
}

.sx-intro h2{
    margin:0 0 20px;
    font-size:clamp(34px,4vw,50px);
    line-height:1.12;
}

.sx-intro .sx-lead{
    font-size:19px;
    color:var(--sx-ink);
}

.sx-intro-img{
    margin:0;
}

.sx-intro-img img{
    aspect-ratio:4/3;
    object-fit:cover;
    box-shadow:var(--sx-shadow);
}

/* Sezioni */
.sx-section{
    margin-bottom:88px;
}

.sx-landing > section:last-child{
    margin-bottom:0;
}

.sx-section-title{
    margin:0 0 32px;
    font-size:clamp(28px,3vw,38px);
    line-height:1.15;
}

/* Percorso a tappe (Esperienza) */
.sx-path{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}

.sx-path-item{
    display:grid;
    grid-template-columns:200px minmax(0,1fr);
    gap:22px;
    align-items:center;
    padding:16px;
    background:var(--sx-card);
    border:1px solid var(--sx-line);
    border-radius:10px;
}

.sx-path-item img{
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:8px;
}

.sx-path-n{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    margin-bottom:10px;
    border:1px solid var(--sx-accent);
    border-radius:50%;
    color:var(--sx-accent);
    font-size:15px;
}

.sx-path-item h3,
.sx-steps h3,
.sx-facts h3{
    margin:0 0 6px;
    font-size:22px;
    line-height:1.25;
}

.sx-path-item p,
.sx-steps p,
.sx-facts p{
    margin:0;
    font-size:15px;
    line-height:1.65;
}

/* Nota sauna */
.sx-note{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px 40px;
    padding:28px 32px;
    background:var(--sx-surface);
    border:1px solid var(--sx-line);
    border-radius:10px;
}

.sx-note h3{
    margin:0 0 12px;
    font-size:22px;
}

.sx-note ul{
    margin:0;
    padding-left:20px;
}

.sx-note li{
    margin:0 0 6px;
    font-size:15px;
    line-height:1.6;
    color:#5E5447;
}

/* Passaggi (Comfort) */
.sx-steps{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
    margin:0;
    padding:0;
    list-style:none;
    counter-reset:sx-step;
}

.sx-steps li{
    position:relative;
    margin:0;
    padding:56px 22px 22px;
    background:var(--sx-card);
    border:1px solid var(--sx-line);
    border-radius:10px;
    counter-increment:sx-step;
}

.sx-steps li::before{
    content:counter(sx-step);
    position:absolute;
    top:18px;
    left:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    background:var(--sx-accent);
    border-radius:50%;
    color:#FFFFFF;
    font-size:14px;
}

/* Foto + testo (Comfort) */
.sx-split{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:56px;
    align-items:center;
}

.sx-gallery{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.sx-gallery img{
    aspect-ratio:1/1;
    object-fit:cover;
}

.sx-gallery img:first-child{
    grid-column:1 / -1;
    aspect-ratio:16/9;
}

.sx-gallery-3{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.sx-gallery-3 img,
.sx-gallery-3 img:first-child{
    grid-column:auto;
    aspect-ratio:3/4;
}

.sx-chips{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:22px 0 0;
    padding:0;
    list-style:none;
}

.sx-chips li{
    margin:0;
    padding:8px 13px;
    background:var(--sx-card);
    border:1px solid var(--sx-line);
    border-radius:999px;
    font-size:14px;
    line-height:1.2;
    color:var(--sx-ink);
}

/* Punti di forza (Intimita') */
.sx-facts{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}

.sx-facts > div{
    padding:24px 26px;
    background:var(--sx-card);
    border:1px solid var(--sx-line);
    border-left:3px solid var(--sx-accent);
    border-radius:10px;
}

/* Chiusura */
.sx-cta{
    margin:0;
    padding:64px 32px;
    background:var(--sx-night);
    border-radius:12px;
    text-align:center;
}

.sx-cta h2{
    margin:0 0 12px;
    font-size:clamp(30px,3.4vw,42px);
    line-height:1.15;
    color:#FFFCF2;
}

.sx-cta h2 em{
    color:#D6B274;
}

.sx-cta p{
    max-width:56ch;
    margin:0 auto 18px;
    color:rgba(255,252,242,.75);
}

.sx-cta .sx-cta-more{
    margin:22px auto 0;
    font-size:15px;
}

.sx-cta .sx-cta-more a{
    color:#FFFCF2 !important;
    text-decoration:underline;
    text-decoration-color:rgba(255,252,242,.4);
    text-underline-offset:3px;
}

.sx-cta .sx-cta-more a:hover{
    color:#D6B274 !important;
}

/* Azioni affiancate */
.sx-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:14px 28px;
    margin-top:10px;
}

.sx-actions .sx-btn{
    margin-top:0;
}

.sx-actions-center{
    justify-content:center;
    margin-top:32px;
}

.sx-section-lead{
    max-width:62ch;
    margin:-16px 0 28px !important;
}

.sx-small-title{
    margin:26px 0 0;
    font-size:20px;
}

.sx-more{
    margin:24px 0 0 !important;
    text-align:right;
}

/* Valori (Chi siamo) */
.sx-values{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}

.sx-values > div{
    position:relative;
    padding:28px 28px 26px;
    background:var(--sx-card);
    border:1px solid var(--sx-line);
    border-radius:10px;
}

.sx-values .sx-value-wide{
    grid-column:1 / -1;
    background:var(--sx-surface);
}

.sx-value-n{
    display:block;
    margin-bottom:8px;
    font-size:30px;
    line-height:1;
    color:var(--sx-accent);
}

.sx-values h3{
    margin:0 0 8px;
    font-size:22px;
}

.sx-values p{
    margin:0;
    font-size:15px;
    line-height:1.7;
}

/* Fascia video */
.sx-video{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:460px;
    margin:0 0 88px;
    overflow:hidden;
    border-radius:12px;
    background:var(--sx-night);
    text-align:center;
}

.sx-video-media{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.sx-video::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(25,18,13,.35), rgba(25,18,13,.7));
}

.sx-video-copy{
    position:relative;
    z-index:1;
    padding:40px 24px;
}

.sx-video-kicker{
    margin:0 0 10px !important;
    font-size:12px !important;
    font-weight:600;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:#D6B274 !important;
}

.sx-video h2{
    margin:0 0 22px;
    font-size:clamp(32px,4vw,52px);
    line-height:1.1;
    color:#FFFCF2;
}

.sx-video h2 em{
    color:#D6B274;
}

/* Ambienti */
.sx-rooms{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}

.sx-room{
    display:flex;
    flex-direction:column;
    overflow:hidden;
    background:var(--sx-card);
    border:1px solid var(--sx-line);
    border-radius:10px;
}

.sx-room img{
    aspect-ratio:16/10;
    object-fit:cover;
    border-radius:0;
}

.sx-room > div{
    padding:20px 22px 22px;
}

.sx-room h3{
    margin:0 0 8px;
    font-size:22px;
    line-height:1.25;
}

.sx-room p{
    margin:0;
    font-size:15px;
    line-height:1.65;
}

.sx-room .sx-chips{
    margin-top:14px;
}

.sx-room-wide{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
}

.sx-room-wide img{
    height:100%;
    aspect-ratio:auto;
    min-height:300px;
}

.sx-room-wide > div{
    align-self:center;
    padding:30px 32px;
}

/* Tutto compreso */
.sx-included{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
}

.sx-included > div{
    padding:24px;
    background:var(--sx-card);
    border:1px solid var(--sx-line);
    border-top:3px solid var(--sx-accent);
    border-radius:10px;
}

.sx-included h3{
    margin:0 0 12px;
    font-size:21px;
}

.sx-included ul{
    margin:0;
    padding-left:18px;
}

.sx-included li{
    margin:0 0 6px;
    font-size:15px;
    line-height:1.5;
    color:#5E5447;
}

/* Extra */
.sx-extras{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.sx-extras > div{
    padding:22px;
    background:var(--sx-card);
    border:1px solid var(--sx-line);
    border-radius:10px;
}

.sx-price{
    display:inline-block;
    margin-bottom:10px;
    font-size:24px;
    line-height:1;
    color:var(--sx-accent-dark);
}

.sx-extras h3{
    margin:0 0 6px;
    font-size:18px;
    line-height:1.3;
}

.sx-extras p{
    margin:0;
    font-size:14px;
    line-height:1.6;
}

.sx-extras .sx-extra-dark{
    grid-column:span 2;
    background:var(--sx-night);
    border-color:var(--sx-night);
}

.sx-extra-dark .sx-price{
    font-size:14px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#D6B274;
}

.sx-extra-dark h3{
    color:#FFFCF2;
}

.sx-extra-dark p{
    color:rgba(255,252,242,.75);
}

/* Contatti */
.sx-contact-cards{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.sx-contact-card{
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:22px;
    background:var(--sx-card);
    border:1px solid var(--sx-line);
    border-radius:10px;
    color:var(--sx-ink) !important;
    text-decoration:none !important;
    transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.sx-contact-card:hover{
    border-color:var(--sx-accent);
    transform:translateY(-2px);
    box-shadow:var(--sx-shadow);
}

.sx-contact-label{
    font-size:12px;
    font-weight:600;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--sx-accent-dark);
}

.sx-contact-card strong{
    font-size:17px;
    font-weight:400;
    line-height:1.35;
    word-break:break-word;
}

.sx-contact-card-wide{
    grid-column:1 / -1;
}

.sx-contact-card small{
    font-size:14px;
    color:var(--sx-muted);
}

.sx-contact-main{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
    gap:28px;
    align-items:stretch;
}

.sx-form-card{
    padding:32px;
    background:var(--sx-card);
    border:1px solid var(--sx-line);
    border-radius:10px;
    box-shadow:var(--sx-shadow);
}

.sx-form-card .sx-section-title{
    margin-bottom:8px;
}

.sx-cf-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px 18px;
}

.sx-cf-field{
    display:block;
    margin:0;
}

.sx-cf-field > span{
    display:block;
    margin-bottom:6px;
    font-size:14px;
    font-weight:600;
    color:var(--sx-ink);
}

.sx-cf-field > span em{
    font-style:normal;
    color:var(--sx-accent);
}

.sx-cf-full{
    margin-top:16px;
}

.sx-cf .wpcf7-form-control-wrap{
    display:block;
}

.sx-cf input[type="text"],
.sx-cf input[type="email"],
.sx-cf input[type="tel"],
.sx-cf textarea{
    width:100% !important;
    height:48px;
    margin:0 !important;
    padding:0 14px !important;
    background:#FFFFFF !important;
    border:1px solid var(--sx-line) !important;
    border-radius:6px !important;
    box-shadow:none !important;
    font-family:"Lora",serif;
    font-size:16px !important;
    color:var(--sx-ink) !important;
}

.sx-cf textarea{
    height:auto;
    min-height:130px;
    padding:12px 14px !important;
    resize:vertical;
}

.sx-cf input:focus,
.sx-cf textarea:focus{
    border-color:var(--sx-accent) !important;
    box-shadow:0 0 0 3px rgba(155,128,78,.18) !important;
    outline:none;
}

.sx-cf-privacy{
    margin-top:16px;
    font-size:14px;
    color:#5E5447;
}

.sx-cf-privacy label{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:0;
    font-weight:400;
}

.sx-cf-privacy input[type="checkbox"]{
    width:18px;
    height:18px;
    margin:2px 0 0;
    accent-color:var(--sx-accent);
}

.sx-cf-privacy a{
    color:var(--sx-accent-dark);
    text-decoration:underline;
}

.sx-cf-submit{
    margin-top:18px;
}

.sx-cf input[type="submit"]{
    height:52px;
    padding:0 30px !important;
    background:var(--sx-accent) !important;
    border:0 !important;
    border-radius:6px !important;
    color:#FFFFFF !important;
    font-family:"Lora",serif;
    font-size:14px !important;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    cursor:pointer;
}

.sx-cf input[type="submit"]:hover{
    background:var(--sx-accent-dark) !important;
}

.sx-cf .wpcf7-not-valid-tip{
    position:static !important;
    margin-top:5px;
    font-size:13px;
}

.sx-map{
    position:relative;
    min-height:420px;
    overflow:hidden;
    background:
        linear-gradient(180deg, rgba(251,246,232,.92), rgba(251,246,232,.92)),
        url("../../../uploads/2023/06/angolo-tisane-lampade-design-1024x576.jpeg") center / cover no-repeat;
    border:1px solid var(--sx-line);
    border-radius:10px;
}

.sx-map iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
}

.sx-map-placeholder{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:32px;
    text-align:center;
}

.sx-map-placeholder strong{
    font-size:20px;
    font-weight:400;
    color:var(--sx-ink);
}

.sx-map-placeholder p{
    max-width:36ch;
    margin:0 !important;
    font-size:14px !important;
}

.sx-map-load{
    height:46px;
    text-transform:none !important;
    letter-spacing:0 !important;
    padding:0 24px;
    background:var(--sx-accent);
    border:0;
    border-radius:6px;
    color:#FFFFFF;
    font-family:"Lora",serif;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
}

.sx-map-load:hover{
    background:var(--sx-accent-dark);
}

@media (prefers-reduced-motion:reduce){
    .sx-btn, .sx-btn span{ transition:none; }
    .sx-contact-card{ transition:none; }
}

@media (max-width:1024px){
    .sx-included,
    .sx-extras{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .sx-contact-main{
        grid-template-columns:minmax(0,1fr);
    }
    .sx-room-wide{
        grid-template-columns:minmax(0,1fr);
    }
    .sx-room-wide img{
        min-height:0;
        aspect-ratio:16/10;
    }
}

@media (max-width:767px){
    .sx-values,
    .sx-rooms,
    .sx-included,
    .sx-extras,
    .sx-contact-cards,
    .sx-cf-grid{
        grid-template-columns:minmax(0,1fr);
    }
    .sx-extras .sx-extra-dark{
        grid-column:auto;
    }
    .sx-video{
        min-height:340px;
        margin-bottom:56px;
    }
    .sx-form-card{
        padding:22px 18px;
    }
    .sx-map{
        min-height:340px;
    }
    .sx-more{
        text-align:left;
    }
}

@media (max-width:1024px){
    .sx-intro,
    .sx-split{
        grid-template-columns:minmax(0,1fr);
        gap:32px;
    }
    .sx-path,
    .sx-facts{
        grid-template-columns:minmax(0,1fr);
    }
    .sx-steps{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:767px){
    .spaexb-landing #header-wrapper{
        margin-bottom:32px;
    }
    .sx-landing p{
        font-size:16px;
    }
    .sx-intro,
    .sx-section{
        margin-bottom:56px;
    }
    .sx-path-item{
        grid-template-columns:96px minmax(0,1fr);
        gap:16px;
        padding:12px;
    }
    .sx-steps{
        grid-template-columns:minmax(0,1fr);
    }
    .sx-gallery-3{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:8px;
    }
    .sx-note{
        padding:22px 18px;
    }
    .sx-cta{
        padding:44px 20px;
    }
}
