[hidden]{display:none!important}
.shop-breadcrumb{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:0 0 20px;color:#806c94;font-size:12px}
.shop-breadcrumb a{color:#694191;text-decoration:none}
.shop-page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:23px}
.shop-page-heading h1{margin:0;color:#41285a;font-size:25px;line-height:1.35;font-weight:800;letter-spacing:-.5px}
.shop-page-heading p,.shop-muted{margin:7px 0 0;color:#79668b;font-size:12px;line-height:1.75}
.shop-state{grid-column:1/-1;padding:35px 22px;text-align:center;border:1px solid #dacbe7;border-radius:11px;background:#fbf9fe;color:#6f5c82}
.shop-state>.site-icon{width:28px;height:28px;margin-bottom:13px;color:#9b76bf}
.shop-state h2{margin:0 0 9px;font-size:16px;font-weight:750;color:#583e71;line-height:1.5}
.shop-state p{max-width:520px;margin:0 auto 18px;font-size:12px;line-height:1.8}
.shop-state .btn{font-size:12px;padding:9px 18px}
.shop-spinner{display:inline-block;width:25px;height:25px;margin:0 0 16px;border:2px solid #dacae9;border-top-color:#7547a3;border-radius:50%;animation:shop-spin .75s linear infinite}
@keyframes shop-spin{to{transform:rotate(360deg)}}
.shop-notice{padding:12px 14px;margin:14px 0;border:1px solid #d5c5e5;border-radius:8px;background:#fbf9fe;color:#6c4c8f;font-size:12px;line-height:1.75;overflow-wrap:anywhere}
.shop-notice[data-state=success]{background:#f2f8eb;border-color:#cddfbe;color:#58713e}
.member-field label,.history-filters label>span{display:block;margin-bottom:7px;color:#654c7d;font-size:11px;font-weight:700}
.member-field input,.member-field select,.history-filters input,.history-filters select{display:block;width:100%;height:41px;padding:10px 12px;border:1px solid #d0c0df;border-radius:7px;background:#fbf9fe;color:#533f67;font:12px/1.5 'Inter',sans-serif;min-width:0}
.member-field input::placeholder{color:#9a8aaa}
.member-field input:focus,.member-field select:focus,.history-filters input:focus,.history-filters select:focus{outline:2px solid #ae8cce;outline-offset:1px;border-color:#8a63b0}
.shop-pagination{display:flex;justify-content:center;align-items:center;gap:15px;margin:24px 0 8px;font-size:12px;color:#78618e}
.shop-pagination:empty{display:none}
.shop-pagination button{border:1px solid #c6b0da;border-radius:7px;background:#fbf8fd;color:#634184;padding:9px 14px;font:650 11px 'Inter',sans-serif}
.shop-pagination button:disabled{opacity:.4;cursor:default}
.account-image-empty{display:grid;place-items:center;min-height:145px;width:100%;background:#f1ebf7;color:#8a759f;font-size:12px}
.account-card .btn-account-buy:disabled{opacity:.5;cursor:default}
.account-card button.account-thumb-wrap{border:0;padding:0;width:100%}
.account-card .account-thumb-wrap:disabled{cursor:default}
.member-tabs{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #d8cbe4}
.member-tabs a{padding:10px 15px;border:1px solid #cfbde0;border-radius:8px;background:#fbf9fe;color:#664b81;font-size:12px;font-weight:650;text-decoration:none}
.member-tabs a[aria-current=page]{background:#eee3f8;border-color:#ba98da;color:#5f368a}
#memberGate:not([hidden]){margin-bottom:22px}
.member-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(275px,.85fr);align-items:start;gap:22px}
.member-panel{padding:25px;border:1px solid #d7c9e4;border-radius:12px;background:#fbf9fe;min-width:0}
.member-panel>h2,.shop-row h2{margin:0 0 22px;font-size:17px;font-weight:750;color:#523a69;line-height:1.4}
.member-panel fieldset{min-width:0}
.member-panel fieldset:disabled{opacity:.65}
.member-field{margin-bottom:17px}
.member-field input[readonly]{background:#f7f3fb;color:#806c94}
.member-panel .btn{font-size:12px;padding:11px 17px}
.wallet-balance{display:grid;gap:10px;margin-bottom:27px;padding:20px;border:1px solid #cbb4e1;border-radius:10px;background:#f4edfb}
.wallet-balance>span{color:#765992;font-size:11px;font-weight:650}
.wallet-balance strong{color:#643c8d;font-size:29px;line-height:1.2;font-weight:800}
.wallet-balance a{font-size:11px;color:#6b468f;text-decoration:none}
.member-notes{margin:0 0 22px;padding-left:17px;color:#826f95;font-size:12px;line-height:1.85}
.member-notes li+li{margin-top:9px}
.amount-shortcuts{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 20px}
.amount-shortcuts button{border:1px solid #ccb7e0;border-radius:7px;background:#f8f3fc;padding:8px 11px;color:#6c4b8c;font:650 11px 'Inter',sans-serif}
.history-filters{display:flex;align-items:flex-end;gap:13px;margin-bottom:22px}
.history-filters label{flex:1;min-width:0;margin:0}
.shop-table-scroll{overflow:auto;border:1px solid #ddd2e8;border-radius:9px}
.shop-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px;color:#6e5982}
.shop-table th{background:#f5effb;padding:13px;text-align:left;color:#694e83;font-size:10px;font-weight:750}
.shop-table td{padding:15px 13px;border-top:1px solid #eae3f0}
.shop-table td:nth-child(2){white-space:normal;min-width:150px}
.shop-table a{color:#6d4695;font-weight:650;text-decoration:none}
.shop-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px}
.shop-row h2,.shop-row h3{margin:0;font-size:16px;color:#5a4172;font-weight:750;overflow-wrap:anywhere}
.shop-badge{display:inline-block;padding:6px 10px;border-radius:6px;background:#f2eafa;color:#714b94;font-size:10px;font-weight:700;white-space:nowrap}
.shop-badge.success{background:#edf5e5;color:#678747}
.shop-badge.danger{background:#faf8fd;color:#7f5ea1}
.order-summary{display:grid;gap:13px;padding:18px 0;border-top:1px solid #d8cbe4;border-bottom:1px solid #d8cbe4;margin:0 0 20px}
.order-summary>div{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.order-summary dt{flex-shrink:0;color:#826f94;font-size:11px;font-weight:500;max-width:45%}
.order-summary dd{margin:0;text-align:right;color:#5d4475;font-size:12px;font-weight:650;overflow-wrap:anywhere}
.order-summary button{display:block;margin:5px 0 0 auto;border:0;background:none;color:#6f4896;font:700 10px 'Inter',sans-serif;padding:3px 0;text-decoration:underline}
.shop-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.shop-actions>a{font-size:11px;color:#6c4791;text-decoration:none}
.topup-ticket{margin-top:24px;padding-top:24px;border-top:1px dashed #b199c8}
.bank-qr{display:block;width:210px;height:210px;object-fit:contain;padding:10px;border:1px solid #dbd2e3;border-radius:8px;background:#fff;margin:0 auto 20px}
.credential-card{border:1px solid #d6c6e4;border-radius:9px;padding:17px;background:#fbf9fe}
.credential-card+.credential-card{margin-top:15px}
.credential-card h3{margin:0 0 16px;color:#64497e;font-size:13px;font-weight:750}
.credential-card label{display:block;margin-top:12px;font-size:10px;color:#836f97}
.credential-card input{display:block;width:100%;padding:10px 12px;margin-top:6px;border:1px solid #d1c2df;border-radius:6px;background:#fbf9fe;color:#59426f;font:12px 'Inter',sans-serif}
.credential-card button{padding:0;margin-top:10px;border:0;background:none;color:#6c4a8d;font:700 10px 'Inter',sans-serif}
.reset-password-panel{max-width:440px;margin:20px auto 35px}
.cat-auth-recovery .cat-auth-form{margin-top:22px;text-align:left}
.cat-auth-recovery .cat-auth-submit{margin-top:0}
@media(max-width:991px){.member-layout{grid-template-columns:minmax(0,1fr) minmax(230px,.85fr)}.member-panel{padding:20px}.shop-page-heading h1{font-size:22px}}
@media(max-width:767px){.member-layout{grid-template-columns:1fr}.shop-page-heading{margin-bottom:19px}.shop-page-heading h1{font-size:20px}.shop-breadcrumb{font-size:10px;margin-bottom:16px}.member-panel{padding:18px}.member-tabs{gap:6px;margin-bottom:18px;padding-bottom:17px}.member-tabs a{font-size:10px;padding:9px 10px}.history-filters{flex-wrap:wrap;gap:10px}.history-filters label{flex-basis:calc(50% - 10px)}.history-filters>.btn{width:100%}.shop-state{padding:28px 17px}.shop-state h2{font-size:15px}.shop-state p{font-size:11px}.shop-pagination{gap:10px;font-size:10px}.shop-pagination button{font-size:10px;padding:9px}}
@media(prefers-reduced-motion:reduce){.shop-spinner{animation:none}}

/* Additional photos use the established account gallery without replacing its layout. */
.account-gallery-thumbnails{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.account-gallery-thumbnails:empty{display:none}
.account-gallery-thumbnails button{width:76px;padding:0;border:1px solid #ceb6e5;border-radius:8px;overflow:hidden;background:#fbf9fe}
.account-gallery-thumbnails img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain}

/* Account collages keep their original ratio, including on narrow screens. */
.account-card{min-width:0}
.account-card .account-thumb-wrap{aspect-ratio:auto;height:auto;flex-shrink:0;background:#fbf9fe}
.account-card .account-thumb-wrap .account-thumb{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain;transform:none}
.account-card:hover .account-thumb{transform:none}
.account-card .account-footer{margin-top:auto;min-width:0}
.account-gallery-main #main-display-image{display:block;width:100%;max-width:100%;height:auto;object-fit:contain}
@media(max-width:575px){
 .account-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .account-card .account-footer{gap:12px;flex-wrap:wrap}
 .account-card .account-price{font-size:20px}
 .account-card .btn-account-buy{min-height:44px;min-width:110px;font-size:12px}
 .account-gallery-thumbnails{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x proximity}
 .account-gallery-thumbnails button{flex:0 0 76px;scroll-snap-align:start}
}
