/* =====================================================
   FILS ROUGES - STYLE.CSS (BASE PULITA)
===================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

:root{
    --background:#f7f3ef;
    --surface:#ffffff;
    --text:#2f2b28;
    --accent:#8d2432;
    --accent-dark:#701c27;
    --border:#e8e0d6;
}

html{scroll-behavior:smooth;}

body{
    font-family:"Raleway",sans-serif;
    background:var(--background);
    color:var(--text);
    line-height:1.7;
}

.container{
    width:min(1180px,92%);
    margin:auto;
}

img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}

/* HEADER */

.site-header{
    position:fixed;
    inset:0 0 auto 0;
    height:90px;
    background:rgba(247,243,239,.96);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
    z-index:999;
}

.site-header .container{

    height:90px;

    display:flex;

    align-items:center;

    position:relative;

}

.main-navigation{

    position:absolute;

    left:50%;

    transform:translateX(-50%);

}

.language-switcher{

    margin-left:auto;

}

.logo{
    font-family:"Cormorant Garamond",serif;
    font-size:2rem;
    letter-spacing:.18em;
}

.logo span{color:var(--accent);}

.main-navigation ul{
    display:flex;
    gap:42px;
    list-style:none;
}

.main-navigation a:hover{color:var(--accent);}

/* HERO */

.hero{

    min-height:90vh;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    padding:80px 20px 30px;

}

.hero-grid{
    display:flex;
    justify-content:center;
    width:100%;
}
.hero-services{

    min-height: auto;

    padding: 80px 20px 0;

}
.hero-service-detail{

    min-height:58vh;

    padding:70px 20px 10px;

}
.hero-left{
    max-width:760px;
}

.hero-kicker{
    font-family:"Cormorant Garamond",serif;
    font-style:italic;
    color:var(--accent);
    font-size:1.3rem;
    margin-top: 50px;
    margin-bottom:20px;
}

.hero h1{
    font-family:"Cormorant Garamond",serif;
    font-size:5rem;
    line-height:1.05;
    font-weight:500;
    margin-bottom:35px;
}

.hero-description{
    max-width:680px;
    margin:0 auto 50px;
    font-family:"Cormorant Garamond",serif;
    font-size:1.45rem;
    line-height:1.8;
    color:#5d5d5d;
}

.hero-actions{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}
/* ===== CHI SONO ===== */

.hero-about{

    min-height: auto;

    padding: 80px 20px 35px;

}

.hero-about .hero-kicker{

    margin-top: -30;

    margin-bottom: 18px;

}

/* ===== FAQ ===== */

.faq-section{

    background:#faf8f6;

    padding:90px 0 70px;

}
.faq-item{

    padding:32px 0;

    border-bottom:1px solid #ddd6cf;

}

.faq-item:last-child{

    border-bottom:none;

}
.faq-item h2{

    font-family:"Cormorant Garamond", serif;

    font-size:2rem;

    font-weight:500;

    line-height:1.3;

    margin-bottom:18px;

    color:var(--text);

}
.faq-item p{

    max-width:700px;

    font-size:1.05rem;

    line-height:1.9;

    color:#5d5d5d;

    margin:0;

}


.hero-faq{

    min-height: auto;

    padding: 80px 20px 35px;

}
.hero-contact{

    min-height:auto;

    padding:80px 20px 35px;

}
.hero-gift{

    min-height:auto;

    padding:80px 20px 25px;

}

.button-primary,
.button-secondary{
    display:inline-block;
    padding:15px 34px;
    border-radius:40px;
    transition:.3s;
}

.button-primary{
    background:var(--accent);
    color:#fff;
}

.button-primary:hover{
    background:var(--accent-dark);
}

.button-secondary{
    border:1px solid var(--accent);
    color:var(--accent);
}

.button-secondary:hover{
    background:var(--accent);
    color:#fff;
}


/* SEZIONI */

.intro{

    padding:80px 20px 45px;

}

.services-home{

    padding:55px 20px 20px;
    margin-top:-30px;

}

.reviews-cta{

    padding:70px 20px 90px;

}
.reviews-actions {

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 18px;

    margin-top: 28px;

}

.reviews-link {

    color: var(--accent);

    text-decoration: none;

    font-size: 0.95rem;

    transition: color 0.3s ease;

}

.reviews-link:hover {

    color: var(--accent-dark);

    text-decoration: underline;

}

.cta-final{

    padding:90px 20px;

}

.intro{background:#fff;}
.services-home{background:#f7f3ef;}
.reviews-cta{background:#fcfbf9;}
.cta-final{
    background:#fff;
    text-align:center;
}

.section-heading{
    text-align:center;
    max-width:820px;
    margin:0 auto 30px;
    margin-bottom:30px;
}

.section-label{
    display:block;
    color:var(--accent);
    font-family:"Cormorant Garamond",serif;
    font-style:italic;
    font-size:1.2rem;
    margin-bottom:12px;
}

.section-heading h2,
.reviews-cta h2,
.cta-final h2{
    font-family:"Cormorant Garamond",serif;
    font-size:3rem;
    font-weight:500;
    margin-bottom:24px;
}

.intro-content{
    max-width:820px;
    margin:auto;
    margin-bottom: 25px;
    text-align: center;
}

.intro-content p,
.section-intro,
.reviews-cta p,
.cta-final p{
    font-size:1.1rem;
    color:#555;
    line-height:1.9;
    max-width:760px;
    margin:0 auto 18px;
}
.intro + .intro{

    padding-top:25px;

}

/* SERVIZI */

.services-grid{
    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:30px;
    margin-top: -30;

    margin-bottom:80px;
}

.service-card{

    background:#fff;

    padding:35px;

    border:none;

    border-radius:18px;

    box-shadow:0 10px 30px rgba(0,0,0,.04);

    display:flex;

    flex-direction:column;

    height:100%;
    text-align:center;

align-items:center;

}

.service-card h3{
    font-family:"Cormorant Garamond",serif;
    font-size:1.75rem;
    margin-bottom:16px;
    line-height: 1.15;
    text-align: center;
}

.service-card p{

    margin-bottom:22px;
    max-width:240px;

    color:#555;

    flex:1;

}

.service-card a{

    color:var(--accent);

    font-weight:600;

    margin-top:auto;

}
.service-card a{

    color:var(--accent);

    font-weight:600;

    margin-top:auto;

}

/* HOVER CARD */

.service-card{

    transition:.3s ease;

}

.service-card:hover{

    transform:translateY(-6px);

    box-shadow:0 18px 45px rgba(0,0,0,.08);

}

/* FOOTER */

.site-footer{
    padding:40px 20px;
    border-top:1px solid var(--border);
    text-align:center;
    background:#fff;
}

/* ===== REGALA - COME FUNZIONA | DESKTOP ===== */

.gift-process{

    background:#faf8f6;

    padding:90px 0 100px;

}
/* ===== SPAZIO TRA COME FUNZIONA E RICHIESTA REGALO ===== */

.gift-process{

    padding-bottom:45px;

}

.gift-request{

    padding-top:60px;

}

.gift-process .section-heading{

    text-align:center;

    margin-bottom:80px;

}

.gift-process .section-heading h2{

    margin:0;

}

.gift-process-grid{

    display:grid;

    grid-template-columns:repeat(3, 1fr);

    gap:70px;

}

.gift-step{

    text-align:center;

    position:relative;

}

.gift-step:not(:last-child)::after{

    content:"";

    position:absolute;

    top:0;

    right:-35px;

    width:1px;

    height:100%;

    background:#ddd7d0;

}

.gift-step-number{

    display:block;

    text-align:left;

    font-size:.78rem;

    letter-spacing:.08em;

    color:var(--accent);

    margin-bottom:14px;

}

.gift-step h3{

    margin:0 0 12px;

    font-size:1.15rem;

    font-weight:500;

}

.gift-step p{

    margin:0 auto;

    max-width:320px;

    font-size:.95rem;

    line-height:1.7;

}
/* =====================================================

   REGALA - MODULO RICHIESTA

===================================================== */

.gift-request{

    background:#faf8f6;

    padding:90px 0 100px;

}

.gift-request .section-heading{

    text-align:center;

    margin-bottom:55px;

}

.gift-request .section-heading h2{

    margin:0;

    font-family:"Cormorant Garamond", serif;

    font-size:3rem;

    font-weight:500;

}

.gift-request-intro{

    max-width:760px;

    margin:0 auto 45px;

    text-align:center;

}

.gift-request-intro h3{

    margin:0 0 12px;

    font-size:1.15rem;

    font-weight:500;

}

.gift-request-intro p{

    margin:0;

    line-height:1.8;

}

/* ----- FORM ----- */

.gift-request-form{

    max-width:1050px;

    margin:0 auto;

}

.gift-request-form-row{

    display:grid;

    grid-template-columns:1.2fr 1fr 1fr 1.2fr;

    gap:22px;

    align-items:end;

}

.gift-request-form label{

    display:flex;

    flex-direction:column;

    gap:8px;

    font-size:.82rem;

    font-weight:500;

    color:#555;

}

.gift-request-form input,

.gift-request-form select{

    width:100%;

    height:45px;

    box-sizing:border-box;

    padding:0 12px;

    border:1px solid #ddd7d0;

    border-radius:5px;

    background:#fff;

    color:var(--text);

    font-family:inherit;

    font-size:.92rem;

}

.gift-request-form input:focus,

.gift-request-form select:focus{

    outline:none;

    border-color:var(--accent);

}

/* ----- NOME DESTINATARIO ----- */

.recipient-name-field{

    transition:opacity .25s ease;

}

.recipient-name-field.disabled{

    opacity:.55;

}

.recipient-name-field input:disabled{

    background:#f1eeeb;

    cursor:not-allowed;

}

/* ----- OPZIONE NOME ----- */

.gift-recipient-option{

    margin-top:18px;

    display:flex;

    align-items:center;

    gap:9px;

    font-size:.85rem;

}

.gift-recipient-option input{

    width:auto;

    height:auto;

    margin:0;

}

/* ----- COMUNICAZIONE ----- */

.gift-communication{

    margin-top:28px;

}

.gift-communication-title{

    display:block;

    margin-bottom:12px;

    font-size:.82rem;

    font-weight:500;

    color:#555;

}

.gift-communication-options{

    display:flex;

    align-items:center;

    gap:24px;

}

.gift-communication-options label{

    display:flex;

    flex-direction:row;

    align-items:center;

    gap:7px;

    font-size:.88rem;

    font-weight:400;

    cursor:pointer;

}

.gift-communication-options input{

    width:auto;

    height:auto;

    margin:0;

}

/* ----- PULSANTE ----- */

.gift-request-submit{

    display:flex;

    justify-content:center;

    margin-top:35px;

}

.gift-request-submit button{

    min-width:200px;

    padding:15px 32px;

    border:none;

    border-radius:40px;

    background:var(--accent);

    color:#fff;

    font-family:"Raleway",sans-serif;

    font-size:.9rem;

    font-weight:400;

    cursor:pointer;

    transition:.3s ease;

}

.gift-request-submit button:hover{

    background:var(--accent-dark);

}

/* =====================================================

   REGALA - CTA FINALE

===================================================== */

.contact-service-cta{

    text-align:center;

    padding:100px 0 110px;

    border-top:1px solid #ece8e4;

}

.contact-service-cta h2{

    margin:0 0 20px;

    font-family:"Cormorant Garamond", serif;

    font-size:3rem;

    line-height:1.15;

    font-weight:500;

}

.contact-service-cta p{

    max-width:700px;

    margin:0 auto 35px;

    line-height:1.8;

}

.contact-service-cta .button-primary{

    margin:0 auto;

}

/* RESPONSIVE */

@media (max-width:900px){

    .menu-toggle{

        display:block;

    }

    .main-navigation{

        display:none;

        position:absolute;

        top:90px;

        left:0;

        width:100%;

        background:rgba(247,243,239,.98);

        border-bottom:1px solid var(--border);

        padding:24px 0;

    }

    .main-navigation.active{

        display:block;

    }

    .main-navigation ul{

        display:flex;

        flex-direction:column;

        align-items:center;

        gap:20px;

    }

    .hero h1{

        font-size:3.2rem;

    }

    .hero-actions{

        flex-direction:column;

    }

    .section-heading h2,

    .reviews-cta h2,

    .cta-final h2{

        font-size:2.3rem;

    }
    .service-modal-content{

    width:92%;

    max-width:none;

    padding:32px 24px;

}

}
/* =====================================================

   FOOTER

===================================================== */

.site-footer{

    background:#ffffff;

    border-top:1px solid var(--border);

    padding:30px 20px 20px;

}

.footer-content{

    max-width:700px;

    margin:0 auto 25px;

    display:grid;

    grid-template-columns:1fr 1fr;

    align-items:start;

    column-gap:80px;

}

.footer-left{

    display:flex;

    justify-content:flex-start;

    padding-top:18px;

}

.footer-email{

    color:var(--text);

    font-size:1rem;

    transition:.3s;
    font-size:.9rem;

}

.footer-email:hover{

    color:var(--accent);

}

.footer-right{

    display:flex;

    flex-direction:column;

    align-items:flex-end;

    gap:8px;
    font-size:.9rem;

}

.footer-right a{

    color:var(--text);

    transition:.3s;

}

.footer-right a:hover{

    color:var(--accent);

}

.footer-bottom{

    border-top:1px solid var(--border);

    margin-top:25px;

    padding-top:18px;

    text-align:center;

}

.footer-bottom p{

    font-size:.95rem;

    letter-spacing:.08em;

}

@media (max-width:768px){

    .contact-form{

    width:92%;

    max-width:340px;

    margin:0 auto;

}

    .contact-grid{

    display:grid;

    grid-template-columns:1fr !important;

    gap:20px;

}
.contact-info,

.contact-form{

    width:92%;

    max-width:340px;

    margin:0 auto;

}

.contact-info{

    text-align:center;

}
.contact-form button{

    width:100%;

    max-width:220px;

    margin:28px auto 0;

    display:block;

}

.contact-info,

.contact-form{

    width:100%;

    max-width:100%;

}
.contact-form button{

    width:100%;

    max-width:280px;

    margin:30px auto 0;

    display:block;

}
.contact-info{

    text-align:center;

}
.contact-info hr{

    margin:24px auto;

}
    .footer-content{

    grid-template-columns:1fr 1fr;

    gap:30px;

    align-items:start;

}

.footer-left{

    justify-content:flex-start;

    padding-top:0;

}

.footer-right{

    align-items:flex-end;

}
    /* ===== REGALA - COME FUNZIONA ===== */

    .gift-process{

        padding:70px 0 80px;

    }

    .gift-process .section-heading{

        margin-bottom:70px;

    }

    .gift-process-grid{

        grid-template-columns:1fr;

        gap:40px;

    }

    .gift-step{

        text-align:center;

        position:relative;

        padding-bottom:40px;

    }

    .gift-step:not(:last-child)::after{

        content:"";

        position:absolute;

        top:auto;

        right:auto;

        bottom:0;

        left:10%;

        width:80%;

        height:1px;

        background:#ddd7d0;

    }

    .gift-step-number{

        text-align:left;

    }

    .gift-step p{

        margin-left:auto;

        margin-right:auto;

    }
}
/* ===== REGALA - ALLINEAMENTO SMARTPHONE ===== */

.gift-step-number{

    display:block;

    text-align:center;

}

.gift-request-form button[type="submit"]{

    display:block;

    margin-left:auto;

    margin-right:auto;

}

.footer-contact{

    display:flex;

    flex-direction:column;

    gap:12px;

    align-items:flex-start;

}

.footer-contact a{

    color:var(--text);

    text-decoration:none;

}

.footer-contact a:hover{

    color:var(--accent);

}
.footer-contact a:first-child{

    font-size:1rem;

    font-weight:500;

}

.footer-contact a:last-child{

    font-size:0.84rem;

    opacity:0.7;

}
/* ===== RECENSIONI HOME ===== */

.reviews-cta {

    text-align: center;

}

.reviews-cta .container {

    display: flex;

    flex-direction: column;

    align-items: center;

}

.reviews-cta .section-heading {

    margin: 0 auto 40px;

    text-align: center;

}

.reviews-cta p {

    max-width: 560px;

    margin: 0 auto 35px;

}

.reviews-cta .button-primary {

    margin: 0 auto;

}
.about-section{

    background:#faf8f6;

    padding:90px 0 110px;

}
.about-grid {

    display: flex;

    align-items: center;

    gap: 80px;

}

.about-image {

    flex: 0 0 360px;

}

.about-image img {

    width: 100%;

    display: block;

    border-radius: 8px;

}

.about-text {

    flex: 1;
    max-width:650px;
}

.about-title{

    font-family:"Cormorant Garamond", serif;

    font-size:3rem;

    font-weight:520;

    margin-top:10px;

    margin-bottom:23px;

}

.about-text p {

    margin-bottom: 22px;

    line-height: 1.9;

}
/* ===========================

   POPUP RICHIESTA SERVIZIO

=========================== */

.service-modal {

    position: fixed;

    inset: 0;

    display: flex;

    justify-content: center;

    align-items: center;

    padding: 2rem;

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transition:

        opacity .35s ease,

        visibility .35s ease;

    z-index: 9999;

    backdrop-filter: blur(12px);

    -webkit-backdrop-filter: blur(12px);

    background: rgba(255,255,255,.35);

}

.service-modal.active {

    opacity: 1;

    visibility: visible;

    pointer-events: all;

}
/* ===========================

   SERVICE MODAL

=========================== */

.service-modal {

    position: fixed;

    inset: 0;

    display: flex;

    justify-content: center;

    align-items: center;

    background: rgba(255,255,255,0.20);

    backdrop-filter: blur(18px);

    -webkit-backdrop-filter: blur(18px);

    opacity: 0;

    visibility: hidden;

    transition: all .35s ease;

    z-index: 9999;

}

.service-modal.active {

    opacity: 1;

    visibility: visible;

}

.service-modal-content {

    width: min(700px, 90%);

    max-height: 75vh;

    overflow-y: auto;

    background: #fff;

    border-radius: 22px;

    padding: 45px 52px;

    box-shadow: 0 30px 80px rgba(0,0,0,.18);

    position: relative;

    animation: modalAppear .35s ease;

margin-bottom:18px;

}
.service-modal-content h2{

    text-align:center;

}

@keyframes modalAppear {

    from {

        opacity: 0;

        transform: translateY(20px);

    }

    to {

        opacity: 1;

        transform: translateY(0);

    }

}
.service-modal h2{

    margin:0;
margin-bottom:22px;
    font-family:"Cormorant Garamond", serif;

    font-size:2rem;
    line-height:1.2;

    font-weight:600;

    color:#222;

}

.modal-subtitle{

    font-size:0.9rem;

    line-height:1.7;
margin:0 auto 22px;
    margin-bottom:34px;

    color:#666;

}

.service-modal-close{

    position:absolute;

    top:22px;

    right:24px;

    border:none;

    background:none;

    font-size:1.7rem;
    font-weight: 300;

    cursor:pointer;

    color:#777;

    transition:.25s;

}

.service-modal-close:hover{

    color: var(--accent);

}
.service-modal form{

    display:flex;

    flex-direction:column;

    gap:22px;

}

.service-modal label{

    display:flex;

    flex-direction:column;

    gap:8px;

    font-size:0.85rem;

    font-weight:500;

    color:#333;

}

.service-modal input,

.service-modal textarea{

    width:100%;

    border:1px solid #ddd;

    border-radius:8px;

    padding:8px 10px;

    font-size:15px;

    font-family:inherit;

    background:#fafafa;

    transition:.25s;

    box-sizing:border-box;

}

.service-modal input:focus,

.service-modal textarea:focus{

    outline:none;

    border-color:#7a2032;

    background:#fff;

}

.service-modal textarea{

    min-height:140px;

    resize:vertical;

    line-height:1.7;

}

.service-modal button[type="submit"]{

    align-self:center;

    margin-top:10px;

    padding:15px 34px;

    border:none;

    border-radius:40px;

    background:var(--accent);

    color:#fff;

    font-family:"Raleway",sans-serif;

    font-size:0.95rem;

    font-weight:400;

    box-shadow:none;

    cursor:pointer;

    transition:.3s;

}

.service-modal button[type="submit"]:hover{

    background:var(--accent-dark);

}
.modal-row{

    display:flex;

    gap:18px;

}

.modal-row label{

    flex:1;

}
.service-header{

    display:flex;

    align-items:center;

}

.service-header .main-navigation{

    flex:1;

    display:flex;

    justify-content:center;

}

.service-header-button{

    padding: 10px 22px;

    font-size: 0.92rem;

    border-radius: 999px;

    white-space: nowrap;

    margin-left: 30px;

}
#richiedi-servizio{

    scroll-margin-top:120px;

}
/* ===========================

   PAGINA CONTATTI

=========================== */

.contact-section{

    background:#faf8f6;
    padding:100px 0;

}

.contact-grid{

    display:grid;

    grid-template-columns:320px 1fr;

    gap:90px;

    align-items:start;

}

.contact-info h2{

    margin-bottom:20px;

}

.contact-info p{

    margin-bottom:18px;

    line-height:1.8;

}

.contact-links{

    margin-top:40px;

}

.contact-links a{

    color:#222;

    text-decoration:none;

}

.contact-form form{

    display:flex;

    flex-direction:column;

    gap:22px;

}

.contact-form label{

    display:block;

    margin-bottom:10px;

    font-size:.79rem;

    font-weight:500;

    letter-spacing:.04em;

    text-transform:uppercase;

    color:#6f6a65;

}

.contact-form input,

.contact-form textarea{

    width:100%;

    padding:10px 14px;

    border:1px solid #e7e2dc;

    border-radius:5px;

    background:#fcfbfa;

    font-size:1rem;

    transition:.25s ease;

}
.contact-form input{

    height:45px;

}

.contact-form textarea{

    min-height:150px;

    resize:vertical;

}

.contact-form input:focus,

.contact-form textarea:focus{

    outline:none;

    border-color:var(--accent);

    box-shadow:0 0 0 3px rgba(120, 33, 48, .08);

}

.contact-form button{

    align-self:flex-start;

    margin-top:28px;

    min-width:180px;

    height:52px;

    border:none;

    outline:none;

    box-shadow:none;

    font-size:0.88rem;

    font-weight:300;

    cursor:pointer;

    letter-spacing:.2px;

}

.contact-service-cta{

    text-align:center;

    padding:110px 0;

    border-top:1px solid #ececec;

}

.contact-service-cta h2{

    margin-bottom:18px;

}

.contact-service-cta p{

    max-width:700px;

    margin:0 auto 35px;

    line-height:1.8;

}
.contact-response{

    margin:35px 0;

    color:#666;

    line-height:1.8;

}

.contact-divider{

    width:70px;

    height:1px;

    background:#d8d1ca;

    margin:35px 0;

}

.contact-detail{

    margin-bottom:35px;

}

.contact-detail span{

    display:block;

    font-size:.85rem;

    text-transform:uppercase;

    letter-spacing:.08em;

    color:#8a8a8a;

    margin-bottom:8px;

}

.contact-detail p{

    margin:0;

    font-size:1.05rem;

}
.menu-toggle{

    display:flex;

align-items:center;

justify-content:center;

    background:none;

    border:none;

    font-size:2rem;

    cursor:pointer;

    color:var(--text);

}

@media (min-width:901px){

    .menu-toggle{

        display:none;

    }
    }
@media (max-width:900px){

    .service-header-button{

        display:none;

    }
    .modal-row{

    flex-direction: column;

    gap: 16px;

}

.modal-row label{

    width: 100%;

    flex: none;

}
.service-modal-content{

    width:calc(100vw - 24px);

    max-width:none;

    padding:28px 20px;

}
.about-section{

    padding: 40px 0 70px;

}
.about-grid{

    flex-direction: column-reverse;

    gap: 40px;

    align-items: center;

}

.about-image{

    flex: none;

    width: 100%;

    max-width: 370px;

}

.about-text{

    width: 100%;

}

.about-title{

    text-align: center;

    font-size: 2.6rem;

    margin-bottom: 20px;

}

.about-text p{

    text-align: left;

}
.faq-item h2{

    font-size:1.7rem;

    line-height:1.3;

       max-width:95%;

}
.faq-item{

    padding:28px 0;

}
.faq-item p{

    max-width:90%;

}
.faq-section{

    padding:40px 0 40px;

}

}
/* ===== DETTAGLI SERVIZIO ===== */

.service-details{

    padding:80px 20px;

    background:#faf8f6;

}

.service-details-card{

    max-width:600px;

    margin:0 auto;

    background:#fff;

    border-radius:16px;

    padding:24px 36px;

    box-shadow:0 8px 22px rgba(0,0,0,.04);

}

.service-details-card h2{

    text-align:center;

    margin-bottom:40px;

}

.service-detail-row{

    padding:20px 0;

    border-bottom:1px solid #ece8e4;

}

.service-detail-row:last-of-type{

    border-bottom:none;

}

.service-detail-row h3{

    font-family:"Cormorant Garamond", serif;

    font-size:1.45rem;

    font-weight:600;

    margin-bottom:10px;

    text-align:center;

}

.service-detail-row p,

.service-detail-row ul{

    margin:0;

    text-align:center;

}

.service-detail-row ul{

    list-style:none;

    padding:0;

}

.service-detail-row li{

    margin:8px 0;

}

.price-row .price-value{

    font-size:1.25rem;

    font-weight:600;

    color:var(--accent);

}

.service-action{

    text-align:center;

    margin-top:28px;

}
.service-action .button-primary{

    min-width: 240px;

    padding: 15px 34px;

    border-radius: 40px;

    font-family: "Raleway", sans-serif;

    font-size: 0.95rem;

    font-weight: 450;

    cursor: pointer;
    border: none;

    outline: none;

    box-shadow: none;

    appearance: none;

    -webkit-appearance: none;

}
.phone-field{

    display:flex;

    gap:12px;

}

.phone-field select{

    width:115px;

    height:45px;

    padding:0 38px 0 14px;

    border:1px solid #ddd7d0;

    border-radius:8px;

    background:#fff;

    color:var(--text);

    font:inherit;

    appearance:none;

    -webkit-appearance:none;

    -moz-appearance:none;

    cursor:pointer;

    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23555' d='M1.4 1.4L6 6l4.6-4.6'/%3E%3C/svg%3E");

    background-repeat:no-repeat;

    background-position:right 14px center;

}

.phone-field input{

    flex:1;

}
.phone-field{

    display:flex;

    gap:12px;

}

.phone-prefix{

    width:80px !important;

    flex:none;

    text-align:center;

}

.phone-field input[type="tel"]{

    flex:1;

}
/* =====================================================

   REGALA — RICHIESTA REGALO

   DESKTOP

===================================================== */

.gift-request{

    padding:100px 0 110px;

    background:#faf8f6;

}

.gift-request .container{

    max-width:1100px;

    margin:0 auto;

}

/* INTRODUZIONE */

.gift-request .section-heading{

    text-align:center;

    margin-bottom:70px;

}

.gift-request .section-heading h2{

    margin:0 0 60px;

    font-family:"Cormorant Garamond", serif;

    font-size:3rem;

    line-height:1.2;

    font-weight:500;

    color:var(--text);

}

.gift-request .section-heading h3{

    margin:0 0 18px;

    font-family:"Cormorant Garamond", serif;

    font-size:1.8rem;

    line-height:1.3;

    font-weight:500;

    color:var(--text);

}

.gift-request .section-heading p{

    max-width:760px;

    margin:0 auto;

    font-size:1rem;

    line-height:1.8;

    color:#555;

}

/* MODULO */

.gift-request-grid{

    display:block;

}

.gift-request-form{

    width:100%;

    max-width:850px;

    margin:0 auto;

}

.gift-request-form form{

    display:flex;

    flex-direction:column;

    gap:22px;

}

/* ETICHETTE */

.gift-request-form label{

    display:flex;

    flex-direction:column;

    gap:8px;

    font-size:.79rem;

    font-weight:500;

    letter-spacing:.04em;

    text-transform:uppercase;

    color:#6f6a65;

}

/* CAMPI */

.gift-request-form input,

.gift-request-form select{

    width:100%;

    height:45px;

    padding:10px 14px;

    border:1px solid #e7e2dc;

    border-radius:5px;

    background:#fcfbfa;

    font-family:inherit;

    font-size:1rem;

    color:var(--text);

    box-sizing:border-box;

    transition:.25s ease;

}
.gift-request-form select{

    background:#fcfbfa;

    color:var(--text);

    box-shadow:none;

}


/* FOCUS */

.gift-request-form input:focus,

.gift-request-form select:focus{

    outline:none;

    border-color:var(--accent);

    box-shadow:0 0 0 3px rgba(120,33,48,.08);

}

/* OPZIONE NOME DESTINATARIO */

.gift-recipient-option{

    display:block !important;

    margin-top:-8px;

}

.gift-recipient-option span{

    display:flex;

    flex-direction:row;

    align-items:center;

    gap:10px;

    font-size:.9rem;

    font-weight:400;

    letter-spacing:0;

    text-transform:none;

    color:#555;

}

.gift-recipient-option input{

    width:16px;

    height:16px;

    margin:0;

    flex:none;

}

/* CAMPO DESTINATARIO DISABILITATO */

#gift-recipient:disabled{

    background:#f1eeeb;

    color:#999;

    cursor:not-allowed;

}

/* PREFERENZA DI CONTATTO */

.gift-contact-preference{

    border:none;

    margin:42px 0 0;

    padding:0;

}

.gift-contact-preference legend{

    margin-bottom:14px;

    font-size:.79rem;

    font-weight:500;

    letter-spacing:.04em;

    text-transform:uppercase;

    color:#6f6a65;

}

.gift-contact-preference label{

    display:flex;

    flex-direction:row;

    align-items:center;

    gap:10px;

    margin-bottom:10px;

    font-size:.9rem;

    font-weight:400;

    letter-spacing:0;

    text-transform:none;

    color:#555;

}

.gift-contact-preference input{

    width:16px;

    height:16px;

    margin:0;

    flex:none;

}

/* PULSANTE */

.gift-request-form button[type="submit"]{

    align-self:flex-start;

    margin-top:12px;

    min-width:180px;

    height:52px;

    padding:0 30px;

    border:none;

    outline:none;

    box-shadow:none;

    border-radius:40px;

    background:var(--accent);

    color:#fff;

    font-family:"Raleway",sans-serif;

    font-size:.95rem;

    font-weight:400;

    cursor:pointer;

    appearance:none;

    -webkit-appearance:none;

    transition:.3s ease;

}

.gift-request-form button[type="submit"]:hover{

    background:var(--accent-dark);

}
/* ===== PAGINA GRAZIE ===== */

.thank-you-content {

    text-align: center;

    padding-top: 45px;

}

.thank-you-content h1 {

    font-family: "Cormorant Garamond", serif;

    font-size: 3.5rem;

    font-weight: 400;

    margin-bottom: 30px;

}

.thank-you-content #thank-you-message {

    max-width: 500px;

    margin: 0 auto 30px;

    line-height: 1.7;

}

.thank-you-content .thank-you-closing {

    margin: 0 0 35px;

}

.thank-you-content .button-primary {

    display: inline-block;

}
/* ===== CTA REGALA - HOME ===== */

.home-gift-cta {

    padding: 100px 0;

    text-align: center;

}

.home-gift-cta h2 {

    margin: 0 0 35px;

    font-family: "Cormorant Garamond", serif;

    font-size: clamp(2.2rem, 4vw, 3.5rem);

    font-weight: 400;

}

.home-gift-cta .button-primary {

    display: inline-block;

}
/* ===== CTA REGALA - HOME ===== */

.home-gift-cta {

    padding: 100px 0;

    text-align: center;

}

.home-gift-cta h2 {

    margin: 0 0 18px;

    font-family: "Cormorant Garamond", serif;

    font-size: clamp(2.2rem, 4vw, 3.5rem);

    font-weight: 400;

}

.home-gift-cta h2 + p {

    margin: 0 auto 35px;

    font-size: 1rem;

    line-height: 1.7;

}

.home-gift-cta .button-primary {

    display: inline-block;

}
/* =========================================================

   PAGINE LEGALI

   ========================================================= */

.legal-page .container {

    max-width: 1000px;

    margin: 0 auto;

}

.legal-page .section-heading {

    margin-bottom: 70px;

    padding-top: 30px;

}

.legal-page .section-heading h1 {

    margin-top: 30px;

}

.legal-page .intro-content {

    max-width: 820px;

    margin: 0 auto;

}

.legal-page .intro-content p {

    max-width: none;

    margin-bottom: 24px;

    text-align: left;

    line-height: 1.8;

}

.legal-page .intro-content h2 {

    margin-top: 48px;

    margin-bottom: 20px;

    text-align: left;

}

.legal-page .intro-content ul {

    max-width: none;

    margin: 20px 0 28px;

    padding-left: 24px;

}

.legal-page .intro-content li {

    margin-bottom: 10px;

    line-height: 1.7;

    text-align: left;

}

.legal-page .intro-content a {

    text-decoration: underline;

    text-underline-offset: 3px;

}
.legal-page .section-heading {

    margin-bottom: 70px;

    padding-top: 30px;

}
/* =====================================================

   MOBILE — OVERRIDE FINALE HEADER + MENU

   NON MODIFICA IL DESKTOP

   ===================================================== */

@media (max-width:900px){

    /* =========================

       HEADER

       ========================= */

    .site-header{

        position:relative !important;

        height:125px !important;

        min-height:125px !important;

        border-bottom:none !important;

        z-index:1000 !important;

    }

    .site-header .container{

        position:relative !important;

        display:grid !important;

        grid-template-columns:1fr 1fr !important;

        grid-template-rows:80px 45px !important;

        width:100% !important;

        height:125px !important;

        min-height:125px !important;

        padding:0 24px !important;

        margin:0 !important;

        box-sizing:border-box !important;

        align-items:center !important;

    }

    /* =========================

       LOGO — RIGA SUPERIORE

       ========================= */

    .site-header .logo{

        grid-column:1 / 3 !important;

        grid-row:1 !important;

        justify-self:center !important;

        align-self:center !important;

        margin:0 !important;

        padding:0 !important;

        white-space:nowrap !important;

        font-size:1.7rem !important;

        line-height:1 !important;

        text-align:center !important;

    }

    /* =========================

       MENU — IN BASSO A SINISTRA

       ========================= */

    .menu-toggle{

        grid-column:1 !important;

        grid-row:2 !important;

        justify-self:start !important;

        align-self:center !important;

        position:static !important;

        display:flex !important;

        width:auto !important;

        height:auto !important;

        margin:0 !important;

        padding:0 !important;

        background:none !important;

        border:none !important;

        font-size:0 !important;

        line-height:1 !important;

        transform:none !important;

    }

    .menu-toggle::after{

        content:"MENU" !important;

        display:block !important;

        font-family:"Raleway", sans-serif !important;

        font-size:.82rem !important;

        font-weight:500 !important;

        letter-spacing:.08em !important;

        color:var(--text) !important;

    }

    /* =========================

       SWITCH — IN BASSO A DESTRA

       ========================= */

    .language-switcher{

        grid-column:2 !important;

        grid-row:2 !important;

        justify-self:end !important;

        align-self:center !important;

        display:flex !important;

        align-items:center !important;

        gap:5px !important;

        margin:0 !important;

        padding:0 !important;

        white-space:nowrap !important;

        font-size:.85rem !important;

        line-height:1 !important;

    }

    /* =========================

       LINEA DIVISORIA

       ========================= */

    .site-header::after{

        content:"" !important;

        position:absolute !important;

        left:0 !important;

        right:0 !important;

        bottom:0 !important;

        height:1px !important;

        background:var(--border) !important;

        pointer-events:none !important;

    }

    /* =========================

       MENU APERTO

       ========================= */

    .main-navigation{

        position:fixed !important;

        top:125px !important;

        left:0 !important;

        right:0 !important;

        bottom:0 !important;

        width:100vw !important;

        max-width:none !important;

        height:calc(100vh - 125px) !important;

        margin:0 !important;

        padding:55px 24px 40px !important;

        box-sizing:border-box !important;

        display:none !important;

        overflow-y:auto !important;

        overflow-x:hidden !important;

        background:rgba(247,243,239,.99) !important;

        border:none !important;

        transform:none !important;

        z-index:99999 !important;

    }

    .main-navigation.active{

        display:block !important;

    }

    /* =========================

       VOCI DEL MENU

       ========================= */

    .main-navigation ul{

        display:flex !important;

        flex-direction:column !important;

        align-items:center !important;

        justify-content:flex-start !important;

        width:100% !important;

        margin:0 !important;

        padding:0 !important;

        gap:28px !important;

        list-style:none !important;

        text-align:center !important;

    }

    .main-navigation li{

        display:block !important;

        width:100% !important;

        margin:0 !important;

        padding:0 !important;

        text-align:center !important;

    }

    .main-navigation a{

        display:block !important;

        width:100% !important;

        margin:0 !important;

        padding:4px 0 !important;

        text-align:center !important;

        font-size:1.15rem !important;

        line-height:1.4 !important;

    }

    /* =========================

       BLOCCA LO SCORRIMENTO

       QUANDO IL MENU È APERTO

       ========================= */

    body:has(.main-navigation.active){

        overflow:hidden !important;

    }

}
/* =====================================================

   MOBILE — RIDUZIONE SPAZIO DOPO HEADER

   ===================================================== */

@media (max-width:900px){

    .hero{

        padding-top:0px !important;

    }

}
/* =====================================================

   MOBILE — HERO INGLESE

   ALLINEAMENTO COME VERSIONE ITALIANA

   ===================================================== */

@media (max-width:900px){

    html[lang="en"] .hero{

        padding-top:0 !important;

        margin-top:0 !important;

    }

    html[lang="en"] .hero-grid{

        padding-top:0 !important;

        margin-top:0 !important;

    }

    html[lang="en"] .hero-left{

        padding-top:0 !important;

        margin-top:0 !important;

    }

}
/* =====================================================

   MOBILE — TIPOGRAFIA HERO INGLESE

   ===================================================== */

@media (max-width:900px){

    html[lang="en"] .hero h1{

        line-height:1.05 !important;

    }

    html[lang="en"] .hero-description{

        line-height:1.65 !important;

        max-width:92% !important;

        margin-left:auto !important;

        margin-right:auto !important;

    }

}
/* =========================================================

   QUESTIONARIO

   ========================================================= */

.questionnaire-page .container {

    max-width: 1000px;

    margin: 0 auto;

}

.questionnaire-page .section-heading {

    margin-bottom: 0;

    padding-top: 0;

}

.questionnaire-intro {

    max-width: 820px;

    margin: 0 auto 60px;

}

.questionnaire-intro p {

    max-width: none;

    margin-bottom: 24px;

    text-align: left;

    line-height: 1.8;

}

.questionnaire-note {

    margin-top: 34px;

    padding-top: 22px;

    border-top: 1px solid #ddd7d0;

    font-size: .92rem;

}

.questionnaire-form {

    max-width: 820px;

    margin: 0 auto;

}

.questionnaire-data {

    display: grid;

    grid-template-columns: 1fr 1fr 120px;

    gap: 20px;

    margin-bottom: 65px;

}

.form-field {

    display: flex;

    flex-direction: column;

}

.form-field label,

.questionnaire-form legend {

    font-family: inherit;

    color: var(--text);

}

.form-field label {

    margin-bottom: 10px;

    font-size: .92rem;

}

.form-field label span {

    color: var(--accent);

}

.form-field input {

    width: 100%;

    height: 45px;

    box-sizing: border-box;

    padding: 0 12px;

    border: 1px solid #ddd7d0;

    border-radius: 5px;

    background: #fff;

    color: var(--text);

    font-family: inherit;

    font-size: .92rem;

}

.form-field input:focus,

.questionnaire-form textarea:focus {

    outline: none;

    border-color: var(--accent);

}

.question-block {

    border: 0;

    padding: 0;

    margin: 0 0 62px;

}

.question-block legend {

    width: 100%;

    padding: 0;

    margin-bottom: 10px;

    font-size: 1.08rem;

    line-height: 1.55;

    font-weight: 500;

}

.question-number {

    margin-right: 7px;

    font-weight: 600;

}

.question-type {

    margin: 0 0 18px;

    font-size: .82rem;

    color: #88827d;

    line-height: 1.5;

}

.questionnaire-form textarea {

    display: block;

    width: 100%;

    min-height: 125px;

    box-sizing: border-box;

    resize: vertical;

    padding: 14px 15px;

    border: 1px solid #ddd7d0;

    border-radius: 5px;

    background: #fff;

    color: var(--text);

    font-family: inherit;

    font-size: .92rem;

    line-height: 1.6;

}

.questionnaire-form textarea::placeholder {

    color: #c9c5c1;

    opacity: 1;

}

.choice-list {

    border: 0;

    border-radius: 0;

    overflow: visible;

}

.choice {

    display: flex;

    align-items: center;

    gap: 12px;

    min-height: 48px;

    padding: 10px 14px;

    box-sizing: border-box;

    border-bottom: 0;

    cursor: pointer;

    font-size: .91rem;

    line-height: 1.45;

}


.choice input {

    flex: 0 0 auto;

    width: 17px;

    height: 17px;

    margin: 0;

    accent-color: var(--accent);

}

.choice span {

    display: block;

}

.questionnaire-submit {

    margin: 10px 0 30px;

    text-align: center;

}

.questionnaire-submit .button-primary {

    cursor: pointer;

}

/* =========================================================

   RESPONSIVE QUESTIONARIO

   ========================================================= */

@media (max-width: 700px) {

    .questionnaire-page {

    padding-top: 0px;

}

.questionnaire-page {

    margin-top: -80px !important;

}

    .questionnaire-page .section-heading {

        margin-bottom: 45px;

        padding-top: 0px;

    }
    .questionnaire-heading {

    padding-top: 0;

    margin-top: 0;

}

    .questionnaire-intro {

        margin-bottom: 45px;

    }

    .questionnaire-data {

        grid-template-columns: 1fr;

        gap: 18px;

        margin-bottom: 50px;

    }

    .form-field-age {

        max-width: 140px;

    }

    .question-block {

        margin-bottom: 48px;

    }

    .question-block legend {

        font-size: 1rem;

        line-height: 1.5;

    }

    .questionnaire-form textarea {

        min-height: 115px;

    }

    .choice {

        min-height: 50px;

        padding: 10px 12px;

        font-size: .88rem;

    }

}
/* =========================================================

   INTESTAZIONE QUESTIONARIO

   ========================================================= */

.questionnaire-heading {

    text-align: center;

    padding-top: 125px;

    margin-bottom: 75px;

}

.questionnaire-heading .section-label {

    display: block;

    margin-bottom: 22px;

    font-size: .75rem;

    font-weight: 600;

    letter-spacing: .18em;

    text-transform: uppercase;

    color: var(--accent);

}

.questionnaire-heading h1 {

    margin: 0;

    font-family: "Cormorant Garamond", serif;

    font-size: clamp(2.4rem, 5vw, 4rem);

    font-weight: 400;

    line-height: 1.1;

    color: var(--text);

}

.questionnaire-heading::after {

    content: "";

    display: block;

    width: 70px;

    height: 1px;

    margin: 32px auto 0;

    background: var(--accent);

}
.questionnaire-submit .button-primary {

    cursor: pointer;

}
.questionnaire-submit .button-primary {

    cursor: pointer;

    border: none;

    border-radius: 40px;

    padding: 15px 34px;

    background: var(--accent);

    color: #fff;

    font-family: inherit;

    font-size: inherit;

    appearance: none;

    -webkit-appearance: none;

}
/* =========================================================

   QUESTIONNAIRE THANK YOU PAGES

   ========================================================= */

.questionnaire-thanks-page .intro-content {

    text-align: center;

}

.questionnaire-thanks-page .questionnaire-thanks-message {

    margin-bottom: 0;

}

.questionnaire-thanks-page .questionnaire-thanks-message strong {

    font-weight: 500;

}

.questionnaire-thanks-page .button-primary {

    display: inline-block;

    margin-top: 15px;

}

.questionnaire-thanks-page {

    padding-top: 80px;

}
/* Spacing above the questionnaire thank-you heading */

.questionnaire-thanks-page .section-heading {

    padding-top: 60px;

}
/* Pagine di ringraziamento questionari */

.questionnaire-thanks-page {

    font-family: 'Raleway', sans-serif;

}

.questionnaire-thanks-page .section-label,

.questionnaire-thanks-page h1 {

    font-family: 'Cormorant Garamond', serif;

}

.questionnaire-thanks-page .intro-content {

    font-family: 'Raleway', sans-serif;

}

.questionnaire-thanks-page .button-primary {

    font-family: 'Raleway', sans-serif;

}
.questionnaire-thanks-page h1 {

    font-family: 'Cormorant Garamond', serif;

    font-size: 3.2rem;

    font-weight: 400;

}