/* FaceServers Cart Theme - Overrides for standard_cart */

/* Product cards */
.product {
    background-color: #333 !important;
    border: 1px solid #444 !important;
    border-radius: 1.25rem !important;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
    transition: all 0.25s ease;
    margin-bottom: 1.5rem;
    overflow: hidden !important;
}

.product:hover {
    border-color: #ac8e13 !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 25px rgba(172, 142, 19, 0.15);
}

#order-standard_cart .products .product header,
.product header {
    background-color: #2a2a2a !important;
    border-bottom: 1px solid #444 !important;
    padding: 1rem 1.5rem !important;
}

#order-standard_cart .products .product header span,
.product header span {
    color: #fff !important;
    font-weight: 800;
    font-size: 1.1rem;
}

/* Product description area - fix white bg + white text */
#order-standard_cart .products .product div.product-desc,
#order-standard_cart .products .product div.product-desc .wrapper-vertical,
#order-standard_cart .products .product div.product-desc p {
    background-color: transparent !important;
    color: #838383 !important;
}

#order-standard_cart .products .product div.product-desc h3,
#order-standard_cart .products .product div.product-desc h5,
#order-standard_cart .products .product div.product-desc .wrapper-vertical h3,
#order-standard_cart .products .product div.product-desc .wrapper-vertical h5 {
    color: #fff !important;
}

#order-standard_cart .products .product div.product-desc li,
#order-standard_cart .products .product div.product-desc .wrapper-vertical li,
#order-standard_cart .products .product div.product-desc ul li,
#order-standard_cart .products .product div.product-desc .wrapper-vertical ul li {
    color: #838383 !important;
}

#order-standard_cart .products .product div.product-desc .wrapper-vertical p {
    color: #838383 !important;
}

/* Product info area on config page - override standard_cart light background */
#order-standard_cart .product-info {
    background-color: #333 !important;
    border-top: 1px solid #444 !important;
    border-bottom: 1px solid #444 !important;
}

/* Choose Account section - override light theme for logged-in users */
.account-select-container,
.account-select-container > .col-sm-12,
.account-select-container .account,
.account-select-container .border-bottom {
    background-color: #333 !important;
    border-color: #444 !important;
}

.account-select-container *,
.account-select-container .radio-inline,
.account-select-container label {
    background-color: transparent !important;
    color: #cecece !important;
}

.account-select-container h3,
.account-select-container h4,
.account-select-container h5 {
    color: #fff !important;
}

#order-standard_cart .product-info *,
#order-standard_cart .product-info p,
#order-standard_cart .product-info li {
    background-color: transparent !important;
    color: #838383 !important;
}

#order-standard_cart .product-info h3,
#order-standard_cart .product-info h4,
#order-standard_cart .product-info h5 {
    color: #fff !important;
}

/* Sub-headings - "Configurable Options", "Additional Information" */
#order-standard_cart .sub-heading {
    border-top-color: #444 !important;
}

#order-standard_cart .sub-heading span,
#order-standard_cart .sub-heading-borderless span {
    color: #fff !important;
    background-color: #3d3d3d !important;
    font-weight: 800 !important;
    padding: 0 20px !important;
}

#order-standard_cart .sub-heading span.primary-bg-color {
    background-color: #3d3d3d !important;
    color: #fff !important;
}

/* Configurable options radio button padding */
#order-standard_cart #productConfigurableOptions,
#order-standard_cart #productAddonsContainer {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

.product footer {
    border-top: 1px solid #444 !important;
}

/* Pricing */
.product-pricing, .price {
    color: #fff !important;
    font-weight: 800;
}

.product-pricing br + span.price {
    font-size: 1.5rem;
    color: #ac8e13 !important;
}

/* Order Now buttons */
.btn-order-now, .btn-success {
    background-color: rgba(255, 204, 0, 0.6) !important;
    border-color: rgba(255, 204, 0, 0.6) !important;
    color: #fff !important;
    font-weight: 800;
    text-transform: uppercase;
    border-radius: 0.5rem !important;
}

.btn-order-now:hover, .btn-success:hover {
    background-color: rgba(255, 204, 0, 0.75) !important;
    border-color: rgba(255, 204, 0, 0.75) !important;
}

/* Config page panels - Configurable Options, Additional Information */
#productConfigurableOptions,
#productAddonsContainer {
    background-color: #333 !important;
    border: 1px solid #444 !important;
    border-radius: 1.25rem !important;
}

/* Panel header alignment - fix line break misalignment */
.panel-heading .panel-title,
.card-header .card-title {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    border-bottom: none !important;
    padding-bottom: 0.75rem !important;
    margin-bottom: 0 !important;
}

.panel-heading .panel-title i,
.card-header .card-title i {
    flex-shrink: 0 !important;
}

.panel-heading .panel-title .pull-right,
.panel-heading .panel-title .float-right,
.card-header .card-title .pull-right,
.card-header .card-title .float-right {
    margin-left: auto !important;
    flex-shrink: 0 !important;
}

/* Ensure panel heading has the border, not the title */
.panel-heading,
.card-header {
    border-bottom: 1px solid #444 !important;
}

/* Order Summary panel */
#orderSummary,
.order-summary-panel {
    background-color: #333 !important;
    border: 1px solid #444 !important;
    border-radius: 1.25rem !important;
}

#producttotal {
    color: #cecece !important;
}

/* Sidebar panels */
.cart-sidebar .panel, .cart-sidebar .card {
    background-color: #333 !important;
    border: 1px solid #444 !important;
    border-radius: 1.25rem !important;
}

.panel-heading, .card-header {
    background-color: #2a2a2a !important;
    border-bottom: 1px solid #444 !important;
}

.panel-title, .card-title {
    color: #fff !important;
    font-weight: 800;
    border-bottom: none !important;
}

.panel-body, .card-body {
    background-color: #333 !important;
    color: #838383;
}

/* Sidebar list items */
.list-group-item {
    background-color: transparent !important;
    border-color: #444 !important;
    color: #838383 !important;
    transition: all 0.25s ease;
}

.list-group-item:hover, .list-group-item.active {
    background-color: #2a2a2a !important;
    color: #ac8e13 !important;
    border-color: #ac8e13 !important;
}

/* Product category/action panels in cart body */
.cart-body .panel, .cart-body .card {
    background-color: #333 !important;
    border: 1px solid #444 !important;
    border-radius: 1.25rem !important;
}

/* Select dropdowns */
.form-control, .custom-select, select {
    background-color: #2a2a2a !important;
    border-color: #444 !important;
    color: #cecece !important;
    border-radius: 0.5rem !important;
}

/* Header lined section - store page top header */
.cart-body .header-lined,
#order-standard_cart .header-lined {
    background-color: #2a2a2a !important;
    border-radius: 1.25rem !important;
    padding: 2rem !important;
    margin-bottom: 2rem !important;
}

.cart-body .header-lined h1,
#order-standard_cart .header-lined h1,
.cart-body .header-lined .font-size-36,
#order-standard_cart .header-lined .font-size-36 {
    color: #fff !important;
    font-weight: 800 !important;
    text-shadow: none !important;
}

.cart-body .header-lined p,
#order-standard_cart .header-lined p {
    color: #cecece !important;
}

/* Cart body background */
.cart-body {
    background-color: transparent !important;
}

/* Modal - BS3 .in class fix for BS4 CSS */
.modal.fade.in {
    opacity: 1 !important;
}

.modal-content {
    background-color: #333 !important;
    border: 1px solid #444 !important;
    border-radius: 1.25rem !important;
}

.modal-header {
    border-bottom: 1px solid #444 !important;
}

.modal-footer {
    border-top: 1px solid #444 !important;
}

.modal-title, .modal-header h4 {
    color: #fff !important;
    font-weight: 800;
}

.close {
    color: #838383 !important;
    text-shadow: none !important;
}

/* Sidebar collapsed toggle area */
.sidebar-collapsed .panel, .sidebar-collapsed .card {
    background-color: #333 !important;
    border: 1px solid #444 !important;
    border-radius: 1.25rem !important;
    margin-bottom: 1rem;
}

/* General text colors */
#order-standard_cart p,
#order-standard_cart li,
#order-standard_cart span {
    color: #838383;
}

#order-standard_cart h1,
#order-standard_cart h2,
#order-standard_cart h3,
#order-standard_cart h4,
#order-standard_cart h5 {
    color: #fff !important;
    font-weight: 800;
}

/* Checkout page - form fields and tables */
#order-standard_cart .field,
#order-standard_cart input[type="text"],
#order-standard_cart input[type="email"],
#order-standard_cart input[type="password"],
#order-standard_cart input[type="tel"],
#order-standard_cart select,
#order-standard_cart textarea {
    background-color: #2a2a2a !important;
    border-color: #444 !important;
    color: #cecece !important;
    border-radius: 0.5rem !important;
}

#order-standard_cart .field:focus,
#order-standard_cart input:focus,
#order-standard_cart select:focus,
#order-standard_cart textarea:focus {
    background-color: #1f1f1f !important;
    border-color: #ac8e13 !important;
    color: #fff !important;
}

/* Checkout tables */
#order-standard_cart table {
    background-color: #333 !important;
    border-color: #444 !important;
}

#order-standard_cart table th {
    background-color: #2a2a2a !important;
    color: #fff !important;
    border-color: #444 !important;
}

#order-standard_cart table td {
    border-color: #444 !important;
    color: #838383 !important;
}

/* Checkout labels */
#order-standard_cart label,
#order-standard_cart .field-icon {
    color: #cecece !important;
}

/* iCheck radio/checkbox overrides for dark theme */
#order-standard_cart .icheckbox_square-blue,
#order-standard_cart .iradio_square-blue {
    background-color: #2a2a2a !important;
    border-color: #444 !important;
}

/* Field groups on checkout */
#order-standard_cart .form-group,
#order-standard_cart .prepend-icon {
    margin-bottom: 15px;
}

/* Checkout billing/shipping panels */
#order-standard_cart .panel-default,
#order-standard_cart .card-default {
    background-color: #333 !important;
    border-color: #444 !important;
}

/* Complete order button */
#order-standard_cart #btnCompleteOrder,
#order-standard_cart .btn-complete-order {
    background-color: rgba(255, 204, 0, 0.6) !important;
    border-color: rgba(255, 204, 0, 0.6) !important;
    color: #fff !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    border-radius: 0.5rem !important;
}

#order-standard_cart #btnCompleteOrder:hover,
#order-standard_cart .btn-complete-order:hover {
    background-color: rgba(255, 204, 0, 0.75) !important;
}

/* Review & Checkout page - cart items header */
#order-standard_cart .view-cart-items-header {
    background-color: #333 !important;
    border-radius: 1rem !important;
    padding: 1rem !important;
    margin-bottom: 1rem !important;
}

#order-standard_cart .view-cart-items-header div,
#order-standard_cart .view-cart-items-header span {
    color: #fff !important;
    font-weight: 800 !important;
}

/* Review & Checkout page - cart items */
#order-standard_cart .item {
    background-color: #333 !important;
    border: 1px solid #444 !important;
    border-radius: 1rem !important;
    margin-bottom: 1rem !important;
}

#order-standard_cart .item .item-title,
#order-standard_cart .item .item-group {
    color: #cecece !important;
}

#order-standard_cart .item .item-price span {
    color: #fff !important;
    font-weight: 800 !important;
}

/* Review & Checkout page - tabs */
#order-standard_cart .view-cart-tabs .nav-tabs {
    border-bottom-color: #444 !important;
}

#order-standard_cart .view-cart-tabs .nav-link {
    color: #838383 !important;
    background-color: #333 !important;
    border-color: #444 !important;
    border-radius: 0.5rem 0.5rem 0 0 !important;
}

#order-standard_cart .view-cart-tabs .nav-link.active,
#order-standard_cart .view-cart-tabs .nav-link:hover {
    color: #fff !important;
    background-color: #2a2a2a !important;
    border-bottom-color: #2a2a2a !important;
}

#order-standard_cart .tab-content {
    background-color: #333 !important;
    border: 1px solid #444 !important;
    border-top: none !important;
    border-radius: 0 0 1rem 1rem !important;
}

/* Review & Checkout page - order summary */
#order-standard_cart .order-summary {
    background-color: #333 !important;
    border: 1px solid #444 !important;
    border-radius: 1.25rem !important;
    padding: 1.5rem !important;
}

#order-standard_cart .order-summary h2,
#order-standard_cart .order-summary .font-size-30 {
    color: #fff !important;
    font-weight: 800 !important;
}

#order-standard_cart .order-summary .subtotal span,
#order-standard_cart .order-summary .bordered-totals span,
#order-standard_cart .order-summary .recurring-totals span {
    color: #cecece !important;
}

#order-standard_cart .order-summary .total-due-today {
    background-color: #2a2a2a !important;
    border-radius: 0.5rem !important;
    padding: 1rem !important;
    margin-top: 1rem !important;
}

#order-standard_cart .order-summary .total-due-today .amt {
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 1.25rem !important;
}

/* Order summary container - override standard_cart light background */
#order-standard_cart .summary-container {
    background-color: #2a2a2a !important;
    border-radius: 1rem !important;
    padding: 1.5rem !important;
    font-size: 0.9rem !important;
}

#order-standard_cart .summary-container .subtotal,
#order-standard_cart .summary-container .bordered-totals,
#order-standard_cart .summary-container .recurring-totals {
    color: #cecece !important;
}

#order-standard_cart .summary-container .total-due-today {
    background-color: #333 !important;
    border-radius: 0.5rem !important;
    padding: 1rem !important;
    margin-top: 1rem !important;
}

#order-standard_cart .summary-container .amt {
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 1.25rem !important;
}

/* Review & Checkout page - buttons */
#order-standard_cart .btn-default,
.modal-footer .btn-default,
body .modal .btn-default {
    background-color: rgba(255, 204, 0, 0.6) !important;
    border-color: rgba(255, 204, 0, 0.6) !important;
    color: #fff !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    border-radius: 0.5rem !important;
}

#order-standard_cart .btn-default:hover {
    background-color: rgba(255, 204, 0, 0.75) !important;
}

#order-standard_cart .btn-success,
#order-standard_cart .btn-checkout {
    background-color: rgba(255, 204, 0, 0.6) !important;
    border-color: rgba(255, 204, 0, 0.6) !important;
    color: #fff !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    border-radius: 0.5rem !important;
}

#order-standard_cart .btn-success:hover,
#order-standard_cart .btn-checkout:hover {
    background-color: rgba(255, 204, 0, 0.75) !important;
}

#order-standard_cart .btn-link {
    color: #ac8e13 !important;
}

#order-standard_cart .btn-link:hover {
    color: rgba(255, 204, 0, 0.9) !important;
}

/* Review & Checkout page - secondary cart body */
#order-standard_cart .secondary-cart-body {
    background-color: transparent !important;
}

/* Review & Checkout page - empty cart button */
#order-standard_cart .empty-cart {
    text-align: right !important;
    margin-top: 1rem !important;
}

/* Issue #2: Product remove X button - add padding to right side of item row */
#order-standard_cart .item .row {
    padding-right: 20px !important;
}

/* Issue #3: Order Summary - reasonable width without pop-out */
#order-standard_cart #orderSummary {
    min-width: 350px !important;
}

#order-standard_cart .order-summary,
#order-standard_cart .summary-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Issue #4: "Click here" link readability - alert-link override */
#order-standard_cart .alert-link,
.alert .alert-link {
    color: #ac8e13 !important;
    font-weight: 600;
}

/* Issue #6: Empty Cart button - fix text readability on gold bg */
#order-standard_cart .empty-cart .btn-link {
    color: #333 !important;
    background: none !important;
    border: none !important;
}

#order-standard_cart .empty-cart .btn-link span,
#order-standard_cart .empty-cart .btn-link i {
    color: #333 !important;
}

#order-standard_cart .empty-cart .btn-default,
#order-standard_cart .empty-cart .btn {
    background-color: rgba(255, 204, 0, 0.6) !important;
    border-color: rgba(255, 204, 0, 0.6) !important;
    color: #fff !important;
}

/* Issue #7: Mailing list checkbox - left of "Join our mailing list" */
#order-standard_cart .marketing-email-optin {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 2rem !important;
}

#order-standard_cart .marketing-email-optin input[type="checkbox"] {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
}

#order-standard_cart .marketing-email-optin h4 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin-bottom: 0 !important;
}

#order-standard_cart .marketing-email-optin p {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin-top: 4px !important;
}

/* Issue #8: Price color consistency - highlight price amount */
#order-standard_cart .product-pricing span.price,
#order-standard_cart .price strong,
#order-standard_cart .pricing-amount {
    color: #ac8e13 !important;
    font-weight: 800;
}

/* Match configurable options price style for non-configurable products */
#order-standard_cart .product-pricing br + span.price,
#order-standard_cart .product-pricing > span.price,
#order-standard_cart .price {
    font-size: 1.5rem !important;
    color: #ac8e13 !important;
}

/* Credit card input container - override standard_cart light background */
#order-standard_cart .cc-input-container {
    background-color: #2a2a2a !important;
    border: 1px solid #444 !important;
    border-radius: 1rem !important;
}

#order-standard_cart .cc-input-container label,
#order-standard_cart .cc-input-container .field-icon {
    color: #cecece !important;
}

#order-standard_cart .cc-input-container input[type="tel"],
#order-standard_cart .cc-input-container input[type="text"] {
    background-color: #333 !important;
    border-color: #444 !important;
    color: #cecece !important;
}

#order-standard_cart .cc-input-container .btn-default {
    background-color: #444 !important;
    border-color: #555 !important;
    color: #cecece !important;
}

/* Payment method radio buttons */
#order-standard_cart .payment-methods li label,
#order-standard_cart .radio-inline label {
    color: #cecece !important;
}

/* Password strength meter on checkout */
#passwdFeedback {
    background-color: #2a2a2a !important;
    border-radius: 0.5rem !important;
    padding: 10px !important;
}

#passwordStrengthTextLabel {
    color: #cecece !important;
}

#passwordStrengthMeter,
#passwordStrengthMeter .progress {
    background-color: #333 !important;
    border-radius: 0.5rem !important;
}
