:root{--color-bg:#ffffff;--color-surface:#f7f7f5;--color-border:#e3e1dc;--color-text:#1f1f1f;--color-text-muted:#6b6b6b;--color-accent:#1a1a1a;--color-accent-contrast:#ffffff;--radius:8px;--header-height:64px}*{box-sizing:border-box}body{margin:0;color:var(--color-text);background:var(--color-bg);font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}a{color:inherit}button{font-family:inherit;cursor:pointer}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1080px;height:var(--header-height);margin:0 auto;padding:0 20px}.site-header__logo{font-weight:700;font-size:1.125rem;text-decoration:none;white-space:nowrap}.site-header__nav{display:flex;align-items:center;gap:16px;font-size:.9rem}.site-header__nav a{text-decoration:none}.site-header__nav a:hover{text-decoration:underline}.site-header__user{color:var(--color-text-muted)}.site-header__cart{border:none;background:none;font-size:1.25rem;line-height:1;padding:4px}cafe24-cart::part(dialog){z-index:1000}.site-header__logout{border:1px solid var(--color-border);background:var(--color-bg);border-radius:var(--radius);padding:6px 12px;font-size:.85rem}.site-header__logout:hover{background:var(--color-surface)}.site-main{max-width:1080px;margin:0 auto;padding:32px 20px 64px;min-height:calc(100vh - var(--header-height) - 160px)}.site-footer{border-top:1px solid var(--color-border);background:var(--color-surface);padding:32px 20px;margin-top:48px}.site-footer__links{display:flex;flex-wrap:wrap;gap:16px;max-width:1080px;margin:0 auto 12px;font-size:.85rem}.site-footer__links a{text-decoration:none;color:var(--color-text-muted)}.site-footer__links a:hover{text-decoration:underline}.site-footer__copyright{max-width:1080px;margin:0 auto;font-size:.8rem;color:var(--color-text-muted)}.page-section{border:1px solid var(--color-border);border-radius:var(--radius);padding:24px;margin-bottom:24px;background:var(--color-bg)}.page-section h1,.page-section h2{margin-top:0}.product-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:12px;transition:box-shadow .15s ease}.product-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.06)}.product-card img{border-radius:calc(var(--radius) - 2px);width:100%;height:auto}.product-card a{text-decoration:none;display:block}.product-detail{display:flex;flex-direction:column;gap:12px;border:1px solid var(--color-border);border-radius:var(--radius);padding:24px;margin-bottom:24px}.product-actions{display:flex;gap:8px;margin-top:8px}.product-actions button{flex:1 1;padding:12px;border-radius:var(--radius);border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast);font-weight:600}.product-actions button:disabled{opacity:.4;cursor:not-allowed}.product-actions button:last-child{background:var(--color-bg);color:var(--color-accent)}.product-description{border:1px solid var(--color-border);border-radius:var(--radius);padding:24px;margin-bottom:24px}form{gap:16px;max-width:360px}form,form div{display:flex;flex-direction:column}form div{gap:6px}form label{font-size:.85rem;color:var(--color-text-muted)}form input{padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:1rem}form button[type=submit]{padding:12px;border-radius:var(--radius);border:none;background:var(--color-accent);color:var(--color-accent-contrast);font-weight:600}form button[type=submit]:disabled{opacity:.5;cursor:not-allowed}[role=alert]{color:#b3261e;font-size:.85rem}[aria-label="정렬"]{display:flex;gap:8px;margin-bottom:20px}[aria-label="정렬"] button{padding:8px 14px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg);font-size:.85rem}[aria-label="정렬"] button[aria-pressed=true]{background:var(--color-accent);color:var(--color-accent-contrast);border-color:var(--color-accent)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:20px;gap:20px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--color-border);font-size:.9rem}ul{list-style:none;margin:0;padding:0}ul li{border-bottom:1px solid var(--color-border);padding:16px 0}ul li:last-child{border-bottom:none}dl{display:grid;grid-template-columns:140px 1fr;grid-row-gap:12px;row-gap:12px}dt{color:var(--color-text-muted)}dd{margin:0}