/* Only the known Sedonuts components are affected. Native theme shopping stays intact. */
.single-product .sd-product-story.snac-product-story::before,
.single-product .sd-product-story.snac-product-story::after {
    width: var(--snac-product-viewport) !important;
}
.snac-products :is(a,button):focus-visible,
.snac-shop-filters :is(button,input):focus-visible {
    outline: 3px solid #4a251b !important; outline-offset: 3px; box-shadow: 0 0 0 6px #fff8ee;
}
/* Keep keyboard focus usable without turning one four-column card into a
   tall, shifting page. The theme's normal card geometry remains in place;
   its existing footer is brought above the card only while focused. */
.sd-products.snac-products .sd-product-card:focus-within .sd-product-image {
    position: absolute !important; top: 15px !important; left: 15px !important;
    width: calc(100% - 30px) !important; height: 350px !important;
    margin: 0 !important; padding: 30px 8px 0 !important; border-radius: 20px !important;
}
.sd-products.snac-products .sd-product-card:focus-within .sd-product-image img {
    opacity: 1 !important; transform: none !important; max-width: 350px !important;
}
.sd-products.snac-products .sd-product-card:focus-within .sd-card-content {
    padding: 380px 20px 20px !important; visibility: visible !important;
}
.sd-products.snac-products .sd-product-card:focus-within .sd-card-info {
    visibility: visible !important; opacity: 1 !important; transform: none !important;
}
.sd-products.snac-products .sd-product-card:focus-within .sd-coffee-hover {
    opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
}
.sd-products.snac-products .sd-product-card:focus-within .sd-card-footer {
    position: absolute !important; left: 20px !important; right: 20px !important; bottom: 20px !important;
    margin: 0 !important; visibility: visible !important; opacity: 1 !important;
    transform: none !important; pointer-events: auto !important; flex-wrap: wrap;
}
.sd-products.snac-products .sd-product-card:focus-within :is(.sd-price,.sd-price ins) { color: #893d24 !important; }
.snac-products .sd-add-cart { background: #893d24 !important; min-height: 44px; }
.snac-shop-filters .sedonuts-filter-group-title { min-height: 44px; }
/* Preserve the theme's sidebar at defaults; let enlarged labels and prices
   wrap instead of being clipped by its internal scrolling container. */
html:is([data-snac-page-scale],[data-snac-text-size],[data-snac-letter-spacing],[data-snac-word-spacing]) .sedonuts-filter :is(.sedonuts-filter-heading,.sedonuts-filter-group-title,.sedonuts-filter-group-title > span:not(.sedonuts-filter-arrow),label > span,.sedonuts-price-range-head > *, .sedonuts-filter-apply) {
    min-width: 0 !important; max-width: 100% !important;
    white-space: normal !important; overflow-wrap: anywhere !important; word-break: normal !important;
}
html:is([data-snac-page-scale],[data-snac-text-size],[data-snac-letter-spacing],[data-snac-word-spacing]) .sedonuts-filter-group-title > span:not(.sedonuts-filter-arrow) { flex: 1 1 0; text-align: start; }
html:is([data-snac-page-scale],[data-snac-text-size],[data-snac-letter-spacing],[data-snac-word-spacing]) .sedonuts-filter-arrow { flex-shrink: 0; }
html:is([data-snac-page-scale],[data-snac-text-size],[data-snac-letter-spacing],[data-snac-word-spacing]) .sedonuts-filter :is(.sedonuts-filter-head,.sedonuts-price-range-head) { flex-wrap: wrap; gap: .5em; }
html:is([data-snac-page-scale],[data-snac-text-size],[data-snac-letter-spacing],[data-snac-word-spacing]) .sedonuts-filter label { min-width: 0; align-items: flex-start; }
html:is([data-snac-page-scale],[data-snac-text-size],[data-snac-letter-spacing],[data-snac-word-spacing]) .sedonuts-filter label > input { flex-shrink: 0; }

/* Large text and letter spacing must wrap long product names inside the
   theme's fixed card columns instead of spilling into the next card. */
html[data-snac-text-size] .sedonuts-product-inner,
html[data-snac-letter-spacing] .sedonuts-product-inner,
html[data-snac-word-spacing] .sedonuts-product-inner { min-width: 0 !important; }
html[data-snac-text-size] .sedonuts-product-content,
html[data-snac-letter-spacing] .sedonuts-product-content,
html[data-snac-word-spacing] .sedonuts-product-content { min-width: 0 !important; }
html[data-snac-text-size] .sedonuts-product-title,
html[data-snac-letter-spacing] .sedonuts-product-title,
html[data-snac-word-spacing] .sedonuts-product-title,
html[data-snac-text-size] .sedonuts-product-title a,
html[data-snac-letter-spacing] .sedonuts-product-title a,
html[data-snac-word-spacing] .sedonuts-product-title a {
    max-width: 100% !important; overflow-wrap: anywhere !important; word-break: normal !important;
}
html[data-snac-text-size] .sedonuts-product-footer,
html[data-snac-letter-spacing] .sedonuts-product-footer,
html[data-snac-word-spacing] .sedonuts-product-footer {
    flex-wrap: wrap !important; gap: 8px !important;
}
html[data-snac-text-size] .sedonuts-product-action,
html[data-snac-letter-spacing] .sedonuts-product-action,
html[data-snac-word-spacing] .sedonuts-product-action { min-width: 0 !important; max-width: 100% !important; }
html[data-snac-text-size] .sedonuts-product-action :is(a,button),
html[data-snac-letter-spacing] .sedonuts-product-action :is(a,button),
html[data-snac-word-spacing] .sedonuts-product-action :is(a,button) {
    max-width: 100% !important; white-space: normal !important;
    overflow-wrap: anywhere !important; text-align: center !important;
}
/* A modal cart owns the interaction; keep the nonmodal toolbar behind it. */
.sdmc-open #snac-access-center-root[inert] { visibility: hidden; }
@media (hover: none), (pointer: coarse) {
    .sd-products.snac-products .sd-card-footer {
        position: relative !important; inset: auto !important; margin-top: 14px;
        visibility: visible !important; opacity: 1 !important; transform: none !important;
        pointer-events: auto; flex-wrap: wrap;
    }
    .sd-products.snac-products .sd-coffee-hover {
        display: none !important; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    .snac-products *, .sdmc-flyer { animation: none !important; transition-duration: 0.01ms !important; }
}
@media (forced-colors: active) {
    .snac-products .sd-add-cart { border: 2px solid ButtonText; }
}
