.pisto-menu-toggle, .pisto-menu-close { font: inherit; padding: .6rem 1rem; min-height: 44px; cursor: pointer; border: 1px solid currentColor; background: #fff; color: #25251f; }
.pisto-hamburger [hidden] { display: none; }
.pisto-menu-dialog { width: min(100vw, var(--pisto-drawer-width)); max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0 0 0 auto; padding: 1.5rem; border: 0; background: #fff; color: #25251f; overflow-y: auto; overscroll-behavior: contain; }
.pisto-menu-dialog::backdrop { background: rgb(0 0 0 / 55%); }
.pisto-menu-dialog--left { margin: 0 auto 0 0; }
.pisto-menu-dialog--top { margin: 0 auto auto; height: auto; max-height: 100dvh; }
.pisto-menu-dialog[open] { animation: pisto-drawer-right .2s ease-out; }
.pisto-menu-dialog--left[open] { animation-name: pisto-drawer-left; }
.pisto-menu-dialog--top[open] { animation-name: pisto-drawer-top; }
.pisto-drawer-menu, .pisto-drawer-menu .sub-menu { list-style: none; padding-inline-start: 1rem; }
.pisto-drawer-menu { padding: 0; }
.pisto-drawer-menu a { display: block; padding: .5rem; overflow-wrap: anywhere; }
.pisto-menu-close { margin-bottom: 1rem; min-width: 44px; padding: .5rem; }

.pisto-cart-link { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .4rem; }
.pisto-cart-link svg { width: 1.5rem; height: 1.5rem; fill: none; stroke: currentColor; stroke-width: 2; }
.pisto-header-marker { height: 0; flex: 0 0 0; }
.pisto-site-header { background: #fff; }
@media (min-width: 992px) { .pisto-sticky-desktop { position: sticky; top: var(--pisto-sticky-top, 0px); z-index: 90; } }
@media (max-width: 991px) { .pisto-sticky-mobile { position: sticky; top: var(--pisto-sticky-top, 0px); z-index: 90; } }
.pisto-site-header.pisto-sticky-too-tall { position: static; }
.pisto-is-sticky { box-shadow: 0 3px 10px rgb(0 0 0 / 12%); }
.pisto-logo-states { display: inline-grid; max-width: 100%; }
.pisto-logo-states > span { grid-area: 1 / 1; align-self: center; }
.pisto-logo-sticky { visibility: hidden; }
.pisto-is-sticky .pisto-logo-states--switch .pisto-logo-normal { visibility: hidden; }
.pisto-is-sticky .pisto-logo-states--switch .pisto-logo-sticky { visibility: visible; }
@keyframes pisto-drawer-right { from { transform: translateX(100%); } }
@keyframes pisto-drawer-left { from { transform: translateX(-100%); } }
@keyframes pisto-drawer-top { from { transform: translateY(-100%); } }
@media (prefers-reduced-motion: reduce) { .pisto-menu-dialog[open] { animation: none; } }

.pisto-header-group { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; min-width: 0; }
.pisto-header-cart { position: relative; display: flex; align-items: center; }
.pisto-cart-preview > summary { cursor: pointer; min-width: 32px; min-height: 44px; display: grid; place-items: center; list-style: none; }
.pisto-cart-preview > summary::-webkit-details-marker { display: none; }
.pisto-cart-popover { position: absolute; z-index: 110; top: 100%; right: 0; width: min(360px, calc(100vw - 16px)); max-height: min(480px, 65dvh); overflow-y: auto; overscroll-behavior: contain; padding: 1rem; border: 1px solid var(--pisto-border); background: #fff; color: #25251f; box-shadow: 0 5px 16px rgb(0 0 0 / 16%); }
.pisto-cart-products { list-style: none; margin: 0 0 1rem; padding: 0; }
.pisto-cart-product { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: .75rem; padding-block: .65rem; border-bottom: 1px solid var(--pisto-border); }
.pisto-cart-product-image img { width: 64px; height: 64px; object-fit: contain; }
.pisto-cart-product-name, .pisto-cart-product-price { display: block; overflow-wrap: anywhere; }
.pisto-cart-go { display: block; text-align: center; border: 1px solid currentColor; padding: .6rem; }

/* Editable in the child theme; the span is the middle line. */
.pisto-menu-toggle, .pisto-menu-close, .pisto-hamburger summary {
 display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
}
.pisto-hamburger summary { cursor: pointer; list-style: none; min-height: 44px; }
.pisto-hamburger summary::-webkit-details-marker { display: none; }
.pisto-menu-icon {
 position: relative; display: inline-block; flex-shrink: 0;
 width: var(--pisto-menu-icon-width, 24px);
 height: var(--pisto-menu-icon-thickness, 2px);
 margin-block: calc((var(--pisto-menu-icon-height, 18px) - var(--pisto-menu-icon-thickness, 2px)) / 2);
 background-color: var(--pisto-menu-icon-color, currentColor);
 transition: background-color .2s ease;
}
.pisto-menu-icon::before, .pisto-menu-icon::after {
 content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%;
 background-color: var(--pisto-menu-icon-color, currentColor);
 transform-origin: center; transition: transform .2s ease;
}
.pisto-menu-icon::before {
 transform: translateY(calc(-1 * (var(--pisto-menu-icon-thickness, 2px) + var(--pisto-menu-icon-gap, calc((var(--pisto-menu-icon-height, 18px) - 3 * var(--pisto-menu-icon-thickness, 2px)) / 2)))));
}
.pisto-menu-icon::after {
 transform: translateY(calc(var(--pisto-menu-icon-thickness, 2px) + var(--pisto-menu-icon-gap, calc((var(--pisto-menu-icon-height, 18px) - 3 * var(--pisto-menu-icon-thickness, 2px)) / 2))));
}
.pisto-menu-toggle[aria-expanded="true"] .pisto-menu-icon,
.pisto-hamburger details[open] > summary .pisto-menu-icon,
.pisto-menu-close .pisto-menu-icon { background-color: transparent; }
.pisto-menu-toggle[aria-expanded="true"] .pisto-menu-icon::before,
.pisto-hamburger details[open] > summary .pisto-menu-icon::before,
.pisto-menu-close .pisto-menu-icon::before { transform: rotate(45deg); }
.pisto-menu-toggle[aria-expanded="true"] .pisto-menu-icon::after,
.pisto-hamburger details[open] > summary .pisto-menu-icon::after,
.pisto-menu-close .pisto-menu-icon::after { transform: rotate(-45deg); }
@media (prefers-reduced-motion: reduce) {
 .pisto-menu-icon, .pisto-menu-icon::before, .pisto-menu-icon::after { transition: none; }
}
