.exotic-short-overview {
    margin: 0 0 1.25rem;
    line-height: 1.65;
}

.exotic-short-overview p {
    margin: 0;
}

.variations tr.exotic-variation-row > th.exotic-native-variation-label {
    display: none !important;
}

.variations tr.exotic-variation-row > td.value {
    display: table-cell !important;
    width: 100% !important;
    padding-left: 0 !important;
}

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

.exotic-option-picker {
    width: 100%;
    margin: 0.25rem 0 1.1rem;
}

.exotic-option-picker__heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.7rem;
}

.exotic-option-picker__heading strong {
    font-size: 0.95rem;
}

.exotic-selected-caption {
    font-size: 0.875rem;
    opacity: 0.72;
    text-align: right;
}

.exotic-option-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
}

.exotic-option-button {
    box-sizing: border-box;
    cursor: pointer;
    position: relative;
    transition: transform 120ms ease, border-color 120ms ease, box-shadow 120ms ease, opacity 120ms ease;
}

.exotic-option-button:hover:not(:disabled) {
    transform: translateY(-1px);
}

.exotic-option-button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

.exotic-color-swatch {
    --exotic-swatch-color: #d8d8d8;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 2px solid rgba(0,0,0,.22);
    border-radius: 50%;
    background-color: var(--exotic-swatch-color);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.exotic-color-swatch:hover:not(:disabled) {
    border-color: rgba(0,0,0,.65);
}

.exotic-size-button {
    min-width: 50px;
    min-height: 42px;
    padding: 0.55rem 0.8rem;
    border: 1px solid rgba(0,0,0,.28);
    border-radius: 6px;
    background: #fff;
    color: inherit;
    font: inherit;
    font-weight: 600;
    line-height: 1;
}

.exotic-size-button:hover:not(:disabled) {
    border-color: #111;
}

.exotic-option-button.is-selected {
    border-color: #111;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #111;
}

.exotic-color-swatch.is-selected::after {
    content: "✓";
    position: absolute;
    right: -5px;
    bottom: -5px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #111;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

.exotic-option-button.is-disabled,
.exotic-option-button:disabled {
    cursor: not-allowed;
    opacity: 0.3;
}

.exotic-color-swatch.is-disabled::before,
.exotic-color-swatch:disabled::before {
    content: "";
    position: absolute;
    left: 4px;
    right: 4px;
    top: 50%;
    height: 1px;
    background: rgba(0,0,0,.7);
    transform: rotate(-45deg);
}

.exotic-size-button.is-disabled::after,
.exotic-size-button:disabled::after {
    content: "";
    position: absolute;
    left: 6px;
    right: 6px;
    top: 50%;
    height: 1px;
    background: rgba(0,0,0,.55);
    transform: rotate(-12deg);
}

.exotic-product-details {
    clear: both;
    margin: 1.25rem 0 2.25rem;
}

.exotic-product-details__inner {
    border-top: 1px solid rgba(0,0,0,.14);
    padding-top: 1.5rem;
}

.exotic-product-details h2 {
    margin: 0 0 0.7rem;
    font-size: 1.45rem;
}

.exotic-product-details h3 {
    margin: 1.4rem 0 0.8rem;
    font-size: 1.1rem;
}

.exotic-product-details p {
    max-width: 900px;
    line-height: 1.7;
}

.exotic-spec-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 0;
    margin: 0;
    border-top: 1px solid rgba(0,0,0,.1);
}

.exotic-spec-grid__item {
    padding: 0.8rem 0.75rem 0.8rem 0;
    border-bottom: 1px solid rgba(0,0,0,.1);
}

.exotic-spec-grid__item dt {
    margin: 0 0 0.18rem;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.65;
}

.exotic-spec-grid__item dd {
    margin: 0;
    line-height: 1.5;
}

.exotic-product-details__note {
    margin: 1rem 0 0;
    font-size: 0.86rem;
    opacity: 0.7;
}

@media (max-width: 768px) {
    .exotic-option-picker__heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.25rem;
    }

    .exotic-selected-caption {
        text-align: left;
    }

    .exotic-color-swatch {
        width: 46px;
        height: 46px;
    }

    .exotic-size-button {
        min-width: 54px;
        min-height: 46px;
    }

    .exotic-spec-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   v0.3.0 — clean wholesale-catalog layout
   Layout only: inherits the active EXOTIC theme colors/fonts.
   ========================================================= */

.woocommerce-shop .woocommerce-products-header,
.tax-product_cat .woocommerce-products-header,
.tax-product_tag .woocommerce-products-header,
.tax-pa_brand .woocommerce-products-header {
    margin-bottom: 1rem;
}

.woocommerce .woocommerce-result-count {
    margin: 0 0 1rem;
    opacity: .72;
}

.woocommerce .woocommerce-ordering {
    margin: 0 0 1.25rem;
}

.woocommerce .woocommerce-ordering select {
    min-height: 42px;
    padding: .45rem 2.25rem .45rem .75rem;
    border: 1px solid rgba(0,0,0,.18);
    border-radius: 4px;
    background-color: transparent;
    color: inherit;
    font: inherit;
}

.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 2rem 1.6rem !important;
    clear: both;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
    display: none !important;
    content: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left;
    min-width: 0;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
    display: block;
    width: 100% !important;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: contain;
    object-position: center bottom;
    margin: 0 0 .85rem !important;
    border-radius: 0;
    background: transparent;
}

.exotic-loop-brand {
    margin: 0 0 .25rem;
    font-size: .84rem;
    line-height: 1.3;
    opacity: .68;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    margin: 0 0 .35rem !important;
    padding: 0 !important;
    font-size: 1rem !important;
    line-height: 1.35;
    font-weight: 700;
    color: inherit;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
    display: block;
    margin: .35rem 0 0 !important;
    font-size: 1rem !important;
    line-height: 1.3;
    font-weight: 600;
    color: inherit !important;
}

.exotic-loop-options {
    margin-top: .35rem;
    font-size: .82rem;
    line-height: 1.35;
    opacity: .68;
}

.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
    margin-top: .75rem;
}

.woocommerce nav.woocommerce-pagination {
    margin-top: 2.25rem;
}

@media (max-width: 1180px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 820px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 1.5rem 1rem !important;
    }
}

@media (max-width: 480px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 1.25rem .75rem !important;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
        font-size: .93rem !important;
    }

    .exotic-loop-brand,
    .exotic-loop-options {
        font-size: .77rem;
    }
}


/* =========================================================
   v0.4.0 — selected-color gallery + product browse sidebar
   ========================================================= */

.single-product .woocommerce-product-gallery .flex-control-thumbs,
.single-product .woocommerce-product-gallery .flex-direction-nav {
    display: none !important;
}

.single-product .woocommerce-product-gallery__wrapper {
    margin-bottom: .75rem !important;
}

.single-product .woocommerce-product-gallery__image img {
    width: 100% !important;
    max-width: 520px !important;
    max-height: 500px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center center !important;
}

.exotic-color-view-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 92px));
    gap: .65rem;
    justify-content: center;
    margin: .75rem auto 0;
    min-height: 0;
}

.exotic-color-view-strip:empty {
    display: none;
}

.exotic-view-thumb {
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid rgba(0,0,0,.18);
    border-radius: 5px;
    padding: .35rem;
    background: transparent;
    color: inherit;
    cursor: pointer;
    text-align: center;
    font: inherit;
}

.exotic-view-thumb img {
    display: block;
    width: 100%;
    height: 72px;
    margin: 0 0 .25rem;
    object-fit: contain;
    background: #fff;
}

.exotic-view-thumb span {
    display: block;
    font-size: .74rem;
    line-height: 1.2;
    opacity: .8;
}

.exotic-view-thumb.is-selected {
    border-color: currentColor;
    box-shadow: 0 0 0 1px currentColor;
}

/* Product image itself is the color swatch, so the swatch and selected
   garment cannot disagree merely because a guessed hex value was used. */
.exotic-color-swatch.has-image {
    background-size: 150% auto;
    background-position: center center;
    background-color: #fff;
}

.exotic-product-browse-sidebar {
    min-width: 0;
}

.exotic-product-browse-sidebar__inner {
    position: sticky;
    top: 1rem;
    border: 1px solid rgba(0,0,0,.12);
    border-radius: 6px;
    padding: 1rem;
    background: rgba(255,255,255,.94);
}

.exotic-product-browse-sidebar h2 {
    margin: 0 0 .9rem;
    font-size: 1.1rem;
}

.exotic-browse-group + .exotic-browse-group {
    margin-top: 1.15rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(0,0,0,.10);
}

.exotic-browse-group h3 {
    margin: 0 0 .55rem;
    font-size: .86rem;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.exotic-browse-group ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.exotic-browse-group li {
    margin: 0;
    padding: 0;
}

.exotic-browse-group a {
    display: block;
    padding: .32rem 0;
    color: inherit;
    text-decoration: none;
    line-height: 1.35;
}

.exotic-browse-group a:hover,
.exotic-browse-group a:focus-visible {
    text-decoration: underline;
}

@media (min-width: 1200px) {
    .single-product div.product {
        display: grid !important;
        grid-template-columns: 215px minmax(0, .88fr) minmax(360px, 1.12fr);
        column-gap: 2rem;
        row-gap: 1.5rem;
        align-items: start;
    }

    .single-product div.product::before,
    .single-product div.product::after {
        display: none !important;
        content: none !important;
    }

    .single-product div.product > .exotic-product-browse-sidebar {
        grid-column: 1;
        grid-row: 1;
    }

    .single-product div.product > .woocommerce-product-gallery {
        grid-column: 2;
        grid-row: 1;
        float: none !important;
        width: 100% !important;
        max-width: 520px;
        justify-self: center;
    }

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

    .single-product div.product > .exotic-product-details,
    .single-product div.product > .woocommerce-tabs,
    .single-product div.product > .related,
    .single-product div.product > .upsells {
        grid-column: 1 / -1;
        width: 100% !important;
    }
}

@media (min-width: 769px) and (max-width: 1199px) {
    .single-product div.product > .exotic-product-browse-sidebar {
        clear: both;
        margin: 0 0 1.25rem;
    }

    .exotic-product-browse-sidebar__inner {
        position: static;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.25rem;
    }

    .exotic-product-browse-sidebar h2 {
        grid-column: 1 / -1;
    }

    .exotic-browse-group + .exotic-browse-group {
        margin: 0;
        padding: 0;
        border: 0;
    }
}

@media (max-width: 768px) {
    .single-product .woocommerce-product-gallery__image img {
        max-height: 420px !important;
    }

    .single-product div.product > .exotic-product-browse-sidebar {
        margin: 0 0 1.1rem;
    }

    .exotic-product-browse-sidebar__inner {
        position: static;
    }

    .exotic-color-view-strip {
        grid-template-columns: repeat(3, minmax(0, 82px));
    }

    .exotic-view-thumb img {
        height: 64px;
    }
}

/* Main/header dropdown readability: preserve the active theme colors and
   add only a very light outline effect. */
.site-header .sub-menu a,
.main-navigation .sub-menu a,
.primary-navigation .sub-menu a,
.exotic-brand-submenu a {
    text-shadow:
        -0.45px -0.45px 0 rgba(255,255,255,.72),
         0.45px -0.45px 0 rgba(255,255,255,.72),
        -0.45px  0.45px 0 rgba(255,255,255,.72),
         0.45px  0.45px 0 rgba(255,255,255,.72);
}

.exotic-nav-brands {
    position: relative;
}

.exotic-brand-submenu {
    max-height: 70vh;
    overflow-y: auto;
}


/* =========================================================
   v0.5.0 — independent gallery, compact Shop By sidebar,
   smaller product imagery, and white storefront background.
   ========================================================= */

/* Plain white store background so product photography does not appear
   to sit inside a separate white rectangle. Existing header/background
   images remain intact if the theme explicitly sets them. */
html,
body,
#page,
.site,
.site-content,
#content,
.content-area,
.site-main,
main,
body.woocommerce,
body.woocommerce-page,
body.woocommerce .site-content,
body.woocommerce-page .site-content {
    background-color: #fff !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.single-product div.product,
.single-product .summary,
.single-product .woocommerce-product-gallery {
    background-color: transparent !important;
}

/* Our gallery is independent of Woo's variation-gallery resets. */
.single-product .woocommerce-product-gallery.exotic-custom-gallery-ready
    .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery.exotic-custom-gallery-ready
    .woocommerce-product-gallery__trigger,
.single-product .woocommerce-product-gallery.exotic-custom-gallery-ready
    .flex-control-thumbs,
.single-product .woocommerce-product-gallery.exotic-custom-gallery-ready
    .flex-direction-nav {
    display: none !important;
}

.exotic-selected-color-gallery {
    width: 100%;
    max-width: 430px;
    margin: 0 auto;
}

.exotic-gallery-stage {
    position: relative;
    display: grid;
    place-items: center;
    width: 100%;
    min-height: 350px;
    background: #fff;
    overflow: hidden;
}

.exotic-gallery-main-image {
    display: block;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 370px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #fff !important;
}

.exotic-gallery-arrow {
    position: absolute;
    top: 50%;
    z-index: 3;
    transform: translateY(-50%);
    width: 38px;
    height: 52px;
    padding: 0;
    border: 1px solid rgba(0,0,0,.16);
    border-radius: 4px;
    background: rgba(255,255,255,.92);
    color: #111;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.exotic-gallery-prev {
    left: 4px;
}

.exotic-gallery-next {
    right: 4px;
}

.exotic-gallery-arrow:hover:not(:disabled) {
    border-color: rgba(0,0,0,.45);
}

.exotic-gallery-arrow.is-hidden,
.exotic-gallery-arrow:disabled {
    display: none;
}

.exotic-gallery-view-name {
    margin-top: .45rem;
    text-align: center;
    font-size: .82rem;
    font-weight: 600;
    opacity: .72;
}

.exotic-gallery-thumbs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .6rem;
    margin-top: .65rem;
}

.exotic-gallery-thumb {
    width: 88px;
    padding: .35rem;
    border: 1px solid rgba(0,0,0,.16);
    border-radius: 5px;
    background: #fff;
    color: inherit;
    cursor: pointer;
    text-align: center;
    font: inherit;
}

.exotic-gallery-thumb img {
    display: block;
    width: 100%;
    height: 68px;
    margin: 0 0 .2rem;
    object-fit: contain;
    background: #fff;
}

.exotic-gallery-thumb span {
    display: block;
    font-size: .72rem;
    line-height: 1.2;
}

.exotic-gallery-thumb.is-selected {
    border-color: #111;
    box-shadow: 0 0 0 1px #111;
}

/* Swatches use the actual Woo variation image instead of an invented hex. */
.exotic-color-swatch.has-image {
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-color: #fff !important;
}

/* Product browsing sidebar: categories stay visible, brands/attributes are
   compact selectors instead of giant lists. */
.exotic-product-browse-sidebar__inner {
    background: #fff !important;
}

.exotic-browse-all {
    display: block;
    margin: 0 0 1rem;
    padding: .55rem .7rem;
    border: 1px solid rgba(0,0,0,.14);
    border-radius: 4px;
    color: inherit;
    text-decoration: none;
    font-weight: 700;
}

.exotic-browse-categories a {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.exotic-browse-count {
    min-width: 1.8rem;
    text-align: right;
    font-size: .8rem;
    opacity: .55;
}

.exotic-browse-shopby {
    margin-top: 1rem !important;
}

.exotic-browse-filter {
    border-top: 1px solid rgba(0,0,0,.10);
}

.exotic-browse-filter:last-child {
    border-bottom: 1px solid rgba(0,0,0,.10);
}

.exotic-browse-filter summary {
    list-style: none;
    position: relative;
    padding: .72rem 1.4rem .72rem 0;
    cursor: pointer;
    font-size: .88rem;
    font-weight: 700;
}

.exotic-browse-filter summary::-webkit-details-marker {
    display: none;
}

.exotic-browse-filter summary::after {
    content: "+";
    position: absolute;
    right: .1rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1rem;
}

.exotic-browse-filter[open] summary::after {
    content: "−";
}

.exotic-browse-filter__body {
    padding: 0 0 .7rem;
}

.exotic-browse-select {
    width: 100%;
    min-height: 38px;
    padding: .4rem 2rem .4rem .5rem;
    border: 1px solid rgba(0,0,0,.16);
    border-radius: 4px;
    background: #fff;
    color: inherit;
    font: inherit;
}

/* Slightly more compact desktop product-page columns. */
@media (min-width: 1200px) {
    .single-product div.product {
        grid-template-columns: 225px minmax(360px, .82fr) minmax(390px, 1.18fr) !important;
        column-gap: 1.65rem !important;
    }

    .single-product div.product > .woocommerce-product-gallery {
        max-width: 430px !important;
    }
}

@media (max-width: 768px) {
    .exotic-gallery-stage {
        min-height: 300px;
    }

    .exotic-gallery-main-image {
        max-height: 315px !important;
    }

    .exotic-gallery-thumb {
        width: 78px;
    }

    .exotic-gallery-thumb img {
        height: 58px;
    }
}

/* =========================================================
   v0.6.0 — SanMar-inspired product page structure.
   Storefront/display only. No catalog/import data writes.
   ========================================================= */

/* v0.7 restores the product browsing menu on every product page while
   keeping the SanMar-style image + information structure. */
.single-product .exotic-product-browse-sidebar {
    display: block !important;
}

@media (min-width: 1200px) {
    .single-product div.product {
        display: grid !important;
        grid-template-columns: 225px minmax(360px, .88fr) minmax(470px, 1.12fr) !important;
        column-gap: 1.7rem !important;
        row-gap: 1.5rem !important;
        align-items: start !important;
    }

    .single-product div.product::before,
    .single-product div.product::after {
        display: none !important;
        content: none !important;
    }

    .single-product div.product > .exotic-product-browse-sidebar {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
    }

    .single-product div.product > .woocommerce-product-gallery {
        grid-column: 2 !important;
        grid-row: 1 !important;
        float: none !important;
        width: 100% !important;
        max-width: 520px !important;
        justify-self: center !important;
        margin: 0 !important;
    }

    .single-product div.product > .summary {
        grid-column: 3 !important;
        grid-row: 1 !important;
        float: none !important;
        width: 100% !important;
        max-width: 680px !important;
        margin: 0 !important;
    }

    .single-product div.product > .exotic-product-details,
    .single-product div.product > .woocommerce-tabs,
    .single-product div.product > .related,
    .single-product div.product > .upsells {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }
}

@media (min-width: 769px) and (max-width: 1199px) {
    .single-product div.product > .exotic-product-browse-sidebar {
        display: block !important;
        width: 100% !important;
        clear: both;
        margin: 0 0 1.25rem !important;
    }
}

/* Reference-style product identity above the title. */
.exotic-product-identity {
    margin: 0 0 .45rem;
}

.exotic-product-brand {
    display: inline-block;
    margin: 0 0 .38rem;
    color: inherit;
    font-size: .96rem;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.exotic-product-style {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3;
}

.single-product .summary .product_title {
    margin-top: .3rem !important;
    margin-bottom: .6rem !important;
    font-size: clamp(1.8rem, 2.5vw, 2.55rem) !important;
    line-height: 1.16 !important;
}

.single-product .summary > .price {
    margin: .15rem 0 .9rem !important;
    font-size: clamp(1.7rem, 2.2vw, 2.25rem) !important;
    line-height: 1.2 !important;
}

.exotic-inventory-jump.button,
.exotic-inventory-jump {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    margin: 0 0 1rem !important;
    padding: .68rem 1rem !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

.exotic-size-summary {
    margin: .25rem 0 1.05rem;
    font-size: 1rem;
}

.exotic-short-overview {
    margin: .35rem 0 1.4rem !important;
    max-width: 680px;
    line-height: 1.58 !important;
}

/* Large left gallery with thumbnail strip below, matching the reference. */
.exotic-selected-color-gallery {
    max-width: 620px !important;
}

.exotic-gallery-stage {
    min-height: 560px !important;
    padding: .5rem 1.2rem 0 !important;
}

.exotic-gallery-main-image {
    max-width: 100% !important;
    max-height: 560px !important;
}

.exotic-gallery-thumbs {
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: .75rem !important;
    margin-top: .8rem !important;
    overflow-x: auto;
    padding: 0 0 .2rem;
}

.exotic-gallery-thumb {
    flex: 0 0 88px;
    width: 88px !important;
    padding: .25rem !important;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.exotic-gallery-thumb img {
    height: 86px !important;
    margin: 0 !important;
}

.exotic-gallery-thumb span,
.exotic-gallery-view-name {
    display: none !important;
}

.exotic-gallery-thumb.is-selected {
    border-bottom-color: #222 !important;
    box-shadow: none !important;
}

.exotic-gallery-arrow {
    width: 36px !important;
    height: 44px !important;
    border: 0 !important;
    background: rgba(255,255,255,.86) !important;
}

/* Keep Woo's real selects for variation logic, but remove duplicate
   third-party swatch rows and the visible dropdown UI. */
.single-product .variations tr.exotic-variation-row ul.variable-items-wrapper,
.single-product .variations tr.exotic-variation-row .variable-items-wrapper {
    display: none !important;
}

.single-product form.variations_form table.variations,
.single-product form.variations_form table.variations > tbody {
    display: block !important;
    width: 100% !important;
}

.single-product form.variations_form tr.exotic-variation-row {
    display: block !important;
    width: 100% !important;
    margin: 0 0 1.15rem !important;
}

.single-product form.variations_form tr.exotic-variation-row > td.value {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
}

/* Color section: "Colors (n)", Selected, then clean circular swatches
   with labels under them. No red check, slash, tint, or overlay. */
.exotic-color-picker {
    margin-top: 1.6rem !important;
}

.exotic-color-picker .exotic-option-picker__heading {
    display: block !important;
    margin-bottom: .85rem !important;
}

.exotic-color-picker .exotic-option-picker__heading > strong {
    display: block;
    margin-bottom: 1.05rem;
    font-size: 1rem !important;
    font-weight: 500 !important;
}

.exotic-selected-row {
    display: flex;
    align-items: center;
    gap: .38rem;
    min-height: 28px;
    font-size: .9rem;
}

.exotic-selected-row .exotic-selected-value {
    font-weight: 500;
}

.exotic-selected-dot {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 1px solid rgba(0,0,0,.13);
    border-radius: 50%;
    background: #d8d8d8;
}

.exotic-color-list {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
    align-items: start !important;
    gap: 1rem .65rem !important;
}

.exotic-color-swatch,
.exotic-color-swatch.has-image {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: .45rem;
    width: 100% !important;
    height: auto !important;
    min-height: 66px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
    text-align: center;
}

.exotic-color-dot {
    display: block;
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    border: 1px solid rgba(0,0,0,.13);
    border-radius: 50%;
    background: #d8d8d8;
    box-sizing: border-box;
    transition: box-shadow 120ms ease, border-color 120ms ease, transform 120ms ease;
}

.exotic-color-name {
    display: block;
    max-width: 100%;
    font-size: .78rem;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.exotic-color-swatch:hover:not(:disabled) {
    transform: none !important;
}

.exotic-color-swatch:hover:not(:disabled) .exotic-color-dot {
    transform: translateY(-1px);
    border-color: rgba(0,0,0,.55);
}

.exotic-color-swatch.is-selected,
.exotic-color-swatch[aria-pressed="true"] {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.exotic-color-swatch.is-selected .exotic-color-dot,
.exotic-color-swatch[aria-pressed="true"] .exotic-color-dot {
    border-color: #111 !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 3px #111 !important;
}

.exotic-color-swatch.is-selected .exotic-color-name {
    font-weight: 600;
}

.exotic-color-swatch::before,
.exotic-color-swatch::after,
.exotic-color-swatch.is-selected::before,
.exotic-color-swatch.is-selected::after,
.exotic-color-swatch[aria-pressed="true"]::before,
.exotic-color-swatch[aria-pressed="true"]::after {
    content: none !important;
    display: none !important;
    background: transparent !important;
    border: 0 !important;
}

.exotic-color-swatch.is-disabled .exotic-color-dot,
.exotic-color-swatch:disabled .exotic-color-dot {
    opacity: .35;
}

.exotic-color-swatch.is-disabled::before,
.exotic-color-swatch:disabled::before {
    content: none !important;
    display: none !important;
}


/* v0.7 sidebar terms are direct links; no redundant "Choose Brand/Color" select. */
.exotic-browse-term-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    max-height: 260px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.exotic-browse-term-list li {
    margin: 0 !important;
    padding: 0 !important;
}

.exotic-browse-term-list a {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    padding: .42rem 0 !important;
    color: inherit !important;
    text-decoration: none !important;
    font-size: .86rem;
    line-height: 1.25;
}

.exotic-browse-term-list a:hover,
.exotic-browse-term-list a:focus-visible {
    text-decoration: underline !important;
}

@media (max-width: 768px) {
    .single-product .exotic-product-browse-sidebar {
        display: block !important;
        margin: 0 0 1rem !important;
    }
}

/* Size buttons stay simple and appear after colors. */
.exotic-size-picker {
    margin-top: .35rem !important;
}

.exotic-size-picker .exotic-option-picker__heading {
    margin-bottom: .7rem !important;
}

/* Keep the native variation reset link from adding another redundant line. */
.single-product form.variations_form .reset_variations {
    display: none !important;
}

@media (max-width: 999px) {
    .single-product div.product > .woocommerce-product-gallery,
    .single-product div.product > .summary {
        width: 100% !important;
        max-width: none !important;
        float: none !important;
    }

    .exotic-gallery-stage {
        min-height: 420px !important;
    }

    .exotic-gallery-main-image {
        max-height: 420px !important;
    }
}

@media (max-width: 600px) {
    .exotic-gallery-stage {
        min-height: 330px !important;
        padding-left: .35rem !important;
        padding-right: .35rem !important;
    }

    .exotic-gallery-main-image {
        max-height: 330px !important;
    }

    .exotic-gallery-thumb {
        flex-basis: 72px;
        width: 72px !important;
    }

    .exotic-gallery-thumb img {
        height: 68px !important;
    }

    .exotic-color-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* =========================================================
   v0.8.0 — multi-select faceted product-page sidebar
   ========================================================= */
.exotic-product-browse-sidebar__inner {
    padding: .9rem !important;
}

.exotic-filter-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .65rem;
}

.exotic-filter-heading h2 {
    margin: 0 !important;
    font-size: 1.05rem !important;
}

.exotic-filter-heading .exotic-browse-all {
    margin: 0 !important;
    padding: .35rem .55rem !important;
    font-size: .76rem;
    white-space: nowrap;
}

.exotic-filter-form {
    margin: 0;
}

.exotic-filter-form .exotic-browse-filter {
    margin: 0 !important;
}

.exotic-filter-form .exotic-browse-filter summary {
    display: flex;
    align-items: center;
    gap: .38rem;
    min-height: 42px;
    padding: .68rem 1.5rem .68rem 0 !important;
    user-select: none;
}

.exotic-filter-selected-count {
    display: none;
    min-width: 1.35rem;
    height: 1.35rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 0 .32rem;
    background: #111;
    color: #fff;
    font-size: .68rem;
    line-height: 1;
}

.exotic-filter-selected-count.has-selection {
    display: inline-flex;
}

.exotic-browse-filter__body {
    padding: 0 0 .8rem !important;
}

.exotic-filter-search,
.exotic-filter-text {
    box-sizing: border-box;
    width: 100%;
    min-height: 38px;
    margin: 0 0 .45rem;
    padding: .48rem .58rem;
    border: 1px solid rgba(0,0,0,.18);
    border-radius: 4px;
    background: #fff;
    color: inherit;
    font: inherit;
    font-size: .82rem;
}

.exotic-filter-search:focus,
.exotic-filter-text:focus {
    outline: 2px solid rgba(0,0,0,.55);
    outline-offset: 1px;
}

.exotic-filter-options {
    max-height: 238px;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: .05rem .2rem .05rem 0;
    scrollbar-width: thin;
}

.exotic-filter-option {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    align-items: center;
    gap: .48rem;
    min-height: 34px;
    margin: 0 !important;
    padding: .3rem .08rem .3rem calc(var(--exotic-depth, 0) * .72rem) !important;
    cursor: pointer;
    font-size: .82rem;
    line-height: 1.25;
}

.exotic-filter-option:hover {
    background: rgba(0,0,0,.035);
}

.exotic-filter-option input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: #111;
}

.exotic-filter-option__label {
    min-width: 0;
    overflow-wrap: anywhere;
}

.exotic-filter-option.is-search-hidden {
    display: none !important;
}

.exotic-filter-text-label {
    display: block;
    margin: 0 0 .35rem;
    font-size: .79rem;
    font-weight: 700;
}

.exotic-filter-help,
.exotic-filter-empty {
    margin: .35rem 0 0;
    font-size: .73rem;
    line-height: 1.4;
    opacity: .67;
}

.exotic-filter-actions {
    position: sticky;
    bottom: 0;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: .5rem;
    margin-top: .85rem;
    padding-top: .75rem;
    border-top: 1px solid rgba(0,0,0,.12);
    background: #fff;
}

.exotic-filter-apply.button {
    width: 100%;
    min-height: 40px;
    margin: 0 !important;
    padding: .55rem .7rem !important;
    white-space: normal;
    font-size: .8rem !important;
    line-height: 1.2 !important;
}

.exotic-filter-clear {
    appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    padding: .45rem .25rem;
    font: inherit;
    font-size: .78rem;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.exotic-filter-clear:hover,
.exotic-filter-clear:focus-visible {
    text-decoration-thickness: 2px;
}

/* Brand is intentionally a compact collapsible facet, never an exposed
   wall of brand names on the product page. */
.exotic-browse-filter--brand .exotic-filter-options {
    max-height: 260px;
}

/* Long color lists remain manageable. */
.exotic-browse-filter--color .exotic-filter-options {
    max-height: 270px;
}

@media (min-width: 1200px) {
    .single-product div.product {
        grid-template-columns: 245px minmax(350px, .86fr) minmax(455px, 1.14fr) !important;
    }

    .exotic-product-browse-sidebar__inner {
        max-height: calc(100vh - 2rem);
        overflow-y: auto;
        overscroll-behavior: contain;
    }
}

@media (min-width: 769px) and (max-width: 1199px) {
    .exotic-product-browse-sidebar__inner {
        display: block !important;
    }

    .exotic-filter-form {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0 1rem;
    }

    .exotic-filter-actions {
        grid-column: 1 / -1;
        position: static;
    }
}

@media (max-width: 768px) {
    .exotic-filter-form .exotic-browse-filter summary {
        min-height: 46px;
    }

    .exotic-filter-option {
        min-height: 38px;
        font-size: .86rem;
    }

    .exotic-filter-actions {
        position: static;
    }
}

/* =========================================================
   v1.0.0 — combined wholesale inventory/pricing + richer facets
   ========================================================= */

.exotic-filter-combine-note {
    margin: 0 0 .7rem;
    font-size: .74rem;
    line-height: 1.4;
    opacity: .68;
}

.exotic-filter-chips {
    display: none;
    flex-wrap: wrap;
    gap: .35rem;
    margin: 0 0 .55rem;
}

.exotic-filter-chips.has-chips {
    display: flex;
}

.exotic-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    max-width: 100%;
    min-height: 28px;
    padding: .28rem .48rem;
    border: 1px solid rgba(0,0,0,.16);
    border-radius: 999px;
    background: #fff;
    color: inherit;
    cursor: pointer;
    font: inherit;
    font-size: .71rem;
    line-height: 1.1;
}

.exotic-filter-chip span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.exotic-filter-chip:hover,
.exotic-filter-chip:focus-visible {
    border-color: rgba(0,0,0,.55);
}

.exotic-filter-option--color {
    grid-template-columns: 18px 20px minmax(0, 1fr) auto !important;
}

.exotic-filter-color-dot {
    display: block;
    width: 18px;
    height: 18px;
    border: 1px solid rgba(0,0,0,.16);
    border-radius: 50%;
    background: #d8d8d8;
    box-sizing: border-box;
}

.exotic-filter-selection-status {
    grid-column: 1 / -1;
    min-height: 16px;
    font-size: .71rem;
    line-height: 1.25;
    opacity: .65;
}

.exotic-filter-actions {
    grid-template-columns: minmax(0,1fr) auto !important;
}

.exotic-filter-actions .exotic-filter-apply {
    grid-column: 1;
}

.exotic-filter-actions .exotic-filter-clear {
    grid-column: 2;
}

/* Wholesale-style inventory and price table under the color/size choices. */
.exotic-inventory-pricing {
    margin: 1rem 0 1.35rem;
    padding: 1rem 0 0;
    border-top: 1px solid rgba(0,0,0,.13);
    scroll-margin-top: 24px;
    transition: box-shadow 180ms ease, background-color 180ms ease;
}

.exotic-inventory-pricing.is-highlighted {
    background: rgba(0,0,0,.025);
    box-shadow: 0 0 0 8px rgba(0,0,0,.025);
}

.exotic-inventory-pricing__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .8rem;
}

.exotic-inventory-pricing__head h3 {
    margin: 0 0 .2rem;
    font-size: 1.05rem;
    line-height: 1.25;
}

.exotic-inventory-pricing__head p {
    margin: 0;
    font-size: .8rem;
    line-height: 1.4;
    opacity: .7;
}

.exotic-inventory-pricing__summary {
    flex: 0 0 auto;
    max-width: 48%;
    padding-top: .08rem;
    text-align: right;
    font-size: .78rem;
    line-height: 1.35;
    font-weight: 600;
}

.exotic-inventory-pricing__prompt {
    padding: .85rem .9rem;
    border: 1px dashed rgba(0,0,0,.2);
    border-radius: 5px;
    font-size: .83rem;
    line-height: 1.4;
    opacity: .8;
}

.exotic-inventory-pricing__table-wrap {
    overflow-x: auto;
    border: 1px solid rgba(0,0,0,.12);
    border-radius: 5px;
}

.exotic-inventory-pricing__table {
    width: 100%;
    min-width: 465px;
    margin: 0 !important;
    border-collapse: collapse;
    table-layout: auto;
}

.exotic-inventory-pricing__table th,
.exotic-inventory-pricing__table td {
    padding: .62rem .7rem !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(0,0,0,.09) !important;
    background: #fff;
    vertical-align: middle;
    text-align: left;
    font-size: .81rem;
    line-height: 1.25;
}

.exotic-inventory-pricing__table thead th {
    background: rgba(0,0,0,.035);
    font-size: .72rem;
    letter-spacing: .025em;
    text-transform: uppercase;
    opacity: .8;
}

.exotic-inventory-pricing__table tbody tr:last-child th,
.exotic-inventory-pricing__table tbody tr:last-child td {
    border-bottom: 0 !important;
}

.exotic-inventory-pricing__table tbody tr.is-selected th,
.exotic-inventory-pricing__table tbody tr.is-selected td {
    background: rgba(0,0,0,.045);
}

.exotic-inventory-pricing__table tbody tr.is-unavailable {
    opacity: .52;
}

.exotic-inventory-size {
    font-weight: 700;
    white-space: nowrap;
}

.exotic-inventory-price .price,
.exotic-inventory-price .amount {
    color: inherit !important;
    font-weight: 600;
}

.exotic-inventory-stock {
    min-width: 128px;
}

.exotic-inventory-action {
    width: 1%;
    text-align: right !important;
    white-space: nowrap;
}

.exotic-inventory-choose {
    min-width: 76px;
    min-height: 34px;
    padding: .42rem .62rem;
    border: 1px solid rgba(0,0,0,.24);
    border-radius: 4px;
    background: #fff;
    color: inherit;
    cursor: pointer;
    font: inherit;
    font-size: .76rem;
    font-weight: 700;
}

.exotic-inventory-choose:hover:not(:disabled),
.exotic-inventory-choose:focus-visible:not(:disabled) {
    border-color: #111;
}

.exotic-inventory-choose[aria-pressed="true"] {
    background: #111;
    color: #fff;
    border-color: #111;
}

.exotic-inventory-choose:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.exotic-inventory-pricing__note {
    margin: .55rem 0 0;
    font-size: .72rem;
    line-height: 1.4;
    opacity: .62;
}

@media (max-width: 700px) {
    .exotic-inventory-pricing__head {
        display: block;
    }

    .exotic-inventory-pricing__summary {
        max-width: none;
        margin-top: .35rem;
        text-align: left;
    }
}

/* =========================================================
   v1.1.0 — richer multi-product cards, image recovery,
   and fully visible product-page filter navigation.
   ========================================================= */

/* Do not trap the entire left navigation inside a tiny viewport scroller.
   Individual long facets (Brand, Color, etc.) still scroll when opened. */
@media (min-width: 1200px) {
    .single-product .exotic-product-browse-sidebar__inner {
        position: static !important;
        top: auto !important;
        max-height: none !important;
        overflow: visible !important;
        overscroll-behavior: auto !important;
    }
}

.single-product .exotic-product-browse-sidebar,
.single-product .exotic-product-browse-sidebar__inner,
.single-product .exotic-filter-form {
    overflow: visible;
}

.single-product .woocommerce-breadcrumb {
    position: relative;
    z-index: 2;
    clear: both;
    overflow: visible !important;
    margin-bottom: 1.1rem !important;
}

/* Product cards now carry useful wholesale/catalog information on Shop,
   category, Best Selling, shortcode, related, and upsell loops. */
.exotic-loop-eyebrow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem .55rem;
    margin: .1rem 0 .28rem;
    font-size: .72rem;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: .045em;
    text-transform: uppercase;
    opacity: .64;
}

.exotic-loop-style {
    display: inline-block;
    padding-left: .55rem;
    border-left: 1px solid rgba(0,0,0,.18);
    white-space: nowrap;
}

.exotic-loop-card-meta {
    display: grid;
    gap: .32rem;
    margin-top: .42rem;
    min-height: 3.8rem;
}

.exotic-loop-card-meta .exotic-loop-options {
    margin: 0 !important;
    font-size: .79rem;
    line-height: 1.32;
    opacity: .78;
}

.exotic-loop-material {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .76rem;
    line-height: 1.3;
    opacity: .62;
}

.exotic-loop-stock {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    width: fit-content;
    max-width: 100%;
    font-size: .76rem;
    line-height: 1.3;
    font-weight: 650;
}

.exotic-loop-stock-dot {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: currentColor;
    opacity: .72;
}

.exotic-loop-stock.is-out-of-stock {
    opacity: .55;
}

/* Keep catalog images visually consistent and give recovered variation
   thumbnails the same presentation as ordinary parent thumbnails. */
ul.products li.product img.exotic-recovered-product-image,
ul.products li.product img.exotic-image-recovery,
.woocommerce ul.products li.product img.exotic-recovered-product-image,
.woocommerce ul.products li.product img.exotic-image-recovery {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5;
    object-fit: contain !important;
    object-position: center center !important;
    background: #fff !important;
}

/* Broaden the polished card treatment to Woo product loops that live on
   normal pages, such as Best Selling Products shortcodes. */
body.exotic-product-experience-active ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 2rem 1.6rem !important;
}

body.exotic-product-experience-active ul.products::before,
body.exotic-product-experience-active ul.products::after {
    display: none !important;
    content: none !important;
}

body.exotic-product-experience-active ul.products li.product {
    float: none !important;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
}

body.exotic-product-experience-active ul.products li.product a img {
    width: 100% !important;
    aspect-ratio: 4 / 5;
    object-fit: contain !important;
    object-position: center center !important;
    background: #fff;
}

@media (max-width: 1180px) {
    body.exotic-product-experience-active ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 820px) {
    body.exotic-product-experience-active ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 1.5rem 1rem !important;
    }
}

@media (max-width: 480px) {
    body.exotic-product-experience-active ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 1.2rem .7rem !important;
    }

    .exotic-loop-eyebrow,
    .exotic-loop-card-meta .exotic-loop-options,
    .exotic-loop-material,
    .exotic-loop-stock {
        font-size: .7rem;
    }
}

ul.products li.product img[data-exotic-image-fallbacks],
.woocommerce ul.products li.product img[data-exotic-image-fallbacks] {
    display: block;
    width: 100% !important;
    aspect-ratio: 4 / 5;
    object-fit: contain !important;
    object-position: center center !important;
    background: #fff !important;
}

/* =========================================================
   v1.1.1 — hard fix for the clipped/hidden TOP of the
   product-page left filter menu.
   ========================================================= */

/* A theme/admin sticky header can sit over the old 1rem sidebar offset.
   JS updates this variable from the actual visible header bottom. */
:root {
    --exotic-sidebar-safe-top: 18px;
}

.single-product .exotic-product-browse-sidebar,
.single-product .exotic-product-browse-sidebar__inner {
    clip: auto !important;
    clip-path: none !important;
    transform: none !important;
}

/* Never let a theme wrapper crop the top edge of the EXOTIC filter panel. */
.single-product .site-main,
.single-product .content-area,
.single-product main,
.single-product div.product {
    overflow: visible !important;
}

@media (min-width: 1200px) {
    .single-product .exotic-product-browse-sidebar {
        position: relative !important;
        top: auto !important;
        align-self: start !important;
        min-height: 1px;
        overflow: visible !important;
    }

    .single-product .exotic-product-browse-sidebar__inner {
        position: sticky !important;
        top: var(--exotic-sidebar-safe-top, 18px) !important;
        max-height: calc(100vh - var(--exotic-sidebar-safe-top, 18px) - 18px) !important;
        height: auto !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior: contain !important;
        scrollbar-gutter: stable;
        scroll-padding-top: 64px;
    }

    /* Keep the actual TOP of the menu visible even while its long body scrolls. */
    .single-product .exotic-filter-heading {
        position: sticky !important;
        top: 0 !important;
        z-index: 30 !important;
        margin: -.9rem -.9rem .65rem !important;
        padding: .9rem .9rem .72rem !important;
        border-bottom: 1px solid rgba(0,0,0,.10);
        border-radius: 6px 6px 0 0;
        background: #fff !important;
        box-shadow: 0 2px 5px rgba(0,0,0,.035);
    }
}

@media (min-width: 769px) and (max-width: 1199px) {
    .single-product .exotic-product-browse-sidebar,
    .single-product .exotic-product-browse-sidebar__inner {
        position: static !important;
        top: auto !important;
        max-height: none !important;
        height: auto !important;
        overflow: visible !important;
    }
}

/* =========================================================
   v1.1.2 — fully reveal the breadcrumb/top navigation line
   shown directly ABOVE "Filter Products".
   ========================================================= */
.single-product .woocommerce-breadcrumb,
.single-product nav.woocommerce-breadcrumb,
.single-product .storefront-breadcrumb,
.single-product .woocommerce-breadcrumb__wrap,
.single-product .wc-block-breadcrumbs {
    display: block !important;
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    clip: auto !important;
    clip-path: none !important;
    height: auto !important;
    min-height: 38px !important;
    max-height: none !important;
    overflow: visible !important;
    line-height: 1.55 !important;
    margin-top: 8px !important;
    margin-bottom: 14px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    white-space: normal !important;
    z-index: 25 !important;
}

.single-product .woocommerce-breadcrumb *,
.single-product nav.woocommerce-breadcrumb *,
.single-product .storefront-breadcrumb *,
.single-product .woocommerce-breadcrumb__wrap *,
.single-product .wc-block-breadcrumbs * {
    clip: auto !important;
    clip-path: none !important;
    max-height: none !important;
    overflow: visible !important;
    line-height: inherit !important;
}

/* A theme wrapper was still able to crop the breadcrumb even after the
   sidebar itself was fixed. Keep every content wrapper in that path open. */
.single-product #page,
.single-product #content,
.single-product .site-content,
.single-product #primary,
.single-product .content-area,
.single-product #main,
.single-product .site-main,
.single-product .woocommerce,
.single-product .product {
    clip: auto !important;
    clip-path: none !important;
    max-height: none !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
}

/* Keep the curated Best Selling row to four columns on full-size shop views. */
@media (min-width: 1024px) {
    .woocommerce .products.columns-4,
    .woocommerce ul.products.columns-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* =========================================================
   v1.2.0 — Shop cleanup + curated four best sellers +
   SanMar-style pricing/warehouse matrix.
   ========================================================= */

/* Main Shop page: only the curated Best Sellers section and the normal
   sortable Products loop should remain. Product category image tiles are
   intentionally removed from the landing page. */
body.post-type-archive-product li.product-category,
body.woocommerce-shop li.product-category,
body.post-type-archive-product .product-category.product,
body.woocommerce-shop .product-category.product,
body.post-type-archive-product .wc-block-product-category,
body.woocommerce-shop .wc-block-product-category,
body.post-type-archive-product .wc-block-product-categories-list,
body.woocommerce-shop .wc-block-product-categories-list {
    display: none !important;
}

.exotic-shop-best-sellers {
    clear: both;
    width: 100%;
    margin: 0 auto 2.6rem;
}

.exotic-shop-section-title {
    width: 100%;
    margin: 1.25rem auto 1.15rem !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: clamp(1.45rem, 2.2vw, 2rem) !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: .01em;
}

.exotic-shop-products-title {
    clear: both;
    margin-top: 2rem !important;
    margin-bottom: 1.1rem !important;
}

.exotic-shop-best-sellers ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1.15rem !important;
    margin: 0 !important;
    padding: 0 !important;
}

.exotic-shop-best-sellers ul.products::before,
.exotic-shop-best-sellers ul.products::after {
    display: none !important;
}

.exotic-shop-best-sellers ul.products > li.product {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
}

/* Pricing & Warehouses matrix inspired by the reference screenshot. */
.exotic-inventory-pricing__matrix {
    min-width: 720px !important;
    table-layout: auto !important;
}

.exotic-inventory-pricing__matrix th,
.exotic-inventory-pricing__matrix td {
    text-align: center !important;
    white-space: nowrap;
    padding: .58rem .62rem !important;
}

.exotic-inventory-pricing__matrix .exotic-matrix-label {
    position: sticky;
    left: 0;
    z-index: 2;
    min-width: 142px;
    text-align: left !important;
    font-weight: 650;
    background: #fff;
    box-shadow: 1px 0 0 rgba(0,0,0,.08);
}

.exotic-inventory-pricing__matrix thead .exotic-matrix-label,
.exotic-inventory-pricing__matrix thead th {
    background: #eceff1 !important;
    color: #202428;
    font-weight: 700;
    text-transform: none !important;
    letter-spacing: 0 !important;
    opacity: 1 !important;
}

.exotic-inventory-pricing__matrix .exotic-matrix-total-inventory th,
.exotic-inventory-pricing__matrix .exotic-matrix-total-inventory td {
    background: #eef1f3 !important;
    font-weight: 750;
}

.exotic-inventory-pricing__matrix .exotic-matrix-total-inventory .exotic-matrix-label {
    background: #eef1f3 !important;
}

.exotic-inventory-pricing__matrix .exotic-matrix-warehouse th {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.exotic-inventory-pricing__matrix .exotic-matrix-warehouse td {
    color: #4b5054;
}

.exotic-inventory-pricing__matrix .exotic-matrix-select-row th,
.exotic-inventory-pricing__matrix .exotic-matrix-select-row td {
    border-top: 2px solid rgba(0,0,0,.11) !important;
    background: #fafafa;
}

.exotic-inventory-pricing__matrix .exotic-matrix-select-row .exotic-matrix-label {
    background: #fafafa;
}

.exotic-inventory-pricing__matrix .exotic-inventory-choose {
    min-width: 72px;
    min-height: 32px;
    padding: .36rem .5rem;
}

.exotic-inventory-pricing__warehouse-note {
    margin: .55rem 0 0;
    padding: .65rem .75rem;
    border-left: 3px solid rgba(0,0,0,.18);
    background: rgba(0,0,0,.025);
    font-size: .74rem;
    line-height: 1.4;
}

.exotic-inventory-pricing__warehouse-note[hidden] {
    display: none !important;
}

@media (max-width: 980px) {
    .exotic-shop-best-sellers ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 580px) {
    .exotic-shop-best-sellers ul.products {
        grid-template-columns: 1fr !important;
    }

    .exotic-shop-section-title {
        font-size: 1.5rem !important;
    }
}

/* =========================================================
   v1.3.0 — fixed four-product Best Sellers row, top/bottom
   catalog controls, alphabetical/price sorting, and subtle
   header text stroke for stronger readability.
   ========================================================= */

/* The curated section is always header first, then exactly four cards. */
.exotic-shop-best-sellers {
    display: flex;
    flex-direction: column;
}

.exotic-shop-best-sellers > .exotic-shop-section-title {
    order: -1;
    margin-top: .55rem !important;
    margin-bottom: 1.25rem !important;
}

.exotic-shop-best-sellers ul.products > li.product:nth-child(n+5),
.exotic-shop-best-sellers .wc-block-grid__products > .wc-block-grid__product:nth-child(n+5),
.exotic-legacy-best-seller-grid > li.product:nth-child(n+5),
.exotic-legacy-best-seller-grid > .wc-block-grid__product:nth-child(n+5) {
    display: none !important;
}

/* EXOTIC supplies its own consistent catalog controls, so prevent the native
   Woo ordering/result row from creating a duplicate set above the products. */
body.woocommerce-shop .woocommerce-ordering,
body.post-type-archive-product .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering,
body.tax-product_tag .woocommerce-ordering,
body.woocommerce-shop .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count {
    display: none !important;
}

.exotic-catalog-toolbar {
    clear: both;
    width: 100%;
    margin: .3rem auto 1.55rem;
}

.exotic-catalog-toolbar--bottom {
    margin-top: 1.7rem;
    margin-bottom: 1.5rem;
}

.exotic-catalog-toolbar__form {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    flex-wrap: wrap;
    gap: .85rem 1rem;
    width: min(100%, 980px);
    margin: 0 auto;
    padding: .82rem 1rem;
    border: 1px solid rgba(0,0,0,.12);
    border-radius: 10px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 3px 14px rgba(0,0,0,.045);
}

.exotic-catalog-toolbar__group {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    min-width: 160px;
}

.exotic-catalog-toolbar__group--sort {
    min-width: 230px;
}

.exotic-catalog-toolbar__group label {
    margin: 0;
    font-size: .72rem;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: .055em;
    text-transform: uppercase;
    color: #3f454b;
}

.exotic-catalog-toolbar__select {
    min-height: 42px;
    margin: 0 !important;
    padding: .55rem 2.15rem .55rem .72rem !important;
    border: 1px solid #cdd2d6 !important;
    border-radius: 6px !important;
    background-color: #fff !important;
    color: #16191b !important;
    font-size: .88rem !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
}

.exotic-catalog-toolbar__select:focus {
    outline: 2px solid rgba(0,0,0,.22) !important;
    outline-offset: 1px;
}

.exotic-catalog-toolbar__count {
    align-self: center;
    min-width: 90px;
    padding: .35rem .15rem;
    color: #555c62;
    font-size: .79rem;
    font-weight: 650;
    text-align: center;
}

/* Stronger section separation while keeping the headings centered. */
.exotic-shop-section-title {
    position: relative;
    text-align: center !important;
}

.exotic-shop-section-title::after {
    content: '';
    display: block;
    width: 52px;
    height: 2px;
    margin: .55rem auto 0;
    background: currentColor;
    opacity: .22;
}

/* Subtle stroke on textual header/navigation elements. This does not alter the
   logo artwork; it only makes menu/top-bar lettering easier to read over the
   photographic header background. */
.site-header a,
.site-header .site-title,
header#masthead a,
header#masthead .site-title,
.main-navigation a,
.primary-navigation a,
.navigation-top a,
.header-navigation a,
.header-menu a,
.top-bar a,
.site-header button,
header#masthead button {
    -webkit-text-stroke: .3px rgba(0,0,0,.42);
    paint-order: stroke fill;
    text-shadow: 0 0 .35px rgba(0,0,0,.42);
}

@media (max-width: 700px) {
    .exotic-catalog-toolbar__form {
        align-items: stretch;
        padding: .75rem;
    }

    .exotic-catalog-toolbar__group,
    .exotic-catalog-toolbar__group--sort {
        flex: 1 1 100%;
        min-width: 0;
    }

    .exotic-catalog-toolbar__count {
        width: 100%;
    }
}


/* ==========================================================
   v1.4.0 — $200 shipping copy, stronger header utility
   actions, and a motion apparel hero on the home page.
   ========================================================== */

/* Make Cart, My Account and Search read as deliberate utility buttons rather
   than tiny low-contrast links over the photographic header. JS applies these
   classes only to header-level controls. */
.exotic-header-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .42rem !important;
    min-height: 36px !important;
    min-width: 40px;
    padding: .48rem .82rem !important;
    margin: 2px 3px !important;
    border: 1px solid rgba(20,20,20,.48) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.94) !important;
    color: #151515 !important;
    font-size: .74rem !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
    box-shadow: 0 2px 9px rgba(0,0,0,.10) !important;
    backdrop-filter: blur(5px);
    transition: transform .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease !important;
}

.exotic-header-action:hover,
.exotic-header-action:focus-visible {
    transform: translateY(-1px);
    border-color: #c8102e !important;
    background: #fff !important;
    color: #b20d28 !important;
    box-shadow: 0 5px 16px rgba(0,0,0,.16) !important;
}

.exotic-header-action--cart {
    border-color: #c8102e !important;
    background: #c8102e !important;
    color: #fff !important;
}

.exotic-header-action--cart:hover,
.exotic-header-action--cart:focus-visible {
    background: #a90d25 !important;
    color: #fff !important;
}

.exotic-header-action--search {
    border-color: rgba(200,16,46,.72) !important;
}

.exotic-header-action__label {
    display: inline-block;
    white-space: nowrap;
    pointer-events: none;
}

/* Homepage motion hero. The existing WordPress header content remains above
   this decorative muted video, so all current menu text, logo and prompts are
   preserved. The original header background remains the fallback/poster. */
body.home .exotic-home-hero-host,
body.front-page .exotic-home-hero-host {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate;
}

body.home .exotic-home-hero-video,
body.front-page .exotic-home-hero-video {
    position: absolute !important;
    z-index: 0 !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 50% 44% !important;
    opacity: .88;
    pointer-events: none !important;
}

body.home .exotic-home-hero-overlay,
body.front-page .exotic-home-hero-overlay {
    position: absolute !important;
    z-index: 1 !important;
    inset: 0 !important;
    pointer-events: none !important;
    background: linear-gradient(90deg, rgba(255,255,255,.40) 0%, rgba(255,255,255,.10) 42%, rgba(255,255,255,.18) 100%);
}

body.home .exotic-home-hero-host > *:not(.exotic-home-hero-video):not(.exotic-home-hero-overlay),
body.front-page .exotic-home-hero-host > *:not(.exotic-home-hero-video):not(.exotic-home-hero-overlay) {
    position: relative;
    z-index: 2;
}

body.home .exotic-home-hero-video-failed .exotic-home-hero-video,
body.front-page .exotic-home-hero-video-failed .exotic-home-hero-video {
    display: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .exotic-home-hero-video { display: none !important; }
}

@media (max-width: 700px) {
    .exotic-header-action {
        min-height: 34px !important;
        padding: .42rem .64rem !important;
        font-size: .68rem !important;
    }

    body.home .exotic-home-hero-video,
    body.front-page .exotic-home-hero-video {
        object-position: 52% 50% !important;
    }
}


/* ==========================================================
   v1.5.0 — Shop-page filter + SanMar-inspired EXOTIC header
   tabs/dropdowns/search while preserving the existing hero.
   ========================================================== */

/* Shop filter lives beside the actual product catalog, not inside Best Sellers. */
.exotic-shop-catalog-shell {
    clear: both;
    display: grid;
    grid-template-columns: minmax(228px, 272px) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
    width: 100%;
    margin: 0 auto 2rem;
}

.exotic-shop-catalog-main {
    min-width: 0;
}

.exotic-shop-browse-sidebar {
    width: 100% !important;
    max-width: 272px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    position: relative !important;
    inset: auto !important;
}

.exotic-shop-browse-sidebar .exotic-product-browse-sidebar__inner {
    position: sticky !important;
    top: calc(var(--exotic-sidebar-safe-top, 16px) + 10px) !important;
    width: 100% !important;
    max-height: calc(100vh - var(--exotic-sidebar-safe-top, 16px) - 26px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 14px 14px 16px !important;
    border: 1px solid rgba(0,0,0,.13) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 5px 18px rgba(0,0,0,.055) !important;
    box-sizing: border-box;
}

.exotic-shop-browse-sidebar .exotic-filter-heading {
    position: sticky;
    top: -14px;
    z-index: 5;
    margin: -14px -14px 0;
    padding: 14px;
    background: rgba(255,255,255,.985);
    border-bottom: 1px solid rgba(0,0,0,.09);
}

.exotic-shop-browse-sidebar .exotic-filter-combine-note {
    margin-top: .8rem;
}

.exotic-shop-catalog-main > .exotic-catalog-toolbar:first-child {
    margin-top: 0;
}

.exotic-shop-catalog-main ul.products,
.exotic-shop-catalog-main .wc-block-grid__products,
.exotic-shop-catalog-main .wc-block-product-template {
    width: 100% !important;
}

/* Preserve the photographic/video header, but give navigation the same clear
   tab-bar hierarchy as the SanMar reference using EXOTIC's red/white palette. */
.exotic-san-nav-host {
    position: relative !important;
    z-index: 40 !important;
    display: flex !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100% !important;
    min-height: 54px !important;
    padding: 0 clamp(10px, 2vw, 28px) !important;
    background: rgba(183, 12, 38, .95) !important;
    border-top: 1px solid rgba(255,255,255,.28) !important;
    border-bottom: 2px solid #8f0c22 !important;
    box-shadow: 0 4px 14px rgba(0,0,0,.11) !important;
    backdrop-filter: blur(5px);
    box-sizing: border-box;
}

.exotic-san-tabs-wrap {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    align-items: stretch !important;
}

.exotic-san-nav-host .exotic-san-tabs {
    display: flex !important;
    flex: 1 1 auto !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.exotic-san-nav-host .exotic-san-tab {
    position: relative !important;
    display: flex !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
}

.exotic-san-nav-host .exotic-san-tab > a {
    display: flex !important;
    align-items: center !important;
    min-height: 54px !important;
    padding: 0 1.25rem !important;
    border: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-size: .84rem !important;
    line-height: 1 !important;
    font-weight: 750 !important;
    letter-spacing: .075em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    -webkit-text-stroke: .2px rgba(0,0,0,.24) !important;
    text-shadow: 0 1px 1px rgba(0,0,0,.18) !important;
    transition: background .16s ease, color .16s ease !important;
}

.exotic-san-nav-host .exotic-san-tab:hover > a,
.exotic-san-nav-host .exotic-san-tab:focus-within > a,
.exotic-san-nav-host .exotic-san-tab.is-open > a,
.exotic-san-nav-host .exotic-san-tab.current-menu-item > a,
.exotic-san-nav-host .exotic-san-tab.current_page_item > a {
    background: rgba(255,255,255,.15) !important;
    color: #fff !important;
}

.exotic-nav-chevron {
    align-self: center;
    width: 30px !important;
    height: 30px !important;
    margin-left: -10px !important;
    margin-right: 7px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 15px !important;
    line-height: 1 !important;
    cursor: pointer;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
}

.exotic-nav-chevron:hover,
.exotic-nav-chevron:focus-visible {
    background: rgba(255,255,255,.16) !important;
    outline: 1px solid rgba(255,255,255,.55) !important;
}

.exotic-san-nav-host .sub-menu,
.exotic-san-dropdown {
    position: absolute !important;
    z-index: 9999 !important;
    top: 100% !important;
    left: 0 !important;
    display: none !important;
    width: min(720px, 84vw) !important;
    min-width: 280px !important;
    max-height: min(68vh, 540px) !important;
    overflow: auto !important;
    margin: 0 !important;
    padding: 14px !important;
    border: 1px solid rgba(0,0,0,.13) !important;
    border-top: 3px solid #b70c26 !important;
    border-radius: 0 0 10px 10px !important;
    background: rgba(255,255,255,.99) !important;
    box-shadow: 0 14px 32px rgba(0,0,0,.18) !important;
    list-style: none !important;
    box-sizing: border-box;
}

.exotic-san-tab:hover > .sub-menu,
.exotic-san-tab:focus-within > .sub-menu,
.exotic-san-tab.is-open > .sub-menu,
.exotic-san-tab:hover > .exotic-san-dropdown,
.exotic-san-tab:focus-within > .exotic-san-dropdown,
.exotic-san-tab.is-open > .exotic-san-dropdown {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px 18px;
}

/* v1.8.3: a second click on a nav chevron is an explicit close. This
   overrides :hover/:focus-within until the pointer leaves the tab. */
.exotic-san-tab.is-click-closed > .sub-menu,
.exotic-san-tab.is-click-closed > .exotic-san-dropdown {
    display: none !important;
}

.exotic-san-nav-host .sub-menu li {
    margin: 0 !important;
    padding: 0 !important;
}

.exotic-san-nav-host .sub-menu a,
.exotic-san-dropdown a {
    display: block !important;
    min-height: 0 !important;
    padding: .7rem .75rem !important;
    border-radius: 5px !important;
    color: #222 !important;
    background: transparent !important;
    font-size: .82rem !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
    letter-spacing: .015em !important;
    text-transform: none !important;
    text-decoration: none !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
}

.exotic-san-nav-host .sub-menu a:hover,
.exotic-san-nav-host .sub-menu a:focus-visible,
.exotic-san-dropdown a:hover,
.exotic-san-dropdown a:focus-visible {
    color: #a70c24 !important;
    background: #f6f6f6 !important;
}

.exotic-san-dropdown__heading {
    grid-column: 1 / -1;
    padding: .25rem .75rem .55rem;
    color: #555;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.exotic-san-search {
    flex: 0 1 520px !important;
    display: flex !important;
    align-items: center !important;
    align-self: center !important;
    min-width: 260px !important;
    margin: 7px 0 7px 18px !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.72) !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.14) !important;
}

.exotic-san-search input[type="search"] {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 .85rem !important;
    border: 0 !important;
    outline: 0 !important;
    background: #fff !important;
    color: #1c1c1c !important;
    font-size: .84rem !important;
    line-height: 38px !important;
    box-shadow: none !important;
}

.exotic-san-search button {
    flex: 0 0 43px !important;
    width: 43px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-left: 1px solid #e0e0e0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #9f0c23 !important;
    font-size: 1.05rem !important;
    line-height: 38px !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
}

.exotic-san-search button:hover,
.exotic-san-search button:focus-visible {
    background: #f7f7f7 !important;
    color: #b70c26 !important;
}

@media (max-width: 980px) {
    .exotic-shop-catalog-shell {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .exotic-shop-browse-sidebar {
        max-width: none !important;
    }

    .exotic-shop-browse-sidebar .exotic-product-browse-sidebar__inner {
        position: relative !important;
        top: auto !important;
        max-height: none !important;
    }

    .exotic-san-nav-host {
        flex-wrap: wrap !important;
        padding: 0 !important;
    }

    .exotic-san-nav-host .exotic-san-tabs {
        width: 100% !important;
        overflow-x: auto !important;
        scrollbar-width: thin;
    }

    .exotic-san-nav-host .exotic-san-tab {
        flex: 0 0 auto !important;
    }

    .exotic-san-nav-host .exotic-san-tab > a {
        min-height: 48px !important;
        padding: 0 .9rem !important;
        font-size: .76rem !important;
    }

    .exotic-san-search {
        order: 2;
        flex: 1 1 calc(100% - 20px) !important;
        width: calc(100% - 20px) !important;
        min-width: 0 !important;
        margin: 8px 10px 10px !important;
    }

    .exotic-san-tab:hover > .sub-menu,
    .exotic-san-tab:focus-within > .sub-menu,
    .exotic-san-tab.is-open > .sub-menu,
    .exotic-san-tab:hover > .exotic-san-dropdown,
    .exotic-san-tab:focus-within > .exotic-san-dropdown,
    .exotic-san-tab.is-open > .exotic-san-dropdown {
        position: fixed !important;
        top: auto !important;
        left: 10px !important;
        right: 10px !important;
        width: auto !important;
        max-width: none !important;
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 620px) {
    .exotic-shop-browse-sidebar .exotic-filter-combine-note {
        display: none;
    }

    .exotic-san-nav-host .exotic-san-tab > a {
        padding: 0 .72rem !important;
        letter-spacing: .04em !important;
    }
}


/* ==========================================================
   v1.5.1 — Restore product color swatches after v1.5 header work
   ========================================================== */

/* On individual products, Woo's native variation selects are only the
   state engine. Customers see EXOTIC swatches/buttons instead. */
.single-product form.variations_form select.exotic-native-variation-select,
.single-product form.variations_form tr.exotic-color-row select[name^="attribute_"],
.single-product form.variations_form tr.exotic-size-row select[name^="attribute_"] {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 1px !important;
    min-height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Hide theme-generated replacement dropdown shells in the color/size rows.
   The actual Woo select above remains in the DOM for variation logic. */
.single-product form.variations_form tr.exotic-color-row .select2-container,
.single-product form.variations_form tr.exotic-color-row .nice-select,
.single-product form.variations_form tr.exotic-color-row .selectric-wrapper,
.single-product form.variations_form tr.exotic-color-row .choices,
.single-product form.variations_form tr.exotic-size-row .select2-container,
.single-product form.variations_form tr.exotic-size-row .nice-select,
.single-product form.variations_form tr.exotic-size-row .selectric-wrapper,
.single-product form.variations_form tr.exotic-size-row .choices {
    display: none !important;
}

/* Hard guarantee that the product-page color UI remains the labeled round
   swatch grid used before v1.5.0. */
.single-product .exotic-color-picker,
.single-product .exotic-color-picker .exotic-option-picker__heading,
.single-product .exotic-color-picker .exotic-color-list {
    visibility: visible !important;
    opacity: 1 !important;
}

.single-product .exotic-color-picker {
    display: block !important;
    width: 100% !important;
}

.single-product .exotic-color-picker .exotic-color-list {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)) !important;
    gap: 1rem .65rem !important;
}

.single-product .exotic-color-picker .exotic-color-swatch {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 66px !important;
}

.single-product .exotic-color-picker .exotic-color-dot {
    display: block !important;
    width: 31px !important;
    height: 31px !important;
    flex: 0 0 31px !important;
    border-radius: 50% !important;
}

.single-product .exotic-color-picker .exotic-color-name {
    display: block !important;
}
\n\n/* ==========================================================\n   v1.5.2 — Normalize the homepage Shop tab typography.\n   Some themes apply a special oversized style to the Shop\n   menu item. These rules keep Shop visually identical to the\n   other EXOTIC tabs while preserving its dropdown.\n   ========================================================== */\n.exotic-san-nav-host .exotic-san-tab--shop > a,\n.exotic-san-nav-host .exotic-san-tab--shop > a:link,\n.exotic-san-nav-host .exotic-san-tab--shop > a:visited {\n    min-height: 54px !important;\n    padding: 0 1.25rem !important;\n    color: #fff !important;\n    font-size: .84rem !important;\n    line-height: 1 !important;\n    font-weight: 750 !important;\n    letter-spacing: .075em !important;\n    text-transform: uppercase !important;\n    text-decoration: none !important;\n    -webkit-text-stroke: .2px rgba(0,0,0,.24) !important;\n    text-shadow: 0 1px 1px rgba(0,0,0,.18) !important;\n}\n\n.exotic-san-nav-host .exotic-san-tab--shop > a * {\n    font-family: inherit !important;\n    font-size: inherit !important;\n    font-weight: inherit !important;\n    font-style: inherit !important;\n    line-height: inherit !important;\n    letter-spacing: inherit !important;\n    text-transform: inherit !important;\n    color: inherit !important;\n    -webkit-text-stroke: inherit !important;\n    text-shadow: inherit !important;\n}\n\n.exotic-san-nav-host .exotic-san-tab--shop:hover > a,\n.exotic-san-nav-host .exotic-san-tab--shop:focus-within > a,\n.exotic-san-nav-host .exotic-san-tab--shop.is-open > a {\n    color: #fff !important;\n}\n

/* =========================================================
   v1.6.0 — SITEWIDE PRODUCT IMAGE RESCUE + PROPORTION FIX
   ========================================================= */

/* Never stretch an apparel image to fill a box. This covers classic Woo
   loops plus WooCommerce Blocks, related/upsell rows, carts and category
   tiles. Product artwork is centered on a neutral canvas and preserves its
   native proportions. */
.exotic-product-image-normalized,
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img,
.wc-block-grid__product-image img,
.wc-block-product-template .wc-block-components-product-image img,
.wc-block-product-template img.wc-block-components-product-image,
.wp-block-woocommerce-product-image img,
.related.products li.product img,
.upsells.products li.product img,
.cross-sells li.product img,
li.product-category img.exotic-category-product-image,
.woocommerce-cart-form .product-thumbnail img,
.woocommerce-mini-cart-item img,
.mini_cart_item img {
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    image-rendering: auto !important;
    background-color: #fff;
}

/* Catalog-style cards use one consistent frame without deforming the source. */
.woocommerce ul.products li.product > a img.exotic-product-image-normalized,
.woocommerce-page ul.products li.product > a img.exotic-product-image-normalized,
.wc-block-grid__product-image img.exotic-product-image-normalized,
.wc-block-product-template .exotic-product-image-normalized,
.related.products .exotic-product-image-normalized,
.upsells.products .exotic-product-image-normalized,
.cross-sells .exotic-product-image-normalized,
li.product-category .exotic-category-product-image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Single-product photography must keep its true intrinsic ratio; the gallery
   may constrain the available space but may not squash the garment. */
.single-product .woocommerce-product-gallery img.exotic-product-image-normalized,
.single-product .exotic-product-gallery img.exotic-product-image-normalized,
.single-product .exotic-gallery-main-image {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
}

/* Avoid theme rules that give portrait/landscape supplier files fixed pixel
   heights. The object itself stays intact inside the card frame. */
.exotic-product-image-normalized.exotic-image-landscape,
.exotic-product-image-normalized.exotic-image-portrait,
.exotic-product-image-normalized.exotic-image-square,
.exotic-product-image-normalized.exotic-image-suspicious-ratio {
    object-fit: contain !important;
    object-position: 50% 50% !important;
}

.exotic-image-unavailable,
.exotic-image-final-placeholder {
    background: #f5f6f6 !important;
    opacity: 1 !important;
}

/* Category pages elsewhere on the site can now borrow a real product image
   when the category itself has no thumbnail. */
li.product-category .exotic-category-product-image {
    padding: 4% !important;
    box-sizing: border-box !important;
}


/* ==========================================================
   v1.7.0 — Premium storefront shell using EXOTIC's existing
   red / white / black palette. Display-only enhancements.
   ========================================================== */

/* Rehome the primary navigation out of the photographic hero so it becomes
   a deliberate full-width shopping bar instead of a floating red panel. */
.exotic-san-nav-host.exotic-san-nav--fullwidth {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border-radius: 0 !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
}

/* The old theme-level SHOP NOW control becomes redundant once the dedicated
   EXOTIC shopping navigation is present. Preserve the link in the DOM but
   remove the visual duplicate. */
.exotic-header-shop-now-duplicate {
    display: none !important;
}

/* Premium homepage message over the existing EXOTIC hero/video. */
body.home .exotic-home-hero-host,
body.front-page .exotic-home-hero-host {
    min-height: clamp(330px, 43vw, 560px) !important;
}

.exotic-home-hero-copy {
    position: absolute !important;
    z-index: 6 !important;
    top: 50% !important;
    left: clamp(18px, 5vw, 76px) !important;
    transform: translateY(-50%) !important;
    width: min(520px, calc(100% - 36px)) !important;
    padding: clamp(22px, 3vw, 38px) !important;
    border-left: 5px solid #b70c26 !important;
    border-radius: 0 12px 12px 0 !important;
    background: rgba(255,255,255,.94) !important;
    color: #151515 !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.18) !important;
    backdrop-filter: blur(7px);
    box-sizing: border-box !important;
}

.exotic-home-hero-kicker {
    margin: 0 0 .7rem !important;
    color: #b70c26 !important;
    font-size: .76rem !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

.exotic-home-hero-copy h1 {
    margin: 0 !important;
    max-width: 12ch !important;
    color: #111 !important;
    font-size: clamp(2rem, 4vw, 4rem) !important;
    line-height: .98 !important;
    font-weight: 900 !important;
    letter-spacing: -.045em !important;
    text-transform: none !important;
}

.exotic-home-hero-copy p {
    max-width: 48ch !important;
    margin: 1rem 0 0 !important;
    color: #444 !important;
    font-size: clamp(.94rem, 1.4vw, 1.08rem) !important;
    line-height: 1.55 !important;
    font-weight: 520 !important;
}

.exotic-home-hero-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 1.35rem !important;
}

.exotic-home-hero-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    padding: .82rem 1.3rem !important;
    border: 2px solid #b70c26 !important;
    border-radius: 6px !important;
    font-size: .78rem !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, color .16s ease !important;
}

.exotic-home-hero-btn:hover,
.exotic-home-hero-btn:focus-visible {
    transform: translateY(-1px) !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.14) !important;
}

.exotic-home-hero-btn--primary {
    background: #b70c26 !important;
    color: #fff !important;
}

.exotic-home-hero-btn--primary:hover,
.exotic-home-hero-btn--primary:focus-visible {
    background: #8f0c22 !important;
    color: #fff !important;
}

.exotic-home-hero-btn--secondary {
    background: #fff !important;
    color: #9f0c23 !important;
}

.exotic-home-hero-btn--secondary:hover,
.exotic-home-hero-btn--secondary:focus-visible {
    background: #f6f6f6 !important;
    color: #8f0c22 !important;
}

/* Trust/benefit strip: same palette, cleaner hierarchy. */
.exotic-home-trust-strip {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 clamp(16px, 4vw, 64px) !important;
    border-top: 1px solid #ececec !important;
    border-bottom: 1px solid #dedede !important;
    background: #fff !important;
    box-shadow: 0 7px 22px rgba(0,0,0,.045) !important;
    box-sizing: border-box !important;
}

.exotic-home-trust-strip__item {
    position: relative !important;
    min-width: 0 !important;
    padding: 22px clamp(14px, 2.1vw, 30px) !important;
    text-align: center !important;
}

.exotic-home-trust-strip__item + .exotic-home-trust-strip__item {
    border-left: 1px solid #ececec !important;
}

.exotic-home-trust-strip__item strong {
    display: block !important;
    margin-bottom: .42rem !important;
    color: #b70c26 !important;
    font-size: .75rem !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
}

.exotic-home-trust-strip__item span {
    display: block !important;
    color: #555 !important;
    font-size: .82rem !important;
    line-height: 1.42 !important;
}

/* Give catalog cards a more deliberate retail finish without changing the
   underlying WooCommerce product markup or data. */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.exotic-shop-catalog-main ul.products li.product {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover,
.exotic-shop-catalog-main ul.products li.product:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.09) !important;
}

/* Cart / checkout free-shipping progress. This is a display-only companion
   to the existing EXOTIC $200 shipping message. */
.exotic-shipping-progress {
    width: 100% !important;
    margin: 0 0 1.15rem !important;
    padding: 15px 16px !important;
    border: 1px solid #e0e0e0 !important;
    border-left: 4px solid #b70c26 !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 4px 14px rgba(0,0,0,.045) !important;
    box-sizing: border-box !important;
}

.exotic-shipping-progress__copy {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 6px 14px !important;
    margin-bottom: 10px !important;
}

.exotic-shipping-progress__copy strong {
    color: #b70c26 !important;
    font-size: .9rem !important;
    font-weight: 900 !important;
}

.exotic-shipping-progress__copy span {
    color: #555 !important;
    font-size: .8rem !important;
}

.exotic-shipping-progress__track {
    width: 100% !important;
    height: 8px !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    background: #eceff1 !important;
}

.exotic-shipping-progress__fill {
    display: block !important;
    height: 100% !important;
    border-radius: inherit !important;
    background: #b70c26 !important;
    transition: width .22s ease !important;
}

/* Mobile buying dock: the button uses the existing EXOTIC red and delegates
   to WooCommerce's real variation/add-to-cart form rather than duplicating it. */
.exotic-mobile-product-dock {
    display: none;
}

@media (max-width: 800px) {
    body.single-product {
        padding-bottom: 76px !important;
    }

    .exotic-mobile-product-dock {
        position: fixed !important;
        z-index: 99990 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 10px max(12px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)) !important;
        border-top: 1px solid #d9d9d9 !important;
        background: rgba(255,255,255,.975) !important;
        box-shadow: 0 -8px 24px rgba(0,0,0,.12) !important;
        backdrop-filter: blur(8px);
        box-sizing: border-box !important;
    }

    .exotic-mobile-product-dock__info {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    .exotic-mobile-product-dock__name,
    .exotic-mobile-product-dock__price {
        display: block !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .exotic-mobile-product-dock__name {
        color: #222 !important;
        font-size: .72rem !important;
        font-weight: 800 !important;
    }

    .exotic-mobile-product-dock__price {
        margin-top: 2px !important;
        color: #b70c26 !important;
        font-size: .86rem !important;
        font-weight: 900 !important;
    }

    .exotic-mobile-product-dock__button {
        flex: 0 0 auto !important;
        min-height: 46px !important;
        margin: 0 !important;
        padding: .72rem 1rem !important;
        border: 1px solid #b70c26 !important;
        border-radius: 6px !important;
        background: #b70c26 !important;
        color: #fff !important;
        font-size: .72rem !important;
        font-weight: 900 !important;
        letter-spacing: .06em !important;
        text-transform: uppercase !important;
        box-shadow: none !important;
    }

    .exotic-mobile-product-dock__button:hover,
    .exotic-mobile-product-dock__button:focus-visible {
        background: #8f0c22 !important;
        color: #fff !important;
    }
}

@media (max-width: 920px) {
    .exotic-home-trust-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .exotic-home-trust-strip__item:nth-child(3) {
        border-left: 0 !important;
        border-top: 1px solid #ececec !important;
    }

    .exotic-home-trust-strip__item:nth-child(4) {
        border-top: 1px solid #ececec !important;
    }
}

@media (max-width: 700px) {
    body.home .exotic-home-hero-host,
    body.front-page .exotic-home-hero-host {
        min-height: 470px !important;
    }

    .exotic-home-hero-copy {
        top: auto !important;
        right: 14px !important;
        bottom: 18px !important;
        left: 14px !important;
        transform: none !important;
        width: auto !important;
        padding: 20px !important;
        border-left-width: 4px !important;
    }

    .exotic-home-hero-copy h1 {
        max-width: 14ch !important;
        font-size: clamp(1.9rem, 9vw, 2.8rem) !important;
    }

    .exotic-home-trust-strip {
        grid-template-columns: 1fr !important;
        padding: 0 14px !important;
    }

    .exotic-home-trust-strip__item,
    .exotic-home-trust-strip__item + .exotic-home-trust-strip__item,
    .exotic-home-trust-strip__item:nth-child(3),
    .exotic-home-trust-strip__item:nth-child(4) {
        border-left: 0 !important;
        border-top: 1px solid #ececec !important;
    }

    .exotic-home-trust-strip__item:first-child {
        border-top: 0 !important;
    }
}

/* ==========================================================
   v1.7.4 — Dedicated shopping row below centered header.
   Header/footer geometry from v1.7.3 remains untouched.
   ========================================================== */
.exotic-san-nav-host.exotic-site-nav-row {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border-radius: 0 !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
}

.exotic-san-nav-host.exotic-site-nav-row .exotic-san-tabs {
    justify-content: flex-start !important;
}

.exotic-san-nav-host.exotic-site-nav-row .exotic-san-search input[type="search"]::placeholder {
    color: #686868 !important;
    opacity: 1 !important;
}


/* ==========================================================
   v1.7.5 — Left-aligned EXOTIC branding + one navigation row.
   Keeps the v1.7.4 red shopping bar and search intact.
   ========================================================== */

/* Logo / business name / tagline stay together and anchor to the left on
   both desktop and mobile. Utility actions such as Account and Cart are not
   moved by these rules. */
.exotic-header-branding-left .exotic-header-branding-group-left,
.exotic-header-branding-left .site-branding.exotic-header-branding-group-left,
.exotic-header-branding-left .header-branding.exotic-header-branding-group-left,
.exotic-header-branding-left .site-identity.exotic-header-branding-group-left {
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
}

.exotic-header-branding-left .exotic-header-branding-group-left .site-title,
.exotic-header-branding-left .exotic-header-branding-group-left .site-description,
.exotic-header-branding-left .exotic-header-branding-group-left .site-tagline,
.exotic-header-branding-left .exotic-header-branding-group-left .wp-block-site-title,
.exotic-header-branding-left .exotic-header-branding-group-left .wp-block-site-tagline {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.exotic-header-branding-left .exotic-header-branding-group-left .custom-logo-link,
.exotic-header-branding-left .exotic-header-branding-group-left .site-logo,
.exotic-header-branding-left .exotic-header-branding-group-left .wp-block-site-logo {
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* Once the real primary menu has been re-homed to the red bar beneath the
   header, suppress any theme-generated duplicate that remains inside the
   main header. The red EXOTIC bar itself is explicitly excluded in JS. */
.exotic-redundant-main-header-menu,
.exotic-redundant-main-header-menu-toggle {
    display: none !important;
}

@media (max-width: 700px) {
    .exotic-header-branding-left .exotic-header-branding-group-left {
        max-width: calc(100% - 24px) !important;
        text-align: left !important;
    }

    /* Keep Home / Sale / New Arrivals / Shop visible on the red bar below the
       header on mobile. Horizontal scrolling is preferable to a second menu. */
    .exotic-site-nav-row .exotic-san-tabs {
        display: flex !important;
        visibility: visible !important;
        overflow-x: auto !important;
    }

    .exotic-site-nav-row .exotic-san-tab {
        display: flex !important;
        flex: 0 0 auto !important;
    }
}


/* ==========================================================
   v1.7.6 — Make the top My Account utility reliably clickable.
   No header geometry, navigation placement, or catalog styling changes.
   ========================================================== */
.exotic-top-account-link,
a.exotic-top-account-link,
.exotic-header-action--account {
    position: relative !important;
    z-index: 100005 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
}

.exotic-top-account-link > * {
    pointer-events: none !important;
}

/* Preserve the theme's existing text appearance when a plain My Account label
   had to be wrapped in a real anchor. */
a.exotic-top-account-link {
    color: inherit !important;
    font: inherit !important;
    text-decoration: inherit !important;
}


/* ==========================================================
   v1.7.7 — Restore the top SHOP ALL control sitewide.
   Desktop + mobile; all storefront pages. No other header
   geometry or red navigation-row changes.
   ========================================================== */
.exotic-header-shop-now-duplicate,
a.exotic-header-shop-all {
    display: inline-flex !important;
}

a.exotic-header-shop-all {
    position: relative !important;
    z-index: 100006 !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 32px !important;
    padding: .48rem .78rem !important;
    border: 1px solid #b70c26 !important;
    border-radius: 4px !important;
    background: #b70c26 !important;
    color: #fff !important;
    font-size: .72rem !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
    box-sizing: border-box !important;
}

a.exotic-header-shop-all:hover,
a.exotic-header-shop-all:focus-visible {
    background: #8f0c22 !important;
    border-color: #8f0c22 !important;
    color: #fff !important;
    text-decoration: none !important;
}

@media (max-width: 700px) {
    a.exotic-header-shop-all {
        min-height: 30px !important;
        padding: .44rem .66rem !important;
        font-size: .68rem !important;
    }
}


/* ==========================================================
   v1.7.8 — Refine By dropdowns + Load More catalog browsing
   ========================================================== */

/* Make every Refine By facet unmistakably visible as a dropdown row, even
   when the active theme has aggressive <details>/<summary> resets. */
.exotic-product-browse-sidebar .exotic-filter-heading h2 {
    margin: 0 !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    letter-spacing: .015em !important;
}

.exotic-shop-browse-sidebar .exotic-filter-form .exotic-browse-filter,
.single-product .exotic-filter-form .exotic-browse-filter {
    display: block !important;
    width: 100% !important;
    border-top: 1px solid rgba(0,0,0,.11) !important;
    background: transparent !important;
}

.exotic-shop-browse-sidebar .exotic-filter-form .exotic-browse-filter > summary,
.single-product .exotic-filter-form .exotic-browse-filter > summary {
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    min-height: 44px !important;
    box-sizing: border-box !important;
    color: #202326 !important;
    cursor: pointer !important;
}

.exotic-shop-browse-sidebar .exotic-filter-form .exotic-browse-filter > summary::after,
.single-product .exotic-filter-form .exotic-browse-filter > summary::after {
    content: "⌄" !important;
    right: .15rem !important;
    top: 50% !important;
    transform: translateY(-52%) rotate(0deg) !important;
    color: #b70c26 !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    transition: transform .16s ease !important;
}

.exotic-shop-browse-sidebar .exotic-filter-form .exotic-browse-filter[open] > summary::after,
.single-product .exotic-filter-form .exotic-browse-filter[open] > summary::after {
    content: "⌃" !important;
}

.exotic-shop-browse-sidebar .exotic-browse-filter[open] > .exotic-browse-filter__body,
.single-product .exotic-browse-filter[open] > .exotic-browse-filter__body {
    display: block !important;
}

/* V1.7.8 intentionally removes the duplicate oversized bottom toolbar. */
.exotic-catalog-toolbar--bottom {
    display: none !important;
}

/* Top catalog control is now compact: Sort By + product count only. */
.exotic-catalog-toolbar--top {
    margin: 0 0 1.2rem !important;
}

.exotic-catalog-toolbar--top .exotic-catalog-toolbar__form {
    justify-content: flex-end !important;
    width: 100% !important;
    padding: .62rem .75rem !important;
    box-shadow: none !important;
}

.exotic-catalog-toolbar--top .exotic-catalog-toolbar__group--sort {
    flex: 0 1 260px !important;
    min-width: 210px !important;
}

.exotic-catalog-toolbar--top .exotic-catalog-toolbar__count {
    min-width: auto !important;
    padding-right: .25rem !important;
}

/* Numbered Woo pagination is retained in the DOM as the next-page source but
   replaced visually by the EXOTIC Load More control. */
.exotic-native-pagination-hidden {
    display: none !important;
}

.exotic-load-more-wrap {
    clear: both;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    margin: 2rem 0 2.6rem;
    padding: 0 12px;
    box-sizing: border-box;
}

.exotic-load-more {
    min-width: 210px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: .72rem 1.65rem !important;
    border: 2px solid #b70c26 !important;
    border-radius: 6px !important;
    background: #b70c26 !important;
    color: #fff !important;
    font: inherit !important;
    font-size: .9rem !important;
    font-weight: 800 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: background .16s ease, color .16s ease, opacity .16s ease, transform .16s ease !important;
}

.exotic-load-more:hover,
.exotic-load-more:focus-visible {
    background: #fff !important;
    color: #b70c26 !important;
    transform: translateY(-1px);
}

.exotic-load-more.is-loading,
.exotic-load-more:disabled {
    cursor: wait !important;
    opacity: .62 !important;
    transform: none !important;
}

.exotic-load-more__status {
    min-height: 1.1rem;
    color: #62676c;
    font-size: .76rem;
    line-height: 1.35;
    text-align: center;
}

.exotic-load-more-wrap.is-complete {
    margin-top: 1.3rem;
}

@media (max-width: 980px) {
    .exotic-shop-browse-sidebar .exotic-product-browse-sidebar__inner {
        overflow: visible !important;
    }

    .exotic-catalog-toolbar--top .exotic-catalog-toolbar__form {
        align-items: stretch !important;
    }

    .exotic-catalog-toolbar--top .exotic-catalog-toolbar__group--sort,
    .exotic-catalog-toolbar--top .exotic-catalog-toolbar__count {
        width: 100% !important;
        flex: 1 1 100% !important;
        min-width: 0 !important;
    }
}

@media (max-width: 620px) {
    .exotic-load-more {
        width: 100% !important;
        max-width: 360px !important;
    }

    .exotic-shop-browse-sidebar .exotic-filter-form .exotic-browse-filter > summary {
        min-height: 48px !important;
        font-size: .9rem !important;
    }
}


/* ==========================================================
   v1.7.9 — remove duplicate bottom Filter & Sort UI
   ========================================================== */
/* EXOTIC owns catalog filtering through the Refine By sidebar. Hide the
   WooCommerce Product Filters block/overlay when a theme template also
   renders it elsewhere (the oversized FILTER & SORT panel seen at the bottom
   of the Shop page). */
body.exotic-product-experience-active.post-type-archive-product .wc-block-product-filters,
body.exotic-product-experience-active.woocommerce-shop .wc-block-product-filters,
body.exotic-product-experience-active.tax-product_cat .wc-block-product-filters,
body.exotic-product-experience-active.tax-product_tag .wc-block-product-filters,
body.exotic-product-experience-active.post-type-archive-product .wp-block-woocommerce-product-filters,
body.exotic-product-experience-active.woocommerce-shop .wp-block-woocommerce-product-filters,
body.exotic-product-experience-active.tax-product_cat .wp-block-woocommerce-product-filters,
body.exotic-product-experience-active.tax-product_tag .wp-block-woocommerce-product-filters,
body.exotic-product-experience-active .exotic-duplicate-filter-sort-removed {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

/* ==========================================================
   v1.8.0 — hard removal of duplicate bottom Filter & Sort UI
   ========================================================== */
body.exotic-product-experience-active.post-type-archive-product .wc-block-product-filters__overlay,
body.exotic-product-experience-active.woocommerce-shop .wc-block-product-filters__overlay,
body.exotic-product-experience-active.tax-product_cat .wc-block-product-filters__overlay,
body.exotic-product-experience-active.tax-product_tag .wc-block-product-filters__overlay,
body.exotic-product-experience-active.post-type-archive-product .wc-block-product-filters__overlay-wrapper,
body.exotic-product-experience-active.woocommerce-shop .wc-block-product-filters__overlay-wrapper,
body.exotic-product-experience-active.tax-product_cat .wc-block-product-filters__overlay-wrapper,
body.exotic-product-experience-active.tax-product_tag .wc-block-product-filters__overlay-wrapper,
body.exotic-product-experience-active.post-type-archive-product .wc-block-product-filters-overlay,
body.exotic-product-experience-active.woocommerce-shop .wc-block-product-filters-overlay,
body.exotic-product-experience-active.tax-product_cat .wc-block-product-filters-overlay,
body.exotic-product-experience-active.tax-product_tag .wc-block-product-filters-overlay,
body.exotic-product-experience-active.post-type-archive-product .wc-block-product-filter-overlay,
body.exotic-product-experience-active.woocommerce-shop .wc-block-product-filter-overlay,
body.exotic-product-experience-active.tax-product_cat .wc-block-product-filter-overlay,
body.exotic-product-experience-active.tax-product_tag .wc-block-product-filter-overlay,
body.exotic-product-experience-active .exotic-duplicate-filter-sort-removed {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    left: -999999px !important;
    top: -999999px !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}


/* ==========================================================
   v1.8.1 — remove Woo Filter & Sort block on Page-based shops
   ========================================================== */
/* Some themes render the Shop as a normal WordPress Page rather than a native
   Woo archive. Do not depend on .woocommerce-shop / archive body classes. */
body.exotic-product-experience-active .wc-block-product-filters,
body.exotic-product-experience-active .wp-block-woocommerce-product-filters,
body.exotic-product-experience-active .wp-block-woocommerce-product-filter,
body.exotic-product-experience-active [data-wp-interactive="woocommerce/product-filters"],
body.exotic-product-experience-active [data-wp-interactive="woocommerce/product-filter"],
body.exotic-product-experience-active [data-wp-interactive^="woocommerce/product-filter"],
body.exotic-product-experience-active .wc-block-product-filters__overlay,
body.exotic-product-experience-active .wc-block-product-filters__overlay-wrapper,
body.exotic-product-experience-active .wc-block-product-filters-overlay,
body.exotic-product-experience-active .wc-block-product-filter-overlay,
body.exotic-product-experience-active .exotic-duplicate-filter-sort-removed {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    left: -999999px !important;
    top: -999999px !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}


/* ==========================================================
   v1.8.2 — Dynamic BRANDS mega-menu in EXOTIC header row.
   Uses the same live brand source as Refine By and does not
   alter catalog/product data.
   ========================================================== */
.exotic-san-nav-host .exotic-san-tab--brands {
    position: relative !important;
}

.exotic-san-nav-host .exotic-brand-mega {
    width: min(1040px, 92vw) !important;
    min-width: min(720px, 92vw) !important;
    max-height: min(72vh, 650px) !important;
    padding: 18px 20px 16px !important;
    overflow: auto !important;
    overscroll-behavior: contain;
}

.exotic-san-tab--brands:hover > .exotic-brand-mega,
.exotic-san-tab--brands:focus-within > .exotic-brand-mega,
.exotic-san-tab--brands.is-open > .exotic-brand-mega {
    display: block !important;
}

.exotic-brand-mega__heading {
    padding: 0 0 10px !important;
    color: #1a1a1a !important;
    font-size: .8rem !important;
    border-bottom: 1px solid #e8e8e8;
}

.exotic-brand-mega__search-wrap {
    position: sticky;
    top: -18px;
    z-index: 3;
    margin: 0 -2px 14px;
    padding: 12px 2px 10px;
    background: rgba(255,255,255,.98);
}

.exotic-brand-mega__search {
    width: 100% !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    border: 1px solid #cfcfcf !important;
    border-radius: 5px !important;
    background: #fff !important;
    color: #1a1a1a !important;
    font: inherit !important;
    font-size: .86rem !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    box-sizing: border-box !important;
}

.exotic-brand-mega__search:focus {
    border-color: #b70c26 !important;
    outline: 2px solid rgba(183,12,38,.13) !important;
    outline-offset: 0 !important;
}

.exotic-brand-mega__groups {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 18px 24px !important;
    align-items: start !important;
}

.exotic-brand-mega__group {
    min-width: 0;
}

.exotic-brand-mega__letter {
    margin: 0 0 5px !important;
    padding: 0 0 5px !important;
    border-bottom: 2px solid #b70c26 !important;
    color: #b70c26 !important;
    font-size: .78rem !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
}

.exotic-brand-mega__links {
    display: flex !important;
    flex-direction: column !important;
    gap: 1px !important;
}

.exotic-san-dropdown .exotic-brand-mega__link,
.exotic-brand-mega__link {
    display: block !important;
    min-height: 0 !important;
    padding: .42rem .3rem !important;
    border-radius: 4px !important;
    color: #242424 !important;
    background: transparent !important;
    font-size: .78rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: normal !important;
}

.exotic-san-dropdown .exotic-brand-mega__link:hover,
.exotic-san-dropdown .exotic-brand-mega__link:focus-visible {
    color: #a70c24 !important;
    background: #f5f5f5 !important;
}

.exotic-brand-mega__empty {
    margin: 14px 0 !important;
    padding: 12px !important;
    border: 1px dashed #d4d4d4 !important;
    color: #666 !important;
    text-align: center !important;
    font-size: .84rem !important;
}

.exotic-brand-mega__all {
    display: inline-flex !important;
    margin-top: 16px !important;
    padding: .7rem .9rem !important;
    border-radius: 5px !important;
    background: #111 !important;
    color: #fff !important;
    font-size: .76rem !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

.exotic-brand-mega__all:hover,
.exotic-brand-mega__all:focus-visible {
    background: #b70c26 !important;
    color: #fff !important;
}

@media (max-width: 1024px) {
    .exotic-san-nav-host .exotic-brand-mega {
        min-width: 0 !important;
    }

    .exotic-brand-mega__groups {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .exotic-san-nav-host .exotic-brand-mega {
        position: fixed !important;
        left: 10px !important;
        right: 10px !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        max-height: 68vh !important;
        padding: 14px !important;
        transform: none !important;
    }

    .exotic-brand-mega__search-wrap {
        top: -14px;
        margin-top: 0;
    }

    .exotic-brand-mega__groups {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .exotic-san-dropdown .exotic-brand-mega__link,
    .exotic-brand-mega__link {
        padding: .55rem .35rem !important;
        font-size: .82rem !important;
    }
}


/* ==========================================================
   v1.8.8 — Surgical SHOP visual parity
   Built from the last known-good v1.8.3 BRANDS implementation.
   Never identify Shop by URL: BRANDS may use /shop/#brands.
   ========================================================== */
.exotic-san-nav-host .exotic-shop-v188 {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

.exotic-san-nav-host a.exotic-shop-link-v188 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    text-indent: 0 !important;
    word-spacing: 0 !important;
    transform: none !important;
    white-space: nowrap !important;
}

.exotic-san-nav-host a.exotic-shop-link-v188 > .exotic-shop-label-v188 {
    display: inline !important;
    position: static !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    word-spacing: 0 !important;
    text-transform: inherit !important;
    color: inherit !important;
    text-indent: 0 !important;
    transform: none !important;
    white-space: nowrap !important;
}


/* ==========================================================
   v1.8.9 — Professional Customer Help / Service Pages
   Inspired by the clean, task-first help architecture used by
   large blank-apparel retailers; preserves EXOTIC red/black/white.
   Presentation only — no policy or account data is rewritten.
   ========================================================== */
body.exotic-service-page {
    --exotic-service-red: #b70c26;
    --exotic-service-red-dark: #96091f;
    --exotic-service-ink: #17191c;
    --exotic-service-muted: #656b72;
    --exotic-service-line: #e2e4e7;
    --exotic-service-soft: #f6f7f8;
    --exotic-service-card: #ffffff;
}

body.exotic-service-page .exotic-service-main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.exotic-service-page .exotic-service-hero {
    width: 100%;
    margin: 0 0 34px;
    border-top: 1px solid #ececec;
    border-bottom: 1px solid #dedfe2;
    background:
        linear-gradient(120deg, rgba(183,12,38,.055), rgba(183,12,38,0) 44%),
        #f7f7f8;
}

body.exotic-service-page .exotic-service-hero__inner {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 38px 0 0;
}

body.exotic-service-page .exotic-service-hero__kicker {
    margin: 0 0 7px;
    color: var(--exotic-service-red);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

body.exotic-service-page .exotic-service-hero__title {
    margin: 0 !important;
    color: var(--exotic-service-ink) !important;
    font-size: clamp(2rem, 4vw, 3.15rem) !important;
    font-weight: 800 !important;
    line-height: 1.04 !important;
    letter-spacing: -.035em !important;
    text-transform: none !important;
}

body.exotic-service-page .exotic-service-hero__subtitle {
    max-width: 760px;
    margin: 12px 0 26px !important;
    color: var(--exotic-service-muted) !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
}

body.exotic-service-page .exotic-service-nav {
    display: flex;
    align-items: flex-end;
    gap: 2px;
    overflow-x: auto;
    overflow-y: hidden;
    margin: 0;
    padding: 0;
    scrollbar-width: thin;
}

body.exotic-service-page .exotic-service-nav a {
    position: relative;
    flex: 0 0 auto;
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    padding: 0 16px;
    border-bottom: 3px solid transparent;
    color: #34383d !important;
    font-size: .79rem;
    font-weight: 800;
    letter-spacing: .025em;
    text-decoration: none !important;
    text-transform: uppercase;
    white-space: nowrap;
}

body.exotic-service-page .exotic-service-nav a:hover,
body.exotic-service-page .exotic-service-nav a:focus-visible {
    color: var(--exotic-service-red) !important;
    background: rgba(255,255,255,.72);
}

body.exotic-service-page .exotic-service-nav a.is-active {
    color: var(--exotic-service-red) !important;
    border-bottom-color: var(--exotic-service-red);
    background: #fff;
}

body.exotic-service-page .exotic-service-content,
body.exotic-service-page .exotic-service-main > article,
body.exotic-service-page .exotic-service-main > .woocommerce {
    width: min(1100px, calc(100% - 40px));
    max-width: 1100px;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

body.exotic-service-page .exotic-service-original-title {
    display: none !important;
}

body.exotic-service-page .exotic-service-content {
    color: #30343a;
    font-size: .98rem;
    line-height: 1.72;
}

body.exotic-service-page .exotic-service-content > p:first-child {
    font-size: 1.03rem;
}

body.exotic-service-page .exotic-service-content h2,
body.exotic-service-page .exotic-service-content h3,
body.exotic-service-page .exotic-service-content h4 {
    color: var(--exotic-service-ink) !important;
    line-height: 1.2 !important;
}

body.exotic-service-page .exotic-service-content h2 {
    margin: 34px 0 14px !important;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--exotic-service-red);
    font-size: clamp(1.35rem, 2vw, 1.7rem) !important;
    font-weight: 800 !important;
}

body.exotic-service-page .exotic-service-content h3 {
    margin: 24px 0 8px !important;
    font-size: 1.08rem !important;
    font-weight: 800 !important;
}

body.exotic-service-page .exotic-service-content ul,
body.exotic-service-page .exotic-service-content ol {
    padding-left: 1.35rem;
}

body.exotic-service-page .exotic-service-content li {
    margin: .42rem 0;
}

body.exotic-service-page .exotic-service-content a:not(.button):not(.wp-element-button):not(.exotic-service-help-cta__button) {
    color: var(--exotic-service-red);
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

body.exotic-service-page--shipping .exotic-service-card,
body.exotic-service-page--returns .exotic-service-card {
    margin: 0 0 20px;
    padding: 24px 26px;
    border: 1px solid var(--exotic-service-line);
    border-radius: 10px;
    background: var(--exotic-service-card);
    box-shadow: 0 8px 24px rgba(17,24,39,.045);
}

body.exotic-service-page--shipping .exotic-service-card > h2:first-child,
body.exotic-service-page--returns .exotic-service-card > h2:first-child {
    margin-top: 0 !important;
}

body.exotic-service-page .exotic-service-help-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 36px 0 46px;
    padding: 24px 26px;
    border: 1px solid #dedfe2;
    border-left: 5px solid var(--exotic-service-red);
    border-radius: 9px;
    background: #f7f7f8;
}

body.exotic-service-page .exotic-service-help-cta strong,
body.exotic-service-page .exotic-service-help-cta span {
    display: block;
}

body.exotic-service-page .exotic-service-help-cta strong {
    margin-bottom: 3px;
    color: var(--exotic-service-ink);
    font-size: 1.08rem;
}

body.exotic-service-page .exotic-service-help-cta span {
    color: var(--exotic-service-muted);
    line-height: 1.5;
}

body.exotic-service-page .exotic-service-help-cta__button,
body.exotic-service-page .woocommerce button.button,
body.exotic-service-page .woocommerce a.button,
body.exotic-service-page .woocommerce input.button,
body.exotic-service-page--contact .exotic-contact-form-card button,
body.exotic-service-page--contact .exotic-contact-form-card input[type="submit"] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: .7rem 1.2rem !important;
    border: 2px solid var(--exotic-service-red) !important;
    border-radius: 5px !important;
    background: var(--exotic-service-red) !important;
    color: #fff !important;
    font-weight: 800 !important;
    letter-spacing: .03em;
    text-decoration: none !important;
    text-transform: uppercase;
    box-shadow: none !important;
}

body.exotic-service-page .exotic-service-help-cta__button:hover,
body.exotic-service-page .woocommerce button.button:hover,
body.exotic-service-page .woocommerce a.button:hover,
body.exotic-service-page .woocommerce input.button:hover,
body.exotic-service-page--contact .exotic-contact-form-card button:hover,
body.exotic-service-page--contact .exotic-contact-form-card input[type="submit"]:hover {
    background: #fff !important;
    color: var(--exotic-service-red) !important;
}

/* Contact page */
body.exotic-service-page--contact .exotic-contact-form-card,
body.exotic-service-page--contact .wpcf7,
body.exotic-service-page--contact .wpforms-container,
body.exotic-service-page--contact .gform_wrapper {
    margin: 22px 0 42px !important;
    padding: 28px !important;
    border: 1px solid var(--exotic-service-line) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(17,24,39,.045) !important;
    box-sizing: border-box;
}

body.exotic-service-page--contact .exotic-service-content label {
    display: block;
    margin: 0 0 6px;
    color: #24272b;
    font-size: .82rem;
    font-weight: 800;
}

body.exotic-service-page--contact .exotic-service-content input[type="text"],
body.exotic-service-page--contact .exotic-service-content input[type="email"],
body.exotic-service-page--contact .exotic-service-content input[type="tel"],
body.exotic-service-page--contact .exotic-service-content input[type="number"],
body.exotic-service-page--contact .exotic-service-content select,
body.exotic-service-page--contact .exotic-service-content textarea {
    width: 100% !important;
    min-height: 48px !important;
    padding: .75rem .85rem !important;
    border: 1px solid #cfd3d7 !important;
    border-radius: 5px !important;
    background: #fff !important;
    color: #1d2024 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

body.exotic-service-page--contact .exotic-service-content textarea {
    min-height: 150px !important;
    resize: vertical;
}

body.exotic-service-page--contact .exotic-service-content input:focus,
body.exotic-service-page--contact .exotic-service-content select:focus,
body.exotic-service-page--contact .exotic-service-content textarea:focus {
    border-color: var(--exotic-service-red) !important;
    outline: 3px solid rgba(183,12,38,.1) !important;
    outline-offset: 0 !important;
}

/* FAQ */
body.exotic-service-page--faq .exotic-faq-item,
body.exotic-service-page--faq .wp-block-details {
    margin: 0 0 10px !important;
    border: 1px solid var(--exotic-service-line) !important;
    border-radius: 8px !important;
    background: #fff !important;
    overflow: hidden;
}

body.exotic-service-page--faq .exotic-faq-item > summary,
body.exotic-service-page--faq .wp-block-details > summary {
    position: relative;
    min-height: 58px;
    display: flex;
    align-items: center;
    padding: 14px 50px 14px 18px !important;
    color: #1f2226 !important;
    font-size: .95rem !important;
    font-weight: 800 !important;
    line-height: 1.35;
    cursor: pointer;
    list-style: none;
}

body.exotic-service-page--faq .exotic-faq-item > summary::-webkit-details-marker,
body.exotic-service-page--faq .wp-block-details > summary::-webkit-details-marker {
    display: none;
}

body.exotic-service-page--faq .exotic-faq-item > summary::after,
body.exotic-service-page--faq .wp-block-details > summary::after {
    content: '+';
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--exotic-service-red);
    font-size: 1.45rem;
    font-weight: 500;
}

body.exotic-service-page--faq .exotic-faq-item[open] > summary::after,
body.exotic-service-page--faq .wp-block-details[open] > summary::after {
    content: '−';
}

body.exotic-service-page--faq .exotic-faq-item[open] > summary,
body.exotic-service-page--faq .wp-block-details[open] > summary {
    background: #f8f8f9;
    border-bottom: 1px solid var(--exotic-service-line);
}

body.exotic-service-page--faq .exotic-faq-item__body,
body.exotic-service-page--faq .wp-block-details > :not(summary) {
    padding-left: 18px;
    padding-right: 18px;
}

body.exotic-service-page--faq .exotic-faq-item__body {
    padding-top: 15px;
    padding-bottom: 17px;
}

/* WooCommerce My Account */
body.exotic-service-page--account .exotic-service-content,
body.woocommerce-account.exotic-product-experience-active .exotic-service-content {
    padding-bottom: 48px;
}

body.exotic-service-page--account .woocommerce,
body.woocommerce-account.exotic-product-experience-active .woocommerce {
    width: 100%;
}

body.exotic-service-page--account .woocommerce form.login,
body.exotic-service-page--account .woocommerce form.register,
body.woocommerce-account.exotic-product-experience-active .woocommerce form.login,
body.woocommerce-account.exotic-product-experience-active .woocommerce form.register {
    margin: 18px 0 34px !important;
    padding: 28px !important;
    border: 1px solid var(--exotic-service-line) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(17,24,39,.045) !important;
}

body.exotic-service-page--account .woocommerce form .form-row label,
body.woocommerce-account.exotic-product-experience-active .woocommerce form .form-row label {
    color: #25282c;
    font-size: .82rem;
    font-weight: 800;
}

body.exotic-service-page--account .woocommerce form input.input-text,
body.woocommerce-account.exotic-product-experience-active .woocommerce form input.input-text,
body.exotic-service-page--account .woocommerce form select,
body.woocommerce-account.exotic-product-experience-active .woocommerce form select {
    min-height: 48px !important;
    padding: .7rem .85rem !important;
    border: 1px solid #cfd3d7 !important;
    border-radius: 5px !important;
    background: #fff !important;
    box-shadow: none !important;
}

body.exotic-service-page--account .woocommerce form input.input-text:focus,
body.woocommerce-account.exotic-product-experience-active .woocommerce form input.input-text:focus,
body.exotic-service-page--account .woocommerce form select:focus,
body.woocommerce-account.exotic-product-experience-active .woocommerce form select:focus {
    border-color: var(--exotic-service-red) !important;
    outline: 3px solid rgba(183,12,38,.1) !important;
}

body.exotic-service-page--account .woocommerce-MyAccount-navigation,
body.woocommerce-account.exotic-product-experience-active .woocommerce-MyAccount-navigation {
    width: 25% !important;
    padding: 0 !important;
}

body.exotic-service-page--account .woocommerce-MyAccount-navigation ul,
body.woocommerce-account.exotic-product-experience-active .woocommerce-MyAccount-navigation ul {
    margin: 0 !important;
    padding: 7px !important;
    border: 1px solid var(--exotic-service-line);
    border-radius: 9px;
    background: #fff;
    list-style: none !important;
    box-shadow: 0 8px 24px rgba(17,24,39,.035);
}

body.exotic-service-page--account .woocommerce-MyAccount-navigation li,
body.woocommerce-account.exotic-product-experience-active .woocommerce-MyAccount-navigation li {
    margin: 0 !important;
    list-style: none !important;
}

body.exotic-service-page--account .woocommerce-MyAccount-navigation li a,
body.woocommerce-account.exotic-product-experience-active .woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 12px 13px !important;
    border-radius: 5px;
    color: #292d31 !important;
    font-size: .86rem;
    font-weight: 750;
    text-decoration: none !important;
}

body.exotic-service-page--account .woocommerce-MyAccount-navigation li a:hover,
body.woocommerce-account.exotic-product-experience-active .woocommerce-MyAccount-navigation li a:hover {
    background: #f5f5f6;
    color: var(--exotic-service-red) !important;
}

body.exotic-service-page--account .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account.exotic-product-experience-active .woocommerce-MyAccount-navigation li.is-active a {
    background: var(--exotic-service-red) !important;
    color: #fff !important;
}

body.exotic-service-page--account .woocommerce-MyAccount-content,
body.woocommerce-account.exotic-product-experience-active .woocommerce-MyAccount-content {
    width: 72% !important;
    padding: 24px 26px !important;
    border: 1px solid var(--exotic-service-line);
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(17,24,39,.035);
    box-sizing: border-box;
}

body.exotic-service-page--account .woocommerce table.shop_table,
body.woocommerce-account.exotic-product-experience-active .woocommerce table.shop_table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid var(--exotic-service-line) !important;
    border-radius: 8px !important;
    overflow: hidden;
}

body.exotic-service-page--account .woocommerce table.shop_table th,
body.woocommerce-account.exotic-product-experience-active .woocommerce table.shop_table th {
    background: #f5f5f6;
    color: #25282c;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .025em;
    text-transform: uppercase;
}

body.exotic-service-page--account .woocommerce-error,
body.exotic-service-page--account .woocommerce-message,
body.exotic-service-page--account .woocommerce-info,
body.exotic-service-page .woocommerce-error,
body.exotic-service-page .woocommerce-message,
body.exotic-service-page .woocommerce-info {
    border-radius: 7px !important;
    border-top-color: var(--exotic-service-red) !important;
    background: #f8f8f9 !important;
}

@media (max-width: 820px) {
    body.exotic-service-page .exotic-service-hero__inner,
    body.exotic-service-page .exotic-service-content,
    body.exotic-service-page .exotic-service-main > article,
    body.exotic-service-page .exotic-service-main > .woocommerce {
        width: min(100% - 28px, 1100px);
    }

    body.exotic-service-page .exotic-service-hero__inner {
        padding-top: 28px;
    }

    body.exotic-service-page .exotic-service-nav a {
        min-height: 43px;
        padding: 0 12px;
        font-size: .74rem;
    }

    body.exotic-service-page .exotic-service-help-cta {
        align-items: flex-start;
        flex-direction: column;
    }

    body.exotic-service-page--account .woocommerce-MyAccount-navigation,
    body.woocommerce-account.exotic-product-experience-active .woocommerce-MyAccount-navigation,
    body.exotic-service-page--account .woocommerce-MyAccount-content,
    body.woocommerce-account.exotic-product-experience-active .woocommerce-MyAccount-content {
        width: 100% !important;
        float: none !important;
    }

    body.exotic-service-page--account .woocommerce-MyAccount-navigation,
    body.woocommerce-account.exotic-product-experience-active .woocommerce-MyAccount-navigation {
        margin: 0 0 16px !important;
    }

    body.exotic-service-page--account .woocommerce-MyAccount-navigation ul,
    body.woocommerce-account.exotic-product-experience-active .woocommerce-MyAccount-navigation ul {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px;
    }
}

@media (max-width: 560px) {
    body.exotic-service-page .exotic-service-hero {
        margin-bottom: 24px;
    }

    body.exotic-service-page .exotic-service-hero__subtitle {
        margin-bottom: 18px !important;
        font-size: .94rem !important;
    }

    body.exotic-service-page--shipping .exotic-service-card,
    body.exotic-service-page--returns .exotic-service-card,
    body.exotic-service-page--contact .exotic-contact-form-card,
    body.exotic-service-page--contact .wpcf7,
    body.exotic-service-page--contact .wpforms-container,
    body.exotic-service-page--contact .gform_wrapper,
    body.exotic-service-page--account .woocommerce form.login,
    body.exotic-service-page--account .woocommerce form.register,
    body.woocommerce-account.exotic-product-experience-active .woocommerce form.login,
    body.woocommerce-account.exotic-product-experience-active .woocommerce form.register,
    body.exotic-service-page--account .woocommerce-MyAccount-content,
    body.woocommerce-account.exotic-product-experience-active .woocommerce-MyAccount-content {
        padding: 20px !important;
    }

    body.exotic-service-page--account .woocommerce-MyAccount-navigation ul,
    body.woocommerce-account.exotic-product-experience-active .woocommerce-MyAccount-navigation ul {
        grid-template-columns: 1fr;
    }

    body.exotic-service-page .exotic-service-help-cta__button {
        width: 100%;
    }
}

/* ==========================================================
   v1.9.0 — Complete customer-information pages
   Based on the established EXOTIC red / black / white system.
   ========================================================== */
body.exotic-info-page,
body.exotic-service-page {
    --exotic-info-red: #b70c26;
    --exotic-info-red-dark: #8f091e;
    --exotic-info-ink: #17191c;
    --exotic-info-muted: #60666d;
    --exotic-info-line: #e3e5e8;
    --exotic-info-soft: #f5f6f7;
    --exotic-info-card: #ffffff;
}

body.exotic-info-page .entry-content,
body.exotic-info-page .wp-block-post-content,
body.exotic-info-page main .exotic-managed-page {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

body.exotic-info-page .entry-title,
body.exotic-info-page .wp-block-post-title,
body.exotic-info-page .page-title {
    display: none !important;
}

.exotic-info-hero {
    position: relative;
    margin: 0 0 36px;
    padding: 46px 48px 0;
    border: 1px solid var(--exotic-info-line);
    background: linear-gradient(135deg, #ffffff 0%, #f5f6f7 100%);
    overflow: hidden;
}

.exotic-info-hero::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 7px;
    background: var(--exotic-info-red);
}

.exotic-info-hero__kicker,
.exotic-card-eyebrow {
    display: block;
    margin: 0 0 10px;
    color: var(--exotic-info-red);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.exotic-info-hero h1 {
    margin: 0;
    color: var(--exotic-info-ink) !important;
    font-size: clamp(34px, 5vw, 62px) !important;
    line-height: .98 !important;
    letter-spacing: -.035em;
    font-weight: 850 !important;
}

.exotic-info-hero > p {
    max-width: 790px;
    margin: 18px 0 30px;
    color: var(--exotic-info-muted) !important;
    font-size: 17px;
    line-height: 1.7;
}

.exotic-info-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 0 -48px;
    padding: 0 48px;
    border-top: 1px solid var(--exotic-info-line);
    background: #fff;
}

.exotic-info-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 54px;
    padding: 0 22px;
    border-right: 1px solid var(--exotic-info-line);
    color: var(--exotic-info-ink) !important;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .03em;
    text-decoration: none !important;
}

.exotic-info-nav a:hover,
.exotic-info-nav a:focus-visible {
    color: var(--exotic-info-red) !important;
    background: var(--exotic-info-soft);
}

.exotic-story-grid,
.exotic-support-intro-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 0 0 28px;
}

.exotic-story-card,
.exotic-support-mini-card,
.exotic-contact-direct,
.exotic-contact-checklist,
.exotic-existing-contact-form,
.exotic-account-intro {
    padding: 28px;
    border: 1px solid var(--exotic-info-line);
    background: var(--exotic-info-card);
    box-shadow: 0 8px 26px rgba(0,0,0,.045);
}

.exotic-story-card--lead {
    grid-column: 1 / -1;
    padding: 34px;
}

.exotic-story-card h2,
.exotic-story-card h3,
.exotic-support-mini-card h2,
.exotic-contact-direct h2,
.exotic-contact-checklist h2,
.exotic-account-intro h2 {
    color: var(--exotic-info-ink) !important;
    margin-top: 0 !important;
}

.exotic-story-card p,
.exotic-support-mini-card p,
.exotic-contact-direct p,
.exotic-contact-checklist p,
.exotic-account-intro p {
    color: var(--exotic-info-muted);
    line-height: 1.7;
}

.exotic-support-mini-card > span:first-child {
    display: block;
    margin-bottom: 12px;
    color: var(--exotic-info-red);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .13em;
}

.exotic-info-callout,
.exotic-contact-direct,
.exotic-account-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin: 28px 0 0;
    padding: 30px 32px;
    border: 1px solid var(--exotic-info-line);
    border-left: 6px solid var(--exotic-info-red);
    background: #fff;
}

.exotic-info-button,
.exotic-info-page .button,
.exotic-service-page .exotic-info-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 22px;
    border: 1px solid var(--exotic-info-red) !important;
    border-radius: 0 !important;
    background: var(--exotic-info-red) !important;
    color: #fff !important;
    font-size: 13px;
    font-weight: 850;
    letter-spacing: .04em;
    text-decoration: none !important;
    white-space: nowrap;
}

.exotic-info-button:hover,
.exotic-info-button:focus-visible {
    background: var(--exotic-info-red-dark) !important;
    border-color: var(--exotic-info-red-dark) !important;
}

.exotic-policy-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 34px;
}

.exotic-policy-summary-grid article {
    min-height: 128px;
    padding: 22px;
    border: 1px solid var(--exotic-info-line);
    border-top: 4px solid var(--exotic-info-red);
    background: #fff;
}

.exotic-policy-summary-grid strong {
    display: block;
    margin-bottom: 8px;
    color: var(--exotic-info-ink);
    font-size: 21px;
    line-height: 1.1;
}

.exotic-policy-summary-grid span {
    display: block;
    color: var(--exotic-info-muted);
    font-size: 13px;
    line-height: 1.55;
}

body.exotic-service-page .exotic-shipping-complete > h2,
body.exotic-service-page .exotic-returns-complete > h2,
body.exotic-info-page .exotic-legal-page > h2 {
    margin: 34px 0 12px !important;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--exotic-info-red);
    color: var(--exotic-info-ink) !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
}

body.exotic-service-page .exotic-shipping-complete p,
body.exotic-service-page .exotic-returns-complete p,
body.exotic-info-page .exotic-legal-page p,
body.exotic-service-page .exotic-shipping-complete li,
body.exotic-service-page .exotic-returns-complete li,
body.exotic-info-page .exotic-legal-page li {
    color: #40454b;
    font-size: 15px;
    line-height: 1.72;
}

.exotic-policy-note {
    margin: 30px 0 0;
    padding: 20px 22px;
    border-left: 5px solid var(--exotic-info-red);
    background: #f7f7f8;
    color: #31353a;
    line-height: 1.65;
}

.exotic-policy-date {
    margin: 18px 0 28px !important;
    padding: 12px 16px;
    border: 1px solid var(--exotic-info-line);
    background: #fafafa;
    color: #656b72 !important;
    font-size: 13px !important;
}

.exotic-contact-complete {
    display: block;
}

.exotic-contact-direct {
    margin-bottom: 18px;
}

.exotic-contact-checklist,
.exotic-existing-contact-form {
    margin-top: 18px;
}

.exotic-contact-checklist ul {
    margin: 16px 0;
}

.exotic-existing-contact-form form {
    margin-top: 20px;
}

.exotic-faq-category-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 24px;
}

.exotic-faq-category-tabs span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid var(--exotic-info-line);
    background: #fff;
    color: #3d4248;
    font-size: 12px;
    font-weight: 800;
}

.exotic-faq-complete > h2 {
    margin: 34px 0 14px !important;
    color: var(--exotic-info-ink) !important;
    font-size: 20px !important;
}

.exotic-faq-complete .exotic-faq-item {
    margin: 0 0 10px;
    border: 1px solid var(--exotic-info-line);
    background: #fff;
}

.exotic-faq-complete .exotic-faq-item > summary {
    position: relative;
    padding: 18px 48px 18px 20px;
    cursor: pointer;
    list-style: none;
    color: var(--exotic-info-ink);
    font-weight: 800;
}

.exotic-faq-complete .exotic-faq-item > summary::-webkit-details-marker { display: none; }
.exotic-faq-complete .exotic-faq-item > summary::after {
    content: "+";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--exotic-info-red);
    font-size: 22px;
    line-height: 1;
}
.exotic-faq-complete .exotic-faq-item[open] > summary::after { content: "−"; }
.exotic-faq-complete .exotic-faq-item__body { padding: 0 20px 18px; color: #4b5056; }

.exotic-account-intro {
    margin: 0 0 24px;
}

.exotic-account-intro__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.exotic-account-intro__links a {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    padding: 0 13px;
    border: 1px solid var(--exotic-info-line);
    color: var(--exotic-info-ink) !important;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none !important;
}

.exotic-account-intro__links a:hover { color: var(--exotic-info-red) !important; }

body.exotic-info-page .exotic-legal-page {
    padding-bottom: 36px;
}

body.exotic-info-page .exotic-legal-page > ul,
body.exotic-info-page .exotic-legal-page > ol {
    margin-left: 22px;
}

@media (max-width: 900px) {
    .exotic-policy-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .exotic-story-grid, .exotic-support-intro-grid { grid-template-columns: 1fr; }
    .exotic-story-card--lead { grid-column: auto; }
    .exotic-info-callout, .exotic-contact-direct, .exotic-account-intro { align-items: flex-start; flex-direction: column; }
    .exotic-account-intro__links { justify-content: flex-start; }
}

@media (max-width: 640px) {
    .exotic-info-hero { padding: 32px 22px 0; margin-bottom: 24px; }
    .exotic-info-hero > p { font-size: 15px; }
    .exotic-info-nav { margin: 0 -22px; padding: 0; overflow-x: auto; flex-wrap: nowrap; }
    .exotic-info-nav a { min-width: max-content; min-height: 48px; padding: 0 16px; }
    .exotic-policy-summary-grid { grid-template-columns: 1fr; }
    .exotic-policy-summary-grid article { min-height: 0; }
    .exotic-story-card, .exotic-support-mini-card, .exotic-contact-direct, .exotic-contact-checklist, .exotic-existing-contact-form, .exotic-account-intro { padding: 22px; }
    .exotic-info-callout { padding: 22px; }
    body.exotic-service-page .exotic-shipping-complete > h2,
    body.exotic-service-page .exotic-returns-complete > h2,
    body.exotic-info-page .exotic-legal-page > h2 { font-size: 19px !important; }
}

/* ==========================================================
   v1.9.1 — Contact + social link polish
   ========================================================== */
.exotic-contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: flex-end;
}

.exotic-info-button--secondary {
    background: #fff !important;
    color: var(--exotic-info-red) !important;
}

.exotic-info-button--secondary:hover,
.exotic-info-button--secondary:focus-visible {
    background: var(--exotic-info-soft) !important;
    color: var(--exotic-info-red-dark) !important;
}

.exotic-social-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.exotic-social-links a {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
    padding: 14px 16px;
    border: 1px solid var(--exotic-info-line);
    background: #fff;
    color: var(--exotic-info-ink) !important;
    text-decoration: none !important;
    transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.exotic-social-links a:hover,
.exotic-social-links a:focus-visible {
    border-color: var(--exotic-info-red);
    transform: translateY(-1px);
    box-shadow: 0 7px 18px rgba(0,0,0,.06);
}

.exotic-social-links strong {
    color: var(--exotic-info-red);
    font-size: 12px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.exotic-social-links span {
    overflow: hidden;
    color: #4b5056;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.exotic-social-links--compact {
    grid-template-columns: 1fr;
    min-width: 220px;
}

.exotic-social-links--compact a {
    padding: 9px 12px;
}

.exotic-social-links--legal {
    max-width: 760px;
    margin-bottom: 28px;
}

.exotic-social-links--faq {
    margin-top: 6px;
}

@media (max-width: 900px) {
    .exotic-contact-actions { justify-content: flex-start; }
    .exotic-social-links { grid-template-columns: 1fr; width: 100%; }
    .exotic-social-links--compact { min-width: 0; }
}

/* ==========================================================
   v1.9.2 — Mobile readability / footer contrast pass
   The EXOTIC footer uses a photographic background. On narrow
   screens the image crop can land on light apparel, so white
   footer links need a reliable contrast layer independent of the
   image crop. Desktop appearance is intentionally unchanged.
   ========================================================== */
@media (max-width: 782px) {
    body.exotic-product-experience-active footer,
    body.exotic-product-experience-active .site-footer {
        background-color: #111214 !important;
        background-blend-mode: multiply !important;
        background-position: center center !important;
        background-size: cover !important;
        box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, .70) !important;
        color: #ffffff !important;
    }

    /* Make every footer label readable regardless of the photo crop. */
    body.exotic-product-experience-active footer h1,
    body.exotic-product-experience-active footer h2,
    body.exotic-product-experience-active footer h3,
    body.exotic-product-experience-active footer h4,
    body.exotic-product-experience-active footer h5,
    body.exotic-product-experience-active footer h6,
    body.exotic-product-experience-active .site-footer h1,
    body.exotic-product-experience-active .site-footer h2,
    body.exotic-product-experience-active .site-footer h3,
    body.exotic-product-experience-active .site-footer h4,
    body.exotic-product-experience-active .site-footer h5,
    body.exotic-product-experience-active .site-footer h6 {
        color: #ffffff !important;
        text-shadow: 0 2px 7px rgba(0, 0, 0, .95) !important;
        opacity: 1 !important;
    }

    body.exotic-product-experience-active footer a,
    body.exotic-product-experience-active footer p,
    body.exotic-product-experience-active footer li,
    body.exotic-product-experience-active footer span,
    body.exotic-product-experience-active footer strong,
    body.exotic-product-experience-active .site-footer a,
    body.exotic-product-experience-active .site-footer p,
    body.exotic-product-experience-active .site-footer li,
    body.exotic-product-experience-active .site-footer span,
    body.exotic-product-experience-active .site-footer strong {
        color: #ffffff !important;
        opacity: 1 !important;
        text-shadow: 0 2px 6px rgba(0, 0, 0, .95) !important;
    }

    body.exotic-product-experience-active footer a,
    body.exotic-product-experience-active .site-footer a {
        text-decoration-color: rgba(255, 255, 255, .65) !important;
        text-underline-offset: 3px;
    }

    body.exotic-product-experience-active footer a:hover,
    body.exotic-product-experience-active footer a:focus-visible,
    body.exotic-product-experience-active .site-footer a:hover,
    body.exotic-product-experience-active .site-footer a:focus-visible {
        color: #ffffff !important;
        text-decoration: underline !important;
        text-decoration-thickness: 2px !important;
    }

    body.exotic-product-experience-active footer li::marker,
    body.exotic-product-experience-active .site-footer li::marker {
        color: #ffffff !important;
    }

    /* Improve tap targets in the SHOP / HELP / INFO / FOLLOW EXOTIC lists. */
    body.exotic-product-experience-active footer li > a,
    body.exotic-product-experience-active .site-footer li > a {
        display: inline-flex;
        align-items: center;
        min-height: 38px;
        padding-top: 4px;
        padding-bottom: 4px;
    }

    /* The information pages themselves should always read as dark text on
       a clean light surface on phones, even if the theme has inherited
       white typography from an image-backed template. */
    body.exotic-info-page main,
    body.exotic-service-page main,
    body.exotic-info-page .exotic-managed-page,
    body.exotic-service-page .exotic-service-main,
    body.exotic-service-page .exotic-service-content {
        background: #ffffff !important;
        color: #17191c !important;
    }

    body.exotic-info-page .exotic-managed-page p,
    body.exotic-info-page .exotic-managed-page li,
    body.exotic-info-page .exotic-managed-page label,
    body.exotic-service-page .exotic-service-content p,
    body.exotic-service-page .exotic-service-content li,
    body.exotic-service-page .exotic-service-content label,
    body.exotic-service-page .woocommerce-MyAccount-content,
    body.exotic-service-page .woocommerce-MyAccount-content p,
    body.exotic-service-page .woocommerce-MyAccount-content li {
        color: #30343a !important;
        text-shadow: none !important;
    }

    body.exotic-info-page .exotic-managed-page h1,
    body.exotic-info-page .exotic-managed-page h2,
    body.exotic-info-page .exotic-managed-page h3,
    body.exotic-info-page .exotic-managed-page h4,
    body.exotic-service-page .exotic-service-content h1,
    body.exotic-service-page .exotic-service-content h2,
    body.exotic-service-page .exotic-service-content h3,
    body.exotic-service-page .exotic-service-content h4 {
        color: #17191c !important;
        text-shadow: none !important;
    }

    /* Keep EXOTIC buttons white-on-red after the mobile text override. */
    body.exotic-info-page .exotic-info-button,
    body.exotic-service-page .exotic-info-button,
    body.exotic-service-page .woocommerce a.button,
    body.exotic-service-page .woocommerce button.button,
    body.exotic-service-page .woocommerce input.button {
        color: #ffffff !important;
        text-shadow: none !important;
    }
}


/* ==========================================================
   v1.9.3 — Contextual Best Sellers + homepage featured four
   ========================================================== */

/* BEST SELLERS images are intentionally about 25% smaller while the cards
   retain their existing width, pricing and product information. */
.exotic-shop-best-sellers ul.products li.product a img,
.exotic-shop-best-sellers .wc-block-grid__product-image img,
.exotic-context-best-seller-grid li.product a img,
.exotic-context-best-seller-grid .wc-block-grid__product-image img,
.exotic-context-best-seller-grid .wc-block-components-product-image img {
    display: block !important;
    width: 75% !important;
    max-width: 75% !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    object-fit: contain !important;
}

.exotic-context-best-seller-title {
    text-align: center !important;
}

/* Homepage Featured Products: same clean four-card vocabulary as the EXOTIC
   catalog, but intentionally not tagged as a Best Sellers row. */
.exotic-home-featured {
    clear: both;
    width: min(1180px, calc(100% - 32px));
    margin: clamp(2.5rem, 5vw, 5rem) auto;
    padding: 0;
}

.exotic-home-featured__heading {
    max-width: 760px;
    margin: 0 auto 1.65rem;
    text-align: center;
}

.exotic-home-featured__eyebrow {
    display: block;
    margin-bottom: .45rem;
    color: #c41230;
    font-size: .78rem;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.exotic-home-featured__heading h2 {
    margin: 0 0 .55rem !important;
    color: #17191c !important;
    font-size: clamp(1.75rem, 3vw, 2.55rem) !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

.exotic-home-featured__heading p {
    margin: 0 auto !important;
    color: #565b63 !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
}

.exotic-home-featured ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1.15rem !important;
    margin: 0 !important;
    padding: 0 !important;
}

.exotic-home-featured ul.products::before,
.exotic-home-featured ul.products::after {
    display: none !important;
}

.exotic-home-featured ul.products > li.product {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
}

@media (max-width: 900px) {
    .exotic-home-featured ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    .exotic-home-featured {
        width: min(100% - 22px, 1180px);
        margin-top: 2.25rem;
        margin-bottom: 2.75rem;
    }

    .exotic-home-featured ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .75rem !important;
    }

    .exotic-home-featured__heading p {
        font-size: .94rem !important;
    }
}


/* ==========================================================
   v2.0.0 — model-led color-aware catalog card photography.
   Primary = human model when available for the selected/default color.
   Hover = second real same-color photo. No swatch is ever a card hero.
   ========================================================== */
.exotic-catalog-image-stack {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
}

.exotic-catalog-image-stack > img.exotic-product-image-normalized {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    transition: opacity .22s ease !important;
}

.exotic-catalog-image-stack .exotic-catalog-image-primary {
    position: relative;
    z-index: 1;
    opacity: 1;
}

.exotic-catalog-image-stack .exotic-catalog-image-hover {
    position: absolute;
    inset: 0;
    z-index: 2;
    opacity: 0;
    pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
    .woocommerce ul.products li.product:hover .exotic-catalog-image-stack .exotic-catalog-image-primary,
    .woocommerce-page ul.products li.product:hover .exotic-catalog-image-stack .exotic-catalog-image-primary,
    .wc-block-product:hover .exotic-catalog-image-stack .exotic-catalog-image-primary {
        opacity: 0;
    }

    .woocommerce ul.products li.product:hover .exotic-catalog-image-stack .exotic-catalog-image-hover,
    .woocommerce-page ul.products li.product:hover .exotic-catalog-image-stack .exotic-catalog-image-hover,
    .wc-block-product:hover .exotic-catalog-image-stack .exotic-catalog-image-hover {
        opacity: 1;
    }
}

@media (hover: none) {
    .exotic-catalog-image-stack .exotic-catalog-image-hover {
        display: none !important;
    }
}
.exotic-px-loop-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin: 7px 0 5px;
}
.exotic-px-loop-swatch,
.exotic-px-loop-swatch > span,
.exotic-px-loop-swatch img {
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 50%;
}
.exotic-px-loop-swatch {
    overflow: hidden;
    border: 1px solid #aaa;
    background: #fff;
}
.exotic-px-loop-swatch img { object-fit: cover; }
/* Keep the removed overlay absent at every viewport size. */
body.home .exotic-home-hero-copy,
body.front-page .exotic-home-hero-copy { display: none !important; }

/* ==========================================================
   EXOTIC_SIZE_GUIDE_CSS_V208
   ========================================================== */

.exotic-size-guide-page {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto 72px;
    color: #141414;
}

.exotic-size-guide-hero {
    position: relative;
    overflow: hidden;
    margin: 28px 0 48px;
    padding: clamp(34px, 6vw, 72px);
    border-radius: 22px;
    background:
        linear-gradient(135deg, #080808 0%, #171717 100%);
    color: #fff;
}

.exotic-size-guide-hero::after {
    content: "";
    position: absolute;
    right: -80px;
    bottom: -110px;
    width: 310px;
    height: 310px;
    border-radius: 50%;
    background: rgba(205, 0, 0, .22);
}

.exotic-size-guide-kicker,
.exotic-size-guide-heading > span {
    display: block;
    margin-bottom: 10px;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #d71920;
}

.exotic-size-guide-hero h1 {
    position: relative;
    z-index: 1;
    max-width: 820px;
    margin: 0 0 16px;
    color: #fff;
    font-size: clamp(2rem, 5vw, 4.25rem);
    line-height: 1.02;
}

.exotic-size-guide-hero p {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.82);
    font-size: 1.05rem;
    line-height: 1.75;
}

.exotic-size-guide-actions {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.exotic-size-guide-button,
.exotic-size-guide-help-card a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 19px;
    border: 2px solid #d71920;
    border-radius: 7px;
    background: #d71920;
    color: #fff !important;
    font-weight: 800;
    text-decoration: none !important;
}

.exotic-size-guide-button--secondary {
    border-color: rgba(255,255,255,.45);
    background: transparent;
}

.exotic-size-guide-section {
    margin: 0 0 52px;
}

.exotic-size-guide-heading {
    max-width: 780px;
    margin-bottom: 24px;
}

.exotic-size-guide-heading h2,
.exotic-size-guide-section--help h2 {
    margin: 0 0 10px;
    font-size: clamp(1.6rem, 3vw, 2.5rem);
    line-height: 1.15;
}

.exotic-size-guide-heading p,
.exotic-size-guide-section--help p {
    margin: 0;
    line-height: 1.7;
    color: #555;
}

.exotic-size-guide-grid,
.exotic-size-guide-brand-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.exotic-size-guide-card,
.exotic-size-guide-brand-card,
.exotic-size-guide-help-card {
    padding: 24px;
    border: 1px solid #dedede;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 9px 28px rgba(0,0,0,.045);
}

.exotic-size-guide-number,
.exotic-size-guide-brand {
    display: inline-block;
    margin-bottom: 14px;
    color: #d71920;
    font-size: .77rem;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.exotic-size-guide-card h3,
.exotic-size-guide-brand-card h3 {
    margin: 0 0 8px;
    font-size: 1.2rem;
}

.exotic-size-guide-card p,
.exotic-size-guide-brand-card p,
.exotic-size-guide-help-card p {
    margin: 0;
    line-height: 1.65;
    color: #555;
}

.exotic-size-guide-note {
    margin-top: 18px;
    padding: 18px 20px;
    border-left: 4px solid #d71920;
    border-radius: 0 9px 9px 0;
    background: #f6f6f6;
    line-height: 1.65;
}

.exotic-size-guide-link-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-top: 18px;
}

.exotic-size-guide-link-row a {
    font-weight: 800;
}

.exotic-size-guide-brand-card small {
    display: block;
    margin-top: 15px;
    color: #666;
    line-height: 1.55;
}

.exotic-size-guide-section--help {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: 26px;
    align-items: center;
    padding: clamp(25px, 5vw, 48px);
    border-radius: 18px;
    background: #f5f5f5;
}

.exotic-size-guide-help-card {
    border-top: 4px solid #d71920;
}

.exotic-size-guide-help-card > strong {
    display: block;
    margin-bottom: 8px;
    font-size: 1.08rem;
}

.exotic-size-guide-help-card a {
    margin-top: 17px;
}

@media (max-width: 820px) {

    .exotic-size-guide-grid,
    .exotic-size-guide-brand-grid,
    .exotic-size-guide-section--help {
        grid-template-columns: 1fr;
    }

    .exotic-size-guide-page {
        width: min(100% - 22px, 1180px);
    }

    .exotic-size-guide-hero {
        margin-top: 16px;
        border-radius: 15px;
    }
}

/* Launch layout: product details first; filters only in the mobile shop drawer. */
body.single-product aside.exotic-single-browse-sidebar { display: none !important; }
@media (min-width: 1200px) {
    body.single-product div.product { grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr) !important; }
    body.single-product div.product > .woocommerce-product-gallery { grid-column: 1 !important; }
    body.single-product div.product > .summary { grid-column: 2 !important; }
}
@media (max-width: 768px) {
    body.woocommerce-shop aside.exotic-shop-browse-sidebar,
    body.post-type-archive-product aside.exotic-shop-browse-sidebar,
    body.tax-product_cat aside.exotic-shop-browse-sidebar { display: none !important; }
}




/* ==========================================================
   v2.0.16 — MOBILE 3001CVC GALLERY OWNERSHIP
   + REAL IMAGE SWATCHES + SINGLE-IMAGE CATALOG CARDS
   ========================================================== */

.exotic-color-dot,
.exotic-selected-dot {
    position: relative !important;
    overflow: hidden !important;
}

.exotic-color-dot-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: inherit !important;
    object-fit: cover !important;
    object-position: center center !important;
    background: transparent !important;
    pointer-events: none !important;
}

/* v2.0.16 PHP no longer emits this image. Keep the rule only as a
   defensive cleanup for cached markup already sitting in a browser DOM. */
.exotic-catalog-image-hover {
    display: none !important;
}

.exotic-mobile-3001-gallery {
    display: none;
}

@media (max-width: 768px) {
    /* Product 32255 only: remove every native/theme Woo gallery from
       the mobile visual tree. The EXOTIC mobile gallery is outside it. */
    body.postid-32255 .woocommerce-product-gallery,
    body.single-product .post-32255 .woocommerce-product-gallery {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        width: 0 !important;
        height: 0 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body.postid-32255 .exotic-mobile-3001-gallery,
    body.single-product .post-32255 > .exotic-mobile-3001-gallery,
    body.exotic-3001-mobile-gallery-owned .exotic-mobile-3001-gallery {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        margin: 0 0 10px !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    body.postid-32255 .exotic-mobile-3001-gallery .exotic-gallery-stage {
        display: grid !important;
        place-items: center !important;
        position: relative !important;
        width: 100% !important;
        min-height: 330px !important;
        background: #fff !important;
        overflow: hidden !important;
    }

    body.postid-32255 .exotic-mobile-3001-gallery .exotic-gallery-main-image {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 390px !important;
        margin: 0 auto !important;
        object-fit: contain !important;
        object-position: center center !important;
    }

    body.postid-32255 .exotic-mobile-3001-gallery .exotic-gallery-thumbs {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 8px 2px 4px !important;
        -webkit-overflow-scrolling: touch;
    }

    body.postid-32255 .exotic-mobile-3001-gallery .exotic-gallery-thumb {
        display: block !important;
        flex: 0 0 76px !important;
        width: 76px !important;
        height: 94px !important;
    }
}


/* ==========================================================
   v2.0.17 — EQUAL SHOP INFO BOXES + RESTORED CARD SWATCHES
   + SERVER-RENDERED 3001CVC MOBILE GALLERY
   ========================================================== */

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
body.exotic-product-experience-active ul.products li.product {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product > a.woocommerce-LoopProduct-link {
    display: block !important;
    width: 100% !important;
}

.exotic-loop-card-meta {
    display: grid !important;
    grid-template-rows: minmax(2.1em, auto) 28px 1.3em 1.3em !important;
    align-content: start !important;
    gap: .38rem !important;
    min-height: 8rem !important;
    box-sizing: border-box !important;
}

.exotic-loop-card-meta .exotic-loop-options {
    min-height: 2.1em !important;
    max-height: 2.65em !important;
    overflow: hidden !important;
}

.exotic-loop-material {
    min-height: 1.3em !important;
}

.exotic-loop-material.is-empty {
    visibility: hidden !important;
}

.exotic-px-loop-swatches {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 5px !important;
    min-height: 28px !important;
    height: 28px !important;
    margin: 0 !important;
    overflow: hidden !important;
}

.exotic-px-loop-swatches.is-empty {
    visibility: hidden !important;
}

.exotic-px-loop-swatch {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 22px !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(0,0,0,.22) !important;
    border-radius: 50% !important;
    background: #fff !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

.exotic-px-loop-swatch img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    pointer-events: none !important;
}

.exotic-px-loop-swatch:hover,
.exotic-px-loop-swatch:focus-visible {
    border-color: #111 !important;
    outline: none !important;
}

.exotic-px-loop-swatch-more {
    display: inline-flex !important;
    align-items: center !important;
    height: 22px !important;
    padding-left: 2px !important;
    font-size: .7rem !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    opacity: .72 !important;
}

/* Guaranteed server-side class for product 32255. */
@media (max-width: 768px) {
    body.exotic-3001cvc-server-gallery .woocommerce-product-gallery {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        width: 0 !important;
        height: 0 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

    body.exotic-3001cvc-server-gallery .exotic-mobile-3001-gallery--server {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 0 10px !important;
        padding: 0 !important;
        overflow: visible !important;
    }
}


/* =========================================================
   v2.0.18 — single-authority gallery + featured-card repair
   ========================================================= */
/* The lightweight Store Merchandising row duplicates Product Experience's
   richer Woo cards. Keep the Product Experience row so Featured/Best Seller
   cards use the same titles, pricing, info layout, and working image swatches. */
.exotic-merch-featured[data-exotic-merchandising="1"] {
    display: none !important;
}
.exotic-shop-best-sellers[data-exotic-px-featured="1"] {
    display: block !important;
}
/* Defensive cleanup if a cached legacy controller DOM survives long enough
   to paint before the v2.0.18 head guard removes it. */
.single-product .exotic-lite-product-gallery,
.single-product .exotic-lite-color-picker {
    display: none !important;
}


/* v2.0.20 — authoritative Shop featured row */
.woocommerce-shop .exotic-shop-best-sellers.exotic-merch-featured,
.post-type-archive-product .exotic-shop-best-sellers.exotic-merch-featured {
    display: none !important;
}
.woocommerce-shop .exotic-px-featured-2020,
.post-type-archive-product .exotic-px-featured-2020 {
    display: block !important;
}

/* v2.0.22 - prevent legacy card swatches from flashing before normalization. */
body:not(.single-product) .exotic-loop-color-swatches {
    display: none !important;
}
