/* Esperanza Tourism public header
   Responsive desktop / tablet / mobile header using the existing dynamic navigation. */
:root{
  --tc-green:var(--brand-primary,#111111);
  --tc-gold:var(--brand-secondary,#f36f21);
  --tc-accent:var(--brand-secondary,#f36f21);
  --tc-ink:#111111;
  --tc-muted:#6f6f6f;
  --tc-paper:#ffffff;
  --tc-soft:#fff7f1;
  --tc-line:#ece9e6;
  --tc-shadow:0 18px 50px rgba(17,17,17,.12);
}
*{box-sizing:border-box}
.tc-front-shell{width:min(1420px,calc(100% - 48px));margin-inline:auto}

/* Top utility bar: desktop only */
.tc-topbar{position:relative;z-index:96;background:#111;color:#fff;font-family:var(--site-body-font,"Kumbh Sans",Arial,sans-serif);font-size:12px}
.tc-topbar-inner{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.tc-topbar-copy{color:rgba(255,255,255,.78);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tc-topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:18px;min-width:0}
.tc-topbar-contact{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;white-space:nowrap}
.tc-topbar-contact-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.08)}
.tc-topbar-contact-icon i{font-size:13px;color:var(--tc-accent)}
.tc-topbar-contact-copy{display:flex;align-items:center;gap:6px}
.tc-topbar-contact-copy small{color:rgba(255,255,255,.55);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.tc-topbar-contact-copy strong{font-size:11px;font-weight:500}
.tc-topbar-contact:hover strong,.tc-topbar-contact:focus-visible strong{color:var(--tc-accent)}
.tc-socials{display:flex;align-items:center;gap:6px}
.tc-socials a{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;color:#fff;text-decoration:none;background:rgba(255,255,255,.08);transition:.2s ease}
.tc-socials a:hover,.tc-socials a:focus-visible{background:var(--tc-accent);color:#fff;outline:none}

/* Sticky main header */
.tc-header{position:sticky!important;top:0!important;z-index:95;width:100%;background:#fff;border-bottom:1px solid rgba(17,17,17,.07);font-family:var(--site-body-font,"Kumbh Sans",Arial,sans-serif);box-shadow:0 6px 22px rgba(17,17,17,.055)}
.tc-header-main{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.tc-brand{display:inline-flex;align-items:center;min-width:0;max-width:300px;text-decoration:none;color:var(--tc-ink);flex:0 0 auto}
.tc-brand-logo{display:grid;place-items:center;min-width:0}
.tc-brand img{display:block;width:auto;max-width:178px;max-height:72px;object-fit:contain;object-position:left center;background:transparent}
.tc-brand-mark{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:#111;color:#fff;font-size:15px;font-weight:800;letter-spacing:.05em}
.tc-brand-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;margin-left:11px;line-height:1.08}
.tc-brand-name{font-family:var(--site-heading-font,"Playfair Display",Georgia,serif);font-size:21px;font-weight:700;white-space:nowrap}
.tc-brand-tagline{margin-top:4px;color:var(--tc-accent);font-size:9px;font-weight:700;letter-spacing:.035em;white-space:nowrap}

.tc-nav-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:max-content;margin-left:auto}
.tc-search-trigger,.tc-whatsapp-trigger,.tc-account-link,.tc-nav-cta,.tc-menu-toggle{font-family:inherit}
.tc-search-trigger,.tc-whatsapp-trigger,.tc-account-link{min-height:42px;padding:0 13px;border:1px solid #e5e2df;border-radius:999px;background:#fff;color:#171717;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;white-space:nowrap;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;transition:.2s ease}
.tc-search-trigger{cursor:pointer}
.tc-search-trigger i,.tc-whatsapp-trigger i,.tc-account-link i{font-size:16px}
.tc-whatsapp-trigger i{color:#20b85a}
.tc-search-trigger:hover,.tc-search-trigger:focus-visible,.tc-account-link:hover,.tc-account-link:focus-visible{border-color:var(--tc-accent);background:var(--tc-soft);outline:none}
.tc-whatsapp-trigger:hover,.tc-whatsapp-trigger:focus-visible{border-color:#20b85a;background:#f1fff6;outline:none}
.tc-account-link.is-logged-in{border-color:var(--tc-accent);background:var(--tc-soft)}
.tc-nav-cta{min-height:44px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--tc-accent);border-radius:999px;background:var(--tc-accent);color:#fff!important;text-decoration:none;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;transition:.2s ease}
.tc-nav-cta:hover,.tc-nav-cta:focus-visible{background:#111;border-color:#111;color:#fff!important;outline:none}
.tc-menu-toggle{width:46px;height:46px;border:1px solid #e5e2df;border-radius:50%;background:#fff;display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;padding:0;transition:.2s ease}
.tc-menu-toggle span{display:block;width:18px;height:1.8px;border-radius:999px;background:#111;transition:.2s ease}
.tc-menu-toggle:hover,.tc-menu-toggle:focus-visible{border-color:var(--tc-accent);background:var(--tc-soft);outline:none}


/* Compact tablet/mobile top row and persistent quick-action dock */
.tc-compact-language{display:none;align-items:center;justify-content:flex-start;min-width:0}
.tc-mobile-action-dock{display:none}

/* Desktop navigation rail */
.tc-nav-stage{border-top:1px solid #f1efed;background:#fff}
.tc-nav-rail{min-height:51px;display:flex;align-items:stretch;justify-content:center}
.tc-desktop-nav{width:100%;display:flex;align-items:stretch;justify-content:center;gap:2px;white-space:nowrap}
.tc-desktop-nav>a,.tc-nav-parent{position:relative;min-height:51px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;color:#272727;text-decoration:none;font:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:.2s ease}
.tc-nav-parent i{font-size:9px;color:#8c8c8c;transition:transform .2s ease}
.tc-desktop-nav>a::after,.tc-nav-parent::after{content:"";position:absolute;left:13px;right:13px;bottom:0;height:2px;background:var(--tc-accent);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}
.tc-desktop-nav>a:hover,.tc-desktop-nav>a:focus-visible,.tc-desktop-nav>a.is-active,.tc-nav-dropdown.is-active>.tc-nav-parent,.tc-nav-dropdown.submenu-open>.tc-nav-parent{color:var(--tc-accent);outline:none}
.tc-desktop-nav>a:hover::after,.tc-desktop-nav>a:focus-visible::after,.tc-desktop-nav>a.is-active::after,.tc-nav-dropdown.is-active>.tc-nav-parent::after,.tc-nav-dropdown.submenu-open>.tc-nav-parent::after{transform:scaleX(1)}
.tc-nav-dropdown{position:relative;display:flex;align-items:stretch}
.tc-nav-dropdown.submenu-open>.tc-nav-parent i{transform:rotate(180deg)}
.tc-nav-dropdown-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:120;min-width:255px;padding:10px;background:#fff;border:1px solid #eeeae7;border-radius:16px;box-shadow:var(--tc-shadow);opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.tc-nav-dropdown.submenu-open>.tc-nav-dropdown-panel{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.tc-nav-dropdown-panel>a{display:flex;align-items:center;min-height:40px;padding:8px 11px;border-radius:10px;color:#292929;text-decoration:none;font-size:12px;line-height:1.35;white-space:normal}
.tc-nav-dropdown-panel>a:hover,.tc-nav-dropdown-panel>a:focus-visible{background:var(--tc-soft);color:var(--tc-accent);outline:none}
.tc-nav-dropdown.is-mega{position:static}
.tc-nav-mega{left:50%;right:auto;width:min(980px,calc(100vw - 64px));transform:translate(-50%,8px);display:grid;grid-template-columns:260px 1fr;gap:22px;padding:22px}
.tc-nav-dropdown.submenu-open>.tc-nav-mega{transform:translate(-50%,0)}
.tc-nav-mega-intro{padding:20px;border-radius:14px;background:#111;color:#fff}
.tc-nav-mega-intro small{display:block;color:var(--tc-accent);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.tc-nav-mega-intro strong{display:block;margin-top:5px;font-family:var(--site-heading-font,"Playfair Display",Georgia,serif);font-size:27px}
.tc-nav-mega-intro p{margin:9px 0 16px;color:rgba(255,255,255,.72);font-size:12px;line-height:1.55}
.tc-nav-mega-intro a{color:#fff;text-decoration:none;font-size:11px;font-weight:700}
.tc-nav-mega-intro a i{margin-left:5px;color:var(--tc-accent)}
.tc-destination-country-accordion{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;align-content:start}
.tc-destination-country{border-bottom:1px solid #eeeae7}
.tc-destination-country-toggle{width:100%;min-height:43px;padding:0 3px;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;color:#222;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.tc-destination-country-toggle i{font-size:10px;transition:transform .2s ease}
.tc-destination-country.country-open .tc-destination-country-toggle{color:var(--tc-accent)}
.tc-destination-country.country-open .tc-destination-country-toggle i{transform:rotate(180deg)}
.tc-destination-country-panel{display:none;padding:0 0 8px}
.tc-destination-country.country-open .tc-destination-country-panel{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px}
.tc-destination-country-panel a{padding:6px 2px;color:#686868;text-decoration:none;font-size:11px;line-height:1.35}
.tc-destination-country-panel a:hover,.tc-destination-country-panel a:focus-visible{color:var(--tc-accent);outline:none}
.tc-country-all-link{font-weight:700;color:#222!important}

/* Language switcher */
.travel-language-switcher{position:relative}
.travel-lang-current{min-height:42px;padding:0 11px;border:1px solid #e5e2df;border-radius:999px;background:#fff;color:#222;display:flex;align-items:center;gap:6px;font:inherit;font-size:11px;font-weight:700;cursor:pointer}
.travel-lang-flag{width:22px;height:15px;object-fit:cover;border-radius:2px}
.travel-lang-current i{font-size:9px}
.travel-lang-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:150;min-width:185px;padding:8px;background:#fff;border:1px solid #eeeae7;border-radius:14px;box-shadow:var(--tc-shadow);opacity:0;visibility:hidden;transform:translateY(6px);pointer-events:none;transition:.18s ease}
.travel-language-switcher.is-open .travel-lang-menu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.travel-lang-option{width:100%;min-height:38px;padding:6px 8px;display:flex;align-items:center;gap:9px;border:0;border-radius:9px;background:transparent;color:#282828;font:inherit;font-size:11px;text-align:left;cursor:pointer}
.travel-lang-option:hover,.travel-lang-option:focus-visible{background:var(--tc-soft);color:var(--tc-accent);outline:none}

/* Off-canvas mobile / tablet navigation */
.tc-mobile-menu{position:fixed;inset:0;z-index:250;display:grid;grid-template-columns:1fr;pointer-events:none;visibility:hidden}
.tc-mobile-menu.is-open{pointer-events:auto;visibility:visible}
.tc-menu-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.55);opacity:0;transition:opacity .22s ease;cursor:pointer}
.tc-mobile-menu.is-open .tc-menu-backdrop{opacity:1}
.tc-menu-panel{position:absolute;top:0;right:0;width:min(430px,92vw);height:100%;display:flex;flex-direction:column;background:#fff;box-shadow:-20px 0 50px rgba(0,0,0,.18);transform:translateX(105%);transition:transform .26s ease;overflow:hidden}
.tc-mobile-menu.is-open .tc-menu-panel{transform:translateX(0)}
.tc-menu-head{min-height:78px;padding:11px 18px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #eeeae7}
.tc-mobile-brand{display:inline-flex;align-items:center;min-width:0;text-decoration:none;color:#111}
.tc-mobile-brand .tc-brand-logo img{display:block;width:auto;max-width:150px;max-height:58px;object-fit:contain;background:transparent}
.tc-menu-head>button{width:40px;height:40px;display:grid;place-items:center;border:1px solid #e7e3df;border-radius:50%;background:#fff;color:#111;cursor:pointer}
.tc-menu-head>button i{font-size:17px}
.tc-mobile-nav{flex:1;overflow-y:auto;padding:14px 17px 20px;overscroll-behavior:contain}
.tc-mobile-main-link,.tc-mobile-group-toggle{width:100%;min-height:50px;padding:0 4px;display:flex;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid #f0edeb;background:transparent;color:#1d1d1d;text-decoration:none;font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer}
.tc-mobile-main-link.is-active,.tc-mobile-nav-group.is-active>.tc-mobile-group-toggle,.tc-mobile-nav-group.submenu-open>.tc-mobile-group-toggle{color:var(--tc-accent)}
.tc-mobile-group-toggle i{font-size:11px;transition:transform .2s ease}
.tc-mobile-nav-group.submenu-open>.tc-mobile-group-toggle i{transform:rotate(180deg)}
.tc-mobile-submenu{display:none;padding:6px 0 12px 13px}
.tc-mobile-nav-group.submenu-open>.tc-mobile-submenu{display:block}
.tc-mobile-submenu>a{display:block;padding:9px 8px;color:#686868;text-decoration:none;font-size:12px;line-height:1.4;border-radius:8px}
.tc-mobile-submenu>a:hover,.tc-mobile-submenu>a:focus-visible{background:var(--tc-soft);color:var(--tc-accent);outline:none}
.tc-mobile-parent-link{color:#222!important;font-weight:700}
.tc-mobile-country{border-bottom:1px solid #f0edeb}
.tc-mobile-country-toggle{width:100%;min-height:42px;padding:0 8px;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;color:#333;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.tc-mobile-country-toggle i{font-size:10px;transition:.2s ease}
.tc-mobile-country.country-open>.tc-mobile-country-toggle{color:var(--tc-accent)}
.tc-mobile-country.country-open>.tc-mobile-country-toggle i{transform:rotate(180deg)}
.tc-mobile-country-panel{display:none;padding:3px 7px 9px}
.tc-mobile-country.country-open>.tc-mobile-country-panel{display:block}
.tc-mobile-country-panel a{display:block;padding:7px;color:#6d6d6d;text-decoration:none;font-size:11px}
.tc-mobile-language-wrap{padding:16px 0 4px}
.tc-mobile-language-wrap>small{display:block;margin-bottom:7px;color:#8a8a8a;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.travel-language-switcher-mobile .travel-lang-current{width:100%;justify-content:flex-start;border-radius:10px}
.travel-language-switcher-mobile .travel-lang-current i{margin-left:auto}
.travel-language-switcher-mobile .travel-lang-menu{left:0;right:0;min-width:0}
.tc-mobile-account-link{margin-top:12px;min-height:46px;padding:0 12px;display:flex;align-items:center;gap:9px;border:1px solid #e5e2df;border-radius:12px;color:#222;text-decoration:none;font-size:12px;font-weight:700}
.tc-mobile-account-link i{font-size:16px;color:var(--tc-accent)}
.tc-mobile-menu-footer{padding:16px 18px 20px;border-top:1px solid #eeeae7;background:#faf9f8}
.tc-mobile-contact{display:grid;gap:8px}
.tc-mobile-contact>a,.tc-mobile-contact>span{display:flex;align-items:center;gap:9px;color:#555;text-decoration:none;font-size:11px;min-width:0}
.tc-mobile-contact i{width:18px;text-align:center;color:var(--tc-accent)}
.tc-mobile-contact span span,.tc-mobile-contact a span{overflow-wrap:anywhere}
.tc-mobile-socials{display:flex;align-items:center;gap:7px;margin-top:13px}
.tc-mobile-socials a{width:34px;height:34px;display:grid;place-items:center;border:1px solid #e4e0dd;border-radius:50%;color:#222;text-decoration:none;background:#fff}
.tc-mobile-cta{width:100%;margin-top:14px;min-height:46px}
.tc-menu-lock{overflow:hidden}

/* Search overlay */
.tc-search-overlay{position:fixed;inset:0;z-index:300;display:flex;align-items:flex-start;justify-content:center;padding:8vh 20px 30px;visibility:hidden;pointer-events:none}
.tc-search-overlay.is-open{visibility:visible;pointer-events:auto}
.tc-search-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.62);opacity:0;transition:opacity .2s ease;cursor:pointer}
.tc-search-overlay.is-open .tc-search-backdrop{opacity:1}
.tc-search-dialog{position:relative;width:min(760px,100%);max-height:82vh;overflow:auto;padding:22px;border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.25);opacity:0;transform:translateY(-12px);transition:.22s ease}
.tc-search-overlay.is-open .tc-search-dialog{opacity:1;transform:translateY(0)}
.tc-search-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.tc-search-head>div{display:flex;flex-direction:column}
.tc-search-head small{color:var(--tc-accent);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.tc-search-head strong{margin-top:2px;font-family:var(--site-heading-font,"Playfair Display",Georgia,serif);font-size:25px;color:#111}
.tc-search-head button{width:40px;height:40px;border:1px solid #e5e2df;border-radius:50%;background:#fff;color:#111;cursor:pointer}
.tc-live-search{min-height:54px;padding:0 16px;display:flex;align-items:center;gap:11px;border:1px solid #dedad7;border-radius:15px;background:#fff}
.tc-live-search:focus-within{border-color:var(--tc-accent);box-shadow:0 0 0 3px rgba(243,111,33,.10)}
.tc-live-search>i{font-size:18px;color:var(--tc-accent)}
.tc-live-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:14px;color:#222}
.tc-search-spinner{width:17px;height:17px;border:2px solid #ece7e3;border-top-color:var(--tc-accent);border-radius:50%;animation:tcSpin .7s linear infinite}
@keyframes tcSpin{to{transform:rotate(360deg)}}
.tc-search-results{padding-top:12px}
.tc-search-result{display:grid;grid-template-columns:80px 1fr auto;gap:12px;align-items:start;padding:13px 4px;border-bottom:1px solid #eeeae7;color:#222;text-decoration:none}
.tc-search-result small{color:var(--tc-accent);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.tc-search-result strong{display:block;font-size:13px}
.tc-search-result p{margin:4px 0 0;color:#777;font-size:11px;line-height:1.45}
.tc-search-result>i{font-size:12px;color:#999}
.tc-search-empty{padding:18px 3px;color:#777;font-size:12px}

/* Tablet and mobile: admin-style compact header + bottom quick actions */
@media(max-width:1100px){
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
  .tc-topbar{display:none}
  .tc-front-shell{width:min(100% - 34px,1420px)}
  .tc-header-main{position:relative;min-height:76px;display:grid;grid-template-columns:minmax(86px,1fr) auto minmax(86px,1fr);align-items:center;gap:12px}
  .tc-compact-language{display:flex;grid-column:1;justify-self:start;z-index:2}
  .tc-compact-language .travel-language-switcher{display:block}
  .tc-compact-language .travel-lang-current{min-height:40px;padding:0 9px;border-radius:12px;background:#fff}
  .tc-compact-language .travel-lang-menu{left:0;right:auto;min-width:185px}
  .tc-brand{grid-column:2;justify-self:center;max-width:220px;margin:0}
  .tc-brand img{max-width:158px;max-height:62px;object-position:center}
  .tc-brand-copy{display:none}
  .tc-nav-actions{grid-column:3;justify-self:end;margin:0;min-width:0}
  .tc-nav-stage{display:none}
  .tc-menu-toggle{display:flex}
  .travel-language-switcher-desktop,.tc-account-link,.tc-nav-cta,.tc-search-trigger,.tc-whatsapp-trigger{display:none!important}

  .tc-mobile-action-dock{position:fixed;left:0;right:0;bottom:0;z-index:210;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:72px;padding-bottom:env(safe-area-inset-bottom,0px);background:#fff;border-top:1px solid #e8e4e0;box-shadow:0 -10px 30px rgba(17,17,17,.10);font-family:var(--site-body-font,"Kumbh Sans",Arial,sans-serif)}
  .tc-mobile-action-dock-item{appearance:none;-webkit-appearance:none;min-width:0;min-height:72px;padding:8px 5px;border:0;border-right:1px solid #f0eeec;background:#fff;color:#242424;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-decoration:none;font:inherit;cursor:pointer;transition:background .18s ease,color .18s ease}
  .tc-mobile-action-dock-item:last-child{border-right:0}
  .tc-mobile-action-dock-item i{font-size:20px;line-height:1;color:var(--tc-accent)}
  .tc-mobile-action-dock-item span{display:block;max-width:100%;font-size:10px;font-weight:700;line-height:1.15;text-align:center;white-space:normal}
  .tc-mobile-action-dock-item:hover,.tc-mobile-action-dock-item:focus-visible,.tc-mobile-action-dock-item.is-active{background:var(--tc-soft);color:#111;outline:none}
  .tc-mobile-action-quote i{color:var(--tc-accent)}
  .tc-mobile-action-whatsapp i{color:#20b85a}
  .tc-mobile-action-dock-item.is-disabled{opacity:.42;cursor:default}
  .tc-mobile-menu{bottom:0}
}

/* Phones */
@media(max-width:640px){
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}
  .tc-front-shell{width:calc(100% - 20px)}
  .tc-header-main{min-height:66px;grid-template-columns:minmax(72px,1fr) auto minmax(72px,1fr);gap:8px}
  .tc-compact-language .travel-lang-current{min-height:38px;padding:0 8px}
  .tc-compact-language .travel-lang-current span{font-size:10px}
  .tc-compact-language .travel-lang-flag{width:20px;height:14px}
  .tc-brand{max-width:145px}
  .tc-brand img{max-width:132px;max-height:52px}
  .tc-brand-mark{width:46px;height:46px;border-radius:13px}
  .tc-nav-actions{gap:0}
  .tc-menu-toggle{width:40px;height:40px}
  .tc-menu-toggle span{width:16px}
  .tc-menu-panel{width:min(390px,94vw)}
  .tc-menu-head{min-height:70px;padding:9px 14px}
  .tc-mobile-brand .tc-brand-logo img{max-width:135px;max-height:52px}
  .tc-mobile-nav{padding:11px 14px 18px}
  .tc-mobile-main-link,.tc-mobile-group-toggle{min-height:48px;font-size:13px}
  .tc-mobile-action-dock,.tc-mobile-action-dock-item{min-height:68px}
  .tc-mobile-action-dock-item{padding:7px 3px}
  .tc-mobile-action-dock-item i{font-size:19px}
  .tc-mobile-action-dock-item span{font-size:9px}
  .tc-search-overlay{padding:18px 10px 82px}
  .tc-search-dialog{margin-top:5vh;padding:16px;border-radius:18px}
  .tc-search-result{grid-template-columns:1fr auto;gap:7px}
  .tc-search-result small{grid-column:1/-1}
}

/* Narrow phones */
@media(max-width:380px){
  .tc-header-main{grid-template-columns:minmax(68px,1fr) auto minmax(68px,1fr)}
  .tc-brand{max-width:116px}
  .tc-brand img{max-width:108px}
  .tc-compact-language .travel-lang-current{padding:0 6px;gap:4px}
  .tc-compact-language .travel-lang-current i{display:none}
  .tc-mobile-action-dock-item span{font-size:8.5px}
}

@media(prefers-reduced-motion:reduce){
  .tc-nav-dropdown-panel,.tc-menu-panel,.tc-menu-backdrop,.tc-search-dialog,.tc-search-backdrop,.tc-menu-toggle span,.tc-nav-parent i{transition:none!important}
}

/* Esperanza language and search refinements */
.tc-header,.tc-header-main,.tc-compact-language{overflow:visible}
.tc-compact-language{position:relative;z-index:260}
.tc-compact-language .travel-language-switcher{position:relative;z-index:261}
.tc-compact-language .travel-lang-menu{z-index:280;max-height:min(360px,65vh);overflow:auto;overscroll-behavior:contain}

.tc-search-overlay{padding:7vh 20px 30px;background:transparent}
.tc-search-backdrop{background:rgba(12,12,12,.68);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.tc-search-dialog{width:min(820px,100%);padding:30px;border:1px solid rgba(17,17,17,.06);border-radius:28px;overflow:auto}
.tc-search-head{align-items:flex-start;margin-bottom:20px}
.tc-search-title-wrap{display:block!important;min-width:0}
.tc-search-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--tc-accent);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.tc-search-kicker i{font-size:13px}
.tc-search-head strong{display:block;margin-top:7px;font-family:var(--site-heading-font,"Playfair Display",Georgia,serif);font-size:clamp(25px,3vw,36px);line-height:1.1;color:#111}
.tc-search-head p{margin:8px 0 0;max-width:590px;color:#777;font-size:12px;line-height:1.55}
.tc-search-close{flex:0 0 auto;width:42px!important;height:42px!important;display:grid;place-items:center}
.tc-live-search{min-height:62px;padding:0 18px;border:1px solid #ddd8d4;border-radius:18px;background:#faf9f8;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.tc-live-search:focus-within{background:#fff;border-color:var(--tc-accent);box-shadow:0 0 0 4px rgba(243,111,33,.09)}
.tc-live-search>i{font-size:20px}
.tc-live-search input{font-size:15px}
.tc-search-clear{width:34px;height:34px;border:0;border-radius:50%;display:grid;place-items:center;background:transparent;color:#8b8b8b;cursor:pointer}
.tc-search-clear:hover,.tc-search-clear:focus-visible{background:#eeeae7;color:#222;outline:none}
.tc-search-clear[hidden]{display:none!important}
.tc-search-suggestions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:13px;color:#8a8a8a;font-size:10px}
.tc-search-suggestions>span{font-weight:700}
.tc-search-suggestions button{min-height:32px;padding:0 11px;border:1px solid #ebe6e2;border-radius:999px;background:#fff;color:#555;font:inherit;font-size:10px;font-weight:700;cursor:pointer}
.tc-search-suggestions button:hover,.tc-search-suggestions button:focus-visible{border-color:var(--tc-accent);background:var(--tc-soft);color:#111;outline:none}
.tc-search-results-head{margin-top:22px;padding-bottom:8px;border-bottom:1px solid #eeeae7;color:#8a8a8a;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.tc-search-results{padding-top:3px}
.tc-search-result{grid-template-columns:92px minmax(0,1fr) 38px;gap:14px;align-items:center;padding:14px 8px;border-bottom:1px solid #f0edeb;border-radius:10px;transition:background .16s ease}
.tc-search-result:hover,.tc-search-result:focus-visible{background:#fff8f3;outline:none}
.tc-search-result-type{align-self:start;margin-top:2px;color:var(--tc-accent);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.tc-search-result-copy{min-width:0}
.tc-search-result-copy strong{display:block;color:#222;font-size:13px;line-height:1.35}
.tc-search-result-copy p{margin:4px 0 0;color:#777;font-size:11px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tc-search-result-arrow{width:34px;height:34px;display:grid;place-items:center;border:1px solid #ece8e5;border-radius:50%;color:#777}
.tc-search-empty{min-height:130px;padding:28px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;color:#777;font-size:12px}
.tc-search-empty i{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--tc-soft);color:var(--tc-accent);font-size:18px}

@media(max-width:640px){
  .tc-search-overlay{padding:0 0 calc(68px + env(safe-area-inset-bottom,0px))}
  .tc-search-dialog{width:100%;height:100%;max-height:none;margin:0;padding:20px 16px 26px;border:0;border-radius:0;box-shadow:none}
  .tc-search-head{margin-top:4px}
  .tc-search-head strong{font-size:27px}
  .tc-search-head p{font-size:11px}
  .tc-live-search{min-height:56px;border-radius:15px}
  .tc-search-suggestions{margin-top:11px}
  .tc-search-result{grid-template-columns:1fr 36px;padding:13px 5px}
  .tc-search-result-type{grid-column:1/-1;margin-bottom:-6px}
  .tc-search-result-copy{grid-column:1}
  .tc-search-result-arrow{grid-column:2;grid-row:2}
}

/* Esperanza mobile viewport containment fix */
@media(max-width:1100px){
  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  .tc-header,
  .tc-header-main,
  .tc-front-shell,
  .tc-nav-actions,
  .tc-compact-language,
  .tc-brand,
  .tc-mobile-action-dock,
  .tc-mobile-menu,
  .tc-search-overlay,
  .tc-search-dialog{
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
  }

  .tc-front-shell{
    margin-left:auto;
    margin-right:auto;
  }

  .tc-mobile-action-dock{
    width:auto;
    max-width:none;
    left:0;
    right:0;
    overflow:hidden;
  }

  .tc-mobile-action-dock-item{
    min-width:0;
    max-width:100%;
    overflow:hidden;
  }

  .tc-mobile-action-dock-item span{
    overflow-wrap:anywhere;
  }

  .tc-menu-panel{
    max-width:94vw;
  }
}

@media(max-width:640px){
  .tc-header-main{
    width:100%;
    max-width:100%;
  }

  .tc-compact-language,
  .tc-nav-actions{
    min-width:0;
  }

  .tc-brand{
    min-width:0;
    width:auto;
  }
}


/* =========================================================
   Esperanza compact header: persistent tablet/mobile header
   Keep language, logo and menu visible throughout scrolling.
   ========================================================= */
@media (max-width:1100px){
  :root{
    --tc-fixed-header-height:76px;
  }

  .tc-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    z-index:240!important;
    background:#fff!important;
    transform:none!important;
    will-change:auto!important;
  }

  body{
    padding-top:var(--tc-fixed-header-height)!important;
  }

  .tc-header-main{
    height:var(--tc-fixed-header-height);
    min-height:var(--tc-fixed-header-height)!important;
  }

  /* Keep overlays above the persistent header. */
  .tc-mobile-menu,
  .tc-search-overlay{
    z-index:300!important;
  }
}

@media (max-width:640px){
  :root{
    --tc-fixed-header-height:66px;
  }

  .tc-header-main{
    height:var(--tc-fixed-header-height);
    min-height:var(--tc-fixed-header-height)!important;
  }
}

/* Desktop retains the existing sticky header behaviour. */
@media (min-width:1101px){
  .tc-header{
    position:sticky!important;
    top:0!important;
  }
}
