/* Shared AE storefront rules. Keep admin, campaign layouts and icon fonts isolated. */
body[class*="pmx-route-"] {
    --pmx-red: #e31e24;
    --pmx-action-hover: #bd171d;
    --pmx-copy: #202938;
    --pmx-muted: #596579;
    --pmx-font: "Inter", Arial, sans-serif;
    --pmx-control-radius: 8px;
    font-family: var(--pmx-font);
    color: var(--pmx-copy);
    line-height: 1.5;
}
body[class*="pmx-route-"]:lang(en) :is(h1,h2,h3,h4,h5,h6,button,input,select,textarea) {
    font-family: var(--pmx-font);
}
body[class*="pmx-route-"] :is(.secondary-heading h2,.pm-home-section-title,.pm-celeb-heading h2) {
    font-size: clamp(24px, 2.3vw, 32px);
    line-height: 1.25;
    font-weight: 700;
    text-transform: none;
    letter-spacing: -.02em;
}
body[class*="pmx-route-"] :is(.cart-btn,.pm-auth-submit,.pm-contact-submit,.pm-cart-checkout,.submit-btn) {
    min-height: 44px;
    border-radius: var(--pmx-control-radius);
    background-color: var(--pmx-red);
    border-color: var(--pmx-red);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    white-space: normal;
    transition: background-color .15s ease, border-color .15s ease;
}
body[class*="pmx-route-"] :is(.cart-btn,.pm-auth-submit,.pm-contact-submit,.pm-cart-checkout,.submit-btn):hover {
    background-color: var(--pmx-action-hover);
    border-color: var(--pmx-action-hover);
    color: #fff;
}
body[class*="pmx-route-"] :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
    outline: 3px solid #1c548e;
    outline-offset: 3px;
}
body[class*="pmx-route-"] :is(button,input,select,textarea):disabled {
    cursor: not-allowed;
}
body[class*="pmx-route-"] :is(.pm-auth-field label,.pm-contact-field label) {
    font-size: 14px;
    line-height: 1.5;
}
body[class*="pmx-route-"] :is(.pm-auth-lede,.pm-auth-terms,.pm-auth-actions,.pm-auth-divider) {
    font-size: 13px;
    line-height: 1.5;
}
body[class*="pmx-route-"] :is(.pm-auth-lede,.pm-auth-divider,.pm-auth-tabs a,.pm-contact-action small) {
    color: var(--pmx-muted);
}
body[class*="pmx-route-"] .pm-auth-tabs a[aria-current="page"] { color: #bd171d; }
body[class*="pmx-route-"] :is(.pm-auth-control .form-control,.pm-contact-field input,.pm-contact-field select,.pm-contact-field textarea) {
    min-height: 44px;
    font-size: 16px;
    line-height: 1.5;
    border-radius: var(--pmx-control-radius);
}
body[class*="pmx-route-"] .pm-auth-control .form-control { height: 44px; padding-right: 48px; }
body[class*="pmx-route-"] .pm-auth-control > i { top: 22px; }
body[class*="pmx-route-"] .pm-auth-control .eye-form { top: 22px; right: 0; width: 44px; height: 44px; }
body[class*="pmx-route-"] .pm-auth-social a { min-height: 44px; font-size: 14px; }
body[class*="pmx-route-"] :is(.pm-auth-control .invalid-feedback,.pm-auth-page .help-block) {
    font-size: 13px;
    line-height: 1.5;
    color: #b31b26;
}
body[class*="pmx-route-"] .pm-auth-actions { flex-wrap: wrap; }
body[class*="pmx-route-"] .compare-btn { min-height: 44px; font-size: 13px; }
/* Existing catalogue rules use !important at mobile widths. Match that narrow scope. */
body[class*="pmx-route-"] .marvel-card .btn-wrap :is(.cart-btn,.compare-btn) {
    min-height: 44px !important;
    height: auto !important;
    font-size: 14px !important;
    border-radius: var(--pmx-control-radius);
}
body[class*="pmx-route-"] .marvel-card .compare-btn span { font-size: 13px !important; }
body.pmx-route-product-detail #frmCheckout .btn-wrap :is(.cart-btn,.product-detail-compare-btn) {
    font-size: 14px;
    border-radius: var(--pmx-control-radius);
}
@media (prefers-reduced-motion: reduce) {
    body[class*="pmx-route-"] *, body[class*="pmx-route-"] *::before, body[class*="pmx-route-"] *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}
