.elementor-3 .elementor-element.elementor-element-856dda1{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;box-shadow:0px 5px 30px 0px rgba(0,0,0,0.1);--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;--z-index:10;}.elementor-3 .elementor-element.elementor-element-c5b36ad{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:12px;--padding-bottom:12px;--padding-left:12px;--padding-right:12px;}.elementor-3 .elementor-element.elementor-element-c5b36ad:not(.elementor-motion-effects-element-type-background), .elementor-3 .elementor-element.elementor-element-c5b36ad > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-3 .elementor-element.elementor-element-cd2ed20{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-3 .elementor-element.elementor-element-773905f .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-3 .elementor-element.elementor-element-773905f .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-3 .elementor-element.elementor-element-773905f .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-3 .elementor-element.elementor-element-773905f .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-3 .elementor-element.elementor-element-773905f .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-3 .elementor-element.elementor-element-773905f .elementor-icon-list-icon i{color:#ffffff;transition:color 0.3s;}.elementor-3 .elementor-element.elementor-element-773905f .elementor-icon-list-icon svg{fill:#ffffff;transition:fill 0.3s;}.elementor-3 .elementor-element.elementor-element-773905f{--e-icon-list-icon-size:16px;--icon-vertical-offset:0px;}.elementor-3 .elementor-element.elementor-element-773905f .elementor-icon-list-icon{padding-inline-end:10px;}.elementor-3 .elementor-element.elementor-element-773905f .elementor-icon-list-item > .elementor-icon-list-text, .elementor-3 .elementor-element.elementor-element-773905f .elementor-icon-list-item > a{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:300;}.elementor-3 .elementor-element.elementor-element-773905f .elementor-icon-list-text{color:#ffffff;transition:color 0.3s;}.elementor-3 .elementor-element.elementor-element-a81e435{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-search-form input[type="search"].elementor-search-form__input{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-search-form .elementor-search-form__input,
					.elementor-widget-search-form .elementor-search-form__icon,
					.elementor-widget-search-form .elementor-lightbox .dialog-lightbox-close-button,
					.elementor-widget-search-form .elementor-lightbox .dialog-lightbox-close-button:hover,
					.elementor-widget-search-form.elementor-search-form--skin-full_screen input[type="search"].elementor-search-form__input{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-search-form .elementor-search-form__submit{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );background-color:var( --e-global-color-secondary );}.elementor-3 .elementor-element.elementor-element-056fa49 .elementor-search-form{text-align:end;}.elementor-3 .elementor-element.elementor-element-056fa49 .elementor-search-form__toggle{--e-search-form-toggle-size:31px;--e-search-form-toggle-color:#ffffff;--e-search-form-toggle-icon-size:calc(50em / 100);}.elementor-3 .elementor-element.elementor-element-056fa49.elementor-search-form--skin-full_screen .elementor-search-form__container{background-color:rgba(22,22,63,0.9);}.elementor-3 .elementor-element.elementor-element-056fa49 input[type="search"].elementor-search-form__input{font-family:"Montserrat", Sans-serif;font-size:40px;font-weight:300;}.elementor-3 .elementor-element.elementor-element-056fa49 .elementor-search-form__input,
					.elementor-3 .elementor-element.elementor-element-056fa49 .elementor-search-form__icon,
					.elementor-3 .elementor-element.elementor-element-056fa49 .elementor-lightbox .dialog-lightbox-close-button,
					.elementor-3 .elementor-element.elementor-element-056fa49 .elementor-lightbox .dialog-lightbox-close-button:hover,
					.elementor-3 .elementor-element.elementor-element-056fa49.elementor-search-form--skin-full_screen input[type="search"].elementor-search-form__input{color:#ffffff;fill:#ffffff;}.elementor-3 .elementor-element.elementor-element-056fa49:not(.elementor-search-form--skin-full_screen) .elementor-search-form__container{border-color:rgba(255,255,255,0.5);border-radius:0px;}.elementor-3 .elementor-element.elementor-element-056fa49.elementor-search-form--skin-full_screen input[type="search"].elementor-search-form__input{border-color:rgba(255,255,255,0.5);border-radius:0px;}.elementor-3 .elementor-element.elementor-element-056fa49 .elementor-search-form__toggle:hover{--e-search-form-toggle-color:#d3b574;}.elementor-3 .elementor-element.elementor-element-056fa49 .elementor-search-form__toggle:focus{--e-search-form-toggle-color:#d3b574;}.elementor-3 .elementor-element.elementor-element-c58e99c .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(15px/2);}.elementor-3 .elementor-element.elementor-element-c58e99c .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(15px/2);}.elementor-3 .elementor-element.elementor-element-c58e99c .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(15px/2);}.elementor-3 .elementor-element.elementor-element-c58e99c .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-15px/2);}.elementor-3 .elementor-element.elementor-element-c58e99c .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-15px/2);}.elementor-3 .elementor-element.elementor-element-c58e99c .elementor-icon-list-icon i{color:#ffffff;transition:color 0.3s;}.elementor-3 .elementor-element.elementor-element-c58e99c .elementor-icon-list-icon svg{fill:#ffffff;transition:fill 0.3s;}.elementor-3 .elementor-element.elementor-element-c58e99c .elementor-icon-list-item:hover .elementor-icon-list-icon i{color:#d3b574;}.elementor-3 .elementor-element.elementor-element-c58e99c .elementor-icon-list-item:hover .elementor-icon-list-icon svg{fill:#d3b574;}.elementor-3 .elementor-element.elementor-element-c58e99c{--e-icon-list-icon-size:18px;--e-icon-list-icon-align:center;--e-icon-list-icon-margin:0 calc(var(--e-icon-list-icon-size, 1em) * 0.125);--icon-vertical-offset:0px;}.elementor-3 .elementor-element.elementor-element-c58e99c .elementor-icon-list-text{transition:color 0.3s;}.elementor-3 .elementor-element.elementor-element-6bd1350{--display:flex;--min-height:37px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:12px;--padding-right:12px;}.elementor-3 .elementor-element.elementor-element-6bd1350:not(.elementor-motion-effects-element-type-background), .elementor-3 .elementor-element.elementor-element-6bd1350 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-3 .elementor-element.elementor-element-9aaed7d{--display:flex;--min-height:37px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:12px;--padding-right:12px;}.elementor-3 .elementor-element.elementor-element-9aaed7d:not(.elementor-motion-effects-element-type-background), .elementor-3 .elementor-element.elementor-element-9aaed7d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-3 .elementor-element.elementor-element-aedf539{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;z-index:0;}.elementor-3 .elementor-element.elementor-element-aedf539 img{width:1000px;max-width:100%;height:500px;border-radius:0px 0px 0px 0px;}.elementor-3 .elementor-element.elementor-element-aedf539 .widget-image-caption{color:#7A7A7A;font-family:"Roboto", Sans-serif;font-size:0px;font-weight:700;margin-block-start:0px;}.elementor-3 .elementor-element.elementor-element-88dc3af{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-3 .elementor-element.elementor-element-a0a543b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-3 .elementor-element.elementor-element-62f2dc2{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-3 .elementor-element.elementor-element-dbc32da{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3 .elementor-element.elementor-element-25284e7 .btl-premium-footer{--btl-green-dark:#11271F;--btl-green:#203A31;--btl-gold:#D5A755;--btl-cream:#E8D8AD;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-3 .elementor-element.elementor-element-c5b36ad{--padding-top:27px;--padding-bottom:27px;--padding-left:15px;--padding-right:15px;}.elementor-3 .elementor-element.elementor-element-773905f .elementor-icon-list-item > .elementor-icon-list-text, .elementor-3 .elementor-element.elementor-element-773905f .elementor-icon-list-item > a{font-size:12px;}.elementor-3 .elementor-element.elementor-element-6bd1350{--padding-top:20px;--padding-bottom:20px;--padding-left:15px;--padding-right:15px;}.elementor-3 .elementor-element.elementor-element-9aaed7d{--padding-top:20px;--padding-bottom:20px;--padding-left:15px;--padding-right:15px;}.elementor-3 .elementor-element.elementor-element-aedf539{padding:0px 90px 0px 0px;}.elementor-3 .elementor-element.elementor-element-aedf539 img{width:133px;}}@media(max-width:767px){.elementor-3 .elementor-element.elementor-element-c5b36ad{--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-3 .elementor-element.elementor-element-a81e435{--width:100%;--flex-direction:row-reverse;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap-reverse;--justify-content:space-between;}.elementor-3 .elementor-element.elementor-element-aedf539{padding:0px 0px 0px 0px;}.elementor-3 .elementor-element.elementor-element-aedf539 img{width:100px;}}@media(min-width:768px){.elementor-3 .elementor-element.elementor-element-c5b36ad{--content-width:1200px;}.elementor-3 .elementor-element.elementor-element-cd2ed20{--width:570px;}.elementor-3 .elementor-element.elementor-element-a81e435{--width:180px;}.elementor-3 .elementor-element.elementor-element-6bd1350{--width:591px;}.elementor-3 .elementor-element.elementor-element-9aaed7d{--content-width:1200px;}}@media(max-width:1024px) and (min-width:768px){.elementor-3 .elementor-element.elementor-element-cd2ed20{--width:75%;}.elementor-3 .elementor-element.elementor-element-a81e435{--width:28%;}}/* Start custom CSS for shortcode, class: .elementor-element-02f4959 *//* BOTÓN CUENTA: ESTILO DEL WIDGET */
.elementor-3 .elementor-element.elementor-element-02f4959 .btl-dynamic-account,
.elementor-3 .elementor-element.elementor-element-02f4959 .btl-account-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    height: 42px;
    padding: 0 22px;

    background: #10382f;
    color: #fff !important;
    border-radius: 14px;

    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;

    transition: background .3s ease, color .3s ease;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .10);
}

.elementor-3 .elementor-element.elementor-element-02f4959 .btl-dynamic-account:hover,
.elementor-3 .elementor-element.elementor-element-02f4959 .btl-account-btn:hover {
    background: #d8ad58;
    color: #10382f !important;
}

.elementor-3 .elementor-element.elementor-element-02f4959 .btl-account-icon {
    display: inline-flex;
    align-items: center;
    font-size: 15px;
}

/* OCULTAR ESTE WIDGET EN CELULAR Y TABLET */
@media (max-width: 1024px) {
    .elementor-3 .elementor-element.elementor-element-02f4959 {
        display: none !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-856dda1 */SECCIÓN 1 — CSS DEL CONTENEDOR BLANCO EXTERIOR
===== INICIO CSS =====
.btl-topbar-premium,
.btl-header-logo,
.btl-header-search,
.btl-header-actions,
.btl-header-menu,
.btl-topbar-premium *,
.btl-header-logo *,
.btl-header-search *,
.btl-header-actions *,
.btl-header-menu * {
  box-sizing: border-box !important;
}


/* =========================================================
   BARRA VERDE SUPERIOR
========================================================= */

.btl-topbar-premium {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 32px !important;
  height: 32px !important;

  margin: 0 !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  position: relative !important;
  z-index: 1 !important;

  background: #091A15 !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  overflow: hidden !important;
}

.btl-topbar-premium > .e-con-inner,
.btl-topbar-premium > .elementor-container {
  width: min(92%, 1160px) !important;
  max-width: 1160px !important;
  min-height: 32px !important;

  margin: 0 auto !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
}

.btl-topbar-premium,
.btl-topbar-premium * {
  color: #FFFFFF !important;
}

.btl-topbar-premium a {
  color: rgba(255,255,255,.94) !important;
  text-decoration: none !important;
}

.btl-topbar-premium a:hover {
  color: #E7C378 !important;
}

.btl-topbar-premium .elementor-widget,
.btl-topbar-premium .elementor-widget-container,
.btl-topbar-premium .elementor-icon-list-items,
.btl-topbar-premium .elementor-icon-list-item {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center !important;
}

.btl-topbar-premium .elementor-icon-list-items {
  gap: 16px !important;
}

.btl-topbar-premium .elementor-icon-list-item,
.btl-topbar-premium .elementor-icon-list-text,
.btl-topbar-premium .elementor-icon-list-icon {
  font-family: Poppins, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

.btl-topbar-premium .elementor-social-icons-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}

.btl-topbar-premium .elementor-social-icon {
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}



/* =========================================================
   BOTON INICIAR SESION
========================================================= */

.btl-login-btn .elementor-button,
.btl-login-btn .elementor-button-link {
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 20px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border: 1px solid rgba(232,216,173,.30) !important;
  border-radius: 10px !important;

  background: linear-gradient(135deg, #203A31 0%, #11271F 65%, #091A15 100%) !important;
  color: #FFFFFF !important;

  font-family: Poppins, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;

  box-shadow:
    0 12px 26px rgba(9,26,21,.20),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.btl-login-btn .elementor-button-text,
.btl-login-btn .elementor-button-icon,
.btl-login-btn i,
.btl-login-btn svg {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
}

.btl-login-btn .elementor-button:hover,
.btl-login-btn .elementor-button-link:hover {
  color: #091A15 !important;
  background: linear-gradient(135deg, #E7C378, #D5A755) !important;
  border-color: #E8D8AD !important;
}


/* =========================================================
   BOTON CARRITO
========================================================= */

.btl-cart-btn .elementor-button,
.btl-cart-btn .elementor-button-link {
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border: 1px solid rgba(213,167,85,.62) !important;
  border-radius: 10px !important;

  background: linear-gradient(180deg, #FFFFFF, #FCFAF5) !important;
  color: #B7873E !important;

  box-shadow:
    0 10px 22px rgba(17,39,31,.10),
    inset 0 1px 0 rgba(255,255,255,.85) !important;
}

.btl-cart-btn i,
.btl-cart-btn svg,
.btl-cart-btn .elementor-button-icon {
  color: #B7873E !important;
  fill: #B7873E !important;
  font-size: 17px !important;
}

.btl-cart-btn .elementor-button:hover,
.btl-cart-btn .elementor-button-link:hover {
  background: linear-gradient(135deg, #E7C378, #D5A755) !important;
  border-color: #D5A755 !important;
}


/* =========================================================
   BARRA VERDE INFERIOR
========================================================= */

.btl-header-menu {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 44px !important;

  margin: 0 !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  position: relative !important;
  z-index: 1 !important;

  background: linear-gradient(135deg, #244439 0%, #173229 55%, #10271F 100%) !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
  border-bottom: 1px solid rgba(9,26,21,.30) !important;

  overflow: visible !important;
}

.btl-header-menu .e-con-inner,
.btl-header-menu .elementor-container {
  width: min(94%, 1180px) !important;
  min-height: 44px !important;

  margin: 0 auto !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.btl-header-menu .elementor-nav-menu {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
}

.btl-header-menu .elementor-item {
  padding: 9px 17px !important;

  color: #FFFFFF !important;
  background: transparent !important;
  border-radius: 999px !important;

  font-family: Poppins, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.btl-header-menu .elementor-item::before,
.btl-header-menu .elementor-item::after {
  display: none !important;
}

.btl-header-menu .elementor-item:hover,
.btl-header-menu .current-menu-item > a,
.btl-header-menu .current-menu-ancestor > a {
  color: #FFFFFF !important;
  background: rgba(255,255,255,.16) !important;
}



/* BTL: fila blanca. Controles completos desde 768px; vista móvil hasta 767px. */
.btl-header-premium {
  --btl-logo-width:160px;
  --min-height:0px;
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  min-height:68px !important;
  margin:0 !important;
  padding:8px clamp(16px, 2vw, 32px) !important;
  background:#fff !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.btl-header-premium,
.btl-header-premium > .e-con-inner {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
}
.btl-header-premium > .e-con-inner {
  width:100% !important;
  max-width:1400px !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 auto !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
/* Grupos opcionales: sin altura ni decoración adicionales. */
.btl-header-premium > .e-con,
.btl-header-premium > .e-con-inner > .e-con {
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.btl-header-premium .e-con:has(> .btl-header-logo):not(.btl-header-actions),
.btl-header-premium .e-con:has(> .e-con-inner > .btl-header-logo):not(.btl-header-actions) {
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  flex:1 1 0% !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:16px !important;
}
.btl-header-premium .e-con:has(> .e-con-inner > .btl-header-logo):not(.btl-header-actions) > .e-con-inner {
  width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:16px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.btl-header-premium .btl-header-logo {
  width:var(--btl-logo-width) !important;
  min-width:var(--btl-logo-width) !important;
  max-width:var(--btl-logo-width) !important;
  flex:0 0 var(--btl-logo-width) !important;
  margin:0 !important;
  padding:0 !important;
}
.btl-header-premium .btl-header-logo .elementor-widget-container,
.btl-header-premium .btl-header-logo a {
  width:100% !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}
.btl-header-premium .btl-header-logo img {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:44px !important;
  object-fit:contain !important;
  object-position:left center !important;
}
.btl-header-premium .btl-header-actions,
.btl-header-premium .btl-header-actions > .e-con-inner {
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  min-height:0 !important;
  flex:0 0 auto !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.btl-header-premium .btl-header-actions > .elementor-widget,
.btl-header-premium .btl-header-actions > .e-con-inner > .elementor-widget,
.btl-header-premium .btl-header-language,
.btl-header-premium .btl-header-account,
.btl-header-premium .btl-cart-btn {
  width:auto !important;
  max-width:none !important;
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 !important;
}
@media (min-width:768px) {
  .btl-header-premium .btl-header-actions:has(.btl-header-search),
  .btl-header-premium .btl-header-actions:has(.btl-header-search) > .e-con-inner {
    flex:1 1 0% !important;
  }
  .btl-header-premium .elementor-widget.btl-header-search {
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:620px !important;
    flex:1 1 0% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }
  .btl-header-premium .btl-header-search > .elementor-widget-container {
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }
  .btl-header-premium .btl-dynamic-account { white-space:nowrap; }
}
@media (min-width:768px) and (max-width:1280px) {
  .btl-header-premium { --btl-logo-width:140px; padding:8px 16px !important; }
  .btl-header-premium,
  .btl-header-premium > .e-con-inner { gap:12px !important; }
  .btl-header-premium .btl-dynamic-account { padding:0 14px; }
  .btl-header-premium .btl-header-actions,
  .btl-header-premium .btl-header-actions > .e-con-inner { gap:8px !important; }
}
@media (max-width:767px) {
  .btl-topbar-premium, .btl-header-menu { display:none !important; }
  .btl-header-premium {
    --btl-logo-width:clamp(108px, 34vw, 145px);
    min-height:64px !important;
    padding:10px 12px !important;
  }
  .btl-header-premium,
  .btl-header-premium > .e-con-inner { gap:10px !important; }
  .btl-header-premium .btl-header-actions,
  .btl-header-premium .btl-header-actions > .e-con-inner { gap:6px !important; }
  .btl-header-premium .btl-header-logo { margin-right:auto !important; }
  .btl-header-premium .elementor-widget.btl-header-account,
  .btl-header-premium .elementor-widget.btl-login-btn,
  .btl-header-premium .elementor-widget.btl-header-language,
  .btl-header-premium .elementor-widget-shortcode:has(> .elementor-widget-container > .btl-dynamic-account),
  .btl-header-premium .elementor-widget-shortcode:has(> .elementor-widget-container > .elementor-shortcode > .btl-dynamic-account) { display:none !important; }
  .btl-header-premium .elementor-widget.btl-header-search,
  .btl-header-premium .btl-header-search > .elementor-widget-container {
    display:block !important;
    width:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    flex:0 0 40px !important;
    margin:0 !important;
    padding:0 !important;
  }
  .btl-header-premium .btl-cart-btn { width:40px !important; flex:0 0 40px !important; border:0 !important; background:transparent !important; }
  .btl-header-premium .btl-cart-btn :is(.elementor-button, .elementor-button-link),
  .btl-header-premium .btl-nav-boton {
    box-sizing:border-box !important;
    width:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    height:40px !important;
    min-height:40px !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:10px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .btl-header-premium .btl-nav-boton__texto { display:none !important; }
}


/* Centrar la fila existente: contenedores reales de este encabezado.
   No se trasladan logo, buscador ni botones. */
@media (min-width:768px) {
  .elementor-element[data-id="5507cd24"] {
    display:flex !important;
    justify-content:center !important;
    padding:8px 24px !important;
  }
  .elementor-element[data-id="5507cd24"] > .elementor-element[data-id="df4c790"] {
    display:flex !important;
    width:100% !important;
    max-width:1400px !important;
    flex:0 1 1400px !important;
    margin:0 auto !important;
    padding:0 !important;
    min-height:0 !important;
  }
  .elementor-element[data-id="df4c790"] > .e-con-inner {
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }
}
@media (min-width:768px) and (max-width:1024px) {
  .elementor-element[data-id="5507cd24"] { padding:8px 12px !important; }
  .elementor-element[data-id="df4c790"] { --btl-logo-width:120px; }
  .elementor-element[data-id="df4c790"] > .e-con-inner { gap:8px !important; }
  .btl-header-premium .btl-header-actions { gap:6px !important; }
  .btl-header-premium .btl-dynamic-account { padding:0 8px !important; font-size:12px !important; }
  .btl-header-premium .btl-nav-boton { padding:0 10px; gap:6px; }
  .btl-header-premium .trp-shortcode-switcher__wrapper { --font-size:12px; --flag-size:14px; }
}



/* Centrado de la fila en computadora y laptop.
   La especificidad evita que los estilos de grupos anulen su ancho. */
@media (min-width: 1025px) {
    .elementor-23
    .elementor-element.elementor-element-5507cd24 {
        justify-content: center !important;
    }
    .elementor-23
    .elementor-element.elementor-element-5507cd24 >
    .elementor-element.elementor-element-df4c790 {
        width: 100% !important;
        max-width: 1400px !important;
        min-width: 0 !important;
        flex: 0 1 1400px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 0 !important;
    }
    .elementor-23
    .elementor-element.elementor-element-df4c790 >
    .e-con-inner {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}


/* Asegurar visibilidad de los controles reales entre 768 y 1024px.
   No afecta la versión celular. */
@media (min-width:768px) and (max-width:1024px) {
    .elementor-23 .elementor-element.elementor-element-df4c790,
    .elementor-23 .elementor-element.elementor-element-44c5422 {
        display:flex !important;
        visibility:visible !important;
        opacity:1 !important;
    }
    .elementor-23 .elementor-element.elementor-element-2991e61,
    .elementor-23 .elementor-element.elementor-element-3f55c7a,
    .elementor-23 .elementor-element.elementor-element-8c438d5 {
        display:block !important;
        visibility:visible !important;
        opacity:1 !important;
    }
    .elementor-23 .elementor-element.elementor-element-df4c790 > .e-con-inner {
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        align-items:center !important;
        gap:8px !important;
    }
    .elementor-23 .elementor-element.elementor-element-2991e61 {
        width:100% !important;
        min-width:0 !important;
        max-width:620px !important;
        flex:1 1 0% !important;
    }
    .elementor-23 .elementor-element.elementor-element-2991e61 .btl-search-surface {
        display:block !important;
    }
    .elementor-23 .elementor-element.elementor-element-2991e61 .btl-mobile-search-trigger,
    .elementor-23 .elementor-element.elementor-element-2991e61 .btl-search-mobile-heading {
        display:none !important;
    }
}

===== FIN CSS =====

SECCIÓN 2 — HTML DEL WIDGET BUSCADOR
===== INICIO HTML =====
<style>
btl-premium-search { display:block; width:100%; max-width:100%; margin:0; }
.btl-search-surface { width:100%; min-width:0; }
.btl-header-search > .elementor-widget-container { width:100%; min-width:0; overflow:visible; }
<\/style>
<button type="button" class="btl-mobile-search-trigger" aria-label="Buscar tours" aria-haspopup="dialog" aria-expanded="false" aria-controls="btl-mobile-search-panel">
  <svg width="21" height="21" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" aria-hidden="true"><circle cx="10.8" cy="10.8" r="7.2"/><path d="m16.2 16.2 4.8 4.8"/></svg>
</button>
<div class="btl-search-surface" id="btl-mobile-search-panel">
  <div class="btl-search-mobile-heading"><strong>Encuentra tu próxima experiencia</strong><button type="button" data-btl-search-close aria-label="Cerrar buscador">×</button></div>
  <btl-premium-search></btl-premium-search>
</div>
<style>
.btl-mobile-search-trigger,.btl-search-mobile-heading {display:none;}
@media(max-width:767px){
  .btl-mobile-search-trigger{
    display:inline-flex; align-items:center; justify-content:center;
    width:40px;height:40px; padding:0; margin:0; border:1px solid #D7D0C1;
    border-radius:10px; background:#FCFAF5; color:#203A31; cursor:pointer;
  }
  .btl-search-surface {display:none !important;}
  .btl-search-surface.btl-search-mobile-open{
    display:block !important;position:fixed;inset:0;z-index:1000001;
    width:100%;height:100dvh;overflow-y:auto;padding:24px 16px 40px;
    background:#FCFAF5;font-family:Poppins,Arial,sans-serif;
  }
  .btl-search-mobile-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px;color:#203A31;}
  .btl-search-mobile-heading strong{font-family:Georgia,serif;font-size:22px;line-height:1.25;}
  .btl-search-mobile-heading button {flex:0 0 40px;width:40px;height:40px;padding:0;border:0;border-radius:10px;background:#11271F;color:white;font-size:27px;cursor:pointer;}
  .btl-search-surface btl-premium-search{max-width:100% !important;}
}
<\/style>
<script>
(function(){
 if(window.btlMobileSearchInstalled)return;
 window.btlMobileSearchInstalled=true;
 const media=matchMedia('(max-width:767px)');
 let widget,widgetMarker,panel,panelMarker,trigger,oldOverflow='',returnFocus;
 function close(){
   if(!panel || !panel.classList.contains('btl-search-mobile-open'))return;
   panel.classList.remove('btl-search-mobile-open');panel.inert=true;
   panel.setAttribute('aria-hidden','true');trigger?.setAttribute('aria-expanded','false');
   document.body.style.overflow=oldOverflow;
   if(returnFocus?.isConnected)returnFocus.focus();
 }
 function sync(){
   close();
   widget=widget || document.querySelector('.btl-header-search');
   panel=panel || document.getElementById('btl-mobile-search-panel');
   trigger=trigger || widget?.querySelector('.btl-mobile-search-trigger');
   if(!widget || !panel || !trigger)return;
   if(media.matches){
     const actions=document.querySelector('.btl-header-actions > .e-con-inner') || document.querySelector('.btl-header-actions');
     if(!widgetMarker){widgetMarker=document.createComment('BTL buscador escritorio');widget.before(widgetMarker);}
     if(actions && !actions.contains(widget)) actions.prepend(widget);
     if(!panelMarker){panelMarker=document.createComment('BTL panel buscador');panel.before(panelMarker);}
     document.body.appendChild(panel);
     panel.setAttribute('role','dialog');panel.setAttribute('aria-modal','true');panel.setAttribute('aria-label','Buscar tours');
     panel.setAttribute('aria-hidden','true');panel.inert=true;
   }else{
     if(widgetMarker?.isConnected){widgetMarker.replaceWith(widget);widgetMarker=null;}
     if(panelMarker?.isConnected){panelMarker.replaceWith(panel);panelMarker=null;}
     panel.inert=false;panel.removeAttribute('role');panel.removeAttribute('aria-modal');panel.removeAttribute('aria-hidden');
   }
 }
 document.addEventListener('click',function(e){
   if(e.target.closest('.btl-mobile-search-trigger')){
     if(!media.matches)return;
     if(!panel)sync();
     if(!panel)return;
     returnFocus=e.target.closest('button');oldOverflow=document.body.style.overflow;
     panel.inert=false;panel.classList.add('btl-search-mobile-open');panel.setAttribute('aria-hidden','false');
     trigger.setAttribute('aria-expanded','true');document.body.style.overflow='hidden';
     const input=panel.querySelector('btl-premium-search')?.shadowRoot?.querySelector('input');
     (input || panel.querySelector('[data-btl-search-close]'))?.focus();
   }else if(e.target.closest('[data-btl-search-close]'))close();
 });
 document.addEventListener('keydown',function(e){
   if(!panel?.classList.contains('btl-search-mobile-open'))return;
   if(e.key==='Escape')close();
   if(e.key==='Tab'){
     const root=panel.querySelector('btl-premium-search')?.shadowRoot;
     const items=[panel.querySelector('[data-btl-search-close]'),...Array.from(root?.querySelectorAll('input,button,a[href]') || [])].filter(el=>el&&!el.disabled&&el.getClientRects().length);
     const active=root?.activeElement || document.activeElement;
     if(e.shiftKey&&active===items[0]){e.preventDefault();items.at(-1)?.focus();}
     else if(!e.shiftKey&&active===items.at(-1)){e.preventDefault();items[0]?.focus();}
   }
 });
 if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',sync,{once:true});else sync();
 media.addEventListener('change',sync);
})();
</script>


<script type="module">

class BTLPremiumSearch extends HTMLElement {


  /* =======================================================
     CONSTRUCTOR
  ======================================================== */

  constructor(){

    super();


    this.attachShadow({
      mode:"open"
    });


    this.tours = [];


    this.handleOutsideClick =
      this.handleOutsideClick.bind(this);

  }


  /* =======================================================
     CONECTAR COMPONENTE
  ======================================================== */

  async connectedCallback(){
    if(this._btlInitialized){
      document.addEventListener("click",this.handleOutsideClick);
      return;
    }
    this._btlInitialized=true;

    this.renderLoading();

    await this.loadTours();

    this.render();

    document.addEventListener(
      "click",
      this.handleOutsideClick
    );

  }


  /* =======================================================
     DESCONECTAR COMPONENTE
  ======================================================== */

  disconnectedCallback(){

    document.removeEventListener(
      "click",
      this.handleOutsideClick
    );

  }


  /* =======================================================
     ESTADO DE CARGA
  ======================================================== */

  renderLoading(){

    this.shadowRoot.innerHTML = `

      <style>

        :host{
          display:block;

          width:100%;
          max-width:920px;

          margin:0 auto;

          font-family:
            "Poppins",
            Arial,
            Helvetica,
            sans-serif;
        }


        .btl-search-loading{
          width:100%;
          min-height:48px;

          display:flex;
          align-items:center;

          padding:
            5px
            18px;

          border:
            1px solid rgba(17,39,31,.30);

          border-radius:13px;

          background:#FFFFFF;

          color:#66736D;

          font-size:12px;
          font-weight:500;

          box-shadow:
            0 12px 30px rgba(17,39,31,.08);
        }

      <\/style>


      <div class="btl-search-loading">
        Cargando experiencias...
      </div>

    `;

  }


  /* =======================================================
     CARGAR TOURS DESDE WORDPRESS
  ======================================================== */

  async loadTours(){

    try{

      const response =
        await fetch(
          "https://besttoursinlima.com/wp-json/wp/v2/tour?_embed&acf_format=standard&per_page=100",
          {
            cache:"no-store"
          }
        );


      if(!response.ok){

        throw new Error(
          "Error HTTP "
          +
          response.status
        );

      }


      const data =
        await response.json();


      this.tours =
        Array.isArray(data)
          ? data.map(
              (tour) => {


                const acf =
                  tour.acf || {};


                const btl =
                  tour.btl_data || {};


                const title =
                  tour.title
                  &&
                  tour.title.rendered
                    ? this.cleanText(
                        tour.title.rendered
                      )
                    : "Tour";


                return{

                  title:title,


                  link:
                    tour.link || "#",


                  img:
                    (
                      tour._embedded
                      &&
                      tour._embedded[
                        "wp:featuredmedia"
                      ]
                      &&
                      tour._embedded[
                        "wp:featuredmedia"
                      ][0]
                      &&
                      tour._embedded[
                        "wp:featuredmedia"
                      ][0].source_url
                    )
                    ||
                    btl.image
                    ||
                    btl.featured_image
                    ||
                    acf.gallery_1
                    ||
                    acf.featured_image
                    ||
                    "https://via.placeholder.com/160x120?text=Best+Tours+in+Lima",


                  price:
                    btl.price_from
                    ||
                    acf.price_from
                    ||
                    "",


                  currency:
                    btl.currency
                    ||
                    acf.currency
                    ||
                    "USD",


                  duration:
                    this.cleanText(
                      btl.duracion
                      ||
                      acf.duracion
                      ||
                      "Full Day"
                    ),


                  region:
                    this.cleanText(
                      btl.region
                      ||
                      acf.region
                      ||
                      "Lima"
                    )

                };

              }
            )
          : [];


    }catch(error){

      console.error(
        "Error cargando tours en el buscador:",
        error
      );


      this.tours = [];

    }

  }


  /* =======================================================
     LIMPIAR TEXTO HTML
  ======================================================== */

  cleanText(value){

    const element =
      document.createElement(
        "div"
      );


    element.innerHTML =
      value || "";


    return (
      element.textContent
      ||
      element.innerText
      ||
      ""
    ).trim();

  }


  /* =======================================================
     ESCAPAR HTML
  ======================================================== */

  escapeHTML(value){

    return String(
      value || ""
    )
      .replace(/&/g,"&amp;")
      .replace(/</g,"&lt;")
      .replace(/>/g,"&gt;")
      .replace(/"/g,"&quot;")
      .replace(/'/g,"&#039;");

  }


  /* =======================================================
     NORMALIZAR TEXTO PARA BÚSQUEDA
  ======================================================== */

  normalizeText(value){

    return String(
      value || ""
    )
      .trim()
      .toLowerCase()
      .normalize("NFD")
      .replace(
        /[\u0300-\u036f]/g,
        ""
      );

  }


  /* =======================================================
     FORMATEAR PRECIO
  ======================================================== */

  formatPrice(
    currency,
    price
  ){

    if(
      price === ""
      ||
      price === null
      ||
      typeof price === "undefined"
    ){

      return "Consultar";

    }


    const currentCurrency =
      String(
        currency || "USD"
      ).trim();


    const currentPrice =
      String(
        price
      ).trim();


    if(currentCurrency === "USD"){

      return (
        "USD "
        +
        currentPrice
      );

    }


    if(currentCurrency === "PEN"){

      return (
        "S/ "
        +
        currentPrice
      );

    }


    if(currentCurrency === "EUR"){

      return (
        "€ "
        +
        currentPrice
      );

    }


    if(currentCurrency === "$"){

      return (
        "USD "
        +
        currentPrice
      );

    }


    return (
      currentCurrency
      +
      " "
      +
      currentPrice
    );

  }


  /* =======================================================
     FILTRAR TOURS
  ======================================================== */

  filterTours(query){

    const normalizedQuery =
      this.normalizeText(
        query
      );


    if(!normalizedQuery){

      return [];

    }


    return this.tours
      .filter(
        (tour) => {


          const searchableText =
            this.normalizeText(
              [
                tour.title,
                tour.region,
                tour.duration
              ].join(" ")
            );


          return searchableText.includes(
            normalizedQuery
          );

        }
      )
      .slice(
        0,
        6
      );

  }


  /* =======================================================
     CERRAR AL HACER CLIC FUERA
  ======================================================== */

  handleOutsideClick(event){

    const path =
      event.composedPath();


    if(!path.includes(this)){

      const resultsBox =
        this.shadowRoot
          ? this.shadowRoot.querySelector(
              ".results"
            )
          : null;


      if(resultsBox){

        resultsBox.innerHTML = "";

        resultsBox.classList.remove(
          "is-visible"
        );

      }

    }

  }


  /* =======================================================
     RENDERIZAR COMPONENTE
  ======================================================== */

  render(){

    this.shadowRoot.innerHTML = `

      <style>

        /* =================================================
           VARIABLES
        ================================================= */

        :host{
          --btl-green:#203A31;
          --btl-green-medium:#29483D;
          --btl-green-dark:#11271F;
          --btl-green-deep:#091A15;

          --btl-cream:#E8D8AD;
          --btl-cream-light:#F8F5EE;
          --btl-cream-soft:#FCFAF5;

          --btl-gold:#D5A755;
          --btl-gold-light:#E7C378;
          --btl-gold-dark:#B7873E;

          --btl-text:#17211D;
          --btl-muted:#66736D;
          --btl-border:#DED9CD;
          --btl-white:#FFFFFF;

          position:relative;
          z-index:9999;

          display:block;

          width:100%;
          max-width:920px;

          margin:0 auto;
          padding:0 !important;

          border:0 !important;

          outline:0 !important;

          box-shadow:none !important;

          font-family:
            "Poppins",
            Arial,
            Helvetica,
            sans-serif;

          line-height:normal;
        }


        *,
        *::before,
        *::after{
          box-sizing:border-box;
        }


        /* =================================================
           CONTENEDOR
        ================================================= */

        .box{
          position:relative;
          z-index:9999;

          width:100%;

          margin:0;
          padding:0;

          overflow:visible;

          border:0;
          outline:0;

          box-shadow:none;
        }


        /* =================================================
           BARRA DE BÚSQUEDA
        ================================================= */

        .search-shell{
          position:relative;
          z-index:2;

          width:100%;
          min-height:48px;

          display:flex;
          align-items:center;
          gap:11px;

          margin:0;

          padding:
            5px
            6px
            5px
            18px;

          overflow:visible;

          border:
            1px solid rgba(17,39,31,.42);

          border-radius:13px;

          background:
            rgba(255,255,255,.99);

          box-shadow:
            0 12px 30px rgba(17,39,31,.12);

          transition:
            border-color .22s ease,
            box-shadow .22s ease,
            background-color .22s ease;
        }


        .search-shell:focus-within{
          border-color:
            var(--btl-gold-dark);

          background:
            var(--btl-white);

          box-shadow:
            0 15px 36px rgba(17,39,31,.14),
            0 0 0 3px rgba(213,167,85,.14);
        }


        /* =================================================
           ICONO
        ================================================= */

        .left-icon{
          width:17px;
          height:17px;

          display:flex;
          align-items:center;
          justify-content:center;

          flex:
            0
            0
            auto;

          opacity:.88;
        }


        .left-icon svg{
          width:100%;
          height:100%;

          fill:none;

          stroke:
            var(--btl-green-dark);

          stroke-width:2;
          stroke-linecap:round;
          stroke-linejoin:round;
        }


        /* =================================================
           INPUT
        ================================================= */

        input{
          width:100%;
          height:36px;
          min-width:0;

          margin:0;
          padding:0;

          border:0;
          outline:none;

          background:transparent;

          color:
            var(--btl-green-dark);

          font-family:
            "Poppins",
            Arial,
            Helvetica,
            sans-serif;

          font-size:13px;
          font-weight:600;
          line-height:1.2;

          box-shadow:none;

          appearance:none;
          -webkit-appearance:none;
        }


        input::-webkit-search-cancel-button{
          cursor:pointer;
        }


        input::placeholder{
          color:#77847E;

          font-weight:500;

          opacity:1;
        }


        /* =================================================
           BOTÓN
        ================================================= */

        .search-btn{
          flex:
            0
            0
            auto;

          min-width:108px;
          height:36px;

          display:inline-flex;
          align-items:center;
          justify-content:center;
          gap:9px;

          margin:0;

          padding:
            0
            19px;

          border:
            1px solid var(--btl-gold);

          border-radius:9px;

          background:
            linear-gradient(
              135deg,
              var(--btl-gold-light),
              var(--btl-gold)
            );

          color:
            var(--btl-green-deep);

          font-family:
            "Poppins",
            Arial,
            Helvetica,
            sans-serif;

          font-size:10.5px;
          font-weight:750;
          line-height:1;

          letter-spacing:.04em;
          text-transform:uppercase;

          cursor:pointer;

          box-shadow:
            0 8px 18px rgba(17,39,31,.14);

          transition:
            transform .2s ease,
            background .2s ease,
            border-color .2s ease,
            box-shadow .2s ease;
        }


        .search-btn svg{
          width:14px;
          height:14px;

          fill:none;

          stroke:currentColor;

          stroke-width:1.8;
          stroke-linecap:round;
          stroke-linejoin:round;

          transition:
            transform .2s ease;
        }


        .search-btn:hover{
          transform:
            translateY(-1px);

          border-color:
            var(--btl-cream);

          background:
            var(--btl-cream);

          box-shadow:
            0 11px 23px rgba(17,39,31,.18);
        }


        .search-btn:hover svg{
          transform:
            translateX(2px);
        }


        .search-btn:focus-visible{
          outline:
            2px solid var(--btl-green-dark);

          outline-offset:2px;
        }


        /* =================================================
           RESULTADOS
        ================================================= */

        .results{
          position:absolute;

          top:
            calc(100% + 10px);

          right:0;
          left:0;

          z-index:999999;

          display:none;

          max-height:430px;

          overflow-x:hidden;
          overflow-y:auto;

          border:
            1px solid var(--btl-border);

          border-radius:16px;

          background:
            rgba(255,255,255,.995);

          box-shadow:
            0 24px 55px rgba(17,39,31,.22);

          scrollbar-width:thin;
          scrollbar-color:
            var(--btl-gold)
            var(--btl-cream-light);
        }


        .results.is-visible{
          display:block;
        }


        .results::-webkit-scrollbar{
          width:7px;
        }


        .results::-webkit-scrollbar-track{
          background:
            var(--btl-cream-light);
        }


        .results::-webkit-scrollbar-thumb{
          border-radius:999px;

          background:
            var(--btl-gold);
        }


        /* =================================================
           RESULTADO INDIVIDUAL
        ================================================= */

        .item{
          position:relative;

          min-height:78px;

          display:flex;
          align-items:center;
          gap:13px;

          padding:
            10px
            13px;

          border-bottom:
            1px solid rgba(222,217,205,.72);

          background:
            var(--btl-white);

          cursor:pointer;

          transition:
            background-color .2s ease;
        }


        .item:last-child{
          border-bottom:0;
        }


        .item:hover,
        .item:focus-visible{
          background:
            var(--btl-cream-soft);

          outline:none;
        }


        .item::after{
          content:"›";

          position:absolute;

          top:50%;
          right:15px;

          color:
            var(--btl-gold-dark);

          font-family:
            Georgia,
            "Times New Roman",
            serif;

          font-size:22px;
          line-height:1;

          opacity:0;

          transform:
            translateY(-50%);

          transition:
            opacity .2s ease,
            transform .2s ease;
        }


        .item:hover::after,
        .item:focus-visible::after{
          opacity:1;

          transform:
            translateY(-50%)
            translateX(2px);
        }


        /* =================================================
           IMAGEN DEL RESULTADO
        ================================================= */

        .item-image{
          position:relative;

          width:68px;
          height:55px;

          flex:
            0
            0
            68px;

          overflow:hidden;

          border:
            1px solid rgba(222,217,205,.90);

          border-radius:10px;

          background:#EEF1ED;
        }


        .item-image img{
          width:100%;
          height:100%;

          display:block;

          object-fit:cover;
        }


        .item-image::after{
          content:"";

          position:absolute;
          inset:0;

          pointer-events:none;

          background:
            linear-gradient(
              to top,
              rgba(9,26,21,.14),
              transparent 52%
            );
        }


        /* =================================================
           INFORMACIÓN
        ================================================= */

        .info{
          min-width:0;

          flex:1;

          padding-right:25px;
        }


        .title{
          display:-webkit-box;

          margin:
            0
            0
            6px;

          overflow:hidden;

          color:
            var(--btl-green-dark);

          font-size:13px;
          font-weight:700;
          line-height:1.3;
          letter-spacing:-.015em;

          -webkit-line-clamp:1;
          -webkit-box-orient:vertical;
        }


        .meta{
          display:flex;
          align-items:center;
          flex-wrap:wrap;
          gap:6px;

          color:
            var(--btl-muted);

          font-size:10.5px;
          font-weight:500;
          line-height:1.3;
        }


        .meta-dot{
          width:3px;
          height:3px;

          display:inline-block;

          border-radius:999px;

          background:
            var(--btl-gold-dark);
        }


        .price{
          color:
            var(--btl-green-medium);

          font-weight:700;
        }


        /* =================================================
           SIN RESULTADOS
        ================================================= */

        .empty{
          padding:
            20px
            18px;

          color:
            var(--btl-muted);

          font-size:12px;
          font-weight:500;
          line-height:1.5;

          text-align:center;
        }


        .empty strong{
          display:block;

          margin-bottom:4px;

          color:
            var(--btl-green-dark);

          font-family:
            Georgia,
            "Times New Roman",
            serif;

          font-size:16px;
          font-weight:400;
        }


        /* =================================================
           TABLET
        ================================================= */

        @media(max-width:768px){

          :host{
            width:100%;
            max-width:100%;

            margin:0 auto;
          }


          .search-shell{
            min-height:50px;

            gap:9px;

            padding:
              4px
              5px
              4px
              14px;

            border-radius:11px;
          }


          input{
            height:38px;

            font-size:12px;
          }


          .search-btn{
            min-width:88px;
            height:40px;

            padding:
              0
              14px;

            border-radius:8px;

            font-size:9.5px;
          }


          .left-icon{
            width:16px;
            height:16px;
          }


          .results{
            top:
              calc(100% + 8px);

            max-height:350px;

            border-radius:14px;
          }


          .item{
            min-height:72px;

            gap:11px;

            padding:
              9px
              11px;
          }


          .item-image{
            width:61px;
            height:51px;

            flex-basis:61px;

            border-radius:9px;
          }


          .title{
            font-size:12.5px;
          }


          .meta{
            font-size:9.8px;
          }

        }


        /* =================================================
           MÓVIL
        ================================================= */

        @media(max-width:470px){

          .search-shell{
            gap:7px;

            padding-left:12px;
          }


          input{
            font-size:11.5px;
          }


          input::placeholder{
            font-size:11.2px;
          }


          .search-btn{
            width:42px;
            min-width:42px;
            height:40px;

            padding:0;

            border-radius:8px;

            font-size:0;
          }


          .search-btn span{
            display:none;
          }


          .search-btn svg{
            width:16px;
            height:16px;
          }


          .item::after{
            display:none;
          }


          .info{
            padding-right:0;
          }

        }


        /* =================================================
           TELÉFONOS PEQUEÑOS
        ================================================= */

        @media(max-width:350px){

          input::placeholder{
            font-size:10.4px;
          }


          .left-icon{
            display:none;
          }


          .search-shell{
            padding-left:11px;
          }

        }


        /* =================================================
           MOVIMIENTO REDUCIDO
        ================================================= */

        @media(prefers-reduced-motion:reduce){

          *,
          *::before,
          *::after{
            animation:none !important;
            transition:none !important;
            scroll-behavior:auto !important;
          }

        }

      <\/style>


      <!-- =================================================
           ESTRUCTURA
      ================================================== -->

      <div class="box">

        <div class="search-shell">

          <div
            class="left-icon"
            aria-hidden="true"
          >

            <svg viewBox="0 0 24 24">

              <circle
                cx="11"
                cy="11"
                r="7"
              ></circle>

              <line
                x1="16.65"
                y1="16.65"
                x2="21"
                y2="21"
              ></line>

            </svg>

          </div>


          <input
            type="search"
            placeholder="Buscar tours: Lima, Barranco, Paracas, Huacachina..."
            aria-label="Buscar tours y experiencias"
            autocomplete="off"
            spellcheck="false"
          >


          <button
            class="search-btn"
            type="button"
            aria-label="Buscar tours"
          >

            <span>
              Buscar
            </span>


            <svg
              viewBox="0 0 24 24"
              aria-hidden="true"
            >

              <path d="M5 12h14"></path>

              <path d="m13 6 6 6-6 6"></path>

            </svg>

          </button>

        </div>


        <div
          class="results"
          role="listbox"
          aria-label="Resultados de búsqueda"
        ></div>

      </div>

    `;


    /* =====================================================
       ELEMENTOS DEL COMPONENTE
    ====================================================== */

    const input =
      this.shadowRoot.querySelector(
        "input"
      );


    const resultsBox =
      this.shadowRoot.querySelector(
        ".results"
      );


    const button =
      this.shadowRoot.querySelector(
        ".search-btn"
      );


    /* =====================================================
       CERRAR RESULTADOS
    ====================================================== */

    const closeResults =
      function(){

        resultsBox.innerHTML = "";

        resultsBox.classList.remove(
          "is-visible"
        );

      };


    /* =====================================================
       MOSTRAR RESULTADOS
    ====================================================== */

    const renderResults =
      (items) => {


        if(!items.length){

          resultsBox.innerHTML = `

            <div class="empty">

              <strong>
                No encontramos resultados
              </strong>

              Prueba con Lima, Barranco, Paracas o Huacachina.

            </div>

          `;


          resultsBox.classList.add(
            "is-visible"
          );


          return;

        }


        resultsBox.innerHTML =
          items
            .map(
              (tour) => {


                const priceText =
                  this.formatPrice(
                    tour.currency,
                    tour.price
                  );


                const safeTitle =
                  this.escapeHTML(
                    tour.title
                  );


                const safeImage =
                  this.escapeHTML(
                    tour.img
                  );


                const safeDuration =
                  this.escapeHTML(
                    tour.duration
                  );


                const safeLink =
                  this.escapeHTML(
                    tour.link
                  );


                return `

                  <div
                    class="item"
                    data-link="${safeLink}"
                    role="option"
                    tabindex="0"
                    aria-label="${safeTitle}"
                  >

                    <div class="item-image">

                      <img
                        src="${safeImage}"
                        alt="${safeTitle}"
                        loading="lazy"
                      >

                    </div>


                    <div class="info">

                      <div class="title">
                        ${safeTitle}
                      </div>


                      <div class="meta">

                        <span>
                          ${safeDuration}
                        </span>


                        <span
                          class="meta-dot"
                          aria-hidden="true"
                        ></span>


                        <span class="price">
                          Desde ${this.escapeHTML(priceText)}
                        </span>

                      </div>

                    </div>

                  </div>

                `;

              }
            )
            .join("");


        resultsBox.classList.add(
          "is-visible"
        );


        resultsBox
          .querySelectorAll(
            ".item"
          )
          .forEach(
            function(element){


              const openTour =
                function(){

                  const destination =
                    element.dataset.link;


                  if(destination){

                    window.location.href =
                      destination;

                  }

                };


              element.addEventListener(
                "click",
                openTour
              );


              element.addEventListener(
                "keydown",
                function(event){

                  if(
                    event.key === "Enter"
                    ||
                    event.key === " "
                  ){

                    event.preventDefault();

                    openTour();

                  }

                }
              );

            }
          );

      };


    /* =====================================================
       IR AL PRIMER RESULTADO
    ====================================================== */

    const goToFirstResult =
      () => {


        const value =
          input.value.trim();


        if(!value){

          input.focus();

          return;

        }


        const items =
          this.filterTours(
            value
          );


        if(!items.length){

          renderResults([]);

          return;

        }


        window.location.href =
          items[0].link;

      };


    /* =====================================================
       EVENTO DE ESCRITURA
    ====================================================== */

    input.addEventListener(
      "input",
      () => {


        const value =
          input.value.trim();


        if(!value){

          closeResults();

          return;

        }


        renderResults(
          this.filterTours(
            value
          )
        );

      }
    );


    /* =====================================================
       EVENTO DE ENFOQUE
    ====================================================== */

    input.addEventListener(
      "focus",
      () => {


        const value =
          input.value.trim();


        if(!value){

          return;

        }


        renderResults(
          this.filterTours(
            value
          )
        );

      }
    );


    /* =====================================================
       EVENTOS DE TECLADO
    ====================================================== */

    input.addEventListener(
      "keydown",
      (event) => {


        if(event.key === "Enter"){

          event.preventDefault();

          goToFirstResult();

        }


        if(event.key === "Escape"){

          closeResults();

          input.blur();

        }

      }
    );


    /* =====================================================
       BOTÓN
    ====================================================== */

    button.addEventListener(
      "click",
      goToFirstResult
    );

  }

}
if (!customElements.get('btl-premium-search')) {
  customElements.define('btl-premium-search', BTLPremiumSearch);
}
</script>

===== FIN HTML =====

SECCIÓN 3 — PHP DEL FRAGMENTO BTL BARRA ENCABEZADO
===== INICIO PHP =====
/* BTL: menú con cuenta e idioma solo para celular (hasta 767px).
   Reemplazar el fragmento actual completo; no añadir <?php al principio. */

if (!function_exists('btl_barra_navegacion_shortcode')) {

    function btl_barra_navegacion_shortcode() {

        static $barra_mostrada = false;

        if ($barra_mostrada) {
            return '';
        }

        $barra_mostrada = true;

        /*
         * Obtener los destinos creados en WordPress.
         * CPT: destino_peru
         */
        $destinos = get_posts(array(
            'post_type'      => 'destino_peru',
            'post_status'    => 'publish',
            'posts_per_page' => 30,
            'orderby'        => array(
                'menu_order' => 'ASC',
                'title'      => 'ASC'
            )
        ));

        ob_start();
        ?>

        <header class="btl-nav-premium" data-btl-nav-premium>

            <div class="btl-nav-premium__contenedor">

                <button
                    class="btl-nav-boton"
                    type="button"
                    aria-expanded="false"
                    aria-controls="btl-nav-drawer"
                    aria-label="Abrir menú de navegación"
                >
                    <span class="btl-nav-boton__icono">
                        <span></span>
                        <span></span>
                        <span></span>
                    </span>
                    <span class="btl-nav-boton__texto">Menú</span>
                </button>

            </div>

        </header>

        <!-- FONDO OSCURO -->
        <div class="btl-nav-overlay" data-btl-nav-overlay></div>

        <!-- PANEL LATERAL -->
        <aside class="btl-nav-drawer" id="btl-nav-drawer" aria-hidden="true" data-btl-nav-drawer>

            <div class="btl-nav-drawer__cabecera">
                <div>
                    <span>Explora el país</span>
                    <strong>Menú</strong>
                </div>
                <button class="btl-nav-drawer__cerrar" type="button" aria-label="Cerrar menú" data-btl-nav-cerrar>×</button>
            </div>

            <nav class="btl-nav-drawer__links" aria-label="Navegación principal">

                <a href="<?php echo esc_url(home_url('/lima/')); ?>">
                    Destinos Lima
                </a>

                <div class="btl-nav-drawer__grupo">

                    <button
                        class="btl-nav-drawer__grupo-boton"
                        type="button"
                        aria-expanded="false"
                    >
                        <span>Destinos del Perú</span>
                        <span class="btl-nav-drawer__signo">+</span>
                    </button>

                    <div class="btl-nav-drawer__sublista">

                        <?php if (!empty($destinos)) : ?>

                            <?php foreach ($destinos as $destino) : ?>

                                <a href="<?php echo esc_url(get_permalink($destino->ID)); ?>">
                                    <?php echo esc_html(get_the_title($destino->ID)); ?>
                                </a>

                            <?php endforeach; ?>

                        <?php endif; ?>

                        <a
                            class="btl-nav-drawer__ver-todos"
                            href="<?php echo esc_url(home_url('/destinos-del-peru/')); ?>"
                        >
                            Ver todos los destinos →
                        </a>

                    </div>

                </div>

                <a href="<?php echo esc_url(home_url('/tours/')); ?>">
                    Tours
                </a>

                <a
                    class="btl-nav-drawer__ofertas"
                    href="<?php echo esc_url(home_url('/ofertas/')); ?>"
                >
                    Ofertas
                </a>

                <a href="<?php echo esc_url(home_url('/resenas/')); ?>">
                    Reseñas
                </a>

                <a href="<?php echo esc_url(home_url('/nosotros/')); ?>">
                    Nosotros
                </a>

            </nav>

            <section class="btl-nav-drawer__servicios" aria-label="Cuenta e idioma">
                <div class="btl-nav-drawer__cuenta">
                    <?php
                    if (shortcode_exists('btl_account_button')) {
                        echo do_shortcode('[btl_account_button]');
                    } else {
                        $cuenta_url = function_exists('wc_get_page_permalink')
                            ? wc_get_page_permalink('myaccount') : wp_login_url();
                        ?>
                        <a class="btl-dynamic-account" href="<?php echo esc_url($cuenta_url); ?>">
                            <span class="btl-account-icon" aria-hidden="true">♙</span>
                            <span class="btl-account-text"><?php echo is_user_logged_in() ? 'Mi cuenta' : 'Iniciar sesión'; ?></span>
                        </a>
                        <?php
                    }
                    ?>
                </div>
                <div class="btl-nav-drawer__idioma">
                    <span class="btl-nav-drawer__etiqueta">Idioma</span>
                    <div data-btl-nav-language-slot></div>
                </div>
            </section>

        </aside>

        <style>
    :root {
        --btl-verde: #203A31;
        --btl-verde-oscuro: #11271F;
        --btl-verde-profundo: #091A15;
        --btl-crema: #E8D8AD;
        --btl-dorado: #D5A755;
        --btl-dorado-claro: #E7C378;
        --btl-blanco: #FFFFFF;
        --btl-borde: #E4E1D7;
    }

    .btl-nav-premium,
    .btl-nav-premium *,
    .btl-nav-drawer,
    .btl-nav-drawer * {
        box-sizing: border-box;
    }

    .btl-nav-premium a {
        text-decoration: none !important;
    }

    /* SIN FRANJA VERDE — EL HEADER SOLO ENVUELVE EL BOTÓN, DEL TAMAÑO DE SU CONTENIDO */

    .btl-nav-premium {
        display: inline-flex !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
        z-index: 1000 !important;
        pointer-events: auto !important;
        overflow: visible !important;
        background: transparent !important;
        font-family: Poppins, Arial, sans-serif;
    }

    .btl-nav-premium__contenedor {
        display: flex;
        align-items: center;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* BOTÓN HAMBURGUESA — VISIBLE SIEMPRE: COMPU, LAPTOP, TABLET Y CELULAR */

    .btl-nav-boton {
        height: 48px;
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 0 18px;
        border: 1px solid rgba(232, 216, 173, .28);
        border-radius: 24px;
        background: linear-gradient(135deg, #203A31 0%, #11271F 60%, #091A15 100%);
        box-shadow: 0 10px 22px rgba(9, 26, 21, .18);
        cursor: pointer;
        position: relative;
        z-index: 1001;
        pointer-events: auto !important;
        touch-action: manipulation;
        transition: box-shadow .2s ease, transform .15s ease;
    }

    .btl-nav-boton:hover {
        box-shadow: 0 12px 26px rgba(9, 26, 21, .26);
        transform: translateY(-1px);
    }

    .btl-nav-boton__icono {
        width: 20px;
        height: 15px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        flex-shrink: 0;
    }

    .btl-nav-boton__icono span {
        width: 100%;
        height: 2px;
        border-radius: 3px;
        background: var(--btl-dorado-claro);
        transition: transform .2s ease, opacity .2s ease;
    }

    .btl-nav-boton__texto {
        color: var(--btl-crema);
        font-size: 13px;
        font-weight: 600;
        letter-spacing: .3px;
        white-space: nowrap;
    }

    @media (max-width: 767px) {
        .btl-nav-boton {
            width: 48px;
            height: 48px;
            padding: 0;
            border-radius: 50%;
            justify-content: center;
        }

        .btl-nav-boton__texto {
            display: none;
        }
    }

    .btl-nav-boton[aria-expanded="true"] .btl-nav-boton__icono span:nth-child(1) {
        transform: translateY(10px) rotate(45deg);
    }

    .btl-nav-boton[aria-expanded="true"] .btl-nav-boton__icono span:nth-child(2) {
        opacity: 0;
    }

    .btl-nav-boton[aria-expanded="true"] .btl-nav-boton__icono span:nth-child(3) {
        transform: translateY(-10px) rotate(-45deg);
    }

    /* FONDO OSCURO */

    .btl-nav-overlay {
        position: fixed;
        inset: 0;
        z-index: 99991;
        background: rgba(9, 26, 21, .58);
        backdrop-filter: blur(5px);
        -webkit-backdrop-filter: blur(5px);
        opacity: 0;
        visibility: hidden;
        transition: opacity .25s ease, visibility .25s ease;
    }

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

    /* PANEL LATERAL */

    .btl-nav-drawer {
        position: fixed;
        top: 0;
        right: 0;
        z-index: 99992;
        width: min(90vw, 400px);
        height: 100vh;
        overflow-y: auto;
        background: linear-gradient(180deg, #FFFFFF 0%, #FCFAF5 100%);
        box-shadow: -18px 0 48px rgba(9, 26, 21, .22);
        transform: translateX(105%);
        transition: transform .32s cubic-bezier(.4, 0, .2, 1);
        font-family: Poppins, Arial, sans-serif;
        padding: 24px 22px 30px;
    }

    .btl-nav-drawer.is-open {
        transform: translateX(0);
    }

    .btl-nav-drawer__cabecera {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 20px;
    }

    .btl-nav-drawer__cabecera span {
        display: block;
        margin-bottom: 4px;
        color: #B7873E;
        font-size: 9px;
        font-weight: 700;
        letter-spacing: 1.3px;
        text-transform: uppercase;
    }

    .btl-nav-drawer__cabecera strong {
        display: block;
        color: var(--btl-verde-profundo);
        font-family: Georgia, serif;
        font-size: 23px;
        line-height: 1.2;
    }

    .btl-nav-drawer__cerrar {
        width: 42px;
        height: 42px;
        border: none;
        border-radius: 50%;
        background: var(--btl-verde-oscuro);
        color: #FFFFFF;
        font-size: 26px;
        line-height: 1;
        cursor: pointer;
        box-shadow: 0 10px 22px rgba(17, 39, 31, .18);
    }

    .btl-nav-drawer__links {
        display: flex;
        flex-direction: column;
    }

    .btl-nav-drawer__links > a,
    .btl-nav-drawer__grupo-boton {
        min-height: 54px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 0 4px;
        border: 0;
        border-bottom: 1px solid var(--btl-borde);
        background: transparent;
        color: var(--btl-verde-profundo) !important;
        font-size: 14px;
        font-weight: 600;
        text-align: left;
        cursor: pointer;
    }

    .btl-nav-drawer__ofertas {
        color: #B7873E !important;
    }

    .btl-nav-drawer__signo {
        color: #B7873E;
        font-size: 20px;
        font-weight: 400;
        transition: transform .2s ease;
    }

    .btl-nav-drawer__grupo.is-open .btl-nav-drawer__signo {
        transform: rotate(45deg);
    }

    .btl-nav-drawer__sublista {
        display: none;
        flex-direction: column;
        gap: 4px;
        padding: 8px 0 14px 12px;
        border-bottom: 1px solid var(--btl-borde);
    }

    .btl-nav-drawer__grupo.is-open .btl-nav-drawer__sublista {
        display: flex;
    }

    .btl-nav-drawer__sublista a {
        padding: 8px 6px;
        color: #66736D !important;
        font-size: 13px;
        font-weight: 500;
        border-radius: 8px;
        transition: background .15s ease, color .15s ease;
    }

    .btl-nav-drawer__sublista a:hover {
        background: #F8F5EE;
        color: var(--btl-verde) !important;
    }

    .btl-nav-drawer__ver-todos {
        color: var(--btl-verde) !important;
        font-weight: 700;
    }

    /* Servicios solo dentro del menú móvil y tablet. */
    .btl-nav-drawer__servicios { display: none; }
    @media (max-width: 767px) {
        .btl-nav-drawer__servicios {
            display: block;
            margin-top: 24px;
            padding: 18px;
            border: 1px solid #E4E1D7;
            border-radius: 16px;
            background: #F8F5EE;
        }
        body .btl-nav-drawer .btl-dynamic-account {
            display: flex !important;
            position: static !important;
            width: 100% !important;
            min-width: 0 !important;
            max-width: none !important;
            height: auto !important;
            min-height: 44px !important;
            max-height: none !important;
            padding: 12px 16px !important;
            gap: 8px !important;
            background: #203A31;
            color: #fff !important;
            border-radius: 12px !important;
            font-size: 14px !important;
            line-height: 1.4 !important;
            text-decoration: none !important;
            overflow: visible !important;
        }
        body .btl-nav-drawer .btl-dynamic-account .btl-account-icon {
            position: static !important;
            width: auto !important;
            height: auto !important;
            font-size: 18px !important;
        }
        body .btl-nav-drawer .btl-dynamic-account .btl-account-text {
            display: inline !important;
            font-size: 14px !important;
        }
        .btl-nav-drawer__idioma { margin-top: 18px; }
        .btl-nav-drawer__etiqueta {
            display: block;
            margin-bottom: 8px;
            color: #66736D;
            font-size: 12px;
            font-weight: 600;
        }
        .btl-nav-drawer [data-btl-nav-language-slot] {
            width: 100%;
            min-height: 44px;
        }
        .btl-nav-drawer [data-btl-nav-language-slot] > .elementor-widget-container,
        .btl-nav-drawer [data-btl-nav-language-slot] > .elementor-shortcode {
            display: block !important;
            width: 100% !important;
            max-width: none !important;
        }
    }
        <\/style>

        <script>
        (function () {
            /*
             * Control delegado: funciona aunque Elementor inserte o vuelva a
             * renderizar el Shortcode después de DOMContentLoaded.
             */
            if (window.btlNavPremiumDelegadoActivo) {
                return;
            }

            window.btlNavPremiumDelegadoActivo = true;

            function obtenerElementos() {
                return {
                    boton: document.querySelector('.btl-nav-boton'),
                    overlay: document.querySelector('[data-btl-nav-overlay]'),
                    drawer: document.querySelector('[data-btl-nav-drawer]')
                };
            }

            const vistaCompacta = window.matchMedia('(max-width: 767px)');
            let idiomaOriginal = null;
            let idiomaContenido = null;

            function actualizarIdioma() {
                const elementos = obtenerElementos();
                if (!elementos.drawer) return;
                const slot = elementos.drawer.querySelector('[data-btl-nav-language-slot]');
                if (!slot) return;

                if (!idiomaOriginal || !idiomaOriginal.isConnected) {
                    idiomaOriginal = Array.from(document.querySelectorAll('.btl-header-language'))
                        .find(function (elemento) {
                            return !elemento.closest('[data-btl-nav-drawer]') &&
                                   !elemento.closest('.elementor-sticky__spacer');
                        }) || null;
                    idiomaContenido = idiomaOriginal
                        ? (idiomaOriginal.querySelector(':scope > .elementor-widget-container') ||
                           idiomaOriginal.querySelector(':scope > .elementor-shortcode')) : null;
                }
                if (!idiomaOriginal || !idiomaContenido) return;
                if (vistaCompacta.matches) {
                    if (idiomaContenido.parentNode !== slot) slot.appendChild(idiomaContenido);
                } else if (idiomaContenido.parentNode !== idiomaOriginal) {
                    idiomaOriginal.appendChild(idiomaContenido);
                }
            }

            function prepararPanel() {
                const elementos = obtenerElementos();
                /* Fuera de los contenedores de Elementor: evita recortes y
                   reglas de ancho de los widgets del encabezado. */
                if (elementos.overlay && elementos.overlay.parentNode !== document.body) {
                    document.body.appendChild(elementos.overlay);
                }
                if (elementos.drawer && elementos.drawer.parentNode !== document.body) {
                    document.body.appendChild(elementos.drawer);
                }
                actualizarIdioma();
            }
            if (document.readyState === 'loading') {
                document.addEventListener('DOMContentLoaded', prepararPanel, { once: true });
            } else {
                prepararPanel();
            }
            vistaCompacta.addEventListener('change', actualizarIdioma);
            window.addEventListener('load', actualizarIdioma, { once: true });

            function abrirMenu() {
                prepararPanel();
                const elementos = obtenerElementos();

                if (!elementos.boton || !elementos.overlay || !elementos.drawer) {
                    return;
                }

                elementos.boton.setAttribute('aria-expanded', 'true');
                elementos.boton.setAttribute('aria-label', 'Cerrar menú de navegación');
                elementos.overlay.classList.add('is-open');
                elementos.drawer.classList.add('is-open');
                elementos.drawer.setAttribute('aria-hidden', 'false');
                document.documentElement.classList.add('btl-nav-abierto');
                document.body.classList.add('btl-nav-abierto');
                document.body.style.overflow = 'hidden';
            }

            function cerrarMenu() {
                const elementos = obtenerElementos();

                if (!elementos.boton || !elementos.overlay || !elementos.drawer) {
                    return;
                }

                elementos.boton.setAttribute('aria-expanded', 'false');
                elementos.boton.setAttribute('aria-label', 'Abrir menú de navegación');
                elementos.overlay.classList.remove('is-open');
                elementos.drawer.classList.remove('is-open');
                elementos.drawer.setAttribute('aria-hidden', 'true');
                document.documentElement.classList.remove('btl-nav-abierto');
                document.body.classList.remove('btl-nav-abierto');
                document.body.style.overflow = '';
            }

            document.addEventListener('click', function (evento) {
                const boton = evento.target.closest('.btl-nav-boton');

                if (boton) {
                    evento.preventDefault();
                    evento.stopPropagation();

                    const abierto = boton.getAttribute('aria-expanded') === 'true';
                    abierto ? cerrarMenu() : abrirMenu();
                    return;
                }

                if (evento.target.closest('[data-btl-nav-cerrar]')) {
                    evento.preventDefault();
                    cerrarMenu();
                    return;
                }

                if (evento.target.closest('[data-btl-nav-overlay]')) {
                    cerrarMenu();
                    return;
                }

                const grupoBoton = evento.target.closest('.btl-nav-drawer__grupo-boton');

                if (grupoBoton) {
                    evento.preventDefault();

                    const grupo = grupoBoton.closest('.btl-nav-drawer__grupo');

                    if (grupo) {
                        const abierto = grupo.classList.toggle('is-open');
                        grupoBoton.setAttribute('aria-expanded', abierto ? 'true' : 'false');
                    }

                    return;
                }

                if (evento.target.closest('.btl-nav-drawer__links a, .btl-nav-drawer__cuenta a')) {
                    cerrarMenu();
                }
            }, false);

            document.addEventListener('keydown', function (evento) {
                if (evento.key === 'Escape') {
                    cerrarMenu();
                }
            });
        })();
        </script>

        <?php
        return ob_get_clean();
    }

    add_shortcode(
        'btl_header_premium',
        'btl_barra_navegacion_shortcode'
    );
}
===== FIN PHP =====

SECCIÓN 4 — CSS PERSONALIZADO DEL WIDGET DE CUENTA
===== INICIO CUENTA =====
/* Estilo del widget de cuenta; visible desde 768px. */
.elementor-3 .elementor-element.elementor-element-856dda1 .btl-dynamic-account,
.elementor-3 .elementor-element.elementor-element-856dda1 .btl-account-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    height:42px;
    padding:0 22px;
    background:#10382f;
    color:#fff !important;
    border-radius:14px;
    font-size:14px;
    font-weight:600;
    text-decoration:none !important;
    transition:background .3s ease, color .3s ease;
    box-shadow:0 8px 18px rgba(0,0,0,.10);
}
.elementor-3 .elementor-element.elementor-element-856dda1 .btl-dynamic-account:hover,
.elementor-3 .elementor-element.elementor-element-856dda1 .btl-account-btn:hover {
    background:#d8ad58;
    color:#10382f !important;
}
.elementor-3 .elementor-element.elementor-element-856dda1 .btl-account-icon {
    display:inline-flex;
    align-items:center;
    font-size:15px;
}
@media (max-width:767px) {
    .elementor-3 .elementor-element.elementor-element-856dda1 { display:none !important; }
}

===== FIN CUENTA =====/* End custom CSS */