/*
Theme Name:   BTG Astra Child
Theme URI:    https://botswanatravelguide.net/
Description:  Child theme for Botswana Travel Guide. Carries the BTG design system as CSS custom properties. Do not add design colours anywhere else - a hard-coded colour in a snippet is what made the Cape Town site's desktop menu render white on white.
Author:       Botswana Travel Guide
Template:     astra
Version:      1.2.1
Text Domain:  btg-astra-child
*/

/* ============================================================
   1. DESIGN TOKENS  - sampled from the approved logo
   ============================================================ */
:root{
  --btg-navy:#032C50;        /* primary - headings, nav, footer      13.9:1 */
  --btg-navy-deep:#02203C;   /* hover / pressed                             */
  --btg-river:#0B6897;       /* links, secondary buttons              5.9:1 */
  --btg-river-dark:#085175;  /* link hover                                  */
  --btg-channel:#4FA0D8;     /* tints and fills ONLY - never text           */
  --btg-gold:#CEA26F;        /* CTA fill ONLY - never text (2.1:1)          */
  --btg-gold-dark:#BC8D57;   /* CTA hover                                   */
  --btg-slate:#4E565E;       /* sublines, meta                        7.4:1 */
  --btg-ink:#16202B;         /* body text                            15.2:1 */
  --btg-sand:#F4EDE3;        /* panel + alternating section ground          */
  --btg-rule:#DCE4EA;        /* borders                                     */
  --btg-rule-soft:#EDF2F5;
  --btg-paper:#FFFFFF;

  --btg-radius:3px;
  --btg-shadow:0 1px 2px rgba(3,44,80,.06), 0 8px 24px -14px rgba(3,44,80,.18);
  --btg-container:1200px;
}

/* ============================================================
   2. TYPOGRAPHY
   ============================================================ */
body,.ast-container{color:var(--btg-ink)}
h1,h2,h3,h4,h5,h6,.entry-title{color:var(--btg-navy);text-wrap:balance}
h1{letter-spacing:-.015em}
a{color:var(--btg-river)}
a:hover,a:focus{color:var(--btg-river-dark)}
.entry-content p{max-width:70ch}

/* ============================================================
   3. BUTTONS
   Primary CTA = navy text on gold (8.0:1). Gold is never text.
   ============================================================ */
.btg-btn,
.wp-block-button__link,
.ast-button,
.button{
  display:inline-block;border-radius:var(--btg-radius);font-weight:600;
  line-height:1.25;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;
}
.btg-btn--primary,
.wp-block-button:not(.is-style-outline) .wp-block-button__link{
  background:var(--btg-gold);color:var(--btg-navy);border:1px solid var(--btg-gold);
  padding:.72em 1.5em;
}
.btg-btn--primary:hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{
  background:var(--btg-gold-dark);border-color:var(--btg-gold-dark);color:var(--btg-navy);
}
.btg-btn--secondary,
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent;color:var(--btg-river);border:1px solid var(--btg-river);padding:.72em 1.5em;
}
.btg-btn--secondary:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover{
  background:var(--btg-river);color:#fff;
}

/* ============================================================
   4. HEADER  - white ground, navy nav (see note in style header)
   ============================================================ */
.site-header,.ast-primary-header-bar{background:var(--btg-paper)}
#ast-desktop-header .main-header-menu > .menu-item > .menu-link,
#ast-desktop-header .main-header-menu > .menu-item > .menu-link:visited{color:var(--btg-navy)}
#ast-desktop-header .main-header-menu > .menu-item > .menu-link:hover,
#ast-desktop-header .main-header-menu > .menu-item.current-menu-item > .menu-link{color:var(--btg-river)}
.ast-builder-menu-mobile .main-header-menu .menu-link{color:var(--btg-navy)}

/* ============================================================
   5. PANELS  - the left rule colour encodes meaning
   ============================================================ */
.btg-panel{background:var(--btg-sand);border:1px solid var(--btg-rule);
  border-left:3px solid var(--btg-slate);border-radius:var(--btg-radius);
  padding:18px 20px;margin:22px 0}
.btg-panel--key{border-left-color:var(--btg-gold)}
.btg-panel--link{border-left-color:var(--btg-river)}
.btg-panel--warn{border-left-color:#9C4221}
.btg-panel > :last-child{margin-bottom:0}

/* ============================================================
   6. AT A GLANCE
   ============================================================ */
.btg-glance{background:var(--btg-sand);border:1px solid var(--btg-rule);
  border-radius:var(--btg-radius);padding:18px 20px;margin:24px 0}
.btg-glance dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:12px 26px;margin:0}
.btg-glance dt{font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--btg-slate);font-weight:600;margin:0}
.btg-glance dd{margin:2px 0 0;color:var(--btg-ink);font-weight:500}

/* ============================================================
   7. CARDS
   ============================================================ */
.btg-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:24px;margin:26px 0}
.btg-card{background:var(--btg-paper);border:1px solid var(--btg-rule);
  border-radius:var(--btg-radius);overflow:hidden;box-shadow:var(--btg-shadow);
  display:flex;flex-direction:column;transition:box-shadow .18s,transform .18s}
.btg-card:hover{box-shadow:0 2px 4px rgba(3,44,80,.08),0 14px 32px -16px rgba(3,44,80,.28);transform:translateY(-2px)}
.btg-card__media{aspect-ratio:3/2;overflow:hidden;background:var(--btg-sand)}
.btg-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.btg-card__body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:7px;flex:1}
.btg-card__eyebrow{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--btg-slate);font-weight:600}
.btg-card__title{font-size:1.05rem;font-weight:600;color:var(--btg-navy);margin:0;line-height:1.3}
.btg-card__text{font-size:.9rem;color:var(--btg-slate);margin:0;flex:1}

/* ============================================================
   8. FOOTER
   ============================================================ */
.site-footer,.ast-footer-overlay{background:var(--btg-navy);color:#D6E2EC}
.site-footer a{color:#fff}
.site-footer a:hover{color:var(--btg-gold)}

/* ============================================================
   9. ACCESSIBILITY
   ============================================================ */
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,.btg-card a:focus-visible{
  outline:2px solid var(--btg-river);outline-offset:2px}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important}
  .btg-card:hover{transform:none}
}

/* ============================================================
   10. ACCOMMODATION CATALOGUE
   WooCommerce styled as a travel catalogue, not a shop.
   ============================================================ */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));
  gap:26px;margin:26px 0;padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:100%!important;margin:0!important;float:none!important;
  background:var(--btg-paper);border:1px solid var(--btg-rule);border-radius:var(--btg-radius);
  overflow:hidden;box-shadow:var(--btg-shadow);display:flex;flex-direction:column;
  transition:box-shadow .18s,transform .18s;text-align:left;padding:0}
.woocommerce ul.products li.product:hover{transform:translateY(-2px);
  box-shadow:0 2px 4px rgba(3,44,80,.08),0 14px 32px -16px rgba(3,44,80,.28)}
.woocommerce ul.products li.product a img{margin:0;width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:1.05rem!important;font-weight:600;color:var(--btg-navy);
  padding:14px 18px 0;margin:0;line-height:1.3}
.woocommerce ul.products li.product .btg-card-meta{
  padding:4px 18px 0;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--btg-slate);font-weight:600}
.woocommerce ul.products li.product .woocommerce-loop-product__link{display:block}
.woocommerce ul.products li.product .button{
  margin:14px 18px 18px;align-self:flex-start;
  background:transparent;color:var(--btg-river);border:1px solid var(--btg-river);
  padding:.55em 1.1em;font-size:.85rem;border-radius:var(--btg-radius)}
.woocommerce ul.products li.product .button:hover{background:var(--btg-river);color:#fff}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{color:var(--btg-slate);font-size:.9rem}

/* single property */
.woocommerce div.product .product_title{margin-bottom:.35em}
.woocommerce div.product form.cart{margin-bottom:1.2em}
.woocommerce div.product .single_add_to_cart_button.button,
.woocommerce div.product form.cart .button{
  background:var(--btg-gold);color:var(--btg-navy);border:1px solid var(--btg-gold);
  font-weight:600;padding:.8em 1.7em;border-radius:var(--btg-radius);font-size:1rem}
.woocommerce div.product .single_add_to_cart_button.button:hover,
.woocommerce div.product form.cart .button:hover{
  background:var(--btg-gold-dark);border-color:var(--btg-gold-dark);color:var(--btg-navy)}
.woocommerce div.product .woocommerce-product-gallery{margin-bottom:1.4em}
.woocommerce .product .price,.woocommerce ul.products li.product .price{display:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding-left:0}

.btg-disclosure{font-size:.83rem;color:var(--btg-slate);background:var(--btg-sand);
  border-left:3px solid var(--btg-gold);border-radius:var(--btg-radius);
  padding:11px 14px;margin:16px 0 0;max-width:none}
.btg-disclosure a{color:var(--btg-river)}

.btg-nearby{margin:44px 0 0;clear:both}
.btg-nearby h2{font-size:1.35rem;margin-bottom:.25em}
.btg-nearby__note{font-size:.86rem;color:var(--btg-slate);margin-bottom:14px}
.btg-map{position:relative;width:100%;aspect-ratio:16/10;border:1px solid var(--btg-rule);
  border-radius:var(--btg-radius);overflow:hidden;background:var(--btg-sand)}
.btg-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
@media (max-width:600px){.btg-map{aspect-ratio:4/5}}

/* archive intro */
.btg-archive-intro{margin-bottom:26px}
.btg-archive-intro p{color:var(--btg-slate);max-width:70ch}

/* ---------------------------------------------------------------------
 * 11. Phase 1 responsive QA fixes
 * ------------------------------------------------------------------ */

/* The mobile menu trigger inherited white-on-white and was invisible.
   Colour is taken from the palette, never hard-coded. */
.menu-toggle.main-header-menu-toggle,
.ast-mobile-menu-trigger-minimal,
.ast-mobile-menu-trigger-fill,
.ast-mobile-menu-trigger-outline {
	color: var(--btg-navy) !important;
}
.menu-toggle .ast-mobile-svg,
.ast-mobile-menu-trigger-minimal .ast-mobile-svg {
	fill: var(--btg-navy) !important;
}
.ast-mobile-menu-trigger-outline { border-color: var(--btg-rule) !important; }

/* Six primary items must sit on one row from 1024px up. */
@media (min-width: 993px) {
	.main-header-menu > .menu-item > .menu-link {
		font-size: 0.95rem;
		padding-left: 0.7em;
		padding-right: 0.7em;
		letter-spacing: 0;
	}
	.site-header .site-logo-img img,
	.site-header .custom-logo-link img { max-width: 220px; }
}

/* No image may exceed its column, whatever size it was uploaded at. */
.site-content img,
.entry-content img,
.wp-block-image img { max-width: 100%; height: auto; }

/* Hero figure and its attribution caption. */
.btg-hero { margin: 0 0 1.6em; }
.btg-hero img { width: 100%; border-radius: var(--btg-radius); }
.btg-hero figcaption {
	font-size: 0.82rem;
	line-height: 1.5;
	color: var(--btg-slate);
	padding-top: 0.5em;
}

/* Long body headings should not shout on a 390px screen. */
@media (max-width: 543px) {
	.entry-title, h1.entry-title { font-size: 1.9rem; line-height: 1.2; }
	h2 { font-size: 1.45rem; }
}

/* =====================================================================
 * 12. BTG DESIGN SYSTEM v1.2 - Phase 1V visual rescue
 * Family parity with namibia-travel-guide.net and capetowntravelguide.net.
 * ================================================================== */

:root{
  --btg-card-bg:#FFFFFF;
  --btg-card-radius:10px;
  --btg-card-border:rgba(3,44,80,.12);
  --btg-card-shadow:0 1px 3px rgba(3,44,80,.08);
  --btg-card-shadow-hover:0 8px 24px rgba(3,44,80,.13);
  --btg-gap:24px;
  --btg-section-y:64px;
}

/* --- 12.1 Typography rhythm ------------------------------------- */
.entry-content h2{ margin-top:2.2em; margin-bottom:.6em; letter-spacing:-.01em; }
.entry-content h3{ margin-top:1.8em; margin-bottom:.45em; letter-spacing:-.005em; }
.entry-content p,.entry-content li{ font-size:1.0625rem; line-height:1.7; }
.entry-content > p:first-of-type{ font-size:1.1875rem; line-height:1.65; color:var(--btg-slate); }
.entry-content ul,.entry-content ol{ margin-bottom:1.4em; }
.entry-content li+li{ margin-top:.4em; }
.entry-content a{ text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px; }
.entry-content a:hover{ color:var(--btg-river-dark); }

/* --- 12.2 SEVERITY 1: header submenu was near-white on white ---- */
.main-header-menu .sub-menu,
.ast-desktop .main-header-menu .sub-menu{
  width:auto; min-width:268px; padding:10px 0;
  background:var(--btg-paper);
  border:1px solid var(--btg-card-border);
  border-radius:var(--btg-card-radius);
  box-shadow:0 12px 32px rgba(3,44,80,.14);
}
.main-header-menu .sub-menu .menu-link,
.main-header-menu .sub-menu > li > a,
.ast-desktop .main-header-menu .sub-menu .menu-link{
  color:var(--btg-navy) !important;
  background:transparent;
  font-size:.9375rem; font-weight:500; line-height:1.35;
  padding:9px 20px; border:0;
}
.main-header-menu .sub-menu .menu-link:hover,
.main-header-menu .sub-menu .menu-link:focus,
.main-header-menu .sub-menu > li:hover > .menu-link{
  color:var(--btg-river-dark) !important;
  background:var(--btg-rule-soft) !important;
}
.main-header-menu .sub-menu > li.current-menu-item > .menu-link{ color:var(--btg-river-dark) !important; font-weight:600; }

/* --- 12.3 Mega-menu panels for the content-heavy sections ------- */
@media (min-width:993px){
  .main-header-menu > li.btg-mega{ position:static; }
  .ast-desktop .main-header-menu{ position:relative; }
  .main-header-menu > li.btg-mega > .sub-menu{
    left:0; right:0; transform:none; width:auto;
    padding:26px 30px 22px;
    display:grid; grid-template-columns:repeat(3,1fr); gap:4px 28px;
  }
  .main-header-menu > li.btg-mega > .sub-menu > li{ display:block; }
  .main-header-menu > li.btg-mega > .sub-menu > li > .menu-link{
    padding:10px 12px; border-radius:6px; font-size:.9375rem; font-weight:600;
  }
  .main-header-menu > li.btg-mega > .sub-menu > li > .menu-link:hover{ background:var(--btg-rule-soft) !important; }
  .main-header-menu > li:not(.btg-mega) > .sub-menu{ left:0; }
}
/* Header polish */
.site-header{ border-bottom:1px solid var(--btg-rule); }
.main-header-menu > .menu-item > .menu-link{ font-weight:500; color:var(--btg-navy); }
.main-header-menu > .menu-item > .menu-link:hover{ color:var(--btg-river-dark); }
.main-header-menu > .menu-item.current-menu-item > .menu-link,
.main-header-menu > .menu-item.current-menu-ancestor > .menu-link{ color:var(--btg-river-dark); box-shadow:inset 0 -2px 0 var(--btg-gold); }
.main-header-menu .sub-arrow svg{ width:.7em; height:.7em; opacity:.65; }

/* --- 12.4 Hero ---------------------------------------------------- */
.btg-hero{ position:relative; overflow:hidden; border-radius:var(--btg-card-radius); padding:78px 24px; margin:0 0 14px; text-align:center; background:var(--btg-sand); }
.btg-hero img.btg-hero-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; margin:0; }
.btg-hero .btg-hero-scrim{ position:absolute; inset:0; background:linear-gradient(rgba(2,32,60,.42), rgba(2,32,60,.62)); }
.btg-hero .btg-hero-inner{ position:relative; max-width:760px; margin:0 auto; }
.btg-hero h1{ color:#fff !important; margin:0 0 .45em; text-shadow:0 1px 2px rgba(0,0,0,.25); }
.btg-hero p{ color:rgba(255,255,255,.94) !important; font-size:1.125rem; line-height:1.6; margin:0 0 1.6em; }
.btg-hero-credit{ font-size:.75rem; color:var(--btg-slate); text-align:center; margin:0 0 var(--btg-section-y); }
.btg-hero-credit a{ color:var(--btg-slate); }

/* --- 12.5 Buttons ------------------------------------------------- */
.btg-cta{ display:inline-flex; align-items:center; gap:.5em; padding:14px 28px; border-radius:4px; font-weight:600; font-size:1rem; text-decoration:none !important; border:1px solid transparent; transition:background .15s ease, color .15s ease; }
.btg-cta-primary{ background:var(--btg-river); color:#fff !important; }
.btg-cta-primary:hover{ background:var(--btg-river-dark); color:#fff !important; }
.btg-cta-ghost{ background:rgba(255,255,255,.14); color:#fff !important; border-color:rgba(255,255,255,.55); }
.btg-cta-ghost:hover{ background:rgba(255,255,255,.24); color:#fff !important; }
.btg-cta-solid{ background:var(--btg-navy); color:#fff !important; }
.btg-cta-solid:hover{ background:var(--btg-navy-deep); color:#fff !important; }
.btg-cta-row{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }

/* --- 12.6 Card system --------------------------------------------- */
.btg-grid{ display:grid; gap:var(--btg-gap); grid-template-columns:repeat(3,1fr); margin:0 0 var(--btg-section-y); padding:0; list-style:none; }
.btg-grid-2{ grid-template-columns:repeat(2,1fr); }
.btg-grid-4{ grid-template-columns:repeat(4,1fr); }
.btg-card{ display:flex; flex-direction:column; background:var(--btg-card-bg); border:1px solid var(--btg-card-border); border-radius:var(--btg-card-radius); box-shadow:var(--btg-card-shadow); overflow:hidden; text-decoration:none !important; transition:box-shadow .18s ease, transform .18s ease; }
.btg-card:hover{ box-shadow:var(--btg-card-shadow-hover); transform:translateY(-2px); }
.btg-card img{ width:100%; aspect-ratio:4/3; object-fit:cover; margin:0; display:block; }
.btg-card-body{ padding:20px 22px 22px; display:flex; flex-direction:column; flex:1; }
.btg-card h3,.btg-card .btg-card-title{ font-family:'Lora',Georgia,serif; font-size:1.2rem; font-weight:600; line-height:1.3; color:var(--btg-navy); margin:0 0 .5em; }
.btg-card p{ font-size:.9375rem; line-height:1.6; color:var(--btg-slate); margin:0 0 1em; }
.btg-card .btg-card-cta{ margin-top:auto; font-size:.875rem; font-weight:600; color:var(--btg-river-dark); }
.btg-card:hover .btg-card-cta{ color:var(--btg-navy); }
.btg-card-plain{ padding:22px 24px; }
.btg-card-plain h3{ margin-top:0; }

/* --- 12.7 Sections, bands, CTA ------------------------------------ */
.btg-section-head{ margin:0 0 1.4em; }
.btg-section-head h2{ margin:0 0 .35em !important; }
.btg-section-head p{ color:var(--btg-slate); margin:0; max-width:62ch; }
.btg-band{ border-radius:var(--btg-card-radius); padding:48px 32px; margin:0 0 var(--btg-section-y); }
.btg-band-sand{ background:var(--btg-sand); }
.btg-band-navy{ background:var(--btg-navy); text-align:center; }
.btg-band-navy h2,.btg-band-navy p{ color:#fff !important; }
.btg-band-navy p{ max-width:64ch; margin:0 auto 1.6em; }
.entry-content .btg-band h2{ margin-top:0 !important; }
.btg-quiet{ font-size:.9375rem; color:var(--btg-slate); }

/* --- 12.8 Long-form reading column and callouts -------------------- */
.btg-note{ border-left:3px solid var(--btg-gold); background:var(--btg-sand); padding:16px 20px; border-radius:0 6px 6px 0; margin:0 0 1.6em; }
.btg-note p:last-child{ margin-bottom:0; }
.entry-content table{ width:100%; border-collapse:collapse; font-size:.9375rem; margin:0 0 1.6em; }
.entry-content th,.entry-content td{ border:1px solid var(--btg-rule); padding:10px 12px; text-align:left; vertical-align:top; }
.entry-content th{ background:var(--btg-rule-soft); font-weight:600; color:var(--btg-navy); }

/* --- 12.9 Footer --------------------------------------------------- */
.site-footer .footer-nav-wrap .ast-nav-menu{ display:flex !important; flex-wrap:wrap; justify-content:center; gap:6px 26px; }
.site-footer .footer-nav-wrap .ast-nav-menu li{ display:inline-flex; }
.site-footer .footer-nav-wrap .ast-nav-menu a{ font-size:.9375rem; color:var(--btg-navy); padding:6px 0; }
.site-footer .footer-nav-wrap .ast-nav-menu a:hover{ color:var(--btg-river-dark); }
.btg-footer-cols{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; max-width:var(--btg-container); margin:0 auto; padding:48px 20px 8px; }
.btg-footer-cols h4{ font-family:'Lora',Georgia,serif; font-size:1.05rem; font-weight:600; color:var(--btg-navy); margin:0 0 .8em; }
.btg-footer-cols ul{ list-style:none; margin:0; padding:0; }
.btg-footer-cols li+li{ margin-top:.45em; }
.btg-footer-cols a{ font-size:.9375rem; color:var(--btg-slate); text-decoration:none; }
.btg-footer-cols a:hover{ color:var(--btg-river-dark); text-decoration:underline; }
.btg-footer-cols p{ font-size:.9375rem; color:var(--btg-slate); line-height:1.6; margin:0; }

/* --- 12.10 Accessibility ------------------------------------------- */
a:focus-visible,button:focus-visible,input:focus-visible,.menu-link:focus-visible{ outline:2px solid var(--btg-river); outline-offset:2px; border-radius:2px; }
.btg-card:focus-visible{ outline:2px solid var(--btg-river); outline-offset:3px; }

/* --- 12.11 Responsive --------------------------------------------- */
@media (max-width:992px){
  :root{ --btg-section-y:48px; }
  .btg-grid,.btg-grid-4{ grid-template-columns:repeat(2,1fr); }
  .btg-hero{ padding:56px 20px; }
  .btg-footer-cols{ grid-template-columns:1fr 1fr; gap:28px; }
  /* Mobile submenu must be visible and tappable */
  .ast-mobile-popup-drawer .main-header-menu .sub-menu .menu-link,
  .ast-mobile-header-content .main-header-menu .sub-menu .menu-link,
  .ast-mobile-popup-drawer .main-header-menu .menu-link{ color:var(--btg-navy) !important; min-height:44px; display:flex; align-items:center; }
  .ast-mobile-popup-drawer .main-header-menu .sub-menu{ background:var(--btg-rule-soft) !important; border:0; border-radius:0; box-shadow:none; padding:0; }
  .ast-mobile-popup-drawer .main-header-menu .sub-menu .menu-link{ padding-left:32px !important; font-size:.9375rem; }
  .ast-mobile-popup-drawer .ast-menu-toggle,
  .ast-mobile-header-content .ast-menu-toggle{ color:var(--btg-navy) !important; min-width:44px; min-height:44px; }
}
@media (max-width:600px){
  :root{ --btg-section-y:40px; --btg-gap:18px; }
  .btg-grid,.btg-grid-2,.btg-grid-4{ grid-template-columns:1fr; }
  .btg-hero{ padding:44px 18px; }
  .btg-cta-row{ flex-direction:column; align-items:stretch; }
  .btg-cta{ justify-content:center; }
  .btg-band{ padding:32px 20px; }
  .btg-footer-cols{ grid-template-columns:1fr; }
  .entry-content > p:first-of-type{ font-size:1.0625rem; }
}

/* --- 12.12 WooCommerce property page ------------------------------- */
.single-product .entry-title,.single-product .product_title{ font-family:'Lora',Georgia,serif; }
.single-product .product_meta,.single-product .posted_in{ font-size:.875rem; color:var(--btg-slate); }
.single-product .woocommerce-product-gallery img{ border-radius:var(--btg-card-radius); }
.single-product form.cart{ margin:0 0 1.4em; }
.single-product .single_add_to_cart_button{ background:var(--btg-gold) !important; color:var(--btg-navy) !important; border-radius:4px !important; padding:14px 28px !important; font-weight:600 !important; font-size:1rem !important; border:0 !important; }
.single-product .single_add_to_cart_button:hover{ background:var(--btg-gold-dark) !important; color:var(--btg-navy) !important; }
.single-product .woocommerce-tabs .wc-tabs{ border-bottom:1px solid var(--btg-rule); }
.woocommerce-message,.woocommerce-info{ border-top-color:var(--btg-river) !important; }
