.occ-buy-now-wrap {
	/* BUG FIX: pehle yahan display/margin par !important laga hua tha, isliye
	   JS jo real "Add to Cart" button dekhkar dynamically sahi margin/alignment
	   set karne ki koshish karta hai, wo kabhi apply hi nahi ho paata tha —
	   yahi wajah thi ki "Buy Now" button hamesha thoda neeche (fixed 8px
	   margin-top) dikhta tha, chahe theme ka apna layout kuch bhi ho. Ab ye
	   sirf ek fallback default hai (agar JS kisi wajah se na chal paaye), JS
	   ke calculated inline styles isko normally override kar denge. */
	display: inline-block;
	margin: 0 0 0 10px;
	vertical-align: middle;
}

.occ-buy-now-btn.occ-buy-now-btn {
	background: #e53935 !important;
	color: #fff !important;
	border: none !important;
	padding: 8px 16px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px;
	border-radius: 4px !important;
	cursor: pointer !important;
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	line-height: 1.3 !important;
	width: auto !important;
	min-width: 100px !important;
	white-space: nowrap !important;
	box-sizing: border-box !important;
	text-decoration: none !important;
	gap: 4px !important;
	transition: background-color 0.15s ease, transform 0.1s ease !important;
}

.occ-buy-now-btn.occ-buy-now-btn:hover {
	background: #c62828 !important;
}

.occ-buy-now-btn.occ-buy-now-btn:active:not(:disabled) {
	transform: scale(0.97);
}

.occ-btn-sub.occ-btn-sub {
	font-size: 9px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	opacity: 0.85 !important;
	white-space: nowrap !important;
}

.occ-buy-now-btn:disabled {
	background: #bbb;
	cursor: not-allowed;
}

.occ-select-variation-hint {
	color: #b45309;
}

.occ-hint {
	font-size: 12px;
	color: #666;
	margin-top: 6px;
}

.occ-modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.18s ease;
}

.occ-modal-overlay.occ-modal-visible {
	opacity: 1;
}

.occ-modal {
	background: #fff;
	border-radius: 10px;
	padding: 24px;
	width: 92%;
	max-width: 380px;
	max-height: 88vh;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	position: relative;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
	transform: scale(0.96) translateY(6px);
	transition: transform 0.18s ease;
}

.occ-modal-overlay.occ-modal-visible .occ-modal {
	transform: scale(1) translateY(0);
}

.occ-modal-close {
	position: absolute;
	top: 10px;
	right: 14px;
	background: none;
	border: none;
	font-size: 22px;
	cursor: pointer;
	line-height: 1;
	color: #999;
}

.occ-modal h3 {
	margin-top: 0;
}

.occ-modal-row {
	display: flex;
	justify-content: space-between;
	padding: 6px 0;
	font-size: 14px;
}

.occ-total-row {
	border-top: 1px solid #eee;
	margin-top: 6px;
	padding-top: 10px;
	font-size: 16px;
}

.occ-discount-amount {
	color: #1f9d55;
}

.occ-gift-row {
	background: #fff8e1;
	border-radius: 6px;
	padding: 6px 10px;
	margin: 4px 0;
	font-size: 13px;
}

.occ-gift-free-label {
	color: #1f9d55;
	font-weight: 700;
}

.occ-coupon-block {
	display: flex;
	gap: 8px;
	margin: 14px 0 4px;
}

.occ-coupon-input {
	flex: 1;
	padding: 8px 10px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 14px;
}

.occ-apply-coupon-btn {
	padding: 8px 14px;
	border: 1px solid #1f9d55;
	background: #fff;
	color: #1f9d55;
	border-radius: 6px;
	cursor: pointer;
	font-weight: 600;
	transition: background-color 0.15s ease, color 0.15s ease, transform 0.1s ease;
}

.occ-apply-coupon-btn:hover {
	background: #1f9d55;
	color: #fff;
}

.occ-apply-coupon-btn:active {
	transform: scale(0.97);
}

.occ-coupon-msg {
	font-size: 12px;
	min-height: 14px;
	margin: 2px 0 8px;
}

.occ-coupon-msg.occ-error {
	color: #c62828;
}

.occ-coupon-msg.occ-success {
	color: #1f9d55;
}

.occ-eligible-coupons {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 4px 0 2px;
}

.occ-coupon-pill {
	display: inline-flex;
	align-items: center;
	background: #f5f5f5;
	border: 1px dashed #999;
	color: #333;
	font-size: 10px;
	font-weight: 700;
	padding: 0 3px;
	line-height: 1.2;
	border-radius: 2px;
	cursor: pointer;
	letter-spacing: 0.5px;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.occ-coupon-pill:hover {
	background: #e6f7ec;
	border-color: #1f9d55;
	color: #1f9d55;
}

.occ-remove-coupon-link {
	font-size: 11px;
	font-weight: 400;
	color: #c62828;
	text-decoration: underline;
	margin-left: 4px;
}

.occ-applied-coupon-badge {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	background: #f5f5f5;
	border: 1px dashed #999;
	border-radius: 2px;
	padding: 0 2px;
	line-height: 1.2;
	margin-left: 6px;
	font-size: 11px;
}

.occ-applied-coupon-code {
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.5px;
	color: #333;
	text-transform: uppercase;
}

.occ-applied-coupon-badge .occ-remove-coupon-link {
	color: #c62828;
	text-decoration: none;
	font-weight: 700;
	font-size: 14px;
	line-height: 1;
	margin-left: 0;
}

.occ-cod-block {
	margin: 14px 0;
	border: 1px solid #eee;
	border-radius: 8px;
	padding: 10px 12px;
}

.occ-radio-label {
	display: block;
	font-size: 13px;
	padding: 6px 0;
	cursor: pointer;
}

.occ-confirm-pay-btn {
	width: 100%;
	background: #1f9d55;
	color: #fff;
	border: none;
	padding: 13px;
	font-size: 15px;
	font-weight: 700;
	border-radius: 6px;
	cursor: pointer;
	margin-top: 8px;
	transition: background-color 0.15s ease, transform 0.1s ease;
}

.occ-confirm-pay-btn:hover:not(:disabled) {
	background: #188047;
}

.occ-confirm-pay-btn:active:not(:disabled) {
	transform: scale(0.985);
}

.occ-confirm-pay-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.occ-trust-note {
	margin: 10px 0 0;
	font-size: 11px;
	line-height: 1.5;
	color: #8a8f98;
	text-align: center;
}

.occ-trust-note a {
	color: #6b7280;
	text-decoration: underline;
}

.occ-trust-note a:hover {
	color: #1f9d55;
}

.occ-save-badge {
	display: inline-block;
	background: #e6f7ec;
	color: #1f9d55;
	font-size: 11px;
	font-weight: 700;
	padding: 2px 6px;
	border-radius: 4px;
	margin-left: 6px;
}

.occ-method-block {
	margin: 14px 0 6px;
}

.occ-method-title {
	font-size: 12px;
	color: #666;
	margin: 0 0 6px;
}

.occ-method-pills {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.occ-method-pill {
	border: 1px solid #ccc;
	background: #fff;
	color: #333;
	padding: 6px 14px;
	border-radius: 20px;
	font-size: 13px;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.occ-method-pill.occ-active {
	background: #1f9d55;
	border-color: #1f9d55;
	color: #fff;
	font-weight: 600;
}

/* Mobile sticky bar — sirf single product page, sirf narrow screens par. Desktop par kabhi nahi dikhta. */
.occ-sticky-bar {
	display: none;
}

@media ( max-width: 768px ) {
	/* Inline button (product summary ke andar) mobile par hide — sirf sticky bar dikhega, duplicate nahi. */
	.occ-buy-now-wrap:not( .occ-cart-buy-now-wrap ) {
		display: none !important;
	}

	.occ-sticky-bar {
		display: flex !important;
		position: fixed !important;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 99998;
		padding: 0 !important;
		margin: 0 !important;
		gap: 0 !important;
		box-shadow: 0 -2px 10px rgba( 0, 0, 0, 0.15 );
		background: #fff;
		min-height: 62px;
		align-items: stretch;
	}

	.occ-sticky-bar .occ-sticky-atc-btn {
		flex: 1 1 50%;
		background: #1f9d55;
		color: #fff;
		border: none;
		border-radius: 0;
		font-size: 14px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.5px;
		padding: 20px 8px;
		cursor: pointer;
		white-space: nowrap;
	}

	.occ-sticky-bar .occ-sticky-atc-btn:disabled {
		background: #bbb;
		color: #eee;
		cursor: not-allowed;
	}

	.occ-sticky-bar .occ-buy-now-btn.occ-buy-now-btn {
		flex: 1 1 50%;
		border-radius: 0 !important;
		width: auto !important;
		min-width: 0 !important;
		padding: 20px 8px !important;
	}
}

.occ-sticky-bar.occ-force-hide {
	display: none !important;
}

/* Theme (Nasa) ka apna sticky add-to-cart bar — hamara khud ka .occ-sticky-bar use hoga iski jagah. */
.nasa-add-to-cart-fixed {
	display: none !important;
}

/* Device ka Location/GPS off hone par "Confirm and Pay" button ke UPAR dikhne wala
   notify-only message — ismein ab koi Retry/skip button nahi hai, kyunki "Confirm & Pay"
   button khud dobara location capture attempt karta hai, isliye alag button ki zaroorat
   nahi thi. */
.occ-location-off-banner {
	background: #fff7ed;
	border: 1px solid #fdba74;
	border-left: 4px solid #ea580c;
	border-radius: 8px;
	padding: 10px 12px;
	margin: 10px 0;
	font-size: 13px;
	line-height: 1.5;
	color: #7c2d12;
}

.occ-location-off-banner p {
	margin: 0;
}

.occ-location-mandatory-note {
	font-size: 12px;
	font-weight: 600;
	color: #9a3412;
}

/* =========================================================================
 * "Shop for ₹X more to get Free delivery" progress bar — payment popup,
 * mobile slide-cart (mini-cart) drawer aur desktop "Shopping Cart" page,
 * teeno jagah isi ek style se dikhta hai.
 * ========================================================================= */
.occ-free-ship-bar {
	display: flex;
	align-items: center;
	gap: 12px;
	background: linear-gradient(180deg, #e7f6ff 0%, #ffffff 100%);
	border: 1px solid #cdeaff;
	border-radius: 14px;
	padding: 12px 14px;
	margin: 0 0 14px;
	box-sizing: border-box;
}

.occ-free-ship-icon {
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #ffffff;
	border: 1px solid #bfe4fb;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 21px;
	line-height: 1;
}

.occ-free-ship-body {
	flex: 1 1 auto;
	min-width: 0;
}

.occ-free-ship-text {
	margin: 0 0 8px;
	font-size: 13.5px;
	color: #1a1a1a;
	line-height: 1.35;
}

.occ-free-ship-bar.occ-free-ship-unlocked .occ-free-ship-text {
	margin-bottom: 0;
}

.occ-free-ship-text strong {
	font-weight: 700;
}

.occ-free-ship-track {
	width: 100%;
	height: 6px;
	border-radius: 4px;
	background: #cfeaff;
	overflow: hidden;
}

.occ-free-ship-fill {
	height: 100%;
	border-radius: 4px;
	background: linear-gradient(90deg, #6ec6f7 0%, #139be6 100%);
	transition: width 0.35s ease;
}

/* Payment popup ke andar — modal ke top rows se pehle thoda breathing room. */
.occ-free-ship-bar-slot:empty {
	display: none;
}

/* Mobile slide-cart (mini-cart) drawer mein — item list se pehle. */
.occ-free-ship-bar.occ-free-ship-minicart {
	margin: 0 0 14px;
}

/* Desktop "Shopping Cart" page mein — cart table se pehle, thoda zyada max-width. */
.occ-free-ship-bar.occ-free-ship-cartpage {
	max-width: 640px;
	margin: 0 0 20px;
}

@media (max-width: 480px) {
	.occ-free-ship-icon {
		width: 36px;
		height: 36px;
		font-size: 18px;
	}
	.occ-free-ship-text {
		font-size: 12.5px;
	}
}
