/* VIK-173 (limpieza final del rebranding): retiradas las reglas ya sin
   consumidor real en ninguna página que extienda `base.html.twig` (`.navbar*`
   del menú legacy, `.top-section`, `.error`, `.form-container`, `.btn-primary`,
   `.display-4`/`.display-5`, `.modal-footer`, `#header-sub`/`.demo` —del
   partial `partial/_demoInfo.html.twig`, retirado por no estar incluido en
   ningún sitio—, `#header-logged*`, `.btn-menu`, `.mosaic*`, los
   `.album-track-*` de la ficha de disco anterior a `Mdd:TrackList` (VIK-155)
   y `.addon-block`/`.addon-price-pill` de "Apoyar" anterior a
   `Mdd:RewardSelector`, VIK-156). Lo que queda sigue en uso real: comprobado
   contra las ~40 plantillas que extienden `base.html.twig` (directa o vía
   Twig Components), no solo grep suelto. */
:root {
    /* Altura real del dock del reproductor persistente (T-541: ya sin tab
       bar, que compartía este dock), actualizada por
       `bottom_dock_controller.js` (T-062) vía `ResizeObserver` sobre
       `#bottom-dock`. El valor por defecto de 56px es solo un fallback
       hasta que JS la calcula tras el primer render. */
    --player-dock-height: 56px;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* T-082: `min-height` en vez de `height` fijo — con `height: 100%` el
   `body` quedaba limitado a la altura del viewport y, en páginas donde el
   contenido (p. ej. la sección "Reseñas" del álbum, T-079) supera esa
   altura, el `padding-bottom: var(--player-dock-height)` de más abajo no
   garantizaba espacio real de scroll bajo el dock fijo en todos los
   motores/navegadores. `min-height: 100%` permite que el documento crezca
   con su contenido real sin perder el centrado vertical de las pantallas
   cortas que dependen de esta altura (`.half-screen`). */
body, html {
    min-height: 100%;
    margin: 0;
    background-color: var(--mdd-bg);
    display: flex;
    flex-direction: column;
}

/* VIK-139: el amarillo con !important que había aquí se retira sin
   sustituto propio — `canvas/css/custom.css` ya pinta `.btn-primary` en
   carbón (mismo criterio de marca, sin `!important`: gana por especificidad
   normal al cargarse antes que esta hoja). */

/** Form Código **/
.half-screen {
    height: 50%; /* Cada mitad ocupa la mitad de la pantalla */
}

.bottom-section {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    background-color: #e9ecef; /* Color claro para la parte inferior */
}

.instructions {
    font-size: 0.9rem;
    color: #6c757d; /* Texto gris para las instrucciones */
    margin-bottom: 1rem;
}

/* Estilo para la imagen circular */
.rounded-circle {
    width: 40px;
    height: 40px;
    object-fit: cover;
}
.dropdown-menu {
    min-width: 200px;
}

/* Ajustes para móviles y pantallas pequeñas */
@media (max-width: 576px) {
    .rounded-circle {
        width: 35px;
        height: 35px;
    }
}

#sw-progress-container {
    width: 100%;
    max-width: 300px;
    background: #FFFFFF;
    padding: 10px;
    border-radius: 8px;
    text-align: center;
    position: fixed;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    z-index: 999999;
}
  
#sw-progress-container progress {
    width: 100%;
    height: 10px;
    border-radius: 5px;
    overflow: hidden;
}

#sw-progress-container progress::-webkit-progress-bar {
    background: #FFFFFF;
}

#sw-progress-container progress::-webkit-progress-value {
    background: var(--mdd-accent);
}

/* Contenedor común fijo al fondo de la pantalla (reproductor persistente) —
   T-061. Único elemento `fixed-bottom`/con `z-index` real del dock; el
   reproductor vive en flujo normal dentro de él, sin `bottom`/`z-index`
   independiente propio. T-541 (Fase 50): eliminada la tab bar inferior que
   compartía este dock con el reproductor. */
#bottom-dock {
    z-index: 9999;
}

/* Home global con grid de álbumes por categoría — T-017, grid responsive T-154 */
.home-carousel-img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

/* Ficha de álbum/campaña — T-019 */
.album-cover {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

@media (max-width: 767px) {
    .album-cover {
        max-width: 60vw;
        display: block;
        margin: 0 auto;
    }
}

.artist-photo {
    width: 56px;
    height: 56px;
    object-fit: cover;
}

/* Reserva exactamente la altura real del dock combinado (T-062), medida
   en JS (`bottom_dock_controller.js`) en vez de un valor fijo. */
body {
    padding-bottom: var(--player-dock-height, 56px);
}

/* VIK-179: el toast de confirmación al compartir (T-152) retira su propio
   markup/CSS (`.share-toast`/`.share-toast-visible`) y pasa por el
   controller común `assets/controllers/toast_controller.js`
   (`.mdd-toast*` de `assets/styles/mdd.css`) — ver `Music/assets/lib/share.js`. */

