.shop-page{min-height:55vh}.shop-page h1{margin-bottom:28px}.shop-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr);gap:28px;align-items:start}.shop-panel{background:var(--surface,#fff);border:1px solid var(--border,#dfd9d0);padding:28px;margin-bottom:20px;border-radius:8px}.shop-panel h2{font-size:24px;margin:0 0 18px}.shop-panel p{margin:12px 0}.shop-buy{margin-top:14px}.shop-buy label{display:block;font-size:13px;margin-bottom:7px}.shop-buy-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.shop-buy-row input{width:80px;min-height:44px;padding:10px;border:1px solid #999;border-radius:4px;background:var(--surface,#fff);color:inherit}.shop-buy-row .btn{flex:1;white-space:nowrap}.shop-feedback:empty{display:none}.shop-feedback{font-size:13px;margin:8px 0 0;color:#397657}.shop-feedback.error{color:#ba493a}.shop-cart-line{display:flex;gap:22px;align-items:center}.shop-cart-line img{object-fit:contain;background:#fff;flex-shrink:0}.shop-cart-line h2{font-size:19px}.shop-remove{background:none;border:0;padding:8px 0;color:inherit;text-decoration:underline;cursor:pointer}.shop-total{border-top:1px solid #999;padding-top:18px;font-size:21px;font-weight:700}.shop-continue{display:block;margin-top:16px}.shop-form{display:grid;gap:18px}.shop-form label{display:grid;gap:8px}.shop-form input:not([type=checkbox]),.shop-form select,.shop-form textarea{width:100%;padding:13px;border:1px solid #999;border-radius:5px;background:var(--surface,#fff);color:inherit;font:inherit}.shop-form select:disabled{opacity:.65;cursor:not-allowed}.location-picker-status{min-height:20px;margin:-8px 0 0!important;font-size:13px;color:var(--muted,#6c655e)}.location-picker-status.error{color:#ba493a}.shop-form .shop-check{display:flex;align-items:flex-start;font-size:14px}.shop-check input{margin-top:5px}.shop-alert{padding:18px;border:1px solid #c69b63;background:#fff3db;color:#543914;border-radius:5px;margin:20px 0}.shop-line-total{display:block}.shop-empty{text-align:center;padding:55px 25px}[data-theme=dark] .shop-panel,[data-theme=dark] .shop-buy-row input,[data-theme=dark] .shop-form input:not([type=checkbox]),[data-theme=dark] .shop-form select,[data-theme=dark] .shop-form textarea{background:#242928;color:#f4f0e8;border-color:#49524f}.shop-panel button:disabled{opacity:.55;cursor:wait}
.account-heading{max-width:760px;margin-bottom:34px}.account-heading h1{margin-bottom:10px}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}.account-card{padding:34px}.account-kicker{font-size:12px;font-weight:800;letter-spacing:.13em;color:var(--primary,#85603d)}.form-inline{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.form-inline .shop-check{margin:0}.password-field,.phone-field{display:flex;align-items:stretch;border:1px solid #999;border-radius:5px;background:var(--surface,#fff);overflow:hidden}.password-field input,.phone-field input{border:0!important;border-radius:0!important}.password-field button{width:48px;border:0;background:transparent;color:inherit;cursor:pointer}.phone-field>span{display:flex;align-items:center;padding:0 12px;border-right:1px solid #bbb}.field-hint,.legal-note{font-size:13px;color:var(--muted,#6e6e6e)}.field-hint.valid,.password-rules .valid{color:#28734d}.field-hint.invalid,.password-rules .invalid{color:#b33d32}.password-rules{margin:-8px 0 0;padding-left:20px;font-size:13px}.password-rules li::marker{content:'○  '}.password-rules .valid::marker{content:'✓  '}.legal-check{padding-top:6px;border-top:1px solid var(--border,#dfd9d0)}.account-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:28px}.account-help-grid .shop-panel{margin:0}.account-help-grid summary{font-weight:750;cursor:pointer}.shop-alert.error{border-color:#c97970;background:#fff0ee;color:#742820}[data-theme=dark] .password-field,[data-theme=dark] .phone-field{background:#242928;border-color:#49524f}
@media(max-width:800px){.shop-columns,.account-grid,.account-help-grid{grid-template-columns:1fr}.shop-cart-line{flex-wrap:wrap}.shop-panel{padding:20px}.account-card{padding:24px}.shop-buy-row .btn{padding-left:12px;padding-right:12px}}@media(max-width:480px){.account-card{padding:19px}.form-inline{align-items:flex-start}.account-page .btn{width:100%}.legal-note{line-height:1.7}}
