/* cart */
.cart-page{padding:5.5rem 0 8rem}
.cart-page h1{font-size:4.6rem;margin:0 0 3rem;letter-spacing:-.05em}
.cart-grid{display:grid;grid-template-columns:minmax(0,1fr) 38rem;gap:3rem;align-items:start}
.cart-items{padding:1rem 2rem;background:#fff;border:1px solid var(--border);border-radius:18px}
.cart-item{display:grid;grid-template-columns:9rem 1fr 10rem 11rem;gap:1.7rem;align-items:center;padding:1.7rem 0;border-bottom:1px solid #EDF0F4}
.cart-item:last-child{border-bottom:0}
.cart-item__media{width:9rem;height:9rem;display:grid;place-items:center;border-radius:12px;background:#F8FAFC;overflow:hidden}
.cart-item__media img{width:100%;height:100%;object-fit:contain;padding:.7rem}
.cart-item__title{font-weight:800}.cart-item__meta{color:var(--muted);font-size:1.05rem;margin-top:.4rem}
.cart-item__remove{display:inline-block;margin-top:.7rem;color:#8A98AA;font-size:1.05rem;text-decoration:underline}
.cart-summary{position:sticky;top:14rem;padding:2.4rem;background:#fff;border:1px solid var(--border);border-radius:18px}
.cart-summary h2{margin:0 0 1.5rem}
.cart-total{display:flex;justify-content:space-between;gap:2rem;padding:1.2rem 0;border-top:1px solid #EDF0F4;font-size:1.6rem;font-weight:900}
.cart-note{color:var(--muted);font-size:1.08rem}
.cart-actions{display:grid;gap:.8rem;margin-top:1.4rem}
.cart-drawer-shell{position:fixed;inset:0;z-index:1000}
.cart-drawer-overlay{position:absolute;inset:0;border:0;background:rgba(7,26,51,.42);backdrop-filter:blur(3px)}
.cart-drawer{position:absolute;right:0;top:0;bottom:0;width:min(46rem,94vw);display:flex;flex-direction:column;background:#fff;box-shadow:-18px 0 48px rgba(7,26,51,.16)}
.cart-drawer__header{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2rem;border-bottom:1px solid var(--border)}
.cart-drawer__header h2{margin:.3rem 0 0;font-size:2.5rem}
.cart-drawer__body{flex:1;overflow:auto;padding:2rem}
.drawer-item{display:grid;grid-template-columns:7rem 1fr;gap:1.2rem;padding:1.2rem 0;border-bottom:1px solid #EDF0F4}
.drawer-item img{width:7rem;height:7rem;object-fit:contain;border-radius:10px;background:#F8FAFC}
.drawer-item__title{font-size:1.18rem;font-weight:800;line-height:1.35}
.drawer-item__price{margin-top:.5rem;font-weight:850}
.drawer-footer{padding-top:1.7rem}
.drawer-total{display:flex;justify-content:space-between;font-size:1.5rem;font-weight:900;margin-bottom:1.3rem}
.page-shell{padding:6rem 0 8rem}
.page-card{max-width:95rem;margin-inline:auto;padding:4rem;background:#fff;border:1px solid var(--border);border-radius:18px}
.page-card h1{margin:0 0 2rem;font-size:4.6rem;letter-spacing:-.05em}
.search-head{padding:5rem 0 2rem}
.search-head h1{margin:0 0 2rem;font-size:4.8rem;letter-spacing:-.05em}
.search-form-large{max-width:76rem;display:grid;grid-template-columns:1fr auto;gap:.8rem}
.not-found{min-height:55vh;display:grid;place-items:center;text-align:center;padding:6rem 2rem}
.not-found__code{color:var(--accent);font-size:1.2rem;font-weight:900;letter-spacing:.12em}
.not-found h1{margin:.8rem 0 1rem;font-size:5rem;letter-spacing:-.055em}
.not-found p{max-width:55rem;color:var(--muted);margin:0 0 2rem}
.site-footer{background:var(--navy);color:#B7C5D6}
.footer-main{padding:5.8rem 0 4rem;display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:4rem}
.footer-brand__name{color:#fff;font-size:2.4rem;font-weight:900;letter-spacing:-.045em}
.footer-brand p{max-width:43rem;margin:1rem 0 1.8rem;color:#AAB9CA;font-size:1.28rem;line-height:1.7}
.footer-tags{display:flex;flex-wrap:wrap;gap:.7rem}
.footer-tag{padding:.6rem .9rem;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#D7E0EA;font-size:1.02rem}
.footer-col h2{margin:0 0 1.4rem;color:#fff;font-size:1.3rem}
.footer-col ul{list-style:none;padding:0;margin:0;display:grid;gap:.8rem}
.footer-col a{color:#AAB9CA;font-size:1.16rem}
.footer-col a:hover{color:#fff}
.footer-bottom{padding:2rem 0;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;gap:2rem;color:#8FA1B5;font-size:1.05rem}
.footer-bottom__links{display:flex;gap:1.5rem;flex-wrap:wrap}
