/* MedStore B2B – custom styles on top of Tailwind */
html { scroll-behavior: smooth; }
::-webkit-scrollbar { width: 7px; height: 7px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.custom-logo { max-height: 44px; width: auto; }

/* Cards */
.product-card { transition: all .25s ease-in-out; }
.product-card:hover { transform: translateY(-3px); box-shadow: 0 10px 25px -5px rgba(27,77,179,.12), 0 8px 10px -6px rgba(0,0,0,.04); }

/* Tab nav active state (WP menu classes) */
.mb-nav .current-menu-item > a,
.mb-nav .current_page_item > a,
.mb-nav .current-menu-ancestor > a,
.mb-nav a.is-active { color: #1b4db3; border-bottom: 2.5px solid #1b4db3; font-weight: 700; border-radius: 0; }
.mb-nav ul { display: flex; align-items: center; gap: .25rem; list-style: none; margin: 0; padding: 0; }

/* Product tabs */
.mb-tab.is-active { color: #1b4db3; border-bottom: 2px solid #1b4db3; }

/* Catalog list layout */
.mb-products.is-list { display: flex; flex-direction: column; gap: .75rem; }
.mb-products.is-list .mb-card { flex-direction: row; align-items: center; gap: 1rem; padding: 1rem; }
.mb-products.is-list .mb-card-main { display: flex; align-items: center; gap: 1rem; flex: 1; min-width: 0; }
.mb-products.is-list .mb-card-top { display: none; }
.mb-products.is-list .mb-card-media { width: 5rem; height: 5rem; flex-shrink: 0; margin: 0; }
.mb-products.is-list .mb-card-foot { border: 0; margin: 0; padding: 0; min-width: 170px; text-align: right; }
.mb-products.is-list .mb-card-price { justify-content: flex-end; }
@media (max-width: 639px) {
	.mb-products.is-list .mb-card { flex-direction: column; align-items: stretch; }
	.mb-products.is-list .mb-card-foot { text-align: left; }
	.mb-products.is-list .mb-card-price { justify-content: flex-start; }
}
.mb-layout-btn.is-active { background: #fff; color: #1b4db3; box-shadow: 0 1px 2px rgba(0,0,0,.06); }

/* Rich text */
.mb-entry p { margin: 0 0 1em; line-height: 1.7; }
.mb-entry h2 { font-size: 1.25rem; font-weight: 700; margin: 1.4em 0 .5em; color: #0f172a; }
.mb-entry h3 { font-size: 1.05rem; font-weight: 700; margin: 1.2em 0 .5em; color: #0f172a; }
.mb-entry ul { list-style: disc; padding-left: 1.25rem; margin-bottom: 1em; }
.mb-entry ol { list-style: decimal; padding-left: 1.25rem; margin-bottom: 1em; }
.mb-entry a { color: #1b4db3; text-decoration: underline; }
.mb-entry img { max-width: 100%; height: auto; border-radius: .75rem; }

/* ---------- WooCommerce general ---------- */
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button,
.woocommerce #respond input#submit {
	background: #1b4db3; color: #fff; border-radius: .5rem; font-size: .75rem; font-weight: 600; padding: .55rem 1rem; border: 0; line-height: 1.4;
}
.woocommerce .button:hover, .woocommerce button.button:hover, .woocommerce a.button:hover { background: #1d4ed8; color: #fff; }
.woocommerce .button.alt, .woocommerce button.button.alt { background: #f97316; }
.woocommerce .button.alt:hover, .woocommerce button.button.alt:hover { background: #ea580c; }
.woocommerce .button:disabled, .woocommerce button.button:disabled[disabled] { opacity: .5; padding: .55rem 1rem; color: #fff; }
.mb-update-cart.button { background: #fff !important; color: #1b4db3 !important; border: 1px solid #bfdbfe !important; }

.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice {
	border-radius: .75rem; font-size: .8rem; border-top-width: 3px; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.woocommerce-message { border-top-color: #10b981; }
.woocommerce-message::before { color: #10b981; }
.woocommerce-info { border-top-color: #1b4db3; }
.woocommerce-info::before { color: #1b4db3; }
.woocommerce-error { border-top-color: #ef4444; }
.woocommerce-notices-wrapper:empty { display: none; }

.woocommerce form .form-row { padding: 0; margin: 0 0 .75rem; }
.woocommerce form .form-row label { font-size: .75rem; font-weight: 600; color: #334155; margin-bottom: .25rem; line-height: 1.4; }
.woocommerce form .form-row .input-text, .woocommerce form .form-row select, .woocommerce form .form-row textarea,
.woocommerce .select2-container .select2-selection--single {
	border: 1px solid #cbd5e1; border-radius: .5rem; padding: .5rem .75rem; font-size: .8rem; color: #1e293b; background: #fff; min-height: 38px;
}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height: 22px; padding: 0; }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { top: 6px; }
.woocommerce form .form-row .input-text:focus, .woocommerce form .form-row select:focus { outline: none; border-color: #1b4db3; }
.woocommerce form .form-row.woocommerce-invalid .input-text { border-color: #ef4444; }
@media (min-width: 640px) {
	.woocommerce .woocommerce-billing-fields__field-wrapper, .woocommerce .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; column-gap: .75rem; }
	.woocommerce .woocommerce-billing-fields__field-wrapper .form-row-wide,
	.woocommerce .woocommerce-shipping-fields__field-wrapper .form-row-wide { grid-column: span 2; }
	.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: auto; float: none; }
}
.woocommerce-billing-fields > h3, .woocommerce-additional-fields > h3 { display: none; }
#ship-to-different-address { font-size: .8rem; font-weight: 700; color: #0f172a; margin: .75rem 0; }

/* Quantity inputs inside +/- wrappers */
[data-mb-qty] .quantity { display: inline-flex; }
[data-mb-qty] .quantity .qty, [data-mb-qty] input.qty { width: 3rem; border: 0; text-align: center; font-size: .75rem; font-weight: 700; -moz-appearance: textfield; background: transparent; }
[data-mb-qty] input::-webkit-outer-spin-button, [data-mb-qty] input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Cart totals card */
.cart-collaterals .cart_totals { width: 100% !important; float: none !important; background: #fff; border: 1px solid #e2e8f0; border-radius: .75rem; padding: 1.25rem; }
.cart-collaterals .cart_totals h2 { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #0f172a; padding-bottom: .5rem; border-bottom: 1px solid #f1f5f9; margin-bottom: .75rem; }
.cart_totals table.shop_table, .woocommerce-checkout-review-order-table { border: 0 !important; font-size: .75rem; color: #475569; margin: 0 !important; border-radius: 0 !important; }
.cart_totals table.shop_table th, .cart_totals table.shop_table td,
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { border: 0 !important; padding: .4rem 0 !important; background: transparent !important; }
.cart_totals table.shop_table td, .woocommerce-checkout-review-order-table td { text-align: right; font-weight: 600; color: #1e293b; }
.cart_totals .order-total th, .cart_totals .order-total td,
.woocommerce-checkout-review-order-table .order-total th, .woocommerce-checkout-review-order-table .order-total td { border-top: 1px solid #e2e8f0 !important; padding-top: .75rem !important; font-size: .9rem; color: #0d254c; font-weight: 800; }
.cart_totals .cart-discount td, .woocommerce-checkout-review-order-table .cart-discount td { color: #059669; }
.woocommerce-checkout-review-order-table thead { display: none; }
.woocommerce-checkout-review-order-table .cart_item td.product-name { text-align: left; font-weight: 500; color: #475569; }
.woocommerce-shipping-methods { text-align: left; }
.woocommerce-shipping-methods li { margin-bottom: .35rem; }
.wc-proceed-to-checkout { padding: 1rem 0 0 !important; }
.wc-proceed-to-checkout a.checkout-button { background: #f97316 !important; border-radius: .5rem !important; font-size: .9rem !important; padding: .8rem !important; }
.wc-proceed-to-checkout a.checkout-button:hover { background: #ea580c !important; }

/* Payment methods */
.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { border: 0; padding: 0; display: grid; gap: .5rem; }
.woocommerce-checkout #payment ul.payment_methods li { border: 1px solid #e2e8f0; border-radius: .75rem; padding: .75rem; font-size: .8rem; font-weight: 700; color: #0f172a; list-style: none; }
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) { border: 2px solid #1b4db3; background: rgba(239,246,255,.5); }
.woocommerce-checkout #payment div.payment_box { background: #f8fafc; font-size: .72rem; color: #64748b; font-weight: 400; border-radius: .5rem; margin-top: .5rem; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment div.form-row { padding: 1rem 0 0; }
.woocommerce-checkout #payment #place_order { width: 100%; float: none; background: #059669; font-size: .9rem; padding: .85rem; border-radius: .5rem; font-weight: 700; }
.woocommerce-checkout #payment #place_order:hover { background: #047857; }
.woocommerce-terms-and-conditions-wrapper { font-size: .72rem; color: #64748b; }

/* Pagination, ordering */
.woocommerce nav.woocommerce-pagination ul, .mb-pagination .nav-links { border: 0; display: flex; gap: .25rem; justify-content: flex-end; margin-top: 1.5rem; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span,
.mb-pagination .page-numbers { border: 1px solid #e2e8f0; border-radius: .375rem; padding: .35rem .7rem; font-size: .75rem; background: #fff; color: #475569; }
.woocommerce nav.woocommerce-pagination ul li span.current, .mb-pagination .page-numbers.current { background: #1b4db3; color: #fff; border-color: #1b4db3; font-weight: 700; }
.woocommerce-ordering { margin: 0 !important; }
.woocommerce-ordering select { border: 1px solid #e2e8f0; border-radius: .5rem; font-size: .75rem; padding: .4rem .6rem; background: #fff; color: #334155; }

/* Related products */
.mb-related .related > h2 { font-size: 1rem; font-weight: 700; color: #0f172a; margin-bottom: .75rem; }

/* Reviews */
.mb-reviews .commentlist { list-style: none; padding: 0; }
.mb-reviews .comment_container { display: flex; gap: .75rem; padding: .75rem 0; border-bottom: 1px solid #f1f5f9; }
.mb-reviews img.avatar { width: 40px; height: 40px; border-radius: 999px; }
.mb-reviews .comment-form textarea, .mb-reviews .comment-form input[type=text], .mb-reviews .comment-form input[type=email] {
	width: 100%; border: 1px solid #cbd5e1; border-radius: .5rem; padding: .5rem .75rem; font-size: .8rem;
}
.mb-reviews .comment-reply-title { font-weight: 700; font-size: .9rem; display: block; margin: 1rem 0 .5rem; }

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; background: #fff; border: 1px solid #e2e8f0; border-radius: .75rem; overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: .6rem 1rem; font-size: .8rem; color: #334155; border-bottom: 1px solid #f1f5f9; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: #1b4db3; font-weight: 700; background: #eff6ff; }
.woocommerce-account .woocommerce-MyAccount-content { background: #fff; border: 1px solid #e2e8f0; border-radius: .75rem; padding: 1.25rem; font-size: .85rem; }
.woocommerce table.shop_table { border-radius: .75rem; font-size: .8rem; background: #fff; }

/* Order details on thank-you */
.mb-order-details h2 { font-size: .95rem; font-weight: 700; margin-bottom: .5rem; color: #0f172a; }
.mb-order-details:empty { display: none; }

/* Variable product form */
.mb-wc-cart table.variations select { border: 1px solid #cbd5e1; border-radius: .5rem; padding: .4rem .6rem; font-size: .8rem; }

@media print {
	header, footer, aside, nav, #toast, #rfq-modal, .mb-related { display: none !important; }
}
