
/* ====================================
PMU INFRACIGLIARE MONTEROTONDO
ELISA SFRAMELI BEAUTY STUDIO
==================================== */

/* ====================================
COLORI
==================================== */

:root{

--pink:#d97aa6;
--pink-light:#f0e1e8;

--ottanio:#0f7c82;
--ottanio-dark:#0b666b;
--ottanio-light:#eaf7f7;

--dark:#2b2b2b;
--text:#555555;

--white:#ffffff;

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

}

/* ====================================
RESET
==================================== */

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

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

color:var(--dark);

background:#fff;

line-height:1.7;

overflow-x:hidden;

}

img{

max-width:100%;

display:block;

}

a{

text-decoration:none;

}

.container{

width:90%;

max-width:1200px;

margin:auto;

}

section{

padding:100px 0;

scroll-margin-top:100px;

}

/* ====================================
HEADER
==================================== */

header{

position:sticky;

top:0;

z-index:9999;

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

backdrop-filter:blur(10px);

box-shadow:0 2px 15px rgba(0,0,0,.05);

transition:
    background .35s ease,
    box-shadow .35s ease;

}

header.scrolled{

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

box-shadow:0 8px 25px rgba(0,0,0,.08);

}

.header-container{

display:flex;

justify-content:space-between;

align-items:center;

padding:15px 0;

}

.logo img{

width:auto;

height:110px;

max-width:none;

display:block;

transition:transform .35s ease;

}

header.scrolled .logo img{

transform:scale(.85);

}

/* ====================================
MENU DESKTOP
==================================== */

nav ul{

list-style:none;

display:flex;

align-items:center;

gap:20px;

}

nav ul li{

list-style:none;

}

nav a{

color:var(--dark);

font-weight:500;

transition:.3s;

position:relative;

}

nav a:hover{

color:var(--ottanio);

}

nav a::after{

content:"";

position:absolute;

left:0;

bottom:-6px;

width:0;

height:2px;

background:var(--pink);

transition:.3s;

}

nav a:hover::after{

width:100%;

}

.menu-toggle{

display:none;

font-size:34px;

cursor:pointer;

color:var(--dark);

}

/* ====================================
BOTTONI
==================================== */

.btn-primary{

position:relative;

overflow:hidden;

background:var(--ottanio);

color:#fff;

padding:15px 30px;

border-radius:50px;

display:inline-block;

font-weight:600;

transition:
    transform .35s ease,
    box-shadow .35s ease,
    background .35s ease;

}

.btn-primary::before{

content:"";

position:absolute;

top:0;

left:-120%;

width:70%;

height:100%;

background:linear-gradient(

    90deg,

    transparent,

    rgba(255,255,255,.45),

    transparent

);

transform:skewX(-25deg);

transition:left .8s ease;

}

.btn-primary:hover{

background:var(--ottanio-dark);

transform:translateY(-2px);

box-shadow:0 14px 30px rgba(15,124,130,.22);

}

.btn-primary:hover::before{

left:150%;

}

.btn-secondary{

border:2px solid var(--pink);

color:var(--pink);

padding:15px 30px;

border-radius:50px;

display:inline-block;

font-weight:500;

transition:.3s;

}

.btn-secondary:hover{

background:var(--pink);

color:#fff;

transform:translateY(-2px);

}

.btn-whatsapp{

background:var(--pink);

color:#fff;

padding:15px 30px;

border-radius:50px;

display:inline-block;

font-weight:600;

transition:.3s;

}

.btn-whatsapp:hover{

transform:translateY(-2px);

}

/* ====================================
HERO PMU INFRACIGLIARE
==================================== */

.pmu-infracigliare-hero{

    position:relative;

    width:100%;

    min-height:90vh;

    overflow:hidden;

    margin:0 !important;

    padding:0 !important;

    background-color:#fff;

    display:flex;

    align-items:center;
}

.pmu-infracigliare-hero::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:1;

    pointer-events:none;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.32) 0%,
            rgba(255,255,255,.15) 28%,
            rgba(255,255,255,.04) 46%,
            rgba(255,255,255,0) 60%
        );
}

.pmu-infracigliare-hero-picture{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    z-index:0;

    pointer-events:none;

}

.pmu-infracigliare-hero-picture img{

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

    object-position:center center;

}

.pmu-infracigliare-hero-content{

max-width:700px;

margin-left:5%;

transform:translateY(-35px);

position:relative;

z-index:2;

}

.hero-subtitle{

color:var(--ottanio);

letter-spacing:4px;

font-weight:600;

margin-bottom:20px;

}

.pmu-infracigliare-hero-title{

display:flex;

flex-direction:column;

margin-bottom:25px;

text-transform:none;

}

.pmu-infracigliare-title-top{

font-family:'Cormorant Garamond',serif;

font-size:5.5rem;

line-height:1;

color:var(--dark);

font-weight:400;

text-transform:none;

}

.pmu-infracigliare-title-bottom{

font-family:'Allura',cursive;

font-size:6.8rem;

color:var(--pink);

line-height:.7;

margin-top:-10px;

font-weight:400;

font-style:normal;

text-transform:none;

}

.pmu-infracigliare-location{

font-family:'Cormorant Garamond',serif;

font-size:1.8rem;

font-weight:500;

color:var(--ottanio);

letter-spacing:.5px;

margin:10px 0 22px;

line-height:1.2;

}

.pmu-infracigliare-hero-description{

font-size:1.2rem;

color:var(--text);

margin-bottom:35px;

max-width:600px;

}

.hero-buttons{

display:flex;

gap:20px;

flex-wrap:wrap;

}

.rating{

margin-top:30px;

color:var(--ottanio);

font-weight:600;

}

/* ====================================
ANIMAZIONE HERO
==================================== */

.hero-subtitle,
.pmu-infracigliare-hero-title,
.pmu-infracigliare-location,
.pmu-infracigliare-hero-description,
.hero-buttons,
.rating{

opacity:0;

transform:translateY(20px);

animation:heroFade .8s ease forwards;

}

.hero-subtitle{

animation-delay:.2s;

}

.pmu-infracigliare-hero-title{

animation-delay:.45s;

}

.pmu-infracigliare-location{

animation-delay:.7s;

}

.pmu-infracigliare-hero-description{

animation-delay:.9s;

}

.hero-buttons{

animation-delay:1.15s;

}

.rating{

animation-delay:1.35s;

}

@keyframes heroFade{

from{

    opacity:0;
    transform:translateY(20px);

}

to{

    opacity:1;
    transform:translateY(0);

}

}

/* ====================================
TITOLI SEZIONI
==================================== */

.section-title{

text-align:center;

margin-bottom:50px;

}

.section-title h2{

font-family:'Cormorant Garamond',serif;

font-size:3.4rem;

line-height:1.15;

color:var(--dark);

}

.section-tag{

display:block;

text-align:center;

color:var(--ottanio);

font-weight:600;

letter-spacing:4px;

margin-bottom:15px;

}

.section-tag-left{

text-align:left;

}

.section-intro{

text-align:center;

max-width:800px;

margin:0 auto 60px;

color:var(--text);

}

/* ====================================
INTRODUZIONE
==================================== */

.pmu-infracigliare-intro{

background:#fff;

}

.intro-wrapper{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
    gap:60px;
    align-items:center;
    width:100%;
}

.intro-wrapper > *{
    min-width:0;
}

.intro-image{

position:relative;

}

.intro-image::before{

content:"";

position:absolute;

width:90%;

height:90%;

left:-20px;

bottom:-20px;

background:var(--pink-light);

border-radius:28px;

z-index:0;

}

.intro-image img{

position:relative;

z-index:1;

width:100%;

border-radius:28px;

box-shadow:var(--shadow);

}

.intro-content p{

margin-bottom:20px;

color:var(--text);

font-size:1.08rem;

}

.intro-content .btn-primary{

margin-top:15px;

}

/* ====================================
RISULTATO NATURALE
==================================== */

.natural-result{

background:

    linear-gradient(

        135deg,

        var(--ottanio-light),

        #fff 55%,

        var(--pink-light)

    );

}

.natural-result-wrapper{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
    gap:60px;
    align-items:center;
    width:100%;
}

.natural-result-wrapper > *{
    min-width:0;
}

.natural-result-content h2{

font-family:'Cormorant Garamond',serif;

font-size:3.4rem;

line-height:1.15;

margin-bottom:30px;

}

.natural-result-content p{

color:var(--text);

margin-bottom:20px;

font-size:1.08rem;

}

.natural-result-image{

position:relative;

}

.natural-result-image::after{

content:"";

position:absolute;

top:-18px;

right:-18px;

width:100%;

height:100%;

border:2px solid var(--pink);

border-radius:28px;

z-index:0;

}

.natural-result-image img{
    position:relative;
    z-index:1;
    width:100%;
    border-radius:28px;
    box-shadow:var(--shadow);
}

/* CORREZIONE CONTENIMENTO IMMAGINI */

.intro-image img,
.natural-result-image img{
    width:100%;
    max-width:100%;
    min-width:0;
    display:block;
    height:auto;
}

.intro-content,
.natural-result-content{
    min-width:0;
    max-width:100%;
    overflow-wrap:break-word;
}

.natural-highlight{

margin-top:30px;

padding:25px 28px;

border-left:5px solid var(--pink);

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

border-radius:0 18px 18px 0;

color:var(--ottanio-dark);

font-family:'Cormorant Garamond',serif;

font-size:1.45rem;

line-height:1.4;

}

/* ====================================
BENEFICI
==================================== */

.benefits{

background:#fff;

}

.benefits-grid{

display:grid;

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

gap:25px;

}

.benefit-card{

background:#fff;

padding:35px;

border-radius:24px;

border:1px solid rgba(217,122,166,.12);

box-shadow:0 8px 25px rgba(0,0,0,.06);

transition:
    transform .35s ease,
    box-shadow .35s ease,
    border-color .35s ease;

}

.benefit-card:hover{

transform:translateY(-10px);

border-color:rgba(15,124,130,.25);

box-shadow:0 20px 45px rgba(15,124,130,.15);

}

.benefit-number{

display:block;

font-family:'Cormorant Garamond',serif;

color:var(--pink);

font-size:2.8rem;

line-height:1;

margin-bottom:20px;

}

.benefit-card h3{

color:var(--ottanio);

font-size:1.25rem;

margin-bottom:15px;

}

.benefit-card p{

color:var(--text);

}


/* ====================================
PROCESSO
==================================== */

.process{

background:var(--pink-light);

}

.process-timeline{
    position:relative;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:28px;
    margin-top:20px;
    padding-top:20px;
}

.process-timeline::before{
    content:"";
    position:absolute;
    top:62px;
    left:10%;
    right:10%;
    height:2px;
    background:linear-gradient(
        90deg,
        rgba(217,122,166,.15),
        rgba(15,124,130,.30),
        rgba(217,122,166,.15)
    );
}

.process-step{
    position:relative;
    background:rgba(255,255,255,.82);
    border:1px solid rgba(15,124,130,.08);
    border-radius:26px;
    padding:34px 28px 30px;
    box-shadow:var(--shadow);
    backdrop-filter:blur(2px);
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}

.process-step:hover{
    transform:translateY(-10px);
    box-shadow:0 25px 55px rgba(15,124,130,.14);
    border-color:rgba(15,124,130,.18);
}

.process-step-marker{
    width:76px;
    height:76px;
    border-radius:50%;
    margin:0 auto 22px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg, var(--pink), #e79aba);
    color:#fff;
    box-shadow:0 12px 26px rgba(217,122,166,.22);
    position:relative;
    z-index:1;
    font-family:'Cormorant Garamond',serif;
    font-size:1.7rem;
    letter-spacing:.5px;
}

.process-step-content{
    text-align:left;
}

.process-step-content h3{

color:var(--ottanio);

margin:0 0 14px;

font-size:1.35rem;

}

.process-step-content p{

color:var(--text);

font-size:1.05rem;

line-height:1.75;

}

/* ====================================
   PRIMA E DOPO
==================================== */

.before-after-section{
    background:#fff;
}

.before-after-grid{
    max-width:1000px;
    margin:auto;
}

.before-after-card{
    background:#fff;
    padding:20px;
    border-radius:28px;
    box-shadow:var(--shadow);
}

.comparison-container{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
    gap:12px;
    width:100%;
}

.comparison-image{
    position:relative;
    overflow:hidden;
    border-radius:20px;
    aspect-ratio:3 / 4;
    min-width:0;
}

/* IMPOSTAZIONI COMUNI DELLE DUE FOTO */
.comparison-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
    transform-origin: center center;
    transition: transform .5s ease;
    will-change: transform;
    transform: scale(1);
}

/* EFFETTO HOVER UGUALE PER ENTRAMBE LE FOTO */
.comparison-image:hover img {
    transform: scale(1.04);
}

/* ETICHETTE PRIMA / DOPO */

.image-label{
    position:absolute;
    left:15px;
    bottom:15px;
    padding:7px 16px;
    background:rgba(15,124,130,.88);
    color:#fff;
    border-radius:50px;
    font-size:.8rem;
    font-weight:600;
    backdrop-filter:blur(5px);
    z-index:5;
}

/* MOBILE - PRIMA E DOPO (Base) */

@media (max-width:768px){
    .before-after-grid{
        width:100%;
        max-width:100%;
    }
    .before-after-card{
        width:100%;
        max-width:100%;
        padding:10px;
        border-radius:22px;
    }
    .comparison-container{
        display:grid;
        grid-template-columns:1fr;
        gap:12px;
        width:100%;
    }
    .comparison-image{
        width:100%;
        height:auto;
        aspect-ratio:auto;
        overflow:hidden;
        border-radius:16px;
    }
    .comparison-image img{
        width:100%;
        height:auto;
        max-width:100%;
        object-fit:contain;
        object-position:center;
        display:block;
    }
    .comparison-image img:not(.foto-dopo){ transform:none; }
    .comparison-image img.foto-dopo{ transform:none; }
    .comparison-image:hover img:not(.foto-dopo),
    .comparison-image:hover img.foto-dopo{ transform:none; }
    .image-label{
        left:10px;
        bottom:10px;
        padding:5px 12px;
        font-size:.7rem;
    }
}

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

.faq-section{

background:var(--ottanio-light);

}

.faq-wrapper{

max-width:850px;

margin:auto;

}

details{

background:#fff;

border:1px solid rgba(0,0,0,.04);

border-radius:14px;

margin-bottom:15px;

padding:20px 24px;

box-shadow:var(--shadow);

}

summary{

font-weight:600;

cursor:pointer;

list-style:none;

display:flex;

justify-content:space-between;

align-items:center;

gap:20px;

color:var(--dark);

}

summary::-webkit-details-marker{

display:none;

}

summary::after{

content:"+";

color:var(--ottanio);

font-size:1.5rem;

transition:transform .3s ease;

}

details[open] summary::after{

transform:rotate(45deg);

}

details p{

color:var(--text);

padding-top:18px;

}

/* ====================================
CTA
==================================== */

.pmu-infracigliare-cta{

position:relative;

overflow:hidden;

background:

    linear-gradient(

        135deg,

        var(--ottanio),

        #145f63

    );

color:#fff;

text-align:center;

}

.pmu-infracigliare-cta::before{

content:"";

position:absolute;

width:400px;

height:400px;

border-radius:50%;

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

top:-220px;

left:-120px;

}

.pmu-infracigliare-cta::after{

content:"";

position:absolute;

width:350px;

height:350px;

border-radius:50%;

background:rgba(217,122,166,.15);

right:-170px;

bottom:-230px;

}

.pmu-infracigliare-cta-content{

position:relative;

z-index:2;

max-width:850px;

}

.cta-small-title{

display:block;

letter-spacing:3px;

font-size:.85rem;

font-weight:600;

margin-bottom:20px;

color:#fff;

opacity:.85;

}

.pmu-infracigliare-cta h2{

font-family:'Cormorant Garamond',serif;

font-size:3.5rem;

line-height:1.15;

margin-bottom:25px;

}

.pmu-infracigliare-cta p{

max-width:750px;

margin:0 auto 35px;

font-size:1.1rem;

}

.pmu-infracigliare-cta .btn-primary{

background:var(--pink);

}

.pmu-infracigliare-cta .btn-primary:hover{

background:#c96795;

}

/* ====================================
FOOTER
==================================== */

footer{

background:#103d40;

color:#fff;

text-align:center;

padding:60px 20px;

}

.footer-container{

display:flex;

flex-direction:column;

align-items:center;

gap:25px;

}

.footer-logo{

height:60px;

width:auto;

object-fit:contain;

}

.footer-info p{

line-height:1.6;

opacity:.95;

font-size:.95rem;

margin-bottom:4px;

}

.footer-info .copyright{

margin-top:15px;

font-size:.85rem;

opacity:.7;

}

.footer-legal{

margin-top:10px;

font-size:.9rem;

}

.footer-legal a{

color:#fff;

opacity:.8;

transition:opacity .3s;

}

.footer-legal a:hover{

opacity:1;

text-decoration:underline;

}

.footer-legal .separator{

margin:0 10px;

opacity:.4;

}

/* ====================================
WHATSAPP FLOATING
==================================== */

.floating-whatsapp{

position:fixed;

right:20px;

bottom:20px;

background:#006d6f;

color:#fff;

padding:16px 24px;

border-radius:50px;

font-weight:600;

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

z-index:99999;

transition:.3s;

}

.floating-whatsapp:hover{

transform:translateY(-3px);

}

/* ====================================
COOKIE BANNER
==================================== */

.cookie-banner{

position:fixed;

bottom:0;

left:0;

width:100%;

background:#fff;

box-shadow:0 -5px 25px rgba(0,0,0,.15);

z-index:999999;

transform:translateY(100%);

transition:transform .5s ease-in-out;

display:flex;

justify-content:center;

}

.cookie-banner.show{

transform:translateY(0);

}

.cookie-content{

width:90%;

max-width:1200px;

padding:20px 0;

display:flex;

align-items:center;

justify-content:space-between;

gap:20px;

flex-wrap:wrap;

}

.cookie-content p{

margin:0;

font-size:.95rem;

color:var(--text);

flex:1;

min-width:280px;

line-height:1.5;

}

.cookie-content a{

color:var(--ottanio);

font-weight:600;

text-decoration:underline;

}

.cookie-buttons{

display:flex;

gap:15px;

flex-wrap:wrap;

}

.cookie-buttons button{

cursor:pointer;

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

font-size:.95rem;

padding:12px 24px;

border-radius:50px;

}

.cookie-btn-reject{

color:#9f4568;

border-color:#9f4568;

background:#fff;

}

/* ====================================
ANIMAZIONI SEZIONI
==================================== */

.fade-section{

opacity:0;

transform:translateY(40px);

transition:
    opacity .8s ease,
    transform .8s ease;

}

.fade-section.show{

opacity:1;

transform:translateY(0);

}

.benefit-card,
.process-card,
.before-after-card{

opacity:0;

transform:translateY(25px);

transition:
    opacity .6s ease,
    transform .6s ease,
    box-shadow .35s ease;

}

.benefit-card.show,
.process-card.show,
.before-after-card.show{

opacity:1;

transform:translateY(0);

}

/* ====================================
RESPONSIVE TABLET
769px - 1366px
==================================== */

@media (min-width:769px) and (max-width:1366px){

.container{

    width:90% !important;

    margin:0 auto !important;

    padding-left:0 !important;

    padding-right:0 !important;

}


.menu-toggle{

    display:block !important;

    font-size:34px;

    cursor:pointer;

}


.btn-whatsapp{

    display:none !important;

}


.header-container{

    width:90% !important;

    margin:auto !important;

    flex-wrap:wrap;

}


nav{

    width:100%;

}


nav ul{

    display:none;

    flex-direction:column;

    width:100%;

    text-align:center;

    gap:18px;

    padding:25px 0;

    background:#fff;

}


nav ul.active{

    display:flex !important;

}


.logo img{

    height:75px;

}



/* HERO TABLET */


.pmu-infracigliare-hero{

        min-height:85vh;

        padding:0 !important;
    }

    .pmu-infracigliare-hero-picture img{

        object-position:center center;
    }


.pmu-infracigliare-hero-content{

    margin-left:0 !important;

    padding-left:20px !important;

    padding-right:15px !important;

    max-width:400px;

    transform:translateY(-20px);

}


.hero-subtitle{

    font-size:.95rem;

    letter-spacing:2.5px;

    line-height:1.4;

    margin-bottom:18px;

}


.pmu-infracigliare-title-top{

    font-family:'Cormorant Garamond',serif;

    font-size:4rem;

    line-height:1;

}


.pmu-infracigliare-title-bottom{

    font-family:'Allura',cursive;

    font-size:5.2rem;

    line-height:.9;

    margin-top:-6px;

}


.pmu-infracigliare-location{

    font-size:1.45rem;

    margin:12px 0 20px;

}


.pmu-infracigliare-hero-description{

    font-size:1.02rem;

    line-height:1.6;

    margin-bottom:28px;

    color:#333;

}


.hero-buttons{

    flex-direction:column;

    align-items:flex-start;

    gap:14px;

    width:100%;

}


.hero-buttons .btn-primary,
.hero-buttons .btn-secondary{

    width:100%;

    text-align:center;

    padding:15px 28px;

}


.hero-buttons .btn-secondary{

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

    color:#b84a7e;

    font-weight:600;

}


.rating{

    margin-top:22px;

    font-size:.9rem;

}



/* SEZIONI */


section{

    padding:80px 0;

}


.section-title h2,
.natural-result-content h2{

    font-size:2.8rem;

}


.intro-wrapper,
.natural-result-wrapper{

    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);

    gap:35px;

    width:100%;

}


.intro-wrapper > *,
.natural-result-wrapper > *{

    min-width:0;

}


.benefits-grid{

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

}


.process-grid{

    grid-template-columns:1fr;

}


.process-card{

    display:grid;

    grid-template-columns:1fr 1fr;

    align-items:center;

}


.process-image img{

    height:100%;

    min-height:300px;

}


.pmu-infracigliare-cta h2{

    font-size:2.8rem;

}


.floating-whatsapp{

    right:15px;

    bottom:15px;

    padding:14px 20px;

}

}

/* ====================================
RESPONSIVE MOBILE
MAX 768px
==================================== */

@media (max-width:768px){

.container{

    width:90% !important;

    margin:0 auto !important;

    padding-left:0 !important;

    padding-right:0 !important;

}


.menu-toggle{

    display:block !important;

    font-size:34px;

    cursor:pointer;

}


.btn-whatsapp{

    display:none !important;

}


.header-container{

    width:90% !important;

    margin:auto !important;

    flex-wrap:wrap;

}


nav{

    width:100%;

}


nav ul{

    display:none;

    flex-direction:column;

    width:100%;

    text-align:center;

    gap:18px;

    padding:25px 0;

    background:#fff;

}


nav ul.active{

    display:flex !important;

}


.logo img{

    height:75px;

}



/* HERO MOBILE */


.pmu-infracigliare-hero{

        min-height:85vh;

        padding:0 !important;
    }

    .pmu-infracigliare-hero-picture img{

        object-position:center center;
    }


.pmu-infracigliare-hero-content{

    margin-left:0 !important;

    padding-left:18px !important;

    padding-right:10px !important;

    max-width:310px;

    transform:translateY(-25px);

}


.hero-subtitle{

    font-size:.82rem;

    letter-spacing:2px;

    line-height:1.4;

    max-width:200px;

    margin-bottom:15px;

}


.pmu-infracigliare-title-top{

    font-family:'Cormorant Garamond',serif;

    font-size:3.1rem;

    line-height:1;

    text-transform:none;

}


.pmu-infracigliare-title-bottom{

    font-family:'Allura',cursive;

    font-size:4.1rem;

    margin-top:-5px;

    line-height:.9;

    text-transform:none;

}


.pmu-infracigliare-location{

    font-size:1.2rem;

    margin-bottom:20px;

}


.pmu-infracigliare-hero-description{

    font-size:.92rem;

    line-height:1.5;

    margin-bottom:25px;

    color:#333;

}


.hero-buttons{

    flex-direction:column;

    align-items:flex-start;

    gap:12px;

    width:100%;

}


.hero-buttons .btn-primary{

    width:100%;

    text-align:center;

    padding:13px 25px;

}


.hero-buttons .btn-secondary{

    width:100%;

    text-align:center;

    padding:13px 25px;

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

    color:#b84a7e;

    font-weight:600;

}


.rating{

    margin-top:20px;

    font-size:.8rem;

}



/* SEZIONI MOBILE */


section{

    padding:75px 0;

}


.section-title{

    margin-bottom:35px;

}


.section-title h2,
.natural-result-content h2{

    font-size:2.5rem;

}


.section-tag{

    font-size:.82rem;

    letter-spacing:3px;

}


.section-tag-left{

    text-align:center;

}


.section-intro{

    margin-bottom:45px;

}


.intro-wrapper,
.natural-result-wrapper{

    grid-template-columns:1fr;

    gap:40px;

}


.intro-content,
.natural-result-content{

    text-align:left;

}


.intro-image{

    width:95%;

    margin:auto;

}


.intro-image::before{

    left:-12px;

    bottom:-12px;

}


.natural-result-image{

    width:95%;

    margin:auto;

}


.natural-result-image::after{

    top:-10px;

    right:-10px;

}


.natural-highlight{

    font-size:1.25rem;

}


.benefits-grid{

    grid-template-columns:1fr;

    gap:20px;

}


.benefit-card{

    padding:28px;

}


/* ====================================
TIMELINE MOBILE
==================================== */

.process-timeline{
    display:flex;
    flex-direction:column;
    width:100%;
    max-width:100%;
    gap:22px;
    margin-top:20px;
    padding-top:0;
    overflow:visible;
}

.process-timeline::before{
    content:"";
    position:absolute;
    top:30px;
    bottom:30px;
    left:31px;
    right:auto;
    width:2px;
    height:auto;

    background:linear-gradient(
        180deg,
        rgba(217,122,166,.25),
        rgba(15,124,130,.45),
        rgba(217,122,166,.25)
    );
}

.process-step{
    width:100%;
    max-width:100%;
    min-width:0;

    display:grid;
    grid-template-columns:62px minmax(0,1fr);
    gap:20px;

    align-items:start;

    padding:24px 20px 24px 0;

    border-radius:22px;

    overflow:hidden;
}

.process-step-marker{
    width:62px;
    height:62px;

    margin:0;

    font-size:1.4rem;

    flex-shrink:0;
}

.process-step-content{
    min-width:0;
    max-width:100%;
    padding-top:4px;
}

.process-step-content h3{
    font-size:1.3rem;
    line-height:1.2;
    margin:0 0 10px;

    overflow-wrap:break-word;
}

.process-step-content p{
    width:100%;
    max-width:100%;

    font-size:.96rem;
    line-height:1.65;

    overflow-wrap:break-word;
    word-break:normal;
}


.comparison-container{

    grid-template-columns:1fr;

}


.before-after-card{

    padding:12px;

}


details{

    padding:18px 20px;

}


summary{

    font-size:.95rem;

}


.pmu-infracigliare-cta h2{

    font-size:2.5rem;

}


.pmu-infracigliare-cta p{

    font-size:1rem;

}


.floating-whatsapp{

    right:15px;

    bottom:15px;

    padding:14px 20px;

}



/* COOKIE */


.cookie-content{

    flex-direction:column;

    text-align:center;

    padding:20px 15px;

}


.cookie-buttons{

    justify-content:center;

    width:100%;

    flex-direction:column;

    gap:10px;

}


.cookie-buttons button{

    width:100%;

    text-align:center;

}

}

/* ====================================
EXTRA SMALL DEVICES
MAX 480px
==================================== */

@media (max-width:480px){

.pmu-infracigliare-hero-content{

    max-width:250px;

    padding-left:10px !important;

}

.pmu-infracigliare-title-top{

    font-size:2.6rem;

}

.pmu-infracigliare-title-bottom{

    font-size:3.4rem;

}

.section-title h2,
.natural-result-content h2{

    font-size:2.2rem;

}

.pmu-infracigliare-cta h2{

    font-size:2.2rem;

}

.hero-buttons a,
.btn-primary,
.btn-secondary{

    width:100%;

    text-align:center;

}

}

/* Monitor ultrawide */
@media (min-width: 1920px){

    .pmu-infracigliare-hero-picture img{
        object-position: center 100%;
    }

}

/* =========================================================
   iOS FIX - Safari / Chrome on iPhone
========================================================= */
@supports (-webkit-touch-callout: none) {
  html,
  body {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  .hero-buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 12px;
    max-width: 100%;
  }

  .hero-buttons > * {
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    align-self: flex-start;
    box-sizing: border-box;
  }

  .hero-buttons .btn-primary,
  .hero-buttons .btn-secondary,
  .hero-buttons .btn-whatsapp,
  .hero-buttons a,
  .hero-button,
  .product-modal-text .btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    text-align: center;
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* Mobile hero buttons compact override */
@media (max-width: 768px) {
  .hero-buttons > a,
  .hero-buttons .btn-primary,
  .hero-buttons .btn-secondary {
    width: fit-content !important;
    max-width: 100% !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 10px 18px !important;
    font-size: 0.9rem !important;
    line-height: 1.2;
    white-space: nowrap !important;
    flex: 0 0 auto;
  }
}
