*{box-sizing:border-box}body{margin:0;background:var(--color-bg-page);color:var(--color-text-primary);font:var(--text-body)}
[hidden]{display:none!important}a{color:var(--color-text-accent)}button,input,select,textarea{font-family:var(--font-sans)}
.site-header{display:block;position:sticky;top:0;z-index:50;padding:0;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border-subtle)}
.shell-header{max-width:none;height:var(--size-header);margin:auto;padding:0 var(--space-page-x);display:flex;align-items:center;gap:var(--space-2)}
.shell-brand{display:flex;align-items:center;gap:var(--space-2);min-width:0;min-height:44px;color:var(--color-text-primary);text-decoration:none;font:var(--text-label);flex:1}
.brand{display:block;min-width:0;margin:0;font:600 15px/22px var(--font-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-brand img{width:32px;height:32px;object-fit:contain;flex:none}
.shell-button{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);border:1px solid var(--color-border-control);border-radius:var(--radius-md);background:transparent;color:var(--color-text-primary);font:var(--text-label);text-decoration:none;cursor:pointer}
.shell-button:hover{background:var(--color-bg-raised)}.shell-button.primary{background:var(--color-action-primary);color:var(--color-on-primary);border-color:var(--color-action-primary)}.shell-button.primary:hover{background:var(--color-action-primary-hover)}
.shell-cart{position:relative;height:44px;padding:0 12px;width:auto;gap:6px;border-radius:999px;flex:none}.shell-cart svg{flex:none}.shell-badge{height:18px;min-width:18px;font:700 11px/18px var(--font-sans);font-variant-numeric:tabular-nums;border-radius:var(--radius-full);background:var(--color-action-primary);color:var(--color-on-primary);padding:0 4px;position:absolute;right:2px;top:2px}.shell-badge.bump{animation:badge-bump 200ms ease-out}.cart-label{display:inline}.shell-nav,.header-line{display:none}
@keyframes badge-bump{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}
@media(max-width:359px){.brand-suffix{display:none}}
.menu-toggle{padding:0;flex:none}.skip-link{position:fixed;top:8px;left:8px;z-index:200;transform:translateY(-200%);padding:12px;background:var(--color-bg-raised);color:var(--color-text-primary)}.skip-link:focus{transform:translateY(0)}
.menu-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(320px,86vw);height:100dvh;max-height:100dvh;border:0;border-left:1px solid var(--color-border-subtle);padding:var(--space-4);background:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:var(--shadow-3)}
.menu-drawer[open]{animation:drawer-in var(--motion-slow) var(--ease-out)}.menu-drawer::backdrop{background:var(--color-scrim)}.menu-heading{display:flex;align-items:center;justify-content:space-between}.menu-heading h2{font:var(--text-h2)}.menu-drawer nav a{display:flex;align-items:center;min-height:52px;color:var(--color-text-primary);text-decoration:none;border-bottom:1px solid var(--color-border-subtle)}
.drawer-contact{display:grid;gap:var(--space-2);margin-top:var(--space-6)}.drawer-contact .shell-button{min-height:48px}.menu-drawer a[aria-current],.shell-nav a[aria-current]{border-bottom:2px solid var(--color-text-accent);color:var(--color-text-accent)}
.site-footer{background:var(--color-bg-surface);border-top:1px solid var(--color-border-subtle);margin-top:var(--space-section);padding:0 var(--space-page-x) 84px;text-align:left;color:var(--color-text-secondary);font:var(--text-body-sm)}
.footer-store{max-width:none;margin:auto;scroll-margin-top:var(--size-header)}.footer-store h2{font:600 15px/22px var(--font-sans);color:var(--color-text-primary);margin:0 0 12px}.footer-store p{margin:0;overflow-wrap:anywhere}.site-footer a{color:var(--color-text-accent)}
.store-nap{line-height:22px}.store-nap a{display:inline-block;min-height:44px;line-height:44px}.about summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;cursor:pointer;list-style:none}.about summary::-webkit-details-marker{display:none}.about[open] summary span{transform:rotate(180deg)}.about p{margin-bottom:12px}.about>a{display:inline-flex;align-items:center;min-height:44px}
.footer-categories{display:flex;flex-wrap:wrap;gap:0 12px}.footer-categories a{display:inline-flex;align-items:center;min-height:44px;font:400 12px/20px var(--font-sans);text-decoration:none;white-space:nowrap}
.menu-drawer nav h3{margin:12px 0;font:var(--text-h3)}.menu-filter{display:flex;align-items:center;width:100%;min-height:52px;padding:0;border:0;border-bottom:1px solid var(--color-border-subtle);background:none;color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer}
#main-content{max-width:none;width:100%;margin:0 auto;padding:var(--space-4) var(--space-page-x) 0;min-width:0}#main-content:focus{outline-offset:-2px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.breadcrumbs a{min-height:44px;display:inline-flex;align-items:center}.error-content{min-height:40vh}.error-content h1{font:var(--text-h1)}.error-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}
@media(min-width:1024px){.shell-header{gap:var(--space-3)}.shell-brand{flex:0 1 auto;font-size:16px}.shell-brand img{width:40px;height:40px}.shell-nav{display:flex;flex:1;justify-content:center;font:var(--text-label);min-width:0}.shell-nav a,.shell-nav summary{display:flex;align-items:center;min-height:44px;padding:0 8px;text-decoration:none;color:var(--color-text-secondary)}.shell-nav details{position:relative}.shell-nav details div{position:absolute;background:var(--color-bg-raised);box-shadow:var(--shadow-2);min-width:180px}.header-line{display:inline-flex}.menu-toggle{display:none}.cart-label{display:inline}.shell-cart{width:auto;padding:0 var(--space-3)}}
@keyframes drawer-in{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.menu-drawer[open]{animation:none}}
#main-content h1{font:var(--text-h1);overflow-wrap:anywhere}#main-content .home-intro h1{font:var(--text-display)}.card-price-val,#cart-count,#cart-total-price{font-variant-numeric:tabular-nums}.contact-status{color:var(--color-text-secondary);font:var(--text-body-sm)}
@media(max-width:1023px){.shell-brand{font-size:15px}}

.shell-header{min-width:0}.shell-brand{min-width:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.contact-fab{position:fixed;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));z-index:30;display:flex;flex-direction:column-reverse;align-items:center;gap:12px;transform:translateY(calc(-1 * var(--fab-toast-offset,0px)));transition:transform 200ms var(--ease-out)}
.fab{display:flex;align-items:center;justify-content:center;flex:none;width:56px;height:56px;padding:0;border:0;border-radius:var(--radius-full);box-shadow:var(--shadow-2);text-decoration:none;cursor:pointer}
.fab-primary{background:var(--color-action-primary);color:var(--color-on-primary)}.line-lettering{fill:var(--color-action-primary)}
.fab-secondary{width:48px;height:48px;background:var(--color-bg-raised);color:var(--color-text-primary)}
.fab:active{filter:brightness(.92)}.fab:focus-visible{outline-offset:3px}
.fab-top{width:44px;height:44px;background:var(--color-bg-raised);color:var(--color-text-primary);visibility:hidden;opacity:0;transition:opacity 120ms}.fab-top.is-visible{visibility:visible;opacity:1}
body:has(dialog[open]) .contact-fab,body.keyboard-open .contact-fab{display:none}
@media(max-width:1023px){.site-footer{padding-bottom:calc(56px + 12px + 48px + 12px + 44px + 16px + env(safe-area-inset-bottom))}}
@media(min-width:768px){.fab-secondary{display:none}}
@media(min-width:1024px){.contact-fab{right:24px;bottom:24px}.fab-primary{display:none}}
@media(prefers-reduced-motion:reduce){.contact-fab,.fab-top{transition:none}.shell-badge.bump{animation:none}}
.line-copy-dialog{width:min(560px,calc(100% - 40px));max-height:90dvh;overflow:auto;padding:20px;border:1px solid var(--color-border-control);border-radius:var(--radius-lg);background:var(--color-bg-surface);color:var(--color-text-primary)}.line-copy-dialog::backdrop{background:var(--color-scrim)}.line-copy-dialog h2{font:var(--text-h2)}.line-copy-dialog textarea{display:block;width:100%;min-height:140px;margin:12px 0;background:var(--color-bg-raised);color:var(--color-text-primary);font:var(--text-body-sm)}.line-copy-dialog label{display:block}.line-copy-dialog .shell-button{margin-right:12px}
