/* Realizzato da Antonino Caternicchia — Mariaclara 10.7.1
   Stili delle novità: sezione "Per te", pagine utili, avvisi (ultimo minuto, stagione), titoli oro, divisori, riflesso bottoni.
   Tutte le regole iniziano con "html body" e classi xt-* per non toccare il resto del sito. */

/* ───────── Pagine utili e sezione "Per te" ───────── */
html body .xt-sec{padding:clamp(40px,7vw,76px) 0;background:var(--pearl,#fbf9f4);color:var(--ink,#132b2c)}
html body .xt-in{width:min(1100px,calc(100% - 32px));margin-inline:auto}
html body .xt-narrow{width:min(760px,calc(100% - 32px));margin-inline:auto}
html body .xt-eyebrow{display:block;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold,#ba844a);font-weight:700;margin:0 0 8px}
html body .xt-h2{font-size:clamp(1.55rem,4.2vw,2.2rem);line-height:1.15;font-weight:600;margin:0 0 10px;color:var(--deep,#04363c);text-wrap:balance}
html body .xt-lead{font-size:1.02rem;line-height:1.6;color:#41575a;margin:0 0 22px;max-width:62ch}
html body .xt-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
html body .xt-card{background:#fff;border:1px solid #eadfce;border-radius:20px;padding:20px;box-shadow:0 10px 28px rgba(5,46,49,.06);min-width:0}
html body .xt-card h3{margin:0 0 6px;font-size:1.06rem;color:var(--deep,#04363c);font-weight:650}
html body .xt-card p{margin:0;font-size:.95rem;line-height:1.55;color:#4a6063}
html body a.xt-card{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
html body a.xt-card:hover,html body a.xt-card:focus-visible{transform:translateY(-3px);box-shadow:0 16px 34px rgba(5,46,49,.12);border-color:#d9b982}
html body a.xt-card:focus-visible,html body .xt-btn:focus-visible,html body .xt-chip:focus-visible{outline:3px solid #d9b982;outline-offset:2px}
html body .xt-ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#fff8ea,#f3e3c2);border:1px solid #ecd9b2;margin-bottom:6px}
html body .xt-ico svg{width:26px;height:26px;fill:none;stroke:url(#mcgStroke24);stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
html body .xt-ico svg.xt-ico-gift{stroke:#b9852f}
html body .xt-go{margin-top:auto;padding-top:8px;font-size:.86rem;font-weight:650;color:var(--teal,#087883)}

/* bottoni dentro le pagine nuove */
html body .xt-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
html body .xt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border-radius:999px;font:inherit;font-weight:650;font-size:.95rem;text-decoration:none;cursor:pointer;border:1px solid var(--teal,#087883);background:linear-gradient(180deg,#0b8791,#066a73);color:#fff;transition:transform .2s ease,filter .2s ease}
html body .xt-btn:hover{filter:brightness(1.07);transform:translateY(-1px)}
html body .xt-btn--gold{background:linear-gradient(180deg,#f3d58b,#d29a46);border-color:#c18b3a;color:#3a2408}
html body .xt-btn--ghost{background:#fff;color:var(--deep,#04363c);border-color:#d8cdb8}
html body .xt-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* fisarmonica Prima/Dopo */
html body .xt-acc{display:grid;gap:10px}
html body .xt-acc details{background:#fff;border:1px solid #eadfce;border-radius:16px;overflow:hidden}
html body .xt-acc summary{cursor:pointer;list-style:none;padding:16px 18px;font-weight:650;color:var(--deep,#04363c);display:flex;justify-content:space-between;align-items:center;gap:12px}
html body .xt-acc summary::-webkit-details-marker{display:none}
html body .xt-acc summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--gold,#ba844a);transition:transform .25s ease}
html body .xt-acc details[open] summary::after{transform:rotate(45deg)}
html body .xt-acc .xt-pd{display:grid;gap:14px;padding:0 18px 18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
html body .xt-pd h4{margin:0 0 6px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold,#ba844a)}
html body .xt-pd ul{margin:0;padding-left:18px;display:grid;gap:5px;font-size:.94rem;line-height:1.5;color:#41575a}
html body .xt-note{margin-top:18px;font-size:.88rem;color:#5a6f71;line-height:1.55}
html body .xt-steps{counter-reset:xs;display:grid;gap:12px;padding:0;margin:0;list-style:none}
html body .xt-steps li{counter-increment:xs;display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start;background:#fff;border:1px solid #eadfce;border-radius:16px;padding:14px}
html body .xt-steps li::before{content:counter(xs);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#f3d58b,#c98f3d);color:#3a2408;font-weight:700}
html body .xt-steps b{display:block;color:var(--deep,#04363c)}
html body .xt-steps span{font-size:.94rem;color:#4a6063;line-height:1.5}

/* quiz */
html body .xt-quiz{background:#fff;border:1px solid #eadfce;border-radius:24px;padding:clamp(18px,4vw,30px);box-shadow:0 14px 36px rgba(5,46,49,.08)}
html body .xt-prog{height:6px;border-radius:9px;background:#efe6d6;overflow:hidden;margin-bottom:18px}
html body .xt-prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,#d9b46a,#a9742a);transition:width .35s ease}
html body .xt-q{font-size:1.25rem;font-weight:650;color:var(--deep,#04363c);margin:0 0 14px;line-height:1.25}
html body .xt-opts{display:grid;gap:10px}
html body .xt-chip{font:inherit;text-align:left;cursor:pointer;min-height:52px;padding:12px 16px;border-radius:14px;border:1px solid #e3d6bf;background:#fffdf8;color:var(--ink,#132b2c);font-weight:600;transition:border-color .2s ease,background .2s ease,transform .2s ease}
html body .xt-chip:hover{border-color:#d9b982;background:#fff7e6;transform:translateY(-1px)}
html body .xt-chip small{display:block;font-weight:500;color:#667b7d;margin-top:2px}
html body .xt-res{display:grid;gap:10px;margin:14px 0}
html body .xt-res a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-radius:14px;border:1px solid #e3d6bf;background:#fffdf8;color:var(--deep,#04363c);font-weight:650;text-decoration:none}
html body .xt-res a span{color:var(--teal,#087883);font-size:.85rem;white-space:nowrap}

/* buono regalo */
html body .xt-gift{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start}
html body .xt-giftcard{position:relative;border-radius:24px;padding:26px 24px;min-height:230px;color:#3a2408;overflow:hidden;background:linear-gradient(135deg,#fbe9bb 0%,#e9c273 38%,#c58c3a 70%,#f2d58f 100%);box-shadow:0 18px 40px rgba(120,80,20,.28);display:flex;flex-direction:column;justify-content:space-between}
html body .xt-giftcard::before{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.55);border-radius:18px;pointer-events:none}
html body .xt-giftcard::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.35) 48%,transparent 60%);transform:translateX(-120%);pointer-events:none}
html body .xt-giftcard.xt-shine::after{animation:xtShine 1.6s ease .3s 1 forwards}
html body .xt-giftcard small{letter-spacing:.2em;text-transform:uppercase;font-size:.68rem;font-weight:700;opacity:.8}
html body .xt-giftcard strong{display:block;font-size:2.4rem;line-height:1;margin:6px 0}
html body .xt-giftcard p{margin:0;font-size:.95rem;line-height:1.4}
html body .xt-giftcard .xt-gc-brand{font-weight:700;letter-spacing:.08em}
html body .xt-form{display:grid;gap:12px}
html body .xt-form label{display:grid;gap:5px;font-weight:600;font-size:.9rem;color:var(--deep,#04363c)}
html body .xt-form input,html body .xt-form textarea{font:inherit;padding:12px 14px;border-radius:12px;border:1px solid #d8cdb8;background:#fff;color:var(--ink,#132b2c);min-height:46px;width:100%}
html body .xt-form textarea{min-height:84px;resize:vertical}
html body .xt-amounts{display:flex;flex-wrap:wrap;gap:8px}
html body .xt-amounts .xt-chip{min-height:46px;padding:8px 18px;text-align:center}
html body .xt-amounts .xt-chip[aria-pressed="true"]{background:linear-gradient(180deg,#f3d58b,#d29a46);border-color:#c18b3a;color:#3a2408}

/* combinazioni */
html body .xt-pack ul{margin:10px 0 14px;padding-left:18px;display:grid;gap:4px;font-size:.93rem;color:#41575a}
html body .xt-pack .xt-price{font-weight:700;color:#8a5a14}

/* ───────── Sezione "Per te" in home ───────── */
html body #per-te{padding-top:clamp(36px,6vw,64px)}
html body #per-te .xt-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
html body #per-te .xt-card{padding:18px}
@media (min-width:880px){html body #per-te .xt-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ───────── Avvisi: ultimo minuto e stagione ───────── */
html body .xt-lm{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px;padding:10px 16px;background:linear-gradient(90deg,#052e31,#0a5a5f,#052e31);color:#fbe9bb;font-size:.93rem;text-align:center}
html body .xt-lm b{color:#f3d58b;letter-spacing:.1em;text-transform:uppercase;font-size:.74rem}
html body .xt-lm a{color:#3a2408;background:linear-gradient(180deg,#f3d58b,#d29a46);padding:6px 14px;border-radius:999px;font-weight:700;text-decoration:none;white-space:nowrap}
html body .xt-season{display:flex;justify-content:center;align-items:center;gap:10px;padding:8px 16px;font-size:.88rem;text-align:center;color:#3a2408;background:linear-gradient(90deg,#f6e6bf,#fff4d9,#f6e6bf)}
html body .xt-season a{color:#7a4c0e;font-weight:700}
html body .xt-season svg{width:18px;height:18px;fill:none;stroke:#a9742a;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
html[data-season="natale"] body .xt-season{background:linear-gradient(90deg,#6b1226,#8e1b36,#6b1226);color:#fde7e0}
html[data-season="natale"] body .xt-season a{color:#ffd99c}
html[data-season="natale"] body .xt-season svg{stroke:#ffd99c}
html[data-season="primavera"] body .xt-season{background:linear-gradient(90deg,#e8f3e4,#f6fbf0,#e8f3e4)}
html[data-season="estate"] body .xt-season{background:linear-gradient(90deg,#ffe7b8,#fff3d2,#ffe7b8)}
html[data-season="autunno"] body .xt-season{background:linear-gradient(90deg,#f1dcc2,#faecd6,#f1dcc2)}

/* ───────── Grafica: titoli oro, divisori, riflesso bottoni ───────── */
html body h2 em,html body .xt-gold{background:linear-gradient(100deg,#a9742a 0%,#d9a850 30%,#b9852f 55%,#e3b865 78%,#a9742a 100%);background-size:220% 100%;background-position:0 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
html body h2 em.xt-lit,html body .xt-gold.xt-lit{animation:xtGold 2.4s ease 1 forwards}
/* sulle sezioni scure il titolo oro è più chiaro, per restare leggibile */
html body .atelier-beauty h2 em,html body .contact-section h2 em,html body .site-footer h2 em,html body .bridal-cinema h2 em,html body .ultimate-install h2 em{background-image:linear-gradient(100deg,#d9ae6e 0%,#f6e0a6 32%,#e0b660 58%,#f9e8b8 80%,#d9ae6e 100%)}
html body #per-te,html body #trattamenti,html body #galleria,html body #contacts2-m{position:relative}
html body .xt-wave{position:absolute;left:0;right:0;top:-9px;height:18px;z-index:3;pointer-events:none}
html body .xt-wave svg{display:block;width:100%;height:100%}
html body .liquid-btn.xt-glint{position:relative;overflow:hidden}
html body .liquid-btn.xt-glint::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);pointer-events:none;animation:xtGlint 1.3s ease .15s 1 forwards}
@keyframes xtGlint{from{left:-60%}to{left:130%}}
@keyframes xtGold{from{background-position:0 0}to{background-position:100% 0}}
@keyframes xtShine{to{transform:translateX(120%)}}
@media (prefers-reduced-motion:reduce){
  html body h2 em.xt-lit,html body .xt-gold.xt-lit,html body .liquid-btn.xt-glint::after,html body .xt-giftcard.xt-shine::after{animation:none}
  html body a.xt-card,html body .xt-chip,html body .xt-btn{transition:none}
}
@media print{html body .xt-lm,html body .xt-season{display:none}}

/* 10.7.1 — il titolo della domanda riceve il focus solo per i lettori di schermo: niente rettangolo arancione */
html body .xt-quiz .xt-q,html body .xt-quiz .xt-q:focus,html body .xt-quiz .xt-q:focus-visible{outline:0!important;box-shadow:none!important}
html body [tabindex="-1"]:focus{outline:0}

/* 10.7.1 — "Per te": stesso sfondo madreperla con aurora della sezione sotto (nozze) */
html body .xt-sec#per-te{background-color:#fcfaf7;background-image:url("../decor/pearl-aurora-top.svg"),url("../decor/pearl-aurora-bottom.svg");background-position:center top,center bottom;background-size:100% auto,100% auto;background-repeat:no-repeat}

/* 10.7.1 — piè di pagina: quarta colonna "Per te" */
@media (min-width:901px){html body .footer-columns{grid-template-columns:1fr 1fr 1fr 1.1fr;gap:40px}}

/* 10.7.1 — footer da telefono: 2 colonne sopra (Lo studio · Esplora) e 2 sotto (Per te · Aspetti legali) */
@media (max-width:900px){
  html body .site-footer .footer-columns{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:30px 22px!important;align-items:start}
  html body .site-footer .footer-columns>div,html body .site-footer .footer-columns>div:last-child{display:block!important;grid-column:auto!important;min-width:0}
  html body .site-footer .footer-columns h3{font-size:clamp(1.15rem,5.4vw,1.5rem)!important;line-height:1.15;margin:0 0 12px}
  html body .site-footer .footer-columns a,html body .site-footer .footer-columns p,html body .site-footer .footer-columns button{font-size:clamp(.9rem,3.9vw,1.02rem)!important;line-height:1.35;overflow-wrap:anywhere;display:block;margin:0 0 10px;text-align:left}
}
