/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */*,::after,::before{box-sizing:border-box}html{font-family:system-ui,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji';line-height:1.15;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}:root{--sizeM:1.6rem;--sizeL:calc(var(--sizeM) * 1.333);--sizeXl:calc(var(--sizeL) * 1.333);--sizeXxl:calc(var(--sizeXl) * 1.333);--sizeXxxl:calc(var(--sizeXxl) * 1.333);--sizeS:calc(var(--sizeM) / 1.333);--sizeXs:calc(var(--sizeS) / 1.333);--sizeXxs:calc(var(--sizeXs) / 1.333);--sizeXxxs:calc(var(--sizeXxs) / 1.333);--color-background:#e8d9c6;--color-background-alt:#b7cdb5;--color-primary:#365042;--color-secondary--dark:#1a211b;--color-secondary--light:#aab5ab;--color-accent--cold:#ebe8e1;--color-accent--warm:#ffcc80;--color-text--light-bg:rgba(0, 0, 0, 0.87);--color-text--dark-bg:rgba(255, 255, 255, 0.87);--color-shadow:rgba(0, 0, 0, 0.7);--color-border:#365042}html{font-size:62.5%;overflow-x:hidden;box-sizing:border-box;color:var(--color-text--light-bg);background-color:var(--color-background-alt)}body{display:flex;flex-direction:column;height:100vh;color:var(--color-text--light-bg);background-color:var(--color-background-alt);font-size:var(--sizeM);line-height:1.33}img{max-width:100%;height:auto}a{text-decoration:none;color:var(--color-accent--cold)}h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.333;margin:var(--sizeS) 0}h1,h2,h3{font-weight:500}h1{font-size:var(--sizeXxxl);margin-top:0}h2{font-size:var(--sizeXxl)}h4,h5,h6{font-weight:700}h4{font-size:var(--sizeL)}h5,h6{font-size:var(--sizeM)}h5{border-bottom:.1rem solid}h6{border-bottom:.1rem dotted}@media only screen and (max-width:992px){h1,h2,h3,h4,h5,h6{line-height:1.11}h1{font-size:var(--sizeXl)}h2{font-size:var(--sizeL);font-weight:bolder}h3{font-size:var(--sizeL)}h4,h5,h6{font-size:var(--sizeM);font-weight:bolder}}p{font-size:var(--sizeM)}#header-container{width:100%;background-color:var(--color-primary);padding:var(--sizeM);box-shadow:0 4px 8px var(--color-shadow);z-index:100}#nav-row{z-index:100;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.header__logo-image{width:100%;max-width:300px;height:auto;cursor:pointer}.header-hamburger{background:0 0;border:none;cursor:pointer;padding:var(--sizeXs);display:none}.header-hamburger svg{width:30px;height:30px;stroke:var(--color-text--dark-bg)}.header__nav{display:none;gap:var(--sizeM)}.header-button{background-color:var(--color-accent--cold);border:2px solid var(--color-border);border-radius:30px;color:var(--color-secondary--dark);padding:var(--sizeXs) var(--sizeXl);font-size:var(--sizeM);cursor:pointer;transition:background-color .3s ease,box-shadow .3s ease;box-shadow:0 2px 4px rgba(0,0,0,.1)}.header-button:hover{background-color:var(--color-accent--warm);color:var(--color-text--light-bg);box-shadow:0 4px 8px rgba(0,0,0,.15)}.header-cart{display:flex;align-items:center;background-color:var(--color-accent--warm);color:var(--color-text--light-bg);padding:var(--sizeS) var(--sizeL);border-radius:8px;border:none;cursor:pointer;font-size:var(--sizeM);box-shadow:0 4px 6px rgba(0,0,0,.1);transition:background-color .3s ease,box-shadow .3s ease}.header-cart svg{width:24px;height:24px;margin-right:var(--sizeXs);stroke:var(--color-text--dark-bg)}.header-cart:hover{background-color:var(--color-accent--cold);box-shadow:0 6px 10px rgba(0,0,0,.2);color:var(--color-secondary--dark)}@media (max-width:768px){.header__logo-image{max-width:200px}.header-hamburger{display:block}.header__nav{display:none;flex-direction:column;gap:var(--sizeM);position:absolute;top:80px;left:0;right:0;background-color:var(--color-background-alt);padding:var(--sizeM);box-shadow:0 4px 8px var(--color-shadow)}.is-active .header__nav{display:flex}.header-cart{width:100%;text-align:center;margin-top:var(--sizeM)}}@media (min-width:768px){#nav-row{justify-content:flex-start}.header__nav{display:flex;margin-left:var(--sizeM)}.header-cart{order:2;margin-left:auto}}#app{width:100%;margin:2em auto;flex:1}@media (min-width:961px){#app{max-width:1200px;margin:4em auto}}#cafe-menu,#cakes{padding:0 1em}.order-notice{background-color:var(--color-background-alt);border:2px solid var(--color-border);border-radius:8px;padding:15px;box-shadow:0 4px 8px var(--color-shadow);margin:2em auto 1em;max-width:800px}.notice-message{color:var(--color-primary);font-weight:700;text-align:center;font-size:1.2em}#installButton{display:none;width:90%;max-width:300px;margin:2em auto;padding:12px 20px;background-color:var(--color-background);color:var(--color-text--light-bg);border:none;border-radius:8px;font-size:var(--sizeM);font-weight:700;text-align:center;cursor:pointer;box-shadow:0 4px 8px rgba(0,0,0,.2);transition:background-color .3s ease,transform .2s ease}#installButton:hover{background-color:var(--color-secondary--dark);color:var(--color-text--dark-bg);transform:translateY(-2px)}#installButton:active{transform:translateY(0)}@media (min-width:768px){#installButton{max-width:200px;padding:10px 16px}}#cards-grid-container{padding:var(--sizeM) 0;display:flex;justify-content:center}#cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--sizeXxl);max-width:100%}@media (min-width:768px){#cards-grid-container{padding:var(--sizeXxxl) 0}#cards-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--sizeXxxl);max-width:1200px}}.footer{background-color:var(--color-primary);color:var(--color-text--dark-bg);padding:var(--sizeL) var(--sizeM);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 -4px 8px var(--color-shadow)}.footer__content{width:100%;max-width:1200px;display:flex;flex-direction:column;gap:var(--sizeXxl)}.footer__section{margin-bottom:var(--sizeXl)}.footer__title{font-size:var(--sizeXl);font-weight:700;margin-bottom:var(--sizeM);color:var(--color-text--dark-bg)}.footer__text{font-size:var(--sizeM);margin-bottom:var(--sizeXs);color:var(--color-accent--cold)}.footer__bottom{display:flex;flex-direction:column;align-items:center;padding-top:var(--sizeM);border-top:1px solid var(--color-border)}.footer__copyright{font-size:var(--sizeS);margin-bottom:var(--sizeM);color:var(--color-accent--cold)}.footer__link{color:var(--color-text--light-bg);text-decoration:none;font-weight:700;background-color:var(--color-accent--warm);padding:var(--sizeXs) var(--sizeM);border-radius:4px;transition:background-color .3s ease}.footer__link:hover{background-color:var(--color-accent--cold)}@media (min-width:768px){.footer__content{flex-direction:row;justify-content:space-between;text-align:left}.footer__bottom{flex-direction:row;justify-content:space-between;width:100%}.footer__copyright{margin-bottom:0}}button{background-color:var(--color-primary)}.button-primary{background-color:var(--color-primary);border-radius:8px;border:none;cursor:pointer;font-size:var(--sizeM)}.button__add-to-cart{background-color:var(--color-primary);color:var(--color-text--dark-bg);border:none;border-radius:5px;padding:10px 15px;cursor:pointer;transition:background-color .3s ease;font-size:var(--sizeM)}.button__add-to-cart:hover{background-color:#66a22b}#cafe-menu-tab-row{display:flex;flex-direction:column;height:auto;box-shadow:0 4px 6px rgba(0,0,0,.1);overflow:hidden;background-color:var(--color-background-alt)}.tab-button{width:100%;padding:var(--sizeM);font-size:var(--sizeL);background-color:var(--color-accent--cold);color:var(--color-secondary--dark);border:none;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:background-color .3s ease,transform .3s ease;border-bottom:2px solid transparent}.tab-button:hover{background-color:var(--color-background);color:var(--color-text--light-bg);transform:translateY(-2px);border-bottom:2px solid var(--color-primary)}.selected-tab{background-color:var(--color-primary);color:var(--color-text--dark-bg);font-weight:700;padding:var(--sizeM);border-bottom:2px solid var(--color-primary)}@media (min-width:768px){#cafe-menu-tab-row{flex-direction:row;justify-content:space-between;gap:1em;margin-top:3em}.selected-tab,.tab-button{flex:1;padding:var(--sizeS);font-size:var(--sizeM);text-align:center;margin-bottom:0;border-radius:12px 12px 0 0}.tab-button:hover{transform:translateY(-2px);border-bottom:2px solid var(--color-primary)}}.product-card{display:flex;flex-direction:column;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;box-shadow:0 4px 8px var(--color-shadow);transition:transform .3s ease,box-shadow .3s ease}.product-card:hover{transform:translateY(-5px);box-shadow:0 6px 12px var(--color-shadow)}.product-card__header{position:relative;cursor:pointer}.product-card__image{width:100%;height:auto;object-fit:cover;border-bottom:1px solid var(--color-border)}.product-card__title{position:absolute;bottom:0;left:0;right:0;padding:var(--sizeXs);background:rgba(0,0,0,.6);color:var(--color-text--dark-bg);text-align:center;font-size:var(--sizeL);font-weight:700;margin:0}.product-card__footer{display:flex;justify-content:space-between;align-items:center;padding:var(--sizeM)}.product-card__price{font-size:var(--sizeL);color:var(--color-secondary--dark);font-weight:700}.product-card__button-add{display:flex;align-items:center;padding:.75rem var(--sizeM);background-color:var(--color-primary);border:none;border-radius:4px;color:var(--color-accent--warm);cursor:pointer;font-size:var(--sizeM);transition:background-color .3s ease}.product-card__button-add:hover{background-color:var(--color-secondary--dark)}.cart-icon{width:18px;height:18px;margin-right:var(--sizeXs);fill:currentColor}.product-card--inactive{background-color:#333;color:#fff;opacity:.5}.product-card--inactive .product-card__header{pointer-events:none}.product-card--inactive .product-card__image{filter:grayscale(100%)}.product-card--inactive .product-card__title{color:#ccc}.product-card__button-add[disabled]{background-color:#555;color:#eee;cursor:not-allowed}@media (min-width:768px){.product-card{flex-direction:column}}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.85);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;box-sizing:border-box;overflow:auto}.overlay__content{background-color:var(--color-background);border-radius:16px;max-width:600px;width:100%;padding:32px;box-shadow:0 12px 28px var(--color-shadow);position:relative;animation:fadeIn .3s ease-in-out;color:var(--color-secondary--dark);max-height:90vh;overflow-y:auto}.overlay-close-button{position:absolute;top:20px;right:20px;background:0 0;border:none;cursor:pointer;color:var(--color-secondary--dark);font-size:0}.overlay-close-button svg{width:26px;height:26px;stroke:var(--color-secondary--dark)}.overlay-close-button:hover svg{stroke:var(--color-primary)}.overlay-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.overlay__title{font-size:var(--sizeXl);font-weight:700;color:var(--color-secondary--dark);text-align:center;margin-bottom:0}.overlay__body{padding:16px 0}.overlay__image{width:100%;height:auto;max-height:400px;object-fit:cover;border-radius:16px;margin:0 0 1em 0;box-shadow:0 8px 16px rgba(0,0,0,.25)}.overlay__price{font-size:var(--sizeXl);color:var(--color-primary);font-weight:700;margin-bottom:20px;text-align:center}.overlay__description{font-size:var(--sizeM);color:var(--color-secondary--dark);margin-bottom:20px;text-align:center;line-height:1.5}.overlay__section{display:flex;flex-direction:column}.overlay__section--comment{margin-bottom:20px;display:flex;flex-direction:column}.overlay__flavorLabel,.overlay__label,.overlay__sizeLabel,.overlay__themeLabel{font-weight:600;margin-bottom:8px;color:var(--color-secondary--dark)}.overlay__flavorSelect,.overlay__sizeSelect,.overlay__themeSelect{width:100%;padding:12px;font-size:var(--sizeM);border:1px solid var(--color-primary);border-radius:12px;background-color:var(--color-accent--cold);color:var(--color-secondary--dark);margin-bottom:20px}.overlay__textarea{resize:vertical;min-height:80px;padding:12px;border:1px solid var(--color-primary);border-radius:12px;background-color:var(--color-accent--cold);color:var(--color-secondary--dark)}.overlay-footer{padding-top:20px;display:flex;flex-direction:column;gap:20px}.overlay__quantity{display:flex;justify-content:center;align-items:center;gap:15px}.overlay__quantity-input{width:80px;padding:12px;font-size:var(--sizeM);text-align:center;border:2px solid var(--color-primary);border-radius:12px;background-color:var(--color-background);color:var(--color-secondary--dark)}.overlay-button{padding:14px;background-color:var(--color-primary);color:var(--color-accent--warm);border:none;border-radius:12px;cursor:pointer;font-size:var(--sizeL);font-weight:700;text-align:center;transition:background-color .3s ease,box-shadow .3s ease;box-shadow:0 8px 16px rgba(0,0,0,.25)}.overlay-button:hover{background-color:var(--color-secondary--light);box-shadow:0 10px 20px rgba(0,0,0,.3);color:var(--color-text--light-bg)}.overlay__row{display:flex;flex-direction:row;justify-content:space-between;gap:16px}.overlay__section--half{flex:1}.overlay__section--half .overlay__sizeSelect,.overlay__section--half .overlay__themeSelect{width:100%}.overlay__section--half .overlay__sizeLabel,.overlay__section--half .overlay__themeLabel{margin-bottom:8px}@media (max-width:768px){.overlay__row{flex-direction:column}.overlay__section--half{width:100%}}@media (min-width:768px){.overlay-footer{flex-direction:row;justify-content:space-between}.overlay__input{width:100px}}@keyframes fadeIn{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}#cartItems{margin-bottom:20px;width:100%}.cart-total-container{display:flex;justify-content:space-between;width:100%;font-size:18px;font-weight:700}#cartTotal{text-align:right}.cart-content{padding:20px;text-align:left}.cart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.cart-content h1{color:var(--color-secondary--dark);margin-bottom:20px;font-weight:600}#clearCartButton{background-color:transparent;border:1px solid maroon;color:maroon;cursor:pointer;padding:5px 10px}.cart-items{margin-bottom:20px}.cart-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding:10px;gap:10px;border-bottom:1px solid var(--color-border)}.cart-item-message{display:flex;flex-direction:column;margin-left:auto;color:var(--color-secondary--dark)}.cart-item-message label{font-size:12px}.cart-item-message textarea{max-width:100%;min-width:100%;border:1px solid var(--color-primary);border-radius:5px;background-color:var(--color-background);color:var(--color-secondary--dark)}.cart-item-aligned-right{font-size:14px;font-weight:600;display:flex;justify-content:space-between;align-items:center;justify-self:flex-end;color:var(--color-secondary--dark)}@media (max-width:768px){.cart-item{flex-direction:column;align-items:flex-start;gap:10px}.cart-item-aligned-right,.cart-item-info,.cart-item-message{width:100%}.cart-item-message textarea,.cart-item-quantity-container{width:100%}.cart-item-price,.cart-item-total{width:100%;margin:5px 10px 0 0}.cart-item-quantity-container{display:flex;justify-content:space-between;align-items:center;margin:5px 10px 0 0}.remove-btn{width:100%;margin-top:10px;padding:8px;text-align:center}}@media (min-width:769px){.cart-item-message{width:35%}.cart-item-aligned-right{width:40%}}.cart-item-quantity{width:50px;padding:3px;font-size:var(--sizeM);text-align:center;border:2px solid var(--color-primary);border-radius:5px;background-color:var(--color-background);color:var(--color-secondary--dark)}.cart-item-info{display:flex;flex-direction:column;justify-content:space-between}.cart-item-name{font-size:16px;font-weight:700;color:var(--color-secondary--dark)}.cart-item-details{font-size:14px;color:var(--color-secondary--dark)}.cart-item button{background-color:var(--color-primary);color:var(--color-text--dark-bg);border:none;padding:6px 12px;font-size:14px;cursor:pointer;border-radius:4px;transition:background-color .3s ease}.cart-item button:hover{background-color:var(--color-secondary--dark)}.cart-total-container{display:flex;justify-content:flex-end;align-items:center;font-size:18px;font-weight:700;color:var(--color-secondary--dark);margin:20px 0}.cart-total-container span{font-weight:700;text-align:right}#checkoutButton{width:100%;padding:15px;font-size:16px;font-weight:700;background-color:var(--color-primary);color:var(--color-text--dark-bg);border:none;cursor:pointer;border-radius:6px;transition:background-color .3s ease}#checkoutButton:hover{background-color:var(--color-secondary--dark)}#checkoutButton:disabled{background-color:#aaa;color:#ccc;cursor:not-allowed}.cart-notification{position:fixed;top:100px;left:50%;transform:translateX(-50%);background-color:var(--color-accent--warm);color:var(--color-secondary--dark);padding:1em 2em;border-radius:8px;box-shadow:0 4px 8px var(--color-shadow);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:99999;font-size:1.5em}.cart-notification.show{opacity:1;visibility:visible}.checkout-container{background-color:var(--color-background);padding:var(--sizeXxl);border-radius:8px;max-width:600px;margin:0 auto;box-shadow:0 4px 12px rgba(0,0,0,.1)}.checkout-container h1,.checkout-container h2{font-size:var(--sizeXl);margin-bottom:var(--sizeXl);color:var(--color-primary);text-align:center}.date-picker-container,.form-group,.time-picker-container{margin-bottom:var(--sizeXl);display:flex;flex-direction:column;align-items:flex-start}.date-picker-container label,.form-group label,.time-picker-container label{font-size:var(--sizeM);margin-bottom:var(--sizeXs);color:var(--color-secondary--dark)}.date-picker-container input,.form-group input,.time-picker-container select{width:50%;max-width:300px;padding:var(--sizeS);font-size:var(--sizeM);border:1px solid var(--color-border);border-radius:4px;background-color:#fff;transition:border-color .3s ease}.date-picker-container input:focus,.form-group input:focus,.time-picker-container select:focus{border-color:var(--color-accent--warm);outline:0}.checkout__help-text{font-size:var(--sizeS);margin-top:var(--sizeXs);text-align:center}.order-summary{margin-top:var(--sizeXxl);padding:var(--sizeXl);background-color:var(--color-background-alt);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);text-align:center;transition:transform .3s ease,box-shadow .3s ease}.order-summary h3{font-size:var(--sizeS);font-weight:600;color:var(--color-primary);margin-bottom:var(--sizeM)}.order-summary p{font-size:var(--sizeL);color:var(--color-secondary--dark);margin-bottom:var(--sizeL)}.order-summary .pickup-time{font-size:var(--sizeL);font-weight:700;color:var(--color-primary);background-color:var(--color-secondary--light);padding:var(--sizeXs);border-radius:4px;display:inline-block;margin-bottom:var(--sizeXl)}.order-summary:hover{transform:translateY(-5px);box-shadow:0 8px 20px rgba(0,0,0,.15)}.confirmation-details{margin-top:var(--sizeXl);padding:var(--sizeM);background-color:var(--color-background-alt);border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.05)}.confirmation-details p{font-size:var(--sizeM);color:var(--color-secondary--dark);margin-bottom:var(--sizeM)}.confirmation-details .pickup-time{font-size:var(--sizeL);font-weight:700;color:var(--color-primary)}.button-row{display:flex;justify-content:space-between;margin-top:var(--sizeXxl)}.button-row button{padding:var(--sizeS) var(--sizeXl);font-size:var(--sizeM);border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease,box-shadow .3s ease}.button-row button:first-child{background-color:#ccc;color:#333}.button-row button:first-child:hover{background-color:#aaa}.button-row button:last-child{background-color:var(--color-primary);color:var(--color-text--dark-bg)}.button-row button:last-child:hover{background-color:var(--color-secondary--light);color:var(--color-text--light-bg)}.checkout-container button{padding:var(--sizeS) var(--sizeXl);font-size:var(--sizeM);border:none;border-radius:4px;cursor:pointer;background-color:var(--color-primary);color:var(--color-text--dark-bg);transition:background-color .3s ease,box-shadow .3s ease;margin-top:var(--sizeXxl);width:auto}.checkout-container button:hover{background-color:var(--color-secondary--light)}@media (max-width:768px){.checkout-container button{width:100%}}@media (max-width:768px){.button-row{flex-direction:column}.button-row button{width:100%;margin-bottom:var(--sizeM)}.date-picker-container input,.form-group input,.time-picker-container select{width:100%;max-width:100%}}@keyframes bounce{0%,100%,20%,50%,80%{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}100%{transform:scale(1)}}.bounce{animation:bounce .5s ease-out}.pulse{animation:pulse .6s ease-in-out}