/*
 * Tings Market Platform — native storefront header.
 * The plugin owns the public retail shell consistently across store routes.
 */
:root {
    --tm-brand: #12b8ca;
    --tm-brand-deep: #078fa6;
    --tm-accent: #ffd000;
    --tm-ink: #071327;
    --tm-muted: #66758a;
    --tm-border: #d8e5ea;
    --tm-shell: 1400px;
}
html, body { margin: 0; padding: 0; }
.tm-announcement *, .tm-site-header *, .tm-mobile-drawer * { box-sizing: border-box; }
.tm-announcement, .tm-site-header, .tm-mobile-drawer {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-synthesis: none;
}
.tm-icon { display:block; width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.tm-shell { width:min(calc(100% - 64px), var(--tm-shell)); margin-inline:auto; }
.screen-reader-text { border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute!important; width:1px; word-wrap:normal!important; }
.tm-skip-link:focus { clip:auto!important; clip-path:none; width:auto; height:auto; top:8px; left:8px; z-index:100000; padding:10px 14px; border-radius:8px; background:#fff; color:#000; }

/* Free-delivery progress bar. */
.tm-announcement {
    min-height:61px;
    display:flex;
    align-items:center;
    color:#fff;
    background:linear-gradient(100deg,#078fa6 0%,#10b6c9 56%,#19bfd0 100%);
    box-shadow:inset 0 -1px rgba(255,255,255,.12);
}
.tm-announcement__inner {
    min-height:61px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
}
.tm-announcement__progress { min-width:0; flex:1 1 auto; }
.tm-announcement .tmds-topbar-free-delivery {
    display:flex!important;
    align-items:center!important;
    gap:13px!important;
    width:100%!important;
    min-width:0!important;
    max-width:940px!important;
    color:#fff!important;
}
.tm-announcement .tmds-topbar-free-delivery__icon {
    width:40px!important;
    height:40px!important;
    flex:0 0 40px!important;
    border:1px solid rgba(255,255,255,.34)!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.18)!important;
    font-size:19px!important;
}
.tm-announcement .tmds-topbar-free-delivery__content {
    display:grid!important;
    grid-template-columns:auto minmax(230px,360px) auto!important;
    align-items:center!important;
    gap:16px!important;
    width:auto!important;
    min-width:0!important;
}
.tm-announcement .tmds-topbar-free-delivery__line { display:contents!important; }
.tm-announcement .tmds-topbar-free-delivery__line strong {
    grid-column:1;
    color:#fff!important;
    font-size:15px!important;
    font-weight:800!important;
    line-height:1.05!important;
    white-space:nowrap!important;
}
.tm-announcement .tmds-topbar-free-delivery__track {
    grid-column:2;
    grid-row:1;
    width:100%!important;
    height:7px!important;
    margin:0!important;
    border:1px solid rgba(255,255,255,.18)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.36)!important;
}
.tm-announcement .tmds-topbar-free-delivery__amount {
    grid-column:3;
    grid-row:1;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 16px;
    border-radius:999px;
    color:var(--tm-ink)!important;
    background:var(--tm-accent)!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1!important;
    opacity:1!important;
    white-space:nowrap!important;
    box-shadow:0 4px 12px rgba(7,19,39,.1);
}
.tm-announcement__coverage {
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:12px;
    color:#fff;
    font-size:13px;
    line-height:1;
    letter-spacing:.01em;
    white-space:nowrap;
}
.tm-announcement__coverage strong { font-weight:800; }
.tm-announcement__coverage-dot { width:6px; height:6px; border-radius:50%; background:var(--tm-accent); box-shadow:0 0 0 2px rgba(255,208,0,.12); }
.tm-announcement__fallback { color:#fff; font-size:14px; font-weight:800; }

/* Main header row. */
.tm-site-header { position:relative; z-index:1000; background:#fff; color:var(--tm-ink); border-bottom:1px solid #e7edf0; }
.tm-header-main {
    min-height:139px;
    display:grid;
    grid-template-columns:minmax(165px,205px) minmax(300px,1fr) minmax(390px,max-content);
    align-items:center;
    gap:20px;
}
.tm-branding { min-width:0; }
.tm-branding .custom-logo-link { display:inline-flex; align-items:center; max-width:210px; text-decoration:none; }
.tm-branding .custom-logo { display:block; width:auto; max-width:100%; max-height:108px; }
.tm-wordmark { display:inline-flex; align-items:center; gap:10px; color:var(--tm-ink); text-decoration:none; font-size:22px; font-weight:800; }
.tm-wordmark__mark { display:grid; place-items:center; width:54px; height:54px; border-radius:14px; background:var(--tm-brand); color:#fff; }
.tm-wordmark__text { white-space:nowrap; }
.tm-menu-toggle { display:none; }

/* Search. */
.tm-header-search-wrap { min-width:0; }
.tm-product-search { display:flex; width:100%; min-height:60px; }
.tm-product-search input[type="search"] { width:100%; min-width:0; height:60px; padding:0 22px; border:3px solid var(--tm-brand); border-right:0; border-radius:19px 0 0 19px; outline:0; background:#fff; color:var(--tm-ink); font-size:16px; }
.tm-product-search button { min-width:115px; height:60px; display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:0 19px 19px 0; background:var(--tm-brand); color:#fff; font-size:15px; font-weight:800; cursor:pointer; }
.tm-product-search button .tm-icon { display:none; }
/* Track / account / cart actions. */
.tm-header-actions { min-width:0; display:flex; align-items:center; justify-content:flex-end; gap:14px; }
.tm-header-action { position:relative; min-width:0; display:flex; align-items:center; gap:9px; color:var(--tm-ink); text-decoration:none; }
.tm-header-action:hover { color:var(--tm-brand-deep); }
.tm-header-action__icon { position:relative; width:48px; height:48px; flex:0 0 48px; display:grid; place-items:center; border-radius:15px; color:#058aa1; background:#e8f8fc; }
.tm-header-action__icon--soft { color:#058aa1; background:#e9f8fc; }
.tm-header-action__icon--yellow { color:var(--tm-ink); background:#fff7ce; }
.tm-header-action__icon .tm-icon { width:24px; height:24px; }
.tm-header-action__copy { display:grid; min-width:0; max-width:92px; overflow:hidden; line-height:1.18; }
.tm-header-action__copy strong { overflow:hidden; color:var(--tm-ink); font-size:12.5px; font-weight:800; white-space:nowrap; text-overflow:ellipsis; }
.tm-header-action__copy small { overflow:hidden; margin-top:2px; color:#66758a; font-size:10.5px; font-weight:500; white-space:nowrap; text-overflow:ellipsis; }
.tm-cart-count { position:absolute; top:-10px; right:-10px; min-width:24px; height:24px; padding:0 6px; display:grid; place-items:center; border:2px solid #fff; border-radius:999px; background:var(--tm-brand); color:#fff; font-size:11px; font-weight:800; line-height:1; }
.tm-cart-link .tm-header-action__copy { max-width:70px; }
.tm-header-main > *, .tm-header-actions > * { min-width:0; }
.tm-mobile-search { display:none; }

/* Department/navigation row. */
.tm-category-nav { border-top:1px solid #edf1f3; background:#fff; }
.tm-category-nav__list { min-height:75px; display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0; padding:0; overflow-x:auto; list-style:none; scrollbar-width:none; }
.tm-category-nav__list::-webkit-scrollbar { display:none; }
.tm-category-nav__list li { flex:0 0 auto; }
.tm-category-nav__list a { min-height:50px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:0 5px; color:var(--tm-ink); text-decoration:none; white-space:nowrap; font-size:15px; font-weight:800; line-height:1; }
.tm-category-nav__shop a { min-width:112px; padding-inline:20px; border-radius:999px; background:var(--tm-brand); color:#fff; box-shadow:0 8px 18px rgba(18,184,202,.12); }
.tm-category-nav__deals a { min-width:88px; padding-inline:20px; border-radius:999px; background:var(--tm-accent); color:var(--tm-ink); }
.tm-category-nav__shop .tm-icon { width:17px; height:17px; }
.tm-category-nav__list a:hover { color:var(--tm-brand-deep); }
.tm-category-nav__shop a:hover { color:#fff; background:var(--tm-brand-deep); }
.tm-category-nav__deals a:hover { color:var(--tm-ink); background:#f2c500; }

/* Mobile drawer — only the native header uses it. */
.tm-mobile-drawer { position:fixed; inset:0; z-index:99999; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-synthesis:none; }
.tm-mobile-drawer__backdrop { position:absolute; inset:0; background:rgba(7,19,39,.52); backdrop-filter:blur(2px); }
.tm-mobile-drawer__panel { position:absolute; inset:0 auto 0 0; width:min(88vw,380px); padding:20px; overflow-y:auto; background:#fff; box-shadow:20px 0 60px rgba(0,0,0,.22); }
.tm-mobile-drawer__head { display:flex; align-items:center; justify-content:space-between; padding-bottom:16px; border-bottom:1px solid #e4ecef; }
.tm-mobile-drawer__head .custom-logo-link { max-width:160px; }
.tm-mobile-drawer__head button { width:42px; height:42px; display:grid; place-items:center; border:1px solid #d8e5ea; border-radius:12px; background:#fff; color:var(--tm-ink); }
.tm-mobile-menu { margin:16px 0; padding:0; list-style:none; }
.tm-mobile-menu li { border-bottom:1px solid #eef2f4; }
.tm-mobile-menu a { display:block; padding:13px 3px; color:var(--tm-ink); text-decoration:none; font-weight:700; }
.tm-mobile-menu .sub-menu { margin:0 0 8px; padding:0 0 0 14px; list-style:none; }
.tm-mobile-drawer__links { display:grid; gap:9px; padding-top:16px; }
.tm-mobile-drawer__links a { padding:12px 13px; border-radius:10px; background:#f5f9fa; color:var(--tm-ink); text-decoration:none; font-weight:700; }


@media (max-width: 1450px) and (min-width: 901px) {
    .tm-shell { width:min(calc(100% - 34px), var(--tm-shell)); }
    .tm-announcement__inner { gap:16px; }
    .tm-announcement .tmds-topbar-free-delivery { max-width:760px!important; gap:10px!important; }
    .tm-announcement .tmds-topbar-free-delivery__content { grid-template-columns:auto minmax(160px,1fr) auto!important; gap:10px!important; }
    .tm-announcement .tmds-topbar-free-delivery__line strong { font-size:13px!important; }
    .tm-announcement__coverage { display:flex; gap:7px; font-size:10.5px; }
    .tm-header-main { grid-template-columns:minmax(135px,155px) minmax(240px,1fr) minmax(350px,max-content); gap:12px; min-height:104px; }
    .tm-branding .custom-logo-link { max-width:150px; }
    .tm-branding .custom-logo { max-height:76px; }
    .tm-product-search { min-height:52px!important; }
    .tm-product-search input[type="search"], .tm-product-search button { height:52px; }
    .tm-product-search button { min-width:88px!important; }
    .tm-header-actions { gap:8px; }
    .tm-header-action { gap:6px; }
    .tm-header-action__icon { width:40px; height:40px; flex-basis:40px; border-radius:12px; }
    .tm-header-action__icon .tm-icon { width:20px; height:20px; }
    .tm-header-action__copy { display:grid; }
    .tm-header-action__copy strong { font-size:10.8px; }
    .tm-header-action__copy small { font-size:9.5px; margin-top:1px; }
    .tm-cart-count { top:-8px; right:-8px; min-width:20px; height:20px; font-size:9px; }
    .tm-category-nav__list { justify-content:flex-start; gap:21px; }
    .tm-category-nav__list a { font-size:13px; }
}

@media (max-width: 1180px) and (min-width: 901px) {
    .tm-header-action__copy small { display:none; }
    .tm-header-action__copy { max-width:78px; }
    .tm-cart-link .tm-header-action__copy { max-width:48px; }
    .tm-header-action__copy strong { font-size:10.5px; }
    .tm-product-search input[type="search"] { font-size:13px!important; }
}
@media (max-width: 900px) {
    .tm-announcement { min-height:54px; }
    .tm-announcement__inner { min-height:54px; }
    .tm-announcement .tmds-topbar-free-delivery__content { grid-template-columns:auto minmax(150px,1fr) auto!important; gap:9px!important; }
    .tm-announcement .tmds-topbar-free-delivery__line strong { font-size:12px!important; }
    .tm-announcement .tmds-topbar-free-delivery__amount { min-height:30px; padding-inline:10px; font-size:11px!important; }
    .tm-header-main { min-height:86px; grid-template-columns:44px minmax(0,1fr) auto; gap:14px; }
    .tm-menu-toggle { width:44px; height:44px; display:grid; place-items:center; border:1px solid #d8e5ea; border-radius:12px; background:#fff; color:var(--tm-ink); }
    .tm-branding { display:flex; justify-content:center; }
    .tm-branding .custom-logo-link { max-width:175px; }
    .tm-branding .custom-logo { max-height:66px; }
    .tm-header-search-wrap { display:none; }
    .tm-header-actions .tm-header-action:not(.tm-cart-link) { display:none; }
    .tm-header-action__copy { display:none; }
    .tm-header-action__icon { width:48px; height:48px; flex-basis:48px; }
    .tm-mobile-search { display:block; padding-bottom:14px; }
    .tm-mobile-search .tm-product-search { min-height:50px!important; }
    .tm-mobile-search .tm-product-search input[type="search"] { height:50px; }
    .tm-mobile-search .tm-product-search button { height:50px; }
    .tm-category-nav__list { min-height:60px; gap:20px; }
    .tm-category-nav__list a { font-size:13px; }
}
@media (max-width: 640px) {
    .tm-shell { width:min(calc(100% - 26px), var(--tm-shell)); }
    .tm-announcement__inner { width:100%; }
    .tm-announcement .tmds-topbar-free-delivery { justify-content:center; }
    .tm-announcement .tmds-topbar-free-delivery__icon { width:32px!important; height:32px!important; flex-basis:32px!important; font-size:15px!important; }
    .tm-announcement .tmds-topbar-free-delivery__content { grid-template-columns:auto minmax(100px,1fr)!important; max-width:330px; }
    .tm-announcement .tmds-topbar-free-delivery__amount { display:none!important; }
    .tm-announcement .tmds-topbar-free-delivery__track { grid-column:2; }
    .tm-category-nav { display:none; }
}


/* =========================================================
   v5.0.7 — approved free-delivery bar parity
   Restore the original two-row progress component:
   label + amount on row one, progress track directly below.
   ========================================================= */
@media (min-width: 901px) {
    .tm-announcement {
        min-height: 48px !important;
    }

    .tm-announcement .tm-announcement__inner {
        width: min(calc(100% - 40px), 1280px) !important;
        min-height: 48px !important;
        margin-inline: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 24px !important;
    }

    .tm-announcement .tm-announcement__progress {
        flex: 0 1 835px !important;
        width: min(835px, 100%) !important;
        min-width: 0 !important;
    }

    .tm-announcement .tmds-topbar-free-delivery {
        display: flex !important;
        align-items: center !important;
        gap: 14px !important;
        width: 100% !important;
        max-width: 835px !important;
        min-width: 0 !important;
    }

    .tm-announcement .tmds-topbar-free-delivery__icon {
        width: 34px !important;
        height: 34px !important;
        flex: 0 0 34px !important;
        border-radius: 10px !important;
        font-size: 16px !important;
    }

    .tm-announcement .tmds-topbar-free-delivery__content {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        align-items: center !important;
        gap: 5px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .tm-announcement .tmds-topbar-free-delivery__line {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 22px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .tm-announcement .tmds-topbar-free-delivery__line strong {
        grid-column: auto !important;
        color: #fff !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        line-height: 1.05 !important;
        white-space: nowrap !important;
    }

    .tm-announcement .tmds-topbar-free-delivery__amount {
        grid-column: auto !important;
        grid-row: auto !important;
        flex: 0 0 auto !important;
        min-height: 28px !important;
        padding: 0 15px !important;
        border-radius: 999px !important;
        color: var(--tm-ink) !important;
        background: var(--tm-accent) !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        box-shadow: 0 3px 9px rgba(7,19,39,.10) !important;
    }

    .tm-announcement .tmds-topbar-free-delivery__track {
        grid-column: 1 !important;
        grid-row: 2 !important;
        width: 100% !important;
        height: 5px !important;
        margin: 0 !important;
        border: 1px solid rgba(255,255,255,.16) !important;
        border-radius: 999px !important;
        background: rgba(255,255,255,.34) !important;
    }

    .tm-announcement .tm-announcement__coverage {
        flex: 0 0 auto !important;
        margin-left: auto !important;
        gap: 9px !important;
        font-size: 12px !important;
        white-space: nowrap !important;
    }

    .tm-announcement .tm-announcement__coverage strong {
        font-weight: 800 !important;
    }
}

@media (min-width: 901px) and (max-width: 1180px) {
    .tm-announcement .tm-announcement__inner {
        width: min(calc(100% - 30px), 1060px) !important;
        gap: 16px !important;
    }

    .tm-announcement .tm-announcement__progress {
        flex: 1 1 auto !important;
        width: auto !important;
    }

    .tm-announcement .tmds-topbar-free-delivery {
        max-width: none !important;
        gap: 10px !important;
    }

    .tm-announcement .tmds-topbar-free-delivery__line {
        gap: 12px !important;
    }

    .tm-announcement .tmds-topbar-free-delivery__line strong {
        font-size: 12.5px !important;
    }

    .tm-announcement .tmds-topbar-free-delivery__amount {
        min-height: 26px !important;
        padding-inline: 11px !important;
        font-size: 11px !important;
    }

    .tm-announcement .tm-announcement__coverage {
        font-size: 10.5px !important;
        gap: 7px !important;
    }
}


/* v5.0.8 — Platform owns the delivery animation. No static truck tile. */
.tm-announcement .tmds-topbar-free-delivery__track {
    position: relative !important;
    overflow: visible !important;
}
.tm-announcement .tmds-topbar-free-delivery__fill {
    position: relative !important;
    display: block !important;
    height: 100% !important;
    overflow: hidden !important;
    border-radius: inherit !important;
    background: linear-gradient(90deg,#ffe56f 0%,#ffd200 30%,#fff0a3 52%,#ffd200 72%,#ffc400 100%) !important;
    background-size: 220% 100% !important;
}
.tm-announcement .tmds-topbar-free-delivery__truck {
    display: inline-block !important;
}

/* =========================================================
   v5.0.9 — animated meter visibility/parity
   The Platform owns this; no external snippet is required.
   ========================================================= */
.tm-announcement .tmds-topbar-free-delivery__track {
    height: 11px !important;
    overflow: visible !important;
    border-color: rgba(255,255,255,.24) !important;
    background: rgba(255,255,255,.30) !important;
    box-shadow: inset 0 1px 2px rgba(7,19,39,.16) !important;
}
.tm-announcement .tmds-topbar-free-delivery__fill {
    height: 100% !important;
    overflow: hidden !important;
    border-radius: 999px !important;
}
.tm-announcement .tmds-topbar-free-delivery__truck {
    display: block !important;
    width: 31px !important;
    height: 20px !important;
}
@media (min-width: 901px) and (max-width: 1180px) {
    .tm-announcement .tmds-topbar-free-delivery__track { height: 10px !important; }
    .tm-announcement .tmds-topbar-free-delivery__truck { width: 28px !important; height: 18px !important; }
}

/* =========================================================
   v5.0.12 — icon-safe, one-line announcement bar parity
   Restores the compact approved composition: colored truck tile, label,
   animated progress meter, amount pill and New Providence coverage message.
   ========================================================= */
.tm-announcement .tmds-topbar-free-delivery__icon {
    display: inline-grid !important;
    place-items: center !important;
    overflow: hidden !important;
    line-height: 0 !important;
}
.tm-announcement .tmds-topbar-tile-truck {
    display: block !important;
    width: 31px !important;
    height: 23px !important;
    overflow: visible !important;
}

@media (min-width: 901px) {
    .tm-announcement {
        min-height: 60px !important;
    }
    .tm-announcement .tm-announcement__inner {
        width: min(calc(100% - 40px), 1400px) !important;
        min-height: 60px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 28px !important;
    }
    .tm-announcement .tm-announcement__progress {
        flex: 1 1 1040px !important;
        width: auto !important;
        min-width: 0 !important;
    }
    .tm-announcement .tmds-topbar-free-delivery {
        display: flex !important;
        align-items: center !important;
        gap: 14px !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__icon {
        width: 44px !important;
        height: 44px !important;
        flex: 0 0 44px !important;
        border: 1px solid rgba(255,255,255,.34) !important;
        border-radius: 13px !important;
        background: rgba(255,255,255,.18) !important;
        box-shadow: inset 0 1px rgba(255,255,255,.18), 0 5px 12px rgba(7,19,39,.08) !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__content {
        display: grid !important;
        grid-template-columns: max-content minmax(170px, 1fr) max-content !important;
        grid-template-rows: 1fr !important;
        align-items: center !important;
        gap: 18px !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__line {
        display: contents !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__line strong {
        grid-column: 1 !important;
        grid-row: 1 !important;
        align-self: center !important;
        color: #fff !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        line-height: 1.05 !important;
        white-space: nowrap !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__track {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 10px !important;
        margin: 0 !important;
        overflow: visible !important;
        border: 1px solid rgba(255,255,255,.24) !important;
        border-radius: 999px !important;
        background: rgba(255,255,255,.34) !important;
        box-shadow: inset 0 1px 2px rgba(7,19,39,.16) !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__amount {
        grid-column: 3 !important;
        grid-row: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 38px !important;
        padding: 0 19px !important;
        border-radius: 999px !important;
        color: var(--tm-ink) !important;
        background: var(--tm-accent) !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        opacity: 1 !important;
        box-shadow: 0 4px 12px rgba(7,19,39,.11) !important;
    }
    .tm-announcement .tm-announcement__coverage {
        flex: 0 0 auto !important;
        margin-left: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        color: #fff !important;
        font-size: 13px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }
}

@media (min-width: 901px) and (max-width: 1450px) {
    .tm-announcement .tm-announcement__inner {
        width: min(calc(100% - 30px), 1280px) !important;
        gap: 18px !important;
    }
    .tm-announcement .tmds-topbar-free-delivery {
        gap: 11px !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__icon {
        width: 40px !important;
        height: 40px !important;
        flex-basis: 40px !important;
        border-radius: 12px !important;
    }
    .tm-announcement .tmds-topbar-tile-truck {
        width: 28px !important;
        height: 21px !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__content {
        grid-template-columns: max-content minmax(145px, 1fr) max-content !important;
        gap: 12px !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__line strong {
        font-size: 13px !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__amount {
        min-height: 34px !important;
        padding-inline: 15px !important;
        font-size: 12px !important;
    }
    .tm-announcement .tm-announcement__coverage {
        gap: 7px !important;
        font-size: 10.5px !important;
    }
}

@media (min-width: 901px) and (max-width: 1100px) {
    .tm-announcement .tm-announcement__inner {
        gap: 12px !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__content {
        grid-template-columns: max-content minmax(105px, 1fr) max-content !important;
        gap: 9px !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__line strong {
        font-size: 11.5px !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__amount {
        min-height: 31px !important;
        padding-inline: 11px !important;
        font-size: 10.5px !important;
    }
    .tm-announcement .tm-announcement__coverage {
        font-size: 9.5px !important;
    }
}

@media (max-width: 900px) {
    .tm-announcement {
        min-height: 66px !important;
        padding: 8px 0 !important;
    }
    .tm-announcement .tm-announcement__inner {
        width: min(calc(100% - 24px), 760px) !important;
        min-height: 50px !important;
        display: block !important;
    }
    .tm-announcement .tm-announcement__progress {
        width: 100% !important;
    }
    .tm-announcement .tm-announcement__coverage {
        display: none !important;
    }
    .tm-announcement .tmds-topbar-free-delivery {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__icon {
        width: 38px !important;
        height: 38px !important;
        flex: 0 0 38px !important;
        border: 1px solid rgba(255,255,255,.34) !important;
        border-radius: 11px !important;
        background: rgba(255,255,255,.18) !important;
    }
    .tm-announcement .tmds-topbar-tile-truck {
        width: 27px !important;
        height: 20px !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__content {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) max-content !important;
        grid-template-rows: auto auto !important;
        align-items: center !important;
        gap: 7px 10px !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__line {
        display: contents !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__line strong {
        grid-column: 1 !important;
        grid-row: 1 !important;
        color: #fff !important;
        font-size: 12.5px !important;
        font-weight: 800 !important;
        line-height: 1.05 !important;
        white-space: nowrap !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__amount {
        grid-column: 2 !important;
        grid-row: 1 !important;
        display: inline-flex !important;
        min-height: 29px !important;
        padding: 0 10px !important;
        border-radius: 999px !important;
        color: var(--tm-ink) !important;
        background: var(--tm-accent) !important;
        font-size: 10.5px !important;
        font-weight: 800 !important;
        white-space: nowrap !important;
        opacity: 1 !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__track {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        width: 100% !important;
        height: 9px !important;
        margin: 0 !important;
        overflow: visible !important;
    }
}

@media (max-width: 520px) {
    .tm-announcement .tm-announcement__inner {
        width: calc(100% - 18px) !important;
    }
    .tm-announcement .tmds-topbar-free-delivery {
        gap: 8px !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__icon {
        width: 34px !important;
        height: 34px !important;
        flex-basis: 34px !important;
        border-radius: 10px !important;
    }
    .tm-announcement .tmds-topbar-tile-truck {
        width: 24px !important;
        height: 18px !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__line strong {
        font-size: 11px !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__amount {
        min-height: 27px !important;
        padding-inline: 8px !important;
        font-size: 9.5px !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__track {
        height: 8px !important;
    }
}


/* =========================================================
   v5.0.13 — single-truck topbar parity refinements
   ========================================================= */
.tm-announcement .tmds-topbar-free-delivery__icon {
    display: none !important;
}
@media (min-width: 901px) {
    .tm-announcement .tmds-topbar-free-delivery {
        gap: 0 !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__content {
        display: grid !important;
        grid-template-columns: max-content minmax(180px, 1fr) max-content !important;
        grid-template-rows: 1fr !important;
        align-items: center !important;
        gap: 18px !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__track {
        height: 12px !important;
    }
}
@media (min-width: 901px) and (max-width: 1450px) {
    .tm-announcement .tmds-topbar-free-delivery__content {
        grid-template-columns: max-content minmax(150px, 1fr) max-content !important;
        gap: 12px !important;
    }
}
@media (min-width: 901px) and (max-width: 1100px) {
    .tm-announcement .tmds-topbar-free-delivery__content {
        grid-template-columns: max-content minmax(108px, 1fr) max-content !important;
        gap: 9px !important;
    }
}
@media (max-width: 900px) {
    .tm-announcement .tmds-topbar-free-delivery {
        gap: 0 !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__content {
        grid-template-columns: minmax(0, 1fr) max-content !important;
        gap: 7px 10px !important;
    }
    .tm-announcement .tmds-topbar-free-delivery__track {
        height: 10px !important;
    }
}
@media (max-width: 520px) {
    .tm-announcement .tmds-topbar-free-delivery__track {
        height: 9px !important;
    }
}



/* =========================================================
   v5.9.2 — larger customer actions
   Track Order, My Account and My Cart should read as primary header actions,
   not tiny utility text.
   ========================================================= */
@media (min-width:1451px){
    .tm-header-main{grid-template-columns:minmax(165px,205px) minmax(300px,1fr) minmax(440px,max-content)!important}
    .tm-header-actions{gap:17px!important}
    .tm-header-action{gap:10px!important}
    .tm-header-action__icon{width:54px!important;height:54px!important;flex-basis:54px!important;border-radius:16px!important}
    .tm-header-action__icon .tm-icon{width:26px!important;height:26px!important}
    .tm-header-action__copy{max-width:108px!important;line-height:1.16!important}
    .tm-header-action__copy strong{font-size:14.5px!important;font-weight:900!important}
    .tm-header-action__copy small{font-size:11.5px!important}
    .tm-cart-link .tm-header-action__copy{max-width:82px!important}
}
@media (max-width:1450px) and (min-width:1181px){
    .tm-header-main{grid-template-columns:minmax(135px,155px) minmax(240px,1fr) minmax(390px,max-content)!important}
    .tm-header-action__icon{width:45px!important;height:45px!important;flex-basis:45px!important}
    .tm-header-action__icon .tm-icon{width:22px!important;height:22px!important}
    .tm-header-action__copy strong{font-size:12.4px!important}
    .tm-header-action__copy small{font-size:10.2px!important}
}

/* v6.1.4 — branded SVGs use their native filled mark while normal Lucide
   interface icons remain stroke based. */
.tm-icon--whatsapp{fill:currentColor!important;stroke:none!important;stroke-width:0!important}
/* v6.1.8 — authoritative cart/header state. Cached page HTML must never flash
   an old WooCommerce cart amount before the live session is confirmed. */
html:not(.tm-cart-state-ready) .tm-cart-count,
html:not(.tm-cart-state-ready) .tm-cart-subtotal,
html:not(.tm-cart-state-ready) .tmds-topbar-free-delivery__amount,
html:not(.tm-cart-state-ready) .tmds-topbar-free-delivery__track{visibility:hidden!important}

/* Heroicons Solid delivery truck: filled SVG artwork, not a stroked outline. */
.tm-icon--truck,.tm-icon--truck-filled{fill:currentColor!important;stroke:none!important;stroke-width:0!important}


/* =========================================================
   v6.2.3 — one native header search on every route.
   The header no longer embeds the FiboSearch shortcode, so account-page
   scripts cannot give the search control a different intrinsic width.
   ========================================================= */
.tm-header-shell{
    width:min(calc(100% - 64px),1900px)!important;
    margin-inline:auto!important;
    box-sizing:border-box!important;
}
.tm-header-search-wrap,.tm-header-search--native{min-width:0;width:100%;position:relative}
.tm-header-search--native .tm-product-search{width:100%;margin:0}
.tm-search-suggestions{
    position:absolute;z-index:10050;left:0;right:0;top:calc(100% + 8px);
    max-height:min(460px,65vh);overflow:auto;padding:8px;background:#fff;
    border:1px solid #d8e5ea;border-radius:16px;box-shadow:0 18px 48px rgba(7,19,39,.18)
}
.tm-search-suggestion{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;padding:9px 10px;border-radius:11px;color:var(--tm-ink);text-decoration:none}
.tm-search-suggestion:hover,.tm-search-suggestion.is-active{background:#eefafd}
.tm-search-suggestion img{width:52px;height:52px;object-fit:contain;border-radius:8px;background:#f6f9fa}
.tm-search-suggestion__copy{display:grid;gap:3px;min-width:0}
.tm-search-suggestion__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.tm-search-suggestion__copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#66758a;font-size:12px}
.tm-search-suggestions__empty{padding:14px;color:#66758a;font-size:13px}
.tm-search-suggestions__all{display:block;width:100%;margin-top:4px;padding:10px 12px;border:0;border-radius:10px;background:#f2f7f9;color:#078fa6;font-weight:800;cursor:pointer}

@media (min-width:1451px){
    html body .tm-site-header .tm-header-main{
        display:grid!important;
        grid-template-columns:205px minmax(0,1fr) 560px!important;
        align-items:center!important;
        gap:24px!important;
        position:static!important;
    }
    html body .tm-site-header .tm-header-main>.tm-branding,
    html body .tm-site-header .tm-header-main>.tm-header-search-wrap,
    html body .tm-site-header .tm-header-main>.tm-header-actions{
        position:static!important;transform:none!important;width:auto!important;max-width:none!important;margin:0!important
    }
    html body .tm-site-header .tm-header-main>.tm-header-actions{min-width:560px!important;justify-content:flex-end!important}
}
@media (max-width:1450px) and (min-width:1181px){
    .tm-header-shell{width:calc(100% - 36px)!important;margin-inline:18px!important}
    html body .tm-site-header .tm-header-main{
        display:grid!important;
        grid-template-columns:155px minmax(0,1fr) 500px!important;
        align-items:center!important;gap:18px!important;position:static!important
    }
    html body .tm-site-header .tm-header-main>.tm-branding,
    html body .tm-site-header .tm-header-main>.tm-header-search-wrap,
    html body .tm-site-header .tm-header-main>.tm-header-actions{
        position:static!important;transform:none!important;width:auto!important;max-width:none!important;margin:0!important
    }
    html body .tm-site-header .tm-header-main>.tm-header-actions{min-width:500px!important;justify-content:flex-end!important}
}
@media (max-width:1180px) and (min-width:901px){
    .tm-header-shell{width:calc(100% - 34px)!important;margin-inline:17px!important}
    html body .tm-site-header .tm-header-main{display:grid!important;grid-template-columns:155px minmax(220px,1fr) 370px!important;gap:12px!important;position:static!important}
    html body .tm-site-header .tm-header-main>.tm-branding,
    html body .tm-site-header .tm-header-main>.tm-header-search-wrap,
    html body .tm-site-header .tm-header-main>.tm-header-actions{position:static!important;transform:none!important;margin:0!important}
}
@media (max-width:900px){.tm-header-shell{width:calc(100% - 26px)!important;margin-inline:13px!important}.tm-search-suggestions{display:none!important}}

/* FREE Scheduled Delivery moving marker: always solid white on the cyan bar. */
.tm-announcement .tmds-topbar-free-delivery__truck,
.tm-announcement .tmds-topbar-free-delivery__truck-vehicle,
.tm-announcement .tmds-topbar-meter-truck,
.tm-announcement .tmds-topbar-meter-truck.tm-icon,
.tm-announcement .tmds-topbar-meter-truck.tm-icon--truck,
.tm-announcement .tmds-topbar-free-delivery__truck-vehicle svg,
.tm-announcement .tmds-topbar-free-delivery__truck-vehicle svg path{
    color:#fff!important;
    fill:#fff!important;
    stroke:none!important;
}
.tm-announcement .tmds-topbar-free-delivery__truck-vehicle{
    filter:drop-shadow(0 1px 2px rgba(7,19,39,.34))!important;
}

/* v7.2.0 — restore visible search-button interaction. */
.tm-product-search button{transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease!important}
.tm-product-search button:hover,.tm-product-search button:focus-visible{background:#087f91!important;box-shadow:0 5px 14px rgba(8,151,172,.22)!important;transform:translateY(-1px)}
.tm-product-search button:active{transform:translateY(0)}
body .tm-site-header .tm-product-search button:hover,
body .tm-site-header .tm-product-search button:focus-visible,
body .tm-product-search button:hover,
body .tm-product-search button:focus-visible{color:#fff!important;background:#087f91!important;border-color:#087f91!important;box-shadow:0 6px 16px rgba(8,151,172,.24)!important;transform:translateY(-1px)!important}
