/* Encore Luxe × Hyvä — ink/cream port. Keeps Hyvä mini-cart drawer + Alpine. */

:root,
:host {
    --ink: #191714;
    --ink-soft: #292621;
    --paper: #f3ede3;
    --cream: #fffaf0;
    --ivory: #f3ede3;
    --sand: #d7c9b5;
    --muted: #4a453f;
    --gold: #b49766;
    --oxblood: #681e2c;
    --line: rgba(25, 23, 20, 0.18);
    --footer: #100f0d;
    --cream-hover: #ddc89f;
    --display: "Italiana", "Times New Roman", serif;
    --sans: "DM Sans", "Avenir Next", "Segoe UI", sans-serif;
    --measure: 78rem;
    --el-sticky-h: 8.5rem;

    /* Retoken Hyvä primary away from Magento blue */
    --color-primary: #191714;
    --color-primary-lighter: #292621;
    --color-primary-darker: #100f0d;
    --color-on-primary: #fffaf0;
    --color-secondary: #b49766;
    --color-on-secondary: #191714;
    --color-bg: #f3ede3;
    --color-surface: #fffaf0;
    --color-fg: #191714;
    --color-fg-secondary: #4a453f;
    --color-ink: #191714;
    --color-ink-muted: #4a453f;
}

html {
    background: var(--paper);
    color: var(--ink);
}

body {
    font-family: var(--sans);
    background: var(--paper);
    color: var(--ink);
}

/* —— Hyvä header: ink bar, cream type, native mini-cart kept —— */
#header {
    background: var(--ink) !important;
    color: var(--cream);
    border-bottom-color: rgba(255, 250, 240, 0.12) !important;
    box-shadow: none !important;
}

#header a,
#header button,
#header .btn {
    color: var(--cream);
}

#header .btn.bg-transparent {
    color: var(--cream);
}



#header #search-content {
    background: var(--cream) !important;
    color: var(--ink);
    border-color: var(--sand) !important;
}

#header #search-content a,
#header #search-content button {
    color: var(--ink);
}

.el-hyva-logo img {
    display: block;
    height: 2rem;
    width: auto;
}

/* Mini-cart drawer: cream surface, ink actions (Hyvä #cart-drawer intact) */






/* PDP ATC */
.el-atc,
#product-addtocart-button {
    min-height: 3.25rem;
    width: 100%;
    justify-content: center;
    gap: 0.5rem;
}

.product-info-main .price,
[data-price-type] .price {
    color: var(--ink);
    font-weight: 600;
}

/* Generic surfaces */
.bg-white,
.bg-container,
.bg-gray-50 {
    --tw-bg-opacity: 1;
}

main,
.page-main,
.layout,
.container {
    color: var(--ink);
}

/* Footer ink */
.page-footer,
footer {
    background: var(--footer);
    color: var(--cream);
}

.el-display {
    font-family: var(--display);
    font-weight: 500;
    font-size: clamp(3.1rem, 6.4vw, 5.7rem);
    line-height: 0.92;
    letter-spacing: -0.02em;
    margin: 0;
}

.el-hero-copy h1,
.el-dark-hero h1 {
    max-width: 18ch;
    color: var(--cream);
}

.el-emphasis {
    display: block;
    margin-top: 1.1rem;
    max-width: 16ch;
    color: var(--gold);
    font-family: var(--display);
    font-style: italic;
    font-weight: 500;
    font-size: clamp(1.8rem, 3vw, 2.7rem);
    line-height: 1.05;
}

.el-on-dark {
    max-width: 38rem;
    color: rgba(255, 250, 240, 0.78);
}

.el-hero-plate,
.el-hero-pieces {
    position: relative;
    min-height: 22rem;
    background: #f6f5f3;
}

.el-hero-pieces {
    display: grid;
    gap: 0.85rem;
    align-content: end;
    padding: 1.4rem;
}

.el-lead,
.el-prose,
.el-note {
    max-width: 38rem;
}

.el-lead {
    font-size: 1.05rem;
    margin: 1.2rem 0;
}

.el-subhead {
    font-family: var(--display);
    font-weight: 500;
    font-size: 2.4rem;
    margin: 0 0 0.8rem;
}

.el-prose {
    margin: 0 0 1rem;
}

.el-note {
    color: var(--muted);
    font-size: 0.95rem;
}

.el-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.4rem;
    align-items: center;
    margin: 1.4rem 0;
}

.el-button,
.action.primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 3rem;
    padding: 0.75rem 1.15rem;
    border: 0;
    background: var(--ink);
    color: #fff;
    font-family: var(--sans);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
}

.el-dark-hero .el-button,
.el-hero-copy .el-button {
    background: var(--cream);
    color: var(--ink);
}

.el-dark-hero .el-button:hover,
.el-hero-copy .el-button:hover {
    background: var(--cream-hover);
    color: var(--ink);
}

.el-button:hover,
.action.primary:hover,
.el-bar .el-button:hover {
    background: var(--oxblood);
    color: var(--cream);
}

.el-sheet .el-button:not(.el-button-quiet),
.el-button.el-card-cta,
.product-info-main .action.primary,
.box-tocart .fieldset,
.box-tocart .actions,
.box-tocart .action.primary {
    width: 100%;
}

.box-tocart .action.primary {
    min-height: 3.25rem;
    background: #191714;
    color: #fffaf0;
}

.el-sheet .el-button:not(.el-button-quiet):hover,
.el-button.el-card-cta:hover,
.product-info-main .action.primary:hover,
.box-tocart .action.primary:hover {
    background: var(--oxblood);
    color: var(--cream);
}

.el-sell-quiet {
    color: var(--gold);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    border-bottom: 1px solid rgba(180, 151, 102, 0.45);
    padding-bottom: 0.12rem;
    white-space: nowrap;
}

.el-button::after {
    content: none;
}

.el-button-quiet {
    background: transparent;
    color: inherit;
    min-height: 0;
    padding: 0;
    letter-spacing: 0.02em;
    text-transform: none;
    font-size: 1rem;
    text-decoration: underline;
    text-underline-offset: 0.22em;
}

.el-button-quiet::after {
    content: none;
}

.el-panel {
    background: var(--cream);
    padding: 1.5rem 1.4rem 1.6rem;
    box-shadow: 0 18px 40px rgba(20, 18, 16, 0.04);
}

.el-form-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 0.8rem;
    margin-bottom: 1.2rem;
    border-bottom: 1px solid var(--line);
    color: var(--muted);
    font-size: 0.66rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.el-form,
.el-field {
    display: grid;
    gap: 0.35rem;
}

.el-form {
    gap: 1.15rem;
}

.el-fields {
    display: grid;
    gap: 1.15rem 1.4rem;
}

.el-field span {
    font-size: 0.66rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.el-field small {
    color: var(--muted);
}

.el-field input,
.el-field textarea,
.el-field select {
    width: 100%;
    min-height: 2.4rem;
    padding: 0.35rem 0 0.45rem;
    border: 0;
    border-bottom: 1px solid var(--line-strong);
    border-radius: 0;
    background: transparent;
    color: var(--ink);
    font: inherit;
}

.el-field textarea {
    min-height: 5.5rem;
}

.el-choice {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 0.75rem;
    min-height: 3rem;
    padding: 0.55rem 0;
    border-bottom: 1px solid var(--line);
}

.el-choice input {
    accent-color: var(--ink);
}

.el-pay-quiet {
    color: var(--ink);
}

.el-chips,
.el-points,
.el-steps ol,
.el-house-list,
.el-piece-list,
.el-pills,
.el-drivers,
.el-progress,
.el-tiles,
.el-brand-grid,
.el-numbered {
    margin: 0;
    padding: 0;
    list-style: none;
}

.el-chips,
.el-points {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.75rem;
}

.el-errors {
    margin: 0 0 1rem;
    padding: 0.8rem 0;
    border-top: 1px solid var(--ink);
    color: var(--ink);
}

.el-colophon {
    background: var(--footer);
    color: rgba(255, 250, 240, 0.72);
    border-top: 0;
    padding: 2.6rem 0 2.4rem;
}

.el-colophon-tight p {
    max-width: 40rem;
    margin: 0.2rem 0;
    font-size: 0.92rem;
}
.el-display,
.el-hero-copy h1,
.el-dark-hero h1,
.el-subhead,
.el-product-name,
.el-product-plate strong,
.el-emphasis,
.el-price,
.el-product-price,
.el-sticky-price,
.product-info-main .price-box .price {
    font-family: var(--display);
    font-weight: 400;
}

.el-has-sticky,
.catalog-product-view {
    --el-sticky-h: 8.5rem;
}

.el-sticky-atc {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 35;
    display: flex;
    align-items: stretch;
    gap: 0.5rem;
    padding: 0.75rem 1rem calc(0.75rem + env(safe-area-inset-bottom, 0px));
    background: var(--cream);
    border-top: 1px solid var(--line);
    box-shadow: 0 -8px 24px rgba(25, 23, 20, 0.1);
}

.el-sticky-atc .el-atc,
.el-sticky-atc #product-addtocart-button {
    width: 100%;
    min-height: 3.25rem;
    background: var(--cream) !important;
    color: var(--ink) !important;
    border: 1px solid var(--ink) !important;
    border-radius: 0 !important;
    box-shadow: inset 0 0 0 1px var(--cream);
}

@media (min-width: 1000px) {
    .el-sticky-atc {
        position: static;
        padding: 0;
        border: 0;
        box-shadow: none;
        background: transparent;
    }
}

@media (max-width: 999px) {
    .catalog-product-view .product-info-main,
    .catalog-product-view /* .el-pdp removed — Hyvä default PDP */


    .el-sticky-atc {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 35 !important;
    }
}

@media (min-width: 1000px) {
    .catalog-product-view .product-info-main,
    .catalog-product-view /* .el-pdp removed — Hyvä default PDP */

}

.el-errors {
    margin: 0 0 1.2rem;
    padding: 0.8rem 1rem;
    border: 1px solid var(--ink);
    background: var(--cream);
    color: var(--ink);
}

#checkout-errors {
    scroll-margin-bottom: calc(var(--el-sticky-h, 8rem) + 1.25rem);
    scroll-margin-top: 1rem;
}

.el-field input[aria-invalid="true"],
.el-choice-set[aria-invalid="true"] {
    outline: 1px solid var(--ink);
    outline-offset: 2px;
}

.el-errors p {
    margin: 0.2rem 0;
}

.el-checkout {
    display: grid;
    gap: 1.4rem;
    width: min(var(--measure), calc(100% - 2rem));
    margin: 1.2rem auto 4rem;
}

.el-trust-rail,
.el-place-assurance {
    margin: 0.85rem 0 0.35rem;
    padding: 0.15rem 0 0;
    list-style: none;
}

.el-trust-rail li,
.el-place-assurance li {
    position: relative;
    margin: 0.32rem 0;
    padding-left: 1.05rem;
    color: var(--ink-soft);
    font-size: 0.92rem;
    line-height: 1.45;
}

.el-trust-rail li::before,
.el-place-assurance li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.48em;
    width: 0.42rem;
    height: 0.42rem;
    border: 1px solid var(--gold);
    border-radius: 50%;
    background: var(--cream);
    box-shadow: inset 0 0 0 1px rgba(255, 250, 240, 0.65);
}

.el-place-assurance {
    margin: 0;
    padding: 0.85rem 1rem 0.7rem;
    background: var(--cream);
    border: 1px solid var(--sand);
}

.el-place-ask {
    margin: 0 0 1.15rem;
    font-size: 0.92rem;
}

.el-place-ask a {
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

@media (max-width: 999px) {
    .el-place-ask a {
        display: inline-flex;
        align-items: center;
        min-height: 2.75rem;
        padding: 0.45rem 0;
    }
}

.el-place-row {
    display: grid;
    gap: 1.25rem;
    margin-top: 1.1rem;
    align-items: start;
}

.el-place-stack {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.el-place-action {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}

.el-place-action .el-place-total {
    margin: 0;
}

.el-place-action .el-place {
    display: block;
    width: 100%;
    min-height: 3rem;
}

.el-place-total {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 0.45rem;
    font-size: 1.05rem;
}

.el-place-total strong {
    font-weight: 600;
}

.el-checkout-bar {
    display: none;
}

.el-trust-pack {
    margin: 0.2rem 0 0.85rem;
    color: var(--muted);
    font-size: 0.86rem;
    line-height: 1.4;
}

.el-trust-strip {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin: 0.35rem 0 0.15rem;
    color: var(--ink-soft);
    font-size: 0.92rem;
    line-height: 1.45;
}

.el-trust-strip .el-seal-mini {
    flex: 0 0 auto;
    margin-top: 0.38rem;
}

.el-pay-trust {
    margin: 1.2rem 0 0.8rem;
    color: var(--ink-soft);
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.45;
    text-transform: none;
}

.el-field-help,
.el-choice-detail {
    color: var(--muted);
    font-size: 0.88rem;
    font-weight: 400;
    line-height: 1.45;
}

.el-field-help {
    display: block;
    margin-top: 0.35rem;
}

.el-choice-copy {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.el-billing-toggle {
    width: 1rem;
    height: 1rem;
    margin: 0.15rem 0.55rem 0 0;
    accent-color: var(--ink);
}

.el-check {
    display: inline;
    cursor: pointer;
}

.el-billing-fields {
    display: none;
    margin-top: 0.9rem;
}

.el-billing-toggle:not(:checked) ~ .el-billing-fields {
    display: block;
}

.el-summary-delivery {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin: 0.45rem 0;
}

.el-next {
    margin: 0.2rem 0 1rem;
    padding-left: 1.2rem;
}

.el-next li {
    margin: 0.35rem 0;
}

.el-pay-trust a {
    color: inherit;
}

.el-field input:focus-visible {
    outline: none;
    border-bottom-color: var(--ink);
    box-shadow: inset 0 -2px 0 var(--gold);
}

.el-checkout-title {
    font-size: clamp(2.6rem, 4vw, 4rem);
}

.el-fields,
.el-choice-set {
    margin: 1.4rem 0;
    padding: 0;
    border: 0;
}

.el-fields legend,
.el-choice-set legend {
    margin-bottom: 0.7rem;
    font-family: var(--display);
    font-size: 1.7rem;
}

.el-field em,
.el-choice em {
    color: var(--muted);
    font-style: normal;
    font-weight: 500;
}

.el-choice-set .el-choice {
    align-items: start;
    border-bottom: 1px solid var(--line);
}

.el-choice-set .el-choice input {
    margin-top: 0.35rem;
}

.el-summary {
    padding: 1.3rem 1.2rem;
    background: var(--cream);
    border: 1px solid var(--sand);
}

.el-summary-lines {
    margin: 0;
    padding: 0;
    list-style: none;
}

.el-summary-lines li,
.el-summary-total,
.el-cart-lines li {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin: 0.45rem 0;
}

.el-summary-piece {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.el-summary-total {
    padding-top: 0.7rem;
    border-top: 1px solid var(--line);
    font-size: 1.15rem;
}

.el-proof-inline {
    color: var(--ink-soft);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.el-cart-lines {
    margin: 1rem 0;
    padding: 0;
    list-style: none;
}

.el-cart-lines li.el-cart-line {
    display: grid;
    grid-template-columns: 4.5rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.65rem 0.75rem;
}

.el-button:disabled,
.action.primary:disabled,
.el-place:disabled {
    opacity: 0.55;
    cursor: wait;
}

@media (min-width: 861px) {
    .el-bar-inner {
        grid-template-columns: auto minmax(0, 1fr) auto auto;
    }

    .el-search-bar {
        display: flex;
        grid-column: 3;
        grid-row: 1;
    }

    .el-bar-actions {
        grid-column: 4;
    }

    .el-search-drawer {
        display: none;
    }
}

@media (max-width: 999px) {
    .el-checkout .el-fields {
        grid-template-columns: 1fr;
    }

    .el-checkout .el-field input,
    .el-checkout .el-field select,
    .el-checkout .el-field textarea {
        min-height: 2.75rem;
        padding: 0.65rem 0.75rem;
        font-size: 1rem;
    }

    .el-summary {
        position: sticky;
        bottom: 0;
        z-index: 40;
        padding: 0.85rem 1rem calc(0.85rem + env(safe-area-inset-bottom));
        box-shadow: 0 -8px 24px rgba(25, 23, 20, 0.08);
    }

    body:has(.el-summary) .el-cookie:not([hidden]):not([style*="display: none"]):not([style*="display:none"]),
    body:has(.el-summary) #notice-cookie-block:not([hidden]):not([style*="display: none"]):not([style*="display:none"]) {
        bottom: var(--el-sticky-h, 8rem) !important;
        z-index: 55;
    }

    .el-checkout {
        padding-bottom: calc(var(--el-sticky-h, 8rem) + 1rem + env(safe-area-inset-bottom));
    }

    .el-summary .el-place,
    .el-cart .el-button {
        display: block;
        width: 100%;
        min-height: 3rem;
    }

    .el-place {
        width: 100%;
        min-height: 3rem;
    }

    .el-place-action .el-place,
    .el-checkout-bar {
        display: none;
    }
    .el-checkout {
        grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
        align-items: start;
        gap: 2rem;
    }

    .el-checkout-form {
        grid-column: 1;
        grid-row: 1;
    }

    .el-summary {
        position: sticky;
        top: 9.2rem;
        bottom: auto;
        grid-column: 2;
        grid-row: 1;
        box-shadow: none;
    }

    .el-summary .el-place {
        display: none;
    }

    .el-place-row {
        grid-template-columns: minmax(0, 1fr) minmax(20rem, 22rem);
        align-items: start;
        gap: 1.75rem;
    }

    .el-place-stack {
        width: 100%;
    }

    .el-place-action .el-place {
        width: 100%;
    }
}


.catalog-product-view .product.media,
.catalog-product-view .product-info-main,
.el-pdp .product.media,
.el-pdp .product-info-main {
    float: none;
    width: auto;
}

/* —— Sticky summary + Place (Encore one-page on /checkout) —— */
.el-summary {
    background: var(--cream);
    border: 1px solid var(--sand);
    padding: 1rem 1.1rem;
}

.el-summary .el-place,
.el-place {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0.75rem 1.25rem;
    border: 0;
    background: var(--ink);
    color: var(--cream);
    font: inherit;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
}

.el-summary .el-place:hover,
.el-place:hover {
    background: var(--oxblood);
    color: var(--cream);
}

.el-place:disabled {
    opacity: 0.55;
    cursor: wait;
}

@media (max-width: 899px) {
    .el-summary {
        position: sticky;
        bottom: 0;
        z-index: 40;
        padding: 0.85rem 1rem calc(0.85rem + env(safe-area-inset-bottom));
        box-shadow: 0 -8px 24px rgba(25, 23, 20, 0.12);
        border-left: 0;
        border-right: 0;
        border-bottom: 0;
    }

    .el-checkout {
        padding-bottom: calc(var(--el-sticky-h, 8.5rem) + 1rem + env(safe-area-inset-bottom));
    }

    .el-summary .el-place {
        display: block;
        width: 100%;
        min-height: 3rem;
    }

    .el-place-action .el-place,
    .el-checkout-bar {
        display: none;
    }

    /* Cookie notice sits above sticky Place when both show */
    body:has(.el-summary) #notice-cookie-block:not([hidden]),
    body:has(.el-summary) .el-cookie:not([hidden]) {
        bottom: var(--el-sticky-h, 8.5rem) !important;
        z-index: 55;
    }
}

@media (min-width: 900px) {
    .el-checkout {
        display: grid;
        grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
        align-items: start;
        gap: 2rem;
    }

    .el-checkout-form {
        grid-column: 1;
        grid-row: 1;
    }

    .el-summary {
        position: sticky;
        top: 6rem;
        bottom: auto;
        grid-column: 2;
        grid-row: 1;
        box-shadow: none;
    }

    .el-summary .el-place {
        display: none;
    }

    .el-place-action .el-place {
        display: block;
        width: 100%;
    }
}

/* Trading-name / notes stay readable on paper */
.el-legal,
.el-note {
    color: var(--muted);
    font-size: 0.86rem;
}

/* ===== EL-MOBILE-P1-390: one-row header ≤999 + cream drawer + bag rails ===== */
@media (max-width: 999px) {
    #header {
        position: sticky;
        top: 0;
        z-index: 40;
    }

    /* Force single row at 390px — no wrap, compact chip */
    #header > .flex,
    #header .el-bar-row,
    #header > div:first-of-type {
        flex-wrap: nowrap !important;
        align-items: center !important;
        min-height: 3.5rem;
        max-height: 3.75rem;
        padding-top: 0.4rem !important;
        padding-bottom: 0.4rem !important;
        gap: 0.5rem !important;
    }

    #header img {
        height: 1.85rem !important;
        width: auto !important;
        max-width: 7.5rem;
    }

    #header .el-bag-chip,
    #header #menu-cart-icon {
        flex-shrink: 0;
        padding: 0.35rem 0.55rem !important;
        background: var(--cream) !important;
        color: var(--ink) !important;
        border-radius: 0 !important;
    }

    #header .el-bag-chip span,
    #header #menu-cart-icon span {
        color: inherit;
    }

    /* Hide phone on very narrow; keep Sell if space — Sell stays in cream drawer */
    #header a[href^="tel:"] {
        display: none !important;
    }

    /* Cream menu drawer (not white) */
    #el-mobile-nav {
        background: var(--cream) !important;
        color: var(--ink) !important;
        border-color: var(--line) !important;
    }

    #el-mobile-nav a,
    #el-mobile-nav button,
    #el-mobile-nav .navigation a,
    #el-mobile-nav nav a {
        color: var(--ink) !important;
        background: transparent !important;
    }

    #el-mobile-nav a[href*="valuation"],
    #el-mobile-nav a[style*="b49766"] {
        color: var(--gold) !important;
    }

    /* Search panel cream */
    #header #search-content {
        background: var(--cream) !important;
        color: var(--ink) !important;
    }
}

/* Empty Hyvä mini-cart trust rails */
.el-bag-empty-copy {
    max-width: 18rem;
    margin-inline: auto;
    text-align: center;
}
.el-bag-empty-copy .el-bag-timing {
    margin: 1rem 0 0.35rem;
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--ink);
}
.el-bag-empty-copy .el-bag-rail {
    margin: 0;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
}



/* P1 sticky Place — thumb-reach safe-area */
.el-sticky-place {
    position: sticky;
    bottom: 0;
    z-index: 30;
    margin-inline: -1rem;
    padding: 0.75rem 1rem calc(0.75rem + env(safe-area-inset-bottom, 0px));
    background: var(--cream);
    border-top: 1px solid var(--line);
    box-shadow: 0 -8px 24px rgba(25, 23, 20, 0.08);
}
.el-sticky-place .btn-primary {
    width: 100%;
    min-height: 3.25rem;
    background: var(--cream) !important;
    color: var(--ink) !important;
    border: 1px solid var(--ink) !important;
    border-radius: 0 !important;
}
@media (min-width: 900px) {
    .el-sticky-place {
        position: static;
        margin: 0;
        padding: 0;
        border: 0;
        box-shadow: none;
        background: transparent;
    }
}

/* Sticky thumb ATC — teleported to body ≤999 */
.el-sticky-atc {
    display: none;
}
@media (max-width: 999px) {
    .el-sticky-atc {
        display: flex !important;
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 60 !important;
        align-items: stretch;
        gap: 0.5rem;
        margin: 0 !important;
        padding: 0.75rem 1rem calc(0.75rem + env(safe-area-inset-bottom, 0px)) !important;
        background: #fffaf0 !important;
        border-top: 1px solid rgba(25, 23, 20, 0.18) !important;
        box-shadow: 0 -8px 24px rgba(25, 23, 20, 0.12) !important;
        width: 100vw !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
    }
    .el-sticky-atc .el-atc,
    .el-sticky-atc #product-addtocart-button-sticky {
        width: 100% !important;
        min-height: 3.25rem !important;
        background: #fffaf0 !important;
        color: #191714 !important;
        border: 1px solid #191714 !important;
        border-radius: 0 !important;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        font-weight: 600;
    }
    .catalog-product-view .product-info-main,
    .catalog-product-view .el-pdp,
    .catalog-product-view .column.main {
        padding-bottom: calc(5.75rem + env(safe-area-inset-bottom, 0px)) !important;
    }
    /* Ashley launch: inline ATC stays visible; sticky is extra thumb CTA */
    .el-atc-inline {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}
@media (min-width: 1000px) {
    .el-sticky-atc {
        display: none !important;
    }
}

/* Hide Magento stock empty-cart copy if any residual markup appears */
.cart-empty,
.cart-empty p,
.checkout-cart-index .cart-empty {
    display: none !important;
}
.checkout-cart-index .el-bag-page-empty {
    display: block !important;
}


/* STICKY-ATC-BODY-MOUNT */
#el-sticky-atc-bar.el-sticky-atc,
.el-sticky-atc {
    display: none;
}
@media (max-width: 999px) {
    #el-sticky-atc-bar.el-sticky-atc,
    body > .el-sticky-atc,
    .el-sticky-atc {
        display: flex !important;
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 2147483000 !important;
        align-items: stretch !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 0 !important;
        padding: 0.75rem 1rem calc(0.75rem + env(safe-area-inset-bottom, 0px)) !important;
        background: #fffaf0 !important;
        border-top: 1px solid rgba(25, 23, 20, 0.18) !important;
        box-shadow: 0 -10px 28px rgba(25, 23, 20, 0.14) !important;
        box-sizing: border-box !important;
    }
    #el-sticky-atc-bar .el-atc,
    #product-addtocart-button-sticky {
        width: 100% !important;
        min-height: 3.25rem !important;
        background: #fffaf0 !important;
        color: #191714 !important;
        border: 1px solid #191714 !important;
        border-radius: 0 !important;
        letter-spacing: 0.08em !important;
        text-transform: uppercase !important;
        font-weight: 600 !important;
    }
    .catalog-product-view .el-atc-inline {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    .catalog-product-view .column.main,
    .catalog-product-view .el-pdp,
    .catalog-product-view .product-info-main {
        padding-bottom: calc(5.75rem + env(safe-area-inset-bottom, 0px)) !important;
    }
    /* Cookie notice sits above sticky ATC when both visible */
    .cookie-status-message,
    #notice-cookie-block,
    .message.global.cookie,
    .cookie-message {
        bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px)) !important;
        z-index: 2147482990 !important;
    }
}
@media (min-width: 1000px) {
    #el-sticky-atc-bar.el-sticky-atc,
    .el-sticky-atc {
        display: none !important;
    }
    .catalog-product-view .el-atc-inline {
        display: block !important;
    }
}

/* EL-CART-TRUST-VIEWBAG */





/* EL-HIDE-COMPARE */
/* Hide Magento Compare + wishlist chrome — clashes with boutique */
.product-addto-links,
.towishlist,
.tocompare,
a.action.tocompare,
a.action.towishlist,
button.tocompare,
button.towishlist,
[data-action="add-to-wishlist"],
[data-action="add-to-compare"],
.comparison,
.block-compare,
.action.tocompare,
.action.towishlist,
.products-grid .tocompare,
.products-grid .towishlist,
.product-info-main .tocompare,
.product-info-main .towishlist,
form[data-role="tocompare"],
#compare-link-wrapper,
.page-products .tocompare {
  display: none !important;
}

/* EL-AUTH-PAGE-LAYOUT */
body.maison-page-view.page-layout-1column .columns,
body.maison-page-view .columns {
  display: block !important;
  width: 100% !important;
  max-width: 78rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}
body.maison-page-view .column.main,
body.maison-page-view #maincontent .column.main,
body.maison-page-view main#maincontent {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 auto !important;
}
.el-auth-sheet {
  display: block !important;
  width: 100% !important;
  max-width: 42rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}
.el-auth-sheet h1,
.el-auth-sheet p,
.el-auth-sheet section {
  text-align: left;
}

/* EL-PDP-P0-STRUCTURE: stacked gallery left / buy right — hotfix empty main + floating thumbs (2026-09-26) */

.catalog-product-view /* .el-pdp removed — Hyvä default PDP */


.catalog-product-view .product-info-main,
.catalog-product-view .el-pdp .product-info-main {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
}

.catalog-product-view .el-pdp-grid,
.catalog-product-view section[aria-label="Product Info"],


@media (min-width: 900px) {
  .catalog-product-view .el-pdp-grid,
  .catalog-product-view section[aria-label="Product Info"],

}

/* EL-PLP-HYVA — full-width stock Hyvä product list; light brand only */
body.catalog-category-view.page-layout-1column .columns,
body.catalog-category-view .columns {
  display: block !important;
  width: 100% !important;
  grid-template-columns: none !important;
}
body.catalog-category-view .column.main,
body.catalog-category-view #maincontent .column.main {
  width: 100% !important;
  max-width: 80rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}
body.catalog-category-view .sidebar {
  display: none !important;
}
body.catalog-category-view .products.wrapper,
body.catalog-category-view .products.list.items,
body.catalog-category-view ol.products {
  width: 100%;
}
/* Quiet ink/cream on Hyvä cards — do not fight grid */
body.catalog-category-view .product-item {
  background: #fffaf0;
}
body.catalog-category-view .page-title,
body.catalog-category-view .product-item-name a {
  color: #191714;
}

/* EL-NATIVE-MINICART — light brand only; Hyvä drawer/Alpine untouched */
#header #menu-cart-icon {
  color: #fffaf0;
}
#cart-drawer {
  /* do not override display/position/transform — Hyvä owns behaviour */
  --el-bag-surface: #fffaf0;
}
#cart-drawer .bg-white,
dialog#cart-drawer {
  background-color: #fffaf0 !important;
}
#cart-drawer .btn-primary {
  background-color: #191714 !important;
  border-color: #191714 !important;
  color: #fffaf0 !important;
}

/* EL-TILE-TRUST */
.el-tile-trust {
  list-style: none;
  margin: 0.55rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.45rem 0.75rem;
}
.el-tile-trust li {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  margin: 0;
  padding: 0.2rem 0.55rem 0.2rem 0.4rem;
  border: 1px solid rgba(25, 23, 20, 0.12);
  border-radius: 999px;
  background: #fffaf0;
  color: #191714;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-transform: uppercase;
}
.el-tile-trust__icon {
  flex-shrink: 0;
  color: #b49766;
  stroke-width: 2;
}
@media (min-width: 768px) {
  .products-list .el-tile-trust {
    justify-content: flex-start;
  }
}
