/* Shared action system: consistent rhythm, clear hierarchy, keyboard and touch states. */
.btn,.plus-button,.close-icon,.quantity-control button,.mobile-nav-toggle{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.btn{min-height:44px;border-radius:8px;line-height:1.25;font-weight:650;transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s;position:relative}
.btn:hover{filter:none;transform:translateY(-1px)}
.btn:active{transform:translateY(0);box-shadow:none}
.btn:focus-visible,.plus-button:focus-visible,.close-icon:focus-visible,.quantity-control button:focus-visible,.mobile-nav-toggle:focus-visible{outline:3px solid #ffad73;outline-offset:4px}
.btn:disabled,.btn[aria-disabled=true],.quantity-control button:disabled{cursor:not-allowed;opacity:.45;transform:none;box-shadow:none;filter:none}
.shop-body .btn-accent,.shop-body .btn-main{background:linear-gradient(180deg,#ff994e 0%,#ff7d28 100%);color:#16100b;border:1px solid #ff9e5b;box-shadow:inset 0 1px 0 #ffffff26,0 3px 9px #0002}
.shop-body .btn-accent:hover:not(:disabled),.shop-body .btn-main:hover:not(:disabled){background:linear-gradient(180deg,#ffac70,#ff8c3c);border-color:#ffbb89;box-shadow:0 4px 16px #ff7d281f}
.shop-body .btn-outline,.shop-body .btn-muted,.shop-body .list-top{background:#1a222a;color:#e9f0f6;border:1px solid #40505d;box-shadow:inset 0 1px 0 #ffffff05}
.shop-body .btn-outline:hover:not(:disabled),.shop-body .btn-muted:hover:not(:disabled),.shop-body .list-top:hover{background:#26323d;border-color:#8295a4;box-shadow:none}
.shop-body .btn>span:not(.list-counter){display:inline-flex;align-items:center;justify-content:center;margin-left:6px;font-size:17px;line-height:1;flex-shrink:0}
.shop-body .list-top{padding:11px 15px;gap:9px;white-space:nowrap;font-weight:550}
.shop-body .list-top .list-counter{margin:0;width:22px;height:22px;min-width:22px;font-size:10px;line-height:1;background:#ff9244;color:#17100b;font-weight:700}
.shop-body .hero-actions{gap:14px;align-items:center}
.shop-body .hero-actions .hero-link{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:47px;padding:12px 18px;border:1px solid #40505b;border-radius:8px;background:#182129b3;font-size:12px;font-weight:550;transition:background-color .18s,border-color .18s}
.shop-body .hero-actions .hero-link:hover{background:#29343f;border-color:#9d765a}
.shop-body .hero-actions .hero-link span{margin:0;color:#ffb07b;font-size:17px;line-height:1}
.shop-body .site-nav .nav-builder{padding:10px 12px;border:1px solid #80502c;border-radius:7px;background:#38231466;color:#ffb27d;line-height:1.4;transition:background-color .18s,border-color .18s}
.shop-body .site-nav .nav-builder:hover{background:#53321c;border-color:#dc9057;color:#ffd5b6}
.shop-body .plus-button{width:40px;height:40px;min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #ff9f5e;border-radius:9px;background:#ff8a3c;color:#19110a;font-family:Arial,sans-serif;font-size:26px;font-weight:400;line-height:1;padding:0;box-shadow:inset 0 1px 0 #ffffff20;transition:background-color .18s,transform .18s}
.shop-body .plus-button:hover{background:#ffb07a;transform:translateY(-1px)}
.shop-body .plus-button:active{transform:scale(.96)}
.shop-body .close-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid #465b6b;border-radius:9px;background:#273746;color:#eaf2f8;font-size:25px;line-height:1;transition:background-color .18s}
.shop-body .close-icon:hover{background:#3b5061}
.shop-body .quantity-control{border-radius:7px;border-color:#476075}
.shop-body .quantity-control button{width:36px;min-height:38px;display:grid;place-items:center;font-size:20px;line-height:1;transition:background-color .18s}
.shop-body .quantity-control button:hover:not(:disabled){background:#3c5265}
.shop-body .quantity-control input{font-variant-numeric:tabular-nums}
.shop-body .list-item>.list-row-actions>button{min-height:38px;padding:8px 11px;border:1px solid #655045;border-radius:6px;color:#ffc09a;font-size:10px}
.shop-body .list-item>.list-row-actions>button:hover{background:#472d2466;border-color:#aa7960}
.shop-body .pagination a{min-width:36px;height:38px;border-radius:7px;transition:background-color .18s,border-color .18s}
.shop-body .pagination a:hover{background:#2a3845;border-color:#c3885b}
.shop-body .pagination a[aria-current=page]:hover{background:#ffad73;color:#10151a}
.shop-body .mobile-nav-toggle{border:1px solid #40505c;border-radius:7px;min-width:36px;padding:0 6px}
.shop-body .reset-filters,.shop-body .detail-back{min-height:40px;display:inline-flex;align-items:center;line-height:1.5}
.shop-body .subtle-link{opacity:1;color:#d2dde6;display:inline-flex;align-items:center;padding:8px 12px;border:1px solid #3d4f5b;border-radius:7px;min-height:38px;margin-top:4px}
.shop-body .subtle-link:hover{background:#1a2832;border-color:#f29d62;color:#ffd0ae}
.shop-body .auth-wrapper{background:radial-gradient(ellipse at 50% 25%,#1d2b35,#0a0f14 70%);min-height:72vh;padding:55px 20px}
.shop-body .auth-card{background:#131e27;border:1px solid #405360;border-radius:14px;padding:36px;gap:21px;box-shadow:0 18px 60px #0004;color:#edf3f8;max-width:460px}
.shop-body .auth-card h1{font-family:Inter,Arial,sans-serif;font-weight:650;font-size:30px;line-height:1.2;letter-spacing:-.035em}
.shop-body .auth-card p{color:#bfceda;font-size:12px}
.shop-body .auth-card label{font-weight:550;font-size:12px;color:#d9e5ed}
.shop-body .auth-card .input{height:46px;background:#0f1820;border-color:#486071;border-radius:7px;font-size:13px}
.shop-body .auth-card small{color:#aebfcd;font-size:10px;line-height:1.8}
.shop-body .auth-card .notice-error{background:#41251f;color:#ffd1bd;border-color:#9d6350}
.admin-body .btn-main{background:#1c2b36;color:white;border-color:#263d4d;box-shadow:inset 0 1px 0 #ffffff15}
.admin-body .btn-main:hover{background:#2c4456;border-color:#46677e;box-shadow:0 3px 10px #182a381a}
.admin-body .btn-outline:hover{background:#edf3f7;border-color:#9cafbd}
.admin-body .btn-muted:hover{background:#e1e8ee}
.admin-body .text-action{min-height:36px;display:inline-flex;align-items:center;padding:7px 10px;border-radius:6px;border:1px solid #d8e1e8}
.admin-body .text-action:hover{background:#eef3f7;border-color:#9aafbd}
.admin-body .text-action.danger{border-color:#eed6cf}.admin-body .text-action.danger:hover{background:#fff0eb;border-color:#d8a492}
.admin-body .visibility{min-height:34px;border-radius:6px;padding:7px 11px}
.admin-body .visibility:focus-visible,.admin-body .text-action:focus-visible{outline:3px solid #de8c53;outline-offset:3px}
@media(max-width:650px){.shop-body .btn{min-height:44px}.shop-body .hero-actions .btn,.shop-body .hero-actions .hero-link{min-height:46px;padding:12px 17px;font-size:11px}.shop-body .site-header .list-top{min-height:42px;padding:9px 10px;font-size:9px;gap:7px}.shop-body .site-header .list-top .list-counter{width:20px;height:20px;min-width:20px;font-size:9px}.shop-body .plus-button{width:36px;min-width:36px;height:38px;min-height:38px;font-size:25px}.shop-body .product-price{font-size:11px}.shop-body .auth-card{padding:27px 23px}.shop-body .auth-card h1{font-size:28px}.shop-body .catalog-search .btn{min-height:42px}.shop-body .site-nav .nav-builder{padding:12px}.shop-body .drawer-footer .btn{min-height:44px}}
@media(prefers-reduced-motion:reduce){.btn,.plus-button,.close-icon,.quantity-control button{transition:none}.btn:hover,.plus-button:hover,.plus-button:active{transform:none}}
