.catalogPage{background:var(--cream-100);min-height:100vh}.catalogInner{max-width:1100px;margin:0 auto;padding:24px 20px}.itemGrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.stateCenter{text-align:center;color:var(--text-muted);padding:60px 20px;font-style:italic}.stateIcon svg{stroke-width:1.5px;opacity:.5;width:30px;height:30px}.stateTitle{font-family:var(--font-cormorant);color:var(--text-dark);font-size:18px;font-style:normal;font-weight:400}.pagination{justify-content:center;gap:8px;margin-top:24px;display:flex}.pageBtn{cursor:pointer;font-size:12px;font-family:var(--font-nunito);border:1px solid var(--cream-400);background:var(--white);color:var(--text-soft);border-radius:7px;padding:5px 12px;transition:all .15s}.pageBtn:hover{border-color:var(--gold-main);color:var(--gold-main)}.pageBtnActive{background:var(--gold-main);color:var(--white);border-color:var(--gold-main)}.pageBtnActive:hover{color:var(--white)}.modalOverlay{z-index:300;background:#2c24168c;justify-content:center;align-items:flex-start;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modalCard{background:var(--white);border-radius:var(--radius-lg);width:100%;max-width:520px;margin-bottom:24px}.modalHeader{background:var(--gold-main);border-radius:var(--radius-lg) var(--radius-lg) 0 0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modalHeaderTitle{font-family:var(--font-cormorant);color:var(--white);font-size:16px}.modalHeaderSub{color:#fffc;font-size:11px;font-family:var(--font-nunito);margin-top:2px}.modalCloseBtn{color:var(--white);cursor:pointer;background:#fff3;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.modalBody{padding:20px}.formNotice{color:var(--text-soft);background:var(--cream-100);border-left:3px solid var(--gold-main);font-size:12px;font-family:var(--font-nunito);border-radius:8px;margin-bottom:16px;padding:10px 12px;line-height:1.5}.formGrid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.formGridFull{grid-column:1/-1}.field{margin-bottom:0}.field label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);font-size:11px;font-weight:700;font-family:var(--font-nunito);margin-bottom:5px;display:block}.fieldOptional{text-transform:none;color:var(--text-muted);font-size:11px;font-weight:400}.field input,.field textarea{border:1px solid var(--cream-300);background:var(--cream-50);width:100%;color:var(--text-dark);font-size:13px;font-family:var(--font-nunito);border-radius:7px;outline:none;padding:8px 10px;transition:border-color .15s}.field input:focus,.field textarea:focus{border-color:var(--gold-main);background:var(--white)}.field textarea{resize:vertical}.formActions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.btnCancel{border:1px solid var(--cream-400);color:var(--text-soft);cursor:pointer;font-size:13px;font-family:var(--font-nunito);background:0 0;border-radius:8px;padding:8px 16px;transition:background .15s}.btnCancel:hover{background:var(--cream-100)}.btnSubmit{background:var(--gold-main);color:var(--white);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font-nunito);border:none;border-radius:8px;padding:8px 20px;transition:opacity .15s}.btnSubmit:disabled{background:var(--text-muted);cursor:default;opacity:.7}.btnSubmit:not(:disabled):hover{opacity:.88}.successState{text-align:center;padding:32px}.successIcon{background:var(--cream-200);border:2px solid var(--gold-main);width:56px;height:56px;color:var(--gold-main);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;font-size:24px;display:flex}.successTitle{font-family:var(--font-cormorant);color:var(--gold-main);margin-bottom:8px;font-size:20px}.successText{color:var(--text-soft);font-size:13px;line-height:1.7;font-family:var(--font-nunito);margin-bottom:20px}.btnClose{background:var(--gold-main);color:var(--white);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font-nunito);border:none;border-radius:8px;padding:10px 24px}@media (max-width:600px){.formGrid{grid-template-columns:1fr}.formGridFull{grid-column:1}.itemGrid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}
