/* ADIS marketplace components, shared by desktop, tablet and phone. */
.mp-grid,.mp-product-page { --mp-surface:#111722; --mp-border:#2b3340; --mp-muted:#a5b0c1; --mp-gold:#f1ce63; }
.mp-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.mp-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; color:#f6f7f9; background:var(--mp-surface); border:1px solid var(--mp-border); border-radius:16px; text-decoration:none; transition:transform .18s,border-color .18s; }
.mp-card:hover { transform:translateY(-3px); border-color:#b69b4c; }
.mp-card:focus-visible { outline:3px solid var(--mp-gold); outline-offset:4px; }
.mp-card-image { position:relative; aspect-ratio:1/1.06; overflow:hidden; background:#25282d; }
.mp-card-image img { display:block; width:100%; height:100%; object-fit:cover; }
.mp-card-tag { position:absolute; left:12px; top:12px; padding:6px 8px; border-radius:6px; color:#f6d673; background:#10141de8; font-size:9px; letter-spacing:1px; font-weight:700; }
.mp-card-stock { position:absolute; inset:auto 0 0; padding:8px; text-align:center; font-size:12px; color:#fff; background:#641e29ec; }
.mp-card-body { display:flex; flex:1; flex-direction:column; padding:17px; gap:8px; }
.mp-card-category { color:var(--mp-muted); font-size:10px; letter-spacing:1px; text-transform:uppercase; }
.mp-card h3 { margin:0; font-size:16px; line-height:1.45; font-weight:650; color:#f8f9fb; overflow-wrap:anywhere; }
.mp-card-price { display:block; margin-top:auto; padding-top:5px; font-size:20px; line-height:1.4; color:var(--mp-gold); }
.mp-card-social { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:5px 10px; margin-top:4px; padding-top:10px; border-top:1px solid #ffffff0b; color:#b7c0ce; font-size:11px; line-height:1.5; }
.mp-star,.mp-stars { color:#f1ce63; }
.mp-muted { color:#a5b0c1; }
.mp-product-page { padding:24px 0 64px; background:#0b1018; color:#f4f6fa; }
.mp-crumbs { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; color:#94a0b1; font-size:12px; line-height:1.7; }
.mp-crumbs a { color:#bcc5d1; text-decoration:none; }
.mp-crumbs [aria-current] { color:#f0d176; }
.mp-product-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:40px; align-items:start; background:#111722; border:1px solid var(--mp-border); border-radius:22px; padding:24px; }
.mp-gallery { min-width:0; }
.mp-main-image { position:relative; display:grid; place-items:center; aspect-ratio:1/1; overflow:hidden; border-radius:14px; background:#22262d; }
.mp-main-image > img { width:100%; height:100%; object-fit:contain; display:block; }
.mp-gallery-label { position:absolute; left:16px; bottom:16px; border:1px solid #ffffff2b; border-radius:7px; padding:7px 10px; background:#111722e8; color:#e6c86e; letter-spacing:1.5px; font-size:10px; }
.mp-product-info { min-width:0; padding:8px 4px 4px 0; }
.mp-eyebrow { margin:0 0 10px; color:#d9bb67; font-size:10px; letter-spacing:1.8px; font-weight:700; text-transform:uppercase; }
.mp-product-info h1 { margin:0 0 18px; color:#f5f7fa; font-size:clamp(28px,3vw,38px); line-height:1.18; letter-spacing:-.8px; overflow-wrap:anywhere; }
.mp-product-social { display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; margin-bottom:22px; font-size:12px; color:#aeb8c6; }
.mp-product-social a { color:inherit; text-decoration:none; }
.mp-product-social strong { color:#f3f5f8; font-size:14px; }
.mp-product-social > * + * { padding-left:18px; border-left:1px solid #3b4350; }
.mp-rating-link { display:flex; align-items:center; gap:5px; }
.mp-rating-link .mp-star { font-size:18px; }
.mp-price-panel { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:20px; border-radius:13px; background:#f1ce630b; border:1px solid #f1ce6326; }
.mp-price-panel > strong { color:#f1ce63; font-size:34px; letter-spacing:-1px; line-height:1.2; }
.mp-price-panel > span { color:#b3bdca; font-size:11px; }
.mp-product-intro { color:#bbc4d1; font-size:14px; line-height:1.8; margin:20px 0; }
.mp-product-facts { display:grid; gap:14px; margin:22px 0; font-size:12px; line-height:1.7; }
.mp-product-facts > div { display:grid; grid-template-columns:125px minmax(0,1fr); gap:12px; }
.mp-product-facts dt { color:#939fb0; }
.mp-product-facts dd { margin:0; color:#d7dde6; }
.mp-product-facts dd.mp-in-stock { color:#b0d1b8; }
.mp-product-facts dd.mp-unavailable { color:#f1a5a5; }
.mp-quantity-row { display:flex; align-items:center; gap:22px; margin:24px 0 18px; font-size:13px; }
.mp-stepper { display:flex; border:1px solid #394353; border-radius:10px; overflow:hidden; }
.mp-stepper button { width:44px; height:44px; border:0; background:#1b2432; color:#ecf0f6; font:inherit; font-size:20px; cursor:pointer; }
.mp-stepper input { border:0; border-left:1px solid #394353; border-right:1px solid #394353; border-radius:0; width:64px; min-width:0; padding:8px 3px; background:#0d131e; color:#f6f7f9; text-align:center; font:inherit; font-size:16px; appearance:textfield; -moz-appearance:textfield; }
.mp-stepper input::-webkit-inner-spin-button,.mp-stepper input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.mp-stepper button:disabled { opacity:.4; cursor:default; }
.mp-purchase-buttons { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.mp-button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:12px 24px; border-radius:11px; border:1px solid transparent; font:inherit; font-size:14px; font-weight:700; line-height:1.4; cursor:pointer; text-decoration:none; }
.mp-button-primary { background:#f1ce63; color:#17150e; border-color:#f1ce63; }
.mp-button-primary:hover { background:#ffdc73; }
.mp-button-outline { background:#f1ce6308; border-color:#af9450; color:#f1d277; }
.mp-button-outline:hover { background:#f1ce6315; }
.mp-button:disabled { opacity:.45; cursor:not-allowed; }
.mp-product-page :is(a,button,input,textarea,summary):focus-visible { outline:2px solid #f1ce63; outline-offset:3px; }
.mp-purchase-note { color:#8f9aac; margin:15px 0 0; font-size:10px; line-height:1.7; }
.mp-section { padding:28px; margin-top:24px; background:#111722; border:1px solid #2b3340; border-radius:20px; }
.mp-section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.mp-section-heading h2 { color:#f1f4f8; margin:0; font-size:23px; line-height:1.35; letter-spacing:-.4px; }
.mp-section-heading h2 > span { font-size:16px; font-weight:400; color:#95a2b4; }
.mp-description > p { color:#bbc4d1; font-size:14px; line-height:1.9; margin:0 0 24px; overflow-wrap:anywhere; }
.mp-specifications { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:0; padding-top:20px; border-top:1px solid #2b3340; }
.mp-specifications dt { color:#8e9bad; font-size:11px; margin-bottom:7px; }
.mp-specifications dd { margin:0; font-size:13px; color:#dce2eb; }
.mp-reviews { scroll-margin-top:90px; }
.mp-verified-label { display:inline-block; padding:5px 9px; border-radius:6px; border:1px solid #334c3c; color:#b1d2bb; background:#a0d2b007; font-size:10px; white-space:nowrap; }
.mp-review-overview { display:grid; grid-template-columns:180px minmax(170px,1fr) minmax(200px,.85fr); gap:28px; padding:24px; border:1px solid #42412f; border-radius:14px; background:#f1ce6305; align-items:center; }
.mp-rating-score { display:flex; flex-direction:column; gap:10px; }
.mp-rating-score > strong { color:#f1ce63; font-size:44px; line-height:1.2; font-weight:600; }
.mp-rating-score small { font-size:17px; color:#9ca8b9; font-weight:400; }
.mp-rating-score > span:last-child { font-size:12px; color:#a5b0c1; }
.mp-rating-score .mp-stars { font-size:20px; letter-spacing:2px; }
.mp-rating-bars { display:grid; gap:9px; }
.mp-rating-bar { display:grid; grid-template-columns:30px 1fr 24px; align-items:center; gap:10px; color:#bec8d6; text-decoration:none; font-size:12px; min-height:20px; }
.mp-rating-bar > span:last-child { text-align:right; color:#8e9bad; }
.mp-bar-track { display:block; height:6px; border-radius:10px; overflow:hidden; background:#303643; }
.mp-bar-track > span { display:block; height:100%; background:#edc95c; border-radius:10px; }
.mp-review-guidance { padding-left:24px; border-left:1px solid #3b3e3c; }
.mp-review-guidance strong { font-size:13px; color:#dce1e9; }
.mp-review-guidance p { margin:9px 0 0; color:#96a3b5; font-size:12px; line-height:1.8; }
.mp-review-notice { padding:16px 0 0; margin:0; color:#9fabbc; font-size:12px; line-height:1.7; }
.mp-review-notice a { color:#f1ce63; }
.mp-review-editor { border:1px solid #3a4352; border-radius:12px; margin-top:22px; }
.mp-review-editor summary { padding:16px 18px; cursor:pointer; font-size:14px; font-weight:600; color:#f2d47c; }
.mp-review-editor summary > span { float:right; }
.mp-review-editor[open] summary { border-bottom:1px solid #2b3340; }
.mp-review-editor > form { padding:20px; }
.mp-rating-input { display:flex; flex-wrap:wrap; gap:10px; padding:0; border:0; margin:0 0 20px; }
.mp-rating-input legend { padding:0; margin:0 0 12px; font-size:13px; color:#c5cdd9; }
.mp-rating-input label { position:relative; cursor:pointer; }
.mp-rating-input input { position:absolute; opacity:0; width:1px; height:1px; }
.mp-rating-input label > span { display:flex; align-items:center; justify-content:center; min-width:57px; min-height:44px; padding:10px; border:1px solid #3a4352; border-radius:8px; color:#bac4d2; font-size:14px; }
.mp-rating-input input:checked + span { border-color:#f1ce63; background:#f1ce631a; color:#f1ce63; }
.mp-rating-input input:focus-visible + span { outline:2px solid #f1ce63; outline-offset:3px; }
.mp-feedback-label { display:block; font-size:13px; color:#c5cdd9; margin-bottom:10px; }
.mp-review-editor textarea { display:block; width:100%; resize:vertical; min-height:130px; border:1px solid #3a4352; border-radius:10px; padding:14px; color:#f3f5f8; background:#0d131d; font:inherit; font-size:14px; line-height:1.7; }
.mp-field-note { margin:8px 0 18px; font-size:11px; color:#94a0b2; }
.mp-delete-review { margin-top:12px; }
.mp-delete-review button { border:0; background:transparent; color:#c6a5a8; padding:10px 0; font:inherit; font-size:12px; cursor:pointer; }
.mp-review-filters { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 10px; }
.mp-review-filters a { display:inline-flex; align-items:center; min-height:40px; padding:9px 14px; border:1px solid #343d4b; border-radius:9px; color:#b4becc; font-size:12px; text-decoration:none; }
.mp-review-filters a[aria-current] { color:#f3d37a; border-color:#a78e4a; background:#f1ce630b; }
.mp-review { display:flex; gap:16px; padding:24px 0; border-bottom:1px solid #2b3340; }
.mp-review-avatar { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#252e3b; color:#d4dce7; flex-shrink:0; font-size:15px; }
.mp-review-copy { min-width:0; flex:1; }
.mp-review-author { display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:13px; }
.mp-review-meta { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:8px; font-size:11px; color:#8e9aac; }
.mp-review-copy > p { margin:13px 0 0; color:#c4cdd9; font-size:14px; line-height:1.8; overflow-wrap:anywhere; }
.mp-review-empty { text-align:center; padding:36px 20px; }
.mp-review-empty > span { font-size:40px; color:#a79767; }
.mp-review-empty h3 { font-size:16px; font-weight:600; margin:12px 0 8px; color:#dce3ed; }
.mp-review-empty p { max-width:430px; margin:0 auto; color:#94a0b2; font-size:12px; line-height:1.8; }
.mp-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:18px; padding-top:24px; font-size:12px; color:#a9b4c4; }
.mp-pagination a { padding:12px; color:#f0d179; }
.mp-related { margin-top:40px; }
.mp-text-link { color:#edcc6c; font-size:13px; text-decoration:none; white-space:nowrap; }
@media(max-width:1100px) {
 .mp-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
 .mp-product-hero { gap:24px; padding:20px; }
 .mp-review-overview { grid-template-columns:150px 1fr; gap:24px; }
 .mp-review-guidance { grid-column:1/-1; padding:14px 0 0; border-left:0; border-top:1px solid #3b3e3c; }
}
@media(max-width:820px) {
 .mp-product-hero { grid-template-columns:1fr; }
 .mp-gallery { max-width:520px; width:100%; margin:0 auto; }
 .mp-product-info { padding:4px 0 0; }
 .mp-product-social { gap:10px 14px; }
 .mp-product-social > * + * { padding-left:14px; }
 .mp-card-body { padding:14px; }
}
@media(max-width:600px) {
 .mp-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .mp-card { border-radius:12px; }
 .mp-card-body { padding:12px; gap:6px; }
 .mp-card h3 { font-size:14px; }
 .mp-card-price { font-size:17px; padding-top:3px; }
 .mp-card-category { font-size:9px; letter-spacing:.5px; }
 .mp-card-social { font-size:10px; gap:4px 8px; padding-top:8px; }
 .mp-card-tag { top:8px; left:8px; padding:5px 6px; font-size:8px; letter-spacing:.6px; }
 .mp-product-page { padding:18px 0 40px; }
 .mp-product-page > .container { width:calc(100% - 24px); }
 .mp-crumbs { gap:7px; font-size:11px; margin-bottom:16px; }
 .mp-product-hero { padding:12px; border-radius:16px; gap:22px; }
 .mp-product-info { padding:0 4px 6px; }
 .mp-product-info h1 { font-size:28px; margin-bottom:15px; }
 .mp-product-social { font-size:11px; gap:8px 10px; }
 .mp-product-social > * + * { padding-left:10px; }
 .mp-product-social strong { font-size:12px; }
 .mp-price-panel { padding:16px; }
 .mp-price-panel > strong { font-size:29px; }
 .mp-product-intro { font-size:13px; line-height:1.8; margin:18px 0; }
 .mp-product-facts { font-size:11px; gap:12px; margin:18px 0; }
 .mp-product-facts > div { grid-template-columns:105px 1fr; gap:10px; }
 .mp-purchase-buttons { gap:10px; }
 .mp-button { padding:12px 14px; font-size:13px; min-height:48px; }
 .mp-purchase-note { font-size:10px; }
 .mp-section { padding:18px; margin-top:16px; border-radius:16px; }
 .mp-section-heading { align-items:flex-start; gap:12px; flex-wrap:wrap; margin-bottom:18px; }
 .mp-section-heading h2 { font-size:20px; }
 .mp-eyebrow { font-size:9px; margin-bottom:8px; }
 .mp-description > p { font-size:13px; }
 .mp-specifications { gap:12px; }
 .mp-specifications dd { font-size:12px; }
 .mp-review-overview { padding:16px; grid-template-columns:100px minmax(0,1fr); gap:18px; }
 .mp-rating-score > strong { font-size:34px; }
 .mp-rating-score small { font-size:13px; }
 .mp-rating-score .mp-stars { font-size:16px; letter-spacing:0; }
 .mp-rating-score > span:last-child { font-size:10px; }
 .mp-rating-bar { gap:6px; grid-template-columns:24px 1fr 14px; font-size:10px; min-height:24px; }
 .mp-review-guidance strong { font-size:12px; }
 .mp-review-guidance p { font-size:11px; }
 .mp-review-filters { gap:7px; }
 .mp-review-filters a { padding:9px 12px; font-size:11px; min-height:44px; }
 .mp-review-editor > form { padding:14px; }
 .mp-rating-input { gap:7px; }
 .mp-rating-input label > span { min-width:40px; padding:8px; font-size:12px; }
 .mp-review-editor textarea { font-size:16px; }
 .mp-review { gap:12px; padding:20px 0; }
 .mp-review-copy > p { font-size:13px; }
 .mp-review-author { gap:7px; }
 .mp-review-avatar { width:34px; height:34px; }
 .mp-review-empty { padding:26px 0; }
 .mp-review-empty h3 { font-size:14px; }
 .mp-related { margin-top:28px; }
}
@media(prefers-reduced-motion:reduce) { .mp-card { transition:none; } .mp-card:hover { transform:none; } }

/* Product shopping layout: image, buying details, and three adjacent actions. */
body.customer-body .mp-product-page > .container { width:calc(100% - 48px); max-width:1240px; }
.mp-product-page { background:#0c1017; padding-top:22px; }
.mp-crumbs { margin-bottom:20px; font-size:12px; }
.mp-product-hero { grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:36px; padding:28px; border-radius:16px; background:#141a24; border-color:#303743; box-shadow:0 12px 40px #00000012; }
.mp-gallery { align-self:start; }
.mp-main-image { border-radius:10px; background:#e9e8e4; border:1px solid #ffffff12; }
.mp-main-image > img { object-fit:contain; }
.mp-gallery-label { bottom:12px; left:12px; padding:7px 10px; border-radius:5px; }
.mp-product-info { padding:6px 0 0; }
.mp-product-info .mp-eyebrow { display:inline-block; padding:6px 9px; border:1px solid #f1ce6326; border-radius:5px; background:#f1ce6308; margin-bottom:12px; }
.mp-product-info h1 { font-size:34px; line-height:1.24; letter-spacing:-.7px; margin-bottom:16px; }
.mp-product-social { font-size:13px; margin-bottom:20px; gap:10px 16px; }
.mp-product-social strong { font-size:15px; }
.mp-product-social > * + * { padding-left:16px; }
.mp-price-panel { justify-content:flex-start; gap:16px; padding:20px 22px; background:linear-gradient(100deg,#f1ce6314,#f1ce6305); border:0; border-left:3px solid #e5c361; border-radius:7px; }
.mp-price-panel > strong { font-size:36px; font-weight:700; letter-spacing:-.8px; }
.mp-price-panel > span { font-size:12px; color:#aab5c6; }
.mp-product-intro { margin:18px 0; font-size:14px; line-height:1.75; color:#c0c9d6; }
.mp-product-facts { gap:13px; font-size:13px; line-height:1.6; margin:20px 0; }
.mp-product-facts > div { grid-template-columns:125px minmax(0,1fr); gap:16px; }
.mp-product-facts dt { color:#9ba8ba; }
.mp-product-facts dd.mp-in-stock { color:#bddbc7; }
.mp-purchase-form { padding-top:18px; margin-top:20px; border-top:1px solid #ffffff10; }
.mp-quantity-row { margin:0 0 20px; gap:24px; font-size:13px; }
.mp-stepper { border-radius:7px; }
.mp-purchase-buttons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; align-items:stretch; }
.mp-purchase-buttons .mp-button { min-width:0; min-height:54px; padding:12px 10px; gap:8px; font-size:13px; border-radius:8px; white-space:nowrap; text-align:center; transition:background .15s,border-color .15s; }
.mp-purchase-buttons .mp-button svg { width:19px; height:19px; flex:0 0 auto; }
.mp-purchase-buttons .mp-button-primary { background:#f3cf63; border-color:#f3cf63; box-shadow:0 3px 12px #f1ce6312; }
.mp-purchase-buttons .mp-button-primary:hover { background:#ffde83; border-color:#ffde83; }
.mp-purchase-buttons .mp-button-outline { background:#f1ce630b; border-color:#be9e49; color:#f4d47c; }
.mp-purchase-buttons .mp-button-tryon { background:#232d3d; border-color:#495973; color:#e5edf9; }
.mp-purchase-buttons .mp-button-tryon:hover { background:#2d3a4e; border-color:#7789a5; }
.mp-purchase-buttons [aria-disabled="true"] { opacity:.45; cursor:not-allowed; }
.mp-purchase-note { margin-top:14px; font-size:10px; line-height:1.7; max-width:510px; }
.mp-section-nav { display:flex; align-items:center; gap:28px; margin-top:24px; padding:0 22px; border:1px solid #303743; border-radius:10px; background:#161d28; }
.mp-section-nav a { min-height:54px; display:flex; align-items:center; gap:8px; padding:14px 0; color:#c5cedc; font-size:14px; font-weight:600; text-decoration:none; border-bottom:2px solid transparent; }
.mp-section-nav a:hover,.mp-section-nav a:focus-visible { color:#f3d174; border-bottom-color:#f3d174; }
.mp-section-nav a span { color:#8f9db1; font-size:12px; font-weight:400; }
.mp-section { margin-top:16px; border-radius:12px; border-color:#303743; background:#141a24; }
.mp-description { scroll-margin-top:90px; }
.mp-section-heading { margin-bottom:22px; }
.mp-section-heading h2 { font-size:23px; }
.mp-review-overview { border-radius:10px; background:#f1ce6306; border-color:#4c4735; }
.mp-review-empty { padding:30px 20px; }
.mp-related { margin-top:32px; }
.mp-card { border-radius:11px; border-color:#303743; box-shadow:0 4px 14px #00000010; }
.mp-card-image { aspect-ratio:1/1; }
.mp-card-body { padding:16px; gap:8px; }
.mp-card h3 { font-size:16px; font-weight:600; }
.mp-card-price { font-size:22px; }
.mp-card-social { font-size:12px; }
.mp-card-tag { border:1px solid #f1ce6320; border-radius:5px; }
@media(min-width:821px) and (max-width:1100px) {
 .mp-product-hero { gap:24px; padding:22px; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
 .mp-product-info h1 { font-size:30px; }
 .mp-purchase-buttons .mp-button { flex-direction:column; min-height:68px; font-size:12px; padding:10px 6px; gap:6px; }
 .mp-product-facts > div { grid-template-columns:110px minmax(0,1fr); gap:12px; }
}
@media(max-width:820px) {
 .mp-product-hero { grid-template-columns:1fr; gap:24px; padding:22px; }
 .mp-product-info { padding:0; }
 .mp-product-info h1 { font-size:30px; }
 .mp-gallery { max-width:500px; }
}
@media(max-width:600px) {
 body.customer-body .mp-product-page > .container { width:calc(100% - 24px); }
 .mp-product-page { padding-top:14px; padding-bottom:calc(110px + env(safe-area-inset-bottom)); }
 .mp-crumbs { font-size:11px; margin-bottom:14px; }
 .mp-product-hero { padding:12px; gap:20px; border-radius:12px; }
 .mp-main-image { border-radius:8px; }
 .mp-product-info { padding:0 3px 3px; }
 .mp-product-info .mp-eyebrow { font-size:9px; padding:5px 7px; margin-bottom:10px; }
 .mp-product-info h1 { font-size:27px; margin-bottom:14px; }
 .mp-product-social { gap:8px 10px; font-size:11px; margin-bottom:16px; }
 .mp-product-social strong { font-size:12px; }
 .mp-product-social > * + * { padding-left:10px; }
 .mp-price-panel { padding:16px; gap:12px; }
 .mp-price-panel > strong { font-size:30px; }
 .mp-price-panel > span { font-size:10px; }
 .mp-product-intro { font-size:13px; margin:16px 0; }
 .mp-product-facts { font-size:12px; gap:12px; margin:18px 0; }
 .mp-product-facts > div { grid-template-columns:104px minmax(0,1fr); gap:10px; }
 .mp-purchase-form { padding-top:16px; margin-top:18px; }
 .mp-quantity-row { margin:0; }
 .mp-purchase-buttons { position:fixed; inset:auto 0 0; z-index:140; padding:10px 12px max(10px,env(safe-area-inset-bottom)); gap:8px; background:rgba(16,22,31,.98); border-top:1px solid #3a4352; box-shadow:0 -6px 26px #0005; }
 .mp-purchase-buttons .mp-button { flex-direction:column; min-height:58px; padding:8px 5px; gap:5px; font-size:11px; line-height:1.2; border-radius:8px; }
 .mp-purchase-buttons .mp-button svg { width:18px; height:18px; }
 .mp-purchase-note { font-size:10px; margin-top:12px; }
 .mp-section-nav { gap:22px; padding:0 16px; margin-top:16px; border-radius:9px; }
 .mp-section-nav a { font-size:12px; min-height:48px; }
 .mp-section-nav a span { font-size:11px; }
 .mp-section { padding:18px; border-radius:11px; }
 .mp-section-heading h2 { font-size:20px; }
 .mp-card-body { padding:12px; gap:7px; }
 .mp-card h3 { font-size:14px; }
 .mp-card-price { font-size:18px; }
 .mp-card-social { font-size:10px; }
 body.customer-body:has(.mp-product-page) .inquiry-widget:not(.is-open) { bottom:calc(92px + env(safe-area-inset-bottom))!important; }
 body.customer-keyboard-active .mp-product-page:has(#mpFeedback:focus) .mp-purchase-buttons { display:none; }
}
@media(prefers-reduced-motion:reduce) { .mp-purchase-buttons .mp-button { transition:none; } }

/* Quantity is requested only after a purchase action is chosen. */
.mp-quantity-dialog:not([open]) { display:none; }
.mp-quantity-dialog { width:min(440px,calc(100% - 24px)); max-width:440px; max-height:calc(100dvh - 32px); margin:auto; padding:24px; overflow:auto; border:1px solid #445064; border-radius:18px; background:#151d29; color:#f3f5f9; box-shadow:0 24px 90px #0008; }
.mp-quantity-dialog::backdrop { background:#000a; }
.mp-quantity-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.mp-quantity-dialog-head h2 { font-size:22px; line-height:1.3; margin:0; }
.mp-quantity-close { flex:0 0 40px; width:40px; height:40px; border:1px solid #3c485b; border-radius:50%; color:#e3eaf5; background:#222e40; font:inherit; font-size:24px; cursor:pointer; }
.mp-quantity-product { display:flex; align-items:center; gap:14px; padding:14px; border-radius:11px; background:#0e1520; border:1px solid #2e3a4c; }
.mp-quantity-product img { width:68px; height:68px; border-radius:8px; object-fit:cover; flex-shrink:0; }
.mp-quantity-product strong { display:block; font-size:15px; line-height:1.5; }
.mp-quantity-product p { margin:5px 0 0; font-size:17px; color:#f1ce63; }
.mp-quantity-form .mp-quantity-row { margin:22px 0 12px; justify-content:space-between; gap:12px; }
.mp-quantity-stock { margin:0 0 22px; font-size:12px; color:#a9b6ca; }
.mp-quantity-dialog-actions { display:grid; grid-template-columns:.7fr 1.3fr; gap:10px; }
.mp-quantity-dialog-actions .mp-button { min-width:0; padding:12px 10px; font-size:13px; }
.mp-quantity-dialog :is(button,input):focus-visible { outline:2px solid #f1ce63; outline-offset:3px; }
@media(max-width:600px) {
 .mp-quantity-dialog { padding:20px; border-radius:18px; }
 .mp-quantity-dialog-head h2 { font-size:21px; }
 .mp-quantity-dialog-actions .mp-button { font-size:12px; min-height:48px; }
}

/* Shared size choices: Shop product and 3D Try-On use identical tiles. */
.mp-size-picker{margin:12px 0 17px;padding:0;border:0;min-width:0}
.mp-size-picker legend{padding:0;margin-bottom:10px;color:#d9e0ea;font-size:.83rem;font-weight:800}
.mp-size-required{color:#facc15;font-size:.73rem;font-weight:600;margin-left:6px}
.mp-size-pills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.mp-size-pill{position:relative;display:block;cursor:pointer;min-width:0}
.mp-size-pill input{position:absolute;opacity:0;width:1px;height:1px;top:50%;left:50%}
.mp-size-pill span{display:grid;place-items:center;min-height:45px;border:1px solid #39455b;border-radius:11px;color:#e5e7eb;background:#151b27;font-size:.93rem;font-weight:800;transition:border-color .15s,background .15s,color .15s}
.mp-size-pill input:checked + span{background:#facc15;border-color:#facc15;color:#121212;box-shadow:0 0 0 1px #facc15}
.mp-size-pill input:focus-visible + span{outline:3px solid #facc15;outline-offset:3px}
.mp-size-pill input:disabled + span{opacity:.45;cursor:not-allowed}
.mp-size-pill:hover input:not(:checked) + span{border-color:#facc15;color:#facc15}
@media(max-width:420px){.mp-size-pills{gap:6px}.mp-size-pill span{min-height:43px}}
