/* FeMxPlay - stili comuni a tutte le pagine */
@font-face{font-family:'FeMfont';src:url('../fonts/FeMfont-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'FeMfont';src:url('../fonts/FeMfont-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'FeMfont';src:url('../fonts/FeMfont-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'FeMfont Barrato';src:url('../fonts/FeMfont-Barrato.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{
    --bg: #F8E0FE;
    --bg-alt: #FFFFFF;
    --surface: #FFFFFF;
    --line: rgba(36,17,48,0.10);

    --ink: #241130;
    --ink-soft: #6E5C7C;

    --pink: #8C52FF;
    --pink-soft: rgba(140,82,255,0.13);
    --lilac-light: #F0DCFB;
    --logo-pink: #F8E9F4;
    --red: #E25020;
    --red-soft: rgba(226,80,32,0.15);
    --gold: #8C52FF;
    --gold-soft: rgba(255,239,2,0.28);
    --yellow: #FFEF02;
    --violet: #8C52FF;

    --font-display: 'FeMfont', cursive;
    --font-body: 'Manrope', sans-serif;

    --maxw: 1140px;
    --radius-lg: 28px;
    --radius-md: 18px;
    --card-shadow: 0 16px 40px -26px rgba(140,82,255,0.35);

    --tint-violet: #F1E4FF;
    --tint-coral: #FCE3D8;
    --tint-gold: #FFF3D2;
  }
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
  }
body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:var(--font-body);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
a{color:inherit;}
img{max-width:100%; display:block;}
section{padding:100px 24px;}
.wrap{max-width:var(--maxw); margin:0 auto;}
.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-weight:800;
    font-size:0.72rem;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--gold);
    background:var(--gold-soft);
    padding:7px 14px;
    border-radius:999px;
    border:1px solid rgba(244,190,61,0.25);
  }
.eyebrow::before{
    content:"";
    width:6px; height:6px; border-radius:50%;
    background:var(--pink);
    display:inline-block;
  }
h1,h2,h3{margin:0;}
.script{
    font-family:var(--font-display);
    font-weight:400;
    line-height:1;
    color:var(--gold);
  }
.btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:14px 26px;
    border-radius:999px;
    font-weight:800;
    font-size:0.95rem;
    text-decoration:none;
    border:2px solid transparent;
    transition:transform .18s ease, box-shadow .18s ease;
  }
.btn:hover{transform:translateY(-2px);}
.btn-solid{
    background:linear-gradient(120deg, var(--pink), var(--red));
    background-origin:border-box; 
    color:#fff;
    box-shadow:0 12px 26px -8px rgba(255,62,138,0.45);
  }
.btn-solid:hover{box-shadow:0 16px 32px -8px rgba(255,62,138,0.6);}
.btn-outline{
    background:transparent;
    border-color:var(--gold);
    color:var(--gold);
  }
.btn-outline:hover{background:var(--gold-soft);}
p{text-align:justify;}
.age-gate-card p{text-align:center;}
.wrap[style*="text-align:center"] p{text-align:center;}
.btn-telegram{
    background:var(--grad-telegram);
    background-origin:border-box;
    color:#fff;
    box-shadow:0 12px 26px -8px rgba(34,158,217,0.5);
  }
.btn-whatsapp{
    background:var(--grad-whatsapp);
    background-origin:border-box;
    color:#fff;
    box-shadow:0 12px 26px -8px rgba(18,161,80,0.5);
  }
.btn-telegram:hover{box-shadow:0 16px 32px -8px rgba(34,158,217,0.6);}
.btn-sm{padding:9px 18px; font-size:0.82rem; gap:6px;}
header{
    position:fixed; top:0; left:0; right:0; z-index:50;
    background:rgba(248,224,254,0.86);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
.nav-row{
    max-width:var(--maxw); margin:0 auto;
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 24px;
  }
.nav-right{display:flex; align-items:center; gap:22px;}
.lang-switch{display:flex; gap:8px; flex-shrink:0;}
.lang-btn{
    width:34px; height:34px; border-radius:50%;
    border:2px solid transparent;
    display:flex; align-items:center; justify-content:center;
    background:var(--surface);
    cursor:pointer; padding:0;
    box-shadow:var(--card-shadow);
    transition:transform .15s ease, border-color .15s ease;
    overflow:hidden;
  }
.lang-btn svg{width:100%; height:100%; display:block;}
.lang-btn:hover{transform:translateY(-2px);}
.lang-btn.active{border-color:var(--violet);}
.brand-anchor{
    display:flex; align-items:center; gap:10px;
    visibility:hidden;
    pointer-events:none;
  }
.brand-anchor-text{
    font-family:var(--font-display);
    font-size:1.5rem;
    letter-spacing:0.5px;
  }
.brand-float{
    position:fixed;
    top:130px; left:50%; transform:translateX(-50%);
    z-index:60;
    display:flex;
    align-items:center;
    gap:18px;
    text-decoration:none;
    color:var(--ink);
    will-change:top,left;
  }
.brand-float-mark{
    background:transparent;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
    padding:0;
    box-sizing:border-box;
  }
.brand-float-mark img{width:100%; display:block;}
.brand-float-text{
    font-family:var(--font-display);
    font-weight:400;
    white-space:nowrap;
    letter-spacing:0.5px;
  }
nav ul{list-style:none; display:flex; gap:18px; margin:0; padding:0;}
nav a{
    text-decoration:none; font-weight:400; font-size:1rem;
    font-family:var(--font-display);
    color:var(--ink-soft);
    padding:4px 2px;
    border-bottom:2px solid transparent;
    transition:color .15s ease, border-color .15s ease;
  }
nav a:hover{color:var(--ink); border-color:var(--pink);}
nav ul{gap:14px; align-items:center;}
nav a{font-size:0.95rem; white-space:nowrap;}
nav a[data-spy]{transform-origin:50% 100%; transition:transform .25s ease, color .2s ease, border-color .2s ease, opacity .2s ease, background .2s ease;}
nav a[data-spy]:not(.nav-pill){opacity:.7;}
nav a[data-spy].active:not(.nav-pill){transform:scale(1.3); color:var(--violet); opacity:1; border-bottom-color:var(--violet);}
.nav-sep{width:1px; align-self:stretch; background:var(--line); margin:2px 2px;}
nav a.nav-pill, .nav-pages a.nav-pill{
    display:inline-block; padding:3px 14px; border:2px solid var(--violet); border-radius:99px;
    color:var(--violet); font-family:var(--font-display); font-size:0.95rem; text-decoration:none; background:transparent;
    transition:background .2s ease, color .2s ease, transform .25s ease;
  }
nav a.nav-pill:hover, .nav-pages a.nav-pill:hover{background:var(--violet); color:#fff;}
nav a.nav-pill.active, .nav-pages a.nav-pill.active{background:var(--violet); color:#fff; transform:scale(1.07);}
.nav-pages{display:none;}
@media (max-width:1399px){
    nav a.nav-pill, nav .nav-sep{display:none;}
    .nav-pages{display:flex; justify-content:center; flex-wrap:wrap; gap:10px; padding:2px 12px 10px;}
  }
@media (min-width:901px) and (max-width:1399px){
    body.subpage nav a.nav-pill{display:inline-block;}
    body.subpage .nav-pages{display:none;}
  }
@media (min-width:1400px){ .nav-row{max-width:1340px;} }
nav a.nav-pill.nav-home, .nav-pages a.nav-pill.nav-home{background:var(--yellow);}
nav a.nav-pill.nav-home:hover, .nav-pages a.nav-pill.nav-home:hover{background:var(--violet); color:#fff;}
:root{
    --dk-bg:color-mix(in srgb, var(--bg) 62%, var(--violet));
    --dk-violet:color-mix(in srgb, var(--tint-violet) 55%, var(--violet));
    --dk-coral:color-mix(in srgb, var(--tint-coral) 60%, var(--red));
    --dk-gold:color-mix(in srgb, var(--tint-gold) 60%, #F2B300);
    --edge-w:clamp(48px, calc((100vw - 1140px) / 2 + 90px), 420px);
    --edge-s:1;
    --edge-mask:linear-gradient(90deg, rgb(0 0 0 / var(--edge-s)) 0, rgb(0 0 0 / calc(var(--edge-s) * .5)) calc(var(--edge-w) * .5), rgb(0 0 0 / 0) var(--edge-w), rgb(0 0 0 / 0) calc(100% - var(--edge-w)), rgb(0 0 0 / calc(var(--edge-s) * .5)) calc(100% - var(--edge-w) * .5), rgb(0 0 0 / var(--edge-s)) 100%);
  }
@media (max-width:700px){ :root{--edge-s:.65;} }
section, .widgets-band{position:relative;}
section::before, .widgets-band::before{content:""; position:absolute; inset:0; pointer-events:none; background:var(--edge-bg, transparent); -webkit-mask-image:var(--edge-mask); mask-image:var(--edge-mask);}
section > .wrap, .widgets-band > .inline-widgets{position:relative;}
.widgets-band{display:flow-root; background:var(--tint-violet); --edge-bg:var(--dk-violet); padding-bottom:1px;}
.track-wrap{position:relative; height:7px; background:rgba(36,17,48,0.09); overflow:hidden;}
.track-fill{
    position:absolute; top:0; left:0; height:100%; width:0%;
    border-radius:0 99px 99px 0;
    
    background-image:linear-gradient(90deg, #8C52FF 0%, #B26BFF 16%, #E25020 40%, #FFEF02 58%, #E25020 76%, #B26BFF 90%, #8C52FF 100%);
    background-repeat:repeat-x; background-size:100vw 100%;
    box-shadow:0 0 14px rgba(140,82,255,0.55);
    transition:width .1s linear;
  }
#chisiamo{
    padding-top:460px;
  }
@media (max-width: 900px){
    #chisiamo{padding-top:340px;}
  }
.dice-cluster{position:relative; height:340px;}
.card{
    position:absolute;
    width:140px; height:220px;
    border-radius:20px;
    background:var(--surface);
    box-shadow:0 24px 46px -18px rgba(0,0,0,0.6);
    display:flex; align-items:center; justify-content:center;
    overflow:hidden;
  }
.card img{width:100%; height:100%; object-fit:contain; border-radius:inherit; display:block;}
.card.c1{left:10px; top:40px; transform:rotate(-14deg);}
.card.c2{left:100px; top:10px; transform:rotate(4deg); z-index:2;}
.card.c3{left:190px; top:55px; transform:rotate(18deg);}
.die{
    position:absolute;
    width:78px; height:78px;
    border-radius:18px;
    background:var(--surface);
    border:3px solid var(--ink);
    display:grid;
    grid-template-columns:repeat(3,1fr);
    grid-template-rows:repeat(3,1fr);
    padding:12px;
    box-shadow:0 14px 26px -12px rgba(0,0,0,0.6);
  }
.die.d1{right:20px; bottom:0px; transform:rotate(-10deg);}
.die.d2{right:90px; bottom:120px; transform:rotate(16deg); width:56px; height:56px; padding:9px;}
.pip{width:10px; height:10px; border-radius:50%; background:var(--red); align-self:center; justify-self:center;}
.scambiamo-logo{
    display:inline-block;
    height:1.3em;
    vertical-align:middle;
    transform:translateY(-0.06em);
  }
.scambiamo-logo.inline{height:1.05em;}
.scambiamo-logo.big{
    height:clamp(3.2rem, 6vw, 5rem);
    margin:0 0 4px;
  }
.gioco-intro{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:48px;
    align-items:center;
    margin-bottom:64px;
  }
.section-head{max-width:640px; margin-bottom:56px;}
.section-head h2{font-size:clamp(2.2rem,4vw,3rem); margin-top:14px; color:var(--ink);}
.section-head .script{font-size:1.05em;}
.section-head p{color:var(--ink-soft); font-size:1.05rem; margin-top:14px;}
.levels{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.level-card{
    background:var(--surface);
    border-radius:var(--radius-lg);
    padding:34px 28px;
    border:1px solid var(--line);
    box-shadow:var(--card-shadow);
  }
.level-card p{color:var(--ink-soft); font-size:0.98rem; margin:0;}
.consent-note{
    margin-top:40px;
    padding:22px 26px;
    background:var(--bg-alt);
    border:1px solid var(--line);
    border-left:3px solid var(--gold);
    border-radius:var(--radius-md);
    display:flex; gap:14px; align-items:flex-start;
    font-weight:700; color:var(--ink); font-size:0.98rem;
  }
.consent-note svg{flex-shrink:0; width:26px; height:26px; margin-top:2px;}
.event-card{
    background:var(--surface);
    border-radius:var(--radius-lg);
    overflow:hidden;
    border:1px solid var(--line);
    display:flex; flex-direction:column;
    box-shadow:var(--card-shadow);
    cursor:pointer;
  }
.poster{
    height:150px;
    background:
      repeating-linear-gradient(135deg, rgba(255,255,255,0.05) 0 14px, rgba(255,255,255,0.02) 14px 28px);
    position:relative;
    display:flex; align-items:center; justify-content:center;
  }
.poster span{
    background:var(--bg);
    padding:6px 14px;
    border-radius:999px;
    font-weight:800;
    font-size:0.75rem;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--gold);
    border:1px solid var(--line);
  }
.event-body{padding:22px 24px 26px; display:flex; flex-direction:column; gap:10px; flex:1;}
.event-body .date{font-weight:800; font-size:0.78rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--pink);}
.event-body h3{font-size:1.15rem;}
.event-body p{color:var(--ink-soft); font-size:0.94rem; margin:0; flex:1;}
.event-body a{margin-top:8px; font-weight:800; font-size:0.9rem; color:var(--gold); text-decoration:none; display:inline-flex; align-items:center; gap:6px;}
.event-body a:hover{text-decoration:underline;}
.events-note{color:var(--ink-soft); font-size:0.95rem; margin-top:26px;}
.past-events{margin-top:56px;}
.past-events-title{font-size:1.1rem; margin-bottom:18px; color:var(--ink);}
.carousel{
    display:flex;
    gap:18px;
    overflow-x:auto;
    scroll-behavior:auto;
    padding-bottom:10px;
    -webkit-overflow-scrolling:touch;
  }
.carousel-item{
    flex:0 0 auto;
    width:165px;
    height:220px;
    border-radius:var(--radius-md);
    overflow:hidden;
    box-shadow:var(--card-shadow);
  }
.carousel::-webkit-scrollbar{height:8px;}
.carousel::-webkit-scrollbar-thumb{background:var(--line); border-radius:99px;}
.poster-modal{
    display:none;
    position:fixed; inset:0; z-index:310;
    background:rgba(36,17,48,0.8);
    backdrop-filter:blur(6px);
    align-items:center; justify-content:center;
    padding:24px;
  }
.poster-modal.open{display:flex;}
.poster-modal-inner{
    display:flex;
    background:var(--surface);
    border-radius:var(--radius-lg);
    overflow:hidden;
    max-width:920px; width:100%;
    max-height:88vh;
    box-shadow:0 30px 70px -20px rgba(0,0,0,0.6);
  }
.poster-modal-inner img{width:42%; object-fit:contain; background:var(--bg); display:block;}
.poster-modal-caption{
    flex:1;
    padding:28px 30px;
    overflow-y:auto;
    white-space:pre-wrap;
    color:var(--ink-soft);
    font-size:0.92rem;
    line-height:1.6;
  }
.poster-modal-close{
    position:absolute; top:20px; right:24px; z-index:2;
    width:40px; height:40px; border-radius:50%;
    background:rgba(255,255,255,0.9);
    border:none; cursor:pointer; font-size:1.1rem; color:var(--ink);
  }
@media (max-width:700px){
    .poster-modal-inner{flex-direction:column; max-height:92vh; overflow-y:auto;}
    .poster-modal-inner img{width:100%; max-height:45vh; object-fit:contain;}
  }
.event-modal{
    display:none;
    position:fixed; inset:0; z-index:200;
    background:rgba(36,17,48,0.55);
    backdrop-filter:blur(4px);
    align-items:center; justify-content:center;
    padding:20px;
  }
.event-modal.open{display:flex;}
.event-modal-card{
    background:var(--surface);
    border-radius:var(--radius-lg);
    max-width:460px; width:100%;
    overflow:hidden;
    position:relative;
    box-shadow:0 30px 70px -20px rgba(36,17,48,0.5);
  }
.event-modal-close{
    position:absolute; top:14px; right:14px; z-index:2;
    width:34px; height:34px; border-radius:50%;
    background:rgba(255,255,255,0.85);
    border:none; cursor:pointer;
    font-size:1rem; color:var(--ink);
  }
.community{
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:56px;
    align-items:center;
  }
.community-logo img{width:82%;}
.tags{display:flex; flex-wrap:wrap; gap:10px; margin-top:24px;}
.tag{
    font-weight:800;
    font-size:0.8rem;
    padding:8px 16px;
    border-radius:999px;
    border:1px solid var(--line);
  }
.tag:nth-child(1){color:var(--pink); background:var(--pink-soft);}
.tag:nth-child(2){color:var(--gold); background:var(--gold-soft);}
.tag:nth-child(3){color:var(--red); background:var(--red-soft);}
.tag:nth-child(4){color:var(--violet); background:rgba(140,82,255,0.14);}
.contact-card{
    background:var(--surface);
    border-radius:var(--radius-lg);
    padding:30px 26px;
    text-align:left;
    text-decoration:none;
    border:1px solid var(--line);
    box-shadow:var(--card-shadow);
    display:flex; flex-direction:column; gap:14px;
    transition:transform .18s ease, border-color .18s ease;
  }
.contact-card:hover{transform:translateY(-4px); border-color:rgba(255,255,255,0.25);}
.icon-badge svg{width:24px; height:24px; fill:#160B1A;}
.contact-card h3{font-size:1.05rem;}
.contact-card span.handle{color:var(--ink-soft); font-size:0.92rem;}
footer{
    padding:40px 24px 50px;
    text-align:center;
    color:var(--ink-soft);
    font-size:0.85rem;
    border-top:1px solid var(--line);
  }
footer .brand-foot{
    font-family:var(--font-display);
    font-size:1.6rem;
    color:var(--gold);
    display:block;
    margin-bottom:10px;
  }
html.gate-active, html.gate-active body{
    overflow:hidden;
    height:100%;
  }
.age-gate{
    position:fixed; inset:0; z-index:9999;
    background:rgba(140,82,255,0.35);
    backdrop-filter:blur(6px);
    display:flex; align-items:center; justify-content:center;
    padding:24px;
  }
.age-gate-card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-lg);
    max-width:420px;
    width:100%;
    padding:38px 32px;
    text-align:center;
    box-shadow:0 30px 70px -20px rgba(0,0,0,0.6);
  }
.age-gate-card .brand-mark{
    width:56px; height:56px;
    margin:0 auto 18px;
  }
.age-gate-card h2{
    font-size:1.5rem;
    margin-bottom:12px;
  }
.age-gate-card p{
    color:var(--ink-soft);
    font-size:0.95rem;
    margin:0 0 26px;
  }
.age-gate-actions{
    display:flex;
    flex-direction:column;
    gap:12px;
  }
.age-gate-actions .btn{
    justify-content:center;
    width:100%;
  }
.btn-ghost{
    background:transparent;
    border-color:var(--line);
    color:var(--ink-soft);
  }
.btn-ghost:hover{background:rgba(255,255,255,0.04);}
.rv{opacity:0; translate:0 28px; transition:opacity .7s ease var(--d,0s), translate .7s cubic-bezier(.2,.7,.2,1) var(--d,0s);}
.rv.rv-in{opacity:1; translate:0 0;}
@media (prefers-reduced-motion: reduce){ .rv{opacity:1; translate:none; transition:none;} }
.btn-instagram{
    background:var(--grad-instagram);
    background-origin:border-box;
    color:#fff;
    box-shadow:0 12px 26px -8px rgba(221,42,123,0.45);
  }
.btn-instagram:hover{box-shadow:0 16px 32px -8px rgba(221,42,123,0.6);}
.event-body a.btn-instagram{color:#fff;}
:root{--respiro:11s; --grad-telegram:linear-gradient(45deg,#0E96D4 0%,#0A7CB7 40%,#157BC2 70%,#074FA0 100%); --grad-whatsapp:linear-gradient(45deg,#4BA82A 0%,#158840 45%,#0C8842 72%,#096D68 100%); --grad-instagram:linear-gradient(45deg,#D96505 0%,#E11F76 45%,#8231B2 75%,#4E58D7 100%);}
section::before, .widgets-band::before{animation:respiro-lati var(--respiro) ease-in-out infinite;}
.respira{position:absolute; inset:0; overflow:hidden; pointer-events:none;}
.respira b{
    position:absolute; inset:-18% -6%;
    background:radial-gradient(60% 46% at 50% 50%, rgba(255,255,255,0.85), rgba(255,255,255,0) 72%);
    animation:respiro-luce var(--respiro) ease-in-out infinite; will-change:transform, opacity;
  }
@keyframes respiro-lati{0%,100%{opacity:.15;} 50%{opacity:1;}}
@keyframes respiro-luce{0%,100%{opacity:.1; transform:translate(-3%, 9%);} 50%{opacity:1; transform:translate(3%, -7%);}}
.respira::after{content:""; position:absolute; inset:-12% -8%; background:radial-gradient(48% 40% at 50% 50%, rgba(140,82,255,0.20), rgba(140,82,255,0) 72%); animation:respiro-tinta var(--respiro) ease-in-out infinite; will-change:transform, opacity;}
@keyframes respiro-tinta{0%,100%{opacity:0; transform:translate(5%, -8%);} 50%{opacity:1; transform:translate(-5%, 8%);}}
@media (prefers-reduced-motion: reduce){ section::before, .widgets-band::before{animation:none;} .respira b, .respira::after{animation:none;} .respira::after{opacity:0;} }
.btn-whatsapp:hover{box-shadow:0 16px 32px -8px rgba(37,211,102,0.6);}

/* ---------- Header della home su desktop: sempre a due livelli (>= 901px) ----------
   Livello 1 (striscia): logo a sinistra, pillole delle pagine e bandiere a destra.
   Livello 2: voci di sezione centrate. */
@media (min-width:901px){
  body:not(.subpage) header{
    display:grid; grid-template-columns:1fr auto auto; align-items:center; column-gap:22px;
    padding:0 max(24px, calc((100% - 1340px) / 2));
  }
  body:not(.subpage) .nav-row, body:not(.subpage) .nav-right{display:contents;}
  body:not(.subpage) .brand-anchor{grid-column:1; grid-row:1; padding:8px 0 2px;}
  body:not(.subpage) .nav-pages{display:flex; grid-column:2; grid-row:1; justify-content:flex-end; flex-wrap:nowrap; gap:10px; padding:0;}
  body:not(.subpage) .lang-switch{grid-column:3; grid-row:1;}
  body:not(.subpage) nav{grid-column:1 / -1; grid-row:2; justify-self:center; padding:2px 0 8px;}
  body:not(.subpage) nav a.nav-pill, body:not(.subpage) nav .nav-sep{display:none;}
  body:not(.subpage) .track-wrap{grid-column:1 / -1; grid-row:3; margin:0 calc(-1 * max(24px, (100vw - 1340px) / 2));}
}

/* ---------- Blocco contatti comune (in fondo a ogni pagina) ---------- */
.contatti-comune{background:linear-gradient(180deg, var(--tint-coral) 0%, var(--bg) 100%); --edge-bg:linear-gradient(180deg, var(--dk-coral), var(--dk-bg));}
.contact-row{display:flex; flex-wrap:wrap; gap:12px;}
.contatti-hint{color:var(--ink-soft); font-size:1.02rem; max-width:640px; margin:0 0 22px; text-align:left;}

/* ---------- Un colore di accento per pagina (--accent, definito sul body di ogni pagina) ---------- */
.section-head .script{color:var(--accent, var(--violet));}
.eyebrow::before{background:var(--accent, var(--pink));}
.back-link:hover{color:var(--accent, var(--violet));}

/* ---------- Leggibilita' del bianco sui tasti con gradiente ---------- */
.btn-telegram, .btn-whatsapp, .btn-instagram{text-shadow:0 1px 2px rgba(0,0,0,0.35);}

/* ---------- Schede a colori tenui (testo scuro, ottima leggibilita') ----------
   Ogni scheda prende --cb (sfondo), --cl (bordo), --cc (accento) da .tint-* o dalle regole nth-child di pagina. */
.tint-violet{--cb:#EADFFF; --cl:#CDB6FF; --cc:#8C52FF;}
.tint-orange{--cb:#FFE1D1; --cl:#FFB892; --cc:#E25020;}
.tint-yellow{--cb:#FFF7B5; --cl:#EDDA2B; --cc:#D9BC00;}
.tint-fuchsia{--cb:#FFD9F4; --cl:#FF9FE4; --cc:#D81FAE;}
.tint-azure{--cb:#D5F1FF; --cl:#8FD3F7; --cc:#1B86D0;}
.tint-green{--cb:#D6F6DF; --cl:#8EDBA6; --cc:#12A150;}
.tint-red{--cb:#FFD3CE; --cl:#FF9B90; --cc:#D83A2B;}

/* ---------- Banner 18+: una volta sola per sessione (sessionStorage 'femxplay_18') ---------- */
html.age-ok .age-gate{display:none !important;}

/* ---------- Pulsante email in giallo (diverso da Instagram) ---------- */
.btn-mail{
    background:linear-gradient(45deg,#FFEF02 0%,#FFC400 100%);
    background-origin:border-box;
    color:#241130;
    box-shadow:0 12px 26px -8px rgba(255,196,0,0.6);
  }
.btn-mail:hover{box-shadow:0 16px 32px -8px rgba(255,196,0,0.75);}

/* ---------- Pillola "Collabora con noi" piena e decisa ---------- */
.btn-collab{
    background:#6D35D6; color:#fff; border-color:#6D35D6; font-weight:800; letter-spacing:0.02em;
    box-shadow:0 12px 26px -10px rgba(109,53,214,0.7);
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  }
.btn-collab:hover{background:#5B2CC4; transform:translateY(-2px) scale(1.03); box-shadow:0 16px 30px -10px rgba(109,53,214,0.85);}

/* ---------- Blocco contatti centrato ---------- */
.contatti-comune .section-head{margin-left:auto; margin-right:auto; text-align:center; max-width:760px;}
.contatti-comune .contact-row{justify-content:center;}
.contatti-comune .contatti-hint{margin-left:auto; margin-right:auto; text-align:center;}
.contatti-comune .partner-block{text-align:center;}
.contatti-comune .partner-block p{text-align:center;}
.contatti-comune .partner-row{justify-content:center;}

/* ---------- Smartphone: testata che sparisce scendendo e torna salendo; pillole centrate ---------- */
@media (max-width:700px){
  header, .brand-float{transition:opacity .28s ease, visibility 0s linear 0s;}
  header.hdr-hide, .brand-float.hdr-hide{opacity:0; visibility:hidden; pointer-events:none; transition:opacity .28s ease, visibility 0s linear .28s;}
  .tags{justify-content:center;}
}
