body{background:#080808;color:#f5f5f5}.detail-main{padding:28px 0 65px;min-height:70vh}.detail-breadcrumb{color:#aaa;font-size:13px;display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 26px}.detail-breadcrumb a:hover{color:var(--orange)}.detail-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:34px;align-items:start}.detail-photo-box{position:relative;border:1px solid #333;border-radius:16px;background:#fff;overflow:hidden;min-height:330px;display:grid;place-items:center}.detail-photo-box img{width:100%;height:420px;object-fit:contain;display:block}.detail-badge{position:absolute;top:18px;left:18px;background:#e54834;color:white;border-radius:6px;padding:8px 12px;font-weight:800;font-size:13px}.detail-thumbnails{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.detail-thumb{width:82px;height:72px;border-radius:9px;border:2px solid #444;background:white;padding:4px;overflow:hidden}.detail-thumb.selected{border-color:var(--orange)}.detail-thumb img{width:100%;height:100%;object-fit:contain}.detail-info{background:#111315;border:1px solid #303237;border-radius:16px;padding:27px}.detail-brand{font-size:12px;color:var(--orange);font-weight:700;letter-spacing:1.6px;text-transform:uppercase}.detail-info h1{font-size:clamp(26px,3vw,38px);line-height:1.2;margin:10px 0}.detail-rating{color:#ff8a25;margin-bottom:15px}.detail-rating small{color:#aaa}.detail-price{font-size:35px;font-weight:850;color:var(--orange)}.detail-old{color:#aaa;text-decoration:line-through;font-size:19px;margin-left:12px}.detail-stock{font-size:13px;margin:17px 0;color:#89d5a4}.detail-stock.out{color:#f09b9b}.detail-description{color:#c8c8c8;line-height:1.7;font-size:14px}.detail-actions{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;margin:24px 0}.detail-qty{display:flex;align-items:center;border:1px solid #444;border-radius:8px;overflow:hidden;height:48px}.detail-qty button{width:38px;height:100%;border:0;background:#242424;color:white;font-size:23px}.detail-qty input{width:42px;text-align:center;border:0;background:#111;color:white;appearance:textfield}.detail-buy{border:0;background:var(--orange);color:white;padding:0 25px;border-radius:8px;font-weight:800;min-height:48px;display:flex;gap:10px;align-items:center;justify-content:center}.detail-buy svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8}.detail-buy:disabled{opacity:.45;cursor:not-allowed}.detail-like{border:1px solid #555;background:#202020;color:white;border-radius:8px;width:50px;font-size:29px}.detail-like.liked{color:var(--orange)}.detail-notice{font-size:12px;color:#999}.detail-specs{margin-top:24px;border-top:1px solid #333;padding-top:18px}.detail-specs h2{font-size:19px;margin:0 0 15px}.spec-row{display:grid;grid-template-columns:40% 60%;border-bottom:1px solid #2b2b2b;padding:12px 0;font-size:13px;gap:12px}.spec-row span:first-child{color:#a7a7a7}.detail-empty{text-align:center;padding:75px 20px}.detail-empty a{color:var(--orange)}.related-section{margin-top:70px}.related-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.related-heading h2{font-size:23px;margin:0}.related-heading a{color:var(--orange);font-size:13px}.related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.related-grid .product-card{min-width:0}.detail-cart-open{position:fixed;right:22px;bottom:22px;z-index:100;background:#ff5100;color:#fff;border:0;border-radius:12px;padding:12px 18px;box-shadow:0 7px 25px #0009}.detail-cart-open[hidden]{display:none}.detail-main .product-card{cursor:pointer}.detail-main .product-card:focus-visible{outline:2px solid var(--orange)}@media(max-width:850px){.detail-layout{grid-template-columns:1fr}.detail-photo-box img{height:330px}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.detail-main{padding-top:14px}.detail-info{padding:18px}.detail-photo-box{min-height:260px}.detail-photo-box img{height:270px}.related-grid{gap:10px}.related-heading h2{font-size:17px}}
/* V9: customer star ratings (local demo) */
.detail-rating .rating-overview{font-size:19px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.detail-rating .rating-overview small{font-size:12px}.rating-interaction{margin:12px 0 18px;padding:14px;border:1px solid #353535;border-radius:11px;background:#1b1b1b;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.rating-interaction>span{color:#eee;font-size:13px}.rating-interaction small{color:#aaa;font-size:11px;flex-basis:100%}.rate-stars{display:flex;gap:3px}.rate-star{font-size:29px;line-height:1;border:0;background:none;color:#666;padding:2px;cursor:pointer;transition:color .12s,transform .12s}.rate-star.selected,.rate-star:hover,.rate-star:focus-visible{color:#ff9a30}.rate-star:hover{transform:scale(1.12)}.rate-star:focus-visible{outline:2px solid #ff9a30;outline-offset:2px}

/* V19.6: constrain portrait photos without cropping; gallery/lightbox remain intact */
.detail-layout .detail-photo-box{height:clamp(330px,36vw,540px);min-height:0;display:block;overflow:hidden}
.detail-layout .detail-photo-box .v10-main-image{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;overflow:hidden}
.detail-layout .detail-photo-box .v10-main-image img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
@media(max-width:850px){.detail-layout .detail-photo-box{height:clamp(300px,75vw,460px)}}
@media(max-width:500px){.detail-layout .detail-photo-box{height:300px}}

/* V24.1: Hide browser native number spinners; use custom +/- controls. */
#qty::-webkit-inner-spin-button,#qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#qty{-moz-appearance:textfield;appearance:textfield}
