/* MegaMenú 2 Columnas v1.7 — megamenu.css */

.mdc-root *:not(.mdc-trigger), .mdc-panel * { box-sizing:border-box; margin:0; padding:0; }
.mdc-root, .mdc-panel { font-family:inherit; line-height:normal; }
.mdc-root a, .mdc-panel a { text-decoration:none; }
.mdc-panel button { border:none; background:none; cursor:pointer; font-family:inherit; }

/* ── Trigger ── */
.mdc-trigger {
  display:inline-flex !important; align-items:center !important; gap:10px;
  padding:var(--mdc-btn-py,10px) var(--mdc-btn-px,22px);
  background:var(--mdc-c,#0a8a8a) !important; color:var(--mdc-btc,#fff) !important;
  border:none !important; border-radius:var(--mdc-btn-r,8px);
  font-size:14px; font-weight:600; font-family:inherit; cursor:pointer !important;
  letter-spacing:.02em; white-space:nowrap; outline:none; line-height:1;
  position:relative; z-index:1; pointer-events:all !important; -webkit-appearance:none;
  transition:filter .2s, transform .15s;
}
.mdc-trigger:hover { filter:brightness(1.1); transform:translateY(-1px); }
.mdc-trigger svg { width:var(--mdc-icon-size,20px); height:var(--mdc-icon-size,20px); flex-shrink:0; pointer-events:none; }
.mdc-trigger-label { pointer-events:none; }
@media(max-width:639px){
  .mdc-trigger.mdc-no-label .mdc-trigger-label{display:none!important}
  .mdc-trigger.mdc-no-label{gap:0!important;padding-left:13px!important;padding-right:13px!important}
}

/* ── Overlay ── */
.mdc-overlay {
  display:none; pointer-events:none;
  position:fixed!important; inset:0;
  background:rgba(10,20,40,.52);
  backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
  z-index:199990!important;
}
.mdc-overlay.mdc-open { display:block; pointer-events:all; animation:mdc-fi .22s ease; }

/* ── Panel — cajón lateral en TODOS los dispositivos ── */
.mdc-panel {
  position:fixed!important; z-index:199995!important;
  top:0!important; left:0!important; bottom:0!important; height:100vh!important;
  background:#fff; display:flex; flex-direction:column; overflow:hidden;
  pointer-events:none;
  width:min(90vw,380px);
  box-shadow:8px 0 40px rgba(0,0,0,.2);
  transform:translateX(-110%); opacity:0;
  transition:transform .3s cubic-bezier(.4,0,.2,1), opacity .25s ease;
}
@media(min-width:640px)  { .mdc-panel { width:560px; } }
@media(min-width:1024px) { .mdc-panel { width:740px; } }

.mdc-panel.mdc-open {
  transform:translateX(0)!important; opacity:1!important; pointer-events:all!important;
}

/* ── Topbar ── */
.mdc-topbar {
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 20px; background:var(--mdc-c,#0a8a8a);
  color:#fff; font-size:14px; font-weight:600; letter-spacing:.03em;
  flex-shrink:0; min-height:52px;
}
.mdc-topbar-close {
  width:32px; height:32px; border-radius:50%;
  background:rgba(255,255,255,.18); color:#fff;
  display:flex; align-items:center; justify-content:center; transition:background .15s;
}
.mdc-topbar-close:hover { background:rgba(255,255,255,.32); }

/* ── Columnas ── */
.mdc-cols { display:flex; flex:1; overflow:hidden; min-height:0; }

/* ── Columna izquierda ── */
.mdc-left {
  flex-shrink:0; background:#f7f7f7; border-right:1px solid #e8e8e8;
  overflow-y:auto; overflow-x:hidden;
  -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:#ddd transparent;
  width:116px; min-width:116px;
}
@media(min-width:640px)  { .mdc-left { width:200px; min-width:200px; } }
@media(min-width:1024px) { .mdc-left { width:220px; min-width:220px; } }

/* Ítem padre — <a> con href real para navegación nativa */
.mdc-parent-btn {
  width:100%; display:flex; flex-direction:column; align-items:center;
  gap:5px; padding:13px 6px; border:none;
  border-bottom:1px solid #ebebeb; border-left:3px solid transparent;
  color:#222!important; background:transparent; cursor:pointer;
  font-family:inherit; text-align:center; text-decoration:none!important;
  transition:background .12s, border-color .12s;
}
@media(min-width:640px) {
  .mdc-parent-btn { flex-direction:row; gap:12px; padding:13px 14px; text-align:left; }
}
.mdc-parent-btn:hover, .mdc-parent-btn.mdc-active {
  background:#fff; border-left-color:var(--mdc-c,#0a8a8a);
}

.mdc-ico {
  width:34px; height:34px; border-radius:9px;
  background:#e8e8e8; display:flex; align-items:center; justify-content:center;
  flex-shrink:0; color:#888; transition:background .12s, color .12s;
}
.mdc-ico svg { width:16px; height:16px; }
.mdc-ico i   { font-size:15px; line-height:1; }
.mdc-parent-btn:hover .mdc-ico, .mdc-parent-btn.mdc-active .mdc-ico {
  background:var(--mdc-cl,#e0f4f4); color:var(--mdc-c,#0a8a8a);
}

.mdc-plabel { font-size:10.5px; font-weight:600; color:#222; line-height:1.3; flex:1; text-align:center; }
@media(min-width:640px) { .mdc-plabel { font-size:13px; text-align:left; } }

.mdc-arr { display:none; color:var(--mdc-c,#0a8a8a); font-size:18px; line-height:1; font-weight:300; flex-shrink:0; opacity:.6; }
@media(min-width:640px) { .mdc-arr { display:block; } }

/* ── Columna derecha ── */
.mdc-right {
  flex:1; overflow-y:auto; overflow-x:hidden; padding:16px 14px; min-width:0;
  -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:#ddd transparent;
}
@media(min-width:640px)  { .mdc-right { padding:20px 28px; columns:2; column-gap:20px; } }
@media(min-width:1024px) { .mdc-right { padding:24px 36px; columns:2; column-gap:24px; } }

.mdc-rtitle {
  display:block; column-span:all; font-size:10px; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase; color:var(--mdc-c,#0a8a8a);
  padding-bottom:10px; margin-bottom:6px; border-bottom:2px solid var(--mdc-cl,#e0f4f4);
}

.mdc-child {
  display:flex; align-items:center; gap:9px; padding:9px 0;
  border-bottom:1px solid #f0f0f0; font-size:13px; color:#333; font-weight:400;
  transition:color .12s, padding-left .12s; break-inside:avoid;
}
.mdc-child:hover { color:var(--mdc-c,#0a8a8a); padding-left:6px; }
.mdc-dot { width:5px; height:5px; border-radius:50%; background:var(--mdc-c,#0a8a8a); opacity:.45; flex-shrink:0; }

@keyframes mdc-fi { from{opacity:0} to{opacity:1} }
