.selection-indicator{flex:0 0 var(--selection-size);width:var(--selection-size);height:var(--selection-size);border:var(--selection-border-width) solid var(--selection-color);border-radius:var(--selection-radius);background:var(--selection-background);color:var(--selection-color);place-items:center;padding:3px;transition:background-color .16s ease-out;display:grid}.selection-indicator[data-state=checked]{background:var(--selection-checked-background)}.selection-indicator svg{width:100%;height:100%}.restaurant-choice-copy{gap:4px;min-width:0;display:grid}:is(.choice-chips,.choice-cards) [data-slot=toggle-group-item]>.selection-indicator{margin-left:auto}@media (prefers-reduced-motion:reduce){.selection-indicator{transition:none}}.request-privacy{z-index:1;isolation:isolate;gap:12px;margin-block:20px;display:grid;position:relative}.request-privacy .privacy-check{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--card);min-height:48px;font-size:var(--text-label);line-height:var(--leading-label);cursor:pointer;align-items:flex-start;gap:12px;padding:16px;transition:background-color .16s ease-out,border-color .16s ease-out;display:flex;position:relative}.request-privacy .privacy-check:has(input:checked){background:var(--secondary);border-color:var(--foreground)}.request-privacy .privacy-check:has(input:focus-visible){outline:2px solid var(--ring);outline-offset:3px}.request-privacy .privacy-check input{opacity:0;width:100%;height:100%;cursor:inherit;margin:0;position:absolute;inset:0}.request-privacy .privacy-check>span:last-child{min-width:0}.request-privacy .selection-indicator{margin-top:2px}.request-privacy .request-privacy-detail{color:var(--muted-foreground);font-size:var(--text-detail);line-height:var(--leading-body);margin:0}.request-privacy-links{font-size:var(--text-detail);line-height:var(--leading-body);flex-wrap:wrap;gap:4px 24px;display:flex}.request-privacy-links :is(a,button){text-underline-offset:3px;align-items:center;gap:4px;min-height:44px;text-decoration:underline;display:inline-flex}.request-privacy-links :is(a,button):hover{text-decoration-thickness:2px}.request-privacy-links :is(a,button):focus-visible{outline:2px solid var(--ring);outline-offset:3px}.request-privacy .privacy-check:has(input:disabled){opacity:.6;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.request-privacy .privacy-check{transition:none}}.request-privacy-links button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.puttes-catering{background:var(--background);color:var(--foreground);font-family:var(--font-body);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;padding:0 5vw 80px}.puttes-catering a{text-underline-offset:4px}.pc-hero{border-bottom:1px solid var(--border);grid-template-columns:1.2fr 1fr;align-items:center;gap:4rem;max-width:1280px;margin:auto;padding:72px 0 64px;display:grid}.pc-eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:var(--text-meta);color:var(--secondary);font-weight:600}.pc-hero h1{letter-spacing:-.055em;margin:22px 0;font-size:clamp(3rem,6vw,6.5rem);font-weight:650;line-height:1.02}.pc-hero p{max-width:510px;line-height:1.65}.pc-hero .pc-intro-note{color:var(--muted-foreground);font-size:var(--text-body);margin:18px 0 28px}.pc-van{object-fit:contain;width:100%;height:auto}.pc-button{background:var(--primary);min-height:50px;color:var(--primary-foreground);cursor:pointer;border:0;border-radius:4px;justify-content:space-between;align-items:center;gap:2rem;padding:14px 24px;font-weight:600;text-decoration:none;display:inline-flex}.pc-button:disabled{opacity:.5;cursor:not-allowed}.pc-content{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:64px;max-width:1280px;margin:auto;display:grid}.pc-form-fields{border:0;min-width:0;margin:0;padding:0}.pc-section{border-bottom:1px solid var(--border);padding:42px 0;scroll-margin-top:24px}.pc-section>p{color:var(--muted-foreground);font-size:var(--text-detail);line-height:1.6}.pc-section-heading{align-items:center;gap:16px;margin-bottom:24px;display:flex}.pc-section-heading>span{color:var(--secondary);font-size:var(--text-meta)}.pc-section-heading h2{font-size:var(--text-section);letter-spacing:-.04em;margin:0;font-weight:400}.pc-section-heading>a{font-size:var(--text-meta);color:var(--secondary);margin-left:auto}.pc-menu-grid{grid-template-columns:1fr 1fr;column-gap:28px;display:grid}.pc-menu-item{border-bottom:1px solid var(--border);flex-direction:column;justify-content:space-between;gap:16px;padding:24px 0;display:flex}.pc-menu-item h3{font-size:var(--text-card-title);margin:0 0 8px;font-weight:600;line-height:1.4}.pc-menu-item p{font-size:var(--text-detail);color:var(--muted-foreground);min-height:2.5em;margin-bottom:12px;line-height:1.6}.pc-price{font-size:var(--text-label);color:var(--foreground)}.pc-menu-item .quantity{width:max-content}.pc-extras{margin-top:24px}.pc-extras summary{cursor:pointer;color:var(--primary);padding:12px 0;font-size:1.05rem}.pc-fields{grid-template-columns:1fr 1fr;gap:24px;display:grid}.pc-fields label,.pc-address,.pc-notes{font-size:var(--text-label);flex-direction:column;gap:10px;display:flex}.pc-full{grid-column:1/-1}.pc-section.request-details{container-type:inline-size}@container (width<=540px){.pc-fields{grid-template-columns:1fr}}.pc-date-field{flex-direction:column;gap:10px;display:flex}.pc-date-field .fb-date-picker input{padding-right:var(--fb-date-input-end,52px)}.pc-fields input,.pc-address input,.pc-notes textarea{background:var(--card);color:var(--foreground);border:1px solid var(--input);width:100%;min-height:48px;font:inherit;border-radius:4px;padding:12px}.pc-notes textarea{resize:vertical}.pc-radio{font-size:var(--text-label);border:0;margin:28px 0 20px;padding:0}.pc-radio legend{margin-bottom:14px}.pc-radio label{align-items:center;gap:12px;padding:10px 0;display:flex}.pc-radio input{accent-color:var(--secondary);flex-shrink:0;width:20px;min-width:20px;height:20px}.pc-small{color:var(--muted-foreground);line-height:1.6;font-size:var(--text-detail)!important}.pc-submit{font-size:var(--text-detail);padding-top:28px;line-height:1.6}.pc-submit .pc-button{margin-top:16px}.pc-submit [role=alert]{color:var(--destructive)}.pc-summary{border:1px solid var(--border);border-radius:4px;margin-top:42px;padding:24px;position:sticky;top:24px}.pc-summary img{width:100%;height:auto;margin-bottom:24px}.pc-summary h2{letter-spacing:-.035em;margin-bottom:14px;font-size:1.4rem}.pc-summary p{font-size:var(--text-detail);color:var(--muted-foreground);line-height:1.6}.pc-summary ul{max-height:40vh;margin:0;padding:0;list-style:none;overflow:auto}.pc-summary li{font-size:var(--text-detail);justify-content:space-between;gap:14px;padding:9px 0;display:flex}.pc-summary li>span:last-child{white-space:nowrap}.pc-total{border-top:1px solid var(--border);font-size:var(--text-label);justify-content:space-between;align-items:center;margin:24px 0 12px;padding-top:20px;display:flex}.pc-total strong{color:var(--primary);font-size:1.4rem}.restaurant-page .puttes-catering{padding-inline:var(--restaurant-gutter)}.restaurant-page :is(.pc-hero,.pc-content){max-width:calc(1600px - 2 * var(--restaurant-gutter))}.pc-receipt{overflow-wrap:anywhere;max-width:700px;min-height:65vh;margin:auto;padding:80px 0}.pc-receipt h1{font-size:3rem;line-height:1.1}.pc-receipt p{margin:24px 0;line-height:1.6}.puttes-catering :focus-visible{outline:3px solid var(--primary);outline-offset:4px}@media (width<=1000px){.pc-content{grid-template-columns:minmax(0,1fr) 240px;gap:28px}.pc-hero{gap:20px}.pc-menu-grid{grid-template-columns:1fr}.pc-summary{padding:18px}}@media (width<=700px){.puttes-catering{padding:0 6vw 48px}.pc-hero{grid-template-columns:1fr;gap:24px;padding:40px 0}.pc-hero h1{font-size:3.5rem}.pc-van{justify-self:center;max-width:320px}.pc-content{flex-direction:column;gap:24px;display:flex}.pc-content form{width:100%}.pc-summary{width:100%;margin-top:28px;position:static}.pc-summary img{display:none}.pc-summary ul{max-height:200px}.pc-fields{grid-template-columns:1fr}.pc-menu-grid{grid-template-columns:1fr;gap:0 20px}.pc-section-heading{flex-wrap:wrap;gap:12px}.pc-section-heading h2{font-size:var(--text-section)}.pc-section-heading>a{margin-left:0}.pc-submit .pc-button{width:100%}.pc-menu-item h3{font-size:var(--text-card-title)}}@media (width<=360px){.pc-menu-grid{grid-template-columns:1fr}.pc-hero h1{font-size:3rem}}.puttes-catering h1,.puttes-catering h2,.puttes-catering h3,.puttes-catering strong{font-family:var(--font-heading)}.pc-hero h1{font-family:var(--font-display);letter-spacing:0;text-wrap:balance;font-weight:400;line-height:1.12}.pc-eyebrow,.pc-section-heading>span,.pc-section-heading>a{color:var(--foreground)}.pc-button{border-radius:var(--button-radius)}.pc-summary{background:var(--secondary);color:var(--secondary-foreground);border-radius:var(--card-radius);border-color:#0000}.pc-summary img{border-radius:14px}.pc-fields input,.pc-notes textarea{border-radius:var(--radius);font-size:16px}.pc-radio input{accent-color:var(--primary)}.pc-button:hover:not(:disabled){background:var(--accent);color:var(--accent-foreground)}.pc-total{font-variant-numeric:tabular-nums}.restaurant-page[data-appearance=dark] .puttes-catering{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.pc-menu-item h3,.pc-total strong{font-family:var(--font-emphasis)}.puttes-catering{font-size:var(--text-body);line-height:var(--leading-body)}.pc-menu-item h3,.pc-summary h2,.pc-total strong{font-weight:400}.pc-total strong{font-size:var(--text-total)}.pc-section-heading h2{scroll-margin-top:24px}.pc-mobile-order-bar .mobile-order-total strong{font-family:var(--font-emphasis);font-weight:400}.pc-selection{cursor:pointer;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--card);padding:16px;position:relative}.pc-radio .pc-selection{margin-block:12px;padding:16px}.pc-selection:has(input:checked){background:var(--secondary);border-color:var(--foreground)}.pc-selection:has(input:focus-visible){outline:3px solid var(--primary);outline-offset:4px}.pc-selection>input{opacity:0;width:1px;min-width:0;height:1px;position:absolute}.pc-selection .selection-indicator{flex-shrink:0}.puttes-catering .pc-section-heading h2{font-family:var(--font-emphasis);font-size:var(--text-section);line-height:var(--leading-heading);letter-spacing:-.02em;overflow-wrap:anywhere;flex:1;min-width:0}[data-theme=puttes] .puttes-catering .pc-section-heading .section-number{width:auto;min-width:0;height:auto;font-family:var(--font-emphasis);font-size:var(--text-section);background:0 0;border:0;border-radius:0;flex:none;margin:0;line-height:1.2;display:block}.pc-section-heading>a{flex-basis:100%;margin-left:50px}.pc-section-heading{flex-wrap:wrap}.pc-selection{font-size:var(--text-label);line-height:var(--leading-label);transition:background-color .16s ease-out,border-color .16s ease-out}@media (prefers-reduced-motion:reduce){.pc-selection{transition:none}}.restaurant-gallery{margin:24px 0 32px}.restaurant-gallery-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px;display:flex}.restaurant-gallery-heading h3{font:inherit;margin:0;font-weight:600}.restaurant-gallery-heading>span{color:var(--muted-foreground);font-size:.875rem}.restaurant-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.restaurant-gallery-grid button{cursor:zoom-in;background:0 0;border:0;border-radius:16px;padding:0;display:block;overflow:hidden}.restaurant-gallery-grid img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto;display:block}.restaurant-gallery-grid button:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.restaurant-gallery-grid button[aria-expanded=true]{outline:2px solid var(--foreground);outline-offset:2px}.restaurant-gallery-dismiss{z-index:100;background:#000000a3;position:fixed;inset:0}.restaurant-gallery-viewer{z-index:101;color:#fff;border-radius:16px;outline:none;width:min(1120px,100vw - 32px,150dvh - 72px);height:fit-content;margin:auto;font-family:Rubik,sans-serif;position:fixed;inset:0;box-shadow:0 12px 48px #0004}.restaurant-gallery-viewer figure{border-radius:inherit;color:#fff;touch-action:pan-y pinch-zoom;background:#191919;margin:0;position:relative;overflow:hidden}.restaurant-gallery-viewer figure>img{aspect-ratio:3/2;object-fit:contain;width:100%;height:auto;display:block}.restaurant-gallery-toolbar{pointer-events:none;background:linear-gradient(#000b,#0000);justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 36px;display:flex;position:absolute;inset:0 0 auto}.restaurant-gallery-viewer .restaurant-gallery-toolbar h2{text-shadow:0 1px 3px #000;margin:0;font-family:Rubik,sans-serif;font-size:1rem;font-weight:500;line-height:1.4}.restaurant-gallery-control{color:#fff;cursor:pointer;pointer-events:auto;background:#0009;border:1px solid #ffffff90;border-radius:50%;place-items:center;min-width:44px;min-height:44px;padding:0;display:grid}.restaurant-gallery-control:focus-visible{outline-offset:3px;outline:3px solid #fff}.restaurant-gallery-control:hover{background:#191919}.restaurant-gallery-viewer figcaption{pointer-events:none;background:linear-gradient(#0000,#000d);justify-content:space-between;align-items:end;gap:16px;padding:40px 16px 16px;display:flex;position:absolute;inset:auto 0 0}.restaurant-gallery-caption{text-shadow:0 1px 3px #000;gap:4px;font-size:.875rem;line-height:1.4;display:grid}.restaurant-gallery-caption>:last-child{font-size:.75rem}.restaurant-gallery-navigation{flex-shrink:0;gap:8px;display:flex}@media (width<=600px){.restaurant-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.restaurant-gallery-toolbar{padding:10px 10px 30px}.restaurant-gallery-viewer figcaption{gap:8px;padding:30px 10px 10px}.restaurant-gallery-caption{font-size:.75rem}}.menu-card,.checkbox-card,.optional-section-skip,:is(.choice-chips,.choice-cards) [data-slot=toggle-group-item]{position:relative;overflow:visible}.selection-badge{z-index:2;border:1px solid var(--foreground);background:var(--accent);width:fit-content;color:var(--accent-foreground);font-family:var(--font-emphasis,var(--font-heading));letter-spacing:.12em;text-transform:uppercase;pointer-events:none;white-space:nowrap;border-radius:999px;align-items:center;margin:0;padding:7px 12px;font-size:.8rem;font-weight:700;line-height:1.3;display:inline-flex;position:absolute;top:-15px;right:18px;transform:rotate(5deg)}.checkbox-card[data-disabled][data-state=checked]{opacity:1}:is(.choice-chips,.choice-cards) .selection-badge{padding:4px 8px;font-size:.667rem;top:-11px;right:12px}.choice-cards .selection-badge{right:calc(14px + var(--selection-size,24px) + 10px)}[data-theme=puttes] .menu-card.selected:not(:has(:focus-visible)){outline:2px solid var(--accent);outline-offset:3px}.wine-choice{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.wine-choice>h3{margin:0;position:relative}.wine-choice>p{margin:0}.wine-actions{flex-wrap:wrap;gap:.75rem;display:flex}.wine-actions button{white-space:normal;touch-action:manipulation;transition-property:background-color,color,box-shadow}.wine-actions button:not([data-variant=ghost]){background:var(--wine-button-background,var(--primary));color:var(--wine-button-foreground,var(--primary-foreground));border:1px solid var(--foreground);font-family:var(--font-emphasis)}.wine-actions button[data-variant=outline]{background:var(--wine-recommend-background,var(--primary))}.wine-actions button:not([data-variant=ghost]):hover{box-shadow:2px 2px 0 var(--foreground)}.wine-choice>.wine-actions{margin-top:auto;padding-top:.5rem}.wine-recommendation-names{color:var(--muted-foreground)}.wine-card-total{border-bottom:1px solid var(--foreground);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.75rem;display:flex}.wine-card-total>strong{font-family:var(--font-emphasis);font-size:var(--text-card-title)}.wine-chosen-list{gap:.75rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.wine-chosen-list li{font-size:var(--text-detail);justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.wine-chosen-list strong{font-weight:600}.wine-chosen-list small{color:var(--muted-foreground);font-size:inherit;margin-top:.25rem;display:block}.wine-chosen-list li>span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}.wine-note{font-size:var(--text-detail);color:var(--muted-foreground);line-height:1.5}[data-slot=dialog-content].wine-picker-dialog{z-index:1200;border:0;border-radius:0;flex-direction:column;gap:0;width:100%;max-width:none;height:100dvh;max-height:none;padding:0;animation:none;display:flex;top:50%;left:50%;overflow:hidden;transform:none}body:has(.wine-picker-dialog) [data-slot=dialog-overlay]{z-index:1199}.wine-picker-header,.wine-picker-list,.wine-picker-footer{padding-inline:max(2rem,50% - 40rem)}.wine-picker-header{padding-top:max(2rem, env(safe-area-inset-top));flex-shrink:0;justify-content:space-between;align-items:start;gap:2rem;padding-bottom:1.5rem;display:flex}.wine-picker-header [data-slot=dialog-title]{max-width:20ch;font-family:var(--font-heading);text-transform:uppercase;text-wrap:balance;font-size:2.25rem;line-height:1.1}.wine-picker-header>div{padding-right:2.5rem}.wine-picker-header p{font-size:var(--text-detail);margin:0;line-height:1.5}.wine-picker-header p+p{margin-top:.25rem}.wine-picker-dialog>[data-slot=dialog-close]{top:max(.75rem, env(safe-area-inset-top));right:max(.75rem, env(safe-area-inset-right));border:1px solid var(--foreground);opacity:1;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.wine-picker-list{overscroll-behavior:contain;flex:1;min-height:0;padding-bottom:2rem;overflow-y:auto}.wine-group+.wine-group{margin-top:1.5rem}.wine-group>h3{font-family:var(--font-body);font-weight:700;font-size:var(--text-detail);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--foreground);margin:0;padding-bottom:.75rem}.wine-group-options{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:3rem;display:grid}.wine-picker-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.25rem 0;display:grid}.wine-picker-row h4{font-family:var(--font-emphasis);font-size:var(--text-label);overflow-wrap:anywhere;margin:0;line-height:1.4}.wine-picker-row p{font-size:var(--text-detail);font-variant-numeric:tabular-nums;margin:.25rem 0 0;font-weight:600}.wine-picker-row .wine-picker-details{color:var(--muted-foreground);overflow-wrap:anywhere;font-weight:400;line-height:1.5}.wine-picker-dialog .quantity{background:0 0;border:0;gap:.25rem;height:auto;padding:0}.wine-picker-dialog .quantity [data-slot=button]{border:1px solid var(--foreground);color:var(--foreground);box-shadow:none;touch-action:manipulation;background:0 0;transition-property:background-color,color,box-shadow}.wine-picker-dialog .quantity [data-slot=button]:disabled{opacity:.35}.wine-picker-dialog .wine-picker-row[data-selected=true] .quantity [data-slot=button]:last-child,.wine-picker-dialog .quantity [data-slot=button]:not(:disabled):hover{background:var(--secondary)}.wine-picker-footer{border-top:1px solid var(--foreground);padding-top:.5rem;padding-bottom:max(.5rem, env(safe-area-inset-bottom));background:var(--background);flex-shrink:0;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.wine-picker-total{order:1}.wine-picker-total>div{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.wine-picker-total strong{font-family:var(--font-emphasis);font-size:var(--text-card-title);white-space:nowrap}.wine-picker-total>div>span{font-size:var(--text-detail)}.wine-picker-list>.wine-note{margin:1rem 0 0}.wine-picker-footer .wine-actions button[data-variant=outline]{color:var(--foreground);background:0 0}@media (width<=900px){.wine-group-options{grid-template-columns:minmax(0,1fr)}.wine-picker-header{display:block}.wine-picker-header>div{margin-top:.75rem}.wine-picker-header [data-slot=dialog-title]{max-width:none;padding-right:2rem;font-size:1.5rem}}@media (width<=600px){.wine-picker-header,.wine-picker-list,.wine-picker-footer{padding-inline:1rem}.wine-picker-header{padding-top:1.5rem;padding-bottom:1.25rem}.wine-picker-row{gap:.75rem;padding-block:1.25rem}.wine-picker-footer{flex-direction:column;align-items:stretch;gap:.5rem}.wine-picker-total{order:0}.wine-picker-footer .wine-actions{grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem;display:grid}.wine-picker-footer .wine-actions button{min-width:0;padding-inline:.75rem}.wine-picker-footer .wine-picker-back{grid-column:1/-1}}@media (height<=500px){.wine-picker-header{padding-top:max(.75rem, env(safe-area-inset-top));padding-bottom:.75rem}.wine-picker-header>div{margin-top:.25rem}}@media (width<=360px){.wine-picker-row{grid-template-columns:minmax(0,1fr)}.wine-picker-row .quantity{justify-self:start}}.summary .summary-lines{gap:0}.group-request-details{overflow-anchor:none;margin-inline:-4px;overflow:hidden}.optional-section-skip{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:100%;color:var(--foreground);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:16px;display:flex}.optional-section-skip[aria-pressed=true]{border-color:var(--foreground);background:var(--secondary)}.optional-section-skip strong,.optional-section-skip small{font-size:.875rem;line-height:1.25rem;display:block}.optional-section-skip small{color:var(--muted-foreground);margin-top:4px}.optional-section-skip:focus-visible{outline:2px solid var(--ring);outline-offset:4px}@media (hover:hover){.optional-section-skip:hover{border-color:var(--foreground)}}.group-request-details-inner{padding:4px;display:flow-root}.puttes-hero-mood{gap:8px;margin-bottom:24px;display:flex}.puttes-hero-mood span{background:var(--secondary);border-radius:50%;place-items:center;width:48px;height:48px;font-size:1.875rem;line-height:1;display:grid;transform:rotate(-10deg)}.puttes-hero-mood span:nth-child(2){background:var(--accent);transform:rotate(8deg)translateY(-4px)}.puttes-hero-mood span:nth-child(3){background:var(--muted);transform:rotate(-6deg)}.puttes-booking-emoji{vertical-align:middle;margin-right:8px;font-size:1.5rem;line-height:1;display:inline-block}.menu-card-description{flex:1;align-content:start;gap:8px;margin:10px 0 22px;display:grid}.menu-card .menu-card-description :is(p,.menu-contents){margin:0}.menu-card .menu-card-description .menu-highlight{font-family:var(--font-emphasis,Maru, sans-serif);color:var(--foreground);text-transform:uppercase;font-weight:900}.menu-card-wide{grid-column:1/-1}[data-theme=puttes] .section-number{background:0 0;border:0;border-radius:0;min-width:0;height:auto;margin:0;line-height:1.2;display:block}[data-theme=puttes] :is(.section-number,.section-heading h2){font-size:var(--text-section)}[data-theme=puttes] :is(.photo-badge,.puttes-hero-mood span,.menu-card .tag){border:1.5px solid var(--foreground)}.option-panels{grid-template-columns:minmax(0,1fr);align-items:start;gap:20px;display:grid}.option-panels>:is(.drink-package-panel,.wine-choice){align-self:stretch}[data-theme=puttes] .option-panel{border:1.5px solid var(--foreground);border-radius:var(--card-radius);background:var(--card);min-width:0;margin:0;padding:24px}.option-panels .welcome-panel{grid-column:1/-1}.option-panels .checkbox-card{margin-top:0}.option-panel>.extra-group:last-child{border-bottom:0;padding-bottom:0}.option-panel>.extra-row:first-child{padding-top:0}.option-panel .choice-cards{grid-template-columns:minmax(0,1fr)}@media (width>=1100px){[data-theme=puttes] .order-layout{grid-template-columns:minmax(0,1fr) 340px;gap:40px;max-width:1600px;padding-inline:clamp(32px,4vw,64px)}.option-panels{grid-template-columns:repeat(2,minmax(0,1fr))}}[data-theme=puttes] .option-panel>.checkbox-card{box-shadow:none;border-color:#0000;border-bottom:1px solid var(--border);background:0 0;border-radius:0;padding:0 0 20px}[data-theme=puttes] .option-panel>.checkbox-card[data-state=checked]{border-bottom-color:var(--foreground)}[data-theme=puttes] .option-panel>:is(.choice-chips,.choice-cards){grid-template-columns:minmax(0,1fr);gap:16px;display:grid}[data-theme=puttes] .option-panel>:is(.choice-chips,.choice-cards) [data-slot=toggle-group-item]{border:1px solid var(--border);border-radius:calc(var(--radius) * .7);width:100%;min-height:52px;box-shadow:none;background:0 0;justify-content:flex-start;padding:14px 12px;position:relative}[data-theme=puttes] .option-panel>:is(.choice-chips,.choice-cards) [data-slot=toggle-group-item][data-state=on]{border-color:var(--foreground);background:var(--accent)}[data-theme=puttes] .cellar-card small{padding-right:64px}.welcome-drink-menu{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:32px;margin-top:24px;display:grid}.welcome-drink-menu fieldset{border:0;min-width:0;padding:0}.welcome-drink-menu legend{width:100%;font-size:var(--text-label);border-bottom:1.5px solid var(--foreground);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:12px;font-weight:700;display:flex}.welcome-drink-menu legend span{font-size:var(--text-meta);font-weight:400}.welcome-drink-options{gap:16px;margin-top:20px;display:grid}.welcome-drink-choice{border:1px solid var(--foreground);border-radius:calc(var(--radius) * .7);background:var(--card);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:80px;padding:16px;display:flex;position:relative}.welcome-drink-choice[data-selected=true]{background:var(--accent);color:var(--accent-foreground)}.welcome-drink-choice:has(:focus-visible){outline:2px solid var(--ring);outline-offset:3px}.welcome-drink-choice input{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.welcome-drink-choice strong,.welcome-drink-choice small{font-size:var(--text-detail);line-height:1.5;display:block}.welcome-drink-choice small{color:var(--muted-foreground);margin-top:4px}@media (width<=560px){.welcome-drink-menu{grid-template-columns:minmax(0,1fr);gap:24px}}@font-face{font-family:Puttes Mega Maxi;src:url(/puttes/GT-Maru-Mega-Maxi.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}[data-theme=puttes] .hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:48px;max-width:1600px;padding:64px clamp(20px,4vw,64px) 48px}[data-theme=puttes] .hero h1{font-family:var(--font-display);letter-spacing:-.03em;text-transform:uppercase;margin-bottom:24px;font-size:clamp(48px,6.5vw,104px);font-weight:400;line-height:.9}.restaurant-page [data-theme=puttes] .hero-copy>.hero-subtitle{font-family:var(--font-emphasis,Maru, sans-serif);color:var(--foreground);margin-bottom:20px;font-size:clamp(18px,1.5vw,22px);line-height:1.35}[data-theme=puttes] .menu-introduction{max-width:70ch;font-size:var(--text-body);color:var(--foreground);margin:0 0 28px;line-height:1.6}@media (width<=720px){[data-theme=puttes] .hero{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:36px}[data-theme=puttes] .hero h1{font-size:clamp(36px,10vw,64px)}}.menu-grid .menu-top{justify-content:flex-end}.menu-context{font-size:var(--text-detail);color:var(--muted-foreground);margin:6px 0 12px;line-height:1.4;display:block}.souvenir-product{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:32px;display:grid}.souvenir-product img{aspect-ratio:1200/647;object-fit:contain;border-radius:16px;width:100%;height:auto}.souvenir-product h3{font-family:var(--font-emphasis,Maru, sans-serif);font-size:var(--text-card-title);letter-spacing:-.02em}.souvenir-product p{max-width:40ch;color:var(--muted-foreground);margin:12px 0;line-height:1.5}.souvenir-product .quantity{width:max-content;margin-top:24px}@media (width<=560px){.souvenir-product{grid-template-columns:minmax(0,1fr);gap:20px}}[data-theme=puttes] .menu-card .menu-top{margin:0;position:absolute;top:26px;right:22px}[data-theme=puttes] .menu-card h3{margin-top:0;padding-right:30px}.menu-card .aperitivo-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.aperitivo-menu-drinks{align-content:start;gap:12px;display:grid}.aperitivo-menu-drinks h4{font-family:var(--font-emphasis,Maru, sans-serif);font-size:var(--text-label)}@media (width<=560px){.menu-card .aperitivo-menu{grid-template-columns:minmax(0,1fr);gap:24px}}.menu-option{flex-direction:column;min-width:0;display:flex}.menu-option>.menu-card{flex:1}.menu-card-choice{cursor:pointer;flex-direction:column;flex:1;display:flex}[data-theme=puttes] .menu-card>.aperitivo-starters-choice[data-state]:not([data-disabled]){min-height:48px;box-shadow:none;background:0 0;border:0;border-radius:0;justify-content:flex-start;align-items:center;gap:10px;margin:0;padding:12px 0 16px}.aperitivo-starters-choice>.selection-indicator{order:-1}.aperitivo-starters-choice .checkbox-card-text{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.aperitivo-starters-choice .checkbox-card-title{font-family:var(--font-body);font-size:var(--text-detail);font-weight:400}.aperitivo-starters-choice .checkbox-card-detail{font-size:var(--text-detail);white-space:nowrap;display:inline}.aperitivo-drinks-choice{grid-template-columns:minmax(0,1fr);gap:12px;padding:20px 16px;display:grid}.aperitivo-drinks-choice .quantity{justify-self:end}.aperitivo-drinks-choice p{font-size:var(--text-detail)}.aperitivo-starters-choice .selection-badge{display:none}[data-theme=puttes] .option-panel>.included-dessert[data-state=checked]{border:1px solid var(--foreground);border-radius:calc(var(--radius) * .7);background:var(--accent);padding:16px 12px}:is(.menu-card:has(input:disabled),.menu-card-choice:has(input:disabled)){cursor:default}.snacks-dips-panel{position:relative}.snacks-dips-panel>.checkbox-card{border-inline-width:0;position:static}[data-theme=puttes] .snacks-dips-panel .extra-row{gap:24px;padding:24px 0 20px}.snacks-dips-panel .extra-row>div:first-child{min-width:0}.snacks-dips-panel .extra-row p{margin:6px 0}.dip-flavour-copy{min-width:0;font-size:var(--text-detail);gap:4px;line-height:1.35;display:grid}.dip-flavour-copy small{color:var(--muted-foreground);opacity:1;font-size:12px}[data-theme=puttes] [data-slot=button]{border-radius:var(--button-radius)}.restaurant-page :is(.hero,.order-layout){max-width:1600px;padding-inline:var(--restaurant-gutter,clamp(20px, 4vw, 64px))}.restaurant-page [data-theme=puttes] .hero-location{font-size:var(--text-meta)}.restaurant-page .order-content .section-heading{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px clamp(10px,1vw,16px);display:grid}.restaurant-page .order-content .section-heading>div{display:contents}.restaurant-page .order-content .section-heading h2{margin:0}.restaurant-page .order-content .section-heading p{grid-column:1/-1;margin:0}.restaurant-page [data-theme=puttes] :is(.optional-section-skip,.payment-fields>.checkbox-card){border:1.5px solid var(--foreground);border-radius:var(--card-radius);background:var(--card);padding:20px 24px}.restaurant-page [data-theme=puttes] .payment-fields .choice-cards [data-slot=toggle-group-item]{border-radius:var(--card-radius);padding:20px}.restaurant-page [data-theme=puttes] .guest-row{border-radius:var(--card-radius);background:var(--muted);padding:20px 24px}.restaurant-page [data-theme=puttes] :is(.optional-section-skip,.option-panel,.payment-fields>.checkbox-card,.payment-fields .choice-cards [data-slot=toggle-group-item]){transition:background-color .16s ease-out,box-shadow .16s ease-out}.restaurant-page [data-theme=puttes] :is(.menu-card.selected,.optional-section-skip[aria-pressed=true],.option-panel[data-selected=true],.payment-fields>.checkbox-card[data-state=checked],.payment-fields .choice-cards [data-slot=toggle-group-item][data-state=on]){background:var(--secondary);color:var(--secondary-foreground);box-shadow:4px 4px 0 var(--foreground)}.restaurant-page [data-theme=puttes] .option-panel>.checkbox-card[data-state]:not(.included-dessert){box-shadow:none;background:0 0}.restaurant-page [data-theme=puttes] .option-panel>.checkbox-card:not(.included-dessert):not(:has(~:not(input))){border-bottom:0;padding-bottom:0}.restaurant-page [data-theme=puttes] .option-panel .extra-row{padding-inline:0}.restaurant-page [data-theme=puttes] .option-panel :is(.choice-chips,.choice-cards) [data-slot=toggle-group-item]{border:1px solid var(--border);border-radius:calc(var(--radius) * .7);box-shadow:none;background:0 0}.restaurant-page [data-theme=puttes] .option-panel :is(.choice-chips,.choice-cards) [data-slot=toggle-group-item][data-state=on]{border-color:var(--foreground);background:var(--accent);color:var(--accent-foreground)}@media (hover:hover) and (pointer:fine){.restaurant-page [data-theme=puttes] .option-panel :is(.choice-chips,.choice-cards) [data-slot=toggle-group-item][data-state=off]:hover{border-color:var(--foreground)}}.restaurant-page [data-theme=puttes] .optional-section-skip strong{font-size:var(--text-label);line-height:1.45}.restaurant-page [data-theme=puttes] .optional-section-skip small{font-size:var(--text-meta);line-height:1.55}.restaurant-page [data-theme=puttes] :is(.checkbox-card-detail>span:last-child,.extra-row>div>span,.aperitivo-menu-drinks>strong,.souvenir-product strong){font-family:var(--font-body);font-size:var(--text-detail);color:var(--foreground);font-weight:600;line-height:1.5}@media (prefers-reduced-motion:reduce){.restaurant-page [data-theme=puttes] :is(.optional-section-skip,.option-panel,.payment-fields>.checkbox-card,.payment-fields .choice-cards [data-slot=toggle-group-item]){transition:none}}.required-fields-note{margin:0 0 20px}.section-clear{min-height:44px;color:var(--muted-foreground);font:inherit;font-size:var(--text-detail);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-items:center;margin:-8px 0 12px;padding:0;text-decoration:underline;display:inline-flex}.section-clear:hover{color:var(--foreground)}.section-clear:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.dip-flavour-counts{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.dip-flavour-counts li{border:1px solid var(--border);border-radius:calc(var(--radius) * .8);justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 16px;transition:background-color .2s ease-out;display:flex}.dip-flavour-counts li[data-selected=true]{background-color:color-mix(in srgb, var(--secondary) 38%, transparent)}@media (prefers-reduced-motion:reduce){.dip-flavour-counts li{transition:none}}.details-actions{padding-top:20px}.request-review{gap:0;overflow-x:clip}.review-header{justify-items:start;gap:10px;padding-bottom:20px;display:grid}.review-logo{object-fit:contain;object-position:left center;width:auto;max-width:60%;height:28px;margin-bottom:12px;display:block}.review-logo-text{font-family:var(--font-heading);margin-bottom:12px;font-size:20px;line-height:1.2}.review-header .success-icon{background:var(--primary);color:var(--primary-foreground);margin-bottom:4px}.request-review [data-slot=drawer-title],.request-review [data-slot=dialog-title]{margin:0}.review-section{border-top:1px solid var(--border);gap:10px;padding:16px 0;display:grid}.review-section h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);margin:0;font-size:12px;font-weight:600}.review-facts{font-size:var(--text-detail);gap:8px;margin:0;line-height:1.4;display:grid}.review-facts>div{grid-template-columns:minmax(7rem,38%) minmax(0,1fr);gap:12px;display:grid}.review-facts dt{color:var(--muted-foreground)}.review-facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.request-review>.review-facts{border-top:1px solid var(--border);padding:16px 0}.review-reference{font-variant-numeric:tabular-nums;font-size:13px}.review-total{border-top:1px solid var(--foreground);gap:8px;padding:16px 0;display:grid}.request-review .review-note{font-size:var(--text-meta);color:var(--muted-foreground);margin:0;line-height:1.5}.request-review>[data-slot=alert]{margin-bottom:12px}.review-actions{z-index:1;border-top:1px solid var(--border);background:var(--background);gap:10px;margin-top:4px;padding:12px 0 4px;display:grid;position:sticky;bottom:0}[data-slot=dialog-content] .review-actions{padding-bottom:24px;bottom:-24px}.order-sheet .review-actions{bottom:calc(-1 * max(24px, env(safe-area-inset-bottom,0px)));padding-bottom:max(24px, env(safe-area-inset-bottom,0px))}.review-lines{font-size:var(--text-detail);gap:10px;margin:0;padding:0;list-style:none;display:grid}.review-lines li{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.review-lines span{min-width:0;display:grid}.review-lines small{color:var(--muted-foreground)}.review-lines strong{text-align:right;flex-shrink:0;max-width:50%;font-weight:500}.review-dialog .summary-total{border:0;margin:0;padding:0}#details:focus{outline:none}@media (width<=720px){.restaurant-page:has(.group-request-order-bar){padding-bottom:calc(8rem + env(safe-area-inset-bottom,0px))}.mobile-order-bar.group-request-order-bar{border:1px solid var(--foreground);border-bottom:0;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;display:grid}.group-request-order-bar[hidden]{display:none}.group-request-order-bar>button{padding-inline:12px}}@media (width<=560px){#details .fields{grid-template-columns:minmax(0,1fr)}}.request-details{container-type:inline-size}@container (width<=540px){.request-details .fields{grid-template-columns:minmax(0,1fr)}}.section-tag{border:1px solid var(--border);font-family:var(--font-body,inherit);letter-spacing:.02em;text-transform:none;vertical-align:middle;color:var(--muted-foreground);white-space:nowrap;border-radius:999px;margin-left:10px;padding:3px 10px;font-size:12px;font-weight:500;line-height:1.4;display:inline-block}.section-tag[data-required=true]{border-color:var(--foreground);color:var(--foreground)}.time-slots{gap:14px;display:grid}.time-slot-period{gap:8px;display:grid}.time-slot-heading{font-size:var(--text-meta);color:var(--muted-foreground)}.time-slot-options{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;display:grid}.time-slots .time-slot{text-align:center;border:1px solid var(--border);border-radius:calc(var(--radius) * .8);background:var(--card);font-variant-numeric:tabular-nums;cursor:pointer;place-items:center;min-height:44px;font-size:15px;font-weight:500;line-height:1;transition:background-color .15s ease-out,border-color .15s ease-out;display:grid;position:relative}.time-slot input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.time-slot:hover{border-color:var(--foreground)}.time-slots .time-slot[data-selected=true]{border-color:var(--foreground);background:var(--foreground);color:var(--background);font-weight:600}.time-slot:has(input:focus-visible){outline:2px solid var(--ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.time-slot{transition:none}}.missing-details{border:1px dashed var(--border);border-radius:calc(var(--radius) * .8);font-size:var(--text-detail);gap:8px;padding:14px 16px;line-height:1.4;display:grid}.missing-details p{margin:0}.missing-details-message{color:var(--destructive,var(--foreground));font-weight:500}.missing-details ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.missing-details button{border:1px solid var(--foreground);min-height:36px;color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:0 12px}.missing-details button:hover{background:var(--foreground);color:var(--background)}.missing-details button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.missing-details.is-complete{border-style:solid;align-items:center;gap:8px;display:flex}.missing-details.is-complete svg{flex-shrink:0;width:18px;height:18px}[data-slot=dialog-content].review-dialog{max-width:min(640px,100% - 2rem);padding-inline:32px}[data-slot=dialog-content].review-dialog,.order-sheet .request-review{scrollbar-width:none}[data-slot=dialog-content].review-dialog::-webkit-scrollbar{display:none}.order-sheet .request-review::-webkit-scrollbar{display:none}[data-slot=dialog-content].review-dialog .review-actions{grid-template-columns:1fr 1fr}[data-slot=dialog-content].review-dialog .review-actions>:only-child{grid-column:1/-1}[data-slot=dialog-content].review-dialog .review-actions>:last-child:not(:only-child){order:-1}.summary-missing{font-size:var(--text-meta);text-align:center;text-underline-offset:3px;margin-top:12px;text-decoration:underline;display:block}.time-slot-custom{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.time-slots .time-slot-other{min-width:120px;font:inherit;color:inherit;padding:0 16px;font-weight:500}.time-slots .time-slot-other[data-selected=true]{border-color:var(--foreground);background:var(--foreground);color:var(--background)}.time-slot-other:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.time-slot-input{box-sizing:border-box;border:1px solid var(--foreground);border-radius:calc(var(--radius) * .8);background:var(--card);width:140px;min-height:44px;color:inherit;font:inherit;padding:0 12px;font-size:16px}
