/* ==========================================================================
   APL store polish — linked last in <head>, after the legacy inline CSS.
   Apple-style type, controls and surfaces for shop, product, cart, checkout,
   account, Specials, the cookie banner and the mobile dock.
   ========================================================================== */

body.apl,
body.apl button, body.apl input, body.apl select, body.apl textarea, body.apl .button,
body.apl h1, body.apl h2, body.apl h3, body.apl h4, body.apl h5, body.apl h6 {
    font-family: var(--apl-font) !important;
}
body.apl h1, body.apl h2, body.apl h3 { font-weight: 600 !important; letter-spacing: -.003em; }
body.apl .woocommerce-products-header__title, body.apl .product_title, body.apl .entry-title, body.apl .page-title { letter-spacing: -.005em !important; font-weight: 600 !important; }

/* surfaces: Apple store grey page, white cards, no heavy shadows */
body.apl:not(.home) { background: var(--apl-bg-2) !important; }
body.apl:not(.home) .site-main, body.apl:not(.home) .site-content { background: transparent !important; }

/* buttons */
body.apl .woocommerce a.button, body.apl .woocommerce button.button, body.apl .woocommerce input.button,
body.apl .woocommerce #respond input#submit, body.apl a.button, body.apl button.button,
body.apl .single_add_to_cart_button, body.apl .checkout-button, body.apl #place_order {
    border-radius: 980px !important;
    font-weight: 400 !important;
    letter-spacing: -.022em !important;
    background-image: none !important;
    box-shadow: none !important;
    transition: background-color .2s !important;
}
body.apl .single_add_to_cart_button, body.apl .checkout-button, body.apl #place_order { border-radius: 12px !important; font-size: 17px !important; }
body.apl .woocommerce a.button:hover, body.apl .woocommerce button.button:hover, body.apl .single_add_to_cart_button:hover,
body.apl .checkout-button:hover, body.apl #place_order:hover { background-color: var(--apl-accent-hover) !important; }

/* product loop */
body.apl ul.products li.product {
    background: #fff !important; border: 0 !important; border-radius: 18px !important;
    box-shadow: 2px 4px 12px rgba(0, 0, 0, .08) !important;
    transition: box-shadow .3s cubic-bezier(0, 0, .5, 1), transform .3s cubic-bezier(0, 0, .5, 1) !important;
}
body.apl ul.products li.product:hover { box-shadow: 2px 4px 16px rgba(0, 0, 0, .16) !important; transform: scale3d(1.01, 1.01, 1.01); }
body.apl ul.products li.product .woocommerce-loop-product__title { font-weight: 600 !important; letter-spacing: -.01em !important; color: var(--apl-ink) !important; }
body.apl ul.products li.product .price { font-weight: 400 !important; color: var(--apl-ink) !important; }
body.apl .onsale, body.apl span.onsale { background: transparent !important; color: var(--apl-eyebrow) !important; box-shadow: none !important; font-size: 12px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: -.01em; }

/* forms */
body.apl input[type="text"], body.apl input[type="email"], body.apl input[type="tel"], body.apl input[type="password"],
body.apl input[type="number"], body.apl select, body.apl textarea {
    border: 1px solid var(--apl-grey-2) !important; border-radius: 12px !important; background-color: #fff !important; box-shadow: none !important;
}
body.apl input:focus, body.apl select:focus, body.apl textarea:focus { border-color: var(--apl-accent) !important; box-shadow: 0 0 0 4px rgba(0, 0, 0, .12) !important; outline: none !important; }

body.apl .woocommerce-breadcrumb { font-size: 12px !important; color: var(--apl-grey) !important; text-transform: none !important; letter-spacing: -.01em; }
body.apl .woocommerce-breadcrumb a { color: var(--apl-link) !important; }
body.apl .woocommerce-info::before, body.apl .woocommerce-message::before { color: var(--apl-accent) !important; }
body.apl .woocommerce-info, body.apl .woocommerce-message { border-top-color: var(--apl-accent) !important; }

/* cookie banner: light, rounded, frosted */
body.apl .els-cookie-banner__panel, body.apl .els-cookie-preferences {
    background: rgba(250, 250, 252, .92) !important; color: var(--apl-ink) !important;
    border: 0 !important; border-radius: 18px !important;
    -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px);
    box-shadow: 0 10px 40px rgba(0, 0, 0, .16) !important;
}
body.apl .els-cookie-banner__title, body.apl .els-cookie-choice__title { color: var(--apl-ink) !important; }
body.apl .els-cookie-banner__text, body.apl .els-cookie-choice__desc, body.apl .els-cookie-preferences__intro { color: var(--apl-grey) !important; }
body.apl .els-cookie-banner a, body.apl .els-cookie-preferences a { color: var(--apl-link) !important; }
body.apl .els-cookie-banner button, body.apl .els-cookie-preferences button {
    border-radius: 980px !important; font-family: var(--apl-font) !important; font-weight: 400 !important;
    border: 1px solid var(--apl-link) !important; background: transparent !important; color: var(--apl-link) !important;
}
body.apl #els-cookie-accept, body.apl #els-cookie-save { background: var(--apl-accent) !important; border-color: var(--apl-accent) !important; color: #fff !important; }
body.apl .els-cookie-settings { background: rgba(250, 250, 252, .92) !important; color: var(--apl-ink) !important; border-radius: 980px !important; box-shadow: 0 4px 16px rgba(0, 0, 0, .12) !important; }

/* mobile dock: frosted light bar like iOS */
body.apl .els-v262-mobile-nav {
    background: rgba(250, 250, 252, .86) !important;
    -webkit-backdrop-filter: saturate(180%) blur(20px) !important; backdrop-filter: saturate(180%) blur(20px) !important;
    border: 0 !important; border-top: 1px solid rgba(0, 0, 0, .08) !important; box-shadow: none !important;
}
body.apl .els-v262-mobile-nav__item { color: var(--apl-grey-2) !important; }
body.apl .els-v262-mobile-nav__label { font-family: var(--apl-font) !important; font-weight: 500 !important; letter-spacing: 0 !important; }
body.apl .els-v262-mobile-nav__item.is-active { color: var(--apl-accent) !important; }
body.apl .els-v262-mobile-nav__item.is-active .els-v262-mobile-nav__icon { background: transparent !important; color: var(--apl-accent) !important; }
body.apl .els-v262-mobile-nav__count { background: var(--apl-ink) !important; color: #fff !important; }

/* Specials landing */
body.apl.page-specials, body.apl .els-sp-page { background: #fff !important; }
.apl .elx-spbar { position: relative; z-index: 5; background: rgba(250, 250, 252, .8); -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px); border-bottom: 1px solid rgba(0, 0, 0, .06); }
.apl .elx-spbar__row { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 52px; }
.apl .elx-spbar .elx-logo { display: inline-flex; align-items: center; gap: 10px; color: var(--apl-ink) !important; text-decoration: none !important; }
.apl .elx-spbar .elx-logo__type { display: grid; line-height: 1.1; }
.apl .elx-spbar .elx-logo__type strong { font-size: 14px; font-weight: 600; }
.apl .elx-spbar .elx-logo__type small { font-size: 11px; color: var(--apl-grey); }
.apl .elx-spbar__call { display: inline-flex; align-items: center; gap: 8px; padding: 8px 15px; border-radius: 980px; background: var(--apl-accent); color: #fff !important; text-decoration: none !important; font-size: 14px; }
.apl .elx-spbar__call .elx-i { width: 14px; height: 14px; }
.apl .elx-sp-sizer { display: flex; align-items: center; justify-content: space-between; gap: 14px 24px; flex-wrap: wrap; margin: 8px auto; padding: 18px 18px 18px 24px; border-radius: 18px; background: var(--apl-bg-2); }
.apl .elx-sp-sizer p { margin: 0; font-size: 17px; color: var(--apl-ink); }
.apl .elx-sp-sizer .elx-btn { display: inline-flex; align-items: center; gap: 8px; padding: 11px 21px; border-radius: 980px; background: var(--apl-accent); color: #fff !important; text-decoration: none !important; font-size: 17px; }
.apl .elx-sp-sizer .elx-btn .elx-i { width: 16px; height: 16px; }
.apl .els-sp-special-section .is-elx-target { box-shadow: 0 0 0 3px var(--apl-accent) !important; }
@media (max-width: 520px) { .apl .elx-spbar__call span { display: none; } }

/* Apple-weight headings on product and Specials pages (legacy CSS used 800-900 with tight tracking) */
body.apl.single-product .product_title,
body.apl.single-product .summary .product_title,
body.apl .els-sp-page .els-sp-hero-title,
body.apl .els-sp-page .els-sp-hero-title span { font-weight: 600 !important; letter-spacing: -.005em !important; line-height: 1.07 !important; }
body.apl .els-sp-page .els-sp-headline-accent { color: var(--apl-grey) !important; background: none !important; -webkit-text-fill-color: currentColor !important; }
body.apl .els-sp-page .els-sp-brand-title { color: var(--apl-eyebrow) !important; letter-spacing: -.01em !important; text-transform: none !important; font-size: 17px !important; font-weight: 600 !important; }
body.apl .els-sp-page .els-sp-brand-title::before { display: none !important; }
body.apl.single-product form.cart .single_add_to_cart_button,
body.apl.single-product .single_add_to_cart_button.button { background: var(--apl-accent) !important; background-image: none !important; }
body.apl.single-product form.cart .single_add_to_cart_button:hover { background: var(--apl-accent-hover) !important; }
body.apl .els-sp-page .els-sp-quote-button { background: var(--apl-accent) !important; background-image: none !important; box-shadow: none !important; border-radius: 980px !important; }
body.apl.single-product h2, body.apl.single-product h3, body.apl.single-product .summary .price, body.apl.single-product .summary .price * { font-weight: 600 !important; letter-spacing: -.003em !important; }
body.apl.single-product .summary .price { color: var(--apl-ink) !important; }
