/*
Theme Name: Paris-Peshkom v231 ACF Home Excursions
Theme URI: https://paris-peshkom.com/
Author: Paris-Peshkom
Description: Clean media-first WordPress theme for Paris-Peshkom.
Version: 1.0.231
Requires at least: 6.0
Tested up to: 6.4
Requires PHP: 7.4
Text Domain: paris-peshkom
*/
/* Journal CSS is loaded only by its page-specific stylesheet link. */


:root {
  --ink: #17211d;
  --muted: #68716d;
  --green: #063f31;
  --green-2: #0a503f;
  --gold: #c98335;
  --gold-2: #d79b52;
  --line: #e6dccc;
  --paper: #faf6ef;
  --white: #ffffff;
  --shadow: 0 18px 42px rgba(34, 28, 21, 0.12);
  --radius: 8px;
}

/* v246: collapsible details block on single excursion pages. */
body.single-excursion .px-details-collapsible,
body.single-excursion-fallback .px-details-collapsible {
  align-items: flex-start;
}

body.single-excursion .px-details-copy,
body.single-excursion-fallback .px-details-copy {
  min-width: 0;
}

body.single-excursion .px-details-content,
body.single-excursion-fallback .px-details-content {
  position: relative;
  max-height: 360px;
  overflow: hidden;
}

body.single-excursion .px-details:not(.is-open) .px-details-content::after,
body.single-excursion-fallback .px-details:not(.is-open) .px-details-content::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 96px;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,0), #fff 72%);
}

body.single-excursion .px-details.is-open .px-details-content,
body.single-excursion-fallback .px-details.is-open .px-details-content {
  max-height: none;
}

body.single-excursion .px-details-toggle,
body.single-excursion-fallback .px-details-toggle {
  width: 100%;
  min-height: 58px;
  margin: 18px 0 0;
  padding: 0 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid rgba(211, 155, 87, .34);
  border-radius: 8px;
  background: #fff;
  color: #b57426;
  font: inherit;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 10px 26px rgba(42, 25, 9, .05);
}

body.single-excursion .px-details-toggle:hover,
body.single-excursion-fallback .px-details-toggle:hover {
  border-color: rgba(211, 155, 87, .58);
  color: #8f5517;
}

body.single-excursion .px-details-toggle-icon,
body.single-excursion-fallback .px-details-toggle-icon {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  line-height: 1;
  transition: transform .18s ease;
}

body.single-excursion .px-details.is-open .px-details-toggle-icon,
body.single-excursion-fallback .px-details.is-open .px-details-toggle-icon {
  transform: rotate(45deg);
}

body.single-excursion .px-details-facts,
body.single-excursion-fallback .px-details-facts {
  align-self: stretch;
}

@media (max-width: 820px) {
  body.single-excursion .px-details-content,
  body.single-excursion-fallback .px-details-content {
    max-height: 335px;
  }

  body.single-excursion .px-details-toggle,
  body.single-excursion-fallback .px-details-toggle {
    min-height: 54px;
    margin-top: 16px;
    padding: 0 16px;
  }
}
@media (max-width: 640px) {
  html,
  body {
    overflow-x: hidden;
  }

  body {
    padding-bottom: 76px;
    background: #fffaf4;
  }

  .wrap {
    width: min(100% - 32px, 390px);
  }

  .site-header {
    top: 0;
    z-index: 30;
  }

  .nav {
    min-height: 66px;
    padding-top: 10px;
    align-items: flex-start;
  }

  .brand {
    min-width: 116px;
    font-size: 21px;
    line-height: 0.86;
    letter-spacing: 1.45px;
  }

  .brand small {
    font-size: 14px;
    letter-spacing: 0.8px;
  }

  .brand-mark {
    width: 18px;
    height: 34px;
  }

  .btn-whatsapp {
    width: 34px;
    height: 34px;
    min-height: 34px;
  }

  .btn-whatsapp svg {
    width: 25px;
    height: 25px;
  }

  .mobile-toggle {
    width: 34px;
    height: 34px;
    font-size: 26px;
    line-height: 1;
  }

  .hero,
  .hero .wrap {
    min-height: auto;
  }

  .hero {
    position: relative;
    padding: 0 0 18px;
    background-image:
      linear-gradient(90deg, rgba(255, 250, 243, 0.98) 0%, rgba(255, 250, 243, 0.9) 39%, rgba(255, 250, 243, 0.2) 71%, rgba(255, 250, 243, 0.04) 100%),
      linear-gradient(180deg, rgba(255, 250, 243, 0) 0%, rgba(255, 250, 243, 0.08) 61%, rgba(255, 250, 243, 0.96) 100%),
      var(--mobile-hero) !important;
    background-position: center top;
    background-size: cover;
  }

  .hero-copy {
    width: 100%;
    padding: 82px 0 0;
  }

  .hero h1 {
    max-width: 286px;
    margin: 0;
    font-size: clamp(27px, 7vw, 30px);
    line-height: 1.08;
  }

  .lead {
    max-width: 264px;
    margin: 14px 0 18px;
    color: #27332e;
    font-size: 13px;
    line-height: 1.43;
  }

  .hero-buttons {
    max-width: 210px;
    gap: 9px;
    margin: 0 0 13px;
  }

  .hero-buttons .btn {
    min-height: 45px;
    border-radius: 5px;
    font-size: 13px;
  }

  .hero-buttons .btn-outline {
    min-height: 22px;
    color: #064c39;
    font-size: 12px;
  }

  .mobile-guide-note {
    grid-template-columns: 62px minmax(0, 1fr) 48px;
    gap: 11px;
    width: min(326px, calc(100vw - 52px));
    min-height: 86px;
    margin: 18px auto 0;
    padding: 9px 12px 9px 9px;
    border-radius: 16px;
    background: rgba(255, 249, 241, 0.96);
    box-shadow: 0 14px 32px rgba(54, 39, 22, 0.14);
    transform: none;
  }

  .mobile-guide-note img {
    width: 62px;
    height: 62px;
  }

  .mobile-guide-note strong {
    font-size: 14px;
    line-height: 1.08;
  }

  .mobile-guide-note span {
    max-width: 148px;
    font-size: 9.5px;
    line-height: 1.25;
  }

  .mobile-guide-note em {
    color: #c77b21;
    font-size: 19px;
  }

  .stats {
    width: min(100%, 342px);
    margin: 16px auto 0;
    background: rgba(255, 250, 243, 0.78);
  }

  .stat {
    grid-template-columns: 30px 1fr;
    min-height: 58px;
    padding: 8px 7px 8px 12px;
    color: #c27416;
    border-color: rgba(214, 190, 160, 0.72);
  }

  .stat svg {
    width: 25px;
    height: 25px;
  }

  .stat strong {
    color: #1f2d27;
    font-size: 17px;
    line-height: 1.05;
  }

  .stat span {
    color: #28352f;
    font-size: 10.5px;
    line-height: 1.2;
  }

  .section {
    padding: 26px 0;
  }

  .section-title {
    margin-bottom: 14px;
    align-items: flex-start;
  }

  .section-title h2 {
    max-width: 255px;
    font-size: 26px;
    line-height: 1.12;
  }

  .section-link {
    padding-top: 7px;
    color: #064c39;
    font-size: 11px;
  }

  .showcase-section {
    padding-top: 26px;
  }

  .showcase-section .section-title {
    justify-content: flex-start;
    text-align: left;
  }

  .showcase-section .section-title h2 {
    max-width: 280px;
    font-size: 26px;
  }

  .feature-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .feature {
    min-height: 206px;
    padding: 10px 7px 12px;
    border-radius: 7px;
    box-shadow: 0 14px 24px rgba(38, 29, 18, 0.16);
  }

  .feature::before {
    background: linear-gradient(180deg, rgba(2, 15, 10, 0.18), rgba(2, 15, 10, 0.68));
  }

  .feature-icon {
    width: 46px;
    height: 46px;
    margin-bottom: 50px;
    background: #087252;
    color: #fff;
    border: 2px solid rgba(255, 255, 255, 0.92);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22);
  }

  .feature h3 {
    font-size: 17px;
    line-height: 1.05;
  }

  .feature p {
    max-width: 104px;
    font-size: 9px;
    line-height: 1.32;
  }

  .cards,
  .article-grid {
    gap: 10px;
    margin-inline: -16px;
    padding-inline: 16px;
    padding-bottom: 12px;
  }

  .card {
    flex: 0 0 218px;
    min-width: 218px;
    border-radius: 6px;
  }

  .card-img {
    height: 118px;
  }

  .card-body {
    padding: 12px 12px 14px;
  }

  .card h3 {
    min-height: 18px;
    font-size: 14px;
    line-height: 1.22;
  }

  .card p {
    min-height: 42px;
    font-size: 10.5px;
    line-height: 1.42;
    -webkit-line-clamp: 3;
  }

  .meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 20px;
    padding-top: 10px;
  }

  .meta a {
    display: none;
  }

  .band {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.86fr);
    min-height: 184px;
    border-radius: 7px;
  }

  .band-copy {
    padding: 20px 16px;
  }

  .band h2 {
    font-size: 21px;
    line-height: 1.12;
  }

  .band p {
    font-size: 11px;
    line-height: 1.45;
  }

  .band .btn {
    min-height: 38px;
    padding: 0 12px;
    font-size: 11px;
  }

  .about-strip {
    display: block;
    padding: 0;
    overflow: hidden;
    border-radius: 7px;
    background: #fff7ed;
  }

  .about-photo {
    min-height: 236px;
    border-radius: 0;
    background-position: center top;
  }

  .about-copy {
    padding: 18px 18px 0;
  }

  .about-copy h2 {
    margin-bottom: 10px;
    font-size: 28px;
  }

  .about-copy p {
    font-size: 13px;
    line-height: 1.55;
  }

  .about-copy .btn {
    width: 100%;
    min-height: 44px;
    margin-top: 6px;
  }

  .about-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    padding: 16px 18px 18px;
    border-top: 1px solid rgba(222, 205, 183, 0.72);
  }

  .about-list div {
    grid-template-columns: 42px 1fr;
    min-height: 42px;
    font-size: 14px;
  }

  .about-icon {
    width: 36px;
    height: 36px;
    color: #c27416;
    border-color: rgba(210, 139, 51, 0.32);
    background: rgba(255, 253, 249, 0.72);
  }

  .journal-reviews .split {
    gap: 24px;
  }

  .article-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: visible;
    margin-inline: 0;
    padding-inline: 0;
  }

  .article-card {
    min-width: 0;
    min-height: 196px;
    border-radius: 6px;
  }

  .article-photo {
    min-height: 86px;
    padding: 6px;
  }

  .article-photo span {
    max-width: 92px;
    min-height: 18px;
    padding: 0 5px;
    font-size: 6.8px;
    white-space: normal;
  }

  .article-content {
    padding: 10px 9px 12px;
  }

  .article-card strong {
    font-size: 11px;
    line-height: 1.36;
    -webkit-line-clamp: 5;
  }

  .review {
    grid-template-columns: 36px 1fr;
    min-height: 205px;
    padding: 18px;
    border-radius: 7px;
  }

  .review p {
    font-size: 13px;
    line-height: 1.5;
  }

  .review-author {
    grid-column: 2;
  }

  .review-nav {
    right: 16px;
    bottom: 18px;
  }

  .final-cta {
    min-height: 276px;
    padding: 22px 20px;
    border-radius: 7px;
    background-position: center;
  }

  .final-cta h2 {
    max-width: 250px;
    font-size: 24px;
  }

  .final-cta p {
    max-width: 248px;
    font-size: 12px;
  }

  .site-footer {
    padding-bottom: 92px;
  }

  .mobile-sticky-actions {
    gap: 10px;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
  }

  .mobile-sticky-actions .btn {
    min-height: 44px;
    border-radius: 5px;
    font-size: 12px;
  }
}

@media (max-width: 640px) {
  body {
    padding-bottom: 74px;
  }

  .hero {
    padding-bottom: 34px;
  }

  .hero-copy {
    padding-top: 80px;
  }

  .hero h1 {
    max-width: 292px;
  }

  .mobile-guide-note {
    margin-top: 22px;
  }

  .hero .stats {
    display: none;
  }

  .showcase-section {
    padding-top: 30px;
  }

  .feature-grid,
  .cards,
  .article-grid {
    display: flex;
    grid-template-columns: none;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
  }

  .feature-grid::-webkit-scrollbar,
  .cards::-webkit-scrollbar,
  .article-grid::-webkit-scrollbar {
    display: none;
  }

  .feature-grid {
    gap: 9px;
    margin-inline: -16px;
    padding-inline: 16px;
    padding-bottom: 14px;
  }

  .feature {
    flex: 0 0 118px;
    min-width: 118px;
    scroll-snap-align: start;
  }

  .cards {
    gap: 12px;
  }

  .card {
    flex: 0 0 222px;
    min-width: 222px;
    scroll-snap-align: start;
  }

  .article-grid {
    gap: 10px;
    margin-inline: -16px;
    padding-inline: 16px;
    padding-bottom: 12px;
  }

  .article-card {
    flex: 0 0 118px;
    min-width: 118px;
    scroll-snap-align: start;
  }

  .excursions-preview,
  #districts,
  .journal-reviews {
    overflow: hidden;
  }

  .mobile-sticky-actions {
    padding-top: 8px;
    padding-bottom: calc(8px + env(safe-area-inset-bottom));
  }

  .mobile-sticky-actions .btn {
    min-height: 42px;
  }
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: linear-gradient(180deg, #faf6ef 0%, #fffdf9 45%, #faf6ef 100%);
  color: var(--ink);
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
}

body.admin-bar .site-header {
  top: 32px;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

.serif,
h1,
h2,
h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: 0;
}

.wrap {
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255, 251, 246, 0.96);
  border-bottom: 1px solid rgba(232, 224, 214, 0.7);
  backdrop-filter: blur(16px);
}

.nav {
  display: flex;
  align-items: center;
  min-height: 68px;
  gap: 20px;
}

.brand {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 9px;
  min-width: 150px;
  color: var(--green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  line-height: 0.95;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.brand-mark {
  width: 22px;
  height: 38px;
  color: var(--green);
}

.brand small {
  display: block;
  font-size: 12px;
  letter-spacing: 4px;
}

.menu {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
}

.menu-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 1.75vw, 28px);
  margin: 0;
  padding: 0;
  list-style: none;
  color: #26312d;
  font-size: 14px;
  font-weight: 600;
}

.menu-list a {
  display: inline-flex;
  align-items: center;
  min-height: 68px;
  white-space: nowrap;
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.langs {
  color: #2f3835;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 21px;
  border: 1px solid transparent;
  border-radius: 6px;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
}

.btn-primary {
  background: var(--green);
  color: var(--white);
}

.btn-primary:hover {
  background: var(--green-2);
}

.btn-outline {
  border-color: #c99a61;
  color: #a06b2c;
  background: rgba(255, 255, 255, 0.84);
}

.btn-gold {
  background: linear-gradient(180deg, var(--gold-2), var(--gold));
  color: var(--white);
  box-shadow: 0 8px 20px rgba(201, 131, 53, 0.22);
}

.btn-whatsapp {
  gap: 8px;
  background: var(--green);
  color: var(--white);
  white-space: nowrap;
  padding-inline: 18px;
}

.btn-whatsapp svg {
  width: 18px;
  height: 18px;
}

.hero {
  position: relative;
  overflow: hidden;
  min-height: 600px;
  background-position: center right;
  background-size: cover;
  background-repeat: no-repeat;
}

@media (min-width: 641px) {
  html,
  body {
    background: #faf6ef;
  }

  .hero {
    background-color: #faf6ef;
    background-position: center right;
    background-size: cover, cover, cover;
  }

  .showcase-section,
  .section {
    background-color: transparent;
  }

  .about-strip {
    background: linear-gradient(135deg, #fffdf9 0%, #faf6ef 58%, #f4ecdf 100%);
  }

  .mobile-guide-note,
  .card,
  .article-card,
  .review {
    background-color: rgba(255, 255, 255, 0.94);
  }
}

.hero .wrap {
  position: relative;
  min-height: 600px;
  display: grid;
  align-items: center;
}

.hero-copy {
  width: min(520px, 100%);
  padding: 78px 0 58px;
}

.hero h1 {
  margin: 0;
  font-size: clamp(39px, 4.25vw, 62px);
  line-height: 1.08;
}

.lead {
  width: min(390px, 100%);
  margin: 22px 0 28px;
  color: #2f3a36;
  font-weight: 500;
}

.hero-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 40px;
}

.stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(640px, 100%);
  gap: 22px;
}

.stat {
  display: grid;
  grid-template-columns: 32px 1fr;
  align-items: center;
  gap: 12px;
  padding-right: 18px;
  border-right: 1px solid #decdb9;
}

.stat:last-child {
  border-right: 0;
}

.stat svg {
  color: var(--gold);
  width: 28px;
  height: 28px;
}

.stat strong {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 23px;
}

.stat span {
  color: #4f5a55;
  font-size: 12px;
  font-weight: 700;
}

.guide-card {
  position: absolute;
  right: 44px;
  bottom: 56px;
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 12px;
  align-items: center;
  width: 260px;
  padding: 12px 16px 12px 12px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 999px;
  box-shadow: var(--shadow);
  color: #2c352f;
  font-size: 13px;
  font-weight: 700;
}

.guide-card img {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
}

.section {
  padding: 30px 0;
}

.section-title {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.section h2 {
  margin: 0;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
}

.section-link {
  color: var(--green);
  font-weight: 800;
  font-size: 14px;
}

.showcase-section {
  padding: 24px 0 14px;
}

.showcase-section .section-title {
  justify-content: center;
  margin-bottom: 12px;
  text-align: center;
}

.showcase-section .section-title h2 {
  font-size: clamp(22px, 2vw, 28px);
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
  justify-content: stretch;
  margin: 0 auto;
}

.feature {
  position: relative;
  min-height: 158px;
  overflow: hidden;
  display: grid;
  place-items: center;
  padding: 22px 24px;
  border-radius: var(--radius);
  text-align: center;
  color: var(--white);
  background: #12251e;
  box-shadow: 0 16px 34px rgba(28, 22, 15, 0.12);
}

.feature::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0, 0, 0, 0.42), rgba(0, 0, 0, 0.56)), var(--bg) center / cover;
}

.feature > * {
  position: relative;
}

.feature-icon {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  margin: 0 auto 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.96);
  color: var(--green);
  box-shadow: 0 10px 26px rgba(17, 24, 20, 0.18);
}

.feature-icon svg {
  width: 28px;
  height: 28px;
  fill: currentColor;
}

.feature h3 {
  margin: 0 0 6px;
  font-size: 21px;
}

.feature p {
  margin: 0 auto;
  max-width: 245px;
  font-size: 12px;
  line-height: 1.45;
}

.excursions-preview {
  padding-top: 10px;
}

.excursions-preview .section-title {
  margin-bottom: 14px;
}

.excursions-preview .section-title h2 {
  font-size: clamp(26px, 2.45vw, 34px);
}

.cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.card {
  overflow: hidden;
  display: flex;
  min-height: 390px;
  flex-direction: column;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 10px 28px rgba(38, 29, 18, 0.07);
}

.card-img {
  height: 168px;
  flex: 0 0 168px;
  background: var(--bg) center / cover no-repeat;
}

.card-body {
  display: flex;
  min-height: 220px;
  flex: 1;
  flex-direction: column;
  padding: 13px 14px 14px;
}

.card h3 {
  min-height: 48px;
  margin: 0 0 6px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.16;
}

.card h3 a {
  color: inherit;
  text-decoration: none;
}

.card p {
  min-height: 58px;
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.meta {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid #f0e8dd;
  color: #272f2b;
  font-size: 13px;
  font-weight: 800;
}

.meta small {
  color: var(--gold);
  font-weight: 900;
}

.meta span {
  justify-self: start;
}

.meta a {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border: 1px solid rgba(6, 67, 51, 0.44);
  border-radius: 5px;
  color: var(--green);
  text-decoration: none;
}

.card .ex-tag,
.card .tag,
.card .badge,
.card-tag {
  display: inline-flex;
  min-height: 19px;
  align-items: center;
  margin-bottom: 9px;
  align-self: flex-start;
  padding: 0 8px;
  border: 1px solid rgba(196, 123, 31, 0.2);
  border-radius: 999px;
  background: rgba(217, 146, 47, 0.08);
  color: #8f5813;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.band {
  overflow: hidden;
  display: grid;
  grid-template-columns: 0.9fr 1.4fr;
  min-height: 150px;
  margin: 12px 0 6px;
  border-radius: var(--radius);
  background: radial-gradient(circle at left center, rgba(255, 255, 255, 0.07), transparent 42%), var(--green);
  color: var(--white);
}

.band-copy {
  padding: 28px 34px;
}

.band h2 {
  margin-bottom: 8px;
}

.band p {
  margin: 0 0 18px;
  color: rgba(255, 255, 255, 0.86);
  font-weight: 600;
}

.band-img {
  min-height: 184px;
  background: linear-gradient(90deg, rgba(6, 63, 49, 0.55), rgba(6, 63, 49, 0)), var(--bg) center / cover no-repeat;
}

.about-strip {
  display: grid;
  grid-template-columns: 0.95fr 1.15fr 0.95fr;
  gap: 0;
  overflow: hidden;
  background: linear-gradient(135deg, #fffdf9 0%, #fff8ef 58%, #fff2e3 100%);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 18px 46px rgba(37, 29, 19, 0.08);
}

.about-photo {
  min-height: 236px;
  background: var(--bg) center / cover no-repeat;
}

.about-copy {
  display: grid;
  align-content: center;
  padding: 34px 42px;
}

.eyebrow {
  color: var(--gold);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.about-copy h2 {
  margin: 6px 0 12px;
  color: #101a16;
  font-size: clamp(34px, 3.1vw, 46px);
  line-height: 1;
}

.about-copy p {
  margin: 0 0 22px;
  color: #4f5a55;
  font-size: 16px;
  line-height: 1.65;
}

.about-list {
  display: grid;
  align-content: center;
  gap: 14px;
  padding: 32px;
  border-left: 1px solid rgba(219, 204, 184, 0.72);
  color: #32413b;
  font-weight: 800;
}

.about-list div {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 14px;
  align-items: center;
  min-height: 48px;
}

.about-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(201, 131, 53, 0.28);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.72);
  color: var(--gold);
}

.about-icon svg {
  width: 21px;
  height: 21px;
  fill: currentColor;
}

.journal-reviews {
  padding-top: 24px;
}

.split {
  display: grid;
  grid-template-columns: minmax(0, 1.58fr) minmax(360px, 0.86fr);
  gap: 28px;
  align-items: start;
}

.journal-reviews .section-title {
  margin-bottom: 14px;
}

.journal-reviews .section-title h2 {
  font-size: clamp(26px, 2.25vw, 32px);
}

.reviews-column .section-title h2 {
  white-space: nowrap;
  font-size: clamp(25px, 2.05vw, 30px);
}

.article-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.article-card {
  overflow: hidden;
  min-height: 196px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: 0 12px 30px rgba(38, 29, 18, 0.07);
}

.article-photo {
  position: relative;
  min-height: 104px;
  display: flex;
  align-items: end;
  padding: 10px;
  color: var(--white);
  background: linear-gradient(rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.34)), var(--bg) center / cover no-repeat;
}

.article-photo span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.92);
  color: #4b3b2a;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.article-content {
  padding: 16px 18px 18px;
}

.article-card strong {
  display: block;
  color: #1d2823;
  font-size: 17px;
  line-height: 1.45;
}

.review {
  position: relative;
  display: grid;
  grid-template-columns: 48px 1fr;
  column-gap: 18px;
  align-content: start;
  height: 239px;
  min-height: 239px;
  padding: 24px 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 30px rgba(38, 29, 18, 0.07);
}

.quote {
  color: var(--gold);
  font-size: 56px;
  line-height: 0.9;
  font-family: Georgia, "Times New Roman", serif;
}

.review p {
  margin: 3px 0 16px;
  color: #39443f;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.55;
}

.review-author {
  grid-column: 2;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  align-items: center;
}

.review-author img {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
}

.stars {
  color: var(--gold);
  letter-spacing: 2px;
}

.review-nav {
  position: absolute;
  right: 22px;
  bottom: 22px;
  display: flex;
  gap: 10px;
}

.review-nav button {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--white);
  color: var(--gold);
  font-size: 24px;
  line-height: 1;
}

.final-cta {
  margin: 26px 0 0;
  padding: 34px;
  border-radius: var(--radius);
  color: var(--white);
  background: linear-gradient(90deg, rgba(6, 63, 49, 0.96), rgba(6, 63, 49, 0.62)) center / cover no-repeat;
}

.final-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.final-cta h2 {
  margin: 0 0 8px;
  max-width: 560px;
}

.final-cta p {
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-weight: 600;
}

.site-footer {
  padding: 34px 0 28px;
  background: #fffdf8;
  border-top: 1px solid var(--line);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(4, 1fr);
  gap: 28px;
}

.footer-col h3 {
  margin: 0 0 10px;
  font-family: Inter, Arial, sans-serif;
  font-size: 14px;
  font-weight: 900;
}

.footer-col a,
.footer-col span {
  display: block;
  color: #58635e;
  font-size: 13px;
  line-height: 1.9;
}

.copyright {
  margin-top: 26px;
  color: #7a837f;
  font-size: 12px;
}

.mobile-toggle {
  display: none;
}

.mobile-sticky-actions {
  display: none;
}

.mobile-stat {
  display: none;
}

.mobile-hero-title,
.mobile-hero-lead,
.mobile-guide-note,
.mobile-section-title {
  display: none;
}

.grecaptcha-badge {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.desktop-section-title {
  display: inline;
}

.seo-text {
  padding-top: 6px;
  color: #44504b;
}

.seo-text p {
  margin: 0 0 16px;
}

@media (max-width: 980px) {
  .nav {
    justify-content: space-between;
  }

  .menu,
  .langs {
    display: none;
  }

  .menu-list {
    display: none;
  }

  .mobile-toggle {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--white);
  }

  .nav-actions {
    gap: 10px;
  }

  .hero,
  .hero .wrap {
    min-height: auto;
  }

  .hero {
    background-position: center;
  }

  .hero-copy {
    padding: 56px 0 42px;
  }

  .guide-card {
    position: static;
    margin: 0 0 34px;
  }

  .feature-grid,
  .cards,
  .article-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .about-strip,
  .split,
  .band,
  .final-cta-inner,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .about-list {
    border-left: 0;
    border-top: 1px solid var(--line);
  }
}

@media (max-width: 640px) {
  body {
    padding-bottom: 88px;
    font-size: 14px;
    background: #fffaf4;
  }

  .wrap {
    width: min(100% - 28px, 1120px);
  }

  body.admin-bar .site-header {
    top: 0;
  }

  .site-header {
    position: absolute;
    top: 0;
    width: 100%;
    background: transparent;
    border-bottom: 0;
    backdrop-filter: none;
  }

  .nav {
    min-height: 78px;
    padding-top: 8px;
  }

  .brand {
    min-width: 128px;
    font-size: 24px;
    line-height: 0.88;
    letter-spacing: 1.6px;
  }

  .brand small {
    font-size: 17px;
    font-style: italic;
    letter-spacing: 1px;
    text-transform: none;
  }

  .brand-mark {
    width: 20px;
    height: 38px;
  }

  .btn-whatsapp {
    display: inline-grid;
    width: 38px;
    height: 38px;
    min-height: 38px;
    padding: 0;
    border-radius: 50%;
    background: transparent;
    color: #059b55;
    font-size: 0;
  }

  .btn-whatsapp svg {
    width: 27px;
    height: 27px;
  }

  .mobile-toggle {
    width: 38px;
    height: 38px;
    border: 0;
    background: transparent;
    color: #14201b;
    font-size: 30px;
  }

  .hero,
  .hero .wrap {
    min-height: 584px;
  }

  .hero {
    background-image: linear-gradient(90deg, rgba(255, 250, 243, 0.96) 0%, rgba(255, 250, 243, 0.78) 39%, rgba(255, 250, 243, 0.1) 76%), url("assets/images/home-01-hero.webp") !important;
    background-position: 61% center;
    background-size: cover;
  }

  .hero .wrap {
    align-items: start;
  }

  .hero-copy {
    position: relative;
    z-index: 1;
    width: min(292px, 100%);
    padding: 98px 0 0;
  }

  .desktop-hero-title,
  .desktop-hero-lead {
    display: none;
  }

  .mobile-hero-title,
  .mobile-hero-lead {
    display: inline;
  }

  .hero h1 {
    max-width: 285px;
    color: #17211d;
    font-size: 29px;
    line-height: 1.08;
  }

  .lead {
    margin: 14px 0 21px;
    max-width: 268px;
    font-size: 13px;
    line-height: 1.42;
  }

  .hero-buttons {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    max-width: 214px;
    margin-bottom: 20px;
  }

  .hero-buttons .btn {
    min-height: 46px;
    border-radius: 5px;
    font-size: 13px;
  }

  .hero-buttons .btn-outline {
    justify-content: flex-start;
    min-height: 24px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--green);
    font-weight: 800;
  }

  .mobile-guide-note {
    display: grid;
    grid-template-columns: 74px 1fr auto;
    align-items: center;
    gap: 14px;
    width: min(322px, calc(100vw - 56px));
    min-height: 98px;
    margin: 12px 0 0 10px;
    padding: 10px 16px 10px 10px;
    border: 1px solid rgba(222, 205, 183, 0.7);
    border-radius: 18px;
    background: rgba(255, 249, 241, 0.94);
    box-shadow: 0 18px 42px rgba(54, 39, 22, 0.14);
  }

  .mobile-guide-note img {
    width: 74px;
    height: 74px;
    border-radius: 50%;
    object-fit: cover;
  }

  .mobile-guide-note strong {
    display: block;
    color: #27332e;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
    line-height: 1.1;
  }

  .mobile-guide-note span {
    display: block;
    margin-top: 5px;
    color: #4c5753;
    font-size: 10px;
    line-height: 1.28;
  }

  .mobile-guide-note em {
    align-self: end;
    color: var(--gold);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    font-style: italic;
    opacity: 0.78;
  }

  .stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    width: min(100%, 344px);
    margin: 16px auto 0;
    padding: 0;
    background: transparent;
  }

  .mobile-stat {
    display: grid;
  }

  .section-title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
  }

  .section-title h2 {
    max-width: 72%;
  }

  .section-link {
    flex: 0 0 auto;
    padding-top: 5px;
    font-size: 12px;
    white-space: nowrap;
  }

  .stat {
    grid-template-columns: 32px 1fr;
    min-height: 64px;
    padding: 9px 8px 9px 11px;
    border-right: 1px solid #decdb9;
    border-bottom: 1px solid #eadfd1;
  }

  .stat:nth-child(2n) {
    border-right: 0;
  }

  .stat:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .stat strong {
    font-size: 18px;
  }

  .stat span {
    font-size: 11px;
  }

  .section {
    padding: 28px 0;
  }

  .section h2 {
    font-size: 25px;
    line-height: 1.18;
  }

  .showcase-section {
    padding-top: 24px;
  }

  .showcase-section .section-title {
    justify-content: center;
    margin-bottom: 16px;
  }

  .showcase-section .section-title h2 {
    font-size: 24px;
  }

  .feature-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
  }

  .feature {
    min-height: 170px;
    padding: 16px 8px;
  }

  .feature-icon {
    width: 54px;
    height: 54px;
    margin-bottom: 9px;
  }

  .feature h3 {
    font-size: 18px;
  }

  .feature p {
    max-width: 108px;
    font-size: 10px;
    line-height: 1.38;
  }

  .cards,
  .article-grid {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    margin-inline: -14px;
    padding-inline: 14px;
    padding-bottom: 10px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .cards::-webkit-scrollbar,
  .article-grid::-webkit-scrollbar {
    display: none;
  }

  .card {
    flex: 0 0 46%;
    min-width: 168px;
    scroll-snap-align: start;
  }

  .card-img {
    height: 106px;
  }

  .card-body {
    padding: 12px 12px 13px;
  }

  .card h3 {
    font-size: 13px;
    line-height: 1.3;
  }

  .card p {
    display: -webkit-box;
    overflow: hidden;
    min-height: 48px;
    font-size: 10px;
    line-height: 1.45;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
  }

  .meta {
    font-size: 11px;
    flex-wrap: wrap;
  }

  .band {
    grid-template-columns: 1fr 0.72fr;
    min-height: 196px;
  }

  .band-copy {
    padding: 22px 18px;
  }

  .band h2 {
    font-size: 23px;
  }

  .band p {
    font-size: 12px;
  }

  .band-img {
    min-height: 196px;
  }

  .about-strip {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
    gap: 16px;
    padding: 18px;
    background: linear-gradient(135deg, #fffdf9 0%, #fff4e7 100%);
  }

  .about-photo {
    min-height: 245px;
    border-radius: 6px;
  }

  .about-copy {
    align-content: start;
    padding: 2px 0 0;
  }

  .about-copy h2 {
    font-size: 25px;
    line-height: 1.05;
  }

  .about-copy p {
    font-size: 12px;
    line-height: 1.55;
  }

  .about-copy .btn {
    min-height: 42px;
    width: 100%;
    padding: 0 10px;
    font-size: 12px;
  }

  .about-list {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 16px 4px 0;
    border-top: 1px solid var(--line);
  }

  .about-list div {
    min-height: 42px;
  }

  .journal-reviews .split {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .article-card {
    flex: 0 0 32.5%;
    min-width: 118px;
    min-height: 214px;
  }

  .article-photo {
    min-height: 96px;
    padding: 7px;
  }

  .article-photo span {
    min-height: 19px;
    padding: 0 6px;
    font-size: 7px;
  }

  .article-content {
    padding: 11px 10px 12px;
  }

  .article-card strong {
    display: -webkit-box;
    overflow: hidden;
    font-size: 11px;
    line-height: 1.42;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
  }

  .reviews-column .section-title h2 {
    white-space: normal;
    font-size: 25px;
  }

  .review {
    grid-template-columns: 42px 1fr;
    height: auto;
    min-height: 210px;
    padding: 20px;
  }

  .quote {
    font-size: 50px;
  }

  .review p {
    font-size: 13px;
    line-height: 1.55;
  }

  .final-cta {
    min-height: 286px;
    padding: 24px 22px;
    background-position: center;
  }

  .final-cta-inner {
    display: grid;
    align-content: space-between;
    min-height: 238px;
  }

  .final-cta h2 {
    font-size: 24px;
  }

  .final-cta .hero-buttons {
    margin: 18px 0 0;
    max-width: 230px;
  }

  .footer-grid {
    display: block;
  }

  .site-footer {
    padding: 18px 0 24px;
  }

  .footer-col {
    border-bottom: 1px solid var(--line);
    padding: 12px 0;
  }

  .footer-col:first-child {
    border-bottom: 0;
  }

  .footer-col h3 {
    position: relative;
    margin: 0;
    font-size: 14px;
  }

  .footer-col h3::after {
    content: "?";
    position: absolute;
    right: 0;
    color: #45514c;
  }

  .footer-col a,
  .footer-col span {
    display: none;
  }

  .footer-col:first-child .brand,
  .footer-col:first-child .copyright {
    display: block;
  }

  .copyright {
    margin-top: 14px;
  }

  .mobile-sticky-actions {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 50;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding: 12px 14px calc(12px + env(safe-area-inset-bottom));
    background: rgba(255, 253, 249, 0.96);
    border-top: 1px solid var(--line);
    box-shadow: 0 -12px 26px rgba(38, 29, 18, 0.1);
  }

  .mobile-sticky-actions .btn {
    min-height: 48px;
    padding: 0 12px;
    font-size: 13px;
  }

  .desktop-section-title {
    display: none;
  }

  .mobile-section-title {
    display: inline;
  }

  .site-header {
    z-index: 20;
  }

  .nav {
    min-height: 70px;
  }

  .brand {
    min-width: 118px;
    font-size: 22px;
  }

  .brand small {
    font-size: 15px;
  }

  .nav-actions {
    align-items: center;
    gap: 9px;
  }

  .hero,
  .hero .wrap {
    min-height: 610px;
  }

  .hero {
    overflow: visible;
    background-image:
      linear-gradient(90deg, rgba(255, 250, 243, 0.96) 0%, rgba(255, 250, 243, 0.9) 38%, rgba(255, 250, 243, 0.2) 70%, rgba(255, 250, 243, 0.02) 100%),
      linear-gradient(180deg, rgba(255, 250, 243, 0.06) 0%, rgba(255, 250, 243, 0.08) 66%, rgba(255, 250, 243, 0.92) 100%),
      var(--mobile-hero) !important;
    background-position: center top;
    background-size: cover;
  }

  .hero-copy {
    width: 100%;
    max-width: none;
    padding: 86px 0 0;
  }

  .hero h1 {
    max-width: 295px;
    font-size: clamp(27px, 7.2vw, 31px);
    line-height: 1.1;
  }

  .lead {
    max-width: 266px;
    margin: 14px 0 19px;
    font-size: 13px;
  }

  .hero-buttons {
    max-width: 210px;
    margin-bottom: 14px;
  }

  .mobile-guide-note {
    grid-template-columns: 72px minmax(0, 1fr) 54px;
    width: min(326px, calc(100vw - 46px));
    margin: 16px auto 0;
    padding: 10px 13px 10px 10px;
    transform: translateX(5px);
  }

  .mobile-guide-note strong {
    font-size: 15px;
  }

  .mobile-guide-note em {
    font-size: 21px;
  }

  .stats {
    width: min(100%, 344px);
    margin-top: 18px;
  }

  .stat {
    min-height: 66px;
    padding: 10px 8px 10px 13px;
  }

  .stat svg {
    width: 28px;
    height: 28px;
  }

  .showcase-section {
    padding-top: 30px;
  }

  .showcase-section .section-title {
    margin-bottom: 13px;
    text-align: left;
  }

  .showcase-section .section-title h2 {
    max-width: 280px;
    font-size: 25px;
  }

  .feature-grid {
    gap: 10px;
    align-items: stretch;
  }

  .feature {
    min-height: 188px;
    border-radius: 7px;
    padding: 12px 7px 14px;
    box-shadow: 0 14px 28px rgba(38, 29, 18, 0.16);
  }

  .feature::after {
    background: linear-gradient(180deg, rgba(3, 17, 12, 0.1), rgba(3, 17, 12, 0.72));
  }

  .feature-icon {
    width: 46px;
    height: 46px;
    margin-bottom: 44px;
    background: #0a5b43;
    color: #fff;
    border: 2px solid rgba(255, 255, 255, 0.82);
  }

  .feature h3 {
    font-size: 17px;
    line-height: 1.05;
  }

  .feature p {
    max-width: 102px;
    font-size: 9px;
    line-height: 1.36;
  }

  .excursions-preview {
    padding-top: 25px;
  }

  .cards {
    gap: 12px;
  }

  .card {
    flex: 0 0 224px;
    min-width: 224px;
    border-radius: 7px;
  }

  .card-img {
    height: 118px;
  }

  .card h3 {
    font-size: 14px;
  }

  .card p {
    min-height: 42px;
    font-size: 10.5px;
  }

  .meta {
    display: grid;
    grid-template-columns: auto auto;
    gap: 7px 12px;
  }

  .meta a {
    display: none;
  }

  .band {
    grid-template-columns: 1fr 0.86fr;
    border-radius: 7px;
  }

  .band h2 {
    font-size: 22px;
  }

  .about-strip {
    grid-template-columns: 0.86fr 1fr;
    border-radius: 7px;
  }

  .journal-reviews .section-title h2 {
    max-width: none;
  }

  .article-grid {
    gap: 10px;
  }

  .article-card {
    flex: 0 0 31.5%;
    min-width: 112px;
    min-height: 214px;
  }

  .review {
    border-radius: 7px;
  }

  .final-cta {
    border-radius: 7px;
  }
}

@media (max-width: 640px) {
  html,
  body {
    overflow-x: hidden;
  }

  body {
    padding-bottom: 76px;
    background: #fffaf4;
  }

  .wrap {
    width: min(100% - 32px, 390px);
  }

  .site-header {
    top: 0;
    z-index: 30;
  }

  .nav {
    min-height: 66px;
    padding-top: 10px;
    align-items: flex-start;
  }

  .brand {
    min-width: 116px;
    font-size: 21px;
    line-height: 0.86;
    letter-spacing: 1.45px;
  }

  .brand small {
    font-size: 14px;
    letter-spacing: 0.8px;
  }

  .brand-mark {
    width: 18px;
    height: 34px;
  }

  .btn-whatsapp,
  .mobile-toggle {
    width: 34px;
    height: 34px;
    min-height: 34px;
  }

  .btn-whatsapp svg {
    width: 25px;
    height: 25px;
  }

  .mobile-toggle {
    font-size: 26px;
    line-height: 1;
  }

  .hero,
  .hero .wrap {
    min-height: auto;
  }

  .hero {
    padding: 0 0 18px;
    background-image:
      linear-gradient(90deg, rgba(255, 250, 243, 0.98) 0%, rgba(255, 250, 243, 0.9) 39%, rgba(255, 250, 243, 0.2) 71%, rgba(255, 250, 243, 0.04) 100%),
      linear-gradient(180deg, rgba(255, 250, 243, 0) 0%, rgba(255, 250, 243, 0.08) 61%, rgba(255, 250, 243, 0.96) 100%),
      var(--mobile-hero) !important;
    background-position: center top;
    background-size: cover;
  }

  .hero-copy {
    width: 100%;
    max-width: none;
    padding: 82px 0 0;
  }

  .hero h1 {
    max-width: 286px;
    margin: 0;
    font-size: clamp(27px, 7vw, 30px);
    line-height: 1.08;
  }

  .lead {
    max-width: 264px;
    margin: 14px 0 18px;
    color: #27332e;
    font-size: 13px;
    line-height: 1.43;
  }

  .hero-buttons {
    max-width: 210px;
    gap: 9px;
    margin: 0 0 13px;
  }

  .hero-buttons .btn {
    min-height: 45px;
    border-radius: 5px;
    font-size: 13px;
  }

  .hero-buttons .btn-outline {
    min-height: 22px;
    color: #064c39;
    font-size: 12px;
  }

  .mobile-guide-note {
    grid-template-columns: 62px minmax(0, 1fr) 48px;
    gap: 11px;
    width: min(326px, calc(100vw - 52px));
    min-height: 86px;
    margin: 18px auto 0;
    padding: 9px 12px 9px 9px;
    border-radius: 16px;
    background: rgba(255, 249, 241, 0.96);
    box-shadow: 0 14px 32px rgba(54, 39, 22, 0.14);
    transform: none;
  }

  .mobile-guide-note img {
    width: 62px;
    height: 62px;
  }

  .mobile-guide-note strong {
    font-size: 14px;
    line-height: 1.08;
  }

  .mobile-guide-note span {
    max-width: 148px;
    font-size: 9.5px;
    line-height: 1.25;
  }

  .mobile-guide-note em {
    color: #c77b21;
    font-size: 19px;
  }

  .stats {
    width: min(100%, 342px);
    margin: 16px auto 0;
    background: rgba(255, 250, 243, 0.78);
  }

  .stat {
    grid-template-columns: 30px 1fr;
    min-height: 58px;
    padding: 8px 7px 8px 12px;
    color: #c27416;
    border-color: rgba(214, 190, 160, 0.72);
  }

  .stat svg {
    width: 25px;
    height: 25px;
  }

  .stat strong {
    color: #1f2d27;
    font-size: 17px;
    line-height: 1.05;
  }

  .stat span {
    color: #28352f;
    font-size: 10.5px;
    line-height: 1.2;
  }

  .section {
    padding: 26px 0;
  }

  .section-title {
    margin-bottom: 14px;
    align-items: flex-start;
  }

  .section-title h2 {
    max-width: 255px;
    font-size: 26px;
    line-height: 1.12;
  }

  .section-link {
    padding-top: 7px;
    color: #064c39;
    font-size: 11px;
  }

  .showcase-section {
    padding-top: 26px;
  }

  .showcase-section .section-title {
    justify-content: flex-start;
    text-align: left;
  }

  .showcase-section .section-title h2 {
    max-width: 280px;
    font-size: 26px;
  }

  .feature-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .feature {
    min-height: 206px;
    padding: 10px 7px 12px;
    border-radius: 7px;
    box-shadow: 0 14px 24px rgba(38, 29, 18, 0.16);
  }

  .feature::before {
    background: linear-gradient(180deg, rgba(2, 15, 10, 0.18), rgba(2, 15, 10, 0.68));
  }

  .feature-icon {
    width: 46px;
    height: 46px;
    margin-bottom: 50px;
    background: #087252;
    color: #fff;
    border: 2px solid rgba(255, 255, 255, 0.92);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22);
  }

  .feature h3 {
    font-size: 17px;
    line-height: 1.05;
  }

  .feature p {
    max-width: 104px;
    font-size: 9px;
    line-height: 1.32;
  }

  .cards {
    gap: 10px;
    margin-inline: -16px;
    padding-inline: 16px;
    padding-bottom: 12px;
  }

  .card {
    flex: 0 0 218px;
    min-width: 218px;
    border-radius: 6px;
  }

  .card-img {
    height: 118px;
  }

  .card-body {
    padding: 12px 12px 14px;
  }

  .card h3 {
    min-height: 18px;
    font-size: 14px;
    line-height: 1.22;
  }

  .card p {
    min-height: 42px;
    font-size: 10.5px;
    line-height: 1.42;
    -webkit-line-clamp: 3;
  }

  .meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 20px;
    padding-top: 10px;
  }

  .meta a {
    display: none;
  }

  .band {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.86fr);
    min-height: 184px;
    border-radius: 7px;
  }

  .band-copy {
    padding: 20px 16px;
  }

  .band h2 {
    font-size: 21px;
    line-height: 1.12;
  }

  .band p {
    font-size: 11px;
    line-height: 1.45;
  }

  .band .btn {
    min-height: 38px;
    padding: 0 12px;
    font-size: 11px;
  }

  .about-strip {
    display: block;
    padding: 0;
    overflow: hidden;
    border-radius: 7px;
    background: #fff7ed;
  }

  .about-photo {
    min-height: 236px;
    border-radius: 0;
    background-position: center top;
  }

  .about-copy {
    padding: 18px 18px 0;
  }

  .about-copy h2 {
    margin-bottom: 10px;
    font-size: 28px;
  }

  .about-copy p {
    font-size: 13px;
    line-height: 1.55;
  }

  .about-copy .btn {
    width: 100%;
    min-height: 44px;
    margin-top: 6px;
  }

  .about-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    padding: 16px 18px 18px;
    border-top: 1px solid rgba(222, 205, 183, 0.72);
  }

  .about-list div {
    grid-template-columns: 42px 1fr;
    min-height: 42px;
    font-size: 14px;
  }

  .about-icon {
    width: 36px;
    height: 36px;
    color: #c27416;
    border-color: rgba(210, 139, 51, 0.32);
    background: rgba(255, 253, 249, 0.72);
  }

  .journal-reviews .split {
    gap: 24px;
  }

  .article-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: visible;
    gap: 10px;
    margin-inline: 0;
    padding-inline: 0;
  }

  .article-card {
    min-width: 0;
    min-height: 196px;
    border-radius: 6px;
  }

  .article-photo {
    min-height: 86px;
    padding: 6px;
  }

  .article-photo span {
    max-width: 92px;
    min-height: 18px;
    padding: 0 5px;
    font-size: 6.8px;
    white-space: normal;
  }

  .article-content {
    padding: 10px 9px 12px;
  }

  .article-card strong {
    font-size: 11px;
    line-height: 1.36;
    -webkit-line-clamp: 5;
  }

  .review {
    grid-template-columns: 36px 1fr;
    min-height: 205px;
    padding: 18px;
    border-radius: 7px;
  }

  .review p {
    font-size: 13px;
    line-height: 1.5;
  }

  .review-author {
    grid-column: 2;
  }

  .review-nav {
    right: 16px;
    bottom: 18px;
  }

  .final-cta {
    min-height: 276px;
    padding: 22px 20px;
    border-radius: 7px;
    background-position: center;
  }

  .final-cta h2 {
    max-width: 250px;
    font-size: 24px;
  }

  .final-cta p {
    max-width: 248px;
    font-size: 12px;
  }

  .site-footer {
    padding-bottom: 92px;
  }

  .mobile-sticky-actions {
    gap: 10px;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
  }

  .mobile-sticky-actions .btn {
    min-height: 44px;
    border-radius: 5px;
    font-size: 12px;
  }
}

.districts-page {
  --district-green: #063f31;
  --district-green-soft: #0f5946;
  --district-gold: #d3842b;
  --district-ink: #171f1c;
  --district-muted: #606b66;
  --district-line: #e7dccb;
  --district-paper: #fffaf3;
  min-height: 100vh;
  background: linear-gradient(180deg, #fffdf9 0%, #fbf6ee 54%, #fffdf9 100%);
  color: var(--district-ink);
}

.districts-wrap {
  width: min(100% - 64px, 1180px);
  margin: 0 auto;
}

.districts-hero {
  min-height: 430px;
  display: flex;
  align-items: center;
  background-image:
    linear-gradient(90deg, rgba(255, 253, 249, 0.99) 0%, rgba(255, 253, 249, 0.88) 29%, rgba(255, 253, 249, 0.42) 49%, rgba(255, 253, 249, 0.02) 78%),
    linear-gradient(180deg, rgba(255, 253, 249, 0) 62%, rgba(255, 253, 249, 0.95) 100%),
    var(--districts-hero);
  background-position: center 52%;
  background-size: cover;
}

.districts-hero-copy {
  max-width: 525px;
  padding: 38px 0 46px;
}

.districts-breadcrumb {
  display: flex;
  gap: 9px;
  align-items: center;
  margin-bottom: 28px;
  color: #5f6965;
  font-size: 12px;
  font-weight: 700;
}

.districts-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.districts-hero h1,
.districts-list-section h2,
.district-card h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: 0;
}

.districts-hero h1 {
  margin: 0 0 18px;
  font-size: 54px;
  line-height: 1.05;
}

.districts-hero p {
  max-width: 478px;
  margin: 0 0 30px;
  color: #22302b;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.58;
}

.districts-actions {
  display: flex;
  gap: 16px;
}

.districts-btn,
.districts-more-btn {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.districts-btn {
  min-width: 154px;
  padding: 0 24px;
}

.districts-btn-primary,
.districts-more-btn {
  border: 1px solid var(--district-green);
  background: linear-gradient(180deg, var(--district-green-soft), var(--district-green));
  color: #fff;
  box-shadow: 0 14px 28px rgba(6, 63, 49, 0.16);
}

.districts-btn-secondary {
  border: 1px solid rgba(6, 63, 49, 0.38);
  background: rgba(255, 255, 255, 0.72);
  color: var(--district-green);
}

.districts-benefits {
  border-top: 1px solid rgba(231, 220, 203, 0.7);
  border-bottom: 1px solid rgba(231, 220, 203, 0.7);
  background: rgba(255, 255, 255, 0.72);
}

.districts-benefits .districts-wrap {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.districts-benefits article {
  min-height: 92px;
  display: flex;
  gap: 20px;
  align-items: center;
  padding: 14px 22px;
  border-right: 1px solid rgba(231, 220, 203, 0.9);
}

.districts-benefits article:last-child {
  border-right: 0;
}

.districts-benefits svg {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  fill: none;
  stroke: var(--district-gold);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.districts-benefits span {
  color: #22302b;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.22;
}

.districts-list-section {
  padding: 34px 0 64px;
}

.districts-list-section h2 {
  margin: 0 0 20px;
  font-size: 30px;
  line-height: 1.12;
}

.districts-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.district-card {
  overflow: hidden;
  display: flex;
  min-height: 372px;
  flex-direction: column;
  border: 1px solid var(--district-line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 16px 34px rgba(38, 28, 15, 0.08);
}

.district-card-image {
  height: 142px;
  display: block;
  background: var(--bg) center / cover no-repeat;
}

.district-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 16px 17px 15px;
}

.district-card h3 {
  margin: 0 0 9px;
  font-size: 22px;
  line-height: 1.08;
}

.district-card h3 a {
  color: inherit;
  text-decoration: none;
}

.district-card p {
  margin: 0 0 18px;
  color: #283530;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.46;
}

.district-card-meta {
  display: flex;
  gap: 13px;
  flex-wrap: wrap;
  margin-top: auto;
  color: #24302c;
  font-size: 11px;
  font-weight: 700;
}

.district-more {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  margin-top: 15px;
  color: var(--district-green);
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.district-more span {
  color: var(--district-gold);
  font-size: 16px;
  line-height: 1;
}

.districts-more-btn {
  width: 244px;
  margin: 32px auto 0;
  border: 0;
  cursor: pointer;
}

@media (min-width: 641px) {
  .district-card.is-extra {
    display: flex;
  }
}

@media (max-width: 900px) {
  .districts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .districts-benefits .districts-wrap {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  body.post-type-archive-district .site-header,
  body.districts-page .site-header {
    position: sticky;
    background: rgba(255, 253, 249, 0.96);
    backdrop-filter: blur(10px);
  }

  .districts-page {
    background: #fffaf4;
  }

  .districts-wrap {
    width: min(100% - 28px, 390px);
  }

  .districts-hero {
    min-height: 300px;
    align-items: flex-start;
    background-image:
      linear-gradient(90deg, rgba(255, 250, 244, 0.98) 0%, rgba(255, 250, 244, 0.92) 45%, rgba(255, 250, 244, 0.52) 78%, rgba(255, 250, 244, 0.1) 100%),
      linear-gradient(180deg, rgba(255, 250, 244, 0) 55%, rgba(255, 250, 244, 0.94) 100%),
      var(--districts-hero);
    background-position: center top;
  }

  .districts-hero-copy {
    max-width: 310px;
    padding: 12px 0 28px;
  }

  .districts-breadcrumb {
    margin-bottom: 20px;
    font-size: 11px;
  }

  .districts-hero h1 {
    margin-bottom: 13px;
    font-size: 31px;
    line-height: 1.06;
  }

  .districts-hero p {
    max-width: 286px;
    margin-bottom: 18px;
    font-size: 13px;
    line-height: 1.52;
  }

  .districts-actions {
    gap: 8px;
  }

  .districts-btn {
    min-width: 0;
    min-height: 42px;
    padding: 0 17px;
    font-size: 12px;
  }

  .districts-benefits .districts-wrap {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
  }

  .districts-benefits article {
    min-height: 84px;
    flex-direction: column;
    gap: 7px;
    justify-content: center;
    padding: 10px 4px;
    border-right: 0;
  }

  .districts-benefits svg {
    width: 26px;
    height: 26px;
    flex-basis: 26px;
  }

  .districts-benefits span {
    font-size: 9px;
    line-height: 1.12;
    text-align: center;
  }

  .districts-list-section {
    padding: 26px 0 44px;
  }

  .districts-list-section h2 {
    margin-bottom: 14px;
    font-size: 25px;
  }

  .districts-grid {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  .district-card {
    min-height: 0;
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(45, 34, 22, 0.08);
  }

  .district-card.is-extra {
    display: none;
  }

  .district-card-image {
    height: auto;
    min-height: 132px;
  }

  .district-card-body {
    min-height: 132px;
    padding: 12px 12px 11px;
  }

  .district-card h3 {
    margin-bottom: 6px;
    font-size: 20px;
  }

  .district-card p {
    margin-bottom: 10px;
    font-size: 10.5px;
    line-height: 1.36;
  }

  .district-card-meta {
    gap: 8px;
    font-size: 9px;
    line-height: 1.2;
  }

  .district-more {
    margin-top: 8px;
    font-size: 10px;
  }

.districts-more-btn {
    width: 100%;
    min-height: 48px;
    margin-top: 20px;
    font-size: 14px;
  }
}

.district-single-render {
  --ds-green: #063f31;
  --ds-green-2: #0e5844;
  --ds-gold: #d08a36;
  --ds-paper: #fffaf4;
  --ds-ink: #141c27;
  --ds-muted: #5d6765;
  --ds-line: #eadfce;
  --ds-shadow: 0 16px 36px rgba(38, 30, 19, 0.1);
  overflow: hidden;
  background: linear-gradient(180deg, #fffdf9 0%, #fbf6ef 52%, #fffdf9 100%);
  color: var(--ds-ink);
}

.ds-wrap {
  width: min(100% - 64px, 1180px);
  margin-inline: auto;
}

.ds-hero {
  min-height: 468px;
  display: flex;
  align-items: center;
  background-image:
    linear-gradient(90deg, rgba(255,253,249,.99) 0%, rgba(255,253,249,.9) 31%, rgba(255,253,249,.3) 56%, rgba(255,253,249,.02) 100%),
    linear-gradient(180deg, rgba(255,253,249,0) 63%, rgba(255,253,249,.95) 100%),
    var(--ds-hero);
  background-position: center;
  background-size: cover;
}

.ds-hero-copy {
  width: min(470px, 100%);
  padding: 36px 0 48px;
}

.ds-breadcrumb {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 22px;
  color: #66706b;
  font-size: 12px;
  font-weight: 700;
}

.ds-hero h1,
.ds-section h2,
.ds-about h2,
.ds-route-list h2,
.ds-quote h2,
.ds-author h2,
.ds-faq h2,
.ds-final h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: 0;
}

.ds-hero h1 {
  margin: 0 0 18px;
  font-size: clamp(42px, 4.4vw, 58px);
  line-height: 1.05;
}

.ds-hero p {
  max-width: 380px;
  margin: 0 0 26px;
  color: #27332f;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
}

.ds-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.ds-btn {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 24px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

.ds-btn svg,
.ds-meta svg,
.ds-fact-row svg,
.ds-author aside svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ds-btn-green {
  border: 1px solid var(--ds-green);
  background: linear-gradient(180deg, var(--ds-green-2), var(--ds-green));
  color: #fff;
  box-shadow: 0 14px 28px rgba(6, 63, 49, 0.16);
}

.ds-btn-outline {
  border: 1px solid rgba(6, 63, 49, .42);
  background: rgba(255,255,255,.78);
  color: var(--ds-green);
}

.ds-btn-gold {
  background: linear-gradient(180deg, #dfa45a, var(--ds-gold));
  color: #fff;
}

.ds-btn-glass {
  border: 1px solid rgba(255,255,255,.6);
  background: rgba(255,255,255,.14);
  color: #fff;
}

.ds-gallery {
  display: grid;
  grid-template-columns: 1.05fr .95fr 1.25fr 1.15fr 1fr;
  gap: 14px;
  margin-top: 18px;
}

.ds-gallery figure,
.ds-card,
.ds-mini,
.ds-article-row article {
  overflow: hidden;
  margin: 0;
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--ds-shadow);
}

.ds-gallery img {
  width: 100%;
  height: 166px;
  object-fit: cover;
}

.ds-about {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 520px;
  gap: 56px;
  padding: 34px 0 28px;
}

.ds-about h2,
.ds-section h2,
.ds-route-list h2,
.ds-faq h2 {
  margin: 0 0 18px;
  font-size: 30px;
  line-height: 1.15;
}

.ds-about h3 {
  margin: 18px 0 6px;
  color: #1c2723;
  font-size: 14px;
  font-weight: 900;
}

.ds-about p {
  max-width: 620px;
  margin: 0 0 14px;
  color: #27332f;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.68;
}

.ds-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-self: start;
  border: 1px solid rgba(234, 223, 206, .82);
  border-radius: 8px;
  background: linear-gradient(135deg, #fffdf9 0%, #fbf1e4 100%);
  box-shadow: var(--ds-shadow);
}

.ds-meta div {
  min-height: 92px;
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 6px 14px;
  padding: 18px;
  border-right: 1px solid rgba(234, 223, 206, .86);
  border-bottom: 1px solid rgba(234, 223, 206, .86);
}

.ds-meta div:nth-child(2n) {
  border-right: 0;
}

.ds-meta div:nth-last-child(-n+2) {
  border-bottom: 0;
}

.ds-meta svg {
  grid-row: span 2;
  color: var(--ds-green);
}

.ds-meta strong {
  color: #1e2b26;
  font-size: 12px;
  font-weight: 900;
}

.ds-meta span {
  color: #2f3c37;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.42;
}

.ds-section {
  padding: 24px 0;
}

.ds-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 16px;
}

.ds-section-title h2 {
  margin: 0;
}

.ds-section-title a {
  color: #c87824;
  font-size: 13px;
  font-weight: 900;
}

.ds-card-row,
.ds-mini-row,
.ds-article-row {
  display: grid;
  gap: 16px;
}

.ds-places-row {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.ds-card img,
.ds-mini img,
.ds-article-row img {
  width: 100%;
  height: 130px;
  object-fit: cover;
}

.ds-card div,
.ds-mini,
.ds-article-row article {
  padding-bottom: 14px;
}

.ds-card h3,
.ds-mini h3,
.ds-article-row h3 {
  margin: 14px 14px 6px;
  color: #18241f;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.15;
}

.ds-card p,
.ds-mini p,
.ds-mini small {
  display: block;
  margin: 0 14px;
  color: #303c37;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
}

.ds-mini small {
  margin-top: 10px;
  color: #c87824;
  font-weight: 900;
}

.ds-route-band {
  display: grid;
  grid-template-columns: 265px minmax(0, 1fr) 390px;
  overflow: hidden;
  border-radius: 8px;
  background: #fffaf3;
  box-shadow: var(--ds-shadow);
}

.ds-route-list {
  padding: 26px;
}

.ds-route-list article {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 12px;
  position: relative;
  padding-bottom: 18px;
}

.ds-route-list article::before {
  content: "";
  position: absolute;
  left: 11px;
  top: 24px;
  bottom: -2px;
  border-left: 1px dotted var(--ds-gold);
}

.ds-route-list article:last-child::before {
  display: none;
}

.ds-route-list b,
.ds-map span {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--ds-green);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
}

.ds-route-list strong {
  display: block;
  margin-bottom: 3px;
  font-size: 13px;
  font-weight: 900;
}

.ds-route-list p {
  margin: 0;
  color: #2c3834;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
}

.ds-map {
  position: relative;
  min-height: 372px;
  background:
    linear-gradient(rgba(255,250,244,.8), rgba(255,250,244,.8)),
    repeating-linear-gradient(25deg, transparent 0 28px, rgba(210,185,150,.32) 29px 31px),
    repeating-linear-gradient(115deg, transparent 0 34px, rgba(210,185,150,.26) 35px 37px);
}

.ds-map::after {
  content: "";
  position: absolute;
  inset: 17% 16%;
  border-top: 2px dashed rgba(6,63,49,.55);
  border-right: 2px dashed rgba(6,63,49,.55);
  transform: skew(-14deg);
}

.ds-map span {
  position: absolute;
  left: var(--x);
  top: var(--y);
  z-index: 1;
}

.ds-quote {
  padding: 56px 44px;
  background:
    linear-gradient(135deg, rgba(6,63,49,.98), rgba(10,72,54,.96)),
    var(--ds-green);
  color: #fff;
}

.ds-quote span {
  color: rgba(208,138,54,.9);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 70px;
  line-height: .6;
}

.ds-quote h2 {
  margin: 12px 0 18px;
  font-size: 34px;
  line-height: 1.14;
}

.ds-quote p {
  margin: 0;
  color: rgba(255,255,255,.86);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.7;
}

.ds-fact-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.ds-fact-row article {
  min-height: 124px;
  display: grid;
  place-items: center;
  padding: 18px 14px;
  border: 1px solid var(--ds-line);
  border-radius: 8px;
  background: #fff;
  text-align: center;
  box-shadow: 0 10px 24px rgba(38,30,19,.07);
}

.ds-fact-row svg {
  color: var(--ds-gold);
  width: 34px;
  height: 34px;
}

.ds-fact-row p {
  margin: 8px 0 0;
  color: #27332f;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.ds-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
}

.ds-mini-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ds-article-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ds-article-row article {
  min-height: 210px;
}

.ds-author {
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr) 390px;
  gap: 32px;
  align-items: center;
  margin-top: 24px;
  padding: 0;
  overflow: hidden;
  border-radius: 8px;
  background: linear-gradient(90deg, #fffaf3, #fffdf9);
  box-shadow: var(--ds-shadow);
}

.ds-author > img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}

.ds-author h2 {
  margin: 0 0 12px;
  font-size: 24px;
}

.ds-author p {
  margin: 0 0 18px;
  color: #2d3935;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
}

.ds-author aside {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  padding: 24px;
}

.ds-author aside span {
  display: grid;
  gap: 8px;
  color: #27332f;
  font-size: 12px;
  font-weight: 800;
}

.ds-author aside svg {
  color: var(--ds-gold);
}

.ds-faq {
  padding: 38px 0 20px;
}

.ds-faq h2 {
  text-align: center;
}

.ds-faq > div {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  border-radius: 8px;
  background: var(--ds-line);
  overflow: hidden;
}

.ds-faq details {
  background: #fffdf9;
  padding: 20px;
}

.ds-faq summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  color: #1e2925;
  font-size: 13px;
  font-weight: 900;
  list-style: none;
}

.ds-faq summary::-webkit-details-marker {
  display: none;
}

.ds-faq details p {
  margin: 14px 0 0;
  color: #3a4641;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.55;
}

.ds-final {
  min-height: 190px;
  display: grid;
  align-content: center;
  margin: 20px auto 44px;
  padding: 34px 42px;
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(6,63,49,.98), rgba(6,63,49,.84) 46%, rgba(6,63,49,.25)),
    var(--ds-final) center / cover;
  color: #fff;
}

.ds-final h2 {
  max-width: 440px;
  margin: 0 0 10px;
  font-size: 34px;
  line-height: 1.12;
}

.ds-final p {
  max-width: 410px;
  margin: 0 0 18px;
  color: rgba(255,255,255,.88);
  font-size: 15px;
  font-weight: 600;
}

.ds-mobile-sticky {
  display: none;
}

@media (max-width: 1100px) {
  .ds-places-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ds-route-band,
  .ds-author {
    grid-template-columns: 1fr;
  }

  .ds-author aside {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .ds-faq > div {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .district-single-render {
    padding-bottom: 74px;
    background: #fffaf4;
  }

  .ds-wrap {
    width: min(100% - 28px, 390px);
  }

  .ds-hero {
    min-height: auto;
    display: block;
    padding-top: 10px;
    background: none;
  }

  .ds-hero-copy {
    width: 100%;
    padding: 0;
  }

  .ds-breadcrumb {
    margin-bottom: 12px;
    font-size: 10px;
  }

  .ds-hero-copy::before {
    content: "";
    display: block;
    height: 365px;
    margin-bottom: 20px;
    border-radius: 8px;
    background: var(--ds-mobile-hero) center / cover;
    box-shadow: var(--ds-shadow);
  }

  .ds-hero h1 {
    max-width: 330px;
    margin-bottom: 16px;
    font-size: 32px;
    line-height: 1.08;
  }

  .ds-hero p {
    max-width: 322px;
    margin-bottom: 20px;
    font-size: 13px;
    line-height: 1.55;
  }

  .ds-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .ds-btn {
    width: 100%;
    min-height: 48px;
    font-size: 13px;
  }

  .ds-gallery {
    grid-template-columns: 1.05fr .95fr;
    gap: 8px;
    margin-top: 26px;
  }

  .ds-gallery figure:first-child {
    grid-row: span 2;
  }

  .ds-gallery figure:last-child {
    grid-column: span 2;
  }

  .ds-gallery img {
    height: 128px;
  }

  .ds-gallery figure:first-child img {
    height: 264px;
  }

  .ds-about {
    grid-template-columns: 1fr;
    gap: 22px;
    padding-top: 30px;
  }

  .ds-about h2,
  .ds-section h2,
  .ds-route-list h2,
  .ds-faq h2 {
    font-size: 24px;
  }

  .ds-about p {
    font-size: 12px;
    line-height: 1.6;
  }

  .ds-meta {
    grid-template-columns: 1fr 1fr;
  }

  .ds-meta div {
    min-height: 98px;
    display: block;
    padding: 15px;
  }

  .ds-meta svg {
    margin-bottom: 8px;
  }

  .ds-meta strong,
  .ds-meta span {
    display: block;
    font-size: 10px;
  }

  .ds-section {
    padding: 22px 0;
  }

  .ds-section-title {
    align-items: flex-start;
  }

  .ds-section-title a {
    padding-top: 5px;
    font-size: 11px;
    white-space: nowrap;
  }

  .ds-card-row,
  .ds-mini-row,
  .ds-article-row,
  .ds-fact-row {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    margin-inline: -14px;
    padding-inline: 14px;
    padding-bottom: 12px;
    scroll-snap-type: x mandatory;
  }

  .ds-card-row::-webkit-scrollbar,
  .ds-mini-row::-webkit-scrollbar,
  .ds-article-row::-webkit-scrollbar,
  .ds-fact-row::-webkit-scrollbar {
    display: none;
  }

  .ds-card,
  .ds-mini,
  .ds-article-row article {
    flex: 0 0 206px;
    min-width: 206px;
    scroll-snap-align: start;
  }

  .ds-card img,
  .ds-mini img,
  .ds-article-row img {
    height: 142px;
  }

  .ds-route-band {
    display: block;
    width: min(100% - 28px, 390px);
    margin: 0 auto;
    border-radius: 8px;
  }

  .ds-route-list {
    padding: 24px 18px;
  }

  .ds-map {
    display: none;
  }

  .ds-quote {
    padding: 34px 22px;
  }

  .ds-quote h2 {
    font-size: 26px;
  }

  .ds-quote p {
    font-size: 13px;
  }

  .ds-fact-row article {
    flex: 0 0 118px;
    min-width: 118px;
  }

  .ds-split {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .ds-author {
    grid-template-columns: 1fr;
    width: min(100% - 28px, 390px);
    gap: 0;
  }

  .ds-author > img {
    height: 178px;
  }

  .ds-author > div {
    padding: 18px;
  }

  .ds-author aside {
    grid-template-columns: 1fr 1fr;
    padding: 18px;
    border-top: 1px solid var(--ds-line);
  }

  .ds-faq {
    padding-top: 30px;
  }

  .ds-final {
    width: min(100% - 28px, 390px);
    min-height: 330px;
    padding: 28px 22px;
    background:
      linear-gradient(180deg, rgba(6,63,49,.98), rgba(6,63,49,.82) 58%, rgba(6,63,49,.42)),
      var(--ds-final) center / cover;
  }

  .ds-final h2 {
    font-size: 28px;
  }

  .ds-mobile-sticky {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 50;
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
    background: rgba(255,250,244,.94);
    box-shadow: 0 -10px 28px rgba(32,24,16,.14);
  }

  .ds-mobile-sticky a {
    min-height: 48px;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
  }

  .ds-mobile-sticky a:first-child {
    border-radius: 7px 0 0 7px;
    background: var(--ds-green);
  }

  .ds-mobile-sticky a:last-child {
    border-radius: 0 7px 7px 0;
    background: linear-gradient(180deg, #dfa45a, var(--ds-gold));
  }
}

.single-district-page {
  --sd-green: #063f31;
  --sd-green-soft: #0f5946;
  --sd-gold: #d3842b;
  --sd-line: #e7dccb;
  --sd-ink: #17211d;
  --sd-muted: #60706a;
  min-height: 100vh;
  background: linear-gradient(180deg, #fffdf9 0%, #fbf6ee 54%, #fffdf9 100%);
  color: var(--sd-ink);
}

.sd-wrap {
  width: min(100% - 64px, 1180px);
  margin: 0 auto;
}

.sd-hero {
  min-height: 480px;
  display: flex;
  align-items: center;
  background-image:
    linear-gradient(90deg, rgba(255, 253, 249, 0.99) 0%, rgba(255, 253, 249, 0.9) 34%, rgba(255, 253, 249, 0.34) 62%, rgba(255, 253, 249, 0.06) 100%),
    linear-gradient(180deg, rgba(255, 253, 249, 0) 60%, rgba(255, 253, 249, 0.96) 100%),
    var(--sd-hero);
  background-position: center;
  background-size: cover;
}

.sd-breadcrumb {
  display: flex;
  gap: 9px;
  align-items: center;
  margin-bottom: 30px;
  color: #5f6965;
  font-size: 12px;
  font-weight: 700;
}

.sd-hero-copy {
  max-width: 560px;
  padding: 42px 0 54px;
}

.sd-kicker {
  margin: 0 0 10px !important;
  color: var(--sd-gold) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sd-hero h1,
.sd-content h2,
.sd-places h2,
.sd-place-grid h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: 0;
}

.sd-hero h1 {
  margin: 0 0 18px;
  font-size: clamp(42px, 5vw, 66px);
  line-height: 1.04;
}

.sd-hero-copy > p:not(.sd-kicker) {
  max-width: 486px;
  margin: 0 0 30px;
  color: #25322d;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.58;
}

.sd-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.sd-btn {
  min-height: 46px;
  min-width: 160px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.sd-btn-primary {
  border: 1px solid var(--sd-green);
  background: linear-gradient(180deg, var(--sd-green-soft), var(--sd-green));
  color: #fff;
  box-shadow: 0 14px 28px rgba(6, 63, 49, 0.16);
}

.sd-btn-secondary {
  border: 1px solid rgba(6, 63, 49, 0.38);
  background: rgba(255, 255, 255, 0.72);
  color: var(--sd-green);
}

.sd-facts {
  border-top: 1px solid rgba(231, 220, 203, 0.7);
  border-bottom: 1px solid rgba(231, 220, 203, 0.7);
  background: rgba(255, 255, 255, 0.72);
}

.sd-facts .sd-wrap {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sd-facts article {
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  border-right: 1px solid rgba(231, 220, 203, 0.9);
  color: #22302b;
  font-size: 14px;
  font-weight: 800;
  text-align: center;
}

.sd-facts article:last-child {
  border-right: 0;
}

.sd-content,
.sd-places {
  padding: 48px 0 0;
}

.sd-two-col {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 56px;
  align-items: start;
}

.sd-content h2,
.sd-places h2 {
  margin: 0 0 18px;
  font-size: 34px;
  line-height: 1.12;
}

.sd-content p,
.sd-note p {
  color: #33403b;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.68;
}

.sd-note {
  padding: 24px;
  border: 1px solid var(--sd-line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 16px 34px rgba(38, 28, 15, 0.08);
}

.sd-note strong {
  display: block;
  margin-bottom: 8px;
  color: var(--sd-green);
  font-size: 15px;
  font-weight: 900;
}

.sd-place-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  padding-bottom: 64px;
}

.sd-place-grid article {
  min-height: 150px;
  padding: 22px;
  border: 1px solid var(--sd-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(38, 28, 15, 0.07);
}

.sd-place-grid span {
  width: 28px;
  height: 2px;
  display: block;
  margin-bottom: 34px;
  background: var(--sd-gold);
}

.sd-place-grid h3 {
  margin: 0;
  font-size: 22px;
  line-height: 1.12;
}

@media (max-width: 900px) {
  .sd-two-col,
  .sd-place-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .single-district-page {
    background: #fffaf4;
  }

  .sd-wrap {
    width: min(100% - 28px, 390px);
  }

  .sd-hero {
    min-height: 360px;
    align-items: flex-start;
    background-image:
      linear-gradient(90deg, rgba(255, 250, 244, 0.99) 0%, rgba(255, 250, 244, 0.92) 50%, rgba(255, 250, 244, 0.46) 100%),
      linear-gradient(180deg, rgba(255, 250, 244, 0) 58%, rgba(255, 250, 244, 0.96) 100%),
      var(--sd-hero);
    background-position: center top;
  }

  .sd-hero-copy {
    max-width: 318px;
    padding: 14px 0 34px;
  }

  .sd-breadcrumb {
    margin-bottom: 22px;
    font-size: 11px;
  }

  .sd-hero h1 {
    margin-bottom: 12px;
    font-size: 34px;
  }

  .sd-hero-copy > p:not(.sd-kicker) {
    max-width: 286px;
    margin-bottom: 18px;
    font-size: 13px;
    line-height: 1.52;
  }

  .sd-actions {
    gap: 8px;
  }

  .sd-btn {
    min-width: 0;
    min-height: 42px;
    padding: 0 17px;
    font-size: 12px;
  }

  .sd-facts .sd-wrap {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sd-facts article {
    min-height: 64px;
    border-right: 0;
    border-bottom: 1px solid rgba(231, 220, 203, 0.75);
    font-size: 12px;
  }

  .sd-content,
  .sd-places {
    padding-top: 30px;
  }

  .sd-two-col,
  .sd-place-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .sd-content h2,
  .sd-places h2 {
    font-size: 26px;
  }

  .sd-content p,
  .sd-note p {
    font-size: 13px;
    line-height: 1.58;
  }

  .sd-place-grid {
    padding-bottom: 44px;
  }

  .sd-place-grid article {
    min-height: 112px;
  }
}



/* Emergency guard layer: keeps the site readable if WordPress serves a page
   through a fallback template before its page-specific CSS is detected. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

body {
  margin: 0;
  color: var(--ink);
  background: #fffaf4;
  font-family: Inter, Arial, sans-serif;
}

img,
picture,
video,
canvas {
  max-width: 100%;
}

img {
  height: auto;
}

svg {
  display: inline-block;
  flex: 0 0 auto;
  max-width: 100%;
}

body svg:not(.brand-mark):not(.pp-decor):not(.line-art):not(.hero-line-art) {
  width: 22px;
  height: 22px;
}

.brand-mark {
  width: 22px;
  height: 42px;
}

.wrap,
.site-container,
.page-shell,
.home-wrap,
.excursion-wrap,
.journal-wrap,
.about-wrap,
.reviews-wrap,
.review-wrap,
.booking-wrap {
  width: min(100% - 48px, 1240px);
  margin-inline: auto;
}

.site-header,
.site-footer {
  position: relative;
  z-index: 20;
}

.site-main,
main {
  position: relative;
  z-index: 1;
}

.site-main > *,
main > * {
  box-sizing: border-box;
}

.site-main a,
main a {
  color: inherit;
}

.btn,
button,
input,
select,
textarea {
  font: inherit;
}

.btn,
.button,
[class*="btn"] {
  box-sizing: border-box;
}

.mobile-sticky-actions {
  box-sizing: border-box;
}

.pp-mobile-menu-overlay,
.pp-mobile-menu {
  display: none;
}

@media (max-width: 767px) {
  body.pp-mobile-menu-open {
    overflow: hidden;
    touch-action: none;
  }

  .mobile-toggle {
    display: inline-grid;
    place-items: center;
    border: 0;
    background: transparent;
    color: #14231e;
    cursor: pointer;
  }

  .pp-mobile-menu-overlay {
    position: fixed;
    inset: 0;
    z-index: 998;
    display: block;
    pointer-events: none;
    background: rgba(13, 23, 20, 0);
    opacity: 0;
    transition: opacity .22s ease, background-color .22s ease;
  }

  body.pp-mobile-menu-open .pp-mobile-menu-overlay {
    pointer-events: auto;
    background: rgba(13, 23, 20, .42);
    opacity: 1;
  }

  .pp-mobile-menu {
    position: fixed;
    top: 8px;
    right: 8px;
    bottom: 8px;
    z-index: 999;
    display: flex;
    width: min(312px, calc(100vw - 20px));
    max-height: calc(100vh - 16px);
    flex-direction: column;
    overflow-y: auto;
    padding: 22px 18px 20px;
    border: 1px solid rgba(234, 223, 206, .9);
    border-radius: 16px;
    background: rgba(255, 253, 249, .98);
    box-shadow: 0 24px 70px rgba(25, 20, 14, .24);
    transform: translateX(calc(100% + 18px));
    transition: transform .26s ease;
    -webkit-overflow-scrolling: touch;
  }

  body.pp-mobile-menu-open .pp-mobile-menu {
    transform: translateX(0);
  }

  .pp-mobile-menu-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
  }

  .pp-mobile-brand {
    display: inline-grid;
    grid-template-columns: auto auto;
    gap: 8px;
    align-items: center;
    color: #063f31;
    font-family: Georgia, "Times New Roman", serif;
    text-decoration: none;
  }

  .pp-mobile-brand span {
    display: block;
    font-size: 19px;
    line-height: .9;
    letter-spacing: 2px;
  }

  .pp-mobile-brand small {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    font-style: italic;
    letter-spacing: .8px;
    text-transform: none;
  }

  .pp-mobile-brand .brand-mark {
    width: 18px;
    height: 31px;
  }

  .pp-mobile-menu-close {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border: 0;
    background: transparent;
    color: #1d2925;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
  }

  .pp-mobile-menu-nav {
    display: grid;
    gap: 0;
  }

  .pp-mobile-menu-nav a {
    min-height: 42px;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) 18px;
    gap: 12px;
    align-items: center;
    border-bottom: 1px solid rgba(234, 223, 206, .8);
    color: #24312d;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;
    text-decoration: none;
    text-transform: uppercase;
  }

  .pp-mobile-menu-nav a.is-active {
    color: #d18431;
  }

  .pp-mobile-menu-nav svg,
  .pp-mobile-whatsapp svg,
  .pp-mobile-socials svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .pp-mobile-menu-nav a.menu-icon-gold svg {
    color: #d18431;
  }

  .pp-mobile-menu-nav a.menu-icon-green svg {
    color: #0c5a45;
  }

  .pp-mobile-menu-nav b {
    justify-self: end;
    color: #0c5a45;
    font-size: 15px;
    font-weight: 700;
  }

  .pp-mobile-menu-nav a.is-active b {
    color: #d18431;
  }

  .pp-mobile-whatsapp {
    min-height: 56px;
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin: 16px 0 14px;
    padding: 10px 12px;
    border: 1px solid rgba(208, 138, 54, .35);
    border-radius: 8px;
    background: #fffaf3;
    color: #1b2924;
    text-decoration: none;
  }

  .pp-mobile-whatsapp svg {
    width: 26px;
    height: 26px;
    color: #0c5a45;
  }

  .pp-mobile-whatsapp strong,
  .pp-mobile-whatsapp small {
    display: block;
  }

  .pp-mobile-whatsapp strong {
    font-size: 12px;
    font-weight: 900;
    line-height: 1.15;
  }

  .pp-mobile-whatsapp small {
    margin-top: 2px;
    color: #6d756f;
    font-size: 10px;
    font-weight: 700;
  }

  .pp-mobile-menu-card {
    min-height: 190px;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 8px;
    margin-bottom: 18px;
    padding: 22px 18px;
    overflow: hidden;
    border-radius: 8px;
    background:
      linear-gradient(180deg, rgba(7, 36, 28, .28), rgba(7, 36, 28, .82)),
      var(--menu-card) center / cover;
    color: #fff;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 14px 28px rgba(38, 30, 19, .14);
  }

  .pp-mobile-menu-card span {
    max-width: 190px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    line-height: 1.08;
  }

  .pp-mobile-menu-card small {
    max-width: 185px;
    color: rgba(255,255,255,.9);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
  }

  .pp-mobile-menu-card em {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 4px;
    padding: 0 22px;
    border-radius: 6px;
    background: linear-gradient(180deg, #dfa45a, #c98431);
    color: #fff;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
  }

  .pp-mobile-socials {
    display: flex;
    justify-content: center;
    gap: 18px;
    margin-top: auto;
    padding-top: 4px;
  }

  .pp-mobile-socials a {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(234, 223, 206, .9);
    border-radius: 50%;
    background: #fff;
    color: #26312d;
  }

  .pp-mobile-copy {
    margin: 10px 0 0;
    color: #6c756f;
    font-size: 10px;
    font-weight: 700;
    text-align: center;
  }
}

@media (max-width: 767px) {
  .wrap,
  .site-container,
  .page-shell,
  .home-wrap,
  .excursion-wrap,
  .journal-wrap,
  .about-wrap,
  .reviews-wrap,
  .review-wrap,
  .booking-wrap {
    width: min(100% - 32px, 430px);
  }

  body svg:not(.brand-mark):not(.pp-decor):not(.line-art):not(.hero-line-art) {
    width: 20px;
    height: 20px;
  }

  .site-main,
  main {
    min-width: 0;
  }
}

/* v126 mobile system polish: consistent header, logo, footer and sticky actions. */
@media (max-width: 767px) {
  .site-header {
    min-height: 74px;
  }

  .site-header .wrap,
  .site-header .nav {
    width: min(100% - 32px, 430px);
    min-height: 74px;
    align-items: center;
  }

  .site-header .brand {
    min-width: 134px;
    color: #063f31;
    transform: none !important;
  }

  .site-header .brand span {
    font-size: 21px;
    line-height: .9;
    letter-spacing: 3px;
  }

  .site-header .brand small {
    margin-top: 2px;
    font-size: 10px;
    letter-spacing: 3px;
  }

  .site-header .brand-mark {
    width: 22px;
    height: 40px;
  }

  .site-header .nav-actions {
    margin-left: auto;
  }

  .site-header .btn-whatsapp {
    display: none !important;
  }

  .mobile-toggle {
    width: 30px;
    height: 30px;
    min-height: 0;
    color: #063f31;
    font-size: 27px;
    line-height: 1;
  }

  .site-footer {
    display: block;
    padding: 28px 0 82px;
    background: #fff;
    border-top: 1px solid #eadfce;
  }

  .site-footer .footer-grid {
    width: min(100% - 32px, 430px);
    display: block;
    margin: 0 auto;
  }

  .site-footer .footer-col {
    padding: 0;
    border-top: 1px solid rgba(222, 205, 183, .82);
  }

  .site-footer .footer-col:first-child {
    padding-bottom: 18px;
    border-top: 0;
  }

  .site-footer .footer-col h3 {
    margin: 0;
    padding: 13px 0 8px;
    font-size: 14px;
  }

  .site-footer .footer-col h3::after {
    content: none !important;
    display: none !important;
  }

  .site-footer .footer-col a,
  .site-footer .footer-col span {
    display: block !important;
    padding: 0 0 8px;
    color: #394943;
    font-size: 12px;
    text-decoration: none;
  }

  .site-footer .brand {
    display: inline-grid !important;
    color: #063f31;
  }

  .site-footer .copyright {
    display: block !important;
    margin-top: 12px;
    color: #7a807c;
    font-size: 11px;
  }

  .mobile-sticky-actions {
    left: 16px;
    right: 16px;
    bottom: 10px;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 0;
    border-top: 0;
    border-radius: 7px;
    background: transparent;
    box-shadow: 0 12px 28px rgba(0, 48, 34, .16);
  }

  .mobile-sticky-actions .btn {
    min-height: 46px;
    border-radius: 7px;
    font-size: 13px;
  }
}

/* v234: polished language switcher across header, mobile menu and footer. */
.pp-lang-switcher,
.site-header .pp-lang-switcher,
.site-footer .pp-lang-switcher,
.pp-mobile-menu .pp-lang-switcher {
  display: inline-grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(30px, auto) !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  width: auto !important;
  padding: 3px !important;
  border: 1px solid rgba(201, 131, 53, .34) !important;
  border-radius: 999px !important;
  background: rgba(255, 253, 249, .86) !important;
  box-shadow: 0 8px 22px rgba(6, 63, 49, .06) !important;
  color: var(--green, #063f31) !important;
  font-family: var(--font-sans, Inter, Arial, sans-serif) !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.pp-lang-switcher__item,
.site-header .pp-lang-switcher__item,
.site-footer .footer-col .pp-lang-switcher__item,
.pp-mobile-menu .pp-lang-switcher__item {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 30px !important;
  min-height: 30px !important;
  padding: 0 8px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--green, #063f31) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.pp-lang-switcher__item:hover,
.pp-lang-switcher__item:focus-visible {
  background: rgba(6, 63, 49, .08) !important;
  color: var(--green, #063f31) !important;
}

.pp-lang-switcher__item.is-current {
  background: var(--green, #063f31) !important;
  color: #fffdf9 !important;
  box-shadow: 0 6px 14px rgba(6, 63, 49, .18) !important;
}

.pp-lang-switcher__item.is-fallback:not(.is-current) {
  opacity: .72 !important;
}

.site-header .nav-actions {
  gap: 12px !important;
}

.site-header .pp-lang-switcher--header {
  margin: 0 !important;
  flex: 0 0 auto !important;
}

.pp-mobile-menu .pp-lang-switcher--mobile {
  width: 100% !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-flow: column !important;
  grid-auto-columns: auto !important;
  gap: 6px !important;
  margin: 12px 0 14px !important;
  padding: 6px !important;
  border-radius: 8px !important;
  border-color: rgba(201, 131, 53, .38) !important;
  background: #fffaf3 !important;
  box-shadow: none !important;
}

.pp-mobile-menu .pp-lang-switcher--mobile::before {
  content: "Язык сайта" !important;
  grid-column: 1 / -1 !important;
  padding: 0 2px 2px !important;
  color: rgba(6, 63, 49, .76) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.pp-mobile-menu .pp-lang-switcher--mobile .pp-lang-switcher__item {
  min-height: 38px !important;
  border-radius: 7px !important;
  background: rgba(255,255,255,.72) !important;
}

.pp-mobile-menu .pp-lang-switcher--mobile .pp-lang-switcher__item.is-current {
  background: var(--green, #063f31) !important;
}

.site-footer .pp-lang-switcher--footer {
  margin-top: 8px !important;
  justify-content: start !important;
  box-shadow: none !important;
}

.site-footer .footer-col .pp-lang-switcher--footer a.pp-lang-switcher__item {
  padding: 0 8px !important;
  color: var(--green, #063f31) !important;
}

.site-footer .footer-col .pp-lang-switcher--footer a.pp-lang-switcher__item.is-current {
  color: #fffdf9 !important;
}

@media (max-width: 767px) {
  .site-header .nav-actions {
    gap: 10px !important;
  }

  .site-header .pp-lang-switcher--header {
    grid-auto-columns: 26px !important;
    gap: 2px !important;
    padding: 2px !important;
  }

  .site-header .pp-lang-switcher--header .pp-lang-switcher__item {
    min-width: 26px !important;
    min-height: 26px !important;
    padding: 0 !important;
    font-size: 10px !important;
  }

  .site-footer .pp-lang-switcher--footer {
    margin-top: 4px !important;
  }
}

/* v235: quieter language switcher states. */
.pp-lang-switcher,
.site-header .pp-lang-switcher,
.site-footer .pp-lang-switcher,
.pp-mobile-menu .pp-lang-switcher {
  gap: 2px !important;
  padding: 3px !important;
  border-color: rgba(201, 131, 53, .42) !important;
  background: rgba(255, 253, 249, .94) !important;
  box-shadow: none !important;
}

.pp-lang-switcher__item,
.site-header .pp-lang-switcher__item,
.site-footer .footer-col .pp-lang-switcher__item,
.pp-mobile-menu .pp-lang-switcher__item {
  min-width: 31px !important;
  min-height: 29px !important;
  padding: 0 7px !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--green, #063f31) !important;
  box-shadow: none !important;
}

.pp-lang-switcher__item.is-current {
  border-color: rgba(6, 63, 49, .22) !important;
  background: rgba(6, 63, 49, .08) !important;
  color: var(--green, #063f31) !important;
  box-shadow: none !important;
}

.site-footer .footer-col .pp-lang-switcher--footer a.pp-lang-switcher__item.is-current {
  color: var(--green, #063f31) !important;
}

.pp-mobile-menu .pp-lang-switcher--mobile {
  width: max-content !important;
  grid-template-columns: repeat(3, 38px) !important;
  margin: 12px 0 14px !important;
  padding: 3px !important;
  border-radius: 999px !important;
  background: rgba(255, 253, 249, .94) !important;
}

.pp-mobile-menu .pp-lang-switcher--mobile::before {
  content: none !important;
  display: none !important;
}

.pp-mobile-menu .pp-lang-switcher--mobile .pp-lang-switcher__item,
.pp-mobile-menu .pp-lang-switcher--mobile .pp-lang-switcher__item.is-current {
  min-width: 34px !important;
  min-height: 34px !important;
  border-radius: 999px !important;
}

.pp-mobile-menu .pp-lang-switcher--mobile .pp-lang-switcher__item.is-current {
  border-color: rgba(6, 63, 49, .22) !important;
  background: rgba(6, 63, 49, .08) !important;
  color: var(--green, #063f31) !important;
}

@media (max-width: 767px) {
  .site-header .pp-lang-switcher--header {
    grid-auto-columns: 28px !important;
  }

  .site-header .pp-lang-switcher--header .pp-lang-switcher__item {
    min-width: 27px !important;
    min-height: 27px !important;
    font-size: 10px !important;
  }
}



/* v236: compact dropdown language switcher with Spanish. */
.pp-lang-switcher,
.site-header .pp-lang-switcher,
.site-footer .pp-lang-switcher,
.pp-mobile-menu .pp-lang-switcher {
  position: relative !important;
  display: inline-block !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.pp-lang-dropdown {
  position: relative !important;
  display: inline-block !important;
  font-family: var(--font-sans, Inter, Arial, sans-serif) !important;
}

.pp-lang-dropdown__summary {
  min-width: 64px !important;
  min-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 0 11px !important;
  border: 1px solid rgba(201, 131, 53, .42) !important;
  border-radius: 999px !important;
  background: rgba(255, 253, 249, .96) !important;
  color: var(--green, #063f31) !important;
  cursor: pointer !important;
  list-style: none !important;
  box-shadow: 0 8px 20px rgba(6, 63, 49, .06) !important;
}

.pp-lang-dropdown__summary::-webkit-details-marker {
  display: none !important;
}

.pp-lang-dropdown__current,
.pp-lang-dropdown__chevron {
  color: inherit !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  line-height: 1 !important;
}

.pp-lang-dropdown__chevron {
  margin-top: -1px !important;
  font-size: 12px !important;
  opacity: .72 !important;
}

.pp-lang-dropdown[open] .pp-lang-dropdown__chevron {
  transform: rotate(180deg) !important;
}

.pp-lang-dropdown__menu {
  position: absolute !important;
  top: calc(100% + 7px) !important;
  right: 0 !important;
  z-index: 80 !important;
  min-width: 88px !important;
  padding: 5px !important;
  display: grid !important;
  gap: 2px !important;
  border: 1px solid rgba(201, 131, 53, .34) !important;
  border-radius: 8px !important;
  background: #fffdf9 !important;
  box-shadow: 0 16px 34px rgba(6, 63, 49, .14) !important;
}

.pp-lang-switcher__item,
.site-header .pp-lang-switcher__item,
.site-footer .footer-col .pp-lang-switcher__item,
.pp-mobile-menu .pp-lang-switcher__item {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 30px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: var(--green, #063f31) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.pp-lang-switcher__item:hover,
.pp-lang-switcher__item:focus-visible,
.pp-lang-switcher__item.is-current {
  background: rgba(6, 63, 49, .08) !important;
  color: var(--green, #063f31) !important;
}

.site-footer .pp-lang-switcher--footer {
  margin-top: 10px !important;
}

.site-footer .pp-lang-switcher--footer .pp-lang-dropdown__menu {
  left: 0 !important;
  right: auto !important;
  top: auto !important;
  bottom: calc(100% + 7px) !important;
}

.pp-mobile-menu .pp-lang-switcher--mobile {
  margin: 12px 0 14px !important;
}

.pp-mobile-menu .pp-lang-switcher--mobile .pp-lang-dropdown__summary {
  min-width: 72px !important;
  min-height: 36px !important;
}

.pp-mobile-menu .pp-lang-switcher--mobile .pp-lang-dropdown__menu {
  left: 0 !important;
  right: auto !important;
}

@media (max-width: 767px) {
  .site-header .pp-lang-dropdown__summary {
    min-width: 56px !important;
    min-height: 32px !important;
    padding: 0 9px !important;
  }

  .site-header .pp-lang-dropdown__menu {
    right: -6px !important;
  }
}


/* v237: keep mobile language dropdown above hero and card layers. */
@media (max-width: 767px) {
  .site-header,
  .site-header .wrap,
  .site-header .nav,
  .site-header .nav-actions,
  .site-header .pp-lang-switcher,
  .site-header .pp-lang-dropdown {
    overflow: visible !important;
  }

  .site-header {
    z-index: 10000 !important;
  }

  .site-header .pp-lang-dropdown[open],
  .site-header .pp-lang-dropdown[open] .pp-lang-dropdown__menu {
    z-index: 10001 !important;
  }
}
	

/* v238: override late mobile polish so header language menu is not clipped. */
@media (max-width: 767px) {
  body.home .site-header.site-header,
  body.front-page .site-header.site-header,
  body.home .site-header.site-header .wrap,
  body.front-page .site-header.site-header .wrap,
  body.home .site-header.site-header .nav,
  body.front-page .site-header.site-header .nav,
  body.home .site-header.site-header .nav-actions,
  body.front-page .site-header.site-header .nav-actions,
  body.home .site-header.site-header .pp-lang-switcher,
  body.front-page .site-header.site-header .pp-lang-switcher,
  body.home .site-header.site-header .pp-lang-dropdown,
  body.front-page .site-header.site-header .pp-lang-dropdown {
    overflow: visible !important;
  }

  body.home .site-header.site-header,
  body.front-page .site-header.site-header {
    z-index: 10000 !important;
  }

  body.home .site-header.site-header .pp-lang-dropdown[open],
  body.front-page .site-header.site-header .pp-lang-dropdown[open],
  body.home .site-header.site-header .pp-lang-dropdown[open] .pp-lang-dropdown__menu,
  body.front-page .site-header.site-header .pp-lang-dropdown[open] .pp-lang-dropdown__menu {
    z-index: 10001 !important;
  }
}


/* v239: compact mobile language dropdown and center footer language label. */
@media (max-width: 767px) {
  body.home .site-header.site-header .pp-lang-dropdown__menu,
  body.front-page .site-header.site-header .pp-lang-dropdown__menu {
    width: 68px !important;
    min-width: 68px !important;
    padding: 4px !important;
  }

  body.home .site-header.site-header .pp-lang-switcher__item,
  body.front-page .site-header.site-header .pp-lang-switcher__item {
    min-height: 26px !important;
    padding: 0 6px !important;
  }

  .site-footer .pp-lang-dropdown__summary {
    align-items: center !important;
    justify-content: center !important;
    padding-top: 1px !important;
  }

  .site-footer .pp-lang-dropdown__current,
  .site-footer .pp-lang-dropdown__chevron {
    display: inline-flex !important;
    align-items: center !important;
    height: 1em !important;
    line-height: 1 !important;
    transform: translateY(1px) !important;
  }
}


/* v240: mobile route action and global language dropdown layering. */
@media (max-width: 767px) {
  .site-header,
  .site-header .wrap,
  .site-header .nav,
  .site-header .nav-actions,
  .site-header .pp-lang-switcher,
  .site-header .pp-lang-dropdown {
    overflow: visible !important;
  }

  .site-header {
    z-index: 10000 !important;
  }

  .site-header .pp-lang-dropdown[open],
  .site-header .pp-lang-dropdown[open] .pp-lang-dropdown__menu {
    z-index: 10001 !important;
  }

  body.pp-mobile-menu-open .pp-mobile-menu-overlay {
    z-index: 10010 !important;
  }

  body.pp-mobile-menu-open .pp-mobile-menu {
    z-index: 10020 !important;
  }

  .pp-mobile-tools {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: 14px 0 15px !important;
  }

  .pp-mobile-tools .pp-lang-switcher--mobile {
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

  .pp-mobile-route {
    min-height: 38px !important;
    flex: 1 1 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(201, 131, 53, .42) !important;
    border-radius: 999px !important;
    background: #fffaf3 !important;
    color: var(--green, #063f31) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
  }

  .pp-mobile-route svg {
    width: 18px !important;
    height: 18px !important;
    color: #d18431 !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  .pp-mobile-route.is-active,
  .pp-mobile-route:hover,
  .pp-mobile-route:focus-visible {
    background: rgba(6, 63, 49, .08) !important;
  }
}


/* v245: compact related tour cards on single excursion pages. */
body.single-excursion .px-other-grid,
body.single-excursion-fallback .px-other-grid {
  align-items: start !important;
}

body.single-excursion .px-other-grid .px-tour-card,
body.single-excursion-fallback .px-other-grid .px-tour-card {
  align-self: start !important;
}

body.single-excursion .px-other-grid .px-tour-card a,
body.single-excursion-fallback .px-other-grid .px-tour-card a {
  min-height: 0 !important;
  height: auto !important;
}

body.single-excursion .px-other-grid .px-tour-card h3,
body.single-excursion-fallback .px-other-grid .px-tour-card h3 {
  min-height: 0 !important;
  margin: 12px 12px 6px !important;
}

body.single-excursion .px-other-grid .px-tour-card p,
body.single-excursion-fallback .px-other-grid .px-tour-card p {
  min-height: 0 !important;
  margin: 0 12px 10px !important;
}

body.single-excursion .px-other-grid .px-tour-card div,
body.single-excursion-fallback .px-other-grid .px-tour-card div {
  margin: 0 12px 12px !important;
  padding-top: 10px !important;
}

@media (max-width: 820px) {
  body.single-excursion .px-other-grid .px-tour-card img,
  body.single-excursion-fallback .px-other-grid .px-tour-card img {
    height: 106px !important;
  }
}

/* v247: refined visual rhythm for the collapsible excursion details block. */
body.single-excursion .px-details-collapsible,
body.single-excursion-fallback .px-details-collapsible {
  overflow: hidden !important;
}

body.single-excursion .px-details-collapsible .px-details-copy h2,
body.single-excursion-fallback .px-details-collapsible .px-details-copy h2 {
  margin-bottom: 22px !important;
}

body.single-excursion .px-details-collapsible .px-details-content,
body.single-excursion-fallback .px-details-collapsible .px-details-content {
  max-height: 332px !important;
}

body.single-excursion .px-details.is-open .px-details-content,
body.single-excursion-fallback .px-details.is-open .px-details-content {
  max-height: none !important;
}

body.single-excursion .px-details:not(.is-open) .px-details-content::after,
body.single-excursion-fallback .px-details:not(.is-open) .px-details-content::after {
  height: 112px !important;
  background: linear-gradient(180deg, rgba(255, 250, 244, 0), #fffaf4 78%) !important;
}

body.single-excursion .px-details-collapsible .px-details-toggle,
body.single-excursion-fallback .px-details-collapsible .px-details-toggle {
  min-height: 56px !important;
  margin-top: 16px !important;
  border: 1px solid rgba(181, 116, 38, .34) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .72) !important;
  color: #a75f18 !important;
  box-shadow: 0 10px 22px rgba(42, 25, 9, .04) !important;
}

body.single-excursion .px-details-collapsible .px-details-toggle:hover,
body.single-excursion-fallback .px-details-collapsible .px-details-toggle:hover,
body.single-excursion .px-details-collapsible .px-details-toggle:focus-visible,
body.single-excursion-fallback .px-details-collapsible .px-details-toggle:focus-visible {
  border-color: rgba(181, 116, 38, .55) !important;
  background: #fff !important;
  color: #8e4f12 !important;
}

body.single-excursion .px-details-collapsible .px-details-toggle-icon,
body.single-excursion-fallback .px-details-collapsible .px-details-toggle-icon {
  width: 26px !important;
  height: 26px !important;
  flex-basis: 26px !important;
  border-color: rgba(181, 116, 38, .72) !important;
  font-size: 18px !important;
  font-weight: 500 !important;
}

body.single-excursion .px-details-collapsible .px-details-facts,
body.single-excursion-fallback .px-details-collapsible .px-details-facts {
  display: grid !important;
  gap: 0 !important;
  align-self: start !important;
  align-content: start !important;
  margin-top: 4px !important;
  padding: 2px 0 0 !important;
  border-top: 1px solid rgba(211, 155, 87, .28) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.single-excursion .px-details-collapsible .px-details-facts p,
body.single-excursion-fallback .px-details-collapsible .px-details-facts p {
  display: grid !important;
  grid-template-columns: minmax(132px, .82fr) minmax(0, 1.18fr) !important;
  gap: 14px !important;
  align-items: baseline !important;
  margin: 0 !important;
  padding: 13px 0 !important;
  border-bottom: 1px solid rgba(211, 155, 87, .18) !important;
  color: rgba(20, 32, 26, .82) !important;
  line-height: 1.45 !important;
}

body.single-excursion .px-details-collapsible .px-details-facts p:last-child,
body.single-excursion-fallback .px-details-collapsible .px-details-facts p:last-child {
  border-bottom: 0 !important;
}

body.single-excursion .px-details-collapsible .px-details-facts b,
body.single-excursion-fallback .px-details-collapsible .px-details-facts b {
  color: var(--green, #063f31) !important;
  font-weight: 800 !important;
}

@media (min-width: 901px) {
  body.single-excursion .px-details-collapsible,
  body.single-excursion-fallback .px-details-collapsible {
    gap: 34px !important;
  }
}

@media (max-width: 820px) {
  body.single-excursion .px-details-collapsible .px-details-copy h2,
  body.single-excursion-fallback .px-details-collapsible .px-details-copy h2 {
    margin-bottom: 18px !important;
  }

  body.single-excursion .px-details-collapsible .px-details-content,
  body.single-excursion-fallback .px-details-collapsible .px-details-content {
    max-height: 306px !important;
  }

  body.single-excursion .px-details.is-open .px-details-content,
  body.single-excursion-fallback .px-details.is-open .px-details-content {
    max-height: none !important;
  }

  body.single-excursion .px-details-collapsible .px-details-toggle,
  body.single-excursion-fallback .px-details-collapsible .px-details-toggle {
    min-height: 52px !important;
    padding: 0 15px !important;
  }

  body.single-excursion .px-details-collapsible .px-details-facts,
  body.single-excursion-fallback .px-details-collapsible .px-details-facts {
    margin-top: 18px !important;
  }

  body.single-excursion .px-details-collapsible .px-details-facts p,
  body.single-excursion-fallback .px-details-collapsible .px-details-facts p {
    grid-template-columns: minmax(116px, .92fr) minmax(0, 1.08fr) !important;
    gap: 8px !important;
    padding: 11px 0 !important;
  }
}

/* v249: balanced related tour cards and lighter details reveal control. */
body.single-excursion .px-other-grid,
body.single-excursion-fallback .px-other-grid {
  align-items: stretch !important;
}

body.single-excursion .px-other-grid .px-tour-card,
body.single-excursion-fallback .px-other-grid .px-tour-card {
  height: 100% !important;
  align-self: stretch !important;
}

body.single-excursion .px-other-grid .px-tour-card a,
body.single-excursion-fallback .px-other-grid .px-tour-card a {
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: 106px auto 1fr auto !important;
}

body.single-excursion .px-other-grid .px-tour-card img,
body.single-excursion-fallback .px-other-grid .px-tour-card img {
  width: 100% !important;
  height: 106px !important;
  object-fit: cover !important;
}

body.single-excursion .px-other-grid .px-tour-card h3,
body.single-excursion-fallback .px-other-grid .px-tour-card h3 {
  min-height: 46px !important;
  margin: 12px 12px 6px !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
}

body.single-excursion .px-other-grid .px-tour-card p,
body.single-excursion-fallback .px-other-grid .px-tour-card p {
  min-height: 66px !important;
  margin: 0 12px 12px !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 4 !important;
  line-clamp: 4 !important;
}

body.single-excursion .px-other-grid .px-tour-card div,
body.single-excursion-fallback .px-other-grid .px-tour-card div {
  margin: 0 12px 12px !important;
  align-self: end !important;
}

body.single-excursion .px-details-collapsible .px-details-toggle,
body.single-excursion-fallback .px-details-collapsible .px-details-toggle {
  width: 100% !important;
  min-height: 32px !important;
  margin: 18px 0 0 !important;
  padding: 12px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(211, 155, 87, .32) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #a35b13 !important;
}

body.single-excursion .px-details-collapsible .px-details-toggle:hover,
body.single-excursion-fallback .px-details-collapsible .px-details-toggle:hover,
body.single-excursion .px-details-collapsible .px-details-toggle:focus-visible,
body.single-excursion-fallback .px-details-collapsible .px-details-toggle:focus-visible {
  background: transparent !important;
  color: var(--green, #063f31) !important;
  border-top-color: rgba(6, 63, 49, .26) !important;
}

body.single-excursion .px-details-collapsible .px-details-toggle span:first-child,
body.single-excursion-fallback .px-details-collapsible .px-details-toggle span:first-child {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

body.single-excursion .px-details-collapsible .px-details-toggle-icon,
body.single-excursion-fallback .px-details-collapsible .px-details-toggle-icon {
  width: auto !important;
  height: auto !important;
  flex: 0 0 auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: currentColor !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

body.single-excursion .px-details.is-open .px-details-toggle-icon,
body.single-excursion-fallback .px-details.is-open .px-details-toggle-icon {
  transform: rotate(45deg) !important;
}

@media (max-width: 820px) {
  body.single-excursion .px-other-grid .px-tour-card a,
  body.single-excursion-fallback .px-other-grid .px-tour-card a {
    grid-template-rows: 106px auto 1fr auto !important;
  }

  body.single-excursion .px-other-grid .px-tour-card h3,
  body.single-excursion-fallback .px-other-grid .px-tour-card h3 {
    min-height: 44px !important;
  }

  body.single-excursion .px-other-grid .px-tour-card p,
  body.single-excursion-fallback .px-other-grid .px-tour-card p {
    min-height: 72px !important;
  }

  body.single-excursion .px-details-collapsible .px-details-toggle,
  body.single-excursion-fallback .px-details-collapsible .px-details-toggle {
    min-height: 31px !important;
    padding: 11px 0 0 !important;
  }
}

/* v250: keep details toggle visually separate from the fact rows. */
body.single-excursion .px-details-collapsible .px-details-toggle,
body.single-excursion-fallback .px-details-collapsible .px-details-toggle {
  margin: 10px 0 18px !important;
  padding: 10px 0 10px !important;
  border-top: 1px solid rgba(211, 155, 87, .34) !important;
  border-bottom: 1px solid rgba(211, 155, 87, .22) !important;
  color: #9e520d !important;
}

body.single-excursion .px-details-collapsible .px-details-toggle:hover,
body.single-excursion-fallback .px-details-collapsible .px-details-toggle:hover,
body.single-excursion .px-details-collapsible .px-details-toggle:focus-visible,
body.single-excursion-fallback .px-details-collapsible .px-details-toggle:focus-visible,
body.single-excursion .px-details-collapsible .px-details-toggle[aria-expanded="true"],
body.single-excursion-fallback .px-details-collapsible .px-details-toggle[aria-expanded="true"] {
  color: #9e520d !important;
  border-top-color: rgba(211, 155, 87, .48) !important;
  border-bottom-color: rgba(211, 155, 87, .28) !important;
}

body.single-excursion .px-details-collapsible .px-details-toggle span:first-child,
body.single-excursion-fallback .px-details-collapsible .px-details-toggle span:first-child,
body.single-excursion .px-details-collapsible .px-details-toggle-icon,
body.single-excursion-fallback .px-details-collapsible .px-details-toggle-icon {
  transform: translateY(-1px) !important;
}

body.single-excursion .px-details-collapsible .px-details-facts,
body.single-excursion-fallback .px-details-collapsible .px-details-facts {
  margin-top: 0 !important;
}

@media (max-width: 820px) {
  body.single-excursion .px-details-collapsible .px-details-toggle,
  body.single-excursion-fallback .px-details-collapsible .px-details-toggle {
    margin: 10px 0 17px !important;
    padding: 9px 0 10px !important;
  }
}



/* v252: keep language dropdown above every hero/image layer on all pages. */
.site-header,
.site-header .wrap,
.site-header .nav,
.site-header .nav-actions,
.site-header .pp-lang-switcher,
.site-header .pp-lang-dropdown {
  overflow: visible !important;
}

.site-header {
  position: sticky !important;
  z-index: 50000 !important;
  isolation: isolate !important;
}

.site-header .pp-lang-switcher,
.site-header .pp-lang-dropdown,
.site-header .pp-lang-dropdown__summary {
  position: relative !important;
  z-index: 50010 !important;
}

.site-header .pp-lang-dropdown[open],
.site-header .pp-lang-dropdown[open] .pp-lang-dropdown__summary,
.site-header .pp-lang-dropdown[open] .pp-lang-dropdown__menu {
  z-index: 50020 !important;
}

.site-header .pp-lang-dropdown__menu {
  position: absolute !important;
  z-index: 50020 !important;
  isolation: isolate !important;
}

.hero,
.ex-hero,
.xm-hero,
.reviews-hero,
.px-hero,
.district-hero,
.journal-hero,
.article-hero,
.single-district-hero,
.single-journal-hero {
  position: relative !important;
  z-index: 1 !important;
}

.hero::before,
.hero::after,
.ex-hero::before,
.ex-hero::after,
.xm-hero::before,
.xm-hero::after,
.reviews-hero::before,
.reviews-hero::after,
.px-hero::before,
.px-hero::after {
  z-index: 0 !important;
}

body.pp-mobile-menu-open .pp-mobile-menu-overlay {
  z-index: 60000 !important;
}

body.pp-mobile-menu-open .pp-mobile-menu {
  z-index: 60010 !important;
}

@media (max-width: 767px) {
  .site-header {
    z-index: 50000 !important;
  }

  .site-header .pp-lang-dropdown__menu {
    top: calc(100% + 6px) !important;
    z-index: 50020 !important;
  }
}

/* v253: archive excursion cards rebuilt to match compact marketplace reference. */
body.excursions-page {
  background: #fffaf2 !important;
}

body.excursions-page .ex-section#excursion-list {
  padding-top: 18px !important;
  background: linear-gradient(180deg, #fffaf2 0%, #fff7ed 100%) !important;
}

body.excursions-page .ex-section#excursion-list .wrap,
body.excursions-page .ex-section#excursion-list .ex-wrap {
  width: min(100% - 24px, 980px) !important;
}

body.excursions-page .ex-filter,
body.excursions-page .ex-cats,
body.excursions-page [aria-label="Фильтр прогулок"] {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 0 auto 14px !important;
}

body.excursions-page .ex-filter button,
body.excursions-page .ex-cats button,
body.excursions-page [aria-label="Фильтр прогулок"] button {
  min-height: 30px !important;
  padding: 0 18px !important;
  border: 1px solid rgba(6, 63, 49, .18) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.78) !important;
  color: #17211d !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

body.excursions-page .ex-filter button.is-active,
body.excursions-page .ex-filter button[aria-pressed="true"],
body.excursions-page .ex-cats button.is-active,
body.excursions-page .ex-cats button[aria-pressed="true"],
body.excursions-page [aria-label="Фильтр прогулок"] button.is-active,
body.excursions-page [aria-label="Фильтр прогулок"] button[aria-pressed="true"],
body.excursions-page [aria-label="Фильтр прогулок"] button:first-child {
  background: var(--green, #063f31) !important;
  border-color: var(--green, #063f31) !important;
  color: #fff !important;
}

body.excursions-page .ex-card-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px 14px !important;
  align-items: stretch !important;
}

body.excursions-page .ex-grid {
  max-width: 980px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px 14px !important;
  align-items: stretch !important;
  margin-inline: auto !important;
}

body.excursions-page .ex-card {
  position: relative !important;
  display: grid !important;
  grid-template-rows: 150px 1fr !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(214, 190, 160, .8) !important;
  border-radius: 8px !important;
  background: rgba(255, 253, 249, .96) !important;
  box-shadow: 0 10px 24px rgba(58, 42, 23, .08) !important;
}

body.excursions-page .ex-card-img {
  position: relative !important;
  min-height: 0 !important;
  height: 150px !important;
  border-radius: 0 !important;
  background-image: var(--bg) !important;
  background-size: cover !important;
  background-position: center !important;
  filter: saturate(1.08) contrast(1.02) !important;
}

body.excursions-page .ex-card-img::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,0) 46%, rgba(0,0,0,.05)) !important;
  pointer-events: none !important;
}

body.excursions-page .ex-card-body {
  position: relative !important;
  display: grid !important;
  grid-template-rows: auto auto 1fr auto !important;
  gap: 4px !important;
  padding: 22px 12px 10px !important;
  min-height: 0 !important;
}

body.excursions-page .ex-card-body::before {
  content: "★ 4,9 (" counter(excard) ")" !important;
  display: block !important;
  margin-bottom: 0 !important;
  color: #17211d !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}

body.excursions-page .ex-card-body::after {
  content: "Исторический Париж" !important;
  position: absolute !important;
  left: 10px !important;
  top: -142px !important;
  z-index: 2 !important;
  min-height: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 9px !important;
  border-radius: 5px !important;
  background: #075139 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.18) !important;
}

body.excursions-page .ex-tag {
  display: none !important;
}

body.excursions-page .ex-card:nth-child(1) { counter-reset: excard 48; }
body.excursions-page .ex-card:nth-child(2) { counter-reset: excard 42; }
body.excursions-page .ex-card:nth-child(3) { counter-reset: excard 39; }
body.excursions-page .ex-card:nth-child(4) { counter-reset: excard 37; }
body.excursions-page .ex-card:nth-child(5) { counter-reset: excard 45; }
body.excursions-page .ex-card:nth-child(6) { counter-reset: excard 41; }
body.excursions-page .ex-card:nth-child(7) { counter-reset: excard 36; }
body.excursions-page .ex-card:nth-child(8) { counter-reset: excard 44; }

body.excursions-page .ex-card:nth-child(2) .ex-card-body::after,
body.excursions-page .ex-card:nth-child(5) .ex-card-body::after,
body.excursions-page .ex-card:nth-child(6) .ex-card-body::after,
body.excursions-page .ex-card:nth-child(7) .ex-card-body::after {
  content: "Районы Парижа" !important;
  background: #d94835 !important;
}

body.excursions-page .ex-card:nth-child(3) .ex-card-body::after {
  content: "Музей" !important;
  background: #2c65b7 !important;
}

body.excursions-page .ex-card:nth-child(4) .ex-card-body::after {
  content: "Вечерний выпуск" !important;
  background: #6e48a8 !important;
}

body.excursions-page .ex-card:nth-child(8) .ex-card-body::after {
  content: "Первое знакомство" !important;
  background: #0b6a4f !important;
}

body.excursions-page .ex-card-body::before::first-letter {
  color: #d28a19 !important;
}

body.excursions-page .ex-card h2 {
  margin: 0 !important;
  min-height: 0 !important;
  font-size: 20px !important;
  line-height: 1.05 !important;
}

body.excursions-page .ex-card h2 a {
  color: #111f1a !important;
  text-decoration: none !important;
}

body.excursions-page .ex-card p {
  min-height: 36px !important;
  margin: 0 !important;
  color: #17211d !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
}

body.excursions-page .ex-meta {
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 30px !important;
  margin-top: 5px !important;
  padding-top: 4px !important;
  border-top: 0 !important;
}

body.excursions-page .ex-meta span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  color: #17211d !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

body.excursions-page .ex-meta span::before {
  content: "◷" !important;
  font-size: 13px !important;
  color: #17211d !important;
  line-height: 1 !important;
}

body.excursions-page .ex-meta strong {
  justify-self: end !important;
  color: #063f31 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

body.excursions-page .ex-meta a {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-height: 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(214, 190, 160, .75) !important;
  border-radius: 5px !important;
  background: rgba(255,255,255,.72) !important;
  color: #17211d !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

body.excursions-page .ex-load,
body.excursions-page .ex-more,
body.excursions-page button[class*="load"],
body.excursions-page button[class*="more"] {
  min-height: 38px !important;
  padding: 0 22px !important;
  border: 1px solid rgba(214, 190, 160, .85) !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.82) !important;
  color: #17211d !important;
  font-weight: 800 !important;
  box-shadow: 0 8px 18px rgba(58, 42, 23, .06) !important;
}

@media (min-width: 900px) {
  body.excursions-page .ex-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 980px !important;
    margin-inline: auto !important;
  }
}

@media (max-width: 640px) {
  body.excursions-page .ex-section#excursion-list {
    padding-top: 14px !important;
  }

  body.excursions-page .ex-filter,
  body.excursions-page .ex-cats,
  body.excursions-page [aria-label="Фильтр прогулок"] {
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    margin-inline: -12px !important;
    padding-inline: 12px !important;
    scrollbar-width: none !important;
  }

  body.excursions-page .ex-filter::-webkit-scrollbar,
  body.excursions-page .ex-cats::-webkit-scrollbar,
  body.excursions-page [aria-label="Фильтр прогулок"]::-webkit-scrollbar {
    display: none !important;
  }

  body.excursions-page .ex-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.excursions-page .ex-card {
    grid-template-rows: 76px 1fr !important;
    border-radius: 7px !important;
  }

  body.excursions-page .ex-card-img {
    height: 76px !important;
  }

  body.excursions-page .ex-card-body {
    padding: 18px 8px 8px !important;
    gap: 3px !important;
  }

  body.excursions-page .ex-card-body::before {
    font-size: 10px !important;
  }

  body.excursions-page .ex-card-body::after {
    top: -70px !important;
    left: 7px !important;
    min-height: 18px !important;
    padding: 0 7px !important;
    border-radius: 4px !important;
    font-size: 8px !important;
  }

  body.excursions-page .ex-card h2 {
    font-size: 14px !important;
    line-height: 1.08 !important;
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
  }

  body.excursions-page .ex-card p {
    min-height: 32px !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
    -webkit-line-clamp: 3 !important;
    line-clamp: 3 !important;
  }

  body.excursions-page .ex-meta {
    grid-template-columns: auto 1fr !important;
    gap: 4px !important;
    min-height: 24px !important;
  }

  body.excursions-page .ex-meta span,
  body.excursions-page .ex-meta strong,
  body.excursions-page .ex-meta a {
    font-size: 9px !important;
  }

  body.excursions-page .ex-meta strong {
    justify-self: end !important;
  }

  body.excursions-page .ex-meta a {
    min-height: 22px !important;
  }
}

/* v253 mobile archive cards: keep the separate mobile markup in the same visual system. */
body.excursions-page .xm-card-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  align-items: stretch !important;
}

body.excursions-page .xm-card {
  --xm-rating: "★ 4,9 (48)";
  --xm-badge: "Исторический Париж";
  --xm-dur: "3 ч.";
  --xm-price: "от 40 €";
  --xm-badge-bg: #075139;
}

body.excursions-page .xm-card:nth-child(2) {
  --xm-rating: "★ 4,9 (42)";
  --xm-badge: "Районы Парижа";
  --xm-dur: "2–2,5 ч.";
}

body.excursions-page .xm-card:nth-child(3) {
  --xm-rating: "★ 4,9 (39)";
  --xm-badge: "Музей";
  --xm-dur: "2,5 ч.";
  --xm-price: "от 45 €";
  --xm-badge-bg: #1f6f99;
}

body.excursions-page .xm-card:nth-child(4) {
  --xm-rating: "★ 4,9 (37)";
  --xm-badge: "Вечерний выпуск";
  --xm-dur: "2,5 ч.";
  --xm-price: "от 45 €";
  --xm-badge-bg: #6b4aa5;
}

body.excursions-page .xm-card:nth-child(5),
body.excursions-page .xm-card:nth-child(6) {
  --xm-rating: "★ 4,9 (45)";
  --xm-badge: "Районы Парижа";
  --xm-dur: "2–2,5 ч.";
  --xm-badge-bg: #d24b35;
}

body.excursions-page .xm-card-link {
  height: 100% !important;
  display: grid !important;
  grid-template-rows: 82px 1fr !important;
  overflow: hidden !important;
  border: 1px solid rgba(214, 190, 160, .82) !important;
  border-radius: 7px !important;
  background: rgba(255,255,255,.94) !important;
  color: #17211d !important;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(58, 42, 23, .06) !important;
}

body.excursions-page .xm-card-img {
  position: relative !important;
  height: 82px !important;
  overflow: hidden !important;
}

body.excursions-page .xm-card-img::before {
  content: var(--xm-badge) !important;
  position: absolute !important;
  z-index: 2 !important;
  top: 6px !important;
  left: 6px !important;
  min-height: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 7px !important;
  border-radius: 4px !important;
  background: var(--xm-badge-bg) !important;
  color: #fff !important;
  font-size: 8px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

body.excursions-page .xm-card-img::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,0) 48%, rgba(0,0,0,.1)) !important;
}

body.excursions-page .xm-card-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

body.excursions-page .xm-card-body {
  display: grid !important;
  grid-template-rows: auto auto 1fr auto !important;
  gap: 3px !important;
  min-height: 172px !important;
  padding: 16px 8px 8px !important;
  background: #fffaf2 !important;
}

body.excursions-page .xm-card-body::before {
  content: var(--xm-rating) !important;
  grid-row: 1 !important;
  color: #17211d !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}

body.excursions-page .xm-card-body::before::first-letter {
  color: #d38716 !important;
}

body.excursions-page .xm-card-title {
  grid-row: 2 !important;
  min-height: 30px !important;
  margin: 0 !important;
  color: #14251e !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
}

body.excursions-page .xm-card-text {
  grid-row: 3 !important;
  min-height: 56px !important;
  margin: 0 !important;
  color: #33463f !important;
  font-size: 9px !important;
  line-height: 1.25 !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 4 !important;
  line-clamp: 4 !important;
}

body.excursions-page .xm-card-text::after {
  content: "◷ " var(--xm-dur) "        " var(--xm-price) !important;
  display: block !important;
  margin-top: 7px !important;
  padding-top: 7px !important;
  border-top: 1px solid rgba(214, 190, 160, .72) !important;
  color: #064b39 !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  white-space: pre !important;
}

body.excursions-page .xm-card-btn {
  grid-row: 4 !important;
  min-height: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 4px !important;
  border: 1px solid rgba(214, 190, 160, .75) !important;
  border-radius: 5px !important;
  background: rgba(255,255,255,.76) !important;
  color: #17211d !important;
  font-size: 9px !important;
  font-weight: 800 !important;
}

/* v254: restore desktop archive placement and polish the real mobile cards. */
@media (min-width: 641px) {
  body.excursions-page .ex-grid {
    max-width: 980px !important;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
    gap: 24px !important;
  }

  body.excursions-page .ex-card {
    min-height: 0 !important;
  }
}

@media (max-width: 640px) {
  body.excursions-page .xm-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  body.excursions-page .xm-card {
    height: auto !important;
    min-height: 0 !important;
  }

  body.excursions-page .xm-card-link {
    grid-template-rows: 92px auto !important;
    min-height: 0 !important;
    border-radius: 8px !important;
    background: #fffdf8 !important;
    box-shadow: 0 8px 18px rgba(42, 31, 20, .08) !important;
  }

  body.excursions-page .xm-card-img {
    height: 92px !important;
  }

  body.excursions-page .xm-card-body {
    position: relative !important;
    grid-template-rows: auto auto auto auto !important;
    min-height: 0 !important;
    padding: 15px 8px 8px !important;
    gap: 4px !important;
    background: #fffdf8 !important;
  }

  body.excursions-page .xm-card-body::before {
    grid-row: 1 !important;
    color: #17211d !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
  }

  body.excursions-page .xm-card-body::after {
    display: none !important;
  }

  body.excursions-page .xm-card .xm-tag {
    display: none !important;
  }

  body.excursions-page .xm-card-title {
    grid-row: 2 !important;
    min-height: 30px !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.08 !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
  }

  body.excursions-page .xm-card-text {
    grid-row: 3 !important;
    min-height: 50px !important;
    font-size: 9.5px !important;
    line-height: 1.23 !important;
    -webkit-line-clamp: 4 !important;
    line-clamp: 4 !important;
  }

  body.excursions-page .xm-card-text::after {
    display: none !important;
  }

  body.excursions-page .xm-meta,
  body.excursions-page .xm-card-meta {
    grid-row: 4 !important;
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    gap: 4px !important;
    min-height: 22px !important;
    margin-top: 4px !important;
    padding-top: 7px !important;
    border-top: 1px solid rgba(214, 190, 160, .72) !important;
    color: #17211d !important;
  }

  body.excursions-page .xm-meta span,
  body.excursions-page .xm-meta strong,
  body.excursions-page .xm-card-meta span,
  body.excursions-page .xm-card-meta strong {
    font-size: 9px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  body.excursions-page .xm-meta span::before,
  body.excursions-page .xm-card-meta span::before {
    content: "◷ " !important;
    font-weight: 800 !important;
  }

  body.excursions-page .xm-meta strong,
  body.excursions-page .xm-card-meta strong {
    justify-self: end !important;
    color: #064b39 !important;
    font-weight: 800 !important;
  }

  body.excursions-page .xm-card-btn {
    grid-row: 5 !important;
    min-height: 23px !important;
    margin-top: 4px !important;
    width: 100% !important;
    border-color: rgba(214, 190, 160, .8) !important;
    background: #fffefa !important;
    font-size: 9px !important;
  }
}

/* v255: compact mobile excursion cards; remove empty space after descriptions. */
@media (max-width: 640px) {
  body.excursions-page .xm-card-link {
    grid-template-rows: 98px auto !important;
  }

  body.excursions-page .xm-card-img {
    height: 98px !important;
  }

  body.excursions-page .xm-card-body {
    grid-template-rows: auto auto auto auto auto !important;
    gap: 3px !important;
    padding: 12px 8px 7px !important;
  }

  body.excursions-page .xm-card-title {
    min-height: 0 !important;
    margin-bottom: 1px !important;
  }

  body.excursions-page .xm-card-text {
    min-height: 0 !important;
    margin-bottom: 2px !important;
    -webkit-line-clamp: 3 !important;
    line-clamp: 3 !important;
  }

  body.excursions-page .xm-meta,
  body.excursions-page .xm-card-meta {
    min-height: 20px !important;
    margin-top: 2px !important;
    padding-top: 6px !important;
  }

  body.excursions-page .xm-card-btn {
    min-height: 22px !important;
    margin-top: 3px !important;
  }
}

/* v256: unified excursion cards across home and related-tour sections. */
.excursions-preview .cards {
  align-items: stretch !important;
}

.excursions-preview .card {
  --tour-rating: "★ 4,9 (48)";
  --tour-badge-bg: #075139;
  position: relative !important;
  display: grid !important;
  grid-template-rows: 150px 1fr !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(214, 190, 160, .82) !important;
  border-radius: 8px !important;
  background: rgba(255, 253, 248, .98) !important;
  box-shadow: 0 10px 24px rgba(58, 42, 23, .08) !important;
}

.excursions-preview .card:nth-child(2) {
  --tour-rating: "★ 4,9 (42)";
  --tour-badge-bg: #d94835;
}

.excursions-preview .card:nth-child(3) {
  --tour-rating: "★ 4,9 (39)";
  --tour-badge-bg: #2c65b7;
}

.excursions-preview .card:nth-child(4) {
  --tour-rating: "★ 4,9 (37)";
  --tour-badge-bg: #6e48a8;
}

.excursions-preview .card > a:first-child {
  position: relative !important;
  display: block !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.excursions-preview .card-img {
  position: relative !important;
  height: 150px !important;
  min-height: 0 !important;
  flex: none !important;
  border-radius: 0 !important;
  background: var(--bg) center / cover no-repeat !important;
  filter: saturate(1.08) contrast(1.02) !important;
}

.excursions-preview .card > a:first-child::before {
  content: "Прогулка" !important;
  position: absolute !important;
  z-index: 3 !important;
  top: 8px !important;
  left: 8px !important;
  min-height: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 9px !important;
  border-radius: 5px !important;
  background: var(--tour-badge-bg) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.18) !important;
}

.excursions-preview .card:nth-child(1) > a:first-child::before { content: "Исторический Париж" !important; }
.excursions-preview .card:nth-child(2) > a:first-child::before { content: "Районы Парижа" !important; }
.excursions-preview .card:nth-child(3) > a:first-child::before { content: "Музей" !important; }
.excursions-preview .card:nth-child(4) > a:first-child::before { content: "Вечерний выпуск" !important; }

.excursions-preview .card > a:first-child::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,0) 48%, rgba(0,0,0,.08)) !important;
  pointer-events: none !important;
}

.excursions-preview .card-body {
  display: grid !important;
  grid-template-rows: auto auto auto auto !important;
  gap: 5px !important;
  min-height: 0 !important;
  padding: 12px 12px 10px !important;
  background: #fffdf8 !important;
}

.excursions-preview .card-body::before {
  content: var(--tour-rating) !important;
  color: #17211d !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}

.excursions-preview .card-body::before::first-letter {
  color: #d28a19 !important;
}

.excursions-preview .card-tag {
  display: none !important;
}

.excursions-preview .card h3 {
  min-height: 0 !important;
  margin: 0 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.07 !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
}

.excursions-preview .card p {
  min-height: 40px !important;
  margin: 0 !important;
  color: #263a32 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
}

.excursions-preview .meta {
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 30px !important;
  margin-top: 3px !important;
  padding-top: 8px !important;
  border-top: 1px solid rgba(214, 190, 160, .72) !important;
  color: #17211d !important;
}

.excursions-preview .meta small::before {
  content: "◷ " !important;
}

.excursions-preview .meta small,
.excursions-preview .meta span {
  color: #17211d !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

.excursions-preview .meta span {
  justify-self: end !important;
  color: #064b39 !important;
}

.excursions-preview .meta a {
  min-height: 26px !important;
  justify-content: center !important;
  padding: 0 10px !important;
  border: 1px solid rgba(214, 190, 160, .8) !important;
  border-radius: 5px !important;
  background: #fffefa !important;
  color: #17211d !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

body.single-excursion .px-other-grid .px-tour-card,
body.single-excursion-fallback .px-other-grid .px-tour-card {
  --tour-rating: "★ 4,9 (48)";
  --tour-badge: "Прогулка";
  --tour-badge-bg: #075139;
  overflow: hidden !important;
  border: 1px solid rgba(214, 190, 160, .82) !important;
  border-radius: 8px !important;
  background: rgba(255, 253, 248, .98) !important;
  box-shadow: 0 10px 24px rgba(58, 42, 23, .08) !important;
}

body.single-excursion .px-other-grid .px-tour-card:nth-child(1),
body.single-excursion-fallback .px-other-grid .px-tour-card:nth-child(1) {
  --tour-badge: "Исторический Париж";
}

body.single-excursion .px-other-grid .px-tour-card:nth-child(2),
body.single-excursion-fallback .px-other-grid .px-tour-card:nth-child(2) {
  --tour-rating: "★ 4,9 (42)";
  --tour-badge: "Районы Парижа";
  --tour-badge-bg: #d94835;
}

body.single-excursion .px-other-grid .px-tour-card:nth-child(3),
body.single-excursion-fallback .px-other-grid .px-tour-card:nth-child(3) {
  --tour-rating: "★ 4,9 (39)";
  --tour-badge: "Музей";
  --tour-badge-bg: #2c65b7;
}

body.single-excursion .px-other-grid .px-tour-card:nth-child(4),
body.single-excursion-fallback .px-other-grid .px-tour-card:nth-child(4) {
  --tour-rating: "★ 4,9 (37)";
  --tour-badge: "Вечерний выпуск";
  --tour-badge-bg: #6e48a8;
}

body.single-excursion .px-other-grid .px-tour-card a,
body.single-excursion-fallback .px-other-grid .px-tour-card a {
  position: relative !important;
  display: grid !important;
  grid-template-rows: 118px auto auto 1fr !important;
  height: 100% !important;
  min-height: 0 !important;
  color: #17211d !important;
  text-decoration: none !important;
}

body.single-excursion .px-other-grid .px-tour-card a *,
body.single-excursion-fallback .px-other-grid .px-tour-card a * {
  text-decoration: none !important;
}

body.single-excursion .px-other-grid .px-tour-card a::before,
body.single-excursion-fallback .px-other-grid .px-tour-card a::before {
  content: var(--tour-badge) !important;
  position: absolute !important;
  z-index: 3 !important;
  top: 8px !important;
  left: 8px !important;
  min-height: 21px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 8px !important;
  border-radius: 5px !important;
  background: var(--tour-badge-bg) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.18) !important;
}

body.single-excursion .px-other-grid .px-tour-card img,
body.single-excursion-fallback .px-other-grid .px-tour-card img {
  display: block !important;
  width: 100% !important;
  height: 118px !important;
  object-fit: cover !important;
  background: #eee8dc !important;
  filter: saturate(1.08) contrast(1.02) !important;
}

body.single-excursion .px-other-grid .px-tour-card h3,
body.single-excursion-fallback .px-other-grid .px-tour-card h3 {
  min-height: 0 !important;
  margin: 12px 12px 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
}

body.single-excursion .px-other-grid .px-tour-card h3::before,
body.single-excursion-fallback .px-other-grid .px-tour-card h3::before {
  content: var(--tour-rating) !important;
  display: block !important;
  margin: 0 0 5px !important;
  color: #17211d !important;
  font-family: Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}

body.single-excursion .px-other-grid .px-tour-card p,
body.single-excursion-fallback .px-other-grid .px-tour-card p {
  min-height: 38px !important;
  margin: 6px 12px 8px !important;
  color: #263a32 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
}

body.single-excursion .px-other-grid .px-tour-card div,
body.single-excursion-fallback .px-other-grid .px-tour-card div {
  min-height: 34px !important;
  margin: 0 12px 10px !important;
  padding-top: 8px !important;
  border-top: 1px solid rgba(214, 190, 160, .72) !important;
  color: #17211d !important;
}

body.single-excursion .px-other-grid .px-tour-card div b::before,
body.single-excursion-fallback .px-other-grid .px-tour-card div b::before {
  content: "◷ " !important;
}

body.single-excursion .px-other-grid .px-tour-card div b,
body.single-excursion-fallback .px-other-grid .px-tour-card div b,
body.single-excursion .px-other-grid .px-tour-card div strong,
body.single-excursion-fallback .px-other-grid .px-tour-card div strong {
  font-size: 12px !important;
  font-weight: 800 !important;
}

body.single-excursion .px-other-grid .px-tour-card div strong,
body.single-excursion-fallback .px-other-grid .px-tour-card div strong {
  color: #064b39 !important;
}

body.single-excursion .px-other-grid .px-tour-card div em,
body.single-excursion-fallback .px-other-grid .px-tour-card div em {
  min-height: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 10px !important;
  border: 1px solid rgba(214, 190, 160, .8) !important;
  border-radius: 5px !important;
  background: #fffefa !important;
  color: #17211d !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

@media (max-width: 640px) {
  .excursions-preview .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .excursions-preview .card {
    grid-template-rows: 98px auto !important;
    min-height: 0 !important;
  }

  .excursions-preview .card-img {
    height: 98px !important;
  }

  .excursions-preview .card-body {
    gap: 3px !important;
    padding: 12px 8px 7px !important;
  }

  .excursions-preview .card h3 {
    font-size: 14px !important;
    line-height: 1.08 !important;
  }

  .excursions-preview .card p {
    min-height: 0 !important;
    margin-bottom: 2px !important;
    font-size: 9.5px !important;
    line-height: 1.23 !important;
    -webkit-line-clamp: 3 !important;
    line-clamp: 3 !important;
  }

  .excursions-preview .meta {
    grid-template-columns: auto 1fr !important;
    min-height: 20px !important;
    margin-top: 2px !important;
    padding-top: 6px !important;
  }

  .excursions-preview .meta a {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 22px !important;
    margin-top: 3px !important;
    font-size: 9px !important;
  }

  .mobile-home-v2 .mv2-tour,
  .mhome-tour-card {
    position: relative !important;
    display: grid !important;
    grid-template-rows: 98px auto !important;
    overflow: hidden !important;
    border: 1px solid rgba(214, 190, 160, .82) !important;
    border-radius: 8px !important;
    background: #fffdf8 !important;
    box-shadow: 0 8px 18px rgba(42, 31, 20, .08) !important;
  }

  .mobile-home-v2 .mv2-tour-img,
  .mhome-tour-img {
    position: relative !important;
    height: 98px !important;
    min-height: 0 !important;
    border-radius: 0 !important;
    background: var(--bg) center / cover no-repeat !important;
    filter: saturate(1.08) contrast(1.02) !important;
  }

  .mobile-home-v2 .mv2-tour-img span {
    display: none !important;
  }

  .mobile-home-v2 .mv2-tour-img::before,
  .mhome-tour-img::before {
    content: "Прогулка" !important;
    position: absolute !important;
    z-index: 2 !important;
    top: 6px !important;
    left: 6px !important;
    min-height: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 7px !important;
    border-radius: 4px !important;
    background: #075139 !important;
    color: #fff !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
  }

  .mobile-home-v2 .mv2-tour:nth-child(2) .mv2-tour-img::before,
  .mhome-tour-card:nth-child(2) .mhome-tour-img::before {
    content: "Районы Парижа" !important;
    background: #d94835 !important;
  }

  .mobile-home-v2 .mv2-tour:nth-child(3) .mv2-tour-img::before,
  .mhome-tour-card:nth-child(3) .mhome-tour-img::before {
    content: "Музей" !important;
    background: #2c65b7 !important;
  }

  .mobile-home-v2 .mv2-tour:nth-child(4) .mv2-tour-img::before,
  .mhome-tour-card:nth-child(4) .mhome-tour-img::before {
    content: "Вечерний выпуск" !important;
    background: #6e48a8 !important;
  }

  .mobile-home-v2 .mv2-tour-body,
  .mhome-tour-body {
    display: grid !important;
    grid-template-rows: auto auto auto auto !important;
    gap: 3px !important;
    padding: 12px 8px 7px !important;
    background: #fffdf8 !important;
  }

  .mobile-home-v2 .mv2-tour-body::before,
  .mhome-tour-body::before {
    content: "★ 4,9" !important;
    color: #17211d !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
  }

  .mobile-home-v2 .mv2-tour-body h3,
  .mhome-tour-body h3 {
    margin: 0 !important;
    color: #14251e !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.08 !important;
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
  }

  .mobile-home-v2 .mv2-tour-body p,
  .mhome-tour-body p {
    min-height: 0 !important;
    margin: 0 0 2px !important;
    color: #33463f !important;
    font-size: 9.5px !important;
    line-height: 1.23 !important;
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    line-clamp: 3 !important;
  }

  .mobile-home-v2 .mv2-tour-meta,
  .mhome-tour-body div {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    gap: 4px !important;
    min-height: 20px !important;
    margin-top: 2px !important;
    padding-top: 6px !important;
    border-top: 1px solid rgba(214, 190, 160, .72) !important;
  }

  .mobile-home-v2 .mv2-tour-meta span,
  .mobile-home-v2 .mv2-tour-meta strong,
  .mhome-tour-body div span,
  .mhome-tour-body div strong {
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  .mobile-home-v2 .mv2-tour-meta strong,
  .mhome-tour-body div strong {
    justify-self: end !important;
    color: #064b39 !important;
  }

  body.single-excursion .px-other-grid .px-tour-card a,
  body.single-excursion-fallback .px-other-grid .px-tour-card a {
    grid-template-rows: 98px auto auto auto !important;
  }

  body.single-excursion .px-other-grid .px-tour-card img,
  body.single-excursion-fallback .px-other-grid .px-tour-card img {
    height: 98px !important;
  }

  body.single-excursion .px-other-grid .px-tour-card h3,
  body.single-excursion-fallback .px-other-grid .px-tour-card h3 {
    margin: 10px 8px 0 !important;
    font-size: 14px !important;
  }

  body.single-excursion .px-other-grid .px-tour-card p,
  body.single-excursion-fallback .px-other-grid .px-tour-card p {
    min-height: 0 !important;
    margin: 5px 8px 7px !important;
    font-size: 9.5px !important;
    line-height: 1.23 !important;
    -webkit-line-clamp: 3 !important;
    line-clamp: 3 !important;
  }

  body.single-excursion .px-other-grid .px-tour-card div,
  body.single-excursion-fallback .px-other-grid .px-tour-card div {
    min-height: 20px !important;
    margin: 0 8px 7px !important;
    padding-top: 6px !important;
  }

  body.single-excursion .px-other-grid .px-tour-card div em,
  body.single-excursion-fallback .px-other-grid .px-tour-card div em {
    width: 100% !important;
    min-height: 22px !important;
    margin-top: 3px !important;
    font-size: 9px !important;
  }
}

/* v257: assign excursion-card badges by destination, not by card position. */
.excursions-preview .card:has(a[href*="/historic-center/"]) > a:first-child::before,
.mobile-home-v2 .mv2-tour[href*="/historic-center/"] .mv2-tour-img::before,
.mhome-tour-card[href*="/historic-center/"] .mhome-tour-img::before,
body.single-excursion .px-other-grid .px-tour-card:has(a[href*="/historic-center/"]) a::before,
body.single-excursion-fallback .px-other-grid .px-tour-card:has(a[href*="/historic-center/"]) a::before {
  content: "Исторический Париж" !important;
  background: #075139 !important;
}

.excursions-preview .card:has(a[href*="/montmartre/"]) > a:first-child::before,
.excursions-preview .card:has(a[href*="/latin-quarter/"]) > a:first-child::before,
.excursions-preview .card:has(a[href*="/marais/"]) > a:first-child::before,
.excursions-preview .card:has(a[href*="/saint-germain/"]) > a:first-child::before,
.mobile-home-v2 .mv2-tour[href*="/montmartre/"] .mv2-tour-img::before,
.mhome-tour-card[href*="/montmartre/"] .mhome-tour-img::before,
body.single-excursion .px-other-grid .px-tour-card:has(a[href*="/montmartre/"]) a::before,
body.single-excursion .px-other-grid .px-tour-card:has(a[href*="/latin-quarter/"]) a::before,
body.single-excursion .px-other-grid .px-tour-card:has(a[href*="/marais/"]) a::before,
body.single-excursion .px-other-grid .px-tour-card:has(a[href*="/saint-germain/"]) a::before,
body.single-excursion-fallback .px-other-grid .px-tour-card:has(a[href*="/montmartre/"]) a::before,
body.single-excursion-fallback .px-other-grid .px-tour-card:has(a[href*="/latin-quarter/"]) a::before,
body.single-excursion-fallback .px-other-grid .px-tour-card:has(a[href*="/marais/"]) a::before,
body.single-excursion-fallback .px-other-grid .px-tour-card:has(a[href*="/saint-germain/"]) a::before {
  content: "Районы Парижа" !important;
  background: #d94835 !important;
}

.excursions-preview .card:has(a[href*="/louvre/"]) > a:first-child::before,
.mobile-home-v2 .mv2-tour[href*="/louvre/"] .mv2-tour-img::before,
.mhome-tour-card[href*="/louvre/"] .mhome-tour-img::before,
body.single-excursion .px-other-grid .px-tour-card:has(a[href*="/louvre/"]) a::before,
body.single-excursion-fallback .px-other-grid .px-tour-card:has(a[href*="/louvre/"]) a::before {
  content: "Музей" !important;
  background: #2c65b7 !important;
}

.excursions-preview .card:has(a[href*="/night-paris/"]) > a:first-child::before,
.mobile-home-v2 .mv2-tour[href*="/night-paris/"] .mv2-tour-img::before,
.mhome-tour-card[href*="/night-paris/"] .mhome-tour-img::before,
body.single-excursion .px-other-grid .px-tour-card:has(a[href*="/night-paris/"]) a::before,
body.single-excursion-fallback .px-other-grid .px-tour-card:has(a[href*="/night-paris/"]) a::before {
  content: "Вечерний выпуск" !important;
  background: #6e48a8 !important;
}

.excursions-preview .card:has(a[href*="/overview-walk/"]) > a:first-child::before,
.excursions-preview .card:has(a[href*="/paris-overview/"]) > a:first-child::before,
.mobile-home-v2 .mv2-tour[href*="/overview-walk/"] .mv2-tour-img::before,
.mobile-home-v2 .mv2-tour[href*="/paris-overview/"] .mv2-tour-img::before,
.mhome-tour-card[href*="/overview-walk/"] .mhome-tour-img::before,
.mhome-tour-card[href*="/paris-overview/"] .mhome-tour-img::before,
body.single-excursion .px-other-grid .px-tour-card:has(a[href*="/overview-walk/"]) a::before,
body.single-excursion .px-other-grid .px-tour-card:has(a[href*="/paris-overview/"]) a::before,
body.single-excursion-fallback .px-other-grid .px-tour-card:has(a[href*="/overview-walk/"]) a::before,
body.single-excursion-fallback .px-other-grid .px-tour-card:has(a[href*="/paris-overview/"]) a::before {
  content: "Первое знакомство" !important;
  background: #0b6a4f !important;
}

/* v258: fit two mobile home excursion cards and add a visual details button. */
@media (max-width: 640px) {
  .mobile-home-v2 .mv2-tour-row {
    --home-tour-gap: 10px;
    gap: var(--home-tour-gap) !important;
    padding-inline: 16px !important;
    scroll-padding-inline: 16px !important;
  }

  .mobile-home-v2 .mv2-tour {
    width: calc((100vw - 42px) / 2) !important;
    min-width: calc((100vw - 42px) / 2) !important;
    max-width: 194px !important;
    flex: 0 0 calc((100vw - 42px) / 2) !important;
    grid-template-rows: 98px auto !important;
  }

  .mobile-home-v2 .mv2-tour-body {
    grid-template-rows: auto auto auto auto auto !important;
    min-height: 0 !important;
  }

  .mobile-home-v2 .mv2-tour-meta {
    margin-bottom: 3px !important;
  }

  .mobile-home-v2 .mv2-tour::after {
    content: "Подробнее" !important;
    min-height: 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: -30px 8px 7px !important;
    border: 1px solid rgba(214, 190, 160, .8) !important;
    border-radius: 5px !important;
    background: #fffefa !important;
    color: #17211d !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    pointer-events: none !important;
  }
}

@media (max-width: 380px) {
  .mobile-home-v2 .mv2-tour-row {
    gap: 8px !important;
    padding-inline: 14px !important;
    scroll-padding-inline: 14px !important;
  }

  .mobile-home-v2 .mv2-tour {
    width: calc((100vw - 36px) / 2) !important;
    min-width: calc((100vw - 36px) / 2) !important;
    flex-basis: calc((100vw - 36px) / 2) !important;
  }
}

/* v259: center the two visible mobile home excursion cards in the carousel viewport. */
@media (max-width: 640px) {
  .mobile-home-v2 .mv2-tour-row {
    padding-inline: 0 !important;
    scroll-padding-inline: 0 !important;
  }
}

@media (max-width: 380px) {
  .mobile-home-v2 .mv2-tour-row {
    padding-inline: 0 !important;
    scroll-padding-inline: 0 !important;
  }
}

/* v260: keep time and price visible in mobile home excursion cards. */
@media (max-width: 640px) {
  .mobile-home-v2 .mv2-tour {
    grid-template-rows: 100px auto auto !important;
  }

  .mobile-home-v2 .mv2-tour-body {
    padding-bottom: 2px !important;
  }

  .mobile-home-v2 .mv2-tour-meta {
    min-height: 20px !important;
    margin-top: 3px !important;
    margin-bottom: 0 !important;
    padding-top: 6px !important;
  }

  .mobile-home-v2 .mv2-tour::after {
    margin: 4px 8px 7px !important;
  }
}

/* v261: show review counts in unified excursion cards. */
.excursions-preview .card {
  --tour-rating: "4,9 ★ 48 отзывов";
}

.excursions-preview .card:nth-child(2) {
  --tour-rating: "4,9 ★ 42 отзыва";
}

.excursions-preview .card:nth-child(3) {
  --tour-rating: "4,9 ★ 39 отзывов";
}

.excursions-preview .card:nth-child(4) {
  --tour-rating: "4,9 ★ 37 отзывов";
}

.excursions-preview .card-body::before {
  color: #c57a1a !important;
  letter-spacing: 0 !important;
}

body.excursions-page .xm-card {
  --xm-rating: "4,9 ★ 48 отзывов";
}

body.excursions-page .xm-card:nth-child(2) {
  --xm-rating: "4,9 ★ 42 отзыва";
}

body.excursions-page .xm-card:nth-child(3) {
  --xm-rating: "4,9 ★ 39 отзывов";
}

body.excursions-page .xm-card:nth-child(4) {
  --xm-rating: "4,9 ★ 37 отзывов";
}

body.excursions-page .xm-card:nth-child(5),
body.excursions-page .xm-card:nth-child(6) {
  --xm-rating: "4,9 ★ 45 отзывов";
}

body.excursions-page .xm-card-body::before {
  color: #c57a1a !important;
  letter-spacing: 0 !important;
}

body.single-excursion .px-other-grid .px-tour-card,
body.single-excursion-fallback .px-other-grid .px-tour-card {
  --tour-rating: "4,9 ★ 48 отзывов";
}

body.single-excursion .px-other-grid .px-tour-card:nth-child(2),
body.single-excursion-fallback .px-other-grid .px-tour-card:nth-child(2) {
  --tour-rating: "4,9 ★ 42 отзыва";
}

body.single-excursion .px-other-grid .px-tour-card:nth-child(3),
body.single-excursion-fallback .px-other-grid .px-tour-card:nth-child(3) {
  --tour-rating: "4,9 ★ 39 отзывов";
}

body.single-excursion .px-other-grid .px-tour-card:nth-child(4),
body.single-excursion-fallback .px-other-grid .px-tour-card:nth-child(4) {
  --tour-rating: "4,9 ★ 37 отзывов";
}

body.single-excursion .px-other-grid .px-tour-card h3::before,
body.single-excursion-fallback .px-other-grid .px-tour-card h3::before {
  color: #c57a1a !important;
  letter-spacing: 0 !important;
}

@media (max-width: 640px) {
  .mobile-home-v2 .mv2-tour-body::before,
  .mhome-tour-body::before {
    content: "4,9 ★ 48 отзывов" !important;
    color: #c57a1a !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  .mobile-home-v2 .mv2-tour:nth-child(2) .mv2-tour-body::before,
  .mhome-tour-card:nth-child(2) .mhome-tour-body::before {
    content: "4,9 ★ 42 отзыва" !important;
  }

  .mobile-home-v2 .mv2-tour:nth-child(3) .mv2-tour-body::before,
  .mhome-tour-card:nth-child(3) .mhome-tour-body::before {
    content: "4,9 ★ 39 отзывов" !important;
  }

  .mobile-home-v2 .mv2-tour:nth-child(4) .mv2-tour-body::before,
  .mhome-tour-card:nth-child(4) .mhome-tour-body::before {
    content: "4,9 ★ 37 отзывов" !important;
  }
}

/* v262: reviews page live redesign, scoped to the reviews archive */
body.reviews-page {
  background:
    radial-gradient(circle at 50% 0%, rgba(230, 209, 174, .18), transparent 420px),
    linear-gradient(90deg, #f6fbfc 0, #fffdf8 12%, #fffaf2 50%, #fffdf8 88%, #f6fbfc 100%);
}

body.reviews-page main.reviews-page {
  --review-ink: #14211e;
  --review-green: #064735;
  --review-gold: #d99631;
  --review-muted: #71807a;
  --review-line: #ead9c4;
  --review-soft: #fff9f1;
  background: transparent;
  color: var(--review-ink);
}

body.reviews-page .reviews-wrap {
  width: min(760px, calc(100% - 32px));
}

body.reviews-page .reviews-hero {
  width: min(760px, calc(100% - 32px));
  min-height: 355px;
  margin: 14px auto 10px;
  border: 1px solid rgba(210, 173, 130, .62);
  border-radius: 8px;
  overflow: hidden;
  align-items: flex-end;
  background-position: center 44%;
  box-shadow: 0 22px 44px rgba(49, 31, 15, .1);
}

body.reviews-page .reviews-hero__shade {
  background:
    linear-gradient(90deg, rgba(12, 31, 24, .7) 0%, rgba(12, 31, 24, .5) 42%, rgba(12, 31, 24, .05) 100%),
    linear-gradient(0deg, rgba(0, 0, 0, .46) 0%, rgba(0, 0, 0, .05) 58%);
}

body.reviews-page .reviews-hero__content {
  position: relative;
  width: 100%;
  padding: 64px 44px 34px;
  color: #fff;
}

body.reviews-page .reviews-hero h1 {
  max-width: 430px;
  margin: 0 0 12px;
  font-size: clamp(46px, 7vw, 68px);
  line-height: .92;
  text-shadow: 0 3px 14px rgba(0, 0, 0, .35);
}

body.reviews-page .reviews-hero p {
  max-width: 430px;
  margin: 0 0 20px;
  font-size: 19px;
  line-height: 1.28;
  font-weight: 650;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .45);
}

body.reviews-page .reviews-hero__content::after {
  content: "Нам доверились\Aболее 300 гостей";
  display: inline-flex;
  min-height: 58px;
  align-items: center;
  padding-left: 118px;
  white-space: pre-line;
  font-weight: 800;
  line-height: 1.16;
  color: #fff;
  background:
    radial-gradient(circle at 22px 29px, #f8d5c7 0 21px, #fff 22px 24px, transparent 25px),
    radial-gradient(circle at 48px 29px, #d0e1d6 0 21px, #fff 22px 24px, transparent 25px),
    radial-gradient(circle at 74px 29px, #eed0b4 0 21px, #fff 22px 24px, transparent 25px),
    radial-gradient(circle at 100px 29px, #d7eef2 0 21px, #fff 22px 24px, transparent 25px);
  text-shadow: 0 2px 10px rgba(0, 0, 0, .45);
}

body.reviews-page .reviews-hero__actions {
  display: none;
}

body.reviews-page .reviews-stats {
  width: min(760px, calc(100% - 32px));
  margin: 0 auto 28px;
  padding: 0;
  border: 1px solid rgba(210, 173, 130, .62);
  border-radius: 8px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 24px 48px rgba(49, 31, 15, .08);
  overflow: hidden;
}

body.reviews-page .reviews-stats__grid {
  position: relative;
  width: 100%;
  min-height: 224px;
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  gap: 0;
  padding: 28px 34px;
}

body.reviews-page .reviews-stats__grid > div {
  display: none;
}

body.reviews-page .reviews-stats__grid::before {
  content: "5,0\A★★★★★\A84 отзыва\A✓  Отзывы после посещения";
  white-space: pre-line;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: 34px;
  border-right: 1px solid var(--review-line);
  font-weight: 800;
  line-height: 1.25;
  color: var(--review-ink);
}

body.reviews-page .reviews-stats__grid::after {
  content: "5 ★  █████████████████  81\A4 ★  ██                 3\A3 ★                     0\A2 ★                     0\A1 ★                     0\A\AОставить отзыв";
  white-space: pre;
  display: flex;
  align-items: center;
  padding-left: 42px;
  font: 800 17px/1.65 Inter, system-ui, sans-serif;
  color: var(--review-ink);
}

body.reviews-page .reviews-stats__grid::before {
  font-size: 18px;
}

body.reviews-page .reviews-stats__grid::before::first-line {
  font-family: Georgia, "Times New Roman", serif;
}

body.reviews-page .reviews-featured {
  display: none;
}

body.reviews-page .reviews-section {
  padding: 0 0 22px;
}

body.reviews-page .reviews-list .reviews-wrap {
  position: relative;
}

body.reviews-page .reviews-title-row {
  align-items: center;
  margin-bottom: 16px;
}

body.reviews-page .reviews-title-row h2 {
  margin: 0;
  color: var(--review-green);
  font-size: clamp(40px, 7vw, 58px);
  line-height: 1;
}

body.reviews-page .reviews-title-row a,
body.reviews-page .reviews-more-mobile {
  display: none;
}

body.reviews-page .reviews-title-row::after {
  content: "Сначала новые⌄";
  min-height: 46px;
  padding: 0 22px;
  border: 1px solid #d8b98f;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .9);
  color: #28342f;
  font-weight: 800;
  box-shadow: 0 8px 20px rgba(48, 32, 17, .04);
}

body.reviews-page .reviews-filter {
  gap: 12px;
  padding: 0 0 18px;
  overflow-x: auto;
  scrollbar-width: none;
}

body.reviews-page .reviews-filter::-webkit-scrollbar {
  display: none;
}

body.reviews-page .reviews-filter button {
  min-width: max-content;
  height: 44px;
  padding: 0 24px;
  border-color: #dac8b2;
  border-radius: 999px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 7px 18px rgba(37, 25, 13, .04);
}

body.reviews-page .reviews-filter .is-active {
  border-color: var(--review-green);
  background: var(--review-green);
  color: #fff;
}

body.reviews-page .reviews-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

body.reviews-page .reviews-card {
  position: relative;
  min-height: 0;
  padding: 22px 22px 18px 132px;
  border: 1px solid rgba(210, 173, 130, .55);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(255, 251, 245, .92));
  box-shadow: 0 18px 42px rgba(42, 25, 9, .07);
  overflow: hidden;
}

body.reviews-page .reviews-card__top {
  display: block;
  margin: 0 0 10px;
}

body.reviews-page .reviews-card__top img {
  position: absolute;
  top: 22px;
  left: 22px;
  width: 78px;
  height: 78px;
  border: 3px solid #fff;
  box-shadow: 0 10px 22px rgba(20, 33, 30, .13);
}

body.reviews-page .reviews-card__top strong {
  display: inline;
  margin-right: 6px;
  color: #1d2a26;
  font-size: 18px;
  line-height: 1.2;
}

body.reviews-page .reviews-card__top span {
  display: inline;
  color: var(--review-muted);
  font-size: 15px;
}

body.reviews-page .reviews-card__top time {
  display: block;
  margin-top: 4px;
  color: #8f9995;
  font-size: 14px;
  white-space: normal;
}

body.reviews-page .reviews-stars {
  margin: 10px 0 9px;
  color: var(--review-gold);
  font-size: 21px;
  letter-spacing: 2px;
  text-shadow: none;
}

body.reviews-page .reviews-card p {
  max-width: 540px;
  margin: 0 0 14px;
  color: #1d2a26;
  font-size: 18px;
  line-height: 1.46;
}

body.reviews-page .reviews-card > a {
  position: absolute;
  top: 20px;
  right: 20px;
  margin: 0;
  padding: 8px 14px;
  border-radius: 8px;
  background: #fff1df;
  color: #c96f13;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
}

body.reviews-page .reviews-card::after {
  content: "♡  Полезно · 6        ✓  Были на прогулке";
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-top: 12px;
  padding-top: 13px;
  border-top: 1px solid #efdfca;
  color: #51615b;
  font-weight: 750;
}

body.reviews-page .reviews-card:nth-child(1) p::after {
  content: "";
  display: block;
  height: 132px;
  margin-top: 14px;
  border-radius: 8px;
  background:
    url("/wp-content/themes/paris-peshkom-v65-editable/assets/images/review/review-hero-v94.png") left center / calc(50% - 5px) 100% no-repeat,
    url("/wp-content/themes/paris-peshkom-v65-editable/assets/images/review/google-card-v94.png") right center / calc(50% - 5px) 100% no-repeat;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3);
}

body.reviews-page .reviews-card:nth-child(2) p::after {
  content: "Ответ Владимира\AСпасибо вам за тёплые слова! Был рад показать вам наш любимый Париж. До новых встреч!";
  display: block;
  margin-top: 16px;
  padding: 16px 18px 16px 72px;
  border-radius: 8px;
  white-space: pre-line;
  background:
    radial-gradient(circle at 34px 34px, #cfe7db 0 24px, transparent 25px),
    linear-gradient(120deg, #eef8f2, #f8fbf7);
  color: #3e4b46;
  font-size: 15px;
  line-height: 1.45;
}

body.reviews-page .reviews-load {
  width: 100%;
  height: 54px;
  margin-top: 18px;
  border-color: var(--review-gold);
  border-radius: 8px;
  background: rgba(255, 255, 255, .72);
  color: #c47418;
  font-size: 17px;
}

@media (min-width: 900px) {
  body.reviews-page .reviews-wrap,
  body.reviews-page .reviews-hero,
  body.reviews-page .reviews-stats {
    width: min(900px, calc(100% - 80px));
  }

  body.reviews-page .reviews-card {
    padding-right: 34px;
  }
}

@media (max-width: 760px) {
  body.reviews-page .reviews-wrap,
  body.reviews-page .reviews-hero,
  body.reviews-page .reviews-stats {
    width: calc(100% - 28px);
  }

  body.reviews-page .reviews-hero {
    min-height: 270px;
    margin-top: 10px;
    border-radius: 7px;
    background-position: 58% center;
  }

  body.reviews-page .reviews-hero__content {
    padding: 42px 36px 22px;
  }

  body.reviews-page .reviews-hero h1 {
    max-width: 300px;
    font-size: 42px;
  }

  body.reviews-page .reviews-hero p {
    max-width: 300px;
    font-size: 18px;
  }

  body.reviews-page .reviews-hero__content::after {
    min-height: 48px;
    padding-left: 98px;
    font-size: 14px;
    background:
      radial-gradient(circle at 18px 24px, #f8d5c7 0 18px, #fff 19px 21px, transparent 22px),
      radial-gradient(circle at 40px 24px, #d0e1d6 0 18px, #fff 19px 21px, transparent 22px),
      radial-gradient(circle at 62px 24px, #eed0b4 0 18px, #fff 19px 21px, transparent 22px),
      radial-gradient(circle at 84px 24px, #d7eef2 0 18px, #fff 19px 21px, transparent 22px);
  }

  body.reviews-page .reviews-stats {
    margin-bottom: 24px;
  }

  body.reviews-page .reviews-stats__grid {
    min-height: 220px;
    grid-template-columns: 1fr 1.08fr;
    padding: 18px;
  }

  body.reviews-page .reviews-stats__grid::before {
    padding-right: 18px;
    font-size: 15px;
  }

  body.reviews-page .reviews-stats__grid::after {
    padding-left: 18px;
    font-size: 13px;
    line-height: 1.76;
  }

  body.reviews-page .reviews-title-row {
    align-items: flex-end;
    gap: 10px;
  }

  body.reviews-page .reviews-title-row h2 {
    font-size: 40px;
  }

  body.reviews-page .reviews-title-row::after {
    min-height: 42px;
    padding: 0 14px;
    font-size: 14px;
    white-space: nowrap;
  }

  body.reviews-page .reviews-cards {
    display: grid;
    grid-auto-flow: row;
    grid-auto-columns: unset;
    grid-template-columns: 1fr;
    overflow: visible;
    gap: 14px;
    padding: 0;
    scroll-snap-type: none;
  }

  body.reviews-page .reviews-card {
    padding: 18px 16px 15px 100px;
    border-radius: 8px;
    scroll-snap-align: none;
  }

  body.reviews-page .reviews-card__top img {
    top: 18px;
    left: 16px;
    width: 66px;
    height: 66px;
  }

  body.reviews-page .reviews-card__top strong {
    font-size: 16px;
  }

  body.reviews-page .reviews-card__top span,
  body.reviews-page .reviews-card__top time {
    font-size: 13px;
  }

  body.reviews-page .reviews-card > a {
    position: static;
    display: inline-flex;
    width: max-content;
    margin: 2px 0 4px;
    padding: 7px 11px;
    font-size: 13px;
  }

  body.reviews-page .reviews-card p {
    margin-top: 8px;
    font-size: 16px;
  }

  body.reviews-page .reviews-card:nth-child(1) p::after {
    height: 118px;
  }

  body.reviews-page .reviews-card::after {
    margin-left: -84px;
    font-size: 13px;
  }
}

@media (max-width: 420px) {
  body.reviews-page .reviews-stats__grid {
    grid-template-columns: 1fr;
  }

  body.reviews-page .reviews-stats__grid::before {
    padding: 0 0 18px;
    border-right: 0;
    border-bottom: 1px solid var(--review-line);
  }

  body.reviews-page .reviews-stats__grid::after {
    padding: 18px 0 0;
  }

  body.reviews-page .reviews-card {
    padding-left: 92px;
  }
}

/* v263: refine the reviews rating summary after live visual QA. */
body.reviews-page .reviews-stats__grid > div {
  display: none !important;
}

body.reviews-page .reviews-stats__grid {
  min-height: 220px !important;
  grid-template-columns: .88fr 1.12fr !important;
  align-items: stretch !important;
}

body.reviews-page .reviews-stats__grid::before {
  content: "5,0\A★ ★ ★ ★ ★\A84 отзыва\A✓  Отзывы после посещения" !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  padding: 0 34px 0 0 !important;
  border-right: 1px solid var(--review-line) !important;
  white-space: pre-line !important;
  color: var(--review-green) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 34px !important;
  font-weight: 700 !important;
  line-height: 1.24 !important;
}

body.reviews-page .reviews-stats__grid::after {
  content: "5 ★    81\A4 ★     3\A3 ★     0\A2 ★     0\A1 ★     0\A\AОставить отзыв" !important;
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
  padding: 0 0 0 42px !important;
  white-space: pre-line !important;
  color: var(--review-ink) !important;
  font: 800 18px/1.62 Inter, Arial, sans-serif !important;
}

@media (max-width: 760px) {
  body.reviews-page .reviews-stats__grid {
    grid-template-columns: 1fr 1fr !important;
    min-height: 210px !important;
    padding: 20px !important;
  }

  body.reviews-page .reviews-stats__grid::before {
    padding-right: 18px !important;
    font-size: 24px !important;
    line-height: 1.28 !important;
  }

  body.reviews-page .reviews-stats__grid::after {
    padding-left: 18px !important;
    font-size: 14px !important;
    line-height: 1.72 !important;
  }
}

@media (max-width: 420px) {
  body.reviews-page .reviews-stats__grid {
    grid-template-columns: 1fr !important;
  }

  body.reviews-page .reviews-stats__grid::before {
    padding: 0 0 18px !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--review-line) !important;
  }

  body.reviews-page .reviews-stats__grid::after {
    padding: 18px 0 0 !important;
  }
}

/* v264: separate desktop/mobile reviews layouts and remove overlapping faux summary. */
body.reviews-page .reviews-stats__grid::before,
body.reviews-page .reviews-stats__grid::after {
  content: none !important;
  display: none !important;
}

body.reviews-page .reviews-stats__grid > div {
  display: grid !important;
}

body.reviews-page .reviews-stats {
  width: min(1120px, calc(100% - 48px)) !important;
  margin: 18px auto 42px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.reviews-page .reviews-stats__grid {
  width: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  padding: 0 !important;
}

body.reviews-page .reviews-stats__grid > div {
  min-height: 122px !important;
  grid-template-columns: 46px 1fr !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  column-gap: 14px !important;
  padding: 22px !important;
  border: 1px solid rgba(210, 173, 130, .55) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .9) !important;
  box-shadow: 0 16px 34px rgba(42, 25, 9, .06) !important;
}

body.reviews-page .reviews-stats svg {
  width: 40px !important;
  height: 40px !important;
  color: var(--review-gold) !important;
}

body.reviews-page .reviews-stats strong {
  color: var(--review-green) !important;
  font-size: 34px !important;
}

body.reviews-page .reviews-stats span {
  color: #48564f !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

@media (min-width: 861px) {
  body.reviews-page .reviews-wrap {
    width: min(1120px, calc(100% - 64px)) !important;
  }

  body.reviews-page .reviews-hero {
    width: min(1120px, calc(100% - 64px)) !important;
    min-height: 420px !important;
    margin-top: 18px !important;
  }

  body.reviews-page .reviews-hero__content {
    padding: 78px 70px 44px !important;
  }

  body.reviews-page .reviews-hero h1 {
    max-width: 560px !important;
    font-size: clamp(54px, 5vw, 78px) !important;
  }

  body.reviews-page .reviews-hero p {
    max-width: 520px !important;
    font-size: 20px !important;
  }

  body.reviews-page .reviews-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }

  body.reviews-page .reviews-card {
    min-height: 308px !important;
    padding: 24px 22px 18px 118px !important;
  }

  body.reviews-page .reviews-card:nth-child(1) {
    grid-column: span 2 !important;
    min-height: 360px !important;
    padding-right: 34px !important;
  }

  body.reviews-page .reviews-card:nth-child(1) p {
    max-width: 760px !important;
  }

  body.reviews-page .reviews-card:nth-child(1) p::after {
    max-width: 560px !important;
  }

  body.reviews-page .reviews-card::after {
    margin-top: auto !important;
  }

  body.reviews-page .reviews-panels__grid,
  body.reviews-page .reviews-gallery__rail,
  body.reviews-page .reviews-team__card,
  body.reviews-page .reviews-final article {
    max-width: 1120px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 860px) {
  body.reviews-page .reviews-wrap,
  body.reviews-page .reviews-hero,
  body.reviews-page .reviews-stats {
    width: calc(100% - 28px) !important;
  }

  body.reviews-page .reviews-hero {
    min-height: 300px !important;
  }

  body.reviews-page .reviews-hero__content {
    padding: 42px 26px 22px !important;
  }

  body.reviews-page .reviews-hero h1 {
    max-width: 330px !important;
    font-size: clamp(38px, 10vw, 48px) !important;
  }

  body.reviews-page .reviews-hero p {
    max-width: 310px !important;
    font-size: 16px !important;
  }

  body.reviews-page .reviews-stats {
    margin: 14px auto 28px !important;
  }

  body.reviews-page .reviews-stats__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.reviews-page .reviews-stats__grid > div {
    min-height: 96px !important;
    grid-template-columns: 34px 1fr !important;
    padding: 14px 12px !important;
  }

  body.reviews-page .reviews-stats svg {
    width: 32px !important;
    height: 32px !important;
  }

  body.reviews-page .reviews-stats strong {
    font-size: 25px !important;
  }

  body.reviews-page .reviews-stats span {
    font-size: 12px !important;
  }

  body.reviews-page .reviews-title-row {
    align-items: flex-start !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
  }

  body.reviews-page .reviews-title-row h2 {
    font-size: 38px !important;
  }

  body.reviews-page .reviews-title-row::after {
    min-height: 38px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
  }

  body.reviews-page .reviews-cards {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    overflow: visible !important;
  }

  body.reviews-page .reviews-card {
    width: 100% !important;
    min-height: 0 !important;
    padding: 18px 16px 15px 96px !important;
  }

  body.reviews-page .reviews-card__top img {
    width: 62px !important;
    height: 62px !important;
  }

  body.reviews-page .reviews-card p {
    font-size: 15px !important;
    line-height: 1.45 !important;
  }

  body.reviews-page .reviews-card:nth-child(1) p::after {
    height: 106px !important;
  }

  body.reviews-page .reviews-card::after {
    margin-left: -80px !important;
    display: block !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
  }
}

@media (max-width: 420px) {
  body.reviews-page .reviews-stats__grid {
    grid-template-columns: 1fr !important;
  }

  body.reviews-page .reviews-card {
    padding-left: 88px !important;
  }

  body.reviews-page .reviews-card > a {
    max-width: 100% !important;
  }
}

/* v265: balance desktop review cards after visual check. */
@media (min-width: 861px) {
  body.reviews-page .reviews-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
  }

  body.reviews-page .reviews-card,
  body.reviews-page .reviews-card:nth-child(1) {
    grid-column: auto !important;
    min-height: 338px !important;
    padding: 24px 22px 18px 118px !important;
  }

  body.reviews-page .reviews-card:nth-child(1) p,
  body.reviews-page .reviews-card p {
    max-width: 100% !important;
  }

  body.reviews-page .reviews-card:nth-child(1) p::after {
    max-width: 100% !important;
    height: 112px !important;
  }

  body.reviews-page .reviews-card:nth-child(2) p::after {
    padding-left: 56px !important;
    font-size: 14px !important;
  }

  body.reviews-page .reviews-card > a {
    top: 18px !important;
    right: 18px !important;
  }
}

@media (min-width: 1180px) {
  body.reviews-page .reviews-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.reviews-page .reviews-card,
  body.reviews-page .reviews-card:nth-child(1) {
    min-height: 360px !important;
    padding-left: 108px !important;
  }

  body.reviews-page .reviews-card__top img {
    width: 66px !important;
    height: 66px !important;
  }

  body.reviews-page .reviews-card p {
    font-size: 16px !important;
  }

  body.reviews-page .reviews-card:nth-child(1) p::after {
    height: 98px !important;
  }
}

/* v266: rollback reviews desktop hero, stabilize review blocks on desktop/mobile. */
@media (min-width: 861px) {
  body.reviews-page .reviews-hero {
    width: 100% !important;
    min-height: 350px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    align-items: center !important;
    overflow: hidden !important;
    background-position: center 48% !important;
  }

  body.reviews-page .reviews-hero__content {
    width: min(1130px, calc(100% - 48px)) !important;
    padding: 58px 0 54px !important;
  }

  body.reviews-page .reviews-hero h1 {
    max-width: 540px !important;
    margin-bottom: 18px !important;
    font-size: clamp(42px, 5vw, 58px) !important;
    line-height: .96 !important;
  }

  body.reviews-page .reviews-hero p {
    max-width: 520px !important;
    margin-bottom: 28px !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
  }

  body.reviews-page .reviews-hero__content::after {
    content: none !important;
    display: none !important;
  }

  body.reviews-page .reviews-hero__actions {
    display: flex !important;
  }
}

body.reviews-page .reviews-card {
  overflow: hidden !important;
}

body.reviews-page .reviews-card__top {
  min-width: 0 !important;
  padding-right: 0 !important;
}

body.reviews-page .reviews-card__top strong,
body.reviews-page .reviews-card__top span,
body.reviews-page .reviews-card__top time {
  max-width: 100% !important;
}

body.reviews-page .reviews-card > a {
  position: static !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 8px 0 0 !important;
}

body.reviews-page .reviews-card::after {
  content: "♡ Полезно · 6     ✓ Были на прогулке" !important;
  margin-left: 0 !important;
  white-space: normal !important;
}

body.reviews-page .reviews-card:nth-child(2) p::after {
  content: "Ответ Владимира\AСпасибо вам за тёплые слова! Был рад показать вам наш любимый Париж. До новых встреч!";
  display: block;
  margin-top: 16px;
  padding: 16px 18px 16px 68px;
  border-radius: 8px;
  white-space: pre-line;
  background:
    radial-gradient(circle at 34px 34px, #cfe7db 0 24px, transparent 25px),
    linear-gradient(120deg, #eef8f2, #f8fbf7);
  color: #3e4b46;
  font-size: 15px;
  line-height: 1.45;
}

@media (min-width: 861px) {
  body.reviews-page .reviews-stats,
  body.reviews-page .reviews-list .reviews-wrap {
    width: min(1130px, calc(100% - 48px)) !important;
  }

  body.reviews-page .reviews-card,
  body.reviews-page .reviews-card:nth-child(1) {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    padding: 24px !important;
  }

  body.reviews-page .reviews-card__top {
    display: grid !important;
    grid-template-columns: 58px 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 2px 14px !important;
    align-items: center !important;
    margin-bottom: 12px !important;
  }

  body.reviews-page .reviews-card__top img {
    position: static !important;
    grid-row: 1 / span 2 !important;
    width: 58px !important;
    height: 58px !important;
  }

  body.reviews-page .reviews-card__top time {
    grid-column: 2 !important;
  }

  body.reviews-page .reviews-stars {
    margin-top: 0 !important;
  }

  body.reviews-page .reviews-card p {
    font-size: 16px !important;
  }

  body.reviews-page .reviews-card:nth-child(1) p::after {
    height: 112px !important;
  }
}

@media (max-width: 860px) {
  body.reviews-page {
    overflow-x: hidden !important;
  }

  body.reviews-page .reviews-wrap,
  body.reviews-page .reviews-hero,
  body.reviews-page .reviews-stats {
    width: calc(100% - 28px) !important;
    max-width: 430px !important;
  }

  body.reviews-page .reviews-hero {
    min-height: 314px !important;
    margin: 8px auto 14px !important;
    border-radius: 7px !important;
    align-items: flex-end !important;
  }

  body.reviews-page .reviews-hero__content {
    padding: 28px 20px 20px !important;
  }

  body.reviews-page .reviews-hero h1 {
    max-width: 260px !important;
    margin-bottom: 10px !important;
    font-size: 31px !important;
    line-height: 1.02 !important;
  }

  body.reviews-page .reviews-hero p {
    max-width: 270px !important;
    margin-bottom: 14px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  body.reviews-page .reviews-hero__content::after {
    min-height: 40px !important;
    padding-left: 84px !important;
    font-size: 11px !important;
    line-height: 1.12 !important;
    background:
      radial-gradient(circle at 15px 20px, #f8d5c7 0 15px, #fff 16px 18px, transparent 19px),
      radial-gradient(circle at 34px 20px, #d0e1d6 0 15px, #fff 16px 18px, transparent 19px),
      radial-gradient(circle at 53px 20px, #eed0b4 0 15px, #fff 16px 18px, transparent 19px),
      radial-gradient(circle at 72px 20px, #d7eef2 0 15px, #fff 16px 18px, transparent 19px) !important;
  }

  body.reviews-page .reviews-stats__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.reviews-page .reviews-stats__grid > div {
    min-height: 78px !important;
    grid-template-columns: 28px 1fr !important;
    padding: 11px 10px !important;
  }

  body.reviews-page .reviews-stats svg {
    width: 26px !important;
    height: 26px !important;
  }

  body.reviews-page .reviews-stats strong {
    font-size: 20px !important;
    line-height: 1 !important;
  }

  body.reviews-page .reviews-stats span {
    font-size: 10px !important;
    line-height: 1.12 !important;
  }

  body.reviews-page .reviews-title-row {
    grid-template-columns: 1fr auto !important;
    gap: 10px !important;
  }

  body.reviews-page .reviews-title-row h2 {
    font-size: 29px !important;
  }

  body.reviews-page .reviews-title-row::after {
    min-height: 34px !important;
    padding: 0 10px !important;
    font-size: 10px !important;
  }

  body.reviews-page .reviews-filter {
    gap: 8px !important;
    margin-right: -14px !important;
    padding-bottom: 12px !important;
  }

  body.reviews-page .reviews-filter button {
    height: 34px !important;
    padding: 0 14px !important;
    font-size: 11px !important;
  }

  body.reviews-page .reviews-card,
  body.reviews-page .reviews-card:nth-child(1) {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 16px !important;
  }

  body.reviews-page .reviews-card__top {
    display: grid !important;
    grid-template-columns: 52px 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 2px 12px !important;
    align-items: center !important;
    margin-bottom: 10px !important;
  }

  body.reviews-page .reviews-card__top img {
    position: static !important;
    grid-row: 1 / span 2 !important;
    width: 52px !important;
    height: 52px !important;
  }

  body.reviews-page .reviews-card__top strong {
    display: block !important;
    overflow: hidden !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.reviews-page .reviews-card__top span {
    display: none !important;
  }

  body.reviews-page .reviews-card__top time {
    grid-column: 2 !important;
    margin: 0 !important;
    font-size: 11px !important;
  }

  body.reviews-page .reviews-stars {
    margin: 6px 0 8px !important;
    font-size: 16px !important;
  }

  body.reviews-page .reviews-card p {
    margin-top: 0 !important;
    font-size: 12px !important;
    line-height: 1.42 !important;
  }

  body.reviews-page .reviews-card:nth-child(1) p::after {
    width: 160px !important;
    max-width: 100% !important;
    height: 96px !important;
  }

  body.reviews-page .reviews-card:nth-child(2) p::after {
    padding: 14px 14px 14px 58px !important;
    font-size: 11px !important;
  }

  body.reviews-page .reviews-card > a {
    padding: 6px 10px !important;
    font-size: 10px !important;
  }

  body.reviews-page .reviews-card::after {
    display: block !important;
    margin-top: 10px !important;
    padding-top: 10px !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
  }
}

/* v267: reviews page polish after mobile feedback. */
body.reviews-page .reviews-title-row::after {
  content: none !important;
  display: none !important;
}

body.reviews-page .reviews-title-row {
  display: block !important;
}

body.reviews-page .reviews-card {
  display: flex !important;
  flex-direction: column !important;
}

body.reviews-page .reviews-card__top {
  order: 1 !important;
}

body.reviews-page .reviews-card > a {
  order: 2 !important;
  position: static !important;
  align-self: flex-start !important;
  margin: 0 0 12px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: #fff1df !important;
  color: #c96f13 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

body.reviews-page .reviews-stars {
  order: 3 !important;
}

body.reviews-page .reviews-card p {
  order: 4 !important;
}

body.reviews-page .reviews-card::after {
  order: 5 !important;
}

body.reviews-page .reviews-card:nth-child(1) p::after {
  content: "" !important;
  display: grid !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 124px !important;
  margin-top: 14px !important;
  border-radius: 8px !important;
  background:
    url("/wp-content/themes/paris-peshkom-v65-editable/assets/images/review/review-hero-v94.png") left center / calc(50% - 5px) 100% no-repeat,
    url("/wp-content/themes/paris-peshkom-v65-editable/assets/images/home-01-hero.webp") right center / calc(50% - 5px) 100% no-repeat !important;
}

body.reviews-page .reviews-card:nth-child(2) p::after {
  order: 4 !important;
  max-width: 100% !important;
}

@media (min-width: 861px) {
  body.reviews-page .reviews-title-row {
    margin-bottom: 18px !important;
  }

  body.reviews-page .reviews-card > a {
    margin-top: 2px !important;
  }

  body.reviews-page .reviews-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }

  body.reviews-page .reviews-card,
  body.reviews-page .reviews-card:nth-child(1) {
    min-height: 0 !important;
    padding: 22px !important;
  }

  body.reviews-page .reviews-card__top {
    display: grid !important;
    grid-template-columns: 58px 1fr !important;
    gap: 2px 14px !important;
  }

  body.reviews-page .reviews-card p {
    font-size: 15px !important;
  }

  body.reviews-page .reviews-card:nth-child(1) p::after {
    height: 102px !important;
  }
}

@media (max-width: 860px) {
  body.reviews-page .reviews-hero {
    min-height: 300px !important;
    background-position: 58% center !important;
    filter: none !important;
  }

  body.reviews-page .reviews-hero__shade {
    background:
      linear-gradient(90deg, rgba(8, 32, 24, .56) 0%, rgba(8, 32, 24, .32) 50%, rgba(8, 32, 24, .06) 100%),
      linear-gradient(0deg, rgba(0, 0, 0, .24), rgba(0, 0, 0, .02) 58%) !important;
  }

  body.reviews-page .reviews-hero__content {
    padding: 34px 24px 24px !important;
  }

  body.reviews-page .reviews-hero h1 {
    max-width: 280px !important;
    font-size: 32px !important;
    line-height: 1.04 !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .36) !important;
  }

  body.reviews-page .reviews-hero p {
    max-width: 275px !important;
    margin-bottom: 0 !important;
    font-size: 12px !important;
    line-height: 1.38 !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .4) !important;
  }

  body.reviews-page .reviews-hero__content::after {
    content: none !important;
    display: none !important;
  }

  body.reviews-page .reviews-stats {
    margin: 16px auto 30px !important;
  }

  body.reviews-page .reviews-stats__grid {
    gap: 8px !important;
  }

  body.reviews-page .reviews-stats__grid > div {
    min-height: 74px !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    padding: 12px 10px !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, .88) !important;
    box-shadow: 0 10px 22px rgba(42, 25, 9, .04) !important;
  }

  body.reviews-page .reviews-stats svg {
    width: 25px !important;
    height: 25px !important;
  }

  body.reviews-page .reviews-stats strong {
    font-size: 21px !important;
    line-height: .95 !important;
  }

  body.reviews-page .reviews-stats span {
    font-size: 9.5px !important;
    line-height: 1.05 !important;
  }

  body.reviews-page .reviews-title-row {
    margin-bottom: 12px !important;
  }

  body.reviews-page .reviews-title-row h2 {
    font-size: 28px !important;
  }

  body.reviews-page .reviews-filter {
    margin-right: -14px !important;
    padding-right: 14px !important;
  }

  body.reviews-page .reviews-card,
  body.reviews-page .reviews-card:nth-child(1) {
    padding: 16px !important;
    border-radius: 8px !important;
  }

  body.reviews-page .reviews-card__top {
    grid-template-columns: 54px 1fr !important;
    margin-bottom: 8px !important;
  }

  body.reviews-page .reviews-card__top img {
    width: 54px !important;
    height: 54px !important;
  }

  body.reviews-page .reviews-card__top strong {
    font-size: 15px !important;
  }

  body.reviews-page .reviews-card > a {
    margin: 0 0 10px !important;
    padding: 6px 10px !important;
    font-size: 10px !important;
  }

  body.reviews-page .reviews-stars {
    margin: 0 0 9px !important;
  }

  body.reviews-page .reviews-card p {
    font-size: 13px !important;
  }

  body.reviews-page .reviews-card:nth-child(1) p::after {
    height: 102px !important;
  }

  body.reviews-page .reviews-card:nth-child(2) p::after {
    margin-top: 14px !important;
    padding: 14px 14px 14px 58px !important;
    font-size: 11px !important;
  }

  body.reviews-page .reviews-card::after {
    color: #4f5e58 !important;
    font-size: 10px !important;
  }
}

/* v268: final polish for reviews page after mobile feedback */
body.reviews-page .reviews-stats strong {
  font-size: clamp(22px, 2.4vw, 28px) !important;
  line-height: .92 !important;
  letter-spacing: 0 !important;
}

body.reviews-page .reviews-stats span {
  max-width: 150px !important;
}

body.reviews-page .reviews-card > a {
  text-decoration: none !important;
}

body.reviews-page .reviews-card p::after {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.34) !important;
}

body.reviews-page .reviews-card::after {
  font-size: 12px !important;
  opacity: .9 !important;
}

@media (max-width: 860px) {
  body.reviews-page .reviews-hero::before {
    background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,60,45,.50) 74%) !important;
  }

  body.reviews-page .reviews-hero h1 {
    max-width: 330px !important;
  }

  body.reviews-page .reviews-hero p {
    max-width: 330px !important;
  }

  body.reviews-page .reviews-stats {
    margin-top: 22px !important;
  }

  body.reviews-page .reviews-stats strong {
    font-size: 23px !important;
  }

  body.reviews-page .reviews-stats span {
    font-size: 9.5px !important;
    max-width: 100px !important;
  }

  body.reviews-page .reviews-card > a {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
  }
}

/* v269: balance the text-only reviews stat card. */
body.reviews-page .reviews-stats__grid > div:nth-child(4) strong {
  font-family: Inter, Arial, sans-serif !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: .98 !important;
}

@media (max-width: 860px) {
  body.reviews-page .reviews-stats__grid > div:nth-child(4) strong {
    font-size: 18px !important;
  }
}

/* v270: reviews hero, stats, photo strip and long text polish. */
@media (max-width: 860px) {
  body.reviews-page .reviews-hero {
    width: calc(100% - 32px) !important;
    max-width: 430px !important;
    background-size: cover !important;
    background-position: 58% center !important;
  }

  body.reviews-page .reviews-hero__shade {
    background:
      linear-gradient(90deg, rgba(7, 31, 24, .46) 0%, rgba(7, 31, 24, .22) 52%, rgba(7, 31, 24, .03) 100%),
      linear-gradient(0deg, rgba(0, 0, 0, .16), rgba(0, 0, 0, 0) 58%) !important;
  }

  body.reviews-page .reviews-hero__content {
    background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0)) !important;
  }

  body.reviews-page .reviews-stats {
    width: calc(100% - 32px) !important;
    max-width: 430px !important;
    margin-top: 26px !important;
  }

  body.reviews-page .reviews-stats__grid {
    gap: 0 !important;
    border: 1px solid rgba(218, 195, 166, .72) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: rgba(255,255,255,.72) !important;
  }

  body.reviews-page .reviews-stats__grid > div {
    min-height: 78px !important;
    border: 0 !important;
    border-right: 1px solid rgba(218, 195, 166, .72) !important;
    border-bottom: 1px solid rgba(218, 195, 166, .72) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.reviews-page .reviews-stats__grid > div:nth-child(2n) {
    border-right: 0 !important;
  }

  body.reviews-page .reviews-stats__grid > div:nth-last-child(-n + 2) {
    border-bottom: 0 !important;
  }
}

body.reviews-page .reviews-card:nth-child(1) p::after {
  border-radius: 8px !important;
  overflow: hidden !important;
  background:
    url("/wp-content/themes/paris-peshkom-v65-editable/assets/images/review/review-hero-v94.png") left center / 50% 100% no-repeat,
    url("/wp-content/themes/paris-peshkom-v65-editable/assets/images/home-01-hero.webp") right center / 50% 100% no-repeat !important;
}

body.reviews-page .reviews-card p[data-review-collapsible] {
  position: relative !important;
  max-height: 7.4em !important;
  overflow: hidden !important;
}

body.reviews-page .reviews-card p[data-review-collapsible]::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 2.4em !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, rgba(255,253,248,0), rgba(255,253,248,.98) 76%) !important;
}

body.reviews-page .reviews-card.is-review-open p[data-review-collapsible] {
  max-height: none !important;
}

body.reviews-page .reviews-card.is-review-open p[data-review-collapsible]::before {
  content: none !important;
  display: none !important;
}

body.reviews-page .review-expand {
  order: 4 !important;
  width: max-content !important;
  margin: -2px 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #a75a10 !important;
  font: inherit !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
}

body.reviews-page .reviews-load {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(100%, 390px) !important;
  min-height: 46px !important;
  margin: 20px auto 0 !important;
  border: 1px solid #d99631 !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.76) !important;
  color: #b86a13 !important;
  font-weight: 900 !important;
}

body.reviews-page .reviews-load[hidden] {
  display: none !important;
}

/* v271: remove the extra mobile hero text panel left by v270. */
@media (max-width: 860px) {
  body.reviews-page .reviews-hero__content {
    background: transparent !important;
  }
}

/* v272: stronger visible mobile reviews fixes after live feedback. */
@media (max-width: 860px) {
  body.reviews-page .reviews-hero {
    position: relative !important;
    overflow: hidden !important;
    background-image: none !important;
    background-color: #efe6d6 !important;
  }

  body.reviews-page .reviews-hero::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    display: block !important;
    background: url("/wp-content/themes/paris-peshkom-v65-editable/assets/images/review/review-hero-v94.png") 58% center / cover no-repeat !important;
    filter: brightness(1.28) saturate(1.14) contrast(.96) !important;
    transform: scale(1.012) !important;
  }

  body.reviews-page .reviews-hero__shade {
    z-index: 1 !important;
    background:
      linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.04) 45%, rgba(1,34,26,.34) 100%),
      linear-gradient(90deg, rgba(0,39,30,.18) 0%, rgba(0,39,30,.07) 54%, rgba(0,0,0,0) 100%) !important;
  }

  body.reviews-page .reviews-hero__content {
    position: relative !important;
    z-index: 2 !important;
  }

  body.reviews-page .reviews-hero h1,
  body.reviews-page .reviews-hero p {
    text-shadow: 0 2px 12px rgba(0,0,0,.48) !important;
  }

  body.reviews-page .reviews-stats {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
  }

  body.reviews-page .reviews-stats__grid {
    width: 100% !important;
    box-shadow: 0 16px 34px rgba(50,31,12,.06) !important;
  }
}

body.reviews-page .reviews-card.has-real-photos p::after {
  content: none !important;
  display: none !important;
}

body.reviews-page .review-photo-grid {
  order: 4 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 14px 0 18px !important;
}

body.reviews-page .review-photo-grid img {
  width: 100% !important;
  height: 102px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.34) !important;
}

body.reviews-page .reviews-load {
  display: flex !important;
  visibility: visible !important;
}

body.reviews-page .reviews-load[hidden] {
  display: flex !important;
}

body.reviews-page .reviews-load.is-empty {
  opacity: .78 !important;
}

/* v296: keep the mobile header language dropdown above every page hero. */
@media (max-width: 767px) {
  html body[class] .site-header.site-header {
    z-index: 50000 !important;
    overflow: visible !important;
    isolation: isolate !important;
  }

  html body[class] .site-header.site-header .wrap,
  html body[class] .site-header.site-header .nav,
  html body[class] .site-header.site-header .nav-actions,
  html body[class] .site-header.site-header .pp-lang-switcher,
  html body[class] .site-header.site-header .pp-lang-dropdown {
    overflow: visible !important;
  }

  html body[class] .site-header.site-header .pp-lang-switcher,
  html body[class] .site-header.site-header .pp-lang-dropdown,
  html body[class] .site-header.site-header .pp-lang-dropdown__summary {
    position: relative !important;
    z-index: 50010 !important;
  }

  html body[class] .site-header.site-header .pp-lang-dropdown[open],
  html body[class] .site-header.site-header .pp-lang-dropdown[open] .pp-lang-dropdown__summary,
  html body[class] .site-header.site-header .pp-lang-dropdown[open] .pp-lang-dropdown__menu {
    z-index: 50020 !important;
  }

  html body[class] .site-header.site-header .pp-lang-dropdown__menu {
    position: absolute !important;
    overflow: visible !important;
    z-index: 50020 !important;
  }
}

/* v297: use one compact mobile language dropdown in the header, menu and footer. */
@media (max-width: 767px) {
  html body[class] .site-header.site-header .pp-lang-dropdown__menu,
  html body[class] .pp-mobile-menu.pp-mobile-menu .pp-lang-dropdown__menu,
  html body[class] .site-footer.site-footer .pp-lang-dropdown__menu {
    width: 68px !important;
    min-width: 68px !important;
    padding: 4px !important;
  }

  html body[class] .site-header.site-header .pp-lang-dropdown__menu .pp-lang-switcher__item,
  html body[class] .pp-mobile-menu.pp-mobile-menu .pp-lang-dropdown__menu .pp-lang-switcher__item,
  html body[class] .site-footer.site-footer .pp-lang-dropdown__menu .pp-lang-switcher__item {
    min-height: 26px !important;
    padding: 0 6px !important;
  }

  html body[class] .pp-mobile-menu.pp-mobile-menu .pp-lang-dropdown__summary,
  html body[class] .site-footer.site-footer .pp-lang-dropdown__summary {
    min-width: 60px !important;
    min-height: 32px !important;
    padding: 0 8px !important;
  }
}



/* v316: Galicia-inspired footer structure, keeping the existing light footer background. */
.site-footer.site-footer-v316 {
  padding: 46px 0 28px;
  background: #fffdf8;
  border-top: 1px solid var(--line, #e5d1b4);
}

.footer-v316__grid {
  display: grid;
  grid-template-columns: minmax(230px, 1.2fr) repeat(3, minmax(150px, .78fr)) minmax(240px, 1fr);
  gap: clamp(22px, 3vw, 46px);
  align-items: start;
}

.site-footer-v316 .footer-col {
  min-width: 0;
}

.footer-v316__logo {
  margin-bottom: 18px;
}

.footer-v316__text {
  max-width: 275px;
  margin: 0 0 18px;
  color: #374942;
  font-size: 15px;
  line-height: 1.75;
}

.footer-v316__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 22px;
}

.footer-v316__badges span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border: 1px solid rgba(0, 65, 47, .18);
  border-radius: 999px;
  background: rgba(255, 255, 255, .72);
  color: var(--green, #00412f);
  font-size: 12px;
  font-weight: 850;
  line-height: 1;
}

.footer-v316__socials {
  display: flex;
  gap: 10px;
}

.footer-v316__socials a,
.footer-v316__contact-link span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(0, 65, 47, .16);
  border-radius: 8px;
  background: rgba(255, 255, 255, .76);
  color: var(--green, #00412f);
  font-size: 11px;
  font-weight: 900;
  text-decoration: none;
}

.site-footer-v316 .footer-col h3 {
  margin: 0 0 17px;
  font-family: Georgia, "Times New Roman", serif;
  color: var(--green, #00412f);
  font-size: 24px;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: 0;
}

.site-footer-v316 .footer-v316__col a,
.site-footer-v316 .footer-v316__legal a {
  display: block;
  margin: 0 0 11px;
  color: #263d35;
  font-size: 14px;
  line-height: 1.45;
  text-decoration: none;
}

.site-footer-v316 .footer-v316__col a:hover,
.site-footer-v316 .footer-v316__legal a:hover,
.footer-v316__contact-link:hover {
  color: var(--gold, #d88622);
}

.footer-v316__contact {
  display: grid;
  gap: 11px;
}

.footer-v316__contact h3 {
  margin-bottom: 7px;
}

.footer-v316__contact-link {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  color: #203a33;
  font-size: 14px;
  line-height: 1.35;
  text-decoration: none;
}

.footer-v316__contact-link span {
  width: 30px;
  height: 30px;
  border-radius: 7px;
  font-size: 10px;
}

.footer-v316__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  min-height: 42px;
  margin-top: 7px;
  padding: 0 18px;
  border-radius: 7px;
  background: var(--gold, #d88622);
  color: #fff !important;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 12px 26px rgba(216, 134, 34, .2);
}

.footer-v316__bottom {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto minmax(260px, 1fr);
  gap: 22px;
  align-items: center;
  margin-top: 38px;
  padding-top: 24px;
  border-top: 1px solid rgba(229, 209, 180, .95);
}

.site-footer-v316 .copyright {
  margin: 0;
  color: #58635e;
  font-size: 13px;
  line-height: 1.45;
}

.site-footer-v316 .pp-lang-switcher--footer {
  margin: 0 !important;
  justify-self: center;
}

.footer-v316__legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px 20px;
}

.site-footer-v316 .footer-v316__legal a {
  margin: 0;
  font-size: 13px;
}

@media (max-width: 1100px) {
  .footer-v316__grid {
    grid-template-columns: 1.1fr 1fr 1fr;
  }

  .footer-v316__brand,
  .footer-v316__contact {
    grid-column: span 1;
  }

  .footer-v316__bottom {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .site-footer-v316 .pp-lang-switcher--footer {
    justify-self: start;
  }

  .footer-v316__legal {
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  .site-footer.site-footer-v316 {
    padding: 28px 0 88px;
  }

  .footer-v316__grid {
    width: min(100% - 32px, 430px);
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    margin: 0 auto;
  }

  .site-footer-v316 .footer-col {
    padding: 16px 0;
    border-top: 1px solid rgba(222, 205, 183, .82);
  }

  .site-footer-v316 .footer-col:first-child {
    border-top: 0;
    padding-top: 0;
  }

  .site-footer-v316 .footer-col h3 {
    padding: 0 0 10px;
    font-size: 21px;
  }

  .site-footer-v316 .footer-v316__col a,
  .footer-v316__contact-link,
  .footer-v316__contact-link span,
  .footer-v316__socials a,
  .site-footer-v316 .footer-v316__legal a,
  .site-footer-v316 .copyright {
    display: initial !important;
  }

  .site-footer-v316 .footer-v316__col a,
  .site-footer-v316 .footer-v316__legal a {
    display: block !important;
    padding: 0;
  }

  .footer-v316__contact-link {
    display: grid !important;
  }

  .footer-v316__contact-link span,
  .footer-v316__socials a {
    display: inline-flex !important;
  }

  .footer-v316__bottom {
    width: min(100% - 32px, 430px);
    margin: 18px auto 0;
    padding-top: 18px;
  }

  .footer-v316__legal {
    display: grid;
    gap: 8px;
  }
}


/* v317: keep the new footer WhatsApp CTA legible over the gold button. */
.site-footer.site-footer-v316 a.footer-v316__cta,
.site-footer.site-footer-v316 .footer-v316__cta,
.site-footer.site-footer-v316 .footer-v316__cta:visited,
.site-footer.site-footer-v316 .footer-v316__cta:hover {
  color: #fff !important;
}


/* v318: correct the actual footer WhatsApp button selector. */
.site-footer.site-footer-v316 a.footer-v316__button,
.site-footer.site-footer-v316 a.footer-v316__button:visited,
.site-footer.site-footer-v316 a.footer-v316__button:hover {
  color: #fff !important;
}


/* v319: desktop excursions archive cards inherit the home popular-walks rhythm. */
@media (min-width: 1024px) {
  html body.post-type-archive-excursion #excursion-list > .ex-wrap,
  html body:has(.excursions-page) #excursion-list > .ex-wrap {
    width: min(100% - 64px, 1180px) !important;
    max-width: 1180px !important;
    margin-inline: auto !important;
  }

  html body.post-type-archive-excursion #excursion-list .ex-filters,
  html body:has(.excursions-page) #excursion-list .ex-filters {
    width: 100% !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 auto 30px !important;
    overflow: visible !important;
    white-space: nowrap !important;
  }

  html body.post-type-archive-excursion #excursion-list .ex-filters button,
  html body:has(.excursions-page) #excursion-list .ex-filters button {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    min-height: 34px !important;
    padding: 0 18px !important;
    border: 1px solid rgba(6, 63, 49, .18) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .86) !important;
    color: #11241d !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    box-shadow: 0 7px 16px rgba(41, 31, 18, .05) !important;
  }

  html body.post-type-archive-excursion #excursion-list .ex-filters button.is-active,
  html body.post-type-archive-excursion #excursion-list .ex-filters button:first-child,
  html body:has(.excursions-page) #excursion-list .ex-filters button.is-active,
  html body:has(.excursions-page) #excursion-list .ex-filters button:first-child {
    border-color: #00412f !important;
    background: #00412f !important;
    color: #fff !important;
  }

  html body.post-type-archive-excursion #excursion-list .ex-grid,
  html body:has(.excursions-page) #excursion-list .ex-grid {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
    margin: 0 auto !important;
  }

  html body.post-type-archive-excursion #excursion-list .ex-card,
  html body:has(.excursions-page) #excursion-list .ex-card {
    display: grid !important;
    grid-template-rows: 150px 1fr !important;
    min-width: 0 !important;
    min-height: 302px !important;
    overflow: hidden !important;
    border: 1px solid rgba(214, 190, 160, .84) !important;
    border-radius: 8px !important;
    background: #fffdf8 !important;
    box-shadow: 0 14px 30px rgba(48, 36, 20, .08) !important;
  }

  html body.post-type-archive-excursion #excursion-list .ex-card-img,
  html body:has(.excursions-page) #excursion-list .ex-card-img {
    height: 150px !important;
    min-height: 150px !important;
    border-radius: 0 !important;
    background-image: var(--bg) !important;
    background-position: center !important;
    background-size: cover !important;
    filter: saturate(1.06) contrast(1.02) !important;
  }

  html body.post-type-archive-excursion #excursion-list .ex-card-img::after,
  html body:has(.excursions-page) #excursion-list .ex-card-img::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, .13), rgba(0, 0, 0, 0) 44%, rgba(0, 0, 0, .04)) !important;
  }

  html body.post-type-archive-excursion #excursion-list .ex-card-body,
  html body:has(.excursions-page) #excursion-list .ex-card-body {
    display: grid !important;
    grid-template-rows: auto auto 1fr auto !important;
    gap: 7px !important;
    min-height: 0 !important;
    padding: 18px 13px 12px !important;
    background: #fffdf8 !important;
  }

  html body.post-type-archive-excursion #excursion-list .ex-card-body::before,
  html body:has(.excursions-page) #excursion-list .ex-card-body::before {
    margin: 0 !important;
    color: #c87911 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
  }

  html body.post-type-archive-excursion #excursion-list .ex-card-body::after,
  html body:has(.excursions-page) #excursion-list .ex-card-body::after {
    left: 10px !important;
    top: -140px !important;
    min-height: 24px !important;
    padding: 0 10px !important;
    border-radius: 5px !important;
    font-size: 11px !important;
    font-weight: 900 !important;
  }

  html body.post-type-archive-excursion #excursion-list .ex-card h2,
  html body:has(.excursions-page) #excursion-list .ex-card h2 {
    margin: 0 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.03 !important;
    letter-spacing: 0 !important;
  }

  html body.post-type-archive-excursion #excursion-list .ex-card h2 a,
  html body:has(.excursions-page) #excursion-list .ex-card h2 a {
    color: #071812 !important;
    text-decoration: none !important;
  }

  html body.post-type-archive-excursion #excursion-list .ex-card p,
  html body:has(.excursions-page) #excursion-list .ex-card p {
    min-height: 42px !important;
    margin: 0 !important;
    color: #18332a !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
  }

  html body.post-type-archive-excursion #excursion-list .ex-meta,
  html body:has(.excursions-page) #excursion-list .ex-meta {
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    align-items: center !important;
    gap: 9px !important;
    min-height: 42px !important;
    margin: 4px 0 0 !important;
    padding-top: 11px !important;
    border-top: 1px solid rgba(214, 190, 160, .74) !important;
  }

  html body.post-type-archive-excursion #excursion-list .ex-meta span,
  html body.post-type-archive-excursion #excursion-list .ex-meta strong,
  html body:has(.excursions-page) #excursion-list .ex-meta span,
  html body:has(.excursions-page) #excursion-list .ex-meta strong {
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  html body.post-type-archive-excursion #excursion-list .ex-meta strong,
  html body:has(.excursions-page) #excursion-list .ex-meta strong {
    justify-self: end !important;
    color: #00412f !important;
  }

  html body.post-type-archive-excursion #excursion-list .ex-meta a,
  html body:has(.excursions-page) #excursion-list .ex-meta a {
    grid-column: auto !important;
    width: auto !important;
    min-width: 86px !important;
    min-height: 28px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(214, 190, 160, .9) !important;
    border-radius: 5px !important;
    background: rgba(255, 255, 255, .78) !important;
    color: #071812 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
  }
}

@media (min-width: 1024px) and (max-width: 1120px) {
  html body.post-type-archive-excursion #excursion-list .ex-filters,
  html body:has(.excursions-page) #excursion-list .ex-filters {
    gap: 7px !important;
  }

  html body.post-type-archive-excursion #excursion-list .ex-filters button,
  html body:has(.excursions-page) #excursion-list .ex-filters button {
    padding-inline: 13px !important;
    font-size: 12px !important;
  }
}


/* v320: correct desktop excursions frame width with valid calc() sizing. */
@media (min-width: 1024px) {
  html body.post-type-archive-excursion #excursion-list > .ex-wrap,
  html body.excursions-page #excursion-list > .ex-wrap,
  html body:has(.excursions-page) #excursion-list > .ex-wrap {
    width: min(calc(100% - 64px), 1180px) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  html body.post-type-archive-excursion #excursion-list .ex-grid,
  html body.excursions-page #excursion-list .ex-grid,
  html body:has(.excursions-page) #excursion-list .ex-grid,
  html body.post-type-archive-excursion #excursion-list .ex-filters,
  html body.excursions-page #excursion-list .ex-filters,
  html body:has(.excursions-page) #excursion-list .ex-filters {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* v321: override the older 980px excursions archive frame with the full desktop site width. */
@media (min-width: 1024px) {
  html body.excursions-page section.ex-section#excursion-list.ex-section > div.ex-wrap.ex-wrap,
  html body.post-type-archive-excursion section.ex-section#excursion-list.ex-section > div.ex-wrap.ex-wrap {
    width: min(calc(100vw - 64px), 1180px) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  html body.excursions-page section.ex-section#excursion-list.ex-section > div.ex-wrap.ex-wrap > .ex-filters,
  html body.excursions-page section.ex-section#excursion-list.ex-section > div.ex-wrap.ex-wrap > .ex-grid,
  html body.post-type-archive-excursion section.ex-section#excursion-list.ex-section > div.ex-wrap.ex-wrap > .ex-filters,
  html body.post-type-archive-excursion section.ex-section#excursion-list.ex-section > div.ex-wrap.ex-wrap > .ex-grid {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* v322: compact, structured footer layout for desktop and mobile. */
.site-footer.site-footer-v316 {
  padding: 34px 0 22px !important;
  background: #fffdf8 !important;
}

.footer-v316__grid {
  width: min(100% - 64px, 1180px) !important;
  grid-template-columns: minmax(230px, 1.08fr) minmax(130px, .62fr) minmax(160px, .72fr) minmax(195px, .9fr) minmax(230px, 1fr) !important;
  gap: clamp(28px, 3vw, 54px) !important;
  align-items: start !important;
}

.site-footer-v316 .footer-col h3 {
  margin-bottom: 13px !important;
  font-size: 22px !important;
  line-height: 1.05 !important;
}

.footer-v316__logo {
  margin-bottom: 10px !important;
}

.footer-v316__text {
  max-width: 240px !important;
  margin-bottom: 12px !important;
  font-size: 14px !important;
  line-height: 1.42 !important;
}

.footer-v316__badges {
  gap: 7px !important;
  margin-bottom: 16px !important;
}

.footer-v316__badges span {
  min-height: 28px !important;
  padding-inline: 11px !important;
  font-size: 12px !important;
}

.footer-v316__socials {
  gap: 8px !important;
}

.footer-v316__socials a,
.footer-v316__contact-link span {
  width: 34px !important;
  height: 34px !important;
  border-radius: 8px !important;
}

.site-footer-v316 .footer-v316__col a,
.site-footer-v316 .footer-v316__legal a {
  margin-bottom: 8px !important;
  font-size: 14px !important;
  line-height: 1.32 !important;
}

.footer-v316__contact {
  gap: 10px !important;
}

.footer-v316__contact-link {
  grid-template-columns: 32px minmax(0, 1fr) !important;
  gap: 8px !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
}

.footer-v316__contact-link span {
  width: 28px !important;
  height: 28px !important;
  font-size: 10px !important;
}

.footer-v316__button {
  min-height: 38px !important;
  margin-top: 4px !important;
  padding-inline: 16px !important;
  border-radius: 7px !important;
  font-size: 13px !important;
}

.footer-v316__bottom {
  width: min(100% - 64px, 1180px) !important;
  grid-template-columns: minmax(260px, 1fr) auto minmax(360px, 1fr) !important;
  gap: 18px !important;
  margin-top: 28px !important;
  padding-top: 20px !important;
}

.site-footer-v316 .copyright,
.site-footer-v316 .footer-v316__legal a {
  font-size: 13px !important;
  line-height: 1.35 !important;
}

.footer-v316__legal {
  gap: 10px 18px !important;
}

@media (max-width: 1100px) and (min-width: 768px) {
  .footer-v316__grid {
    grid-template-columns: minmax(220px, 1fr) repeat(2, minmax(160px, .8fr)) !important;
    gap: 26px 34px !important;
  }

  .footer-v316__brand {
    grid-row: span 2 !important;
  }

  .footer-v316__contact {
    grid-column: span 2 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
  }

  .footer-v316__contact h3,
  .footer-v316__button {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 767px) {
  .site-footer.site-footer-v316 {
    padding: 16px 0 88px !important;
    background: #fffdf8 !important;
  }

  .footer-v316__grid {
    width: min(100% - 24px, 430px) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 20px !important;
    padding: 16px !important;
    border: 1px solid rgba(222, 199, 170, .82) !important;
    border-radius: 10px !important;
    background: rgba(255, 253, 248, .96) !important;
  }

  .site-footer-v316 .footer-col {
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .footer-v316__brand {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px 14px !important;
    align-items: start !important;
    padding-bottom: 4px !important;
    border-bottom: 1px solid rgba(222, 199, 170, .68) !important;
  }

  .footer-v316__logo {
    grid-column: 1 / 2 !important;
    margin: 0 !important;
  }

  .footer-v316__text {
    grid-column: 1 / 2 !important;
    max-width: none !important;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.32 !important;
  }

  .footer-v316__badges {
    grid-column: 2 / 3 !important;
    grid-row: 1 / 3 !important;
    display: grid !important;
    gap: 6px !important;
    margin: 0 !important;
    align-self: start !important;
    justify-items: start !important;
  }

  .footer-v316__badges span {
    min-height: 26px !important;
    padding-inline: 9px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
  }

  .footer-v316__socials {
    grid-column: 1 / -1 !important;
    gap: 8px !important;
    margin-top: 2px !important;
  }

  .footer-v316__socials a,
  .footer-v316__contact-link span {
    width: 34px !important;
    height: 34px !important;
  }

  .site-footer-v316 .footer-col h3 {
    margin: 0 0 9px !important;
    padding: 0 !important;
    font-size: 17px !important;
    line-height: 1.1 !important;
  }

  .site-footer-v316 .footer-v316__col a {
    display: block !important;
    margin-bottom: 6px !important;
    font-size: 12.5px !important;
    line-height: 1.25 !important;
  }

  .footer-v316__contact {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px 12px !important;
    padding-top: 2px !important;
    border-top: 1px solid rgba(222, 199, 170, .68) !important;
  }

  .footer-v316__contact h3 {
    grid-column: 1 / -1 !important;
    margin-top: 0 !important;
  }

  .footer-v316__contact-link {
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    gap: 7px !important;
    align-items: center !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    word-break: break-word !important;
  }

  .footer-v316__contact-link span {
    width: 28px !important;
    height: 28px !important;
    font-size: 9.5px !important;
  }

  .footer-v316__contact-link[href^="mailto:"] {
    grid-column: 1 / -1 !important;
  }

  .footer-v316__button {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 40px !important;
    margin-top: 2px !important;
    font-size: 12.5px !important;
  }

  .footer-v316__bottom {
    width: min(100% - 24px, 430px) !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 10px 14px !important;
    margin: 0 auto !important;
    padding: 12px 16px 14px !important;
    border: 1px solid rgba(222, 199, 170, .82) !important;
    border-top: 0 !important;
    border-radius: 0 0 10px 10px !important;
    background: rgba(255, 253, 248, .96) !important;
  }

  .site-footer-v316 .pp-lang-switcher--footer {
    justify-self: start !important;
    align-self: start !important;
  }

  .footer-v316__legal {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    justify-content: start !important;
  }

  .site-footer-v316 .footer-v316__legal a {
    display: block !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  .site-footer-v316 .copyright {
    grid-column: 1 / -1 !important;
    margin: 0 !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 390px) {
  .footer-v316__grid {
    grid-template-columns: 1fr !important;
  }

  .footer-v316__brand {
    grid-template-columns: 1fr !important;
  }

  .footer-v316__badges,
  .footer-v316__text,
  .footer-v316__logo,
  .footer-v316__socials,
  .footer-v316__contact {
    grid-column: 1 / -1 !important;
  }

  .footer-v316__badges {
    grid-row: auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
  }

  .footer-v316__contact {
    grid-template-columns: 1fr !important;
  }
}


/* v323: final footer compaction and single-card mobile bottom seam. */
.site-footer.site-footer-v316 {
  padding-top: 28px !important;
  padding-bottom: 18px !important;
}

.footer-v316__contact {
  gap: 7px !important;
}

.footer-v316__contact-link {
  grid-template-columns: 28px minmax(0, 1fr) !important;
  gap: 7px !important;
  font-size: 13px !important;
}

.footer-v316__contact-link span {
  width: 24px !important;
  height: 24px !important;
  font-size: 9px !important;
}

.footer-v316__button {
  min-height: 36px !important;
  margin-top: 2px !important;
}

.footer-v316__bottom {
  margin-top: 22px !important;
  padding-top: 16px !important;
}

@media (max-width: 767px) {
  .footer-v316__grid {
    border-bottom: 0 !important;
    border-radius: 10px 10px 0 0 !important;
  }

  .footer-v316__bottom {
    border-top: 0 !important;
    border-radius: 0 0 10px 10px !important;
  }

  .footer-v316__contact {
    gap: 7px 10px !important;
  }

  .footer-v316__button {
    min-height: 38px !important;
  }
}

/* v329: clean mobile footer rebuild, scoped to phones only. */
@media (max-width: 767px) {
  .site-footer.site-footer-v316 {
    padding: 14px 0 88px !important;
    background: #fffaf3 !important;
    border-top: 1px solid rgba(222, 199, 170, .75) !important;
  }

  .site-footer-v316,
  .site-footer-v316 * {
    box-sizing: border-box !important;
  }

  .site-footer-v316 {
    --pp-i-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.8.7A2 2 0 0 1 22 16.9Z'/%3E%3C/svg%3E");
    --pp-i-wa: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M20.5 11.8a8.5 8.5 0 0 1-12.6 7.4L3 20.5l1.3-4.7A8.5 8.5 0 1 1 20.5 11.8Z'/%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M8.8 8.6c.2-.5.4-.6.8-.6h.6c.2 0 .5.1.6.5l.7 1.6c.1.3.1.5-.1.7l-.5.6c.7 1.2 1.6 2 2.8 2.6l.6-.6c.2-.2.5-.3.8-.1l1.5.7c.4.2.5.4.5.7 0 .9-.7 1.6-1.7 1.7-2.2.1-6.5-2.1-8-5.8-.4-1-.2-1.6.4-2Z'/%3E%3C/svg%3E");
    --pp-i-tg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M21.5 3.5 2.8 10.8c-1 .4-.9 1.8.1 2.1l4.7 1.4 1.8 5c.3.9 1.5 1.1 2.1.3l2.6-3.5 4.8 3.5c.8.6 1.9.1 2-1L23 4.7c.1-.8-.7-1.4-1.5-1.2Z'/%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m8 14 8.3-6.2'/%3E%3C/svg%3E");
    --pp-i-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m4 7 8 6 8-6'/%3E%3C/svg%3E");
    --pp-i-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M12 7v5l3 2'/%3E%3C/svg%3E");
    --pp-i-ig: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='4' width='16' height='16' rx='5' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='3.5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath fill='black' d='M17.5 6.9a1.1 1.1 0 1 0 0 2.2 1.1 1.1 0 0 0 0-2.2Z'/%3E%3C/svg%3E");
  }

  .site-footer-v316 .footer-v316__grid,
  .site-footer-v316 .footer-v316__bottom {
    width: calc(100% - 28px) !important;
    max-width: 430px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border: 1px solid rgba(222, 199, 170, .82) !important;
    background: rgba(255, 253, 248, .98) !important;
    box-shadow: 0 12px 34px rgba(45, 31, 13, .05) !important;
    overflow: hidden !important;
  }

  .site-footer-v316 .footer-v316__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 0 !important;
    border-radius: 12px 12px 0 0 !important;
  }

  .site-footer-v316 .footer-col {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 14px 16px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(222, 199, 170, .64) !important;
  }

  .site-footer-v316 .footer-col:last-child {
    border-bottom: 0 !important;
  }

  .site-footer-v316 .footer-v316__brand {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding-top: 16px !important;
  }

  .site-footer-v316 .footer-v316__logo,
  .site-footer-v316 .footer-v316__text,
  .site-footer-v316 .footer-v316__badges,
  .site-footer-v316 .footer-v316__socials {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    justify-self: start !important;
  }

  .site-footer-v316 .footer-v316__logo {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: max-content !important;
    margin: 0 !important;
    color: #00412f !important;
  }

  .site-footer-v316 .footer-v316__logo span {
    display: block !important;
    font-size: 22px !important;
    line-height: .9 !important;
    letter-spacing: 5px !important;
    white-space: nowrap !important;
  }

  .site-footer-v316 .footer-v316__logo small {
    display: block !important;
    margin-top: 5px !important;
    font-size: 10px !important;
    letter-spacing: 1.3px !important;
  }

  .site-footer-v316 .footer-v316__logo .brand-mark {
    width: 18px !important;
    height: 32px !important;
    flex: 0 0 auto !important;
  }

  .site-footer-v316 .footer-v316__text {
    max-width: 300px !important;
    margin: 0 !important;
    color: #243b34 !important;
    font-size: 13px !important;
    line-height: 1.38 !important;
  }

  .site-footer-v316 .footer-v316__badges {
    display: grid !important;
    grid-template-columns: repeat(2, max-content) !important;
    gap: 6px !important;
    margin: 0 !important;
  }

  .site-footer-v316 .footer-v316__badges span {
    min-height: 25px !important;
    max-width: 100% !important;
    padding: 0 9px !important;
    border-radius: 999px !important;
    background: rgba(0, 65, 47, .055) !important;
    color: #00412f !important;
    font-size: 10.5px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .site-footer-v316 .footer-v316__badges span:nth-child(3) {
    grid-column: 1 / -1 !important;
    width: max-content !important;
  }

  .site-footer-v316 .footer-v316__socials {
    display: flex !important;
    gap: 8px !important;
    margin: 0 !important;
  }

  .site-footer-v316 .footer-v316__socials a,
  .site-footer-v316 .footer-v316__contact-link span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    padding: 0 !important;
    border: 1px solid rgba(0, 65, 47, .14) !important;
    border-radius: 9px !important;
    background: rgba(0, 65, 47, .055) !important;
    color: #00412f !important;
    font-size: 0 !important;
  }

  .site-footer-v316 .footer-v316__socials a::before,
  .site-footer-v316 .footer-v316__contact-link span::before {
    content: "" !important;
    display: block !important;
    width: 17px !important;
    height: 17px !important;
    background: currentColor !important;
    -webkit-mask: var(--pp-footer-icon) center / contain no-repeat !important;
    mask: var(--pp-footer-icon) center / contain no-repeat !important;
  }

  .site-footer-v316 .footer-v316__socials a:nth-child(1),
  .site-footer-v316 .footer-v316__contact > a:nth-of-type(3) span { --pp-footer-icon: var(--pp-i-tg); }
  .site-footer-v316 .footer-v316__socials a:nth-child(2) { --pp-footer-icon: var(--pp-i-ig); }
  .site-footer-v316 .footer-v316__socials a:nth-child(3),
  .site-footer-v316 .footer-v316__contact > a:nth-of-type(2) span { --pp-footer-icon: var(--pp-i-wa); }
  .site-footer-v316 .footer-v316__contact > a:nth-of-type(1) span { --pp-footer-icon: var(--pp-i-phone); }
  .site-footer-v316 .footer-v316__contact > a:nth-of-type(4) span { --pp-footer-icon: var(--pp-i-mail); }
  .site-footer-v316 .footer-v316__contact > span.footer-v316__contact-link > span { --pp-footer-icon: var(--pp-i-clock); }

  .site-footer-v316 .footer-col h3 {
    margin: 0 0 9px !important;
    padding: 0 !important;
    color: #00412f !important;
    font-size: 18px !important;
    line-height: 1.12 !important;
  }

  .site-footer-v316 .footer-v316__col a {
    display: block !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    color: #213a33 !important;
    font-size: 13px !important;
    line-height: 1.28 !important;
    text-decoration: none !important;
  }

  .site-footer-v316 .footer-v316__col a:last-child {
    margin-bottom: 0 !important;
  }

  .site-footer-v316 .footer-v316__contact {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding-bottom: 16px !important;
  }

  .site-footer-v316 .footer-v316__contact h3 {
    grid-column: 1 / -1 !important;
    margin: 0 0 2px !important;
  }

  .site-footer-v316 .footer-v316__contact-link {
    min-width: 0 !important;
    min-height: 54px !important;
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: center !important;
    padding: 8px !important;
    border: 1px solid rgba(0, 65, 47, .1) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #1f352f !important;
    font-size: 12px !important;
    line-height: 1.22 !important;
    text-decoration: none !important;
    overflow-wrap: anywhere !important;
  }

  .site-footer-v316 .footer-v316__contact > a:nth-of-type(4),
  .site-footer-v316 .footer-v316__contact > span.footer-v316__contact-link,
  .site-footer-v316 .footer-v316__button {
    grid-column: 1 / -1 !important;
  }

  .site-footer-v316 .footer-v316__button {
    width: 100% !important;
    min-height: 42px !important;
    margin: 2px 0 0 !important;
    border-radius: 10px !important;
    background: linear-gradient(180deg, #e8a33d 0%, #d38624 100%) !important;
    color: #fff !important;
    font-size: 13px !important;
    box-shadow: 0 10px 22px rgba(216, 134, 34, .18) !important;
  }

  .site-footer-v316 .footer-v316__bottom {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 10px 12px !important;
    align-items: start !important;
    margin-top: 0 !important;
    padding: 12px 16px 14px !important;
    border-top: 0 !important;
    border-radius: 0 0 12px 12px !important;
  }

  .site-footer-v316 .pp-lang-switcher--footer {
    justify-self: start !important;
    margin: 0 !important;
  }

  .site-footer-v316 .footer-v316__legal {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 5px !important;
    justify-content: start !important;
  }

  .site-footer-v316 .footer-v316__legal a {
    display: block !important;
    margin: 0 !important;
    color: #213a33 !important;
    font-size: 11.5px !important;
    line-height: 1.22 !important;
    text-decoration: none !important;
  }

  .site-footer-v316 .copyright {
    grid-column: 1 / -1 !important;
    margin: 2px 0 0 !important;
    color: #5f6b66 !important;
    font-size: 11px !important;
    line-height: 1.32 !important;
  }
}

/* v330: calmer mobile footer cleanup after v329 feedback. */
@media (max-width: 767px) {
  .site-footer.site-footer-v316 {
    padding: 22px 0 88px !important;
    background: #fffaf3 !important;
    border-top: 1px solid rgba(222, 199, 170, .6) !important;
  }

  .site-footer-v316,
  .site-footer-v316 * {
    box-sizing: border-box !important;
  }

  .site-footer-v316 .footer-v316__grid {
    width: min(calc(100% - 36px), 420px) !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px 26px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .site-footer-v316 .footer-col {
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .site-footer-v316 .footer-v316__brand,
  .site-footer-v316 .footer-v316__contact {
    grid-column: 1 / -1 !important;
  }

  .site-footer-v316 .footer-v316__brand {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 0 0 2px !important;
    border: 0 !important;
  }

  .site-footer-v316 .footer-v316__logo,
  .site-footer-v316 .footer-v316__text,
  .site-footer-v316 .footer-v316__badges,
  .site-footer-v316 .footer-v316__socials {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    justify-self: start !important;
  }

  .site-footer-v316 .footer-v316__logo {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: max-content !important;
    margin: 0 !important;
    color: #00412f !important;
  }

  .site-footer-v316 .footer-v316__logo span {
    font-size: 22px !important;
    line-height: .9 !important;
    letter-spacing: 5px !important;
    white-space: nowrap !important;
  }

  .site-footer-v316 .footer-v316__logo small {
    margin-top: 5px !important;
    font-size: 10px !important;
    letter-spacing: 1.3px !important;
  }

  .site-footer-v316 .footer-v316__logo .brand-mark {
    width: 18px !important;
    height: 32px !important;
    flex: 0 0 auto !important;
  }

  .site-footer-v316 .footer-v316__text {
    max-width: 330px !important;
    margin: 0 !important;
    color: #1f352f !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .site-footer.site-footer-v316 .footer-v316__badges {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 4px !important;
    margin: 0 !important;
  }

  .site-footer.site-footer-v316 .footer-v316__badges span {
    display: block !important;
    min-height: 0 !important;
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #00412f !important;
    font-size: 11.5px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  .site-footer.site-footer-v316 .footer-v316__badges span::before {
    content: "" !important;
    display: inline-block !important;
    width: 5px !important;
    height: 5px !important;
    margin-right: 6px !important;
    border-radius: 50% !important;
    background: #d88622 !important;
    vertical-align: 2px !important;
  }

  .site-footer-v316 .footer-v316__socials {
    display: flex !important;
    gap: 9px !important;
    margin: 0 !important;
  }

  .site-footer-v316 .footer-v316__socials a,
  .site-footer-v316 .footer-v316__contact-link span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    padding: 0 !important;
    border: 1px solid rgba(0, 65, 47, .14) !important;
    border-radius: 9px !important;
    background: rgba(0, 65, 47, .055) !important;
    color: #00412f !important;
    font-size: 0 !important;
  }

  .site-footer-v316 .footer-v316__socials a::before,
  .site-footer-v316 .footer-v316__contact-link span::before {
    content: "" !important;
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    background: currentColor !important;
    -webkit-mask: var(--pp-footer-icon) center / contain no-repeat !important;
    mask: var(--pp-footer-icon) center / contain no-repeat !important;
  }

  .site-footer-v316 .footer-col h3 {
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: #00412f !important;
    font-size: 18px !important;
    line-height: 1.12 !important;
  }

  .site-footer.site-footer-v316 .footer-v316__col h3 {
    font-size: 16px !important;
    line-height: 1.14 !important;
  }

  .site-footer-v316 .footer-v316__col a {
    display: block !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
    color: #1f352f !important;
    font-size: 13px !important;
    line-height: 1.28 !important;
    text-decoration: none !important;
  }

  .site-footer-v316 .footer-v316__col a:last-child {
    margin-bottom: 0 !important;
  }

  .site-footer-v316 .footer-v316__contact {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px 16px !important;
    padding-top: 2px !important;
    border: 0 !important;
  }

  .site-footer-v316 .footer-v316__contact h3 {
    grid-column: 1 / -1 !important;
    margin: 0 0 2px !important;
  }

  .site-footer.site-footer-v316 .footer-v316__contact-link {
    min-width: 0 !important;
    min-height: 32px !important;
    display: inline-grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #1f352f !important;
    font-size: 12.5px !important;
    line-height: 1.22 !important;
    text-decoration: none !important;
    overflow-wrap: anywhere !important;
  }

  .site-footer-v316 .footer-v316__contact > a:nth-of-type(4),
  .site-footer-v316 .footer-v316__contact > span.footer-v316__contact-link {
    grid-column: 1 / -1 !important;
  }

  .site-footer.site-footer-v316 a.footer-v316__button,
  .site-footer.site-footer-v316 a.footer-v316__button:visited,
  .site-footer.site-footer-v316 a.footer-v316__button:hover,
  .site-footer-v316 .footer-v316__button {
    display: none !important;
    visibility: hidden !important;
  }

  .site-footer-v316 .footer-v316__bottom {
    width: min(calc(100% - 36px), 420px) !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 10px 14px !important;
    align-items: start !important;
    margin: 20px auto 0 !important;
    padding: 14px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid rgba(222, 199, 170, .72) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .site-footer-v316 .pp-lang-switcher--footer {
    justify-self: start !important;
    margin: 0 !important;
  }

  .site-footer-v316 .footer-v316__legal {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 5px !important;
    justify-content: start !important;
  }

  .site-footer-v316 .footer-v316__legal a {
    display: block !important;
    margin: 0 !important;
    color: #1f352f !important;
    font-size: 11.5px !important;
    line-height: 1.22 !important;
    text-decoration: none !important;
  }

  .site-footer-v316 .copyright {
    grid-column: 1 / -1 !important;
    margin: 3px 0 0 !important;
    color: #5f6b66 !important;
    font-size: 11px !important;
    line-height: 1.32 !important;
  }
}

@media (max-width: 374px) {
  .site-footer-v316 .footer-v316__grid {
    grid-template-columns: 1fr !important;
  }

  .site-footer-v316 .footer-v316__contact {
    grid-template-columns: 1fr !important;
  }
}

/* v331: balance the two mobile footer link columns. */
@media (max-width: 767px) {
  .site-footer.site-footer-v316 .footer-v316__grid {
    width: min(calc(100% - 24px), 420px) !important;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
    column-gap: 14px !important;
  }

  .site-footer.site-footer-v316 .footer-v316__brand,
  .site-footer.site-footer-v316 .footer-v316__contact {
    grid-column: 1 / -1 !important;
  }

  .site-footer.site-footer-v316 .footer-v316__col h3 {
    font-size: 15px !important;
  }

  .site-footer.site-footer-v316 .footer-v316__col a {
    font-size: 12.5px !important;
  }

  .site-footer.site-footer-v316 .footer-v316__bottom {
    width: min(calc(100% - 24px), 420px) !important;
  }
}

@media (max-width: 360px) {
  .site-footer.site-footer-v316 .footer-v316__grid {
    grid-template-columns: 1fr !important;
  }
}

/* v332: make mobile footer navigation fully stable in one column. */
@media (max-width: 767px) {
  .site-footer.site-footer-v316 .footer-v316__grid {
    width: min(calc(100% - 40px), 390px) !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .site-footer.site-footer-v316 .footer-v316__brand,
  .site-footer.site-footer-v316 .footer-v316__col,
  .site-footer.site-footer-v316 .footer-v316__contact {
    grid-column: 1 / -1 !important;
  }

  .site-footer.site-footer-v316 .footer-v316__col h3 {
    font-size: 18px !important;
  }

  .site-footer.site-footer-v316 .footer-v316__col a {
    font-size: 13px !important;
  }

  .site-footer.site-footer-v316 .footer-v316__bottom {
    width: min(calc(100% - 40px), 390px) !important;
  }
}

/* v333: polished two-column mobile footer concept approved 2026-10-11. */
@media (max-width: 767px) {
  .site-footer.site-footer-v316 {
    --pp-footer-ink: #063f30;
    --pp-footer-text: #172d27;
    --pp-footer-muted: #5f706a;
    --pp-footer-line: rgba(214, 181, 137, .72);
    --pp-footer-gold: #d88a24;
    --pp-footer-soft: #eef7f2;
    padding: 16px 0 92px !important;
    background: #fffaf3 !important;
    border-top: 1px solid rgba(214, 181, 137, .5) !important;
  }

  .site-footer.site-footer-v316,
  .site-footer.site-footer-v316 * {
    box-sizing: border-box !important;
  }

  .site-footer.site-footer-v316 .footer-v316__grid {
    width: min(calc(100% - 28px), 390px) !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px 24px !important;
    margin: 0 auto !important;
    padding: 18px 16px 0 !important;
    border: 1px solid var(--pp-footer-line) !important;
    border-bottom: 0 !important;
    border-radius: 12px 12px 0 0 !important;
    background: linear-gradient(180deg, #fffdf9 0%, #fffaf3 100%) !important;
    box-shadow: 0 16px 36px rgba(45, 31, 15, .055) !important;
    overflow: visible !important;
  }

  .site-footer.site-footer-v316 .footer-col {
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .site-footer.site-footer-v316 .footer-v316__brand,
  .site-footer.site-footer-v316 .footer-v316__contact {
    grid-column: 1 / -1 !important;
  }

  .site-footer.site-footer-v316 .footer-v316__brand {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 13px !important;
    padding: 0 0 18px !important;
    border-bottom: 1px solid var(--pp-footer-line) !important;
  }

  .site-footer.site-footer-v316 .footer-v316__logo,
  .site-footer.site-footer-v316 .footer-v316__text,
  .site-footer.site-footer-v316 .footer-v316__badges,
  .site-footer.site-footer-v316 .footer-v316__socials {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    justify-self: start !important;
  }

  .site-footer.site-footer-v316 .footer-v316__logo {
    display: inline-flex !important;
    align-items: center !important;
    gap: 11px !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    color: var(--pp-footer-ink) !important;
    text-decoration: none !important;
  }

  .site-footer.site-footer-v316 .footer-v316__logo span {
    font-size: 22px !important;
    line-height: .9 !important;
    letter-spacing: 5px !important;
    white-space: nowrap !important;
  }

  .site-footer.site-footer-v316 .footer-v316__logo small {
    display: block !important;
    margin-top: 5px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: 1.4px !important;
  }

  .site-footer.site-footer-v316 .footer-v316__logo .brand-mark {
    width: 18px !important;
    height: 32px !important;
    flex: 0 0 auto !important;
  }

  .site-footer.site-footer-v316 .footer-v316__text {
    max-width: 31ch !important;
    margin: 0 !important;
    color: var(--pp-footer-text) !important;
    font-size: 13px !important;
    line-height: 1.38 !important;
  }

  .site-footer.site-footer-v316 .footer-v316__badges {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin: 0 !important;
  }

  .site-footer.site-footer-v316 .footer-v316__badges span {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    min-height: 28px !important;
    padding: 0 10px !important;
    border: 1px solid rgba(6, 63, 48, .16) !important;
    border-radius: 999px !important;
    background: var(--pp-footer-soft) !important;
    color: var(--pp-footer-ink) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .site-footer.site-footer-v316 .footer-v316__badges span::before {
    content: none !important;
  }

  .site-footer.site-footer-v316 .footer-v316__socials {
    display: flex !important;
    gap: 8px !important;
    margin: 0 !important;
  }

  .site-footer.site-footer-v316 .footer-v316__socials a,
  .site-footer.site-footer-v316 .footer-v316__contact-link > span {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
    border: 1px solid rgba(6, 63, 48, .16) !important;
    border-radius: 10px !important;
    background: var(--pp-footer-soft) !important;
    color: var(--pp-footer-ink) !important;
    font-size: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
  }

  .site-footer.site-footer-v316 .footer-v316__socials a::before,
  .site-footer.site-footer-v316 .footer-v316__contact-link > span::before {
    content: "" !important;
    display: block !important;
    width: 17px !important;
    height: 17px !important;
    margin: 0 !important;
    background: currentColor !important;
    -webkit-mask: var(--pp-footer-icon) center / contain no-repeat !important;
    mask: var(--pp-footer-icon) center / contain no-repeat !important;
    transform: none !important;
  }

  .site-footer.site-footer-v316 .footer-v316__col {
    display: block !important;
  }

  .site-footer.site-footer-v316 .footer-v316__col h3,
  .site-footer.site-footer-v316 .footer-v316__contact h3 {
    margin: 0 0 10px !important;
    padding: 0 !important;
    color: var(--pp-footer-ink) !important;
    font-size: 18px !important;
    line-height: 1.08 !important;
  }

  .site-footer.site-footer-v316 .footer-v316__col a {
    display: block !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
    color: var(--pp-footer-text) !important;
    font-size: 13px !important;
    line-height: 1.24 !important;
    text-decoration: none !important;
    overflow-wrap: normal !important;
  }

  .site-footer.site-footer-v316 .footer-v316__col a:last-child {
    margin-bottom: 0 !important;
  }

  .site-footer.site-footer-v316 .footer-v316__contact {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 14px !important;
    padding-top: 18px !important;
    border-top: 1px solid var(--pp-footer-line) !important;
  }

  .site-footer.site-footer-v316 .footer-v316__contact h3 {
    grid-column: 1 / -1 !important;
    margin-bottom: 2px !important;
  }

  .site-footer.site-footer-v316 .footer-v316__contact-link {
    min-width: 0 !important;
    min-height: 36px !important;
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) !important;
    gap: 9px !important;
    align-items: center !important;
    justify-items: start !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--pp-footer-text) !important;
    font-size: 12.5px !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    overflow-wrap: anywhere !important;
  }

  .site-footer.site-footer-v316 .footer-v316__contact > a:nth-of-type(4) {
    grid-column: 1 / -1 !important;
  }

  .site-footer.site-footer-v316 .footer-v316__contact > span.footer-v316__contact-link {
    grid-column: auto !important;
  }

  .site-footer.site-footer-v316 a.footer-v316__button,
  .site-footer.site-footer-v316 a.footer-v316__button:visited,
  .site-footer.site-footer-v316 a.footer-v316__button:hover,
  .site-footer.site-footer-v316 .footer-v316__button {
    display: none !important;
    visibility: hidden !important;
  }

  .site-footer.site-footer-v316 .footer-v316__bottom {
    width: min(calc(100% - 28px), 390px) !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 12px 16px !important;
    align-items: start !important;
    margin: 0 auto !important;
    padding: 14px 16px 16px !important;
    border: 1px solid var(--pp-footer-line) !important;
    border-top: 0 !important;
    border-radius: 0 0 12px 12px !important;
    background: linear-gradient(180deg, #fffaf3 0%, #fff8ef 100%) !important;
    box-shadow: 0 16px 36px rgba(45, 31, 15, .055) !important;
    overflow: visible !important;
  }

  .site-footer.site-footer-v316 .pp-lang-switcher--footer {
    justify-self: start !important;
    margin: 0 !important;
  }

  .site-footer.site-footer-v316 .pp-lang-dropdown__summary {
    min-height: 34px !important;
    padding: 0 14px !important;
    border-color: rgba(216, 138, 36, .45) !important;
    background: #fffaf5 !important;
    color: var(--pp-footer-ink) !important;
  }

  .site-footer.site-footer-v316 .footer-v316__legal {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    justify-items: end !important;
    text-align: right !important;
  }

  .site-footer.site-footer-v316 .footer-v316__legal a {
    display: block !important;
    margin: 0 !important;
    color: var(--pp-footer-text) !important;
    font-size: 11.5px !important;
    line-height: 1.22 !important;
    text-decoration: none !important;
  }

  .site-footer.site-footer-v316 .copyright {
    grid-column: 1 / -1 !important;
    margin: 2px 0 0 !important;
    color: var(--pp-footer-muted) !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 359px) {
  .site-footer.site-footer-v316 .footer-v316__grid,
  .site-footer.site-footer-v316 .footer-v316__bottom {
    width: min(calc(100% - 20px), 390px) !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .site-footer.site-footer-v316 .footer-v316__grid {
    column-gap: 18px !important;
  }

  .site-footer.site-footer-v316 .footer-v316__col h3,
  .site-footer.site-footer-v316 .footer-v316__contact h3 {
    font-size: 17px !important;
  }

  .site-footer.site-footer-v316 .footer-v316__contact {
    grid-template-columns: 1fr !important;
  }
}

/* v334: restore approved two-column mobile footer sections after v332 override. */
@media (max-width: 767px) {
  .site-footer.site-footer-v316 .footer-v316__grid > .footer-v316__col {
    grid-column: auto !important;
  }

  .site-footer.site-footer-v316 .footer-v316__grid > .footer-v316__brand,
  .site-footer.site-footer-v316 .footer-v316__grid > .footer-v316__contact {
    grid-column: 1 / -1 !important;
  }

  .site-footer.site-footer-v316 .footer-v316__contact {
    grid-template-columns: 1fr !important;
  }

  .site-footer.site-footer-v316 .footer-v316__contact-link {
    width: 100% !important;
  }
}

@media (min-width: 390px) and (max-width: 767px) {
  .site-footer.site-footer-v316 .footer-v316__contact {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
  }

  .site-footer.site-footer-v316 .footer-v316__contact > a:nth-of-type(4) {
    grid-column: 1 / -1 !important;
  }
}

/* v335: remove double mobile footer frame and let content use the outer card width. */
@media (max-width: 767px) {
  .site-footer.site-footer-v316 .footer-v316__grid {
    width: min(calc(100% - 28px), 390px) !important;
    padding: 18px 16px 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
  }

  .site-footer.site-footer-v316 .footer-v316__bottom {
    width: min(calc(100% - 28px), 390px) !important;
    padding: 14px 16px 16px !important;
    border-top: 0 !important;
    box-shadow: none !important;
  }

  .site-footer.site-footer-v316 .footer-v316__grid::before,
  .site-footer.site-footer-v316 .footer-v316__grid::after,
  .site-footer.site-footer-v316 .footer-v316__bottom::before,
  .site-footer.site-footer-v316 .footer-v316__bottom::after {
    content: none !important;
    display: none !important;
  }
}

/* v336: use one outer mobile footer frame; remove inner card border. */
@media (max-width: 767px) {
  .site-footer.site-footer-v316 .footer-v316__grid,
  .site-footer.site-footer-v316 .footer-v316__bottom {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .site-footer.site-footer-v316 .footer-v316__grid {
    border-top: 0 !important;
  }

  .site-footer.site-footer-v316 .footer-v316__bottom {
    border-bottom: 0 !important;
  }
}

@media (max-width: 640px) {
  body.postid-10830 .px-hero .px-hero-content {
    background-image: linear-gradient(180deg, rgba(7,25,20,.28), rgba(7,25,20,.76)), var(--hero-mobile, var(--hero)) !important;
  }
}

@media (max-width: 640px) {
  body.postid-10800 .px-hero .px-hero-content {
    background-image: linear-gradient(180deg, rgba(7,25,20,.28), rgba(7,25,20,.76)), var(--hero-mobile, var(--hero)) !important;
  }
}

@media (max-width: 640px) {
  body.postid-10798 .px-hero .px-hero-content {
    background-image: linear-gradient(180deg, rgba(7,25,20,.28), rgba(7,25,20,.76)), var(--hero-mobile, var(--hero)) !important;
  }
}

@media (max-width: 640px) {
  body.postid-9824 .px-hero .px-hero-content {
    background-image: linear-gradient(180deg, rgba(7,25,20,.28), rgba(7,25,20,.76)), var(--hero-mobile, var(--hero)) !important;
  }
}

@media (max-width: 640px) {
  body.postid-12130 .px-hero .px-hero-content {
    background-image: linear-gradient(180deg, rgba(7,25,20,.28), rgba(7,25,20,.76)), var(--hero-mobile, var(--hero)) !important;
  }
}

@media (max-width: 640px) {
  body.postid-12136 .px-hero .px-hero-content,
  body.postid-12137 .px-hero .px-hero-content {
    background-image: linear-gradient(180deg, rgba(7,25,20,.28), rgba(7,25,20,.76)), var(--hero-mobile, var(--hero)) !important;
  }
}


@media (min-width: 821px) {
  html body.single-excursion.postid-12326 main.pp-excursion-render > section.px-hero.px-hero-unified {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    --px-hero-height: clamp(540px, 40vw, 720px);
    background-color: #1e302a !important;
    background-image: linear-gradient(90deg, rgba(12,28,23,.28), transparent 72%), var(--hero) !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    color: #fff !important;
  }
  html body.single-excursion.postid-12326 main.pp-excursion-render > section.px-hero.px-hero-unified > .px-hero-photo {
    inset: 0 !important;
    background-position: center center !important;
    background-size: cover !important;
  }
  html body.single-excursion.postid-12326 main.pp-excursion-render > section.px-hero.px-hero-unified > .px-wrap {
    width: min(1320px, 100%) !important;
    margin: 0 auto !important;
    padding: 48px !important;
  }
  html body.single-excursion.postid-12326 main.pp-excursion-render > section.px-hero.px-hero-unified .px-hero-content {
    flex: 0 1 54% !important;
    max-width: 680px !important;
    color: #fff !important;
    text-shadow: 0 2px 18px rgba(0,0,0,.4) !important;
  }
  html body.single-excursion.postid-12326 main.pp-excursion-render > section.px-hero.px-hero-unified h1 {
    font-size: clamp(34px, 3.1vw, 54px) !important;
    line-height: 1.08 !important;
    color: #fff !important;
    text-shadow: 0 2px 18px rgba(0,0,0,.4) !important;
  }
  html body.single-excursion.postid-12326 main.pp-excursion-render > section.px-hero.px-hero-unified .px-hero-content > p,
  html body.single-excursion.postid-12326 main.pp-excursion-render > section.px-hero.px-hero-unified .px-hero-meta > span,
  html body.single-excursion.postid-12326 main.pp-excursion-render > section.px-hero.px-hero-unified .px-price b,
  html body.single-excursion.postid-12326 main.pp-excursion-render > section.px-hero.px-hero-unified .px-price small {
    color: #fff !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.55) !important;
  }
}
@media (max-width: 820px) {
  html body.single-excursion.postid-12326 main.pp-excursion-render > section.px-hero.px-hero-unified .px-hero-content {
    background-image: linear-gradient(180deg, rgba(7,25,20,.18), rgba(7,25,20,.48) 45%, rgba(7,25,20,.70)), var(--hero-mobile, var(--hero)) !important;
    background-position: center, center 70% !important;
  }
}
.ex-card:has(a[href$="/louvre-for-kids/"]) .ex-tag {
  display: none !important;
}
html body.postid-12326 .px-seen .px-card-row article img {
  object-fit: contain !important;
  background: #f5f1ea !important;
  padding: 8px !important;
  box-sizing: border-box !important;
}

/* Versailles children: full-width hero, scoped to new programme */
@media (min-width: 821px) {
  html body.single-excursion.postid-12412 main.pp-excursion-render > section.px-hero.px-hero-unified {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    --px-hero-height: clamp(540px, 40vw, 720px);
    background-color: #1e302a !important;
    background-image: linear-gradient(90deg, rgba(12,28,23,.28), transparent 72%), var(--hero) !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    color: #fff !important;
  }
  html body.single-excursion.postid-12412 main.pp-excursion-render > section.px-hero.px-hero-unified > .px-hero-photo {
    inset: 0 !important;
    background-position: center center !important;
    background-size: cover !important;
  }
  html body.single-excursion.postid-12412 main.pp-excursion-render > section.px-hero.px-hero-unified > .px-wrap {
    width: min(1320px, 100%) !important;
    margin: 0 auto !important;
    padding: 48px !important;
  }
  html body.single-excursion.postid-12412 main.pp-excursion-render > section.px-hero.px-hero-unified .px-hero-content {
    flex: 0 1 54% !important;
    max-width: 680px !important;
    color: #fff !important;
    text-shadow: 0 2px 18px rgba(0,0,0,.4) !important;
  }
  html body.single-excursion.postid-12412 main.pp-excursion-render > section.px-hero.px-hero-unified h1 {
    font-size: clamp(34px, 3.1vw, 54px) !important;
    line-height: 1.08 !important;
    color: #fff !important;
    text-shadow: 0 2px 18px rgba(0,0,0,.4) !important;
  }
  html body.single-excursion.postid-12412 main.pp-excursion-render > section.px-hero.px-hero-unified .px-hero-content > p,
  html body.single-excursion.postid-12412 main.pp-excursion-render > section.px-hero.px-hero-unified .px-hero-meta > span,
  html body.single-excursion.postid-12412 main.pp-excursion-render > section.px-hero.px-hero-unified .px-price b,
  html body.single-excursion.postid-12412 main.pp-excursion-render > section.px-hero.px-hero-unified .px-price small {
    color: #fff !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.55) !important;
  }
}
@media (max-width: 820px) {
  html body.single-excursion.postid-12412 main.pp-excursion-render > section.px-hero.px-hero-unified .px-hero-content {
    background-image: linear-gradient(180deg, rgba(7,25,20,.18), rgba(7,25,20,.48) 45%, rgba(7,25,20,.70)), var(--hero-mobile, var(--hero)) !important;
    background-position: center, center 70% !important;
  }
}
.ex-card:has(a[href$="/versailles-for-kids/"]) .ex-tag {
  display: none !important;
}


@media(max-width:820px){
html body .footer-v316__bottom .footer-v316__legal.footer-v316__legal{grid-column:1 / -1!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;justify-content:flex-start!important;align-self:stretch!important;justify-self:stretch!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;margin-left:0!important;margin-right:0!important;gap:8px!important;text-align:right!important}
html body .footer-v316__bottom .footer-v316__legal.footer-v316__legal a{display:block!important;width:auto!important;margin:0!important;text-align:right!important;line-height:1.5!important}
}


/* Desktop footer width shared by all templates. */
@media(min-width:1100px){
html body .site-footer.site-footer-v316 .wrap.footer-v316__grid.footer-v316__grid,html body .site-footer.site-footer-v316 .wrap.footer-v316__bottom.footer-v316__bottom{width:calc(100% - 48px)!important;max-width:1240px!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important;box-sizing:border-box!important}
html body .site-footer.site-footer-v316 .wrap.footer-v316__grid.footer-v316__grid{grid-template-columns:minmax(170px,1.2fr) minmax(150px,.8fr) minmax(150px,1fr) minmax(200px,1.2fr) minmax(250px,1.5fr)!important;column-gap:20px!important}
}

@media(min-width:821px){html body .site-footer-v316 .footer-v316__bottom .footer-v316__legal{grid-column:2 / -1!important;justify-self:end!important;justify-content:flex-end!important;text-align:right!important}}
