/* tredira.de — aggiunte al design di tredira.it: popup 18+, copertine sfocate, esito moduli, messaggi */

/* ── Popup 18+ a schermo intero ─────────────────────────────────────────── */
html.age-locked{overflow:hidden}
html.age-locked body > *:not(.age-gate):not(.cookie-bar){filter:blur(22px);pointer-events:none;user-select:none}
.age-gate{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:20px;
  background:radial-gradient(120% 120% at 80% 10%,rgba(58,26,110,.97) 0%,rgba(26,11,57,.98) 50%,rgba(11,7,24,.99) 100%);
  transition:opacity .35s ease}
.age-gate.is-leaving{opacity:0}
.age-gate__box{width:min(560px,100%);text-align:center;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);
  border-radius:28px;padding:42px 34px 30px;box-shadow:0 40px 90px rgba(0,0,0,.45);backdrop-filter:blur(8px)}
.age-gate__badge{display:inline-grid;place-items:center;width:84px;height:84px;border-radius:50%;margin-bottom:20px;
  font-family:var(--font-display);font-weight:800;font-size:1.7rem;color:#fff;background:var(--grad-brand);box-shadow:0 0 0 8px rgba(255,255,255,.07),0 18px 40px rgba(236,42,139,.35)}
.age-gate h2{font-size:clamp(1.5rem,3.4vw,2rem);font-weight:800;color:#fff;margin:0 0 12px}
.age-gate p{color:rgba(255,255,255,.8);font-size:1rem;line-height:1.65;margin:0 0 24px}
.age-gate__form{margin:0 0 14px}
.age-gate__form .btn{width:100%;justify-content:center;white-space:normal;text-align:center}
.age-gate__leave{display:inline-block;color:rgba(255,255,255,.75);font-weight:600;text-decoration:underline;padding:8px 12px}
.age-gate__leave:hover{color:#fff}
.age-gate small{display:block;margin-top:14px;font-size:.78rem;color:rgba(255,255,255,.5)}
@media (max-width:520px){.age-gate__box{padding:32px 20px 24px;border-radius:22px}.age-gate__badge{width:70px;height:70px;font-size:1.4rem}}

/* ── Copertine 18+ sfocate negli elenchi finché l'età non è confermata ──── */
.is-adult-blur .post-card__media img,.is-adult-blur .sv-window img{filter:blur(18px) saturate(.6);transform:scale(1.08)}
.is-adult-blur .post-card__media,.is-adult-blur .sv-window{overflow:hidden;position:relative}
.adult-badge{position:absolute;right:14px;top:14px;z-index:3;display:inline-grid;place-items:center;min-width:44px;height:30px;padding:0 10px;border-radius:30px;
  font-family:var(--font-display);font-weight:800;font-size:.85rem;color:#fff;background:var(--grad-brand);box-shadow:0 8px 20px rgba(124,58,237,.35)}
.adult-badge--lg{top:50%;left:50%;right:auto;transform:translate(-50%,-50%);min-width:70px;height:46px;font-size:1.15rem}

/* ── Esito modulo contatti ──────────────────────────────────────────────── */
.cf-status{margin:0 0 18px;padding:14px 18px;border-radius:14px;font-weight:600;font-size:.96rem;line-height:1.5}
.cf-status--ok{background:#e9f9f1;border:1px solid #b6e8cf;color:#0b7a46}
.cf-status--err{background:#fdecee;border:1px solid #f5c2c8;color:#b42335}

/* ── Pagine di messaggio e 404 ──────────────────────────────────────────── */
.msg-box{max-width:640px;margin:0 auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:40px 30px;box-shadow:var(--shadow-sm)}
.msg-box p{font-size:1.05rem;color:var(--ink-2);margin:0 0 22px}
.msg-box--ok{border-top:4px solid #12b76a}
.msg-box--err{border-top:4px solid #e04455}
.msg-links a{color:var(--viola);font-weight:600}

/* il <main> aggiunto attorno ai contenuti non deve cambiare l'impaginazione di tredira.it */
main#inhalt{display:block}

/* ── Intestazione: le voci tedesche sono più lunghe di quelle italiane ──── */
.main-nav a,.main-nav .sub-toggle,.header-phone b,.header-cta .btn{white-space:nowrap}
@media (min-width:1025px) and (max-width:1480px){.main-nav{gap:24px}}
@media (min-width:1025px) and (max-width:1360px){.main-nav{gap:18px}.main-nav a,.main-nav .sub-toggle{font-size:.92rem}.header-phone > span + span{display:none}}
@media (min-width:1025px) and (max-width:1180px){.main-nav{gap:14px}.header-cta .btn{padding-left:16px;padding-right:16px;font-size:.88rem}.header-cta .btn svg{display:none}}
@media (min-width:1025px) and (max-width:1120px){.header-phone{display:none}.main-nav{gap:12px;margin-left:14px}}
