/* menu-desktop-refactor.css
   Mejora de estilos solo desktop (>= 993px) para dropdowns / navegación.
   - Paleta: rosa (#ff69b4 base, degradados suaves) en lugar de rojo intenso
   - Mejor contraste accesible en hover/focus
   - No afecta menú móvil (envuelto en media query)
*/
/* Variables de color (solo desktop) */
@media (min-width: 993px){
  :root{--menu-bg:#000;--menu-bg-alt:#0f0f12;--menu-border:#1a1a1f;--menu-border-strong:#27272f;--accent:#ff69b4;--accent-strong:#ff1493;--accent-soft:#ff89c7;--accent-glow:rgba(255,105,180,.45);--text-primary:#f5f6f7;--text-secondary:#b5b9c2;--danger:#ff6b81;}
  /* Contenedor principal de navegación */
  /* Fondo unificado negro liso (elimina tramado/artefactos en algunos motores Firefox/Windows) */
  nav.navbar.css-navbar{background:#000!important;box-shadow:0 3px 14px -6px rgba(0,0,0,.8),0 1px 0 var(--menu-border);border-bottom:1px solid var(--menu-border);position:relative;z-index:40;background-image:none!important;}
  /* Eliminamos pseudo-elemento decorativo para evitar diferencias de render */
  nav.navbar.css-navbar:before{display:none!important;}
  /* Links principales */
  .css-navbar-nav{display:flex;gap:4px;}
  .css-navbar-nav > li{position:relative;}
  .css-navbar-nav > li > a.css-categoria-texto-link{color:var(--text-primary);letter-spacing:.5px;font-weight:600;position:relative;transition:color .25s ease,background .25s ease,box-shadow .35s;display:inline-block;padding:11px 20px;border-radius:28px;line-height:1;isolation:isolate;}
  /* Fondo pill dinámico */
  .css-navbar-nav > li > a.css-categoria-texto-link::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(145deg,rgba(255,105,180,.18),rgba(255,20,147,.15));opacity:0;transform:scale(.6);transition:opacity .35s cubic-bezier(.34,1.56,.64,1),transform .35s cubic-bezier(.34,1.56,.64,1);z-index:-1;}
  .css-navbar-nav > li > a.css-categoria-texto-link:hover::before,
  .css-navbar-nav > li > a.css-categoria-texto-link:focus::before{opacity:1;transform:scale(1);}
  /* Color texto en hover/focus */
  .css-navbar-nav > li > a.css-categoria-texto-link:focus,
  .css-navbar-nav > li > a.css-categoria-texto-link:hover{color:var(--accent-soft);text-decoration:none;}
  /* Indicador bajo link (refinado) */
  .css-navbar-nav > li > a.css-categoria-texto-link::after{content:"";position:absolute;left:50%;bottom:4px;width:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-strong));border-radius:2px;transition:width .32s cubic-bezier(.34,1.56,.64,1),left .32s;box-shadow:0 0 6px 0 var(--accent-glow);}
  .css-navbar-nav > li > a.css-categoria-texto-link:hover::after{width:82%;left:9%;}
  /* Estado activo explícito */
  .css-navbar-nav > li.active > a.css-categoria-texto-link,
  .css-navbar-nav > li > a.css-categoria-texto-link.is-active{color:#fff;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-strong) 95%);box-shadow:0 4px 18px -6px var(--accent-glow),0 0 0 1px rgba(255,105,180,.5);}
  .css-navbar-nav > li.active > a.css-categoria-texto-link::before,
  .css-navbar-nav > li > a.css-categoria-texto-link.is-active::before{opacity:0;}
  .css-navbar-nav > li.active > a.css-categoria-texto-link::after,
  .css-navbar-nav > li > a.css-categoria-texto-link.is-active::after{width:70%;left:15%;bottom:3px;}
  /* Header desktop layout */
  .navbar-header-desktop{display:flex;align-items:center;justify-content:flex-start;width:100%;padding:0 26px;gap:34px;position:relative;z-index:45;min-height:76px;}
  .navbar-header-desktop .navbar-brand{display:flex;align-items:center;height:70px;padding:8px 4px;margin:0;transition:filter .3s,transform .35s;}
  .navbar-header-desktop .navbar-brand img{height:54px;width:auto;filter:drop-shadow(0 4px 10px rgba(0,0,0,.55));transition:filter .35s,transform .35s;}
  .navbar-header-desktop .navbar-brand:hover img{filter:drop-shadow(0 6px 16px rgba(255,105,180,.5));transform:translateY(-2px);}
  /* Collapse container */
  .navbar-header-desktop #bs-example-navbar-collapse-1{display:flex;flex:1;align-items:center;justify-content:space-between;gap:30px;}
  .navbar-header-desktop .css-navbar-nav,.navbar-header-desktop .css-anuncio-gratis,.navbar-header-desktop .css-acceso-anunciante,.navbar-header-desktop .css-navbar-right,.navbar-header-desktop .css-navbar-form{display:flex;align-items:center;gap:6px;margin:0;}
  .navbar-header-desktop .css-navbar-form{gap:8px;}
  .navbar-header-desktop select.form-control{min-width:180px;}
  /* Estilo unificado también si el select no está dentro de .css-navbar-form */
  .navbar-header-desktop > select.form-control,
  .navbar-header-desktop .css-navbar-right > select.form-control,
  .navbar-header-desktop .css-navbar-nav > li > select.form-control{background:#18191d;border:1px solid #2a2d34;color:var(--text-secondary);padding:8px 36px 8px 12px;border-radius:10px;line-height:1.2;transition:border .25s,background .25s,color .25s;appearance:none;-webkit-appearance:none;position:relative;font-weight:500;background-image:linear-gradient(45deg,transparent 50%,var(--accent) 50%),linear-gradient(135deg,var(--accent) 50%,transparent 50%),linear-gradient(90deg,#18191d,#18191d);background-position:calc(100% - 22px) calc(50% - 6px),calc(100% - 17px) calc(50% - 6px),100% 0;background-size:5px 5px,5px 5px,2.5em 100%;background-repeat:no-repeat;}
  .navbar-header-desktop > select.form-control:focus,
  .navbar-header-desktop .css-navbar-right > select.form-control:focus,
  .navbar-header-desktop .css-navbar-nav > li > select.form-control:focus{outline:none;box-shadow:0 0 0 2px rgba(255,105,180,.25);border-color:var(--accent);color:var(--text-primary);}
  /* Placeholder (opción inicial) detectada por value vacío o disabled) */
  .navbar-header-desktop select.form-control option[disabled],
  .navbar-header-desktop select.form-control option[value=""],
  .css-navbar-form select.form-control option[disabled],
  .css-navbar-form select.form-control option[value=""]{color:#6d7179;font-style:italic;}
  /* Si placeholder seleccionado (value vacío) reduce saturación del texto del select */
  .navbar-header-desktop select.form-control:is([data-placeholder-active="true"]),
  .css-navbar-form select.form-control:is([data-placeholder-active="true"]) {color:#6d7179;}
  /* Alto contraste */
  body.contrast-high .navbar-header-desktop > select.form-control,
  body.contrast-high .navbar-header-desktop .css-navbar-right > select.form-control,
  body.contrast-high .navbar-header-desktop .css-navbar-nav > li > select.form-control{background:#000;color:#fff;border:1px solid #fff;}
  body.contrast-high .navbar-header-desktop select.form-control option[disabled],
  body.contrast-high .navbar-header-desktop select.form-control option[value=""]{color:#bbb;}
  .navbar-header-desktop .css-btn-cerca-mi{margin-left:6px;}
  /* Botones bordeados (anuncio / acceso) */
  .css-menu-border{border:1px solid var(--accent);border-radius:28px;padding:8px 18px;line-height:1.1;position:relative;overflow:hidden;transition:color .25s,background .4s,border .3s;background:rgba(255,105,180,.08);color:var(--accent-soft);}
  .css-menu-border:hover, .css-menu-border:focus{background:linear-gradient(90deg,var(--accent),var(--accent-strong));color:#fff;border-color:var(--accent);outline:none;}
  /* Dropdown base */
  .navbar-nav > li.dropdown.open > a, .navbar-nav > li.dropdown > a:focus{background:rgba(255,105,180,.12);color:var(--accent-soft);}
  .dropdown-menu{min-width:240px;padding:10px 0;margin:12px 0 0;border:1px solid var(--menu-border-strong);border-radius:16px;background:linear-gradient(165deg,#111115,#18191d);box-shadow:0 22px 54px -18px rgba(0,0,0,.9),0 0 0 1px rgba(255,105,180,.18);animation:fadeSlide .22s ease;backdrop-filter:blur(5px) saturate(135%);}
  .dropdown-menu > li > a{color:var(--text-secondary);background:transparent;padding:11px 20px;display:flex;align-items:center;gap:10px;font-weight:500;line-height:1.15;transition:background .24s,color .24s,transform .24s;position:relative;}
  .dropdown-menu > li > a::before{content:"";position:absolute;left:10px;top:50%;width:0;height:60%;background:linear-gradient(180deg,var(--accent),var(--accent-strong));border-radius:3px;transform:translateY(-50%);transition:width .35s cubic-bezier(.34,1.56,.64,1);opacity:.75;}
  .dropdown-menu > li > a i{color:var(--accent-soft);min-width:18px;text-align:center;}
  .dropdown-menu > li.divider{margin:8px 12px;height:1px;position:relative;}
  .dropdown-menu > li.divider:before{content:"";position:absolute;left:0;top:0;right:0;height:100%;background:linear-gradient(90deg,transparent,rgba(255,105,180,.45),transparent);}
  .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus{background:linear-gradient(90deg,rgba(255,105,180,.17),rgba(255,105,180,.35));color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.4);transform:translateX(2px);}
  .dropdown-menu > li > a:hover::before, .dropdown-menu > li > a:focus::before{width:4px;}
  /* Estado activo/seleccionado accesible */
  .dropdown-menu > li.active > a,
  .dropdown-menu > li > a[aria-current="true"]{
    background:linear-gradient(90deg,var(--accent),var(--accent-strong));
    color:#fff!important;
    font-weight:600;
  }
  /* Badges dentro del menu */
  .dropdown-menu .badge-success{background:linear-gradient(120deg,#34d399,#059669);font-size:11px;padding:3px 6px;border-radius:8px;margin-left:auto;}
  /* Estados logueado */
  .dropdown-menu .text-danger{color:var(--danger)!important;}
  /* Espaciado y scroll suave si excede alto */
  .dropdown-menu{max-height:70vh;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--accent) #1a1b1f;}
  .dropdown-menu::-webkit-scrollbar{width:10px}
  .dropdown-menu::-webkit-scrollbar-track{background:#121215;border-radius:10px}
  .dropdown-menu::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--accent),var(--accent-strong));border-radius:10px}
  .dropdown-menu::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ff7aba,var(--accent-strong))}
  /* Animaciones */
  @keyframes fadeSlide{from{opacity:0;transform:translateY(6px) scale(.97);}to{opacity:1;transform:translateY(0) scale(1);}}
  /* Ajuste formulario búsqueda */
  .css-navbar-form .form-control{background:#121215;border:1px solid #2a2d34;color:var(--text-secondary);transition:border .25s,background .25s,color .25s;}
  .css-navbar-form .form-control:focus{outline:none;box-shadow:0 0 0 2px rgba(255,105,180,.25);border-color:var(--accent);background:#18191d;color:var(--text-primary);}
  /* Selects */
  .css-navbar-form select.form-control{padding-right:30px;background-image:linear-gradient(45deg,transparent 50%,var(--accent) 50%),linear-gradient(135deg,var(--accent) 50%,transparent 50%),linear-gradient(90deg,#18191d,#18191d);background-position:calc(100% - 22px) calc(50% - 6px),calc(100% - 17px) calc(50% - 6px),100% 0;background-size:5px 5px,5px 5px,2.5em 100%;background-repeat:no-repeat;background-color:#18191d;color:var(--text-secondary);appearance:none;-webkit-appearance:none;border-radius:10px;}
  .css-navbar-form select.form-control:focus{background-image:linear-gradient(45deg,transparent 50%,var(--accent-strong) 50%),linear-gradient(135deg,var(--accent-strong) 50%,transparent 50%),linear-gradient(90deg,#18191d,#18191d);color:var(--text-primary);}
  /* Opciones dentro del desplegable (nativo) */
  .css-navbar-form select.form-control option{background:#121215;color:#f5f6f7;}
  .css-navbar-form select.form-control option[disabled]{color:#666;}
  .css-navbar-form select.form-control optgroup{background:#121215;color:var(--accent-soft);font-weight:600;}
  /* Hover simulado para algunos navegadores (no estándar) */
  @supports selector(option:hover){
    .css-navbar-form select.form-control option:hover{background:#18191d;color:#fff;}
  }
  /* Alto contraste manual */
  body.contrast-high .css-navbar-form select.form-control{background:#000;color:#fff;border:1px solid #fff;}
  body.contrast-high .css-navbar-form select.form-control option{background:#000;color:#fff;}
  /* Forced colors (Windows HC) */
  @media (forced-colors: active){
    .css-navbar-form select.form-control, .css-navbar-form select.form-control option{forced-color-adjust:none;background:#000;color:#fff;border:1px solid #fff;}
  }
  /* Placeholder color */
  .css-navbar-form ::placeholder{color:#6d7179;}
  /* Botón cerca de mi */
  .css-btn-cerca-mi{background:linear-gradient(90deg,var(--accent),var(--accent-strong));border:none;color:#fff;font-weight:600;border-radius:24px;padding:8px 16px;transition:filter .3s,transform .25s,box-shadow .3s;box-shadow:0 4px 14px -6px rgba(255,105,180,.55);display:inline-flex;align-items:center;gap:6px;line-height:1;}
  /* Icono opcional para consistencia futura */
  .css-btn-cerca-mi i{font-size:14px;}
  .css-btn-cerca-mi:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 6px 20px -6px rgba(255,105,180,.7);}
  /* ANUNCIO gratis botón enfatizado */
  /* Botones superiores reutilizando estética footer */
  .css-anuncio-btn, .css-acceso-anunciante-btn{position:relative;font-weight:600;font-size:13px;letter-spacing:.5px;padding:10px 18px;border-radius:26px;line-height:1.1;display:inline-flex;align-items:center;gap:6px;text-transform:uppercase;}
  .css-anuncio-btn{background:#FF2D81!important;background:linear-gradient(90deg,#FF2D81,#F8007C)!important;color:#fff!important;border:1px solid #FF2D81!important;box-shadow:0 4px 18px -6px rgba(255,45,129,.55);}
  .css-anuncio-btn:hover{filter:brightness(1.06);box-shadow:0 6px 26px -6px rgba(255,45,129,.65);}
  .css-acceso-anunciante-btn{background:#28a7d9!important;color:#fff!important;border:1px solid #28a7d9!important;box-shadow:0 4px 14px -6px rgba(40,167,217,.55);}
  .css-acceso-anunciante-btn:hover{background:#1e8bb8!important;border-color:#1e8bb8!important;box-shadow:0 6px 22px -6px rgba(30,139,184,.65);}
  /* Estados focus para accesibilidad */
  .css-anuncio-btn:focus-visible, .css-acceso-anunciante-btn:focus-visible{outline:2px solid #fff;outline-offset:2px;}
  /* Accesibilidad focus visible */
  .css-navbar-nav > li > a.css-categoria-texto-link:focus-visible,
  .dropdown-menu > li > a:focus-visible,
  .css-menu-border:focus-visible,
  .css-btn-cerca-mi:focus-visible,
  .css-anuncio-btn:focus-visible,
  .css-acceso-anunciante-btn:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px;}

  /* Utilidad para ocultar (accesible) */
  .visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

  /* Modo alto contraste activable por atributo en body o raíz */
  /* Alto contraste: las variables podrían redefinirse aquí si se necesitara otro esquema */
  body.contrast-high nav.navbar.css-navbar{background:#000;box-shadow:0 0 0 2px var(--accent-strong),0 4px 18px -6px rgba(255,105,180,.6);}
  body.contrast-high .css-navbar-nav > li > a.css-categoria-texto-link{color:#fff;text-shadow:0 0 0 transparent,0 0 6px rgba(255,255,255,.15);}
  body.contrast-high .css-navbar-nav > li > a.css-categoria-texto-link:hover{color:#fff;}
  body.contrast-high .css-menu-border{background:#000;color:#fff;border-color:#fff;}
  body.contrast-high .css-menu-border:hover{background:#fff;color:#000;border-color:#fff;}
  body.contrast-high .dropdown-menu{box-shadow:0 0 0 2px #fff,0 18px 60px -20px rgba(0,0,0,.85);}
  body.contrast-high .dropdown-menu > li > a{color:#fff;}
  body.contrast-high .dropdown-menu > li > a:hover{background:#fff;color:#000;text-shadow:none;}

  /* Soporte automático para usuarios con preferencia de más contraste */
  @media (prefers-contrast: more){
    .css-navbar-nav > li > a.css-categoria-texto-link{color:#fff;}
    .css-navbar-nav > li > a.css-categoria-texto-link::after{box-shadow:0 0 0 1px var(--accent-strong);}
  }

  /* Reduce motion: elimina animaciones y transiciones no esenciales */
  @media (prefers-reduced-motion: reduce){
    .css-navbar-nav > li > a.css-categoria-texto-link,
    .css-navbar-nav > li > a.css-categoria-texto-link::before,
    .css-navbar-nav > li > a.css-categoria-texto-link::after,
    .dropdown-menu,
    .dropdown-menu > li > a,
    .css-menu-border,
    .css-btn-cerca-mi,
    .css-anuncio-btn,
    .css-acceso-anunciante-btn{transition:none!important;animation:none!important;}
    @keyframes fadeSlide{from{opacity:1;transform:none;}to{opacity:1;transform:none;}}
  }

  /* Indicadores ARIA visuales opcionales (cuando elemento tiene aria-current) */
  .css-navbar-nav > li > a[aria-current="page"]{box-shadow:0 0 0 1px rgba(255,105,180,.5),0 0 12px -2px var(--accent-glow);}
  .css-navbar-nav > li > a[aria-current="page"]::after{width:85%;left:7.5%;}
}
