/* Capilano controls: warm enamel, precise outlines and directional details. */
:root{--control-ease:cubic-bezier(.2,.75,.25,1);--control-ring:#db8f50}
button,a,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--control-ring);outline-offset:4px}
.header nav{gap:22px}.header nav a{position:relative;min-height:44px;display:inline-flex;align-items:center;font-size:12px;font-weight:600;letter-spacing:.1px}.header nav a:after{content:'';position:absolute;bottom:8px;left:0;right:0;height:1px;background:#edb780;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--control-ease)}.header nav a:hover:after,.header nav a:focus-visible:after{transform:scaleX(1)}
.text-link{min-height:44px;border:1px solid #e9b68160;border-radius:40px;padding:6px 7px 6px 17px;gap:22px;background:#f7eddb05;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.text-link span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#e9b681;color:#411321;font-size:16px;transition:transform .25s var(--control-ease)}.text-link:hover{background:#e9b68115}.text-link:hover span{transform:translateY(2px)}
.choice{position:relative;overflow:hidden;isolation:isolate;border:1px solid #ffffff48;border-radius:18px 18px 18px 5px;box-shadow:inset 0 1px 0 #ffffff55,0 5px 0 #17061026;gap:13px;padding:21px 18px;min-height:106px;transition:transform .25s var(--control-ease),box-shadow .25s var(--control-ease)}.choice:before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,#ffffff16,transparent 50%);z-index:-1}.choice strong{font-size:21px;line-height:1.15;font-weight:750;letter-spacing:-.65px}.choice small{font-size:10px;line-height:1.7;opacity:.85;max-width:210px}.choice-icon{display:none!important}.choice-arrow{height:40px;width:40px;flex:0 0 40px;border:1px solid #2c223135;background:#fff7e93d;border-radius:50%;display:grid;place-items:center;font-size:23px;transition:background .25s,transform .25s var(--control-ease)}.choice:hover{transform:translateY(-4px);box-shadow:inset 0 1px 0 #ffffff80,0 9px 0 #17061026,0 18px 25px #17061020}.choice:hover .choice-arrow{background:#fff7e9aa;transform:rotate(-35deg)}.delivery-choice:hover .choice-arrow{transform:translate(2px,-2px)}.choice:active{transform:translateY(1px);box-shadow:inset 0 1px 0 #ffffff55,0 2px 0 #17061026}
.filters,.pickup-menu-filters{gap:7px}.filters button,.pickup-menu-filters button{min-height:44px;border-radius:12px;border:1px solid #bfa79488;background:#fffaf245;color:#6d4c50;font-size:12px;font-weight:600;padding:10px 16px;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}.filters button:hover,.pickup-menu-filters button:hover{background:#fffaf2;border-color:#8c5f63}.filters button.selected,.pickup-menu-filters button.selected{background:#592137;color:#fff5e7;border-color:#592137;box-shadow:0 3px 0 #32132322}.filters button:active,.pickup-menu-filters button:active{transform:translateY(1px)}
.product .product-order{border:1px solid #bfa79488;background:#fffaf280;border-radius:12px;min-height:46px;padding:6px 7px 6px 14px;color:#592137;font-size:11px;font-weight:650;align-items:center;transition:background .22s,border-color .22s,box-shadow .22s}.product-order span:last-child{width:31px;height:31px;display:grid;place-items:center;border:1px solid #bfa79470;border-radius:50%;font-size:19px;transition:background .22s,color .22s,transform .22s}.product .product-order:hover{background:#fffaf2;border-color:#8f5866;box-shadow:0 4px 12px #4824330d}.product-order:hover span:last-child{background:#592137;color:#fff5e7;transform:rotate(-12deg)}
.order,.location-route,.booking-dialog .form-actions button,.pickup-item-bottom button,.pickup-menu-foot>button{min-height:48px;border:1px solid #ffffff20;border-radius:12px;background:linear-gradient(135deg,#743047,#51172f);color:#fff5e8;font-weight:650;box-shadow:inset 0 1px 0 #ffffff20,0 3px 0 #32132330;transition:transform .2s var(--control-ease),box-shadow .2s,filter .2s}.order:hover,.location-route:hover,.booking-dialog .form-actions button:not(:disabled):hover,.pickup-item-bottom button:hover,.pickup-menu-foot>button:not(:disabled):hover{filter:brightness(1.13);transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff25,0 5px 0 #32132325,0 8px 18px #32132315}.order:active,.location-route:active,.booking-dialog .form-actions button:not(:disabled):active,.pickup-item-bottom button:active,.pickup-menu-foot>button:not(:disabled):active{transform:translateY(1px);box-shadow:inset 0 1px 0 #ffffff20,0 1px 0 #32132330}
.pickup-item-bottom button{padding:9px 18px;display:inline-flex;align-items:center;justify-content:center;gap:16px}.pickup-item-bottom button:after{content:'+';font-size:20px;line-height:1;font-weight:400}.dialog-close{min-width:44px;width:44px;min-height:44px;height:44px;flex-shrink:0;background:#fffaf270;border:1px solid #bfa79480;display:grid;place-items:center;line-height:1;transition:transform .25s var(--control-ease),background .2s,border-color .2s}.dialog-close:hover{background:#fffaf2;border-color:#8f5866;transform:rotate(90deg)}
.bag-line button{min-height:44px;border:1px solid #bfa79488;border-radius:9px;background:#fffaf2;padding:7px 11px;font-weight:600;transition:background .2s,transform .2s}.bag-line button:hover{background:#ebdcd2}.bag-line button:active{transform:scale(.95)}.bag-controls button{min-width:44px}.bag-button{min-height:52px;border-radius:15px 15px 15px 5px;padding:15px 23px;background:linear-gradient(130deg,#f4bf82,#e9a45e);border:1px solid #f8d7af;color:#451b2a;box-shadow:inset 0 1px 0 #fff6,0 5px 0 #7c3b4033,0 12px 30px #17061055;transition:transform .2s,box-shadow .2s}.bag-button:hover{transform:translateY(-3px);box-shadow:inset 0 1px 0 #fff6,0 8px 0 #7c3b4033,0 16px 34px #17061055}.bag-button:active{transform:translateY(1px)}
.contact-phone{width:fit-content;letter-spacing:-.7px;transition:color .2s}.contact-phone:hover{color:#fff2df}.contact-directions,.location-call,footer a{min-height:44px;display:inline-flex;align-items:center;gap:10px;font-weight:600;transition:color .2s}.contact-directions{border:1px solid #e9b68160;border-radius:40px;padding:8px 17px;background:#e9b68108}.contact-directions:hover{background:#e9b68118;color:#fff2df}.location-call{display:flex;justify-content:center;margin-top:9px;border-radius:8px}.location-call:hover{background:#59213708;color:#592137}footer a{padding:0 13px;border:1px solid #e9b68140;border-radius:40px}footer a:hover{background:#e9b68115;color:#fff2df}
button:disabled,.pickup-menu-foot>button:disabled{box-shadow:none;transform:none;filter:none;background:#ddd0d2;color:#897079;border-color:transparent;opacity:.75;cursor:not-allowed}
@media(max-width:900px){.choice{padding:19px 15px;gap:10px}.choice strong{font-size:19px}.choice-arrow{width:33px;height:33px;flex-basis:33px;font-size:20px}.text-link{font-size:11px}}
@media(max-width:600px){.header nav{gap:10px}.header nav a{font-size:11px}.hero .text-link{position:static;min-height:42px;font-size:11px;padding:5px 6px 5px 14px;gap:20px;margin-top:2px}.hero .text-link span{width:28px;height:28px}.choice{min-height:84px;padding:16px 18px;border-radius:14px 14px 14px 4px}.choice strong{font-size:19px}.choice small{font-size:10px;max-width:none}.choice-arrow{width:37px;height:37px;flex-basis:37px}.filters button,.pickup-menu-filters button{font-size:10px;padding:10px 9px;min-height:44px;border-radius:10px}.product .product-order{font-size:10px;padding-left:9px;gap:4px;min-height:44px;border-radius:10px}.product-order span:last-child{width:25px;height:25px;flex:0 0 25px;font-size:16px}.pickup-item-bottom button{min-height:44px}.contact-phone{font-size:25px}.order{min-height:48px}.dialog-close{width:44px;height:44px}.bag-button{bottom:15px}.contact-directions{padding-inline:15px}}
@media(hover:none){.choice:hover,.order:hover,.location-route:hover,.bag-button:hover,.pickup-item-bottom button:hover,.pickup-menu-foot>button:not(:disabled):hover,.booking-dialog .form-actions button:not(:disabled):hover{transform:none}.dialog-close:hover{transform:none}}
@media(prefers-reduced-motion:reduce){button,a,summary,.choice-arrow,.text-link span,.product-order span:last-child{transition:none!important;animation:none!important}.choice:hover,.choice:hover .choice-arrow,.product-order:hover span:last-child,.text-link:hover span,.dialog-close:hover{transform:none}}
/* The product label already contains its plus icon. */
.pickup-item-bottom{flex-wrap:wrap;gap:10px}.pickup-item-bottom button{white-space:nowrap;gap:10px}.pickup-item-bottom button:after{content:none}

.flavor-tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.flavor-tag{border-radius:30px;background:#e5dfcb;color:#42202b;padding:6px 10px;font-size:11px;font-weight:750;letter-spacing:.02em}.flavor-tag.hot{background:#fbd4c9;color:#8b2315}.flavor-tag.mushroom,.flavor-tag.truffle{background:#ddd6ed;color:#49345d}.flavor-tag.chicken,.flavor-tag.cheese,.flavor-tag.maple{background:#f8df9d;color:#664217}.allergen-info{font-size:12px;color:inherit;margin:8px 0 16px;max-width:100%}.allergen-info summary{cursor:pointer;min-height:36px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.allergen-info summary:before{content:'＋';margin-right:8px}.allergen-info[open] summary:before{content:'−'}.allergen-info p{font-size:12px!important;line-height:1.6!important;margin:8px 0!important}.allergen-info a{font-weight:700;color:inherit}.reviews-section{background:#eddcc6;color:#411321}.reviews-section h2{font-size:clamp(32px,4vw,54px)}.reviews-section .text-link{color:#411321}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.review-grid figure{margin:0;padding:26px;background:#f9f1e5;border:1px solid #41132120;border-radius:24px 24px 24px 4px;display:flex;flex-direction:column}.review-grid figure:nth-child(2){background:#e2dfed}.review-grid figure:nth-child(3){background:#e3e8d4}.review-mark{font:56px Georgia;line-height:1;color:#87384b}.review-grid blockquote{margin:0 0 24px;font:22px/1.4 Georgia;flex:1}.review-grid figcaption{font-size:13px;font-weight:700}.review-grid small{display:block;font-size:11px;font-weight:400;margin-top:6px}.reviews-source{font-size:11px;line-height:1.6;margin-top:18px}.reviews-source a{color:inherit}.allergen-info summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}@media(max-width:700px){.review-grid{grid-template-columns:1fr}.review-grid figure{padding:22px}.review-grid blockquote{font-size:21px}.reviews-section .section-head{display:block}.reviews-section .text-link{display:inline-block;margin-top:18px}}

.signature-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:8px 18px 18px 8px;font-size:12px;font-weight:800;letter-spacing:.02em;margin-top:12px}.signature-badge svg{width:21px;height:21px;flex-shrink:0}.signature-badge.royal{color:#51360b;background:linear-gradient(120deg,#f9e8b2,#e9bf5e);border:1px solid #b8872e55;box-shadow:0 3px 0 #b68b3530}.signature-badge.favorite{background:#eadced;color:#67334f}.signature-badge.favorite>span{color:#a05a79}

.product-name{min-width:0}.signature-badge{font-size:10px;padding:4px 8px;gap:5px;margin-top:6px;border-radius:6px 12px 12px 6px;line-height:1.3;box-shadow:none!important}.signature-badge svg{width:14px;height:14px}.product-top{align-items:flex-start}.pickup-item .signature-badge{margin:3px 0 6px}
