/* Product ordering preview: red symbol, white surface, clear packing units. */
#route-detail.product-detail-page{max-width:1080px;margin:0 auto;color:#202124}
.product-detail-page a:hover,.product-detail-page button:hover{color:#c81929}
.product-detail-page a:focus-visible,.product-detail-page button:focus-visible,.product-detail-page input:focus-visible,.product-detail-page select:focus-visible,.product-detail-page summary:focus-visible{outline:2px solid #ed2435;outline-offset:3px}
.product-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:#74777c;line-height:1.7;margin:0 0 22px}
.product-breadcrumb>[aria-current]{color:#202124}
.product-order-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.product-visual,.product-order-summary{min-width:0}
.product-visual>button{position:relative;display:flex;justify-content:center;align-items:center;width:100%;aspect-ratio:1;padding:28px;background:#f6f6f7;border:1px solid #ececef;border-radius:8px;overflow:hidden;cursor:zoom-in}
.product-visual>button>img,.product-visual .catalog-photo{display:block;width:100%;max-width:100%;height:auto;max-height:100%;object-fit:contain}
.product-photo-expand{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:7px;background:#ffffffee;padding:7px 10px;border:1px solid #e7e8ea;border-radius:4px;color:#585b60;font-size:11px}
.product-photo-expand svg{width:15px;height:15px}
#route-detail.product-detail-page .product-visual>p{margin:12px 0 0;color:#8a8d92;font-size:12px;line-height:1.7}
.product-category-label{display:flex;align-items:center;gap:10px;font-size:12px;color:#74777c;margin:0 0 12px}
.product-category-label>span{border-left:1px solid #d9dadd;padding-left:10px;color:#c81929;font-weight:650}
#route-detail.product-detail-page h1{font-size:28px;line-height:1.4;font-weight:850;letter-spacing:-.8px;margin:0 0 20px;word-break:keep-all;overflow-wrap:anywhere}
.product-top-facts{margin:0 0 17px;display:grid;gap:10px}
.product-top-facts>div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;font-size:14px;line-height:1.6}
.product-top-facts dt{color:#74777c}.product-top-facts dd{margin:0;font-weight:600}
.product-member-price{display:flex;flex-wrap:wrap;align-items:center;gap:5px 20px;border-top:1px solid #e7e8ea;border-bottom:1px solid #e7e8ea;padding:13px 0;margin-bottom:18px}
.product-member-price .member-price-notice{margin:0;min-height:30px;font-size:18px;font-weight:800}
.product-benefits-link{font-size:12px;color:#74777c;text-decoration:underline;text-underline-offset:3px}
.product-delivery-summary{display:flex;gap:12px;margin:0 0 22px}
.product-delivery-summary>svg{width:21px;height:21px;color:#74777c;margin-top:2px}
.product-delivery-summary strong{font-size:13px;font-weight:700}
#route-detail.product-detail-page .product-delivery-summary p{font-size:12px;line-height:1.6;color:#74777c;margin:3px 0 5px}
.product-delivery-summary a{font-size:12px;color:#74777c;text-decoration:underline;text-underline-offset:3px}
.product-variant-label{display:block;font-size:13px;font-weight:650;margin-bottom:7px}
#product-variant{display:block;width:100%;height:43px;padding:0 12px;border:1px solid #dedfe2;border-radius:4px;background:white;font:inherit;font-size:13px;color:#202124;margin-bottom:15px}
.product-selection{padding:17px 18px;background:#f6f6f7;border-radius:6px}
.product-selection-name{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:17px;font-size:13px;line-height:1.6}
.product-selection-name strong{font-weight:650;min-width:0}.product-selection-name>span{color:#74777c;flex-shrink:0}
.product-quantity-line{display:flex;align-items:center;justify-content:space-between;gap:12px}
.product-quantity-line>label{font-size:13px;color:#585b60}
.product-quantity-control{display:flex;align-items:stretch;background:white;border:1px solid #dedfe2;border-radius:4px;overflow:visible;flex-shrink:0}
.product-quantity-control button{width:39px;min-height:38px;font-size:20px;line-height:1;background:white;color:#202124}
.product-quantity-control button:disabled{color:#b4b6ba;cursor:default}
#product-quantity{appearance:textfield;width:55px;min-width:0;border:0;border-left:1px solid #e7e8ea;border-right:1px solid #e7e8ea;background:white;text-align:center;padding:7px 2px;font:inherit;font-size:14px;font-weight:650;border-radius:0}
#product-quantity::-webkit-inner-spin-button,#product-quantity::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#product-quantity[aria-invalid=true]{color:#c81929;background:#fff7f8}
#route-detail.product-detail-page .product-selection p{font-size:11px;line-height:1.7;color:#8a8d92;margin:12px 0 0}
#route-detail.product-detail-page .product-quantity-status{font-size:12px;color:#c81929;line-height:1.7;margin:10px 0 0}
.product-quantity-status:empty{display:none}
.product-order-total{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:20px 0;font-size:13px;color:#74777c}
.product-order-total strong{color:#202124;font-weight:750;margin-left:7px}
.product-order-actions{display:grid;grid-template-columns:46px minmax(0,1fr) minmax(0,1fr);gap:8px}
.product-order-actions button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:47px;border-radius:5px;border:1px solid #dedfe2;background:white;font-size:14px;font-weight:750;color:#202124}
.product-order-actions svg{width:20px;height:20px;stroke-width:1.8}
.product-order-actions .product-save{color:#74777c}
.product-save[aria-pressed=true] svg{fill:#ed2435;color:#ed2435}
.product-order-actions .product-add{border-color:#ed2435;color:#c81929}
.product-order-actions .product-buy{border-color:#ed2435;background:#ed2435;color:white}
.product-order-actions .product-buy:hover{background:#c81929;color:white}
.product-order-actions .product-add:hover{background:#fff7f8}
.product-order-actions button:disabled{opacity:.45;cursor:default}
#route-detail.product-detail-page .product-purchase-note{font-size:11px;color:#8a8d92;line-height:1.7;text-align:right;margin:10px 0 0}
.product-detail-nav{display:flex;position:sticky;top:0;z-index:5;gap:32px;background:white;border-top:1px solid #e7e8ea;border-bottom:1px solid #e7e8ea;margin:36px 0 30px;padding:0 2px}
.product-detail-nav a{display:flex;align-items:center;justify-content:center;min-height:52px;color:#585b60;font-size:14px;font-weight:700}
.product-detail-nav a:hover{box-shadow:inset 0 -3px #ed2435}
.product-detail-page>section{margin-bottom:36px;scroll-margin-top:75px}
.product-section-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;margin-bottom:17px}
#route-detail.product-detail-page h2{font-size:21px;font-weight:800;line-height:1.5;letter-spacing:-.4px;margin:0}
#route-detail.product-detail-page .product-section-heading p{color:#74777c;font-size:13px;line-height:1.7;margin:5px 0 0;flex-basis:100%}
.product-section-heading>a{font-size:12px;color:#74777c;text-decoration:underline;text-underline-offset:3px}
.product-specification{margin:0;border-top:1px solid #e7e8ea}
.product-specification>div{display:grid;grid-template-columns:210px minmax(0,1fr);font-size:14px;line-height:1.8;border-bottom:1px solid #e7e8ea}
.product-specification dt{padding:13px 18px;background:#f6f6f7;color:#74777c;font-weight:500}
.product-specification dd{margin:0;padding:13px 20px;color:#202124;overflow-wrap:anywhere}
.product-shipping-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.product-shipping-grid>div{padding-top:17px;border-top:1px solid #e7e8ea;min-width:0}
.product-detail-page h3{font-size:15px;font-weight:700;margin:0 0 9px;line-height:1.6}
#route-detail.product-detail-page .product-shipping-grid p{font-size:13px;color:#74777c;line-height:1.9;margin:0}
.product-faq{border-top:1px solid #e7e8ea}
.product-faq details{border-bottom:1px solid #e7e8ea}
.product-faq summary{cursor:pointer;padding:17px 2px;font-size:14px;font-weight:600;line-height:1.6}
.product-faq details[open] summary{color:#c81929}
#route-detail.product-detail-page .product-faq p{font-size:13px;line-height:1.9;color:#74777c;margin:0;padding:0 2px 18px;max-width:790px}
.product-inquiry-contact{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;background:#f6f6f7;border-radius:6px;padding:17px 20px;margin-top:20px;font-size:13px;color:#74777c}
.product-inquiry-contact>a:first-of-type{font-size:17px;font-weight:800;color:#202124;white-space:nowrap}
.product-inquiry-contact>a:last-of-type{text-decoration:underline;text-underline-offset:3px}
.product-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px}
.product-related-grid .product-image{--photo-height:210px}
#route-detail.product-detail-page .product-related-grid p{font-size:12px;line-height:1.7;color:#8a8d92;margin:0 0 7px}
.product-related-grid .product h3{font-size:14px;font-weight:650}
.product-photo-modal{width:min(700px,calc(100% - 32px));max-height:85dvh;overflow:auto;padding:28px;border-radius:8px;border:0}
.product-photo-close{position:absolute;right:14px;top:8px;font-size:28px;color:#74777c}
#route-detail.product-detail-page .product-photo-modal h2{font-size:18px;line-height:1.5;margin:0 30px 20px 0}
.product-photo-modal>img,.product-photo-modal>.catalog-photo{display:block;width:100%;height:auto;max-height:65dvh;object-fit:contain;margin:auto}
#route-detail.product-detail-page .product-photo-modal>p{font-size:12px;line-height:1.7;color:#74777c;margin:16px 0 0}
@media(max-width:950px) and (pointer:coarse){
 #route-detail.product-detail-page{max-width:100%;width:100%}
 .product-order-layout{grid-template-columns:1fr;gap:23px}.product-visual>button{max-width:520px;margin:auto;padding:24px}
 #route-detail.product-detail-page h1{font-size:25px;margin-bottom:17px}.product-category-label{margin-bottom:10px}
 .product-top-facts>div{font-size:13px}.product-member-price .member-price-notice{font-size:17px}
 .product-selection-name{flex-wrap:wrap}.product-quantity-control button{width:42px;min-height:42px}
 .product-order-actions{position:fixed;bottom:0;left:0;right:0;z-index:20;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:white;border-top:1px solid #e7e8ea;box-shadow:0 -3px 12px #00000008;grid-template-columns:46px minmax(0,1fr) minmax(0,1fr)}
 .product-order-actions button{min-height:46px;font-size:14px}
 body:has(.product-detail-page){padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 #route-detail.product-detail-page .product-purchase-note{text-align:left;margin:0;font-size:12px}
 .product-detail-nav{margin-top:25px;margin-bottom:25px;gap:0;justify-content:space-between}.product-detail-nav a{min-height:49px;font-size:13px;padding:0 7px}
 #route-detail.product-detail-page h2{font-size:19px}.product-section-heading{margin-bottom:15px}
 .product-specification>div{grid-template-columns:145px minmax(0,1fr);font-size:13px}.product-specification dt,.product-specification dd{padding:12px 13px}
 .product-shipping-grid{grid-template-columns:1fr;gap:19px}.product-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
 .product-related-grid .product-image{--photo-height:190px}.product-inquiry-contact{padding:16px;gap:10px 14px}
}
@media(max-width:400px) and (pointer:coarse){
 .product-specification>div{grid-template-columns:112px minmax(0,1fr)}.product-specification dt,.product-specification dd{padding:11px;font-size:12px}
 .product-member-price{gap:7px 16px}.product-member-price .member-price-notice{font-size:16px}
 .product-related-grid .product-image{--photo-height:155px}.product-related-grid .product h3{font-size:13px}
}
