/* Page-scoped editorial refinement for the Uganda honeymoon guide. */
.honeymoon-guide-page {
  --honeymoon-rule: rgba(16, 41, 31, 0.16);
  --honeymoon-rule-soft: rgba(16, 41, 31, 0.1);
}

.honeymoon-guide-page .guide-hero {
  min-height: clamp(520px, 68vh, 700px);
}

.honeymoon-guide-page .guide-hero__inner {
  padding-bottom: 58px;
}

.honeymoon-guide-page .guide-breadcrumbs {
  padding-block: 16px;
}

.honeymoon-guide-page .guide-intro {
  gap: clamp(24px, 3vw, 38px);
  padding: clamp(34px, 4.5vw, 54px) 0;
}

.honeymoon-guide-page .guide-section {
  padding: clamp(34px, 4.5vw, 58px) 0;
}

.honeymoon-guide-page .guide-intro h2,
.honeymoon-guide-page .guide-section h2,
.honeymoon-guide-page .guide-cta h2 {
  font-size: clamp(1.9rem, 3.3vw, 3rem) !important;
  line-height: 1.04 !important;
}

.honeymoon-guide-page .guide-intro__copy > p,
.honeymoon-guide-page .guide-section__lead,
.honeymoon-guide-page .guide-prose p,
.honeymoon-guide-page .guide-prose li,
.honeymoon-guide-page .guide-faq details p,
.honeymoon-guide-page .guide-source-note {
  font-size: 0.97rem !important;
  line-height: 1.7 !important;
}

.honeymoon-guide-page .guide-intro__copy > p,
.honeymoon-guide-page .guide-prose p {
  margin-top: 15px;
}

.honeymoon-guide-page .guide-quick-answer {
  padding: 22px;
  border-radius: 18px;
  box-shadow: 0 16px 34px rgba(10, 31, 23, 0.07);
}

.honeymoon-guide-page .guide-quick-answer h2 {
  font-size: clamp(1.45rem, 2.2vw, 1.95rem) !important;
}

.honeymoon-arrival-note {
  padding-top: 16px;
  border-top: 1px solid var(--honeymoon-rule);
}

.honeymoon-arrival-note strong,
.honeymoon-route-note strong,
.honeymoon-price-note strong {
  color: var(--guide-ink);
}

.honeymoon-editorial-list,
.honeymoon-season-compare,
.honeymoon-quote-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 24px;
  border-top: 1px solid var(--honeymoon-rule);
  border-bottom: 1px solid var(--honeymoon-rule-soft);
}

.honeymoon-editorial-list article,
.honeymoon-season-compare article,
.honeymoon-quote-columns article {
  min-width: 0;
  padding: 20px 22px 22px;
}

.honeymoon-editorial-list article + article,
.honeymoon-season-compare article + article,
.honeymoon-quote-columns article + article {
  border-left: 1px solid var(--honeymoon-rule-soft);
}

.honeymoon-editorial-list h3,
.honeymoon-season-compare h3,
.honeymoon-route h3,
.honeymoon-forest-sequence h3,
.honeymoon-mid-cta h3 {
  margin: 8px 0 0;
  color: var(--guide-ink);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.28rem, 1.9vw, 1.65rem);
  font-weight: 600;
  line-height: 1.08;
}

.honeymoon-editorial-list p,
.honeymoon-season-compare p,
.honeymoon-route p,
.honeymoon-forest-sequence p,
.honeymoon-mid-cta p,
.honeymoon-booking-questions dd,
.honeymoon-destination-list dd {
  margin: 10px 0 0;
  color: var(--guide-muted);
  font-size: 0.95rem;
  line-height: 1.68;
}

.honeymoon-guide-page .guide-table-wrap {
  margin-top: 22px;
  border-radius: 12px;
}

.honeymoon-guide-page .guide-rate-table caption {
  padding: 10px 14px;
  border-bottom: 1px solid var(--honeymoon-rule-soft);
  color: var(--guide-muted);
  font-size: 0.82rem;
  font-weight: 600;
  text-align: left;
}

.honeymoon-guide-page .guide-rate-table th,
.honeymoon-guide-page .guide-rate-table td {
  padding: 11px 13px;
}

.honeymoon-guide-page .guide-rate-table td {
  font-size: 0.88rem;
  line-height: 1.45;
}

.honeymoon-destination-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 34px;
  margin: 24px 0 0;
}

.honeymoon-destination-list > div {
  display: grid;
  grid-template-columns: minmax(135px, 0.42fr) minmax(0, 1fr);
  gap: 16px;
  padding: 18px 0;
  border-top: 1px solid var(--honeymoon-rule);
}

.honeymoon-destination-list dt,
.honeymoon-booking-questions dt {
  color: var(--guide-ink);
  font-weight: 700;
  line-height: 1.35;
}

.honeymoon-destination-list dd {
  margin: 0;
}

.honeymoon-destination-list dd strong {
  display: block;
  margin-bottom: 3px;
  color: var(--guide-green);
  font-weight: 600;
}

.honeymoon-route-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 24px;
  border-top: 1px solid var(--honeymoon-rule);
  border-bottom: 1px solid var(--honeymoon-rule);
}

.honeymoon-route {
  min-width: 0;
  padding: 22px 24px 24px 0;
}

.honeymoon-route + .honeymoon-route {
  padding-right: 0;
  padding-left: 24px;
  border-left: 1px solid var(--honeymoon-rule-soft);
}

.honeymoon-route h3 a {
  color: var(--guide-green);
  text-decoration-color: rgba(25, 73, 54, 0.3);
  text-underline-offset: 0.18em;
}

.honeymoon-route dl {
  margin: 18px 0 0;
}

.honeymoon-route dl > div {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 14px;
  padding: 9px 0;
  border-top: 1px solid var(--honeymoon-rule-soft);
}

.honeymoon-route dt {
  color: var(--guide-muted);
  font-size: 0.73rem;
  font-weight: 700;
  letter-spacing: 0.065em;
  text-transform: uppercase;
}

.honeymoon-route dd {
  margin: 0;
  color: var(--guide-ink);
  font-size: 0.91rem;
  line-height: 1.48;
}

.honeymoon-route-note {
  margin: 20px 0 0;
  color: var(--guide-muted);
  font-size: 0.95rem;
  line-height: 1.65;
}

.honeymoon-price-note {
  margin: 8px 0 0;
  color: var(--guide-muted);
  font-size: 0.84rem;
  line-height: 1.58;
}

.honeymoon-mid-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  margin-top: 28px;
  padding: 24px 0;
  border-top: 1px solid var(--guide-gold);
  border-bottom: 1px solid var(--honeymoon-rule);
}

.honeymoon-mid-cta p {
  max-width: 66ch;
}

.honeymoon-mid-cta .guide-button {
  width: auto;
  min-width: 250px;
}

.honeymoon-guide-page .guide-figure {
  gap: clamp(24px, 4vw, 44px);
  margin-top: 24px;
}

.honeymoon-guide-page .guide-figure img {
  border-radius: 14px;
}

.honeymoon-season-compare,
.honeymoon-quote-columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.honeymoon-forest-sequence {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 34px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: forest-step;
}

.honeymoon-forest-sequence li {
  position: relative;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 12px;
  padding: 17px 0 19px;
  border-top: 1px solid var(--honeymoon-rule);
  counter-increment: forest-step;
}

.honeymoon-forest-sequence li::before {
  content: counter(forest-step, decimal-leading-zero);
  padding-top: 2px;
  color: var(--guide-gold);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.honeymoon-forest-sequence span {
  color: var(--guide-gold);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.honeymoon-forest-sequence a {
  color: var(--guide-green);
  font-weight: 600;
}

.honeymoon-quote-columns article {
  padding-left: 0;
}

.honeymoon-quote-columns article + article {
  padding-right: 0;
  padding-left: 24px;
}

.honeymoon-quote-columns .guide-card__eyebrow {
  display: block;
}

.honeymoon-quote-columns h3 {
  margin-top: 8px;
}

.honeymoon-booking-questions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 34px;
  margin: 24px 0 0;
}

.honeymoon-booking-questions > div {
  padding: 16px 0 18px;
  border-top: 1px solid var(--honeymoon-rule);
}

.honeymoon-booking-questions dd {
  margin-top: 6px;
}

.honeymoon-guide-page .guide-faq details {
  padding-block: 15px;
}

.honeymoon-guide-page .guide-source-note {
  margin-top: 22px;
  padding: 16px 18px;
  border-radius: 12px;
}

.honeymoon-related-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 22px;
  border-top: 1px solid var(--honeymoon-rule);
  border-bottom: 1px solid var(--honeymoon-rule-soft);
}

.honeymoon-related-links a {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 18px 20px 20px;
  color: inherit;
  text-decoration: none;
}

.honeymoon-related-links a + a {
  border-left: 1px solid var(--honeymoon-rule-soft);
}

.honeymoon-related-links span {
  color: var(--guide-gold);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.honeymoon-related-links strong {
  color: var(--guide-green);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.32rem;
  line-height: 1.08;
}

.honeymoon-related-links small {
  color: var(--guide-muted);
  font-size: 0.86rem;
  line-height: 1.5;
}

.honeymoon-related-links a:hover strong,
.honeymoon-related-links a:focus-visible strong {
  text-decoration: underline;
  text-decoration-color: rgba(25, 73, 54, 0.35);
  text-underline-offset: 0.16em;
}

.honeymoon-related-links a:focus-visible {
  outline: 2px solid rgba(184, 140, 63, 0.62);
  outline-offset: -3px;
}

.honeymoon-guide-page .guide-cta {
  margin-top: 34px;
  padding: clamp(28px, 4vw, 42px);
}

@media (max-width: 900px) {
  .honeymoon-editorial-list,
  .honeymoon-related-links {
    grid-template-columns: 1fr;
  }

  .honeymoon-editorial-list article + article,
  .honeymoon-related-links a + a {
    border-top: 1px solid var(--honeymoon-rule-soft);
    border-left: 0;
  }

  .honeymoon-mid-cta {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .honeymoon-mid-cta .guide-button {
    justify-self: start;
  }
}

@media (max-width: 720px) {
  .honeymoon-guide-page .guide-hero {
    min-height: 560px;
  }

  .honeymoon-guide-page .guide-hero__inner {
    padding: 112px 0 42px;
  }

  .honeymoon-guide-page .guide-hero h1 {
    font-size: clamp(2.55rem, 11.8vw, 3.35rem) !important;
  }

  .honeymoon-guide-page .guide-hero__lead {
    max-width: calc(100% - 20px);
    font-size: 0.96rem !important;
    line-height: 1.62 !important;
  }

  .honeymoon-guide-page .guide-hero__meta {
    gap: 7px 13px;
    max-width: calc(100% - 20px);
    font-size: 0.78rem;
  }

  .honeymoon-guide-page .guide-hero__meta span {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .honeymoon-guide-page .guide-intro,
  .honeymoon-guide-page .guide-section {
    padding-block: 32px;
  }

  .honeymoon-guide-page .guide-intro h2,
  .honeymoon-guide-page .guide-section h2,
  .honeymoon-guide-page .guide-cta h2 {
    font-size: clamp(1.78rem, 9vw, 2.25rem) !important;
  }

  .honeymoon-destination-list,
  .honeymoon-route-compare,
  .honeymoon-season-compare,
  .honeymoon-quote-columns,
  .honeymoon-forest-sequence,
  .honeymoon-booking-questions {
    grid-template-columns: 1fr;
  }

  .honeymoon-destination-list > div {
    grid-template-columns: 1fr;
    gap: 6px;
    padding-block: 15px;
  }

  .honeymoon-route {
    padding: 19px 0 21px;
  }

  .honeymoon-route + .honeymoon-route {
    padding-left: 0;
    border-top: 1px solid var(--honeymoon-rule);
    border-left: 0;
  }

  .honeymoon-route dl > div {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 10px;
  }

  .honeymoon-editorial-list article,
  .honeymoon-season-compare article,
  .honeymoon-quote-columns article {
    padding: 17px 0 19px;
  }

  .honeymoon-season-compare article + article,
  .honeymoon-quote-columns article + article {
    padding-left: 0;
    border-top: 1px solid var(--honeymoon-rule-soft);
    border-left: 0;
  }

  .honeymoon-mid-cta .guide-button {
    width: 100%;
    min-width: 0;
  }

  .honeymoon-related-links a {
    padding: 16px 0 18px;
  }

  .honeymoon-guide-page .guide-cta {
    margin-bottom: 48px;
    padding: 26px 24px;
  }

  .honeymoon-guide-page .back-to-top-arrow {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 92px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .honeymoon-related-links a,
  .honeymoon-mid-cta .guide-button {
    transition: none;
  }
}
