/* Match the theme heading font while keeping the subtitle a paragraph. */
.anna-personalization .row.text-center > p { font-family: "Lustria", serif; }
/* The theme owns typography, spacing utilities, buttons and product grids. */
.anna-personalized-slot[hidden] { display: none !important; }
.anna-personalization .aem-variation-miniature[hidden] { display: none !important; }
.anna-personalization .aem-variation-miniature:focus-visible,
.anna-personalization a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.anna-personalization .aem-variation-miniature[aria-pressed="true"] { outline: 2px solid currentColor; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
    .anna-personalization a, .anna-personalization img { transition: none !important; }
}

.anna-cart-thumbnails { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.anna-cart-thumbnail { display: block; }
.anna-cart-thumbnail img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.anna-cart-summary .anna-cart-button { display: flex; justify-content: center; align-items: center; min-height: 54px; }
.anna-cart-carousel:not(.owl-loaded) { display: flex; gap: 20px; overflow-x: auto; }
.anna-cart-carousel:not(.owl-loaded) > .anna-carousel-item { flex: 0 0 45%; }
.anna-cart-carousel .product { width: 100%; max-width: none; float: none; margin: 0; padding: 0; }
.anna-cart-carousel .owl-stage { display: flex; }
.anna-cart-carousel .owl-item { display: flex; }
.anna-cart-carousel .owl-nav { display: flex; justify-content: flex-end; gap: 12px; margin-top: 16px; }
.anna-cart-carousel.owl-carousel .owl-nav button { border: 1px solid currentColor; width: 44px; height: 44px; font-size: 28px; }
.anna-cart-carousel .owl-nav button.disabled { opacity: .35; }
.anna-cart-carousel .owl-nav.disabled, .anna-cart-carousel .owl-dots.disabled { display: none; }
.anna-cart-carousel .owl-dots { display: flex; justify-content: center; gap: 8px; margin-top: 12px; }
.anna-cart-carousel .owl-dot { min-width: 24px; min-height: 24px; }
.anna-cart-carousel .owl-dot span { display: block; width: 8px; height: 8px; margin: auto; border: 1px solid currentColor; border-radius: 50%; }
.anna-cart-carousel .owl-dot.active span { background: currentColor; }
@media (max-width: 575px) { .anna-cart-carousel:not(.owl-loaded) > .anna-carousel-item { flex-basis: 85%; } }

.anna-cart-carousel .anna-carousel-item { width: 100%; }
.anna-cart-carousel ul.products { display: block; width: 100%; margin: 0; padding: 0; }
.anna-cart-carousel ul.products li.product { float: none; width: 100%; max-width: 100%; margin: 0; padding: 0; }
.anna-cart-carousel .owl-nav { position: static; transform: none; }
.anna-cart-carousel.owl-carousel .owl-nav button { position: static; transform: none; }

.anna-personalization:has(.anna-cart-selection) {
    overflow: hidden;
}

.anna-cart-carousel .owl-stage-outer {
    clip-path: inset(-100vw -100vw -100vw 0);
    overflow: visible;
}
.anna-cart-thumbnails--compact { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.anna-cart-thumbnails--dense { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
