/* Shared interaction styles apply to every tenant storefront. */
html { scroll-padding-block: 6rem 10rem; }
:where(a, button, input, select, textarea, [tabindex]) { scroll-margin-block: 6rem 10rem; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid #005fcc !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 6px #fff !important;
}
.skip-link { position: fixed; top: .5rem; left: .5rem; z-index: 10000; padding: .75rem 1rem; background: #fff; color: #111; transform: translateY(-200%); }
.skip-link:focus { transform: none; }
button, .btn, select, input:not([type=hidden]):not([type=checkbox]):not([type=radio]) { min-height: 24px; }
button, .btn { min-width: 24px; }
.btn, .navbar-toggler { min-height: 36px; }
.btn-primary { background: var(--a11y-action, #a5214c) !important; border-color: var(--a11y-action, #a5214c) !important; color: #fff !important; }
.btn-primary:hover, .btn-primary:focus, .btn-primary:active { background: var(--a11y-action, #a5214c) !important; color: #fff !important; }
.btn-outline-primary { --bs-btn-color: var(--a11y-link, #a5214c); --bs-btn-border-color: var(--a11y-link, #a5214c); --bs-btn-hover-bg: var(--a11y-action, #a5214c); --bs-btn-hover-color: #fff; }
.text-primary, .product-card__price, .build-wizard__total-amount, .section-title, .navbar-brand, .navbar .main-nav .nav-link:hover, .navbar .main-nav .nav-link.active { color: var(--a11y-link, #a5214c) !important; }
main a:not(.btn):not(.product-card__link) { text-decoration: underline; text-underline-offset: .15em; }
.footer-main, .footer-main a, .footer-main .bi, .footer-main .brand span, .footer-main .footer-heading { color: var(--a11y-brand-foreground, #111) !important; }
.cart-badge { background: var(--a11y-action, #a5214c); color: #fff; }
.builder-step-toggle { appearance: none; background: transparent; border: 0; color: inherit; padding: .25rem; text-align: left; font: inherit; cursor: pointer; }
.option-card__input:focus-visible + .option-card__label { outline: 3px solid #005fcc; outline-offset: -4px; box-shadow: inset 0 0 0 7px #fff; }
.option-card__input:checked + .option-card__label { border-color: var(--a11y-action, #a5214c); }
.option-card__input:checked + .option-card__label::after { content: '✓'; position: absolute; top: .5rem; right: .5rem; background: #fff; color: #111; padding: .1rem .4rem; border: 1px solid #111; border-radius: 50%; }
.product-card__quick-view { position: absolute; top: .75rem; left: .75rem; opacity: 1; transform: none; z-index: 2; }
.product-card:focus-within { outline: 2px solid #005fcc; outline-offset: 3px; }
.field-validation-error, .validation-summary-errors { color: #b02a37; }
.validation-summary-valid { display: none; }
body[data-theme='rose-dark'] { --a11y-link: #f9c4d5; }
body[data-theme='rose-dark'] .text-muted { color: #c7b8bd !important; }
@media (max-width: 575.98px) {
    .brand { min-width: 0; }
    .navbar-brand { white-space: normal; overflow-wrap: anywhere; max-width: 55vw; }
    .build-wizard__footer { position: static !important; }
    .cart-item .row { row-gap: .75rem; }
    .hero-features { flex-wrap: wrap; }
    .chatbot-window { max-width: calc(100vw - 2rem); }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
.navbar .brand span { color: var(--a11y-link, #a5214c) !important; }
.footer-main p, .footer-main span, .footer-main li, .footer-main strong { color: var(--a11y-brand-foreground, #111) !important; }
.btn-outline-secondary { --bs-btn-color: #53585e; --bs-btn-border-color: #53585e; }
.product-page__price, .option-card__price { color: var(--a11y-link, #a5214c) !important; }
.build-wizard__step:not(.active) .card { opacity: 1; }
.option-card__price .text-success { color: #146c43 !important; }
.avail-cal-cell { border: 1px solid transparent; }
.avail-cal-cell[disabled] { cursor: not-allowed; }
.product-detail__price { color: var(--a11y-link, #a5214c) !important; }
body:not([data-theme='rose-dark']) .text-muted { color: #595959 !important; }
.hero-tagline { color: var(--a11y-link, #a5214c); }
body[data-theme='rose-dark'] .btn-outline-secondary { --bs-btn-color: #eaeaea; --bs-btn-border-color: #c7b8bd; }
body[data-theme='rose-dark'] .option-card__price .text-success { color: #91dfb5 !important; }
body[data-theme='rose-dark'] code { color: #f9c4d5; }
body:not([data-theme='rose-dark']) code { color: #9c245e; }
.badge.bg-info { color: #111 !important; }
body[data-theme='rose-dark'] a.btn-link { color: #f9c4d5; }
.avail-selected { background: var(--a11y-action, #a5214c) !important; color: #fff !important; }
body[data-theme='rose-dark'] main a:not(.btn):not(.product-card__link) { color: #f9c4d5; }
.footer-main li a { display: inline-block; min-height: 28px; padding-block: 4px; }
.cart-item .qty-input { min-width: 28px; }
@media (max-width: 575.98px) {
    .cart-item__quantity-form { min-width: 0; }
    .cart-item__quantity-form .input-group { flex-wrap: nowrap; }
}
body:not([data-theme='rose-dark']) .testimonials-section .text-warning { color: #795600 !important; }
body[data-theme='rose-dark'] .testimonials-section .text-warning { color: #ffe18a !important; }
