/* =========================================================
   Skinnora — WooCommerce styles
   ========================================================= */

/* ---------- Shop layout ---------- */
.shop-layout { display: block; }
.shop-layout.has-sidebar {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}
.shop-layout.has-sidebar .sidebar-shop { order: -1; min-width: 0; }
/* Single grid child holding toolbar + product grid + pagination. min-width:0
   lets the product grid inside it actually shrink instead of overflowing. */
.shop-content { min-width: 0; }

/* ---------- Sidebar filters ----------
   The catalogue has 124 brands and a deep category tree. Rendered as plain
   lists these run several thousand pixels down the page, dwarfing the results
   and leaving a wall of empty space beside them. Cap each list and scroll. */
.sidebar-shop .widget { margin-bottom: 26px; }
.sidebar-shop .widget > ul,
.sidebar-shop .widget .product-categories,
.sidebar-shop .brand-filter-list {
	max-height: 288px;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding-right: 8px;
	margin: 0;
}
.sidebar-shop .widget > ul::-webkit-scrollbar,
.sidebar-shop .brand-filter-list::-webkit-scrollbar { width: 6px; }
.sidebar-shop .widget > ul::-webkit-scrollbar-thumb,
.sidebar-shop .brand-filter-list::-webkit-scrollbar-thumb {
	background: var(--sk-border);
	border-radius: 3px;
}
.sidebar-shop .widget li { font-size: 13.5px; line-height: 1.45; }
.sidebar-shop .widget li.current-cat > a { color: var(--sk-primary); font-weight: 700; }

/* Injected "filter this list" search box (see main.js). */
.sk-filter-search {
	width: 100%;
	margin: 0 0 10px;
	padding: 9px 12px;
	font-size: 13px;
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-btn-radius);
	background: #fff;
}
.sk-filter-search:focus { outline: none; border-color: var(--sk-primary); }
.sk-filter-empty { font-size: 13px; color: var(--sk-text-light); padding: 6px 0; }

.woocommerce-products-header { padding: 18px 0 6px; }
.woocommerce-products-header .page-title { font-size: 28px; text-transform: uppercase; letter-spacing: .02em; }
.term-description { color: var(--sk-text-light); max-width: 760px; }

.woocommerce-result-count { color: var(--sk-text-light); font-size: 14px; margin: 0; }
.woocommerce-ordering select { width: auto; padding: 9px 36px 9px 14px; font-size: 14px; }
.shop-toolbar, .woocommerce-notices-wrapper + .shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

/* ---------- Product grid ---------- */
ul.products, .products-grid {
	list-style: none;
	display: grid;
	gap: 24px;
	padding: 0;
	margin: 20px 0 30px;
	/* Grid children default to min-width:auto, which lets long unbroken words
	   (category chips, SKUs) blow the track out. */
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
ul.products.columns-3, .products-grid.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
ul.products.columns-4, .products-grid.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
ul.products.columns-5, .products-grid.columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }

/* WooCommerce adds clearfix pseudo-elements to the loop list:
       ul.products::before, ul.products::after { content: " "; display: table }
   Harmless in its float layout, but in a CSS Grid container a pseudo-element
   becomes a GRID ITEM and silently eats a whole cell each — which pushed the
   first product into column 2 and wrapped the last one onto a new row
   (most visible on "Related products"). Remove them from every product grid. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
.woocommerce .products ul::before,
.woocommerce .products ul::after,
ul.products::before,
ul.products::after,
.products-grid::before,
.products-grid::after {
	content: none;
	display: none;
}

/* WooCommerce ships a FLOAT layout for the loop:
       ul.products li.product { float: left; width: 22.05%; margin-right: 3.8% }
   This theme lays the loop out with CSS Grid instead, where each card is already
   inside a correctly sized track. Leaving those percentages in place makes every
   card 22% *of its own grid column* — i.e. a ~65px sliver. Neutralise them.
   WooCommerce's small-screen sheet raises the stakes further with
       .woocommerce ul.products[class*=columns-] li.product { width:48%; float:left; clear:both }
   which outranks a plain `ul.products li.product` override, so the selectors
   below deliberately mirror WooCommerce's own specificity (theme CSS is
   enqueued after the plugin's, so equal specificity resolves in our favour). */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product,
.woocommerce ul.products[class*="columns-"] li.product:nth-child(2n),
.woocommerce-page ul.products[class*="columns-"] li.product:nth-child(2n),
ul.products li.product,
ul.products[class*="columns-"] li.product {
	width: auto;
	max-width: none;
	min-width: 0;
	float: none;
	clear: none;
	margin: 0;
}

/* ---------- Product card ---------- */
li.product, .product-row .product, .products-grid .product {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: #fff;
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-card-radius);
	overflow: hidden;
	transition: box-shadow .25s, transform .25s, border-color .25s;
	margin: 0;
}
li.product:hover, .product-row .product:hover {
	box-shadow: 0 14px 34px rgba(0, 0, 0, .1);
	transform: translateY(-3px);
	border-color: transparent;
}

.product-card-media {
	position: relative;
	overflow: hidden;
	background: var(--sk-surface);
}
.product-card-media img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	display: block;
	transition: transform .4s;
}
li.product:hover .product-card-media img { transform: scale(1.05); }

.product-badges {
	position: absolute;
	top: 10px; left: 10px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	z-index: 3;
}
.onsale, .badge {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	line-height: 1.4;
}
.onsale { background: var(--sk-sale); color: #fff; position: static; }
.badge-featured { background: var(--sk-secondary); color: #fff; }
.badge-stock { background: #9e9e9e; color: #fff; }

.product-card-actions {
	position: absolute;
	top: 10px; right: 10px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	z-index: 3;
	opacity: 0;
	transform: translateX(8px);
	transition: opacity .25s, transform .25s;
}
li.product:hover .product-card-actions,
.product-row .product:hover .product-card-actions { opacity: 1; transform: none; }
.card-action, .product-card-actions a, .product-card-actions button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px; height: 38px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--sk-heading);
	box-shadow: 0 3px 12px rgba(0,0,0,.14);
	cursor: pointer;
	transition: background .2s, color .2s;
}
.card-action:hover { background: var(--sk-primary); color: #fff; }

.product-card-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 14px 16px 18px;
	text-align: center;
}
/* Products here carry 8+ categories; keep the chip line to a single row so
   cards stay uniform instead of growing a tall stack of category names. */
.product-card-cats {
	font-size: 11.5px;
	text-transform: uppercase;
	letter-spacing: .06em;
	margin-bottom: 4px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
	color: var(--sk-text-light);
}
.product-card-cats a { color: var(--sk-text-light); }
.product-card-title {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
	margin: 0 0 6px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.9em;
}
.product-card-title a { color: var(--sk-heading); }
.product-card-title a:hover { color: var(--sk-primary); }

.star-rating {
	overflow: hidden;
	position: relative;
	height: 1em;
	line-height: 1;
	font-size: 13px;
	width: 5.4em;
	font-family: star;
	margin: 0 auto 4px;
}
/* Woo default star font may be dequeued — render with unicode fallback */
.star-rating::before { content: "★★★★★"; color: var(--sk-border); float: left; top: 0; left: 0; position: absolute; letter-spacing: 2px; }
.star-rating span { overflow: hidden; float: left; top: 0; left: 0; position: absolute; padding-top: 1.5em; }
.star-rating span::before { content: "★★★★★"; color: var(--sk-star); top: 0; position: absolute; left: 0; letter-spacing: 2px; }

li.product .price, .product-row .price {
	margin: auto 0 12px;
	font-size: 15px;
	font-weight: 700;
	color: var(--sk-heading);
	display: block;
}
li.product .price del, .price del {
	color: var(--sk-text-light);
	font-weight: 500;
	font-size: .88em;
	margin-right: 6px;
}
li.product .price ins, .price ins { text-decoration: none; color: var(--sk-sale); }

.product-card-atc .button, .product-card-atc .added_to_cart {
	width: 100%;
	padding: 10px 16px;
	font-size: 12.5px;
	background: transparent;
	border: 2px solid var(--sk-secondary);
	color: var(--sk-secondary);
	border-radius: var(--sk-btn-radius);
}
.product-card-atc .button:hover { background: var(--sk-secondary); color: #fff; transform: none; }
.product-card-atc .button.loading { opacity: .6; pointer-events: none; }
.product-card-atc .added_to_cart { display: inline-flex; align-items: center; justify-content: center; margin-top: 6px; border-color: var(--sk-success); color: var(--sk-success); }

/* ---------- Single product ---------- */
div.product { position: relative; }
.single-product-wrap, div.product .summary { margin-top: 10px; }
div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}
/* Only the gallery and the summary belong in the two columns. Everything else
   WooCommerce (or a plugin) appends as a direct child — tabs/accordion, related,
   upsells, alternatives, reviews, FBT — must span the full width, otherwise grid
   auto-placement drops it into a half-width column and the page looks misaligned.
   Written as a catch-all so sections added later inherit the correct behaviour. */
div.product > *:not(.woocommerce-product-gallery):not(.summary) {
	grid-column: 1 / -1;
	min-width: 0;
}
/* The gallery image should fill its column (placeholders and small source files
   would otherwise sit tiny inside a wide column).
   FlexSlider — which WooCommerce enables via wc-product-gallery-slider — writes
   inline pixel widths onto the viewport and each slide as it initialises. Those
   win over any plain rule, so an image set to width:100% was still only 100% of
   a ~200px slide. Override the CONTAINERS, not just the <img>. */
div.product .woocommerce-product-gallery,
div.product .woocommerce-product-gallery .flex-viewport,
div.product .woocommerce-product-gallery__wrapper,
div.product .woocommerce-product-gallery__image {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
}
div.product .woocommerce-product-gallery__image > a { display: block; }
div.product .woocommerce-product-gallery__image > img,
div.product .woocommerce-product-gallery__image > a > img,
div.product .woocommerce-product-gallery img.wp-post-image {
	width: 100% !important;
	height: auto;
	max-width: 100%;
}
div.product > .onsale {
	position: absolute;
	top: 12px; left: 12px;
	z-index: 5;
}
div.product .woocommerce-product-gallery { position: relative; }
div.product .woocommerce-product-gallery__wrapper { margin: 0; }
div.product .woocommerce-product-gallery img {
	border-radius: var(--sk-card-radius);
	background: var(--sk-surface);
}
.woocommerce-product-gallery .flex-control-thumbs {
	list-style: none;
	display: flex;
	gap: 10px;
	padding: 0;
	margin: 12px 0 0;
	flex-wrap: wrap;
}
.woocommerce-product-gallery .flex-control-thumbs li { width: 84px; cursor: pointer; }
.woocommerce-product-gallery .flex-control-thumbs img {
	border: 2px solid transparent;
	border-radius: 8px;
	opacity: .7;
}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs img:hover { border-color: var(--sk-primary); opacity: 1; }

div.product .product_title { font-size: 27px; line-height: 1.22; margin: 0 0 10px; letter-spacing: -.01em; }
div.product .summary .price { font-size: 26px; font-weight: 800; color: var(--sk-heading); margin: 4px 0 14px; }
div.product .summary .price del { font-size: 18px; }
div.product .woocommerce-product-details__short-description {
	color: var(--sk-text-light);
	font-size: 15px;
	border-bottom: 1px solid var(--sk-border);
	padding-bottom: 16px;
	margin-bottom: 16px;
}
.product_meta {
	display: block;
	font-size: 13px;
	color: var(--sk-text-light);
	margin: 4px 0 14px;
}
.product_meta > span { display: inline-block; padding: 3px 16px 3px 0; }
.product_meta a { color: var(--sk-text); font-weight: 600; }

div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: stretch;
	margin: 18px 0;
}
div.product form.cart div.quantity { display: flex; }
div.product form.cart .qty {
	width: 84px;
	text-align: center;
	border-radius: var(--sk-btn-radius);
	font-weight: 700;
}
div.product form.cart .single_add_to_cart_button {
	flex: 1;
	min-width: 180px;
	background: transparent;
	border: 2px solid var(--sk-primary);
	color: var(--sk-primary);
}
div.product form.cart .single_add_to_cart_button:hover { background: var(--sk-primary); color: #fff; }
.buy-now-button {
	flex: 1;
	min-width: 150px;
	background: var(--sk-primary);
	border: 2px solid var(--sk-primary);
	color: #fff;
}
.buy-now-button:hover { background: var(--sk-secondary); border-color: var(--sk-secondary); }

/* Variations table */
.variations { border: 0; }
.variations th, .variations td { border: 0; padding: 6px 0; }
.variations .label { font-weight: 700; font-size: 14px; }
.reset_variations { font-size: 12px; color: var(--sk-text-light); }

/* Trust rows on product page */
.product-trust {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 18px;
	margin: 18px 0;
	padding: 16px 18px;
	background: var(--sk-surface);
	border-radius: var(--sk-card-radius);
}
.product-trust-item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13.5px;
	font-weight: 600;
}
.product-trust-item .sk-icon { color: var(--sk-primary); flex-shrink: 0; }

/* Editor's Note callout — the shop's own voice, distinct from supplier copy. */
.skinnora-note {
	margin: 18px 0;
	padding: 16px 18px;
	background: var(--sk-surface);
	border-left: 3px solid var(--sk-primary);
	border-radius: var(--sk-card-radius);
}
.skinnora-note-label {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--sk-primary);
}
.skinnora-note-label .sk-icon { flex-shrink: 0; }
/* Bangla needs a little more line height than the Latin body face. */
.skinnora-note-body {
	font-size: 14.5px;
	line-height: 1.85;
	color: var(--sk-text);
}
.skinnora-note-body p { margin: 0 0 8px; }
.skinnora-note-body p:last-child { margin-bottom: 0; }
.skinnora-note-by {
	margin: 10px 0 0;
	font-size: 12.5px;
	font-style: italic;
	color: var(--sk-text-light);
}

/* Order on WhatsApp */
.whatsapp-order-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: 100%;
	margin-top: 10px;
	padding: 13px 22px;
	background: #25d366;
	border: 2px solid #25d366;
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	border-radius: var(--sk-btn-radius);
}
.whatsapp-order-btn:hover { background: #1da851; border-color: #1da851; color: #fff; }

/* Tabs */
.woocommerce-tabs { grid-column: 1 / -1; margin-top: 40px; }
.woocommerce-tabs ul.wc-tabs {
	list-style: none;
	display: flex;
	gap: 6px;
	padding: 0;
	margin: 0 0 -1px;
	border-bottom: 1px solid var(--sk-border);
	overflow-x: auto;
}
.woocommerce-tabs ul.wc-tabs li a {
	display: block;
	padding: 12px 22px;
	font-weight: 700;
	font-size: 14px;
	color: var(--sk-text-light);
	border-bottom: 3px solid transparent;
	white-space: nowrap;
}
.woocommerce-tabs ul.wc-tabs li.active a {
	color: var(--sk-heading);
	border-bottom-color: var(--sk-primary);
}
.woocommerce-Tabs-panel { padding: 26px 0; font-size: 15px; line-height: 1.7; }
.woocommerce-Tabs-panel > h2:first-child { display: none; }

/* ---------- Product info accordion (replaces the tab strip) ---------- */
.skinnora-accordion {
	grid-column: 1 / -1;
	margin: 40px 0 10px;
	border-top: 1px solid var(--sk-border);
}
.sk-acc-item { border-bottom: 1px solid var(--sk-border); }
.sk-acc-heading { margin: 0; font-size: inherit; font-weight: inherit; }
.sk-acc-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 18px 4px;
	background: none;
	border: 0;
	cursor: pointer;
	text-align: left;
	font-size: 15px;
	font-weight: 700;
	color: var(--sk-heading);
	letter-spacing: .01em;
}
.sk-acc-trigger:hover { color: var(--sk-primary); }
.sk-acc-trigger:focus-visible { outline: 2px solid var(--sk-primary); outline-offset: -2px; }
/* Chevron drawn in CSS so no icon font/asset is needed. */
.sk-acc-icon {
	flex: 0 0 auto;
	width: 10px;
	height: 10px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform .25s;
	margin-right: 6px;
}
.sk-acc-item.is-open .sk-acc-icon { transform: rotate(-135deg); }
.sk-acc-panel-inner {
	padding: 2px 4px 26px;
	font-size: 15px;
	line-height: 1.75;
	color: var(--sk-text);
}
.sk-acc-panel-inner > h2:first-child,
.sk-acc-panel-inner > h3:first-child { display: none; }
.sk-acc-panel-inner img { max-width: 100%; height: auto; }
.sk-acc-panel-inner table { width: 100%; }

/* Additional Information specs table */
.skinnora-specs-table { width: 100%; border-collapse: collapse; max-width: 520px; }
.skinnora-specs-table th,
.skinnora-specs-table td { padding: 12px 16px; border-bottom: 1px solid var(--sk-border); font-size: 14px; text-align: left; }
.skinnora-specs-table th { width: 35%; color: var(--sk-text-light); font-weight: 600; }

/* About the Brand tab */
.skinnora-brand-tab { max-width: 640px; }
.brand-tab-logo { max-width: 120px; height: auto; border-radius: var(--sk-card-radius); margin-bottom: 14px; }
.skinnora-brand-tab h3 { margin: 0 0 10px; font-size: 20px; }
.brand-tab-desc { color: var(--sk-text-light); }
.brand-tab-link { display: inline-block; margin-top: 14px; font-weight: 700; color: var(--sk-primary); }
.brand-tab-link:hover { text-decoration: underline; }

/* Frequently Bought Together */
.frequently-bought-together {
	margin: 36px 0 8px;
	padding: 26px 28px;
	background: var(--sk-surface);
	border-radius: var(--sk-card-radius);
	/* Products on the left, total + CTA on the right; stacks on narrow screens. */
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas: "title title" "row summary";
	gap: 18px 32px;
	align-items: center;
}
.frequently-bought-together h2 { grid-area: title; margin: 0; font-size: 19px; }
.fbt-row { grid-area: row; display: flex; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.fbt-plus { font-size: 22px; color: var(--sk-text-light); align-self: flex-start; margin-top: 52px; }
.fbt-item { width: 132px; text-align: center; }

@media (max-width: 860px) {
	.frequently-bought-together {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "title" "row" "summary";
		padding: 20px;
	}
}
.fbt-item-check { display: block; position: relative; cursor: pointer; }
.fbt-item-check img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: var(--sk-card-radius);
	border: 2px solid var(--sk-border);
	background: #fff;
}
.fbt-checkbox {
	position: absolute;
	top: 8px;
	left: 8px;
	width: 20px;
	height: 20px;
	z-index: 1;
	accent-color: var(--sk-primary);
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .25);
}
.fbt-checkbox:disabled { opacity: 1; accent-color: var(--sk-text-light); }
.fbt-item-name { font-size: 12px; line-height: 1.4; margin: 8px 0 2px; height: 2.8em; overflow: hidden; }
.fbt-item-name a { color: var(--sk-text); }
.fbt-item-price { font-size: 13px; font-weight: 700; margin: 0; }
.fbt-summary { grid-area: summary; display: flex; flex-direction: column; align-items: stretch; gap: 10px; min-width: 190px; }
.fbt-total { margin: 0; font-size: 15px; }
.fbt-total-price { font-weight: 800; color: var(--sk-primary); font-size: 18px; }
.fbt-add-all { white-space: nowrap; }

/* Reviews */
#reviews .commentlist { list-style: none; padding: 0; }
#reviews .comment_container {
	display: flex;
	gap: 14px;
	padding: 16px 0;
	border-bottom: 1px solid var(--sk-border);
}
#reviews .comment_container img.avatar { border-radius: 50%; width: 48px; height: 48px; }
#reviews .comment-text { flex: 1; }
#reviews .meta { color: var(--sk-text-light); font-size: 13px; }

/* Related / upsells / alternatives */
.related.products, .up-sells, .alternatives.products {
	grid-column: 1 / -1;
	margin-top: 40px;
}
.related.products > h2, .up-sells > h2, .alternatives.products > h2 {
	font-size: 22px;
	text-transform: uppercase;
	margin-bottom: 20px;
}
.alternatives.products > h2 { color: var(--sk-primary); }
.alternatives-note {
	margin: -12px 0 18px;
	font-size: 14px;
	color: var(--sk-text-light);
}

/* ---------- Notices ---------- */
.woocommerce-notices-wrapper { margin-top: 10px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	list-style: none;
	padding: 14px 18px 14px 46px;
	margin: 0 0 18px;
	border-radius: 10px;
	position: relative;
	font-size: 14px;
	background: var(--sk-surface);
	border-left: 4px solid var(--sk-success);
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error li::before { content: none; }
.woocommerce-info { border-left-color: var(--sk-primary); }
.woocommerce-error { border-left-color: #d32f2f; }
.woocommerce-message .button, .woocommerce-info .button {
	float: right;
	padding: 6px 14px;
	font-size: 12px;
	margin-left: 12px;
}

/* ---------- Cart page ---------- */
.woocommerce-cart-form { margin-bottom: 26px; }
table.shop_table {
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-card-radius);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}
table.shop_table th, table.shop_table td { border: 0; border-bottom: 1px solid var(--sk-border); vertical-align: middle; }
table.shop_table thead th {
	background: var(--sk-surface);
	font-size: 12.5px;
	text-transform: uppercase;
	letter-spacing: .05em;
}
table.shop_table tbody tr:last-child td { border-bottom: 0; }
.cart .product-thumbnail img { width: 74px; border-radius: 8px; background: var(--sk-surface); }
.cart .product-name a { font-weight: 600; color: var(--sk-heading); }
.cart .product-remove a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px; height: 32px;
	border-radius: 50%;
	background: var(--sk-surface);
	color: var(--sk-text) !important;
	font-size: 18px;
	line-height: 1;
}
.cart .product-remove a:hover { background: #d32f2f; color: #fff !important; }
.cart .qty { width: 74px; text-align: center; }
.coupon { display: flex; gap: 10px; align-items: center; }
.coupon input { width: 180px; }
td.actions { padding: 16px; }
td.actions .button { padding: 11px 22px; }

.cart-collaterals {
	display: flex;
	justify-content: flex-end;
	margin-top: 10px;
}
.cart_totals {
	width: 420px;
	max-width: 100%;
	padding: 26px;
	background: var(--sk-surface);
	border-radius: var(--sk-card-radius);
}
.cart_totals h2 { font-size: 19px; text-transform: uppercase; }
.cart_totals table.shop_table { border: 0; background: transparent; }
.cart_totals th { background: transparent; width: 40%; }
.wc-proceed-to-checkout { padding-top: 14px; }
.wc-proceed-to-checkout .checkout-button { width: 100%; padding: 15px; font-size: 14px; }

.cross-sells { margin-top: 40px; }
.cross-sells > h2 { font-size: 22px; text-transform: uppercase; }
/* Cart collaterals sit in a narrow column by default; suggestions read better
   across the full width of the cart page. */
.woocommerce-cart .skinnora-cart-suggestions { grid-column: 1 / -1; width: 100%; }
.cart-continue { margin: 18px 0 4px; }

/* Empty cart */
.cart-empty.woocommerce-info { text-align: left; }
.return-to-shop { text-align: center; padding: 20px 0 40px; }

/* ---------- Checkout ---------- */
.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 44px;
	align-items: start;
}
#customer_details { min-width: 0; }
.woocommerce-checkout .col-1, .woocommerce-checkout .col-2 { width: 100%; }
.woocommerce-billing-fields h3, #order_review_heading {
	font-size: 19px;
	text-transform: uppercase;
}
.form-row { margin: 0 0 14px; padding: 0; display: block; }
.form-row label { display: block; font-size: 13.5px; font-weight: 600; margin-bottom: 5px; }
.form-row .required { color: var(--sk-sale); text-decoration: none; }
.woocommerce-checkout-review-order {
	background: var(--sk-surface);
	padding: 26px;
	border-radius: var(--sk-card-radius);
	position: sticky;
	top: 96px;
}
#payment { background: transparent; }
.wc_payment_methods { list-style: none; padding: 0; }
.wc_payment_method { padding: 10px 0; border-bottom: 1px solid var(--sk-border); }
.wc_payment_method label { font-weight: 600; }
.payment_box {
	margin-top: 8px;
	padding: 12px 16px;
	background: #fff;
	border-radius: 8px;
	font-size: 13.5px;
	color: var(--sk-text-light);
}
#place_order { width: 100%; padding: 16px; font-size: 15px; margin-top: 16px; }

/* ---------- My account ---------- */
.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}
.woocommerce-account .woocommerce > *:not(.woocommerce-MyAccount-navigation):not(.woocommerce-MyAccount-content) { grid-column: 1 / -1; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; border: 1px solid var(--sk-border); border-radius: var(--sk-card-radius); overflow: hidden; }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--sk-border); }
.woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-MyAccount-navigation a { display: block; padding: 13px 20px; font-weight: 600; font-size: 14px; }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--sk-secondary); color: #fff; }
.woocommerce-MyAccount-navigation li:not(.is-active) a:hover { background: var(--sk-surface); }
.woocommerce-MyAccount-content { min-width: 0; }

/* ---------- Auth pages: login / register / lost & reset password ---------- */
.woocommerce-account:not(.logged-in) .woocommerce { display: block; }
.u-columns.col2-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 34px;
	max-width: 940px;
	margin: 10px auto 40px;
}
.u-columns.col2-set .u-column1 h2,
.u-columns.col2-set .u-column2 h2 {
	font-size: 20px;
	text-transform: uppercase;
	letter-spacing: .03em;
}
.woocommerce-form-login, .woocommerce-form-register,
.woocommerce-ResetPassword, .lost_reset_password {
	padding: 30px;
	border: 1px solid var(--sk-border);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 10px 34px rgba(0, 0, 0, .05);
}
.woocommerce-form-login, .woocommerce-form-register { max-width: none; }
.woocommerce-ResetPassword, .lost_reset_password { max-width: 480px; margin: 10px auto 40px; }
.woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce-form-register .woocommerce-form-register__submit,
.woocommerce-ResetPassword .woocommerce-Button {
	width: 100%;
	padding: 13px;
	margin-top: 6px;
}
.woocommerce-form-login__rememberme {
	display: flex !important;
	align-items: center;
	gap: 8px;
	margin: 4px 0 10px !important;
	font-size: 14px;
}
.woocommerce-LostPassword { font-size: 13.5px; margin: 10px 0 0; }
.woocommerce-LostPassword a { color: var(--sk-primary); font-weight: 600; }
.woocommerce-password-strength { font-size: 12.5px; padding: 4px 8px; border-radius: 6px; }
.woocommerce-privacy-policy-text { font-size: 12.5px; color: var(--sk-text-light); }
@media (max-width: 768px) {
	.u-columns.col2-set { grid-template-columns: 1fr; gap: 22px; }
}

/* ---------- Mini cart drawer ---------- */
.cart-drawer-content { display: flex; flex-direction: column; flex: 1; padding: 18px 20px; overflow-y: auto; }
.cart-drawer-content .widget_shopping_cart_content { display: flex; flex-direction: column; flex: 1; }
.widget_shopping_cart_content .cart_list { list-style: none; padding: 0; margin: 0; flex: 1; }
.widget_shopping_cart_content .mini_cart_item {
	position: relative;
	display: flex;
	gap: 12px;
	padding: 12px 0 12px 0;
	border-bottom: 1px solid var(--sk-surface);
}
.widget_shopping_cart_content .mini_cart_item a:not(.remove) {
	display: flex;
	gap: 12px;
	align-items: center;
	font-weight: 600;
	font-size: 13.5px;
	flex: 1;
	color: var(--sk-heading);
}
.widget_shopping_cart_content .mini_cart_item img { width: 58px; height: 58px; object-fit: cover; border-radius: 8px; background: var(--sk-surface); }
.widget_shopping_cart_content .mini_cart_item .quantity { display: block; font-size: 13px; color: var(--sk-text-light); font-weight: 500; }
.widget_shopping_cart_content .remove_from_cart_button {
	position: absolute;
	right: 0; top: 12px;
	width: 26px; height: 26px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: var(--sk-surface);
	color: var(--sk-text) !important;
	font-size: 16px;
}
.widget_shopping_cart_content .remove_from_cart_button:hover { background: #d32f2f; color: #fff !important; }
.widget_shopping_cart_content .total {
	display: flex;
	justify-content: space-between;
	padding: 14px 0;
	border-top: 2px solid var(--sk-secondary);
	font-size: 16px;
	margin-top: 8px;
}
.widget_shopping_cart_content .buttons {
	display: grid;
	gap: 10px;
	margin: 0;
}
.widget_shopping_cart_content .buttons .button { width: 100%; }
.widget_shopping_cart_content .buttons .checkout { background: var(--sk-primary); }
.woocommerce-mini-cart__empty-message { text-align: center; padding: 40px 0; color: var(--sk-text-light); }

/* ---------- Quick view modal ---------- */
.quickview-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	align-items: start;
}
.quickview-image img { border-radius: var(--sk-card-radius); background: var(--sk-surface); width: 100%; }
.quickview-title { font-size: 22px; }
.quickview-price { font-size: 22px; font-weight: 800; margin: 6px 0 10px; }
.quickview-desc { color: var(--sk-text-light); font-size: 14px; }
.quickview-full-link { display: inline-block; margin-top: 14px; font-weight: 700; font-size: 13px; text-transform: uppercase; }
.quickview-summary form.cart { display: flex; gap: 10px; margin: 16px 0 0; }
.sk-loading {
	display: block;
	width: 40px; height: 40px;
	margin: 60px auto;
	border: 3px solid var(--sk-surface);
	border-top-color: var(--sk-primary);
	border-radius: 50%;
	animation: skSpin .7s linear infinite;
}
@keyframes skSpin { to { transform: rotate(360deg); } }

/* ---------- Sticky add-to-cart bar (mobile) ---------- */
.sticky-atc {
	position: fixed;
	left: 0; right: 0;
	bottom: 0;
	z-index: 988;
	display: none;
	align-items: center;
	gap: 12px;
	padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
	background: #fff;
	border-top: 1px solid var(--sk-border);
	box-shadow: 0 -6px 20px rgba(0, 0, 0, .1);
}
.has-mobile-bar .sticky-atc { bottom: 62px; }
.sticky-atc img { width: 44px; height: 44px; object-fit: cover; border-radius: 8px; flex-shrink: 0; }
.sticky-atc-info { flex: 1; min-width: 0; }
.sticky-atc-name {
	display: block;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.sticky-atc-price { font-size: 13px; font-weight: 700; color: var(--sk-primary); }
.sticky-atc-price del { color: var(--sk-text-light); font-weight: 500; margin-right: 4px; }
.sticky-atc-price ins { text-decoration: none; }
.sticky-atc-btn { flex-shrink: 0; padding: 11px 18px; font-size: 12px; }
@media (max-width: 860px) {
	.sticky-atc:not([hidden]) { display: flex; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	ul.products.columns-4, ul.products.columns-5, .products-grid.columns-4, .products-grid.columns-5 { grid-template-columns: repeat(3, 1fr); }
	.shop-layout.has-sidebar { grid-template-columns: 1fr; }
	.shop-layout.has-sidebar .sidebar-shop { order: 2; }
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
	.woocommerce-checkout-review-order { position: static; }
}

@media (max-width: 860px) {
	div.product { grid-template-columns: 1fr; gap: 26px; }
	ul.products, .products-grid,
	ul.products.columns-3, ul.products.columns-4, ul.products.columns-5,
	.products-grid.columns-3, .products-grid.columns-4, .products-grid.columns-5 {
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}
	.product-card-actions { opacity: 1; transform: none; }
	.woocommerce-account .woocommerce { grid-template-columns: 1fr; }
	.quickview-grid { grid-template-columns: 1fr; }
	.cart .product-thumbnail { display: none; }
	table.shop_table_responsive thead { display: none; }
	table.shop_table_responsive tr { display: block; padding: 10px 14px; border-bottom: 1px solid var(--sk-border); }
	table.shop_table_responsive td {
		display: flex;
		justify-content: space-between;
		align-items: center;
		border: 0;
		padding: 6px 0;
		text-align: right;
	}
	table.shop_table_responsive td::before {
		content: attr(data-title);
		font-weight: 700;
		font-size: 13px;
		text-align: left;
	}
	table.shop_table_responsive td.product-remove::before,
	table.shop_table_responsive td.actions::before { content: none; }
	.coupon { width: 100%; }
	.coupon input { flex: 1; }
	td.actions .button[name="update_cart"] { width: 100%; margin-top: 10px; }
	.cart_totals { width: 100%; }
	div.product .product_title { font-size: 22px; }
	div.product .summary .price { font-size: 22px; }
	.product-trust { grid-template-columns: 1fr; }
	.woocommerce-products-header .page-title { font-size: 22px; }
	.shop-toolbar { flex-wrap: wrap; gap: 10px; }
}

@media (max-width: 400px) {
	ul.products, .products-grid { gap: 10px; }
	.product-card-body { padding: 10px 10px 14px; }
}

/* ---------- Single product: vindesi-style refinements (v1.37) ---------- */

/* Gallery sits in a soft card and (optionally) stays pinned while the long
   summary scrolls, so the left column never turns into dead white space. */
div.product .woocommerce-product-gallery {
	padding: 14px;
	background: var(--sk-surface);
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-card-radius);
	box-sizing: border-box;
}
div.product .woocommerce-product-gallery img { background: #fff; }
div.product .woocommerce-product-gallery__trigger { top: 22px; right: 22px; }
@media (min-width: 861px) {
	/* Specificity must beat WooCommerce's own ".woocommerce div.product div.images { position: relative }". */
	.sk-sticky-gallery div.product div.images.woocommerce-product-gallery { position: sticky; top: 92px; }
}

/* Brand + badges above the title */
.product-topline {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 14px;
	margin-bottom: 8px;
}
.product-brand-link {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--sk-primary);
}
.product-topline-badges { display: inline-flex; gap: 6px; }
.sk-badge {
	display: inline-block;
	padding: 3px 9px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .03em;
	text-transform: uppercase;
	line-height: 1.4;
}
.sk-badge-sale { background: var(--sk-primary); color: #fff; }
.sk-badge-new { background: #e8f7ee; color: #1a7f45; }
.sk-badge-featured { background: #fff4d6; color: #8a5a00; }
.sk-badge-stock { background: #eee; color: #555; }

/* Stock pill + SKU under the price */
.product-stock-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 16px;
	margin: -4px 0 14px;
	font-size: 13px;
	color: var(--sk-text-light);
}
.product-stock-pill {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 4px 11px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 12.5px;
}
.product-stock-pill i { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.product-stock-pill.in-stock { background: #e8f7ee; color: #1a7f45; }
.product-stock-pill.low-stock { background: #fff4d6; color: #8a5a00; }
.product-stock-pill.on-backorder { background: #e7f0ff; color: #1d4ed8; }
.product-stock-pill.out-of-stock { background: #fdecec; color: #b32d2e; }

/* Quick facts (Volume / Skin Type / Made In / Exp) */
.product-quick-facts {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	margin: 0 0 18px;
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-card-radius);
	overflow: hidden;
}
.product-quick-facts > div {
	padding: 10px 14px;
	border-bottom: 1px solid var(--sk-border);
	border-right: 1px solid var(--sk-border);
	min-width: 0;
}
.product-quick-facts > div:nth-child(2n) { border-right: 0; }
/* An odd last fact spans the full width instead of leaving an empty cell. */
.product-quick-facts > div:last-child:nth-child(odd) { grid-column: 1 / -1; border-right: 0; }
.product-quick-facts > div:nth-last-child(-n+2):nth-child(2n+1),
.product-quick-facts > div:last-child { border-bottom: 0; }
.product-quick-facts dt {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--sk-text-light);
	margin: 0 0 2px;
}
.product-quick-facts dd { margin: 0; font-size: 14px; font-weight: 600; color: var(--sk-heading); }

/* Buttons: qty + Add to Cart + Buy Now on one row, WhatsApp full width below */
div.product form.cart .single_add_to_cart_button { min-width: 160px; }
.whatsapp-order-btn { width: 100%; margin-top: -6px; }

/* Delivery estimate */
.product-delivery {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 14px 0 6px;
	padding: 12px 14px;
	border: 1px dashed var(--sk-border);
	border-radius: var(--sk-card-radius);
	font-size: 13.5px;
}
.product-delivery .sk-icon { color: var(--sk-primary); flex-shrink: 0; margin-top: 1px; }
.product-delivery strong { display: block; color: var(--sk-heading); }
.product-delivery span { color: var(--sk-text-light); font-size: 12.5px; }

/* Wishlist + share row */
.single-actions-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px 18px;
	margin: 6px 0 4px;
}
.single-wishlist-wrap { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 600; }
.product-share { display: inline-flex; align-items: center; gap: 8px; }
.product-share-label { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--sk-text-light); margin-right: 2px; }
.product-share a, .product-share button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1px solid var(--sk-border);
	background: #fff;
	color: var(--sk-text);
	cursor: pointer;
	padding: 0;
	transition: all .18s;
}
.product-share a:hover, .product-share button:hover { border-color: var(--sk-primary); color: var(--sk-primary); }
.product-share button.is-copied { background: #e8f7ee; border-color: #1a7f45; color: #1a7f45; }

/* Meta (categories/tags) — quiet, under the trust box */
.product_meta { margin: 4px 0 0; }

/* Long-form panels read better at a comfortable measure */
.sk-acc-panel-inner .skinnora-tab-section { max-width: 920px; }

@media (max-width: 600px) {
	.product-quick-facts { grid-template-columns: 1fr; }
	.product-quick-facts > div { border-right: 0; }
	.product-quick-facts > div:last-child { border-bottom: 0; }
	.product-quick-facts > div:nth-last-child(-n+2):nth-child(2n+1) { border-bottom: 1px solid var(--sk-border); }
	.buy-now-button { flex: 1 1 100%; }
}

/* ---------- Single product: vindesi single-column layout (v1.38) ---------- */

/* Plain gallery on white (no card), pinned beside the long summary column. */
div.product .woocommerce-product-gallery { padding: 0; background: transparent; border: 0; }
div.product .woocommerce-product-gallery__trigger { top: 12px; right: 12px; }
div.product { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; }
@media (min-width: 1200px) { div.product { grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); } }

/* Title + wishlist heart on one row */
.product-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.product-title-row .product_title { flex: 1; min-width: 0; }
.product-title-row .wishlist-btn { flex-shrink: 0; margin-top: 2px; }

/* Price left, rating right */
.product-price-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 16px; margin-bottom: 8px; }
.product-price-row .price { margin: 0; }
.product-price-row .woocommerce-product-rating { margin: 0; display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--sk-text-light); }
.product-price-row .woocommerce-review-link { color: inherit; }

/* Stock as a quiet green line rather than a pill */
.product-stock-row { margin: 0 0 16px; }
.product-stock-pill { padding: 0; background: none !important; font-size: 13px; }
.product-stock-pill.in-stock { color: #1a7f45; }
.product-stock-pill i { width: 7px; height: 7px; }

/* Specs card — grey panel, no cell borders */
.product-quick-facts { background: var(--sk-surface); border: 0; padding: 6px 6px; gap: 2px 0; border-radius: var(--sk-card-radius); }
.product-quick-facts > div,
.product-quick-facts > div:nth-child(2n),
.product-quick-facts > div:last-child,
.product-quick-facts > div:nth-last-child(-n+2):nth-child(2n+1) { border: 0; padding: 10px 14px; }
.product-quick-facts > div:last-child:nth-child(odd) { grid-column: auto; }
.product-quick-facts dt { font-size: 10.5px; }
.product-quick-facts dd { font-size: 13.5px; font-weight: 500; }

/* Quantity label + stepper, then two full-width buttons */
div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0 18px; }
div.product form.cart .qty-label { flex: 1 1 100%; font-size: 13px; font-weight: 700; margin-bottom: -6px; }
div.product form.cart div.quantity {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-btn-radius);
	overflow: hidden;
	flex: 0 0 auto;
}
div.product form.cart div.quantity .qty { width: 56px; border: 0; border-radius: 0; font-weight: 700; -moz-appearance: textfield; }
div.product form.cart div.quantity .qty::-webkit-inner-spin-button,
div.product form.cart div.quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.qty-btn { width: 38px; border: 0; background: #fff; color: var(--sk-heading); font-size: 18px; cursor: pointer; padding: 0; line-height: 1; }
.qty-btn:hover { background: var(--sk-surface); color: var(--sk-primary); }
div.product form.cart .single_add_to_cart_button { flex: 1 1 200px; min-width: 0; }
div.product form.cart .buy-now-button { flex: 1 1 100%; min-width: 0; }
.whatsapp-order-btn { margin-top: 0; }

/* Delivery list (vindesi "Estimated Delivery / Free Shipping") */
ul.product-delivery { list-style: none; display: block; margin: 16px 0 6px; padding: 12px 14px 4px; border: 1px solid var(--sk-border); border-style: dashed; border-radius: var(--sk-card-radius); }
ul.product-delivery li { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 8px; font-size: 13.5px; color: var(--sk-text); }
ul.product-delivery li strong { color: var(--sk-heading); display: inline; }
ul.product-delivery .sk-icon { color: var(--sk-primary); flex-shrink: 0; margin-top: 1px; }

/* Share row */
.single-actions-row { justify-content: flex-end; margin: 4px 0 8px; }

/* Secure checkout + payment badges */
.product-secure { margin: 6px 0 14px; padding: 12px 14px; border: 1px solid var(--sk-border); border-radius: var(--sk-card-radius); text-align: center; }
.product-secure-label { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 700; color: var(--sk-heading); margin-bottom: 8px; }
.product-secure-label .sk-icon { color: #1a7f45; }
.product-secure .payment-badges { justify-content: center; }

/* FBT and accordion now live inside the summary column */
.summary .frequently-bought-together {
	margin: 10px 0 18px;
	padding: 18px;
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas: "title" "row" "summary";
	gap: 14px;
}
.summary .frequently-bought-together h2 { font-size: 17px; }
.summary .fbt-item { width: calc((100% - 32px - 60px) / 3); min-width: 96px; }
.summary .fbt-plus { margin-top: 36px; font-size: 18px; }
.summary .fbt-summary { flex-direction: row; align-items: center; justify-content: space-between; }
.summary .skinnora-accordion { margin-top: 8px; border-top: 1px solid var(--sk-border); }
.summary .sk-acc-panel-inner .skinnora-tab-section { max-width: none; }
.summary .sk-acc-trigger { font-size: 15px; padding: 14px 0; }
.summary #reviews { margin-top: 0; }

@media (max-width: 860px) {
	div.product { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.summary .fbt-item { width: calc((100% - 32px - 60px) / 3); }
}

/* WooCommerce floats the summary at 48% of its container; inside our grid
   cell that halves the column. Same specificity trick as the gallery. */
.woocommerce div.product div.summary.entry-summary,
div.product .summary { width: 100% !important; float: none !important; margin: 0; min-width: 0; }

/* ---------- Category / brand description under the products ---------- */
.archive-seo { margin: 36px 0 10px; padding: 26px 28px; background: var(--sk-surface); border-radius: var(--sk-card-radius); }
.archive-seo-title { font-size: 20px; margin: 0 0 10px; }
.archive-seo-body { font-size: 14.5px; line-height: 1.75; color: var(--sk-text); max-width: 900px; }
.archive-seo-body p { margin: 0 0 12px; }
.archive-seo-body h2, .archive-seo-body h3 { font-size: 16px; margin: 16px 0 6px; }
.archive-seo.is-collapsible:not(.is-open) .archive-seo-body { max-height: 190px; overflow: hidden; -webkit-mask-image: linear-gradient(180deg, #000 60%, transparent); mask-image: linear-gradient(180deg, #000 60%, transparent); }
.archive-seo-toggle { margin-top: 8px; background: none; border: 0; padding: 0; font-weight: 700; font-size: 13px; color: var(--sk-primary); cursor: pointer; text-decoration: underline; }

/* ======================================================================
   Shop sidebar filters (theme-native, v1.43)
   ====================================================================== */
.sk-filters { font-size: 14px; }
.sk-filters-head { display: flex; align-items: center; gap: 12px; padding: 0 0 12px; border-bottom: 2px solid var(--sk-heading); margin-bottom: 6px; }
.sk-filters-title { font-size: 15px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.sk-filters-clear { margin-left: auto; font-size: 12.5px; font-weight: 700; color: var(--sk-primary); text-decoration: underline; }
.sk-filters-close { display: none; margin-left: auto; width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--sk-surface); font-size: 20px; cursor: pointer; }
.sk-filter { border-bottom: 1px solid var(--sk-border); }
.sk-filter-title { margin: 0; font-size: inherit; }
.sk-filter-title button { all: unset; display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 14px 0; font-weight: 700; font-size: 14px; color: var(--sk-heading); cursor: pointer; }
.sk-filter-chevron { width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s; margin-right: 4px; opacity: .7; }
.sk-filter.is-open .sk-filter-chevron { transform: rotate(-135deg); }
.sk-filter-body { display: none; padding: 0 0 14px; }
.sk-filter.is-open .sk-filter-body { display: block; }
.sk-filter-list { list-style: none; margin: 0; padding: 0; }
.sk-filter-list.is-long { max-height: 264px; overflow-y: auto; padding-right: 6px; scrollbar-width: thin; }
.sk-filter-list li a { display: flex; align-items: center; gap: 10px; padding: 5px 0; color: var(--sk-text); line-height: 1.35; }
.sk-filter-list li a:hover .sk-filter-name { color: var(--sk-primary); }
.sk-filter-check { flex-shrink: 0; width: 17px; height: 17px; border: 1.5px solid #c9c9c9; border-radius: 4px; background: #fff; position: relative; transition: all .15s; }
.sk-filter-list li.is-on .sk-filter-check { background: var(--sk-primary); border-color: var(--sk-primary); }
.sk-filter-list li.is-on .sk-filter-check::after { content: ""; position: absolute; left: 5px; top: 1.5px; width: 4px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.sk-filter-list li.is-on .sk-filter-name { font-weight: 700; color: var(--sk-heading); }
.sk-filter-name { flex: 1; min-width: 0; }
.sk-filter-count { font-size: 12px; color: var(--sk-text-light); }
.sk-stars { color: var(--sk-star); letter-spacing: 1px; }
.sk-filter .sk-filter-search { margin: 2px 0 8px; }
.sk-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 10px; }
.sk-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; background: var(--sk-surface); border: 1px solid var(--sk-border); font-size: 12.5px; font-weight: 600; color: var(--sk-heading); }
.sk-chip span { font-size: 15px; line-height: 1; color: var(--sk-text-light); }
.sk-chip:hover { border-color: var(--sk-primary); color: var(--sk-primary); }
.sk-chips-row { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 14px; margin: -6px 0 14px; }
.sk-chips-row .sk-chips { margin: 0; }
.sk-price-inputs { display: flex; align-items: flex-end; gap: 8px; margin-bottom: 10px; }
.sk-price-inputs label { flex: 1; display: flex; flex-direction: column; gap: 3px; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--sk-text-light); }
.sk-price-inputs input { width: 100%; padding: 8px 10px; border: 1px solid var(--sk-border); border-radius: 8px; font-size: 14px; }
.sk-price-sep { padding-bottom: 10px; color: var(--sk-text-light); }
.sk-price-presets { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.sk-price-presets a { padding: 4px 10px; border-radius: 999px; border: 1px solid var(--sk-border); font-size: 12px; color: var(--sk-text); }
.sk-price-presets a:hover { border-color: var(--sk-primary); color: var(--sk-primary); }
.btn-sm { padding: 8px 16px; font-size: 12px; }
.sk-filters-open { display: none; align-items: center; gap: 6px; }
.sk-filters-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--sk-primary); color: #fff; font-size: 11px; }

/* Wide screens: the drawer markup behaves like a normal sidebar column. */
@media (min-width: 1101px) {
	.sidebar-filters.sk-drawer:not([data-filters-only]) { position: static; inset: auto; z-index: auto; background: none; display: block; }
	.sidebar-filters:not([data-filters-only]) .sk-drawer-backdrop { display: none; }
	.sidebar-filters:not([data-filters-only]) .sk-drawer-panel { position: static; width: auto; max-width: none; animation: none; overflow: visible; display: block; background: none; }
	.shop-layout.sidebar-sticky .sidebar-filters:not([data-filters-only]) { position: sticky; top: 92px; max-height: calc(100vh - 104px); overflow-y: auto; scrollbar-width: thin; padding-right: 4px; }
	.shop-layout.sidebar-right { grid-template-columns: minmax(0, 1fr) 280px; }
	.shop-layout.sidebar-right .sidebar-shop { order: 2; }
}
/* Narrow screens: an off-canvas drawer opened from the toolbar. */
@media (max-width: 1100px) {
	.sk-filters-open { display: inline-flex; }
	.sidebar-filters .sk-filters-close { display: inline-flex; align-items: center; justify-content: center; }
	.sidebar-filters .sidebar-filters-panel { padding: 18px 20px 30px; }
	.sidebar-filters .sk-filter-list.is-long { max-height: 220px; }
}
.sidebar-filters[data-filters-only] .sk-filters-close { display: inline-flex; align-items: center; justify-content: center; }
.sidebar-filters[data-filters-only] .sidebar-filters-panel { padding: 18px 20px 30px; }
.shop-layout:not(.has-sidebar) .sk-filters-open { display: inline-flex; }
@media (min-width: 1101px) { .shop-layout.has-sidebar button.sk-filters-open { display: none; } }
