/* Athmos3D V3: data-driven catalog with accessible mobile-first controls. */
.catalog-toolbar{display:grid;grid-template-columns:minmax(190px,1.65fr) repeat(3,minmax(125px,1fr)) auto;gap:12px;align-items:end;padding:16px;margin:8px 0 10px;border:1px solid #394757;border-radius:16px;background:linear-gradient(145deg,#1c2633,#181e2a)}
.catalog-toolbar label:not(.catalog-only-favorites){display:block;color:#aebccb;font-size:12px;font-weight:650;margin-bottom:6px}
.catalog-toolbar input[type="search"],.catalog-toolbar select{display:block;width:100%;height:44px;min-width:0;border:1px solid #526177;border-radius:10px;background:#101723;color:#f6efe8;padding:0 12px;font-size:14px;outline-offset:2px}
.catalog-toolbar .catalog-only-favorites{display:flex;align-items:center;gap:8px;white-space:nowrap;min-height:44px;font-size:13px;font-weight:700;color:#edc9a1}
.catalog-only-favorites input{accent-color:#efb882;width:18px;height:18px}
.catalog-results{min-height:25px;color:#adbecc;margin:4px 0 13px;font-size:13px}
.catalog-v3-card .card-art{position:relative}
.catalog-fav-btn{position:absolute;left:12px;top:12px;z-index:2;border:1px solid #65788c;border-radius:50%;width:38px;height:38px;background:#172232e8;color:#f4ddc3;font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;min-width:38px}
.catalog-fav-btn.is-favorite{color:#f1a595;background:#402b32e8;border-color:#ad7478}
.catalog-fav-btn:focus-visible{outline:3px solid #edb982;outline-offset:2px}
.catalog-empty{grid-column:1/-1;border:1px dashed #647081;border-radius:18px;padding:32px;text-align:center;color:#d1dfeb;background:#171e2b}
.catalog-empty p{color:#a4b3c2;margin:5px 0 20px}
@media(max-width:1000px){.catalog-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-search-wrap{grid-column:1/-1}.catalog-only-favorites{grid-column:1/-1}}
@media(max-width:720px){.catalog-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.catalog-search-wrap{grid-column:1/-1}.catalog-toolbar .catalog-filter-fields:nth-of-type(4){grid-column:1/-1}.catalog-only-favorites{grid-column:1/-1}.catalog-toolbar input[type="search"],.catalog-toolbar select{font-size:16px}.catalog-results{margin-top:10px}.catalog-v3-card .cardfoot{gap:8px;flex-wrap:wrap}}
@media(max-width:350px){.catalog-toolbar{grid-template-columns:1fr}.catalog-search-wrap,.catalog-only-favorites,.catalog-toolbar .catalog-filter-fields:nth-of-type(4){grid-column:1}}
/* Product details: keyboard-accessible, readable on narrow mobile screens. */
.catalog-dialog-open{overflow:hidden}
.catalog-details-btn{min-height:40px}
.catalog-detail-overlay[hidden]{display:none!important}
.catalog-detail-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:rgba(4,8,14,.82);padding:16px}
.catalog-detail-panel{position:relative;width:min(100%,620px);max-height:min(90dvh,800px);overflow:auto;overscroll-behavior:contain;background:linear-gradient(150deg,#253443,#131c29);border:1px solid #667584;border-radius:20px;box-shadow:0 24px 80px #0009;padding:30px;color:#eee9e0}
.catalog-detail-panel h2{font-size:clamp(22px,5vw,34px);margin:8px 42px 12px 0;line-height:1.15}
.catalog-detail-panel h3{font-size:16px;margin:22px 0 8px}
.catalog-detail-panel>div>p{line-height:1.55;color:#d6e0e9}
.catalog-detail-close{position:absolute;right:14px;top:14px;min-width:44px;min-height:44px}
.catalog-detail-status{border-top:1px solid #57687a;border-bottom:1px solid #57687a;padding:12px 0;display:flex;justify-content:space-between;gap:12px;align-items:center}
.catalog-detail-status strong{font-size:21px;color:#ebcb9c}
.catalog-detail-status span{color:#b5c9d8;font-size:12px;text-align:right}
.catalog-detail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0;padding:0;list-style:none}
.catalog-detail-fields li{background:#111b28;border:1px solid #364456;border-radius:10px;padding:10px;min-width:0}
.catalog-detail-fields li strong{display:block;font-size:12px;color:#f1e8dc;overflow-wrap:anywhere}
.catalog-detail-fields li span{display:block;font-size:12px;color:#bed1de;margin-top:5px;overflow-wrap:anywhere}
.catalog-detail-guidance{font-size:13px;background:#253c4b;border-radius:10px;padding:12px}
.catalog-detail-open{margin-top:16px;width:100%;min-height:44px}
.catalog-v3-card .cardfoot{flex-wrap:wrap;gap:8px}
@media(max-width:490px){
  .catalog-detail-overlay{padding:8px;align-items:flex-end}
  .catalog-detail-panel{padding:20px 16px 24px;border-radius:20px 20px 8px 8px;max-height:94dvh}
  .catalog-detail-fields{grid-template-columns:1fr 1fr}
  .catalog-detail-status{display:block}
  .catalog-detail-status span{display:block;text-align:left;margin-top:6px}
}

/* V5 private purchase history. Price and status always originate on the server. */
#purchasePanel{margin-top:22px}
.purchase-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.purchase-heading h3{margin:0}
.purchase-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #38495b}
.purchase-item>div{min-width:0;overflow-wrap:anywhere}
.purchase-state{font-size:12px;color:#d3e3dd;background:#24453e;border:1px solid #457364;padding:8px 10px;border-radius:9px;text-align:right}
@media(max-width:540px){.purchase-item{align-items:flex-start;flex-direction:column}.purchase-state{text-align:left}}
