/* Target-native single-product and Quick View styling, using homepage colors. */
body.single-product .sf-pdp {
  --pdp-ink:#333333; --pdp-muted:#5c5c5c; --pdp-line:#ded8d1; --pdp-surface:#f7f2ee;
  --sf-pdp-action:#547241; --sf-pdp-action-text:#ffffff; --sf-pdp-buy-now:#ffffff; --sf-pdp-buy-now-text:#333333;
  --sf-font:'Helvetica Neue',Helvetica,Arial,sans-serif; --sf-ink:#333333; --sf-muted:#5c5c5c; --sf-line:#ded8d1; --sf-surface:#f7f2ee;
  color:#333333; font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;
}
body.single-product .sf-pdp__summary > .product_title,
body.single-product .product-info .product-title {
  color:#333333; font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:0; line-height:1.12;
}
body.single-product .sf-pdp__summary > .price-wrapper .price,
body.single-product .sf-pdp__summary .woocommerce-product-details__short-description,
body.single-product .sf-pdp__summary .product_meta,
body.single-product .sf-pdp__summary form.cart,
body.single-product .sf-pdp__accordion summary,
body.single-product .sf-pdp__sticky-copy { font-family:'Helvetica Neue',Helvetica,Arial,sans-serif; }
body.single-product .sf-pdp__gallery,
body.single-product .sf-pdp__gallery .product-images,
body.single-product .sf-pdp__gallery .woocommerce-product-gallery,
body.single-product .sf-pdp__gallery .woocommerce-product-gallery__image { background:#f7f2ee; }
body.single-product .sf-pdp__summary form.cart .single_add_to_cart_button,
body.single-product .product-info form.cart .single_add_to_cart_button,
body.single-product .sf-pdp__sticky-button {
  border-color:#547241!important; border-radius:4px; background:#547241!important; color:#ffffff!important;
  font-family:'Helvetica Neue',Helvetica,Arial,sans-serif; text-transform:none; text-shadow:none;
}
body.single-product .sf-pdp__summary form.cart .single_add_to_cart_button:hover,
body.single-product .sf-pdp__summary form.cart .single_add_to_cart_button:focus-visible,
body.single-product .sf-pdp__sticky-button:hover,
body.single-product .sf-pdp__sticky-button:focus-visible { border-color:#3f5930!important; background:#3f5930!important; color:#ffffff!important; filter:none; }
body.single-product .sf-pdp__summary form.cart .ux-buy-now-button {
  border:1px solid #547241!important; border-radius:4px; background:#ffffff!important; color:#333333!important;
  font-family:'Helvetica Neue',Helvetica,Arial,sans-serif; text-transform:none; text-shadow:none;
}
body.single-product .sf-pdp__summary form.cart .ux-buy-now-button:hover,
body.single-product .sf-pdp__summary form.cart .ux-buy-now-button:focus-visible { border-color:#3f5930!important; background:#f1f5ef!important; color:#243b1c!important; }
body.single-product .sf-pdp__summary .sf-pdp__variant-option[aria-pressed="true"],
body.single-product .sf-pdp__summary .sf-pdp__variant-option:hover { border-color:#547241; }
body.single-product .sf-pdp__summary .sf-pdp__dropdown-trigger { color:#333333!important; background:#ffffff!important; border-color:#aaa5a0; }
body.single-product .sf-pdp__summary,
body.single-product .sf-pdp__accordions { scroll-margin-top:84px; }
body.single-product .sf-pdp :focus-visible,
body.single-product .vb-size-guide-trigger:focus-visible { outline:2px solid #3f5930; outline-offset:3px; }

/* Style only the real Flatsome Quick View body; retain its native lifecycle and form. */
body .product-quick-view-container {
  --sf-font:'Helvetica Neue',Helvetica,Arial,sans-serif; --sf-ink:#333333; --sf-muted:#5c5c5c; --sf-line:#ded8d1;
  --sf-surface:#f7f2ee; --sf-button-bg:#547241; --sf-button-fg:#ffffff;
  color:#333333; background:#ffffff; font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;
}
body .product-quick-view-container h1,
body .product-quick-view-container .product-title { color:#333333; font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:0; line-height:1.12; }
body .product-quick-view-container .product-gallery { background:#f7f2ee; }
body .product-quick-view-container .product-info form.cart .single_add_to_cart_button {
  border:1px solid #547241!important; border-radius:4px; background:#547241!important; color:#ffffff!important;
  font-family:'Helvetica Neue',Helvetica,Arial,sans-serif; text-transform:none; text-shadow:none;
}
body .product-quick-view-container .product-info form.cart .single_add_to_cart_button:hover,
body .product-quick-view-container .product-info form.cart .single_add_to_cart_button:focus-visible { border-color:#3f5930!important; background:#3f5930!important; color:#ffffff!important; }
body .product-quick-view-container .product-info form.cart .ux-buy-now-button { border:1px solid #547241!important; border-radius:4px; background:#ffffff!important; color:#333333!important; text-shadow:none; }
body .product-quick-view-container .product-info form.cart .ux-buy-now-button:hover,
body .product-quick-view-container .product-info form.cart .ux-buy-now-button:focus-visible { background:#f1f5ef!important; color:#243b1c!important; }
body .product-quick-view-container .sf-quick-variant[aria-pressed="true"],
body .product-quick-view-container .sf-quick-variant:hover { border-color:#547241!important; background:#547241!important; color:#ffffff!important; }
body .product-quick-view-container :focus-visible { outline:2px solid #3f5930; outline-offset:3px; }
body .mfp-content:has(.product-quick-view-container) { max-width:min(1000px,calc(100vw - 32px)); }
body .mfp-content:has(.product-quick-view-container) .mfp-close {
  z-index:1051; min-width:44px; min-height:44px; color:#333333!important; opacity:1; mix-blend-mode:normal;
}
body .product-quick-view-container .product-lightbox-inner { overflow-wrap:anywhere; }
@media (max-width:767px) {
  body .mfp-content:has(.product-quick-view-container) { max-width:calc(100vw - 24px); }
  body .product-quick-view-container { max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); overflow-y:auto; overscroll-behavior:contain; }
  body .product-quick-view-container .product-lightbox-inner { padding:24px 16px!important; }
}

/* This optional guide stays absent until verified category IDs have been configured. */
.vb-size-guide-wrap { grid-column:1 / -1; margin:0 0 20px; }
.vb-size-guide-wrap [hidden] { display:none!important; }
.vb-size-guide-trigger { display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin:0; padding:9px 15px; border:1px solid #547241; border-radius:4px; background:#ffffff; color:#333333; font:600 14px/1.3 'Helvetica Neue',Helvetica,Arial,sans-serif; text-transform:none; cursor:pointer; }
.vb-size-guide-trigger:hover,.vb-size-guide-trigger:focus-visible { background:#f1f5ef; color:#243b1c; }
.vb-size-guide-backdrop { position:fixed; inset:0; z-index:100002; display:flex; align-items:center; justify-content:center; padding:16px; background:rgba(0,0,0,.55); }
.vb-size-guide-dialog { width:min(640px,100%); max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overflow:auto; overscroll-behavior:contain; border-radius:4px; background:#ffffff; color:#333333; box-shadow:0 12px 40px rgba(0,0,0,.2); }
.vb-size-guide-header { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 20px; border-bottom:1px solid #ded8d1; background:#f7f2ee; }
.vb-size-guide-header h2 { margin:0; color:#333333; font:400 25px/1.2 Georgia,'Times New Roman',serif; text-transform:none; }
.vb-size-guide-close { display:grid; place-items:center; flex:none; width:44px; height:44px; min-height:44px; margin:0; padding:0; border:1px solid #888; border-radius:4px; background:#fff; color:#333; font:400 28px/1 Arial,sans-serif; cursor:pointer; }
.vb-size-guide-body { padding:20px; }
.vb-size-guide-dialog :focus-visible { outline:2px solid #3f5930; outline-offset:3px; }
@media (max-width:600px) { .vb-size-guide-backdrop { align-items:flex-end; padding:0; } .vb-size-guide-dialog { width:100%; max-height:85vh; max-height:85dvh; border-radius:8px 8px 0 0; } .vb-size-guide-header { padding:12px 16px; } .vb-size-guide-body { padding:16px; } }
