/* Customer menu only: photographic campaign and live category rail. */
.customer-menu-v3{background:#faf7f2;color:#1c1917}
.customer-menu-v3 .app-header{position:relative;flex-direction:column;gap:12px;border:0;padding:24px 20px 12px;max-width:1200px;margin:auto;background:transparent;backdrop-filter:none}
.customer-menu-v3 .brand-badge-group{flex-direction:column;gap:10px;align-items:center}
.customer-menu-v3 .header-logo{width:190px;height:auto;max-height:110px;object-fit:contain}
.customer-menu-v3 .branch-indicator{text-align:center}.customer-menu-v3 .branch-title-row{justify-content:center}.customer-menu-v3 .branch-title{font-size:15px}.customer-menu-v3 .branch-status-pill{font-size:11px}
.customer-menu-v3 .header-actions{position:absolute;right:20px;top:28px}.customer-menu-v3 .header-actions button:last-child{display:none}
.customer-search-wrap{max-width:1200px;margin:0 auto;padding:12px 20px 20px}.customer-search-trigger{display:flex;align-items:center;gap:14px;width:100%;min-height:56px;border:1px solid #eee9e2;border-radius:999px;padding:14px 22px;background:#fff;color:#78716c;box-shadow:0 6px 24px #1c191706;font:inherit;text-align:left;cursor:pointer}.customer-search-trigger svg{width:24px;height:24px;color:#1c1917}
.customer-campaign{position:relative;max-width:1160px;margin:0 auto 18px;border-radius:28px;overflow:hidden;background:#111;aspect-ratio:2.5;isolation:isolate}.customer-campaign>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.customer-campaign:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0009,transparent 65%);z-index:0}.customer-campaign-copy{position:absolute;z-index:1;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(20px,4vw,48px);color:#fff}.customer-campaign-badge{padding:7px 12px;border-radius:999px;background:#bd171b;color:#fff;font-size:12px;font-weight:750;letter-spacing:.4px}.customer-campaign h2{margin:14px 0 10px;line-height:.95;font-weight:900;letter-spacing:-2px}.customer-campaign h2 span{display:block;font-size:clamp(48px,8vw,100px)}.customer-campaign h2 strong{display:block;font-size:clamp(30px,5vw,64px);color:#e51c24;letter-spacing:-1px}.customer-campaign p{margin:0;font-size:clamp(13px,1.6vw,20px);line-height:1.4}
.customer-menu-v3 .category-rail-container{top:0;padding:12px 0;border-bottom:1px solid #eee9e2}.customer-menu-v3 .category-rail{max-width:1200px;margin:auto;gap:16px;padding:0 20px 4px;align-items:flex-start}.customer-menu-v3 .category-pill{background:transparent;border:0;border-radius:0;box-shadow:none;flex-direction:column;gap:8px;padding:0;width:88px;color:#1c1917;white-space:normal;text-align:center;font-size:13px;line-height:1.2;min-height:110px}.customer-menu-v3 .category-pill.active{color:#b5151b;transform:none;background:transparent;box-shadow:none}.category-photo{display:flex;align-items:center;justify-content:center;width:80px;height:80px;overflow:hidden;border:1px solid #eee9e2;border-radius:50%;background:#f4eee7;transition:border-color .2s}.category-photo img{width:100%;height:100%;object-fit:cover}.customer-menu-v3 .category-pill.active .category-photo{border:2px solid #b5151b;background:#f9e8e5}.category-photo-empty svg{width:30px;height:30px}.customer-menu-v3 .category-block{scroll-margin-top:145px}.customer-menu-v3 .customer-search-trigger:focus-visible,.customer-menu-v3 .category-pill:focus-visible{outline:2px solid #b5151b;outline-offset:4px}
@media(max-width:700px){.customer-menu-v3 .app-header{padding:20px 16px 8px}.customer-menu-v3 .header-logo{width:160px;max-height:95px}.customer-menu-v3 .header-actions{right:12px;top:20px;gap:6px}.customer-menu-v3 .header-btn{width:32px;height:32px;padding:6px}.customer-search-wrap{padding:10px 16px 16px}.customer-campaign{margin:0 16px 12px;border-radius:24px;aspect-ratio:1.65}.customer-campaign-copy{padding:20px}.customer-campaign h2 span{font-size:60px}.customer-campaign h2 strong{font-size:34px}.customer-campaign-badge{font-size:10px}.customer-campaign p{font-size:12px}.customer-menu-v3 .category-rail{gap:10px;padding:0 16px 4px}.customer-menu-v3 .category-pill{width:76px;font-size:12px;min-height:96px}.category-photo{width:68px;height:68px}.customer-menu-v3 .category-block{scroll-margin-top:125px}}
@media(prefers-reduced-motion:reduce){.customer-menu-v3 .category-rail{scroll-behavior:auto}.category-photo{transition:none}}

.customer-menu-v3 .category-pill>span:last-child{font-size:13px!important;line-height:1.25!important;font-weight:600!important;max-width:100%;overflow-wrap:anywhere}.customer-menu-v3 .category-rail-container .category-pill{gap:8px!important}
@media(max-width:700px){.customer-menu-v3 .category-pill>span:last-child{font-size:14px!important}.customer-menu-v3 .branch-title{font-size:15px!important}}

/* Customer product layout: one row per product; descriptions live in details. */
.customer-menu-v3{--accent-primary:#d71920;--accent-muted:#a91118;--accent-gradient:linear-gradient(135deg,#c8161c,#e21a23);--surface-page:#faf8f5;--surface-secondary:#f2ece4;--customer-rail-offset:148px}
.customer-menu-v3 .menu-main-container{max-width:1200px;margin:auto;padding:24px 20px 48px}
.customer-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.customer-section-heading h2{font:700 28px/1.2 var(--font-display);margin:0;letter-spacing:-.7px}
.customer-section-heading button{display:flex;align-items:center;gap:8px;min-height:44px;border:0;background:none;color:#1c1917;font:500 14px var(--font-display);cursor:pointer}
.customer-section-heading svg{width:20px;height:20px;color:#d71920}
.customer-featured{margin-bottom:28px}
.customer-featured-grid{display:flex;align-items:stretch;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 2px 12px;scrollbar-width:thin}
.customer-menu-v3 .product-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.customer-menu-v3 .bento-card{display:flex;flex-direction:row;align-items:center;gap:16px;min-width:0;padding:14px;background:#fff;border:1px solid #eee8e0;border-radius:20px;box-shadow:0 4px 16px #30241c05;cursor:pointer;transition:border-color .16s}
.customer-menu-v3 .bento-card:hover{transform:none;border-color:#dec6b9;box-shadow:0 4px 16px #30241c05}
.customer-menu-v3 .bento-card:active{transform:none}
.customer-menu-v3 .bento-img-wrapper{flex:0 0 128px;width:128px;height:112px;aspect-ratio:auto;border-radius:14px;background:#fff;align-self:center}
.customer-menu-v3 .bento-img{object-fit:contain}
.customer-menu-v3 .bento-card:hover .bento-img{transform:none}
.customer-menu-v3 .bento-info{display:flex;flex-direction:column;justify-content:flex-start;gap:10px;flex:1;min-width:0;padding:0}
.customer-menu-v3 .bento-title-row{margin:0}
.customer-menu-v3 .bento-prod-name{font:600 18px/1.3 var(--font-display);letter-spacing:-.25px;color:#111;margin:0;overflow-wrap:break-word}
.customer-menu-v3 .bento-price-row{margin:0;padding:0;gap:10px;min-height:44px;flex-wrap:wrap}
.customer-menu-v3 .price-container{flex-wrap:wrap;min-width:0;gap:4px 8px}
.customer-menu-v3 .price-current{font:650 22px/1.25 var(--font-display);color:#111;white-space:normal}
.customer-menu-v3 .bento-card.price-pending .price-current{font-size:14px;line-height:1.35;color:#78716c}
.customer-menu-v3 .price-strikethrough{font-size:14px}
.customer-product-add{display:flex;align-items:center;justify-content:center;flex:none;margin-left:auto;width:44px;height:44px;border-radius:50%;background:#e71920;color:#fff;font:400 30px/1 var(--font-display)}
.customer-menu-v3 .bento-card.sold-out{opacity:1;filter:none}
.customer-menu-v3 .bento-card.sold-out .customer-product-add{background:#f2ece4;color:#8c827a;font-size:20px}
.customer-menu-v3 .soldout-badge{z-index:2;top:8px;right:8px;left:auto;border-radius:999px;font-size:11px;padding:5px 8px;background:#fffffff0;color:#78716c;border:1px solid #eee8e0}
.customer-menu-v3 .bento-card--featured{flex:0 0 224px;flex-direction:column;align-items:stretch;gap:0;padding:0;scroll-snap-align:start}
.customer-menu-v3 .bento-card--featured .bento-img-wrapper{flex:none;width:100%;height:144px;align-self:stretch;border-radius:19px 19px 0 0}
.customer-menu-v3 .bento-card--featured .bento-info{padding:12px;gap:10px}
.customer-menu-v3 .bento-card--featured .bento-prod-name{font-size:16px}
.customer-menu-v3 .bento-card--featured .bento-price-row{margin-top:auto;padding-top:4px}
.customer-menu-v3 .category-header{border-bottom:0;padding:0;margin-bottom:16px;gap:10px}
.customer-menu-v3 .category-title{font:700 28px/1.2 var(--font-display);letter-spacing:-.7px;color:#111}
.customer-menu-v3 .category-title>svg{display:none}
.customer-menu-v3 .subcategory-tag{font-size:14px;letter-spacing:0;color:#78716c}
.customer-menu-v3 .category-item-count{flex:none;padding:0;background:transparent;font-size:13px;color:#8c827a}
.customer-menu-v3 .category-block,.customer-menu-v3 .subcategory-group{scroll-margin-top:var(--customer-rail-offset)}
.customer-menu-v3 .bento-card:focus-visible{outline:2px solid #d71920;outline-offset:3px}
.customer-menu-v3 .app-header{padding:24px 20px 6px;gap:0}
.customer-menu-v3 .brand-badge-group{gap:0}
.customer-menu-v3 .header-actions{top:26px}
.customer-menu-v3 .header-actions .header-btn{background:transparent;border:0;box-shadow:none;color:#8c827a}
.customer-menu-v3 .header-logo{width:180px;max-height:105px}
.customer-menu-v3 .customer-search-wrap{padding-top:14px}
.customer-note-trigger{position:fixed;z-index:1100;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;min-height:52px;max-width:calc(100vw - 112px);padding:12px 18px;border:0;border-radius:999px;background:#d71920;color:#fff;font:600 14px/1.2 var(--font-display);white-space:nowrap;box-shadow:0 8px 28px #900f2033;cursor:pointer}
.customer-note-trigger svg{width:20px;height:20px;flex:none}
.customer-menu-v3 [hidden]{display:none!important}
.customer-menu-v3:has(.customer-note-trigger:not([hidden])) .menu-main-container{padding-bottom:108px}
.customer-menu-v3 .btn-back-to-top{right:16px;bottom:max(20px,env(safe-area-inset-bottom));width:44px;height:44px}
@media(max-width:700px){
 .customer-menu-v3{--customer-rail-offset:132px}
 .customer-menu-v3 .menu-main-container{padding:18px 16px 36px}
 .customer-section-heading h2,.customer-menu-v3 .category-title{font-size:24px}
 .customer-section-heading button{font-size:13px}
 .customer-featured-grid{gap:12px}
 .customer-menu-v3 .bento-card{padding:12px;gap:12px;border-radius:18px}
 .customer-menu-v3 .bento-img-wrapper{flex-basis:100px;width:100px;height:100px;border-radius:12px}
 .customer-menu-v3 .bento-info{gap:6px}
 .customer-menu-v3 .bento-prod-name{font-size:16px;line-height:1.3}
 .customer-menu-v3 .price-current{font-size:20px}
 .customer-menu-v3 .bento-card--featured{flex-basis:174px;padding:0;gap:0}
 .customer-menu-v3 .bento-card--featured .bento-img-wrapper{flex:none;width:100%;height:118px;border-radius:17px 17px 0 0}
 .customer-menu-v3 .bento-card--featured .bento-info{padding:12px;gap:8px}
 .customer-menu-v3 .bento-card--featured .bento-prod-name{font-size:15px}
 .customer-menu-v3 .app-header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;padding:20px 16px 4px}
 .customer-menu-v3 .brand-badge-group{grid-column:2;grid-row:1;min-width:0}
 .customer-menu-v3 .header-actions{display:contents}
 .customer-menu-v3 .header-btn{width:44px;height:44px;padding:10px}
 .customer-menu-v3 .header-actions button:first-child{grid-column:1;grid-row:1}
 .customer-menu-v3 .header-actions button:nth-child(2){grid-column:3;grid-row:1}
 .customer-menu-v3 .header-logo{width:160px;max-height:95px}
 .customer-menu-v3 .header-actions{top:22px;right:12px}
}
@media(max-width:360px){
 .customer-menu-v3 .bento-img-wrapper{flex-basis:84px;width:84px;height:92px}
 .customer-menu-v3 .bento-card{gap:10px;padding:10px}
 .customer-menu-v3 .bento-card--featured{padding:0}
 .customer-menu-v3 .price-current{font-size:18px}
 .customer-note-trigger{font-size:13px;padding-inline:14px;gap:6px}
}
@media(pointer:coarse),(prefers-reduced-motion:reduce){
 .customer-menu-v3 .bento-card,.customer-menu-v3 .bento-img,.customer-menu-v3 .category-photo{transition:none}
 .customer-menu-v3 .category-rail{scroll-behavior:auto}
}
