/* ==========================================================================
       DRS FONT SYSTEM - THEME OVERRIDE VERSION WITH BOLD 700 WEIGHT
       This version uses !important and high specificity to override any theme
       ========================================================================== */
    



  /* ==========================================================================
       2. SECTION LABEL WITH FADED LINE (THEME OVERRIDE VERSION)
       ========================================================================== */
    
    .drs-section-label,
    body .drs-section-label,
    html body .drs-section-label {
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
      font-size: 0.9rem !important;
      font-weight: 400 !important;
      color: #bbb !important;
      letter-spacing: 0.2em !important;
      text-transform: uppercase !important;
      margin-bottom: 2rem !important;
      margin-top: 0 !important;
      position: relative !important;
      text-align: left !important;
      word-wrap: break-word !important;
      hyphens: auto !important;
      overflow-wrap: break-word !important;
      display: block !important;
      padding: 0 !important;
      border: none !important;
      background: transparent !important;
    }

    .drs-section-label::after,
    body .drs-section-label::after,
    html body .drs-section-label::after {
      content: '' !important;
      position: absolute !important;
      top: 50% !important;
      left: 0 !important;
      width: min(70vw, 500px) !important;
      height: 1px !important;
      background: linear-gradient(90deg, #666, transparent) !important;
      margin-top: 1.5rem !important;
      display: block !important;
    }

    /* ==========================================================================
       3. COLOR CLASSES WITH THEME OVERRIDE
       ========================================================================== */
    
    .drs-text-primary,
    body .drs-text-primary,
    html body .drs-text-primary,
    .text-primary.drs-roboto-hero,
    .text-primary.drs-roboto-hero-bold,
    .text-primary.drs-roboto-large,
    .text-primary.drs-roboto-large-bold,
    .text-primary.drs-roboto-medium,
    .text-primary.drs-roboto-medium-bold,
    .text-primary.drs-roboto-base,
    .text-primary.drs-roboto-base-bold,
    .text-primary.drs-inter-hero,
    .text-primary.drs-inter-hero-bold,
    .text-primary.drs-inter-large,
    .text-primary.drs-inter-large-bold,
    .text-primary.drs-inter-medium,
    .text-primary.drs-inter-medium-bold,
    .text-primary.drs-inter-base,
    .text-primary.drs-inter-base-bold {
      color: #ffffff !important;
    }

    .drs-text-secondary,
    body .drs-text-secondary,
    html body .drs-text-secondary,
    .text-secondary.drs-roboto-hero,
    .text-secondary.drs-roboto-hero-bold,
    .text-secondary.drs-roboto-large,
    .text-secondary.drs-roboto-large-bold,
    .text-secondary.drs-roboto-medium,
    .text-secondary.drs-roboto-medium-bold,
    .text-secondary.drs-roboto-base,
    .text-secondary.drs-roboto-base-bold,
    .text-secondary.drs-inter-hero,
    .text-secondary.drs-inter-hero-bold,
    .text-secondary.drs-inter-large,
    .text-secondary.drs-inter-large-bold,
    .text-secondary.drs-inter-medium,
    .text-secondary.drs-inter-medium-bold,
    .text-secondary.drs-inter-base,
    .text-secondary.drs-inter-base-bold {
      color: #d0d0d0 !important;
    }

    .drs-text-muted,
    body .drs-text-muted,
    html body .drs-text-muted {
      color: #bbb !important;
    }

    .drs-text-accent,
    body .drs-text-accent,
    html body .drs-text-accent {
      color: #ffa726 !important;
    }

    .drs-text-highlight,
    body .drs-text-highlight,
    html body .drs-text-highlight {
      color: #4fd1c7 !important;
    }

    /* Weight variants with theme override - UPDATED WITH 700 */
    .drs-weight-300,
    body .drs-weight-300,
    html body .drs-weight-300 { 
      font-weight: 300 !important; 
    }

    .drs-weight-400,
    body .drs-weight-400,
    html body .drs-weight-400 { 
      font-weight: 400 !important; 
    }

    .drs-weight-500,
    body .drs-weight-500,
    html body .drs-weight-500 { 
      font-weight: 500 !important; 
    }

    .drs-weight-600,
    body .drs-weight-600,
    html body .drs-weight-600 { 
      font-weight: 600 !important; 
    }

    .drs-weight-700,
    body .drs-weight-700,
    html body .drs-weight-700 { 
      font-weight: 700 !important; 
    }

    /* ==========================================================================
       4. RESPONSIVE OVERRIDES
       ========================================================================== */
    
    @media (max-width: 768px) {
      .drs-section-label::after,
      body .drs-section-label::after,
      html body .drs-section-label::after {
        width: min(50vw, 300px) !important;
      }
    }

    @media (max-width: 480px) {
      .drs-section-label::after,
      body .drs-section-label::after,
      html body .drs-section-label::after {
        width: min(40vw, 200px) !important;
      }
    }

    /* ==========================================================================
       5. TEMPLATE DEMO STYLING (For this demo page only)
       ========================================================================== */
    
    body {
      background: #0f0f0f !important;
      color: white !important;
    }

    .container {
      max-width: 1200px !important;
      margin: 0 auto !important;
      padding: 2rem !important;
    }

    .drs_indent_1 {
      margin-left: 2rem !important;
      margin-bottom: 4rem !important;
      padding-top: 2rem !important;
    }

    .font-demo-section {
      margin-bottom: 4rem !important;
      padding: 2rem !important;
      background: rgba(26, 32, 46, 0.3) !important;
      border-radius: 12px !important;
      border: 1px solid rgba(255, 167, 38, 0.2) !important;
    }

    .demo-title {
      font-family: 'Inter', sans-serif !important;
      font-size: 1.5rem !important;
      font-weight: 600 !important;
      color: #ffa726 !important;
      margin-bottom: 1rem !important;
      text-transform: uppercase !important;
      letter-spacing: 0.1em !important;
    }

    .css-class-name {
      font-family: 'Inter', sans-serif !important;
      font-size: 0.85rem !important;
      color: #4fd1c7 !important;
      background: rgba(0, 0, 0, 0.5) !important;
      padding: 0.25rem 0.5rem !important;
      border-radius: 4px !important;
      display: inline-block !important;
      margin-bottom: 1rem !important;
      font-weight: 500 !important;
    }

    .demo-text {
      margin-bottom: 1.5rem !important;
    }

    .weight-demo {
      margin-bottom: 0.75rem !important;
    }


    .section-divider {
      height: 2px !important;
      background: linear-gradient(90deg, #ff6b35, #ffa726, transparent) !important;
      margin: 4rem 0 !important;
      border-radius: 1px !important;
    }


/* ===== GLOBAL CONTENT CONTAINER OVERRIDE =====
   Consistent 1280px max-width with varying padding levels
   ======================================================= */

/* drs_indent_1: minimal padding (tight content) */
.drs_indent_1 {
    max-width: 1280px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 75px !important;
    padding-right: 75px !important;
    box-sizing: border-box !important;
}

/* drs_indent_2: medium padding (standard content) */
.drs_indent_2 {
    max-width: 1280px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 150px !important;
    padding-right: 150px !important;
    box-sizing: border-box !important;
}

/* drs_indent_3: maximum padding (matches header/footer at 40px) */
.drs_indent_3 {
    max-width: 1280px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 200px !important;
    padding-right: 200px !important;
    box-sizing: border-box !important;
}

/* -------------------
   MEDIA QUERIES
------------------- */

/* Medium screens (tablet) */
@media (max-width: 1024px) {
    .drs_indent_1 {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    .drs_indent_2 {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    .drs_indent_3 {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* Small screens (mobile) */
@media (max-width: 768px) {
    .drs_indent_1,
    .drs_indent_2,
    .drs_indent_3 {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}


/* Hide Powered by HTML5 Responsive FAQ footer credit */
article[style*="text-align:right"][style*="font-size:11px"] {
    display: none !important;
}


/* Alternate targeting if the above doesn’t apply */
.html5-responsive-faq .hrf_faq_title {
  margin-bottom: 10px !important;
}

































































    
/* ==============================
   WooCommerce Checkout Page Styling - Blue Theme
   ============================== */

body.woocommerce-checkout {
    font-family: 'Inter', sans-serif !important;
    /*background: linear-gradient(135deg, rgba(15,23,42,0.95) 0%, rgba(30,41,59,0.9) 50%, rgba(51,65,85,0.95) 100%) !important; */
    color: white !important;
}
/*
body.woocommerce-checkout::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 80%, rgba(59, 130, 246, 0.12) 0%, transparent 45%),
        radial-gradient(circle at 80% 20%, rgba(147, 197, 253, 0.1) 0%, transparent 45%);
    pointer-events: none;
    z-index: 0;
}

/* ========================================
   BILLING INFORMATION SECTION
======================================== */

/* Hide default billing heading "Billing Details" */

.woocommerce-checkout .col2-set .col-1 h3:first-child {
    display: none;
}

/* Add custom billing heading "BILLING INFORMATION" */
.woocommerce-checkout .col2-set .col-1:before {
    content: "BILLING INFORMATION";
    display: block;
    font-size: 1.4rem;
    font-weight: 600;
    color: white;
    margin-bottom: 2rem; 
    letter-spacing: 0.01em;
}



/* This block is restructuring WooCommerce’s two-column checkout layout into a single-column layout and styling it */
.woocommerce-checkout .col2-set {
    display: block !important;
    width: 100% !important;
}

.woocommerce-checkout .col2-set .col-1 {
    width: 100% !important;
    float: none !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 2px solid rgba(96, 165, 250, 0.3) !important;
    border-radius: 20px !important;
    padding: 2.5rem !important;
    backdrop-filter: blur(20px) !important;
    position: relative;
    z-index: 2;
    margin-bottom: 2rem !important;
}

.woocommerce-checkout .col2-set .col-2 {
    width: 100% !important;
    float: none !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    backdrop-filter: none !important;
}





/* ========================================
   FIELD LAYOUTS
======================================== */

/* ========================================
   UPDATED FIELD LAYOUTS - Country Below State/Postal
======================================== */

/* First Name + Last Name on same line */
.woocommerce-checkout #billing_first_name_field,
.woocommerce-checkout #billing_last_name_field {
    width: 48% !important;
    float: left !important;
		margin-right: 4% !important;
}

.woocommerce-checkout #billing_last_name_field {
    margin-right: 0 !important;
}

/* Company Name + Address 1 = Full width */
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #billing_address_1_field {
    width: 100% !important;
    clear: both !important;
}

/* Address 2 = Full width */
.woocommerce-checkout #billing_address_2_field {
    width: 100% !important;
    clear: both !important;
}

/* City = Full width */
.woocommerce-checkout #billing_city_field {
    width: 100% !important;
    clear: both !important;
}

/* State + Postal Code on same line */
.woocommerce-checkout #billing_state_field,
.woocommerce-checkout #billing_postcode_field {
    width: 48% !important;
    float: left !important;
    clear: none !important;
}

.woocommerce-checkout #billing_state_field {
    margin-right: 4% !important;
}

.woocommerce-checkout #billing_postcode_field {
    margin-right: 0 !important;
}

/* Country = Full width, BELOW State/Postal */
.woocommerce-checkout #billing_country_field {
    width: 100% !important;
    clear: both !important;
    /* This ensures it appears after the State/Postal line */
}

/* Email + Phone on same line */
.woocommerce-checkout #billing_email_field,
.woocommerce-checkout #billing_phone_field {
    width: 48% !important;
    float: left !important;
    clear: none !important;
}

/* Email field on the left */
.woocommerce-checkout #billing_email_field {
    margin-right: 4% !important;
    text-align: left !important;
}

/* Phone field on the right */
.woocommerce-checkout #billing_phone_field {
    margin-right: 0 !important;
    float: right !important;
    text-align: right !important;
}




















/* Clear floats after phone field to prevent layout issues */
.woocommerce-checkout #billing_phone_field:after {
    content: "";
    display: table;
    clear: both;
}







/* Remove field labels/titles */
.woocommerce-checkout .form-row label {
    display: none !important;
}







/* Style form fields */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
    width: 100% !important;
    padding: 1rem !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(96,165,250,0.2) !important;
    border-radius: 10px !important;
    color: white !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 1rem !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}

/* Select dropdowns and Select2 styling */
.woocommerce-checkout .form-row select,
.woocommerce-checkout select.select,
.woocommerce-checkout #billing_country,
.woocommerce-checkout #billing_state {
    width: 100% !important;
    padding: 1rem !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(96,165,250,0.2) !important;
    border-radius: 10px !important;
    color: white !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 1rem !important;
    transition: all 0.3s ease !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 1rem center !important;
    background-size: 16px !important;
    padding-right: 3rem !important;
    height: auto !important;
    min-height: 3.25rem !important;
}
.woocommerce-checkout .select2-container {
    width: 100% !important;
}
.woocommerce-checkout .select2-selection--single {
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(96,165,250,0.2) !important;
    border-radius: 10px !important;
    height: auto !important;
    min-height: 3.25rem !important;
    padding: 0.75rem 1rem !important;
    display: flex !important;
    align-items: center !important;
}
.woocommerce-checkout .select2-selection__rendered {
    color: white !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
    padding: 0 !important;
    margin: 0 !important;
}
.woocommerce-checkout .select2-selection__arrow {
    height: 100% !important;
    right: 1rem !important;
    width: 16px !important;
}
.woocommerce-checkout .select2-selection__arrow b {
    border-color: white transparent transparent transparent !important;
    border-style: solid !important;
    border-width: 6px 6px 0 6px !important;
    height: 0 !important;
    left: 50% !important;
    margin-left: -6px !important;
    margin-top: -3px !important;
    position: absolute !important;
    top: 50% !important;
    width: 0 !important;
}
.woocommerce-checkout .select2-dropdown {
    background: rgba(15,23,42,0.95) !important;
    border: 1px solid rgba(96,165,250,0.3) !important;
    border-radius: 10px !important;
    backdrop-filter: blur(20px) !important;
}
.woocommerce-checkout .select2-results__option {
    background: transparent !important;
    color: white !important;
    padding: 0.75rem 1rem !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 1rem !important;
}
.woocommerce-checkout .select2-results__option:hover,
.woocommerce-checkout .select2-results__option--highlighted {
    background: rgba(96,165,250,0.2) !important;
    color: white !important;
}
.woocommerce-checkout .select2-results__option[aria-selected="true"] {
    background: rgba(96,165,250,0.3) !important;
    color: white !important;
}
.woocommerce-checkout .select2-container--focus .select2-selection--single {
    border-color: rgba(96,165,250,0.5) !important;
    background: rgba(255,255,255,0.12) !important;
    box-shadow: 0 0 0 3px rgba(96,165,250,0.1) !important;
}
.woocommerce-checkout select option,
.woocommerce-checkout #billing_country option,
.woocommerce-checkout #billing_state option {
    background-color: #1e293b !important;
    color: white !important;
    padding: 0.75rem !important;
    border: none !important;
}
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout #billing_country:focus,
.woocommerce-checkout #billing_state:focus {
    outline: none !important;
    border-color: rgba(96,165,250,0.5) !important;
    background: rgba(255,255,255,0.12) !important;
    box-shadow: 0 0 0 3px rgba(96,165,250,0.1) !important;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus {
    outline: none !important;
    border-color: rgba(96,165,250,0.5) !important;
    background: rgba(255,255,255,0.12) !important;
    box-shadow: 0 0 0 3px rgba(96,165,250,0.1) !important;
}
.woocommerce-checkout .form-row input::placeholder,
.woocommerce-checkout .form-row textarea::placeholder {
    color: #94a3b8 !important;
    font-weight: 400 !important;
}

/* ========================================
   ORDER REVIEW & PAYMENT
======================================== */

.woocommerce-checkout .woocommerce-checkout-review-order {
    background: rgba(255,255,255,0.05) !important;
    border: 2px solid rgba(96,165,250,0.3) !important;
    border-radius: 20px !important;
    padding: 2.5rem !important;
    backdrop-filter: blur(20px) !important;
    position: relative;
    z-index: 2;
    margin-bottom: 1rem !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order h3 {
    display: none !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order:before {
    content: "YOUR ORDER";
    display: block;
    font-size: 1.4rem;
    font-weight: 600;
    color: white;
    margin-bottom: 2rem;
    letter-spacing: 0.01em;
}
.woocommerce-checkout #payment {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    backdrop-filter: none !important;
    position: static !important;
    z-index: auto !important;
    margin-bottom: 0 !important;
    margin-top: 2rem !important;
}

/* Style order review table to match the theme */
.woocommerce-checkout .woocommerce-checkout-review-order-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 2rem !important;
    background: none !important;
    border: none !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    padding: 1rem !important;
    text-align: left !important;
    border-bottom: 1px solid rgba(96,165,250,0.2) !important;
    background: none !important;
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table th {
    font-weight: 600 !important;
    color: #60a5fa !important;
    font-size: 0.95rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    background: none !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    color: white !important;
    font-size: 1rem !important;
    background: none !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr {
    background: none !important;
}
.woocommerce-checkout .cart-subtotal {
    display: none !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-Price-amount {
    display: inline !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-Price-currencySymbol {
    display: inline !important;
    vertical-align: baseline !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .amount:after {
    content: " CAD";
    color: white;
    font-weight: inherit;
}
.woocommerce-checkout .order-total th {
    font-weight: 600 !important;
    font-size: 1.1rem !important;
    color: white !important;
    background: none !important;
    border-bottom: 1px solid rgba(96,165,250,0.2) !important;
    text-indent: -9999px;
    position: relative;
}
.woocommerce-checkout .order-total th:before {
    content: "Total, including taxes";
    text-indent: 0;
    position: absolute;
    left: 1rem;
    top: 1.5rem;
}
.woocommerce-checkout .order-total td {
    font-weight: 600 !important;
    font-size: 1.1rem !important;
    color: white !important;
    border-bottom: 1px solid rgba(96,165,250,0.2) !important;
    padding-top: 1.5rem !important;
    background: none !important;
}
.woocommerce-checkout .order-total .woocommerce-Price-amount {
    display: inline !important;
}
.woocommerce-checkout .order-total .woocommerce-Price-currencySymbol {
    display: inline !important;
    vertical-align: baseline !important;
}
.woocommerce-checkout .order-total .amount:after {
    content: " CAD";
    color: white;
    font-weight: 600;
}

/* Payment methods and payment box styling */
.woocommerce-checkout .payment_box {
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(96,165,250,0.2) !important;
    border-radius: 8px !important;
    padding: 1.5rem !important;
    margin-top: 1rem !important;
    color: white !important;
}
.woocommerce-checkout .payment_box p {
    color: #cbd5e1 !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    margin-bottom: 1rem !important;
}
.woocommerce-checkout .payment_box strong {
    color: white !important;
}
.woocommerce-checkout .payment_box a {
    color: #60a5fa !important;
}
.woocommerce-checkout .payment_box a:hover {
    color: #93c5fd !important;
}
.woocommerce-checkout .payment_box .form-row {
    margin-bottom: 1rem !important;
}
.woocommerce-checkout .payment_box input.input-text,
.woocommerce-checkout .payment_box select {
    width: 100% !important;
    padding: 0.75rem !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(96,165,250,0.2) !important;
    border-radius: 6px !important;
    color: white !important;
    font-family: 'Inter', sans-serif !important;
}
.woocommerce-checkout .payment_box input.input-text:focus,
.woocommerce-checkout .payment_box select:focus {
    border-color: rgba(96,165,250,0.5) !important;
    background: rgba(255,255,255,0.12) !important;
    box-shadow: 0 0 0 2px rgba(96,165,250,0.1) !important;
}
.woocommerce-checkout .payment_box label {
    color: white !important;
    font-weight: 500 !important;
    margin-bottom: 0.5rem !important;
    display: block !important;
    font-size: 0.95rem !important;
}

/* Payment method list */
.woocommerce-checkout .wc_payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin-top: 2rem !important;
    margin-bottom: 1.5rem !important;
}
.woocommerce-checkout .wc_payment_method {
    background: rgba(255,255,255,0.03) !important;
    border: 1px solid rgba(96,165,250,0.2) !important;
    border-radius: 10px !important;
    margin-bottom: 1rem !important;
    padding: 1rem !important;
    transition: all 0.3s ease !important;
}
.woocommerce-checkout .wc_payment_method:hover {
    background: rgba(255,255,255,0.05) !important;
    border-color: rgba(96,165,250,0.3) !important;
}
.woocommerce-checkout .wc_payment_method label {
    color: white !important;
    font-size: 1rem !important;
    display: inline !important;
    margin-left: 0.5rem !important;
}
.woocommerce-checkout .wc_payment_method input[type="radio"] {
    accent-color: #60a5fa !important;
}

/* Hide Link checkout option and related elements */
.woocommerce-checkout .payment_method_stripe_link,
.woocommerce-checkout li[id*="link"],
.woocommerce-checkout .payment_method_woocommerce_payments_link,
.woocommerce-checkout .payment_box .wc-stripe-link-checkout,
.woocommerce-checkout .payment_box .wc-stripe-link-container,
.woocommerce-checkout .payment_box [class*="link-checkout"],
.woocommerce-checkout .payment_box [id*="link-checkout"],
.woocommerce-checkout .payment_box .stripe-link,
.woocommerce-checkout .payment_box [data-testid*="link"],
.woocommerce-checkout .payment_box span.u-lh.u-fs-sm.u-fw-medium.u-color-primary.u-mh-2,
.woocommerce-checkout .payment_box span:contains("Secure, fast checkout with Link"),
.woocommerce-checkout .payment_box p:contains("Link"),
.woocommerce-checkout .payment_box div:contains("Link"),
.woocommerce-checkout .payment_box span:contains("Link"),
.woocommerce-checkout .payment_box strong:contains("Link"),
.woocommerce-checkout .payment_method_woocommerce_payments .payment_box > div[class*="link"],
.woocommerce-checkout .payment_method_woocommerce_payments .payment_box > p[class*="link"],
.woocommerce-checkout .payment_method_woocommerce_payments .wcpay-link-checkout,
.woocommerce-checkout .payment_method_woocommerce_payments .wc-stripe-express-checkout-element,
.woocommerce-checkout .payment_box [class*="Link"],
.woocommerce-checkout .payment_box [id*="Link"] {
    display: none !important;
}

/* Terms and conditions */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    margin: 1.5rem 0 !important;
    padding: 1.5rem !important;
    background: rgba(255,255,255,0.03) !important;
    border: 1px solid rgba(96,165,250,0.2) !important;
    border-radius: 10px !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: auto !important;
    right: auto !important;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label {
    color: white !important;
    font-size: 0.95rem !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
    accent-color: #60a5fa !important;
    min-width: 18px !important;
    height: 18px !important;
    margin-top: 2px !important;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
    color: #60a5fa !important;
    text-decoration: underline !important;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a:hover {
    color: #93c5fd !important;
}
.woocommerce-checkout .form-row label.woocommerce-form__label {
    display: flex !important;
}
.woocommerce-checkout .form-row label.woocommerce-form__label.woocommerce-form__label-for-checkbox {
    display: flex !important;
}











/* Place order button - responsive sizing */
.woocommerce-checkout #place_order {
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #06b6d4 100%) !important;
    color: white !important;
    padding: 1.25rem 3rem !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    border: none !important;
    border-radius: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    cursor: pointer !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    width: auto !important;
    min-width: 320px !important;
    max-width: 100% !important;
    margin-top: 1.5rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: block !important;
    box-shadow: 0 10px 40px rgba(99, 102, 241, 0.3), 0 4px 15px rgba(139, 92, 246, 0.2) !important;
    float: left !important;
    position: relative !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Tablet sizing */
@media (max-width: 1024px) {
    .woocommerce-checkout #place_order {
        padding: 1rem 2.5rem !important;
        font-size: 1rem !important;
        min-width: 280px !important;
    }
}

/* Mobile sizing */
@media (max-width: 768px) {
    .woocommerce-checkout #place_order {
        width: 100% !important;
        min-width: none !important;
        max-width: none !important;
        float: none !important;
        padding: 1rem 2rem !important;
        font-size: 0.95rem !important;
        border-radius: 12px !important;
        margin-top: 1rem !important;
    }
}

/* Small mobile sizing */
@media (max-width: 480px) {
    .woocommerce-checkout #place_order {
        padding: 0.875rem 1.5rem !important;
        font-size: 0.9rem !important;
        border-radius: 10px !important;
        letter-spacing: 0.03em !important;
    }
}

/* Very small screens */
@media (max-width: 360px) {
    .woocommerce-checkout #place_order {
        padding: 0.75rem 1rem !important;
        font-size: 0.85rem !important;
        border-radius: 8px !important;
    }
}

/* Keep the hover effects but make them responsive too */
.woocommerce-checkout #place_order::before {
    content: '';
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent) !important;
    transition: left 0.6s ease !important;
}

.woocommerce-checkout #place_order:hover:not(:disabled) {
    transform: translateY(-3px) scale(1.02) !important;
    box-shadow: 0 15px 50px rgba(99, 102, 241, 0.4), 0 8px 25px rgba(139, 92, 246, 0.3) !important;
    background: linear-gradient(135deg, #7c3aed 0%, #a855f7 50%, #0891b2 100%) !important;
}

.woocommerce-checkout #place_order:hover:not(:disabled)::before {
    left: 100% !important;
}

/* Reduce hover effects on mobile for better performance */
@media (max-width: 768px) {
    .woocommerce-checkout #place_order:hover:not(:disabled) {
        transform: translateY(-1px) scale(1.01) !important;
        box-shadow: 0 8px 30px rgba(99, 102, 241, 0.3), 0 4px 15px rgba(139, 92, 246, 0.2) !important;
    }
}

@media (max-width: 480px) {
    .woocommerce-checkout #place_order:hover:not(:disabled) {
        transform: none !important;
        box-shadow: 0 4px 20px rgba(99, 102, 241, 0.2), 0 2px 10px rgba(139, 92, 246, 0.1) !important;
    }
}

.woocommerce-checkout #place_order:active:not(:disabled) {
    transform: translateY(-1px) scale(1.01) !important;
}

.woocommerce-checkout #place_order:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    transform: none !important;
    background: #64748b !important;
    box-shadow: none !important;
}
















/* WooCommerce error/success messages */
.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-error,
.woocommerce-checkout .woocommerce-error {
    background: rgba(239,68,68,0.1) !important;
    border: 1px solid rgba(239,68,68,0.3) !important;
    color: #fecaca !important;
    padding: 1rem !important;
    border-radius: 8px !important;
    margin-bottom: 1rem !important;
}
.woocommerce-checkout .woocommerce-input-wrapper .woocommerce-error {
    color: #fecaca !important;
    font-size: 0.875rem !important;
    margin-top: 0.5rem !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle {
    color: #60a5fa !important;
}
.woocommerce-checkout .woocommerce-info {
    background: rgba(96,165,250,0.1) !important;
    border-color: rgba(96,165,250,0.3) !important;
    color: white !important;
}
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message {
    background: rgba(239,68,68,0.1) !important;
    border-color: rgba(239,68,68,0.3) !important;
    color: #fecaca !important;
}








/* Hide order review heading */
#order_review_heading {
    display: none !important;
}


/* Hide the Link email input if it appears */
input[name="search-linkEmail"],
#Field-linkEmailInput {
    display: none !important;
}







/* Responsive design for billing fields */
@media (max-width: 768px) {
    .woocommerce-checkout #billing_first_name_field,
    .woocommerce-checkout #billing_last_name_field,
    .woocommerce-checkout #billing_country_field,
    .woocommerce-checkout #billing_postcode_field,
    .woocommerce-checkout #billing_state_field,
    .woocommerce-checkout #billing_email_field,
    .woocommerce-checkout #billing_phone_field {
        width: 100% !important;
        margin-right: 0 !important;
        float: none !important;
        clear: both !important;
    }
    .woocommerce-checkout .col2-set .col-1,
    .woocommerce-checkout .woocommerce-checkout-review-order {
        padding: 2rem !important;
    }
    .woocommerce-checkout #place_order {
        width: 100% !important;
        min-width: none !important;
        float: none !important;
    }
}








/* Section headers */

/*.woocommerce-checkout h3 {
    color: white !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 1.4rem !important;
    font-weight: 600 !important;
    margin-bottom: 2rem !important;
}

/* Hide asterisk in billing */
/*.woocommerce-checkout .col2-set .col-1 .form-row .required {
    color: transparent !important;
}





/* Error styling for required billing fields - red border, red background */
.woocommerce-checkout #billing_first_name_field.woocommerce-invalid input.input-text,
.woocommerce-checkout #billing_last_name_field.woocommerce-invalid input.input-text,
.woocommerce-checkout #billing_address_1_field.woocommerce-invalid input.input-text,
.woocommerce-checkout #billing_city_field.woocommerce-invalid input.input-text,
.woocommerce-checkout #billing_postcode_field.woocommerce-invalid input.input-text,
.woocommerce-checkout #billing_country_field.woocommerce-invalid select,
.woocommerce-checkout #billing_state_field.woocommerce-invalid select,
.woocommerce-checkout #billing_email_field.woocommerce-invalid input.input-text,
.woocommerce-checkout #billing_phone_field.woocommerce-invalid input.input-text {
    border-color: rgba(239,68,68,0.5) !important;
    background: rgba(239,68,68,0.05) !important;
}

/* Error message UNDER billing fields */
/*.woocommerce-checkout #billing_first_name_field.woocommerce-invalid .woocommerce-error,
.woocommerce-checkout #billing_last_name_field.woocommerce-invalid .woocommerce-error,
.woocommerce-checkout #billing_address_1_field.woocommerce-invalid .woocommerce-error,
.woocommerce-checkout #billing_city_field.woocommerce-invalid .woocommerce-error,
.woocommerce-checkout #billing_postcode_field.woocommerce-invalid .woocommerce-error,
.woocommerce-checkout #billing_country_field.woocommerce-invalid .woocommerce-error,
.woocommerce-checkout #billing_state_field.woocommerce-invalid .woocommerce-error,
.woocommerce-checkout #billing_email_field.woocommerce-invalid .woocommerce-error,
.woocommerce-checkout #billing_phone_field.woocommerce-invalid .woocommerce-error {
    color: #fecaca !important;
    font-size: 0.875rem !important;
    margin-top: 0.5rem !important;
    display: block !important;
    font-family: 'Inter', sans-serif !important;
}

/* Hide ALL WooCommerce validation error messages under billing fields */
/*.woocommerce-checkout #billing_first_name_field .woocommerce-error,
.woocommerce-checkout #billing_last_name_field .woocommerce-error,
.woocommerce-checkout #billing_address_1_field .woocommerce-error,
.woocommerce-checkout #billing_address_2_field .woocommerce-error,
.woocommerce-checkout #billing_city_field .woocommerce-error,
.woocommerce-checkout #billing_postcode_field .woocommerce-error,
.woocommerce-checkout #billing_country_field .woocommerce-error,
.woocommerce-checkout #billing_state_field .woocommerce-error,
.woocommerce-checkout #billing_email_field .woocommerce-error,
.woocommerce-checkout #billing_phone_field .woocommerce-error,
.woocommerce-checkout .col2-set .col-1 .woocommerce-error,
.woocommerce-checkout .col2-set .col-1 .form-row .woocommerce-error,
.woocommerce-checkout .col2-set .col-1 .woocommerce-input-wrapper .woocommerce-error,
.woocommerce-checkout .col2-set .col-1 .validate-required .woocommerce-error,
.woocommerce-checkout .col2-set .col-1 [class*="validate-"] .woocommerce-error {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
*/



.woocommerce-checkout .checkout-inline-error-message {
  display: none !important;
}









/* ========================================
   ATTENDEE INFORMATION SECTION
======================================== */

.woocommerce-checkout .attendee-info-section {
		width: 100% !important;
    max-width: none !important;
    margin-bottom: 2rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
		padding: 0rem !important;
		box-sizing: border-box !important;
}
.woocommerce-checkout .attendee-info-container {
    width: 100% !important;
		max-width: none !important;
    background: rgba(255,255,255,0.05) !important;
    border: 2px solid rgba(96,165,250,0.3) !important;
    border-radius: 20px !important;
    padding: 2.5rem !important;
    backdrop-filter: blur(20px) !important;
    position: relative;
    z-index: 2;
	  margin-left: 0 !important;
    margin-right: 0 !important;
		box-sizing: border-box !important;
		float: none !important;
    clear: both !important;
}





/* Attendee section heading - matching billing style exactly */
.woocommerce-checkout .attendee-info-title {
    font-size: 1.4rem !important;
    font-weight: 600 !important;
    color: white !important;
    margin-bottom: 2rem !important;
    letter-spacing: 0.01em !important;
    font-family: 'Inter', sans-serif !important;
    display: block !important;
}

/* Same as billing checkbox styling */
.woocommerce-checkout .same-as-billing-checkbox {
    margin-bottom: 1.5rem !important;
}

.woocommerce-checkout .same-as-billing-checkbox label,
.woocommerce-checkout .same-as-billing-checkbox .woocommerce-form__label {
    display: flex !important;
    color: white !important;
    font-size: 1rem !important;
    align-items: center !important;
    gap: 0.75rem !important;
    margin: 0 !important;
    padding: 1rem !important;
    background: rgba(255,255,255,0.03) !important;
    border: 1px solid rgba(96,165,250,0.2) !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    font-family: 'Inter', sans-serif !important;
    width: 100% !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    flex-wrap: nowrap !important;
}

.woocommerce-checkout .same-as-billing-checkbox label:hover,
.woocommerce-checkout .same-as-billing-checkbox .woocommerce-form__label:hover {
    background: rgba(255,255,255,0.05) !important;
    border-color: rgba(96,165,250,0.3) !important;
}

.woocommerce-checkout .same-as-billing-checkbox input[type="checkbox"] {
    accent-color: #60a5fa !important;
    min-width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
}

/* Attendee name row styling */
.woocommerce-checkout .attendee-name-row {
    display: flex !important;
    gap: 2% !important;
}

.woocommerce-checkout .attendee-name-row .form-row {
    flex: 1 !important;
}

/* Attendee form fields styling */
.woocommerce-checkout .attendee-field label {
    display: none !important;
}

.woocommerce-checkout .attendee-field input.input-text {
    width: 100% !important;
    padding: 1rem !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(96,165,250,0.2) !important;
    border-radius: 10px !important;
    color: white !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 1rem !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout .attendee-field input.input-text:focus {
    outline: none !important;
    border-color: rgba(96,165,250,0.5) !important;
    background: rgba(255,255,255,0.12) !important;
    box-shadow: 0 0 0 3px rgba(96,165,250,0.1) !important;
}

.woocommerce-checkout .attendee-field input.input-text::placeholder {
    color: #94a3b8 !important;
    font-weight: 400 !important;
}

/* Attendee fields container - hidden when same as billing is checked */
.woocommerce-checkout .attendee-fields-container {
    transition: all 0.5s ease !important;
}


		
		
		
		
	
/* Error styling for attendee fields - matching billing field errors */
.woocommerce-checkout .attendee-field .woocommerce-input-wrapper .woocommerce-error,
.woocommerce-checkout .attendee-field .woocommerce-error {
    color: #fecaca !important;
    font-size: 0.875rem !important;
    margin-top: 0.5rem !important;
    display: block !important;
    font-family: 'Inter', sans-serif !important;
}

/* Style attendee fields with error state */
.woocommerce-checkout .attendee-field.woocommerce-invalid input.input-text {
    border-color: rgba(239,68,68,0.5) !important;
    background: rgba(239,68,68,0.05) !important;
}

/* Hide attendee field labels (keeping placeholder approach) */
.woocommerce-checkout .attendee-field label {
    display: none !important;
}

/* Remove asterisk from WooCommerce T&C checkbox */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .required {
    display: none !important;
}








/* Universal blur fix - apply to your existing blur classes */
.blur {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  transform: translateZ(0);
  will-change: backdrop-filter;
  background-color: rgba(255, 255, 255, 0.8);
}

/* Fallback for unsupported devices */
@supports not (backdrop-filter: blur(10px)) {
  .blur {
    background-color: rgba(255, 255, 255, 0.9);
  }
}

/* Prevent breaking words mid-word */
* {
    word-break: keep-all !important;    /* Prevent breaks inside words */
    overflow-wrap: normal !important;   /* Avoid wrapping mid-word */
    hyphens: none !important;           /* Disable automatic hyphenation */
}

/* Fix 1: Keep register icon circular on small screens */
@media (max-width: 768px) {
    .register-icon {
        width: 70px !important;
        height: 70px !important;
        min-width: 70px !important;
        min-height: 70px !important;
        flex-shrink: 0 !important;
        background-size: 30px 30px !important;
    }
    
    /* Also adjust the seminar title text size on mobile */
    .seminar-title {
        font-size: 2rem !important;
    }
}

@media (max-width: 480px) {
    .register-icon {
        width: 60px !important;
        height: 60px !important;
        min-width: 60px !important;
        min-height: 60px !important;
        background-size: 25px 25px !important;
    }
    
    .seminar-title {
        font-size: 1.8rem !important;
    }
}

/* Fix 2: Fix squished text under $825 price on small screens */
@media (max-width: 768px) {
    /* Remove the excessive left/right padding that's causing the squishing */
    .woocommerce-checkout .seminar-info div[style*="padding: 0 9rem"] {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

@media (max-width: 480px) {
    .woocommerce-checkout .seminar-info div[style*="padding: 0 9rem"] {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }
}

/* Fix 3: Allow "same as billing information" text to wrap properly */
@media (max-width: 768px) {
    .woocommerce-checkout .same-as-billing-checkbox label,
    .woocommerce-checkout .same-as-billing-checkbox .woocommerce-form__label {
        white-space: normal !important;
        flex-wrap: wrap !important;
        align-items: flex-start !important;
        line-height: 1.5 !important;
    }
    
    .woocommerce-checkout .same-as-billing-checkbox input[type="checkbox"] {
        margin-top: 2px !important;
        flex-shrink: 0 !important;
    }
}

/* Fix 4: Make attendee name fields full width on small screens */
@media (max-width: 768px) {
    .woocommerce-checkout .attendee-name-row {
        flex-direction: column !important;
        gap: 0 !important;
    }
    
    .woocommerce-checkout .attendee-name-row .form-row {
        width: 100% !important;
        /*margin-bottom: 0rem !important;*/
        flex: none !important;
    }
    
    .woocommerce-checkout .attendee-name-row .attendee-field input.input-text {
        width: 100% !important;
    }
}

/* Additional mobile improvements */
@media (max-width: 768px) {
    /* Reduce padding on seminar info container */
    .woocommerce-checkout .seminar-info {
        padding: 2rem !important;
    }
    
    /* Ensure proper spacing for all mobile elements */
    .woocommerce-checkout .attendee-info-container {
        padding: 2rem !important;
    }
    
    /* Make sure billing fields are also full width on mobile */
    .woocommerce-checkout #billing_first_name_field,
    .woocommerce-checkout #billing_last_name_field,
    .woocommerce-checkout #billing_country_field,
    .woocommerce-checkout #billing_postcode_field {
        width: 100% !important;
        margin-right: 0 !important;
        float: none !important;
    }
}


@media (max-width: 480px) {
    .woocommerce-checkout .seminar-info {
        padding: 1.5rem !important;
    }
    
    .woocommerce-checkout .attendee-info-container {
        padding: 2.0rem !important;  /* Keep same as billing */
    }
    
    /* Smaller text on very small screens */
    .woocommerce-checkout .seminar-info div[style*="font-size: 3.0rem"] {
        font-size: 2.5rem !important;
    }
}











/* ========================================
   HIDE ONLY WOOCOMMERCE VALIDATION ERROR MESSAGES
   (Keep form fields visible)
======================================== */

/* Target only the error messages that appear below form fields */
.woocommerce-checkout .form-row .woocommerce-input-wrapper .woocommerce-error,
.woocommerce-checkout .form-row > .woocommerce-error:last-child,
.woocommerce-checkout .woocommerce-checkout-review-order .woocommerce-error li {
    display: none !important;
}

/* Hide validation messages that appear as list items */
.woocommerce-checkout .form-row .woocommerce-error li {
    display: none !important;
}

/* Hide error messages that contain "required field" text specifically */
.woocommerce-checkout .form-row .woocommerce-error:contains("required field") {
    display: none !important;
}

/* Target error messages by common validation text patterns */
.woocommerce-checkout .woocommerce-error:contains("Billing"),
.woocommerce-checkout .woocommerce-error:contains("is a required field") {
    display: none !important;
}

/* More specific targeting for billing field errors */
.woocommerce-checkout #billing_first_name_field > .woocommerce-error,
.woocommerce-checkout #billing_last_name_field > .woocommerce-error,
.woocommerce-checkout #billing_address_1_field > .woocommerce-error,
.woocommerce-checkout #billing_city_field > .woocommerce-error,
.woocommerce-checkout #billing_postcode_field > .woocommerce-error,
.woocommerce-checkout #billing_country_field > .woocommerce-error,
.woocommerce-checkout #billing_state_field > .woocommerce-error,
.woocommerce-checkout #billing_email_field > .woocommerce-error,
.woocommerce-checkout #billing_phone_field > .woocommerce-error {
    display: none !important;
}

/* Hide error messages that appear after the input wrapper */
.woocommerce-checkout .woocommerce-input-wrapper + .woocommerce-error {
    display: none !important;
}



















/* Make attendee container match billing and order width */
@media (max-width: 768px) {
    .woocommerce-checkout .attendee-info-container {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 2rem !important; /* same as billing padding on mobile */
        box-sizing: border-box !important;
    }

    .woocommerce-checkout .attendee-info-section {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 0 !important; /* remove extra section padding if any */
    }

    .woocommerce-checkout .attendee-name-row {
        flex-direction: column !important;
        gap: 1rem !important; /* spacing between first/last name fields */
        margin: 0 !important;
    }

    .woocommerce-checkout .attendee-name-row .form-row {
        width: 100% !important;
        margin: 0 !important;
    }
}











/* ===========================
   Extracted from attendee PHP
   =========================== */

/* Attendee name row container */
.woocommerce-checkout .attendee-name-row {
    display: flex;
    gap: 2%;
}

/* Each attendee field wrapper */
.woocommerce-checkout .attendee-field {
    flex: 1;
}

/* Same-as-billing checkbox container */
.woocommerce-checkout .same-as-billing-checkbox {
    margin-bottom: 1.5rem;
}

/* Hide shipping fields by default when using "Same as billing" */
.woocommerce-checkout #attendee-shipping-fields {
    display: none;
}


















/* ==============================
   WooCommerce Checkout Field Spacing - Global + Special for Country/State
   ============================== */

/* Reset any WooCommerce default margins */
.woocommerce-checkout .form-row {
    margin-bottom: 0 !important;
}


/* ==============================
   WooCommerce Checkout Field Spacing - Fully Global
   ============================== */

/* Apply spacing to ALL checkout fields, regardless of wrapper */
.woocommerce-checkout .form-row,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > p,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > p, 
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper > p {

    margin-bottom: 0.2rem !important; /* Adjust global spacing here */
}

/* Special spacing for Country and State fields */
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #billing_state_field,
.woocommerce-checkout #shipping_country_field, 
.woocommerce-checkout #shipping_state_field {
    margin-bottom: -1.3rem !important; /* Adjust for these fields separately */
}


#wcpay-express-checkout-button-separator {
    color: #ffffff !important;
}




/*  MORE ATTENDEE CSS TO MAKE SURE FIRST AND LASTNAME GET THIER OWN LINE ON SMALLER SCREENS */
/* Fix attendee name fields to stack on mobile screens */
@media (max-width: 768px) {
    /* Target the specific attendee field classes from your PHP */
    .woocommerce-checkout .attendee-field.form-row-first,
    .woocommerce-checkout .attendee-field.form-row-last {
        width: 100% !important;
        float: none !important;
        clear: both !important;
        margin-right: 0 !important;
    }
    
    /* Also target the attendee-name-row container to ensure proper stacking */
    .woocommerce-checkout .attendee-name-row {
        flex-direction: column !important;
        gap: 0 !important;
    }
    
    .woocommerce-checkout .attendee-name-row .attendee-field {
        flex: none !important;
        width: 100% !important;
    }
}

/* Also apply to smaller screens */
@media (max-width: 480px) {
    .woocommerce-checkout .attendee-field.form-row-first,
    .woocommerce-checkout .attendee-field.form-row-last {
        width: 100% !important;
        float: none !important;
        clear: both !important;
        margin-right: 0 !important;
    }
}


/* Terms and conditions error styling */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper.terms-error {
    border-color: rgba(239,68,68,0.5) !important;
    background: rgba(239,68,68,0.05) !important;
    animation: terms-error-pulse 2s ease-in-out infinite !important;
}

/* Subtle pulsing animation to draw attention */
@keyframes terms-error-pulse {
    0%, 100% { 
        border-color: rgba(239,68,68,0.5);
        box-shadow: 0 0 0 0 rgba(239,68,68,0.3);
    }
    50% { 
        border-color: rgba(239,68,68,0.7);
        box-shadow: 0 0 0 4px rgba(239,68,68,0.1);
    }
}

/* Remove error styling when terms are checked */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper:not(.terms-error) {
    animation: none !important;
}