.tat-controls {
  position: relative;
  z-index: 1000;
  width: 100%;
  border-bottom: 1px solid #e6ebf0;
  background: linear-gradient(110deg, #f8fafc, #fff 55%, #f5f8fc);
  color: #0b1f38;
  font-family: Arial, sans-serif;
}

.tat-controls-inner {
  box-sizing: border-box;
  width: min(1180px, calc(100% - 40px));
  min-height: 70px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.tat-controls-intro {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}

.tat-controls-mark {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 12px;
  background: #e8f4ee;
  color: #087443;
  font-size: 19px;
}

.tat-controls-intro strong,
.tat-controls-intro div > span {
  display: block;
}

.tat-controls-intro strong {
  color: #10233f;
  font-size: 12px;
  font-weight: 700;
}

.tat-controls-intro div > span {
  margin-top: 3px;
  color: #718096;
  font-size: 11px;
}

.tat-control-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.tat-control-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.tat-control-label {
  color: #64748b;
  font-size: 11px;
  font-weight: 700;
}

.tat-theme-toggle {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  padding: 7px 12px;
  border: 1px solid #dce3eb;
  border-radius: 11px;
  color: #0b1f38;
  background: #fff;
  box-shadow: 0 2px 6px rgba(11, 31, 56, .05);
  cursor: pointer;
  font: 600 12px Arial, sans-serif;
  white-space: nowrap;
  transition: background .2s, border-color .2s, box-shadow .2s;
}

.tat-theme-toggle:hover {
  background: #f1f5f9;
  border-color: #b8c5d3;
  box-shadow: 0 4px 10px rgba(11, 31, 56, .08);
}

.tat-theme-toggle:focus-visible,
.tat-translation .goog-te-combo:focus-visible {
  outline: 3px solid #fcd116;
  outline-offset: 2px;
}

.tat-theme-icon {
  color: #b7791f;
  font-size: 17px;
  line-height: 1;
}

.tat-translation {
  width: 190px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #0b1f38;
  font: 12px Arial, sans-serif;
  line-height: normal;
}

.tat-translation .goog-te-gadget {
  color: transparent;
  font-size: 0;
  max-width: 100%;
}

.tat-translation .goog-te-gadget-simple {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 100%;
  min-height: 38px;
  padding: 0 8px;
  overflow: hidden;
  border: 1px solid #dce3eb;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 2px 6px rgba(11, 31, 56, .05);
}

.tat-translation .goog-te-menu-value {
  display: flex;
  align-items: center;
  min-width: 0;
  margin: 0;
  white-space: nowrap;
}

.tat-translation .goog-te-menu-value span:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tat-translation .goog-te-combo {
  box-sizing: border-box;
  width: 100%;
  min-height: 38px;
  margin: 0;
  padding: 7px 32px 7px 12px;
  border: 1px solid #dce3eb;
  border-radius: 11px;
  background: #fff;
  color: #0b1f38;
  font: 600 12px Arial, sans-serif;
  box-shadow: 0 2px 6px rgba(11, 31, 56, .05);
  cursor: pointer;
}

.tat-translation .tat-translation-status {
  margin: 4px 0 0;
  padding: 6px 8px;
  border-radius: 6px;
  background: #fff;
  color: #b91c1c;
  font-size: 11px;
}

@media (max-width: 480px) {
  .tat-controls-inner {
    width: calc(100% - 24px);
    min-height: 62px;
    gap: 8px;
  }

  .tat-controls-intro {
    gap: 7px;
  }

  .tat-controls-mark {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
    border-radius: 10px;
  }

  .tat-controls-intro strong {
    font-size: 10px;
  }

  .tat-controls-intro div > span {
    font-size: 9px;
  }

  .tat-control-actions {
    gap: 7px;
  }

  .tat-control-group {
    gap: 4px;
  }

  .tat-control-label {
    display: none;
  }

  .tat-theme-toggle {
    min-height: 36px;
    gap: 4px;
    padding: 6px 8px;
    font-size: 11px;
  }

  .tat-translation {
    width: 128px;
  }
}

@media (max-width: 360px) {
  .tat-controls-intro div > span {
    display: none;
  }

  .tat-controls-intro strong {
    max-width: 82px;
    line-height: 1.3;
  }

  .tat-control-actions {
    gap: 5px;
  }

  .tat-theme-toggle {
    gap: 3px;
    padding: 6px;
    font-size: 10px;
  }

  .tat-translation {
    width: 112px;
  }
}

.tat-night body {
  background: #0b1220 !important;
  color: #e2e8f0 !important;
}

.tat-night :is(
  body,
  main,
  section,
  article,
  .story,
  .storycopy,
  .booking,
  .search form,
  .hotel,
  .blog,
  .review,
  .exp,
  .tour,
  .service-card,
  .category-card,
  .product-card,
  .store-card,
  .gallery-card,
  .uploaded-photo-card,
  .modal-panel
) {
  color: #e2e8f0;
}

.tat-night :is(
  .bg-white,
  .bg-slate-50,
  .bg-slate-100,
  .bg-slate-200,
  .bg-gray-50,
  .bg-gray-100,
  .bg-gray-200,
  .bg-zinc-50,
  .bg-zinc-100,
  .cream,
  .story,
  .exp,
  .tour,
  .hotel,
  .blog,
  .review,
  .card,
  .history-card,
  .service-card,
  .store-card,
  .product-card,
  .category-card,
  .gallery-card
) {
  background-color: #172235 !important;
  color: #e2e8f0 !important;
  border-color: #334155 !important;
}

.tat-night :is(
  .bg-white\/95,
  .bg-white\/90,
  .bg-white\/\[\.94\],
  .bg-white\/\[\.92\]
) {
  background-color: rgba(17, 28, 46, .96) !important;
}

.tat-night :is(
  header,
  #sidebar,
  #mobileMenu,
  #mobileNav,
  #mobileMarketplaceNav,
  .mobile-nav,
  .search form,
  .drawer,
  .tat-controls
) {
  background-color: #111c2e !important;
  color: #e2e8f0 !important;
  border-color: #334155 !important;
}

.tat-night :is(
  .text-slate-900,
  .text-slate-800,
  .text-slate-700,
  .text-slate-600,
  .text-gray-900,
  .text-gray-800,
  .text-gray-700,
  .text-gray-600,
  .text-zinc-900,
  .text-zinc-800,
  .text-zinc-700,
  .text-zinc-600
) {
  color: #e2e8f0 !important;
}

.tat-night :is(
  .text-slate-500,
  .text-slate-400,
  .text-slate-300,
  .text-gray-500,
  .text-gray-400,
  .text-gray-300,
  .text-zinc-500,
  .text-zinc-400,
  .text-zinc-300
) {
  color: #b8c5d6 !important;
}

.tat-night :is(input, select, textarea) {
  background-color: #111c2e !important;
  color: #e2e8f0 !important;
  border-color: #475569 !important;
}

.tat-night :is(.border-slate-200, .border-slate-300, .border-gray-200, .border-gray-300) {
  border-color: #334155 !important;
}

.tat-night :is(
  .brand,
  .brand b,
  .brand small,
  header nav a,
  .nav a,
  .mobile-nav a,
  #mobileNav a,
  #mobileMarketplaceNav a,
  .tourbody h3,
  .hotelbody h3,
  .blogbody h3,
  .hotelbody p,
  .blogbody p,
  .tourbody p,
  .storycopy p,
  .center p,
  .exp p,
  .google-review-source,
  .google-review-loading,
  .google-review-empty
) {
  color: #cbd5e1 !important;
}

.tat-night :is(
  .storycopy,
  .cream,
  .site-section.bg-white,
  .site-section.bg-slate-100,
  .site-section.bg-slate-50,
  section.p-5.sm\:p-8.lg\:p-12,
  .auth-bg + section
) {
  background: #111c2e !important;
  color: #e2e8f0 !important;
}

.tat-night :is(
  .card,
  .history-card,
  .service-card,
  .modal-panel,
  .bg-white.rounded-2xl,
  .bg-white.rounded-3xl
) {
  background-color: #172235 !important;
  color: #e2e8f0 !important;
  border-color: #334155 !important;
}

.tat-night :is(
  .card,
  .history-card,
  .service-card,
  .modal-panel
) :is(h1, h2, h3, h4, p, label, b, strong, span) {
  color: inherit;
}

.tat-night .auth-bg {
  color: #f8fafc !important;
}

.tat-night .side-active {
  color: #fff !important;
}

.tat-night :is(
  .text-emerald-700,
  .text-emerald-800,
  .text-green-700,
  .text-red-700,
  .text-red-800,
  .head h2 em,
  .center h2 em,
  .tourbody small,
  .text
) {
  color: #fb8b9b !important;
}

.tat-night #mobileMarketplaceMenu {
  background: #172235 !important;
  color: #e2e8f0 !important;
  border-color: #475569 !important;
}

.tat-night .service-card .value-icon,
.tat-night .value-icon {
  background: #183c32 !important;
  color: #72d6a5 !important;
}

.tat-night .tat-controls-intro strong,
.tat-night .tat-control-label {
  color: #e2e8f0;
}

.tat-night .tat-controls-intro div > span {
  color: #a8b5c7;
}

.tat-night .tat-theme-toggle {
  background: #172235;
  color: #f8fafc;
  border-color: #475569;
}

.tat-night .tat-theme-toggle:hover {
  background: #24334a;
}

.tat-night .tat-controls {
  background: linear-gradient(110deg, #111c2e, #172235 55%, #111c2e);
  border-color: #334155;
}

.tat-night .tat-controls-intro strong,
.tat-night .tat-control-label {
  color: #e2e8f0;
}

.tat-night .tat-controls-intro div > span {
  color: #a8b5c7;
}

.tat-night .tat-controls-mark {
  background: #183c32;
  color: #72d6a5;
}

.tat-night .tat-translation .goog-te-combo {
  background-color: #172235;
  color: #e2e8f0;
  border-color: #475569;
}

.tat-night .tat-translation .goog-te-gadget-simple {
  background-color: #172235;
  border-color: #475569;
}

.tat-food-feature {
  padding: clamp(32px, 6vw, 64px) 20px;
  background: #f5f8f5;
  color: #172033;
}

.tat-food-feature-inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.tat-food-feature-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}

.tat-food-feature-heading > div > span {
  color: #087443;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
}

.tat-food-feature-heading h2 {
  margin: 8px 0;
  color: #10233f;
  font-size: clamp(24px, 4vw, 38px);
  font-weight: 900;
  line-height: 1.15;
}

.tat-food-feature-heading p {
  max-width: 620px;
  margin: 0;
  color: #596779;
  font-size: 14px;
  line-height: 1.7;
}

.tat-food-feature-heading > a {
  flex: 0 0 auto;
  color: #087443;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.tat-food-feature-heading > a:hover {
  text-decoration: underline;
}

.tat-food-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.tat-food-feature-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-radius: 18px;
  background: #dce5df;
  box-shadow: 0 10px 24px rgba(11, 31, 56, .12);
  text-decoration: none;
}

.tat-food-feature-card::after {
  position: absolute;
  inset: 40% 0 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, .7));
  content: "";
}

.tat-food-feature-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

.tat-food-feature-card:hover img {
  transform: scale(1.05);
}

.tat-food-feature-card > span {
  position: absolute;
  z-index: 1;
  right: 12px;
  bottom: 12px;
  left: 12px;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  text-shadow: 0 1px 5px rgba(0, 0, 0, .4);
}

.tat-night .tat-food-feature {
  background: #111c2e;
  color: #e2e8f0;
}

.tat-night .tat-food-feature-heading h2 {
  color: #f1f5f9;
}

.tat-night .tat-food-feature-heading p {
  color: #b8c5d6;
}

.tat-night .tat-food-feature-heading > a,
.tat-night .tat-food-feature-heading > div > span {
  color: #72d6a5;
}

@media (max-width: 720px) {
  .tat-food-feature-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .tat-food-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .tat-food-feature-card {
    border-radius: 14px;
  }
}

@media (max-width: 700px) {
  .tat-controls-inner {
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    padding: 10px 0;
  }

  .tat-control-actions {
    width: 100%;
    justify-content: space-between;
  }

  .tat-control-group {
    min-width: 0;
  }

  .tat-translation {
    width: min(190px, 42vw);
  }
}

.ai-concierge-panel {
  box-sizing: border-box;
  z-index: 10001 !important;
  width: min(400px, calc(100vw - 24px)) !important;
  max-height: min(680px, calc(100dvh - 28px)) !important;
  overflow: auto;
  border: 1px solid #d5e0dc;
  border-radius: 22px;
  background: #fff;
  color: #172033;
  box-shadow: 0 22px 70px rgba(4, 25, 18, .32);
}

.ai-concierge-fab {
  z-index: 10002 !important;
  background: linear-gradient(140deg, #087443, #075b38) !important;
}

.ai-head {
  padding: 20px;
  background: linear-gradient(120deg, #075b38, #087443 68%, #b78a00);
  color: #fff;
}

.ai-brand {
  display: flex;
  align-items: center;
  gap: 11px;
}

.ai-brand img {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border: 2px solid rgba(255, 255, 255, .8);
  border-radius: 12px;
  background: #fff;
  object-fit: contain;
}

.ai-brand strong,
.ai-brand span {
  display: block;
}

.ai-brand strong {
  font-size: 15px;
  font-weight: 900;
}

.ai-brand span {
  margin-top: 3px;
  color: #ffe98a;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
}

.ai-intro {
  margin: 12px 0 0;
  color: #edf7f0;
  font-size: 13px;
  line-height: 1.6;
}

.ai-close {
  color: #fff;
}

.ai-chat {
  color: #172033;
}

.ai-chip {
  border-color: #b7d7c6;
  background: #eff8f2;
  color: #075b38;
}

.ai-input {
  border-color: #d5e0dc;
  background: #fff;
}

.ai-input input {
  color: #172033;
}

.ai-input button {
  background: #087443;
}

.tat-night .ai-concierge-panel {
  border-color: #3a5549;
  background: #111c2e;
  color: #e2e8f0;
}

.tat-night .ai-chat,
.tat-night .ai-chat p,
.tat-night .ai-chat div {
  color: #e2e8f0;
}

.tat-night .ai-chat {
  background: #0b1220;
}

.tat-night .ai-chat .ai-msg.bot {
  border-color: #334155;
  background: #172235;
  color: #e2e8f0;
}

.tat-night .ai-chips {
  border-color: #334155;
  background: #111c2e;
}

.tat-night .ai-chip {
  border-color: #426b56;
  background: #183c32;
  color: #c8f2d8;
}

.tat-night .ai-input {
  border-color: #3a5549;
  background: #172235;
}

.tat-night .ai-input input,
.tat-night .ai-input input::placeholder {
  color: #e2e8f0;
}

.tat-night .ai-input input::placeholder {
  color: #a8b5c7;
}

@media (max-width: 480px) {
  .ai-concierge-panel {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    width: auto !important;
    max-height: calc(100dvh - 24px) !important;
  }
}
