/**
 * Martins Global Travels — readability layer
 * Lifts brightness & text clarity. Same colors — not a redesign.
 */

html {
  font-size: 17px;
  -webkit-text-size-adjust: 100%;
}

/* ── Lift the whole palette (same hues, brighter values) ── */
:root {
  --ink: #141414;
  --ink2: #1c1c1c;
  --ink3: #242424;
  --ink4: #2c2c2c;
  --ink5: #343434;
  --off: #f9f7f3;
  --white: #ffffff;
  --dim: rgba(255, 255, 255, 0.84);
  --dimmer: rgba(255, 255, 255, 0.7);
  --dimmest: rgba(255, 255, 255, 0.14);
  --border: rgba(255, 255, 255, 0.14);
  --border-dark: rgba(255, 255, 255, 0.14);
  --border-light: rgba(0, 0, 0, 0.09);
  --muted2: rgba(5, 5, 5, 0.48);
}

/* Dark pages — slightly brighter black, not pure # overflow */
body {
  background: var(--ink) !important;
  color: #fff;
  font-weight: 400;
  line-height: 1.65;
}

body:has(.book-page),
body:has(.book-hero) {
  background: var(--off) !important;
  color: #1a1a1a !important;
  --dim: rgba(26, 26, 26, 0.8);
  --dimmer: rgba(26, 26, 26, 0.66);
  --muted2: rgba(26, 26, 26, 0.48);
}

::-webkit-scrollbar-track {
  background: var(--ink);
}

/* Nav — keep original translucent behavior (not solid black) */
body:has(#page-home) nav#nav:not(.dark) {
  background: transparent !important;
  backdrop-filter: none !important;
  border-bottom-color: transparent !important;
}

nav#nav.dark {
  background: rgba(5, 5, 5, 0.92) !important;
  backdrop-filter: blur(20px) !important;
}

.mob {
  background: var(--ink2) !important;
}

.mob a {
  color: rgba(255, 255, 255, 0.72) !important;
}

/* Hero overlays — same gradient shape, lighter base */
.hero-grad {
  background: linear-gradient(
    to top,
    rgba(20, 20, 20, 0.96) 0%,
    rgba(20, 20, 20, 0.42) 40%,
    rgba(20, 20, 20, 0.1) 100%
  ) !important;
}

.hero-grad2 {
  background: linear-gradient(to right, rgba(20, 20, 20, 0.48) 0%, transparent 60%) !important;
}

.book-hero-bg::after {
  background: linear-gradient(
    to bottom,
    rgba(20, 20, 20, 0.42) 0%,
    rgba(20, 20, 20, 0.62) 55%,
    rgba(20, 20, 20, 0.82) 100%
  ) !important;
}

.ph-ov {
  background: linear-gradient(
    to top,
    rgba(20, 20, 20, 0.92) 0%,
    rgba(20, 20, 20, 0.28) 65%
  ) !important;
}

.cta-ov {
  background: linear-gradient(
    to right,
    rgba(20, 20, 20, 0.9) 35%,
    rgba(20, 20, 20, 0.22) 100%
  ) !important;
}

/* Cards & panels — inherit brighter --ink2/3 via variables */
.portal-card,
.card,
.modal-box,
.book-search,
.result-card,
.trust-card,
.pw-modal-card,
.stat-box,
.msg,
.wc-popup-dialog {
  /* variables handle background */
}

/* ── Brighter body copy on dark sections ── */
.body,
.hero-desc,
.ph-s,
.wcard-d,
.pcard-sub,
.dpc-desc,
.apillar-d,
.vcard-d,
.tmc-bio,
.portal-lead,
.lead,
.hint,
.balance-note,
.portal-foot,
.legal-prose,
.legal-meta,
.faq-a,
.abl p {
  font-weight: 400 !important;
  line-height: 1.75 !important;
}

.page .body,
.page .hero-desc,
.page .ph-s,
.page .wcard-d,
.page .pcard-sub,
.page .dpc-desc,
.page .apillar-d,
.page .vcard-d,
.page .tmc-bio,
.page .abl p,
.page .cdet-v,
.page .cdet-v a,
.page .faq-a,
.page .legal-prose,
.page .legal-prose p,
.page .legal-prose li {
  color: rgba(255, 255, 255, 0.86) !important;
  font-size: 17px !important;
}

.page .hero-desc,
.page .ph-s {
  font-size: 18px !important;
}

.page .pfeat {
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 15px !important;
}

.page .pfeat.off {
  color: rgba(255, 255, 255, 0.42) !important;
}

.legal-prose h2 {
  color: #fff !important;
}

/* Nav links */
nav .nav-links a {
  color: rgba(255, 255, 255, 0.76) !important;
  font-size: 12px !important;
}

nav .nav-links a:hover,
nav .nav-links a.act {
  color: #fff !important;
}

.nav-sub {
  font-size: 9px !important;
  letter-spacing: 3.5px !important;
}

/* Footer */
footer .ft-links a,
.site-footer .ft-links a,
.book-footer .ft-links a,
footer .ft-cv,
.site-footer .ft-cv,
.book-footer .ft-cv {
  color: rgba(255, 255, 255, 0.74) !important;
  font-size: 15px !important;
}

footer .ft-tag,
.site-footer .ft-tag,
.book-footer .ft-tag {
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 15px !important;
}

footer .ft-copy,
footer .ft-leg a,
.site-footer .ft-copy,
.site-footer .ft-leg a,
.book-footer .ft-copy,
.book-footer .ft-leg a {
  color: rgba(255, 255, 255, 0.52) !important;
  font-size: 13px !important;
}

/* Labels */
.tag,
.ph-ey,
.portal-ey,
.ft-ch,
.lbl,
.portal-lbl,
.modal-lbl,
.pcard-tier,
.dpc-region,
.hero-stat-lbl,
.mq-item,
.search-lbl {
  font-size: 11px !important;
  letter-spacing: 2.5px !important;
}

.mq-item {
  color: var(--dimmer) !important;
}

/* Portal & admin */
body .portal-lead,
body .lead {
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 16px !important;
}

.portal-inp,
.inp,
.finp,
.fsel,
.fta,
.nl-inp {
  font-size: 16px !important;
  font-weight: 400 !important;
  background: var(--ink3) !important;
}

.portal-inp::placeholder,
.inp::placeholder,
.finp::placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}

.client-table td,
.mini-table td:not(:last-child),
.pay-table td {
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 14px !important;
}

.hint,
.list-count,
.portal-foot {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 14px !important;
}

/* Buttons */
.btn-primary,
.nav-cta,
.portal-btn,
.btn,
.search-go,
.modal-pay,
.fb,
.tab {
  font-size: 12px !important;
  letter-spacing: 2px !important;
}

/* ── Book page — brighter cream areas, same palette ── */
.book-search,
.result-card,
.trust-card,
.modal-box,
.book-banner,
.cal-popover {
  background: #fff !important;
}

.book-footer {
  background: var(--ink2) !important;
}

.cta-inner {
  background: var(--ink3) !important;
}

.book-lead {
  color: rgba(255, 255, 255, 0.84) !important;
  font-size: 17px !important;
}

.trust-d,
.result-per,
.leg-meta,
.leg-label,
.modal-s,
.receipt-note,
.flight-empty,
.search-err,
.cta-inner p {
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  color: var(--dimmer) !important;
}

.search-inp,
.search-sel,
.modal-inp,
.date-trigger {
  font-size: 16px !important;
  font-weight: 400 !important;
  background: var(--off) !important;
}

.search-inp::placeholder {
  color: rgba(26, 26, 26, 0.45) !important;
}

.result-airline,
.leg-route,
.leg-time {
  font-size: 15px !important;
}

.trust-t {
  font-size: 18px !important;
}

.cta-inner h2 {
  color: #fff !important;
}

.cta-inner p {
  color: rgba(255, 255, 255, 0.72) !important;
}

/* Destinations cream band — slightly brighter */
.dest-sec {
  background: var(--off) !important;
}

.dest-sec .link-arrow,
.dest-sec .dest-foot span {
  color: rgba(26, 26, 26, 0.68) !important;
}

.dest-sec .td-card-desc {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 13px !important;
}

/* Tour cards */
.tours-sec .tcard-desc {
  color: rgba(26, 26, 26, 0.72) !important;
  font-size: 14px !important;
}

.tours-sec .tcard-loc {
  color: rgba(26, 26, 26, 0.58) !important;
}

.tours-scroll-hint {
  color: rgba(255, 255, 255, 0.62) !important;
  font-size: 11px !important;
}

/* World Cup popup backdrop — slightly softer */
.wc-popup-backdrop {
  background: linear-gradient(
    180deg,
    rgba(20, 20, 20, 0.84) 0%,
    rgba(20, 20, 20, 0.9) 100%
  ) !important;
}
