/*
 * iv_cart: Interactive Villages order form styling (2026 redesign).
 * The .tpl files in this folder are an UNCHANGED copy of WHMCS standard_cart (8.13 now; replace them with the
 * 9.1 standard_cart files after the upgrade). All IV styling lives in this one file, which standard_cart loads
 * after css/all.min.css (common.tpl: assetExists file="custom.css").
 * Colors match the interactivevillages2026 client area theme; fallbacks below keep it working with any theme.
 */
#order-standard_cart {
    --iv-navy: #013A6A; --iv-navy-deep: #022C52; --iv-ink: #0B2440; --iv-blue: #4080B9; --iv-sky: #EAF2F9;
    --iv-cream: #FFFBEA; --iv-cream-2: #FFF6CF; --iv-gold: #F2C14E; --iv-gold-deep: #E8B336; --iv-red: #D2352E;
    --iv-muted: #4A5B6C; --iv-line: #E6E1CC; --iv-line-soft: #EFEBDD; --iv-white: #FFFFFF; --iv-on-navy: #BFD3E6;
    --iv-serif: "Source Serif 4", Georgia, serif;
    color: var(--iv-ink);
}

/* Page headings */
#order-standard_cart .header-lined h1 { font-family: var(--iv-serif); font-weight: 600; color: var(--iv-navy); }
#order-standard_cart .header-lined p { color: var(--iv-muted); }
#order-standard_cart .sub-heading { border-top: 1px solid var(--iv-line); }
#order-standard_cart .sub-heading span { background: var(--iv-cream); color: var(--iv-blue); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; font-size: 13px; }

/* Product cards: same look as the plan cards on interactivevillages.com */
#order-standard_cart .products .product { background: var(--iv-white); border: 1px solid var(--iv-line); border-radius: 20px; box-shadow: none; overflow: hidden; }
#order-standard_cart .products .product header { background: var(--iv-white); color: var(--iv-navy); border-bottom: 1px solid var(--iv-line-soft); padding: 18px 22px; }
#order-standard_cart .products .product header span { font-family: var(--iv-serif); font-weight: 600; font-size: 22px; color: var(--iv-navy); }
#order-standard_cart .products .product header .qty { color: var(--iv-muted); font-size: 13px; }
#order-standard_cart .products .product div.product-desc { color: #33424F; font-size: 15px; line-height: 1.55; padding: 16px 22px; }
#order-standard_cart .products .product div.product-desc p { margin: 0 0 10px; }
#order-standard_cart .products .product div.product-desc ul { padding-left: 0; list-style: none; }
#order-standard_cart .products .product div.product-desc li { padding: 4px 0 4px 24px; position: relative; border: 0; }
#order-standard_cart .products .product div.product-desc li:before { content: "\2713"; position: absolute; left: 2px; color: var(--iv-blue); font-weight: 700; }
#order-standard_cart .products .product div.product-pricing span.price { font-family: var(--iv-serif); font-weight: 700; font-size: 34px; color: var(--iv-navy); }
#order-standard_cart .products .product footer, #order-standard_cart .products .product div.product-pricing { padding-top: 6px; }
#order-standard_cart .product-info { background: var(--iv-sky); border-radius: 16px; font-size: 15px; line-height: 1.55; }
#order-standard_cart .product-info .product-title { font-family: var(--iv-serif); font-weight: 600; color: var(--iv-navy); }
#order-standard_cart .product-info p { font-size: inherit; }
@media (max-width: 767px) {
    #order-standard_cart .products .product div.product-desc { float: none; width: 100%; }
    #order-standard_cart .products .product footer { float: none; width: 100%; text-align: left; padding: 4px 22px 22px; }
    #order-standard_cart .products .product footer .btn { width: 100%; }
}

/* Buttons: navy pills, gold for the main checkout action */
#order-standard_cart .btn { border-radius: 999px; font-weight: 600; }
#order-standard_cart .btn-order-now, #order-standard_cart .btn-primary {
    background: var(--iv-navy); border-color: var(--iv-navy); color: var(--iv-white); font-weight: 700; min-height: 44px;
}
#order-standard_cart .btn-order-now:hover, #order-standard_cart .btn-primary:hover { background: var(--iv-ink); border-color: var(--iv-ink); color: var(--iv-white); }
#order-standard_cart .btn-checkout, #order-standard_cart .btn-success {
    background: var(--iv-gold); border-color: var(--iv-gold); color: var(--iv-ink); font-weight: 700; min-height: 48px;
}
#order-standard_cart .btn-checkout:hover, #order-standard_cart .btn-success:hover { background: var(--iv-gold-deep); border-color: var(--iv-gold-deep); color: var(--iv-ink); }
#order-standard_cart .btn-checkout { font-size: 17px; padding: 12px 26px; }
#order-standard_cart .btn-default { background: var(--iv-white); border: 1.5px solid var(--iv-navy); color: var(--iv-navy); }
#order-standard_cart .btn-default:hover { background: var(--iv-navy); color: var(--iv-white); }
#order-standard_cart .btn-remove-from-cart { color: var(--iv-red); }
#order-standard_cart .empty-cart .btn { background: transparent; color: var(--iv-navy); border: 0; }

/* Sidebar categories */
#order-standard_cart .cart-sidebar .card, #order-standard_cart .card-sidebar { border: 1px solid var(--iv-line); border-radius: 18px; overflow: hidden; }
#order-standard_cart .cart-sidebar .card-header, #order-standard_cart .cart-sidebar .panel-heading { background: var(--iv-white); color: var(--iv-navy); border-bottom: 1px solid var(--iv-line); }
#order-standard_cart .card-sidebar .card-header .panel-title, #order-standard_cart .cart-sidebar .card-title { color: var(--iv-navy); font-family: var(--iv-serif); font-weight: 600; }
#order-standard_cart .cart-sidebar .list-group-item { background: var(--iv-white); color: var(--iv-ink); border-color: var(--iv-line-soft); }
#order-standard_cart .cart-sidebar .list-group-item:hover { background: var(--iv-cream); color: var(--iv-navy); }
#order-standard_cart .cart-sidebar .list-group-item.active { background: var(--iv-cream-2); color: var(--iv-navy); border-color: var(--iv-line); box-shadow: inset 4px 0 0 var(--iv-gold); font-weight: 600; }

/* Order summary: navy panel like the featured Business plan card */
#order-standard_cart .order-summary { background: var(--iv-navy); border: 0; border-radius: 20px; color: var(--iv-white); overflow: hidden; }
#order-standard_cart .order-summary h2 { background: transparent; color: var(--iv-white); font-family: var(--iv-serif); font-weight: 600; }
#order-standard_cart .order-summary .summary-container { background: var(--iv-white); color: var(--iv-ink); border-radius: 0 0 20px 20px; }
#order-standard_cart .order-summary .product-name { color: var(--iv-navy); font-weight: 700; }
#order-standard_cart .summary-container .total-due-today .amt { color: var(--iv-navy); font-family: var(--iv-serif); font-weight: 700; }
#order-standard_cart .order-summary .btn-continue-shopping { color: var(--iv-navy); }

/* View cart */
#order-standard_cart .view-cart-items-header { background: var(--iv-navy); color: var(--iv-white); border-radius: 16px 16px 0 0; }
#order-standard_cart .view-cart-items { border-bottom: 1px solid var(--iv-line); }
#order-standard_cart .view-cart-items .item { background: var(--iv-white); }
#order-standard_cart .view-cart-items .item-title { color: var(--iv-navy); font-weight: 700; }
#order-standard_cart .view-cart-tabs .nav-tabs .nav-link { color: var(--iv-navy); }
#order-standard_cart .view-cart-tabs .nav-tabs .nav-link.active { background: var(--iv-white); color: var(--iv-navy); border-color: var(--iv-line); border-top: 3px solid var(--iv-gold); }
#order-standard_cart .view-cart-promotion-code { background: var(--iv-cream-2); border-color: var(--iv-line); border-radius: 12px; }

/* Add-ons */
#order-standard_cart .panel-addon { background: var(--iv-white); border-color: var(--iv-line); border-radius: 16px; }
#order-standard_cart .panel-addon:hover, #order-standard_cart .panel-addon-selected { border-color: var(--iv-blue); }
#order-standard_cart .panel-addon .panel-add { background: var(--iv-navy); color: var(--iv-white); }
#order-standard_cart .panel-addon-selected .panel-add { background: var(--iv-gold); color: var(--iv-ink); }

/* Domain checker */
#order-standard_cart .domain-checker-container { background: var(--iv-navy); border-radius: 20px; }
#order-standard_cart .domain-checker-bg { background-image: none; }
#order-standard_cart .domain-checker-container .input-group-box { border-radius: 999px; }
#order-standard_cart .domain-checker-available { color: #1E6B45; }
#order-standard_cart .domain-checker-unavailable, #order-standard_cart .domain-checker-invalid { color: #9B231D; }
#order-standard_cart .domain-checker-result-headline { font-family: var(--iv-serif); font-weight: 600; }
#order-standard_cart .domain-selection-options .option { border-radius: 14px; }
#order-standard_cart .domain-selection-options .option.option-selected { background: var(--iv-cream-2); border-color: var(--iv-gold-deep); }
#order-standard_cart .featured-tld .price { background: var(--iv-navy); color: var(--iv-white); }
#order-standard_cart .domain-promo-box .text-warning { color: #7A5A00 !important; }
#order-standard_cart .domain-promo-box .small { color: var(--iv-muted); }
#order-standard_cart .domain-promo-box .btn-warning { background: var(--iv-gold); border-color: var(--iv-gold); color: var(--iv-ink); }

/* Checkout */
#order-standard_cart .field-container { background: var(--iv-white); border: 1px solid var(--iv-line); border-radius: 16px; }
#order-standard_cart .form-control { border-radius: 12px; border-color: #CFC8AD; min-height: 44px; }
#order-standard_cart .form-control:focus { border-color: var(--iv-blue); box-shadow: 0 0 0 3px rgba(64,128,185,.25); }
#order-standard_cart .prepend-icon .field-icon { color: var(--iv-muted); }
#order-standard_cart .alert-info { background: var(--iv-sky); border-color: #CFE0F0; color: var(--iv-ink); border-radius: 14px; }
#order-standard_cart .alert-warning { background: var(--iv-cream-2); border-color: #EADFA8; color: #5C4600; border-radius: 14px; }

/* Modals inside the cart */
#order-standard_cart .modal-content { border-radius: 20px; border: 1px solid var(--iv-line); }
#order-standard_cart .modal-header { background: var(--iv-navy); color: var(--iv-white); border-radius: 20px 20px 0 0; }
#order-standard_cart .modal-header .modal-title, #order-standard_cart .modal-header .close { color: var(--iv-white); }
