.elementor-789 .elementor-element.elementor-element-3d3215d{--display:flex;}/* Start custom CSS for html, class: .elementor-element-b22c254 *//* ============================================
   BRISTOL PHARMACY - GENERAL RX PAGE
   OKC Roots, Statewide Care
   Standardized Red & Gold Color Scheme
   Updated: February 2026
   ============================================ */

/* ============================================
   SECTION 1: CSS VARIABLES & BASE STYLES
   ============================================ */

:root {
    --bristol-red: #e63329 !important;
    --bristol-red-dark: #c4271e !important;
    --bristol-red-light: #ff4d42 !important;
    --bristol-gold: #c9a962 !important;
    --bristol-gold-dark: #a88d4a !important;
    --bristol-gold-light: #dfc98a !important;
    --white: #ffffff !important;
    --off-white: #faf9f7 !important;
    --cream: #f5f3ef !important;
    --light-gray: #e8e6e2 !important;
    --gray: #9a9590 !important;
    --dark-gray: #4a4744 !important;
    --charcoal: #2d2a27 !important;
    --black: #1a1817 !important;
    --text-primary: #2d2a27 !important;
    --text-secondary: #4a4744 !important;
    --text-muted: #9a9590 !important;
    --font-primary: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    --font-light: 300 !important;
    --font-regular: 400 !important;
    --font-medium: 500 !important;
    --font-semibold: 600 !important;
    --font-bold: 700 !important;
    --text-xs: 0.75rem !important;
    --text-sm: 0.875rem !important;
    --text-base: 1rem !important;
    --text-lg: 1.125rem !important;
    --text-xl: 1.25rem !important;
    --text-2xl: 1.5rem !important;
    --text-3xl: 1.875rem !important;
    --text-4xl: 2.25rem !important;
    --text-5xl: 3rem !important;
    --leading-tight: 1.2 !important;
    --leading-snug: 1.375 !important;
    --leading-normal: 1.5 !important;
    --leading-relaxed: 1.625 !important;
    --leading-loose: 1.75 !important;
    --tracking-tight: -0.025em !important;
    --tracking-normal: 0 !important;
    --tracking-wide: 0.025em !important;
    --transition-fast: 0.15s ease !important;
    --transition-base: 0.2s ease !important;
    --transition-medium: 0.3s ease !important;
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.05) !important;
    --shadow-base: 0 2px 8px rgba(0,0,0,0.08) !important;
    --shadow-md: 0 4px 12px rgba(0,0,0,0.1) !important;
    --shadow-lg: 0 8px 24px rgba(0,0,0,0.12) !important;
    --shadow-xl: 0 12px 32px rgba(0,0,0,0.15) !important;
    --shadow-warm: 0 4px 20px rgba(230, 51, 41, 0.15) !important;
    --radius-sm: 6px !important;
    --radius-base: 8px !important;
    --radius-md: 12px !important;
    --radius-lg: 16px !important;
    --radius-xl: 20px !important;
    --radius-full: 50px !important;
}

html { scroll-behavior: smooth !important; }
*, *::before, *::after { box-sizing: border-box !important; }
body { margin: 0 !important; padding: 0 !important; font-family: var(--font-primary) !important; color: var(--text-primary) !important; background-color: var(--off-white) !important; line-height: 1.6 !important; -webkit-font-smoothing: antialiased !important; -moz-osx-font-smoothing: grayscale !important; }

/* SECTION 2: SKIP LINK */
.skip-to-content { position: absolute !important; top: -100px !important; left: 50% !important; transform: translateX(-50%) !important; background: var(--bristol-red) !important; color: var(--white) !important; padding: 0.75rem 1.5rem !important; border-radius: 0 0 8px 8px !important; font-weight: 700 !important; text-decoration: none !important; z-index: 100000 !important; transition: top var(--transition-medium) !important; }
.skip-to-content:focus { top: 0 !important; }

/* SECTION 3: HEADER */
.bristol-custom-header { background-color: var(--off-white) !important; padding: 12px 0 !important; width: 100% !important; border-bottom: 3px solid var(--bristol-red) !important; position: relative !important; z-index: 9999 !important; }
.bristol-header-inner { max-width: 1200px !important; margin: 0 auto !important; padding: 0 20px !important; display: flex !important; justify-content: space-between !important; align-items: center !important; flex-wrap: wrap !important; }
.bristol-header-logo img { height: 55px !important; width: auto !important; display: block !important; transition: transform var(--transition-fast) !important; }
.bristol-header-logo a { display: block !important; line-height: 0 !important; text-decoration: none !important; }
.bristol-header-logo a:hover img { transform: scale(1.03) !important; }
.bristol-header-logo a:focus { outline: 3px solid var(--bristol-gold) !important; outline-offset: 4px !important; border-radius: 4px !important; }
.bristol-header-nav { display: flex !important; gap: 10px !important; align-items: center !important; }
.bristol-header-nav .bristol-nav-inner { display: flex !important; gap: 10px !important; align-items: center !important; }
.bristol-nav-pill { background-color: var(--bristol-red) !important; color: var(--white) !important; text-decoration: none !important; padding: 10px 18px !important; border-radius: var(--radius-base) !important; font-family: var(--font-primary) !important; font-size: var(--text-sm) !important; font-weight: var(--font-bold) !important; transition: all var(--transition-fast) !important; white-space: nowrap !important; cursor: pointer !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; box-sizing: border-box !important; line-height: normal !important; border: 2px solid var(--bristol-red) !important; }
.bristol-nav-pill:hover { background-color: var(--bristol-gold) !important; border-color: var(--bristol-gold) !important; color: var(--charcoal) !important; transform: translateY(-2px) !important; box-shadow: var(--shadow-sm) !important; }
.bristol-nav-pill:focus { outline: 3px solid var(--bristol-gold) !important; outline-offset: 2px !important; }
.bristol-nav-pill:active { transform: translateY(0) !important; }
.bristol-nav-pill.active { background-color: var(--bristol-gold) !important; border-color: var(--bristol-gold) !important; color: var(--charcoal) !important; }
.dropdown-arrow { display: inline-block !important; transition: transform var(--transition-fast) !important; margin-left: 4px !important; }
#bristol-patient-toggle:checked ~ .bristol-dropdown-trigger .dropdown-arrow, #bristol-submenu-toggle:checked ~ .bristol-dropdown-trigger .dropdown-arrow { transform: rotate(180deg) !important; }
.bristol-nav-dropdown-group { position: relative !important; display: inline-block !important; padding-bottom: 20px !important; margin-bottom: -20px !important; }
.bristol-dropdown-content { display: none !important; position: absolute !important; top: 100% !important; right: 0 !important; background-color: var(--white) !important; min-width: 220px !important; box-shadow: var(--shadow-lg) !important; border-radius: var(--radius-base) !important; padding: 10px 0 !important; z-index: 1000 !important; margin-top: 10px !important; border: 2px solid var(--bristol-red) !important; animation: dropdownFade 0.2s ease-out !important; }
@keyframes dropdownFade { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
.bristol-dropdown-content::before { content: "" !important; position: absolute !important; bottom: 100% !important; left: 0 !important; width: 100% !important; height: 15px !important; background: transparent !important; }
.bristol-nav-dropdown-group:hover .bristol-dropdown-content { display: block !important; }
#bristol-patient-toggle:checked ~ .bristol-dropdown-content, #bristol-submenu-toggle:checked ~ .bristol-dropdown-content { display: block !important; }
.bristol-dropdown-content a { color: var(--bristol-red) !important; padding: 12px 20px !important; text-decoration: none !important; display: block !important; font-family: var(--font-primary) !important; font-weight: var(--font-semibold) !important; transition: all var(--transition-fast) !important; font-size: var(--text-sm) !important; }
.bristol-dropdown-content a:hover { background-color: var(--cream) !important; padding-left: 26px !important; }
.bristol-dropdown-content a:focus { outline: 2px solid var(--bristol-gold) !important; outline-offset: -2px !important; background-color: var(--cream) !important; }
.bristol-dropdown-content a.active { background-color: var(--cream) !important; color: var(--bristol-red-dark) !important; font-weight: var(--font-bold) !important; border-left: 3px solid var(--bristol-red) !important; }
#bristol-nav-toggle, .bristol-nav-toggle, #bristol-submenu-toggle, #bristol-patient-toggle, .bristol-submenu-toggle { display: none !important; }
.bristol-nav-icon { display: none !important; }

/* SECTION 4: PAGE WRAPPER & HERO */
.bristol-gen-wrapper { max-width: 1100px !important; margin: 0 auto !important; padding: 40px 20px !important; line-height: 1.6 !important; }
.bristol-hero { background: linear-gradient(135deg, var(--bristol-red) 0%, var(--bristol-red-dark) 100%) !important; color: var(--white) !important; text-align: center !important; padding: 70px 30px !important; border-radius: var(--radius-xl) !important; margin-bottom: 40px !important; box-shadow: var(--shadow-warm) !important; position: relative !important; overflow: hidden !important; }
.bristol-hero::before { content: "" !important; position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; background: radial-gradient(circle at 20% 80%, rgba(201, 169, 98, 0.15) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.08) 0%, transparent 50%) !important; pointer-events: none !important; }
.bristol-hero h1 { font-family: var(--font-primary) !important; color: var(--white) !important; font-size: 2.8rem !important; margin: 0 0 15px 0 !important; font-weight: var(--font-bold) !important; line-height: 1.15 !important; position: relative !important; text-shadow: 0 2px 4px rgba(0,0,0,0.2) !important; }
.bristol-hero p { font-family: var(--font-primary) !important; font-size: 1.1rem !important; color: rgba(255,255,255,0.95) !important; max-width: none !important; margin: 0 auto !important; font-weight: var(--font-regular) !important; line-height: 1.5 !important; position: relative !important; }

/* SECTION 5: TYPOGRAPHY & SECTIONS */
.bristol-section { margin-bottom: 3rem !important; padding: 10px 0 !important; background-color: transparent !important; }
.bristol-gen-wrapper h2 { font-family: var(--font-primary) !important; color: var(--bristol-red) !important; font-size: 2rem !important; margin-bottom: 1rem !important; border-bottom: 3px solid var(--bristol-gold) !important; display: inline-block !important; padding-bottom: 8px !important; font-weight: var(--font-bold) !important; }
.bristol-gen-wrapper h3 { font-family: var(--font-primary) !important; color: var(--charcoal) !important; font-size: 1.4rem !important; margin-top: 0 !important; margin-bottom: 15px !important; font-weight: var(--font-bold) !important; }
.section-intro { font-family: var(--font-primary) !important; font-size: 1.05rem !important; line-height: 1.6 !important; color: var(--text-primary) !important; margin-bottom: 1.5rem !important; max-width: 800px !important; text-wrap: pretty !important; }
.mb-0 { margin-bottom: 0 !important; }

/* SECTION 6: INTRO GRID & ACCENT CARDS */
.intro-grid { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 20px !important; margin-top: 30px !important; }
.accent-card { background: var(--white) !important; border: 2px solid var(--light-gray) !important; padding: 24px !important; border-radius: var(--radius-md) !important; height: 100% !important; box-sizing: border-box !important; box-shadow: var(--shadow-md) !important; transition: all var(--transition-fast) !important; }
.accent-card:hover { transform: translateY(-3px) !important; box-shadow: var(--shadow-lg) !important; border-color: var(--bristol-red) !important; }
.accent-card strong { font-family: var(--font-primary) !important; color: var(--bristol-red) !important; display: flex !important; align-items: center !important; gap: 8px !important; font-size: 1.1rem !important; margin-bottom: 10px !important; }
.accent-icon { font-size: 1.2em !important; }
.accent-card p { font-family: var(--font-primary) !important; margin: 0 !important; line-height: 1.55 !important; text-wrap: pretty !important; }
.accent-card > :last-child { margin-bottom: 0 !important; }

/* SECTION 7: PROVIDER CARDS */
.provider-card { background: var(--white) !important; border: 2px solid var(--light-gray) !important; padding: 28px !important; height: 100% !important; box-sizing: border-box !important; box-shadow: var(--shadow-md) !important; border-radius: var(--radius-md) !important; transition: all var(--transition-fast) !important; }
.provider-card:hover { transform: translateY(-3px) !important; box-shadow: var(--shadow-lg) !important; border-color: var(--bristol-red) !important; }
.provider-card-intro { background: linear-gradient(135deg, var(--white) 0%, var(--cream) 100%) !important; }
.provider-card-compact { height: auto !important; }
.provider-card > :last-child { margin-bottom: 0 !important; }
.provider-card h3 { font-family: var(--font-primary) !important; color: var(--bristol-red) !important; margin: 0 0 15px 0 !important; font-size: 1.3rem !important; font-weight: var(--font-bold) !important; }
.provider-card p { font-family: var(--font-primary) !important; margin-bottom: 15px !important; line-height: 1.6 !important; text-wrap: pretty !important; }
.provider-list { padding-left: 20px !important; margin: 15px 0 0 0 !important; }
.provider-list li { font-family: var(--font-primary) !important; margin-bottom: 10px !important; line-height: 1.55 !important; }
.provider-list li:last-child { margin-bottom: 0 !important; }
.provider-card strong { color: var(--bristol-red) !important; font-weight: var(--font-bold) !important; }

/* SECTION 8: WORKFLOW */
.workflow-essential { margin-top: 15px !important; }
.workflow-essential-item { margin-bottom: 18px !important; }
.workflow-essential-item:last-child { margin-bottom: 0 !important; }
.workflow-essential-item strong { font-family: var(--font-primary) !important; color: var(--text-primary) !important; display: flex !important; align-items: center !important; gap: 8px !important; font-size: 1rem !important; }
.workflow-essential-item p { font-family: var(--font-primary) !important; margin: 8px 0 0 0 !important; font-size: 0.95rem !important; line-height: 1.5 !important; }
.workflow-icon { font-size: 1.1em !important; }
.highlight-text { font-weight: var(--font-bold) !important; color: var(--bristol-red) !important; }

/* SECTION 9: INFO GRID */
.info-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important; gap: 25px !important; margin-top: 25px !important; }
.info-grid-2 { grid-template-columns: repeat(2, 1fr) !important; align-items: start !important; }

/* SECTION 10: ALERT BOX */
.alert-box { background: linear-gradient(135deg, #FFF8F0 0%, #FFF2E6 100%) !important; border: 2px solid var(--bristol-gold) !important; border-left: 6px solid var(--bristol-gold) !important; padding: 24px 28px !important; border-radius: var(--radius-md) !important; margin: 30px 0 !important; box-shadow: var(--shadow-md) !important; }
.alert-box p { font-family: var(--font-primary) !important; margin: 0 !important; line-height: 1.7 !important; font-size: 1rem !important; }
.alert-box strong { color: var(--bristol-gold-dark) !important; }
.alert-highlight { color: var(--bristol-red) !important; font-weight: var(--font-semibold) !important; }

/* SECTION 11: INQUIRY CARD */
.inquiry-card { background: linear-gradient(135deg, var(--cream) 0%, var(--white) 100%) !important; border: 2px solid var(--bristol-red) !important; padding: 40px !important; border-radius: var(--radius-lg) !important; text-align: center !important; box-shadow: var(--shadow-lg) !important; }
.inquiry-card h3 { font-family: var(--font-primary) !important; color: var(--bristol-red) !important; font-size: 1.8rem !important; margin: 0 0 20px 0 !important; font-weight: var(--font-bold) !important; }
.inquiry-main { font-family: var(--font-primary) !important; font-size: 1.1rem !important; line-height: 1.6 !important; margin-bottom: 15px !important; color: var(--text-primary) !important; }
.inquiry-main strong { color: var(--bristol-red) !important; }
.inquiry-sub { font-family: var(--font-primary) !important; font-size: 1rem !important; line-height: 1.6 !important; color: var(--text-muted) !important; margin-bottom: 25px !important; max-width: 700px !important; margin-left: auto !important; margin-right: auto !important; }
.inquiry-cta { margin-top: 25px !important; }
.bristol-btn-inquiry { font-size: 1.1rem !important; padding: 16px 36px !important; }

/* SECTION 12: CTA */
.cta-container { text-align: center !important; padding: 50px 30px !important; background: linear-gradient(135deg, var(--bristol-red) 0%, var(--bristol-red-dark) 100%) !important; color: white !important; border-radius: var(--radius-xl) !important; margin-top: 40px !important; box-shadow: var(--shadow-warm) !important; position: relative !important; overflow: hidden !important; }
.cta-container::before { content: "" !important; position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; background: radial-gradient(circle at 90% 90%, rgba(201, 169, 98, 0.2) 0%, transparent 50%) !important; pointer-events: none !important; }
.cta-container h2 { font-family: var(--font-primary) !important; color: var(--white) !important; border-bottom: none !important; font-size: 2rem !important; margin-bottom: 15px !important; display: block !important; position: relative !important; }
.cta-container p { font-family: var(--font-primary) !important; font-size: 1.1rem !important; margin-bottom: 0 !important; opacity: 0.95 !important; max-width: 700px !important; margin-left: auto !important; margin-right: auto !important; position: relative !important; }
.cta-buttons { margin-top: 30px !important; display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 15px !important; position: relative !important; }
.bristol-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; background-color: var(--bristol-gold) !important; color: var(--charcoal) !important; padding: 14px 30px !important; border-radius: var(--radius-full) !important; text-decoration: none !important; font-family: var(--font-primary) !important; font-weight: var(--font-bold) !important; font-size: 1rem !important; transition: all var(--transition-fast) !important; border: 2px solid var(--bristol-gold) !important; }
.bristol-btn:hover { background-color: var(--bristol-gold-dark) !important; border-color: var(--bristol-gold-dark) !important; transform: translateY(-3px) !important; box-shadow: var(--shadow-md) !important; }
.bristol-btn:focus { outline: 3px solid var(--white) !important; outline-offset: 2px !important; }
.bristol-btn:active { transform: translateY(0) !important; }
.bristol-btn.secondary { background-color: transparent !important; border: 2px solid var(--white) !important; color: var(--white) !important; }
.bristol-btn.secondary:hover { background-color: var(--white) !important; color: var(--bristol-red) !important; border-color: var(--white) !important; }

/* SECTION 13: FAQ */
.faq-section { background: transparent !important; border-radius: var(--radius-md) !important; padding: 10px 0 !important; margin-top: 30px !important; }
.faq-container { display: flex !important; flex-direction: column !important; gap: 12px !important; margin-top: 25px !important; }
.faq-item { background: var(--white) !important; border: 1px solid var(--light-gray) !important; border-radius: var(--radius-md) !important; overflow: hidden !important; transition: all var(--transition-fast) !important; }
.faq-item:hover { border-color: var(--bristol-red) !important; }
.faq-item[open] { border-color: var(--bristol-red) !important; box-shadow: var(--shadow-md) !important; }
.faq-question { padding: 18px 24px !important; font-family: var(--font-primary) !important; font-weight: var(--font-semibold) !important; color: var(--charcoal) !important; cursor: pointer !important; list-style: none !important; display: flex !important; justify-content: space-between !important; align-items: center !important; font-size: 1rem !important; line-height: 1.4 !important; }
.faq-question::-webkit-details-marker { display: none !important; }
.faq-question::after { content: '+' !important; font-size: 1.4rem !important; font-weight: var(--font-medium) !important; color: var(--bristol-red) !important; margin-left: 16px !important; flex-shrink: 0 !important; transition: transform var(--transition-fast) !important; }
.faq-item[open] .faq-question::after { content: '−' !important; }
.faq-question:hover { color: var(--bristol-red) !important; }
.faq-answer { padding: 0 24px 20px 24px !important; color: var(--text-primary) !important; line-height: 1.7 !important; font-size: 0.95rem !important; }
.faq-answer p { font-family: var(--font-primary) !important; margin: 0 !important; }
.faq-answer a { color: var(--bristol-red) !important; text-decoration: none !important; font-weight: var(--font-medium) !important; }
.faq-answer a:hover { text-decoration: underline !important; }

/* SECTION 14: INTERNAL LINKS */
.internal-link { color: var(--bristol-red) !important; text-decoration: none !important; font-weight: var(--font-semibold) !important; border-bottom: 2px solid transparent !important; transition: all var(--transition-fast) !important; }
.internal-link:hover { color: var(--bristol-red-dark) !important; border-bottom-color: var(--bristol-red-dark) !important; }
.internal-link:focus { outline: 2px solid var(--bristol-red) !important; outline-offset: 2px !important; border-radius: 2px !important; }

/* SECTION 15: SPECIALTY LINKS */
.specialty-links-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 20px !important; margin-top: 25px !important; }
.specialty-link-card { background: var(--white) !important; border: 2px solid var(--light-gray) !important; padding: 24px !important; border-radius: var(--radius-lg) !important; text-decoration: none !important; color: var(--text-primary) !important; box-shadow: var(--shadow-md) !important; transition: all var(--transition-fast) !important; display: block !important; text-align: center !important; }
.specialty-link-card:hover { transform: translateY(-4px) !important; box-shadow: var(--shadow-lg) !important; border-color: var(--bristol-red) !important; }
.specialty-link-card:focus { outline: 3px solid var(--bristol-red) !important; outline-offset: 2px !important; }
.specialty-icon { font-size: 2rem !important; display: block !important; margin-bottom: 12px !important; }
.specialty-link-card strong { font-family: var(--font-primary) !important; color: var(--bristol-red) !important; font-size: 1.15rem !important; display: block !important; margin-bottom: 8px !important; }
.specialty-link-card p { font-family: var(--font-primary) !important; margin: 0 !important; font-size: 0.9rem !important; line-height: 1.5 !important; color: var(--text-muted) !important; }

/* SECTION 16: OKLAHOMA DIVIDER */
.oklahoma-divider { width: 100% !important; line-height: 0 !important; margin: 0 !important; padding: 0 !important; background-color: var(--off-white) !important; }
.oklahoma-landscape { width: 100% !important; height: auto !important; display: block !important; }

/* SECTION 17: FOOTER */
.bristol-footer { background-color: var(--black) !important; color: var(--cream) !important; padding: 2.5rem 2rem 1.5rem !important; }
.bristol-footer-inner { max-width: 1000px !important; margin: 0 auto !important; display: grid !important; grid-template-columns: 240px 1fr 1fr 1fr !important; gap: 2rem !important; align-items: start !important; }
.footer-column h4 { font-family: var(--font-primary) !important; font-size: var(--text-sm) !important; font-weight: var(--font-bold) !important; letter-spacing: var(--tracking-wide) !important; color: var(--bristol-gold) !important; margin: 0 0 0.75rem 0 !important; text-transform: uppercase !important; }
.footer-column p { font-family: var(--font-primary) !important; font-size: var(--text-sm) !important; font-weight: var(--font-regular) !important; color: rgba(245, 243, 239, 0.85) !important; margin: 0 0 0.35rem 0 !important; line-height: var(--leading-normal) !important; }
.footer-column p strong { font-weight: var(--font-medium) !important; }
.footer-column a { color: var(--bristol-gold) !important; text-decoration: none !important; transition: color var(--transition-fast) !important; }
.footer-column a:hover { color: var(--bristol-gold-light) !important; }
.footer-brand { display: flex !important; flex-direction: column !important; align-items: flex-start !important; }
.footer-brand a { display: block !important; line-height: 0 !important; }
.footer-logo { max-width: 220px !important; width: 100% !important; height: auto !important; opacity: 0.95 !important; }
.footer-tagline { font-family: var(--font-primary) !important; font-style: italic !important; font-weight: var(--font-medium) !important; color: var(--bristol-gold) !important; font-size: var(--text-xs) !important; margin-top: 0.5rem !important; white-space: nowrap !important; }
.footer-column a.footer-directions-btn { display: inline-block !important; background-color: var(--bristol-red) !important; color: #ffffff !important; padding: 0.5rem 1rem !important; border-radius: var(--radius-sm) !important; font-family: var(--font-primary) !important; font-size: var(--text-xs) !important; font-weight: var(--font-bold) !important; margin-top: 0.5rem !important; transition: all var(--transition-fast) !important; text-decoration: none !important; }
.footer-column a.footer-directions-btn:hover { background-color: var(--bristol-red-dark) !important; color: #ffffff !important; box-shadow: var(--shadow-md) !important; transform: translateY(-1px) !important; }
.footer-legal { max-width: 1000px !important; margin: 1.5rem auto 0 !important; text-align: center !important; padding-top: 1rem !important; border-top: 1px solid rgba(245, 243, 239, 0.15) !important; }
.footer-legal-links a { font-family: var(--font-primary) !important; font-size: var(--text-sm) !important; font-weight: var(--font-semibold) !important; color: rgba(245, 243, 239, 0.7) !important; text-decoration: none !important; transition: color var(--transition-fast) !important; }
.footer-legal-links a:hover { color: var(--bristol-gold) !important; }
.footer-legal-links .separator { margin: 0 0.75rem !important; color: rgba(245, 243, 239, 0.4) !important; }
.footer-copyright { max-width: 1000px !important; margin: 0.75rem auto 0 !important; text-align: center !important; }
.footer-copyright p { font-family: var(--font-primary) !important; font-size: var(--text-xs) !important; font-weight: var(--font-regular) !important; color: rgba(245, 243, 239, 0.5) !important; margin: 0 !important; }


/* ============================================
   COOKIE CONSENT BANNER
   ============================================ */

.bristol-cookie-banner { position: fixed !important; bottom: 0 !important; left: 0 !important; right: 0 !important; z-index: 99999 !important; font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important; transform: translateY(100%) !important; opacity: 0 !important; transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.4s ease !important; pointer-events: none !important; }
.bristol-cookie-banner.is-visible { transform: translateY(0) !important; opacity: 1 !important; pointer-events: auto !important; }
.bristol-cookie-banner::before { content: '' !important; position: absolute !important; top: -40px !important; left: 0 !important; right: 0 !important; height: 40px !important; background: linear-gradient(to top, rgba(0,0,0,0.08), transparent) !important; pointer-events: none !important; }
.cookie-banner-inner { background: #1a1817 !important; border-top: 3px solid #e63329 !important; padding: 20px 24px !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 20px !important; flex-wrap: wrap !important; }
.cookie-banner-icon { flex-shrink: 0 !important; width: 36px !important; height: 36px !important; background: linear-gradient(135deg, #c9a962, #a88d4a) !important; border-radius: 8px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
.cookie-banner-icon svg { width: 20px !important; height: 20px !important; fill: #fff !important; }
.cookie-banner-text { flex: 1 !important; min-width: 240px !important; color: rgba(255,255,255,0.85) !important; font-size: 0.9rem !important; line-height: 1.5 !important; font-weight: 400 !important; }
.cookie-banner-text a { color: #c9a962 !important; text-decoration: underline !important; text-underline-offset: 2px !important; font-weight: 600 !important; transition: color 0.15s ease !important; }
.cookie-banner-text a:hover { color: #dfc98a !important; }
.cookie-banner-actions { display: flex !important; gap: 10px !important; flex-shrink: 0 !important; flex-wrap: wrap !important; }
.cookie-btn-accept { display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 10px 24px !important; background: #e63329 !important; color: #fff !important; border: 2px solid #e63329 !important; border-radius: 8px !important; font-family: 'DM Sans', sans-serif !important; font-size: 0.875rem !important; font-weight: 700 !important; cursor: pointer !important; transition: all 0.2s ease !important; white-space: nowrap !important; line-height: 1.2 !important; }
.cookie-btn-accept:hover { background: #c4271e !important; border-color: #c4271e !important; transform: translateY(-1px) !important; box-shadow: 0 4px 12px rgba(230,51,41,0.3) !important; }
.cookie-btn-decline { display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 10px 24px !important; background: transparent !important; color: rgba(255,255,255,0.7) !important; border: 2px solid rgba(255,255,255,0.2) !important; border-radius: 8px !important; font-family: 'DM Sans', sans-serif !important; font-size: 0.875rem !important; font-weight: 600 !important; cursor: pointer !important; transition: all 0.2s ease !important; white-space: nowrap !important; line-height: 1.2 !important; }
.cookie-btn-decline:hover { color: #fff !important; border-color: rgba(255,255,255,0.5) !important; transform: translateY(-1px) !important; }
.cookie-btn-accept:focus, .cookie-btn-decline:focus { outline: 3px solid #c9a962 !important; outline-offset: 2px !important; }


/* ============================================
   SECTION 18: MOBILE RESPONSIVE
   ============================================ */

@media screen and (max-width: 900px) {
    .bristol-header-inner { padding: 0 70px 0 15px !important; position: relative !important; min-height: 70px !important; }
    .bristol-header-logo img { height: 45px !important; width: auto !important; }
    .bristol-nav-icon { display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: center !important; cursor: pointer !important; padding: 10px !important; position: absolute !important; right: 15px !important; top: 50% !important; transform: translateY(-50%) !important; z-index: 2147483647 !important; background: var(--bristol-red) !important; border-radius: var(--radius-base) !important; width: 48px !important; height: 48px !important; border: 2px solid var(--bristol-gold) !important; }
    .bristol-nav-icon:hover { background: var(--bristol-red-dark) !important; }
    .icon-bar { display: block !important; width: 24px !important; height: 3px !important; background-color: var(--white) !important; transition: all var(--transition-medium) !important; border-radius: 2px !important; position: absolute !important; }
    .icon-bar:nth-child(1) { top: 15px !important; }
    .icon-bar:nth-child(2) { top: 22px !important; }
    .icon-bar:nth-child(3) { top: 29px !important; }
    #bristol-nav-toggle:checked ~ .bristol-nav-icon .icon-bar:nth-child(1) { top: 22px !important; transform: rotate(45deg) !important; }
    #bristol-nav-toggle:checked ~ .bristol-nav-icon .icon-bar:nth-child(2) { opacity: 0 !important; transform: translateX(-10px) !important; }
    #bristol-nav-toggle:checked ~ .bristol-nav-icon .icon-bar:nth-child(3) { top: 22px !important; transform: rotate(-45deg) !important; }
    .bristol-header-nav { display: none !important; position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100vw !important; height: 100vh !important; height: 100dvh !important; background-color: var(--off-white) !important; z-index: 2147483646 !important; overflow: hidden !important; flex-direction: column !important; align-items: center !important; justify-content: flex-start !important; margin: 0 !important; padding: 0 !important; }
    #bristol-nav-toggle:checked ~ .bristol-header-nav { display: flex !important; animation: mobileMenuFade 0.3s ease-out forwards !important; }
    @keyframes mobileMenuFade { from { opacity: 0; } to { opacity: 1; } }
    .bristol-header-nav .bristol-nav-inner { width: 100% !important; height: 100% !important; padding: 80px 24px 60px !important; overflow-y: auto !important; -webkit-overflow-scrolling: touch !important; display: flex !important; flex-direction: column !important; align-items: center !important; gap: 12px !important; }
    .bristol-nav-pill { display: block !important; width: 100% !important; max-width: 320px !important; text-align: center !important; padding: 0.875rem 1.5rem !important; margin-bottom: 0 !important; font-size: var(--text-base) !important; border-radius: var(--radius-md) !important; box-shadow: var(--shadow-base) !important; }
    .bristol-nav-dropdown-group { width: 100% !important; max-width: 320px !important; display: flex !important; flex-direction: column !important; align-items: center !important; padding-bottom: 0 !important; margin-bottom: 0 !important; }
    .bristol-nav-dropdown-group .bristol-dropdown-trigger { width: 100% !important; }
    .bristol-nav-dropdown-group:hover .bristol-dropdown-content { display: none !important; }
    .bristol-dropdown-content { display: none !important; position: static !important; width: 100% !important; box-shadow: none !important; border: 2px solid var(--bristol-red) !important; background: var(--white) !important; margin-top: 8px !important; padding: 8px 0 !important; border-radius: var(--radius-md) !important; }
    #bristol-patient-toggle:checked ~ .bristol-dropdown-content, #bristol-submenu-toggle:checked ~ .bristol-dropdown-content { display: block !important; animation: dropdownFade 0.2s ease-out !important; }
    .bristol-dropdown-content a { display: block !important; padding: 14px 20px !important; text-align: center !important; border-bottom: 1px solid var(--cream) !important; }
    .bristol-dropdown-content a:last-child { border-bottom: none !important; }
    .bristol-dropdown-content a:hover, .bristol-dropdown-content a:active { background-color: var(--cream) !important; padding-left: 20px !important; }
    .bristol-hero { padding: 50px 20px !important; border-radius: var(--radius-lg) !important; }
    .bristol-hero h1 { font-size: 1.8rem !important; }
    .bristol-hero p { font-size: 1rem !important; line-height: 1.5 !important; }
    .bristol-gen-wrapper h2 { font-size: 1.6rem !important; }
    .intro-grid, .info-grid-2, .specialty-links-grid { grid-template-columns: 1fr !important; }
    .provider-card, .accent-card { padding: 22px !important; }
    .inquiry-card { padding: 30px 20px !important; }
    .inquiry-card h3 { font-size: 1.5rem !important; }
    .alert-box { padding: 20px !important; }
    .cta-container { padding: 40px 20px !important; border-radius: var(--radius-lg) !important; }
    .cta-container h2 { font-size: 1.6rem !important; }
    .bristol-btn { padding: 12px 24px !important; width: 100% !important; max-width: 300px !important; }
    .faq-section { padding: 25px 0 !important; }
    .faq-question { padding: 16px 18px !important; font-size: 0.95rem !important; }
    .faq-answer { padding: 0 18px 16px 18px !important; }
    .bristol-footer-inner { grid-template-columns: repeat(2, 1fr) !important; gap: 1.5rem !important; }
    .footer-brand { grid-column: 1 / -1 !important; align-items: center !important; text-align: center !important; margin-bottom: 0.5rem !important; }
    .footer-logo { max-width: 160px !important; }
}

@media (max-width: 768px) {
    .cookie-banner-inner { flex-direction: column !important; text-align: center !important; padding: 20px 16px !important; gap: 14px !important; }
    .cookie-banner-icon { display: none !important; }
    .cookie-banner-text { min-width: unset !important; font-size: 0.85rem !important; }
    .cookie-banner-actions { width: 100% !important; justify-content: center !important; }
    .cookie-btn-accept, .cookie-btn-decline { flex: 1 !important; min-width: 120px !important; }
}

@media (max-width: 600px) {
    .bristol-footer-inner { grid-template-columns: 1fr !important; text-align: center !important; gap: 1.25rem !important; }
    .footer-brand { align-items: center !important; }
    .footer-logo { max-width: 140px !important; margin: 0 auto !important; }
    .footer-column { text-align: center !important; }
}

@media (max-width: 480px) {
    .bristol-header-nav .bristol-nav-inner { padding: 75px 20px 50px !important; gap: 10px !important; }
    .bristol-nav-pill { padding: 0.75rem 1.25rem !important; font-size: var(--text-sm) !important; max-width: 300px !important; }
    .bristol-nav-dropdown-group { max-width: 300px !important; }
    .bristol-dropdown-content a { padding: 12px 16px !important; font-size: var(--text-sm) !important; }
    .bristol-hero h1 { font-size: 1.5rem !important; }
    .bristol-hero p { font-size: 0.9rem !important; }
    .bristol-gen-wrapper h2 { font-size: 1.4rem !important; }
    .bristol-gen-wrapper { padding: 30px 15px !important; }
    .info-grid { grid-template-columns: 1fr !important; }
}

/* SECTION 19: PRINT */
@media print {
    .bristol-custom-header, .bristol-footer, .skip-to-content, .oklahoma-divider, .bristol-cookie-banner { display: none !important; }
    body { background: #ffffff !important; }
    .bristol-hero { background: var(--bristol-red) !important; box-shadow: none !important; }
    .provider-card, .accent-card, .inquiry-card, .cta-container { break-inside: avoid !important; box-shadow: none !important; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .bristol-cookie-banner { transition: none !important; }
}/* End custom CSS */