/* ==========================================================================
   SORTEOWEB · Páginas públicas simples: Contáctanos (view/contacto.php), textos legales
   (view/legal.php) y el aviso de Modo mantenimiento (config/Mantenimiento.php).
   Requiere assets/css/style.css (y tickets.css para el fondo .tk en contacto/legal).
   ========================================================================== */
.pg-layout { max-width: 980px; margin-inline: auto; display: grid; gap: 1.3rem; }
.pg-card {
    padding: 1.6rem 1.7rem; background: linear-gradient(160deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .03));
    border: 1px solid var(--border); border-radius: var(--radius); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.pg-intro { color: var(--muted); font-size: 1.02rem; line-height: 1.6; white-space: pre-line; }

/* Contáctanos */
.ct-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1rem; }
.ct-item { display: flex; gap: .9rem; align-items: flex-start; padding: 1.1rem 1.2rem; color: var(--text); background: rgba(3, 11, 36, .45); border: 1px solid var(--border); border-radius: 18px; transition: border-color .2s, transform .2s; }
a.ct-item:hover { border-color: var(--sky); transform: translateY(-3px); }
.ct-item__icono { display: grid; place-items: center; flex: none; width: 44px; height: 44px; font-size: 1.3rem; border-radius: 14px; background: rgba(var(--blue-bright-rgb), .18); }
.ct-item--wa .ct-item__icono { background: rgba(37, 211, 102, .2); }
.ct-item__texto { display: grid; gap: .15rem; min-width: 0; }
.ct-item__texto small { color: var(--muted); font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.ct-item__texto b { overflow-wrap: anywhere; }
.ct-item__texto span { color: var(--sky); font-size: .82rem; }
.ct-redes { display: flex; flex-wrap: wrap; gap: .6rem; }
.ct-redes a { display: inline-flex; align-items: center; gap: .5rem; padding: .6rem 1rem; color: var(--text); font-weight: 600; border: 1px solid var(--border); border-radius: 999px; transition: border-color .2s, background .2s; }
.ct-redes a:hover { border-color: var(--sky); background: rgba(255, 255, 255, .06); }
.pg-vacio { color: var(--muted); text-align: center; padding: 1rem; }

/* Textos legales */
.lg-doc { line-height: 1.75; color: #dbe6fb; }
.lg-doc h2 { margin: 1.6rem 0 .5rem; font-size: 1.15rem; color: #fff; }
.lg-doc h2:first-child { margin-top: 0; }
.lg-doc p { margin: 0 0 .9rem; }
.lg-nav { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; }
.lg-nav a { padding: .45rem 1rem; font-size: .85rem; font-weight: 600; color: var(--muted); border: 1px solid var(--border); border-radius: 999px; }
.lg-nav a[aria-current="page"] { color: #fff; background: var(--grad-btn); border-color: transparent; }
.lg-actualizado { color: var(--muted); font-size: .82rem; text-align: center; }

/* Modo mantenimiento (página completa) */
body.mant { min-height: 100vh; display: grid; place-items: center; padding: 1.5rem; background: radial-gradient(120% 90% at 50% 0%, #0c2c7a 0%, var(--bg) 62%); }
.mant__card { width: min(560px, 100%); padding: 2.6rem 2rem 2rem; text-align: center; background: linear-gradient(170deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .03)); border: 1px solid var(--border); border-radius: 24px; box-shadow: 0 24px 70px rgba(0, 0, 0, .5); }
.mant__logo { border-radius: 16px; margin: 0 auto .6rem; }
.mant__icono { font-size: 2.6rem; margin-bottom: .4rem; animation: mant-giro 4s ease-in-out infinite; display: inline-block; }
@keyframes mant-giro { 50% { transform: rotate(-12deg) scale(1.06); } }
.mant__card h1 { font-size: clamp(1.5rem, 4vw, 2.1rem); font-weight: 800; margin-bottom: .7rem; }
.mant__card p { color: var(--muted); line-height: 1.6; }
.mant__regreso { margin-top: 1rem; color: #ffe08a !important; font-weight: 700; }
.mant__contacto { margin-top: 1.2rem; font-size: .9rem; }
.mant__contacto a { color: var(--sky); text-decoration: underline; }
.mant__marca { display: block; margin-top: 1.6rem; font-family: var(--font-num); letter-spacing: .14em; color: var(--muted); }
.pg-titulo { font-size: 1.15rem; font-weight: 800; margin-bottom: 1rem; }
