/* =====================================================================
   themeone — modern storefront layer
   Loaded after bootstrap + style.css. Colours come from Admin > Themes
   (--t1-brand / --t1-footer / --t1-icon / --t1-active / --t1-accent,
   printed in layout/head_script.php); everything else is derived here.
   ===================================================================== */

:root {
	--t1-brand: #0078ad;
	--t1-footer: #1e293b;
	--t1-accent: var(--t1-brand);
	--t1-active: var(--t1-brand);
	--t1-brand-soft: color-mix(in srgb, var(--t1-brand) 10%, #fff);
	--t1-brand-soft-2: color-mix(in srgb, var(--t1-brand) 18%, #fff);
	--t1-brand-dark: color-mix(in srgb, var(--t1-brand) 80%, #000);
	--t1-ink: #0f172a;
	--t1-ink-2: #334155;
	--t1-muted: #64748b;
	--t1-faint: #94a3b8;
	--t1-line: #e2e8f0;
	--t1-line-2: #eef1f5;
	--t1-bg: #f6f7f9;
	--t1-surface: #fff;
	--t1-sale: #e11d48;
	--t1-ok: #16a34a;
	--t1-warn: #f59e0b;
	--t1-radius: 16px;
	--t1-radius-sm: 12px;
	--t1-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 4px 14px rgba(15, 23, 42, .05);
	--t1-shadow-lg: 0 12px 34px rgba(15, 23, 42, .12);
	--t1-font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body {
	font-family: var(--t1-font) !important;
	font-size: 14.5px !important;
	color: var(--t1-ink);
	background: var(--t1-bg) !important;
	-webkit-font-smoothing: antialiased;
}
a { color: var(--t1-brand); transition: color .15s ease; }
a:hover { color: var(--t1-brand-dark); }
img { max-width: 100%; }
::selection { background: var(--t1-brand-soft-2); }
/* Full-width layout: fluid gutters that grow with the screen (was capped at 1320px). */
:root { --t1-gutter: clamp(16px, 2.6vw, 48px); }
.container-xxl { max-width: none; width: 100%; padding-left: var(--t1-gutter); padding-right: var(--t1-gutter); }
h1, h2, h3, h4, h5, h6 { color: var(--t1-ink); letter-spacing: -.01em; }

/* ---------- Buttons & form controls ---------- */
.btn { border-radius: 999px; font-weight: 600; padding: .6rem 1.2rem; transition: background-color .15s, box-shadow .15s, transform .15s, color .15s, border-color .15s; }
.btn:focus-visible { box-shadow: 0 0 0 3px var(--t1-brand-soft-2) !important; }
.btn-primary, .t1-btn { background: var(--t1-brand) !important; border-color: var(--t1-brand) !important; color: #fff !important; }
.btn-primary:hover, .t1-btn:hover { background: color-mix(in srgb, var(--t1-active) 85%, #000) !important; border-color: color-mix(in srgb, var(--t1-active) 85%, #000) !important; color: #fff !important; }
.btn-outline-primary { color: var(--t1-brand) !important; border: 1.5px solid var(--t1-brand-soft-2) !important; background: #fff; }
.btn-outline-primary:hover { background: var(--t1-brand-soft) !important; color: var(--t1-brand) !important; }
.t1-btn-ghost { background: #fff; border: 1.5px solid var(--t1-line); color: var(--t1-ink-2); }
.t1-btn-ghost:hover { border-color: var(--t1-brand); color: var(--t1-brand); }
.form-control, .form-select { border-radius: 12px; border: 1.5px solid var(--t1-line); padding: .7rem 1rem; font-size: 14px; color: var(--t1-ink); background-color: #fff; }
.form-control:focus, .form-select:focus { border-color: var(--t1-brand); box-shadow: 0 0 0 3px var(--t1-brand-soft); }
.form-label { font-weight: 600; font-size: 13px; color: var(--t1-ink-2); margin-bottom: .35rem; }
.input-group-text { border-radius: 12px; border: 1.5px solid var(--t1-line); background: #f8fafc; color: var(--t1-muted); }
.form-check-input:checked { background-color: var(--t1-brand); border-color: var(--t1-brand); }
.badge { font-weight: 600; }

/* Kept from the old inline theme rules, now colour-driven */
.breadcrumb a, #loginTabContent a { color: var(--t1-brand) !important; }
.bg_header { background-color: var(--t1-brand) !important; color: #fff !important; }
.button-like { background: var(--t1-brand) !important; }
.checkbox-container input[type="checkbox"]:checked + .custom-checkbox { background-color: var(--t1-brand); border-color: var(--t1-brand); }
.error-code { font-size: 8rem; font-weight: 800; color: var(--t1-brand); }
.socialicons i { color: var(--t1-brand) !important; }
.buy-now:hover, .hoveraddto-cart:hover { background-color: color-mix(in srgb, var(--t1-accent) 85%, #000) !important; color: #fff !important; }

/* ---------- Page loader ---------- */
.loader-overlay { background: rgba(246, 247, 249, .82) !important; backdrop-filter: blur(2px); flex-direction: column; gap: .75rem; color: var(--t1-muted); font-weight: 600; font-size: 13px; }
.loader-overlay p { margin: 0; }
.loader-spinner { width: 42px !important; height: 42px !important; border: 4px solid var(--t1-brand-soft-2) !important; border-top-color: var(--t1-brand) !important; }

/* ---------- Header ---------- */
.t1-announce { background: var(--t1-brand); color: #fff; font-size: 12.5px; font-weight: 600; }
.t1-announce .container-xxl { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 36px; }
.t1-announce a { color: #fff; opacity: .92; }
.t1-announce a:hover { opacity: 1; color: #fff; }
.t1-announce-items { display: flex; gap: 1.25rem; align-items: center; overflow: hidden; white-space: nowrap; }
.t1-announce-items span { display: inline-flex; align-items: center; gap: .4rem; }
.t1-announce-links { display: flex; gap: 1rem; white-space: nowrap; }
@media (max-width: 767.98px) { .t1-announce-links { display: none; } .t1-announce .container-xxl { justify-content: center; } .t1-announce-items span + span { display: none; } }

.t1-header { position: sticky; top: 0; z-index: 1030; background: rgba(255, 255, 255, .96); backdrop-filter: saturate(180%) blur(10px); border-bottom: 1px solid var(--t1-line-2); transition: box-shadow .2s ease; }
.t1-header.is-stuck { box-shadow: 0 6px 20px rgba(15, 23, 42, .07); }
.t1-header-row { display: flex; align-items: center; gap: 1.25rem; min-height: 72px; }
.t1-logo { flex-shrink: 0; display: inline-flex; align-items: center; }
.t1-logo img { max-height: 46px; width: auto; }
.t1-menu-toggle { display: none; width: 42px; height: 42px; border: 0; border-radius: 12px; background: var(--t1-bg); color: var(--t1-ink); font-size: 1.1rem; }
.t1-search { position: relative; flex: 1; max-width: 640px; margin: 0 auto; }
.t1-search .t1-search-box { display: flex; align-items: center; height: 46px; border-radius: 999px; background: var(--t1-bg); border: 1.5px solid transparent; padding: 0 .4rem 0 1.1rem; transition: border-color .15s, background-color .15s, box-shadow .15s; }
.t1-search .t1-search-box:focus-within { background: #fff; border-color: var(--t1-brand); box-shadow: 0 0 0 4px var(--t1-brand-soft); }
.t1-search i { color: var(--t1-faint); }
.t1-search input.form-control { flex: 1; border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 0 .75rem; height: 100%; font-size: 14px; color: var(--t1-ink); border-radius: 0; }
.t1-search input::placeholder { color: var(--t1-faint); }
.t1-search-btn { flex-shrink: 0; height: 36px; padding: 0 1.1rem; border: 0; border-radius: 999px; background: var(--t1-brand); color: #fff; font-weight: 700; font-size: 13px; }
.t1-actions { display: flex; align-items: center; gap: .35rem; flex-shrink: 0; }
.t1-action { position: relative; display: inline-flex; align-items: center; gap: .55rem; height: 46px; padding: 0 .8rem; border-radius: 14px; color: var(--t1-ink-2) !important; font-weight: 600; font-size: 13.5px; background: transparent; border: 0; transition: background-color .15s, color .15s; }
.t1-action:hover, .t1-action[aria-expanded="true"] { background: var(--t1-bg); color: var(--t1-brand) !important; }
.t1-action i { font-size: 1.2rem; color: var(--t1-icon, var(--t1-ink-2)); }
.t1-action:hover i { color: var(--t1-brand); }
.t1-action small { display: block; font-size: 11px; font-weight: 500; color: var(--t1-faint); line-height: 1; }
.t1-action-text { display: flex; flex-direction: column; line-height: 1.15; text-align: left; }
.t1-action.dropdown-toggle::after { display: none; }
.t1-badge, .cart-count { position: absolute !important; top: 4px !important; left: 26px; right: auto !important; min-width: 19px; height: 19px; padding: 0 5px !important; border-radius: 999px !important; background: var(--t1-accent) !important; color: #fff !important; font-size: 11px !important; font-weight: 800; line-height: 19px !important; text-align: center; box-shadow: 0 0 0 2px #fff; }
.t1-search-mobile { display: none; }
.t1-dropdown { border: 1px solid var(--t1-line-2) !important; border-radius: 16px !important; box-shadow: var(--t1-shadow-lg) !important; padding: .5rem !important; min-width: 240px; margin-top: .5rem !important; }
.t1-dropdown .dropdown-item { border-radius: 10px; padding: .55rem .8rem; font-size: 13.5px; font-weight: 500; color: var(--t1-ink-2) !important; display: flex; align-items: center; gap: .65rem; }
.t1-dropdown .dropdown-item i { width: 18px; text-align: center; color: var(--t1-faint); }
.t1-dropdown .dropdown-item:hover { background: var(--t1-brand-soft); color: var(--t1-brand) !important; }
.t1-dropdown .dropdown-item:hover i { color: var(--t1-brand); }
.t1-dropdown-head { padding: .6rem .8rem .7rem; margin-bottom: .35rem; border-bottom: 1px solid var(--t1-line-2); }
.t1-dropdown-head strong { display: block; font-size: 14px; color: var(--t1-ink); }
.t1-dropdown-head span { font-size: 12px; color: var(--t1-muted); }
.t1-cart-drop { width: 400px; max-width: calc(100vw - 24px); }

.t1-nav { background: #fff; border-bottom: 1px solid var(--t1-line-2); }
.t1-nav .navbar-nav { gap: .15rem; }
.t1-nav .nav-link { color: var(--t1-ink-2) !important; font-weight: 600; font-size: 14px; padding: .85rem .9rem !important; border-radius: 10px; position: relative; }
.t1-nav .nav-link:hover, .t1-nav .nav-link.show { color: var(--t1-active) !important; }
.t1-nav .nav-link::after { border: 0; }
.t1-nav .nav-link.dropdown-toggle::after { content: "\f107"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 10px; margin-left: .35rem; vertical-align: 1px; display: inline-block; }
.t1-nav .dropdown-menu { border: 1px solid var(--t1-line-2); border-radius: 16px; box-shadow: var(--t1-shadow-lg); padding: .5rem; margin-top: 0; }
.t1-nav .dropdown-item { border-radius: 10px; padding: .5rem .8rem; font-weight: 500; font-size: 13.5px; color: var(--t1-ink-2); }
.t1-nav .dropdown-item:hover { background: color-mix(in srgb, var(--t1-active) 10%, #fff); color: var(--t1-active); }
@media (min-width: 992px) { .t1-nav .dropdown:hover > .dropdown-menu { display: block; } }

@media (max-width: 991.98px) {
	.t1-header-row { min-height: 64px; gap: .6rem; }
	.t1-menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
	.t1-logo img { max-height: 38px; }
	.t1-search { display: none; }
	.t1-search-mobile { display: inline-flex; }
	.t1-actions { margin-left: auto; }
	.t1-action-text { display: none; }
	.t1-action { padding: 0 .65rem; }
	.t1-nav { border-bottom: 0; }
	.t1-nav .navbar-collapse { padding: .5rem 0 1rem; border-top: 1px solid var(--t1-line-2); }
	.t1-nav .dropdown-menu { box-shadow: none; border: 0; background: var(--t1-bg); }
}

/* jQuery UI autocomplete (header search) */
.ui-autocomplete { z-index: 2000 !important; max-height: 60vh; overflow-y: auto; width: auto !important; min-width: 280px; border: 1px solid var(--t1-line-2) !important; border-radius: 16px !important; box-shadow: var(--t1-shadow-lg) !important; padding: .4rem !important; background: #fff !important; font-family: var(--t1-font) !important; }
.ui-menu .ui-menu-item-wrapper { border-radius: 10px; padding: .5rem .7rem !important; font-size: 13.5px; border: 0 !important; margin: 0 !important; }
.ui-menu .ui-menu-item-wrapper:hover, .ui-menu .ui-menu-item-wrapper.ui-state-active { background: var(--t1-brand-soft) !important; color: var(--t1-brand) !important; }

/* ---------- Section scaffolding ---------- */
.t1-section { margin-top: 2.5rem; }
.t1-section:first-child { margin-top: 1.5rem; }
.t1-sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.1rem; }
.t1-sec-title { margin: 0; font-size: clamp(1.15rem, 1rem + .6vw, 1.5rem); font-weight: 800; }
.t1-sec-sub { margin: .2rem 0 0; font-size: 13px; color: var(--t1-muted); }
.t1-sec-tools { display: flex; align-items: center; gap: .5rem; }
.t1-viewall { display: inline-flex; align-items: center; gap: .35rem; font-weight: 700; font-size: 13px; color: var(--t1-brand); white-space: nowrap; padding: .45rem .9rem; border-radius: 999px; background: var(--t1-brand-soft); }
.t1-viewall:hover { background: var(--t1-brand-soft-2); color: var(--t1-brand); }

/* Hero slider */
.t1-hero { margin-top: 1.25rem; }
.t1-hero .carousel { border-radius: 22px; overflow: hidden; box-shadow: var(--t1-shadow); background: #fff; }
.t1-hero .carousel-item img { width: 100%; height: clamp(200px, 30vw, 520px); aspect-ratio: auto; object-fit: cover; }
@media (max-width: 767.98px) { .t1-hero .carousel { border-radius: 16px; } .t1-hero .carousel-item img { height: auto; aspect-ratio: 16 / 9; } }
.t1-hero .carousel-indicators { margin-bottom: .85rem; }
.t1-hero .carousel-indicators [data-bs-target] { width: 8px; height: 8px; border-radius: 999px; border: 0; background: #fff; opacity: .55; transition: width .2s, opacity .2s; }
.t1-hero .carousel-indicators .active { width: 26px; opacity: 1; }
.t1-hero .carousel-control-prev, .t1-hero .carousel-control-next { width: 46px; height: 46px; top: 50%; transform: translateY(-50%); margin: 0 1rem; border-radius: 50%; background: rgba(255, 255, 255, .9); opacity: 0; transition: opacity .2s; box-shadow: var(--t1-shadow); }
.t1-hero .carousel:hover .carousel-control-prev, .t1-hero .carousel:hover .carousel-control-next { opacity: 1; }
.t1-hero .carousel-control-prev-icon, .t1-hero .carousel-control-next-icon { filter: invert(1) grayscale(1); width: 1.1rem; height: 1.1rem; }

/* Category tiles */
.t1-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 1rem; }
.t1-cat { display: flex; flex-direction: column; align-items: center; gap: .6rem; text-align: center; color: var(--t1-ink) !important; }
.t1-cat-img { width: 100%; aspect-ratio: 1; border-radius: 22px; background: #fff; box-shadow: var(--t1-shadow); display: flex; align-items: center; justify-content: center; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.t1-cat-img img { width: 78%; height: 78%; object-fit: contain; transition: transform .3s ease; }
.t1-cat:hover .t1-cat-img { transform: translateY(-4px); box-shadow: var(--t1-shadow-lg); }
.t1-cat:hover .t1-cat-img img { transform: scale(1.06); }
.t1-cat span { font-weight: 700; font-size: 13.5px; line-height: 1.25; }
@media (max-width: 575.98px) { .t1-cats { grid-auto-flow: column; grid-auto-columns: 96px; grid-template-columns: none; overflow-x: auto; padding-bottom: .5rem; scroll-snap-type: x mandatory; } .t1-cat { scroll-snap-align: start; } }

/* Trust / feature strip */
.t1-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 767.98px) { .t1-features { grid-template-columns: 1fr; } }
.t1-feature { display: flex; align-items: center; gap: .9rem; padding: 1.1rem 1.25rem; border-radius: var(--t1-radius); background: #fff; box-shadow: var(--t1-shadow); }
.t1-feature-icon { width: 48px; height: 48px; border-radius: 14px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; font-size: 1.2rem; background: var(--t1-brand-soft); color: var(--t1-brand); }
.t1-feature strong { display: block; font-size: 14.5px; }
.t1-feature span { font-size: 12.5px; color: var(--t1-muted); }

/* Promo banners */
.t1-banners { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.t1-banners.t1-banners--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.t1-banners.t1-banners--1 { grid-template-columns: 1fr; }
@media (max-width: 767.98px) { .t1-banners, .t1-banners.t1-banners--2 { grid-template-columns: 1fr; } }
.t1-banner { display: block; border-radius: var(--t1-radius); overflow: hidden; box-shadow: var(--t1-shadow); background: #fff; }
.t1-banner img { width: 100%; display: block; transition: transform .4s ease; }
.t1-banner:hover img { transform: scale(1.03); }

/* ---------- Product card ---------- */
.t1-card { position: relative; display: flex; flex-direction: column; height: 100%; background: #fff; border-radius: var(--t1-radius); border: 1px solid var(--t1-line-2); overflow: hidden; transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease; }
.t1-card:hover { box-shadow: var(--t1-shadow-lg); transform: translateY(-3px); border-color: transparent; }
.t1-card-media { position: relative; display: block; aspect-ratio: 1; background: #f8fafc; overflow: hidden; }
.t1-card-media img { width: 100%; height: 100%; object-fit: contain; padding: 10%; transition: transform .35s ease; }
.t1-card:hover .t1-card-media img { transform: scale(1.06); }
.t1-card-badges { position: absolute; left: .7rem; top: .7rem; display: flex; flex-direction: column; gap: .3rem; z-index: 2; }
.t1-chip { display: inline-flex; align-items: center; gap: .25rem; padding: .25rem .55rem; border-radius: 999px; font-size: 11px; font-weight: 800; line-height: 1.2; }
.t1-chip--sale { background: var(--t1-accent); color: #fff; }
.t1-chip--out { background: rgba(15, 23, 42, .78); color: #fff; }
.t1-chip--veg, .t1-chip--nonveg { background: #fff; padding: .2rem; }
.t1-chip--veg img, .t1-chip--nonveg img { width: 16px; height: 16px; }
.t1-card-fav { position: absolute; right: .7rem; top: .7rem; z-index: 2; width: 36px; height: 36px; border-radius: 50%; border: 0; background: #fff; color: var(--t1-muted); display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(15, 23, 42, .12); transition: transform .15s, color .15s; }
.t1-card-fav:hover { transform: scale(1.1); color: var(--t1-sale); }
.t1-card-fav .fa-solid.fa-heart { color: var(--t1-sale) !important; }
.t1-card-body { display: flex; flex-direction: column; gap: .3rem; padding: .85rem .95rem 1rem; flex: 1; }
.t1-card-cat { font-size: 11.5px; font-weight: 700; color: var(--t1-faint); text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-height: 1em; }
.t1-card-title { margin: 0; font-size: 14px; font-weight: 700; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.7em; }
.t1-card-title a { color: var(--t1-ink) !important; }
.t1-card-title a:hover { color: var(--t1-brand) !important; }
.t1-stars { display: inline-flex; gap: 1px; color: #f59e0b; font-size: 11px; }
.t1-stars .fa-regular { color: #d7dce3; }
.t1-card-foot { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: auto; padding-top: .45rem; }
.t1-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: .1rem .45rem; min-width: 0; }
.t1-price strong { font-size: 16.5px; font-weight: 800; color: var(--t1-ink); }
.t1-price del { font-size: 12.5px; color: var(--t1-faint); }
.t1-add { flex-shrink: 0; width: 40px; height: 40px; border-radius: 12px; border: 0; background: var(--t1-brand-soft); color: var(--t1-brand); display: inline-flex; align-items: center; justify-content: center; font-size: 1rem; transition: background-color .15s, color .15s, transform .15s; }
.t1-add:hover { background: var(--t1-active); color: #fff; transform: translateY(-1px); }
.t1-add.is-added { background: var(--t1-ok); color: #fff; }
.t1-add[disabled], .t1-add.is-disabled { background: #f1f5f9; color: var(--t1-faint); cursor: not-allowed; }
.t1-card.is-out .t1-card-media img { opacity: .55; filter: grayscale(.4); }
@media (max-width: 575.98px) { .t1-card-body { padding: .7rem .75rem .8rem; } .t1-price strong { font-size: 15px; } .t1-add { width: 36px; height: 36px; border-radius: 10px; } }

/* Product rails (slick) */
.t1-rail { margin: 0 -8px; }
.t1-rail .slick-track { display: flex !important; }
.t1-rail .slick-slide { height: inherit !important; padding: 8px; }
.t1-rail .slick-slide > div { height: 100%; }
.t1-rail-arrows { display: flex; gap: .4rem; }
.t1-rail-arrows .slider-btn { position: static !important; width: 38px !important; height: 38px !important; line-height: 38px !important; border-radius: 50% !important; background: #fff !important; color: var(--t1-ink-2) !important; border: 1.5px solid var(--t1-line) !important; font-size: 12px !important; display: inline-flex !important; align-items: center; justify-content: center; transform: none !important; }
.t1-rail-arrows .slider-btn:hover { border-color: var(--t1-brand) !important; color: var(--t1-brand) !important; }
.t1-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1rem; }
@media (max-width: 575.98px) { .t1-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; } }

/* ---------- Footer ---------- */
.t1-footer { margin-top: 4rem; background: var(--t1-footer); color: rgba(255, 255, 255, .78); font-size: 14px; }
.t1-footer a { color: rgba(255, 255, 255, .78); }
.t1-footer a:hover { color: #fff; }
.t1-footer-main { padding: 3.25rem 0 2rem; display: grid; grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr)) 1.2fr; gap: 2rem; }
@media (max-width: 1199.98px) { .t1-footer-main { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .t1-footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem 1rem; } .t1-footer-brand { grid-column: 1 / -1; } }
.t1-footer h4 { color: #fff; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 1rem; }
.t1-footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .6rem; }
.t1-footer-brand img { max-height: 44px; margin-bottom: 1rem; }
.t1-footer-brand p { margin: 0 0 1rem; line-height: 1.6; }
.t1-social { display: flex; flex-wrap: wrap; gap: .5rem; }
.t1-social a { width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .1); color: #fff; transition: background-color .15s, transform .15s; }
.t1-social a:hover { background: var(--t1-brand); transform: translateY(-2px); }
.t1-contact li { display: flex; gap: .6rem; align-items: flex-start; min-width: 0; }
.t1-contact i { width: 16px; margin-top: .2rem; color: rgba(255, 255, 255, .55); }
.t1-contact li > a, .t1-contact li > span { min-width: 0; overflow-wrap: anywhere; }
.t1-apps { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.t1-apps img { height: 40px; border-radius: 8px; }
.t1-seller-cta { display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .9rem; border-radius: 999px; background: #fbbf24; color: #1f2937 !important; font-weight: 800; font-size: 13px; }
.t1-seller-cta:hover { background: #f59e0b; }
.t1-footer-bottom { border-top: 1px solid rgba(255, 255, 255, .12); padding: 1.1rem 0 1.4rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-size: 13px; }
.t1-footer-bottom img { height: 22px; opacity: .9; }
/* legacy class kept for pages that still use it */
.footer { background-color: var(--t1-footer) !important; }

/* ---------- Dialogs: sign in / search ---------- */
.t1-modal .modal-content { border: 0; border-radius: 24px; overflow: hidden; box-shadow: var(--t1-shadow-lg); }
.t1-auth { display: grid; grid-template-columns: 1fr 1.1fr; min-height: 0; } /* sized by its content (a fixed 520px left an empty gap under the sign-in form) */
@media (max-width: 767.98px) { .t1-auth { grid-template-columns: 1fr; } .t1-auth-art { display: none !important; } }
.t1-auth-art { position: relative; display: flex; flex-direction: column; justify-content: flex-end; padding: 2rem; color: #fff; background: linear-gradient(160deg, var(--t1-brand) 0%, var(--t1-brand-dark) 100%); overflow: hidden; }
.t1-auth-art::before { content: ""; position: absolute; width: 320px; height: 320px; border-radius: 50%; background: rgba(255, 255, 255, .1); top: -90px; right: -120px; }
.t1-auth-art::after { content: ""; position: absolute; width: 220px; height: 220px; border-radius: 50%; background: rgba(255, 255, 255, .08); bottom: 90px; left: -90px; }
.t1-auth-art > * { position: relative; z-index: 1; }
.t1-auth-art h3 { color: #fff; font-weight: 800; font-size: 1.6rem; margin: 0 0 .5rem; }
.t1-auth-art p { margin: 0 0 1.25rem; opacity: .9; }
.t1-auth-art ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .6rem; font-weight: 600; font-size: 13.5px; }
.t1-auth-art li i { width: 22px; }
.t1-auth-form { padding: 1.75rem 2rem 1.6rem; max-height: 90vh; overflow-y: auto; }
.t1-auth-form .btn-close { position: absolute; right: 1.1rem; top: 1.1rem; z-index: 3; }
.t1-tabs { display: inline-flex; padding: .3rem; border-radius: 999px; background: var(--t1-bg); margin-bottom: 1.25rem; border: 0 !important; }
.t1-tabs .nav-link { border: 0 !important; border-radius: 999px !important; padding: .5rem 1.25rem; font-weight: 700; font-size: 13.5px; color: var(--t1-muted) !important; background: transparent; }
.t1-tabs .nav-link.active { background: #fff !important; color: var(--t1-ink) !important; box-shadow: var(--t1-shadow); }
.t1-auth-form .form-group { margin-top: .9rem !important; }
.t1-pass { position: relative; }
.t1-pass .form-control { padding-right: 2.8rem; }
.t1-pass .t1-eye { position: absolute; right: .9rem; top: 50%; transform: translateY(-50%); cursor: pointer; color: var(--t1-faint); z-index: 5; }
.t1-auth-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 1rem; font-size: 13px; }
.t1-searchbox .modal-body { padding: 1.25rem; }
.t1-searchbox .modal-dialog { margin-top: 5rem; }

/* ---------- Breadcrumb & misc shared ---------- */
nav.breadcrumb, .breadcrumb { background: transparent !important; padding: .9rem 0 !important; margin: 0 !important; font-size: 13px; }
.breadcrumb-item + .breadcrumb-item::before { content: "\203A"; color: var(--t1-faint); }
.breadcrumb li, .breadcrumb-item.active { color: var(--t1-muted) !important; }
.pagination .page-link { border: 0; border-radius: 10px !important; margin: 0 .15rem; color: var(--t1-ink-2); font-weight: 600; }
.pagination .page-item.active .page-link { background: var(--t1-active); color: #fff; }
.swal2-popup { border-radius: 20px !important; font-family: var(--t1-font) !important; }
.swal2-styled.swal2-confirm { background: var(--t1-brand) !important; border-radius: 999px !important; }

/* Small toast for cart / wishlist feedback */
.t1-toast { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 140%); z-index: 3000; display: flex; align-items: center; gap: .6rem; padding: .8rem 1.1rem; border-radius: 14px; background: var(--t1-ink); color: #fff; font-weight: 600; font-size: 13.5px; box-shadow: var(--t1-shadow-lg); transition: transform .3s ease; max-width: calc(100vw - 32px); }
.t1-toast.is-on { transform: translate(-50%, 0); }
.t1-toast a { color: #fff; text-decoration: underline; font-weight: 700; }
.t1-toast i { color: #4ade80; }
.t1-toast.is-error i { color: #f87171; }

/* ---------- Header on the brand colour (Admin > Themes "header colour"; store logos are made for it) ---------- */
.t1-announce { background: color-mix(in srgb, var(--t1-brand) 78%, #000); }
.t1-header { background: var(--t1-brand); border-bottom: 0; backdrop-filter: none; }
.t1-header .t1-logo img { max-height: 48px; }
.t1-header .t1-menu-toggle { background: rgba(255, 255, 255, .14); color: #fff; }
.t1-header .t1-search .t1-search-box { background: rgba(255, 255, 255, .16); border-color: rgba(255, 255, 255, .22); }
.t1-header .t1-search .t1-search-box:focus-within { background: #fff; border-color: #fff; box-shadow: 0 0 0 4px rgba(255, 255, 255, .25); }
.t1-header .t1-search i { color: rgba(255, 255, 255, .8); }
.t1-header .t1-search input.form-control { color: #fff; }
.t1-header .t1-search input::placeholder { color: rgba(255, 255, 255, .78); }
.t1-header .t1-search .t1-search-box:focus-within i { color: var(--t1-faint); }
.t1-header .t1-search .t1-search-box:focus-within input.form-control { color: var(--t1-ink); }
.t1-header .t1-search .t1-search-box:focus-within input::placeholder { color: var(--t1-faint); }
.t1-header .t1-search-btn { background: #fff; color: var(--t1-brand); }
.t1-header .t1-action, .t1-header .t1-action i { color: #fff !important; }
.t1-header .t1-action small { color: rgba(255, 255, 255, .72); }
.t1-header .t1-action:hover, .t1-header .t1-action[aria-expanded="true"] { background: rgba(255, 255, 255, .14); color: #fff !important; }
.t1-header .t1-action:hover i { color: #fff; }
.t1-header .t1-badge, .t1-header .cart-count { box-shadow: 0 0 0 2px var(--t1-brand); }
.t1-header .t1-nav { background: #fff; border-bottom: 1px solid var(--t1-line-2); }
.t1-header .t1-dropdown .dropdown-item, .t1-header .t1-dropdown .dropdown-item i { color: var(--t1-ink-2) !important; }
.t1-header .t1-dropdown .dropdown-item:hover, .t1-header .t1-dropdown .dropdown-item:hover i { color: var(--t1-brand) !important; }
/* the rail arrows live in the section head, not over the rail */
.t1-sec-tools .slider-arrow { position: static; transform: none; width: auto; }

/* ---------- Fixes after visual review ---------- */
.t1-header .cart i, .t1-header .cart { margin-top: 0 !important; }
.t1-header .cart > .t1-action > i { font-size: 1.2rem !important; }
.t1-toast { transform: translate(-50%, calc(100% + 40px)); visibility: hidden; transition: transform .3s ease, visibility 0s linear .3s; }
.t1-toast.is-on { visibility: visible; transition: transform .3s ease; }
/* phones: trust strip and banners scroll sideways instead of stacking tall */
@media (max-width: 767.98px) {
	.t1-features, .t1-banners, .t1-banners.t1-banners--2 { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 82%; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .4rem; scrollbar-width: none; }
	.t1-features::-webkit-scrollbar, .t1-banners::-webkit-scrollbar { display: none; }
	.t1-features > *, .t1-banners > * { scroll-snap-align: start; }
	.t1-banners.t1-banners--1 { grid-auto-columns: 100%; }
	.t1-feature { padding: .85rem 1rem; }
	.t1-section { margin-top: 1.75rem; }
	.t1-sec-head { align-items: center; }
	.t1-rail-arrows { display: none; }
}

/* ---------- Page head (listing, product, cart…) ---------- */
.t1-page-head { padding: .5rem 0 1.25rem; }
.t1-page-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.t1-page-title h1 { margin: 0; font-size: clamp(1.35rem, 1.1rem + 1vw, 1.9rem); font-weight: 800; }
.t1-count { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--t1-brand); color: #fff; font-size: 11px; font-weight: 800; }
.t1-list-tools { display: flex; align-items: center; gap: .6rem; }
.t1-sort { display: flex; align-items: center; gap: .5rem; margin: 0; font-size: 13px; font-weight: 600; color: var(--t1-muted); }
.t1-sort .form-select { width: auto; padding: .5rem 2.2rem .5rem .9rem; border-radius: 999px; font-weight: 600; }
.t1-chips { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1rem; }
.t1-fchip { display: inline-flex; align-items: center; gap: .45rem; padding: .35rem .75rem; border-radius: 999px; border: 1.5px solid var(--t1-brand-soft-2); background: var(--t1-brand-soft); color: var(--t1-brand); font-size: 12.5px; font-weight: 700; }
.t1-fchip:hover { border-color: var(--t1-brand); }
.t1-fchip--clear { background: transparent; border-color: transparent; color: var(--t1-muted); text-decoration: underline; }

/* ---------- Listing layout & filters ---------- */
.t1-list-layout { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 1.5rem; align-items: start; }
@media (max-width: 991.98px) { .t1-list-layout { grid-template-columns: 1fr; } }
@media (min-width: 992px) { .t1-filters { position: sticky; top: 150px; } }
@media (min-width: 992px) { .t1-filters .offcanvas-body { padding: 0; overflow: visible; } }
.t1-filter-card { background: #fff; border-radius: var(--t1-radius); box-shadow: var(--t1-shadow); padding: .35rem 1.1rem; }
.t1-filter { border-bottom: 1px solid var(--t1-line-2); padding: .85rem 0; }
.t1-filter:last-child { border-bottom: 0; }
.t1-filter summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: .5rem; cursor: pointer; font-weight: 800; font-size: 14px; color: var(--t1-ink); }
.t1-filter summary::-webkit-details-marker { display: none; }
.t1-filter summary::after { content: "\f107"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 12px; color: var(--t1-faint); margin-left: auto; transition: transform .2s; }
.t1-filter[open] summary::after { transform: rotate(180deg); }
.t1-filter summary .t1-count { margin-left: .4rem; }
.t1-filter-find { margin-top: .7rem; border-radius: 10px; padding: .45rem .75rem; }
.t1-filter-list { display: flex; flex-direction: column; gap: .15rem; margin-top: .6rem; max-height: 260px; overflow-y: auto; }
.t1-check { display: flex; align-items: center; gap: .6rem; margin: 0; padding: .4rem .45rem; border-radius: 9px; cursor: pointer; font-size: 13.5px; font-weight: 500; color: var(--t1-ink-2); }
.t1-check:hover { background: var(--t1-bg); }
.t1-check input { width: 17px; height: 17px; flex-shrink: 0; accent-color: var(--t1-brand); cursor: pointer; }
.t1-check input:checked + span { color: var(--t1-ink); font-weight: 700; }
.t1-price-form { display: flex; align-items: center; gap: .4rem; margin-top: .7rem; }
.t1-price-form label { position: relative; flex: 1; margin: 0; }
.t1-price-form label span { position: absolute; left: .65rem; top: 50%; transform: translateY(-50%); color: var(--t1-faint); font-size: 12px; }
.t1-price-form .form-control { padding: .5rem .5rem .5rem 1.6rem; border-radius: 10px; font-size: 13px; -moz-appearance: textfield; }
.t1-price-form .form-control::-webkit-inner-spin-button { -webkit-appearance: none; }
.t1-price-dash { color: var(--t1-faint); }
.t1-price-form .btn { border-radius: 10px; padding: .5rem .8rem; }

/* Loading + empty states */
.t1-skeleton-grid { margin-top: 1rem; }
#load_data:empty + .t1-skeleton-grid { margin-top: 0; }
.t1-skel { background: #fff; border-radius: var(--t1-radius); border: 1px solid var(--t1-line-2); padding: 0 0 1rem; overflow: hidden; }
.t1-skel span { display: block; aspect-ratio: 1; margin-bottom: .9rem; }
.t1-skel i { display: block; height: 12px; margin: .45rem .95rem 0; border-radius: 6px; }
.t1-skel i.short { width: 40%; }
.t1-skel span, .t1-skel i { background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 37%, #f1f5f9 63%); background-size: 400% 100%; animation: t1-shimmer 1.3s ease infinite; }
@keyframes t1-shimmer { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }
.t1-empty { display: flex; flex-direction: column; align-items: center; gap: .35rem; padding: 3.5rem 1rem; text-align: center; background: #fff; border-radius: var(--t1-radius); box-shadow: var(--t1-shadow); }
.t1-empty i { width: 64px; height: 64px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--t1-brand-soft); color: var(--t1-brand); font-size: 1.5rem; margin-bottom: .5rem; }
.t1-empty strong { font-size: 1.05rem; }
.t1-empty span { color: var(--t1-muted); font-size: 13.5px; }
#t1-sentinel { height: 1px; }

/* ---------- Product page ---------- */
.t1-pv { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 2.5rem; align-items: start; background: #fff; border-radius: 24px; box-shadow: var(--t1-shadow); padding: 1.75rem; }
@media (max-width: 991.98px) { .t1-pv { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; padding: 1rem; border-radius: 18px; } }
.t1-pv-gallery { position: sticky; top: 150px; }
@media (max-width: 991.98px) { .t1-pv-gallery { position: static; } }
.t1-pv-stage { position: relative; border-radius: 18px; background: #f8fafc; overflow: hidden; }
.t1-pv-stage .carousel-item img, .t1-pv-stage .carousel-item video { aspect-ratio: 1; object-fit: contain; padding: 6%; max-height: none !important; }
.t1-pv-stage .carousel-control-prev, .t1-pv-stage .carousel-control-next { width: 42px; height: 42px; top: 50%; transform: translateY(-50%); margin: 0 .75rem; border-radius: 50%; background: #fff; opacity: .9; box-shadow: var(--t1-shadow); }
.t1-pv-stage .carousel-control-prev-icon, .t1-pv-stage .carousel-control-next-icon { filter: invert(1) grayscale(1); width: 1rem; height: 1rem; }
.t1-pv-thumbs { display: flex; gap: .6rem; margin-top: .9rem; overflow-x: auto; padding-bottom: .2rem; }
.t1-thumb { flex-shrink: 0; width: 72px; height: 72px; border-radius: 12px; border: 2px solid var(--t1-line-2); background: #f8fafc; padding: 4px; opacity: .7; transition: border-color .15s, opacity .15s; display: inline-flex; align-items: center; justify-content: center; color: var(--t1-ink); }
.t1-thumb img { width: 100%; height: 100%; object-fit: contain; }
.t1-thumb.active, .t1-thumb:hover { border-color: var(--t1-brand); opacity: 1; }
.t1-pv-cat { display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--t1-brand); margin-bottom: .4rem; }
.t1-pv-title { font-size: clamp(1.4rem, 1.1rem + 1.1vw, 2rem); font-weight: 800; line-height: 1.2; margin: 0 0 .6rem; }
.t1-pv-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.25rem; font-size: 13.5px; color: var(--t1-muted); }
.t1-pv-rating { display: inline-flex; align-items: center; gap: .45rem; color: var(--t1-muted) !important; }
.t1-pv-rating .t1-stars { font-size: 13px; }
.t1-pv-seller i { color: var(--t1-faint); margin-right: .25rem; }
.t1-pv-seller strong { color: var(--t1-ink-2); }
.t1-pv-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: .35rem .75rem; margin: 1.25rem 0 .35rem; }
.t1-pv-price strong { font-size: 2rem; font-weight: 800; color: var(--t1-ink); line-height: 1; }
.t1-pv-price del { font-size: 1rem; color: var(--t1-faint); }
.t1-pv-save { padding: .25rem .6rem; border-radius: 999px; background: #dcfce7; color: #15803d; font-size: 12.5px; font-weight: 800; }
.t1-pv-price small { flex-basis: 100%; color: var(--t1-faint); font-size: 12px; }
.t1-pv-stock { display: inline-flex; align-items: center; gap: .4rem; font-size: 13px; font-weight: 700; margin-top: .25rem; }
.t1-pv-stock.is-in { color: var(--t1-ok); }
.t1-pv-stock.is-out { color: var(--t1-sale); }
.t1-pv-attrs { display: flex; flex-wrap: wrap; gap: .4rem 1.1rem; margin-top: 1rem; font-size: 13.5px; }
.t1-pv-variants { margin-top: 1.25rem; display: flex; flex-direction: column; gap: 1rem; }
.t1-pv-opt > label { display: block; font-weight: 700; font-size: 13.5px; margin-bottom: .5rem; color: var(--t1-ink-2); }
.t1-pv-opt > label span { font-weight: 500; color: var(--t1-muted); }
.t1-pv-opt .form-select { max-width: 260px; }
.t1-swatches, .t1-sizes, .t1-designs { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .55rem; }
.t1-swatches li { width: 34px; height: 34px; border-radius: 50%; cursor: pointer; box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .15); outline: 2px solid transparent; outline-offset: 3px; transition: outline-color .15s; }
.t1-swatches li.coloractive, .t1-swatches li:hover, .t1-swatches li:focus-visible { outline-color: var(--t1-brand); }
.t1-sizes li { min-width: 48px; padding: .5rem .85rem; border-radius: 12px; border: 1.5px solid var(--t1-line); text-align: center; font-weight: 700; font-size: 13.5px; cursor: pointer; background: #fff !important; color: var(--t1-ink-2); transition: all .15s; }
.t1-sizes li:hover, .t1-sizes li:focus-visible { border-color: var(--t1-brand); }
.t1-sizes li.active { border-color: var(--t1-brand) !important; background: var(--t1-brand-soft) !important; color: var(--t1-brand); }
.t1-designs li { width: 64px; height: 64px; border-radius: 12px; border: 2px solid var(--t1-line); padding: 4px; cursor: pointer; background: #fff; }
.t1-designs li img { width: 100%; height: 100%; object-fit: contain; }
.t1-designs li.borderactive, .t1-designs li:hover { border-color: var(--t1-brand); }
.t1-pv-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-top: 1.5rem; }
.t1-pv-cta, .t1-pv-buy { flex: 1 1 180px; padding: .85rem 1.25rem; font-size: 15px; }
.t1-pv-buy { background: var(--t1-accent) !important; border-color: var(--t1-accent) !important; color: #fff !important; }
.t1-pv-buy:hover { background: color-mix(in srgb, var(--t1-accent) 85%, #000) !important; border-color: color-mix(in srgb, var(--t1-accent) 85%, #000) !important; }
.t1-pv-icon { width: 50px; height: 50px; border-radius: 50%; border: 1.5px solid var(--t1-line); background: #fff; color: var(--t1-ink-2); font-size: 1.1rem; display: inline-flex; align-items: center; justify-content: center; transition: border-color .15s, color .15s; }
.t1-pv-icon:hover { border-color: var(--t1-brand); color: var(--t1-brand); }
.t1-pv-icon .fa-solid.fa-heart { color: var(--t1-sale); }
.t1-qty { display: inline-flex; align-items: center; border: 1.5px solid var(--t1-line); border-radius: 999px; background: #fff; height: 50px; flex: 1 1 180px; justify-content: space-between; padding: 0 .35rem; }
.t1-qty button { width: 38px; height: 38px; border: 0; border-radius: 50%; background: var(--t1-bg); color: var(--t1-ink); }
.t1-qty button:hover { background: var(--t1-brand-soft); color: var(--t1-brand); }
.t1-qty input { width: 56px; border: 0; text-align: center; font-weight: 800; font-size: 16px; background: transparent; -moz-appearance: textfield; }
.t1-qty input::-webkit-inner-spin-button { -webkit-appearance: none; }
.t1-pv-delivery { margin-top: 1.5rem; padding: 1rem; border-radius: 14px; background: var(--t1-bg); }
.t1-pv-delivery > label { display: flex; align-items: center; gap: .45rem; font-weight: 700; font-size: 13.5px; margin-bottom: .55rem; }
.t1-pv-delivery > label i { color: var(--t1-brand); }
.t1-pv-pin { display: flex; gap: .5rem; }
.t1-pv-pin .form-control { max-width: 240px; background: #fff; }
#spandelivery { margin-top: .5rem; font-size: 13px; font-weight: 600; }
.t1-pv-trust { list-style: none; padding: 0; margin: 1.25rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; font-size: 13px; color: var(--t1-muted); }
.t1-pv-trust i { color: var(--t1-brand); margin-right: .35rem; }
.t1-pv-highlights { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--t1-line-2); font-size: 14px; color: var(--t1-ink-2); max-width: 100%; min-width: 0; overflow-wrap: break-word; word-break: break-word; }
.t1-pv-highlights ul { padding-left: 1.1rem; margin: 0; }
.t1-pv-tabs { margin-top: 1.5rem; background: #fff; border-radius: 24px; box-shadow: var(--t1-shadow); padding: 1.5rem 1.75rem; max-width: 100%; min-width: 0; overflow: hidden; }
@media (max-width: 991.98px) { .t1-pv-tabs { padding: 1.1rem; border-radius: 18px; } }
@media (max-width: 575.98px) {
	.t1-pv-tabs { padding: .85rem; border-radius: 14px; margin-top: 1rem; }
	.t1-pv-tabs .nav.t1-tabs {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		max-width: 100%;
		gap: .35rem;
		padding-bottom: 2px;
	}
	.t1-pv-tabs .nav.t1-tabs::-webkit-scrollbar { display: none; }
	.t1-pv-tabs .nav.t1-tabs .nav-link { white-space: nowrap; font-size: 13px !important; padding: .5rem .85rem !important; }
}
.t1-pv-desc { font-size: 14.5px; line-height: 1.7; color: var(--t1-ink-2); max-width: 100%; min-width: 0; overflow-wrap: break-word; word-wrap: break-word; word-break: break-word; }
.t1-pv-desc *, .t1-pv-highlights * { max-width: 100%; box-sizing: border-box; }
.t1-pv-desc p, .t1-pv-desc div, .t1-pv-desc section, .t1-pv-desc article { max-width: 100% !important; overflow-wrap: break-word; word-wrap: break-word; }
.t1-pv-desc img, .t1-pv-highlights img { max-width: 100% !important; height: auto !important; border-radius: 12px; }
.t1-pv-desc iframe, .t1-pv-desc embed, .t1-pv-desc object, .t1-pv-desc video { max-width: 100% !important; }
.t1-pv-desc pre { max-width: 100%; overflow-x: auto; white-space: pre-wrap; word-break: break-all; }
.t1-pv-desc .table-responsive, .t1-pv-highlights .table-responsive { width: 100%; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: .75rem 0 1.25rem; border-radius: 12px; border: 1px solid var(--t1-line-2); }
.t1-pv-desc table, .t1-pv-highlights table { width: 100% !important; max-width: 100% !important; margin: 0 !important; border-collapse: collapse; background: #fff; }
.t1-pv-desc table td, .t1-pv-desc table th, .t1-pv-highlights table td, .t1-pv-highlights table th { padding: .65rem .85rem; border: 1px solid var(--t1-line-2); font-size: 13.5px; line-height: 1.5; vertical-align: middle; word-break: normal; }
.t1-pv-desc table tr:first-child td, .t1-pv-desc table tr:first-child th, .t1-pv-desc table th, .t1-pv-highlights table th { background: var(--t1-bg); font-weight: 700; color: var(--t1-ink); }
@media (max-width: 767.98px) {
	.t1-pv-desc table:not(.table-responsive > table), .t1-pv-highlights table:not(.table-responsive > table) { display: block; width: 100% !important; max-width: 100% !important; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.t1-pv-desc table td, .t1-pv-desc table th, .t1-pv-highlights table td, .t1-pv-highlights table th { padding: .5rem .65rem; font-size: 12.5px; }
}
/* ---------- Product reviews (ajax/ajaxproduct_view.php, Reviews tab) ---------- */
.t1-stars--lg { font-size: 16px; gap: 2px; }
.t1-rv2 { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 2rem; align-items: start; }
@media (max-width: 991.98px) { .t1-rv2 { grid-template-columns: 1fr; gap: 1.25rem; } }
.t1-rv2-summary { position: sticky; top: 110px; display: flex; flex-direction: column; gap: 1.1rem; padding: 1.25rem; border-radius: 20px; background: var(--t1-bg); }
@media (max-width: 991.98px) { .t1-rv2-summary { position: static; } }
.t1-rv2-score { display: flex; align-items: center; gap: .9rem; }
.t1-rv2-score > strong { font-size: 3rem; font-weight: 800; line-height: 1; color: var(--t1-ink); letter-spacing: -.02em; }
.t1-rv2-score small { display: block; margin-top: .3rem; font-size: 12.5px; color: var(--t1-muted); }
.t1-rv2-bars { display: flex; flex-direction: column; gap: .15rem; }
.t1-rv2-bar { display: grid; grid-template-columns: 34px 1fr 38px; align-items: center; gap: .6rem; width: 100%; padding: .3rem .45rem; border: 0; border-radius: 10px; background: transparent; font-size: 12.5px; font-weight: 700; color: var(--t1-ink-2); text-align: left; transition: background .15s; }
.t1-rv2-bar:not(:disabled):hover, .t1-rv2-bar.is-active { background: #fff; }
.t1-rv2-bar.is-active { box-shadow: 0 0 0 1.5px var(--t1-active); }
.t1-rv2-bar:disabled { opacity: .55; cursor: default; }
.t1-rv2-bar-label i { color: #f59e0b; font-size: 10px; }
.t1-rv2-bar-track { height: 8px; border-radius: 999px; background: #e2e8f0; overflow: hidden; }
.t1-rv2-bar-track i { display: block; height: 100%; border-radius: inherit; background: #f59e0b; }
.t1-rv2-bar-pct { color: var(--t1-faint); font-weight: 600; text-align: right; }
.t1-rv2-cta { padding-top: 1rem; border-top: 1px solid var(--t1-line); }
.t1-rv2-cta strong { display: block; font-size: 14px; color: var(--t1-ink); }
.t1-rv2-cta strong i { color: var(--t1-brand); }
.t1-rv2-cta p { margin: .25rem 0 .8rem; font-size: 13px; color: var(--t1-muted); }
.t1-rv2-cta .btn { border-radius: 999px; font-weight: 700; padding: .6rem 1rem; }
.t1-rv2-link { font-size: 13px; font-weight: 700; color: var(--t1-brand); }
.t1-rv2-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .5rem; }
.t1-rv2-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.t1-rv2-chip { display: inline-flex; align-items: center; gap: .3rem; padding: .35rem .8rem; border: 1.5px solid var(--t1-line); border-radius: 999px; background: #fff; font-size: 12.5px; font-weight: 700; color: var(--t1-ink-2); transition: border-color .15s, color .15s, background .15s; }
.t1-rv2-chip i { color: #f59e0b; font-size: 10px; }
.t1-rv2-chip span { color: var(--t1-faint); font-weight: 600; }
.t1-rv2-chip:hover { border-color: var(--t1-active); }
.t1-rv2-chip.is-active { border-color: var(--t1-active); background: color-mix(in srgb, var(--t1-active) 8%, #fff); color: var(--t1-active); }
.t1-rv2-sort .form-select { border-radius: 999px; font-size: 13px; font-weight: 600; padding-right: 2.2rem; min-width: 150px; }
.t1-rv2-list { display: flex; flex-direction: column; }
.t1-rv2-item { padding: 1.15rem 0; border-top: 1px solid var(--t1-line-2); }
.t1-rv2-item:first-child { border-top: 0; }
.t1-rv2-item header { display: flex; align-items: center; gap: .7rem; }
.t1-rv2-who { min-width: 0; }
.t1-rv2-who strong { display: block; font-size: 14px; color: var(--t1-ink); }
.t1-rv2-who small { font-size: 12px; font-weight: 600; color: var(--t1-ok); }
.t1-rv2-item time { margin-left: auto; font-size: 12px; color: var(--t1-faint); white-space: nowrap; }
.t1-rv2-avatar { width: 40px; height: 40px; flex-shrink: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 15px; }
.t1-rv2-avatar--0 { background: color-mix(in srgb, var(--t1-brand) 14%, #fff); color: var(--t1-brand); }
.t1-rv2-avatar--1 { background: #fef3c7; color: #b45309; }
.t1-rv2-avatar--2 { background: #dcfce7; color: #15803d; }
.t1-rv2-avatar--3 { background: #ede9fe; color: #6d28d9; }
.t1-rv2-avatar--4 { background: #ffe4e6; color: #be123c; }
.t1-rv2-avatar--5 { background: #e0f2fe; color: #0369a1; }
.t1-rv2-rating { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: .7rem 0 .2rem; }
.t1-rv2-rating .t1-stars { font-size: 13px; }
.t1-rv2-rating h4 { margin: 0; font-size: 14.5px; font-weight: 800; color: var(--t1-ink); }
.t1-rv2-text { margin: .35rem 0 0; font-size: 14px; line-height: 1.65; color: var(--t1-ink-2); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.t1-rv2-item.is-open .t1-rv2-text { display: block; -webkit-line-clamp: unset; }
.t1-rv2-more { margin-top: .35rem; padding: 0; border: 0; background: none; font-size: 13px; font-weight: 700; color: var(--t1-brand); }
.t1-rv2-none { margin: 1.5rem 0; text-align: center; color: var(--t1-muted); }
.t1-rv2-loadmore { display: block; margin: 1rem auto 0; border-radius: 999px; font-weight: 700; padding: .55rem 1.4rem; }
.t1-rv2-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: .35rem; padding: 2.5rem 1rem; border: 1.5px dashed var(--t1-line); border-radius: 20px; }
.t1-rv2-empty-icon { width: 56px; height: 56px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: .4rem; background: color-mix(in srgb, var(--t1-brand) 10%, #fff); color: var(--t1-brand); font-size: 1.4rem; }
.t1-rv2-empty strong { font-size: 16px; color: var(--t1-ink); }
.t1-rv2-empty p { margin: 0; max-width: 360px; font-size: 13.5px; color: var(--t1-muted); }
.t1-rv-avatar { width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--t1-brand-soft); color: var(--t1-brand); font-weight: 800; }
.t1-pv-skeleton { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.t1-pv-skeleton .t1-skel { border: 0; padding: 1rem 0; }
@media (max-width: 991.98px) { .t1-pv-skeleton { grid-template-columns: 1fr; } }

/* ---------- Cart ---------- */
.t1-steps-bar { list-style: none; padding: 0; margin: .25rem 0 0; display: flex; gap: .5rem; flex-wrap: wrap; }
.t1-steps-bar li { display: inline-flex; align-items: center; gap: .45rem; font-size: 13px; font-weight: 700; color: var(--t1-faint); }
.t1-steps-bar li + li::before { content: ""; width: 28px; height: 2px; background: var(--t1-line); margin-right: .5rem; }
.t1-steps-bar span { width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--t1-line-2); color: var(--t1-muted); font-size: 12px; }
.t1-steps-bar li.is-now { color: var(--t1-ink); }
.t1-steps-bar li.is-now span, .t1-steps-bar li.is-done span { background: var(--t1-brand); color: #fff; }
.t1-steps-bar li.is-done { color: var(--t1-ink-2); }
.t1-cart { display: grid; grid-template-columns: minmax(0, 1fr) 370px; gap: 1.5rem; align-items: start; }
.t1-cart.t1-cart--saved-only { grid-template-columns: 1fr; margin-top: 1.5rem; }
@media (max-width: 991.98px) { .t1-cart { grid-template-columns: 1fr; } }
.t1-panel { background: #fff; border-radius: 20px; box-shadow: var(--t1-shadow); padding: .5rem 1.4rem 1rem; }
.t1-panel-head { display: flex; align-items: center; justify-content: space-between; padding: .9rem 0 .6rem; }
.t1-panel-head h2, .t1-summary h2 { margin: 0; font-size: 1.15rem; font-weight: 800; }
.t1-panel-head h2 span { color: var(--t1-faint); font-weight: 600; font-size: .95rem; }
.t1-line { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 1rem; padding: 1.1rem 0; border-top: 1px solid var(--t1-line-2); transition: opacity .2s; }
.t1-line.is-busy { opacity: .5; pointer-events: none; }
.t1-line.is-out .t1-line-img img { filter: grayscale(.6); opacity: .6; }
.t1-line-img { width: 96px; height: 96px; border-radius: 14px; background: #f8fafc; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.t1-line-img img { width: 100%; height: 100%; object-fit: contain; padding: 6px; }
.t1-line-name { display: block; font-weight: 700; font-size: 15px; color: var(--t1-ink) !important; line-height: 1.35; }
.t1-line-name:hover { color: var(--t1-brand) !important; }
.t1-line-meta { display: flex; flex-wrap: wrap; gap: .25rem .9rem; margin-top: .3rem; font-size: 12.5px; color: var(--t1-muted); }
.t1-line-foot { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; margin-top: .75rem; }
.t1-line-links { display: flex; flex-wrap: wrap; gap: .25rem 1rem; margin-top: .6rem; }
.t1-line-foot .t1-line-links { margin-top: 0; }
.t1-link { border: 0; background: none; padding: 0; font-size: 13px; font-weight: 700; color: var(--t1-brand); display: inline-flex; align-items: center; gap: .35rem; }
.t1-link:hover { text-decoration: underline; }
.t1-link--danger { color: var(--t1-muted); }
.t1-link--danger:hover { color: var(--t1-sale); }
.t1-link[disabled] { opacity: .45; cursor: not-allowed; text-decoration: none; }
.t1-line-price { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: .15rem; }
.t1-line-price strong { font-size: 16.5px; font-weight: 800; color: var(--t1-ink); }
.t1-line-price del { font-size: 12.5px; color: var(--t1-faint); }
.t1-line-price small { font-size: 12px; color: var(--t1-muted); }
.t1-qty--sm { height: 40px; flex: 0 0 auto; }
.t1-qty--sm button { width: 30px; height: 30px; font-size: 12px; }
.t1-qty--sm input { width: 40px; font-size: 14px; }
@media (max-width: 575.98px) { .t1-line { grid-template-columns: 72px minmax(0, 1fr); } .t1-line-img { width: 72px; height: 72px; } .t1-line-price { grid-column: 2; align-items: flex-start; text-align: left; flex-direction: row; gap: .5rem; align-items: baseline; } .t1-panel { padding: .4rem 1rem .8rem; } }
.t1-cart-side { position: sticky; top: 150px; }
.t1-summary { padding: 1.25rem 1.4rem 1.4rem; }
.t1-coupon { margin: 1rem 0; padding: 1rem; border-radius: 14px; background: var(--t1-bg); }
.t1-coupon .form-label { margin-bottom: .45rem; }
.t1-coupon-row { display: flex; gap: .5rem; }
.t1-coupon-row .form-control { background: #fff; text-transform: uppercase; letter-spacing: .05em; }
.t1-coupon-link { display: inline-block; margin-top: .5rem; font-size: 12.5px; font-weight: 700; }
.t1-coupon-on { display: flex; align-items: center; gap: .7rem; }
.t1-coupon-on > i { width: 38px; height: 38px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: #dcfce7; color: #15803d; }
.t1-coupon-on strong { display: block; letter-spacing: .05em; }
.t1-coupon-on span { font-size: 12px; color: #15803d; font-weight: 600; }
.t1-coupon-on .t1-link { margin-left: auto; }
.t1-sum { margin: 0; }
.t1-sum > div { display: flex; justify-content: space-between; gap: 1rem; padding: .45rem 0; font-size: 14px; }
.t1-sum dt { font-weight: 500; color: var(--t1-ink-2); }
.t1-sum dd { margin: 0; font-weight: 700; }
.t1-sum .t1-sum-total { margin-top: .5rem; padding-top: .9rem; border-top: 1px dashed var(--t1-line); font-size: 1.15rem; }
.t1-sum .t1-sum-total dt, .t1-sum .t1-sum-total dd { font-weight: 800; color: var(--t1-ink); }
.t1-saved { display: flex; align-items: center; gap: .45rem; margin-top: .8rem; padding: .55rem .8rem; border-radius: 10px; background: #dcfce7; color: #15803d; font-size: 13px; font-weight: 700; }
.t1-cart-warn { margin-top: .8rem; padding: .6rem .8rem; border-radius: 10px; background: #fef3c7; color: #92400e; font-size: 12.5px; font-weight: 600; }
.t1-checkout { padding: .85rem 1rem; font-size: 15px; }
.t1-cart-empty { margin-bottom: 1rem; }

/* Legacy style.css offsets for .myaccount / .cart (margins, icon sizes) — neutralised inside the new header. */
.t1-header .myaccount, .t1-header .cart { margin-top: 0 !important; }
.t1-header .myaccount .dropdown-toggle { font-size: 13.5px !important; font-weight: 600; }
.t1-header .myaccount .dropdown-toggle i, .t1-header .cart > .t1-action > i { font-size: 1.2rem !important; }
.t1-header .t1-cart-drop i { font-size: inherit !important; margin: 0 !important; }
.t1-header .myaccount li a { color: var(--t1-ink-2) !important; }


/* ---------- Checkout ---------- */
.t1-cart-main { display: flex; flex-direction: column; gap: 1.25rem; min-width: 0; }
.t1-alert { display: flex; align-items: flex-start; gap: .6rem; padding: .85rem 1rem; border-radius: 14px; margin-bottom: 1.25rem; font-weight: 600; font-size: 14px; }
.t1-alert--danger { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
.t1-alert i { margin-top: .2rem; }
.t1-co-step { padding-bottom: 1.4rem; }
.t1-co-num { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--t1-brand); color: #fff; font-size: 13px; margin-right: .45rem; vertical-align: 2px; }
.t1-seg { display: inline-flex; padding: 4px; border-radius: 14px; background: var(--t1-bg); gap: 4px; margin-bottom: 1rem; flex-wrap: wrap; }
.t1-seg label { margin: 0; cursor: pointer; }
.t1-seg input { position: absolute; opacity: 0; pointer-events: none; }
.t1-seg span { display: inline-flex; align-items: center; gap: .45rem; padding: .55rem 1rem; border-radius: 11px; font-weight: 700; font-size: 13.5px; color: var(--t1-muted); transition: background-color .15s, color .15s; }
.t1-seg input:checked + span { background: #fff; color: var(--t1-brand); box-shadow: var(--t1-shadow); }
.t1-seg input:focus-visible + span { outline: 2px solid var(--t1-brand); outline-offset: 2px; }
.t1-addrs { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: .75rem; }
.t1-addr { position: relative; display: flex; gap: .75rem; margin: 0; padding: 1rem 1.1rem; border: 1.5px solid var(--t1-line); border-radius: 16px; cursor: pointer; background: #fff; transition: border-color .15s, box-shadow .15s, background-color .15s; }
.t1-addr:hover { border-color: color-mix(in srgb, var(--t1-brand) 45%, var(--t1-line)); }
.t1-addr input { width: 18px; height: 18px; margin-top: 2px; flex-shrink: 0; accent-color: var(--t1-brand); }
.t1-addr:has(input:checked) { border-color: var(--t1-brand); background: var(--t1-brand-soft); box-shadow: 0 0 0 3px color-mix(in srgb, var(--t1-brand) 14%, transparent); }
.t1-addr-body { display: flex; flex-direction: column; gap: .2rem; font-size: 13.5px; color: var(--t1-ink-2); min-width: 0; }
.t1-addr-body strong { font-size: 14.5px; color: var(--t1-ink); }
.t1-addr-body small { color: var(--t1-muted); font-size: 12.5px; }
.t1-addr-tag { font-style: normal; font-size: 11px; font-weight: 800; padding: .1rem .45rem; border-radius: 999px; background: var(--t1-brand); color: #fff; margin-left: .25rem; vertical-align: 2px; }
.t1-co-empty { grid-column: 1 / -1; display: flex; align-items: center; gap: 1rem; padding: 1.1rem; border: 1.5px dashed var(--t1-line); border-radius: 16px; flex-wrap: wrap; }
.t1-co-empty > i { width: 44px; height: 44px; border-radius: 14px; background: var(--t1-brand-soft); color: var(--t1-brand); display: inline-flex; align-items: center; justify-content: center; font-size: 1.1rem; }
.t1-co-empty div { flex: 1; display: flex; flex-direction: column; font-size: 13.5px; color: var(--t1-muted); min-width: 160px; }
.t1-co-empty strong { color: var(--t1-ink); font-size: 14.5px; }
.t1-co-store { display: flex; gap: .9rem; padding: 1rem 1.1rem; border-radius: 16px; background: var(--t1-bg); font-size: 13.5px; }
.t1-co-store > i { font-size: 1.2rem; color: var(--t1-brand); margin-top: .15rem; }
.t1-co-store div { display: flex; flex-direction: column; gap: .2rem; }
.t1-co-store small { color: var(--t1-muted); }
.t1-co-msg { margin-top: .9rem; padding: .6rem .85rem; border-radius: 10px; background: var(--t1-bg); font-size: 13px; font-weight: 600; color: var(--t1-ink-2); }
.t1-co-msg.is-warn { background: #fef3c7; color: #92400e; }
.t1-co-nocontact { margin-top: 1rem; align-items: flex-start; padding: .8rem .9rem; border: 1px solid var(--t1-line); border-radius: 14px; }
.t1-co-nocontact span { display: flex; flex-direction: column; gap: .15rem; }
.t1-co-nocontact small { font-weight: 500; color: var(--t1-muted); font-size: 12.5px; }
.t1-pays { display: flex; flex-direction: column; gap: .6rem; }
.t1-pay { position: relative; display: flex; align-items: center; gap: .9rem; margin: 0; padding: .85rem 1rem; border: 1.5px solid var(--t1-line); border-radius: 16px; cursor: pointer; background: #fff; transition: border-color .15s, background-color .15s, box-shadow .15s; }
.t1-pay:hover { border-color: color-mix(in srgb, var(--t1-brand) 45%, var(--t1-line)); }
.t1-pay input { position: absolute; opacity: 0; pointer-events: none; }
.t1-pay.is-on { border-color: var(--t1-brand); background: var(--t1-brand-soft); box-shadow: 0 0 0 3px color-mix(in srgb, var(--t1-brand) 14%, transparent); }
.t1-pay:has(input:focus-visible) { outline: 2px solid var(--t1-brand); outline-offset: 2px; }
.t1-pay.is-disabled { opacity: .55; cursor: not-allowed; }
.t1-pay-ico { width: 52px; height: 40px; border-radius: 10px; background: var(--t1-bg); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--t1-brand); font-size: 1.15rem; overflow: hidden; }
.t1-pay-ico img { max-width: 44px; max-height: 26px; object-fit: contain; }
.t1-pay-text { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.t1-pay-text strong { font-size: 14.5px; color: var(--t1-ink); }
.t1-pay-text small { font-size: 12.5px; color: var(--t1-muted); }
.t1-pay-dot { width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--t1-line); flex-shrink: 0; transition: border .15s; }
.t1-pay.is-on .t1-pay-dot { border: 6px solid var(--t1-brand); }
.t1-pay-pane { margin: -.2rem 0 .3rem; padding: 1rem; border-radius: 14px; background: var(--t1-bg); font-size: 13.5px; }
.t1-pay-pane p { margin: 0 0 .75rem; }
.t1-pay-pane .form-control { background: #fff; max-width: 360px; }
.t1-pay-qr { display: block; max-width: 150px; border-radius: 12px; margin-bottom: .75rem; background: #fff; padding: 6px; }
.t1-banks { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .6rem; margin-bottom: .9rem; }
.t1-bank { display: flex; gap: .6rem; margin: 0; padding: .75rem .85rem; border-radius: 12px; background: #fff; border: 1.5px solid var(--t1-line); cursor: pointer; }
.t1-bank input { accent-color: var(--t1-brand); margin-top: 3px; }
.t1-bank span { display: flex; flex-direction: column; font-size: 12.5px; color: var(--t1-muted); }
.t1-bank strong { font-size: 13.5px; color: var(--t1-ink); }
.t1-bank:has(input:checked) { border-color: var(--t1-brand); }
.t1-captcha { margin-top: 1rem; max-width: 460px; }
.t1-co-items { list-style: none; padding: 0; margin: 1rem 0 .5rem; display: flex; flex-direction: column; gap: .8rem; max-height: 340px; overflow: auto; padding-top: 7px; }
.t1-co-items .t1-skel { border: 0; background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 37%, #f1f5f9 63%); background-size: 400% 100%; animation: t1-shimmer 1.3s ease infinite; border-radius: 12px; }
.t1-co-item { display: flex; align-items: center; gap: .75rem; font-size: 13.5px; }
.t1-co-item.is-out { opacity: .7; }
.t1-co-thumb { position: relative; width: 52px; height: 52px; flex-shrink: 0; border-radius: 12px; background: #f8fafc; border: 1px solid var(--t1-line-2); }
.t1-co-thumb img { width: 100%; height: 100%; object-fit: contain; padding: 4px; border-radius: 12px; }
.t1-co-thumb em { position: absolute; top: -7px; right: -7px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: var(--t1-ink-2); color: #fff; font-style: normal; font-size: 11px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.t1-co-name { flex: 1; min-width: 0; display: flex; flex-direction: column; font-weight: 600; color: var(--t1-ink); line-height: 1.35; }
.t1-co-name small { font-weight: 500; color: var(--t1-muted); font-size: 12px; }
.t1-co-item > strong { font-weight: 800; white-space: nowrap; }
.t1-co-code { display: inline-block; padding: 0 .4rem; border-radius: 6px; background: #dcfce7; font-size: 11.5px; font-weight: 800; letter-spacing: .05em; }
.t1-skel-inline { display: inline-block; width: 56px; height: 12px; border-radius: 6px; vertical-align: middle; background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 37%, #f1f5f9 63%); background-size: 400% 100%; animation: t1-shimmer 1.3s ease infinite; }
.t1-summary .t1-sum { border-top: 1px solid var(--t1-line-2); padding-top: .6rem; }
.t1-summary .t1-checkout { margin-top: 1rem; }
.t1-checkout[disabled] { opacity: .55; }
.t1-co-note { margin: .85rem 0 0; text-align: center; font-size: 12.5px; color: var(--t1-muted); overflow-wrap: anywhere; }
.t1-co-note i { color: var(--t1-brand); }
@media (max-width: 991.98px) { .t1-cart-side { position: static; } }

/* Checkout "new address" dialog: the shared customer address form (fm-* fields) on the storefront. */
.t1-modal .modal-content { border: 0; border-radius: 22px; box-shadow: var(--t1-shadow-lg); }
.t1-modal .modal-header { padding: 1.1rem 1.4rem; border-bottom: 1px solid var(--t1-line-2); }
.t1-modal .modal-title { font-size: 1.15rem; font-weight: 800; margin: 0; }
.t1-modal .modal-body { padding: 1.2rem 1.4rem; }
.t1-modal .modal-footer { padding: .9rem 1.4rem; border-top: 1px solid var(--t1-line-2); }
.t1-modal .fm-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem 1rem; }
@media (max-width: 575.98px) { .t1-modal .fm-grid { grid-template-columns: 1fr; } }
.t1-modal .fm-field { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.t1-modal .fm-field--full { grid-column: 1 / -1; }
.t1-modal .fm-field > label { font-size: 13px; font-weight: 700; color: var(--t1-ink-2); margin: 0; }
.t1-modal .fm-optional { font-weight: 500; color: var(--t1-faint); font-size: 12px; }
.t1-modal .fm-switch { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem .95rem; border: 1px solid var(--t1-line); border-radius: 14px; cursor: pointer; margin: 0; }
.t1-modal .fm-switch-text { display: flex; flex-direction: column; font-size: 13.5px; }
.t1-modal .fm-switch-text small { color: var(--t1-muted); font-size: 12px; }
.t1-modal .fm-switch input { position: absolute; opacity: 0; }
.t1-modal .fm-switch-track { position: relative; width: 42px; height: 24px; border-radius: 999px; background: var(--t1-line); flex-shrink: 0; transition: background-color .15s; }
.t1-modal .fm-switch-track::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: transform .15s; }
.t1-modal .fm-switch input:checked + .fm-switch-track { background: var(--t1-brand); }
.t1-modal .fm-switch input:checked + .fm-switch-track::after { transform: translateX(18px); }
.t1-modal .fm-switch input:focus-visible + .fm-switch-track { outline: 2px solid var(--t1-brand); outline-offset: 2px; }
.t1-modal #af-map { height: 260px; border-radius: 14px; margin-top: .5rem; }
.t1-panel-head h2 .t1-co-num { color: #fff; font-size: 13px; font-weight: 800; }
/* Cart badge sits on the icon's corner and no longer covers the "Your" label. */
.t1-action .t1-badge { left: 22px; top: 2px !important; }
.t1-action .t1-badge + .t1-action-text { margin-left: 6px; }

/* Header cart dropdown */
.t1-hc-list { list-style: none; margin: 0; padding: .6rem .6rem .2rem; display: flex; flex-direction: column; gap: .8rem; max-height: 320px; overflow: auto; padding-top: 12px; }
.t1-hc-foot { padding: .75rem .8rem .5rem; border-top: 1px solid var(--t1-line-2); margin-top: .5rem; }
.t1-hc-total { display: flex; justify-content: space-between; align-items: baseline; font-size: 14px; margin-bottom: .7rem; }
.t1-hc-total strong { font-size: 1.1rem; font-weight: 800; }
.t1-hc-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.t1-hc-actions .btn { padding: .6rem .8rem; font-weight: 700; }
.t1-hc-foot small { display: block; text-align: center; margin-top: .6rem; color: var(--t1-muted); font-size: 12px; }
.t1-hc-empty { display: flex; flex-direction: column; align-items: center; gap: .6rem; padding: 1.4rem 1rem 1rem; color: var(--t1-muted); font-size: 13.5px; }
.t1-hc-empty > i { font-size: 1.6rem; color: var(--t1-faint); }

/* ---------- Order result ---------- */
.t1-result { max-width: 560px; margin: 2.5rem auto 3.5rem; text-align: center; }
.t1-result-icon { width: 76px; height: 76px; margin: 0 auto 1.1rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 2rem; color: #fff; background: var(--t1-ok); box-shadow: 0 0 0 10px color-mix(in srgb, var(--t1-ok) 16%, transparent); animation: t1-pop .45s cubic-bezier(.2, 1.4, .4, 1) both; }
.t1-result.is-fail .t1-result-icon { background: var(--t1-sale); box-shadow: 0 0 0 10px color-mix(in srgb, var(--t1-sale) 14%, transparent); }
@keyframes t1-pop { from { transform: scale(.4); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .t1-result-icon { animation: none; } }
.t1-result h1 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem); font-weight: 800; margin: 0 0 .5rem; }
.t1-result > p { color: var(--t1-muted); margin: 0 auto 1rem; max-width: 440px; }
.t1-result-id { display: inline-block; padding: .4rem .9rem; border-radius: 999px; background: var(--t1-brand-soft); color: var(--t1-brand); font-size: 13.5px; }
.t1-result-card { margin-top: 1.5rem; padding: 1.1rem 1.3rem 1.3rem; border-radius: 20px; background: #fff; box-shadow: var(--t1-shadow); text-align: left; }
.t1-result-card .t1-co-items { margin-top: .3rem; }
.t1-result-card .t1-sum { border-top: 1px solid var(--t1-line-2); padding-top: .5rem; }
.t1-result-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--t1-line-2); font-size: 13.5px; }
.t1-result-meta div { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.t1-result-meta span { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--t1-faint); }
.t1-result-meta small { color: var(--t1-muted); }
@media (max-width: 575.98px) { .t1-result-meta { grid-template-columns: 1fr; } }
.t1-result-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: 1.5rem; }
.t1-result-actions .btn { padding: .75rem 1.4rem; font-weight: 700; }

/* ---------- Blog ---------- */
.t1-page-head h1.t1-page-title { display: block; margin: .35rem 0 .25rem; font-size: clamp(1.5rem, 1.15rem + 1.2vw, 2.1rem); font-weight: 800; }
.t1-page-sub { margin: 0; color: var(--t1-muted); font-size: 14.5px; }
.t1-blog-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 1.5rem; align-items: start; padding-bottom: 3rem; }
@media (max-width: 991.98px) { .t1-blog-layout { grid-template-columns: 1fr; } }
.t1-blog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.t1-blog-grid + .t1-blog-grid { margin-top: 1.25rem; }
#load_data:empty + .t1-blog-grid { margin-top: 0; }
@media (max-width: 575.98px) { .t1-blog-grid { grid-template-columns: 1fr; } }
/* List page category chips */
.t1-blog-chips { display: flex; gap: .5rem; margin-bottom: 1.5rem; overflow-x: auto; scrollbar-width: none; padding: 2px; }
.t1-blog-chips::-webkit-scrollbar { display: none; }
.t1-blog-chips a { flex-shrink: 0; padding: .55rem 1.05rem; border-radius: 999px; background: #fff; border: 1px solid var(--t1-line); color: var(--t1-ink-2) !important; font-size: 13.5px; font-weight: 600; white-space: nowrap; transition: all .15s; }
.t1-blog-chips a:hover { border-color: var(--t1-brand); color: var(--t1-brand) !important; }
.t1-blog-chips a.is-active { background: var(--t1-ink); border-color: var(--t1-ink); color: #fff !important; }

/* Post cards */
.t1-blog-card { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--t1-line-2); border-radius: 22px; box-shadow: var(--t1-shadow); overflow: hidden; transition: transform .25s, box-shadow .25s; }
.t1-blog-card:hover { transform: translateY(-4px); box-shadow: var(--t1-shadow-lg); }
.t1-blog-img { position: relative; display: block; aspect-ratio: 16 / 10; background: #f1f5f9; overflow: hidden; }
.t1-blog-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.t1-blog-card:hover .t1-blog-img img { transform: scale(1.06); }
.t1-blog-img::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, rgba(15, 23, 42, .28)); pointer-events: none; }
.t1-blog-cat { align-self: flex-start; display: inline-block; padding: .2rem .6rem; border-radius: 999px; background: var(--t1-brand-soft); color: var(--t1-brand) !important; font-size: 11.5px; font-weight: 800; letter-spacing: .02em; }
.t1-blog-img .t1-blog-cat { position: absolute; z-index: 1; top: .85rem; left: .85rem; padding: .32rem .75rem; background: rgba(255, 255, 255, .92); color: var(--t1-ink) !important; box-shadow: 0 2px 8px rgba(15, 23, 42, .12); backdrop-filter: blur(6px); }
.t1-blog-body { display: flex; flex-direction: column; gap: .55rem; padding: 1.15rem 1.35rem 1.25rem; flex: 1; }
.t1-blog-kicker { display: flex; flex-wrap: wrap; gap: .35rem 1rem; color: var(--t1-faint); font-size: 12.5px; font-weight: 600; }
.t1-blog-kicker i { margin-right: .2rem; }
.t1-blog-body h3 { margin: 0; font-size: 1.1rem; font-weight: 800; line-height: 1.35; letter-spacing: -.01em; }
.t1-blog-body h3 a { color: var(--t1-ink) !important; }
.t1-blog-body h3 a::after { content: ""; position: absolute; inset: 0; } /* whole card is clickable */
.t1-blog-card:hover h3 a { color: var(--t1-brand) !important; }
.t1-blog-body p { margin: 0; color: var(--t1-muted); font-size: 13.5px; line-height: 1.65; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.t1-blog-meta { margin-top: auto; padding-top: .85rem; border-top: 1px dashed var(--t1-line); display: flex; align-items: center; justify-content: space-between; gap: .5rem; font-size: 13px; color: var(--t1-ink-2); font-weight: 600; }
.t1-blog-author { display: inline-flex; align-items: center; gap: .5rem; }
.t1-blog-author i { width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--t1-brand-soft-2); color: var(--t1-brand); font-style: normal; font-size: 12.5px; font-weight: 800; }
.t1-blog-go { position: relative; z-index: 1; width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--t1-bg); color: var(--t1-ink) !important; transition: all .2s; }
.t1-blog-card:hover .t1-blog-go { background: var(--t1-brand); color: #fff !important; transform: rotate(-45deg); }

/* Featured: the newest post on the unfiltered list spans the grid as a wide card */
@media (min-width: 768px) {
	.t1-blog-grid.is-featured > .t1-blog-card:first-child { grid-column: 1 / -1; flex-direction: row; }
	.t1-blog-grid.is-featured > .t1-blog-card:first-child .t1-blog-img { flex: 0 0 55%; aspect-ratio: auto; min-height: 340px; }
	.t1-blog-grid.is-featured > .t1-blog-card:first-child .t1-blog-body { justify-content: center; padding: 2rem 2.25rem; gap: .8rem; }
	.t1-blog-grid.is-featured > .t1-blog-card:first-child h3 { font-size: clamp(1.35rem, 1rem + 1vw, 1.75rem); }
	.t1-blog-grid.is-featured > .t1-blog-card:first-child p { -webkit-line-clamp: 4; font-size: 14.5px; }
	.t1-blog-grid.is-featured > .t1-blog-card:first-child .t1-blog-meta { margin-top: .5rem; }
	.t1-blog-grid.is-featured > .t1-blog-card:first-child .t1-blog-body::before { content: "Featured"; align-self: flex-start; padding: .25rem .7rem; border-radius: 999px; background: color-mix(in srgb, var(--t1-warn) 18%, #fff); color: #b45309; font-size: 11.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
}

.t1-blog-side { display: flex; flex-direction: column; gap: 1rem; position: sticky; top: 150px; }
.t1-side-cta { position: relative; overflow: hidden; padding: 1.35rem 1.3rem; border-radius: var(--t1-radius); color: #fff; background: linear-gradient(140deg, var(--t1-ink) 0%, color-mix(in srgb, var(--t1-brand) 45%, var(--t1-ink)) 100%); }
.t1-side-cta > span { width: 42px; height: 42px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .14); font-size: 1.1rem; margin-bottom: .75rem; }
.t1-side-cta h2 { margin: 0 0 .3rem; color: #fff; font-size: 1.05rem; font-weight: 800; }
.t1-side-cta p { margin: 0 0 1rem; color: rgba(255, 255, 255, .75); font-size: 13px; line-height: 1.55; }
.t1-side-cta .btn { border-radius: 999px; font-weight: 700; padding: .45rem 1rem; }
@media (max-width: 991.98px) { .t1-blog-side { position: static; } }
.t1-side-box { padding: 1.1rem 1.2rem 1.2rem; }
.t1-side-box h2 { font-size: 1rem; font-weight: 800; margin: 0 0 .75rem; }
.t1-side-links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 2px; }
.t1-side-links a { display: block; padding: .45rem .65rem; border-radius: 10px; color: var(--t1-ink-2) !important; font-size: 13.5px; font-weight: 600; }
.t1-side-links a:hover { background: var(--t1-bg); }
.t1-side-links a.is-active { background: color-mix(in srgb, var(--t1-active) 10%, #fff); color: var(--t1-active) !important; }
.t1-side-posts { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .8rem; }
.t1-side-posts a { display: flex; gap: .7rem; align-items: center; color: var(--t1-ink) !important; }
.t1-side-posts img { width: 64px; height: 52px; border-radius: 10px; object-fit: cover; flex-shrink: 0; background: #f1f5f9; }
.t1-side-posts span { display: flex; flex-direction: column; min-width: 0; }
.t1-side-posts strong { font-size: 13px; font-weight: 700; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.t1-side-posts a:hover strong { color: var(--t1-brand); }
.t1-side-posts small { color: var(--t1-faint); font-size: 12px; }
.t1-tags { display: flex; flex-wrap: wrap; gap: .4rem; }
.t1-tags a { padding: .3rem .7rem; border-radius: 999px; background: var(--t1-bg); color: var(--t1-ink-2) !important; font-size: 12.5px; font-weight: 600; }
.t1-tags a:hover, .t1-tags a.is-active { background: var(--t1-brand); color: #fff !important; }
.t1-blog-main { display: flex; flex-direction: column; gap: 1.25rem; min-width: 0; }
/* Post page: image hero with the title over it, reading bar, contents list */
.t1-read-progress { position: fixed; z-index: 1080; top: 0; left: 0; right: 0; height: 3px; pointer-events: none; }
.t1-read-progress span { display: block; height: 100%; background: var(--t1-accent); transform: scaleX(0); transform-origin: 0 50%; transition: transform .1s linear; }
.t1-post-hero { position: relative; overflow: hidden; display: flex; align-items: flex-end; min-height: clamp(320px, 22rem + 8vw, 520px); margin: 0 0 1.5rem; border-radius: 26px; background: var(--t1-ink); color: #fff; }
.t1-post-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.t1-post-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15, 23, 42, .15) 0%, rgba(15, 23, 42, .25) 40%, rgba(15, 23, 42, .88) 100%); }
.t1-post-hero-in { position: relative; z-index: 1; width: 100%; max-width: 900px; padding: clamp(1.25rem, .8rem + 2.5vw, 3rem); }
.t1-post-hero .t1-blog-cat { background: rgba(255, 255, 255, .9); color: var(--t1-ink) !important; padding: .3rem .75rem; }
.t1-post-hero h1 { margin: 0 0 1rem; color: #fff; font-size: clamp(1.75rem, 1.2rem + 2.4vw, 3.1rem); font-weight: 800; line-height: 1.12; letter-spacing: -.02em; text-shadow: 0 2px 18px rgba(0, 0, 0, .25); }
.t1-post-hero .t1-article-meta { color: rgba(255, 255, 255, .88); align-items: center; }
.t1-post-hero .t1-article-meta i { color: rgba(255, 255, 255, .7); }
.t1-post-hero .t1-article-meta a { color: rgba(255, 255, 255, .88) !important; }
.t1-post-hero .t1-blog-author { font-weight: 700; color: #fff; }
.t1-post-hero .t1-blog-author i { background: rgba(255, 255, 255, .2); color: #fff; margin: 0; }
.t1-article { padding: clamp(1.25rem, .9rem + 2vw, 2.75rem) clamp(1.1rem, .6rem + 3vw, 3.25rem) 1.75rem; }
.t1-article-cats { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .8rem; }
.t1-article-meta { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; color: var(--t1-muted); font-size: 13.5px; }
.t1-article-meta i { color: var(--t1-faint); margin-right: .25rem; }
.t1-prose { max-width: 760px; font-size: 16.5px; line-height: 1.85; color: var(--t1-ink-2); overflow-wrap: anywhere; }
.t1-prose > p:first-child:not(.t1-prose-h), .t1-prose > .t1-prose-h:first-child + p { font-size: 18.5px; line-height: 1.75; color: var(--t1-ink); }
@media (max-width: 575.98px) { .t1-prose { font-size: 15.5px; } .t1-prose > p:first-child:not(.t1-prose-h), .t1-prose > .t1-prose-h:first-child + p { font-size: 16.5px; } }
.t1-prose h2, .t1-prose h3, .t1-prose h4, .t1-prose .t1-prose-h { scroll-margin-top: 150px; }
.t1-prose .t1-prose-h { position: relative; margin: 2.2em 0 .7em; padding-left: .9rem; color: var(--t1-ink); font-size: 1.35rem; font-weight: 800; line-height: 1.3; letter-spacing: -.01em; }
.t1-prose .t1-prose-h:first-child { margin-top: 0; }
.t1-prose .t1-prose-h::before { content: ""; position: absolute; left: 0; top: .2em; bottom: .2em; width: 4px; border-radius: 4px; background: var(--t1-brand); }
.t1-prose .t1-prose-h strong { font-weight: inherit; }
.t1-prose ul li::marker { color: var(--t1-brand); }
.t1-post-author { display: flex; align-items: center; gap: 1rem; margin-top: 1.75rem; padding: 1.25rem 1.35rem; border-radius: 18px; background: var(--t1-bg); flex-wrap: wrap; }
.t1-post-author-av { width: 56px; height: 56px; border-radius: 50%; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--t1-brand), var(--t1-brand-dark)); color: #fff; font-size: 1.3rem; font-weight: 800; }
.t1-post-author > div { flex: 1; min-width: 180px; }
.t1-post-author small { display: block; color: var(--t1-faint); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.t1-post-author strong { font-size: 1.05rem; }
.t1-post-author p { margin: .15rem 0 0; color: var(--t1-muted); font-size: 13.5px; }
.t1-post-author .btn { border-radius: 999px; font-weight: 700; }
.t1-post-related-head { display: flex; align-items: center; justify-content: space-between; margin: .5rem 0 1rem; }
.t1-post-related-head h2 { margin: 0; font-size: 1.35rem; font-weight: 800; letter-spacing: -.01em; }
.t1-blog-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1199.98px) { .t1-blog-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .t1-blog-grid--3 > :nth-child(3) { display: none; } }
@media (max-width: 575.98px) { .t1-blog-grid--3 { grid-template-columns: 1fr; } .t1-blog-grid--3 > :nth-child(3) { display: flex; } }
.t1-blog-grid--3 .t1-blog-body { padding: 1rem 1.1rem 1.1rem; }
.t1-blog-grid--3 .t1-blog-body h3 { font-size: 1rem; }
.t1-blog-grid--3 .t1-blog-body p { display: none; }
/* Sidebar on the post page stretches to the article so the contents box can stay in view. */
.t1-blog-side.has-toc { position: static; align-self: stretch; }
.t1-toc { position: sticky; top: 150px; }
.t1-toc ol { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--t1-line-2); max-height: calc(100vh - 260px); overflow-y: auto; }
.t1-toc a { display: block; margin-left: -2px; padding: .4rem .8rem; border-left: 2px solid transparent; color: var(--t1-muted) !important; font-size: 13.5px; font-weight: 600; line-height: 1.4; }
.t1-toc a:hover { color: var(--t1-ink) !important; }
.t1-toc a.is-active { border-left-color: var(--t1-brand); color: var(--t1-brand) !important; }
@media (max-width: 991.98px) { .t1-toc { display: none; } }
.t1-prose h2, .t1-prose h3, .t1-prose h4 { color: var(--t1-ink); font-weight: 800; margin: 1.6em 0 .5em; line-height: 1.3; }
.t1-prose h2 { font-size: 1.45rem; } .t1-prose h3 { font-size: 1.2rem; } .t1-prose h4 { font-size: 1.05rem; }
.t1-prose p { margin: 0 0 1.1em; }
.t1-prose ul, .t1-prose ol { padding-left: 1.3rem; margin: 0 0 1.1em; }
.t1-prose li { margin-bottom: .35em; }
.t1-prose img { max-width: 100%; height: auto; border-radius: 14px; }
.t1-prose a { text-decoration: underline; text-underline-offset: 3px; }
.t1-prose blockquote { margin: 1.4em 0; padding: .8rem 1.2rem; border-left: 4px solid var(--t1-brand); background: var(--t1-brand-soft); border-radius: 0 12px 12px 0; }
.t1-prose table { width: 100%; border-collapse: collapse; margin: 0 0 1.1em; font-size: 14.5px; display: block; overflow-x: auto; }
.t1-prose th, .t1-prose td { padding: .55rem .7rem; border: 1px solid var(--t1-line); }
.t1-article-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; padding-top: 1.2rem; border-top: 1px solid var(--t1-line-2); }
.t1-share { display: flex; align-items: center; gap: .4rem; margin-left: auto; }
.t1-share span { font-size: 13px; font-weight: 700; color: var(--t1-muted); margin-right: .25rem; }
.t1-share a, .t1-share button { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--t1-line); background: #fff; color: var(--t1-ink-2) !important; display: inline-flex; align-items: center; justify-content: center; transition: background-color .15s, color .15s, border-color .15s; }
.t1-share a:hover, .t1-share button:hover { background: var(--t1-brand); border-color: var(--t1-brand); color: #fff !important; }
.t1-comments { padding: 1.4rem 1.6rem; }
.t1-comments h2 { font-size: 1.15rem; font-weight: 800; margin: 0 0 1rem; }
.t1-comments h2 span { display: inline-flex; min-width: 26px; height: 26px; padding: 0 .45rem; align-items: center; justify-content: center; border-radius: 999px; background: var(--t1-bg); font-size: 13px; color: var(--t1-muted); vertical-align: 2px; margin-left: .25rem; }
.t1-alert--ok { background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0; }
.t1-comment-form textarea { resize: vertical; min-height: 96px; }
.t1-comment-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .6rem; flex-wrap: wrap; }
.t1-comment-actions small { color: var(--t1-muted); }
.t1-comment-signin { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; border-radius: 14px; background: var(--t1-bg); font-size: 14px; font-weight: 600; flex-wrap: wrap; }
.t1-comment-list { list-style: none; padding: 0; margin: 1.2rem 0 0; }
.t1-comment-list li { display: flex; gap: .8rem; padding: 1rem 0; border-top: 1px solid var(--t1-line-2); }
.t1-comment-list header { display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap; }
.t1-comment-list header small { color: var(--t1-faint); font-size: 12px; }
.t1-comment-list p { margin: .3rem 0 0; color: var(--t1-ink-2); line-height: 1.6; overflow-wrap: anywhere; }
.t1-comment-none { margin: 1rem 0 0; color: var(--t1-muted); font-size: 14px; }

/* ---------- Content pages + 404 ---------- */
.t1-content-wrap { max-width: 880px; margin: 0 auto; padding-bottom: 3rem; display: flex; flex-direction: column; gap: 1.25rem; }
.t1-content-wrap .t1-article h1 { margin-bottom: .5rem; }
.t1-content-wrap .t1-prose { margin-top: 1.25rem; }
.t1-help-card { display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.3rem; flex-wrap: wrap; }
.t1-help-card > i { width: 46px; height: 46px; border-radius: 14px; background: var(--t1-brand-soft); color: var(--t1-brand); display: inline-flex; align-items: center; justify-content: center; font-size: 1.2rem; }
.t1-help-card > div:first-of-type { display: flex; flex-direction: column; flex: 1; min-width: 160px; font-size: 13.5px; color: var(--t1-muted); }
.t1-help-card strong { color: var(--t1-ink); font-size: 15px; }
.t1-help-links { display: flex; gap: .5rem; flex-wrap: wrap; }
.t1-help-links .btn { font-weight: 700; }
.t1-404 { max-width: 560px; margin: 3rem auto 4rem; text-align: center; }
.t1-404-code { display: flex; align-items: center; justify-content: center; gap: .15em; font-size: clamp(5rem, 3rem + 8vw, 8rem); font-weight: 800; line-height: 1; color: var(--t1-brand); letter-spacing: -.02em; }
.t1-404-code span { display: inline-flex; align-items: center; justify-content: center; width: .95em; height: .95em; border-radius: 50%; background: var(--t1-brand-soft); font-size: .8em; }
.t1-404-code span i { font-size: .55em; animation: t1-swim 2.4s ease-in-out infinite; }
@keyframes t1-swim { 0%, 100% { transform: translateX(-6%) rotate(-4deg); } 50% { transform: translateX(6%) rotate(4deg); } }
@media (prefers-reduced-motion: reduce) { .t1-404-code span i { animation: none; } }
.t1-404 h1 { font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); font-weight: 800; margin: 1.25rem 0 .5rem; }
.t1-404 p { color: var(--t1-muted); margin: 0 auto; max-width: 440px; }
.t1-prose h1 { font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.1rem); color: var(--t1-ink); font-weight: 800; line-height: 1.2; margin: 0 0 .6em; }
.t1-content-wrap .t1-prose:first-child, .t1-content-wrap .t1-article > .t1-prose:first-child { margin-top: 0; }

/* ---------- Products page v2 (live filters) ---------- */
.t1-lp-head { padding-bottom: 1rem; }
.t1-lp-titlebar { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-top: .35rem; }
.t1-lp-titlebar h1 { margin: 0; font-size: clamp(1.45rem, 1.1rem + 1.1vw, 2.1rem); font-weight: 800; letter-spacing: -.02em; }
.t1-lp-count { margin: .2rem 0 0; color: var(--t1-muted); font-size: 14px; font-weight: 600; min-height: 1.3em; }
.t1-lp-tools { display: flex; align-items: center; gap: .6rem; }
.t1-lp-filterbtn { display: inline-flex; align-items: center; gap: .5rem; background: #fff; border: 1.5px solid var(--t1-line); color: var(--t1-ink); padding: .55rem 1rem; }
.t1-lp-sort { position: relative; margin: 0; }
.t1-lp-sort > i { position: absolute; left: .95rem; top: 50%; transform: translateY(-50%); color: var(--t1-muted); pointer-events: none; font-size: 13px; }
.t1-lp-sort .form-select { padding: .6rem 2.4rem .6rem 2.3rem; border-radius: 999px; font-weight: 700; font-size: 14px; border: 1.5px solid var(--t1-line); background-color: #fff; cursor: pointer; min-width: 210px; }
.t1-lp-sort .form-select:focus { border-color: var(--t1-brand); box-shadow: 0 0 0 4px color-mix(in srgb, var(--t1-brand) 14%, transparent); }

.t1-list-layout { gap: clamp(1rem, 1.6vw, 2rem); padding-bottom: 3rem; }
@media (min-width: 992px) { .t1-list-layout { grid-template-columns: 280px minmax(0, 1fr); } }
@media (min-width: 1800px) { .t1-list-layout { grid-template-columns: 300px minmax(0, 1fr); } }
@media (min-width: 992px) {
	.t1-filters { position: sticky; top: 140px; max-height: calc(100vh - 160px); display: flex; flex-direction: column; background: #fff; border-radius: 20px; box-shadow: var(--t1-shadow); overflow: hidden; }
	.t1-filters .offcanvas-header { display: flex; }
	.t1-filters .offcanvas-body { padding: 0; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; }
	.t1-filters .t1-filter-card { box-shadow: none; border-radius: 0; }
}
.t1-filters .offcanvas-header { align-items: center; gap: .75rem; padding: 1rem 1.2rem .85rem; border-bottom: 1px solid var(--t1-line-2); }
.t1-filters .offcanvas-title { font-size: 1.05rem; font-weight: 800; margin: 0 auto 0 0; }
.t1-filters .offcanvas-header .btn-close { margin: 0; }
.t1-filter-card { padding: 0 1.2rem; }
.t1-facet { padding: 1rem 0 1.05rem; border-top: 1px solid var(--t1-line-2); }
.t1-facet:first-child { border-top: 0; }
.t1-facet[hidden] { display: none; }
/* Facet header: a native <details>/<summary> accordion, open by default (General Store keeps the
   look of a plain static list; themetwo/three/four restyle the same markup — see each theme's own
   CSS, "Product filters" section — into their own look, some collapsed by default). */
.t1-facet > summary { display: flex; align-items: center; gap: .55rem; list-style: none; cursor: pointer; margin: 0 0 .6rem; font-size: 12px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--t1-muted); }
.t1-facet > summary::-webkit-details-marker { display: none; }
.t1-facet > summary::marker { content: ''; }
.t1-facet-label { flex: 1; min-width: 0; }
.t1-facet-icon { display: none; } /* General Store: text-only headers, like before */
.t1-facet-caret { font-size: 10px; color: var(--t1-faint); transition: transform .2s; flex-shrink: 0; }
.t1-facet[open] > summary .t1-facet-caret { transform: rotate(180deg); }
.t1-facet-list { display: flex; flex-direction: column; gap: 1px; }
.t1-facet-list.is-long .t1-check:nth-of-type(n+8) { display: none; }
.t1-facet-more { margin: .35rem 0 0 .45rem; align-self: flex-start; }
.t1-facet .t1-check { justify-content: flex-start; }
.t1-facet .t1-check span { flex: 1; min-width: 0; }
.t1-check em { font-style: normal; font-size: 12px; font-weight: 700; color: var(--t1-faint); background: var(--t1-bg); border-radius: 999px; padding: .05rem .5rem; }
.t1-check input:checked ~ em { background: var(--t1-brand-soft); color: var(--t1-brand); }
.t1-check.is-zero { opacity: .5; }
.t1-rate span { display: inline-flex; align-items: center; gap: 1px; }
.t1-rate span i { font-size: 11.5px; color: #f59e0b; }
.t1-rate span i.fa-regular { color: #cbd5e1; }
.t1-rate input { border-radius: 50%; }

/* dual price slider */
.t1-range { position: relative; height: 28px; margin: .2rem .35rem .6rem; }
.t1-range-track { position: absolute; left: 0; right: 0; top: 50%; height: 5px; transform: translateY(-50%); border-radius: 999px; background: var(--t1-line); }
.t1-range-fill { position: absolute; top: 0; bottom: 0; border-radius: inherit; background: var(--t1-brand); }
.t1-range input[type=range] { position: absolute; inset: 0; width: 100%; margin: 0; background: none; pointer-events: none; -webkit-appearance: none; appearance: none; }
.t1-range input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 20px; height: 20px; border-radius: 50%; background: #fff; border: 3px solid var(--t1-brand); box-shadow: 0 2px 6px rgba(15, 23, 42, .2); cursor: grab; }
.t1-range input[type=range]::-moz-range-thumb { pointer-events: auto; width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 3px solid var(--t1-brand); box-shadow: 0 2px 6px rgba(15, 23, 42, .2); cursor: grab; }
.t1-range input[type=range]::-webkit-slider-runnable-track { background: none; }
.t1-range input[type=range]:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 5px color-mix(in srgb, var(--t1-brand) 25%, transparent); }
.t1-range-inputs { display: flex; align-items: center; gap: .5rem; color: var(--t1-faint); }
.t1-range-inputs label { position: relative; flex: 1; margin: 0; }
.t1-range-inputs label span { position: absolute; left: .7rem; top: 50%; transform: translateY(-50%); font-size: 13px; color: var(--t1-muted); font-weight: 600; }
.t1-range-inputs .form-control { padding: .5rem .6rem .5rem 1.6rem; font-size: 14px; font-weight: 600; border-radius: 12px; -moz-appearance: textfield; }
.t1-range-inputs .form-control::-webkit-inner-spin-button { -webkit-appearance: none; }

/* switches */
.t1-switch { display: flex; align-items: center; gap: .75rem; margin: 0; padding: .5rem .45rem; border-radius: 10px; cursor: pointer; font-size: 13.5px; font-weight: 600; color: var(--t1-ink-2); }
.t1-switch:hover { background: var(--t1-bg); }
.t1-switch span { flex: 1; }
.t1-switch em { font-style: normal; font-size: 12px; font-weight: 700; color: var(--t1-faint); margin-left: .25rem; }
.t1-switch input { position: absolute; opacity: 0; }
.t1-switch i { position: relative; width: 40px; height: 23px; border-radius: 999px; background: var(--t1-line); flex-shrink: 0; transition: background-color .2s; }
.t1-switch i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 17px; height: 17px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .2); transition: transform .2s; }
.t1-switch input:checked + i { background: var(--t1-brand); }
.t1-switch input:checked + i::after { transform: translateX(17px); }
.t1-switch input:focus-visible + i { outline: 2px solid var(--t1-brand); outline-offset: 2px; }

/* mobile sheet */
@media (max-width: 991.98px) {
	.t1-filters.offcanvas-lg { width: min(380px, 92vw); }
	.t1-filters .offcanvas-body { padding: 0; }
	.t1-filters-foot { padding: .85rem 1.2rem calc(.85rem + env(safe-area-inset-bottom)); border-top: 1px solid var(--t1-line-2); background: #fff; }
	.t1-filters-foot .btn { padding: .8rem 1rem; font-weight: 800; }
}

/* results */
.t1-list-main .t1-grid { grid-template-columns: repeat(auto-fill, minmax(clamp(165px, 13vw, 230px), 1fr)); gap: clamp(.75rem, 1vw, 1.25rem); }
@media (max-width: 575.98px) { .t1-list-main .t1-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; } }
#load_data { transition: opacity .2s; }
#load_data.is-loading { opacity: .45; pointer-events: none; }
#load_data:empty + .t1-skeleton-grid { margin-top: 0; }
.t1-lp-more { display: flex; flex-direction: column; align-items: center; gap: .6rem; margin: 2rem auto 0; max-width: 320px; text-align: center; }
.t1-lp-more[hidden] { display: none; }
.t1-lp-more p { margin: 0; font-size: 13.5px; font-weight: 600; color: var(--t1-muted); }
.t1-lp-bar { width: 100%; height: 4px; border-radius: 999px; background: var(--t1-line); overflow: hidden; }
.t1-lp-bar span { display: block; height: 100%; width: 0; background: var(--t1-brand); border-radius: inherit; transition: width .3s; }

/* Product page on wide screens: gallery keeps a sensible size, buy box a readable width. */
@media (min-width: 1200px) {
	.t1-pv { grid-template-columns: minmax(420px, 640px) minmax(0, 1fr); gap: clamp(2rem, 3vw, 4rem); padding: clamp(1.75rem, 2vw, 2.5rem); }
	.t1-pv-info { max-width: 720px; }
	.t1-pv-stage .carousel-item img, .t1-pv-stage .carousel-item video { max-height: 620px !important; }
	.t1-pv-desc { max-width: 1100px; }
}

/* ---------- T1Carousel (assets/themes/themeone/js/t1-carousel.js) ---------- */
.t1-car { position: relative; --per: 1; --gap: 1rem; }
.t1-car-viewport { position: relative; display: flex; gap: var(--gap); overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch; outline: none; }
.t1-car-viewport::-webkit-scrollbar { display: none; }
.t1-car-viewport:focus-visible { box-shadow: 0 0 0 3px color-mix(in srgb, var(--t1-brand) 35%, transparent); border-radius: 16px; }
.t1-car-viewport.is-dragging { scroll-snap-type: none; scroll-behavior: auto; cursor: grabbing; user-select: none; }
.t1-car-viewport.is-dragging * { pointer-events: none; }
.t1-car-slide { flex: 0 0 calc((100% - var(--gap) * (var(--per) - 1)) / var(--per)); min-width: 0; scroll-snap-align: start; }
@media (prefers-reduced-motion: reduce) { .t1-car-viewport { scroll-behavior: auto; } }

/* arrows */
.t1-car-nav { display: flex; gap: .45rem; }
.t1-car-nav[hidden] { display: none; }
.t1-car-btn { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--t1-line); background: #fff; color: var(--t1-ink); display: inline-flex; align-items: center; justify-content: center; padding: 0; box-shadow: var(--t1-shadow); transition: background-color .15s, color .15s, border-color .15s, opacity .2s, transform .15s; }
.t1-car-btn svg { width: 18px; height: 18px; }
.t1-car-btn:hover:not(:disabled) { background: var(--t1-brand); border-color: var(--t1-brand); color: #fff; }
.t1-car-btn:active:not(:disabled) { transform: scale(.94); }
.t1-car-btn:focus-visible { outline: 3px solid color-mix(in srgb, var(--t1-brand) 45%, transparent); outline-offset: 2px; }
.t1-car-btn:disabled { opacity: .35; cursor: default; box-shadow: none; }
.t1-car > .t1-car-nav { position: absolute; inset: 0; pointer-events: none; justify-content: space-between; align-items: center; padding: 0 .9rem; }
.t1-car > .t1-car-nav .t1-car-btn { pointer-events: auto; opacity: 0; transform: scale(.9); }
.t1-car:hover > .t1-car-nav .t1-car-btn:not(:disabled), .t1-car > .t1-car-nav .t1-car-btn:focus-visible { opacity: 1; transform: none; }
@media (hover: none) { .t1-car > .t1-car-nav { display: none; } }

/* dots (hero dots fill up while autoplay counts down) */
.t1-car-dots { display: flex; justify-content: center; gap: .4rem; margin-top: .9rem; }
.t1-car-dots[hidden] { display: none; }
.t1-car-dot { position: relative; width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: var(--t1-line); overflow: hidden; transition: width .3s, background-color .3s; }
.t1-car-dot::before { content: ""; position: absolute; inset: -8px; }
.t1-car-dot.is-active { width: 28px; background: color-mix(in srgb, var(--t1-brand) 30%, var(--t1-line)); }
.t1-car-dot i { position: absolute; inset: 0; border-radius: inherit; background: var(--t1-brand); transform-origin: left; transform: scaleX(0); }
.t1-car-dot.is-active i { transform: scaleX(1); }
.t1-car.is-timed .t1-car-dot.is-active i { transform: scaleX(0); animation: t1-car-fill var(--t1-car-interval, 6s) linear forwards; }
.t1-car.is-timed.is-paused .t1-car-dot.is-active i { animation-play-state: paused; }
@keyframes t1-car-fill { to { transform: scaleX(1); } }
.t1-car-dot:focus-visible { outline: 2px solid var(--t1-brand); outline-offset: 3px; }

/* progress bar (rails) */
.t1-car-progress { position: relative; height: 4px; margin: 1.1rem auto 0; max-width: 220px; border-radius: 999px; background: var(--t1-line); overflow: hidden; }
.t1-car-progress[hidden] { display: none; }
.t1-car-progress span { position: absolute; left: 0; top: 0; bottom: 0; border-radius: inherit; background: var(--t1-brand); transition: transform .12s linear, width .2s; }

/* counter (gallery) */
.t1-car-counter { position: absolute; right: .8rem; bottom: .8rem; z-index: 2; padding: .25rem .6rem; border-radius: 999px; background: rgba(15, 23, 42, .6); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .03em; backdrop-filter: blur(6px); }
.t1-car-counter[hidden] { display: none; }

/* product rails: --per by screen width, with a peek of the next card on phones */
.t1-car--rail { --per: 2.15; --gap: .75rem; }
@media (min-width: 576px) { .t1-car--rail { --per: 3.2; } }
@media (min-width: 768px) { .t1-car--rail { --per: 3.5; --gap: 1rem; } }
@media (min-width: 992px) { .t1-car--rail { --per: 4; } }
@media (min-width: 1200px) { .t1-car--rail { --per: 5; } }
@media (min-width: 1440px) { .t1-car--rail { --per: 6; } }
@media (min-width: 1800px) { .t1-car--rail { --per: 7; --gap: 1.25rem; } }
.t1-car--rail .t1-car-viewport { padding: 4px 4px 10px; margin: -4px -4px -10px; scroll-padding-inline: 4px; }
.t1-car--rail .t1-car-slide > .t1-card { height: 100%; }
.t1-car--rail.is-static .t1-car-progress { display: none; }
.t1-sec-tools .t1-car-nav.is-external .t1-car-btn { width: 38px; height: 38px; box-shadow: none; }

/* hero */
.t1-car--hero { --per: 1; --gap: 0px; }
.t1-car--hero .t1-car-viewport { border-radius: 24px; box-shadow: var(--t1-shadow); background: #e2e8f0; }
.t1-car--hero .t1-car-slide { position: relative; overflow: hidden; }
.t1-car--hero .t1-car-slide a { display: block; }
.t1-car--hero .t1-car-slide img { display: block; width: 100%; height: clamp(200px, 30vw, 520px); object-fit: cover; transform: scale(1.06); transition: transform 1.4s cubic-bezier(.2, .7, .2, 1); }
.t1-car--hero .t1-car-slide.is-active img { transform: scale(1); }
.t1-car--hero > .t1-car-dots { position: absolute; left: 0; right: 0; bottom: 1rem; margin: 0; z-index: 2; }
.t1-car--hero .t1-car-dot { background: rgba(255, 255, 255, .55); box-shadow: 0 1px 4px rgba(0, 0, 0, .25); }
.t1-car--hero .t1-car-dot.is-active { background: rgba(255, 255, 255, .45); }
.t1-car--hero .t1-car-dot i { background: #fff; }
.t1-car--hero > .t1-car-nav .t1-car-btn { width: 48px; height: 48px; background: rgba(255, 255, 255, .92); backdrop-filter: blur(6px); border-color: transparent; }
@media (max-width: 767.98px) { .t1-car--hero .t1-car-viewport { border-radius: 16px; } .t1-car--hero .t1-car-slide img { height: auto; aspect-ratio: 16 / 9; } }
@media (prefers-reduced-motion: reduce) { .t1-car--hero .t1-car-slide img { transform: none; transition: none; } }

/* promo banners: side by side on desktop, swipeable on phones */
.t1-car--banners { --gap: 1rem; }
.t1-car--banners[data-count="1"] { --per: 1; }
.t1-car--banners[data-count="2"] { --per: 2; }
.t1-car--banners[data-count="3"] { --per: 3; }
@media (max-width: 767.98px) { .t1-car--banners[data-count="2"], .t1-car--banners[data-count="3"] { --per: 1.12; --gap: .75rem; } }
.t1-car--banners .t1-car-slide a { display: block; border-radius: 20px; overflow: hidden; box-shadow: var(--t1-shadow); }
.t1-car--banners .t1-car-slide img { display: block; width: 100%; height: auto; transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.t1-car--banners .t1-car-slide a:hover img { transform: scale(1.035); }
.t1-car--banners .t1-car-dots { margin-top: .75rem; }
@media (min-width: 768px) { .t1-car--banners .t1-car-dots { display: none; } }

/* offer pop-up: floating card in the bottom-left corner */
.t1-offer-pop { position: fixed; z-index: 1060; left: 20px; bottom: 20px; width: 330px; max-width: calc(100vw - 32px); background: #fff; border-radius: 22px; overflow: hidden; box-shadow: 0 24px 60px -12px rgba(15, 23, 42, .35), 0 0 0 1px rgba(15, 23, 42, .05); opacity: 0; transform: translateY(24px) scale(.97); transform-origin: bottom left; transition: opacity .35s ease, transform .45s cubic-bezier(.2, .8, .2, 1); }
.t1-offer-pop.is-open { opacity: 1; transform: none; }
.t1-offer-pop[hidden] { display: none; }
.t1-offer-pop-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .7rem .7rem .7rem .9rem; }
.t1-offer-pop-badge { display: inline-flex; align-items: center; gap: .45rem; color: var(--t1-ink); font-size: 14px; font-weight: 800; letter-spacing: -.01em; }
.t1-offer-pop-badge i { width: 28px; height: 28px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--t1-warn) 16%, #fff); color: #d97706; font-size: 13px; }
.t1-offer-pop-x { width: 32px; height: 32px; border: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--t1-bg); color: var(--t1-ink-2); font-size: 15px; transition: background-color .15s, color .15s, transform .2s; }
.t1-offer-pop-x:hover { background: var(--t1-line); color: var(--t1-ink); transform: rotate(90deg); }
.t1-offer-pop-x:focus-visible { outline: 2px solid var(--t1-brand); outline-offset: 2px; }
.t1-car--offer { --per: 1; --gap: 0px; }
.t1-car--offer .t1-car-viewport { margin: 0 .7rem; border-radius: 14px; background: #f1f5f9; }
.t1-car--offer img { display: block; width: 100%; height: auto; max-height: 46vh; object-fit: contain; }
.t1-car--offer > .t1-car-dots { position: absolute; left: 0; right: 0; bottom: .75rem; margin: 0; }
.t1-car--offer .t1-car-dot { background: rgba(255, 255, 255, .6); box-shadow: 0 1px 4px rgba(0, 0, 0, .25); }
.t1-car--offer .t1-car-dot i { background: #fff; }
.t1-offer-pop-cta { display: flex; align-items: center; justify-content: center; gap: .5rem; margin: .7rem; padding: .75rem 1rem; border-radius: 14px; background: var(--t1-brand); color: #fff !important; font-size: 14.5px; font-weight: 700; transition: background-color .15s; }
.t1-offer-pop-cta:hover { background: var(--t1-brand-dark); }
.t1-offer-pop-cta i { transition: transform .2s; }
.t1-offer-pop-cta:hover i { transform: translateX(3px); }
@media (max-width: 575.98px) { .t1-offer-pop { left: 12px; bottom: 12px; width: 300px; max-width: calc(100vw - 24px); border-radius: 20px; } }
@media (prefers-reduced-motion: reduce) { .t1-offer-pop { transition: opacity .2s; transform: none; } }

/* product gallery */
.t1-car--gallery { --per: 1; --gap: 0px; }
.t1-car--gallery .t1-car-viewport { border-radius: 18px; background: #f8fafc; }
.t1-car--gallery .t1-car-slide { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 1; overflow: hidden; }
.t1-car--gallery .t1-car-slide img, .t1-car--gallery .t1-car-slide video { width: 100%; height: 100%; object-fit: contain; padding: 6%; }
.t1-car--gallery .t1-zoom { cursor: zoom-in; transition: transform .25s ease; }
.t1-car--gallery .t1-car-slide.is-zoomed .t1-zoom { transform: scale(2.1); cursor: zoom-out; transition: transform .15s ease; }
.t1-car--gallery > .t1-car-dots { position: absolute; left: 0; right: 0; bottom: .8rem; margin: 0; }
@media (min-width: 992px) { .t1-car--gallery > .t1-car-dots { display: none; } }
.t1-pv-thumbs .t1-thumb { scroll-snap-align: start; }
.t1-pv-thumbs { scroll-snap-type: x proximity; scrollbar-width: none; }
.t1-pv-thumbs::-webkit-scrollbar { display: none; }
.t1-car-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* ---------- Home: multi-slider promo sections ---------- */
.t1-promo { position: relative; display: block; border-radius: 20px; overflow: hidden; background: #e2e8f0; box-shadow: var(--t1-shadow); isolation: isolate; }
.t1-promo img { display: block; width: 100%; aspect-ratio: 480 / 258; object-fit: cover; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.t1-promo:hover img { transform: scale(1.04); }
.t1-promo::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .06); pointer-events: none; }
.t1-promo-cap { position: absolute; left: .85rem; bottom: .85rem; display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .85rem; border-radius: 999px; background: rgba(255, 255, 255, .92); color: var(--t1-ink); font-size: 13px; font-weight: 800; backdrop-filter: blur(8px); box-shadow: 0 4px 14px rgba(15, 23, 42, .15); }
.t1-promo-cap i { font-size: 11px; color: var(--t1-brand); transition: transform .2s; }
.t1-promo:hover .t1-promo-cap i { transform: translateX(3px); }

/* hero caption (only when the slide has a title in Admin > Sliders) */
.t1-car--hero .t1-car-slide a { position: relative; }
.t1-hero-cap { position: absolute; left: clamp(1rem, 3vw, 3rem); bottom: clamp(1.8rem, 3.2vw, 3.2rem); display: flex; flex-direction: column; align-items: flex-start; gap: .7rem; max-width: min(560px, 80%); padding: clamp(.9rem, 1.5vw, 1.4rem) clamp(1rem, 1.8vw, 1.6rem); border-radius: 20px; background: rgba(15, 23, 42, .42); backdrop-filter: blur(12px); color: #fff; opacity: 0; transform: translateY(14px); transition: opacity .6s .15s, transform .6s .15s cubic-bezier(.2, .7, .2, 1); }
.t1-car--hero .t1-car-slide.is-active .t1-hero-cap, .t1-car--hero.is-single .t1-hero-cap { opacity: 1; transform: none; }
.t1-hero-cap strong { font-size: clamp(1.15rem, .8rem + 1.6vw, 2.2rem); font-weight: 800; line-height: 1.15; letter-spacing: -.02em; }
.t1-hero-cap em { font-style: normal; display: inline-flex; align-items: center; gap: .5rem; padding: .55rem 1.1rem; border-radius: 999px; background: #fff; color: var(--t1-ink); font-size: 14px; font-weight: 800; }

/* 1) centre focus (Ad Banner Top) */
.t1-car--center { --w: clamp(260px, 34vw, 600px); --gap: clamp(.6rem, 1.2vw, 1.25rem); }
.t1-car--center .t1-car-viewport { padding: .6rem calc(50% - var(--w) / 2) 1rem; -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
.t1-car--center .t1-car-slide { flex: 0 0 var(--w); scroll-snap-align: center; transform: scale(.86); opacity: .5; filter: saturate(.75); transition: transform .55s cubic-bezier(.2, .7, .2, 1), opacity .55s, filter .55s; cursor: pointer; }
.t1-car--center .t1-car-slide.is-active { transform: none; opacity: 1; filter: none; cursor: auto; }
.t1-car--center .t1-car-slide.is-active .t1-promo { box-shadow: 0 18px 40px rgba(15, 23, 42, .18); }
.t1-car--center > .t1-car-nav { padding: 0 max(.5rem, calc(50% - var(--w) / 2 - 22px)); }
.t1-car--center > .t1-car-dots { margin-top: .35rem; }
@media (max-width: 767.98px) { .t1-car--center { --w: 80vw; } .t1-car--center .t1-car-slide { transform: scale(.92); } }
@media (prefers-reduced-motion: reduce) { .t1-car--center .t1-car-slide { transition: none; } }

/* 2) peek rail (Ad Banner Middle) */
.t1-car--promo { --gap: clamp(.75rem, 1.2vw, 1.25rem); }
.t1-car--promo .t1-car-slide { flex: 0 0 min(calc((100% - var(--gap) * 1.5) / 2.5), 560px); }
.t1-car--promo[data-count="1"] .t1-car-slide { flex-basis: 100%; }
@media (max-width: 767.98px) { .t1-car--promo .t1-car-slide { flex-basis: 84%; } }
.t1-car--promo .t1-car-viewport { padding: 4px 4px 10px; margin: -4px -4px -10px; }
.t1-car--promo.is-static .t1-car-viewport { justify-content: center; }
.t1-car--promo .t1-promo { transition: transform .25s, box-shadow .25s; }
.t1-car--promo .t1-promo:hover { transform: translateY(-3px); box-shadow: var(--t1-shadow-lg); }

/* 3) continuous strip (Ad Banner Bottom) */
.t1-car--marquee { --gap: clamp(.75rem, 1.2vw, 1.25rem); }
.t1-car--marquee .t1-car-slide { flex: 0 0 clamp(220px, 24vw, 420px); }
.t1-car--marquee.is-marquee { overflow: hidden; padding: .5rem 0 1rem; -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.t1-car--marquee.is-marquee .t1-car-viewport { width: max-content; overflow: visible; scroll-snap-type: none; animation: t1-marquee var(--t1-marquee-dur, 30s) linear infinite; }
.t1-car--marquee.is-marquee:hover .t1-car-viewport, .t1-car--marquee.is-marquee:focus-within .t1-car-viewport { animation-play-state: paused; }
@keyframes t1-marquee { to { transform: translateX(calc(-50% - var(--gap) / 2)); } }
.t1-car--marquee .t1-promo:hover { box-shadow: var(--t1-shadow-lg); }

.t1-promo-sec { padding-top: .5rem; padding-bottom: .5rem; }

/* ================= Header v2 (layout/header.php) ================= */
.t1-hdr { position: sticky; top: 0; z-index: 1030; background: var(--t1-brand); color: #fff; transition: box-shadow .25s; }
.t1-hdr.is-stuck { box-shadow: 0 10px 30px -12px rgba(15, 23, 42, .35); }
.t1-hdr-main { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: clamp(1rem, 2.2vw, 2.75rem); min-height: 78px; }
.t1-hdr .t1-logo img { max-height: 50px; width: auto; display: block; }
.t1-hdr-btn { display: none; width: 44px; height: 44px; border: 0; border-radius: 14px; background: rgba(255, 255, 255, .14); color: #fff; font-size: 1.1rem; align-items: center; justify-content: center; transition: background-color .15s; }
.t1-hdr-btn:hover { background: rgba(255, 255, 255, .22); }

/* search */
.t1-srch { position: relative; width: 100%; max-width: 760px; justify-self: center; margin: 0; }
.t1-srch-box { position: relative; display: flex; align-items: center; height: 52px; padding: 0 5px 0 1.1rem; border-radius: 16px; background: #fff; box-shadow: 0 1px 2px rgba(15, 23, 42, .08), 0 8px 24px -12px rgba(15, 23, 42, .35); transition: box-shadow .2s, border-radius .2s; }
.t1-srch-box:focus-within { box-shadow: 0 0 0 4px rgba(255, 255, 255, .35), 0 12px 32px -12px rgba(15, 23, 42, .45); }
.t1-srch-ico { color: var(--t1-faint); font-size: 16px; flex-shrink: 0; }
.t1-srch.is-loading .t1-srch-ico::before { content: "\f1ce"; }
.t1-srch.is-loading .t1-srch-ico { animation: t1-spin .7s linear infinite; color: var(--t1-brand); }
@keyframes t1-spin { to { transform: rotate(360deg); } }
.t1-srch-input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; padding: 0 .8rem; font-size: 15px; font-weight: 500; color: var(--t1-ink); -webkit-appearance: none; appearance: none; }
.t1-srch-input::placeholder { color: var(--t1-faint); font-weight: 500; }
.t1-srch-input::-webkit-search-cancel-button, .t1-srch-input::-webkit-search-decoration { -webkit-appearance: none; }
.t1-srch-clear { flex-shrink: 0; width: 30px; height: 30px; margin-right: .35rem; border: 0; border-radius: 50%; background: #f1f5f9; color: var(--t1-muted); font-size: 13px; display: inline-flex; align-items: center; justify-content: center; }
.t1-srch-clear:hover { background: #e2e8f0; color: var(--t1-ink); }
.t1-srch-clear[hidden] { display: none; }
.t1-srch-kbd { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 24px; margin-right: .5rem; padding: 0 .35rem; border-radius: 7px; border: 1px solid var(--t1-line); background: #f8fafc; color: var(--t1-muted); font: 700 12px/1 var(--t1-font); box-shadow: 0 1px 0 var(--t1-line); }
.t1-srch-box:focus-within .t1-srch-kbd, .t1-srch-clear:not([hidden]) ~ .t1-srch-kbd { display: none; }
.t1-srch-go { flex-shrink: 0; display: inline-flex; align-items: center; gap: .5rem; height: 42px; padding: 0 1.15rem; border: 0; border-radius: 12px; background: var(--t1-brand); color: #fff; font-weight: 800; font-size: 14px; transition: background-color .15s, transform .1s; }
.t1-srch-go:hover { background: var(--t1-brand-dark); }
.t1-srch-go:active { transform: scale(.97); }
@media (max-width: 1279.98px) { .t1-srch-go span { display: none; } .t1-srch-go { width: 42px; padding: 0; justify-content: center; } .t1-srch-kbd { display: none; } }

/* suggestion panel */
.t1-srch-panel { position: absolute; left: 0; right: 0; top: calc(100% + 10px); z-index: 1060; max-height: min(72vh, 620px); overflow-y: auto; overscroll-behavior: contain; padding: .5rem; border-radius: 20px; background: #fff; color: var(--t1-ink); box-shadow: 0 24px 60px -16px rgba(15, 23, 42, .35), 0 0 0 1px rgba(15, 23, 42, .06); animation: t1-pop-in .16s ease-out; scrollbar-width: thin; }
.t1-srch-panel[hidden] { display: none; }
@keyframes t1-pop-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.t1-srch-sec { padding: .45rem .35rem .35rem; }
.t1-srch-sec + .t1-srch-sec { border-top: 1px solid var(--t1-line-2); }
.t1-srch-head { display: flex; align-items: center; justify-content: space-between; padding: .2rem .45rem .5rem; font-size: 11.5px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--t1-faint); }
.t1-srch-link { border: 0; background: none; padding: 0; font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--t1-brand); }
.t1-srch-chips { display: flex; flex-wrap: wrap; gap: .4rem; padding: 0 .35rem .2rem; }
.t1-srch-chip { display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .8rem; border-radius: 999px; background: #f1f5f9; color: var(--t1-ink-2) !important; font-size: 13px; font-weight: 600; transition: background-color .12s, color .12s; }
.t1-srch-chip i { font-size: 11px; color: var(--t1-faint); }
.t1-srch-chip:hover, .t1-srch-chip.is-active { background: var(--t1-brand-soft); color: var(--t1-brand) !important; }
.t1-srch-chip:hover i, .t1-srch-chip.is-active i { color: var(--t1-brand); }
.t1-srch-trend { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; padding: 0 .2rem .2rem; }
@media (max-width: 575.98px) { .t1-srch-trend { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.t1-srch-tile { display: flex; flex-direction: column; gap: .3rem; padding: .45rem; border-radius: 14px; color: var(--t1-ink) !important; transition: background-color .12s; }
.t1-srch-tile:hover, .t1-srch-tile.is-active { background: var(--t1-bg); }
.t1-srch-tile .t1-srch-img { width: 100%; height: auto; aspect-ratio: 1; }
.t1-srch-tname { font-size: 12.5px; font-weight: 600; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.t1-srch-rows { display: flex; flex-direction: column; gap: 2px; }
.t1-srch-row, .t1-srch-all { display: flex; align-items: center; gap: .75rem; padding: .5rem .6rem; border-radius: 12px; color: var(--t1-ink) !important; transition: background-color .12s; }
.t1-srch-row:hover, .t1-srch-row.is-active, .t1-srch-all:hover, .t1-srch-all.is-active { background: var(--t1-bg); }
.t1-srch-all { margin: .1rem .1rem .3rem; font-size: 14px; color: var(--t1-ink-2) !important; }
.t1-srch-all > i:first-child { width: 36px; height: 36px; border-radius: 11px; background: var(--t1-brand-soft); color: var(--t1-brand); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; }
.t1-srch-all span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.t1-srch-all strong { color: var(--t1-ink); }
.t1-srch-go-ico { color: var(--t1-faint); font-size: 12px; transition: transform .15s, color .15s; }
.t1-srch-all.is-active .t1-srch-go-ico, .t1-srch-all:hover .t1-srch-go-ico { color: var(--t1-brand); transform: translateX(3px); }
.t1-srch-img { flex-shrink: 0; width: 46px; height: 46px; border-radius: 12px; background: #f8fafc; border: 1px solid var(--t1-line-2); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.t1-srch-img img { width: 100%; height: 100%; object-fit: contain; padding: 3px; }
.t1-srch-badge { flex-shrink: 0; width: 36px; height: 36px; border-radius: 11px; background: #f1f5f9; color: var(--t1-muted); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; overflow: hidden; }
.t1-srch-badge img { width: 100%; height: 100%; object-fit: cover; }
.t1-srch-name { flex: 1; min-width: 0; font-size: 14px; font-weight: 600; line-height: 1.3; }
.t1-srch-name small { display: block; margin-top: .1rem; font-size: 12px; font-weight: 500; color: var(--t1-muted); }
.t1-srch-row em { font-style: normal; font-size: 11.5px; font-weight: 700; color: var(--t1-faint); padding: .15rem .5rem; border-radius: 999px; background: #f8fafc; }
.t1-srch-price { flex-shrink: 0; font-size: 14px; font-weight: 800; color: var(--t1-ink); white-space: nowrap; }
.t1-srch-price del { font-size: 12px; font-weight: 500; color: var(--t1-faint); margin-left: .25rem; }
.t1-srch-panel mark { padding: 0; background: none; color: var(--t1-brand); font-weight: 800; }
.t1-srch-empty { display: flex; align-items: center; gap: .8rem; padding: 1rem .9rem 1.1rem; color: var(--t1-muted); font-size: 13.5px; line-height: 1.5; }
.t1-srch-empty i { font-size: 1.4rem; color: var(--t1-faint); }

/* actions */
.t1-hdr-actions { display: flex; align-items: center; gap: .3rem; }
.t1-hdr-act { position: relative; display: inline-flex; align-items: center; gap: .6rem; height: 50px; padding: 0 .75rem; border: 0; border-radius: 14px; background: transparent; color: #fff !important; font: inherit; text-align: left; transition: background-color .15s; }
.t1-hdr-act:hover, .t1-hdr-act[aria-expanded="true"] { background: rgba(255, 255, 255, .13); color: #fff !important; }
.t1-hdr-act:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.t1-hdr-ico { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 24px; font-size: 1.3rem; line-height: 1; }
.t1-hdr-lbl { display: flex; flex-direction: column; font-size: 14px; font-weight: 800; line-height: 1.15; white-space: nowrap; }
.t1-hdr-lbl small { font-size: 11.5px; font-weight: 500; opacity: .78; }
.t1-hdr-caret { font-size: 9px; margin-left: .2rem; opacity: .8; vertical-align: 1px; }
.t1-hdr-avatar { width: 38px; height: 38px; flex-shrink: 0; border-radius: 50%; background: #fff; color: var(--t1-brand); display: inline-flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 800; letter-spacing: .02em; box-shadow: 0 0 0 3px rgba(255, 255, 255, .25); }
.t1-hdr-cart { background: rgba(255, 255, 255, .14); padding: 0 1rem 0 .85rem; }
.t1-hdr-cart:hover, .t1-hdr-cart[aria-expanded="true"] { background: rgba(255, 255, 255, .22); }
.t1-hdr .t1-badge, .t1-hdr .cart-count { position: absolute !important; top: -9px !important; left: auto !important; right: -11px !important; min-width: 20px; height: 20px; padding: 0 5px !important; border-radius: 999px !important; background: var(--t1-accent) !important; color: #fff !important; font: 800 11px/20px var(--t1-font) !important; text-align: center; box-shadow: 0 0 0 2px var(--t1-brand) !important; margin: 0 !important; }
.t1-hdr .dropdown-menu { margin-top: .6rem !important; }
.t1-hdr .t1-dropdown .dropdown-item, .t1-hdr .t1-dropdown .dropdown-item i { color: var(--t1-ink-2) !important; }
.t1-hdr .t1-dropdown .dropdown-item:hover, .t1-hdr .t1-dropdown .dropdown-item:hover i { color: var(--t1-brand) !important; }
.t1-hdr .t1-cart-drop i { font-size: inherit !important; }

/* category bar */
.t1-hdr-nav { background: #fff; border-bottom: 1px solid var(--t1-line-2); }
.t1-hdr-links { display: flex; align-items: stretch; gap: .25rem; margin: 0; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.t1-hdr-links::-webkit-scrollbar { display: none; }
.t1-hdr-links > li > a { position: relative; display: inline-flex; align-items: center; gap: .35rem; height: 50px; padding: 0 .95rem; color: var(--t1-ink-2) !important; font-size: 14px; font-weight: 700; white-space: nowrap; transition: color .15s; }
.t1-hdr-links > li > a::after { content: ""; position: absolute; left: .95rem; right: .95rem; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--t1-brand); transform: scaleX(0); transition: transform .2s ease; }
.t1-hdr-links > li > a:hover { color: var(--t1-active) !important; }
.t1-hdr-links > li > a:hover::after { transform: scaleX(.5); }
.t1-hdr-links > li > a.is-active { color: var(--t1-active) !important; }
.t1-hdr-links > li > a.is-active::after { transform: scaleX(1); }
.t1-hdr-links .dropdown-toggle::after { display: none; }
.t1-hdr-links .dropdown-toggle i { font-size: 9px; opacity: .7; }
@media (min-width: 992px) { .t1-hdr-links .dropdown:hover > .dropdown-menu { display: block; margin-top: 0 !important; } }
.t1-hdr-links { overflow: visible; }

/* mobile search field (opens the search sheet) */
.t1-hdr-msearch { display: none; }
.t1-msearch { display: flex; align-items: center; gap: .7rem; width: 100%; height: 46px; padding: 0 1rem; border: 0; border-radius: 14px; background: #fff; color: var(--t1-muted); font-size: 14.5px; font-weight: 500; text-align: left; box-shadow: 0 8px 20px -12px rgba(15, 23, 42, .4); }
.t1-msearch i { color: var(--t1-faint); }
.t1-msearch span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 991.98px) {
	.t1-hdr-main { grid-template-columns: auto auto 1fr; gap: .6rem; min-height: 64px; }
	.t1-hdr-btn { display: inline-flex; }
	.t1-hdr .t1-logo img { max-height: 40px; }
	.t1-hdr-main > .t1-srch { display: none; }
	.t1-hdr-actions { justify-self: end; }
	.t1-hdr-lbl { display: none; }
	.t1-hdr-act { padding: 0 .6rem; height: 44px; }
	.t1-hdr-cart { padding: 0 .75rem; }
	.t1-hdr-msearch { display: block; padding-bottom: .75rem; }
	.t1-hdr-nav { display: none; }
}
@media (max-width: 575.98px) { .t1-hdr-wish { display: none; } .t1-hdr-avatar { width: 32px; height: 32px; font-size: 12.5px; } }

/* phone search sheet */
.t1-searchsheet .modal-content { border: 0; border-radius: 22px; background: #fff; overflow: visible; }
.t1-searchsheet .modal-dialog { max-width: 680px; margin-top: 4.5rem; }
.t1-srch--sheet { max-width: none; padding: .75rem; }
.t1-srch--sheet .t1-srch-box { padding-left: .3rem; background: #f1f5f9; box-shadow: none; height: 50px; border-radius: 14px; }
.t1-srch--sheet .t1-srch-box:focus-within { box-shadow: 0 0 0 3px var(--t1-brand-soft); background: #fff; }
.t1-srch-back { flex-shrink: 0; width: 40px; height: 40px; border: 0; border-radius: 12px; background: transparent; color: var(--t1-ink-2); font-size: 16px; }
.t1-srch--sheet .t1-srch-go { width: 40px; height: 40px; padding: 0; justify-content: center; }
.t1-srch--sheet .t1-srch-panel { position: static; margin-top: .6rem; box-shadow: none; padding: 0; max-height: calc(100vh - 110px); animation: none; }
@media (max-width: 575.98px) { .t1-searchsheet .modal-dialog { margin: 0; } .t1-searchsheet .modal-content { border-radius: 0; min-height: 100%; } .t1-srch--sheet .t1-srch-panel { max-height: calc(100dvh - 90px); } }

/* mobile menu drawer */
.t1-drawer { width: min(340px, 88vw) !important; border: 0 !important; }
.t1-drawer .offcanvas-header { background: var(--t1-brand); padding: 1rem 1.1rem; }
.t1-drawer-logo img { max-height: 40px; }
.t1-drawer .offcanvas-body { padding: 0 0 1.25rem; }
.t1-drawer-user { display: flex; align-items: center; gap: .75rem; padding: 1rem 1.1rem; border-bottom: 1px solid var(--t1-line-2); }
.t1-drawer-user .t1-hdr-avatar { background: var(--t1-brand-soft); box-shadow: none; }
.t1-drawer-user div { display: flex; flex-direction: column; min-width: 0; font-size: 13px; color: var(--t1-muted); }
.t1-drawer-user strong { font-size: 15px; color: var(--t1-ink); }
.t1-drawer-label { margin: 1.1rem 1.1rem .35rem; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--t1-faint); }
.t1-drawer-links { list-style: none; margin: 0; padding: 0 .55rem; }
.t1-drawer-links a, .t1-drawer-links summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 48px; padding: 0 .6rem; border-radius: 12px; color: var(--t1-ink) !important; font-size: 15px; font-weight: 600; list-style: none; cursor: pointer; }
.t1-drawer-links summary::-webkit-details-marker { display: none; }
.t1-drawer-links a:hover, .t1-drawer-links summary:hover, .t1-drawer-links a.is-active { background: var(--t1-bg); }
.t1-drawer-links a.is-active { color: var(--t1-active) !important; }
.t1-drawer-links a > i.fa-chevron-right, .t1-drawer-links summary i { font-size: 11px; color: var(--t1-faint); }
.t1-drawer-links details[open] summary i { transform: rotate(180deg); }
.t1-drawer-links details ul { list-style: none; margin: 0 0 .3rem; padding: 0 0 0 .8rem; }
.t1-drawer-links details a { min-height: 42px; font-size: 14px; color: var(--t1-ink-2) !important; }
.t1-drawer-links--icons a { justify-content: flex-start; }
.t1-drawer-links--icons a i { width: 20px; text-align: center; color: var(--t1-brand); }
.t1-drawer-links--icons .t1-count { margin-left: auto; }
.t1-drawer-call { display: flex; align-items: center; gap: .8rem; margin: 1.25rem 1.1rem 0; padding: .85rem 1rem; border-radius: 16px; background: var(--t1-brand-soft); color: var(--t1-ink) !important; font-weight: 800; }
.t1-drawer-call i { font-size: 1.3rem; color: var(--t1-brand); }
.t1-drawer-call span { display: flex; flex-direction: column; line-height: 1.2; }
.t1-drawer-call small { font-size: 12px; font-weight: 600; color: var(--t1-muted); }
.t1-drawer-user .btn { white-space: nowrap; flex-shrink: 0; }
.t1-announce-links a { display: inline-flex; align-items: center; gap: .4rem; }
@media (max-width: 575.98px) { .t1-auth-form { padding: 1.4rem 1.25rem 1.3rem; } }

/* ---------- Install-the-app card (themeone/partials/pwa.php, all themes) ---------- */
.t1-pwa { position: fixed; z-index: 1065; right: 20px; bottom: 20px; width: 360px; max-width: calc(100vw - 24px); display: flex; gap: 14px; padding: 18px 44px 18px 18px; border-radius: 18px; background: #fff; box-shadow: 0 24px 60px -16px rgba(15, 23, 42, .35), 0 0 0 1px rgba(15, 23, 42, .06); opacity: 0; transform: translateY(20px); transition: opacity .3s, transform .35s cubic-bezier(.2, .8, .2, 1); }
.t1-pwa.is-open { opacity: 1; transform: none; }
.t1-pwa[hidden] { display: none; }
.t1-pwa-icon { flex: 0 0 52px; width: 52px; height: 52px; border-radius: 14px; box-shadow: 0 6px 14px -8px rgba(15, 23, 42, .5); }
.t1-pwa-body { min-width: 0; }
.t1-pwa-body strong { display: block; color: var(--t1-ink); font-size: 15px; font-weight: 800; line-height: 1.3; }
.t1-pwa-text, .t1-pwa-ios { display: block; margin-top: 4px; color: var(--t1-muted); font-size: 13px; line-height: 1.5; }
.t1-pwa-text[hidden], .t1-pwa-ios[hidden], .t1-pwa-go[hidden] { display: none; }
.t1-pwa-ios i { color: var(--t1-brand); }
.t1-pwa-actions { display: flex; gap: 8px; margin-top: 12px; }
.t1-pwa-go { display: inline-flex; align-items: center; gap: 7px; padding: 8px 18px; border: 0; border-radius: 40px; background: var(--t1-brand); color: #fff; font-size: 13.5px; font-weight: 700; transition: filter .2s; }
.t1-pwa-go:hover { filter: brightness(.92); }
.t1-pwa-later { padding: 8px 14px; border: 0; border-radius: 40px; background: var(--t1-bg); color: var(--t1-ink-2); font-size: 13.5px; font-weight: 600; }
.t1-pwa-x { position: absolute; top: 10px; right: 10px; width: 28px; height: 28px; border: 0; border-radius: 50%; background: transparent; color: var(--t1-faint); }
.t1-pwa-x:hover { background: var(--t1-bg); color: var(--t1-ink); }
@media (max-width: 575.98px) { .t1-pwa { left: 12px; right: 12px; bottom: 12px; width: auto; max-width: none; } }

/* ---------- Mega menu (themeone/partials/mega_menu.php, all themes) ---------- */
.t1-hdr-nav .container-xxl, .t2-nav-in, .t3-nav-in, .t4-hdr-main { position: relative; }
.t1-mega-li { position: static !important; }
/* Every header/drawer toggle prints its own Font Awesome arrow; Bootstrap's ::after caret made it show twice. */
#t1-header .dropdown-toggle::after, .t1-drawer .dropdown-toggle::after { display: none !important; }
/* One arrow style for mega and normal dropdowns in every theme: flips up while its menu is open. */
#t1-header .dropdown-toggle i.t1-mega-caret { font-size: 10px !important; margin-left: 4px; opacity: .75; transition: transform .2s; }
#t1-header .dropdown-toggle[aria-expanded="true"] .t1-mega-caret { transform: rotate(180deg); opacity: 1; }
@media (min-width: 992px) {
	#t1-header .t1-mega-li:hover > .dropdown-toggle .t1-mega-caret,
	#t1-header li.dropdown:hover > .dropdown-toggle .t1-mega-caret { transform: rotate(180deg); opacity: 1; }
	#t1-header li.dropdown:hover > .dropdown-menu { display: block; margin-top: 0 !important; }
}
.t1-mega { left: 0 !important; right: 0 !important; top: 100% !important; width: auto; margin: 0 !important; padding: 0; border: 1px solid var(--t1-line); border-radius: 0 0 16px 16px; background: #fff; box-shadow: 0 24px 50px -20px rgba(15, 23, 42, .3); z-index: 1030; }
/* Four link columns + a promo column; content capped so wide screens do not leave big gaps. */
.t1-mega-in { display: grid; grid-template-columns: minmax(0, 1fr) 250px; align-items: start; gap: 28px; max-width: 1320px; margin: 0 auto; padding: 22px 28px 24px; }
.t1-mega-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px 28px; align-content: start; }
.t1-mega-head { display: block; margin-bottom: 8px; padding-bottom: 8px; border-bottom: 1px solid var(--t1-line); color: var(--t1-ink) !important; font-size: 15px; font-weight: 700; }
a.t1-mega-head:hover { color: var(--t1-brand) !important; }
.t1-mega-col ul { list-style: none; margin: 0; padding: 0; }
.t1-mega-col li a { display: block; padding: 5px 0; color: var(--t1-muted) !important; font-size: 14px; transition: color .2s, padding-left .2s; }
.t1-mega-col li a:hover { padding-left: 6px; color: var(--t1-brand) !important; }
.t1-mega-side { display: flex; flex-direction: column; gap: 10px; }
.t1-mega-promo { display: block; overflow: hidden; border-radius: 12px; background: var(--t1-bg); }
.t1-mega-promo img { display: block; width: 100%; height: auto; transition: transform .5s; }
.t1-mega-promo:hover img { transform: scale(1.04); }
.t1-mega-all { display: inline-flex; align-items: center; gap: 8px; color: var(--t1-brand) !important; font-size: 14px; font-weight: 700; }
.t1-mega-all i { transition: transform .2s; }
.t1-mega-all:hover i { transform: translateX(4px); }
@media (hover: hover) and (min-width: 992px) {
	.t1-mega-li:hover > .t1-mega { display: block; }
	.t1-mega-li:hover > .t1-mega { animation: t1-mega-in .2s ease-out; }
}
@keyframes t1-mega-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (max-width: 1199.98px) { .t1-mega-in { grid-template-columns: minmax(0, 1fr) 200px; gap: 22px; } }
/* phone menu: column links under each dropdown entry */
.t1-drawer-sub { list-style: none; margin: 2px 0 6px 12px !important; padding: 0 0 0 10px !important; border-left: 2px solid var(--t1-line); }
.t1-drawer-sub a { font-size: 13px !important; color: var(--t1-muted) !important; padding: 5px 0 !important; }

/* Maintenance mode is on but this visitor can still use the store (admin access / allowed IP) */
.t1-maint-bar { display: flex; align-items: center; justify-content: center; gap: .5rem 1rem; flex-wrap: wrap; padding: .5rem 1rem; background: #f59e0b; color: #1f2937; font-size: 13px; font-weight: 600; line-height: 1.4; text-align: center; }
.t1-maint-bar i { margin-right: .35rem; }
.t1-maint-bar a { color: #1f2937 !important; text-decoration: underline; font-weight: 700; }

/* Card  − qty +  stepper that replaces the add-to-cart button once the product is in the cart.
   It carries the button's own classes (position, colours, size per theme); these rules only lay
   out the three parts and keep it visible (some themes show the add button on hover only). */
.t1-cstep { display: inline-flex !important; align-items: center !important; justify-content: space-between !important; gap: 2px !important; width: auto; min-width: 104px; padding: 0 4px !important; opacity: 1 !important; visibility: visible !important; transform: none !important; cursor: default; user-select: none; }
.t1-cstep.is-busy { opacity: .6 !important; pointer-events: none; }
.t1-cstep-btn { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin: 0; padding: 0; border: 0; border-radius: 8px; background: transparent; color: inherit; font-size: 12px; line-height: 1; cursor: pointer; transition: background-color .15s; }
.t1-cstep-btn:hover, .t1-cstep-btn:focus-visible { background: rgba(0, 0, 0, .08); outline: none; }
.t1-cstep-btn i { font-size: 11px; margin: 0 !important; }
.t1-cstep-qty { flex: 1 1 auto; min-width: 22px; text-align: center; font-weight: 700; font-size: 14px; font-variant-numeric: tabular-nums; }
/* small square / round icon buttons get room for the stepper */
.t1-add.t1-cstep, .t3-rcard-add.t1-cstep { width: auto !important; min-width: 96px; border-radius: 999px; }
.t3-rcard-add.t1-cstep { min-width: 92px; height: 34px; }
.t4-act--cart.t1-cstep { flex: 0 0 auto; width: auto !important; max-width: none; min-width: 100px; }

/* Product page: thumbnails in a vertical column left of the main image (tablet and up).
   The column is exactly as tall as the image (height: 0 + min-height: 100% of the grid row) and
   scrolls when there are more thumbnails; phones keep the horizontal strip under the image. */
@media (min-width: 768px) {
	.t1-pv-gallery:has(> .t1-pv-thumbs) { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: .9rem; align-items: start; }
	.t1-pv-gallery > .t1-pv-stage { grid-column: 2; grid-row: 1; }
	.t1-pv-gallery > .t1-pv-thumbs { grid-column: 1; grid-row: 1; align-self: stretch; height: 0; min-height: 100%; flex-direction: column; margin-top: 0; padding: 0 0 0 2px; overflow-x: hidden; overflow-y: auto; scroll-snap-type: y proximity; }
	.t1-pv-gallery > .t1-pv-thumbs .t1-thumb { width: 76px; height: 76px; }
}
.t1-pv-thumbs { position: relative; }

/* Login modal: two-factor code step */
.t1-2fa { text-align: center; padding-top: .5rem; }
.t1-2fa-icon { width: 56px; height: 56px; margin: 0 auto .8rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--t1-brand-soft, #eef6ff); color: var(--t1-brand); font-size: 22px; }
.t1-2fa-title { margin: 0 0 .35rem; font-size: 1.15rem; font-weight: 800; }
.t1-2fa-text { margin: 0 auto 1.1rem; max-width: 320px; color: var(--t1-muted); font-size: 14px; }
.t1-2fa-code { max-width: 220px; margin: 0 auto; text-align: center; font-size: 1.5rem !important; font-weight: 700; letter-spacing: .4em; padding-left: .4em !important; font-variant-numeric: tabular-nums; }
.t1-2fa .t1-auth-foot { justify-content: center; }

/* Checkout: "Place this order?" confirmation */
.t1-confirm .swal2-html-container { margin: .6rem 1.4rem 0 !important; }
.t1-confirm-list { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .45rem 1rem; margin: 0; padding: .9rem 1rem; border-radius: 14px; background: var(--t1-bg, #f8fafc); text-align: left; font-size: 14px; }
.t1-confirm-list dt { color: var(--t1-muted, #64748b); font-weight: 600; }
.t1-confirm-list dd { margin: 0; color: var(--t1-ink, #0f172a); font-weight: 600; word-break: break-word; }
.t1-confirm-list dt:first-child + dd { font-size: 1.15rem; font-weight: 800; color: var(--t1-brand); }
.t1-confirm-note { margin: .8rem 0 0; color: var(--t1-muted, #64748b); font-size: 13px; }
.t1-confirm .swal2-cancel { border-radius: 999px !important; }
/* Some themes hide the cart button's text label in narrow cards (Gadget: .t4-act--cart span),
   which hid the stepper's number too; the quantity always shows. */
.t1-cstep .t1-cstep-qty { display: inline-block !important; visibility: visible !important; position: static !important; width: auto !important; height: auto !important; clip: auto !important; overflow: visible !important; }
