:root {
    --z-ink: #171510;
    --z-olive: #171510;
    --z-paper: #f5f4ef;
    --z-line: #e2e3dc;
    --z-muted: #72776d
}

html {
    scroll-behavior: smooth
}

body {
    overflow-wrap: break-word
}

img {
    max-width: 100%
}

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

a,
button,
input,
select,
textarea {
    touch-action: manipulation
}

button:disabled {
    opacity: .45;
    cursor: not-allowed
}

:focus-visible {
    outline: 3px solid #c9a45c;
    outline-offset: 4px
}

.z-wrap {
    max-width: 1440px;
    margin: auto;
    padding: 64px 5%;
    color: var(--z-ink);
    font-family: Arial, sans-serif
}

.z-wrap h1,
.z-wrap h2,
.z-catalog-hero h1 {
    font-family: Georgia, serif;
    font-weight: 400;
    letter-spacing: -1.5px
}

.z-wrap h1 {
    font-size: clamp(32px, 4.5vw, 58px);
    margin: 10px 0 22px
}

.z-wrap h2 {
    font-size: 34px
}

.z-wrap a {
    color: inherit;
    text-decoration: none
}

.z-eyebrow {
    font: 600 10px/1.7 Arial, sans-serif;
    letter-spacing: 2px;
    color: var(--z-muted);
    text-transform: uppercase
}

.z-section-title {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    margin: 0 0 30px
}

.z-section-title>span,
.z-section-title>a {
    font-size: 13px;
    color: var(--z-muted)
}

.z-section-title h2 {
    margin: 8px 0
}

.z-catalog-hero {
    min-height: clamp(480px, 38vw, 560px);
    background: linear-gradient(90deg, rgba(8, 8, 8, .86), rgba(8, 8, 8, .12)), var(--hero) center 42%/cover;
    display: flex;
    align-items: center;
    color: #fff;
    padding: 60px 8%
}

.z-catalog-hero h1 {
    font-size: clamp(38px, 5.5vw, 74px);
    max-width: 700px;
    margin: 16px 0
}

.z-catalog-hero p {
    font-size: 14px;
    max-width: 420px;
    line-height: 1.8;
    margin-bottom: 25px
}

.z-catalog-hero .z-eyebrow {
    color: #d9ddcb
}
.z-catalog-hero h1 span{display:block;color:#e6bd68}

.z-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    background: var(--z-olive);
    border: 1px solid var(--z-olive);
    color: white !important;
    padding: 15px 22px;
    font: 600 12px/1.4 Arial, sans-serif;
    letter-spacing: .4px;
    text-decoration: none;
    cursor: pointer;
    min-height: 46px;
    border-radius: 2px
}

.z-button:hover {
    background: #2b2417
}

.z-button.light {
    background: #fff;
    color: #171510 !important;
    border-color: #fff
}

.z-button.outline {
    color: var(--z-olive) !important;
    background: transparent
}

.z-button.full {
    display: flex;
    width: 100%
}

.z-filters {
    display: flex;
    gap: 18px;
    align-items: end;
    padding: 20px;
    background: var(--z-paper);
    margin: 30px 0 36px
}

.z-filters label {
    flex: 1;
    min-width: 0
}

.z-filters label,
.z-form label {
    font: 600 12px Arial, sans-serif;
    display: flex;
    flex-direction: column;
    gap: 9px;
    color: #625f59
}

.z-filters input,
.z-filters select,
.z-form input,
.z-form select,
.z-form textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid #d7dacf;
    background: white;
    border-radius: 2px;
    padding: 13px;
    font-size: 14px;
    color: var(--z-ink)
}

.z-filters>a {
    font-size: 12px;
    padding: 15px 0
}

.z-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 32px 24px
}

.z-product {
    min-width: 0
}

.z-product-image {
    display: block;
    position: relative;
    overflow: hidden;
    background: #efeee9;
    aspect-ratio: 3/4
}

.z-product-image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    transition: transform .4s
}

.z-product-image:hover img {
    transform: scale(1.04)
}

.z-product-tag {
    position: absolute;
    top: 14px;
    left: 14px;
    background: #fffffff0;
    padding: 6px 9px;
    font: 10px Arial;
    letter-spacing: .3px
}

.z-product-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 16px 0 6px
}

.z-product-meta>span {
    font: 10px Arial;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--z-muted)
}

.z-heart {
    border: 0;
    background: none;
    font: 24px Arial;
    color: var(--z-olive);
    padding: 0 7px;
    min-width: 35px;
    min-height: 35px
}

.z-product h3 {
    font: 500 16px/1.5 Arial;
    margin: 0 0 9px
}

.z-price {
    font: 600 16px Arial;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center
}

.z-price del {
    font-weight: 400;
    color: #92978b;
    font-size: 13px
}

.z-product-link {
    border-top: 1px solid var(--z-line);
    display: flex;
    justify-content: space-between;
    padding: 14px 0;
    font: 12px Arial
}

.z-product{display:flex;flex-direction:column;height:100%}
.z-product h3{display:-webkit-box;min-height:48px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.z-price{min-height:24px;margin-bottom:0}
.z-card-buy-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 2px}
.z-card-variants{display:grid;grid-template-columns:1fr 1fr;gap:7px;grid-column:1/-1}
.z-card-variants select{width:100%;min-width:0;min-height:36px;padding:7px 22px 7px 8px;border:1px solid var(--z-line);border-radius:2px;background:#fff;color:var(--z-ink);font:11px Arial,sans-serif}
.z-card-buy-actions .z-button{min-width:0;min-height:42px;padding:10px 8px;font:600 11px/1.2 Arial,sans-serif;text-align:center}
.z-card-buy-actions .z-card-add{background:#111;color:#dfbd72!important;border:1px solid #b99143}
.z-card-buy-actions .z-card-add:hover{background:#292216;border-color:#dfbd72;color:#f1d99c!important}
.z-card-buy-actions .z-card-buy{background:#d7b566;color:#111!important;border-color:#d7b566}
.z-card-buy-actions .z-card-buy:hover{background:#ebcd82;border-color:#ebcd82;color:#111!important}
.z-card-buy-actions .z-button:disabled{opacity:.48;cursor:not-allowed}
.z-product-link{padding:10px 0;margin-top:auto}
.z-detail-info form .z-button.full{background:#d7b566;border-color:#d7b566;color:#111!important}
.z-detail-info form .z-button.full:hover{background:#ebcd82;border-color:#ebcd82;color:#111!important}
.z-detail-info form .z-button.full:disabled{background:#d7b566;border-color:#d7b566;opacity:.52}
@media(max-width:600px){.z-card-buy-actions{gap:6px}.z-card-buy-actions .z-button{padding:9px 5px;font-size:10px}.z-card-variants{gap:5px}.z-card-variants select{font-size:10px}}

.z-pagination {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin: 35px 0
}

.z-pagination a {
    padding: 10px 16px;
    border: 1px solid var(--z-line)
}

.z-pagination [aria-current] {
    background: var(--z-olive);
    color: #fff
}

.z-empty {
    text-align: center;
    padding: 80px 20px;
    background: var(--z-paper);
    margin: 20px 0
}

.z-empty p {
    color: var(--z-muted);
    margin: 15px 0 25px
}

.z-empty-icon {
    font-size: 60px;
    display: block;
    margin-bottom: 20px
}

.z-notice {
    padding: 16px 20px;
    margin: 0 0 24px;
    background: #f5f0e4;
    color: #57431f;
    border-left: 3px solid #c9a45c;
    font: 14px/1.6 Arial
}

.z-notice.error {
    background: #fff0ec;
    color: #9c382d;
    border-color: #bb574b
}

.z-breadcrumb {
    font-size: 12px;
    color: var(--z-muted);
    margin-bottom: 30px
}

.z-detail {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    margin-bottom: 80px
}

.z-detail-image {
    background: var(--z-paper)
}

.z-detail-image img {
    width: 100%;
    height: 100%;
    max-height: 780px;
    object-fit: cover
}
.z-product-gallery{display:flex;flex-direction:column;gap:12px;align-self:start}.z-product-gallery>#product-gallery-main{display:block;width:100%;aspect-ratio:4/5;max-height:780px;object-fit:cover;background:#f0ede6}.z-product-gallery-thumbs{display:flex;gap:9px;overflow-x:auto;padding:2px 1px 7px}.z-product-gallery-thumb{flex:0 0 76px;width:76px;height:92px;padding:0;border:1px solid #ded7c8;background:#fff;cursor:pointer;opacity:.72}.z-product-gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover}.z-product-gallery-thumb.active{border:2px solid #c9a45c;opacity:1}.z-product-gallery-thumb[hidden]{display:none}

.z-detail-info {
    padding: 20px 0
}

.z-detail-info h1 {
    font-size: clamp(32px, 3.5vw, 50px)
}

.z-detail-info>p {
    font-size: 14px;
    line-height: 1.9;
    color: #625f59
}

.z-detail-info .z-price {
    font-size: 25px;
    color: var(--z-ink);
    line-height: 1.3;
    margin-bottom: 26px
}

.z-stock {
    color: var(--z-olive) !important;
    font-weight: 600
}

.z-form {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.z-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px
}

.z-form>label {
    margin: 0
}

.password-field {
    position: relative;
    display: block;
    width: 100%;
}

.password-field input {
    padding-right: 46px !important;
}

.password-toggle {
    position: absolute;
    top: 50%;
    right: 10px;
    display: grid;
    width: 30px;
    height: 30px;
    padding: 5px;
    place-items: center;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    color: #9a7835;
    cursor: pointer;
}

.password-toggle svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.password-toggle:focus-visible {
    outline: 2px solid #b8964f;
    outline-offset: 1px;
}

.z-form button {
    margin-top: 6px
}

.z-product-benefits {
    display: flex;
    gap: 18px;
    font-size: 11px;
    padding: 24px 0;
    border-bottom: 1px solid var(--z-line)
}

.z-details {
    padding: 19px 0;
    border-bottom: 1px solid var(--z-line);
    font-size: 13px
}

.z-details p {
    margin-top: 15px;
    color: var(--z-muted);
    line-height: 1.8
}

.z-checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(280px, 1fr);
    gap: 40px;
    align-items: start;
    margin-top: 35px
}

.z-cart-item {
    display: grid;
    grid-template-columns: 105px 1fr auto;
    gap: 22px;
    padding: 26px 0;
    border-bottom: 1px solid var(--z-line)
}

.z-cart-item:first-child {
    padding-top: 0
}

.z-cart-item img {
    width: 105px;
    height: 140px;
    object-fit: cover
}

.z-cart-item h3 {
    font: 500 17px Arial;
    margin: 12px 0
}

.z-cart-item p {
    font-size: 12px;
    color: var(--z-muted)
}

.z-cart-item>strong {
    font-size: 14px;
    padding-top: 20px
}

.z-cart-quantity {
    display: flex;
    gap: 12px;
    align-items: center
}

.z-cart-quantity input {
    width: 60px;
    border: 1px solid var(--z-line);
    padding: 8px
}

.z-text-button {
    background: none;
    border: 0;
    font-size: 12px;
    padding: 8px 0;
    color: var(--z-olive);
    text-decoration: underline !important;
    cursor: pointer
}

.z-summary {
    padding: 30px;
    background: var(--z-paper);
    position: sticky;
    top: 24px
}

.z-summary h2 {
    font-size: 29px;
    margin: 10px 0 25px
}

.z-summary>div {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    font-size: 13px;
    padding: 14px 0
}

.z-summary>div>strong {
    white-space: nowrap
}

.z-summary small {
    display: block;
    color: var(--z-muted);
    margin-top: 6px
}

.z-summary-total {
    border-top: 1px solid #d7dacf;
    margin-top: 12px;
    font-size: 17px !important
}

.z-summary p {
    font-size: 12px;
    line-height: 1.8;
    color: var(--z-muted);
    margin: 15px 0 22px
}

.z-panel {
    border: 1px solid var(--z-line);
    padding: 30px;
    background: white
}

.z-panel h2 {
    margin-bottom: 20px
}

.z-panel .z-form-row,
.z-panel>label {
    margin-bottom: 22px
}

.z-payment {
    padding: 18px;
    background: var(--z-paper);
    font-size: 14px
}

.z-payment p {
    margin: 8px 0 0;
    font-size: 12px;
    color: var(--z-muted)
}

.z-success {
    max-width: 760px;
    margin: 15px auto;
    text-align: center;
    padding: 60px 30px
}

.z-success-check {
    display: block;
    font-size: 35px;
    color: var(--z-olive);
    background: #f5f0e4;
    border-radius: 50%;
    width: 76px;
    height: 76px;
    line-height: 76px;
    margin: 0 auto 30px
}

.z-success p {
    line-height: 1.9;
    color: var(--z-muted)
}

.z-reference {
    padding: 16px;
    background: var(--z-paper);
    font: 600 18px monospace;
    letter-spacing: 1px;
    margin: 25px 0
}

.z-success .z-text-button {
    display: block;
    margin-top: 20px
}

.z-auth {
    max-width: 520px;
    margin: auto;
    padding: 40px
}

.z-auth>p {
    font-size: 14px;
    color: var(--z-muted);
    line-height: 1.8
}

.z-auth .z-form {
    margin-top: 25px
}

.z-auth-switch {
    margin: 25px 0 0;
    text-align: center
}

.z-auth-switch a {
    color: var(--z-olive);
    text-decoration: underline
}

.z-order {
    margin-top: 18px
}

.z-order summary {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    flex-wrap: wrap;
    cursor: pointer;
    font-size: 14px
}

.z-order p {
    margin-top: 20px;
    font-size: 13px
}

.z-badge {
    font-size: 11px;
    border-radius: 20px;
    padding: 5px 10px;
    background: #f5f0e4;
    color: var(--z-olive)
}

.z-mobile-links {
    display: none
}

body {
    background: #fff
}

.z-wrap {
    background: #fff
}

@media(min-width:992px) and (max-width:1250px) {
    .zyven-nav-links .nav-link {
        font-size: 10px !important;
        padding-left: 6px !important;
        padding-right: 6px !important
    }

    .zyven-nav-actions {
        gap: 12px !important
    }

    .zyven-logo-title {
        font-size: 25px !important
    }
}

@media(max-width:1000px) {
    .z-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 25px 18px
    }

    .z-detail {
        gap: 30px
    }

    .z-checkout-layout {
        gap: 25px;
        grid-template-columns: minmax(0, 1.3fr) minmax(260px, 1fr)
    }

    .z-cart-item {
        grid-template-columns: 75px 1fr;
        gap: 15px
    }

    .z-cart-item img {
        width: 75px;
        height: 105px
    }

    .z-cart-item>strong {
        grid-column: 2;
        padding: 0
    }

    .z-filters {
        flex-wrap: wrap
    }

    .z-filters label:first-child {
        flex-basis: 100%
    }
}

@media(max-width:700px) {
    .z-wrap {
        padding: 36px 5%
    }

    .z-catalog-hero {
        min-height: 390px;
        padding: 40px 7%
    }

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

    .z-product h3 {
        font-size: 14px
    }

    .z-price {
        font-size: 14px;
        gap: 7px
    }

    .z-price del {
        font-size: 11px
    }

    .z-product-tag {
        left: 8px;
        top: 8px;
        font-size: 9px
    }

    .z-product-meta>span {
        font-size: 8px;
        letter-spacing: .5px
    }

    .z-section-title {
        align-items: start;
        flex-direction: column;
        gap: 5px
    }

    .z-section-title h2,
    .z-wrap h2 {
        font-size: 29px
    }

    .z-filters {
        gap: 12px;
        padding: 15px
    }

    .z-filters label {
        flex-basis: calc(50% - 12px)
    }

    .z-filters .z-button {
        flex: 1
    }

    .z-detail,
    .z-checkout-layout {
        grid-template-columns: 1fr;
        gap: 25px
    }

    .z-detail {
        margin-bottom: 40px
    }

    .z-detail-image img {
        max-height: 580px
    }

    .z-detail-info {
        padding: 0
    }

    .z-detail-info h1 {
        font-size: 37px
    }

    .z-summary {
        position: static;
        padding: 24px
    }

    .z-panel {
        padding: 22px
    }

    .z-form-row {
        gap: 14px
    }

    .z-auth {
        padding: 28px 22px
    }

    .z-success {
        padding: 35px 20px
    }

    .z-order summary {
        font-size: 12px
    }

    .z-catalog-hero p {
        max-width: 280px
    }

    .footer-main {
        --bs-gutter-x: 1rem
    }

    .z-product-benefits {
        flex-wrap: wrap;
        gap: 10px
    }

    .z-cart-quantity {
        flex-wrap: wrap
    }

    .z-mobile-links {
        display: flex;
        gap: 18px;
        padding: 10px 5%;
        background: var(--z-paper);
        font-size: 12px;
        justify-content: center
    }

    .z-mobile-links a {
        color: var(--z-ink);
        text-decoration: none
    }
}

/* Text wordmark used in the storefront header. */
.zyven-navbar .zyven-logo{flex:0 0 auto;width:auto;height:auto;margin:0 18px 0 0;padding:5px 0;overflow:visible;align-items:flex-start}
.zyven-navbar .zyven-logo-title{font:400 25px/1 "Times New Roman",serif;letter-spacing:3.2px;color:#fff;white-space:nowrap}
.zyven-navbar .zyven-logo-tagline{margin-top:6px;font:600 7px/1 Arial,sans-serif;letter-spacing:3.45px;color:#cbb67f;white-space:nowrap}
@media(min-width:992px){.zyven-hero .carousel-item{aspect-ratio:1672/941}.zyven-hero .hero-slide{height:100%;min-height:0}}
@media(max-width:991.98px){.zyven-navbar .zyven-logo{flex:0 0 auto;width:auto;height:auto;margin-right:auto}.zyven-navbar .zyven-logo-title{font-size:22px;letter-spacing:2.8px}.zyven-navbar .zyven-logo-tagline{font-size:6px;letter-spacing:2.8px}}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important
    }
}
.z-coupon-form{padding:14px 0;border-top:1px solid var(--z-line)}.z-coupon-form>label{display:block;margin-bottom:7px;font-size:11px;color:var(--z-muted)}.z-coupon-form>div{display:flex;gap:8px}.z-coupon-form input{min-width:0;flex:1;padding:10px;border:1px solid var(--z-line);background:white}.z-coupon-form .z-button{padding:9px 13px;font-size:11px}.z-summary>div form{margin-left:auto}.z-return-form,.z-review-form{max-width:600px;margin:18px 0;padding:18px;background:#f8f7f2;border:1px solid var(--z-line)}.z-return-form .z-button,.z-review-form .z-button{width:max-content}.z-review-form small{color:var(--z-muted)}.z-reviews{margin:64px 0}.z-review{padding:20px 0;border-top:1px solid var(--z-line)}.z-review>div{display:flex;justify-content:space-between;gap:15px}.z-review>div span{color:#a78a4c;letter-spacing:2px}.z-review p{margin:10px 0;font-size:14px;line-height:1.7}.z-review small{color:var(--z-muted)}
.z-coupon-form input{font-size:16px}.z-order .z-return-form{margin:14px 0}.z-order a{color:var(--z-olive)}
@media(max-width:600px){.z-reviews{margin:42px 0}.z-review-form,.z-return-form{padding:14px}.z-coupon-form>div{gap:6px}.z-coupon-form .z-button{padding:8px}.z-review>div{align-items:flex-start;flex-direction:column;gap:5px}}

/* Product detail colour and size selectors */
.z-size-picker,.z-color-picker{display:grid;gap:11px}
.z-size-picker-heading,.z-color-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#28251f;font-size:13px}
.z-size-picker-heading strong,.z-color-picker-heading strong{font-size:14px}
.z-size-picker-heading>span,.z-color-picker-heading>span{color:#79746a;font-size:12px}
.z-color-picker-heading b{color:#191713;font-weight:700}
.z-size-variants{display:flex;flex-wrap:wrap;gap:8px}
.z-size-variant{min-width:48px;height:44px;padding:0 12px;border:1px solid #ddd8cf;border-radius:11px;background:#fff;color:#39352e;font:500 13px Arial,sans-serif;transition:border-color .18s,background .18s,color .18s}
.z-size-variant:hover{border-color:#b9944f}
.z-size-variant.is-selected{border-color:#181714;background:#181714;color:#f4d897;box-shadow:0 0 0 1px #181714}
.z-size-picker.is-enhanced .z-size-fallback{display:none}
.z-size-error{color:#a34335;font-size:11px}
.z-size-picker.has-error .z-size-variant{border-color:#c67c70}
.z-color-variants{display:flex;align-items:flex-start;gap:9px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin;scrollbar-color:#c9a45c #eee9df}
.z-color-variant{display:flex;flex:0 0 78px;flex-direction:column;align-items:center;gap:6px;width:78px;padding:4px 4px 7px;border:1px solid #dedbd4;border-radius:12px;background:#fff;color:#504b42;cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}
.z-color-variant:hover{transform:translateY(-2px);border-color:#b9944f}
.z-color-variant.is-selected{border-color:#171614;box-shadow:0 0 0 1px #171614}
.z-color-variant>img,.z-color-variant-swatch{display:grid;width:68px;height:78px;place-items:center;overflow:hidden;border-radius:8px;background:#f1eee8}
.z-color-variant>img{object-fit:cover}
.z-color-variant-swatch{background:linear-gradient(145deg,#f5f3ef,#e8e4da)}
.z-color-variant-swatch i{width:31px;height:31px;border:1px solid #0002;border-radius:50%;background:var(--variant-swatch);box-shadow:inset -3px -3px 6px #0002,0 1px 2px #0002}
.z-color-variant-name{max-width:100%;overflow:hidden;color:#4b463d;font:500 10px/1.2 Arial,sans-serif;text-overflow:ellipsis;white-space:nowrap}
.z-color-variant.is-selected .z-color-variant-name{color:#191713;font-weight:700}
.z-product-gallery-thumbs{max-width:100%}
.z-product-gallery>#product-gallery-main{padding:8px;border:1px solid #e5e1d8;border-radius:10px;object-fit:contain;background:#f2f1ee}
@media(max-width:700px){.z-size-picker-heading,.z-color-picker-heading{font-size:12px}.z-size-variant{min-width:45px;height:42px}.z-color-variants{gap:8px}.z-color-variant{flex-basis:74px;width:74px}.z-color-variant>img,.z-color-variant-swatch{width:64px;height:74px}}
