body.ts-site-polish {
  --ts-brand: #189fa2;
  --ts-primary: #2a7476;
  --ts-primary-hover: #236b6d;
  --ts-ink: #31595a;
  --ts-text: #4d6061;
  --ts-muted: #5e7070;
  --ts-mint: #ddf3ee;
  --ts-mint-soft: #f2faf7;
  --ts-line: #d6e5e2;
  --ts-surface: #fff;
  --ts-shadow: 0 12px 34px rgba(42, 116, 118, 0.1);
  background: var(--ts-mint-soft) !important;
  color: var(--ts-ink);
}

body.ts-site-polish :where(.font-heading, .font-paragraph, h1, h2, h3, h4, h5, h6, p, a, button, input, select, textarea, summary, label, li) {
  font-family: "HeeboLocal", sans-serif !important;
}

body.ts-site-polish :where(main, .min-h-screen) {
  background: var(--ts-mint-soft) !important;
}

body.ts-site-polish :where(.text-primary, .hover\:text-primary:hover) {
  color: var(--ts-primary) !important;
}

body.ts-site-polish :where(.bg-primary, .hover\:bg-primary:hover, .hover\:bg-primary\/90:hover) {
  background-color: var(--ts-primary) !important;
}

body.ts-site-polish :where(.border-primary, .focus\:border-primary:focus) {
  border-color: var(--ts-primary) !important;
}

body.ts-site-polish :where(.bg-off-white) {
  background: var(--ts-mint-soft) !important;
}

body.ts-site-polish :where(.bg-white) {
  background: var(--ts-surface) !important;
}

body.ts-site-polish :where(.text-foreground, .text-foreground\/70, .text-foreground\/60) {
  color: var(--ts-text) !important;
}

body.ts-site-polish :where(.index-hero, main > section.relative:first-child) {
  min-height: 430px;
  height: clamp(430px, 52svh, 570px) !important;
  background: var(--ts-primary);
}

body.ts-site-polish :where(.index-hero, main > section.relative:first-child) img {
  filter: saturate(0.98) contrast(0.96);
}

body.ts-site-polish :where(.hero-overlay, main > section.relative:first-child > .absolute.inset-0) {
  background: linear-gradient(180deg, rgba(16, 67, 69, 0.34), rgba(16, 67, 69, 0.58)) !important;
}

body.ts-site-polish :where(.hero-content) {
  width: min(calc(100% - 48px), 1280px);
  margin-inline: auto;
  text-align: right;
}

body.ts-site-polish :where(.hero-content h1, main > section.relative:first-child h1) {
  max-width: 860px;
  margin-inline: auto;
  color: #fff !important;
  font-size: clamp(2.35rem, 5vw, 4.6rem) !important;
  font-weight: 850 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  text-shadow: 0 4px 18px rgba(14, 54, 56, 0.28);
}

body.ts-site-polish :where(.hero-content p) {
  max-width: 760px;
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: clamp(1.05rem, 1.7vw, 1.35rem);
  line-height: 1.72;
}

body.ts-site-polish :where(.eyebrow, .cluster-label, .card-kicker, .pillar-badge, .guide-index-intro > span) {
  color: var(--ts-primary) !important;
  letter-spacing: 0 !important;
}

body.ts-site-polish :where(.breadcrumbs a, .breadcrumbs span) {
  color: rgba(255, 255, 255, 0.84) !important;
}

body.ts-site-polish :where(main > section:not(.relative), .guide-index-intro, .guide-cluster, .destination-grid, .audit-support-section) {
  width: min(calc(100% - 40px), 1280px);
  margin-inline: auto;
}

body.ts-site-polish :where(.audit-support-section, main > section.py-12, main > section.py-16) {
  padding-block: clamp(52px, 5vw, 78px) !important;
}

body.ts-site-polish :where(.guide-card, .destination-card, .info-card, .related-card, .audit-support-item, [data-ts-generated-card], main .rounded-lg, main .rounded-xl, main .rounded-2xl) {
  border: 1px solid rgba(42, 116, 118, 0.12) !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 32px rgba(42, 116, 118, 0.09) !important;
}

body.ts-site-polish :where(.guide-card, .destination-card, .related-card, [data-ts-generated-card]) {
  background: #fff !important;
  overflow: hidden;
  text-decoration: none;
}

body.ts-site-polish :where(.guide-card img, .destination-card img, .related-card img, [data-ts-generated-card] img, main .rounded-lg img, main .rounded-xl img, main .rounded-2xl img) {
  border-radius: 0 !important;
}

body.ts-site-polish :where(.guide-card h2, .destination-card h2, main h2, main h3) {
  color: var(--ts-ink) !important;
  letter-spacing: 0 !important;
}

body.ts-site-polish :where(.guide-card p, .destination-card p, main p, main li) {
  color: var(--ts-text) !important;
}

body.ts-site-polish :where(.hero-content > p, .ts-generated-hero p) {
  color: rgba(255, 255, 255, 0.9) !important;
}

body.ts-site-polish :where(.guide-card strong, .destination-card strong, .text-link, main a:not(.ts-footer__social-link):not(.ts-footer__whatsapp)) {
  color: var(--ts-primary) !important;
}

/* Legacy attraction heroes must keep their original full-bleed, high-contrast treatment. */
body.ts-site-polish main > section.hero {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

body.ts-site-polish .hero .location {
  color: var(--off-white, #f7f4ee) !important;
}

body.ts-site-polish .hero .hero-summary {
  color: rgba(255, 255, 255, 0.92) !important;
}

body.ts-site-polish .hero .hero-count-text {
  color: rgba(255, 255, 255, 0.95) !important;
}

body.ts-site-polish .hero .hero-actions :where(.btn-primary, .btn-outline) {
  color: #fff !important;
}

body.ts-site-polish .hero .hero-actions .btn-outline:hover {
  color: var(--primary, var(--ts-primary)) !important;
}

body.ts-site-polish :where(.callout, .contact-band, .site-links-grid a) {
  border: 1px solid rgba(42, 116, 118, 0.14) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 12px 32px rgba(42, 116, 118, 0.08) !important;
}

body.ts-site-polish .ts-generated-main {
  width: min(calc(100% - 40px), 1280px);
  margin: 0 auto;
  padding: clamp(52px, 5vw, 78px) 0;
}

body.ts-site-polish .ts-generated-hero {
  position: relative;
  display: grid;
  min-height: clamp(430px, 52svh, 570px);
  place-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--ts-primary);
}

body.ts-site-polish .ts-generated-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.98) contrast(0.96);
}

body.ts-site-polish .ts-generated-hero::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, rgba(16, 67, 69, 0.36), rgba(16, 67, 69, 0.62));
}

body.ts-site-polish .ts-generated-hero__content {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 48px), 1280px);
  margin-inline: auto;
  text-align: right;
}

body.ts-site-polish .ts-generated-hero__eyebrow {
  display: inline-block;
  margin-bottom: 14px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.94rem;
  font-weight: 720;
}

body.ts-site-polish .ts-generated-hero h1 {
  max-width: 820px;
  margin: 0;
  color: #fff !important;
  font-size: clamp(2.45rem, 5vw, 4.6rem);
  font-weight: 850;
  line-height: 1.05;
  letter-spacing: 0;
}

body.ts-site-polish .ts-generated-hero p {
  max-width: 760px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: clamp(1.05rem, 1.7vw, 1.35rem);
  line-height: 1.72;
}

body.ts-site-polish .ts-hotel-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

body.ts-site-polish .ts-hotel-card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
}

body.ts-site-polish .ts-hotel-card__media {
  display: block;
  aspect-ratio: 1.38;
  overflow: hidden;
  background: var(--ts-mint);
}

body.ts-site-polish .ts-hotel-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 380ms ease;
}

body.ts-site-polish .ts-hotel-card:hover .ts-hotel-card__media img {
  transform: scale(1.04);
}

body.ts-site-polish .ts-hotel-card__body {
  display: grid;
  gap: 10px;
  padding: 22px;
  text-align: right;
}

body.ts-site-polish .ts-hotel-card__meta {
  color: var(--ts-primary);
  font-size: 0.92rem;
  font-weight: 720;
}

body.ts-site-polish .ts-hotel-card h2,
body.ts-site-polish .ts-hotel-card h3 {
  margin: 0;
  color: var(--ts-ink) !important;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  font-weight: 760;
  line-height: 1.18;
}

body.ts-site-polish .ts-hotel-card p {
  margin: 0;
  color: var(--ts-text) !important;
  font-size: 1rem;
  line-height: 1.68;
}

body.ts-site-polish .ts-hotel-card__cta {
  color: var(--ts-primary);
  font-weight: 720;
}

body.ts-site-polish .ts-hotel-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.75fr);
  gap: 32px;
  align-items: start;
}

body.ts-site-polish .ts-hotel-detail-panel,
body.ts-site-polish .ts-hotel-facts {
  border: 1px solid rgba(42, 116, 118, 0.12);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(42, 116, 118, 0.08);
}

body.ts-site-polish .ts-hotel-detail-panel {
  padding: clamp(28px, 4vw, 44px);
}

body.ts-site-polish .ts-hotel-detail-panel p {
  margin: 0 0 16px;
  color: var(--ts-text) !important;
  font-size: 1.08rem;
  line-height: 1.82;
}

body.ts-site-polish .ts-hotel-facts {
  padding: 24px;
}

body.ts-site-polish .ts-hotel-facts h2 {
  margin: 0 0 16px;
  font-size: 1.35rem;
}

body.ts-site-polish .ts-hotel-facts dl {
  display: grid;
  gap: 14px;
  margin: 0;
}

body.ts-site-polish .ts-hotel-facts div {
  display: grid;
  gap: 3px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--ts-line);
}

body.ts-site-polish .ts-hotel-facts div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

body.ts-site-polish .ts-hotel-facts dt {
  color: var(--ts-muted);
  font-size: 0.86rem;
}

body.ts-site-polish .ts-hotel-facts dd {
  margin: 0;
  color: var(--ts-ink);
  font-weight: 700;
}

body.ts-site-polish .ts-inline-cta {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  margin-top: 28px;
  padding: 22px;
  border: 1px solid rgba(42, 116, 118, 0.14);
  border-radius: 8px;
  background: var(--ts-mint-soft);
}

body.ts-site-polish .ts-inline-cta h2 {
  margin: 0 0 6px;
  font-size: 1.45rem;
}

body.ts-site-polish .ts-inline-cta p {
  margin: 0;
  font-size: 0.98rem;
}

body.ts-site-polish .ts-primary-button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  border-radius: 8px;
  color: #fff !important;
  background: var(--ts-primary);
  font-weight: 720;
  text-decoration: none;
  white-space: nowrap;
}

@media (min-width: 1100px) {
  body.ts-site-polish .menu-button,
  body.ts-site-polish .drawer,
  body.ts-site-polish .drawer-backdrop {
    display: none !important;
  }

  body.ts-site-polish #root > astro-island > div > button[aria-label="תפריט צד"],
  body.ts-site-polish #root > astro-island > div > button[aria-label="תפריט צד"] + div {
    display: none !important;
  }
}

@media (max-width: 1099px) {
  body.ts-site-polish .menu-button {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  body.ts-site-polish .drawer {
    transform: translate3d(-104%, 0, 0);
    transition-duration: 80ms;
    will-change: transform;
  }

  body.ts-site-polish.drawer-open .drawer {
    transform: translate3d(0, 0, 0);
  }
}

@media (hover: none) and (pointer: coarse) {
  body.ts-site-polish .menu-button:hover {
    background: var(--primary, var(--ts-primary));
    transform: none;
  }
}

@media (max-width: 980px) {
  body.ts-site-polish .ts-hotel-grid,
  body.ts-site-polish .ts-hotel-detail-grid {
    grid-template-columns: 1fr;
  }

  body.ts-site-polish .ts-inline-cta {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 720px) {
  body.ts-site-polish :where(main > section:not(.relative), .guide-index-intro, .guide-cluster, .destination-grid, .audit-support-section, .ts-generated-main) {
    width: min(calc(100% - 28px), 1280px);
  }
}
