:root{
    --exotic-matrix-red:#c8102e;
    --exotic-matrix-black:#111111;
    --exotic-matrix-line:#dfe3e8;
    --exotic-matrix-soft:#f3f5f7;
    --exotic-matrix-muted:#68707a;
}

.exotic-ordering{
    clear:both !important;
    display:block !important;
    float:none !important;
    position:relative;
    width:min(1280px, calc(100% - 40px)) !important;
    max-width:1280px;
    margin:40px auto 48px !important;
    padding:0 20px;
    box-sizing:border-box;
    grid-column:auto !important;
    flex:none !important;
    min-width:0;
}
.exotic-ordering *{box-sizing:border-box}
.exotic-ordering__header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:24px;
    border-top:3px solid var(--exotic-matrix-black);
    padding-top:18px;
    margin-bottom:18px;
}
.exotic-ordering__eyebrow{
    margin:0 0 4px;
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--exotic-matrix-red);
}
.exotic-ordering__header h2{
    margin:0;
    font-size:clamp(1.45rem,2.2vw,2rem);
    line-height:1.15;
}
.exotic-ordering__status{
    margin:0;
    color:var(--exotic-matrix-muted);
    font-size:.9rem;
    text-align:right;
}
.exotic-ordering__body{
    display:grid;
    grid-template-columns:minmax(240px,32%) minmax(0,68%);
    border:1px solid var(--exotic-matrix-line);
    background:#fff;
}
.exotic-ordering__colors{
    padding:22px;
    border-right:1px solid var(--exotic-matrix-line);
    background:#fff;
}
.exotic-ordering__selected-color{
    margin:10px 0 18px;
    text-align:center;
    color:#3f454b;
    font-size:.92rem;
}
.exotic-ordering__filter-label{
    display:block;
    font-weight:700;
    font-size:.86rem;
    margin-bottom:6px;
}
.exotic-ordering__filter{
    width:100%;
    min-height:42px;
    border:1px solid #ccd2d8;
    padding:8px 12px;
    margin-bottom:14px;
    border-radius:3px;
}
.exotic-ordering__swatches{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 10px;
    max-height:390px;
    overflow:auto;
    padding-right:4px;
}
.exotic-ordering__swatch{
    appearance:none;
    border:1px solid transparent;
    background:#fff;
    display:flex;
    align-items:center;
    gap:8px;
    text-align:left;
    padding:6px;
    min-width:0;
    border-radius:4px;
    cursor:pointer;
    color:#30353a;
    font-size:.82rem;
}
.exotic-ordering__swatch:hover{border-color:#c7cdd3}
.exotic-ordering__swatch[aria-pressed="true"]{
    border-color:var(--exotic-matrix-black);
    box-shadow:0 0 0 1px var(--exotic-matrix-black) inset;
}
.exotic-ordering__swatch-dot{
    flex:0 0 30px;
    width:30px;
    height:30px;
    border-radius:50%;
    border:1px solid #cfd4d9;
    background:#eceff1 center/cover no-repeat;
}
.exotic-ordering__swatch-name{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.exotic-ordering__matrix-panel{
    padding:22px;
    min-width:0;
}
.exotic-ordering__product-heading{
    margin-bottom:14px;
}
.exotic-ordering__style{
    display:inline-block;
    font-weight:800;
    font-size:.9rem;
    color:#333;
    margin-bottom:4px;
}
.exotic-ordering__product-heading h3{
    margin:0;
    font-size:clamp(1.35rem,2.3vw,2rem);
    line-height:1.12;
}
.exotic-ordering__note{
    margin:0 0 16px;
    padding:10px 12px;
    border-left:3px solid var(--exotic-matrix-red);
    background:#fafafa;
    color:#4d5359;
    font-size:.86rem;
}
.exotic-ordering__table-scroll{
    width:100%;
    overflow:auto;
    border:1px solid var(--exotic-matrix-line);
}
.exotic-ordering__table{
    width:100%;
    border-collapse:collapse;
    min-width:720px;
    margin:0;
    table-layout:fixed;
}
.exotic-ordering__table th,
.exotic-ordering__table td{
    border:0;
    border-bottom:1px solid #e7eaee;
    padding:9px 8px;
    text-align:center;
    vertical-align:middle;
    font-size:.82rem;
}
.exotic-ordering__table th:first-child,
.exotic-ordering__table td:first-child{
    position:sticky;
    left:0;
    z-index:2;
    width:142px;
    text-align:left;
    font-weight:700;
    background:#fff;
}
.exotic-ordering__table tr.exotic-row--sizes th,
.exotic-ordering__table tr.exotic-row--sizes td{
    background:#e9edf1;
    font-weight:800;
}
.exotic-ordering__table tr.exotic-row--sizes th:first-child,
.exotic-ordering__table tr.exotic-row--sizes td:first-child{
    background:#e9edf1;
}
.exotic-ordering__table tr.exotic-row--inventory th,
.exotic-ordering__table tr.exotic-row--inventory td{
    background:#e9edf1;
    font-weight:800;
}
.exotic-ordering__table tr.exotic-row--inventory th:first-child,
.exotic-ordering__table tr.exotic-row--inventory td:first-child{
    background:#e9edf1;
}
.exotic-ordering__table tr.exotic-row--order th,
.exotic-ordering__table tr.exotic-row--order td{
    background:#fff8f8;
}
.exotic-ordering__qty{
    width:58px;
    min-height:38px;
    text-align:center;
    border:1px solid #cfd5db;
    border-radius:3px;
    padding:5px;
}
.exotic-ordering__qty:focus{
    outline:2px solid rgba(200,16,46,.22);
    border-color:var(--exotic-matrix-red);
}
.exotic-ordering__qty:disabled{
    background:#eceff1;
    cursor:not-allowed;
}
.exotic-ordering__stock-zero{color:#9ba1a7}
.exotic-ordering__warehouse-label{
    white-space:nowrap;
}
.exotic-ordering__warehouse-code{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:30px;
    height:24px;
    padding:0 6px;
    border:1px solid #cfd4d8;
    border-radius:3px;
    font-size:.73rem;
    font-weight:800;
    margin-right:6px;
    background:#fafafa;
}
.exotic-ordering__summary{
    display:flex;
    justify-content:space-between;
    gap:18px;
    flex-wrap:wrap;
    padding:13px 0 10px;
    font-size:.9rem;
}
.exotic-ordering__message{
    min-height:24px;
    margin:2px 0 8px;
    color:#4c535a;
    font-size:.9rem;
}
.exotic-ordering__message.is-error{color:#a40016}
.exotic-ordering__message.is-success{color:#176b35}
.exotic-ordering__add{
    width:100%;
    min-height:48px;
    border:0;
    border-radius:3px;
    background:var(--exotic-matrix-red);
    color:#fff;
    font-size:1rem;
    font-weight:800;
    cursor:pointer;
    transition:opacity .2s ease,transform .1s ease;
}
.exotic-ordering__add:hover:not(:disabled){opacity:.92}
.exotic-ordering__add:active:not(:disabled){transform:translateY(1px)}
.exotic-ordering__add:disabled{opacity:.45;cursor:not-allowed}

body.exotic-matrix-ready form.variations_form.cart{
    display:none !important;
}
body.exotic-matrix-ready #exotic-inventory-pricing,
body.exotic-matrix-ready .exotic-inventory-pricing{
    display:none !important;
}

@media(max-width:900px){
    .exotic-ordering__body{grid-template-columns:1fr}
    .exotic-ordering__colors{border-right:0;border-bottom:1px solid var(--exotic-matrix-line)}
    .exotic-ordering__swatches{grid-template-columns:repeat(3,minmax(0,1fr));max-height:300px}
}
@media(max-width:620px){
    .exotic-ordering{padding:0 12px;margin-top:24px}
    .exotic-ordering__header{align-items:flex-start;flex-direction:column;gap:8px}
    .exotic-ordering__status{text-align:left}
    .exotic-ordering__colors,.exotic-ordering__matrix-panel{padding:15px}
    .exotic-ordering__swatches{grid-template-columns:repeat(2,minmax(0,1fr))}
    .exotic-ordering__summary{display:block}
    .exotic-ordering__summary span{display:block;margin:4px 0}
}

/* v1.1.0 — warehouse-by-size quantity selection */
.exotic-ordering__warehouse-order{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    min-height:48px;
}
.exotic-ordering__warehouse-qty{
    width:62px;
    min-height:34px;
    padding:4px 5px;
    border:1px solid #bfc6cd;
    border-radius:3px;
    text-align:center;
    background:#fff;
    color:#111;
    font-weight:700;
}
.exotic-ordering__warehouse-qty:hover{
    border-color:#8f989f;
}
.exotic-ordering__warehouse-qty:focus{
    outline:2px solid rgba(200,16,46,.20);
    border-color:var(--exotic-matrix-red);
}
.exotic-ordering__warehouse-available{
    display:block;
    font-size:.68rem;
    line-height:1;
    color:#747b82;
    white-space:nowrap;
}
.exotic-ordering__warehouse-zero{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
}
.exotic-ordering__table tr.exotic-row--warehouse-order td{
    padding-top:5px;
    padding-bottom:5px;
}
.exotic-ordering__swatch-badge{
    margin-left:auto;
    min-width:22px;
    height:22px;
    padding:0 6px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:var(--exotic-matrix-red);
    color:#fff;
    font-size:.68rem;
    font-weight:800;
}


/* v1.1.2 — keep the matrix out of Kadence/Woo product gallery-summary grids. */
body.single-product #exotic-wholesale-ordering{
    clear:both !important;
    width:100% !important;
    max-width:1280px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}
body.single-product #exotic-wholesale-ordering > .exotic-ordering__header,
body.single-product #exotic-wholesale-ordering > .exotic-ordering__body{
    width:100% !important;
    max-width:none !important;
}
body.single-product #exotic-wholesale-ordering .exotic-ordering__body{
    min-width:0 !important;
}
body.single-product #exotic-wholesale-ordering .exotic-ordering__matrix-panel,
body.single-product #exotic-wholesale-ordering .exotic-ordering__table-scroll{
    min-width:0 !important;
    max-width:100% !important;
}
@media (min-width:901px){
    body.single-product #exotic-wholesale-ordering .exotic-ordering__body{
        grid-template-columns:minmax(260px,320px) minmax(0,1fr) !important;
    }
}


/* v1.1.4 — reliable full-width portal placement. */
#exotic-ordering-portal.exotic-ordering-portal{
    clear:both !important;
    display:block !important;
    float:none !important;
    position:relative !important;
    box-sizing:border-box !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    grid-column:1 / -1 !important;
    grid-row:auto !important;
    flex:0 0 100% !important;
    align-self:stretch !important;
}

/* If the portal is forced to body level, give it its own centered content band. */
body > #exotic-ordering-portal.exotic-ordering-portal{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 24px !important;
}

#exotic-ordering-portal > #exotic-wholesale-ordering.exotic-ordering--portal-mounted{
    clear:both !important;
    display:block !important;
    float:none !important;
    position:relative !important;
    box-sizing:border-box !important;
    width:min(1280px, 100%) !important;
    max-width:1280px !important;
    min-width:0 !important;
    margin:42px auto 48px !important;
    padding:0 !important;
    grid-column:1 / -1 !important;
    flex:0 0 100% !important;
}

#exotic-ordering-portal > #exotic-wholesale-ordering .exotic-ordering__header,
#exotic-ordering-portal > #exotic-wholesale-ordering .exotic-ordering__body{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
}

@media (min-width:901px){
    #exotic-ordering-portal > #exotic-wholesale-ordering .exotic-ordering__body{
        display:grid !important;
        grid-template-columns:minmax(260px,320px) minmax(0,1fr) !important;
    }
    #exotic-ordering-portal > #exotic-wholesale-ordering .exotic-ordering__colors{
        min-width:0 !important;
        width:auto !important;
    }
    #exotic-ordering-portal > #exotic-wholesale-ordering .exotic-ordering__matrix-panel{
        min-width:0 !important;
        width:auto !important;
    }
}

@media (max-width:900px){
    body > #exotic-ordering-portal.exotic-ordering-portal{
        padding:0 12px !important;
    }
    #exotic-ordering-portal > #exotic-wholesale-ordering .exotic-ordering__body{
        grid-template-columns:1fr !important;
    }
}

/* v1.1.5 — live DOM verified: #exotic-wholesale-ordering is a direct child
 * of #product-<id>, whose desktop layout is a three-column CSS grid. The matrix
 * must span the entire product grid rather than auto-place into column one. */
body.single-product .product.type-product > #exotic-wholesale-ordering.exotic-ordering{
    grid-column:1 / -1 !important;
    grid-row:auto !important;
    justify-self:center !important;
    align-self:start !important;
    width:min(1280px, calc(100% - 48px)) !important;
    max-width:1280px !important;
    min-width:0 !important;
    margin:42px auto 48px !important;
    padding:0 !important;
}
@media (max-width:900px){
    body.single-product .product.type-product > #exotic-wholesale-ordering.exotic-ordering{
        width:calc(100% - 24px) !important;
        margin:28px auto 36px !important;
    }
}
