/* Greatlink Safaris — Mama Wachira exact WordPress-structure migration */
.mama-page{
  --mama-ink:#1d1917;
  --mama-muted:#746962;
  --mama-line:#e8ddd6;
  --mama-soft:#fbf8f5;
  --mama-accent:var(--brand-secondary,#ee4b0b);
  color:var(--mama-ink);
}
.mama-shell{width:min(90%,1460px);margin-inline:auto}
.mama-kicker,.mama-section-kicker{display:block;color:var(--mama-accent);font-size:.69rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.mama-primary-link{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:46px;padding:0 18px;border:1px solid var(--mama-accent);border-radius:4px;background:var(--mama-accent);color:#fff;font-size:.8rem;font-weight:850;text-decoration:none}
.mama-text-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--mama-ink);font-size:.8rem;font-weight:800;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.2rem}

/* Hero */
.mama-hero{padding:22px 0 0;border-bottom:1px solid var(--mama-line)}
.mama-breadcrumb{display:flex;align-items:center;gap:.45rem;margin-bottom:25px;color:#8b7d76;font-size:.72rem}
.mama-breadcrumb a{color:inherit;text-decoration:none}.mama-breadcrumb i{font-size:.6rem}
.mama-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);gap:clamp(42px,6vw,88px);align-items:center}
.mama-hero-copy{padding:38px 0 52px}
.mama-hero h1{margin:.75rem 0 1.2rem;max-width:700px;font-size:clamp(42px,5.6vw,74px);line-height:.98;letter-spacing:-.05em;font-weight:640}
.mama-hero-summary{max-width:620px;margin:0;color:#615750;font-size:1rem;line-height:1.78}
.mama-hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:27px}
.mama-hero-visual{position:relative;min-height:500px;align-self:stretch}
.mama-cover-frame{position:absolute;inset:0;margin:0;overflow:hidden;border-radius:24px 24px 0 0;background:#eee7e3}
.mama-cover-frame img{width:100%;height:100%;object-fit:cover}
.mama-cover-placeholder{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:10px;border:1px solid var(--mama-line);border-radius:24px 24px 0 0;background:var(--mama-soft);color:#887971}
.mama-cover-placeholder i{font-size:2rem;color:var(--mama-accent)}
.mama-impact-note{position:absolute;left:-36px;bottom:30px;width:min(300px,72%);padding:17px 19px;border:1px solid var(--mama-line);border-left:3px solid var(--mama-accent);background:#fff;box-shadow:0 18px 40px rgba(37,23,17,.12)}
.mama-impact-note span{display:block;margin-bottom:4px;color:#9a8880;font-size:.62rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.mama-impact-note strong{font-size:.9rem;line-height:1.5}
.mama-location-strip{display:flex;align-items:center;gap:.5rem;padding:17px 0;color:#665a54;font-size:.8rem}.mama-location-strip i{color:var(--mama-accent)}

/* Intro */
.mama-intro{padding:70px 0;border-bottom:1px solid var(--mama-line)}
.mama-intro-grid{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:clamp(45px,7vw,110px)}
.mama-intro h2{margin:.6rem 0 0;font-size:clamp(30px,3.4vw,48px);line-height:1.08;letter-spacing:-.035em;font-weight:620}
.mama-standard-prose{color:#4e4641;line-height:1.8}.mama-standard-prose>:first-child{margin-top:0}.mama-standard-prose img{max-width:100%;height:auto}

/* Headings */
.mama-section-head,.mama-current-stories-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:34px}
.mama-section-head h2,.mama-current-stories-head h2{margin:.5rem 0 0;font-size:clamp(31px,3.8vw,52px);line-height:1.04;letter-spacing:-.04em;font-weight:620}
.mama-section-head>p,.mama-current-stories-head p{max-width:500px;margin:0;color:var(--mama-muted);font-size:.9rem;line-height:1.7}

/* Newly added updates */
.mama-new-updates{padding:72px 0;background:var(--mama-soft);border-bottom:1px solid var(--mama-line)}
.mama-update-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.mama-update-card{overflow:hidden;border:1px solid var(--mama-line);border-radius:12px;background:#fff}
.mama-update-card>img{width:100%;height:190px;object-fit:cover}.mama-update-card>div{padding:20px}
.mama-update-card time{color:var(--mama-accent);font-size:.65rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.mama-update-card h3{margin:.5rem 0 .5rem;font-size:1.15rem}.mama-update-card p{margin:0;color:var(--mama-muted);font-size:.86rem;line-height:1.6}
.mama-update-card details{margin-top:14px;border-top:1px solid var(--mama-line)}.mama-update-card summary{display:flex;justify-content:space-between;padding:12px 0;cursor:pointer;font-size:.75rem;font-weight:800;list-style:none}

/* Current WordPress story */
.mama-current-stories{padding:clamp(65px,7vw,100px) 0;background:#fff}
.mama-current-stories-head{align-items:flex-start;padding-bottom:24px;border-bottom:1px solid var(--mama-line)}
.mama-current-stories-head>span{padding-top:8px;min-width:170px}
.mama-current-stories-head>div{flex:1}
.mama-current-stories-head p{margin-top:10px}
.mama-current-content{width:100%;color:#403a36;font-size:.96rem;line-height:1.72}
.mama-current-content h2,.mama-current-content h3,.mama-current-content h4{color:var(--mama-ink);letter-spacing:-.025em}
.mama-current-content h2{margin:34px 0 18px;font-size:clamp(26px,2.7vw,38px)}
.mama-current-content h3{margin:30px 0 16px;font-size:clamp(22px,2.2vw,31px)}
.mama-current-content h4{margin:24px 0 13px;font-size:1.08rem}
.mama-current-content p{margin:.65rem 0 1rem}.mama-current-content ul,.mama-current-content ol{padding-left:1.35rem}
.mama-current-content hr{margin:34px 0;border:0;border-top:1px solid var(--mama-line)}

/* Exact Gutenberg column behaviour. The old page used these for image + caption
   pairs and for two/three-column mixed video/text sections. */
.mama-current-content .wp-block-columns{display:flex;align-items:flex-start;gap:18px;margin:18px 0 28px}
.mama-current-content .wp-block-column{flex:1 1 0;min-width:0}
.mama-current-content .wp-block-column>.wp-block-columns{margin-top:0}
.mama-current-content .wp-block-image{margin:0 0 9px}
.mama-current-content .wp-block-image img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:8px}
.mama-current-content .aligncenter{margin-left:auto;margin-right:auto}
.mama-current-content>figure.wp-block-image.aligncenter{max-width:980px}
.mama-current-content figcaption{margin-top:7px;color:#786b65;font-size:.72rem;line-height:1.4}

/* WordPress videos */
.mama-current-content .wp-block-video{margin:0 0 10px}
.mama-current-content video{display:block;width:100%;height:auto;max-height:560px;background:#111;border-radius:8px}

/* Final Tiles galleries from the WordPress database:
   4 columns on desktop, matching the original plugin configuration. */
.mama-ft-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0 32px}
.mama-ft-item{min-width:0;margin:0;overflow:hidden;border:1px solid var(--mama-line);border-radius:9px;background:#fff}
.mama-ft-item a{display:block;text-decoration:none}
.mama-ft-item img{display:block;width:100%;aspect-ratio:4/3;height:auto;object-fit:cover}
.mama-ft-item figcaption{padding:9px 10px 10px;margin:0;color:#695e58;font-size:.7rem;line-height:1.4}

/* Curated gallery */
.mama-curated-gallery{padding:72px 0;border-top:1px solid var(--mama-line)}
.mama-curated-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mama-curated-grid figure{margin:0;overflow:hidden;border-radius:10px;background:#eee8e4}.mama-curated-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.mama-curated-grid figcaption{padding:8px 9px;font-size:.7rem}

/* CTA */
.mama-cta{padding:58px 0;border-top:1px solid var(--mama-line);background:var(--mama-soft)}
.mama-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.mama-cta h2{margin:.5rem 0 .6rem;max-width:800px;font-size:clamp(28px,3.3vw,44px);line-height:1.08;letter-spacing:-.035em;font-weight:620}.mama-cta p{margin:0;max-width:700px;color:var(--mama-muted);line-height:1.7}

@media(max-width:1000px){
  .mama-hero-grid{grid-template-columns:1fr 1fr;gap:34px}.mama-impact-note{left:-18px}
  .mama-update-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mama-ft-gallery,.mama-curated-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .mama-shell{width:min(92%,1460px)}
  .mama-hero-grid{grid-template-columns:1fr}.mama-hero-copy{padding:20px 0 32px}.mama-hero-visual{min-height:390px}
  .mama-impact-note{left:14px;bottom:14px}
  .mama-intro-grid{grid-template-columns:1fr;gap:25px}
  .mama-section-head,.mama-current-stories-head{align-items:flex-start;flex-direction:column;gap:10px}
  .mama-current-stories-head>span{min-width:0;padding-top:0}
  .mama-current-content .wp-block-columns{flex-direction:column;gap:14px}
  .mama-current-content .wp-block-column{width:100%}
  .mama-cta-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:540px){
  .mama-hero h1{font-size:clamp(38px,12vw,52px)}
  .mama-hero-actions{align-items:flex-start;flex-direction:column}.mama-primary-link{width:100%}
  .mama-hero-visual{min-height:330px}
  .mama-update-grid,.mama-ft-gallery,.mama-curated-grid{grid-template-columns:1fr}
  .mama-ft-item img{aspect-ratio:auto;object-fit:contain}
}
