/* ORBIN Leather — brand layer (loaded after theme CSS) */
:root {
	--o-red: #8E1B24;
	--o-red-d: #6F141C;
	--o-red-l: #FBF1F2;
	--o-text: #1C1C1C;
	--o-muted: #666;
	--o-bg: #F6F6F6;
	--o-line: #E7E7E7;
	--o-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans Bengali", "Hind Siliguri", Arial, sans-serif;
}

/* Base */
body, button, input, select, textarea, .button { font-family: var(--o-font) !important; }
body { background: var(--o-bg) !important; color: var(--o-text); }
a { color: var(--o-red); }

/* Header */
.site-header { background: #fff !important; background-image: none !important; border-bottom: 1px solid var(--o-line) !important; }
.site-header .site-branding { padding: 10px 0 !important; }
.site-header .custom-logo-link img, .site-header .site-branding img { max-width: 140px !important; height: auto; }
.storefront-primary-navigation { background: #fff !important; box-shadow: none !important; border-top: 1px solid var(--o-line); }
.main-navigation ul li a, .storefront-primary-navigation a, .site-header-cart .cart-contents, .site-header-cart .cart-contents .amount { color: var(--o-text) !important; }
.site-header-cart .cart-contents::after { color: var(--o-red) !important; }
.site-search .widget_product_search input[type="search"] { border-radius: 8px; }

/* Nav bar: override purple from Customizer CSS */
html body .site-header .storefront-primary-navigation, html body .site-header .main-navigation, html body .site-header .main-navigation ul.nav-menu, html body .site-header .main-navigation ul.menu { background: #fff !important; background-color: #fff !important; }
html body .site-header .main-navigation ul li a { color: var(--o-text) !important; }
html body .site-header .main-navigation ul li a:hover, html body .site-header .main-navigation ul li.current-menu-item > a { color: var(--o-red) !important; }

/* Category chips (inside the header menu bar) */
.storefront-primary-navigation .col-full { display: flex; align-items: center; gap: 16px; }
.storefront-primary-navigation .col-full::before, .storefront-primary-navigation .col-full::after { display: none !important; }
.site-header .orbin-cats { flex: 1 1 auto; min-width: 0; background: transparent; border: 0; }
.storefront-primary-navigation .site-header-cart { flex: 0 0 auto; float: none !important; width: auto !important; margin: 0 0 0 auto !important; }
.orbin-staff-nav { float: left; margin: 0 0 0 28px; padding-top: 26px; }
.orbin-staff-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 14px; }
.orbin-staff-nav li { margin: 0; }
.orbin-staff-nav a { font-size: 13px; color: #555 !important; text-decoration: none; }
.orbin-staff-nav a:hover { color: var(--o-red) !important; }

.orbin-cats { background: #fff; border-bottom: 1px solid var(--o-line); }
.orbin-cats ul { display: flex; gap: 8px; overflow-x: auto; margin: 0; padding: 10px 0; list-style: none; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.orbin-cats ul::-webkit-scrollbar { display: none; }
.orbin-cats li { flex: 0 0 auto; margin: 0; }
.orbin-cats a { display: inline-block; padding: 7px 15px; border: 1px solid var(--o-line); border-radius: 999px; background: #fff; color: var(--o-text); font-size: 14px; font-weight: 600; line-height: 1.3; white-space: nowrap; text-decoration: none !important; }
.orbin-cats a:hover { border-color: var(--o-red); color: var(--o-red); }
.orbin-cats a.is-active { background: var(--o-red); border-color: var(--o-red); color: #fff; }

/* Buttons */
button, input[type="button"], input[type="reset"], input[type="submit"], .button, .added_to_cart,
.widget a.button, button.alt, input[type="button"].alt, input[type="submit"].alt, .button.alt,
.site-main ul.products li.product .button, .single_add_to_cart_button, .storefront-sticky-add-to-cart__content-button {
	background: var(--o-red) !important; border-color: var(--o-red) !important; color: #fff !important;
	border-radius: 8px; font-weight: 700; transition: background-color .15s ease;
}
button:hover, .button:hover, .button.alt:hover, button.alt:hover, input[type="submit"]:hover,
.site-main ul.products li.product .button:hover, .single_add_to_cart_button:hover {
	background: var(--o-red-d) !important; border-color: var(--o-red-d) !important; color: #fff !important;
}
.site-main ul.products li.product .button { display: block; width: 100%; padding: 10px 6px; }

/* Prices & badges */
ul.products li.product .price, .single-product div.product p.price, .price ins, .price ins .amount { color: var(--o-red) !important; font-weight: 700; }
.price del, .price del .amount { color: #999 !important; font-weight: 400; opacity: 1; }
.onsale { background: #fff !important; border: 1px solid var(--o-red) !important; color: var(--o-red) !important; border-radius: 4px; font-weight: 700; }

/* Product cards */
.site-main ul.products li.product { border-radius: 10px; box-shadow: 0 1px 3px rgba(0,0,0,.08) !important; }
.site-main ul.products li.product h2, .site-main ul.products li.product .woocommerce-loop-product__title { font-size: 14px !important; font-weight: 600; color: var(--o-text); line-height: 1.35; }
.site-main ul.products li.product img { border-radius: 6px; }

/* Single product */
.single-product div.product .product_title { color: var(--o-text); font-weight: 700; line-height: 1.3; }
.orbin-pinfo { list-style: none; margin: 0 0 16px; padding: 12px 14px; background: var(--o-red-l); border-radius: 10px; font-size: 14px; line-height: 1.5; }
.orbin-pinfo li { margin: 3px 0; padding-left: 22px; position: relative; }
.orbin-pinfo li::before { content: "✓"; position: absolute; left: 2px; color: var(--o-red); font-weight: 700; }
.single-product div.product form.cart { display: flex; gap: 10px; align-items: stretch; }
.single-product div.product form.cart .quantity { flex: 0 0 72px; margin: 0 !important; }
.single-product div.product form.cart .quantity .qty { width: 100%; height: 100%; text-align: center; border-radius: 8px; }
.single-product div.product form.cart .single_add_to_cart_button { flex: 1; padding: 14px 10px; font-size: 17px; }
.related.products > h2, .upsells.products > h2 { font-size: 18px; font-weight: 700; color: var(--o-text) !important; }
.woocommerce-product-gallery__trigger { background: var(--o-red) !important; color: #fff !important; }
.woocommerce-product-gallery__trigger::before { border-color: #fff !important; }
.woocommerce-product-gallery__trigger::after { background: #fff !important; }
.orbin-pinfo { margin-top: 14px; }

/* Product description (content untouched — presentation only) */
.single-product div.product .woocommerce-product-details__short-description { font-size: 15px; line-height: 1.75; margin-bottom: 14px; }
.single-product div.product .woocommerce-product-details__short-description p { margin: 0 0 8px; }
.single-product div.product .woocommerce-tabs { clear: both; background: #fff; border: 1px solid var(--o-line); border-radius: 12px; padding: 22px 22px 10px; margin: 28px 0 10px; overflow-wrap: anywhere; }
.single-product div.product .woocommerce-tabs > h2 { display: inline-block; font-size: 19px; font-weight: 700; color: var(--o-text); margin: 0 0 16px; padding-bottom: 8px; border-bottom: 3px solid var(--o-red); }
.single-product div.product .woocommerce-tabs p, .single-product div.product .woocommerce-tabs li { font-size: 16px; line-height: 1.85; color: #2A2A2A; }
.single-product div.product .woocommerce-tabs p { margin: 0 0 12px; }
.single-product div.product .woocommerce-tabs h1, .single-product div.product .woocommerce-tabs h3, .single-product div.product .woocommerce-tabs h4, .single-product div.product .woocommerce-tabs h5, .single-product div.product .woocommerce-tabs div > h2 { font-size: 17px; font-weight: 700; line-height: 1.45; color: var(--o-red); margin: 20px 0 8px; }
.single-product div.product .woocommerce-tabs strong, .single-product div.product .woocommerce-tabs b { font-weight: 700; color: var(--o-text); }
.single-product div.product .woocommerce-tabs ul { list-style: none; margin: 0 0 14px; padding: 0; }
.single-product div.product .woocommerce-tabs ul li { position: relative; margin: 0 0 6px; padding-left: 22px; }
.single-product div.product .woocommerce-tabs ul li::before { content: ""; position: absolute; left: 5px; top: .78em; width: 7px; height: 7px; border-radius: 50%; background: var(--o-red); }
.single-product div.product .woocommerce-tabs ol { margin: 0 0 14px 22px; }
.single-product div.product .woocommerce-tabs a { color: var(--o-red); text-decoration: underline; }
.single-product div.product .woocommerce-tabs img { max-width: 100%; height: auto; border-radius: 8px; }
.single-product div.product .woocommerce-tabs table { width: 100%; border-collapse: collapse; font-size: 15px; margin: 0 0 14px; }
.single-product div.product .woocommerce-tabs th, .single-product div.product .woocommerce-tabs td { border: 1px solid var(--o-line); padding: 8px 10px; text-align: left; }
.single-product div.product .woocommerce-tabs hr { border: 0; border-top: 1px solid var(--o-line); margin: 16px 0; }
@media (max-width: 767px) {
	.single-product div.product .woocommerce-tabs { padding: 18px 16px 8px; margin-top: 22px; }
	.single-product div.product .woocommerce-tabs p, .single-product div.product .woocommerce-tabs li { font-size: 15.5px; line-height: 1.8; }
}

/* Checkout */
.orbin-ck-title { text-align: center; font-size: 20px; font-weight: 700; margin: 0 0 4px; color: var(--o-text); }
.orbin-ck-sub { text-align: center; font-size: 14px; color: var(--o-muted); margin-bottom: 16px; }
form.checkout .input-text, form.checkout select, form.checkout textarea {
	background: #fff !important; border: 1px solid #D5D5D5 !important; border-radius: 8px; padding: 12px !important; font-size: 16px !important; box-shadow: none !important;
}
form.checkout .input-text:focus, form.checkout textarea:focus { border-color: var(--o-red) !important; box-shadow: 0 0 0 3px rgba(142,27,36,.12) !important; }
form.checkout label { font-weight: 600; }
.orbin-ck-actions { margin: 6px 0 18px; }
#place_order.orbin-place-order { display: block; width: 100%; padding: 16px; font-size: 18px; border-radius: 10px; }
#place_order.is-loading { opacity: .8; cursor: wait; pointer-events: none; }
#place_order.is-loading::before { content: ""; display: inline-block; width: 16px; height: 16px; margin-right: 8px; vertical-align: -2px; border: 2px solid rgba(255,255,255,.5); border-top-color: #fff; border-radius: 50%; animation: orbin-spin .7s linear infinite; }
@keyframes orbin-spin { to { transform: rotate(360deg); } }
.orbin-wa-btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; margin-top: 10px; padding: 13px; border: 2px solid #25D366; border-radius: 10px; background: #fff; color: #0E7A55 !important; font-size: 16px; font-weight: 700; text-decoration: none !important; }
.orbin-wa-btn:hover { background: #F1FBF5; }
.orbin-wa-btn svg { width: 22px; height: 22px; fill: #25D366; flex: 0 0 22px; }
.orbin-remove { display: inline-block; margin-left: 6px; font-size: 12px; font-weight: 600; color: var(--o-red) !important; white-space: nowrap; }
.woocommerce-checkout-review-order-table .order-total .amount { color: var(--o-red); }

/* Thank you */
.orbin-ty, .orbin-ty p, .orbin-ty-meta li strong { color: var(--o-text) !important; }
.orbin-ty { max-width: 560px; margin: 0 auto; text-align: center; padding: 8px 0 16px; }
.orbin-ty-icon { width: 64px; height: 64px; margin: 0 auto 12px; border-radius: 50%; background: var(--o-red-l); color: var(--o-red); display: flex; align-items: center; justify-content: center; }
.orbin-ty-icon svg { width: 34px; height: 34px; }
.orbin-ty-title { font-size: 24px; font-weight: 700; margin: 0 0 6px; color: var(--o-text); }
.orbin-ty-msg { font-size: 16px; line-height: 1.6; margin: 0 0 18px; }
.orbin-ty-meta { list-style: none; margin: 0 0 16px; padding: 0; border: 1px solid var(--o-line); border-radius: 10px; text-align: left; }
.orbin-ty-meta li { display: flex; justify-content: space-between; gap: 12px; margin: 0; padding: 10px 14px; border-bottom: 1px solid var(--o-line); font-size: 15px; }
.orbin-ty-meta li:last-child { border-bottom: 0; }
.orbin-ty-meta li span { color: var(--o-muted); }
.orbin-ty-meta li strong { text-align: right; }
.orbin-ty-meta .orbin-ty-total strong { color: var(--o-red); font-size: 17px; }
.orbin-ty-note { font-size: 14px; color: var(--o-muted); }
.orbin-ty-btn { display: inline-block; padding: 12px 22px; }

/* Mobile bottom nav */
.orbin-bnav { display: none; }

@media (max-width: 767px) {
	.orbin-bnav {
		display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990;
		background: #fff; border-top: 1px solid var(--o-line); box-shadow: 0 -2px 12px rgba(0,0,0,.07);
		padding-bottom: env(safe-area-inset-bottom, 0px);
	}
	.orbin-bnav a { flex: 1; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; height: 58px; color: #4A4A4A; font-size: 12px; font-weight: 600; text-decoration: none !important; -webkit-tap-highlight-color: transparent; }
	.orbin-bnav a.is-active { color: var(--o-red); }
	.orbin-bnav a.orbin-bnav-call { color: var(--o-red); }
	.orbin-bnav svg { width: 23px; height: 23px; }
	.orbin-bnav-count { position: absolute; top: 5px; left: calc(50% + 5px); min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--o-red); color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; }
	.orbin-bnav-count[data-count="0"] { display: none; }
	body { padding-bottom: calc(58px + env(safe-area-inset-bottom, 0px)) !important; }
	.storefront-handheld-footer-bar { display: none !important; }

	/* Compact header: logo centered, no search / menu bar on phones */
	.site-header .site-search, .storefront-primary-navigation .site-header-cart { display: none !important; }
	.site-header .orbin-cats ul { padding: 8px 0; }
	.orbin-staff-nav { float: none; margin: 0; padding: 0 0 8px; }
	.orbin-staff-nav ul { justify-content: center; }
	.site-header .site-branding { float: none !important; width: 100% !important; margin: 0 !important; text-align: center; }
	.site-header .custom-logo-link img { margin: 0 auto; max-width: 120px !important; }
	.storefront-full-width-content .content-area { padding-top: 14px !important; }

	.single-product div.product .product_title { font-size: 20px; }
	.single-product .product_meta { display: none; }
	.single-product div.product p.price { font-size: 20px; }
}
