/* ============================================================
   Storefront Child — main.css
   Handles: layout container, Storefront resets, WooCommerce
   component overrides. Tailwind utilities do the heavy lifting.
   ============================================================ */

/* ---- Layout container ---- */
.sc-container {
	width: 100%;
	max-width: 1130px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

@media (min-width: 640px) {
	.sc-container { padding-left: 1.5rem; padding-right: 1.5rem; }
}

@media (min-width: 1024px) {
	.sc-container { padding-left: 2rem; padding-right: 2rem; }
}

/* ---- Focus-visible — brand color for WooCommerce notices only ---- */
.woocommerce-message:focus-visible,
.woocommerce-info:focus-visible,
.woocommerce-error:focus-visible,
.woocommerce-NoticeGroup:focus-visible,
.woocommerce-notices-wrapper:focus-visible {
	outline: 2px solid #dc4a26 !important;
	outline-offset: 2px !important;
}

/* ---- Reset Storefront body bg / layout ---- */
body.sc-theme {
	font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
	background: #ffffff;
	color: #111827;
	-webkit-font-smoothing: antialiased;
}

/* Remove Storefront col-full constraints globally */
body.sc-theme .col-full {
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* site-content: no extra padding */
body.sc-theme .site-content {
	padding: 0 !important;
}

/* Strip Storefront's site-main top padding and content-area margins globally */
body.sc-theme .site-main {
	padding-top: 0 !important;
	margin-bottom: 0 !important;
}

body.sc-theme .content-area,
body.sc-theme #primary {
	margin-bottom: 0 !important;
}

/* Hide empty header-widget-region if Storefront renders it */
body.sc-theme .header-widget-region {
	display: none !important;
}

/* Storefront injects an inline style on .site-header — null it */
body.sc-theme .site-header {
	background-color: #ffffff !important;
	color: #111827 !important;
}

/* ================================================================
   SCROLL REVEAL SYSTEM
   ================================================================ */

/* Base state — hidden before reveal */
.sc-reveal,
.sc-reveal-up,
.sc-reveal-left,
.sc-reveal-right {
	opacity: 0;
	transition: opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
	            transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.sc-reveal     { transform: translateY(32px); }
.sc-reveal-up  { transform: translateY(40px); }
.sc-reveal-left  { transform: translateX(-32px); }
.sc-reveal-right { transform: translateX(32px); }

/* Revealed state */
.sc-reveal.sc-revealed,
.sc-reveal-up.sc-revealed,
.sc-reveal-left.sc-revealed,
.sc-reveal-right.sc-revealed {
	opacity: 1;
	transform: none;
}

/* JS-driven reveal */
.sc-revealed {
	animation: none !important;
}

/* Stagger delays via inline style or utility classes */
.sc-delay-1 { transition-delay: 0.1s !important; }
.sc-delay-2 { transition-delay: 0.2s !important; }
.sc-delay-3 { transition-delay: 0.3s !important; }
.sc-delay-4 { transition-delay: 0.4s !important; }
.sc-delay-5 { transition-delay: 0.5s !important; }

/* ---- Hero animations ---- */

@keyframes sc-fade-up {
	from { opacity: 0; transform: translateY(24px); }
	to   { opacity: 1; transform: translateY(0); }
}

@keyframes sc-fade-in {
	from { opacity: 0; transform: translateY(12px); }
	to   { opacity: 1; transform: translateY(0); }
}

.sc-hero-left  { animation: sc-fade-up 0.6s cubic-bezier(0.22, 1, 0.36, 1) both; }
.sc-hero-right { animation: sc-fade-in 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.15s both; }

.sc-hero-stats > *:nth-child(1) { animation: sc-fade-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.3s  both; }
.sc-hero-stats > *:nth-child(2) { animation: sc-fade-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.42s both; }

/* Gradient blob */
.sc-hero-section { isolation: isolate; }

.sc-hero-blob {
	position: absolute;
	top: -120px;
	right: -80px;
	width: 640px;
	height: 640px;
	border-radius: 50%;
	background: radial-gradient(ellipse at center, rgba(220, 74, 38, 0.07) 0%, rgba(242, 102, 68, 0.03) 50%, transparent 70%);
	pointer-events: none;
	z-index: 0;
}


/* ================================================================
   HOMEPAGE SECTION ENHANCEMENTS
   ================================================================ */

/* --- Why Choose Us: subtle brand glow + dot pattern --- */
.sc-why-section {
	position: relative;
	overflow: hidden;
}

.sc-why-section::before {
	content: '';
	position: absolute;
	bottom: -120px;
	left: -80px;
	width: 500px;
	height: 500px;
	border-radius: 50%;
	background: radial-gradient(ellipse, rgba(220, 74, 38, 0.12) 0%, transparent 65%);
	pointer-events: none;
}

.sc-why-section::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(255,255,255,0.04) 1px, transparent 1px);
	background-size: 28px 28px;
	pointer-events: none;
}

/* --- Testimonials: large decorative quote mark --- */
.sc-testimonial-card {
	position: relative;
}

.sc-testimonial-card::before {
	content: '\201C';
	position: absolute;
	top: -4px;
	right: 16px;
	font-size: 5rem;
	line-height: 1;
	color: #f3f4f6;
	font-family: Georgia, serif;
	pointer-events: none;
	user-select: none;
}

/* Testimonials section: subtle warm tint bg */
.sc-testimonials-section {
	background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
}

/* --- CTA Banner: dot pattern overlay --- */
.sc-cta-section {
	position: relative;
	overflow: hidden;
}

.sc-cta-section::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(255,255,255,0.15) 1px, transparent 1px);
	background-size: 24px 24px;
	pointer-events: none;
}

.sc-cta-section::after {
	content: '';
	position: absolute;
	top: -60px;
	right: -60px;
	width: 300px;
	height: 300px;
	border-radius: 50%;
	background: rgba(255,255,255,0.06);
	pointer-events: none;
}

/* --- Category pills: hover lift --- */

/* ---- Tech stack icon tooltips ---- */
.sc-tech-icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	opacity: 0.65;
	transition: opacity 0.2s ease, transform 0.2s ease;
	cursor: default;
}
.sc-tech-icon:hover {
	opacity: 1;
	transform: translateY(-2px);
}
.sc-tech-icon::after {
	content: attr(data-name);
	position: absolute;
	top: calc(100% + 7px);
	left: 50%;
	transform: translateX(-50%) translateY(-4px);
	background: #111827;
	color: #fff;
	font-size: 11px;
	font-weight: 500;
	white-space: nowrap;
	padding: 4px 8px;
	border-radius: 5px;
	pointer-events: none;
	opacity: 0;
	z-index: 50;
	transition: opacity 0.15s ease, transform 0.15s ease;
}
.sc-tech-icon::before {
	content: '';
	position: absolute;
	top: calc(100% + 2px);
	left: 50%;
	transform: translateX(-50%) translateY(-4px);
	border: 4px solid transparent;
	border-bottom-color: #111827;
	pointer-events: none;
	opacity: 0;
	z-index: 50;
	transition: opacity 0.15s ease, transform 0.15s ease;
}
.sc-tech-icon:hover::after,
.sc-tech-icon:hover::before {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

.sc-cat-pill {
	transition: transform 0.2s cubic-bezier(0.22, 1, 0.36, 1),
	            box-shadow 0.2s ease,
	            border-color 0.2s ease;
}

.sc-cat-pill:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(220, 74, 38, 0.08);
}

/* --- Product card: unified across shop, search, homepage --- */
.sc-product-card {
	transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1),
	            box-shadow 0.25s ease !important;
}

.sc-product-card:hover {
	transform: translateY(-4px);
}

/* Card: square thumbnail (cart-style) */
.sc-card-thumb-wrap {
	width: 96px;
	/* height: 96px; */
	flex-shrink: 0;
}

.sc-card-thumb-fallback {
	width: 96px;
	height: 96px;
}

.sc-card-thumb {
	width: 96px;
	/* height: 96px; */
	object-fit: cover;
	object-position: center;
	display: block;
}

/* Title: clamp to 3 lines */
.sc-card-title {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	line-clamp: 3;
	overflow: hidden;
}

/* --- Hire Us card: subtle gradient on hover --- */
.sc-hire-card {
	transition: box-shadow 0.25s ease, border-color 0.25s ease;
}

.sc-hire-card:hover {
	box-shadow: 0 8px 32px rgba(220, 74, 38, 0.08);
	border-color: rgba(220, 74, 38, 0.2);
}

/* ---- Hero misc ---- */
.sc-grid-pattern {
	background-image: linear-gradient(#e5e7eb 1px, transparent 1px),
	                  linear-gradient(to right, #e5e7eb 1px, transparent 1px);
	background-size: 40px 40px;
}

.sc-gradient-text {
	background: linear-gradient(135deg, #dc4a26 0%, #f26644 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

/* py-18 utility (not in default Tailwind scale) */
.py-18 { padding-top: 4.5rem; padding-bottom: 4.5rem; }

/* Hero panel: strip WooCommerce del color */
.sc-hero .sc-price del,
.sc-hero .sc-price ins { text-decoration: none; }
.sc-hero .sc-price del { color: #d1d5db; font-size: 0.75rem; }
.sc-hero .sc-price ins { font-weight: 600; }

/* ---- Header ---- */
.sc-header {
	box-shadow: 0 1px 0 0 #f3f4f6;
	transition: box-shadow 0.2s;
}

.sc-header.scrolled {
	box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.08);
}

/* Nav dropdown */
.sc-has-dropdown:hover .sc-dropdown,
.sc-has-dropdown:focus-within .sc-dropdown {
	display: block;
}

/* Mobile nav links */
.sc-mobile-nav a {
	display: block;
	padding: 0.5rem 0.75rem;
	border-radius: 0.5rem;
	font-size: 0.9375rem;
	font-weight: 500;
	color: #374151;
	transition: background 0.15s, color 0.15s;
}

.sc-mobile-nav a:hover {
	background: #f9fafb;
	color: #111827;
}

.sc-mobile-nav .current-menu-item > a,
.sc-mobile-nav .current-menu-ancestor > a {
	color: #dc4a26;
}

/* ---- Search overlay ---- */
#sc-search-overlay:not(.hidden) {
	animation: sc-fade-in 0.15s ease;
}

#sc-search-overlay:not(.hidden) > div:last-child > div {
	animation: sc-slide-down 0.18s ease;
}

@keyframes sc-fade-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}

@keyframes sc-slide-down {
	from { opacity: 0; transform: translateY(-8px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* Native search form inside the overlay — reset Storefront styles */
#sc-search-overlay input[type="search"] {
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	font-size: 1rem !important;
	font-family: inherit !important;
	width: 100% !important;
}

/* Suggestion items */
.sc-suggest-item:first-child {
	border-top: none;
}

.sc-suggest-item img {
	image-rendering: auto;
}

/* Price inside suggestion — strip WooCommerce spans */
.sc-suggest-item .woocommerce-Price-currencySymbol,
.sc-suggest-item .woocommerce-Price-amount {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}

/* ---- Focus outline — override Storefront's purple with brand color ---- */
a:focus,
button:focus,
.button:focus,
.button.alt:focus,
input:focus,
textarea:focus,
select:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus {
	outline: none;
	outline-color: #dc4a26 !important;
}

/* ---- WooCommerce global resets ---- */
body.sc-theme .woocommerce-message,
/* Base notice styles — all pages (exclude hidden PAO validation message) */
body.sc-theme .woocommerce-info:not(#required_addons_validation_message),
body.sc-theme .woocommerce-message,
body.sc-theme ul.woocommerce-error,
body.sc-theme .woocommerce-notices-wrapper .woocommerce-error {
	background: #fff !important;
	color: #374151 !important;
	border: 1px solid #f3f4f6 !important;
	border-radius: 0.75rem !important;
	font-size: 0.875rem !important;
	padding: 0.875rem 1.25rem !important;
	/* box-shadow: inset 3px 0 0 0 #dc4a26 !important; */
	display: flex !important;
	align-items: center !important;
	gap: 1rem !important;
}

body.sc-theme .woocommerce-info:not(#required_addons_validation_message)::before,
body.sc-theme .woocommerce-message::before,
body.sc-theme ul.woocommerce-error::before,
body.sc-theme .woocommerce-notices-wrapper .woocommerce-error::before {
	display: none !important;
	content: none !important;
}

body.sc-theme .woocommerce-info .button,
body.sc-theme .woocommerce-message .button,
body.sc-theme ul.woocommerce-error .button,
body.sc-theme .woocommerce-notices-wrapper .woocommerce-error .button {
	background: #dc4a26 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 0.5rem !important;
	padding: 0.4rem 1rem !important;
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	flex-shrink: 0 !important;
	margin-left: auto !important;
	order: 2 !important;
	transition: background 0.15s !important;
}

body.sc-theme .woocommerce-info .button:hover,
body.sc-theme .woocommerce-message .button:hover,
body.sc-theme ul.woocommerce-error .button:hover,
body.sc-theme .woocommerce-notices-wrapper .woocommerce-error .button:hover {
	background: #c03d1c !important;
}

/* ---- Breadcrumb ---- */
body.sc-theme .woocommerce-breadcrumb {
	background: transparent;
	padding: 0;
	margin: 0 0 20px 0;
	font-size: 0.875rem;
}

body.sc-theme .woocommerce-breadcrumb a {
	color: #6b7280;
	text-decoration: none;
}

body.sc-theme .woocommerce-breadcrumb a:hover {
	color: #dc4a26;
}


/* Allow <br> line-breaks inside merged addon value cells */
.wc-item-meta dd,
.woocommerce-checkout-review-order-table td.product-name dl dd {
	display: block !important;
}

/* ---- Product gallery ---- */
/* ---- Related products ---- */
.sc-related-section {
	margin-top: 3rem;
	padding-top: 2.5rem;
	border-top: 1px solid #f3f4f6;
}

.sc-related-section .sc-related-header { margin-bottom: 0; }

/* Suppress WooCommerce's own ul.products styles inside our grid */
.sc-related-section ul.products,
.sc-related-section .products { all: unset; display: contents; }

body.sc-single-product .woocommerce-product-gallery {
	background: #f9fafb;
	border: 1px solid #f3f4f6;
	border-radius: 1rem;
	overflow: hidden;
	margin-bottom: 0;
}

body.sc-single-product .woocommerce-product-gallery__wrapper {
	background: #f9fafb;
}

/* FlexSlider viewport — constrain height */
body.sc-single-product .woocommerce-product-gallery .flex-viewport {
	margin-bottom: 0 !important;
}

body.sc-single-product .woocommerce-product-gallery__image img {
	width: 100% !important;
	height: auto !important;
	max-height: 480px;
	object-fit: contain;
	display: block;
	background: #f9fafb;
}

/* Clear ALL float-based widths Storefront + WooCommerce inject */
body.sc-single-product div.product,
body.sc-single-product div.product .woocommerce-product-gallery,
body.sc-single-product div.product .summary,
body.sc-single-product div.product .images {
	width: 100% !important;
	float: none !important;
	margin-bottom: 0 !important;
	margin-top: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Thumbnail strip */
body.sc-single-product .flex-control-thumbs {
	display: flex;
	gap: 8px;
	padding: 0.75rem 1rem;
	background: #fff;
	border-top: 1px solid #f3f4f6;
	flex-wrap: wrap;
}

body.sc-single-product .flex-control-thumbs li {
	list-style: none;
	margin: 0;
	flex: 0 0 calc(25% - 6px);
}

body.sc-single-product .flex-control-thumbs li img {
	border-radius: 0.5rem;
	border: 2px solid transparent;
	cursor: pointer;
	width: 100%;
	transition: border-color 0.15s;
}

body.sc-single-product .flex-control-thumbs li img.flex-active,
body.sc-single-product .flex-control-thumbs li img:hover {
	border-color: #dc4a26;
}

/* Images open PhotoSwipe on click — show pointer as affordance */
body.sc-single-product .woocommerce-product-gallery__image {
	cursor: zoom-in;
}

body.sc-single-product span.onsale {
	top: 12px;
	left: 12px;
	background: #dc4a26;
	border-radius: 6px;
	min-height: auto;
	min-width: auto;
	font-size: 0.7rem;
	font-weight: 700;
	padding: 4px 10px;
	line-height: 1;
}

/* Featured image — prevent GPU compositing blur from overflow:hidden + border-radius */
body.sc-single-product .sc-featured-image img {
	image-rendering: auto;
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

/* ---- Single product price ---- */
.sc-single-price p.price,
.sc-single-price span.price,
.woocommerce-variation-price span.price {
	font-size: 1.75rem !important;
	font-weight: 800 !important;
	color: #111827 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	line-height: 1.1 !important;
	display: flex !important;
	align-items: baseline;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.sc-single-price p.price del,
.sc-single-price span.price del,
.woocommerce-variation-price span.price del {
	font-size: 1.1rem !important;
	font-weight: 400 !important;
	color: #9ca3af !important;
	text-decoration: line-through !important;
	vertical-align: baseline;
}

.sc-single-price p.price ins,
.sc-single-price span.price ins,
.woocommerce-variation-price span.price ins {
	text-decoration: none !important;
	font-weight: 800 !important;
	color: #111827 !important;
	vertical-align: baseline;
}

/* Hide screen-reader-text spans from affecting flex layout */
.woocommerce-variation-price span.price .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	white-space: nowrap !important;
}

/* ---- Add to cart ---- */
body.sc-single-product .sc-add-to-cart form.cart {
	margin: 0 !important;
	padding: 0 !important;
}

/* quantity hidden — digital products don't need it */
body.sc-single-product .sc-add-to-cart .quantity {
	display: none !important;
}

body.sc-single-product .sc-add-to-cart .single_add_to_cart_button,
body.sc-single-product .sc-add-to-cart button.single_add_to_cart_button {
	display: block !important;
	width: 100% !important;
	background: #dc4a26 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 0.75rem !important;
	padding: 0.875rem 1.5rem !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	cursor: pointer !important;
	transition: background-color 0.15s !important;
	box-shadow: none !important;
}

body.sc-single-product .sc-add-to-cart .single_add_to_cart_button:hover {
	background: #c03d1c !important;
}

/* Keep button fully opaque even when variation not yet chosen */
body.sc-single-product .sc-add-to-cart .single_add_to_cart_button.disabled,
body.sc-single-product .sc-add-to-cart .single_add_to_cart_button:disabled {
	opacity: 1 !important;
	background: #e8896e !important;
	cursor: default !important;
}

/* ---- Variation form ---- */

/* Reset table layout — display as block stack */
body.sc-single-product .variations,
body.sc-single-product .variations tbody,
body.sc-single-product .variations tr {
	display: block !important;
	width: 100% !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.sc-single-product .variations {
	margin-bottom: 0.875rem !important;
}

body.sc-single-product .variations tr {
	margin-bottom: 1rem !important;
	position: relative !important;
}

body.sc-single-product .variations th.label,
body.sc-single-product .variations td {
	display: block !important;
	width: 100% !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
	text-align: left !important;
}

body.sc-single-product .variations th.label {
	margin-bottom: 0.7rem !important;
}

body.sc-single-product .variations label {
	font-size: 0.7rem;
	font-weight: 700;
	color: #6b7280;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	display: block;
}

/* Variation select dropdown */
body.sc-single-product .variations select {
	width: 100% !important;
	padding: 0.6rem 2rem 0.6rem 0.875rem !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 0.625rem !important;
	font-size: 0.9rem !important;
	font-family: inherit !important;
	color: #111827 !important;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 0.75rem center !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	outline: none !important;
	cursor: pointer !important;
	transition: border-color 0.15s, box-shadow 0.15s !important;
}

body.sc-single-product .variations select:focus {
	border-color: #dc4a26 !important;
	box-shadow: 0 0 0 3px rgba(220, 74, 38, 0.12) !important;
}

/* "Clear" link — absolutely positioned next to the label, no layout space */
body.sc-single-product .reset_variations {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.2rem !important;
	font-size: 0.7rem !important;
	font-weight: 500 !important;
	color: #9ca3af !important;
	text-decoration: none !important;
	transition: color 0.15s !important;
	line-height: 1 !important;
	padding: 0.1rem 0 !important;
}

body.sc-single-product .reset_variations:hover {
	color: #dc4a26 !important;
}

/* Variation price — replaces the range price when a variation is chosen */
body.sc-single-product .woocommerce-variation-price {
	margin-top: 0.625rem;
	margin-bottom: 0.5rem;
}

body.sc-single-product .woocommerce-variation-price .price {
	font-size: 1.75rem !important;
	font-weight: 800 !important;
	color: #111827 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}

/* Variation availability */
body.sc-single-product .woocommerce-variation-availability {
	font-size: 0.8rem;
	color: #6b7280;
	margin-bottom: 0.375rem;
}

/* Hide quantity everywhere in the purchase panel */
body.sc-single-product .woocommerce-variation-add-to-cart .quantity {
	display: none !important;
}

/* Add-to-cart wrapper for variable products */
body.sc-single-product .woocommerce-variation-add-to-cart {
	margin-top: 0;
}

/* ---- WooCommerce Product Add-Ons ---- */

body.sc-single-product .wc-pao-addons-container {
	border-top: 1px solid #f3f4f6;
	padding-top: 0.875rem;
	margin-top: 0;
	margin-bottom: 0;
}

body.sc-single-product .wc-pao-addon-container {
	margin-bottom: 0.5rem;
}

/* Section heading label */
body.sc-single-product label.wc-pao-addon-name {
	display: block !important;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	color: #6b7280 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.07em !important;
	margin-bottom: 0.5rem !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
	cursor: default !important;
}

/* Wrapper — flex column of item divs */
body.sc-single-product .wc-pao-addon-wrap {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.375rem !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Each item is a div like .wc-pao-addon-12-0-0 */
body.sc-single-product .wc-pao-addon-wrap > div {
	display: flex !important;
	align-items: flex-start !important;
	gap: 0.5rem !important;
	padding: 0.5rem 0.625rem !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 0.5rem !important;
	background: #fff !important;
	cursor: pointer !important;
	transition: border-color 0.15s, background 0.15s !important;
	margin: 0 !important;
}

body.sc-single-product .wc-pao-addon-wrap > div:hover {
	border-color: #d1d5db !important;
	background: #fafafa !important;
}

body.sc-single-product .wc-pao-addon-wrap > div:has(input:checked) {
	border-color: #dc4a26 !important;
	background: #fff9f7 !important;
}

/* Checkbox/radio input */
body.sc-single-product .wc-pao-addon-wrap input[type="checkbox"],
body.sc-single-product .wc-pao-addon-wrap input[type="radio"] {
	width: 0.9rem !important;
	height: 0.9rem !important;
	min-width: 0.9rem !important;
	flex-shrink: 0 !important;
	accent-color: #dc4a26 !important;
	margin: 0 !important;
	cursor: pointer !important;
}

/* Label text (sibling to input, not wrapper) */
body.sc-single-product .wc-pao-addon-wrap label {
	font-size: 0.82rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	line-height: 1.4 !important;
	cursor: pointer !important;
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
}

/* Price inside label e.g. (+₹60.00) */
body.sc-single-product .wc-pao-addon-wrap .wc-pao-addon-price {
	color: #6b7280 !important;
	font-weight: 600 !important;
}

/* ---- Product Add-Ons totals summary block ---- */

body.sc-single-product #product-addons-total {
	display: none;
	margin-top: 0.625rem !important;
	border: 1px solid #f3f4f6 !important;
	border-radius: 0.625rem !important;
	overflow: hidden !important;
	background: #f9fafb !important;
	margin-bottom: 0.875rem;
}

body.sc-single-product #product-addons-total.sc-pao-visible {
	display: block;
}

body.sc-single-product .product-addon-totals ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Shared row style — targets li, and orphaned divs (broken PAO markup) */
body.sc-single-product .product-addon-totals li:not(.wc-pao-subtotal-line),
body.sc-single-product .product-addon-totals ul > div {
	display: grid !important;
	grid-template-columns: 1fr auto !important;
	align-items: baseline !important;
	gap: 0.5rem !important;
	padding: 0.4375rem 0.75rem !important;
	border-bottom: 1px solid #f3f4f6 !important;
}

/* Left col */
body.sc-single-product .product-addon-totals .wc-pao-col1 {
	font-size: 0.8rem !important;
	color: #374151 !important;
	line-height: 1.4 !important;
}

body.sc-single-product .product-addon-totals .wc-pao-col1 strong {
	font-weight: 600 !important;
	color: #111827 !important;
}

/* Hide "Add Extended Support - " prefix, show only the value */
body.sc-single-product .product-addon-totals .wc-pao-col1 .wc-pao-addon-name {
	display: none !important;
}

/* The dash separator */
body.sc-single-product .product-addon-totals .wc-pao-col1 strong > :not(.wc-pao-addon-value) {
	display: none !important;
}

body.sc-single-product .product-addon-totals .wc-pao-col1 .wc-pao-addon-value {
	font-size: 0.8rem !important;
	font-weight: 500 !important;
	color: #6b7280 !important;
}

/* Right col */
body.sc-single-product .product-addon-totals .wc-pao-col2 {
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
	white-space: nowrap !important;
	text-align: right !important;
}

/* Subtotal row */
body.sc-single-product .product-addon-totals .wc-pao-subtotal-line {
	display: block !important;
	background: #fff !important;
	border-bottom: none !important;
	padding: 0 !important;
}

body.sc-single-product .product-addon-totals .wc-pao-subtotal-line p.price {
	display: flex !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	margin: 0 !important;
	padding: 0.5rem 0.75rem !important;
	font-size: 0.875rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	/* border-top: 1px solid #f3f4f6 !important; */
}

body.sc-single-product .product-addon-totals .wc-pao-subtotal-line .amount {
	font-size: 1rem !important;
	font-weight: 800 !important;
	color: #111827 !important;
}

/* ---- Tabs: override Storefront's float-column layout ---- */
body.sc-single-product .woocommerce-tabs {
	overflow: hidden !important;
	padding: 0 !important;
	clear: both;
	background: #fff;
	border: 1px solid #f3f4f6;
	border-radius: 1rem;
}

/* Kill floats and percentage widths */
body.sc-single-product .woocommerce-tabs ul.tabs,
body.sc-single-product .woocommerce-tabs .panel {
	float: none !important;
	width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

/* Horizontal tab nav */
body.sc-single-product .woocommerce-tabs ul.tabs {
	display: flex !important;
	padding: 0 !important;
	margin: 0 !important;
	list-style: none !important;
	background: #f9fafb !important;
	border-top: none !important;
	border-bottom: 1px solid #f3f4f6 !important;
	border-radius: 1rem 1rem 0 0;
}

body.sc-single-product .woocommerce-tabs ul.tabs::before,
body.sc-single-product .woocommerce-tabs ul.tabs::after,
body.sc-single-product .woocommerce-tabs ul.tabs li::before,
body.sc-single-product .woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

body.sc-single-product .woocommerce-tabs ul.tabs li {
	display: block !important;
	margin: 0 !important;
	border: none !important;
	position: static !important;
}

body.sc-single-product .woocommerce-tabs ul.tabs li a {
	display: block !important;
	padding: 0.875rem 1.375rem !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	color: #6b7280 !important;
	text-decoration: none !important;
	border: none !important;
	border-bottom: 2px solid transparent !important;
	background: transparent !important;
	transition: color 0.15s, border-color 0.15s;
	white-space: nowrap;
}

body.sc-single-product .woocommerce-tabs ul.tabs li.active a {
	color: #dc4a26 !important;
	border-bottom-color: #dc4a26 !important;
	background: #fff !important;
}

body.sc-single-product .woocommerce-tabs ul.tabs li a:hover {
	color: #dc4a26 !important;
}

/* Panel — do NOT set display here; WooCommerce JS controls show/hide */
body.sc-single-product .woocommerce-tabs .panel {
	padding: 1.75rem 2rem !important;
	margin: 0 !important;
	margin-bottom: 0 !important;
}

body.sc-single-product .woocommerce-tabs .panel h2:first-of-type {
	font-size: 1rem !important;
	font-weight: 700;
	color: #111827;
	margin-bottom: 1rem;
}

body.sc-single-product .woocommerce-tabs .panel h3,
body.sc-single-product .woocommerce-tabs .panel h4 {
	font-size: 0.95rem;
	font-weight: 700;
	color: #111827;
	margin-top: 1.25rem;
	margin-bottom: 0.5rem;
}

body.sc-single-product .woocommerce-tabs .panel p,
body.sc-single-product .woocommerce-tabs .panel li {
	font-size: 0.9rem;
	color: #4b5563;
	line-height: 1.8;
}

/* ---- Related products ---- */
body.sc-single-product .related.products,
body.sc-single-product .up-sells {
	margin-top: 2.5rem;
}

body.sc-single-product .related h2,
body.sc-single-product .up-sells h2 {
	font-size: 1.05rem;
	font-weight: 700;
	color: #111827;
	margin-bottom: 1.25rem;
}

body.sc-single-product .related ul.products,
body.sc-single-product .up-sells ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 1.25rem !important;
}

body.sc-single-product .related ul.products li.product,
body.sc-single-product .up-sells ul.products li.product {
	background: #fff;
	border: 1px solid #f3f4f6;
	border-radius: 1rem;
	overflow: hidden;
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	transition: box-shadow 0.2s, border-color 0.2s;
}

body.sc-single-product .related ul.products li.product:hover,
body.sc-single-product .up-sells ul.products li.product:hover {
	border-color: #e5e7eb;
	box-shadow: 0 8px 24px -4px rgba(0, 0, 0, 0.08);
}

body.sc-single-product .related ul.products li.product a img,
body.sc-single-product .up-sells ul.products li.product a img {
	width: 100%;
	height: 140px;
	object-fit: cover;
	display: block;
}

body.sc-single-product .related ul.products li.product .woocommerce-loop-product__title,
body.sc-single-product .up-sells ul.products li.product .woocommerce-loop-product__title {
	font-size: 0.875rem;
	font-weight: 600;
	color: #111827;
	padding: 0.75rem 1rem 0.25rem;
	margin: 0;
}

body.sc-single-product .related ul.products li.product .price,
body.sc-single-product .up-sells ul.products li.product .price {
	font-size: 0.9rem;
	font-weight: 700;
	color: #111827;
	padding: 0 1rem 0.75rem;
	margin: 0;
}

body.sc-single-product .related ul.products li.product .button,
body.sc-single-product .up-sells ul.products li.product .button {
	display: block;
	margin: 0 1rem 1rem;
	text-align: center;
	background: #dc4a26;
	color: #fff;
	border-radius: 0.5rem;
	padding: 0.5rem;
	font-size: 0.8rem;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.15s;
}

body.sc-single-product .related ul.products li.product .button:hover,
body.sc-single-product .up-sells ul.products li.product .button:hover {
	background: #c03d1c;
}

/* Hide product meta (SKU, cats) in summary */
body.sc-single-product .product_meta {
	display: none;
}

body.sc-single-product .woocommerce-product-details__short-description {
	display: none;
}

/* Hide rating from summary (shown separately) */
body.sc-single-product .woocommerce-product-rating {
	display: none;
}

/* ---- Shop archive ---- */

/* Orderby select */
body.sc-shop .sc-orderby select,
body.sc-product-cat .sc-orderby select {
	padding: 0.4rem 2rem 0.4rem 0.75rem;
	border: 1px solid #e5e7eb;
	border-radius: 0.5rem;
	font-size: 0.8125rem;
	font-weight: 500;
	color: #374151;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 0.6rem center;
	-webkit-appearance: none;
	appearance: none;
	outline: none;
	cursor: pointer;
}

body.sc-shop .sc-orderby select:focus,
body.sc-product-cat .sc-orderby select:focus {
	border-color: #dc4a26;
	box-shadow: 0 0 0 3px rgba(220,74,38,0.08);
}

/* Result count */
body.sc-shop .woocommerce-result-count,
body.sc-product-cat .woocommerce-result-count {
	font-size: 0.875rem;
	color: #9ca3af;
	margin: 0;
}

/* Pagination */
body.sc-theme .woocommerce-pagination {
	display: flex !important;
	justify-content: center !important;
	margin-top: 2.5rem !important;
}

body.sc-theme .woocommerce-pagination ul.page-numbers {
	display: inline-flex;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;
	border-radius: 0.625rem;
	overflow: hidden;
	box-shadow: 0 0 0 1px #e5e7eb, 0 1px 3px rgba(0,0,0,0.04);
}

body.sc-theme .woocommerce-pagination ul.page-numbers li {
	display: flex;
}

body.sc-theme .woocommerce-pagination .page-numbers:not(ul),
body.sc-theme .woocommerce-pagination a.page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	height: 2.25rem;
	padding: 0 0.75rem;
	font-size: 0.8125rem;
	font-weight: 500;
	border: none;
	border-right: 1px solid #f3f4f6;
	color: #6b7280;
	text-decoration: none;
	background: #fff;
	transition: background 0.15s, color 0.15s;
}

body.sc-theme .woocommerce-pagination ul.page-numbers li:last-child .page-numbers {
	border-right: none;
}

body.sc-theme .woocommerce-pagination a.page-numbers:hover {
	background: #f9fafb;
	color: #111827;
}

body.sc-theme .woocommerce-pagination span.page-numbers.current {
	background: #dc4a26;
	border-right-color: #dc4a26;
	color: #fff;
	font-weight: 600;
}

body.sc-theme .woocommerce-pagination a.next.page-numbers,
body.sc-theme .woocommerce-pagination a.prev.page-numbers {
	font-size: 1rem;
	line-height: 1;
	font-family: serif;
}

body.sc-theme .woocommerce-pagination a.next.page-numbers::before,
body.sc-theme .woocommerce-pagination a.prev.page-numbers::before {
	content: '';
}

body.sc-theme .woocommerce-pagination a.next.page-numbers {
	font-size: 0 !important;
}

body.sc-theme .woocommerce-pagination a.next.page-numbers::after {
	content: '›';
	font-size: 1.125rem;
	line-height: 1;
	font-family: serif;
}

body.sc-theme .woocommerce-pagination a.prev.page-numbers {
	font-size: 0 !important;
}

body.sc-theme .woocommerce-pagination a.prev.page-numbers::after {
	content: '‹';
	font-size: 1.125rem;
	line-height: 1;
	font-family: serif;
}

/* ---- Product price in cards / loops ---- */
.sc-price .woocommerce-Price-amount {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}

.sc-price {
	display: flex !important;
	align-items: center;
	gap: 0.3rem;
	flex-wrap: wrap;
}

/* Hide screen-reader-only spans from flex layout */
.sc-price .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	white-space: nowrap !important;
}

.sc-price del {
	font-size: 0.78em !important;
	font-weight: 400 !important;
	color: #9ca3af !important;
	text-decoration: line-through !important;
}

.sc-price ins {
	text-decoration: none !important;
	font-weight: 800 !important;
	color: #111827 !important;
	font-size: 1em !important;
}

/* ---- WooCommerce notices / buttons ---- */
body.sc-theme .button,
body.sc-theme button.button {
	background: #dc4a26;
	color: #fff;
	border: none;
	border-radius: 0.5rem;
	font-weight: 600;
	transition: background 0.15s;
}

body.sc-theme .button:hover,
body.sc-theme button.button:hover {
	background: #c03d1c;
	color: #fff;
}


/* ================================================================
   Reviews tab
   ================================================================ */

/* Hide redundant h2 — the tab label is sufficient */
body.sc-single-product .woocommerce-Reviews-title {
	display: none;
}

/* "No reviews yet" — replace WC's blue notice with a subtle hint */
body.sc-single-product .woocommerce-noreviews {
	background: #f9fafb !important;
	border: 1px solid #f3f4f6 !important;
	color: #6b7280 !important;
	font-size: 0.875rem !important;
	border-radius: 0.75rem !important;
	padding: 0.875rem 1.125rem !important;
	margin-bottom: 1.75rem !important;
}
body.sc-single-product .woocommerce-noreviews::before {
	display: none !important;
}

/* Existing review cards */
body.sc-single-product #comments ol.commentlist {
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}
body.sc-single-product #comments ol.commentlist li {
	background: #f9fafb;
	border: 1px solid #f3f4f6;
	border-radius: 0.75rem;
	padding: 1.25rem 1.5rem;
	margin-bottom: 0.75rem;
}
body.sc-single-product #comments ol.commentlist li .meta {
	margin-bottom: 0.5rem;
}
body.sc-single-product #comments ol.commentlist li .woocommerce-review__author {
	font-size: 0.875rem;
	font-weight: 600;
	color: #111827;
}
body.sc-single-product #comments ol.commentlist li .woocommerce-review__dash,
body.sc-single-product #comments ol.commentlist li .woocommerce-review__published-date {
	font-size: 0.8rem;
	color: #9ca3af;
}
body.sc-single-product #comments ol.commentlist li .description p {
	font-size: 0.875rem;
	color: #4b5563;
	line-height: 1.75;
	margin: 0;
}

/* Form: "Be the first to review" heading */
body.sc-single-product .comment-reply-title {
	display: block;
	font-size: 0.95rem;
	font-weight: 700;
	color: #111827;
	margin-bottom: 1.25rem;
	line-height: 1.4;
}
body.sc-single-product .comment-reply-title small { display: none; }

/* Email note */
body.sc-single-product p.comment-notes {
	font-size: 0.8rem;
	color: #9ca3af;
	margin-bottom: 1.25rem;
}

/* Field labels */
body.sc-single-product .comment-form-rating label,
body.sc-single-product .comment-form-comment label,
body.sc-single-product .comment-form-author label,
body.sc-single-product .comment-form-email label {
	display: block;
	font-size: 0.75rem;
	font-weight: 600;
	color: #374151;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 0.5rem;
}

/* Star rating */
body.sc-single-product .comment-form-rating { margin-bottom: 1.25rem; }
body.sc-single-product #rating { display: none !important; }

body.sc-single-product p.stars { margin: 0; line-height: 1; }
body.sc-single-product p.stars a {
	font-size: 1.5rem !important;
	text-decoration: none !important;
}
body.sc-single-product p.stars a::before,
body.sc-single-product p.stars a:hover ~ a::before {
	color: #d1d5db !important;
}
body.sc-single-product p.stars:hover a::before {
	color: #f59e0b !important;
}
body.sc-single-product p.stars a:hover ~ a::before {
	color: #d1d5db !important;
}
body.sc-single-product p.stars.selected a.active::before,
body.sc-single-product p.stars.selected a:not(.active):not(.active ~ a)::before {
	color: #f59e0b !important;
}
body.sc-single-product p.stars.selected a.active ~ a::before {
	color: #d1d5db !important;
}

/* Textarea */
body.sc-single-product .comment-form-comment { margin-bottom: 1.25rem; }
body.sc-single-product .comment-form-comment textarea {
	width: 100%;
	min-height: 120px;
	padding: 0.75rem 1rem;
	border: 1px solid #e5e7eb;
	border-radius: 0.625rem;
	font-size: 0.9rem;
	color: #111827;
	background: #fff;
	resize: vertical;
	font-family: inherit;
	outline: none;
	transition: border-color 0.15s, box-shadow 0.15s;
}
body.sc-single-product .comment-form-comment textarea:focus {
	border-color: #dc4a26;
	box-shadow: 0 0 0 3px rgba(220, 74, 38, 0.1);
}

/* Name / email inputs */
body.sc-single-product .comment-form-author,
body.sc-single-product .comment-form-email { margin-bottom: 1rem; }
body.sc-single-product .comment-form-author input,
body.sc-single-product .comment-form-email input {
	width: 100%;
	padding: 0.625rem 0.875rem;
	border: 1px solid #e5e7eb;
	border-radius: 0.625rem;
	font-size: 0.9rem;
	color: #111827;
	background: #fff;
	outline: none;
	font-family: inherit;
	transition: border-color 0.15s, box-shadow 0.15s;
}
body.sc-single-product .comment-form-author input:focus,
body.sc-single-product .comment-form-email input:focus {
	border-color: #dc4a26;
	box-shadow: 0 0 0 3px rgba(220, 74, 38, 0.1);
}

/* Submit button */
body.sc-single-product #respond .form-submit { margin: 0; }
body.sc-single-product #respond #submit {
	display: inline-flex !important;
	align-items: center;
	background: #dc4a26 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 0.625rem !important;
	padding: 0.7rem 1.5rem !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	cursor: pointer !important;
	transition: background 0.15s !important;
	box-shadow: none !important;
}
body.sc-single-product #respond #submit:hover {
	background: #c03d1c !important;
}

/* ---- Responsive ---- */
@media (max-width: 1023px) {
	body.sc-single-product .related ul.products,
	body.sc-single-product .up-sells ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 640px) {
	body.sc-single-product .related ul.products,
	body.sc-single-product .up-sells ul.products {
		grid-template-columns: 1fr !important;
	}

	body.sc-single-product .woocommerce-tabs .panel {
		padding: 1.25rem !important;
	}
}

/* ================================================================
   Cart page
   ================================================================ */

/* ---- Empty cart icon animations ---- */
@keyframes sc-cart-bg-pop {
	0%   { transform: scale(0);    opacity: 0; }
	60%  { transform: scale(1.12); opacity: 1; }
	80%  { transform: scale(0.96); }
	100% { transform: scale(1); }
}

@keyframes sc-cart-draw {
	to { stroke-dashoffset: 0; }
}

@keyframes sc-cart-wheel-in {
	0%   { transform: scale(0); opacity: 0; }
	100% { transform: scale(1); opacity: 1; }
}

.sc-empty-cart-svg {
	overflow: visible !important;
}

.sc-empty-cart-bg {
	transform-origin: 28px 28px;
	animation: sc-cart-bg-pop 0.45s cubic-bezier(0.22, 1, 0.36, 1) forwards !important;
}

.sc-empty-cart-body {
	animation: sc-cart-draw 0.4s ease-out 0.35s forwards !important;
}

.sc-empty-cart-wheel {
	transform-origin: center;
	transform: scale(0);
	opacity: 0;
	animation: sc-cart-wheel-in 0.25s ease-out 0.7s forwards !important;
}

/* ---- Empty cart state ---- */
.sc-cart-empty {
	grid-column: 1 / -1 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	padding: 4rem 1.5rem !important;
}

.sc-cart-empty__icon {
	margin-bottom: 1.5rem !important;
}

.sc-cart-empty__heading {
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	margin: 0 0 0.5rem !important;
	border: none !important;
}

.sc-cart-empty__sub {
	font-size: 0.9rem !important;
	color: #6b7280 !important;
	margin: 0 0 2rem !important;
}

.sc-cart-empty__btn {
	display: inline-flex !important;
	align-items: center !important;
	padding: 0.6875rem 1.75rem !important;
	background: #dc4a26 !important;
	color: #fff !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	border-radius: 0.625rem !important;
	text-decoration: none !important;
	transition: background 0.15s !important;
	border: none !important;
}

.sc-cart-empty__btn:hover {
	background: #c03d1c !important;
	color: #fff !important;
}

body.sc-theme .woocommerce-cart table.cart,
body.sc-theme .woocommerce-checkout table.shop_table {
	border-collapse: collapse !important;
	border: none !important;
	border-radius: 0 !important;
	overflow: visible !important;
	width: 100% !important;
	font-size: 0.9rem !important;
}

body.sc-theme table.cart thead th,
body.sc-theme table.shop_table thead th {
	background: transparent !important;
	font-size: 0.68rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	color: #9ca3af !important;
	padding: 0 0 0.75rem !important;
	border-bottom: 1px solid #e5e7eb !important;
}

body.sc-theme table.cart td,
body.sc-theme table.shop_table td {
	padding: 1.375rem 0 !important;
	border-bottom: 1px solid #f3f4f6 !important;
	vertical-align: middle !important;
	color: #111827 !important;
	background: transparent !important;
}

body.sc-theme table.cart tr:last-child td,
body.sc-theme table.shop_table tr:last-child td {
	border-bottom: none !important;
}

/* Thumbnail */
body.sc-theme table.cart td.product-thumbnail {
	padding-right: 0 !important;
	width: auto !important;
}

body.sc-theme table.cart .product-thumbnail img {
	width: 72px !important;
	height: 72px !important;
	object-fit: cover !important;
	border-radius: 0.625rem !important;
	border: 1px solid #f0f0f0 !important;
	display: block !important;
	background: #f9fafb !important;
}

/* Product name cell */
body.sc-theme table.cart td.product-name {
	padding-right: 0 !important;
}

body.sc-theme table.cart .product-name a {
	font-weight: 600 !important;
	color: #111827 !important;
	text-decoration: underline !important;
	text-decoration-color: #e5e7eb !important;
	text-underline-offset: 2px !important;
	font-size: 0.9375rem !important;
	display: block !important;
	margin-bottom: 0 !important;
	line-height: 1.4 !important;
}

body.sc-theme table.cart .product-name a:hover {
	color: #dc4a26 !important;
	text-decoration-color: #dc4a26 !important;
}

/* Subscription price / "₹55.00 every month" shown in product-name */
body.woocommerce-cart table.cart .product-name .subscription-price,
body.woocommerce-cart table.cart .product-name .woocommerce-Price-amount {
	font-size: 0.82rem !important;
	color: #6b7280 !important;
	font-weight: 500 !important;
}

/* Short description (PAO injects under product name) */
body.woocommerce-cart table.cart .product-name p,
body.woocommerce-cart table.cart .product-name > span.description {
	font-size: 0.78rem !important;
	color: #9ca3af !important;
	margin: 0.25rem 0 0 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	line-height: 1.45 !important;
}

/* Addon / variation meta — dt label + dd value, each pair on its own line */
body.sc-theme table.cart .product-name dl,
body.sc-theme table.shop_table .product-name dl,
body.sc-theme .wc-item-meta {
	margin: 0.4rem 0 0 !important;
	padding: 0 !important;
	display: block !important;
	list-style: none !important;
}

/* Show dt label inline */
body.sc-theme table.cart .product-name dl dt,
body.sc-theme table.shop_table .product-name dl dt {
	display: inline !important;
	font-size: 0.8rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
}


body.sc-theme table.cart .product-name dl dd,
body.sc-theme table.shop_table .product-name dl dd,
body.sc-theme .wc-item-meta li {
	display: inline !important;
	font-size: 0.8rem !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	white-space: normal !important;
	line-height: 1.5 !important;
}

/* Force new line after each dd so next dt starts on its own line */
body.sc-theme table.cart .product-name dl dd::after,
body.sc-theme table.shop_table .product-name dl dd::after {
	content: "" !important;
	display: block !important;
}

body.sc-theme table.cart .product-name dl dd p,
body.sc-theme table.shop_table .product-name dl dd p {
	display: inline !important;
	margin: 0 !important;
	font-size: inherit !important;
	color: inherit !important;
}

/* Unit price — shown below name, muted */
body.sc-theme table.cart .product-price {
	font-weight: 500 !important;
	font-size: 0.9rem !important;
	color: #374151 !important;
	white-space: nowrap !important;
}

/* Subtotal — top-right, bold */
body.sc-theme table.cart .product-subtotal {
	font-weight: 600 !important;
	font-size: 1rem !important;
	color: #111827 !important;
	white-space: nowrap !important;
}

/* Quantity stepper */
body.sc-theme table.cart td.product-quantity {
	padding-right: 0 !important;
}

body.sc-theme table.cart .quantity {
	display: inline-flex !important;
	align-items: center !important;
	background: #fff !important;
	border: 1.5px solid #e5e7eb !important;
	border-radius: 0.625rem !important;
	overflow: hidden !important;
	height: 2.5rem !important;
}

body.sc-theme table.cart .quantity input.qty {
	width: 2.75rem !important;
	height: 2.5rem !important;
	text-align: center !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	border: none !important;
	background: transparent !important;
	color: #111827 !important;
	padding: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	-moz-appearance: textfield !important;
	appearance: textfield !important;
}

body.sc-theme table.cart .quantity input.qty::-webkit-inner-spin-button,
body.sc-theme table.cart .quantity input.qty::-webkit-outer-spin-button {
	-webkit-appearance: none !important;
	appearance: none !important;
	margin: 0 !important;
}

body.sc-theme table.cart .quantity .minus,
body.sc-theme table.cart .quantity .plus {
	width: 2.25rem !important;
	height: 2.5rem !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: transparent !important;
	border: none !important;
	color: #9ca3af !important;
	font-size: 1.25rem !important;
	line-height: 1 !important;
	cursor: pointer !important;
	padding: 0 !important;
	transition: color 0.12s, background 0.12s !important;
	font-weight: 300 !important;
}

body.sc-theme table.cart .quantity .minus:hover,
body.sc-theme table.cart .quantity .plus:hover {
	color: #111827 !important;
	background: #f9fafb !important;
}

/* Remove button — trash icon */
body.sc-theme table.cart td.product-remove {
	width: auto !important;
	text-align: center !important;
	padding-left: 0 !important;
}

body.sc-theme table.cart .product-remove a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 2.5rem !important;
	height: 2.5rem !important;
	border-radius: 0.625rem !important;
	background: transparent !important;
	color: transparent !important;
	font-size: 0 !important;
	text-decoration: none !important;
	transition: background 0.15s !important;
	border: 1.5px solid #e5e7eb !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 1rem !important;
}

body.sc-theme table.cart .product-remove a:hover {
	border-color: #fca5a5 !important;
	background-color: #fef2f2 !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ef4444' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3C/svg%3E") !important;
}

/* ---- Cart totals shared ---- */
body.sc-theme .cart-collaterals .cart_totals {
	border: 1px solid #e5e7eb !important;
	border-radius: 1rem !important;
	overflow: hidden !important;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 4px 16px rgba(0,0,0,0.06) !important;
}

body.sc-theme .cart_totals h2 {
	font-size: 0.68rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: #6b7280 !important;
	padding: 0.875rem 1.25rem !important;
	margin: 0 !important;
	border-bottom: 1px solid #f3f4f6 !important;
	background: transparent !important;
}

body.sc-theme .cart_totals table th,
body.sc-theme .cart_totals table td {
	padding: 0.875rem 1.25rem !important;
	font-size: 0.875rem !important;
	border-bottom: 1px solid #f3f4f6 !important;
	vertical-align: middle !important;
	background: transparent !important;
}

body.sc-theme .cart_totals table th {
	font-weight: 600 !important;
	color: #374151 !important;
}

body.sc-theme .cart_totals table td {
	text-align: right !important;
	color: #111827 !important;
	font-weight: 500 !important;
}

body.sc-theme .cart_totals table .order-total th,
body.sc-theme .cart_totals table .order-total td {
	font-weight: 700 !important;
	font-size: 1.0625rem !important;
	border-bottom: none !important;
	color: #111827 !important;
}

/* Checkout button — early broad-match block; detailed styling in cart section below */
body.sc-theme.woocommerce-cart .wc-proceed-to-checkout a,
body.sc-theme.woocommerce-cart .wc-proceed-to-checkout button,
body.sc-theme .wc-proceed-to-checkout a.checkout-button,
body.sc-theme .wc-proceed-to-checkout a,
body.sc-theme .cart-collaterals a.checkout-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #dc4a26 !important;
	color: #fff !important;
	text-align: center !important;
	padding: 0.9375rem !important;
	border-radius: 0.75rem !important;
	font-weight: 600 !important;
	font-size: 0.9375rem !important;
	font-family: inherit !important;
	text-decoration: none !important;
	border: none !important;
	cursor: pointer !important;
	transition: background 0.15s, box-shadow 0.15s !important;
	margin-top: 0 !important;
	width: 100% !important;
}

body.sc-theme.woocommerce-cart .wc-proceed-to-checkout a:hover,
body.sc-theme.woocommerce-cart .wc-proceed-to-checkout button:hover,
body.sc-theme .wc-proceed-to-checkout a.checkout-button:hover,
body.sc-theme .cart-collaterals a.checkout-button:hover {
	background: #c03d1c !important;
	color: #fff !important;
}

/* WC Product Add-Ons: addon rows inside checkout order-review table
   PAO injects <tr class="order_item"> for each addon after the main product */
body.sc-theme .shop_table .wc-pao-addon-name-cell,
body.sc-theme .shop_table td.product-name .wc-pao-addon-name {
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	color: #9ca3af !important;
}

/* Addon sub-item row: indent it visually */
body.sc-theme .shop_table tr.order_item + tr.order_item td.product-name {
	padding-left: 1.75rem !important;
}

body.sc-theme .shop_table tr.order_item + tr.order_item td.product-name::before {
	content: "↳ ";
	color: #d1d5db;
	font-size: 0.75rem;
}

/* Specifically for checkout review: addon items get muted name */
body.sc-theme #order_review .shop_table .product-name {
	font-size: 0.8rem !important;
	color: #374151 !important;
}

body.sc-theme #order_review .shop_table .product-name strong {
	font-weight: 600 !important;
	color: #111827 !important;
}

/* Cart/checkout — product image thumbnail (canonical size, overrides earlier block) */
body.sc-theme table.cart .product-thumbnail img,
body.woocommerce-cart table.cart .product-thumbnail img {
	width: 72px !important;
	height: 72px !important;
	object-fit: cover !important;
	border-radius: 0.75rem !important;
	border: 1px solid #f3f4f6 !important;
	display: block !important;
}

body.sc-single-product div.product-addon-totals{
	border: 0;
}
body.sc-single-product div.product-addon-totals .wc-pao-subtotal-line{
	border-top: 0;
	margin-top: 0;
}
body.sc-single-product div.product-addon-totals{
    margin: 5px 0 0px 0;
    padding: 0px 0 0 0;
}
.custom-logo-link{
	width: 150px;
    display: inline-block;
    margin-bottom: 0;
	display: flex;
}

/* ================================================================
   Shared WooCommerce page container
   ================================================================ */

/* Storefront floats #primary (.content-area) at 73.9% even when sidebar is removed via PHP.
   Target the ID (#primary) for higher specificity and hide the sidebar element entirely. */
body.woocommerce-cart #primary,
/* Returning customer link */
body.woocommerce-checkout .woocommerce-info a.showlogin {
	color: #dc4a26 !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	margin-left: 0.25rem !important;
}
body.woocommerce-checkout .woocommerce-info a.showlogin:hover {
	text-decoration: underline !important;
}

body.woocommerce-checkout #primary,
body.woocommerce-account #primary,
body.woocommerce-order-received #primary {
	width: 100% !important;
	float: none !important;
	margin-right: 0 !important;
}

body.woocommerce-cart #secondary,
body.woocommerce-checkout #secondary,
body.woocommerce-account #secondary,
body.woocommerce-order-received #secondary {
	display: none !important;
}

body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content,
body.woocommerce-account .entry-content,
body.woocommerce-order-received .entry-content {
	padding: 0 !important;
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-account .woocommerce,
body.woocommerce-order-received .woocommerce {
	max-width: 1130px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 1.5rem 1.25rem 1.5rem !important;
}

@media (min-width: 640px) {
	body.woocommerce-cart .woocommerce,
	body.woocommerce-checkout .woocommerce,
	body.woocommerce-account .woocommerce,
	body.woocommerce-order-received .woocommerce {
		padding-left: 1.5rem !important;
		padding-right: 1.5rem !important;
	}
}

@media (min-width: 1024px) {
	body.woocommerce-cart .woocommerce,
	body.woocommerce-checkout .woocommerce,
	body.woocommerce-account .woocommerce,
	body.woocommerce-order-received .woocommerce {
		padding-left: 2rem !important;
		padding-right: 2rem !important;
	}
}

/* article.hentry acts as sc-container — wraps both .entry-header and .entry-content */
body.woocommerce-cart article.hentry,
body.woocommerce-checkout article.hentry {
	width: 100% !important;
	max-width: 1130px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 1.25rem !important;
	padding-right: 1.25rem !important;
	box-sizing: border-box !important;
}

@media (min-width: 640px) {
	body.woocommerce-cart article.hentry,
	body.woocommerce-checkout article.hentry {
		padding-left: 1.5rem !important;
		padding-right: 1.5rem !important;
	}
}

@media (min-width: 1024px) {
	body.woocommerce-cart article.hentry,
	body.woocommerce-checkout article.hentry {
		padding-left: 2rem !important;
		padding-right: 2rem !important;
	}
}

/* entry-header — top spacing + bottom margin to separate from grid */
body.woocommerce-cart .entry-header,
body.woocommerce-checkout .entry-header {
	padding-top: 2rem !important;
	padding-bottom: 1.5rem !important;
}

@media (min-width: 768px) {
	body.woocommerce-cart .entry-header,
	body.woocommerce-checkout .entry-header {
		padding-top: 3rem !important;
	}
}

/* Shared page heading — cart & checkout keep the title, account hides it */
body.woocommerce-cart h1.entry-title,
body.woocommerce-checkout h1.entry-title {
	font-size: 1.5rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	margin: 0 !important;
}

body.woocommerce-account h1.entry-title,
body.woocommerce-account .entry-header {
	display: none !important;
}

/* Hide WP admin edit-page link that floats outside layout */
body.woocommerce-account .entry-footer,
body.woocommerce-account .edit-link {
	display: none !important;
}

/* Shared form field base */
body.woocommerce-cart .woocommerce input[type="text"],
body.woocommerce-cart .woocommerce input[type="email"],
body.woocommerce-cart .woocommerce input[type="tel"],
body.woocommerce-cart .woocommerce input[type="password"],
body.woocommerce-cart .woocommerce input[type="number"],
body.woocommerce-cart .woocommerce textarea,
body.woocommerce-cart .woocommerce select,
body.woocommerce-checkout .woocommerce input[type="text"],
body.woocommerce-checkout .woocommerce input[type="email"],
body.woocommerce-checkout .woocommerce input[type="tel"],
body.woocommerce-checkout .woocommerce input[type="password"],
body.woocommerce-checkout .woocommerce input[type="number"],
body.woocommerce-checkout .woocommerce textarea,
body.woocommerce-checkout .woocommerce select,
body.woocommerce-account .woocommerce input[type="text"],
body.woocommerce-account .woocommerce input[type="email"],
body.woocommerce-account .woocommerce input[type="tel"],
body.woocommerce-account .woocommerce input[type="password"],
body.woocommerce-account .woocommerce textarea,
body.woocommerce-account .woocommerce select {
	border: 1px solid #e5e7eb !important;
	border-radius: 0.625rem !important;
	padding: 0.625rem 0.875rem !important;
	font-size: 0.9rem !important;
	font-family: inherit !important;
	color: #111827 !important;
	background: #fff !important;
	box-shadow: none !important;
	outline: none !important;
	width: 100% !important;
	transition: border-color 0.15s, box-shadow 0.15s !important;
}

body.woocommerce-cart .woocommerce input:focus,
body.woocommerce-cart .woocommerce textarea:focus,
body.woocommerce-cart .woocommerce select:focus,
body.woocommerce-checkout .woocommerce input:focus,
body.woocommerce-checkout .woocommerce textarea:focus,
body.woocommerce-checkout .woocommerce select:focus,
body.woocommerce-account .woocommerce input:focus,
body.woocommerce-account .woocommerce textarea:focus,
body.woocommerce-account .woocommerce select:focus {
	border-color: #dc4a26 !important;
	box-shadow: 0 0 0 3px rgba(220, 74, 38, 0.1) !important;
}

/* Field labels */
body.woocommerce-cart .woocommerce label,
body.woocommerce-checkout .woocommerce label,
body.woocommerce-account .woocommerce label {
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	color: #374151 !important;
}

/* ================================================================
   Cart page — Stripe-style two-column layout
   ================================================================ */

/* Full-width content area (prevent Storefront reserving sidebar space) */
body.woocommerce-cart .content-area,
body.woocommerce-cart .site-main {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Two-column grid — article is the sc-container, no horizontal padding needed here */
body.woocommerce-cart .woocommerce {
	display: grid !important;
	grid-template-columns: 1fr !important;
	grid-template-areas:
		"notices"
		"form"
		"totals" !important;
	gap: 0 !important;
	align-items: start !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding: 0 0 2.5rem !important;
}

@media (min-width: 1024px) {
	body.woocommerce-cart .woocommerce {
		grid-template-columns: 1fr 360px !important;
		grid-template-areas:
			"notices notices"
			"form    totals" !important;
		gap: 0 2rem !important;
	}
}

body.woocommerce-cart .woocommerce-notices-wrapper { grid-area: notices !important; }
body.woocommerce-cart .cart-collaterals            { grid-area: totals  !important; display: block !important; }

/* Cart form — card matching account page content cards */
body.woocommerce-cart .woocommerce-cart-form {
	grid-area: form !important;
	margin-bottom: 0 !important;
	background: #fff !important;
	border: 1px solid #f3f4f6 !important;
	border-radius: 1rem !important;
	overflow: hidden !important;
}

/* ================================================================
   Cart list — div-based layout (child-theme template override)
   ================================================================ */

.sc-cart-list {
	display: block;
}

/* Each cart item row */
.sc-cart-item {
	display: flex;
	align-items: flex-start;
	gap: 1.25rem;
	padding: 1.5rem 1.75rem;
	border-bottom: 1px solid #f3f4f6;
	position: relative;
}

.sc-cart-item:last-of-type {
	border-bottom: none;
}

/* Thumbnail */
.sc-item-thumb {
	flex-shrink: 0;
	width: 88px;
}

.sc-item-thumb img {
	width: 88px;
	height: 88px;
	object-fit: cover;
	border-radius: 0.75rem;
	border: 1px solid #f0f0f0;
	display: block;
	background: #f9fafb;
}

/* Info block */
.sc-item-info {
	flex: 1;
	min-width: 0;
	padding-right: 1rem;
}

/* Product name */
.sc-item-name {
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 0.3rem;
}

.sc-item-name a {
	color: #111827;
	text-decoration: none;
}

.sc-item-name a:hover {
	color: #dc4a26;
	text-decoration-color: #dc4a26;
}

/* Variation / addon meta dl */
.sc-item-info .wc-item-meta,
.sc-item-info dl.variation {
	margin: 0 0 0.125rem !important;
	padding: 0 !important;
	list-style: none !important;
	display: block !important;
}


.sc-item-info dl dt,
.sc-item-info .wc-item-meta dt {
	display: inline !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
}


.sc-item-info dl dd,
.sc-item-info .wc-item-meta dd {
	display: inline !important;
	font-size: 0.8125rem !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.sc-item-info dl dd p,
.sc-item-info .wc-item-meta dd p {
	display: inline !important;
	margin: 0 !important;
}

/* Line break after each dd so next dt starts on new line */
.sc-item-info dl dd::after,
.sc-item-info .wc-item-meta dd::after {
	content: "";
	display: block;
}

/* Unit price */
/* Mobile-only price inside product info — hidden on desktop where .sc-item-subtotal shows */
.sc-item-price {
	display: none;
	font-size: 0.9rem;
	font-weight: 500;
	color: #374151;
	margin-top: 0.5rem;
}

/* Controls: qty + remove */
.sc-item-controls {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: 0.875rem;
}

/* Quantity stepper */
.sc-qty {
	display: inline-flex;
	align-items: center;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 0.625rem;
	overflow: hidden;
	height: 2.5rem;
}

.sc-qty-minus,
.sc-qty-plus {
	width: 2.25rem;
	height: 2.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	color: #9ca3af;
	cursor: pointer;
	padding: 0;
	transition: color 0.12s, background 0.12s;
	flex-shrink: 0;
}

.sc-qty-minus:hover,
.sc-qty-plus:hover {
	color: #111827;
	background: #f9fafb;
}

.input-qty {
	width: 2.75rem;
	height: 2.5rem;
	text-align: center;
	font-size: 0.9375rem;
	font-weight: 600;
	font-family: inherit;
	border: none;
	background: transparent;
	color: #111827;
	padding: 0;
	box-shadow: none;
	outline: none;
	-moz-appearance: textfield;
	appearance: textfield;
}

.input-qty::-webkit-inner-spin-button,
.input-qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
}

/* Remove / trash button */
.sc-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.625rem;
	border: 1.5px solid #e5e7eb;
	background: transparent;
	color: #9ca3af;
	text-decoration: none;
	transition: color 0.15s, border-color 0.15s, background 0.15s;
	flex-shrink: 0;
}

.sc-remove:hover {
	color: #ef4444;
	border-color: #fca5a5;
	background: #fef2f2;
}

/* Subtotal */
.sc-item-subtotal {
	flex-shrink: 0;
	width: 140px;
	text-align: right;
	font-size: 1rem;
	font-weight: 600;
	color: #111827;
	white-space: nowrap;
}

/* ---- Cart item — mobile layout ---- */
@media (max-width: 639px) {
	.sc-cart-item {
		padding: 1rem;
		gap: 0.875rem;
	}
	.sc-item-thumb {
		width: 72px;
	}
	.sc-item-thumb img {
		width: 72px;
		height: 72px;
	}
	.sc-item-info {
		padding-right: 0;
	}
	/* On mobile: show inline price, hide the right-column subtotal */
	.sc-item-price {
		display: block;
	}
	.sc-item-subtotal {
		display: none;
	}
	.sc-cart-actions {
		padding: 0.875rem 1rem;
	}
}

/* Coupon / actions bar */
.sc-cart-actions {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 1.125rem 1.75rem;
	/* border-top: 1px solid #f3f4f6; */
}

.sc-coupon {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.sc-coupon input[type="text"] {
	height: 2.5rem;
	padding: 0 0.875rem;
	border: 1px solid #e5e7eb;
	border-radius: 0.625rem;
	font-size: 0.875rem;
	font-family: inherit;
	color: #111827;
	background: #fff;
	box-shadow: none;
	outline: none;
	width: 200px;
	transition: border-color 0.15s;
}

.sc-coupon input[type="text"]:focus {
	border-color: #dc4a26;
	box-shadow: 0 0 0 3px rgba(220,74,38,0.1);
}

.sc-coupon-btn {
	height: 2.5rem;
	padding: 0 1.125rem;
	background: #f3f4f6;
	color: #374151;
	border: none;
	border-radius: 0.625rem;
	font-size: 0.8125rem;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.15s, color 0.15s;
}

.sc-coupon-btn:hover {
	background: #dc4a26;
	color: #fff;
}

/* ---- Cart table: CSS Grid layout (matches screenshot) ---- */
body.woocommerce-cart table.cart {
	border: none !important;
	border-radius: 0 !important;
	overflow: visible !important;
	display: block !important;
	width: 100% !important;
}

body.woocommerce-cart table.cart thead {
	display: none !important;
}

body.woocommerce-cart table.cart tbody {
	display: block !important;
}

/*
 * Grid: [thumbnail 88px] | [info 1fr] | [remove auto] | [subtotal 150px]
 * Rows:  row1=name  row2=price  row3=qty+remove
 * Thumbnail spans rows 1–3; subtotal anchored to row 1 top-right.
 */
body.woocommerce-cart table.cart tbody tr {
	display: grid !important;
	grid-template-columns: 88px 1fr auto 150px !important;
	grid-template-rows: auto auto auto !important;
	column-gap: 1.25rem !important;
	row-gap: 0 !important;
	padding: 1.625rem 1.75rem !important;
	border-bottom: 1px solid #f3f4f6 !important;
	width: 100% !important;
	box-sizing: border-box !important;
	align-items: start !important;
}

body.woocommerce-cart table.cart tbody tr:last-child {
	border-bottom: none !important;
}

body.woocommerce-cart table.cart td {
	padding: 0 !important;
	border: none !important;
}

/* col 1 | rows 1-3: thumbnail spans full item height */
body.woocommerce-cart table.cart td.product-thumbnail {
	grid-column: 1 !important;
	grid-row: 1 / 4 !important;
	align-self: start !important;
}

/* col 2 | row 1: product name */
body.woocommerce-cart table.cart td.product-name {
	grid-column: 2 / 4 !important;
	grid-row: 1 !important;
}

/* col 2 | row 2: unit price */
body.woocommerce-cart table.cart td.product-price {
	display: block !important;
	grid-column: 2 / 4 !important;
	grid-row: 2 !important;
	padding-top: 0.375rem !important;
}

/* col 2 | row 3: quantity stepper */
body.woocommerce-cart table.cart td.product-quantity {
	grid-column: 2 !important;
	grid-row: 3 !important;
	padding-top: 0.875rem !important;
}

/* col 3 | row 3: trash icon, same row as qty */
body.woocommerce-cart table.cart td.product-remove {
	grid-column: 3 !important;
	grid-row: 3 !important;
	padding-top: 0.875rem !important;
	display: flex !important;
	align-items: center !important;
}

/* col 4 | row 1: subtotal top-right */
body.woocommerce-cart table.cart td.product-subtotal {
	grid-column: 4 !important;
	grid-row: 1 !important;
	text-align: right !important;
	align-self: start !important;
}

/* Coupon / actions row: spans all columns */
body.woocommerce-cart table.cart td.actions {
	display: flex !important;
	grid-column: 1 / -1 !important;
	padding: 1.25rem 1.75rem !important;
	border-top: 1px solid #f3f4f6 !important;
	background: transparent !important;
	box-sizing: border-box !important;
}

body.woocommerce-cart button[name="update_cart"] {
	display: none !important;
}

/* Coupon row */
body.woocommerce-cart .coupon {
	display: flex !important;
	gap: 0.5rem !important;
	align-items: center !important;
}

body.woocommerce-cart .coupon input#coupon_code {
	width: auto !important;
	flex: 1 !important;
	height: 2.5rem !important;
	padding: 0 0.75rem !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 0.625rem !important;
	font-size: 0.875rem !important;
	font-family: inherit !important;
	color: #111827 !important;
	background: #fff !important;
	box-shadow: none !important;
}

body.woocommerce-cart .coupon input#coupon_code:focus {
	border-color: #dc4a26 !important;
	box-shadow: 0 0 0 3px rgba(220,74,38,0.1) !important;
	outline: none !important;
}

body.woocommerce-cart .coupon .button {
	background: #f3f4f6 !important;
	color: #374151 !important;
	border: none !important;
	border-radius: 0.625rem !important;
	padding: 0 1.125rem !important;
	height: 2.5rem !important;
	line-height: 2.5rem !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	font-family: inherit !important;
	cursor: pointer !important;
	transition: background 0.15s, color 0.15s !important;
	white-space: nowrap !important;
}

body.woocommerce-cart .coupon .button:hover {
	background: #dc4a26 !important;
	color: #fff !important;
}

/* ---- Order summary card ---- */
body.woocommerce-cart .cart_totals {
	width: 100% !important;
	max-width: none !important;
	background: #fff !important;
	border: 1px solid #f0f0f0 !important;
	border-radius: 1rem !important;
	overflow: hidden !important;
	box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.04) !important;
}

@media (max-width: 1023px) {
	body.woocommerce-cart .cart_totals {
		margin-top: 1.5rem !important;
	}
}

@media (min-width: 1024px) {
	body.woocommerce-cart .cart_totals {
		position: sticky !important;
		top: 6rem !important;
	}
}

body.woocommerce-cart .cart_totals h2 {
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.09em !important;
	text-transform: uppercase !important;
	color: #9ca3af !important;
	padding: 1.1rem 1.375rem 0 !important;
	margin: 0 0 0.5rem !important;
	border-bottom: none !important;
	background: transparent !important;
}

body.woocommerce-cart .cart_totals table {
	width: 100% !important;
	border-collapse: collapse !important;
	border: none !important;
	border-radius: 0 !important;
	margin-bottom: 0;
}

/* All rows: no horizontal rule, generous rhythm */
body.woocommerce-cart .cart_totals table th,
body.woocommerce-cart .cart_totals table td {
	padding: 0.45rem 1.375rem !important;
	font-size: 0.875rem !important;
	border: none !important;
	vertical-align: middle !important;
	background: transparent !important;
}

body.woocommerce-cart .cart_totals table tbody tr:first-child th,
body.woocommerce-cart .cart_totals table tbody tr:first-child td {
	padding-top: 0.9rem !important;
}

body.woocommerce-cart .cart_totals table th {
	font-weight: 500 !important;
	color: #6b7280 !important;
}

body.woocommerce-cart .cart_totals table td {
	text-align: right !important;
	color: #374151 !important;
	font-weight: 500 !important;
}

/* Single divider before the "Total due today" row */
body.woocommerce-cart .cart_totals table .order-total th,
body.woocommerce-cart .cart_totals table .order-total td {
	padding-top: 1rem !important;
	padding-bottom: 1rem !important;
	/* border-top: 1px solid #f3f4f6 !important; */
	font-size: 1rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
}

/* Only the non-recurring order-total row gets the divider */
body.woocommerce-cart .cart_totals table .recurring-total.order-total th,
body.woocommerce-cart .cart_totals table .recurring-total.order-total td {
	border-top: none !important;
	padding-top: 0.45rem !important;
	padding-bottom: 0.45rem !important;
}

/* Subscription small helper text */
body.woocommerce-cart .cart_totals table th small,
body.woocommerce-cart .cart_totals table td small {
	font-size: 0.72rem !important;
	color: #9ca3af !important;
	font-weight: 400 !important;
	display: block !important;
	margin-top: 0.1rem !important;
}

/* "Subscription Details" section divider row */
body.woocommerce-cart .cart_totals table .recurring-totals th,
body.woocommerce-cart .cart_totals table .recurring-totals td {
	padding-top: 1rem !important;
	padding-bottom: 0.35rem !important;
	border-top: 1px solid #f3f4f6 !important;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	color: #9ca3af !important;
}

/* Recurring subtotal + recurring total — shown as dim secondary rows */
body.woocommerce-cart .cart_totals table .recurring-subtotal th,
body.woocommerce-cart .cart_totals table .recurring-subtotal td,
body.woocommerce-cart .cart_totals table .recurring-total th,
body.woocommerce-cart .cart_totals table .recurring-total td {
	font-size: 0.8125rem !important;
	color: #9ca3af !important;
	font-weight: 400 !important;
	white-space: nowrap !important;
	padding-top: 0.3rem !important;
	padding-bottom: 0.3rem !important;
}

/* "Then" prefix before recurring subtotal label to contextualise renewal */
body.woocommerce-cart .cart_totals table .recurring-subtotal th::before {
	content: "Then: " !important;
	font-weight: 500 !important;
}

/* Proceed to Checkout button */
body.woocommerce-cart .wc-proceed-to-checkout {
	padding: 1.125rem 1.375rem 0.875rem !important;
	background: transparent !important;
	/* border-top: 1px solid #f3f4f6 !important; */
	/* margin-top: 0.25rem !important; */
}

body.woocommerce-cart .wc-proceed-to-checkout a,
body.woocommerce-cart .wc-proceed-to-checkout button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout button.checkout-button,
body.woocommerce-cart .cart-collaterals a.checkout-button,
body.woocommerce-cart .cart-collaterals .button.checkout-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	background: #dc4a26 !important;
	color: #fff !important;
	padding: 0.9375rem !important;
	border-radius: 0.75rem !important;
	font-weight: 600 !important;
	font-size: 0.9375rem !important;
	font-family: inherit !important;
	text-decoration: none !important;
	border: none !important;
	cursor: pointer !important;
	transition: background 0.15s, box-shadow 0.15s !important;
	margin-top: 0 !important;
	box-shadow: 0 1px 2px rgba(220,74,38,0.25), 0 4px 12px rgba(220,74,38,0.15) !important;
	letter-spacing: 0.01em !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a:hover,
body.woocommerce-cart .wc-proceed-to-checkout button:hover,
body.woocommerce-cart .cart-collaterals a.checkout-button:hover,
body.woocommerce-cart .cart-collaterals .button.checkout-button:hover {
	background: #c03d1c !important;
	color: #fff !important;
	box-shadow: 0 1px 3px rgba(220,74,38,0.35), 0 6px 18px rgba(220,74,38,0.2) !important;
}

/* Secure checkout trust note below checkout button */
body.woocommerce-cart .wc-proceed-to-checkout::after {
	content: "🔒 Secure & encrypted checkout";
	display: block !important;
	text-align: center !important;
	font-size: 0.72rem !important;
	color: #9ca3af !important;
	margin-top: 0.625rem !important;
	font-family: inherit !important;
}

/* Page title — tighter, more inline feel */
body.woocommerce-cart h1.entry-title {
	font-size: 1.25rem !important;
}
body.woocommerce-cart .entry-header {
	padding-top: 1.5rem !important;
	padding-bottom: 1.25rem !important;
}

/* Hide "Edit page" link at bottom */
body.woocommerce-cart .entry-footer,
body.woocommerce-cart .edit-link {
	display: none !important;
}

/* ================================================================
   Checkout page
   ================================================================ */

/* Full-width content area (no sidebar) */
body.woocommerce-checkout .content-area,
body.woocommerce-checkout .site-main {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Strip default WooCommerce layout on the wrapper */
body.woocommerce-checkout .woocommerce {
	display: block !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 0 2.5rem !important;
}

/* Two-column grid on the form itself */
body.woocommerce-checkout form.sc-checkout-form {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 0 2rem !important;
	align-items: start !important;
}

@media (min-width: 1024px) {
	body.woocommerce-checkout form.sc-checkout-form {
		grid-template-columns: 1fr 400px !important;
	}
}

/* Column placement — no explicit grid-row so that WC's prepended error notice
   (woocommerce-NoticeGroup-checkout) auto-places at row 1 (full width),
   pushing the columns to row 2 automatically */
@media (min-width: 1024px) {
	body.woocommerce-checkout .sc-checkout-left {
		grid-column: 1 !important;
	}

	body.woocommerce-checkout .sc-checkout-right {
		grid-column: 2 !important;
		position: sticky !important;
		top: 5.5rem !important;
	}
}

/* Any other direct form children (WC notice wrappers, hidden inputs, etc.)
   span full width so they sit above the two-column layout */
body.woocommerce-checkout form.sc-checkout-form > *:not(.sc-checkout-left):not(.sc-checkout-right) {
	grid-column: 1 / -1 !important;
}

body.woocommerce-checkout .woocommerce-NoticeGroup-checkout ul.woocommerce-error {
	background: #fff5f5 !important;
	background-color: #fff5f5 !important;
	color: #374151 !important;
	border: 1px solid #fecaca !important;
	/* border-left: 3px solid #dc4a26 !important; */
	border-top: none !important;
	border-radius: 0.5rem !important;
	padding: 0.875rem 1.25rem !important;
	display: block !important;
	margin: 0 !important;
	list-style: none !important;
}

body.woocommerce-checkout .woocommerce-NoticeGroup-checkout ul.woocommerce-error::before {
	display: none !important;
}

body.woocommerce-checkout .woocommerce-NoticeGroup-checkout ul.woocommerce-error li {
	font-size: 0.8125rem !important;
	color: #374151 !important;
	padding: 0.2rem 0 !important;
}

/* Storefront sets .woocommerce-error a { color: #fff } — override for checkout */
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout ul.woocommerce-error li a,
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout ul.woocommerce-error a {
	color: #dc4a26 !important;
	text-decoration: underline !important;
}
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout ul.woocommerce-error li a:hover,
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout ul.woocommerce-error a:hover {
	color: #c03d1c !important;
	opacity: 1 !important;
}

/* ---- Checkout mobile overrides ---- */
@media (max-width: 639px) {
	/* Tighter vertical gap between billing form and summary/payment cards */
	body.woocommerce-checkout form.sc-checkout-form {
		gap: 1rem !important;
	}

	/* Reduce card padding on small screens */
	body.woocommerce-checkout .woocommerce-billing-fields,
	body.woocommerce-checkout .woocommerce-shipping-fields {
		padding: 1.125rem !important;
	}

	/* Stack first/last name fields full-width on mobile */
	body.woocommerce-checkout .form-row-first,
	body.woocommerce-checkout .form-row-last {
		width: 100% !important;
		float: none !important;
		clear: both !important;
	}
	body.woocommerce-checkout .form-row-first {
		margin-right: 0 !important;
	}
}

/* Neutralise Storefront's float-based order review positioning —
   these elements now live inside a grid item, not the form root */
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout #order_review {
	float: none !important;
	width: auto !important;
	clear: none !important;
}

/* Section headings */
body.woocommerce-checkout #customer_details h3,
body.woocommerce-checkout #order_review_heading {
	font-size: 0.875rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	margin: 0 0 1rem !important;
	padding-bottom: 0.75rem !important;
	border-bottom: 1px solid #f3f4f6 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
}

/* Billing / shipping field sections — each a card */
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields {
	background: #fff !important;
	border: 1px solid #f3f4f6 !important;
	border-radius: 1rem !important;
	padding: 1.5rem !important;
	margin-bottom: 1.25rem !important;
}

/* #customer_details is just a transparent container */
body.woocommerce-checkout #customer_details {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Half-width field pairs (first name / last name etc.) */
body.woocommerce-checkout .form-row-first,
body.woocommerce-checkout .form-row-last {
	width: calc(50% - 0.5rem) !important;
	float: left !important;
	clear: none !important;
}

body.woocommerce-checkout .form-row-first {
	margin-right: 1rem !important;
}

body.woocommerce-checkout .form-row-last {
	margin-right: 0 !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper::after,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper::after {
	content: "";
	display: table;
	clear: both;
}

/* Checkout field rows */
body.woocommerce-checkout .form-row {
	margin-bottom: 1rem !important;
}

body.woocommerce-checkout .form-row label {
	display: block !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
	margin-bottom: 0.35rem !important;
}

body.woocommerce-checkout .form-row .required {
	color: #dc4a26 !important;
}

/* Validate icons — hide the red X / green tick */
body.woocommerce-checkout .form-row .woocommerce-input-wrapper span.description {
	font-size: 0.75rem !important;
	color: #9ca3af !important;
	margin-top: 0.25rem !important;
	display: block !important;
}

/* ---- Collapsible order summary accordion ---- */
body.woocommerce-checkout .sc-summary-accordion {
	background: #fff !important;
	border: 1px solid #f3f4f6 !important;
	border-radius: 1rem !important;
	overflow: hidden !important;
	margin-bottom: 1rem !important;
}

body.woocommerce-checkout .sc-summary-toggle {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	padding: 1rem 1.25rem !important;
	background: transparent !important;
	border: none !important;
	cursor: pointer !important;
	font-family: inherit !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	color: #374151 !important;
	text-align: left !important;
	transition: background 0.15s !important;
}

body.woocommerce-checkout .sc-summary-toggle:hover {
	background: #fafafa !important;
}

body.woocommerce-checkout .sc-summary-label {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
}

body.woocommerce-checkout .sc-summary-chevron {
	color: #9ca3af !important;
	transition: transform 0.2s ease !important;
	flex-shrink: 0 !important;
}

body.woocommerce-checkout .sc-summary-toggle[aria-expanded="true"] .sc-summary-chevron {
	transform: rotate(180deg) !important;
}

body.woocommerce-checkout .sc-summary-total {
	font-size: 0.9375rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
}

body.woocommerce-checkout .sc-order-summary-body {
	border-top: 1px solid #f3f4f6 !important;
}

body.woocommerce-checkout .sc-order-summary-body[hidden] {
	display: none !important;
}

/* #order_review inside accordion body — strip standalone card appearance */
body.woocommerce-checkout .sc-order-summary-body #order_review {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 1.25rem 1.5rem !important;
}

body.woocommerce-checkout #order_review_heading {
	margin-top: 0 !important;
}

body.woocommerce-checkout #order_review table.shop_table {
	border: none !important;
	border-radius: 0 !important;
	width: 100% !important;
	margin-bottom: 0 !important;
}

body.woocommerce-checkout #order_review table.shop_table thead {
	display: none !important;
}

body.woocommerce-checkout #order_review table.shop_table tbody td {
	padding: 0.75rem 0 !important;
	border-bottom: 1px solid #f9fafb !important;
	font-size: 0.875rem !important;
	vertical-align: top !important;
}

body.woocommerce-checkout #order_review table.shop_table tbody td.product-name {
	color: #374151 !important;
}

body.woocommerce-checkout #order_review table.shop_table tbody td.product-name .product-quantity {
	color: #9ca3af !important;
	font-weight: 400 !important;
}

body.woocommerce-checkout #order_review table.shop_table tbody td.product-total {
	text-align: right !important;
	font-weight: 600 !important;
	color: #111827 !important;
	white-space: nowrap !important;
}

body.woocommerce-checkout #order_review table.shop_table tfoot tr th,
body.woocommerce-checkout #order_review table.shop_table tfoot tr td {
	padding: 0.45rem 0 !important;
	font-size: 0.875rem !important;
	border: none !important;
	background: transparent !important;
	color: #6b7280 !important;
	font-weight: 400 !important;
}

body.woocommerce-checkout #order_review table.shop_table tfoot tr td {
	text-align: right !important;
	font-weight: 500 !important;
	color: #374151 !important;
}

/* One-time total */
body.woocommerce-checkout #order_review table.shop_table .order-total th,
body.woocommerce-checkout #order_review table.shop_table .order-total td {
	font-weight: 700 !important;
	font-size: 1rem !important;
	color: #111827 !important;
	/* border-top: 1px solid #f3f4f6 !important; */
	padding-top: 0.875rem !important;
	padding-bottom: 0.875rem !important;
}

/* "Subscription Details" section divider */
body.woocommerce-checkout #order_review table.shop_table .recurring-totals th,
body.woocommerce-checkout #order_review table.shop_table .recurring-totals td {
	padding-top: 0.875rem !important;
	padding-bottom: 0.25rem !important;
	border-top: 1px solid #f3f4f6 !important;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	color: #9ca3af !important;
}

/* Recurring subtotal & recurring total — dimmed secondary rows */
body.woocommerce-checkout #order_review table.shop_table .recurring-subtotal th,
body.woocommerce-checkout #order_review table.shop_table .recurring-subtotal td,
body.woocommerce-checkout #order_review table.shop_table .recurring-total.order-total th,
body.woocommerce-checkout #order_review table.shop_table .recurring-total.order-total td {
	font-size: 0.8125rem !important;
	color: #9ca3af !important;
	font-weight: 400 !important;
	border-top: none !important;
	padding-top: 0.3rem !important;
	padding-bottom: 0.3rem !important;
}

body.woocommerce-checkout #order_review table.shop_table .recurring-total.order-total td {
	font-weight: 500 !important;
}

/* Small helper text (e.g. "First renewal: April 15, 2026") */
body.woocommerce-checkout #order_review table.shop_table tfoot th small,
body.woocommerce-checkout #order_review table.shop_table tfoot td small {
	font-size: 0.72rem !important;
	color: #9ca3af !important;
	font-weight: 400 !important;
	display: block !important;
	margin-top: 0.1rem !important;
}

/* Payment section — single unified card */
body.woocommerce-checkout #payment {
	background: #fff !important;
	border: 1px solid #f3f4f6 !important;
	border-radius: 0.875rem !important;
	overflow: hidden !important;
	margin-top: 0 !important;
}

/* Payment method list — card-per-method layout */
body.woocommerce-checkout #payment ul.wc_payment_methods {
	list-style: none !important;
	margin: 0 !important;
	padding: 0.75rem .75rem 0 !important;
	/* border-bottom: 1px solid #f3f4f6 !important; */
	background: #f9fafb !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.5rem !important;
}

/* Each method = its own bordered card */
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method {
	position: relative !important;
	margin: 0 !important;
	padding: 0.75rem 0.875rem !important;
	border: 1.5px solid #e5e7eb !important;
	border-radius: 0.625rem !important;
	background: #fff !important;
	cursor: pointer !important;
	transition: border-color 0.15s !important;
}

/* Highlight the selected card */
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method:has(input:checked) {
	border-color: #dc4a26 !important;
}

/* Hide the native radio — replaced by label::before */
body.woocommerce-checkout #payment ul.wc_payment_methods li input.input-radio[type="radio"] {
	position: absolute !important;
	opacity: 0 !important;
	width: 16px !important;
	height: 16px !important;
	margin: 0 !important;
	cursor: pointer !important;
	z-index: 1 !important;
}

/* Label row — padding-left makes room for the fake radio */
body.woocommerce-checkout #payment ul.wc_payment_methods li label {
	display: flex !important;
	align-items: center !important;
	gap: 0.625rem !important;
	cursor: pointer !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	color: #111827 !important;
	position: relative !important;
	padding: .3rem 1.5rem;
}

/* Fake radio circle via ::before */
body.woocommerce-checkout #payment ul.wc_payment_methods li label::before {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 16px !important;
	height: 16px !important;
	border: 2px solid #d1d5db !important;
	border-radius: 50% !important;
	background: #fff !important;
	box-sizing: border-box !important;
	transition: border-color 0.15s, background-color 0.15s !important;
}

/* Checked — brand red with white inner ring */
body.woocommerce-checkout #payment ul.wc_payment_methods li input.input-radio:checked + label::before {
	border-color: #dc4a26 !important;
	background-color: #dc4a26 !important;
	box-shadow: inset 0 0 0 3px #fff !important;
}

/* Gateway logo in label */
body.woocommerce-checkout #payment ul.wc_payment_methods li label img {
	height: 20px !important;
	width: auto !important;
	object-fit: contain !important;
	vertical-align: middle !important;
	margin-left: 0.25rem !important;
}

/* Payment description — small muted note indented under label */
body.woocommerce-checkout #payment .payment_box {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 0 0 1.625rem !important;
	margin: 0 !important;
	box-shadow: none !important;
}

body.woocommerce-checkout #payment .payment_box p {
	font-size: 0.75rem !important;
	color: #9ca3af !important;
	margin: 0 !important;
	line-height: 1.5 !important;
}

/* Privacy policy text — small and muted */
body.woocommerce-checkout #payment .place-order .woocommerce-privacy-policy-text,
body.woocommerce-checkout #payment .place-order p {
	font-size: 0.72rem !important;
	color: #b0b7c3 !important;
	line-height: 1.5 !important;
	margin-bottom: 0.75rem !important;
}

body.woocommerce-checkout #payment .place-order .woocommerce-privacy-policy-text a,
body.woocommerce-checkout #payment .place-order p a {
	color: #9ca3af !important;
	text-decoration: underline !important;
}

/* Place order area — tight padding */
body.woocommerce-checkout #payment .place-order {
	padding: 0.875rem 1rem 1.5rem !important;
}

body.woocommerce-checkout #payment #place_order {
	display: block !important;
	width: 100% !important;
	background: #dc4a26 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 0.75rem !important;
	padding: 0.9375rem !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	font-family: inherit !important;
	cursor: pointer !important;
	transition: background 0.15s, box-shadow 0.15s !important;
	text-align: center !important;
	box-shadow: 0 1px 2px rgba(220,74,38,0.25), 0 4px 12px rgba(220,74,38,0.15) !important;
	letter-spacing: 0.01em !important;
}

body.woocommerce-checkout #payment #place_order:hover {
	background: #c03d1c !important;
	box-shadow: 0 1px 3px rgba(220,74,38,0.35), 0 6px 18px rgba(220,74,38,0.2) !important;
}

/* Terms & conditions checkbox row */
body.woocommerce-checkout #payment .place-order label.checkbox {
	display: flex !important;
	align-items: flex-start !important;
	gap: 0.5rem !important;
	font-size: 0.8125rem !important;
	color: #374151 !important;
	margin-bottom: 0.875rem !important;
	line-height: 1.5 !important;
	cursor: pointer !important;
}

body.woocommerce-checkout #payment .place-order #terms {
	flex-shrink: 0 !important;
	width: 1rem !important;
	height: 1rem !important;
	margin: 0.2rem 0 0 !important;
	cursor: pointer !important;
	accent-color: #dc4a26 !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	border: 1.5px solid #d1d5db !important;
	border-radius: 0.25rem !important;
	background: #fff !important;
	outline: none !important;
	box-shadow: none !important;
	transition: border-color 0.15s, background 0.15s !important;
	position: relative !important;
	display: inline-block !important;
}

body.woocommerce-checkout #payment .place-order #terms:checked {
	background: #dc4a26 !important;
	border-color: #dc4a26 !important;
}

body.woocommerce-checkout #payment .place-order #terms:checked::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	left: 0.2rem !important;
	top: 0.05rem !important;
	width: 0.35rem !important;
	height: 0.6rem !important;
	border: 2px solid #fff !important;
	border-top: none !important;
	border-left: none !important;
	transform: rotate(45deg) !important;
}

/* Override WooCommerce's invalid outline on #terms */
body.woocommerce-checkout .woocommerce-invalid #terms {
	outline: none !important;
	border-color: #dc4a26 !important;
}

body.woocommerce-checkout #payment .place-order .woocommerce-terms-and-conditions-checkbox-text a {
	color: #dc4a26 !important;
	text-decoration: underline !important;
}

body.woocommerce-checkout #payment .place-order label.checkbox abbr.required {
	display: none !important;
}

/* Trust note below place order button */
body.woocommerce-checkout #payment .place-order::after {
	content: "🔒 Secure & encrypted checkout";
	display: block !important;
	text-align: center !important;
	font-size: 0.72rem !important;
	color: #9ca3af !important;
	margin-top: 0.625rem !important;
	font-family: inherit !important;
}

/* Page title */
body.woocommerce-checkout h1.entry-title {
	font-size: 1.25rem !important;
}

body.woocommerce-checkout .entry-header {
	padding-top: 1.5rem !important;
	padding-bottom: 1.25rem !important;
}

body.woocommerce-checkout .entry-footer,
body.woocommerce-checkout .edit-link {
	display: none !important;
}

/* ================================================================
   Order received / Thank you page
   ================================================================ */

/* Hide page title & entry-header — success banner replaces it */
body.woocommerce-order-received h1.entry-title,
body.woocommerce-order-received .entry-header {
	display: none !important;
}

body.woocommerce-order-received .entry-footer,
body.woocommerce-order-received .edit-link {
	display: none !important;
}

/* Outer wrapper — centred, max-width */
body.woocommerce-order-received .sc-thankyou-wrap {
	max-width: 600px !important;
	margin: 0 auto !important;
	padding-top: 2.5rem !important;
	padding-bottom: 3rem !important;
}

/* ---- Success / fail banner ---- */
.sc-thankyou-header {
	text-align: center !important;
	margin-bottom: 2rem !important;
}

@keyframes sc-circle-pop {
	0%   { transform: scale(0);    opacity: 0; }
	60%  { transform: scale(1.15); opacity: 1; }
	80%  { transform: scale(0.95); }
	100% { transform: scale(1); }
}

@keyframes sc-check-draw {
	to { stroke-dashoffset: 0; }
}

.sc-check-svg {
	overflow: visible !important;
}

.sc-check-circle {
	transform-origin: 22px 22px;
	animation: sc-circle-pop 0.45s cubic-bezier(0.22, 1, 0.36, 1) forwards !important;
}

.sc-check-path {
	animation: sc-check-draw 0.35s ease-out 0.35s forwards !important;
}

.sc-thankyou-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-bottom: 1rem !important;
}

.sc-thankyou-heading {
	font-size: 1.5rem !important;
	font-weight: 800 !important;
	color: #111827 !important;
	margin: 0 0 0.5rem !important;
	padding: 0 !important;
	border: none !important;
}

.sc-thankyou-sub {
	font-size: 0.9rem !important;
	color: #6b7280 !important;
	margin: 0 !important;
}

.sc-thankyou-sub strong {
	color: #374151 !important;
	font-weight: 600 !important;
}

/* ---- Order meta cards ---- */
.sc-order-meta-grid {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 0.75rem !important;
	margin-bottom: 1.75rem !important;
}

@media (min-width: 480px) {
	.sc-order-meta-grid {
		grid-template-columns: repeat(4, 1fr) !important;
	}
}

.sc-order-meta-item {
	background: #f9fafb !important;
	border: 1px solid #f3f4f6 !important;
	border-radius: 0.875rem !important;
	padding: 0.875rem 1rem !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.25rem !important;
}

.sc-meta-label {
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.07em !important;
	color: #9ca3af !important;
}

.sc-meta-value {
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
	line-height: 1.3 !important;
}

/* ---- Gateway hook output — hidden visually but present in DOM ---- */
.sc-gateway-message {
	display: none !important;
}

/* Also hide the WC default order-overview list if it sneaks in */
body.woocommerce-order-received .woocommerce-order-overview {
	display: none !important;
}

/* Also hide the WC default thank-you paragraph */
body.woocommerce-order-received .woocommerce-thankyou-order-received {
	display: none !important;
}

/* ---- Order details card ---- */
body.woocommerce-order-received .woocommerce-order-details {
	border: 1px solid #f3f4f6 !important;
	border-radius: 1rem !important;
	overflow: hidden !important;
	margin-bottom: 1rem !important;
}

body.woocommerce-order-received .woocommerce-order-details__title {
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.07em !important;
	color: #6b7280 !important;
	padding: 0.875rem 1.25rem !important;
	margin: 0 !important;
	background: #f9fafb !important;
	border-bottom: 1px solid #f3f4f6 !important;
}

/* Hide PRODUCT / TOTAL thead */
body.woocommerce-order-received .woocommerce-table--order-details thead {
	display: none !important;
}

body.woocommerce-order-received .woocommerce-table--order-details {
	width: 100% !important;
	border-collapse: collapse !important;
	font-size: 0.875rem !important;
	margin: 0 !important;
}

body.woocommerce-order-received .woocommerce-table--order-details tbody td {
	padding: 0.875rem 1.25rem !important;
	border-bottom: 1px solid #f9fafb !important;
	color: #374151 !important;
	vertical-align: top !important;
}

body.woocommerce-order-received .woocommerce-table--order-details tbody tr:last-child td {
	border-bottom: none !important;
}

body.woocommerce-order-received .woocommerce-table--order-details tbody .product-total {
	text-align: right !important;
	font-weight: 600 !important;
	color: #111827 !important;
	white-space: nowrap !important;
}

body.woocommerce-order-received .woocommerce-table--order-details tfoot td,
body.woocommerce-order-received .woocommerce-table--order-details tfoot th {
	padding: 0.625rem 1.25rem !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	color: #6b7280 !important;
	border-bottom: 1px solid #f9fafb !important;
}

body.woocommerce-order-received .woocommerce-table--order-details tfoot td {
	text-align: right !important;
	color: #374151 !important;
}

body.woocommerce-order-received .woocommerce-table--order-details tfoot .order_total th,
body.woocommerce-order-received .woocommerce-table--order-details tfoot .order_total td {
	font-weight: 700 !important;
	font-size: 0.9375rem !important;
	color: #111827 !important;
	border-bottom: none !important;
	padding-top: 0.875rem !important;
	padding-bottom: 0.875rem !important;
}

/* Hide repetitive PAO addon meta labels in order details table.
   wc_display_item_meta() renders: <ul class="wc-item-meta"><li><strong class="wc-item-meta-label">Label:</strong> Value</li></ul> */
body.woocommerce-account .sc-account-wrap table.woocommerce-table--order-details .wc-item-meta-label,
body.woocommerce-account .sc-account-wrap table.woocommerce-table--order-details .wc-item-meta li strong,
body.woocommerce-order-received .woocommerce-table--order-details .wc-item-meta-label,
body.woocommerce-order-received .woocommerce-table--order-details .wc-item-meta li strong {
	display: none !important;
}

/* ---- Customer / billing details card ---- */
body.woocommerce-order-received .woocommerce-customer-details {
	border: 1px solid #f3f4f6 !important;
	border-radius: 1rem !important;
	overflow: hidden !important;
	margin-bottom: 1.5rem !important;
}

body.woocommerce-order-received .woocommerce-column__title {
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.07em !important;
	color: #6b7280 !important;
	padding: 0.875rem 1.25rem !important;
	margin: 0 !important;
	background: #f9fafb !important;
	border-bottom: 1px solid #f3f4f6 !important;
}

body.woocommerce-order-received .woocommerce-customer-details address {
	font-style: normal !important;
	font-size: 0.875rem !important;
	color: #4b5563 !important;
	line-height: 1.75 !important;
	padding: 1.125rem 1.25rem !important;
	margin: 0 !important;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
	gap: 0 !important;
}

/* ---- Action buttons ---- */
.sc-thankyou-actions {
	display: flex !important;
	justify-content: center !important;
	gap: 0.75rem !important;
	margin-top: 1.75rem !important;
	flex-wrap: wrap !important;
}

.sc-thankyou-btn {
	display: inline-flex !important;
	align-items: center !important;
	padding: 0.6875rem 1.5rem !important;
	border-radius: 0.75rem !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: background 0.15s, color 0.15s, border-color 0.15s !important;
	background: #dc4a26 !important;
	color: #fff !important;
	border: 1.5px solid #dc4a26 !important;
}

.sc-thankyou-btn:hover {
	background: #c03d1c !important;
	border-color: #c03d1c !important;
	color: #fff !important;
}

.sc-thankyou-btn--ghost {
	background: transparent !important;
	color: #374151 !important;
	border-color: #e5e7eb !important;
}

.sc-thankyou-btn--ghost:hover {
	background: #f9fafb !important;
	border-color: #d1d5db !important;
	color: #111827 !important;
}

/* ================================================================
   Order Pay page
   Razorpay bypasses form-pay.php — style the actual rendered HTML.
   ================================================================ */

body.woocommerce-order-pay .woocommerce {
	max-width: 600px !important;
	margin: 0 auto !important;
	padding-top: 2.5rem !important;
	padding-bottom: 3rem !important;
}

/* Hide WP page title */
body.woocommerce-order-pay h1.entry-title,
body.woocommerce-order-pay .page-title {
	display: none !important;
}

/* ---- Header (injected via before_woocommerce_pay hook) ---- */
body.woocommerce-order-pay .sc-pay-header {
	display: block !important;
	text-align: center !important;
	margin-bottom: 2rem !important;
}

body.woocommerce-order-pay .sc-pay-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-bottom: 1rem !important;
}

body.woocommerce-order-pay .sc-pay-heading {
	display: block !important;
	font-size: 1.5rem !important;
	font-weight: 800 !important;
	color: #111827 !important;
	margin: 0 0 0.5rem !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
	text-align: center !important;
}

body.woocommerce-order-pay .sc-pay-sub {
	display: block !important;
	font-size: 0.9rem !important;
	color: #6b7280 !important;
	margin: 0 !important;
	text-align: center !important;
}

/* ---- ul.order_details → meta grid ---- */
body.woocommerce-order-pay ul.order_details {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 0.75rem !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 1.75rem !important;
	border: none !important;
}

@media (min-width: 480px) {
	body.woocommerce-order-pay ul.order_details {
		grid-template-columns: repeat(4, 1fr) !important;
	}
}

body.woocommerce-order-pay ul.order_details li {
	background: #f9fafb !important;
	border: 1px solid #f3f4f6 !important;
	border-radius: 0.875rem !important;
	padding: 0.875rem 1rem !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.25rem !important;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.07em !important;
	color: #9ca3af !important;
	border-bottom: none !important;
	margin: 0 !important;
}

body.woocommerce-order-pay ul.order_details li::before,
body.woocommerce-order-pay ul.order_details li::after {
	display: none !important;
}

body.woocommerce-order-pay ul.order_details li strong {
	display: block !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	line-height: 1.3 !important;
}

/* ---- Razorpay description paragraph — hide, header replaces it ---- */
body.woocommerce-order-pay .woocommerce > p:not(#msg-razorpay-success):not(.sc-pay-sub):not(:has(#btn-razorpay)) {
	display: none !important;
}

/* ---- Payment card: wrap Razorpay's content ---- */
body.woocommerce-order-pay .woocommerce > form[name="razorpayform"] {
	display: none !important;
}

/* ---- Processing message ---- */
body.woocommerce-order-pay #msg-razorpay-success {
	background: #f0fdf4 !important;
	border: 1px solid #bbf7d0 !important;
	border-top: 1px solid #bbf7d0 !important;
	border-radius: 0.75rem !important;
	padding: 0.875rem 1rem !important;
	color: #15803d !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	margin-bottom: 1rem !important;
}

/* ---- Button container paragraph ---- */
body.woocommerce-order-pay p:has(#btn-razorpay) {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.75rem !important;
	/* background: #fff !important; */
	/* border: 1px solid #f3f4f6 !important; */
	/* border-radius: 1rem !important; */
	/* padding: 1.25rem 1.5rem !important; */
	margin: 0 !important;
}

/* ---- Pay Now button ---- */
body.woocommerce-order-pay #btn-razorpay {
	display: block !important;
	width: 100% !important;
	padding: 0.8125rem 1.5rem !important;
	background: #dc4a26 !important;
	color: #fff !important;
	font-size: 0.9375rem !important;
	font-weight: 700 !important;
	border: none !important;
	border-radius: 0.75rem !important;
	cursor: pointer !important;
	text-align: center !important;
	transition: background 0.15s !important;
	letter-spacing: -0.01em !important;
	box-sizing: border-box !important;
}

body.woocommerce-order-pay #btn-razorpay:hover {
	background: #c03d1c !important;
}

/* ---- Cancel button ---- */
body.woocommerce-order-pay #btn-razorpay-cancel {
	display: block !important;
	width: 100% !important;
	background: none !important;
	border: none !important;
	padding: 0.25rem 0 !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	color: #9ca3af !important;
	cursor: pointer !important;
	text-align: center !important;
	transition: color 0.15s !important;
}

body.woocommerce-order-pay #btn-razorpay-cancel:hover {
	color: #374151 !important;
}

/* ================================================================
   My Account page
   ================================================================ */

/* Full-width content area: sidebar removed via PHP, so site-main goes full-width */
body.woocommerce-account .content-area,
body.woocommerce-account .site-main {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

body.woocommerce-account .widget-area {
	display: none !important;
}

/* Strip WC's own padding — sc-container inside my-account.php handles spacing */
body.woocommerce-account .woocommerce {
	display: block !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}


/* ---- Account wrap top breathing room ---- */
body.woocommerce-account .sc-account-wrap {
	padding-top: 2.5rem;
}

/* ---- Account header (avatar + name) ---- */
.sc-account-header {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 2rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid #f3f4f6;
}

.sc-account-avatar .sc-avatar-img,
.sc-account-avatar img {
	width: 48px !important;
	height: 48px !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	border: 2px solid #f3f4f6 !important;
	display: block !important;
}

.sc-account-name {
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	margin: 0 0 0.125rem !important;
	padding: 0 !important;
	border: none !important;
}

.sc-account-email {
	font-size: 0.875rem !important;
	color: #6b7280 !important;
	margin: 0 !important;
}

/* ---- Two-column layout ---- */
.sc-account-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	align-items: start;
}

@media (min-width: 768px) {
	.sc-account-layout {
		grid-template-columns: 196px 1fr;
		gap: 2rem;
	}
}

/* ---- Sidebar navigation ---- */
.sc-account-nav {
	background: #fff !important;
	border: 1px solid #f3f4f6 !important;
	border-radius: 0.875rem !important;
	overflow: visible !important;
	padding: 0.375rem !important;
	position: sticky !important;
	top: 5.5rem !important;
	width: 196px !important;
	float: none !important;
	box-sizing: border-box !important;
}

.sc-account-nav ul,
.sc-account-nav ul li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	width: auto !important;
	border: none !important;
	overflow: visible !important;
}

.sc-account-nav ul {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.125rem !important;
}

/* Neutralise Storefront's ::before Font Awesome icon injection */
.sc-account-nav ul li a::before {
	display: none !important;
	content: none !important;
}

/* Override Storefront's .hentry .entry-content … display:block with a matching-specificity rule */
.hentry .entry-content .woocommerce-MyAccount-navigation.sc-account-nav ul li a {
	display: flex !important;
	align-items: center !important;
	gap: 0.625rem !important;
	padding: 0.5625rem 0.75rem !important;
	border-radius: 0.5rem !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
	text-decoration: none !important;
	width: 100% !important;
	box-sizing: border-box !important;
	white-space: nowrap !important;
	transition: background 0.12s, color 0.12s !important;
}

.sc-account-nav ul li a {
	display: flex !important;
	align-items: center !important;
	gap: 0.625rem !important;
	padding: 0.5625rem 0.75rem !important;
	border-radius: 0.5rem !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
	text-decoration: none !important;
	width: 100% !important;
	box-sizing: border-box !important;
	white-space: nowrap !important;
	transition: background 0.12s, color 0.12s !important;
}

.sc-account-nav ul li a span {
	display: inline !important;
	visibility: visible !important;
	opacity: 1 !important;
	color: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
}

.sc-account-nav ul li a svg {
	display: block !important;
	flex-shrink: 0 !important;
	width: 15px !important;
	height: 15px !important;
	opacity: 0.5 !important;
	transition: opacity 0.12s !important;
}

.sc-account-nav ul li a:hover {
	background: #f9fafb !important;
	color: #111827 !important;
}

.sc-account-nav ul li a:hover svg {
	opacity: 0.7 !important;
}

.sc-account-nav ul li.is-active a {
	background: #fff4f1 !important;
	color: #dc4a26 !important;
	font-weight: 600 !important;
}

.sc-account-nav ul li.is-active a svg {
	opacity: 1 !important;
}

/* Logout — separated at bottom */
.sc-account-nav ul li.sc-nav-logout {
	margin-top: 0.25rem !important;
	padding-top: 0.25rem !important;
	border-top: 1px solid #f3f4f6 !important;
}

.sc-account-nav ul li.sc-nav-logout a {
	color: #9ca3af !important;
}

.sc-account-nav ul li.sc-nav-logout a:hover {
	color: #dc4a26 !important;
	background: #fff4f1 !important;
}

/* ---- Account content area ---- */
.woocommerce-MyAccount-content {
	min-width: 0 !important;
	float: none !important;
	width: auto !important;
	max-width: 680px !important;
}

.woocommerce-MyAccount-content > p {
	font-size: 0.9rem !important;
	color: #6b7280 !important;
	line-height: 1.6 !important;
	margin-bottom: 1.25rem !important;
}

.woocommerce-MyAccount-content > p a {
	color: #dc4a26 !important;
	text-decoration: none !important;
	font-weight: 500 !important;
}

.woocommerce-MyAccount-content > p a:hover {
	text-decoration: underline !important;
}

/* Section headings */
.woocommerce-MyAccount-content h2 {
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	margin: 0 0 1.25rem !important;
	padding-bottom: 0.875rem !important;
	border-bottom: 1px solid #f3f4f6 !important;
}

.woocommerce-MyAccount-content h3 {
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	margin: 1.5rem 0 0.75rem !important;
}

/* ---- Orders table ---- */
body.woocommerce-account table.woocommerce-orders-table {
	width: 100% !important;
	border-collapse: collapse !important;
	outline: 1px solid #f3f4f6 !important;
	border: 0 !important;
	border-radius: 0.875rem !important;
	overflow: hidden !important;
	font-size: 0.875rem !important;
}

body.woocommerce-account table.woocommerce-orders-table thead th {
	background: #f9fafb !important;
	font-size: 0.68rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.07em !important;
	color: #6b7280 !important;
	padding: 0.75rem 1.25rem !important;
	border-bottom: 1px solid #f3f4f6 !important;
	text-align: left !important;
	white-space: nowrap !important;
}

body.woocommerce-account table.woocommerce-orders-table tbody tr {
	transition: background 0.12s !important;
}

body.woocommerce-account table.woocommerce-orders-table tbody tr:hover {
	background: #fafafa !important;
}

body.woocommerce-account table.woocommerce-orders-table td {
	padding: 0.875rem 1.25rem !important;
	border-bottom: 1px solid #f9fafb !important;
	color: #374151 !important;
	vertical-align: middle !important;
}

body.woocommerce-account table.woocommerce-orders-table tr:last-child td {
	border-bottom: none !important;
}

body.woocommerce-account .woocommerce-orders-table__cell-order-number a {
	font-weight: 700 !important;
	color: #111827 !important;
	text-decoration: none !important;
	font-size: 0.875rem !important;
}

body.woocommerce-account .woocommerce-orders-table__cell-order-number a:hover {
	color: #dc4a26 !important;
}

/* Order status badge */
body.woocommerce-account .woocommerce-orders-table__cell-order-status {
	font-size: 0.75rem !important;
	font-weight: 600 !important;
}

body.woocommerce-account mark.order-status {
	background: #f3f4f6 !important;
	color: #374151 !important;
	border: none !important;
	outline: none !important;
	padding: 0.2rem 0.6rem !important;
	border-radius: 999px !important;
	font-size: 0.72rem !important;
	font-weight: 600 !important;
	text-transform: capitalize !important;
	display: inline-block !important;
	vertical-align: middle !important;
}

body.woocommerce-account .woocommerce-orders-table__row--status-completed mark { background: #dcfce7 !important; color: #166534 !important; }
body.woocommerce-account .woocommerce-orders-table__row--status-processing mark { background: #dbeafe !important; color: #1e40af !important; }
body.woocommerce-account .woocommerce-orders-table__row--status-on-hold mark { background: #fef9c3 !important; color: #854d0e !important; }
body.woocommerce-account .woocommerce-orders-table__row--status-cancelled mark { background: #fee2e2 !important; color: #991b1b !important; }
body.woocommerce-account .woocommerce-orders-table__row--status-pending mark { background: #f3f4f6 !important; color: #374151 !important; }

/* Action buttons */
body.woocommerce-account .woocommerce-orders-table__cell-order-actions .button {
	display: inline-flex !important;
	align-items: center !important;
	padding: 0.3rem 0.75rem !important;
	font-size: 0.78rem !important;
	border-radius: 0.5rem !important;
	background: #f3f4f6 !important;
	color: #374151 !important;
	text-decoration: none !important;
	font-weight: 600 !important;
	border: none !important;
	margin-right: 0.375rem !important;
	transition: background 0.12s, color 0.12s !important;
}

body.woocommerce-account .woocommerce-orders-table__cell-order-actions .button:hover {
	background: #dc4a26 !important;
	color: #fff !important;
}

/* ---- Addresses ---- */
body.woocommerce-account .woocommerce-Addresses {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 1.25rem !important;
	width: 100% !important;
}

@media (max-width: 640px) {
	body.woocommerce-account .woocommerce-Addresses {
		grid-template-columns: 1fr !important;
	}
}

body.woocommerce-account .woocommerce-Address,
body.woocommerce-account .woocommerce-Address.u-column1,
body.woocommerce-account .woocommerce-Address.u-column2 {
	border: 1px solid #f3f4f6 !important;
	border-radius: 0.875rem !important;
	overflow: hidden !important;
	min-width: 0 !important;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-account .woocommerce-Address-title {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: nowrap !important;
	background: #f9fafb !important;
	padding: 0.75rem 1.25rem !important;
	border-bottom: 1px solid #f3f4f6 !important;
	margin: 0 !important;
}

body.woocommerce-account .woocommerce-Address-title h2 {
	font-size: 0.8rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	margin: 0 !important;
	border: none !important;
	padding: 0 !important;
	white-space: nowrap !important;
	flex: 1 !important;
}

body.woocommerce-account .woocommerce-Address-title .edit {
	font-size: 0.78rem !important;
	color: #dc4a26 !important;
	text-decoration: none !important;
	font-weight: 500 !important;
	white-space: nowrap !important;
	flex-shrink: 0 !important;
	margin-left: 0.75rem !important;
}

body.woocommerce-account address {
	font-style: normal !important;
	font-size: 0.875rem !important;
	color: #4b5563 !important;
	line-height: 1.75 !important;
	padding: 1.25rem !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
}

/* ---- View Order page ---- */

body.woocommerce-account .woocommerce-order > p {
	font-size: 0.875rem !important;
	color: #4b5563 !important;
	margin-bottom: 1.5rem !important;
	line-height: 1.6 !important;
}

/* Status badge inline in the intro sentence */
body.woocommerce-account mark.order-status {
	border: none !important;
	outline: none !important;
	padding: 0.2rem 0.625rem !important;
	border-radius: 999px !important;
	font-size: 0.72rem !important;
	font-weight: 600 !important;
	text-transform: capitalize !important;
	vertical-align: middle !important;
	display: inline-block !important;
}

body.woocommerce-account mark.order-status span {
	display: inline !important;
}

body.woocommerce-account mark.order-status.status-processing,
body.woocommerce-account mark.order-status.status-processing span { background: #dbeafe !important; color: #1e40af !important; }
body.woocommerce-account mark.order-status.status-completed,
body.woocommerce-account mark.order-status.status-completed span  { background: #dcfce7 !important; color: #166534 !important; }
body.woocommerce-account mark.order-status.status-on-hold,
body.woocommerce-account mark.order-status.status-on-hold span    { background: #fef9c3 !important; color: #854d0e !important; }
body.woocommerce-account mark.order-status.status-cancelled,
body.woocommerce-account mark.order-status.status-cancelled span  { background: #fee2e2 !important; color: #991b1b !important; }
body.woocommerce-account mark.order-status.status-pending,
body.woocommerce-account mark.order-status.status-pending span    { background: #f3f4f6 !important; color: #374151 !important; }

/* ---- Downloads section (view-order page) ---- */
body.woocommerce-account .woocommerce-order-downloads {
	border: 1px solid #e5e7eb !important;
	border-radius: 1rem !important;
	overflow: hidden !important;
	margin-bottom: 1.25rem !important;
	background: #fff !important;
	box-shadow: 0 1px 3px 0 rgba(0,0,0,.04) !important;
}

body.woocommerce-account .woocommerce-order-downloads__title {
	font-size: 0.8rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.07em !important;
	color: #6b7280 !important;
	padding: 1rem 1.5rem !important;
	margin: 0 !important;
	border-bottom: 1px solid #e5e7eb !important;
	background: #fff !important;
}

body.woocommerce-account .woocommerce-table--order-downloads {
	width: 100% !important;
	border-collapse: collapse !important;
	font-size: 0.875rem !important;
	margin: 0 !important;
}

body.woocommerce-account .woocommerce-table--order-downloads thead th {
	font-size: 0.68rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.07em !important;
	color: #9ca3af !important;
	padding: 0.625rem 1.5rem !important;
	border-bottom: 1px solid #e5e7eb !important;
	background: #f9fafb !important;
	text-align: left !important;
}

body.woocommerce-account .woocommerce-table--order-downloads tbody td {
	padding: 1rem 1.5rem !important;
	color: #374151 !important;
	border-bottom: 1px solid #f3f4f6 !important;
	vertical-align: middle !important;
}

body.woocommerce-account .woocommerce-table--order-downloads tbody tr:last-child td {
	border-bottom: none !important;
}

body.woocommerce-account .woocommerce-table--order-downloads .woocommerce-table__product-name a {
	color: #111827 !important;
	font-weight: 500 !important;
	text-decoration: none !important;
}

body.woocommerce-account .woocommerce-table--order-downloads .woocommerce-table__product-name a:hover {
	color: #dc4a26 !important;
}

body.woocommerce-account .woocommerce-table--order-downloads .woocommerce-button.download {
	display: inline-flex !important;
	align-items: center !important;
	padding: 0.4375rem 1rem !important;
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	border-radius: 0.5rem !important;
	background: #dc4a26 !important;
	color: #fff !important;
	border: none !important;
	text-decoration: none !important;
	transition: background 0.15s !important;
}

body.woocommerce-account .woocommerce-table--order-downloads .woocommerce-button.download:hover {
	background: #c03d1c !important;
}

/* Order details + customer details cards */
body.woocommerce-account .woocommerce-order-details,
body.woocommerce-account .woocommerce-customer-details {
	border: 1px solid #f3f4f6 !important;
	border-radius: 1rem !important;
	overflow: hidden !important;
	margin-bottom: 1.5rem !important;
}

body.woocommerce-account .woocommerce-order-details__title,
body.woocommerce-account .woocommerce-column__title {
	font-size: 0.8rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	padding: 0.875rem 1.25rem !important;
	margin: 0 !important;
	background: #f9fafb !important;
	border-bottom: 1px solid #f3f4f6 !important;
	text-transform: none !important;
}

body.woocommerce-account .woocommerce-table--order-details {
	width: 100% !important;
	border-collapse: collapse !important;
	font-size: 0.875rem !important;
	margin-bottom: 0 !important;
}

body.woocommerce-account .woocommerce-table--order-details thead th {
	background: #f9fafb !important;
	font-size: 0.68rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.07em !important;
	color: #6b7280 !important;
	padding: 0.75rem 1.25rem !important;
	border-bottom: 1px solid #f3f4f6 !important;
	text-align: left !important;
}

body.woocommerce-account .woocommerce-table--order-details tbody td {
	padding: 0.875rem 1.25rem !important;
	color: #374151 !important;
	border-bottom: 1px solid #f9fafb !important;
	vertical-align: middle !important;
}

body.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child td {
	border-bottom: none !important;
}

body.woocommerce-account .woocommerce-table--order-details tfoot td,
body.woocommerce-account .woocommerce-table--order-details tfoot th {
	padding: 0.75rem 1.25rem !important;
	border-bottom: 1px solid #f9fafb !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
}

body.woocommerce-account .woocommerce-table--order-details tfoot .order_total td,
body.woocommerce-account .woocommerce-table--order-details tfoot .order_total th {
	font-weight: 700 !important;
	color: #111827 !important;
}

/* Billing / shipping address inside customer-details */
body.woocommerce-account .woocommerce-customer-details address {
	padding: 1rem 1.25rem !important;
	font-style: normal !important;
	font-size: 0.875rem !important;
	color: #4b5563 !important;
	line-height: 1.75 !important;
	border: none !important;
	margin-bottom: 0;
}

body.woocommerce-account .woocommerce-customer-details .woocommerce-columns {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
	gap: 0 !important;
}

/* ---- Select2 overrides (country/state pickers) ---- */

.select2-container--default .select2-selection--single {
	border: 1px solid #e5e7eb !important;
	border-radius: 0.5rem !important;
	height: 2.75rem !important;
	background: #fff !important;
	box-shadow: none !important;
	/* Keep display:block so select2's absolute-positioned arrow works correctly */
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #111827 !important;
	font-size: 0.9rem !important;
	padding-left: 0.875rem !important;
	padding-right: 2rem !important;
	line-height: 2.75rem !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 2.75rem !important;
	top: 0 !important;
	right: 0.5rem !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-color: #6b7280 transparent transparent transparent !important;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
	border-color: transparent transparent #6b7280 transparent !important;
}

.select2-dropdown {
	border: 1px solid #e5e7eb !important;
	border-radius: 0.5rem !important;
	box-shadow: 0 4px 16px -2px rgba(0,0,0,0.08) !important;
	/* No overflow:hidden — select2 manages internal scrolling itself */
}

.select2-container--default .select2-search--dropdown {
	padding: 0.5rem !important;
	background: #f9fafb !important;
	border-bottom: 1px solid #f3f4f6 !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
	border: 1px solid #e5e7eb !important;
	border-radius: 0.375rem !important;
	padding: 0.4rem 0.75rem !important;
	font-size: 0.875rem !important;
	color: #111827 !important;
	outline: none !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field:focus {
	border-color: #dc4a26 !important;
	box-shadow: 0 0 0 3px rgba(220,74,38,0.1) !important;
}

.select2-results__option {
	font-size: 0.875rem !important;
	padding: 0.5rem 0.875rem !important;
	color: #374151 !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: #fff4f1 !important;
	color: #dc4a26 !important;
}

.select2-container--default .select2-results__option[aria-selected=true] {
	background: #dc4a26 !important;
	color: #fff !important;
}

/* ---- Account edit form ---- */
.woocommerce-MyAccount-content .woocommerce-form-row,
.woocommerce-MyAccount-content .form-row {
	margin-bottom: 1rem !important;
}

.woocommerce-MyAccount-content .woocommerce-form-row label,
.woocommerce-MyAccount-content .form-row label {
	display: block !important;
	font-size: 0.78rem !important;
	font-weight: 600 !important;
	color: #374151 !important;
	margin-bottom: 0.35rem !important;
	text-transform: none !important;
}

.woocommerce-MyAccount-content .woocommerce-form-row .required {
	color: #dc4a26 !important;
}

.woocommerce-MyAccount-content fieldset {
	border: 1px solid #f3f4f6 !important;
	border-radius: 0.75rem !important;
	padding: 0 !important;
	margin: 1.5rem 0 !important;
	overflow: hidden !important;
}

.woocommerce-MyAccount-content fieldset legend {
	display: block !important;
	width: 100% !important;
	float: left !important;
	font-size: 1rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	padding: 0.75rem 1.25rem !important;
	margin: 0 0 15px !important;
	background: #fff !important;
	border-bottom: 1px solid #f3f4f6 !important;
	box-sizing: border-box !important;
}

.woocommerce-MyAccount-content fieldset .form-row,
.woocommerce-MyAccount-content fieldset .woocommerce-form-row {
	padding: 0 1.25rem !important;
}

.woocommerce-MyAccount-content fieldset .form-row:last-child,
.woocommerce-MyAccount-content fieldset .woocommerce-form-row:last-child {
	padding-bottom: 1.25rem !important;
	margin-bottom: 0 !important;
}

/* ---- Password show/hide toggle ---- */
.woocommerce-MyAccount-content .password-input,
.woocommerce form .password-input {
	display: block !important;
	position: relative !important;
	width: 100% !important;
}

.woocommerce-MyAccount-content .password-input input,
.woocommerce form .password-input input {
	width: 100% !important;
	padding-right: 2.75rem !important;
	box-sizing: border-box !important;
}

.woocommerce-MyAccount-content .show-password-input,
.woocommerce form .show-password-input {
	position: absolute !important;
	right: 0.75rem !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	cursor: pointer !important;
	color: #9ca3af !important;
	background: none !important;
	border: none !important;
	padding: 0 !important;
	line-height: 1 !important;
	font-size: 1rem !important;
	display: flex !important;
	align-items: center !important;
	transition: color 0.15s !important;
}

.woocommerce-MyAccount-content .show-password-input:hover,
.woocommerce form .show-password-input:hover {
	color: #374151 !important;
}

/* Display name hint text */
.woocommerce-MyAccount-content .form-row em,
.woocommerce-MyAccount-content .woocommerce-form-row em {
	display: block !important;
	font-size: 0.78rem !important;
	font-style: italic !important;
	color: #9ca3af !important;
	margin-top: 0.35rem !important;
	border: none !important;
	padding: 0 !important;
	background: none !important;
}

.woocommerce-MyAccount-content button[type="submit"],
.woocommerce-MyAccount-content input[type="submit"] {
	background: #dc4a26 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 0.625rem !important;
	padding: 0.7rem 1.75rem !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: background 0.15s !important;
	font-family: inherit !important;
}

.woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-MyAccount-content input[type="submit"]:hover {
	background: #c03d1c !important;
}

/* ================================================================
   Login / Register form
   ================================================================ */

/* Notices wrapper — constrain to card width on login/lost-password */
body.woocommerce-lost-password .woocommerce-notices-wrapper,
body.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper {
	max-width: 440px !important;
	margin: 1.5rem auto 0 !important;
	padding: 0 1.25rem !important;
}

/* Error notice */
body.woocommerce-lost-password .woocommerce-notices-wrapper .woocommerce-error,
body.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper .woocommerce-error {
	background: #fef2f2 !important;
	border: 1px solid #fecaca !important;
	border-radius: 0.5rem !important;
	padding: 0.75rem 1rem !important;
	margin: 0 !important;
	border-top: none !important;
}

body.woocommerce-lost-password .woocommerce-notices-wrapper .woocommerce-error li,
body.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper .woocommerce-error li {
	list-style: none !important;
	color: #b91c1c !important;
	font-size: 0.875rem !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-lost-password .woocommerce-notices-wrapper .woocommerce-error li a,
body.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper .woocommerce-error li a {
	color: #b91c1c !important;
}

/* Success/info notice */
body.woocommerce-lost-password .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper .woocommerce-message {
	background: #f0fdf4 !important;
	border: 1px solid #bbf7d0 !important;
	border-radius: 0.5rem !important;
	color: #15803d !important;
	font-size: 0.875rem !important;
	padding: 0.75rem 1rem !important;
	margin: 0 !important;
	border-top: none !important;
}

/* Notices inside the login/reset card */
.sc-login-card .woocommerce-error,
.sc-login-card .woocommerce-message,
.sc-login-card .woocommerce-info {
	list-style: none !important;
	margin: 0 0 1.25rem !important;
	padding: 0.75rem 1rem !important;
	border-radius: 0.5rem !important;
	font-size: 0.875rem !important;
	border-left: none !important;
}

.sc-login-card .woocommerce-error {
	background: #fef2f2 !important;
	border: 1px solid #fecaca !important;
	color: #b91c1c !important;
}

.sc-login-card .woocommerce-error li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #b91c1c !important;
}

.sc-login-card .woocommerce-message {
	background: #f0fdf4 !important;
	border: 1px solid #bbf7d0 !important;
	color: #15803d !important;
}

.sc-login-card .woocommerce-info {
	background: #eff6ff !important;
	border: 1px solid #bfdbfe !important;
	color: #1d4ed8 !important;
}

body.woocommerce-account .sc-login-wrap {
	max-width: 440px !important;
	margin: 2.5rem auto 3rem !important;
	padding: 0 1.25rem !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 1.25rem !important;
}

.sc-login-card {
	background: #fff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 1rem !important;
	padding: 2rem !important;
	box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
}

.sc-login-logo {
	margin-bottom: 1.5rem !important;
}

.sc-login-logo .custom-logo {
	max-height: 32px !important;
	width: auto !important;
}

.sc-login-site-name {
	font-size: 1.1rem !important;
	font-weight: 800 !important;
	color: #111827 !important;
}

.sc-login-heading {
	font-size: 1.5rem !important;
	font-weight: 800 !important;
	color: #111827 !important;
	margin: 0 0 0.375rem !important;
	padding: 0 !important;
	border: none !important;
}

.sc-login-sub {
	font-size: 0.875rem !important;
	color: #6b7280 !important;
	margin: 0 0 1.5rem !important;
}

.sc-field {
	margin-bottom: 1rem !important;
}

.sc-login-card .woocommerce-Input.input-text {
	display: block !important;
	width: 100% !important;
	padding: 0.6rem 0.875rem !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 0.5rem !important;
	font-size: 0.875rem !important;
	color: #111827 !important;
	background: #fff !important;
	outline: none !important;
	box-sizing: border-box !important;
	transition: border-color 0.15s, box-shadow 0.15s !important;
	-webkit-appearance: none !important;
}

.sc-login-card .woocommerce-Input.input-text:focus {
	border-color: #dc4a26 !important;
	box-shadow: 0 0 0 3px rgba(220,74,38,0.08) !important;
}

/* Override browser autofill blue tint */
.sc-login-card .woocommerce-Input.input-text:-webkit-autofill,
.sc-login-card .woocommerce-Input.input-text:-webkit-autofill:hover,
.sc-login-card .woocommerce-Input.input-text:-webkit-autofill:focus {
	-webkit-box-shadow: 0 0 0 1000px #fff inset !important;
	box-shadow: 0 0 0 1000px #fff inset !important;
	-webkit-text-fill-color: #111827 !important;
	border-color: #e5e7eb !important;
}

.sc-field label,
.sc-field-label-row label {
	display: block !important;
	font-size: 0.78rem !important;
	font-weight: 600 !important;
	color: #374151 !important;
	margin-bottom: 0.35rem !important;
}

.sc-field-label-row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-bottom: 0.35rem !important;
}

.sc-forgot-link {
	font-size: 0.78rem !important;
	color: #dc4a26 !important;
	text-decoration: none !important;
	font-weight: 500 !important;
}

.sc-forgot-link:hover {
	text-decoration: underline !important;
}

.sc-field-row {
	margin-bottom: 1.25rem !important;
}

.sc-remember {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	font-size: 0.85rem !important;
	color: #374151 !important;
	cursor: pointer !important;
	font-weight: 400 !important;
}

.sc-remember input[type="checkbox"],
body.woocommerce-checkout form.woocommerce-form-login input[type="checkbox"] {
	flex-shrink: 0 !important;
	width: 1rem !important;
	height: 1rem !important;
	margin: 0 !important;
	cursor: pointer !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	border: 1.5px solid #d1d5db !important;
	border-radius: 0.25rem !important;
	background: #fff !important;
	outline: none !important;
	box-shadow: none !important;
	transition: border-color 0.15s, background 0.15s !important;
	position: relative !important;
	display: inline-block !important;
}

.sc-remember input[type="checkbox"]:checked,
body.woocommerce-checkout form.woocommerce-form-login input[type="checkbox"]:checked {
	background: #dc4a26 !important;
	border-color: #dc4a26 !important;
}

.sc-remember input[type="checkbox"]:checked::after,
body.woocommerce-checkout form.woocommerce-form-login input[type="checkbox"]:checked::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	left: 0.2rem !important;
	top: 0.05rem !important;
	width: 0.35rem !important;
	height: 0.6rem !important;
	border: 2px solid #fff !important;
	border-top: none !important;
	border-left: none !important;
	transform: rotate(45deg) !important;
}

.sc-login-btn {
	display: block !important;
	width: 100% !important;
	background: #dc4a26 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 0.75rem !important;
	padding: 0.8125rem !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	font-family: inherit !important;
	cursor: pointer !important;
	transition: background 0.15s !important;
	text-align: center !important;
}

.sc-login-btn:hover {
	background: #c03d1c !important;
}

.sc-login-btn--secondary {
	background: #dc4a26 !important;
}

.sc-login-btn--secondary:hover {
	background: #c03d1c !important;
}

.sc-login-switch {
	text-align: center !important;
	font-size: 0.875rem !important;
	color: #6b7280 !important;
	margin: 1rem 0 0 !important;
}

.sc-login-switch a {
	color: #dc4a26 !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.sc-register-note {
	font-size: 0.85rem !important;
	color: #6b7280 !important;
	margin-bottom: 1rem !important;
}

/* Privacy policy text rendered by woocommerce_register_form hook */
#sc-register .woocommerce-privacy-policy-text,
#sc-register .woocommerce-form-register .woocommerce-privacy-policy-text {
	font-size: 0.78rem !important;
	color: #9ca3af !important;
	margin: 0.75rem 0 1rem !important;
	line-height: 1.5 !important;
}

#sc-register .woocommerce-privacy-policy-text a {
	color: #6b7280 !important;
	text-decoration: underline !important;
}

#sc-register .woocommerce-privacy-policy-text a:hover {
	color: #dc4a26 !important;
}

.sc-switch-form {
	margin: 1.25rem 0 0 !important;
	text-align: center !important;
	font-size: 0.875rem !important;
	color: #6b7280 !important;
	/* border-top: 1px solid #f3f4f6 !important; */
	/* padding-top: 1.25rem !important; */
}

.sc-switch-form a {
	color: #dc4a26 !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	margin-left: 0.25rem !important;
}

.sc-switch-form a:hover {
	text-decoration: underline !important;
}
body.woocommerce-cart .woocommerce input[type="number"]{
	border-radius: 0 !important;
	width: 50px !important;
}
body.woocommerce-cart .sc-item-name a{
	text-decoration: none;
}
#payment .place-order{
	margin: 0 !important;
}

/* ================================================================
   Search results page
   ================================================================ */

/* Force full-width layout — no sidebar on search */
body.search-results #primary {
	width: 100% !important;
	float: none !important;
	margin-right: 0 !important;
}

body.search-results #secondary {
	display: none !important;
}

/* sc-search-page is on #primary — just reset it; sc-container on <main> handles centering/padding */
.sc-search-page {
	padding: 0 !important;
	max-width: none !important;
}

/* Add vertical breathing room to the main sc-container on the search page */
body.search-results .site-main.sc-container {
	padding-top: 2.5rem !important;
	padding-bottom: 4rem !important;
}

/* ---- Search header ---- */
.sc-search-header {
	margin-bottom: 1.5rem !important;
	/* padding-bottom: 1rem !important; */
	/* border-bottom: 1px solid #f3f4f6 !important; */
}

.sc-search-meta {
	font-size: 0.9rem !important;
	color: #6b7280 !important;
	margin: 0 !important;
}

.sc-search-meta strong {
	color: #111827 !important;
	font-weight: 600 !important;
}

/* ---- Results grid ---- */
.sc-search-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 1rem !important;
}

@media (max-width: 900px) {
	.sc-search-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 580px) {
	.sc-search-grid {
		grid-template-columns: 1fr !important;
	}
}

/* ---- Card base ---- */
.sc-search-card {
	display: flex !important;
	flex-direction: column !important;
	background: #fff !important;
	border: 1px solid #f3f4f6 !important;
	border-radius: 1rem !important;
	overflow: hidden !important;
	text-decoration: none !important;
	color: inherit !important;
	transition: box-shadow 0.18s, border-color 0.18s !important;
}

.sc-search-card:hover {
	box-shadow: 0 4px 16px 0 rgba(0,0,0,.07) !important;
	border-color: #e5e7eb !important;
}

.sc-search-card__thumb {
	aspect-ratio: 16 / 10 !important;
	overflow: hidden !important;
	background: #f9fafb !important;
}

.sc-search-card__thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform 0.3s !important;
}

.sc-search-card:hover .sc-search-card__thumb img {
	transform: scale(1.03) !important;
}

.sc-search-card__body {
	padding: 1rem 1.25rem 1.25rem !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.25rem !important;
	flex: 1 !important;
}

.sc-search-card__type {
	font-size: 0.68rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	color: #9ca3af !important;
	margin: 0 !important;
}

.sc-search-card--product .sc-search-card__type {
	color: #dc4a26 !important;
}

.sc-search-card__title {
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
	margin: 0 !important;
	line-height: 1.4 !important;
}

.sc-search-card__price {
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	color: #374151 !important;
	margin: 0.25rem 0 0 !important;
}

.sc-search-card__price ins {
	text-decoration: none !important;
}

.sc-search-card__excerpt {
	font-size: 0.825rem !important;
	color: #6b7280 !important;
	line-height: 1.6 !important;
	margin: 0.25rem 0 0 !important;
}

/* ---- Pagination ---- */
.sc-search-pagination .navigation.pagination {
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.sc-search-pagination {
	margin-top: 2.5rem !important;
	display: flex !important;
	justify-content: center !important;
}

.sc-search-pagination .nav-links {
	display: inline-flex !important;
	align-items: center !important;
	border-radius: 0.625rem !important;
	overflow: hidden !important;
	box-shadow: 0 0 0 1px #e5e7eb, 0 1px 3px rgba(0,0,0,0.04) !important;
}

.sc-search-pagination .page-numbers {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 2.25rem !important;
	height: 2.25rem !important;
	padding: 0 0.75rem !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	color: #6b7280 !important;
	text-decoration: none !important;
	background: #fff !important;
	border: none !important;
	border-right: 1px solid #f3f4f6 !important;
	transition: background 0.15s, color 0.15s !important;
}

.sc-search-pagination .page-numbers:last-child {
	border-right: none !important;
}

.sc-search-pagination .page-numbers:hover {
	background: #f9fafb !important;
	color: #111827 !important;
}

.sc-search-pagination .page-numbers.current {
	background: #dc4a26 !important;
	border-right-color: #dc4a26 !important;
	color: #fff !important;
	font-weight: 600 !important;
}

/* ---- No results ---- */
.sc-search-empty {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
	padding: 4rem 1.5rem !important;
}

.sc-search-empty__icon {
	margin-bottom: 1.5rem !important;
}

.sc-search-empty__heading {
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	margin: 0 0 0.5rem !important;
	border: none !important;
}

.sc-search-empty__sub {
	font-size: 0.9rem !important;
	color: #6b7280 !important;
	margin: 0 0 2rem !important;
}


/* ================================================================
   Shop / archive page  (body.sc-shop, body.sc-product-cat)
   ================================================================ */

/* ---- Keep Storefront's float layout; just clean up the sidebar ---- */
body.sc-shop .site-main,
body.sc-product-cat .site-main {
	padding: 0 !important;
}

/* Hide blog-only widgets; keep WooCommerce product category widget */
body.sc-shop #secondary .widget_search,
body.sc-shop #secondary .widget_recent_entries,
body.sc-shop #secondary .widget_recent_comments,
body.sc-shop #secondary .widget_archive,
body.sc-shop #secondary .widget_categories,
body.sc-product-cat #secondary .widget_search,
body.sc-product-cat #secondary .widget_recent_entries,
body.sc-product-cat #secondary .widget_recent_comments,
body.sc-product-cat #secondary .widget_archive,
body.sc-product-cat #secondary .widget_categories {
	display: none !important;
}

/* ---- Shop sidebar styling ---- */
body.sc-shop #secondary,
body.sc-product-cat #secondary {
	padding: 0 !important;
}

body.sc-shop #secondary .widget,
body.sc-product-cat #secondary .widget {
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin-bottom: 1.5rem !important;
}

body.sc-shop #secondary .widget .widget-title,
body.sc-product-cat #secondary .widget .widget-title {
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	color: #9ca3af !important;
	margin: 0 0 0.75rem !important;
	border: none !important;
	padding: 0 !important;
}

.sc-shop-widget__title {
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	color: #9ca3af !important;
	margin: 0 0 0.75rem !important;
	padding: 0 !important;
}

.sc-cat-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.125rem !important;
}

.sc-cat-list li a {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 0.5rem 0.75rem !important;
	border-radius: 0.5rem !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
	text-decoration: none !important;
	transition: background 0.12s, color 0.12s !important;
}

.sc-cat-list li a:hover {
	background: #f3f4f6 !important;
	color: #111827 !important;
}

.sc-cat-list li.sc-cat-active a {
	background: #fff1ee !important;
	color: #dc4a26 !important;
	font-weight: 600 !important;
}

.sc-cat-count {
	font-size: 0.75rem !important;
	color: #9ca3af !important;
	font-weight: 400 !important;
}

/* ---- Breadcrumb ---- */
body.sc-shop .woocommerce-breadcrumb,
body.sc-product-cat .woocommerce-breadcrumb {
	font-size: 0.8rem !important;
	color: #9ca3af !important;
	margin-bottom: 1.5rem !important;
	background: none !important;
	padding: 0 !important;
}

body.sc-shop .woocommerce-breadcrumb a,
body.sc-product-cat .woocommerce-breadcrumb a {
	color: #9ca3af !important;
	text-decoration: none !important;
}

body.sc-shop .woocommerce-breadcrumb a:hover,
body.sc-product-cat .woocommerce-breadcrumb a:hover {
	color: #dc4a26 !important;
}

/* ---- Shop heading ---- */
body.sc-shop .woocommerce-products-header,
body.sc-product-cat .woocommerce-products-header {
	margin-bottom: 2rem !important;
}

body.sc-shop .woocommerce-products-header__title,
body.sc-product-cat .woocommerce-products-header__title,
body.sc-shop h1.page-title,
body.sc-product-cat h1.page-title {
	font-size: 1.75rem !important;
	font-weight: 800 !important;
	color: #111827 !important;
	margin: 0 !important;
	line-height: 1.2 !important;
}

/* ---- Toolbar (results count + sort) ---- */
body.sc-shop .woocommerce-result-count,
body.sc-product-cat .woocommerce-result-count {
	font-size: 0.85rem !important;
	color: #6b7280 !important;
	margin: 0 !important;
}

body.sc-shop .woocommerce-ordering,
body.sc-product-cat .woocommerce-ordering {
	margin: 0 !important;
}

body.sc-shop .woocommerce-ordering select,
body.sc-product-cat .woocommerce-ordering select {
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	padding: 0.4rem 2rem 0.4rem 0.75rem !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 0.5rem !important;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 0.6rem center !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	color: #374151 !important;
	outline: none !important;
	cursor: pointer !important;
	box-shadow: none !important;
}

/* ---- WooCommerce category widget in sidebar ---- */
body.sc-shop #secondary .product-categories,
body.sc-product-cat #secondary .product-categories {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.sc-shop #secondary .product-categories li,
body.sc-product-cat #secondary .product-categories li {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}

body.sc-shop #secondary .product-categories li a,
body.sc-product-cat #secondary .product-categories li a {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 0.4375rem 0.75rem !important;
	border-radius: 0.5rem !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
	text-decoration: none !important;
	transition: background 0.12s, color 0.12s !important;
}

body.sc-shop #secondary .product-categories li a:hover,
body.sc-product-cat #secondary .product-categories li a:hover {
	background: #f3f4f6 !important;
	color: #111827 !important;
}

body.sc-shop #secondary .product-categories li.current-cat a,
body.sc-product-cat #secondary .product-categories li.current-cat a {
	background: #fff1ee !important;
	color: #dc4a26 !important;
	font-weight: 600 !important;
}

body.sc-shop #secondary .product-categories .count,
body.sc-product-cat #secondary .product-categories .count {
	font-size: 0.75rem !important;
	color: #9ca3af !important;
	font-weight: 400 !important;
}

/* ---- Product grid ---- */
body.sc-shop ul.products,
body.sc-product-cat ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 1.25rem !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 1.5rem 0 0 !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
}

/* ---- Product card ---- */
body.sc-shop ul.products li.product,
body.sc-product-cat ul.products li.product {
	background: #fff !important;
	border: 1px solid #f3f4f6 !important;
	border-radius: 1rem !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	transition: box-shadow 0.18s, border-color 0.18s !important;
	padding: 0 !important;
	margin: 0 !important;
	float: none !important;
	width: auto !important;
}

body.sc-shop ul.products li.product:hover,
body.sc-product-cat ul.products li.product:hover {
	box-shadow: 0 4px 16px 0 rgba(0,0,0,.07) !important;
	border-color: #e5e7eb !important;
}

/* Thumbnail */
body.sc-shop ul.products li.product a img,
body.sc-product-cat ul.products li.product a img {
	width: 100% !important;
	height: 200px !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform 0.3s !important;
	margin: 0 !important;
}

body.sc-shop ul.products li.product:hover a img,
body.sc-product-cat ul.products li.product:hover a img {
	transform: scale(1.03) !important;
}

/* Card content area */
body.sc-shop ul.products li.product .woocommerce-loop-product__link,
body.sc-product-cat ul.products li.product .woocommerce-loop-product__link {
	display: flex !important;
	flex-direction: column !important;
	text-decoration: none !important;
}

/* Category badge */
body.sc-shop ul.products li.product .woocommerce-loop-category__title,
body.sc-shop ul.products li.product .ast-woo-product-category,
body.sc-product-cat ul.products li.product .ast-woo-product-category {
	font-size: 0.68rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	color: #dc4a26 !important;
	padding: 0.875rem 1rem 0 !important;
	margin: 0 !important;
}

/* Product title */
body.sc-shop ul.products li.product .woocommerce-loop-product__title,
body.sc-product-cat ul.products li.product .woocommerce-loop-product__title {
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
	padding: 0.5rem 1rem 0 !important;
	margin: 0 !important;
	line-height: 1.4 !important;
}

/* Price */
body.sc-shop ul.products li.product .price,
body.sc-product-cat ul.products li.product .price {
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	color: #374151 !important;
	padding: 0.375rem 1rem 0 !important;
	margin: 0 !important;
	display: block !important;
}

body.sc-shop ul.products li.product .price,
body.sc-product-cat ul.products li.product .price {
	display: flex !important;
	align-items: center;
	gap: 0.3rem;
	flex-wrap: wrap;
}

body.sc-shop ul.products li.product .price ins,
body.sc-product-cat ul.products li.product .price ins {
	text-decoration: none !important;
	font-weight: 800 !important;
	color: #111827 !important;
}

body.sc-shop ul.products li.product .price del,
body.sc-product-cat ul.products li.product .price del {
	color: #9ca3af !important;
	font-weight: 400 !important;
	font-size: 0.78em !important;
	text-decoration: line-through !important;
}

/* Add to cart button */
body.sc-shop ul.products li.product .button,
body.sc-product-cat ul.products li.product .button {
	display: block !important;
	margin: 0.875rem 1rem 1rem !important;
	padding: 0.6rem 1rem !important;
	background: transparent !important;
	color: #dc4a26 !important;
	border: 1.5px solid #dc4a26 !important;
	border-radius: 0.625rem !important;
	font-size: 0.85rem !important;
	font-weight: 600 !important;
	text-align: center !important;
	text-decoration: none !important;
	transition: background 0.15s, color 0.15s !important;
}

body.sc-shop ul.products li.product .button:hover,
body.sc-product-cat ul.products li.product .button:hover {
	background: #dc4a26 !important;
	color: #fff !important;
}

/* Sale badge */
body.sc-shop ul.products li.product .onsale,
body.sc-product-cat ul.products li.product .onsale {
	top: 0.75rem !important;
	left: 0.75rem !important;
	right: auto !important;
	background: #dc4a26 !important;
	border-radius: 0.375rem !important;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	padding: 0.2rem 0.5rem !important;
	min-height: unset !important;
	min-width: unset !important;
	line-height: 1.6 !important;
}

/* ============================================================
   404 Page
   ============================================================ */

body.error404 #primary {
	width: 100% !important;
	float: none !important;
}

body.error404 #secondary {
	display: none !important;
}

/* Search form on 404 */
.sc-404-search .search-form {
	display: flex;
	gap: 0.5rem;
}

.sc-404-search .search-form label {
	flex: 1;
	margin: 0;
}

.sc-404-search .search-form .search-field {
	width: 100%;
	padding: 0.6rem 1rem;
	border: 1px solid #e5e7eb;
	border-radius: 0.5rem;
	font-size: 0.875rem;
	color: #374151;
	outline: none;
	transition: border-color 0.15s;
	box-shadow: none;
}

.sc-404-search .search-form .search-field:focus {
	border-color: #dc4a26;
	box-shadow: 0 0 0 3px rgba(220,74,38,0.08);
}

.sc-404-search .search-form .search-submit {
	padding: 0.6rem 1.25rem;
	background: #dc4a26;
	color: #fff;
	border: none;
	border-radius: 0.5rem;
	font-size: 0.875rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s;
}

.sc-404-search .search-form .search-submit:hover {
	background: #c03d1c;
}

/* ---- 404 icon animations ---- */
@keyframes sc-404-pop {
	0%   { transform: scale(0.5); opacity: 0; }
	70%  { transform: scale(1.1); opacity: 1; }
	100% { transform: scale(1); }
}

@keyframes sc-404-draw {
	to { stroke-dashoffset: 0; }
}

@keyframes sc-404-fade-in {
	to { opacity: 1; }
}

.sc-404-icon {
	animation: sc-404-pop 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.sc-404-circle {
	animation: sc-404-draw 0.4s ease-out 0.35s both;
}

.sc-404-line {
	animation: sc-404-draw 0.25s ease-out 0.7s both;
}

.sc-404-dot {
	animation: sc-404-fade-in 0.2s ease-out 0.9s both;
}

/* Fix search input background on 404 */
.sc-404-search .search-form .search-field {
	background: #fff !important;
}
/* ---- Checkout login form (scoped to checkout page only) ---- */
/* Note: do NOT override display here — WooCommerce toggles display:none via JS */
body.woocommerce-checkout form.woocommerce-form-login {
	margin: 0 0 2rem !important;
	padding: 1.5rem !important;
	background: #fff !important;
	border: 1px solid #f3f4f6 !important;
	border-radius: 0.75rem !important;
	overflow: hidden !important;
}

body.woocommerce-checkout form.woocommerce-form-login > p:first-child {
	font-size: 0.8125rem !important;
	color: #6b7280 !important;
	margin: 0 0 1rem !important;
	clear: both !important;
}

/* Override checkout's float rules inside the login form */
body.woocommerce-checkout form.woocommerce-form-login .form-row-first,
body.woocommerce-checkout form.woocommerce-form-login .form-row-last {
	width: calc(50% - 0.5rem) !important;
	float: left !important;
	margin-bottom: 1rem !important;
}

body.woocommerce-checkout form.woocommerce-form-login .form-row-first {
	margin-right: 1rem !important;
}

body.woocommerce-checkout form.woocommerce-form-login .form-row-last {
	margin-right: 0 !important;
}

body.woocommerce-checkout form.woocommerce-form-login .form-row-wide,
body.woocommerce-checkout form.woocommerce-form-login .form-row:not(.form-row-first):not(.form-row-last) {
	clear: both !important;
	width: 100% !important;
	float: none !important;
	margin-bottom: 1rem !important;
}

body.woocommerce-checkout form.woocommerce-form-login label {
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
	display: block !important;
	margin-bottom: 0.375rem !important;
}

body.woocommerce-checkout form.woocommerce-form-login input[type="text"],
body.woocommerce-checkout form.woocommerce-form-login input[type="password"] {
	width: 100% !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 0.5rem !important;
	padding: 0.625rem 0.875rem !important;
	font-size: 0.875rem !important;
	color: #111827 !important;
	background: #fff !important;
	box-shadow: none !important;
	transition: border-color 0.15s !important;
}

body.woocommerce-checkout form.woocommerce-form-login input[type="text"]:focus,
body.woocommerce-checkout form.woocommerce-form-login input[type="password"]:focus {
	border-color: #dc4a26 !important;
	outline: none !important;
}

body.woocommerce-checkout form.woocommerce-form-login .woocommerce-form__label-for-checkbox {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	font-weight: 400 !important;
	cursor: pointer !important;
}

body.woocommerce-checkout form.woocommerce-form-login .woocommerce-button {
	background: #dc4a26 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 0.5rem !important;
	padding: 0.625rem 1.5rem !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: background 0.15s !important;
	float: right !important;
}

body.woocommerce-checkout form.woocommerce-form-login .woocommerce-button:hover {
	background: #c03d1c !important;
}

body.woocommerce-checkout form.woocommerce-form-login .lost_password {
	clear: both !important;
	float: none !important;
	font-size: 0.8125rem !important;
	color: #9ca3af !important;
	margin: 0.5rem 0 0 !important;
}

body.woocommerce-checkout form.woocommerce-form-login .lost_password a {
	color: #6b7280 !important;
	text-decoration: underline !important;
}

body.woocommerce-checkout form.woocommerce-form-login .lost_password a:hover {
	color: #dc4a26 !important;
}

/* ---- "Returning customer?" notice — reduce Storefront's large bottom margin ---- */
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
	margin-bottom: 0 !important;
}

body.woocommerce-checkout .woocommerce-form-login-toggle {
	margin-bottom: 2rem !important;
}

body.woocommerce-checkout .woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout{
	margin-bottom: 2rem !important;
}
/* ---- Billing field inline validation errors ---- */
/* WC checkout.js appends <p class="checkout-inline-error-message"> into .form-row */
body.woocommerce-checkout .form-row p.checkout-inline-error-message {
	display: block !important;
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0.2rem 0 0 !important;
	font-size: 0.72rem !important;
	font-weight: 500 !important;
	color: #dc4a26 !important;
	line-height: 1.4 !important;
}

/* Invalid field border highlight */
body.woocommerce-checkout .form-row.woocommerce-invalid input.input-text,
body.woocommerce-checkout .form-row.woocommerce-invalid select,
body.woocommerce-checkout .form-row.woocommerce-invalid textarea {
	border-color: #dc4a26 !important;
	box-shadow: none !important;
}

/* ---- Checkout notices wrapper — legacy empty wrapper above form ---- */
body.woocommerce-checkout .woocommerce-notices-wrapper {
	margin: 0 !important;
}

/* ---- Additional information section — reduce spacing ---- */
body.woocommerce-checkout .woocommerce-additional-fields {
	margin-top: 0 !important;
}

body.woocommerce-checkout .woocommerce-additional-fields h3 {
	font-size: 0.875rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	margin: 0 0 1rem !important;
	padding-bottom: 0.75rem !important;
	border-bottom: 1px solid #f3f4f6 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
}

body.woocommerce-checkout .woocommerce-additional-fields .woocommerce-billing-fields {
	background: #fff !important;
	border: 1px solid #f3f4f6 !important;
	border-radius: 1rem !important;
	padding: 1.5rem !important;
	margin-bottom: 0 !important;
}
@media (min-width: 768px) {
	.storefront-full-width-content.woocommerce-cart .entry-header,.storefront-full-width-content.woocommerce-checkout .entry-header,.storefront-full-width-content.woocommerce-account .entry-header,.storefront-full-width-content .woocommerce-products-header {
        text-align: left;
    }
}
body.woocommerce-order-pay ul.order_details{
	background: none;
}
ul.order_details::before, ul.order_details::after{
	height: 0;
}
body.sc-theme #msg-razorpay-success.woocommerce-info{
	justify-content: center;
}
.wc-pao-addons-container .wc-pao-legend{
	padding-left: 0;
}