/* Ten Tiny Cart Design 1.0.5. Visual overrides for the existing TT Smart Cart. */
/* Golos Text: only normal 400 and 500 are exposed to the page. */
@font-face {
    font-family: "Golos Text";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/golos-text-cyrillic-ext.woff2") format("woff2");
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
    font-family: "Golos Text";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/golos-text-cyrillic.woff2") format("woff2");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: "Golos Text";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/golos-text-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Golos Text";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/golos-text-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Golos Text";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/golos-text-cyrillic-ext.woff2") format("woff2");
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
    font-family: "Golos Text";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/golos-text-cyrillic.woff2") format("woff2");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: "Golos Text";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/golos-text-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Golos Text";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/golos-text-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Every visual rule is scoped to the existing overlay. Opening/closing,
   loading state, body scroll lock and all cart handlers remain with Smart Cart. */
#tt-smartcart-overlay {
    color: #202020;
    font-family: "Golos Text", Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.45;
    font-synthesis: none;
}
#tt-smartcart-overlay *,
#tt-smartcart-overlay *::before,
#tt-smartcart-overlay *::after { box-sizing: border-box; }
#tt-smartcart-overlay * {
    font-weight: 400 !important;
    font-style: normal !important;
    font-synthesis: none;
}
#tt-smartcart-overlay *:not(.fa):not([class^="fa-"]):not([class*=" fa-"]):not(.glyphicon) {
    font-family: "Golos Text", Arial, sans-serif !important;
}
#tt-smartcart-overlay .fa { font-family: FontAwesome !important; }
#tt-smartcart-overlay .glyphicon { font-family: "Glyphicons Halflings" !important; }
#tt-smartcart-overlay h3,
#tt-smartcart-overlay strong,
#tt-smartcart-overlay .tt-smartcart-name,
#tt-smartcart-overlay .tt-smartcart-line-total,
#tt-smartcart-overlay .tt-smartcart-gift-price,
#tt-smartcart-overlay .tt-smartcart-checkout { font-weight: 500 !important; }

#tt-smartcart-overlay .tt-smartcart-backdrop {
    background: rgba(0, 0, 0, .38);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
#tt-smartcart-overlay .tt-smartcart-panel {
    width: min(580px, 100%);
    max-width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    background: #fff;
    box-shadow: none;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #8b8b87 transparent;
}
#tt-smartcart-overlay .tt-smartcart-panel::-webkit-scrollbar { width: 5px; }
#tt-smartcart-overlay .tt-smartcart-panel::-webkit-scrollbar-track { background: transparent; }
#tt-smartcart-overlay .tt-smartcart-panel::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #8b8b87;
}
#tt-smartcart-overlay .tt-smartcart-scrollbar {
    position: fixed;
    z-index: 4;
    top: max(10px, env(safe-area-inset-top));
    right: max(3px, env(safe-area-inset-right));
    bottom: max(10px, env(safe-area-inset-bottom));
    width: 4px;
    border-radius: 999px;
    background: rgba(32, 32, 32, .08);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease;
}
#tt-smartcart-overlay.is-open .tt-smartcart-scrollbar.is-scrollable { opacity: 1; }
#tt-smartcart-overlay .tt-smartcart-scrollbar-thumb {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 44px;
    border-radius: inherit;
    background: rgba(32, 32, 32, .48);
    transform: translate3d(0, 0, 0);
    will-change: height, transform;
}
#tt-smartcart-overlay .tt-smartcart-content {
    padding: 28px;
    color: #202020;
    min-height: 0;
    min-width: 0;
}
#tt-smartcart-overlay .tt-smartcart-head { gap: 16px; margin-bottom: 24px; }
#tt-smartcart-overlay .tt-smartcart-head h3 {
    font-size: 26px;
    line-height: 1.25;
    color: #202020;
}
#tt-smartcart-overlay .tt-smartcart-close {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid #dedede;
    border-radius: 50%;
    background: #fff;
    color: #202020;
    font-size: 28px;
    line-height: 42px;
    box-shadow: none;
}
#tt-smartcart-overlay .tt-smartcart-close:hover { background: #f5f5f4; }

/* One filled surface for purchased items and their gifts. */
#tt-smartcart-overlay .tt-smartcart-products {
    padding: 0 20px;
    border: 0;
    border-radius: 2px;
    background: #f5f5f4;
}
#tt-smartcart-overlay .tt-smartcart-product {
    grid-template-columns: 104px auto minmax(48px, 1fr) 36px;
    grid-template-rows: auto auto;
    align-items: start;
    gap: 10px 16px;
    padding: 18px 0;
    margin: 0;
    border: 0;
    border-bottom: 1px solid #dedede;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    min-width: 0;
}
#tt-smartcart-overlay .tt-smartcart-product:last-child { border-bottom: 0; }
#tt-smartcart-overlay .tt-smartcart-product.is-gift {
    margin: 0;
    padding: 20px 0;
    background: transparent;
    border-radius: 0;
}
#tt-smartcart-overlay .tt-smartcart-product > * { min-width: 0; }
#tt-smartcart-overlay .tt-smartcart-image { grid-column: 1; grid-row: 1 / span 2; }
#tt-smartcart-overlay .tt-smartcart-product-main { grid-column: 2 / -1; grid-row: 1; align-self: start; }
#tt-smartcart-overlay .tt-smartcart-image img {
    width: 104px;
    height: 116px;
    max-width: 100%;
    border: 0;
    border-radius: 2px;
    background: #fff;
    object-fit: contain;
}
#tt-smartcart-overlay .tt-smartcart-name {
    color: #202020;
    font-size: 14px;
    line-height: 1.45;
    overflow-wrap: anywhere;
    text-decoration: none;
}
#tt-smartcart-overlay a.tt-smartcart-name:hover { text-decoration: underline; text-underline-offset: 3px; }
#tt-smartcart-overlay .tt-smartcart-model { margin-top: 6px; font-size: 12px; color: #777; }
#tt-smartcart-overlay .tt-smartcart-gift-label {
    display: inline-block;
    align-self: flex-start;
    width: auto;
    max-width: 100%;
    margin-top: 8px;
    padding: 2px 7px;
    border: 1px solid #d2d2d2;
    border-radius: 2px;
    background: transparent;
    color: #555;
    font-size: 12px;
    line-height: 1.4;
}
#tt-smartcart-overlay .tt-smartcart-product-actions {
    display: contents;
}
#tt-smartcart-overlay .tt-smartcart-qty {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    border: 1px solid #d4d4d4;
    border-radius: 22px;
    background: #fff;
}
#tt-smartcart-overlay .tt-smartcart-qty button {
    width: 34px;
    height: 40px;
    padding: 0;
    border: 0;
    background: #fff;
    color: #202020;
    font-size: 18px;
    line-height: 40px;
}
#tt-smartcart-overlay .tt-smartcart-qty input {
    width: 36px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
    color: #202020;
    font-size: 16px;
    line-height: 40px;
    pointer-events: none;
    user-select: none;
    -webkit-user-select: none;
}
#tt-smartcart-overlay .tt-smartcart-line-total,
#tt-smartcart-overlay .tt-smartcart-gift-price {
    min-width: 0;
    max-width: 100%;
    color: #202020;
    font-size: 14px;
    line-height: 1.45;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: right;
}
#tt-smartcart-overlay .tt-smartcart-line-total { grid-column: 3; grid-row: 2; align-self: center; }
#tt-smartcart-overlay .tt-smartcart-gift-price { grid-column: 2 / -1; grid-row: 2; align-self: center; }
#tt-smartcart-overlay .tt-smartcart-remove {
    grid-column: 4;
    grid-row: 2;
    align-self: center;
    width: 36px;
    height: 40px;
    padding: 6px;
    border: 0;
    background: transparent;
    color: #777;
    box-shadow: none;
}
#tt-smartcart-overlay .tt-smartcart-remove:hover { color: #202020; }

/* Existing threshold text, progress width and ready/current states are retained. */
#tt-smartcart-overlay .tt-smartcart-progress-wrap { gap: 0; margin-top: 4px; }
#tt-smartcart-overlay .tt-smartcart-shipping,
#tt-smartcart-overlay .tt-smartcart-gifts,
#tt-smartcart-overlay .tt-smartcart-shipping.is-ready {
    padding: 20px 0;
    border: 0;
    border-bottom: 1px solid #e2e2e2;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}
#tt-smartcart-overlay .tt-smartcart-progress-title,
#tt-smartcart-overlay .tt-smartcart-gifts-title {
    gap: 10px;
    color: #333;
    font-size: 14px;
    line-height: 1.5;
}
#tt-smartcart-overlay .tt-smartcart-progress-title .fa,
#tt-smartcart-overlay .tt-smartcart-gifts-title .fa,
#tt-smartcart-overlay .tt-smartcart-shipping.is-ready .fa { color: #555; font-size: 18px; }
#tt-smartcart-overlay .tt-smartcart-bar {
    height: 4px;
    margin-top: 14px;
    border-radius: 0;
    background: #e5e5e5;
}
#tt-smartcart-overlay .tt-smartcart-bar span,
#tt-smartcart-overlay .tt-smartcart-shipping.is-ready .tt-smartcart-bar span {
    border-radius: 0;
    background: #202020;
}
#tt-smartcart-overlay .tt-smartcart-gift-list { gap: 0; margin-top: 12px; }
#tt-smartcart-overlay .tt-smartcart-gift-tier,
#tt-smartcart-overlay .tt-smartcart-gift-tier.is-current,
#tt-smartcart-overlay .tt-smartcart-gift-tier.is-ready {
    grid-template-columns: 44px minmax(0, 1fr) 20px;
    gap: 12px;
    padding: 12px 0;
    border: 0;
    border-bottom: 1px solid #e7e7e7;
    border-radius: 0;
    background: #fff;
    opacity: 1;
    box-shadow: none;
}
#tt-smartcart-overlay .tt-smartcart-gift-tier:last-child { padding-bottom: 0; border-bottom: 0; }
#tt-smartcart-overlay .tt-smartcart-gift-tier img { width: 44px; height: 48px; border-radius: 2px; object-fit: contain; }
#tt-smartcart-overlay .tt-smartcart-gift-tier strong { font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
#tt-smartcart-overlay .tt-smartcart-gift-tier span { margin-top: 4px; color: #777; font-size: 12px; line-height: 1.45; }
#tt-smartcart-overlay .tt-smartcart-gift-tier > .fa { color: #202020; font-size: 18px; }
#tt-smartcart-overlay .tt-smartcart-total { gap: 16px; padding: 22px 0; font-size: 16px; }
#tt-smartcart-overlay .tt-smartcart-total strong { font-size: 21px; text-align: right; overflow-wrap: anywhere; }
#tt-smartcart-overlay .tt-smartcart-buttons { gap: 12px; margin-bottom: 8px; }
#tt-smartcart-overlay .tt-smartcart-buttons .btn {
    min-width: 0;
    min-height: 50px;
    padding: 12px 14px;
    border: 1px solid #d4d4d4;
    border-radius: 3px;
    background: #fff;
    color: #333;
    font-size: 14px;
    line-height: 1.4;
    white-space: normal;
    text-shadow: none;
    box-shadow: none;
}
#tt-smartcart-overlay .tt-smartcart-buttons .btn:hover { background: #f5f5f4; border-color: #aaa; }
#tt-smartcart-overlay .tt-smartcart-buttons .tt-smartcart-checkout {
    border-color: #202020;
    background: #202020;
    color: #fff;
}
#tt-smartcart-overlay .tt-smartcart-buttons .tt-smartcart-checkout:hover,
#tt-smartcart-overlay .tt-smartcart-buttons .tt-smartcart-checkout:focus { border-color: #000; background: #000; color: #fff; }
#tt-smartcart-overlay .tt-smartcart-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 48px 12px 54px;
    color: #555;
    text-align: center;
}
#tt-smartcart-overlay .tt-smartcart-empty > .fa {
    display: block;
    width: 118px;
    height: 106px;
    margin: 0 auto 15px;
    background: url("empty-cart-sketch.svg") center / contain no-repeat;
    color: transparent;
    font-size: 0;
    line-height: 0;
}
#tt-smartcart-overlay .tt-smartcart-empty > .fa::before { content: none !important; }
#tt-smartcart-overlay .tt-smartcart-empty p {
    margin: 0;
    color: #555;
    font-size: 16px;
    line-height: 1.45;
}
#tt-smartcart-overlay button:focus-visible,
#tt-smartcart-overlay a:focus-visible { outline: 2px solid #202020; outline-offset: 3px; }
#tt-smartcart-overlay .tt-smartcart-qty input:focus,
#tt-smartcart-overlay .tt-smartcart-qty input:focus-visible {
    outline: 0;
    box-shadow: none;
}
#tt-smartcart-overlay button:disabled,
#tt-smartcart-overlay input:disabled { opacity: .5; cursor: not-allowed; }

@media (max-width: 600px) {
    #tt-smartcart-overlay { height: 100vh; height: 100dvh; max-height: 100dvh; overflow: hidden; }
    #tt-smartcart-overlay .tt-smartcart-panel {
        width: calc(100% - 32px);
        max-width: calc(100% - 32px);
        height: 100vh;
        height: 100dvh;
        max-height: 100dvh;
    }
    #tt-smartcart-overlay .tt-smartcart-content {
        padding: 20px;
        padding-top: max(20px, env(safe-area-inset-top));
        padding-left: max(20px, env(safe-area-inset-left));
        padding-right: max(20px, env(safe-area-inset-right));
        padding-bottom: max(32px, calc(env(safe-area-inset-bottom) + 16px));
    }
    #tt-smartcart-overlay .tt-smartcart-head { margin-bottom: 20px; }
    #tt-smartcart-overlay .tt-smartcart-head h3 { font-size: 24px; }
    #tt-smartcart-overlay .tt-smartcart-products { padding: 0 16px; }
    #tt-smartcart-overlay .tt-smartcart-product { grid-template-columns: 82px auto minmax(38px, 1fr) 32px; gap: 9px 10px; padding: 16px 0; }
    #tt-smartcart-overlay .tt-smartcart-product.is-gift { padding: 18px 0; }
    #tt-smartcart-overlay .tt-smartcart-image img { width: 82px; height: 94px; }
    #tt-smartcart-overlay .tt-smartcart-qty button { width: 30px; height: 42px; line-height: 42px; }
    #tt-smartcart-overlay .tt-smartcart-qty input { width: 32px; height: 42px; line-height: 42px; }
    #tt-smartcart-overlay .tt-smartcart-remove { width: 32px; height: 42px; padding: 5px; }
    #tt-smartcart-overlay .tt-smartcart-buttons { grid-template-columns: 1fr; gap: 10px; margin-bottom: 0; }
    #tt-smartcart-overlay .tt-smartcart-buttons .btn { min-height: 50px; font-size: 15px; }
    #tt-smartcart-overlay .tt-smartcart-empty { padding-top: 42px; }
    #tt-smartcart-overlay .tt-smartcart-empty > .fa { width: 110px; height: 100px; }
}
@media (max-width: 350px) {
    #tt-smartcart-overlay .tt-smartcart-product { grid-template-columns: 74px minmax(0, 1fr); }
    #tt-smartcart-overlay .tt-smartcart-image img { width: 74px; height: 86px; }
    #tt-smartcart-overlay .tt-smartcart-product-main { grid-column: 2; }
    #tt-smartcart-overlay .tt-smartcart-product-actions { display: flex; grid-column: 1 / -1; grid-row: 3; align-items: center; gap: 6px; }
    #tt-smartcart-overlay .tt-smartcart-line-total { margin-left: auto; }
}
html:has(body.tt-smartcart-lock),body.tt-smartcart-lock { overflow: hidden; overscroll-behavior: none; }
@media (prefers-reduced-motion: reduce) {
    #tt-smartcart-overlay,
    #tt-smartcart-overlay .tt-smartcart-panel,
    #tt-smartcart-overlay .tt-smartcart-bar span { transition-duration: .01ms; }
}

/* 1.0.5: pastel delivery status and rounded primary cart actions. */
#tt-smartcart-overlay{--tt-cart-pink:#f8e7eb;--tt-cart-pink-line:#dfaebb;--tt-cart-sage:#edf4ec;--tt-cart-cream:#fff7e8}
#tt-smartcart-overlay .tt-smartcart-shipping,
#tt-smartcart-overlay .tt-smartcart-shipping.is-ready{
    margin-top:14px;
    padding:18px;
    border:1px solid #f0d9df;
    border-radius:18px;
    background:#fff5f7;
}
#tt-smartcart-overlay .tt-smartcart-shipping.is-ready{border-color:#d7e5d4;background:var(--tt-cart-sage)}
#tt-smartcart-overlay .tt-smartcart-progress-title .fa,
#tt-smartcart-overlay .tt-smartcart-shipping.is-ready .fa{color:#a76676}
#tt-smartcart-overlay .tt-smartcart-bar{height:6px;border-radius:999px;background:#eadde0;overflow:hidden}
#tt-smartcart-overlay .tt-smartcart-bar span,
#tt-smartcart-overlay .tt-smartcart-shipping.is-ready .tt-smartcart-bar span{border-radius:999px;background:#d9a5b2}
#tt-smartcart-overlay .tt-smartcart-shipping.is-ready .tt-smartcart-bar span{background:#a9c3a4}
#tt-smartcart-overlay .tt-smartcart-qty{border-color:#dfd4d1;background:#fff}
#tt-smartcart-overlay .tt-smartcart-qty button:first-child{border-radius:999px 0 0 999px;background:var(--tt-cart-cream)}
#tt-smartcart-overlay .tt-smartcart-qty button:last-child{border-radius:0 999px 999px 0;background:var(--tt-cart-sage)}
#tt-smartcart-overlay .tt-smartcart-buttons .btn{min-height:52px;border-color:#d9d2cf;border-radius:999px;background:#fff;color:#2d2e2a;transition:background .18s,border-color .18s,transform .18s}
#tt-smartcart-overlay .tt-smartcart-buttons .btn:hover{border-color:#d4b2ba;background:#fff9fa;transform:translateY(-1px)}
#tt-smartcart-overlay .tt-smartcart-buttons .tt-smartcart-checkout{border-color:var(--tt-cart-pink-line);background:var(--tt-cart-pink);color:#20211f}
#tt-smartcart-overlay .tt-smartcart-buttons .tt-smartcart-checkout:hover,
#tt-smartcart-overlay .tt-smartcart-buttons .tt-smartcart-checkout:focus{border-color:#ca909f;background:#f4dce2;color:#20211f}
@media(max-width:600px){
 #tt-smartcart-overlay .tt-smartcart-shipping,#tt-smartcart-overlay .tt-smartcart-shipping.is-ready{padding:16px;border-radius:16px}
 #tt-smartcart-overlay .tt-smartcart-buttons .btn{min-height:52px}
}
