/*
 * Hint Dept 1134 shared customer experience layer.
 * Loaded last on public routes so legacy utility classes cannot split the
 * storefront into unrelated visual systems. It is presentation-only.
 */

:root {
    --hd-page-max: 100rem;
    --hd-content-max: 88rem;
    --hd-gutter: clamp(1rem, 3.2vw, 4rem);
    --hd-focus: #0a0a0a;
}

body.hd-site-body {
    background: var(--hd-white);
    color: var(--hd-ink);
    font-family: var(--hd-font-sans);
}

body.hd-site-body main :where(h1, h2, h3, h4, h5, h6) {
    color: var(--hd-ink);
    font-weight: 600;
    text-wrap: balance;
}

body.hd-site-body main :where(p, li) { text-wrap: pretty; }

body.hd-site-body main :where(a) {
    color: inherit;
    transition: color var(--hd-speed-fast) ease, border-color var(--hd-speed-fast) ease, background var(--hd-speed-fast) ease, opacity var(--hd-speed-fast) ease;
}

body.hd-site-body main :where(button, input, select, textarea) { box-shadow: none !important; }

body.hd-site-body main :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    min-height: 3.25rem;
    border: 1px solid var(--hd-line) !important;
    border-radius: 0 !important;
    background: var(--hd-white) !important;
    color: var(--hd-ink) !important;
    padding: 0.8rem 0.9rem !important;
    font-size: 0.875rem;
    line-height: 1.4;
}

body.hd-site-body main :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus {
    border-color: var(--hd-ink) !important;
    outline: 2px solid transparent;
    box-shadow: 0 0 0 1px var(--hd-ink) !important;
}

body.hd-site-body main :where(input, textarea)::placeholder { color: #777; opacity: 1; }
body.hd-site-body main :where(label) { color: var(--hd-charcoal); font-size: 0.65rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }

body.hd-site-body main :where(input[type="checkbox"], input[type="radio"]) {
    accent-color: var(--hd-ink);
}

body.hd-site-body main :where(button[type="submit"], .ml-theme-btn-primary, .ml-account-primary-button, .ml-waitlist-submit, .ml-contact-submit, .ml-search-submit-btn, .hd-button, .hd-cta) {
    min-height: 3.25rem;
    border-radius: 0 !important;
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

body.hd-site-body main :where(button[type="submit"], .ml-theme-btn-primary, .ml-account-primary-button, .ml-waitlist-submit, .ml-contact-submit) {
    border: 1px solid var(--hd-ink) !important;
    background: var(--hd-ink) !important;
    color: var(--hd-white) !important;
    padding: 0.8rem 1.35rem;
}

body.hd-site-body main :where(button[type="submit"], .ml-theme-btn-primary, .ml-account-primary-button, .ml-waitlist-submit, .ml-contact-submit):hover {
    background: var(--hd-white) !important;
    color: var(--hd-ink) !important;
}

body.hd-site-body main :where(.rounded, .rounded-sm, .rounded-md, .rounded-lg, .rounded-xl, .rounded-2xl, .rounded-3xl, .rounded-full, [class*="rounded-["]) { border-radius: 0 !important; }
body.hd-site-body main :where(.shadow, .shadow-sm, .shadow-md, .shadow-lg, .shadow-xl, .shadow-2xl, [class*="shadow-["]) { box-shadow: none !important; }
body.hd-site-body main :where(.bg-gradient-to-br, .bg-gradient-to-b, .bg-gradient-to-r) { background-image: none !important; }

/* Shared panels and page rhythm */
body.hd-site-body:not(.hd-page-home) > main.main-content-area > :where(section, article, .hd-public-page, .ml-theme-page, .ml-legal-page) {
    animation: hd-public-enter 500ms var(--hd-ease-out) both;
}

body.hd-site-body:not(.hd-page-home) :where(.ml-theme-panel, .ml-theme-panel-soft, .ml-account-panel, .ml-account-feature-card, .ml-account-help-panel, .ml-auth-panel, .ml-waitlist-card, .ml-contact-panel, .track-card, .ml-wishlist-card) {
    border: 1px solid var(--hd-line) !important;
    border-radius: 0 !important;
    background: var(--hd-white) !important;
    box-shadow: none !important;
}

body.hd-site-body:not(.hd-page-home) :where(.bg-neutral-50, .bg-neutral-100, .bg-stone-50, .bg-gray-50) { background-color: var(--hd-white) !important; }
body.hd-site-body:not(.hd-page-home) :where(.border-black\/10, .border-black\/15, .border-gray-200, .border-gray-300) { border-color: var(--hd-line) !important; }

.ml-theme-title,
.hd-page-content main h1:first-of-type,
.hd-page-search h1,
.hd-page-auth h1,
.hd-page-cart h1,
.hd-page-checkout h1,
.hd-page-wishlist h1,
.hd-page-order h1,
.hd-page-account h1,
.hd-page-utility h1 {
    max-width: 12ch;
    font-family: var(--hd-font-editorial) !important;
    font-size: clamp(3.1rem, 7vw, 7.8rem) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    line-height: 0.86 !important;
    text-transform: none !important;
}

.ml-theme-page > .container,
.hd-public-page > .container,
.ml-legal-page > .container { width: min(100%, var(--hd-content-max)) !important; }

/* Collection and search merchandising */
.hd-page-products .ml-shop-hero,
.hd-page-search .ml-theme-page { border-bottom: 1px solid var(--hd-line); }

.hd-page-products .ml-collection-toolbar {
    position: sticky;
    top: var(--hd-header-total);
    z-index: 20;
    border-bottom: 1px solid var(--hd-line);
    background: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: blur(0.4rem);
}

.hd-page-products .ml-collection-toolbar__inner { width: min(100%, var(--hd-content-max)); margin-inline: auto; }
.hd-page-products .ml-collection-toolbar__bar { min-height: 3.5rem; }
.hd-page-products .ml-theme-select { min-height: 2.5rem !important; border: 0 !important; padding: 0.4rem 2rem 0.4rem 0 !important; font-size: 0.65rem !important; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.hd-page-products .ml-category-chip,
.hd-page-search .ml-search-category-chip { border: 0 !important; border-bottom: 1px solid transparent !important; border-radius: 0 !important; background: transparent !important; color: var(--hd-grey) !important; padding-inline: 0 !important; font-size: 0.63rem; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; }
.hd-page-products .ml-category-chip + .ml-category-chip { margin-left: 1.25rem; }
.hd-page-products .ml-category-chip:hover,
.hd-page-products .ml-category-chip.is-active,
.hd-page-search .ml-search-category-chip:hover { border-bottom-color: var(--hd-ink) !important; color: var(--hd-ink) !important; }
.hd-page-products .ml-category-chip-count { color: inherit; font-size: 0.55rem; }

.hd-page-products .ml-product-grid,
.hd-page-search .ml-search-results-grid,
.hd-page-wishlist .grid { gap: clamp(2rem, 4vw, 4.5rem) clamp(0.6rem, 1.5vw, 1.5rem) !important; }

.hd-page-products .ml-product-card,
.hd-page-search .ml-product-card,
.hd-page-wishlist .ml-wishlist-card {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.hd-page-products .ml-product-media,
.hd-page-search .ml-product-media,
.hd-page-wishlist .ml-wishlist-card > div:first-child { background: var(--hd-paper) !important; }
.hd-page-products .ml-product-meta,
.hd-page-search .ml-product-meta { padding-top: 0.9rem !important; }
.hd-page-products .ml-product-name,
.hd-page-search .ml-product-name { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.03em; }
.hd-page-products .ml-product-price,
.hd-page-search .ml-product-price { font-size: 0.72rem; }
.hd-page-products .ml-product-card-swatches,
.hd-page-search .ml-product-card-swatches { margin-top: 0.75rem; }
.hd-page-products .ml-product-swatch,
.hd-page-search .ml-product-swatch { width: 1rem; height: 1rem; border: 1px solid var(--hd-line) !important; border-radius: 50% !important; box-shadow: inset 0 0 0 2px var(--hd-white); }
.hd-page-products .ml-product-swatch.is-active,
.hd-page-search .ml-product-swatch.is-active { outline: 1px solid var(--hd-ink); outline-offset: 2px; }

.hd-page-search .ml-search-refine-form { border-bottom: 1px solid var(--hd-ink); }
.hd-page-search .ml-search-page-input { min-height: 4.5rem !important; border: 0 !important; background: transparent !important; font-family: var(--hd-font-editorial) !important; font-size: clamp(1.6rem, 3vw, 2.8rem) !important; }
.hd-page-search .ml-search-filter-card { border-top: 1px solid var(--hd-line); border-bottom: 1px solid var(--hd-line); padding-block: 1.25rem !important; }
.hd-page-search .ml-search-suggestions { border: 1px solid var(--hd-line); border-radius: 0; box-shadow: none; }

/* Product detail */
.hd-page-product .hd-pdp-shell { width: min(100%, 100rem) !important; }
.hd-page-product .hd-pdp-buybox { background: transparent; }
.hd-page-product .hd-pdp-actions #add-to-cart-btn,
.hd-page-product .hd-pdp-actions #ml-desktop-buy-now-btn { border-radius: 0 !important; }
.hd-page-product .hd-pdp-information details { background: transparent !important; }
.hd-page-product .hd-pdp-information summary { min-height: 4rem; border-top: 1px solid var(--hd-line); }
.hd-page-product .ml-related-card { border-radius: 0 !important; box-shadow: none !important; }

/* Cart and checkout */
.hd-page-cart .ml-theme-cart,
.hd-page-checkout .ml-theme-page { width: min(100%, var(--hd-content-max)) !important; }
.hd-page-cart [data-cart-item] { border-bottom: 1px solid var(--hd-line) !important; }
.hd-page-cart [data-cart-item] img { border-radius: 0 !important; }
.hd-page-cart .ml-theme-panel,
.hd-page-checkout .ml-theme-panel { border: 1px solid var(--hd-ink) !important; padding: clamp(1.25rem, 3vw, 2.25rem) !important; }
.hd-page-cart #cart-totals-container,
.hd-page-checkout #cart-totals-container { position: sticky; top: calc(var(--hd-header-total) + 1.25rem); }
.hd-page-cart :where(#coupon_code, input[name="coupon_code"]) { flex: 1; }
.hd-page-cart :where(button, a).remove-saved-btn { color: var(--hd-grey) !important; }
.hd-page-checkout .ml-theme-panel { border-color: var(--hd-line) !important; }
.hd-page-checkout .ml-theme-panel:last-child { border-color: var(--hd-ink) !important; }
.hd-page-checkout h2 { font-size: clamp(1.6rem, 3vw, 2.5rem) !important; letter-spacing: 0; }
.hd-page-checkout .secure-badge,
.hd-page-checkout [class*="secure"] { letter-spacing: 0.1em; text-transform: uppercase; }

/* Auth, account and wishlist */
.hd-page-auth .ml-theme-shell,
.hd-page-wishlist .ml-theme-shell { width: min(100%, 74rem) !important; }
.hd-page-auth .ml-auth-panel { max-width: 34rem; margin-inline: auto; }
.hd-page-auth .ml-auth-panel form { display: grid; gap: 1.2rem; }
.hd-page-auth .ml-auth-panel a { text-underline-offset: 0.25rem; }
.hd-page-account .ml-account-editorial-hero { border-bottom: 1px solid var(--hd-line); }
.hd-page-account .ml-account-nav-link { min-height: 3rem; display: flex; align-items: center; justify-content: space-between; }
.hd-page-account .ml-account-nav-link.is-active { background: var(--hd-ink); color: var(--hd-white) !important; padding-inline: 0.75rem; }
.hd-page-account .ml-account-order-card,
.hd-page-account .ml-account-panel,
.hd-page-account .ml-account-feature-card { border: 1px solid var(--hd-line) !important; border-radius: 0 !important; }
.hd-page-wishlist .ml-wishlist-card { overflow: hidden; }
.hd-page-wishlist .ml-wishlist-card .add-to-cart-from-wishlist-btn { border-radius: 0 !important; }

/* Support, editorial and legal routes */
.hd-page-content .ml-theme-page,
.hd-page-content .ml-legal-page,
.hd-page-story .ml-story-hero,
.hd-page-journal .ml-style-journal-hero { border-bottom: 1px solid var(--hd-line); }
.hd-page-content .ml-theme-title,
.hd-page-content h1 { margin-inline: auto; }
.hd-page-content :where(.ml-theme-panel, .ml-theme-panel-soft) { padding: clamp(1.25rem, 3vw, 2.5rem) !important; }
.hd-page-content .ml-legal-page .container { max-width: 64rem !important; }
.hd-page-content .ml-legal-page :where(h2, h3) { font-family: var(--hd-font-editorial); font-weight: 400; letter-spacing: 0; }
.hd-page-content .ml-legal-page :where(p, li) { max-width: 46rem; color: var(--hd-charcoal); font-size: 0.95rem; line-height: 1.85; }
.hd-page-content details { border-radius: 0 !important; box-shadow: none !important; }
.hd-page-content details summary { min-height: 3.5rem; display: flex; align-items: center; cursor: pointer; }
.hd-page-contact .ml-contact-panel { padding: clamp(1.25rem, 3vw, 3rem) !important; }
.hd-page-contact .ml-contact-item-icon { border-radius: 0 !important; }
.hd-page-faq .ml-theme-panel { padding: clamp(1.25rem, 4vw, 3.5rem) !important; }
.hd-page-faq details { border-top: 1px solid var(--hd-line) !important; border-left: 0 !important; border-right: 0 !important; border-bottom: 0 !important; background: transparent !important; padding-inline: 0 !important; }
.hd-page-faq details:last-child { border-bottom: 1px solid var(--hd-line) !important; }
.hd-page-order .track-hero { background: var(--hd-ink) !important; }
.hd-page-order .track-card { padding: clamp(1.25rem, 3vw, 2.5rem) !important; }
.hd-page-order input { min-height: 3.5rem !important; }
.hd-page-order .ml-theme-panel { border: 1px solid var(--hd-line) !important; }
.hd-page-order .ml-theme-panel h2 { font-size: clamp(1.5rem, 3vw, 2.5rem); letter-spacing: 0; }
.hd-page-utility .ml-theme-panel { max-width: 52rem; margin-inline: auto; border: 1px solid var(--hd-line) !important; }

/* Shared drawers, modals and mobile affordances */
.hd-overlay { background: rgba(10, 10, 10, 0.58); backdrop-filter: blur(0.3rem); }
.hd-cart-drawer,
.hd-menu,
#quick-add-content,
#quick-add-modal > div { border-radius: 0 !important; box-shadow: none !important; }
.hd-cart-drawer__close,
.hd-menu__close,
.ml-collection-filter-toggle { border-radius: 0 !important; }
.ml-quick-add-open #quick-add-content { border: 1px solid var(--hd-ink); }
.hd-header-wishlist { display: inline-flex; }

/* Retail-first header hierarchy. The category links are server-rendered from
   the catalogue and collapse into the full-screen menu below desktop. */
@media (min-width: 64rem) {
    .hd-header-shell { padding-inline: clamp(1.5rem, 3.2vw, 4rem); }
    .hd-desktop-nav { gap: clamp(0.9rem, 1.45vw, 1.85rem); }
    .hd-desktop-nav a { font-size: 0.58rem; letter-spacing: 0.135em; }
    .hd-desktop-nav--secondary { gap: clamp(0.85rem, 1.3vw, 1.55rem); }
    .hd-desktop-nav--secondary a:last-child { color: var(--hd-grey); }
    .hd-header-actions { gap: 0.1rem; }
    .hd-header-control { width: 2.55rem; min-width: 2.55rem; }
}

@keyframes hd-public-enter {
    from { opacity: 0; transform: translateY(0.6rem); }
    to { opacity: 1; transform: translateY(0); }
}

@media (min-width: 64rem) {
    .hd-page-products .ml-product-grid,
    .hd-page-search .ml-search-results-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
    .hd-page-account .ml-account-editorial-layout { grid-template-columns: minmax(14rem, 0.26fr) minmax(0, 1fr); }
}

@media (max-width: 63.99rem) {
    .hd-header-wishlist { display: none; }
    .hd-page-cart #cart-totals-container,
    .hd-page-checkout #cart-totals-container { position: static; }
}

@media (max-width: 47.99rem) {
    body.hd-site-body main :where(.ml-theme-page, .hd-public-page, .ml-legal-page) { padding-inline: 1.25rem !important; }
    .hd-page-products .ml-shop-hero { padding-inline: 1.25rem !important; }
    .hd-page-products .ml-collection-toolbar { top: var(--hd-header-total); }
    .hd-page-products .ml-category-chip + .ml-category-chip { margin-left: 0.9rem; }
    .hd-page-products .ml-product-grid,
    .hd-page-search .ml-search-results-grid { gap: 2.75rem 0.6rem !important; }
    .hd-page-search .ml-search-page-input { font-size: 1.55rem !important; }
    .hd-page-cart .ml-theme-panel,
    .hd-page-checkout .ml-theme-panel { padding: 1.25rem !important; }
    .hd-page-account .ml-account-editorial-layout { padding-inline: 0 !important; }
    .hd-page-contact .ml-contact-grid { gap: 2rem; }
    .hd-page-faq .ml-theme-panel { padding-inline: 1.25rem !important; }
}

@media (prefers-reduced-motion: reduce) {
    body.hd-site-body:not(.hd-page-home) > main.main-content-area > :where(section, article, .hd-public-page, .ml-theme-page, .ml-legal-page) { animation: none; }
}

/*
 * Luxury flagship refresh.
 * Loaded last to unify older Tailwind-heavy templates without changing backend
 * cart, checkout, account, CMS, or merchandising behaviour.
 */
:root {
    --hd-page-max: 118rem;
    --hd-content-max: 92rem;
    --hd-reading-max: 48rem;
    --hd-gutter: clamp(1.125rem, 3.6vw, 5rem);
    --hd-header-height: 5rem;
    --hd-announcement-height: 2.125rem;
    --hd-focus: var(--hd-oxblood);
}

body.hd-site-body {
    background: var(--hd-white);
    color: var(--hd-ink);
    font-family: var(--hd-font-sans);
    font-feature-settings: "kern" 1, "liga" 1;
    text-rendering: optimizeLegibility;
}

body.hd-site-body :where(h1, h2, h3, h4, h5, h6),
body.hd-site-body :where(.hd-heading, .ml-theme-title, .ml-shop-hero__title, .hd-pdp-title, .ml-story-hero-title, .ml-style-journal-title) {
    letter-spacing: 0 !important;
}

body.hd-site-body :where(.hd-eyebrow, label, summary, .ml-category-chip, .ml-search-category-chip, .hd-text-link, .hd-button, .hd-cta, button, .ml-theme-btn-primary) {
    letter-spacing: 0.08em !important;
}

body.hd-site-body main :where(p, li, dd, td) {
    color: inherit;
    line-height: 1.72;
}

body.hd-site-body :focus-visible {
    outline: 2px solid var(--hd-focus);
    outline-offset: 3px;
}

body.hd-site-body :where(.hd-button, .hd-cta, .ml-theme-btn-primary, .ml-account-primary-button, .ml-contact-submit, .ml-search-submit-btn, button[type="submit"]) {
    position: relative;
    overflow: hidden;
    border-radius: 0 !important;
    transition: color 220ms ease, background 220ms ease, border-color 220ms ease, transform 220ms ease !important;
}

body.hd-site-body :where(.hd-button, .hd-cta, .ml-theme-btn-primary, .ml-account-primary-button, .ml-contact-submit, .ml-search-submit-btn, button[type="submit"]):hover {
    transform: translateY(-1px);
}

#announcement-bar {
    background: var(--hd-ink) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    font-size: 0.62rem !important;
    font-weight: 600 !important;
}

#main-header {
    height: var(--hd-header-height);
    border-bottom-color: rgba(9, 9, 9, 0.12);
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(18px);
}

.hd-page-home:not(.hd-header-solid) #main-header {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.28), transparent);
}

.hd-header-shell {
    max-width: var(--hd-page-max);
    margin-inline: auto;
}

.hd-header-logo {
    height: clamp(2.45rem, 3.6vw, 3.25rem);
    max-width: clamp(7.5rem, 12vw, 11.5rem);
}

.hd-header-control {
    border: 1px solid transparent;
    transition: border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.hd-header-control:hover {
    border-color: currentColor;
    background: rgba(255, 255, 255, 0.08);
}

body:not(.hd-header-on-dark) .hd-header-control:hover {
    background: var(--hd-porcelain);
}

.hd-desktop-nav a {
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.hd-menu {
    background: var(--hd-porcelain);
}

.hd-menu__topbar,
.hd-menu__footer,
.hd-menu__links,
.hd-menu__links a,
.hd-menu__utility,
.hd-menu__utility a {
    border-color: rgba(9, 9, 9, 0.14);
}

.hd-menu__links a span {
    letter-spacing: 0 !important;
}

.hd-menu__links a:hover {
    color: var(--hd-oxblood);
}

.hd-menu__aside {
    background:
        linear-gradient(180deg, rgba(122, 16, 24, 0.05), transparent 42%),
        var(--hd-white);
}

.hd-cart-drawer,
#quick-add-content,
#quick-add-modal > div,
#welcome-offer-modal .mlwo-card,
#ml-builder-popup .ml-builder-popup-card {
    border-left: 1px solid var(--hd-line);
    background: var(--hd-porcelain) !important;
}

.hd-cart-drawer__header h2,
#welcome-offer-modal .mlwo-title,
.hd-builder-popup-title {
    letter-spacing: 0 !important;
}

.hd-campaign--hero {
    min-height: 42rem;
    height: min(100svh, 58rem);
}

.hd-campaign--secondary {
    min-height: min(82rem, 90dvh);
}

.hd-campaign,
.hd-campaign :where(h1, h2, h3, p, a, span, button),
.hd-preview-hero,
.hd-preview-hero :where(h1, h2, h3, p, a, span, button) {
    color: var(--hd-white) !important;
}

.hd-campaign .hd-button--light,
.hd-preview-hero .hd-button--light,
.hd-preview-hero .hd-preview-cta {
    background: var(--hd-white) !important;
    border-color: var(--hd-white) !important;
    color: var(--hd-ink) !important;
}

.hd-campaign .hd-button--light:hover,
.hd-preview-hero .hd-button--light:hover,
.hd-preview-hero .hd-preview-cta:hover {
    background: transparent !important;
    color: var(--hd-white) !important;
}

.hd-campaign__gradient {
    background:
        linear-gradient(to bottom, rgba(0, 0, 0, 0.42) 0, rgba(0, 0, 0, 0.04) 32%, transparent 48%),
        linear-gradient(to top, rgba(0, 0, 0, 0.68) 0, rgba(0, 0, 0, 0.24) 45%, transparent 70%);
}

.hd-campaign__content {
    width: min(100%, 86rem);
    padding-bottom: clamp(4.25rem, 8vh, 7rem);
}

.hd-campaign__content :where(h1, h2),
.hd-section-heading h2,
.hd-home-shelf__head h2,
.hd-manifesto-band h2,
.hd-community__copy h2,
.hd-newsletter-panel h2,
.ml-shop-hero__title,
.ml-search-title,
.hd-page-search h1:first-of-type,
.ml-theme-title,
.hd-pdp-title,
.ml-story-hero-title,
.ml-style-journal-title {
    font-family: var(--hd-font-editorial) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    line-height: 0.9 !important;
}

.hd-campaign__content :where(h1, h2) {
    max-width: 10ch;
    font-size: clamp(3.45rem, 8.2vw, 9.25rem);
    text-transform: none !important;
}

.hd-eyebrow,
.ml-shop-hero__eyebrow,
.ml-product-breadcrumb,
.ml-contact-page label,
.ml-legal-page label {
    color: var(--hd-grey);
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
}

.hd-campaign__story,
.ml-shop-hero__intro,
.ml-story-hero-lead,
.ml-style-journal-copy,
.hd-community__copy p:not(.hd-eyebrow),
.hd-newsletter-panel__inner > p:not(.hd-eyebrow) {
    max-width: 42rem;
    font-size: clamp(0.98rem, 1.25vw, 1.16rem);
    line-height: 1.75;
}

.hd-product-section,
.hd-home-shelf,
.ml-featured-products {
    background: var(--hd-white);
}

.hd-home-shelf--paper,
.hd-services,
.hd-manifesto-band,
.ml-shop-hero,
.hd-search-page,
.hd-page-search .ml-theme-page {
    background: var(--hd-porcelain) !important;
}

.hd-section-heading,
.hd-home-shelf__head,
.ml-shop-hero__panel {
    border-bottom: 1px solid var(--hd-ink);
    padding-bottom: clamp(1.25rem, 2.4vw, 2rem);
}

.hd-section-heading h2,
.hd-home-shelf__head h2,
.ml-shop-hero__title {
    text-transform: none !important;
}

.hd-text-link {
    display: inline-flex;
    min-height: 2.5rem;
    align-items: center;
    gap: 0.45rem;
    border-bottom: 1px solid currentColor;
    font-weight: 700;
}

.hd-text-link span {
    display: inline-grid;
    width: 1.35rem;
    height: 1.35rem;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 0.75rem;
}

.hd-home-product__media,
.ml-product-media,
.product-image-container,
.hd-pdp-media-frame,
.hd-pdp-thumbnail,
.ml-style-journal-card {
    background:
        linear-gradient(135deg, rgba(196, 169, 104, 0.08), transparent 46%),
        var(--hd-mist) !important;
}

.hd-home-product__label,
.ml-product-card-kicker,
.ml-product-badge {
    border: 1px solid rgba(9, 9, 9, 0.12);
    background: rgba(255, 255, 255, 0.92) !important;
    color: var(--hd-ink) !important;
    backdrop-filter: blur(8px);
}

.quick-add-btn,
.ml-product-card-add,
.hd-home-product__add {
    border-radius: 50% !important;
    box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.12) !important;
}

.hd-home-product__add {
    width: auto !important;
    min-width: 2.9rem;
    border-radius: 999px !important;
    padding-inline: 0.9rem !important;
}

.ml-product-name,
.hd-home-product h3 {
    font-size: 0.88rem !important;
    font-weight: 600 !important;
}

.ml-product-price,
.hd-home-product__price,
.hd-pdp-price {
    color: var(--hd-charcoal) !important;
    font-weight: 500 !important;
}

.ml-product-swatch,
.hd-page-products .ml-product-swatch,
.hd-page-search .ml-product-swatch {
    width: 1.1rem;
    height: 1.1rem;
    border-color: rgba(9, 9, 9, 0.22) !important;
}

.ml-shop-hero {
    border-bottom-color: var(--hd-ink);
}

.ml-shop-hero__meta {
    background: var(--hd-white);
    border: 1px solid var(--hd-line);
    padding: 1.25rem;
}

.ml-shop-hero__meta strong {
    color: var(--hd-oxblood);
}

.ml-collection-toolbar {
    background: rgba(251, 250, 247, 0.9) !important;
    backdrop-filter: blur(18px);
}

.ml-category-chip,
.ml-search-category-chip {
    border-right: 1px solid var(--hd-line) !important;
}

.ml-category-chip.is-active,
.ml-category-chip:hover,
.ml-search-category-chip:hover,
.hd-page-products .ml-category-chip.is-active,
.hd-page-products .ml-category-chip:hover {
    background: var(--hd-ink) !important;
    border-bottom-color: transparent !important;
    color: var(--hd-white) !important;
}

.hd-pdp-shell {
    background: var(--hd-white);
}

.hd-pdp-buybox {
    border-top: 2px solid var(--hd-ink) !important;
    padding-top: 1.4rem !important;
}

.hd-pdp-heading {
    border-bottom-color: var(--hd-ink);
}

.hd-pdp-options .ml-option-swatch:hover,
.hd-pdp-options .ml-option-swatch.is-selected,
.hd-pdp-options .ml-option-swatch[aria-pressed="true"],
.hd-pdp-actions #add-to-cart-btn:not([disabled]) {
    background: var(--hd-ink) !important;
    color: var(--hd-white) !important;
}

.ml-contact-page,
.ml-legal-page,
.hd-auth-page,
.hd-account-page,
.hd-wishlist-page,
.hd-page-cart > main.main-content-area > section,
.hd-page-checkout > main.main-content-area > section,
.hd-order-page,
.hd-message-page,
.ml-error-page {
    background: var(--hd-porcelain) !important;
}

.ml-contact-shell,
.ml-legal-page > .container,
.hd-auth-page > .container,
.hd-wishlist-page > .container,
.ml-theme-cart,
.hd-page-checkout .ml-theme-shell {
    background: transparent;
}

.ml-contact-grid {
    align-items: stretch;
}

.ml-contact-panel,
.ml-theme-panel,
.ml-theme-panel-soft,
.ml-auth-panel,
.ml-account-panel,
.ml-account-feature-card,
.ml-account-help-panel,
.track-card,
.cfy-panel,
.cfy-hero,
.cfy-info-card {
    border: 1px solid rgba(9, 9, 9, 0.14) !important;
    background: rgba(255, 255, 255, 0.82) !important;
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.055) !important;
}

.ml-contact-heading,
.ml-legal-page h2,
.ml-theme-panel h2,
.ml-account-panel h2,
.track-card h2 {
    font-family: var(--hd-font-editorial) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

.ml-contact-item {
    border-top: 1px solid var(--hd-line);
    padding-top: 1.25rem;
}

.ml-contact-item-icon,
.ml-contact-social-link,
.hd-footer-socials a {
    display: grid;
    width: 2.8rem;
    height: 2.8rem;
    place-items: center;
    border: 1px solid var(--hd-line) !important;
    border-radius: 50% !important;
}

.ml-contact-info-icon,
.ml-contact-social-icon {
    width: 1.1rem;
    height: 1.1rem;
}

.ml-contact-social-link:hover,
.hd-footer-socials a:hover {
    background: var(--hd-oxblood) !important;
    border-color: var(--hd-oxblood) !important;
    color: var(--hd-white) !important;
}

.ml-search-refine-form,
.hd-footer-newsletter__row,
.hd-newsletter-panel__form > div {
    border-bottom-width: 2px;
}

.hd-site-footer {
    background:
        linear-gradient(135deg, rgba(122, 16, 24, 0.28), transparent 38%),
        linear-gradient(315deg, rgba(15, 81, 50, 0.24), transparent 34%),
        var(--hd-ink);
}

.hd-footer-inner {
    padding-top: clamp(4.5rem, 8vw, 8.5rem);
}

.hd-footer-brand__tagline,
.hd-menu__statement {
    letter-spacing: 0 !important;
}

.hd-footer-nav summary,
.hd-footer-legal a,
.hd-footer-legal span {
    letter-spacing: 0.08em;
}

body.hd-site-body main :where(table) {
    width: 100%;
    border-collapse: collapse;
    background: var(--hd-white);
}

body.hd-site-body main :where(th, td) {
    border-bottom: 1px solid var(--hd-line);
    padding: 0.95rem;
}

body.hd-site-body main :where(th) {
    color: var(--hd-grey);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-align: left;
    text-transform: uppercase;
}

@media (min-width: 64rem) {
    .hd-page-products .ml-product-grid,
    .hd-page-search .ml-search-results-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .ml-contact-grid {
        grid-template-columns: minmax(22rem, 0.78fr) minmax(0, 1.22fr);
    }
}

@media (max-width: 63.99rem) {
    :root {
        --hd-header-height: 4.35rem;
    }

    .hd-header-brand {
        max-width: 8.5rem;
    }

    .hd-campaign--hero {
        height: 100svh;
        min-height: 40rem;
    }
}

@media (max-width: 47.99rem) {
    :root {
        --hd-gutter: 1rem;
    }

    .hd-preview-header + main .hd-campaign--hero {
        height: calc(100svh - var(--hd-header-height) - var(--hd-announcement-height));
        min-height: 34rem;
    }

    .hd-campaign__content {
        gap: 0.75rem;
        padding-bottom: max(1.5rem, env(safe-area-inset-bottom));
    }

    .hd-campaign__content :where(h1, h2),
    .ml-shop-hero__title,
    .ml-theme-title,
    .ml-search-title,
    .hd-page-search h1:first-of-type {
        font-size: clamp(3.05rem, 15vw, 5.15rem) !important;
    }

    .hd-section-heading,
    .hd-home-shelf__head,
    .ml-shop-hero__panel {
        align-items: flex-start;
    }

    .ml-shop-hero__meta {
        width: 100%;
    }

    .ml-contact-panel,
    .ml-theme-panel,
    .ml-theme-panel-soft,
    .ml-auth-panel,
    .ml-account-panel,
    .track-card {
        box-shadow: none !important;
    }

    .hd-home-product__add > span:last-child {
        display: none;
    }
}

@media (max-height: 46rem) and (max-width: 47.99rem) {
    .hd-campaign__content :where(h1, h2) {
        font-size: clamp(2.65rem, 13vw, 4.2rem) !important;
    }
}

/*
 * GALXBOY-inspired premium streetwear refresh.
 * Presentation-only: this overrides legacy visual styling while preserving
 * server-rendered products, cart, checkout, account, SEO, and analytics logic.
 */
:root {
    --hd-page-max: 106rem;
    --hd-content-max: 100rem;
    --hd-reading-max: 62rem;
    --hd-gutter: clamp(0.875rem, 2vw, 2.5rem);
    --hd-header-height: 4.25rem;
    --hd-announcement-height: 1.625rem;
    --hd-focus: #000000;
}

body.hd-site-body {
    background: #ffffff !important;
    color: #000000 !important;
    font-family: var(--hd-font-sans) !important;
    font-size: 0.875rem;
    letter-spacing: 0;
}

body.hd-site-body :where(h1, h2, h3, h4, h5, h6),
body.hd-site-body :where(.ml-theme-title, .ml-shop-hero__title, .hd-pdp-title, .ml-story-hero-title, .ml-style-journal-title) {
    font-family: var(--hd-font-sans) !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    line-height: 0.98 !important;
    text-transform: uppercase !important;
}

body.hd-site-body :where(.hd-eyebrow, label, summary, .hd-text-link, .hd-button, .hd-cta, button, .ml-theme-btn-primary, .ml-account-primary-button, .ml-contact-submit, .ml-search-submit-btn, .ml-category-chip, .ml-search-category-chip) {
    font-size: 0.65rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

body.hd-site-body main :where(p, li, td, dd) {
    color: #333333;
    font-size: 0.875rem;
    line-height: 1.68;
}

body.hd-site-body :focus-visible {
    outline: 1px solid #000000 !important;
    outline-offset: 3px;
}

#announcement-bar {
    min-height: var(--hd-announcement-height);
    border: 0 !important;
    background: #666666 !important;
    color: #ffffff !important;
    font-size: 0.56rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
}

#announcement-bar .hd-announcement-control {
    width: 2.5rem;
    color: rgba(255, 255, 255, 0.74);
}

#main-header,
.hd-page-home:not(.hd-header-solid) #main-header {
    height: var(--hd-header-height) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16) !important;
    background: #000000 !important;
    color: #ffffff !important;
    backdrop-filter: none !important;
}

.hd-header-shell {
    max-width: none !important;
    padding-inline: var(--hd-gutter) !important;
    gap: clamp(1rem, 2vw, 2rem);
}

.hd-header-brand {
    position: static !important;
    z-index: 1;
    order: 0;
    flex: 0 0 auto;
    transform: none !important;
}

.hd-header-brand a {
    display: flex;
    align-items: center;
}

.hd-header-logo {
    height: clamp(1.9rem, 2.6vw, 2.55rem) !important;
    max-width: clamp(6.25rem, 9vw, 8.5rem) !important;
}

.hd-header-logo--dark { display: none !important; }
.hd-header-logo--light { display: block !important; }

.hd-header-shell > .hd-desktop-nav:first-of-type {
    order: 1;
    margin-right: 0 !important;
}

.hd-desktop-nav {
    gap: clamp(1rem, 1.65vw, 2rem) !important;
}

.hd-desktop-nav--secondary {
    order: 2;
    margin-left: auto !important;
}

.hd-desktop-nav a {
    color: #ffffff !important;
    font-size: 0.62rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    opacity: 0.88;
}

.hd-desktop-nav a:hover,
.hd-desktop-nav a:focus-visible {
    opacity: 1;
}

.hd-desktop-nav a::after {
    bottom: 0.85rem;
}

.hd-header-menu {
    order: -1;
}

.hd-header-actions {
    order: 3;
    gap: 0 !important;
    margin-left: 0 !important;
}

.hd-header-control {
    width: 2.4rem !important;
    height: 2.4rem !important;
    min-width: 2.4rem !important;
    border: 0 !important;
    color: #ffffff !important;
}

.hd-header-control svg {
    width: 1.08rem;
    height: 1.08rem;
}

.hd-header-control:hover,
body:not(.hd-header-on-dark) .hd-header-control:hover {
    background: transparent !important;
    color: #ffffff !important;
    opacity: 0.72;
}

.hd-header-count {
    top: 0.18rem;
    right: 0.15rem;
    min-width: 0.9rem;
    height: 0.9rem;
    border: 1px solid #ffffff;
    background: #ffffff;
    color: #000000;
    font-size: 0.5rem;
}

.hd-menu {
    background: #000000 !important;
    color: #ffffff !important;
}

.hd-menu__topbar,
.hd-menu__footer,
.hd-menu__links,
.hd-menu__links a,
.hd-menu__utility,
.hd-menu__utility a,
.hd-menu__aside {
    border-color: rgba(255, 255, 255, 0.16) !important;
}

.hd-menu__brand img {
    filter: invert(1) brightness(3);
}

.hd-menu__close,
.hd-menu__search button {
    color: #ffffff !important;
}

.hd-menu__eyebrow,
.hd-menu__search label,
.hd-menu__links a small,
.hd-menu__footer,
.hd-menu__utility a {
    color: rgba(255, 255, 255, 0.62) !important;
}

.hd-menu__links a span,
.hd-menu__statement {
    color: #ffffff !important;
    font-family: var(--hd-font-sans) !important;
    font-weight: 400 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase;
}

.hd-menu__links a:hover,
.hd-menu__links a:focus-visible,
.hd-menu__utility a:hover {
    color: #ffffff !important;
    opacity: 1;
}

.hd-menu__aside {
    background: #050505 !important;
}

.hd-menu__search > div {
    border-color: rgba(255, 255, 255, 0.72) !important;
}

.hd-menu__search input {
    color: #ffffff !important;
}

.hd-menu__search input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.hd-overlay {
    background: rgba(0, 0, 0, 0.62) !important;
    backdrop-filter: none !important;
}

.hd-cart-drawer,
#quick-add-content,
#quick-add-modal > div,
#welcome-offer-modal .mlwo-card,
#ml-builder-popup .ml-builder-popup-card {
    background: #ffffff !important;
    border-left: 1px solid #e2e2e2 !important;
    box-shadow: none !important;
}

.hd-cart-drawer__header,
.hd-cart-drawer__footer {
    border-color: #e2e2e2 !important;
}

.hd-cart-drawer__header h2,
.hd-cart-drawer__subtotal strong {
    font-size: 0.85rem !important;
    letter-spacing: 0.14em !important;
}

.hd-cart-drawer__checkout,
.hd-cart-drawer__empty a,
.hd-builder-popup-cta {
    border: 1px solid #000000 !important;
    background: #000000 !important;
    color: #ffffff !important;
    border-radius: 0 !important;
}

.hd-cart-drawer__checkout:hover,
.hd-cart-drawer__empty a:hover,
.hd-builder-popup-cta:hover {
    background: #ffffff !important;
    color: #000000 !important;
}

.hd-campaign {
    background: #000000 !important;
}

.hd-campaign--hero {
    height: clamp(32rem, 76vh, 42.5rem) !important;
    min-height: 32rem !important;
}

.hd-campaign--secondary,
.hd-community {
    min-height: clamp(28rem, 64vh, 40rem) !important;
}

.hd-campaign__media {
    background: #000000 !important;
}

.hd-campaign__media :where(img, video) {
    object-fit: cover !important;
    object-position: center !important;
    opacity: 0.82;
}

.hd-campaign__gradient {
    background: transparent !important;
}

.hd-campaign__content {
    width: min(100%, 94rem) !important;
    align-self: center !important;
    padding: calc(var(--hd-header-total) + 2rem) var(--hd-gutter) 3.5rem !important;
    gap: 1rem !important;
}

.hd-campaign--secondary .hd-campaign__content {
    width: min(100% - 2rem, 31rem) !important;
    margin-inline: var(--hd-gutter);
    align-self: end !important;
    justify-self: start;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(0, 0, 0, 0.72);
    padding: clamp(1.25rem, 3vw, 2rem) !important;
}

.hd-campaign__content :where(h1, h2) {
    max-width: 14ch !important;
    color: #ffffff !important;
    font-size: clamp(2.15rem, 4.5vw, 4.85rem) !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    line-height: 1 !important;
    text-shadow: none !important;
}

.hd-campaign__content .hd-eyebrow {
    color: rgba(255, 255, 255, 0.78) !important;
}

.hd-campaign__story {
    color: rgba(255, 255, 255, 0.78) !important;
}

.hd-button,
.hd-cta,
.ml-theme-btn-primary,
.ml-account-primary-button,
.ml-contact-submit,
.ml-search-submit-btn,
body.hd-site-body main button[type="submit"] {
    min-height: 2.875rem !important;
    border: 1px solid #000000 !important;
    border-radius: 0 !important;
    background: #000000 !important;
    color: #ffffff !important;
    padding: 0.85rem 1.35rem !important;
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    transform: none !important;
}

.hd-button--light,
.hd-campaign .hd-button--light,
.hd-newsletter-panel .hd-button,
.hd-community .hd-button {
    border-color: #ffffff !important;
    background: #ffffff !important;
    color: #000000 !important;
}

.hd-button:hover,
.hd-cta:hover,
.ml-theme-btn-primary:hover,
.ml-account-primary-button:hover,
.ml-contact-submit:hover,
.ml-search-submit-btn:hover,
body.hd-site-body main button[type="submit"]:hover {
    background: #ffffff !important;
    color: #000000 !important;
}

.hd-button--light:hover,
.hd-campaign .hd-button--light:hover,
.hd-newsletter-panel .hd-button:hover,
.hd-community .hd-button:hover {
    background: transparent !important;
    color: #ffffff !important;
}

.hd-product-section,
.hd-home-shelf,
.ml-featured-products,
.hd-services,
.hd-manifesto-band,
.ml-shop-hero,
.hd-search-page,
.hd-page-search .ml-theme-page,
.ml-contact-page,
.ml-legal-page,
.hd-auth-page,
.hd-account-page,
.hd-wishlist-page,
.hd-page-cart > main.main-content-area > section,
.hd-page-checkout > main.main-content-area > section,
.hd-order-page,
.hd-message-page,
.ml-error-page {
    background: #ffffff !important;
}

.hd-product-section,
.hd-home-shelf {
    padding: clamp(4rem, 7vw, 7rem) var(--hd-gutter) !important;
}

.hd-section-heading,
.hd-home-shelf__head,
.ml-shop-hero__panel {
    width: min(100%, var(--hd-content-max));
    margin-inline: auto;
    border: 0 !important;
    padding-bottom: clamp(1.4rem, 2.6vw, 2.5rem) !important;
    text-align: center;
}

.hd-section-heading {
    display: grid !important;
    justify-items: center;
    gap: 1rem;
}

.hd-section-heading h2,
.hd-home-shelf__head h2,
.ml-shop-hero__title,
.ml-search-title,
.hd-page-search h1:first-of-type,
.ml-theme-title {
    max-width: none !important;
    font-size: clamp(1.55rem, 3vw, 3.15rem) !important;
    font-weight: 400 !important;
    letter-spacing: 0.16em !important;
    line-height: 1.05 !important;
    text-align: center;
}

.hd-home-arrival-tabs,
.hd-category-tabs {
    display: flex;
    width: min(100%, var(--hd-content-max));
    margin: 0 auto clamp(2rem, 4vw, 3.5rem);
    align-items: center;
    justify-content: center;
    gap: clamp(1.35rem, 4vw, 4rem);
    overflow-x: auto;
    border: 0 !important;
    padding: 0 0 0.25rem;
    scrollbar-width: none;
}

.hd-home-arrival-tabs::-webkit-scrollbar,
.hd-category-tabs::-webkit-scrollbar {
    display: none;
}

.hd-home-arrival-tabs a,
.hd-category-tabs a,
.hd-category-tabs__label {
    flex: 0 0 auto;
    border: 0 !important;
    border-bottom: 1px solid transparent !important;
    background: transparent !important;
    color: #777777 !important;
    padding: 0.2rem 0 0.55rem !important;
    font-size: clamp(0.95rem, 1.55vw, 1.35rem) !important;
    font-weight: 400 !important;
    letter-spacing: 0.22em !important;
    line-height: 1.15 !important;
    text-decoration: none;
    text-transform: uppercase !important;
}

.hd-category-tabs__label {
    display: none;
}

.hd-home-arrival-tabs a.is-active,
.hd-home-arrival-tabs a:hover,
.hd-category-tabs a.is-active,
.hd-category-tabs a:hover {
    border-bottom-color: #000000 !important;
    color: #000000 !important;
}

.hd-product-rail,
.hd-featured-grid,
.hd-home-shelf__grid,
.ml-product-grid,
.ml-search-results-grid,
.hd-page-wishlist .grid {
    width: min(100%, var(--hd-content-max));
    margin-inline: auto;
    gap: clamp(1.5rem, 2vw, 1.75rem) !important;
}

.hd-product-rail,
.hd-featured-grid,
.hd-home-shelf__grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    overflow: visible !important;
    padding-inline: 0 !important;
}

.hd-product-rail__hint {
    display: none !important;
}

.hd-home-product,
.ml-product-card,
.hd-page-wishlist .ml-wishlist-card,
.ml-related-card {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    width: 100% !important;
}

.hd-home-product__media,
.ml-product-media,
.product-image-container,
.hd-pdp-media-frame,
.hd-pdp-thumbnail,
.ml-wishlist-card > div:first-child {
    aspect-ratio: 1 / 1.12;
    border: 0 !important;
    border-radius: 0 !important;
    background: #e7e9eb !important;
    box-shadow: none !important;
    overflow: hidden;
}

.hd-home-product__media :where(img),
.ml-product-media :where(img),
.product-image-container :where(img),
.hd-pdp-media-frame :where(img),
.ml-wishlist-card img {
    width: 100%;
    height: 100%;
    object-fit: contain !important;
    padding: clamp(0.8rem, 2vw, 1.6rem);
    mix-blend-mode: normal !important;
    transition: transform 220ms ease, opacity 220ms ease;
}

.hd-home-product:hover .hd-home-product__media img,
.ml-product-card:hover .ml-product-media img {
    transform: scale(1.018);
}

.hd-home-product__label,
.ml-product-card-kicker,
.ml-product-badge,
.ml-sale-badge {
    top: 0.7rem !important;
    left: 0.7rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #000000 !important;
    color: #ffffff !important;
    padding: 0.32rem 0.48rem !important;
    font-size: 0.52rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
}

.hd-home-product__label.is-muted,
.ml-product-badge--sold-out {
    background: #000000 !important;
}

.ml-product-badge--sale,
.ml-sale-badge {
    background: #b01822 !important;
}

.quick-add-btn,
.ml-product-card-add,
.hd-home-product__add {
    right: 0.65rem !important;
    bottom: 0.65rem !important;
    min-width: 2.25rem !important;
    width: 2.25rem !important;
    height: 2.25rem !important;
    border: 1px solid #000000 !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    color: #000000 !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.hd-home-product__add > span:last-child,
.ml-product-card-add > span:not(:first-child) {
    display: none !important;
}

.hd-home-product__meta,
.ml-product-meta {
    padding: 0.82rem 0 0 !important;
    text-align: center;
}

.hd-home-product__category,
.ml-product-category {
    color: #777777 !important;
    font-size: 0.58rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
}

.hd-home-product h3,
.ml-product-name,
.ml-product-title {
    margin: 0.25rem 0 0 !important;
    color: #000000 !important;
    font-size: 0.76rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    line-height: 1.35 !important;
    text-align: center;
    text-transform: uppercase !important;
}

.hd-home-product__price,
.ml-product-price,
.hd-pdp-price {
    color: #000000 !important;
    font-size: 0.74rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.04em !important;
    text-align: center;
}

.hd-home-product__price s,
.ml-product-price s,
.price-compare {
    color: #777777 !important;
}

.sale-price,
.ml-product-price .text-red-600,
.hd-home-product__price .text-red-600 {
    color: #b01822 !important;
}

.ml-product-card-swatches,
.hd-product-swatches {
    justify-content: center;
}

.ml-product-swatch,
.hd-page-products .ml-product-swatch,
.hd-page-search .ml-product-swatch {
    width: 0.65rem !important;
    height: 0.65rem !important;
    border: 1px solid #c9c9c9 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.ml-product-swatch.is-active,
.hd-page-products .ml-product-swatch.is-active,
.hd-page-search .ml-product-swatch.is-active {
    outline: 1px solid #000000;
    outline-offset: 2px;
}

.hd-category-editorial {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0.35rem !important;
    background: #000000 !important;
    padding: clamp(0.75rem, 1.5vw, 1.25rem) var(--hd-gutter) !important;
}

.hd-category-tile {
    background: #111111 !important;
}

.hd-category-tile__media {
    aspect-ratio: 3 / 4.15 !important;
}

.hd-category-tile__caption {
    right: 0.9rem !important;
    bottom: 0.9rem !important;
    left: 0.9rem !important;
    font-family: var(--hd-font-sans) !important;
    font-size: clamp(0.78rem, 1.2vw, 1rem) !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
}

.hd-manifesto-band {
    border-block: 1px solid #e2e2e2;
    padding: clamp(4rem, 7vw, 7rem) var(--hd-gutter) !important;
    text-align: center;
}

.hd-manifesto-band h2 {
    max-width: 18ch !important;
    margin-inline: auto !important;
    font-size: clamp(1.8rem, 3.8vw, 4rem) !important;
}

.hd-community {
    position: relative;
    display: grid;
    min-height: clamp(30rem, 68vh, 44rem);
    background: #000000 !important;
    color: #ffffff !important;
    isolation: isolate;
    overflow: hidden;
}

.hd-community__visual {
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: 0.68;
    pointer-events: none;
}

.hd-community__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hd-community__visual span {
    display: none;
}

.hd-community__copy {
    position: relative;
    z-index: 1;
    align-self: end;
    justify-self: center;
    width: min(100% - 2rem, 42rem);
    margin: 0 0 clamp(2rem, 5vw, 4rem);
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: rgba(0, 0, 0, 0.72);
    padding: clamp(1.25rem, 3vw, 2.25rem);
    text-align: center;
}

.hd-community__copy :where(h2, p) {
    color: #ffffff !important;
}

.hd-community__copy h2 {
    font-size: clamp(1.55rem, 3vw, 3.4rem) !important;
}

.hd-services {
    border-top: 1px solid #e2e2e2;
    padding: clamp(4rem, 7vw, 7rem) var(--hd-gutter) !important;
}

.hd-services__inner {
    width: min(100%, var(--hd-content-max));
    gap: clamp(2rem, 5vw, 5rem) !important;
}

.hd-services h2 {
    max-width: none !important;
    font-size: clamp(1.5rem, 3vw, 3rem) !important;
}

.hd-services__links a {
    min-height: 3.8rem;
    color: #000000 !important;
    font-size: 0.68rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
}

.ml-shop-hero {
    padding: clamp(3rem, 6vw, 6rem) var(--hd-gutter) !important;
    border-bottom: 1px solid #e2e2e2 !important;
}

.ml-shop-hero__panel,
.ml-shop-hero__meta {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.ml-collection-toolbar {
    top: var(--hd-header-total) !important;
    border-block: 1px solid #e2e2e2 !important;
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: none !important;
}

.ml-collection-toolbar__bar,
.ml-collection-toolbar__inner {
    min-height: 3.25rem;
}

.ml-theme-select,
.ml-collection-filter-toggle {
    min-height: 2.5rem !important;
    border: 0 !important;
    background: transparent !important;
    color: #000000 !important;
}

.ml-category-chip,
.ml-search-category-chip {
    border: 0 !important;
    border-bottom: 1px solid transparent !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #777777 !important;
    padding: 0.5rem 0 !important;
}

.ml-category-chip.is-active,
.ml-category-chip:hover,
.ml-search-category-chip:hover,
.hd-page-products .ml-category-chip.is-active,
.hd-page-products .ml-category-chip:hover {
    border-bottom-color: #000000 !important;
    background: transparent !important;
    color: #000000 !important;
}

.hd-pdp-shell {
    width: min(100%, var(--hd-content-max)) !important;
    padding-inline: var(--hd-gutter) !important;
}

.hd-pdp-buybox {
    border-top: 1px solid #000000 !important;
    background: #ffffff !important;
}

.hd-pdp-title {
    font-size: clamp(1.35rem, 2vw, 2rem) !important;
    letter-spacing: 0.12em !important;
}

.hd-page-search h1,
.hd-page-contact h1,
.hd-page-faq h1,
.hd-page-content h1,
.ml-legal-page h1,
.hd-public-page h1,
.ml-error-page h1 {
    font-family: var(--hd-font-sans) !important;
    font-weight: 500 !important;
    letter-spacing: 0.12em !important;
    line-height: 1.05 !important;
    text-transform: uppercase !important;
}

.hd-pdp-actions #add-to-cart-btn,
.hd-pdp-actions #ml-desktop-buy-now-btn {
    min-height: 3.25rem !important;
}

.hd-pdp-options :where(button, .ml-option-swatch),
.size-option,
.color-option {
    border-radius: 0 !important;
}

.hd-pdp-information summary {
    min-height: 3.75rem !important;
    border-top: 1px solid #e2e2e2 !important;
}

.ml-contact-panel,
.ml-theme-panel,
.ml-theme-panel-soft,
.ml-auth-panel,
.ml-account-panel,
.ml-account-feature-card,
.ml-account-help-panel,
.track-card,
.cfy-panel,
.cfy-hero,
.cfy-info-card,
.ml-error-panel {
    border: 1px solid #e2e2e2 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.hd-site-body main :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    min-height: 3.125rem !important;
    border-color: #d8d8d8 !important;
    background: #ffffff !important;
    color: #000000 !important;
    font-family: var(--hd-font-sans) !important;
}

body.hd-site-body main :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus {
    border-color: #000000 !important;
    box-shadow: 0 0 0 1px #000000 !important;
}

.ml-contact-heading,
.ml-legal-page h2,
.ml-theme-panel h2,
.ml-account-panel h2,
.track-card h2 {
    font-family: var(--hd-font-sans) !important;
    font-weight: 500 !important;
    letter-spacing: 0.12em !important;
}

.ml-contact-item-icon,
.ml-contact-social-link,
.hd-footer-socials a {
    width: 2.25rem !important;
    height: 2.25rem !important;
    border-radius: 0 !important;
}

.hd-site-footer {
    background: #000000 !important;
    color: #ffffff !important;
}

.hd-footer-inner {
    width: min(100%, var(--hd-content-max));
    padding: clamp(4rem, 8vw, 7rem) var(--hd-gutter) clamp(1.25rem, 3vw, 2rem) !important;
}

.hd-footer-top {
    display: grid !important;
    grid-template-columns: minmax(16rem, 1.05fr) minmax(0, 1.95fr);
    gap: clamp(2rem, 5vw, 6rem) !important;
}

.hd-footer-brand__logo {
    max-width: 8.5rem;
}

.hd-footer-brand__tagline {
    max-width: 22rem !important;
    color: #ffffff !important;
    font-family: var(--hd-font-sans) !important;
    font-size: clamp(1.2rem, 2vw, 2rem) !important;
    font-weight: 400 !important;
    letter-spacing: 0.08em !important;
    line-height: 1.12 !important;
    text-transform: uppercase;
}

.hd-footer-newsletter label,
.hd-footer-nav summary,
.hd-footer-legal a,
.hd-footer-legal span {
    color: rgba(255, 255, 255, 0.74) !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase;
}

.hd-footer-newsletter__row {
    border-color: rgba(255, 255, 255, 0.45) !important;
}

.hd-footer-newsletter input {
    color: #ffffff !important;
}

.hd-footer-newsletter input::placeholder {
    color: rgba(255, 255, 255, 0.48);
}

.hd-footer-newsletter button {
    color: #ffffff !important;
}

.hd-footer-nav {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1.5rem, 4vw, 4rem);
}

.hd-footer-nav details {
    border: 0 !important;
}

.hd-footer-nav details[open] summary,
.hd-footer-nav summary {
    border: 0 !important;
    padding-top: 0 !important;
}

.hd-footer-nav ul,
.hd-footer-contact {
    margin-top: 1.15rem;
}

.hd-footer-nav a,
.hd-footer-contact p {
    color: rgba(255, 255, 255, 0.68) !important;
    font-size: 0.72rem !important;
    line-height: 1.8;
}

.hd-footer-bottom {
    margin-top: clamp(3rem, 6vw, 6rem);
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    padding-top: 1.25rem;
}

.hd-footer-payments {
    filter: grayscale(1);
    opacity: 0.72;
}

.hd-page-products .ml-product-media,
.hd-page-search .ml-product-media,
.hd-page-wishlist .ml-wishlist-card > div:first-child,
.hd-page-product .hd-pdp-media-frame,
.hd-page-product .hd-pdp-thumbnail,
.hd-page-product .ml-related-card .product-image-container,
.ml-product-card .product-image-container {
    background: #e7e9eb !important;
}

.hd-page-products .ml-product-media :where(img),
.hd-page-search .ml-product-media :where(img),
.hd-page-wishlist .ml-wishlist-card img,
.hd-page-product .ml-related-card .product-image-container :where(img),
.ml-product-card .product-image-container :where(img) {
    object-fit: contain !important;
    padding: clamp(0.7rem, 1.55vw, 1.35rem) !important;
    mix-blend-mode: normal !important;
}

.hd-page-product .ml-pdp-recommended {
    width: min(100%, var(--hd-content-max));
    margin: clamp(4rem, 7vw, 6rem) auto 0 !important;
    padding-inline: var(--hd-gutter);
}

.hd-page-product .ml-pdp-recommended__head {
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
    text-align: left;
}

.hd-page-product .ml-pdp-recommended__head h2 {
    font-family: var(--hd-font-sans) !important;
    font-size: clamp(1.2rem, 2vw, 2rem) !important;
    font-weight: 500 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
}

.hd-page-product .ml-related-carousel,
.hd-page-product .ml-related-carousel__track {
    width: 100% !important;
}

.hd-page-product .ml-related-carousel__track {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(1.5rem, 2vw, 1.75rem) !important;
    overflow: visible !important;
}

.hd-page-product .ml-related-card {
    min-width: 0 !important;
}

.hd-page-product .ml-related-card__meta {
    margin-top: 0.8rem !important;
    text-align: center !important;
}

.hd-page-product .ml-related-card__tagline {
    color: #777777 !important;
    font-size: 0.55rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
}

.hd-page-product .ml-related-card h3 {
    color: #000000 !important;
    font-size: 0.72rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
}

.hd-page-product .ml-related-card p {
    justify-content: center;
    color: #000000 !important;
    font-size: 0.7rem !important;
    font-weight: 400 !important;
}

#cookie-consent.ml-cookie-consent {
    right: auto !important;
    bottom: max(0.85rem, env(safe-area-inset-bottom)) !important;
    left: 0.85rem !important;
    width: min(40rem, calc(100vw - 1.7rem)) !important;
    border: 1px solid #000000 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

#cookie-consent .ml-cookie-consent__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 1rem !important;
    padding: 1rem !important;
}

#cookie-consent .ml-cookie-consent__kicker {
    margin: 0 0 0.35rem !important;
    color: #777777 !important;
    font-size: 0.52rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
}

#cookie-consent .ml-cookie-consent__title {
    margin: 0 0 0.45rem !important;
    color: #000000 !important;
    font-family: var(--hd-font-sans) !important;
    font-size: clamp(1rem, 2vw, 1.45rem) !important;
    font-weight: 500 !important;
    letter-spacing: 0.12em !important;
    line-height: 1.05 !important;
    text-transform: uppercase !important;
}

#cookie-consent .ml-cookie-consent__text {
    max-width: 31rem !important;
    margin: 0 !important;
    color: #333333 !important;
    font-size: 0.68rem !important;
    line-height: 1.55 !important;
}

#cookie-consent .ml-cookie-consent__actions {
    display: flex !important;
    align-items: end !important;
    gap: 0.45rem !important;
}

#cookie-consent .ml-cookie-consent__action {
    min-height: 2.35rem !important;
    border: 1px solid #000000 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #000000 !important;
    padding: 0.65rem 0.9rem !important;
    font-size: 0.55rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
}

#cookie-consent .ml-cookie-consent__action--primary {
    background: #000000 !important;
    color: #ffffff !important;
}

@media (min-width: 64rem) {
    .hd-header-menu {
        display: none !important;
    }

    .hd-page-products .ml-product-grid,
    .hd-page-search .ml-search-results-grid,
    .hd-page-wishlist .grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .hd-pdp-shell {
        grid-template-columns: minmax(0, 1.7fr) minmax(22rem, 0.9fr) !important;
        gap: clamp(2rem, 4vw, 4rem) !important;
    }

    .hd-pdp-buybox {
        position: sticky;
        top: calc(var(--hd-header-total) + 1.5rem);
        align-self: start;
    }
}

@media (max-width: 74rem) {
    .hd-desktop-nav--secondary {
        display: none !important;
    }
}

@media (max-width: 63.99rem) {
    :root {
        --hd-header-height: 3.75rem;
        --hd-announcement-height: 1.55rem;
        --hd-gutter: clamp(0.75rem, 3.5vw, 1rem);
    }

    .hd-header-shell {
        justify-content: space-between;
        gap: 0.4rem;
    }

    .hd-header-menu {
        display: inline-flex !important;
    }

    .hd-header-menu span,
    .hd-header-account,
    .hd-header-wishlist {
        display: none !important;
    }

    .hd-header-brand {
        position: absolute !important;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%) !important;
    }

    .hd-header-logo {
        height: 2.15rem !important;
        max-width: 7rem !important;
    }

    .hd-campaign--hero {
        height: clamp(30rem, 76svh, 38rem) !important;
        min-height: 30rem !important;
    }

    .hd-campaign__content {
        align-self: end !important;
        padding: calc(var(--hd-header-total) + 1.5rem) 1rem 2rem !important;
    }

    .hd-campaign__content :where(h1, h2) {
        font-size: clamp(1.85rem, 9vw, 3.2rem) !important;
        letter-spacing: 0.07em !important;
    }

    .hd-product-section,
    .hd-home-shelf {
        padding-block: clamp(3rem, 9vw, 4.5rem) !important;
    }

    .hd-product-rail,
    .hd-featured-grid,
    .hd-home-shelf__grid,
    .ml-product-grid,
    .ml-search-results-grid,
    .hd-page-product .ml-related-carousel__track,
    .hd-page-wishlist .grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 1.75rem 0.65rem !important;
    }

    .hd-home-product__media,
    .ml-product-media,
    .product-image-container {
        aspect-ratio: 1 / 1.18;
    }

    .hd-home-product__media img,
    .ml-product-media img,
    .product-image-container img {
        padding: 0.7rem;
    }

    .hd-home-product h3,
    .ml-product-name,
    .ml-product-title,
    .hd-home-product__price,
    .ml-product-price {
        font-size: 0.66rem !important;
    }

    .hd-home-arrival-tabs,
    .hd-category-tabs {
        justify-content: flex-start;
        gap: 1.6rem;
        margin-bottom: 1.6rem;
        padding-inline: 0;
    }

    .hd-home-arrival-tabs a,
    .hd-category-tabs a {
        font-size: 0.9rem !important;
    }

    .hd-category-editorial {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.35rem !important;
        padding: 0.75rem !important;
    }

    .hd-community__copy {
        width: calc(100% - 1.5rem);
    }

    .hd-footer-top,
    .hd-footer-nav {
        grid-template-columns: 1fr !important;
    }

    .hd-footer-nav details {
        border-top: 1px solid rgba(255, 255, 255, 0.16) !important;
        padding-top: 1rem;
    }

    #cookie-consent.ml-cookie-consent {
        right: 0.75rem !important;
        left: 0.75rem !important;
        width: auto !important;
    }

    #cookie-consent .ml-cookie-consent__inner {
        grid-template-columns: 1fr !important;
        gap: 0.8rem !important;
        padding: 0.85rem !important;
    }

    #cookie-consent .ml-cookie-consent__actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        align-items: stretch !important;
    }

    #cookie-consent .ml-cookie-consent__action {
        width: 100%;
    }
}

@media (max-width: 23rem) {
    .hd-header-control {
        width: 2.1rem !important;
        min-width: 2.1rem !important;
    }

    .hd-home-product h3,
    .ml-product-name,
    .ml-product-title {
        font-size: 0.6rem !important;
    }
}

/* Keep the customer storefront on a clean white canvas with black type and controls. */
html:has(body.hd-site-body),
body.hd-site-body,
body.hd-site-body > main.main-content-area,
body.hd-site-body:not(.hd-page-home) > main.main-content-area > :where(section, article, .hd-public-page, .ml-theme-page, .ml-legal-page) {
    background-color: #ffffff !important;
}

body.hd-site-body :where(.hd-home, .hd-product-section, .hd-home-shelf, .hd-services, .hd-manifesto-band, .hd-search-page, .ml-theme-page, .ml-legal-page, .ml-theme-shell, .ml-public-page) {
    background-color: #ffffff !important;
}

body.hd-site-body :where(.hd-home-product__media, .ml-product-media, .product-image-container, .hd-pdp-media-frame, .hd-pdp-thumbnail, .ml-wishlist-card > div:first-child, .ml-related-card .product-image-container) {
    background-color: #e7e9eb !important;
}

body.hd-site-body .hd-product-media {
    background-color: #e7e9eb !important;
}

/* Global storefront consistency and readable ecommerce information. */
body.hd-site-body main :where(.ml-theme-panel, .ml-theme-panel-soft, .ml-auth-panel, .ml-account-panel, .ml-account-feature-card, .ml-account-help-panel, .ml-waitlist-card, .ml-contact-panel, .track-card, .ml-error-panel) {
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #ffffff !important;
}

body.hd-site-body :where(.hd-home-product h3, .ml-product-name, .ml-product-title, .ml-related-card h3) {
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.045em !important;
    line-height: 1.35 !important;
}

body.hd-site-body :where(.hd-home-product__price, .ml-product-price, .ml-related-card p, .sale-price) {
    color: #111111 !important;
    font-size: 0.9375rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.025em !important;
    line-height: 1.35 !important;
}

body.hd-site-body :where(.ml-product-price-old, .price-compare, .hd-home-product__price s, .ml-product-price s) {
    color: #777777 !important;
    font-size: 0.8125rem !important;
    font-weight: 400 !important;
}

body.hd-site-body :where(.sale-price, .ml-product-price .text-red-600, .hd-home-product__price .text-red-600) {
    color: #b01822 !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
}

.hd-page-product .hd-pdp-price {
    color: #111111 !important;
    font-size: clamp(1.25rem, 2vw, 1.625rem) !important;
    font-weight: 600 !important;
}

.hd-page-product .hd-pdp-price-block .line-through {
    color: #777777 !important;
    font-size: 0.875rem !important;
}

.hd-page-products .ml-product-media,
.hd-page-search .ml-product-media,
.hd-page-wishlist .ml-wishlist-card > div:first-child,
.hd-page-cart [data-cart-item] > div:first-child {
    background: #e7e9eb !important;
}

.hd-page-wishlist .ml-wishlist-card > div:first-child,
.hd-page-cart [data-cart-item] > div:first-child {
    aspect-ratio: 1 / 1.12;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden;
}

.hd-page-wishlist .ml-wishlist-card > div:first-child img,
.hd-page-cart [data-cart-item] > div:first-child img {
    object-fit: contain !important;
    padding: 0.7rem !important;
}

.hd-page-wishlist .ml-wishlist-card > div:last-child {
    padding: 0.85rem 0 0 !important;
}

.hd-page-cart [data-cart-item] h3 {
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.hd-page-cart [data-cart-item] p {
    font-size: 0.875rem !important;
}

.hd-page-cart #cart-summary-subtotal,
.hd-page-cart #cart-summary-shipping {
    color: #111111 !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
}

.hd-page-cart #cart-summary-total {
    color: #000000 !important;
    font-size: 1.375rem !important;
    font-weight: 600 !important;
}

.hd-cart-drawer__subtotal strong,
.hd-page-checkout #checkout-total {
    color: #000000 !important;
    font-size: clamp(1.25rem, 2.2vw, 1.5rem) !important;
    font-weight: 600 !important;
}

.hd-page-checkout :where(label, input, select, textarea) {
    font-size: 0.875rem;
}

.hd-page-checkout :where(#checkout-total, #discount-amount) {
    font-variant-numeric: tabular-nums;
}

.hd-page-auth .ml-auth-panel,
.hd-page-account .ml-account-join-form-panel {
    border-block: 1px solid #e2e2e2 !important;
    border-inline: 0 !important;
    padding-inline: 0 !important;
}

.hd-page-auth :where(input, select, textarea),
.hd-page-account :where(input, select, textarea) {
    border-radius: 0 !important;
    background: #ffffff !important;
}

.hd-page-account .ml-account-order-card {
    border: 0 !important;
    border-top: 1px solid #e2e2e2 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.hd-page-account .ml-account-order-card strong,
.hd-page-account .ml-account-order-card [class*="total"],
.hd-page-order :where([class*="total"], .text-lg, .text-xl) {
    color: #111111 !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
}

.hd-page-order :where(.track-card, .ml-theme-panel) {
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.hd-page-order :where(table, th, td) {
    border-color: #e2e2e2 !important;
}

.hd-page-order :where(td, th) {
    font-size: 0.875rem !important;
}

.hd-page-faq .ml-theme-panel {
    border: 0 !important;
    padding-inline: 0 !important;
}

.hd-page-faq details {
    border-top: 1px solid #e2e2e2 !important;
    border-inline: 0 !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    padding: 0 !important;
}

.hd-page-faq details:last-child { border-bottom: 1px solid #e2e2e2 !important; }

.hd-page-faq details summary {
    min-height: 4rem;
    padding: 1rem 0 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.hd-page-faq details summary > span:last-child {
    color: #000000 !important;
    font-size: 0 !important;
    font-weight: 300 !important;
    line-height: 1;
    transform: none !important;
}

.hd-page-faq details summary > span:last-child::after {
    content: '+';
    display: block;
    font-size: 1.25rem;
    font-weight: 300;
}

.hd-page-faq details[open] summary > span:last-child { transform: rotate(45deg) !important; }

.hd-page-faq details > div {
    max-width: 48rem;
    padding: 0 0 1.5rem !important;
    color: #333333 !important;
    font-size: 1rem !important;
    line-height: 1.75 !important;
}

.hd-page-content .ml-legal-page :where(p, li),
.hd-page-content .ml-theme-page :where(p, li),
.ml-contact-page :where(p, li),
.ml-legal-page :where(p, li) {
    color: #333333 !important;
    font-size: 1rem !important;
    line-height: 1.75 !important;
}

.hd-page-content .ml-legal-page :where(h2, h3),
.ml-legal-page :where(h2, h3) {
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.hd-empty-state__icon {
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: 1.25rem;
    color: #000000;
}

.hd-cart-drawer__empty p {
    color: #000000 !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.hd-cart-drawer__empty a {
    display: inline-flex;
    margin-top: 1rem;
    border-bottom: 1px solid #000000;
    color: #000000 !important;
    font-size: 0.68rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.ml-site-toast {
    border: 1px solid #ffffff !important;
    border-radius: 0 !important;
    background: #000000 !important;
    box-shadow: none !important;
    color: #ffffff !important;
    padding: 0.85rem 1rem !important;
    font-family: var(--hd-font-sans) !important;
    font-size: 0.68rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
}

.ml-site-toast--error {
    border-color: #000000 !important;
    background: #ffffff !important;
    color: #000000 !important;
}

body.hd-site-body :where(#quick-add-content, #quick-add-modal > div, #welcome-offer-modal .mlwo-card, #ml-builder-popup .ml-builder-popup-card) {
    border: 1px solid #000000 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.quick-add-btn,
.ml-product-card-add,
.hd-home-product__add {
    width: 2.25rem !important;
    min-width: 2.25rem !important;
    height: 2.25rem !important;
    min-height: 2.25rem !important;
    border-radius: 50% !important;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.08) !important;
}

@media (hover: hover) and (pointer: fine) {
    .hd-home-product__add,
    .ml-product-card-add,
    .quick-add-btn {
        opacity: 0 !important;
        transform: translateY(0.2rem);
        transition: opacity 180ms ease, transform 180ms ease, background 180ms ease, color 180ms ease !important;
    }

    .hd-home-product:hover .hd-home-product__add,
    .ml-product-card:hover .ml-product-card-add,
    .ml-product-card:hover .quick-add-btn,
    .hd-home-product:focus-within .hd-home-product__add,
    .ml-product-card:focus-within .ml-product-card-add,
    .ml-product-card:focus-within .quick-add-btn {
        opacity: 1 !important;
        transform: translateY(0);
    }
}

@media (max-width: 63.99rem) {
    body.hd-site-body main :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
        font-size: 1rem !important;
    }

    body.hd-site-body :where(.hd-home-product h3, .ml-product-name, .ml-product-title, .ml-related-card h3) {
        font-size: 0.8125rem !important;
    }

    body.hd-site-body :where(.hd-home-product__price, .ml-product-price, .ml-related-card p, .sale-price) {
        font-size: 0.8125rem !important;
    }

    .hd-page-product .hd-pdp-price {
        font-size: 1.125rem !important;
    }

    .hd-page-content .ml-legal-page :where(p, li),
    .hd-page-content .ml-theme-page :where(p, li),
    .ml-contact-page :where(p, li),
    .ml-legal-page :where(p, li),
    .hd-page-faq details > div {
        font-size: 0.9375rem !important;
    }

    .hd-page-cart #cart-summary-total {
        font-size: 1.25rem !important;
    }
}
