/* Shared responsive rules: retain the store identity without squeezing desktop panels. */
.page.active{min-width:0}
.detail-grid>* , .contact-grid>* , .form-grid>*{min-width:0}
.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,64px)}
.route-intro{max-width:1256px;margin:0 auto;padding:32px var(--page-gutter,32px) 0}
.route-intro h1{font:700 clamp(28px,3vw,40px)/1.12 var(--font-display);color:var(--white);margin:0 0 12px;text-wrap:balance}
.route-intro p{max-width:72ch;font-size:15px;line-height:1.6;color:var(--muted2)}
.route-intro details{margin-top:8px;max-width:72ch}
.route-intro summary{display:list-item;cursor:pointer;color:var(--gold);font-size:14px;padding:12px 0;min-height:44px}
.route-intro details p{padding-bottom:12px}
.back-btn{min-height:44px;margin-bottom:20px}
.qty-ctrl button,.detail-gallery-btn{min-width:44px;min-height:44px}
.detail-meta-row{flex-wrap:wrap}
.trade-estimator-row input[type=range]{min-width:0;width:100%}
.trade-estimator-row label{flex-shrink:0}
.product-card{min-width:0;display:flex;flex-direction:column}
.product-info{flex:1;display:flex;flex-direction:column}
.product-add{margin-top:auto}
.collector-compare:not(:has(td)){display:none}
.collector-compare caption{text-align:left;padding:12px 0}
.collector-compare{overscroll-behavior-x:contain}
/* Keep each grading number centered and beside its mobile step copy. */
#page-tag-grading .tag-step-num{display:grid;place-items:center;width:32px;height:32px;line-height:1;text-align:center;background:var(--red);color:#fff;font-size:15px}
#page-tag-grading .tag-step-title{font-size:16px;line-height:1.35}
#page-tag-grading .tag-step-sub{font-size:14px;line-height:1.55}
@media(max-width:640px){
 #page-tag-grading .tag-step{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:12px;row-gap:4px;align-content:start;padding:16px}
 #page-tag-grading .tag-step-num{grid-column:1;grid-row:1/3;margin:0;align-self:start}
 #page-tag-grading .tag-step-title{grid-column:2;margin:0}
 #page-tag-grading .tag-step-sub{grid-column:2;min-width:0;overflow-wrap:break-word}
}
@media(max-width:980px){
 .tag-wrap,.contact-wrap,.about-wrap,.product-detail{padding-left:24px;padding-right:24px}
 .detail-grid{gap:24px}
 .form-group input,.form-group select,.form-group textarea,.discovery-fields select{font-size:16px}
}
@media(max-width:640px){
 .route-intro{padding:24px 16px 0}
 .route-intro h1{font-size:28px}
 .route-intro p{font-size:14px}
 .tag-wrap,.contact-wrap,.about-wrap,.product-detail,.buy-guide{padding:24px 16px 40px}
 .detail-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .detail-name{font-size:28px}
 .detail-gallery{max-width:440px;width:100%;margin:auto}
 .trade-estimator{padding:16px}
 .trade-estimator-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}
 .trade-estimator-row input[type=range]{grid-column:1/-1;grid-row:2;min-height:44px}
 .trade-estimator-row .trade-estimator-val{min-width:0}
 .trade-offer-box{padding:16px 8px}
 .trade-offer-amount{font-size:28px}
 .tag-introduction .tag-store-photo{max-width:none}
 .discovery{gap:16px}
 .discovery>div:first-child,.discovery-stage{padding:18px}
 .discovery-modes{display:grid;grid-template-columns:1fr 1fr}
 .discovery-modes button{padding:10px 8px}
 .collector-entry{padding:20px}
 .collector-entry>button{width:100%;justify-content:center}
 .drawer-head,.drawer-items,.drawer-foot{padding-left:16px;padding-right:16px}
 .checkout-modal{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:20px}
 .footer-bottom{gap:16px;flex-wrap:wrap}
 .footer-links a{min-height:44px;display:flex;align-items:center}
 .guide-table{min-width:0;table-layout:fixed;font-size:13px}
 .guide-table th,.guide-table td{padding:10px 8px;overflow-wrap:anywhere}
}
@media(max-width:360px){
 .product-grid{grid-template-columns:minmax(0,1fr)}
 .product-img{height:240px}
 .shop-control-label{flex-basis:100%}
 .restock-banner a{font-size:11px;padding:8px 12px;gap:4px 6px}
 .restock-banner svg{width:14px;height:14px}
 #page-home .hero-title{font-size:40px}
 .hero-banner-copy h2{font-size:24px}
 .discovery-result{grid-template-columns:1fr}
 .discovery-result img{width:100%;height:180px}
}
