/* Inner-page (post/page/archive) content styling. Homepage untouched. */
body:not(.home){ padding-top: 0 !important; margin-top: 0 !important; }

.cw-main{ max-width: 900px; margin: 0 auto; padding: 2.4rem 22px 90px; }
.cw-article-header{ margin-bottom: 1.4rem; }
.cw-title{ font-family: var(--serif, var(--font-serif, Georgia,'Times New Roman',serif));
  font-size: clamp(1.9rem,4vw,2.9rem); line-height:1.15; color: var(--ink,var(--text-dark,#1f1f1f)); margin:0 0 .4rem; }
.cw-content{ font-size:1.06rem; line-height:1.85; color: var(--ink,#2b2b2b); }
.cw-content > *:first-child{ margin-top:0; }
.cw-content p{ margin:0 0 1.15rem; }
.cw-content h2{ font-family: var(--serif, var(--font-serif, Georgia,serif));
  font-size: clamp(1.35rem,2.6vw,1.95rem); line-height:1.25; margin:2.3rem 0 .85rem; color: var(--ink,var(--text-dark,#222)); }
.cw-content h3{ font-size:1.2rem; margin:1.6rem 0 .6rem; }
.cw-content a{ color:#b9722c; text-decoration:underline; text-underline-offset:2px; }
.cw-content strong{ font-weight:600; }
.cw-content .pull-quote{ border-left:4px solid #c98a3a; background:rgba(0,0,0,.03); margin:1.8rem 0; padding:1rem 1.3rem; font-size:1.15rem; font-style:italic; line-height:1.6; }
.cw-content .pull-quote p{ margin:0; }
.cw-content .tip-box{ background:rgba(201,138,58,.09); border:1px solid rgba(201,138,58,.28); border-left:4px solid #c98a3a; border-radius:8px; padding:1rem 1.2rem; margin:1.6rem 0; }
.cw-content .tip-box p:last-child{ margin-bottom:0; }
.cw-content .comparison-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; margin:1.6rem 0; }
.cw-content .comparison-card{ border:1px solid rgba(0,0,0,.12); border-radius:10px; padding:1.1rem 1.2rem; background:#fff; }
.cw-content .comparison-card p:last-child{ margin-bottom:0; }
.cw-content .faq-accordion{ margin:1.6rem 0; }
.cw-content details{ border:1px solid rgba(0,0,0,.12); border-radius:8px; padding:.4rem .95rem; margin:.6rem 0; background:#fff; }
.cw-content details summary{ cursor:pointer; font-weight:600; padding:.55rem 0; list-style:none; }
.cw-content details summary::-webkit-details-marker{ display:none; }
.cw-content details[open] summary{ margin-bottom:.3rem; }
.cw-archive-header{ margin-bottom:1.5rem; }
.cw-list{ display:grid; gap:1.3rem; }
.cw-card{ border-bottom:1px solid rgba(0,0,0,.1); padding-bottom:1.2rem; }
.cw-card-title{ font-size:1.3rem; margin:0 0 .4rem; line-height:1.3; }
.cw-card-title a{ color: var(--ink,#222); text-decoration:none; }
.cw-card-title a:hover{ color:#b9722c; }
.cw-excerpt{ color:#555; margin-bottom:.5rem; }
.cw-more{ font-weight:600; color:#b9722c; text-decoration:none; font-size:.9rem; }
.cw-pagination{ margin-top:2.4rem; }
.cw-pagination .page-numbers{ padding:.4rem .7rem; border:1px solid rgba(0,0,0,.15); border-radius:6px; margin-right:.3rem; text-decoration:none; }
.cw-pagination .current{ background:#1d2a1f; color:#fff; border-color:transparent; }

/* Inner-page: keep the site nav bar visible in normal flow (no hero behind it) */
body:not(.home) .util{ position: static !important; top: auto !important; }


/* ===== Tour / safari package cards (auto, theme-consistent via var() fallbacks) ===== */
:root{ --cwp-accent: var(--accent,var(--coral-deep,var(--clay,var(--orange,var(--gold,var(--teal,var(--forest,#b06a2c)))))));
  --cwp-dark: var(--teal-deep,var(--forest,var(--ink,var(--green-deep,var(--text-dark,#26332b)))));
  --cwp-paper: var(--paper-light,var(--paper-warm,var(--mist,var(--cream,var(--paper,#f2efe8)))));
  --cwp-ink: var(--ink,var(--text-dark,#26332b)); --cwp-soft: var(--ink-soft,var(--text-mid,#5c6a63));
  --cwp-line: var(--line,rgba(38,51,43,.14)); }
.cwp-section{ padding: clamp(48px,7vw,96px) 22px; }
.cwp-head{ max-width:760px; margin:0 auto 32px; text-align:center; }
.cwp-eyebrow{ font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--cwp-accent); }
.cwp-h2{ font-family:var(--serif,var(--font-serif,Georgia,serif)); font-weight:600; font-size:clamp(26px,3.2vw,40px);
  color:var(--cwp-ink); margin:.4rem 0 0; }
.cwp-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:22px; max-width:1180px; margin:0 auto; }
.cwp-grid--home{ grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); max-width:1080px; }
.cwp-card{ display:block; background:var(--cwp-paper); border:1px solid var(--cwp-line); border-top:3px solid var(--cwp-accent);
  border-radius:5px; padding:22px 22px 20px; text-decoration:none; color:var(--cwp-ink);
  transition:transform .25s ease, box-shadow .25s ease; }
.cwp-card:hover{ transform:translateY(-4px); box-shadow:0 16px 36px rgba(20,25,20,.16); }
.cwp-days{ display:inline-block; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:#fff; background:var(--cwp-dark); padding:4px 11px; border-radius:2px; }
.cwp-title{ font-family:var(--serif,var(--font-serif,Georgia,serif)); font-weight:600; font-size:21px; line-height:1.22;
  color:var(--cwp-ink); margin:14px 0 10px; }
.cwp-teaser{ font-size:14px; line-height:1.65; color:var(--cwp-soft); margin:0 0 16px; }
.cwp-more{ font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--cwp-accent); }
.cwp-cta{ text-align:center; margin-top:34px; }
.cwp-allbtn{ display:inline-block; font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:#fff; background:var(--cwp-dark); padding:14px 30px; border-radius:3px; text-decoration:none; }
.cwp-allbtn:hover{ filter:brightness(1.12); }
.cw-content .pkg-destinations{ background:var(--cwp-paper); border-left:3px solid var(--cwp-accent);
  padding:.7rem 1rem; border-radius:0 6px 6px 0; font-size:.97rem; }


/* ===== Consistent inner-page header + footer (theme-native via var() chains) ===== */
.cwx-header{ position:sticky; top:0; z-index:1000; background:var(--cwp-dark,#26332b);
  border-bottom:3px solid var(--cwp-accent,#b06a2c); font-family:var(--sans,var(--font-sans,Inter,system-ui,Arial,sans-serif)); }
.cwx-inner{ max-width:1200px; margin:0 auto; padding:0 22px; display:flex; align-items:center; gap:20px; min-height:64px; }
.cwx-brand{ font-family:var(--serif,var(--font-serif,Georgia,serif)); font-weight:700; font-size:1.35rem;
  letter-spacing:.5px; color:#fff !important; text-decoration:none; white-space:nowrap; }
.cwx-nav{ display:flex; flex-wrap:wrap; gap:2px 20px; margin-left:auto; }
.cwx-link{ color:rgba(255,255,255,.86) !important; text-decoration:none; font-size:.8rem; font-weight:600;
  letter-spacing:.08em; text-transform:uppercase; padding:8px 2px; border-bottom:2px solid transparent; white-space:nowrap; }
.cwx-link:hover{ color:#fff !important; border-bottom-color:var(--cwp-accent,#b06a2c); }
.cwx-toggle{ display:none; margin-left:auto; background:none; border:0; color:#fff; font-size:1.5rem; cursor:pointer; line-height:1; }
@media (max-width:860px){ .cwx-toggle{ display:block; }
  .cwx-nav{ display:none; flex-basis:100%; flex-direction:column; gap:0; margin:0; }
  .cwx-nav.open{ display:flex; padding-bottom:10px; }
  .cwx-link{ padding:11px 2px; border-bottom:1px solid rgba(255,255,255,.12); } }
.cwx-footer{ background:var(--cwp-dark,#20271f); color:rgba(255,255,255,.75);
  border-top:3px solid var(--cwp-accent,#b06a2c); margin-top:64px;
  font-family:var(--sans,var(--font-sans,Inter,system-ui,Arial,sans-serif)); }
.cwx-finner{ max-width:1200px; margin:0 auto; padding:40px 22px; }
.cwx-fbrand{ font-family:var(--serif,var(--font-serif,Georgia,serif)); font-weight:700; font-size:1.4rem; color:#fff; margin-bottom:14px; }
.cwx-fnav{ display:flex; flex-wrap:wrap; gap:10px 26px; margin-bottom:16px; }
.cwx-flink{ color:rgba(255,255,255,.78) !important; text-decoration:none; font-size:.85rem; }
.cwx-flink:hover{ color:#fff !important; }
.cwx-copy{ font-size:.78rem; color:rgba(255,255,255,.5); margin:0; }
/* inner content sits directly under the sticky bar */
body:not(.home) .cw-main{ padding-top:2.2rem; }


/*CWP-CARDS-START*/
/* ===== Tour / safari package section shell (kept consistent) + per-site theme-native card ===== */
:root{ --cwp-accent: var(--accent,var(--coral-deep,var(--clay,var(--orange,var(--gold,var(--teal,var(--rust,var(--forest,#b06a2c))))))));
  --cwp-dark: var(--teal-deep,var(--forest,var(--ink,var(--green-deep,var(--green-ink,var(--text-dark,#26332b))))));
  --cwp-ink: var(--ink,var(--text-dark,#26332b)); --cwp-soft: var(--ink-soft,var(--muted,var(--text-mid,#5c6a63))); }
.cwp-section{ padding: clamp(48px,7vw,96px) 22px; }
.cwp-head{ max-width:760px; margin:0 auto 34px; text-align:center; }
.cwp-eyebrow{ font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--cwp-accent); }
.cwp-h2{ font-family:var(--serif,var(--font-serif,Georgia,serif)); font-weight:600; font-size:clamp(26px,3.2vw,40px);
  color:var(--cwp-ink); margin:.4rem 0 0; }
.cwp-head p{ color:var(--cwp-soft); margin:.6rem 0 0; }
.cwp-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:28px; max-width:1180px; margin:0 auto; align-items:stretch; }
.cwp-grid--home{ grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); max-width:1120px; }
.cwp-card{ display:flex; flex-direction:column; }
.cwp-cta{ text-align:center; margin-top:38px; }
.cwp-allbtn{ display:inline-block; font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:#fff; background:var(--cwp-dark); padding:14px 32px; border-radius:3px; text-decoration:none; }
.cwp-allbtn:hover{ filter:brightness(1.12); }
.cw-content .pkg-destinations{ background:rgba(0,0,0,.03); border-left:3px solid var(--cwp-accent);
  padding:.7rem 1rem; border-radius:0 6px 6px 0; font-size:.97rem; }
@media(max-width:640px){ .cwp-grid{ gap:22px; } }
.cwp-kl.mtile{display:block;height:320px;border-radius:10px;text-decoration:none}
.cwp-kl .cap{left:20px;right:20px;bottom:18px}
.cwp-kl .cap .nm{font-family:var(--head,'Inter',sans-serif);font-size:19px;font-weight:600;line-height:1.2;margin-bottom:6px}
.cwp-kl .cap .sub{font-size:12.5px;opacity:.9;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cwp-kl-days{position:absolute;top:14px;left:14px;z-index:3;background:rgba(255,255,255,.92);color:#181e37;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;border-radius:5px}
/*CWP-CARDS-END*/


/* =======================================================================
   Featured images, content media, tables and mobile behaviour.
   Card radius follows the theme's 8px convention.
   ======================================================================= */

/* --- wider shell for grid archives (treks) ------------------------------ */
.cw-main--wide{ max-width:1240px; }

/* --- hero / lead featured image on single posts and pages --------------- */
.cw-hero-media{ margin:0 0 1.9rem; }
.cw-hero-media img,
.cw-hero-img{
  display:block; width:100%; max-width:100%; height:auto;
  aspect-ratio:16/9; object-fit:cover; object-position:center;
  border-radius:8px; background:rgba(0,0,0,.05);
}
.cw-hero-media figcaption{
  margin-top:.55rem; font-size:.83rem; line-height:1.5; color:#6b6b6b;
}

/* --- listing / archive card thumbnails ---------------------------------- */
.cw-list{ display:grid; gap:1.6rem; }
.cw-card{ display:grid; grid-template-columns:220px 1fr; gap:1.1rem 1.3rem; align-items:start; }
.cw-card-media{ display:block; border-radius:8px; overflow:hidden; }
.cw-card-media img,
.cw-card-img{
  display:block; width:100%; max-width:100%; height:auto;
  aspect-ratio:4/3; object-fit:cover; object-position:center;
  border-radius:8px; transition:transform .3s ease;
}
.cw-card-media:hover img{ transform:scale(1.04); }
.cw-card-body{ min-width:0; }
.cw-card:not(:has(.cw-card-media)){ grid-template-columns:1fr; }

/* --- images and figures inside article content -------------------------- */
.cw-content img{
  display:block; max-width:100%; height:auto; border-radius:8px;
}
.cw-content figure,
.cw-content .wp-caption{
  margin:1.9rem 0; max-width:100%;
}
.cw-content figure img,
.cw-content .wp-caption img{ width:100%; }
.cw-content figcaption,
.cw-content .wp-caption-text{
  margin-top:.55rem; font-size:.83rem; line-height:1.5; color:#6b6b6b;
}
.cw-content p > img,
.cw-content p > a > img{ margin:1.6rem auto; }
.cw-content .alignleft,
.cw-content .alignright,
.cw-content .aligncenter{ margin-left:auto; margin-right:auto; }

/* --- tables: scroll inside their own box, never widen the page ---------- */
.cw-content .table-wrap,
.cw-content .table-scroll,
.cw-content .cw-table-wrap{
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  max-width:100%; margin:1.7rem 0;
  border:1px solid rgba(0,0,0,.12); border-radius:8px;
}
.cw-content .table-wrap table,
.cw-content .table-scroll table,
.cw-content .cw-table-wrap table{ margin:0; border:0; border-radius:0; }
/* Bare tables (no wrapper) still scroll: display:block turns the table itself
   into the scroll container. */
.cw-content table{
  display:block; width:100%; max-width:100%;
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  border-collapse:collapse; margin:1.7rem 0;
  border:1px solid rgba(0,0,0,.12); border-radius:8px;
  font-size:.95rem; line-height:1.55;
}
.cw-content table th,
.cw-content table td{
  padding:.6rem .85rem; border-bottom:1px solid rgba(0,0,0,.1);
  text-align:left; vertical-align:top; min-width:8.5rem;
}
.cw-content table th{
  background:rgba(0,0,0,.04); font-weight:600; white-space:nowrap;
}
.cw-content table tr:last-child td{ border-bottom:0; }
.cw-content table caption{
  caption-side:bottom; padding:.55rem .2rem 0; font-size:.83rem; color:#6b6b6b; text-align:left;
}
/* Nothing on an inner page may push the viewport sideways. `clip` rather than
   `hidden` so it does not create a scroll container and break the sticky nav. */
body:not(.home){ overflow-x:clip; }
.cw-main{ overflow-wrap:break-word; word-wrap:break-word; }
.cw-content pre{ overflow-x:auto; max-width:100%; }

/* --- FAQ accordion: usable tap targets ---------------------------------- */
.cw-content .faq-accordion{ margin:1.8rem 0; }
.cw-content details{
  border:1px solid rgba(0,0,0,.12); border-radius:8px; padding:0 1rem;
  margin:.65rem 0; background:#fff;
}
.cw-content details summary{
  cursor:pointer; font-weight:600; list-style:none;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  min-height:48px; padding:.7rem 0; line-height:1.4;
}
.cw-content details summary:focus-visible{ outline:2px solid #b9722c; outline-offset:3px; border-radius:4px; }
.cw-content details summary::-webkit-details-marker{ display:none; }
.cw-content details summary::after{
  content:'+'; flex:0 0 auto; font-size:1.35rem; font-weight:400; line-height:1;
  color:#b9722c; transition:transform .2s ease;
}
.cw-content details[open] summary::after{ content:'\2212'; }
.cw-content details[open] summary{ margin-bottom:.2rem; }
.cw-content details > *:not(summary):last-child{ margin-bottom:.85rem; }

/* --- footer note copy (replaces the old payment-method row) ------------- */
.foot-note{ margin:0; max-width:42ch; font-size:13px; line-height:1.65; opacity:.85; }

/* --- responsive ---------------------------------------------------------- */
@media (max-width:900px){
  .cw-main{ padding:2rem 20px 70px; }
  .cw-card{ grid-template-columns:180px 1fr; gap:1rem; }
}
@media (max-width:640px){
  .cw-main{ padding:1.6rem 18px 60px; }
  .cw-title{ font-size:clamp(1.6rem,6.4vw,2.1rem); }
  .cw-content{ font-size:1rem; line-height:1.75; }
  .cw-content h2{ font-size:1.34rem; margin:1.9rem 0 .7rem; }
  .cw-content h3{ font-size:1.12rem; margin:1.4rem 0 .5rem; }
  .cw-content .pull-quote{ font-size:1.05rem; padding:.85rem 1rem; }
  .cw-hero-media{ margin-bottom:1.4rem; }
  .cw-hero-media img,
  .cw-hero-img{ aspect-ratio:4/3; border-radius:8px; }
  /* stack the listing cards: image on top, text beneath */
  .cw-card{ grid-template-columns:1fr; gap:.75rem; }
  .cw-card-media img,
  .cw-card-img{ aspect-ratio:16/9; }
  .cw-content table{ font-size:.9rem; }
  .cw-content table th,
  .cw-content table td{ padding:.5rem .7rem; min-width:7.5rem; }
  .cwp-grid{ grid-template-columns:1fr; }
  .cwp-kl.mtile{ height:250px; }
}
@media (prefers-reduced-motion:reduce){
  .cw-card-media img,
  .cw-card-img{ transition:none; }
  .cw-card-media:hover img{ transform:none; }
}