/*
 * Tirta Bangunan: site styles (loaded after Yop Base and WooCommerce styles).
 * Tokens: theme.json palette -> --wp--preset--color--*; short aliases below. Brand rules: /brand page.
 */

:root {
	--tb-blue: var(--wp--preset--color--primary);
	--tb-red: var(--wp--preset--color--accent);
	--tb-logo-red: var(--wp--preset--color--logo-red);
	--tb-navy: var(--wp--preset--color--navy);
	--tb-deep: var(--wp--preset--color--deep);
	--tb-ink: var(--wp--preset--color--contrast);
	--tb-body: var(--wp--preset--color--body);
	--tb-muted: var(--wp--preset--color--muted);
	--tb-line: var(--wp--preset--color--line);
	--tb-soft: var(--wp--preset--color--surface);
	--tb-head: var(--wp--preset--font-family--heading);
	--tb-text: var(--wp--preset--font-family--body);
	--tb-sh: 0 10px 30px rgba(0, 32, 95, .08);
	--tb-shh: 0 22px 50px rgba(0, 32, 95, .18);
	--tb-max: 1440px;
	--tb-gut: 40px;
	--yb-wide: 1360px;
}

body { color: var(--tb-body); font-size: 16px; }
h1, h2, h3, h4 { color: var(--tb-ink); font-family: var(--tb-head); letter-spacing: -.01em; }
a { color: var(--tb-blue); }
.tb-wrap { margin-inline: auto; max-width: var(--tb-max); padding-inline: var(--tb-gut); width: 100%; }
.container { width: min(100% - 2 * var(--tb-gut), var(--yb-wide)); }
.tb-svg { flex: none; }

/* Buttons, labels */
.tb-btns { display: flex; flex-wrap: wrap; gap: 12px; }
.tb-btn { align-items: center; border: 2px solid transparent; border-radius: 14px; display: inline-flex; font-size: 15px; font-weight: 700; gap: 10px; padding: 14px 24px; text-decoration: none; transition: transform .2s, box-shadow .2s, background .2s, color .2s; }
.tb-btn:hover { transform: translateY(-3px); }
.tb-btn--red { background: var(--tb-red); color: #fff; }
.tb-btn--red:hover { background: #c40000; color: #fff; }
.tb-btn--blue { background: var(--tb-blue); color: #fff; }
.tb-btn--blue:hover { background: var(--tb-navy); color: #fff; }
.tb-btn--ghost { backdrop-filter: blur(6px); background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .45); color: #fff; }
.tb-btn--ghost:hover { background: #fff; color: var(--tb-blue); }
.tb-btn--white { background: #fff; color: var(--tb-red); }
.tb-btn--white:hover { background: var(--tb-ink); color: #fff; }
.tb-ribbon { background: var(--tb-red); color: #fff; display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: 2px; line-height: 1.3; padding: 7px 14px; text-transform: uppercase; }
.tb-eyebrow { align-items: center; color: var(--tb-red); display: inline-flex; font-size: 12px; font-weight: 800; gap: 8px; letter-spacing: 2px; margin-bottom: 6px; text-transform: uppercase; }
.tb-eyebrow::before { background: var(--tb-red); content: ""; height: 3px; width: 22px; }
.tb-eyebrow .tb-svg { height: 16px; width: 16px; }
.tb-eyebrow--light { color: #ffd200; }
.tb-eyebrow--light::before { background: #ffd200; }
.tb-tag { background: var(--tb-red); border-radius: 30px; color: #fff; display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: 1px; padding: 5px 14px; text-transform: uppercase; }
.tb-lead { font-size: 17px; }
.tb-center { margin-top: 32px; text-align: center; }

/* Notice bar */
.tb-notice { background: var(--tb-red); color: #fff; font-size: 13px; font-weight: 600; }
.tb-notice__inner { align-items: center; display: flex; gap: 16px; justify-content: space-between; min-height: 38px; }
.tb-notice p { align-items: center; display: flex; gap: 6px; margin: 0; }
.tb-notice .tb-svg { height: 16px; width: 16px; }
.tb-notice__links { display: flex; gap: 22px; }
.tb-notice a { align-items: center; color: #fff; display: inline-flex; gap: 6px; opacity: .92; text-decoration: none; }
.tb-notice a:hover { opacity: 1; text-decoration: underline; }

/* Header */
.tb-header { border-bottom: 0; position: sticky; top: 0; transition: box-shadow .3s; z-index: 60; }
.admin-bar .tb-header { top: 32px; }
.tb-header.is-scrolled { box-shadow: 0 8px 24px rgba(0, 32, 95, .12); }
.tb-header__main { align-items: center; display: flex; gap: 32px; min-height: 84px; transition: min-height .3s; }
.tb-header.is-scrolled .tb-header__main { min-height: 68px; }
.tb-header .custom-logo { max-height: 44px; transition: max-height .3s; width: auto; }
.tb-header.is-scrolled .custom-logo { max-height: 36px; }
.tb-header .site-branding { margin: 0; }
.tb-header__toggle { display: none; }
.tb-search { align-items: stretch; background: #fff; border: 1.5px solid var(--tb-line); border-radius: 16px; box-shadow: 0 2px 8px rgba(0, 32, 95, .05); display: flex; flex: 1; gap: 4px; height: 52px; padding: 4px; transition: border-color .2s, box-shadow .2s; }
.tb-search:hover { border-color: #d5d8de; }
.tb-search:focus-within { border-color: var(--tb-blue); box-shadow: 0 0 0 4px rgba(0, 51, 153, .12); }
.tb-search select { -webkit-appearance: none; appearance: none; background: var(--tb-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230F1B33' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center; border: 0; border-radius: 12px; color: var(--tb-ink); cursor: pointer; font: inherit; font-size: 14px; font-weight: 600; max-width: 200px; outline: 0; padding: 0 34px 0 14px; transition: background-color .2s; }
.tb-search select:hover { background-color: #eaecef; }
.tb-search input[type="search"] { background: transparent; border: 0; border-radius: 0; box-shadow: none; flex: 1; font: inherit; font-size: 15px; min-width: 0; outline: 0; padding: 0 12px; }
.tb-search input[type="search"]::placeholder { color: #9aa3b2; }
.tb-search input[type="search"]::-webkit-search-cancel-button { cursor: pointer; }
.tb-search button { align-items: center; background: var(--tb-blue); border: 0; border-radius: 12px; box-shadow: none; color: #fff; cursor: pointer; display: flex; font: inherit; font-size: 15px; font-weight: 700; gap: 8px; margin: 0; padding: 0 22px; transition: background .2s; }
.tb-search button:hover { background: var(--tb-red); }
.tb-search button .tb-svg { height: 18px; width: 18px; }
.tb-header__tools { gap: 6px; }
.tb-header__tools a { align-items: center; border-radius: 12px; color: var(--tb-ink); display: inline-flex; height: 46px; justify-content: center; transition: background .2s, color .2s; width: 46px; }
.tb-header__tools a:hover { background: var(--tb-soft); color: var(--tb-blue); }
.tb-header__tools svg { height: 22px; width: 22px; }
.tb-header .header-cart__count { background: var(--tb-red); right: 3px; top: 4px; }
.tb-header .header-cart__count.is-bump { animation: tb-bump .5s; }
@keyframes tb-bump { 40% { transform: scale(1.5); } }

.tb-nav { background: var(--tb-blue); }
.tb-nav__inner { align-items: center; display: flex; gap: 4px; min-height: 50px; }
.tb-allcat { align-self: stretch; margin-right: 10px; position: relative; }
.tb-allcat__btn { align-items: center; background: var(--tb-navy); border: 0; color: #fff; cursor: pointer; display: flex; font: inherit; font-size: 14px; font-weight: 700; gap: 10px; height: 100%; padding: 0 20px; }
.tb-allcat__btn .tb-svg:last-child { height: 16px; transition: transform .2s; width: 16px; }
.tb-allcat.is-open .tb-allcat__btn .tb-svg:last-child { transform: rotate(180deg); }
.tb-allcat__list { background: #fff; border-radius: 0 0 16px 16px; box-shadow: var(--tb-shh); left: 0; list-style: none; margin: 0; min-width: 290px; opacity: 0; padding: 8px; position: absolute; top: 100%; transform: translateY(8px); transition: opacity .2s, transform .2s, visibility .2s; visibility: hidden; z-index: 70; }
.tb-allcat:hover .tb-allcat__list, .tb-allcat.is-open .tb-allcat__list { opacity: 1; transform: none; visibility: visible; }
.tb-allcat__list a { align-items: center; border-radius: 10px; color: var(--tb-ink); display: flex; font-size: 14px; font-weight: 600; justify-content: space-between; padding: 9px 12px; text-decoration: none; }
.tb-allcat__list a:hover { background: var(--tb-soft); color: var(--tb-blue); }
.tb-allcat__list span { color: var(--tb-muted); font-size: 12px; }
.tb-allcat__list a b { flex: 1; font-weight: inherit; }
.tb-allcat__list a { gap: 12px; padding-block: 7px; }
.tb-allcat__ico { align-items: center; background: #eef2fb; border-radius: 9px; color: var(--tb-blue); display: flex; flex: none; height: 32px; justify-content: center; transition: background .2s, color .2s; width: 32px; }
.tb-allcat__ico .tb-svg { height: 18px; width: 18px; }
.tb-allcat__list a:hover .tb-allcat__ico { background: var(--tb-blue); color: #fff; }
.tb-allcat__all { border-top: 1px solid var(--tb-line); margin-top: 6px; padding-top: 6px; }
.tb-allcat__all a { color: var(--tb-blue); justify-content: flex-start; gap: 8px; }
.tb-allcat__all .tb-svg { height: 16px; width: 16px; }
.tb-nav .tb-nav__menu { gap: 2px; }
.tb-nav .tb-nav__menu > li > a { border-radius: 10px; color: rgba(255, 255, 255, .92); font-size: 14px; font-weight: 600; padding: 8px 13px; transition: background .2s; }
.tb-nav .tb-nav__menu > li > a:hover, .tb-nav .tb-nav__menu > .current-menu-item > a { background: rgba(255, 255, 255, .13); color: #fff; }
/* Main menu dropdowns: same box and rows as "Semua Kategori", opening right at the bottom edge of the blue bar */
.tb-nav .tb-nav__menu { align-self: stretch; }
.tb-nav .tb-nav__menu > li { align-items: center; display: flex; }
.tb-nav .sub-menu { border: 0; border-radius: 0 0 16px 16px; box-shadow: var(--tb-shh); left: 0; margin: 0; min-width: 290px; padding: 8px; top: 100%; }
.tb-nav .sub-menu a { align-items: center; border-radius: 10px; color: var(--tb-ink); display: flex; font-size: 14px; font-weight: 600; gap: 12px; padding: 7px 12px; }
.tb-nav .sub-menu a:hover { background: var(--tb-soft); color: var(--tb-blue); }
.tb-nav .sub-menu a b { flex: 1; font-weight: inherit; }
.tb-nav .sub-menu a span { color: var(--tb-muted); font-size: 12px; }
.tb-nav .sub-menu a:hover .tb-allcat__ico { background: var(--tb-blue); color: #fff; }
.tb-nav a.tb-nav__promo { align-items: center; background: var(--tb-red); border-radius: 10px; color: #fff; display: inline-flex; font-size: 14px; font-weight: 800; gap: 6px; margin-left: auto; padding: 8px 16px; text-decoration: none; }
.tb-nav a.tb-nav__promo:hover { color: #fff; filter: brightness(1.08); }
.tb-nav__promo .tb-svg { animation: tb-wig 1.8s infinite; height: 16px; width: 16px; }
@keyframes tb-wig { 0%, 70%, 100% { transform: rotate(0); } 80% { transform: rotate(-14deg); } 90% { transform: rotate(14deg); } }

/* Sections */
.tb-sec { padding-top: 72px; }
.tb-sec--last { padding-bottom: 8px; }
.tb-sec--soft { background: var(--tb-soft); margin-top: 72px; padding-bottom: 80px; }
.tb-head { align-items: flex-end; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 28px; }
.tb-head h2 { font-size: 34px; margin: 0; }
.tb-head--center { justify-content: center; text-align: center; }
.tb-head--stack { align-items: flex-start; flex-direction: column; gap: 18px; }
.tb-head--stack .tb-tabs { justify-content: flex-start; }
.tb-head--center .tb-eyebrow { justify-content: center; }
.tb-head--center .tb-lead { margin: 12px auto 0; max-width: 780px; }
.tb-more { align-items: center; border: 1.5px solid var(--tb-line); border-radius: 12px; color: var(--tb-blue); display: inline-flex; font-weight: 700; gap: 8px; padding: 10px 18px; text-decoration: none; transition: .2s; white-space: nowrap; }
.tb-more:hover { background: var(--tb-blue); border-color: var(--tb-blue); color: #fff; }
.tb-more .tb-svg { height: 16px; width: 16px; }
.tb-more--light { border-color: rgba(255, 255, 255, .3); color: #fff; }
.tb-more--light:hover { background: #fff; color: var(--tb-blue); }

/* Hero */
.tb-hero { padding-top: 28px; }
.tb-hero__grid { display: grid; gap: 20px; grid-template-columns: 1.55fr 1fr; }
.tb-hero__main { align-items: flex-end; background: var(--bg) center / cover, var(--tb-navy); border-radius: 26px; color: #fff; display: flex; min-height: 480px; overflow: hidden; position: relative; }
.tb-hero__main::before { background: linear-gradient(105deg, rgba(0, 21, 66, .96) 0%, rgba(0, 51, 153, .86) 50%, rgba(0, 51, 153, .2) 100%); content: ""; inset: 0; position: absolute; }
.tb-hero__content { max-width: 660px; padding: 54px 56px; position: relative; }
.tb-hero h1 { color: #fff; font-size: 50px; font-weight: 900; line-height: 1.08; margin: 20px 0 14px; }
.tb-hero h1 span { color: #fff; position: relative; white-space: nowrap; z-index: 0; }
.tb-hero h1 span::after { animation: tb-line 1s .6s both; background: var(--tb-logo-red); bottom: 4px; content: ""; height: 8px; left: 0; position: absolute; right: 0; transform-origin: left; z-index: -1; }
@keyframes tb-line { from { transform: scaleX(0); } }
.tb-hero p { color: rgba(255, 255, 255, .85); font-size: 17px; margin-bottom: 26px; max-width: 520px; }
.tb-hero__stats { border-top: 1px solid rgba(255, 255, 255, .2); display: flex; gap: 34px; margin-top: 34px; padding-top: 24px; }
.tb-hero__stats b { color: #fff; display: block; font: 800 30px/1.1 var(--tb-head); }
.tb-hero__stats span { color: rgba(255, 255, 255, .75); font-size: 13px; }
.tb-hero__side { display: grid; gap: 20px; grid-template-rows: 1fr 1fr; }
.tb-promo { border-radius: 26px; color: #fff; display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding: 28px 32px; position: relative; text-decoration: none; transition: transform .35s; }
.tb-promo:hover { color: #fff; transform: translateY(-4px); }
.tb-promo--dark { background: linear-gradient(135deg, var(--tb-deep), var(--tb-navy)); }
.tb-promo--red { background: linear-gradient(135deg, var(--tb-red), #b30000); }
.tb-promo small { font-size: 11px; font-weight: 800; letter-spacing: 1.5px; opacity: .85; text-transform: uppercase; }
.tb-promo h3 { color: #fff; font-size: 24px; margin: 8px 0 8px; max-width: 55%; }
.tb-promo__pct { font-size: 14px; font-weight: 600; }
.tb-promo__pct b { display: block; font: 900 40px/1 var(--tb-head); }
.tb-promo__go { align-items: center; display: inline-flex; font-size: 14px; font-weight: 700; gap: 8px; margin-top: 12px; }
.tb-promo__go .tb-svg { height: 16px; transition: transform .2s; width: 16px; }
.tb-promo:hover .tb-promo__go .tb-svg { transform: translateX(5px); }
.tb-promo img { background: #fff; border-radius: 18px; bottom: 50%; box-shadow: 0 16px 30px rgba(0, 0, 0, .3); height: auto; position: absolute; right: 26px; transform: translateY(50%) rotate(4deg); transition: transform .5s; width: 38%; }
.tb-promo:hover img { transform: translateY(50%) rotate(0) scale(1.05); }

/* Category tiles */
.tb-cats { display: grid; gap: 20px; grid-template-columns: repeat(6, 1fr); }
.tb-cat { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 20px; color: var(--tb-ink); padding: 22px 12px 18px; text-align: center; text-decoration: none; transition: transform .3s, box-shadow .3s, border-color .3s; }
.tb-cat:hover { border-color: transparent; box-shadow: var(--tb-shh); color: var(--tb-ink); transform: translateY(-6px); }
.tb-cat__icon { background: var(--tb-soft); border-radius: 20px; color: var(--tb-blue); display: grid; font-size: 25px; height: 64px; margin: 0 auto 12px; place-items: center; transition: .3s; width: 64px; }
.tb-cat:hover .tb-cat__icon { background: var(--tb-blue); color: #fff; transform: rotate(-6deg) scale(1.05); }
.tb-cat b { display: block; font-size: 14px; }
.tb-cat small { color: var(--tb-muted); font-size: 12px; }

/* Banner slider */
.tb-slider { aspect-ratio: 1600 / 355; background: var(--tb-soft); border-radius: 24px; overflow: hidden; position: relative; }
.tb-slider__track { display: flex; height: 100%; transition: transform .7s cubic-bezier(.7, 0, .2, 1); }
.tb-slider__track img { flex: 0 0 100%; height: 100%; object-fit: cover; width: 100%; }
.tb-slider__nav { align-items: center; background: rgba(255, 255, 255, .92); border: 0; border-radius: 50%; box-shadow: var(--tb-sh); color: var(--tb-ink); cursor: pointer; display: flex; height: 46px; justify-content: center; opacity: 0; position: absolute; top: 50%; transform: translateY(-50%); transition: .3s; width: 46px; }
.tb-slider:hover .tb-slider__nav { opacity: 1; }
.tb-slider__nav:hover { background: var(--tb-blue); color: #fff; }
.tb-slider__nav.is-prev { left: 18px; }
.tb-slider__nav.is-prev .tb-svg { transform: rotate(90deg); }
.tb-slider__nav.is-next { right: 18px; }
.tb-slider__nav.is-next .tb-svg { transform: rotate(-90deg); }
.tb-slider__dots { bottom: 14px; display: flex; gap: 8px; left: 50%; position: absolute; transform: translateX(-50%); }
.tb-slider__dots button { background: rgba(255, 255, 255, .65); border: 0; border-radius: 5px; box-shadow: 0 1px 4px rgba(0, 0, 0, .25); cursor: pointer; height: 9px; padding: 0; transition: .3s; width: 9px; }
.tb-slider__dots button.is-on { background: var(--tb-red); width: 28px; }

/* Deal rail */
.tb-deal { background: linear-gradient(120deg, var(--tb-navy), var(--tb-blue)); border-radius: 28px; overflow: hidden; padding: 34px 34px 38px; position: relative; }
.tb-deal::before { background: rgba(255, 255, 255, .05); border-radius: 50%; content: ""; height: 380px; position: absolute; right: -120px; top: -120px; width: 380px; }
.tb-deal .tb-head { position: relative; }
.tb-deal h2 { color: #fff; }
.tb-deal__nav { align-items: center; display: flex; gap: 8px; }
.tb-deal__nav button { align-items: center; background: rgba(255, 255, 255, .12); border: 1.5px solid rgba(255, 255, 255, .25); border-radius: 12px; color: #fff; cursor: pointer; display: flex; height: 44px; justify-content: center; width: 44px; }
.tb-deal__nav button:hover { background: #fff; color: var(--tb-blue); }
.tb-deal__nav [data-rail="prev"] .tb-svg { transform: rotate(90deg); }
.tb-deal__nav [data-rail="next"] .tb-svg { transform: rotate(-90deg); }
.tb-rail { display: grid; gap: 20px; grid-auto-columns: calc((100% - 4 * 20px) / 5); grid-auto-flow: column; overflow-x: auto; padding: 4px 2px 8px; position: relative; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.tb-rail::-webkit-scrollbar { display: none; }
.tb-rail .tb-card { scroll-snap-align: start; }

/* Product card */
.tb-card { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 20px; display: flex; flex-direction: column; overflow: hidden; position: relative; transition: transform .3s, box-shadow .3s, border-color .3s; }
.tb-card:hover { border-color: transparent; box-shadow: var(--tb-shh); transform: translateY(-6px); }
.tb-card__img { aspect-ratio: 1; display: block; overflow: hidden; padding: 18px 18px 8px; }
.tb-card__img img { height: 100%; object-fit: contain; transition: transform .5s; width: 100%; }
.tb-card:hover .tb-card__img img { transform: scale(1.07); }
.woocommerce ul.products li.product .tb-card__img img { aspect-ratio: auto; background: none; border-radius: 0; box-shadow: none; height: 100%; margin: 0; object-fit: contain; } /* same image look as the homepage cards (Yop Base/WooCommerce add a grey box) */
.tb-card__badge { background: var(--tb-red); border-radius: 8px; color: #fff; font-size: 12px; font-weight: 800; left: 12px; padding: 4px 10px; position: absolute; top: 12px; z-index: 2; }
.tb-card__body { border-top: 1px solid var(--tb-line); display: flex; flex: 1; flex-direction: column; gap: 2px; padding: 14px 18px 18px; }
.tb-card__brand { color: var(--tb-blue); font-size: 11px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
.tb-card__title { -webkit-box-orient: vertical; -webkit-line-clamp: 2; display: -webkit-box; font-family: inherit; font-size: 14px; font-weight: 600; letter-spacing: 0; line-height: 1.45; margin: 4px 0 6px; max-height: 2.9em; overflow: hidden; padding: 0 !important; text-wrap: wrap; }
.woocommerce ul.products li.product .tb-card__title { font-size: 14px; line-height: 1.45; margin: 4px 0 6px; } /* WooCommerce's own li.product h3 rule made shop titles bigger than on the homepage */
.tb-card__title a { color: var(--tb-ink); text-decoration: none; }
.tb-card__title a:hover { color: var(--tb-blue); }
.tb-card__price { align-items: baseline; display: flex; flex-wrap: wrap; gap: 2px 8px; }
.tb-card__price b { color: var(--tb-red); font-size: 17px; font-weight: 800; }
.tb-card__price b.is-plain { color: var(--tb-ink); }
.tb-card__price s { color: var(--tb-muted); font-size: 12px; }
.tb-card__from { color: var(--tb-muted); font-size: 11px; font-weight: 600; }
/* Price sits right under the title; the buttons stay lined up at the bottom of every card in a row */
.tb-card__actions { display: flex; gap: 8px; margin-top: auto; padding-top: 14px; }
.tb-card__buy { align-items: center; background: var(--tb-soft); border-radius: 12px; color: var(--tb-blue); display: flex; flex: 1; font-size: 13px; font-weight: 700; height: 40px; justify-content: center; text-decoration: none; transition: .2s; }
.tb-card__buy:hover { background: var(--tb-blue); color: #fff; }
.tb-card__buy.loading { opacity: .6; }
.tb-card__buy.added { background: #1e9e5a; color: #fff; }
.tb-card .added_to_cart { display: none; }
.tb-card__wa { align-items: center; background: #e9f8ef; border-radius: 12px; color: #1e9e5a; display: flex; flex: none; height: 40px; justify-content: center; transition: .2s; width: 40px; }
.tb-card__wa:hover { background: #1e9e5a; color: #fff; }

/* Tabs and grid */
.tb-tabs { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.tb-tabs button { align-items: center; background: var(--tb-soft); border: 0; border-radius: 12px; color: var(--tb-body); cursor: pointer; display: flex; font: inherit; font-size: 14px; font-weight: 700; gap: 8px; padding: 10px 16px; transition: .2s; }
.tb-tabs button:hover { color: var(--tb-blue); }
.tb-tabs button.is-on { background: var(--tb-blue); color: #fff; }
.tb-grid { display: grid; gap: 32px 20px; grid-template-columns: repeat(5, 1fr); }
.tb-grid[hidden] { display: none; }
.tb-grid.is-in .tb-card { animation: tb-pop .5s both; }
@keyframes tb-pop { from { opacity: 0; transform: translateY(20px); } }

/* Duo banners */
.tb-duo { display: grid; gap: 20px; grid-template-columns: 1fr 1fr; }
.tb-duo a { align-items: flex-end; border-radius: 24px; color: #fff; display: flex; min-height: 260px; overflow: hidden; padding: 32px; position: relative; text-decoration: none; }
.tb-duo img { height: 100%; inset: 0; object-fit: cover; position: absolute; transition: transform .7s; width: 100%; }
.tb-duo a:hover img { transform: scale(1.06); }
.tb-duo a::before { background: linear-gradient(0deg, rgba(0, 21, 66, .92), rgba(0, 21, 66, .1) 72%); content: ""; inset: 0; position: absolute; z-index: 1; }
.tb-duo div { position: relative; z-index: 2; }
.tb-duo h3 { color: #fff; font-size: 26px; margin: 10px 0 6px; }
.tb-duo p { color: rgba(255, 255, 255, .85); margin: 0; max-width: 440px; }

/* Brands */
.tb-brands { background: var(--tb-soft); border-radius: 28px; padding: 44px 48px; }
.tb-brands > img { border-radius: 14px; mix-blend-mode: multiply; width: 100%; }

/* Why */
.tb-why { align-items: center; display: grid; gap: 64px; grid-template-columns: 1fr 1fr; }
.tb-why__pic { position: relative; }
.tb-why__pic img { aspect-ratio: 5 / 4; border-radius: 26px; object-fit: cover; width: 100%; }
.tb-why__since { background: var(--tb-red); border-radius: 22px; bottom: -24px; box-shadow: var(--tb-shh); color: #fff; padding: 20px 26px; position: absolute; right: -24px; }
.tb-why__since b { display: block; font: 900 40px/1 var(--tb-head); }
.tb-why__since span { font-size: 13px; font-weight: 600; }
.tb-why h2 { font-size: 38px; margin: 6px 0 14px; }
.tb-feats { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; margin: 22px 0 28px; }
.tb-feats > div, .tb-companies > div { border: 1.5px solid var(--tb-line); border-radius: 16px; display: flex; gap: 14px; padding: 16px; transition: .25s; }
.tb-feats > div:hover, .tb-companies > div:hover { border-color: var(--tb-blue); box-shadow: var(--tb-sh); }
.tb-feats i, .tb-companies i { background: var(--tb-soft); border-radius: 12px; color: var(--tb-blue); display: grid; flex: none; height: 42px; place-items: center; width: 42px; }
.tb-feats p, .tb-companies p { font-size: 13px; margin: 0; }
.tb-feats b, .tb-companies b { color: var(--tb-ink); display: block; font-size: 15px; }

/* Visit + CTA */
.tb-visit { border-radius: 28px; box-shadow: var(--tb-shh); display: grid; grid-template-columns: 1fr 1.3fr; overflow: hidden; }
.tb-visit__info { background: var(--tb-blue); color: #fff; padding: 44px; }
.tb-visit h2 { color: #fff; font-size: 30px; margin: 14px 0 18px; }
.tb-visit__row { border-top: 1px solid rgba(255, 255, 255, .15); display: flex; gap: 14px; padding: 14px 0; }
.tb-visit__row .tb-svg { background: rgba(255, 255, 255, .12); border-radius: 12px; height: 44px; padding: 11px; width: 44px; }
.tb-visit__row p { color: rgba(255, 255, 255, .82); font-size: 14px; margin: 0; }
.tb-visit__row b { color: #fff; display: block; font-size: 15px; }
.tb-visit__row a { color: #fff; }
.tb-visit iframe { border: 0; display: block; height: 100%; min-height: 400px; width: 100%; }
.tb-cta { align-items: center; background: linear-gradient(110deg, var(--tb-red), #b80000); border-radius: 28px; color: #fff; display: flex; gap: 30px; justify-content: space-between; margin-top: 56px; padding: 42px 50px; }
.tb-cta--blue { background: linear-gradient(120deg, var(--tb-blue), var(--tb-navy)); border-bottom: 6px solid var(--tb-red); margin-top: 0; }
.tb-cta h2 { color: #fff; font-size: 30px; margin: 0 0 6px; }
.tb-cta p { color: rgba(255, 255, 255, .88); margin: 0; }

/* Footer */
.tb-footer { background: var(--tb-deep); border: 0; color: rgba(255, 255, 255, .72); font-size: 14px; margin-top: 80px; padding: 0; }
.tb-footer__usp { border-bottom: 1px solid rgba(255, 255, 255, .1); display: grid; gap: 16px; grid-template-columns: repeat(4, 1fr); padding: 34px 0; }
.tb-footer__usp > div { align-items: center; display: flex; gap: 14px; }
.tb-footer__usp span { align-items: center; background: rgba(255, 255, 255, .08); border-radius: 12px; color: #fff; display: flex; flex: none; height: 46px; justify-content: center; width: 46px; }
.tb-footer__usp p { margin: 0; }
.tb-footer__usp b { color: #fff; display: block; }
.tb-footer__grid { display: grid; gap: 48px; grid-template-columns: 1.6fr 1fr 1fr 1.3fr; padding: 48px 0; }
.tb-footer__logo img { display: block; height: auto; margin-bottom: 18px; width: 280px; }
.tb-footer h4 { color: #fff; font-size: 16px; margin-bottom: 14px; }
.tb-footer__list { display: grid; gap: 9px; list-style: none; margin: 0; padding: 0; }
.tb-footer a { color: rgba(255, 255, 255, .78); text-decoration: none; transition: color .2s; }
.tb-footer a:hover { color: #fff; }
.tb-footer__phone { color: #fff !important; display: block; font: 800 22px var(--tb-head); margin-bottom: 12px; }
.tb-footer__contact p { display: flex; gap: 8px; margin: 0 0 10px; }
.tb-footer__contact .tb-svg { height: 18px; margin-top: 2px; width: 18px; }
.tb-footer__bottom { align-items: center; border-top: 1px solid rgba(255, 255, 255, .1); display: flex; font-size: 13px; justify-content: space-between; padding: 22px 0; }
.tb-footer__pay b { background: #fff; border-radius: 8px; color: var(--tb-blue); margin-left: 6px; padding: 4px 12px; }

/* About page */
.tb-about-hero { align-items: center; background: var(--bg) center / cover; color: #fff; display: flex; min-height: 600px; padding: 120px 0 170px; position: relative; }
.tb-about-hero::before { background: linear-gradient(100deg, var(--tb-deep) 30%, rgba(0, 51, 153, .78)); content: ""; inset: 0; position: absolute; }
.tb-about-hero .tb-wrap { position: relative; }
.tb-about-hero h1 { color: #fff; font-size: 66px; font-weight: 900; margin: 20px 0 14px; }
.tb-about-hero p { color: rgba(255, 255, 255, .88); font-size: 19px; margin: 0 0 26px; max-width: 700px; }
.tb-about-hero strong { color: #fff; }
.tb-stats { background: #fff; border-bottom: 5px solid var(--tb-red); border-radius: 24px; box-shadow: var(--tb-shh); display: grid; gap: 30px; grid-template-columns: repeat(4, 1fr); margin-top: -100px; padding: 40px 50px; position: relative; text-align: center; }
.tb-stats b { color: var(--tb-blue); display: block; font: 900 48px/1.1 var(--tb-head); }
.tb-stats span { font-size: 15px; font-weight: 500; }
.tb-split { align-items: center; display: grid; gap: 60px; grid-template-columns: 1.05fr 1fr; }
.tb-split h2 { font-size: 40px; margin: 6px 0 14px; }
.tb-companies { display: grid; gap: 14px; grid-template-columns: 1fr 1fr; margin-top: 20px; }
.tb-companies i { background: var(--tb-red); color: #fff; }
.tb-support { background: var(--tb-soft); border-radius: 28px; padding: 40px; }
.tb-support h3 { font-size: 24px; margin: 0 0 6px; }
.tb-types { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); margin-top: 18px; }
.tb-types > div { background: #fff; border-radius: 16px; box-shadow: var(--tb-sh); padding: 24px 12px; text-align: center; transition: transform .3s, box-shadow .3s; }
.tb-types > div:hover { box-shadow: var(--tb-shh); transform: translateY(-6px); }
.tb-types i { background: var(--tb-blue); border-radius: 14px; color: #fff; display: grid; font-size: 22px; height: 58px; margin: 0 auto 12px; place-items: center; width: 58px; }
.tb-types b { color: var(--tb-ink); font-size: 15px; }
.tb-quote { background: linear-gradient(135deg, var(--tb-blue), var(--tb-navy)); margin-top: 80px; padding: 110px 0; text-align: center; }
.tb-quote i { color: var(--tb-logo-red); font-size: 46px; }
.tb-quote h2 { color: #fff; font-size: 48px; font-weight: 900; margin: 16px auto 0; max-width: 1000px; }
.tb-quote p { color: rgba(255, 255, 255, .8); font-size: 19px; font-weight: 600; margin: 16px 0 0; }
.tb-acts { display: grid; gap: 28px; grid-template-columns: repeat(3, 1fr); }
.tb-act { background: #fff; border-radius: 22px; box-shadow: var(--tb-sh); overflow: hidden; transition: transform .35s, box-shadow .35s; }
.tb-act:hover { box-shadow: var(--tb-shh); transform: translateY(-8px); }
.tb-act__img { height: 290px; overflow: hidden; }
.tb-act__img img { height: 100%; object-fit: cover; transition: transform .6s; width: 100%; }
.tb-act:hover .tb-act__img img { transform: scale(1.07); }
.tb-act__body { padding: 26px 28px 30px; }
.tb-act h3 { font-size: 24px; margin: 12px 0 8px; }
.tb-act p { font-size: 15px; margin: 0; }
.tb-journey { align-items: flex-start; display: grid; gap: 70px; grid-template-columns: 38% 1fr; padding-top: 80px; }
.tb-journey__side { position: sticky; top: 170px; }
.tb-journey h2 { font-size: 40px; margin: 6px 0 14px; }
.tb-ho { align-items: center; background: #fff; border-radius: 16px; display: flex; gap: 16px; margin-top: 18px; padding: 20px 22px; }
.tb-ho .tb-svg { background: var(--tb-blue); border-radius: 50%; color: #fff; height: 50px; padding: 13px; width: 50px; }
.tb-ho p { font-size: 14px; margin: 0; }
.tb-ho b { color: var(--tb-ink); display: block; font-size: 16px; }
.tb-timeline { border-left: 3px dashed #c9cdd4; display: grid; gap: 18px; list-style: none; margin: 0 0 0 8px; padding: 4px 0 4px 34px; }
.tb-timeline li { background: #fff; border-left: 5px solid var(--tb-blue); border-radius: 18px; box-shadow: var(--tb-sh); padding: 24px 30px; position: relative; }
.tb-timeline li::before { background: var(--tb-logo-red); border: 3px solid #fff; border-radius: 50%; box-shadow: 0 0 0 2px var(--tb-blue); content: ""; height: 14px; left: -48px; position: absolute; top: 30px; width: 14px; }
.tb-timeline p { font-size: 16px; margin: 8px 0 0; }
.tb-timeline li.is-last { background: var(--tb-blue); border-color: var(--tb-logo-red); }
.tb-timeline li.is-last p { color: #fff; }

/* /brand page: the guideline carries its own full-width layout */
.tb-brand-page .tbg { --soft: #f4f5f7; --line: #e6e8ec; }
.tb-brand-page .entry-header { display: none; }
.tb-brand-page .entry-content { padding: 0; }
.tb-brand-page .entry-content > .tbg { margin: 0; width: 100%; }

/* Shop */
.woocommerce ul.products li.product .woocommerce-loop-product__title { text-wrap: wrap; -webkit-box-orient: vertical; -webkit-line-clamp: 2; display: -webkit-box; font-family: inherit; font-size: 14px; letter-spacing: 0; line-height: 1.4; min-height: 39px; overflow: hidden; }
.tb-loop-brand { color: var(--tb-blue); display: block; font-size: 11px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
.woocommerce ul.products li.product .price { color: var(--tb-ink); font-size: 16px; font-weight: 800; }
.woocommerce ul.products li.product .price ins, .woocommerce div.product p.price ins { color: var(--tb-red); }
.woocommerce span.onsale { border-radius: 8px; left: 12px; right: auto; top: 12px; }
.woocommerce ul.products li.product .onsale { left: 12px; margin: 0; right: auto; top: 12px; }
.woocommerce div.product .product_title { font-size: 34px; line-height: 1.2; }
.woocommerce div.product span.onsale { left: 12px; right: auto; top: 12px; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { border-radius: 12px; }
.woocommerce ul.products li.product .button { background: var(--tb-soft); color: var(--tb-blue); font-size: 13px; text-align: center; }
.woocommerce ul.products li.product .button:hover { background: var(--tb-blue); color: #fff; filter: none; }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce #place_order, .woocommerce .single_add_to_cart_button { background: var(--tb-red); color: #fff; }
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce .single_add_to_cart_button:hover { background: #c40000; color: #fff; filter: none; }
.woocommerce-products-header__title, .woocommerce div.product .product_title { font-weight: 800; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--tb-ink); font-size: 26px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: #fff; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--tb-ink); }

/* Shop archive (inc/shop-archive.php, layout A) */
.tb-shophero { background: linear-gradient(115deg, var(--tb-deep), var(--tb-navy) 55%, var(--tb-blue)); color: #fff; overflow: hidden; padding: 28px 0 34px; position: relative; }
.tb-shophero::after { border: 60px solid rgba(255, 255, 255, .05); content: ""; height: 340px; position: absolute; right: -60px; top: -90px; transform: rotate(45deg); width: 340px; }
.tb-shophero__crumb { color: rgba(255, 255, 255, .65); font-size: 13px; margin-bottom: 14px; position: relative; z-index: 1; }
.tb-shophero__crumb a { color: rgba(255, 255, 255, .85); text-decoration: none; }
.tb-shophero__crumb a:hover { color: #fff; }
.tb-shophero__crumb span { margin: 0 4px; opacity: .6; }
.tb-shophero__row { align-items: flex-end; display: flex; gap: 30px; justify-content: space-between; position: relative; z-index: 1; }
.tb-shophero h1 { color: #fff; font-size: 42px; font-weight: 900; margin: 2px 0 6px; }
.tb-shophero p { color: rgba(255, 255, 255, .8); margin: 0; max-width: 620px; }
.tb-shophero__stats { display: flex; flex: none; gap: 12px; }
.tb-shophero__stats div { background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .16); border-radius: 14px; color: rgba(255, 255, 255, .8); font-size: 13px; padding: 12px 18px; }
.tb-shophero__stats b { color: #fff; display: block; font: 900 26px/1.1 var(--tb-head); }
.tb-shophero ~ .site-main .woo-wrap, .woo-wrap { padding-top: 28px; }
.tb-shop { align-items: start; display: grid; gap: 32px; grid-template-columns: 280px minmax(0, 1fr); }
.tb-shop__side { display: grid; gap: 14px; position: sticky; top: 150px; }
.tb-filters { display: grid; gap: 14px; }
.tb-filters__head { align-items: center; display: flex; justify-content: space-between; }
.tb-filters__head b { color: var(--tb-ink); font: 800 18px var(--tb-head); }
.tb-filters__head a { color: var(--tb-red); font-size: 13px; font-weight: 700; margin-left: auto; }
.tb-filters__close { display: none; }
.tb-fbox { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 18px; padding: 16px 16px 14px; }
.tb-fbox h4 { font-family: inherit; font-size: 14px; font-weight: 800; letter-spacing: 0; margin: 0 0 10px; }
.tb-fcats, .tb-fcheck { display: grid; gap: 2px; list-style: none; margin: 0; padding: 0; }
.tb-fcats a, .tb-fcheck label { align-items: center; border-radius: 10px; color: var(--tb-ink); cursor: pointer; display: flex; font-size: 14px; gap: 10px; padding: 7px 8px; text-decoration: none; transition: background .15s; }
.tb-fcats a:hover, .tb-fcheck label:hover { background: var(--tb-soft); }
.tb-fcats a.is-on { background: #eceef1; color: var(--tb-blue); font-weight: 700; }
.tb-fcats span, .tb-fcheck span { flex: 1; }
.tb-fcats em, .tb-fcheck em { background: var(--tb-soft); border-radius: 20px; color: var(--tb-muted); font-size: 12px; font-style: normal; padding: 1px 8px; }
.tb-fcats a.is-on em { background: #fff; color: var(--tb-blue); }
.tb-fcheck input { accent-color: var(--tb-blue); height: 16px; margin: 0; width: 16px; }
.tb-fcheck li.is-extra { display: none; }
.tb-fcheck.is-all li.is-extra, .tb-fcheck.is-finding li { display: block; }
.tb-fcheck.is-finding li.is-miss { display: none; }
.tb-fbox__find { border: 1.5px solid var(--tb-line); border-radius: 10px; font: inherit; font-size: 13px; margin-bottom: 6px; padding: 8px 10px; width: 100%; }
.tb-fbox__find:focus { border-color: var(--tb-blue); outline: 0; }
.tb-fbox__more { background: none; border: 0; color: var(--tb-blue); cursor: pointer; font: inherit; font-size: 13px; font-weight: 700; margin-top: 6px; padding: 4px 8px; }
.tb-range { height: 26px; margin: 4px 0 10px; position: relative; }
.tb-range__track { background: var(--tb-line); border-radius: 4px; height: 4px; left: 9px; position: absolute; right: 9px; top: 11px; }
.tb-range__track span { background: var(--tb-blue); border-radius: 4px; bottom: 0; position: absolute; top: 0; }
.tb-range input[type="range"] { -webkit-appearance: none; appearance: none; background: none; height: 26px; left: 0; margin: 0; pointer-events: none; position: absolute; top: 0; width: 100%; }
.tb-range input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; background: #fff; border: 3px solid var(--tb-blue); border-radius: 50%; cursor: grab; height: 18px; pointer-events: auto; width: 18px; }
.tb-range input[type="range"]::-moz-range-thumb { background: #fff; border: 3px solid var(--tb-blue); border-radius: 50%; cursor: grab; height: 14px; pointer-events: auto; width: 14px; }
.tb-prices { align-items: center; display: flex; gap: 6px; }
.tb-prices label { align-items: center; border: 1.5px solid var(--tb-line); border-radius: 10px; display: flex; flex: 1; min-width: 0; padding: 0 8px; }
.tb-prices label:focus-within { border-color: var(--tb-blue); }
.tb-prices label span { color: var(--tb-muted); font-size: 12px; }
.tb-prices input { -moz-appearance: textfield; border: 0; font: inherit; font-size: 13px; min-width: 0; outline: 0; padding: 8px 4px; width: 100%; }
.tb-prices input::-webkit-outer-spin-button, .tb-prices input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.tb-prices i { color: var(--tb-muted); font-style: normal; }
.tb-prices__go { background: var(--tb-soft); border: 0; border-radius: 10px; color: var(--tb-blue); cursor: pointer; font: inherit; font-size: 13px; font-weight: 700; margin-top: 10px; padding: 9px; width: 100%; }
.tb-prices__go:hover { background: var(--tb-blue); color: #fff; }
.tb-toggle { align-items: center; color: var(--tb-ink); cursor: pointer; display: flex; font-size: 14px; gap: 10px; padding: 6px 0; }
.tb-toggle input { opacity: 0; position: absolute; width: 0; }
.tb-toggle span { background: #d3d6dc; border-radius: 20px; flex: none; height: 20px; position: relative; transition: .2s; width: 36px; }
.tb-toggle span::after { background: #fff; border-radius: 50%; content: ""; height: 16px; left: 2px; position: absolute; top: 2px; transition: .2s; width: 16px; }
.tb-toggle input:checked + span { background: #1e9e5a; }
.tb-toggle input:checked + span::after { left: 18px; }
.tb-toggle input:focus-visible + span { outline: 2px solid var(--tb-blue); outline-offset: 2px; }
.tb-fhelp { background: linear-gradient(135deg, var(--tb-red), #b30000); border-radius: 18px; color: #fff; padding: 18px; }
.tb-fhelp b { font-size: 15px; }
.tb-fhelp p { font-size: 13px; margin: 4px 0 12px; opacity: .9; }
.tb-fhelp a { align-items: center; background: #fff; border-radius: 10px; color: #1e9e5a; display: inline-flex; font-size: 13px; font-weight: 800; gap: 6px; padding: 8px 14px; text-decoration: none; }
.tb-fhelp .tb-svg { height: 16px; width: 16px; }
.tb-toolbar { align-items: center; border-bottom: 1px solid var(--tb-line); display: flex; flex-wrap: wrap; gap: 12px 16px; margin-bottom: 22px; padding-bottom: 16px; }
.tb-toolbar__filter { display: none; }
.tb-toolbar__count { font-size: 14px; margin: 0; }
.tb-toolbar__count b { color: var(--tb-ink); }
.tb-chips { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
.tb-chips a { background: #eceef1; border-radius: 30px; color: var(--tb-blue); font-size: 13px; font-weight: 700; padding: 5px 12px; text-decoration: none; transition: .15s; }
.tb-chips a:hover { background: var(--tb-blue); color: #fff; }
.tb-chips a.tb-chips__clear { background: none; color: var(--tb-red); padding: 5px 4px; }
.tb-toolbar__right { align-items: center; display: flex; gap: 10px; margin-left: auto; }
.tb-toolbar .woocommerce-ordering { margin: 0; }
.tb-toolbar .woocommerce-ordering select { -webkit-appearance: none; appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230F1B33' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center; border: 1.5px solid var(--tb-line); border-radius: 12px; color: var(--tb-ink); cursor: pointer; font: inherit; font-size: 14px; font-weight: 600; padding: 9px 34px 9px 12px; }
.tb-view { border: 1.5px solid var(--tb-line); border-radius: 12px; display: flex; overflow: hidden; }
.tb-view button { background: #fff; border: 0; color: var(--tb-muted); cursor: pointer; display: flex; padding: 9px 11px; }
.tb-view button.is-on { background: var(--tb-blue); color: #fff; }
.tb-shop ul.products { gap: 28px 20px !important; }
.woocommerce .tb-shop ul.products li.product { background: none; border: 0; padding: 0; position: relative; }
.woocommerce .tb-shop ul.products li.product .tb-card { height: 100%; }
.woocommerce .tb-shop ul.products li.product > a:not(.tb-card__img) { display: none; }
.tb-shop.is-list ul.products { grid-template-columns: 1fr !important; gap: 14px !important; }
.tb-shop.is-list .tb-card { align-items: center; flex-direction: row; }
.tb-shop.is-list .tb-card__img { flex: 0 0 150px; padding: 12px; }
.tb-shop.is-list .tb-card__body { border-left: 1px solid var(--tb-line); border-top: 0; display: grid; gap: 4px 24px; grid-template-columns: 1fr auto; padding: 18px 22px; }
.tb-shop.is-list .tb-card__brand, .tb-shop.is-list .tb-card__title { grid-column: 1; }
.tb-shop.is-list .tb-card__title, .tb-shop.is-list ul.products li.product .tb-card__title { font-size: 15px; min-height: 0; }
.tb-shop.is-list .tb-card__price { grid-column: 2; grid-row: 1 / span 2; justify-content: flex-end; margin: 0; text-align: right; }
.tb-shop.is-list .tb-card__actions { grid-column: 1 / -1; justify-content: flex-start; margin-top: 6px; }
.tb-shop.is-list .tb-card__buy { flex: 0 0 180px; }
/* Load more (inc/shop-archive.php): replaces the page numbers */
.tb-loadmore ~ nav.woocommerce-pagination, .tb-loadmore ~ .woocommerce-pagination { display: none; }
.tb-loadmore { align-items: center; display: flex; flex-direction: column; gap: 12px; margin: 36px auto 0; max-width: 340px; text-align: center; }
.tb-loadmore__count { color: var(--tb-muted); font-size: 14px; margin: 0; }
.tb-loadmore__count b { color: var(--tb-ink); }
.tb-loadmore__bar { background: var(--tb-line); border-radius: 4px; display: block; height: 4px; overflow: hidden; width: 100%; }
.tb-loadmore__bar i { background: var(--tb-blue); border-radius: 4px; display: block; height: 100%; transition: width .4s; }
.tb-loadmore__btn { align-items: center; border: 1.5px solid var(--tb-blue); border-radius: 12px; color: var(--tb-blue); display: inline-flex; font-weight: 800; gap: 8px; height: 46px; justify-content: center; margin-top: 4px; padding: 0 28px; text-decoration: none; transition: background .2s, color .2s; width: 100%; }
.tb-loadmore__btn:hover { background: var(--tb-blue); color: #fff; }
.tb-loadmore__btn.is-loading { opacity: .7; pointer-events: none; }
.tb-loadmore__btn.is-loading::before { animation: tb-spin .7s linear infinite; border: 2px solid currentColor; border-radius: 50%; border-right-color: transparent; content: ""; height: 16px; width: 16px; }
@keyframes tb-spin { to { transform: rotate(360deg); } }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 8px; justify-content: center; margin-top: 36px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { align-items: center; border: 1.5px solid var(--tb-line); border-radius: 12px; color: var(--tb-ink); display: flex; font-weight: 700; height: 42px; justify-content: center; min-width: 42px; padding: 0 10px; }
.woocommerce nav.woocommerce-pagination ul li a:hover { border-color: var(--tb-blue); color: var(--tb-blue); background: #fff; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--tb-blue); border-color: var(--tb-blue); color: #fff; }
.tb-empty { background: var(--tb-soft); border-radius: 24px; padding: 56px 24px; text-align: center; }
.tb-empty > span { background: #fff; border-radius: 50%; box-shadow: var(--tb-sh); color: var(--tb-blue); display: inline-flex; height: 64px; justify-content: center; align-items: center; margin-bottom: 16px; width: 64px; }
.tb-empty h2 { font-size: 26px; margin: 0 0 8px; }
.tb-empty p { margin: 0 auto 20px; max-width: 520px; }
.tb-empty .tb-btns { justify-content: center; }
.tb-btn--wa { background: #25d366; color: #fff; }
.tb-btn--wa:hover { background: #1ebe5a; color: #fff; }
.tb-shop__scrim { display: none; }
@media (max-width: 1024px) {
	.tb-shop { grid-template-columns: minmax(0, 1fr); }
	.tb-shop__side { background: var(--tb-soft); bottom: 0; box-shadow: 0 0 40px rgba(0, 21, 66, .3); left: 0; max-width: 88vw; overflow-y: auto; padding: 18px; position: fixed; top: 0; transform: translateX(-105%); transition: transform .3s cubic-bezier(.2, .7, .2, 1); width: 340px; z-index: 9995; }
	.tb-shop.is-filtering .tb-shop__side { transform: none; }
	.tb-shop__scrim { background: rgba(0, 21, 66, .45); display: block; inset: 0; opacity: 0; pointer-events: none; position: fixed; transition: opacity .3s; z-index: 9994; }
	.tb-shop.is-filtering + .tb-shop__scrim { opacity: 1; pointer-events: auto; }
	.tb-filters__close { background: #fff; border: 0; border-radius: 10px; cursor: pointer; display: block; font-size: 22px; height: 36px; margin-left: 12px; width: 36px; }
	.tb-toolbar__filter { align-items: center; background: var(--tb-blue); border: 0; border-radius: 12px; color: #fff; cursor: pointer; display: inline-flex; font: inherit; font-size: 14px; font-weight: 700; gap: 8px; padding: 9px 14px; }
	.tb-toolbar__filter em { background: var(--tb-red); border-radius: 10px; font-size: 11px; font-style: normal; padding: 0 7px; }
	.tb-toolbar__filter .tb-svg { height: 16px; width: 16px; }
	.tb-shophero__row { align-items: flex-start; flex-direction: column; gap: 16px; }
}
@media (max-width: 767px) {
	.tb-shophero { padding: 20px 0 24px; }
	.tb-shophero h1 { font-size: 30px; }
	.tb-shophero__stats div { padding: 8px 14px; }
	.tb-shophero__stats b { font-size: 20px; }
	.tb-toolbar__right { margin-left: 0; width: 100%; }
	.tb-toolbar .woocommerce-ordering { flex: 1; min-width: 0; }
	.tb-toolbar .woocommerce-ordering select { width: 100%; }
	.tb-shop ul.products { gap: 16px 12px !important; }
	.tb-shop.is-list .tb-card__img { flex-basis: 110px; }
	.tb-shop.is-list .tb-card__body { grid-template-columns: 1fr; padding: 12px 14px; }
	.tb-shop.is-list .tb-card__price { grid-column: 1; grid-row: auto; justify-content: flex-start; text-align: left; }
	.tb-shop.is-list .tb-card__buy { flex: 1; }
	/* compact list rows on phones */
	.tb-shop.is-list ul.products { gap: 10px !important; }
	.tb-shop.is-list .tb-card__img { flex-basis: 96px; padding: 8px; }
	.tb-shop.is-list .tb-card__body { gap: 2px; padding: 10px 12px; }
	.tb-shop.is-list .tb-card__brand { font-size: 10px; }
	.tb-shop.is-list .tb-card__title, .tb-shop.is-list ul.products li.product .tb-card__title { font-size: 13px; line-height: 1.35; }
	.tb-shop.is-list .tb-card__price b { font-size: 15px; }
	.tb-shop.is-list .tb-card__actions { padding-top: 6px; }
	.tb-shop.is-list .tb-card__buy, .tb-shop.is-list .tb-card__wa { border-radius: 10px; height: 34px; }
	.tb-shop.is-list .tb-card__buy { font-size: 12.5px; }
	.tb-shop.is-list .tb-card__wa { width: 34px; }
	.tb-shop.is-list .tb-card__wl { bottom: 8px; height: 30px; left: 8px; right: auto; top: auto; width: 30px; }
	.tb-shop.is-list .tb-card__wl svg { height: 15px; width: 15px; }
}

/* My account (inc/account.php, page-my-account.php, woocommerce/myaccount overrides) */
.tb-shophero--account { padding-bottom: 30px; }
.tb-account { padding-block: 32px 24px; }
.tb-account .woocommerce { display: grid; gap: 28px; grid-template-columns: 300px minmax(0, 1fr); }
.tb-account .woocommerce > .woocommerce-notices-wrapper, .tb-account .woocommerce > .tb-auth, .tb-account .woocommerce > form.lost_reset_password, .tb-account .woocommerce > .woocommerce-message, .tb-account .woocommerce > .woocommerce-error, .tb-account .woocommerce > .woocommerce-info { grid-column: 1 / -1; }
.tb-account .woocommerce::before, .tb-account .woocommerce::after { display: none; }
.tb-account .woocommerce-MyAccount-content { float: none; min-width: 0; width: auto; }
.tb-btn--full { justify-content: center; width: 100%; }
.tb-field { display: grid; gap: 6px; margin: 0 0 14px; }
.tb-field label { color: var(--tb-ink); font-size: 14px; font-weight: 700; }
.tb-field input, .tb-account .woocommerce form .input-text, .tb-account .woocommerce form select, .tb-account .woocommerce form textarea { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 12px; color: var(--tb-ink); font: inherit; font-size: 15px; padding: 12px 14px; transition: border-color .2s, box-shadow .2s; width: 100%; }
.tb-field input:focus, .tb-account .woocommerce form .input-text:focus, .tb-account .woocommerce form select:focus { border-color: var(--tb-blue); box-shadow: 0 0 0 4px rgba(0, 51, 153, .12); outline: 0; }
.tb-field__pw { display: block; position: relative; }
.tb-field__pw input { padding-right: 46px; }
.tb-field__eye { align-items: center; background: none; border: 0; border-radius: 8px; color: var(--tb-muted); cursor: pointer; display: flex; height: 36px; justify-content: center; position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 36px; }
.tb-field__eye:hover, .tb-field__eye.is-on { color: var(--tb-blue); }
.tb-login .show-password-input, .tb-account .show-password-input { display: none; }
.tb-login button.tb-btn--red { background: var(--tb-red); color: #fff; }
.tb-login button.tb-btn--red:hover { background: #c40000; }
.tb-login button.tb-btn--blue { background: var(--tb-blue); color: #fff; }
.tb-login button.tb-btn--blue:hover { background: var(--tb-navy); }
.tb-login button.tb-btn { border: 0; border-radius: 14px; font-size: 15px; font-weight: 800; padding: 14px 24px; }
.tb-login__row { align-items: center; display: flex; font-size: 14px; justify-content: space-between; margin: 0 0 18px; }
.tb-login__remember { align-items: center; display: flex; gap: 8px; }
.tb-login__remember input { accent-color: var(--tb-blue); }
.tb-login__row a { font-weight: 700; }
.tb-auth { display: grid; gap: 24px; grid-template-columns: 1fr 1fr; margin: 0 auto; max-width: 1040px; }
.tb-auth__card { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 24px; box-shadow: var(--tb-sh); padding: 36px 38px; }
.tb-auth__card h2 { font-size: 28px; margin: 14px 0 6px; }
.tb-auth__icon { align-items: center; background: var(--tb-soft); border-radius: 16px; color: var(--tb-blue); display: inline-flex; height: 52px; justify-content: center; width: 52px; }
.tb-auth__icon .tb-svg { height: 24px; width: 24px; }
.tb-auth__lead { margin: 0 0 22px; }
.woocommerce form.tb-login, .woocommerce form.tb-login.login, .woocommerce form.tb-login.register { border: 0; border-radius: 0; margin: 0; padding: 0; }
.tb-auth__card--blue { background: linear-gradient(140deg, var(--tb-navy), var(--tb-blue)); border: 0; color: rgba(255, 255, 255, .85); }
.tb-auth__card--blue h2 { color: #fff; }
.tb-auth__card--blue .tb-field label { color: #fff; }
.tb-auth__card--blue .tb-field input { border-color: transparent; }
.tb-auth__hint { font-size: 14px; }
.tb-auth__points { border-top: 1px solid rgba(255, 255, 255, .18); display: grid; gap: 8px; list-style: none; margin: 22px 0 0; padding: 18px 0 0; }
.tb-auth__points li { align-items: center; display: flex; font-size: 14px; gap: 10px; }
.tb-auth__points li::before { background: var(--tb-logo-red); border-radius: 50%; color: #fff; content: "✓"; display: grid; flex: none; font-size: 11px; font-weight: 800; height: 20px; place-items: center; width: 20px; }
.tb-auth__card--blue .woocommerce-privacy-policy-text { font-size: 12px; opacity: .8; }
.tb-auth__card--blue .woocommerce-privacy-policy-text a { color: #fff; }
.tb-profile { align-self: start; background: #fff; border: 1.5px solid var(--tb-line); border-radius: 22px; overflow: hidden; position: sticky; top: 110px; }
.tb-profile p { margin: 0; }
.tb-profile__cover { background: linear-gradient(120deg, var(--tb-blue), var(--tb-navy)); border-bottom: 4px solid var(--tb-logo-red); height: 74px; }
.tb-profile__initials { align-items: center; background: #fff; border: 4px solid #fff; border-radius: 50%; box-shadow: 0 6px 16px rgba(0, 21, 66, .18); color: var(--tb-blue); display: flex; font: 900 22px var(--tb-head); height: 66px; justify-content: center; margin: -34px 0 0 20px; position: relative; width: 66px; }
.tb-profile__in { padding: 10px 20px 20px; }
.tb-profile__name { color: var(--tb-ink); font: 800 20px/1.25 var(--tb-head); }
.tb-profile__email { color: var(--tb-muted); font-size: 13px; margin: 2px 0 14px !important; overflow-wrap: anywhere; }
.tb-profile__stats { border: 1.5px solid var(--tb-line); border-radius: 14px; display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 14px; overflow: hidden; }
.tb-profile__stats a { align-items: center; color: var(--tb-muted); display: flex; font-size: 12px; font-weight: 600; gap: 10px; padding: 12px; text-decoration: none; transition: background .2s; }
.tb-profile__stats a + a { border-left: 1.5px solid var(--tb-line); }
.tb-profile__stats a:hover { background: var(--tb-soft); }
.tb-profile__stats i { align-items: center; background: #eef2fb; border-radius: 10px; color: var(--tb-blue); display: flex; flex: none; height: 34px; justify-content: center; width: 34px; }
.tb-profile__stats i .tb-svg { height: 18px; width: 18px; }
.tb-profile__stats b { color: var(--tb-ink); display: block; font: 900 18px/1.1 var(--tb-head); }
.tb-profile__actions { display: grid; gap: 8px; grid-template-columns: 1fr auto; }
.tb-profile__actions .tb-btn { justify-content: center; }
.tb-profile__actions .tb-btn .tb-svg { height: 18px; width: 18px; }
.tb-profile__logout { align-items: center; border: 1.5px solid var(--tb-line); border-radius: 12px; color: var(--tb-muted); display: flex; justify-content: center; transition: border-color .2s, color .2s; width: 48px; }
.tb-profile__logout:hover { border-color: var(--tb-red); color: var(--tb-red); }
.tb-tiles { display: grid; gap: 14px; grid-template-columns: repeat(4, 1fr); margin-bottom: 28px; }
.tb-tile { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 18px; color: var(--tb-ink); display: flex; flex-direction: column; gap: 4px; padding: 18px; position: relative; text-decoration: none; transition: transform .25s, box-shadow .25s, border-color .25s; }
.tb-tile:hover { border-color: transparent; box-shadow: var(--tb-shh); color: var(--tb-ink); transform: translateY(-4px); }
.tb-tile__icon { align-items: center; background: var(--tb-soft); border-radius: 14px; color: var(--tb-blue); display: flex; height: 46px; justify-content: center; margin-bottom: 8px; width: 46px; }
.tb-tile b { font-size: 16px; }
.tb-tile__note { align-items: center; color: var(--tb-muted); display: flex; font-size: 13px; gap: 6px; justify-content: space-between; }
.tb-tile__note .tb-svg { height: 16px; width: 16px; }
.tb-tile__badge { background: var(--tb-red); border-radius: 20px; color: #fff; font-size: 11px; font-weight: 800; padding: 3px 9px; position: absolute; right: 14px; top: 14px; }
.tb-tile.is-active { background: var(--tb-blue); border-color: var(--tb-blue); color: #fff; }
.tb-tile.is-active .tb-tile__icon { background: rgba(255, 255, 255, .14); color: #fff; }
.tb-tile.is-active .tb-tile__note { color: rgba(255, 255, 255, .75); }
.tb-tile--whatsapp .tb-tile__icon { background: #e9f8ef; color: #1e9e5a; }
.tb-tile--whatsapp:hover { border-color: #25d366; }
.tb-account__h { font-size: 22px; margin: 0 0 14px; }
.tb-account__row { align-items: baseline; display: flex; justify-content: space-between; margin-top: 34px; }
.tb-account__row a { font-weight: 700; }
.tb-account__again { display: grid; gap: 18px; grid-template-columns: repeat(4, 1fr); }
.tb-account table.shop_table { border: 1.5px solid var(--tb-line); border-collapse: separate; border-radius: 18px; overflow: hidden; }
.tb-account table.shop_table th { background: var(--tb-soft); color: var(--tb-ink); font-size: 13px; padding: 12px 16px; }
.tb-account table.shop_table td { border-top: 1px solid var(--tb-line); padding: 14px 16px; }
.tb-account table.shop_table .button { background: var(--tb-soft); color: var(--tb-blue); font-size: 13px; margin: 2px; padding: 8px 14px; }
.tb-account table.shop_table .button:hover { background: var(--tb-blue); color: #fff; }
.tb-status { border-radius: 20px; display: inline-block; font-size: 12px; font-weight: 800; padding: 4px 10px; }
.tb-status--completed { background: #e3f5ea; color: #157043; }
.tb-status--processing { background: #e6eefc; color: var(--tb-blue); }
.tb-status--on-hold, .tb-status--pending { background: #fff4d6; color: #7a5600; }
.tb-status--cancelled, .tb-status--failed, .tb-status--refunded { background: #ffe5e5; color: #b00000; }
/* Notices in the account area: white card, coloured edge, button on the right */
.tb-account .woocommerce-info, .tb-account .woocommerce-message, .tb-account .woocommerce-error { align-items: center; background: #fff; border: 1.5px solid var(--tb-line); border-left: 4px solid var(--tb-blue); border-radius: 14px; color: var(--tb-ink); display: flex; flex-wrap: wrap; font-size: 14px; gap: 10px 16px; justify-content: space-between; list-style: none; margin: 0 0 16px; padding: 14px 16px 14px 20px; }
.tb-account .woocommerce-message { border-left-color: #1e9e5a; }
.tb-account .woocommerce-error { border-left-color: var(--tb-red); }
.tb-account .woocommerce-info::before, .tb-account .woocommerce-message::before, .tb-account .woocommerce-error::before { display: none; }
.tb-account .woocommerce-info .button, .tb-account .woocommerce-message .button { background: var(--tb-blue); border-radius: 10px; color: #fff; float: none; font-size: 13px; font-weight: 700; margin: 0 0 0 auto; order: 2; padding: 9px 16px; }
.tb-account .woocommerce-info .button:hover, .tb-account .woocommerce-message .button:hover { background: var(--tb-navy); color: #fff; }
.tb-hide-next-notice, .tb-hide-next-notice + .woocommerce-info { display: none !important; }
/* Old Yop Snippet CSS for account endpoints: the theme owns this layout now */
body.woocommerce-account.woocommerce-page.logged-in .tb-account.tb-wrap .woocommerce .woocommerce-MyAccount-content.woocommerce-MyAccount-content { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
.tb-account .woocommerce-MyAccount-content form > h2, .tb-account .woocommerce-MyAccount-content form > h3 { font-size: 22px; margin: 0 0 18px; }
/* Old Yop Snippet #21 dashboard cards: replaced by .tb-tiles */
.tb-account .tb-dashboard-hub { display: none; }
.tb-btn--line { background: #fff; border-color: var(--tb-line); color: var(--tb-blue); }
.tb-btn--line:hover { border-color: var(--tb-blue); color: var(--tb-blue); }
.tb-account-empty { align-items: center; background: #fff; border: 1.5px dashed #c9cfd8; border-radius: 18px; display: grid; gap: 18px 22px; grid-template-columns: auto 1fr auto; padding: 24px; }
.tb-account-empty__icon { align-items: center; background: var(--tb-soft); border-radius: 16px; color: var(--tb-blue); display: flex; height: 60px; justify-content: center; width: 60px; }
.tb-account-empty__text b { color: var(--tb-ink); font: 800 18px var(--tb-head); }
.tb-account-empty__text p { color: var(--tb-muted); font-size: 14px; margin: 4px 0 0; max-width: 46ch; }
.tb-account-empty__cta { display: flex; flex-wrap: wrap; gap: 10px; }
.tb-account-empty__cta .tb-btn { font-size: 14px; padding: 11px 18px; }
/* Account details + address forms: white card, two-column grid */
.tb-account .woocommerce-EditAccountForm, .tb-account .woocommerce-MyAccount-content > form:not(.woocommerce-EditAccountForm) { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 18px; padding: 26px; }
.tb-account .woocommerce-EditAccountForm, .tb-account .woocommerce-EditAccountForm fieldset, .tb-account .woocommerce-address-fields__field-wrapper { column-gap: 18px; display: grid; grid-template-columns: 1fr 1fr; }
.tb-account .woocommerce-EditAccountForm > *, .tb-account .woocommerce-EditAccountForm fieldset > *, .tb-account .woocommerce-address-fields__field-wrapper > * { grid-column: 1 / -1; }
.tb-account .woocommerce form .form-row { float: none; margin: 0 0 16px; padding: 0; width: auto; }
.tb-account .woocommerce-EditAccountForm .form-row-first, .tb-account .woocommerce-EditAccountForm .form-row-last, .tb-account .woocommerce-address-fields .form-row-first, .tb-account .woocommerce-address-fields .form-row-last { grid-column: auto; }
.tb-account .woocommerce-EditAccountForm > .clear, .tb-account .woocommerce-EditAccountForm fieldset > .clear { display: none; }
.tb-account .woocommerce-EditAccountForm fieldset { background: var(--tb-soft); border: 0; border-radius: 16px; margin: 6px 0 20px; padding: 18px 20px 4px; }
.tb-account .woocommerce-EditAccountForm legend { color: var(--tb-ink); float: left; font: 800 16px var(--tb-head); grid-column: 1 / -1; width: 100%; margin-bottom: 12px; padding: 0; }
.tb-account .woocommerce-EditAccountForm fieldset > .form-row:nth-of-type(2), .tb-account .woocommerce-EditAccountForm fieldset > .form-row:nth-of-type(3) { grid-column: auto; }
.tb-account .woocommerce-EditAccountForm > p:last-of-type, .tb-account .woocommerce-address-fields > p:last-child { margin: 0; }
.tb-account .password-input { display: block; position: relative; }
.tb-account .woocommerce-EditAccountForm .show-password-input, .tb-account .woocommerce-ResetPassword .show-password-input { background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 18px no-repeat; border: 0; border-radius: 8px; cursor: pointer; display: block; height: 34px; padding: 0; position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 34px; }
.tb-account .show-password-input.display-password { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23003399' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M3 3l18 18'/%3E%3C/svg%3E"); }
.tb-account .show-password-input::after { display: none; }
.tb-account .woocommerce form .form-row label { color: var(--tb-ink); font-size: 13px; font-weight: 700; margin-bottom: 6px; }
.tb-account .woocommerce form .form-row em, .tb-account #account_display_name_description { color: var(--tb-muted); font-size: 12px; }
.tb-account .woocommerce-Address-title { align-items: center; display: flex; justify-content: space-between; gap: 10px; }
.tb-account .woocommerce-Address-title h2 { font-size: 18px; margin: 0; }
.tb-account .woocommerce-Address-title .edit { background: var(--tb-soft); border-radius: 10px; color: var(--tb-blue); float: none; font-size: 13px; font-weight: 700; padding: 8px 14px; text-decoration: none; }
.tb-account .woocommerce-Address-title .edit:hover { background: var(--tb-blue); color: #fff; }
.tb-account .woocommerce-Address address { color: var(--tb-body); font-style: normal; font-size: 14px; line-height: 1.7; margin-top: 12px; }
.tb-account .woocommerce-Addresses { gap: 18px; }
.tb-account .woocommerce-Address { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 18px; padding: 20px; }
.tb-account form .button, .tb-account .woocommerce-Button { background: var(--tb-blue); border-radius: 12px; color: #fff; }
.tb-account form.lost_reset_password { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 24px; box-shadow: var(--tb-sh); margin: 0 auto; max-width: 560px; padding: 32px; }
.tb-account form.lost_reset_password .form-row { float: none; width: 100%; }
.tb-panel { inset: 0; position: fixed; z-index: 9996; }
.tb-panel__shade { background: rgba(0, 21, 66, .45); inset: 0; position: absolute; }
.tb-panel__box { background: #fff; bottom: 0; box-shadow: -20px 0 50px rgba(0, 21, 66, .25); display: flex; flex-direction: column; max-width: 92vw; position: absolute; right: 0; top: 0; width: 420px; }
.tb-panel:not([hidden]) .tb-panel__box { animation: tb-panel-in .3s cubic-bezier(.2, .7, .2, 1); }
@keyframes tb-panel-in { from { transform: translateX(40px); opacity: 0; } }
.tb-panel__head { align-items: center; background: linear-gradient(120deg, var(--tb-deep), var(--tb-blue)); display: flex; justify-content: space-between; padding: 18px 22px; }
.tb-panel__head button { background: rgba(255, 255, 255, .14); border: 0; border-radius: 10px; color: #fff; cursor: pointer; font-size: 22px; height: 36px; width: 36px; }
.tb-panel__body { overflow-y: auto; padding: 26px 24px; }
.tb-panel__title { color: var(--tb-ink); font: 800 24px var(--tb-head); margin: 0; }
.tb-panel__lead { font-size: 14px; margin: 4px 0 20px; }
.tb-panel__new { background: var(--tb-soft); border-radius: 16px; margin-top: 20px; padding: 18px; }
.tb-panel__new p { font-size: 14px; margin: 4px 0 8px; }
.tb-panel__new a { font-weight: 800; }
/* Content pages (inc/pages.php: page.php, home.php, single.php, 404.php, page-contact.php, page-faqs-2.php, page-order-tracking.php) */
.tb-page { padding-block: 40px 72px; }
.tb-page__body { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 22px; margin-inline: auto; max-width: 900px; padding: 40px 48px; }
.tb-prose { color: var(--tb-body); font-size: 16px; line-height: 1.8; }
.tb-prose > :first-child { margin-top: 0; }
.tb-prose h2 { color: var(--tb-ink); font-size: 26px; margin: 34px 0 10px; }
.tb-prose h3 { color: var(--tb-ink); font-size: 20px; margin: 26px 0 8px; }
.tb-prose a { color: var(--tb-blue); font-weight: 600; }
.tb-prose ul, .tb-prose ol { padding-left: 22px; }
.tb-prose li { margin-bottom: 6px; }
.tb-prose li::marker { color: var(--tb-red); }
.tb-prose blockquote { border-left: 4px solid var(--tb-red); color: var(--tb-ink); font-size: 18px; margin: 24px 0; padding: 4px 0 4px 20px; }
.tb-prose img { border-radius: 14px; height: auto; max-width: 100%; }
.tb-prose table { border-collapse: collapse; width: 100%; }
.tb-prose th, .tb-prose td { border-bottom: 1px solid var(--tb-line); padding: 10px 12px; text-align: left; }
.tb-prose__hero { margin: 0 0 24px; }
.tb-page__updated { border-top: 1px solid var(--tb-line); color: var(--tb-muted); font-size: 13px; margin: 32px 0 0; padding-top: 16px; }
.tb-page-pending { background: #fff; border: 1.5px dashed #c9cfd8; border-radius: 24px; margin-inline: auto; max-width: 760px; padding: 48px 28px; text-align: center; }
.tb-page-pending__icon { align-items: center; background: #eef2fb; border-radius: 50%; color: var(--tb-blue); display: inline-flex; height: 76px; justify-content: center; margin-bottom: 14px; width: 76px; }
.tb-page-pending__icon .tb-svg { height: 32px; width: 32px; }
.tb-page-pending h2 { color: var(--tb-ink); font-size: 24px; margin: 0 0 6px; }
.tb-page-pending p { color: var(--tb-muted); margin: 0 auto 22px; max-width: 48ch; }
.tb-page-pending .tb-btns { justify-content: center; }
.tb-page-pending .tb-btn .tb-svg, .tb-404 .tb-btn .tb-svg { height: 18px; width: 18px; }
/* blog */
.tb-posts { display: grid; gap: 22px; grid-template-columns: repeat(3, 1fr); }
.tb-post-card { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 20px; display: flex; flex-direction: column; overflow: hidden; transition: transform .25s; }
.tb-post-card:hover { transform: translateY(-4px); }
.tb-post-card__img { aspect-ratio: 16 / 10; background: var(--tb-soft); display: block; overflow: hidden; }
.tb-post-card__img img { height: 100%; object-fit: cover; width: 100%; }
.tb-post-card__ph { align-items: center; color: #c2cbe0; display: flex; height: 100%; justify-content: center; }
.tb-post-card__body { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 18px 20px 22px; }
.tb-post-card time { color: var(--tb-red); font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.tb-post-card h2 { font-size: 19px; line-height: 1.35; margin: 0; }
.tb-post-card h2 a { color: var(--tb-ink); text-decoration: none; }
.tb-post-card p { color: var(--tb-body); font-size: 14px; margin: 0; }
.tb-post-card__more { font-size: 14px; font-weight: 800; margin-top: auto; padding-top: 8px; text-decoration: none; }
.tb-posts__nav { margin-top: 30px; text-align: center; }
/* 404 */
.tb-404 { background: linear-gradient(180deg, var(--tb-soft), #fff); padding: 80px 0 96px; text-align: center; }
.tb-404__inner { max-width: 860px; }
.tb-404__code { color: var(--tb-blue); font: 900 140px/1 var(--tb-head); margin: 0; }
.tb-404__code span { color: var(--tb-red); }
.tb-404 h1 { color: var(--tb-ink); font-size: 36px; font-weight: 900; margin: 6px 0 8px; }
.tb-404__lead { color: var(--tb-body); font-size: 17px; margin: 0 0 22px; }
.tb-404__search { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 16px; display: flex; margin: 0 auto 20px; max-width: 620px; padding: 6px; }
.tb-404__search input { border: 0; flex: 1; font: inherit; font-size: 16px; min-width: 0; padding: 10px 14px; }
.tb-404__search input:focus { outline: 0; }
.tb-404__search button { align-items: center; background: var(--tb-blue); border: 0; border-radius: 12px; color: #fff; cursor: pointer; display: flex; font: 700 15px var(--tb-text); gap: 8px; padding: 0 20px; }
.tb-404__search .tb-svg { height: 18px; width: 18px; }
.tb-404__cats { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; list-style: none; margin: 0 0 28px; padding: 0; }
.tb-404__cats a { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 30px; color: var(--tb-ink); display: block; font-size: 14px; font-weight: 600; padding: 8px 16px; text-decoration: none; }
.tb-404__cats a:hover { border-color: var(--tb-blue); color: var(--tb-blue); }
.tb-404 .tb-btns { justify-content: center; }
/* contact */
.tb-ct { padding-top: 40px; }
.tb-ct-quick { display: grid; gap: 14px; grid-template-columns: repeat(4, 1fr); margin-bottom: 64px; }
.tb-ct-quick__item { align-items: flex-start; background: #fff; border: 1.5px solid var(--tb-line); border-radius: 18px; color: var(--tb-body); display: flex; gap: 14px; padding: 18px; text-decoration: none; transition: border-color .2s, transform .2s; }
a.tb-ct-quick__item:hover { border-color: var(--tb-blue); color: var(--tb-body); transform: translateY(-3px); }
.tb-ct-quick__item > span { align-items: center; background: #eef2fb; border-radius: 12px; color: var(--tb-blue); display: flex; flex: none; height: 46px; justify-content: center; width: 46px; }
.tb-ct-quick__item > span .tb-svg { height: 22px; width: 22px; }
.tb-ct-quick__item p { font-size: 13px; line-height: 1.5; margin: 0; min-width: 0; overflow-wrap: anywhere; }
.tb-ct-quick__item { min-width: 0; }
.tb-ct-quick__item b { color: var(--tb-ink); display: block; font-size: 15px; }
.tb-ct-quick__item small { color: var(--tb-muted); display: block; font-size: 12px; margin-top: 4px; }
.tb-ct-quick__item--wa { border-color: #c9efd8; }
.tb-ct-quick__item--wa > span { background: #e9f8ef; color: #1e9e5a; }
a.tb-ct-quick__item--wa:hover { border-color: #25d366; }
.tb-ct-quick__item--warn { background: #fff8e6; border-color: #ffe3a3; }
.tb-ct-quick__item--warn > span { background: #fff; color: #b47a00; }
.tb-ct-branches { display: grid; gap: 16px; grid-template-columns: repeat(4, 1fr); list-style: none; margin: 0; padding: 0; }
.tb-ct-branches li { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 18px; display: flex; flex-direction: column; gap: 8px; padding: 18px 20px; transition: border-color .2s; }
.tb-ct-branches li:hover { border-color: #b8c6e6; }
.tb-ct-branches li.is-ho { background: var(--tb-blue); border-color: var(--tb-blue); }
.tb-ct-branch__top { align-items: center; display: flex; gap: 10px; }
.tb-ct-branch__pin { align-items: center; background: #ffe5e5; border-radius: 10px; color: var(--tb-red); display: flex; flex: none; height: 34px; justify-content: center; width: 34px; }
.tb-ct-branch__pin .tb-svg { height: 18px; width: 18px; }
.tb-ct-branches h3 { color: var(--tb-ink); font-size: 17px; margin: 0; }
.tb-ct-branch__addr { color: var(--tb-body); flex: 1; font-size: 14px; line-height: 1.55; margin: 0; }
.tb-ct-branch__tel { display: flex; flex-direction: column; gap: 4px; margin: 0; }
.tb-ct-branch__tel a { align-items: center; color: var(--tb-ink); display: inline-flex; font-size: 14px; font-weight: 700; gap: 6px; text-decoration: none; }
.tb-ct-branch__tel a:hover { color: var(--tb-blue); }
.tb-ct-branch__tel .tb-svg { color: var(--tb-muted); height: 14px; width: 14px; }
.tb-ct-branch__map { border-top: 1px solid var(--tb-line); font-size: 13px; font-weight: 800; margin-top: 4px; padding-top: 10px; text-decoration: none; }
.tb-ct-branches li.is-ho h3, .tb-ct-branches li.is-ho .tb-ct-branch__tel a, .tb-ct-branches li.is-ho .tb-ct-branch__map { color: #fff; }
.tb-ct-branches li.is-ho .tb-ct-branch__addr { color: rgba(255, 255, 255, .8); }
.tb-ct-branches li.is-ho .tb-ct-branch__pin { background: #fff; }
.tb-ct-branches li.is-ho .tb-ct-branch__tel .tb-svg { color: #ffd200; }
.tb-ct-branches li.is-ho .tb-ct-branch__map { border-color: rgba(255, 255, 255, .2); }
/* FAQ */
.tb-faq { align-items: start; display: grid; gap: 32px; grid-template-columns: 280px minmax(0, 1fr); }
.tb-faq__nav { display: flex; flex-direction: column; gap: 6px; position: sticky; top: 130px; }
.tb-faq__nav > a { border-radius: 12px; color: var(--tb-ink); font-weight: 700; padding: 10px 14px; text-decoration: none; }
.tb-faq__nav > a:hover { background: var(--tb-soft); color: var(--tb-blue); }
.tb-faq__help { background: var(--tb-soft); border-radius: 18px; margin-top: 14px; padding: 18px; }
.tb-faq__help b { color: var(--tb-ink); }
.tb-faq__help p { color: var(--tb-muted); font-size: 14px; margin: 2px 0 12px; }
.tb-faq__list { display: flex; flex-direction: column; gap: 34px; }
.tb-faq__group { scroll-margin-top: 140px; }
.tb-faq__group h2 { color: var(--tb-ink); font-size: 24px; margin: 0 0 14px; }
.tb-faq__item { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 16px; margin-bottom: 10px; transition: border-color .2s; }
.tb-faq__item[open] { border-color: #b8c6e6; }
.tb-faq__item summary { align-items: center; color: var(--tb-ink); cursor: pointer; display: flex; font-size: 16px; font-weight: 700; gap: 14px; justify-content: space-between; list-style: none; padding: 16px 20px; }
.tb-faq__item summary::-webkit-details-marker { display: none; }
.tb-faq__item summary::after { align-items: center; background: var(--tb-soft); border-radius: 50%; color: var(--tb-blue); content: "+"; display: flex; flex: none; font-size: 20px; font-weight: 700; height: 30px; justify-content: center; transition: transform .25s, background .2s; width: 30px; }
.tb-faq__item[open] summary::after { background: var(--tb-blue); color: #fff; transform: rotate(45deg); }
.tb-faq__a { color: var(--tb-body); font-size: 15px; line-height: 1.75; padding: 0 20px 18px; }
.tb-faq__a p { margin: 0; }
.tb-faq__a a { color: var(--tb-blue); font-weight: 700; }
/* order tracking */
.tb-track { align-items: start; display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr) 340px; }
.tb-track__main > .woocommerce { display: flex; flex-direction: column; gap: 18px; }
.tb-track__main form.track_order { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 20px; column-gap: 16px; display: grid; grid-template-columns: 1fr 1fr; margin: 0; padding: 28px; }
.tb-track__main form.track_order > p:first-child { color: var(--tb-body); grid-column: 1 / -1; line-height: 1.7; margin: 0 0 18px; }
.tb-track__main form.track_order .form-row { float: none !important; margin: 0 0 16px; padding: 0; width: auto !important; }
.tb-track__main form.track_order label { color: var(--tb-ink); display: block; font-size: 13px; font-weight: 700; margin-bottom: 6px; }
.tb-track__main form.track_order .input-text { border: 1.5px solid var(--tb-line); border-radius: 12px; font: inherit; font-size: 15px; padding: 12px 14px; width: 100%; }
.tb-track__main form.track_order .input-text:focus { border-color: var(--tb-blue); box-shadow: 0 0 0 4px rgba(0, 51, 153, .12); outline: 0; }
.tb-track__main form.track_order .form-row-first + .form-row-last + .clear, .tb-track__main form.track_order .clear { display: none; }
.tb-track__main form.track_order .form-row:last-of-type { grid-column: 1 / -1; margin: 0; }
.tb-track__main form.track_order .button { background: var(--tb-red); border: 0; border-radius: 14px; color: #fff; cursor: pointer; font: 800 16px var(--tb-head); min-height: 52px; padding: 0 30px; }
.tb-track__main form.track_order .button:hover { background: #c40000; }
.tb-track__main > .woocommerce > p { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 16px; color: var(--tb-ink); margin: 0; padding: 16px 20px; }
.tb-track__main mark { background: none; color: var(--tb-blue); font-weight: 800; }
.tb-track__side { display: flex; flex-direction: column; gap: 12px; position: sticky; top: 130px; }
.tb-track__tile { align-items: flex-start; background: #fff; border: 1.5px solid var(--tb-line); border-radius: 16px; color: var(--tb-body); display: flex; gap: 12px; padding: 16px; text-decoration: none; transition: border-color .2s; }
.tb-track__tile:hover { border-color: var(--tb-blue); color: var(--tb-body); }
.tb-track__tile > span { align-items: center; background: #eef2fb; border-radius: 10px; color: var(--tb-blue); display: flex; flex: none; height: 40px; justify-content: center; width: 40px; }
.tb-track__tile > span .tb-svg { height: 20px; width: 20px; }
.tb-track__tile p { font-size: 13px; line-height: 1.5; margin: 0; }
.tb-track__tile b { color: var(--tb-ink); display: block; font-size: 15px; }
.tb-track__tile--wa > span { background: #e9f8ef; color: #1e9e5a; }
@media (max-width: 1100px) {
	.tb-ct-quick, .tb-ct-branches { grid-template-columns: 1fr 1fr; }
	.tb-posts { grid-template-columns: 1fr 1fr; }
	.tb-faq, .tb-track { grid-template-columns: 1fr; }
	.tb-faq__nav { flex-direction: row; flex-wrap: wrap; position: static; }
	.tb-faq__help { display: none; }
	.tb-track__side { position: static; }
}
@media (max-width: 767px) {
	.tb-page { padding-block: 24px 48px; }
	.tb-page__body { padding: 24px 18px; }
	.tb-ct-quick, .tb-ct-branches, .tb-posts { grid-template-columns: 1fr; }
	.tb-ct-quick { margin-bottom: 44px; }
	.tb-404 { padding: 48px 0 64px; }
	.tb-404__code { font-size: 96px; }
	.tb-404 h1 { font-size: 26px; }
	.tb-track__main form.track_order { grid-template-columns: 1fr; padding: 20px; }
	.tb-faq__item summary { font-size: 15px; padding: 14px 16px; }
}
/* About page (page-about.php, 11 Nov 2026 redesign; prefix tb-ab) */
.tb-ab-hero { background: var(--bg) center / cover; color: #fff; overflow: hidden; padding: 34px 0 76px; position: relative; }
.tb-ab-hero::before { background: linear-gradient(100deg, var(--tb-deep) 25%, rgba(0, 32, 95, .86) 55%, rgba(0, 51, 153, .62)); content: ""; inset: 0; position: absolute; }
.tb-ab-hero::after { border: 70px solid rgba(255, 255, 255, .05); content: ""; height: 420px; position: absolute; right: -90px; top: -120px; transform: rotate(45deg); width: 420px; }
.tb-ab-hero__inner { align-items: end; display: grid; gap: 48px; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); position: relative; z-index: 1; }
.tb-ab-hero .tb-shophero__crumb { margin-bottom: 46px; }
.tb-ab-hero h1 { color: #fff; font-size: 62px; font-weight: 900; line-height: 1.05; margin: 18px 0 16px; }
.tb-ab-hero p { color: rgba(255, 255, 255, .86); font-size: 18px; line-height: 1.7; margin: 0 0 28px; max-width: 640px; }
.tb-ab-hero strong { color: #fff; }
.tb-ab-hero .tb-btn--ghost .tb-svg { height: 18px; width: 18px; }
.tb-ab-stats { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
.tb-ab-stats div { backdrop-filter: blur(8px); background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .18); border-radius: 18px; padding: 20px 22px; }
.tb-ab-stats b { color: #fff; display: block; font: 900 38px/1.1 var(--tb-head); }
.tb-ab-stats div:first-child b { color: #ffd200; }
.tb-ab-stats span { color: rgba(255, 255, 255, .78); font-size: 14px; font-weight: 600; }
.tb-ab-sec { padding: 84px 0; }
.tb-ab-sec--soft { background: var(--tb-soft); }
.tb-ab-sec--last { padding-top: 0; }
.tb-ab-sec--soft + .tb-ab-sec--last { padding-top: 84px; }
.tb-ab-head { align-items: flex-end; display: flex; gap: 30px; justify-content: space-between; margin-bottom: 36px; }
.tb-ab-head > div { max-width: 760px; }
.tb-ab-head h2, .tb-ab-who h2, .tb-ab-visit h2 { color: var(--tb-ink); font-size: 40px; font-weight: 900; line-height: 1.15; margin: 4px 0 12px; }
.tb-ab-head .tb-lead { margin: 0; }
.tb-ab-head--center { justify-content: center; text-align: center; }
.tb-ab-head--center > div { margin-inline: auto; }
.tb-ab-head--center .tb-eyebrow { justify-content: center; }
.tb-ab-more { align-items: center; display: inline-flex; flex: none; font-weight: 800; gap: 8px; text-decoration: none; }
.tb-ab-more .tb-svg { height: 18px; width: 18px; }
/* who we are */
.tb-ab-who { align-items: center; display: grid; gap: 64px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); }
.tb-ab-who__media { position: relative; }
.tb-ab-who__media img { aspect-ratio: 5 / 4; border-radius: 26px; object-fit: cover; width: 100%; }
.tb-ab-badge { background: var(--tb-red); border-radius: 20px; bottom: -26px; color: #fff; padding: 18px 24px; position: absolute; right: 28px; }
.tb-ab-badge b { display: block; font: 900 40px/1 var(--tb-head); }
.tb-ab-badge span { font-size: 13px; font-weight: 700; opacity: .9; }
.tb-ab-who__copy p { color: var(--tb-body); }
.tb-ab-companies { display: grid; gap: 14px; grid-template-columns: 1fr 1fr; margin-top: 26px; }
.tb-ab-companies div { align-items: center; background: #fff; border: 1.5px solid var(--tb-line); border-radius: 16px; display: flex; gap: 14px; padding: 16px 18px; }
.tb-ab-companies span { align-items: center; background: #eef2fb; border-radius: 12px; color: var(--tb-blue); display: flex; flex: none; height: 46px; justify-content: center; width: 46px; }
.tb-ab-companies p { color: var(--tb-muted); font-size: 13px; margin: 0; }
.tb-ab-companies b { color: var(--tb-ink); display: block; font-size: 15px; }
.tb-ab-types { align-items: center; background: var(--tb-soft); border-radius: 26px; display: grid; gap: 28px; grid-template-columns: 300px minmax(0, 1fr); margin-top: 84px; padding: 30px 34px; }
.tb-ab-types__head h3 { color: var(--tb-ink); font-size: 24px; margin: 0 0 6px; }
.tb-ab-types__head p { color: var(--tb-muted); font-size: 15px; margin: 0; }
.tb-ab-types ul { display: grid; gap: 12px; grid-template-columns: repeat(6, 1fr); list-style: none; margin: 0; padding: 0; }
.tb-ab-types li { align-items: center; background: #fff; border-radius: 18px; display: flex; flex-direction: column; gap: 10px; padding: 20px 10px; text-align: center; transition: transform .25s; }
.tb-ab-types li:hover { transform: translateY(-4px); }
.tb-ab-types li span { align-items: center; background: var(--tb-blue); border-radius: 14px; color: #fff; display: flex; height: 52px; justify-content: center; width: 52px; }
.tb-ab-types li b { color: var(--tb-ink); font-size: 14px; }
/* quote */
.tb-ab-quote { background: linear-gradient(120deg, var(--tb-deep), var(--tb-blue)); color: #fff; overflow: hidden; padding: 76px 0; position: relative; text-align: center; }
.tb-ab-quote svg { color: var(--tb-red); }
.tb-ab-quote h2 { color: #fff; font-size: 44px; font-weight: 900; line-height: 1.2; margin: 14px auto 10px; max-width: 900px; }
.tb-ab-quote p { color: rgba(255, 255, 255, .78); font-weight: 700; margin: 0; }
/* brands */
.tb-ab-brands { display: grid; gap: 14px; grid-template-columns: repeat(8, 1fr); list-style: none; margin: 0; padding: 0; }
.tb-ab-brands a { align-items: center; aspect-ratio: 3 / 2; background: #fff; border: 1.5px solid var(--tb-line); border-radius: 16px; display: flex; justify-content: center; padding: 14px; transition: border-color .2s, transform .2s; }
.tb-ab-brands a:hover { border-color: var(--tb-blue); transform: translateY(-3px); }
.tb-ab-brands img { height: 100%; max-height: 70px; object-fit: contain; width: 100%; }
.tb-ab-brandwall { background: var(--tb-soft); border-radius: 26px; padding: 34px; }
.tb-ab-brandimg { border-radius: 14px; display: block; margin-inline: auto; max-width: 1100px; width: 100%; }
/* activities */
.tb-ab-acts { display: grid; gap: 24px; grid-template-columns: repeat(3, 1fr); }
.tb-ab-act { background: #fff; border-radius: 22px; overflow: hidden; transition: transform .3s; }
.tb-ab-act:hover { transform: translateY(-6px); }
.tb-ab-act__img { aspect-ratio: 4 / 3; overflow: hidden; position: relative; }
.tb-ab-act__img img { height: 100%; object-fit: cover; transition: transform .6s; width: 100%; }
.tb-ab-act:hover .tb-ab-act__img img { transform: scale(1.06); }
.tb-ab-act__img span { background: var(--tb-red); border-radius: 8px; color: #fff; font-size: 12px; font-weight: 800; left: 16px; letter-spacing: .06em; padding: 5px 11px; position: absolute; text-transform: uppercase; top: 16px; }
.tb-ab-act__body { padding: 22px 24px 26px; }
.tb-ab-act h3 { color: var(--tb-ink); font-size: 21px; margin: 0 0 8px; }
.tb-ab-act p { color: var(--tb-body); font-size: 15px; line-height: 1.65; margin: 0; }
/* journey timeline: centre line, cards alternate left and right */
.tb-ab-tl { list-style: none; margin: 0 auto; max-width: 1100px; padding: 0; position: relative; }
.tb-ab-tl::before { background: linear-gradient(#c9d3e8, var(--tb-blue)); content: ""; left: 50%; position: absolute; top: 0; bottom: 0; transform: translateX(-50%); width: 3px; }
.tb-ab-tl li { padding: 0 0 22px; position: relative; width: 50%; }
.tb-ab-tl li:nth-child(odd) { padding-right: 44px; }
.tb-ab-tl li:nth-child(even) { margin-left: 50%; padding-left: 44px; }
.tb-ab-tl li::before { background: #fff; border: 4px solid var(--tb-blue); border-radius: 50%; content: ""; height: 18px; position: absolute; top: 26px; width: 18px; z-index: 1; }
.tb-ab-tl li:nth-child(odd)::before { right: -9px; }
.tb-ab-tl li:nth-child(even)::before { left: -9px; }
.tb-ab-tl li.is-now::before { background: var(--tb-red); border-color: #ffd2d2; box-shadow: 0 0 0 6px rgba(230, 0, 0, .12); }
.tb-ab-tl__card { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 18px; padding: 20px 22px; transition: border-color .2s; }
.tb-ab-tl__card:hover { border-color: #b8c6e6; }
.tb-ab-tl li.is-now .tb-ab-tl__card { background: var(--tb-blue); border-color: var(--tb-blue); color: #fff; }
.tb-ab-tl__year { color: var(--tb-red); font: 900 26px var(--tb-head); }
.tb-ab-tl li.is-now .tb-ab-tl__year { color: #ffd200; }
.tb-ab-tl__card h3 { color: var(--tb-ink); font-size: 18px; margin: 2px 0 6px; }
.tb-ab-tl__card p { color: var(--tb-body); font-size: 14px; line-height: 1.6; margin: 0; }
.tb-ab-tl li.is-now h3, .tb-ab-tl li.is-now p { color: #fff; }
.tb-ab-tl__area { align-items: center; background: #eef2fb; border-radius: 8px; color: var(--tb-blue); display: inline-flex; font-size: 12px; font-weight: 800; gap: 6px; margin-top: 12px; padding: 5px 10px; }
.tb-ab-tl__area .tb-svg { height: 14px; width: 14px; }
.tb-ab-tl li.is-now .tb-ab-tl__area { background: rgba(255, 255, 255, .16); color: #fff; }
/* visit */
.tb-ab-visit { align-items: stretch; display: grid; gap: 48px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); }
.tb-ab-contact { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; list-style: none; margin: 24px 0 28px; padding: 0; }
.tb-ab-contact li { align-items: flex-start; background: #fff; border-radius: 16px; display: flex; gap: 12px; padding: 14px 16px; }
.tb-ab-contact li:first-child, .tb-ab-contact li:last-child { grid-column: 1 / -1; }
.tb-ab-contact span { align-items: center; background: #eef2fb; border-radius: 10px; color: var(--tb-blue); display: flex; flex: none; height: 38px; justify-content: center; width: 38px; }
.tb-ab-contact span .tb-svg { height: 18px; width: 18px; }
.tb-ab-contact p { color: var(--tb-body); font-size: 14px; line-height: 1.5; margin: 0; overflow-wrap: anywhere; }
.tb-ab-contact b { color: var(--tb-ink); display: block; font-size: 13px; }
.tb-ab-contact a { color: var(--tb-body); text-decoration: none; }
.tb-ab-contact a:hover { color: var(--tb-blue); }
.tb-ab-visit .tb-btn .tb-svg { height: 18px; width: 18px; }
.tb-ab-visit__map { border-radius: 24px; min-height: 440px; overflow: hidden; }
.tb-ab-visit__map iframe { border: 0; display: block; height: 100%; min-height: 440px; width: 100%; }
/* closing CTA */
.tb-ab-cta { align-items: center; background: linear-gradient(120deg, var(--tb-deep), var(--tb-blue)); border-radius: 28px; color: #fff; display: flex; gap: 30px; justify-content: space-between; overflow: hidden; padding: 48px 54px; position: relative; }
.tb-ab-cta h2 { color: #fff; font-size: 36px; font-weight: 900; margin: 4px 0 8px; }
.tb-ab-cta p { color: rgba(255, 255, 255, .8); margin: 0; max-width: 620px; }
.tb-ab-cta .tb-btns { flex: none; }
.tb-ab-cta .tb-btn .tb-svg { height: 18px; width: 18px; }
@media (max-width: 1100px) {
	.tb-ab-hero__inner, .tb-ab-who, .tb-ab-visit { grid-template-columns: 1fr; }
	.tb-ab-types { grid-template-columns: 1fr; }
	.tb-ab-types ul { grid-template-columns: repeat(3, 1fr); }
	.tb-ab-brands { grid-template-columns: repeat(5, 1fr); }
	.tb-ab-cta { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 767px) {
	.tb-ab-hero { padding: 20px 0 48px; }
	.tb-ab-hero .tb-shophero__crumb { margin-bottom: 24px; }
	.tb-ab-hero h1 { font-size: 38px; }
	.tb-ab-hero p { font-size: 16px; }
	.tb-ab-stats b { font-size: 28px; }
	.tb-ab-stats div { padding: 14px 16px; }
	.tb-ab-sec { padding: 56px 0; }
	.tb-ab-sec--soft + .tb-ab-sec--last { padding-top: 56px; }
	.tb-ab-head { align-items: flex-start; flex-direction: column; gap: 14px; }
	.tb-ab-head h2, .tb-ab-who h2, .tb-ab-visit h2 { font-size: 28px; }
	.tb-ab-who { gap: 46px; }
	.tb-ab-badge { right: 16px; }
	.tb-ab-companies, .tb-ab-contact { grid-template-columns: 1fr; }
	.tb-ab-types { margin-top: 56px; padding: 22px 18px; }
	.tb-ab-types ul { grid-template-columns: repeat(2, 1fr); }
	.tb-ab-quote { padding: 54px 0; }
	.tb-ab-quote h2 { font-size: 28px; }
	.tb-ab-brands { grid-template-columns: repeat(3, 1fr); gap: 10px; }
	.tb-ab-acts { grid-template-columns: 1fr; }
	.tb-ab-tl::before { left: 9px; transform: none; }
	.tb-ab-tl li, .tb-ab-tl li:nth-child(even) { margin-left: 0; padding: 0 0 16px 36px; width: auto; }
	.tb-ab-tl li:nth-child(odd) { padding-right: 0; }
	.tb-ab-tl li:nth-child(odd)::before, .tb-ab-tl li:nth-child(even)::before { left: 0; right: auto; }
	.tb-ab-visit__map, .tb-ab-visit__map iframe { min-height: 300px; }
	.tb-ab-cta { padding: 32px 24px; }
	.tb-ab-cta h2 { font-size: 26px; }
}
/* Product page (inc/product.php) */
.single-product .woo-wrap { margin-inline: auto; max-width: var(--tb-max); padding: 22px var(--tb-gut) 56px; width: 100%; }
.single-product .woocommerce-breadcrumb { color: var(--tb-muted); font-size: 13px; margin: 0 0 18px; }
.single-product .woocommerce-breadcrumb a { color: var(--tb-body); text-decoration: none; }
.single-product .woocommerce-breadcrumb a:hover { color: var(--tb-blue); }
.single-product div.product { align-items: start; display: grid; gap: 28px 48px; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); position: relative; }
.single-product div.product > * { float: none !important; margin: 0 !important; width: auto !important; }
.single-product div.product > .woocommerce-tabs, .single-product div.product > .tb-pd-rail, .single-product div.product > section, .single-product div.product > .clear { grid-column: 1 / -1; }
.single-product div.product > span.onsale { left: 18px; min-height: 0; min-width: 0; position: absolute; top: 18px; z-index: 5; }
.single-product div.product > span.onsale { background: var(--tb-red); border-radius: 8px; color: #fff; font-size: 13px; font-weight: 800; line-height: 1; padding: 6px 11px; }
/* gallery */
.single-product .woocommerce-product-gallery { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 22px; padding: 18px; position: relative; }
.single-product .woocommerce-product-gallery .flex-viewport, .single-product .woocommerce-product-gallery__wrapper { border-radius: 14px; }
.single-product .woocommerce-product-gallery__image img { aspect-ratio: 1; background: #fff; object-fit: contain; width: 100%; }
.single-product .woocommerce-product-gallery__image a { cursor: zoom-in; }
.single-product .woocommerce-product-gallery__trigger { align-items: center; background: #fff !important; border: 1.5px solid var(--tb-line); border-radius: 50% !important; display: flex !important; height: 40px !important; justify-content: center; right: 18px !important; top: 18px !important; width: 40px !important; z-index: 4; }
.single-product .woocommerce-product-gallery .flex-control-thumbs { display: grid !important; gap: 10px; grid-template-columns: repeat(5, 1fr); margin: 14px 0 0 !important; padding: 0; }
.single-product .woocommerce-product-gallery .flex-control-thumbs li { float: none !important; list-style: none; width: auto !important; }
.single-product .woocommerce-product-gallery .flex-control-thumbs img { aspect-ratio: 1; border: 1.5px solid var(--tb-line); border-radius: 12px; cursor: pointer; object-fit: contain; opacity: .7; padding: 4px; transition: border-color .2s, opacity .2s; }
.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover, .single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active { border-color: var(--tb-blue); opacity: 1; }
/* summary */
.single-product .summary { display: flex; flex-direction: column; gap: 14px; }
.tb-pd__eyebrow { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; }
.tb-pd__brand { background: #eef2fb; border-radius: 8px; color: var(--tb-blue); font-size: 12px; font-weight: 800; letter-spacing: .06em; padding: 5px 10px; text-decoration: none; text-transform: uppercase; }
.tb-pd__brand:hover { background: var(--tb-blue); color: #fff; }
.tb-pd__cat { color: var(--tb-muted); font-size: 13px; font-weight: 600; text-decoration: none; }
.tb-pd__cat:hover { color: var(--tb-blue); }
.single-product .summary .product_title { color: var(--tb-ink); font-size: 30px; font-weight: 900; line-height: 1.2; margin: 0 !important; }
.tb-pd__status { align-items: center; display: flex; flex-wrap: wrap; font-size: 13px; gap: 8px 16px; }
.tb-stock { align-items: center; border-radius: 20px; display: inline-flex; font-size: 12px; font-weight: 800; gap: 6px; padding: 4px 10px; }
.tb-stock::before { background: currentColor; border-radius: 50%; content: ""; height: 7px; width: 7px; }
.tb-stock--in { background: #e3f5ea; color: #157043; }
.tb-stock--low { background: #fff4d6; color: #7a5600; }
.tb-stock--out { background: #ffe5e5; color: #b00000; }
.tb-pd__sku { color: var(--tb-muted); }
.tb-pd__sku b { color: var(--tb-ink); }
.tb-pd__rate { color: #b47a00; font-weight: 800; text-decoration: none; }
.tb-pd__rate span { color: var(--tb-muted); font-weight: 500; }
.tb-pd__pricebox { align-items: center; background: var(--tb-soft); border-radius: 18px; display: flex; flex-wrap: wrap; gap: 8px 14px; padding: 16px 20px; }
.single-product .tb-pd__pricebox p.price { align-items: baseline; color: var(--tb-red); display: flex; flex-wrap: wrap; font: 900 32px/1.1 var(--tb-head); gap: 4px 12px; margin: 0; }
.single-product .tb-pd__pricebox p.price:has(del) { flex-direction: row-reverse; justify-content: flex-end; }
.single-product .tb-pd__pricebox p.price ins { color: var(--tb-red); text-decoration: none; }
.single-product .tb-pd__pricebox p.price del { color: var(--tb-muted) !important; font: 600 16px var(--tb-text) !important; opacity: 1; }
.single-product .tb-pd__pricebox p.price del * { font: inherit !important; }
.single-product .tb-pd__pricebox p.price.is-ask { color: var(--tb-blue); font-size: 26px; }
.single-product .tb-pd__pricebox p.price .woocommerce-Price-currencySymbol { font-size: .65em; margin-right: 2px; }
.tb-pd__save { background: #ffe5e5; border-radius: 8px; color: #b00000; font-size: 13px; font-weight: 800; padding: 5px 10px; }
.single-product .woocommerce-product-details__short-description { color: var(--tb-body); font-size: 15px; line-height: 1.7; }
.single-product .woocommerce-product-details__short-description p { margin: 0 0 8px; }
/* cart form */
.single-product form.cart { display: flex; flex-direction: column; gap: 14px; margin: 0 !important; }
.single-product form.cart:not(.variations_form), .single-product .woocommerce-variation-add-to-cart { align-items: stretch; display: flex !important; flex-direction: row; flex-wrap: wrap; gap: 10px; }
.single-product form.cart .tb-fulfilment { flex: 0 0 100%; }
.single-product form.cart .quantity { float: none !important; margin: 0 !important; }
.single-product .tb-qty button { height: 50px; width: 42px; }
.single-product .tb-qty input.qty { height: 50px !important; }
.single-product form.cart .single_add_to_cart_button { background: #fff !important; border: 2px solid var(--tb-blue) !important; border-radius: 14px !important; color: var(--tb-blue) !important; flex: 1; float: none !important; font: 800 15px var(--tb-head) !important; min-height: 50px; padding: 0 18px !important; transition: background .2s, color .2s; }
.single-product form.cart .single_add_to_cart_button:hover { background: var(--tb-blue) !important; color: #fff !important; }
.single-product form.cart .single_add_to_cart_button.disabled { opacity: .5; }
.single-product form.cart .tb-wl-single { border-radius: 14px; justify-content: center; margin: 0 !important; min-height: 50px; padding: 0 16px; }
.tb-pd__buynow { background: var(--tb-red); border: 0; border-radius: 14px; color: #fff; cursor: pointer; flex: 0 0 100%; font: 800 16px var(--tb-head); min-height: 54px; order: 9; transition: background .2s; }
.tb-pd__buynow:hover { background: #c40000; }
.single-product form.cart .tb-wl-single { order: 3; }
.single-product table.variations { border: 0; margin: 0 !important; width: 100%; }
.single-product table.variations tr { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.single-product table.variations th, .single-product table.variations td { display: block; padding: 0 !important; text-align: left; }
.single-product table.variations th label { color: var(--tb-ink); font-size: 14px; font-weight: 800; }
.single-product table.variations select { border: 1.5px solid var(--tb-line); border-radius: 12px; font: inherit; padding: 11px 14px; width: 100%; }
.single-product .wcboost-variation-swatches__item { border-radius: 10px !important; }
.single-product .wcboost-variation-swatches__item.selected { box-shadow: 0 0 0 2px var(--tb-blue) !important; }
.single-product .reset_variations { color: var(--tb-muted); font-size: 13px; }
.single-product .woocommerce-variation-price { background: var(--tb-soft); border-radius: 14px; margin-bottom: 4px; padding: 12px 16px; }
.single-product .woocommerce-variation { margin-bottom: 16px; }
.single-product .woocommerce-variation-price .price { align-items: baseline; color: var(--tb-red) !important; display: flex; flex-direction: row-reverse; font: 900 24px var(--tb-head) !important; gap: 10px; justify-content: flex-end; margin: 0; }
.single-product .woocommerce-variation-price .price ins { color: var(--tb-red); text-decoration: none; }
.single-product .woocommerce-variation-price .price del { color: var(--tb-muted) !important; font: 600 15px var(--tb-text) !important; }
.single-product .woocommerce-variation-price .price del * { font: inherit !important; }
.single-product .woocommerce-variation-availability p { margin: 0; }
/* help + trust */
.tb-pd__help { display: flex; flex-direction: column; gap: 12px; }
.tb-pd__wa { align-items: center; background: #fff; border: 1.5px solid #c9efd8; border-radius: 16px; color: #157043; display: flex; gap: 14px; padding: 14px 16px; text-decoration: none; transition: border-color .2s; }
.tb-pd__wa:hover { border-color: #25d366; color: #157043; }
.tb-pd__wa .tb-svg { height: 26px; width: 26px; }
.tb-pd__wa span { display: flex; flex-direction: column; font-size: 13px; }
.tb-pd__wa b { color: var(--tb-ink); font-size: 15px; }
.tb-pd__trust { border-top: 1.5px solid var(--tb-line); display: grid; gap: 12px; grid-template-columns: repeat(3, 1fr); list-style: none; margin: 4px 0 0; padding: 16px 0 0; }
.tb-pd__trust li { align-items: flex-start; display: flex; gap: 10px; }
.tb-pd__trust .tb-svg { background: var(--tb-soft); border-radius: 10px; color: var(--tb-blue); flex: none; height: 36px; padding: 9px; width: 36px; }
.tb-pd__trust span { color: var(--tb-muted); display: flex; flex-direction: column; font-size: 12px; line-height: 1.45; }
.tb-pd__trust b { color: var(--tb-ink); font-size: 13px; }
/* tabs */
.single-product .woocommerce-tabs { margin-top: 10px !important; }
.single-product .summary .woocommerce-Tabs-panel { max-width: none; padding: 0 !important; }
@media (min-width: 1025px) { .single-product div.product > .woocommerce-product-gallery { align-self: start; position: sticky !important; top: 130px; } }
.single-product .summary #review_form_wrapper { padding: 20px; }
.single-product .woocommerce-Tabs-panel > * { margin-inline: 0 !important; max-width: none !important; width: auto !important; }
.single-product #reviews #comments { margin: 0 0 14px; }
.single-product .woocommerce-tabs ul.tabs { border-bottom: 1.5px solid var(--tb-line); display: flex; gap: 6px; margin: 0 0 22px !important; overflow-x: auto; padding: 0 !important; }
.single-product .woocommerce-tabs ul.tabs::before, .single-product .woocommerce-tabs ul.tabs li::before, .single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li { background: none !important; border: 0 !important; border-radius: 0 !important; margin: 0 !important; padding: 0 !important; }
.single-product .woocommerce-tabs ul.tabs li a { border-bottom: 3px solid transparent; color: var(--tb-muted) !important; display: block; font: 800 15px var(--tb-head); margin-bottom: -1.5px; padding: 12px 16px !important; text-decoration: none; white-space: nowrap; }
.single-product .woocommerce-tabs ul.tabs li a:hover { color: var(--tb-ink) !important; }
.single-product .woocommerce-tabs ul.tabs li.active a { border-bottom-color: var(--tb-blue); color: var(--tb-blue) !important; }
.single-product .woocommerce-Tabs-panel { color: var(--tb-body); font-size: 15px; line-height: 1.75; margin: 0 !important; max-width: 900px; }
.single-product .woocommerce-Tabs-panel > h2:first-child { display: none; }
.single-product .woocommerce-Tabs-panel table { border-collapse: collapse; width: 100%; }
.single-product .woocommerce-Tabs-panel table th, .single-product .woocommerce-Tabs-panel table td { border-bottom: 1px solid var(--tb-line); padding: 10px 12px; text-align: left; }
.single-product #reviews #comments ol.commentlist { padding: 0; }
.single-product #review_form_wrapper { background: var(--tb-soft); border-radius: 18px; padding: 22px; }
.single-product #review_form .comment-reply-title { color: var(--tb-ink); display: block; font: 800 18px/1.3 var(--tb-head) !important; margin: 0 0 10px !important; }
.single-product #reviews .woocommerce-Reviews-title { display: none; }
.single-product #review_form textarea, .single-product #review_form input[type="text"], .single-product #review_form input[type="email"] { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 12px; font: inherit; padding: 11px 14px; width: 100%; }
.single-product #review_form .stars a { color: #f5a623; }
.single-product #review_form #submit { background: var(--tb-blue); border: 0; border-radius: 12px; color: #fff; cursor: pointer; font: 700 14px var(--tb-text); padding: 12px 22px; }
.single-product .woocommerce-noreviews { color: var(--tb-muted); }
.tb-pd-rail { margin-top: 44px; }
/* full rows only: 5 on desktop, 4 at 4 columns, 3 at 3 columns, 4 (2 x 2) on phones */
@media (min-width: 1025px) and (max-width: 1200px) { .tb-pd-rail .tb-wl__grid > :nth-child(n+5) { display: none; } }
@media (min-width: 768px) and (max-width: 1024px) { .tb-pd-rail .tb-wl__grid > :nth-child(n+4) { display: none; } }
@media (max-width: 767px) { .tb-pd-rail .tb-wl__grid > :nth-child(n+5) { display: none; } }
.single-product .woocommerce-notices-wrapper:not(:empty) { margin-bottom: 16px; }
.single-product .woocommerce-message .button { background: var(--tb-blue); border-radius: 10px; color: #fff; float: none; font-size: 13px; font-weight: 700; margin-left: auto; order: 2; padding: 9px 16px; }
/* phone buy bar */
.tb-pd-bar { align-items: center; background: #fff; border-top: 1.5px solid var(--tb-line); bottom: 0; box-shadow: 0 -8px 24px rgba(15, 27, 51, .08); display: none; gap: 12px; justify-content: space-between; left: 0; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); position: fixed; right: 0; z-index: 9990; }
.tb-pd-bar__price { color: var(--tb-red); font: 900 18px var(--tb-head); line-height: 1.2; }
.tb-pd-bar__price del { color: var(--tb-muted); display: block; font: 600 12px var(--tb-text); }
.tb-pd-bar__price ins { text-decoration: none; }
.tb-pd-bar__btn { background: var(--tb-red); border: 0; border-radius: 12px; color: #fff; cursor: pointer; font: 800 15px var(--tb-head); padding: 13px 22px; }
@media (max-width: 1024px) {
	.single-product div.product { grid-template-columns: 1fr; }
	.single-product .summary { position: static; }
}
@media (max-width: 767px) {
	.tb-pd-bar:not([hidden]) { display: flex; }
	body.has-pd-bar .tb-wa { bottom: 84px; transition: bottom .2s; }
	.single-product .summary .product_title { font-size: 24px; }
	.single-product .tb-pd__pricebox p.price { font-size: 26px; }
	.tb-pd__trust { grid-template-columns: 1fr; }
	.single-product .woocommerce-product-gallery { padding: 10px; }
	.single-product form.cart .single_add_to_cart_button { min-width: 0; }
	.single-product form.cart .tb-wl-single span { display: none; }
}
/* Thank you (woocommerce/checkout/thankyou.php; replaces Yop Snippet #9) */
.tb-ty { display: flex; flex-direction: column; gap: 20px; }
.tb-ty-hero { align-items: center; background: #fff; border: 1.5px solid var(--tb-line); border-radius: 22px; display: flex; gap: 22px; padding: 26px 28px; }
.tb-ty-hero__icon { align-items: center; background: #1e9e5a; border-radius: 50%; box-shadow: 0 0 0 8px #e3f5ea; color: #fff; display: flex; flex: none; height: 64px; justify-content: center; width: 64px; }
.tb-ty-hero--failed .tb-ty-hero__icon { background: var(--tb-red); box-shadow: 0 0 0 8px #ffe5e5; }
.tb-ty-hero__copy { flex: 1; min-width: 0; }
.tb-ty-hero__copy h2 { color: var(--tb-ink); font-size: 26px; font-weight: 900; margin: 6px 0 4px; }
.tb-ty-hero__copy p { color: var(--tb-body); margin: 0; }
.tb-ty-hero__cta { display: flex; flex-wrap: wrap; gap: 10px; }
.tb-ty-hero .woocommerce-notice { background: none; border: 0; padding: 0; }
.tb-ty-facts { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 18px; display: grid !important; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); list-style: none; margin: 0 !important; padding: 0 !important; }
.tb-ty-facts::before, .tb-ty-facts::after { display: none !important; }
.tb-ty-facts li { border: 0 !important; border-left: 1px solid var(--tb-line) !important; color: var(--tb-muted); float: none !important; font-size: 12px !important; font-weight: 700; letter-spacing: .04em; margin: 0 !important; padding: 16px 20px !important; text-transform: uppercase; }
.tb-ty-facts li:first-child { border-left: 0 !important; }
.tb-ty-facts strong { color: var(--tb-ink); display: block; font-size: 15px !important; letter-spacing: 0; margin-top: 4px; overflow-wrap: anywhere; text-transform: none; }
.tb-ty-facts li.order strong { color: var(--tb-blue); font: 900 20px var(--tb-head); }
.tb-ty-grid { align-items: start; display: grid; gap: 24px; grid-template-columns: 420px minmax(0, 1fr); }
.tb-ty-side { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 130px; }
.tb-ty-card { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 18px; padding: 22px 24px; }
.tb-ty-card h3 { color: var(--tb-ink); font: 800 19px var(--tb-head); margin: 0 0 14px; }
.tb-ty-card p { color: var(--tb-body); font-size: 14px; line-height: 1.6; margin: 0 0 14px; }
.tb-ty-pay { border-color: #b8c6e6; border-top: 4px solid var(--tb-blue); }
.tb-ty-steps { counter-reset: tyStep; display: flex; flex-direction: column; gap: 16px; list-style: none; margin: 0; padding: 0; }
.tb-ty-steps li { counter-increment: tyStep; display: flex; flex-direction: column; gap: 6px; padding-left: 40px; position: relative; }
.tb-ty-steps li::before { align-items: center; background: #eef2fb; border-radius: 50%; color: var(--tb-blue); content: counter(tyStep); display: flex; font: 800 13px var(--tb-head); height: 28px; justify-content: center; left: 0; position: absolute; top: -2px; width: 28px; }
.tb-ty-steps b { color: var(--tb-ink); font-size: 14px; }
.tb-ty-steps li > span { color: var(--tb-muted); font-size: 13px; }
.tb-ty-copy { align-items: center; background: var(--tb-soft); border-radius: 12px; display: flex; gap: 10px; justify-content: space-between; padding: 10px 12px 10px 14px; }
.tb-ty-copy button { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 9px; color: var(--tb-blue); cursor: pointer; flex: none; font: 700 12px var(--tb-text); padding: 6px 12px; }
.tb-ty-copy button:hover { border-color: var(--tb-blue); }
.tb-ty-copy button.is-done { background: #e3f5ea; border-color: #9ed9b6; color: #157043; }
.tb-ty-amount, .tb-ty-amount .amount { color: var(--tb-red); font: 900 22px var(--tb-head); }
.tb-ty-bank { display: flex; flex-direction: column; gap: 6px; }
.tb-ty-bank__name { background: var(--tb-blue); border-radius: 6px; color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .05em; padding: 3px 8px; width: max-content; }
.tb-ty-bank__no { color: var(--tb-ink); font: 900 22px var(--tb-head); letter-spacing: .04em; }
.tb-ty-bank__holder { color: var(--tb-muted); font-size: 13px; }
.tb-ty-wa { align-items: center; border: 1.5px solid #c9efd8; border-radius: 12px; color: #157043; display: inline-flex; font-size: 14px; font-weight: 700; gap: 8px; padding: 10px 14px; text-decoration: none; width: max-content; }
.tb-ty-wa:hover { border-color: #25d366; color: #157043; }
.tb-ty-wa .tb-svg { height: 18px; width: 18px; }
.tb-ty-warn { align-items: flex-start; background: #fff4d6; border-radius: 12px; color: #7a5600 !important; display: flex; font-size: 13px !important; gap: 8px; margin: 18px 0 0 !important; padding: 10px 12px; }
.tb-ty-warn .tb-svg { flex: none; height: 18px; width: 18px; }
.tb-ty-links { display: flex; flex-wrap: wrap; gap: 10px; }
.tb-ty-links .tb-btn { flex: 1; font-size: 14px; justify-content: center; padding: 12px 16px; }
.tb-ty-main { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.tb-ty-main section.woocommerce-order-details, .tb-ty-main section.woocommerce-customer-details { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 18px; margin: 0 !important; padding: 22px 24px; }
.tb-ty-main h2 { color: var(--tb-ink); font: 800 19px var(--tb-head) !important; margin: 0 0 12px !important; }
.tb-ty-main table.shop_table { border: 0 !important; border-collapse: collapse; margin: 0 !important; width: 100%; }
.tb-ty-main table.shop_table th, .tb-ty-main table.shop_table td { background: none !important; border: 0 !important; border-top: 1px solid var(--tb-line) !important; color: var(--tb-body); font-size: 14px; padding: 12px 0 !important; text-align: left; }
.tb-ty-main table.shop_table thead th { border-top: 0 !important; color: var(--tb-muted); font-size: 12px; letter-spacing: .05em; text-transform: uppercase; }
.tb-ty-main table.shop_table td:last-child, .tb-ty-main table.shop_table tfoot td, .tb-ty-main table.shop_table thead th:last-child { text-align: right; }
.tb-ty-main table.shop_table td.product-name a { color: var(--tb-ink); font-weight: 600; text-decoration: none; }
.tb-ty-main table.shop_table td.product-name a:hover { color: var(--tb-blue); }
.tb-ty-main table.shop_table .product-quantity { color: var(--tb-blue); font-weight: 800; }
.tb-ty-main table.shop_table tfoot th { color: var(--tb-body); font-weight: 600; }
.tb-ty-main table.shop_table tfoot tr:nth-last-child(2) th, .tb-ty-main table.shop_table tfoot tr:nth-last-child(2) td { color: var(--tb-ink); }
.tb-ty-main table.shop_table tfoot td .amount { color: var(--tb-ink); font-weight: 700; }
.tb-ty-main table.shop_table .order-actions-button, .tb-ty-main table.shop_table tfoot .button { background: #fff !important; border: 1.5px solid #ffc4c4 !important; border-radius: 10px !important; color: var(--tb-red) !important; font: 700 13px var(--tb-text) !important; padding: 8px 14px !important; }
/* WooCommerce's "Actions" row repeats the cancel button shown under the table (Yop Snippet #17) */
.tb-ty-main table.shop_table tr:has(> th.order-actions--heading) { display: none; }
.tb-ty-main .woocommerce-customer-details .woocommerce-columns { display: grid; gap: 20px; grid-template-columns: 1fr 1fr; }
.tb-ty-main .woocommerce-customer-details .woocommerce-columns::before, .tb-ty-main .woocommerce-customer-details .woocommerce-columns::after { display: none; }
.tb-ty-main .woocommerce-customer-details .woocommerce-column { float: none !important; width: auto !important; }
.tb-ty-main .woocommerce-customer-details address { border: 0 !important; color: var(--tb-body); font-size: 14px; font-style: normal; line-height: 1.7; padding: 0 !important; }
.tb-ty-main .woocommerce-customer-details address p { margin: 6px 0 0; }
@media (max-width: 1100px) {
	.tb-ty-grid { grid-template-columns: 1fr; }
	.tb-ty-side { position: static; }
}
@media (max-width: 767px) {
	.tb-ty-hero { align-items: flex-start; flex-direction: column; padding: 20px; }
	.tb-ty-hero__copy h2 { font-size: 21px; }
	.tb-ty-facts { grid-template-columns: 1fr 1fr; }
	.tb-ty-facts li { border-left: 0 !important; border-top: 1px solid var(--tb-line) !important; }
	.tb-ty-main .woocommerce-customer-details .woocommerce-columns { grid-template-columns: 1fr; }
	.tb-ty-card, .tb-ty-main section.woocommerce-order-details, .tb-ty-main section.woocommerce-customer-details { padding: 18px 16px; }
}
/* Order view in My account (woocommerce/myaccount/view-order.php; replaces Yop Snippets #16 and #20) */
.tb-vo { display: flex; flex-direction: column; gap: 20px; }
.tb-vo-head { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 18px; padding: 22px 24px; }
.tb-vo-head__top { align-items: flex-start; display: flex; gap: 16px; justify-content: space-between; }
.tb-vo-head h2 { color: var(--tb-ink); font-size: 24px; font-weight: 900; margin: 0; }
.tb-vo-head__top p { color: var(--tb-muted); font-size: 14px; margin: 4px 0 0; }
.tb-vo-track { counter-reset: none; display: grid; grid-template-columns: repeat(5, 1fr); list-style: none; margin: 24px 0 6px; padding: 0; position: relative; }
.tb-vo-track::before { background: var(--tb-line); content: ""; height: 3px; left: 10%; position: absolute; right: 10%; top: 16px; }
.tb-vo-track::after { background: var(--tb-blue); content: ""; height: 3px; left: 10%; position: absolute; top: 16px; width: calc(var(--done) * 20%); }
.tb-vo-track li { align-items: center; color: var(--tb-muted); display: flex; flex-direction: column; font-size: 13px; font-weight: 700; gap: 8px; position: relative; text-align: center; z-index: 1; }
.tb-vo-track b { align-items: center; background: #fff; border: 2px solid var(--tb-line); border-radius: 50%; color: var(--tb-muted); display: flex; font: 800 13px var(--tb-head); height: 34px; justify-content: center; width: 34px; }
.tb-vo-track li.is-done b { background: var(--tb-blue); border-color: var(--tb-blue); color: #fff; }
.tb-vo-track li.is-done { color: var(--tb-ink); }
.tb-vo-track li.is-now b { background: #fff; border-color: var(--tb-blue); box-shadow: 0 0 0 5px rgba(0, 51, 153, .12); color: var(--tb-blue); }
.tb-vo-track li.is-now { color: var(--tb-blue); }
.tb-vo-stopped { background: #ffe5e5; border-radius: 12px; color: #b00000; font-size: 14px; font-weight: 700; margin: 18px 0 0; padding: 12px 14px; }
.tb-vo-facts { border-top: 1.5px solid var(--tb-line); display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); list-style: none; margin: 18px 0 0; padding: 16px 0 0; }
.tb-vo-facts li { color: var(--tb-muted); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.tb-vo-facts strong { color: var(--tb-ink); display: block; font-size: 15px; letter-spacing: 0; margin-top: 3px; text-transform: none; }
.tb-vo-grid { grid-template-columns: 340px minmax(0, 1fr); }
.tb-vo-grid .tb-ty-side { top: 130px; }
.tb-vo-notes ol { list-style: none; margin: 0; padding: 0; }
.tb-vo-notes li { border-left: 3px solid #d7deef; margin: 0; padding: 0 0 14px 14px; position: relative; }
.tb-vo-notes li::before { background: var(--tb-blue); border-radius: 50%; content: ""; height: 9px; left: -6px; position: absolute; top: 4px; width: 9px; }
.tb-vo-notes li:last-child { padding-bottom: 0; }
.tb-vo-notes .meta { color: var(--tb-muted) !important; font-size: 12px !important; font-weight: 700; margin: 0 0 4px !important; }
.tb-vo-notes .description p { color: var(--tb-ink); font-size: 14px; margin: 0; }
.tb-vo-back { color: var(--tb-blue); font-size: 14px; font-weight: 700; text-decoration: none; }
.tb-account .tb-ty-main .woocommerce-table--order-details td.product-name .wc-item-meta { color: var(--tb-muted); font-size: 12px; list-style: none; margin: 4px 0 0; padding: 0; }
.tb-account .tb-ty-main .order-again .button { background: var(--tb-blue) !important; border-radius: 12px !important; color: #fff !important; font: 700 14px var(--tb-text) !important; padding: 11px 18px !important; }
@media (max-width: 1200px) { .tb-vo-grid { grid-template-columns: 1fr; } .tb-vo-grid .tb-ty-side { position: static; } }
@media (max-width: 767px) {
	.tb-vo-head { padding: 18px 16px; }
	.tb-vo-track { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.tb-vo-track li { font-size: 10px; }
	.tb-vo-track b { height: 28px; width: 28px; }
	.tb-vo-track::before, .tb-vo-track::after { top: 13px; }
}
/* Checkout (inc/checkout.php, page-checkout.php, woocommerce/checkout/form-checkout.php) */
.tb-co { align-items: start; display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr) 440px; }
.tb-co__main { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.tb-copage form.checkout { margin: 0; }
.tb-copage .woocommerce-form-coupon-toggle .woocommerce-info { justify-content: flex-start; margin-bottom: 12px; }
.tb-copage ul.woocommerce-error { align-items: flex-start; flex-direction: column; gap: 4px; }
.tb-copage ul.woocommerce-error li { list-style: none; margin: 0; padding: 0; }
.tb-copage ul.woocommerce-error a { color: var(--tb-ink); font-weight: 600; text-decoration: none; }
.tb-copage ul.woocommerce-error a:hover { color: var(--tb-red); }
.tb-copage form.checkout_coupon { align-items: center; background: #fff; border: 1.5px solid var(--tb-line) !important; border-radius: 16px; display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 18px !important; padding: 16px 18px !important; }
.tb-copage form.checkout_coupon > p:first-child { flex: 0 0 100%; font-size: 14px; margin: 0; }
.tb-copage form.checkout_coupon .form-row { float: none !important; margin: 0; padding: 0; width: auto !important; }
.tb-copage form.checkout_coupon .form-row-first { flex: 1; max-width: 360px; }
.tb-copage form.checkout_coupon .input-text { border: 1.5px solid var(--tb-line); border-radius: 12px; font: inherit; font-size: 14px; padding: 11px 14px; width: 100%; }
.tb-copage form.checkout_coupon .button { background: var(--tb-ink); border: 0; border-radius: 12px; color: #fff; font: 700 14px var(--tb-text); padding: 12px 18px; }
.tb-copage form.checkout_coupon .clear { display: none; }
.tb-copage .tb-fulfilment--checkout { background: #fff; border: 1.5px solid var(--tb-line) !important; border-radius: 18px; margin: 0 !important; padding: 20px 22px !important; }
.tb-copage .tb-fulfilment--checkout legend { float: left; margin-bottom: 12px; width: 100%; }
.tb-copage .tb-fulfilment--checkout legend + * { clear: both; }
.tb-co__card select.country_to_state--single { -webkit-appearance: none; appearance: none; background: none !important; border: 0 !important; font-weight: 700; min-height: 0; padding: 0; pointer-events: none; }
.tb-co__details { display: flex; flex-direction: column; gap: 18px; }
.tb-co__details::before, .tb-co__details::after { display: none !important; }
.tb-co__card { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 18px; float: none !important; padding: 22px 24px; width: auto !important; }
.tb-co__card:empty { display: none; }
.tb-co__card h3, .tb-co__card #ship-to-different-address { color: var(--tb-ink); font: 800 18px var(--tb-head); margin: 0 0 16px; }
.tb-co__card--shipping h3#ship-to-different-address { font-size: 16px; margin: 0 0 4px; }
.tb-co__card--shipping h3 label { align-items: center; cursor: pointer; display: inline-flex; gap: 10px; }
.tb-co__card--shipping .shipping_address { margin-top: 16px; }
.tb-co__card .woocommerce-additional-fields h3 { margin-top: 18px; }
.tb-co__card input[type="checkbox"], .tb-co__card input[type="radio"] { accent-color: var(--tb-blue); height: 18px; width: 18px; }
.tb-co__card .woocommerce-billing-fields__field-wrapper, .tb-co__card .woocommerce-shipping-fields__field-wrapper { column-gap: 16px; display: grid; grid-template-columns: 1fr 1fr; }
.tb-co__card .woocommerce-billing-fields__field-wrapper > *, .tb-co__card .woocommerce-shipping-fields__field-wrapper > * { grid-column: 1 / -1; }
.tb-co__card .form-row-first, .tb-co__card .form-row-last { grid-column: auto !important; }
.tb-co__card #billing_phone_field, .tb-co__card #billing_email_field { grid-column: auto; }
.tb-copage .woocommerce form .form-row, .tb-co__card .form-row { float: none; margin: 0 0 14px; padding: 0; width: auto; }
.tb-co__card .form-row label { color: var(--tb-ink); display: block; font-size: 13px; font-weight: 700; margin-bottom: 6px; }
.tb-co__card .form-row .required { color: var(--tb-red); text-decoration: none; }
.tb-co__card .form-row .optional { color: var(--tb-muted); font-weight: 500; }
.tb-co__card .input-text, .tb-co__card select, .tb-co__card textarea, .tb-co__card .select2-container .select2-selection--single { background: #fff; border: 1.5px solid var(--tb-line) !important; border-radius: 12px !important; color: var(--tb-ink); font: inherit; font-size: 15px; min-height: 46px; padding: 11px 14px; width: 100%; }
.tb-co__card textarea { min-height: 90px; }
.tb-co__card .input-text:focus, .tb-co__card textarea:focus, .tb-co__card select:focus { border-color: var(--tb-blue) !important; box-shadow: 0 0 0 4px rgba(0, 51, 153, .12); outline: 0; }
.tb-co__card .woocommerce-invalid .input-text, .tb-co__card .woocommerce-invalid select { border-color: var(--tb-red) !important; }
.tb-co__card .woocommerce-validated .input-text { border-color: #9ed9b6 !important; }
.tb-co__card #billing_country_field strong, .tb-co__card #shipping_country_field strong { color: var(--tb-ink); font-size: 15px; }
.tb-co__card .woocommerce-account-fields { background: var(--tb-soft); border-radius: 14px; margin-top: 8px; padding: 14px 16px; }
.tb-co__card .woocommerce-account-fields p { margin: 0; }
/* summary */
.tb-co__side { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 130px; }
.tb-co__summary { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 18px; padding: 20px 22px; }
.tb-co__summary #order_review_heading { color: var(--tb-ink); font: 800 20px var(--tb-head); margin: 0 0 12px; }
.tb-copage #order_review { float: none !important; width: auto !important; }
.tb-copage table.woocommerce-checkout-review-order-table { border: 0; border-collapse: collapse; margin: 0 0 16px; width: 100%; }
.tb-copage table.woocommerce-checkout-review-order-table thead { display: none; }
.tb-copage table.woocommerce-checkout-review-order-table th, .tb-copage table.woocommerce-checkout-review-order-table td { background: none !important; border: 0; border-top: 1px solid var(--tb-line); color: var(--tb-body); font-size: 14px; padding: 11px 0; text-align: left; vertical-align: top; }
.tb-copage table.woocommerce-checkout-review-order-table td:last-child, .tb-copage table.woocommerce-checkout-review-order-table tfoot td { color: var(--tb-ink); font-weight: 700; text-align: right; white-space: nowrap; }
.tb-copage table.woocommerce-checkout-review-order-table tbody tr:first-child td { border-top: 0; }
.tb-copage table.woocommerce-checkout-review-order-table td.product-name { color: var(--tb-ink); font-weight: 600; line-height: 1.45; padding-right: 12px; }
.tb-copage table.woocommerce-checkout-review-order-table .product-quantity { color: var(--tb-blue); font-weight: 800; }
.tb-copage table.woocommerce-checkout-review-order-table tfoot th { font-weight: 600; }
.tb-copage table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > th { display: none; }
.tb-copage table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td { text-align: left !important; white-space: normal; }
.tb-copage table.woocommerce-checkout-review-order-table tr.order-total th { color: var(--tb-ink); font: 800 16px var(--tb-head); }
.tb-copage table.woocommerce-checkout-review-order-table tr.order-total td, .tb-copage table.woocommerce-checkout-review-order-table tr.order-total .amount { color: var(--tb-blue); font: 900 24px var(--tb-head); }
.tb-copage table.woocommerce-checkout-review-order-table ul#shipping_method { list-style: none; margin: 0; padding: 0; }
/* payment */
.tb-copage #payment { background: none !important; border-radius: 0; }
.tb-copage #payment ul.payment_methods { border: 0 !important; display: flex; flex-direction: column; gap: 10px; list-style: none; margin: 0 0 14px; padding: 0 !important; }
.tb-copage #payment ul.payment_methods::before, .tb-copage #payment ul.payment_methods::after { display: none; }
.tb-copage #payment ul.payment_methods li { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 14px; margin: 0; padding: 14px 16px; }
.tb-copage #payment ul.payment_methods li:has(input:checked) { background: #f3f6fd; border-color: var(--tb-blue); box-shadow: inset 0 0 0 1px var(--tb-blue); }
.tb-copage #payment ul.payment_methods li > input { accent-color: var(--tb-blue); height: 18px; margin: 0 10px 0 0; vertical-align: -3px; width: 18px; }
.tb-copage #payment ul.payment_methods li > label { color: var(--tb-ink); cursor: pointer; font-size: 15px; font-weight: 700; }
.tb-copage #payment ul.payment_methods li img { display: inline-block; margin-left: 6px; max-height: 22px; vertical-align: middle; }
.tb-copage #payment div.payment_box { background: transparent !important; color: var(--tb-body); font-size: 13px; line-height: 1.6; margin: 8px 0 0 !important; padding: 0 0 0 28px !important; }
.tb-copage #payment div.payment_box::before { display: none !important; }
.tb-copage #payment div.payment_box p { margin: 0; }
.tb-copage #payment .place-order { margin: 0 !important; padding: 0 !important; }
.tb-copage .woocommerce-privacy-policy-text p { color: var(--tb-muted); font-size: 12px; line-height: 1.55; margin: 0 0 12px; }
.tb-copage .woocommerce-terms-and-conditions-wrapper .form-row { font-size: 13px; margin: 0 0 12px; }
.tb-copage #place_order { align-items: center; background: var(--tb-red) !important; border: 0; border-radius: 14px !important; color: #fff !important; cursor: pointer; display: flex; float: none !important; font: 800 17px var(--tb-head) !important; justify-content: center; min-height: 56px; padding: 0 20px !important; transition: background .2s; width: 100%; }
.tb-copage #place_order:hover { background: #c40000 !important; }
.tb-copage .blockUI.blockOverlay { border-radius: 18px; }
.tb-copage .woocommerce-NoticeGroup-checkout { grid-column: 1 / -1; }
@media (max-width: 1100px) {
	.tb-co { grid-template-columns: 1fr; }
	.tb-co__side { position: static; }
}
@media (max-width: 767px) {
	.tb-co__card, .tb-co__summary, .tb-copage .tb-fulfilment--checkout { padding: 18px 16px !important; }
	.tb-co__card .woocommerce-billing-fields__field-wrapper, .tb-co__card .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
}
/* Cart (inc/cart.php, page-cart.php, woocommerce/cart/*) */
.tb-steps { display: flex; flex: none; gap: 6px; list-style: none; margin: 0; padding: 0; }
.tb-steps li { align-items: center; color: rgba(255, 255, 255, .6); display: flex; font-size: 14px; font-weight: 700; gap: 8px; }
.tb-steps li + li::before { background: rgba(255, 255, 255, .25); content: ""; height: 2px; margin-right: 4px; width: 28px; }
.tb-steps b { align-items: center; border: 2px solid rgba(255, 255, 255, .35); border-radius: 50%; display: inline-flex; font: 800 13px var(--tb-head); height: 30px; justify-content: center; width: 30px; }
.tb-steps li.is-now { color: #fff; }
.tb-steps li.is-now b { background: #fff; border-color: #fff; color: var(--tb-blue); }
.tb-steps li.is-done b { background: rgba(255, 255, 255, .16); border-color: transparent; color: #fff; }
.tb-cartpage { padding-block: 30px 56px; }
.tb-cartpage .woocommerce::before, .tb-cartpage .woocommerce::after { display: none; }
.tb-cart { align-items: start; display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr) 400px; }
.tb-cart__main { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.tb-cartpage .woocommerce-notices-wrapper:empty { display: none; }
:is(.tb-cartpage, .single-product) .woocommerce-info, :is(.tb-cartpage, .single-product) .woocommerce-message, :is(.tb-cartpage, .single-product) .woocommerce-error { align-items: center; background: #fff; border: 1.5px solid var(--tb-line); border-left: 4px solid var(--tb-blue); border-radius: 14px; color: var(--tb-ink); display: flex; flex-wrap: wrap; font-size: 14px; gap: 10px 16px; justify-content: space-between; list-style: none; margin: 0 0 4px; padding: 14px 16px 14px 20px; }
:is(.tb-cartpage, .single-product) .woocommerce-message { border-left-color: #1e9e5a; }
:is(.tb-cartpage, .single-product) .woocommerce-error { border-left-color: var(--tb-red); }
:is(.tb-cartpage, .single-product) :is(.woocommerce-info, .woocommerce-message, .woocommerce-error)::before { display: none; }
.tb-cartpage .woocommerce-message a, .tb-cartpage .woocommerce-info a { font-weight: 700; }
/* fulfilment choice (Yop Snippet #27) as a card */
:is(.tb-cartpage, .single-product) .tb-fulfilment-cart-form { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 18px; margin: 0; padding: 20px 22px; }
:is(.tb-cartpage, .single-product) .tb-fulfilment { border: 0; margin: 0; padding: 0; }
:is(.tb-cartpage, .single-product) .tb-fulfilment legend { color: var(--tb-ink); font: 800 17px var(--tb-head); margin-bottom: 12px; padding: 0; }
:is(.tb-cartpage, .single-product) .tb-fulfilment-options { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
:is(.tb-cartpage, .single-product) .tb-fulfilment-option { align-items: flex-start; background: #fff; border: 1.5px solid var(--tb-line); border-radius: 14px; cursor: pointer; display: flex; gap: 12px; margin: 0; padding: 14px 16px; transition: border-color .2s, background .2s; }
:is(.tb-cartpage, .single-product) .tb-fulfilment-option:hover { border-color: #b8c6e6; }
:is(.tb-cartpage, .single-product) .tb-fulfilment-option:has(input:checked) { background: #f3f6fd; border-color: var(--tb-blue); box-shadow: inset 0 0 0 1px var(--tb-blue); }
:is(.tb-cartpage, .single-product) .tb-fulfilment-option input { accent-color: var(--tb-blue); flex: none; height: 18px; margin: 2px 0 0; width: 18px; }
:is(.tb-cartpage, .single-product) .tb-fulfilment-copy { display: flex; flex-direction: column; font-size: 13px; gap: 2px; line-height: 1.5; }
:is(.tb-cartpage, .single-product) .tb-fulfilment-copy strong { color: var(--tb-ink); font-size: 15px; }
:is(.tb-cartpage, .single-product) .tb-fulfilment-store { color: var(--tb-blue); font-weight: 700; }
:is(.tb-cartpage, .single-product) .tb-fulfilment-description { color: var(--tb-muted); }
:is(.tb-cartpage, .single-product) .tb-fulfilment-note { color: var(--tb-muted); font-size: 12px; margin: 10px 0 0; }
:is(.tb-cartpage, .single-product) .tb-fulfilment-cart-form button { background: var(--tb-soft); border: 0; border-radius: 10px; color: var(--tb-blue); cursor: pointer; font: 700 13px var(--tb-text); margin-top: 10px; padding: 9px 16px; }
:is(.tb-cartpage, .single-product) .tb-fulfilment-cart-form button:hover { background: var(--tb-blue); color: #fff; }
/* items */
.tb-cart__card { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 18px; overflow: hidden; }
.tb-cart__head { align-items: center; border-bottom: 1.5px solid var(--tb-line); display: flex; justify-content: space-between; padding: 16px 22px; }
.tb-cart__head h2 { font-size: 18px; margin: 0; }
.tb-cart__head h2 span { color: var(--tb-muted); font-weight: 600; }
.tb-cart__head a { font-size: 14px; font-weight: 700; text-decoration: none; }
.tb-cartlist { border: 0 !important; margin: 0 !important; }
.tb-cartitem { align-items: center; display: grid; gap: 18px; grid-template-columns: 96px minmax(0, 1fr) auto 150px; padding: 18px 22px; }
.tb-cartitem + .tb-cartitem { border-top: 1px solid var(--tb-line); }
.tb-cartitem__img a, .tb-cartitem__img > img { display: block; }
.tb-cartitem__img img { aspect-ratio: 1; background: #fff; border: 1px solid var(--tb-line); border-radius: 14px; height: 96px; object-fit: contain; padding: 6px; width: 96px; }
.tb-cartitem__brand { color: var(--tb-blue); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.tb-cartitem__title { font: 700 15px/1.4 var(--tb-text); margin: 2px 0 4px; }
.tb-cartitem__title a { color: var(--tb-ink); text-decoration: none; }
.tb-cartitem__title a:hover { color: var(--tb-blue); }
.tb-cartitem__info dl.variation { color: var(--tb-muted); display: flex; flex-wrap: wrap; font-size: 13px; gap: 2px 6px; margin: 0 0 4px; }
.tb-cartitem__info dl.variation dt { font-weight: 600; margin: 0; }
.tb-cartitem__info dl.variation dd { margin: 0 8px 0 0; }
.tb-cartitem__info dl.variation dd p { display: inline; margin: 0; }
.tb-cartitem__price { align-items: baseline; color: var(--tb-ink); display: flex; flex-wrap: wrap; font-size: 14px; font-weight: 700; gap: 6px; margin: 0; }
.tb-cartitem__price span { color: var(--tb-muted); font-size: 12px; font-weight: 500; }
.tb-cartitem__price s { color: var(--tb-muted); font-size: 12px; font-weight: 500; }
.tb-cartitem__links { align-items: center; display: flex; gap: 16px; margin-top: 8px; }
.tb-cartitem__links .tb-cartitem__wl, .tb-cartitem__links .remove { align-items: center; background: none; border: 0; color: var(--tb-muted) !important; cursor: pointer; display: inline-flex !important; font: 600 13px var(--tb-text); gap: 5px; height: auto !important; padding: 0; text-decoration: none; width: auto !important; }
.tb-cartitem__links .tb-cartitem__wl svg { height: 16px; width: 16px; }
.tb-cartitem__links .tb-cartitem__wl:hover, .tb-cartitem__links .tb-cartitem__wl.is-on { color: var(--tb-red) !important; }
.tb-cartitem__links .tb-cartitem__wl.is-on svg { fill: currentColor; }
.tb-cartitem__links .tb-cartitem__wl span[data-on] { font-size: 13px; }
.woocommerce .tb-cartitem__links a.remove { border-radius: 0; font-size: 13px !important; font-weight: 600; line-height: 1.4 !important; }
.tb-cartitem__sub .amount * { font: inherit; }
.tb-cartitem__links .remove:hover { background: none !important; color: var(--tb-red) !important; }
.tb-cartitem__sub { display: flex; flex-direction: column; text-align: right; }
.tb-cartitem__sub span { color: var(--tb-muted); font-size: 12px; }
.tb-cartitem__sub .amount { color: var(--tb-ink); font: 800 17px var(--tb-head); }
/* quantity stepper */
.tb-qty { align-items: center; border: 1.5px solid var(--tb-line); border-radius: 12px; display: inline-flex; overflow: hidden; }
.tb-qty button { background: #fff; border: 0; color: var(--tb-ink); cursor: pointer; font-size: 18px; height: 40px; line-height: 1; width: 38px; }
.tb-qty button:hover { background: var(--tb-soft); color: var(--tb-blue); }
.tb-qty button:disabled { color: #c2c8d2; cursor: default; }
:is(.tb-cartpage, .single-product) .tb-qty input.qty { -moz-appearance: textfield; appearance: textfield; border: 0; border-inline: 1.5px solid var(--tb-line); border-radius: 0; color: var(--tb-ink); font: 700 15px var(--tb-text); height: 40px; margin: 0; padding: 0; text-align: center; width: 52px; }
.tb-qty input.qty::-webkit-inner-spin-button, .tb-qty input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
/* coupon + update row */
.tb-cart__actions { align-items: center; background: var(--tb-soft); display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; padding: 14px 22px; }
.tb-coupon { display: flex; flex: 1; gap: 8px; max-width: 460px; }
.tb-cartpage .tb-coupon input.input-text { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 12px; flex: 1; font: inherit; font-size: 14px; min-width: 0; padding: 11px 14px; width: auto; }
.tb-cartpage .tb-coupon input.input-text:focus { border-color: var(--tb-blue); outline: 0; }
.tb-cartpage .tb-coupon .button { background: var(--tb-ink); border: 0; border-radius: 12px; color: #fff; cursor: pointer; font: 700 14px var(--tb-text); padding: 11px 18px; white-space: nowrap; }
.tb-cartpage .tb-coupon .button:hover { background: var(--tb-blue); }
.tb-cartpage .tb-cart__update { background: none; border: 0; color: var(--tb-blue); cursor: pointer; font: 700 14px var(--tb-text); padding: 8px 4px; }
.tb-cartpage .tb-cart__update:disabled { display: none; }
/* summary */
.tb-cart__side { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 130px; }
.tb-cartpage .cart-collaterals { float: none; width: auto; }
.tb-cartpage .cart_totals { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 18px; float: none !important; padding: 20px 22px; width: auto !important; }
.tb-cartpage .cart_totals > h2 { font-size: 20px; margin: 0 0 12px; }
.tb-cartpage .cart_totals table.shop_table { border: 0; border-collapse: collapse; margin: 0; width: 100%; }
.tb-cartpage .cart_totals table.shop_table tr > * { border: 0; border-top: 1px solid var(--tb-line); display: block; padding: 12px 0; text-align: left; }
.tb-cartpage .cart_totals table.shop_table tr:first-child > * { border-top: 0; }
.tb-cartpage .cart_totals table.shop_table tr.cart-subtotal, .tb-cartpage .cart_totals table.shop_table tr.order-total, .tb-cartpage .cart_totals table.shop_table tr.cart-discount, .tb-cartpage .cart_totals table.shop_table tr.fee { align-items: baseline; border-top: 1px solid var(--tb-line); display: flex; justify-content: space-between; }
.tb-cartpage .cart_totals table.shop_table tr.cart-subtotal > *, .tb-cartpage .cart_totals table.shop_table tr.order-total > *, .tb-cartpage .cart_totals table.shop_table tr.cart-discount > *, .tb-cartpage .cart_totals table.shop_table tr.fee > * { border: 0; }
.tb-cartpage .cart_totals table.shop_table tr.cart-subtotal:first-child { border-top: 0; }
.tb-cartpage .cart_totals table.shop_table td::before { display: none !important; }
.tb-cartpage .cart_totals table.shop_table td { background: none !important; text-align: left !important; }
.tb-cartpage .cart_totals tr.cart-subtotal td, .tb-cartpage .cart_totals tr.order-total td, .tb-cartpage .cart_totals tr.cart-discount td, .tb-cartpage .cart_totals tr.fee td { text-align: right !important; }
.tb-cart__head a { white-space: nowrap; }
.tb-cartpage .cart_totals th { color: var(--tb-body); font-size: 14px; font-weight: 600; }
.tb-cartpage .cart_totals tr.cart-subtotal td { color: var(--tb-ink); font-weight: 700; }
.tb-cartpage .cart_totals tr.woocommerce-shipping-totals { display: block; }
.tb-cartpage .cart_totals tr.woocommerce-shipping-totals > th { display: none; }
.tb-cartpage .cart_totals tr.order-total th { color: var(--tb-ink); font: 800 16px var(--tb-head); }
.tb-cartpage .cart_totals tr.order-total td, .tb-cartpage .cart_totals tr.order-total .amount { color: var(--tb-blue); font: 900 24px var(--tb-head); }
.tb-cartpage .cart_totals .woocommerce-shipping-destination { color: var(--tb-muted); font-size: 13px; margin: 8px 0; }
.tb-cartpage .cart_totals .shipping-calculator-button { font-size: 13px; font-weight: 700; }
.tb-cartpage .cart_totals .shipping-calculator-form .form-row { margin: 0 0 10px; padding: 0; }
.tb-cartpage .cart_totals .shipping-calculator-form select, .tb-cartpage .cart_totals .shipping-calculator-form .input-text { border: 1.5px solid var(--tb-line); border-radius: 10px; font: inherit; font-size: 14px; padding: 9px 12px; width: 100%; }
.tb-cartpage .cart_totals .shipping-calculator-form .button { background: var(--tb-blue); border: 0; border-radius: 10px; color: #fff; font: 700 13px var(--tb-text); padding: 9px 16px; }
.tb-cartpage .wc-proceed-to-checkout { padding: 16px 0 0; }
.tb-cartpage .wc-proceed-to-checkout a.checkout-button { align-items: center; background: var(--tb-red); border-radius: 14px; color: #fff; display: flex; font: 800 16px var(--tb-head); gap: 10px; justify-content: center; margin: 0; padding: 16px 20px; text-decoration: none; transition: background .2s; }
.tb-cartpage .wc-proceed-to-checkout a.checkout-button::after { content: "\2192"; font-size: 18px; }
.tb-cartpage .wc-proceed-to-checkout a.checkout-button:hover { background: #c40000; }
/* AgenWebsite courier block inside the summary */
.tb-cartpage .cart_totals ul.woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; }
.tb-cartpage .aw-speed-group { border: 1.5px solid var(--tb-line) !important; border-radius: 12px !important; }
.tb-cartpage .aw-cart-city-field-wrapper { background: var(--tb-soft) !important; border: 0 !important; border-radius: 12px !important; }
/* trust panel */
.tb-cart-trust { background: var(--tb-soft); border-radius: 18px; display: flex; flex-direction: column; gap: 12px; padding: 18px; }
.tb-cart-trust__row { align-items: flex-start; display: flex; gap: 12px; }
.tb-cart-trust__icon { align-items: center; background: #fff; border-radius: 10px; color: var(--tb-blue); display: flex; flex: none; height: 36px; justify-content: center; width: 36px; }
.tb-cart-trust__icon .tb-svg { height: 18px; width: 18px; }
.tb-cart-trust p { color: var(--tb-muted); font-size: 13px; line-height: 1.5; margin: 0; }
.tb-cart-trust p b { color: var(--tb-ink); display: block; font-size: 14px; }
.tb-cart-trust__wa { align-items: center; background: #fff; border: 1.5px solid #c9efd8; border-radius: 14px; color: #157043; display: flex; gap: 12px; padding: 12px 14px; text-decoration: none; transition: border-color .2s; }
.tb-cart-trust__wa:hover { border-color: #25d366; color: #157043; }
.tb-cart-trust__wa .tb-svg { flex: none; height: 24px; width: 24px; }
.tb-cart-trust__wa span { display: flex; flex-direction: column; font-size: 13px; }
.tb-cart-trust__wa b { color: var(--tb-ink); font-size: 14px; }
/* empty + suggestions */
.tb-cart-empty { background: #fff; border: 1.5px dashed #c9cfd8; border-radius: 24px; padding: 48px 24px; text-align: center; }
.tb-cart-empty__icon { align-items: center; background: #eef2fb; border-radius: 50%; color: var(--tb-blue); display: inline-flex; height: 84px; justify-content: center; margin-bottom: 14px; width: 84px; }
.tb-cart-empty h2 { font-size: 26px; margin: 0 0 6px; }
.tb-cart-empty p { color: var(--tb-muted); margin: 0 auto 22px; max-width: 48ch; }
.tb-cart-empty .tb-btns { justify-content: center; }
.tb-cart-more { margin-top: 40px; }
@media (max-width: 1100px) {
	.tb-cart { grid-template-columns: 1fr; }
	.tb-cart__side { position: static; }
	.tb-shophero--order .tb-shophero__row { align-items: flex-start; flex-direction: column; gap: 16px; }
}
@media (max-width: 767px) {
	.tb-steps li span { display: none; }
	.tb-steps li.is-now span { display: inline; }
	:is(.tb-cartpage, .single-product) .tb-fulfilment-options { grid-template-columns: 1fr; }
	.tb-cart__head, .tb-cart__actions, :is(.tb-cartpage, .single-product) .tb-fulfilment-cart-form, .tb-cartpage .cart_totals { padding-inline: 16px; }
	.tb-cartitem { gap: 12px; grid-template-columns: 76px minmax(0, 1fr); padding: 16px; }
	.tb-cartitem__img img { height: 76px; width: 76px; }
	.tb-cartitem__qty { grid-column: 2; }
	.tb-cartitem__sub { align-items: baseline; flex-direction: row; gap: 8px; grid-column: 2; justify-content: space-between; }
	.tb-coupon { max-width: none; }
}
/* Promo on phones: slim deal list (front-page.php .tb-dealm), shown instead of the blue rail */
.tb-dealm { display: none; }
@media (max-width: 767px) {
	#promo .tb-deal { display: none; }
	.tb-dealm { display: flex; flex-direction: column; gap: 8px; }
	.tb-dealm__head { align-items: center; display: flex; gap: 10px; justify-content: space-between; margin-bottom: 4px; }
	.tb-dealm__head h2 { align-items: center; color: var(--tb-ink); display: flex; font-size: 20px; font-weight: 900; gap: 8px; margin: 0; }
	.tb-dealm__bolt { align-items: center; background: var(--tb-red); border-radius: 9px; color: #fff; display: inline-flex; height: 30px; justify-content: center; width: 30px; }
	.tb-dealm__bolt .tb-svg { height: 16px; width: 16px; }
	.tb-dealm__head a { align-items: center; display: inline-flex; flex: none; font-size: 13px; font-weight: 800; gap: 4px; text-decoration: none; }
	.tb-dealm__head a .tb-svg { height: 15px; width: 15px; }
	.tb-dealm__row { align-items: center; background: #fff; border: 1.5px solid var(--tb-line); border-radius: 16px; display: flex; gap: 12px; padding: 8px 10px 8px 8px; }
	.tb-dealm__img { flex: 0 0 76px; height: 76px; position: relative; }
	.tb-dealm__img img { height: 100%; object-fit: contain; width: 100%; }
	.tb-dealm__img span { background: var(--tb-red); border-radius: 6px; color: #fff; font-size: 10px; font-weight: 800; left: -2px; padding: 2px 5px; position: absolute; top: -2px; }
	.tb-dealm__info { color: var(--tb-ink); display: flex; flex: 1; flex-direction: column; gap: 2px; min-width: 0; text-decoration: none; }
	.tb-dealm__brand { color: var(--tb-blue); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
	.tb-dealm__name { font-size: 13px; font-weight: 600; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.tb-dealm__price { color: var(--tb-red); font: 800 15px var(--tb-head); }
	.tb-dealm__price small { color: var(--tb-muted); font: 600 11px var(--tb-text); }
	.tb-dealm__price s { color: var(--tb-muted); font: 500 11px var(--tb-text); margin-left: 4px; }
	.tb-dealm__add { align-items: center; background: var(--tb-blue); border-radius: 11px; color: #fff !important; display: flex; flex: 0 0 38px; font-size: 20px; font-weight: 800; height: 38px; justify-content: center; text-decoration: none; }
	.tb-dealm__add .tb-svg { height: 18px; width: 18px; }
	.tb-dealm__add.loading { opacity: .6; }
	.tb-dealm__add.added { background: #1e9e5a; }
	.tb-dealm .added_to_cart { display: none; }
}
/* Phone header: wishlist and account move to the bottom bar; the cart shows its total */
.tb-cart-total { display: none !important; }
@media (max-width: 767px) {
	.tb-header .header-wishlist, .tb-header .header-account { display: none !important; }
	.tb-header .tb-header__tools { align-items: center; gap: 0; }
	.tb-header .tb-header__tools a.tb-cart-total:not(.is-empty) { align-items: center; background: #eef2fb; border-radius: 0 12px 12px 0; color: var(--tb-blue); display: inline-flex !important; font: 800 13px var(--tb-head); height: 40px; padding: 0 12px 0 2px; text-decoration: none; width: auto; }
	.tb-header .tb-header__tools a.tb-cart-total .amount, .tb-header .tb-header__tools a.tb-cart-total bdi { font: inherit; }
	.tb-header .tb-header__tools a.header-cart:has(+ a.tb-cart-total:not(.is-empty)) { background: #eef2fb; border-radius: 12px 0 0 12px; color: var(--tb-blue); height: 40px; }
}
/* Mobile bottom bar (inc/mobile-nav.php): phones only */
.tb-mnav, .tb-sheet { display: none; }
@media (max-width: 767px) {
	body { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
	.tb-mnav { background: #fff; border-top: 1px solid var(--tb-line); bottom: 0; box-shadow: 0 -6px 20px rgba(15, 27, 51, .06); display: grid; grid-template-columns: repeat(4, 1fr); left: 0; padding: 0 0 env(safe-area-inset-bottom); position: fixed; right: 0; z-index: 9991; }
	.tb-mnav__item { align-items: center; color: var(--tb-muted); display: flex; flex-direction: column; font-size: 11px; font-weight: 700; gap: 3px; height: 62px; justify-content: center; position: relative; text-decoration: none; }
	.tb-mnav__item .tb-svg { height: 23px; width: 23px; }
	.tb-mnav__item.is-on { color: var(--tb-blue); }
	.tb-mnav__item.is-on::before { background: var(--tb-blue); border-radius: 0 0 4px 4px; content: ""; height: 3px; left: 30%; position: absolute; right: 30%; top: 0; }
	.tb-mnav__item:active { background: var(--tb-soft); }
	.tb-mnav__count { background: var(--tb-red); border: 2px solid #fff; border-radius: 20px; color: #fff; font-size: 10px; line-height: 1; min-width: 18px; padding: 2px 4px; position: absolute; right: calc(50% - 22px); text-align: center; top: 7px; }
	.tb-mnav__count[hidden] { display: none; }
	/* keep floating things above the bar */
	body .tb-wa { bottom: calc(78px + env(safe-area-inset-bottom)); }
	body.has-pd-bar .tb-wa.tb-wa { bottom: calc(142px + env(safe-area-inset-bottom)); }
	.tb-pd-bar { bottom: calc(62px + env(safe-area-inset-bottom)); padding-bottom: 10px; }
	.tb-toast { bottom: calc(84px + env(safe-area-inset-bottom)); }
	.woocommerce-cart .tb-wa, .woocommerce-checkout .tb-wa { bottom: 16px; }
	.woocommerce-cart, .woocommerce-checkout { padding-bottom: 0; }
	/* category sheet */
	/* The sheet opens above the bottom bar, so the bar stays visible and Kategori closes it again */
	.tb-sheet:not([hidden]) { bottom: calc(62px + env(safe-area-inset-bottom)); display: block; left: 0; position: fixed; right: 0; top: 0; z-index: 9990; }
	.tb-mnav__item[aria-expanded="true"] { color: var(--tb-blue); }
	body.has-sheet .tb-wa { display: none; }
	/* WhatsApp merged into the bar: no floating button; the card opens as a sheet above the bar */
	.tb-mnav:has(.tb-mnav__item--wa) { grid-template-columns: repeat(5, 1fr); }
	.tb-mnav__item--wa { color: #128c4a; }
	.tb-mnav__item--wa i { align-items: center; background: #e7f8ee; border-radius: 10px; display: flex; height: 28px; justify-content: center; margin-top: -2px; transition: background .2s, color .2s; width: 42px; }
	.tb-mnav__item--wa i .tb-svg { height: 21px; width: 21px; }
	.tb-mnav__item--wa[aria-expanded="true"] i { background: #25d366; color: #fff; }
	body:has(.tb-mnav__item--wa) .tb-wa__btn { display: none; }
	body:has(.tb-mnav__item--wa) .tb-wa.tb-wa.tb-wa { bottom: calc(62px + env(safe-area-inset-bottom)); left: 0; right: 0; }
	body:has(.tb-mnav__item--wa) .tb-wa.tb-wa.is-open { background: rgba(0, 21, 66, .45); top: 0; }
	body:has(.tb-mnav__item--wa) .tb-wa__card { border-radius: 22px 22px 0 0; bottom: 0; box-shadow: 0 -10px 30px rgba(0, 21, 66, .2); left: 0; max-height: calc(100% - 40px); overflow-y: auto; right: 0; width: auto; }
	body:has(.tb-mnav__item--wa) .tb-wa__card:not([hidden]) { animation: tb-sheet-in .28s cubic-bezier(.2, .7, .2, 1); }
	body.has-wa { overflow: hidden; }
	/* WhatsApp sheet on phones: white header like the Kategori sheet, topics as rows with hints */
	body:has(.tb-mnav__item--wa) .tb-wa__card { background: #fff; padding: 8px 16px 16px; }
	body:has(.tb-mnav__item--wa) .tb-wa__grip { background: #d5dae3; border-radius: 4px; display: block; height: 5px; margin: 0 auto 10px; width: 44px; }
	body:has(.tb-mnav__item--wa) .tb-wa__head { background: none; color: var(--tb-ink); padding: 0 0 6px; }
	body:has(.tb-mnav__item--wa) .tb-wa__avatar { background: #eef2fb; }
	body:has(.tb-mnav__item--wa) .tb-wa__avatar::after { border-color: #fff; }
	body:has(.tb-mnav__item--wa) .tb-wa__head b { font: 800 17px var(--tb-head); }
	body:has(.tb-mnav__item--wa) .tb-wa__chat { display: inline; }
	body:has(.tb-mnav__item--wa) .tb-wa__head span { color: var(--tb-muted); font-weight: 600; opacity: 1; }
	body:has(.tb-mnav__item--wa) .tb-wa__head span .tb-svg { display: none; }
	body:has(.tb-mnav__item--wa) .tb-wa__online { color: var(--tb-muted); display: inline; }
	body:has(.tb-mnav__item--wa) .tb-wa__online::before { background: #25d366; border-radius: 50%; content: ""; display: inline-block; height: 7px; margin-right: 5px; vertical-align: 1px; width: 7px; }
	body:has(.tb-mnav__item--wa) .tb-wa__close { background: #f1f3f7; color: var(--tb-ink); }
	body:has(.tb-mnav__item--wa) .tb-wa__body { background: none; padding: 0 0 14px; }
	body:has(.tb-mnav__item--wa) .tb-wa__bubble { display: none; }
	body:has(.tb-mnav__item--wa) .tb-wa__ctx { margin: 6px 0 0; }
	body:has(.tb-mnav__item--wa) .tb-wa__topics { gap: 0; }
	body:has(.tb-mnav__item--wa) .tb-wa__topics a { border: 0; border-bottom: 1px solid #eef0f4; border-radius: 0; gap: 12px; padding: 11px 2px; }
	body:has(.tb-mnav__item--wa) .tb-wa__topics a > svg:first-child { background: #e7f8ee; border-radius: 50%; box-sizing: content-box; color: #128c4a; padding: 9px; }
	body:has(.tb-mnav__item--wa) .tb-wa__start { border-radius: 14px; padding: 14px; }
	/* phones: no burger menu, the bottom bar is the navigation */
	.tb-header .tb-header__toggle { display: none; }
	.tb-sheet__shade { background: rgba(0, 21, 66, .45); inset: 0; position: absolute; }
	.tb-sheet__box { animation: tb-sheet-in .28s cubic-bezier(.2, .7, .2, 1); background: #fff; border-bottom: 1px solid var(--tb-line); border-radius: 22px 22px 0 0; bottom: 0; display: flex; flex-direction: column; left: 0; max-height: calc(100% - 40px); padding: 8px 16px 14px; position: absolute; right: 0; }
	@keyframes tb-sheet-in { from { transform: translateY(40px); opacity: 0; } }
	.tb-sheet__grip { background: #d5dae3; border-radius: 4px; height: 5px; margin: 0 auto 10px; width: 44px; }
	.tb-sheet__head { align-items: center; display: flex; justify-content: space-between; margin-bottom: 12px; }
	.tb-sheet__head b { color: var(--tb-ink); font: 800 18px var(--tb-head); }
	.tb-sheet__head button { background: var(--tb-soft); border: 0; border-radius: 10px; color: var(--tb-ink); font-size: 22px; height: 36px; line-height: 1; width: 36px; }
	.tb-sheet__quick { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; margin-bottom: 12px; }
	.tb-sheet__quick a { align-items: center; background: #eef2fb; border-radius: 12px; color: var(--tb-blue); display: flex; font-size: 14px; font-weight: 800; gap: 8px; justify-content: center; padding: 12px; text-decoration: none; }
	.tb-sheet__quick a.is-promo { background: #ffe5e5; color: var(--tb-red); }
	.tb-sheet__quick .tb-svg { height: 18px; width: 18px; }
	.tb-sheet__cats { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; list-style: none; margin: 0; overflow-y: auto; padding: 0 0 4px; }
	.tb-sheet__cats a { align-items: center; border: 1.5px solid var(--tb-line); border-radius: 14px; color: var(--tb-ink); display: flex; gap: 10px; padding: 8px 10px 8px 8px; text-decoration: none; }
	.tb-sheet__img { align-items: center; background: var(--tb-soft); border-radius: 10px; color: var(--tb-blue); display: flex; flex: none; height: 40px; justify-content: center; overflow: hidden; width: 40px; }
	.tb-sheet__img img { height: 100%; object-fit: cover; width: 100%; }
	.tb-sheet__img .tb-svg { height: 22px; width: 22px; }
	.tb-sheet__img { background: #eef2fb; }
	.tb-sheet__name { flex: 1; font-size: 13px; font-weight: 700; line-height: 1.3; min-width: 0; }
	.tb-sheet__count { color: var(--tb-muted); font-size: 11px; font-weight: 700; }
}
/* Wishlist (inc/wishlist.php, page-wishlist.php) */
.tb-card__wl { align-items: center; background: rgba(255, 255, 255, .92); border: 1.5px solid var(--tb-line); border-radius: 50%; color: var(--tb-muted); cursor: pointer; display: flex; height: 38px; justify-content: center; padding: 0; position: absolute; right: 12px; top: 12px; transition: color .2s, border-color .2s, background .2s, transform .2s; width: 38px; z-index: 3; }
.tb-card__wl:hover { border-color: var(--tb-red); color: var(--tb-red); transform: scale(1.06); }
.tb-card__wl svg, .tb-wl-single svg { transition: fill .2s; }
.tb-card__wl.is-on { background: #fff; border-color: #ffd2d2; color: var(--tb-red); }
.tb-card__wl.is-on svg, .tb-wl-single.is-on svg { fill: currentColor; }
.tb-card__wl.is-pop, .tb-wl-single.is-pop svg { animation: tb-heart .45s cubic-bezier(.2, .8, .3, 1.4); }
@keyframes tb-heart { 40% { transform: scale(1.3); } }
/* WCBoost Wishlist buttons: replaced by the theme until the plugin is removed */
.wcboost-wishlist-button { display: none !important; }
.tb-wl-single { align-items: center; background: #fff; border: 1.5px solid var(--tb-line); border-radius: 12px; color: var(--tb-ink); cursor: pointer; display: inline-flex; font: 700 14px var(--tb-text); gap: 8px; margin: 4px 0 18px; padding: 10px 16px; transition: border-color .2s, color .2s; vertical-align: middle; }
form.cart .tb-wl-single { margin: 0 0 0 8px; min-height: 46px; }
.tb-wl-single:hover, .tb-wl-single.is-on { border-color: #ffc4c4; color: var(--tb-red); }
.header-wishlist__count.is-bump { animation: tb-bump .5s; }
.tb-header .header-wishlist__count { background: var(--tb-red); right: 3px; top: 4px; }
.tb-toast { align-items: center; background: var(--tb-ink); border-radius: 14px; bottom: 26px; box-shadow: 0 16px 40px rgba(0, 21, 66, .3); color: #fff; display: flex; font-size: 14px; font-weight: 600; gap: 14px; left: 50%; opacity: 0; padding: 13px 18px; pointer-events: none; position: fixed; transform: translate(-50%, 16px); transition: opacity .25s, transform .25s; z-index: 9997; }
.tb-toast.is-on { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.tb-toast a { color: #9fc0ff; font-weight: 800; }
.tb-wl { padding-block: 30px 56px; }
.tb-wl .woocommerce-info, .tb-wl .woocommerce-message, .tb-wl .woocommerce-error { align-items: center; background: #fff; border: 1.5px solid var(--tb-line); border-left: 4px solid var(--tb-blue); border-radius: 14px; color: var(--tb-ink); display: flex; flex-wrap: wrap; font-size: 14px; gap: 10px 16px; justify-content: space-between; list-style: none; margin: 0 0 18px; padding: 14px 16px 14px 20px; }
.tb-wl .woocommerce-message { border-left-color: #1e9e5a; }
.tb-wl .woocommerce-error { border-left-color: var(--tb-red); }
.tb-wl .woocommerce-info::before, .tb-wl .woocommerce-message::before, .tb-wl .woocommerce-error::before { display: none; }
.tb-wl__guest { align-items: center; background: var(--tb-soft); border-radius: 18px; display: flex; gap: 16px; margin-bottom: 22px; padding: 16px 18px; }
.tb-wl__guest-icon { align-items: center; background: #fff; border-radius: 12px; color: var(--tb-blue); display: flex; flex: none; height: 44px; justify-content: center; width: 44px; }
.tb-wl__guest p { color: var(--tb-body); flex: 1; font-size: 14px; margin: 0; }
.tb-wl__guest b { color: var(--tb-ink); }
.tb-wl__guest .tb-btn { flex: none; font-size: 14px; padding: 11px 18px; }
.tb-wl__bar { align-items: center; border-bottom: 1.5px solid var(--tb-line); display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; margin-bottom: 22px; padding-bottom: 18px; }
.tb-wl__bar > p { color: var(--tb-muted); font-size: 15px; margin: 0; }
.tb-wl__bar > p b { color: var(--tb-ink); font: 900 22px var(--tb-head); }
.tb-wl__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; }
.tb-wl__actions form { margin: 0; }
.tb-wl__actions .tb-btn { cursor: pointer; font-family: inherit; font-size: 14px; padding: 11px 18px; }
.tb-wl__actions .tb-btn .tb-svg { height: 18px; width: 18px; }
.tb-wl__actions button.tb-btn--red { background: var(--tb-red); border-color: transparent; color: #fff; }
.tb-wl__wa { color: #157043; }
.tb-wl__wa:hover { border-color: #25d366; color: #157043; }
.tb-wl__clear { background: none; border: 0; color: var(--tb-muted); cursor: pointer; font: inherit; font-size: 14px; font-weight: 700; padding: 10px 6px; text-decoration: underline; text-underline-offset: 3px; }
.tb-wl__clear:hover, .tb-wl__clear.is-armed { color: var(--tb-red); }
.tb-wl__hint { color: var(--tb-muted); font-size: 13px; margin: -10px 0 18px; }
.tb-wl__grid { display: grid; gap: 18px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.tb-wl__grid .tb-card { transition: opacity .3s, transform .3s; }
.tb-wl__grid .tb-card.is-leaving { opacity: 0; transform: scale(.94); }
.tb-wl__empty { background: #fff; border: 1.5px dashed #c9cfd8; border-radius: 24px; padding: 48px 24px; text-align: center; }
.tb-wl__empty-icon { align-items: center; background: #fff0f0; border-radius: 50%; color: var(--tb-red); display: inline-flex; height: 84px; justify-content: center; margin-bottom: 14px; width: 84px; }
.tb-wl__empty h2 { font-size: 26px; margin: 0 0 6px; }
.tb-wl__empty p { color: var(--tb-muted); margin: 0 auto 22px; max-width: 46ch; }
.tb-wl__empty .tb-btns { justify-content: center; }
.tb-wl__more { margin-top: 18px; }
@media (max-width: 1200px) { .tb-wl__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1024px) { .tb-wl__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* Wishlist page: 6 per row on desktop (product page rails keep 5) */
.tb-wl .tb-wl__grid { gap: 16px; grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 1200px) { .tb-wl .tb-wl__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1024px) { .tb-wl .tb-wl__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .tb-wl .tb-wl__grid { gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	.tb-wl__grid { gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tb-wl__guest { align-items: flex-start; flex-wrap: wrap; }
	.tb-wl__guest .tb-btn { justify-content: center; width: 100%; }
	.tb-wl__actions, .tb-wl__actions form, .tb-wl__actions .tb-btn { width: 100%; }
	.tb-wl__actions .tb-btn { justify-content: center; }
	.tb-card__wl { height: 34px; right: 8px; top: 8px; width: 34px; }
}
@media (max-width: 1024px) {
	.tb-account .woocommerce { grid-template-columns: 1fr; }
	.tb-profile { position: static; }
	.tb-tiles { grid-template-columns: 1fr 1fr; }
	.tb-account__again { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
	.tb-auth { grid-template-columns: 1fr; }
	.tb-auth__card { padding: 26px 20px; }
	.tb-tiles { gap: 10px; }
	.tb-tile { padding: 14px; }
	.tb-tile__note { display: none; }
	.tb-account table.shop_table_responsive tr td { padding: 8px 14px; }
	.tb-account-empty { grid-template-columns: auto 1fr; padding: 20px; }
	.tb-account .woocommerce-EditAccountForm, .tb-account .woocommerce-EditAccountForm fieldset, .tb-account .woocommerce-address-fields__field-wrapper { grid-template-columns: 1fr; }
	.tb-account .woocommerce-EditAccountForm, .tb-account .woocommerce-MyAccount-content > form:not(.woocommerce-EditAccountForm) { padding: 18px; }
	.tb-account-empty__cta { grid-column: 1 / -1; }
	.tb-account-empty__cta .tb-btn { flex: 1; justify-content: center; }
}

/* Search suggestions (inc/search.php) */
.tb-search { position: relative; }
.tb-search.is-loading button .tb-svg { animation: tb-spin .8s linear infinite; }
@keyframes tb-spin { to { transform: rotate(360deg); } }
.tb-search.is-suggesting { border-bottom-left-radius: 16px; border-bottom-right-radius: 16px; }
.tb-suggest { background: #fff; border: 1.5px solid var(--tb-line); border-radius: 18px; box-shadow: 0 24px 60px rgba(0, 21, 66, .22); left: -1.5px; max-height: min(70vh, 560px); overflow-y: auto; padding: 10px; position: absolute; right: -1.5px; top: calc(100% + 8px); z-index: 80; }
.tb-suggest:not([hidden]) { animation: tb-wa-in .2s ease; }
.tb-suggest__label { color: var(--tb-muted); font-size: 11px; font-weight: 800; letter-spacing: 1.5px; padding: 8px 8px 6px; text-transform: uppercase; }
.tb-suggest__chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 6px 8px; }
.tb-suggest__chips a { background: var(--tb-soft); border: 1.5px solid transparent; border-radius: 30px; color: var(--tb-ink); font-size: 13px; font-weight: 600; padding: 7px 14px; text-decoration: none; transition: .15s; }
.tb-suggest__chips a small { color: var(--tb-muted); font-size: 11px; margin-left: 2px; }
.tb-suggest__chips a:hover, .tb-suggest__chips a.is-active { background: #fff; border-color: var(--tb-blue); color: var(--tb-blue); }
.tb-suggest__list { list-style: none; margin: 0; padding: 0; }
.tb-suggest__list a { align-items: center; border-radius: 12px; color: var(--tb-ink); display: flex; gap: 14px; padding: 8px; text-decoration: none; transition: background .15s; }
.tb-suggest__list a:hover, .tb-suggest__list a.is-active { background: var(--tb-soft); }
.tb-suggest__list img { background: #fff; border: 1px solid var(--tb-line); border-radius: 10px; flex: none; height: 52px; object-fit: contain; padding: 3px; width: 52px; }
.tb-suggest__info { display: flex; flex: 1; flex-direction: column; line-height: 1.35; min-width: 0; }
.tb-suggest__info small { color: var(--tb-blue); font-size: 10px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
.tb-suggest__info b { font-size: 14px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tb-suggest mark { background: rgba(255, 210, 0, .35); border-radius: 3px; color: inherit; padding: 0 1px; }
.tb-suggest__price { color: var(--tb-ink); font-size: 13px; font-weight: 700; }
.tb-suggest__price del { color: var(--tb-muted); font-weight: 400; margin-right: 4px; }
.tb-suggest__price ins { color: var(--tb-red); text-decoration: none; }
.tb-suggest__price .screen-reader-text { display: none; }
.tb-suggest__list em { background: var(--tb-red); border-radius: 6px; color: #fff; flex: none; font-size: 11px; font-style: normal; font-weight: 800; padding: 3px 7px; }
.tb-suggest__list i { color: var(--tb-muted); flex: none; font-size: 11px; font-style: normal; font-weight: 700; }
.tb-suggest__all { border-radius: 12px; border-top: 1px solid var(--tb-line); color: var(--tb-blue); display: block; font-size: 14px; font-weight: 700; margin-top: 6px; padding: 12px 10px 6px; text-decoration: none; }
.tb-suggest__all:hover, .tb-suggest__all.is-active { background: var(--tb-soft); }
.tb-suggest__empty { color: var(--tb-body); font-size: 14px; padding: 18px 12px; text-align: center; }
@media (max-width: 899px) {
	.tb-suggest { max-height: 65vh; }
	.tb-suggest__list img { height: 44px; width: 44px; }
}

/* WhatsApp button + chat card (inc/whatsapp.php) */
.tb-wa { bottom: 24px; position: fixed; right: 24px; z-index: 9990; }
.tb-wa__btn { align-items: center; background: none; border: 0; cursor: pointer; display: flex; gap: 12px; padding: 0; }
.tb-wa__label { background: #fff; border-radius: 30px; box-shadow: var(--tb-sh); color: var(--tb-ink); font: 700 14px/1 var(--wp--preset--font-family--body); opacity: 0; padding: 12px 16px; pointer-events: none; transform: translateX(10px); transition: opacity .25s, transform .25s; white-space: nowrap; }
.tb-wa__btn:hover .tb-wa__label, .tb-wa.is-hint .tb-wa__label { opacity: 1; transform: none; }
.tb-wa.is-open .tb-wa__label { opacity: 0; }
.tb-wa__icon { align-items: center; background: #25d366; border-radius: 50%; box-shadow: 0 6px 16px rgba(15, 27, 51, .18); color: #fff; display: flex; height: 60px; justify-content: center; position: relative; transition: transform .25s, background .25s; width: 60px; }
.tb-wa__icon::before { animation: tb-ping 2.2s infinite; background: #25d366; border-radius: 50%; content: ""; inset: 0; position: absolute; z-index: -1; }
.tb-wa__btn:hover .tb-wa__icon { transform: scale(1.06); }
.tb-wa__x { display: none; }
.tb-wa.is-open .tb-wa__icon { background: var(--tb-ink); box-shadow: var(--tb-sh); }
.tb-wa.is-open .tb-wa__icon::before { display: none; }
.tb-wa.is-open .tb-wa__icon svg:first-child { display: none; }
.tb-wa.is-open .tb-wa__x { display: block; }
@keyframes tb-ping { to { opacity: 0; transform: scale(1.7); } }
.tb-wa__card { background: #fff; border-radius: 22px; bottom: 76px; box-shadow: 0 24px 60px rgba(0, 21, 66, .28); overflow: hidden; position: absolute; right: 0; width: 340px; }
.tb-wa__card:not([hidden]) { animation: tb-wa-in .3s cubic-bezier(.2, .7, .2, 1); }
@keyframes tb-wa-in { from { opacity: 0; transform: translateY(14px) scale(.97); } }
.tb-wa__head { align-items: center; background: linear-gradient(120deg, var(--tb-blue), var(--tb-navy)); color: #fff; display: flex; gap: 12px; padding: 16px 18px; }
.tb-wa__avatar { background: #fff; border-radius: 50%; display: flex; flex: none; height: 44px; justify-content: center; align-items: center; position: relative; width: 44px; }
.tb-wa__avatar img { height: 30px; width: 30px; object-fit: contain; }
.tb-wa__avatar::after { background: #25d366; border: 2px solid var(--tb-blue); border-radius: 50%; bottom: 0; content: ""; height: 12px; position: absolute; right: 0; width: 12px; }
.tb-wa__head b { display: block; font-size: 16px; }
.tb-wa__head span { align-items: center; display: flex; font-size: 12px; gap: 5px; opacity: .85; }
.tb-wa__head span .tb-svg { height: 14px; width: 14px; }
.tb-wa__close { background: rgba(255, 255, 255, .14); border: 0; border-radius: 10px; color: #fff; cursor: pointer; font-size: 22px; height: 34px; line-height: 1; margin-left: auto; width: 34px; }
.tb-wa__close:hover { background: rgba(255, 255, 255, .25); }
.tb-wa__body { background: #f4f5f7; padding: 16px; }
.tb-wa__bubble { background: #fff; border-radius: 4px 16px 16px 16px; box-shadow: 0 2px 6px rgba(0, 0, 0, .06); color: var(--tb-ink); font-size: 14px; margin: 0 0 12px; padding: 12px 14px; }
.tb-wa__ctx { color: var(--tb-muted); font-size: 12px; margin: -4px 0 10px; }
.tb-wa__ctx b { color: var(--tb-ink); }
.tb-wa__topics { display: grid; gap: 8px; }
.tb-wa__topics a { align-items: center; background: #fff; border: 1.5px solid var(--tb-line); border-radius: 12px; color: var(--tb-ink); display: flex; font-size: 14px; font-weight: 600; gap: 10px; padding: 11px 12px; text-decoration: none; transition: .2s; }
.tb-wa__topics a > svg:first-child { color: var(--tb-blue); flex: none; }
.tb-wa__topics a .tb-svg { color: var(--tb-muted); height: 16px; margin-left: auto; transition: transform .2s; width: 16px; }
.tb-wa__topics a:hover { border-color: #25d366; color: #128c4a; }
.tb-wa__topics a:hover .tb-svg { color: #25d366; transform: translateX(3px); }
.tb-wa__t { display: block; }
.tb-wa__t em { color: var(--tb-muted); display: block; font-size: 12px; font-style: normal; font-weight: 600; }
.tb-wa__grip, .tb-wa__online, .tb-wa__chat { display: none; }
.tb-wa__online, .tb-wa__chat { font-style: normal; }
.tb-wa__start { align-items: center; background: #25d366; color: #fff; display: flex; font-weight: 800; gap: 8px; justify-content: center; padding: 15px; text-decoration: none; transition: background .2s; }
.tb-wa__start:hover { background: #1ebe5a; color: #fff; }
@media (max-width: 767px) {
	.tb-wa { bottom: 16px; right: 16px; }
	.tb-wa__icon { height: 54px; width: 54px; }
	.tb-wa__card { bottom: 68px; width: min(380px, calc(100vw - 32px)); }
	.tb-wa__label { display: none; }
}

/* Page head (internal pages) */
.tb-pagehead { background: var(--tb-soft); padding: 40px 0 32px; }
.tb-pagehead__crumb { color: var(--tb-muted); font-size: 13px; margin: 0 0 10px; }
.tb-pagehead__crumb a { color: var(--tb-muted); }
.tb-pagehead h1 { font-size: 44px; margin: 0 0 6px; }
.tb-pagehead__lead { font-size: 17px; margin: 0; max-width: 760px; }

/* Checklist page (internal build checklist) */
.tb-clist { padding-block: 40px 72px; }
.tb-clist__summary { align-items: end; background: linear-gradient(120deg, var(--tb-deep), var(--tb-navy)); border-bottom: 5px solid var(--tb-logo-red); border-radius: 22px; color: #fff; display: flex; flex-wrap: wrap; gap: 20px 40px; justify-content: space-between; margin-bottom: 36px; padding: 30px 34px; }
.tb-clist__score { flex: 1 1 320px; max-width: 620px; }
.tb-clist__score p { margin: 0; }
.tb-clist__score strong { color: #fff; font: 900 52px/1 var(--tb-head); }
.tb-clist__score p span { color: rgba(255, 255, 255, .7); font-size: 18px; }
.tb-clist__bar { background: rgba(255, 255, 255, .14); border-radius: 4px; height: 8px; margin: 14px 0 10px; overflow: hidden; }
.tb-clist__bar span { background: linear-gradient(90deg, var(--tb-red), var(--tb-logo-red)); display: block; height: 100%; }
.tb-clist__score .tb-clist__left { color: rgba(255, 255, 255, .75); font-size: 14px; }
.tb-clist__filter { display: flex; gap: 8px; }
.tb-clist__filter button, .tb-clist__filter button:hover { background: none; border: 1.5px solid rgba(255, 255, 255, .3); border-radius: 12px; color: #fff; cursor: pointer; filter: none; font: inherit; font-size: 14px; font-weight: 700; padding: 9px 18px; }
.tb-clist__filter button.is-on { background: var(--tb-red); border-color: var(--tb-red); }
.tb-clist__section { margin-bottom: 40px; }
.tb-clist__head { align-items: baseline; border-bottom: 2px solid var(--tb-blue); display: flex; gap: 16px; justify-content: space-between; padding-bottom: 10px; }
.tb-clist__head h2 { font-size: 22px; margin: 0; }
.tb-clist__head p { color: var(--tb-muted); font-size: 14px; font-weight: 700; margin: 0; }
.tb-clist__section ul { list-style: none; margin: 0; padding: 0; }
.tb-clist__item { align-items: center; border-bottom: 1px solid var(--tb-line); display: flex; gap: 14px; padding: 12px 8px; }
.tb-clist__item:hover { background: var(--tb-soft); }
.tb-clist__mark { border: 2px solid #bdc2ca; border-radius: 5px; flex: 0 0 20px; height: 20px; position: relative; }
.tb-clist__item.is-done .tb-clist__mark { background: #1e9e5a; border-color: #1e9e5a; }
.tb-clist__item.is-done .tb-clist__mark::after { border-bottom: 2.5px solid #fff; border-right: 2.5px solid #fff; content: ""; height: 10px; left: 5px; position: absolute; top: 1px; transform: rotate(45deg); width: 5px; }
.tb-clist__label { color: var(--tb-ink); flex: 1 1 auto; font-size: 15px; min-width: 0; }
.tb-clist__item.is-done .tb-clist__label { color: var(--tb-muted); }
.tb-clist__tag { border-radius: 6px; flex: 0 0 auto; font-size: 11px; font-weight: 800; letter-spacing: .06em; padding: 3px 8px; text-transform: uppercase; }
.tb-clist__item.is-done .tb-clist__tag { background: #e3f5ea; color: #157043; }
.tb-clist__item.is-todo .tb-clist__tag { background: #ffe5e5; color: #b00000; }
.tb-clist__open { align-items: center; border: 1.5px solid var(--tb-line); border-radius: 10px; color: var(--tb-blue); display: flex; flex: 0 0 78px; font-size: 13px; font-weight: 700; gap: 6px; justify-content: center; padding: 5px 0; text-decoration: none; }
a.tb-clist__open:hover { background: var(--tb-blue); border-color: var(--tb-blue); color: #fff; }
.tb-clist__open--none { border-color: transparent; color: #bdc2ca; }
.tb-clist[data-show="done"] .tb-clist__item.is-todo, .tb-clist[data-show="todo"] .tb-clist__item.is-done { display: none; }
@media (max-width: 700px) {
	.tb-pagehead h1 { font-size: 32px; }
	.tb-clist__summary { padding: 22px 18px; }
	.tb-clist__item { flex-wrap: wrap; gap: 8px 12px; }
	.tb-clist__label { flex-basis: calc(100% - 34px); }
	.tb-clist__tag { margin-left: 34px; }
	.tb-clist__open { margin-left: auto; }
	.tb-clist__open--none { display: none; }
}

/* Reveal on scroll (only when JS runs) */
.tb-js .tb-rv { opacity: 0; transform: translateY(30px); transition: opacity .8s ease, transform .8s cubic-bezier(.2, .7, .2, 1); }
.tb-js .tb-rv.is-in { opacity: 1; transform: none; }
.tb-js .tb-cat.tb-rv { transition-delay: calc(var(--i, 0) * 45ms); }
@media (prefers-reduced-motion: reduce) { .tb-js .tb-rv { opacity: 1; transform: none; } * { animation: none !important; } }

/* Responsive */
@media (max-width: 1200px) {
	.tb-cats { grid-template-columns: repeat(4, 1fr); }
	.tb-grid { grid-template-columns: repeat(4, 1fr); }
	.tb-rail { grid-auto-columns: calc((100% - 3 * 20px) / 4); }
	.tb-hero h1 { font-size: 42px; }
	.tb-notice__links a:last-child { display: none; }
}
@media (max-width: 1024px) {
	:root { --tb-gut: 24px; }
	.tb-hero__grid, .tb-why, .tb-visit, .tb-duo, .tb-split, .tb-journey { grid-template-columns: 1fr; }
	.tb-hero__side { grid-template-columns: 1fr 1fr; grid-template-rows: none; }
	.tb-promo { min-height: 220px; }
	.tb-grid { grid-template-columns: repeat(3, 1fr); }
	.tb-rail { grid-auto-columns: calc((100% - 2 * 20px) / 3); }
	.tb-footer__grid { grid-template-columns: 1fr 1fr; }
	.tb-footer__usp { grid-template-columns: 1fr 1fr; }
	.tb-head { align-items: flex-start; flex-direction: column; }
	.tb-tabs { justify-content: flex-start; }
	.tb-journey__side { position: static; }
	.tb-acts { grid-template-columns: 1fr; }
	.tb-stats { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 899px) {
	.tb-notice__links { display: none; }
	.tb-header__main { flex-wrap: wrap; gap: 10px 12px; min-height: 0; padding-block: 10px; }
	.tb-header.is-scrolled .tb-header__main { min-height: 0; }
	.tb-header__toggle { align-items: center; display: flex; justify-content: center; order: 0; }
	.tb-header .site-branding { flex: 1; }
	.tb-header .custom-logo { max-height: 30px; }
	.tb-header__tools { order: 2; }
	.tb-header__tools a { height: 42px; width: 42px; }
	.tb-search { flex-basis: 100%; height: 48px; order: 3; }
	.tb-search select, .tb-search button span { display: none; }
	.tb-search button { padding: 0 14px; }
	.tb-nav, .tb-nav.primary-nav { background: var(--tb-blue); border: 0; display: none; max-height: calc(100vh - 140px); overflow-y: auto; padding: 0; }
	.tb-nav.is-open { display: block; }
	.tb-nav__inner { align-items: stretch; flex-direction: column; padding-block: 10px; }
	.tb-allcat { margin: 0; }
	.tb-allcat__btn { border-radius: 10px; padding: 12px 14px; width: 100%; }
	.tb-allcat__list { box-shadow: none; display: none; opacity: 1; position: static; transform: none; visibility: visible; }
	.tb-allcat.is-open .tb-allcat__list { display: block; }
	.tb-nav .tb-nav__menu { flex-direction: column; }
	.tb-nav .sub-menu { background: transparent; box-shadow: none; display: block; padding-left: 14px; position: static; }
	.tb-nav .sub-menu a { color: rgba(255, 255, 255, .85); }
	.tb-nav__promo { justify-content: center; margin: 8px 0 0; }
}
@media (max-width: 767px) {
	:root { --tb-gut: 16px; }
	body { font-size: 15px; }
	.tb-notice p { display: block; font-size: 11.5px; line-height: 1.45; padding-block: 7px; text-align: center; }
	.tb-notice p .tb-svg { display: none; }
	.tb-sec { padding-top: 52px; }
	.tb-hero__main { min-height: 420px; }
	.tb-hero__content { padding: 30px 22px; }
	.tb-hero h1 { font-size: 31px; }
	.tb-hero h1 span { white-space: normal; }
	.tb-hero__stats { gap: 18px; }
	.tb-hero__stats b { font-size: 22px; }
	.tb-hero__side { grid-template-columns: 1fr; }
	.tb-head h2, .tb-why h2, .tb-split h2, .tb-journey h2 { font-size: 26px; }
	.tb-cats { gap: 10px; grid-template-columns: repeat(3, 1fr); }
	.tb-cat { padding: 14px 6px; }
	.tb-cat__icon { font-size: 20px; height: 50px; width: 50px; }
	.tb-cat small { display: none; }
	.tb-slider { border-radius: 14px; }
	.tb-grid { gap: 16px 12px; grid-template-columns: repeat(2, 1fr); }
	.tb-rail { grid-auto-columns: 72%; }
	.tb-deal { padding: 24px 16px; }
	.tb-deal__nav button { display: none; }
	.tb-card__title { font-size: 13px; }
	.tb-card__body { padding: 12px 12px 14px; }
	.tb-feats, .tb-companies, .tb-footer__usp, .tb-footer__grid, .tb-types { grid-template-columns: 1fr 1fr; }
	.tb-feats, .tb-companies, .tb-footer__grid { grid-template-columns: 1fr; }
	.tb-visit__info { padding: 28px 20px; }
	.tb-cta { align-items: flex-start; flex-direction: column; padding: 30px 22px; }
	.tb-brands { padding: 24px 16px; }
	.tb-why__since { right: 12px; }
	.tb-footer__bottom { flex-direction: column; gap: 10px; }
	.tb-about-hero { min-height: 480px; padding: 80px 0 140px; }
	.tb-about-hero h1 { font-size: 38px; }
	.tb-stats { gap: 18px; margin-top: -80px; padding: 26px 16px; }
	.tb-stats b { font-size: 30px; }
	.tb-quote { padding: 64px 0; }
	.tb-quote h2 { font-size: 28px; }
	.tb-support { padding: 26px 18px; }
	.tb-types { grid-template-columns: repeat(2, 1fr); }
	.tb-timeline { padding-left: 22px; }
	.tb-timeline li { padding: 20px; }
	.tb-timeline li::before { left: -36px; }
}

/* Product cards on phones: compact (shorter card, smaller text, price and buttons). List view keeps its own rules. */
@media (max-width: 767px) {
	.tb-card { border-radius: 16px; }
	.tb-card:hover { transform: none; }
	.tb-card__img { aspect-ratio: 5 / 4; padding: 10px 10px 4px; }
	.tb-shop.is-list .tb-card__img { aspect-ratio: 1; }
	.tb-card__img img { aspect-ratio: auto !important; height: 100% !important; object-fit: contain !important; }
	.tb-card__badge { border-radius: 6px; font-size: 10.5px; left: 8px; padding: 3px 7px; top: 8px; }
	.tb-card__wl { height: 30px; right: 8px; top: 8px; width: 30px; }
	.tb-card__wl svg { height: 15px; width: 15px; }
	.tb-card__body { gap: 0; padding: 9px 10px 10px; }
	.tb-card__brand { font-size: 9.5px; letter-spacing: .6px; }
	.tb-card__title, .woocommerce ul.products li.product .tb-card__title { font-size: 12.5px; line-height: 1.35; margin: 2px 0 4px; max-height: 2.7em; }
	.tb-card__price { gap: 0 6px; }
	.tb-card__price b { font-size: 14.5px; }
	.tb-card__price s { font-size: 10.5px; }
	.tb-card__from { font-size: 10px; }
	.tb-card__actions { gap: 6px; padding-top: 8px; }
	.tb-card__buy, .tb-card__wa { border-radius: 10px; height: 34px; }
	.tb-card__buy { font-size: 12px; }
	.tb-card__wa { width: 34px; }
	.tb-card__wa svg { height: 17px; width: 17px; }
}

/* Footer highlights on phones: 2 x 2 compact tiles, icon above the text */
@media (max-width: 767px) {
	.tb-footer__usp { gap: 10px; padding: 24px 0; }
	.tb-footer__usp > div { align-items: flex-start; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .08); border-radius: 14px; flex-direction: column; gap: 10px; padding: 14px; }
	.tb-footer__usp span { border-radius: 10px; height: 36px; width: 36px; }
	.tb-footer__usp span .tb-svg { height: 18px; width: 18px; }
	.tb-footer__usp p { font-size: 12.5px; line-height: 1.45; }
	.tb-footer__usp b { font-size: 14px; line-height: 1.3; margin-bottom: 2px; }
}
