/* ==========================================================================
   Frosted Bloom — Single Product page (glass redesign)
   Scoped to  body.gfd-single-frosted  so it only affects single products.
   Re-skins the existing WooCommerce / Mikado markup — no template changes.
   ========================================================================== */

body.gfd-single-frosted {
	--gfd-pink: #d6447a;
	--gfd-pink-dark: #c43a6c;
	--gfd-ink: #2e2e3a;
	--gfd-ink-soft: #5a5a6a;
	--gfd-glass: rgba(255, 255, 255, 0.55);
	--gfd-glass-strong: rgba(255, 255, 255, 0.78);
	--gfd-glass-border: rgba(255, 255, 255, 0.85);
	--gfd-shadow: 0 14px 34px rgba(0, 0, 0, 0.08);
	--gfd-radius: 22px;

	background:
		radial-gradient(1100px 520px at 12% -8%, #ffe6f0 0%, rgba(255,230,240,0) 60%),
		radial-gradient(900px 500px at 100% 0%, #fdeafe 0%, rgba(253,234,254,0) 55%),
		#fff6fa;
}

/* Give the content some breathing room and kill the theme's boxed frame. */
body.gfd-single-frosted .mkdf-content-inner,
body.gfd-single-frosted .mkdf-container-inner { background: transparent !important; }
body.gfd-single-frosted .mkdf-container-inner.clearfix { padding-top: 18px; padding-bottom: 28px; }

/* --------------------------------------------------------------------------
   Layout: gallery (left) + summary (right) in row 1; tabs + related full-width
   -------------------------------------------------------------------------- */
body.gfd-single-frosted div.product { display: block; position: relative; }

/* The theme wraps gallery + summary in .mkdf-single-product-content — that is
   the element to lay out as two columns (not div.product, which also holds the
   tabs + related below). */
body.gfd-single-frosted .mkdf-single-product-content {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 28px;
	align-items: flex-start;
}
body.gfd-single-frosted .mkdf-single-product-content > * { float: none !important; }

/* Firm column (don't rely on flex-grow), always visible, image fills it.
   height:auto overrides any fixed height the theme's gallery JS sets from its
   old absolute-thumbnail layout (which made the content overflow into the tabs). */
body.gfd-single-frosted .woocommerce-product-gallery {
	flex: 0 1 46%;
	max-width: 46% !important;
	width: 46% !important;
	margin: 0 !important;
	opacity: 1 !important;
	align-self: flex-start;
	height: auto !important;
	min-height: 0 !important;
	overflow: visible !important;
}
body.gfd-single-frosted .mkdf-single-product-summary {
	flex: 1 1 300px;
	width: auto !important;
	margin: 0 !important;
}
body.gfd-single-frosted .woocommerce-tabs,
body.gfd-single-frosted .related.products,
body.gfd-single-frosted .upsells.products {
	width: 100%;
	margin-top: 8px !important;
}

/* --------------------------------------------------------------------------
   Gallery — glass frame + rounded imagery
   -------------------------------------------------------------------------- */
body.gfd-single-frosted .woocommerce-product-gallery {
	background: var(--gfd-glass);
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
	border: 1px solid var(--gfd-glass-border);
	border-radius: var(--gfd-radius);
	box-shadow: var(--gfd-shadow);
	padding: 10px;
	position: relative;
}
/* Gallery layout: big main image on top, thumbnails in a row beneath it.
   The theme positions the extra images as an ABSOLUTE overlay strip (which
   shrank the main image and left reserved empty space) — reset that to a clean
   static flex layout. `transform:none` also neutralises flexslider if active. */
body.gfd-single-frosted .woocommerce-product-gallery__wrapper {
	display: flex !important;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	width: auto !important;
	height: auto !important;
	position: static !important;
	transform: none !important;
}
body.gfd-single-frosted .woocommerce-product-gallery__image {
	position: static !important;
	float: none !important;
	top: auto !important;
	left: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	height: auto !important;
	box-sizing: border-box;
}
body.gfd-single-frosted .woocommerce-product-gallery__image a { display: block; }

/* Main image — fills the frame */
body.gfd-single-frosted .woocommerce-product-gallery__image:first-child {
	flex: 0 0 100%;
	width: 100% !important;
}
body.gfd-single-frosted .woocommerce-product-gallery__image:first-child img {
	width: 100% !important;
	height: auto;
	border-radius: 16px;
	display: block;
}

/* Thumbnails — a row of rounded tiles beneath the main image */
body.gfd-single-frosted .woocommerce-product-gallery__image:not(:first-child) {
	flex: 0 0 auto;
	width: 74px !important;
}
body.gfd-single-frosted .woocommerce-product-gallery__image:not(:first-child) img {
	width: 74px !important;
	height: 74px;
	object-fit: cover;
	border-radius: 10px;
	border: 2px solid rgba(214,68,122,0.18);
	cursor: pointer;
	display: block;
	transition: border-color .15s ease;
}
body.gfd-single-frosted .woocommerce-product-gallery__image:not(:first-child) img:hover {
	border-color: var(--gfd-pink);
}

/* Thumbnail strip (flexslider control nav) as soft rounded chips */
body.gfd-single-frosted .flex-control-thumbs { margin: 12px 0 2px; display: flex; gap: 10px; flex-wrap: wrap; padding: 0; }
body.gfd-single-frosted .flex-control-thumbs li { width: 66px; margin: 0; list-style: none; }
body.gfd-single-frosted .flex-control-thumbs img {
	border-radius: 12px;
	border: 2px solid transparent;
	opacity: .7;
	transition: opacity .15s ease, border-color .15s ease;
	cursor: pointer;
}
body.gfd-single-frosted .flex-control-thumbs img:hover,
body.gfd-single-frosted .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--gfd-pink); }

/* Sale badge */
body.gfd-single-frosted span.mkdf-onsale,
body.gfd-single-frosted .woocommerce span.onsale {
	position: absolute;
	top: 22px; left: 22px;
	z-index: 5;
	background: linear-gradient(135deg, var(--gfd-pink), var(--gfd-pink-dark));
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .3px;
	padding: 7px 14px;
	border-radius: 999px;
	box-shadow: 0 8px 18px rgba(214,68,122,0.35);
	min-width: 0;
	height: auto;
	line-height: 1;
}

/* --------------------------------------------------------------------------
   Summary — glass card
   -------------------------------------------------------------------------- */
body.gfd-single-frosted .mkdf-single-product-summary {
	background: var(--gfd-glass-strong);
	-webkit-backdrop-filter: blur(22px);
	backdrop-filter: blur(22px);
	border: 1px solid var(--gfd-glass-border);
	border-radius: var(--gfd-radius);
	box-shadow: var(--gfd-shadow);
	padding: 20px 22px 18px;
}
body.gfd-single-frosted .mkdf-single-product-summary > .summary.entry-summary { margin: 0; }

body.gfd-single-frosted .product_title,
body.gfd-single-frosted h1.product_title {
	font-size: 23px;
	line-height: 1.25;
	font-weight: 700;
	color: var(--gfd-ink);
	margin: 0 0 9px;
}

/* Price */
body.gfd-single-frosted .summary .price,
body.gfd-single-frosted .mkdf-single-product-summary .price {
	margin: 0 0 12px;
	color: var(--gfd-pink);
	font-weight: 700;
	font-size: 21px;
	line-height: 1.1;
}
body.gfd-single-frosted .summary .price del { color: var(--gfd-ink-soft); opacity: .7; font-weight: 500; font-size: 18px; margin-right: 10px; }
body.gfd-single-frosted .summary .price ins { text-decoration: none; }
body.gfd-single-frosted .summary .price .woocommerce-Price-currencySymbol { font-weight: 600; }

/* Short description */
body.gfd-single-frosted .woocommerce-product-details__short-description {
	color: var(--gfd-ink-soft);
	font-size: 14px;
	line-height: 1.6;
	margin-bottom: 14px;
}
body.gfd-single-frosted .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }

/* Stock pill */
body.gfd-single-frosted .stock.in-stock,
body.gfd-single-frosted .stock.available-on-backorder {
	display: inline-flex; align-items: center; gap: 7px;
	background: rgba(46,182,125,0.12);
	color: #1f9d63;
	font-size: 13px; font-weight: 600;
	padding: 6px 13px; border-radius: 999px;
	margin: 0 0 18px;
}
body.gfd-single-frosted .stock.in-stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #2eb67d; }
body.gfd-single-frosted .stock.out-of-stock { color: #c0392b; font-weight: 600; }

/* --------------------------------------------------------------------------
   Add-to-cart: quantity stepper + button
   -------------------------------------------------------------------------- */
body.gfd-single-frosted form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
	margin: 2px 0 14px;
}
body.gfd-single-frosted .mkdf-quantity-buttons.quantity {
	display: inline-flex;
	align-items: center;
	height: 46px;
	width: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	background: #fff;
	border: 1px solid var(--gfd-glass-border);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: inset 0 0 0 1px rgba(214,68,122,0.06);
}
body.gfd-single-frosted .mkdf-quantity-label { display: none !important; }
body.gfd-single-frosted .mkdf-quantity-minus,
body.gfd-single-frosted .mkdf-quantity-plus {
	width: 40px !important;
	height: 100% !important;
	/* The theme's 4-class rule sets display:inline-block + padding-top:12%
	   (which shoves the arrow down). Force flex-centring with no padding. */
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
	cursor: pointer;
	color: var(--gfd-pink) !important;
	font-size: 15px !important;
	line-height: 1 !important;
	position: static !important;
	top: auto !important;
	transform: none !important;
	user-select: none;
	transition: background .15s ease;
}
body.gfd-single-frosted .mkdf-quantity-minus:hover,
body.gfd-single-frosted .mkdf-quantity-plus:hover { background: rgba(214,68,122,0.08); }
body.gfd-single-frosted .mkdf-quantity-buttons input.qty,
body.gfd-single-frosted .mkdf-quantity-buttons input.mkdf-quantity-input,
body.gfd-single-frosted .mkdf-quantity-buttons .mkdf-quantity-input {
	width: 40px !important;
	height: 100% !important;
	border: none !important;
	text-align: center;
	font-size: 16px !important;
	font-weight: 600;
	color: var(--gfd-ink) !important;
	background: transparent !important;
	line-height: normal !important;
	padding: 0 !important;
	-moz-appearance: textfield;
}
body.gfd-single-frosted .mkdf-quantity-buttons input.qty::-webkit-outer-spin-button,
body.gfd-single-frosted .mkdf-quantity-buttons input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

body.gfd-single-frosted .single_add_to_cart_button,
body.gfd-single-frosted .single_add_to_cart_button.button.alt {
	flex: 1 1 auto;
	min-width: 200px;
	border: none !important;
	border-radius: 14px !important;
	background: linear-gradient(135deg, var(--gfd-pink), var(--gfd-pink-dark)) !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: .3px;
	padding: 12px 22px !important;
	cursor: pointer;
	box-shadow: 0 12px 24px rgba(214,68,122,0.28);
	transition: transform .12s ease, box-shadow .15s ease, filter .15s ease;
}
body.gfd-single-frosted .single_add_to_cart_button:hover {
	transform: translateY(-1px);
	box-shadow: 0 16px 30px rgba(214,68,122,0.36);
	filter: brightness(1.03);
}

/* Product meta — categories / tags as chips */
body.gfd-single-frosted .product_meta {
	border-top: 1px solid rgba(214,68,122,0.14);
	padding-top: 12px;
	font-size: 13px;
	color: var(--gfd-ink-soft);
	display: flex; flex-direction: column; gap: 8px;
}
body.gfd-single-frosted .product_meta > span { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
body.gfd-single-frosted .product_meta .posted_in a,
body.gfd-single-frosted .product_meta .tagged_as a {
	display: inline-block;
	background: rgba(255,255,255,0.7);
	border: 1px solid var(--gfd-glass-border);
	color: var(--gfd-pink);
	padding: 4px 11px; border-radius: 999px;
	font-size: 12px; text-decoration: none;
	transition: background .15s ease, color .15s ease;
}
body.gfd-single-frosted .product_meta .posted_in a:hover,
body.gfd-single-frosted .product_meta .tagged_as a:hover { background: var(--gfd-pink); color: #fff; }

/* --------------------------------------------------------------------------
   Tabs (description / additional info / reviews) — glass card
   -------------------------------------------------------------------------- */
body.gfd-single-frosted .woocommerce-tabs {
	background: var(--gfd-glass);
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
	border: 1px solid var(--gfd-glass-border);
	border-radius: var(--gfd-radius);
	box-shadow: var(--gfd-shadow);
	padding: 6px 22px 18px;
}
body.gfd-single-frosted .woocommerce-tabs ul.tabs {
	display: flex; flex-wrap: wrap; gap: 8px;
	list-style: none; margin: 0 0 16px; padding: 12px 0;
	border-bottom: 1px solid rgba(214,68,122,0.14);
}
body.gfd-single-frosted .woocommerce-tabs ul.tabs::before,
body.gfd-single-frosted .woocommerce-tabs ul.tabs::after,
body.gfd-single-frosted .woocommerce-tabs ul.tabs li::before,
body.gfd-single-frosted .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.gfd-single-frosted .woocommerce-tabs ul.tabs li {
	margin: 0; padding: 0; background: none; border: none;
}
body.gfd-single-frosted .woocommerce-tabs ul.tabs li a {
	display: block; padding: 9px 18px; border-radius: 999px;
	color: var(--gfd-ink-soft); font-weight: 600; font-size: 14px;
	text-decoration: none; transition: background .15s ease, color .15s ease;
}
body.gfd-single-frosted .woocommerce-tabs ul.tabs li a:hover { color: var(--gfd-pink); background: rgba(214,68,122,0.08); }
body.gfd-single-frosted .woocommerce-tabs ul.tabs li.active a { background: var(--gfd-pink); color: #fff; }
/* Force the panel + its content full-width and flush-left. Neutralises any
   inherited indent/offset (margin, padding, width, float, transform) that was
   pushing the description far to the right. */
body.gfd-single-frosted .woocommerce-tabs .panel,
body.gfd-single-frosted .woocommerce-tabs .entry-content,
body.gfd-single-frosted .woocommerce-tabs .wc-tab,
body.gfd-single-frosted .woocommerce-tabs #reviews {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	float: none !important;
	left: auto !important;
	transform: none !important;
	text-align: left !important;
	text-indent: 0 !important;
	/* NOTE: never force `display` here — WooCommerce's tabs JS toggles panel
	   display to switch tabs; forcing it shows every panel at once. */
}
body.gfd-single-frosted .woocommerce-tabs .panel {
	color: var(--gfd-ink-soft); font-size: 15px; line-height: 1.7;
}
body.gfd-single-frosted .woocommerce-tabs .panel > * { margin-left: 0 !important; max-width: 100% !important; }
body.gfd-single-frosted .woocommerce-tabs .panel h1,
body.gfd-single-frosted .woocommerce-tabs .panel h2 { color: var(--gfd-ink); font-size: 20px; margin: 6px 0 12px; }
body.gfd-single-frosted .woocommerce-tabs .panel h3 { color: var(--gfd-ink); font-size: 17px; margin: 14px 0 8px; }
body.gfd-single-frosted .woocommerce-tabs .panel p { margin: 0 0 12px; }

/* --------------------------------------------------------------------------
   Related / upsell products — glass cards grid
   -------------------------------------------------------------------------- */
body.gfd-single-frosted .related.products > h2,
body.gfd-single-frosted .upsells.products > h2 {
	font-size: 22px; font-weight: 700; color: var(--gfd-ink); margin: 6px 0 22px;
}
body.gfd-single-frosted .related.products ul.products,
body.gfd-single-frosted .upsells.products ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px; margin: 0; padding: 0; list-style: none;
}
body.gfd-single-frosted .related.products ul.products li.product {
	background: var(--gfd-glass-strong);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
	border: 1px solid var(--gfd-glass-border);
	border-radius: 18px;
	box-shadow: var(--gfd-shadow);
	padding: 14px; margin: 0; width: auto; float: none;
	transition: transform .15s ease, box-shadow .15s ease;
}
body.gfd-single-frosted .related.products ul.products li.product:hover { transform: translateY(-3px); box-shadow: 0 20px 40px rgba(0,0,0,0.12); }
body.gfd-single-frosted .related.products li.product img { border-radius: 12px; margin-bottom: 10px; }
body.gfd-single-frosted .related.products li.product .mkdf-onsale { position: static; margin-bottom: 8px; display: inline-block; }
body.gfd-single-frosted .related.products li.product .price { color: var(--gfd-pink); font-weight: 700; }

/* --------------------------------------------------------------------------
   Sticky add-to-cart bar (injected by single-product-frosted.js)
   -------------------------------------------------------------------------- */
.gfd-sticky-cart {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 1200;
	background: rgba(255,255,255,0.82);
	-webkit-backdrop-filter: blur(22px);
	backdrop-filter: blur(22px);
	border-top: 1px solid var(--gfd-glass-border, rgba(255,255,255,0.85));
	box-shadow: 0 -10px 30px rgba(0,0,0,0.08);
	transform: translateY(110%);
	transition: transform .28s cubic-bezier(.2,.7,.3,1);
}
.gfd-sticky-cart.is-visible { transform: translateY(0); }
.gfd-sticky-cart__inner {
	max-width: 1300px; margin: 0 auto; padding: 12px 24px;
	display: flex; align-items: center; gap: 18px;
}
.gfd-sticky-cart__thumb { width: 48px; height: 48px; border-radius: 12px; object-fit: cover; flex-shrink: 0; }
.gfd-sticky-cart__title { font-weight: 600; color: #2e2e3a; font-size: 15px; margin: 0; line-height: 1.2; }
.gfd-sticky-cart__price { color: #d6447a; font-weight: 700; font-size: 15px; margin-left: auto; white-space: nowrap; }
.gfd-sticky-cart__btn {
	border: none; border-radius: 12px; cursor: pointer;
	background: linear-gradient(135deg, #d6447a, #c43a6c); color: #fff;
	font-size: 14px; font-weight: 600; padding: 12px 24px;
	box-shadow: 0 10px 20px rgba(214,68,122,0.28);
	transition: transform .12s ease, filter .15s ease;
}
.gfd-sticky-cart__btn:hover { transform: translateY(-1px); filter: brightness(1.03); }

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
	body.gfd-single-frosted .woocommerce-product-gallery,
	body.gfd-single-frosted .mkdf-single-product-summary { max-width: 100%; flex-basis: 100%; }
	body.gfd-single-frosted .related.products ul.products,
	body.gfd-single-frosted .upsells.products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	body.gfd-single-frosted .mkdf-single-product-summary { padding: 22px; }
	body.gfd-single-frosted .product_title { font-size: 25px; }
	.gfd-sticky-cart__title { display: none; }
	.gfd-sticky-cart__thumb { display: none; }
}
@media (max-width: 520px) {
	body.gfd-single-frosted form.cart { gap: 10px; }
	body.gfd-single-frosted .single_add_to_cart_button { min-width: 100%; }
	.gfd-sticky-cart__inner { padding: 10px 16px; gap: 12px; }
}

/* ==========================================================================
   Breadcrumb · availability · trust strip · tighter meta · refined related
   ========================================================================== */

/* Breadcrumb (full-width, above the product) */
body.gfd-single-frosted .gfd-breadcrumb {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
	font-size: 13px; color: var(--gfd-ink-soft);
	margin: 0 0 14px;
}
body.gfd-single-frosted .gfd-breadcrumb a { color: var(--gfd-pink); text-decoration: none; }
body.gfd-single-frosted .gfd-breadcrumb a:hover { text-decoration: underline; }
body.gfd-single-frosted .gfd-breadcrumb__sep { color: rgba(0,0,0,0.22); }
body.gfd-single-frosted .gfd-breadcrumb__current { color: var(--gfd-ink-soft); }

/* Availability badge is styled globally in style.css (.gfd-avail-badge),
   colour-driven per term via availability_color. */

/* Trust / delivery strip (after add-to-cart) */
body.gfd-single-frosted .gfd-trust {
	list-style: none;
	margin: 6px 0 0; padding: 13px 16px;
	background: rgba(255,255,255,0.5);
	border: 1px solid var(--gfd-glass-border);
	border-radius: 14px;
	display: flex; flex-direction: column; gap: 9px;
}
body.gfd-single-frosted .gfd-trust li {
	display: flex; align-items: center; gap: 10px;
	font-size: 13.5px; color: var(--gfd-ink); margin: 0;
}
body.gfd-single-frosted .gfd-trust svg {
	width: 18px; height: 18px; flex-shrink: 0;
	fill: none; stroke: var(--gfd-pink); stroke-width: 2;
	stroke-linecap: round; stroke-linejoin: round;
}

/* Tighter product meta — no blank line under SKU / Categories / Tags */
body.gfd-single-frosted .product_meta { gap: 6px !important; padding-top: 14px; }
body.gfd-single-frosted .product_meta > span,
body.gfd-single-frosted .product_meta .sku_wrapper,
body.gfd-single-frosted .product_meta .posted_in,
body.gfd-single-frosted .product_meta .tagged_as {
	margin: 0 !important; line-height: 1.5;
	display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
}
body.gfd-single-frosted .product_meta .sku_wrapper .sku { color: var(--gfd-ink); font-weight: 600; }

/* Related products — refined glass cards */
body.gfd-single-frosted .related.products { margin-top: 22px !important; }
body.gfd-single-frosted .related.products li.product a img { margin: 0 0 10px; }
body.gfd-single-frosted .related.products li.product .woocommerce-loop-product__title,
body.gfd-single-frosted .related.products li.product h3,
body.gfd-single-frosted .related.products li.product .mkdf-pli-title,
body.gfd-single-frosted .related.products li.product .mkdf-plc-title {
	font-size: 14px !important; font-weight: 600; color: var(--gfd-ink) !important;
	margin: 0 0 6px !important; line-height: 1.35;
}
body.gfd-single-frosted .related.products li.product .price { font-size: 15px; margin: 0 0 10px; display: block; }
body.gfd-single-frosted .related.products li.product .price del { color: var(--gfd-ink-soft); font-weight: 500; font-size: 13px; }
body.gfd-single-frosted .related.products li.product .button,
body.gfd-single-frosted .related.products li.product .add_to_cart_button,
body.gfd-single-frosted .related.products li.product .mkdf-pl-btn {
	display: inline-block; border: none !important;
	background: linear-gradient(135deg, var(--gfd-pink), var(--gfd-pink-dark)) !important;
	color: #fff !important; border-radius: 10px !important;
	padding: 8px 16px !important; font-size: 13px !important; font-weight: 600 !important;
	box-shadow: 0 8px 16px rgba(214,68,122,0.22);
}

@media (max-width: 900px) {
	body.gfd-single-frosted .gfd-trust { padding: 12px 14px; }
	body.gfd-single-frosted .gfd-breadcrumb { font-size: 12px; }
}

/* ==========================================================================
   Fixes: gap above tabs, double tab border, summary spacing
   ========================================================================== */

/* Theme puts a 105px bottom margin on the hero wrapper — that was the big
   "5-line" gap above the tabs. */
body.gfd-single-frosted .mkdf-single-product-content { margin-bottom: 18px !important; }

/* Theme pushes the summary 30px down (misaligns it from the gallery top and
   adds whitespace). Align it with the gallery. */
body.gfd-single-frosted .mkdf-single-product-summary { margin-top: 0 !important; }
body.gfd-single-frosted .mkdf-single-product-summary .cart { margin-top: 0 !important; }
body.gfd-single-frosted .single_add_to_cart_button { margin-top: 0 !important; }

/* Theme draws BOTH a top and bottom border on the tab nav (= two lines).
   Keep a single soft divider. */
body.gfd-single-frosted .woocommerce-tabs ul.tabs {
	border-top: 0 !important;
	border-bottom: 1px solid rgba(214,68,122,0.14) !important;
}

/* Defensive: never let the theme's gallery JS pin a fixed height on the hero
   or gallery — that made the content overflow and overlap the tabs. */
body.gfd-single-frosted .mkdf-single-product-content,
body.gfd-single-frosted .mkdf-single-product-content .images,
body.gfd-single-frosted .mkdf-single-product-content .images figure,
body.gfd-single-frosted .woocommerce-product-gallery,
body.gfd-single-frosted .woocommerce-product-gallery__wrapper {
	height: auto !important;
	min-height: 0 !important;
}
/* Clear any floats so the hero fully contains its children above the tabs. */
body.gfd-single-frosted .mkdf-single-product-content::after {
	content: "";
	display: block;
	clear: both;
}
