/* MadridTramites.es — estilos comunes (avisos, consentimiento, accesibilidad, slots de anuncios) */

/* Accesibilidad */
.mt-skip{position:absolute;left:-9999px;top:0;z-index:10000;background:#0a0a0f;color:#fff;padding:10px 16px;border-radius:0 0 8px 0;font:600 14px/1.2 system-ui,sans-serif;text-decoration:none}
.mt-skip:focus{left:0}
:focus-visible{outline:3px solid #c8102e!important;outline-offset:2px}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Aviso de portal independiente + fuentes oficiales */
.mt-indep{margin:0 0 28px;padding:16px 20px;border:1px solid rgba(10,10,15,.14);border-left:4px solid #1d4ed8;border-radius:10px;background:#f4f7ff;color:#1b2333;font:400 .9rem/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}
.mt-indep strong{font-weight:700}
.mt-indep ul{margin:8px 0 0 18px;padding:0}
.mt-indep li{margin:2px 0}
.mt-indep a{color:#1d4ed8;text-decoration:underline}
.mt-indep-bar{padding:14px 24px;background:#fff;border-top:1px solid rgba(10,10,15,.08);border-bottom:1px solid rgba(10,10,15,.08);text-align:center;color:#3b3f4a;font:400 .88rem/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}
.mt-indep-bar a{color:#1d4ed8}
.mt-foot-note{font:400 .78rem/1.6 system-ui,sans-serif;opacity:.7;max-width:760px}

/* Consentimiento y mensajes de formulario */
.mt-consent{display:flex;gap:10px;align-items:flex-start;margin:4px 0 12px;font:400 .76rem/1.5 system-ui,sans-serif;color:inherit;opacity:.85}
.mt-consent input{margin-top:3px;flex:0 0 auto;width:16px;height:16px}
.mt-consent a{color:inherit;text-decoration:underline}
.mt-form-msg{margin-top:12px;padding:10px 14px;border-radius:8px;font:500 .84rem/1.5 system-ui,sans-serif}
.mt-form-msg.is-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.mt-form-msg.is-info{background:#eff6ff;color:#1e3a8a;border:1px solid #bfdbfe}

/* Slots de anuncios (reservados; se activan solo con un publisher ID real y CMP) */
.mt-ad{display:block;margin:28px 0;min-height:280px;text-align:center}
.mt-ad[hidden]{display:none}
.mt-ad::before{content:"Publicidad";display:block;font:600 .68rem/1 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#8a8580;margin-bottom:6px}

/* Páginas legales / editoriales (sistema visual del index: ver DESIGN.md) */
body:has(.mt-doc){margin:0;background:#f7f3ec;color:#0a0a0f}
.mt-doc{max-width:760px;margin:0 auto;padding:104px 24px 64px;font:400 1rem/1.75 'DM Sans',system-ui,-apple-system,"Segoe UI",sans-serif;color:#0a0a0f}
.mt-doc h1,.mt-doc h2{font-family:'Playfair Display',Georgia,serif;font-weight:900;letter-spacing:-0.02em}
.mt-doc h1{font-size:clamp(2rem,5vw,2.6rem);line-height:1.15;margin:0 0 16px}
.mt-doc h2{font-size:1.4rem;line-height:1.25;margin:40px 0 10px}
.mt-doc p,.mt-doc li{margin:0 0 12px;color:#3a3631}
.mt-doc a{color:#c8102e;text-underline-offset:3px}
.mt-doc .mt-draft{padding:12px 16px;border:1px dashed #b45309;background:#fffbeb;border-radius:12px;font-size:.9rem}
.mt-doc-nav{position:fixed;top:0;left:0;right:0;background:#0a0a0f;border-bottom:2px solid #c8102e;padding:16px 24px;font:900 1.15rem 'Playfair Display',Georgia,serif;z-index:50}
.mt-doc-nav a{color:#fff;text-decoration:none}
.mt-doc-foot{max-width:760px;margin:0 auto;padding:24px;border-top:1px solid rgba(10,10,15,.1);font:400 .875rem/1.6 'DM Sans',system-ui,sans-serif;color:#5f5a55}
.mt-doc-foot a{color:#c8102e;margin-right:14px}

/* Elementos "próximamente" (sin enlace) */
.is-soon{cursor:default!important;opacity:.7}
.is-soon:hover{transform:none!important;box-shadow:none!important;border-color:transparent!important;background:inherit}
.is-soon .tramite-card-link::after{content:none!important}

/* Logo común (cabecera de todas las páginas) */
.mt-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.mt-logo-mark{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#c8102e,#e8193a);display:flex;align-items:center;justify-content:center;font:800 .85rem/1 'Playfair Display',Georgia,serif;color:#fff}
.mt-logo-text{font:700 1rem/1 'Playfair Display',Georgia,serif;color:#fff;letter-spacing:-.02em;white-space:nowrap}
.mt-logo-text span{color:#e8193a}

/* Banner de consentimiento (solo aparece si hay analítica/publicidad configurada) */
.mt-consent-banner{position:fixed;left:16px;right:16px;bottom:16px;max-width:720px;margin:0 auto;z-index:10001;background:#fff;color:#0a0a0f;border:1px solid rgba(10,10,15,.18);border-radius:16px;box-shadow:0 20px 60px rgba(10,10,15,.15);padding:20px;font:400 .9375rem/1.55 'DM Sans',system-ui,sans-serif}
.mt-consent-banner p{margin:0 0 14px;color:#3a3631}
.mt-consent-banner a{color:#c8102e;text-underline-offset:3px}
.mt-consent-actions{display:flex;gap:12px;flex-wrap:wrap}
.mt-consent-actions button{flex:1 1 140px;min-height:44px;padding:12px 20px;border-radius:100px;border:2px solid #0a0a0f;font:600 .9375rem 'DM Sans',system-ui,sans-serif;cursor:pointer;transition:background .2s ease-out,color .2s ease-out}
.mt-consent-actions button[data-mt=denied]{background:#fff;color:#0a0a0f}
.mt-consent-actions button[data-mt=granted]{background:#0a0a0f;color:#fff}
.mt-consent-actions button:hover{background:#c8102e;border-color:#c8102e;color:#fff}
