:root{--background:#f3f4f6;--foreground:#171717;--button-radius:8px;--badge-radius:6px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.logout-btn{width:42px;height:42px;border-radius:999px}body{margin:0;background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif;min-height:100vh;display:flex;flex-direction:column;box-sizing:border-box;overflow-x:hidden}*,:after,:before{box-sizing:inherit}:focus-visible{outline:3px solid #005fcc!important;outline-offset:2px!important}input:not([aria-invalid=true]),select:not([aria-invalid=true]),textarea:not([aria-invalid=true]){border-color:#6b7280!important}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:#b91c1c!important}input:disabled,select:disabled,textarea:disabled{color:#4b5563!important;-webkit-text-fill-color:#4b5563}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:#111!important;box-shadow:0 0 0 1px #111!important;background-color:#fff}.review-content{margin-top:6px;color:#111;font-size:14px;line-height:1.5}.review-content ol,.review-content ul{padding-left:20px;margin:6px 0 8px}.review-content ul{list-style:disc}.review-content ol{list-style:decimal}.review-content li{margin:2px 0}.review-body{overflow:hidden;max-width:100%}.review-body img{max-width:100%;height:auto;border-radius:8px;display:block}.review-body figure{max-width:100%;margin:8px 0}.my-review-body img{max-width:140px;max-height:110px;object-fit:cover;border-radius:8px}.my-review-body figure,.my-review-body img{display:inline-block;margin:6px 6px 0 0}.rte-editor ol,.rte-editor ul{padding-left:20px;margin:6px 0 8px}.rte-editor ul{list-style:disc}.rte-editor ol{list-style:decimal}.rte-editor li{margin:2px 0}.header-logo:hover span{color:#111;transform:translateY(-1px);transition:color .2s ease,transform .2s ease}.logo-text{display:inline-block;transform-origin:left center;transition:opacity .2s ease;position:relative;z-index:1;color:#111;top:1px}.app-header .logo-text--mobile{display:none}.header-logo a,.header-logo a:active,.header-logo a:hover,.header-logo a:link,.header-logo a:visited{color:#111;text-decoration:none}.auth-pill__admin{color:#0070f3;font-size:12px;margin-left:2px}.app-header .header-right>*{max-width:100%}.auth-block,.header-right{display:flex;align-items:center;gap:8px}.app-header .header-right button,.header-right .auth-block .logout-btn,.header-right .auth-block a,.header-right .location-badge button,.mobile-meta button{transition:border-color .15s ease}.app-header .header-right button:focus-visible,.app-header .header-right button:hover,.header-right .auth-block .logout-btn:focus-visible,.header-right .auth-block .logout-btn:hover,.header-right .auth-block a:not(.auth-badge):focus-visible,.header-right .auth-block a:not(.auth-badge):hover,.header-right .location-badge button:focus-visible,.header-right .location-badge button:hover,.mobile-meta button:focus-visible,.mobile-meta button:hover{border-color:#111!important}.header-right .auth-block .auth-badge,.header-right .auth-block .auth-badge:focus{outline:none!important;box-shadow:none!important;padding:0!important;background:transparent!important;border:none!important}.header-right .auth-block .auth-badge:focus-visible{outline:3px solid #005fcc!important;outline-offset:2px!important;border-radius:999px}.header-right .auth-block .auth-badge .auth-pill{border:1px solid #d1d5db!important;background:#f3f4f6!important;transition:border-color .15s ease}.header-right .auth-block .auth-badge .auth-pill.auth-pill--admin{background:linear-gradient(180deg,#b98c2f 0,#d9b45a 25%,#fff2b5 50%,#d9b45a 75%,#b98c2f)!important;background-repeat:no-repeat!important;background-size:100% 100%!important;border-color:#d1d5db!important;color:#111!important;box-shadow:none!important}.header-right .auth-block .auth-badge .auth-pill:focus,.header-right .auth-block .auth-badge .auth-pill:focus-visible,.header-right .auth-block .auth-badge .auth-pill:hover,.header-right .auth-block .auth-badge:focus .auth-pill,.header-right .auth-block .auth-badge:focus-visible .auth-pill,.header-right .auth-block .auth-badge:hover .auth-pill{border-color:#111!important}.app-header .auth-pill,.app-header .header-right a,.app-header .header-right button,.location-badge button{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.app-header .header-right .message-center-btn,.app-header .header-right .meta-toggle{overflow:visible;flex:0 0 auto}.app-header .header-right .message-center-btn svg,.app-header .header-right .meta-toggle svg{flex:0 0 auto;display:block}.location-badge button{white-space:nowrap}.location-prompt-action{appearance:none;border:0;background:transparent;color:#111;padding:2px 0;display:inline-flex;align-items:center;gap:4px;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.location-prompt-action:hover{color:#000;text-decoration-thickness:2px}.location-prompt-action:focus-visible{outline:3px solid #005fcc;outline-offset:3px;border-radius:3px}.page-hero{gap:12px;flex-wrap:wrap;align-items:center}.page-hero__title{max-width:100%}.shop-grid{grid-template-columns:minmax(320px,1.6fr) minmax(260px,1fr);align-items:start}.shop-aside,.shop-grid,.shop-main{display:grid;gap:16px}@media (max-width:900px){.app-header{flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding:12px;position:sticky;top:0;overflow:visible;width:100%;box-sizing:border-box}.app-header .header-logo span{font-size:20px}.logo-text{display:inline-block;position:relative;transform-origin:left center;transform:scaleX(0);opacity:0;pointer-events:none;line-height:1.1;white-space:nowrap;max-width:calc(100vw - 140px);overflow:hidden;text-overflow:clip;font-size:clamp(6px,2vw,16px);letter-spacing:-.01em;flex-shrink:1}.logo-text--flash{display:inline-block;animation:logoFlash 1.4s ease forwards;z-index:5;background:#fff;padding:4px 8px;border-radius:8px;box-shadow:0 0 0 24px #fff}.logo-text--force{display:inline-block;opacity:1;transform:scaleX(1);animation:none;background:transparent;padding:0;border-radius:0;box-shadow:none}.app-header .header-right{width:auto;display:flex;justify-content:flex-end;align-items:center;gap:6px;margin-top:0;flex-wrap:nowrap;position:relative;padding:0 52px 0 0;box-sizing:border-box;flex:0 0 auto}.app-header .header-right>*{min-width:0;flex-shrink:0}.app-header .header-right--signed-out{flex-shrink:1;min-width:0;padding-right:0}.app-header .header-right--signed-out .header-auth{flex:0 0 auto;max-width:none}.app-header .header-right--signed-out .login-btn{position:static;transform:none}.app-header.app-header--signed-out .header-logo{flex:0 0 auto}.app-header .header-right--signed-out .header-location{flex-shrink:1;min-width:0;max-width:180px;margin-right:0}.header-right--signed-out .location-badge{min-width:0;max-width:100%}.header-right--signed-out .location-badge>button{max-width:100%}.header-right--signed-out .location-badge>button>span:first-child{flex-shrink:0}.header-right--signed-out .location-badge>button>span:last-child{overflow:hidden;text-overflow:ellipsis}.app-header .header-location{margin-right:6px}.app-header .header-auth,.app-header .header-location{flex:0 1 auto;display:flex;justify-content:flex-end;align-items:center}.app-header .header-auth{gap:8px;min-width:0;max-width:calc(100% - 64px)}.mobile-meta{position:fixed;right:12px;top:64px;background:#fff;border:1px solid var(--meta-border,#e5e7eb);border-radius:12px;padding:10px;box-shadow:0 10px 30px rgba(0,0,0,.12);display:grid;gap:10px;align-items:stretch;width:auto;max-width:min(360px,calc(100vw - 24px));z-index:60}.mobile-meta .header-auth,.mobile-meta .header-location{justify-content:flex-start;width:100%}.mobile-meta button svg{display:block;width:16px;height:16px;min-width:16px;flex:0 0 16px}.meta-skeleton{display:flex;gap:10px;align-items:center}.badge-skeleton{width:110px;height:34px;border-radius:999px;background:linear-gradient(90deg,#f3f4f6,#e5e7eb 50%,#f3f4f6);background-size:200% 100%;animation:shimmer 1s linear infinite}.app-header .header-logo{align-self:center;flex:1 1 0;min-width:0;gap:6px}@media (max-width:520px){.review-action-label,.review-report-label{display:none!important}}.review-action-label,.review-report-label{font-size:13px;font-weight:600}@media (max-width:640px){.app-header .logo-text--desktop{display:none!important}.app-header .logo-text--mobile{display:inline-block!important}.review-actions{flex-direction:column!important;align-items:flex-start}.review-actions button{width:100%;justify-content:flex-start}.shop-header-actions{flex-wrap:nowrap!important;gap:6px!important}.shop-header-actions a,.shop-header-actions button{padding:8px!important;gap:4px!important}.shop-header-action-label{display:none!important}}.app-header .login-btn,.app-header .logout-btn{position:absolute;top:50%;right:6px;transform:translateY(-50%)}.app-header .login-btn{z-index:2}.auth-pill__label{display:none}.auth-pill__text{display:inline-flex;align-items:center;gap:4px}.auth-pill__text:after{content:""}.auth-pill__admin{font-size:10px;margin-left:2px}.page-hero{flex-direction:row;align-items:center;flex-wrap:nowrap;gap:8px}.page-hero__title{font-size:clamp(16px,4.5vw,20px)!important;white-space:nowrap;min-width:0}.page-hero a{align-self:center;font-size:clamp(13px,4vw,14px);padding:8px 14px;display:inline-block;white-space:nowrap;flex:0 0 auto}.auth-pill{padding:10px 12px;gap:6px;border-radius:10px;border:1px solid #e5e7eb;background:#f3f4f6}.app-header .auth-pill{padding:10px 12px!important;border-radius:10px!important;font-weight:600;border:1px solid #e5e7eb;height:42px;min-height:42px;line-height:1}.auth-pill--admin{background:#fcd34d!important;border-color:#c2410c!important}.auth-block{flex-direction:column-reverse;align-items:flex-end;gap:10px;min-width:0}.auth-pill{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location-dialog{width:min(420px,calc(100vw - 24px))}.card-contact-detail{display:inline}.card-contact-icon{display:inline-flex}.shop-grid{grid-template-columns:1fr}.shop-main{order:1}.shop-aside{order:2}}.logo-text--flash{animation:logoFlash 1.4s ease forwards}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes logoFlash{0%{opacity:0;transform:translateY(-50%) scaleX(.1) translateX(-2px)}20%{opacity:1;transform:translateY(-50%) scaleX(1) translateX(0)}70%{opacity:1;transform:translateY(-50%) scaleX(1)}to{opacity:0;transform:translateY(-50%) scaleX(.1) translateX(-4px)}}.garage-door{position:fixed;inset:0;background:repeating-linear-gradient(180deg,#f2f2f2 0,#f2f2f2 12px,#d6d6d6 0,#d6d6d6 14px);z-index:9999;pointer-events:none;transform:translateY(-100%);box-shadow:inset 0 0 12px rgba(0,0,0,.18)}.garage-door__brand{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:translateY(-6px);gap:6px;pointer-events:none;color:#111;text-align:center;font-size:clamp(24px,8vw,36px);font-weight:700;text-shadow:0 2px 6px rgba(0,0,0,.35)}.garage-door__text{background:transparent;padding:0;border-radius:0;color:#000;font-family:Courier New,monospace;letter-spacing:.08em;text-shadow:0 1px 4px rgba(255,255,255,.7),0 2px 10px rgba(0,0,0,.3);transform:translateY(-4px)}.garage-door__brand img{margin-top:8px}.garage-door--closing{animation:doorClose .55s ease forwards}.garage-door--opening{animation:doorOpen .55s ease forwards}@keyframes doorClose{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes doorOpen{0%{transform:translateY(0)}to{transform:translateY(-100%)}}.header-separator{height:1px;background:#e5e7eb;box-shadow:0 1px 0 rgba(0,0,0,.02)}.logout-btn{position:static;z-index:2}.modify-btn{display:none}@media (min-width:901px){.app-header .header-right{position:relative;width:auto;padding-right:16px}.app-header .header-auth{margin-left:0;display:flex;justify-content:flex-end;align-items:center;gap:8px}.app-header .header-location{padding-left:0}.app-header .header-auth>.login-btn{margin-left:0}}.app-header .header-right .auth-pill,:is(button,[role=button],input[type=submit],input[type=button],input[type=reset],a[data-button-feedback],a[data-button-shape=rectangle]){border-radius:var(--button-radius)!important}:is(button,[role=button],input[type=submit],input[type=button],input[type=reset],a[data-button-feedback]):not(:disabled):not([aria-disabled=true]):not([data-button-feedback=off]):is(:active,[data-press-active=true],[data-delayed-pressed=true]){background:var(--button-press-color,#111)!important;border-color:var(--button-press-color,#111)!important;color:#fff!important}[data-press-tone=red]{--button-press-color:#b91c1c}:is(button,[role=button],input[type=submit],input[type=button],input[type=reset],a[data-button-feedback]):not(:disabled):not([aria-disabled=true]):not([data-button-feedback=off]):is(:active,[data-press-active=true],[data-delayed-pressed=true]) :is(span,div,p,strong,small){color:inherit!important}:is(button,[role=button],input[type=submit],input[type=button],input[type=reset],a[data-button-feedback]):not(:disabled):not([aria-disabled=true]):not([data-button-feedback=off]):is(:active,[data-press-active=true],[data-delayed-pressed=true]) svg [stroke]:not([stroke=none]),:is(button,[role=button],input[type=submit],input[type=button],input[type=reset],a[data-button-feedback]):not(:disabled):not([aria-disabled=true]):not([data-button-feedback=off]):is(:active,[data-press-active=true],[data-delayed-pressed=true]) svg[stroke]:not([stroke=none]){stroke:currentColor!important}:is(button,[role=button],input[type=submit],input[type=button],input[type=reset],a[data-button-feedback]):not(:disabled):not([aria-disabled=true]):not([data-button-feedback=off]):is(:active,[data-press-active=true],[data-delayed-pressed=true]) svg [fill]:not([fill=none]),:is(button,[role=button],input[type=submit],input[type=button],input[type=reset],a[data-button-feedback]):not(:disabled):not([aria-disabled=true]):not([data-button-feedback=off]):is(:active,[data-press-active=true],[data-delayed-pressed=true]) svg[fill]:not([fill=none]){fill:currentColor!important}.app-header .header-right .auth-block .auth-badge:is(:active,[data-press-active=true],[data-delayed-pressed=true]) .auth-pill{background:#111!important;border-color:#111!important;color:#fff!important}