/* Reference-inspired catalogue and cart with the bakery's blue-and-white identity. */
/* Legacy color names remain aliases so all ordering components share this palette. */
.checkout-row>strong{white-space:nowrap;flex-shrink:0}.checkout-row>span{min-width:0}
html{scroll-padding-top:125px}.site-header{position:sticky;top:0;z-index:8;background:var(--paper)}.brand{font-size:28px;gap:12px}.brand-logo{height:58px;width:58px;object-fit:contain;mix-blend-mode:multiply}.brand small{font-size:12px;letter-spacing:4px}.cart-icon{position:relative;display:flex;padding:8px}.cart-icon svg{width:28px;height:28px}.cart-icon .count{position:absolute;top:-2px;right:-5px;min-width:22px;height:22px;background:#ad491e;border:2px solid var(--paper);font-size:12px}.bag-button{gap:14px}
.catalog-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:32px}.catalog-sidebar{border-right:1px solid var(--line);padding-right:25px}.search-label{font-size:14px;font-weight:500;display:block;margin-bottom:9px}.menu-search{position:relative;margin-bottom:24px}.menu-search input{width:100%;border:1px solid var(--line);background:white;padding:11px 33px 11px 10px;min-width:0;font-size:14px;border-radius:0}.menu-search svg{position:absolute;width:17px;height:17px;right:9px;top:15px;pointer-events:none}.catalog-sidebar .filters{display:flex;flex-direction:column;gap:0}.catalog-sidebar .filters button{border-radius:0;padding:15px 10px;border:0;border-bottom:1px solid var(--line);font-size:14px;text-align:left;display:flex;justify-content:space-between;gap:10px;line-height:1.4}.catalog-sidebar .filters button span{font-size:12px;opacity:.7}.sidebar-club{display:grid;gap:15px;background:#edf6fc;padding:22px 16px;margin-top:30px}.sidebar-club strong{font-family:var(--serif);font-size:24px;font-weight:500;line-height:1.2}.sidebar-club>span:last-child{font-size:12px}.sidebar-club .eyebrow{font-size:12px;letter-spacing:1px}.catalog-main{min-width:0}.catalog-main .shop-toolbar{padding-bottom:17px;min-height:45px}.menu-note{font-size:12px;letter-spacing:1px}.view-switch{display:flex;gap:0}.view-switch button{background:white;border:1px solid var(--line);height:38px;width:38px;display:grid;place-items:center}.view-switch button.active{background:var(--green);color:white;border-color:var(--green)}.view-switch svg{width:18px;height:18px}
.product-grid{gap:25px}.product-image{aspect-ratio:1;border-radius:14px}.product-label{top:12px;left:12px;padding:4px 7px;font-size:12px;letter-spacing:.5px}.product-meta{gap:8px;font-size:12px;letter-spacing:.3px;flex-wrap:wrap}.preorder-tag{background:#edf6fc;padding:2px 5px;font-size:12px}.product-details{padding-top:16px}.product-details h3{font-size:25px;line-height:1.2;min-height:60px}.product-description{font-size:16px;line-height:1.6;min-height:78px}.product-bottom{margin-top:13px;padding-top:13px}.purchase-caption{display:block;color:var(--muted);font-size:12px;margin-top:4px}.price{font-size:17px}.add-button{min-height:44px;padding:8px 14px;border-radius:4px;font-size:14px;gap:20px}.view-list{grid-template-columns:1fr}.view-list .product-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:25px;border-bottom:1px solid var(--line);padding-bottom:25px}.view-list .product-details{padding:0}.view-list .product-details h3,.view-list .product-description{min-height:0}.view-list .product-bottom{max-width:480px}.view-list .product-label{display:none}.menu-empty{grid-column:1/-1;padding:65px 25px;text-align:center;border:1px dashed var(--line)}.menu-empty h3{font-size:28px}.menu-empty p{font-size:16px;margin-top:15px;color:var(--muted)}.menu-empty button{margin:20px auto 0}
.club{grid-template-columns:1fr 1fr;gap:65px;padding:46px 56px}.club-plan{max-width:480px;padding:30px}.club-plan h3{font-size:27px}.club-benefits{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.club-benefits span{border:1px solid #abcbdc;border-radius:30px;padding:6px 11px;font-size:12px}.club-lineup{list-style:none;padding:0;margin:22px 0 10px}.club-lineup li{display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line);padding:12px 0}.club-lineup img{height:55px;width:55px;object-fit:cover;border-radius:6px}.club-lineup li>div{min-width:0;flex:1}.club-lineup span{display:block;font-size:12px;letter-spacing:1px;color:var(--muted)}.club-lineup strong{font-size:14px;line-height:1.4;display:block;font-weight:500;margin-top:3px}.club-lineup b{font-size:14px;font-weight:500;white-space:nowrap}.club-plan .plan-price{margin:20px 0 4px;gap:12px}.plan-price strong{font-size:29px}.plan-price>span{font-size:14px}.club-plan .plan-breakdown{margin:5px 0 22px;font-size:12px}.club-copy p.club-note{line-height:1.6;max-width:370px}.footer-contact{display:flex;flex-direction:column;gap:6px}.footer-contact>span{font-size:12px;letter-spacing:1.5px;color:#d6e9f5}.footer .footer-contact a[href^="tel"]{font-size:22px}.footer .brand-logo{background:white;mix-blend-mode:normal;border-radius:4px;height:52px;width:52px;padding:4px}.footer-bottom{padding-bottom:105px}
.floating-cart{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--green);color:white;display:flex;align-items:center;gap:18px;padding:14px 20px;min-width:350px;border:1px solid #5292b9;box-shadow:0 7px 30px #17496b38;z-index:9;border-radius:8px;font-size:14px}.floating-cart strong{margin-left:auto;font-size:15px}.floating-count{background:var(--butter);color:var(--green);border-radius:4px;min-width:27px;height:27px;display:grid;place-items:center;font-weight:600}.contact-float{position:fixed;bottom:24px;right:24px;z-index:9;width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:#158943;color:#fff;box-shadow:0 4px 18px #15894330;border:1px solid #117738}.contact-float svg{width:26px;height:26px}
.cart-dialog{padding:0;width:520px;max-width:100%;height:100dvh;max-height:100dvh;overflow:hidden;border-radius:0}.cart-dialog[open]{display:flex;flex-direction:column}.cart-dialog .dialog-header{flex-shrink:0;background:var(--green);color:var(--paper);padding:25px 28px;margin:0;border:0}.cart-dialog .dialog-header .eyebrow{color:var(--butter);font-size:12px}.cart-dialog h2{font-size:31px;display:flex;align-items:center;gap:13px}.cart-dialog h2 span{background:#ffffff1c;display:inline-grid;place-items:center;font-family:var(--sans);font-size:14px;width:27px;height:27px;border-radius:50%}.cart-dialog .icon-button{border-color:#ffffff40;color:white;font-weight:400;font-size:25px}.cart-scroll{overflow-y:auto;min-height:0;flex:1;padding:25px 28px 10px}.cart-pickup{margin-bottom:27px;border:1px solid #d3e6f2;border-radius:6px;gap:12px;padding:13px;background:#edf6fc}.cart-pickup strong{font-size:14px}.cart-pickup small{font-size:12px;line-height:1.5}.pickup-pin{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;border:1px solid #a7c4d7;flex-shrink:0}.change-label{font-size:12px;text-decoration:underline;text-underline-offset:3px;margin-left:auto}.cart-item{grid-template-columns:84px minmax(0,1fr);gap:16px;margin-bottom:22px;padding-bottom:21px}.cart-item>img{width:84px;height:97px;border-radius:7px}.cart-item h3{font-family:var(--sans);font-size:16px;line-height:1.4;font-weight:600;margin-top:5px}.item-kind{font-size:12px;line-height:1.2;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}.item-kind.recurring{background:#eaf4fb;display:inline-block;color:var(--green);padding:5px 7px;font-size:12px;border-radius:3px}.cart-item .item-type{font-size:12px;margin-top:5px}.quantity-row{gap:8px;margin-top:12px}.quantity-row>strong{font-size:15px}.quantity{border-radius:4px}.quantity button{width:33px;height:33px}.quantity span{font-size:14px;min-width:27px}.cart-item-last{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:7px}.cart-item-last>small{font-size:12px;color:var(--muted)}.remove-item{font-size:12px;padding:3px 0}.plan-thumbnails{position:relative;height:104px;width:84px}.plan-thumbnails img{position:absolute;left:0;top:0;width:63px;height:63px;border:2px solid var(--paper);border-radius:6px}.plan-thumbnails img:nth-child(2){top:21px;left:10px}.plan-thumbnails img:nth-child(3){top:42px;left:20px}
.pickup-schedule{background:#edf6fc;border-radius:6px;padding:18px;margin-bottom:20px}.schedule-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.schedule-title strong{font-size:14px}.schedule-title>span{font-size:12px;color:var(--muted)}.pickup-schedule ol{padding:0;margin:16px 0;list-style:none}.pickup-schedule li{display:flex;align-items:center;gap:11px;margin-bottom:14px}.pickup-schedule li:last-child{margin-bottom:0}.week-dot{height:25px;width:25px;display:grid;place-items:center;background:white;border:1px solid #c5ddea;border-radius:50%;font-size:12px;flex-shrink:0}.pickup-schedule li strong{font-size:14px;font-weight:500;line-height:1.4;display:block}.pickup-schedule li small{font-size:12px;color:var(--muted);display:block}.pickup-schedule>p{font-size:12px;color:var(--muted);border-top:1px solid #c5ddea;padding-top:12px}.cart-footer{flex-shrink:0;padding:18px 28px 22px;background:white;border-top:1px solid var(--line);box-shadow:0 -6px 20px #176b9f05;max-height:45dvh;overflow-y:auto}.subtotal-row{display:flex;justify-content:space-between;gap:16px;font-size:14px;color:var(--muted);padding:3px 0}.cart-footer .total-row{padding:14px 0 10px;font-size:17px;align-items:center}.cart-footer .total-row strong{font-size:24px}.cart-footer .small{font-size:12px;margin-bottom:14px}.cart-footer .button{border-radius:5px;font-size:15px}.cart-footer .demo-note{font-size:12px;margin-top:10px}.empty-cart{padding:30px 0}.empty-cart h3{font-size:27px}.checkout-modal{width:min(560px,calc(100% - 32px))}.renewal-summary{font-size:14px;line-height:1.6}.checkout-modal .pickup-schedule{margin-top:20px}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}.toast{bottom:92px;max-width:400px;width:max-content;z-index:12}body:has(dialog[open]) .floating-cart,body:has(dialog[open]) .contact-float{visibility:hidden}
@media(max-width:1100px){.catalog-layout{grid-template-columns:155px minmax(0,1fr);gap:23px}.catalog-sidebar{padding-right:18px}.product-grid{gap:18px}.product-details h3{font-size:23px}.product-bottom{flex-wrap:wrap}.club{gap:30px;padding:36px}.club-plan{padding:25px}.club h2{font-size:44px}}
@media(max-width:760px){html{scroll-padding-top:138px}.site-header{min-height:112px;padding-top:12px}.brand{font-size:26px;gap:8px}.brand-logo{height:47px;width:42px}.brand small{font-size:12px;letter-spacing:4px}.bag-button{margin-right:5px}.bag-button>span:not(.count){display:flex}.bag-button>span:last-child{display:none}.cart-icon .count{display:grid}.site-header nav{gap:29px}.catalog-layout{grid-template-columns:1fr;gap:19px}.catalog-sidebar{border:0;padding:0}.menu-search{margin-bottom:17px}.menu-search input{padding:13px 38px 13px 12px;font-size:16px}.menu-search svg{top:17px}.catalog-sidebar .filters{flex-direction:row;overflow-x:auto;gap:7px;padding-bottom:5px}.catalog-sidebar .filters button{flex-shrink:0;border:1px solid var(--line);border-radius:4px;padding:10px 13px;white-space:nowrap;font-size:14px}.catalog-sidebar .filters button>span{display:none}.sidebar-club{display:none}.catalog-main .shop-toolbar{display:flex;min-height:38px;margin:0;padding-bottom:19px}.menu-note{font-size:12px;margin:0;letter-spacing:.5px}.view-switch button{width:38px;height:38px}.product-grid{gap:31px}.product-image{aspect-ratio:1.12;border-radius:12px}.product-label{font-size:12px;padding:5px 8px}.product-details h3{font-size:28px;min-height:0}.product-meta{font-size:12px;flex-wrap:wrap}.product-description{font-size:16px;min-height:0}.product-bottom{flex-wrap:nowrap}.price{font-size:19px}.add-button{min-width:94px;font-size:15px;min-height:45px}.view-list .product-card{grid-template-columns:100px minmax(0,1fr);gap:16px}.view-list .product-image{aspect-ratio:1}.view-list .product-details h3{font-size:22px}.view-list .product-description{font-size:14px}.view-list .product-meta{display:none}.view-list .product-bottom{flex-wrap:wrap;gap:10px}.view-list .product-bottom .add-button{min-width:75px}.club{grid-template-columns:1fr;padding:28px 20px;gap:24px}.club h2{font-size:40px}.club-plan{padding:23px 18px}.club-plan h3{font-size:25px}.club-lineup li{gap:9px}.club-lineup img{height:48px;width:48px}.club-lineup strong{font-size:14px}.club-lineup b{font-size:12px}.club-benefits{gap:7px}.club-benefits span{font-size:12px;padding:6px 9px}.club-copy p.club-note{margin-top:19px}.plan-price strong{font-size:28px}.plan-price>span{font-size:12px}.club-plan .button{font-size:14px;gap:12px}.contact-float{right:16px;bottom:85px;width:44px;height:44px}.floating-cart{left:16px;right:16px;bottom:15px;transform:none;min-width:0;padding:12px 14px;gap:11px;font-size:14px;border-radius:6px}.floating-cart strong{font-size:14px}.floating-count{min-width:25px;height:25px}.cart-dialog{width:100%;max-width:100%}.cart-dialog .dialog-header{padding:23px 20px}.cart-scroll{padding:21px 20px 0}.cart-pickup{padding:12px;gap:9px}.cart-item{grid-template-columns:73px minmax(0,1fr);gap:14px}.cart-item>img{width:73px;height:87px}.plan-thumbnails{width:73px}.plan-thumbnails img{width:54px;height:54px}.plan-thumbnails img:nth-child(2){left:8px}.plan-thumbnails img:nth-child(3){left:16px}.cart-footer{padding:15px 20px 20px}.cart-footer .total-row strong{font-size:22px}.subtotal-row{font-size:12px}.cart-footer .total-row{font-size:16px}.cart-item h3{font-size:15px}.pickup-schedule{padding:15px}.schedule-title{flex-wrap:wrap;gap:4px}.footer-contact a{font-size:14px}.toast{bottom:87px;max-width:calc(100% - 32px);font-size:14px}}

/* Blue, white and a little orange: Le Petit Paris Bakery's brand direction. */
h1,h2,h3,.brand,.sidebar-club strong,.photo-note{font-family:var(--serif);font-weight:400;letter-spacing:.5px}
h1,h2,h3{line-height:1.05}
h1{letter-spacing:.5px}
h1 em,h2 em{font-style:normal;font-weight:400}
h1 em{color:var(--orange-light)}
h2{font-size:44px}
.brand{font-size:35px;letter-spacing:1px;color:var(--blue)}
.brand small{font-family:var(--sans);font-size:11px;letter-spacing:4.5px;font-weight:600}
.hero-copy{background:var(--blue);color:white}
.hero-copy .eyebrow,.cart-dialog .dialog-header .eyebrow{color:#e0effa}
.hero-copy .eyebrow:before{content:'';display:inline-block;width:22px;height:3px;background:var(--orange);margin-right:10px;vertical-align:middle}
.hero-foot span+span:before{color:var(--orange-light)}
.butter{background:var(--orange);color:#193f59}
.butter:hover{background:#ffa36f}
.button,.add-button{transition:background .18s,transform .18s}
.add-button:hover{background:var(--blue-dark)}
.preview-bar{color:var(--blue-dark);background:#eaf4fb}
.section-heading .eyebrow{color:var(--blue)}
.product-label{background:#fff0e6;color:#9b431b}
.product-details h3{color:var(--blue);font-size:29px}
.preorder-tag{color:var(--blue-dark)}
.sidebar-club{border-top:3px solid var(--orange);background:#edf6fc}
.sidebar-club strong{font-size:29px;color:var(--blue)}
.club{background:#eaf4fb;border-top:3px solid var(--blue)}
.club-copy .eyebrow{color:var(--blue)}
.club h2{color:var(--blue);font-size:53px}
.club h2 em{color:var(--blue-dark)}
.club-plan{background:white;border-top:3px solid var(--orange);box-shadow:0 8px 26px #176b9f0b}
.club-plan h3{font-size:31px;color:var(--blue)}
.club-benefits span{background:#ffffff8c;color:var(--blue-dark)}
.plan-label{color:var(--blue);font-weight:600}
.plan-price strong{color:var(--blue)}
.footer .brand{color:white;font-size:32px}
.footer p{font-style:normal;letter-spacing:.5px}
.floating-count{background:var(--orange-light);color:var(--ink)}
.item-kind.recurring{background:#fff0e6;color:#9b431b}
.payment-preview{background:#f7fbfe}
.cart-dialog .dialog-header h2{font-size:35px}
.cart-item h3{letter-spacing:0;color:var(--ink)}
.photo-note{font-size:23px;color:var(--blue)}
@media(max-width:1100px){.brand{font-size:32px}.product-details h3{font-size:27px}.club h2{font-size:48px}}
@media(max-width:760px){.brand{font-size:29px;letter-spacing:.5px}.brand small{font-size:11px;letter-spacing:4px}h1{font-size:49px;letter-spacing:.5px}h2{font-size:37px}.product-details h3{font-size:31px}.view-list .product-details h3{font-size:26px}.club h2{font-size:47px}.club-plan h3{font-size:29px}.photo-note{font-size:21px}.footer .brand{font-size:31px}}
.hero-copy a:focus-visible,.cart-dialog .dialog-header button:focus-visible,.footer a:focus-visible{outline-color:var(--orange-light)}

.contact-float:hover{background:#117738}.contact-float:focus-visible{outline:3px solid #123e25;outline-offset:4px}.footer-extra-links{display:flex;flex-direction:column;gap:14px}
