/*
Theme Name: Gray Fox Digital LLC
Theme URI:
Description: Custom WordPress block theme generated by GrayFox Theme Builder.
Author: GrayFox Theme Builder
Version: 2026.04.30
Requires at least: 6.3
Tested up to: 6.7
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: grayfox-theme-20260430004957
*/

/* ============================================================
   DESIGN TOKENS (mirrors theme.json)
   ============================================================ */
:root{
  --gf-primary:    #1a1a1a;
  --gf-secondary:  #f5f5f5;
  --gf-accent:     #d9b56a;
  --gf-background: #ffffff;
  --gf-text:       #1a1a1a;
  --gf-muted:      #6b6b6b;
  --gf-contrast:   #ffffff;
  --gf-radius:     var(--bs-border-radius);
  --gf-primary-light:   #e3e3e3;
  --gf-secondary-light: #fdfdfd;
  --gf-accent-light:    #f8f1e4;
  --gf-footer-bg:       #161616;
  --gf-primary-rgb: 26,26,26;
  --gf-shadow-sm:  0 2px 8px rgba(0,0,0,.07);
  --gf-shadow-md:  0 8px 24px rgba(0,0,0,.10);
  --gf-shadow-lg:  0 20px 48px rgba(0,0,0,.13);
  --gf-transition: .25s ease;
}

/* ============================================================
   BOOTSTRAP 5 BRAND TOKEN OVERRIDES
   Maps GrayFox brand colors into Bootstrap's own CSS custom
   properties so every Bootstrap component automatically picks
   up the brand palette without touching Bootstrap source.
   ============================================================ */
:root{
  --bs-primary:            #1a1a1a;
  --bs-primary-rgb:        26,26,26;
  --bs-secondary:          #f5f5f5;
  --bs-link-color:         #1a1a1a;
  --bs-link-hover-color:   #f5f5f5;
  --bs-body-bg:    #ffffff;
  --bs-body-color: #1a1a1a;
  /* radius, shadow, and card tokens are set by the style archetype below */
}
/* Button primary — higher specificity (.btn.btn-*) beats Bootstrap's single-class defaults
   regardless of stylesheet load order */
.btn.btn-primary{
  --bs-btn-color:              #ffffff;
  --bs-btn-bg:                 #1a1a1a;
  --bs-btn-border-color:       #1a1a1a;
  --bs-btn-hover-color:        #ffffff;
  --bs-btn-hover-bg:           #f5f5f5;
  --bs-btn-hover-border-color: #f5f5f5;
  --bs-btn-active-color:       #ffffff;
  --bs-btn-active-bg:          #f5f5f5;
  --bs-btn-active-border-color:#f5f5f5;
  --bs-btn-disabled-bg:        #1a1a1a;
  --bs-btn-disabled-border-color:#1a1a1a;
}
.btn.btn-outline-primary{
  --bs-btn-color:              #1a1a1a;
  --bs-btn-border-color:       #1a1a1a;
  --bs-btn-hover-color:        #ffffff;
  --bs-btn-hover-bg:           #1a1a1a;
  --bs-btn-hover-border-color: #1a1a1a;
  --bs-btn-active-color:       #ffffff;
  --bs-btn-active-bg:          #1a1a1a;
}
.btn.btn-accent{
  --bs-btn-color:              #ffffff;
  --bs-btn-bg:                 #d9b56a;
  --bs-btn-border-color:       #d9b56a;
  --bs-btn-hover-color:        #ffffff;
  --bs-btn-hover-bg:           #1a1a1a;
  --bs-btn-hover-border-color: #1a1a1a;
  --bs-btn-active-bg:          #1a1a1a;
}
/* Bootstrap text/bg utility overrides — body prefix raises specificity to 0-1-1,
   beating Bootstrap's single-class 0-1-0 regardless of load order */
body .text-primary{color:#1a1a1a!important}
body .text-secondary{color:#f5f5f5!important}
body .bg-primary{background-color:#1a1a1a!important}
body .bg-secondary{background-color:#f5f5f5!important}
body .border-primary{border-color:#1a1a1a!important}
body .border-secondary{border-color:#f5f5f5!important}
.progress-bar{background-color:#1a1a1a}

/* ============================================================
   STYLE ARCHETYPE — technical   Overrides Bootstrap radius, shadow, card, and button tokens.
   Sourced from archetypes/technical.css at build time.
   ============================================================ */
/* ── Bootstrap radius tokens — functional, small ────────────────────────── */
:root {
  --bs-border-radius:      4px;
  --bs-border-radius-sm:   2px;
  --bs-border-radius-lg:   6px;
  --bs-border-radius-xl:   8px;
  --bs-border-radius-xxl:  12px;
  --bs-border-radius-pill: 50rem;
}

/* ── Bootstrap shadow tokens — structural, not decorative ───────────────── */
:root {
  --bs-box-shadow:    0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);
  --bs-box-shadow-sm: 0 1px 2px rgba(0,0,0,.06);
  --bs-box-shadow-lg: 0 4px 12px rgba(0,0,0,.10), 0 2px 4px rgba(0,0,0,.06);
}

/* ── Card — defined by border, minimal shadow ────────────────────────────── */
.card {
  --bs-card-border-radius: 6px;
  --bs-card-border-color:  rgba(0,0,0,.1);
  --bs-card-border-width:  1px;
  --bs-card-box-shadow:    none;
  --bs-card-spacer-y:      1.25rem;
  --bs-card-spacer-x:      1.25rem;
}
.card:hover {
  border-color: var(--gf-primary);
  box-shadow:   0 0 0 2px rgba(var(--gf-primary-rgb), .15);
  transform:    none;
}

/* ── Buttons — tight, functional ─────────────────────────────────────────── */
.btn {
  border-radius:   4px;
  padding:         .5rem 1.25rem;
  font-weight:     500;
  font-size:       .875rem;
  letter-spacing:  .01em;
  font-family:     var(--bs-font-monospace, 'Courier New', monospace);
  transition:      background-color .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.btn:hover {
  transform:  none;
  box-shadow: 0 0 0 3px rgba(var(--gf-primary-rgb), .2);
}
.btn-lg {
  padding: .625rem 1.5rem;
}

/* ── Section tint — very subtle, border-defined ──────────────────────────── */
.gf-section-tint {
  background-color: #f8f9fa;
  border-top:       1px solid rgba(0,0,0,.07);
  border-bottom:    1px solid rgba(0,0,0,.07);
}

/* ── Monospace accents — code-adjacent elements ──────────────────────────── */
.gf-eyebrow,
.gf-stat-label,
.gf-timeline-year,
.gf-code-accent {
  font-family:    var(--bs-font-monospace, 'Courier New', monospace);
  letter-spacing: .04em;
  font-size:      .75rem;
}

/* ── Stat values — large mono ────────────────────────────────────────────── */
.gf-stat-number {
  font-family:  var(--bs-font-monospace, 'Courier New', monospace);
  font-weight:  700;
  color:        var(--gf-primary);
}

/* ── Feature icon — small square chip ───────────────────────────────────── */
.gf-feature-icon {
  border-radius: 4px;
  width:         40px;
  height:        40px;
  background:    rgba(var(--gf-primary-rgb), .08);
  border:        1px solid rgba(var(--gf-primary-rgb), .12);
}

/* ── Feature card — left border = active indicator ───────────────────────── */
.gf-feature-card {
  border-top:  none;
  border-left: 2px solid transparent;
  transition:  border-color .15s ease;
}
.gf-feature-card:hover {
  border-left-color: var(--gf-accent);
  transform:         none;
  box-shadow:        none;
}

/* ── Hero — flat, text-forward ───────────────────────────────────────────── */
.gf-hero-section {
  background: var(--gf-primary);
}
.gf-hero-section::after {
  background: radial-gradient(
    ellipse at 80% 50%,
    rgba(255,255,255,.04) 0%,
    transparent 60%
  );
}

/* ── Step numbers — monospace circle ─────────────────────────────────────── */
.gf-step-number {
  font-family: var(--bs-font-monospace, monospace);
  border-radius: 4px;
  font-size:     .8rem;
}

/* ── Nav ─────────────────────────────────────────────────────────────────── */
.site-header {
  border-bottom: 1px solid rgba(0,0,0,.1) !important;
  box-shadow:    none !important;
}

/* ── CTA band — functional, no decoration ────────────────────────────────── */
.gf-cta-band {
  background:    var(--gf-primary) !important;
  border-top:    1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(0,0,0,.12);
}

/* ── Pricing ─────────────────────────────────────────────────────────────── */
.gf-pricing-featured::after {
  border-radius: 2px;
  font-family:   var(--bs-font-monospace, monospace);
  font-size:     .7rem;
  letter-spacing: .05em;
}

/* ── Table elements (comparison, feature matrix) ─────────────────────────── */
.gf-comparison-table th,
.gf-comparison-table td {
  font-size:   .8rem;
  font-family: var(--bs-font-monospace, monospace);
}
/* ============================================================
   RESET & BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{max-width:100%;height:auto;display:block}

/* ============================================================
   STICKY HEADER
   ============================================================ */
.site-header{position:sticky;top:0;z-index:1000;box-shadow:0 1px 0 rgba(0,0,0,.12);transition:box-shadow .3s ease}
.site-header .wp-block-navigation a{color:#ffffff!important;opacity:.88;transition:opacity .2s ease}
.site-header .wp-block-navigation a:hover{opacity:1}
.site-header .wp-block-site-title a{color:#ffffff!important;text-decoration:none!important;letter-spacing:-.025em}

/* Transparent header (hero overlay variant) */
.site-header-transparent{position:absolute;top:0;left:0;width:100%;z-index:1000;background:transparent!important;box-shadow:none!important}

/* ============================================================
   BUTTONS
   ============================================================ */
.wp-block-button__link{transition:transform .2s ease,box-shadow .2s ease}
.wp-block-button__link:hover{transform:translateY(-2px);box-shadow:var(--gf-shadow-md)}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background-color:#161616!important;border-top:3px solid #d9b56a}
.site-footer,.site-footer p,.site-footer .wp-block-site-title a,.site-footer .wp-block-site-tagline{color:#ffffff!important}
.site-footer h6{font-size:.7rem!important;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.5}
.site-footer .wp-block-navigation a{color:#ffffff!important;opacity:.75;transition:opacity .2s ease;text-decoration:none}
.site-footer .wp-block-navigation a:hover{opacity:1}
.site-footer-minimal{padding:1.5rem 0!important;text-align:center}
.gf-footer-copyright{font-size:.875rem;opacity:.7}

/* ============================================================
   ANNOUNCEMENT BANNER
   ============================================================ */
.gf-notification-bar__icon{font-size:1.1rem;flex-shrink:0;line-height:1}
.gf-notification-bar__message{font-size:.9rem;font-weight:500;line-height:1.4}
.gf-notification-bar__link{font-size:.85rem;font-weight:600;text-decoration:underline;white-space:nowrap}
.gf-notification-bar--info .gf-notification-bar__icon,
.gf-notification-bar--info .gf-notification-bar__message,
.gf-notification-bar--info .gf-notification-bar__link{color:}
.gf-notification-bar--success .gf-notification-bar__icon,
.gf-notification-bar--success .gf-notification-bar__message,
.gf-notification-bar--success .gf-notification-bar__link{color:}
.gf-notification-bar--warning .gf-notification-bar__icon,
.gf-notification-bar--warning .gf-notification-bar__message,
.gf-notification-bar--warning .gf-notification-bar__link{color:#ffffff}
.gf-notification-bar--error .gf-notification-bar__icon,
.gf-notification-bar--error .gf-notification-bar__message,
.gf-notification-bar--error .gf-notification-bar__link{color:#ffffff}
.gf-promo-ribbon{padding-block:.6rem;padding-inline:0!important}
.gf-promo-ribbon-inner{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:1.5rem;padding-inline:1.5rem}
.gf-promo-ribbon-inner p{font-size:.9rem;margin:0}
.gf-promo-ribbon-btn .wp-block-button__link{font-size:.8rem;padding:.35rem .75rem}
.gf-banner-announcement{background:#d9b56a;color:#ffffff;text-align:center;padding:.625rem 1.5rem;font-size:.875rem;font-weight:600}
.gf-banner-announcement a{color:#ffffff;text-decoration:underline}
.gf-no-results{margin-top:0!important;margin-block-start:0!important}
.gf-no-results-icon{font-size:4rem;display:block;margin-bottom:1rem;color:#6b6b6b;line-height:1}
.gf-suggestion-pill{display:inline-block;padding:.35rem 1rem;border:1px solid rgba(26,26,26,.2);border-radius:9999px;font-size:.85rem;color:#6b6b6b}
.gf-maintenance{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--wp--preset--color--background,#fff);text-align:center}
.gf-maintenance-icon{font-size:4rem;display:block;margin-bottom:1rem;color:#1a1a1a}
.gf-fullscreen-wrap{padding:0!important;margin-top:0!important;margin-block-start:0!important}
.gf-coming-soon-section{text-align:center;margin-top:0!important;margin-block-start:0!important}
.gf-countdown-boxes{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:2.5rem}
.gf-countdown-box{text-align:center;border:2px solid rgba(255,255,255,.5);border-radius:12px;padding:1.25rem 2rem}
.gf-countdown-box__number{font-size:2.5rem;font-weight:700;color:var(--wp--preset--color--contrast,#fff);line-height:1}
.gf-countdown-box__label{opacity:.75;color:var(--wp--preset--color--contrast,#fff);margin-top:.25rem}
.gf-coming-soon-launch{text-align:center;opacity:.75;color:var(--wp--preset--color--contrast,#fff);margin-top:2rem}
.gf-coming-soon-form{max-width:460px;margin:2rem auto 0}
.gf-coming-soon-form__label{text-align:center;color:var(--wp--preset--color--contrast,#fff);margin-bottom:.75rem}
.gf-coming-soon-form__row{display:flex}
.gf-coming-soon-form__input{flex:1;border-radius:6px 0 0 6px;border:none;padding:.75rem 1rem}
.gf-coming-soon-form__btn{background:var(--wp--preset--color--contrast,#fff);color:var(--wp--preset--color--primary);border-radius:0 6px 6px 0;border:none;padding:.75rem 1.25rem;font-weight:600;white-space:nowrap;cursor:pointer}

/* ============================================================
   HERO VARIANTS
   ============================================================ */
.gf-hero-section{background:linear-gradient(135deg,#1a1a1a 0%,#f5f5f5 100%)!important;position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center;justify-content:center}
.gf-hero-section::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 30% 0%,rgba(255,255,255,.08) 0%,transparent 70%);pointer-events:none}
.gf-hero-section .wp-block-heading,.gf-hero-section p{color:#ffffff}
.gf-hero-centered{text-align:center}
.gf-hero-animated{background-size:200% 200%!important;animation:gf-gradient-shift 10s ease infinite}
.gf-hero-animated .gf-hero-heading{animation:gf-slide-up .8s .1s both}
.gf-hero-animated .gf-hero-subtext{animation:gf-slide-up .8s .3s both}
.gf-hero-animated .wp-block-buttons{animation:gf-slide-up .8s .5s both}
.gf-hero-split{overflow:hidden}
.gf-hero-video{position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center;justify-content:center}
.gf-hero-video__bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}
.gf-hero-video__overlay{position:absolute;inset:0;background:rgba(0,0,0,.55);z-index:1}
.gf-hero-video__content{position:relative;z-index:2;width:100%;padding:5rem 1rem}
.gf-hero-video__placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:0}
.gf-hero-video__placeholder .bi{font-size:5rem;color:rgba(255,255,255,.25)}
.gf-video-autoplay-hero{position:relative;overflow:hidden}
.gf-autoplay-wrapper{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.gf-autoplay-bg-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}
.gf-autoplay-overlay{position:absolute;inset:0;background:var(--gf-primary,#1a1a2e);z-index:1}
.gf-autoplay-content{position:relative;z-index:2;text-align:center;max-width:800px;margin:0 auto;padding:2rem;color:#fff}
.gf-autoplay-headline{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;color:#fff;margin-bottom:1.25rem}
.gf-autoplay-subtext{font-size:1.1rem;color:rgba(255,255,255,.85);margin-bottom:2rem}

/* ============================================================
   CTA BAND
   ============================================================ */
.gf-cta-band{background:linear-gradient(90deg,#d9b56a 0%,#1a1a1a 100%)!important}
.gf-cta-band .wp-block-heading,.gf-cta-band p{color:#ffffff}
.gf-cta-two-up{background:#e3e3e3}

/* ============================================================
   FEATURE CARDS — delegates box to Bootstrap .card
   ============================================================ */
.gf-feature-card{border-top:4px solid #d9b56a!important;padding:1.5rem 1.25rem;background:var(--wp--preset--color--background,#fff);border-radius:0 0 var(--bs-border-radius,6px) var(--bs-border-radius,6px);transition:transform var(--gf-transition),box-shadow var(--gf-transition)}
.gf-feature-card:hover{transform:translateY(-4px);box-shadow:var(--gf-shadow-lg)}
.gf-feature-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;flex-shrink:0;background:#e3e3e3}
.gf-feature-icon .bi{font-size:1.4rem;color:#1a1a1a}
.gf-feature-checklist li{padding:.4rem 0;border-bottom:1px solid rgba(0,0,0,.06)}
.gf-feature-checklist li::marker{color:#d9b56a}

/* ============================================================
   SERVICE CARDS — delegates box to Bootstrap .card
   ============================================================ */
.gf-service-card{transition:transform var(--gf-transition),box-shadow var(--gf-transition)}
.gf-service-card:hover{transform:translateY(-3px);box-shadow:var(--gf-shadow-md)}
.gf-service-card-number{font-size:3rem;font-weight:800;line-height:1;color:#d9b56a;opacity:.35;margin-bottom:.5rem}

/* ============================================================
   HOW IT WORKS / PROCESS STEPS
   ============================================================ */
.gf-multi-step-form{margin-top:0!important;margin-block-start:0!important}
.gf-multi-step-form__wrap{max-width:620px;margin-left:auto;margin-right:auto;margin-top:2rem}
.gf-step-track{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:0;padding:1.5rem 0}
.gf-step-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}
.gf-step-num{width:32px;height:32px;border-radius:50%;background:var(--wp--preset--color--muted,#e5e7eb);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;margin:0 auto;transition:background .2s,transform .2s}
.gf-step-num--done{background:var(--wp--preset--color--primary,#1d4ed8)}
.gf-step-label{font-size:.75rem;font-weight:400;color:var(--wp--preset--color--muted,#9ca3af)}
.gf-step-label--done{font-weight:700;color:var(--wp--preset--color--primary,#1d4ed8)}
.gf-step-sep{flex:1;height:2px;min-width:40px;max-width:60px;background:var(--wp--preset--color--muted,#e5e7eb);margin-bottom:1.5rem}
.gf-step-sep--done{background:var(--wp--preset--color--primary,#1d4ed8)}
.gf-step{text-align:center}
.gf-step-number{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;line-height:1;color:#1a1a1a;display:block;margin:0 0 .5rem}

/* ============================================================
   TESTIMONIAL CARDS — delegates box to Bootstrap .card
   ============================================================ */
.gf-testimonial-card{position:relative;border-radius:8px;padding:2rem 1.75rem}
.gf-testimonial-author-group{margin-top:1.25rem}
.gf-testimonial-card::before{content:"\201C";position:absolute;top:1rem;left:1.5rem;font-size:3rem;color:#d9b56a;opacity:.3;font-family:serif;line-height:1}
.gf-testimonial-featured{background:#1a1a1a;color:#ffffff;border-radius:var(--bs-border-radius)}
.gf-testimonial-featured::before{color:#d9b56a;opacity:.6}
.gf-testimonial-featured p{color:#ffffff}
.gf-star-rating{color:#d9b56a;letter-spacing:.05em;font-size:1.1rem}
.gf-review-stars-row{max-width:860px;margin-inline:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:3rem}
.gf-review-stars-row>*{margin-block:0!important}
.gf-review-score-block{display:flex;flex-direction:column;align-items:center;gap:.25rem}
.gf-review-score-block>*{margin-block:0!important}
.gf-review-score{font-size:2.5rem;font-weight:800;line-height:1;margin:0}
.gf-review-divider{display:block;height:60px;width:1px;background-color:rgba(0,0,0,.15);border:none;margin:0;flex-shrink:0}
.gf-section-divider{background-color:var(--wp--preset--color--muted,#e5e7eb);opacity:.2;margin-top:0;margin-bottom:0}
.gf-review-platforms{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2rem}
.gf-review-platforms>*{margin-block:0!important}
.gf-review-platform-item{display:flex;flex-direction:column;align-items:center;gap:.2rem}
.gf-review-platform-item>*{margin-block:0!important}

/* ============================================================
   AWARDS SHELF
   ============================================================ */
.gf-awards-row{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem}
.gf-award-badge{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1.5rem;background:#fff;border-radius:var(--bs-border-radius);box-shadow:var(--gf-shadow-sm);min-width:180px;flex:1;max-width:220px;transition:box-shadow .2s,transform .2s}
.gf-award-badge:hover{box-shadow:var(--gf-shadow-md);transform:translateY(-3px)}
.gf-award-icon{width:64px;height:64px;border-radius:50%;background:var(--gf-primary-light);color:var(--gf-primary);display:flex;align-items:center;justify-content:center;font-size:1.75rem;margin-bottom:1rem}
.gf-award-name{font-weight:700;font-size:.95rem;color:var(--gf-text);margin:0 0 .25rem}
.gf-award-year{font-weight:600;font-size:.85rem;color:var(--gf-accent);margin:0 0 .2rem}
.gf-award-body{font-size:.8rem;color:var(--gf-muted);margin:0}

/* ============================================================
   LOGO / PRESS GRID
   ============================================================ */
.gf-logo-strip{background:#ffffff;text-align:center}
.gf-logo-grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2.5rem}
.gf-logo-grid img{height:36px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.55;transition:filter .2s,opacity .2s}
.gf-logo-grid img:hover{filter:grayscale(0);opacity:1}
.gf-logo-item{display:flex;align-items:center;justify-content:center;padding:1rem 1.5rem;border:1px solid rgba(0,0,0,.08);border-radius:var(--bs-border-radius);min-width:120px;min-height:56px;background:#ffffff;margin-block-start:0!important;margin-top:0!important}

/* ============================================================
   PRICING CARDS — delegates box to Bootstrap .card
   ============================================================ */
.gf-pricing-card:hover{transform:translateY(-4px);box-shadow:var(--gf-shadow-lg)}
.gf-pricing-featured{border:2px solid #d9b56a;position:relative}
.gf-pricing-featured::after{content:"Popular";position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:#d9b56a;color:#ffffff;font-size:.75rem;font-weight:700;padding:.25rem 1rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em}
.gf-pricing-toggle-inner{max-width:1000px;margin:0 auto;text-align:center}
.gf-accent-bg{background:#d9b56a!important;color:#ffffff!important}
.gf-billing-switch{width:44px;height:24px;cursor:pointer}
.gf-slider{background:var(--wp--preset--color--muted,#ccc);transition:.3s}
.gf-slider::before{content:'';position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#ffffff;border-radius:50%;transition:.3s}
#gfBillingToggle:checked+.gf-slider{background:#1a1a1a}
#gfBillingToggle:checked+.gf-slider::before{transform:translateX(20px)}
.gf-pricing-row{border-bottom:1px solid rgba(0,0,0,.07);padding:.75rem 0;display:grid;grid-template-columns:1fr repeat(3,1fr);gap:.5rem;align-items:center}
.gf-pricing-check{color:#d9b56a;font-weight:700}
.gf-pricing-dash{color:#ccc}

/* ============================================================
   TEAM CARDS
   ============================================================ */
.gf-team-card{text-align:center}
.gf-team-photo{width:120px;height:120px;border-radius:50%;background:#f5f5f5;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;color:#ffffff;font-size:2rem;font-weight:700;overflow:hidden;flex-shrink:0}
.gf-team-photo img{width:100%;height:100%;object-fit:cover}
.gf-team-social a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#e3e3e3;color:#1a1a1a;font-size:.8rem;text-decoration:none;transition:background .2s}
.gf-team-social a:hover{background:#1a1a1a;color:#ffffff}
.gf-team-single{display:grid;grid-template-columns:280px 1fr;gap:3rem;align-items:start}
.gf-team-single .gf-team-photo{width:240px;height:240px;font-size:4rem}
@media(max-width:768px){.gf-team-single{grid-template-columns:1fr}}
.gf-team-list{margin-top:2.5rem}
.gf-team-row{border-bottom:1px solid var(--wp--preset--color--muted,#e5e7eb);padding-bottom:1.5rem;margin-bottom:1.5rem}
.gf-founders-card{background:#e3e3e3;border-radius:var(--bs-border-radius);padding:2.5rem;display:flex;gap:2rem;align-items:flex-start;height:100%}
@media(max-width:640px){.gf-founders-card{flex-direction:column}}

/* ============================================================
   PORTFOLIO CARDS
   ============================================================ */
.gf-portfolio-card{border-radius:var(--bs-border-radius);overflow:hidden;position:relative;background:;transition:transform var(--gf-transition),box-shadow var(--gf-transition)}
.gf-portfolio-card:hover{transform:translateY(-4px);box-shadow:var(--gf-shadow-lg)}
.gf-portfolio-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .4s ease,opacity .4s ease}
.gf-portfolio-card:hover img{transform:scale(1.05);opacity:.75}
.gf-portfolio-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,transparent 55%);opacity:0;transition:opacity .3s ease}
.gf-portfolio-card:hover .gf-portfolio-overlay{opacity:1}
.gf-portfolio-overlay h3,.gf-portfolio-overlay h4,.gf-portfolio-overlay p{color:#ffffff;margin:0}
.gf-portfolio-title{color:#ffffff;font-size:1.1rem;font-weight:600;margin:0}
.gf-portfolio-tag{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;background:#d9b56a;color:#ffffff;padding:.2rem .6rem;border-radius:9999px;margin-bottom:.5rem}
.gf-portfolio-featured{grid-column:span 2}
@media(max-width:768px){.gf-portfolio-featured{grid-column:span 1}}

/* ============================================================
   PATTERN IMAGE CLASSES — sizing handled here, never inline
   ============================================================ */
.gf-product-img{width:100%;height:200px;object-fit:cover}
.gf-collection-img{width:100%;height:420px;object-fit:cover;border-radius:12px;overflow:hidden}
.gf-collection-img img{width:100%;height:100%;object-fit:cover}
.gf-product-specs{list-style:none;padding-left:0;display:flex;flex-direction:column;gap:.75rem;margin:1.5rem 0}
.gf-product-specs li{display:flex;align-items:center;gap:.5rem}
.gf-product-highlight .gf-price-amount{font-size:2rem;font-weight:700}
.gf-collection-card-img{width:100%;height:220px;object-fit:cover;display:block}
.gf-collection-tile{position:relative;overflow:hidden;border-radius:8px;min-height:220px;background:var(--wp--preset--color--muted,#e5e7eb)}
.gf-collection-tile img{width:100%;height:100%;object-fit:cover;display:block}
.gf-collection-overlay{position:absolute;bottom:0;left:0;right:0;padding:1rem;background:linear-gradient(to top,rgba(0,0,0,.6),transparent)}
.gf-mini-product-img{height:120px;object-fit:cover;width:100%;border-radius:4px}
.gf-upsell-card{border:1px solid var(--wp--preset--color--muted,#e5e7eb);border-radius:8px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}
.gf-social-post-img img,.gf-social-post-img{width:100%;height:180px;object-fit:cover}
.gf-social-card{border:1px solid var(--wp--preset--color--muted,#e5e7eb);border-radius:8px;overflow:hidden}
.gf-social-card-body{padding:.75rem}
.gf-ugc-col{display:flex;flex-direction:column;gap:1.25rem}
.gf-ugc-card{border:1px solid var(--wp--preset--color--muted,#e5e7eb);border-radius:10px;padding:1.25rem}
.gf-ugc-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}
.gf-ugc-card-meta{display:flex;flex-direction:column;gap:0}
.gf-ugc-card-meta p:first-child{font-weight:600;font-size:.85rem;margin:0}
.gf-ugc-card-meta p:last-child{font-size:.75rem;margin:0}
.gf-social-feed-header{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}
.gf-social-feed-title{display:flex;flex-wrap:nowrap;align-items:center;gap:1rem}
.gf-user-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}
.gf-featured-post-img img{width:100%;object-fit:cover}
.gf-post-thumbnail{flex-shrink:0}
.gf-post-thumbnail img{width:80px;height:80px;object-fit:cover}
.gf-screenshot-img{width:100%;border-radius:8px;border:1px solid var(--wp--preset--color--muted,#e5e7eb)}
.gf-feature-img img{width:100%;object-fit:cover}
.gf-split-img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.gf-icon-list-item{display:flex;gap:.75rem;align-items:center}
.gf-check-icon{font-size:1.25rem;color:#d9b56a;flex-shrink:0;line-height:1}
.gf-founder-photo img{width:100%;object-fit:cover;border-radius:12px}
.gf-ecosystem-hub{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem}
.gf-ecosystem-node{width:90px;height:90px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:2px solid var(--wp--preset--color--primary,var(--gf-primary));background:var(--wp--preset--color--background,#fff);font-size:.7rem;gap:.25rem;color:var(--wp--preset--color--foreground,#1a1a1a)}
.gf-ecosystem-node .bi{font-size:1.4rem;color:var(--wp--preset--color--primary,var(--gf-primary))}
.gf-ecosystem-center{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--wp--preset--color--primary,var(--gf-primary));color:var(--wp--preset--color--contrast,#fff);font-weight:700;font-size:.85rem;padding:.5rem}
.gf-cert-badge{border:1px solid var(--gf-border,#e5e7eb);border-radius:10px;padding:1.75rem;text-align:center;display:flex;flex-direction:column;align-items:center}
.gf-cert-badge__icon{font-size:2.5rem;color:var(--gf-primary);margin-bottom:.75rem}
.gf-cert-badge__name{font-size:1rem;font-weight:700;color:var(--gf-primary);margin-bottom:.5rem}
.gf-cert-badge__desc{font-size:.85rem;color:var(--gf-muted);margin-bottom:0}
.gf-integration-tile{border:1px solid var(--gf-border,#e5e7eb);border-radius:10px;padding:1.5rem}
.gf-integration-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.gf-integration-icon .bi{font-size:1.2rem;color:var(--wp--preset--color--contrast,#fff)}
.gf-map-section iframe{border-radius:12px;display:block;width:100%}
.gf-locations{margin-top:0!important;margin-block-start:0!important}
.gf-location-card{background:#ffffff;border:1px solid rgba(26,26,26,.1);border-radius:;padding:1.5rem;height:100%;display:flex;flex-direction:column}
.gf-location-name{font-size:1.1rem;font-weight:700;color:#1a1a1a;margin:0 0 1rem}
.gf-partner-tier-label{text-align:center;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#6b6b6b;margin:2rem 0 1.5rem}
.gf-partner-logo-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2rem;margin-bottom:2.5rem}
.gf-partner-logo{max-width:140px;flex-shrink:0}
.gf-partner-logo img{width:100%;height:auto;display:block;filter:grayscale(1);opacity:.55;transition:filter .25s,opacity .25s}
.gf-partner-logo:hover img{filter:grayscale(0);opacity:1}
.gf-security-img{width:100%;object-fit:cover;border-radius:12px;margin-top:2rem}
.gf-gallery-img img{width:100%;object-fit:cover}
.gf-screenshot-slide{width:100%;height:100%;object-fit:cover}
/* Screenshot Carousel */
.gf-carousel-wrapper{margin-top:2rem}
.gf-carousel-tabs{display:flex;justify-content:center;gap:.25rem;margin-bottom:1.5rem;flex-wrap:wrap}
.gf-carousel-tab{background:transparent;border:1px solid #6b6b6b;border-radius:9999px;padding:.375rem 1rem;font-size:.875rem;cursor:pointer;color:;transition:background .2s,color .2s,border-color .2s}
.gf-carousel-tab--active{background:#1a1a1a;border-color:#1a1a1a;color:}
.gf-carousel-track{position:relative}
.gf-carousel-slide{display:none}
.gf-carousel-slide--active{display:block}
.gf-screenshot-frame{background:#fdfdfd;border-radius:var(--gf-radius);overflow:hidden;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center}
.gf-carousel-caption{text-align:center;margin-top:1rem;margin-bottom:0;color:#6b6b6b;font-size:.9rem}
.gf-carousel-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}
.gf-carousel-prev,.gf-carousel-next{background:transparent;border:1px solid #6b6b6b;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:;transition:background .2s,color .2s,border-color .2s;font-size:1rem;padding:0}
.gf-carousel-prev:hover,.gf-carousel-next:hover{background:#1a1a1a;border-color:#1a1a1a;color:}
.gf-carousel-dots{display:flex;gap:.4rem;align-items:center}
.gf-carousel-dot{width:8px;height:8px;border-radius:50%;background:#6b6b6b;border:none;padding:0;cursor:pointer;transition:background .2s,transform .2s}
.gf-carousel-dot--active{background:#1a1a1a;transform:scale(1.3)}
.gf-lightbox-thumb{position:relative;overflow:hidden;aspect-ratio:1;border:none;padding:0;cursor:pointer;background:var(--wp--preset--color--muted,#f3f4f6);display:block;width:100%}
.gf-lightbox-thumb-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.gf-lightbox-thumb:hover .gf-lightbox-thumb-img{transform:scale(1.05)}
.gf-lightbox-thumb-overlay{position:absolute;inset:0;background:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;color:#fff}
.gf-lightbox-thumb-overlay .bi{font-size:1.5rem}
.gf-lightbox-thumb:hover .gf-lightbox-thumb-overlay{opacity:1}
.gf-lightbox-modal{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.92);align-items:center;justify-content:center}
.gf-lightbox-modal[style*="flex"]{display:flex!important}
.gf-lightbox-close{position:absolute;top:1rem;right:1.5rem;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;opacity:.8;line-height:1;padding:.25rem}
.gf-lightbox-close:hover{opacity:1}
.gf-lightbox-close .bi{font-size:1.5rem}
.gf-lightbox-prev,.gf-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff;cursor:pointer;opacity:.75;padding:.5rem;line-height:1}
.gf-lightbox-prev{left:1rem}
.gf-lightbox-next{right:1rem}
.gf-lightbox-prev:hover,.gf-lightbox-next:hover{opacity:1}
.gf-lightbox-prev .bi,.gf-lightbox-next .bi{font-size:2.5rem}
.gf-lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;display:block}

/* ============================================================
   CASE STUDY CARDS — delegates box to Bootstrap .card
   ============================================================ */
.gf-case-study-card{overflow:hidden;display:flex;flex-direction:column;transition:box-shadow var(--gf-transition)}
.gf-case-study-card:hover{box-shadow:var(--gf-shadow-md)}
.gf-case-study-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.gf-case-study-card-image{background-color:var(--gf-primary-light,#eff6ff);aspect-ratio:16/9}
.gf-case-study-card-body{padding:1.75rem;flex:1;display:flex;flex-direction:column}
.gf-result-badge{display:inline-flex;align-items:center;gap:.4rem;background:#f8f1e4;color:#1a1a1a;font-size:.8rem;font-weight:700;padding:.35rem .75rem;border-radius:9999px;margin-bottom:1rem}

/* ============================================================
   STATS
   ============================================================ */
.gf-stat-item{text-align:center;padding:1.5rem}
.gf-stat-number{font-size:clamp(2.5rem,4vw,3.5rem);font-weight:800;line-height:1;color:#1a1a1a}
.gf-stat-label{font-size:.875rem;text-transform:uppercase;letter-spacing:.08em;opacity:.6;margin-top:.5rem}
.gf-stat-large{font-size:clamp(4rem,6vw,5.5rem)}

/* ============================================================
   TIMELINE
   ============================================================ */
.gf-timeline{position:relative;padding-left:2rem}
.gf-timeline::before{content:"";position:absolute;left:.75rem;top:0;bottom:0;width:2px;background:linear-gradient(#1a1a1a,#d9b56a);opacity:.25}
.gf-timeline-item{position:relative;padding:0 0 2.5rem 2rem}
.gf-timeline-dot{position:absolute;left:-1.5rem;top:.25rem;width:1rem;height:1rem;border-radius:50%;background:#d9b56a;border:3px solid #fff;box-shadow:0 0 0 3px #1a1a1a;flex-shrink:0}
.gf-timeline-year{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#d9b56a;margin-bottom:.5rem}

/* ============================================================
   PROGRESS BARS
   ============================================================ */
.gf-progress-item{margin-bottom:1.25rem}
.gf-progress-label{display:flex;justify-content:space-between;margin-bottom:.4rem;font-size:.9rem;font-weight:600}
.gf-progress-track{background:rgba(0,0,0,.08);border-radius:9999px;height:8px;overflow:hidden}
.gf-progress-fill{height:100%;border-radius:9999px;background:linear-gradient(90deg,#1a1a1a,#d9b56a);transition:width .6s ease}
.gf-progress-gradient{background:linear-gradient(90deg,#1a1a1a,#d9b56a)!important;border-radius:9999px}
.gf-checkout-progress{width:100%;background:var(--wp--preset--color--background,#fff);border-bottom:1px solid rgba(0,0,0,.08);padding:1.25rem 1rem}
.gf-checkout-progress__track{display:flex;align-items:center;justify-content:center;max-width:600px;margin:0 auto}
.gf-checkout-progress__connector{flex:1;height:2px;background:rgba(0,0,0,.12);max-width:64px}
.gf-progress-step{display:flex;flex-direction:column;align-items:center;gap:.375rem;flex-shrink:0}
.gf-progress-step__bubble{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;border:2px solid rgba(0,0,0,.15);background:#fff;color:rgba(0,0,0,.4);transition:background .2s,color .2s,border-color .2s}
.gf-progress-step__label{font-size:.7rem;font-weight:600;color:rgba(0,0,0,.45);letter-spacing:.02em;white-space:nowrap}
.gf-progress-step--done .gf-progress-step__bubble{background:#1a1a1a;color:#fff;border-color:#1a1a1a}
.gf-progress-step--done .gf-progress-step__label{color:#1a1a1a}
.gf-progress-step--active .gf-progress-step__bubble{background:#d9b56a;color:#fff;border-color:#d9b56a}
.gf-progress-step--active .gf-progress-step__label{color:#d9b56a;font-weight:700}
.gf-progress-step--done~.gf-checkout-progress__connector{background:#1a1a1a}
.gf-progress-step--pending .gf-progress-step__bubble:hover{border-color:#1a1a1a;color:#1a1a1a}

/* ============================================================
   COMPARISON TABLE
   ============================================================ */
.gf-feature-table{font-family:inherit}
.gf-feature-table__head,.gf-feature-table__head th{background:var(--wp--preset--color--primary,var(--gf-primary));color:var(--wp--preset--color--contrast,#fff)}
.gf-feature-table tbody tr:nth-child(even){background:rgba(0,0,0,.025)}
.gf-feature-table .bi-check-lg{font-size:1.1rem}
.gf-comparison-table{width:100%;border-collapse:collapse;font-size:.9375rem;font-family:inherit}
.gf-comparison-table th{background:#1a1a1a;color:#ffffff;padding:1rem 1.25rem;text-align:left;font-weight:600}
.gf-comparison-table th:first-child{border-radius:var(--bs-border-radius) 0 0 0}
.gf-comparison-table th:last-child{border-radius:0 var(--bs-border-radius) 0 0}
.gf-comparison-table td{padding:.875rem 1.25rem;border-bottom:1px solid rgba(0,0,0,.07)}
.gf-comparison-table tr:nth-child(even) td{background:rgba(0,0,0,.025)}
.gf-comparison-table .gf-check{color:#d9b56a;font-weight:700}
.gf-comparison-table .gf-highlight-col{background:#f8f1e4!important}

/* ============================================================
   FAQ ACCORDION
   ============================================================ */
.gf-pricing-card{text-align:center;border:1px solid rgba(0,0,0,.1);border-radius:;padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;transition:transform var(--gf-transition),box-shadow var(--gf-transition)}
.gf-pricing-card--featured{border-color:#1a1a1a;border-width:2px}
.gf-price-amount{font-size:1.75rem;font-weight:700;margin:0}
.gf-faq-accordion{margin-top:1.5rem;max-width:720px;margin-left:auto;margin-right:auto}
.gf-faq-item{border-bottom:1px solid rgba(0,0,0,.08);padding:1.25rem 0}
.gf-faq-item summary{cursor:pointer;font-weight:600;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;align-items:center}
.gf-faq-item summary::after{content:"+";font-size:1.5rem;font-weight:300;color:#1a1a1a;transition:transform .2s ease}
.gf-faq-item[open] summary::after{transform:rotate(45deg)}
.gf-faq-item p{margin-top:1rem;color:#6b6b6b;line-height:1.7}

/* ============================================================
   EVENTS — delegates box to Bootstrap .card
   ============================================================ */
.gf-event-card{display:flex;flex-direction:row;align-items:center;gap:1.5rem;padding:1rem 1.25rem;border:1px solid var(--gf-border,#e5e7eb);border-radius:var(--bs-border-radius,6px);background:var(--wp--preset--color--background,#fff);transition:box-shadow var(--gf-transition)}
.gf-event-card:hover{box-shadow:var(--gf-shadow-md)}
.gf-event-date-badge{flex-shrink:0;width:64px;text-align:center;background:#1a1a1a;color:#ffffff;border-radius:var(--bs-border-radius);padding:.75rem .5rem;display:flex;flex-direction:column;align-items:center;justify-content:center}
.gf-event-date-badge .gf-month{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.75}
.gf-event-date-badge .gf-day{font-size:1.75rem;font-weight:800;line-height:1}
.gf-event-meta{font-size:.8125rem;color:#6b6b6b;display:flex;gap:1rem;flex-wrap:wrap;margin-top:.5rem}
.gf-event-type-badge{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:#f8f1e4;color:#1a1a1a;padding:.2rem .6rem;border-radius:9999px}
.gf-schedule-row{display:grid;grid-template-columns:100px 1fr auto;gap:1.25rem;padding:1rem 0;border-bottom:1px solid rgba(0,0,0,.07);align-items:start}
.gf-schedule-time{font-weight:700;color:#1a1a1a;font-size:.9rem}
.gf-speaker-card{text-align:center;padding:1.5rem}
.gf-speaker-photo{width:100px;height:100px;border-radius:50%;background:#fdfdfd;margin:0 auto 1rem;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#1a1a1a}
.gf-speaker-photo img{width:100%;height:100%;object-fit:cover}

/* ============================================================
   JOB / CAREERS — delegates box to Bootstrap .card
   ============================================================ */
.gf-job-card{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 1.25rem;background:var(--wp--preset--color--background,#fff);border:1px solid var(--gf-border,#e5e7eb);border-radius:var(--bs-border-radius,6px);transition:box-shadow var(--gf-transition)}
.gf-job-card:hover{box-shadow:var(--gf-shadow-md)}
.gf-job-badge{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.25rem .7rem;border-radius:9999px}
.gf-job-badge-full{background:#e3e3e3;color:#1a1a1a}
.gf-job-badge-part{background:#f8f1e4;color:#1a1a1a}
.gf-job-badge-remote{background:#fdfdfd;color:#f5f5f5}
@media(max-width:640px){.gf-job-card{flex-direction:column;align-items:flex-start}}

/* ============================================================
   RESOURCES — delegates box to Bootstrap .card
   ============================================================ */
.gf-resource-card{height:100%;display:flex;flex-direction:column;border:1px solid #6b6b6b;border-radius:var(--gf-radius);padding:1.5rem;background:#ffffff;transition:transform var(--gf-transition),box-shadow var(--gf-transition)}
.gf-resource-card:hover{transform:translateY(-3px);box-shadow:var(--gf-shadow-md)}
.gf-resource-download-link{margin-top:auto;display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:600;color:#1a1a1a;text-decoration:none}
.gf-resource-download-link:hover{color:#d9b56a;text-decoration:underline}
.gf-kb-tile{border:1px solid var(--gf-border,#e5e7eb);border-radius:8px;padding:1.75rem;background:var(--wp--preset--color--background,#fff);transition:box-shadow var(--gf-transition)}
.gf-kb-tile:hover{box-shadow:var(--gf-shadow-md)}
.gf-kb-icon{font-size:2rem;color:#1a1a1a;display:block;margin-bottom:.75rem}
.gf-changelog-row{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:1.5rem;margin-bottom:2rem}
.gf-changelog-version{min-width:140px;flex-shrink:0}
.gf-changelog-entry{flex:1;padding-left:1.5rem;border-left:3px solid var(--gf-border,#e5e7eb)}
.gf-changelog-entry-active{border-left-color:var(--gf-primary)}
.gf-resource-icon{font-size:2rem;color:#1a1a1a;display:block;margin-bottom:.75rem}
.gf-resource-type{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#d9b56a;margin-bottom:.25rem}

/* ============================================================
   PRODUCTS — delegates box to Bootstrap .card
   ============================================================ */
.gf-shelf-card{height:100%;border:1px solid #6b6b6b;border-radius:var(--gf-radius);overflow:hidden;background:#ffffff;transition:transform var(--gf-transition),box-shadow var(--gf-transition)}
.gf-shelf-card:hover{transform:translateY(-3px);box-shadow:var(--gf-shadow-md)}
.gf-shelf-card-body{padding:1rem 1.25rem 1.25rem;flex:1;display:flex;flex-direction:column;gap:.5rem}
.gf-shelf-rating{font-size:.8rem;color:#f59e0b;margin:0}
/* Product Variants Selector */
.gf-product-variants{max-width:560px;margin-inline:auto;padding:1.5rem;border:1px solid #6b6b6b;border-radius:var(--gf-radius);background:#ffffff}
.gf-variants-group{margin-bottom:1.5rem}
.gf-variants-group-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.75rem}
.gf-variants-label{font-weight:600}
.gf-variants-selected{font-size:.875rem;color:#6b6b6b}
.gf-variants-guide{font-size:.8rem;color:#d9b56a;text-decoration:underline}
.gf-swatches{display:flex;gap:.5rem;flex-wrap:wrap}
.gf-swatch{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:outline .15s}
.gf-swatch--active{outline:2px solid #1a1a1a;outline-offset:2px}
.gf-swatch--light{border-color:#6b6b6b}
.gf-sizes{display:flex;gap:.5rem;flex-wrap:wrap}
.gf-size-btn{padding:.4rem .9rem;border:2px solid #6b6b6b;border-radius:4px;font-size:.9rem;cursor:pointer;background:transparent;color:;transition:border-color .15s,background .15s,color .15s}
.gf-size-btn--active{border-color:#1a1a1a;background:#1a1a1a;color:;font-weight:600}
.gf-size-btn:disabled{color:#6b6b6b;text-decoration:line-through;cursor:not-allowed;opacity:.6}
.gf-variants-stock{font-size:.875rem;color:#b45309;font-weight:500;margin:0}
.gf-empty-cart__icon{font-size:4rem;margin-bottom:1.25rem;color:var(--wp--preset--color--muted,#9ca3af);line-height:1}
.gf-empty-cart__recommendations{margin-top:3.5rem;text-align:left}
.gf-product-card{height:100%;overflow:hidden;position:relative;border:1px solid #6b6b6b;border-radius:var(--gf-radius);background:#ffffff;transition:transform var(--gf-transition),box-shadow var(--gf-transition)}
.gf-product-card:hover{transform:translateY(-3px);box-shadow:var(--gf-shadow-md)}
.gf-product-card img{width:100%;object-fit:cover}
.gf-product-card-body{padding:1.25rem;flex:1;display:flex;flex-direction:column;gap:.5rem}
.gf-product-price{font-size:1.375rem;font-weight:700;color:#1a1a1a}
.gf-product-price-original{text-decoration:line-through;color:#6b6b6b;font-size:1rem;font-weight:400;margin-left:.5rem}
.gf-product-badge{position:absolute;top:1rem;left:1rem;background:#d9b56a;color:#ffffff;font-size:.7rem;font-weight:700;padding:.25rem .65rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em}
/* Product Reviews Section */
.gf-product-reviews{max-width:900px;margin:0 auto}
.gf-reviews-heading{margin-bottom:2rem}
.gf-reviews-summary{display:flex;align-items:center;gap:2rem;padding:1.5rem;background:#fdfdfd;border-radius:var(--gf-radius);margin-bottom:2.5rem}
.gf-reviews-score-block{text-align:center;flex-shrink:0}
.gf-reviews-avg{font-size:3.5rem;font-weight:700;line-height:1;color:#1a1a1a}
.gf-reviews-stars{font-size:1.25rem;margin:.25rem 0;color:#f59e0b}
.gf-reviews-total{font-size:.875rem;color:#6b6b6b}
.gf-reviews-bars{flex:1;display:flex;flex-direction:column;gap:.4rem}
.gf-reviews-bar-row{display:flex;align-items:center;gap:.5rem}
.gf-reviews-bar-label{font-size:.8rem;white-space:nowrap;width:2.5rem}
.gf-reviews-bar-track{flex:1;height:8px;background:rgba(0,0,0,.08);border-radius:4px;overflow:hidden}
.gf-reviews-bar-fill{height:100%;background:#f59e0b}
.gf-reviews-bar-pct{font-size:.8rem;color:#6b6b6b;min-width:2.5rem;text-align:right}
.gf-reviews-list{display:flex;flex-direction:column;gap:1.5rem}
.gf-review-card{padding:1.5rem;border:1px solid #6b6b6b;border-radius:var(--gf-radius)}
.gf-review-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}
.gf-review-card-stars{color:#f59e0b}
.gf-review-card-body{color:;margin:0;line-height:1.6}
.gf-review-card-meta{font-size:.8rem;color:#6b6b6b;margin:.5rem 0 0}
/* Mini Cart Drawer */
.gf-mini-cart-drawer{position:fixed;top:0;right:0;width:380px;max-width:100vw;height:100vh;background:#ffffff;box-shadow:-4px 0 24px rgba(0,0,0,.12);z-index:9999;display:flex;flex-direction:column;transform:translateX(110%);transition:transform .3s ease}
.gf-mini-cart-drawer.is-open{transform:translateX(0)}
.gf-mini-cart-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.08);flex-shrink:0}
.gf-cart-title{font-size:1.1rem;font-weight:700;margin:0}
.gf-cart-close{background:none;border:none;cursor:pointer;color:#6b6b6b;padding:.25rem;line-height:1;display:flex;align-items:center;transition:color .2s}
.gf-cart-close:hover{color:#1a1a1a}
.gf-cart-close .bi{font-size:1.25rem}
.gf-mini-cart-drawer__items{flex:1;overflow-y:auto;padding:1rem 1.5rem;display:flex;flex-direction:column;gap:1rem}
.gf-cart-item{display:flex;align-items:flex-start;gap:1rem}
.gf-cart-item__image{width:72px;height:72px;border-radius:;flex-shrink:0;background:rgba(26,26,26,.08)}
.gf-cart-item__details{flex:1;min-width:0}
.gf-cart-item__name{font-weight:600;font-size:.9rem;margin:0 0 .2rem}
.gf-cart-item__meta{font-size:.8rem;color:#6b6b6b;margin:0 0 .2rem}
.gf-cart-item__price{font-weight:700;font-size:.9rem;color:#1a1a1a;margin:0}
.gf-cart-item__remove{background:none;border:none;cursor:pointer;color:#6b6b6b;padding:.25rem;line-height:1;flex-shrink:0;display:flex;align-items:center;transition:color .2s}
.gf-cart-item__remove:hover{color:#ef4444}
.gf-cart-item__remove .bi{font-size:1rem}
.gf-mini-cart-drawer__footer{padding:1.25rem 1.5rem;border-top:1px solid rgba(0,0,0,.08);flex-shrink:0}
.gf-cart-subtotal{display:flex;justify-content:space-between;align-items:center;font-size:.95rem;margin-bottom:.5rem}
.gf-cart-subtotal strong{font-size:1.1rem;color:#1a1a1a}
.gf-cart-continue-link{display:block;text-align:center;margin-top:.75rem;color:#6b6b6b;font-size:.875rem;text-decoration:none}
.gf-cart-continue-link:hover{color:#1a1a1a}
/* My Account Dashboard */
.gf-my-account{padding:4rem 1rem;max-width:1100px;margin-left:auto;margin-right:auto}
.gf-account-title{color:#1a1a1a;margin-bottom:2rem;font-size:2rem;font-weight:700}
.gf-account-section-title{color:#1a1a1a;margin-bottom:1.5rem;font-size:1.25rem;font-weight:700}
.gf-account-layout{display:grid;grid-template-columns:240px 1fr;gap:2.5rem;align-items:start}
@media(max-width:768px){.gf-account-layout{grid-template-columns:1fr}}
.gf-account-nav{border:1px solid rgba(26,26,26,.1);border-radius:;overflow:hidden}
.gf-account-nav-link{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;color:;text-decoration:none;border-left:3px solid transparent;transition:background .15s,color .15s;font-size:.95rem}
.gf-account-nav-link+.gf-account-nav-link{border-top:1px solid rgba(26,26,26,.08)}
.gf-account-nav-link:hover{background:rgba(26,26,26,.05);color:#1a1a1a}
.gf-account-nav-link--active{background:rgba(26,26,26,.06);color:#1a1a1a;font-weight:600;border-left-color:#1a1a1a}
.gf-account-nav-link--logout{color:#dc2626}
.gf-account-nav-link--logout:hover{color:#dc2626;background:#fef2f2}
.gf-account-nav-link .bi{font-size:1rem;flex-shrink:0}
.gf-orders-table{border:1px solid rgba(26,26,26,.1);border-radius:;overflow:hidden}
.gf-orders-table-head{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;padding:.75rem 1rem;background:rgba(26,26,26,.04);font-size:.8rem;font-weight:600;color:#6b6b6b;text-transform:uppercase;letter-spacing:.05em}
.gf-orders-table-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;padding:1rem;border-top:1px solid rgba(26,26,26,.08);align-items:center}
.gf-order-num{font-weight:600}
.gf-order-date{font-size:.9rem;color:#6b6b6b}
.gf-order-total{font-weight:600}
.gf-order-view{font-size:.875rem;color:#d9b56a;text-decoration:none;font-weight:500}
.gf-order-view:hover{text-decoration:underline}

/* ============================================================
   ORDER CONFIRMATION
   ============================================================ */
.gf-order-confirmation{max-width:800px;margin:0 auto;padding:3rem 1rem}
.gf-confirm-header{text-align:center;margin-bottom:3rem}
.gf-confirm-icon{width:64px;height:64px;border-radius:50%;background:#d9b56a;color:#ffffff;display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem;margin:0 auto 1.5rem}
.gf-confirm-number{font-size:1.125rem;font-weight:600;margin-top:.5rem}
.gf-confirm-number span{color:#d9b56a}
.gf-confirm-summary{border:1px solid rgba(0,0,0,.08);border-radius:;padding:1.5rem;margin-bottom:2rem}
.gf-confirm-summary h3{margin-bottom:1rem;color:#1a1a1a}
.gf-confirm-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid rgba(0,0,0,.06)}
.gf-confirm-totals{margin-top:1rem;display:flex;flex-direction:column;gap:.35rem}
.gf-confirm-total-row{display:flex;justify-content:space-between;font-size:.9rem;color:#6b6b6b}
.gf-confirm-total-row--grand{display:flex;justify-content:space-between;font-weight:700;font-size:1.125rem;color:;margin-top:.25rem}
.gf-confirm-next{margin-bottom:2rem}
.gf-confirm-next h3{color:#1a1a1a;margin-bottom:1rem}
.gf-confirm-next ol{padding-left:1.5rem}
.gf-confirm-next li{margin-bottom:.5rem}
.gf-confirm-cta{text-align:center}

/* ============================================================
   PRODUCT DETAIL HERO (PDP)
   ============================================================ */
.gf-product-detail-hero{padding:3rem 1rem}
.gf-pdp-layout{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.gf-pdp-main-img{background:#fdfdfd;border-radius:;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;color:#6b6b6b;font-size:.875rem}
.gf-pdp-thumbs{display:flex;gap:.5rem;margin-top:.75rem}
.gf-pdp-thumb{width:72px;height:72px;background:#fdfdfd;border-radius:4px;border:2px solid transparent;flex-shrink:0}
.gf-pdp-thumb--active{border-color:#1a1a1a}
.gf-pdp-tagline{color:#d9b56a;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}
.gf-pdp-title{color:#1a1a1a;margin-bottom:.5rem}
.gf-pdp-stars{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}
.gf-pdp-star{color:#f59e0b}
.gf-pdp-review{font-size:.875rem;color:#6b6b6b}
.gf-pdp-price{font-size:1.75rem;font-weight:700;color:#1a1a1a;margin-bottom:1rem}
.gf-pdp-desc{color:;margin-bottom:1.5rem;line-height:1.7}
.gf-pdp-size-group{margin-bottom:1.5rem}
.gf-pdp-size-label{font-weight:600;display:block;margin-bottom:.5rem}
.gf-pdp-sizes{display:flex;gap:.5rem;flex-wrap:wrap}
.gf-pdp-size-btn{padding:.4rem .8rem;border:2px solid rgba(0,0,0,.15);border-radius:4px;background:transparent;cursor:pointer;font-size:.9rem;transition:border-color .15s,background .15s}
.gf-pdp-size-btn--active{border-color:#1a1a1a;background:#1a1a1a;color:;font-weight:600}
.gf-pdp-qty-group{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}
.gf-pdp-qty-label{font-weight:600}
.gf-pdp-qty-stepper{display:flex;border:1px solid rgba(0,0,0,.15);border-radius:6px;overflow:hidden}
.gf-pdp-qty-btn{padding:.4rem .75rem;border:none;background:transparent;cursor:pointer;font-size:1rem;line-height:1}
.gf-pdp-qty-val{padding:.4rem 1rem;border-left:1px solid rgba(0,0,0,.12);border-right:1px solid rgba(0,0,0,.12);min-width:2.5rem;text-align:center}
.gf-pdp-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}
.gf-pdp-trust{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.8rem;color:#6b6b6b;margin-top:.5rem}
.gf-pdp-trust span{display:flex;align-items:center;gap:.4rem}
@media(max-width:768px){.gf-pdp-layout{grid-template-columns:1fr}}

/* ============================================================
   ABOUT / MISSION / VALUES
   ============================================================ */
.gf-mission-card{background:#e3e3e3;border-radius:;padding:2rem;border-left:4px solid #1a1a1a;margin-block-start:0!important;margin-top:0!important}
.gf-mission-quote{font-size:1.2rem;font-style:italic;color:#1a1a1a;line-height:1.6;margin:0;padding:0;border:none}
.gf-value-card{background:#ffffff;border:1px solid rgba(26,26,26,.1);border-top:4px solid #d9b56a;border-radius:;padding:1.5rem;height:100%}
.gf-culture-photo{border-radius:var(--bs-border-radius);overflow:hidden;aspect-ratio:4/3;background:#fdfdfd;display:flex;align-items:center;justify-content:center}

/* ============================================================
   CONTACT / OFFICES — delegates box to Bootstrap .card
   ============================================================ */
.gf-office-card{padding:2rem;border:1px solid rgba(0,0,0,.1);border-radius:var(--gf-radius,8px);background:var(--wp--preset--color--background)}
.gf-office-city{font-size:1.1rem;font-weight:700;color:#1a1a1a;margin-bottom:.75rem}
.gf-office-map-placeholder{border-radius:var(--gf-radius,8px);overflow:hidden;margin-bottom:1rem}
.gf-office-map-placeholder iframe{width:100%;height:180px;border:0;display:block}
.gf-office-contact-list{display:flex;flex-direction:column;gap:.5rem}
.gf-office-contact-row{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:.75rem}
.gf-contact-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#e3e3e3;color:#1a1a1a;flex-shrink:0}

/* ============================================================
   APP DOWNLOAD
   ============================================================ */
.gf-app-download-btn{display:inline-flex;align-items:center;gap:.75rem;background:#1a1a1a;color:#fff;padding:.75rem 1.5rem;border-radius:var(--bs-border-radius);text-decoration:none;font-weight:600;transition:background .2s,transform .2s;border:2px solid #1a1a1a;box-sizing:border-box;min-height:3.5rem}
.gf-app-download-btn:hover{background:#1a1a1a;border-color:#1a1a1a;color:#fff;transform:translateY(-2px);text-decoration:none}
.gf-app-download-btn--outline{background:transparent;color:#1a1a1a;border-color:#1a1a1a}
.gf-app-download-btn--outline:hover{background:#1a1a1a;border-color:#1a1a1a;color:#fff}
.gf-app-btn-sub{font-size:.65rem;font-weight:400;opacity:.75;line-height:1.2}
.gf-app-btn-main{font-size:1rem;font-weight:700;line-height:1.2}
.gf-app-store-icon{font-size:1.5rem;line-height:1}

/* ============================================================
   CATALOG FILTER BAR
   ============================================================ */
.gf-catalog-filter-bar__bar{padding:1rem;background:var(--gf-background,#fff);border-bottom:1px solid var(--gf-border,#e5e7eb);position:sticky;top:0;z-index:10}
.gf-catalog-filter-bar__count{font-size:.875rem;color:var(--gf-muted)}
.gf-catalog-filter-bar__sort-label{font-size:.875rem;font-weight:600}
.gf-catalog-filter-bar__select{width:auto}
.gf-catalog-filter-bar .btn{font-size:.875rem}

/* ============================================================
   CATEGORY HERO
   ============================================================ */
.gf-category-hero{position:relative;min-height:280px;background:var(--gf-primary);display:flex;align-items:flex-end;overflow:hidden}
.gf-category-hero__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.2) 0%,rgba(0,0,0,.55) 100%);z-index:1}
.gf-category-hero__content{position:relative;z-index:2;padding-top:3rem;padding-bottom:2rem}
.gf-category-hero__eyebrow{font-size:.875rem;color:rgba(255,255,255,.75);margin:0 0 .25rem;text-transform:uppercase;letter-spacing:.08em}
.gf-category-hero__title{color:#fff;margin:0 0 .75rem;font-size:clamp(2rem,5vw,3rem)}
.gf-category-hero__desc{color:rgba(255,255,255,.85);max-width:500px;margin:0;font-size:1.05rem}

/* ============================================================
   NEWSLETTER / WAITLIST
   ============================================================ */
.gf-newsletter-section{background:#e3e3e3;text-align:center}
.gf-newsletter-form{display:flex;gap:.75rem;max-width:480px;margin-left:auto;margin-right:auto;flex-wrap:wrap}

/* ============================================================
   BLOG / POSTS — delegates box to Bootstrap .card
   ============================================================ */
.gf-post-card{overflow:hidden;display:flex;flex-direction:column;transition:box-shadow var(--gf-transition)}
.gf-post-card:hover{box-shadow:var(--gf-shadow-md)}
.gf-post-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.gf-post-card-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}
.gf-post-card-meta{font-size:.8rem;color:#6b6b6b;margin-bottom:.75rem;display:flex;gap:.75rem;flex-wrap:wrap}
.gf-post-card-category{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#d9b56a;display:block;margin-bottom:.35rem}
.gf-reading-time{font-size:.8rem;color:#6b6b6b}
/* Blog Preview Grid */
.gf-blog-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem}
.gf-blog-view-all{font-size:.9rem;font-weight:600;color:#d9b56a;text-decoration:none;white-space:nowrap;align-self:center;transition:color .2s}
.gf-blog-view-all:hover{color:#1a1a1a;text-decoration:underline}
.gf-blog-featured{display:flex;flex-direction:column;gap:1.25rem;height:100%}
.gf-blog-featured-img{border-radius:var(--bs-border-radius);overflow:hidden;aspect-ratio:16/9}
.gf-blog-featured-img img{width:100%;height:100%;object-fit:cover;display:block}
.gf-blog-featured-body{display:flex;flex-direction:column;gap:.5rem}
.gf-blog-featured-title{font-size:clamp(1.2rem,2.5vw,1.6rem);font-weight:700;line-height:1.3;margin:0;color:#1a1a1a}
.gf-blog-featured-desc{font-size:.95rem;color:#6b6b6b;line-height:1.65;margin:0}
.gf-blog-post-date{font-size:.8rem;color:#6b6b6b}
.gf-blog-sidebar{display:flex;flex-direction:column;gap:1.25rem;height:100%}
.gf-blog-sidebar-item{display:flex;gap:1rem;align-items:flex-start;padding-bottom:1.25rem;border-bottom:1px solid rgba(0,0,0,.07)}
.gf-blog-sidebar-item:last-child{border-bottom:none;padding-bottom:0}
.gf-blog-sidebar-thumb{flex-shrink:0;width:88px;height:66px;border-radius:var(--bs-border-radius);overflow:hidden}
.gf-blog-sidebar-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.gf-blog-sidebar-body{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.gf-blog-sidebar-title{font-size:.95rem;font-weight:600;line-height:1.35;margin:0;color:#1a1a1a}
.gf-author-bio-card{background:#e3e3e3;border-radius:var(--bs-border-radius);padding:2rem;display:flex;gap:1.5rem;align-items:flex-start}
.gf-author-bio-photo{width:80px;height:80px;border-radius:50%;background:#f5f5f5;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#ffffff;font-size:1.5rem;font-weight:700}

/* ============================================================
   PULL QUOTE / CALLOUT
   ============================================================ */
.gf-pull-quote{border-left:4px solid #d9b56a;padding:1.25rem 2rem;margin:2rem 0}
.gf-pull-quote__text{font-size:clamp(1.25rem,2.5vw,1.75rem);font-style:italic;line-height:1.5;color:#1a1a1a;margin:0}
.gf-pull-quote__attr{font-size:.9rem;color:#6b6b6b;margin:.5rem 0 0}
.gf-press-blockquote{text-align:center;margin:2.5rem auto 0;max-width:640px;padding:0 1rem}
.gf-press-blockquote p{font-size:1.25rem;font-style:italic;color:#1a1a1a;line-height:1.6;margin-bottom:.75rem}
.gf-press-blockquote cite{font-size:.9rem;font-style:normal;color:#6b6b6b;font-weight:500}
.gf-callout-box{border-left:4px solid #f5f5f5}
.gf-callout-info{background:#fdfdfd;border-left-color:#f5f5f5}
.gf-callout-warning{background:#fff8e1;border-left-color:#f59e0b}
.gf-callout-tip{background:#f8f1e4;border-left-color:#d9b56a}
.gf-callout-inner{display:flex;gap:1rem;align-items:flex-start;padding:1.25rem 0}
.gf-callout-icon{font-size:1.25rem;flex-shrink:0;margin-top:.1rem;color:#f5f5f5}
.gf-callout-info .gf-callout-icon{color:#f5f5f5}
.gf-callout-warning .gf-callout-icon{color:#f59e0b}
.gf-callout-tip .gf-callout-icon{color:#d9b56a}
.gf-callout-heading{font-size:1rem;font-weight:700;margin:0 0 .35rem;color:#1a1a1a}
.gf-callout-body{font-size:.9375rem;margin:0;color:#6b6b6b;line-height:1.65}

/* ============================================================
   SIDEBAR LAYOUT
   ============================================================ */
.gf-with-sidebar{display:grid;grid-template-columns:1fr 320px;gap:3rem;align-items:start}
.gf-sidebar{position:sticky;top:calc(64px + 2rem)}
.gf-sidebar-widget{background:#e3e3e3;border-radius:var(--bs-border-radius);padding:1.5rem;margin-bottom:1.5rem}
.gf-sidebar-widget-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#6b6b6b;margin-bottom:1rem}
@media(max-width:900px){.gf-with-sidebar{grid-template-columns:1fr}}

/* ============================================================
   EVENT CALENDAR GRID
   ============================================================ */
.gf-cal-container{max-width:1100px;margin:0 auto}
.gf-cal-heading{color:#1a1a1a;margin:0 0 2rem}
.gf-cal-nav{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.gf-cal-nav-btn{background:transparent;border:1px solid var(--wp--preset--color--muted,#d1d5db);border-radius:4px;padding:.375rem .75rem;cursor:pointer}
.gf-cal-month{margin:0;flex:1;color:#1a1a1a}
.gf-cal-wrap{border:1px solid var(--wp--preset--color--muted,#e5e7eb);border-radius:8px;overflow:hidden}
.gf-cal-header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--wp--preset--color--muted,#f9fafb)}
.gf-cal-day-header{text-align:center;font-size:.75rem;font-weight:600;color:var(--wp--preset--color--muted,#9ca3af);padding:.5rem 0;border-bottom:1px solid var(--wp--preset--color--muted,#f3f4f6)}
.gf-cal-body{display:grid;grid-template-columns:repeat(7,1fr)}
.gf-cal-cell{min-height:80px;padding:.375rem .4rem;border-right:1px solid var(--wp--preset--color--muted,#f3f4f6);border-bottom:1px solid var(--wp--preset--color--muted,#f3f4f6)}
.gf-cal-cell-empty{min-height:80px;border-right:1px solid var(--wp--preset--color--muted,#f3f4f6);border-bottom:1px solid var(--wp--preset--color--muted,#f3f4f6)}
.gf-cal-day-num{font-size:.8rem;font-weight:500;color:var(--wp--preset--color--text,#374151)}
.gf-cal-day-num--today{font-size:.8rem;font-weight:700;color:#fff;background:#1a1a1a;border-radius:50%;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}
.gf-cal-chip{margin-top:.25rem;padding:.1rem .4rem;color:#fff;border-radius:3px;font-size:.65rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gf-cal-chip--primary{background:#1a1a1a}
.gf-cal-chip--secondary{background:#f5f5f5}
.gf-cal-chip--accent{background:#d9b56a}
.gf-cal-legend{display:flex;gap:1.5rem;margin-top:1rem;flex-wrap:wrap}
.gf-cal-legend-item{display:flex;align-items:center;gap:.4rem;font-size:.8rem}
.gf-cal-legend-dot{width:12px;height:12px;border-radius:2px;display:inline-block}
.gf-cal-legend-dot--primary{background:#1a1a1a}
.gf-cal-legend-dot--secondary{background:#f5f5f5}
.gf-cal-legend-dot--accent{background:#d9b56a}

/* ============================================================
   BREADCRUMBS
   ============================================================ */
.gf-anchor-nav{position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(0,0,0,.08)}
.gf-anchor-nav-inner{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0;gap:1rem}
.gf-anchor-links{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.gf-anchor-links a{font-size:.9rem;font-weight:500;color:var(--gf-text);text-decoration:none;transition:color .2s}
.gf-anchor-links a:hover{color:var(--gf-primary)}
.gf-breadcrumbs{font-size:.8125rem;color:#6b6b6b;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;padding:.75rem 0}
.gf-breadcrumbs a{color:#6b6b6b;text-decoration:none;transition:color .2s}
.gf-breadcrumbs a:hover{color:#1a1a1a}
.gf-breadcrumbs-sep{opacity:.4}

/* ============================================================
   SECTION DIVIDERS
   ============================================================ */
.gf-divider-wave{overflow:hidden;line-height:0;margin-top:-1px}
.gf-divider-wave svg{display:block;width:100%;height:60px}
.gf-divider-angle{overflow:hidden;line-height:0;margin-top:-1px}
.gf-branded-rule{display:flex;align-items:center;gap:1rem;margin:2rem 0}
.gf-branded-rule::before,.gf-branded-rule::after{content:"";flex:1;height:1px;background:rgba(0,0,0,.1)}
.gf-branded-rule span{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#6b6b6b}

/* ============================================================
   GALLERY GRID
   ============================================================ */
.gf-gallery-grid img{border-radius:var(--bs-border-radius);width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.gf-gallery-grid img:hover{transform:scale(1.02)}

/* ============================================================
   DOCUMENT PREVIEW
   ============================================================ */
.gf-doc-preview .wp-block-columns{max-width:800px;margin-left:auto;margin-right:auto}

/* ============================================================
   AUDIO PLAYER SECTION
   ============================================================ */
.gf-audio-list{display:flex;flex-direction:column;gap:.75rem}
.gf-audio-item{display:flex;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;border:1px solid rgba(0,0,0,.08);border-radius:var(--bs-border-radius);background:#fff;transition:box-shadow .2s}
.gf-audio-item:hover{box-shadow:var(--gf-shadow-sm)}
.gf-audio-play-btn{flex-shrink:0;background:none;border:none;padding:0;cursor:pointer;color:var(--gf-primary);font-size:2.25rem;line-height:1;transition:color .2s,transform .2s;display:flex;align-items:center}
.gf-audio-play-btn:hover{color:var(--gf-accent);transform:scale(1.1)}
.gf-audio-waveform{flex-shrink:0;width:120px;height:40px}
.gf-audio-waveform svg{width:100%;height:100%}
.gf-audio-info{flex:1;min-width:0}
.gf-audio-title{font-weight:600;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gf-audio-desc{font-size:.875rem;color:var(--gf-muted);margin-top:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gf-audio-meta{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}
.gf-audio-ep-badge{font-size:.7rem;font-weight:700;background:var(--gf-primary-light);color:var(--gf-primary);padding:.2rem .55rem;border-radius:20px;letter-spacing:.04em}
.gf-audio-dur{font-size:.8rem;color:var(--gf-muted);white-space:nowrap}
@media(max-width:576px){.gf-audio-waveform{display:none}.gf-audio-item{gap:.75rem}}

/* ============================================================
   MISC BLOCK OVERRIDES
   ============================================================ */
.wp-block-separator{border-color:currentColor;opacity:.1}
.wp-block-post-featured-image img{border-radius:var(--bs-border-radius);width:100%;object-fit:cover}
.wp-block-quote{border-left:4px solid #d9b56a;padding-left:1.5rem}
.wp-block-code{border-radius:var(--bs-border-radius)!important}
.wp-block-table td,.wp-block-table th{padding:.75rem 1rem}

/* ============================================================
   CARD INTERNALS
   ============================================================ */
.gf-post-card-body { display:flex;flex-direction:column;gap:.5rem }
.gf-post-card-body .wp-block-post-terms { font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em }
.gf-post-card-body .wp-block-post-title { font-size:1.1rem;font-weight:400;line-height:1.35;margin-top:.25rem }
.gf-post-card-body .wp-block-post-title a { font-size:inherit;font-weight:inherit;line-height:inherit }
.gf-post-card-body .wp-block-post-date { font-size:.8rem }
.gf-post-card-body .wp-block-post-excerpt { font-size:.9rem }
.gf-post-card-body .wp-block-read-more { font-size:.85rem;font-weight:600 }
.gf-card-minimal { display:flex;flex-direction:column;gap:.5rem }
.gf-card-minimal .wp-block-post-title { font-size:1rem;font-weight:400 }
.gf-card-minimal .wp-block-post-title a { font-size:inherit;font-weight:inherit }
.gf-card-minimal .wp-block-post-date { font-size:.8rem }
.gf-portfolio-overlay .wp-block-post-terms { font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#ffffff }
.gf-portfolio-overlay .wp-block-post-title { font-size:1.1rem;font-weight:400;color:#ffffff }
.gf-portfolio-overlay .wp-block-post-title a { color:#ffffff;font-size:inherit;font-weight:inherit }
.gf-team-card { display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem }
.gf-team-card .wp-block-post-featured-image img { border-radius:50% }
.gf-team-card .wp-block-post-title { font-size:1rem;font-weight:600;text-align:center }
.gf-team-card .wp-block-post-title a { font-size:inherit;font-weight:inherit }
.gf-team-card .wp-block-post-excerpt { font-size:.85rem;text-align:center }
.gf-team-card .wp-block-post-terms { font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;text-align:center }
.gf-event-card-body { padding:1.25rem;display:flex;flex-direction:column;gap:.5rem }
.gf-event-card-body .wp-block-post-terms { font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em }
.gf-event-card-body .wp-block-post-title { font-size:1.1rem;font-weight:400 }
.gf-event-card-body .wp-block-post-title a { font-size:inherit;font-weight:inherit }
.gf-event-card-body .wp-block-post-date { font-size:.85rem;font-weight:600 }
.gf-feature-card .wp-block-post-featured-image img { width:4rem;height:4rem;object-fit:cover }
.gf-feature-card .wp-block-post-title { font-size:1.1rem;font-weight:600 }
.gf-feature-card .wp-block-post-title a { font-size:inherit;font-weight:inherit }
.gf-feature-card .wp-block-post-excerpt { font-size:.9rem }
.gf-feature-card .wp-block-read-more { font-size:.85rem;font-weight:600 }
.gf-resource-card-body { padding:1.25rem;display:flex;flex-direction:column;gap:.5rem }
.gf-resource-card-body .wp-block-post-terms { font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em }
.gf-resource-card-body .wp-block-post-title { font-size:1rem;font-weight:400 }
.gf-resource-card-body .wp-block-post-title a { font-size:inherit;font-weight:inherit }
.gf-resource-card-body .wp-block-post-excerpt { font-size:.9rem }
.gf-resource-card-body .wp-block-read-more { font-size:.85rem;font-weight:700 }
.gf-product-card-body .wp-block-post-terms { font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em }
.gf-product-card-body .wp-block-post-title { font-size:1rem;font-weight:500 }
.gf-product-card-body .wp-block-post-title a { font-size:inherit;font-weight:inherit }
.gf-product-card-body .wp-block-post-excerpt { font-size:.875rem }
.gf-product-card-body .wp-block-read-more { font-size:.85rem;font-weight:700 }
.gf-job-card .wp-block-post-terms { font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em }
.gf-job-card .wp-block-post-title { font-size:1.05rem;font-weight:600;margin-top:.25rem }
.gf-job-card .wp-block-post-title a { font-size:inherit;font-weight:inherit }
.gf-apply-btn { font-size:.85rem!important;font-weight:700!important;padding:.5rem 1.25rem!important;border-radius:8px!important;white-space:nowrap }
.gf-related-section .wp-block-heading { font-size:clamp(1.5rem,3vw,2.25rem);font-weight:400;margin-bottom:var(--wp--preset--spacing--50) }
/* Related Products Strip */
.gf-related-card{height:100%;border:1px solid #6b6b6b;border-radius:var(--gf-radius);overflow:hidden;background:#ffffff;display:flex;flex-direction:column;transition:transform var(--gf-transition),box-shadow var(--gf-transition)}
.gf-related-card:hover{transform:translateY(-3px);box-shadow:var(--gf-shadow-md)}
.gf-related-card-img{margin:0;aspect-ratio:1/1;overflow:hidden;background:#fdfdfd}
.gf-related-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.gf-related-card-body{padding:1rem;flex:1;display:flex;flex-direction:column;gap:.375rem}
.gf-related-card-title{font-size:.95rem;font-weight:600;margin:0;color:}
.gf-related-card-price{font-size:.85rem;color:#6b6b6b;margin:0}
.gf-page-title { font-weight:400;font-size:clamp(2rem,4vw,3rem);padding-top:var(--wp--preset--spacing--60);padding-bottom:var(--wp--preset--spacing--30) }

/* ============================================================
   TYPOGRAPHY UTILITIES
   ============================================================ */
.gf-membership-plans{margin-top:0!important;margin-block-start:0!important}
.gf-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.75rem}
.gf-section-heading{font-weight:400;letter-spacing:-.025em;line-height:1.15;color:var(--wp--preset--color--primary);font-family:inherit}
.gf-section-subtext{font-size:1.0625rem;line-height:1.7}
.gf-hero-heading{font-size:clamp(2.75rem,5vw,4.5rem);font-weight:700;letter-spacing:-.025em;line-height:1.08;margin:0 0 1.25rem}
.gf-hero-image{border-radius:12px;overflow:hidden}
.gf-hero-image img{width:100%;height:100%;object-fit:cover;display:block}
.gf-hero-subtext{font-size:1.2rem;line-height:1.65;margin:0 0 2.25rem;opacity:.9}
.gf-cta-heading{font-size:clamp(1.875rem,3.5vw,2.75rem);font-weight:700;line-height:1.15;margin:0}
.gf-cta-subtext{font-size:1.05rem;line-height:1.65;margin:.5rem 0 0;opacity:.85}
.gf-card-title{font-size:1.2rem;font-weight:600;line-height:1.35;margin:0 0 .5rem}
.gf-testimonial-quote{font-size:1.0625rem;font-style:italic;line-height:1.7}
.gf-testimonial-author{font-weight:700;font-size:.875rem;margin-top:.75rem}
.gf-testimonial-single-wrap{max-width:760px;margin:0 auto;padding:3rem 2rem;text-align:center}
.gf-testimonial-avatar{width:56px;height:56px;border-radius:50%;overflow:hidden;flex-shrink:0}
.gf-testimonial-avatar img{width:100%;height:100%;object-fit:cover}
.gf-section-light{background-color:var(--gf-secondary-light)!important}
.gf-section-tint{background-color:var(--gf-primary-light)!important}
/* Product Roadmap */
.gf-roadmap-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}
.gf-roadmap-item{display:flex;align-items:center;gap:.625rem;font-size:.9375rem}
.gf-roadmap-icon{font-size:1rem;line-height:1;flex-shrink:0}
.gf-roadmap-icon.gf-roadmap-planned{color:#6b6b6b}
.gf-roadmap-icon.gf-roadmap-progress{color:#1a1a1a}
.gf-roadmap-icon.gf-roadmap-shipped{color:#d9b56a}
/* Remove WP flow-layout blockGap between adjacent full-bleed pattern sections */
.alignfull+.alignfull{margin-block-start:0!important;margin-top:0!important}
/* Remove WP default top margin on post content block */
.wp-block-post-content{margin-top:0!important}
/* Ensure all full-bleed sections have horizontal padding so content never touches the viewport edge */
.wp-block-group.alignfull{padding-left:clamp(1rem,4vw,2rem)!important;padding-right:clamp(1rem,4vw,2rem)!important}
.gf-icon-box{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;background:var(--gf-primary-light);color:var(--gf-primary)}
.gf-bi-icon{font-size:2rem;color:var(--gf-accent);margin-bottom:1rem;display:block}

/* ── Color utilities ──────────────────────────────────────── */
.gf-accent-color{color:var(--gf-accent)!important}
.gf-secondary-bg{background-color:var(--gf-secondary)!important}

/* Quiz Lead Form */
.gf-quiz-form{max-width:600px;margin-left:auto;margin-right:auto}
.gf-quiz-question{font-weight:600;color:#1a1a1a;margin-bottom:1.25rem}
.gf-quiz-options{display:flex;flex-direction:column;gap:.75rem}
.gf-quiz-option{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:2px solid #6b6b6b;border-radius:var(--gf-radius);cursor:pointer;color:;transition:border-color .15s,background .15s;margin:0}
.gf-quiz-option:hover{border-color:#1a1a1a}
.gf-quiz-option:has(input:checked){border-color:#1a1a1a;background:#e3e3e3}
.gf-quiz-option .form-check-input{accent-color:#1a1a1a;flex-shrink:0;margin:0;cursor:pointer}
/* ── LMS utilities ────────────────────────────────────────── */
.gf-quiz-results-inner{max-width:560px;margin-left:auto;margin-right:auto}
.gf-score-circle{width:160px;height:160px;position:relative;margin-left:auto;margin-right:auto}
.gf-score-ring{width:100%;height:100%;transform:rotate(-90deg);display:block}
.gf-score-ring-track{fill:none;stroke:#6b6b6b;stroke-width:3}
.gf-score-ring-fill{fill:none;stroke:#d9b56a;stroke-width:3;stroke-linecap:round}
.gf-course-thumb{width:100%;height:160px;object-fit:cover;display:block;background:linear-gradient(135deg,var(--gf-primary) 0%,var(--gf-secondary) 100%)}
.gf-lesson-layout{display:grid;grid-template-columns:1fr 300px;min-height:80vh}
@media(max-width:768px){.gf-lesson-layout{grid-template-columns:1fr;grid-template-rows:auto auto}}
.gf-lesson-main{display:flex;flex-direction:column;background:#111;overflow:hidden}
.gf-lesson-video{position:relative;display:flex;align-items:center;justify-content:center;background:#000;flex:1}
.gf-lesson-play-btn{width:72px;height:72px;border-radius:50%;border:3px solid rgba(255,255,255,.6);background:rgba(255,255,255,.1);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.75rem;transition:background .2s}
.gf-lesson-play-btn:hover{background:rgba(255,255,255,.2)}
.gf-lesson-play-btn .bi{font-size:1.75rem}
.gf-lesson-progress{height:4px;background:rgba(255,255,255,.1)}
.gf-lesson-progress-fill{height:100%;background:var(--wp--preset--color--accent,var(--gf-accent))}
.gf-lesson-controls{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:#1a1a1a}
.gf-lesson-ctrl-btn{background:transparent;border:none;color:rgba(255,255,255,.75);cursor:pointer;padding:.25rem;display:flex;align-items:center;line-height:1;transition:color .15s}
.gf-lesson-ctrl-btn:hover{color:#fff}
.gf-lesson-ctrl-btn .bi{font-size:1rem}
.gf-lesson-ctrl-btn--lg .bi{font-size:1.3rem}
.gf-lesson-time{font-size:.8rem;color:rgba(255,255,255,.5);margin-left:.5rem}
.gf-lesson-info{padding:.75rem 1.25rem;border-top:1px solid rgba(255,255,255,.1)}
.gf-lesson-course-label{color:rgba(255,255,255,.5);font-size:.8rem;margin:0 0 .25rem}
.gf-lesson-title{color:#fff;font-size:1.1rem;font-weight:600;margin:0}
.gf-lesson-sidebar{background:var(--wp--preset--color--primary,var(--gf-primary));overflow-y:auto;display:flex;flex-direction:column}
.gf-lesson-sidebar-header{padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.1);color:#fff;font-size:.85rem;font-weight:600}
.gf-lesson-list{flex:1;padding:.5rem 0}
.gf-lesson-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;cursor:pointer;transition:background .15s;color:rgba(255,255,255,.7);font-size:.85rem}
.gf-lesson-item:hover{background:rgba(255,255,255,.08)}
.gf-lesson-item--active{background:rgba(255,255,255,.15);color:#fff;font-weight:600}
.gf-lesson-icon{font-size:.85rem;flex-shrink:0;color:rgba(255,255,255,.4)}
.gf-lesson-item--active .gf-lesson-icon{color:#fff}
.gf-lesson-item--done .gf-lesson-icon{color:var(--wp--preset--color--accent,var(--gf-accent))}
.gf-lesson-duration{font-size:.75rem;color:rgba(255,255,255,.4);margin-left:auto;flex-shrink:0}

/* ── Dashboard utilities ──────────────────────────────────── */
.gf-metrics-grid{--bs-gutter-x:1.5rem}
.gf-dashboard-mockup{max-width:960px;margin-left:auto;margin-right:auto}
.gf-analytics-chart-card{border:none;height:100%;display:flex;flex-direction:column}
.gf-analytics-chart-card svg{flex:1;min-height:200px;overflow:visible}
.gf-analytics-metric-list{height:100%}

/* ── Album index ──────────────────────────────────────────── */
.gf-album-tile{display:block;text-decoration:none;color:inherit;border-radius:8px;overflow:hidden}
.gf-album-cover{position:relative;overflow:hidden}
.gf-album-img{width:100%;height:220px;object-fit:cover;display:block;transition:transform .3s ease}
.gf-album-tile:hover .gf-album-img{transform:scale(1.04)}
.gf-album-overlay{position:absolute;inset:0;background:rgba(0,0,0,.18);transition:background .3s}
.gf-album-tile:hover .gf-album-overlay{background:rgba(0,0,0,.32)}
.gf-album-meta{padding:.75rem 1rem;background:#fff}
.gf-album-title{display:block;font-weight:600;font-size:.95rem}
.gf-album-count{display:block;font-size:.8rem;color:#6b7280;margin-top:.2rem}

/* ── Portfolio grid ───────────────────────────────────────── */
.gf-portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:var(--wp--preset--spacing--50)}
@media(max-width:768px){.gf-portfolio-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.gf-portfolio-grid{grid-template-columns:1fr}}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:768px){
  .gf-hero-section{padding-top:3rem!important;padding-bottom:3rem!important}
  .gf-pricing-featured::after{top:-10px;font-size:.65rem}
  .gf-event-card{flex-direction:column}
  .gf-logo-grid{gap:1.5rem}
  .gf-newsletter-form{flex-direction:column}
}
/* ============================================================
   Z-INDEX STACK REGISTRY
   ============================================================ */
:root {
  --z-header:     1000;
  --z-sticky:     1010;
  --z-sticky-cta: 1020;
  --z-chatbot:    8000;
  --z-toast:      8500;
  --z-cookie:     9000;
  --z-modal:      9500;
  --z-a11y:       9999;
}
		

/* ============================================================
   CHATBOT
   ============================================================ */
:root {
  --chatbot-launcher-bg:      #d9b56a;
  --chatbot-launcher-color:   #ffffff;
  --chatbot-header-bg:        #1a1a1a;
  --chatbot-header-color:     #ffffff;
  --chatbot-header-sub-color: #ffffff;
  --chatbot-panel-bg:         #ffffff;
  --chatbot-messages-bg:      ;
  --chatbot-bubble-bot-bg:    #ffffff;
  --chatbot-bubble-bot-text:  #1a1a1a;
  --chatbot-bubble-user-bg:   #d9b56a;
  --chatbot-bubble-user-text: #ffffff;
  --chatbot-input-border:     rgba(26,26,26,.2);
  --chatbot-scrollbar-color:  rgba(26,26,26,.2);
  --chatbot-dot-color:        rgba(26,26,26,.4);
  --chatbot-badge-bg:         #d9b56a;
  --chatbot-badge-color:      #ffffff;
  --chatbot-send-bg:          #d9b56a;
  --chatbot-send-color:       #ffffff;
  --chatbot-radius:           var(--bs-border-radius);
  --chatbot-z:                var(--z-chatbot, 8000);
}
.gf-chatbot__launcher{position:fixed;bottom:1.25rem;right:1.25rem;z-index:var(--chatbot-z);width:60px;height:60px;border-radius:50%;background:var(--chatbot-launcher-bg);color:var(--chatbot-launcher-color);border:none;box-shadow:0 4px 12px rgba(0,0,0,.2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:transform .2s,box-shadow .2s;outline:none}
.gf-chatbot__launcher:hover{transform:scale(1.05);box-shadow:0 6px 16px rgba(0,0,0,.25)}
.gf-chatbot__launcher:focus-visible{outline:2px solid var(--chatbot-launcher-bg);outline-offset:3px}
.gf-chatbot__launcher-icon-close{display:none}
.gf-chatbot__launcher[aria-expanded="true"] .gf-chatbot__launcher-icon{display:none}
.gf-chatbot__launcher[aria-expanded="true"] .gf-chatbot__launcher-icon-close{display:block}
.gf-chatbot__badge{position:absolute;top:-4px;right:-4px;background:var(--chatbot-badge-bg);color:var(--chatbot-badge-color);font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 5px}
.gf-chatbot__panel{position:fixed;bottom:5rem;right:1.25rem;z-index:var(--chatbot-z);width:380px;height:520px;background:var(--chatbot-panel-bg);border-radius:var(--chatbot-radius);box-shadow:0 10px 25px rgba(0,0,0,.15);display:flex;flex-direction:column;overflow:hidden;animation:gf-slide-up .25s ease-out}
.gf-chatbot__header{background:var(--chatbot-header-bg);color:var(--chatbot-header-color);padding:.875rem 1rem;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.gf-chatbot__header-title{font-size:1rem;font-weight:600;color:var(--chatbot-header-color);margin:0}
.gf-chatbot__header-sub{font-size:.75rem;color:var(--chatbot-header-sub-color);opacity:.75;margin:0}
.gf-chatbot__close{background:none;border:none;color:var(--chatbot-header-color);font-size:1.25rem;cursor:pointer;opacity:.8;transition:opacity .15s;padding:0 4px;line-height:1}
.gf-chatbot__close:hover{opacity:1}
.gf-chatbot__messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.625rem;background:var(--chatbot-messages-bg);scroll-behavior:smooth}
.gf-chatbot__messages::-webkit-scrollbar{width:6px}
.gf-chatbot__messages::-webkit-scrollbar-track{background:transparent}
.gf-chatbot__messages::-webkit-scrollbar-thumb{background:var(--chatbot-scrollbar-color);border-radius:3px}
.gf-chatbot__message{display:flex;max-width:85%}
.gf-chatbot__message--bot{align-self:flex-start}
.gf-chatbot__message--user{align-self:flex-end}
.gf-chatbot__message--bot .gf-chatbot__bubble{background:var(--chatbot-bubble-bot-bg);color:var(--chatbot-bubble-bot-text);border:1px solid var(--chatbot-input-border);border-radius:16px 16px 16px 4px}
.gf-chatbot__message--user .gf-chatbot__bubble{background:var(--chatbot-bubble-user-bg);color:var(--chatbot-bubble-user-text);border-radius:16px 16px 4px 16px}
.gf-chatbot__bubble{padding:.625rem .875rem;font-size:.875rem;line-height:1.5;word-wrap:break-word}
.gf-chatbot__typing .gf-chatbot__bubble{display:flex;align-items:center;gap:4px;padding:.75rem 1rem}
.gf-chatbot__dot{width:8px;height:8px;border-radius:50%;background:var(--chatbot-dot-color);animation:gf-typing-dot 1.4s infinite ease-in-out}
.gf-chatbot__dot:nth-child(1){animation-delay:0s}
.gf-chatbot__dot:nth-child(2){animation-delay:.2s}
.gf-chatbot__dot:nth-child(3){animation-delay:.4s}
.gf-chatbot__input-area{display:flex;align-items:flex-end;gap:.5rem;padding:.75rem;border-top:1px solid var(--chatbot-input-border);background:var(--chatbot-panel-bg);flex-shrink:0}
.gf-chatbot__input{flex:1;border:1px solid var(--chatbot-input-border);border-radius:8px;padding:.5rem .75rem;font-size:.875rem;font-family:inherit;resize:none;outline:none;transition:border-color .15s;line-height:1.5;max-height:120px}
.gf-chatbot__input:focus{border-color:var(--chatbot-launcher-bg)}
.gf-chatbot__send{width:40px;height:40px;border-radius:8px;border:none;background:var(--chatbot-send-bg);color:var(--chatbot-send-color);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;transition:background .15s}
.gf-chatbot__send:hover{background:var(--chatbot-header-bg)}
@media(max-width:420px){.gf-chatbot__panel{width:100vw;height:100vh;position:fixed;inset:0;border-radius:0;bottom:auto;right:auto}}
.gf-social-share-bar__inner{padding:1.25rem 0;border-top:1px solid var(--wp--preset--color--muted,#e5e7eb);border-bottom:1px solid var(--wp--preset--color--muted,#e5e7eb);display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.gf-social-share-bar__label{font-size:.875rem;font-weight:600;color:var(--wp--preset--color--muted,#6b7280);white-space:nowrap}
.gf-social-share-bar__buttons{display:flex;flex-wrap:wrap;gap:.5rem}
.gf-social-share-bar__btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:6px;text-decoration:none;font-size:.85rem;font-weight:600;border:none;cursor:pointer;transition:opacity .15s,transform .15s}
.gf-social-share-bar__btn:hover{opacity:.85;transform:translateY(-1px)}
.gf-social-share-bar__btn--twitter{background:#000;color:#fff}
.gf-social-share-bar__btn--facebook{background:#1877F2;color:#fff}
.gf-social-share-bar__btn--linkedin{background:#0A66C2;color:#fff}
.gf-social-share-bar__btn--whatsapp{background:#25D366;color:#fff}
.gf-social-share-bar__btn--copy{background:var(--wp--preset--color--muted,#e5e7eb);color:var(--wp--preset--color--foreground,#374151)}
.gf-floating-contacts{position:fixed;bottom:1.5rem;right:1.5rem;z-index:8000;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}
.gf-floating-contacts__actions{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;min-width:220px;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s,transform .2s}
.gf-floating-contacts__actions.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}
.gf-floating-contacts__item{display:flex;align-items:center;gap:.5rem;background:#fff;padding:.5rem 1rem .5rem .75rem;border-radius:9999px;box-shadow:0 2px 12px rgba(0,0,0,.15);text-decoration:none;font-size:.85rem;font-weight:600;white-space:nowrap;border:none;font-family:inherit;cursor:pointer;width:100%;transition:box-shadow .15s,transform .15s}
.gf-floating-contacts__item:hover{box-shadow:0 4px 20px rgba(0,0,0,.22);transform:translateX(-3px)}
.gf-floating-contacts__item--phone{color:#1a1a1a}
.gf-floating-contacts__item--whatsapp{color:#128C7E}
.gf-floating-contacts__item--email{color:#1a1a1a}
.gf-floating-contacts__item--chat{color:#1a1a1a}
.gf-floating-contacts__icon{width:32px;height:32px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.gf-floating-contacts__icon .bi{font-size:1rem}
.gf-floating-contacts__toggle .bi{font-size:1.3rem}
.gf-floating-contacts__icon--primary{background:#1a1a1a}
.gf-floating-contacts__icon--whatsapp{background:#25D366}
.gf-floating-contacts__icon--accent{background:#d9b56a}
.gf-floating-contacts__toggle{width:52px;height:52px;border-radius:50%;background:#d9b56a;color:#fff;border:none;box-shadow:0 4px 16px rgba(0,0,0,.25);cursor:pointer;font-size:1.4rem;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}
.gf-floating-contacts__toggle:hover{transform:scale(1.08);box-shadow:0 6px 20px rgba(0,0,0,.3)}
.gf-push-banner__inner{position:fixed;top:0;left:0;right:0;z-index:8500;background:#1a1a1a;color:#ffffff;padding:.75rem 1rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;box-shadow:0 2px 12px rgba(0,0,0,.2)}
.gf-push-banner__message{margin:0;flex:1;font-size:.875rem;min-width:200px}
.gf-push-banner__icon{font-size:1.25rem}
.gf-push-banner__actions{display:flex;gap:.5rem;flex-shrink:0}
.gf-push-banner__allow{padding:.4rem 1rem;background:#d9b56a;color:;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer}
.gf-push-banner__dismiss{padding:.4rem .875rem;background:transparent;color:rgba(255,255,255,.65);border:1px solid rgba(255,255,255,.25);border-radius:6px;font-size:.875rem;cursor:pointer}
@keyframes gf-gradient-shift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes gf-slide-up {from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes gf-typing-dot {0%,80%,100%{transform:scale(.7);opacity:.5}40%{transform:scale(1);opacity:1}}
@keyframes gf-fade-in {from{opacity:0}to{opacity:1}}
@keyframes gf-fade-out {from{opacity:1}to{opacity:0;transform:translateY(8px)}}
.gf-is-hiding{animation:gf-fade-out .25s ease forwards;pointer-events:none}
.gf-cookie-bar{animation:gf-slide-up .35s ease}
.gf-cookie-modal{animation:gf-fade-in .25s ease}
.gf-cookie-modal__panel{animation:gf-slide-up .3s ease}
.gf-opt-in-popup{animation:gf-fade-in .25s ease}
.gf-opt-in-popup__panel{animation:gf-slide-up .3s ease}
.gf-announcement-modal{animation:gf-fade-in .25s ease}
.gf-announcement-modal__panel{animation:gf-slide-up .3s ease}
.gf-age-gate{animation:gf-fade-in .3s ease}
		

/* ============================================================
   FORMS — GF design system (always included)
   ============================================================ */
:root {
  --form-label-color:    #1a1a1a;
  --form-input-bg:       #ffffff;
  --form-input-border:   rgba(26,26,26,.25);
  --form-input-focus:    #1a1a1a;
  --form-input-text:     #1a1a1a;
  --form-submit-bg:      #1a1a1a;
  --form-submit-color:   #ffffff;
  --form-error-color:    #dc2626;
  --form-success-color:  #16a34a;
  --form-radius:         var(--bs-border-radius);
}
.gf-form-card {background:#ffffff;border:1px solid rgba(26,26,26,.12);border-radius:var(--bs-border-radius);padding:2rem;box-shadow:0 4px 16px rgba(26,26,26,.06);color:}
.gf-hero-section .gf-form-card,.gf-hero-section .gf-form-card h3,.gf-hero-section .gf-form-card p,.gf-hero-section .gf-form-card label{color:!important}
.gf-form-label {display:block;font-size:.875rem;font-weight:600;color:var(--form-label-color);margin-bottom:.375rem}
.gf-form-input {width:100%;padding:.625rem .875rem;border:2px solid var(--form-input-border);border-radius:var(--form-radius);background:var(--form-input-bg);color:var(--form-input-text);font-family:inherit;font-size:.95rem;transition:border-color .15s;box-sizing:border-box}
.gf-form-input:focus {border-color:var(--form-input-focus);outline:none;box-shadow:0 0 0 3px rgba(26,26,26,.12)}
.gf-form-input.is-valid {border-color:var(--form-success-color)}
.gf-form-input.is-invalid {border-color:var(--form-error-color)}
.gf-form-error {font-size:.8rem;color:var(--form-error-color);margin-top:.25rem;display:block}
.gf-form-success {font-size:.8rem;color:var(--form-success-color);margin-top:.25rem;display:block}
.gf-form-submit {padding:.75rem 2rem;background:var(--form-submit-bg);color:var(--form-submit-color);border:none;border-radius:var(--form-radius);font-size:1rem;font-weight:700;font-family:inherit;cursor:pointer;transition:opacity .15s}
.gf-form-submit:hover {opacity:.9}
		

/* ============================================================
   CALENDAR WIDGET — GF design system (always included)
   ============================================================ */
:root {
  --calendar-bg:            #ffffff;
  --calendar-border:        rgba(26,26,26,.15);
  --calendar-header-bg:     #1a1a1a;
  --calendar-header-text:   #ffffff;
  --calendar-day-hover:     rgba(26,26,26,.06);
  --calendar-today-bg:      #1a1a1a;
  --calendar-today-text:    #ffffff;
  --calendar-event-primary: #1a1a1a;
  --calendar-event-accent:  #d9b56a;
  --calendar-event-text:    #fff;
  --calendar-radius:        var(--bs-border-radius);
  --calendar-slot-avail:    rgba(217,181,106,.15);
  --calendar-slot-taken:    rgba(26,26,26,.06);
  --calendar-slot-selected: #1a1a1a;
}
.gf-calendar {background:var(--calendar-bg);border:1px solid var(--calendar-border);border-radius:var(--calendar-radius);overflow:hidden;font-family:inherit}
.gf-calendar__header {background:var(--calendar-header-bg);color:var(--calendar-header-text);padding:.875rem 1rem;display:flex;align-items:center;justify-content:space-between}
.gf-calendar__grid {display:grid;grid-template-columns:repeat(7,1fr)}
.gf-calendar__day-header {font-size:.72rem;font-weight:600;text-align:center;padding:.4rem 0;color:#6b6b6b;text-transform:uppercase;border-bottom:1px solid var(--calendar-border)}
.gf-calendar__cell {min-height:80px;padding:.4rem;border-right:1px solid rgba(26,26,26,.07);border-bottom:1px solid rgba(26,26,26,.07)}
.gf-calendar__event-chip {padding:.1rem .4rem;border-radius:3px;font-size:.65rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.2rem;color:#fff;background:var(--calendar-event-primary)}
.gf-booking-slot {padding:.375rem .75rem;border:2px solid var(--calendar-border);border-radius:var(--calendar-radius);font-size:.8rem;cursor:pointer;background:var(--calendar-slot-avail);transition:background .15s}
.gf-booking-slot.is-selected {background:var(--calendar-slot-selected);color:#ffffff;border-color:#1a1a1a}
.gf-booking-slot[disabled] {background:var(--calendar-slot-taken);opacity:.5;cursor:not-allowed}
		

/* ============================================================
   GALLERY — GF design system (always included)
   ============================================================ */
:root {
  --gallery-overlay-bg:  rgba(26,26,26,.75);
  --gallery-caption-bg:  rgba(26,26,26,.88);
  --gallery-caption-text:#ffffff;
  --gallery-accent:      #d9b56a;
  --gallery-radius:      var(--bs-border-radius);
}
.gf-masonry-gallery{margin-top:0!important;margin-block-start:0!important}
.gf-masonry-grid{column-gap:1rem}
.gf-masonry-item{break-inside:avoid;margin-bottom:1rem;position:relative;overflow:hidden;border-radius:var(--gallery-radius);cursor:pointer}
.gf-masonry-img{width:100%;display:block;object-fit:cover;transition:transform .3s}
.gf-masonry-item:hover .gf-masonry-img{transform:scale(1.04)}
.gf-masonry-overlay{position:absolute;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}
.gf-masonry-item:hover .gf-masonry-overlay{opacity:1}
.gf-masonry-zoom-icon .bi{font-size:1.75rem;color:#fff;line-height:1}
.gf-gallery-masonry {columns:3;gap:1rem}
@media(max-width:768px){.gf-gallery-masonry{columns:2}}
@media(max-width:480px){.gf-gallery-masonry{columns:1}}
.gf-gallery-masonry figure {break-inside:avoid;margin:0 0 1rem;border-radius:var(--gallery-radius);overflow:hidden;position:relative;cursor:pointer}
.gf-gallery-item {border-radius:var(--gallery-radius);overflow:hidden;cursor:pointer;position:relative}
.gf-gallery-caption {position:absolute;bottom:0;left:0;right:0;background:var(--gallery-caption-bg);color:var(--gallery-caption-text);padding:.5rem .75rem;font-size:.8rem;transform:translateY(100%);transition:transform .2s}
.gf-gallery-item:hover .gf-gallery-caption {transform:translateY(0)}
.gf-lightbox {position:fixed;inset:0;z-index:var(--z-modal,9500);background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center}
.gf-lightbox__close {position:absolute;top:-2.5rem;right:0;background:transparent;border:none;color:#fff;font-size:1.5rem;cursor:pointer}
		

/* ============================================================
   LMS — GF design system (always included)
   ============================================================ */
:root {
  --lms-primary:     #1a1a1a;
  --lms-accent:      #d9b56a;
  --lms-progress-bg: rgba(26,26,26,.1);
  --lms-radius:      var(--bs-border-radius);
}
.gf-lms-progress {height:8px;background:var(--lms-progress-bg);border-radius:9999px;overflow:hidden}
.gf-lms-progress__bar {height:100%;background:linear-gradient(90deg,#1a1a1a,#d9b56a);border-radius:9999px;transition:width .4s ease}
.gf-lms-lesson-item {display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;border-radius:var(--bs-border-radius);cursor:pointer;transition:background .15s}
.gf-lms-lesson-item:hover {background:rgba(26,26,26,.06)}
.gf-lms-lesson-item.is-active {background:rgba(26,26,26,.1);font-weight:600}
.gf-lms-enroll-btn {background:#1a1a1a;color:#ffffff;padding:.875rem 2rem;border:none;border-radius:var(--bs-border-radius);font-size:1rem;font-weight:700;font-family:inherit;cursor:pointer;width:100%;transition:opacity .15s}
.gf-lms-enroll-btn:hover {opacity:.9}
		

/* ============================================================
   MEMBERSHIP — GF design system (always included)
   ============================================================ */
:root {
  --gate-overlay-bg: rgba(255,255,255,.96);
  --gate-cta-bg:     #1a1a1a;
  --gate-cta-color:  #ffffff;
  --gate-radius:     var(--bs-border-radius);
}
.gf-content-gate {position:relative;overflow:hidden}
.gf-gate-overlay {position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0%,var(--gate-overlay-bg) 35%,#fff 60%);display:flex;align-items:flex-end;padding:2rem 1.5rem}
.gf-gate-cta {background:var(--gate-cta-bg);color:var(--gate-cta-color);padding:.75rem 1.75rem;border-radius:var(--gate-radius);font-weight:700;text-decoration:none;display:inline-block}
.gf-gate-login-link {font-size:.875rem;color:#6b6b6b;text-decoration:underline;margin-left:1rem}
		

/* ============================================================
   COMMENTS  (comments: "native")
   ============================================================ */
.commentlist {list-style:none;padding:0;margin:0}
.comment-body {border:1px solid rgba(26,26,26,.1);border-radius:var(--bs-border-radius);padding:1.25rem;margin-bottom:1rem;font-family:inherit}
.comment-author .fn {font-weight:700;color:#1a1a1a}
.comment-meta a {color:#6b6b6b;font-size:.8rem;text-decoration:none}
.comment-content p {color:#1a1a1a;line-height:1.7;margin:.5rem 0 0}
.reply a {color:#d9b56a;font-size:.85rem;font-weight:600;text-decoration:none}
.comment-respond h3 {color:#1a1a1a;font-family:inherit}
#commentform input,#commentform textarea {border:2px solid rgba(26,26,26,.2);border-radius:var(--bs-border-radius);font-family:inherit;padding:.625rem .875rem;width:100%;box-sizing:border-box}
#commentform input:focus,#commentform textarea:focus {border-color:#1a1a1a;outline:none;box-shadow:0 0 0 3px rgba(26,26,26,.12)}
#commentform .submit {background:#1a1a1a;color:#ffffff;border:none;border-radius:var(--bs-border-radius);font-family:inherit;font-weight:700;padding:.75rem 2rem;cursor:pointer}
			

/* ============================================================
   EMAIL CAPTURE — GF design system (always included)
   ============================================================ */
.gf-newsletter-inline {display:flex;gap:.5rem;flex-wrap:wrap}
.gf-newsletter-inline input[type="email"] {flex:1;min-width:200px;padding:.75rem 1rem;border:2px solid rgba(26,26,26,.2);border-radius:var(--bs-border-radius);font-family:inherit;font-size:.95rem}
.gf-newsletter-inline input[type="email"]:focus {border-color:#1a1a1a;outline:none}
.gf-newsletter-inline button {padding:.75rem 1.5rem;background:#1a1a1a;color:#ffffff;border:none;border-radius:var(--bs-border-radius);font-weight:700;font-family:inherit;cursor:pointer;white-space:nowrap}
		

/* ============================================================
   JOB LISTINGS — GF design system (always included)
   ============================================================ */
:root {
  --job-primary: #1a1a1a;
  --job-accent:  #d9b56a;
  --job-border:  rgba(26,26,26,.12);
  --job-radius:  var(--bs-border-radius);
}
.gf-job-row {display:flex;align-items:center;gap:1rem;padding:1.25rem 1rem;border-bottom:1px solid var(--job-border);flex-wrap:wrap}
.gf-job-row > div:first-child{flex:1;min-width:0}
.gf-job-row__title {font-weight:700;color:#1a1a1a;margin:0 0 .2rem}
.gf-job-row__meta {font-size:.8rem;color:#6b6b6b;margin:0}
.gf-job-type-badge {padding:.25rem .65rem;border-radius:9999px;font-size:.72rem;font-weight:700}
.gf-job-type-badge--fulltime {background:;color:#1a1a1a}
.gf-job-type-badge--parttime {background:;color:#1a1a1a}
.gf-job-type-badge--contract {background:;color:#f5f5f5}
.gf-job-filter-bar {display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.5rem}
.gf-job-filter-bar select {padding:.5rem .875rem;border:1px solid var(--job-border);border-radius:var(--job-radius);font-family:inherit;font-size:.875rem}
		

/* ============================================================
   ACCESSIBILITY WIDGET
   ============================================================ */
.gf-a11y-controls {display:flex;gap:.5rem;align-items:center}
.gf-a11y-btn {background:transparent;border:1px solid rgba(26,26,26,.25);border-radius:var(--bs-border-radius);padding:.35rem .75rem;font-size:.875rem;font-family:inherit;cursor:pointer;transition:background .15s;color:inherit}
.gf-a11y-btn:hover,.gf-a11y-btn[aria-pressed="true"] {background:#1a1a1a;color:#ffffff;border-color:#1a1a1a}
				