:root{--pink:#ef8fb2;--rose:#fff1f6;--ink:#332936;--muted:#7b6b77;--line:#f2d7e3;--card:rgba(255,255,255,.86);--shadow:0 24px 80px rgba(137,67,96,.18)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:linear-gradient(135deg,#fff 0,#fff4f8 45%,#f7fbff 100%)}.top{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:18px 42px;background:rgba(255,255,255,.72);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{font-weight:900;font-size:20px}.brand span{color:var(--pink)}a{color:inherit;text-decoration:none}.top div a{margin-left:22px;color:#6e5c69;font-weight:700}.hero{min-height:74vh;display:grid;grid-template-columns: 520px 1fr;;;gap:48px;align-items:center;padding:72px 7vw}.hero h1{font-size:clamp(44px,5vw,78px);line-height:.95;margin:10px 0}.hero p{font-size:20px;color:var(--muted);max-width:720px}.hero img{width:100%;border-radius:38px;box-shadow:var(--shadow);aspect-ratio:4/3;object-fit:cover}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:#d86c98;font-weight:900;font-size:12px}.btn,button{border:0;border-radius:18px;background:linear-gradient(135deg,#ee7ead,#cf5e8d);color:white;padding:14px 22px;font-weight:900;box-shadow:0 14px 30px rgba(207,94,141,.28);cursor:pointer;display:inline-block}.btn.ghost{background:white;color:#c45b85}.full{width:100%;margin-top:18px}.engage,.about,.page{padding:70px 7vw}.engage h2,.about h2,.page h1{font-size:42px;margin-top:0}.split{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:28px;background:var(--card);border:1px solid var(--line);border-radius:34px;padding:28px;margin:22px 0;box-shadow:var(--shadow)}.split.reverse{grid-template-columns:1.2fr .8fr}.visual{min-height:220px;border-radius:28px;display:grid;place-items:center;text-align:center;color:white;font-size:38px;font-weight:900;background:radial-gradient(circle at top left,#ffd1df,#e56d9b 60%,#c64d7c)}.visual.soft{background:linear-gradient(135deg,#fff,#ffd6e4);color:#d75e91}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}.cards article,.about{background:var(--card);border:1px solid var(--line);border-radius:30px;padding:28px;box-shadow:var(--shadow)}.muted,small{color:var(--muted)}footer{text-align:center;padding:36px;color:var(--muted)}.login-wrap{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:40px;background:radial-gradient(circle at 50% 10%,#ffe1eb,transparent 42%)}.login-card{width:min(480px,94vw);padding:42px;border-radius:38px;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center}.login-icon{width:72px;height:72px;display:grid;place-items:center;margin:0 auto 10px;border-radius:24px;background:#ffe2ec;color:#c75282;font-size:34px}.login-card h1{font-size:42px;margin:8px 0}.login-card input,.booking input,.booking textarea,.stack input,.stack textarea,.slot-form input{width:100%;border:1px solid var(--line);border-radius:16px;padding:14px;background:white;font:inherit}.error{background:#fff0f2;color:#b11d4b;border:1px solid #ffc1d1;padding:12px;border-radius:14px;margin:12px 0}.admin{padding:34px 4vw 70px}.admin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.admin-head h1{font-size:48px;margin:0}.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}.kpi div{background:linear-gradient(180deg,#fff,#fff7fa);border:1px solid var(--line);border-radius:26px;padding:24px;box-shadow:var(--shadow)}.kpi b{font-size:40px;display:block}.kpi span{color:var(--muted);font-weight:800}.admin-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:22px;margin-bottom:22px}.agenda-first{grid-template-columns:1.65fr .65fr}.panel{background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:32px;padding:24px;box-shadow:var(--shadow)}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel-title h2{margin:0;font-size:28px}.panel-title span{color:#c45b85;font-weight:900}.agenda{min-height:440px}.slot-form{display:grid;grid-template-columns:1fr 1fr 1.3fr auto;gap:12px;margin-bottom:16px}.slot-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.slot,.mini{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff7fa;border:1px solid var(--line);border-radius:20px;padding:15px}.slot span,.mini span{display:block;color:var(--muted);font-size:13px}.slot a,td a{color:#d25083;font-weight:900}.quick{display:block;width:100%;text-align:center;margin:10px 0;padding:14px;border-radius:18px;background:#fff3f8;border:1px solid var(--line);font-weight:900}table{width:100%;border-collapse:collapse}th{text-align:left;color:#a7567b;font-size:12px;text-transform:uppercase}td,th{padding:14px;border-bottom:1px solid var(--line)}.stack,.booking{display:grid;gap:12px}.booking{max-width:720px}.booking textarea,.stack textarea{min-height:105px;resize:vertical}@media(max-width:900px){.hero,.split,.split.reverse,.cards,.kpi,.admin-grid,.agenda-first{grid-template-columns:1fr}.slot-form,.slot-list{grid-template-columns:1fr}.top{padding:16px 18px}.top div a{margin-left:10px}.admin-head{display:block}.hero{padding-top:40px}}

/* === HOME POLISHED === */
.glass-top{padding:16px 42px;background:rgba(255,255,255,.84);box-shadow:0 10px 28px rgba(105,50,78,.07)}
.brand-card{display:flex;align-items:center;gap:16px}
.brand-logo{width:60px;height:60px;border-radius:20px;background:linear-gradient(135deg,#8f2f61,#da6f99);color:#fff;display:grid;place-items:center;font-weight:950;font-size:24px;box-shadow:0 18px 40px rgba(143,47,97,.22)}
.brand-card strong{display:block;font-size:22px;line-height:1;color:#332936}.brand-card small{display:block;margin-top:7px;color:#86737f;font-size:15px}.nav-links a{font-size:21px;font-weight:900;color:#604b58;margin-left:26px}
.hero-screenshot{min-height:78vh;grid-template-columns:1.06fr .94fr;padding:92px 7vw 80px;background:linear-gradient(135deg,#fffafd 0,#fff2f7 52%,#fff8fb 100%);border-bottom:1px solid #f1d7e2}.hero-copy h1{font-size:clamp(54px,5.4vw,92px);letter-spacing:-.06em;line-height:.94;max-width:800px}.hero-copy p:not(.eyebrow){font-size:24px;line-height:1.65;max-width:760px}.hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:28px}.hero-media-card{border-radius:42px;background:rgba(255,255,255,.72);box-shadow:0 36px 100px rgba(129,66,96,.18);overflow:hidden;padding-bottom:24px}.hero-media-card img{width:100%;height:430px;object-fit:cover;display:block;border-radius:0;box-shadow:none}.availability{display:flex;justify-content:space-between;align-items:center;margin:18px 28px 0;padding:24px 30px;border-radius:28px;background:rgba(255,255,255,.88);font-size:22px}.availability span{color:#493b43}.home-section{padding:72px 7vw}.intro-strip{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center;background:white}.intro-strip h2{font-size:54px;line-height:1;margin:0}.intro-strip p:last-child{font-size:22px;line-height:1.7;color:var(--muted);margin:0}.story-grid{
    padding:28px 7vw 80px;
    display:grid;
    gap:44px;
    background:linear-gradient(180deg,#fff,#fff6fa);
}
.story-card{display:grid;grid-template-columns:.92fr 1.08fr;gap:0;align-items:stretch;min-height:360px;background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:40px;box-shadow:0 28px 80px rgba(137,67,96,.14);overflow:hidden}.story-card.large{min-height:440px}.story-card.reverse{grid-template-columns:1.08fr .92fr}.story-card.reverse .story-image{order:2}.story-image{background:#ffe1ec;min-height:320px}.story-image img{width:100%;height:100%;object-fit:cover;display:block}.story-text{padding:48px;display:flex;flex-direction:column;justify-content:center}.story-text span{color:#d96f99;text-transform:uppercase;letter-spacing:.15em;font-size:13px;font-weight:950}.story-text h3{font-size:42px;line-height:1.04;margin:14px 0 16px;letter-spacing:-.035em}.story-text p{font-size:20px;line-height:1.65;color:var(--muted);margin:0}.about-luxury{padding:0 7vw 90px;background:#fff6fa}.about-panel{border-radius:44px;padding:64px;background:radial-gradient(circle at 12% 0,#ffe1ec,transparent 38%),linear-gradient(135deg,#fff,#fff5f9);border:1px solid var(--line);box-shadow:0 30px 90px rgba(137,67,96,.15)}.about-panel h2{font-size:56px;line-height:1;letter-spacing:-.045em;margin:8px 0 20px}.about-panel p:not(.eyebrow){font-size:21px;line-height:1.75;color:var(--muted);max-width:1050px}.about-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.about-tags span{padding:12px 16px;border-radius:999px;background:white;border:1px solid var(--line);font-weight:900;color:#9d3f68}
@media(max-width:900px){.glass-top{padding:14px 18px}.brand-logo{width:48px;height:48px;border-radius:16px}.brand-card small{display:none}.nav-links a{font-size:16px;margin-left:10px}.hero-screenshot,.intro-strip,.story-card,.story-card.reverse{grid-template-columns:1fr}.hero-copy h1{font-size:48px}.hero-copy p:not(.eyebrow){font-size:18px}.hero-media-card img{height:280px}.availability{font-size:16px;margin:14px;padding:18px}.intro-strip h2,.about-panel h2{font-size:38px}.story-card.reverse .story-image{order:0}.story-text{padding:30px}.story-text h3{font-size:32px}.about-panel{padding:34px}}

/* === GRAND HOME REFINEMENT === */
.poster-title{font-family:'Arial Narrow','Helvetica Neue Condensed','Impact',Inter,Arial,sans-serif;text-transform:uppercase;letter-spacing:.055em;color:#e04b91;font-weight:900;text-shadow:0 1px 0 rgba(255,255,255,.55)}
.mortalita-card .story-image{background:#ffd1df;display:grid;place-items:center;padding:26px}
.mortalita-card .story-image img{
    width:100%;
    height:100%;
    object-fit:cover;

    border-radius;

    box-shadow:none;

    display:block;
}
.premium-banners .story-card{min-height:390px}
.service-pills,.about-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px align-items:stretch;}
.service-pills a,.about-tags a{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:999px;background:linear-gradient(180deg,#fff,#fff7fb);border:1px solid var(--line);font-weight:950;color:#a93f70;box-shadow:0 10px 24px rgba(155,62,106,.09);transition:transform .18s ease, box-shadow .18s ease, background .18s ease}
.service-pills a:hover,.about-tags a:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(155,62,106,.16);background:#fff}
.whatsapp-float{
    position:fixed;
    right:28px;
    bottom:28px;

    width:74px;
    height:74px;

    border-radius:50%;

    background:linear-gradient(145deg,#32d951,#20ba5a);

    display:flex;
    align-items:center;
    justify-content:center;

    box-shadow:
        0 12px 35px rgba(37,211,102,.35),
        0 4px 12px rgba(0,0,0,.12);

    z-index:999999;

    transition:
        transform .25s ease,
        box-shadow .25s ease;

    text-decoration:none;
}
.service-page{min-height:calc(100vh - 96px);padding:68px 7vw 90px;background:radial-gradient(circle at 16% 0,#ffe0ec,transparent 38%),linear-gradient(135deg,#fffafd,#fff2f7)}.back-link{display:inline-flex;margin-bottom:18px;color:#a64672;font-weight:950}.service-hero-card{max-width:1050px;margin:auto;background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:46px;padding:64px;box-shadow:0 30px 95px rgba(137,67,96,.16)}.service-hero-card h1{font-size:clamp(46px,6vw,84px);line-height:.96;letter-spacing:-.055em;margin:8px 0 12px}.service-hero-card h2{font-size:28px;line-height:1.25;color:#9b426c;margin:0 0 24px}.service-hero-card p{font-size:22px;line-height:1.72;color:var(--muted)}.definition-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:32px 0}.definition-grid div{background:#fff7fa;border:1px solid var(--line);border-radius:24px;padding:22px;display:flex;gap:14px;align-items:center}.definition-grid span{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:#e978a5;color:white;font-weight:950}.definition-grid b{font-size:18px}.elite-login{background:radial-gradient(circle at 50% 0,#ffe0ec 0,transparent 42%),linear-gradient(135deg,#fffafd,#fff3f8 55%,#f8fbff)}.elite-login-card{position:relative;overflow:hidden;border-radius:46px}.elite-login-card:before{content:"";position:absolute;inset:-80px -90px auto auto;width:220px;height:220px;border-radius:50%;background:rgba(225,86,142,.12)}.login-orbit{position:absolute;inset:0;pointer-events:none}.login-orbit span{position:absolute;color:#e979a5;font-weight:900;opacity:.55}.login-orbit span:nth-child(1){left:44px;top:52px}.login-orbit span:nth-child(2){right:54px;top:72px}.login-orbit span:nth-child(3){right:92px;bottom:74px}.pin-label{text-align:left;font-size:13px;text-transform:uppercase;letter-spacing:.13em;font-weight:950;color:#a7567b}.elite-login-card input{font-size:24px;text-align:center;letter-spacing:.25em;font-weight:900}.elite-login-card .login-icon{background:linear-gradient(135deg,#8f2f61,#da6f99);color:white;font-weight:950;box-shadow:0 16px 36px rgba(143,47,97,.22)}
@media(max-width:900px){.mortalita-card .story-image{ width:100%;
height:100%;padding:14px}.definition-grid{grid-template-columns:1fr}.service-hero-card{padding:34px}.telegram-float{width:56px;height:56px;right:16px;bottom:16px}.telegram-float svg{width:56px;height:56px}}


/* === QUIZ + EMBRIONE HERO UPDATE === */
.embryo-hero{position:relative;overflow:hidden}.embryo-hero:before{content:"";position:absolute;right:6vw;top:80px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,209,223,.85),rgba(255,209,223,0) 68%);filter:blur(10px);pointer-events:none}.embryo-card{background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,244,249,.86));position:relative}.orb-stage{height:430px;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 43%,#fff 0,#fff8fb 34%,#fde2ec 64%,#f7d1df 100%)}.orb-stage:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 44%,transparent 42%,rgba(255,255,255,.72) 72%,rgba(255,244,249,.96) 100%);pointer-events:none}.embryo-orb{position:relative;z-index:3;width:108%;height:108%;object-fit:cover;object-position:center 42%;border-radius:0!important;box-shadow:none!important;animation:embryoFloat 6s ease-in-out infinite, embryoGlow 4.8s ease-in-out infinite;filter:drop-shadow(0 0 24px rgba(255,152,190,.58)) saturate(1.05)}.orb-glow{position:absolute;z-index:2;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,#fff 0,#ffdbe8 38%,rgba(255,134,180,.3) 62%,transparent 74%);filter:blur(2px);animation:pulseGlow 3.8s ease-in-out infinite}.orb-ring{position:absolute;z-index:1;border:1px solid rgba(205,87,135,.18);border-radius:50%;animation:slowSpin 12s linear infinite}.ring-one{width:340px;height:340px}.ring-two{width:470px;height:470px;animation-duration:18s;animation-direction:reverse}@keyframes embryoFloat{0%,100%{transform:translateY(0) scale(1.01)}50%{transform:translateY(-12px) scale(1.035)}}@keyframes embryoGlow{0%,100%{filter:drop-shadow(0 0 22px rgba(255,152,190,.45)) saturate(1.02)}50%{filter:drop-shadow(0 0 42px rgba(255,118,174,.8)) saturate(1.12)}}@keyframes pulseGlow{0%,100%{transform:scale(.92);opacity:.66}50%{transform:scale(1.08);opacity:.95}}@keyframes slowSpin{from{transform:rotate(0deg) scale(1)}to{transform:rotate(360deg) scale(1.02)}}
.quiz-section{padding:86px 7vw;background:linear-gradient(180deg,#fff,#fff5fa);display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;align-items:center}.quiz-intro{padding:30px}.quiz-intro h2{font-size:clamp(42px,4.5vw,68px);line-height:.98;letter-spacing:-.055em;margin:8px 0 18px}.quiz-intro p:not(.eyebrow){font-size:21px;line-height:1.7;color:var(--muted)}.quiz-card{position:relative;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:42px;padding:36px;box-shadow:0 34px 90px rgba(137,67,96,.16);overflow:hidden}.quiz-card:before{content:"";position:absolute;inset:-110px -90px auto auto;width:240px;height:240px;border-radius:50%;background:rgba(226,104,153,.12)}.quiz-progress{height:10px;background:#f7d8e4;border-radius:999px;overflow:hidden;margin-bottom:22px}.quiz-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#d85d91,#f19abb);border-radius:999px;transition:width .35s ease}.quiz-topline{display:flex;justify-content:space-between;align-items:center;gap:14px;color:#a74b75;font-weight:950;margin-bottom:18px}.quiz-reset{background:#fff7fa;color:#a74b75;box-shadow:none;border:1px solid var(--line);padding:10px 14px;border-radius:999px}.quiz-card h3{font-size:34px;line-height:1.15;letter-spacing:-.03em;margin:0 0 24px}.quiz-answers{display:grid;gap:12px}.quiz-answers button{width:100%;text-align:left;background:linear-gradient(180deg,#fff,#fff7fb);color:#4a3743;border:1px solid var(--line);box-shadow:none;border-radius:22px;padding:18px 20px;font-size:17px;transition:transform .16s ease, box-shadow .16s ease, border .16s ease}.quiz-answers button:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(155,62,106,.12);border-color:#eaa8c3}.quiz-result{background:linear-gradient(135deg,#fff7fa,#fff);border:1px solid var(--line);border-radius:30px;padding:28px;margin-top:10px}.result-badge{display:inline-flex;padding:9px 13px;border-radius:999px;background:#e978a5;color:#fff;font-weight:950}.quiz-result h3{margin:16px 0 10px}.quiz-result p{font-size:20px;line-height:1.65;color:var(--muted)}.quiz-result small{display:block;margin:8px 0 20px;color:#8e7a86}@media(max-width:900px){.quiz-section{grid-template-columns:1fr;padding:54px 5vw}.quiz-card{padding:24px;border-radius:30px}.quiz-card h3{font-size:26px}.orb-stage{height:320px}.embryo-orb{width:120%;height:120%}}
p,
span,
li,
a,
input,
textarea,
label,
button{
    font-family: "Times New Roman", serif;
}
.specialista-rosa{
    font-family:"Times New Roman", serif !important;
    color:#e54893 !important;
    font-size:54px !important;
    line-height:1.05 !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
}
.logo strong{
    font-size:42px;
    font-weight:700;
}

.logo small{
    font-size:20px;
    letter-spacing:1px;
}
.prof-musitano{
    font-family:"Times New Roman", serif;
    font-style:italic;
    font-size:30px;
    color:#6d6272;
    letter-spacing:3px;
    text-transform:none;
}
.hero-titoli{
    font-family:"Times New Roman", serif;
    color:#6d6272;
    font-size:24px;
    line-height:1.8;
}
.booking-luxury-page{
    min-height:calc(100vh - 120px);
    padding:90px 7%;
    background:
        radial-gradient(circle at 8% 92%, rgba(255,255,255,.95) 0 7%, transparent 8%),
        radial-gradient(circle at 95% 10%, rgba(255,255,255,.35) 0 13%, transparent 14%),
        linear-gradient(135deg,#fff4f8 0%,#ffd7e8 48%,#f7a5ca 100%);
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:60px;
    align-items:center;
}

.booking-copy span{
    color:#e54893;
    text-transform:uppercase;
    letter-spacing:4px;
    font-weight:800;
    font-size:18px;
}

.booking-copy h1{
    margin:28px 0;
    font-family:"Times New Roman", serif;
    font-size:76px;
    line-height:.98;
    color:#8d2e55;
}

.booking-copy h1 em{
    color:#e54893;
}

.booking-copy p{
    font-family:"Times New Roman", serif;
    font-size:26px;
    line-height:1.55;
    color:#554451;
    max-width:520px;
}

.booking-benefits{
    margin-top:50px;
    display:flex;
    flex-direction:column;
    gap:24px;
}

.booking-benefits div{
    display:grid;
    grid-template-columns:50px 1fr;
    column-gap:18px;
    align-items:center;
}

.booking-benefits b{
    width:46px;
    height:46px;
    border:2px solid #e54893;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#e54893;
    font-size:24px;
}

.booking-benefits strong{
    color:#d94188;
    font-size:18px;
}

.booking-benefits small{
    grid-column:2;
    font-family:"Times New Roman", serif;
    color:#6b5965;
    font-size:16px;
}

.booking-luxury-form{
    background:rgba(255,255,255,.62);
    backdrop-filter:blur(22px);
    border:1px solid rgba(255,255,255,.75);
    border-radius:42px;
    padding:48px;
    box-shadow:0 30px 80px rgba(175,57,111,.22);
}

.booking-fields{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
}

.booking-luxury-form label{
    background:rgba(255,255,255,.70);
    border:1px solid #f5c6db;
    border-radius:24px;
    padding:18px 22px;
    font-family:"Times New Roman", serif;
    color:#4b3545;
    font-size:18px;
    box-shadow:0 10px 30px rgba(229,72,147,.07);
}

.booking-luxury-form input,
.booking-luxury-form textarea{
    margin-top:14px;
    width:100%;
    border:none;
    outline:none;
    background:transparent;
    font-family:"Times New Roman", serif;
    font-size:18px;
    color:#4b3545;
}

.booking-luxury-form input::placeholder,
.booking-luxury-form textarea::placeholder{
    color:#a98799;
}

.booking-luxury-form .full{
    display:block;
    margin-top:24px;
}

.booking-luxury-form textarea{
    min-height:125px;
    resize:vertical;
}

.booking-consent{
    margin-top:20px;
    display:flex !important;
    gap:16px;
    align-items:flex-start;
}

.booking-consent input{
    width:22px;
    height:22px;
    margin-top:0;
    accent-color:#e54893;
    flex:0 0 auto;
}

.booking-consent span{
    line-height:1.45;
}

.booking-luxury-form button{
    width:100%;
    margin-top:26px;
    border:none;
    border-radius:22px;
    padding:22px;
    background:linear-gradient(135deg,#df2f7c,#ff6cab);
    color:white;
    text-transform:uppercase;
    letter-spacing:3px;
    font-size:18px;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 18px 35px rgba(223,47,124,.35);
}

.safe-note{
    display:block;
    text-align:center;
    margin-top:18px;
    color:#8b7180;
    font-family:"Times New Roman", serif;
}

@media(max-width:1000px){
    .booking-luxury-page{
        grid-template-columns:1fr;
        padding:50px 24px;
    }

    .booking-copy h1{
        font-size:54px;
    }

    .booking-fields{
        grid-template-columns:1fr;
    }
}
.menu-toggle{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:6px;

    width:42px;
    height:42px;

    cursor:pointer;

    position:relative;
    margin-left:28px;

    z-index:9999;
}
.top-right-nav{
    display:flex;
    align-items:center;
    gap:38px;
}

.top-right-nav a{
    text-decoration:none;
    color:#6d6272;
    font-size:20px;
    font-weight:700;
    transition:0.25s;
}

.top-right-nav a:hover{
    color:#e54893;
}

/* HAMBURGER */

.top-right-nav{
    display:flex;
    align-items:center;
    gap:38px;
    margin-left:auto;
}

.top-right-nav a{
    text-decoration:none;
    color:#6d6272;
    font-size:20px;
    font-weight:700;
    transition:0.25s;
}

.top-right-nav a:hover{
    color:#e54893;
}
/* ===== HEADER LUXURY ===== */

.lux-header{
    height:110px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:0 42px;

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

    backdrop-filter:blur(18px);

    border-bottom:1px solid #f3d8e5;

    position:sticky;
    top:0;

    z-index:9999;
}

/* LOGO */

.logo-side{
    display:flex;
    align-items:center;
    gap:20px;
}

.logo-box{
    width:74px;
    height:74px;

    border-radius:24px;

    background:linear-gradient(135deg,#a92d66,#ef6ba8);

    display:flex;
    align-items:center;
    justify-content:center;

    color:white;

    font-size:40px;
    font-weight:800;
}

.logo-text{
    display:flex;
    flex-direction:column;
}

.logo-text strong{
    font-size:22px;
    color:#3f2d3b;
}

.logo-text small{
    margin-top:4px;

    color:#8d7685;

    font-size:16px;

    font-family:"Times New Roman", serif;
}

/* HAMBURGER */

.menu-toggle{
    width:42px;
    height:32px;

    display:flex;
    flex-direction:column;
    justify-content:space-between;

    cursor:pointer;

    z-index:99999;
}

.menu-toggle span{
    width:100%;
    height:4px;

    border-radius:20px;

    background:#e54893;

    transition:0.3s;
}

.menu-toggle:hover span{
    background:#c72f76;
}

/* SIDE MENU */

.side-menu{
    position:fixed;

    top:0;
    right:-42%;

    width:40%;
    height:100vh;

    background:rgba(255,248,252,0.98);

    backdrop-filter:blur(24px);

    box-shadow:-20px 0 70px rgba(229,72,147,0.12);

    border-top-left-radius:42px;
    border-bottom-left-radius:42px;

    padding:150px 60px;

    display:flex;
    flex-direction:column;

    transition:0.45s ease;

    z-index:99998;
}

.side-menu.active{
    right:0;
}

.side-menu a{
    text-decoration:none;

    color:#6f4458;

    font-size:48px;

    font-family:"Times New Roman", serif;

    margin-bottom:42px;

    transition:0.25s;
}

.side-menu a:hover{
    color:#e54893;

    transform:translateX(10px);
}

/* CLOSE */

.close-menu{
    position:absolute;

    top:35px;
    right:40px;

    font-size:42px;

    color:#9d7888;

    cursor:pointer;
}

.close-menu:hover{
    color:#e54893;
}

/* MOBILE */

@media(max-width:900px){

    .side-menu{
        width:82%;
        right:-85%;
    }

    .side-menu.active{
        right:0;
    }

    .side-menu a{
        font-size:34px;
    }

    .logo-text strong{
        font-size:18px;
    }

    .logo-text small{
        font-size:13px;
    }
}
.hamburger{
    position:absolute;
    top:50%;
    right:42px;
    transform:translateY(-50%);}

.hamburger span{
    display:block;
    width:42px;
    height:4px;
    border-radius:20px;
    background:#e54893;
}

.side-menu{
    position:fixed;
    top:0;
    right:-40%;
    width:40%;
    height:100vh;
    background:#fff7fb;
    z-index:99999;
    padding:120px 55px;
    box-shadow:-20px 0 60px rgba(0,0,0,.12);
    transition:.4s;
}

.side-menu.active{
    right:0;
}

.side-menu a{
    display:block;
    font-family:"Times New Roman", serif;
    font-size:42px;
    color:#7a3759;
    text-decoration:none;
    margin-bottom:40px;
}

.close-menu{
    position:absolute;
    top:35px;
    right:45px;
    border:0;
    background:transparent;
    font-size:46px;
    color:#7a3759;
    cursor:pointer;
}
.hamburger{
    transition:0.3s ease;
    margin-left:auto;

    width:46px;
    height:34px;

    border:none;
    background:none;

    display:flex;
    flex-direction:column;
    justify-content:space-between;

    cursor:pointer;

    z-index:999999;
}

.hamburger span{
    width:100%;
    height:4px;

    border-radius:30px;

    background:#e54893;
}

/* ===== SIDE MENU ===== */

.side-menu{
    position:fixed;

    top:0;
    right:-420px;

    width:360px;
    height:100vh;

    background:rgba(255,250,252,0.98);

    backdrop-filter:blur(25px);

    box-shadow:-10px 0 50px rgba(0,0,0,0.08);

    border-top-left-radius:36px;
    border-bottom-left-radius:36px;

    padding:120px 40px;

    transition:0.45s ease;

    z-index:999998;
}

.side-menu.active{
    right:0;
}

.side-menu a{
    display:flex;
    align-items:center;
    gap:18px;

    text-decoration:none;

    color:#6e3655;

    font-size:34px;

    font-family:"Times New Roman", serif;

    margin-bottom:34px;

    padding:18px 0;

    border-bottom:1px solid #f3d7e4;

    transition:0.25s;
}

.side-menu a:hover{
    color:#e54893;
    transform:translateX(8px);
}

.side-menu a span{
    width:58px;
    height:58px;

    border-radius:50%;

    background:#fde8f1;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:28px;

    color:#e54893;
}

/* ===== CLOSE ===== */

.close-menu{
    position:absolute;

    top:28px;
    right:34px;

    border:none;
    background:none;

    font-size:48px;

    color:#d1468d;

    cursor:pointer;
}
.hamburger{
    margin-left:auto;

    width:72px;
    height:72px;

    border:none;

    border-radius:24px;

    background:linear-gradient(
        145deg,
        rgba(255,255,255,0.95),
        rgba(255,236,245,0.98)
    );

    backdrop-filter:blur(20px);

    box-shadow:
        0 10px 35px rgba(229,72,147,0.16),
        inset 0 1px 0 rgba(255,255,255,0.9);

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    gap:8px;

    cursor:pointer;

    transition:0.35s ease;

    position:relative;

    overflow:hidden;
}

.hamburger::before{
    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        135deg,
        rgba(255,255,255,0.55),
        transparent
    );

    opacity:0.7;
}

.hamburger:hover{
    transform:translateY(-3px) scale(1.03);

    box-shadow:
        0 16px 45px rgba(229,72,147,0.25),
        inset 0 1px 0 rgba(255,255,255,1);
}

.hamburger span{
    width:34px;
    height:4px;

    border-radius:30px;

    background:#e54893;

    position:relative;

    z-index:2;

    transition:0.3s;
}

.hamburger:hover span{
    width:38px;
}
.side-menu.active + .hamburger{
    opacity:0;
    pointer-events:none;
}
/* ===== HERO PREMIUM ===== */

.hero-premium{
    min-height:100vh;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:60px 7%;

    background:
    linear-gradient(
        135deg,
        #fffafd 0%,
        #fff7fb 40%,
        #fdeef5 100%
    );

    overflow:hidden;

    position:relative;
}

/* ===== LEFT ===== */

.hero-left{
    width:46%;
    z-index:3;
}

.mini-title{
    font-size:28px;

    color:#7a6d84;

    font-style:italic;

    letter-spacing:3px;

    margin-bottom:18px;

    font-family:"Times New Roman", serif;
}

.hero-left h1{
    font-size:92px;

    line-height:0.95;

    color:#e54893;

    font-family:"Times New Roman", serif;

    font-weight:700;

    margin-bottom:22px;
}

.title-line{
    width:420px;
    height:3px;

    background:#e54893;

    margin-bottom:34px;
}

.hero-text{
    font-size:31px;

    line-height:1.6;

    color:#72657c;

    max-width:700px;

    margin-bottom:30px;

    font-family:"Times New Roman", serif;
}

.hero-points{
    display:flex;
    flex-direction:column;

    gap:14px;

    margin-bottom:40px;
}

.hero-points span{
    font-size:24px;

    color:#7a6d84;

    font-family:"Times New Roman", serif;
}

/* ===== BUTTON ===== */

.hero-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:20px 42px;

    border-radius:18px;

    background:
    linear-gradient(
        135deg,
        #f45ca3,
        #d93f88
    );

    color:white;

    text-decoration:none;

    font-size:26px;

    font-weight:600;

    box-shadow:
    0 18px 45px rgba(229,72,147,.28);

    transition:.3s;
}

.hero-btn:hover{
    transform:translateY(-4px);
}

/* ===== RIGHT ===== */

.hero-right{
    width:48%;

    position:relative;

    display:flex;
    justify-content:center;
    align-items:center;
}

/* ===== GLOW ===== */

.glow-circle{
    position:absolute;

    width:900px;
    height:900px;

    border-radius:50%;

    background:
    radial-gradient(
        circle,
        rgba(255,192,220,.55),
        rgba(255,192,220,0)
    );

    filter:blur(40px);

    z-index:1;
}

/* ===== IMAGE ===== */

.hero-embryo{
    width:980px;
    max-width:none;

    position:relative;

    z-index:2;

    animation:embryoEntrance 1.4s ease-out both;

    filter:
    drop-shadow(0 30px 60px rgba(229,72,147,.22));
}

/* ===== ANIMATION ===== */

@keyframes embryoEntrance{

    from{
        opacity:0;

        transform:
        translateX(220px)
        scale(.88);

        filter:
        blur(18px)
        drop-shadow(0 30px 60px rgba(229,72,147,.22));
    }

    to{
        opacity:1;

        transform:
        translateX(0)
        scale(1);

        filter:
        blur(0)
        drop-shadow(0 30px 60px rgba(229,72,147,.22));
    }
}
/* ===== HERO CLEAN ===== */

.hero-clean{

    min-height:100vh;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:40px 5% 0 5%;

    background:
    linear-gradient(
        135deg,
        #fffafd 0%,
        #fff7fb 45%,
        #fdeef5 100%
    );

    overflow:hidden;

    position:relative;
}

/* ===== LEFT ===== */

.hero-left{

    width:44%;

    z-index:5;

    padding-top:40px;
}

.hero-mini{

    font-size:34px;

    font-style:italic;

    color:#7c7186;

    letter-spacing:3px;

    margin-bottom:20px;

    font-family:"Times New Roman", serif;
}

.hero-title{

    font-size:92px;

    line-height:0.95;

    color:#e54893;

    margin-bottom:26px;

    font-family:"Times New Roman", serif;

    font-weight:700;
}

.hero-line{

    width:420px;

    height:3px;

    background:#e54893;

    margin-bottom:36px;
}

.hero-description p{

    font-size:28px;

    line-height:1.6;

    color:#75697d;

    margin-bottom:6px;

    font-family:"Times New Roman", serif;
}

.hero-small{

    margin-top:48px;

    font-size:24px;

    letter-spacing:1px;

    color:#2d2430;

    font-family:Arial,sans-serif;

    margin-bottom:36px;
}

/* ===== BUTTON ===== */

.hero-button{

    display:inline-flex;

    align-items:center;
    justify-content:center;

    padding:24px 48px;

    border-radius:16px;

    background:
    linear-gradient(
        135deg,
        #f45ca3,
        #dd478f
    );

    color:white;

    text-decoration:none;

    font-size:32px;

    font-weight:700;

    box-shadow:
    0 18px 40px rgba(229,72,147,.25);

    transition:.3s;

    font-family:"Times New Roman", serif;
}

.hero-button:hover{

    transform:translateY(-4px);
}

/* ===== RIGHT ===== */

.hero-right{

    width:56%;

    height:100vh;

    position:relative;

    display:flex;
    align-items:flex-end;
    justify-content:flex-end;
}

/* ===== GLOW ===== */

.hero-glow{

    position:absolute;

    right:-120px;
    top:50%;

    transform:translateY(-50%);

    width:900px;
    height:900px;

    border-radius:50%;

    background:
    radial-gradient(
        circle,
        rgba(255,190,220,.45),
        rgba(255,190,220,0)
    );

    filter:blur(50px);

    z-index:1;
}

/* ===== IMAGE ===== */

.hero-image{

    position:absolute;

    right:-80px;

    bottom:0;

    width:1100px;

    max-width:none;

    z-index:3;

    animation:heroImageIn 1.3s ease-out both;

    filter:
    drop-shadow(0 40px 80px rgba(229,72,147,.20));
}

/* ===== ANIMATION ===== */

@keyframes heroImageIn{

    from{

        opacity:0;

        transform:
        translateX(220px)
        scale(.94);
    }

    to{

        opacity:1;

        transform:
        translateX(0)
        scale(1);
    }
}
/* ===== HERO CLEAN ===== */

.hero-clean{

    min-height:100vh;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:30px 5% 0 5%;

    background:
    linear-gradient(
        135deg,
        #fffafd 0%,
        #fff7fb 45%,
        #fdeef5 100%
    );

    overflow:hidden;

    position:relative;
}

/* ===== LEFT ===== */

.hero-left{

    width:43%;

    z-index:5;

    padding-top:20px;
}

.hero-mini{

    font-size:34px;

    font-style:italic;

    color:#7c7186;

    letter-spacing:3px;

    margin-bottom:20px;

    font-family:"Times New Roman", serif;
}

.hero-title{

    font-size:92px;

    line-height:0.95;

    color:#e54893;

    margin-bottom:26px;

    font-family:"Times New Roman", serif;

    font-weight:700;
}

.hero-line{

    width:470px;

    height:3px;

    background:#e54893;

    margin-bottom:36px;
}

.hero-description p{

    font-size:28px;

    line-height:1.6;

    color:#75697d;

    margin-bottom:6px;

    font-family:"Times New Roman", serif;
}

.hero-small{

    margin-top:48px;

    font-size:24px;

    letter-spacing:1px;

    color:#2d2430;

    font-family:Arial,sans-serif;

    margin-bottom:36px;
}

/* ===== BUTTON ===== */

.hero-button{

    display:inline-flex;

    align-items:center;
    justify-content:center;

    padding:24px 48px;

    border-radius:16px;

    background:
    linear-gradient(
        135deg,
        #f45ca3,
        #dd478f
    );

    color:white;

    text-decoration:none;

    font-size:32px;

    font-weight:700;

    box-shadow:
    0 18px 40px rgba(229,72,147,.25);

    font-family:"Times New Roman", serif;
}

/* ===== RIGHT ===== */

.hero-right{

    width:57%;

    height:100vh;

    position:relative;

    display:flex;
    align-items:flex-end;
    justify-content:flex-end;
}

/* ===== GLOW ===== */

.hero-glow{

    position:absolute;

    right:-140px;
    top:50%;

    transform:translateY(-50%);

    width:950px;
    height:950px;

    border-radius:50%;

    background:
    radial-gradient(
        circle,
        rgba(255,190,220,.45),
        rgba(255,190,220,0)
    );

    filter:blur(55px);

    z-index:1;
}

/* ===== IMAGE ===== */

.hero-image{

    position:absolute;

    right:-140px;

    bottom:0;

    width:1180px;

    max-width:none;

    z-index:3;

    filter:
    drop-shadow(0 40px 80px rgba(229,72,147,.18));
}
/* ===== HERO PERFECT ===== */

.hero-perfect{

    position:relative;

    width:100%;

    height:100vh;

    overflow:hidden;

    background:
    linear-gradient(
        90deg,
        #fffafd 0%,
        #fff8fc 40%,
        #fff3f8 100%
    );
}

/* ===== LEFT CONTENT ===== */

.hero-content{

    position:absolute;

    left:80px;

    top:140px;

    z-index:10;

    width:42%;
}

.hero-mini{

    font-size:34px;

    color:#7a7185;

    font-style:italic;

    letter-spacing:3px;

    margin-bottom:22px;

    font-family:"Times New Roman", serif;
}

.hero-title{

    font-size:92px;

    line-height:.93;

    color:#e54893;

    font-family:"Times New Roman", serif;

    font-weight:700;

    margin-bottom:24px;
}

.hero-line{

    width:460px;

    height:3px;

    background:#e54893;

    margin-bottom:34px;
}

.hero-description p{

    font-size:28px;

    line-height:1.7;

    color:#75697c;

    margin:0;

    font-family:"Times New Roman", serif;
}

.hero-small{

    margin-top:50px;

    font-size:24px;

    letter-spacing:1px;

    color:#2d2430;

    margin-bottom:34px;

    font-family:Arial,sans-serif;
}

/* ===== BUTTON ===== */

.hero-button{

    display:inline-flex;

    align-items:center;
    justify-content:center;

    padding:24px 50px;

    border-radius:16px;

    background:
    linear-gradient(
        135deg,
        #f45ca3,
        #dd478f
    );

    color:white;

    text-decoration:none;

    font-size:32px;

    font-weight:700;

    font-family:"Times New Roman", serif;

    box-shadow:
    0 16px 40px rgba(229,72,147,.24);
}

/* ===== IMAGE ===== */

.hero-image{

    position:absolute;

    right:-240px;

    bottom:0;

    height:100vh;

    width:auto;

    z-index:2;
}

/* ===== SOFT GLOW ===== */

.hero-overlay{

    position:absolute;

    right:0;

    top:0;

    width:55%;

    height:100%;

    background:
    radial-gradient(
        circle,
        rgba(255,210,230,.22),
        rgba(255,210,230,0)
    );

    z-index:1;
}
.hero-mockup-v2{
    position:relative;
    min-height:100vh;
    overflow:hidden;
    background:linear-gradient(90deg,#fff9fc 0%,#fff4f9 45%,#ffddec 100%);
}

.hero-copy-v2{
    position:absolute;
    left:86px;
    top:120px;
    z-index:5;
    width:45%;
}

.prof-name{
    font-family:"Times New Roman", serif;
    font-style:italic;
    letter-spacing:4px;
    font-size:32px;
    color:#797184;
    margin-bottom:26px;
}

.hero-copy-v2 h1{
    font-family:"Times New Roman", serif;
    font-size:86px;
    line-height:.94;
    color:#e54893;
    margin:0 0 22px;
}

.pink-line{
    width:610px;
    height:3px;
    background:#e54893;
    margin:0 0 30px;
}

.hero-subtext p{
    font-family:"Times New Roman", serif;
    font-size:26px;
    color:#756d7d;
    line-height:1.55;
    margin:0;
}

.hero-label{
    margin-top:54px;
    font-size:20px;
    color:#282033;
    letter-spacing:.5px;
}

.hero-cta{
    display:inline-block;
    margin-top:24px;
    background:#e54893;
    color:white;
    text-decoration:none;
    font-family:"Times New Roman", serif;
    font-weight:bold;
    font-size:28px;
    padding:22px 46px;
    border-radius:12px;
    box-shadow:0 18px 35px rgba(229,72,147,.25);
}

.hero-photo-v2{
    position:absolute;
    right:-170px;
    bottom:0;
    height:100vh;
    width:auto;
    z-index:2;
}
.prevention-intro{

    margin-top:-20px;

    display:grid;

    grid-template-columns:1fr 1.1fr;

    gap:45px;

    align-items:center;

    padding:50px 6%;

    background:#ffffff;
}

.prevention-left span{

    color:#d95c98;

    text-transform:uppercase;

    letter-spacing:4px;

    font-size:18px;

    font-weight:800;

    display:block;

    margin-bottom:26px;
}

.prevention-left h2{

    max-width:420px;

    font-size:44px;

    line-height:1.02;

    color:#2d2430;

    margin:0;

    font-weight:800;
}

.prevention-right p{

    font-size:20px;

    line-height:1.9;

    color:#75697d;

    margin:0;

    font-family:"Times New Roman", serif;
}
/* ===== HOME HERO NUOVA ===== */

.hero-home-new{
    min-height:520px !important;
    padding-bottom:40px !important;

    background-image:url("/static/img/hero-embrione.png");
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
}

.hero-home-text{
    position:absolute;
    top:135px;
    left:90px;
    width:42%;
    z-index:5;
}

.hero-prof{
    font-family:"Times New Roman", serif;
    font-style:italic;
    letter-spacing:4px;
    font-size:32px;
    color:#7a7185;
    margin-bottom:22px;
}

.hero-home-text h1{
    font-family:"Times New Roman", serif;
    font-size:78px;
    line-height:0.95;
    color:#e54893;
    font-weight:700;
    margin:0 0 22px;
}

.hero-line{
    width:610px;
    height:3px;
    background:#e54893;
    margin-bottom:28px;
}

.hero-credentials p{
    font-family:"Times New Roman", serif;
    font-size:25px;
    line-height:1.55;
    color:#75697d;
    margin:0;
}

.hero-label{
    margin-top:48px;
    margin-bottom:24px;
    font-family:Arial, sans-serif;
    font-size:18px;
    font-weight:700;
    letter-spacing:0.7px;
    color:#2d2430;
}

.hero-home-btn{
    display:inline-flex;
    align-items:center;
    gap:42px;
    padding:22px 42px;
    border-radius:12px;
    background:#e54893;
    color:white;
    text-decoration:none;
    font-family:"Times New Roman", serif;
    font-size:26px;
    font-weight:700;
    box-shadow:0 18px 35px rgba(229,72,147,.25);
}

.hero-home-btn span{
    font-size:30px;
}
/* ===== HEADER PREMIUM OVERRIDE ===== */

nav{
    position:fixed;

    top:18px;

    left:35px;

    right:35px;

    height:118px;

    z-index:9999;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:0 34px;

    border-radius:34px;

    background:
    linear-gradient(
        135deg,
        rgba(255,255,255,0.80),
        rgba(255,245,250,0.70)
    );

    backdrop-filter:blur(18px);

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

    border:1px solid rgba(255,255,255,0.55);

    box-shadow:
    0 10px 40px rgba(223,164,195,0.18),
    inset 0 2px 8px rgba(255,255,255,0.4);
}

/* ===== MENU BUTTON ===== */

.menu-toggle{

    width:88px;

    height:88px;

    border:none;

    border-radius:28px;

    cursor:pointer;

    position:relative;

    background:
    linear-gradient(
        145deg,
        rgba(255,255,255,0.96),
        rgba(255,241,247,0.88)
    );

    box-shadow:
    0 15px 40px rgba(223,164,195,0.22),
    inset 0 2px 8px rgba(255,255,255,0.9);
}

.menu-toggle span{

    position:absolute;

    left:50%;

    width:34px;

    height:4px;

    border-radius:20px;

    background:#df4e96;

    transform:translateX(-50%);
}

.menu-toggle span:nth-child(1){
    top:30px;
}

.menu-toggle span:nth-child(2){
    top:42px;
}

.menu-toggle span:nth-child(3){
    top:54px;
}
/* ===== TOP BAR PREMIUM ===== */

.main-topbar{

    position:fixed;

    top:22px;

    left:36px;

    right:36px;

    height:110px;

    z-index:99999;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:0 34px;

    border-radius:34px;

    background:
    linear-gradient(
        135deg,
        rgba(255,255,255,0.78),
        rgba(255,244,249,0.72)
    );

    backdrop-filter:blur(18px);

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

    border:1px solid rgba(255,255,255,0.45);

    box-shadow:
    0 12px 40px rgba(223,164,195,0.16),
    inset 0 2px 8px rgba(255,255,255,0.55);
}

/* ===== LOGO ===== */

.brand-card{

    display:flex;

    align-items:center;

    gap:20px;

    text-decoration:none;
}

.brand-logo{

    width:82px;

    height:82px;

    border-radius:26px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:
    linear-gradient(
        145deg,
        #d35b95,
        #bb4c85
    );

    color:white;

    font-size:30px;

    font-weight:700;

    box-shadow:
    0 12px 30px rgba(211,91,149,0.28);
}

.brand-card strong{

    display:block;

    font-size:28px;

    color:#2e2433;

    font-family:"Times New Roman", serif;
}

.brand-card small{

    font-size:16px;

    color:#867689;
}

/* ===== MENU BUTTON ===== */

.menu-toggle{

    width:82px;

    height:82px;

    border:none;

    border-radius:26px;

    background:
    linear-gradient(
        145deg,
        rgba(255,255,255,0.96),
        rgba(255,241,247,0.88)
    );

    cursor:pointer;

    position:relative;

    box-shadow:
    0 14px 34px rgba(223,164,195,0.22);
}

.menu-toggle span{

    position:absolute;

    left:50%;

    width:34px;

    height:4px;

    border-radius:20px;

    background:#df4e96;

    transform:translateX(-50%);
}

.menu-toggle span:nth-child(1){
    top:28px;
}

.menu-toggle span:nth-child(2){
    top:40px;
}

.menu-toggle span:nth-child(3){
    top:52px;
}
/* ===== TOP BAR FIXED LUXURY ===== */

.main-topbar{
    position:absolute;
    top:22px;
    left:36px;
    right:36px;
    height:106px;
    z-index:99999;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:0 30px;
    border-radius:36px;

    background:linear-gradient(135deg, rgba(255,255,255,0.88), rgba(255,244,250,0.78));
    backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);

    border:1px solid rgba(255,255,255,0.72);

    box-shadow:
        0 18px 55px rgba(210,86,145,0.16),
        inset 0 1px 0 rgba(255,255,255,0.85);
}
.main-topbar::before{
    content:"";
    position:absolute;
    inset:1px;
    border-radius:35px;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.55), transparent 55%);
    pointer-events:none;
}

.brand-card{
    display:flex;
    align-items:center;
    gap:20px;
    text-decoration:none;
    position:relative;
    z-index:2;
}

.brand-logo{
    width:78px;
    height:78px;
    border-radius:26px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
        radial-gradient(circle at 30% 25%, rgba(255,255,255,0.32), transparent 35%),
        linear-gradient(145deg, #d85f9a, #a93d74);

    color:white;
    font-size:31px;
    font-weight:800;
    font-family:"Times New Roman", serif;

    box-shadow:
        0 14px 34px rgba(199,63,126,0.28),
        inset 0 2px 6px rgba(255,255,255,0.28);
}

.brand-card strong{
    display:block;
    font-family:"Times New Roman", serif;
    font-size:30px;
    line-height:1;
    color:#322632;
    letter-spacing:0.2px;
}

.brand-card small{
    display:block;
    margin-top:7px;
    font-family:"Times New Roman", serif;
    font-size:17px;
    color:#8a7685;
    letter-spacing:0.5px;
}

.menu-toggle{
    width:78px;
    height:78px;
    border:none;
    border-radius:26px;
    cursor:pointer;
    position:relative;
    z-index:2;

    background:
        linear-gradient(145deg, rgba(255,255,255,0.96), rgba(255,235,246,0.92));

    box-shadow:
        0 14px 34px rgba(199,63,126,0.18),
        inset 0 1px 0 rgba(255,255,255,0.9);

    transition:0.25s ease;
}

.menu-toggle:hover{
    transform:translateY(-2px);
    box-shadow:
        0 18px 44px rgba(199,63,126,0.25),
        inset 0 1px 0 rgba(255,255,255,1);
}

.menu-toggle span{
    position:absolute;
    left:50%;
    width:34px;
    height:4px;
    border-radius:20px;
    background:#df4e96;
    transform:translateX(-50%);
}

.menu-toggle span:nth-child(1){ top:27px; }
.menu-toggle span:nth-child(2){ top:39px; }
.menu-toggle span:nth-child(3){ top:51px; }
/* ===== FLOATING HEADER ===== */

.floating-brand{

    position:absolute;

    top:38px;

    left:90px;

    right:52px;

    z-index:9999;

    display:flex;

    align-items:flex-start;

    justify-content:space-between;

    pointer-events:none;
}

/* ===== TEXT ===== */

.floating-logo-text{

    text-decoration:none;

    pointer-events:auto;
}

.floating-text strong{

    display:block;

    font-family:"Times New Roman", serif;

    font-size:34px;

    font-weight:700;

    letter-spacing:-0.5px;

    color:#2d2430;

    text-shadow:
    0 2px 12px rgba(255,255,255,0.65);
}

.floating-text small{

    display:block;

    margin-top:8px;

    font-family:"Times New Roman", serif;

    font-size:19px;

    color:#8b7687;

    letter-spacing:0.5px;

    text-shadow:
    0 2px 10px rgba(255,255,255,0.7);
}

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

.floating-menu-btn{

    position:relative;

    width:54px;

    height:54px;

    background:transparent;

    border:none;

    cursor:pointer;

    pointer-events:auto;
}

/* ===== HAMBURGER ===== */

.floating-menu-btn span{

    position:absolute;

    right:0;

    width:38px;

    height:3px;

    border-radius:20px;

    background:#e44d95;

    box-shadow:
    0 0 12px rgba(228,77,149,0.35);

    transition:0.3s;
}

.floating-menu-btn span:nth-child(1){

    top:14px;
}

.floating-menu-btn span:nth-child(2){

    top:25px;
}

.floating-menu-btn span:nth-child(3){

    top:36px;
}

/* ===== HOVER ===== */

.floating-menu-btn:hover span{

    width:44px;

    background:#d83f89;
}
.side-menu{
    position:fixed;
    top:0;
    right:-430px;
    width:380px;
    height:100vh;
    background:rgba(255,248,252,0.98);
    backdrop-filter:blur(22px);
    box-shadow:-20px 0 60px rgba(229,72,147,0.16);
    z-index:99999;
    padding:120px 45px;
    transition:0.4s ease;
}

.side-menu.active{
    right:0;
}

.side-menu a{
    display:block;
    font-family:"Times New Roman", serif;
    font-size:36px;
    color:#70334f;
    text-decoration:none;
    margin-bottom:36px;
}

.close-menu{
    position:absolute;
    top:30px;
    right:35px;
    border:0;
    background:transparent;
    font-size:44px;
    color:#d8468d;
    cursor:pointer;
}
.side-menu{
    position:fixed !important;
    top:0 !important;
    right:-430px !important;
    width:380px !important;
    height:100vh !important;
    background:rgba(255,248,252,0.98) !important;
    backdrop-filter:blur(22px);
    box-shadow:-20px 0 60px rgba(229,72,147,0.16);
    z-index:9999999 !important;
    padding:120px 45px;
    transition:0.4s ease;
    pointer-events:auto !important;
}

.side-menu.active{
    right:0 !important;
}

.side-menu a{
    display:flex !important;
    align-items:center;
    gap:18px;
    font-family:"Times New Roman", serif;
    font-size:34px;
    color:#70334f !important;
    text-decoration:none;
    margin-bottom:34px;
    padding:16px 0;
    border-bottom:1px solid #f2d5e2;
    pointer-events:auto !important;
}

.side-menu a span{
    width:54px;
    height:54px;
    border-radius:50%;
    background:#fde7f1;
    color:#e54893;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:25px;
}

.close-menu{
    position:absolute !important;
    top:30px !important;
    right:35px !important;
    border:0;
    background:transparent;
    font-size:44px;
    color:#d8468d;
    cursor:pointer;
    z-index:10000000 !important;
    pointer-events:auto !important;
}
.floating-brand{
    z-index:999999 !important;
}
.floating-logo-text,
.floating-menu-btn{
    pointer-events:auto !important;
}

.side-menu{
    z-index:1000000 !important;
    pointer-events:auto !important;
}

.side-menu *{
    pointer-events:auto !important;
}

.close-menu{
    z-index:1000001 !important;
    pointer-events:auto !important;
}
.hero-home-new,
.hero-mockup-v2,
.hero-perfect{
    z-index:1 !important;
}
.floating-brand{
    z-index:9999999 !important;
    pointer-events:auto !important;
}

.floating-menu-btn{
    position:relative !important;
    z-index:10000000 !important;
    pointer-events:auto !important;
    cursor:pointer !important;
}

.side-menu{
    z-index:10000001 !important;
    pointer-events:auto !important;
}

.side-menu.active{
    right:0 !important;
}

.side-menu a,
.close-menu{
    position:relative !important;
    z-index:10000002 !important;
    pointer-events:auto !important;
    cursor:pointer !important;
}

.hero-home-new,
.hero-mockup-v2,
.hero-perfect,
.hero-clean{
    position:relative !important;
    z-index:1 !important;
}
.reverse-first{
    grid-template-columns:1.08fr .92fr !important;
}
.whatsapp-float:hover{
    transform:translateY(-4px) scale(1.06);

    box-shadow:
        0 18px 45px rgba(37,211,102,.42),
        0 8px 18px rgba(0,0,0,.16);
}
.mortalita-card .story-image{

    background:#f6dce7;

    padding:26px;

    border-radius:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    overflow:hidden;

    height:100%;

    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,0.7),
        0 10px 35px rgba(229,72,147,0.08);
}

.mortalita-card .story-image img{

    width:100%;
    height:100%;

    display:block;

    border-radius:24px;

    object-fit:cover;

    box-shadow:
        0 0 0 2px #f3c9da,
        0 18px 40px rgba(214,90,145,0.12);

}

.mortalita-card .story-image img,
.locandina-fix{
    width:auto !important;
    height:100% !important;
    max-height:396px !important;
    max-width:100% !important;
   transform:scale(1.25);

    object-fit:contain !important;
    display:block !important;

    border-radius:10px !important;
   box-shadow:0 0 0 1px #f3d7e4;
        0 18px 40px rgba(214,90,145,.14) !important;
}
/* ===== MORTALITA CARD PERFECT ===== */

.mortalita-card .story-image{

  padding:0;
background:transparent;

    border-radius:15px;

    overflow:hidden;

    display:flex;
    align-items:center;
    justify-content:center;

    min-height:520px;

    box-shadow:
        0 10px 35px rgba(229,72,147,.08);
}

.mortalita-card .story-image img{

    width:100%;
    height:100%;

    object-fit:cover;

    border-radius:22px;

    display:block;

    box-shadow:
        0 0 0 10px #f9e7ee;
}
.story-card{
    margin-bottom:44px !important;
}

.story-grid .story-card:last-child{
    margin-bottom:0 !important;
}
/* FIX DEFINITIVO LOCANDINA + SEZIONE PREVENZIONE */

.mortalita-card{
    grid-template-columns:44% 56% !important;
    min-height:560px !important;
}

.mortalita-card .story-image{
    width:100% !important;
    height:100% !important;
    min-height:560px !important;
    padding:0 !important;
    background:transparent !important;
    display:block !important;
    overflow:hidden !important;
}

.mortalita-card .story-image img,
.locandina-fix{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
    display:block !important;
    border-radius:18px !important;
    box-shadow:none !important;
}

/* questo stacca “Prevenire è meglio che curare” dalla prima schermata */
.prevention-intro{
    margin-top:70px !important;
    padding-top:70px !important;
    position:relative !important;
    z-index:5 !important;
    background:#fff !important;
}
.prevention-intro{
    margin-top:0 !important;
    padding:120px 6% 70px !important;
    position:relative !important;
    z-index:2 !important;
    background:#ffffff !important;
    clear:both !important;
}
/* FIX HOME DEFINITIVO */

.hero-home-new{
    position:relative !important;
    min-height:100vh !important;
    padding-bottom:0 !important;
}

.hero-home-text{
    position:absolute !important;
    top:135px !important;
    left:90px !important;
    width:42% !important;
}

.hero-button,
.hero-home-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin-top:24px !important;
    padding:22px 46px !important;
    border-radius:12px !important;
    background:#e54893 !important;
    color:white !important;
    text-decoration:none !important;
    font-family:"Times New Roman", serif !important;
    font-size:28px !important;
    font-weight:700 !important;
    box-shadow:0 18px 35px rgba(229,72,147,.25) !important;
}

.prevention-intro{
    margin-top:0 !important;
    padding:50px 6% !important;
}
/* RIPRISTINO HOME CORRETTA */

.hero-home-new{
    position:relative !important;
    min-height:920px !important;
    height:auto !important;
    padding-bottom:80px !important;
    overflow:visible !important;

    background-image:url("/static/img/hero-embrione.png") !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
}
.hero-home-text{
    position:absolute !important;
    top:135px !important;
    left:90px !important;
    width:72% !important;
    z-index:5 !important;
}

.hero-home-btn{
    display:inline-flex !important;
    align-items:center !important;
    gap:42px !important;
    margin-top:24px !important;
    padding:22px 42px !important;
    border-radius:12px !important;
    background:#e54893 !important;
    color:white !important;
    text-decoration:none !important;
    font-family:"Times New Roman", serif !important;
    font-size:26px !important;
    font-weight:700 !important;
}
.prevention-intro{
    margin-top:0 !important;
    padding:50px 6% !important;
}
/* ACCORCIA LINEA SOTTO OSTETRICIA */
.hero-home-new .hero-line{
    width:460px !important;
    max-width:460px !important;
}
/* FIX CLICK TASTO PRENOTA HERO */

.hero-home-btn,
.hero-button{
    position:relative !important;
    z-index:999999 !important;
    pointer-events:auto !important;
}

.hero-home-text{
    position:absolute !important;
    z-index:99999 !important;
    pointer-events:auto !important;
}

.hero-home-new::before,
.hero-home-new::after,
.hero-overlay,
.hero-glow{
    pointer-events:none !important;
}
/* =========================
   MOBILE PREMIUM DEFINITIVO
========================= */

@media only screen and (max-width: 768px){

    body{
        overflow-x:hidden !important;
        background:#fff7fb !important;
    }

    .floating-brand{
        position:absolute !important;
        top:24px !important;
        left:22px !important;
        right:22px !important;
        z-index:9999 !important;
    }

    .floating-text strong{
        font-size:28px !important;
        line-height:1 !important;
    }

    .floating-text small{
        font-size:15px !important;
    }

    .hero-home-new{
        position:relative !important;
        min-height:auto !important;
        height:auto !important;

        padding:130px 22px 0 !important;

        background:
            linear-gradient(180deg, rgba(255,247,251,.88), rgba(255,247,251,.96)),
            url("/static/img/hero-embrione.png") !important;

        background-size:cover !important;
        background-position:62% top !important;
        background-repeat:no-repeat !important;

        overflow:hidden !important;
    }

    .hero-home-new::after{
        content:"";
        display:block;
        height:310px;
        margin:34px -22px 0;

        background:url("/static/img/hero-embrione.png") center bottom / cover no-repeat;

        border-top-left-radius:38px;
        border-top-right-radius:38px;

        box-shadow:0 -20px 50px rgba(229,72,147,.10);
    }

    .hero-home-text{
        position:relative !important;
        top:auto !important;
        left:auto !important;
        width:100% !important;
        z-index:5 !important;
    }

    .hero-prof{
        font-size:23px !important;
        letter-spacing:2px !important;
        margin-bottom:14px !important;
        color:#6f6477 !important;
    }

    .hero-home-text h1{
        font-size:48px !important;
        line-height:.96 !important;
        margin:0 0 18px !important;
        max-width:360px !important;
    }

    .hero-home-new .hero-line{
        width:245px !important;
        max-width:245px !important;
        height:3px !important;
        margin-bottom:24px !important;
    }

    .hero-credentials{
        max-width:350px !important;
    }

    .hero-credentials p{
        font-size:18px !important;
        line-height:1.38 !important;
        margin-bottom:5px !important;
        color:#6f6477 !important;
    }

    .hero-label{
        font-size:14px !important;
        margin-top:28px !important;
        margin-bottom:18px !important;
        letter-spacing:1px !important;
    }

    .hero-home-btn{
        width:100% !important;
        max-width:340px !important;
        justify-content:center !important;

        font-size:22px !important;
        padding:17px 22px !important;

        border-radius:16px !important;
        background:#e54893 !important;
        color:white !important;

        box-shadow:0 14px 34px rgba(229,72,147,.26) !important;
    }

    .prevention-intro{
        display:block !important;
        margin:0 !important;
        padding:44px 24px 36px !important;
        background:white !important;
    }

    .prevention-left h2{
        font-size:38px !important;
        line-height:1.02 !important;
        margin:0 0 20px !important;
    }

    .prevention-right p{
        font-size:19px !important;
        line-height:1.62 !important;
    }

    .story-grid{
        padding:24px 16px 70px !important;
        gap:28px !important;
    }

    .story-card,
    .story-card.large,
    .mortalita-card,
    .reverse-first{
        display:flex !important;
        flex-direction:column !important;
        grid-template-columns:none !important;

        min-height:auto !important;
        border-radius:30px !important;
        overflow:hidden !important;
    }

    .story-card.reverse .story-image,
    .reverse-first .story-image{
        order:0 !important;
    }

    .story-image{
        min-height:auto !important;
        height:auto !important;
        padding:0 !important;
        background:#fff !important;
    }

    .story-image img,
    .locandina-fix{
        width:100% !important;
        height:auto !important;
        max-height:none !important;
        object-fit:contain !important;
        display:block !important;
        border-radius:0 !important;
    }

    .story-text{
        padding:28px 22px 32px !important;
    }

    .story-text span{
        font-size:12px !important;
        letter-spacing:.14em !important;
    }

    .story-text h3{
        font-size:31px !important;
        line-height:1.08 !important;
        margin:12px 0 14px !important;
    }

    .story-text p{
        font-size:18px !important;
        line-height:1.6 !important;
    }

    .service-pills{
        gap:9px !important;
        margin-top:22px !important;
    }

    .service-pills a{
        font-size:14px !important;
        padding:10px 13px !important;
    }

    .whatsapp-float{
        width:62px !important;
        height:62px !important;
        right:16px !important;
        bottom:16px !important;
    }
}OK
.booking-card-admin{
    background:#ffffff;
    border:1px solid #f2d7e3;
    border-radius:30px;
    padding:28px;
    margin:16px 0;
    box-shadow:0 18px 45px rgba(137,67,96,.12);
}

.confirm-box{
    background:#fff7fa;
    border:1px solid #f2d7e3;
    border-radius:24px;
    padding:20px;
    margin-top:22px;
    margin-bottom:18px;
}

.confirm-grid{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:12px;
    margin-bottom:14px;
}

.confirm-grid input{
    border:1px solid #f2d7e3;
    border-radius:16px;
    padding:13px;
    font-size:16px;
}

.admin-actions.separated{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:18px;
}

.action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 18px;
    border-radius:16px;
    font-weight:900;
    text-decoration:none;
    border:0;
    cursor:pointer;
}

.action.confirm{
    background:#22c55e;
    color:white;
    width:100%;
}

.action.whatsapp{
    background:#e9fff1;
    color:#16a34a;
}

.action.phone{
    background:#eef6ff;
    color:#2075d6;
}

.action.email{
    background:#fff4e6;
    color:#c77912;
}

.action.delete{
    background:#fff0f0;
    color:#c62828;
}
.action.complete{
    background:#111827;
    color:white;
}

.confirm-grid select{
    border:1px solid #f2d7e3;
    border-radius:16px;
    padding:13px;
    font-size:16px;
    background:white;
}
.action.sms{
    background:#f3e8ff;
    color:#7e22ce;
}
.booking-item{
    background:#fff;
    border:1px solid #f2d7e3;
    border-radius:22px;
    padding:18px 20px;
    margin-bottom:12px;
    display:flex;
    justify-content:space-between;
    gap:20px;
    cursor:pointer;
    box-shadow:0 10px 28px rgba(137,67,96,.08);
}

.booking-item span{
    display:block;
    color:#7b6b77;
    margin-top:5px;
}

.status{
    padding:8px 13px;
    border-radius:999px;
    font-style:normal;
    font-weight:900;
}

.status.new{background:#fff1f6;color:#d94d8c;}
.status.ok{background:#e8fff0;color:#169b4d;}
.status.done{background:#111827;color:white;}
.status.cancel{background:#fff0f0;color:#c62828;}

.booking-detail-card{
    background:#ffffff;
    border:1px solid #f2d7e3;
    border-radius:28px;
    padding:28px;
    margin:0 0 20px;
    box-shadow:0 18px 50px rgba(137,67,96,.12);
}

.booking-detail-card h3{
    margin-top:0;
    font-size:32px;
}

.confirm-box{
    background:#fff7fa;
    border:1px solid #f2d7e3;
    border-radius:22px;
    padding:18px;
    display:grid;
    grid-template-columns:1fr 1fr 1fr 1fr;
    gap:12px;
    margin:22px 0;
}

.confirm-box input,
.confirm-box select{
    border:1px solid #f2d7e3;
    border-radius:15px;
    padding:13px;
    background:white;
}

.admin-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.action{
    padding:12px 17px;
    border-radius:15px;
    font-weight:900;
    text-decoration:none;
    border:0;
    cursor:pointer;
}

.action.confirm{background:#22c55e;color:white;}
.action.whatsapp{background:#e9fff1;color:#16a34a;}
.action.phone{background:#eef6ff;color:#2075d6;}
.action.email{background:#fff4e6;color:#c77912;}
.action.complete{background:#111827;color:white;}
.action.cancel{background:#ffe4e6;color:#be123c;}
.action.delete{background:#fff0f0;color:#c62828;}

@media(max-width:900px){
    .confirm-box{
        grid-template-columns:1fr;
    }

    .booking-item{
        display:block;
    }
}
.done-fixed{
    opacity:.65;
    cursor:default;
    pointer-events:none;
}

.legal-footer{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
}

.legal-footer nav{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}

.legal-footer a{
    color:#9d3f68;
    font-weight:900;
}

.legal-page{
    min-height:70vh;
    padding:120px 7vw 80px;
    background:linear-gradient(135deg,#fffafd,#fff2f7);
}

.legal-page h1{
    font-size:clamp(42px,5vw,72px);
    line-height:1;
    margin:8px 0 28px;
}

.legal-page section{
    max-width:960px;
    background:rgba(255,255,255,.9);
    border:1px solid #f2d7e3;
    border-radius:26px;
    padding:24px;
    margin:16px 0;
    box-shadow:0 18px 50px rgba(137,67,96,.1);
}

.legal-page h2{
    margin-top:0;
}

.legal-page p{
    color:#7b6b77;
    line-height:1.7;
}

/* === FOOTER + MORTALITA ZERO REQUESTED UPDATE === */
.floating-brand,
.side-menu{
    display:none !important;
}

.legal-footer{
    width:100%;
    display:grid !important;
    grid-template-columns:.85fr 1.15fr;
    gap:42px;
    align-items:start;
    text-align:left !important;
    padding:54px 7vw !important;
    background:linear-gradient(135deg,#2b1f2c 0%,#5b2947 52%,#a83f72 100%) !important;
    color:#fff !important;
}

.footer-brand{
    display:grid;
    gap:10px;
}

.footer-brand strong{
    font-family:Georgia,serif;
    font-size:clamp(32px,4vw,54px);
    line-height:1;
}

.footer-brand span{
    color:#ffe6f0;
    font-size:18px;
    line-height:1.45;
}

.footer-brand small{
    color:#f6c6da;
}

.footer-columns{
    display:grid;
    grid-template-columns:.8fr 1.45fr .82fr;
    gap:34px;
}

.footer-columns section{
    display:grid;
    gap:9px;
    align-content:start;
}

.footer-columns h3{
    margin:0 0 8px;
    color:#fff;
    font-size:15px;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.footer-columns a,
.footer-columns span{
    color:#ffe6f0 !important;
    font-weight:700;
    line-height:1.35;
}

.footer-columns a:hover{
    color:#fff !important;
    text-decoration:underline;
}

.footer-locations-section{
    gap:14px !important;
    padding:0 6px;
}

.footer-locations{
    display:grid;
    gap:12px;
    max-width:680px;
    padding:18px 0 4px;
    border-top:1px solid rgba(255,230,240,.24);
    border-bottom:1px solid rgba(255,230,240,.18);
}

.footer-locations p{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 10px;
    margin:0;
}

.footer-locations span{
    color:#fff8fb !important;
    font-family:Inter,Segoe UI,Arial,sans-serif;
    font-size:13px;
    font-weight:900 !important;
    letter-spacing:.08em;
    line-height:1.3 !important;
    text-transform:uppercase;
    white-space:nowrap;
}

.footer-locations i{
    width:4px;
    height:4px;
    border-radius:50%;
    background:#f4b7d0;
    box-shadow:0 0 0 3px rgba(244,183,208,.12);
}

.footer-locations-abroad{
    padding-top:4px;
}

.footer-locations-abroad span{
    color:#ffd6e6 !important;
}

.premium-banners .mortalita-card{
    grid-template-columns:minmax(320px,.86fr) minmax(420px,1.14fr) !important;
    min-height:0 !important;
    border:0 !important;
    border-radius:34px !important;
    background:
        radial-gradient(circle at 12% 10%,rgba(255,255,255,.96),rgba(255,255,255,0) 34%),
        linear-gradient(135deg,#fff7fb 0%,#ffe0ed 48%,#f9b4d0 100%) !important;
    box-shadow:0 30px 90px rgba(137,67,96,.18) !important;
    overflow:hidden !important;
}

.premium-banners .mortalita-card .story-image{
    position:relative !important;
    min-height:470px !important;
    padding:30px !important;
    background:
        linear-gradient(145deg,#7b244f,#e05694) !important;
    display:grid !important;
    place-items:center !important;
    overflow:hidden !important;
}

.premium-banners .mortalita-card .story-image:before{
    content:"Screening combinato";
    position:absolute;
    left:48px;
    top:46px;
    z-index:2;
    padding:10px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.92);
    color:#9d2f63;
    font-size:12px;
    font-weight:950;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.premium-banners .mortalita-card .story-image img,
.premium-banners .mortalita-card .locandina-fix{
    width:min(84%,390px) !important;
    height:auto !important;
    max-height:430px !important;
    object-fit:contain !important;
    border-radius:18px !important;
    box-shadow:0 24px 64px rgba(75,20,48,.34),0 0 0 10px rgba(255,255,255,.24) !important;
}

.premium-banners .mortalita-card .story-text{
    padding:56px clamp(32px,5vw,72px) !important;
    background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.52)) !important;
}

.premium-banners .mortalita-card .story-text span{
    color:#9d2f63 !important;
}

.premium-banners .mortalita-card .poster-title{
    max-width:720px;
    color:#8f245a !important;
    font-family:Georgia,serif !important;
    font-size:clamp(42px,5vw,78px) !important;
    letter-spacing:.01em !important;
    line-height:.94 !important;
    text-shadow:none !important;
}

.premium-banners .mortalita-card .story-text p{
    max-width:720px;
    color:#5f4a58 !important;
    font-size:21px !important;
}

.premium-banners .mortalita-card .service-pills a{
    background:#fff !important;
    border-color:#efbfd2 !important;
}

@media(max-width:900px){
    .legal-footer,
    .footer-columns,
    .premium-banners .mortalita-card{
        grid-template-columns:1fr !important;
    }

    .legal-footer{
        padding:40px 6vw !important;
    }

    .footer-locations{
        max-width:none;
        gap:10px;
    }

    .footer-locations p{
        gap:7px 8px;
    }

    .footer-locations span{
        font-size:12px;
        letter-spacing:.055em;
        white-space:normal;
    }

    .premium-banners .mortalita-card .story-image{
        min-height:380px !important;
    }

    .premium-banners .mortalita-card .story-image:before{
        left:28px;
        top:28px;
    }
}

/* === HEADER/FOOTER/BANNER FINAL ALIGNMENT === */
.floating-brand{
    display:flex !important;
    position:absolute !important;
    top:38px !important;
    left:90px !important;
    right:52px !important;
    z-index:9999999 !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    padding:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
    border-radius:0 !important;
    pointer-events:none !important;
}

.floating-logo-text,
.floating-menu-btn{
    pointer-events:auto !important;
}

.floating-text strong{
    font-family:"Times New Roman", serif !important;
    font-size:34px !important;
    font-weight:700 !important;
    letter-spacing:-0.5px !important;
    color:#2d2430 !important;
    text-shadow:0 2px 12px rgba(255,255,255,.65) !important;
}

.floating-text small{
    font-family:"Times New Roman", serif !important;
    color:#8b7687 !important;
    text-shadow:0 2px 10px rgba(255,255,255,.7) !important;
}

.floating-menu-btn{
    width:54px !important;
    height:54px !important;
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
    border-radius:0 !important;
}

.floating-menu-btn span{
    background:#e54893 !important;
}

.side-menu{
    display:block !important;
}

.legal-footer{
    background:linear-gradient(135deg,#fffafd 0%,#fff2f7 52%,#ffe2ee 100%) !important;
    color:#332936 !important;
    border-top:1px solid #f2d7e3 !important;
    box-shadow:0 -18px 60px rgba(137,67,96,.08) !important;
}

.footer-brand strong{
    font-family:"Times New Roman", serif !important;
    color:#2d2430 !important;
}

.footer-brand span{
    font-family:"Times New Roman", serif !important;
    color:#8b7687 !important;
}

.footer-brand small{
    color:#9d7890 !important;
}

.footer-columns h3{
    color:#d8468d !important;
}

.footer-columns a,
.footer-columns span{
    color:#6e5c69 !important;
}

.footer-columns a:hover{
    color:#e54893 !important;
}

.premium-banners .mortalita-card{
    background:linear-gradient(135deg,#fffafd 0%,#fff3f8 52%,#ffe2ee 100%) !important;
    border:1px solid #f2d7e3 !important;
    box-shadow:0 28px 80px rgba(137,67,96,.14) !important;
}

.premium-banners .mortalita-card .story-image{
    background:linear-gradient(135deg,#fff1f6,#ffd8e8) !important;
}

.premium-banners .mortalita-card .story-image:before{
    background:rgba(255,255,255,.92) !important;
    color:#d8468d !important;
}

.premium-banners .mortalita-card .story-image img,
.premium-banners .mortalita-card .locandina-fix{
    box-shadow:0 20px 52px rgba(137,67,96,.18),0 0 0 10px rgba(255,255,255,.72) !important;
}

.premium-banners .mortalita-card .story-text{
    background:rgba(255,255,255,.52) !important;
}

.premium-banners .mortalita-card .poster-title{
    font-family:'Arial Narrow','Helvetica Neue Condensed','Impact',Inter,Arial,sans-serif !important;
    color:#e04b91 !important;
    letter-spacing:.055em !important;
}

.premium-banners .mortalita-card .story-text p{
    color:#7b6b77 !important;
}

@media(max-width:900px){
    .floating-brand{
        top:24px !important;
        left:24px !important;
        right:20px !important;
    }

    .floating-text strong{
        font-size:28px !important;
    }

    .floating-text small{
        font-size:16px !important;
    }
}

/* === MORTALITA ZERO FINAL TUNING === */
.premium-banners .mortalita-card{
    grid-template-columns:minmax(430px,1.05fr) minmax(420px,.95fr) !important;
}

.premium-banners .mortalita-card .story-image{
    min-height:560px !important;
    padding:26px !important;
}

.premium-banners .mortalita-card .story-image img,
.premium-banners .mortalita-card .locandina-fix{
    width:min(96%,520px) !important;
    max-height:510px !important;
}

.premium-banners .mortalita-card .poster-title{
    font-family:"Times New Roman", Georgia, serif !important;
    color:#2d2430 !important;
    text-transform:none !important;
    letter-spacing:.01em !important;
    font-weight:700 !important;
    font-size:clamp(48px,5.2vw,82px) !important;
    line-height:.95 !important;
}

@media(max-width:900px){
    .premium-banners .mortalita-card{
        grid-template-columns:1fr !important;
    }

    .premium-banners .mortalita-card .story-image{
        min-height:470px !important;
    }

    .premium-banners .mortalita-card .story-image img,
    .premium-banners .mortalita-card .locandina-fix{
        width:min(94%,420px) !important;
        max-height:430px !important;
    }
}

/* === ADMIN USERS AND PERMISSIONS === */
.profile-grid{
    grid-template-columns:.72fr 1.28fr !important;
}

.user-profile-card{
    display:flex;
    align-items:center;
    gap:16px;
    padding:18px;
    border-radius:22px;
    background:#fff7fa;
    border:1px solid #f2d7e3;
}

.user-profile-card b,
.user-profile-card span,
.user-profile-card small{
    display:block;
}

.permission-pills{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:16px;
}

.permission-pills span{
    padding:8px 11px;
    border-radius:999px;
    background:#fff;
    border:1px solid #f2d7e3;
    color:#9d3f68;
    font-size:12px;
    font-weight:900;
}

.two-cols{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.permissions-box{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;
    padding:16px;
    border-radius:20px;
    background:#fff7fa;
    border:1px solid #f2d7e3;
}

.permissions-box label{
    display:flex;
    gap:8px;
    align-items:flex-start;
    color:#6e5c69;
    font-weight:800;
    line-height:1.35;
}

.permissions-box input{
    width:auto !important;
    margin-top:3px;
}

.saved-users{
    display:grid;
    gap:10px;
    margin-top:18px;
}

.forgot-link{
    display:inline-block;
    margin-top:16px;
    color:#9d3f68;
    font-weight:900;
}

.success-box{
    background:#e8fff0;
    color:#16703b;
    border:1px solid #b8efc9;
    padding:12px;
    border-radius:14px;
    margin:12px 0;
}

@media(max-width:900px){
    .profile-grid,
    .two-cols,
    .permissions-box{
        grid-template-columns:1fr !important;
    }
}

/* === ADMIN PRO INTERFACE === */
.admin-app{
    min-height:100vh;
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
    background:linear-gradient(135deg,#fffafd 0,#fff3f8 58%,#f8fbff 100%);
}

.admin-sidebar{
    position:sticky;
    top:0;
    height:100vh;
    padding:28px 22px;
    background:rgba(255,255,255,.86);
    border-right:1px solid #f2d7e3;
    box-shadow:18px 0 50px rgba(137,67,96,.08);
    display:flex;
    flex-direction:column;
    gap:26px;
}

.admin-side-brand{
    display:grid;
    gap:7px;
    padding:12px 10px 22px;
    border-bottom:1px solid #f2d7e3;
}

.admin-side-brand strong{
    font-family:"Times New Roman",serif;
    font-size:28px;
    color:#2d2430;
    line-height:1;
}

.admin-side-brand span{
    color:#8b7687;
    font-weight:800;
}

.admin-side-nav{
    display:grid;
    gap:8px;
}

.admin-side-nav a{
    display:flex;
    align-items:center;
    min-height:46px;
    padding:0 16px;
    border-radius:16px;
    color:#6e5c69;
    font-weight:950;
}

.admin-side-nav a:hover,
.admin-side-nav a.active{
    background:linear-gradient(135deg,#fff,#fff2f7);
    color:#d8468d;
    box-shadow:0 12px 26px rgba(137,67,96,.1);
}

.admin-side-user{
    margin-top:auto;
    display:grid;
    gap:5px;
    padding:16px;
    border-radius:20px;
    background:#fff7fa;
    border:1px solid #f2d7e3;
}

.admin-side-user b,
.admin-side-user span,
.admin-side-user a{
    display:block;
}

.admin-side-user span{
    color:#8b7687;
    text-transform:capitalize;
}

.admin-side-user a{
    margin-top:8px;
    color:#d8468d;
    font-weight:950;
}

.admin-main{
    padding:34px 4vw 70px;
    min-width:0;
}

.admin-topbar{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:24px;
}

.admin-topbar h1{
    margin:0;
    font-size:clamp(40px,4vw,64px);
    line-height:.95;
}

.admin-top-profile{
    display:grid;
    justify-items:end;
    gap:4px;
    padding:13px 16px;
    border-radius:18px;
    background:#fff;
    border:1px solid #f2d7e3;
    box-shadow:0 12px 30px rgba(137,67,96,.08);
}

.admin-top-profile span{
    color:#d8468d;
    font-weight:900;
}

.admin-hero-panel,
.admin-card{
    background:rgba(255,255,255,.92);
    border:1px solid #f2d7e3;
    border-radius:30px;
    box-shadow:0 24px 70px rgba(137,67,96,.12);
}

.admin-hero-panel{
    padding:28px;
    display:grid;
    grid-template-columns:1fr 1.3fr;
    gap:24px;
    align-items:center;
    margin-bottom:22px;
}

.admin-hero-panel span{
    color:#d8468d;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:12px;
}

.admin-hero-panel h2{
    margin:8px 0 4px;
    font-size:38px;
}

.admin-hero-panel p{
    margin:0;
    color:#7b6b77;
}

.admin-metric-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    margin-bottom:22px;
}

.admin-metric-grid a{
    padding:24px;
    border-radius:24px;
    background:linear-gradient(180deg,#fff,#fff7fa);
    border:1px solid #f2d7e3;
    box-shadow:0 18px 45px rgba(137,67,96,.1);
}

.admin-metric-grid b{
    display:block;
    font-size:42px;
    line-height:1;
}

.admin-metric-grid span{
    display:block;
    margin-top:8px;
    color:#7b6b77;
    font-weight:900;
}

.admin-content-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
    align-items:start;
}

.admin-card{
    padding:24px;
}

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

.admin-card-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
}

.admin-card-head h2{
    margin:0;
    font-size:28px;
}

.admin-card-head a,
.admin-card-head span{
    color:#d8468d;
    font-weight:950;
}

.admin-list-row,
.admin-user-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:15px 0;
    border-bottom:1px solid #f2d7e3;
}

.admin-list-row:last-child,
.admin-user-row:last-child{
    border-bottom:0;
}

.admin-list-row b,
.admin-list-row span,
.admin-list-row small,
.admin-user-row b,
.admin-user-row span,
.admin-user-row small{
    display:block;
}

.admin-list-row span,
.admin-list-row small,
.admin-user-row span,
.admin-user-row small{
    color:#7b6b77;
}

.users-page-grid{
    grid-template-columns:.9fr 1.1fr;
}

.permission-pills.compact span{
    font-size:11px;
    padding:6px 9px;
}

.settings-list,
.settings-permissions{
    display:grid;
    gap:12px;
}

.settings-list div,
.settings-permissions div{
    display:grid;
    gap:4px;
    padding:14px;
    border-radius:16px;
    background:#fff7fa;
    border:1px solid #f2d7e3;
}

.settings-list span,
.settings-permissions span{
    color:#7b6b77;
}

@media(max-width:1050px){
    .admin-app{
        grid-template-columns:1fr;
    }

    .admin-sidebar{
        position:relative;
        height:auto;
    }

    .admin-side-nav{
        grid-template-columns:repeat(2,1fr);
    }

    .admin-hero-panel,
    .admin-metric-grid,
    .admin-content-grid,
    .users-page-grid{
        grid-template-columns:1fr;
    }
}

/* === 2026-07-01 HOME CREDENTIALS + NEW LOCANDINA === */
.hero-credentials .credential-logo-line{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    flex-wrap:wrap !important;
}

.iirm-logo-inline{
    width:96px !important;
    height:auto !important;
    display:inline-block !important;
    vertical-align:middle !important;
    background:rgba(255,255,255,.84) !important;
    border:1px solid rgba(242,215,227,.95) !important;
    border-radius:12px !important;
    padding:5px 8px !important;
    box-shadow:0 8px 20px rgba(137,67,96,.1) !important;
}

.premium-banners .mortalita-card .story-image{
    min-height:620px !important;
}

.premium-banners .mortalita-card .story-image img,
.premium-banners .mortalita-card .locandina-fix{
    width:min(100%,590px) !important;
    max-height:560px !important;
    height:auto !important;
    object-fit:contain !important;
}

@media(max-width:900px){
    .hero-credentials .credential-logo-line{
        gap:8px !important;
    }

    .iirm-logo-inline{
        width:82px !important;
    }

    .premium-banners .mortalita-card .story-image{
        min-height:500px !important;
    }

    .premium-banners .mortalita-card .story-image img,
    .premium-banners .mortalita-card .locandina-fix{
        width:min(98%,430px) !important;
        max-height:470px !important;
    }
}

/* === FOOTER SEDI REFINEMENT === */
.legal-footer{
    grid-template-columns:.55fr 1.45fr !important;
    gap:54px !important;
}

.footer-columns{
    grid-template-columns:.58fr 2.5fr .74fr !important;
    gap:34px !important;
}

.footer-locations-section{
    padding-left:8px !important;
}

.footer-locations{
    gap:10px !important;
    max-width:760px !important;
    padding:16px 0 6px !important;
    border-top:1px solid rgba(216,70,141,.22) !important;
    border-bottom:1px solid rgba(216,70,141,.16) !important;
}

.footer-locations p{
    gap:8px 11px !important;
}

.footer-locations span{
    color:#5f4a58 !important;
    font-size:12.5px !important;
    font-weight:900 !important;
    letter-spacing:.065em !important;
}

.footer-locations i{
    width:4px !important;
    height:4px !important;
    background:#df74a6 !important;
    box-shadow:none !important;
    flex:0 0 auto !important;
}

.footer-locations-abroad{
    margin-top:2px !important;
    padding-top:10px !important;
    border-top:1px solid rgba(216,70,141,.14) !important;
}

.footer-locations-abroad span{
    color:#d8468d !important;
}

@media(max-width:1100px){
    .legal-footer{
        grid-template-columns:1fr !important;
        gap:28px !important;
    }

    .footer-columns{
        grid-template-columns:.85fr 1.35fr .8fr !important;
    }
}

@media(max-width:900px){
    .footer-columns{
        grid-template-columns:1fr !important;
    }

    .footer-locations-section{
        padding-left:0 !important;
    }

    .footer-locations p{
        gap:7px 8px !important;
    }

    .footer-locations span{
        font-size:12px !important;
        white-space:normal !important;
    }
}

/* === FINAL FOOTER + MORTALITA BANNER POLISH === */
.footer-columns{
    grid-template-columns:.72fr 1.65fr .78fr !important;
    align-items:start !important;
}

.footer-locations{
    display:grid !important;
    gap:16px !important;
    max-width:620px !important;
    padding:0 !important;
    border:0 !important;
}

.footer-location-group{
    display:grid !important;
    gap:5px !important;
    padding:0 0 15px !important;
    border-bottom:1px solid rgba(216,70,141,.16) !important;
}

.footer-location-group strong{
    color:#d8468d !important;
    font-size:11px !important;
    font-weight:950 !important;
    letter-spacing:.18em !important;
    text-transform:uppercase !important;
}

.footer-location-group p{
    margin:0 !important;
    color:#6e5c69 !important;
    font-family:"Times New Roman", Georgia, serif !important;
    font-size:16px !important;
    font-weight:700 !important;
    letter-spacing:.01em !important;
    line-height:1.38 !important;
}

.footer-locations-abroad{
    margin:0 !important;
    padding-top:0 !important;
    border-top:0 !important;
}

.footer-locations-abroad p{
    color:#a53d70 !important;
}

.premium-banners .mortalita-card{
    grid-template-columns:minmax(430px,.94fr) minmax(440px,1.06fr) !important;
    border-radius:30px !important;
    background:
        linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,244,249,.9)),
        linear-gradient(135deg,#fffafd 0%,#ffe7f1 100%) !important;
    border:1px solid rgba(242,215,227,.95) !important;
    box-shadow:0 28px 78px rgba(137,67,96,.13) !important;
}

.premium-banners .mortalita-card .story-image{
    min-height:610px !important;
    padding:34px !important;
    background:
        radial-gradient(circle at 18% 14%,rgba(255,255,255,.95),rgba(255,255,255,0) 34%),
        linear-gradient(145deg,#fff4f8 0%,#ffd8e8 100%) !important;
}

.premium-banners .mortalita-card .story-image:before{
    content:"Screening combinato" !important;
    left:34px !important;
    top:34px !important;
    border:1px solid rgba(216,70,141,.16) !important;
    background:rgba(255,255,255,.82) !important;
    color:#a53d70 !important;
    box-shadow:0 10px 26px rgba(137,67,96,.08) !important;
}

.premium-banners .mortalita-card .story-image img,
.premium-banners .mortalita-card .locandina-fix{
    width:min(100%,570px) !important;
    max-height:545px !important;
    border-radius:20px !important;
    box-shadow:
        0 22px 55px rgba(137,67,96,.18),
        0 0 0 12px rgba(255,255,255,.66),
        0 0 0 13px rgba(242,215,227,.72) !important;
}

.premium-banners .mortalita-card .story-text{
    padding:62px clamp(36px,5.4vw,78px) !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,250,253,.42)) !important;
}

.premium-banners .mortalita-card .story-text span{
    color:#d8468d !important;
    letter-spacing:.16em !important;
}

.premium-banners .mortalita-card .poster-title{
    max-width:620px !important;
    color:#2d2430 !important;
    font-family:"Times New Roman", Georgia, serif !important;
    font-size:clamp(48px,5vw,78px) !important;
    line-height:.98 !important;
    letter-spacing:0 !important;
    margin-bottom:22px !important;
}

.premium-banners .mortalita-card .story-text p{
    max-width:660px !important;
    color:#6e5c69 !important;
    font-size:20px !important;
    line-height:1.55 !important;
}

.premium-banners .mortalita-card .service-pills{
    margin-top:12px !important;
}

@media(max-width:900px){
    .footer-columns{
        grid-template-columns:1fr !important;
        gap:30px !important;
    }

    .footer-location-group p{
        font-size:15px !important;
    }

    .premium-banners .mortalita-card{
        grid-template-columns:1fr !important;
    }

    .premium-banners .mortalita-card .story-image{
        min-height:500px !important;
        padding:28px !important;
    }

    .premium-banners .mortalita-card .story-image img,
    .premium-banners .mortalita-card .locandina-fix{
        width:min(96%,430px) !important;
        max-height:455px !important;
    }
}

/* === WHATSAPP FLOATING CHAT === */
.whatsapp-float{
    position:fixed !important;
    right:28px !important;
    bottom:28px !important;
    z-index:999999 !important;
    width:auto !important;
    height:auto !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    padding:0 !important;
    border-radius:999px !important;
    background:transparent !important;
    box-shadow:none !important;
    text-decoration:none !important;
    transition:transform .18s ease !important;
}

.whatsapp-float:hover{
    transform:translateY(-3px) !important;
    box-shadow:none !important;
}

.whatsapp-message{
    position:relative;
    display:inline-flex;
    align-items:center;
    min-height:44px;
    padding:11px 17px 11px 18px;
    border:1px solid rgba(242,215,227,.96);
    border-radius:999px;
    background:rgba(255,255,255,.94);
    color:#5f4a58;
    font-family:"Times New Roman", Georgia, serif;
    font-size:17px;
    font-weight:700;
    line-height:1;
    box-shadow:0 16px 42px rgba(137,67,96,.16);
    backdrop-filter:blur(10px);
}

.whatsapp-message:after{
    content:"";
    position:absolute;
    right:-6px;
    width:12px;
    height:12px;
    background:rgba(255,255,255,.94);
    border-top:1px solid rgba(242,215,227,.96);
    border-right:1px solid rgba(242,215,227,.96);
    transform:rotate(45deg);
}

.whatsapp-icon-wrap{
    position:relative;
    width:66px;
    height:66px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:linear-gradient(145deg,#34dc63,#1ebc59);
    box-shadow:0 16px 38px rgba(37,211,102,.34),0 5px 14px rgba(0,0,0,.14);
}

.whatsapp-icon-wrap svg{
    width:46px;
    height:46px;
    filter:drop-shadow(0 2px 4px rgba(0,0,0,.14));
}

.whatsapp-alert-dot{
    position:absolute;
    top:2px;
    right:2px;
    width:15px;
    height:15px;
    border:3px solid #fff;
    border-radius:50%;
    background:#e43355;
    box-shadow:0 6px 12px rgba(228,51,85,.28);
}

@media(max-width:720px){
    .whatsapp-float{
        right:16px !important;
        bottom:16px !important;
        gap:9px !important;
    }

    .whatsapp-message{
        max-width:190px;
        min-height:40px;
        padding:10px 14px;
        font-size:15px;
    }

    .whatsapp-icon-wrap{
        width:58px;
        height:58px;
    }

    .whatsapp-icon-wrap svg{
        width:40px;
        height:40px;
    }
}

/* === 2026-07-02 FOOTER / BANNER / WHATSAPP FINAL FIX === */
.legal-footer{
    display:grid !important;
    grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr) !important;
    gap:42px !important;
    align-items:start !important;
    padding:58px 7vw !important;
    background:linear-gradient(135deg,#fffafd 0%,#fff2f7 52%,#ffe8f1 100%) !important;
    border-top:1px solid #f2d7e3 !important;
    color:#332936 !important;
    text-align:left !important;
}

.footer-brand{
    align-self:stretch !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:12px !important;
    padding-right:18px !important;
}

.footer-brand strong{
    font-family:"Times New Roman", Georgia, serif !important;
    color:#2d2430 !important;
    font-size:clamp(42px,4.5vw,58px) !important;
    line-height:.96 !important;
    letter-spacing:0 !important;
}

.footer-brand span,
.footer-brand small{
    font-family:"Times New Roman", Georgia, serif !important;
    color:#8b7687 !important;
    font-size:17px !important;
    line-height:1.35 !important;
}

.footer-columns{
    display:grid !important;
    grid-template-columns:.85fr 1.35fr .85fr !important;
    gap:18px !important;
}

.footer-columns section{
    min-height:100% !important;
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    padding:20px 22px !important;
    border:1px solid rgba(242,215,227,.92) !important;
    border-radius:24px !important;
    background:rgba(255,255,255,.48) !important;
    box-shadow:0 16px 46px rgba(137,67,96,.07) !important;
}

.footer-columns h3{
    margin:0 0 8px !important;
    color:#d8468d !important;
    font-family:Inter,Segoe UI,Arial,sans-serif !important;
    font-size:12px !important;
    font-weight:950 !important;
    letter-spacing:.18em !important;
    text-transform:uppercase !important;
}

.footer-columns a,
.footer-columns span,
.footer-location-group p{
    color:#6e5c69 !important;
    font-family:"Times New Roman", Georgia, serif !important;
    font-size:17px !important;
    font-weight:700 !important;
    line-height:1.35 !important;
}

.footer-columns a:hover{
    color:#d8468d !important;
    text-decoration:none !important;
}

.footer-locations{
    display:flex !important;
    flex-direction:column !important;
    gap:13px !important;
    max-width:none !important;
    padding:0 !important;
    border:0 !important;
}

.footer-location-group{
    display:flex !important;
    flex-direction:column !important;
    gap:5px !important;
    padding:0 0 12px !important;
    border-bottom:1px solid rgba(216,70,141,.12) !important;
}

.footer-location-group strong{
    color:#d8468d !important;
    font-family:Inter,Segoe UI,Arial,sans-serif !important;
    font-size:10px !important;
    font-weight:950 !important;
    letter-spacing:.18em !important;
    text-transform:uppercase !important;
}

.footer-location-group p{
    margin:0 !important;
}

.footer-locations-abroad{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
}

.premium-banners .mortalita-card .poster-title{
    max-width:720px !important;
    margin:14px 0 16px !important;
    color:var(--ink) !important;
    font-family:Inter,Segoe UI,Arial,sans-serif !important;
    font-size:42px !important;
    font-weight:900 !important;
    line-height:1.04 !important;
    letter-spacing:-.035em !important;
    text-transform:none !important;
    text-shadow:none !important;
}

.whatsapp-float{
    position:fixed !important;
    right:24px !important;
    bottom:24px !important;
    z-index:2147483000 !important;
    display:flex !important;
    align-items:center !important;
    gap:11px !important;
    width:auto !important;
    height:auto !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    pointer-events:auto !important;
}

.whatsapp-icon-wrap{
    width:66px !important;
    height:66px !important;
    flex:0 0 66px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:50% !important;
    background:#25D366 !important;
    box-shadow:0 18px 44px rgba(37,211,102,.36),0 6px 16px rgba(0,0,0,.16) !important;
}

.whatsapp-icon-wrap svg{
    width:46px !important;
    height:46px !important;
    display:block !important;
}

.whatsapp-message{
    display:inline-flex !important;
    align-items:center !important;
    min-height:44px !important;
    padding:11px 17px !important;
    border:1px solid rgba(242,215,227,.98) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.96) !important;
    color:#5f4a58 !important;
    font-family:"Times New Roman", Georgia, serif !important;
    font-size:17px !important;
    font-weight:700 !important;
    box-shadow:0 16px 42px rgba(137,67,96,.16) !important;
}

.whatsapp-alert-dot{
    position:absolute !important;
    top:2px !important;
    right:2px !important;
    width:15px !important;
    height:15px !important;
    border:3px solid #fff !important;
    border-radius:50% !important;
    background:#e43355 !important;
}

@media(max-width:980px){
    .legal-footer,
    .footer-columns{
        grid-template-columns:1fr !important;
    }
}

@media(max-width:620px){
    .whatsapp-float{
        right:14px !important;
        bottom:14px !important;
        gap:8px !important;
    }

    .whatsapp-message{
        max-width:168px !important;
        min-height:40px !important;
        padding:10px 13px !important;
        font-size:15px !important;
    }

    .whatsapp-icon-wrap{
        width:58px !important;
        height:58px !important;
        flex-basis:58px !important;
    }
}

/* === 2026-07-02 INTEGRATED FOOTER + VISIBLE WHATSAPP === */
.legal-footer{
    display:grid !important;
    grid-template-columns:minmax(270px,.7fr) minmax(0,1.3fr) !important;
    gap:48px !important;
    align-items:start !important;
    padding:60px 7vw 64px !important;
    background:linear-gradient(135deg,#fffafd 0%,#fff2f7 58%,#ffe8f1 100%) !important;
    border-top:1px solid #f2d7e3 !important;
    box-shadow:0 -18px 60px rgba(137,67,96,.07) !important;
    color:#332936 !important;
    text-align:left !important;
}

.footer-columns{
    display:grid !important;
    grid-template-columns:.78fr 1.55fr .82fr !important;
    gap:34px !important;
    align-items:start !important;
}

.footer-columns section{
    min-height:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
}

.footer-columns h3{
    margin:0 0 8px !important;
    color:#d8468d !important;
    font-family:Inter,Segoe UI,Arial,sans-serif !important;
    font-size:12px !important;
    font-weight:950 !important;
    letter-spacing:.18em !important;
    text-transform:uppercase !important;
}

.footer-columns a,
.footer-columns span,
.footer-locations{
    color:#6e5c69 !important;
    font-family:"Times New Roman", Georgia, serif !important;
    font-size:17px !important;
    font-weight:700 !important;
    line-height:1.5 !important;
}

.footer-locations{
    display:block !important;
    margin:0 !important;
    max-width:none !important;
    padding:0 !important;
    border:0 !important;
}

.footer-location-group,
.footer-locations-abroad,
.footer-location-group strong{
    display:contents !important;
}

.footer-brand{
    display:flex !important;
    flex-direction:column !important;
    gap:11px !important;
    padding:0 !important;
}

.footer-brand strong{
    font-family:"Times New Roman", Georgia, serif !important;
    color:#2d2430 !important;
    font-size:clamp(42px,4.5vw,58px) !important;
    line-height:.96 !important;
}

.footer-brand span,
.footer-brand small{
    font-family:"Times New Roman", Georgia, serif !important;
    color:#8b7687 !important;
    font-size:17px !important;
    line-height:1.35 !important;
}

.whatsapp-float{
    position:fixed !important;
    right:22px !important;
    bottom:22px !important;
    z-index:2147483647 !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    width:auto !important;
    height:auto !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

.whatsapp-icon-wrap{
    position:relative !important;
    width:66px !important;
    height:66px !important;
    flex:0 0 66px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:50% !important;
    background:#25D366 !important;
    box-shadow:0 18px 44px rgba(37,211,102,.38),0 6px 16px rgba(0,0,0,.16) !important;
}

.whatsapp-icon-wrap svg{
    width:46px !important;
    height:46px !important;
    display:block !important;
}

@media(max-width:980px){
    .legal-footer,
    .footer-columns{
        grid-template-columns:1fr !important;
    }

    .footer-columns{
        gap:26px !important;
    }
}

@media(max-width:620px){
    .legal-footer{
        padding:46px 7vw 112px !important;
    }

    .whatsapp-float{
        right:14px !important;
        bottom:14px !important;
    }

    .whatsapp-message{
        display:none !important;
    }

    .whatsapp-icon-wrap{
        width:60px !important;
        height:60px !important;
        flex-basis:60px !important;
    }
}

/* === 2026-07-02 WHATSAPP CIRCLE + HORIZONTAL LOCATIONS === */
.legal-footer{
    grid-template-columns:minmax(280px,.62fr) minmax(0,1.38fr) !important;
    gap:52px !important;
    padding:60px 7vw 66px !important;
}

.footer-columns{
    display:grid !important;
    grid-template-columns:minmax(220px,.72fr) minmax(240px,.88fr) !important;
    column-gap:54px !important;
    row-gap:28px !important;
    align-items:start !important;
}

.footer-columns section{
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border-radius:0 !important;
}

.footer-locations-section{
    grid-column:1 / -1 !important;
    max-width:920px !important;
    padding-top:4px !important;
}

.footer-locations{
    display:block !important;
    margin:0 !important;
    max-width:920px !important;
    color:#6e5c69 !important;
    font-size:18px !important;
    line-height:1.58 !important;
    letter-spacing:.01em !important;
}

.whatsapp-float{
    right:28px !important;
    bottom:28px !important;
    width:74px !important;
    height:74px !important;
    display:grid !important;
    place-items:center !important;
    gap:0 !important;
    border-radius:50% !important;
    background:transparent !important;
    box-shadow:none !important;
}

.whatsapp-message{
    display:none !important;
}

.whatsapp-icon-wrap{
    width:74px !important;
    height:74px !important;
    flex:0 0 74px !important;
    border-radius:50% !important;
    background:#25D366 !important;
    box-shadow:0 18px 46px rgba(37,211,102,.38),0 7px 18px rgba(0,0,0,.18) !important;
}

.whatsapp-icon-wrap svg{
    width:52px !important;
    height:52px !important;
}

.whatsapp-alert-dot{
    top:6px !important;
    right:6px !important;
}

@media(max-width:980px){
    .legal-footer,
    .footer-columns{
        grid-template-columns:1fr !important;
    }

    .footer-locations-section{
        grid-column:auto !important;
    }
}

@media(max-width:620px){
    .whatsapp-float{
        right:16px !important;
        bottom:16px !important;
        width:64px !important;
        height:64px !important;
    }

    .whatsapp-icon-wrap{
        width:64px !important;
        height:64px !important;
        flex-basis:64px !important;
    }

    .whatsapp-icon-wrap svg{
        width:45px !important;
        height:45px !important;
    }
}

/* === 2026-07-02 COMPACT FOOTER + GUARANTEED WHATSAPP === */
.footer-columns{
    display:grid !important;
    grid-template-columns:minmax(220px,.78fr) minmax(220px,.78fr) !important;
    column-gap:56px !important;
    row-gap:26px !important;
    align-items:start !important;
}

.footer-locations-section{
    grid-column:1 / -1 !important;
    max-width:980px !important;
    padding-top:4px !important;
}

.footer-locations{
    max-width:980px !important;
    font-size:18px !important;
    line-height:1.6 !important;
}

.whatsapp-float{
    position:fixed !important;
    right:28px !important;
    bottom:28px !important;
    z-index:2147483647 !important;
    width:74px !important;
    height:74px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:50% !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
}

.whatsapp-icon-wrap{
    width:74px !important;
    height:74px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:50% !important;
    background:#25D366 !important;
}

.whatsapp-icon-wrap svg{
    width:52px !important;
    height:52px !important;
}

@media(max-width:980px){
    .footer-columns{
        grid-template-columns:1fr !important;
    }

    .footer-locations-section{
        grid-column:auto !important;
    }
}

@media(max-width:620px){
    .whatsapp-float{
        right:16px !important;
        bottom:16px !important;
        width:64px !important;
        height:64px !important;
    }

    .whatsapp-icon-wrap{
        width:64px !important;
        height:64px !important;
    }
}
