/* ==========================================================================
   DIKELA BRAND DESIGN SYSTEM - VIBRANT, MODERN & YOUTHFUL LIGHT THEME
   Inspirado en la identidad de Dikela:
   - Azul Cielo / Cyan Vivo: #00b4d8 / #0077b6 (del plumaje de la paloma)
   - Dorado / Ámbar Cálido: #f59e0b / #fbbf24 (de las alas y tipografía)
   - Coral / Atardecer: #ff5a5f (acentos y dinamismo)
   ========================================================================== */

:root {
    --dikela-sky: #00b4d8;
    --dikela-sky-dark: #0077b6;
    --dikela-sky-light: #e0f2fe;
    --dikela-gold: #f59e0b;
    --dikela-gold-light: #fef3c7;
    --dikela-coral: #ff5a5f;
    --dikela-coral-light: #ffe4e6;
    --dikela-bg: #f8fafc;
    --dikela-card: rgba(255, 255, 255, 0.96);
    --dikela-text-main: #0f172a;
    --dikela-text-secondary: #334155;
    --dikela-text-muted: #64748b;
    --dikela-border: rgba(226, 232, 240, 0.9);
    --dikela-radius: 20px;
    --dikela-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05), 0 2px 6px -1px rgba(0, 180, 216, 0.04);
    --dikela-shadow-hover: 0 12px 30px -4px rgba(0, 180, 216, 0.16), 0 4px 12px -2px rgba(15, 23, 42, 0.06);
}

/* 1. Fondo luminoso, fresco y juvenil con mesh suave */
body:not(.night-mode),
body {
    background-color: #f8fafc !important;
    background-image: 
        radial-gradient(at 15% 12%, rgba(0, 180, 216, 0.10) 0px, transparent 45%),
        radial-gradient(at 85% 15%, rgba(245, 158, 11, 0.09) 0px, transparent 40%),
        radial-gradient(at 50% 90%, rgba(255, 90, 95, 0.06) 0px, transparent 45%) !important;
    background-attachment: fixed !important;
    color: var(--dikela-text-main) !important;
    font-family: 'Outfit', 'Inter', -apple-system, sans-serif !important;
}

/* 2. Header flotante frosted cristalino */
body:not(.night-mode) .main-header,
body:not(.night-mode) header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1050 !important;
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9) !important;
    box-shadow: 0 4px 25px rgba(0, 180, 216, 0.07) !important;
}

body:not(.night-mode) .main-header .search-wrapper .form-control {
    background: rgba(241, 245, 249, 0.95) !important;
    border: 1px solid rgba(203, 213, 225, 0.8) !important;
    color: #0f172a !important;
    border-radius: 50px !important;
    font-size: 14px !important;
    transition: all 0.25s ease !important;
}

body:not(.night-mode) .main-header .search-wrapper .form-control:focus {
    background: #ffffff !important;
    border-color: var(--dikela-sky) !important;
    box-shadow: 0 0 0 3px rgba(0, 180, 216, 0.2) !important;
}

body:not(.night-mode) .main-header .header-icon,
body:not(.night-mode) .main-header a:not(.btn),
body:not(.night-mode) .main-header .nav-link {
    color: #334155 !important;
    fill: #334155 !important;
}

body:not(.night-mode) .main-header .header-icon:hover,
body:not(.night-mode) .main-header a:not(.btn):hover {
    color: var(--dikela-sky) !important;
    fill: var(--dikela-sky) !important;
}

/* 3. Tarjetas, Paneles y Módulos de Cristal Claro */
body:not(.night-mode) .post,
body:not(.night-mode) .card,
body:not(.night-mode) .panel,
body:not(.night-mode) .module,
body:not(.night-mode) .box,
body:not(.night-mode) .panel-default,
body:not(.night-mode) .publisher-box,
body:not(.night-mode) .main-side-nav-card,
body:not(.night-mode) .alert:not(.alert-danger):not(.alert-success) {
    background: var(--dikela-card) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1px solid var(--dikela-border) !important;
    border-radius: var(--dikela-radius) !important;
    box-shadow: var(--dikela-shadow) !important;
    color: var(--dikela-text-main) !important;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

body:not(.night-mode) .post:hover {
    box-shadow: var(--dikela-shadow-hover) !important;
}

body:not(.night-mode) .post-title,
body:not(.night-mode) .post h1,
body:not(.night-mode) .post h2,
body:not(.night-mode) .post h3,
body:not(.night-mode) .card-header,
body:not(.night-mode) .panel-heading {
    color: var(--dikela-text-main) !important;
    font-weight: 700 !important;
}

body:not(.night-mode) .post .post-text {
    color: #1e293b !important;
    font-size: 15.5px !important;
    line-height: 1.65 !important;
}

/* 4. Menú lateral con estilo juvenil e interactivo */
body:not(.night-mode) .main-side-nav li a {
    color: #334155 !important;
    font-weight: 600 !important;
    border-radius: 14px !important;
    padding: 8px 12px !important;
    transition: all 0.2s ease !important;
}

body:not(.night-mode) .main-side-nav li a:hover {
    background: rgba(0, 180, 216, 0.08) !important;
    color: var(--dikela-sky-dark) !important;
    transform: translateX(4px) !important;
}

body:not(.night-mode) .main-side-nav li a i,
body:not(.night-mode) .main-side-nav li i {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    line-height: 38px !important;
    background: linear-gradient(135deg, rgba(0, 180, 216, 0.12), rgba(245, 158, 11, 0.12)) !important;
    color: var(--dikela-sky-dark) !important;
    border: 1px solid rgba(0, 180, 216, 0.18) !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(0, 180, 216, 0.1) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

body:not(.night-mode) .main-side-nav li a:hover i {
    background: linear-gradient(135deg, var(--dikela-sky), var(--dikela-sky-dark)) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(0, 180, 216, 0.35) !important;
    transform: scale(1.08) !important;
}

/* 5. Botones y Llamados a la Acción */
body:not(.night-mode) .btn-primary {
    background: linear-gradient(135deg, var(--dikela-sky) 0%, var(--dikela-sky-dark) 100%) !important;
    border: none !important;
    box-shadow: 0 4px 14px rgba(0, 180, 216, 0.35) !important;
    color: #fff !important;
    border-radius: 30px !important;
    font-weight: 600 !important;
    transition: all 0.25s ease !important;
}

body:not(.night-mode) .btn-primary:hover {
    background: linear-gradient(135deg, #0096c7 0%, #023e8a 100%) !important;
    box-shadow: 0 6px 20px rgba(0, 180, 216, 0.5) !important;
    transform: translateY(-1px) !important;
}

/* 6. Caja de Publicación */
body:not(.night-mode) .publisher {
    background: var(--dikela-card) !important;
    border: 1px solid var(--dikela-border) !important;
    border-radius: var(--dikela-radius) !important;
}

body:not(.night-mode) .publisher textarea {
    color: #0f172a !important;
    background: transparent !important;
    font-size: 15px !important;
}

body:not(.night-mode) .publisher textarea::placeholder {
    color: #94a3b8 !important;
}

body:not(.night-mode) .publisher-meta {
    border-top: 1px solid rgba(226, 232, 240, 0.8) !important;
}

/* 7. Badges y Enlaces */
body:not(.night-mode) .badge-primary {
    background: linear-gradient(135deg, var(--dikela-sky), var(--dikela-sky-dark)) !important;
    color: #fff !important;
}

body:not(.night-mode) .badge-warning {
    background: linear-gradient(135deg, var(--dikela-gold), #d97706) !important;
    color: #fff !important;
}

body:not(.night-mode) a {
    color: var(--dikela-sky-dark);
}

body:not(.night-mode) a:hover {
    color: #023e8a;
}


/* KETHANE ULTRA-PREMIUM STRICT GLASSMORPHISM
   Phase: Zero Night-mode Refinement v3 (Cache Bursting)
   Expert Overhaul for SNGINE / Astra
   Fecha: 2026-03-08 */

/* --- 0. DESIGN SYSTEM & ACCESSIBILITY TOKENS (WCAG AA/AAA) --- */
:root {
    --k-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --k-font-heading: 'Outfit', 'Inter', -apple-system, sans-serif;
    --k-text-primary: #f8fafc;
    --k-text-secondary: #cbd5e1;
    --k-text-muted: #94a3b8; /* Slate 400: Contraste superior a 7:1 sobre fondo OLED (Supera WCAG AAA) */
    --k-card-radius: 20px;   /* Radio armonizado en todo el feed y módulos */
    --k-input-bg: rgba(255, 255, 255, 0.06);
    --k-input-border: rgba(255, 255, 255, 0.16);
    --k-input-border-focus: #00f2ea;
}

/* --- 1. RESET Y FONDO OLED --- */
body.night-mode {
    background-color: #05070a !important;
    background-image: none !important;
    color: #e4e6eb !important;
    font-family: var(--k-font-body) !important;
}

h1, h2, h3, h4, .kethane-hero-title, .kethane-youth-title {
    font-family: var(--k-font-heading) !important;
}

/* --- 2. FORZAR EL CRISTAL (GLASSMORPHISM) --- */
html.night-mode body.night-mode .post,
html.night-mode body.night-mode .card,
html.night-mode body.night-mode .panel,
html.night-mode body.night-mode .module,
html.night-mode body.night-mode .box,
html.night-mode body.night-mode .panel-default,
body.night-mode .post, body.night-mode .card, body.night-mode .panel, body.night-mode .module, body.night-mode .box, body.night-mode .panel-default,
.glass-post-container,
.main-side-nav-card,
.alert {
    background: rgba(22, 27, 34, 0.7) !important;
    backdrop-filter: blur(25px) saturate(250%) !important;
    -webkit-backdrop-filter: blur(25px) saturate(250%) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: var(--k-card-radius) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
    margin-bottom: 25px !important;
    position: relative !important;
    overflow: hidden !important;
}

/* 2.1 EL SECRETO DEL CRISTAL (TRANSPARENCIA INTERNA) */
body.night-mode .panel-body,
body.night-mode .panel-heading,
body.night-mode .panel-footer,
body.night-mode .card-body,
body.night-mode .card-header,
body.night-mode .card-footer,
body.night-mode .publisher-box,
body.night-mode .publisher-meta,
.panel-body,
.panel-heading,
.panel-footer,
.card-body,
.card-header,
.card-footer,
.publisher-box,
.publisher-meta {
    background-color: transparent !important;
    background: transparent !important;
    border: none !important;
}

/* --- 3. SIDEBAR PREMIUM --- */
.main-sidebar,
.left-sidebar,
.main-side-nav {
    background: transparent !important;
    border: none !important;
}

/* FORZAR LOS CONTENEDORES DE ICONOS DEL MENÚ LATERAL A SER CIRCULARES */
body.night-mode .left-sidebar .nav-menu li a i,
.icon-container,
.main-side-nav li i {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    line-height: 42px !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    margin-right: 15px !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    flex-shrink: 0 !important;
}

/* EVITAR QUE EL SVG HEREDE PROPIEDADES DE CONTENEDOR Y ASEGURAR TAMAÑO PERFECTO */
.main-side-nav li svg {
    width: 22px !important;
    height: 22px !important;
    max-width: 22px !important;
    max-height: 22px !important;
    line-height: normal !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    display: block !important;
}

.main-side-nav .icon-container .svg-container {
    width: 22px !important;
    height: 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
}

body.night-mode .left-sidebar .nav-menu li a:hover i,
.main-side-nav li.active .icon-container,
.main-side-nav li a:hover .icon-container,
.main-side-nav li.active i,
.main-side-nav li a:hover i {
    background-color: #00f2ea !important;
    color: #000 !important;
    box-shadow: 0 0 15px rgba(0, 242, 234, 0.6) !important;
    border-color: transparent !important;
}

.main-side-nav li.active .icon-container svg path,
.main-side-nav li a:hover .icon-container svg path {
    fill: #050c18 !important;
}

.left-sidebar .nav-menu li a,
.main-side-nav li a {
    border-radius: 20px !important;
    color: #b0b3b8 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

/* --- 4. HEADER Y COMMAND CENTER --- */
.main-header {
    background: rgba(5, 7, 10, 0.9) !important;
    backdrop-filter: blur(20px) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.search-input {
    width: 420px !important;
    height: 45px !important;
    border-radius: 50px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
    padding: 0 25px 0 55px !important;
}

@media (max-width: 767px) {
    .search-input {
        width: 100% !important;
    }
    .glass-post-container {
        padding: 1.25rem !important;
        border-radius: 20px !important;
    }
    .post-media,
    .post-img,
    .post-video {
        border-radius: 20px 20px 0 0 !important;
    }
}

/* --- 5. MEDIA ENGINE --- */
.post-media,
.post-img,
.post-video {
    border-radius: var(--k-card-radius) var(--k-card-radius) 0 0 !important;
    margin: -1px -1px 15px -1px !important;
    width: calc(100% + 2px) !important;
}

.post-media img,
.post-media video {
    border-radius: var(--k-card-radius) var(--k-card-radius) 0 0 !important;
    width: 100% !important;
}
/* --- 6. CIRCULAR STORIES REDESIGN --- */
.stories-wrapper {
    padding: 20px 15px !important;
    overflow-x: auto !important;
    display: flex !important;
    align-items: center !important;
}

.add-story {
    width: 68px !important;
    height: 68px !important;
    min-width: 68px !important;
    border-radius: 50% !important;
    margin-right: 20px !important;
    position: relative !important;
    border: 2px solid #00f2ea !important;
    padding: 3px !important;
    background: transparent !important;
    cursor: pointer !important;
    transition: transform 0.3s ease !important;
}

.add-story:hover {
    transform: scale(1.1) rotate(5deg) !important;
}

.add-story .img {
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    background-size: cover !important;
    border: 2px solid rgba(255, 255, 255, 0.1) !important;
}

.add-story .add {
    position: absolute !important;
    bottom: -2px !important;
    right: -2px !important;
    background: #00f2ea !important;
    color: #000 !important;
    fill: #000 !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 3px solid #05070a !important;
    left: auto !important;
    transform: none !important;
    padding: 0 !important;
    font-size: 12px !important;
}

/* Forzar Zuck Stories a ser circulares (Sngine override) */
#stories .story {
    width: 68px !important;
    margin-right: 20px !important;
}

#stories .story > .item-link > .item-preview {
    width: 68px !important;
    height: 68px !important;
    border-radius: 50% !important;
    border: 2px solid #00f2ea !important;
    padding: 3px !important;
    background: transparent !important;
}

#stories .story > .item-link > .item-preview img {
    border-radius: 50% !important;
    border: 2px solid rgba(255, 255, 255, 0.1) !important;
}

#stories .story > .item-link > .info {
    width: 68px !important;
    text-align: center !important;
    padding: 5px 0 0 0 !important;
}

#stories .story > .item-link > .info b {
    font-size: 11px !important;
    font-weight: 400 !important;
    color: #b0b3b8 !important;
}

#stories .story > .item-link > .item-preview:before {
    display: none !important; /* Quitar overlays antiguos */
}

/* KETHANE MOBILE OFFCANVAS FIX */
@media (max-width: 767px) {
    .sg-offcanvas-sidebar,
    .main-side-nav-card {
        background: #030508 !important;
        background-color: #030508 !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        z-index: 999999 !important;
    }

    /* Fix header overlap with content (specifically stories) */
    .sg-offcanvas {
        margin-top: 70px !important;
    }
    .main-header {
        z-index: 2000 !important;
    }
    .js_story-deleter {
        z-index: 1 !important;
    }
}

/* --- POST CONTENT STYLE REFINEMENTS --- */
.post-text {
    font-size: 16px !important;
    line-height: 1.65 !important;
    font-weight: 400 !important;
    letter-spacing: 0.012em !important;
    margin-bottom: 20px !important;
}

.post-text p {
    margin-bottom: 1.2rem !important;
}

.post-text blockquote {
    border-left: 4px solid #00f2ea !important;
    padding: 12px 20px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border-radius: 4px 16px 16px 4px !important;
    font-style: italic !important;
    margin: 15px 0 20px !important;
    color: #f0f0f0 !important;
}

.post-text ul, .post-text ol {
    padding-left: 25px !important;
    margin-bottom: 15px !important;
}

.post-text ul li {
    list-style-type: disc !important;
    margin-bottom: 8px !important;
}

.post-text a {
    color: #00f2ea !important;
    text-decoration: none !important;
    border-bottom: 1px dashed rgba(0, 242, 234, 0.4) !important;
    transition: all 0.2s ease !important;
}

.post-text a:hover {
    color: #70fffb !important;
    border-bottom-style: solid !important;
}

/* --- 7. PWA NATIVE MOBILE UX OVERRIDES --- */
@media (max-width: 767px) {
    /* Disable text selection and browser popups on UI elements */
    .main-header,
    .sg-offcanvas-sidebar,
    .main-side-nav-card,
    .left-sidebar,
    .bottom-navigation,
    .navigation-bar,
    .footer-menu,
    .add-story,
    #stories .story,
    .btn,
    .icon-container,
    .nav-menu li a {
        user-select: none !important;
        -webkit-user-select: none !important;
        -webkit-touch-callout: none !important;
    }
}


/* ==========================================================================
   KETHANE GLOBAL ULTRA-MODERN GLASSMORPHISM 2.0 (2026 REVISION)
   ========================================================================== */

/* 1. Global Font Smoothing & Modern Dark Canvas */
html, body {
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
  background-color: #06080d !important;
  background-image: 
    radial-gradient(at 10% 15%, rgba(0, 242, 234, 0.035) 0px, transparent 50%),
    radial-gradient(at 90% 85%, rgba(249, 200, 58, 0.025) 0px, transparent 50%) !important;
  background-attachment: fixed !important;
}

/* 2. Frosted Floating Header */
.main-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1050 !important;
  background: rgba(6, 8, 14, 0.85) !important;
  backdrop-filter: blur(24px) saturate(190%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(190%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5) !important;
}

.main-header .search-wrapper .form-control {
  border-radius: 50px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #fff !important;
  transition: all 0.3s ease !important;
}

.main-header .search-wrapper .form-control:focus {
  border-color: #00f2ea !important;
  background: rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 0 0 3px rgba(0, 242, 234, 0.25) !important;
}

/* 3. Feed Cards & Glass Containers */
.post,
.card,
.panel,
.box,
.glass-post-container,
.main-side-nav-card {
  background: rgba(16, 21, 32, 0.78) !important;
  backdrop-filter: blur(25px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(25px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
  border-radius: 24px !important;
  box-shadow: 0 12px 36px -10px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s !important;
}

.post:hover,
.card:hover {
  box-shadow: 0 16px 44px -8px rgba(0, 0, 0, 0.6), 0 0 20px rgba(0, 242, 234, 0.08) !important;
}

/* 4. Stories Ring with Animated Gradient */
.add-story,
#stories .story > .item-link > .item-preview {
  border-radius: 50% !important;
  padding: 3px !important;
  background: linear-gradient(45deg, #00f2ea, #f9c83a, #ff007a) !important;
  border: none !important;
  box-shadow: 0 4px 15px rgba(0, 242, 234, 0.35) !important;
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.add-story:hover,
#stories .story > .item-link > .item-preview:hover {
  transform: scale(1.08) !important;
  box-shadow: 0 6px 22px rgba(0, 242, 234, 0.6) !important;
}

/* 5. Reaction Buttons & Interactivity */
.post-actions .action-btn {
  border-radius: 50px !important;
  padding: 8px 16px !important;
  transition: all 0.2s ease !important;
  color: rgba(255, 255, 255, 0.8) !important;
}

.post-actions .action-btn:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

/* Amén Reaction Button */
.btn-amen-post {
  color: #f9c83a !important;
}

.btn-amen-post:hover {
  background: rgba(249, 200, 58, 0.15) !important;
  box-shadow: 0 0 15px rgba(249, 200, 58, 0.4) !important;
}

/* 6. Comment Bubbles */
.comment-text {
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding: 12px 18px !important;
}

/* 7. Dropdown Menus & Modals */
.dropdown-menu {
  background: rgba(14, 18, 30, 0.95) !important;
  backdrop-filter: blur(25px) !important;
  -webkit-backdrop-filter: blur(25px) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 20px !important;
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.6) !important;
  padding: 10px !important;
}

.dropdown-item {
  border-radius: 12px !important;
  color: rgba(255, 255, 255, 0.85) !important;
  padding: 10px 16px !important;
  transition: all 0.2s ease !important;
}

.dropdown-item:hover {
  background: rgba(0, 242, 234, 0.15) !important;
  color: #00f2ea !important;
}

/* 8. Cookie Alert Banner Modernization */
.cookie-alert,
.alert-cookie,
div[class*="cookie"] {
  background: rgba(14, 18, 30, 0.92) !important;
  backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 20px !important;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.6) !important;
}

div[class*="cookie"] button,
div[class*="cookie"] .btn {
  background: linear-gradient(135deg, #00f2ea, #0077ff) !important;
  color: #05070a !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 15px rgba(0, 242, 234, 0.4) !important;
}

/* Modern Cookie Consent Banner Overhaul */
.cc-window.cc-banner,
.cc-window.cc-floating {
  background: rgba(16, 21, 33, 0.9) !important;
  backdrop-filter: blur(25px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(25px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 24px !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6) !important;
  color: #f1f5f9 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  padding: 16px 22px !important;
}

.cc-btn {
  background: linear-gradient(135deg, #00f2ea 0%, #0077ff 100%) !important;
  color: #05070a !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  border-radius: 14px !important;
  border: none !important;
  padding: 10px 24px !important;
  box-shadow: 0 4px 15px rgba(0, 242, 234, 0.4) !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

.cc-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 22px rgba(0, 242, 234, 0.6) !important;
  filter: brightness(1.1) !important;
}

.cc-link {
  color: #00f2ea !important;
  text-decoration: underline !important;
}

/* ==========================================================================
   KETHANE FLOATING PRAISE RADIO MINI-PLAYER (24/7 STREAM)
   ========================================================================== */

#kethane-radio-miniplayer {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9998;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  font-family: 'Plus Jakarta Sans', sans-serif;
}

.kethane-radio-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(14, 19, 32, 0.88);
  backdrop-filter: blur(25px) saturate(200%);
  -webkit-backdrop-filter: blur(25px) saturate(200%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50px;
  padding: 8px 16px 8px 8px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.55), 0 0 25px rgba(0, 242, 234, 0.2);
}

.kethane-radio-btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: none;
  background: linear-gradient(135deg, #00f2ea 0%, #0077ff 100%);
  color: #05070a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(0, 242, 234, 0.4);
  transition: all 0.25s ease;
  flex-shrink: 0;
}

.kethane-radio-btn:hover {
  transform: scale(1.08);
  box-shadow: 0 6px 20px rgba(0, 242, 234, 0.6);
}

.kethane-radio-info {
  display: flex;
  flex-direction: column;
  cursor: pointer;
  user-select: none;
  min-width: 140px;
}

.kethane-radio-title {
  font-family: 'Outfit', sans-serif;
  font-size: 0.92rem;
  font-weight: 700;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 6px;
}

.kethane-radio-title .live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 10px #10b981;
  animation: livePulse 2s infinite;
}

@keyframes livePulse {
  0% { transform: scale(0.95); opacity: 0.7; }
  50% { transform: scale(1.3); opacity: 1; }
  100% { transform: scale(0.95); opacity: 0.7; }
}

.kethane-radio-sub {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.65);
}

/* Equalizer Visualizer */
.kethane-radio-equalizer {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  height: 18px;
  margin: 0 4px;
}

.kethane-radio-equalizer span {
  width: 3px;
  height: 4px;
  background: #00f2ea;
  border-radius: 3px;
  transition: height 0.2s ease;
}

.kethane-radio-equalizer.playing span:nth-child(1) { animation: eqBar 1s ease-in-out infinite alternate; }
.kethane-radio-equalizer.playing span:nth-child(2) { animation: eqBar 0.7s ease-in-out 0.2s infinite alternate; }
.kethane-radio-equalizer.playing span:nth-child(3) { animation: eqBar 1.2s ease-in-out 0.4s infinite alternate; }
.kethane-radio-equalizer.playing span:nth-child(4) { animation: eqBar 0.8s ease-in-out 0.1s infinite alternate; }

@keyframes eqBar {
  0% { height: 4px; }
  100% { height: 18px; }
}

.kethane-radio-close {
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.85rem;
  cursor: pointer;
  padding: 4px 6px;
  border-radius: 50%;
  transition: color 0.2s;
}

.kethane-radio-close:hover {
  color: #fff;
}

/* Mobile Dock Position */
@media (max-width: 768px) {
  #kethane-radio-miniplayer {
    bottom: 74px; /* Sits cleanly above the bottom navigation bar */
    right: 12px;
    left: auto;
    margin: 0;
    max-width: calc(100vw - 24px);
    z-index: 10000;
    box-sizing: border-box;
  }
  .kethane-radio-inner {
    padding: 5px 10px 5px 6px;
    gap: 8px;
    box-sizing: border-box;
    width: auto;
    max-width: 100%;
  }
  .kethane-radio-info {
    min-width: 0 !important;
    flex: 1 1 auto;
    overflow: hidden;
  }
  .kethane-radio-btn {
    width: 36px;
    height: 36px;
    min-width: 36px;
    font-size: 0.85rem;
  }
  .kethane-radio-title {
    font-size: 0.82rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .kethane-radio-sub {
    display: none;
  }
}

/* ==========================================================================
   FIX: REACTION POPOVER POSITIONING & VISIBILITY (DESKTOP & MOBILE)
   Ensures reaction emojis popup appears cleanly right above the React button,
   immune to parent backdrop-filter, transform, and overflow clipping.
   ========================================================================== */
.post,
.glass-post-container,
.card,
.panel,
.post-actions,
.post-body {
    overflow: visible !important;
}

.reactions-wrapper {
    position: relative !important;
}

.reactions-container {
    position: absolute !important;
    bottom: calc(100% + 8px) !important;
    left: 0 !important;
    top: auto !important;
    right: auto !important;
    z-index: 99999 !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.45) !important;
    border-radius: 40px !important;
    padding: 3px 6px !important;
    background: #1e293b !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    white-space: nowrap !important;
}

html[dir="rtl"] .reactions-container {
    left: auto !important;
    right: 0 !important;
}

body:not(.night-mode) .reactions-container {
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15) !important;
}

.reactions_item {
    width: 44px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    float: none !important;
}

.reactions_item img {
    width: 36px !important;
    height: 36px !important;
    display: block !important;
    transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

.reactions_item:hover img {
    transform: scale(1.35) translateY(-4px) !important;
}


/* ==========================================================================
   KETHANE LIVEKIT SPACES HUB (SALAS EN VIVO)
   Prominent, stunning 1-click live rooms widget at the top of the feed
   ========================================================================== */
.kethane-live-spaces-card {
    background: rgba(22, 27, 34, 0.75) !important;
    backdrop-filter: blur(25px) saturate(200%) !important;
    -webkit-backdrop-filter: blur(25px) saturate(200%) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 24px !important;
    padding: 16px 20px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4) !important;
    margin-bottom: 22px !important;
    position: relative !important;
}

body:not(.night-mode) .kethane-live-spaces-card {
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important;
}

.kethane-live-spaces-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

body:not(.night-mode) .kethane-live-spaces-header {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.live-spaces-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95rem;
    color: #fff;
}

body:not(.night-mode) .live-spaces-title {
    color: #1e293b;
}

.live-pulse-dot {
    width: 9px;
    height: 9px;
    background: #ff0050;
    border-radius: 50%;
    box-shadow: 0 0 10px #ff0050;
    animation: livePulseGlow 1.8s infinite ease-in-out;
}

@keyframes livePulseGlow {
    0% { transform: scale(0.9); opacity: 0.8; }
    50% { transform: scale(1.3); opacity: 1; box-shadow: 0 0 14px #ff0050, 0 0 20px rgba(255, 0, 80, 0.5); }
    100% { transform: scale(0.9); opacity: 0.8; }
}

.badge-live-tag {
    background: linear-gradient(135deg, #00f2ea 0%, #0077ff 100%);
    color: #050c18;
    font-size: 0.65rem;
    font-weight: 800;
    padding: 2px 7px;
    border-radius: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.live-spaces-all-link {
    font-size: 0.82rem;
    color: var(--accent-cian, #00f2ea) !important;
    text-decoration: none !important;
    font-weight: 600;
    transition: all 0.2s;
}

.live-spaces-all-link:hover {
    color: #fff !important;
    transform: translateX(2px);
}

.kethane-live-spaces-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

@media (max-width: 576px) {
    .kethane-live-spaces-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}

.live-space-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-radius: 16px;
    text-decoration: none !important;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    overflow: hidden;
}

body:not(.night-mode) .live-space-btn {
    background: #f8fafc;
    border: 1px solid rgba(0, 0, 0, 0.06);
}

.live-space-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
}

/* Specific button theme glows */
.space-oracion:hover {
    border-color: rgba(245, 158, 11, 0.5) !important;
    background: rgba(245, 158, 11, 0.08) !important;
}

.space-estudio:hover {
    border-color: rgba(0, 242, 234, 0.5) !important;
    background: rgba(0, 242, 234, 0.08) !important;
}

.space-jovenes:hover {
    border-color: rgba(255, 0, 122, 0.5) !important;
    background: rgba(255, 0, 122, 0.08) !important;
}

.space-libre:hover {
    border-color: rgba(16, 185, 129, 0.5) !important;
    background: rgba(16, 185, 129, 0.08) !important;
}

.space-icon-wrapper {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.space-info {
    flex: 1;
    min-width: 0;
}

.space-name {
    font-family: 'Outfit', sans-serif;
    font-size: 0.88rem;
    font-weight: 700;
    color: #f1f5f9;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
}

body:not(.night-mode) .space-name {
    color: #0f172a;
}

.space-sub {
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.55);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 2px;
}

body:not(.night-mode) .space-sub {
    color: #64748b;
}

.space-cta-pill {
    font-size: 0.7rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 50px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.2s ease;
}

.space-pill-oracion {
    background: rgba(245, 158, 11, 0.15);
    color: #fbbf24;
    border: 1px solid rgba(245, 158, 11, 0.3);
}

.space-pill-estudio {
    background: rgba(0, 242, 234, 0.15);
    color: #00f2ea;
    border: 1px solid rgba(0, 242, 234, 0.3);
}

.space-pill-jovenes {
    background: rgba(255, 0, 122, 0.15);
    color: #ff007a;
    border: 1px solid rgba(255, 0, 122, 0.3);
}

.space-pill-libre {
    background: rgba(16, 185, 129, 0.15);
    color: #34d399;
    border: 1px solid rgba(16, 185, 129, 0.3);
}

.live-space-btn:hover .space-cta-pill {
    transform: scale(1.06);
}



/* FEED INTERACTION BADGE (DUET / STITCH ATTRIBUTION IN TIMELINE) */
.kethane-feed-interaction-badge {
    margin-top: 8px;
    padding: 6px 12px;
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
}
.feed-interaction-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 0.82rem;
    color: #e2e8f0;
    transition: color 0.2s;
}
.feed-interaction-link:hover {
    color: #fff;
}
.badge-tag {
    padding: 3px 8px;
    border-radius: 8px;
    font-size: 0.72rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.badge-tag.tag-duet {
    background: rgba(179, 136, 255, 0.2);
    border: 1px solid rgba(179, 136, 255, 0.4);
    color: #b388ff;
}
.badge-tag.tag-stitch {
    background: rgba(0, 229, 255, 0.2);
    border: 1px solid rgba(0, 229, 255, 0.4);
    color: #00e5ff;
}
.badge-avatar {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid rgba(255, 255, 255, 0.3);
}


/* ============================================================
   WCAG AA/AAA CONTRAST & ACCESSIBLE INPUTS (AUDIT FIX)
   ============================================================ */
.text-muted,
body.night-mode .text-muted,
body .text-muted,
.post-stats-alt,
.post-stats span,
.post-time,
.time,
.data-content .time,
.post-desc,
.stat-label,
small.text-muted {
    color: var(--k-text-muted) !important;
}

::placeholder {
    color: var(--k-text-muted) !important;
    opacity: 1 !important;
}

.comment-form textarea,
.comment-form .form-control,
.post-actions textarea,
.form-control {
    background: var(--k-input-bg) !important;
    border: 1px solid var(--k-input-border) !important;
    color: #fff !important;
}

.comment-form textarea:focus,
.comment-form .form-control:focus,
.form-control:focus {
    border-color: var(--k-input-border-focus) !important;
    box-shadow: 0 0 0 3px rgba(0, 242, 234, 0.25) !important;
}



/* ==========================================================================
   DIKELA MOBILE & YOUTH-FORWARD DESIGN PERFECTION
   Optimizado para iPhone, Android y Pantallas Táctiles
   ========================================================================== */

/* 1. Logo & Header Responsive */
.main-header .logo {
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
}

.main-header .logo img {
    height: 52px !important;
    max-height: 54px !important;
    width: auto !important;
    object-fit: contain !important;
    transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.main-header .logo:hover img {
    transform: scale(1.04) !important;
}

@media (max-width: 767px) {
    .main-header .logo img {
        height: 42px !important;
        max-height: 44px !important;
    }
    .main-header .tiktok-live-badge {
        padding: 3px 7px !important;
        font-size: 0.62rem !important;
    }
    .main-header .tiktok-live-badge i {
        font-size: 0.65rem !important;
    }
}

/* 2. Textos del Menú Lateral — 100% legibles y nítidos en Light Mode */
body:not(.night-mode) .nav-label,
body:not(.night-mode) .main-side-nav li a,
body:not(.night-mode) .main-side-nav li a span.nav-label {
    color: #1e293b !important;
    font-weight: 600 !important;
}

body:not(.night-mode) .main-side-nav li a:hover span.nav-label {
    color: #0077b6 !important;
}

/* 3. Mobile Bottom Bar — Glassmorphism Cristalino y Activos en Cyan Dikela */
@media (max-width: 767px) {
    body:not(.night-mode) .footer-bottom-bar {
        background: rgba(255, 255, 255, 0.94) !important;
        backdrop-filter: blur(20px) saturate(180%) !important;
        -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
        border-top: 1px solid rgba(226, 232, 240, 0.9) !important;
        box-shadow: 0 -4px 20px rgba(0, 180, 216, 0.08) !important;
    }

    body:not(.night-mode) .footer-bottom-bar-links .link a {
        color: #64748b !important;
        border-radius: 14px !important;
        transition: all 0.2s ease !important;
    }

    body:not(.night-mode) .footer-bottom-bar-links .link.active a {
        color: #00b4d8 !important;
    }

    body:not(.night-mode) .footer-bottom-bar-links .link.active .title {
        color: #0077b6 !important;
        font-weight: 700 !important;
    }

    body:not(.night-mode) .footer-bottom-bar-links .link.active .svg-container.header-icon svg path,
    body:not(.night-mode) .footer-bottom-bar-links .link.active .svg-container.header-icon svg circle,
    body:not(.night-mode) .footer-bottom-bar-links .link.active .svg-container.header-icon svg rect {
        fill: #00b4d8 !important;
        stroke: #00b4d8 !important;
    }

    body:not(.night-mode) .footer-bottom-bar-links .link a[href*="voz-cristiana"],
    body:not(.night-mode) .footer-bottom-bar-links .link a[href*="Voz-Cristiana"] {
        background: linear-gradient(135deg, #00b4d8, #0077b6) !important;
        box-shadow: 0 0 0 4px #ffffff, 0 6px 20px rgba(0, 180, 216, 0.45) !important;
    }

    /* 4. Tarjetas en móvil — app-like feel */
    body:not(.night-mode) .post,
    body:not(.night-mode) .card {
        border-radius: 18px !important;
        margin-bottom: 16px !important;
        box-shadow: 0 2px 12px rgba(15, 23, 42, 0.04) !important;
    }
}

/* 5. Micro-interacciones táctiles */
.btn:active,
.footer-bottom-bar-links .link a:active,
.action-btn:active {
    transform: scale(0.96) !important;
}

/* 6. Dikela Mobile-First Core Hardening */
html, body {
    overflow-x: hidden !important;
}

@media (max-width: 767px) {
    body {
        padding-bottom: 84px !important;
        -webkit-overflow-scrolling: touch;
    }
    .main-wrapper {
        overflow-x: hidden !important;
        width: 100% !important;
    }
    /* Espaciado optimizado en pantallas móviles */
    .container, .container-fluid {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    /* Touch targets ergonómicos para navegación con pulgar */
    .post-actions .action-btn,
    .post-footer .comment-btn {
        min-height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
    }
}
