@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

/* Desktop grande: recuperar separación visual entre header y cards */
@media (min-width: 1400px) and (max-width: 1479px) {
    .customer-account-index .dashboard-custom-blocks {
        margin-top: 24px !important;
    }
}

body {
    font-family: 'Inter', sans-serif;
}

.page-main {
    padding: 5px 0 !important;
    min-height: 1px !important;
}

/* Contenedor botones card-general: columna vertical */
html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general .custom-block-content {
    flex-direction: column !important;
    align-items: center !important;
    padding: 0 !important;
    gap: clamp(4px, 0.5vw, 10px) !important;
    width: 100% !important;
}

/* Icono dentro de los botones */
html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general .btn-icon {
    width: 24px !important;
    height: 24px !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
    vertical-align: middle !important;
    object-fit: contain !important;
}

/* Botones card-general: tamaño 360×59px — máxima especificidad para ganar a _module.css */
html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general a.btn.btn-tutoriales,
html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general button.btn.btn-tutoriales,
html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general a.btn.btn-primary,
html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general button.btn.btn-primary {
    display: flex !important;
    width: 100% !important;
    max-width: 360px !important;
    height: 59px !important;
    padding: 0 20px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    border-radius: 20px !important;
    box-sizing: border-box !important;
    font-family: Inter, sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}

/* Tutoriales: blanco con borde oscuro */
html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general a.btn.btn-tutoriales,
html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general button.btn.btn-tutoriales {
    border: 0.5px solid #1C1C1C !important;
    background: #FFF !important;
    color: #1C1C1C !important;
    transition: background 0.2s ease, color 0.2s ease;
}

/* Estadísticas: naranja */
html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general a.btn.btn-primary {
    border: none !important;
    background: #E6531E !important;
    color: #FFF !important;
}

/* Responsivo: cards angostos ≤480px */
@media (max-width: 480px) {
    html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general a.btn.btn-tutoriales,
    html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general a.btn.btn-primary {
        max-width: 100% !important;
        height: 48px !important;
        font-size: 14px !important;
    }
}

/* Estilos para las clases específicas de welcome - Máxima prioridad */
.header-style-1-welcome .header-bottom-welcome {
    border-bottom: none !important;
    position: relative !important;
    z-index: 200 !important;
    border-radius: 24px !important;
    margin-right: 45px !important;
    margin-left: 45px !important;
}

/* Estilos para la clase específica de welcome - Máxima prioridad */
.header-bottom-content-welcome {
    background-image: url('../images/background-banner-1.png') !important;
    background-position: center !important;
    background-size: cover !important;
    background-position-y: bottom !important;
    width: auto !important;
    height: 265px !important;
    padding-top: 34px !important;
    padding-left: 0px !important;
    border-radius: 24px !important;
    display: block !important;
}

/* Panel header: Figma design styles - Sobrescribe los estilos de welcome */
.panel-header .header-bottom-content-welcome,
.panel-header.header-style-1-welcome .header-bottom-content-welcome {
    border-radius: 0 0 40px 40px !important;
    background: linear-gradient(270deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.50) 80.64%),
                linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%),
                url('../images/background-banner-1.png') lightgray 50% / cover no-repeat !important;
    box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.25) !important;
    padding: 30px 61px !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    border: none !important;
}

.panel-header .header-bottom-content-welcome::before,
.panel-header.header-style-1-welcome .header-bottom-content-welcome::before {
    border-radius: 0 0 40px 40px !important;
}

/* Panel header: Fix layout - permitir altura automática */
.panel-header .header-bottom .header-bottom-content {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
}

/* Panel header: Mover menú debajo de la línea de bienvenido */
.panel-header .header-bottom .header-bottom-content .row {
    flex-wrap: wrap !important;
}

.panel-header .header-bottom .header-bottom-content .logo-content {
    order: 1 !important;
}

.panel-header .header-bottom .header-bottom-content .cart-search-header {
    order: 2 !important;
}

.panel-header .header-bottom .header-bottom-content .categories-section {
    order: 3 !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-top: 15px !important;
}

/* Panel header: Logo size */
.panel-header .logo-andromeda,
.panel-header .logo-andromeda.panel-logo,
.panel-header.header-style-1-welcome .logo-andromeda.panel-logo {
    width: 173.696px !important;
    height: 60px !important;
    aspect-ratio: 173.70 / 60.00 !important;
}

/* Panel welcome under logo - Figma layout */
.panel-header .panel-welcome-under-logo {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 15px !important;
    margin-top: 0 !important;
}

.panel-header .logo-container-header {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.panel-header .logo-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.panel-header h1.logo-contentt {
    margin-bottom: 10px !important;
}

.panel-header .panel-welcome-under-logo .welcome-text {
    color: #FFF !important;
    font-family: Inter, sans-serif !important;
    font-size: 42px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

.panel-header .panel-welcome-under-logo .customer-name-inline {
    color: #FFF !important;
    font-family: Inter, sans-serif !important;
    font-size: 42px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: normal !important;
}


/* Panel header: cart-search-header layout - columna para fecha arriba */
.panel-header .cart-search-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: center !important;
    gap: 10px !important;
}

/* Panel header: Fila superior - Fecha */
.panel-header .panel-header-top-row {
    display: flex !important;
    justify-content: flex-end !important;
    width: 100% !important;
    margin-bottom: 10px !important;
}

/* Panel header: Datetime styling */
.panel-header .panel-header-datetime {
    display: flex !important;
    align-items: center !important;
    color: #fff !important;
    font-family: Inter, sans-serif !important;
    font-size: 18px !important;
    font-style: normal !important;
    line-height: normal !important;
    white-space: nowrap !important;
}

.panel-header .panel-header-datetime .current-datetime {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    margin: 0 !important;
}

.panel-header .panel-header-datetime .date-part {
    color: #FFF !important;
    font-family: Inter, sans-serif !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: normal !important;
}

.panel-header .panel-header-datetime .time-part {
    color: #FFF !important;
    font-family: Inter, sans-serif !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: normal !important;
}

.panel-header .panel-header-datetime .datetime-wrapper,
.panel-header .panel-header-datetime .header-datetime {
    color: #fff !important;
    font-size: 18px !important;
}

/* Panel header: Fila inferior - Tu Panel + Notificaciones */
.panel-header .panel-header-bottom-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    width: 100% !important;
}

/* Panel header: Hide original datetime in user-group-block */
.panel-header .user-group-block .custom-header-datetime {
    display: none !important;
}

/* =================================
   Panel Customer Welcome Styles
   ================================= */

/* Panel customer welcome container */
.panel-header .panel-customer-welcome {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 15px !important;
}

/* Bienvenido info block */
.panel-header .panel-welcome-info {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    color: #fff !important;
    line-height: 1.3 !important;
    text-align: right !important;
}

.panel-header .panel-welcome-info .welcome-greeting {
    font-size: 12px !important;
    color: rgba(255, 255, 255, 0.7) !important;
}

.panel-header .panel-welcome-info .welcome-name {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #fff !important;
}

.panel-header .panel-welcome-info .welcome-id {
    font-size: 12px !important;
    color: rgba(255, 255, 255, 0.7) !important;
}

/* Tu panel button - Figma styles */
.panel-header .panel-customer-welcome .panel-dashboard,
.panel-header .panel-header-account .panel-customer-welcome .panel-dashboard {
    display: flex !important;
    padding: 20px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    align-self: stretch !important;
    border-radius: 15px !important;
    border: 0.5px solid #FFF !important;
    background: rgba(0, 0, 0, 0.10) !important;
    backdrop-filter: blur(2.5px) !important;
    color: #FFF !important;
    font-family: Inter, sans-serif !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: normal !important;
    cursor: pointer !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

/* Icon wrapper - circular background */
.panel-header .panel-customer-welcome .panel-dashboard .panel-icon-wrapper,
.panel-header .panel-header-account .panel-customer-welcome .panel-dashboard .panel-icon-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.25) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.5) !important;
    flex-shrink: 0 !important;
    min-width: 40px !important;
}

/* Icon styling - SVG */
.panel-header .panel-customer-welcome .panel-dashboard .panel-icon,
.panel-header .panel-header-account .panel-customer-welcome .panel-dashboard .panel-icon {
    width: 24px !important;
    height: 24px !important;
    display: block !important;
}

/* Panel text */
.panel-header .panel-customer-welcome .panel-dashboard .panel-text,
.panel-header .panel-header-account .panel-customer-welcome .panel-dashboard .panel-text {
    flex: 1 !important;
}

/* Contenedor del dropdown - position relative para el posicionamiento absoluto */
.panel-header .customer-welcome,
.panel-header .panel-customer-welcome {
    position: relative !important;
}

/* Dropdown del Tu panel - posicionado abajo con máxima especificidad */
.panel-header .customer-welcome .customer-menu,
.panel-header .panel-customer-welcome .customer-menu,
body .panel-header .customer-welcome .customer-menu,
body .panel-header .panel-customer-welcome .customer-menu,
.panel-header .customer-menu {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    margin-top: 0px !important;
    border-radius: 15px !important;
    background: rgba(0, 0, 0, 0.30) !important;
    background-color: rgba(0, 0, 0, 0.30) !important;
    border: 0.5px solid #FFF !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45) !important;
    z-index: 1000 !important;
    min-width: 167px !important;
    width: 167px !important;
    overflow: hidden !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Media query para forzar fondo en desktop */
@media (min-width: 1025px) {
    .panel-header .customer-menu,
    .customer-welcome .customer-menu,
    .customer-menu {
        background: rgba(0, 0, 0, 0.30) !important;
        background-color: rgba(0, 0, 0, 0.30) !important;
    }
}

.panel-header .customer-welcome .customer-menu ul,
.panel-header .panel-customer-welcome .customer-menu ul {
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

/* Reset completo de li - anular estilos de Magento .header.links */
.panel-header .customer-welcome .customer-menu ul li,
.panel-header .panel-customer-welcome .customer-menu ul li {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    float: none !important;
    display: block !important;
}

.panel-header .customer-welcome .customer-menu a,
.panel-header .panel-customer-welcome .customer-menu a {
    color: #FFF !important;
    padding: 20px !important;
    display: block !important;
    text-decoration: none !important;
    font-family: Inter, sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    border: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.panel-header .customer-welcome .customer-menu a:hover,
.panel-header .panel-customer-welcome .customer-menu a:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #FFF !important;
}

/* Cerrar sesión - fondo rojizo con border-radius inferior */
.panel-header .customer-welcome .customer-menu ul li:last-child,
.panel-header .panel-customer-welcome .customer-menu ul li:last-child {
    border-radius: 0 0 15px 15px !important;
    background: rgba(114, 9, 16, 0.20) !important;
    overflow: hidden !important;
}

.panel-header .customer-welcome .customer-menu a#my-addresses,
.panel-header .panel-customer-welcome .customer-menu a#my-addresses {
    color: #E6531E !important;
}

.panel-header .customer-welcome .customer-menu a#my-addresses:hover,
.panel-header .panel-customer-welcome .customer-menu a#my-addresses:hover {
    background: rgba(114, 9, 16, 0.35) !important;
    color: #E6531E !important;
}

/* Dropdown arrow via CSS ::after - solo 1 flechita */
.panel-header .panel-customer-welcome .panel-dashboard::after {
    content: '' !important;
    display: inline-block !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 6px solid transparent !important;
    border-right: 6px solid transparent !important;
    border-top: 6px solid #fff !important;
    margin-left: 8px !important;
    vertical-align: middle !important;
}

/* Hide any other dropdown arrows/icons */
.panel-header .panel-customer-welcome .panel-dashboard .dropdown-arrow,
.panel-header .panel-customer-welcome .action.switch::after {
    display: none !important;
}

/* Panel notifications header - quitar width 100% */
.panel-header .notifications-header {
    width: auto !important;
}

/* Panel notifications container - Figma styles */
.panel-header .notifications-header .notifications-icon-container {
    display: flex !important;
    padding: 10px !important;
    justify-content: center !important;
    align-items: center !important;
    border-radius: 1000px !important;
    border: 1px solid rgba(255, 255, 255, 0.40) !important;
    background: rgba(0, 0, 0, 0.20) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    position: relative !important;
}

.panel-header .notifications-header .notifications-icon {
    width: 32px !important;
    height: 32px !important;
    object-fit: contain !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
}

.panel-header .notifications-header .notifications-count,
.panel-header .notifications-header .notifications-count-unset {
    position: absolute !important;
    top: -5px !important;
    right: -5px !important;
}

/* Customer name inline with Bienvenido(a) */
.panel-header .customer-name-inline {
    font-weight: 700 !important;
    color: #fff !important;
}

.panel-header .welcome-text .customer-name-inline {
    margin-left: 5px !important;
}

/* Panel welcome row - Bienvenido + ID en la misma línea */
.panel-header .panel-welcome-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 15px !important;
    flex-wrap: nowrap !important;
}

.panel-header .panel-welcome-row .welcome-text {
    margin: 0 !important;
    white-space: nowrap !important;
}

/* Panel header: ID box inline */
.panel-header .counter-customer-header-wrapper.inline-id {
    display: inline-flex !important;
    margin-left: 0 !important;
    vertical-align: middle !important;
    position: relative !important;
    top: 3px !important;
}

.panel-header .counter-customer-header-box {
    display: flex !important;
    align-items: stretch !important;
    border-radius: 20px !important;
    border: none !important;
    background: transparent !important;
    overflow: visible !important;
}

.panel-header .counter-customer-header-left {
    display: flex !important;
    padding: 10px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    border-radius: 20px 0 0 20px !important;
    border: 0.5px solid rgba(255, 255, 255, 0.40) !important;
    background: rgba(0, 0, 0, 0.25) !important;
}

.panel-header .counter-customer-header-icon {
    width: 20px !important;
    height: 20px !important;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg>') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
}

.panel-header .counter-customer-header-label {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.panel-header .counter-customer-header-right {
    display: flex !important;
    padding: 10px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    align-self: stretch !important;
    border-radius: 0 20px 20px 0 !important;
    border: 0.5px solid rgba(255, 255, 255, 0.40) !important;
    background: rgba(0, 0, 0, 0.25) !important;
    border-left: none !important;
}

.panel-header .counter-customer-header-value {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.panel-header .panel-customer-welcome .panel-dashboard:hover {
    background: rgba(0, 0, 0, 0.20) !important;
}

/* Dropdown arrow for Tu panel */
.panel-header .panel-customer-welcome .dropdown-arrow {
    display: inline-block !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 5px solid transparent !important;
    border-right: 5px solid transparent !important;
    border-top: 5px solid #fff !important;
    margin-left: 5px !important;
}


/* =================================
   Responsive: Tu panel + Notificaciones en 1299px
   ================================= */
@media (max-width: 1299px) {
    /* Botón Tu panel más compacto */
    .panel-header .panel-customer-welcome .panel-dashboard,
    .panel-header .panel-header-account .panel-customer-welcome .panel-dashboard {
        padding: 10px 16px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        border-radius: 10px !important;
        gap: 6px !important;
    }

    /* Flecha más pequeña */
    .panel-header .panel-customer-welcome .panel-dashboard::after {
        border-left-width: 4px !important;
        border-right-width: 4px !important;
        border-top-width: 4px !important;
        margin-left: 5px !important;
    }

    /* Contenedor de notificaciones: igual de compacto */
    .panel-header .notifications-header .notifications-icon-container {
        padding: 8px !important;
    }

    .panel-header .notifications-header .notifications-icon {
        width: 22px !important;
        height: 22px !important;
    }

    /* Fila inferior: menos gap */
    .panel-header .panel-header-bottom-row {
        gap: 8px !important;
    }
}

/* =================================
   End Panel Customer Welcome
   ================================= */

.header-bottom-content-welcome::before {
    border-radius: 24px !important;
    content: "" !important;
    position: absolute !important;
    top: 0px !important;
    right: 0px !important;
    bottom: 0px !important;
    left: 0px !important;
    background-color: rgba(0, 0, 0, 0.50) !important;
}

.navigation-mobile-container {
    display: none !important;
}

/*LINKS*/
.custom-header-links a, a:focus {
    color: #ffff !important;
    text-decoration: none;
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 12px;
}

.custom-header-links li.active a{
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    color: #000 !important;
    background: #fff;
    border-radius: 24px;
    padding: 5px 15px 5px 15px;
    bottom: 5px;
    margin-top: -5px;
}

.header-style-1-welcome .header-bottom-welcome .logo-container-welcome .logo-wrapper-welcome .logo-andromeda-welcome {
    position: absolute !important;
    width: 65% !important;
    left: 490px !important;
    top: -5px !important;
}

.header-style-1-welcome .cart-search-welcome .notifications-header-welcome {
    margin-right: 0px !important;
    padding-top: 0px !important;
}

.header-style-1-welcome .searchbox-header-welcome {
    float: right !important;
    padding-right: 50px !important;
    position: relative !important;
    min-width: 50px !important;
    min-height: 35px !important;
    border-right: 1px solid rgba(255, 255, 255, 0.4) !important;
    display: none !important;
}

.header-style-1-welcome .sm_megamenu_wrapper_horizontal_menu-welcome {
    display: none !important;
}

/* Categories scroll container - Ocultar en rutas welcome */
.categories-scroll-container-welcome {
    display: none !important;
}

/* Counter customer header - Mantener estilos originales */
.counter-customer-header-wrapper-welcome {
    width: 100% !important;
    height: 100% !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    gap: 10px !important;
}

.counter-customer-header-box {
    display: inline-flex !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
}

.counter-customer-header-left {
    padding: 10px !important;
    background: black !important;
    border-top-left-radius: 20px !important;
    border-bottom-left-radius: 20px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
}

.counter-customer-header-icon {
    background-image: url(../images/assignment_ind.svg) !important;
    width: 24px !important;
    height: 24px !important;
}

.counter-customer-header-label {
    color: white !important;
    font-size: 18px !important;
    font-family: Inter, sans-serif !important;
    font-weight: 500 !important;
    word-wrap: break-word !important;
}

.counter-customer-header-right {
    align-self: stretch !important;
    padding: 10px !important;
    background: white !important;
    border-top-right-radius: 20px !important;
    border-bottom-right-radius: 20px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
}

.counter-customer-header-value {
    color: black !important;
    font-size: 18px !important;
    font-family: Inter, sans-serif !important;
    font-weight: 500 !important;
    word-wrap: break-word !important;
}

/* Notifications header - Estilos base para welcome */
.notifications-header-welcome {
    margin-left: 0px !important;
    grid-column-start: 2 !important;
    text-align: center !important;
    width: 100% !important;
}

.notifications-header-welcome .notifications-container {
    display: block !important;
}

.notifications-header-welcome .notifications-container .notifications-icon-container {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    background-color: white !important;
    height: 40px !important;
    width: 40px !important;
    border-radius: 50% !important;
    position: relative !important;
    overflow: hidden !important;
}

.notifications-header-welcome .notifications-icon {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 20.28px !important;
    height: 20.28px !important;
    object-fit: contain !important;
    max-width: 100% !important;
    max-height: 100% !important;
}


.page-title-wrapper .page-title{
    display: none;
}

.custom-header-datetime {
    color: #fff;
    padding-top: 0px;
}

.andromeda-header-links {
    display: flex;
    gap: 20px;
    padding-top: 20px;
    color: #fff !important;
}

/* Fix para Safari: usar márgenes como fallback cuando gap no funciona */
.andromeda-header-links > * {
    margin-right: 20px;
}

.andromeda-header-links > *:last-child {
    margin-right: 0;
}

.andromeda-header-links-hostess{
    display: flex;
    gap: 20px;
    padding-top: 110px;
    color: #fff !important;
}

/* Fix para Safari: usar márgenes como fallback cuando gap no funciona */
.andromeda-header-links-hostess > * {
    margin-right: 20px;
}

.andromeda-header-links-hostess > *:last-child {
    margin-right: 0;
}

.custom-header-links {
    display: flex;
    gap: 20px;
    padding-top: 20px;
    list-style: none;
    margin: 0;
    padding: 0;
    justify-content: flex-start;
}

/* Fix para Safari: usar márgenes como fallback cuando gap no funciona */
.custom-header-links > li {
    margin-right: 20px;
}

.custom-header-links > li:last-child {
    margin-right: 0;
}

.custom-header-links .nav.item a {
    color: #fff;
    text-decoration: none;
    font-weight: normal;
    transition: color 0.3s ease, transform 0.3s ease;
    font-family: "Inter", sans-serif;
}

.custom-header-links .nav.item a:hover {
    color: #fff;
    transform: translateY(-2px);
    font-family: "Inter", sans-serif;
}

.custom-header-links .nav.item.current {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    color: #000;
    background: #fff;
    border-radius: 24px;
    padding: 5px 15px 5px 15px;
    bottom: 5px;
    margin-top: -5px;
}

.custom-header-links .nav.item a:focus,
.custom-header-links .nav.item a:hover {
    outline: none;
    text-decoration: underline;
    font-family: "Inter", sans-serif;
}

.custom-header-links li {
    position: relative;
}

/* Puente invisible: extiende el hit-area del li.has-children 8px hacia abajo
   usando position:absolute para NO cambiar height del li ni mover el submenu */
.panel-menu-container .custom-header-links > li.has-children::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    right: 0;
    height: 8px;
}
/* Estilos para el submenu - DESHABILITADO - Se usan los estilos de panel-menu-container en header-1.phtml
.custom-header-links .submenu {
    display: none !important;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #fff;
    list-style: none;
    padding: 10px 0;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    z-index: 1000;
    width: max-content;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.custom-header-links li:hover > .submenu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

ul.custom-header-links li:hover > ul.submenu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.custom-header-links .submenu li {
    padding: 5px 15px;
}

.custom-header-links .submenu li a {
    color: #000 !important;
    text-decoration: none;
    transition: color 0.3s ease;
}

.custom-header-links .submenu li a:hover {
    text-decoration: underline;
}
*/

.header-logo {
    max-height: 50px;
    width: auto;
}

.custom-block-logo{
    width: 95px;
    padding-right: 15px;
}

.custom-header-buttons {
    display:-webkit-inline-box;
    gap: 5px;
    padding-top: 20px;
    list-style: none;
    margin: 0;
    justify-content: flex-start;
    padding-top: 140px;

}

.link-assing-table a {
    color: #fff !important;
    text-decoration: none;
    font-weight: normal;
    font-family: "Inter", sans-serif;
    font-size: 13px;
    border-radius: 15px;
    border: solid;
    padding: 5px 15px 5px 15px;
    transition: none !important;
    transform: none !important;
}
.andromeda-header-name{
    margin-bottom: 0px;
    color: #fff;
    font-size: 40px;
}

.andromeda-header-name .product-status{
    margin-bottom: 0px;
    color: #54F389;
    font-size: 16px;
}

.andromeda-header-name .product-city
{
    margin-bottom: 0px;
    color: #8C8C8C;
    font-size: 16px;
}

.andromeda-header-name .details-inline {
    display: flex;
    align-items: center;
    gap: 10px;
}

/*.details-inline-empty {
    padding-top: 80px;
}*/
/* Media Queries */

/* Dispositivos móviles pequeños (<= 576px) */
@media (max-width: 576px) {

    .header-style-1-welcome .header-bottom-welcome {
        margin-right: 10px !important;
        margin-left: 10px !important;
        border-radius: 12px !important;
    }

    .header-bottom-content-welcome {
        height: 270px !important;
        padding-top: 10px !important;
        padding-left: 20px !important;
    }

    .andromeda-header-links{
        display: flex;
        gap: 20px;
        padding-top: 0px;
        color: #fff !important;
    }
    /* Fix para Safari: usar márgenes como fallback cuando gap no funciona */
    .andromeda-header-links > * {
        margin-right: 20px;
    }
    .andromeda-header-links > *:last-child {
        margin-right: 0;
    }
    .andromeda-header-links-hostess{
        display: flex;
        gap: 20px;
        padding-top: 0px;
        color: #fff !important;
    }
    /* Fix para Safari: usar márgenes como fallback cuando gap no funciona */
    .andromeda-header-links-hostess > * {
        margin-right: 20px;
    }
    .andromeda-header-links-hostess > *:last-child {
        margin-right: 0;
    }
    .logo-andromeda {
        max-width: 100px;
    }

    .header-bottom-content {
        height: 310px !important;
        padding-top: 40px;
        padding-left: 20px;
        width: 100%;
    }

    .header-style-1 .header-bottom .logo-container .logo-wrapper .logo-andromeda {
        position: absolute;
        top: -65px;
        width: 45% !important;
        left: 60px;
        top: -10px;
    }

    .custom-header-links {
        display: block;
        gap: 10px !important;
        padding-top: 20px;
        list-style: none;
        margin: 0;
        padding: 0;
        justify-content: center;
    }

    .custom-header-buttons  {
        display: -webkit-inline-box;
        gap: 10px !important;
        padding-top: 20px;
        list-style: none;
        margin: 0;
        padding: 0;
        justify-content: center;
    }

    .logo-andromeda {
        max-width: 85px;
    }

    .header-style-1 .cart-search .notifications-header {
        margin-right: 90px !important;
        padding-top: 7px;
    }

    .custom-header-links .nav.item.current {
        font-family: 'Inter', sans-serif;
        font-weight: 700;
        color: #000;
        background: #fff;
        border-radius: 24px;
        padding: 5px 15px 5px 15px;
        bottom: 5px;
        margin-top: -5px;
    }

    .custom-block-logo{
        width: 95px;
        padding-right: 15px;
    }
    .link-assing-table{
        padding-top: 200px;
    }
    .andromeda-header-hostess-buttons {
        width: max-content;
        padding-top: 6px;
    }
    .custom-header-datetime {
        color: #fff;
        padding-top: 40px;
    }
    .andromeda-header-name{
        margin-bottom: 0px;
        color: #fff;
        font-size: 20px;
    }
}

/* Tablets (>= 577px y <= 991px) */
@media (min-width: 577px) and (max-width: 605px) {
    .header-style-1 .header-bottom {
        margin-right: 20px !important;
        margin-left: 20px !important;
        border-radius: 16px !important;
    }

    .header-bottom-content {
        height: 365px !important;
        padding-top: 60px;
        padding-left: 30px;
    }

    .custom-header-links {
        display: block;
        gap: 45px;
        padding-top: 20px;
        list-style: none;
        margin: 0px;
        padding: 0;
        justify-content: flex-start;
    }

    .header-style-1 .header-bottom .logo-container .logo-wrapper {
        position: absolute;
        top: 30px;
        width: 75%;
        text-align: center;
    }

    .header-style-1 .cart-search .notifications-header {
        margin-right: 135px !important;
        padding-top: 75px;
    }

    .andromeda-header-links {
        display: flex;
        gap: 20px;
        padding-top: 25px;
        color: #fff !important;
    }
    /* Fix para Safari: usar márgenes como fallback cuando gap no funciona */
    .andromeda-header-links > * {
        margin-right: 20px;
    }
    .andromeda-header-links > *:last-child {
        margin-right: 0;
    }
    .andromeda-header-links-hostess {
        display: flex;
        gap: 20px;
        padding-top: 25px;
        color: #fff !important;
    }
    /* Fix para Safari: usar márgenes como fallback cuando gap no funciona */
    .andromeda-header-links-hostess > * {
        margin-right: 20px;
    }
    .andromeda-header-links-hostess > *:last-child {
        margin-right: 0;
    }

    .header-style-1 .header-bottom .logo-container .logo-wrapper .logo-andromeda {
        position: absolute;
        top: 65px !important;
        width: 40% !important;
        left: 250px;
        top: -10px;
    }

    .custom-block-logo{
        width: 90px;
        padding-right: 15px;
    }
    .link-assing-table{
        padding-top: 90px;
    }
    .andromeda-header-name{
        margin-bottom: 0px;
        color: #fff;
        font-size: 25px;
    }
}


/* Tablets (>= 577px y <= 991px) */
@media (min-width: 605px) and (max-width: 675px) {
    .header-style-1 .header-bottom {
        margin-right: 20px !important;
        margin-left: 20px !important;
        border-radius: 16px !important;
    }

    .header-bottom-content {
        height: 360px !important;
        padding-top: 60px;
        padding-left: 30px;
    }

    .custom-header-links {
        display: block;
        gap: 45px;
        padding-top: 20px;
        list-style: none;
        margin: 0px;
        padding: 0;
        justify-content: flex-start;
    }

    .dashboard-custom-blocks {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        margin: 20px 0;
        width: 100% !important;
    }

    .header-style-1 .header-bottom .logo-container .logo-wrapper {
        position: absolute;
        top: 30px;
        width: 75%;
        text-align: center;
    }

    .header-style-1 .cart-search .notifications-header {
        margin-right: 165px !important;
        padding-top: 75px;
    }

    .andromeda-header-links {
        display: flex;
        gap: 20px;
        padding-top: 25px;
        color: #fff !important;
    }
    /* Fix para Safari: usar márgenes como fallback cuando gap no funciona */
    .andromeda-header-links > * {
        margin-right: 20px;
    }
    .andromeda-header-links > *:last-child {
        margin-right: 0;
    }

    .andromeda-header-links-hostess {
        display: flex;
        gap: 20px;
        padding-top: 25px;
        color: #fff !important;
    }
    /* Fix para Safari: usar márgenes como fallback cuando gap no funciona */
    .andromeda-header-links-hostess > * {
        margin-right: 20px;
    }
    .andromeda-header-links-hostess > *:last-child {
        margin-right: 0;
    }

    .header-style-1 .header-bottom .logo-container .logo-wrapper .logo-andromeda {
        position: absolute;
        top: 65px !important;
        width: 45% !important;
        left: 260px;
        top: -10px;
    }

    .custom-block-logo{
        width: 90px;
        padding-right: 15px;
    }

    .custom-header-buttons {
        display: -webkit-inline-box;
        gap: 5px;
        padding-top: 20px;
        list-style: none;
        margin: 0;
        justify-content: flex-start;
        padding-top: 225px;
    }

    .andromeda-header-name{
        margin-bottom: 0px;
        color: #fff;
        font-size: 27px;
    }
}

/* Tablets (>= 577px y <= 991px) */
@media (min-width: 676px) and (max-width: 768px) {
    .header-style-1 .header-bottom {
        margin-right: 20px !important;
        margin-left: 20px !important;
        border-radius: 16px !important;
    }

    .header-bottom-content {
        height: 355px !important;
        padding-top: 60px;
        padding-left: 30px;
    }

    .custom-header-links {
        display: block;
        gap: 45px;
        padding-top: 20px;
        list-style: none;
        margin: 0px;
        padding: 0;
        justify-content: flex-start;
    }
    .customer-account-index .container {
        width: 100% !important
    }

    .dashboard-custom-blocks {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        margin: 20px 0;
        width: 100% !important;
    }

    .header-style-1 .header-bottom .logo-container .logo-wrapper {
        position: absolute;
        top: 30px;
        width: 75%;
        text-align: center;
    }

    .header-style-1 .cart-search .notifications-header {
        margin-right: 165px !important;
        padding-top: 80px;
    }

    .andromeda-header-links {
        display: flex;
        gap: 20px;
        padding-top: 25px;
        color: #fff !important;
    }
    /* Fix para Safari: usar márgenes como fallback cuando gap no funciona */
    .andromeda-header-links > * {
        margin-right: 20px;
    }
    .andromeda-header-links > *:last-child {
        margin-right: 0;
    }
    .andromeda-header-links-hostess {
        display: flex;
        gap: 20px;
        padding-top: 25px;
        color: #fff !important;
    }
    /* Fix para Safari: usar márgenes como fallback cuando gap no funciona */
    .andromeda-header-links-hostess > * {
        margin-right: 20px;
    }
    .andromeda-header-links-hostess > *:last-child {
        margin-right: 0;
    }

    .header-style-1 .header-bottom .logo-container .logo-wrapper .logo-andromeda {
        position: absolute;
        top: 65px !important;
        width: 45% !important;
        left: 315px;
    }

    .custom-block-logo{
        width: 90px;
        padding-right: 15px;
    }

    .andromeda-header-hostess-buttons{
        padding: 67px 5px;
    }

    .andromeda-header-name{
        margin-bottom: 0px;
        color: #fff;
        font-size: 35px;
    }
}

@media (min-width: 768px) and (max-width: 992px) {
    .header-style-1 .header-bottom {
        margin-right: 20px;
        margin-left: 20px;
        border-radius: 16px !important;
    }

    /* Panel header: no aplicar height fija ni padding-left de la vista general */
    .panel-header .header-bottom {
        margin-right: 0 !important;
        margin-left: 0 !important;
        border-radius: 0 0 40px 40px !important;
    }

    .header-bottom-content {
        height: 375px !important;
        padding-top: 30px;
        padding-left: 35px;
    }

    .panel-header .header-bottom .header-bottom-content {
        height: auto !important;
        padding: 16px 20px 24px !important;
    }

    .custom-header-links {
        display: block;
        gap: 45px;
        padding-top: 20px;
        list-style: none;
        margin: 0px;
        padding: 0;
        justify-content: flex-start;
    }

    .dashboard-custom-blocks {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        margin: 20px 0;
        width: 100% !important;
    }

    .header-style-1 .header-bottom .logo-container .logo-wrapper {
        position: absolute;
        top: 30px;
        width: 75%;
        text-align: center;
    }

    .header-style-1 .cart-search .notifications-header {
        margin-right: 0px !important;
        padding-top: 65px;
    }

    .andromeda-header-links {
        display: flex;
        gap: 20px;
        padding-top: 25px;
        color: #fff !important;
    }
    /* Fix para Safari: usar márgenes como fallback cuando gap no funciona */
    .andromeda-header-links > * {
        margin-right: 20px;
    }
    .andromeda-header-links > *:last-child {
        margin-right: 0;
    }

    .andromeda-header-links-hostess {
        display: flex;
        gap: 20px;
        padding-top: 25px;
        color: #fff !important;
    }
    /* Fix para Safari: usar márgenes como fallback cuando gap no funciona */
    .andromeda-header-links-hostess > * {
        margin-right: 20px;
    }
    .andromeda-header-links-hostess > *:last-child {
        margin-right: 0;
    }

    .header-style-1 .header-bottom .logo-container .logo-wrapper .logo-andromeda {
        position: absolute;
        top: 95px !important;
        width: 40% !important;
        left: 300px;
    }

    .link-assing-table {
        padding-top: 0px;
    }

    .custom-header-buttons {
        display: -webkit-inline-box;
        gap: 5px;
        padding-top: 20px;
        list-style: none;
        margin: 0;
        justify-content: flex-start;
        padding-top: 140px;
    }
    .custom-header-datetime {
        color: #fff;
        padding-top: 0px;
    }

    .andromeda-header-name{
        margin-bottom: 0px;
        color: #fff;
        font-size: 20px !important
    }

    .andromeda-header-name .product-city {
        margin-bottom: 0px;
        color: #8C8C8C;
        font-size: 14px;
    }
    .andromeda-header-name .product-status {
        margin-bottom: 0px;
        color: #54F389;
        font-size: 14px;
    }
}

/* Escritorios pequeños (>= 992px y <= 1199px) */
@media (min-width: 992px) and (max-width: 1199px) {
    .header-style-1 .header-bottom {
        margin-right: 50px;
        margin-left: 50px;
        border-radius: 20px !important;
    }

    .header-bottom-content {
        height: 347px !important;
        padding-top: 70px;
        padding-left: 0px;
    }

    .dashboard-custom-blocks .custom-block {
        flex: 1 1 calc(33.33% - 20px);
    }

    .dashboard-custom-blocks {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        margin: 20px 0;
        width: 100%;
    }

    .andromeda-header-links {
        display: flex;
        gap: 20px;
        color: #fff !important;
    }
    /* Fix para Safari: usar márgenes como fallback cuando gap no funciona */
    .andromeda-header-links > * {
        margin-right: 20px;
    }
    .andromeda-header-links > *:last-child {
        margin-right: 0;
    }

    .andromeda-header-links-hostess {
        display: flex;
        gap: 20px;
        padding-top: 65px !important;
        color: #fff !important;
    }
    /* Fix para Safari: usar márgenes como fallback cuando gap no funciona */
    .andromeda-header-links-hostess > * {
        margin-right: 20px;
    }
    .andromeda-header-links-hostess > *:last-child {
        margin-right: 0;
    }

    .custom-header-links {
        display: -webkit-inline-box;
        gap: 20px;
        padding-top: 20px;
        list-style: none;
        margin: 0;
        padding: 0;
        justify-content: flex-start;
    }

    .header-style-1 .cart-search .notifications-header {
        margin-right: 5px !important;
        padding-top: 7px;
    }

    .header-style-1 .header-bottom .logo-container .logo-wrapper {
        position: absolute;
        top: -5px;
        width: 100%;
        width: 100%;
        text-align: center;
    }

    .header-style-1 .header-bottom .logo-container .logo-wrapper .logo-andromeda {
        position: absolute;
        width: 65% !important;
        left: 360px;
        top: 10px;
    }

    .custom-header-links .nav.item a {
        color: #fff;
        text-decoration: none;
        font-weight: normal;
        transition: color 0.3s ease, transform 0.3s ease;
        font-family: "Inter", sans-serif;
        font-size: 13px;
    }

    .custom-header-buttons {
        display: -webkit-inline-box;
        gap: 5px;
        list-style: none;
        margin: 0;
        justify-content: flex-start;
        padding-top: 165px;
    }

    .andromeda-header-name{
        margin-bottom: 0px;
        color: #fff;
        font-size: 30px !important
    }
    .customer-account-index .container {
        width: 905px !important
    }
}

/* Tablets grandes (>= 1200px) */
@media (min-width: 1199px) and (max-width: 1398px) {

    .header-style-1 .header-bottom .logo-container .logo-wrapper .logo-andromeda {
        position: absolute;
        top: -65px;
        width: 70% !important;
        left: 380px;
        top: 5px;

    }

    .custom-header-links {
        display: -webkit-inline-box;
        gap: 20px;
        padding-top: 20px;
        list-style: none;
        margin: 0;
        padding: 0;
        justify-content: flex-start;
    }

    .header-style-1 .cart-search .notifications-header {
        margin-right: 60px !important;
        padding-top: 13px;
    }

    .custom-header-buttons {
        display: -webkit-inline-box;
        gap: 5px;
        padding-top: 20px;
        list-style: none;
        margin: 0;
        justify-content: flex-start;
        padding-top: 123px;
    }

    .andromeda-header-hostess-buttons {
        padding: 15px;
    }

}

@media (min-width: 1399px) and (max-width: 1549px) {

    .custom-header-links {
        display: -webkit-inline-box;
        gap: 20px;
        padding-top: 20px;
        list-style: none;
        margin: 0;
        padding: 0;
        justify-content: flex-start;
    }

    .custom-header-buttons {
        display: -webkit-inline-box;
        gap: 5px;
        padding-top: 20px;
        list-style: none;
        margin: 0;
        justify-content: flex-start;
        padding-top: 135px;
    }
}


@media (min-width: 1550px) {
    .header-style-1 .header-bottom {
        border-radius: 24px !important;
    }

    .header-bottom-content {
        height: 265px !important;
        padding-top: 34px;
        padding-left: 0px;
    }
    .custom-header-links {
        display: -webkit-inline-box;
        gap: 20px;
        padding-top: 20px;
        list-style: none;
        margin: 0;
        padding: 0;
        justify-content: flex-start;
    }

}


@media (min-width: 1615px) and (max-width: 2400px) {
    .customer-account-index .header-style-1 .header-bottom .logo-container .logo-wrapper .logo-andromeda {
        position: absolute;
        width: 55% !important;
        left: 550px;
        top: -5px;
    }
    .custom-header-links {
        display: -webkit-inline-box;
        gap: 20px;
        padding-top: 20px;
        list-style: none;
        margin: 0;
        padding: 0;
        justify-content: flex-start;
    }
}

@media (min-width: 2401px) {
    .custom-header-links{
        display: -webkit-inline-box;
        gap: 20px;
        padding-top: 20px;
        list-style: none;
        margin: 0;
        padding: 0;
        justify-content: flex-start;
    }
    .custom-header-links {
        display: -webkit-inline-box;
        gap: 20px;
        padding-top: 20px;
        list-style: none;
        margin: 0;
        padding: 0;
        justify-content: flex-start;
    }
}
/* ================================================================
   BREAKPOINT 774px — Dashboard / Tablet / Vertical (Figma)
   - No rompe 1299px ni desktop
   - Panel-menu-row oculto → va en el drawer hamburguesa
   - Cards 2x2 con columnas de ~357px
   - Header: logo + bienvenida + Tu panel + campana en una fila
   ================================================================ */
@media (max-width: 860px) {

    /* --- HEADER: ocultar el panel-menu-row (va en drawer) --- */
    .panel-header.header-style-1 .panel-menu-row {
        display: none !important;
    }

    /* Ocultar Tu panel + campana en tablet: van al drawer */
    .panel-header.header-style-1 .panel-header-bottom-row {
        display: none !important;
    }

    /* SOLO muestra la fecha dentro de cart-search */
    .panel-header.header-style-1 .panel-header-top-row {
        display: flex !important;
    }

    /* Bienvenido(a) + ID en fila: nombre izquierda, ID derecha */
    .panel-header.header-style-1 .panel-welcome-under-logo {
        width: 100% !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        flex-wrap: nowrap !important;
        margin-top: 8px !important;
    }

    .panel-header.header-style-1 .panel-welcome-under-logo .welcome-text {
        font-size: 22px !important;
        font-weight: 400 !important;
        line-height: 1.2 !important;
        margin: 0 !important;
        color: #fff !important;
        white-space: nowrap !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    .panel-header.header-style-1 .panel-welcome-under-logo .customer-name-inline {
        font-size: 22px !important;
        font-weight: 700 !important;
        white-space: nowrap !important;
    }

    /* --- CARDS: 337×228px en grid 2×2 (columnas flexibles para evitar overflow) --- */
    .customer-account-index .dashboard-custom-blocks {
        display: grid !important;
        grid-template-columns: repeat(2, 337px) !important;
        grid-template-rows: 228px 228px !important;
        gap: 16px !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        width: 690px !important;
        max-width: 690px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        justify-content: center !important;
        overflow: visible !important;
    }

    .customer-account-index .dashboard-custom-blocks > .custom-block {
        width: 337px !important;
        min-width: 337px !important;
        max-width: 337px !important;
        height: 228px !important;
        min-height: 228px !important;
        max-height: 228px !important;
        box-sizing: border-box !important;
        padding: 16px !important;
        overflow: hidden !important;
    }

    /* Posición nth-child en 2x2 */
    .customer-account-index .dashboard-custom-blocks > .custom-block:nth-child(1) {
        grid-column: 1 / 2 !important;
        grid-row: 1 / 2 !important;
    }
    .customer-account-index .dashboard-custom-blocks > .custom-block:nth-child(2) {
        grid-column: 2 / 3 !important;
        grid-row: 1 / 2 !important;
    }
    .customer-account-index .dashboard-custom-blocks > .custom-block:nth-child(3) {
        grid-column: 1 / 2 !important;
        grid-row: 2 / 3 !important;
    }
    .customer-account-index .dashboard-custom-blocks > .custom-block:nth-child(4) {
        grid-column: 2 / 3 !important;
        grid-row: 2 / 3 !important;
    }

    /* Número de stat para cards de 228px */
    .customer-account-index .dashboard-custom-blocks .custom-block .stat-number {
        font-size: 52px !important;
        margin: 0 12px 0 12px !important;
    }

    /* stat-info proporcional a 228px de alto */
    .customer-account-index .dashboard-custom-blocks .custom-block .stat-info {
        width: 155px !important;
        height: 135px !important;
        min-width: 155px !important;
        min-height: 135px !important;
        padding: 10px !important;
    }

    /* card-general altura 228px */
    .dashboard-custom-blocks .custom-block.card-general {
        height: 228px !important;
        min-height: 228px !important;
        max-height: 228px !important;
    }

    .dashboard-custom-blocks .custom-block.card-general .custom-block-header h2 {
        font-size: 20px !important;
    }

    .customer-account-index .dashboard-custom-blocks .custom-block.card-general .btn.btn-primary,
    .customer-account-index .dashboard-custom-blocks .custom-block.card-general a.btn {
        height: 46px !important;
        font-size: 15px !important;
        padding: 0 24px !important;
    }
}

/* ================================================================
   DESKTOP ≥1300px — 4 columnas, proporcionales al viewport
   Referencia Figma: card-general=400px, stat-cards=438px a 1920px
   El grid usa min(100vw - 80px, 1774px) para escapar del
   contenedor padre (max-width ~1280px en Magento) y medir
   directamente del viewport → escala suave de 1920px a 1300px.
   ================================================================ */
@media (min-width: 1300px) {

    /* Grid: ancho relativo al viewport, centrado, sin depender del padre */
    html body.customer-account-index .columns .column.main .dashboard-custom-blocks,
    html body.customer-account-index .dashboard-custom-blocks {
        display: grid !important;
        grid-template-columns: 400fr 438fr 438fr 438fr !important;
        gap: 20px !important;
        width: min(calc(100vw - 80px), 1774px) !important;
        max-width: none !important;
        position: relative !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        box-sizing: border-box !important;
        align-items: stretch !important;
    }

    /* Todas las cards: aspect-ratio 438:233 — card-general se sobreescribe abajo */
    html body.customer-account-index .dashboard-custom-blocks > .custom-block {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        aspect-ratio: 438 / 233 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: clamp(8px, 0.83vw, 16px) !important;
        box-sizing: border-box !important;
        display: flex !important;
        overflow: hidden !important;
    }

    /* card-general: aspect-ratio propio 400:233 */
    html body.customer-account-index .dashboard-custom-blocks > .custom-block.card-general {
        aspect-ratio: 400 / 233 !important;
        height: auto !important;
        min-height: 0 !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: space-between !important;
        overflow: hidden !important;
        padding: clamp(10px, 0.83vw, 16px) !important;
    }

    /* stat-cards: número izquierda, info-box derecha */
    html body.customer-account-index .dashboard-custom-blocks > .custom-block:not(.card-general) {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    /* stat-row: anula gap fijo de _module.css (24px base) */
    html body.customer-account-index .dashboard-custom-blocks .custom-block .stat-row {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        width: 100% !important;
        gap: clamp(6px, 0.8vw, 16px) !important;
    }

    /* Número: 52px a 1920px = 2.71vw */
    html body.customer-account-index .dashboard-custom-blocks .custom-block .stat-number {
        flex: 0 0 auto !important;
        font-size: clamp(22px, 2.71vw, 52px) !important;
        line-height: 1 !important;
        margin: 0 clamp(4px, 0.4vw, 8px) !important;
    }

    /* Info-box: proportional to the card — 44% del ancho de la card, cuadrado.
       Figma: stat-info ≈ 192px en card de 438px = 43.8% → usamos 44%.
       aspect-ratio 1/1 garante que el alto = ancho a cualquier escala.
       CRÍTICO: min-width/min-height de _module.css (266px/146px) se anulan. */
    html body.customer-account-index .dashboard-custom-blocks .custom-block .stat-info {
        width: 44% !important;
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        max-width: 48% !important;
        padding: clamp(4px, 0.6vw, 10px) !important;
        box-sizing: border-box !important;
        flex-shrink: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        margin-left: auto !important;
    }

    /* Título h2 card-general: escala con vw para caber en 1 línea dentro del card */
    html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general .custom-block-header h2 {
        font-size: clamp(13px, 1.25vw, 24px) !important;
        line-height: 1.2 !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }

    /* Botones card-general: escalan con la card — alto y ancho proporcionales */
    html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general a.btn.btn-tutoriales,
    html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general a.btn.btn-primary {
        height: clamp(30px, 3.07vw, 59px) !important;
        width: 100% !important;
        max-width: 360px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        font-size: clamp(11px, 0.83vw, 16px) !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
    }
}

/* ================================================================
   TABLET HORIZONTAL 861px–1299px — Layout Figma (imagen 2)
   Fila 1: "Acciones Rápidas" (card-general) ancho completo
   Fila 2: 3 stat-cards en columnas iguales, aspecto 379×182
   ================================================================ */
@media (min-width: 861px) and (max-width: 1299px) {

    /* Contenedor: 3 columnas fluidas, máx 1177px (3×379 + 2×20) */
    html body.customer-account-index .columns .column.main .dashboard-custom-blocks,
    html body.customer-account-index .dashboard-custom-blocks {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        grid-template-rows: auto auto !important;
        gap: 20px !important;
        width: 100% !important;
        max-width: 1177px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
        align-items: stretch !important;
    }

    /* card-general (Acciones Rápidas): ocupa las 3 columnas en fila 1 */
    html body.customer-account-index .dashboard-custom-blocks > .custom-block:nth-child(1) {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: clamp(96px, 10.7vw, 139px) !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        box-sizing: border-box !important;
        padding: clamp(10px, 1.2vw, 18px) clamp(16px, 2vw, 28px) !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: clamp(10px, 1.4vw, 20px) !important;
        overflow: hidden !important;
    }

    html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general .custom-block-header {
        display: flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general .custom-block-content {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: clamp(10px, 1.2vw, 16px) !important;
        width: auto !important;
        max-width: none !important;
        padding: 0 !important;
        flex: 0 0 auto !important;
    }

    html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general .custom-block-content p {
        display: none !important;
    }

    /* 3 stat-cards en fila 2, aspecto Figma 379×182 */
    html body.customer-account-index .dashboard-custom-blocks > .custom-block:nth-child(2),
    html body.customer-account-index .dashboard-custom-blocks > .custom-block:nth-child(3),
    html body.customer-account-index .dashboard-custom-blocks > .custom-block:nth-child(4) {
        grid-row: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        aspect-ratio: 379 / 182 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        box-sizing: border-box !important;
        padding: clamp(8px, 1.2vw, 16px) !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        overflow: hidden !important;
    }

    /* Número estadístico */
    html body.customer-account-index .dashboard-custom-blocks .custom-block .stat-number {
        flex: 0 0 auto !important;
        font-size: clamp(20px, 3vw, 44px) !important;
        line-height: 1 !important;
        margin: 0 clamp(4px, 0.5vw, 10px) !important;
    }

    /* Info-box: 44% del ancho de la stat-card, cuadrado (mismo criterio que desktop) */
    html body.customer-account-index .dashboard-custom-blocks .custom-block .stat-info {
        width: 44% !important;
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        max-width: 48% !important;
        padding: clamp(4px, 0.5vw, 8px) !important;
        box-sizing: border-box !important;
        flex-shrink: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        margin-left: auto !important;
    }

    /* Título h2 en card-general */
    html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general .custom-block-header h2 {
        font-size: clamp(16px, 1.8vw, 28px) !important;
        line-height: 1.2 !important;
    }

    /* Botón en card-general */
    html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general a.btn.btn-tutoriales,
    html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general a.btn.btn-primary,
    html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general .btn.btn-primary,
    html body.customer-account-index .dashboard-custom-blocks .custom-block.card-general a.btn {
        height: clamp(36px, 3.2vw, 50px) !important;
        min-height: 44px !important;
        font-size: clamp(13px, 1.4vw, 20px) !important;
        padding-left: clamp(12px, 2vw, 40px) !important;
        padding-right: clamp(12px, 2vw, 40px) !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        width: clamp(150px, 14.5vw, 210px) !important;
        min-width: clamp(150px, 14.5vw, 210px) !important;
        max-width: clamp(150px, 14.5vw, 210px) !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
        flex: 0 0 auto !important;
    }
}

/* ================================================================
   MENÚ PANEL — 1300px–1919px
   El menú base tiene font-size:16px y padding:10px 15px fijos.
   Solo escala a 11px/6px-8px en ≤1299px.
   Este bloque cubre el hueco intermedio con clamp() fluido:
     1300px → ~11px / 6px 8px (transición suave desde 1299px)
     1920px → 16px / 10px 15px (tamaño Figma completo)
   ================================================================ */
@media (min-width: 1300px) and (max-width: 1919px) {

    .panel-header .panel-menu-container .custom-header-links > li > a,
    html body .panel-header .panel-menu-container .custom-header-links > li > a {
        font-size: clamp(11px, 0.83vw, 16px) !important;
        padding-top: clamp(6px, 0.52vw, 10px) !important;
        padding-bottom: clamp(6px, 0.52vw, 10px) !important;
        padding-left: clamp(8px, 0.78vw, 15px) !important;
        padding-right: clamp(8px, 0.78vw, 15px) !important;
        white-space: nowrap !important;
    }

    /* Item activo (Panel de control) — misma escala */
    .panel-header .panel-menu-container .custom-header-links > li.active > a,
    html body .panel-header .panel-menu-container .custom-header-links > li.active > a {
        font-size: clamp(11px, 0.83vw, 16px) !important;
        padding-top: clamp(6px, 0.52vw, 10px) !important;
        padding-bottom: clamp(6px, 0.52vw, 10px) !important;
        padding-left: clamp(10px, 0.9vw, 18px) !important;
        padding-right: clamp(10px, 0.9vw, 18px) !important;
    }

    /* Contenedor menú: no genera scroll horizontal */
    .panel-header .panel-menu-row {
        width: 100% !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    .panel-header .panel-menu-container {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .panel-header .panel-menu-container .custom-header-links {
        width: 100% !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        overflow: visible !important;
    }
}

/* Modal de tutoriales — Fase 1 */
.dashboard-tutorial-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.65);
    padding: 20px;
}

.dashboard-tutorial-modal.is-open {
    display: flex !important;
}

.dashboard-tutorial-modal__backdrop {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.65);
}

.dashboard-tutorial-modal__content {
    position: relative;
    z-index: 1000;
    width: min(980px, 100%);
    max-height: min(90vh, 760px);
    background: transparent;
    border-radius: 28px;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
    overflow: visible;
}

.dashboard-tutorial-modal__window {
    position: relative;
    width: 100%;
    max-height: min(90vh, 760px);
    background: #111111;
    border-radius: 24px;
    overflow: hidden;
}

.dashboard-tutorial-modal__close {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 12px;
    right: 12px;
    width: 52px;
    height: 52px;
    min-width: 52px;
    min-height: 52px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.65);
    color: #ffffff;
    font-size: 24px;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    z-index: 1002;
    transition: background 0.2s ease, transform 0.2s ease;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
    pointer-events: auto;
}

.dashboard-tutorial-modal__close:hover,
.dashboard-tutorial-modal__close:focus {
    background: rgba(255, 255, 255, 0.24);
    transform: scale(1.06);
}

.dashboard-tutorial-modal__iframe-wrap {
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    position: relative;
    z-index: 1;
}

.dashboard-tutorial-modal__iframe-wrap iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 24px;
    background: #000;
    z-index: 1;
}

.dashboard-tutorial-modal__window::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.08);
    pointer-events: none;
    z-index: 0;
}

.dashboard-tutorial-modal__content {
    min-width: 300px;
}

/* ============================================================
   FASE 2: TARJETAS DE RESERVACIONES COMPACTAS Y RESPONSIVAS
   ============================================================ */

/* Grid responsivo para reservaciones */
.reservations-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 24px;
    width: 100%;
}

/* Desktop medio: 2 columnas */
@media (max-width: 1199px) {
    .reservations-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Tablet: 2 columnas */
@media (max-width: 861px) {
    .reservations-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
}

/* Móvil: 1 columna */
@media (max-width: 480px) {
    .reservations-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

/* Tarjeta base: compacta y limpia */
.reservation-card {
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    padding: 16px;
    box-sizing: border-box;
    min-height: 280px;
    border: 1px solid #E0E0E0;
    transition: all 0.3s ease;
    background: #FFFFFF;
}

.reservation-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

/* Estados de tarjeta */
.reservation-card.status-confirmed {
    border-left: 4px solid #1C1C1C;
    background: #FFFFFF;
}

.reservation-card.status-pending {
    border-left: 4px solid #10099A;
    background: #FFFFFF;
}

.reservation-card.status-cancelled {
    border-left: 4px solid var(--card-red);
    background: #FFFFFF;
    opacity: 0.95;
}

/* Encabezado: método + estado */
.reservation-card .card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

/* Icono del método */
.reservation-card .method-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #1C1C1C;
    border-radius: 8px;
    flex-shrink: 0;
}

.reservation-card .method-icon img {
    width: 18px;
    height: 18px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

/* Badge de estado */
.reservation-card .status-badge {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 20px;
    white-space: nowrap;
}

.reservation-card.status-confirmed .status-badge {
    background: #1C1C1C;
    color: #FFFFFF;
}

.reservation-card.status-pending .status-badge {
    background: #10099A;
    color: #FFFFFF;
}

.reservation-card.status-cancelled .status-badge {
    background: rgba(171, 13, 23, 0.10);
    color: var(--card-red);
}

.reservation-card .status-icon {
    width: 14px;
    height: 14px;
    object-fit: contain;
}

/* Contenido: servicio, cliente, info */
.reservation-card .card-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 12px;
}

.reservation-card .service-name {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: #1C1C1C;
    line-height: 1.2;
}

.reservation-card .reservation-datetime {
    margin: 0;
    font-size: 12px;
    color: #10099A;
    font-weight: 600;
}

.reservation-card .customer-name {
    margin: 0;
    font-size: 12px;
    color: #666666;
    font-weight: 500;
}

.reservation-card .reservation-id {
    font-size: 11px;
    color: #8F8F8F;
    font-weight: 600;
    text-align: right;
}

/* Chips: personas, adultos, menores */
.chip-row {
    display: flex;
    gap: 10px;
    margin: 8px 0 6px 0;
    flex-wrap: wrap;
    align-items: center;
}

.chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 10px;
    height: 28px;
    min-height: 28px;
    background: #F5F5F5;
    border-radius: 8px;
    box-shadow: none;
    border: 0.5px solid rgba(0,0,0,0.06);
    box-sizing: border-box;
}

.chip img {
    width: 16px;
    height: 16px;
    object-fit: contain;
    display: block;
}

.chip .chip-value {
    font-size: 13px;
    font-weight: 700;
    color: #1C1C1C;
}

/* Espacio para móviles: chips ligeramente más pequeños */
@media (max-width: 480px) {
    .chip-row { gap: 8px; }
    .chip { height: 28px; padding: 4px 8px; }
    .chip img { width: 14px; height: 14px; }
    .chip .chip-value { font-size: 12px; }
}

/* Filas de información compactas */
.reservation-card .info-row {
    display: none;
    justify-content: space-between;
    font-size: 11px;
    gap: 8px;
}

.reservation-card .info-row .label {
    color: #999999;
    font-weight: 500;
    flex-shrink: 0;
}

.reservation-card .info-row .value {
    color: #1C1C1C;
    font-weight: 600;
    text-align: right;
}

/* Pie de tarjeta: botón */
.reservation-card .card-footer {
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.reservation-card .btn-view-details {
    display: block;
    width: 100%;
    padding: 10px 12px;
    text-align: center;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 8px;
    border: 1px solid #1C1C1C;
    cursor: pointer;
    transition: all 0.2s ease;
    background: #FFFFFF;
    color: #1C1C1C;
}

.reservation-card .btn-view-details:hover {
    background: #1C1C1C;
    color: #FFFFFF;
    border-color: #1C1C1C;
}

/* Botón "Ver todas" */
.btn-view-all {
    background: #FFFFFF;
    color: #656567;
    cursor: pointer;
    font-size: 20px;
    font-family: Inter;
    font-weight: 500;
    word-wrap: break-word
}

.dashboard-reservation-blocks .col-md-4{
    text-align: right;
}

@media (max-width: 480px) {
    .btn-view-all {
        font-size: 12px;
        padding: 8px 16px;
    }
}
