/* ==============================================
   TX Business Electricity (state)
   ============================================== */

/* ============================================
       TX BUSINESS ELECTRICITY — REDESIGN 2026
       ============================================ */
    #ec-txb *:where(:not([class*="cp-"])),
    #ec-txb *:where(:not([class*="cp-"]))::before,
    #ec-txb *:where(:not([class*="cp-"]))::after {
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        font-size: 100% !important;
        font: inherit !important;
        vertical-align: baseline !important;
        box-sizing: border-box !important;
        text-decoration: none !important;
        box-shadow: none !important;
    }

    #ec-txb {
        font-family: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
        color: #1a1a2e !important;
        width: 100% !important;
        max-width: 100% !important;
        line-height: 1.6 !important;
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important;
    }

    #ec-txb a { color: #0E9F6E !important; }
    #ec-txb a:hover { color: #0a7550 !important; text-decoration: underline !important; }
    #ec-txb a.cp-plan-cta { color: #fff !important; }
    #ec-txb a.cp-plan-cta:hover { color: #fff !important; text-decoration: none !important; }

    #ec-txb .sr-only {
        position: absolute !important; width: 1px !important; height: 1px !important;
        overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important;
    }

    /* ── SECTION CONTAINERS ── */
    #ec-txb .txb-section {
        padding: 4rem 0 !important;
        position: relative !important;
    }
    #ec-txb .txb-section--alt {
        background: #f8faf9 !important;
        margin: 0 -32px !important;
        padding: 4rem 32px !important;
    }
    @media (max-width: 768px) {
        #ec-txb .txb-section { padding: 2.5rem 0 !important; }
        #ec-txb .txb-section--alt { margin: 0 -20px !important; padding: 2.5rem 20px !important; }
    }
    @media (max-width: 400px) {
        #ec-txb .txb-section--alt { margin: 0 -16px !important; padding: 2.5rem 16px !important; }
    }

    #ec-txb .txb-section-label {
        display: inline-flex !important;
        align-items: center !important;
        gap: 0.5rem !important;
        font-size: 0.6875rem !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.1em !important;
        color: #0E9F6E !important;
        margin-bottom: 0.75rem !important;
    }
    #ec-txb .txb-section-num {
        background: #ecfdf5 !important;
        color: #0E9F6E !important;
        font-weight: 800 !important;
        width: 22px !important;
        height: 22px !important;
        border-radius: 6px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 0.6875rem !important;
    }
    #ec-txb .txb-h2 {
        font-size: 1.75rem !important;
        font-weight: 800 !important;
        color: #0A2540 !important;
        letter-spacing: -0.025em !important;
        line-height: 1.2 !important;
        margin-bottom: 0.75rem !important;
    }
    #ec-txb .txb-section-intro {
        font-size: 1.0625rem !important;
        color: #4b5563 !important;
        line-height: 1.75 !important;
        margin-bottom: 2rem !important;
    }
    @media (max-width: 640px) {
        #ec-txb .txb-h2 { font-size: 1.4rem !important; }
        #ec-txb .txb-section-intro { font-size: 0.95rem !important; }
    }

    /* ── BYLINE ── */
    #ec-txb .txb-byline {
        display: flex !important;
        align-items: center !important;
        gap: 0.5rem !important;
        font-size: 0.875rem !important;
        color: #6b7280 !important;
        margin-bottom: 1.5rem !important;
        flex-wrap: wrap !important;
    }
    #ec-txb .txb-byline-badge {
        display: inline-flex !important;
        align-items: center !important;
        gap: 0.35rem !important;
        background: #ecfdf5 !important;
        color: #047857 !important;
        font-weight: 600 !important;
        font-size: 0.75rem !important;
        padding: 0.25rem 0.75rem !important;
        border-radius: 100px !important;
    }
    #ec-txb .txb-byline-dot {
        width: 6px !important; height: 6px !important;
        border-radius: 50% !important;
        background: #10b981 !important;
        display: inline-block !important;
        animation: txbPulse 2s ease-in-out infinite !important;
    }
    @keyframes txbPulse {
        0%, 100% { opacity: 1; transform: scale(1); }
        50% { opacity: 0.4; transform: scale(0.8); }
    }

    /* ── INTRO TEXT ── */
    #ec-txb .txb-intro {
        margin-bottom: 1.5rem !important;
    }
    #ec-txb .txb-intro p {
        font-size: 1rem !important;
        line-height: 1.75 !important;
        color: #374151 !important;
        margin-bottom: 0.75rem !important;
    }
    #ec-txb .txb-intro p:last-child {
        margin-bottom: 0 !important;
    }
    #ec-txb .txb-intro strong {
        font-weight: 700 !important;
        color: #0A2540 !important;
    }

    /* ── HERO BANNER ── */
    #ec-txb .txb-hero {
        background: linear-gradient(145deg, #0A2540 0%, #0f3d2e 55%, #0E9F6E 130%) !important;
        border-radius: 20px !important;
        padding: 2.5rem !important;
        margin-bottom: 2.5rem !important;
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        gap: 2rem !important;
        align-items: center !important;
        position: relative !important;
        overflow: hidden !important;
    }
    #ec-txb .txb-hero::after {
        content: "" !important;
        position: absolute !important;
        top: -50% !important;
        right: -15% !important;
        width: 400px !important;
        height: 400px !important;
        border-radius: 50% !important;
        background: rgba(14, 159, 110, 0.12) !important;
        pointer-events: none !important;
    }
    #ec-txb .txb-hero-left { position: relative !important; z-index: 1 !important; }
    #ec-txb .txb-hero-tagline {
        font-size: 0.6875rem !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.12em !important;
        color: #34d399 !important;
        margin-bottom: 0.75rem !important;
    }
    #ec-txb .txb-hero-rate {
        font-size: 4rem !important;
        font-weight: 900 !important;
        color: #ffffff !important;
        line-height: 1 !important;
        letter-spacing: -0.04em !important;
        margin-bottom: 0.35rem !important;
    }
    #ec-txb .txb-hero-rate span { color: #34d399 !important; }
    #ec-txb .txb-hero-sublabel {
        font-size: 1rem !important;
        color: rgba(255,255,255,0.6) !important;
        margin-bottom: 1.5rem !important;
    }
    #ec-txb .txb-hero-cta {
        display: inline-flex !important;
        align-items: center !important;
        gap: 0.5rem !important;
        background: #fff !important;
        color: #0A2540 !important;
        font-weight: 700 !important;
        font-size: 0.9375rem !important;
        padding: 0.75rem 1.5rem !important;
        border-radius: 100px !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
    }
    #ec-txb .txb-hero-cta:hover { background: #ecfdf5 !important; transform: translateY(-1px) !important; }
    #ec-txb .txb-hero-cta i { font-size: 1rem !important; }

    #ec-txb .txb-hero-stats {
        display: flex !important;
        flex-direction: column !important;
        gap: 1px !important;
        position: relative !important;
        z-index: 1 !important;
    }
    #ec-txb .txb-hero-stat {
        display: flex !important;
        align-items: baseline !important;
        gap: 0.75rem !important;
        padding: 0.75rem 0 !important;
        border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    }
    #ec-txb .txb-hero-stat:last-child { border-bottom: none !important; }
    #ec-txb .txb-hero-stat-val {
        font-size: 1.5rem !important;
        font-weight: 800 !important;
        color: #ffffff !important;
        letter-spacing: -0.02em !important;
        min-width: 72px !important;
    }
    #ec-txb .txb-hero-stat-label {
        font-size: 0.8125rem !important;
        color: rgba(255,255,255,0.45) !important;
        font-weight: 500 !important;
    }
    @media (max-width: 700px) {
        #ec-txb .txb-hero { grid-template-columns: 1fr !important; padding: 2rem !important; }
        #ec-txb .txb-hero-rate { font-size: 2.75rem !important; }
        #ec-txb .txb-hero-stats { flex-direction: row !important; flex-wrap: wrap !important; gap: 0 !important; }
        #ec-txb .txb-hero-stat { flex: 1 1 45% !important; border-bottom: none !important; padding: 0.5rem 0 !important; }
    }

    /* ── TDU CARDS ── */
    #ec-txb .txb-tdu-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 1rem !important;
    }
    @media (max-width: 768px) {
        #ec-txb .txb-tdu-grid { grid-template-columns: repeat(2, 1fr) !important; }
    }
    @media (max-width: 480px) {
        #ec-txb .txb-tdu-grid { grid-template-columns: 1fr !important; }
    }
    #ec-txb .txb-tdu-card {
        background: #ffffff !important;
        border: 1px solid #e2e8f0 !important;
        border-left: 4px solid #cbd5e1 !important;
        border-radius: 14px !important;
        padding: 1.25rem 1.25rem 1.25rem 1.5rem !important;
        transition: all 0.2s ease !important;
        position: relative !important;
    }
    #ec-txb .txb-tdu-card:hover {
        box-shadow: 0 6px 20px rgba(0,0,0,0.06) !important;
        transform: translateY(-2px) !important;
    }
    #ec-txb .txb-tdu-card--oncor { border-left-color: #2563eb !important; }
    #ec-txb .txb-tdu-card--centerpoint { border-left-color: #dc2626 !important; }
    #ec-txb .txb-tdu-card--aep-central { border-left-color: #f59e0b !important; }
    #ec-txb .txb-tdu-card--aep-north { border-left-color: #d97706 !important; }
    #ec-txb .txb-tdu-card--tnmp { border-left-color: #7c3aed !important; }
    #ec-txb .txb-tdu-card--best {
        border-left-width: 4px !important;
        background: linear-gradient(180deg, #f0fdf4 0%, #ffffff 50%) !important;
    }
    #ec-txb .txb-tdu-badge {
        position: absolute !important;
        top: 0.75rem !important;
        right: 0.75rem !important;
        font-size: 0.5625rem !important;
        font-weight: 800 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.08em !important;
        color: #047857 !important;
        background: #ecfdf5 !important;
        padding: 0.2rem 0.5rem !important;
        border-radius: 5px !important;
    }
    #ec-txb .txb-tdu-name {
        font-size: 1.125rem !important;
        font-weight: 800 !important;
        color: #0A2540 !important;
        margin-bottom: 0.125rem !important;
        letter-spacing: -0.01em !important;
    }
    #ec-txb .txb-tdu-area {
        font-size: 0.75rem !important;
        color: #94a3b8 !important;
        margin-bottom: 1rem !important;
        line-height: 1.4 !important;
    }
    #ec-txb .txb-tdu-stats {
        display: flex !important;
        gap: 1.5rem !important;
        align-items: baseline !important;
    }
    #ec-txb .txb-tdu-stat-label {
        font-size: 0.5625rem !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.08em !important;
        color: #94a3b8 !important;
        margin-bottom: 0.125rem !important;
    }
    #ec-txb .txb-tdu-stat-val {
        font-size: 1.5rem !important;
        font-weight: 800 !important;
        color: #0A2540 !important;
        letter-spacing: -0.03em !important;
        font-variant-numeric: tabular-nums !important;
        line-height: 1.1 !important;
    }
    #ec-txb .txb-tdu-stat-val .txb-tdu-unit {
        font-size: 0.6875rem !important;
        font-weight: 600 !important;
        color: #94a3b8 !important;
    }
    #ec-txb .txb-tdu-card--best .txb-tdu-stat-val { color: #047857 !important; }
    #ec-txb .txb-tdu-plans-count {
        font-size: 0.6875rem !important;
        color: #94a3b8 !important;
        margin-top: 0.75rem !important;
        font-weight: 600 !important;
    }

    #ec-txb .txb-tdu-summary {
        margin-top: 1rem !important;
        background: #0f172a !important;
        border-radius: 14px !important;
        padding: 1.25rem 1.5rem !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 1rem !important;
    }
    #ec-txb .txb-tdu-summary-label {
        font-size: 0.9375rem !important;
        font-weight: 700 !important;
        color: #e2e8f0 !important;
    }
    #ec-txb .txb-tdu-summary-label small {
        font-size: 0.75rem !important;
        font-weight: 500 !important;
        color: #64748b !important;
        display: block !important;
        margin-top: 0.125rem !important;
    }
    #ec-txb .txb-tdu-summary-rates {
        display: flex !important;
        gap: 1.5rem !important;
        align-items: center !important;
    }
    #ec-txb .txb-tdu-summary-stat {
        text-align: center !important;
    }
    #ec-txb .txb-tdu-summary-stat-val {
        font-size: 1.25rem !important;
        font-weight: 800 !important;
        color: #ffffff !important;
        font-variant-numeric: tabular-nums !important;
    }
    #ec-txb .txb-tdu-summary-stat-val .txb-tdu-unit { color: #64748b !important; font-size: 0.6875rem !important; font-weight: 600 !important; }
    #ec-txb .txb-tdu-summary-stat-label {
        font-size: 0.625rem !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.08em !important;
        color: #64748b !important;
    }
    #ec-txb .txb-tdu-note {
        font-size: 0.75rem !important;
        color: #94a3b8 !important;
        margin-top: 0.75rem !important;
        line-height: 1.6 !important;
    }

    /* ── CTA CALLOUT ── */
    #ec-txb .txb-cta {
        margin-top: 2rem !important;
        border-radius: 14px !important;
        background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%) !important;
        border: 1px solid #fde68a !important;
        padding: 1.5rem !important;
        display: flex !important;
        align-items: flex-start !important;
        gap: 1rem !important;
    }
    #ec-txb .txb-cta-icon {
        width: 36px !important; height: 36px !important;
        border-radius: 10px !important;
        background: #fbbf24 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-shrink: 0 !important;
        font-size: 1.125rem !important;
    }
    #ec-txb .txb-cta-body { flex: 1 !important; }
    #ec-txb .txb-cta-title {
        font-size: 1rem !important;
        font-weight: 700 !important;
        color: #78350f !important;
        margin-bottom: 0.25rem !important;
    }
    #ec-txb .txb-cta-text {
        font-size: 0.9rem !important;
        color: #92400e !important;
        line-height: 1.6 !important;
    }
    #ec-txb .txb-cta-text strong { font-weight: 700 !important; color: #78350f !important; }
    @media (max-width: 480px) {
        #ec-txb .txb-cta { flex-direction: column !important; gap: 0.75rem !important; }
    }

    /* ── PLAN CARDS ── */
    #ec-txb .txb-plans {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 1rem !important;
        list-style: none !important;
    }
    @media (max-width: 640px) { #ec-txb .txb-plans { grid-template-columns: 1fr !important; } }
    #ec-txb .txb-plan {
        border: 1px solid #e5e7eb !important;
        border-radius: 16px !important;
        padding: 1.75rem !important;
        background: #ffffff !important;
        transition: all 0.2s ease !important;
    }
    #ec-txb .txb-plan:hover {
        border-color: #0E9F6E !important;
        box-shadow: 0 8px 24px rgba(14,159,110,0.08) !important;
        transform: translateY(-2px) !important;
    }
    #ec-txb .txb-plan-icon {
        font-size: 1.5rem !important;
        margin-bottom: 0.5rem !important;
        display: block !important;
        line-height: 1 !important;
    }
    #ec-txb .txb-plan-name {
        font-size: 1.0625rem !important;
        font-weight: 700 !important;
        color: #0A2540 !important;
        margin-bottom: 0.375rem !important;
    }
    #ec-txb .txb-plan-desc {
        font-size: 0.875rem !important;
        color: #6b7280 !important;
        line-height: 1.6 !important;
        margin-bottom: 0.75rem !important;
    }
    #ec-txb .txb-plan-fit {
        font-size: 0.75rem !important;
        font-weight: 700 !important;
        color: #0E9F6E !important;
        text-transform: uppercase !important;
        letter-spacing: 0.03em !important;
    }

    /* ── RATE HISTORY CHART ── */
    #ec-txb .txb-chart-wrap {
        background: #ffffff !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 16px !important;
        padding: 1.5rem 1.5rem 1rem !important;
        position: relative !important;
    }
    #ec-txb .txb-chart-header {
        display: flex !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        margin-bottom: 1.25rem !important;
        flex-wrap: wrap !important;
        gap: 0.75rem !important;
    }
    #ec-txb .txb-chart-kpis {
        display: flex !important;
        gap: 1.5rem !important;
    }
    #ec-txb .txb-chart-kpi-label {
        font-size: 0.625rem !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.08em !important;
        color: #94a3b8 !important;
        margin-bottom: 0.125rem !important;
    }
    #ec-txb .txb-chart-kpi-val {
        font-size: 1.375rem !important;
        font-weight: 800 !important;
        letter-spacing: -0.02em !important;
        line-height: 1.2 !important;
    }
    #ec-txb .txb-chart-kpi-val small {
        font-size: 0.6875rem !important;
        font-weight: 600 !important;
        color: #94a3b8 !important;
    }
    #ec-txb .txb-chart-kpi--tx .txb-chart-kpi-val { color: #047857 !important; }
    #ec-txb .txb-chart-kpi--us .txb-chart-kpi-val { color: #6b7280 !important; }
    #ec-txb .txb-chart-legend {
        display: flex !important;
        gap: 1rem !important;
        align-items: center !important;
    }
    #ec-txb .txb-chart-legend-item {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        font-size: 0.75rem !important;
        font-weight: 600 !important;
        color: #6b7280 !important;
    }
    #ec-txb .txb-chart-legend-line {
        width: 18px !important;
        height: 3px !important;
        border-radius: 2px !important;
    }
    #ec-txb .txb-chart-svg-wrap {
        width: 100% !important;
        overflow: visible !important;
    }
    #ec-txb .txb-chart-svg-wrap svg {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        overflow: visible !important;
    }
    #ec-txb .txb-chart-tooltip {
        position: absolute !important;
        pointer-events: none !important;
        background: #0f172a !important;
        color: #f8fafc !important;
        font-size: 0.75rem !important;
        font-weight: 600 !important;
        padding: 0.5rem 0.75rem !important;
        border-radius: 8px !important;
        white-space: nowrap !important;
        opacity: 0 !important;
        transition: opacity 0.15s ease !important;
        z-index: 10 !important;
        transform: translate(-50%, -100%) !important;
        margin-top: -10px !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    }
    #ec-txb .txb-chart-tooltip::after {
        content: "" !important;
        position: absolute !important;
        top: 100% !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        border: 5px solid transparent !important;
        border-top-color: #0f172a !important;
    }
    #ec-txb .txb-chart-tooltip.active { opacity: 1 !important; }
    #ec-txb .txb-chart-tooltip-tx { color: #34d399 !important; }
    #ec-txb .txb-chart-tooltip-us { color: #94a3b8 !important; }
    @media (max-width: 480px) {
        #ec-txb .txb-chart-wrap { padding: 1rem !important; }
        #ec-txb .txb-chart-kpis { gap: 1rem !important; }
        #ec-txb .txb-chart-kpi-val { font-size: 1.125rem !important; }
    }

    /* ── HOW TO SWITCH (STEPS) ── */
    #ec-txb .txb-steps {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 1.5rem !important;
        counter-reset: step !important;
    }
    @media (max-width: 700px) { #ec-txb .txb-steps { grid-template-columns: 1fr !important; } }
    #ec-txb .txb-step {
        position: relative !important;
        padding: 1.75rem !important;
        background: #fff !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 16px !important;
        counter-increment: step !important;
    }
    #ec-txb .txb-step::before {
        content: counter(step) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 32px !important; height: 32px !important;
        background: #0E9F6E !important;
        color: #fff !important;
        font-weight: 800 !important;
        font-size: 0.875rem !important;
        border-radius: 10px !important;
        margin-bottom: 1rem !important;
    }
    #ec-txb .txb-step-title {
        font-size: 1.0625rem !important;
        font-weight: 700 !important;
        color: #0A2540 !important;
        margin-bottom: 0.375rem !important;
    }
    #ec-txb .txb-step-text {
        font-size: 0.875rem !important;
        color: #6b7280 !important;
        line-height: 1.6 !important;
    }

    /* ── FAQ ACCORDION ── */
    #ec-txb .txb-faq-list {
        border-top: 1px solid #e5e7eb !important;
    }
    #ec-txb .txb-faq-item { border-bottom: 1px solid #e5e7eb !important; }
    #ec-txb .txb-faq-q {
        padding: 1.25rem 0.25rem !important;
        font-size: 1rem !important;
        font-weight: 600 !important;
        color: #0A2540 !important;
        cursor: pointer !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 1rem !important;
        background: transparent !important;
        transition: color 0.15s !important;
        list-style: none !important;
    }
    #ec-txb .txb-faq-q::-webkit-details-marker { display: none !important; }
    #ec-txb .txb-faq-q::marker { display: none !important; content: '' !important; }
    #ec-txb .txb-faq-q::after {
        content: '+' !important;
        font-size: 1.5rem !important;
        font-weight: 400 !important;
        color: #9ca3af !important;
        flex-shrink: 0 !important;
        transition: color 0.2s !important;
    }
    #ec-txb .txb-faq-q:hover { color: #0E9F6E !important; }
    #ec-txb details[open] .txb-faq-q { color: #0E9F6E !important; }
    #ec-txb details[open] .txb-faq-q::after { content: '\2212' !important; color: #0E9F6E !important; }
    #ec-txb .txb-faq-a {
        padding: 0 0.25rem 1.25rem !important;
        font-size: 0.9375rem !important;
        color: #4b5563 !important;
        line-height: 1.75 !important;
    }
    #ec-txb .txb-faq-a strong { font-weight: 700 !important; color: #0A2540 !important; }
    #ec-txb .txb-faq-a p { margin-bottom: 0.75rem !important; }
    #ec-txb .txb-faq-a p:last-child { margin-bottom: 0 !important; }
    @media (max-width: 480px) {
        #ec-txb .txb-faq-q { font-size: 0.9375rem !important; padding: 1rem 0.25rem !important; }
    }

    /* ── METHODOLOGY ── */
    #ec-txb .txb-method {
        background: #f9fafb !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 14px !important;
        padding: 1.5rem !important;
    }
    #ec-txb .txb-method-label {
        font-size: 0.625rem !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.12em !important;
        color: #9ca3af !important;
        margin-bottom: 0.5rem !important;
    }
    #ec-txb .txb-method p {
        font-size: 0.85rem !important;
        color: #6b7280 !important;
        line-height: 1.65 !important;
    }

    /* ── BOTTOM CTA BANNER ── */
    #ec-txb .txb-bottom-cta {
        background: #f0fdf4 !important;
        border: 1px solid #bbf7d0 !important;
        border-radius: 16px !important;
        padding: 2.5rem !important;
        text-align: center !important;
        margin-top: 3rem !important;
    }
    #ec-txb .txb-bottom-cta-title {
        font-size: 1.5rem !important;
        font-weight: 800 !important;
        color: #0A2540 !important;
        letter-spacing: -0.02em !important;
        margin-bottom: 0.375rem !important;
    }
    #ec-txb .txb-bottom-cta-text {
        font-size: 0.9375rem !important;
        color: #6b7280 !important;
        margin-bottom: 1.25rem !important;
    }
    #ec-txb .txb-bottom-cta-btn {
        display: inline-flex !important;
        align-items: center !important;
        gap: 0.5rem !important;
        background: #0E9F6E !important;
        color: #fff !important;
        font-weight: 700 !important;
        font-size: 1rem !important;
        padding: 0.875rem 2rem !important;
        border-radius: 100px !important;
        cursor: pointer !important;
        transition: all 0.2s !important;
    }
    #ec-txb .txb-bottom-cta-btn:hover { background: #0a8f60 !important; transform: translateY(-1px) !important; }
    @media (max-width: 640px) {
        #ec-txb .txb-bottom-cta { padding: 2rem 1.5rem !important; }
        #ec-txb .txb-bottom-cta-title { font-size: 1.25rem !important; }
    }

    /* ── CITY CARDS ── */
    #ec-txb .txb-city-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 1rem !important;
        list-style: none !important;
    }
    @media (max-width: 768px) { #ec-txb .txb-city-grid { grid-template-columns: repeat(2, 1fr) !important; } }
    @media (max-width: 480px) { #ec-txb .txb-city-grid { grid-template-columns: 1fr !important; } }
    #ec-txb .txb-city-card {
        display: flex !important;
        align-items: center !important;
        gap: 0.875rem !important;
        background: #ffffff !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 14px !important;
        padding: 1.125rem 1.25rem !important;
        transition: all 0.2s ease !important;
        text-decoration: none !important;
    }
    #ec-txb .txb-city-card:hover {
        border-color: #0E9F6E !important;
        box-shadow: 0 6px 20px rgba(14,159,110,0.1) !important;
        transform: translateY(-2px) !important;
        text-decoration: none !important;
    }
    #ec-txb .txb-city-icon {
        width: 40px !important;
        height: 40px !important;
        border-radius: 10px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-shrink: 0 !important;
        font-size: 1.125rem !important;
        background: #ecfdf5 !important;
        color: #047857 !important;
    }
    #ec-txb .txb-city-info { flex: 1 !important; min-width: 0 !important; }
    #ec-txb .txb-city-name {
        font-size: 0.9375rem !important;
        font-weight: 700 !important;
        color: #0A2540 !important;
        line-height: 1.3 !important;
    }
    #ec-txb .txb-city-tdu {
        font-size: 0.6875rem !important;
        font-weight: 600 !important;
        color: #94a3b8 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.04em !important;
    }
    #ec-txb .txb-city-arrow {
        flex-shrink: 0 !important;
        color: #cbd5e1 !important;
        font-size: 1.125rem !important;
        transition: color 0.15s, transform 0.15s !important;
    }
    #ec-txb .txb-city-card:hover .txb-city-arrow {
        color: #0E9F6E !important;
        transform: translateX(3px) !important;
    }

    /* ── UPDATED DATE ── */
    .txb-updated-date {
        font-size: 0.8125rem !important;
        color: #6b7280 !important;
        margin-top: 0.375rem !important;
    }


    /* ── SR-ONLY (accessible hidden) ── */
    .ec-sr-only {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }
