html, body {
    overflow-x: hidden !important;
    max-width: 100% !important;
}

.font-tarot {
    font-family: "Tarot Sharp", serif !important;
}

.brand-blue {
  color: #4147FF;
}

.brand-blue-dark {
    color: #292E90;
}

/* 2. Primary Headings - Crisp Light Grey */
.woocommerce-checkout h2, 
.woocommerce-checkout h3, 
#order_review_heading {
    color: #e5e5e5 !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    border-bottom: 1px solid #333;
    padding-bottom: 10px;
}

/* 3. Form Labels and General Text - Light and Readable */
.woocommerce-checkout label,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .checkout-group h3 {
    color: #e5e5e5 !important;
}

/* 4. Secondary Text (Descriptions/Placeholders) - Dimmer Light Variation */
.woocommerce-checkout p, 
.woocommerce-checkout span, 
.woocommerce-checkout .shipping-calculator-button,
.woocommerce-info {
    color: #b0b0b0 !important;
}

/* 5. Inputs - Dark background with Light text */
.woocommerce-checkout input.input-text, 
.woocommerce-checkout select, 
.woocommerce-checkout textarea {
    background-color: #1a1a1a !important;
    border: 1px solid #333 !important;
    color: #e5e5e5 !important;
    border-radius: 4px;
}

/* 6. Fix Order Summary Table */
#order_review, 
.woocommerce-checkout-review-order-table {
    background-color: transparent !important;
    border: 1px solid #333 !important;
    color: #e5e5e5 !important;
}

/* 7. Table Cells & Product Names */
.woocommerce-checkout-review-order-table th, 
.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table .product-name,
.woocommerce-checkout-review-order-table .product-total {
    color: #e5e5e5 !important;
    border-top: 1px solid #333 !important;
}

/* 8. Fix Product Title Overlap for Dark Mode */
.woocommerce-checkout-review-order-table .product-name {
    display: table-cell !important;
    word-break: break-word !important;
    line-height: 1.6 !important;
}

/* Individual Spell Requirements Feature CSS */

/* --- 1. CLEANUP: HIDE GHOST FIELDS --- */
.variation-NameofRecipient,
.variation-BirthdateofRecipientOptional,
.variation-YourPetition,
.wc-block-components-product-details__name-of-recipient,
.wc-block-components-product-details__birthdate-of-recipient-optional,
.wc-block-components-product-details__your-petition,
.wc-block-components-product-details-item__name-of-recipient,
.wc-block-components-product-details-item__birthdate-of-recipient-optional,
.wc-block-components-product-details-item__your-petition {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: hidden !important;
}

/* --- 2. DISPLAY: STYLING THE CLEAN DATA IN CART/CHECKOUT --- */
dl.variation {
    margin: 15px 0;
    padding: 10px;
    background: #f9f9f9;
    border-radius: 5px;
}

dl.variation dt {
    display: block;
    font-weight: bold;
    margin-top: 10px;
    margin-bottom: 3px;
    font-size: 0.85em;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

dl.variation dt:first-child { margin-top: 0; }

dl.variation dd {
    display: block;
    margin: 0 0 10px 0;
    font-size: 0.95em;
    color: #666;
    padding-left: 10px;
    border-left: 3px solid #ddd;
}

dl.variation dd p { margin: 0; }

/* --- 3. LAYOUT: ALIGNING THE FORM FIELDS ON PRODUCT PAGE --- */
.wcpa_form_outer .wcpa_row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: block !important;
}

.wcpa_form_outer .wcpa_field_wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 20px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

@media (min-width: 769px) {
    .wcpa_form_outer .wcpa-col-3 {
        width: calc(50% - 10px) !important;
        float: left !important;
        display: inline-block !important;
    }
    .wcpa_form_outer .wcpa-col-3:first-child {
        margin-right: 20px !important;
    }
    .wcpa_row::after {
        content: "";
        clear: both;
        display: table;
    }
}

@media (max-width: 768px) {
    .wcpa_form_outer .wcpa-col-3,
    .wcpa_form_outer .wcpa-col-6,
    .wcpa_form_outer .wcpa_field_wrap {
        width: 100% !important;
        display: block !important;
        float: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

.wcpa_field_label {
    display: block !important;
    margin-bottom: 8px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    font-size: 14px !important;
    text-align: left !important;
}

.wcpa_form_outer .wcpa_field {
    width: 100% !important;
    box-sizing: border-box !important;
    border-radius: 4px !important;
    padding: 12px !important;
    border: 1px solid #ccc !important;
}

.wcpa_type_textarea .wcpa_field {
    min-height: 100px !important;
}

/* Individual Spell Requirements Feature CSS END */

/* --- FIX FOR NEURON SIDE CART OVERFLOW --- */

/* 1. Full height sidebar */
.m-neuron-menu-cart__sidebar {
    position: fixed !important;
    top: 0 !important;
    height: 100vh !important;
    overflow-y: auto !important;
}

/* 2. Main content layout */
.m-neuron-menu-cart__main {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    min-height: 100vh !important;
    padding: 20px !important;
}

/* 3. Scrollable product list */
.m-neuron-menu-cart__sidebar .woocommerce-mini-cart.cart_list {
    max-height: 70vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
    padding-right: 10px !important;
    margin-bottom: 0 !important;
}

/* 4. Scrollbar styling */
.m-neuron-menu-cart__sidebar .woocommerce-mini-cart.cart_list::-webkit-scrollbar {
    width: 4px;
}
.m-neuron-menu-cart__sidebar .woocommerce-mini-cart.cart_list::-webkit-scrollbar-thumb {
    background: #cccccc;
    border-radius: 10px;
}

/* 5. Total and Buttons sticky styling */
.m-neuron-menu-cart__sidebar .woocommerce-mini-cart__total,
.m-neuron-menu-cart__sidebar .woocommerce-mini-cart__buttons {
    position: sticky !important;
    top: 0 !important;
    bottom: unset !important;
    background: #ffffff !important;
    z-index: 99;
    margin: 0 !important;
    padding: 10px 20px !important;
    border-bottom: 1px solid #eee !important;
    border-top: none !important;
}

/* 6. Price color */
.m-neuron-menu-cart__sidebar .woocommerce-Price-amount {
    color: #0F0F0F !important;
}

/* 7. Buttons spacing */
.m-neuron-menu-cart__sidebar .woocommerce-mini-cart__buttons {
    padding-bottom: 10px !important;
    display: flex !important;
    gap: 10px !important;
}

/* 8. Reorder: buttons and total above product list */
.m-neuron-menu-cart__sidebar .widget_shopping_cart_content {
    display: flex !important;
    flex-direction: column !important;
}

.m-neuron-menu-cart__sidebar .woocommerce-mini-cart__buttons {
    order: -2 !important;
}

.m-neuron-menu-cart__sidebar .woocommerce-mini-cart__total {
    order: -1 !important;
}

/* 9. Mega Menu issue band-aid */
.m-neuron-nav-menu--mega-menu__item .m-neuron-nav-menu--mega-menu {
    margin-top: 0 !important;
    padding-top: 30px;
}


/* 10. Menu Bag Icon Light Mode */
html.light-mode .m-neuron-menu-cart__toggle-icon--cart-neuron i.eicon::before {
    filter: brightness(0) opacity(0.72) !important;
}