/* Product purchase system. Mobile first; 770px matches the existing theme column transition. */
body.catalog-product-view > .wrapper { min-width:0; }
.product-view.pc2-purchase { --purchase-gap:12px; }
.product-view.pc2-purchase #product_addtocart_form { display:flex; flex-direction:column; gap:0; min-width:0; }
.product-view.pc2-purchase #product_addtocart_form > .clearer { display:none; }
.product-view.pc2-purchase .pc2-identity { min-width:0; width:100%; }
.product-view.pc2-purchase .pc2-identity h1 { display:block; margin:0 0 8px; font-size:24px; line-height:1.2; }
.product-view.pc2-purchase .pc2-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 12px; margin-bottom:12px; }
.product-view.pc2-purchase .pc2-meta .extra-info { display:flex; flex-wrap:wrap; align-items:center; gap:8px; float:none; width:auto; max-width:100%; padding:0; margin:0; }
.product-view.pc2-purchase .pc2-meta .ratings,
.product-view.pc2-purchase .pc2-meta .rating-links,
.product-view.pc2-purchase .pc2-meta .availability { margin:0; }
.product-view.pc2-purchase .product-img-box { float:none; width:100%; margin:0 0 12px; padding:0; min-width:0; }
.product-view.pc2-purchase .product-media-place { width:clamp(144px, min(54vw, 27vh), 240px); width:clamp(144px, min(54vw, 27svh), 240px); max-width:100%; margin:0 auto; }
.product-view.pc2-purchase #product-img-gallery { width:100%; margin-bottom:0; }
.product-view.pc2-purchase #product-img-gallery .gallery-image { max-width:100%; height:auto; }
.product-view.pc2-purchase .product-shop { float:none; width:100%; min-width:0; padding:0; margin:0; }
.product-view.pc2-purchase .product-shop .price-info { float:none; width:100%; max-width:100%; padding:0; margin:0 0 12px; text-align:left; }
.product-view.pc2-purchase .product-shop .price-box { margin:0; }
.product-view.pc2-purchase .product-shop .price-box .price { font-size:28px; line-height:1.25; }
.product-view.pc2-purchase .pc2-summary { margin:16px 0 0; width:100%; }
.product-view.pc2-purchase .product-options { clear:both; margin:0; padding:0; border:0; }
.product-view.pc2-purchase .product-options dt { margin:0 0 8px; padding:0; }
.product-view.pc2-purchase .product-options dd { margin:0 0 12px; padding:0; border:0; }
.product-view.pc2-purchase .product-options ul.options-list { display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; }
.product-view.pc2-purchase .product-options ul.options-list > li { position:relative; float:none; flex:1 1 auto; min-width:0; max-width:100%; margin:0; padding:0; }
/* JS supplies a content-measured balanced basis; flex remains the no-JS fallback. */
.product-view.pc2-purchase .product-options ul.options-list.purchase-balanced > li { flex:1 1 var(--purchase-option-basis); }
.product-view.pc2-purchase .product-options ul.options-list .radio { display:block; position:absolute; width:1px; height:1px; margin:0; padding:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; }
.product-view.pc2-purchase .product-options ul.options-list .radio + .label { float:none; display:block; margin:0; height:100%; }
.product-view.pc2-purchase .product-options ul.options-list .radio + .label label { display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; height:100%; padding:8px 6px; margin:0; font-size:15px; line-height:1.25; text-align:center; overflow-wrap:anywhere; border:1px solid #51381b; border-radius:6px; }
.product-view.pc2-purchase .product-options ul.options-list .radio:checked + .label label { background:#51381b; color:#fff; box-shadow:inset 0 0 0 1px #51381b; }
.product-view.pc2-purchase .product-options ul.options-list .radio:focus + .label label { outline:3px solid #7750db !important; outline-offset:2px; }
.product-view.pc2-purchase .product-options ul.options-list .radio:disabled + .label label { opacity:.5; cursor:not-allowed; }
.product-view.pc2-purchase .product-options-bottom { margin:0; padding:0; border:0; width:100%; }
.product-view.pc2-purchase .add-to-cart { display:flex; flex-direction:column; align-items:center; gap:12px; padding:0; margin:0; border:0; }
.product-view.pc2-purchase .add-to-cart:after { display:none; }
.product-view.pc2-purchase .add-to-cart .qty-wrapper { float:none; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; width:100%; margin:0; }
.product-view.pc2-purchase .add-to-cart .qty-wrapper > label { display:block; float:none; height:auto; line-height:21px; margin:0; padding:0; }
.product-view.pc2-purchase .add-to-cart .ajaxcart-qty { float:none; display:flex; width:134px; min-height:44px; padding:0; margin:0; }
.product-view.pc2-purchase .add-to-cart .ajaxcart-qty.pc21-stepper { height:46px; border:1px solid #b6a997; border-radius:6px; background:#fff; }
/* !important only overrides the legacy theme's fixed 20px button / 40px input limits. */
.product-view.pc2-purchase .add-to-cart .pc21-stepper > button { position:static; flex:0 0 44px; width:44px !important; height:44px; padding:0; margin:0; background:#f7f4ef; color:#51381b; border:0; font-size:22px; line-height:44px; }
.product-view.pc2-purchase .add-to-cart .pc21-stepper > .decrease { border-radius:5px 0 0 5px; }
.product-view.pc2-purchase .add-to-cart .pc21-stepper > .increase { border-radius:0 5px 5px 0; }
.product-view.pc2-purchase .add-to-cart .pc21-stepper > .qty { flex:0 0 44px; width:44px; max-width:44px !important; height:44px; margin:0; border:0; border-left:1px solid #d7cfc4; border-right:1px solid #d7cfc4; border-radius:0; padding:0; text-align:center; background:#fff; }
.product-view.pc2-purchase .add-to-cart-buttons { float:none; width:100%; max-width:420px; margin:0; padding:0; }
.product-view.pc2-purchase .add-to-cart .btn-cart { display:flex; align-items:center; justify-content:center; width:100%; min-width:0; height:48px; min-height:48px; margin:0; padding:0 24px; line-height:1.25; border-radius:6px; text-align:center; }
.product-view.pc2-purchase .add-to-cart .btn-cart > span { display:block; margin:0; padding:0; }
.product-view.pc2-purchase .add-to-cart button:focus-visible,
.product-view.pc2-purchase .add-to-cart input:focus-visible { outline:3px solid #7750db !important; outline-offset:3px; }
@media (min-width:771px) {
 .product-view.pc2-purchase #product_addtocart_form { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:min-content min-content min-content 1fr; column-gap:30px; align-items:start; }
 .product-view.pc2-purchase .pc2-identity { grid-column:2; grid-row:1; }
 .product-view.pc2-purchase .pc2-identity h1 { font-size:28px; margin-bottom:10px; }
 .product-view.pc2-purchase .product-img-box { grid-column:1; grid-row:1 / span 4; margin:0; }
 .product-view.pc2-purchase .product-media-place { width:auto; max-width:none; margin:0; }
 .product-view.pc2-purchase #product-img-gallery { margin-bottom:10px; }
 .product-view.pc2-purchase .product-shop { grid-column:2; grid-row:2; }
 .product-view.pc2-purchase #product_addtocart_form > .product-options-bottom { grid-column:2; }
 .product-view.pc2-purchase .pc2-summary { grid-column:2; margin-top:20px; }
 .product-view.pc2-purchase .product-options ul.options-list { gap:8px; }
 .product-view.pc2-purchase .product-options ul.options-list > li,
 .product-view.pc2-purchase .product-options ul.options-list.purchase-balanced > li { flex:0 1 auto; }
 .product-view.pc2-purchase .product-options ul.options-list .radio + .label label { min-width:58px; padding:8px 12px; }
 .product-view.pc2-purchase .add-to-cart { flex-direction:row; flex-wrap:wrap; }
 .product-view.pc2-purchase .add-to-cart .qty-wrapper { flex-direction:row; justify-content:flex-start; width:auto; gap:8px; }
 .product-view.pc2-purchase .add-to-cart-buttons { width:auto; max-width:none; }
 .product-view.pc2-purchase .add-to-cart .btn-cart { width:auto; min-width:200px; height:44px; min-height:44px; line-height:44px; }
}

/* Mobile arrows sit outside the unchanged image, inside the available product column. */
@media (max-width:770px) {
 .product-view.pc2-purchase #product-img-gallery .owl-nav [class*=owl-] { width:44px; height:44px; top:50%; margin-top:-22px; }
 .product-view.pc2-purchase #product-img-gallery .owl-nav .owl-prev { left:-52px; right:auto; }
 .product-view.pc2-purchase #product-img-gallery .owl-nav .owl-next { right:-52px; left:auto; }
}

/* Product service disclosures: one balanced row, one shared details area. */
body.catalog-product-view .pc4-service-obscured { visibility:hidden !important; pointer-events:none !important; }
.product-view.pc2-purchase .pc4-services { min-width:0; margin-top:12px; color:#51381b; }
.product-view.pc2-purchase .pc4-services-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.product-view.pc2-purchase .pc4-services-controls button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-width:0; min-height:64px; margin:0; padding:8px 2px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:inherit; font:600 14px/18px 'Open Sans',sans-serif; cursor:pointer; }
.product-view.pc2-purchase .pc4-services-controls button + button { border-left:1px solid #e7e0d7; }
.product-view.pc2-purchase .pc4-services-controls button[aria-expanded="true"] { background:#f7f4ef; border-bottom-color:#51381b; }
.product-view.pc2-purchase .pc4-services-controls svg { width:20px; height:20px; fill:currentColor; }
.product-view.pc2-purchase .pc4-services button:focus-visible,
.product-view.pc2-purchase .pc4-services a:focus-visible { outline:3px solid #7750db !important; outline-offset:2px; }
.product-view.pc2-purchase .pc4-service-panel { padding:8px 0 0; font-size:14px; line-height:20px; }
.product-view.pc2-purchase .pc4-service-panel[hidden] { display:none; }
.product-view.pc2-purchase .pc4-service-panel p { margin:0; font-size:inherit; line-height:inherit; }
.product-view.pc2-purchase .pc4-service-panel a { display:inline-flex; align-items:center; gap:4px; min-height:32px; max-width:100%; color:inherit; text-decoration:underline; text-underline-offset:3px; }
@media (min-width:771px) {
 .product-view.pc2-purchase #product_addtocart_form { grid-template-rows:repeat(5,min-content); }
 .product-view.pc2-purchase .product-img-box { grid-row:1 / span 5; }
 /* Match measured purchase-control bounds; mobile sizing stays unchanged. */
 .product-view.pc2-purchase .pc4-services { grid-column:2; justify-self:center; width:100%; max-width:380px; }
 .product-view.pc2-purchase .pc4-services.pc4-services-aligned { justify-self:start; width:var(--pc4-purchase-width); max-width:100%; margin-left:var(--pc4-purchase-offset); }
 .product-view.pc2-purchase .pc4-services-controls { display:flex; justify-content:center; width:max-content; max-width:100%; margin:0 auto; }
 .product-view.pc2-purchase .pc4-services-aligned .pc4-services-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; margin:0; }
 .product-view.pc2-purchase .pc4-services-controls button { flex:0 1 auto; flex-direction:row; gap:6px; min-height:44px; padding:8px 12px; white-space:nowrap; }
 .product-view.pc2-purchase .pc4-services-aligned button { flex-wrap:wrap; padding:8px 6px; white-space:normal; overflow-wrap:anywhere; }
 .product-view.pc2-purchase .pc4-services-controls button + button { border-left:0; }
 .product-view.pc2-purchase .pc4-services-aligned button + button { border-left:1px solid #e7e0d7; }
 .product-view.pc2-purchase .pc4-services-details { width:100%; }
 .product-view.pc2-purchase .pc4-service-panel { padding-top:10px; }
}
