/* =========================================================
   Titan Safari Design — light gaming theme
   Sections are prefixed .tsd-, shop styling sits under body.tsd-shop
   ========================================================= */

:root {
	--tsd-accent: #2563EB;
	--tsd-accent-ink: #1D4ED8;
	--tsd-accent-soft: #E0EAFF;
	--tsd-accent-deep: #1E3A8A;
	--tsd-ink: #0F172A;
	--tsd-body: #334155;
	--tsd-muted: #5B6578;
	--tsd-line: #E2E8F0;
	--tsd-line-strong: #CBD5E1;
	--tsd-bg: #F6F8FB;
	--tsd-surface: #FFFFFF;
	--tsd-ph: #EEF2F7;
	--tsd-sale-bg: #FFEDD5;
	--tsd-sale-ink: #9A3412;
	--tsd-sale: #C2410C;
	--tsd-ok: #15803D;
	--tsd-radius: 16px;
	--tsd-radius-lg: 20px;
	--tsd-display: 'Chakra Petch', system-ui, sans-serif;
	--tsd-text: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--tsd-shadow: 0 18px 40px rgba(15, 23, 42, .10);
}

/* ---------- Base for all sections ---------- */
.tsd { font-family: var(--tsd-text); color: var(--tsd-ink); box-sizing: border-box; }
.tsd *, .tsd *::before, .tsd *::after { box-sizing: border-box; }
.tsd a { text-decoration: none; }
.tsd img { max-width: 100%; height: auto; display: block; }
.tsd-hero, .tsd-trust, .tsd-block, .tsd-panel, .tsd-offer, .tsd-help {
	max-width: 1280px; margin: 0 auto 56px; padding-left: 16px; padding-right: 16px;
}
.tsd-h1 { font-family: var(--tsd-display); font-weight: 700; font-size: clamp(32px, 5vw, 48px); line-height: 1.05; margin: 0; color: var(--tsd-ink); letter-spacing: -.01em; }
.tsd-h2 { font-family: var(--tsd-display); font-weight: 700; font-size: clamp(24px, 3.2vw, 32px); line-height: 1.15; margin: 0; color: var(--tsd-ink); }
.tsd-sub { margin: 6px 0 0; color: var(--tsd-muted); font-size: 15px; line-height: 1.5; }
.tsd-lead { margin: 0; font-size: 17px; line-height: 1.55; color: #475569; }
.tsd-kicker { font-weight: 700; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--tsd-accent-ink); }
.tsd-pill { align-self: flex-start; display: inline-flex; background: var(--tsd-accent-soft); color: var(--tsd-accent-deep); font-weight: 600; font-size: 13px; padding: 6px 12px; border-radius: 999px; }
.tsd-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px; margin-bottom: 20px; }
.tsd-more { font-weight: 600; font-size: 15px; color: var(--tsd-accent-ink) !important; white-space: nowrap; }
.tsd-more:hover { color: var(--tsd-accent-deep) !important; }
.tsd-ph { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: #94A3B8; background: var(--tsd-ph); }
.tsd-admin-note { max-width: 1280px; margin: 0 auto 24px; padding: 12px 16px; border: 1px dashed #F59E0B; background: #FFFBEB; color: #92400E; border-radius: 10px; font: 500 14px/1.4 var(--tsd-text); }

/* ---------- Buttons ---------- */
.tsd-btn, a.tsd-btn, button.tsd-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 0 22px; border-radius: 12px; border: 0;
	background: var(--tsd-accent); color: #FFFFFF !important;
	font: 600 15px/1 var(--tsd-text); cursor: pointer; text-decoration: none;
	transition: background-color .2s ease, transform .2s ease;
}
.tsd-btn:hover { background: var(--tsd-accent-ink); color: #FFFFFF !important; }
.tsd-btn:focus-visible, .tsd a:focus-visible, .tsd button:focus-visible { outline: 3px solid #93C5FD; outline-offset: 2px; }
.tsd-btn--ghost, a.tsd-btn--ghost { background: #FFFFFF; color: var(--tsd-ink) !important; border: 1.5px solid var(--tsd-line-strong); }
.tsd-btn--ghost:hover { background: #F1F5F9; color: var(--tsd-ink) !important; }
.tsd-btn--dark, a.tsd-btn--dark { background: var(--tsd-ink); }
.tsd-btn--dark:hover { background: #1E293B; }
.tsd-btn--light, button.tsd-btn--light { background: #FFFFFF; color: var(--tsd-ink) !important; }
.tsd-btn--light:hover { background: #E2E8F0; }
.tsd-btn--block { width: 100%; }
.tsd-btns { display: flex; flex-wrap: wrap; gap: 12px; }
.tsd-btns .tsd-btn { min-height: 52px; font-size: 16px; padding: 0 24px; }

/* ---------- Hero + 3D scene ---------- */
.tsd-hero { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 24px; }
.tsd-hero__main {
	flex: 2 1 620px; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 28px;
	background: var(--tsd-surface); border: 1px solid var(--tsd-line); border-radius: var(--tsd-radius-lg); padding: clamp(22px, 4vw, 40px); overflow: hidden;
}
.tsd-hero__copy { flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.tsd-scene { flex: 1 1 260px; min-width: 0; height: 320px; position: relative; perspective: 1000px; display: flex; align-items: center; justify-content: center; }
.tsd-scene__ring { position: absolute; width: 290px; height: 290px; border-radius: 50%; border: 2px dashed #BFD0FF; animation: tsdSpin 18s linear infinite; }
.tsd-scene__card {
	width: 250px; height: 230px; border-radius: 22px; background: var(--tsd-ph); border: 1px solid #DCE4F0;
	display: flex; align-items: center; justify-content: center; overflow: hidden;
	box-shadow: 0 30px 60px rgba(37, 99, 235, .18);
	transform-style: preserve-3d; animation: tsdFloat 7s ease-in-out infinite;
}
.tsd-scene__card img { width: 100%; height: 100%; object-fit: contain; padding: 12px; }
.tsd-chip {
	position: absolute; background: #FFFFFF; border: 1px solid var(--tsd-line); border-radius: 12px; padding: 8px 12px;
	font-size: 13px; font-weight: 600; box-shadow: 0 10px 24px rgba(15, 23, 42, .08); animation: tsdBob 4s ease-in-out infinite;
}
.tsd-chip--1 { top: 18px; left: 6px; }
.tsd-chip--2 { bottom: 22px; right: 4px; animation-duration: 5s; animation-delay: 1s; }
.tsd-hero__side { flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.tsd-tile {
	flex: 1; display: flex; flex-direction: column; gap: 8px; padding: 24px; border-radius: var(--tsd-radius-lg);
	background: var(--tsd-surface); border: 1px solid var(--tsd-line); color: var(--tsd-ink) !important;
}
.tsd-tile--warm { background: #FFF7ED; border-color: #FED7AA; }
.tsd-tile__kicker { font-size: 13px; font-weight: 600; color: var(--tsd-muted); }
.tsd-tile--warm .tsd-tile__kicker { color: var(--tsd-sale-ink); font-weight: 700; }
.tsd-tile__title { font-family: var(--tsd-display); font-size: 24px; font-weight: 700; }
.tsd-tile__img { max-height: 110px; width: auto; object-fit: contain; margin: 4px 0; }
.tsd-tile__cta { margin-top: auto; font-weight: 600; font-size: 15px; color: var(--tsd-accent-ink); }
.tsd-tile--warm .tsd-tile__cta { color: var(--tsd-sale); }

@keyframes tsdFloat { 0%, 100% { transform: rotateY(-16deg) rotateX(8deg) translateY(0); } 50% { transform: rotateY(12deg) rotateX(-4deg) translateY(-12px); } }
@keyframes tsdBob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes tsdSpin { from { transform: rotateX(72deg) rotateZ(0); } to { transform: rotateX(72deg) rotateZ(360deg); } }

/* 3D tilt on hover (JS adds a live tilt on desktop; this is the fallback) */
.tsd-tilt { transition: transform .25s ease, box-shadow .25s ease; will-change: transform; }
@media (hover: hover) {
	.tsd-tilt:hover { transform: perspective(900px) rotateX(3deg) rotateY(-5deg) translateY(-4px); box-shadow: var(--tsd-shadow); }
}

/* ---------- Trust strip ---------- */
.tsd-trust { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin-top: -32px; }
.tsd-trust__item { display: flex; align-items: center; gap: 14px; background: var(--tsd-surface); border: 1px solid var(--tsd-line); border-radius: 14px; padding: 18px; }
.tsd-trust__ico { width: 44px; height: 44px; flex: none; border-radius: 12px; background: var(--tsd-accent-soft); color: var(--tsd-accent-ink); display: flex; align-items: center; justify-content: center; }
.tsd-trust__item strong { display: block; font-size: 15px; }
.tsd-trust__item small { display: block; font-size: 13px; color: var(--tsd-muted); }

/* ---------- Categories ---------- */
.tsd-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 16px; }
.tsd-cat { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; background: var(--tsd-surface); border: 1px solid var(--tsd-line); border-radius: var(--tsd-radius); padding: 14px; color: var(--tsd-ink) !important; }
.tsd-cat__img { width: 100%; aspect-ratio: 1 / 1; border-radius: 12px; overflow: hidden; background: var(--tsd-ph); display: flex; align-items: center; justify-content: center; }
.tsd-cat__img img { width: 100%; height: 100%; object-fit: cover; }
.tsd-cat__name { font-weight: 600; font-size: 14px; line-height: 1.3; }

/* ---------- Product cards ---------- */
.tsd-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 20px; }
.tsd-card { display: flex; flex-direction: column; gap: 10px; background: var(--tsd-surface); border: 1px solid var(--tsd-line); border-radius: var(--tsd-radius); padding: 14px; min-width: 0; }
.tsd-card__img { position: relative; display: block; aspect-ratio: 1 / 1; border-radius: 12px; overflow: hidden; background: var(--tsd-ph); }
.tsd-card__img img { width: 100%; height: 100%; object-fit: contain; transition: transform .35s ease; }
.tsd-card:hover .tsd-card__img img { transform: scale(1.04); }
.tsd-badge { position: absolute; z-index: 2; top: 10px; left: 10px; background: var(--tsd-sale-bg); color: var(--tsd-sale-ink); font-weight: 700; font-size: 12px; padding: 5px 9px; border-radius: 6px; }
.tsd-badge--new { background: var(--tsd-accent-soft); color: var(--tsd-accent-deep); }
.tsd-card__brand { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--tsd-muted); }
.tsd-card__title { margin: 0; font: 600 15px/1.35 var(--tsd-text); min-height: 40px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tsd-card__title a { color: var(--tsd-ink) !important; }
.tsd-card__title a:hover { color: var(--tsd-accent-ink) !important; }
.tsd-card__price { font-size: 20px; font-weight: 700; color: var(--tsd-ink); display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
.tsd-card__price del { font-size: 14px; font-weight: 500; color: var(--tsd-muted); opacity: 1; order: 2; }
.tsd-card__price ins { text-decoration: none; order: 1; }
.tsd-stock { font-size: 13px; font-weight: 600; color: var(--tsd-ok); }
.tsd-stock::before { content: "● "; }
.tsd-stock--out { color: #B91C1C; }
.tsd-card .tsd-btn { margin-top: auto; min-height: 46px; }
.tsd-card .added_to_cart { display: block; text-align: center; font-size: 14px; font-weight: 600; color: var(--tsd-accent-ink); padding-top: 4px; }
.tsd-card .tsd-btn.loading { opacity: .7; pointer-events: none; }

/* ---------- Brands ---------- */
.tsd-brands { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 16px; }
.tsd-brand { display: flex; flex-direction: column; align-items: center; gap: 12px; background: var(--tsd-surface); border: 1px solid var(--tsd-line); border-radius: var(--tsd-radius); padding: 18px; color: var(--tsd-ink) !important; }
.tsd-brand__logo { width: 100%; height: 64px; border-radius: 10px; background: #F1F5F9; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.tsd-brand__logo img { max-height: 48px; width: auto; object-fit: contain; }
.tsd-brand__initial { font-family: var(--tsd-display); font-size: 28px; font-weight: 700; color: var(--tsd-accent-ink); }
.tsd-brand__name { font-weight: 700; font-size: 15px; text-align: center; }

/* ---------- Setup levels ---------- */
/* The white card sits 16px inside the section so it lines up with the other sections */
.tsd-panel { position: relative; isolation: isolate; padding: 32px 48px; }
.tsd-panel::before { content: ""; position: absolute; inset: 0 16px; background: var(--tsd-surface); border: 1px solid var(--tsd-line); border-radius: var(--tsd-radius-lg); z-index: -1; }
.tsd-panel__intro { max-width: 640px; display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px; }
.tsd-levels { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.tsd-level { display: flex; flex-direction: column; gap: 12px; padding: 24px; border-radius: var(--tsd-radius); border: 1.5px solid var(--tsd-line); background: #F8FAFC; color: var(--tsd-ink) !important; }
.tsd-level__name { font-family: var(--tsd-display); font-size: 24px; font-weight: 700; }
.tsd-level__text { font-size: 15px; line-height: 1.5; color: #475569; }

/* ---------- Offer + help ---------- */
.tsd-offer > div, .tsd-help > div { display: flex; flex-direction: column; gap: 8px; }
.tsd-offer, .tsd-help { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; position: relative; isolation: isolate; padding-top: 32px; padding-bottom: 32px; padding-left: 48px; padding-right: 48px; }
.tsd-offer::before, .tsd-help::before { content: ""; position: absolute; inset: 0 16px; border-radius: var(--tsd-radius-lg); z-index: -1; }
.tsd-offer::before { background: var(--tsd-ink); }
.tsd-help::before { background: var(--tsd-accent-soft); }
.tsd-offer__title { font-family: var(--tsd-display); font-size: clamp(24px, 3vw, 32px); font-weight: 700; color: #FFFFFF; }
.tsd-offer__text { color: #CBD5E1; font-size: 16px; }
.tsd-offer > .tsd-offer__code { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px; }
.tsd-code { border: 2px dashed #93C5FD; color: #FFFFFF; font-family: var(--tsd-display); font-size: 22px; font-weight: 700; padding: 10px 20px; border-radius: 10px; letter-spacing: .08em; }
.tsd-help__title { font-family: var(--tsd-display); font-size: clamp(22px, 2.6vw, 28px); font-weight: 700; color: var(--tsd-ink); }
.tsd-help__text { font-size: 16px; color: var(--tsd-accent-deep); line-height: 1.5; max-width: 620px; }

/* =========================================================
   WooCommerce pages (body.tsd-shop)
   ========================================================= */
body.tsd-shop.woocommerce-page,
body.tsd-shop.single-product,
body.tsd-shop.woocommerce-cart,
body.tsd-shop.woocommerce-checkout { background-color: var(--tsd-bg); }

body.tsd-shop .woocommerce .button,
body.tsd-shop .woocommerce button.button,
body.tsd-shop .woocommerce a.button,
body.tsd-shop .woocommerce input.button,
body.tsd-shop .woocommerce #respond input#submit,
body.tsd-shop .wc-block-components-button:not(.is-link),
body.tsd-shop .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.tsd-shop .single_add_to_cart_button,
body.tsd-shop .checkout-button {
	background-color: var(--tsd-accent) !important; color: #FFFFFF !important; border: 0 !important;
	border-radius: 12px !important; min-height: 48px; font-family: var(--tsd-text) !important; font-weight: 600 !important;
	box-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important;
}
body.tsd-shop .woocommerce .button:hover,
body.tsd-shop .single_add_to_cart_button:hover,
body.tsd-shop .checkout-button:hover,
body.tsd-shop .wc-block-components-button:not(.is-link):hover { background-color: var(--tsd-accent-ink) !important; }

body.tsd-shop .woocommerce .price,
body.tsd-shop .woocommerce-Price-amount { color: var(--tsd-ink); font-weight: 700; }
body.tsd-shop .woocommerce .price del,
body.tsd-shop .woocommerce .price del .woocommerce-Price-amount { color: var(--tsd-muted); font-weight: 500; opacity: 1; }
body.tsd-shop .woocommerce .price ins { text-decoration: none; }
body.tsd-shop .woocommerce span.onsale,
body.tsd-shop span.onsale { background: var(--tsd-sale-bg) !important; color: var(--tsd-sale-ink) !important; border-radius: 6px !important; font-weight: 700 !important; min-height: 0; min-width: 0; line-height: 1.2; padding: 5px 9px; }

/* Inputs */
body.tsd-shop .woocommerce input[type="text"],
body.tsd-shop .woocommerce input[type="email"],
body.tsd-shop .woocommerce input[type="tel"],
body.tsd-shop .woocommerce input[type="number"],
body.tsd-shop .woocommerce input[type="password"],
body.tsd-shop .woocommerce select,
body.tsd-shop .woocommerce textarea,
body.tsd-shop .woocommerce .input-text {
	border: 1px solid var(--tsd-line-strong); border-radius: 10px; min-height: 46px; padding: 8px 12px; font-family: var(--tsd-text); font-size: 15px; background: #FFFFFF; color: var(--tsd-ink);
}
body.tsd-shop .woocommerce input:focus,
body.tsd-shop .woocommerce select:focus,
body.tsd-shop .woocommerce textarea:focus { outline: 3px solid #BFD3FF; outline-offset: 0; border-color: var(--tsd-accent); }

/* Product page */
body.tsd-shop.single-product .product_title { font-family: var(--tsd-display); font-weight: 700; line-height: 1.15; }
body.tsd-shop.single-product .summary .price { font-size: 30px; }
body.tsd-shop.single-product form.cart .quantity .qty { min-height: 52px; border-radius: 12px; }
body.tsd-shop.single-product form.cart .single_add_to_cart_button { min-height: 56px; font-size: 17px !important; padding: 0 28px !important; }
.tsd-pdp-trust { list-style: none; margin: 18px 0 12px !important; padding: 18px !important; background: #FFFFFF; border: 1px solid var(--tsd-line); border-radius: var(--tsd-radius); display: flex; flex-direction: column; gap: 12px; }
.tsd-pdp-trust li { display: flex; align-items: center; gap: 12px; font-size: 14px; margin: 0 !important; color: var(--tsd-body); }
.tsd-pdp-trust .tsd-ico { color: var(--tsd-accent-ink); flex: none; }
a.tsd-pdp-wa { margin-bottom: 16px; }
body.tsd-shop.single-product .woocommerce-tabs ul.tabs li a { font-family: var(--tsd-text); font-weight: 600; }
body.tsd-shop.single-product .tsd-block { margin-top: 40px; padding-left: 0; padding-right: 0; clear: both; }

/* Collection chips */
.tsd-chips { display: flex; gap: 8px; overflow-x: auto; padding: 2px 0 16px; margin-bottom: 8px; scrollbar-width: thin; }
.tsd-chipl { flex: none; display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; border-radius: 999px; background: #FFFFFF; border: 1px solid var(--tsd-line); color: var(--tsd-ink) !important; font: 600 14px/1 var(--tsd-text); }
.tsd-chipl:hover { border-color: var(--tsd-accent); color: var(--tsd-accent-ink) !important; }

/* Cart / checkout progress */
.tsd-steps { list-style: none; margin: 8px auto 28px !important; padding: 0 !important; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px 28px; font-size: 14px; }
.tsd-steps__item { display: flex; align-items: center; gap: 8px; color: var(--tsd-muted); margin: 0 !important; }
.tsd-steps__num { width: 30px; height: 30px; border-radius: 50%; background: #E2E8F0; color: var(--tsd-body); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; }
.tsd-steps__item.is-current { color: var(--tsd-ink); font-weight: 700; }
.tsd-steps__item.is-current .tsd-steps__num { background: var(--tsd-accent); color: #FFFFFF; }
.tsd-steps__item.is-done { color: var(--tsd-ok); font-weight: 600; }
.tsd-steps__item.is-done .tsd-steps__num { background: #DCFCE7; color: #166534; }

/* Cart & checkout panels (classic + blocks) */
body.tsd-shop .woocommerce-cart-form,
body.tsd-shop .cart_totals,
body.tsd-shop .woocommerce-checkout #customer_details,
body.tsd-shop .woocommerce-checkout-review-order,
body.tsd-shop .wc-block-cart__main,
body.tsd-shop .wc-block-cart__sidebar,
body.tsd-shop .wc-block-checkout__main,
body.tsd-shop .wc-block-checkout__sidebar {
	background: #FFFFFF; border: 1px solid var(--tsd-line); border-radius: 18px; padding: 20px;
}
body.tsd-shop .wc-block-checkout__sidebar,
body.tsd-shop .wc-block-cart__sidebar { align-self: flex-start; }
body.tsd-shop .woocommerce-cart table.shop_table,
body.tsd-shop .woocommerce-checkout table.shop_table { border: 0; border-radius: 0; }
body.tsd-shop .wc-block-components-title,
body.tsd-shop .cart_totals h2,
body.tsd-shop #order_review_heading,
body.tsd-shop .woocommerce-billing-fields h3 { font-family: var(--tsd-display); font-weight: 700; }
body.tsd-shop .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 24px; }
body.tsd-shop .wc-block-components-text-input input,
body.tsd-shop .wc-block-components-combobox .wc-block-components-combobox-control input { border-radius: 10px !important; }
.tsd-note { margin: 16px 0; padding: 14px 18px; border-radius: 14px; background: var(--tsd-accent-soft); color: var(--tsd-accent-deep); font: 500 14px/1.5 var(--tsd-text); }
.tsd-note a { font-weight: 700; color: var(--tsd-accent-deep); }

/* Mobile sticky buy bar */
.tsd-sticky {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; display: none; align-items: center; gap: 12px;
	padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: #FFFFFF; border-top: 1px solid var(--tsd-line);
	box-shadow: 0 -8px 24px rgba(15, 23, 42, .06);
}
.tsd-sticky__price { font-weight: 700; font-size: 17px; line-height: 1.2; display: flex; flex-direction: column; }
.tsd-sticky__price del { font-size: 12px; color: var(--tsd-muted); font-weight: 500; }
.tsd-sticky__price ins { text-decoration: none; }
.tsd-sticky .tsd-btn { flex: 1; min-height: 50px; font-size: 16px; }

/* ---------- Responsive ---------- */
@media (max-width: 767px) {
	.tsd-hero, .tsd-trust, .tsd-block, .tsd-panel, .tsd-offer, .tsd-help { margin-bottom: 40px; }
	.tsd-hero { margin-top: 12px; }
	.tsd-scene { height: 250px; }
	.tsd-scene__ring { width: 220px; height: 220px; }
	.tsd-scene__card { width: 190px; height: 180px; }
	.tsd-trust { margin-top: -20px; grid-template-columns: 1fr 1fr; gap: 10px; }
	.tsd-trust__item { flex-direction: column; align-items: flex-start; padding: 14px; gap: 10px; }
	.tsd-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
	.tsd-cat { padding: 8px; }
	.tsd-cat__name { font-size: 12px; }
	.tsd-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.tsd-card { padding: 10px; gap: 8px; }
	.tsd-card__title { font-size: 13px; min-height: 35px; }
	.tsd-card__price { font-size: 16px; gap: 4px; }
	.tsd-card__price del { font-size: 12px; }
	.tsd-card .tsd-btn { min-height: 44px; font-size: 14px; padding: 0 10px; }
	.tsd-brands { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.tsd-panel, .tsd-offer, .tsd-help { padding-left: 32px; padding-right: 32px; }
	.tsd-sticky:not([hidden]) { display: flex; }
	body.tsd-shop.single-product { padding-bottom: 84px; }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
	.tsd-anim, .tsd-scene__ring, .tsd-scene__card, .tsd-chip { animation: none !important; }
	.tsd-tilt, .tsd-tilt:hover, .tsd-card:hover .tsd-card__img img { transform: none !important; transition: none !important; }
}

/* =========================================================
   v1.2 — theme colours, carousels, images, product page,
   side menu, footer, checkout
   ========================================================= */

/* Theme (Partdo) colours switched to the Titan Safari blue */
html:root {
	--color-primary: #2563EB;
	--color-primary-dark: #1D4ED8;
	--color-primary-lighter: #EFF4FF;
	--color-secondary: #3B82F6;
	--color-secondary-dark: #2563EB;
	--color-secondary-lighter: #EFF6FF;
}

/* ---------- Product carousels: 5 per line ---------- */
.tsd-head { align-items: center; }
.tsd-head > .tsd-more { margin-left: auto; }
.tsd-nav { display: flex; gap: 8px; }
.tsd-nav[hidden] { display: none; }
.tsd-nav__btn {
	width: 40px; height: 40px; padding: 0 0 3px; border-radius: 999px;
	border: 1.5px solid var(--tsd-line-strong); background: #FFFFFF; color: var(--tsd-ink);
	font: 400 24px/1 var(--tsd-text); cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.tsd-nav__btn:hover:not(:disabled) { background: var(--tsd-accent); border-color: var(--tsd-accent); color: #FFFFFF; }
.tsd-nav__btn:disabled { opacity: .35; cursor: default; }
.tsd-grid,
.tsd-grid.tsd-grid--row {
	display: grid; grid-template-columns: none; grid-auto-flow: column;
	grid-auto-columns: calc((100% - 4 * 20px) / 5); gap: 20px;
	overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory;
	scrollbar-width: none; padding: 6px 2px 14px; margin: -6px -2px 0;
}
.tsd-grid::-webkit-scrollbar { display: none; }
.tsd-grid > .tsd-card { scroll-snap-align: start; }
@media (max-width: 1100px) { .tsd-grid, .tsd-grid.tsd-grid--row { grid-auto-columns: calc((100% - 3 * 16px) / 4); gap: 16px; } }
@media (max-width: 900px)  { .tsd-grid, .tsd-grid.tsd-grid--row { grid-auto-columns: calc((100% - 2 * 14px) / 3); gap: 14px; } }
@media (max-width: 767px)  { .tsd-grid, .tsd-grid.tsd-grid--row { grid-template-columns: none; grid-auto-columns: calc((100% - 12px) / 2); gap: 12px; } .tsd-nav__btn { width: 36px; height: 36px; } }

/* ---------- Product images: whole product, same size everywhere ---------- */
.tsd-card__img { background: #FFFFFF; border: 1px solid var(--tsd-line); }
.tsd-card__img img { width: 100%; height: 100%; object-fit: contain; padding: 10px; }
.tsd-cat__img img { width: 100%; height: 100%; object-fit: contain; }
body.tsd-shop .products .product .thumbnail-wrapper,
body.tsd-shop .products .product .product-thumbnail { display: block; background: #FFFFFF; border-radius: 14px; overflow: hidden; }
body.tsd-shop .products .product .thumbnail-wrapper img,
body.tsd-shop .products .product .product-thumbnail img,
body.tsd-shop .woocommerce-mini-cart-item img,
body.tsd-shop .recently-viewed img {
	width: 100% !important; height: auto !important; aspect-ratio: 1 / 1; object-fit: contain !important; background: #FFFFFF;
}
body.tsd-shop .woocommerce-mini-cart-item img { width: 64px !important; }
body.tsd-shop.single-product .woocommerce-product-gallery { background: #FFFFFF; border: 1px solid var(--tsd-line); border-radius: var(--tsd-radius-lg); padding: 12px; }
body.tsd-shop.single-product .woocommerce-product-gallery__image img,
body.tsd-shop.single-product .woocommerce-product-gallery img.wp-post-image { width: 100%; aspect-ratio: 1 / 1; object-fit: contain !important; background: #FFFFFF; border-radius: 12px; }
body.tsd-shop.single-product .flex-control-thumbs li img,
body.tsd-shop.single-product .woocommerce-product-gallery .flex-control-nav img { aspect-ratio: 1 / 1; object-fit: contain; background: #FFFFFF; border: 1px solid var(--tsd-line); border-radius: 10px; padding: 4px; }
body.tsd-shop.single-product .flex-control-thumbs li img.flex-active { border-color: var(--tsd-accent); }

/* ---------- Card buttons (were greyed out by the theme) ---------- */
.tsd-card a.tsd-btn,
.tsd-card a.tsd-btn.button {
	background: var(--tsd-accent) !important; color: #FFFFFF !important; opacity: 1 !important;
	border: 0 !important; border-radius: 12px !important; box-shadow: none !important;
	font: 600 15px/1 var(--tsd-text) !important; text-transform: none !important; letter-spacing: 0 !important;
	height: auto !important; min-height: 46px; width: 100%;
}
.tsd-card a.tsd-btn:hover { background: var(--tsd-accent-ink) !important; }
.tsd-card a.tsd-btn.tsd-btn--ghost { background: #FFFFFF !important; color: var(--tsd-ink) !important; border: 1.5px solid var(--tsd-line-strong) !important; }
.tsd-card a.tsd-btn.added::after { content: ' ✓'; }

/* ---------- Product page ---------- */
@media (min-width: 992px) {
	body.tsd-shop.single-product .single-product-wrapper .product-gallery { position: sticky; top: 24px; align-self: flex-start; }
	body.tsd-shop.single-product.admin-bar .single-product-wrapper .product-gallery { top: 56px; }
}
body.tsd-shop.single-product .product-detail .product_title { font-size: clamp(26px, 3vw, 34px); margin-bottom: 12px; }
body.tsd-shop.single-product .product-detail .price { color: var(--tsd-ink) !important; }
body.tsd-shop.single-product .product-detail .price ins .woocommerce-Price-amount { color: var(--tsd-sale) !important; }
body.tsd-shop.single-product .product-detail .woocommerce-product-details__short-description { color: var(--tsd-body); font-size: 15px; line-height: 1.6; }
body.tsd-shop.single-product .product-detail .woocommerce-product-details__short-description ul { padding-left: 18px; }
body.tsd-shop.single-product .product-detail .woocommerce-product-details__short-description li { margin-bottom: 8px; }
body.tsd-shop.single-product form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; }
body.tsd-shop.single-product form.cart .single_add_to_cart_button { flex: 1 1 180px; margin: 0 !important; border-radius: 12px !important; }
.tsd-buynow {
	flex: 1 1 180px; min-height: 56px; padding: 0 28px; border: 0; border-radius: 12px;
	background: var(--tsd-ink); color: #FFFFFF; font: 600 17px/1 var(--tsd-text); cursor: pointer;
	transition: background-color .2s ease;
}
.tsd-buynow:hover { background: #1E293B; }
.tsd-buynow:disabled { opacity: .7; cursor: progress; }
body.tsd-shop.single-product .product-detail .product-meta { border-top: 1px solid var(--tsd-line); padding-top: 16px; }
body.tsd-shop.single-product .woocommerce-tabs { background: #FFFFFF; border: 1px solid var(--tsd-line); border-radius: var(--tsd-radius-lg); padding: 8px 28px 28px; margin-top: 40px; }
body.tsd-shop.single-product .woocommerce-tabs ul.tabs li.active a,
body.tsd-shop.single-product .woocommerce-tabs ul.tabs li a:hover { color: var(--tsd-accent-ink) !important; }
body.tsd-shop.single-product .woocommerce-tabs ul.tabs li.active a { box-shadow: inset 0 -3px 0 var(--tsd-accent); }
body.tsd-shop.single-product .woocommerce-tabs .panel { color: var(--tsd-body); line-height: 1.7; }
body.tsd-shop.single-product .woocommerce-tabs .panel h2,
body.tsd-shop.single-product .woocommerce-tabs .panel h3,
body.tsd-shop.single-product .woocommerce-tabs .panel strong { color: var(--tsd-ink); }
body.tsd-shop.single-product .recently-viewed .klb-title,
body.tsd-shop.single-product .recently-viewed .module-header { font-family: var(--tsd-display); }
@media (max-width: 767px) {
	.tsd-buynow, body.tsd-shop.single-product form.cart .single_add_to_cart_button { flex-basis: 100%; }
	body.tsd-shop.single-product .woocommerce-tabs { padding: 4px 16px 20px; }
}

/* ---------- Side menu (drawer) ---------- */
.site-drawer { font-family: var(--tsd-text); }
.site-drawer .site-scroll { background: #FFFFFF; }
.site-drawer .site-drawer-header { padding: 18px 20px !important; border-bottom: 1px solid var(--tsd-line); background: linear-gradient(135deg, #EFF4FF 0%, #FFFFFF 70%); }
.site-drawer .site-close a { width: 38px; height: 38px; border-radius: 999px; background: #FFFFFF; border: 1px solid var(--tsd-line); display: inline-flex; align-items: center; justify-content: center; color: var(--tsd-ink) !important; transition: background-color .2s ease; }
.site-drawer .site-close a:hover { background: var(--tsd-accent-soft); }
.site-drawer .drawer-heading { display: block; padding: 22px 26px 8px !important; font: 700 11px/1 var(--tsd-text) !important; letter-spacing: .14em; text-transform: uppercase; color: var(--tsd-muted) !important; }
.site-drawer .klbth-menu > li { position: relative; }
.site-drawer .klbth-menu > li > a {
	display: flex !important; align-items: center; gap: 12px; margin: 2px 12px; padding: 12px 14px !important;
	border-radius: 12px; font: 600 15px/1.2 var(--tsd-text) !important; color: var(--tsd-ink) !important;
	transition: background-color .2s ease, color .2s ease;
}
.site-drawer .klbth-menu > li > a:hover,
.site-drawer .klbth-menu > li.current-menu-item > a,
.site-drawer .klbth-menu > li.current-menu-ancestor > a { background: var(--tsd-accent-soft); color: var(--tsd-accent-deep) !important; }
.site-drawer .categories .klbth-menu > li > a::before { content: ''; flex: none; width: 8px; height: 8px; border-radius: 3px; background: var(--tsd-accent); transform: rotate(45deg); }
.site-drawer .sub-menu { padding: 2px 0 6px !important; }
.site-drawer .sub-menu a { padding: 9px 14px 9px 44px !important; font: 500 14px/1.3 var(--tsd-text) !important; color: var(--tsd-body) !important; }
.site-drawer .sub-menu a:hover { color: var(--tsd-accent-ink) !important; }
.site-drawer .menu-dropdown { right: 22px !important; color: var(--tsd-muted); }
.site-drawer .site-drawer-footer { border-top: 1px solid var(--tsd-line); padding: 18px 26px !important; }
.site-drawer .site-drawer-footer, .site-drawer .site-drawer-footer p { font: 400 12px/1.5 var(--tsd-text) !important; color: var(--tsd-muted) !important; }
.site-drawer .klbth-menu > li > a i { color: var(--tsd-accent); }

/* ---------- Footer ---------- */
.site-footer { font-family: var(--tsd-text); }
.site-footer .footer-newsletter { background: var(--tsd-bg) !important; border: 0 !important; padding: 48px 0 !important; }
.site-footer .footer-newsletter .footer-inner { border: 0 !important; padding: 0 !important; }
.site-footer .klbth-newsletter {
	display: flex; flex-wrap: wrap; align-items: center; gap: 24px;
	background: linear-gradient(120deg, #1E3A8A 0%, #2563EB 60%, #3B82F6 100%);
	border-radius: 22px; padding: 34px 40px; color: #FFFFFF; box-shadow: var(--tsd-shadow);
}
.site-footer .klbth-newsletter .entry-subtitle { color: #BFDBFE !important; font-weight: 600; }
.site-footer .klbth-newsletter .entry-title { color: #FFFFFF !important; font-family: var(--tsd-display) !important; font-weight: 700 !important; }
.site-footer .klbth-newsletter .entry-description,
.site-footer .klbth-newsletter-form,
.site-footer .klbth-newsletter-form p,
.site-footer .klbth-newsletter-form a { color: #DBEAFE !important; }
.site-footer .mc4wp-form input[type="email"] { height: 52px; border: 0 !important; border-radius: 12px !important; padding: 0 16px; }
.site-footer .mc4wp-form input[type="submit"],
.site-footer .mc4wp-form button { height: 52px; border-radius: 12px !important; background: var(--tsd-ink) !important; color: #FFFFFF !important; font-weight: 600; border: 0 !important; }
.site-footer .footer-widgets,
.site-footer .subfooter,
.site-footer .footer-copyright { background: #0B1220 !important; }
.site-footer .footer-widgets { border-top: 3px solid var(--tsd-accent); padding-top: 24px; }
.site-footer .footer-widgets .widget-title,
.site-footer .footer-widgets h4,
.site-footer .footer-widgets h5 { font-family: var(--tsd-display) !important; font-size: 17px !important; color: #FFFFFF !important; letter-spacing: .01em; margin-bottom: 16px; }
.site-footer .footer-widgets,
.site-footer .footer-widgets p { color: #CBD5E1 !important; }
.site-footer .footer-widgets a { color: #CBD5E1 !important; transition: color .2s ease, padding-left .2s ease; }
.site-footer .footer-widgets ul a:hover { color: #FFFFFF !important; padding-left: 4px; }
.site-footer .footer-widgets a[href^="tel"],
.site-footer .footer-widgets a[href^="mailto"] { color: #60A5FA !important; font-weight: 600; }
.site-footer .footer-widgets .custom-column { border-color: rgba(255, 255, 255, .08) !important; }
.site-footer .subfooter .footer-inner { border-color: rgba(255, 255, 255, .08) !important; }
.site-footer .sub-banners li { color: #E2E8F0 !important; }
.site-footer .sub-banners li a { color: #60A5FA !important; }
.site-footer .footer-copyright { border-top: 1px solid rgba(255, 255, 255, .06); }
.site-footer .footer-copyright,
.site-footer .footer-copyright p { color: #94A3B8 !important; font-size: 13px; }
.site-footer .footer-copyright a { color: #CBD5E1 !important; }
.site-footer .footer-copyright a:hover { color: #FFFFFF !important; }
@media (max-width: 767px) {
	.site-footer .klbth-newsletter { padding: 24px 20px; border-radius: 18px; }
}

/* ---------- Checkout ---------- */
.tsd-secure { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0 0 12px; font: 500 13px/1.4 var(--tsd-text); color: var(--tsd-muted); }
.tsd-secure .tsd-ico { color: var(--tsd-ok); }
body.tsd-shop .wc-block-checkout__main .wc-block-components-checkout-step { padding-bottom: 8px; }
body.tsd-shop .wc-block-components-checkout-place-order-button { min-height: 56px; font-size: 17px !important; border-radius: 12px !important; }
body.tsd-shop .wc-block-components-text-input input,
body.tsd-shop .wc-block-components-combobox .wc-block-components-combobox-control input,
body.tsd-shop .wc-blocks-components-select .wc-blocks-components-select__select { min-height: 52px; }

body.tsd-shop form.cart button.tsd-buynow,
body.tsd-shop form.cart .tsd-buynow { background: #0F172A !important; color: #FFFFFF !important; border: 0 !important; border-radius: 12px !important; opacity: 1 !important; min-height: 56px; font: 600 17px/1 'Inter', system-ui, sans-serif !important; text-transform: none !important; }
body.tsd-shop form.cart .tsd-buynow:hover { background: #1E293B !important; }

.site-footer .klbth-newsletter > .column { flex: 1 1 340px; min-width: 0; max-width: none; padding: 0 !important; }
.site-footer .klbth-newsletter .klbth-newsletter-form { width: 100%; }
.site-footer .klbth-newsletter .mc4wp-form-fields { display: flex; gap: 8px; }
.site-footer .klbth-newsletter .mc4wp-form-fields input[type="email"] { flex: 1 1 auto; }

.site-footer .klbth-newsletter .mc4wp-form-fields { flex-wrap: wrap; }
.site-footer .klbth-newsletter .mc4wp-form-fields > p,
.site-footer .klbth-newsletter .mc4wp-form-fields > label,
.site-footer .klbth-newsletter .mc4wp-form-fields > div:not(:has(input)) { flex-basis: 100%; order: 3; margin: 4px 0 0; }
