/**
 * ============================================================================
 * GAZAL LENS BUILDER - LEGACY FIXES CSS
 * ============================================================================
 * Consolidated from: lens153, lens155, lens156, lens157, lens159,
 *                    lens163, lens164, lens165, lens166, lens169, lens172
 *
 * This file contains all styling fixes accumulated during development.
 * Consolidated 2024-12-28 for performance (11 files -> 1).
 * ============================================================================
 */

/* ===================================================================
   SECTION 1: BUTTON STATES (from lens153, lens156, lens157)
   =================================================================== */

/* Base toggle button styling - 3D lifted effect */
.toggle-option[data-special-type] {
    background: #ffffff !important;
    color: #2d2d2d !important;
    border: 1px solid #dee2e6 !important;
    box-shadow:
        0 4px 8px rgba(0, 0, 0, 0.1),
        0 2px 4px rgba(0, 0, 0, 0.08),
        inset 0 -2px 4px rgba(255, 255, 255, 0.4),
        inset 0 2px 4px rgba(255, 255, 255, 0.6) !important;
    transform: translateY(0px) !important;
    transition: all 0.2s ease !important;
    min-width: 120px !important;
    min-height: 110px !important;
    padding: 12px !important;
}

.toggle-option[data-special-type]:hover {
    transform: translateY(-2px) !important;
    box-shadow:
        0 6px 12px rgba(0, 0, 0, 0.15),
        0 3px 6px rgba(0, 0, 0, 0.1),
        inset 0 -2px 4px rgba(255, 255, 255, 0.4),
        inset 0 2px 4px rgba(255, 255, 255, 0.6) !important;
}

/* Active button - pressed/flat effect */
.toggle-option[data-special-type].active {
    background: #ffffff !important;
    color: #2d2d2d !important;
    border: 2px solid #ffd700 !important;
    box-shadow:
        inset 0 2px 6px rgba(0, 0, 0, 0.2),
        inset 0 1px 3px rgba(0, 0, 0, 0.15),
        0 0 0 3px rgba(255, 215, 0, 0.2) !important;
    transform: translateY(2px) !important;
}

.toggle-option[data-special-type].active:hover {
    transform: translateY(2px) !important;
    color: #2d2d2d !important;
}

.toggle-option[data-special-type].active span {
    color: #2d2d2d !important;
}

/* Icon backgrounds */
.toggle-option[data-special-type] .toggle-icon {
    background: #ffffff !important;
    width: 60px !important;
    height: 60px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    padding: 8px !important;
}

.toggle-option[data-special-type] .toggle-icon img {
    background: transparent !important;
    mix-blend-mode: multiply !important;
    width: 44px !important;
    height: 44px !important;
    object-fit: contain !important;
    display: block !important;
}

.toggle-option[data-special-type].active .toggle-icon {
    background: #ffffff !important;
}

/* ===================================================================
   SECTION 2: FOCUS/OUTLINE REMOVAL (from lens156, lens169)
   =================================================================== */

/* Remove blue focus border from all toggle buttons */
.toggle-option:focus,
.toggle-option:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

.toggle-option[data-special-type]:focus,
.toggle-option[data-special-type]:focus-visible,
.toggle-option[data-lens-type]:focus,
.toggle-option[data-lens-type]:focus-visible,
.toggle-option[data-anti-glare]:focus,
.toggle-option[data-anti-glare]:focus-visible,
.toggle-option[data-tint-type]:focus,
.toggle-option[data-tint-type]:focus-visible {
    outline: none !important;
    border: 1px solid #dee2e6 !important;
}

.toggle-option[data-special-type].active:focus,
.toggle-option[data-special-type].active:focus-visible,
.toggle-option[data-lens-type].active:focus,
.toggle-option[data-lens-type].active:focus-visible,
.toggle-option[data-anti-glare].active:focus,
.toggle-option[data-anti-glare].active:focus-visible,
.toggle-option[data-tint-type].active:focus,
.toggle-option[data-tint-type].active:focus-visible {
    outline: none !important;
    border: 2px solid #ffd700 !important;
}

button.toggle-option:focus,
button.toggle-option:focus-visible {
    outline: 0 !important;
    outline-offset: 0 !important;
    box-shadow: none !important;
}

button.toggle-option.active {
    border: 2px solid #ffd700 !important;
}

button.toggle-option:not(.active) {
    border: 1px solid #dee2e6 !important;
}

/* ===================================================================
   SECTION 3: ALIGNMENT (from lens155)
   =================================================================== */

.page-title,
.page-subtitle,
.progress-bar {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

.controls-section,
.special-type-toggle,
.toggle-container {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

.tab-content {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* ===================================================================
   SECTION 4: COLOR GRIDS (from lens153, lens159, lens163, lens164, lens165, lens166)
   =================================================================== */

/* Color picker centering */
.color-grid,
.transitions-colors,
.mirror-colors,
.tint-colors,
.gradient-color-picker {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin: 20px auto !important;
    max-width: 100% !important;
}

.color-options {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin: 0 auto !important;
}

.color-option,
.gradient-color-option {
    margin: 0 !important;
}

.tint-section .color-grid,
.transitions-section .color-grid,
.mirrors-section .color-grid {
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    padding: 0 20px !important;
}

/* Color button grid - 4 per row, compact layout */
.color-button-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 9px !important;
    justify-items: center !important;
    margin: 15px auto !important;
    max-width: 380px !important;
}

.color-button {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    cursor: pointer !important;
    width: 65px !important;
    min-height: 85px !important;
    pointer-events: auto !important;
}

.color-button-swatch {
    width: 48px !important;
    height: 48px !important;
    border-radius: 8px !important;
    margin-bottom: 6px !important;
    flex-shrink: 0 !important;
}

.color-button-name {
    color: #ffffff !important;
    font-size: 0.7rem !important;
    text-align: center !important;
    line-height: 1.1 !important;
    min-height: 26px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    font-weight: 500 !important;
}

/* Transitions/Polarized color buttons */
#photochromicColorButtons,
#polarizedColorButtons {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

/* ===================================================================
   SECTION 5: DEMO BUTTONS (from lens163, lens165, lens166)
   =================================================================== */

.demo-controls {
    display: flex !important;
    justify-content: center !important;
    gap: 15px !important;
    margin: 20px 0 !important;
}

/* Inactive demo buttons - white background */
.demo-btn:not(.active) {
    background: #ffffff !important;
    color: #1a1a1a !important;
    border: 2px solid #dee2e6 !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    font-weight: 500 !important;
}

.demo-btn:not(.active):hover {
    background: #f5f5f5 !important;
    border-color: #d0d0d0 !important;
}

/* Active demo buttons - gold gradient */
.demo-btn.active {
    background: linear-gradient(135deg, #d4af37 0%, #f4d03f 100%) !important;
    color: #1a1a1a !important;
    border: 2px solid #d4af37 !important;
    font-weight: 600 !important;
}

/* Force active state when inline box-shadow is present */
.demo-btn[style*="box-shadow"],
#indoorDemo[style*="box-shadow"],
#lowLightDemo[style*="box-shadow"],
#brightLightDemo[style*="box-shadow"] {
    background: #ffd700 !important;
    color: #1a1a1a !important;
    border: 2px solid #ffd700 !important;
    box-shadow: 0 0 15px rgba(255, 215, 0, 0.6) !important;
    transform: scale(1.05) !important;
    font-weight: 600 !important;
}

/* ===================================================================
   SECTION 6: PRESCRIPTION VISIBILITY (from lens172)
   =================================================================== */

/* Hide prescription sections everywhere by default */
.prescription-section,
.prescription-options,
.prescription-upload-section,
.doctor-contact-section,
.pd-measurement-section,
#uploadSection,
#doctorSection,
#binocularPdSection,
#monocularPdSection {
    display: none !important;
}

/* Show only inside prescriptionTab (Section 4) */
#prescriptionTab .prescription-section,
#prescriptionTab .prescription-options,
#prescriptionTab .prescription-upload-section,
#prescriptionTab .doctor-contact-section,
#prescriptionTab .pd-measurement-section,
#prescriptionTab #uploadSection,
#prescriptionTab #doctorSection,
#prescriptionTab #binocularPdSection,
#prescriptionTab #monocularPdSection {
    display: block !important;
}

/* Ensure basicTab does NOT show any prescription content */
#basicTab .prescription-section,
#basicTab .prescription-options,
#basicTab .prescription-upload-section,
#basicTab .doctor-contact-section,
#basicTab .pd-measurement-section {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Progress bar centering */
.progress-bar-container {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
}

/* ===================================================================
   SECTION 7: EXTRACTED INLINE STYLES (LENS359)
   Consolidated from 45+ inline styles for maintainability
   =================================================================== */

/* Primary CTA Button - Gold gradient */
.btn-primary-gold {
    padding: 14px;
    background: linear-gradient(135deg, #d4af37 0%, #f4d03f 100%);
    border: none;
    border-radius: 8px;
    color: #1a1a1a;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}

.btn-primary-gold:hover {
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
    transform: translateY(-1px);
}

/* Secondary Button - Gold outline */
.btn-secondary-gold {
    padding: 10px 16px;
    background: rgba(212, 175, 55, 0.1);
    border: 1px solid rgba(212, 175, 55, 0.4);
    border-radius: 6px;
    color: #d4af37;
    font-size: 13px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s ease;
}

.btn-secondary-gold:hover {
    background: rgba(212, 175, 55, 0.2);
    border-color: rgba(212, 175, 55, 0.6);
}

/* Save to Profile Button - Slightly stronger */
.btn-save-profile {
    padding: 10px 16px;
    background: rgba(212, 175, 55, 0.2);
    border: 1px solid rgba(212, 175, 55, 0.6);
    border-radius: 6px;
    color: #d4af37;
    font-size: 13px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    transition: all 0.2s ease;
}

/* Ghost Button - Transparent with white border */
.btn-ghost {
    padding: 14px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(212, 175, 55, 0.4);
    border-radius: 8px;
    color: #e8e8e8;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    letter-spacing: 0.5px;
    transition: all 0.2s ease;
}

.btn-ghost:hover {
    background: rgba(255, 255, 255, 0.15);
}

/* Cancel Button - Modal cancel style */
.btn-cancel {
    flex: 1;
    padding: 12px 24px;
    background: rgba(255,255,255,0.08);
    color: #e8e8e8;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 8px;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-cancel:hover {
    background: rgba(255,255,255,0.12);
}

/* Confirm Button - Modal confirm style */
.btn-confirm {
    flex: 1;
    padding: 12px 24px;
    background: linear-gradient(135deg, #d4af37 0%, #f4d03f 100%);
    color: #1a1a1a;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-confirm:hover {
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
}

/* Remove/Delete Button - Red styling */
.btn-remove {
    background: rgba(220, 53, 69, 0.15);
    border: 1px solid rgba(220, 53, 69, 0.5);
    border-radius: 6px;
    padding: 8px 16px;
    font-size: 12px;
    font-weight: 500;
    color: #ff6b6b;
    cursor: pointer;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.btn-remove:hover {
    background: rgba(220, 53, 69, 0.25);
    border-color: rgba(220, 53, 69, 0.7);
}

/* Flip/Action Button - Small gold */
.btn-action-small {
    background: linear-gradient(135deg, #d4af37 0%, #f4d03f 100%);
    border: none;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    color: #1a1a1a;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Header Save Button */
.btn-header-save {
    height: 32px;
    padding: 0 12px;
    background: rgba(212, 175, 55, 0.15);
    color: #d4af37;
    border: 1px solid rgba(212, 175, 55, 0.4);
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    transition: all 0.2s ease;
}

/* Header Add to Cart Button */
.btn-header-cart {
    height: 32px;
    padding: 0 16px;
    background: linear-gradient(135deg, #d4af37 0%, #f4d03f 100%);
    color: #1a1a1a;
    border: none;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(212, 175, 55, 0.3);
}

/* Sticky Nav Buttons */
.btn-nav-prev {
    width: 50px;
    height: 44px;
    padding: 0;
    background: rgba(255, 255, 255, 0.1);
    color: #e8e8e8;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 8px;
    font-size: 20px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-nav-next {
    width: 50px;
    height: 44px;
    padding: 0;
    background: linear-gradient(135deg, #d4af37 0%, #f4d03f 100%);
    color: #1a1a1a;
    border: none;
    border-radius: 8px;
    font-size: 20px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-nav-clear {
    height: 44px;
    padding: 0 16px;
    background: rgba(212, 175, 55, 0.15);
    color: #d4af37;
    border: 2px solid rgba(212, 175, 55, 0.4);
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: all 0.2s ease;
}

.btn-nav-finish {
    flex: 0 0 auto;
    min-width: 140px;
    height: 44px;
    padding: 0 20px;
    background: linear-gradient(135deg, #d4af37 0%, #f4d03f 100%);
    color: #1a1a1a;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
}

/* Mobile Nav Buttons (smaller) */
/* LENS385: Reduced by 25% to fit iPhone screens (51x44 → 38x33) */
.btn-nav-mobile {
    flex: 0 0 auto;
    width: 38px;
    height: 33px;
    padding: 0;
    border-radius: 6px;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-nav-mobile.prev {
    background: rgba(255, 255, 255, 0.1);
    color: #e8e8e8;
    border: 2px solid rgba(255, 255, 255, 0.3);
    font-weight: 600;
}

/* LENS385: Reduced Reset text size to 10px for smaller buttons */
.btn-nav-mobile.clear {
    background: rgba(212, 175, 55, 0.15);
    color: #d4af37;
    border: 2px solid rgba(212, 175, 55, 0.4);
    font-size: 10px;
    font-weight: 600;
}

/* LENS378: Save button in mobile footer */
.btn-nav-mobile.save {
    background: rgba(212, 175, 55, 0.15);
    color: #d4af37;
    border: 2px solid rgba(212, 175, 55, 0.4);
}

.btn-nav-mobile.next,
.btn-nav-mobile.finish {
    background: linear-gradient(135deg, #d4af37 0%, #f4d03f 100%);
    color: #1a1a1a;
    border: none;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
}

/* Lab Notes Textarea */
.textarea-lab-notes {
    width: 100%;
    min-height: 60px;
    padding: 10px;
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 6px;
    background: #1a1a1a;
    color: #e0e0e0;
    font-size: 13px;
    resize: vertical;
    font-family: inherit;
}

.textarea-lab-notes:focus {
    outline: none;
    border-color: rgba(212, 175, 55, 0.6);
}

/* Modal Overlay */
.modal-overlay-dark {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.9);
    z-index: 10000;
    align-items: center;
    justify-content: center;
}

/* Modal Container */
.modal-container {
    background: #2a2a2a;
    border-radius: 10px;
    padding: 16px;
    max-width: 420px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 8px 32px rgba(212, 175, 55, 0.4);
    border: 2px solid rgba(212, 175, 55, 0.3);
}

/* Modal Container - Larger */
.modal-container-lg {
    background: linear-gradient(180deg, #252525 0%, #1a1a1a 100%);
    border-radius: 16px;
    padding: 30px;
    max-width: 400px;
    width: 90%;
    text-align: center;
    border: 1px solid rgba(212, 175, 55, 0.3);
    box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}

/* Lens Preview Circle */
.lens-preview-circle {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    background: transparent;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    overflow: hidden;
}

/* Frame Context Banner */
.banner-frame-context {
    display: none;
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.15) 0%, rgba(212, 175, 55, 0.05) 100%);
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 12px;
    padding: 12px 20px;
    margin: 0 20px 15px 20px;
    text-align: center;
}

/* Sticky Bottom Nav */
.sticky-bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(20, 20, 20, 0.98);
    backdrop-filter: blur(10px);
    border-top: 2px solid rgba(212, 175, 55, 0.3);
    padding: 12px 20px;
    z-index: 9999;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.5);
}

.sticky-bottom-nav.mobile {
    padding: 10px 12px;
}

/* Mobile Accordion Panel */
.mobile-accordion-panel {
    display: none;
    position: fixed;
    bottom: 100px;
    left: 0;
    right: 0;
    background: rgba(30, 30, 30, 0.98);
    backdrop-filter: blur(10px);
    border-top: 1px solid rgba(212, 175, 55, 0.2);
    padding: 15px;
    z-index: 9998;
    max-height: 50vh;
    overflow-y: auto;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.5);
    transform: translateY(100%);
    transition: transform 0.3s ease;
}

/* Customer Banner */
.customer-banner {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: linear-gradient(135deg, #d4af37 0%, #b8960c 100%);
    padding: 4px 16px;
    z-index: 10001;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

/* Copyright Footer */
.copyright-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #0a0a0a;
    border-top: 1px solid rgba(212, 175, 55, 0.2);
    padding: 8px;
    text-align: center;
    font-size: 11px;
    color: #666;
    z-index: 9998;
    pointer-events: none;
}

/* Modal Close Button */
.btn-modal-close {
    position: absolute;
    top: -8px;
    right: -8px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #333;
    border: 1px solid rgba(255,255,255,0.2);
    color: #888;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}

.btn-modal-close:hover {
    background: #444;
    color: #fff;
}

/* Gradient Bottom Color Display (checkerboard pattern) */
.color-display-checkerboard {
    width: 45px;
    height: 45px;
    border: 3px solid #fff;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    transition: transform 0.2s ease;
    background:
        linear-gradient(45deg, #f0f0f0 25%, transparent 25%),
        linear-gradient(-45deg, #f0f0f0 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, #f0f0f0 75%),
        linear-gradient(-45deg, transparent 75%, #f0f0f0 75%);
    background-size: 8px 8px;
    background-position: 0 0, 0 4px, 4px -4px, -4px 0px;
}

.color-display-checkerboard:hover {
    transform: scale(1.05);
}

/* ===================================================================
   SECTION 8: LENS361 - MOBILE UPLOAD RX & PD SECTION FIXES
   =================================================================== */

/* LENS361: Mobile Upload RX section - reduced size to match notes section */
@media (max-width: 768px) {
    /* Upload RX section - smaller for mobile */
    .prescription-upload-section h5 {
        font-size: 14px !important; /* Match notes section label */
        margin: 0 0 2px 0 !important;
    }

    .prescription-upload-section p {
        font-size: 11px !important; /* Reduced from 0.8rem */
        margin: 0 !important;
    }

    .prescription-upload-section .card-icon,
    .prescription-upload-section span[style*="font-size: 1.5rem"] {
        font-size: 1rem !important; /* Smaller icon */
    }

    /* Halve the button size */
    .prescription-upload-section button {
        padding: 6px 12px !important;
        font-size: 12px !important;
    }

    /* Reduce overall padding */
    .prescription-upload-section > div {
        padding: 10px !important;
    }
}

/* LENS361: Fix PD card text wrapping - words appearing on separate rows */
/* The issue is flex children need min-width:0 to allow text to wrap properly */
.rx-option-card {
    flex-wrap: wrap !important; /* Allow card to wrap when expanded */
}

.rx-option-card .card-content {
    min-width: 0 !important; /* Critical: allows flex child text to wrap */
    flex: 1 1 auto !important;
}

.rx-option-card .card-title,
.rx-option-card .card-subtitle {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
}

/* Ensure Learn More button stays inline */
.rx-option-card .card-subtitle .learn-more-btn {
    white-space: nowrap !important;
}
