/*
 * Kitano site-wide refresh layer.
 * Applied through the shared public header/menu so old static pages and
 * database-driven pages use the same responsive type, spacing and surfaces.
 * Content, routes, prices and booking behavior remain owned by their pages.
 */
:root {
  --kt-refresh-ink: #16271f;
  --kt-refresh-forest: #153d30;
  --kt-refresh-deep: #0c281f;
  --kt-refresh-teal: #087c70;
  --kt-refresh-gold: #d9b45f;
  --kt-refresh-muted: #66756d;
  --kt-refresh-line: #dce5df;
  --kt-refresh-paper: #fffefa;
  --kt-refresh-shadow: 0 16px 42px rgba(21, 47, 36, .075);
}

body.trip-template-default,
body.kt-tour-catalog-page,
body.kt-dynamic-tour-page,
body.kt-dynamic-departure-page {
  color: var(--kt-refresh-ink);
  background: #f5f7f4;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.trip-template-default img,
body.kt-tour-catalog-page img,
body.kt-dynamic-tour-page img,
body.kt-dynamic-departure-page img { max-width: 100%; }

/* Shared page rhythm and breadcrumb treatment. */
body.trip-template-default .site-content,
body.kt-dynamic-tour-page .site-content,
body.kt-dynamic-departure-page .site-content { padding-block: clamp(18px, 3vw, 38px) 70px; }

body.trip-template-default .top-bar,
body.kt-dynamic-tour-page .top-bar,
body.kt-dynamic-departure-page .top-bar { margin: 0; padding: 12px 0; background: transparent; }

body.trip-template-default #crumbs,
body.kt-dynamic-tour-page #crumbs,
body.kt-dynamic-departure-page #crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  width: fit-content;
  max-width: 100%;
  padding: 8px 13px;
  border: 1px solid var(--kt-refresh-line);
  border-radius: 999px;
  color: var(--kt-refresh-muted);
  background: rgba(255,254,250,.9);
  font-size: 12px;
  line-height: 1.45;
  box-shadow: 0 5px 18px rgba(21,47,36,.04);
}

body.trip-template-default #crumbs a,
body.kt-dynamic-tour-page #crumbs a,
body.kt-dynamic-departure-page #crumbs a { color: var(--kt-refresh-forest); text-decoration: none; }

/* Legacy page headings: remove old black slabs, shadows and oversized wrappers. */
body.trip-template-default:not(.kt-article-page) .section-header,
body.trip-template-default:not(.kt-article-page) .page-header { margin: 18px 0 22px; }

body.trip-template-default:not(.kt-article-page) .section-title,
body.trip-template-default:not(.kt-article-page) .section-header h1,
body.trip-template-default:not(.kt-article-page) .section-header h2,
body.trip-template-default:not(.kt-article-page) .page-header h1,
body.trip-template-default:not(.kt-article-page) .page-header h2,
body.trip-template-default:not(.kt-article-page) .entry-header .entry-title {
  max-width: 980px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--kt-refresh-forest) !important;
  background: transparent !important;
  box-shadow: none !important;
  font: 760 clamp(30px, 4.6vw, 56px)/1.04 Georgia, "Times New Roman", serif !important;
  letter-spacing: -.04em;
  text-align: left !important;
  text-shadow: none !important;
  text-wrap: balance;
}

body.trip-template-default:not(.kt-article-page) .entry-header {
  padding: clamp(20px, 3.2vw, 38px) !important;
  border: 1px solid var(--kt-refresh-line) !important;
  border-radius: 22px !important;
  background: linear-gradient(118deg, #fffefa, #eef4ee) !important;
  box-shadow: var(--kt-refresh-shadow) !important;
}

/* Long-form static articles and tour copy use a readable measure, not full-width walls. */
body.trip-template-default:not(.kt-article-page) #producer-pispite-holder-article {
  max-width: 1000px;
  margin-inline: auto;
  color: #304239;
  font-size: clamp(15px, 1.15vw, 17px);
  line-height: 1.76;
}

body.trip-template-default:not(.kt-article-page) #producer-pispite-holder-article > p { margin: 0 0 1.05em; }
body.trip-template-default:not(.kt-article-page) #producer-pispite-holder-article :is(h2,h3,h4) {
  margin: 1.35em 0 .55em;
  color: var(--kt-refresh-forest);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 750;
  line-height: 1.16;
  letter-spacing: -.025em;
  text-shadow: none;
}
body.trip-template-default:not(.kt-article-page) #producer-pispite-holder-article h2 { font-size: clamp(24px, 2.8vw, 36px); }
body.trip-template-default:not(.kt-article-page) #producer-pispite-holder-article h3 { font-size: clamp(20px, 2.1vw, 27px); }
body.trip-template-default:not(.kt-article-page) #producer-pispite-holder-article a { color: var(--kt-refresh-teal); text-underline-offset: 3px; }

body.trip-template-default:not(.kt-article-page) .post-thumbnail {
  overflow: hidden;
  border: 1px solid var(--kt-refresh-line);
  border-radius: 20px;
  background: #e8eee9;
  box-shadow: var(--kt-refresh-shadow);
}
body.trip-template-default:not(.kt-article-page) .post-thumbnail img { display: block; width: 100%; height: auto; object-fit: cover; }

/* Common tour-detail information panels and itinerary tabs. */
body.trip-template-default #wp-travel-trip-wrapper,
body.trip-template-default .trip-content-area { color: var(--kt-refresh-ink); }
body.trip-template-default #wp-travel-trip-wrapper .nav-tab-wrapper,
body.trip-template-default #tabs-container .nav-tab-wrapper {
  position: sticky;
  top: 8px;
  z-index: 40;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 7px;
  border: 1px solid var(--kt-refresh-line);
  border-radius: 14px;
  background: rgba(255,254,250,.96);
  box-shadow: 0 9px 22px rgba(21,47,36,.08);
  backdrop-filter: blur(12px);
}
body.trip-template-default #wp-travel-trip-wrapper .nav-tab,
body.trip-template-default #tabs-container .nav-tab {
  min-height: 40px;
  padding: 10px 14px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: #53655b;
  background: transparent;
  font-size: 12px;
  font-weight: 800;
}
body.trip-template-default #wp-travel-trip-wrapper .nav-tab-active,
body.trip-template-default #wp-travel-trip-wrapper .nav-tab:hover,
body.trip-template-default #tabs-container .nav-tab-active,
body.trip-template-default #tabs-container .nav-tab:hover {
  border-color: transparent;
  color: #fff;
  background: var(--kt-refresh-forest);
}

body.trip-template-default :is(.ai-summary,.itinerary-overview-card,.itinerary-day-card,.shared-tour-box,.tour-card-header) {
  border-color: var(--kt-refresh-line) !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 28px rgba(21,47,36,.06) !important;
}
body.trip-template-default :is(.ai-summary,.itinerary-overview-card,.shared-tour-box) { background: var(--kt-refresh-paper); }
body.trip-template-default :is(.ai-summary h2,.itinerary-section-heading h2,.itinerary-overview-card h2) { color: var(--kt-refresh-forest); }

/* Catalog cards: reusable for static archives, database listings and related-tour grids. */
body.kt-tour-catalog-page main,
body.kt-tour-catalog main { width: min(100% - 40px, 1320px); max-width: 1320px; margin: 28px auto 72px; }
body.kt-tour-catalog-page .hero,
body.kt-tour-catalog .tour-card-header {
  margin: 24px auto 18px;
  padding: clamp(24px, 4vw, 48px);
  border: 1px solid rgba(217,180,95,.3);
  border-radius: 24px;
  color: #fff;
  background: radial-gradient(circle at 88% 0, rgba(8,124,112,.24), transparent 31%), linear-gradient(118deg,#102f26,#174637 62%,#39261f);
  box-shadow: 0 18px 42px rgba(18,49,37,.14);
}
body.kt-tour-catalog-page .hero h1,
body.kt-tour-catalog .tour-card-header h1,
body.kt-tour-catalog .tour-card-header h2 {
  max-width: 900px;
  margin: 0 0 10px;
  color: #fff;
  font: 760 clamp(32px, 4.4vw, 54px)/1.04 Georgia, "Times New Roman", serif;
  letter-spacing: -.04em;
  text-wrap: balance;
}
body.kt-tour-catalog-page .hero p,
body.kt-tour-catalog .tour-card-header p { max-width: 760px; margin: 0; color: rgba(255,255,255,.78); font-size: clamp(15px,1.35vw,18px); line-height: 1.65; }
body.kt-tour-catalog-page main > .grid,
body.kt-tour-catalog #cardGrid,
body.kt-tour-catalog .wp-travel-engine-archive-outer-wrap > .grid {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 16px !important;
  align-items: stretch;
}
body.kt-tour-catalog-page article.card,
body.kt-tour-catalog article.card,
body.kt-tour-catalog .wp-travel-engine-archive-wrap .holder {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--kt-refresh-line) !important;
  border-radius: 18px !important;
  background: #fffefa !important;
  box-shadow: 0 9px 26px rgba(21,47,36,.065) !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
body.kt-tour-catalog-page article.card:hover,
body.kt-tour-catalog article.card:hover,
body.kt-tour-catalog .wp-travel-engine-archive-wrap .holder:hover { transform: translateY(-3px); border-color: rgba(8,124,112,.32) !important; box-shadow: 0 16px 34px rgba(21,47,36,.11) !important; }
body.kt-tour-catalog-page article.card > img,
body.kt-tour-catalog article.card > img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
body.kt-tour-catalog-page article.card h3,
body.kt-tour-catalog article.card .card-content h2 { margin: 0 0 8px; color: var(--kt-refresh-ink); font: 750 clamp(18px,1.55vw,22px)/1.22 Georgia,"Times New Roman",serif; }
body.kt-tour-catalog-page article.card h3 a,
body.kt-tour-catalog article.card .card-content h2 a { color: inherit; text-decoration: none; }
body.kt-tour-catalog-page article.card .meta,
body.kt-tour-catalog article.card .price { color: var(--kt-refresh-forest); font-weight: 800; }
body.kt-tour-catalog-page article.card > p { color: var(--kt-refresh-muted); font-size: 13px; line-height: 1.55; }
body.kt-tour-catalog-page article.card :is(h3,.meta,p),
body.kt-tour-catalog article.card .card-content { margin-inline: 0; padding-inline: 17px; }
body.kt-tour-catalog-page article.card h3 { margin-top: 16px; }
body.kt-tour-catalog-page article.card > p { margin-top: 4px; }
body.kt-tour-catalog-page article.card .meta { padding-bottom: 12px; font-size: 12px; }
body.kt-tour-catalog-page article.card > p:last-child { margin-bottom: 17px; }
body.kt-tour-catalog-page article.card a.button,
body.kt-tour-catalog-page article.card .button,
body.kt-tour-catalog article.card .card-content > a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: var(--kt-refresh-forest);
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

/* Dynamic group departures: compact cards, clear booking/price hierarchy. */
body.kt-dynamic-departure-page main,
body.kt-dynamic-departure-page #content > .container { width: min(100% - 40px, 1240px); max-width: 1240px; margin: 24px auto 70px; }
body.kt-dynamic-departure-page .entry-header,
body.kt-dynamic-departure-page .page-intro { padding: clamp(22px,3.5vw,38px); border: 1px solid var(--kt-refresh-line); border-radius: 22px; background: linear-gradient(120deg,#fffefa,#edf4ee); box-shadow: var(--kt-refresh-shadow); }
body.kt-dynamic-departure-page :is(h1,.entry-title) { color: var(--kt-refresh-forest); font: 760 clamp(30px,4vw,48px)/1.08 Georgia,"Times New Roman",serif; letter-spacing: -.035em; }
body.kt-dynamic-departure-page :is(.departure-card,.group-card,.departure-row,.shared-departure-card) { border: 1px solid var(--kt-refresh-line); border-radius: 17px; background: #fffefa; box-shadow: 0 8px 24px rgba(21,47,36,.06); }

/* Buttons, form fields, and pagination are normalized without changing form behavior. */
body.trip-template-default :is(input,select,textarea),
body.kt-tour-catalog-page :is(input,select,textarea),
body.kt-dynamic-departure-page :is(input,select,textarea) { border-color: #cfdcd3; border-radius: 10px; color: var(--kt-refresh-ink); background: #fffefa; }
body.trip-template-default :is(button,.button,[type="submit"]),
body.kt-tour-catalog-page :is(button,.button,[type="submit"]),
body.kt-dynamic-departure-page :is(button,.button,[type="submit"]) { border-radius: 10px; font-weight: 800; }
body.trip-template-default :is(.pagination,.nav-links,.page-numbers),
body.kt-tour-catalog-page :is(.pagination,.nav-links,.page-numbers) { color: var(--kt-refresh-forest); }
body.trip-template-default .pagination a,
body.trip-template-default .nav-links a,
body.trip-template-default a.page-numbers,
body.kt-tour-catalog-page .pagination a,
body.kt-tour-catalog-page .nav-links a,
body.kt-tour-catalog-page a.page-numbers {
  display: inline-flex;
  min-width: 38px;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 0 11px;
  border: 1px solid var(--kt-refresh-line);
  border-radius: 10px;
  color: var(--kt-refresh-forest);
  background: #fffefa;
  text-decoration: none;
}
body.trip-template-default :is(.pagination,.nav-links) .current,
body.kt-tour-catalog-page :is(.pagination,.nav-links) .current { border-radius: 10px; color: #fff; background: var(--kt-refresh-forest); }

@media (max-width: 900px) {
  body.kt-tour-catalog-page main > .grid,
  body.kt-tour-catalog #cardGrid,
  body.kt-tour-catalog .wp-travel-engine-archive-outer-wrap > .grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 680px) {
  body.trip-template-default .site-content,
  body.kt-dynamic-tour-page .site-content,
  body.kt-dynamic-departure-page .site-content { padding-block: 12px 46px; }
  body.trip-template-default #crumbs,
  body.kt-dynamic-tour-page #crumbs,
  body.kt-dynamic-departure-page #crumbs { border-radius: 12px; }
  body.trip-template-default:not(.kt-article-page) .entry-header { padding: 21px !important; border-radius: 17px !important; }
  body.kt-tour-catalog-page main,
  body.kt-tour-catalog main,
  body.kt-dynamic-departure-page main,
  body.kt-dynamic-departure-page #content > .container { width: min(100% - 24px, 1320px); }
  body.kt-tour-catalog-page .hero,
  body.kt-tour-catalog .tour-card-header { padding: 23px 20px; border-radius: 18px; }
  body.kt-tour-catalog-page main > .grid,
  body.kt-tour-catalog #cardGrid,
  body.kt-tour-catalog .wp-travel-engine-archive-outer-wrap > .grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  body.trip-template-default #wp-travel-trip-wrapper .nav-tab-wrapper,
  body.trip-template-default #tabs-container .nav-tab-wrapper { position: relative; top: auto; }
}
@media (prefers-reduced-motion: reduce) {
  body.kt-tour-catalog-page article.card,
  body.kt-tour-catalog article.card { transition: none; }
}

/* -------------------------------------------------------------------------
   Shared static + dynamic page treatment.
   site-super.js adds this body class and stylesheet to all public templates,
   not only the Full Moon page or the newer database-driven routes.
   ------------------------------------------------------------------------- */
body.kt-sitewide-refresh {
  --kt-refresh-content-width: 1320px;
  color: var(--kt-refresh-ink);
  background: #f5f7f4;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.kt-sitewide-refresh :is(img,video,iframe) { max-width: 100%; }
body.kt-sitewide-refresh :is(.site-content,#content,#main,.site-main) { color: var(--kt-refresh-ink); }
body.kt-sitewide-refresh :is(.site-content,#content) { background: transparent; }
body.kt-sitewide-refresh :is(a:not(.button):not(.wp-block-button__link)) { text-underline-offset: 3px; }

/* Retire oversized/black legacy title slabs on long-form and tour pages. */
body.kt-sitewide-refresh.trip-template-default:not(.kt-article-page) :is(
  #producer-pispite-about,
  .page-header,
  .section-header,
  .entry-header
) {
  box-sizing: border-box;
  max-width: var(--kt-refresh-content-width);
  margin: 18px auto 24px !important;
  padding: clamp(20px,3.2vw,38px) !important;
  border: 1px solid var(--kt-refresh-line) !important;
  border-radius: 22px !important;
  background: radial-gradient(circle at 92% 0,rgba(8,124,112,.08),transparent 28%),linear-gradient(118deg,#fffefa,#eef4ee) !important;
  box-shadow: var(--kt-refresh-shadow) !important;
}
body.kt-sitewide-refresh.trip-template-default:not(.kt-article-page) :is(
  #producer-pispite-about .section-title,
  .page-header h1,
  .page-header h2,
  .section-header h1,
  .section-header h2,
  .entry-header .entry-title
) {
  max-width: 1000px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--kt-refresh-forest) !important;
  background: transparent !important;
  box-shadow: none !important;
  font: 760 clamp(30px,4.4vw,54px)/1.06 Georgia,"Times New Roman",serif !important;
  letter-spacing: -.04em;
  text-align: left !important;
  text-shadow: none !important;
  text-wrap: balance;
}
body.kt-sitewide-refresh.trip-template-default:not(.kt-article-page) :is(
  #producer-pispite-about p,
  .page-header p,
  .section-header p,
  .entry-header .entry-meta
) { max-width: 780px; margin: 12px 0 0; color: var(--kt-refresh-muted); font-size: clamp(15px,1.3vw,18px); line-height: 1.65; }

/* Restore comfortable reading width and consistent rhythm on static content. */
body.kt-sitewide-refresh.trip-template-default.single-trip:not(.kt-article-page) :is(
  #producer-pispite-holder-article,
  .entry-content,
  .trip-content-area
) {
  color: #34473d;
  font-size: clamp(15px,1.12vw,17px);
  line-height: 1.78;
}
body.kt-sitewide-refresh.trip-template-default.single-trip:not(.kt-article-page) #producer-pispite-holder-article {
  width: min(100% - 32px, 1000px);
  margin: 22px auto;
}
body.kt-sitewide-refresh.trip-template-default.single-trip:not(.kt-article-page) :is(
  #producer-pispite-holder-article h2,
  #producer-pispite-holder-article h3,
  .entry-content h2,
  .entry-content h3,
  .entry-content h4
) {
  margin: 1.35em 0 .55em;
  color: var(--kt-refresh-forest);
  font-family: Georgia,"Times New Roman",serif;
  font-weight: 750;
  line-height: 1.17;
  letter-spacing: -.025em;
  text-shadow: none;
  text-wrap: balance;
}
body.kt-sitewide-refresh.trip-template-default.single-trip:not(.kt-article-page) :is(
  #producer-pispite-holder-article p,
  .entry-content p
) { max-width: 82ch; margin: 0 0 1.05em; color: #53645b; }
body.kt-sitewide-refresh.trip-template-default.single-trip:not(.kt-article-page) :is(
  #producer-pispite-holder-article table,
  .entry-content table
) { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
body.kt-sitewide-refresh.trip-template-default.single-trip:not(.kt-article-page) :is(
  #producer-pispite-holder-article th,
  #producer-pispite-holder-article td,
  .entry-content th,
  .entry-content td
) { padding: 10px 12px; border: 1px solid var(--kt-refresh-line); }

/* Modernize legacy static trip/archive tiles as well as newer listing cards. */
body.kt-sitewide-refresh.trip-template-default :is(
  article.card,
  .wp-travel-engine-archive-wrap .holder,
  .related-post .holder,
  .related-tour .holder,
  .trip-card,
  .tour-card,
  .kt-tour-card
) {
  overflow: hidden;
  border: 1px solid var(--kt-refresh-line) !important;
  border-radius: 18px !important;
  background: var(--kt-refresh-paper) !important;
  box-shadow: 0 10px 28px rgba(21,47,36,.065) !important;
}
body.kt-sitewide-refresh.trip-template-default :is(
  .wp-travel-engine-archive-wrap .holder,
  .related-post .holder,
  .related-tour .holder,
  .trip-card,
  .tour-card,
  .kt-tour-card
):hover { border-color: rgba(8,124,112,.32) !important; box-shadow: 0 16px 36px rgba(21,47,36,.11) !important; }
body.kt-sitewide-refresh.trip-template-default :is(
  .wp-travel-engine-archive-wrap .holder img,
  .related-post .holder img,
  .related-tour .holder img,
  .trip-card img,
  .tour-card img,
  .kt-tour-card img
) { display: block; max-width: 100%; object-fit: cover; }

/* Article listing and detail layouts: concise cards, clear hierarchy. */
body.kt-sitewide-refresh.kt-article-page :is(article.post,.article-card,.post-card) {
  overflow: hidden;
  border: 1px solid var(--kt-refresh-line);
  border-radius: 20px;
  background: var(--kt-refresh-paper);
  box-shadow: var(--kt-refresh-shadow);
}
body.kt-sitewide-refresh.kt-article-page :is(.entry-content,#producer-pispite-holder-article) {
  max-width: 920px;
  margin-inline: auto;
  color: #34473d;
  font-size: clamp(16px,1.12vw,18px);
  line-height: 1.82;
}
body.kt-sitewide-refresh.kt-article-page :is(.entry-content,#producer-pispite-holder-article) :is(h2,h3,h4) {
  color: var(--kt-refresh-forest);
  font-family: Georgia,"Times New Roman",serif;
  line-height: 1.18;
  letter-spacing: -.025em;
  text-shadow: none;
}
body.kt-sitewide-refresh.kt-article-page :is(.entry-content,#producer-pispite-holder-article) a { color: var(--kt-refresh-teal); }

/* Consistent controls and data tables across static and dynamic screens. */
body.kt-sitewide-refresh :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
  max-width: 100%;
  border-color: #cfdcd3;
  border-radius: 10px;
  color: var(--kt-refresh-ink);
}
body.kt-sitewide-refresh :is(input,select,textarea,button,a):focus-visible {
  outline: 3px solid rgba(8,124,112,.32);
  outline-offset: 2px;
}
body.kt-sitewide-refresh :is(button,.button,[type="submit"],.wp-block-button__link) { font-weight: 750; }
body.kt-sitewide-refresh :is(.pagination,.nav-links,.page-numbers) { color: var(--kt-refresh-forest); }
body.kt-sitewide-refresh :is(.pagination a,.nav-links a,a.page-numbers) {
  display: inline-flex;
  min-width: 38px;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 0 11px;
  border: 1px solid var(--kt-refresh-line);
  border-radius: 10px;
  color: var(--kt-refresh-forest);
  background: var(--kt-refresh-paper);
  text-decoration: none;
}
body.kt-sitewide-refresh :is(.pagination,.nav-links) .current { border-radius: 10px; color: #fff; background: var(--kt-refresh-forest); }
body.kt-sitewide-refresh table:not(.calendar):not(.ui-datepicker-calendar) { border-color: var(--kt-refresh-line); }
body.kt-sitewide-refresh table:not(.calendar):not(.ui-datepicker-calendar) :is(th,td) { border-color: var(--kt-refresh-line); }

@media (max-width: 680px) {
  body.kt-sitewide-refresh.trip-template-default:not(.kt-article-page) :is(#producer-pispite-about,.page-header,.section-header,.entry-header) {
    width: min(100% - 24px, var(--kt-refresh-content-width));
    margin-block: 12px 18px !important;
    padding: 21px !important;
    border-radius: 17px !important;
  }
  body.kt-sitewide-refresh.trip-template-default.single-trip:not(.kt-article-page) #producer-pispite-holder-article { width: min(100% - 24px,1000px); }
  body.kt-sitewide-refresh :is(.pagination,.nav-links) { display: flex; flex-wrap: wrap; gap: 6px; }
}

/* Page-family art direction. Keep Kitano's colors consistent, but vary the
   composition and information hierarchy for the job each page needs to do. */
body.kt-sitewide-refresh.kt-page-kind-home {
  --kt-refresh-forest: #12392e;
  --kt-refresh-teal: #0b8175;
  background: linear-gradient(180deg,#f5f7f4 0,#fffefa 42%,#f0f5f1 100%);
}
body.kt-sitewide-refresh.kt-page-kind-home :is(.hero,.bannerr,.home-hero,.kt-home-hero) {
  border-radius: 0 0 30px 30px;
  background-image: linear-gradient(100deg,rgba(10,39,30,.8),rgba(10,39,30,.18)),var(--kt-hero-image,none);
}

body.kt-sitewide-refresh.kt-page-kind-catalog { --kt-refresh-content-width: 1360px; }
body.kt-sitewide-refresh.kt-page-kind-catalog main { width: min(100% - 40px,1360px); margin: 18px auto 56px; }
body.kt-sitewide-refresh.kt-page-kind-catalog :is(.filters,.filter-panel,#filterForm,.tour-filters) {
  padding: 15px;
  border: 1px solid var(--kt-refresh-line);
  border-radius: 16px;
  background: #fffefa;
  box-shadow: 0 8px 20px rgba(21,47,36,.045);
}
body.kt-sitewide-refresh.kt-page-kind-catalog :is(.grid,#cardGrid) { gap: 14px !important; }
body.kt-sitewide-refresh.kt-page-kind-catalog article.card { border-radius: 15px !important; }
body.kt-sitewide-refresh.kt-page-kind-catalog article.card > img { aspect-ratio: 16/9; }

body.kt-sitewide-refresh.kt-page-kind-tour-detail {
  --kt-refresh-content-width: 1240px;
  background: linear-gradient(180deg,#f2f6f2 0,#fffefa 340px);
}
body.kt-sitewide-refresh.kt-page-kind-tour-detail :is(.entry-header,.tour-card-header) {
  background: linear-gradient(125deg,#11392e,#1b5141 72%,#3e2b22) !important;
}
body.kt-sitewide-refresh.kt-page-kind-tour-detail :is(.booking-form,.book-tour,.trip-price,.wte-booking-panel) {
  border-radius: 16px;
  box-shadow: 0 12px 28px rgba(21,47,36,.08);
}

body.kt-sitewide-refresh.kt-page-kind-departures {
  --kt-refresh-content-width: 1260px;
  background: linear-gradient(180deg,#f7f5ee 0,#fffefa 360px);
}
body.kt-sitewide-refresh.kt-page-kind-departures :is(.month-tabs,.year-tabs,.departure-filters) {
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--kt-refresh-line);
  border-radius: 15px;
  background: #fffefa;
}
body.kt-sitewide-refresh.kt-page-kind-departures :is(.departure-card,.group-card,.departure-row,.shared-departure-card) {
  padding: clamp(14px,2vw,22px);
}

body.kt-sitewide-refresh.kt-page-kind-fullmoon {
  --kt-refresh-forest: #183f34;
  --kt-refresh-teal: #0b8175;
  background: radial-gradient(ellipse at 85% 4%,rgba(217,180,95,.13),transparent 31%),linear-gradient(180deg,#edf3ee,#fffefa 460px);
}
body.kt-sitewide-refresh.kt-page-kind-fullmoon :is(.entry-header,#producer-pispite-about) {
  border-color: rgba(217,180,95,.42) !important;
  background: radial-gradient(circle at 90% 20%,rgba(217,180,95,.19),transparent 28%),linear-gradient(118deg,#102f28,#174638 68%,#34271f) !important;
}
body.kt-sitewide-refresh.kt-page-kind-fullmoon :is(.entry-header .entry-title,#producer-pispite-about .section-title) { color: #fffefa !important; }

body.kt-sitewide-refresh.kt-page-kind-route-guide {
  --kt-refresh-content-width: 1200px;
  background: linear-gradient(180deg,#edf3ef 0,#fffefa 390px);
}
body.kt-sitewide-refresh.kt-page-kind-route-guide :is(.entry-header,#producer-pispite-about) {
  position: relative;
  overflow: hidden;
  border-left: 4px solid var(--kt-refresh-gold) !important;
}
body.kt-sitewide-refresh.kt-page-kind-route-guide :is(.entry-header,#producer-pispite-about)::after {
  position: absolute;
  right: -58px;
  bottom: -118px;
  width: 230px;
  height: 230px;
  border: 1px solid rgba(8,124,112,.15);
  border-radius: 50%;
  box-shadow: 0 0 0 22px rgba(8,124,112,.035),0 0 0 48px rgba(8,124,112,.025);
  content: "";
  pointer-events: none;
}

body.kt-sitewide-refresh.kt-page-kind-destination {
  --kt-refresh-content-width: 1280px;
  background: linear-gradient(180deg,#f2f6f1 0,#fffefa 440px);
}
body.kt-sitewide-refresh.kt-page-kind-destination :is(.entry-header,.page-header,.archive-hero) {
  border-bottom: 3px solid var(--kt-refresh-gold) !important;
  border-radius: 0 0 24px 24px !important;
}

body.kt-sitewide-refresh.kt-page-kind-article-library { background: #f7f6f1; }
body.kt-sitewide-refresh.kt-page-kind-article-library :is(.kt-article-hero,.archive-hero) {
  border-radius: 0 0 26px 26px;
  background: linear-gradient(118deg,#12392e,#1a4a3b 65%,#4a3024);
}
body.kt-sitewide-refresh.kt-page-kind-article-library :is(.kt-article-grid,.kt-journal-grid) { gap: 15px !important; }
body.kt-sitewide-refresh.kt-page-kind-article-library :is(.kt-article-card,.kt-journal-grid .holder) { border-radius: 15px !important; }

body.kt-sitewide-refresh.kt-page-kind-planner {
  --kt-refresh-content-width: 1180px;
  background: radial-gradient(circle at 90% 12%,rgba(8,124,112,.09),transparent 26%),#f5f7f4;
}
body.kt-sitewide-refresh.kt-page-kind-planner :is(.step,.planner-step,.form-section,.wizard-panel) {
  padding: clamp(16px,2.5vw,26px);
  border: 1px solid var(--kt-refresh-line);
  border-radius: 18px;
  background: #fffefa;
  box-shadow: 0 12px 30px rgba(21,47,36,.055);
}

/* Static article sidebar regression: keep one readable article column and
   present related stories as compact cards below it, never as a giant rail. */
body.kt-sitewide-refresh.kt-page-kind-article :is(#secondary,#raratheme_recent_post-1) { display: none !important; }
body.kt-sitewide-refresh.kt-page-kind-article .site-content > .container { width: min(100% - 32px,1160px); max-width: 1160px; }
body.kt-sitewide-refresh.kt-page-kind-article #primary { width: 100%; max-width: none; }
body.kt-sitewide-refresh.kt-page-kind-article .related-post { width: min(100%,1040px); margin: 34px auto 50px; }
body.kt-sitewide-refresh.kt-page-kind-article .related-post .grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
body.kt-sitewide-refresh.kt-page-kind-article .related-post .holder { min-height: 0; }
body.kt-sitewide-refresh.kt-page-kind-article .related-post .img-hlder { height: auto; aspect-ratio: 16/9; }
body.kt-sitewide-refresh.kt-page-kind-article .related-post .img-hlder img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.kt-sitewide-refresh.kt-page-kind-article .related-post .post-title { font-size: 16px; line-height: 1.3; }
body.kt-sitewide-refresh.kt-page-kind-article .entry-content { max-width: 900px; margin-inline: auto; padding: clamp(20px,3vw,34px) !important; }
body.kt-sitewide-refresh.kt-page-kind-article .entry-content :is(h2,h3,h4) { text-wrap: balance; }

/* Compact, numbered navigation for all database-driven tour catalogues. */
body.kt-tour-catalog-page .kt-tour-listing-count {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  margin: 0 0 14px;
  color: var(--kt-refresh-muted);
  font-size: 13px;
}
body.kt-tour-catalog-page .kt-tour-listing-count strong { color: var(--kt-refresh-forest); font-size: 15px; }
body.kt-tour-catalog-page .kt-tour-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin: 26px auto 0;
}
body.kt-tour-catalog-page .kt-tour-pagination :is(a,span) {
  display: inline-flex;
  min-width: 38px;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 0 11px;
  border: 1px solid var(--kt-refresh-line);
  border-radius: 10px;
  color: var(--kt-refresh-forest);
  background: var(--kt-refresh-paper);
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
}
body.kt-tour-catalog-page .kt-tour-pagination a:hover { border-color: var(--kt-refresh-teal); background: #edf6f2; }
body.kt-tour-catalog-page .kt-tour-pagination .is-current { border-color: var(--kt-refresh-forest); color: #fff; background: var(--kt-refresh-forest); }
body.kt-tour-catalog-page .kt-tour-pagination .kt-tour-pagination__ellipsis { min-width: 20px; padding-inline: 0; border-color: transparent; background: transparent; }
body.kt-tour-catalog-page .kt-tour-pagination .kt-tour-pagination__step { padding-inline: 14px; }

body.kt-sitewide-refresh .pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 24px auto 40px;
  padding: 10px 12px;
  border: 1px solid var(--kt-refresh-line);
  border-radius: 18px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 8px 24px rgba(18,48,39,.07);
}
body.kt-sitewide-refresh .pagination :is(a,span) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  margin: 0;
  padding: 0 12px;
  border: 1px solid var(--kt-refresh-line);
  border-radius: 12px;
  background: #fff;
  color: var(--kt-refresh-forest);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
body.kt-sitewide-refresh .pagination a:hover { border-color: var(--kt-refresh-teal); background: #edf6f2; }
body.kt-sitewide-refresh .pagination .current { border-color: var(--kt-refresh-forest); background: var(--kt-refresh-forest); color: #fff; }
body.kt-sitewide-refresh .pagination :is(.pagination-count,.pagination-ellipsis) {
  min-width: auto;
  border-color: transparent;
  background: transparent;
  color: var(--kt-refresh-muted);
}
body.kt-sitewide-refresh .pagination :is(.prev,.next) { padding-inline: 14px; }

@media (max-width: 680px) {
  body.kt-sitewide-refresh.kt-page-kind-catalog main,
  body.kt-sitewide-refresh.kt-page-kind-article .site-content > .container { width: min(100% - 24px,100%); }
  body.kt-sitewide-refresh.kt-page-kind-article .related-post .grid { grid-template-columns: 1fr; }
  body.kt-tour-catalog-page .kt-tour-pagination { gap: 5px; }
  body.kt-tour-catalog-page .kt-tour-pagination :is(a,span) { min-width: 35px; min-height: 35px; padding-inline: 9px; }
  body.kt-sitewide-refresh .pagination { gap: 5px; padding: 8px; }
  body.kt-sitewide-refresh .pagination :is(a,span) { min-width: 35px; min-height: 35px; padding-inline: 9px; }
}
