/* Travtur Language & Currency v5.1 — Premium Header UI, stable standalone translator */
:root{
  --ttlc-navy:#071a43;
  --ttlc-navy-2:#0d2a5b;
  --ttlc-text:#14213d;
  --ttlc-muted:#68758d;
  --ttlc-border:#e1e7f0;
  --ttlc-soft:#f5f8fc;
  --ttlc-soft-blue:#eef5ff;
  --ttlc-blue:#0876e8;
  --ttlc-shadow:0 18px 48px rgba(7,26,67,.16);
  --ttlc-shadow-soft:0 8px 24px rgba(7,26,67,.08);
}

/* Prevent raw USD prices flashing before localization. */
html.ttlc-prices-pending [data-base-price],
html.ttlc-prices-pending [data-ttgc-usd],
html.ttlc-prices-pending [data-usd]{visibility:hidden!important;}

[data-ttlc-price]{
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums!important;
  transition:none!important;
  animation:none!important;
}

/* Keep the private translation engine invisible and prevent translator banners from shifting layout. */
html,body{top:0!important;}
.goog-te-banner-frame.skiptranslate,
.VIpgJd-ZVi9od-ORHb-OEVmcd,
#goog-gt-tt,
.goog-te-balloon-frame{display:none!important;}

.ttgc-gtranslate-engine{
  position:fixed!important;left:-100000px!important;top:-100000px!important;
  width:1px!important;height:1px!important;overflow:hidden!important;
  opacity:0!important;pointer-events:none!important;z-index:-1!important;
}

/* ===== PREMIUM HEADER CONTROL DOCK ===== */
.ttlc-header-suite,
.ttlc-inline-suite,
.ttlc-floating-suite{
  display:inline-flex!important;
  align-items:center!important;
  gap:0!important;
  flex:0 0 auto!important;
  box-sizing:border-box!important;
  font-family:Inter,Arial,Helvetica,sans-serif!important;
  line-height:1!important;
}

.ttlc-header-suite{
  min-height:48px!important;
  padding:4px!important;
  border:1px solid rgba(7,26,67,.09)!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 8px 25px rgba(7,26,67,.07)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  overflow:visible!important;
}

.ttlc-header-suite *,
.ttlc-inline-suite *,
.ttlc-floating-suite *,
.ttlc-portal *{
  box-sizing:border-box!important;
  font-family:Inter,Arial,Helvetica,sans-serif!important;
}

.ttlc-pill{
  appearance:none!important;-webkit-appearance:none!important;
  position:relative!important;
  height:40px!important;
  min-width:82px!important;
  padding:0 11px!important;
  border:0!important;
  border-radius:13px!important;
  background:transparent!important;
  color:var(--ttlc-navy)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  margin:0!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:none!important;
  cursor:pointer!important;
  white-space:nowrap!important;
  text-transform:none!important;
  letter-spacing:.01em!important;
  transition:background .16s ease,box-shadow .16s ease,transform .16s ease!important;
}

.ttlc-currency-pill{margin-left:3px!important;}
.ttlc-currency-pill:before{
  content:""!important;
  position:absolute!important;
  left:-2px!important;top:9px!important;bottom:9px!important;
  width:1px!important;background:#e6ebf3!important;
}

.ttlc-pill:hover{
  background:#f5f8fc!important;
  box-shadow:inset 0 0 0 1px rgba(7,26,67,.045)!important;
  transform:translateY(-1px)!important;
}

.ttlc-pill[aria-expanded="true"]{
  background:linear-gradient(180deg,#f1f6ff 0%,#edf4ff 100%)!important;
  box-shadow:inset 0 0 0 1px rgba(8,118,232,.12)!important;
  color:#06285c!important;
}

.ttlc-pill:focus-visible{
  outline:3px solid rgba(8,118,232,.16)!important;
  outline-offset:2px!important;
}

.ttlc-pill-flag{
  width:25px!important;height:25px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  flex:0 0 25px!important;
  border-radius:50%!important;
  background:#f5f7fb!important;
  box-shadow:inset 0 0 0 1px rgba(7,26,67,.055)!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:16px!important;
  line-height:1!important;
  overflow:hidden!important;
}

.ttlc-pill-code{
  color:inherit!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:.025em!important;
}

.ttlc-chevron{
  width:7px!important;height:7px!important;
  margin-left:1px!important;
  border-right:1.7px solid currentColor!important;
  border-bottom:1.7px solid currentColor!important;
  transform:rotate(45deg) translateY(-2px)!important;
  transform-origin:center!important;
  flex:0 0 7px!important;
  opacity:.72!important;
  transition:transform .16s ease!important;
}
.ttlc-pill[aria-expanded="true"] .ttlc-chevron{transform:rotate(225deg) translate(-1px,-1px)!important;}

/* ===== POPOVER ===== */
.ttlc-portal{
  position:fixed!important;
  z-index:2147483000!important;
  max-width:calc(100vw - 24px)!important;
  max-height:calc(100vh - 24px)!important;
  padding:10px!important;
  margin:0!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.985)!important;
  border:1px solid #e2e8f1!important;
  border-radius:20px!important;
  box-shadow:0 24px 64px rgba(7,26,67,.19),0 3px 12px rgba(7,26,67,.06)!important;
  color:var(--ttlc-text)!important;
  isolation:isolate!important;
  direction:ltr!important;
  transform-origin:top right!important;
  animation:ttlcPop .14s ease-out both!important;
}
@keyframes ttlcPop{from{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}

.ttlc-popover-head{
  display:block!important;
  padding:9px 10px 12px!important;
  margin:0!important;
  border-bottom:1px solid #f0f3f7!important;
}
.ttlc-popover-title{
  margin:0!important;color:var(--ttlc-navy)!important;
  font-size:16px!important;font-weight:850!important;line-height:1.2!important;letter-spacing:-.01em!important;
}
.ttlc-popover-sub{
  margin:4px 0 0!important;color:var(--ttlc-muted)!important;
  font-size:12px!important;font-weight:500!important;line-height:1.4!important;
}

.ttlc-search-wrap{position:relative!important;margin:10px 3px 8px!important;}
.ttlc-search-icon{
  position:absolute!important;left:12px!important;top:50%!important;transform:translateY(-50%)!important;
  width:16px!important;height:16px!important;color:#76849b!important;pointer-events:none!important;
}
.ttlc-search-icon svg{width:16px!important;height:16px!important;stroke:currentColor!important;fill:none!important;stroke-width:2!important;}
.ttlc-search{
  width:100%!important;height:42px!important;
  border:1px solid #e0e6ef!important;border-radius:12px!important;
  background:#f8fafc!important;color:var(--ttlc-navy)!important;
  padding:0 12px 0 37px!important;margin:0!important;
  font-size:13px!important;font-weight:600!important;line-height:42px!important;
  outline:none!important;box-shadow:none!important;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease!important;
}
.ttlc-search:focus{border-color:#a6c5ed!important;background:#fff!important;box-shadow:0 0 0 3px rgba(8,118,232,.08)!important;}

.ttlc-list{
  max-height:min(318px,calc(100vh - 220px))!important;
  overflow:auto!important;overscroll-behavior:contain!important;
  padding:2px!important;margin:0!important;scrollbar-width:thin!important;
}
.ttlc-list::-webkit-scrollbar{width:7px!important;}
.ttlc-list::-webkit-scrollbar-thumb{background:#d9e1ec!important;border-radius:999px!important;}

.ttlc-option{
  width:100%!important;min-height:48px!important;
  border:0!important;background:transparent!important;border-radius:12px!important;
  display:grid!important;grid-template-columns:32px minmax(0,1fr) 20px!important;
  gap:10px!important;align-items:center!important;text-align:left!important;
  padding:7px 10px!important;margin:1px 0!important;cursor:pointer!important;
  color:var(--ttlc-text)!important;box-shadow:none!important;
  text-transform:none!important;letter-spacing:0!important;
  transition:background .13s ease,transform .13s ease!important;
}
.ttlc-option:hover{background:#f5f8fc!important;transform:translateX(1px)!important;}
.ttlc-option.is-active{background:linear-gradient(90deg,#eef5ff 0%,#f5f9ff 100%)!important;}

.ttlc-option-flag{
  width:30px!important;height:30px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border-radius:50%!important;background:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(7,26,67,.055)!important;
  text-align:center!important;font-size:18px!important;line-height:1!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
}
.ttlc-option-main{min-width:0!important;}
.ttlc-option-name{
  display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  color:var(--ttlc-navy)!important;font-size:13px!important;font-weight:800!important;line-height:1.25!important;
}
.ttlc-option-meta{display:block!important;margin-top:2px!important;color:var(--ttlc-muted)!important;font-size:11px!important;font-weight:600!important;line-height:1.2!important;}
.ttlc-option-check{
  width:20px!important;height:20px!important;border-radius:50%!important;background:var(--ttlc-blue)!important;
  display:flex!important;align-items:center!important;justify-content:center!important;color:#fff!important;opacity:0!important;
  box-shadow:0 3px 8px rgba(8,118,232,.22)!important;
}
.ttlc-option.is-active .ttlc-option-check{opacity:1!important;}
.ttlc-option-check:before{
  content:""!important;width:5px!important;height:9px!important;
  border-right:2px solid currentColor!important;border-bottom:2px solid currentColor!important;
  transform:rotate(45deg) translate(-1px,-1px)!important;
}

.ttlc-footer-action{margin-top:8px!important;padding:8px 3px 1px!important;border-top:1px solid #edf1f6!important;}
.ttlc-auto-button{
  width:100%!important;min-height:38px!important;border:0!important;border-radius:11px!important;
  background:transparent!important;color:var(--ttlc-navy)!important;padding:7px 8px!important;margin:0!important;
  font-size:12px!important;font-weight:800!important;text-align:center!important;cursor:pointer!important;
  box-shadow:none!important;text-transform:none!important;
}
.ttlc-auto-button:hover{background:#f5f8fc!important;}

.ttlc-inline-suite{padding:4px!important;border:1px solid var(--ttlc-border)!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--ttlc-shadow-soft)!important;}
.ttlc-floating-suite{
  position:fixed!important;left:18px!important;bottom:18px!important;z-index:2147481000!important;
  padding:4px!important;border:1px solid #e1e7f0!important;border-radius:17px!important;
  background:rgba(255,255,255,.97)!important;box-shadow:0 14px 38px rgba(7,26,67,.16)!important;
}

@media(max-width:1100px){
  .ttlc-header-suite{min-height:44px!important;border-radius:16px!important;padding:3px!important;}
  .ttlc-pill{height:38px!important;min-width:74px!important;padding:0 9px!important;gap:3px!important;}
  .ttlc-pill-flag{width:23px!important;height:23px!important;flex-basis:23px!important;font-size:15px!important;}
  .ttlc-pill-code{font-size:12px!important;}
}

@media(max-width:768px){
  .ttlc-header-suite{min-height:42px!important;padding:3px!important;border-radius:15px!important;}
  .ttlc-pill{height:36px!important;min-width:67px!important;padding:0 8px!important;gap:5px!important;}
  .ttlc-pill-flag{width:21px!important;height:21px!important;flex-basis:21px!important;font-size:14px!important;}
  .ttlc-pill-code{font-size:12px!important;}
  .ttlc-chevron{width:6px!important;height:6px!important;flex-basis:6px!important;}
  .ttlc-portal{border-radius:18px!important;padding:9px!important;}
  .ttlc-floating-suite{left:12px!important;bottom:12px!important;}
}

@media(max-width:420px){
  .ttlc-pill{min-width:62px!important;padding:0 7px!important;}
  .ttlc-pill-flag{display:none!important;}
  .ttlc-currency-pill{margin-left:1px!important;}
}


/* ===== v5.5 REFINED BLUE BOOKING CTA — TIGHTER, QUIETER, PREMIUM ===== */
.ttlc-actions-dock{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  flex:0 0 auto!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  font-family:Inter,Arial,Helvetica,sans-serif!important;
  position:relative!important;
  z-index:10!important;
}

.ttlc-actions-dock .ttlc-header-suite{
  flex:0 0 auto!important;
}

.ttlc-book-cta{
  -webkit-appearance:none!important;
  appearance:none!important;
  position:relative!important;
  isolation:isolate!important;
  height:48px!important;
  width:138px!important;
  min-width:138px!important;
  max-width:138px!important;
  padding:0 18px!important;
  margin:0!important;
  border:1px solid rgba(0,94,196,.10)!important;
  border-radius:17px!important;
  background:#0877e6!important;
  color:#fff!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  box-shadow:0 5px 13px rgba(8,119,230,.12),0 1px 3px rgba(7,26,67,.045),inset 0 1px 0 rgba(255,255,255,.14)!important;
  transform:translateZ(0)!important;
  transition:background-color .16s ease,transform .16s ease,box-shadow .16s ease!important;
}

.ttlc-book-cta::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 48%)!important;
  pointer-events:none!important;
}

.ttlc-book-cta:hover{
  background:#0064cc!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 6px 15px rgba(0,100,204,.14),0 2px 4px rgba(7,26,67,.055),inset 0 1px 0 rgba(255,255,255,.14)!important;
}
.ttlc-book-cta:active{
  background:#005bb8!important;
  transform:translateY(0)!important;
  box-shadow:0 4px 9px rgba(0,91,184,.11),inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.ttlc-book-cta:focus-visible{
  outline:3px solid rgba(8,119,230,.16)!important;
  outline-offset:3px!important;
}

.ttlc-book-copy,
.ttlc-book-short{
  position:relative!important;
  z-index:1!important;
  color:#fff!important;
  font-size:13.5px!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:-.005em!important;
  text-shadow:none!important;
}
.ttlc-book-short{display:none!important;}

/* The CTA height tracks the utility dock at every breakpoint. */
@media(max-width:1100px){
  .ttlc-actions-dock{gap:3px!important;}
  .ttlc-book-cta{
    height:44px!important;
    width:122px!important;
    min-width:122px!important;
    max-width:122px!important;
    padding:0 16px!important;
    border-radius:16px!important;
    box-shadow:0 4px 11px rgba(8,119,230,.11),0 1px 3px rgba(7,26,67,.045)!important;
  }
  .ttlc-book-copy,.ttlc-book-short{font-size:12.5px!important;}
}

@media(max-width:768px){
  .ttlc-actions-dock{gap:3px!important;}
  .ttlc-book-cta{
    height:42px!important;
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
    padding:0 14px!important;
    border-radius:15px!important;
  }
  .ttlc-book-copy{display:none!important;}
  .ttlc-book-short{display:inline!important;font-size:12px!important;}
}

@media(max-width:520px){
  .ttlc-book-cta{
    width:76px!important;
    min-width:76px!important;
    max-width:76px!important;
    padding:0 12px!important;
  }
  .ttlc-book-short{font-size:11.5px!important;}
}


/* ===== v5.7 TRAVTUR HEADER NAVIGATION POLISH =====
   The row containing the Travtur navigation + locale controls is tagged by JS.
   This keeps the dark contact strip untouched while refining only the primary header. */
.ttlc-main-header-row{
  background:#ffffff!important;
  border-bottom:1px solid #edf1f5!important;
  box-shadow:none!important;
  position:sticky!important;
  top:0!important;
  z-index:9990!important;
}

body.admin-bar .ttlc-main-header-row{top:32px!important;}
@media(max-width:782px){
  body.admin-bar .ttlc-main-header-row{top:46px!important;}
}

.ttlc-main-header-row.ttlc-is-pinned{
  box-shadow:0 10px 24px rgba(7,26,67,.08)!important;
}

/* Deep Travtur navy for primary navigation text instead of flat black. */
.ttlc-main-header-row .elementor-nav-menu--main .elementor-item,
.ttlc-main-header-row .elementor-nav-menu--main a.elementor-item,
.ttlc-main-header-row nav .menu-item > a,
.ttlc-main-header-row .menu > .menu-item > a,
.ttlc-main-header-row .main-navigation .menu-item > a{
  color:#071a43!important;
  transition:color .16s ease,opacity .16s ease!important;
}

/* Travtur red is reserved for navigation interaction/accent. */
.ttlc-main-header-row .elementor-nav-menu--main .elementor-item:hover,
.ttlc-main-header-row .elementor-nav-menu--main .elementor-item:focus-visible,
.ttlc-main-header-row .elementor-nav-menu--main .elementor-item.elementor-item-active,
.ttlc-main-header-row .elementor-nav-menu--main .current-menu-item > .elementor-item,
.ttlc-main-header-row nav .menu-item > a:hover,
.ttlc-main-header-row nav .menu-item > a:focus-visible,
.ttlc-main-header-row nav .current-menu-item > a,
.ttlc-main-header-row .menu > .current-menu-item > a,
.ttlc-main-header-row .main-navigation .current-menu-item > a{
  color:#e30b17!important;
}

/* Do not let menu theme underlines introduce another competing color. */
.ttlc-main-header-row .elementor-nav-menu--main .elementor-item:after,
.ttlc-main-header-row .elementor-nav-menu--main .elementor-item:before{
  background-color:#e30b17!important;
}
