.title-shop:before {
    background-color: rgba(0, 0, 0, 0.5) !important;
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
}
.page-title:before {
    background-color: rgba(0, 0, 0, 0.5) !important;
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
}
.LuvGluv-Best .product-grid-item :is(.product-image-link,.hover-img) img {
    height: 300px;
    object-fit: cover;
	border-radius: 6px;
}
.LuvGluv-Category .product-grid-item :is(.product-image-link,.hover-img) img {
    width: 120px;
    height: 120px;
    object-fit: cover;
	border-radius: 6px;
}
.LuvGluv-Discover .product-grid-item :is(.product-image-link,.hover-img) img {
    width: 100%;
    height: 350px;
    object-fit: cover;
	border-radius: 6px;
}
.category-grid-item .category-image-wrapp {
    height: 350px;
    border-radius: 6px;
}
.glove-pro .product-grid-item :is(.product-image-link,.hover-img) img {
    width: 100%;
    height: 280px;
    object-fit: cover;
}
/* logo height */
.wd-logo img{
	max-height: 110px;
}
/* hide counts */
span.count {
    display: none;
}
/* shipping bars hide */
.col-lg-6.col-12.col-md-6.text-left.summary.entry-summary {
    display: flex;
    align-items: center;
}
.product-element-top.wd-quick-shop img {
    height: 350px;
    object-fit: cover;
}

.size-notice {
	background: purple;
	color: #fff;
	padding: 10px;
}

.easy-guide {
	font-size: 25px;
	text-align: center;
	padding: 20px;
	border: 1px solid #000;
	margin-bottom: 40px;
}

.easy-guide a{
	color: purple;
	font-weight: bold;
}

.easy-guide a:hover {
	opacity: .6;
}
.wd-arrow-inner:after {
	font-size: 50px !important;
	color: #fff !important;
text-shadow: #000 1px 0 10px !important;
}

.wpfront-message,
.wpfront-button {
	font-size: 20px !important;
}

.mc4wp-form input[type="submit"] {
	background-color: purple;
}

.mc4wp-form input[type="submit"]:hover {
	background-color: #000;
}

@media only screen and (max-width: 1024px) {
	.main-page-wrapper
	 {
		margin-top: 30px
	
	}
	
	.wd-page-title {
		margin-top: 60px !important;
	}
	
	.whb-general-header {
		border: 0px !important;
	}
}

.wlr-product-message {
	color: #fff;
	font-weight: 800 !important;
}

body.postid-17248 .easy-guide,
body.postid-17248 .size-notice,
body.postid-17224 .easy-guide,
body.postid-17224 .size-notice {
	display: none;
}


/* ==================New CSS====== */

/* LuvGluv complete product CSS. Replace earlier product CSS with this file.

   CSS-only swatches; original WooCommerce controls and option order retained.

   Existing product-layout.js may remain for breadcrumb/notice placement. */



body.single-product #main-content {

  --luv-purple: #641878;

  --luv-purple-hover: #4d115e;

  --luv-ink: #241d30;

  --luv-muted: #716a7b;

  --luv-tint: #f8f3fa;

  --luv-border: #e8ddec;

  color: var(--luv-ink);

}

/* Position Clear beside the Grommet label */
body.single-product #main-content .summary
form.variations_form table.variations tr:has(#pa_grommet-and-o-ring) {
    position: relative;
}

body.single-product #main-content .summary
form.variations_form table.variations tr:has(#pa_grommet-and-o-ring) th.label {
    padding-right: 75px !important;
    min-height: 24px;
}

body.single-product #main-content .summary
form.variations_form table.variations tr:has(#pa_grommet-and-o-ring) td.value {
    position: static;
}

body.single-product #main-content .summary
form.variations_form table.variations tr:has(#pa_grommet-and-o-ring) .wd-reset-var {
    position: absolute;
    top: 0;
    right: 0;
    bottom: auto;
    left: auto;
    width: auto;
    margin: 0 !important;
    padding: 0;
    transform: none;
}

body.single-product #main-content .summary
form.variations_form table.variations tr:has(#pa_grommet-and-o-ring) .reset_variations {
    margin: 0 !important;
    font-size: 12px;
    line-height: 24px;
}
/* Space between product section and Description tabs */

body.single-product #main-content .product-tabs-wrapper {

  margin-top: 100px !important;

}

body.single-product #main-content .site-content { min-width: 0; }

body.single-product #main-content .site-content > .container,

body.single-product #main-content .single-product-page > .container,

body.single-product #main-content .product-tabs-inner {

  width: 100%; max-width: 1240px; margin-inline: auto; padding-inline: 24px;

}

body.single-product #main-content .easy-guide {

  margin: 8px 0 32px; padding: 18px 24px;

  border: 1px solid var(--luv-border); border-radius: 6px;

  background: var(--luv-tint); color: var(--luv-muted);

  font-size: 15px; line-height: 1.7; text-align: center;

}

body.single-product #main-content .easy-guide a { color: var(--luv-purple); font-weight: 600; }

body.single-product #main-content .product-image-summary-inner {

  --wd-gap-lg: 48px !important; --wd-gap-sm: 24px !important;

  align-items: start;

}

body.single-product #main-content .product-image-summary-inner > :is(.product-images,.summary) { min-width: 0; }

body.single-product #main-content .product-images { margin-bottom: 0; }

/* Do not change Swiper widths, transforms or theme breakpoint visibility. */

body.single-product #main-content .product-images .woocommerce-product-gallery {

  background: var(--luv-tint); border: 1px solid var(--luv-border);

  border-radius: 10px;

}

body.single-product #main-content .product-images .woocommerce-product-gallery__image {

  margin: 0; background: #faf8fb;

}

body.single-product #main-content .product-images .woocommerce-product-gallery__image > a {

  display: flex; align-items: center; justify-content: center;

  min-height: 470px; padding: 36px;

}

body.single-product #main-content .product-images .woocommerce-product-gallery__image img:not(.zoomImg) {

  display: block; width: auto; height: auto; max-width: 100%; max-height: 420px;

  object-fit: contain; margin-inline: auto;

}

body.single-product #main-content .woodmart-show-product-gallery {

  background: #fff; color: var(--luv-purple);

  box-shadow: 0 4px 16px rgb(41 18 49 / 9%);

}

body.single-product #main-content .summary-inner {

  --wd-mb: 18px; padding: 0; color: var(--luv-muted);

}

body.single-product #main-content .single-breadcrumbs-wrapper { margin-bottom: 22px; gap: 12px; }

body.single-product #main-content .woocommerce-breadcrumb { font-size: 15px; line-height: 1.6; color: var(--luv-muted); }

body.single-product #main-content .woocommerce-breadcrumb .wd-last { color: var(--luv-ink); }

body.single-product #main-content .summary .product_title {

  margin: 0 0 14px; color: var(--luv-ink); font-size: 34px;

  font-weight: 600; line-height: 1.18; letter-spacing: -.035em;

}

body.single-product #main-content .summary :is(p.price,span.price) {

  color: var(--luv-purple); font-size: 25px; line-height: 1.4; font-weight: 600;

}

body.single-product #main-content .summary .price del { color: var(--luv-muted); font-size: .75em; }

body.single-product #main-content .summary .price ins { color: var(--luv-purple); }

body.single-product #main-content .size-notice {

  margin: 0; padding: 17px 20px; background: var(--luv-tint);

  color: var(--luv-purple); border: 1px solid var(--luv-border);

  border-left: 3px solid var(--luv-purple); border-radius: 5px;

  font-size: 15px; font-weight: 400; line-height: 1.75;

}

body.single-product #main-content .woocommerce-product-details__short-description { font-size: 15px; line-height: 1.8; }

body.single-product #main-content .woocommerce-product-details__short-description p { margin-bottom: 10px; }

body.single-product #main-content .summary p.stock { font-size: 13px; margin-bottom: 14px; }

body.single-product #main-content .summary p.in-stock { color: #437530; }

body.single-product #main-content .summary .wlr-product-message {

  padding: 8px 0 !important; background: transparent; color: var(--luv-muted);

  font-size: 20px; line-height: 1.6 !important;

}

body.single-product #main-content .summary form.cart:not(.variations_form):not(.grouped_form),

body.single-product #main-content .summary .woocommerce-variation-add-to-cart {

  display: flex; align-items: center; flex-wrap: wrap; gap: 14px;

  margin-block: 22px 20px;

}

body.single-product #main-content .summary form.cart .quantity {

  display: inline-flex; flex: 0 0 auto; margin: 0; height: 52px;

  border: 1px solid var(--luv-border); border-radius: 4px; overflow: hidden;

}

body.single-product #main-content .summary .quantity :is(.minus,.plus,.qty) {

  min-height: 50px; height: 50px; padding: 0; border: 0; border-radius: 0;

  background: #fff; box-shadow: none; color: var(--luv-purple); font-size: 16px;

}

body.single-product #main-content .summary .quantity :is(.minus,.plus) { width: 35px; min-width: 35px; }

body.single-product #main-content .summary .quantity .qty {

  width: 44px; min-width: 44px; text-align: center;

  border-inline: 1px solid var(--luv-border);

}

body.single-product #main-content .summary .single_add_to_cart_button,

body.single-product #main-content #review_form :is(.submit,button[type="submit"]) {

  min-height: 52px; padding: 14px 28px; border: 1px solid var(--luv-purple);

  border-radius: 4px; background: var(--luv-purple); color: #fff;

  box-shadow: none; font-size: 13px; font-weight: 600;

  letter-spacing: .045em; text-transform: uppercase; line-height: 1.4;

  transition: background-color .18s ease, border-color .18s ease;

}

body.single-product #main-content .summary .single_add_to_cart_button { flex: 1 1 180px; margin: 0; }

body.single-product #main-content .summary .single_add_to_cart_button:hover,

body.single-product #main-content #review_form .submit:hover {

  background: var(--luv-purple-hover); border-color: var(--luv-purple-hover); color: #fff;

}

body.single-product #main-content .summary .single_add_to_cart_button:is(:disabled,.disabled) { opacity: .5; cursor: not-allowed; }

body.single-product #main-content .summary-inner > :is(.wd-compare-btn,.wd-wishlist-btn) {

  display: inline-flex; margin-right: 22px; margin-bottom: 20px;

}

body.single-product #main-content .summary-inner > .wd-action-btn a { color: var(--luv-purple); font-size: 15px; }

body.single-product #main-content .product_meta {

  border-top: 1px solid var(--luv-border); padding-top: 20px; margin-top: 4px;

  color: var(--luv-muted); font-size: 15px; line-height: 1.9;

}

body.single-product #main-content .product_meta > span { display: block;}

body.single-product #main-content .product_meta .meta-label { color: var(--luv-ink); font-weight: 600; }

body.single-product #main-content .product-share {color: var(--luv-muted); }

body.single-product #main-content .product-share a { color: var(--luv-purple); }

body.single-product #main-content .product-tabs-wrapper {

  margin-top: 48px; padding: 0; border-top: 0; border-bottom: 0; background: transparent;

}

body.single-product #main-content .woocommerce-tabs .wd-nav-tabs-wrapper {

  margin-bottom: 24px; text-align: left; border-bottom: 1px solid var(--luv-border);

}

body.single-product #main-content .woocommerce-tabs .wd-nav-tabs {

  justify-content: flex-start; gap: 30px; margin: 0;

}

body.single-product #main-content .woocommerce-tabs .wd-nav-tabs > li > a {

  padding: 16px 0; color: var(--luv-muted); font-size: 16px;

  font-weight: 500; letter-spacing: .025em;

}

body.single-product #main-content .woocommerce-tabs .wd-nav-tabs > li.active > a { color: var(--luv-purple); }

body.single-product #main-content .woocommerce-tabs .nav-link-text::after { background-color: var(--luv-purple); }

body.single-product #main-content .woocommerce-Tabs-panel { padding: 0; color: var(--luv-muted); font-size: 15px; line-height: 1.85; }

body.single-product #main-content .woocommerce-Tabs-panel h2,

body.single-product #main-content .woocommerce-Reviews-title,

body.single-product #main-content .related-products > h2 {

  font-size: 24px; font-weight: 500; line-height: 1.35;

  color: var(--luv-ink); letter-spacing: -.025em; text-transform: none;

}

body.single-product #main-content .woocommerce-Tabs-panel h2 { margin-bottom: 16px; }

body.single-product #main-content .wd-single-reviews {

  margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--luv-border);

}

body.single-product #main-content .wd-single-reviews #reviews {

  display: flex; flex-wrap: wrap;  gap: 40px;

  margin: 0;

}

body.single-product #main-content #reviews > :is(#comments,#review_form_wrapper) {

  width: auto; max-width: none; min-width: 0; margin: 0; padding: 0; float: none;

}

body.single-product #main-content #reviews > #review_form_wrapper { padding-left: 32px; border-left: 1px solid var(--luv-border); }

body.single-product #main-content #reviews .comment-reply-title {

  display: block; margin: 0 0 16px; color: var(--luv-ink);

  font-size: 21px; font-weight: 500; line-height: 1.45;

}

body.single-product #main-content #reviews :is(.woocommerce-noreviews,.comment-notes) { color: var(--luv-muted); font-size: 13px; line-height: 1.75; }

body.single-product #main-content #review_form label { color: var(--luv-ink); font-size: 13px; margin-bottom: 7px; }

body.single-product #main-content #review_form :is(input[type="text"],input[type="email"],input[type="url"],textarea) {

  width: 100%; min-height: 46px; padding: 12px 14px; border: 1px solid var(--luv-border);

  border-radius: 4px; background: #fff; color: var(--luv-ink); box-shadow: none;

}

body.single-product #main-content #review_form textarea { min-height: 130px; height: 130px; resize: vertical; }

body.single-product #main-content #review_form p { margin-bottom: 16px; }

body.single-product #main-content #review_form :is(.comment-form-author,.comment-form-email) {

  display: inline-block; vertical-align: top; width: calc(50% - 9px);

}

body.single-product #main-content #review_form .comment-form-author { margin-right: 14px; }

body.single-product #main-content #review_form .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 8px; }

body.single-product #main-content #review_form .comment-form-cookies-consent input { flex: 0 0 auto; margin-top: 4px; }

body.single-product #main-content #review_form .comment-form-cookies-consent label { line-height: 1.6; font-size: 12px; }

body.single-product #main-content #review_form .stars a { color: var(--luv-purple); }

body.single-product #main-content #review_form .submit { min-height: 44px; padding: 12px 26px; }

body.single-product #main-content .related-and-upsells { margin-top: 44px; margin-bottom: 48px; }

body.single-product #main-content .related-products {

  padding: 24px; border: 1px solid var(--luv-border); border-radius: 10px;

  background: var(--luv-tint);

}

body.single-product #main-content .related-products > h2 { margin-bottom: 24px; text-align: left; }

body.single-product #main-content .related-products > h2 span { padding: 0; border: 0; }

body.single-product #main-content .related-products .wd-product-wrapper {

  padding: 10px 10px 16px; border: 1px solid var(--luv-border);

  border-radius: 7px; background: #fff;

}

body.single-product #main-content .related-products .product-image-link {

  display: flex; align-items: center; justify-content: center;

  aspect-ratio: 1 / 1; background: #faf8fb; border-radius: 4px;

}

body.single-product #main-content .related-products .product-image-link > img {

  width: 100%; height: 100%; max-height: 250px; padding: 12px; object-fit: contain;

}

body.single-product #main-content .related-products .wd-entities-title { margin-top: 14px; font-size: 14px; line-height: 1.45; }

body.single-product #main-content .related-products .wd-product-cats { font-size: 12px; color: var(--luv-muted); }

body.single-product #main-content .related-products .price { color: var(--luv-purple); font-size: 15px; font-weight: 600; }

body.single-product #main-content .related-products .out-of-stock {

  background: var(--luv-tint); color: var(--luv-purple); border: 1px solid var(--luv-border);

}

body.single-product #main-content :is(a,button,input,textarea,select):focus-visible {

  outline: 2px solid var(--luv-purple); outline-offset: 3px;

}

@media (max-width: 1024px) {

  body.single-product #main-content .product-image-summary-inner { --wd-gap-lg: 28px !important; }

  body.single-product #main-content .product-images .woocommerce-product-gallery__image > a { min-height: 360px; padding: 24px; }

  body.single-product #main-content .product-images .woocommerce-product-gallery__image img:not(.zoomImg) { max-height: 340px; }

  body.single-product #main-content .summary .product_title { font-size: 30px; }

  body.single-product #main-content .wd-single-reviews #reviews { gap: 24px; }

}

@media (max-width: 767px) {

  body.single-product #main-content .site-content > .container,

  body.single-product #main-content .single-product-page > .container,

  body.single-product #main-content .product-tabs-inner { padding-inline: 16px; }

  body.single-product #main-content .easy-guide { margin-bottom: 24px; padding: 14px 16px; font-size: 13px; }

  body.single-product #main-content .product-image-summary-inner {  gap: 24px; }

  body.single-product #main-content .product-image-summary-inner > :is(.product-images,.summary) {  width: 100%; }

  body.single-product #main-content .product-images .woocommerce-product-gallery__image > a { min-height: 320px; padding: 24px; }

  body.single-product #main-content .product-images .woocommerce-product-gallery__image img:not(.zoomImg) { max-height: 320px; }

  body.single-product #main-content .single-breadcrumbs-wrapper { margin-bottom: 16px; }

  body.single-product #main-content .summary .product_title { font-size: 29px; }

  body.single-product #main-content .size-notice { font-size: 12px; padding: 14px 16px; }

  body.single-product #main-content .product-tabs-wrapper { margin-top: 32px; }

  body.single-product #main-content .woocommerce-tabs .wd-nav-tabs { gap: 20px; flex-wrap: wrap; }

  body.single-product #main-content .wd-single-reviews #reviews {  gap: 24px; }

  body.single-product #main-content #reviews > #review_form_wrapper { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--luv-border); }

  body.single-product #main-content .related-products { padding: 16px 10px; }

  body.single-product #main-content .related-products .wd-product-wrapper { padding: 6px 6px 12px; }

  body.single-product #main-content .related-products .wd-entities-title { font-size: 12px; }

  body.single-product #main-content .related-products .wd-product-cats { font-size: 11px; }

  body.single-product #main-content .related-and-upsells { margin-block: 32px; }

}

@media (max-width: 380px) {

  body.single-product #main-content .summary .single_add_to_cart_button { flex-basis: 150px; padding-inline: 16px; }

  body.single-product #main-content #review_form :is(.comment-form-author,.comment-form-email) { width: 100%; margin-right: 0; }

}

@media (prefers-reduced-motion: reduce) {

  body.single-product #main-content .summary .single_add_to_cart_button,

  body.single-product #main-content #review_form .submit { transition: none; }

}

/* Selected reference refinements — same content, updated presentation. */

body.single-product #main-content {

  --luv-ink: #16103e;

  --luv-muted: #635d7f;

  --luv-tint: #f6f0fb;

  --luv-border: #e7daf5;

}

body.single-product #main-content .easy-guide {

  margin: 0 0 18px; padding: 14px 20px; text-align: left;

  font-size: 22px; color: var(--luv-purple);

}

body.single-product #main-content .product-image-summary-inner {

  --wd-gap-lg: 38px !important;

}

body.single-product #main-content .product-image-summary-wrap > .single-breadcrumbs-wrapper {

  display: flex; justify-content: space-between; align-items: center;

  width: 100%; margin: 0 0 18px;

}

body.single-product #main-content .product-images .woocommerce-product-gallery {

  border: 0; border-radius: 6px;

}

body.single-product #main-content .product-images .woocommerce-product-gallery__image > a {

  min-height: 500px; padding: 30px;

}

body.single-product #main-content .product-images .woocommerce-product-gallery__image img:not(.zoomImg) {

  width: auto; max-width: 100%; max-height: 450px;

}

body.single-product #main-content .summary .product_title {

  font-size: clamp(28px, 2.6vw, 38px); letter-spacing: -.025em;

}

body.single-product #main-content .summary-inner { --wd-mb: 14px; }

body.single-product #main-content .size-notice {

  padding: 14px 18px; border: 1px solid var(--luv-border);

  border-radius: 5px; font-size: 12px; line-height: 1.7;

}

body.single-product #main-content .summary form.cart:not(.variations_form):not(.grouped_form),

body.single-product #main-content .summary .woocommerce-variation-add-to-cart {

  margin-block: 14px 18px; gap: 12px;

}

body.single-product #main-content .summary-inner > .wd-compare-btn {

  margin-right: 18px; padding-right: 18px; border-right: 1px solid var(--luv-border);

}

body.single-product #main-content .product_meta { padding-top: 12px; }

body.single-product #main-content .product-tabs-wrapper { margin-top: 28px; }

body.single-product #main-content .woocommerce-tabs .wd-nav-tabs-wrapper { margin-bottom: 20px; }

body.single-product #main-content .woocommerce-Tabs-panel { font-size: 14px; line-height: 1.7; }

body.single-product #main-content .wd-single-reviews { margin-top: 20px; padding-top: 18px; }

body.single-product #main-content .wd-single-reviews #reviews { gap: 28px; }

body.single-product #main-content #reviews > #review_form_wrapper { padding-left: 28px; }

body.single-product #main-content .woocommerce-Tabs-panel h2,

body.single-product #main-content .woocommerce-Reviews-title,

body.single-product #main-content .related-products > h2 { font-size: 23px; }

body.single-product #main-content #reviews .comment-reply-title { font-size: 21px; }

body.single-product #main-content #review_form textarea { height: 100px; min-height: 100px; }

body.single-product #main-content .related-and-upsells { margin-top: 24px; margin-bottom: 28px; }

body.single-product #main-content .related-products { padding: 18px; border: 0; }

body.single-product #main-content .related-products > h2 { margin-bottom: 16px; }

/* Only Colors modifier set */

.pws-modifier-set-frontend[data-set-index="0"] {

    display: flex;

    align-items: center;

    gap: 12px;

    flex-wrap: wrap;

}



.pws-modifier-set-frontend[data-set-index="0"] h5 {

    width: 100%;

    margin: 0 0 8px;

}



/* Circular thumbnail arrow buttons */

body.single-product .wd-gallery-images .wd-btn-arrow,

body.single-product .wd-gallery-thumb .wd-btn-arrow {

  top: 50% !important;

  transform: translateY(-50%) !important;

  width: 40px !important;

  height: 40px !important;

  padding: 0 !important;

}

body.single-product .wd-arrow-inner,

body.single-product .wd-gallery-images .wd-arrow-inner,

body.single-product .wd-gallery-thumb .wd-arrow-inner {

  display: flex !important;

  align-items: center !important;

  justify-content: center !important;

  box-sizing: border-box;

  width: 30px !important;

  height: 30px !important;

  padding: 0 !important;

  border: 1px solid #e2d3ea !important;

  border-radius: 50% !important;

  background: #fff !important;

  color: #641878 !important;



}



/* Center the existing theme arrow icon */

body.single-product .wd-arrow-inner::after,

body.single-product .wd-gallery-images .wd-arrow-inner::after,

body.single-product .wd-gallery-thumb .wd-arrow-inner::after {

  display: flex !important;

  align-items: center !important;

  justify-content: center !important;

  position: static !important;

  width: 100% !important;

  height: 100% !important;

  margin: 0 !important;

  padding: 0 !important;

  border-radius: 50% !important;

  background: transparent !important;

  color: #641878 !important;

  font-size: 12px !important;

  line-height: 1 !important;

  text-shadow: none !important;

}



/* Hover */

body.single-product .wd-btn-arrow:not(.wd-disabled):hover .wd-arrow-inner,

body.single-product .wd-gallery-images .wd-btn-arrow:not(.wd-disabled):hover .wd-arrow-inner ,

body.single-product .wd-gallery-thumb

.wd-btn-arrow:not(.wd-disabled):hover .wd-arrow-inner {

  border-color: #641878 !important;

  background: #f8f2fa !important;

}



/* Disabled arrow */

body.single-product .wd-btn-arrow\\.wd-disabled,

body.single-product .wd-gallery-images .wd-btn-arrow\\.wd-disabled,

body.single-product .wd-gallery-thumb .wd-btn-arrow\\.wd-disabled {

  opacity: 0.35 !important;

  pointer-events: none;

}



@media (max-width: 1024px) {

  body.single-product #main-content .product-image-summary-inner { --wd-gap-lg: 26px !important; }

  body.single-product #main-content .product-images .woocommerce-product-gallery__image > a { min-height: 400px; padding: 24px; }

  body.single-product #main-content .product-images .woocommerce-product-gallery__image img:not(.zoomImg) { max-height: 360px; }

}

@media (max-width: 767px) {

  body.single-product #main-content .easy-guide { font-size: 12px; padding: 12px 14px; }

  body.single-product #main-content .product-images .woocommerce-product-gallery__image > a { min-height: 330px; padding: 22px; }

  body.single-product #main-content .product-images .woocommerce-product-gallery__image img:not(.zoomImg) { max-height: 320px; }

  body.single-product #main-content .summary .product_title { font-size: 28px; }

  body.single-product #main-content #reviews > #review_form_wrapper { padding: 22px 0 0; }

  body.single-product #main-content .related-products { padding: 14px 10px; }

}

/* v2: simple + variable products, existing WooCommerce/PWS controls. */

body.single-product #main-content .product-images .woocommerce-product-gallery {

  background: transparent;

}

body.single-product #main-content .wd-gallery-images {

  overflow: hidden; border: 1px solid var(--luv-border); border-radius: 16px;

  background: #faf8fb;

}

body.single-product #main-content .wd-gallery-thumb { margin-top: 16px; }

body.single-product #main-content .wd-gallery-thumb .wd-carousel-item > img {

  box-sizing: border-box; display: block; width: 100%; aspect-ratio: 1;

  object-fit: contain; padding: 10px; border: 2px solid transparent;

  border-radius: 12px; background: #faf8fb; opacity: .72;

  transition: border-color .2s ease, background-color .2s ease, opacity .2s ease;

}

body.single-product #main-content .wd-gallery-thumb .wd-carousel-item:hover > img {

  opacity: 1; border-color: #cbb4d3;

}

body.single-product #main-content .wd-gallery-thumb .wd-carousel-item.wd-thumb-active > img {

  opacity: 1; border-color: var(--luv-purple); background: #f5edf8;

  box-shadow: inset 0 0 0 3px #fff;

}

body.single-product #main-content .summary-inner {

  position: static !important; /* Long customization forms must scroll naturally. */

}

body.single-product #main-content .summary .product_title { overflow-wrap: anywhere; }

body.single-product #main-content .summary .size-notice { border-radius: 10px; }

body.single-product #main-content .summary p.stock {

  display: inline-flex; align-items: center; gap: 10px; padding: 8px 13px;

  border: 1px solid #d7eadc; border-radius: 100px; background: #f0f8f2;

  color: #23643d; font-size: 13px; font-weight: 600; line-height: 1.5;

}

body.single-product #main-content .summary p.stock::before {

  content: ''; display: inline-block; flex: 0 0 8px; width: 8px; height: 8px;

  margin: 0; border: 0; border-radius: 50%; background: currentColor;

}

body.single-product #main-content .summary p.stock.in-stock::before {

  background: #26a653; animation: luv-stock-signal 2.2s ease-out infinite;

}

.single-product-content.outofstock .wd-compare-btn.wd-action-btn.wd-style-text.wd-compare-icon,

.single-product-content.outofstock .wd-wishlist-btn.wd-action-btn.wd-style-text.wd-wishlist-icon{

    margin-bottom: 0px !important;

}

body.single-product #main-content .summary p.stock.out-of-stock {

  color: #a33535; background: #fff4f3; border-color: #efd4d1; margin-right: 20px;

}

body.single-product #main-content .summary p.stock.available-on-backorder {

  color: #865615; background: #fff8eb; border-color: #eadabc;

}

body.single-product #main-content .summary p.stock:is(.out-of-stock,.available-on-backorder)::before {

  animation: none; background: currentColor;

}

@keyframes luv-stock-signal {

  0%, 70%, 100% { transform: translateY(0); box-shadow: 0 0 0 0 rgb(38 166 83 / 0%); }

  20% { transform: translateY(-2px); box-shadow: 0 0 0 3px rgb(38 166 83 / 22%); }

  45% { transform: translateY(0); box-shadow: 0 0 0 7px rgb(38 166 83 / 0%); }

}

body.single-product #main-content .summary form.variations_form { display: block; margin-top: 22px; margin-bottom: 30px !important; }

body.single-product #main-content .summary .wd-swatches-single { gap: 9px; flex-wrap: wrap; }

body.single-product #main-content .summary .wd-swatches-single .wd-swatch.wd-text {

  min-width: 48px; min-height: 44px; padding: 10px 12px; margin: 0;

  border: 1px solid var(--luv-border); border-radius: 8px;

  background: #fff; color: var(--luv-ink); box-shadow: none;

}

body.single-product #main-content .summary .wd-swatches-single .wd-swatch.wd-text:is(.wd-active,[aria-checked="true"]) {

  border-color: var(--luv-purple); color: var(--luv-purple); background: var(--luv-tint);

  box-shadow: inset 0 0 0 1px var(--luv-purple);

}

body.single-product #main-content .summary .wd-swatches-single .wd-swatch:is(.wd-disabled,[aria-disabled="true"]) {

  opacity: .35; cursor: not-allowed;

}

body.single-product #main-content .summary .wd-swatch:focus-visible {

  outline: 2px solid var(--luv-purple); outline-offset: 3px;

}

body.single-product #main-content .summary .woocommerce-variation-add-to-cart {

  display: flex; flex-wrap: wrap; gap: 12px; align-items: center;

}

body.single-product #main-content .summary .pws-modifier-sets {

  box-sizing: border-box; flex: 0 0 100%; width: 100%; min-width: 0;

  display: flex; flex-wrap: wrap;  gap: 20px 16px;

  padding: 22px; margin: 0 0 10px; border: 1px solid var(--luv-border);

  border-radius: 14px; background: linear-gradient(145deg,#fcfafd,#f7f1fa);

}

body.single-product #main-content .summary .pws-modifier-sets > h4 {

   margin: 0; padding-bottom: 14px;

  border-bottom: 1px solid var(--luv-border); font-size: 17px; font-weight: 600;

  color: var(--luv-ink);

}

body.single-product #main-content .summary .pws-modifier-set-frontend {

  min-width: 0; margin: 0; padding: 0; border: 0; background: transparent;

}

body.single-product #main-content .summary .pws-modifier-set-frontend:has(.pws-modifier-option-label),

body.single-product #main-content .summary .pws-modifier-set-frontend:last-child {



}

body.single-product #main-content .summary .pws-modifier-set-frontend h5 {

  margin: 0 0 10px; color: var(--luv-ink); font-size: 15px; font-weight: 600;

}

body.single-product #main-content .summary .pws-modifier-option-label {

  box-sizing: border-box; display: inline-flex; align-items: center; gap: 7px;

  max-width: 100%; min-height: 42px; padding: 8px 11px; margin: 0 6px 8px 0;

  border: 1px solid var(--luv-border); border-radius: 8px;

  background: #fff; color: var(--luv-muted); font-size: 12px; line-height: 1.4;

  cursor: pointer; transition: border-color .18s ease, background-color .18s ease;

}

body.single-product #main-content .summary .pws-modifier-option-label input {

  width: 15px; height: 15px; flex: 0 0 15px; margin: 0; accent-color: var(--luv-purple);

}

body.single-product #main-content .summary .pws-modifier-option-label:has(input:checked) {

  border-color: var(--luv-purple); background: #eee2f3; color: var(--luv-purple);

  box-shadow: inset 0 0 0 1px var(--luv-purple);

}

body.single-product #main-content .summary .pws-modifier-option-label:has(input:focus-visible) {

  outline: 2px solid var(--luv-purple); outline-offset: 3px;

}

body.single-product #main-content .summary .pws-modifier-option-label:has(input:disabled) { opacity: .45; cursor: not-allowed; }

body.single-product #main-content .summary .pws-modifier-select {

  box-sizing: border-box; width: 100%; max-width: 100%; min-height: 46px;

  border: 1px solid #d9cbe2; border-radius: 8px; padding: 10px 34px 10px 12px;

  background-color: #fff; color: var(--luv-ink); font-size: 13px;

}

body.single-product #main-content .summary .shop_attributes {

  margin-block: 12px 18px; font-size: 13px; border-block: 1px solid var(--luv-border);

}

body.single-product #main-content .summary .shop_attributes :is(th,td) { padding-block: 10px; }

body.single-product #main-content .summary .single_add_to_cart_button {

  border-radius: 8px; background: linear-gradient(110deg,#641878,#792e89);

  box-shadow: 0 5px 14px rgb(100 24 120 / 13%);

}

body.single-product #main-content .summary .single_add_to_cart_button:not(:disabled):not(.disabled):hover {

  background: #4d115e; box-shadow: 0 7px 18px rgb(100 24 120 / 20%);

}

body.single-product #main-content .summary .single_add_to_cart_button:is(:disabled,.disabled) { box-shadow: none; }

body.single-product #main-content .summary form.cart .quantity { border-radius: 8px; }

body.single-product #main-content .related-products { border-radius: 16px; }

body.single-product #main-content .related-products .wd-product-wrapper {

  border-radius: 10px; transition: border-color .2s ease, box-shadow .2s ease;

}

body.single-product #main-content .related-products .wd-product-wrapper:hover {

  border-color: #ceb4d9; box-shadow: 0 6px 18px rgb(68 24 86 / 8%);

}

@media (max-width: 1024px) and (min-width: 768px) {

  body.single-product #main-content .summary .pws-modifier-sets {  padding: 16px; }

}

@media (max-width: 767px) {

  body.single-product #main-content .summary .pws-modifier-sets { padding: 16px; gap: 16px 12px; }

  body.single-product #main-content .wd-gallery-thumb .wd-carousel-item > img { padding: 7px; border-radius: 8px; }

  body.single-product #main-content .summary p.stock { font-size: 12px; }

}

@media (max-width: 420px) {

  body.single-product #main-content .summary .pws-modifier-sets {  }

}

@media (prefers-reduced-motion: reduce) {

  body.single-product #main-content .summary p.stock::before { animation: none !important; }

  body.single-product #main-content .wd-gallery-thumb .wd-carousel-item > img,

  body.single-product #main-content .summary .pws-modifier-option-label,

  body.single-product #main-content .related-products .wd-product-wrapper { transition: none; }

}



/* Consolidated options box and purple notice */

body.single-product #main-content .summary form.variations_form {

  display:block;

  box-sizing:border-box;

  width:100%;

  padding:22px;

  margin-top:20px;

  border:1px solid #e2d3ea;

  border-radius:14px;

  background:#fff;

  box-shadow:0 6px 24px rgb(100 24 120 / 5%);

}

body.single-product #main-content .summary .pws-modifier-sets > h4 {

  display:none !important;

}

body.single-product #main-content .summary .pws-modifier-sets {

  display: flex; flex-wrap: wrap;



  gap:20px 16px;

  width:100%;

  flex:0 0 100%;

  padding:0;

  margin:0 0 10px;

  border:0;

  border-radius:0;

  background:transparent;

  box-shadow:none;

}

body.single-product #main-content .summary .pws-modifier-set-frontend {

  min-width:0;

  margin:0;

}

body.single-product #main-content .summary .pws-modifier-set-frontend h5 {

  margin-bottom:10px;

  color:#241d30;

  font-size:14px;

  font-weight:600;

}

body.single-product #main-content .summary .woocommerce-variation-add-to-cart {

  margin-top:16px;

  margin-bottom:0;

}

body.single-product #main-content .summary .size-notice {

  padding:17px 20px;

  border:1px solid #641878;

  border-radius:10px;

  background:#641878;

  color:#fff;

  font-size:13px;

  line-height:1.8;

  box-shadow:none;

}

body.single-product #main-content .summary .size-notice a {

  color:#fff;

  text-decoration:underline;

}

body.single-product #main-content .summary .pws-modifier-set-frontend[data-set-index="0"] {

  display:flex;

  flex-wrap:wrap;

  align-items:center;

  justify-content:flex-start;

  gap:12px;

}

body.single-product #main-content .summary .pws-modifier-set-frontend[data-set-index="0"] > h5 {

  flex:0 0 100%;

  margin:0 0 6px;

}

body.single-product #main-content .summary .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label {

  position:relative !important;

  display:inline-flex;

  align-items:center;

  justify-content:center;

  min-height:36px;

  padding:0;

  margin:0;

  float:none !important;

  clear:none !important;

  border:0;

  border-radius:0;

  background:transparent !important;

  box-shadow:none !important;

  font-size:0;

  line-height:0;

  cursor:pointer;

}

body.single-product #main-content .summary .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label input[type="radio"] {

  position:absolute;

  width:1px;

  height:1px;

  padding:0;

  margin:-1px;

  overflow:hidden;

  clip-path:inset(50%);

  border:0;

}

body.single-product #main-content .summary .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label::after {

  content:"";

  display:block;

  box-sizing:border-box;

  width:28px;

  height:28px;

  border:1px solid transparent;

  border-radius:50%;

  background:var(--swatch-color,#641878);

  outline:2px solid transparent;

  outline-offset:3px;

  box-shadow:none;

}

body.single-product #main-content .summary .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="White"])::after {

  border-color:#e7e7e7;

}

body.single-product #main-content .summary .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input:checked)::after {

  outline-color:#641878;

}

body.single-product #main-content .summary .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input:focus-visible) {

  outline:2px dashed #641878;

  outline-offset:3px;

}

body.single-product #main-content .summary .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input:disabled) {

  opacity:.4;

  cursor:not-allowed;

}

body.single-product #main-content .summary .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="Green"]) { --swatch-color: #085508; }

body.single-product #main-content .summary .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="Cream"]) { --swatch-color: #f8f1dc; }

body.single-product #main-content .summary .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="Hunter Green"]) { --swatch-color: #1f4d37; }

body.single-product #main-content .summary .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="Royal Blue"]) { --swatch-color: #2046b5; }

body.single-product #main-content .summary .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="White"]) { --swatch-color: #ffffff; }

body.single-product #main-content .summary .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="Black"]) { --swatch-color: #111111; }

body.single-product #main-content .summary .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="Navy"]) { --swatch-color: #100078; }

body.single-product #main-content .summary .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="Fushia"]) { --swatch-color: #d33291; }

body.single-product #main-content .summary .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="Fuchsia"]) { --swatch-color: #d33291; }

body.single-product #main-content .summary .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="Red"]) { --swatch-color: #e92c32; }

body.single-product #main-content .summary .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="Purple"]) { --swatch-color: #800080; }

@media (max-width:600px) {

body.single-product #main-content .summary form.variations_form {padding:16px;}

body.single-product #main-content .summary .pws-modifier-sets {gap:18px;}

body.single-product #main-content .summary .size-notice {padding:15px 16px;}

}





/* Compatibility overrides: keep this complete stylesheet after theme CSS. */

body.single-product form.variations_form.cart {

  display:block !important;

  box-sizing:border-box !important;

  width:100% !important;

  padding:22px !important;

  border:1px solid #e2d3ea !important;

  border-radius:14px !important;

  background:#fff !important;

  box-shadow:0 6px 24px rgb(100 24 120 / 5%) !important;

}

body.single-product .pws-modifier-sets > h4 {

  display:none !important;

}

body.single-product .pws-modifier-sets {

  display: flex !important; flex-wrap: wrap;



  gap:20px 16px !important;

  flex:0 0 100% !important;

  width:100% !important;

  padding:0 !important;

  margin:0 0 10px !important;

  border:0 !important;

  border-radius:0 !important;

  background:transparent !important;

  box-shadow:none !important;

}

body.single-product .pws-modifier-set-frontend[data-set-index="0"] {

  display:flex !important;

  flex-wrap:wrap !important;

  align-items:center !important;

  justify-content:flex-start !important;

  gap:12px !important;



}

body.single-product .pws-modifier-set-frontend[data-set-index="0"] > h5 {

  flex:0 0 100% !important;

  margin:0 0 6px !important;

}

body.single-product .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label {

  position:relative !important;

  display:inline-flex !important;

  align-items:center !important;

  justify-content:center !important;

  height:36px !important;

  min-height:36px !important;

  padding:0 !important;

  margin:0 !important;

  float:none !important;

  clear:none !important;

  border:0 !important;

  border-radius:0 !important;

  background:transparent !important;

  box-shadow:none !important;

  font-size:0 !important;

  line-height:0 !important;

  cursor:pointer !important;

}

body.single-product .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label input[type="radio"] {

  position:absolute !important;

  opacity:0 !important;

  width:1px !important;

  height:1px !important;

  margin:0 !important;

  padding:0 !important;

  clip-path:inset(50%) !important;

  overflow:hidden !important;

  border:0 !important;

}

body.single-product .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label::before {

  content:none !important;

}

body.single-product .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label::after {

  content:"" !important;

  display:block !important;

  box-sizing:border-box !important;

  width:28px !important;

  height:28px !important;

  border:1px solid transparent !important;

  border-radius:50% !important;

  outline:2px solid transparent !important;

  outline-offset:3px !important;

  box-shadow:none !important;

}

body.single-product .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input:checked)::after {

  outline:2px solid #641878 !important;

  outline-offset:3px !important;

}

body.single-product .size-notice {

  background:#641878 !important;

  color:#fff !important;

  border:1px solid #641878 !important;

  border-radius:10px !important;

  padding:17px 20px !important;

  font-size:13px !important;

  line-height:1.8 !important;

}

body.single-product .size-notice :is(p,span,strong,a) {

  color:#fff !important;

}

body.single-product .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="Green" i])::after {

  background:#085508 !important;

}

body.single-product .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="Cream" i])::after {

  background:#f8f1dc !important;

}

body.single-product .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="Hunter Green" i])::after {

  background:#1f4d37 !important;

}

body.single-product .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="Royal Blue" i])::after {

  background:#2046b5 !important;

}

body.single-product .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="White" i])::after {

  background:#fff !important;

  border-color:#e7e7e7 !important;

}

body.single-product .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="Black" i])::after {

  background:#111 !important;

}

body.single-product .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="Navy" i])::after {

  background:#100078 !important;

}

body.single-product .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="Fushia" i])::after {

  background:#d33291 !important;

}

body.single-product .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="Fuchsia" i])::after {

  background:#d33291 !important;

}

body.single-product .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="Red" i])::after {

  background:#e92c32 !important;

}

body.single-product .pws-modifier-set-frontend[data-set-index="0"] .pws-modifier-option-label:has(input[value="Purple" i])::after {

  background:#800080 !important;

}

@media (max-width:600px) {

body.single-product form.variations_form.cart { padding:16px !important; }

body.single-product .pws-modifier-sets {  }

}



/* Final layout: cart controls visually below the options box. */

body.single-product form.variations_form.cart {

  position: relative !important;

  isolation: isolate;

  padding: 22px 22px 0 !important;

  border: 0 !important;

  border-radius: 0 !important;

  background: transparent !important;

  box-shadow: none !important;

}

body.single-product form.variations_form.cart .woocommerce-variation-add-to-cart {

  display: flex !important; flex-wrap: wrap;



  align-items: center;

  gap: 0 12px !important;

  margin-bottom: 0 !important;

  padding-bottom: 0 !important;

}

body.single-product form.variations_form.cart .pws-modifier-sets {



  margin-bottom: 46px !important;

}

body.single-product form.variations_form.cart .woocommerce-variation-add-to-cart > .quantity,

body.single-product form.variations_form.cart .woocommerce-variation-add-to-cart > .single_add_to_cart_button {

  box-sizing: border-box;

  height: 52px !important;

  min-height: 52px !important;

  margin: 0 !important;

}

body.single-product form.variations_form.cart .single_add_to_cart_button {

  width: 100%;

  min-width: 0;

  padding-inline: 12px !important;

}

@media (max-width: 600px) {

  body.single-product form.variations_form.cart {

    padding: 16px 16px 0 !important;

  }

}



/* FINAL: Editorial Boutique + sticky desktop gallery.

   Set --luv-sticky-top to the sticky header height plus 16px.

   Sticky follows the product hero only; tabs/reviews stay full-width below it.

   No scroll handlers or changes to WooCommerce form behaviour required.

*/

body.single-product #main-content {

  --luv-sticky-top: 140px;

  --luv-admin-offset: 0px;

}

body.single-product.admin-bar #main-content { --luv-admin-offset: 32px; }

body.single-product #main-content .summary .product_title,

body.single-product #main-content .woocommerce-Tabs-panel h2,

body.single-product #main-content .woocommerce-Reviews-title,

body.single-product #main-content .related-products > h2 {

  font-family: inherit;

  font-weight: 500;

  letter-spacing: -.035em;

}

span.out-of-stock.product-label.wd-shape-round {

    background: var(--luv-tint);

}

body.single-product #main-content .summary .product_title {

  font-size: clamp(30px, 3vw, 36px);

  line-height: 1.12;

}

body.single-product #main-content .summary-inner {

  position: static !important;

  top: auto !important;

}

@media (min-width: 1025px) and (min-height: 700px) {

  body.single-product #main-content .product-image-summary-wrap,

  body.single-product #main-content .product-image-summary,

  body.single-product #main-content .product-image-summary-inner {

    overflow: visible;

  }

  body.single-product #main-content .product-image-summary-inner {

    align-items: start;

  }

  body.single-product #main-content .product-image-summary-inner > .product-images {

    position: sticky !important;

    top: calc(var(--luv-sticky-top) + var(--luv-admin-offset)) !important;

    align-self: start;

    height: auto !important;

    min-height: 0;

    margin-bottom: 0;

    --luv-gallery-stage: min(520px, calc(100vh - var(--luv-sticky-top) - var(--luv-admin-offset) - 128px));

  }

  /* Stick the column, not a second nested gallery wrapper. */

  body.single-product #main-content .product-images .woocommerce-product-gallery {

    position: relative !important;

    top: auto !important;

  }

  body.single-product #main-content .product-images .woocommerce-product-gallery__image > a {

    box-sizing: border-box;

    height: var(--luv-gallery-stage);

    min-height: 0 !important;

    padding: 16px;

  }

  body.single-product #main-content .product-images .woocommerce-product-gallery__image img:not(.zoomImg) {

    width: auto;

    height: auto;

    max-width: 100%;

    max-height: calc(var(--luv-gallery-stage) - 32px);

    object-fit: contain;

  }

  body.single-product #main-content .wd-gallery-thumb { margin-top: 14px; }

  body.single-product #main-content .wd-gallery-thumb .wd-carousel-item > img {

    height: 80px;

    max-height: 80px;

    aspect-ratio: auto;

    object-fit: contain;

    padding: 6px;

  }

}

/* Natural scrolling on phones, tablets and short desktop windows. */

@media (max-width: 1024px), (max-height: 699px) {

  body.single-product #main-content .product-image-summary-inner > .product-images {

    position: relative !important;

    top: auto !important;

  }

  body.single-product #main-content .product-images .woocommerce-product-gallery {

    position: relative !important;

    top: auto !important;

  }

}



/* Merged variation layout: natural height, label above dropdown. */

body.single-product #main-content .summary form.variations_form table.variations,

body.single-product #main-content .summary form.variations_form table.variations tbody,

body.single-product #main-content .summary form.variations_form table.variations tr {

  display: block;

  width: 100%;

  height: auto;

  padding: 0;

  border: 0 !important;

  background: transparent;

  box-shadow: none;

  box-sizing: border-box;

}

body.single-product #main-content .summary form.variations_form table.variations { margin: 0 0 20px; }

body.single-product #main-content .summary form.variations_form table.variations tr { margin: 0 0 16px; }

body.single-product #main-content .summary form.variations_form table.variations tr:last-child { margin-bottom: 0; }

body.single-product #main-content .summary form.variations_form table.variations th.label,

body.single-product #main-content .summary form.variations_form table.variations td.value {

  display: block;

  width: 100%;

  min-width: 0;

  height: auto;

  padding: 0 !important;

  border: 0 !important;

  background: transparent;

  text-align: left;

  box-sizing: border-box;

}

body.single-product #main-content .summary form.variations_form table.variations th.label { margin-bottom: 8px; }

body.single-product #main-content .summary form.variations_form table.variations label {

  margin: 0;

  color: var(--luv-ink);

  font-family: inherit;

  font-size: 14px;

  font-weight: 600;

  line-height: 1.5;

}

body.single-product #main-content .summary form.variations_form table.variations select {

  width: 100%;

  max-width: 100%;

  min-width: 0;

  height: 52px;

  min-height: 52px;

  margin: 0;

  padding: 0 46px 0 16px;

  box-sizing: border-box;

  border: 1px solid var(--luv-border) !important;

  border-radius: 12px;

  background-color: #fff;

  color: var(--luv-ink);

  font-family: inherit;

  font-size: 14px;

  line-height: normal;

  box-shadow: none;

  appearance: none;

  -webkit-appearance: none;

  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='%23641878' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");

  background-repeat: no-repeat;

  background-position: right 16px center;

  background-size: 16px;

  cursor: pointer;

  transition: border-color .2s ease, box-shadow .2s ease;

}

body.single-product #main-content .summary form.variations_form table.variations select:hover { border-color: #a66abb !important; }

body.single-product #main-content .summary form.variations_form table.variations select:focus-visible {

  border-color: var(--luv-purple) !important;

  outline: 2px solid var(--luv-purple);

  outline-offset: 2px;

}

body.single-product #main-content .summary form.variations_form .wd-reset-var {

  position: static;

  display: block;

  margin: 8px 0 0;

  text-align: right;

  transform: none;

}

body.single-product #main-content .summary form.variations_form .reset_variations {

  color: var(--luv-purple);

  font-size: 12px;

  font-weight: 500;

}

/* Remove the fixed-bottom decorative box; controls determine their own height. */

body.single-product #main-content .summary form.variations_form.cart {

  padding: 10px !important;

}

.woocommerce-variation-description p {

    padding-bottom: 20px;

}

@media (max-width: 767px) {

  body.single-product #main-content .summary form.variations_form table.variations select { font-size: 16px; }

}

@media (prefers-reduced-motion: reduce) {

  body.single-product #main-content .summary form.variations_form table.variations select { transition: none; }

}



/* Flex sizing for the product columns, reviews, modifiers and cart controls. */

body.single-product #main-content .product-image-summary-inner {

  display: flex !important;

  flex-wrap: wrap;

  gap: var(--wd-gap-lg, 38px);

  align-items: flex-start;

}

body.single-product #main-content .product-image-summary-inner > :is(.product-images, .summary) {

  box-sizing: border-box;

  flex: 1 1 0;

  width: auto;

  max-width: none;

  min-width: 0;

}

body.single-product #main-content .wd-single-reviews #reviews {

  display: flex;

  flex-wrap: nowrap;

  align-items: flex-start;

}

body.single-product #main-content #reviews > :is(#comments, #review_form_wrapper) {

  box-sizing: border-box;

  flex: 1 1 0;

  min-width: 0;

}

body.single-product .pws-modifier-sets {

  display: flex !important;

  flex-wrap: wrap !important;

}

body.single-product #main-content .summary .pws-modifier-sets > .pws-modifier-set-frontend {

  box-sizing: border-box;

  flex: 0 0 calc((100% - 16px) / 2);

  width: calc((100% - 16px) / 2);

  min-width: 0;

}

body.single-product #main-content .summary .pws-modifier-sets > h4,

body.single-product #main-content .summary .pws-modifier-sets > .pws-modifier-set-frontend:has(.pws-modifier-option-label),

body.single-product #main-content .summary .pws-modifier-sets > .pws-modifier-set-frontend:last-child,

body.single-product #main-content .summary .pws-modifier-sets > .pws-modifier-set-frontend[data-set-index="0"] {

  flex: 0 0 100%;

  width: 100%;

}

body.single-product form.variations_form.cart .woocommerce-variation-add-to-cart {

  display: flex !important;

  flex-wrap: wrap;

  align-items: center;

  gap: 12px !important;

}

body.single-product form.variations_form.cart .woocommerce-variation-add-to-cart > .quantity {

  flex: 0 0 auto;

}

body.single-product form.variations_form.cart .woocommerce-variation-add-to-cart > .single_add_to_cart_button {

  flex: 1 1 150px;

  width: auto;

  min-width: 0;

}

body.single-product form.variations_form.cart .woocommerce-variation-add-to-cart > .pws-modifier-sets {

  flex: 0 0 100% !important;

  width: 100%;

}

@media (max-width: 767px) {

  body.single-product #main-content .product-image-summary-inner { gap: 24px; }

  body.single-product #main-content .product-image-summary-inner > :is(.product-images, .summary) {

    flex: 0 0 100%;

    width: 100%;

  }

  body.single-product #main-content .wd-single-reviews #reviews {

    flex-direction: column;

    gap: 24px;

  }

  body.single-product #main-content #reviews > :is(#comments, #review_form_wrapper) {

    flex: 0 0 auto;

    width: 100%;

  }

}

@media (max-width: 600px), (min-width: 768px) and (max-width: 1024px) {

  body.single-product #main-content .summary .pws-modifier-sets > .pws-modifier-set-frontend {

    flex: 0 0 100%;

    width: 100%;

  }

}

/* Variation layout: modifiers, variation notice, then cart controls.
   Keep the variation alert intact so WooCommerce can show/hide it normally. */
body.single-product #main-content form.variations_form.cart .single_variation_wrap:has(> .woocommerce-variation-add-to-cart > .pws-modifier-sets) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

body.single-product #main-content form.variations_form.cart .single_variation_wrap:has(> .woocommerce-variation-add-to-cart > .pws-modifier-sets) > .woocommerce-variation-add-to-cart {
    display: contents !important;
}

body.single-product #main-content form.variations_form.cart .single_variation_wrap > .woocommerce-variation-add-to-cart > .pws-modifier-sets {
    order: 0;
    flex: 0 0 100% !important;
    width: 100%;
    margin-bottom: 0 !important;
}

body.single-product #main-content form.variations_form.cart .single_variation_wrap:has(> .woocommerce-variation-add-to-cart > .pws-modifier-sets) > .single_variation {
    order: 1;
    flex: 0 0 100%;
    width: 100%;
    min-width: 0;
    margin: 0;
}

body.single-product #main-content form.variations_form.cart .single_variation_wrap:has(> .woocommerce-variation-add-to-cart > .pws-modifier-sets) > .single_variation .stock {
    margin-bottom: 0;
}

body.single-product #main-content form.variations_form.cart .single_variation_wrap > .woocommerce-variation-add-to-cart > .quantity,
body.single-product #main-content form.variations_form.cart .single_variation_wrap > .woocommerce-variation-add-to-cart > .single_add_to_cart_button {
    order: 2;
}
