/* ============================================================
   Deltamed Category Menu — dcm-style.css
   Paleta: blanco, primario #1e5da0, secundario #9fc943
   ============================================================ */

:root {
  --dcm-primary:      #1e5da0;
  --dcm-primary-dark: #174d8a;
  --dcm-primary-light:#e8f0f9;
  --dcm-accent:       #9fc943;
  --dcm-accent-dark:  #84aa2e;
  --dcm-white:        #ffffff;
  --dcm-bg:           #ffffff;
  --dcm-border:       #e4ecf5;
  --dcm-text:         #1a2a3a;
  --dcm-text-muted:   #5a7a9a;
  --dcm-panel-width:  320px;
  --dcm-radius:       10px;
  --dcm-ease:         cubic-bezier(0.4, 0, 0.2, 1);
  --dcm-dur:          0.35s;
}

/* ── Trigger (botón burger) ──────────────────────────────────── */

.dcm-trigger {
  display:         inline-flex;
  align-items:     center;
  gap:             10px;
  background:      transparent;
  border:          none;
  cursor:          pointer;
  padding:         6px 4px;
  outline:         none;
  -webkit-tap-highlight-color: transparent;
}

.dcm-trigger:focus-visible .dcm-trigger__bars {
  box-shadow: 0 0 0 3px var(--dcm-accent);
  border-radius: 4px;
}

.dcm-trigger__bars {
  display:        flex;
  flex-direction: column;
  justify-content:center;
  gap:            5px;
  width:          32px;
  padding:        3px 0;
  transition:     transform var(--dcm-dur) var(--dcm-ease);
}

.dcm-trigger__bars span {
  display:       block;
  height:        3px;
  border-radius: 2px;
  background:    var(--dcm-primary);
  transform-origin: center;
  transition:
    transform  var(--dcm-dur) var(--dcm-ease),
    opacity    var(--dcm-dur) var(--dcm-ease),
    background var(--dcm-dur) var(--dcm-ease),
    width      var(--dcm-dur) var(--dcm-ease);
}

/* Líneas: ancho escalonado para look refinado */
.dcm-trigger__bars span:nth-child(1) { width: 100%; }
.dcm-trigger__bars span:nth-child(2) { width: 75%; }
.dcm-trigger__bars span:nth-child(3) { width: 55%; }

/* Estado abierto: X verde */
.dcm-trigger.is-open .dcm-trigger__bars span {
  background: var(--dcm-accent);
  width: 100% !important;
}
.dcm-trigger.is-open .dcm-trigger__bars span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.dcm-trigger.is-open .dcm-trigger__bars span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
.dcm-trigger.is-open .dcm-trigger__bars span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.dcm-trigger__label {
  font-size:   14px;
  font-weight: 600;
  color:       var(--dcm-primary);
  letter-spacing: .3px;
  user-select: none;
}

/* ── Overlay ─────────────────────────────────────────────────── */

.dcm-overlay {
  position:   fixed;
  inset:      0;
  background: rgba(10, 25, 47, 0.55);
  z-index:    99998;
  opacity:    0;
  visibility: hidden;
  transition:
    opacity    var(--dcm-dur) var(--dcm-ease),
    visibility var(--dcm-dur) var(--dcm-ease);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.dcm-overlay.is-open {
  opacity:    1;
  visibility: visible;
}

/* ── Panel lateral ───────────────────────────────────────────── */

.dcm-panel {
  position:   fixed;
  top:        0;
  left:       0;
  width:      var(--dcm-panel-width);
  max-width:  90vw;
  height:     100%;
  background: var(--dcm-bg);
  z-index:    99999;
  display:    flex;
  flex-direction: column;
  transform:  translateX(-100%);
  transition: transform var(--dcm-dur) var(--dcm-ease);
  box-shadow: 4px 0 40px rgba(30, 93, 160, 0.15);
  will-change: transform;
}

.dcm-panel.is-open {
  transform: translateX(0);
}

/* Borde izquierdo decorativo con gradiente primario → acento */
.dcm-panel::before {
  content:  '';
  position: absolute;
  top:      0;
  left:     0;
  width:    4px;
  height:   100%;
  background: linear-gradient(
    180deg,
    var(--dcm-primary) 0%,
    var(--dcm-primary) 60%,
    var(--dcm-accent)  100%
  );
  pointer-events: none;
}

/* ── Header del panel ────────────────────────────────────────── */

.dcm-panel__header {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  padding:         20px 20px 16px 24px;
  border-bottom:   1px solid var(--dcm-border);
  flex-shrink:     0;
  background:      var(--dcm-bg);
}

.dcm-panel__title {
  font-size:      18px;
  font-weight:    700;
  color:          var(--dcm-primary);
  letter-spacing: -.3px;
  text-transform: uppercase;
  font-size:      13px;
  letter-spacing: 1.5px;
}

/* Punto decorativo antes del título */
.dcm-panel__title::before {
  content:       '';
  display:       inline-block;
  width:         8px;
  height:        8px;
  border-radius: 50%;
  background:    var(--dcm-accent);
  margin-right:  10px;
  vertical-align: middle;
  position:      relative;
  top:           -1px;
}

.dcm-panel__close {
  display:         flex;
  align-items:     center;
  justify-content: center;
  width:           36px;
  height:          36px;
  border:          none;
  border-radius:   50%;
  background:      var(--dcm-primary-light);
  color:           var(--dcm-accent);
  cursor:          pointer;
  transition:
    background var(--dcm-dur) var(--dcm-ease),
    transform  .15s var(--dcm-ease),
    color      var(--dcm-dur) var(--dcm-ease);
  flex-shrink:     0;
  outline:         none;
}

.dcm-panel__close:hover {
  background: var(--dcm-primary);
  color:      var(--dcm-accent);
  transform:  rotate(90deg) scale(1.05);
}

.dcm-panel__close:focus-visible {
  box-shadow: 0 0 0 3px var(--dcm-accent);
}

/* ── Body (scroll) ───────────────────────────────────────────── */

.dcm-panel__body {
  flex:       1;
  overflow-y: auto;
  overflow-x: hidden;
  padding:    8px 0 24px;
  overscroll-behavior: contain;
  scroll-behavior: smooth;
}

/* Scrollbar personalizado (webkit) */
.dcm-panel__body::-webkit-scrollbar {
  width: 4px;
}
.dcm-panel__body::-webkit-scrollbar-track {
  background: transparent;
}
.dcm-panel__body::-webkit-scrollbar-thumb {
  background:    var(--dcm-border);
  border-radius: 4px;
}
.dcm-panel__body::-webkit-scrollbar-thumb:hover {
  background: var(--dcm-primary);
}

/* ── Footer del panel ────────────────────────────────────────── */

.dcm-panel__footer {
  padding:     16px 20px 20px 24px;
  border-top:  1px solid var(--dcm-border);
  flex-shrink: 0;
  background:  var(--dcm-bg);
}

.dcm-panel__shop-link {
  display:         inline-flex;
  align-items:     center;
  gap:             6px;
  font-size:       13px;
  font-weight:     600;
  color:           var(--dcm-primary);
  text-decoration: none;
  letter-spacing:  .2px;
  padding:         8px 16px;
  border:          1.5px solid var(--dcm-primary);
  border-radius:   var(--dcm-radius);
  width:           100%;
  justify-content: center;
  transition:
    background var(--dcm-dur) var(--dcm-ease),
    color      var(--dcm-dur) var(--dcm-ease);
}

.dcm-panel__shop-link:hover {
  background: var(--dcm-primary);
  color:      var(--dcm-white);
}

.dcm-panel__shop-link svg {
  transition: transform .2s var(--dcm-ease);
}
.dcm-panel__shop-link:hover svg {
  transform: translateX(3px);
}

/* ── Navegación (lista) ──────────────────────────────────────── */

.dcm-nav {
  list-style: none;
  margin:     0;
  padding:    0;
}

/* ── Item ────────────────────────────────────────────────────── */

.dcm-nav__item {
  margin: 0;
  padding: 0;
}

/* Separador sutil entre items raíz */
.dcm-nav--root > .dcm-nav__item + .dcm-nav__item {
  border-top: 1px solid var(--dcm-border);
}

/* ── Fila (link + toggle) ────────────────────────────────────── */

.dcm-nav__row {
  display:  flex;
  align-items: stretch;
}

/* ── Link ────────────────────────────────────────────────────── */

.dcm-nav__link {
  display:         flex;
  align-items:     center;
  gap:             10px;
  flex:            1;
  padding:         13px 16px 13px 24px;
  text-decoration: none;
  color:           var(--dcm-text);
  font-size:       14px;
  font-weight:     500;
  transition:
    color      .18s var(--dcm-ease),
    background .18s var(--dcm-ease),
    padding    .18s var(--dcm-ease);
  line-height: 1.3;
}

.dcm-nav__link:hover {
  color:      var(--dcm-primary);
  background: var(--dcm-primary-light);
}

/* Punto de profundidad 0 */
.dcm-nav__dot {
  width:         6px;
  height:        6px;
  border-radius: 50%;
  background:    var(--dcm-primary);
  flex-shrink:   0;
  opacity:       0.5;
  transition:    opacity .18s, background .18s;
}

.dcm-nav__link:hover .dcm-nav__dot {
  opacity:    1;
  background: var(--dcm-accent);
}

/* ── Ítem con hijos activo ───────────────────────────────────── */

.dcm-nav__item--has-children.is-open > .dcm-nav__row .dcm-nav__link {
  color:      var(--dcm-primary);
  font-weight: 600;
}
.dcm-nav__item--has-children.is-open > .dcm-nav__row .dcm-nav__dot {
  opacity:    1;
  background: var(--dcm-accent);
}

/* ── Botón toggle ────────────────────────────────────────────── */

.dcm-nav__toggle {
  display:         flex;
  align-items:     center;
  justify-content: center;
  width:           44px;
  background:      transparent;
  border:          none;
  border-left:     1px solid var(--dcm-border);
  cursor:          pointer;
  color:           var(--dcm-text-muted);
  transition:
    color      .18s var(--dcm-ease),
    background .18s var(--dcm-ease);
  flex-shrink:     0;
  outline:         none;
}

.dcm-nav__toggle:hover {
  color:      var(--dcm-primary);
  background: var(--dcm-primary-light);
}

.dcm-nav__toggle:focus-visible {
  box-shadow: inset 0 0 0 2px var(--dcm-accent);
}

.dcm-nav__toggle svg {
  transition: transform var(--dcm-dur) var(--dcm-ease);
}

/* Toggle abierto: chevron apunta hacia arriba */
.dcm-nav__item--has-children.is-open > .dcm-nav__row .dcm-nav__toggle svg {
  transform: rotate(180deg);
}
.dcm-nav__item--has-children.is-open > .dcm-nav__row .dcm-nav__toggle {
  color:      var(--dcm-primary);
  background: var(--dcm-primary-light);
}

/* ── Submenú hijo ────────────────────────────────────────────── */

.dcm-nav--child {
  overflow:   hidden;
  max-height: 0;
  transition: max-height var(--dcm-dur) var(--dcm-ease);
  background: #f7fafe;
  border-top: 1px solid var(--dcm-border);
  border-bottom: 1px solid var(--dcm-border);
}

/* Cuando está abierto (JS quita hidden y setea max-height) */
.dcm-nav--child:not([hidden]) {
  /* max-height se gestiona por JS */
}

/* Profundidad 1 */
.dcm-nav__item--depth-1 .dcm-nav__link {
  padding-left: 36px;
  font-size:    13.5px;
  font-weight:  400;
  color:        var(--dcm-text-muted);
}
.dcm-nav__item--depth-1 .dcm-nav__link:hover {
  color:      var(--dcm-primary);
  background: var(--dcm-primary-light);
}

/* Profundidad 2 */
.dcm-nav__item--depth-2 .dcm-nav__link {
  padding-left: 48px;
  font-size:    13px;
  color:        var(--dcm-text-muted);
}

/* Subniveles dentro de child */
.dcm-nav--child .dcm-nav--child {
  background: #eff6ff;
}

/* ── Ítem ofertas ────────────────────────────────────────────── */

.dcm-nav__item--sale {
  border-top: 2px solid var(--dcm-accent) !important;
  margin-top: 4px;
}

.dcm-nav__link--sale {
  color:       var(--dcm-accent-dark) !important;
  font-weight: 700 !important;
  font-size:   14px;
  gap:         10px;
}

.dcm-nav__link--sale:hover {
  background: #f4fce8 !important;
  color:      var(--dcm-accent-dark) !important;
}

.dcm-nav__icon--sale {
  display:         flex;
  align-items:     center;
  color:           var(--dcm-accent);
}

/* ── Animación de entrada de items (stagger) ─────────────────── */

.dcm-panel.is-open .dcm-nav--root > .dcm-nav__item {
  animation: dcmItemIn .3s var(--dcm-ease) both;
}

.dcm-panel.is-open .dcm-nav--root > .dcm-nav__item:nth-child(1)  { animation-delay: .05s; }
.dcm-panel.is-open .dcm-nav--root > .dcm-nav__item:nth-child(2)  { animation-delay: .08s; }
.dcm-panel.is-open .dcm-nav--root > .dcm-nav__item:nth-child(3)  { animation-delay: .11s; }
.dcm-panel.is-open .dcm-nav--root > .dcm-nav__item:nth-child(4)  { animation-delay: .14s; }
.dcm-panel.is-open .dcm-nav--root > .dcm-nav__item:nth-child(5)  { animation-delay: .17s; }
.dcm-panel.is-open .dcm-nav--root > .dcm-nav__item:nth-child(6)  { animation-delay: .20s; }
.dcm-panel.is-open .dcm-nav--root > .dcm-nav__item:nth-child(7)  { animation-delay: .23s; }
.dcm-panel.is-open .dcm-nav--root > .dcm-nav__item:nth-child(8)  { animation-delay: .26s; }
.dcm-panel.is-open .dcm-nav--root > .dcm-nav__item:nth-child(9)  { animation-delay: .29s; }
.dcm-panel.is-open .dcm-nav--root > .dcm-nav__item:nth-child(10) { animation-delay: .32s; }

@keyframes dcmItemIn {
  from {
    opacity:   0;
    transform: translateX(-12px);
  }
  to {
    opacity:   1;
    transform: translateX(0);
  }
}

/* ── Trampa de foco (para accesibilidad, invisible) ──────────── */
.dcm-focus-trap {
  position: absolute;
  opacity:  0;
  pointer-events: none;
  width: 0;
  height: 0;
  overflow: hidden;
}




button.dcm-trigger,
button.dcm-panel__close{
    border: 0px;
    margin-top: 12px;
}
button.dcm-trigger:hover{
    background: rgba(0,0,0,0);
}

button.dcm-trigger:hover .dcm-trigger__bars span{
    background:#9fc943;
}

button.dcm-panel__close{
    background: rgba(0,0,0,0) !important;
    border:0px !important;
    color: #1e5da0 !important;
    padding: 0;
}
button.dcm-panel__close:hover{
    padding: ;: 0;
}
button.dcm-nav__toggle{
    background: rgba(0,0,0,0) !important;
    border:0px !important;
    color: #9fc943 !important;
}



.dcm-trigger:focus{
    background: rgba(0,0,0,0) !important;
}
.dcm-trigger__bars span{
    margin-top: 1px;
}
.dcm-txt-menu{
    color:#9fc943;
    display: inline-block;
}
.dcm-trigger__bars{
    display: inline-block;
}
button.dcm-trigger {
  display: inline-flex;
  align-items: center;
  flex-direction: row; /* MENU al lado del ícono, no debajo */
}

.dcm-trigger__bars {
  display: flex; /* restaura flex para que funcione el align-items del padre */
}



/* ── Responsive ──────────────────────────────────────────────── */

/* Tablet: panel un poco más ancho */
@media (min-width: 600px) and (max-width: 1024px) {
  :root {
    --dcm-panel-width: 360px;
  }
}

/* Desktop: panel ancho fijo, un poco más amplio */
@media (min-width: 1025px) {
  :root {
    --dcm-panel-width: 380px;
  }

  .dcm-nav__link {
    padding-top:    14px;
    padding-bottom: 14px;
  }
}



/* Mobile pequeño */
@media (max-width: 768px) {
    .dcm-trigger__bars {
        width: 26px;
    }
    
    .dcm-trigger__bars span {
        height: 2px;
    }
    button.dcm-trigger{
        margin-top:0 !important;
        padding-right: 0 !important;
    }
    .login-mobile .elementor-button-icon svg {
        height: auto;
        width: 1.2em;
    }
}
/* Mobile pequeño */
@media (max-width: 400px) {
  :root {
    --dcm-panel-width: 100vw;
  }
}
