/* foxpress.cloud cart overrides - loads after all.min.css */

/* Base font size bump */
#order-standard_cart {
    font-size: 15px;
}
#order-standard_cart label,
#order-standard_cart p {
    font-size: 15px;
    font-weight: 400;
    color: #374151;
}

/* Product description (feature list, addons) */
#order-standard_cart .product-desc,
#order-standard_cart .product-desc p,
#order-standard_cart .product-desc ul,
#order-standard_cart .product-desc li,
#order-standard_cart .product-desc strong {
    font-size: 15px;
}

/* Addon products */
#order-standard_cart .addon-products .panel-body,
#order-standard_cart .addon-products label,
#order-standard_cart .addon-promo-container {
    font-size: 15px;
}

/* Order summary */
#order-standard_cart .order-summary .summary-container,
#order-standard_cart .order-summary .clearfix,
#order-standard_cart .order-summary .bordered-totals,
#order-standard_cart .order-summary .recurring-charges,
#order-standard_cart .order-summary .product-group {
    font-size: 15px;
}
#order-standard_cart .order-summary .subtotal {
    font-size: 1.05em;
}
#order-standard_cart .order-summary .product-name {
    font-size: 1.1em;
}

/* Configurable options */
#order-standard_cart .configurable-options label,
#order-standard_cart .configurable-options select,
#order-standard_cart .configurable-options input {
    font-size: 15px;
}

/* Checkout form */
#order-standard_cart .field,
#order-standard_cart .form-control,
#order-standard_cart .sub-heading span {
    font-size: 15px;
}

/* View cart item rows */
#order-standard_cart .view-cart-items-header,
#order-standard_cart .item,
#order-standard_cart .item-info {
    font-size: 15px;
}

/* Fox-blue buttons - !important to override theme variables */
.btn-success,
.btn-success:focus,
.btn-success.focus,
.btn-success:active,
.btn-success:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled).active,
.btn-success.disabled,
.btn-success:disabled,
#order-standard_cart .btn-success,
#order-standard_cart .btn-primary,
#order-standard_cart .btn-checkout,
#checkout {
    background-color: #3b8dbd !important;
    border-color: #3b8dbd !important;
    color: #fff !important;
}
.btn-success:hover,
.btn-success:not(:disabled):not(.disabled):hover,
#order-standard_cart .btn-success:hover,
#order-standard_cart .btn-primary:hover,
#order-standard_cart .btn-checkout:hover,
#checkout:hover {
    background-color: #2f7aaa !important;
    border-color: #2f7aaa !important;
    color: #fff !important;
}

/* Checkout page: constrain width and fix form layout */
/* Checkout: not used, see cart-body constraint */
#order-standard_cart .checkout-unused {
    max-width: 720px;
    margin: 0 auto;
}
#order-standard_cart #containerNewUserSignup,
#order-standard_cart #containerExistingUserSignin {
    max-width: 720px;
    margin: 0 auto;
}
#order-standard_cart .already-registered {
    max-width: 720px;
    margin: 0 auto 20px;
}
#order-standard_cart .checkout .field-container,
#order-standard_cart .checkout .form-group {
    max-width: 100%;
}

/* Fix btn-outline-primary (Create New Account) to fox-blue */
.btn-outline-primary,
#order-standard_cart .btn-outline-primary {
    color: #3b8dbd !important;
    border-color: #3b8dbd !important;
    background-color: transparent !important;
}
.btn-outline-primary:hover,
#order-standard_cart .btn-outline-primary:hover {
    color: #fff !important;
    background-color: #3b8dbd !important;
    border-color: #3b8dbd !important;
}

/* Checkout page overall width - the checkout form is just inside .cart-body */
/* Use the body class or detect checkout via the header text */
#order-standard_cart .cart-body .already-registered,
#order-standard_cart .cart-body #containerNewUserSignup,
#order-standard_cart .cart-body #containerExistingUserSignin,
#order-standard_cart .cart-body #containerExistingAccountSelect,
#order-standard_cart .cart-body #containerNewUserSecurity,
#order-standard_cart .cart-body .order-payment,
#order-standard_cart .cart-body .view-cart-gateway-checkout,
#order-standard_cart .cart-body .order-summary {
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}

/* Payment details, total, and submit button - same narrow width */
#order-standard_cart .cart-body .sub-heading,
#order-standard_cart .cart-body #totalDueToday,
#order-standard_cart .cart-body #applyCreditContainer,
#order-standard_cart .cart-body #paymentGatewaysContainer,
#order-standard_cart .cart-body .assisted-cc-input,
#order-standard_cart .cart-body .gateway-errors,
#order-standard_cart .cart-body .remote-input,
#order-standard_cart .cart-body #existingCardsContainer,
#order-standard_cart .cart-body #existingCardInfo,
#order-standard_cart .cart-body #newCardInfo,
#order-standard_cart .cart-body .text-center,
#order-standard_cart .cart-body #btnCompleteOrder,
#order-standard_cart .cart-body .alert {
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}

/* Order summary configurable option lines - smaller text */
#order-standard_cart .order-summary .summary-container .clearfix,
#order-standard_cart .order-summary .summary-container .small,
#order-standard_cart .order-summary .summary-container small {
    font-size: 13px;
}
#order-standard_cart .order-summary .summary-container .sub-options,
#order-standard_cart .order-summary .summary-container .line-item {
    font-size: 13px;
}
/* The » configurable option lines */
#order-standard_cart .order-summary .product-pricing-list,
#order-standard_cart .order-summary .product-pricing-list li {
    font-size: 13px;
}

/* Order summary: config option lines and totals - smaller text */
#order-standard_cart #producttotal .clearfix,
#order-standard_cart #producttotal .summary-totals .clearfix,
#order-standard_cart #orderSummary #producttotal {
    font-size: 13px;
    line-height: 1.6;
}
#order-standard_cart #producttotal .product-name {
    font-size: 15px;
}
#order-standard_cart #producttotal .product-group {
    font-size: 13px;
}
#order-standard_cart #producttotal .total-due-today {
    font-size: 14px;
}
#order-standard_cart #producttotal .total-due-today .amt {
    font-size: 1.6em;
}

/* Product group landing page (productgroups.tpl) */
#product-groups .product-group-card {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}
#product-groups .product-group-card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.10);
    transform: translateY(-2px);
}
#product-groups .product-group-icon {
    font-size: 2.4rem;
    color: #16a34a;
}
#product-groups .product-group-name {
    font-size: 1.15rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 0.5rem;
}
#product-groups .product-group-tagline {
    font-size: 0.9rem;
    color: #6b7280;
    line-height: 1.5;
    margin-bottom: 0;
}
#product-groups .card-footer {
    background: transparent;
    border-top: 1px solid #f3f4f6;
    padding: 1rem;
}

/* Add-ons page: category section headings */
#order-standard_cart .addon-category-header {
    margin-top: 2rem;
    margin-bottom: 0.5rem;
}
#order-standard_cart .addon-category-header:first-of-type {
    margin-top: 1rem;
}
#order-standard_cart .addon-category-title {
    font-size: 1.2rem;
    font-weight: 700;
    color: #1e3a5f;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom: 2px solid #3b8dbd;
    padding-bottom: 0.35rem;
    margin-bottom: 0;
}
