/* Single product (PDP) layout. Accent #A3737F. Markup is built by assets/js/single-product-layout.js */
@media (scripting: enabled) {
    body.single-product div.product.type-product:not(:has(.pdp-hero)) { visibility: hidden; }
}
body.single-product {
    --pdp: #A3737F;
    --pdp-text: #1a1a1a;
    --pdp-muted: #6b6b6b;
    --pdp-line: #e8e8e8;
    --pdp-card: #faf8f8;
    --pdp-card-active: #fdf6f7;
    --pdp-radius: 10px;
    --pdp-shadow: 0 1px 3px rgba(0, 0, 0, .06);
    --pdp-font-display: "Playfair Display", Georgia, "Times New Roman", serif;
    --wp--style--global--content-size: 100%;
    --wp--style--global--wide-size: 100%;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
body.single-product :is(.shopengine-wishlist, .shopengine-quickview-trigger, .shopengine-comparison, .sku_wrapper) { display: none !important; }
body.single-product .product.outofstock .woocommerce-product-gallery__wrapper::before { content: "Sold Out"; position: absolute; top: 15px; left: 15px; z-index: 99; padding: 8px 14px; color: #fff; font-size: 14px; font-weight: 600; background: var(--pdp); border-radius: 4px; }
body.dokan-package-pricing :is(.woocommerce-variation-add-to-cart .quantity, #offers-for-woocommerce-add-to-cart-wrap .quantity, .custom-total-price-display) { display: none !important; }

/* ---- Full-width page shell ---- */
body.single-product :is(#page, .site, #content, #primary, .content-area, .site-content, .site-main, .col-full, .ast-container, .container, .wp-site-blocks, .wp-block-group.is-layout-constrained, .entry-content, .woocommerce, div.product) { max-width: 100% !important; width: 100% !important; background: #fff; }
body.single-product .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
body.single-product :is(#primary.content-area, .site-main) { padding-left: 0 !important; padding-right: 0 !important; }
body.single-product div.product { padding-left: 24px !important; padding-right: 24px !important; box-sizing: border-box; }

/* ---- Hero: sticky gallery + scrolling summary ---- */
@media (min-width: 768px) {
    body.single-product { --pdp-sticky-top: 24px; }
    body.single-product :is(#page, .site-content, .site-main, #primary, .content-area, .entry-content, div.product.type-product, .pdp-hero) { overflow: visible !important; }
    body.single-product div.product.type-product { display: block; max-width: 1180px !important; margin-left: auto !important; margin-right: auto !important; padding-left: clamp(28px, 4vw, 48px) !important; padding-right: clamp(28px, 4vw, 48px) !important; }
    body.single-product .pdp-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 32px clamp(28px, 4vw, 48px); align-items: start; }
    body.single-product .pdp-gallery-col { position: sticky; top: var(--pdp-sticky-top, 24px); align-self: start; height: fit-content; max-height: none; min-width: 0; padding: 0; z-index: 5; overflow: visible; }
    body.single-product .pdp-content-col { align-self: start; min-width: 0; padding-right: clamp(12px, 2vw, 24px); }
    body.single-product .summary.entry-summary { position: static !important; }
    body.single-product :is(div.product .woocommerce-product-gallery, div.product div.images, div.product .summary.entry-summary, div.product div.summary) { float: none !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
    body.single-product .pdp-after { scroll-margin-top: calc(var(--pdp-sticky-top, 24px) + 12px); }
}

/* ---- Gallery ---- */
body.single-product .woocommerce-product-gallery { position: relative; opacity: 1 !important; float: none !important; box-sizing: border-box; overflow: visible; }
body.single-product .woocommerce-product-gallery__wrapper { position: relative; display: grid !important; grid-template-columns: 84px minmax(0, 1fr); column-gap: 24px; align-items: start; width: 100% !important; transform: none !important; float: none !important; overflow: visible; }
body.single-product .woocommerce-product-gallery:not(:has(.pdp-thumb-column)) .woocommerce-product-gallery__wrapper { grid-template-columns: 84px minmax(0, 1fr); }

body.single-product .pdp-thumb-column { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: 12px; width: 84px; max-height: none; overflow: visible; padding: 4px; box-sizing: border-box; z-index: 3; }
body.single-product .pdp-thumb-column::-webkit-scrollbar { display: none; width: 0; height: 0; }

body.single-product .pdp-thumb-column .woocommerce-product-gallery__image { grid-column: auto; width: 72px !important; height: 96px !important; aspect-ratio: 3 / 4; flex-shrink: 0; cursor: pointer; opacity: .75; border-radius: 8px; box-shadow: 0 0 0 2px transparent; position: relative; z-index: 2; overflow: hidden; }
body.single-product .pdp-thumb-column .woocommerce-product-gallery__image.is-active { opacity: 1; box-shadow: 0 0 0 2px var(--pdp); }
body.single-product .pdp-thumb-column .woocommerce-product-gallery__image a { display: block; width: 72px; height: 96px; border-radius: 8px; overflow: hidden; pointer-events: none; }
body.single-product .pdp-thumb-column .woocommerce-product-gallery__image img { width: 72px !important; height: 96px !important; max-width: 72px !important; max-height: 96px !important; object-fit: cover !important; object-position: center center !important; border: 0; border-radius: 8px; cursor: pointer; display: block; pointer-events: none; position: static !important; left: auto !important; top: auto !important; }

body.single-product .pdp-main-image,
body.single-product .woocommerce-product-gallery__image.is-main { grid-column: 2; grid-row: 1; width: min(100%, calc((100vh - var(--pdp-sticky-top, 24px) - 40px) * 3 / 4)) !important; max-width: 100%; min-width: 0; justify-self: center; margin-left: auto; margin-right: auto; aspect-ratio: 3 / 4; height: auto; max-height: calc(100vh - var(--pdp-sticky-top, 24px) - 40px); overflow: hidden; border-radius: 0; position: relative !important; left: auto !important; top: auto !important; background: #f5f5f5; display: flex; align-items: center; justify-content: center; z-index: 1; }
body.single-product .pdp-main-image a,
body.single-product .woocommerce-product-gallery__image.is-main a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 0; overflow: hidden; line-height: 0; position: relative; }
body.single-product .pdp-main-image img,
body.single-product .woocommerce-product-gallery__image.is-main img { width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; object-fit: cover !important; object-position: center center !important; display: block; margin: 0 auto !important; border-radius: 0; position: static !important; left: auto !important; top: auto !important; transform: none !important; }

/* Wishlist pinned over the main photo */
body.single-product .pdp-gallery-tools { position: absolute !important; top: 14px; right: 14px; left: auto; z-index: 40; display: flex; align-items: center; justify-content: center; width: auto; height: auto; margin: 0; padding: 0; background: transparent; pointer-events: none; }
body.single-product .pdp-gallery-tools :is(.yith-add-to-wishlist-button-block--single, .pdp-wishlist-tool, .yith-wcwl-add-to-wishlist-button) { pointer-events: auto; position: static !important; display: flex !important; align-items: center; justify-content: center; margin: 0 !important; padding: 0 !important; width: auto !important; height: auto !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
body.single-product .pdp-gallery-tools :is(.yith-add-to-wishlist-button-block--single, .pdp-wishlist-tool) { display: block !important; }
body.single-product .pdp-gallery-tools :is(.yith-wcwl-add-to-wishlist-button img, .yith-wcwl-custom-icon, .yith-wcwl-icon) { display: block !important; width: 32px !important; height: 32px !important; max-width: 32px !important; max-height: 32px !important; object-fit: contain !important; opacity: 1 !important; filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .35)); }

/* ---- Summary ---- */
body.single-product .summary.entry-summary { display: flex; flex-direction: column; gap: 0; }
body.single-product .pdp-summary-inner { display: flex; flex-direction: column; gap: 22px; }
body.single-product .pdp-content-col { scroll-behavior: smooth; }
body.single-product .summary .product_title.entry-title { font-family: var(--pdp-font-display); font-size: clamp(26px, 2.4vw, 34px) !important; line-height: 1.2 !important; font-weight: 600 !important; color: var(--pdp-text) !important; margin: 0 !important; letter-spacing: -.01em; }

/* Shared section labels */
body.single-product .pdp-section-label { margin: 0 0 12px !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .08em; text-transform: uppercase; color: var(--pdp-muted) !important; }

/* Pricing cards */
body.single-product .pdp-summary-inner:has(.pdp-pricing-cards) > .price,
body.single-product .pdp-summary-inner:has(.pdp-pricing-cards) p.price { display: none !important; }
body.single-product .pdp-pricing-cards .summary .price,
body.single-product .pdp-summary-inner:has(.pdp-pricing-cards) .pdp-price-block { display: none !important; }
body.single-product .pdp-pricing-cards-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
body.single-product .pdp-pricing-cards--single .pdp-pricing-cards-grid { grid-template-columns: 1fr; max-width: 280px; }
body.single-product .pdp-pricing-card { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 14px 16px; background: #fff; border: 1.5px solid var(--pdp-line); border-radius: 12px; cursor: pointer; transition: border-color .2s ease, background .2s ease; }
body.single-product .pdp-pricing-card.is-selected { border-color: var(--pdp); background: var(--pdp-card-active); }
body.single-product .pdp-card-radio { flex-shrink: 0; width: 16px; height: 16px; margin-top: 3px; border: 1.5px solid #c8c8c8; border-radius: 50%; background: #fff; position: relative; box-sizing: border-box; }
body.single-product .pdp-pricing-card.is-selected .pdp-card-radio,
body.single-product .pdp-delivery-option.is-selected .pdp-card-radio { border-color: var(--pdp); }
body.single-product .pdp-pricing-card.is-selected .pdp-card-radio::after,
body.single-product .pdp-delivery-option.is-selected .pdp-card-radio::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: var(--pdp); }
body.single-product .pdp-card-body { display: flex; flex-direction: column; gap: 6px; min-width: 0; flex: 1; }
body.single-product .pdp-card-label { font-size: 14px; font-weight: 600; color: var(--pdp-text); }
body.single-product .pdp-card-prices { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
body.single-product .pdp-card-compare { font-size: 22px; font-weight: 700; color: #9a9a9a; text-decoration: line-through; line-height: 1.1; }
body.single-product .pdp-card-compare :is(.woocommerce-Price-amount, bdi) { font-size: 22px !important; font-weight: 700 !important; color: #9a9a9a !important; text-decoration: none !important; }
body.single-product .pdp-card-price { font-size: 22px !important; font-weight: 700 !important; color: var(--pdp-text) !important; line-height: 1.1; }
body.single-product .pdp-card-price .woocommerce-Price-amount { font-size: 22px !important; font-weight: 700 !important; }
body.single-product .pdp-card-badge { display: inline-flex; align-items: center; padding: 3px 8px; background: #1a1a1a; color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .02em; border-radius: 999px; white-space: nowrap; }
body.single-product .pdp-card-note { font-size: 12px; color: var(--pdp-muted); }

/* Live chat + report row */
body.single-product .pdp-actions-row { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 18px; }
body.single-product .pdp-actions-row .bm-lc-button { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; width: auto !important; min-width: 0; height: 36px !important; padding: 0 14px !important; margin: 0 !important; border-radius: 8px !important; font-size: 13px !important; font-weight: 600 !important; text-transform: none !important; }
body.single-product .pdp-actions-row .bm-lc-button::before { content: ""; width: 15px; height: 15px; background: currentColor; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M4 5h16v10H7l-3 3V5z' stroke='white' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M4 5h16v10H7l-3 3V5z' stroke='white' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat; }
body.single-product .pdp-report-link { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--pdp-muted); text-decoration: none; }
body.single-product .pdp-report-link:hover { color: var(--pdp-text); }

/* Breadcrumbs sit above the gallery, flush with the left edge */
body.single-product .pdp-breadcrumbs { display: block; margin: 0 0 22px; padding: 18px 0 6px; font-size: 14px; line-height: 1.5; color: var(--pdp-text); }
body.single-product .pdp-breadcrumbs a { color: var(--pdp); text-decoration: none; }
body.single-product .pdp-breadcrumbs a:hover { color: #8f6570; text-decoration: underline; }
body.single-product .pdp-crumb-sep { color: var(--pdp); opacity: .7; margin: 0 4px; }
body.single-product .pdp-crumb-current { color: var(--pdp-text); font-weight: 500; }
body.single-product .pdp-desc-section .pdp-breadcrumbs { display: none !important; }

/* Description block */
body.single-product .pdp-desc-section { display: flex; flex-direction: column; gap: 14px; padding-top: 4px; border-top: 1px solid var(--pdp-line); }
body.single-product .pdp-desc-text { font-size: 14px; line-height: 1.65; color: #555; margin: 0; }
body.single-product .pdp-alteration-block { margin-top: 2px; }

/* Specs row */
body.single-product .pdp-specs { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); border: 1px solid var(--pdp-line); border-radius: 12px; overflow: hidden; padding: 0; }
body.single-product .pdp-spec-item { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; min-width: 0; border-right: 1px solid var(--pdp-line); }
body.single-product .pdp-spec-item:last-child { border-right: 0; }
body.single-product .pdp-spec-label { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--pdp-muted); }
body.single-product .pdp-spec-value { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 14px; font-weight: 500; color: var(--pdp-text); }
body.single-product .pdp-spec-options { gap: 6px; }
body.single-product .pdp-spec-choice { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 5px 10px; border: 1px solid var(--pdp-line); border-radius: 999px; background: #fff; color: var(--pdp-text); font-size: 13px; font-weight: 500; line-height: 1.2; cursor: pointer; }
body.single-product .pdp-spec-choice.active { border-color: var(--pdp); background: var(--pdp-card-active); color: var(--pdp-text); }
body.single-product .pdp-spec-choice:disabled { opacity: .4; cursor: not-allowed; }
body.single-product .pdp-spec-check { color: #3d8b40; font-size: 13px; font-weight: 700; }
body.single-product .pdp-color-dot { display: inline-block; width: 12px; height: 12px; border-radius: 50%; border: 1px solid rgba(0,0,0,.12); background: #ccc; }
body.single-product .pdp-color-dot--blue { background: #4a7fd4; }
body.single-product .pdp-color-dot--white { background: #fff; }
body.single-product .pdp-color-dot--black { background: #222; }
body.single-product .pdp-color-dot--red { background: #c0392b; }
body.single-product .pdp-color-dot--pink { background: #e8a0b0; }
body.single-product .pdp-color-dot--ivory,
body.single-product .pdp-color-dot--cream { background: #f5f0e6; }

/* Tags */
body.single-product .pdp-tags { display: flex; flex-direction: column; gap: 10px; }
body.single-product .pdp-tags-list { display: flex; flex-wrap: wrap; gap: 8px; }
body.single-product .pdp-tag { display: inline-flex; align-items: center; padding: 7px 14px; background: #f3f1ef; border: 0; border-radius: 999px; color: #5c5c5c; font-size: 13px; font-weight: 500; text-decoration: none; }
body.single-product .pdp-tag:hover { background: #ebe8e4; color: var(--pdp-text); }
body.single-product .entry-content .wp-block-post-title { font-size: 26px !important; line-height: 1.3 !important; font-weight: 600 !important; margin: 0 !important; }
body.single-product .woocommerce-product-details__short-description:not(.pdp-desc-text) { display: none !important; }
body.single-product .woocommerce-product-details__short-description { font-size: 14px; line-height: 1.65; color: #555; margin: 0; padding-top: 0; border-top: 0; }

/* Price */
body.single-product .pdp-price-block { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; padding: 12px 0 4px; }
body.single-product .pdp-price-main { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; flex: 1; min-width: 0; }
body.single-product .pdp-price-block :is(.price, .wc-block-components-product-price, .custom-loop-price) { margin: 0 !important; font-size: 28px !important; font-weight: 700 !important; color: var(--pdp-text) !important; line-height: 1.2 !important; }
body.single-product .pdp-price-block :is(.price, .purchase-price, .dokan-purchase-price) .woocommerce-Price-amount { font-size: 28px !important; font-weight: 700 !important; }
body.single-product .pdp-price-block del { display: inline !important; font-size: 28px !important; font-weight: 700 !important; color: #999 !important; text-decoration: line-through !important; }
body.single-product .pdp-price-block del :is(.woocommerce-Price-amount, bdi) { display: inline !important; font-size: 28px !important; font-weight: 700 !important; color: #999 !important; text-decoration: none !important; }
body.single-product .pdp-price-block :is(.dokan-purchase-price, .dokan-rental-price) strong { display: none; }
body.single-product .pdp-discount-badge { display: inline-flex; align-items: center; padding: 4px 8px; background: #1a1a1a; color: #fff; font-size: 12px; font-weight: 600; border-radius: 4px; white-space: nowrap; }

/* Rental / purchase toggle */
body.single-product .dokan-rental-toggle { display: none !important; }
body.single-product .dokan-rental-toggle p { margin: 0 0 10px !important; font-size: 14px !important; }
body.single-product .dokan-rental-toggle label { font-size: 14px; font-weight: 500; }

/* ---- Variation picker (hidden; selection lives in .pdp-specs) ---- */
body.single-product :is(form.cart, form.variations_form) { display: flex; flex-direction: column; gap: 18px; margin: 0 !important; padding-top: 0; border-top: 0; }
body.single-product table.variations { display: none !important; }

/* ---- Delivery cards ---- */
body.single-product .pdp-delivery-wrap { display: block; width: 100%; margin: 0; padding: 0; background: transparent; border: 0; margin-bottom: 15px; }
body.single-product .pdp-delivery-title { margin: 0 0 12px !important; }
body.single-product .pdp-delivery-cards { display: flex; flex-direction: column; gap: 10px; }
body.single-product .pdp-delivery-option { display: flex; align-items: center; gap: 10px; margin: 0; padding: 14px 16px; background: #fff; border: 1.5px solid var(--pdp-line); border-radius: 12px; cursor: pointer; transition: border-color .2s ease, background .2s ease; }
body.single-product .pdp-delivery-option.is-selected { border-color: var(--pdp); background: var(--pdp-card-active); }
body.single-product .pdp-delivery-option.is-static { cursor: default; }
body.single-product .pdp-delivery-card-icon { flex-shrink: 0; color: var(--pdp); display: flex; }
body.single-product .pdp-delivery-card-text { font-size: 14px; font-weight: 500; color: var(--pdp-text); line-height: 1.4; }

/* ---- Product details list ---- */
body.single-product .pdp-details-table { margin: 0; padding: 24px 0 0; border-top: 1px solid var(--pdp-line); }
body.single-product .pdp-details-title { display: none; }
body.single-product .pdp-details-grid { margin: 0; display: block; border: 0; background: transparent; }
body.single-product .pdp-details-row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--pdp-line); }
body.single-product .pdp-details-row:last-child { border-bottom: 0; }
body.single-product .pdp-details-row :is(dt, dd) { margin: 0; padding: 0; font-size: 14px; line-height: 1.45; border: 0; background: transparent; }
body.single-product .pdp-details-row dt { color: var(--pdp-muted); font-weight: 400; flex-shrink: 0; }
body.single-product .pdp-details-row dd { color: var(--pdp-text); font-weight: 500; text-align: right; }
body.single-product .pdp-details-row dd a { color: var(--pdp-text); text-decoration: underline; text-underline-offset: 2px; }

/* ---- Quantity, CTAs, seller ---- */
body.single-product .summary .quantity:has(input[type="hidden"]) { display: none !important; }
body.single-product :is(.summary .quantity, #offers-for-woocommerce-add-to-cart-wrap .quantity) { display: none !important; margin-bottom: 10px !important; }
body.single-product .quantity.pdp-qty-stepper { display: none !important; align-items: stretch; width: auto; height: 48px; border: 1px solid var(--pdp-line); border-radius: 4px; overflow: hidden; background: #fff; }
body.single-product .quantity.pdp-qty-stepper :is(.minus, .plus) { display: flex; align-items: center; justify-content: center; width: 44px; min-width: 44px; padding: 0; border: 0; background: #f7f7f7; color: #333; font-size: 20px; line-height: 1; cursor: pointer; transition: background .15s; }
body.single-product .quantity.pdp-qty-stepper :is(.minus, .plus):hover:not(:disabled) { background: #ececec; }
body.single-product .quantity.pdp-qty-stepper :is(.minus, .plus):disabled { opacity: .35; cursor: not-allowed; }
body.single-product .quantity.pdp-qty-stepper input.qty { width: 52px !important; min-width: 52px; height: 100% !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-left: 1px solid var(--pdp-line) !important; border-right: 1px solid var(--pdp-line) !important; border-radius: 0 !important; text-align: center; font-size: 15px; font-weight: 600; background: #fff; box-shadow: none !important; -moz-appearance: textfield; appearance: textfield; }
body.single-product .quantity.pdp-qty-stepper input.qty::-webkit-outer-spin-button,
body.single-product .quantity.pdp-qty-stepper input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

body.single-product .pdp-actions { display: flex; flex-direction: column; gap: 10px; width: 100%; }
body.single-product .pdp-cart-buttons { display: flex; flex-direction: row; align-items: stretch; gap: 12px; width: 100%; margin-top: 4px; }
body.single-product .pdp-cart-buttons > button { flex: 1 1 0; width: auto !important; min-width: 0; margin: 0 !important; height: 50px; border-radius: 8px !important; font-size: 15px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0; transition: background .2s ease, border-color .2s ease, color .2s ease; }
body.single-product .pdp-cart-buttons .single_add_to_cart_button:not(.makeoffer) { background: #fff !important; border: 2px solid #1a1a1a !important; color: #1a1a1a !important; }
body.single-product .pdp-cart-buttons .single_add_to_cart_button:not(.makeoffer):hover:not(:disabled) { background: #f7f7f7 !important; border-color: #1a1a1a !important; color: #1a1a1a !important; }
body.single-product .pdp-cart-buttons .offers-for-woocommerce-make-offer-button-single-product { background: var(--pdp) !important; border: 2px solid var(--pdp) !important; color: #fff !important; }
body.single-product .pdp-cart-buttons .offers-for-woocommerce-make-offer-button-single-product:hover:not(:disabled) { background: #8f6570 !important; border-color: #8f6570 !important; color: #fff !important; }
body.single-product .request-rental-btn { flex: 1 1 0; width: auto !important; min-width: 0; margin: 0 !important; height: 50px; border-radius: 8px !important; font-size: 15px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0; background: var(--pdp) !important; border: 2px solid var(--pdp) !important; color: #fff !important; cursor: pointer; }
body.single-product .request-rental-btn:hover:not(:disabled) { background: #8f6570 !important; border-color: #8f6570 !important; color: #fff !important; }
body.single-product .request-rental-btn:disabled { opacity: .5; cursor: not-allowed; }
body.single-product .rental-request-btn-wrapper { display: contents; }
body.single-product .vendor-address-display { display: none !important; }
body.single-product:not(.pdp-rent-mode) .request-rental-btn { display: none !important; }
body.single-product.pdp-rent-mode .pdp-cart-buttons .single_add_to_cart_button,
body.single-product.pdp-rent-mode .pdp-cart-buttons .offers-for-woocommerce-make-offer-button-single-product { display: none !important; }
body.single-product.pdp-rent-mode .pdp-delivery-option:has(input[value="shipping"]) { display: none !important; }
body.single-product.pdp-rent-mode .pdp-delivery-option:has(input[value="pickup_local"]) { border-color: var(--pdp); background: var(--pdp-card-active); pointer-events: none; }
body.single-product.pdp-rent-mode .pdp-delivery-option:has(input[value="pickup_local"]) .pdp-card-radio { border-color: var(--pdp); }
body.single-product.pdp-rent-mode .pdp-delivery-option:has(input[value="pickup_local"]) .pdp-card-radio::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: var(--pdp); }
body.single-product .pdp-actions-row .bm-lc-button { background: var(--pdp) !important; border: 2px solid var(--pdp) !important; color: #fff !important; }
body.single-product .pdp-actions-row .bm-lc-button:hover { background: #8f6570 !important; border-color: #8f6570 !important; color: #fff !important; }
body.single-product .bm-lc-button { display: flex !important; align-items: center; justify-content: center; width: 100% !important; margin: 0 !important; padding: 0 20px !important; height: 48px !important; border-radius: 8px !important; font-size: 15px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0; text-decoration: none !important; transition: background .2s ease, border-color .2s ease; cursor: pointer; }
body.single-product .pdp-actions-row .bm-lc-button { width: auto !important; height: 36px !important; padding: 0 14px !important; font-size: 13px !important; }
body.single-product .summary :is(.single_add_to_cart_button, .offers-for-woocommerce-make-offer-button-single-product):not(.pdp-cart-buttons *) { width: 100% !important; margin: 0 !important; height: 48px; border-radius: 8px !important; font-size: 15px !important; font-weight: 600 !important; }
body.single-product .summary .offers-for-woocommerce-make-offer-button-single-product:is(:disabled, .disabled) { opacity: .5; cursor: not-allowed; pointer-events: none; }

body.single-product .summary .product_meta { display: block; border: 0; padding: 24px 0 0; margin: 0 !important; border-top: 1px solid var(--pdp-line); }
body.single-product .summary .product_meta > span { display: none !important; }
body.single-product .summary .product_meta:is(:empty, :not(:has(.dokan-vendor-info-wrap))) { display: none !important; }
body.single-product .dokan-vendor-info-wrap { display: flex !important; align-items: center; gap: 14px; padding: 20px; margin: 0; background: var(--pdp-card); border: 1px solid var(--pdp-line); border-radius: var(--pdp-radius); }
body.single-product .dokan-vendor-image img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
body.single-product .dokan-vendor-name::before { content: "Sold by "; font-weight: 400; color: var(--pdp-muted); margin-right: 4px;}
body.single-product .dokan-vendor-name :is(a, h5) { font-weight: 600; color: var(--pdp-text); }
body.single-product .dokan-vendor-info h5 { margin: 0; font-size: 14px; }
body.single-product :is(.dokan-vendor-rating p, .dokan-ratings-count) { display: inline; font-size: 13px; color: var(--pdp-muted); }

/* ---- Noise hidden by the layout ---- */
body.single-product :is(
    ol.flex-control-nav, .flex-control-thumbs, .flex-viewport,
    .woocommerce-product-gallery__trigger, .woocommerce-product-gallery__image .zoomImg,
    .pdp-subtitle, .pdp-delivery-links,
    .single_variation_wrap_angelleye, .angelleye-ofwc-hidden, .woocommerce-variation-price,
    .summary .product-brands, .summary .product-condition, .summary .product-tags,
    .pdp-content-col .yith-add-to-wishlist-button-block--single,
    .pdp-hero > .yith-add-to-wishlist-button-block,
    div.product > .yith-add-to-wishlist-button-block--single,
    .woocommerce-product-gallery .yith-wcwl-add-to-wishlist-button__label,
    .pdp-hero .woocommerce-tabs, .pdp-content-col .woocommerce-tabs, .pdp-gallery-col .woocommerce-tabs
) { display: none !important; }
body.single-product .offers-for-woocommerce-make-offer-button-single-product:not(.pdp-cart-buttons *) { display: none !important; }
/* Native Woo variation dropdowns â€” replaced by .custom-variation-buttons. Moved here from product-variation.css. */
body.single-product :is(.variations select, .additional_information_tab, .woocommerce-Tabs-panel--additional_information) { display: none !important; }
body.single-product .stock-info { margin: 16px 0 0; padding: 12px 16px; background: #f1f8e9; border-left: 4px solid #4caf50; border-radius: 8px; font-size: 14px; line-height: 1.45; }
body.single-product .stock-info strong { color: #2e7d32; font-weight: 700; }

/* ---- Below the fold ---- */
body.single-product .pdp-after { width: 100%; margin-top: 40px; padding-top: 8px; clear: both; }
body.single-product .pdp-after .woocommerce-tabs { width: 100%; margin: 0; }
body.single-product :is(.related.products, .up-sells) { width: 100%; margin-top: 48px; clear: both; float: none !important; }

body.single-product .woocommerce-tabs { margin-top: 8px; }
body.single-product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 40px; margin: 0 0 28px !important; padding: 0 0 14px !important; list-style: none; border: 0; border-bottom: 1px solid var(--pdp-line); }
body.single-product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce-tabs ul.tabs::after,
body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; content: none !important; }
body.single-product .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; position: static !important; }
body.single-product .woocommerce-tabs ul.tabs li a { display: inline-block; padding: 8px 2px 12px; font-size: 15px; font-weight: 500; color: #8a736e; text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -15px; }
body.single-product .woocommerce-tabs ul.tabs li a:hover { color: var(--pdp-text); }
body.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--pdp-text); font-weight: 700; border-bottom-color: var(--pdp); }
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel { padding-top: 8px; }
body.single-product .woocommerce-tabs ul.tabs :is(.shipping_tab, .description_tab, .additional_information_tab, .tab_custom_ofwc_offer_tab, #tab-title-shipping, #tab-title-description, #tab-title-additional_information, #tab-title-tab_custom_ofwc_offer) { display: none !important; }
body.single-product .pdp-tab-heading,
body.single-product #reviews .woocommerce-Reviews-title { margin: 0 0 18px !important; font-family: var(--pdp-font-display); font-size: clamp(28px, 3vw, 36px); font-weight: 600; line-height: 1.2; color: var(--pdp-text); }

/* Seller Info tab */
body.single-product .pdp-seller-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px 22px; align-items: start; }
body.single-product .pdp-seller-avatar { width: 72px; height: 72px; border-radius: 50%; overflow: hidden; background: #e8d4d7; color: var(--pdp); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
body.single-product .pdp-seller-avatar :is(img, .avatar, .pdp-seller-avatar-img) { width: 72px !important; height: 72px !important; border-radius: 50%; object-fit: cover; display: block; }
body.single-product .pdp-seller-avatar-fallback { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: var(--pdp); }
body.single-product .pdp-seller-meta { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
body.single-product .pdp-seller-line { margin: 0; font-size: 15px; line-height: 1.45; color: var(--pdp-text); }
body.single-product .pdp-seller-line strong { font-weight: 700; }
body.single-product .pdp-seller-name { color: var(--pdp); font-weight: 500; text-decoration: none; }
body.single-product .pdp-seller-name:hover { text-decoration: underline; }
body.single-product .pdp-seller-rating-copy { margin: 2px 0 0; font-size: 15px; color: var(--pdp); }
body.single-product .pdp-seller-stars { display: flex; gap: 3px; color: var(--pdp); padding-top: 2px; }
body.single-product .pdp-seller-star { display: flex; color: #e0d0d3; }
body.single-product .pdp-seller-star.is-filled { color: var(--pdp); }
body.single-product #tab-seller :is(.list-unstyled, .seller-rating, .store-name, .seller-name, .seller-bio, .seller-profile-extra) { display: none !important; }

/* Reviews tab */
body.single-product #reviews { max-width: 720px; }
body.single-product #reviews .woocommerce-noreviews { margin: 0 0 8px; font-size: 15px; color: var(--pdp-text); }
body.single-product #review_form #reply-title { display: block; margin: 0 0 22px; font-size: 15px; font-weight: 400; font-family: inherit; color: var(--pdp-text); }
body.single-product #review_form .comment-notes { display: none; }
body.single-product #review_form p { margin: 0 0 18px; }
body.single-product #review_form label { display: block; margin: 0 0 8px; font-size: 14px; font-weight: 500; color: var(--pdp-text); }
body.single-product #review_form .required { color: var(--pdp) !important; font-weight: 700; }
body.single-product #review_form .stars { display: flex; margin: 0; }
body.single-product #review_form p.stars a { color: var(--pdp) !important; }
body.single-product #review_form p.stars a::before { color: var(--pdp) !important; }
body.single-product #review_form textarea { width: 100%; min-height: 140px; padding: 12px 14px; border: 1px solid var(--pdp-line); border-radius: 8px; background: #fff; font-size: 14px; line-height: 1.5; box-sizing: border-box; }
body.single-product #review_form :is(input[type="text"], input[type="email"]) { width: 100%; max-width: 360px; min-height: 44px; padding: 10px 12px; border: 1px solid var(--pdp-line); border-radius: 8px; }
body.single-product #review_form .form-submit { margin: 6px 0 0; }
body.single-product #review_form #submit { display: inline-flex; align-items: center; justify-content: center; width: auto; min-width: 132px; height: 48px; margin: 0; padding: 0 28px; background: var(--pdp) !important; border: 0 !important; border-radius: 8px !important; color: #fff !important; font-size: 15px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0; cursor: pointer; }
body.single-product #review_form #submit:hover { background: #8f6570 !important; color: #fff !important; }
body.single-product #reviews .commentlist { list-style: none; margin: 0 0 28px; padding: 0; }
body.single-product #reviews .comment_container { display: flex; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--pdp-line); }
body.single-product #reviews .star-rating { color: var(--pdp); }

/* Make Offer form */
body.single-product #tab_custom_ofwc_offer_tab_inner fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
body.single-product #tab_custom_ofwc_offer_tab_inner .make-offer-form-intro { margin-bottom: 16px; }
body.single-product #tab_custom_ofwc_offer_tab_inner .make-offer-form-intro h2 { margin: 0 0 6px; font-size: 22px; font-weight: 600; color: var(--pdp-text); }
body.single-product #tab_custom_ofwc_offer_tab_inner .make-offer-form-intro-text { margin: 0; font-size: 14px; color: var(--pdp-muted); }
body.single-product #woocommerce-make-offer-form { display: flex; flex-direction: column; gap: 16px; padding: 24px; background: #fff; border: 1px solid var(--pdp-line); border-radius: 12px; }
body.single-product #woocommerce-make-offer-form .woocommerce-make-offer-form-section { display: flex; flex-wrap: wrap; gap: 16px; margin: 0 !important; padding: 0 !important; width: 100%; float: none !important; }
body.single-product #woocommerce-make-offer-form .woocommerce-make-offer-form-section:first-of-type { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.single-product #woocommerce-make-offer-form :is(.woocommerce-make-offer-form-part-left, .woocommerce-make-offer-form-part-full) { flex: 1 1 100%; width: 100% !important; min-width: 0; float: none !important; margin: 0 !important; }
body.single-product #woocommerce-make-offer-form label { display: block; margin: 0 0 6px; font-size: 13px; font-weight: 600; color: var(--pdp-text); }
body.single-product #woocommerce-make-offer-form .ofw-original-price { display: inline; margin-left: 4px; font-size: 12px; font-weight: 400; color: var(--pdp-muted); white-space: nowrap; }
body.single-product #woocommerce-make-offer-form :is(input[type="text"], input[type="email"], select, textarea) { width: 100% !important; padding: 10px 12px !important; border: 1px solid var(--pdp-line) !important; border-radius: 6px !important; font-size: 14px !important; box-sizing: border-box; background: #fff; }
body.single-product #woocommerce-make-offer-form :is(input[type="text"], input[type="email"], select) { min-height: 44px; }
body.single-product #woocommerce-make-offer-form textarea { min-height: 96px; resize: vertical; }
body.single-product #woocommerce-make-offer-form .angelleye-input-group { display: flex; align-items: stretch; width: 100%; }
body.single-product #woocommerce-make-offer-form .angelleye-input-group-addon { display: flex; align-items: center; padding: 0 12px; background: #f7f7f7; border: 1px solid var(--pdp-line); border-right: 0; border-radius: 6px 0 0 6px; color: var(--pdp-muted); }
body.single-product #woocommerce-make-offer-form .angelleye-input-group input { flex: 1; border-radius: 0 6px 6px 0 !important; }
body.single-product #woocommerce-make-offer-form .woocommerce-make-offer-form-section-submit { margin-top: 4px !important; }
body.single-product #woocommerce-make-offer-form-submit-button { width: 100%; height: 48px; margin: 0 !important; background: var(--pdp) !important; border: 1px solid var(--pdp) !important; color: #fff !important; border-radius: 6px !important; font-size: 14px !important; font-weight: 700 !important; letter-spacing: .04em; text-transform: uppercase; cursor: pointer; }
body.single-product #woocommerce-make-offer-form .offer-submit-loader { margin-top: 8px; font-size: 13px; color: var(--pdp-muted); }
body.single-product .dokan-offer-stripe-trust { margin: 0 0 10px; font-size: 13px; line-height: 1.5; color: var(--pdp-muted); }

/* ---- Related products & "More Products" tab ---- */
body.single-product :is(.related.products, #tab-more_seller_product) ul.products { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; margin: 0 !important; padding: 0 !important; list-style: none; width: 100% !important; align-items: start !important; }
body.single-product :is(.related.products, #tab-more_seller_product) ul.products::before,
body.single-product :is(.related.products, #tab-more_seller_product) ul.products::after,
body.single-product :is(.related.products, #tab-more_seller_product) ul.products > li.product::before,
body.single-product :is(.related.products, #tab-more_seller_product) ul.products > li.product::after { display: none !important; content: none !important; }

/* Match the catalog card treatment in both product recommendations areas. */
body.single-product :is(.related.products, #tab-more_seller_product) ul.products > li.product { display: flex !important; flex-direction: column !important; float: none !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; height: 100% !important; margin: 0 !important; padding: 0 !important; clear: none !important; position: relative; }
body.single-product :is(.related.products, #tab-more_seller_product) li.product .woocommerce-loop-product__link { display: flex !important; flex-direction: column !important; position: relative; height: 100% !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; box-sizing: border-box !important; color: inherit; text-decoration: none !important; }
body.single-product :is(.related.products, #tab-more_seller_product) li.product .woocommerce-loop-product__link > img:first-of-type { order: 0 !important; display: block !important; width: 100% !important; max-width: 100% !important; height: auto !important; aspect-ratio: 3 / 4 !important; margin: 0 0 8px !important; object-fit: cover !important; object-position: center !important; border-radius: 12px !important; }
body.single-product :is(.related.products, #tab-more_seller_product) .woocommerce-loop-product__title { order: 2 !important; min-height: 0 !important; margin: 0 0 1px !important; padding: 0 !important; overflow: hidden !important; color: #222 !important; font-size: 14px !important; font-weight: 500 !important; line-height: 1.2 !important; letter-spacing: 0 !important; text-transform: none !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
body.single-product :is(.related.products, #tab-more_seller_product) :is(.woocommerce-loop-product__title > a, li.product a.woocommerce-loop-product__link) { color: inherit !important; font-size: 14px !important; text-decoration: none !important; }

/* Keep exactly one brand label per card. */
body.single-product :is(.related.products, #tab-more_seller_product) :is(.woocommerce-loop-product__link, .woocommerce-loop-product__title) :is(.product-brand, .taxonomy-product_brand),
body.single-product :is(.related.products, #tab-more_seller_product) li.product :is(.product-brand, .taxonomy-product_brand),
body.single-product :is(.related.products, #tab-more_seller_product) li.product .adf-brand ~ .adf-brand { display: none !important; }
body.single-product :is(.related.products, #tab-more_seller_product) .adf-brand { order: 1 !important; display: block !important; min-height: 0 !important; margin: 0 0 1px !important; padding: 0 !important; color: #915f6d !important; font-size: 12px !important; line-height: 1.2 !important; }
body.single-product :is(.related.products, #tab-more_seller_product) li.product :is(.price, .custom-loop-price, .custom-loop-price *) { color: #915f6d !important; font-size: 14px !important; line-height: 1.2 !important; }
body.single-product :is(.related.products, #tab-more_seller_product) li.product :is(.price, .custom-loop-price) { order: 3 !important; display: block !important; margin: 0 !important; padding: 0 !important; font-weight: 400 !important; }
body.single-product :is(.related.products, #tab-more_seller_product) li.product :is(del, .onsale, .star-rating, .button, a.add_to_cart_button, .ofwc_no_price_product, li.product > div:has(.button)) { display: none !important; }
/* Wishlist icon, normalized the same way as the catalog grid. Cards in these
   two sections arrive from mixed render paths — the server-rendered Woo/YITH
   loop, the YITH fragment refresh for items already wishlisted, and the
   hydrated block button — and each nests the icon at a different depth with its
   own spacing, so pin every variant to one box and one icon size. */
body.single-product .related.products { --wl-box: 32px; --wl-icon: 24px; --wl-inset: 10px; }
body.single-product #tab-more_seller_product { --wl-box: 28px; --wl-icon: 22px; --wl-inset: 8px; }
body.single-product :is(.related.products, #tab-more_seller_product) .yith-wcwl-add-to-wishlist { display: flex !important; align-items: center !important; justify-content: center !important; position: absolute !important; top: var(--wl-inset) !important; right: var(--wl-inset) !important; left: auto !important; bottom: auto !important; z-index: 6 !important; width: var(--wl-box) !important; min-width: var(--wl-box) !important; max-width: var(--wl-box) !important; height: var(--wl-box) !important; min-height: var(--wl-box) !important; max-height: var(--wl-box) !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; }
body.single-product :is(.related.products, #tab-more_seller_product) .yith-add-to-wishlist-button-block { position: absolute !important; top: var(--wl-inset) !important; right: var(--wl-inset) !important; left: auto !important; bottom: auto !important; z-index: 6 !important; width: auto !important; min-width: 0 !important; max-width: none !important; height: auto !important; min-height: 0 !important; max-height: none !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; }
/* YITH hydrates the server-rendered placeholder and then moves the real button
   into the product link, so the block above is not the visible control. */
body.single-product :is(.related.products, #tab-more_seller_product) .yith-wcwl-add-to-wishlist-button { display: flex !important; align-items: center !important; justify-content: center !important; position: absolute !important; top: var(--wl-inset) !important; right: var(--wl-inset) !important; left: auto !important; bottom: auto !important; z-index: 6 !important; width: var(--wl-box) !important; min-width: var(--wl-box) !important; max-width: var(--wl-box) !important; height: var(--wl-box) !important; min-height: var(--wl-box) !important; max-height: var(--wl-box) !important; margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; opacity: 1 !important; visibility: visible !important; overflow: visible !important; transform: none !important; }
/* Strip the state wrapper spacing but never its display: YITH toggles these
   wrappers to switch between the add and added states. */
body.single-product :is(.related.products, #tab-more_seller_product) .yith-wcwl-add-to-wishlist > div { position: static !important; max-width: var(--wl-box) !important; max-height: var(--wl-box) !important; margin: 0 !important; padding: 0 !important; line-height: 1 !important; text-align: center !important; }
body.single-product :is(.related.products, #tab-more_seller_product) .yith-wcwl-add-to-wishlist .hide { display: none !important; }
body.single-product :is(.related.products, #tab-more_seller_product) :is(.yith-wcwl-add-to-wishlist > a, .yith-wcwl-add-to-wishlist a.add_to_wishlist, .yith-wcwl-add-to-wishlist a.delete_item, .yith-wcwl-add-to-wishlist a.wishlist-fragment, .yith-wcwl-wishlistaddedbrowse a, .yith-wcwl-wishlistexistsbrowse a, .yith-add-to-wishlist-button-block a.yith-wcwl-add-to-wishlist-button__wrapper, .yith-add-to-wishlist-button-block .yith-wcwl-add-to-wishlist-button) { display: flex !important; align-items: center !important; justify-content: center !important; position: static !important; width: var(--wl-box) !important; min-width: var(--wl-box) !important; max-width: var(--wl-box) !important; height: var(--wl-box) !important; min-height: var(--wl-box) !important; max-height: var(--wl-box) !important; margin: 0 !important; padding: 0 !important; line-height: 1 !important; }
body.single-product :is(.related.products, #tab-more_seller_product) :is(.yith-wcwl-add-to-wishlist img, .yith-wcwl-add-to-wishlist svg, .yith-add-to-wishlist-button-block img, .yith-add-to-wishlist-button-block svg, .yith-wcwl-add-to-wishlist-button img, .yith-wcwl-add-to-wishlist-button svg, .yith-wcwl-custom-icon) { display: block !important; width: var(--wl-icon) !important; min-width: var(--wl-icon) !important; max-width: var(--wl-icon) !important; height: var(--wl-icon) !important; min-height: var(--wl-icon) !important; max-height: var(--wl-icon) !important; aspect-ratio: auto !important; object-fit: contain !important; margin: 0 !important; padding: 0 !important; align-self: auto !important; order: 0 !important; }
body.single-product :is(.related.products, #tab-more_seller_product) :is(.yith-wcwl-add-to-wishlist i, .yith-wcwl-add-to-wishlist .yith-wcwl-icon, .yith-add-to-wishlist-button-block i, .yith-add-to-wishlist-button-block .yith-wcwl-icon) { font-size: var(--wl-icon) !important; line-height: var(--wl-icon) !important; }
/* Labels and "Product added!" feedback exist on only some of the render paths,
   and their text width offsets the icon inside the box. */
body.single-product :is(.related.products, #tab-more_seller_product) :is(.yith-wcwl-add-to-wishlist-button__label, .yith-wcwl-add-to-wishlist .yith-wcwl-add-to-wishlist-button__label, .yith-wcwl-add-to-wishlist > .feedback, .yith-wcwl-add-to-wishlist .yith-wcwl-add-button > .feedback) { display: none !important; }
body.single-product :is(.related.products, #tab-more_seller_product) .adf-hover-img { display: block !important; position: absolute !important; top: 0 !important; left: 0 !important; z-index: 1; width: 100% !important; max-width: 100% !important; height: auto !important; aspect-ratio: 3 / 4 !important; margin: 0 !important; padding: 0 !important; object-fit: cover !important; object-position: center !important; border-radius: 12px !important; opacity: 0; pointer-events: none; transition: opacity .35s ease; }
body.single-product :is(.related.products, #tab-more_seller_product) li.product:hover .adf-hover-img { opacity: 1; }
body.single-product .related.products { padding-bottom: 48px; box-sizing: border-box; }
body.single-product .related.products h2 { font-size: 22px; font-weight: 700; margin: 0 0 20px; }
body.single-product #tab-more_seller_product { padding: 0 !important; margin: 0 !important; }
body.single-product #tab-more_seller_product ul.products { margin-top: 0 !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 16px 12px !important; }
body.single-product #tab-more_seller_product li.product .woocommerce-loop-product__link > img:first-of-type { aspect-ratio: 3 / 4 !important; margin: 0 0 6px !important; border-radius: 8px !important; }
body.single-product #tab-more_seller_product .adf-hover-img { aspect-ratio: 3 / 4 !important; border-radius: 8px !important; }
body.single-product #tab-more_seller_product .woocommerce-loop-product__title { font-size: 12px !important; }
body.single-product #tab-more_seller_product .adf-brand { font-size: 11px !important; }
body.single-product #tab-more_seller_product li.product :is(.price, .custom-loop-price, .custom-loop-price *) { font-size: 12px !important; }

@media (min-width: 768px) {
    body.single-product :is(.related.products, #tab-more_seller_product) ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    body.single-product #tab-more_seller_product ul.products { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
}

/* ---- Mobile ---- */
@media (max-width: 767px) {
    body.single-product div.product { padding-left: 16px !important; padding-right: 16px !important; }
    body.single-product .summary.entry-summary { position: static; }
    body.single-product .pdp-hero { display: block; }
    body.single-product :is(.pdp-gallery-col, .pdp-content-col) { position: static; max-height: none; width: 100%; }
    body.single-product .pdp-after { margin-top: 28px; }
    body.single-product .related.products { padding-bottom: 32px; }
    body.single-product .pdp-cart-buttons { flex-direction: column; }

    body.single-product .woocommerce-product-gallery__wrapper { display: flex !important; flex-direction: column; flex-wrap: nowrap; gap: 10px; grid-template-columns: none; }
    body.single-product .pdp-thumb-column { order: 2; flex-direction: row; max-height: none; overflow-x: auto; overflow-y: hidden; gap: 10px; padding: 4px; width: 100%; }
    body.single-product .pdp-main-image { order: 1; flex: none; grid-column: auto; grid-row: auto; width: 100% !important; min-height: 0; max-height: none; aspect-ratio: 3 / 4; margin-left: auto; margin-right: auto; background: #fff; }
    body.single-product .pdp-main-image a { height: 100%; min-height: 0; max-height: none; }
    body.single-product .pdp-main-image img { width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; min-height: 0; object-fit: cover !important; object-position: center center !important; }
    body.single-product .pdp-thumb-column .woocommerce-product-gallery__image { grid-column: auto; grid-row: auto; width: 64px !important; height: 85px !important; }
    body.single-product .pdp-thumb-column .woocommerce-product-gallery__image :is(a, img) { width: 64px !important; height: 85px !important; }

    body.single-product :is(.summary .product_title.entry-title, .entry-content .wp-block-post-title) { font-size: 22px !important; }
    body.single-product .pdp-price-block, body.single-product .pdp-price-main { flex-wrap: nowrap; gap: 6px; width: 100%; white-space: nowrap; }
    body.single-product .pdp-price-block :is(.price, .wc-block-components-product-price, .custom-loop-price, .purchase-price, .woocommerce-Price-amount, del, del .woocommerce-Price-amount) { display: inline !important; margin: 0 !important; font-size: 14px !important; line-height: 1.25 !important; white-space: nowrap; }
    body.single-product .pdp-price-main, body.single-product .pdp-price-main .price { flex: 0 0 auto; min-width: 0; }
    body.single-product .pdp-discount-badge { flex: 0 0 auto; padding: 3px 6px; font-size: 10px; }
    body.single-product table.variations { padding: 16px 14px !important; }
    body.single-product .variation-button { min-width: 72px; min-height: 42px; padding: 10px 16px; font-size: 14px; }
    body.single-product #woocommerce-make-offer-form { padding: 16px; }
    body.single-product #woocommerce-make-offer-form .woocommerce-make-offer-form-section:first-of-type { grid-template-columns: 1fr; }
    body.single-product .pdp-pricing-cards-grid,
    body.single-product .pdp-delivery-cards { grid-template-columns: 1fr; }
    body.single-product .pdp-pricing-cards--single .pdp-pricing-cards-grid,
    body.single-product .pdp-delivery-cards--single { max-width: none; }
    body.single-product .pdp-seller-card { grid-template-columns: auto minmax(0, 1fr); }
    body.single-product .pdp-seller-stars { grid-column: 2; }
    body.single-product .pdp-spec-item { border-right: 0; border-bottom: 1px solid var(--pdp-line); }
    body.single-product .pdp-spec-item:last-child { border-bottom: 0; }
}

