:root{
    --amc-drawer-navy:#172235;
    --amc-drawer-navy-dark:#0f1827;
    --amc-drawer-cream:#f8f6f0;
    --amc-drawer-teal:#236457;
    --amc-drawer-teal-soft:#e9f2ef;
    --amc-drawer-mustard:#dba567;
    --amc-drawer-border:rgba(23,34,53,.13);
    --amc-drawer-text:#172235;
    --amc-drawer-muted:#697380;
}

html.amc-bag-open,
html.amc-bag-open body{overflow:hidden!important}

.amc-bag-overlay{
    position:fixed;
    inset:0;
    z-index:99997;
    background:rgba(15,24,39,.58);
    opacity:0;
    transition:opacity .22s ease;
}
.amc-bag-overlay.is-open{opacity:1}

.amc-bag-drawer{
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    z-index:99998;
    width:min(500px,96vw);
    transform:translateX(102%);
    transition:transform .24s cubic-bezier(.22,.61,.36,1);
    pointer-events:none;
}
.amc-bag-drawer.is-open{transform:translateX(0);pointer-events:auto}
.amc-bag-drawer.is-updating{cursor:wait}

.amc-bag-drawer__inner{
    display:flex;
    flex-direction:column;
    width:100%;
    height:100%;
    background:#fff;
    box-shadow:-18px 0 48px rgba(0,0,0,.18);
}
.amc-bag-drawer__content{
    display:flex;
    flex-direction:column;
    min-height:0;
    height:100%;
    overflow:hidden;
}

.amc-bag-drawer__bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:18px 21px 14px;
    border-bottom:1px solid var(--amc-drawer-border);
}
.amc-bag-drawer__bar>div{display:flex;align-items:baseline;gap:9px}
.amc-bag-drawer__eyebrow{
    color:var(--amc-drawer-teal);
    font-size:14px;
    font-weight:950;
    letter-spacing:.035em;
}
.amc-bag-drawer__bar strong{color:var(--amc-drawer-muted);font-size:11px;font-weight:750}
.amc-bag-drawer__close{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    padding:0;
    border:2px solid var(--amc-drawer-navy);
    border-radius:5px;
    background:#fff;
    color:var(--amc-drawer-navy);
    font-size:28px;
    font-weight:300;
    line-height:1;
    cursor:pointer;
}

.amc-bag-progress{
    padding:13px 21px 12px;
    border-bottom:1px solid var(--amc-drawer-border);
    background:var(--amc-drawer-cream);
}
.amc-bag-progress__copy strong,
.amc-bag-progress__copy span{display:block}
.amc-bag-progress__copy strong{color:var(--amc-drawer-teal);font-size:12.5px}
.amc-bag-progress__copy span{margin-top:2px;color:var(--amc-drawer-muted);font-size:10.5px;line-height:1.4}
.amc-bag-progress__track{
    height:5px;
    margin-top:10px;
    overflow:hidden;
    border-radius:999px;
    background:#d9dddc;
}
.amc-bag-progress__track span{
    display:block;
    height:100%;
    border-radius:inherit;
    background:var(--amc-drawer-teal);
    transition:width .25s ease;
}
.amc-bag-progress__labels{
    display:flex;
    justify-content:space-between;
    margin-top:4px;
    color:#7b848d;
    font-size:9px;
    font-weight:700;
}

.amc-bag-drawer__items{
    flex:0 1 auto;
    min-height:104px;
    max-height:30vh;
    overflow-y:auto;
    overflow-x:hidden;
    padding:4px 21px 0;
}
.amc-bag-item{
    display:grid;
    grid-template-columns:76px minmax(0,1fr);
    gap:11px;
    padding:13px 0;
    border-bottom:1px solid var(--amc-drawer-border);
}
.amc-bag-item__image{
    width:76px;
    height:76px;
    overflow:hidden;
    border-radius:7px;
    background:#f1efe9;
}
.amc-bag-item__image img{display:block;width:100%;height:100%;object-fit:cover}
.amc-bag-item__content{min-width:0}
.amc-bag-item__head{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}
.amc-bag-item__title{min-width:0}
.amc-bag-item__name{
    display:block;
    color:var(--amc-drawer-text)!important;
    font-size:12px;
    font-weight:900;
    line-height:1.28;
    text-decoration:none!important;
}
.amc-bag-item__variation{
    display:flex;
    flex-wrap:wrap;
    gap:0 7px;
    margin-top:4px;
    color:var(--amc-drawer-muted);
    font-size:10px;
    line-height:1.35;
}
.amc-bag-item__variation span+span:before{content:"·";margin-right:7px}
.amc-bag-item__price{flex:0 0 auto;color:var(--amc-drawer-text);font-size:12px;white-space:nowrap}
.amc-bag-item__controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}
.amc-bag-qty{display:grid;grid-template-columns:28px 28px 28px;align-items:center;border:1px solid var(--amc-drawer-border);border-radius:5px;overflow:hidden}
.amc-bag-qty button,
.amc-bag-qty span{display:grid;place-items:center;height:27px;border:0;background:#fff;color:var(--amc-drawer-text);font-size:12px}
.amc-bag-qty button{cursor:pointer;font-size:16px}
.amc-bag-qty button:hover{background:#f4f2ed}
.amc-bag-remove{padding:0;border:0;background:transparent;color:#737c87;font-size:10px;font-weight:750;text-decoration:underline;text-underline-offset:2px;cursor:pointer}

.amc-bag-upsell{
    flex:0 0 auto;
    max-height:192px;
    padding:12px 21px 13px;
    overflow:hidden;
    border-top:1px solid var(--amc-drawer-border);
    border-bottom:1px solid var(--amc-drawer-border);
    background:#faf9f6;
}
.amc-bag-upsell__head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:9px}
.amc-bag-upsell__eyebrow{display:block;margin-bottom:2px;color:#956b2f;font-size:8.5px;font-weight:950;letter-spacing:.12em}
.amc-bag-upsell__head h3{margin:0!important;color:var(--amc-drawer-text)!important;font-size:14px!important;line-height:1.2!important}
.amc-bag-upsell__hint{color:var(--amc-drawer-muted);font-size:9px}
.amc-bag-upsell__rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;overflow:hidden}
.amc-bag-upsell-card{
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    min-width:0;
    height:104px;
    overflow:hidden;
    border:1px solid var(--amc-drawer-border);
    border-radius:7px;
    background:#fff;
}
.amc-bag-upsell-card__image{display:block;width:72px;height:104px;overflow:hidden;background:#f1efe9}
.amc-bag-upsell-card__image img{display:block;width:100%;height:100%;object-fit:cover}
.amc-bag-upsell-card__body{display:flex;flex-direction:column;min-width:0;padding:7px}
.amc-bag-upsell-card__name{
    display:-webkit-box;
    overflow:hidden;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    color:var(--amc-drawer-text)!important;
    font-size:9.5px;
    font-weight:850;
    line-height:1.25;
    text-decoration:none!important;
}
.amc-bag-upsell-card__price{margin-top:4px;color:var(--amc-drawer-text);font-size:9.5px;font-weight:900}
.amc-bag-upsell-card__cta{
    display:flex!important;
    align-items:center;
    justify-content:center;
    min-height:28px;
    margin-top:auto;
    padding:5px 6px;
    border-radius:5px;
    background:var(--amc-drawer-navy)!important;
    color:#fff!important;
    font-size:8.75px;
    font-weight:900;
    text-align:center;
    text-decoration:none!important;
}
.amc-bag-upsell-card__cta:hover{background:var(--amc-drawer-teal)!important}

.amc-bag-drawer__footer{flex:0 0 auto;padding:13px 21px 15px;background:#fff}
.amc-bag-drawer__saving,
.amc-bag-drawer__total{display:flex;align-items:center;justify-content:space-between;gap:16px}
.amc-bag-drawer__saving{margin-bottom:6px;color:var(--amc-drawer-teal);font-size:11px;font-weight:800}
.amc-bag-drawer__total{color:var(--amc-drawer-text)}
.amc-bag-drawer__total span{font-size:13px;font-weight:850}
.amc-bag-drawer__total strong{font-size:18px}
.amc-bag-drawer__shipping{margin:4px 0 11px;color:var(--amc-drawer-teal);font-size:10.5px;font-weight:850}
.amc-bag-drawer__eta{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin:0 0 12px;
    padding:9px 10px;
    border:1px solid rgba(35,100,87,.13);
    border-radius:7px;
    background:#f6faf8;
}
.amc-bag-drawer__eta strong{color:var(--amc-drawer-teal);font-size:10.75px;font-weight:900;line-height:1.25}
.amc-bag-drawer__eta span{max-width:48%;color:var(--amc-drawer-muted);font-size:9.5px;font-weight:700;line-height:1.3;text-align:right}
.amc-bag-drawer__checkout{
    display:flex!important;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:50px;
    padding:11px 16px;
    border-radius:6px;
    background:var(--amc-drawer-navy)!important;
    color:#fff!important;
    font-size:13px;
    font-weight:950;
    text-decoration:none!important;
}
.amc-bag-drawer__checkout:hover{background:var(--amc-drawer-teal)!important}
.amc-bag-drawer__view{display:block;margin-top:8px;color:var(--amc-drawer-text)!important;font-size:11px;font-weight:800;text-align:center;text-decoration:underline!important;text-underline-offset:3px}

.amc-bag-empty{display:flex;flex:1 1 auto;min-height:300px;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center}
.amc-bag-empty strong{color:var(--amc-drawer-text);font-size:19px}
.amc-bag-empty span{margin-top:6px;color:var(--amc-drawer-muted);font-size:12px}
.amc-bag-empty a{margin-top:18px;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:6px;background:var(--amc-drawer-navy);color:#fff!important;font-weight:900;text-decoration:none!important}

.single_add_to_cart_button.is-loading{position:relative;opacity:.78;cursor:wait!important}
.single_add_to_cart_button.is-loading:after{
    content:"";
    position:absolute;
    right:14px;
    top:50%;
    width:13px;
    height:13px;
    margin-top:-7px;
    border:2px solid rgba(23,34,53,.25);
    border-top-color:var(--amc-drawer-navy);
    border-radius:50%;
    animation:amc-spin .7s linear infinite;
}
@keyframes amc-spin{to{transform:rotate(360deg)}}

.amc-bag-toast{
    position:fixed;
    left:50%;
    bottom:24px;
    z-index:100000;
    max-width:min(520px,calc(100vw - 30px));
    transform:translateX(-50%);
    padding:12px 16px;
    border-radius:7px;
    box-shadow:0 10px 35px rgba(0,0,0,.18);
    background:#fff;
    color:var(--amc-drawer-text);
    font-size:12.5px;
    font-weight:750;
}
.amc-bag-toast--error{border-left:4px solid #9e332b}

.amc-bag-drawer .woocommerce-Price-amount,
.amc-bag-drawer .woocommerce-Price-currencySymbol{white-space:nowrap}
.amc-bag-drawer .woocommerce-Price-currencySymbol{display:inline!important}

@media(max-height:760px){
    .amc-bag-drawer__items{max-height:27vh}
    .amc-bag-upsell{max-height:168px;padding-top:9px;padding-bottom:9px}
    .amc-bag-upsell-card{height:90px}
    .amc-bag-upsell-card__image{height:90px}
}

@media(max-width:600px){
    .amc-bag-drawer{width:100vw}
    .amc-bag-drawer__bar,
    .amc-bag-progress,
    .amc-bag-drawer__items,
    .amc-bag-upsell,
    .amc-bag-drawer__footer{padding-left:15px;padding-right:15px}
    .amc-bag-upsell__rail{grid-template-columns:1fr 1fr}
    .amc-bag-upsell-card{grid-template-columns:64px minmax(0,1fr)}
    .amc-bag-upsell-card__image{width:64px}
}

@media(max-width:420px){
    .amc-bag-upsell__rail{display:flex;overflow-x:auto;padding-bottom:3px}
    .amc-bag-upsell-card{flex:0 0 200px;min-width:200px}
    .amc-bag-drawer__eta{flex-direction:column;gap:3px}
    .amc-bag-drawer__eta span{max-width:none;text-align:left}
}


/* =========================================================
   AMC CART DRAWER 1.0.2 FINAL POLISH
   ========================================================= */


/* Slightly more room, matching the GG drawer proportions. */
.amc-bag-drawer{
    width:min(520px,96vw);
}


/* ---------------------------------------------------------
   CART ITEM TITLE / PRICE BREATHING ROOM
   --------------------------------------------------------- */

.amc-bag-item{
    grid-template-columns:72px minmax(0,1fr);
    gap:14px;
}

.amc-bag-item__image{
    width:72px;
    height:76px;
}

.amc-bag-item__content{
    min-width:0;
}

.amc-bag-item__head{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    gap:14px;
}

.amc-bag-item__title{
    min-width:0;
    padding-right:2px;
}

.amc-bag-item__name{
    font-size:12.5px;
    line-height:1.34;
    overflow-wrap:anywhere;
}

.amc-bag-item__variation{
    margin-top:5px;
    line-height:1.4;
}

.amc-bag-item__price{
    min-width:58px;
    padding-left:3px;

    font-size:12.5px;
    line-height:1.34;

    text-align:right;
    white-space:nowrap;
}


/* ---------------------------------------------------------
   REAL DELIVERY ESTIMATE
   --------------------------------------------------------- */

.amc-bag-drawer__eta{
    align-items:center;
    min-height:48px;

    padding:10px 12px;

    border-color:rgba(35,100,87,.17);
    border-radius:8px;

    background:#f2f8f5;
}

.amc-bag-drawer__eta strong{
    max-width:58%;

    color:var(--amc-drawer-teal);

    font-size:11px;
    font-weight:900;
    line-height:1.35;
}

.amc-bag-drawer__eta span{
    max-width:42%;

    color:var(--amc-drawer-muted);

    font-size:9.75px;
    font-weight:750;
    line-height:1.35;

    text-align:right;
}


/* ---------------------------------------------------------
   CHECKOUT LOCK
   --------------------------------------------------------- */

.amc-bag-drawer__checkout{
    gap:9px;
}

.amc-bag-drawer__lock{
    display:block;

    width:18px;
    height:18px;

    flex:0 0 auto;

    fill:currentColor;
}


/* Mobile stays full width. */
@media(max-width:560px){

    .amc-bag-drawer{
        width:100vw;
    }

    .amc-bag-item{
        grid-template-columns:68px minmax(0,1fr);
        gap:11px;
    }

    .amc-bag-item__image{
        width:68px;
        height:72px;
    }

    .amc-bag-item__head{
        gap:9px;
    }

}

