/*
Theme Name: ADOMAC Hair
Theme URI: https://hair.adomacglobal.com
Author: ADOMAC Global
Description: Premium WooCommerce storefront for ADOMAC Hair.
Version: 0.6.34
Text Domain: adomac-hair
*/

/* ==========================================================
   H4.3A — GLOBAL BEAUTY DESIGN SYSTEM
   ========================================================== */

:root {
    --adh-navy: #0B1F33;
    --adh-navy-deep: #071827;
    --adh-gold: #C6A15B;
    --adh-gold-soft: #E7D7B7;
    --adh-ivory: #F7F3EA;
    --adh-soft: #FBF9F5;
    --adh-white: #FFFFFF;
    --adh-charcoal: #242424;
    --adh-muted: #6B6B6B;
    --adh-border: #E6E0D7;

    --adh-font-display:
        "Cormorant Garamond",
        Georgia,
        "Times New Roman",
        serif;

    --adh-font-body:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;

    --adh-container: 1280px;
    --adh-reading: 720px;

    --adh-space-1: .25rem;
    --adh-space-2: .5rem;
    --adh-space-3: .75rem;
    --adh-space-4: 1rem;
    --adh-space-5: 1.5rem;
    --adh-space-6: 2rem;
    --adh-space-7: 3rem;
    --adh-space-8: 4rem;
    --adh-space-9: 6rem;

    --adh-radius-sm: 2px;
    --adh-radius-md: 4px;

    --adh-shadow-soft:
        0 18px 45px rgba(11, 31, 51, .08);

    --adh-transition:
        180ms ease;
}

/* ==========================================================
   RESET / FOUNDATION
   ========================================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--adh-charcoal);
    background: var(--adh-white);
    font-family: var(--adh-font-body);
    font-size: 16px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.adh-menu-open {
    overflow: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

::selection {
    color: var(--adh-white);
    background: var(--adh-navy);
}

:focus-visible {
    outline: 2px solid var(--adh-gold);
    outline-offset: 3px;
}

.adh-container {
    width: min(calc(100% - 48px), var(--adh-container));
    margin-inline: auto;
}

/* ==========================================================
   TYPOGRAPHY
   ========================================================== */

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    color: var(--adh-navy);
    font-family: var(--adh-font-display);
    font-weight: 500;
    letter-spacing: -.025em;
}

h1 {
    font-size: clamp(3.1rem, 7vw, 5.8rem);
    line-height: .97;
}

h2 {
    font-size: clamp(2.35rem, 4.6vw, 4rem);
    line-height: 1.04;
}

h3 {
    font-size: clamp(1.55rem, 2.5vw, 2.15rem);
    line-height: 1.12;
}

p {
    margin-top: 0;
}

.adh-eyebrow {
    margin: 0 0 var(--adh-space-4);
    color: var(--adh-gold);
    font-family: var(--adh-font-body);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .2em;
    line-height: 1.4;
    text-transform: uppercase;
}

.adh-text-link {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    color: var(--adh-navy);
    border-bottom: 1px solid var(--adh-gold);
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    transition:
        color var(--adh-transition),
        border-color var(--adh-transition);
}

.adh-text-link:hover {
    color: var(--adh-gold);
    border-color: var(--adh-navy);
}

/* ==========================================================
   BUTTON SYSTEM
   ========================================================== */

.adh-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.adh-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 26px;
    border: 1px solid var(--adh-navy);
    border-radius: var(--adh-radius-sm);
    background: var(--adh-navy);
    color: var(--adh-white);
    box-shadow: none;
    font-family: var(--adh-font-body);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .11em;
    line-height: 1;
    text-transform: uppercase;
    transition:
        background var(--adh-transition),
        color var(--adh-transition),
        border-color var(--adh-transition),
        transform var(--adh-transition);
}

.adh-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    border-color: var(--adh-gold);
    background: var(--adh-gold);
    color: var(--adh-navy);
    transform: translateY(-1px);
}

.adh-button-secondary {
    border-color: var(--adh-navy);
    background: transparent;
    color: var(--adh-navy);
}

.adh-button-secondary:hover {
    border-color: var(--adh-navy);
    background: var(--adh-navy);
    color: var(--adh-white);
}

/* ==========================================================
   HEADER
   ========================================================== */

.adh-site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 1px solid rgba(11, 31, 51, .09);
    background: rgba(255, 255, 255, .97);
    backdrop-filter: blur(18px);
}

.adh-header-inner {
    position: relative;
    min-height: 84px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: clamp(20px, 3vw, 46px);
}

.adh-brand-lockup {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    flex-shrink: 0;
}

.adh-brand-logo {
    width: clamp(145px, 13vw, 180px);
    height: auto;
}

.adh-brand-divider {
    width: 1px;
    height: 28px;
    background: var(--adh-border);
}

.adh-brand-unit {
    color: var(--adh-gold);
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .22em;
    line-height: 1;
}

.adh-nav {
    justify-self: center;
}

.adh-nav ul,
.adh-menu {
    display: flex;
    align-items: center;
    gap: clamp(18px, 2.1vw, 30px);
    padding: 0;
    margin: 0;
    list-style: none;
}

.adh-nav a {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: var(--adh-charcoal);
    font-size: .77rem;
    font-weight: 650;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.adh-nav a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 7px;
    left: 0;
    height: 1px;
    background: var(--adh-gold);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform var(--adh-transition);
}

.adh-nav a:hover::after,
.adh-nav .current-menu-item > a::after {
    transform: scaleX(1);
    transform-origin: left;
}

.adh-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
}

.adh-header-action {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 44px;
    color: var(--adh-navy);
    font-size: .76rem;
    font-weight: 650;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.adh-header-action:hover {
    color: var(--adh-gold);
}

.adh-cart-count {
    min-width: 21px;
    height: 21px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
    border-radius: 99px;
    background: var(--adh-navy);
    color: var(--adh-white);
    font-size: .66rem;
    line-height: 1;
}

.adh-menu-toggle {
    width: 42px;
    height: 42px;
    display: none;
    place-items: center;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.adh-menu-toggle span {
    position: absolute;
    width: 22px;
    height: 1px;
    background: var(--adh-navy);
    transition:
        transform var(--adh-transition),
        margin var(--adh-transition);
}

.adh-menu-toggle span:first-child {
    margin-top: -7px;
}

.adh-menu-toggle span:last-child {
    margin-top: 7px;
}

.adh-site-header.is-menu-open .adh-menu-toggle span:first-child {
    margin-top: 0;
    transform: rotate(45deg);
}

.adh-site-header.is-menu-open .adh-menu-toggle span:last-child {
    margin-top: 0;
    transform: rotate(-45deg);
}

/* ==========================================================
   GLOBAL SECTIONS / SPACING
   ========================================================== */

.adh-section {
    padding: clamp(68px, 8vw, 108px) 0;
}

.adh-section-soft,
.adh-section-ivory {
    background: var(--adh-soft);
}

.adh-section-dark {
    color: rgba(255, 255, 255, .78);
    background: var(--adh-navy);
}

.adh-section-dark h1,
.adh-section-dark h2,
.adh-section-dark h3 {
    color: var(--adh-white);
}

.adh-section-heading {
    max-width: var(--adh-reading);
    margin-bottom: clamp(36px, 5vw, 58px);
}

.adh-section-heading h2 {
    margin-bottom: 16px;
}

.adh-section-heading p:last-child {
    color: var(--adh-muted);
}

/* ==========================================================
   BADGES
   ========================================================== */

.adh-badge,
.woocommerce span.onsale {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    min-width: 0;
    min-height: 0;
    padding: 7px 10px;
    margin: 0;
    border-radius: var(--adh-radius-sm);
    background: var(--adh-gold);
    color: var(--adh-navy);
    font-family: var(--adh-font-body);
    font-size: .66rem;
    font-weight: 750;
    letter-spacing: .11em;
    line-height: 1;
    text-transform: uppercase;
}

.adh-badge-static {
    position: static;
    display: inline-flex;
    align-items: center;
}

.adh-badge-light {
    border: 1px solid var(--adh-border);
    background: var(--adh-white);
    color: var(--adh-navy);
}

.adh-badge-dark {
    background: var(--adh-navy);
    color: var(--adh-white);
}

/* ==========================================================
   PRODUCT CARDS / PRICE LANGUAGE
   ========================================================== */

.adh-product-card,
.woocommerce ul.products li.product {
    position: relative;
    margin: 0;
    background: transparent;
}

.adh-product-media {
    position: relative;
    overflow: hidden;
    background: var(--adh-ivory);
}

.adh-product-media img,
.woocommerce ul.products li.product a img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center top;
    margin: 0 0 17px;
    background: var(--adh-ivory);
    transition: transform 320ms ease;
}

.adh-product-card:hover .adh-product-media img,
.woocommerce ul.products li.product:hover a img {
    transform: scale(1.018);
}

.adh-product-card-body {
    padding-top: 16px;
}

.adh-product-kicker {
    margin: 0 0 7px;
    color: var(--adh-muted);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.adh-product-title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    padding: 0;
    margin: 0 0 8px;
    color: var(--adh-navy);
    font-family: var(--adh-font-body);
    font-size: .96rem;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.42;
}

.adh-product-price,
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--adh-navy);
    font-family: var(--adh-font-body);
    font-size: .96rem;
    font-weight: 650;
    letter-spacing: .01em;
}

.adh-product-price del,
.woocommerce .price del {
    margin-right: 7px;
    color: var(--adh-muted);
    opacity: .65;
    font-weight: 450;
}

.adh-product-price ins,
.woocommerce .price ins {
    color: var(--adh-navy);
    text-decoration: none;
}

.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(24px, 3vw, 38px) clamp(16px, 2.2vw, 30px);
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none;
}

.woocommerce ul.products li.product {
    float: none;
    width: auto;
    margin: 0;
}

.woocommerce ul.products li.product .button {
    margin-top: 14px;
}

/* ==========================================================
   IMAGE TREATMENT
   ========================================================== */

.adh-image-frame {
    overflow: hidden;
    background: var(--adh-ivory);
}

.adh-image-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

/* ==========================================================
   FOOTER
   ========================================================== */

.adh-site-footer {
    padding: clamp(68px, 8vw, 96px) 0 28px;
    color: rgba(255, 255, 255, .72);
    background: var(--adh-navy-deep);
}

.adh-footer-main {
    display: grid;
    grid-template-columns: minmax(0, 2fr) repeat(2, minmax(160px, 1fr));
    gap: clamp(36px, 6vw, 80px);
    padding-bottom: 58px;
}

.adh-footer-brand-column {
    max-width: 470px;
}

.adh-footer-brand-lockup {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    margin-bottom: 24px;
    padding: 9px 12px;
    background: var(--adh-ivory);
}

.adh-footer-brand-logo {
    width: 154px;
    height: auto;
}

.adh-footer-brand-divider {
    width: 1px;
    height: 25px;
    background: rgba(11, 31, 51, .17);
}

.adh-footer-brand-unit {
    color: var(--adh-gold);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .2em;
}

.adh-footer-positioning {
    max-width: 380px;
    margin-bottom: 16px;
    font-family: var(--adh-font-display);
    font-size: 1.45rem;
    line-height: 1.35;
}

.adh-global-relationship {
    margin: 0;
    font-size: .82rem;
}

.adh-global-relationship a {
    color: var(--adh-gold);
    font-weight: 650;
}

.adh-footer-title {
    margin-bottom: 17px;
    color: var(--adh-gold);
    font-size: .7rem;
    font-weight: 750;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.adh-footer-links {
    padding: 0;
    margin: 0;
    list-style: none;
}

.adh-footer-links li {
    margin-bottom: 9px;
}

.adh-footer-links a {
    color: rgba(255, 255, 255, .76);
    font-size: .88rem;
    transition: color var(--adh-transition);
}

.adh-footer-links a:hover {
    color: var(--adh-white);
}

.adh-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, .12);
    font-size: .76rem;
}

.adh-footer-signature {
    color: rgba(255, 255, 255, .48);
    letter-spacing: .09em;
    text-transform: uppercase;
}

/* ==========================================================
   TEMPORARY HOMEPAGE COMPATIBILITY
   H4.3B will replace homepage-specific presentation.
   ========================================================== */

.adh-hero {
    min-height: 620px;
    display: grid;
    place-items: center;
    overflow: hidden;
    color: var(--adh-white);
    background:
        linear-gradient(
            105deg,
            rgba(7, 24, 39, .97),
            rgba(11, 31, 51, .88)
        ),
        var(--adh-navy);
}

.adh-hero-inner {
    width: min(calc(100% - 48px), var(--adh-container));
    padding: 100px 0;
    margin-inline: auto;
}

.adh-hero h1 {
    max-width: 760px;
    margin-bottom: 24px;
    color: var(--adh-white);
}

.adh-hero-copy {
    max-width: 610px;
    margin-bottom: 34px;
    color: rgba(255, 255, 255, .78);
    font-size: 1.06rem;
}

.adh-hero .adh-button {
    border-color: var(--adh-gold);
    background: var(--adh-gold);
    color: var(--adh-navy);
}

.adh-hero .adh-button-secondary {
    border-color: rgba(255, 255, 255, .65);
    background: transparent;
    color: var(--adh-white);
}

.adh-collections {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.adh-collection {
    min-height: 360px;
    display: flex;
    align-items: flex-end;
    padding: 28px;
    overflow: hidden;
    color: var(--adh-white);
    background:
        linear-gradient(
            0deg,
            rgba(7, 24, 39, .92),
            rgba(11, 31, 51, .18)
        ),
        var(--adh-navy);
}

.adh-collection h3 {
    margin: 0 0 5px;
    color: var(--adh-white);
}

.adh-collection span {
    color: var(--adh-gold);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.adh-trust-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 36px;
}

.adh-trust-item {
    padding-top: 20px;
    border-top: 1px solid var(--adh-gold);
}

.adh-trust-item h3 {
    margin-bottom: 10px;
}

/* ==========================================================
   H4.3A DESIGN SYSTEM PREVIEW
   ========================================================== */

.adh-ds-intro {
    padding: clamp(86px, 10vw, 145px) 0;
    background: var(--adh-ivory);
}

.adh-ds-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr);
    align-items: end;
    gap: clamp(40px, 7vw, 90px);
}

.adh-ds-intro h1 {
    max-width: 800px;
    margin-bottom: 0;
}

.adh-ds-intro-copy {
    max-width: 430px;
    padding-bottom: 5px;
    color: var(--adh-muted);
    font-size: 1.03rem;
}

.adh-ds-section-heading {
    max-width: 720px;
    margin-bottom: clamp(34px, 5vw, 58px);
}

.adh-ds-section-heading h2 {
    margin-bottom: 0;
}

.adh-ds-type-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.adh-ds-panel {
    min-height: 290px;
    padding: clamp(28px, 4vw, 48px);
    border: 1px solid var(--adh-border);
    background: var(--adh-white);
}

.adh-ds-label {
    display: block;
    margin-bottom: 40px;
    color: var(--adh-muted);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.adh-ds-display-sample {
    color: var(--adh-navy);
    font-family: var(--adh-font-display);
    font-size: clamp(2.2rem, 4.5vw, 4.2rem);
    line-height: 1;
}

.adh-ds-body-sample {
    max-width: 520px;
    margin-bottom: 0;
    color: var(--adh-charcoal);
    font-size: 1rem;
}

.adh-ds-swatches {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.adh-ds-swatch {
    font-size: .78rem;
}

.adh-ds-swatch-color {
    aspect-ratio: 1 / 1;
    margin-bottom: 12px;
    border: 1px solid var(--adh-border);
}

.adh-ds-swatch strong,
.adh-ds-swatch span {
    display: block;
}

.adh-ds-swatch span {
    color: var(--adh-muted);
    font-size: .72rem;
}

.adh-ds-navy {
    background: var(--adh-navy);
}

.adh-ds-gold {
    background: var(--adh-gold);
}

.adh-ds-ivory {
    background: var(--adh-ivory);
}

.adh-ds-white {
    background: var(--adh-white);
}

.adh-ds-charcoal {
    background: var(--adh-charcoal);
}

.adh-ds-product-grid {
    max-width: 680px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px;
}

.adh-ds-demo-card {
    max-width: 320px;
}

.adh-ds-photo-placeholder {
    aspect-ratio: 4 / 5;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 6px;
    color: var(--adh-navy);
    background:
        linear-gradient(
            145deg,
            var(--adh-ivory),
            #EEE6D8
        );
}

.adh-ds-photo-placeholder span {
    font-family: var(--adh-font-display);
    font-size: 3.2rem;
    line-height: 1;
}

.adh-ds-photo-placeholder small {
    color: var(--adh-muted);
    font-size: .7rem;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.adh-ds-badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.adh-ds-dark-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
    align-items: end;
    gap: clamp(40px, 7vw, 90px);
}

.adh-ds-dark-grid h2 {
    max-width: 680px;
    margin-bottom: 0;
}

.adh-ds-dark-grid p:last-child {
    max-width: 500px;
    margin-bottom: 0;
}

/* ==========================================================
   RESPONSIVE SYSTEM
   ========================================================== */

@media (max-width: 1024px) {

    .adh-header-inner {
        grid-template-columns: 1fr auto;
    }

    .adh-nav {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        display: none;
        justify-self: stretch;
        max-height: calc(100vh - 74px);
        overflow-y: auto;
        padding: 20px 24px 30px;
        border-top: 1px solid var(--adh-border);
        border-bottom: 1px solid var(--adh-border);
        background: var(--adh-white);
        box-shadow: var(--adh-shadow-soft);
    }

    .adh-site-header.is-menu-open .adh-nav {
        display: block;
    }

    .adh-nav ul,
    .adh-menu {
        display: block;
    }

    .adh-nav li {
        border-bottom: 1px solid var(--adh-border);
    }

    .adh-nav li:last-child {
        border-bottom: 0;
    }

    .adh-nav a {
        width: 100%;
        min-height: 54px;
        justify-content: space-between;
        font-size: .82rem;
    }

    .adh-nav a::after {
        display: none;
    }

    .adh-header-actions {
        grid-column: 2;
        grid-row: 1;
    }

    .adh-menu-toggle {
        display: grid;
    }

    .adh-footer-main {
        grid-template-columns: 1.6fr 1fr 1fr;
    }

    .adh-ds-swatches {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {

    .adh-container {
        width: min(calc(100% - 32px), var(--adh-container));
    }

    .adh-header-inner {
        min-height: 72px;
    }

    .adh-brand-logo {
        width: 132px;
    }

    .adh-brand-divider {
        height: 22px;
    }

    .adh-brand-unit {
        font-size: .57rem;
        letter-spacing: .17em;
    }

    .adh-action-label {
        display: none;
    }

    .adh-header-actions {
        gap: 10px;
    }

    .adh-footer-main,
    .adh-ds-intro-grid,
    .adh-ds-dark-grid {
        grid-template-columns: 1fr;
    }

    .adh-footer-main {
        gap: 38px;
    }

    .adh-footer-brand-column {
        max-width: none;
    }

    .adh-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .adh-collections,
    .adh-trust-grid,
    .adh-ds-type-grid {
        grid-template-columns: 1fr;
    }

    .adh-ds-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .adh-ds-swatches {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 12px;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: .88rem;
    }

    .woocommerce ul.products li.product .price {
        font-size: .88rem;
    }

    .adh-hero-inner {
        width: min(calc(100% - 32px), var(--adh-container));
        padding: 82px 0;
    }
}

@media (max-width: 460px) {

    .adh-brand-lockup {
        gap: 7px;
    }

    .adh-brand-logo {
        width: 116px;
    }

    .adh-brand-divider {
        height: 20px;
    }

    .adh-brand-unit {
        font-size: .53rem;
    }

    .adh-header-actions {
        gap: 5px;
    }

    .adh-header-action {
        min-height: 40px;
    }

    .adh-menu-toggle {
        width: 38px;
        height: 40px;
    }

    .adh-ds-product-grid {
        grid-template-columns: 1fr;
    }

    .adh-ds-demo-card {
        max-width: none;
    }
}

@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}


/* ==========================================================
   H4.3A.1 — ADOMAC COMMERCE HEADER
   ADOMAC family identity + Hair commerce discovery
   ========================================================== */

.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.adh-site-header {
    background: var(--adh-white);
}

.adh-commerce-primary {
    background: var(--adh-white);
}

.adh-commerce-primary-inner {
    min-height: 86px;
    display: grid;
    grid-template-columns:
        minmax(190px, auto)
        minmax(320px, 1fr)
        auto;
    align-items: center;
    gap: clamp(24px, 3vw, 46px);
}

.adh-commerce-primary .adh-brand-logo {
    width: clamp(148px, 12vw, 178px);
}

.adh-product-search {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    border: 1px solid var(--adh-border);
    background: var(--adh-white);
    transition:
        border-color var(--adh-transition),
        box-shadow var(--adh-transition);
}

.adh-product-search:focus-within {
    border-color: var(--adh-gold);
    box-shadow:
        0 0 0 2px rgba(198, 161, 91, .12);
}

.adh-product-search-field {
    width: 100%;
    min-width: 0;
    height: 48px;
    padding: 0 16px;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--adh-charcoal);
    font-size: .9rem;
}

.adh-product-search-field::placeholder {
    color: #7C7C7C;
}

.adh-product-search-button {
    min-width: 92px;
    height: 48px;
    padding: 0 18px;
    border: 0;
    background: var(--adh-gold);
    color: var(--adh-navy);
    cursor: pointer;
    font-size: .71rem;
    font-weight: 750;
    letter-spacing: .1em;
    text-transform: uppercase;
    transition:
        background var(--adh-transition),
        color var(--adh-transition);
}

.adh-product-search-button:hover {
    background: var(--adh-navy);
    color: var(--adh-white);
}

.adh-commerce-utilities {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(16px, 2vw, 26px);
}

.adh-utility-link {
    display: grid;
    align-content: center;
    min-height: 48px;
    color: var(--adh-navy);
    line-height: 1.15;
    white-space: nowrap;
}

.adh-utility-link:hover {
    color: var(--adh-gold);
}

.adh-utility-small {
    display: block;
    margin-bottom: 3px;
    color: var(--adh-muted);
    font-size: .62rem;
    font-weight: 500;
    letter-spacing: .03em;
}

.adh-utility-link strong {
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .035em;
}

.adh-bag-link {
    display: flex;
    align-items: center;
    gap: 7px;
}

.adh-bag-label {
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .05em;
}

.adh-commerce-navigation {
    position: relative;
    border-top: 1px solid var(--adh-border);
    background: var(--adh-navy);
    color: var(--adh-white);
}

.adh-commerce-navigation-inner {
    min-height: 48px;
    display: flex;
    align-items: stretch;
    gap: 0;
}

.adh-category-navigation {
    position: relative;
    flex: 0 0 auto;
}

.adh-category-toggle {
    height: 48px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0 18px 0 0;
    border: 0;
    background: transparent;
    color: var(--adh-white);
    cursor: pointer;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.adh-category-toggle:hover,
.adh-category-navigation.is-category-open
    .adh-category-toggle {
    color: var(--adh-gold);
}

.adh-category-icon {
    width: 19px;
    display: grid;
    gap: 4px;
}

.adh-category-icon i {
    display: block;
    width: 19px;
    height: 1px;
    background: currentColor;
}

.adh-category-panel {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1200;
    width: min(380px, calc(100vw - 32px));
    display: none;
    padding: 24px;
    border: 1px solid var(--adh-border);
    background: var(--adh-white);
    color: var(--adh-charcoal);
    box-shadow: var(--adh-shadow-soft);
}

.adh-category-navigation.is-category-open
    .adh-category-panel {
    display: block;
}

.adh-category-panel-heading {
    padding-bottom: 13px;
    margin-bottom: 10px;
    border-bottom: 1px solid var(--adh-border);
    color: var(--adh-gold);
    font-size: .69rem;
    font-weight: 750;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.adh-category-list,
.adh-category-children {
    padding: 0;
    margin: 0;
    list-style: none;
}

.adh-category-list > li {
    border-bottom: 1px solid var(--adh-border);
}

.adh-category-list > li:last-child {
    border-bottom: 0;
}

.adh-category-list > li > a {
    min-height: 42px;
    display: flex;
    align-items: center;
    color: var(--adh-navy);
    font-size: .88rem;
    font-weight: 600;
}

.adh-category-list a:hover {
    color: var(--adh-gold);
}

.adh-category-children {
    padding: 0 0 11px 17px;
}

.adh-category-children li {
    margin: 5px 0;
}

.adh-category-children a {
    color: var(--adh-muted);
    font-size: .82rem;
}

.adh-commerce-links {
    display: flex;
    align-items: stretch;
}

.adh-commerce-links > a {
    min-height: 48px;
    display: flex;
    align-items: center;
    padding: 0 16px;
    color: rgba(255, 255, 255, .9);
    font-size: .7rem;
    font-weight: 650;
    letter-spacing: .065em;
    text-transform: uppercase;
    transition:
        color var(--adh-transition),
        background var(--adh-transition);
}

.adh-commerce-links > a:hover {
    color: var(--adh-navy);
    background: var(--adh-gold);
}

.adh-commerce-brand-note {
    margin-left: auto;
    display: flex;
    align-items: center;
    padding-left: 20px;
    color: rgba(255, 255, 255, .55);
    font-family: var(--adh-font-display);
    font-size: .94rem;
    font-style: italic;
    white-space: nowrap;
}

@media (max-width: 1180px) {

    .adh-commerce-brand-note {
        display: none;
    }

    .adh-commerce-primary-inner {
        gap: 22px;
    }

    .adh-commerce-utilities {
        gap: 14px;
    }
}

@media (max-width: 1024px) {

    .adh-commerce-primary-inner {
        min-height: 0;
        grid-template-columns: 1fr auto;
        gap: 0 18px;
        padding-top: 13px;
        padding-bottom: 13px;
    }

    .adh-commerce-primary .adh-brand-lockup {
        grid-column: 1;
        grid-row: 1;
    }

    .adh-commerce-utilities {
        grid-column: 2;
        grid-row: 1;
    }

    .adh-product-search {
        grid-column: 1 / -1;
        grid-row: 2;
        margin-top: 12px;
    }

    .adh-orders-link {
        display: none;
    }

    .adh-commerce-navigation {
        display: none;
    }

    .adh-site-header.is-menu-open
        .adh-commerce-navigation {
        display: block;
    }

    .adh-commerce-navigation-inner {
        display: block;
        min-height: 0;
        padding-top: 10px;
        padding-bottom: 18px;
    }

    .adh-category-navigation {
        border-bottom:
            1px solid rgba(255, 255, 255, .12);
    }

    .adh-category-toggle {
        width: 100%;
        padding-right: 0;
    }

    .adh-category-panel {
        position: static;
        width: 100%;
        margin-bottom: 14px;
        border: 0;
        box-shadow: none;
    }

    .adh-commerce-links {
        display: block;
    }

    .adh-commerce-links > a {
        padding: 0;
        border-bottom:
            1px solid rgba(255, 255, 255, .12);
    }

    .adh-commerce-links > a:hover {
        padding-left: 12px;
    }

    .adh-menu-toggle {
        display: grid;
    }
}

@media (max-width: 680px) {

    .adh-commerce-primary-inner {
        width: min(
            calc(100% - 24px),
            var(--adh-container)
        );
        gap: 0 8px;
    }

    .adh-commerce-primary .adh-brand-logo {
        width: 116px;
    }

    .adh-commerce-primary .adh-brand-divider {
        height: 20px;
    }

    .adh-commerce-primary .adh-brand-unit {
        font-size: .53rem;
    }

    .adh-utility-small {
        display: none;
    }

    .adh-utility-link strong {
        font-size: .7rem;
    }

    .adh-commerce-utilities {
        gap: 7px;
    }

    .adh-product-search-field {
        height: 46px;
        padding-left: 13px;
        font-size: .84rem;
    }

    .adh-product-search-button {
        min-width: 72px;
        height: 46px;
        padding: 0 12px;
        font-size: .64rem;
    }
}

@media (max-width: 460px) {

    .adh-commerce-primary .adh-brand-logo {
        width: 103px;
    }

    .adh-commerce-primary .adh-brand-lockup {
        gap: 6px;
    }

    .adh-bag-label {
        display: none;
    }

    .adh-commerce-utilities {
        gap: 4px;
    }

    .adh-product-search-button span {
        font-size: 0;
    }

    .adh-product-search-button span::after {
        content: "Go";
        font-size: .66rem;
    }
}


/* ==========================================================
   H4.3B — PREMIUM ADOMAC HAIR HOMEPAGE
   ========================================================== */

.adh-home {
    overflow: hidden;
}

/* Hero */

.adh-home-hero {
    position: relative;
    background: var(--adh-ivory);
}

.adh-home-hero-grid {
    min-height: min(760px, calc(100vh - 134px));
    display: grid;
    grid-template-columns:
        minmax(0, .92fr)
        minmax(420px, 1.08fr);
    align-items: stretch;
}

.adh-home-hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding:
        clamp(72px, 8vw, 118px)
        clamp(36px, 6vw, 82px)
        clamp(72px, 8vw, 118px)
        0;
}

.adh-home-hero h1 {
    max-width: 720px;
    margin-bottom: 27px;
}

.adh-home-hero h1 em {
    display: block;
    color: var(--adh-gold);
    font-weight: 500;
}

.adh-home-lead {
    max-width: 610px;
    margin-bottom: 34px;
    color: #555;
    font-size: clamp(1rem, 1.25vw, 1.12rem);
}

.adh-home-hero-signature {
    margin-top: 42px;
    color: var(--adh-muted);
    font-family: var(--adh-font-display);
    font-size: 1.05rem;
    font-style: italic;
}

.adh-home-hero-media {
    position: relative;
    min-height: 660px;
    overflow: hidden;
    background: #EEE6D8;
}

.adh-home-hero-media > img,
.adh-home-hero-media > .adh-home-media-placeholder {
    width: 100%;
    height: 100%;
    min-height: 660px;
    object-fit: cover;
    object-position: center top;
}

.adh-home-image-mark {
    position: absolute;
    right: 24px;
    bottom: 24px;
    padding: 10px 13px;
    background: rgba(247, 243, 234, .94);
    color: var(--adh-navy);
    font-size: .68rem;
    font-weight: 750;
    letter-spacing: .12em;
}

.adh-home-image-mark span {
    margin-left: 8px;
    color: var(--adh-gold);
}

/* Generic media fallback */

.adh-home-media-placeholder {
    display: grid;
    place-items: center;
    min-height: 320px;
    background:
        linear-gradient(
            145deg,
            #F1EADB,
            #E5D8C4
        );
    color: var(--adh-navy);
}

.adh-home-media-placeholder span {
    font-family: var(--adh-font-display);
    font-size: clamp(2rem, 4vw, 4rem);
}

/* Assurance */

.adh-home-assurance {
    border-top: 1px solid var(--adh-border);
    border-bottom: 1px solid var(--adh-border);
    background: var(--adh-white);
}

.adh-home-assurance-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.adh-home-assurance-grid > div {
    min-height: 105px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 22px 28px;
    border-right: 1px solid var(--adh-border);
}

.adh-home-assurance-grid > div:first-child {
    padding-left: 0;
}

.adh-home-assurance-grid > div:last-child {
    padding-right: 0;
    border-right: 0;
}

.adh-home-assurance strong {
    margin-bottom: 3px;
    color: var(--adh-navy);
    font-size: .8rem;
}

.adh-home-assurance span {
    color: var(--adh-muted);
    font-size: .74rem;
}

/* Section headings */

.adh-home-section-header {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(280px, 430px);
    align-items: end;
    gap: clamp(36px, 7vw, 90px);
    margin-bottom: clamp(40px, 6vw, 70px);
}

.adh-home-section-header h2 {
    max-width: 720px;
    margin-bottom: 0;
}

.adh-home-section-header > p {
    margin-bottom: 5px;
    color: var(--adh-muted);
}

.adh-home-section-header-inline {
    grid-template-columns: 1fr auto;
}

/* Collections */

.adh-home-collections-section {
    background: var(--adh-white);
}

.adh-home-collection-grid {
    display: grid;
    grid-template-columns:
        repeat(12, minmax(0, 1fr));
    gap: 18px;
}

.adh-home-collection-card {
    grid-column: span 4;
    position: relative;
    min-height: 510px;
    overflow: hidden;
    background: var(--adh-navy);
    color: var(--adh-white);
}

.adh-home-collection-large {
    grid-column: span 8;
}

.adh-home-collection-all {
    grid-column: span 8;
}

.adh-home-collection-media {
    position: absolute;
    inset: 0;
}

.adh-home-collection-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            0deg,
            rgba(7, 24, 39, .82) 0%,
            rgba(7, 24, 39, .12) 62%,
            rgba(7, 24, 39, .03) 100%
        );
}

.adh-home-collection-media img,
.adh-home-collection-media
    .adh-home-media-placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition: transform 420ms ease;
}

.adh-home-collection-card:hover
    .adh-home-collection-media img {
    transform: scale(1.025);
}

.adh-home-collection-copy {
    position: absolute;
    right: 28px;
    bottom: 28px;
    left: 28px;
    z-index: 2;
}

.adh-home-collection-copy span {
    display: block;
    margin-bottom: 4px;
    color: var(--adh-gold);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.adh-home-collection-copy h3 {
    margin-bottom: 7px;
    color: var(--adh-white);
    font-size: clamp(2rem, 3vw, 3.2rem);
}

.adh-home-collection-copy small {
    color: rgba(255, 255, 255, .78);
    font-size: .78rem;
}

/* Products */

.adh-home-products {
    border-top: 1px solid var(--adh-border);
    border-bottom: 1px solid var(--adh-border);
}

.adh-home-products
.woocommerce ul.products li.product
.woocommerce-loop-product__title {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    min-height: 2.85em;
}

/* Shop the Look */

.adh-home-look-grid {
    display: grid;
    grid-template-columns:
        minmax(300px, .75fr)
        minmax(0, 1.25fr);
    align-items: center;
    gap: clamp(48px, 8vw, 110px);
}

.adh-home-look-copy {
    max-width: 470px;
}

.adh-home-look-copy h2 {
    margin-bottom: 22px;
}

.adh-home-look-copy > p:not(.adh-eyebrow) {
    margin-bottom: 28px;
    color: var(--adh-muted);
}

.adh-home-look-gallery {
    min-height: 650px;
    display: grid;
    grid-template-columns: 1.1fr .72fr;
    align-items: end;
    gap: 18px;
}

.adh-home-look-primary {
    height: 650px;
    overflow: hidden;
    background: var(--adh-ivory);
}

.adh-home-look-secondary {
    height: 460px;
    margin-bottom: 40px;
    overflow: hidden;
    background: var(--adh-ivory);
}

.adh-home-look-primary img,
.adh-home-look-secondary img,
.adh-home-look-primary .adh-home-media-placeholder,
.adh-home-look-secondary .adh-home-media-placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

/* Editorial */

.adh-home-editorial {
    background: var(--adh-navy);
    color: rgba(255, 255, 255, .76);
}

.adh-home-editorial-grid {
    min-height: 680px;
    display: grid;
    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(360px, .95fr);
}

.adh-home-editorial-media {
    min-height: 680px;
    overflow: hidden;
}

.adh-home-editorial-media img,
.adh-home-editorial-media
    .adh-home-media-placeholder {
    width: 100%;
    height: 100%;
    min-height: 680px;
    object-fit: cover;
    object-position: center top;
}

.adh-home-editorial-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(60px, 8vw, 110px);
}

.adh-home-editorial-copy h2 {
    max-width: 570px;
    margin-bottom: 24px;
    color: var(--adh-white);
}

.adh-home-editorial-copy > p:not(.adh-eyebrow) {
    max-width: 520px;
    margin-bottom: 32px;
}

.adh-home-editorial .adh-button {
    width: fit-content;
    border-color: var(--adh-gold);
    background: var(--adh-gold);
    color: var(--adh-navy);
}

/* Values */

.adh-home-why {
    background: var(--adh-ivory);
}

.adh-home-values-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-top: 1px solid var(--adh-border);
}

.adh-home-values-grid article {
    min-height: 300px;
    padding: 38px 42px 20px 0;
    border-right: 1px solid var(--adh-border);
}

.adh-home-values-grid article:not(:first-child) {
    padding-left: 42px;
}

.adh-home-values-grid article:last-child {
    border-right: 0;
}

.adh-home-values-grid span {
    display: block;
    margin-bottom: 48px;
    color: var(--adh-gold);
    font-size: .69rem;
    font-weight: 700;
    letter-spacing: .13em;
}

.adh-home-values-grid h3 {
    margin-bottom: 13px;
}

.adh-home-values-grid p {
    max-width: 360px;
    margin-bottom: 0;
    color: var(--adh-muted);
    font-size: .9rem;
}

/* Confidence */

.adh-home-confidence {
    background: var(--adh-white);
}

.adh-home-confidence-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.adh-home-confidence-grid > a {
    min-height: 125px;
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 26px 34px;
    border-right: 1px solid var(--adh-border);
    transition: background var(--adh-transition);
}

.adh-home-confidence-grid > a:first-child {
    padding-left: 0;
}

.adh-home-confidence-grid > a:last-child {
    padding-right: 0;
    border-right: 0;
}

.adh-home-confidence-grid > a:hover {
    background: var(--adh-soft);
}

.adh-home-confidence-grid > a > span {
    color: var(--adh-gold);
    font-family: var(--adh-font-display);
    font-size: 1.8rem;
}

.adh-home-confidence strong,
.adh-home-confidence small {
    display: block;
}

.adh-home-confidence strong {
    margin-bottom: 2px;
    color: var(--adh-navy);
}

.adh-home-confidence small {
    color: var(--adh-muted);
}

/* Final CTA */

.adh-home-final {
    padding: clamp(90px, 10vw, 145px) 0;
    background:
        radial-gradient(
            circle at 82% 25%,
            rgba(198, 161, 91, .17),
            transparent 28%
        ),
        var(--adh-navy-deep);
    color: rgba(255, 255, 255, .72);
}

.adh-home-final-inner {
    max-width: 900px;
    text-align: center;
}

.adh-home-final h2 {
    margin-bottom: 17px;
    color: var(--adh-white);
}

.adh-home-final p:not(.adh-eyebrow) {
    max-width: 600px;
    margin: 0 auto 30px;
}

.adh-home-final .adh-actions {
    justify-content: center;
}

.adh-home-final-primary {
    border-color: var(--adh-gold);
    background: var(--adh-gold);
    color: var(--adh-navy);
}

.adh-home-final-link {
    color: var(--adh-white);
}

/* Responsive */

@media (max-width: 1024px) {

    .adh-home-hero-grid {
        min-height: 0;
        grid-template-columns: 1fr 1fr;
    }

    .adh-home-hero-copy {
        padding-right: 42px;
    }

    .adh-home-assurance-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .adh-home-assurance-grid > div {
        border-bottom: 1px solid var(--adh-border);
    }

    .adh-home-assurance-grid > div:nth-child(2) {
        border-right: 0;
    }

    .adh-home-collection-card,
    .adh-home-collection-large,
    .adh-home-collection-all {
        grid-column: span 6;
    }

    .adh-home-look-grid {
        gap: 50px;
    }

    .adh-home-editorial-copy {
        padding: 60px;
    }
}

@media (max-width: 760px) {

    .adh-home-hero-grid {
        display: flex;
        flex-direction: column;
    }

    .adh-home-hero-copy {
        padding:
            64px 0
            52px;
    }

    .adh-home-hero-media,
    .adh-home-hero-media > img,
    .adh-home-hero-media >
        .adh-home-media-placeholder {
        min-height: 520px;
    }

    .adh-home-section-header,
    .adh-home-section-header-inline {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 22px;
    }

    .adh-home-collection-card,
    .adh-home-collection-large,
    .adh-home-collection-all {
        grid-column: 1 / -1;
        min-height: 480px;
    }

    .adh-home-look-grid {
        grid-template-columns: 1fr;
    }

    .adh-home-look-copy {
        max-width: 600px;
    }

    .adh-home-look-gallery {
        min-height: 0;
    }

    .adh-home-look-primary {
        height: 520px;
    }

    .adh-home-look-secondary {
        height: 380px;
        margin-bottom: 30px;
    }

    .adh-home-editorial-grid {
        display: flex;
        flex-direction: column;
    }

    .adh-home-editorial-media,
    .adh-home-editorial-media img,
    .adh-home-editorial-media
        .adh-home-media-placeholder {
        min-height: 520px;
    }

    .adh-home-editorial-copy {
        padding: 64px 0;
    }

    .adh-home-values-grid {
        grid-template-columns: 1fr;
    }

    .adh-home-values-grid article,
    .adh-home-values-grid article:not(:first-child) {
        min-height: auto;
        padding: 30px 0;
        border-right: 0;
        border-bottom: 1px solid var(--adh-border);
    }

    .adh-home-values-grid article:last-child {
        border-bottom: 0;
    }

    .adh-home-values-grid span {
        margin-bottom: 24px;
    }

    .adh-home-confidence-grid {
        grid-template-columns: 1fr;
    }

    .adh-home-confidence-grid > a,
    .adh-home-confidence-grid > a:first-child,
    .adh-home-confidence-grid > a:last-child {
        min-height: 105px;
        padding: 22px 0;
        border-right: 0;
        border-bottom: 1px solid var(--adh-border);
    }

    .adh-home-confidence-grid > a:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 520px) {

    .adh-home-assurance-grid {
        grid-template-columns: 1fr;
    }

    .adh-home-assurance-grid > div,
    .adh-home-assurance-grid > div:first-child,
    .adh-home-assurance-grid > div:last-child {
        min-height: 82px;
        padding: 17px 0;
        border-right: 0;
        border-bottom: 1px solid var(--adh-border);
    }

    .adh-home-assurance-grid > div:last-child {
        border-bottom: 0;
    }

    .adh-home-look-gallery {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .adh-home-look-primary {
        height: 390px;
    }

    .adh-home-look-secondary {
        height: 300px;
        margin-bottom: 22px;
    }
}


/* ==========================================================
   H4.3B REVISION 1
   Human imagery / consistent frames / centered Bag actions
   ========================================================== */


/* ----------------------------------------------------------
   Collection merchandising — consistent visual frames
   ---------------------------------------------------------- */

.adh-home-collection-grid {
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.adh-home-collection-card,
.adh-home-collection-large,
.adh-home-collection-all {
    grid-column: auto;
    min-height: 0;
    aspect-ratio: 4 / 5;
    background: var(--adh-white);
}

.adh-home-collection-media {
    background: var(--adh-white);
}

.adh-home-collection-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    background: var(--adh-white);
}


/* ----------------------------------------------------------
   Hero human photography
   ---------------------------------------------------------- */

.adh-home-hero-media {
    background: var(--adh-white);
}

.adh-home-hero-media > img {
    object-fit: contain;
    object-position: center bottom;
    background: var(--adh-white);
}


/* ----------------------------------------------------------
   Shop the Look — balanced pair
   ---------------------------------------------------------- */

.adh-home-look-gallery {
    min-height: 0;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 16px;
}

.adh-home-look-primary,
.adh-home-look-secondary {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    margin: 0;
    overflow: hidden;
    background: var(--adh-white);
}

.adh-home-look-primary img,
.adh-home-look-secondary img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    background: var(--adh-white);
}


/* ----------------------------------------------------------
   Editorial beauty photography
   ---------------------------------------------------------- */

.adh-home-editorial-media {
    background: var(--adh-white);
}

.adh-home-editorial-media img {
    object-fit: contain;
    object-position: center;
    background: var(--adh-white);
}


/* ----------------------------------------------------------
   Curated New & Noteworthy product cards
   ---------------------------------------------------------- */

.adh-home-featured-grid {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap:
        clamp(30px, 3vw, 42px)
        clamp(16px, 2.2vw, 28px);
    align-items: stretch;
}

.adh-home-featured-card {
    height: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.adh-home-featured-image {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5;
    display: block;
    overflow: hidden;
    border: 1px solid #EEEAE3;
    background: var(--adh-white);
}

.adh-home-featured-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center;
    background: var(--adh-white);
    transition:
        transform 320ms ease;
}

.adh-home-featured-card:hover
.adh-home-featured-image img {
    transform: scale(1.015);
}

.adh-home-featured-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-top: 17px;
}

.adh-home-featured-title {
    min-height: 2.85em;
    display: -webkit-box;
    overflow: hidden;
    margin: 0 0 8px;
    color: var(--adh-navy);
    font-family: var(--adh-font-body);
    font-size: .94rem;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.42;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.adh-home-featured-title a:hover {
    color: var(--adh-gold);
}

.adh-home-featured-price {
    min-height: 27px;
    margin-top: 7px;
    color: var(--adh-navy);
    font-size: .96rem;
    font-weight: 650;
}

.adh-home-featured-price del {
    margin-right: 7px;
    color: var(--adh-muted);
    opacity: .65;
    font-weight: 450;
}

.adh-home-featured-price ins {
    color: var(--adh-navy);
    text-decoration: none;
}

.adh-home-featured-action {
    min-width: 170px;
    width: fit-content;
    align-self: center;
    margin: 22px auto 0;
    justify-content: center;
    text-align: center;
}

.adh-home-featured-empty {
    padding: 36px;
    margin: 0;
    border: 1px solid var(--adh-border);
    background: var(--adh-white);
    color: var(--adh-muted);
    text-align: center;
}


/* ----------------------------------------------------------
   Shared Woo product cards
   ---------------------------------------------------------- */

.woocommerce ul.products {
    align-items: stretch;
}

.woocommerce ul.products li.product {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.woocommerce ul.products
li.product
> a.woocommerce-LoopProduct-link {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.woocommerce ul.products
li.product
a img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: contain;
    object-position: center;
    background: var(--adh-white);
}

.woocommerce ul.products
li.product
.price {
    margin-top: auto;
}

.woocommerce ul.products
li.product
.button {
    min-width: 170px;
    width: fit-content;
    align-self: center;
    justify-content: center;
    margin: 20px auto 0;
    text-align: center;
}


/* ----------------------------------------------------------
   Responsive
   ---------------------------------------------------------- */

@media (max-width: 1024px) {

    .adh-home-collection-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .adh-home-collection-card,
    .adh-home-collection-large,
    .adh-home-collection-all {
        grid-column: auto;
    }
}

@media (max-width: 900px) {

    .adh-home-featured-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {

    .adh-home-collection-grid {
        grid-template-columns: 1fr;
    }

    .adh-home-collection-card,
    .adh-home-collection-large,
    .adh-home-collection-all {
        grid-column: auto;
        aspect-ratio: 4 / 5;
    }
}

@media (max-width: 520px) {

    .adh-home-featured-grid {
        gap: 30px 12px;
    }

    .adh-home-featured-title {
        font-size: .86rem;
    }

    .adh-home-featured-price {
        font-size: .88rem;
    }

    .adh-home-featured-action {
        width: 100%;
        min-width: 0;
        padding-inline: 10px;
        font-size: .67rem;
    }

    .adh-home-look-gallery {
        gap: 10px;
    }
}


/* ==========================================================
   H4.3B FINAL UAT CORRECTIONS
   ========================================================== */

.adh-home-featured-price-placeholder {
    visibility: hidden;
}

.adh-home-featured-content {
    min-height: 178px;
}

.adh-home-featured-action {
    margin-top: 20px;
}

@media (max-width: 520px) {

    .adh-home-featured-content {
        min-height: 160px;
    }
}

/* ==========================================================
   H4.3C — PREMIUM DYNAMIC COLLECTIONS
   ========================================================== */


.adh-collection-page {
    background: var(--adh-white);
    color: var(--adh-navy);
}

.adh-collection-hero {
    border-bottom: 1px solid var(--adh-border);
    background: var(--adh-ivory);
}

.adh-collection-hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    min-height: 330px;
    padding-top: clamp(58px, 7vw, 92px);
    padding-bottom: clamp(58px, 7vw, 92px);
}

.adh-collection-hero.has-image
    .adh-collection-hero-inner {
    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(320px, .95fr);
    gap: clamp(38px, 6vw, 88px);
}

.adh-collection-hero-copy {
    max-width: 760px;
}

.adh-collection-eyebrow {
    margin: 0 0 14px;
    color: var(--adh-gold);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .16em;
    line-height: 1.3;
    text-transform: uppercase;
}

.adh-collection-hero h1 {
    max-width: 850px;
    margin: 0;
    color: var(--adh-navy);
    font-family: var(--adh-font-display);
    font-size: clamp(3rem, 7vw, 6rem);
    font-weight: 500;
    letter-spacing: -.035em;
    line-height: .98;
}

.adh-collection-intro {
    max-width: 650px;
    margin-top: 24px;
    color: var(--adh-muted);
    font-size: 1rem;
    line-height: 1.75;
}

.adh-collection-intro > :last-child {
    margin-bottom: 0;
}

.adh-collection-count {
    margin: 24px 0 0;
    color: var(--adh-navy);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.adh-collection-hero-media {
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: var(--adh-white);
}

.adh-collection-hero-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.adh-collection-products {
    padding-top: clamp(42px, 6vw, 72px);
    padding-bottom: clamp(68px, 8vw, 110px);
}

.adh-collection-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 34px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--adh-border);
}

.adh-collection-results
    .woocommerce-result-count {
    margin: 0;
    color: var(--adh-muted);
    font-size: .82rem;
}

.adh-collection-sort
    .woocommerce-ordering {
    margin: 0;
}

.adh-collection-sort select {
    min-width: 190px;
    padding: 11px 38px 11px 14px;
    border: 1px solid var(--adh-border);
    border-radius: 0;
    background: var(--adh-white);
    color: var(--adh-navy);
    font: inherit;
    font-size: .82rem;
}

.adh-collection-grid-wrap
    .woocommerce ul.products,
.adh-collection-grid-wrap
    ul.products {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 48px 20px;
    margin: 0;
}

.adh-collection-grid-wrap
    .woocommerce ul.products::before,
.adh-collection-grid-wrap
    .woocommerce ul.products::after,
.adh-collection-grid-wrap
    ul.products::before,
.adh-collection-grid-wrap
    ul.products::after {
    display: none;
}

.adh-collection-grid-wrap
    .woocommerce ul.products li.product,
.adh-collection-grid-wrap
    ul.products li.product {
    float: none;
    width: auto;
    margin: 0;
}

.adh-collection-grid-wrap
    ul.products li.product
    a img {
    width: 100%;
    margin: 0 0 17px;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center top;
    background: var(--adh-ivory);
}

.adh-collection-grid-wrap
    ul.products li.product
    .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-top: 16px;
    padding: 11px 18px;
    border: 1px solid var(--adh-navy);
    border-radius: 0;
    background: var(--adh-navy);
    color: var(--adh-white);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
    transition:
        background 180ms ease,
        color 180ms ease;
}

.adh-collection-grid-wrap
    ul.products li.product
    .button:hover,
.adh-collection-grid-wrap
    ul.products li.product
    .button:focus-visible {
    background: transparent;
    color: var(--adh-navy);
}

.adh-collection-pagination {
    margin-top: 58px;
}

.adh-collection-pagination
    .woocommerce-pagination {
    text-align: center;
}

.adh-collection-pagination
    .woocommerce-pagination
    ul.page-numbers {
    display: inline-flex;
    gap: 8px;
    border: 0;
}

.adh-collection-pagination
    .woocommerce-pagination
    ul.page-numbers
    li {
    border: 0;
}

.adh-collection-pagination
    .page-numbers
    a,
.adh-collection-pagination
    .page-numbers
    span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 42px;
    padding: 8px;
    border: 1px solid var(--adh-border);
    color: var(--adh-navy);
}

.adh-collection-pagination
    .page-numbers
    .current {
    border-color: var(--adh-navy);
    background: var(--adh-navy);
    color: var(--adh-white);
}

.adh-collection-empty {
    max-width: 720px;
    margin: 0 auto;
    padding: clamp(70px, 9vw, 120px) 28px;
    text-align: center;
}

.adh-collection-empty h2 {
    margin: 0 0 18px;
    color: var(--adh-navy);
    font-size: clamp(2.2rem, 5vw, 4rem);
}

.adh-collection-empty
    > p:not(.adh-collection-eyebrow) {
    max-width: 580px;
    margin: 0 auto 30px;
    color: var(--adh-muted);
    line-height: 1.75;
}

@media (max-width: 1050px) {

    .adh-collection-hero.has-image
        .adh-collection-hero-inner {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(280px, .8fr);
        gap: 34px;
    }

    .adh-collection-grid-wrap
        .woocommerce ul.products,
    .adh-collection-grid-wrap
        ul.products {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {

    .adh-collection-hero.has-image
        .adh-collection-hero-inner {
        grid-template-columns: 1fr;
    }

    .adh-collection-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .adh-collection-sort,
    .adh-collection-sort
        .woocommerce-ordering,
    .adh-collection-sort select {
        width: 100%;
    }

    .adh-collection-grid-wrap
        .woocommerce ul.products,
    .adh-collection-grid-wrap
        ul.products {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: 36px 14px;
    }
}

@media (max-width: 440px) {

    .adh-collection-hero h1 {
        font-size: clamp(2.7rem, 15vw, 4rem);
    }

    .adh-collection-grid-wrap
        .woocommerce ul.products,
    .adh-collection-grid-wrap
        ul.products {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   H4.3D — PREMIUM SHOP / PRODUCT LISTING
   ========================================================= */

.adh-shop-page {
    background: var(--adh-white);
}

.adh-shop-hero {
    border-bottom: 1px solid var(--adh-border);
    background: var(--adh-ivory);
}

.adh-shop-hero-inner {
    display: grid;
    grid-template-columns:
        minmax(0, 1.25fr)
        minmax(260px, .75fr);
    align-items: end;
    gap: clamp(50px, 8vw, 120px);
    min-height: 390px;
    padding-top: clamp(70px, 9vw, 118px);
    padding-bottom: clamp(64px, 8vw, 102px);
}

.adh-shop-hero-copy {
    max-width: 820px;
}

.adh-shop-eyebrow {
    margin: 0 0 14px;
    color: var(--adh-gold);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .16em;
    line-height: 1.3;
    text-transform: uppercase;
}

.adh-shop-hero h1 {
    margin: 0;
    color: var(--adh-navy);
    font-family: var(--adh-font-display);
    font-size: clamp(3.6rem, 8vw, 7rem);
    font-weight: 500;
    letter-spacing: -.04em;
    line-height: .92;
}

.adh-shop-intro {
    max-width: 680px;
    margin: 28px 0 0;
    color: var(--adh-muted);
    font-size: clamp(1rem, 1.3vw, 1.12rem);
    line-height: 1.8;
}

.adh-shop-hero-aside {
    max-width: 390px;
    padding-left: 26px;
    border-left: 1px solid var(--adh-gold);
    color: var(--adh-muted);
    line-height: 1.75;
}

.adh-shop-hero-aside p {
    margin-top: 0;
}

.adh-shop-hero-aside p:last-child {
    margin-bottom: 0;
}

.adh-shop-aside-label {
    margin-bottom: 12px;
    color: var(--adh-navy);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.adh-shop-discovery {
    padding: clamp(42px, 6vw, 68px) 0;
    border-bottom: 1px solid var(--adh-border);
    background: var(--adh-white);
}

.adh-shop-discovery-heading {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(260px, 460px);
    align-items: end;
    gap: 42px;
    margin-bottom: 30px;
}

.adh-shop-discovery-heading h2 {
    margin: 0;
    color: var(--adh-navy);
    font-family: var(--adh-font-display);
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 500;
    letter-spacing: -.025em;
    line-height: 1;
}

.adh-shop-discovery-heading > p {
    margin: 0;
    color: var(--adh-muted);
    line-height: 1.7;
}

.adh-shop-category-filters {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 2px 0 10px;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}

.adh-shop-filter-chip {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 17px;
    border: 1px solid var(--adh-border);
    background: var(--adh-white);
    color: var(--adh-navy);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .055em;
    line-height: 1.2;
    text-decoration: none;
    transition:
        border-color 180ms ease,
        background 180ms ease,
        color 180ms ease;
}

.adh-shop-filter-chip:hover,
.adh-shop-filter-chip:focus-visible {
    border-color: var(--adh-navy);
}

.adh-shop-filter-chip.is-active {
    border-color: var(--adh-navy);
    background: var(--adh-navy);
    color: var(--adh-white);
}

.adh-shop-products {
    padding-top: clamp(44px, 6vw, 72px);
    padding-bottom: clamp(72px, 9vw, 120px);
}

.adh-shop-active-filter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
    padding: 15px 18px;
    background: var(--adh-ivory);
    color: var(--adh-muted);
    font-size: .82rem;
}

.adh-shop-active-filter strong {
    color: var(--adh-navy);
}

.adh-shop-active-filter a {
    color: var(--adh-navy);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.adh-shop-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 34px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--adh-border);
}

.adh-shop-results
    .woocommerce-result-count {
    margin: 0;
    color: var(--adh-muted);
    font-size: .82rem;
}

.adh-shop-sort
    .woocommerce-ordering {
    margin: 0;
}

.adh-shop-sort select {
    min-width: 200px;
    padding: 11px 38px 11px 14px;
    border: 1px solid var(--adh-border);
    border-radius: 0;
    background: var(--adh-white);
    color: var(--adh-navy);
    font: inherit;
    font-size: .82rem;
}

.adh-shop-grid-wrap
    .woocommerce ul.products,
.adh-shop-grid-wrap
    ul.products {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 48px 20px;
    margin: 0;
}

.adh-shop-grid-wrap
    .woocommerce ul.products::before,
.adh-shop-grid-wrap
    .woocommerce ul.products::after,
.adh-shop-grid-wrap
    ul.products::before,
.adh-shop-grid-wrap
    ul.products::after {
    display: none;
}

.adh-shop-grid-wrap
    .woocommerce ul.products li.product,
.adh-shop-grid-wrap
    ul.products li.product {
    float: none;
    width: auto;
    margin: 0;
}

.adh-shop-grid-wrap
    ul.products li.product
    a img {
    width: 100%;
    margin: 0 0 17px;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center top;
    background: var(--adh-ivory);
}

.adh-shop-grid-wrap
    ul.products li.product
    .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-top: 16px;
    padding: 11px 18px;
    border: 1px solid var(--adh-navy);
    border-radius: 0;
    background: var(--adh-navy);
    color: var(--adh-white);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
    transition:
        background 180ms ease,
        color 180ms ease;
}

.adh-shop-grid-wrap
    ul.products li.product
    .button:hover,
.adh-shop-grid-wrap
    ul.products li.product
    .button:focus-visible {
    background: transparent;
    color: var(--adh-navy);
}

.adh-shop-pagination {
    margin-top: 58px;
}

.adh-shop-pagination
    .woocommerce-pagination {
    text-align: center;
}

.adh-shop-pagination
    .woocommerce-pagination
    ul.page-numbers {
    display: inline-flex;
    gap: 8px;
    border: 0;
}

.adh-shop-pagination
    .woocommerce-pagination
    ul.page-numbers
    li {
    border: 0;
}

.adh-shop-pagination
    .page-numbers
    a,
.adh-shop-pagination
    .page-numbers
    span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 42px;
    padding: 8px;
    border: 1px solid var(--adh-border);
    color: var(--adh-navy);
}

.adh-shop-pagination
    .page-numbers
    .current {
    border-color: var(--adh-navy);
    background: var(--adh-navy);
    color: var(--adh-white);
}

.adh-shop-empty {
    max-width: 720px;
    margin: 0 auto;
    padding: clamp(70px, 9vw, 120px) 28px;
    text-align: center;
}

.adh-shop-empty h2 {
    margin: 0 0 18px;
    color: var(--adh-navy);
    font-family: var(--adh-font-display);
    font-size: clamp(2.2rem, 5vw, 4rem);
    font-weight: 500;
}

.adh-shop-empty
    > p:not(.adh-shop-eyebrow) {
    max-width: 590px;
    margin: 0 auto 30px;
    color: var(--adh-muted);
    line-height: 1.75;
}

@media (max-width: 1050px) {

    .adh-shop-hero-inner {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(230px, .65fr);
        gap: 42px;
    }

    .adh-shop-grid-wrap
        .woocommerce ul.products,
    .adh-shop-grid-wrap
        ul.products {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {

    .adh-shop-hero-inner,
    .adh-shop-discovery-heading {
        grid-template-columns: 1fr;
    }

    .adh-shop-hero-inner {
        min-height: 0;
    }

    .adh-shop-hero-aside {
        max-width: none;
    }

    .adh-shop-discovery-heading {
        gap: 18px;
    }

    .adh-shop-active-filter,
    .adh-shop-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .adh-shop-sort,
    .adh-shop-sort
        .woocommerce-ordering,
    .adh-shop-sort select {
        width: 100%;
    }

    .adh-shop-grid-wrap
        .woocommerce ul.products,
    .adh-shop-grid-wrap
        ul.products {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: 36px 14px;
    }
}

@media (max-width: 440px) {

    .adh-shop-hero h1 {
        font-size: clamp(3rem, 17vw, 4.7rem);
    }

    .adh-shop-grid-wrap
        .woocommerce ul.products,
    .adh-shop-grid-wrap
        ul.products {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================
   H4.3E ? Product Detail Page
   ========================================================== */

.single-product .site-main {
max-width: 1320px;
margin-inline: auto;
padding-inline: clamp(20px, 4vw, 56px);
}

.single-product div.product {
display: grid;
grid-template-columns:
minmax(0, 1.08fr)
minmax(320px, 0.92fr);
column-gap: clamp(38px, 6vw, 86px);
row-gap: 46px;
align-items: start;
}

.single-product div.product > .woocommerce-product-gallery {
grid-column: 1;
grid-row: 1;
width: 100%;
float: none;
margin: 0;
}

.single-product div.product > .summary {
grid-column: 2;
grid-row: 1;
width: 100%;
float: none;
margin: 0;
}

.single-product div.product > .woocommerce-tabs,
.single-product div.product > .related,
.single-product div.product > .up-sells {
grid-column: 1 / -1;
width: 100%;
}


/* Gallery */

.single-product .woocommerce-product-gallery__wrapper {
background: #f7f3ea;
}

.single-product .woocommerce-product-gallery__image {
background: #f7f3ea;
}

.single-product .woocommerce-product-gallery__image img {
width: 100%;
height: auto;
object-fit: cover;
}

.single-product
.woocommerce-product-gallery
.flex-control-thumbs {
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
gap: 10px;
margin-top: 14px;
}

.single-product
.woocommerce-product-gallery
.flex-control-thumbs li {
width: auto;
float: none;
margin: 0;
}

.single-product
.woocommerce-product-gallery
.flex-control-thumbs img {
border: 1px solid #e1ddd4;
background: #fff;
transition:
border-color 0.2s ease,
opacity 0.2s ease;
}

.single-product
.woocommerce-product-gallery
.flex-control-thumbs img.flex-active {
border-color: #c6a15b;
}


/* Product summary */

.single-product .summary .product_title {
margin: 0 0 16px;
color: #0b1f33;
font-size: clamp(30px, 3vw, 46px);
line-height: 1.12;
letter-spacing: -0.025em;
}

.single-product .summary .price {
margin: 0 0 22px;
color: #0b1f33;
font-size: clamp(23px, 2vw, 30px);
font-weight: 700;
}

.single-product .summary .price del {
margin-right: 8px;
color: #68727c;
font-size: 0.72em;
font-weight: 400;
}

.single-product .summary .price ins {
color: #0b1f33;
text-decoration: none;
}

.single-product
.woocommerce-product-details__short-description {
margin: 0 0 26px;
color: #42484e;
font-size: 16px;
line-height: 1.75;
}


/* Variation controls */

.single-product .variations {
margin-bottom: 20px;
border: 0;
}

.single-product .variations th,
.single-product .variations td {
display: block;
padding: 0;
border: 0;
text-align: left;
}

.single-product .variations th {
margin-bottom: 7px;
}

.single-product .variations label {
color: #0b1f33;
font-weight: 700;
}

.single-product .variations select {
width: 100%;
min-height: 48px;
margin: 0 0 18px;
padding: 10px 40px 10px 13px;
border: 1px solid #cdd2d6;
border-radius: 2px;
background-color: #fff;
color: #17232e;
}

.single-product .reset_variations {
display: inline-block;
margin-bottom: 12px;
font-size: 13px;
}


/* Quantity + Add to Bag */

.single-product form.cart {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin: 26px 0 18px;
}

.single-product form.cart .quantity {
margin: 0;
}

.single-product form.cart .qty {
width: 76px;
min-height: 52px;
border: 1px solid #cdd2d6;
border-radius: 2px;
}

.single-product
.single_add_to_cart_button.button,
.single-product
.single_add_to_cart_button.button.alt {
flex: 1 1 220px;
min-height: 52px;
padding: 14px 28px;
border: 1px solid #0b1f33;
border-radius: 2px;
background: #0b1f33;
color: #fff;
font-weight: 700;
letter-spacing: 0.03em;
text-transform: none;
transition:
background-color 0.2s ease,
border-color 0.2s ease,
color 0.2s ease;
}

.single-product
.single_add_to_cart_button.button:hover,
.single-product
.single_add_to_cart_button.button.alt:hover {
border-color: #c6a15b;
background: #c6a15b;
color: #0b1f33;
}


/* Delivery assurance */

.adomac-pdp-delivery-summary {
display: flex;
gap: 12px;
margin: 18px 0 24px;
padding: 15px 17px;
border: 1px solid #e4ded2;
background: #f7f3ea;
color: #333a41;
}

.adomac-pdp-delivery-icon {
display: inline-flex;
flex: 0 0 24px;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
border-radius: 50%;
background: #0b1f33;
color: #fff;
font-size: 13px;
font-weight: 700;
}

.adomac-pdp-delivery-summary strong {
display: block;
margin-bottom: 3px;
color: #0b1f33;
}

.adomac-pdp-delivery-summary p {
margin: 0;
font-size: 14px;
line-height: 1.55;
}


/* Product metadata */

.single-product .product_meta {
margin-top: 22px;
padding-top: 18px;
border-top: 1px solid #e2e3e4;
color: #67717a;
font-size: 13px;
line-height: 1.8;
}

.single-product .product_meta a {
color: #0b1f33;
}


/* Tabs */

.single-product .woocommerce-tabs {
margin-top: 14px;
padding-top: 18px;
}

.single-product
.woocommerce-tabs
ul.tabs {
display: flex;
flex-wrap: wrap;
gap: 28px;
margin: 0;
padding: 0;
border-bottom: 1px solid #dfe1e3;
}

.single-product
.woocommerce-tabs
ul.tabs::before,
.single-product
.woocommerce-tabs
ul.tabs li::before,
.single-product
.woocommerce-tabs
ul.tabs li::after {
display: none;
}

.single-product
.woocommerce-tabs
ul.tabs li {
margin: 0;
padding: 0;
border: 0;
border-radius: 0;
background: transparent;
}

.single-product
.woocommerce-tabs
ul.tabs li a {
display: block;
padding: 13px 0;
border-bottom: 2px solid transparent;
color: #5c646c;
font-weight: 600;
}

.single-product
.woocommerce-tabs
ul.tabs li.active a {
border-bottom-color: #c6a15b;
color: #0b1f33;
}

.single-product
.woocommerce-tabs
.panel {
margin: 0;
padding: 30px 0 12px;
color: #3f464d;
font-size: 16px;
line-height: 1.75;
}

.single-product
.woocommerce-tabs
.panel h2:first-child {
margin-top: 0;
color: #0b1f33;
}

.adomac-pdp-information-panel {
max-width: 860px;
}


/* Reviews */

.single-product #reviews {
max-width: 960px;
}

.single-product #reviews #comments ol.commentlist {
padding: 0;
}

.single-product
#reviews
#comments
ol.commentlist
li
.comment-text {
margin-left: 0;
padding: 22px;
border: 1px solid #e0e2e4;
border-radius: 2px;
background: #fff;
}

.single-product #review_form_wrapper {
margin-top: 32px;
padding: 28px;
background: #f7f3ea;
}


/* Related products */

.single-product .related.products,
.single-product .up-sells.products {
margin-top: 22px;
padding-top: 36px;
border-top: 1px solid #e0e2e4;
}

.single-product .related.products > h2,
.single-product .up-sells.products > h2 {
margin-bottom: 28px;
color: #0b1f33;
font-size: clamp(26px, 2.5vw, 36px);
}


/* Responsive */

@media (max-width: 900px) {

.single-product div.product {
grid-template-columns: 1fr;
row-gap: 30px;
}

.single-product
div.product > .woocommerce-product-gallery,
.single-product
div.product > .summary,
.single-product
div.product > .woocommerce-tabs,
.single-product
div.product > .related,
.single-product
div.product > .up-sells {
grid-column: 1;
grid-row: auto;
}

.single-product
.woocommerce-product-gallery
.flex-control-thumbs {
grid-template-columns:
repeat(4, minmax(0, 1fr));
}

.single-product .summary .product_title {
font-size: clamp(28px, 8vw, 38px);
}
}

@media (max-width: 560px) {

.single-product .site-main {
padding-inline: 16px;
}

.single-product form.cart {
display: block;
}

.single-product form.cart .quantity {
margin-bottom: 12px;
}

.single-product
.single_add_to_cart_button.button,
.single-product
.single_add_to_cart_button.button.alt {
width: 100%;
}

.single-product
.woocommerce-tabs
ul.tabs {
gap: 18px;
}

.single-product #review_form_wrapper {
padding: 20px;
}
}

/* ==========================================================
   P12-PDP ? Customer Experience Corrections
   ========================================================== */


/* Related-product action alignment */

.single-product
.related.products
ul.products
li.product
.button,
.single-product
.up-sells.products
ul.products
li.product
.button {
display: flex;
align-items: center;
justify-content: center;
width: min(100%, 190px);
min-height: 50px;
margin: 18px auto 0;
text-align: center;
}


/* Out-of-stock notification */

.adomac-stock-notify {
margin: 22px 0 24px;
padding: 22px;
border: 1px solid #e1d8c8;
background: #f7f3ea;
}

.adomac-stock-notify h3 {
margin: 0 0 8px;
color: #0b1f33;
font-size: 20px;
}

.adomac-stock-notify > p {
margin: 0 0 16px;
color: #444b52;
line-height: 1.6;
}

.adomac-stock-notify-form {
display: flex;
gap: 10px;
align-items: stretch;
}

.adomac-stock-notify-form input[type="email"] {
flex: 1 1 auto;
min-width: 0;
min-height: 48px;
padding: 10px 13px;
border: 1px solid #c7ccd0;
border-radius: 2px;
background: #fff;
color: #17232e;
}

.adomac-stock-notify-form button {
flex: 0 0 auto;
min-height: 48px;
padding: 11px 22px;
border: 1px solid #0b1f33;
border-radius: 2px;
background: #0b1f33;
color: #fff;
cursor: pointer;
font-weight: 700;
}

.adomac-stock-notify-form button:hover {
border-color: #c6a15b;
background: #c6a15b;
color: #0b1f33;
}

.adomac-stock-notify-message {
margin-bottom: 14px !important;
padding: 10px 12px;
border-left: 3px solid #0b1f33;
background: #fff;
}

.adomac-stock-notify-message.is-error {
border-left-color: #b42318;
}

.adomac-stock-notify-privacy {
margin: 10px 0 0 !important;
color: #68717a !important;
font-size: 12px;
}

.adomac-stock-notify-honeypot {
position: absolute !important;
left: -9999px !important;
width: 1px !important;
height: 1px !important;
overflow: hidden !important;
}

@media (max-width: 560px) {

.adomac-stock-notify-form {
display: block;
}

.adomac-stock-notify-form input[type="email"],
.adomac-stock-notify-form button {
width: 100%;
}

.adomac-stock-notify-form button {
margin-top: 10px;
}
}

/* ==========================================================
   P12.A ? Premium Product Detail Page
   ========================================================== */


/* ----------------------------------------------------------
   PDP overall composition
   ---------------------------------------------------------- */

.single-product .site-main {
max-width: 1440px;
margin-inline: auto;
}

.single-product div.product {
grid-template-columns:
minmax(0, 1.3fr)
minmax(360px, 0.7fr);
column-gap: clamp(52px, 6vw, 96px);
align-items: start;
}

.single-product div.product > .summary {
max-width: 520px;
}


/* ----------------------------------------------------------
   Breadcrumb
   ---------------------------------------------------------- */

.single-product .woocommerce-breadcrumb {
max-width: 100%;
margin-bottom: 28px;
overflow: hidden;
color: #68717a;
font-size: 13px;
line-height: 1.5;
text-overflow: ellipsis;
white-space: nowrap;
}

.single-product .woocommerce-breadcrumb a {
color: #47515a;
text-decoration: none;
}

.single-product .woocommerce-breadcrumb a:hover {
color: #c6a15b;
}


/* ----------------------------------------------------------
   Premium product gallery
   Desktop: thumbnail rail + hero image
   ---------------------------------------------------------- */

.single-product
div.product
> .woocommerce-product-gallery {
display: grid;
grid-template-columns: 82px minmax(0, 1fr);
column-gap: 18px;
align-items: start;
}

.single-product
.woocommerce-product-gallery
.flex-viewport {
grid-column: 2;
grid-row: 1;
width: 100%;
min-width: 0;
border: 1px solid #ece8df;
background: #fff;
}

.single-product
.woocommerce-product-gallery__wrapper {
background: #fff;
}

.single-product
.woocommerce-product-gallery__image {
background: #fff;
}

.single-product
.woocommerce-product-gallery__image
a {
display: flex;
width: 100%;
aspect-ratio: 4 / 5;
align-items: center;
justify-content: center;
background: #fff;
}

.single-product
.woocommerce-product-gallery__image
img {
display: block;
width: 100%;
height: 100%;
max-height: 760px;
object-fit: contain;
object-position: center;
background: #fff;
}


/* Vertical image thumbnail rail */

.single-product
.woocommerce-product-gallery
.flex-control-thumbs {
grid-column: 1;
grid-row: 1;
display: flex;
flex-direction: column;
gap: 12px;
width: 82px;
max-height: 640px;
margin: 0;
padding: 0 4px 0 0;
overflow-x: hidden;
overflow-y: auto;
list-style: none;
scrollbar-width: thin;
}

.single-product
.woocommerce-product-gallery
.flex-control-thumbs
li {
flex: 0 0 auto;
width: 76px;
height: 92px;
margin: 0;
padding: 0;
border: 1px solid #e1ddd4;
background: #fff;
cursor: pointer;
overflow: hidden;
}

.single-product
.woocommerce-product-gallery
.flex-control-thumbs
img {
display: block;
width: 100%;
height: 100%;
padding: 3px;
border: 0;
background: #fff;
object-fit: cover;
object-position: center;
opacity: 0.72;
transition:
opacity 0.2s ease,
box-shadow 0.2s ease;
}

.single-product
.woocommerce-product-gallery
.flex-control-thumbs
img:hover {
opacity: 1;
}

.single-product
.woocommerce-product-gallery
.flex-control-thumbs
img.flex-active {
border: 0;
box-shadow:
inset 0 0 0 2px #c6a15b;
opacity: 1;
}


/* Zoom control */

.single-product
.woocommerce-product-gallery
.woocommerce-product-gallery__trigger {
top: 16px;
right: 16px;
z-index: 5;
width: 42px;
height: 42px;
border: 1px solid #e1ddd4;
border-radius: 50%;
background: rgba(255, 255, 255, 0.94);
box-shadow: 0 3px 14px rgba(11, 31, 51, 0.08);
}


/* ----------------------------------------------------------
   Premium product summary
   ---------------------------------------------------------- */

.single-product .summary .product_title {
max-width: 18ch;
margin: 0 0 18px;
color: #0b1f33;
font-size: clamp(30px, 2.35vw, 38px);
font-weight: 500;
line-height: 1.12;
letter-spacing: -0.025em;
}

.single-product .summary .price {
margin: 0 0 20px;
color: #0b1f33;
font-size: clamp(22px, 1.7vw, 28px);
font-weight: 700;
line-height: 1.2;
}

.single-product
.summary
.woocommerce-product-details__short-description {
max-width: 48ch;
margin-bottom: 24px;
color: #4c5359;
font-size: 15px;
line-height: 1.7;
}


/* ----------------------------------------------------------
   Variable product configuration
   ---------------------------------------------------------- */

.single-product form.variations_form.cart {
display: block;
margin: 28px 0 20px;
padding-top: 24px;
border-top: 1px solid #e5e1d8;
}

.single-product
form.variations_form.cart
table.variations {
display: block;
width: 100%;
margin: 0 0 12px;
}

.single-product
form.variations_form.cart
table.variations
tbody {
display: grid;
gap: 14px;
}

.single-product
form.variations_form.cart
table.variations
tr {
display: grid;
grid-template-columns: 105px minmax(0, 1fr);
gap: 14px;
align-items: center;
padding: 0;
}

.single-product
form.variations_form.cart
table.variations
th,
.single-product
form.variations_form.cart
table.variations
td {
display: block;
width: auto;
margin: 0;
padding: 0;
}

.single-product
form.variations_form.cart
table.variations
th {
margin: 0;
}

.single-product
form.variations_form.cart
table.variations
label {
display: block;
margin: 0;
color: #0b1f33;
font-size: 14px;
font-weight: 700;
letter-spacing: 0.01em;
}

.single-product
form.variations_form.cart
table.variations
select {
width: 100%;
min-height: 52px;
margin: 0;
padding: 11px 42px 11px 15px;
border: 1px solid #c9ced3;
border-radius: 0;
background-color: #fff;
color: #17232e;
font-size: 15px;
}

.single-product
form.variations_form.cart
table.variations
select:focus {
border-color: #c6a15b;
outline: 2px solid rgba(198, 161, 91, 0.18);
outline-offset: 1px;
}

.single-product
form.variations_form.cart
.reset_variations {
margin: 10px 0 2px 119px;
color: #68717a;
font-size: 12px;
text-decoration: underline;
text-underline-offset: 3px;
}


/* Variation result area */

.single-product
form.variations_form.cart
.single_variation_wrap {
margin-top: 20px;
}

.single-product
form.variations_form.cart
.single_variation {
margin-bottom: 16px;
}

.single-product
form.variations_form.cart
.single_variation
.woocommerce-variation-price {
margin-bottom: 10px;
}

.single-product
form.variations_form.cart
.single_variation
.price {
margin-bottom: 10px;
font-size: 22px;
}

.single-product
form.variations_form.cart
.woocommerce-variation-availability {
color: #4c5359;
font-size: 14px;
}


/* ----------------------------------------------------------
   Quantity + Add to Bag
   ---------------------------------------------------------- */

.single-product
form.variations_form.cart
.woocommerce-variation-add-to-cart {
display: grid;
grid-template-columns: 82px minmax(0, 1fr);
gap: 12px;
align-items: stretch;
}

.single-product
form.variations_form.cart
.quantity {
width: 82px;
margin: 0;
}

.single-product
form.variations_form.cart
.quantity
.qty {
width: 82px;
height: 54px;
min-height: 54px;
border: 1px solid #c9ced3;
border-radius: 0;
background: #fff;
text-align: center;
}

.single-product
form.variations_form.cart
.single_add_to_cart_button.button,
.single-product
form.variations_form.cart
.single_add_to_cart_button.button.alt {
width: 100%;
min-height: 54px;
margin: 0;
border: 1px solid #0b1f33;
border-radius: 0;
background: #0b1f33;
color: #fff;
font-size: 13px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
}

.single-product
form.variations_form.cart
.single_add_to_cart_button.button:hover,
.single-product
form.variations_form.cart
.single_add_to_cart_button.button.alt:hover {
border-color: #c6a15b;
background: #c6a15b;
color: #0b1f33;
}

.single-product
form.variations_form.cart
.single_add_to_cart_button.button.disabled,
.single-product
form.variations_form.cart
.single_add_to_cart_button.button:disabled,
.single-product
form.variations_form.cart
.single_add_to_cart_button.button.alt.disabled,
.single-product
form.variations_form.cart
.single_add_to_cart_button.button.alt:disabled {
border-color: #d8dadd;
background: #e8e9eb;
color: #777d82;
cursor: not-allowed;
opacity: 1;
}


/* ----------------------------------------------------------
   Delivery assurance
   ---------------------------------------------------------- */

.single-product .adomac-product-delivery {
margin-top: 22px;
padding: 18px 20px;
border: 1px solid #e3ded3;
background: #f7f3ea;
}

.single-product .adomac-product-delivery strong {
color: #0b1f33;
}


/* ----------------------------------------------------------
   Tabs / related products spacing
   ---------------------------------------------------------- */

.single-product
div.product
> .woocommerce-tabs {
margin-top: 54px;
}

.single-product .related.products,
.single-product .up-sells.products {
margin-top: 46px;
padding-top: 44px;
}

.single-product .related.products > h2,
.single-product .up-sells.products > h2 {
margin-bottom: 30px;
font-size: clamp(26px, 2vw, 32px);
font-weight: 500;
}


/* Related-product visual consistency */

.single-product
.related.products
ul.products
li.product,
.single-product
.up-sells.products
ul.products
li.product {
display: flex;
flex-direction: column;
}

.single-product
.related.products
ul.products
li.product
img,
.single-product
.up-sells.products
ul.products
li.product
img {
width: 100%;
aspect-ratio: 4 / 5;
background: #f5f6f6;
object-fit: contain;
}

.single-product
.related.products
ul.products
li.product
.button,
.single-product
.up-sells.products
ul.products
li.product
.button {
margin-top: auto;
}


/* ----------------------------------------------------------
   Tablet
   ---------------------------------------------------------- */

@media (max-width: 1100px) {

.single-product div.product {
grid-template-columns:
minmax(0, 1fr)
minmax(320px, 0.82fr);
column-gap: 40px;
}

.single-product
div.product
> .woocommerce-product-gallery {
grid-template-columns: 72px minmax(0, 1fr);
column-gap: 14px;
}

.single-product
.woocommerce-product-gallery
.flex-control-thumbs {
width: 72px;
}

.single-product
.woocommerce-product-gallery
.flex-control-thumbs
li {
width: 66px;
height: 82px;
}

.single-product .summary .product_title {
font-size: clamp(28px, 3vw, 34px);
}
}


/* ----------------------------------------------------------
   Mobile / stacked PDP
   ---------------------------------------------------------- */

@media (max-width: 900px) {

.single-product div.product {
grid-template-columns: 1fr;
row-gap: 32px;
}

.single-product div.product > .summary {
max-width: none;
}

.single-product
div.product
> .woocommerce-product-gallery {
display: block;
}

.single-product
.woocommerce-product-gallery
.flex-viewport {
width: 100%;
border: 1px solid #ece8df;
}

.single-product
.woocommerce-product-gallery
.flex-control-thumbs {
display: flex;
flex-direction: row;
gap: 10px;
width: 100%;
max-height: none;
margin-top: 12px;
padding: 0 0 5px;
overflow-x: auto;
overflow-y: hidden;
}

.single-product
.woocommerce-product-gallery
.flex-control-thumbs
li {
flex: 0 0 72px;
width: 72px;
height: 86px;
}

.single-product
.woocommerce-product-gallery__image
a {
aspect-ratio: 4 / 5;
}

.single-product .summary .product_title {
max-width: 22ch;
font-size: clamp(28px, 6vw, 34px);
}

.single-product
form.variations_form.cart
table.variations
tr {
grid-template-columns: 100px minmax(0, 1fr);
}
}


/* ----------------------------------------------------------
   Small mobile
   ---------------------------------------------------------- */

@media (max-width: 560px) {

.single-product .woocommerce-breadcrumb {
margin-bottom: 18px;
}

.single-product .summary .product_title {
max-width: none;
font-size: clamp(26px, 8vw, 32px);
line-height: 1.16;
}

.single-product
form.variations_form.cart
table.variations
tr {
display: block;
}

.single-product
form.variations_form.cart
table.variations
th {
margin-bottom: 7px;
}

.single-product
form.variations_form.cart
table.variations
select {
margin-bottom: 4px;
}

.single-product
form.variations_form.cart
.reset_variations {
margin-left: 0;
}

.single-product
form.variations_form.cart
.woocommerce-variation-add-to-cart {
grid-template-columns: 76px minmax(0, 1fr);
}

.single-product
form.variations_form.cart
.quantity,
.single-product
form.variations_form.cart
.quantity
.qty {
width: 76px;
}
}

/* ==========================================================
   P12.A.1 ? PDP Visual Balance Corrections
   ========================================================== */


/* Give both hero image and purchasing information
   appropriate premium desktop presence. */

body.single-product.woocommerce .site-main {
max-width: 1480px;
}

body.single-product.woocommerce div.product {
grid-template-columns:
minmax(560px, 1.15fr)
minmax(400px, 0.85fr);
column-gap: clamp(42px, 4.5vw, 68px);
}


/* ----------------------------------------------------------
   Gallery width correction
   ---------------------------------------------------------- */

body.single-product.woocommerce
div.product
> div.images.woocommerce-product-gallery {
display: grid;
grid-template-columns: 88px minmax(0, 1fr);
column-gap: 16px;
width: 100%;
max-width: none;
margin: 0;
float: none;
}

body.single-product.woocommerce
div.product
div.images.woocommerce-product-gallery
.flex-viewport {
grid-column: 2;
grid-row: 1;
width: 100%;
min-width: 0;
max-width: none;
}


/* Main product image should visually lead the page. */

body.single-product.woocommerce
div.product
div.images.woocommerce-product-gallery
.woocommerce-product-gallery__image
a {
width: 100%;
aspect-ratio: 4 / 5;
}

body.single-product.woocommerce
div.product
div.images.woocommerce-product-gallery
.woocommerce-product-gallery__image
img {
display: block;
width: 100%;
height: 100%;
max-width: none;
max-height: 720px;
margin: 0 auto;
object-fit: contain;
object-position: center;
}


/* ----------------------------------------------------------
   Force WooCommerce thumbnail defaults to respect
   the premium vertical rail.
   ---------------------------------------------------------- */

body.single-product.woocommerce
div.product
div.images.woocommerce-product-gallery
.flex-control-thumbs {
grid-column: 1;
grid-row: 1;
display: flex;
flex-direction: column;
gap: 12px;
width: 88px;
max-width: 88px;
max-height: 680px;
margin: 0;
padding: 0 4px 0 0;
overflow-x: hidden;
overflow-y: auto;
}

body.single-product.woocommerce
div.product
div.images.woocommerce-product-gallery
.flex-control-thumbs
li {
display: block;
flex: 0 0 84px;
width: 84px;
max-width: 84px;
height: 102px;
margin: 0;
padding: 0;
float: none;
clear: none;
border: 1px solid #dedbd4;
background: #fff;
overflow: hidden;
}

body.single-product.woocommerce
div.product
div.images.woocommerce-product-gallery
.flex-control-thumbs
li
img {
display: block;
width: 100%;
height: 100%;
margin: 0;
padding: 3px;
border: 0;
background: #fff;
object-fit: cover;
object-position: center;
opacity: 0.78;
}

body.single-product.woocommerce
div.product
div.images.woocommerce-product-gallery
.flex-control-thumbs
li
img.flex-active {
box-shadow:
inset 0 0 0 2px #c6a15b;
opacity: 1;
}


/* ----------------------------------------------------------
   Product information balance
   ---------------------------------------------------------- */

body.single-product.woocommerce
div.product
> .summary {
width: 100%;
max-width: none;
margin: 0;
}

body.single-product.woocommerce
.summary
.product_title {
width: 100%;
max-width: none;
margin-bottom: 18px;
font-size: clamp(29px, 2.25vw, 36px);
font-weight: 500;
line-height: 1.16;
letter-spacing: -0.02em;
}

body.single-product.woocommerce
.summary
.price {
margin-bottom: 22px;
}


/* Keep readable product copy width without
   artificially narrowing the title. */

body.single-product.woocommerce
.summary
.woocommerce-product-details__short-description {
max-width: 46ch;
}


/* ----------------------------------------------------------
   Medium desktop / tablet
   ---------------------------------------------------------- */

@media (max-width: 1180px) {

body.single-product.woocommerce div.product {
grid-template-columns:
minmax(480px, 1fr)
minmax(360px, 0.85fr);
column-gap: 38px;
}

body.single-product.woocommerce
div.product
> div.images.woocommerce-product-gallery {
grid-template-columns: 76px minmax(0, 1fr);
column-gap: 14px;
}

body.single-product.woocommerce
div.product
div.images.woocommerce-product-gallery
.flex-control-thumbs {
width: 76px;
max-width: 76px;
}

body.single-product.woocommerce
div.product
div.images.woocommerce-product-gallery
.flex-control-thumbs
li {
flex-basis: 72px;
width: 72px;
max-width: 72px;
height: 90px;
}

body.single-product.woocommerce
.summary
.product_title {
font-size: clamp(28px, 2.8vw, 34px);
}
}


/* ----------------------------------------------------------
   Mobile / stacked
   ---------------------------------------------------------- */

@media (max-width: 900px) {

body.single-product.woocommerce div.product {
grid-template-columns: 1fr;
row-gap: 30px;
}

body.single-product.woocommerce
div.product
> div.images.woocommerce-product-gallery {
display: block;
width: 100%;
}

body.single-product.woocommerce
div.product
div.images.woocommerce-product-gallery
.flex-viewport {
width: 100%;
}

body.single-product.woocommerce
div.product
div.images.woocommerce-product-gallery
.flex-control-thumbs {
display: flex;
flex-direction: row;
gap: 10px;
width: 100%;
max-width: 100%;
max-height: none;
margin-top: 12px;
padding: 0 0 5px;
overflow-x: auto;
overflow-y: hidden;
}

body.single-product.woocommerce
div.product
div.images.woocommerce-product-gallery
.flex-control-thumbs
li {
flex: 0 0 78px;
width: 78px;
max-width: 78px;
height: 96px;
}

body.single-product.woocommerce
.summary
.product_title {
width: 100%;
max-width: none;
font-size: clamp(27px, 6vw, 34px);
}
}


@media (max-width: 560px) {

body.single-product.woocommerce
div.product
div.images.woocommerce-product-gallery
.flex-control-thumbs
li {
flex-basis: 68px;
width: 68px;
max-width: 68px;
height: 82px;
}

body.single-product.woocommerce
.summary
.product_title {
font-size: clamp(26px, 7.5vw, 31px);
line-height: 1.18;
}
}

/* =========================================================
   P12 PRODUCT CARD CTA ALIGNMENT ? v0.5.3
   Applies to WooCommerce product grids across Homepage,
   Shop, Categories, Search and Related Products.
   ========================================================= */

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    align-self: center;

    width: 100%;
    max-width: 280px;
    min-height: 54px;

    box-sizing: border-box;

    margin-top: auto !important;
    margin-right: auto !important;
    margin-left: auto !important;

    padding: 14px 20px !important;

    line-height: 1.2 !important;
    text-align: center;
    white-space: normal;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:focus,
.woocommerce-page ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:focus {
    text-align: center;
}

@media (max-width: 767px) {

    .woocommerce ul.products li.product .button,
    .woocommerce-page ul.products li.product .button {
        width: calc(100% - 16px);
        max-width: none;
        min-height: 50px;
        padding: 12px 14px !important;
    }
}

/* =========================================================
   H4.3C.1 - CATEGORY / COLLECTION REFINEMENT
   Theme v0.5.4
   ========================================================= */

/* Tighter premium collection hero */
.adh-collection-hero-inner {
    min-height: 0;
    padding-top: clamp(40px, 5vw, 64px);
    padding-bottom: clamp(40px, 5vw, 64px);
}

.adh-collection-hero.has-image
.adh-collection-hero-inner {
    min-height: clamp(320px, 32vw, 420px);
}

.adh-collection-intro {
    max-width: 760px;
}

/* Reduce excess space around the product listing */
.adh-collection-products {
    padding-top: clamp(34px, 4vw, 52px);
    padding-bottom: clamp(38px, 5vw, 64px);
}

/* Results + customer controls */
.adh-collection-toolbar {
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
}

.adh-collection-results {
    flex: 1 1 auto;
}

.adh-collection-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    flex: 0 0 auto;
}

.adh-products-per-page,
.adh-products-per-page label,
.adh-collection-sort {
    display: flex;
    align-items: center;
    gap: 9px;
}

.adh-products-per-page {
    margin: 0;
}

.adh-products-per-page label {
    margin: 0;
}

.adh-collection-control-label {
    color: var(--adh-muted);
    font-size: .8rem;
    font-weight: 600;
    white-space: nowrap;
}

.adh-products-per-page select,
.adh-collection-sort
.woocommerce-ordering select {
    min-height: 44px;
    margin: 0;
    border: 1px solid var(--adh-border);
    border-radius: 0;
    background: var(--adh-white);
    color: var(--adh-navy);
    font: inherit;
}

.adh-products-per-page select {
    min-width: 78px;
    padding: 9px 30px 9px 12px;
}

.adh-collection-sort
.woocommerce-ordering {
    margin: 0;
}

.adh-collection-sort
.woocommerce-ordering select {
    min-width: 190px;
    padding: 9px 36px 9px 12px;
}

/* Consistent visual rhythm across product cards */
.adh-collection-grid-wrap
ul.products
li.product
.woocommerce-loop-product__title {
    display: -webkit-box;
    overflow: hidden;
    min-height: 4.35em;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.adh-collection-grid-wrap
ul.products
li.product
a img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center top;
}

/* Pagination remains clear without oversized footer gap */
.adh-collection-pagination {
    margin-top: clamp(36px, 4vw, 48px);
}


/* Responsive collection controls */
@media (max-width: 760px) {

    .adh-collection-hero-inner {
        padding-top: 36px;
        padding-bottom: 36px;
    }

    .adh-collection-toolbar {
        align-items: stretch;
    }

    .adh-collection-controls {
        width: 100%;
        justify-content: space-between;
    }

    .adh-collection-per-page,
    .adh-collection-sort {
        flex: 1 1 0;
    }

    .adh-products-per-page,
    .adh-collection-sort {
        justify-content: space-between;
    }

    .adh-collection-sort
    .woocommerce-ordering {
        flex: 1 1 auto;
    }

    .adh-collection-sort
    .woocommerce-ordering select {
        width: 100%;
        min-width: 0;
    }
}


@media (max-width: 520px) {

    .adh-collection-controls {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .adh-collection-per-page,
    .adh-products-per-page,
    .adh-collection-sort {
        width: 100%;
    }

    .adh-products-per-page select {
        min-width: 96px;
    }
}

/* =========================================================
   H4.3D.1 - SHOP TOOLBAR REFINEMENT
   Theme v0.5.6
   ========================================================= */

.adh-shop-toolbar {
    align-items: center;
    gap: 20px;
}

.adh-shop-results {
    flex: 1 1 auto;
}

.adh-shop-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    flex: 0 0 auto;
}

.adh-shop-per-page,
.adh-shop-sort,
.adh-shop-per-page .adh-products-per-page,
.adh-shop-per-page .adh-products-per-page label {
    display: flex;
    align-items: center;
    gap: 9px;
}

.adh-shop-control-label,
.adh-shop-per-page
.adh-collection-control-label {
    color: var(--adh-muted);
    font-size: .8rem;
    font-weight: 600;
    white-space: nowrap;
}

.adh-shop-per-page
.adh-products-per-page {
    margin: 0;
}

.adh-shop-per-page
.adh-products-per-page label {
    margin: 0;
}

.adh-shop-per-page
.adh-products-per-page select,
.adh-shop-sort
.woocommerce-ordering select {
    min-height: 44px;
    margin: 0;
    border: 1px solid var(--adh-border);
    border-radius: 0;
    background: var(--adh-white);
    color: var(--adh-navy);
    font: inherit;
}

.adh-shop-per-page
.adh-products-per-page select {
    min-width: 78px;
    padding: 9px 30px 9px 12px;
}

.adh-shop-sort
.woocommerce-ordering {
    margin: 0;
}

.adh-shop-sort
.woocommerce-ordering select {
    min-width: 190px;
    padding: 9px 36px 9px 12px;
}


@media (max-width: 760px) {

    .adh-shop-toolbar {
        align-items: stretch;
    }

    .adh-shop-controls {
        width: 100%;
        justify-content: space-between;
    }

    .adh-shop-per-page,
    .adh-shop-sort {
        flex: 1 1 0;
    }

    .adh-shop-per-page
    .adh-products-per-page,
    .adh-shop-sort {
        justify-content: space-between;
    }

    .adh-shop-sort
    .woocommerce-ordering {
        flex: 1 1 auto;
    }

    .adh-shop-sort
    .woocommerce-ordering select {
        width: 100%;
        min-width: 0;
    }
}


@media (max-width: 520px) {

    .adh-shop-controls {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .adh-shop-per-page,
    .adh-shop-sort,
    .adh-shop-per-page
    .adh-products-per-page {
        width: 100%;
    }
}

/* =========================================================
   P12-PDP FINAL CUSTOMER REFINEMENT
   Theme v0.5.7
   ========================================================= */


/* ---------------------------------------------------------
   Simple product:
   Quantity | Add to Bag | Buy Now
   --------------------------------------------------------- */

body.single-product.woocommerce
div.product.product-type-simple
form.cart {
    display: grid;
    grid-template-columns:
        82px
        minmax(0, 1fr)
        minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
}

body.single-product.woocommerce
div.product.product-type-simple
form.cart
.quantity,
body.single-product.woocommerce
div.product.product-type-simple
form.cart
.quantity
.qty {
    width: 82px;
}


/* ---------------------------------------------------------
   Variable product:
   Quantity | Add to Bag | Buy Now
   --------------------------------------------------------- */

body.single-product.woocommerce
form.variations_form.cart
.woocommerce-variation-add-to-cart {
    grid-template-columns:
        82px
        minmax(0, 1fr)
        minmax(0, 1fr);
}


/* ---------------------------------------------------------
   Buy Now
   --------------------------------------------------------- */

body.single-product.woocommerce
.adomac-buy-now {
    width: 100%;
    min-height: 54px;
    margin: 0;
    padding: 12px 18px;
    border: 1px solid #c6a15b;
    border-radius: 0;
    background: #c6a15b;
    color: #0b1f33;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-align: center;
    text-transform: uppercase;
    cursor: pointer;
    transition:
        background 180ms ease,
        border-color 180ms ease,
        color 180ms ease;
}

body.single-product.woocommerce
.adomac-buy-now:hover,
body.single-product.woocommerce
.adomac-buy-now:focus-visible {
    border-color: #0b1f33;
    background: #0b1f33;
    color: #fff;
}

body.single-product.woocommerce
.adomac-buy-now:disabled,
body.single-product.woocommerce
.adomac-buy-now[aria-disabled="true"] {
    border-color: #d8dadd;
    background: #e8e9eb;
    color: #777d82;
    cursor: not-allowed;
}


/* ---------------------------------------------------------
   Reviews
   --------------------------------------------------------- */

body.single-product.woocommerce
.woocommerce-Reviews-title {
    max-width: none;
    margin-bottom: 28px;
    color: #0b1f33;
    font-size: clamp(
        28px,
        2.2vw,
        34px
    );
    font-weight: 500;
    line-height: 1.2;
}

body.single-product.woocommerce
.woocommerce-verification-required {
    max-width: 720px;
    padding: 16px 18px;
    border: 1px solid #e3ded3;
    background: #f7f3ea;
    color: #39434c;
    line-height: 1.6;
}


/* ---------------------------------------------------------
   Related products
   --------------------------------------------------------- */

body.single-product.woocommerce
.related.products
ul.products
li.product
.woocommerce-loop-product__title {
    display: -webkit-box;
    overflow: hidden;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}


/* ---------------------------------------------------------
   Small mobile purchase controls
   --------------------------------------------------------- */

@media (max-width: 560px) {

    body.single-product.woocommerce
    div.product.product-type-simple
    form.cart,
    body.single-product.woocommerce
    form.variations_form.cart
    .woocommerce-variation-add-to-cart {
        grid-template-columns:
            76px
            minmax(0, 1fr);
    }

    body.single-product.woocommerce
    .adomac-buy-now {
        grid-column:
            1 / -1;
    }

    body.single-product.woocommerce
    div.product.product-type-simple
    form.cart
    .quantity,
    body.single-product.woocommerce
    div.product.product-type-simple
    form.cart
    .quantity
    .qty {
        width: 76px;
    }
}

/* =========================================================
   H4.3F SEARCH EXPERIENCE REFINEMENT
   Theme v0.5.8
   ========================================================= */


/* Successful product search context */

.adh-shop-search-context {
    margin: 0 0 clamp(28px, 4vw, 42px);
    padding:
        clamp(24px, 3vw, 34px)
        clamp(22px, 4vw, 40px);
    border-left: 3px solid var(--adh-gold);
    background: var(--adh-ivory);
}

.adh-shop-search-context
.adh-shop-eyebrow {
    margin-bottom: 10px;
}

.adh-shop-search-context h1 {
    margin: 0;
    color: var(--adh-navy);
    font-family: var(--adh-font-display);
    font-size:
        clamp(
            2rem,
            3.6vw,
            3.3rem
        );
    font-weight: 500;
    letter-spacing: -.025em;
    line-height: 1.06;
}

.adh-shop-search-summary {
    margin: 14px 0 0;
    color: var(--adh-muted);
    font-size: .95rem;
    line-height: 1.6;
}


/* Search empty-state recovery */

.adh-shop-empty
.adh-button {
    margin-top: 4px;
}


/* Mobile */

@media (max-width: 600px) {

    .adh-shop-search-context {
        padding: 22px 20px;
    }

    .adh-shop-search-context h1 {
        font-size:
            clamp(
                1.85rem,
                9vw,
                2.6rem
            );
    }
}

/* =========================================================
   H4.3G BAG EXPERIENCE REFINEMENT
   Theme v0.5.9
   ========================================================= */


/* ---------------------------------------------------------
   Shipping progress / assurance
   --------------------------------------------------------- */

.woocommerce-cart
.adomac-bag-shipping-status {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    max-width: 1320px;
    margin:
        0 auto
        clamp(26px, 4vw, 42px);
    padding:
        18px
        clamp(18px, 3vw, 28px);
    border:
        1px solid
        var(--adh-border);
    border-left:
        3px solid
        var(--adh-gold);
    background:
        var(--adh-ivory);
    color:
        var(--adh-charcoal);
}

.woocommerce-cart
.adomac-bag-shipping-icon {
    display: inline-flex;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background:
        var(--adh-navy);
    color:
        var(--adh-white);
    font-size: .8rem;
    font-weight: 700;
}

.woocommerce-cart
.adomac-bag-shipping-status
strong {
    display: block;
    margin-bottom: 3px;
    color:
        var(--adh-navy);
    font-size: .86rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.woocommerce-cart
.adomac-bag-shipping-status
p {
    margin: 0;
    color:
        var(--adh-charcoal);
    line-height: 1.55;
}


/* ---------------------------------------------------------
   Bag rows ? remove unnecessary marketing copy
   --------------------------------------------------------- */

.woocommerce-cart
.wc-block-components-product-metadata__description {
    display: none !important;
}


/* ---------------------------------------------------------
   Empty Bag
   --------------------------------------------------------- */

.woocommerce-cart
.wc-block-cart__empty-cart__title {
    color:
        var(--adh-navy);
    font-family:
        var(--adh-font-display);
    font-size:
        clamp(
            2rem,
            4vw,
            3.4rem
        );
    font-weight: 500;
    line-height: 1.08;
}

.woocommerce-cart
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
    display: none !important;
}

.woocommerce-cart
.adh-bag-empty-cta {
    margin:
        22px 0
        clamp(54px, 7vw, 82px);
    text-align: center;
}

.woocommerce-cart
.adh-bag-empty-cta
.adh-button {
    min-width: 190px;
}


/* ---------------------------------------------------------
   Filled Bag recommendations
   --------------------------------------------------------- */

.woocommerce-cart
.adh-bag-recommendations {
    max-width: 1320px;
    margin:
        clamp(64px, 8vw, 108px)
        auto
        0;
    padding-top:
        clamp(34px, 5vw, 52px);
    border-top:
        1px solid
        var(--adh-border);
}

.woocommerce-cart
.adh-bag-recommendations-heading {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(280px, .75fr);
    align-items: end;
    gap:
        clamp(28px, 6vw, 72px);
    margin-bottom:
        clamp(28px, 4vw, 42px);
}

.woocommerce-cart
.adh-bag-eyebrow {
    margin: 0 0 10px;
    color:
        var(--adh-gold);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.woocommerce-cart
.adh-bag-recommendations-heading
h2 {
    margin: 0;
    color:
        var(--adh-navy);
    font-family:
        var(--adh-font-display);
    font-size:
        clamp(
            2.4rem,
            5vw,
            4rem
        );
    font-weight: 500;
    letter-spacing: -.025em;
    line-height: 1;
}

.woocommerce-cart
.adh-bag-recommendations-heading
> p {
    margin: 0;
    color:
        var(--adh-muted);
    line-height: 1.7;
}


/* Product-grid consistency */

.woocommerce-cart
.adh-bag-recommendations
ul.products {
    display: grid;
    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );
    gap:
        clamp(18px, 2.4vw, 30px);
}

.woocommerce-cart
.adh-bag-recommendations
ul.products
li.product {
    display: flex;
    width: auto;
    min-width: 0;
    margin: 0;
    flex-direction: column;
}

.woocommerce-cart
.adh-bag-recommendations
ul.products
li.product
a
img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center top;
}

.woocommerce-cart
.adh-bag-recommendations
.woocommerce-loop-product__title {
    display: -webkit-box;
    overflow: hidden;
    min-height: 4.35em;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.woocommerce-cart
.adh-bag-recommendations
ul.products
li.product
.button {
    width: 100%;
    margin-top: auto;
    text-align: center;
}


/* ---------------------------------------------------------
   Cart Block wording presentation
   --------------------------------------------------------- */

.woocommerce-cart
.wc-block-cart__totals-title,
.woocommerce-cart
.wc-block-components-totals-wrapper {
    color:
        var(--adh-navy);
}


/* ---------------------------------------------------------
   Responsive Bag
   --------------------------------------------------------- */

@media (max-width: 900px) {

    .woocommerce-cart
    .adomac-bag-shipping-status,
    .woocommerce-cart
    .adh-bag-recommendations {
        margin-left:
            clamp(18px, 4vw, 32px);
        margin-right:
            clamp(18px, 4vw, 32px);
    }

    .woocommerce-cart
    .adh-bag-recommendations-heading {
        grid-template-columns:
            1fr;
        align-items:
            start;
    }

    .woocommerce-cart
    .adh-bag-recommendations
    ul.products {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }
}


@media (max-width: 520px) {

    .woocommerce-cart
    .adomac-bag-shipping-status {
        margin-bottom: 24px;
        padding: 16px;
    }

    .woocommerce-cart
    .adh-bag-recommendations {
        margin-top: 58px;
    }

    .woocommerce-cart
    .adh-bag-recommendations-heading
    h2 {
        font-size:
            clamp(
                2.2rem,
                12vw,
                3.1rem
            );
    }

    .woocommerce-cart
    .adh-bag-recommendations
    ul.products {
        gap:
            28px 12px;
    }
}

/* =========================================================
   H4.3G MY ACCOUNT EXPERIENCE REFINEMENT
   Theme v0.6.0
   ========================================================= */


/* ---------------------------------------------------------
   Account page shell
   --------------------------------------------------------- */

body.woocommerce-account
.adh-content {
    padding-top:
        clamp(42px, 6vw, 78px);
    padding-bottom:
        clamp(72px, 9vw, 120px);
}

body.woocommerce-account
.adh-content
> article
> h1:first-child {
    display: none;
}


/* ---------------------------------------------------------
   Premium account hero
   --------------------------------------------------------- */

.adh-account-hero {
    max-width: 860px;
    margin-bottom:
        clamp(38px, 6vw, 66px);
}

.adh-account-eyebrow {
    margin: 0 0 12px;
    color: var(--adh-gold);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.adh-account-hero h1 {
    max-width: 900px;
    margin: 0;
    color: var(--adh-navy);
    font-family:
        var(--adh-font-display);
    font-size:
        clamp(
            2.7rem,
            6vw,
            5rem
        );
    font-weight: 500;
    letter-spacing: -.035em;
    line-height: .98;
}

.adh-account-hero-copy {
    max-width: 660px;
    margin: 20px 0 0;
    color: var(--adh-muted);
    font-size:
        clamp(
            .98rem,
            1.4vw,
            1.08rem
        );
    line-height: 1.7;
}


/* ---------------------------------------------------------
   Logged-in account layout
   --------------------------------------------------------- */

body.adh-account-logged-in
.woocommerce {
    display: grid;
    grid-template-columns:
        minmax(220px, 260px)
        minmax(0, 1fr);
    gap:
        clamp(
            34px,
            6vw,
            78px
        );
    align-items: start;
}

body.adh-account-logged-in
.woocommerce
> .woocommerce-notices-wrapper,
body.adh-account-logged-in
.woocommerce
> .woocommerce-message,
body.adh-account-logged-in
.woocommerce
> .woocommerce-error,
body.adh-account-logged-in
.woocommerce
> .woocommerce-info {
    grid-column: 1 / -1;
}


/* Navigation */

body.adh-account-logged-in
.woocommerce-MyAccount-navigation {
    width: auto !important;
    float: none !important;
    margin: 0;
    border:
        1px solid
        var(--adh-border);
    background:
        var(--adh-ivory);
}

body.adh-account-logged-in
.woocommerce-MyAccount-navigation
ul {
    margin: 0;
    padding: 8px;
    list-style: none;
}

body.adh-account-logged-in
.woocommerce-MyAccount-navigation
li {
    margin: 0;
    padding: 0;
    border-bottom:
        1px solid
        rgba(11, 31, 51, .08);
}

body.adh-account-logged-in
.woocommerce-MyAccount-navigation
li:last-child {
    border-bottom: 0;
}

body.adh-account-logged-in
.woocommerce-MyAccount-navigation
a {
    position: relative;
    display: flex;
    min-height: 52px;
    align-items: center;
    padding:
        14px 16px
        14px 20px;
    color: var(--adh-navy);
    font-size: .88rem;
    font-weight: 600;
    letter-spacing: .01em;
    text-decoration: none;
    transition:
        background-color .18s ease,
        color .18s ease,
        padding-left .18s ease;
}

body.adh-account-logged-in
.woocommerce-MyAccount-navigation
a:hover,
body.adh-account-logged-in
.woocommerce-MyAccount-navigation
a:focus-visible {
    background: #fff;
    color: var(--adh-navy);
    padding-left: 24px;
}

body.adh-account-logged-in
.woocommerce-MyAccount-navigation
.is-active
a {
    background:
        var(--adh-navy);
    color: #fff;
}

body.adh-account-logged-in
.woocommerce-MyAccount-navigation
.is-active
a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    background:
        var(--adh-gold);
    content: "";
}

body.adh-account-logged-in
.woocommerce-MyAccount-navigation-link--customer-logout
a {
    color: #6a3434;
}


/* Content */

body.adh-account-logged-in
.woocommerce-MyAccount-content {
    width: auto !important;
    min-width: 0;
    float: none !important;
    margin: 0;
    color:
        var(--adh-charcoal);
}

body.adh-account-logged-in
.woocommerce-MyAccount-content
> h2,
body.adh-account-logged-in
.woocommerce-MyAccount-content
> h3 {
    color: var(--adh-navy);
    font-family:
        var(--adh-font-display);
    font-weight: 500;
}

body.adh-account-dashboard
.woocommerce-MyAccount-content
> p {
    display: none;
}


/* ---------------------------------------------------------
   Dashboard cards
   --------------------------------------------------------- */

.adh-account-dashboard-shell {
    display: grid;
    gap:
        clamp(54px, 7vw, 82px);
}

.adh-account-action-grid {
    display: grid;
    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );
    gap:
        clamp(16px, 2vw, 24px);
}

.adh-account-action-card {
    position: relative;
    display: flex;
    min-height: 260px;
    padding:
        clamp(24px, 3vw, 32px);
    flex-direction: column;
    border:
        1px solid
        var(--adh-border);
    background: #fff;
    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.adh-account-action-card:hover {
    transform:
        translateY(-2px);
    border-color:
        rgba(198, 161, 91, .7);
    box-shadow:
        0 16px 36px
        rgba(11, 31, 51, .07);
}

.adh-account-card-number {
    margin-bottom: 28px;
    color: var(--adh-gold);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .14em;
}

.adh-account-action-card h2 {
    margin: 0 0 12px;
    color: var(--adh-navy);
    font-family:
        var(--adh-font-display);
    font-size:
        clamp(
            1.7rem,
            2.8vw,
            2.25rem
        );
    font-weight: 500;
    line-height: 1.05;
}

.adh-account-action-card p {
    margin: 0 0 28px;
    color: var(--adh-muted);
    line-height: 1.65;
}

.adh-account-card-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: auto;
    color: var(--adh-navy);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
}

.adh-account-card-link:hover {
    color: var(--adh-gold);
}


/* ---------------------------------------------------------
   Recent orders
   --------------------------------------------------------- */

.adh-account-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 24px;
}

.adh-account-section-heading h2 {
    margin: 0;
    color: var(--adh-navy);
    font-family:
        var(--adh-font-display);
    font-size:
        clamp(
            2rem,
            4vw,
            3rem
        );
    font-weight: 500;
    letter-spacing: -.025em;
}

.adh-account-section-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--adh-navy);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-decoration: none;
    text-transform: uppercase;
}

.adh-account-order-list {
    border-top:
        1px solid
        var(--adh-border);
}

.adh-account-order-card {
    display: grid;
    grid-template-columns:
        1fr 1.25fr 1fr 1fr auto;
    gap:
        clamp(14px, 2vw, 26px);
    align-items: center;
    padding: 22px 0;
    border-bottom:
        1px solid
        var(--adh-border);
}

.adh-account-order-card
> div {
    display: grid;
    gap: 4px;
}

.adh-order-label {
    color: var(--adh-muted);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.adh-account-order-card
strong {
    color: var(--adh-navy);
}

.adh-account-order-link {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 9px 15px;
    border:
        1px solid
        var(--adh-navy);
    color: var(--adh-navy);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-decoration: none;
    text-transform: uppercase;
}

.adh-account-order-link:hover {
    background:
        var(--adh-navy);
    color: #fff;
}

.adh-account-empty-orders {
    padding:
        clamp(30px, 4vw, 46px);
    border:
        1px solid
        var(--adh-border);
    background:
        var(--adh-ivory);
}

.adh-account-empty-orders h3 {
    margin: 0 0 8px;
    color: var(--adh-navy);
    font-family:
        var(--adh-font-display);
    font-size:
        clamp(
            1.7rem,
            3vw,
            2.25rem
        );
    font-weight: 500;
}

.adh-account-empty-orders p {
    margin: 0 0 24px;
    color: var(--adh-muted);
}


/* ---------------------------------------------------------
   Customer Care
   --------------------------------------------------------- */

.adh-account-help {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding:
        clamp(24px, 3vw, 32px);
    border-left:
        3px solid
        var(--adh-gold);
    background:
        var(--adh-navy);
    color: #fff;
}

.adh-account-help > div {
    display: grid;
    gap: 5px;
}

.adh-account-help-label {
    color: var(--adh-gold);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.adh-account-help strong {
    color: #fff;
    font-family:
        var(--adh-font-display);
    font-size:
        clamp(
            1.4rem,
            2.5vw,
            1.9rem
        );
    font-weight: 500;
}

.adh-account-help a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #fff;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-decoration: none;
    text-transform: uppercase;
}

.adh-account-help a:hover {
    color: var(--adh-gold);
}


/* ---------------------------------------------------------
   Native Orders endpoint
   --------------------------------------------------------- */

body.adh-account-endpoint-orders
.woocommerce-orders-table {
    width: 100%;
    border-collapse: collapse;
}

body.adh-account-endpoint-orders
.woocommerce-orders-table th {
    padding: 14px 12px;
    border-bottom:
        1px solid
        var(--adh-navy);
    color: var(--adh-navy);
    font-size: .72rem;
    letter-spacing: .07em;
    text-align: left;
    text-transform: uppercase;
}

body.adh-account-endpoint-orders
.woocommerce-orders-table td {
    padding: 18px 12px;
    border-bottom:
        1px solid
        var(--adh-border);
    vertical-align: middle;
}

body.adh-account-endpoint-orders
.woocommerce-orders-table
.button {
    border-radius: 0;
}


/* ---------------------------------------------------------
   Addresses
   --------------------------------------------------------- */

body.adh-account-endpoint-edit-address
.woocommerce-Addresses {
    display: grid;
    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );
    gap: 24px;
}

body.adh-account-endpoint-edit-address
.woocommerce-Address {
    width: auto !important;
    float: none !important;
    padding: 26px;
    border:
        1px solid
        var(--adh-border);
    background: #fff;
}

body.adh-account-endpoint-edit-address
.woocommerce-Address-title
h2 {
    color: var(--adh-navy);
    font-family:
        var(--adh-font-display);
    font-weight: 500;
}

body.adh-account-endpoint-edit-address
address {
    color: var(--adh-muted);
    font-style: normal;
    line-height: 1.7;
}


/* ---------------------------------------------------------
   Account forms
   --------------------------------------------------------- */

body.woocommerce-account
.woocommerce
input.input-text,
body.woocommerce-account
.woocommerce
input[type="email"],
body.woocommerce-account
.woocommerce
input[type="password"],
body.woocommerce-account
.woocommerce
input[type="text"],
body.woocommerce-account
.woocommerce
select {
    min-height: 50px;
    padding: 11px 14px;
    border:
        1px solid
        #c9ced3;
    border-radius: 0;
    background: #fff;
    color:
        var(--adh-charcoal);
}

body.woocommerce-account
.woocommerce
input:focus,
body.woocommerce-account
.woocommerce
select:focus {
    border-color:
        var(--adh-gold);
    outline:
        2px solid
        rgba(198, 161, 91, .15);
    outline-offset: 1px;
}

body.woocommerce-account
.woocommerce
button.button,
body.woocommerce-account
.woocommerce
a.button {
    min-height: 46px;
    padding: 12px 20px;
    border: 1px solid var(--adh-navy);
    border-radius: 0;
    background: var(--adh-navy);
    color: #fff;
    font-weight: 700;
}

body.woocommerce-account
.woocommerce
button.button:hover,
body.woocommerce-account
.woocommerce
a.button:hover {
    border-color: var(--adh-gold);
    background: var(--adh-gold);
    color: var(--adh-navy);
}


/* ---------------------------------------------------------
   Logged-out Login / Registration
   --------------------------------------------------------- */

body.adh-account-logged-out
.woocommerce {
    max-width: 1080px;
}

body.adh-account-logged-out
.woocommerce
.u-columns.col2-set {
    display: grid;
    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );
    gap:
        clamp(24px, 5vw, 54px);
}

body.adh-account-logged-out
.woocommerce
.u-column1,
body.adh-account-logged-out
.woocommerce
.u-column2 {
    width: auto;
    float: none;
}

body.adh-account-logged-out
.woocommerce-form-login,
body.adh-account-logged-out
.woocommerce-form-register {
    margin: 0;
    padding:
        clamp(26px, 4vw, 40px);
    border:
        1px solid
        var(--adh-border);
    border-radius: 0;
    background: #fff;
}

body.adh-account-logged-out
.woocommerce
h2 {
    color: var(--adh-navy);
    font-family:
        var(--adh-font-display);
    font-size:
        clamp(
            2rem,
            4vw,
            3rem
        );
    font-weight: 500;
}


/* ---------------------------------------------------------
   Mobile / tablet
   --------------------------------------------------------- */

@media (max-width: 900px) {

    body.adh-account-logged-in
    .woocommerce {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    body.adh-account-logged-in
    .woocommerce-MyAccount-navigation
    ul {
        display: flex;
        overflow-x: auto;
        gap: 6px;
        padding: 8px;
        scrollbar-width: thin;
    }

    body.adh-account-logged-in
    .woocommerce-MyAccount-navigation
    li {
        flex: 0 0 auto;
        border: 0;
    }

    body.adh-account-logged-in
    .woocommerce-MyAccount-navigation
    a {
        min-height: 44px;
        padding: 11px 15px;
        white-space: nowrap;
    }

    body.adh-account-logged-in
    .woocommerce-MyAccount-navigation
    a:hover,
    body.adh-account-logged-in
    .woocommerce-MyAccount-navigation
    a:focus-visible {
        padding-left: 15px;
    }

    body.adh-account-logged-in
    .woocommerce-MyAccount-navigation
    .is-active
    a::before {
        top: auto;
        right: 0;
        bottom: 0;
        width: auto;
        height: 3px;
    }

    .adh-account-action-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .adh-account-action-card:last-child {
        grid-column: 1 / -1;
    }

    .adh-account-order-card {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .adh-account-order-link {
        justify-self: start;
    }

    body.adh-account-endpoint-edit-address
    .woocommerce-Addresses {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 600px) {

    body.woocommerce-account
    .adh-content {
        padding-top: 34px;
        padding-bottom: 72px;
    }

    .adh-account-hero {
        margin-bottom: 34px;
    }

    .adh-account-hero h1 {
        font-size:
            clamp(
                2.5rem,
                13vw,
                3.7rem
            );
    }

    .adh-account-action-grid {
        grid-template-columns: 1fr;
    }

    .adh-account-action-card,
    .adh-account-action-card:last-child {
        grid-column: auto;
        min-height: 220px;
    }

    .adh-account-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .adh-account-order-card {
        grid-template-columns: 1fr;
        gap: 13px;
        padding: 22px 0;
    }

    .adh-account-help {
        align-items: flex-start;
        flex-direction: column;
    }

    body.adh-account-logged-out
    .woocommerce
    .u-columns.col2-set {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   H4.3G ACCOUNT OVERVIEW LAYOUT CORRECTION
   Theme v0.6.1
   ========================================================= */


/* ---------------------------------------------------------
   Remove the original WordPress page title.
   Our premium account hero is the only customer-facing title.
   --------------------------------------------------------- */

body.woocommerce-account
main
article
> h1:first-child {
    display: none !important;
}


/* ---------------------------------------------------------
   Premium hero ? controlled scale and alignment
   --------------------------------------------------------- */

body.woocommerce-account
.adh-account-hero {
    width: 100%;
    max-width: 1320px;
    margin:
        0 auto
        clamp(42px, 5vw, 62px);
}

body.woocommerce-account
.adh-account-hero h1 {
    max-width: 1050px;
    font-size:
        clamp(
            2.7rem,
            4.5vw,
            3.9rem
        );
    line-height: 1.02;
}


/* ---------------------------------------------------------
   Reliable desktop account shell.
   Flex placement prevents Woo legacy float/width rules from
   squeezing or reversing navigation and content.
   --------------------------------------------------------- */

body.adh-account-logged-in
.woocommerce {
    display: flex !important;
    width: 100%;
    max-width: 1320px;
    margin-right: auto;
    margin-left: auto;
    flex-wrap: wrap;
    gap: 0 !important;
    align-items: flex-start;
}

body.adh-account-logged-in
.woocommerce
> .woocommerce-notices-wrapper,
body.adh-account-logged-in
.woocommerce
> .woocommerce-message,
body.adh-account-logged-in
.woocommerce
> .woocommerce-info,
body.adh-account-logged-in
.woocommerce
> .woocommerce-error {
    flex:
        0 0 100%;
    width: 100%;
    order: 1;
}

body.adh-account-logged-in
.woocommerce-MyAccount-navigation {
    flex:
        0 0 250px !important;
    width: 250px !important;
    max-width: 250px !important;
    margin:
        0
        clamp(34px, 4vw, 62px)
        0
        0 !important;
    order: 10;
}

body.adh-account-logged-in
.woocommerce-MyAccount-content {
    flex:
        1 1 0 !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    order: 20;
}


/* ---------------------------------------------------------
   Overview cards ? restore premium usable proportions
   --------------------------------------------------------- */

body.adh-account-dashboard
.adh-account-dashboard-shell {
    width: 100%;
}

body.adh-account-dashboard
.adh-account-action-grid {
    width: 100%;
    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );
    gap:
        clamp(18px, 2vw, 26px);
}

body.adh-account-dashboard
.adh-account-action-card {
    width: auto;
    min-width: 0;
    min-height: 250px;
}

body.adh-account-dashboard
.adh-account-recent-orders,
body.adh-account-dashboard
.adh-account-help {
    width: 100%;
}


/* ---------------------------------------------------------
   Recent order row should use available content width
   --------------------------------------------------------- */

body.adh-account-dashboard
.adh-account-order-card {
    width: 100%;
    grid-template-columns:
        minmax(80px, .75fr)
        minmax(120px, 1.1fr)
        minmax(90px, .8fr)
        minmax(100px, .9fr)
        auto;
}


/* ---------------------------------------------------------
   Customer Care panel
   --------------------------------------------------------- */

body.adh-account-dashboard
.adh-account-help {
    min-height: 128px;
}


/* ---------------------------------------------------------
   Tablet
   --------------------------------------------------------- */

@media (max-width: 1000px) {

    body.adh-account-logged-in
    .woocommerce-MyAccount-navigation {
        flex-basis:
            220px !important;
        width:
            220px !important;
        max-width:
            220px !important;
        margin-right:
            30px !important;
    }

    body.adh-account-dashboard
    .adh-account-action-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    body.adh-account-dashboard
    .adh-account-action-card:last-child {
        grid-column: 1 / -1;
    }
}


/* ---------------------------------------------------------
   Mobile account shell
   --------------------------------------------------------- */

@media (max-width: 900px) {

    body.adh-account-logged-in
    .woocommerce {
        display: block !important;
    }

    body.adh-account-logged-in
    .woocommerce-MyAccount-navigation {
        width: 100% !important;
        max-width: none !important;
        margin:
            0 0 30px !important;
    }

    body.adh-account-logged-in
    .woocommerce-MyAccount-content {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }
}


@media (max-width: 600px) {

    body.woocommerce-account
    .adh-account-hero h1 {
        font-size:
            clamp(
                2.35rem,
                11vw,
                3.15rem
            );
    }

    body.adh-account-dashboard
    .adh-account-action-grid {
        grid-template-columns:
            1fr;
    }

    body.adh-account-dashboard
    .adh-account-action-card:last-child {
        grid-column: auto;
    }
}

/* =========================================================
   H4.3G MY ACCOUNT FINAL POLISH
   Theme v0.6.2
   ========================================================= */


/* ---------------------------------------------------------
   Orders endpoint
   --------------------------------------------------------- */

body.adh-account-endpoint-orders
.woocommerce-MyAccount-content {
    display: grid;
    gap: 22px;
}

body.adh-account-endpoint-orders
.woocommerce-info,
body.adh-account-endpoint-orders
.woocommerce-message {
    position: relative;
    min-height: 72px;
    margin: 0;
    padding:
        20px
        clamp(20px, 3vw, 28px);
    border:
        1px solid
        var(--adh-border);
    border-top:
        3px solid
        var(--adh-gold);
    background:
        var(--adh-ivory);
    color:
        var(--adh-charcoal);
}

body.adh-account-endpoint-orders
.woocommerce-info::before,
body.adh-account-endpoint-orders
.woocommerce-message::before {
    color:
        var(--adh-gold);
}

body.adh-account-endpoint-orders
.woocommerce-info
.button,
body.adh-account-endpoint-orders
.woocommerce-message
.button {
    float: right;
    margin-left: 22px;
}

body.adh-account-endpoint-orders
.woocommerce-info {
    font-size:
        .98rem;
    line-height: 1.6;
}


/* Native Orders table refinement */

body.adh-account-endpoint-orders
.woocommerce-orders-table {
    overflow: hidden;
    border:
        1px solid
        var(--adh-border);
    background: #fff;
}

body.adh-account-endpoint-orders
.woocommerce-orders-table
thead {
    background:
        var(--adh-ivory);
}

body.adh-account-endpoint-orders
.woocommerce-orders-table th {
    padding:
        16px 18px;
    border-bottom:
        1px solid
        var(--adh-border);
}

body.adh-account-endpoint-orders
.woocommerce-orders-table td {
    padding:
        20px 18px;
}


/* ---------------------------------------------------------
   Addresses overview
   --------------------------------------------------------- */

body.adh-account-endpoint-edit-address
.woocommerce-MyAccount-content
> p:first-child {
    max-width: 760px;
    margin:
        0 0 28px;
    color:
        var(--adh-muted);
    line-height: 1.7;
}

body.adh-account-endpoint-edit-address
.woocommerce-Addresses {
    display: grid !important;
    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        ) !important;
    gap:
        clamp(20px, 3vw, 30px);
    align-items: stretch;
}

body.adh-account-endpoint-edit-address
.woocommerce-Address {
    display: flex;
    width: auto !important;
    min-height: 280px;
    padding:
        clamp(28px, 4vw, 38px);
    flex-direction: column;
    float: none !important;
    border:
        1px solid
        var(--adh-border);
    background: #fff;
}

body.adh-account-endpoint-edit-address
.woocommerce-Address-title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 28px;
}

body.adh-account-endpoint-edit-address
.woocommerce-Address-title
h2 {
    max-width: 360px;
    margin: 0;
    color:
        var(--adh-navy);
    font-family:
        var(--adh-font-display);
    font-size:
        clamp(
            2rem,
            3.2vw,
            2.8rem
        );
    font-weight: 500;
    letter-spacing: -.025em;
    line-height: 1.02;
}

body.adh-account-endpoint-edit-address
.woocommerce-Address-title
.edit {
    flex: 0 0 auto;
    margin-top: 6px;
    color:
        var(--adh-navy);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-decoration: none;
    text-transform: uppercase;
}

body.adh-account-endpoint-edit-address
.woocommerce-Address-title
.edit:hover {
    color:
        var(--adh-gold);
}

body.adh-account-endpoint-edit-address
.woocommerce-Address
address {
    margin-top: auto;
    color:
        var(--adh-muted);
    font-style: normal;
    line-height: 1.75;
}


/* ---------------------------------------------------------
   Billing / Shipping address form
   --------------------------------------------------------- */

body.woocommerce-edit-address
.woocommerce-MyAccount-content
> h3 {
    max-width: 920px;

    margin:
        0 0
        clamp(24px, 3vw, 32px);

    color:
        var(--adh-navy);

    font-family:
        var(--adh-font-display);

    font-size:
        clamp(
            2.05rem,
            3vw,
            2.75rem
        );

    font-weight: 500;

    letter-spacing: -.025em;

    line-height: 1.05;
}

body.woocommerce-edit-address
.woocommerce-MyAccount-content
> form {
    width: 100%;
    max-width: 920px;
}

body.woocommerce-edit-address
.woocommerce-address-fields__field-wrapper {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap:
        17px 24px;
}

body.woocommerce-edit-address
.woocommerce-address-fields__field-wrapper
.form-row {
    width: auto;
    margin: 0;
    float: none;
}

body.woocommerce-edit-address
.woocommerce-address-fields__field-wrapper
#billing_country_field,
body.woocommerce-edit-address
.woocommerce-address-fields__field-wrapper
#billing_address_1_field,
body.woocommerce-edit-address
.woocommerce-address-fields__field-wrapper
#billing_address_2_field,
body.woocommerce-edit-address
.woocommerce-address-fields__field-wrapper
#billing_email_field,
body.woocommerce-edit-address
.woocommerce-address-fields__field-wrapper
#shipping_country_field,
body.woocommerce-edit-address
.woocommerce-address-fields__field-wrapper
#shipping_address_1_field,
body.woocommerce-edit-address
.woocommerce-address-fields__field-wrapper
#shipping_address_2_field,
body.woocommerce-edit-address
.woocommerce-address-fields__field-wrapper
#shipping_postcode_field {
    grid-column: 1 / -1;
}

body.woocommerce-edit-address
.woocommerce-address-fields
> p:last-child {
    margin-top: 28px;
}


/* ---------------------------------------------------------
   Account Details
   --------------------------------------------------------- */

body.adh-account-endpoint-edit-account
.woocommerce-EditAccountForm {
    display: grid;

    width: 100%;
    max-width: 960px;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap:
        18px 24px;

    align-items:
        start;
}

body.adh-account-endpoint-edit-account
.woocommerce-EditAccountForm
.form-row {
    width: auto;
    margin: 0;
    float: none;
}

body.adh-account-endpoint-edit-account
.woocommerce-EditAccountForm
.form-row-wide,
body.adh-account-endpoint-edit-account
.woocommerce-EditAccountForm
fieldset,
body.adh-account-endpoint-edit-account
.woocommerce-EditAccountForm
> p:last-child {
    grid-column: 1 / -1;
}

body.adh-account-endpoint-edit-account
.woocommerce-EditAccountForm
fieldset {
    margin:
        16px 0 0;

    padding:
        clamp(20px, 2.5vw, 26px);

    border:
        1px solid
        rgba(11, 31, 51, .12);

    background:
        rgba(247, 243, 234, .58);
}

body.adh-account-endpoint-edit-account
.woocommerce-EditAccountForm
fieldset
legend {
    width: auto;

    padding:
        0 8px;

    color:
        var(--adh-navy);

    font-family:
        var(--adh-font-display);

    font-size:
        clamp(
            1.35rem,
            2vw,
            1.65rem
        );

    font-weight:
        500;

    letter-spacing:
        -.015em;

    line-height:
        1.2;
}

body.adh-account-endpoint-edit-account
.woocommerce-EditAccountForm
em {
    display: block;

    margin-top:
        6px;

    color:
        var(--adh-muted);

    font-size:
        .86rem;

    font-style:
        normal;

    line-height:
        1.5;
}

body.adh-account-endpoint-edit-account
.woocommerce-EditAccountForm
fieldset
.form-row {
    margin:
        0 0 16px;
}

body.adh-account-endpoint-edit-account
.woocommerce-EditAccountForm
fieldset
.form-row:last-of-type {
    margin-bottom:
        0;
}


/* ---------------------------------------------------------
   Logged-out: Sign In / Create Account
   --------------------------------------------------------- */

body.adh-account-logged-out
.woocommerce {
    width: 100%;
    max-width: 1180px;
}

body.adh-account-logged-out
.woocommerce
.u-columns.col2-set {
    display: grid !important;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap:
        clamp(24px, 4vw, 42px);

    align-items:
        stretch;
}

body.adh-account-logged-out
.woocommerce
.u-columns.col2-set::before,
body.adh-account-logged-out
.woocommerce
.u-columns.col2-set::after {
    display: none !important;
    content: none !important;
}

body.adh-account-logged-out
.woocommerce
.u-column1,
body.adh-account-logged-out
.woocommerce
.u-column2 {
    display: flex;
    flex-direction: column;

    width: auto !important;
    min-width: 0;

    float: none !important;
}

body.adh-account-logged-out
.woocommerce
.u-column1
> h2,
body.adh-account-logged-out
.woocommerce
.u-column2
> h2 {
    margin:
        0 0 18px;
    color:
        var(--adh-navy);
    font-family:
        var(--adh-font-display);
    font-size:
        clamp(
            2rem,
            3.4vw,
            2.8rem
        );
    font-weight: 500;
}

body.adh-account-logged-out
.woocommerce-form-login,
body.adh-account-logged-out
.woocommerce-form-register {
    flex: 1 1 auto;

    min-height: 360px;

    margin:
        0 !important;

    padding:
        clamp(28px, 4vw, 40px);

    border:
        1px solid
        var(--adh-border);

    background:
        #fff;
}

body.adh-account-logged-out
.woocommerce-form-login
.form-row,
body.adh-account-logged-out
.woocommerce-form-register
.form-row {
    margin-bottom: 20px;
}

body.adh-account-logged-out
.woocommerce-form-register
.woocommerce-privacy-policy-text {
    color:
        var(--adh-muted);
    font-size: .9rem;
    line-height: 1.6;
}

body.adh-account-logged-out
.adh-account-auth-intro {
    margin:
        0 0 24px;

    color:
        var(--adh-muted);

    font-size:
        .94rem;

    line-height:
        1.6;
}


/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media (max-width: 900px) {

    body.adh-account-endpoint-orders
    .woocommerce-info
    .button,
    body.adh-account-endpoint-orders
    .woocommerce-message
    .button {
        display: block;
        float: none;
        width: fit-content;
        margin:
            16px 0 0;
    }

    body.adh-account-endpoint-edit-address
    .woocommerce-Addresses {
        grid-template-columns:
            1fr !important;
    }

    body.adh-account-endpoint-edit-account
    .woocommerce-EditAccountForm,
    body.woocommerce-edit-address
    .woocommerce-address-fields__field-wrapper {
        grid-template-columns:
            1fr;
    }

    body.woocommerce-edit-address
    .woocommerce-address-fields__field-wrapper
    .form-row {
        grid-column:
            1 / -1 !important;
    }

    body.adh-account-logged-out
    .woocommerce
    .u-columns.col2-set {
        grid-template-columns:
            1fr !important;
    }

    body.adh-account-logged-out
    .woocommerce-form-login,
    body.adh-account-logged-out
    .woocommerce-form-register {
        min-height: 0;
    }
}


@media (max-width: 600px) {

    body.adh-account-endpoint-edit-address
    .woocommerce-Address {
        min-height: 240px;
        padding: 24px;
    }

    body.adh-account-endpoint-edit-address
    .woocommerce-Address-title {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    body.woocommerce-edit-address
    .woocommerce-MyAccount-content
    > h3 {
        font-size:
            clamp(
                1.95rem,
                9vw,
                2.35rem
            );
    }
}

/* =========================================================
   H4.3G ORDERS PREMIUM POLISH
   Theme v0.6.5
   ========================================================= */

body.adh-account-endpoint-orders
.woocommerce-MyAccount-content {
    display: flex;
    flex-direction: column;
    gap: 18px;
}


/* ---------------------------------------------------------
   Premium Orders states
   --------------------------------------------------------- */

body.adh-account-endpoint-orders
.woocommerce-info,
body.adh-account-endpoint-orders
.woocommerce-message {
    position: relative;

    display: block;

    min-height: 96px;
    margin: 0;

    padding:
        24px
        300px
        24px
        30px;

    border:
        1px solid
        rgba(11, 31, 51, .12);

    border-left:
        3px solid
        rgba(198, 161, 91, .85);

    border-top:
        1px solid
        rgba(11, 31, 51, .12);

    background: #fff;

    color:
        var(--adh-charcoal);

    font-size: .96rem;
    line-height: 1.65;

    box-shadow: none;
}


/* Empty-order card receives a soft ivory treatment. */

body.adh-account-endpoint-orders
.woocommerce-info:last-of-type {
    background:
        rgba(247, 243, 234, .72);
}


/* Remove default WooCommerce notice symbols. */

body.adh-account-endpoint-orders
.woocommerce-info::before,
body.adh-account-endpoint-orders
.woocommerce-message::before,
body.adh-account-endpoint-orders
.woocommerce-info::after,
body.adh-account-endpoint-orders
.woocommerce-message::after {
    display: none !important;
    content: none !important;
}


/* ---------------------------------------------------------
   CTA placement
   WooCommerce may output the button before or after its text.
   Absolute positioning keeps the customer-facing layout
   consistent regardless of source markup order.
   --------------------------------------------------------- */

body.adh-account-endpoint-orders
.woocommerce-info
.button,
body.adh-account-endpoint-orders
.woocommerce-message
.button {
    position: absolute !important;

    top: 50%;
    right: 28px;

    transform:
        translateY(-50%);

    float: none !important;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: auto;
    min-width: 185px;
    min-height: 48px;

    margin: 0 !important;

    padding:
        13px
        20px;

    white-space: nowrap;
}


/* Keep native order-table functionality untouched. */

body.adh-account-endpoint-orders
.woocommerce-orders-table {
    margin-top: 4px;
}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media (max-width: 760px) {

    body.adh-account-endpoint-orders
    .woocommerce-info,
    body.adh-account-endpoint-orders
    .woocommerce-message {
        min-height: 0;

        padding:
            22px
            20px;
    }

    body.adh-account-endpoint-orders
    .woocommerce-info
    .button,
    body.adh-account-endpoint-orders
    .woocommerce-message
    .button {
        position: static !important;

        width: 100%;
        min-width: 0;

        margin-top: 18px !important;

        transform: none;
    }
}


/* =========================================================
   H4.3G ADDRESSES OVERVIEW PREMIUM POLISH
   Theme v0.6.7
   ========================================================= */


/* ---------------------------------------------------------
   Intro copy
   Only affects the Addresses overview where the address
   card container is present.
   --------------------------------------------------------- */

body.adh-account-endpoint-edit-address
.woocommerce-MyAccount-content:has(> .woocommerce-Addresses)
> p:first-child {
    margin:
        0
        0
        22px;

    color:
        rgba(11, 31, 51, .72);

    font-size:
        .96rem;

    line-height:
        1.65;
}


/* ---------------------------------------------------------
   Billing / Shipping overview grid
   --------------------------------------------------------- */

body.adh-account-endpoint-edit-address
.woocommerce-Addresses {
    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        24px;

    width:
        100%;

    margin:
        0 !important;
}


/* Neutralize WooCommerce column floats / widths. */

body.adh-account-endpoint-edit-address
.woocommerce-Addresses
.woocommerce-Address {
    float:
        none !important;

    width:
        auto !important;

    min-width:
        0;

    min-height:
        230px;

    margin:
        0 !important;

    padding:
        28px;

    border:
        1px solid
        rgba(11, 31, 51, .12);

    border-left:
        3px solid
        rgba(198, 161, 91, .82);

    background:
        #fff;

    box-shadow:
        none;

    display:
        flex;

    flex-direction:
        column;
}


/* ---------------------------------------------------------
   Address card header
   --------------------------------------------------------- */

body.adh-account-endpoint-edit-address
.woocommerce-Addresses
.woocommerce-Address-title {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        22px;

    margin:
        0;

    padding:
        0
        0
        20px;

    border-bottom:
        1px solid
        rgba(11, 31, 51, .10);
}


body.adh-account-endpoint-edit-address
.woocommerce-Addresses
.woocommerce-Address-title
h2 {
    float:
        none !important;

    margin:
        0;

    color:
        var(--adh-navy);

    font-family:
        var(--adh-font-display);

    font-size:
        clamp(1.7rem, 2.2vw, 2.1rem);

    font-weight:
        500;

    line-height:
        1.05;

    letter-spacing:
        -.025em;
}


/* ---------------------------------------------------------
   Add / Edit action
   --------------------------------------------------------- */

body.adh-account-endpoint-edit-address
.woocommerce-Addresses
.woocommerce-Address-title
a {
    float:
        none !important;

    flex:
        0 0 auto;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        42px;

    margin:
        0 !important;

    padding:
        10px
        15px;

    border:
        1px solid
        rgba(11, 31, 51, .22);

    background:
        transparent;

    color:
        var(--adh-navy);

    font-size:
        .72rem;

    font-weight:
        700;

    line-height:
        1.2;

    letter-spacing:
        .07em;

    text-decoration:
        none;

    text-transform:
        uppercase;

    white-space:
        nowrap;

    transition:
        background-color .2s ease,
        color .2s ease,
        border-color .2s ease;
}


body.adh-account-endpoint-edit-address
.woocommerce-Addresses
.woocommerce-Address-title
a:hover,
body.adh-account-endpoint-edit-address
.woocommerce-Addresses
.woocommerce-Address-title
a:focus-visible {
    border-color:
        var(--adh-navy);

    background:
        var(--adh-navy);

    color:
        #fff;
}


/* ---------------------------------------------------------
   Address / empty-state content
   --------------------------------------------------------- */

body.adh-account-endpoint-edit-address
.woocommerce-Addresses
.woocommerce-Address
address {
    margin:
        24px
        0
        0;

    color:
        rgba(11, 31, 51, .72);

    font-size:
        .95rem;

    font-style:
        normal;

    line-height:
        1.7;
}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media (max-width: 760px) {

    body.adh-account-endpoint-edit-address
    .woocommerce-Addresses {
        grid-template-columns:
            1fr;

        gap:
            18px;
    }


    body.adh-account-endpoint-edit-address
    .woocommerce-Addresses
    .woocommerce-Address {
        min-height:
            0;

        padding:
            22px
            20px;
    }


    body.adh-account-endpoint-edit-address
    .woocommerce-Addresses
    .woocommerce-Address-title {
        flex-direction:
            column;

        gap:
            14px;
    }


    body.adh-account-endpoint-edit-address
    .woocommerce-Addresses
    .woocommerce-Address-title
    h2 {
        font-size:
            1.7rem;
    }


    body.adh-account-endpoint-edit-address
    .woocommerce-Addresses
    .woocommerce-Address-title
    a {
        width:
            100%;
    }
}


/* =========================================================
   H4.3G ADDRESSES GRID CLEARFIX FIX
   Theme v0.6.8
   ========================================================= */

/*
 * WooCommerce col2-set clearfix pseudo-elements become
 * generated grid items when .woocommerce-Addresses uses
 * CSS Grid. Remove them so Billing and Shipping occupy
 * column 1 and column 2 of the same grid row.
 */

body.adh-account-endpoint-edit-address
.woocommerce-Addresses::before,
body.adh-account-endpoint-edit-address
.woocommerce-Addresses::after {
    display: none !important;
    content: none !important;
}


/* =========================================================
   H4.3G SHIPPING ? SAME AS BILLING
   Theme v0.6.10
   ========================================================= */

body.woocommerce-edit-address
.adh-same-as-billing {
    width: 100%;

    margin:
        0
        0
        24px;

    padding:
        18px
        20px;

    border:
        1px solid
        rgba(11, 31, 51, .12);

    border-left:
        3px solid
        rgba(198, 161, 91, .85);

    background:
        rgba(247, 243, 234, .58);
}


body.woocommerce-edit-address
.adh-same-as-billing__label {
    display:
        flex;

    align-items:
        center;

    gap:
        12px;

    margin:
        0;

    color:
        var(--adh-navy);

    font-size:
        .98rem;

    font-weight:
        600;

    line-height:
        1.4;

    cursor:
        pointer;
}


body.woocommerce-edit-address
.adh-same-as-billing__checkbox {
    flex:
        0 0 auto;

    width:
        18px;

    height:
        18px;

    margin:
        0;

    accent-color:
        var(--adh-navy);

    cursor:
        pointer;
}


body.woocommerce-edit-address
.adh-same-as-billing__hint {
    margin:
        7px
        0
        0
        30px;

    color:
        var(--adh-muted);

    font-size:
        .86rem;

    line-height:
        1.55;
}


body.woocommerce-edit-address
.adh-same-as-billing__status {
    min-height:
        0;

    margin:
        6px
        0
        0
        30px;

    color:
        var(--adh-navy);

    font-size:
        .82rem;

    font-weight:
        600;

    line-height:
        1.45;
}


body.woocommerce-edit-address
.adh-same-as-billing__status:empty {
    display:
        none;
}


@media (max-width: 600px) {

    body.woocommerce-edit-address
    .adh-same-as-billing {
        margin-bottom:
            20px;

        padding:
            16px;
    }


    body.woocommerce-edit-address
    .adh-same-as-billing__hint,
    body.woocommerce-edit-address
    .adh-same-as-billing__status {
        margin-left:
            30px;
    }
}


/* =========================================================
   H4.3G ? ORDERS & RETURNS / ORDER HISTORY FOUNDATION
   Theme v0.6.13
   ========================================================= */

body.adh-account-endpoint-orders
.adh-orders-history {
    width: 100%;
}


body.adh-account-endpoint-orders
.adh-orders-history__header {
    margin:
        0 0
        clamp(24px, 3vw, 34px);
}


body.adh-account-endpoint-orders
.adh-orders-history__eyebrow {
    margin:
        0 0 7px;

    color:
        var(--adh-gold);

    font-size:
        .76rem;

    font-weight:
        700;

    letter-spacing:
        .12em;

    text-transform:
        uppercase;
}


body.adh-account-endpoint-orders
.adh-orders-history__title {
    margin:
        0;

    color:
        var(--adh-navy);

    font-family:
        var(--adh-font-display);

    font-size:
        clamp(
            2rem,
            3.5vw,
            2.8rem
        );

    font-weight:
        500;

    letter-spacing:
        -.025em;

    line-height:
        1.05;
}


body.adh-account-endpoint-orders
.adh-orders-history__intro {
    max-width:
        720px;

    margin:
        12px 0 0;

    color:
        var(--adh-muted);

    line-height:
        1.65;
}


body.adh-account-endpoint-orders
.adh-orders-list {
    display:
        grid;

    gap:
        24px;
}


body.adh-account-endpoint-orders
.adh-order-card {
    overflow:
        hidden;

    border:
        1px solid
        rgba(11, 31, 51, .13);

    background:
        #fff;
}


body.adh-account-endpoint-orders
.adh-order-card__summary {
    display:
        grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap:
        18px;

    padding:
        18px 22px;

    border-bottom:
        1px solid
        rgba(11, 31, 51, .09);

    background:
        rgba(247, 243, 234, .62);
}


body.adh-account-endpoint-orders
.adh-order-card__meta {
    display:
        grid;

    gap:
        4px;

    min-width:
        0;

    color:
        var(--adh-navy);

    font-size:
        .92rem;
}


body.adh-account-endpoint-orders
.adh-order-card__meta--number {
    text-align:
        right;
}


body.adh-account-endpoint-orders
.adh-order-card__label {
    color:
        var(--adh-muted);

    font-size:
        .7rem;

    font-weight:
        700;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;
}


body.adh-account-endpoint-orders
.adh-order-card__items {
    display:
        grid;

    gap:
        0;
}


body.adh-account-endpoint-orders
.adh-order-item {
    display:
        grid;

    grid-template-columns:
        112px
        minmax(0, 1fr);

    gap:
        22px;

    padding:
        24px 22px;

    border-bottom:
        1px solid
        rgba(11, 31, 51, .08);
}


body.adh-account-endpoint-orders
.adh-order-item:last-child {
    border-bottom:
        0;
}


body.adh-account-endpoint-orders
.adh-order-item__media {
    width:
        112px;

    min-height:
        112px;
}


body.adh-account-endpoint-orders
.adh-order-item__media img {
    display:
        block;

    width:
        100%;

    height:
        auto;

    aspect-ratio:
        1 / 1;

    object-fit:
        cover;
}


body.adh-account-endpoint-orders
.adh-order-item__title {
    margin:
        0;

    color:
        var(--adh-navy);

    font-size:
        1.02rem;

    font-weight:
        600;

    line-height:
        1.45;
}


body.adh-account-endpoint-orders
.adh-order-item__title a {
    color:
        inherit;

    text-decoration:
        none;
}


body.adh-account-endpoint-orders
.adh-order-item__title a:hover {
    text-decoration:
        underline;

    text-underline-offset:
        3px;
}


body.adh-account-endpoint-orders
.adh-order-item__variation {
    margin-top:
        8px;

    color:
        var(--adh-muted);

    font-size:
        .86rem;

    line-height:
        1.5;
}


body.adh-account-endpoint-orders
.adh-order-item__variation
.wc-item-meta {
    margin:
        0;

    padding:
        0;

    list-style:
        none;
}


body.adh-account-endpoint-orders
.adh-order-item__variation
.wc-item-meta li {
    margin:
        0 0 4px;

    list-style:
        none;
}


body.adh-account-endpoint-orders
.adh-order-item__variation
.wc-item-meta li:last-child {
    margin-bottom:
        0;
}


body.adh-account-endpoint-orders
.adh-order-item__quantity {
    margin:
        9px 0 0;

    color:
        var(--adh-muted);

    font-size:
        .88rem;
}


body.adh-account-endpoint-orders
.adh-order-card__actions {
    display:
        flex;

    flex-wrap:
        wrap;

    justify-content:
        flex-end;

    gap:
        10px;

    padding:
        18px 22px;

    border-top:
        1px solid
        rgba(11, 31, 51, .08);

    background:
        #fff;
}


body.adh-account-endpoint-orders
.adh-order-action {
    margin:
        0 !important;
}


body.adh-account-endpoint-orders
.adh-orders-empty {
    padding:
        clamp(28px, 4vw, 42px);

    border:
        1px solid
        rgba(11, 31, 51, .12);

    border-left:
        3px solid
        var(--adh-gold);

    background:
        rgba(247, 243, 234, .62);
}


body.adh-account-endpoint-orders
.adh-orders-empty h3 {
    margin:
        0;

    color:
        var(--adh-navy);

    font-family:
        var(--adh-font-display);

    font-size:
        clamp(
            1.6rem,
            2.6vw,
            2rem
        );

    font-weight:
        500;
}


body.adh-account-endpoint-orders
.adh-orders-empty p {
    max-width:
        640px;

    margin:
        10px 0 20px;

    color:
        var(--adh-muted);

    line-height:
        1.65;
}


body.adh-account-endpoint-orders
.adh-orders-pagination {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        18px;

    margin-top:
        28px;
}


body.adh-account-endpoint-orders
.adh-orders-pagination span {
    color:
        var(--adh-muted);

    font-size:
        .9rem;
}


@media (max-width: 900px) {

    body.adh-account-endpoint-orders
    .adh-order-card__summary {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }


    body.adh-account-endpoint-orders
    .adh-order-card__meta--number {
        text-align:
            left;
    }
}


@media (max-width: 600px) {

    body.adh-account-endpoint-orders
    .adh-orders-history__title {
        font-size:
            clamp(
                1.85rem,
                9vw,
                2.25rem
            );
    }


    body.adh-account-endpoint-orders
    .adh-order-card__summary {
        grid-template-columns:
            1fr;

        gap:
            14px;

        padding:
            18px;
    }


    body.adh-account-endpoint-orders
    .adh-order-item {
        grid-template-columns:
            82px
            minmax(0, 1fr);

        gap:
            16px;

        padding:
            20px 18px;
    }


    body.adh-account-endpoint-orders
    .adh-order-item__media {
        width:
            82px;

        min-height:
            82px;
    }


    body.adh-account-endpoint-orders
    .adh-order-card__actions {
        display:
            grid;

        grid-template-columns:
            1fr;

        padding:
            16px 18px;
    }


    body.adh-account-endpoint-orders
    .adh-order-card__actions
    .button {
        width:
            100%;

        text-align:
            center;
    }


    body.adh-account-endpoint-orders
    .adh-orders-pagination {
        flex-wrap:
            wrap;
    }
}


/* =========================================================
   H4.3G ? ORDERS & RETURNS
   SEARCH / FILTERS / REVIEW ACTIONS
   Theme v0.6.16
   ========================================================= */

body.adh-account-endpoint-orders
.adh-orders-controls {
    display:
        grid;

    gap:
        16px;

    margin:
        0 0
        clamp(24px, 3vw, 34px);

    padding:
        20px;

    border:
        1px solid
        rgba(11, 31, 51, .12);

    background:
        rgba(247, 243, 234, .45);
}


body.adh-account-endpoint-orders
.adh-orders-controls__search {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    gap:
        10px;
}


body.adh-account-endpoint-orders
.adh-orders-controls__search input {
    width:
        100%;

    min-height:
        46px;

    padding:
        0 14px;

    border:
        1px solid
        rgba(11, 31, 51, .24);

    background:
        #fff;
}


body.adh-account-endpoint-orders
.adh-orders-controls__filters {
    display:
        flex;

    flex-wrap:
        wrap;

    align-items:
        flex-end;

    gap:
        12px;
}


body.adh-account-endpoint-orders
.adh-orders-controls__filters label {
    display:
        grid;

    gap:
        6px;

    min-width:
        180px;

    color:
        var(--adh-navy);

    font-size:
        .78rem;

    font-weight:
        700;
}


body.adh-account-endpoint-orders
.adh-orders-controls__filters select {
    min-height:
        44px;

    padding:
        0 34px 0 12px;

    border:
        1px solid
        rgba(11, 31, 51, .24);

    background-color:
        #fff;
}


body.adh-account-endpoint-orders
.adh-orders-controls__clear {
    display:
        inline-flex;

    align-items:
        center;

    min-height:
        44px;

    color:
        var(--adh-navy);

    font-size:
        .86rem;

    font-weight:
        600;

    text-decoration:
        underline;

    text-underline-offset:
        3px;
}


body.adh-account-endpoint-orders
.adh-orders-controls__results {
    margin:
        0;

    color:
        var(--adh-muted);

    font-size:
        .85rem;
}


body.adh-account-endpoint-orders
.adh-order-item__review {
    display:
        inline-flex;

    margin-top:
        14px;

    color:
        var(--adh-navy);

    font-size:
        .82rem;

    font-weight:
        700;

    letter-spacing:
        .04em;

    text-decoration:
        underline;

    text-transform:
        uppercase;

    text-underline-offset:
        4px;
}


@media (max-width: 600px) {

    body.adh-account-endpoint-orders
    .adh-orders-controls {
        padding:
            16px;
    }


    body.adh-account-endpoint-orders
    .adh-orders-controls__search {
        grid-template-columns:
            1fr;
    }


    body.adh-account-endpoint-orders
    .adh-orders-controls__search
    .button {
        width:
            100%;
    }


    body.adh-account-endpoint-orders
    .adh-orders-controls__filters {
        display:
            grid;

        grid-template-columns:
            1fr;
    }


    body.adh-account-endpoint-orders
    .adh-orders-controls__filters label,
    body.adh-account-endpoint-orders
    .adh-orders-controls__filters select,
    body.adh-account-endpoint-orders
    .adh-orders-controls__apply {
        width:
            100%;
    }
}


/*
===========================================================
   P1 VISIBLE RECOMMENDATIONS ? Theme v0.6.19
===========================================================
*/


/*
-----------------------------------------------------------
   Orders & Returns ? visible purchase-based merchandising
-----------------------------------------------------------
*/

body.adh-account-endpoint-orders
.adh-orders-recommendations {
    margin-top: clamp(46px, 6vw, 72px);
    padding-top: clamp(34px, 5vw, 52px);
    border-top: 1px solid var(--adh-border);
}

body.adh-account-endpoint-orders
.adh-orders-recommendations__heading {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(260px, .7fr);
    gap: clamp(24px, 5vw, 64px);
    align-items: end;
    margin-bottom: clamp(26px, 4vw, 38px);
}

body.adh-account-endpoint-orders
.adh-orders-recommendations__eyebrow {
    margin: 0 0 9px;
    color: var(--adh-gold);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

body.adh-account-endpoint-orders
.adh-orders-recommendations__heading h2 {
    margin: 0;
    color: var(--adh-navy);
    font-family: var(--adh-font-display);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 500;
    line-height: 1.08;
}

body.adh-account-endpoint-orders
.adh-orders-recommendations__heading > p {
    margin: 0;
    color: var(--adh-muted);
    line-height: 1.7;
}

body.adh-account-endpoint-orders
.adh-orders-recommendations ul.products {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 26px);
}

body.adh-account-endpoint-orders
.adh-orders-recommendations ul.products
li.product {
    display: flex;
    width: auto;
    min-width: 0;
    margin: 0;
    flex-direction: column;
}

body.adh-account-endpoint-orders
.adh-orders-recommendations ul.products
li.product img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center top;
}

body.adh-account-endpoint-orders
.adh-orders-recommendations
.woocommerce-loop-product__title {
    display: -webkit-box;
    overflow: hidden;
    min-height: 4.2em;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}


/*
-----------------------------------------------------------
   Bag ? compact merchandising beside order summary
-----------------------------------------------------------
*/

.woocommerce-cart
.adh-bag-side-recommendations {
    max-width: 1320px;
    margin:
        32px auto
        0;
    padding:
        22px;
    border:
        1px solid
        var(--adh-border);
    background:
        var(--adh-white);
}

.woocommerce-cart
.wc-block-cart__sidebar
.adh-bag-side-recommendations,
.woocommerce-cart
.wp-block-woocommerce-cart-totals-block
.adh-bag-side-recommendations {
    width: 100%;
    max-width: none;
    margin:
        26px 0
        0;
}

.woocommerce-cart
.adh-bag-side-recommendations__eyebrow {
    margin: 0 0 7px;
    color: var(--adh-gold);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.woocommerce-cart
.adh-bag-side-recommendations > h2 {
    margin: 0;
    color: var(--adh-navy);
    font-family: var(--adh-font-display);
    font-size: clamp(1.5rem, 2vw, 1.9rem);
    font-weight: 500;
    line-height: 1.1;
}

.woocommerce-cart
.adh-bag-side-recommendations__intro {
    margin: 9px 0 20px;
    color: var(--adh-muted);
    font-size: .9rem;
    line-height: 1.55;
}

.woocommerce-cart
.adh-bag-side-recommendations
ul.products {
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
    margin: 0;
}

.woocommerce-cart
.adh-bag-side-recommendations
ul.products
li.product {
    display: flex;
    width: auto;
    margin: 0;
    flex-direction: column;
}

.woocommerce-cart
.adh-bag-side-recommendations
ul.products
li.product img {
    display: block;
    width: min(100%, 220px);
    margin-right: auto;
    margin-left: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center top;
}

.woocommerce-cart
.adh-bag-side-recommendations
.woocommerce-loop-product__title {
    display: -webkit-box;
    overflow: hidden;
    min-height: 0;
    font-size: .95rem;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.woocommerce-cart
.adh-bag-side-recommendations
ul.products
li.product
.button {
    min-height: 42px;
    margin-top: 10px;
    padding: 9px 14px;
    font-size: .78rem;
}


/*
-----------------------------------------------------------
   Responsive recommendation surfaces
-----------------------------------------------------------
*/

@media (max-width: 960px) {

    body.adh-account-endpoint-orders
    .adh-orders-recommendations__heading {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    body.adh-account-endpoint-orders
    .adh-orders-recommendations
    ul.products {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


@media (max-width: 560px) {

    body.adh-account-endpoint-orders
    .adh-orders-recommendations {
        margin-top: 42px;
        padding-top: 30px;
    }

    body.adh-account-endpoint-orders
    .adh-orders-recommendations
    ul.products {
        gap: 24px 12px;
    }

    .woocommerce-cart
    .adh-bag-side-recommendations {
        margin-top: 24px;
        padding: 18px;
    }

    .woocommerce-cart
    .adh-bag-side-recommendations
    ul.products {
        display: flex;
        gap: 14px;
        overflow-x: auto;
        padding-bottom: 8px;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

    .woocommerce-cart
    .adh-bag-side-recommendations
    ul.products
    li.product {
        flex: 0 0 min(72vw, 220px);
        scroll-snap-align: start;
    }

    .woocommerce-cart
    .adh-bag-side-recommendations
    ul.products
    li.product img {
        width: 100%;
        max-width: 190px;
    }
}


/*
===========================================================
   P1 BAG SIDEBAR COMPACT CORRECTION ? Theme v0.6.20
   P6-BAG-RECOMMENDATION-REGRESSION-001
===========================================================
*/

.adh-bag-side-recommendations {
    padding: 22px;
}

.adh-bag-side-recommendations > h2 {
    margin: 0;
    color: var(--adh-navy);
    font-family: var(--adh-font-display);
    font-size: clamp(1.45rem, 2vw, 1.8rem);
    font-weight: 500;
    line-height: 1.1;
}

.adh-bag-side-recommendations__intro {
    margin: 8px 0 18px;
    font-size: .86rem;
    line-height: 1.5;
}

.adh-bag-side-recommendations__items {
    display: grid;
    gap: 16px;
}

.adh-bag-side-recommendation {
    display: grid;
    grid-template-columns:
        92px
        minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    margin: 0;
    padding: 0;
}

.adh-bag-side-recommendation
+ .adh-bag-side-recommendation {
    padding-top: 16px;
    border-top: 1px solid var(--adh-border);
}

.adh-bag-side-recommendation__media {
    display: block;
}

.adh-bag-side-recommendation__media img {
    display: block;
    width: 92px;
    height: 112px;
    margin: 0;
    object-fit: cover;
    object-position: center top;
}

.adh-bag-side-recommendation__content {
    min-width: 0;
}

.adh-bag-side-recommendation__title {
    margin: 0;
    font-size: .88rem;
    font-weight: 600;
    line-height: 1.35;
}

.adh-bag-side-recommendation__title a {
    display: -webkit-box;
    overflow: hidden;
    color: var(--adh-navy);
    text-decoration: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.adh-bag-side-recommendation__price {
    margin-top: 7px;
    color: var(--adh-navy);
    font-size: .9rem;
    font-weight: 700;
}

/*
 * P6-BAG-RECOMMENDATION-BUTTONS-001
 *
 * Match the approved ADOMAC product-card action treatment
 * for both Add to Bag and Choose Options.
 */
.adh-bag-side-recommendation__action {
    display: flex;
    width: 100%;
    min-height: 40px;
    margin-top: 10px;
    padding: 9px 12px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    background: var(--adh-navy);
    border: 1px solid var(--adh-navy);
    border-radius: 2px;
    color: var(--adh-white);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .12em;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: none;
    transition:
        background-color 160ms ease,
        border-color 160ms ease,
        color 160ms ease;
}

.adh-bag-side-recommendation__action:hover {
    background: var(--adh-gold);
    border-color: var(--adh-gold);
    color: var(--adh-navy);
    text-decoration: none;
}

.adh-bag-side-recommendation__action:focus-visible {
    outline: 3px solid rgba(198, 161, 91, .38);
    outline-offset: 2px;
}


/*
-----------------------------------------------------------
   Mobile ? compact horizontal recommendation rail
-----------------------------------------------------------
*/

@media (max-width: 782px) {

    .adh-bag-side-recommendations__items {
        display: flex;
        gap: 14px;
        overflow-x: auto;
        padding-bottom: 8px;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

    .adh-bag-side-recommendation {
        flex: 0 0 min(82vw, 320px);
        grid-template-columns:
            82px
            minmax(0, 1fr);
        scroll-snap-align: start;
    }

    .adh-bag-side-recommendation
    + .adh-bag-side-recommendation {
        padding-top: 0;
        border-top: 0;
    }

    .adh-bag-side-recommendation__media img {
        width: 82px;
        height: 102px;
    }
}


/*
===========================================================
   P1B RECENTLY VIEWED ? Theme v0.6.21
===========================================================
*/

.adh-account-dashboard
.adh-account-recently-viewed {
    margin-top: clamp(42px, 6vw, 68px);
    padding-top: clamp(30px, 5vw, 48px);
    border-top: 1px solid var(--adh-border);
}

.adh-account-dashboard
.adh-account-recently-viewed__heading {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(240px, .65fr);
    gap: clamp(20px, 5vw, 56px);
    align-items: end;
    margin-bottom: clamp(24px, 4vw, 36px);
}

.adh-account-dashboard
.adh-account-recently-viewed__eyebrow {
    margin: 0 0 8px;
    color: var(--adh-gold);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.adh-account-dashboard
.adh-account-recently-viewed__heading h2 {
    margin: 0;
    color: var(--adh-navy);
    font-family: var(--adh-font-display);
    font-size: clamp(2rem, 4vw, 2.8rem);
    font-weight: 500;
    line-height: 1.08;
}

.adh-account-dashboard
.adh-account-recently-viewed__heading > p {
    margin: 0;
    color: var(--adh-muted);
    line-height: 1.7;
}

.adh-account-dashboard
.adh-account-recently-viewed
ul.products {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: clamp(14px, 2vw, 24px);
}

.adh-account-dashboard
.adh-account-recently-viewed
ul.products
li.product {
    display: flex;
    width: auto;
    min-width: 0;
    margin: 0;
    flex-direction: column;
}

.adh-account-dashboard
.adh-account-recently-viewed
ul.products
li.product img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center top;
}

.adh-account-dashboard
.adh-account-recently-viewed
.woocommerce-loop-product__title {
    display: -webkit-box;
    overflow: hidden;
    min-height: 4.2em;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}


@media (max-width: 900px) {

    .adh-account-dashboard
    .adh-account-recently-viewed__heading {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .adh-account-dashboard
    .adh-account-recently-viewed
    ul.products {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


@media (max-width: 560px) {

    .adh-account-dashboard
    .adh-account-recently-viewed {
        margin-top: 36px;
        padding-top: 28px;
    }

    .adh-account-dashboard
    .adh-account-recently-viewed
    ul.products {
        gap: 22px 12px;
    }
}


/* ==========================================================
   P2-SOCIAL-CONTACT-001
   ADOMAC Hair social + customer-contact integration
   ========================================================== */

.adh-footer-contact {
    display: grid;
    gap: 0.65rem;
    margin-top: 1.25rem;
}

.adh-footer-contact a {
    display: grid;
    gap: 0.12rem;
    text-decoration: none;
}

.adh-footer-contact a span {
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.72;
}

.adh-footer-social {
    margin-top: 1.4rem;
}

.adh-footer-social-label {
    display: block;
    margin-bottom: 0.55rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.adh-footer-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.8rem;
}

.adh-footer-social-links a {
    text-decoration: none;
}

.adh-account-help-email {
    font-size: 0.875rem;
    overflow-wrap: anywhere;
}

.adh-home-social {
    padding: clamp(3rem, 6vw, 5.5rem) 0;
    background: var(--adh-ivory, #f7f3ea);
}

.adh-home-social-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
}

.adh-home-social-inner h2 {
    margin-bottom: 0.75rem;
}

.adh-home-social-inner p:last-child {
    max-width: 38rem;
}

.adh-home-social-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.adh-home-social-links a {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(11, 31, 51, 0.18);
    background: #fff;
    text-decoration: none;
}

@media (max-width: 760px) {

    .adh-home-social-inner {
        grid-template-columns: 1fr;
    }

    .adh-home-social-links {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   P2B-CONTACT-PAGE-001
   Contact page + social icon refinement
   ========================================================== */

.adh-social-icon-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 2.65rem;
    height: 2.65rem;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    text-decoration: none;
    transition:
        transform 160ms ease,
        border-color 160ms ease,
        background 160ms ease;
}

.adh-social-icon-link:hover,
.adh-social-icon-link:focus-visible {
    transform: translateY(-2px);
}

.adh-social-icon-link svg {
    width: 1.25rem;
    height: 1.25rem;
}

.adh-contact-page {
    background: #fff;
    color: var(--adh-navy, #0b1f33);
}

.adh-contact-hero {
    padding:
        clamp(4rem, 8vw, 7.5rem)
        0
        clamp(3rem, 6vw, 5rem);
    background: var(--adh-ivory, #f7f3ea);
}

.adh-contact-hero-inner {
    max-width: 52rem;
}

.adh-contact-hero h1 {
    max-width: 48rem;
    margin:
        0.4rem
        0
        1rem;
    font-size:
        clamp(2.5rem, 6vw, 5rem);
    line-height: 0.98;
}

.adh-contact-hero p:last-child {
    max-width: 42rem;
    font-size: 1.05rem;
    line-height: 1.7;
}

.adh-contact-routes {
    padding:
        clamp(2.5rem, 5vw, 4.5rem)
        0;
}

.adh-contact-route-grid {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.adh-contact-route-card {
    position: relative;
    padding:
        clamp(1.4rem, 3vw, 2rem);
    border: 1px solid rgba(11, 31, 51, 0.12);
}

.adh-contact-route-number {
    display: block;
    margin-bottom: 2rem;
    color: var(--adh-gold, #c6a15b);
    font-size: 0.75rem;
    letter-spacing: 0.1em;
}

.adh-contact-route-card h2 {
    margin:
        0
        0
        0.75rem;
    font-size: 1.3rem;
}

.adh-contact-route-card p {
    min-height: 4.8rem;
    line-height: 1.6;
}

.adh-contact-route-card a {
    display: inline-flex;
    gap: 0.5rem;
    align-items: center;
    font-weight: 600;
    text-decoration: none;
}

.adh-contact-main {
    padding:
        clamp(3rem, 7vw, 6rem)
        0;
    background: #faf9f6;
}

.adh-contact-main-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.7fr)
        minmax(17rem, 0.75fr);
    gap:
        clamp(2rem, 6vw, 5rem);
    align-items: start;
}

.adh-contact-form-column h2 {
    margin:
        0.35rem
        0
        0.5rem;
    font-size:
        clamp(2rem, 4vw, 3.4rem);
}

.adh-contact-intro {
    max-width: 42rem;
    margin-bottom: 2rem;
}

.adh-contact-form {
    display: grid;
    gap: 1.25rem;
    max-width: 50rem;
}

.adh-contact-field-row {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.adh-contact-form label {
    display: grid;
    gap: 0.45rem;
}

.adh-contact-form label > span {
    font-size: 0.82rem;
    font-weight: 600;
}

.adh-contact-form input,
.adh-contact-form select,
.adh-contact-form textarea {
    width: 100%;
    border: 1px solid rgba(11, 31, 51, 0.22);
    border-radius: 0;
    background: #fff;
    color: #0b1f33;
    font: inherit;
}

.adh-contact-form input,
.adh-contact-form select {
    min-height: 3.15rem;
    padding: 0.75rem 0.85rem;
}

.adh-contact-form textarea {
    padding: 0.85rem;
    resize: vertical;
}

.adh-contact-form input:focus,
.adh-contact-form select:focus,
.adh-contact-form textarea:focus {
    outline:
        2px solid
        rgba(198, 161, 91, 0.45);
    outline-offset: 1px;
}

.adh-contact-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.adh-contact-notice {
    margin:
        0
        0
        1.4rem;
    padding: 1rem 1.1rem;
    border-left:
        3px solid
        #0b1f33;
    background: #fff;
}

.adh-contact-notice-success {
    border-left-color:
        #c6a15b;
}

.adh-contact-side-panel {
    padding: 1.6rem;
    background: var(--adh-navy, #0b1f33);
    color: #fff;
}

/* P2B-CONTACT-PANEL-001 */
.adh-contact-side-panel h2 {
    margin:
        0.25rem
        0
        0.75rem;
    color: var(--adh-ivory, #f7f3ea);
    font-size: 1.15rem;
    line-height: 1.3;
    font-weight: 500;
}

.adh-contact-direct-item {
    display: grid;
    gap: 0.2rem;
    padding: 1rem 0;
    border-top:
        1px solid
        rgba(255, 255, 255, 0.16);
}

.adh-contact-direct-item span,
.adh-contact-social-label {
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.75;
}

.adh-contact-direct-item a {
    color: inherit;
    overflow-wrap: anywhere;
}

.adh-contact-social {
    padding-top: 1.3rem;
    border-top:
        1px solid
        rgba(255, 255, 255, 0.16);
}

.adh-contact-social-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 0.85rem;
}

.adh-contact-social-icons .adh-social-icon-link {
    color: #fff;
}

@media (max-width: 900px) {

    .adh-contact-route-grid {
        grid-template-columns: 1fr;
    }

    .adh-contact-route-card p {
        min-height: 0;
    }

    .adh-contact-main-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {

    .adh-contact-field-row {
        grid-template-columns: 1fr;
    }

    .adh-social-icon-link {
        width: 2.8rem;
        height: 2.8rem;
    }
}


/* ============================================================
   P3A-GUEST-ORDER-LOOKUP-001
   Guest Order Lookup
   ============================================================ */

.adh-guest-order-cta {
    margin: 0 0 2rem;
    padding: 1.5rem;
    border: 1px solid rgba(11, 31, 51, 0.14);
    background: #f7f3ea;
}

.adh-guest-order-cta h2 {
    margin-top: 0.25rem;
}

.adh-guest-order-cta__button {
    margin-top: 0.75rem;
}

.adh-find-order-page {
    min-height: 60vh;
}

.adh-find-order-hero {
    padding: clamp(3rem, 7vw, 5.5rem) 0;
    background: #0b1f33;
    color: #fff;
}

.adh-find-order-hero .adh-eyebrow {
    color: #c6a15b;
}

.adh-find-order-hero h1 {
    margin: 0.35rem 0 0.75rem;
    color: #fff;
}

.adh-find-order-hero p:last-child {
    max-width: 46rem;
    margin-bottom: 0;
}

.adh-find-order-main {
    padding: clamp(2.5rem, 6vw, 5rem) 0;
}

.adh-find-order-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: start;
}

.adh-find-order-form-card,
.adh-find-order-result {
    padding: clamp(1.35rem, 3vw, 2rem);
    border: 1px solid rgba(11, 31, 51, 0.14);
    background: #fff;
}

.adh-find-order-form-card h2,
.adh-find-order-result h2 {
    margin-top: 0;
}

.adh-find-order-form .form-row {
    display: grid;
    gap: 0.45rem;
    margin-bottom: 1rem;
}

.adh-find-order-form label {
    font-weight: 600;
}

.adh-find-order-form input {
    width: 100%;
    min-height: 48px;
    padding: 0.75rem 0.85rem;
    border: 1px solid rgba(11, 31, 51, 0.28);
    background: #fff;
}

.adh-find-order-submit {
    width: 100%;
    margin-top: 0.25rem;
}

.adh-find-order-notice {
    margin: 1rem 0;
    padding: 0.9rem 1rem;
    border-left: 4px solid currentColor;
}

.adh-find-order-notice--error {
    background: #fff5f3;
}

.adh-find-order-account-help,
.adh-find-order-support {
    margin-top: 1.25rem;
    font-size: 0.95rem;
}

.adh-find-order-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 1.5rem 0;
}

.adh-find-order-summary > div {
    padding: 1rem;
    background: #f7f3ea;
}

.adh-find-order-summary dt {
    margin-bottom: 0.3rem;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.adh-find-order-summary dd {
    margin: 0;
}

.adh-find-order-items {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(11, 31, 51, 0.14);
}

.adh-find-order-items h3 {
    margin-top: 0;
}

.adh-find-order-items__list {
    display: grid;
    gap: 0.75rem;
}

.adh-find-order-item {
    padding: 1rem;
    border: 1px solid rgba(11, 31, 51, 0.12);
}

.adh-find-order-item {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.adh-find-order-item__name {
    font-weight: 600;
}

.adh-find-order-item__quantity {
    white-space: nowrap;
}


@media (max-width: 782px) {

    .adh-find-order-layout {
        grid-template-columns: 1fr;
    }

    .adh-find-order-summary {
        grid-template-columns: 1fr;
    }

    .adh-find-order-item {
        align-items: flex-start;
    }
}


/* ============================================================
   P3A-UNIFIED-ORDER-TRACKING-001
   One tracking presentation, two authenticated entry paths.
   ============================================================ */

.adh-find-order-shared-tracking {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(11, 31, 51, 0.14);
}

.adh-find-order-shared-tracking .ahst-customer-tracking {
    margin-top: 0;
}

.adh-find-order-tracking-unavailable {
    padding: 1.25rem;
    border: 1px solid rgba(11, 31, 51, 0.14);
}

/* ============================================================
   P3B-GUEST-RETURN-ACCESS-001
   Guest verification reuses canonical returns presentation.
   ============================================================ */

.adh-find-order-result #adomac-return-options {
    margin-top: 2rem;
}

/*
 * ==========================================================
 * Phase 9I legal footer navigation
 * ==========================================================
 *
 * Desktop:
 * Brand + Shop + Legal + Customer Care.
 *
 * Tablet:
 * Brand spans full width; navigation columns flow below.
 *
 * Mobile:
 * Single-column reading order.
 */

.adh-footer-legal-navigation {
    margin: 0;
    padding: 0;
}

@media (min-width: 981px) {

    .adh-footer-main {
        grid-template-columns:
            minmax(260px, 1.45fr)
            repeat(3, minmax(150px, 1fr));
    }
}

@media (min-width: 641px) and (max-width: 980px) {

    .adh-footer-main {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .adh-footer-brand-column {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {

    .adh-footer-main {
        grid-template-columns: 1fr;
    }

    .adh-footer-brand-column {
        grid-column: auto;
    }
}

/*
 * ==========================================================
 * Phase 9I skip link and compliance contact
 * ==========================================================
 */

.adh-skip-link {
    position: fixed;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 100000;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0.7rem 1rem;
    background: #ffffff;
    color: #0b1f33;
    border: 2px solid #c6a15b;
    border-radius: 6px;
    font-weight: 700;
    text-decoration: none;
    transform: translateY(-180%);
}

.adh-skip-link:focus,
.adh-skip-link:focus-visible {
    transform: translateY(0);
    outline: 3px solid #c6a15b;
    outline-offset: 3px;
}

.adh-skip-target {
    display: block;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.adh-skip-target:focus {
    outline: none;
}

.adh-legal-compliance-contact {
    margin-top: 2.25rem;
    padding: 1.5rem;
    border: 1px solid rgba(11, 31, 51, 0.14);
    border-radius: 14px;
    background: rgba(247, 243, 234, 0.55);
}

.adh-legal-compliance-contact h2 {
    margin-top: 0;
    margin-bottom: 0.65rem;
}

.adh-legal-compliance-contact p {
    margin-top: 0;
    margin-bottom: 1rem;
}

.adh-legal-compliance-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    align-items: center;
}

.adh-legal-compliance-primary,
.adh-legal-compliance-email {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
}

.adh-legal-compliance-primary {
    padding: 0.7rem 1rem;
    border: 1px solid #0b1f33;
    border-radius: 999px;
    font-weight: 700;
    text-decoration: none;
}

.adh-legal-compliance-primary:hover,
.adh-legal-compliance-primary:focus-visible,
.adh-legal-compliance-email:hover,
.adh-legal-compliance-email:focus-visible {
    text-decoration: underline;
}

@media (max-width: 640px) {

    .adh-legal-compliance-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .adh-legal-compliance-primary,
    .adh-legal-compliance-email {
        width: 100%;
    }
}
