/* =========================
   GLOBAL CHECKOUT STYLING
========================= */

body.woocommerce-checkout {
    background-color: #000000 !important;
    color: #ffffff !important;
}

/* Page headings */
.woocommerce-checkout h1,
.woocommerce-checkout h2,
.woocommerce-checkout h3 {
    color: #ffffff !important;
}

/* =========================
   INPUT FIELDS
========================= */

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    background-color: #111111 !important;
    color: #ffffff !important;
    border: 1px solid #333333 !important;
    border-radius: 6px;
    padding: 12px;
}

/* Focus state */
.woocommerce form .form-row input:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    border-color: #C9A123 !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(201, 161, 35, 0.3);
}

/* =========================
   LABELS
========================= */

.woocommerce form label {
    color: #ffffff !important;
}

/* =========================
   ORDER BOX (RIGHT SIDE)
========================= */

.woocommerce-checkout-review-order {
    background-color: #111111 !important;
    border: 1px solid #333333 !important;
    padding: 20px;
    border-radius: 10px;
}

/* =========================
   BUTTON (PLACE ORDER)
========================= */

#place_order {
    background-color: #C9A123 !important;
    color: #000000 !important;
    font-weight: bold;
    border-radius: 6px;
    padding: 14px;
    border: none !important;
    transition: 0.3s ease;
}

#place_order:hover {
    background-color: #e0b42a !important;
    transform: translateY(-2px);
}

/* =========================
   LINKS
========================= */

.woocommerce-checkout a {
    color: #fff !important;
}

/* =========================
   COUPON BOX
========================= */

.woocommerce-form-coupon {
    background-color: #111111 !important;
    border: 1px solid #333333 !important;
    padding: 15px;
    border-radius: 8px;
}

.woocommerce-form-coupon input {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 1px solid #333333 !important;
}

/* =========================
   ERROR / SUCCESS MESSAGES
========================= */

.woocommerce-error {
    background-color: #300000 !important;
    color: #ffffff !important;
}

.woocommerce-message {
    background-color: #1f1f1f !important;
    border-left: 4px solid #C9A123 !important;
    color: #ffffff !important;
}

.woocommerce .col2-set .col-1,
.woocommerce-page .col2-set .col-1 {
    float: left;
    width: 100%;
}


:root {
    --card-bg: #050607;
    --border-color: #1a1c1e;
    --text-main: #ffffff;
    --text-muted: #8a8d90;
    --accent-gold: #f1b932;
}

/* Order Summary Container */
.checkout-sidebar {
    width: 100%;
    max-width: 460px;
    background-color: var(--card-bg, #0d0d0d) !important;
    border: 1px solid var(--border-color, #1a1a1a) !important;
    border-radius: 12px !important;
    padding: 24px !important;
    box-sizing: border-box !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.checkout-sidebar .section-title {
    color: var(--text-main, #ffffff) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
}

.checkout-sidebar .product-info-row {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 28px !important;
}

.checkout-sidebar .product-image-container {
    width: 75px !important;
    height: 90px !important;
    flex-shrink: 0 !important;
}

.checkout-sidebar .product-image-container img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

/* New Wrapper to separate title layout from price layout side-by-side */
.checkout-sidebar .product-meta-wrap {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    flex-grow: 1 !important;
}

.checkout-sidebar .product-meta-left {
    display: flex !important;
    flex-direction: column !important;
    padding-right: 8px !important;
}

.checkout-sidebar .product-title {
    color: var(--text-main, #ffffff) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    margin: 0 0 4px 0 !important;
    line-height: 1.3 !important;
}

.checkout-sidebar .product-subtitle {
    color: var(--text-muted, #888888) !important;
    font-size: 16px !important;
    margin: 0 !important;
}

.checkout-sidebar .price-container {
    text-align: right !important;
    flex-shrink: 0 !important;
}

.checkout-sidebar .product-price, 
.checkout-sidebar .product-price .woocommerce-Price-amount {
    color: var(--accent-gold, #ffcc00) !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
}

.checkout-sidebar .payment-type {
    color: var(--text-muted, #888888) !important;
    font-size: 16px !important;
    margin-top: 4px !important;
}

/* Icons and features styling with dividers */
.checkout-sidebar .features-list {
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 24px !important;
}

.checkout-sidebar .feature-item {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    padding-bottom: 16px !important;
    margin-bottom: 16px !important;
    border-bottom: 1px solid var(--border-color, #1a1a1a) !important;
}

/* Align guarantee row items gracefully due to the description text */
.checkout-sidebar .feature-item.guarantee-item {
    align-items: flex-start !important;
}
.checkout-sidebar .feature-item.guarantee-item .feature-icon-circle {
    margin-top: 2px !important;
}

.checkout-sidebar .feature-icon-circle {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    border: 1px solid var(--accent-gold, #ffcc00) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

.checkout-sidebar .feature-icon-circle i,
.checkout-sidebar .feature-icon-circle svg {
    color: var(--accent-gold, #ffcc00) !important;
    font-size: 16px !important;
}

.checkout-sidebar .feature-text-box {
    display: flex !important;
    flex-direction: column !important;
}

.checkout-sidebar .feature-title {
    color: var(--text-main, #ffffff) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

.checkout-sidebar .feature-desc {
    color: var(--text-muted, #888888) !important;
    font-size: 16px !important;
    margin-top: 4px !important;
    line-height: 1.4 !important;
}

/* Bottom Protected Box */
.checkout-sidebar .secure-box {
    border: 1px solid var(--border-color, #1a1a1a) !important;
    border-radius: 8px !important;
    padding: 16px !important;
    display: flex !important;
    gap: 16px !important;
    align-items: center !important;
}

.checkout-sidebar .secure-icon {
    color: var(--accent-gold, #ffcc00) !important;
    font-size: 26px !important;
}

.checkout-sidebar .secure-title {
    color: var(--text-main, #ffffff) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
}

.checkout-sidebar .secure-desc {
    color: var(--text-muted, #888888) !important;
    font-size: 14px !important;
    margin-top: 2px !important;
}

#fba-lms-root-container .text-custom-gold {
    color: #c9a123 !important;
    background: #090909 !important;
}

#fba-lms-root-container .text-custom-gold:hover {
    color: #c9a123 !important;
    background: #090909 !important;
}

#fba-lms-root-container .text-custom-gold:active {
    color: #c9a123 !important;
    background: #090909 !important;
}

.elementor *,
.elementor *:hover,
.elementor *:active,
.elementor *:after,
.elementor *:before {
    box-sizing: border-box;
    border-color: #c9a123;
}

@media only screen and (max-width: 768px) {
  html,
  body {
    width: 100%;
    overflow-x: hidden;
  }
}


/* Change WooCommerce payment box background to black */
#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
    background-color: #000000 !important;
    color: #ffffff !important;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    padding: 1em 2em 1em 3.5em;
    margin: 0 0 2em;
    position: relative;
    background-color: #1f1f1f !important;
    color: #ffffff !important;
    border-top: 3px solid #c9a123 !important;
    list-style: none outside;
    width: auto;
    word-wrap: break-word;
}