.footer-middle {
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
}

.text-right {
    text-align: right;
}

.pt-90 {
    padding-top: 90px !important;
}

.pb-90 {
    padding-bottom: 90px !important;
}

.my-account__address-list {
    display: flex;
    gap: 1.625rem;
    margin-bottom: 90px;
}

.form-floating>.form-control,
.form-floating>.form-select {
    /* height: 48px; */
}

.form-control, .btn {
    font-size: 1rem;
}

.fancy-title, h1.fancy-title, h2.fancy-title, h3.fancy-title, h4.fancy-title, h5.fancy-title, h6.fancy-title {
    color: #b9a16b;
}

.fancy-title, .fancy-title:last-child {
    text-transform: uppercase;
    letter-spacing: 0.2rem;
    margin-bottom: 15px;
    font-size: 0.9rem;
}

/*.swiper-container {*/
/*    padding: 0 1.75rem;*/
/*}*/

/*@media (min-width: 1500px) {*/
/*    .swiper-container {*/
/*        padding: 0 3.75rem;*/
/*    }*/
/*}*/


@media (max-width: 640px) {
    .slideshow-number-pagination .swiper-pagination-bullet {
        font-size: 14px;
    }

    .slideshow-number-pagination .swiper-pagination-bullet::before {
        width: 0.875rem !important;
    }
}

.underline-link {
    transition: all 0.3s ease-in-out;
}

.underline-link:hover {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

/**
** Product detail page
**/
/* ── Layout ───────────────────────────────────────────────────── */
@media (min-width: 992px) {
    .pd-main { padding-bottom: 0; }
    .pd-config-col {
        position: sticky;
        top: 100px;
        align-self: flex-start;
        /*max-height: calc(100vh - 110px);*/
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: #e8e8e8 transparent;
        padding-right: 4px;
    }
    .pd-config-col::-webkit-scrollbar { width: 4px; }
    .pd-config-col::-webkit-scrollbar-track { background: transparent; }
    .pd-config-col::-webkit-scrollbar-thumb { background: #e8e8e8; border-radius: 2px; }
}
@media (max-width: 991px) {
    .pd-main { padding-bottom: 90px; }
}

/* ── Product name ─────────────────────────────────────────────── */
.pd-product-name {
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 400;
    /*line-height: 1.25;*/
    /*color: #111;*/
    /*margin-bottom: 10px;*/
    /*letter-spacing: -.02em;*/
}

/* ── Tags ─────────────────────────────────────────────────────── */
.pd-tag {
    display:inline-flex;align-items:center;gap:4px;
    padding:3px 10px;border-radius:20px;
    font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
}

/* ── Price ────────────────────────────────────────────────────── */
.pd-price-row {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 12px;
}
.pd-price-val {
    font-size: 26px;
    font-weight: 600;
    color: #111;
    /*letter-spacing: -.02em;*/
    transition: opacity .14s ease, transform .14s ease;
    /*display: inline-block;*/
}
.pd-price-val.updating { opacity: 0; transform: scale(.95); }

/* ── Short desc ───────────────────────────────────────────────── */
.pd-short-desc {
    font-weight: 300;
    line-height: 1.7;
    margin-bottom: 20px;
}

/* ── Sections ─────────────────────────────────────────────────── */
.pd-section { margin-bottom: 22px; }
.pd-section--flush { margin-bottom: 16px; }
.pd-section__label {
    font-size: 14px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .08em; color: #aaa; margin-bottom: 6px;
}
.pd-section__hint { font-size: 14px; color: #999; margin-bottom: 14px; line-height: 1.6; }

/* ── Attribute pills ──────────────────────────────────────────── */
.pd-attr-group { margin-bottom: 16px; }
.pd-attr-label {
    font-size: 14px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .07em; color: #777; margin-bottom: 10px;
    display: flex; align-items: center; gap: 6px;
}
.pd-attr-chosen { font-weight: 600; color: #111; text-transform: none; letter-spacing: 0; }
.pd-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.pd-pill {
    padding: 8px 18px; border: 1.5px solid #d4d4d4; border-radius: 6px;
    background: #fff; font-size: 13px; font-weight: 500; color: #444;
    cursor: pointer; white-space: nowrap; user-select: none;
    transition: border-color .16s, background .16s, color .16s, box-shadow .16s;
}
.pd-pill:hover { border-color: #111; color: #111; box-shadow: 0 2px 8px rgba(0,0,0,.07); }
.pd-pill.selected { border-color: #111; background: #111; color: #fff; }
/*.pd-pill.selected::after { content: ' ✓'; font-size: 11px; opacity: .8; }*/
.pd-pill--sm { padding: 6px 13px; font-size: 12px; }
.pd-var-notice { font-size: 12px; margin-top: 8px; margin-bottom: 0; }
.pd-var-notice--unavail { color: #c0392b; }
.pd-var-notice--matched { color: #1a7a4a; font-weight: 600; }

/* ── Set tiles ────────────────────────────────────────────────── */
.pd-set-tile {
    border: 1.5px solid #e8e8e8;
    border-radius: 8px;
    margin-bottom: 10px;
    overflow: hidden;
    transition: border-color .16s;
}
.pd-set-tile.is-checked { border-color: #111; }
.pd-set-tile__header {
    display: flex; align-items: center; gap: 12px;
    padding: 14px 16px;
    cursor: pointer;
    user-select: none;
}
.pd-set-tile__header:hover { background: #fafafa; }
.pd-set-tile__checkmark {
    width: 20px; height: 20px; flex-shrink: 0;
    border: 1.5px solid #ccc; border-radius: 4px;
    display: flex; align-items: center; justify-content: center;
    color: transparent;
    transition: background .16s, border-color .16s, color .16s;
}
.pd-set-item-cb:checked ~ .pd-set-tile__header .pd-set-tile__checkmark,
.pd-set-tile.is-checked .pd-set-tile__checkmark {
    background: #111; border-color: #111; color: #fff;
}
/* The label approach needs a different selector since cb is inside label */
.pd-set-tile__header input:checked + .pd-set-tile__checkmark {
    background: #111; border-color: #111; color: #fff;
}
.pd-set-tile__info { flex-grow: 1; }
.pd-set-tile__name { font-size: 16px; font-weight: 600; color: #222; }
.pd-optional-badge {
    font-size: 10px; font-weight: 600; text-transform: uppercase;
    letter-spacing: .05em; color: #aaa;
    border: 1px solid #e0e0e0; border-radius: 3px; padding: 1px 6px;
    margin-left: 6px;
}
.pd-set-tile__price { font-size: 14px; font-weight: 700; color: #333; white-space: nowrap; }
.pd-set-tile__included { font-size: 12px; color: #aaa; white-space: nowrap; font-style: italic; }
.pd-set-tile__variations { padding: 4px 16px 16px 16px; background: #fafafa; border-top: 1px solid #f0f0f0; }

/* ── Size select ──────────────────────────────────────────────── */
.pd-select-wrap { position: relative; }
.pd-select {
    appearance: none; -webkit-appearance: none;
    width: 100%; padding: 12px 40px 12px 16px;
    border: 1.5px solid #d4d4d4; border-radius: 8px;
    background: #fff; font-size: 16px; color: #333;
    cursor: pointer; outline: none; transition: border-color .18s;
}
.pd-select:focus { border-color: #111; }
.pd-select-chevron { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); pointer-events: none; color: #777; }

/* ── Bespoke toggle ───────────────────────────────────────────── */
.pd-bespoke-row { display: flex; align-items: center; gap: 0; }
.pd-bespoke-label { display: flex; align-items: center; gap: 10px; cursor: pointer; user-select: none; }
.pd-toggle-track {
    width: 44px; height: 24px; background: #d0d0d0; border-radius: 12px;
    display: inline-flex; align-items: center;
    flex-shrink: 0; position: relative;
    transition: background .2s;
}
.pd-toggle-cb:checked + .pd-bespoke-label .pd-toggle-track { background: #111; }
.pd-toggle-thumb {
    width: 18px; height: 18px; background: #fff; border-radius: 50%;
    position: absolute; left: 3px;
    transition: transform .2s;
    box-shadow: 0 1px 3px rgba(0,0,0,.2);
}
.pd-toggle-cb:checked + .pd-bespoke-label .pd-toggle-thumb { transform: translateX(20px); }
.pd-bespoke-text { font-size: 14px; font-weight: 500; color: #333; }

/* ── Textarea ─────────────────────────────────────────────────── */
.pd-textarea {
    width: 100%; padding: 12px 14px;
    border: 1.5px solid #d4d4d4; border-radius: 8px;
    font-size: 14px; color: #333; resize: vertical;
    outline: none; font-family: inherit; line-height: 1.6;
    transition: border-color .18s;
}
.pd-textarea:focus { border-color: #111; }

/* ── Links ────────────────────────────────────────────────────── */
.pd-link-btn {
    background: none; border: none; padding: 0; cursor: pointer;
    font-size: 14px; font-weight: 500; color: #444;
    text-decoration: underline; text-underline-offset: 2px;
    transition: color .15s; line-height: 1;
}
.pd-link-btn:hover { color: #111; }
.pd-link-btn--icon { display: inline-flex; align-items: center; gap: 5px; }
.pd-char-count { font-size: 11px; color: #bbb; }
.pd-hint { font-size: 12px; font-style: italic; font-family: 'Fauna One', ui-sans-serif, sans-serif; margin: 0; }

/* ── CTA row ──────────────────────────────────────────────────── */
.pd-cta-row { display: flex; gap: 12px; align-items: stretch; }
.pd-cta-row .qty-control,
.cart-table .qty-control {
    display: flex;
    align-items: center;
}
@media (max-width: 320px) {
    .pd-cta-row {
        flex-direction: column;
    }
    .pd-cta-row .qty-control,
    .cart-table .qty-control {
        width: 100% !important;
    }
}
@media (min-width: 320px) {
    .pd-cta-row .qty-control,
    .cart-table .qty-control {
        width: 7rem !important;
    }
}
.pd-btn-cart {
    flex-grow: 1; display: flex; align-items: center; justify-content: center;
    background: #111; color: #fff; border: none;
    border-radius: 50px; padding: 14px 28px;
    font-size: 14px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
    cursor: pointer; transition: background .18s, transform .1s;
}
.pd-btn-cart:hover { background: #333; }
.pd-btn-cart:active { transform: scale(.98); }

/* ── Secondary actions ────────────────────────────────────────── */
.pd-secondary-actions { display: flex; align-items: center; gap: 20px; margin-top: 14px; }
.pd-action-link {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 16px; color: #666; cursor: pointer;
    background: none; border: none; padding: 0;
    text-decoration: none;
    transition: color .15s;
}
.pd-action-link:hover { color: #111; }

/* ── Bespoke notice ───────────────────────────────────────────── */
.pd-notice {
    display: flex; align-items: flex-start; gap: 10px;
    background: #fafafa; border: 1px solid #ebebeb;
    border-left: 3px solid #111; border-radius: 4px;
    padding: 12px 14px; font-size: 14px; line-height: 1.6;
}

/* ── Meta ─────────────────────────────────────────────────────── */
.pd-meta { border-top: 1px solid #f0f0f0; padding-top: 14px; }
.pd-meta__row { display: flex; align-items: baseline; gap: 10px; font-size: 16px; padding: 4px 0; }
.pd-meta__key { font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: .06em; color: #bbb; white-space: nowrap; min-width: 80px; }

/* ── Accordion ────────────────────────────────────────────────── */
.pd-accordion { border-top: 1px solid #e8e8e8; }
.pd-accordion__item { border-bottom: 1px solid #e8e8e8; }
.pd-accordion__trigger {
    width: 100%; display: flex; align-items: center; justify-content: space-between;
    padding: 20px 0; background: none; border: none; cursor: pointer;
    font-size: 16px; font-weight: 700; color: #111; text-align: left;
    transition: color .15s;
}
.pd-accordion__trigger:hover { color: #555; }
.pd-accordion__chevron { color: #999; flex-shrink: 0; transition: transform .25s ease; }
.pd-accordion__item.is-open .pd-accordion__chevron { transform: rotate(180deg); }
.pd-accordion__body { padding-bottom: 24px; }
.pd-desc-body { line-height: 1.8; font-size: 16px; }

/* ── Set info cards (accordion) ───────────────────────────────── */
.pd-set-info-card { background: #fafafa; border: 1px solid #ebebeb; border-radius: 6px; padding: 16px; height: 100%; font-size: 14px; }
.pd-badge-req { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; background: #111; color: #fff; padding: 2px 7px; border-radius: 3px; }
.pd-badge-opt { font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #999; border: 1px solid #ddd; padding: 2px 7px; border-radius: 3px; }

/* ── Shipping card ────────────────────────────────────────────── */
.pd-shipping-card { border: 1px solid #ebebeb; border-radius: 8px; padding: 16px; }
.pd-shipping-row { display: flex; align-items: flex-start; gap: 12px; padding: 10px 0; border-bottom: 1px solid #f5f5f5; }
.pd-shipping-row:last-of-type { border-bottom: none; }

/* ── Info table ───────────────────────────────────────────────── */
.pd-info-table { width: 100%; border-collapse: collapse; font-size: 16px; }
.pd-info-table__k { padding: 10px 20px 10px 0; vertical-align: top; font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: .06em; color: #bbb; white-space: nowrap; width: 130px; }
.pd-info-table__v { padding: 10px 0; vertical-align: top; }
.pd-info-table tr + tr td { border-top: 1px solid #f0f0f0; }

/* ── Mobile sticky footer ─────────────────────────────────────── */
.pd-sticky-footer {
    position: fixed; bottom: 0; left: 0; right: 0;
    background: #fff; border-top: 1px solid #e8e8e8;
    z-index: 1030; padding: 12px 0;
    box-shadow: 0 -4px 20px rgba(0,0,0,.08);
}
.pd-sticky-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; }

@media (max-width: 368px) {
    .pd-sticky-footer__inner {
        flex-direction: column;
        width: 100vw !important;
        max-width: 100vw;
        align-items: flex-start;
    }
}
.pd-sticky-footer__label { font-size: 10px; text-transform: uppercase; letter-spacing: .07em; color: #aaa; font-weight: 700; }
.pd-sticky-footer__price { font-size: 18px; font-weight: 800; color: #111; transition: opacity .14s, transform .14s; }
.pd-sticky-footer__price.updating { opacity: 0; transform: scale(.95); }
.pd-sticky-footer__actions { display: flex; align-items: center; gap: 8px; }
.pd-sticky-action {
    width: 40px; height: 40px; border-radius: 50%;
    border: 1.5px solid #e8e8e8; background: #fff;
    display: flex; align-items: center; justify-content: center;
    color: #444; cursor: pointer; text-decoration: none;
    transition: border-color .16s, color .16s;
    flex-shrink: 0;
}
.pd-sticky-action:hover { border-color: #111; color: #111; }
.pd-sticky-action--wa { color: #25d366; border-color: #25d366; }
.pd-sticky-add {
    height: 40px; padding: 0 20px; border-radius: 50px;
    background: #111; color: #fff; border: none;
    font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
    cursor: pointer; white-space: nowrap;
    display: flex; align-items: center;
    transition: background .16s;
}
.pd-sticky-add:hover { background: #333; }

/* ── Size chart modal ─────────────────────────────────────────── */
.pd-size-chart-title { font-size: 16px; color: #222; }
.pd-size-table { width: 100%; border-collapse: collapse; font-size: 16px; }
.pd-size-table th {
    text-align: left; padding: 10px 16px;
    background: #f7f7f7; font-weight: 700; font-size: 13px;
    border-bottom: 2px solid #e8e8e8;
}
.pd-size-table td { padding: 12px 16px; border-bottom: 1px solid #f0f0f0; }
.pd-size-table tbody tr:last-child td { border-bottom: none; }
.pd-size-table tbody tr:hover td { background: #fafafa; }

/* ── Set section collapsible ──────────────────────────────────── */
.pd-set-section__toggle {
    width: 100%; display: flex; align-items: center; justify-content: space-between;
    gap: 12px; background: #f7f7f7; border: 1px solid #e8e8e8; border-radius: 8px;
    padding: 14px 16px; cursor: pointer; text-align: left;
    transition: background .15s, border-color .15s;
}
.pd-set-section__toggle:hover { background: #f0f0f0; border-color: #d0d0d0; }
.pd-set-section__toggle--locked { opacity: .45; pointer-events: none; }
.pd-set-section__toggle-left { flex-grow: 1; }
.pd-set-section__chevron { flex-shrink: 0; margin-top: 2px; color: #888; transition: transform .25s ease; }


/**
** Newsletter section
**/
.newsletter-section {
    background: #1a1a1a;
    padding: 72px 0;
}
.newsletter-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
.newsletter-eyebrow {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #888;
    margin-bottom: 14px;
}
.newsletter-heading {
    font-size: clamp(22px, 2.8vw, 32px);
    font-weight: 700;
    color: #fff;
    line-height: 1.25;
    letter-spacing: -.02em;
    margin-bottom: 16px;
}
.newsletter-desc {
    font-size: 16px;
    color: #aaa;
    line-height: 1.75;
    margin: 0;
    max-width: 420px;
}
.newsletter-form__row {
    display: flex;
    gap: 0;
    border: 1.5px solid #383838;
    border-radius: 8px;
    overflow: hidden;
    background: #242424;
    transition: border-color .2s;
}
.newsletter-form__row:focus-within {
    border-color: #666;
}
.newsletter-form__field { flex-grow: 1; }

.newsletter-form__input:-webkit-autofill,
.newsletter-form__input:-webkit-autofill:hover,
.newsletter-form__input:-webkit-autofill:focus,
.newsletter-form__input:-webkit-autofill:active,
.newsletter-form__input:autofill {
    -webkit-box-shadow: 0 0 0 1000px #1a1a1a inset !important;
    -webkit-text-fill-color: white;
}

.newsletter-form__input {
    width: 100%;
    height: 52px;
    padding: 0 18px;
    background: transparent;
    border: none;
    outline: none;
    font-size: 16px;
    color: #fff;
    font-family: inherit;
}
.newsletter-form__input::placeholder { color: #666; }
.newsletter-form__btn {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 22px;
    background: #fff;
    color: #111;
    border: none;
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    white-space: nowrap;
    transition: background .18s, color .18s;
}
.newsletter-form__btn:hover { background: #f0f0f0; }
.newsletter-form__note {
    font-size: 14px;
    color: #666;
    margin-top: 10px;
    margin-bottom: 0;
}
.newsletter-success {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #6fcf97;
    font-size: 16px;
    font-weight: 500;
    padding: 14px 0;
}
@media (max-width: 991px) {
    .newsletter-inner {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    .newsletter-desc { max-width: 100%; }
}
@media (max-width: 479px) {
    .newsletter-section { padding: 52px 0; }
    .newsletter-form__row { flex-direction: column; border-radius: 8px; }
    .newsletter-form__btn {
        width: 100%; height: 48px;
        justify-content: center; border-radius: 0;
    }
}

@media (max-width: 1499px) {
    .shopping-cart .cart-table tbody td:first-child {
        width: 6rem;
    }

    .shopping-cart .cart-table tbody td {
        margin-left: 6rem;
    }

    .shopping-cart__product-item img {
        width: 5rem;
    }
}

.shopping-cart__product-item__detail a {
    font-weight: 500;
}

.delete-cart {
    justify-content: center;
}


@media (max-width: 767px) {
    .delete-cart {
        justify-content: flex-start;
        margin-top: 15px;
    }

    .delete-cart:after {
        content: 'DELETE ITEM';
        font-size: 14px;
        margin-left: 8px;
    }
}

.cart-pd-item {
    padding-right: 24px !important;
}

@media (min-width: 768px) {
    .cart-pd-item {
        max-width: 150px;
    }
}

.is-wishlisted svg {
    /* color: #e11d48; */
    color: #222222;
}
