/* Product purchase page, scoped to keep shared catalogue pages unchanged. */
.product-page { background:#f6f6f6; }
.product-page [hidden] { display:none!important; }
.product-page .site-header { position:relative; }
.product-page .breadcrumb { padding:18px 0; flex-wrap:nowrap; font-size:12px; }
.product-page #breadcrumbName { overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:60%; }
.product-page .breadcrumb svg { flex:none; }
.product-page .product-detail { grid-template-columns:minmax(0, 1fr) minmax(0, 1.15fr);gap:44px;background:#fff;border:1px solid #eee;border-radius:16px;padding:28px;align-items:start; }
.product-page .pd-gallery { position:sticky;top:24px;min-width:0; }
.main-photo { width:100%;aspect-ratio:1;position:relative;display:block;background:#fafafa;border:1px solid #eee;border-radius:12px;overflow:hidden;cursor:zoom-in; }
.main-photo img { width:100%;height:100%;object-fit:contain; }
.zoom-hint { position:absolute;bottom:14px;right:14px;border-radius:20px;padding:5px 10px;color:#555;background:rgba(255,255,255,.92);font-size:11px;border:1px solid #eee; }
.gallery-controls { display:flex;align-items:center;gap:8px;margin-top:16px; }
.gallery-controls>button { width:24px;flex:none;color:#777;font-size:26px;height:60px;border:0;background:transparent;cursor:pointer; }
.gallery-controls>button:disabled { opacity:.3;cursor:default; }
.gallery-thumbs { display:flex;gap:9px;overflow-x:auto;scrollbar-width:thin;flex:1;padding:2px; }
.gallery-thumb { width:64px;height:64px;flex:none;border:1px solid #e6e6e6;border-radius:7px;overflow:hidden;padding:3px;background:#fff;cursor:pointer; }
.gallery-thumb.active { border:2px solid #ee3d30;padding:2px; }
.gallery-thumb img { width:100%;height:100%;object-fit:contain; }
.gallery-caption { margin:12px 0;display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#999; }
.purchase-info { min-width:0;scroll-margin-top:20px; }
.seller-line { display:flex;align-items:center;gap:9px;font-size:13px;margin-bottom:18px; }
.seller-avatar { display:grid;place-items:center;background:#fff0ec;color:#df382a;width:28px;height:28px;border-radius:8px;font-weight:700; }
.seller-line>span:last-child { margin-left:auto;font-size:12px;color:#999; }
.purchase-info h1 { font-size:23px;line-height:1.55;letter-spacing:-.4px;margin:0 0 6px;font-weight:700; }
.purchase-subtitle { font-size:12px;color:#999;margin:0 0 18px; }
.purchase-price { display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;background:linear-gradient(110deg,#fff1eb,#fff7f4);border-radius:10px;margin-bottom:14px; }
.price-label { color:#a65f50;font-size:12px;margin-right:16px; }
.price-number { color:#ea3b2c;font-size:38px;line-height:1.3;font-weight:750;letter-spacing:-1px; }
.price-number small { font-size:21px;margin-right:3px; }
.price-unit { color:#a56d60;font-size:12px; }
.price-caption { color:#ba8271;font-size:11px; }
.purchase-row { display:flex;gap:16px;align-items:baseline;padding:10px 0;font-size:13px;line-height:1.8; }
.row-label { width:48px;flex:none;color:#888;font-size:12px; }
.purchase-row>div { min-width:0; }
.purchase-row small { display:block;color:#999;font-size:11px; }
.product-page .muted { color:#999;font-size:12px; }
.row-divider { color:#ddd;margin:0 16px; }
.sku-area { padding:18px 0 10px;margin-top:6px;border-top:1px solid #eee;border-bottom:1px solid #eee; }
.sku-heading { font-size:14px;font-weight:650;margin-bottom:4px; }
.sku-heading span { color:#999;font-size:11px;font-weight:400;margin-left:10px; }
.option-row { align-items:center; }
.option-values { display:flex;gap:8px;flex-wrap:wrap; }
.sku-chip { padding:8px 15px;border:1px solid #ddd;background:#fff;border-radius:5px;cursor:pointer;font-size:13px;line-height:1.6;text-align:left; }
.sku-chip.selected { color:#df382a;border-color:#ea3d30;background:#fff6f3;box-shadow:inset 0 0 0 .5px #ea3d30; }
.sku-select { min-width:190px;max-width:100%;border:1px solid #eb3e30;border-radius:5px;padding:10px 34px 10px 12px;background:#fff8f5;color:#bb3027;font-size:13px;cursor:pointer; }
.selection-note { font-size:11px;color:#999;margin:8px 0 0 64px;line-height:1.8; }
.quantity-row { align-items:center;padding-top:20px; }
.quantity-control { display:flex;height:36px;border:1px solid #ddd;border-radius:5px;overflow:hidden;flex:none; }
.quantity-control button { width:32px;border:0;background:#fafafa;color:#555;cursor:pointer;font-size:16px; }
.quantity-control button:disabled { color:#ccc;cursor:default; }
.quantity-control input { width:44px;border:0;border-left:1px solid #eee;border-right:1px solid #eee;text-align:center;outline:none;font-size:13px;border-radius:0;appearance:textfield;-moz-appearance:textfield; }
.quantity-control input::-webkit-inner-spin-button { -webkit-appearance:none; }
.stock-note { font-size:11px;color:#999; }
.purchase-sum { margin:5px 0 12px 64px;font-size:12px;color:#999; }
.purchase-sum strong { margin-left:8px;color:#444;font-size:16px; }
.purchase-actions { display:flex;gap:12px;padding-top:6px; }
.purchase-actions button { border:1px solid #ed3d2d;border-radius:7px;font-weight:650;cursor:pointer;height:48px;font-size:16px;flex:1; }
#addCart { color:#de392c;background:#fff0e9; }
#buyNow { color:#fff;background:#ee3d2d; }
.purchase-actions button:disabled { opacity:.45;cursor:not-allowed; }
.mobile-shop { display:none; }
.payment-note { color:#999;font-size:11px;margin-top:12px;line-height:1.8; }
.product-lower { display:grid;grid-template-columns:210px minmax(0,1fr);gap:20px;margin-top:24px;align-items:start; }
.product-sidebar { position:sticky;top:80px; }
.sidebar-shop { background:#fff;border:1px solid #eee;border-radius:10px;padding:23px 18px; }
.sidebar-kicker { color:#aaa;font-size:11px;letter-spacing:2px; }
.sidebar-shop h3 { font-size:18px;margin:12px 0; }
.sidebar-shop p { font-size:12px;line-height:1.9;color:#888;margin-bottom:18px; }
.sidebar-shop .btn { width:100%;font-size:12px; }
.sidebar-shop dl { padding-top:20px;margin-top:20px;border-top:1px solid #eee;font-size:12px; }
.sidebar-shop dt { color:#999;margin-bottom:6px; }
.sidebar-shop dd { margin:0;word-break:break-all; }
.license-link { display:block;color:#888;font-size:11px;margin-top:18px; }
.product-content { min-width:0;background:#fff;border:1px solid #eee;border-radius:10px; }
.detail-nav { display:flex;align-items:stretch;position:sticky;top:0;z-index:30;background:rgba(255,255,255,.98);border-bottom:1px solid #eee;border-radius:10px 10px 0 0; }
.detail-nav a { padding:20px 23px;font-size:14px;font-weight:600;white-space:nowrap;border-bottom:2px solid transparent; }
.detail-nav a.active { color:#e33b2c;border-bottom-color:#ed3d30; }
.detail-nav button { margin-left:auto;background:transparent;border:0;color:#999;font-size:12px;padding:0 20px;cursor:pointer; }
.detail-section { padding:28px;scroll-margin-top:70px;border-bottom:1px solid #f1f1f1; }
.detail-section h2 { font-size:17px;margin:0 0 24px;display:flex;align-items:center;gap:12px; }
.detail-section h2::before { content:'';width:3px;height:16px;border-radius:3px;background:#ee3e2f; }
.detail-section h2 span { margin-left:auto;font-size:11px;color:#aaa;font-weight:400; }
#productDesc { font-size:13px;line-height:2;color:#777;overflow-wrap:anywhere; }
#productDesc h3 { font-size:14px;color:#444;margin:16px 0 8px; }
#productDetailImages { max-width:790px;margin:24px auto 0; }
#productDetailImages img { width:100%;height:auto;display:block;margin:0 auto 12px; }
.parameters { display:grid;grid-template-columns:1fr 1fr;border:1px solid #eee;border-bottom:0; }
.parameters>div { display:flex;background:#fafafa;min-width:0;border-bottom:1px solid #eee;font-size:12px;line-height:1.7; }
.parameters dt { width:100px;flex:none;color:#999;padding:12px; }
.parameters dd { flex:1;background:#fff;color:#555;padding:12px;margin:0;overflow-wrap:anywhere; }
.service-copy { color:#777;font-size:13px;line-height:2; }
.service-copy p { margin-bottom:18px; }
.service-copy strong { display:block;color:#444;margin-bottom:5px;font-size:14px; }
.image-viewer { border:0;border-radius:10px;width:min(900px,92vw);max-height:92vh;padding:30px;background:#fff; }
.image-viewer::backdrop { background:rgba(0,0,0,.7); }
.image-viewer img { display:block;max-width:100%;height:auto;margin:auto; }
#closeViewer { position:sticky;top:0;float:right;border:1px solid #ddd;border-radius:50%;background:#fff;color:#555;font-size:26px;width:36px;height:36px;cursor:pointer;z-index:2; }
.purchase-empty,.purchase-loading { grid-column:1/-1;text-align:center;padding:100px 20px; }
.purchase-empty h1 { font-size:20px;margin-bottom:20px; }
.product-page button:focus-visible,.product-page a:focus-visible,.product-page select:focus-visible,.product-page input:focus-visible { outline:2px solid #ed3d30;outline-offset:3px; }
@media(min-width:1400px) { .product-page .container { max-width:1240px; } }
@media(max-width:1050px) { .product-page .product-detail { gap:25px;padding:22px; } .purchase-info h1 { font-size:20px; } .price-caption { display:none; } .product-lower { grid-template-columns:175px minmax(0,1fr);gap:14px; } .detail-nav a { padding:18px 15px; } .parameters { grid-template-columns:1fr; } }
@media(max-width:760px) {
 .product-page { padding-bottom:72px; }
 .product-page .container { padding-left:12px;padding-right:12px; }
 .product-page .top-bar { display:none; }
 .product-page .header-main { display:flex;flex-wrap:wrap;gap:12px;padding:12px 0; }
 .product-page .logo { flex:1; }
 .product-page .logo-text { font-size:20px; }
 .product-page .header-actions { margin-left:auto;gap:12px; }
 .product-page .search-box { order:3;flex:0 0 100%;max-width:none;width:100%; }
 .product-page .breadcrumb { padding:14px 0; }
 .product-page .product-detail { display:block;padding:14px; border-radius:10px; }
 .product-page .pd-gallery { position:static; }
 .gallery-thumb { width:54px;height:54px; }
 .gallery-caption { font-size:10px;margin-bottom:22px; }
 .purchase-info h1 { font-size:19px;line-height:1.6; }
 .seller-line { margin-bottom:14px; }
 .purchase-price { padding:16px; }
 .price-number { font-size:34px; }
 .purchase-row { gap:10px; }
 .row-label { width:42px; }
 .selection-note,.purchase-sum { margin-left:52px; }
 .purchase-actions { position:fixed;bottom:0;left:0;right:0;z-index:50;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.98);border-top:1px solid #eee;gap:8px; }
 .purchase-actions button { height:44px;font-size:14px; }
 .mobile-shop { display:flex;width:42px;align-items:center;justify-content:center;font-size:12px; }
 .payment-note { font-size:10px; }
 .product-lower { display:block;margin-top:14px; }
 .product-sidebar { display:none; }
 .detail-nav { top:0;overflow-x:auto;scrollbar-width:none;border-radius:10px 10px 0 0; }
 .detail-nav a { padding:16px 13px;font-size:12px;flex:1;text-align:center; }
 .detail-nav button { display:none; }
 .detail-section { padding:20px 14px;scroll-margin-top:58px; }
 .detail-section h2 { font-size:16px; }
 .detail-section h2 span { font-size:10px; }
 #productDesc { font-size:12px; }
 #productDetailImages { margin-top:18px; }
 .parameters dt { width:90px; }
 .image-viewer { padding:12px;width:96vw; }
}
/* Concise overview; complete attributes and merchant terms have their own sections. */
.intro-overview { border:1px solid #eee;border-radius:10px;padding:22px;background:#fdfcfb; }
#productDesc .intro-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px; }
#productDesc .intro-heading h3 { font-size:15px;margin:0; }
.intro-heading a { font-size:11px;color:#a08b80;white-space:nowrap; }
.intro-facts { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px; }
.intro-fact { min-width:0; }
.intro-fact dt { font-size:11px;color:#999;margin-bottom:6px; }
.intro-fact dd { font-size:16px;font-weight:600;line-height:1.6;color:#3c3632;margin:0;overflow-wrap:anywhere; }
.intro-selection { display:flex;flex-wrap:wrap;align-items:baseline;column-gap:14px;row-gap:4px;border-top:1px solid #eee;margin-top:20px;padding-top:16px; }
.intro-selection>span { font-size:11px;color:#999; }
.intro-selection strong { font-size:12px;color:#555;font-weight:500; }
.intro-selection small { font-size:11px;color:#999; }
#productDesc .intro-tip { font-size:11px;color:#999;line-height:1.8;margin:12px 0 0; }
.intro-prose { margin-top:20px; }
#productDesc ul { list-style:disc;padding-left:20px; }
#productRetailTerms h3 { color:#444;font-size:14px;margin:0 0 8px; }
#productRetailTerms ul { list-style:disc;padding-left:20px;margin-bottom:18px; }
@media(max-width:1050px) { .intro-facts { grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; } }
@media(max-width:760px) { .intro-overview { padding:16px; } .intro-fact dd { font-size:15px; } .intro-heading a { font-size:10px; } .intro-selection { margin-top:16px;padding-top:14px; } .intro-selection strong { flex:1 1 calc(100% - 70px); } .intro-selection small { width:100%; } }
