/* CEMI Header / Footer Pro v0.5.1
   Ajustes: header 30% inicial y 80% al scroll, redes minimalistas,
   menú móvil vertical, redes fuera del menú junto a la lupa. */
.cemi-hdr{z-index:9999;width:100%;font-family:Montserrat,Arial,sans-serif;color:#fff;transition:background .35s ease,box-shadow .35s ease,backdrop-filter .35s ease}
.cemi-hdr--fixed{position:fixed;top:0;left:0;right:0}.cemi-hdr--static{position:relative;background:rgba(26,34,49,.88)}
.cemi-hdr--transparent{background:rgba(26,34,49,.30);backdrop-filter:blur(8px)}
.cemi-hdr--solid,.cemi-hdr.is-scrolled{background:rgba(26,34,49,.80);backdrop-filter:blur(12px);box-shadow:0 2px 24px rgba(0,0,0,.22)}
.cemi-hdr.search-open,.cemi-hdr.menu-open{background:rgba(26,34,49,.94);backdrop-filter:blur(14px);box-shadow:0 2px 24px rgba(0,0,0,.30)}
.cemi-hdr-spacer{height:68px}.cemi-hdr-inner{display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:0 auto;padding:0 28px;height:68px;gap:20px}
.cemi-hdr-logo{font-size:22px;font-weight:800;color:#fff;text-decoration:none;letter-spacing:-.5px;flex-shrink:0;transition:opacity .2s;text-shadow:0 1px 4px rgba(0,0,0,.3)}.cemi-hdr-logo:hover{opacity:.85;color:#fff}.cemi-hdr-logo-img{height:44px;width:auto;display:block;filter:drop-shadow(0 1px 4px rgba(0,0,0,.3))}
.cemi-hdr-nav{flex:1;display:flex;justify-content:center}.cemi-hdr-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px}.cemi-hdr-menu li{position:relative;margin:0}.cemi-hdr-menu li a{display:block;padding:8px 14px;font-size:14px;font-weight:600;color:rgba(255,255,255,.92);text-decoration:none;border-radius:8px;transition:background .2s;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.25)}.cemi-hdr-menu li a:hover,.cemi-hdr-menu li.current-menu-item>a{background:rgba(255,255,255,.14);color:#fff}.cemi-hdr-menu .sub-menu{display:none;position:absolute;top:calc(100% + 6px);left:0;background:rgba(26,34,49,.96);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:6px;min-width:190px;list-style:none;box-shadow:0 8px 24px rgba(0,0,0,.3);z-index:100}.cemi-hdr-menu li:hover>.sub-menu{display:block}.cemi-hdr-menu .sub-menu li a{font-size:13px;padding:9px 12px;border-radius:6px;text-shadow:none}
.cemi-hdr-right{display:flex;align-items:center;gap:7px;flex-shrink:0}.cemi-hdr-social{display:flex;align-items:center;gap:4px}.cemi-hdr-social:empty{display:none}
.cemi-social-btn{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:rgba(255,255,255,.88);background:transparent!important;border:1px solid rgba(255,255,255,.22);box-shadow:none!important;transition:color .2s,border-color .2s,background .2s,transform .2s}.cemi-social-btn:hover{color:#fff;border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.10)!important;transform:translateY(-1px)}.cemi-social-yt,.cemi-social-ig,.cemi-social-fb,.cemi-social-tt{background:transparent!important}
.cemi-hdr-search-btn{width:36px;height:36px;border-radius:999px;background:transparent;border:1px solid rgba(255,255,255,.22);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;margin-left:2px;padding:0}.cemi-hdr-search-btn:hover,.cemi-hdr-search-btn.is-active{background:rgba(215,38,107,.95);border-color:rgba(215,38,107,.95);color:#fff}
.cemi-hdr-ham{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:38px;height:38px;background:transparent;border:1px solid rgba(255,255,255,.22);border-radius:10px;cursor:pointer;padding:0}.cemi-hdr-ham span{display:block;width:18px;height:2px;background:#fff;border-radius:2px;transition:transform .25s,opacity .25s}.cemi-hdr-ham.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.cemi-hdr-ham.is-open span:nth-child(2){opacity:0}.cemi-hdr-ham.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.cemi-search-panel{max-height:0;overflow:hidden;transition:max-height .35s ease;background:rgba(26,34,49,.96);border-top:1px solid rgba(255,255,255,.08)}.cemi-search-panel.is-open{max-height:180px}.cemi-search-panel-inner{max-width:1280px;margin:0 auto;padding:16px 28px 22px}.cemi-search-input-wrap{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:10px 14px;transition:border-color .2s;margin-bottom:12px}.cemi-search-input-wrap:focus-within{border-color:#dd3d7b}.cemi-search-input-wrap svg{color:rgba(255,255,255,.5);flex-shrink:0}.cemi-search-input{flex:1;background:none!important;border:none!important;outline:none!important;color:#fff!important;font-size:14px;font-family:Montserrat,Arial,sans-serif}.cemi-search-input::placeholder{color:rgba(255,255,255,.4)}.cemi-search-submit{background:#dd3d7b;color:#fff;border:none;border-radius:7px;padding:8px 18px;font-size:13px;font-weight:700;cursor:pointer;font-family:Montserrat,Arial,sans-serif;white-space:nowrap}.cemi-search-submit:hover{opacity:.88;color:#fff}.cemi-search-quick{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.cemi-search-quick-label{font-size:11px;color:rgba(255,255,255,.5);white-space:nowrap}.cemi-search-pill{background:rgba(255,255,255,.1);color:rgba(255,255,255,.85);border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600;text-decoration:none;transition:background .2s;white-space:nowrap}.cemi-search-pill:hover{background:#dd3d7b;color:#fff}
.cemi-mob-nav{display:none;position:fixed;top:68px;left:0;right:0;bottom:0;background:rgba(26,34,49,.98);z-index:9998;overflow-y:auto;padding:20px 22px 42px;transform:translateX(100%);transition:transform .3s ease}.cemi-mob-nav.is-open{transform:translateX(0)}.cemi-mob-menu{list-style:none!important;margin:0!important;padding:0!important;display:block!important;width:100%}.cemi-mob-menu li{display:block!important;width:100%!important;margin:0 0 7px!important;padding:0!important;float:none!important;clear:both!important}.cemi-mob-menu li a{display:block!important;width:100%;padding:14px 16px;font-size:18px;font-weight:650;color:rgba(255,255,255,.92);text-decoration:none;border-radius:12px;transition:background .2s;text-align:left;box-sizing:border-box}.cemi-mob-menu li a:hover,.cemi-mob-menu li.current-menu-item>a{background:rgba(255,255,255,.09);color:#fff}.cemi-mob-menu .sub-menu{display:block!important;position:static!important;width:100%!important;margin:6px 0 0 0!important;padding:0 0 0 14px!important;background:transparent!important;border:0!important;box-shadow:none!important;list-style:none!important}.cemi-mob-menu .sub-menu li a{font-size:15px;padding:11px 14px;color:rgba(255,255,255,.75)}.cemi-mob-social{display:none!important}
.cemi-ftr{background:#1a2231;color:rgba(255,255,255,.85);font-family:Montserrat,Arial,sans-serif;padding:48px 0 0;margin-top:60px}.cemi-ftr-inner{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;max-width:1280px;margin:0 auto;padding:0 28px 40px}.cemi-ftr-logo{display:inline-block;font-size:24px;font-weight:800;color:#fff;text-decoration:none;margin-bottom:12px;letter-spacing:-.5px}.cemi-ftr-logo:hover{color:#fff}.cemi-ftr-logo-img{height:44px;width:auto;display:block;margin-bottom:12px}.cemi-ftr-desc,.cemi-ftr-coverage{font-size:13px;color:rgba(255,255,255,.62);line-height:1.7;margin:0 0 12px}.cemi-ftr-social{display:flex;gap:8px}.cemi-ftr-col-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#dd3d7b;margin-bottom:14px}.cemi-ftr-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cemi-ftr-menu li a{font-size:14px;color:rgba(255,255,255,.7);text-decoration:none;transition:color .2s}.cemi-ftr-menu li a:hover{color:#dd3d7b}.cemi-ftr-contact{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.cemi-ftr-contact li{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:rgba(255,255,255,.7)}.cemi-ftr-contact li svg{flex-shrink:0;margin-top:1px}.cemi-ftr-contact li a{color:rgba(255,255,255,.7);text-decoration:none;transition:color .2s}.cemi-ftr-contact li a:hover{color:#dd3d7b}.cemi-ftr-bottom{border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;padding:16px 28px;max-width:1280px;margin:0 auto;font-size:12px;color:rgba(255,255,255,.4);flex-wrap:wrap;gap:8px}.cemi-ftr-bottom a{color:#dd3d7b;text-decoration:none}
@media(max-width:768px){.cemi-hdr-nav{display:none}.cemi-hdr-ham{display:flex}.cemi-mob-nav{display:block}.cemi-hdr-inner{padding:0 14px;gap:10px}.cemi-hdr-logo-img{height:40px}.cemi-hdr-right{gap:5px}.cemi-hdr-social{display:flex!important;gap:3px}.cemi-social-btn{width:30px;height:30px;border-color:rgba(255,255,255,.18)}.cemi-social-btn svg{width:14px;height:14px}.cemi-hdr-search-btn{width:34px;height:34px}.cemi-hdr-ham{width:36px;height:36px}.cemi-search-panel.is-open{max-height:260px}.cemi-search-panel-inner{padding:14px 16px 18px}.cemi-search-input-wrap{flex-wrap:wrap}.cemi-search-submit{width:100%}.cemi-ftr-inner{grid-template-columns:1fr;gap:28px;padding:0 16px 32px}.cemi-ftr-bottom{flex-direction:column;text-align:center;padding:14px 16px}}
@media(max-width:420px){.cemi-hdr-logo{font-size:18px}.cemi-social-btn{width:28px;height:28px}.cemi-social-btn svg{width:13px;height:13px}.cemi-hdr-search-btn{width:32px;height:32px}.cemi-hdr-ham{width:34px;height:34px}}
@media(min-width:769px){.cemi-mob-nav{display:none!important}}

/* ══════════════════════════════════
   CEMI v0.5.2 — Fix menú móvil vertical
   ══════════════════════════════════ */
@media(max-width:768px){
  #cemi-mob-nav,
  #cemi-mob-nav .cemi-mob-menu,
  #cemi-mob-nav .menu{
    width:100%!important;
  }
  #cemi-mob-nav .cemi-mob-menu,
  #cemi-mob-nav .menu{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:8px!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }
  #cemi-mob-nav .cemi-mob-menu > li,
  #cemi-mob-nav .menu > li,
  #cemi-mob-nav li.menu-item{
    display:block!important;
    float:none!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    clear:both!important;
  }
  #cemi-mob-nav .cemi-mob-menu > li > a,
  #cemi-mob-nav .menu > li > a,
  #cemi-mob-nav li.menu-item > a{
    display:block!important;
    width:100%!important;
    box-sizing:border-box!important;
    text-align:left!important;
    white-space:normal!important;
  }
  #cemi-mob-nav .sub-menu{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    position:static!important;
    float:none!important;
  }
}

/* CEMI Core v1.1.85 — Mobile search: evitar zoom automático al enfocar */
@media (max-width:768px){
  html,
  body{
    -webkit-text-size-adjust:100% !important;
    text-size-adjust:100% !important;
  }
  #cemi-hdr,
  #cemi-hdr *{
    -webkit-tap-highlight-color:transparent;
  }
  #cemi-hdr .cemi-search-panel,
  #cemi-hdr .cemi-search-panel-inner,
  #cemi-hdr .cemi-search-input-wrap{
    box-sizing:border-box !important;
    max-width:100% !important;
  }
  #cemi-hdr .cemi-search-input,
  #cemi-hdr input[type="search"],
  #cemi-hdr input[type="text"],
  #cemi-hdr select,
  #cemi-hdr textarea{
    font-size:16px !important;
    line-height:1.25 !important;
    min-height:42px !important;
    transform:none !important;
    zoom:1 !important;
  }
  #cemi-hdr .cemi-search-submit{
    font-size:16px !important;
    min-height:42px !important;
  }
  #cemi-hdr .cemi-search-input-wrap{
    flex-wrap:nowrap !important;
    align-items:center !important;
    overflow:hidden !important;
  }
  #cemi-hdr .cemi-search-input{
    min-width:0 !important;
    width:100% !important;
  }
}

/* CEMI Core v1.1.85 — Shortcode filters: también evitar zoom en inputs móviles */
@media (max-width:768px){
  .cemi-sc-input,
  .cemi-sc-select,
  .cemi-filter-input,
  .cemi-filter-select,
  .cemi-bus-select{
    font-size:16px !important;
    line-height:1.25 !important;
    min-height:42px !important;
  }
  .cemi-sc-btn-search,
  .cemi-filter-btn,
  .cemi-bus-btn{
    font-size:16px !important;
    min-height:42px !important;
  }
}
