.cabinet-modal{--img-h:min(75vh, 720px);--info-w:max(180px, calc(var(--img-h) * (1550 / 2000) * .65));border-radius:24px;grid-template-rows:1fr;grid-template-columns:auto auto;align-items:stretch;gap:0;max-width:96vw;max-height:95dvh;margin:0;padding:0;display:grid;position:relative;overflow:hidden}.modal-panel:has(.cabinet-modal){border-radius:0;overflow:hidden;padding:0!important}.cabinet-info-panel{grid-area:1/1}.cabinet-wrap-outer{grid-area:1/2}.cabinet-title{color:var(--brand);white-space:nowrap;pointer-events:none;margin-top:calc(var(--img-h) * .05);margin-bottom:2rem;font-family:Leckerli One,cursive;font-size:clamp(1.8rem,3vw,3.8rem)}.cabinet-info-panel{width:var(--info-w);flex-direction:column;flex-shrink:0;gap:.9rem;min-height:0;padding:1rem 1rem calc(min(92vh,900px)/12.5) 3rem;display:flex}.cabinet-info-panel__placeholder{color:#8ca8c4;margin:0;padding:1rem 0;font-family:Bellota,sans-serif;font-size:.85rem;font-style:italic}.cabinet-info-panel__name{color:var(--brand);margin:0;font-family:Leckerli One,cursive;font-size:clamp(1rem,1.3vw,1.4rem);line-height:1.2}.cabinet-info-panel__desc{color:#555;flex:0;margin:0;font-family:Bellota,sans-serif;font-size:.82rem;font-weight:400;line-height:1.45}.cabinet-info-panel__price{color:var(--accent-orange);margin:.25rem 0 0;font-family:Bellota,sans-serif;font-size:.95rem;font-weight:700}.cabinet-info-panel__add{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:8px;align-self:center;width:fit-content;min-width:150px;margin:auto 0 0 .5rem;padding:.7rem .9rem;font-family:Bellota,sans-serif;font-size:.9rem;font-weight:700;transition:background .15s;display:block}.cabinet-info-panel__add:hover{background:var(--brand-soft)}.cabinet-wrap-outer{aspect-ratio:1550/2000;width:auto;min-width:0;height:min(var(--img-h), calc((96vw - var(--info-w)) * (2000 / 1550)));border-radius:0;justify-content:flex-start;align-items:flex-start;margin:0;display:flex;position:relative;overflow:visible}.cabinet-wrap{border-radius:0;width:100%;height:100%;position:relative;overflow:visible}.cabinet-img{-webkit-user-select:none;user-select:none;pointer-events:none;border-radius:0;width:auto;height:100%;display:block}@media (width>=601px){.cabinet-wrap-outer{height:min(var(--img-h), calc((96vw - var(--info-w)) * (2000 / 1550)))}}@media (width<=600px){.cabinet-title{display:none}.cabinet-modal{border-radius:0!important;width:100vw!important;max-width:100vw!important;padding:0!important;display:block!important}.modal-overlay.has-cabinet-modal{align-items:flex-start;padding:0!important}.cabinet-wrap-outer{pointer-events:none;width:100vw;height:100dvh;display:block;position:relative;overflow:visible}.cabinet-wrap{transform-origin:0 0;pointer-events:none;width:100vw;height:auto;position:absolute;top:0;left:0;overflow:hidden;transform:none}.product-spot{pointer-events:auto}.cabinet-img{object-fit:unset;width:100vw;max-width:none;height:auto;margin:0;display:block}.cabinet-info-panel{box-sizing:border-box;z-index:200;background:var(--modal-bg,#fff);border-radius:16px 16px 0 0;flex-direction:column;gap:.5rem;width:100%;padding:.5rem 1.2rem 1.4rem;transition:transform .28s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -4px 24px #0000002e}.cabinet-info-panel.is-visible{transform:translateY(0)}.cabinet-info-panel:before{content:"";background:#5a8cb459;border-radius:2px;width:36px;height:4px;margin:0 auto .6rem;display:block}.cabinet-info-panel__add{margin-top:.75rem}}.product-spot{aspect-ratio:1;cursor:pointer;width:11%;box-shadow:none;z-index:1;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:flex-end;padding:3px;transition:z-index;display:flex;position:absolute;overflow:visible;transform:translate(-50%,-50%)}.product-spot:focus-visible{outline:2px solid var(--brand);outline-offset:4px;border-radius:6px}.product-spot:hover,.product-spot:focus-visible,.product-spot--open{z-index:20}.product-spot__img{pointer-events:none;width:100%;height:auto;transform:scale(var(--spot-scale,1));transform-origin:bottom;will-change:transform;border-radius:3px;transition:transform .18s,filter .15s;display:block}.product-spot:hover .product-spot__img,.product-spot:focus-visible .product-spot__img,.product-spot--open .product-spot__img{transform:scale(calc(var(--spot-scale,1) * 1.3));filter:drop-shadow(0 3px 8px #00000040);z-index:30;position:relative}.cart-drawer-header{border-bottom:1px solid #5a8cb44d;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.6rem;display:flex}.cart-title{color:var(--brand);margin:0;font-family:Leckerli One,cursive;font-size:1.3rem}.cart-drawer-close{cursor:pointer;width:2rem;height:2rem;color:var(--text-main);background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.3rem;transition:background .2s,transform .2s;display:flex}.cart-drawer-close:hover{background:#5a8cb426;transform:scale(1.1)}.cart-items{flex-direction:column;gap:.5rem;min-height:40px;display:flex}.cart-empty-msg{color:#6b84a0;margin:0;font-size:.9rem;font-style:italic}.cart-row{border-bottom:1px dashed #5a8cb44d;grid-template-columns:1fr auto auto auto;align-items:center;gap:0 .6rem;padding:.45rem 0;font-family:Bellota,sans-serif;font-size:.82rem;display:grid}.cart-row__info{flex-direction:column;gap:.05rem;min-width:0;display:flex}.cart-row__name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:600;overflow:hidden}.cart-row__unit-price{color:#6b84a0;white-space:nowrap;font-size:.68rem}.cart-row__qty{align-items:center;gap:.2rem;display:flex}.cart-row__price{color:var(--accent-orange);white-space:nowrap;text-align:right;min-width:3rem;font-size:.82rem;font-weight:700}.cart-row__remove{cursor:pointer;opacity:.35;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 4px;font-size:.85rem;line-height:1;transition:opacity .15s}.cart-row__remove:hover{opacity:.75}.qty-btn{cursor:pointer;color:#5787a5;opacity:.6;background:0 0;border:none;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:1rem;line-height:1;transition:opacity .12s,color .12s;display:flex}.qty-btn:hover{opacity:1;color:var(--brand);background:0 0}.qty-val{text-align:center;min-width:1.2rem;color:var(--text-main);font-size:.82rem;font-weight:600}.cart-total{color:var(--text-main);border-top:2px solid #5787a5;justify-content:flex-end;align-items:center;gap:.5rem;margin-top:.8rem;padding-top:.6rem;font-family:Bellota,sans-serif;font-size:1rem;font-weight:700;display:flex}.cart-total-label{font-family:Bellota,sans-serif}.cart-total-amount{color:var(--brand);font-size:1.1rem}.cart-form{border-top:1px dashed #5a8cb480;margin-top:1.2rem;padding-top:1rem}#boutique-cart.cart--empty .cart-total{display:none}#boutique-turnstile-container{justify-content:center;align-items:center;min-height:65px;display:flex}#boutique-cart-overlay{z-index:998;background:#00000059;display:none;position:fixed;inset:0}#boutique-cart-overlay.open{display:block}#boutique-cart{z-index:999;background:var(--modal-bg);width:min(440px,92vw);max-width:min(440px,92vw);height:100dvh;color:var(--text-main);box-sizing:border-box;padding:1.4rem 1.4rem 2rem;transition:transform .28s;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-4px 0 24px #0000002e}#boutique-cart.open{transform:translate(0)}#boutique-cart.open~#boutique-cart-icon{opacity:0;pointer-events:none;transition:opacity .2s}body:has(#boutique-cart.open) #boutique-cart-icon{opacity:0;pointer-events:none;transition:opacity .2s}body.page-boutique.is-desktop:not(.horizontal-nav) #boutique-cart{transform:translate(100%);right:var(--sidebar-width,0px)!important}body.page-boutique.is-desktop:not(.horizontal-nav) #boutique-cart.open{transform:translate(0)}body.page-boutique.is-desktop.horizontal-nav #boutique-cart{top:var(--navbar-height,0);height:calc(100dvh - var(--navbar-height,0px));right:0;transform:translate(100%)}body.page-boutique.is-desktop.horizontal-nav #boutique-cart.open{transform:translate(0)}body.page-boutique.is-mobile #boutique-cart{top:var(--mobile-header-height,0);height:calc(100dvh - var(--mobile-header-height,0px));width:100vw;max-width:100vw;right:0;transform:translate(100%)}body.page-boutique.is-mobile #boutique-cart.open{transform:translate(0)}@media (orientation:landscape){body.page-boutique.is-mobile #boutique-cart{width:320px;max-width:320px;height:100dvh;top:0;right:var(--sidebar-width,0px);transform:translateX(calc(100% + var(--sidebar-width,0px)))}body.page-boutique.is-mobile #boutique-cart.open{transform:translate(0)}}#boutique-cart-icon{top:1rem;right:calc(var(--sidebar-width,0px) + 1.5rem);z-index:999;cursor:pointer;background:#aacbf1;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:transform .15s,opacity .2s,background .15s;display:none;position:fixed;box-shadow:0 4px 14px #1565c073}#boutique-cart-icon.cart-icon--visible{display:flex}body.page-boutique.is-desktop.horizontal-nav #boutique-cart-icon{top:calc(var(--navbar-height,0px) + 1rem);right:1.5rem}body.page-boutique.is-mobile #boutique-cart-icon{top:calc(var(--mobile-header-height,70px) + .5rem);right:1.5rem}@media (orientation:landscape){body.page-boutique.is-mobile #boutique-cart-icon{top:1rem;right:calc(var(--sidebar-width,0px) + 1rem)}}#boutique-cart-icon:hover{background:#5787a5;transform:scale(1.08)}#boutique-cart-icon img{object-fit:contain;width:42px;height:42px}#boutique-cart-badge{color:#fff;box-sizing:border-box;background:#e63946;border-radius:999px;justify-content:center;align-items:center;min-width:1.6em;height:1.6em;padding:0 .35em;font-family:Bellota,sans-serif;font-size:.9em;font-weight:700;line-height:1;display:none;position:absolute;top:-.35em;right:-.35em}#boutique-cart-badge.visible{display:flex}.cart-pickup{background:#aacbf11f;border:1px solid #5a8cb459;border-radius:8px;margin:0 0 .6rem;padding:.7rem .9rem}.cart-pickup__legend{color:var(--brand);padding:0 .4rem;font-family:Bellota,sans-serif;font-size:.8em;font-weight:700}.cart-pickup__option{color:#2b2b2b;cursor:pointer;gap:.5rem;padding:.3rem 0;font-family:Bellota,sans-serif;font-size:.8em;font-weight:400;line-height:1.3;flex-direction:row!important;align-items:center!important;display:flex!important}.cart-pickup__option input[type=radio]{accent-color:#5787a5;cursor:pointer;flex-shrink:0;width:15px;height:15px;margin:0!important}.cart-pickup__option span{flex:1}.cart-pickup__option:hover span{color:var(--brand)}
