/* Bwindi Primates | consistent Tekzo-inspired safari editorial styling.
   IMPORTANT: Header (#bihogo-site-header) and homepage Hero (.gte-safari-hero)
   are intentionally not targeted. Existing header/hero remain intact. */
:root{--bp-primary:var(--fpcm-primary,#073B27);--bp-accent:var(--fpcm-accent,#FF7900);--bp-ink:#142D20;--bp-paper:#F6F6F0;--bp-mist:#EDF1E8;--bp-border:#DCE5DB}
:where(.gte-tour-page,.taymer-destination,.taymer-activity-page,.taymer-blog-post,.bwa-ta,.td-archive,.ta-archive,.gte-posts-archive){font-family:var(--fpcm-body-font,Montserrat,Arial,sans-serif);color:var(--bp-ink)}
:where(.gte-tour-page,.taymer-destination,.taymer-activity-page,.taymer-blog-post,.bwa-ta,.td-archive,.ta-archive,.gte-posts-archive) :is(h1,h2,h3,h4){font-family:var(--fpcm-heading-font,Montserrat,Arial,sans-serif);letter-spacing:-.03em}
/* Blog and general pages: restrained, legible editorial typography. */
body:not(.elementor-editor-active) .site-main .entry-content:not(.elementor){font-size:16px;line-height:1.85}
body:not(.elementor-editor-active) .site-main .entry-content:not(.elementor) :is(h2,h3){color:var(--bp-ink);letter-spacing:-.03em;font-weight:800}
body:not(.elementor-editor-active) .site-main .entry-content:not(.elementor) a:not(.elementor-button){text-decoration-thickness:1px;text-underline-offset:4px}
/* Sharper architectural geometry is applied to cards, archives and inner content only. */
:where(.bwa-tour-card,.bwa-park-card,.bwa-experience-card,.gte-posts-archive .gte-blog-card){border-radius:0!important;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
:where(.bwa-tour-card,.bwa-park-card,.bwa-experience-card,.gte-posts-archive .gte-blog-card):hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(7,37,22,.10)!important}
:where(.bwa-tour-card,.bwa-park-card,.bwa-experience-card) :is(img,.bwa-tour-card__photo,.bwa-park-card__photo){border-radius:0!important}
:where(.bwa-tour-card,.bwa-park-card,.bwa-experience-card) :is(a,button){border-radius:0!important}
:where(.gte-posts-archive .gte-blog-card) img{height:270px;object-fit:cover}
:where(.gte-posts-archive .gte-blog-card) .gte-blog-card-body{padding:25px!important}
.gte-posts-archive .gte-blog-card h3{font-weight:800;font-size:22px;letter-spacing:-.03em;color:var(--bp-ink)}
.gte-posts-archive .gte-blog-card span{color:var(--bp-accent)}
.gte-posts-archive .gte-archive-main{padding-top:70px;padding-bottom:100px}
/* Inner pages' sidebars, post navigation and form elements - without affecting the header. */
:where(.gte-tour-page,.taymer-destination,.taymer-activity-page,.taymer-blog-post,.bwa-ta,.td-archive,.ta-archive,.gte-posts-archive) :is(input,select,textarea){font-family:var(--fpcm-body-font,Montserrat,Arial,sans-serif);border-radius:0}
:where(.gte-tour-page,.taymer-destination,.taymer-activity-page,.taymer-blog-post,.bwa-ta,.td-archive,.ta-archive,.gte-posts-archive) :is(button,.button){border-radius:0}
:where(.gte-tour-page,.taymer-destination,.taymer-activity-page,.taymer-blog-post,.bwa-ta,.td-archive,.ta-archive,.gte-posts-archive) a:focus-visible{outline:2px solid var(--bp-accent);outline-offset:4px}
/* Existing Elementor sections can opt into the same spacious two-tone look. */
.bp-section-ivory{background:var(--bp-paper)}
.bp-section-green{background:var(--bp-primary);color:#fff}
.bp-editorial-heading :is(h1,h2,h3){letter-spacing:-.045em;line-height:1.12;font-weight:800}
@media(max-width:767px){.gte-posts-archive .gte-archive-main{padding-block:48px 65px}.gte-posts-archive .gte-blog-card img{height:235px}}
@media(prefers-reduced-motion:reduce){:where(.bwa-tour-card,.bwa-park-card,.bwa-experience-card,.gte-posts-archive .gte-blog-card){transition:none!important;transform:none!important}}
