:root {
    --ot-blue: #5a5ce6;
    --ot-orange: #ff6b00;
    --ot-bg: #fafafc;
    --ot-text: #0f172a;
    --ot-muted: #64748b;
    --ot-border: #eef0f6;
    --ot-radius: 18px;
    --ot-shadow: 0 10px 30px -10px rgba(90, 92, 230, .10);
}

html, body { max-width: 100%; overflow-x: hidden; }
body { background: var(--ot-bg); color: var(--ot-text); }
#product-detailPage .f-carousel { overflow: hidden; }
.main-page { min-height: 60vh; }
.main-page > .modern-shell + * { position: relative; }

/* Shared legacy surfaces */
.border, .card, .order-card, .product-detail, .account-info__form,
.wallet-info, .transaction-history, .form-address, .checkout-right,
.order-summary, .address-item, .payment-methods, .no-result-message {
    border-color: var(--ot-border) !important;
}
.card, .order-card, .product-detail, .wallet-info, .transaction-history,
.checkout-right, .order-summary, .address-item, .payment-methods {
    border-radius: var(--ot-radius) !important;
    box-shadow: var(--ot-shadow);
    background: #fff;
}
.heading, .caption, .product-info__title, .product-detail .title { color: var(--ot-text); font-weight: 800 !important; letter-spacing: -.025em; }
.breadcrumb { padding-top: 24px; }
.breadcrumb a { color: var(--ot-muted); text-decoration: none; }
.breadcrumb .active a { color: var(--ot-blue); }

/* Forms and actions */
.form-control, .form-select, input[type="text"], input[type="email"], input[type="password"], input[type="number"], textarea, select {
    border-color: #e2e8f0;
    border-radius: 12px;
}
.form-control:focus, .form-select:focus, input:focus, textarea:focus, select:focus {
    border-color: var(--ot-blue);
    box-shadow: 0 0 0 3px rgba(90, 92, 230, .12);
}
.btn-primary, .bgc-primary { background: var(--ot-blue) !important; border-color: var(--ot-blue) !important; border-radius: 12px !important; }
.btn-primary:hover, .bgc-primary:hover { background: #4f46e5 !important; }
.color-primary { color: var(--ot-blue) !important; }

/* Product detail */
#product-detailPage { padding-bottom: 40px; }
#product-detailPage .container.mt-4 { background: #fff; border: 1px solid var(--ot-border); border-radius: 24px; box-shadow: var(--ot-shadow); padding: 24px; }
#product-detailPage .f-carousel__slide img { border-radius: 16px; }
#product-detailPage .price-section { border-radius: 16px; background: #f8f9ff; border: 1px solid #eef0ff; }
#product-detailPage .price-section__vnd { color: var(--ot-orange); font-weight: 800; }
#product-detailPage .option { border-radius: 10px; }
#product-detailPage .option.active { border-color: var(--ot-blue); color: var(--ot-blue); background: #f1f2ff; }
#product-detailPage .info-section, #product-detailPage .shipping-fees { border-radius: 16px; background: #fafafa; }

/* Account and checkout */
#profile-page, #cart-page, #track-order-page { padding-bottom: 48px; }
.profile-menu, .account-sidebar { border-radius: var(--ot-radius); box-shadow: var(--ot-shadow); }
.profile-menu__item.active, .profile-menu__item:hover { color: var(--ot-blue); background: #f1f2ff; }
.payment-option { border-radius: 14px !important; }
.payment-option.active { border-color: var(--ot-blue) !important; background: #f5f5ff; }

@media (max-width: 767px) {
    #product-detailPage .container.mt-4 { border-radius: 18px; padding: 14px; }
    .heading { font-size: 24px !important; }
}
