@font-face{font-family:InfinityDisplay;src:url('/assets/display-bold.woff') format('woff');font-display:swap;font-weight:700 900}
@font-face{font-family:InfinitySans;src:url('/assets/sans.woff') format('woff');font-display:swap;font-weight:400 500}
@font-face{font-family:InfinitySans;src:url('/assets/sans-bold.woff') format('woff');font-display:swap;font-weight:600 900}
:root{--forest:#0b3725;--forest-soft:#17452f;--paper:#fff9ed;--cream:#f9e8c8;--accent:#1c6345;--muted:#5b695f;--line:#d8dfd2;--sans:InfinitySans,Arial,Helvetica,sans-serif;--display:InfinityDisplay,InfinitySans,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);font-family:var(--sans);color:var(--forest);font-size:1.0rem;line-height:1.55}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea{touch-action:manipulation}button{border:0}a,button,input,select,textarea{outline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #448b62}button:disabled{cursor:default}img{display:block;max-width:100%}.container{width:min(1200px,calc(100% - 96px));margin:auto}[hidden]{display:none!important}.skip-link{position:fixed;z-index:50;top:-100px;background:white;color:black;padding:12px}.skip-link:focus{top:0}.preview-strip{background:#082a1c;color:#f9e8c8;text-align:center;padding:8px 16px;font-size:0.75rem;font-weight:700;letter-spacing:1px}.preview-strip span{font-weight:400;letter-spacing:0;margin-left:18px;color:#d8cfba}.site-header{background:var(--forest);color:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #ffffff14}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:96px}.site-header nav{display:flex;gap:35px;font-size:0.875rem;color:#e5e7d6}.site-header nav a{padding:12px 0}.site-header nav a:hover{color:var(--cream)}.bag-button{display:flex;gap:10px;align-items:center;background:transparent;color:#fff;border:1px solid #86a28d;border-radius:10px;padding:11px 15px;font-size:0.875rem}.bag-button:hover{background:#f9e8c812}.bag-button svg{width:20px;height:20px}.bag-count{min-width:21px;height:21px;display:grid;place-items:center;color:var(--forest);background:var(--cream);border-radius:50%;font-size:0.75rem;font-weight:800}.hero{background:var(--forest);color:#fff9ed;overflow:hidden}.hero-grid{display:grid;grid-template-columns:.93fr 1.07fr;min-height:585px;position:relative;align-items:center}.hero-copy{z-index:1;padding:40px 0 48px}.eyebrow{font-size:0.75rem;letter-spacing:2px;font-weight:700;color:var(--cream);margin:0 0 22px;display:flex;align-items:center;gap:9px}.eyebrow>span:not(.combo-size){display:inline-block}.hero-copy .eyebrow span{width:21px;height:1px;background:var(--cream)}.eyebrow.accent{color:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(56px,6.4vw,89px);font-weight:800;line-height:1.02;letter-spacing:-4px;margin-bottom:24px}em{font-family:inherit;font-weight:inherit;font-style:normal;color:var(--cream)}.hero-description{font-size:1.0625rem;line-height:1.75;color:#d2d8c6;margin-bottom:30px}.hero-actions{display:flex;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 24px;font-weight:700;font-size:0.875rem;border-radius:10px;transition:background .15s,transform .15s;text-align:center;line-height:1.45}.button:hover{transform:translateY(-1px)}.primary{background:var(--accent);color:white}.primary:hover{background:#134d35}.secondary{background:transparent;border:1px solid #89a18e;color:#fff9ed}.secondary:hover{background:#ffffff0c}.dark{background:var(--forest);color:#fff}.dark:hover{background:#1c6345}.cream{background:var(--cream);color:var(--forest)}.cream:hover{background:#fff2d9}.hero-meta{display:flex;gap:14px;align-items:center;margin-top:36px;font-size:0.75rem;color:#c5d1bc;letter-spacing:.2px}.hero-meta i{width:3px;height:3px;border-radius:50%;background:#737365}.hero-visual{position:relative;align-self:stretch;display:flex;align-items:center;margin-right:-48px}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:center;min-height:550px}.hero-visual:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--forest) 0%,transparent 17%),linear-gradient(0deg,var(--forest) 0%,transparent 10%)}.hero-stamp{position:absolute;bottom:53px;right:45px;background:var(--cream);width:142px;height:142px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(9deg);color:var(--forest);z-index:2;border:5px solid var(--cream);outline:1px dashed #587349;outline-offset:-11px;box-shadow:0 8px 32px #0005}.hero-stamp span{font-size:0.75rem;letter-spacing:2px;font-weight:700}.hero-stamp strong{font-size:1.125rem;font-family:var(--display);font-style:normal;font-weight:700;margin:7px 0}.photo-note{position:absolute;right:42px;top:25px;z-index:2;color:#dfdfce;background:#0007;padding:3px 8px;border-radius:3px;font-size:0.75rem}.hero-bottom{border-top:1px solid #ffffff1a;padding:23px 0}.hero-bottom .container{display:flex;align-items:center;gap:50px;color:#b6c6af;font-size:0.8125rem}.hero-bottom .container>span:first-child{color:#e5e7d6}.bottom-mark{margin-left:auto;color:var(--cream)!important;font-size:1.6875rem;line-height:1}.menu-section{padding:80px 0 70px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:32px}.section-heading h2,.how-section h2{font-size:2.75rem;line-height:1.1;letter-spacing:-1.6px;margin:0;font-weight:750}.section-heading>.eyebrow{margin-bottom:14px}.section-heading>p{color:var(--muted);margin:0;font-size:0.9375rem;line-height:1.8;text-align:right}.section-heading .eyebrow{margin-bottom:15px}.category-tabs{display:flex;gap:8px;margin-bottom:30px;overflow-x:auto;padding:4px 1px 9px}.category-tabs button{background:transparent;border:1px solid #d7d8d0;border-radius:30px;padding:11px 20px;font-size:0.875rem;white-space:nowrap;flex-shrink:0;color:#365b44;min-height:45px}.category-tabs button span{margin-left:6px;opacity:.6;font-size:0.75rem}.category-tabs button.active{background:var(--forest);color:white;border-color:var(--forest)}.category-tabs button:hover:not(.active){border-color:#789778}.featured-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.featured-card{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:grid;grid-template-columns:45% 55%;min-height:270px;transition:box-shadow .18s}.featured-card:hover{box-shadow:0 8px 30px #1111100b}.featured-image{position:relative;background:var(--forest);overflow:hidden;min-height:250px}.featured-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.featured-image small{position:absolute;bottom:8px;left:9px;z-index:1;color:#e4e4d9;font-size:0.75rem;background:#0007;padding:2px 6px}.featured-content{padding:25px 23px;display:flex;flex-direction:column;justify-content:center}.card-kicker{font-size:0.75rem;font-weight:800;letter-spacing:1.1px;color:var(--accent);margin:0 0 12px}.featured-content h3{font-size:1.5rem;letter-spacing:-.6px;line-height:1.2;margin-bottom:12px}.featured-content .ingredients{color:var(--muted);font-size:0.875rem;line-height:1.6;margin-bottom:20px}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}.card-price{display:flex;flex-direction:column;white-space:nowrap}.card-price small{font-size:0.75rem;color:var(--muted)}.card-price strong{font-size:1.125rem;letter-spacing:-.5px}.choose-button{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);background:#edf4eb;border:1px solid #c5d8c7;padding:9px 13px;border-radius:4px;font-size:0.8125rem;min-height:42px;font-weight:700}.choose-button:hover{background:var(--accent);color:white}.flavor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.flavor-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:23px;display:flex;flex-direction:column;min-height:212px}.flavor-card-header{display:flex;justify-content:space-between;gap:10px;align-items:center}.flavor-card h3{font-size:1.1875rem;line-height:1.25;letter-spacing:-.35px;margin-bottom:12px}.card-index{font-size:0.75rem;color:#697b68;font-family:monospace;align-self:flex-start}.flavor-card .ingredients{font-size:0.875rem;color:var(--muted);line-height:1.6;margin-bottom:22px;flex:1}.flavor-card .card-price strong{font-size:1.0625rem}.menu-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:34px;border-top:1px solid var(--line);padding-top:29px;color:var(--muted);font-size:0.875rem}.menu-bottom strong{color:var(--forest)}.combo-section{background:#17452f;color:white;position:relative;padding:57px 0;border-top:4px solid var(--cream)}.combo-inner{display:grid;grid-template-columns:160px 1fr 220px;gap:40px;align-items:center}.combo-kicker{border-right:1px solid #ffffff24;align-self:stretch;display:flex;justify-content:center;flex-direction:column;gap:17px}.combo-kicker .eyebrow{margin:0;font-size:0.75rem}.combo-size{font-size:1.6875rem;letter-spacing:-1px;font-weight:700;color:#fff9ed}.combo-copy h2{font-size:2.1875rem;line-height:1.2;letter-spacing:-1.2px;margin-bottom:16px}.combo-copy em{font-size:1.875rem}.combo-copy p{font-size:0.875rem;color:#d2d8c6;margin-bottom:10px}.combo-copy small{font-size:0.75rem;color:#b6c6af}.combo-action{display:flex;flex-direction:column;align-items:flex-start}.combo-action>span{font-size:0.75rem;letter-spacing:1.5px;color:#d2d8c6;margin-bottom:5px}.combo-action>strong{font-size:1.5rem;font-weight:400;line-height:1.1;color:var(--cream);margin-bottom:23px}.combo-action b{font-size:3.8125rem;letter-spacing:-3px;font-weight:800}.combo-action sup{font-size:1.5rem;top:-.8em;position:relative;font-weight:600}.combo-action .button{width:100%}.how-section{padding:70px 0 78px}.how-inner{display:grid;grid-template-columns:1fr 1.75fr;gap:60px}.how-section h2{font-size:2.0625rem;line-height:1.22;letter-spacing:-1.1px}.how-section .eyebrow{margin-bottom:16px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.steps>div{border-top:1px solid #cecec4;padding-top:18px}.steps>div>span{color:var(--accent);font-size:0.75rem;font-family:monospace}.steps h3{font-size:1.0625rem;margin:14px 0 9px}.steps p{font-size:0.875rem;color:var(--muted);line-height:1.75;margin:0}footer{background:var(--forest);color:#fff9ed;padding:43px 0 22px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-inner p{margin:0;font-size:0.875rem;line-height:1.9;color:#e5e7d6}.footer-inner p span{color:#bbcab3;font-size:0.75rem}.footer-inner>div{display:flex;gap:22px;align-items:center;font-size:0.8125rem;color:#c5d1bc}.footer-inner>div button{background:none;color:inherit;padding:0;font-size:0.8125rem}.footer-inner a:hover,.footer-inner button:hover{color:var(--cream)}.footer-note{margin-top:34px;padding-top:22px;border-top:1px solid #ffffff15;display:flex;justify-content:space-between;font-size:0.75rem;color:#bbcab3}.mobile-bag{display:none}.full-width{width:100%}dialog{padding:0;border:0;color:var(--forest);background:var(--paper);max-height:92dvh;border-radius:12px;box-shadow:0 24px 100px #0005;width:min(650px,calc(100% - 32px));margin:auto;overflow-y:auto}dialog::backdrop{background:#052215bd;backdrop-filter:blur(4px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:26px 30px 23px;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:2;gap:18px}.dialog-header h2{font-size:1.6875rem;line-height:1.25;letter-spacing:-.8px;margin:0}.dialog-header .eyebrow{font-size:0.75rem;margin-bottom:7px}.icon-button{font-family:Arial;background:#e5eadc;width:36px;height:36px;border-radius:50%;font-size:1.5625rem;line-height:1;display:grid;place-items:center;flex-shrink:0;color:#626354}.icon-button:hover{background:#d8dfd2}.builder-fields{padding:27px 30px 12px}fieldset{padding:0;border:0;margin:0 0 24px;min-width:0}legend{font-size:0.9375rem;font-weight:700;margin-bottom:12px;width:100%}legend>span:first-child:not(:only-child){font-family:monospace;font-size:0.75rem;color:var(--accent);margin-right:8px;font-weight:500}.size-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.size-options label{border:1px solid #d5d6ca;background:white;padding:12px 5px;border-radius:10px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px}.size-options label:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:#edf4eb}.size-options input{position:absolute;opacity:0;width:1px;height:1px}.size-options label:has(input:focus-visible){outline:3px solid #448b62;outline-offset:3px}.size-options b{font-size:1.25rem;line-height:1.1}.size-options small{font-size:0.75rem;color:var(--muted)}.count-options{display:flex;gap:8px}.count-options label{flex:1;background:white;padding:11px 12px;border:1px solid #d5d6ca;border-radius:10px;font-size:0.875rem;cursor:pointer;text-align:center}.count-options input{accent-color:var(--accent);margin-right:6px}.count-options label:has(input:checked){border-color:var(--accent);background:#edf4eb}.flavor-selector{margin-bottom:13px;padding:15px;border:1px solid #dcded0;background:white;border-radius:6px}.flavor-label{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:0.8125rem;font-weight:700;margin-bottom:9px}.flavor-label small{color:var(--muted);font-weight:400;font-size:0.75rem}select{width:100%;border:1px solid #cecec4;padding:12px;background:white;border-radius:4px;font-size:0.9375rem;color:var(--forest);min-height:46px}details{margin-top:11px;font-size:0.8125rem;color:var(--muted)}details summary{cursor:pointer}details p{font-size:0.75rem;margin:8px 0}.ingredient-toggles{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.ingredient-toggles label{font-size:0.75rem;border:1px solid #d5d6ca;border-radius:3px;padding:6px 8px;cursor:pointer;color:#365b44}.ingredient-toggles label:has(input:checked){border-color:#5e9470;background:#edf4eb}.ingredient-toggles input{accent-color:#1c6345}.border-options{display:flex;flex-direction:column;gap:9px}.border-options label{display:flex;gap:9px;border:1px solid #d5d6ca;background:white;border-radius:10px;padding:11px 12px;font-size:0.875rem;align-items:center;cursor:pointer}.border-options label:has(input:checked){border-color:var(--accent)}.border-options input{accent-color:var(--accent)}.border-options small{margin-left:auto;color:var(--muted);font-size:0.75rem}.field-label{font-size:0.875rem;font-weight:700;display:block;margin-bottom:8px}textarea{width:100%;border:1px solid #cecec4;padding:12px;background:white;border-radius:4px;font-size:0.875rem;color:var(--forest);resize:vertical;min-height:77px}.field-help,.builder-price-note,.demo-note{font-size:0.75rem;color:var(--muted);line-height:1.6;margin:10px 0 0}.builder-price-note{margin:16px 0 0}.builder-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 30px;border-top:1px solid var(--line);background:var(--paper);position:sticky;bottom:0;z-index:1}.builder-footer>div{display:flex;flex-direction:column}.builder-footer span{font-size:0.75rem;color:var(--muted)}.builder-footer strong{font-size:1.5625rem;line-height:1.4;letter-spacing:-.5px}.bag-dialog{width:min(510px,calc(100% - 32px))}.bag-content,.summary-content{padding:25px 30px 30px}.empty-bag{text-align:center;padding:20px 0 14px}.empty-symbol{font-size:4.0625rem;color:#b8baa8;line-height:1;margin-bottom:16px}.empty-bag h3{font-size:1.25rem;margin-bottom:8px}.empty-bag p{font-size:0.875rem;color:var(--muted);margin-bottom:22px}.bag-item{padding:0 0 20px;margin:0 0 20px;border-bottom:1px solid var(--line)}.bag-item-top{display:flex;justify-content:space-between;gap:14px}.bag-item h3{font-size:1.0rem;margin-bottom:6px;line-height:1.4}.bag-item-top>strong{font-size:0.9375rem;white-space:nowrap}.bag-item p{font-size:0.75rem;color:var(--muted);margin-bottom:5px;line-height:1.7}.bag-item-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:15px}.quantity-control{display:flex;align-items:center;border:1px solid #d1d3c4;border-radius:4px;overflow:hidden;background:white}.quantity-control button{height:32px;width:34px;font-size:1.125rem;color:#585a4c;background:white}.quantity-control button:hover{background:#edf4eb}.quantity-control span{min-width:28px;text-align:center;font-size:0.8125rem;font-weight:700}.remove-button{background:none;color:var(--accent);padding:5px;font-size:0.75rem}.delivery-options{padding-bottom:18px;border-bottom:1px solid var(--line);margin:0 0 18px;display:flex;gap:10px}.delivery-options legend{font-size:0.875rem}.delivery-options label{background:white;border:1px solid #d1d3c4;border-radius:4px;padding:10px 14px;font-size:0.8125rem;flex:1;cursor:pointer}.delivery-options label:has(input:checked){border-color:var(--accent)}.delivery-options input{accent-color:var(--accent);margin-right:5px}#delivery-fields{margin-bottom:20px}.totals{margin:22px 0 20px}.totals>div{display:flex;justify-content:space-between;gap:16px;margin-bottom:11px;font-size:0.875rem}.totals .grand-total{border-top:1px solid var(--line);padding-top:14px;margin-top:14px;font-size:1.125rem;font-weight:700}.grand-total strong{font-size:1.5rem}.demo-note{text-align:center;margin-top:14px}.summary-content>p:not(.demo-note){font-size:0.875rem;color:var(--muted);margin-bottom:18px}pre{white-space:pre-wrap;font:13px/1.8 var(--sans);border:1px solid var(--line);padding:18px;background:white;border-radius:10px;overflow-wrap:anywhere;max-height:40dvh;overflow:auto;margin:0 0 23px}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);color:var(--forest);background:var(--cream);border:1px solid #d9c39a;z-index:30;padding:13px 22px;border-radius:6px;font-size:0.875rem;box-shadow:0 8px 30px #0003;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;max-width:calc(100% - 32px);text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1500px){.hero-visual{margin-right:-110px}.hero-visual>img{height:625px}}
@media(max-width:1050px){.container{width:calc(100% - 56px)}.hero-grid{min-height:520px}.hero-visual{margin-right:-28px}.hero-visual>img{min-height:520px}.hero-copy{padding-top:38px}h1{font-size:4.375rem}.hero-stamp{width:122px;height:122px;bottom:42px;right:25px}.hero-stamp strong{font-size:1.0rem}.flavor-grid{grid-template-columns:repeat(2,1fr)}.featured-card{grid-template-columns:40% 60%}.featured-content{padding:22px 18px}.featured-content h3{font-size:1.375rem}.featured-content .card-footer{flex-wrap:wrap}.combo-inner{grid-template-columns:130px 1fr 190px;gap:24px}.combo-copy h2{font-size:1.8125rem}.combo-copy em{font-size:1.5rem}.how-inner{gap:32px;grid-template-columns:1fr 1.7fr}.steps{gap:18px}.how-section h2{font-size:1.8125rem}.footer-inner>div{gap:14px}.site-header nav{gap:25px}.hero-meta{gap:9px;font-size:0.75rem}.section-heading h2{font-size:2.5625rem}}
@media(max-width:740px){html{scroll-padding-top:87px}.container{width:calc(100% - 36px)}.preview-strip{padding:7px 12px;font-size:0.75rem;letter-spacing:.8px}.preview-strip span{display:block;font-size:0.75rem;margin-left:0;margin-top:2px;letter-spacing:0}.header-inner{min-height:80px;gap:13px}.site-header nav{display:none}.bag-button{font-size:0.75rem;padding:10px 11px;gap:7px}.bag-button svg{width:18px;height:18px}.hero-grid{display:flex;flex-direction:column;align-items:stretch;min-height:0}.hero-copy{padding:36px 0 0;position:relative;z-index:2}.hero-copy .eyebrow{margin-bottom:20px;font-size:0.75rem}h1{font-size:clamp(48px,12.5vw,78px);letter-spacing:-2.7px;line-height:1.03;margin-bottom:20px}.hero-description{font-size:0.9375rem;margin-bottom:23px;line-height:1.7}.hero-actions{gap:9px}.hero-actions .button{font-size:0.8125rem;padding:12px 18px;min-height:48px}.hero-meta{font-size:0.75rem;margin-top:23px;gap:12px}.hero-visual{margin:0 -18px;min-height:295px;max-height:350px;margin-top:4px;display:block}.hero-visual>img{width:100%;height:100%;min-height:295px;max-height:350px;object-fit:cover;object-position:center 47%}.hero-visual:after{background:linear-gradient(180deg,var(--forest),transparent 18%,transparent 80%,var(--forest))}.hero-stamp{bottom:24px;right:22px;width:105px;height:105px;outline-offset:-9px}.hero-stamp strong{font-size:0.875rem;margin:6px 0}.hero-stamp span{font-size:0.75rem;letter-spacing:1.5px}.photo-note{font-size:0.75rem;top:20px;right:17px}.hero-bottom{padding:17px 0}.hero-bottom .container{font-size:0.75rem;gap:12px}.hero-bottom .container>span:nth-child(2){display:none}.bottom-mark{font-size:1.4375rem}.menu-section{padding:44px 0 40px}.section-heading{align-items:flex-end;margin-bottom:25px}.section-heading h2{font-size:2.0625rem;letter-spacing:-1px}.section-heading>p{display:none}.section-heading .eyebrow{font-size:0.75rem;margin-bottom:13px}.category-tabs{gap:7px;margin-bottom:18px;margin-right:-18px;padding-right:18px}.category-tabs button{font-size:0.75rem;padding:9px 15px;min-height:41px}.category-tabs button span{font-size:0.75rem}.featured-grid{grid-template-columns:1fr;gap:14px;margin-bottom:14px}.featured-card{grid-template-columns:40% 60%;min-height:213px}.featured-image{min-height:210px}.featured-content{padding:20px 17px}.featured-content h3{font-size:1.375rem;margin-bottom:9px}.featured-content .ingredients{font-size:0.8125rem;margin-bottom:16px}.card-kicker{font-size:0.75rem;margin-bottom:9px}.featured-image small{font-size:0.75rem;left:5px;bottom:5px}.card-price strong{font-size:1.0625rem}.card-price small{font-size:0.75rem}.choose-button{font-size:0.75rem;padding:8px 11px;min-height:40px}.flavor-grid{gap:12px;grid-template-columns:1fr}.flavor-card{padding:18px 19px;min-height:0;display:grid;grid-template-columns:1fr auto;column-gap:20px;row-gap:4px}.flavor-card-header{grid-column:1/2;gap:8px}.flavor-card h3{font-size:1.125rem;margin:0}.card-index{display:none}.flavor-card .ingredients{font-size:0.75rem;line-height:1.7;margin:4px 0 0;grid-column:1/2}.flavor-card .card-footer{grid-column:2/3;grid-row:1/3;flex-direction:column;align-items:flex-end;gap:10px;justify-content:center;min-width:84px}.flavor-card .card-price strong{font-size:1.0rem}.menu-bottom{align-items:flex-start;flex-direction:column;gap:16px;font-size:0.8125rem;padding-top:24px;margin-top:26px}.menu-bottom .button{width:100%;font-size:0.8125rem}.combo-section{padding:35px 0 37px}.combo-inner{display:flex;flex-direction:column;align-items:stretch;gap:22px}.combo-kicker{border:0;flex-direction:row;align-items:center;justify-content:space-between;gap:20px}.combo-size{font-size:1.375rem}.combo-copy h2{font-size:1.9375rem;letter-spacing:-.8px}.combo-copy em{font-size:1.625rem;display:inline-block;margin-top:4px}.combo-copy p{font-size:0.8125rem;margin-bottom:7px}.combo-copy small{font-size:0.75rem}.combo-action{display:grid;grid-template-columns:1fr auto;gap:0 16px;align-items:center}.combo-action>span{grid-column:1/2;font-size:0.75rem;margin-bottom:2px}.combo-action>strong{grid-column:1/2;margin-bottom:0;font-size:1.0625rem}.combo-action b{font-size:3.1875rem;letter-spacing:-2px}.combo-action sup{font-size:1.1875rem}.combo-action .button{grid-row:1/3;grid-column:2/3;font-size:0.75rem;padding:13px 16px;min-height:48px}.how-section{padding:44px 0}.how-inner{display:block}.how-section h2{font-size:1.875rem;letter-spacing:-.9px;margin-bottom:28px}.how-section .eyebrow{font-size:0.75rem;margin-bottom:13px}.steps{grid-template-columns:1fr;gap:20px}.steps>div{display:grid;grid-template-columns:32px 1fr;column-gap:9px;row-gap:4px;padding-top:15px}.steps>div>span{grid-row:1/3;padding-top:3px}.steps h3{margin:0;font-size:1.0rem}.steps p{font-size:0.8125rem}footer{padding:31px 0 90px}.footer-inner{flex-wrap:wrap;gap:25px}.footer-inner p{font-size:0.75rem}.footer-inner p span{font-size:0.75rem}.footer-inner>div{width:100%;justify-content:space-between;font-size:0.75rem}.footer-inner>div button{font-size:0.75rem}.footer-note{flex-direction:column;gap:7px;font-size:0.75rem;margin-top:25px;padding-top:19px}.mobile-bag{display:flex;position:fixed;bottom:12px;left:12px;right:12px;background:var(--accent);color:white;padding:16px 18px;border-radius:12px;justify-content:space-between;align-items:center;box-shadow:0 5px 28px #0004;z-index:9;font-size:0.8125rem;gap:12px}.mobile-bag b{background:white;color:var(--accent);padding:3px 7px;border-radius:3px;font-size:0.75rem;margin-left:6px}.toast{bottom:82px;font-size:0.8125rem}dialog{width:calc(100% - 20px);max-height:94dvh;border-radius:10px}.dialog-header{padding:20px 19px 18px}.dialog-header h2{font-size:1.5625rem}.dialog-header .eyebrow{font-size:0.75rem}.builder-fields{padding:22px 19px 12px}.builder-footer{padding:15px 19px;gap:12px}.builder-footer strong{font-size:1.375rem}.builder-footer .button{font-size:0.8125rem;padding:13px 16px}.size-options{gap:6px}.size-options b{font-size:1.125rem}.size-options small{font-size:0.75rem}.size-options label{padding:11px 3px}.count-options label{font-size:0.75rem;padding:11px 6px}.bag-content,.summary-content{padding:23px 19px}.dialog-header .icon-button{width:34px;height:34px}.builder-fields legend{font-size:0.875rem}.builder-fields legend>span:first-child{font-size:0.75rem}.summary-content pre{font-size:0.75rem}.delivery-options label{font-size:0.8125rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.button:hover{transform:none}}
.top-social{background:var(--forest);color:#fff9ed;border-bottom:1px solid #ffffff14}.social-links{display:flex;align-items:center;justify-content:flex-end;gap:28px;flex-wrap:wrap}.social-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;line-height:1.5;padding:8px 0}.social-link strong{font-size:.875rem;font-weight:600;color:var(--cream);overflow-wrap:anywhere}.social-link:hover strong{text-decoration:underline;text-underline-offset:4px}.footer-socials{margin-top:25px;gap:28px}.footer-socials+.footer-note{margin-top:20px}@media(max-width:740px){.social-links{justify-content:space-between;gap:12px 20px}.social-link{flex-direction:column;align-items:flex-start;gap:0;min-height:52px}.social-link strong{font-size:.875rem}.footer-socials{margin-top:24px}}
.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}.nav-toggle{display:none}.menu-tools{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 20px}.menu-search{display:flex;align-items:center;gap:11px;background:white;border:1px solid #cecec3;border-radius:6px;min-height:52px;padding:0 14px;width:min(480px,100%);transition:border-color .15s,box-shadow .15s}.menu-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px #1c63451a}.menu-search>svg{width:20px;height:20px;color:#60785e;flex-shrink:0}.menu-search input{border:0;padding:14px 0;font-size:1rem;width:100%;min-width:0;background:transparent;color:var(--forest);outline:0}.menu-search input::-webkit-search-cancel-button{appearance:none}.menu-search input::placeholder{color:#60785e;font-size:.875rem}.menu-search button{display:grid;place-items:center;font-size:1.4rem;color:#66685b;background:#e5eadc;width:30px;height:30px;flex-shrink:0;border-radius:50%;line-height:1}#menu-result-count{margin:0;font-size:.8125rem;color:var(--muted);white-space:nowrap}.menu-empty{text-align:center;border:1px dashed #c7c9bb;padding:44px 24px;border-radius:12px;background:white;margin:0 0 22px}.menu-empty h3{font-size:1.375rem;margin-bottom:10px}.menu-empty p{font-size:.9375rem;color:var(--muted);margin-bottom:23px}.builder-dialog{width:min(920px,calc(100% - 32px))}.builder-layout{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(0,1fr);align-items:start}.builder-preview{padding:26px 23px;background:#eef3e8;border-left:1px solid #d2ddcd;position:sticky;top:99px;align-self:start;max-height:calc(92dvh - 180px);overflow-y:auto;min-width:0}.builder-preview>.eyebrow{font-size:.75rem;margin:0 0 10px;letter-spacing:1.2px}.builder-preview h3{font-size:1.3125rem;letter-spacing:-.6px;line-height:1.35;margin:0 0 5px}.preview-caption{font-size:.8125rem;color:#526450;margin:0 0 12px}.portion-preview{display:flex;justify-content:center;margin:3px 0 13px}.portion-chart{width:min(190px,100%);height:auto;display:block;overflow:visible;animation:portion-enter .22s ease both}.portion-number{font:800 28px var(--sans)}.portion-fraction{font:600 15px var(--sans)}.combo-portions{display:flex;align-items:center;justify-content:center;gap:6px}.combo-portions .portion-chart{width:calc(50% - 3px);max-width:146px}.preview-flavors{display:flex;flex-direction:column;gap:7px}.preview-flavor{display:flex;align-items:center;gap:9px;width:100%;padding:10px;background:#ffffffba;border:1px solid #d2d6c7;border-radius:10px;text-align:left;color:var(--forest);min-height:52px;transition:background .15s,border-color .15s}.preview-flavor:hover{background:white;border-color:#789778}.preview-swatch,.flavor-number{display:grid;place-items:center;background:var(--portion-color);color:white;width:23px;height:23px;border-radius:50%;font-size:.75rem;font-weight:700;flex-shrink:0}.preview-flavor:first-child .preview-swatch,.flavor-selector:first-child .flavor-number{color:#0b3725}.preview-flavor>span:nth-child(2){flex:1;min-width:0}.preview-flavor strong{display:block;font-size:.875rem;line-height:1.35;font-weight:700}.preview-flavor small{display:block;font-size:.75rem;color:#526450;line-height:1.45;margin-top:3px;overflow-wrap:anywhere}.preview-flavor>b{font-size:.75rem;color:#365b44;white-space:nowrap;font-weight:500}.preview-border{margin:13px 0 0;padding-top:12px;border-top:1px solid #d2ddcd;font-size:.8125rem;color:#365b44;line-height:1.6}.builder-quantity-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}.builder-quantity-row>span{font-size:.8125rem;font-weight:600}.quantity-control button:disabled{color:#b8bbaf;cursor:default}.quantity-control button:disabled:hover{background:white}.builder-preview .field-help{margin-top:10px;text-align:right}.builder-footer-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end}.cancel-edit{background:none;color:#526450;font-size:.875rem;padding:8px 0;text-decoration:underline;text-underline-offset:3px}.size-unit{font-size:.75rem;font-weight:400}.flavor-label{justify-content:flex-start;gap:8px}.flavor-label small{margin-left:auto}.flavor-number{width:21px;height:21px}.bag-item-actions{display:flex;align-items:center;gap:14px}.edit-button{background:none;color:#1c6345;font-weight:700;font-size:.875rem;padding:5px 0;text-decoration:underline;text-underline-offset:3px}.bag-item-actions .remove-button{font-size:.8125rem}.bag-undo{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#edf4eb;border:1px solid #c5d8c7;border-radius:10px;padding:11px 12px;margin:0 0 22px;font-size:.75rem;color:#365b44}.bag-undo button{background:none;color:#1c6345;font-weight:700;font-size:.8125rem;padding:7px 0;text-decoration:underline;text-underline-offset:3px}.toast{display:flex;align-items:center;gap:18px;line-height:1.5}.toast button{background:none;color:var(--forest);font-weight:700;font-size:.875rem;white-space:nowrap;padding:4px 0;text-decoration:underline;text-underline-offset:4px}.flavor-card{transition:transform .18s,border-color .18s,box-shadow .18s}.featured-card{transition:transform .18s,border-color .18s,box-shadow .18s}@keyframes portion-enter{from{opacity:.6;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media(hover:hover){.flavor-card:hover,.featured-card:hover{transform:translateY(-3px);border-color:#a6bea5;box-shadow:0 9px 25px #14141209}}
@media(max-width:740px){.header-inner{gap:9px}.nav-toggle{display:grid;place-items:center;background:transparent;color:#fff9ed;border:1px solid #45483a;border-radius:4px;width:36px;height:38px;padding:7px;margin-left:auto;flex-shrink:0}.nav-toggle svg{width:21px;height:21px}.nav-toggle[aria-expanded=true]{background:var(--cream);border-color:var(--cream);color:var(--forest)}.site-header #primary-nav{position:absolute;top:100%;left:0;right:0;padding:10px 18px 15px;background:var(--forest);border-bottom:1px solid #6b967b;box-shadow:0 12px 25px #0003;gap:0}.site-header #primary-nav.nav-open{display:flex;flex-direction:column}.site-header #primary-nav a{display:block;padding:12px 8px;font-size:.9375rem;border-bottom:1px solid #ffffff10}.site-header #primary-nav a:last-child{border-bottom:0}.bag-button>span:not(.bag-count){display:none}.menu-tools{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:15px}.menu-search{width:100%;min-height:49px;padding:0 12px}.menu-search input{padding:12px 0}.menu-search input::placeholder{font-size:.8755rem}#menu-result-count{font-size:.75rem}.menu-empty{padding:30px 17px}.menu-empty h3{font-size:1.25rem}.builder-dialog{width:calc(100% - 20px)}.builder-layout{display:flex;flex-direction:column}.builder-fields{order:2;width:100%}.builder-preview{order:1;width:100%;border-left:0;border-bottom:1px solid #d2ddcd;position:static;max-height:none;overflow:visible;display:grid;grid-template-columns:106px minmax(0,1fr);gap:5px 13px;padding:18px 19px 20px}.builder-preview>.eyebrow{display:none}.builder-preview h3{grid-column:1/-1;font-size:1.125rem;margin-bottom:0}.preview-caption{grid-column:1/-1;font-size:.75rem;margin-bottom:5px}.portion-preview{grid-column:1;grid-row:3;align-items:center;margin:0}.portion-chart{width:106px}.combo-portions{flex-direction:column;gap:2px}.combo-portions .portion-chart{width:71px}.preview-flavors{grid-column:2;grid-row:3;justify-content:center;gap:5px}.preview-flavor{padding:7px;gap:7px;min-height:45px}.preview-flavor strong{font-size:.8125rem}.preview-flavor small{font-size:.75rem}.preview-flavor b{font-size:.75rem}.preview-swatch{width:20px;height:20px;font-size:.75rem}.preview-border{grid-column:1/-1;margin-top:9px;padding-top:10px;font-size:.75rem}.builder-quantity-row{grid-column:1/-1;margin-top:8px}.builder-preview .field-help{grid-column:1/-1;font-size:.75rem;margin-top:3px}.builder-footer{gap:10px}.builder-footer-actions{gap:7px;flex-wrap:nowrap;flex-direction:column;align-items:flex-end}.cancel-edit{font-size:.8125rem;padding:2px 0}.builder-footer-actions .button{font-size:.8125rem;min-height:47px;padding:12px 14px}.bag-item-actions{gap:13px}.edit-button{font-size:.875rem}.bag-undo{font-size:.75rem;gap:10px}.toast{font-size:.8125rem;padding:12px 15px;gap:13px}.toast button{font-size:.8125rem}}

/* Verde e creme da arte Infinity aprovada. */
h1,h2,h3{font-family:var(--display);font-weight:700}
h1{font-size:clamp(3.5rem,5.9vw,5.25rem);letter-spacing:-.055em;line-height:1.08}
.section-heading h2,.how-section h2{font-weight:700;letter-spacing:-.045em;line-height:1.18}
.hero-copy h1 em{display:inline-block;color:var(--cream)}
.hero .primary{background:var(--cream);color:var(--forest)}
.hero .primary:hover{background:#fff2d9}
.hero .secondary{border-color:#89a18e;color:var(--paper)}
.hero-stamp{border-radius:50%}
.hero-stamp strong{font-size:.9375rem;letter-spacing:-.04em}
.header-inner{min-height:136px;gap:24px}
html{scroll-padding-top:150px}
.site-header,.top-social,footer{color:var(--paper)}
.preview-strip{color:var(--cream)}
.preview-strip span{color:#d8cfba}
.featured-card,.flavor-card{background:#fffcf5}
.button{border-radius:12px}
.category-tabs button.active{background:var(--accent);border-color:var(--accent)}
.bag-button{border-radius:12px}
.choose-button{border-radius:9px}
.combo-copy h2{letter-spacing:-.045em;line-height:1.3}
.combo-copy em{font-size:1.6rem}
.preview-flavor:first-child .preview-swatch,.flavor-selector:first-child .flavor-number{color:var(--forest)}
@media(max-width:1050px){
  .header-inner{min-height:136px;gap:18px}
  html{scroll-padding-top:150px}
  h1{font-size:clamp(3.45rem,7vw,4.5rem)}
  .combo-copy em{font-size:1.35rem}
}
@media(max-width:740px){
  .header-inner{min-height:122px;gap:9px}
  html{scroll-padding-top:136px}
  h1{font-size:clamp(2.85rem,11vw,4.5rem);letter-spacing:-.055em;line-height:1.12}
  .hero-stamp strong{font-size:.8125rem}
  .combo-copy em{font-size:1.4rem}
  .hero-actions{flex-wrap:wrap}
}

/* Marca tipográfica integrada ao verde da página. */
.combo-size{font-size:1rem;line-height:1.5;letter-spacing:0;padding-right:16px;text-wrap:balance}
.brand{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex-shrink:0;min-width:178px;padding:6px 0;color:var(--cream);background:transparent;text-align:center;line-height:1}
.brand-infinity{font-family:var(--display);font-size:3rem;font-weight:700;line-height:.78;letter-spacing:-.06em}
.brand-name{position:relative;isolation:isolate;font-family:var(--display);font-size:1.9375rem;font-weight:700;line-height:1.2;letter-spacing:-.055em;color:var(--forest);padding:4px 20px 9px}
.brand-name::before{content:"";position:absolute;z-index:-1;inset:0 -7px -2px;background:linear-gradient(110deg,#dfbf86 5%,#eed4a3 45%,#d9b573 100%);-webkit-mask:url('/assets/infinity-gold-brush-stylish-8466991e98.webp') center/100% 100% no-repeat;mask:url('/assets/infinity-gold-brush-stylish-8466991e98.webp') center/100% 100% no-repeat;transform:rotate(-3deg);pointer-events:none}
.brand-type{font-family:var(--display);font-size:.875rem;font-weight:700;line-height:1.35;letter-spacing:.31em;margin-left:.31em;margin-top:3px}
.social-link{flex-direction:row;align-items:center;gap:9px;min-height:44px}
.social-icon{display:block;width:20px;height:20px;flex-shrink:0}
.social-link strong{line-height:1.5}
@media(max-width:740px){
  .brand{min-width:156px;padding:5px 0;gap:3px}
  .brand-infinity{font-size:2.625rem}
  .brand-name{font-size:1.6875rem;padding:3px 17px 8px}
  .brand-type{font-size:.8125rem;letter-spacing:.29em;margin-left:.29em}
  .social-links{gap:4px 18px}
  .social-link{flex-direction:row;align-items:center;gap:8px;min-height:44px}
  .social-icon{width:18px;height:18px}
}

/* Dados da sacola, entrega e pagamento. */
.checkout-section{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.checkout-section legend{font-family:var(--display);font-size:1.0625rem;line-height:1.5;margin-bottom:14px}
.checkout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.address-grid{grid-template-columns:minmax(0,2fr) minmax(85px,1fr);margin-top:16px}
.checkout-field{margin-top:16px}
#checkout-area input:not([type=radio]){width:100%;min-width:0;min-height:46px;border:1px solid #cecec4;padding:11px 12px;background:#fff;border-radius:6px;color:var(--forest);font-size:1rem;line-height:1.45}
#checkout-area select,#checkout-area textarea{font-size:1rem;border-radius:6px}
#checkout-area .field-label{font-size:.875rem;line-height:1.5;margin-bottom:7px}
#checkout-area .field-help{font-size:.8125rem;line-height:1.6;text-align:left;margin-top:8px}
#checkout-area [aria-invalid=true]{border-color:#a13c32!important;outline-color:#a13c32}
.checkout-error{background:#fff0e9;color:#8b332b;border-left:3px solid #a13c32;padding:10px 12px;font-size:.875rem;line-height:1.5;margin-bottom:14px}
@media(max-width:480px){.checkout-grid{grid-template-columns:1fr}.address-grid{grid-template-columns:minmax(0,2fr) minmax(85px,1fr)}}
.checkout-back{background:transparent;border:1px solid var(--line);color:var(--forest);margin-bottom:10px}
.checkout-back:hover{background:#edf4eb}
.order-receipt{padding:1rem;border-radius:12px;background:#e9f2e7;color:#0b3725;font-size:1.25rem;font-weight:700}
.summary-content .button:disabled{opacity:.6;cursor:wait}

/* Montagem: foto em destaque e escolhas com a identidade da Infinity. */
.builder-dialog{width:min(1000px,calc(100% - 32px));border-radius:20px;background:#fff9ed}
.builder-dialog .builder-header{background:var(--forest);color:var(--cream);border-bottom:1px solid #ffffff17;padding:23px 28px;z-index:3}
.builder-header .eyebrow{color:#eed4a3;font-size:.875rem;letter-spacing:1.8px;margin-bottom:5px}
.builder-header h2{font-size:1.75rem;line-height:1.3;letter-spacing:-.04em}
.builder-header .icon-button{background:#ffffff12;color:var(--cream);border:1px solid #ffffff25;border-radius:50%;width:44px;height:44px;flex-shrink:0}
.builder-header .icon-button:hover{background:#ffffff22}
.builder-toolbar{display:grid;grid-template-columns:1.1fr 1fr;gap:25px;background:var(--forest);color:var(--cream);padding:20px 28px 24px;border-bottom:1px solid #ffffff17}
.builder-combo .builder-toolbar{display:none}
.builder-toolbar fieldset{margin:0}
.builder-toolbar legend{font-size:.875rem;line-height:1.5;margin-bottom:9px}
.builder-toolbar .size-options{display:block}
.builder-toolbar select{width:100%;min-width:0;min-height:50px;background:#f9e8c8;color:var(--forest);border:1px solid #f9e8c8;border-radius:12px;padding:12px 15px;font-size:1rem;font-weight:700;cursor:pointer}
.builder-toolbar .count-options{display:block}
.flavor-count-control{display:grid;grid-template-columns:50px minmax(0,1fr) 50px;align-items:center;border-radius:12px;overflow:hidden;background:var(--cream);color:var(--forest);min-height:50px}
.flavor-count-control button{min-height:50px;background:transparent;color:var(--forest);font-size:1.5rem}
.flavor-count-control button:hover{background:#e7d5b4}
.flavor-count-control button:disabled{color:#8c8c78;background:transparent}
.flavor-count-control button:focus-visible{outline-offset:-5px}
.flavor-count-control output{text-align:center;font-size:1rem;font-weight:700;line-height:1.4}
.count-help{font-size:.875rem;color:#c9d8c9;margin:7px 0 0;line-height:1.5}
.builder-dialog .builder-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:stretch}
.builder-dialog .builder-preview{position:static;max-height:none;overflow:visible;display:block;padding:25px 28px 28px;border:0;background:linear-gradient(155deg,#103f2c,var(--forest));color:var(--cream);min-width:0}
.builder-preview>.eyebrow{display:block;color:#eed4a3;font-size:.875rem;letter-spacing:1.8px;margin:0 0 7px}
.builder-preview h3{font-size:1.5rem;line-height:1.3;letter-spacing:-.03em;margin-bottom:6px}
.builder-preview .preview-caption{font-size:.875rem;color:#c9d8c9;margin:0;line-height:1.5}
.pizza-preview{margin:20px 0 16px;min-width:0}
.pizza-portion-board{margin:0;overflow:hidden;border:1px solid #f9e8c82b;border-radius:16px;background:#092a1c;box-shadow:0 14px 30px #00160b40}
.pizza-portion-stage{position:relative;isolation:isolate;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;padding:8px}
.pizza-portion-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 59%;opacity:.24;filter:blur(2px);z-index:-2}
.pizza-portion-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(#0b37252b,#061e15aa);z-index:-1;pointer-events:none}
.pizza-portion-disc{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 12px 15px #0008)}
.pizza-board-rim{fill:none;stroke:#eed4a3;stroke-width:2;opacity:.75;pointer-events:none}
.pizza-sector{cursor:pointer;outline:none}
.pizza-sector-area{fill:transparent;stroke:#fff0cc;stroke-opacity:.65;stroke-width:2;transition:fill .18s,stroke .18s,stroke-width .18s}
.pizza-sector-badge{fill:var(--forest);stroke:#eed4a3;stroke-width:1.5;pointer-events:none;transition:fill .18s}
.pizza-sector-number{fill:var(--cream);font-family:var(--sans);font-size:24px;font-weight:700;pointer-events:none}
.pizza-sector-fraction{fill:var(--cream);font-family:var(--sans);font-size:23px;font-weight:700;paint-order:stroke;stroke:#092617;stroke-width:5px;stroke-linejoin:round;pointer-events:none}
.pizza-sector:hover .pizza-sector-area{fill:#0b37254a;stroke-opacity:1}
.pizza-sector:focus-visible .pizza-sector-area{fill:#0b37256b;stroke:#fff4d8;stroke-width:5;stroke-opacity:1}
.pizza-sector:hover .pizza-sector-badge,.pizza-sector:focus-visible .pizza-sector-badge{fill:#1c6345}
.pizza-portion-board figcaption{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:3px 10px;padding:11px 13px;color:#d5e0ce;font-size:.875rem;line-height:1.5;text-align:center;border-top:1px solid #ffffff18}
.pizza-portion-board figcaption strong{color:var(--cream);font-size:1rem}
.pizza-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.combo-portion-board .pizza-sector-number{font-size:44px}
.combo-portion-board .pizza-sector-fraction{font-size:44px}
.combo-portion-board figcaption{padding:10px 8px;gap:3px;font-size:.875rem}
.combo-portion-board figcaption strong{width:100%;font-size:1rem}
.builder-preview .preview-flavors{display:flex;flex-direction:column;gap:8px}
.builder-preview .preview-flavor{padding:11px 12px;gap:10px;background:#ffffff09;border-color:#ffffff28;border-radius:12px;min-height:60px;color:var(--cream)}
.builder-preview .preview-flavor:hover{background:#ffffff16;border-color:#e6cd9380}
.builder-preview .preview-swatch{background:var(--cream);color:var(--forest);width:27px;height:27px;font-size:.875rem}
.builder-preview .preview-flavor strong{font-size:1rem;overflow-wrap:anywhere}
.builder-preview .preview-flavor small{font-size:.875rem;line-height:1.4;color:#c9d8c9}
.builder-preview .preview-flavor>b{font-size:.875rem;font-weight:600;color:#efd7a8;padding:4px 6px}
.builder-preview .preview-border{font-size:.875rem;color:#d7e0d2;border-color:#ffffff25;margin-top:18px;padding-top:14px}
.builder-dialog .builder-fields{padding:25px 26px 26px;background:#fff9ed;min-width:0}
.builder-fields fieldset{margin-bottom:22px}
.builder-fields legend{font-size:1.125rem;line-height:1.4;font-family:var(--display);margin-bottom:13px}
.builder-dialog .flavor-selector{padding:14px 15px;margin-bottom:10px;border-color:#ded8c7;border-radius:13px;background:#fffdf7}
.builder-dialog .flavor-selector:last-child{margin-bottom:0}
.builder-dialog .flavor-label{font-size:.875rem;line-height:1.4;margin-bottom:11px;flex-wrap:wrap}
.builder-dialog .flavor-label small{font-size:.875rem;line-height:1.4}
.builder-dialog .flavor-number{background:var(--forest);color:var(--cream);width:25px;height:25px;font-size:.875rem}
.builder-dialog .flavor-selector:first-child .flavor-number{color:var(--cream)}
.flavor-choice{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;width:100%;padding:0;background:transparent;color:var(--forest);min-height:44px}
.flavor-choice strong{font-size:1.125rem;line-height:1.35;overflow-wrap:anywhere}
.flavor-choice>span{font-size:.875rem;line-height:1.4;font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:3px;flex-shrink:0}
.selected-ingredients{font-size:.875rem;color:#5b695f;line-height:1.6;margin:4px 0 12px}
.builder-dialog details{border-top:1px solid #e7e0d0;padding-top:11px}
.builder-dialog summary{font-size:.875rem;line-height:1.5;min-height:32px;cursor:pointer;color:var(--accent);font-weight:600}
.builder-dialog details p{font-size:.875rem;line-height:1.5}
.builder-dialog .ingredient-toggles label{font-size:.875rem;line-height:1.5;min-height:40px;padding:8px 10px}
.builder-dialog .border-options{gap:8px}
.builder-dialog .border-options label{padding:12px;font-size:1rem;line-height:1.5;background:#fffdf7;border-color:#ded8c7;border-radius:11px;min-height:49px}
.builder-dialog .border-options label:has(input:checked){border-color:var(--accent);background:#eef3e7;box-shadow:0 0 0 1px var(--accent)}
.builder-dialog .border-options small{font-size:.875rem;line-height:1.4}
.builder-dialog .builder-quantity-row{margin:8px 0 22px;flex-wrap:wrap}
.builder-quantity-row>span{font-size:1rem}
.builder-dialog .quantity-control{border-radius:10px;border-color:#ded8c7}
.builder-dialog .quantity-control button{width:43px;height:43px;color:var(--forest)}
.builder-dialog .quantity-control span{font-size:1rem;min-width:32px}
.builder-dialog .quantity-control button:disabled{color:#adb19f}
.builder-dialog #builder-per-unit{font-size:.875rem;margin:-12px 0 20px}
.builder-dialog .field-label{font-size:.875rem;line-height:1.5}
.builder-dialog textarea{font-size:1rem;border-radius:11px;background:#fffdf7;border-color:#ded8c7}
.builder-dialog .builder-price-note{font-size:.875rem;line-height:1.6;margin-top:13px}
.builder-dialog .builder-footer{padding:18px 26px;background:#fff9ed;border-color:#ded8c7;z-index:2;gap:18px}
.builder-dialog .builder-footer>div:first-child{min-width:0}
.builder-dialog .builder-footer span{font-size:.875rem;line-height:1.4}
.builder-dialog .builder-footer strong{font-size:1.75rem;line-height:1.4;white-space:nowrap}
.builder-dialog .builder-footer-actions{flex-direction:row;align-items:center;flex-wrap:wrap}
.builder-dialog .builder-footer .button{min-height:52px;font-size:1rem;border-radius:12px;padding:14px 22px}
.flavor-picker-dialog{width:min(640px,calc(100% - 28px));border-radius:18px;background:#fff9ed}
.flavor-picker-dialog .dialog-header{padding:22px 24px;background:#fff9ed;border-color:#ded8c7}
.flavor-picker-dialog .dialog-header .eyebrow{font-size:.875rem;line-height:1.4;letter-spacing:.5px}
.flavor-picker-dialog .icon-button{flex-shrink:0;width:44px;height:44px}
.flavor-picker-tools{padding:19px 24px 0}
.flavor-picker-tools .menu-search{width:100%;border-radius:11px;background:#fffdf7}
.flavor-picker-tools input{font-size:1rem}
.flavor-picker-tools input::placeholder{font-size:.875rem}
.flavor-picker-tools>p{font-size:.875rem;color:var(--muted);line-height:1.5;margin:10px 0 6px}
.builder-flavor-results{list-style:none;margin:0;padding:6px 13px 16px}
.builder-flavor-results li{margin:0}
.picker-flavor-category{list-style:none;margin:0;padding:0}
.picker-flavor-group-title{margin:12px 0 4px;padding:10px 14px;background:var(--cream);color:var(--forest);border-left:4px solid var(--forest);border-radius:8px;font:700 1.125rem/1.4 var(--sans)}
.picker-flavor-group+.picker-flavor-group{padding-top:16px}
.picker-flavor{display:grid;grid-template-columns:68px minmax(0,1fr) max-content;align-items:center;gap:14px;width:100%;padding:16px 11px;text-align:left;background:transparent;border:1px solid transparent;border-bottom-color:#e5dfcf;color:var(--forest);border-radius:11px;min-width:0}
.picker-flavor:hover{background:#f0f2e6}
.picker-flavor.selected{background:#eaf0e2;border-color:#c0d0b5}
.picker-flavor-thumbnail{display:block;position:relative;width:68px;height:68px;border:2px solid #e4d4b5;background:#fff7e8;border-radius:50%;box-shadow:0 3px 8px #503d170d}
.picker-flavor-icon{display:block;width:100%;height:100%;overflow:hidden;border-radius:inherit}
.picker-flavor-thumbnail img{display:block;width:100%;height:100%;object-fit:contain}
.picker-flavor-icon-sweet img{transform:scale(1.85);image-rendering:pixelated}
.picker-flavor.selected .picker-flavor-thumbnail{border-color:var(--accent);box-shadow:0 0 0 3px #1c63451a}
.picker-flavor-selected{position:absolute;bottom:-1px;right:-2px;width:23px;height:23px;padding:3px;border:2px solid #f9e8c8;border-radius:50%;background:var(--forest);color:var(--cream)}
.picker-flavor-copy{flex:1;min-width:0}
.picker-flavor-copy strong{display:block;font-size:1.0625rem;line-height:1.4;overflow-wrap:anywhere}
.picker-flavor-copy small{display:block;font-size:.875rem;line-height:1.5;color:#5b695f;margin-top:4px}
.picker-flavor-copy em{display:block;font-size:.8125rem;line-height:1.5;margin-top:5px;color:var(--accent);font-style:normal;font-weight:600}
.picker-flavor-price{font-size:.875rem;line-height:1.5;font-weight:700;white-space:nowrap;flex-shrink:0}
.flavor-picker-empty{padding:20px 24px;font-size:1rem;line-height:1.6}
.flavor-picker-price-note{position:sticky;bottom:0;margin:0;padding:15px 24px;background:#fff9ed;border-top:1px solid #ded8c7;font-size:.875rem;line-height:1.6;color:var(--muted)}
@media(max-width:740px){
  .builder-dialog{width:calc(100% - 16px);max-height:96dvh;border-radius:17px}
  .builder-dialog .builder-header{padding:17px 18px}
  .builder-header h2{font-size:1.5rem}
  .builder-header .eyebrow{font-size:.8125rem}
  .builder-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:17px 18px 20px}
  .builder-toolbar legend{font-size:.875rem;min-height:42px;display:flex;align-items:end}
  .builder-toolbar select{font-size:.875rem;padding:10px 8px;min-height:48px}
  .flavor-count-control{grid-template-columns:35px minmax(0,1fr) 35px;min-height:48px}
  .flavor-count-control button{min-height:48px;font-size:1.375rem}
  .flavor-count-control output{font-size:.875rem}
  .count-help{font-size:.8125rem;line-height:1.5}
  .builder-dialog .builder-layout{display:block}
  .builder-dialog .builder-preview{padding:21px 18px 22px;width:100%}
  .builder-preview h3{font-size:1.375rem}
  .builder-preview .preview-caption{font-size:.875rem;line-height:1.5}
  .pizza-preview{margin:16px 0 13px}
  .pizza-gallery{gap:10px}
  .combo-portion-board .pizza-portion-stage{padding:2px}
  .builder-preview .preview-flavor{padding:10px;min-height:56px}
  .builder-preview .preview-flavor strong{font-size:1rem}
  .builder-preview .preview-flavor small{display:none}
  .builder-preview .preview-border{margin-top:12px;padding-top:11px}
  .builder-dialog .builder-fields{padding:23px 18px}
  .builder-dialog .builder-footer{padding:14px 18px;gap:12px}
  .builder-dialog .builder-footer span{font-size:.8125rem}
  .builder-dialog .builder-footer strong{font-size:1.375rem}
  .builder-dialog .builder-footer-actions{flex-direction:column;align-items:flex-end;gap:7px;flex-wrap:nowrap}
  .builder-dialog .builder-footer .button{font-size:.875rem;padding:13px 15px;min-height:49px}
  .flavor-picker-dialog{width:calc(100% - 16px);max-height:96dvh;border-radius:17px}
  .flavor-picker-dialog .dialog-header{padding:18px}
  .flavor-picker-dialog .dialog-header h2{font-size:1.5rem}
  .flavor-picker-tools{padding:17px 18px 0}
  .builder-flavor-results{padding:6px 8px 14px}
  .picker-flavor{grid-template-columns:60px minmax(0,1fr);gap:4px 12px;padding:15px 9px}
  .picker-flavor-thumbnail{width:60px;height:60px;grid-column:1;grid-row:1/3;align-self:center}
  .picker-flavor-copy{grid-column:2;grid-row:1}
  .picker-flavor-copy strong{font-size:1rem}
  .picker-flavor-price{grid-column:2;grid-row:2;margin:2px 0 0;width:auto}
  .flavor-picker-price-note{padding:14px 18px}
}
@media(max-width:360px){
  .builder-toolbar{grid-template-columns:1fr;gap:15px}
  .builder-toolbar legend{min-height:0;display:block}
  .builder-dialog .builder-footer{flex-wrap:wrap}
  .builder-dialog .builder-footer-actions{width:100%;align-items:stretch}
  .builder-dialog .builder-footer-actions .button{width:100%}
}
@media(prefers-reduced-motion:reduce){.pizza-sector-area,.pizza-sector-badge{transition:none}}

/* Ingredient artwork stays separate from the keyboard and pointer controls. */
.pizza-topping-art{pointer-events:none}
.pizza-topping-art image{image-rendering:pixelated}
.pizza-portion-stage{background:radial-gradient(ellipse at 50% 35%,#28543a,#092a1c 75%);padding:10px}
.pizza-portion-stage::after{background:none}
.pizza-board-rim{stroke:#e3ba79;opacity:.4}
.pizza-portion-board .pizza-sector-number{font-size:15px}
.pizza-board-signature{fill:#f5d799;font:700 20px var(--sans);pointer-events:none}
.pizza-sector:hover .pizza-sector-area{fill:#fff2cd12;stroke:#fff2cd;stroke-opacity:1}
.pizza-sector:focus-visible .pizza-sector-area{fill:#fff2cd14;stroke:#fff2cd;stroke-width:5;stroke-opacity:1}

/* Native buttons make the board work with touch, mouse and keyboard. */
.pizza-portion-stage{--board-padding:10px;padding:var(--board-padding)}
.pizza-portion-disc{pointer-events:none}
.pizza-board-controls{position:absolute;inset:var(--board-padding);z-index:1;clip-path:circle(46% at 50% 50%);pointer-events:none}
.pizza-board-control{position:absolute;inset:4%;width:92%;height:92%;padding:0;border:0;border-radius:50%;background:transparent;color:#fff9ed;clip-path:var(--board-hit-area);pointer-events:auto;touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s}
.pizza-board-control:hover{background:#fff2cd12}
.pizza-board-control:active{background:#fff2cd2e}
.pizza-board-control:focus-visible{outline:0;background:#fff2cd26;box-shadow:inset 0 0 0 3px #fff0cc}
.pizza-tap-hint{position:absolute;left:var(--hint-x);top:var(--hint-y);width:clamp(24px,7vw,40px);pointer-events:none;filter:drop-shadow(0 2px 3px #0009);transform:translate(-50%,-50%) rotate(-22deg);animation:pizza-hand-tap 1.8s ease-in-out infinite}
.pizza-tap-hint svg{display:block;width:100%;height:auto;pointer-events:none}
@keyframes pizza-hand-tap{0%,60%,100%{transform:translate(-50%,-50%) rotate(-22deg) scale(1)}30%{transform:translate(-50%,-58%) rotate(-22deg) scale(.94)}}
@media(max-width:740px){.combo-portion-board .pizza-portion-stage{--board-padding:2px;padding:var(--board-padding)}}
@media(prefers-reduced-motion:reduce){.pizza-tap-hint{animation:none}.pizza-board-control{transition:none}}

/* Ingredient exclusions must stay obvious at every preparation checkpoint. */
#order-summary{font-size:.875rem}
.ingredient-removal{display:block;margin:.75rem 0;padding:.85rem 1rem;background:#fff8df;border:1px solid #ddcca2;border-left:4px solid #b88b2f;border-radius:.5rem;color:#1c3b29;line-height:1.45;white-space:normal;overflow-wrap:anywhere;break-inside:avoid}
.ingredient-removal-title{display:block;font-size:.875rem;font-weight:800;letter-spacing:.025em;margin-bottom:.3rem;color:#66552f}
.ingredient-removal-instruction{display:block;font-size:1.125rem;font-weight:800;text-transform:uppercase}
.ingredient-removal-scope{display:inline-block;margin-top:.5rem;padding:.2rem .5rem;border:1px solid #e1d8b9;border-radius:.3rem;background:#fffdf5;color:#415444;font-size:.875rem;font-weight:600}
.order-removal-note{margin:0 0 1rem;padding:.75rem;background:#fff8df;border:1px solid #ddcca2;border-left:4px solid #b88b2f;border-radius:.5rem;color:#1c3b29;font-size:.875rem;line-height:1.45;overflow-wrap:anywhere}
.order-removal-note strong,.order-removal-note span{display:block}
.order-removal-note span{margin-top:.25rem}
@media print{.ingredient-removal,.order-removal-note{background:#fff;color:#000;border-color:#000;box-shadow:none;break-inside:avoid}.ingredient-removal-title,.ingredient-removal-scope{color:#000}.ingredient-removal-scope{background:#fff;border-color:#aaa}#order-summary{max-height:none;overflow:visible}}

/* Infinity pizza builder photo: start */
.builder-dialog .builder-preview{position:relative;inset:auto;isolation:isolate;overflow:hidden;background:#34251b}
.builder-dialog .builder-preview::before{content:"";position:absolute;inset:-8px;z-index:-2;background:url('/assets/builder-margherita-photo.webp') 50% 72%/cover no-repeat;filter:blur(3px);pointer-events:none}
.builder-dialog .builder-preview::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#20150ea6 0%,#20150e47 48%,#20150ed1 100%);pointer-events:none}
.builder-preview .pizza-portion-board{background:#271a1130;border-color:#f9e8c847;box-shadow:0 14px 30px #1a100740}
.builder-preview .pizza-portion-stage{background:transparent}
.builder-preview .pizza-portion-stage::after{background:none}
.builder-preview .pizza-portion-board figcaption{background:#21160ec9;color:#f1e5d0;border-top-color:#f9e8c829}
.builder-preview .preview-caption,.builder-preview .preview-flavor small,.builder-preview .preview-border{color:#efe2cb}
.builder-preview .preview-flavor{background:#25190d7a;border-color:#f9e8c83d}
.builder-preview .preview-flavor:hover{background:#25190da6;border-color:#e6cd9380}
/* Infinity pizza builder photo: end */
/* Observations and additions stay with their own flavor/portion. */
.builder-dialog .flavor-customizations .field-label{display:block;margin-top:18px;color:var(--forest);font-weight:700}
.builder-dialog .flavor-customizations textarea{width:100%;min-height:84px;resize:vertical;margin-bottom:8px}
.builder-dialog .customization-heading{font:700 .9375rem/1.4 var(--sans);margin:20px 0 7px;color:var(--forest)}
.builder-dialog .addition-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:8px;margin-top:12px}
.builder-dialog .addition-option{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:48px;padding:10px 12px;border:1px solid #ded8c7;border-radius:9px;background:#fffdf7;color:var(--forest);cursor:pointer;font-size:.875rem;line-height:1.4}
.builder-dialog .addition-option:has(input:checked){border-color:#a98d50;background:var(--cream)}
.builder-dialog .addition-option:focus-within{outline:2px solid var(--forest);outline-offset:2px}
.builder-dialog .addition-option input{width:18px;height:18px;margin:0;accent-color:var(--forest)}
.builder-dialog .addition-option strong{white-space:nowrap;font-size:.8125rem;font-weight:700}
.builder-dialog .addition-price-help{line-height:1.5}
@media(max-width:540px){.builder-dialog .addition-options{grid-template-columns:1fr}}

/* O aviso de ambiente mantém a faixa existente; a repetição só aparece em falha. */
.preview-strip>b{font:inherit;color:inherit}
.preview-strip .site-config-retry{margin-left:12px;border:1px solid currentColor;border-radius:4px;padding:3px 8px;background:transparent;color:inherit;font:inherit;cursor:pointer}
.preview-strip .site-config-retry[hidden]{display:none}

.hero .hero-actions{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.5fr) minmax(0,.85fr);gap:10px;max-width:560px}
.hero .hero-actions .button{min-width:0;min-height:52px;padding-inline:14px}
.hero .hero-combos{background:var(--cream);color:var(--forest);border:2px solid var(--cream);font-size:1rem;font-weight:800;letter-spacing:.025em;box-shadow:0 4px 18px #0002,0 0 0 3px #f9e8c81a}
.hero .hero-combos:hover{background:#fff2d9;border-color:#fff2d9}
@media(max-width:740px){.hero .hero-actions{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);max-width:460px;gap:10px}.hero .hero-actions>.primary{grid-column:1/-1}.hero .hero-actions .button{font-size:.875rem;min-height:52px;padding:12px 10px}.hero .hero-actions .hero-combos{font-size:1rem}}
.combo-section.combo-showcase{background:radial-gradient(ellipse at 15% 5%,#24604455,transparent 55%),var(--forest);padding:64px 0 40px;border-top:4px solid var(--cream);overflow:hidden}
.combos-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;position:relative;padding-bottom:38px}
.combos-heading>div,.combos-heading>p{position:relative;z-index:1}
.combos-heading .eyebrow{color:var(--cream);font-size:.875rem;letter-spacing:2px;margin:0 0 18px}
.combos-heading h2{font-size:clamp(2.75rem,5.6vw,4.5rem);line-height:1.03;letter-spacing:-.04em;color:var(--paper);margin:0}
.combos-heading h2 em{color:var(--cream);font-style:normal}
.combos-heading>p{font-size:1rem;line-height:1.75;color:#d0dccb;margin:0 0 8px;text-align:right}
.combos-brand-mark{position:absolute;font-family:Arial,sans-serif;font-size:17rem;line-height:.7;font-weight:700;color:#f9e8c808;right:10%;top:3%;pointer-events:none;transform:rotate(-10deg)}
.combos-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.combo-poster{display:flex;flex-direction:column;min-width:0;background:var(--paper);color:var(--forest);border:1px solid #f9e8c85c;border-radius:20px;overflow:hidden;box-shadow:0 18px 38px #021b1430;transition:transform .2s ease,box-shadow .2s ease}
.combo-poster:hover{transform:translateY(-5px);box-shadow:0 24px 45px #021b1466}
.combo-poster:focus-within{outline:2px solid var(--cream);outline-offset:5px}
.combo-poster-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 24px 8px}
.combo-poster-label{font-family:var(--display);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.combo-poster-mark{font-family:Arial,sans-serif;font-size:2rem;line-height:1;color:#758c61}
.combo-poster-art{position:relative;height:224px;background:radial-gradient(ellipse at 47% 44%,#e8d09b66,transparent 65%);margin:0 12px;isolation:isolate}
.combo-photo{position:absolute;object-fit:contain;filter:drop-shadow(0 12px 10px #473a222a)}
.combo-photo-main{width:218px;height:218px;max-width:76%;left:8px;top:-2px;transform:rotate(-11deg)}
.combo-drink-photo{position:absolute;width:76px;height:184px;max-width:28%;object-fit:cover;object-position:center bottom;right:12px;bottom:24px;z-index:2;transform:rotate(-3deg);filter:drop-shadow(0 9px 8px #473a222a)}
.combo-photo-back{width:182px;height:182px;max-width:62%;right:9px;top:0;transform:rotate(8deg)}
.combo-photo-front{width:196px;height:196px;max-width:67%;left:7px;top:22px;z-index:1;transform:rotate(-12deg)}
.combo-art-tag{position:absolute;bottom:5px;left:12px;z-index:3;padding:6px 12px;border-radius:30px;background:var(--forest);color:var(--cream);font-size:.875rem;font-weight:700;box-shadow:0 4px 14px #0b37251c}
.combo-poster-body{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}
.combo-poster h3{font-family:var(--display);font-size:2.2rem;line-height:1.15;letter-spacing:-.035em;margin:0 0 10px}
.combo-poster-subtitle{font-size:1rem;font-weight:700;line-height:1.5;margin:0 0 22px;color:#3c5b3e}
.combo-inclusions{list-style:none;padding:0;margin:0 0 24px;font-size:1rem;line-height:1.5}
.combo-inclusions li{padding:10px 0;border-top:1px solid #0b372519;display:flex;flex-direction:column;gap:2px}
.combo-inclusions strong{font-weight:600}
.combo-inclusions span{font-size:.875rem;color:#566746}
.combo-poster-bottom{margin-top:auto;padding-top:18px;border-top:1px dashed #0b372535}
.combo-price-label{display:block;font-size:.75rem;line-height:1.5;font-weight:800;letter-spacing:1px;margin-bottom:6px}
.combo-poster-price{display:flex;align-items:center;gap:5px;color:var(--forest);font-weight:800;line-height:1;white-space:nowrap}
.combo-poster-price>span{font-size:1.125rem;font-weight:700;align-self:flex-end;margin:0 2px 10px 0}
.combo-poster-price>b{font-size:5rem;letter-spacing:-.045em;font-weight:800}
.combo-poster-price>sup{align-self:flex-start;font-size:1.875rem;line-height:1.15;margin-top:7px;font-weight:700}
.combo-poster-help{font-size:.875rem;line-height:1.6;color:#566746;min-height:2.8em;margin:12px 0 18px}
.combo-order-button{width:100%;min-height:54px;font-size:1rem;padding:14px 12px;border-radius:12px;justify-content:center;font-weight:700}
.combo-poster-featured{background:var(--cream);border:2px solid var(--cream);box-shadow:0 18px 42px #020f0a60}
.combo-poster-featured .combo-poster-top{background:var(--forest-soft);color:var(--cream);padding:17px 23px 13px}
.combo-poster-featured .combo-poster-mark{color:var(--cream)}
.combo-poster-featured .combo-poster-art{margin-top:8px}
.combo-poster-family .combo-photo-main{width:228px;height:228px;top:-5px}
.combo-border-seal{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;left:3px;top:3px;z-index:4;width:86px;height:86px;border-radius:50%;border:3px solid var(--cream);outline:1px dashed #c8d0ab;outline-offset:-9px;background:var(--forest);color:var(--cream);font-size:.75rem;line-height:1.35;font-weight:800;letter-spacing:1px;transform:rotate(-12deg);box-shadow:0 5px 12px #0b37252a}
.combo-border-seal>span{font-family:var(--display);font-size:1rem;letter-spacing:0;font-weight:700;margin-top:1px}
.combo-poster-featured .combo-poster-price{color:var(--forest)}
.combo-poster-featured .combo-order-button{background:var(--forest);color:var(--cream)}
.combo-poster-featured .combo-order-button:hover{background:#1c6345}
.combos-image-note{font-size:.875rem;line-height:1.7;color:#bacbb2;text-align:center;margin:26px 0 0}
.meal-combo-extras{background:#f2ead9;border:1px solid #d8d8c7;border-radius:10px;padding:18px}
.meal-combo-extras legend{width:auto;padding:0 7px;margin-left:-7px}
.meal-combo-extras select{width:100%;min-height:48px;background:#fffdf8;border:1px solid #c7cfbb;border-radius:6px;padding:10px 12px;color:var(--forest);font:inherit}
.meal-combo-extras select+.field-label{margin-top:18px}
.meal-combo-extras p{font-size:.8125rem;line-height:1.6;color:#526449;margin:12px 0 0}
@media(max-width:1100px) and (min-width:741px){.combos-offers{gap:16px}.combo-poster-top{padding-inline:18px}.combo-poster-label{font-size:1.25rem}.combo-poster-body{padding-inline:18px}.combo-poster h3{font-size:1.875rem}.combo-poster-art{height:200px;margin-inline:5px}.combo-photo-main{width:184px;height:184px;left:2px;top:5px}.combo-drink-photo{width:64px;height:155px;right:7px;bottom:24px}.combo-photo-back{width:154px;height:154px;top:10px}.combo-photo-front{width:172px;height:172px;top:20px}.combo-poster-family .combo-photo-main{width:194px;height:194px;top:0}.combo-poster-featured .combo-poster-top{padding-inline:17px}.combo-border-seal{width:76px;height:76px}.combo-poster-price>b{font-size:4.1rem}.combo-poster-price>sup{font-size:1.6rem}.combo-inclusions{font-size:.9375rem}.combo-art-tag{left:8px;padding-inline:9px;font-size:.8125rem}}
@media(max-width:850px) and (min-width:741px){.combos-offers{grid-template-columns:1fr;max-width:580px;margin-inline:auto}.combo-poster{display:grid;grid-template-columns:43% minmax(0,1fr)}.combo-poster-top{grid-column:1/-1}.combo-poster-art{align-self:center;grid-column:1;grid-row:2;margin-bottom:20px}.combo-poster-body{grid-column:2;grid-row:2;padding-top:18px}.combo-poster-featured .combo-poster-art{margin-top:0}.combo-border-seal{top:-15px}.combos-heading h2{font-size:3.6rem}}
@media(max-width:740px){.combo-section.combo-showcase{padding:40px 0 30px}.combos-heading{display:block;padding-bottom:28px}.combos-heading .eyebrow{font-size:.8125rem;margin-bottom:14px;letter-spacing:1.5px}.combos-heading h2{font-size:clamp(2.8rem,11.5vw,4rem)}.combos-heading>p{text-align:left;font-size:.9375rem;margin:18px 0 0}.combos-brand-mark{font-size:12rem;right:-8px;top:42px}.combos-offers{grid-template-columns:1fr;max-width:480px;margin-inline:auto;gap:24px}.combo-poster-top{padding-inline:24px}.combo-poster-art{height:230px;width:min(100% - 24px,340px);margin-inline:auto}.combo-photo-main{width:228px;height:228px;left:12px}.combo-drink-photo{width:78px;height:191px;right:18px;bottom:28px}.combo-photo-back{width:192px;height:192px;right:10px}.combo-photo-front{width:210px;height:210px;left:12px;top:15px}.combo-poster-body{padding:22px 24px 24px}.combo-poster h3{font-size:2.3rem}.combo-poster-family .combo-photo-main{width:242px;height:242px;left:7px;top:-10px}.combo-poster-help{min-height:0}.combos-image-note{text-align:left;margin-top:22px}.meal-combo-extras{padding:16px}}
@media(max-width:380px){.combo-poster-body{padding-inline:20px}.combo-poster-top{padding-inline:20px}.combo-poster-featured .combo-poster-top{padding-inline:19px}.combo-poster h3{font-size:2.1rem}.combo-poster-art{height:212px}.combo-photo-main{width:206px;height:206px;left:5px}.combo-drink-photo{width:70px;height:171px;right:11px;bottom:24px}.combo-poster-family .combo-photo-main{width:219px;height:219px;left:3px}.combo-photo-back{width:170px;height:170px}.combo-photo-front{width:190px;height:190px;left:5px}.combo-border-seal{left:0;width:80px;height:80px}}
@media(prefers-reduced-motion:reduce){.combo-poster{transition:none}.combo-poster:hover{transform:none}}
/* The offers use the same separate-view navigation as Fidelity and the builder. */
.hero .hero-actions .hero-loyalty-action{grid-column:1/-1}
.combos-dialog{width:min(1200px,calc(100% - 32px));max-height:92dvh;padding:0;border:0;border-radius:18px;background:#0b3725;color:#fff9ed;overflow-y:auto;overscroll-behavior:contain}
.combos-dialog .dialog-header{position:sticky;top:0;z-index:5;padding:22px 28px;gap:16px;background:#0b3725;color:#fff9ed;border-bottom:1px solid #eed4a333}
.combos-dialog .dialog-header .eyebrow{color:#eed4a3;margin-bottom:8px;font-size:11px;letter-spacing:.12em}
.combos-dialog .dialog-header h2{font-size:30px;line-height:1.1;color:inherit;margin:0}
.combos-dialog .icon-button{width:44px;height:44px;flex:none;color:#fff9ed;background:#ffffff0d;border-color:#ffffff40}
.combos-dialog .combo-section.combo-showcase{padding:34px 0;border-top:0}
.combos-dialog .container{width:auto;max-width:none;padding:0 28px}
.combos-dialog .combos-heading{padding-bottom:30px}
.combos-dialog .combos-heading h2{font-size:clamp(36px,4.6vw,60px)}
@media(max-width:740px){
  .combos-dialog{width:calc(100% - 16px);max-height:96dvh;border-radius:14px}
  .combos-dialog .dialog-header{padding:18px;gap:12px}
  .combos-dialog .dialog-header h2{font-size:24px}
  .combos-dialog .container{padding:0 18px}
  .combos-dialog .combo-section.combo-showcase{padding:26px 0}
}

/* Infinity's sharing view has one brand header and a clear featured offer. */
.combos-dialog .combos-dialog-header .combos-header-brand{display:flex;align-items:center;gap:12px;min-width:0}
.combos-header-brand>div{min-width:0}
.combos-header-mark{display:grid;place-items:center;flex:none;width:48px;height:48px;border:1px solid #eed4a34d;border-radius:14px;background:#f9e8c80a;box-shadow:inset 0 0 0 4px #f9e8c808;color:var(--cream);font:700 42px/1 Arial,sans-serif}
.combos-dialog .combos-dialog-header #combos-dialog-title{font-family:var(--display);font-size:30px;font-weight:800;line-height:1.05;letter-spacing:-.035em;color:var(--cream)}
.combos-dialog .combos-dialog-header .combos-header-tagline{margin:5px 0 0;color:#eed4a3;font-size:.75rem;line-height:1.35;letter-spacing:.08em}
.combos-dialog .combos-heading h2{font-family:var(--display)}
.combo-popular-badge{display:inline-flex;align-items:center;align-self:flex-start;gap:7px;min-height:30px;margin:0 0 12px;padding:4px 11px;border:1px solid #bca46d;border-radius:30px;background:var(--forest);color:var(--cream);box-shadow:0 4px 12px #0b37251a;font-size:.75rem;font-weight:800;line-height:1.25;letter-spacing:.035em;white-space:nowrap}
.combo-popular-badge>span{font:700 1.375rem/1 Arial,sans-serif}
@media(max-width:740px){
  .combos-dialog .combos-dialog-header .combos-header-brand{gap:9px}
  .combos-header-mark{width:38px;height:38px;border-radius:11px;font-size:34px}
  .combos-dialog .combos-dialog-header #combos-dialog-title{font-size:22px}
  .combos-dialog .combos-dialog-header .combos-header-tagline{margin-top:3px;font-size:.6875rem}
  .combos-dialog .combo-popular-badge{min-height:24px;margin-bottom:6px;padding:3px 8px;gap:5px;font-size:.625rem}
  .combos-dialog .combo-popular-badge>span{font-size:1.125rem}
}

.availability-badge{display:inline-block;align-self:flex-start;margin:.5rem 0;padding:.35rem .65rem;border-radius:.4rem;background:#fff0e7;color:#974423;font-size:.875rem;font-weight:700}
.item-paused .featured-image img,.item-paused .drink-photo img{filter:grayscale(.65);opacity:.75}
.choose-button:disabled,.picker-flavor:disabled{cursor:default;opacity:.65}.picker-flavor:disabled{background:#f5ede3}.picker-flavor-copy .availability-badge{font-style:normal;color:#974423}
.menu-stock-notice{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.75rem 1rem;border:1px solid #ad63364a;border-radius:.6rem;background:#fff0e7;color:#74381f;font-size:.9375rem;margin:0 0 1rem}.menu-stock-notice[hidden]{display:none}.menu-stock-notice p{margin:0}.menu-stock-notice button{background:transparent;border:1px solid currentColor;padding:.5rem .75rem;border-radius:.4rem;font:inherit;cursor:pointer}
.bag-item-stock{font-size:.9375rem;color:#974423;font-weight:700}.stock-bag-warning{padding:.75rem 1rem;background:#fff0e7;border-radius:.6rem;font-size:.9375rem;color:#74381f}.stock-bag-warning[hidden]{display:none}
.stock-panel button:disabled,.drink-quantity button:disabled{cursor:default}

.addition-option.option-paused,.border-options label.option-paused{background:#fff0e7;border-color:#c8825c;color:#74381f}
.addition-stock-status{display:block;color:#974423;font-size:.75rem;font-weight:600;line-height:1.3;margin-top:.2rem}
.addition-stock-status[hidden]{display:none}

.empty-flavor-selector{border-style:dashed;background:#fffdf7}
.empty-flavor-choice{width:100%;display:flex;align-items:center;justify-content:space-between;background:#edf3e8;border:1px solid #c2d2bf;border-radius:8px;padding:14px;color:var(--forest);text-align:left}
.empty-flavor-choice span{font-size:24px;line-height:1}
.empty-flavor-choice:hover{background:#dcebd8}
.preview-flavor-empty{border-style:dashed;opacity:.92}
.builder-footer .button:disabled{background:#e1d9c6;color:#65705d;opacity:1;transform:none}
.pizza-sector[data-empty="true"] .pizza-sector-area{stroke:transparent}
.pizza-sector[data-empty="true"]:hover .pizza-sector-area{stroke:#f9e8c859}
.pizza-sector[data-empty="true"]:focus-visible .pizza-sector-area{stroke:#f9e8c8;stroke-width:3;stroke-dasharray:4 5}
.confirmed-order-details{margin:0 0 16px}
.confirmed-order-details>summary{padding:12px 0;color:var(--accent);font-weight:700}
.summary-dialog:has(#order-tracking:not([hidden])){width:min(730px,calc(100% - 32px))}
.summary-dialog:has(#order-tracking.is-delayed:not([hidden])){width:min(900px,calc(100% - 32px))}
.summary-dialog:has(#order-tracking:not([hidden])) .dialog-header{background:var(--forest);color:var(--cream);border-color:#ffffff1a}
.summary-dialog:has(#order-tracking:not([hidden])) .dialog-header .eyebrow{color:#f0d8a8}
.summary-dialog:has(#order-tracking:not([hidden])) .icon-button{background:#ffffff12;color:var(--cream)}
.summary-dialog:has(#order-tracking:not([hidden])) .summary-content>p:first-child{font-size:.87rem;margin-bottom:12px}
.order-tracking{--wait-light:#6bf39a;position:relative;isolation:isolate;background:transparent;border:1px solid #28553d;border-radius:20px;color:#fff9ed;overflow:hidden;margin:14px 0 12px;box-shadow:0 12px 32px #0b372511}
.order-tracking::before{content:'';position:absolute;inset:-4px;z-index:-1;pointer-events:none;background:url('/assets/paranagua-tracking-map.svg') center/cover no-repeat;filter:blur(.8px);opacity:1}
.order-tracking::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 40%,#121820ab 20%,#121820c4 100%)}
.tracking-map-credit{position:absolute;right:12px;bottom:3px;color:#bdcdb5;font-size:9px;line-height:1.3}
.tracking-map-credit:hover{text-decoration:underline;color:#f9e8c8}
.order-tracking.is-delayed,.order-tracking.is-cancelled{--wait-light:#ff7171}
.tracking-heading{display:flex;align-items:center;gap:9px;padding:15px 22px;border-bottom:1px solid #ffffff12;font-size:.8rem}
.tracking-heading p{margin:0;flex:1;color:#e5ebdd}
.tracking-heading>span:last-child{color:#f0d8a8;font-weight:700;letter-spacing:.5px}
.tracking-live-dot{width:7px;height:7px;border-radius:50%;background:var(--wait-light);box-shadow:0 0 9px #6bf39a66;flex-shrink:0}
.tracking-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:center}
.tracking-grid:has(.tracking-contact:not([hidden])){grid-template-columns:minmax(0,1fr) 235px}
.tracking-main{padding:24px 24px 20px;text-align:center}
.tracking-eyebrow{font-size:.6rem;font-weight:700;letter-spacing:1.65px;color:#c6d6bc;margin:0 0 9px}
.tracking-main h3{font-size:clamp(42px,6vw,64px);line-height:1.1;letter-spacing:-2px;color:#f9e8c8;margin:0 0 10px}
.tracking-main h3 span{font-size:.4em;letter-spacing:-.3px;font-weight:400}
.is-terminal .tracking-main h3{font-size:44px;letter-spacing:-1.2px}
.tracking-arrival{font-size:.8rem;color:#d9e2cb;margin:0}
.infinity-wait{width:min(320px,100%);margin:12px auto 10px}
.infinity-wait svg{display:block;width:100%;overflow:visible}
.infinity-wait-track{stroke:#ffffff14;stroke-width:30;stroke-linecap:round}
.infinity-courier-shadow{fill:#061e15;opacity:.34}
.infinity-courier-parked{display:none}
.is-delayed .infinity-wait-track,.is-cancelled .infinity-wait-track{stroke:#ff717133}
.tracking-countdown{font-size:1.04rem;font-weight:700;color:var(--wait-light);margin:0 0 7px}
.tracking-message{max-width:340px;margin:0 auto;font-size:.76rem;line-height:1.65;color:#c2d0b8}
.tracking-contact{margin:20px 20px 20px 0;padding:19px 17px;background:#f9e8c8;border-radius:14px;color:#0b3725;text-align:left}
.tracking-contact-symbol{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#0b3725;color:#f9e8c8;font-size:20px;margin-bottom:14px}
.tracking-contact h4{font-size:1.1rem;line-height:1.3;margin:0 0 10px;letter-spacing:-.3px}
.tracking-contact p{font-size:.77rem;line-height:1.65;color:#53684e;margin:0 0 17px}
.tracking-whatsapp{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;background:#1c6345;color:#fff;padding:11px 10px;font-size:.875rem;min-height:44px;text-align:center;overflow-wrap:anywhere}
.tracking-whatsapp:hover{background:#134d35}
.tracking-steps{list-style:none;padding:18px 22px 21px;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border-top:1px solid #ffffff12}
.tracking-steps li{font-size:.66rem;color:#9cb097;position:relative;padding-top:14px;text-align:center;line-height:1.4}
.tracking-steps li::before{content:'';position:absolute;top:0;left:0;right:0;border-radius:6px;height:3px;background:#ffffff14}
.tracking-steps .is-done,.tracking-steps .is-current{color:#eff2e4}
.tracking-steps .is-done::before{background:#4ca875}
.tracking-steps .is-current::before{background:var(--wait-light);box-shadow:0 0 8px #6bf39a33}
.tracking-sync{margin:0;padding:0 20px 17px;text-align:center;color:#f5dbad;font-size:.72rem}
.is-terminal .infinity-courier-moving{display:none}
.is-terminal .infinity-courier-parked{display:block}
.track-order-launcher{position:fixed;z-index:11;right:24px;bottom:24px;display:flex;align-items:center;gap:14px;min-height:64px;padding:12px 17px;border-radius:14px;border:1px solid #d9c39a;background:var(--cream);color:var(--forest);box-shadow:0 10px 36px #0002;text-align:left;font-size:.8rem}
.track-order-launcher:hover{background:#fff2d9}
.track-order-launcher{width:max-content;max-width:calc(100% - 32px);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.track-order-launcher.is-dragging{cursor:grabbing}
.track-order-launcher>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
.track-order-launcher>span:nth-child(2){display:flex;flex-direction:column;gap:3px;font-weight:700}
.track-order-launcher small{font-size:.67rem;color:#3e5b49;font-weight:400}
.track-launcher-symbol{font-size:42px;line-height:1;color:var(--forest)}
.track-order-launcher.is-delayed .track-launcher-symbol{color:#a92f34}
@media(max-width:600px){
  .summary-dialog:has(#order-tracking:not([hidden])) .summary-content{padding:19px 17px 24px}
  .tracking-heading{padding:14px 16px;gap:7px;font-size:.73rem}
  .tracking-main{padding:23px 18px 20px}
  .tracking-main h3{font-size:54px}
  .tracking-eyebrow{font-size:.54rem;letter-spacing:1.35px}
  .infinity-wait{width:min(275px,100%)}
  .tracking-grid:has(.tracking-contact:not([hidden])){grid-template-columns:1fr}
  .tracking-contact{margin:0 16px 20px;padding:18px}
  .tracking-contact-symbol{display:none}
  .tracking-contact h4{font-size:1rem}
  .tracking-contact p{margin-bottom:12px}
  .tracking-steps{padding:16px 14px 18px;gap:7px}
  .tracking-steps li{font-size:.59rem}
  .track-order-launcher{right:16px;left:auto;bottom:16px;justify-content:space-between;padding:10px 15px;min-height:60px}
  .track-order-launcher>span:nth-child(2){flex:1}
  body:has(.mobile-bag:not([hidden])) .track-order-launcher{bottom:90px}
}
@media(prefers-reduced-motion:reduce){.infinity-courier-moving{display:none}.infinity-courier-parked{display:block}}
.delivery-confirmation{padding:0 22px 27px}
.tracking-confirm-button{background:var(--wait-light);color:#0b3725;min-height:48px;font-size:1rem}
.tracking-confirm-button:hover{background:#88f6ad}
.tracking-confirm-button:disabled{opacity:.7;cursor:wait}
.delivery-confirmation>p{font-size:.875rem;line-height:1.5;text-align:center;color:#d2e0d0;margin:10px 0 0}
#delivery-confirmation-status{color:var(--wait-light);font-weight:600}
#delivery-confirmation-status.is-error{color:#ffe2b7}
.tracking-access-lost{padding:18px;margin:14px 0;border:1px solid #dfd1b6;border-radius:14px;background:#fff7e8;color:var(--forest)}
.tracking-access-lost h3{margin:0 0 8px;font-size:1rem;line-height:1.4}
.tracking-access-lost p{font-size:.85rem;line-height:1.6;margin:0 0 12px}
.tracking-access-lost .tracking-whatsapp{margin-top:10px;box-sizing:border-box}

.tracking-cancel-actions{margin:20px 0 14px;padding-top:18px;border-top:1px solid #d8dfd2}
.tracking-cancel-actions .tracking-cancel-button{background:#fff9ed;color:#843c27;border:1px solid #af6b50;min-height:46px;font-weight:700}
.tracking-cancel-actions .tracking-cancel-button:hover{background:#f9e8c8}
.tracking-cancel-actions p{margin:9px 0 0;color:#526358;font-size:.8125rem;line-height:1.55}

/* The tracking card already shows the order number and the current status. */
.summary-dialog:has(#order-tracking:not([hidden])) :is(#summary-intro,#order-receipt){display:none}
@media(max-width:740px){
  .summary-dialog[open]:has(#order-tracking:not([hidden])){
    display:flex;
    flex-direction:column;
    width:calc(100% - 16px);
    max-height:calc(100vh - 16px);
    max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    overflow:hidden;
    border-radius:14px;
  }
  .summary-dialog:has(#order-tracking:not([hidden])) .dialog-header{
    position:static;
    flex:none;
    padding:10px 12px;
    gap:10px;
  }
  .summary-dialog:has(#order-tracking:not([hidden])) .dialog-header .eyebrow{display:none}
  .summary-dialog:has(#order-tracking:not([hidden])) .dialog-header h2{font-size:1.25rem;line-height:1.2;letter-spacing:-.025em}
  .summary-dialog:has(#order-tracking:not([hidden])) .icon-button{width:44px;height:44px}
  .summary-dialog:has(#order-tracking:not([hidden])) .summary-content{
    flex:1 1 auto;
    min-height:0;
    padding:10px 12px 12px;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .summary-dialog:has(#order-tracking:not([hidden])) .order-tracking{margin:0 0 8px;padding-bottom:14px;border-radius:14px}
  .summary-dialog:has(#order-tracking:not([hidden])) .tracking-heading{padding:9px 12px;gap:7px;font-size:.75rem;line-height:1.4}
  .summary-dialog:has(#order-tracking:not([hidden])) #tracking-number{white-space:nowrap}
  .summary-dialog:has(#order-tracking:not([hidden])) .tracking-grid{grid-template-columns:minmax(0,1fr)}
  .summary-dialog:has(#order-tracking:not([hidden])) .tracking-main{
    display:grid;
    grid-template-columns:minmax(0,1fr) 82px;
    column-gap:8px;
    align-items:center;
    padding:12px 12px 10px;
    text-align:left;
  }
  .summary-dialog:has(#order-tracking:not([hidden])) .tracking-eyebrow{grid-column:1;grid-row:1;font-size:.5625rem;line-height:1.3;letter-spacing:.08em;margin:0 0 4px}
  .summary-dialog:has(#order-tracking:not([hidden])) .tracking-main h3{grid-column:1;grid-row:2;min-width:0;margin:0 0 5px;font-size:clamp(1.5rem,8vw,2rem);line-height:1.1;letter-spacing:-.035em;overflow-wrap:anywhere}
  .summary-dialog:has(#order-tracking:not([hidden])) .tracking-arrival{grid-column:1/-1;grid-row:3;font-size:.6875rem;line-height:1.4;margin:0}
  .summary-dialog:has(#order-tracking:not([hidden])) .infinity-wait{grid-column:2;grid-row:1/span 2;width:82px;max-width:100%;margin:0;align-self:center}
  .summary-dialog:has(#order-tracking:not([hidden])) .tracking-countdown{grid-column:1/-1;grid-row:4;font-size:.875rem;line-height:1.35;margin:6px 0 0}
  .summary-dialog:has(#order-tracking:not([hidden])) #tracking-message{grid-column:1/-1;grid-row:5;max-width:none;font-size:.6875rem;line-height:1.4;margin:6px 0 0}
  /* Keep exceptional messages; ordinary waiting already has a clear estimate. */
  .summary-dialog:has(#order-tracking:not([hidden])) .order-tracking:not(.is-delayed):not(.is-terminal):not(.is-cancelled):not(:has(#tracking-contact:not([hidden]))) #tracking-message{display:none}
  .summary-dialog:has(#order-tracking:not([hidden])) .tracking-steps{padding:10px 12px 12px;gap:6px}
  .summary-dialog:has(#order-tracking:not([hidden])) .tracking-steps li{padding-top:10px;font-size:.625rem;line-height:1.3}
  .summary-dialog:has(#order-tracking:not([hidden])) .tracking-sync{padding:0 12px 10px;font-size:.6875rem;line-height:1.4}
  .summary-dialog:has(#order-tracking:not([hidden])) .tracking-contact{margin:0 12px 10px;padding:10px 12px;border-radius:10px}
  .summary-dialog:has(#order-tracking:not([hidden])) .tracking-contact h4{font-size:.875rem;margin-bottom:5px}
  .summary-dialog:has(#order-tracking:not([hidden])) .tracking-contact p{font-size:.6875rem;line-height:1.4;margin-bottom:8px}
  .summary-dialog:has(#order-tracking:not([hidden])) .tracking-whatsapp{gap:2px;padding:8px 10px;font-size:.8125rem;min-height:44px}
  .summary-dialog:has(#order-tracking:not([hidden])) .delivery-confirmation{padding:0 12px 8px}
  .summary-dialog:has(#order-tracking:not([hidden])) .tracking-confirm-button{min-height:44px;padding:9px 12px;font-size:.875rem}
  .summary-dialog:has(#order-tracking:not([hidden])) .delivery-confirmation>p{font-size:.6875rem;line-height:1.4;margin-top:5px}
  .summary-dialog:has(#order-tracking:not([hidden])) .tracking-cancel-actions{margin:8px 12px;padding-top:8px;border-color:#ffffff26}
  .summary-dialog:has(#order-tracking:not([hidden])) .tracking-cancel-button{min-height:44px;padding:9px 12px;font-size:.8125rem}
  .summary-dialog:has(#order-tracking:not([hidden])) #tracking-cancel-help{margin-top:6px;color:#d5dfce;font-size:.6875rem;line-height:1.4}
  .summary-dialog:has(#order-tracking:not([hidden])) :is(#active-order-note,#copy-order,#new-order:disabled){display:none}
  .summary-dialog:has(#order-tracking:not([hidden])) .confirmed-order-details{margin:0}
  .summary-dialog:has(#order-tracking:not([hidden])) .confirmed-order-details>summary{min-height:44px;padding:10px 0;font-size:.8125rem;line-height:1.4}
  .summary-dialog:has(#order-tracking:not([hidden])) #summary-note{margin:6px 0 0;font-size:.6875rem;line-height:1.4}
  .summary-dialog:has(#order-tracking:not([hidden])) .online-payment-status{margin:0 0 10px;padding:10px 12px;border-radius:12px}
  .summary-dialog:has(#order-tracking:not([hidden])) .online-payment-status h3{font-size:.875rem;line-height:1.35;margin-bottom:5px}
  .summary-dialog:has(#order-tracking:not([hidden])) .online-payment-status p{font-size:.75rem;line-height:1.4;margin-bottom:8px}
  .summary-dialog:has(#order-tracking:not([hidden])) .online-payment-actions{gap:6px;margin-top:8px}
  .summary-dialog:has(#order-tracking:not([hidden])) .online-payment-actions .button{min-height:44px;padding:8px 10px;font-size:.8125rem}
}

/* Etapa 41: o infinito e o entregador ganham espaço no acompanhamento. */
.summary-dialog:has(#order-tracking:not([hidden])){width:min(790px,calc(100% - 24px))}
.summary-dialog:has(#order-tracking:not([hidden])) .tracking-main{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  justify-items:center;
  padding:18px 20px 16px;
  text-align:center;
}
.summary-dialog:has(#order-tracking:not([hidden])) .tracking-main h3{
  grid-column:1;
  grid-row:1;
  max-width:100%;
  margin:0 0 10px;
  font-size:clamp(24px,4vw,36px);
  line-height:1.2;
  letter-spacing:-.025em;
}
.summary-dialog:has(#order-tracking:not([hidden])) .infinity-wait{
  grid-column:1;
  grid-row:2;
  width:min(350px,100%);
  max-width:100%;
  margin:0 auto 12px;
  align-self:center;
}
.infinity-wait-track{stroke:#ffffff14;stroke-width:30}
.infinity-courier-shadow{opacity:.34}
#infinity-courier image{filter:none}
.is-delayed .infinity-wait-track,.is-cancelled .infinity-wait-track{stroke:#ff717133}
.summary-dialog:has(#order-tracking:not([hidden])) .tracking-arrival{grid-column:1;grid-row:3;font-size:.8125rem;line-height:1.45;margin:0}
.summary-dialog:has(#order-tracking:not([hidden])) .tracking-countdown{grid-column:1;grid-row:4;font-size:1rem;line-height:1.4;margin:7px 0 0}
.summary-dialog:has(#order-tracking:not([hidden])) #tracking-message{grid-column:1;grid-row:5;margin-top:7px}
.summary-dialog:has(#order-tracking:not([hidden])) #tracking-cancel-help{color:#d5dfce}
@media(min-width:741px){
  .summary-dialog[open]:has(#order-tracking:not([hidden])){display:flex;flex-direction:column;overflow:hidden}
  .summary-dialog:has(#order-tracking:not([hidden])) .dialog-header{flex:none}
  .summary-dialog:has(#order-tracking:not([hidden])) .summary-content{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}
  .summary-dialog:has(#order-tracking:not([hidden])) .tracking-cancel-actions{margin:12px 18px 20px;padding-top:14px;border-color:#ffffff26}
}
@media(max-width:740px){
  .summary-dialog[open]:has(#order-tracking:not([hidden])){width:calc(100% - 8px)}
  .summary-dialog:has(#order-tracking:not([hidden])) .dialog-header{padding:12px 14px}
  .summary-dialog:has(#order-tracking:not([hidden])) .dialog-header h2{font-size:1.375rem}
  .summary-dialog:has(#order-tracking:not([hidden])) .summary-content{padding:12px 10px 14px}
  .summary-dialog:has(#order-tracking:not([hidden])) .tracking-main{padding:16px 14px 14px}
  .summary-dialog:has(#order-tracking:not([hidden])) .infinity-wait{width:min(280px,100%);margin-bottom:12px}
  .summary-dialog:has(#order-tracking:not([hidden])) .tracking-arrival{font-size:.75rem}
}
@media(max-width:360px){
  .summary-dialog:has(#order-tracking:not([hidden])) .infinity-wait{width:min(260px,100%)}
}

.online-payment-status{margin:1rem 0;padding:1rem 1.15rem;border:1px solid #d8c6a4;border-radius:18px;background:#fff6e5;color:#173d2c}
.online-payment-status h3{font-size:1.05rem;margin:0 0 .5rem;line-height:1.4}
.online-payment-status p{line-height:1.5;margin:.5rem 0}
.online-payment-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.online-payment-actions .button{flex:1 1 190px}
.online-payment-status[hidden],.online-payment-actions [hidden]{display:none!important}
.payment-manager-status{padding:.7rem 1rem;background:#fff2d7;border-left:4px solid #b58135;border-radius:10px;font-weight:700;color:#173d2c}
.payment-manager-status.is-paid{background:#e8f1e4;border-color:#326b46}
.status-awaiting_payment{background:#fff2d7;color:#624719}
.refund-amounts{margin-top:1rem;padding:.75rem 1rem;border-radius:12px;background:#fff6e5;color:#173d2c}
.partial-refund-form h4{margin:.3rem 0;font-size:1rem}
.partial-refund-form textarea{width:100%;padding:.75rem;border:1px solid #b8b0a0;border-radius:10px;background:#fffdf6;color:#173d2c;font:inherit;resize:vertical;box-sizing:border-box}
.partial-refund-actions{display:flex;flex-wrap:wrap;gap:.6rem}.partial-refund-actions .button{flex:1 1 190px}
@media(max-width:640px){.online-payment-actions{flex-direction:column}.online-payment-actions .button{flex-basis:auto;width:100%}}

.menu-anchor{display:block;height:0;scroll-margin-top:12px}
.drink-category-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;margin-bottom:16px;background:var(--forest);color:var(--cream);border-radius:12px}
.drink-category-heading h3{font-family:var(--display);font-size:1.125rem;margin:0;letter-spacing:0}
.drink-category-heading>span{font-size:.875rem;color:#e6e5ce}
.drinks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.drink-card{display:grid;grid-template-columns:128px minmax(0,1fr);gap:10px 22px;align-items:start;padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px;min-width:0;transition:border-color .15s}
.drink-card:hover{border-color:#a5bba2}
.drink-photo{position:relative;grid-row:1/3;width:128px;height:166px;background:white;border-radius:10px;display:grid;place-items:center;overflow:hidden}
.drink-photo img{width:100%;height:100%;object-fit:cover;padding:4px 14px}
.drink-volume{position:absolute;right:0;top:0;display:grid;place-items:center;width:42px;height:42px;background:var(--forest);border:2px solid #fff;color:var(--cream);border-radius:50%;font-size:.875rem;font-weight:700;line-height:1}
.drink-volume-type{font-family:var(--display);font-size:2rem;color:var(--forest)}
.drink-content{padding-top:5px;min-width:0}
.drink-content h3{font-family:var(--display);font-size:1.125rem;font-weight:700;line-height:1.4;letter-spacing:0;margin:0 0 8px;overflow-wrap:anywhere}
.drink-content h3>span{font-family:var(--sans);font-weight:400;white-space:nowrap}
.drink-price{display:block;font-size:1rem;font-weight:700;line-height:1.4;margin-bottom:10px}
.drink-description{font-size:.875rem;line-height:1.5;color:var(--muted);margin:0;overflow-wrap:anywhere}
.drink-quantity{grid-column:2;justify-self:end;display:flex;align-items:center;background:#edf3e8;border:1px solid #d0ddc9;border-radius:28px;overflow:hidden;min-height:46px;margin-top:6px}
.drink-quantity button{display:grid;place-items:center;width:44px;min-height:44px;padding:0;font-size:1.25rem;font-weight:600;color:var(--forest);background:transparent;flex-shrink:0}
.drink-quantity button:hover:not(:disabled){background:#dce9d3}
.drink-quantity button:disabled{color:#919c8c;opacity:.7}
.drink-quantity button:focus-visible{outline-offset:-5px}
.drink-quantity input{width:42px;min-height:44px;padding:5px 0;border:0;border-radius:0;background:transparent;color:var(--forest);text-align:center;font-size:1rem;font-weight:600;appearance:textfield;line-height:1.5}
.drink-quantity input::-webkit-inner-spin-button,.drink-quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.drink-quantity input:focus-visible{outline-offset:-4px}
.drinks-price-note{font-size:.875rem;color:var(--muted);margin:18px 0 0}
.bag-drink-suggestions{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.bag-drink-suggestions h3{font-size:1.125rem;line-height:1.5;letter-spacing:0;margin:0 0 14px}
.bag-drink-list{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(148px,42%);gap:12px;list-style:none;margin:0;padding:0 0 12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-color:#a5bba2 #f1eadc}
.bag-drink-card{display:grid;grid-template-rows:104px 1fr auto auto;gap:10px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;scroll-snap-align:start}
.bag-drink-card img{display:block;width:104px;height:104px;object-fit:contain;justify-self:center}
.bag-drink-photo-fallback{display:grid;place-items:center;width:104px;height:104px;justify-self:center;background:var(--cream);border-radius:10px;font-family:var(--display);font-size:2rem;color:var(--forest)}
.bag-drink-name h4{font-family:var(--sans);font-size:1rem;line-height:1.45;font-weight:700;margin:0;overflow-wrap:anywhere}
.bag-drink-name span{display:block;font-size:.875rem;line-height:1.5;color:var(--muted);margin-top:2px}
.bag-drink-card>strong{font-size:1rem;line-height:1.5}
.bag-drink-add{width:100%;min-height:44px;background:#edf3e8;color:var(--forest);border:1px solid #d0ddc9;border-radius:9px;padding:10px 12px;font-size:.875rem;line-height:1.5;font-weight:700}
.bag-drink-add:hover{background:#dce9d3;border-color:#a5bba2}
@media(max-width:1000px){.drinks-grid{grid-template-columns:1fr}}
@media(max-width:480px){.drink-card{grid-template-columns:100px minmax(0,1fr);padding:14px;column-gap:14px}.drink-photo{width:100px;height:156px}.drink-photo img{padding:6px 9px}.drink-volume{width:38px;height:38px}.drink-content h3{font-size:1rem}.drink-description{font-size:.875rem}.drink-quantity{margin-top:10px}.drink-category-heading{padding:14px 18px}}
@media(max-width:340px){.drink-card{grid-template-columns:82px minmax(0,1fr);padding:12px;column-gap:12px}.drink-photo{width:82px;height:140px}.drink-quantity{grid-column:1/-1;justify-self:end}.drink-category-heading{flex-wrap:wrap;gap:4px}}

/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	-ms-touch-action: pinch-zoom;
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	-ms-touch-action: none;
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
	   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
	        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	-webkit-transition: none;
	   -moz-transition: none;
	        transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url("/vendor/leaflet/images/layers.png");
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url("/vendor/leaflet/images/layers-2x.png");
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url("/vendor/leaflet/images/marker-icon.png");
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;

	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}

.site-header nav{gap:clamp(12px,1.9vw,26px)}
.delivery-dialog{width:min(1020px,calc(100% - 32px));background:#fff9ed;border-radius:20px}
.delivery-header{background:#fff9ed;z-index:3;padding:23px 30px}
.delivery-header .eyebrow{margin-bottom:9px;font-size:.75rem;letter-spacing:1.3px}
.delivery-header h2{font-size:1.85rem;letter-spacing:-.7px;margin:0}
.delivery-content{padding:22px 30px 30px}
.delivery-tabs{display:flex;gap:8px;border-bottom:1px solid #ded8c7;padding-bottom:17px;margin-bottom:24px}
.delivery-tabs button{border:1px solid #d5dacb;background:#fffdf7;color:var(--forest);min-height:44px;padding:11px 21px;border-radius:30px;font-weight:700;font-size:.9rem}
.delivery-tabs button[aria-selected=true]{color:var(--cream);background:var(--forest);border-color:var(--forest)}
.delivery-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:25px;align-items:start}
.delivery-map-column{min-width:0}
.delivery-map{height:360px;background:#e4e9df;border:1px solid #d1dacb;border-radius:16px;z-index:0;isolation:isolate}
.map-caption{margin:10px 0 0;color:#566553;font-size:.8rem;line-height:1.5}
.delivery-map-unavailable{font-size:.85rem;line-height:1.5;background:#fff2d8;border:1px solid #dfc59e;border-radius:10px;padding:11px;margin-top:10px}
.delivery-location-panel,.delivery-area-panel{min-width:0;padding:2px 0 0}
.delivery-location-panel .eyebrow,.delivery-area-panel .eyebrow,.delivery-rates .eyebrow{font-size:.75rem;letter-spacing:1px;margin-bottom:12px}
.delivery-location-panel h3,.delivery-area-panel h3,.delivery-rates h3{font-size:1.65rem;line-height:1.2;letter-spacing:-.55px;margin:0 0 12px}
.delivery-location-panel p,.area-instruction{font-size:.93rem;line-height:1.65;margin-bottom:14px;color:#566553}
.delivery-location-panel .location-city{font-weight:700;color:var(--forest);margin-top:-3px}
.delivery-location-panel .location-note{font-size:.83rem;margin-bottom:20px}
.delivery-location-mark{width:46px;height:46px;border-radius:14px;background:var(--forest);color:var(--cream);display:grid;place-items:center;font-size:2.6rem;line-height:1;margin-bottom:20px}
.delivery-location-panel .button{font-size:.87rem;gap:8px}
.delivery-text-button{color:var(--accent);border:0;background:transparent;padding:9px 0;font-weight:700;font-size:.85rem;text-align:left;min-height:42px;line-height:1.4}
.delivery-location-panel>.delivery-text-button{margin-top:7px}
.delivery-area-panel input{width:100%;border:1px solid #c9d2c1;background:#fffdf7;border-radius:10px;font-size:1rem;padding:12px;color:var(--forest)}
.delivery-map-actions{margin-top:12px;display:flex;align-items:center;flex-wrap:wrap;gap:4px 14px}
.locate-delivery{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#eef3e7;border:1px solid #c9d5c0;color:var(--forest);padding:10px 12px;min-height:44px;font-size:.85rem;border-radius:10px}
.locate-delivery:disabled{opacity:.6;cursor:wait}
.delivery-location-status{font-size:.8rem;line-height:1.5;margin:4px 0 0;color:#52654e}
.delivery-location-status:empty{display:none}
.delivery-quote{background:#eff3e7;border:1px solid #d0dac4;border-radius:14px;margin:14px 0;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.delivery-quote>div{display:flex;flex-direction:column;gap:6px;min-width:0}
.delivery-quote span{font-size:.74rem;color:#566553}
.delivery-quote strong{font-size:1.4rem;line-height:1.25;letter-spacing:-.4px}
.delivery-quote p{grid-column:1/-1;font-size:.78rem;line-height:1.5;color:#52654e;margin:0}
.delivery-area-panel>.button{font-size:.9rem;min-height:48px;border-radius:11px}
.delivery-area-panel>.button:disabled{opacity:.5;cursor:not-allowed}
.delivery-rates{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid #ded8c7;margin-top:28px;padding-top:26px}
.delivery-rates h3{font-size:1.35rem;margin-bottom:17px}
.free-delivery-note{padding:13px 15px;background:#eff3e7;border:1px solid #cfdbc4;border-radius:12px;display:flex;flex-direction:column;gap:5px;margin:0 0 14px}
.free-delivery-note strong{font-size:1rem}.free-delivery-note span{font-size:.8rem;color:#52654e;line-height:1.5}
.delivery-method-note{font-size:.8rem;line-height:1.6;color:#66705c;margin:0}
.delivery-price-table{border-collapse:collapse;width:100%;font-size:.83rem;line-height:1.5;align-self:start}
.delivery-price-table caption{text-align:left;font-size:.95rem;font-weight:700;margin-bottom:11px}
.delivery-price-table th{font-size:.73rem;color:#63705a;font-weight:500;text-align:left;border-bottom:1px solid #ded8c7;padding:0 10px 10px}
.delivery-price-table th:last-child,.delivery-price-table td:last-child{text-align:right;white-space:nowrap}
.delivery-price-table td{padding:10px;border-bottom:1px solid #e3ddcf}
.delivery-price-table td:last-child{font-weight:700}
.delivery-price-table .selected-band{background:#e4edda;color:#184f33}
.band-tag{display:inline-block;margin-left:6px;font-size:.67rem;font-weight:700;background:#c5d8b8;border-radius:4px;padding:1px 4px}
.checkout-map-button{background:#eef3e7;border:1px solid #c9d5c0;color:var(--forest);margin-top:17px;border-radius:10px;font-size:.9rem;min-height:47px}
.infinity-map-marker{background:none;border:0}
.origin-map-pin{display:grid;place-items:center;width:36px;height:36px;background:#124c36;color:#f9e8c8;border:2px solid #fff9ed;border-radius:12px;font-size:2.1rem;line-height:1;box-shadow:0 3px 10px #0b37254d}
.destination-map-pin{display:block;width:30px;height:30px;border-radius:50%;background:#bb673e;border:3px solid #fff9ed;box-shadow:0 3px 10px #70301855}
.destination-map-pin:after{content:'';display:block;width:8px;height:8px;margin:8px;border-radius:50%;background:#fff9ed}
.delivery-map .leaflet-control-attribution{font-size:10px;background:#fff9eddd}
.delivery-map .leaflet-control-attribution a{color:#174d34}
.delivery-map .leaflet-control-zoom a{color:var(--forest);background:#fffdf7}
.delivery-map:focus-visible{outline:3px solid #8ba96f;outline-offset:3px}
.delivery-header{background:var(--forest);color:var(--paper);border-bottom:3px solid #d9b982;padding:25px 30px}
.delivery-header-brand{display:flex;align-items:center;gap:18px;min-width:0}
.delivery-brand-mark{display:grid;place-items:center;flex-shrink:0;width:57px;height:57px;border:1px solid #efd5a64a;border-radius:18px;color:var(--cream);font-size:3.2rem;line-height:1;background:#fff9ed09}
.delivery-header .eyebrow{color:#e4cfa5;font-size:.69rem;letter-spacing:1.8px}
.delivery-header h2{font-size:1.95rem;color:var(--paper)}
.delivery-header .icon-button{color:var(--cream);background:#fff9ed12;border:1px solid #fff9ed2b}
.delivery-header .icon-button:hover{background:#fff9ed25}
.delivery-content{background:radial-gradient(ellipse at 100% 0,#eee6ce66,transparent 65%)}
.delivery-tabs{border-bottom:0;gap:4px;width:fit-content;padding:5px;margin-bottom:24px;background:#e9ecdf;border-radius:14px}
.delivery-tabs button{border:0;border-radius:10px;background:transparent;padding:11px 22px}
.delivery-tabs button[aria-selected=true]{box-shadow:0 3px 8px #0b37251a}
.delivery-map-column{padding:8px;background:#fffdf8;border:1px solid #d6ddce;border-radius:20px;box-shadow:0 6px 20px #11392208}
.delivery-map{height:372px;border-radius:13px;border:0}
.map-caption{padding:2px 8px 7px;margin-top:10px;font-size:.74rem}
.delivery-location-panel{position:relative;isolation:isolate;overflow:hidden;background:var(--forest);color:var(--cream);padding:26px;border-radius:20px;min-height:423px;display:flex;flex-direction:column;align-items:flex-start}
.delivery-location-panel:after{content:'∞';position:absolute;right:-45px;top:48px;font-size:17rem;line-height:1;color:#9bb7960a;z-index:-1;transform:rotate(-22deg);pointer-events:none}
.delivery-location-mark{background:#fff9ed10;border:1px solid #e7d0a530;width:48px;height:48px;margin-bottom:20px}
.delivery-location-panel .eyebrow{color:#d3c49f;font-size:.67rem;letter-spacing:1.7px;margin-bottom:10px}
.delivery-location-panel h3{color:var(--paper);font-size:2.1rem;letter-spacing:-.9px;margin-bottom:9px}
.delivery-location-panel .location-city{color:#cbd8c5;font-size:.88rem;font-weight:400}
.location-free-delivery{margin:7px 0 23px;padding-top:18px;border-top:1px solid #fff9ed22;width:100%}
.location-free-delivery>span{display:block;color:#d3c49f;font-size:.62rem;letter-spacing:1.4px;margin-bottom:7px}
.location-free-delivery>strong{display:block;font-size:1.2rem;line-height:1.45;color:#f1dcaf;font-weight:600}
.delivery-location-panel>.button{margin-top:auto;gap:12px;min-height:48px}
.delivery-area-panel{background:#fffdf7;border:1px solid #d6ddce;border-radius:20px;padding:22px}
.delivery-area-panel .eyebrow{color:var(--accent);font-size:.67rem;letter-spacing:1.4px}
.delivery-area-panel h3{font-size:1.7rem}
.delivery-map-actions{gap:7px 15px}
.street-search-form{border:1px solid #d4decc;border-radius:13px;padding:14px;margin-top:15px;background:#f1f5e9}
.street-search-fields{display:grid;grid-template-columns:minmax(0,1fr) 105px;gap:9px}
.street-search-fields>div{min-width:0}
.street-search-fields .field-label{font-size:.77rem;line-height:1.4;margin-bottom:7px}
.street-search-fields .field-label span{display:block;font-size:.69rem;color:var(--muted);font-weight:400}
.street-search-fields input{background:white;padding:10px;font-size:.88rem}
.street-search-form>.button{gap:8px;margin-top:12px;font-size:.84rem;min-height:43px;padding:10px}
.street-search-form>.button:disabled{opacity:.6;cursor:wait}
.street-search-status{font-size:.75rem;line-height:1.5;margin:11px 0 0;color:#52654e}
.street-search-results{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:7px}
.street-search-results button{background:#fffdf8;width:100%;padding:12px;text-align:left;color:var(--forest);border:1px solid #ccd7c2;border-radius:9px;line-height:1.45}
.street-search-results button:hover{border-color:#4d7c50;background:#fff}
.street-search-results strong{display:block;font-size:.86rem}
.street-search-results small{display:block;color:var(--muted);font-size:.72rem;margin-top:4px}
.selected-street{font-size:.8rem;background:#eff4e8;color:var(--forest);padding:12px;border:1px solid #d0dbc7;border-radius:10px;margin:13px 0 0;overflow-wrap:anywhere}
.selected-street strong{display:block;font-size:.87rem;margin-bottom:3px}
.selected-street span{display:block;color:var(--muted);font-size:.74rem;line-height:1.5}
.delivery-rates{border-top:0;background:#f5efdf;padding:24px;border-radius:20px;gap:32px;margin-top:24px}
.delivery-rates .eyebrow{color:var(--accent);font-size:.65rem;letter-spacing:1.5px}
.delivery-rates h3{font-size:1.85rem;letter-spacing:-.8px;line-height:1.17;margin-bottom:20px}
.free-delivery-note{background:#fffdf7;border-color:#d3dcc5;margin:0;padding:15px 16px;border-left:3px solid var(--accent)}
.delivery-price-table caption{font-size:.91rem;margin-bottom:14px}
.delivery-price-table td{padding:12px 10px;border-bottom-color:#ded9ca}
.delivery-price-table tbody tr:last-child td{border-bottom:0}
@media(max-width:760px){
  .delivery-dialog{width:calc(100% - 16px);max-height:96dvh;border-radius:17px}
  .delivery-header{padding:18px}.delivery-header h2{font-size:1.45rem}.delivery-header .eyebrow{font-size:.65rem}
  .delivery-content{padding:18px}.delivery-tabs{margin-bottom:18px}.delivery-tabs button{font-size:.85rem;padding:10px 17px;flex:1}
  .delivery-layout{grid-template-columns:1fr;gap:20px}.delivery-map{height:255px}.delivery-map-column{order:0}
  .delivery-location-panel,.delivery-area-panel{order:1}.delivery-location-mark{display:none}
  .delivery-rates{grid-template-columns:1fr;gap:22px;margin-top:24px;padding-top:22px}
  .delivery-location-panel h3,.delivery-area-panel h3{font-size:1.5rem}
  .delivery-area-panel input{padding:11px}.delivery-quote{padding:13px;gap:9px;margin:12px 0}.delivery-quote strong{font-size:1.25rem}
  .delivery-map-actions{gap:2px 14px}.area-instruction{font-size:.86rem;margin-bottom:13px}
  .delivery-header{padding:20px 18px}.delivery-header-brand{gap:12px}.delivery-header h2{font-size:1.4rem}
  .delivery-brand-mark{width:43px;height:43px;font-size:2.4rem;border-radius:13px}
  .delivery-header .eyebrow{font-size:.55rem;letter-spacing:1px}
  .delivery-tabs{width:100%;margin-bottom:18px;padding:5px}.delivery-tabs button{padding:10px 12px}
  .delivery-map-column{padding:6px;border-radius:15px}.delivery-map{height:270px;border-radius:10px}
  .delivery-location-panel{min-height:0;padding:23px;border-radius:17px}.delivery-location-panel h3{font-size:1.9rem}
  .delivery-location-panel>.button{margin-top:0}.location-free-delivery{margin-bottom:19px}
  .delivery-area-panel{padding:18px;border-radius:17px}.street-search-fields{grid-template-columns:minmax(0,1fr) 92px}
  .delivery-rates{padding:20px;gap:24px;border-radius:17px}.delivery-rates h3{font-size:1.65rem}
  .delivery-price-table td{padding:11px 7px}.map-caption{font-size:.69rem}
}
.toast.address-notice{gap:12px;padding:14px 20px;background:var(--cream);color:var(--forest);border:1px solid #d9c39a;border-radius:16px;box-shadow:0 12px 36px #05221533;font-size:1rem;font-weight:700;flex-wrap:nowrap;text-align:left}
.toast-infinity-mark{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--forest);color:var(--cream);font:800 1.65rem/1 var(--sans)}

.delivery-address-status{padding:12px 14px;margin:14px 0 10px;border:1px solid #b1c6a9;border-radius:10px;background:#edf3e7;color:#244a33;font-size:.8125rem;line-height:1.55}
.delivery-address-status[data-error="true"]{background:#fff0d5;border-color:#d6b371;color:#684619}

/* Endereço definido na entrega; a sacola confirma rua e bairro. */
.street-neighborhood-fields{margin:12px 0}
.street-neighborhood-fields .field-label{font-size:.8125rem;margin-bottom:6px}
.street-neighborhood-fields input{width:100%;min-height:44px;font-size:16px}
.checkout-edit-address{margin:0 0 4px;min-height:44px}
#checkout-area input[readonly]{background:#f4f1e8;color:#395b47}
.delivery-map-actions:has(#locate-delivery[hidden]) .delivery-text-button{display:flex;align-items:center;justify-content:center;width:100%;padding:10px 14px;border:1px solid #1c6345;border-radius:10px;background:#1c6345;color:#fff9ed;min-height:44px}
.delivery-location-status:empty{display:none}
@media(max-width:760px){
  .delivery-dialog .delivery-header{padding:12px 14px;border-bottom-width:2px}
  .delivery-dialog .delivery-header-brand{gap:10px}
  .delivery-dialog .delivery-brand-mark{width:34px;height:34px;border-radius:10px;font-size:30px}
  .delivery-dialog .delivery-header .eyebrow{font-size:9px;line-height:1.3;letter-spacing:.06em;margin-bottom:3px}
  .delivery-dialog .delivery-header h2{font-size:20px;line-height:1.15;letter-spacing:-.02em}
  .delivery-dialog .delivery-header .icon-button{width:44px;height:44px;flex:none}
  .delivery-dialog .delivery-content{padding:12px}
  .delivery-dialog .delivery-tabs{padding:3px;margin-bottom:12px}
  .delivery-dialog .delivery-tabs button{min-height:44px;padding:9px 10px;font-size:13px}
  .delivery-dialog .delivery-layout{gap:12px}
  .delivery-dialog .delivery-map-column{padding:5px;border-radius:12px}
  .delivery-dialog .delivery-map{height:180px;border-radius:9px}
  .delivery-dialog .map-caption{padding:0 4px 3px;margin-top:5px;font-size:10px;line-height:1.35}
  .delivery-dialog .delivery-area-panel{padding:14px;border-radius:13px}
  .delivery-dialog .delivery-area-panel>.eyebrow{display:none}
  .delivery-dialog .delivery-area-panel h3{font-size:23px;line-height:1.15;margin-bottom:7px}
  .delivery-dialog .area-instruction{font-size:12px;line-height:1.4;margin-bottom:9px}
  .delivery-dialog .delivery-map-actions{gap:4px 10px}
  .delivery-dialog .locate-delivery{min-height:44px;padding:9px 11px;font-size:13px;line-height:1.35}
  .delivery-dialog .delivery-text-button{min-height:44px;padding-block:10px;font-size:13px;line-height:1.35}
  .delivery-dialog .street-search-form{padding:10px;margin-top:10px;border-radius:10px}
  .delivery-dialog .street-search-fields{grid-template-columns:minmax(0,1fr) 78px;gap:8px}
  .delivery-dialog .street-search-fields .field-label{font-size:12px;line-height:1.35;margin-bottom:5px}
  .delivery-dialog .street-search-fields .field-label span{font-size:10px}
  .delivery-dialog .delivery-area-panel input{min-height:44px;padding:9px 10px;font-size:16px;line-height:1.4}
  .delivery-dialog .street-search-form>.button{min-height:44px;margin-top:9px;padding:9px;font-size:13px}
  .delivery-dialog .street-search-status{font-size:11px;line-height:1.4;margin-top:8px}
  .delivery-dialog .street-search-results{margin-top:8px;gap:6px}
  .delivery-dialog .street-search-results button{min-height:44px;padding:9px 10px}
  .delivery-dialog .street-search-results strong{font-size:13px}
  .delivery-dialog .street-search-results small{font-size:11px;line-height:1.35}
  .delivery-dialog .selected-street{padding:10px;margin:10px 0;border-radius:10px}
  .delivery-dialog .selected-street strong{font-size:13px;margin-bottom:3px}
  .delivery-dialog .selected-street span{font-size:11px;line-height:1.4}
  .delivery-dialog .street-neighborhood-fields{margin:10px 0}
  .delivery-dialog .delivery-location-status{font-size:12px;line-height:1.4;margin:8px 0 0}
  .delivery-dialog .delivery-quote{padding:10px;gap:8px;margin:10px 0;border-radius:11px}
  .delivery-dialog .delivery-quote span{font-size:11px;line-height:1.35}
  .delivery-dialog .delivery-quote strong{font-size:21px;line-height:1.2}
  .delivery-dialog .delivery-quote p{font-size:11px;line-height:1.4}
  .delivery-dialog #use-delivery-point{min-height:44px;padding:10px 12px;font-size:13px}
  .delivery-dialog .delivery-rates{padding:14px;gap:14px;margin-top:14px;border-radius:13px}
  .delivery-dialog .delivery-rates .eyebrow{display:none}
  .delivery-dialog .delivery-rates h3{font-size:23px;line-height:1.15;margin-bottom:10px}
  .delivery-dialog .free-delivery-note{padding:10px 12px}
  .delivery-dialog .free-delivery-note strong{font-size:13px}
  .delivery-dialog .free-delivery-note span{font-size:11px;line-height:1.4}
  .delivery-dialog .delivery-price-table{font-size:12px;line-height:1.4}
  .delivery-dialog .delivery-price-table caption{font-size:13px;margin-bottom:8px}
  .delivery-dialog .delivery-price-table th{font-size:11px;padding-bottom:8px}
  .delivery-dialog .delivery-price-table td{padding:8px 6px}
}

/* Entrega: cada controle ocupa sua própria linha no fluxo do painel. */
.delivery-dialog .delivery-area-panel {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
}
.delivery-dialog .delivery-area-panel > * { margin-block:0; min-width:0; flex-shrink:0; }
.delivery-dialog .delivery-map-actions { display:flex; flex-wrap:wrap; align-items:stretch; gap:8px; }
.delivery-dialog .delivery-map-actions > button { margin:0; min-height:44px; min-width:0; white-space:normal; }
.delivery-dialog .locate-delivery { flex:1 1 170px; }
.delivery-dialog .locate-delivery svg { flex:none; }
.delivery-dialog .delivery-text-button { flex:1 1 auto; text-align:center; }
.delivery-dialog #use-delivery-point { display:flex; width:100%; min-height:44px; }
.delivery-dialog .street-search-form > .button { min-height:44px; }


/* Keep the mobile layout at the device's normal reading scale. */
@media (max-width: 740px) {
  html, body { min-width: 0; width: 100%; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  .container { max-width: calc(100% - 32px); }
  .container > *, .dialog-header > div, .bag-item-top > div { min-width: 0; }
  .header-inner { gap: 8px; }
  .header-inner .brand { min-width: 0; flex-shrink: 1; }
  .header-inner .bag-button { flex-shrink: 0; }
  .hero-copy, .featured-content, .flavor-card-header { min-width: 0; }
  .featured-card { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
  .flavor-card { grid-template-columns: minmax(0, 1fr) auto; }
  .flavor-card h3, .flavor-card .ingredients, .bag-item h3, .bag-item p { overflow-wrap: anywhere; }
  .combo-kicker { flex-wrap: wrap; gap: 8px 16px; }
  .combo-size { padding-right: 0; }
  .footer-inner > div { flex-wrap: wrap; justify-content: flex-start; gap: 12px 20px; }
  .hero-bottom .container { flex-wrap: wrap; }
  .menu-tools, .menu-search, .social-link { min-width: 0; }
  #menu-result-count { white-space: normal; }
  dialog {
    min-width: 0;
    max-width: calc(100vw - 16px);
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    scroll-behavior: auto;
    overscroll-behavior: contain;
  }
  .dialog-header h2, .dialog-header .eyebrow { overflow-wrap: anywhere; }
  .dialog-header h2:focus { outline: none; }
  :is(#builder-dialog, #flavor-picker-dialog, #bag-dialog, #info-dialog) :is(input, select, textarea),
  .menu-search input, .drink-quantity input { font-size: max(1rem, 16px); }
  .builder-toolbar select { padding-inline: 8px; }
  .builder-dialog .builder-footer { flex-wrap: wrap; }
  .builder-footer-actions { min-width: 0; }
  .bag-item-top, .bag-item-bottom, .bag-item-actions, .bag-undo { flex-wrap: wrap; }
  .bag-content, .summary-content { padding-inline: 16px; }
  .summary-content pre { white-space: pre-wrap; overflow-wrap: anywhere; }
  .tracking-heading { flex-wrap: wrap; }
  .tracking-heading p { min-width: 0; }
  .tracking-main h3, .is-terminal .tracking-main h3 { font-size: clamp(2rem, 11vw, 3.375rem); }
  .delivery-header-brand, .payment-demo-brand { min-width: 0; }
  .delivery-header-brand > div, .payment-demo-brand > div { min-width: 0; }
  .delivery-price-table { table-layout: fixed; overflow-wrap: anywhere; }
  .delivery-price-table th:first-child { width: 48%; }
  .delivery-price-table th:last-child, .delivery-price-table td:last-child { white-space: normal; }
  .delivery-quote, .payment-demo-total { overflow-wrap: anywhere; }
  .toast { width: max-content; flex-wrap: wrap; justify-content: center; }
}
@media (max-width: 380px) {
  .combo-action { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .combo-action .button { grid-column: 1; grid-row: 3; width: 100%; }
  .builder-dialog .border-options label { flex-wrap: wrap; }
  .builder-dialog .border-options small { flex-basis: 100%; margin-left: 24px; }
  .builder-dialog .builder-footer-actions { width: 100%; align-items: stretch; }
  .builder-dialog .builder-footer .button { width: 100%; }
  .street-search-fields { grid-template-columns: minmax(0, 1fr); }
}

.store-service-banner{background:#f9e8c8;color:#0b3725;border-bottom:1px solid #d7ccb9;padding:1rem 0}
.store-service-banner[data-status="open"]{background:#e7f2e9}
.store-service-banner[data-status="paused"]{background:#fff1d9}
.store-service-banner .container{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.store-service-banner strong{font-size:1rem;white-space:nowrap}
.store-service-banner p{margin:0;flex:1;min-width:180px;font-size:.92rem}
.store-service-banner button{border:1px solid currentColor;border-radius:8px;background:transparent;color:inherit;padding:.45rem .7rem;cursor:pointer}
.store-checkout-notice{background:#fff1d9;border:1px solid #dfc793;border-radius:10px;padding:.8rem 1rem;font-size:.95rem;color:#4b3612}
.store-card{background:#fff;border:1px solid #dce3dc;border-radius:16px;padding:1.35rem;margin:1.2rem 0 1.5rem}
.store-card-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.store-card h2{margin:0;font-size:1.25rem}.store-card h3{margin:.5rem 0;font-size:1.1rem}
.store-current-state{font-size:1.05rem;font-weight:700;display:inline-block;border-radius:7px;background:#eee7dc;padding:.4rem .75rem;margin:.8rem 0 .2rem}
.store-current-state[data-status="open"]{background:#e7f2e9;color:#0b572b}
.store-current-state[data-status="paused"]{background:#fff1d9;color:#754b03}
.store-card p{line-height:1.5;margin:.45rem 0}
.store-card label{display:flex;gap:.35rem;flex-direction:column;font-size:.9rem}
.store-card input[type="text"],.store-card input[type="time"],.store-card select{border:1px solid #b8c5ba;border-radius:8px;padding:.6rem;background:#fff;color:#123d2a;font:inherit;min-height:42px}
.store-card input[type="checkbox"]{width:18px;height:18px;accent-color:#0b572b;flex-shrink:0}
.store-actions{display:flex;align-items:end;gap:.6rem;flex-wrap:wrap;margin:1rem 0}
.store-actions .button[aria-pressed="true"]{outline:2px solid #0b572b;outline-offset:2px}
.store-card button:disabled{opacity:.55;cursor:default}
.store-message-label{max-width:680px;margin:1rem 0 .4rem}
.store-schedule-details{border-top:1px solid #e0e6df;margin-top:1rem;padding-top:1rem}
.store-schedule-details>summary{font-weight:700;cursor:pointer;padding:.4rem 0}
.store-day{display:grid;grid-template-columns:minmax(130px,1fr) minmax(100px,140px) minmax(100px,140px);gap:.8rem;align-items:center;padding:.7rem 0;border-bottom:1px solid #edf0e9;max-width:650px}
.store-day .store-day-check{flex-direction:row;align-items:center;gap:.6rem}
.store-schedule-actions{margin-top:1rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.store-help,.store-current-mode{font-size:.88rem;color:#526253}
@media(max-width:520px){.store-card{padding:1rem}.store-day{grid-template-columns:1fr 1fr;gap:.5rem}.store-day-check{grid-column:1/-1}.store-actions .button{flex:1 1 120px}.store-actions>label{flex-basis:100%}}

.loyalty-section{background:#f7eedb;padding:90px 0;scroll-margin-top:90px}.loyalty-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:28px}.loyalty-heading h2{font-size:clamp(36px,5vw,64px);line-height:1.05;max-width:700px}.loyalty-heading h2 em{font-style:normal;color:#1c6345}.loyalty-heading>div:last-child{max-width:330px}.loyalty-heading p{line-height:1.6}.loyalty-heading .button{margin-top:14px}.loyalty-progress{display:flex;align-items:center;gap:16px;margin-bottom:24px;font-weight:bold}.loyalty-progress progress{width:100%;height:9px;accent-color:#1c6345}.loyalty-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.loyalty-card{position:relative;overflow:hidden;isolation:isolate;min-height:400px;border-radius:24px;background:#0b3725;color:#fff9ed;padding:32px;display:flex;flex-direction:column;justify-content:space-between}.loyalty-card .loyalty-order{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:bold;z-index:1}.loyalty-card h3{font-family:InfinityDisplay,sans-serif;font-size:clamp(35px,3.6vw,53px);line-height:1.03;margin:18px 0 12px;letter-spacing:-.025em;max-width:58%}.loyalty-card p{font-size:14px;line-height:1.6;max-width:57%;margin:0 0 24px}.loyalty-card-footer{position:relative;z-index:2;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.loyalty-card-footer span{font-size:12px;max-width:170px}.loyalty-card .button{background:#f9e8c8;color:#0b3725;border:0;min-height:44px;padding:12px 18px}.loyalty-card .button:disabled{opacity:.7;cursor:default}.loyalty-card-picture{position:absolute;width:61%;height:100%;right:-3%;top:0;object-fit:cover;object-position:center;z-index:-1}.loyalty-border{background:#f0d7a6;color:#0b3725}.loyalty-border .loyalty-card-picture{object-position:60% center}.loyalty-border .button,.loyalty-coke .button{background:#0b3725;color:#fff9ed}.loyalty-coke{background:#e4ebdb;color:#0b3725}.loyalty-coke .loyalty-card-picture{object-fit:contain;width:57%;right:-3%}.loyalty-delivery{background:radial-gradient(ellipse at 75% 25%,#286b48,#0b3725 75%)}.loyalty-delivery .loyalty-route{position:absolute;width:70%;right:-4%;top:10%;color:#eed4a3;opacity:.65;z-index:-2}.loyalty-delivery .loyalty-card-picture{object-fit:contain;width:56%;height:70%;top:17%;right:-1%}.loyalty-pizza{background:#0b3725;padding-top:215px;min-height:490px}.loyalty-pizza h3{max-width:none;margin-top:10px}.loyalty-pizza p{max-width:none}.loyalty-pizza-images{position:absolute;top:-44px;right:0;width:100%;height:285px;z-index:-1}.loyalty-pizza-images img{position:absolute;object-fit:contain;width:65%;height:100%;left:-2%;transform:rotate(-10deg)}.loyalty-pizza-images img+img{left:40%;transform:rotate(12deg)}.loyalty-border,.loyalty-coke,.loyalty-delivery{min-height:490px}.loyalty-fine-print{font-size:13px;line-height:1.65;margin-top:24px;color:#395b47;max-width:940px}.loyalty-checkout{border:1px solid #b8c9ac;background:#f1f5e9;border-radius:16px;padding:20px;margin-bottom:24px}.loyalty-checkout h3{font-size:22px;margin:0 0 8px}.loyalty-checkout p{font-size:13px;line-height:1.6}.loyalty-checkout .button{margin:8px 0 12px}.loyalty-checkout label:not(.loyalty-remove){display:block;margin:14px 0 6px;font-weight:bold;font-size:13px}.loyalty-checkout select,.loyalty-checkout textarea{width:100%}.loyalty-gift-part details{font-size:13px;margin-top:8px}.loyalty-remove{display:flex;align-items:center;gap:8px;padding:7px 0;font-size:13px}.loyalty-remove input{width:auto;min-height:0}.loyalty-checkout [data-error="true"],.loyalty-auth [data-error="true"]{color:#a32d25}.loyalty-auth{width:min(460px,calc(100% - 24px));padding:30px;border-radius:24px;color:#0b3725;background:#fff9ed;border:0}.loyalty-auth::backdrop{background:#09251bc7}.loyalty-auth-close{position:absolute;top:15px;right:15px}.loyalty-auth-mark{font-family:InfinityDisplay,sans-serif;font-size:66px;line-height:1;color:#1c6345}.loyalty-auth h2{font-size:31px;line-height:1.05;margin:12px 0}.loyalty-auth p{font-size:14px;line-height:1.6}.loyalty-auth input{width:100%;margin:8px 0 14px}.loyalty-auth label{font-size:13px;font-weight:bold}.loyalty-auth .button{width:100%;margin-top:8px}.loyalty-code-input{text-align:center;font-size:34px!important;letter-spacing:.22em;font-variant-numeric:tabular-nums}.loyalty-auth-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px}.loyalty-auth-links button{border:0;background:none;text-decoration:underline;padding:7px 0;color:#1c6345;font-size:13px}.loyalty-auth-links button:disabled{opacity:.65;text-decoration:none}.loyalty-nav{background:#eed4a3;color:#0b3725!important;border-radius:100px;padding:7px 12px!important;font-weight:bold}.loyalty-nav span{margin-right:4px}.loyalty-discount{color:#1c6345;font-size:13px;padding:8px 0}
@media(max-width:760px){.loyalty-section{padding:55px 0}.loyalty-heading{display:block}.loyalty-heading>div:last-child{max-width:none}.loyalty-grid{grid-template-columns:1fr}.loyalty-card{min-height:410px;padding:26px}.loyalty-card h3{font-size:42px}.loyalty-card p{max-width:55%}.loyalty-pizza{padding-top:200px;min-height:465px}.loyalty-pizza p{max-width:none}.loyalty-pizza h3{max-width:none}.loyalty-card-footer{align-items:flex-start}.loyalty-progress span{white-space:nowrap}.loyalty-auth{padding:26px}}
@media(prefers-reduced-motion:reduce){.loyalty-section *{scroll-behavior:auto}}

/* The entry sits with the main ordering choices; benefits open in their own view. */
.hero-actions:has(.hero-loyalty-action){flex-wrap:wrap}
.hero-actions .hero-loyalty-action{flex:1 0 100%;min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:16px;padding:14px 20px;min-height:72px;border:1px solid #f6dfab;border-radius:14px;background:linear-gradient(115deg,#f6dfab,#fff0cf);color:#0b3725;box-shadow:0 8px 24px #001e1933;text-align:left}
.hero-actions .hero-loyalty-action:hover{background:linear-gradient(115deg,#ffeac0,#fff7e5);border-color:#fff7e5}
.hero-actions .hero-loyalty-action:focus-visible{outline:3px solid #fff9ed;outline-offset:4px}
.hero-loyalty-mark{font-size:42px;line-height:1;flex:none;font-weight:400}
.hero-loyalty-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.hero-loyalty-copy strong{font-size:18px;line-height:1.2}
.hero-loyalty-copy small{font-size:12px;line-height:1.4;font-weight:500;color:#365b44}
.hero-loyalty-action svg{width:24px;height:24px;flex:none;margin-left:auto}
.loyalty-dialog{width:min(1160px,calc(100% - 32px));max-height:92dvh;padding:0;border:0;border-radius:18px;background:#f7eedb;color:#0b3725;overflow-y:auto;overscroll-behavior:contain}
.loyalty-dialog .dialog-header{position:sticky;top:0;z-index:5;padding:22px 28px;gap:16px;background:#0b3725;color:#fff9ed;border-bottom:1px solid #eed4a333}
.loyalty-dialog .dialog-header .eyebrow{color:#eed4a3;margin-bottom:8px;font-size:11px;letter-spacing:.12em}
.loyalty-dialog .dialog-header h2{font-size:30px;line-height:1.1;color:inherit;margin:0}
.loyalty-dialog .icon-button{width:44px;height:44px;flex:none;color:#fff9ed;background:#ffffff0d;border-color:#ffffff40}
.loyalty-dialog .loyalty-section{padding:36px 0;scroll-margin-top:0}
.loyalty-dialog .container{width:auto;max-width:none;padding:0 28px}
.loyalty-dialog .loyalty-heading{align-items:flex-start;gap:24px}
.loyalty-dialog .loyalty-heading h2{font-size:clamp(32px,4vw,48px);letter-spacing:-.025em}
.loyalty-dialog .loyalty-heading>div:last-child{max-width:310px}
.loyalty-dialog .loyalty-progress-message{margin:-10px 0 24px;font-size:14px;line-height:1.5;color:#395b47}
@media(max-width:760px){
  .hero-actions .hero-loyalty-action{padding:12px 16px;gap:13px;min-height:68px}
  .hero-loyalty-mark{font-size:38px}
  .loyalty-dialog{width:calc(100% - 16px);max-height:96dvh;border-radius:14px}
  .loyalty-dialog .dialog-header{padding:18px;gap:12px}
  .loyalty-dialog .dialog-header h2{font-size:24px}
  .loyalty-dialog .loyalty-section{padding:26px 0}
  .loyalty-dialog .container{padding:0 18px}
  .loyalty-dialog .loyalty-heading>div:last-child{max-width:none}
}

/* Cadastro e recuperação por WhatsApp, com acesso posterior por PIN. */
.loyalty-auth-tabs{display:flex;gap:8px;margin:16px 0}.loyalty-auth-tabs button{flex:1;min-height:44px;padding:10px;border:1px solid #c8d2bd;border-radius:10px;background:#fff9ed;color:#0b3725;font-weight:bold;font-size:13px}.loyalty-auth-tabs button[aria-pressed="true"]{background:#0b3725;color:#fff9ed;border-color:#0b3725}.loyalty-auth #loyalty-pin-help{font-size:12px;margin:0 0 15px}.loyalty-whatsapp-code{padding:16px 12px;background:#e9eedf;border-radius:12px;font-size:clamp(16px,5vw,21px);font-weight:bold;text-align:center;letter-spacing:.04em;overflow-wrap:anywhere}.loyalty-auth .loyalty-whatsapp-expiry{font-size:12px;text-align:center;color:#395b47}.loyalty-auth #loyalty-whatsapp-link{display:flex;text-align:center;justify-content:center}.loyalty-auth [hidden]{display:none!important}

/* Etapa 24: confirmação mais simples e PIN com controle dentro do campo. */
.loyalty-auth{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;padding:28px}
.loyalty-auth-brand{display:flex;align-items:center;gap:10px;padding-right:40px}
.loyalty-auth-brand .loyalty-auth-mark{font-size:46px;line-height:1}
.loyalty-auth-brand-name{font-size:16px;font-weight:600;color:#1c6345}
.loyalty-auth h2{font-size:clamp(26px,6vw,32px);line-height:1.15;letter-spacing:-.02em;margin:18px 0 8px}
.loyalty-auth #loyalty-auth-intro{font-size:13px;color:#49614f;line-height:1.5;margin:0 0 18px}
.loyalty-auth-tabs{margin:0 0 22px}
.loyalty-auth #loyalty-phone-form label{display:block}
.loyalty-auth #loyalty-phone{margin:7px 0 18px}
.loyalty-auth :is(#loyalty-phone,#loyalty-pin){min-height:48px;padding:11px 14px;border:1px solid #bfcbb6;border-radius:10px;background:#fffdf8;color:#0b3725;font-size:16px}
.loyalty-pin-box{position:relative;margin:7px 0 0}
.loyalty-auth .loyalty-pin-box #loyalty-pin{margin:0;padding-right:52px}
.loyalty-auth .loyalty-pin-toggle{position:absolute;top:2px;right:3px;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:#456c52;display:grid;place-items:center}
.loyalty-pin-toggle:hover{background:#e9eedf}
.loyalty-pin-toggle:focus-visible{outline-offset:-4px}
.loyalty-pin-toggle svg{width:21px;height:21px}
.loyalty-pin-toggle .loyalty-eye-slash{display:none}
.loyalty-pin-toggle[aria-pressed="true"] .loyalty-eye-slash{display:block}
.loyalty-auth #loyalty-pin-help{font-size:12px;line-height:1.45;color:#5b695f;margin:7px 0 16px}
.loyalty-auth #loyalty-phone-error:empty{display:none}
.loyalty-auth #loyalty-phone-error{font-size:13px;margin:10px 0}
.loyalty-auth-links{margin-top:12px}
.loyalty-auth-links button{font-size:12px;color:#526f5c}
.loyalty-auth #loyalty-auth-whatsapp-stage>h3{margin:18px 0 8px;font-size:19px}
.loyalty-auth #loyalty-auth-whatsapp-stage>p{font-size:13px;color:#49614f}
.loyalty-auth #loyalty-whatsapp-message[data-error="true"]{color:#a32d25}
@media(max-width:360px){.loyalty-auth{padding:22px}.loyalty-auth-tabs{gap:6px}.loyalty-auth-tabs button{padding-inline:6px;font-size:12px}}

/* Sacola: Fidelidade Infinity em verde e creme, com informações essenciais. */
.loyalty-checkout{padding:0;margin-bottom:24px;overflow:hidden;border:1px solid #1c6345;border-radius:16px;background:#fff9ed;color:#0b3725;box-shadow:0 4px 16px #0b372514}
.loyalty-checkout-header{display:flex;align-items:center;gap:12px;padding:15px 18px;background:#0b3725;border-bottom:2px solid #eed4a3}
.loyalty-checkout-mark{display:grid;place-items:center;flex:none;width:38px;height:38px;border:1px solid #eed4a359;border-radius:11px;background:#fff9ed0a;color:#f9e8c8;font-size:34px;font-weight:400;line-height:1}
.loyalty-checkout h3{margin:0;color:#fff9ed;font-size:21px;line-height:1.2;letter-spacing:-.02em;overflow-wrap:anywhere}
.loyalty-checkout-body{padding:16px 18px 18px}
.loyalty-checkout p{color:#395b47;font-size:13px;line-height:1.5}
.loyalty-checkout #loyalty-checkout-status{margin:0 0 12px}
.loyalty-checkout #loyalty-checkout-activate{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;margin:0;background:#1c6345;color:#fff9ed;border:1px solid #1c6345;border-radius:10px;font-size:14px;font-weight:700;line-height:1.4;white-space:normal}
.loyalty-checkout #loyalty-checkout-activate:hover{background:#134d35;border-color:#134d35}
.loyalty-checkout label:not(.loyalty-remove){margin:14px 0 6px;color:#0b3725;font-size:12px;line-height:1.4;font-weight:700}
.loyalty-checkout #loyalty-reward-label{margin:0 0 6px;color:#395b47;font-size:12px;font-weight:600}
.loyalty-checkout select,.loyalty-checkout textarea{width:100%;max-width:100%;min-width:0;min-height:46px;padding:11px 12px;border:1px solid #b5c4ac;border-radius:10px;background:#fffdf7;color:#0b3725;font:inherit;font-size:16px;line-height:1.4}
.loyalty-checkout select{padding-right:30px}
.loyalty-checkout select:focus-visible,.loyalty-checkout textarea:focus-visible,.loyalty-checkout .button:focus-visible{outline:3px solid #1c6345;outline-offset:3px}
.loyalty-checkout #loyalty-reward{margin:0;padding:11px 12px;border:1px solid #7d9c7b;border-radius:10px;background:#f9f0de;color:#0b3725;font-size:15px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}
.loyalty-checkout #loyalty-reward[data-empty="true"]{border-color:#dedecb;background:#f5f1e7;color:#5b695f;font-weight:400}
.loyalty-checkout #loyalty-reward-help{margin:12px 0 0;padding-top:10px;border-top:1px solid #dedecb;font-size:12px;line-height:1.5}
.loyalty-checkout #loyalty-reward-help:empty{display:none}
.loyalty-checkout [data-error="true"]{color:#a32d25}
@media(max-width:400px){
  .loyalty-checkout-header{gap:10px;padding:13px 14px}
  .loyalty-checkout h3{font-size:19px}
  .loyalty-checkout-body{padding:14px}
}

/* Presente legível sobre qualquer foto, com o rodapé livre para quebrar linha. */
.loyalty-dialog .loyalty-card .loyalty-card-footer { align-items:flex-start; gap:8px; }
.loyalty-dialog .loyalty-card .loyalty-card-footer > span {
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:7px 10px;
  border:1px solid #c8b185;
  border-radius:8px;
  background:#fff9ed;
  color:#0b3725;
  font-size:12px;
  font-weight:600;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.loyalty-dialog .loyalty-border .loyalty-card-picture { width:47%; right:0; object-position:58% 70%; }
.loyalty-dialog .loyalty-border h3 { max-width:53%; }
.loyalty-dialog .loyalty-border p { max-width:52%; }
@media(max-width:740px){
  .loyalty-dialog .loyalty-border .loyalty-card-picture { width:43%; }
}

/* A compact frame leaves the pizza board as the main mobile action. */
.builder-dialog .builder-header > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.builder-dialog .builder-header .eyebrow {
  margin: 0;
  font-weight: 500;
  letter-spacing: .04em;
  line-height: 1.4;
}

@media (max-width: 740px) {
  .builder-dialog[open] {
    display: flex;
    flex-direction: column;
    width: calc(100% - 16px);
    height: calc(100vh - 16px);
    height: calc(100dvh - 16px);
    max-height: calc(100vh - 16px);
    max-height: calc(100dvh - 16px);
    overflow: hidden;
    border-radius: 14px;
  }
  .builder-dialog .builder-header {
    position: static;
    flex: none;
    padding: 10px 12px;
    gap: 10px;
  }
  .builder-dialog .builder-header h2 {
    font-size: 1.25rem;
    line-height: 1.2;
  }
  .builder-dialog .builder-header .eyebrow {
    font-size: .75rem;
    line-height: 1.35;
  }
  .builder-dialog .builder-header .icon-button {
    width: 44px;
    height: 44px;
  }
  #builder-form {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    flex: 1;
    min-height: 0;
    margin: 0;
    overflow: hidden;
  }
  .builder-dialog.builder-combo #builder-form {
    grid-template-rows: minmax(0, 1fr) auto;
  }
  .builder-dialog .builder-toolbar {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    align-items: start;
    gap: 10px;
    padding: 9px 12px 10px;
    margin: 0;
  }
  .builder-dialog .builder-toolbar fieldset {
    margin: 0;
    min-width: 0;
  }
  .builder-dialog .builder-toolbar:has(#size-fieldset[hidden]) {
    grid-template-columns: minmax(0, 1fr);
  }
  .builder-dialog .builder-toolbar:has(#size-fieldset[hidden]) .count-options {
    max-width: 200px;
  }
  .builder-dialog .builder-toolbar legend {
    display: block;
    min-height: 0;
    margin: 0 0 4px;
    font-size: .8125rem;
    line-height: 1.4;
  }
  .builder-dialog .builder-toolbar select {
    min-height: 44px;
    padding: 8px;
    font-size: 1rem;
    border-radius: 9px;
  }
  .builder-dialog .flavor-count-control {
    grid-template-columns: 40px minmax(0, 1fr) 40px;
    min-height: 44px;
    border-radius: 9px;
  }
  .builder-dialog .flavor-count-control button {
    min-height: 44px;
    font-size: 1.25rem;
  }
  .builder-dialog .flavor-count-control output {
    font-size: .8125rem;
    line-height: 1.3;
  }
  .builder-dialog .count-help {
    margin: 4px 0 0;
    font-size: .6875rem;
    line-height: 1.35;
    color: #d6e1d4;
  }
  .builder-dialog .builder-layout {
    display: block;
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scroll-behavior: auto;
    scroll-padding-block: 12px;
  }
  .builder-dialog .builder-preview {
    width: 100%;
    margin: 0;
    padding: 12px;
  }
  .builder-dialog .builder-preview > .eyebrow {
    display: none;
  }
  .builder-dialog .builder-preview h3 {
    margin: 0 0 3px;
    font-size: 1rem;
    line-height: 1.3;
  }
  .builder-dialog .builder-preview .preview-caption {
    font-size: .75rem;
    line-height: 1.4;
  }
  .builder-dialog .pizza-preview {
    width: 100%;
    max-width: 440px;
    margin: 8px auto 10px;
  }
  .builder-dialog .pizza-portion-stage {
    --board-padding: 2px;
    width: 100%;
    aspect-ratio: 1;
    margin: 0;
    padding: var(--board-padding);
  }
  .builder-dialog .pizza-portion-disc {
    width: 100%;
    height: auto;
  }
  .builder-dialog .pizza-portion-board {
    margin: 0;
    border-radius: 12px;
  }
  .builder-dialog .pizza-portion-board figcaption {
    gap: 2px 6px;
    padding: 6px 8px;
    font-size: .6875rem;
    line-height: 1.35;
  }
  .builder-dialog .pizza-portion-board figcaption strong {
    font-size: .75rem;
  }
  .builder-dialog .preview-flavors { gap: 6px; }
  .builder-dialog .preview-flavor {
    min-height: 44px;
    padding: 7px 9px;
    gap: 8px;
  }
  .builder-dialog .preview-flavor strong { font-size: .875rem; }
  .builder-dialog .preview-flavor > b { font-size: .75rem; }
  .builder-dialog .preview-swatch {
    width: 23px;
    height: 23px;
    font-size: .75rem;
  }
  .builder-dialog .preview-border {
    margin-top: 8px;
    padding-top: 8px;
    font-size: .75rem;
  }
  .builder-dialog .builder-fields { padding: 16px 12px; }
  .builder-dialog .builder-footer {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    position: static;
    margin: 0;
    padding: 9px 12px max(9px, env(safe-area-inset-bottom));
    box-shadow: 0 -3px 12px #20150e08;
  }
  .builder-dialog .builder-footer > div:first-child {
    max-width: 130px;
    gap: 2px;
  }
  .builder-dialog .builder-footer span {
    font-size: .6875rem;
    line-height: 1.3;
  }
  .builder-dialog .builder-footer strong {
    font-size: clamp(1.0625rem, 5.5vw, 1.25rem);
    line-height: 1.2;
    letter-spacing: -.02em;
  }
  .builder-dialog .builder-footer-actions {
    width: 100%;
    min-width: 0;
    align-items: stretch;
    flex-direction: column;
    gap: 5px;
  }
  .builder-dialog .builder-footer .button {
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 10px;
    border-radius: 9px;
    font-size: .8125rem;
    line-height: 1.4;
  }
  .builder-dialog .cancel-edit {
    min-height: 44px;
    padding: 8px 4px;
    font-size: .75rem;
    line-height: 1.35;
  }
  .track-order-launcher {
    width: max-content;
    max-width: min(248px, calc(100vw - 32px));
    min-height: 52px;
    padding: 8px 11px;
    gap: 8px;
    border-radius: 11px;
    right: 16px;
    left: auto;
    bottom: max(16px, env(safe-area-inset-bottom));
    font-size: .8125rem;
    line-height: 1.25;
    box-shadow: 0 5px 18px #0002;
  }
  .track-order-launcher > span:nth-child(2) { flex: 1; gap: 2px; }
  .track-order-launcher small { font-size: .6875rem; line-height: 1.35; }
  .track-order-launcher .track-launcher-symbol {
    font-size: 28px;
    flex: none;
  }
  body:has(.mobile-bag:not([hidden])) .track-order-launcher {
    bottom: calc(88px + env(safe-area-inset-bottom));
  }
}

@media (max-width: 380px) {
  .builder-dialog .builder-footer > div:first-child { max-width: 118px; }
}

@media (max-width: 740px) and (max-height: 480px) {
  .builder-dialog .builder-header { padding-block: 6px; }
  .builder-dialog .builder-toolbar { padding-block: 6px; }
}

/* Compact ordering and reward views keep their controls and complete terms. */
.brand.brand-with-image { position:relative; display:block; flex:0 0 auto; width:196px; min-width:0; aspect-ratio:1.618034; padding:0; overflow:hidden; border-radius:6px; }
.brand-image { position:absolute; left:10%; top:50%; width:80%; max-width:none; height:auto; transform:translateY(-52.5%); }
.footer-inner .brand.brand-with-image { width:178px; }
.builder-dialog .customization-section { margin-top:12px; padding-top:8px; }
.builder-dialog .customization-section > summary { padding:7px 0; }
.loyalty-regional-note { margin:0 0 18px; padding:8px 12px; border-left:3px solid var(--accent); color:var(--forest); font-size:.875rem; line-height:1.5; }
.store-contacts { display:none; }
@media (max-width:740px) {
  .top-social { display:none; }
  .preview-strip { padding:5px 12px; font-size:.6875rem; line-height:1.3; }
  .preview-strip span { font-size:.625rem; margin-top:1px; line-height:1.3; }
  .site-header .header-inner { min-height:88px; }
  .header-inner .brand.brand-with-image { width:clamp(128px,38vw,144px); }
  .store-service-banner { padding:10px 0; }
  .store-service-banner strong { font-size:.8125rem; }
  .store-service-banner p { font-size:.8125rem; line-height:1.4; }
  .store-service-banner:is([data-status="open"],[data-status="closed"]) { background:var(--forest); color:var(--cream); border:0; padding:6px 0 0; }
  .store-service-banner:is([data-status="open"],[data-status="closed"]) .container { justify-content:center; gap:0; }
  .store-service-banner:is([data-status="open"],[data-status="closed"]) strong { display:inline-flex; align-items:center; gap:7px; font-size:.75rem; font-weight:500; }
  .store-service-banner:is([data-status="open"],[data-status="closed"]) strong::before { content:""; width:6px; height:6px; border-radius:50%; background:#8fc99b; }
  .store-service-banner[data-status="closed"] strong::before { background:#d7c5a6; }
  .store-service-banner:is([data-status="open"],[data-status="closed"]) p { display:none; }
  .store-contacts { display:grid; flex:1 0 100%; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center; gap:6px; order:2; }
  .footer-socials { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  .store-contacts a, .footer-socials .social-link { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-height:44px; min-width:0; padding:4px 0; font-size:clamp(.625rem,2.8vw,.75rem); line-height:1.3; }
  .store-contacts a > span, .footer-socials .social-link > strong { font:inherit; white-space:nowrap; }
  .store-contacts .social-icon, .footer-socials .social-icon { width:18px; height:18px; flex:none; }
  .loyalty-dialog .loyalty-regional-note { margin-bottom:12px; padding:6px 8px; font-size:.75rem; line-height:1.45; }

  .builder-dialog .builder-footer { gap:8px; padding:4px 10px max(4px, env(safe-area-inset-bottom)); box-shadow:none; }
  .builder-dialog .builder-footer > div:first-child { max-width:102px; gap:1px; }
  .builder-dialog .builder-footer span { font-size:.625rem; line-height:1.2; }
  .builder-dialog .builder-footer strong { font-size:1rem; line-height:1.2; letter-spacing:0; white-space:nowrap; }

  .builder-dialog .flavor-selector { padding:10px; margin-bottom:8px; border-radius:10px; }
  .builder-dialog .selected-ingredients { font-size:.75rem; line-height:1.4; margin:3px 0 8px; }
  .builder-dialog .flavor-customizations { margin-top:8px; padding-top:4px; }
  .builder-dialog .flavor-customizations > summary, .builder-dialog .customization-section > summary { min-height:44px; padding:11px 0; font-size:.8125rem; line-height:1.4; }
  .builder-dialog .flavor-customizations .field-label { margin-top:4px; margin-bottom:4px; font-size:.75rem; line-height:1.4; }
  .builder-dialog .flavor-customizations textarea { min-height:56px; padding:6px 8px; margin:0; border-radius:8px; font-size:1rem; line-height:1.35; }
  .builder-dialog .customization-section { margin-top:6px; padding-top:0; }
  .builder-dialog .customization-section p { margin:0 0 6px; font-size:.6875rem; line-height:1.4; }
  .builder-dialog .flavor-customizations .ingredient-toggles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:0; }
  .builder-dialog .flavor-customizations .ingredient-toggles label { display:flex; align-items:center; gap:6px; min-height:44px; padding:6px 7px; font-size:.75rem; line-height:1.35; border-radius:7px; }
  .builder-dialog .flavor-customizations .ingredient-toggles input { width:16px; height:16px; margin:0; flex:none; }
  .builder-dialog .flavor-customizations .ingredient-toggles span { min-width:0; overflow-wrap:anywhere; }
  .builder-dialog .flavor-customizations .addition-options { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:0; }
  .builder-dialog .flavor-customizations .addition-option { grid-template-columns:16px minmax(0,1fr); column-gap:6px; row-gap:1px; min-height:48px; padding:6px 7px; border-radius:7px; font-size:.75rem; line-height:1.35; }
  .builder-dialog .flavor-customizations .addition-option > input { grid-column:1; grid-row:1 / span 2; width:16px; height:16px; }
  .builder-dialog .flavor-customizations .addition-option > span { grid-column:2; grid-row:1; min-width:0; overflow-wrap:anywhere; }
  .builder-dialog .flavor-customizations .addition-option > strong { grid-column:2; grid-row:2; font-size:.75rem; line-height:1.35; }
  .builder-dialog .flavor-customizations .addition-stock-status { font-size:.625rem; line-height:1.3; }

  :is(.combos-dialog,.loyalty-dialog) .dialog-header { padding:10px 12px; gap:10px; }
  :is(.combos-dialog,.loyalty-dialog) .dialog-header h2 { font-size:1.25rem; line-height:1.2; }
  :is(.combos-dialog,.loyalty-dialog) .dialog-header .eyebrow { font-size:.625rem; margin-bottom:4px; line-height:1.3; }
  :is(.combos-dialog,.loyalty-dialog) .icon-button { width:44px; height:44px; }
  :is(.combos-dialog,.loyalty-dialog) .container { padding-inline:12px; }
  .combos-dialog .combo-section.combo-showcase { padding:16px 0; }
  .combos-dialog .combos-heading { padding-bottom:14px; }
  .combos-dialog .combos-heading .eyebrow { display:none; }
  .combos-dialog .combos-heading h2 { font-size:1.75rem; line-height:1.1; }
  .combos-dialog .combos-heading > p { font-size:.8125rem; line-height:1.4; margin:8px 0 0; }
  .combos-dialog .combos-brand-mark { display:none; }
  .combos-dialog .combos-offers { gap:12px; max-width:520px; }
  .combos-dialog .combo-poster { display:grid; grid-template-columns:100px minmax(0,1fr); border-radius:14px; }
  .combos-dialog .combo-poster-top { display:none; }
  .combos-dialog .combo-poster-art { grid-column:1; grid-row:1; align-self:start; width:100px; height:150px; margin:12px 0 0; }
  .combos-dialog .combo-photo-main, .combos-dialog .combo-poster-family .combo-photo-main { width:90px; height:90px; max-width:none; left:2px; top:12px; }
  .combos-dialog .combo-photo-back { width:76px; height:76px; max-width:none; right:0; top:6px; }
  .combos-dialog .combo-photo-front { width:84px; height:84px; max-width:none; left:1px; top:31px; }
  .combos-dialog .combo-drink-photo { width:32px; height:78px; max-width:none; right:2px; bottom:23px; }
  .combos-dialog .combo-art-tag { left:5px; right:3px; bottom:2px; padding:4px; font-size:.625rem; line-height:1.3; text-align:center; border-radius:7px; }
  .combos-dialog .combo-border-seal { width:54px; height:54px; left:1px; top:0; font-size:.5rem; letter-spacing:.04em; border-width:2px; outline-offset:-6px; }
  .combos-dialog .combo-border-seal > span { font-size:.625rem; }
  .combos-dialog .combo-poster-body { grid-column:2; grid-row:1; padding:12px 12px 12px 8px; }
  .combos-dialog .combo-poster h3 { font-size:1.1875rem; line-height:1.15; margin:0 0 6px; }
  .combos-dialog .combo-poster-subtitle { font-size:.75rem; line-height:1.4; margin:0 0 6px; }
  .combos-dialog .combo-inclusions { font-size:.75rem; line-height:1.35; margin:0 0 8px; }
  .combos-dialog .combo-inclusions li { padding:4px 0; gap:1px; }
  .combos-dialog .combo-inclusions span { font-size:.6875rem; }
  .combos-dialog .combo-poster-bottom { padding-top:8px; }
  .combos-dialog .combo-price-label { font-size:.5625rem; margin-bottom:3px; line-height:1.3; }
  .combos-dialog .combo-poster-price > span { font-size:.75rem; margin:0 1px 4px 0; }
  .combos-dialog .combo-poster-price > b { font-size:2.125rem; }
  .combos-dialog .combo-poster-price > sup { font-size:1rem; margin-top:3px; }
  .combos-dialog .combo-poster-help { min-height:0; font-size:.6875rem; line-height:1.4; margin:6px 0 10px; }
  .combos-dialog .combo-order-button { min-height:44px; padding:8px; font-size:.8125rem; line-height:1.35; border-radius:9px; }
  .combos-dialog .combos-image-note { font-size:.6875rem; line-height:1.4; margin:12px 0 0; }

  .loyalty-dialog .loyalty-section { padding:16px 0; }
  .loyalty-dialog .loyalty-heading { margin-bottom:14px; }
  .loyalty-dialog .loyalty-heading .eyebrow { font-size:.625rem; margin-bottom:6px; }
  .loyalty-dialog .loyalty-heading h2 { font-size:1.625rem; line-height:1.15; margin-bottom:10px; }
  .loyalty-dialog .loyalty-heading p { font-size:.8125rem; line-height:1.45; margin-bottom:8px; }
  .loyalty-dialog .loyalty-heading .button { min-height:44px; margin-top:0; padding:10px 14px; font-size:.8125rem; }
  .loyalty-dialog .loyalty-progress { gap:10px; margin-bottom:12px; font-size:.6875rem; }
  .loyalty-dialog .loyalty-grid { gap:12px; }
  .loyalty-dialog .loyalty-card { min-height:220px; padding:16px; border-radius:16px; gap:8px; }
  .loyalty-dialog .loyalty-order { font-size:.625rem; line-height:1.4; }
  .loyalty-dialog .loyalty-card h3 { max-width:58%; font-size:1.625rem; line-height:1.1; margin:6px 0 8px; }
  .loyalty-dialog .loyalty-card p { max-width:58%; font-size:.75rem; line-height:1.4; margin:0 0 8px; }
  .loyalty-dialog .loyalty-card-picture { width:43%; right:-3%; }
  .loyalty-dialog .loyalty-delivery .loyalty-card-picture { width:43%; height:72%; top:12%; right:-2%; }
  .loyalty-dialog .loyalty-route { width:49%; top:16%; right:-3%; }
  .loyalty-dialog .loyalty-coke .loyalty-card-picture { width:43%; }
  .loyalty-dialog .loyalty-pizza-images { width:47%; height:140px; top:30px; right:-3%; }
  .loyalty-dialog .loyalty-card-footer { gap:8px; align-items:center; }
  .loyalty-dialog .loyalty-card-footer span { font-size:.6875rem; line-height:1.35; max-width:135px; }
  .loyalty-dialog .loyalty-card .button { min-height:44px; padding:9px 12px; font-size:.8125rem; line-height:1.35; }
  .loyalty-dialog .loyalty-fine-print { font-size:.6875rem; line-height:1.5; margin-top:14px; }
}
@media(max-width:350px) {
  .combos-dialog .combo-poster { grid-template-columns:90px minmax(0,1fr); }
  .combos-dialog .combo-poster-art { width:90px; }
  .combos-dialog .combo-poster-body { padding-right:10px; }
  .loyalty-dialog .loyalty-card { padding:14px; }
  .loyalty-dialog .loyalty-card h3 { font-size:1.5rem; }
}

/* Etapa 34: sacola compacta, com campos legíveis e alvos de toque de 44 px. */
.bag-dialog .checkout-optional{margin:10px 0}
.bag-dialog .checkout-optional>summary{display:list-item;min-height:44px;padding:11px 0;color:var(--accent);font-size:.8125rem;font-weight:600;line-height:1.5;cursor:pointer}
.bag-dialog .checkout-optional>summary:focus-visible{outline:3px solid #448b62;outline-offset:2px}
.bag-dialog .checkout-optional[open]>.checkout-field{margin-top:4px}
@media(max-width:740px){
  .bag-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:14px}
  .bag-dialog .dialog-header{padding:10px 14px;gap:12px}
  .bag-dialog .dialog-header .eyebrow{margin-bottom:3px;font-size:.625rem;line-height:1.3}
  .bag-dialog .dialog-header h2{font-size:1.375rem;line-height:1.2}
  .bag-dialog .dialog-header .icon-button{width:44px;height:44px;flex:none}
  .bag-dialog .bag-content{padding:14px 14px 18px}
  .bag-dialog .bag-item{margin-bottom:12px;padding-bottom:12px}
  .bag-dialog .bag-item-top{gap:8px}
  .bag-dialog .bag-item h3{font-size:.9375rem;line-height:1.3;margin-bottom:4px}
  .bag-dialog .bag-item p{font-size:.75rem;line-height:1.4;margin-bottom:3px}
  .bag-dialog .bag-item-bottom{gap:8px;margin-top:8px}
  .bag-dialog .bag-item-actions{gap:8px}
  .bag-dialog .bag-item-actions button{min-height:44px;padding:8px 3px;font-size:.8125rem}
  .bag-dialog .quantity-control button{width:44px;height:44px;min-height:44px;padding:0}
  .bag-dialog .checkout-section{padding-bottom:12px;margin-bottom:14px}
  .bag-dialog .checkout-section legend{font-size:.9375rem;line-height:1.4;margin-bottom:8px}
  .bag-dialog .checkout-grid{gap:9px}
  .bag-dialog .address-grid{grid-template-columns:minmax(0,1fr) 82px;margin-top:4px}
  .bag-dialog .checkout-field{margin-top:10px}
  #checkout-area .field-label{font-size:.75rem;line-height:1.4;margin-bottom:5px}
  #bag-dialog #checkout-area :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){min-width:0;min-height:44px;padding:9px 10px;font-size:16px;line-height:1.4}
  #bag-dialog #checkout-area .field-help{font-size:.75rem;line-height:1.4;margin:6px 0 0}
  .bag-dialog .delivery-options{margin-bottom:12px;padding-bottom:10px;gap:6px;font-size:.75rem;line-height:1.4}
  .bag-dialog .delivery-options legend{font-size:.75rem}
  .bag-dialog .checkout-map-button{margin-top:10px;padding:10px 12px;min-height:44px;font-size:.8125rem}
  .bag-dialog .delivery-address-status{padding:9px 10px;margin:10px 0 8px;font-size:.75rem;line-height:1.4}
  .bag-dialog .checkout-optional{margin:5px 0}
  .bag-dialog .checkout-optional>summary{font-size:.75rem}
  .bag-dialog #order-note{min-height:56px;margin-bottom:0}
  .bag-dialog .loyalty-checkout{margin-bottom:14px;border-radius:12px}
  .bag-dialog .loyalty-checkout-header{padding:10px 12px;gap:9px}
  .bag-dialog .loyalty-checkout-mark{width:32px;height:32px;font-size:28px;border-radius:9px}
  .bag-dialog .loyalty-checkout h3{font-size:18px;line-height:1.25}
  .bag-dialog .loyalty-checkout-body{padding:12px}
  .bag-dialog #loyalty-checkout-status{font-size:12px;line-height:1.4;margin-bottom:8px}
  .bag-dialog #loyalty-reward-label{font-size:11px;margin-bottom:4px}
  .bag-dialog #loyalty-reward{font-size:14px;line-height:1.4;padding:9px 10px}
  .bag-dialog .loyalty-checkout #loyalty-reward-help{font-size:11px;line-height:1.4;margin-top:8px;padding-top:8px}
  .bag-dialog .loyalty-checkout label:not(.loyalty-remove){margin-top:10px;margin-bottom:5px;font-size:12px}
  .bag-dialog .loyalty-checkout #loyalty-checkout-activate{min-height:44px;font-size:13px}
  .bag-dialog .totals{margin:14px 0}
  .bag-dialog .totals>div{padding:5px 0;font-size:.875rem}
  .bag-dialog .totals .grand-total{padding-top:9px;font-size:1rem}
  .bag-dialog #review-order{min-height:46px;padding:11px 14px}
  .bag-dialog .store-checkout-notice{padding:9px 10px;font-size:.75rem;line-height:1.4;margin:10px 0 0}
}
@media(min-width:420px) and (max-width:740px){
  .bag-dialog .checkout-grid:not(.address-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Keep the custom pizza's personal touch as the main heading. */
.builder-dialog:has(#size-fieldset:not([hidden])) #builder-title {
  margin:0;
  font-size:.875rem;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.04em;
}
.builder-dialog:has(#size-fieldset:not([hidden])) #builder-eyebrow {
  margin:0;
  font-size:1.75rem;
  font-weight:800;
  line-height:1.2;
  letter-spacing:-.04em;
}
@media(max-width:740px){
  .toast.cart-addition { display:none; }
  .mobile-bag {
    left:50%;
    right:auto;
    width:min(280px,calc(100% - 32px));
    transform:translateX(-50%);
    bottom:calc(10px + env(safe-area-inset-bottom));
    min-height:44px;
    padding:6px 9px;
    gap:7px;
    background:linear-gradient(115deg,#fff9ed,#f9e8c8);
    color:#0b3725;
    border:1px solid #d9bd87;
    border-radius:10px;
    box-shadow:0 4px 14px #05221526,inset 0 1px 0 #ffffff80;
    font-size:.75rem;
    font-weight:600;
    line-height:1.25;
  }
  .mobile-bag > span { display:flex; align-items:center; gap:6px; min-width:0; white-space:nowrap; }
  .mobile-bag-icon { flex:none; width:16px; height:16px; color:#0b3725; }
  .mobile-bag b {
    display:inline-grid;
    place-items:center;
    min-width:18px;
    min-height:18px;
    margin:0;
    padding:3px 5px;
    border-radius:5px;
    background:#0b3725;
    color:#fff9ed;
    font-size:.6875rem;
    line-height:1;
  }
  .mobile-bag > strong { margin-left:auto; font-size:.8125rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
  .mobile-bag-arrow { flex:none; width:14px; height:14px; color:#0b3725; }
  .mobile-bag:hover { background:#f6dfb8; }
  .mobile-bag:focus-visible { outline:3px solid #d9bd87; outline-offset:3px; }
  .builder-dialog:has(#size-fieldset:not([hidden])) #builder-title { font-size:.75rem; }
  .builder-dialog:has(#size-fieldset:not([hidden])) #builder-eyebrow { font-size:1.25rem; }
}

/* Entregador e assinatura de delivery integrados à marca da Infinity. */
.header-branding{display:flex;align-items:center;gap:18px;flex:0 0 auto;min-width:0}
.header-delivery{display:flex;align-items:center;gap:9px;padding-left:18px;border-left:1px solid #eed4a339;color:var(--cream);flex-shrink:0}
.delivery-courier{display:block;width:60px;height:60px;flex-shrink:0;background:var(--cream);-webkit-mask:url('/assets/infinity-delivery-courier-v1-2bd6098e66.webp') center/contain no-repeat;mask:url('/assets/infinity-delivery-courier-v1-2bd6098e66.webp') center/contain no-repeat}
.delivery-copy{display:grid;gap:3px;white-space:nowrap}
.delivery-copy>span{font-size:10px;font-weight:700;line-height:1.1;letter-spacing:.15em;text-transform:uppercase;color:#eed4a3}
.delivery-copy>strong{font-family:var(--display);font-size:21px;font-weight:700;line-height:1.05;letter-spacing:-.02em}

@media(max-width:1120px){
  .site-header .header-inner{gap:16px}
  .header-branding{gap:16px}
  .header-delivery{padding-left:16px}
  .header-inner #nav-toggle{display:grid;place-items:center;width:42px;height:44px;flex-shrink:0;margin-left:auto;padding:9px;background:transparent;color:var(--paper);border:1px solid #eed4a340;border-radius:8px}
  .header-inner #nav-toggle svg{width:21px;height:21px}
  .header-inner #nav-toggle[aria-expanded="true"]{background:var(--cream);border-color:var(--cream);color:var(--forest)}
  .site-header #primary-nav{display:none;position:absolute;top:100%;left:0;right:0;gap:0;padding:10px 18px 15px;background:var(--forest);border-bottom:1px solid #6b967b;box-shadow:0 12px 25px #0003}
  .site-header #primary-nav.nav-open{display:flex;flex-direction:column}
  .site-header #primary-nav a{display:block;padding:12px 8px;font-size:15px;border-bottom:1px solid #ffffff10}
  .site-header #primary-nav a:last-child{border-bottom:0}
}
@media(max-width:740px){
  .site-header .header-inner{gap:8px}
  .header-branding{gap:10px}
  .header-delivery{flex-direction:column;width:64px;gap:2px;padding-left:10px}
  .delivery-courier{width:40px;height:36px}
  .delivery-copy{gap:2px;text-align:center}
  .delivery-copy>span{font-size:9px;letter-spacing:.12em}
  .delivery-copy>strong{font-size:14px;line-height:1.1}
}
@media(max-width:360px){
  .site-header .header-inner{gap:6px}
  .header-branding{gap:8px}
  .header-branding .brand.brand-with-image{width:clamp(104px,33vw,119px)}
  .header-delivery{width:52px;padding-left:6px}
  .delivery-courier{width:36px;height:32px}
  .delivery-copy>span{font-size:8px}
  .delivery-copy>strong{font-size:12px}
  .header-inner #nav-toggle{width:40px;padding:8px}
  .header-inner .bag-button{padding:8px;gap:5px;min-height:44px}
}
