/*
Theme Name: Tomatherm
Description: Vlastná téma pre Tomatherm.sk — vykurovanie a chladenie. Navrhnutá pre WooCommerce.
Author: Tomatherm
Version: 7.2
Requires PHP: 7.4
Text Domain: tomatherm
*/

/* ==========================================================
   DIZAJNOVÝ SYSTÉM
   ========================================================== */
:root {
  --ink: #131829;
  --paper: #F5F6F8;
  --white: #FFFFFF;
  --red: #C0321A;
  --red-soft: #FBEDE9;
  --blue: #2F6FB4;
  --blue-soft: #EAF2FA;
  --line: #DFE3EA;
  --muted: #5C6370;
}

*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }

body {
  background: var(--paper);
  color: var(--ink);
  font-family: 'Instrument Sans', system-ui, sans-serif;
  margin: 0;
}
.tt-display, h1, h2, h3, h4 {
  font-family: 'Archivo', sans-serif;
  letter-spacing: -0.03em;
  color: var(--ink);
}
.tt-mono { font-family: 'IBM Plex Mono', monospace; }
a { color: inherit; }
::selection { background: var(--red); color: #fff; }
.tt-container { max-width: 1152px; margin: 0 auto; padding: 0 20px; }

/* ---------- HLAVIČKA ---------- */
.tt-header { position: sticky; top: 0; z-index: 50; background: rgba(245,246,248,.92); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); }
.tt-header-row { height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.tt-logo { display: flex; align-items: center; gap: 14px; text-decoration: none; font-family: 'Archivo'; font-weight: 900; font-size: 30px; letter-spacing: -0.03em; }
.tt-logo img, .tt-logo .tt-logo-img, .custom-logo {
  height: 68px !important; width: 68px !important; max-width: 68px !important; object-fit: contain;
}
.tt-logo b { color: var(--red); font-weight: 900; }
.tt-search { flex: 1; max-width: 460px; position: relative; }
.tt-search input[type=search] { width: 100%; border: 1px solid var(--line); border-radius: 999px; padding: 12px 50px 12px 18px; font-size: 15px; background: #fff; box-sizing: border-box; }
.tt-search button { position: absolute; right: 5px; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; border: 0; border-radius: 999px; background: var(--red); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.tt-header-phone { font-family: 'IBM Plex Mono', monospace; font-size: 14px; text-decoration: none; }
.tt-cart-btn { background: var(--ink); color: #fff !important; text-decoration: none; font-size: 15px; font-weight: 600; padding: 12px 20px; border-radius: 2px; white-space: nowrap; }

/* pás kategórií — tmavý, kontrastný */
.tt-catbar { background: var(--ink); }
.tt-catbar-toggle { display: none; }
.tt-catbar nav { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
@media (min-width: 1024px) { .tt-catbar nav { flex-wrap: wrap; overflow-x: visible; justify-content: center; } }
.tt-catbar nav::-webkit-scrollbar { display: none; }
.tt-catbar a { white-space: nowrap; font-size: 14px; font-weight: 500; padding: 12px; border-bottom: 2px solid transparent; text-decoration: none; color: rgba(255,255,255,.85); }
.tt-catbar a:hover { color: #fff; }
.tt-catbar a.current { border-color: #F09E8C; color: #fff; font-weight: 700; }

/* ---------- TLAČIDLÁ ---------- */
.tt-btn { display: inline-block; padding: 13px 24px; border-radius: 2px; font-size: 14px; font-weight: 600; text-decoration: none; border: 0; cursor: pointer; }
.tt-btn-red { background: var(--red); color: #fff !important; }
.tt-btn-ink { background: var(--ink); color: #fff !important; }
.tt-btn-outline { background: transparent; color: var(--ink); border: 1px solid var(--ink); }

/* ---------- HERO ---------- */
.tt-hero { position: relative; overflow: hidden; }
.tt-hero-glow { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(900px 500px at 85% 20%, var(--red-soft), transparent 70%); transition: background 1s ease; }
.tt-hero.cool .tt-hero-glow { background: radial-gradient(900px 500px at 85% 20%, var(--blue-soft), transparent 70%); }
.tt-hero-grid { position: relative; display: grid; gap: 48px; padding-top: 14px; padding-bottom: 44px; }
@media (min-width: 900px) { .tt-hero-grid { grid-template-columns: 1fr 1fr; align-items: start; } }
.tt-eyebrow { font-family: 'IBM Plex Mono'; font-size: 12px; text-transform: uppercase; letter-spacing: .2em; color: var(--muted); margin: 0; }
.tt-hero h1 { font-size: clamp(2.4rem, 5.5vw, 4.2rem); font-weight: 900; line-height: .98; margin: 16px 0 0; }
.tt-hero h1 .accent { color: var(--red); transition: color .4s; }
.tt-hero.cool h1 .accent { color: var(--blue); }
.tt-hero-sub { margin-top: 24px; font-size: 18px; color: var(--muted); max-width: 430px; }
.tt-hero-ctas { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 12px; }
.tt-hero-trust { margin-top: 36px; display: flex; flex-wrap: wrap; gap: 8px 32px; font-size: 14px; color: var(--muted); }

/* pás značiek — hore v hero, 2 + 2 pod sebou */
.tt-hero-brands {
  position: relative;
  display: grid; grid-template-columns: repeat(2, minmax(0, max-content));
  align-items: center; justify-content: start;
  column-gap: 56px; row-gap: 18px;
  padding-top: 26px;
}
.tt-hero-brands img {
  height: 34px; width: auto; max-width: 180px; object-fit: contain;
  justify-self: start;
  transition: transform .25s ease;
}
.tt-hero-brands img:hover { transform: translateY(-2px); }
@media (max-width: 760px) {
  .tt-hero-brands { column-gap: 28px; row-gap: 12px; padding-top: 18px; }
  .tt-hero-brands img { height: 24px; max-width: 130px; }
}

/* termostat karta */
.tt-thermo-card { background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: 32px; box-shadow: 0 24px 60px rgba(19,24,41,.08); }
.tt-thermo-head { display: flex; justify-content: space-between; align-items: center; }
.tt-thermo-mode { font-family: 'IBM Plex Mono'; font-size: 12px; font-weight: 600; color: #fff; background: var(--red); padding: 4px 10px; border-radius: 2px; transition: background .4s; }
.tt-hero.cool .tt-thermo-mode { background: var(--blue); }
.tt-thermo-temp { font-family: 'IBM Plex Mono'; font-weight: 600; text-align: center; font-size: clamp(3.6rem, 8vw, 5.4rem); line-height: 1; margin: 20px 0; }
.tt-thermo-temp sup { font-size: .35em; color: var(--red); transition: color .4s; }
.tt-hero.cool .tt-thermo-temp sup { color: var(--blue); }
input[type=range].tt-thermo-slider { -webkit-appearance: none; appearance: none; width: 100%; height: 4px; border-radius: 2px; background: linear-gradient(90deg, var(--red), #D9DEE6 55%, var(--blue)); cursor: pointer; }
input[type=range].tt-thermo-slider::-webkit-slider-thumb { -webkit-appearance: none; width: 28px; height: 28px; border-radius: 50%; background: #fff; border: 3px solid var(--ink); box-shadow: 0 2px 10px rgba(19,24,41,.25); }
.tt-thermo-scale { display: flex; justify-content: space-between; font-family: 'IBM Plex Mono'; font-size: 12px; color: var(--muted); margin-top: 8px; }
.tt-thermo-note { text-align: center; font-size: 14px; color: var(--muted); margin-top: 20px; }

/* ---------- DOMČEK v termostate ---------- */
@media (min-width: 900px) {
  .tt-hero .tt-hero-grid > div:last-child { margin-top: -26px; }
}
.tt-thermo-wrap .tt-house { display: block; width: 100%; height: auto; margin-bottom: -6px; }
.tt-thermo-wrap .tt-h-win { fill: var(--red-soft); transition: fill .6s ease; }
.tt-thermo-wrap.cool .tt-h-win { fill: var(--blue-soft); }
.tt-thermo-wrap .tt-h-cool { opacity: 0; transition: opacity .5s ease; }
.tt-thermo-wrap .tt-h-heat { opacity: 1; transition: opacity .5s ease; }
.tt-thermo-wrap.cool .tt-h-cool { opacity: 1; }
.tt-thermo-wrap.cool .tt-h-heat { opacity: 0; }

/* prvá sekcia po hero — tesnejšie */
.tt-hero + .tt-section { padding-top: 36px; }

/* ---------- SEKCIE ---------- */
.tt-section { border-top: 1px solid var(--line); padding: 56px 0; }
.tt-section.white { background: #fff; }
.tt-section-head { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 36px; }
.tt-section-head h2 { font-size: clamp(1.8rem, 3.5vw, 2.5rem); font-weight: 900; margin: 0; }
.tt-section-head .tt-mono { font-size: 12px; text-transform: uppercase; letter-spacing: .15em; color: var(--muted); }

/* mriežky kariet */
.tt-grid { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .tt-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tt-grid-3 { grid-template-columns: repeat(3, 1fr); } .tt-grid-4 { grid-template-columns: repeat(4, 1fr); } }

/* karta kategórie */
.tt-cat-card { display: block; background: var(--paper); border: 1px solid var(--line); border-radius: 6px; padding: 24px; text-decoration: none; transition: transform .35s ease, box-shadow .35s ease; }
.tt-cat-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(19,24,41,.10); }
.tt-cat-card .spec { font-family: 'IBM Plex Mono'; font-size: 12px; color: var(--red); }
.tt-cat-card .name { font-family: 'Archivo'; font-weight: 700; font-size: 18px; margin-top: 8px; }
.tt-cat-card .note { font-size: 14px; color: var(--muted); margin-top: 4px; }
.tt-cat-card .go { font-family: 'IBM Plex Mono'; font-size: 12px; font-weight: 500; margin-top: 20px; }

/* ---------- WOOCOMMERCE ŠTÝLY ---------- */
/* mriežka */
.woocommerce ul.products { display: grid !important; gap: 16px; grid-template-columns: 1fr; margin: 0 !important; align-items: stretch; grid-auto-rows: 1fr; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; content: none !important; }
@media (min-width: 640px) { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; } }
@media (min-width: 1024px) { .woocommerce ul.products { grid-template-columns: repeat(3, 1fr) !important; }
  .woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, 1fr) !important; } }

/* karta: JEDEN jednotný vnútorný okraj pre všetok obsah */
.woocommerce ul.products li.product {
  position: relative;
  width: 100% !important; float: none !important; margin: 0 !important;
  background: #fff; border: 1px solid var(--line); border-radius: 6px;
  padding: 0 18px 18px !important;
  display: flex; flex-direction: column;
  font-size: 13px; color: var(--muted); text-align: left !important;
  transition: transform .35s ease, box-shadow .35s ease;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(19,24,41,.10); }
.woocommerce ul.products li.product > a { display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.woocommerce ul.products li.product > * { min-width: 0; }

/* fotka: plná šírka karty, pevná výška, biele pozadie splýva */
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
  width: calc(100% + 36px) !important; max-width: none !important;
  margin: 0 -18px 6px !important; display: block;
  height: 200px !important; min-height: 200px !important; max-height: 200px !important;
  object-fit: contain; background: #fff;
  mix-blend-mode: multiply; padding: 12px 8px 4px; aspect-ratio: auto !important;
}

/* texty v karte: nulové vlastné odsadenie -> všetko na jednej zvislici */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-family: 'Archivo'; font-weight: 700; font-size: 15px !important; line-height: 1.35;
  color: var(--ink); padding: 0 !important; margin: 8px 0 0 !important; overflow-wrap: anywhere;
}
.woocommerce ul.products li.product .price {
  font-family: 'Archivo'; font-weight: 900 !important; color: var(--ink) !important; font-size: 19px !important;
  padding: 0 !important; margin: 6px 0 0 !important; overflow-wrap: anywhere;
}
.woocommerce ul.products li.product .price del { color: var(--muted) !important; font-weight: 400 !important; font-size: 14px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product p { margin: 6px 0 0; }

/* tlačidlo vždy úplne dole, na celú šírku */
.woocommerce ul.products li.product .button {
  order: 99;
  margin: 12px 0 0 !important; padding: 11px 16px !important;
  background: var(--ink) !important; color: #fff !important;
  border-radius: 2px !important; font-weight: 600 !important; font-size: 14px !important;
  text-align: center; width: 100%; margin-top: auto !important;
}
/* wishlist (Pridaj do zoznamu…) — drobný riadok nad tlačidlom */
.woocommerce ul.products li.product .tinv-wishlist,
.woocommerce ul.products li.product div[class*="tinv"],
.woocommerce ul.products li.product a[class*="tinvwl"] {
  order: 98 !important; font-size: 12px !important; margin: 10px 0 0 !important; color: var(--muted) !important;
}

/* štítok zľavy: pravý horný roh karty */
.woocommerce ul.products li.product span.onsale, .woocommerce span.onsale {
  position: absolute; top: 12px; right: 12px; left: auto; margin: 0 !important; z-index: 2;
  background: var(--red) !important; border-radius: 2px !important; font-family: 'IBM Plex Mono';
  font-size: 11px !important; text-transform: uppercase; letter-spacing: .05em; padding: 4px 10px !important;
  min-height: 0 !important; min-width: 0 !important; line-height: 1.4 !important;
}

/* detail produktu */
.woocommerce div.product .product_title { font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 900; }
.woocommerce div.product p.price { font-family: 'Archivo'; font-weight: 900; color: var(--ink) !important; font-size: 28px; }
.woocommerce div.product p.price del { color: var(--muted) !important; font-weight: 400; font-size: 18px; }
.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #payment #place_order, .woocommerce-page #payment #place_order,
.wc-block-components-checkout-place-order-button, .wc-block-cart__submit-button {
  background: var(--red) !important; color: #fff !important; border-radius: 2px !important; font-weight: 600 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: #fff; }
.woocommerce div.product .woocommerce-product-gallery img { mix-blend-mode: multiply; }
/* tabuľky, formuláre, oznamy */
.woocommerce table.shop_table { border: 1px solid var(--line); border-radius: 6px; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--red) !important; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .select2-container--default .select2-selection--single {
  border: 1px solid var(--line); border-radius: 2px; padding: 10px 12px;
}
/* omrvinky */
.woocommerce .woocommerce-breadcrumb { font-family: 'IBM Plex Mono'; font-size: 12px; color: var(--muted); }
.woocommerce .woocommerce-breadcrumb a { color: var(--muted); }

/* ---------- DÔVERA / PÄTIČKA ---------- */
.tt-trust { background: var(--ink); color: #fff; }
.tt-trust-grid { display: grid; gap: 32px; padding-top: 56px; padding-bottom: 56px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .tt-trust-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tt-trust-grid { grid-template-columns: repeat(4, 1fr); } }
.tt-trust-n { font-family: 'Archivo'; font-weight: 900; font-size: 40px; color: #F09E8C; }
.tt-trust p { font-size: 14px; opacity: .8; margin: 8px 0 0; }

.tt-footer { background: var(--ink); color: #fff; }
.tt-footer a { color: rgba(255,255,255,.8); text-decoration: none; }
.tt-footer a:hover { color: #fff; }
.tt-footer-grid { display: grid; gap: 40px; padding-top: 56px; padding-bottom: 56px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .tt-footer-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tt-footer-grid { grid-template-columns: repeat(4, 1fr); } }
.tt-footer h4 { color: rgba(255,255,255,.6); font-family: 'IBM Plex Mono'; font-size: 12px; text-transform: uppercase; letter-spacing: .15em; font-weight: 500; margin: 0 0 12px; }
.tt-footer ul { list-style: none; margin: 0; padding: 0; }
.tt-footer li { margin: 8px 0; font-size: 14px; }
.tt-footer-bottom { border-top: 1px solid rgba(255,255,255,.12); padding-top: 20px; padding-bottom: 20px; font-size: 12px; opacity: .6; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }

/* ---------- KALKULAČKA (shortcode) ---------- */
.tt-calc { background: #fff; border: 1px solid var(--ink); border-radius: 4px; box-shadow: 6px 6px 0 var(--red-soft); max-width: 560px; }
.tt-calc-head { padding: 16px 24px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; font-family: 'Archivo'; font-weight: 700; }
.tt-calc-body { padding: 24px; }
.tt-calc label { font-size: 14px; font-weight: 500; display: block; margin-bottom: 8px; }
.tt-calc select { width: 100%; border: 1px solid var(--line); border-radius: 2px; padding: 10px 12px; font-size: 14px; background: #fff; }
.tt-calc-result { background: var(--red-soft); border-radius: 2px; padding: 20px; margin-top: 20px; }
.tt-calc-kw { font-family: 'Archivo'; font-weight: 900; font-size: 48px; }
.tt-calc-kw span { font-size: 22px; color: var(--red); }
.tt-calc-rec { font-size: 14px; margin-top: 14px; color: var(--muted); }
.tt-calc-reco { display: flex; gap: 14px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 4px; padding: 14px; margin-top: 14px; }
.tt-calc-reco-img { flex: none; width: 72px; height: 72px; display: flex; align-items: center; justify-content: center; }
.tt-calc-reco-img img { max-width: 100%; max-height: 72px; width: auto !important; height: auto !important; min-height: 0 !important; object-fit: contain; mix-blend-mode: multiply; margin: 0 !important; padding: 0 !important; }
.tt-calc-reco-info { min-width: 0; display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.tt-calc-reco-info > a { font-family: 'Archivo'; font-weight: 700; color: var(--ink); text-decoration: none; line-height: 1.3; }
.tt-calc-reco-price { font-weight: 700; }
.tt-calc-reco-price del { color: var(--muted); font-weight: 400; }
.tt-calc-reco-price ins { text-decoration: none; }
.tt-calc-reco-btn { align-self: flex-start; margin-top: 6px; padding: 9px 16px !important; font-size: 13px !important; }
.tt-calc-fuel { display: flex; gap: 8px; margin-top: 6px; }
.tt-calc-fuel button { flex: 1; padding: 10px 8px; font-family: 'Archivo'; font-weight: 700; font-size: 13px; background: #fff; border: 1px solid var(--line); border-radius: 4px; cursor: pointer; color: var(--muted); transition: border-color .15s, color .15s, box-shadow .15s; }
.tt-calc-fuel button:hover { border-color: var(--ink); color: var(--ink); }
.tt-calc-fuel button.on { border-color: var(--red); color: var(--red); box-shadow: inset 0 0 0 1px var(--red); background: var(--red-soft); }

/* cena bez DPH pod hlavnou cenou */
.tt-exvat { display: block; font-size: 13px; color: var(--muted); font-weight: 400; margin-top: 2px; }
.tt-sticky-buy-price .tt-exvat { font-size: 11px; margin-top: 0; }

/* mobil: nalepené tlačidlo Kúpiť na spodku (produktová stránka) */
.tt-sticky-buy { display: none; }
@media (max-width: 768px) {
	.tt-sticky-buy { position: fixed; left: 0; right: 0; bottom: 0; z-index: 999; display: flex; align-items: center; gap: 12px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--line); box-shadow: 0 -6px 20px rgba(0,0,0,.10); transform: translateY(110%); transition: transform .25s ease; }
	.tt-sticky-buy.show { transform: translateY(0); }
	.tt-sticky-buy-price { flex: 1; min-width: 0; font-family: 'Archivo'; font-weight: 900; font-size: 17px; color: var(--ink); line-height: 1.2; }
	.tt-sticky-buy-price del { display: none; }
	.tt-sticky-buy-price ins { text-decoration: none; }
	.tt-sticky-buy-price .woocommerce-price-suffix { font-size: 11px; font-weight: 400; color: var(--muted); display: block; }
	.tt-sticky-buy-btn { white-space: nowrap; padding: 13px 20px !important; font-size: 14px !important; }
	body.single-product { padding-bottom: 74px; }
}

/* ===== KROKY NÁKUPU (košík → doprava a platba → údaje → rekapitulácia) ===== */
.tt-steps { display: flex; list-style: none; margin: 0 0 28px; padding: 0; gap: 4px; counter-reset: none; }
.tt-steps li { flex: 1; display: flex; align-items: center; gap: 9px; padding: 12px 10px; background: #fff; border: 1px solid var(--line); border-radius: 6px; color: var(--muted); cursor: default; min-width: 0; }
.tt-steps li.done { cursor: pointer; }
.tt-steps li.done:hover { border-color: var(--ink); color: var(--ink); }
.tt-steps li.on { border-color: var(--red); color: var(--ink); box-shadow: inset 0 0 0 1px var(--red); }
.tt-steps-num { flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--paper); border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; font-family: 'Archivo'; font-weight: 800; font-size: 13px; }
.tt-steps li.on .tt-steps-num { background: var(--red); border-color: var(--red); color: #fff; }
.tt-steps li.done .tt-steps-num { background: #2E9E5B; border-color: #2E9E5B; color: #fff; }
.tt-steps-label { font-family: 'Archivo'; font-weight: 700; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 700px) {
	.tt-steps { flex-wrap: wrap; }
	.tt-steps li { flex: 1 1 46%; }
}

/* sprievodca na pokladni */
.tt-wizard-nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 24px; }
.tt-wizard-nav .tt-btn { padding: 13px 26px !important; font-size: 15px !important; border-radius: 4px !important; cursor: pointer; }
.tt-wizard-nav .tt-btn-outline { background: #fff; color: var(--ink); border: 1px solid var(--ink); }
.tt-wizard-nav .tt-btn-outline:hover { border-color: var(--red); color: var(--red); }
/* tlačidlo „Objednať" a súhlas s podmienkami až v poslednom kroku */
body.tt-wizard:not(.tt-step-final) #payment .place-order,
body.tt-wizard:not(.tt-step-final) #payment .woocommerce-terms-and-conditions-wrapper { display: none !important; }

/* ===== BANNER NA RECENZIU PO OBJEDNÁVKE ===== */
.tt-review-banner { display: flex; align-items: center; gap: 18px; margin: 0 0 28px; padding: 20px 24px; background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--red); border-radius: 8px; box-shadow: 0 8px 24px rgba(19,24,41,.06); }
.tt-review-stars { font-size: 22px; color: #F0A500; letter-spacing: 2px; flex: none; }
.tt-review-body { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.tt-review-body strong { font-family: 'Archivo'; font-weight: 800; font-size: 17px; }
.tt-review-body span { font-size: 14px; color: var(--muted); line-height: 1.55; }
.tt-review-btn { white-space: nowrap; padding: 12px 20px !important; font-size: 14px !important; border-radius: 6px !important; }
@media (max-width: 640px) {
	.tt-review-banner { flex-wrap: wrap; }
	.tt-review-stars { display: none; }
	.tt-review-btn { width: 100%; text-align: center; }
}

/* ===== SYSTÉMOVÉ HLÁŠKY WOOCOMMERCE — v štýle témy ===== */
.woocommerce-message, .woocommerce-info, .woocommerce-error,
ul.woocommerce-error li { font-family: 'Instrument Sans', system-ui, sans-serif; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border: 1px solid var(--line); border-top-width: 1px; border-radius: 8px;
	background: #fff; color: var(--ink); font-size: 14.5px; line-height: 1.5;
	padding: 14px 18px 14px 46px; margin-bottom: 20px; position: relative;
	box-shadow: 0 4px 14px rgba(19,24,41,.05);
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before {
	position: absolute; left: 15px; top: 13px; font-size: 16px; line-height: 1.4;
}
/* úspech — zelená */
.woocommerce-message { border-left: 4px solid #2E9E5B; }
.woocommerce-message::before { content: '✓'; color: #2E9E5B; font-weight: 900; }
/* informácia — tmavá */
.woocommerce-info { border-left: 4px solid var(--ink); }
.woocommerce-info::before { content: 'ℹ'; color: var(--ink); font-weight: 700; }
/* chyba — červená */
.woocommerce-error { border-left: 4px solid var(--red); list-style: none; }
.woocommerce-error::before { content: '!'; color: var(--red); font-weight: 900; }
.woocommerce-error li { margin: 0; }
/* odkazy a tlačidlá v hláškach */
.woocommerce-message a, .woocommerce-info a, .woocommerce-error a { color: var(--red); font-weight: 700; }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button {
	float: right; margin-left: 12px; background: #fff; color: var(--ink); border: 1px solid var(--ink);
	border-radius: 4px; font-family: 'Archivo'; font-weight: 700; font-size: 13px; padding: 8px 14px;
}
.woocommerce-message .button:hover, .woocommerce-info .button:hover { border-color: var(--red); color: var(--red); background: #fff; }

/* ===== KOŠÍK — jednoduché rozloženie pod sebou, vzhľad v štýle témy ===== */
.woocommerce-cart .tt-container { max-width: 860px; }

/* karta s položkami */
.woocommerce-cart form.woocommerce-cart-form { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 8px 20px 16px; margin-bottom: 28px; }
.woocommerce-cart table.shop_table.cart { border: none; margin: 0; }
.woocommerce-cart table.cart th { font-family: 'IBM Plex Mono', monospace; font-size: 11px; text-transform: uppercase; letter-spacing: .12em; color: var(--muted); font-weight: 600; border-bottom: 1px solid var(--line); padding: 14px 8px; }
.woocommerce-cart table.cart td { border-top: none; border-bottom: 1px solid var(--line); padding: 16px 8px; vertical-align: middle; background: transparent; }
.woocommerce-cart table.cart tr:last-child td { border-bottom: none; }
.woocommerce-cart table.cart td.product-name a { font-family: 'Archivo'; font-weight: 700; color: var(--ink); text-decoration: none; }
.woocommerce-cart table.cart td.product-name a:hover { color: var(--red); }
.woocommerce-cart table.cart td.product-price, .woocommerce-cart table.cart td.product-subtotal { font-weight: 700; white-space: nowrap; }

/* odstránenie položky */
.woocommerce-cart table.cart a.remove { width: 30px; height: 30px; line-height: 28px; font-size: 18px; color: var(--muted) !important; border: 1px solid var(--line); border-radius: 50%; background: #fff; transition: .15s; }
.woocommerce-cart table.cart a.remove:hover { color: #fff !important; background: var(--red); border-color: var(--red); }

/* počet kusov */
.woocommerce-cart table.cart .quantity .qty { width: 64px; height: 40px; border: 1px solid var(--line); border-radius: 4px; font-family: 'Archivo'; font-weight: 700; font-size: 15px; text-align: center; }
.woocommerce-cart table.cart .quantity .qty:focus { border-color: var(--red); outline: none; }

/* tlačidlo aktualizácie */
.woocommerce-cart table.cart td.actions { padding-top: 16px; }
.woocommerce-cart table.cart td.actions .button { background: #fff; color: var(--ink); border: 1px solid var(--ink); border-radius: 4px; font-family: 'Archivo'; font-weight: 700; font-size: 13px; padding: 11px 18px; transition: .15s; }
.woocommerce-cart table.cart td.actions .button:hover:not(:disabled) { border-color: var(--red); color: var(--red); }
.woocommerce-cart table.cart td.actions .button:disabled { opacity: .45; border-color: var(--line); }

/* súhrn košíka — karta na celú šírku pod položkami */
.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 22px 22px 20px; box-shadow: 0 8px 24px rgba(19,24,41,.06); }
.woocommerce-cart .cart_totals h2 { margin: 0 0 14px; }
.woocommerce-cart .cart_totals table { margin-bottom: 16px; }
.woocommerce-cart .cart_totals table th { font-family: 'IBM Plex Mono', monospace; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); font-weight: 600; border: none; padding: 10px 0; }
.woocommerce-cart .cart_totals table td { border: none; border-bottom: 1px solid var(--line); padding: 10px 0 10px 10px; font-size: 14px; }
.woocommerce-cart .cart_totals table tr:last-child td { border-bottom: none; }
.woocommerce-cart .cart_totals .order-total td { font-family: 'Archivo'; font-weight: 900; font-size: 19px; color: var(--ink); }
.woocommerce-cart .wc-proceed-to-checkout { padding: 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { width: 100%; text-align: center; font-size: 16px !important; padding: 16px 20px !important; border-radius: 6px !important; }

/* dôveryhodnostný riadok pod pokladňou */
.tt-cart-trust { display: flex; flex-direction: column; gap: 6px; margin-top: 14px; font-size: 13px; color: var(--muted); }

/* odporúčania pod všetkým */
.woocommerce-cart .tt-cart-recos { clear: both; }

@media (max-width: 640px) {
	.woocommerce-cart form.woocommerce-cart-form { padding: 4px 12px 12px; }

}

/* ===== ZORADENIE A POČET VÝSLEDKOV VO VÝPISOCH — v štýle témy ===== */
.woocommerce .woocommerce-ordering { margin-bottom: 24px; }
.woocommerce .woocommerce-ordering select.orderby {
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	background: #fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23131829' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center;
	border: 1px solid var(--line); border-radius: 4px;
	font-family: 'Archivo'; font-weight: 700; font-size: 13.5px; color: var(--ink);
	padding: 11px 40px 11px 14px; cursor: pointer;
	transition: border-color .15s, box-shadow .15s;
}
.woocommerce .woocommerce-ordering select.orderby:hover { border-color: var(--ink); }
.woocommerce .woocommerce-ordering select.orderby:focus { outline: none; border-color: var(--red); box-shadow: 0 0 0 3px rgba(192,50,26,.12); }
.woocommerce .woocommerce-result-count { font-family: 'IBM Plex Mono', monospace; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); padding-top: 13px; }

/* stránkovanie vo výpisoch produktov — v štýle témy */
.woocommerce nav.woocommerce-pagination { margin: 36px 0 8px; text-align: center; }
.woocommerce nav.woocommerce-pagination ul { border: none; display: inline-flex; gap: 6px; margin: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: none; overflow: visible; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: flex; align-items: center; justify-content: center;
	min-width: 42px; height: 42px; padding: 0 12px;
	background: #fff; border: 1px solid var(--line); border-radius: 4px;
	font-family: 'Archivo'; font-weight: 700; font-size: 14px;
	color: var(--ink); text-decoration: none; line-height: 1;
	transition: border-color .15s, color .15s, background .15s;
}
.woocommerce nav.woocommerce-pagination ul li a:hover { border-color: var(--red); color: var(--red); background: #fff; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--red); border-color: var(--red); color: #fff; }
.woocommerce nav.woocommerce-pagination ul li a.next,
.woocommerce nav.woocommerce-pagination ul li a.prev { font-size: 16px; }

/* stránkovanie vo výpisoch produktov — koniec */

/* propagácia kalkulačky */
.tt-calc-promo { display: flex; align-items: center; gap: 16px; width: 100%; margin: 0 0 24px; padding: 16px 20px; background: var(--red-soft, #fdf0ee); border: 1px solid var(--red); border-radius: 6px; text-decoration: none; color: var(--ink); transition: box-shadow .15s; }
.tt-calc-promo:hover { box-shadow: 0 4px 14px rgba(0,0,0,.08); }
.tt-calc-promo-ico { font-size: 26px; line-height: 1; }
.tt-calc-promo-txt { display: flex; flex-direction: column; gap: 3px; flex: 1; }
.tt-calc-promo-txt strong { font-family: 'Archivo'; font-weight: 800; font-size: 16px; }
.tt-calc-promo-txt span { font-size: 13px; color: var(--muted); }
.tt-calc-promo-btn { white-space: nowrap; padding: 10px 18px !important; font-size: 13px !important; }
@media (max-width: 640px) { .tt-calc-promo { flex-wrap: wrap; } .tt-calc-promo-btn { width: 100%; text-align: center; } }
.tt-calc-note { display: block; margin: 14px 0 0; padding: 12px 14px; background: #fff; border: 1px dashed var(--line); border-radius: 4px; font-size: 13.5px; color: var(--ink); text-decoration: none; }
.tt-calc-note:hover { border-color: var(--red); }
.tt-calc-note u { color: var(--red); font-weight: 700; }

/* prepínač Kotol / Klíma na domovskej */
.tt-calc-tabs { display: flex; gap: 8px; margin-bottom: 14px; }
.tt-calc-tabs button { flex: 1; padding: 12px 10px; font-family: 'Archivo'; font-weight: 800; font-size: 14px; background: #fff; border: 1px solid var(--line); border-radius: 6px 6px 0 0; border-bottom-width: 3px; cursor: pointer; color: var(--muted); transition: border-color .15s, color .15s; }
.tt-calc-tabs button:hover { color: var(--ink); }
.tt-calc-tabs button.on { color: var(--red); border-bottom-color: var(--red); }

/* reklamný banner kalkulačky na vrchu domovskej */
.tt-calc-banner { display: flex; align-items: center; gap: 18px; margin: 18px 0 6px; padding: 20px 24px; background: linear-gradient(120deg, var(--red) 0%, #8f2110 100%); border-radius: 10px; color: #fff; text-decoration: none; box-shadow: 0 8px 24px rgba(192,50,26,.28); position: relative; overflow: hidden; transition: transform .15s, box-shadow .15s; }
.tt-calc-banner::after { content: ''; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: rgba(255,255,255,.08); pointer-events: none; }
.tt-calc-banner:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(192,50,26,.36); }
.tt-calc-banner-body { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.tt-calc-banner-body strong { font-family: 'Archivo'; font-weight: 900; font-size: clamp(17px, 2.2vw, 21px); line-height: 1.2; }
.tt-calc-banner-body span { font-size: 14px; opacity: .88; }
.tt-calc-banner-btn { background: #fff !important; color: var(--red) !important; border: none !important; font-weight: 800 !important; white-space: nowrap; padding: 13px 22px !important; border-radius: 6px !important; }
.tt-calc-banner:hover .tt-calc-banner-btn { background: #ffe9e4 !important; }
@media (max-width: 640px) {
	.tt-calc-banner { flex-wrap: wrap; padding: 18px; }
	.tt-calc-banner-btn { width: 100%; text-align: center; }
}

/* blog — výpis */
.tt-blog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.tt-blog-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; text-decoration: none; color: var(--ink); transition: box-shadow .15s, transform .15s; }
.tt-blog-card:hover { box-shadow: 0 8px 22px rgba(0,0,0,.08); transform: translateY(-2px); }
.tt-blog-thumb img { width: 100%; height: 180px; object-fit: cover; display: block; }
.tt-blog-card-body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 8px; }
.tt-blog-card-body h2 { font-family: 'Archivo'; font-weight: 800; font-size: 18px; line-height: 1.3; margin: 0; }
.tt-blog-card-body p { font-size: 14px; color: var(--muted); margin: 0; line-height: 1.55; }
.tt-blog-date { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.tt-blog-more { font-size: 13px; font-weight: 700; color: var(--red); margin-top: 4px; }
.tt-blog-pager { margin-top: 32px; text-align: center; }
.tt-blog-pager .page-numbers { display: inline-block; padding: 8px 14px; border: 1px solid var(--line); border-radius: 4px; margin: 0 3px; text-decoration: none; color: var(--ink); font-size: 14px; }
.tt-blog-pager .page-numbers.current { border-color: var(--red); color: var(--red); font-weight: 700; }

/* blog — článok */
.tt-post { max-width: 760px; }
.tt-post-head h1 { font-family: 'Archivo'; font-weight: 900; font-size: clamp(1.7rem, 3.4vw, 2.4rem); line-height: 1.15; margin: 10px 0 0; }
.tt-post-hero { margin: 26px 0; }
.tt-post-hero img { width: 100%; height: auto; border-radius: 8px; display: block; }
.tt-post-content { font-size: 17px; line-height: 1.75; color: var(--ink); }
.tt-post-content h2 { font-family: 'Archivo'; font-weight: 800; font-size: 24px; margin: 36px 0 12px; }
.tt-post-content h3 { font-family: 'Archivo'; font-weight: 800; font-size: 19px; margin: 28px 0 10px; }
.tt-post-content p { margin: 0 0 18px; }
.tt-post-content ul, .tt-post-content ol { margin: 0 0 18px; padding-left: 24px; }
.tt-post-content li { margin-bottom: 8px; }
.tt-post-content img { max-width: 100%; height: auto; border-radius: 6px; }
.tt-post-content a { color: var(--red); }
.tt-post-content blockquote { border-left: 3px solid var(--red); margin: 24px 0; padding: 4px 0 4px 18px; color: var(--muted); font-style: italic; }
.tt-post-calc { margin-top: 36px; }
.tt-post-author { display: flex; gap: 16px; align-items: flex-start; margin-top: 28px; padding: 20px 22px; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.tt-post-author-badge { flex: 0 0 52px; height: 52px; border-radius: 50%; background: var(--red); color: #fff; font-family: 'Archivo'; font-weight: 900; font-size: 19px; display: flex; align-items: center; justify-content: center; }
.tt-post-author-badge::after { content: ''; }
.tt-post-author strong { font-family: 'Archivo'; font-weight: 800; font-size: 15px; }
.tt-post-author p { margin: 6px 0 0; font-size: 14px; color: var(--muted); line-height: 1.55; }
.tt-post-author a { color: var(--red); }
.tt-post-related { margin-top: 44px; }
.tt-post-related > h2 { font-family: 'Archivo'; font-weight: 800; font-size: 22px; margin: 0 0 18px; }

/* ---------- KURZORY VO FORMULÁROCH (oprava "zakázaného" kurzora) ---------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form input[type=text], .woocommerce form input[type=email],
.woocommerce form input[type=tel], .woocommerce form input[type=password],
.woocommerce form input[type=number], .woocommerce form textarea {
  cursor: text !important;
}
.woocommerce form .form-row select, .woocommerce form select,
.select2-container, .select2-container .select2-selection--single,
.woocommerce form .form-row label,
.woocommerce input[type=checkbox], .woocommerce input[type=radio],
.woocommerce button, .woocommerce .button {
  cursor: pointer !important;
}
.woocommerce form .form-row { cursor: auto !important; }
/* prekrytie počas prepočtu pokladne nech neblokuje kurzor natrvalo */
.woocommerce .blockUI.blockOverlay { cursor: progress !important; }

/* ---------- KLASICKÝ KOŠÍK A POKLADŇA ---------- */
.woocommerce-cart .tt-container h1, .woocommerce-checkout .tt-container h1 { font-weight: 900; }
.woocommerce table.shop_table { background: #fff; }
.woocommerce table.shop_table th { font-family: 'Archivo'; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; }
.woocommerce-cart table.cart img { width: 64px; mix-blend-mode: multiply; }
.woocommerce-cart .cart_totals, .woocommerce-checkout #order_review {
  background: #fff; border: 1px solid var(--ink); border-radius: 6px; padding: 20px;
}
.woocommerce .cart_totals h2, .woocommerce #order_review_heading { font-size: 20px; font-weight: 900; }
.woocommerce form .form-row label { font-size: 14px; font-weight: 500; }
.woocommerce-checkout #payment { background: var(--paper) !important; border-radius: 6px; }
.woocommerce-checkout #payment div.payment_box { background: #fff !important; border: 1px solid var(--line); }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce a.remove { color: var(--red) !important; }
.woocommerce a.remove:hover { background: var(--red) !important; }

/* ==========================================================
   RESPONZIVITA — mobil a tablet
   ========================================================== */

/* tablet a menej */
@media (max-width: 1023px) {
  .tt-hero-grid { padding-top: 34px; padding-bottom: 48px; gap: 36px; }
  .tt-section { padding: 44px 0; }
  .tt-trust-grid, .tt-footer-grid { padding-top: 44px; padding-bottom: 44px; }
  .tt-calc { max-width: 100%; }
}

/* mobil */
@media (max-width: 760px) {
  .tt-container { padding: 0 22px; }

  /* hlavička: logo + košík hore, vyhľadávanie pod nimi na celú šírku */
  .tt-header-row { height: auto; flex-wrap: wrap; padding: 10px 0; gap: 10px; }
  .tt-logo { font-size: 23px; }
  .tt-logo img, .tt-logo .tt-logo-img { height: 48px !important; width: 48px !important; max-width: 48px !important; }
  .tt-header-phone { display: none; }
  .tt-cart-btn { margin-left: auto; padding: 8px 12px; font-size: 13px; }
  .tt-search { order: 3; flex-basis: 100%; max-width: none; }

  /* pás kategórií: tlačidlo + rozbaľovací panel so všetkými kategóriami */
  .tt-catbar-toggle {
    display: flex; align-items: center; gap: 8px;
    width: 100%; padding: 12px 0; border: 0; background: none;
    font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 14px; color: #fff;
    cursor: pointer; text-align: left;
  }
  .tt-catbar-toggle .tt-catbar-arrow { margin-left: auto; transition: transform .25s ease; }
  .tt-catbar-toggle.open .tt-catbar-arrow { transform: rotate(180deg); }
  .tt-catbar nav { display: none; }
  .tt-catbar nav.open {
    display: grid; grid-template-columns: 1fr 1fr; gap: 4px;
    padding: 4px 0 14px; overflow: visible;
  }
  .tt-catbar nav.open a {
    white-space: normal; padding: 11px 12px; font-size: 13px; line-height: 1.3;
    background: rgba(255,255,255,.10); border-radius: 4px; border-bottom: 0; color: #fff;
  }
  .tt-catbar nav.open a.current { background: var(--red); color: #fff; font-weight: 700; }

  /* hero */
  .tt-hero-grid { padding-top: 20px; padding-bottom: 36px; gap: 28px; }
  .tt-hero h1 { font-size: clamp(1.9rem, 8.4vw, 2.5rem); }
  .tt-hero-sub { padding-right: 6px; }
  .tt-hero-sub { font-size: 16px; margin-top: 16px; }
  .tt-hero-ctas .tt-btn { width: 100%; text-align: center; }
  .tt-hero-trust { gap: 6px 20px; font-size: 13px; }
  .tt-thermo-card { padding: 22px 18px; }

  /* sekcie a mriežky */
  .tt-section { padding: 36px 0; }
  .tt-section-head { margin-bottom: 24px; }
  .tt-grid { gap: 12px; }
  .tt-cat-card { padding: 18px; }
  .tt-trust-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; padding-top: 36px; padding-bottom: 36px; }
  .tt-trust-n { font-size: 30px; }

  /* produkty: 2 stĺpce aj na mobile, kompaktnejšie karty */
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 10px; }
  .woocommerce ul.products li.product { padding: 0 12px 12px !important; }
  .woocommerce ul.products li.product img,
  .woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
    width: calc(100% + 24px) !important; margin: 0 -12px 4px !important;
    height: 140px !important; min-height: 140px !important; max-height: 140px !important;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product h2 { font-size: 13px !important; }
  .woocommerce ul.products li.product .price { font-size: 16px !important; }
  .woocommerce ul.products li.product .button { padding: 9px 10px !important; font-size: 13px !important; }

  /* kalkulačka */
  .tt-calc-head { padding: 14px 16px; font-size: 15px; }
  .tt-calc-body { padding: 16px; }
  .tt-calc-kw { font-size: 38px; }
  .tt-calc-reco { flex-wrap: wrap; }

  /* košík a pokladňa */
  .woocommerce table.shop_table { font-size: 14px; }
  .woocommerce-cart table.cart img { width: 48px; }

  /* popup */
  .tt-upsell-foot { justify-content: stretch; }
  .tt-upsell-foot .tt-btn { flex: 1; text-align: center; }

  /* pätička */
  .tt-footer-grid { padding-top: 36px; padding-bottom: 36px; gap: 28px; }
  .tt-footer-bottom { flex-direction: column; }
}

/* veľmi malé displeje */
@media (max-width: 380px) {
  .woocommerce ul.products { grid-template-columns: 1fr !important; }
  .tt-trust-grid { grid-template-columns: 1fr; }
}

/* ==========================================================
   DETAIL PRODUKTU — upratanie a krajší popis + technické údaje
   ========================================================== */

/* skry cudzie tlačidlá pluginov (Compare, druhý Wishlist) — duplikujú funkcie */
.single-product [class*="woosc"], .single-product [class*="woosw"],
.single-product [class*="compare"], .single-product [class*="wishlist-button"],
.single-product .yith-wcwl-add-to-wishlist, .single-product .yith-compare,
.single-product .summary .compare, .single-product a.compare,
.single-product .tinv-wraper + .tinv-wraper,
.tt-hidden-plugin-btn { display: none !important; }

/* wishlist: jeden decentný riadok */
.single-product .summary .tinv-wraper { margin: 10px 0 0; }
.single-product .summary .tinvwl_add_to_wishlist_button { font-size: 13px !important; color: var(--muted) !important; }

/* rozloženie súhrnu */
.single-product div.product .summary > * { margin-bottom: 14px; }
.single-product div.product p.price { margin: 6px 0 4px; }
.single-product div.product .woocommerce-product-details__short-description {
  font-size: 15px; line-height: 1.65; color: var(--muted);
}
.single-product div.product .woocommerce-product-details__short-description ul { padding-left: 0; list-style: none; margin: 12px 0 0; }
.single-product div.product .woocommerce-product-details__short-description li {
  position: relative; padding-left: 22px; margin: 6px 0;
}
.single-product div.product .woocommerce-product-details__short-description li::before {
  content: "✓"; position: absolute; left: 0; color: var(--red); font-weight: 700;
}

/* množstvo + Do košíka v jednom rade, poriadne veľké */
.single-product div.product form.cart { display: flex; align-items: stretch; gap: 10px; margin: 18px 0 6px; }
.single-product div.product form.cart .quantity .qty {
  height: 100%; min-height: 48px; width: 70px; border: 1px solid var(--line); border-radius: 2px;
  font-family: 'IBM Plex Mono', monospace; font-size: 15px; text-align: center;
}
.single-product div.product form.cart .button {
  flex: 1; max-width: 280px; min-height: 48px; font-size: 15px !important; letter-spacing: .01em;
}

/* meta (EAN, katalógové číslo, kategórie): čistý blok s riadkami */
.single-product .product_meta {
  display: block; border: 1px solid var(--line); border-radius: 6px;
  padding: 4px 16px; margin-top: 18px !important; font-size: 13px; background: #fff;
}
.single-product .product_meta > span {
  display: flex; gap: 8px; flex-wrap: wrap; align-items: baseline;
  padding: 9px 0; border-bottom: 1px solid var(--line);
}
.single-product .product_meta > span:last-child { border-bottom: 0; }
.single-product .product_meta > span::before { display: none; }
.single-product .product_meta .sku_wrapper .sku { font-family: 'IBM Plex Mono', monospace; color: var(--ink); }
.single-product .product_meta a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--line); }
.single-product .product_meta a:hover { border-color: var(--ink); }

/* značky (tag cloud) preč — desiatky SEO odkazov na detaile pôsobia lacno */
.single-product .product_meta .tagged_as { display: none !important; }

/* záložky Popis / Technické údaje */
.woocommerce div.product .woocommerce-tabs { margin-top: 34px; }
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0 !important; margin: 0 0 -1px !important; border-bottom: 1px solid var(--line);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-bottom: 1px solid var(--line) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important; border: 0 !important; border-radius: 0 !important;
  margin: 0 !important; padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: inline-block; padding: 12px 18px !important; font-family: 'Archivo';
  font-weight: 700 !important; font-size: 14px; color: var(--muted) !important;
  border-bottom: 2px solid transparent !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--ink) !important; border-bottom-color: var(--red) !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
  background: #fff; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 6px 6px;
  padding: 26px !important; margin: 0 !important; line-height: 1.7;
}
.woocommerce div.product .woocommerce-tabs .panel h2:first-of-type { display: none; } /* duplicitný nadpis "Popis" */
.woocommerce div.product .woocommerce-tabs .panel h2, .woocommerce div.product .woocommerce-tabs .panel h3 {
  font-size: 18px; font-weight: 800; margin: 22px 0 8px;
}
.woocommerce div.product .woocommerce-tabs .panel p { margin: 0 0 12px; color: #3a4150; }
.woocommerce div.product .woocommerce-tabs .panel ul { margin: 0 0 14px; padding-left: 0; list-style: none; }
.woocommerce div.product .woocommerce-tabs .panel ul li { position: relative; padding-left: 22px; margin: 5px 0; }
.woocommerce div.product .woocommerce-tabs .panel ul li::before {
  content: "•"; position: absolute; left: 6px; color: var(--red); font-weight: 700;
}

/* technické údaje (tabuľka vlastností) */
.woocommerce table.woocommerce-product-attributes { border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.woocommerce table.woocommerce-product-attributes th,
.woocommerce table.woocommerce-product-attributes td {
  border: 0 !important; border-bottom: 1px solid var(--line) !important; padding: 11px 16px !important;
  font-style: normal !important;
}
.woocommerce table.woocommerce-product-attributes tr:last-child th,
.woocommerce table.woocommerce-product-attributes tr:last-child td { border-bottom: 0 !important; }
.woocommerce table.woocommerce-product-attributes tr:nth-child(even) { background: var(--paper); }
.woocommerce table.woocommerce-product-attributes th {
  width: 40%; font-family: 'IBM Plex Mono', monospace; font-size: 12px; text-transform: uppercase;
  letter-spacing: .06em; color: var(--muted) !important; font-weight: 500 !important;
}
.woocommerce table.woocommerce-product-attributes td { color: var(--ink); font-weight: 600; }
.woocommerce table.woocommerce-product-attributes td p { margin: 0 !important; }

/* mobil */
@media (max-width: 760px) {
  .single-product div.product form.cart { flex-wrap: wrap; }
  .single-product div.product form.cart .button { max-width: none; flex-basis: 100%; }
  .woocommerce div.product .woocommerce-tabs .panel { padding: 18px !important; }
  .woocommerce table.woocommerce-product-attributes th { width: 46%; }
}

/* ==========================================================
   GALÉRIA PRODUKTU — vlastná, nezávislá od Woo slidera
   ========================================================== */
.woocommerce div.product div.images.woocommerce-product-gallery { opacity: 1 !important; }

.woocommerce div.product div.images {
  position: relative;
  background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: 22px;
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper img {
  max-height: 420px !important; width: auto !important; max-width: 100% !important; height: auto !important;
  margin: 0 auto; display: block; object-fit: contain; mix-blend-mode: multiply;
}

/* štítok zľavy v rohu fotky, nie cez celú šírku */
.single-product div.product span.onsale {
  position: absolute !important; top: 14px; right: 14px; left: auto !important;
  width: auto !important; margin: 0 !important; z-index: 3;
}
.single-product div.product { position: relative; }

/* dvojstĺpcové rozloženie s explicitnými pozíciami */
@media (min-width: 900px) {
  .single-product div.product {
    display: grid !important;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    column-gap: 44px; align-items: start;
  }
  .single-product div.product > div.images   { grid-column: 1; grid-row: 2; float: none !important; width: auto !important; margin: 0 !important; }
  .single-product div.product > div.summary  { grid-column: 2; grid-row: 2; float: none !important; width: auto !important; margin: 0 !important; }
  .single-product div.product > .woocommerce-notices-wrapper { grid-column: 1 / -1; grid-row: 1; }
  .single-product div.product > *:not(.images):not(.summary):not(.woocommerce-notices-wrapper):not(.onsale) { grid-column: 1 / -1; }
  .single-product div.product > div.images { position: sticky; top: 120px; }
}
@media (max-width: 899px) {
  .woocommerce div.product div.images { margin-bottom: 20px !important; }
  .woocommerce div.product div.images .woocommerce-product-gallery__wrapper img { max-height: 300px !important; }
}

/* šípka späť na detaile produktu */
.tt-back {
  display: inline-flex; align-items: center; gap: 8px;
  margin: 0 0 18px; padding: 8px 14px;
  background: #fff; border: 1px solid var(--line); border-radius: 999px;
  font-size: 13px; font-weight: 600; color: var(--muted); text-decoration: none;
  transition: color .2s ease, border-color .2s ease;
}
.tt-back:hover { color: var(--ink); border-color: var(--ink); }

/* Domov v páse kategórií */
.tt-catbar a.tt-cat-home { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
@media (max-width: 760px) {
  .tt-catbar nav.open a.tt-cat-home { grid-column: 1 / -1; justify-content: center; background: rgba(255,255,255,.16); }
}

/* ==========================================================
   DETAIL PRODUKTU v6.3 — definitívne rozloženie a galéria
   ========================================================== */
/* neviditeľné pomocné prvky Woo sa v mriežke správajú ako bunky — preč */
.single-product div.product::before,
.single-product div.product::after { display: none !important; content: none !important; }

@media (min-width: 900px) {
  .single-product div.product {
    display: grid !important;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr) !important;
    column-gap: 44px !important;
    align-items: start !important;
    position: relative !important;
  }
  .single-product div.product > div.images {
    grid-column: 1 !important; grid-row: 2 !important;
    float: none !important; width: 100% !important; margin: 0 !important;
  }
  .single-product div.product > div.summary {
    grid-column: 2 !important; grid-row: 2 !important;
    float: none !important; width: 100% !important; margin: 0 !important;
  }
  .single-product div.product > .woocommerce-notices-wrapper { grid-column: 1 / -1 !important; grid-row: 1 !important; }
  .single-product div.product > *:not(.images):not(.summary):not(.woocommerce-notices-wrapper):not(.onsale) {
    grid-column: 1 / -1 !important;
  }
}

/* biela karta galérie + hlavná fotka v rozumnej veľkosti */
.single-product div.product div.images {
  background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: 18px;
}
.single-product div.product div.images .woocommerce-product-gallery__image img,
.single-product div.product div.images .flex-viewport img {
  max-height: 420px !important; width: auto !important; max-width: 100% !important;
  margin: 0 auto !important; object-fit: contain; mix-blend-mode: multiply;
}

/* miniatúry Woo slidera — dlaždice v štýle webu */
.single-product div.product div.images .flex-control-thumbs {
  display: flex; gap: 8px; flex-wrap: wrap; margin: 14px 0 0; padding: 0; list-style: none;
}
.single-product div.product div.images .flex-control-thumbs li {
  width: 64px !important; height: 64px; float: none !important; margin: 0 !important;
  border: 1px solid var(--line); border-radius: 4px; overflow: hidden; background: #fff;
}
.single-product div.product div.images .flex-control-thumbs li img {
  width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply;
  opacity: .6; cursor: pointer; padding: 4px; box-sizing: border-box;
}
.single-product div.product div.images .flex-control-thumbs li img.flex-active,
.single-product div.product div.images .flex-control-thumbs li:hover img { opacity: 1; }
.single-product div.product div.images .flex-control-thumbs li:has(img.flex-active) { border-color: var(--red); }

/* mobil */
@media (max-width: 899px) {
  .single-product div.product div.images { margin-bottom: 20px !important; }
  .single-product div.product div.images .woocommerce-product-gallery__image img,
  .single-product div.product div.images .flex-viewport img { max-height: 300px !important; }
}

/* poistky v6.4: zoom a výška slidera nasilu */
.single-product .zoomImg { display: none !important; }
.single-product div.product div.images .flex-viewport { height: auto !important; max-height: none !important; }
.single-product div.product div.images .woocommerce-product-gallery__image a { pointer-events: auto; }

/* fyzický dvojstĺpec detailu produktu */
.tt-cols {
  display: grid; grid-template-columns: 1fr; gap: 24px; align-items: start;
}
@media (min-width: 900px) {
  .tt-cols { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); column-gap: 44px; }
}
.tt-cols > .images, .tt-cols > .woocommerce-product-gallery, .tt-cols > .summary {
  float: none !important; width: 100% !important; max-width: none !important; margin: 0 !important;
}

/* ==========================================================
   Galéria pluginu "Additional Variation Images Gallery"
   — veľkosť, miniatúry a vypnutie plávajúceho zoomu
   ========================================================== */
.tt-cols .woo-variation-product-gallery,
.tt-cols [class*="woo-variation-gallery"] {
  width: 100% !important; max-width: 100% !important; float: none !important;
  background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: 18px;
}
.tt-cols [class*="woo-variation-gallery"] img {
  max-height: 420px !important; width: auto !important; max-width: 100% !important;
  margin: 0 auto !important; object-fit: contain; mix-blend-mode: multiply;
}
/* miniatúry (slick) */
.tt-cols .wvg-gallery-thumbnail-image,
.tt-cols [class*="woo-variation-gallery-thumbnail"] img {
  max-height: 64px !important; border: 1px solid var(--line); border-radius: 4px;
  opacity: .65; padding: 3px; box-sizing: border-box; background: #fff;
}
.tt-cols .slick-current .wvg-gallery-thumbnail-image,
.tt-cols [class*="woo-variation-gallery-thumbnail"]:hover img { opacity: 1; border-color: var(--red); }

/* zoom vrstvy tohto pluginu (drift) — žiadne plávanie fotky */
.drift-zoom-pane, .drift-bounding-box { display: none !important; }
.woo-variation-gallery-zoom img { cursor: default !important; }

/* štítok ZĽAVA! v rohu fotky */
.tt-onsale-in-gallery, .tt-cols span.onsale {
  position: absolute !important; top: 12px !important; right: 12px !important; left: auto !important;
  bottom: auto !important; margin: 0 !important; z-index: 5;
}

/* Poradňa: kalkulačky symetricky */
.page-template-template-poradna .tt-hero-grid { align-items: stretch !important; }
.page-template-template-poradna .tt-calc { max-width: 100%; height: 100%; display: flex; flex-direction: column; }
.page-template-template-poradna .tt-calc-body { flex: 1; }
