.pgh-personalizer {
    --pgh-accent: #d64760;
    margin: 1.5rem 0;
    padding: 1rem;
    border: 1px solid #e4dfe1;
    border-radius: 12px;
    background: #fff;
}

.pgh-personalizer *, .pgh-personalizer *::before, .pgh-personalizer *::after { box-sizing: border-box; }
.pgh-personalizer__step { margin: 0 0 1.25rem; padding: 0; border: 0; }
.pgh-personalizer__step legend, .pgh-personalizer__step h3 { margin: 0 0 .65rem; font-size: 1rem; }
.pgh-personalizer__number { display: inline-grid; place-items: center; width: 1.65rem; height: 1.65rem; margin-right: .35rem; border-radius: 50%; color: #fff; background: var(--pgh-accent); font-weight: 700; }
.pgh-personalizer__designs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.pgh-personalizer__designs label { cursor: pointer; position: relative; min-width: 0; }
.pgh-personalizer__designs label span { display: block; padding: .75rem; border: 2px solid #ddd; border-radius: 8px; text-align: center; }
.pgh-personalizer__designs input { position: absolute; opacity: 0; }
.pgh-personalizer__designs input:checked + span { border-color: var(--pgh-accent); background: #f9f1f5; }
.pgh-personalizer__designs input:focus-visible + span { outline: 3px solid #79aeda; outline-offset: 2px; }
.pgh-design-icon { display: grid; place-items: center; height: 3.2rem; margin-bottom: .55rem; border-radius: 8px; background: #fbe3e8; color: #d64760; font-size: 1.5rem; font-style: normal; }
.pgh-design-icon--photo-name::before { content: '♥'; }
.pgh-design-icon--heart-names { background: #fbeedb; color: #cf795d; }
.pgh-design-icon--heart-names::before { content: '✿'; }
.pgh-design-icon--minimal-photo { background: #e2eff7; color: #c5a244; }
.pgh-design-icon--minimal-photo::before { content: '★'; }
.pgh-personalizer input[type="text"], .pgh-personalizer input[type="file"] { width: 100%; margin-top: .5rem; }
.pgh-personalizer__approval label { display: flex; align-items: flex-start; gap: .65rem; }
.pgh-personalizer__approval input { margin-top: .4rem; }
.pgh-personalizer__errors { margin-top: .75rem; padding: .75rem; border-left: 4px solid #b32d2e; background: #fcf0f1; color: #8a2424; }
.pgh-personalizer__errors ul { margin: 0; padding-left: 1.2rem; }
.pgh-personalizer__cart-step { margin-bottom: 0; }


/* Only the configured product detail gets this class. Catalog thumbnails are untouched. */
.pgh-personalizer-page .woocommerce-product-gallery { display: none !important; }
.pgh-personalizer-page .variations tr[hidden] { display: none !important; }
.pgh-live-preview {
    float: left; clear: left; width: 48%; max-width: 820px; margin: 0 0 1.5rem;
    padding: .8rem; overflow: hidden; border: 1px solid #e4dfe1; border-radius: 12px;
    background: white; box-sizing: border-box;
}
.pgh-live-preview *, .pgh-live-preview *::before, .pgh-live-preview *::after { box-sizing: border-box; }
.pgh-live-preview__title { margin: 0 0 .75rem; font-size: 1.15rem; text-align: center; }
.pgh-live-preview__stage { position: relative; width: 100%; max-width: 100%; overflow: hidden; aspect-ratio: 1448 / 1086; border-radius: 10px; background: #f5f5f5; }
.pgh-live-preview__print { display: block; position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.pgh-live-preview__print[hidden], .pgh-live-preview__status[hidden] { display: none !important; }
.pgh-photo-positioner { position: absolute; cursor: grab; touch-action: none; border-radius: 5%; user-select: none; -webkit-user-select: none; }
.pgh-photo-positioner.is-dragging { cursor: grabbing; }
.pgh-photo-positioner:focus-visible { outline: 3px solid #79aeda; outline-offset: 2px; }
.pgh-photo-positioner[hidden], .pgh-photo-controls[hidden] { display: none !important; }
.pgh-photo-controls { margin-top: .75rem; text-align: center; }
.pgh-photo-controls__buttons { display: flex; justify-content: center; flex-wrap: wrap; gap: .5rem; margin: .5rem 0; }
.pgh-photo-controls button { min-width: 44px; min-height: 44px; padding: .45rem .85rem; border: 1px solid #d9c7cc; border-radius: 8px; background: #fff5f7; color: #5a2938; font: inherit; cursor: pointer; }
.pgh-photo-controls button:disabled { opacity: .45; cursor: not-allowed; }
.pgh-photo-controls button:focus-visible, .pgh-upload__choose:focus-within { outline: 3px solid #79aeda; outline-offset: 3px; }
.pgh-photo-controls small { display: block; color: #666; font-size: .8rem; }
.pgh-upload { display: flex; align-items: center; flex-wrap: wrap; gap: .65rem; margin-top: .5rem; min-width: 0; }
.pgh-upload__choose { position: relative; display: inline-flex; align-items: center; min-height: 44px; padding: .6rem 1rem; margin: 0; border-radius: 8px; background: #273443; color: white; cursor: pointer; flex-shrink: 0; overflow: hidden; }
.pgh-personalizer input[type="file"].pgh-upload__input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.pgh-upload [data-pgh-filename] { min-width: 0; max-width: 100%; overflow-wrap: anywhere; color: #666; font-size: .85rem; }
.pgh-live-preview__note, .pgh-live-preview__status { margin: .65rem 0 0; color: #666; font-size: .82rem; text-align: center; }
.pgh-personalizer { min-width: 0; max-width: 100%; }
.pgh-personalizer input, .pgh-personalizer select { min-width: 0; max-width: 100%; }
.pgh-personalizer__color .variations { margin: 0; padding: 0; border: 0; }
.pgh-personalizer__color select { width: 100%; padding: .65rem; }
.pgh-personalizer__color select.pgh-native-colour { display: none !important; }
.pgh-colour-buttons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; }
.pgh-colour-button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .45rem; min-width: 0; min-height: 82px; padding: .6rem .25rem; border: 2px solid #e4e5e9; border-radius: 10px; background: white; color: #59616d; font: inherit; font-size: .86rem; line-height: 1.3; cursor: pointer; overflow-wrap: anywhere; }
.pgh-colour-dot { flex-shrink: 0; width: 29px; height: 29px; border-radius: 50%; border: 1px solid #bdc1c7; }
.pgh-colour-button[aria-pressed="true"] { border-color: var(--pgh-accent); background: #fff5f7; }
.pgh-colour-button:focus-visible { outline: 3px solid #79aeda; outline-offset: 2px; }
.pgh-colour-button:disabled { opacity: .45; cursor: not-allowed; }
.pgh-colour-button:disabled > span:last-child { text-decoration: line-through; }
.pgh-colour-button[hidden] { display: none !important; }
.pgh-colour-unavailable { display: block; margin-top: .6rem; color: #777; }
.pgh-colour-unavailable[hidden] { display: none; }
.pgh-personalizer-layout { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); align-items: start; gap: clamp(20px, 3vw, 50px); width: 100%; clear: both; margin-bottom: 1.5rem; }
.pgh-personalizer-layout > .pgh-live-preview, .pgh-personalizer-layout > .summary, .pgh-personalizer-layout > .entry-summary { float: none !important; width: 100% !important; min-width: 0; max-width: 100%; margin: 0; }
.pgh-personalizer-layout .pgh-live-preview { position: sticky; top: 24px; }
.pgh-personalizer-layout .pgh-personalizer { margin-top: 0; }
.pgh-product-gallery { margin-top: 1.1rem; padding-top: 1rem; border-top: 1px solid #eee; }
.pgh-product-gallery__items { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; }
.pgh-product-gallery__item { min-width: 0; padding: 0; border: 0; background: transparent; color: #59616d; font: inherit; cursor: pointer; text-align: center; }
.pgh-product-gallery__cover { position: relative; display: grid; place-items: center; aspect-ratio: 1; overflow: hidden; border: 1px solid #e4e5e9; border-radius: 8px; background: #f8f5f3; }
.pgh-product-gallery__cover img { width: 100%; height: 100%; object-fit: cover; }
.pgh-product-gallery__label { display: block; margin-top: .4rem; font-size: .76rem; line-height: 1.35; overflow-wrap: anywhere; }
.pgh-product-gallery__placeholder { font-size: 1.6rem; color: #a46572; }
.pgh-product-gallery__play { position: absolute; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #ffffffed; color: #873750; }
.pgh-product-gallery__item:focus-visible { outline: 3px solid #79aeda; outline-offset: 3px; border-radius: 8px; }
.pgh-gallery-dialog { width: min(900px, 94vw); max-width: 94vw; max-height: 90vh; padding: 1rem; border: 0; border-radius: 12px; background: white; color: #333; }
.pgh-gallery-dialog::backdrop { background: #0009; }
.pgh-gallery-dialog__header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: .75rem; }
.pgh-gallery-dialog__header h3 { margin: 0; font-size: 1.1rem; }
.pgh-gallery-dialog__header button { border: 0; background: #f2f2f2; border-radius: 50%; width: 40px; height: 40px; font-size: 1.6rem; cursor: pointer; flex-shrink: 0; }
.pgh-gallery-dialog__media img { display: block; margin: auto; max-width: 100%; max-height: 70vh; object-fit: contain; }
.pgh-gallery-dialog__media video, .pgh-gallery-dialog__media iframe { display: block; border: 0; width: 100%; aspect-ratio: 16 / 9; }
.pgh-gallery-dialog__message { margin: .8rem 0 0; line-height: 1.6; }
.pgh-gallery-dialog__message[hidden] { display: none; }
@media (min-width: 640px) {
    .pgh-personalizer { padding: 1.5rem; }
    .pgh-personalizer__designs { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767px) {
    .pgh-product-gallery__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pgh-product-gallery__cover { width: 90px; max-width: 100%; margin-inline: auto; }
    .pgh-personalizer-layout { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
    .pgh-personalizer-layout .pgh-live-preview { position: static; }
    .pgh-live-preview { float: none; clear: both; width: 100%; max-width: 100%; margin-bottom: 1rem; padding: .65rem; }
    .pgh-live-preview__title { font-size: 1rem; }
    .pgh-live-preview__stage { min-width: 0; }
}
@media (max-width: 420px) {
    .pgh-colour-buttons { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pgh-personalizer__designs label span { padding: .5rem .2rem; font-size: .78rem; }
}

/* v0.1.17.4 presentation polish. Never applied to unconfigured products or 4594. */
.pgh-customer-polish { --pgh-ui-ink: #273443; --pgh-ui-border: #e5dfe2; --pgh-ui-radius: 10px; }
.pgh-customer-polish .pgh-personalizer { box-sizing: border-box; padding: 20px; border-color: var(--pgh-ui-border); border-radius: 12px; }
.pgh-customer-polish .pgh-personalizer h2 { margin: 0 0 18px; color: var(--pgh-ui-ink); font-size: 20px; line-height: 1.35; }
.pgh-customer-polish .pgh-personalizer__step { margin-bottom: 18px; }
.pgh-customer-polish .pgh-personalizer__step legend,
.pgh-customer-polish .pgh-personalizer__step > label { display: flex; align-items: center; gap: 8px; margin: 0 0 9px; padding: 0; font-size: 14px; line-height: 1.4; color: var(--pgh-ui-ink); }
.pgh-customer-polish .pgh-personalizer__number { flex: 0 0 21px; width: 21px; height: 21px; margin: 0; font-size: 11px; line-height: 1; vertical-align: middle; }
.pgh-customer-polish .pgh-personalizer__step legend { font-weight: 600; }
.pgh-customer-polish .pgh-personalizer__approval > label { align-items: flex-start; margin-bottom: 0; font-size: 13px; line-height: 1.55; }
.pgh-customer-polish .pgh-personalizer__approval label > span { display: flex; align-items: flex-start; gap: 8px; }
.pgh-customer-polish .pgh-personalizer__approval .pgh-personalizer__number { margin-top: 0; }
.pgh-customer-polish .pgh-personalizer__approval input { flex-shrink: 0; margin: 3px 0 0; }
.pgh-customer-polish .pgh-personalizer__cart-step { margin: 0; }
.pgh-customer-polish .pgh-colour-buttons { gap: 8px; }
.pgh-customer-polish .pgh-colour-button { min-height: 68px; padding: 9px 4px; gap: 6px; border-width: 1px; border-radius: var(--pgh-ui-radius); font-size: 12px; color: #4e5966; }
.pgh-customer-polish .pgh-colour-dot { width: 23px; height: 23px; }
.pgh-customer-polish .pgh-colour-button[aria-pressed="true"] { border-color: var(--pgh-accent); box-shadow: 0 0 0 1px var(--pgh-accent); }
.pgh-customer-polish .pgh-personalizer input[type="text"] { min-height: 44px; margin: 0; padding: 10px 12px; border: 1px solid var(--pgh-ui-border); border-radius: var(--pgh-ui-radius); background: #fff; color: var(--pgh-ui-ink); font-size: 16px; }
.pgh-customer-polish .pgh-personalizer input[type="text"]:focus-visible { outline: 3px solid #79aeda; outline-offset: 2px; }
.pgh-customer-polish .pgh-upload { margin-top: 0; gap: 10px; }
.pgh-customer-polish .pgh-upload__choose { padding: 10px 16px; border: 1px solid var(--pgh-ui-ink); border-radius: var(--pgh-ui-radius); background: var(--pgh-ui-ink); color: #fff; font-size: 13px; font-weight: 600; transition: background .15s; }
.pgh-customer-polish .pgh-upload__choose:hover { background: #39495b; }
.pgh-customer-polish #pgh-photo-format { display: block; margin-top: 8px; color: #707784; font-size: 12px; line-height: 1.5; }
.pgh-customer-polish .pgh-photo-controls button { border-radius: var(--pgh-ui-radius); }
.pgh-customer-polish .pgh-availability,
.pgh-customer-polish .summary .stock.in-stock { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; margin: 0 0 14px; padding: 6px 10px; border: 1px solid #d7e9dc; border-radius: 8px; background: #eff8f1; color: #24733e; font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
.pgh-customer-polish .pgh-availability.out-of-stock { border-color: #e4dfe1; background: #f6f4f5; color: #72707a; }
.pgh-customer-polish .pgh-availability.available-on-backorder { border-color: #ecdab2; background: #fff9eb; color: #856119; }
.pgh-customer-polish [data-pgh-stock-prefix] { display: none !important; }
.pgh-customer-polish .summary form.cart { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
.pgh-customer-polish .summary form.cart > .variations,
.pgh-customer-polish .summary form.cart > .pgh-personalizer,
.pgh-customer-polish .summary form.cart > .single_variation_wrap { flex: 0 0 100%; width: 100%; min-width: 0; }
.pgh-customer-polish .summary form.cart > .pgh-personalizer { margin-bottom: 4px; }
.pgh-customer-polish .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
.pgh-customer-polish .summary form.cart .quantity { flex: 0 0 132px; max-width: 100%; margin: 0 !important; padding: 0; height: auto; }
.pgh-customer-polish .summary form.cart .quantity label { display: block; position: static; clip: auto; clip-path: none; width: auto; height: auto; overflow: visible; margin: 0 0 6px; font-size: 13px; font-weight: 600; line-height: 1.4; }
.pgh-customer-polish .summary form.cart .quantity input.qty { min-height: 44px; border-radius: 8px; font-size: 16px; }
.pgh-customer-polish .summary form.cart .single_add_to_cart_button { flex: 1 1 170px; min-height: 44px; max-width: 100%; margin: 0 !important; padding: 12px 20px; border: 1px solid var(--pgh-ui-ink); border-radius: var(--pgh-ui-radius); background: var(--pgh-ui-ink); color: #fff; box-shadow: 0 2px 5px #27344312; font: inherit; font-size: 14px; font-weight: 600; line-height: 1.3; white-space: normal; transition: background .15s; }
.pgh-customer-polish .summary form.cart .single_add_to_cart_button:hover { background: #39495b; }
.pgh-customer-polish .summary form.cart .single_add_to_cart_button:disabled { opacity: .45; cursor: not-allowed; }
.pgh-customer-polish .summary form.cart .single_add_to_cart_button:focus-visible { outline: 3px solid #79aeda; outline-offset: 3px; }
@media (max-width: 420px) {
    .pgh-customer-polish .pgh-personalizer { padding: 16px; }
    .pgh-customer-polish .pgh-personalizer__step { margin-bottom: 16px; }
    .pgh-customer-polish .summary form.cart .quantity { flex-basis: 116px; }
    .pgh-customer-polish .summary form.cart .single_add_to_cart_button { flex-basis: 140px; padding-inline: 12px; }
}

/* v0.1.17.5: presentation-only action row; native nodes/listeners remain in their form. */
.pgh-customer-polish .summary form.cart .pgh-cart-actions { display: flex; flex-wrap: nowrap; align-items: flex-end; gap: 10px; width: 100%; min-width: 0; }
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity { box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 1fr); flex: 0 0 104px; width: 104px; min-width: 0; height: auto; border: 0; background: transparent; }
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity [data-pgh-quantity-caption] { grid-column: 1 / -1; margin: 0 0 7px; text-align: center; font-size: 13px; line-height: 18px; }
.pgh-customer-polish [data-pgh-old-quantity-label] { display: none !important; }
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity input.qty { box-sizing: border-box; position: static; width: 100%; height: 48px; min-height: 48px; margin: 0; padding: 0; border: 1px solid #ddd6d0; border-radius: 9px; background: #fff; color: #273443; font-size: 16px; line-height: 48px; text-align: center; }
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity.pgh-quantity-controls { grid-template-columns: 30px 44px 30px; }
.pgh-customer-polish .summary form.cart .pgh-cart-actions .pgh-quantity-controls input.qty { grid-column: 2; grid-row: 2; border-inline: 0; border-radius: 0; appearance: textfield; -moz-appearance: textfield; }
.pgh-customer-polish .pgh-quantity-controls input.qty::-webkit-inner-spin-button,
.pgh-customer-polish .pgh-quantity-controls input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.pgh-customer-polish .summary form.cart .pgh-cart-actions .pgh-quantity-minus,
.pgh-customer-polish .summary form.cart .pgh-cart-actions .pgh-quantity-plus { box-sizing: border-box; position: static; inset: auto; transform: none; float: none; display: grid; place-items: center; grid-row: 2; width: 30px; height: 48px; min-height: 48px; margin: 0; padding: 0; border: 1px solid #ddd6d0; background: #fff; color: #273443; font: inherit; font-size: 18px; line-height: 1; cursor: pointer; }
.pgh-customer-polish .summary form.cart .pgh-cart-actions .pgh-quantity-minus { grid-column: 1; border-right: 0; border-radius: 9px 0 0 9px; }
.pgh-customer-polish .summary form.cart .pgh-cart-actions .pgh-quantity-plus { grid-column: 3; border-left: 0; border-radius: 0 9px 9px 0; }
.pgh-customer-polish .pgh-quantity-controls button:disabled { opacity: .45; cursor: not-allowed; }
.pgh-customer-polish .pgh-quantity-minus:focus-visible,
.pgh-customer-polish .pgh-quantity-plus:focus-visible { outline: 3px solid #79aeda; outline-offset: 2px; }
.pgh-customer-polish .summary form.cart .pgh-cart-actions .single_add_to_cart_button { box-sizing: border-box; position: relative; display: flex; align-items: center; justify-content: center; flex: 1 1 180px; width: auto; min-width: 0; max-width: 248px; height: 48px; min-height: 48px; padding: 0 28px; border: 1px solid #edb42d; border-radius: 9px; background: #f6c344; color: #242b35; box-shadow: 0 2px 4px #38280c0d; font-size: 14px; font-weight: 650; line-height: 1.25; text-align: center; }
.pgh-customer-polish .summary form.cart .pgh-cart-actions .single_add_to_cart_button > i,
.pgh-customer-polish .summary form.cart .pgh-cart-actions .single_add_to_cart_button::before { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); }
.pgh-customer-polish .summary form.cart .pgh-cart-actions .single_add_to_cart_button:hover { background: #edb735; border-color: #dca72a; box-shadow: 0 3px 6px #38280c12; }
.pgh-customer-polish .pgh-cart-actions__icons { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; height: 48px; }
.pgh-customer-polish .pgh-cart-actions__icons[hidden] { display: none !important; }
.pgh-customer-polish .pgh-cart-actions__icons a { text-decoration: none; }
.pgh-customer-polish .summary .pgh-cart-action-icon { flex: 0 0 40px; width: 40px; margin: 0 !important; padding: 0; float: none; }
.pgh-customer-polish .summary a.pgh-cart-action-icon,
.pgh-customer-polish .summary button.pgh-cart-action-icon,
.pgh-customer-polish .summary .pgh-cart-action-icon a,
.pgh-customer-polish .summary .pgh-cart-action-icon button { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 48px; margin: 0 !important; padding: 0; border: 1px solid #e6dfd6; border-radius: 9px; background: #fff; color: #53606b; font-size: 0; line-height: 1; box-shadow: none; }
.pgh-customer-polish .pgh-cart-action-icon i,
.pgh-customer-polish .pgh-cart-action-icon svg,
.pgh-customer-polish .pgh-cart-action-icon a::before,
.pgh-customer-polish .pgh-cart-action-icon::before { width: 20px; height: 20px; margin: 0; font-size: 20px; font-style: normal; }
.pgh-customer-polish .pgh-cart-action-icon a:hover,
.pgh-customer-polish a.pgh-cart-action-icon:hover { border-color: #c9beb0; background: #faf8f4; }
@media (min-width: 768px) and (max-width: 1023px) {
    .pgh-customer-polish .summary form.cart .pgh-cart-actions { flex-wrap: wrap; }
}
@media (max-width: 767px) {
    .pgh-customer-polish .summary form.cart .pgh-cart-actions { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 12px; }
    .pgh-customer-polish .summary form.cart .pgh-cart-actions .single_add_to_cart_button { width: 100%; max-width: none; }
}

/* v0.1.17.6 quantity-only hotfix: keep DOM/controllers; neutralize narrow theme wrappers. */
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity {
    flex: 0 0 128px !important;
    width: 128px !important;
    min-width: 128px !important;
    max-width: 128px !important;
    overflow: visible !important;
}
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity.pgh-quantity-controls {
    grid-template-columns: 36px 56px 36px;
    gap: 0;
}
/* Nested qty-box/input-group boxes must not become a fourth narrow grid cell. */
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity.pgh-quantity-controls .qty-box:not(input):not(button):not([hidden]),
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity.pgh-quantity-controls .input-group:not(input):not(button):not([hidden]),
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity.pgh-quantity-controls div:not(.pgh-quantity-minus):not(.pgh-quantity-plus):not([data-pgh-old-quantity-label]):not([hidden]) {
    display: contents !important;
}
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity.pgh-quantity-controls input.qty {
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 48px;
    min-height: 48px;
    justify-self: stretch;
    align-self: center;
    text-align: center;
    padding: 0;
}
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity .pgh-quantity-minus,
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity .pgh-quantity-plus {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 48px;
    min-height: 48px;
    justify-self: stretch;
    align-self: center;
}

/* v0.1.17.7: real Unicode quantity symbols, independent of theme/icon fonts. */
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity .pgh-quantity-minus,
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity .pgh-quantity-plus {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 0 !important;
    font-style: normal !important;
    font-weight: 400 !important;
    text-transform: none !important;
    text-shadow: none !important;
    background-image: none !important;
}
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity .pgh-quantity-minus > :not([data-pgh-quantity-symbol]),
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity .pgh-quantity-plus > :not([data-pgh-quantity-symbol]) {
    display: none !important;
}
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity .pgh-quantity-minus::before,
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity .pgh-quantity-plus::before,
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity .pgh-quantity-minus::after,
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity .pgh-quantity-plus::after,
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity .pgh-quantity-minus *::before,
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity .pgh-quantity-plus *::before,
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity .pgh-quantity-minus *::after,
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity .pgh-quantity-plus *::after {
    content: none !important;
    display: none !important;
}
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity .pgh-quantity-minus > [data-pgh-quantity-symbol],
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity .pgh-quantity-plus > [data-pgh-quantity-symbol],
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity .pgh-quantity-minus[data-pgh-quantity-symbol-input],
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity .pgh-quantity-plus[data-pgh-quantity-symbol-input] {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: normal !important;
    text-indent: 0 !important;
    text-transform: none !important;
    text-align: center !important;
    background: none !important;
}
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity .pgh-quantity-minus > [data-pgh-quantity-symbol], .pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity .pgh-quantity-plus > [data-pgh-quantity-symbol] { pointer-events: none !important; }

/* v0.1.17.8: center quantity content without changing native controls or handlers. */
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity.pgh-quantity-controls {
    display: grid !important;
    grid-template-columns: 36px 56px 36px !important;
    grid-template-rows: auto 48px !important;
    gap: 0 !important;
    align-items: center !important;
    padding: 0 !important;
    height: auto !important;
}
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity.pgh-quantity-controls .pgh-quantity-minus,
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity.pgh-quantity-controls .pgh-quantity-plus {
    box-sizing: border-box !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    float: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    justify-self: stretch !important;
    grid-row: 2 !important;
    width: 36px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 4px !important;
}
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity.pgh-quantity-controls .pgh-quantity-minus { grid-column: 1 !important; }
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity.pgh-quantity-controls .pgh-quantity-plus { grid-column: 3 !important; }
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity.pgh-quantity-controls .pgh-quantity-minus > [data-pgh-quantity-symbol],
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity.pgh-quantity-controls .pgh-quantity-plus > [data-pgh-quantity-symbol] {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    flex: 0 0 auto !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;
    line-height: 18px !important;
    vertical-align: middle !important;
}
.pgh-customer-polish .summary form.cart .pgh-cart-actions .quantity.pgh-quantity-controls input.qty {
    box-sizing: border-box !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    float: none !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: center !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 4px !important;
    line-height: normal !important;
    text-align: center !important;
}

/* Product-scoped Stijlkleur palette: native radio semantics and touch-sized cards. */
.pgh-style-colour__options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pgh-style-colour__option{position:relative;margin:0!important;min-width:0;cursor:pointer}
.pgh-style-colour__option input{position:absolute;opacity:0;width:1px;height:1px}
.pgh-style-colour__option>span{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px;border:2px solid #e4e7eb;border-radius:8px;font-weight:500;font-size:13px}
.pgh-style-colour__option i{width:22px;height:22px;border-radius:50%;flex:0 0 22px;border:1px solid #0001}
.pgh-style-colour__option b{margin-left:auto;visibility:hidden;color:#2F2F2F}
.pgh-style-colour__option input:checked+span{border-color:#b58b61;background:#faf7f3}
.pgh-style-colour__option input:checked+span b{visibility:visible}
.pgh-style-colour__option input:focus-visible+span{outline:2px solid #2F2F2F;outline-offset:2px}
@media(max-width:360px){.pgh-style-colour__option>span{font-size:12px;padding:8px;gap:6px}}
