/* ============================================================
   TECO CRIS — Design System
   Brand: Forest Green #1B4332 · Near-black #111111 · Off-white #F5F4F0
   Mobile-first · No framework
   ============================================================ */

/* ============================================================
   1. DESIGN TOKENS
   ============================================================ */
:root {
  /* Brand colors */
  --tc-bg:           #F5F4F0;
  --tc-surface:      #FFFFFF;
  --tc-text:         #111111;
  --tc-text-muted:   #5F5F5C;   /* ≈5.6:1 pe alb — AA body */
  --tc-text-light:   #76766F;   /* ≈4.5:1 pe alb — AA (era #9A9A96, ~2.8:1, pica) */
  --tc-accent:       #1B4332;
  --tc-accent-h:     #2D6A4F;
  --tc-accent-lt:    #D8F3DC;
  --tc-accent-mid:   #52B788;
  --tc-border:       #E0DFDB;
  --tc-border-h:     #C8C7C1;

  /* Hero / dark surfaces */
  --tc-dark:         #0D1B12;
  --tc-dark-2:       #162A1C;

  /* Semantic */
  --tc-success:      #16A34A;
  --tc-error:        #DC2626;
  --tc-danger:       #DC2626;   /* alias semantic „destructiv" — folosit la remove/clear */
  --tc-error-wash:   rgba(220,38,38,.08);
  --tc-whatsapp:     #25D366;
  --tc-whatsapp-h:   #1DA951;

  /* Washes accent reutilizabile (evită rgba hardcodat repetat) */
  --tc-accent-wash:  rgba(27,67,50,.07);
  --tc-focus-ring:   0 0 0 3px rgba(27,67,50,.18);

  /* Typography */
  --tc-font-head:    'Montserrat', -apple-system, sans-serif;
  --tc-font-body:    'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

  /* Scală tipografică — o singură rampă coerentă (px @16 în comentariu) */
  --tc-fs-2xs:       .6875rem;  /* 11 — badges, micro-labels */
  --tc-fs-xs:        .75rem;    /* 12 — meta, counts, eyebrows */
  --tc-fs-sm:        .8125rem;  /* 13 — body secundar, chips */
  --tc-fs-md:        .875rem;   /* 14 — body mic, text carduri */
  --tc-fs-base:      1rem;      /* 16 — body */
  --tc-fs-lg:        1.0625rem; /* 17 — titluri carduri */
  --tc-fs-xl:        1.25rem;   /* 20 — sub-titluri */
  --tc-fs-2xl:       1.375rem;  /* 22 — titluri secțiune mici */
  --tc-fs-3xl:       1.5rem;    /* 24 — titluri secțiune */
  --tc-fs-4xl:       2rem;      /* 32 — numere statistici */

  /* Layout */
  --tc-container:    1280px;
  --tc-px:           16px;

  /* Scală de spațiere (grid 4px / ritm 8pt) */
  --tc-space-1:      4px;
  --tc-space-2:      8px;
  --tc-space-3:      12px;
  --tc-space-4:      16px;
  --tc-space-5:      20px;
  --tc-space-6:      24px;
  --tc-space-8:      32px;
  --tc-space-10:     40px;
  --tc-space-12:     48px;
  --tc-space-16:     64px;
  --tc-space-20:     80px;
  --tc-radius-xs:    4px;
  --tc-radius-sm:    8px;
  --tc-radius-md:    10px;
  --tc-radius:       12px;
  --tc-radius-lg:    16px;
  --tc-radius-xl:    24px;
  --tc-radius-pill:  999px;

  /* Shadows */
  --tc-shadow-xs:    0 1px 2px rgba(0,0,0,.05);
  --tc-shadow-sm:    0 1px 4px rgba(0,0,0,.07), 0 2px 8px rgba(0,0,0,.05);
  --tc-shadow:       0 4px 16px rgba(0,0,0,.09), 0 2px 6px rgba(0,0,0,.05);
  --tc-shadow-md:    0 8px 28px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.06);
  --tc-shadow-lg:    0 20px 56px rgba(0,0,0,.16), 0 4px 16px rgba(0,0,0,.08);

  /* Header */
  --tc-topbar-h:     36px;
  --tc-header-h:     64px;
  --tc-nav-h:        0px;

  /* Transitions */
  --tc-ease:         .16s cubic-bezier(.4,0,.2,1);
}

@media (min-width: 1024px) {
  :root {
    --tc-px:         32px;
    --tc-header-h:   76px;
    --tc-nav-h:      50px;
  }
}

/* ============================================================
   2. RESET & BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  font-size: 16px;
}

body {
  font-family: var(--tc-font-body);
  font-size: var(--tc-fs-base);
  line-height: 1.6;
  color: var(--tc-text);
  background: var(--tc-bg);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button { cursor: pointer; border: none; background: none; font: inherit; }
input, textarea, select { font: inherit; }

/* Selecție text în brand */
::selection { background: var(--tc-accent-lt); color: var(--tc-accent); }

/* Skip-link: ascuns până la focus cu tastatura, apoi apare sus-stânga */
.tc-skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 2000;
  padding: 10px 18px;
  background: var(--tc-accent);
  color: #fff;
  font-weight: 600;
  border-radius: var(--tc-radius-sm);
  box-shadow: var(--tc-shadow-md);
  transform: translateY(-200%);
  transition: transform var(--tc-ease);
}
.tc-skip-link:focus { transform: translateY(0); }

/* Focus vizibil global — un singur inel consistent pentru tot ce e focusabil.
   :focus-visible => nu apare la click cu mouse-ul, doar la navigare cu tastatura. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--tc-accent);
  outline-offset: 2px;
  border-radius: 3px;
}
/* Pe suprafețe închise (hero, footer, drawer, dark CTA) inelul verde dispare — folosim alb */
:where(.tc-hero, .tc-footer, .tc-drawer, .tc-about-cta, .tc-topbar)
  :where(a, button, input):focus-visible {
  outline-color: #fff;
}

/* Respectă preferința de mișcare redusă a sistemului */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* ============================================================
   3. TYPOGRAPHY
   ============================================================ */
h1, h2, h3, h4, h5 {
  font-family: var(--tc-font-head);
  font-weight: 700;
  line-height: 1.18;
  color: var(--tc-text);
}

.tc-heading-xl { font-size: clamp(2rem, 5vw, 3rem); letter-spacing: -.03em; }
.tc-heading-lg { font-size: clamp(1.625rem, 3vw, 2.25rem); letter-spacing: -.02em; }
.tc-heading-md { font-size: clamp(1.25rem, 2vw, 1.625rem); letter-spacing: -.015em; }
.tc-heading-sm { font-size: var(--tc-fs-lg); letter-spacing: -.01em; }
.tc-text-sm    { font-size: var(--tc-fs-md); }
.tc-text-xs    { font-size: var(--tc-fs-xs); }

/* ============================================================
   4. LAYOUT
   ============================================================ */
.tc-container {
  width: 100%;
  max-width: var(--tc-container);
  margin: 0 auto;
  padding: 0 var(--tc-px);
}

.tc-section {
  padding: 56px 0;
}

@media (min-width: 768px) {
  .tc-section { padding: 80px 0; }
}

.tc-section--white { background: var(--tc-surface); }
.tc-section--dark  { background: var(--tc-dark); color: #fff; }

.tc-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 32px;
}

.tc-section-title {
  font-family: var(--tc-font-head);
  font-size: clamp(1.375rem, 2.5vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -.02em;
}

.tc-section-title span { color: var(--tc-accent); }

.tc-section-link {
  font-size: var(--tc-fs-md);
  font-weight: 600;
  color: var(--tc-accent);
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
  transition: gap var(--tc-ease);
}

.tc-section-link:hover { gap: 8px; }
.tc-section-link svg   { width: 14px; height: 14px; flex-shrink: 0; }

/* ============================================================
   5. BUTTONS
   ============================================================ */
.tc-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: var(--tc-radius-sm);
  font-family: var(--tc-font-body);
  font-size: var(--tc-fs-base);
  font-weight: 600;
  line-height: 1;
  transition: background var(--tc-ease), transform var(--tc-ease), box-shadow var(--tc-ease);
  white-space: nowrap;
}

.tc-btn--primary {
  background: var(--tc-accent);
  color: #fff;
  box-shadow: 0 2px 8px rgba(27,67,50,.3);
}

.tc-btn--primary:hover {
  background: var(--tc-accent-h);
  box-shadow: 0 4px 16px rgba(27,67,50,.4);
  transform: translateY(-1px);
}

.tc-btn--ghost {
  background: transparent;
  color: var(--tc-accent);
  border: 1.5px solid var(--tc-accent);
}

.tc-btn--ghost:hover {
  background: var(--tc-accent-lt);
}

/* Buton „soft-disabled": rămâne clickabil (handler-ul ghidează userul), dar arată inactiv. */
.tc-btn.is-disabled,
.tc-btn[aria-disabled="true"] {
  opacity: .45;
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
}
.tc-btn.is-disabled:hover { transform: none; }

.tc-btn--white {
  background: #fff;
  color: var(--tc-accent);
  box-shadow: var(--tc-shadow-sm);
}

.tc-btn--white:hover {
  background: var(--tc-accent-lt);
  transform: translateY(-1px);
}

.tc-btn--lg {
  padding: 15px 28px;
  font-size: var(--tc-fs-base);
  border-radius: var(--tc-radius);
}

.tc-btn svg { width: 16px; height: 16px; flex-shrink: 0; }

/* ============================================================
   6. TOP BAR
   ============================================================ */
.tc-topbar {
  height: var(--tc-topbar-h);
  background: var(--tc-dark);
  color: rgba(255,255,255,.75);
  font-size: var(--tc-fs-xs);
  display: flex;
  align-items: center;
}

.tc-topbar .tc-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.tc-topbar__promo strong { color: #fff; }

.tc-topbar__right {
  display: flex;
  align-items: center;
  gap: 20px;
}

.tc-topbar__phone {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #fff;
  font-weight: 600;
  white-space: nowrap;
  transition: color var(--tc-ease);
}

.tc-topbar__phone:hover { color: var(--tc-accent-mid); }
.tc-topbar__phone svg  { width: 13px; height: 13px; }

.tc-topbar__hours { display: none; }

@media (min-width: 640px) {
  .tc-topbar__hours { display: block; }
}

/* ============================================================
   7. HEADER
   ============================================================ */
.tc-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--tc-surface);
  border-bottom: 1px solid var(--tc-border);
  box-shadow: var(--tc-shadow-xs);
  height: var(--tc-header-h);
}

.tc-header__inner {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 16px;
}

/* Logo */
.tc-logo {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  line-height: 1;
  text-decoration: none;
}

.tc-logo__name {
  font-family: var(--tc-font-head);
  font-weight: 800;
  font-size: var(--tc-fs-xl);
  letter-spacing: -.01em;
  color: var(--tc-text);
  text-transform: uppercase;
}

.tc-logo__tagline {
  font-size: var(--tc-fs-2xs);
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--tc-text-muted);
  margin-top: 2px;
}

@media (min-width: 1024px) {
  .tc-logo__name { font-size: var(--tc-fs-3xl); }
  .tc-logo__tagline { font-size: var(--tc-fs-2xs); }
}

/* Search */
.tc-search {
  flex: 1;
  display: none;
  max-width: 560px;
}

@media (min-width: 768px) { .tc-search { display: flex; } }
/* Pe ecrane largi lasă search-ul să umple golul dintre logo și coș (header echilibrat). */
@media (min-width: 1280px) { .tc-search { max-width: 760px; } }

.tc-search__form {
  display: flex;
  width: 100%;
  border: 1.5px solid var(--tc-border);
  border-radius: var(--tc-radius-sm);
  overflow: hidden;
  background: var(--tc-bg);
  transition: border-color var(--tc-ease), box-shadow var(--tc-ease);
}

.tc-search__form:focus-within {
  border-color: var(--tc-accent);
  box-shadow: var(--tc-focus-ring);
}

.tc-search__input {
  flex: 1;
  padding: 10px 14px;
  background: transparent;
  border: none;
  outline: none;
  font-size: var(--tc-fs-md);
  color: var(--tc-text);
}

.tc-search__input::placeholder { color: var(--tc-text-light); }

/* Buton „x" de clear (nativ) recolorat — implicit e gri/albastru și abia se vede.
   Header (fundal deschis) → negru; hero (fundal închis) → alb. */
.tc-search__input::-webkit-search-cancel-button,
.tc-livesearch::-webkit-search-cancel-button,
.tc-hero__search input::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  cursor: pointer;
  background: no-repeat center / contain;
}
.tc-search__input::-webkit-search-cancel-button,
.tc-livesearch::-webkit-search-cancel-button {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M6 18L18 6'/%3E%3C/svg%3E");
}
.tc-hero__search input::-webkit-search-cancel-button {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M6 18L18 6'/%3E%3C/svg%3E");
}

.tc-search__btn {
  padding: 0 16px;
  background: var(--tc-accent);
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: background var(--tc-ease);
}

.tc-search__btn:hover { background: var(--tc-accent-h); }
.tc-search__btn svg   { width: 16px; height: 16px; }

/* ── Live search (autocomplete dropdown) ─────────────────────── */
.tc-livesearch-host { position: relative; }

.tc-search-suggest {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 200;
  background: #fff;
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius-sm);
  box-shadow: 0 16px 40px rgba(0,0,0,.16);
  overflow: hidden;
  max-height: min(70vh, 460px);
  overflow-y: auto;
  display: none;
}
.tc-search-suggest.is-open { display: block; }

/* Pe mobil host-ul (#tc-mobile-search) are padding lateral; aliniază dropdown-ul la input. */
.tc-mobile-search .tc-search-suggest {
  left: var(--tc-px);
  right: var(--tc-px);
  top: calc(100% - 6px);
}

.tc-suggest-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--tc-bg);
  cursor: pointer;
  text-align: left;
  width: 100%;
  background: transparent;
  border-left: 0; border-right: 0; border-top: 0;
}
.tc-suggest-item:last-of-type { border-bottom: none; }
.tc-suggest-item:hover,
.tc-suggest-item.is-active { background: var(--tc-accent-wash); }

.tc-suggest-item__img {
  width: 44px; height: 44px;
  flex-shrink: 0;
  border-radius: 8px;
  background: var(--tc-bg);
  object-fit: contain;
  border: 1px solid var(--tc-border);
}
.tc-suggest-item__img--ph {
  display: flex; align-items: center; justify-content: center;
  color: var(--tc-text-light);
}
.tc-suggest-item__img--ph svg { width: 20px; height: 20px; }

.tc-suggest-item__txt { min-width: 0; flex: 1; }
.tc-suggest-item__brand {
  display: block;
  font-size: .72rem; font-weight: 600; text-transform: uppercase;
  letter-spacing: .03em; color: var(--tc-accent); margin: 0 0 1px;
}
.tc-suggest-item__name {
  display: block;
  font-size: var(--tc-fs-sm); color: var(--tc-text); margin: 0;
  font-weight: 500;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.tc-suggest-msg {
  padding: 16px 14px; font-size: var(--tc-fs-sm); color: var(--tc-text-muted);
}

.tc-suggest-more {
  display: block;
  padding: 11px 14px;
  font-size: var(--tc-fs-sm);
  font-weight: 600;
  color: var(--tc-accent);
  background: var(--tc-bg);
  text-align: center;
  border-top: 1px solid var(--tc-border);
  position: sticky;
  bottom: 0;
}
.tc-suggest-more:hover { background: var(--tc-accent-lt); }

/* Header actions */
.tc-header__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

.tc-search-icon-btn {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--tc-radius-sm);
  color: var(--tc-text-muted);
  transition: background var(--tc-ease), color var(--tc-ease);
}

.tc-search-icon-btn:hover { background: var(--tc-bg); color: var(--tc-text); }
.tc-search-icon-btn svg   { width: 19px; height: 19px; }

@media (min-width: 768px) { .tc-search-icon-btn { display: none; } }

/* Cart button */
.tc-cart-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  background: var(--tc-accent);
  color: #fff;
  border-radius: var(--tc-radius-sm);
  font-size: var(--tc-fs-md);
  font-weight: 600;
  position: relative;
  transition: background var(--tc-ease), transform var(--tc-ease);
}

.tc-cart-btn:hover { background: var(--tc-accent-h); transform: translateY(-1px); }
.tc-cart-btn svg   { width: 18px; height: 18px; }

.tc-cart-count {
  background: #fff;
  color: var(--tc-accent);
  font-size: var(--tc-fs-xs);
  font-weight: 800;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.tc-cart-btn__label { display: none; }

@media (min-width: 480px) { .tc-cart-btn__label { display: block; } }

/* Hamburger */
.tc-menu-toggle {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.tc-menu-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--tc-text);
  border-radius: 2px;
  transition: transform var(--tc-ease), opacity var(--tc-ease);
}

.tc-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.tc-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.tc-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (min-width: 1024px) { .tc-menu-toggle { display: none; } }

/* Mobile search expand */
.tc-mobile-search {
  display: none;
  padding: 12px var(--tc-px);
  background: var(--tc-surface);
  border-top: 1px solid var(--tc-border);
}

.tc-mobile-search.is-open { display: block; }
@media (min-width: 768px) { .tc-mobile-search { display: none !important; } }

/* ============================================================
   8. DESKTOP NAV
   ============================================================ */
.tc-nav {
  background: var(--tc-surface);
  border-bottom: 1px solid var(--tc-border);
  display: none;
  position: sticky;
  top: var(--tc-header-h);
  z-index: 99;
}

@media (min-width: 1024px) { .tc-nav { display: block; } }

.tc-nav__inner {
  display: flex;
  align-items: center;
  gap: 4px;
  height: var(--tc-nav-h);
}

.tc-nav__mega-wrap {
  align-self: stretch;
  display: flex;
}

.tc-all-cats {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 18px;
  font-size: var(--tc-fs-md);
  font-weight: 700;
  background: var(--tc-accent);
  color: #fff;
  border-radius: 0;
  transition: background var(--tc-ease);
  white-space: nowrap;
}

.tc-all-cats:hover { background: var(--tc-accent-h); }
.tc-all-cats svg   { width: 16px; height: 16px; }

.tc-all-cats__chev {
  width: 12px !important;
  height: 12px !important;
  margin-left: auto;
  transition: transform var(--tc-ease);
}

.tc-all-cats[aria-expanded="true"] .tc-all-cats__chev { transform: rotate(180deg); }

.tc-nav__sep {
  width: 1px;
  height: 20px;
  background: var(--tc-border);
  margin: 0 4px;
}

.tc-nav__list {
  display: flex;
  align-items: center;
  height: 100%;
  gap: 2px;
}

.tc-nav__link {
  padding: 0 12px;
  height: 100%;
  display: flex;
  align-items: center;
  font-size: var(--tc-fs-md);
  font-weight: 500;
  color: var(--tc-text-muted);
  transition: color var(--tc-ease);
  white-space: nowrap;
}

.tc-nav__link:hover { color: var(--tc-accent); }
.tc-nav__link--active { color: var(--tc-accent); font-weight: 700; box-shadow: inset 0 -2px 0 var(--tc-accent); }

.tc-nav__offer-btn {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 16px;
  font-size: var(--tc-fs-sm);
  font-weight: 600;
  color: var(--tc-accent);
  border: 1.5px solid var(--tc-accent);
  border-radius: var(--tc-radius-xs);
  transition: background var(--tc-ease), color var(--tc-ease);
}

.tc-nav__offer-btn:hover { background: var(--tc-accent); color: #fff; }
.tc-nav__offer-btn svg   { width: 14px; height: 14px; }

/* ============================================================
   9. MEGA MENU
   ============================================================ */
.tc-mega-menu {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  background: var(--tc-surface);
  border-top: 1px solid var(--tc-border);
  border-bottom: 1px solid var(--tc-border);
  box-shadow: var(--tc-shadow-lg);
  display: none;
  z-index: 98;
}

.tc-mega-menu.is-open { display: block; }

/* Backdrop */
.tc-mega-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.35);
  z-index: 97;
  backdrop-filter: blur(2px);
}

.tc-mega-backdrop.is-open { display: block; }

/* Mega-menu two-pane: sidebar categorii principale (stânga) + panou subcategorii la hover (dreapta) */
.tc-mega {
  position: relative;
  display: flex;
  min-height: 430px;
}

.tc-mega__nav {
  width: 296px;
  flex-shrink: 0;
  border-right: 1px solid var(--tc-border);
  padding: 14px 0;
}

.tc-mega__navlink {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 9px 18px 9px 24px;
  font-size: var(--tc-fs-md);
  font-weight: 600;
  color: var(--tc-text);
  transition: background var(--tc-ease), color var(--tc-ease);
}

.tc-mega__navicon {
  width: 28px;
  height: 28px;
  border-radius: var(--tc-radius-xs);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: var(--tc-accent-lt);
  color: var(--tc-accent);
  transition: background var(--tc-ease), color var(--tc-ease);
}

.tc-mega__navicon svg { width: 15px; height: 15px; }

.tc-mega__navtext { flex: 1; min-width: 0; }

.tc-mega__navchev {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: var(--tc-accent);
  opacity: 0;
  transition: opacity var(--tc-ease);
}

.tc-mega__panel {
  display: none;
  flex-direction: column;
  position: absolute;
  top: 0;
  left: 296px;
  right: 0;
  bottom: 0;
  padding: 20px 30px;
  overflow-y: auto;
}

.tc-mega__panel-title {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  font-family: var(--tc-font-head);
  font-size: var(--tc-fs-base);
  font-weight: 700;
  color: var(--tc-text);
  margin-bottom: 16px;
  padding-bottom: 9px;
  border-bottom: 2px solid var(--tc-accent);
  transition: color var(--tc-ease);
}

.tc-mega__panel-title span {
  font-family: var(--tc-font-body);
  font-size: var(--tc-fs-xs);
  font-weight: 500;
  color: var(--tc-text-light);
}

.tc-mega__panel-title:hover { color: var(--tc-accent); }

.tc-mega__panel-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px 28px;
  align-content: start;
}

.tc-mega__panel-grid a {
  display: block;
  padding: 7px 10px;
  border-radius: var(--tc-radius-xs);
  font-size: var(--tc-fs-sm);
  color: var(--tc-text-muted);
  transition: background var(--tc-ease), color var(--tc-ease);
}

.tc-mega__panel-grid a:hover { background: var(--tc-bg); color: var(--tc-accent); }

/* starea activă — setată de JS pe mouseenter (și pe prima categorie la deschidere) */
.tc-mega__navitem.is-active .tc-mega__navlink { background: var(--tc-bg); color: var(--tc-accent); }
.tc-mega__navitem.is-active .tc-mega__navicon { background: var(--tc-accent); color: #fff; }
.tc-mega__navitem.is-active .tc-mega__navchev { opacity: 1; }
.tc-mega__navitem.is-active .tc-mega__panel { display: flex; }

/* Card business pinned la baza panoului (umple zona albă rămasă) */
.tc-mega__cta {
  margin-top: 24px;
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 24px 28px;
  background: var(--tc-dark);
  border-radius: var(--tc-radius);
  color: #fff;
}

.tc-mega__cta-info { flex: 1; min-width: 0; }

.tc-mega__cta-badge {
  display: inline-block;
  font-size: var(--tc-fs-2xs);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--tc-accent-mid);
  margin-bottom: 8px;
}

.tc-mega__cta-title {
  display: block;
  font-family: var(--tc-font-head);
  font-size: var(--tc-fs-lg);
  font-weight: 700;
  color: #fff;
  line-height: 1.25;
  margin-bottom: 6px;
}

.tc-mega__cta-text {
  display: block;
  font-size: var(--tc-fs-sm);
  color: rgba(255,255,255,.7);
  line-height: 1.5;
  max-width: 54ch;
}

.tc-mega__cta-contact {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 13px;
  padding-left: 30px;
  border-left: 1px solid rgba(255,255,255,.14);
}

.tc-mega__cta-phone { display: flex; align-items: center; gap: 12px; color: #fff; }
.tc-mega__cta-phone svg { width: 24px; height: 24px; flex-shrink: 0; color: var(--tc-accent-mid); }
.tc-mega__cta-phone span { display: flex; flex-direction: column; line-height: 1.15; }
.tc-mega__cta-phone small { font-size: var(--tc-fs-2xs); color: rgba(255,255,255,.55); font-weight: 500; }
.tc-mega__cta-phone b { font-family: var(--tc-font-head); font-size: var(--tc-fs-base); font-weight: 700; }

.tc-mega__cta-hours { font-size: var(--tc-fs-2xs); color: rgba(255,255,255,.5); }

.tc-mega__cta-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 18px;
  background: var(--tc-accent);
  color: #fff;
  border-radius: var(--tc-radius-xs);
  font-size: var(--tc-fs-sm);
  font-weight: 600;
  transition: background var(--tc-ease);
}

.tc-mega__cta-btn svg { width: 16px; height: 16px; }
.tc-mega__cta-btn:hover { background: var(--tc-accent-h); }

@media (max-width: 1100px) { .tc-mega__nav { width: 252px; } .tc-mega__panel { left: 252px; } }

/* ============================================================
   10. MOBILE DRAWER
   ============================================================ */
.tc-drawer-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 199;
  backdrop-filter: blur(2px);
}

.tc-drawer-overlay.is-open { display: block; }

.tc-drawer {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 300px;
  max-width: 90vw;
  background: var(--tc-dark);
  z-index: 200;
  display: flex;
  flex-direction: column;
  transform: translateX(-100%);
  visibility: hidden;
  transition: transform .28s cubic-bezier(.4,0,.2,1), visibility 0s linear .28s;
}

.tc-drawer.is-open { transform: translateX(0); visibility: visible; transition: transform .28s cubic-bezier(.4,0,.2,1); }

.tc-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.tc-drawer__close {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.6);
  border-radius: var(--tc-radius-xs);
  transition: color var(--tc-ease), background var(--tc-ease);
}

.tc-drawer__close:hover { color: #fff; background: rgba(255,255,255,.1); }
.tc-drawer__close svg   { width: 18px; height: 18px; }

.tc-drawer__scroll {
  flex: 1;
  overflow-y: auto;
  padding: 16px 0;
}

.tc-drawer__section-label {
  font-size: var(--tc-fs-2xs);
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.35);
  padding: 0 20px 8px;
}

.tc-drawer__nav-list { padding-bottom: 8px; }

.tc-drawer__nav-item a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  font-size: var(--tc-fs-base);
  font-weight: 500;
  color: rgba(255,255,255,.8);
  transition: background var(--tc-ease), color var(--tc-ease);
}

.tc-drawer__nav-item a:hover {
  background: rgba(255,255,255,.06);
  color: #fff;
}

.tc-cat-icon {
  width: 32px;
  height: 32px;
  border-radius: var(--tc-radius-xs);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.tc-cat-icon svg { width: 16px; height: 16px; }

.tc-icon--green,
.tc-icon--amber,
.tc-icon--blue,
.tc-icon--purple,
.tc-icon--red,
.tc-icon--cyan,
.tc-icon--slate  { background: rgba(27,67,50,.07); color: var(--tc-accent); }

.tc-drawer__footer {
  padding: 16px 20px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.tc-drawer__footer a {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-weight: 600;
  font-size: var(--tc-fs-base);
}

.tc-drawer__footer svg { width: 16px; height: 16px; color: var(--tc-accent-mid); }

/* ============================================================
   11. CART SIDEBAR
   ============================================================ */
.tc-cart-sidebar {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 400px;
  max-width: 100vw;
  background: var(--tc-surface);
  z-index: 200;
  display: flex;
  flex-direction: column;
  box-shadow: var(--tc-shadow-lg);
  transform: translateX(100%);
  visibility: hidden;
  transition: transform .28s cubic-bezier(.4,0,.2,1), visibility 0s linear .28s;
}

.tc-cart-sidebar.is-open { transform: translateX(0); visibility: visible; transition: transform .28s cubic-bezier(.4,0,.2,1); }

.tc-cart-sidebar__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--tc-border);
}

.tc-cart-sidebar__title {
  font-family: var(--tc-font-head);
  font-size: var(--tc-fs-lg);
  font-weight: 700;
}

.tc-cart-sidebar__close {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--tc-radius-sm);
  color: var(--tc-text-muted);
  transition: background var(--tc-ease), color var(--tc-ease);
}

.tc-cart-sidebar__close:hover { background: var(--tc-bg); color: var(--tc-text); }
.tc-cart-sidebar__close svg   { width: 18px; height: 18px; }

.tc-cart-sidebar__body {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
}

.tc-cart-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 100%;
  text-align: center;
  color: var(--tc-text-muted);
}

.tc-cart-empty svg {
  width: 48px;
  height: 48px;
  color: var(--tc-border-h);
  margin: 0 auto;
}

.tc-cart-empty p { font-size: var(--tc-fs-md); }

.tc-cart-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid var(--tc-border);
}

.tc-cart-item:last-child { border-bottom: none; }

.tc-cart-item__img {
  width: 56px;
  height: 56px;
  border-radius: var(--tc-radius-xs);
  background: var(--tc-bg);
  border: 1px solid var(--tc-border);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--tc-border-h);
  overflow: hidden;
}
.tc-cart-item__img--photo img { width: 100%; height: 100%; object-fit: contain; }

.tc-cart-item__img svg { width: 24px; height: 24px; }

.tc-cart-item__info { flex: 1; min-width: 0; }

.tc-cart-item__brand { font-size: var(--tc-fs-xs); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--tc-accent); }

.tc-cart-item__name { font-size: var(--tc-fs-md); font-weight: 600; margin-top: 2px; line-height: 1.3; }

.tc-cart-item__qty {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

/* Buton cantitate — definiție unică (folosit în coș + cerere-ofertă) */
.tc-qty-btn {
  width: 30px;
  height: 30px;
  border: 1.5px solid var(--tc-border);
  border-radius: var(--tc-radius-md);
  background: var(--tc-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--tc-fs-md);
  font-weight: 600;
  color: var(--tc-text);
  transition: background var(--tc-ease), border-color var(--tc-ease), color var(--tc-ease);
}

.tc-qty-btn:hover { background: var(--tc-accent-lt); border-color: var(--tc-accent); color: var(--tc-accent); }

.tc-qty-val { font-size: var(--tc-fs-md); font-weight: 600; min-width: 28px; text-align: center; }
.tc-qty-um  { font-size: var(--tc-fs-xs); color: var(--tc-text-muted); }

.tc-cart-item__remove {
  color: var(--tc-text-light);
  transition: color var(--tc-ease), background var(--tc-ease);
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--tc-radius-sm);
}

.tc-cart-item__remove:hover { color: var(--tc-error); background: var(--tc-error-wash); }
.tc-cart-item__remove svg   { width: 16px; height: 16px; }

.tc-cart-sidebar__foot {
  padding: 20px 24px;
  border-top: 1px solid var(--tc-border);
  background: var(--tc-bg);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tc-cart-foot__note {
  font-size: var(--tc-fs-sm);
  color: var(--tc-text-muted);
  text-align: center;
}

.tc-cart-foot__note strong { color: var(--tc-text); }

/* ============================================================
   12. HERO
   ============================================================ */
.tc-hero {
  background: var(--tc-dark);
  background-image:
    radial-gradient(ellipse at 70% 50%, rgba(27,67,50,.6) 0%, transparent 60%),
    radial-gradient(ellipse at 10% 80%, rgba(27,67,50,.3) 0%, transparent 50%);
  color: #fff;
  padding: 64px 0 72px;
  position: relative;
  /* overflow vizibil ca dropdown-ul de live-search să nu fie tăiat de marginea hero-ului
     (poza .tc-hero__photo e inset:0, deci nu depășește — nu mai are nevoie de clipping aici). */
  overflow: visible;
}

.tc-hero__photo {
  position: absolute;
  inset: 0;
  background-image: url('https://images.unsplash.com/photo-1718117075248-3d3c3cd65264?w=1920&q=80&fit=crop');
  background-size: cover;
  background-position: center 40%;
  opacity: .09;
  mix-blend-mode: luminosity;
}

.tc-hero__grid {
  position: relative;
  display: grid;
  gap: 40px;
}

@media (min-width: 1024px) {
  .tc-hero { padding: 80px 0 96px; }
  .tc-hero__grid { grid-template-columns: 1fr 340px; align-items: center; gap: 64px; }
}

.tc-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: var(--tc-fs-xs);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--tc-accent-mid);
  background: rgba(82,183,136,.12);
  border: 1px solid rgba(82,183,136,.28);
  padding: 6px 14px;
  border-radius: 999px;
  margin-bottom: 20px;
}

.tc-hero__eyebrow svg { width: 11px; height: 11px; }

.tc-hero__title {
  font-family: var(--tc-font-head);
  font-size: clamp(2rem, 5.5vw, 3.25rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -.03em;
  color: #fff;
  margin-bottom: 20px;
}

.tc-hero__title span {
  color: var(--tc-accent-mid);
}

.tc-hero__subtitle {
  font-size: clamp(.9375rem, 1.5vw, 1.0625rem);
  color: rgba(255,255,255,.65);
  max-width: 500px;
  line-height: 1.65;
  margin-bottom: 32px;
}

.tc-hero__search-host { margin-bottom: 20px; }

.tc-hero__search {
  display: flex;
  border-radius: var(--tc-radius);
  overflow: hidden;
  background: rgba(255,255,255,.07);
  border: 1.5px solid rgba(255,255,255,.12);
  backdrop-filter: blur(8px);
  transition: border-color var(--tc-ease), box-shadow var(--tc-ease);
}

.tc-hero__search:focus-within {
  border-color: var(--tc-accent-mid);
  box-shadow: 0 0 0 3px rgba(82,183,136,.2);
}

.tc-hero__search input {
  flex: 1;
  padding: 14px 18px;
  background: transparent;
  border: none;
  outline: none;
  color: #fff;
  font-size: var(--tc-fs-base);
}

.tc-hero__search input::placeholder { color: rgba(255,255,255,.4); }

.tc-hero__search button {
  padding: 0 20px;
  background: var(--tc-accent);
  color: #fff;
  font-size: var(--tc-fs-base);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: background var(--tc-ease);
  white-space: nowrap;
}

.tc-hero__search button:hover { background: var(--tc-accent-h); }
.tc-hero__search button svg   { width: 16px; height: 16px; }

.tc-hero__quicklinks {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.tc-hero__quicklinks-label {
  font-size: var(--tc-fs-sm);
  font-weight: 600;
  color: rgba(255,255,255,.5);
  margin-right: 2px;
}

.tc-hero__quicklink {
  padding: 6px 12px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 100px;
  font-size: var(--tc-fs-sm);
  font-weight: 500;
  color: rgba(255,255,255,.75);
  transition: background var(--tc-ease), color var(--tc-ease), border-color var(--tc-ease);
}

.tc-hero__quicklink:hover {
  background: rgba(255,255,255,.14);
  color: #fff;
  border-color: rgba(255,255,255,.25);
}

/* Hero stats — un singur panou frosted cu separatoare interne (în loc de 4 box-uri). */
.tc-hero__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--tc-radius-lg);
  backdrop-filter: blur(8px);
  overflow: hidden;
}

@media (max-width: 1023px) {
  .tc-hero__stats { display: none; }
}

.tc-hero__stat {
  padding: 22px;
  border-right: 1px solid rgba(255,255,255,.09);
  border-bottom: 1px solid rgba(255,255,255,.09);
}
.tc-hero__stat:nth-child(2n) { border-right: none; }
.tc-hero__stat:nth-child(n+3) { border-bottom: none; }

.tc-hero__stat-icon {
  display: block;
  width: 22px;
  height: 22px;
  color: var(--tc-accent-mid);
  margin-bottom: 12px;
}

.tc-hero__stat-num {
  display: block;
  font-family: var(--tc-font-head);
  font-size: var(--tc-fs-4xl);
  font-weight: 800;
  color: #fff;
  letter-spacing: -.03em;
  line-height: 1;
  margin-bottom: 4px;
}

.tc-hero__stat-label {
  font-size: var(--tc-fs-sm);
  color: rgba(255,255,255,.6);
  line-height: 1.4;
}

/* ============================================================
   13. TRUST BAR
   ============================================================ */
.tc-trustbar {
  background: var(--tc-surface);
  border-bottom: 1px solid var(--tc-border);
  padding: 0;
  position: relative;
}
/* Afordanță de scroll pe mobil: fade la dreapta (ascuns pe desktop unde itemii încap). */
.tc-trustbar::after {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 1px;
  width: 36px;
  pointer-events: none;
  background: linear-gradient(to right, rgba(245,244,240,0), var(--tc-surface));
}

.tc-trustbar .tc-container {
  overflow-x: auto;
  scrollbar-width: none;
}

.tc-trustbar .tc-container::-webkit-scrollbar { display: none; }

.tc-trustbar__list {
  display: flex;
  align-items: center;
  gap: 0;
  min-width: max-content;
}

.tc-trustbar__item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 20px;
  font-size: var(--tc-fs-sm);
  color: var(--tc-text-muted);
  border-right: 1px solid var(--tc-border);
  white-space: nowrap;
}

.tc-trustbar__item:last-child { border-right: none; }
.tc-trustbar__item svg        { width: 15px; height: 15px; color: var(--tc-accent); flex-shrink: 0; }
.tc-trustbar__item strong     { color: var(--tc-text); font-weight: 600; }

/* Desktop: cei 5 itemi se distribuie egal în container (fără scroll/tăiere), separatori contigui. */
@media (min-width: 1024px) {
  .tc-trustbar .tc-container { overflow-x: visible; }
  .tc-trustbar__list { width: 100%; min-width: 0; }
  .tc-trustbar__item { flex: 1; justify-content: center; padding: 14px 12px; }
  .tc-trustbar::after { display: none; }
}

/* ============================================================
   14. CATEGORIES GRID
   ============================================================ */
/* Mobil: slider orizontal cu scroll-snap (2 carduri vizibile + un peek).
   Full-bleed (margin negativ = -gutter) + padding, ca lift-ul/umbra la hover să NU fie
   tăiate de containerul de scroll (overflow-x taie și pe verticală). */
.tc-categories-grid {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  margin: 0 calc(-1 * var(--tc-px));
  padding: 8px var(--tc-px) 18px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.tc-categories-grid::-webkit-scrollbar { display: none; }

/* Desktop/tablet: grilă normală (fără full-bleed/padding de slider). */
@media (min-width: 560px)  { .tc-categories-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; overflow: visible; margin: 0; padding: 0; } }
@media (min-width: 1024px) { .tc-categories-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; } }

/* Card categorie. Mobil = card vertical într-un slider (2 vizibile). Desktop = compact orizontal. */
.tc-cat-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding: 16px;
  background: var(--tc-surface);
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius-lg);
  text-decoration: none;
  flex: 0 0 46%;
  scroll-snap-align: start;
  transition: border-color var(--tc-ease), box-shadow var(--tc-ease), transform var(--tc-ease);
}

@media (min-width: 560px) {
  .tc-cat-card {
    flex-direction: row;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    flex: initial;
  }
}

.tc-cat-card:hover {
  border-color: var(--tc-accent-mid);
  box-shadow: 0 8px 22px rgba(27,67,50,.10);
  transform: translateY(-2px);
}
.tc-cat-card:hover .tc-cat-card__arrow { color: var(--tc-accent); transform: translateX(2px); }

.tc-cat-card__icon {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  border-radius: var(--tc-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
}

.tc-cat-card__icon svg { width: 22px; height: 22px; }

.tc-cat-card__body { flex: 1; min-width: 0; }

.tc-cat-card__name {
  display: block;
  font-family: var(--tc-font-head);
  font-size: var(--tc-fs-base);
  font-weight: 700;
  color: var(--tc-text);
  line-height: 1.25;
}

.tc-cat-card__count {
  display: block;
  font-size: var(--tc-fs-xs);
  color: var(--tc-text-muted);
  margin-top: 2px;
}

.tc-cat-card__arrow {
  display: none;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  color: var(--tc-border-h);
  transition: color var(--tc-ease), transform var(--tc-ease);
}
@media (min-width: 560px) { .tc-cat-card__arrow { display: block; } }

/* ============================================================
   15. BRANDS BAR
   ============================================================ */
.tc-brands {
  background: var(--tc-bg);
  border-top: 1px solid var(--tc-border);
  border-bottom: 1px solid var(--tc-border);
  padding: 24px 0;
}

.tc-brands .tc-container {
  display: flex;
  align-items: center;
  gap: 20px;
}

.tc-brands__label {
  font-size: var(--tc-fs-xs);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--tc-text-light);
  white-space: nowrap;
  flex-shrink: 0;
}

.tc-brands__list {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  flex: 1;
}

.tc-brands__list::-webkit-scrollbar { display: none; }

.tc-brand-item {
  padding: 6px 14px;
  background: var(--tc-surface);
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius-xs);
  font-size: var(--tc-fs-sm);
  font-weight: 700;
  color: var(--tc-text-muted);
  white-space: nowrap;
  letter-spacing: -.01em;
  transition: border-color var(--tc-ease), color var(--tc-ease);
  cursor: default;
}

.tc-brand-item:hover { border-color: var(--tc-accent); color: var(--tc-accent); }

/* ============================================================
   16. PRODUCT CARDS
   ============================================================ */
.tc-products-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

@media (min-width: 480px)  { .tc-products-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 640px)  { .tc-products-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .tc-products-grid { grid-template-columns: repeat(4, 1fr); gap: 16px; } }

.tc-product-card {
  background: var(--tc-surface);
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 1px 3px rgba(0,0,0,.05);
  transition: border-color var(--tc-ease), box-shadow var(--tc-ease), transform var(--tc-ease);
}

.tc-product-card:hover {
  border-color: var(--tc-accent-mid);
  box-shadow: 0 12px 28px rgba(27,67,50,.12);
  transform: translateY(-2px);
}

.tc-product-card__img-link { display: block; }

.tc-product-card__img-wrap {
  position: relative;
  background: var(--tc-bg);
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.tc-product-card__img-wrap img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 12px;
  transition: transform .3s cubic-bezier(.4,0,.2,1);
}

.tc-product-card:hover .tc-product-card__img-wrap img {
  transform: scale(1.02);
}

/* Placeholder color blobs per category */
.tc-img--termoizolatie { background: linear-gradient(135deg, #E8F5E9 0%, #C8E6C9 100%); color: #2E7D32; }
.tc-img--adeziv        { background: linear-gradient(135deg, #FFF3E0 0%, #FFE0B2 100%); color: #E65100; }
.tc-img--osb           { background: linear-gradient(135deg, #FFF8E1 0%, #FFECB3 100%); color: #F57F17; }
.tc-img--placa         { background: linear-gradient(135deg, #E3F2FD 0%, #BBDEFB 100%); color: #1565C0; }
.tc-img--hidroizolatie { background: linear-gradient(135deg, #E8EAF6 0%, #C5CAE9 100%); color: #283593; }

.tc-product-card__img-wrap svg { width: 40px; height: 40px; opacity: .5; }

.tc-product-card__badge {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 3px 8px;
  border-radius: var(--tc-radius-xs);
  font-size: var(--tc-fs-2xs);
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.tc-product-card__badge--stoc {
  background: #fff;
  color: var(--tc-accent);
  box-shadow: 0 1px 5px rgba(0,0,0,.12);
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.tc-product-card__badge--stoc::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--tc-accent-mid);
}
.tc-product-card__badge--new  { background: #FEF3C7; color: #92400E; }

.tc-product-card__body {
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.tc-product-card__brand {
  font-size: var(--tc-fs-xs);
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--tc-accent);
}

.tc-product-card__name {
  font-family: var(--tc-font-head);
  font-size: var(--tc-fs-md);
  font-weight: 600;
  line-height: 1.35;
}

.tc-product-card__name a { color: var(--tc-text); transition: color var(--tc-ease); }
.tc-product-card__name a:hover { color: var(--tc-accent); }

.tc-product-card__specs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.tc-spec-chip {
  padding: 4px 10px;
  background: var(--tc-accent-wash);
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: var(--tc-fs-xs);
  font-weight: 600;
  color: var(--tc-accent);
}

/* Etichetă categorie pe card (pagina Magazin — produse din categorii mixte) */
.tc-product-card__cat-tag {
  align-self: flex-start;
  font-size: var(--tc-fs-2xs);
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--tc-accent);
  background: var(--tc-accent-lt);
  padding: 2px 8px;
  border-radius: 999px;
}

.tc-product-card__price-row {
  margin-top: auto;
  padding-top: 4px;
}

.tc-price-request {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: var(--tc-fs-sm);
  font-weight: 700;
  color: var(--tc-accent);
  font-style: normal;
}
.tc-price-request::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--tc-accent-mid);
}

/* CTA card produs — verde solid (acțiune principală clară, look modern). */
.tc-product-card__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
  padding: 11px;
  background: var(--tc-accent);
  color: #fff;
  border-radius: var(--tc-radius-sm);
  font-size: var(--tc-fs-sm);
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(27,67,50,.18);
  transition: background var(--tc-ease), box-shadow var(--tc-ease), transform var(--tc-ease);
}

.tc-product-card__cta:hover,
.tc-product-card__cta:focus-visible { background: var(--tc-accent-h); box-shadow: 0 4px 14px rgba(27,67,50,.28); transform: translateY(-1px); }
.tc-product-card__cta:active { transform: scale(.98); }
.tc-product-card__cta svg { width: 13px; height: 13px; }

/* Added to cart state */
.tc-product-card__cta.is-added {
  background: var(--tc-success);
  color: #fff;
}

/* ============================================================
   17. PROMO BANNER
   ============================================================ */
.tc-promo-banner {
  background: var(--tc-dark);
  border-radius: var(--tc-radius-xl);
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: relative;
  overflow: hidden;
}

.tc-promo-banner::before {
  content: '';
  position: absolute;
  right: -40px;
  top: -40px;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(27,67,50,.6) 0%, transparent 70%);
  pointer-events: none;
}

@media (min-width: 768px) {
  .tc-promo-banner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 44px 56px;
    gap: 40px;
  }
}

.tc-promo-banner__eyebrow {
  font-size: var(--tc-fs-xs);
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--tc-accent-mid);
  margin-bottom: 10px;
}

.tc-promo-banner__title {
  font-family: var(--tc-font-head);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 800;
  color: #fff;
  letter-spacing: -.02em;
  line-height: 1.2;
  margin-bottom: 12px;
}

.tc-promo-banner__desc {
  font-size: var(--tc-fs-base);
  color: rgba(255,255,255,.6);
  line-height: 1.6;
  max-width: 440px;
}

.tc-promo-banner__cta {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: var(--tc-accent);
  color: #fff;
  border-radius: var(--tc-radius);
  font-size: var(--tc-fs-base);
  font-weight: 700;
  white-space: nowrap;
  box-shadow: 0 4px 16px rgba(27,67,50,.5);
  transition: background var(--tc-ease), transform var(--tc-ease);
}

.tc-promo-banner__cta:hover {
  background: var(--tc-accent-h);
  transform: translateY(-2px);
}

.tc-promo-banner__cta svg { width: 18px; height: 18px; }

/* ============================================================
   18. HOW IT WORKS
   ============================================================ */
.tc-steps {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  counter-reset: steps;
}

@media (min-width: 640px) { .tc-steps { grid-template-columns: repeat(3, 1fr); gap: 24px; } }

.tc-step {
  background: var(--tc-surface);
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius-lg);
  padding: 28px 24px;
  position: relative;
  counter-increment: steps;
}

.tc-step::before {
  content: counter(steps);
  position: absolute;
  top: 20px;
  right: 20px;
  font-family: var(--tc-font-head);
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--tc-border);
  line-height: 1;
}

.tc-step__icon {
  width: 48px;
  height: 48px;
  background: var(--tc-accent-lt);
  border-radius: var(--tc-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  color: var(--tc-accent);
}

.tc-step__icon svg { width: 24px; height: 24px; }

.tc-step__title {
  font-family: var(--tc-font-head);
  font-size: var(--tc-fs-base);
  font-weight: 700;
  margin-bottom: 8px;
}

.tc-step__desc { font-size: var(--tc-fs-md); color: var(--tc-text-muted); line-height: 1.6; }

/* ============================================================
   19. TRUST GRID (why us)
   ============================================================ */
.tc-trust-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

@media (min-width: 768px) { .tc-trust-grid { grid-template-columns: repeat(4, 1fr); gap: 16px; } }

.tc-trust-card {
  background: var(--tc-surface);
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius-lg);
  padding: 24px 20px;
}

.tc-trust-card__icon {
  width: 42px;
  height: 42px;
  background: var(--tc-accent-lt);
  border-radius: var(--tc-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--tc-accent);
  margin-bottom: 14px;
}

.tc-trust-card__icon svg { width: 20px; height: 20px; }

.tc-trust-card__title {
  font-family: var(--tc-font-head);
  font-size: var(--tc-fs-base);
  font-weight: 700;
  margin-bottom: 6px;
}

.tc-trust-card__desc { font-size: var(--tc-fs-sm); color: var(--tc-text-muted); line-height: 1.55; }

/* ============================================================
   20. FOOTER
   ============================================================ */
.tc-footer {
  background: var(--tc-dark);
  color: rgba(255,255,255,.65);
  padding: 56px 0 0;
}

.tc-footer__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  margin-bottom: 48px;
}

@media (min-width: 640px)  { .tc-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .tc-footer__grid { grid-template-columns: 2fr 1fr 1fr 1fr; } }

.tc-footer__brand .tc-logo__name { color: #fff; font-size: var(--tc-fs-xl); }
.tc-footer__brand .tc-logo__tagline { color: rgba(255,255,255,.35); }

.tc-footer__brand-desc {
  margin-top: 14px;
  font-size: var(--tc-fs-md);
  line-height: 1.65;
  color: rgba(255,255,255,.5);
  max-width: 280px;
}

.tc-footer__social {
  display: flex;
  gap: 8px;
  margin-top: 16px;
}

.tc-footer__social a {
  width: 34px;
  height: 34px;
  background: rgba(255,255,255,.07);
  border-radius: var(--tc-radius-xs);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.5);
  transition: background var(--tc-ease), color var(--tc-ease);
}

.tc-footer__social a:hover { background: rgba(255,255,255,.14); color: #fff; }
.tc-footer__social svg     { width: 16px; height: 16px; }

/* Badge-uri legale ANPC SAL + SOL/ODR (footer) */
.tc-footer__badges { display: flex; flex-direction: column; gap: 10px; margin-top: 20px; }
.tc-footer__badges a {
  display: inline-block;
  max-width: 220px;
  border-radius: 6px;
  overflow: hidden;
  line-height: 0;
  transition: transform var(--tc-ease);
}
.tc-footer__badges a:hover { transform: translateY(-1px); }
.tc-footer__badges img { display: block; width: 100%; height: auto; }

.tc-footer__col-title {
  font-family: var(--tc-font-head);
  font-size: var(--tc-fs-xs);
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.35);
  margin-bottom: 16px;
}

.tc-footer__list { display: flex; flex-direction: column; gap: 8px; }

.tc-footer__list a {
  font-size: var(--tc-fs-md);
  color: rgba(255,255,255,.6);
  transition: color var(--tc-ease);
}

.tc-footer__list a:hover { color: #fff; }

.tc-footer__contact-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: var(--tc-fs-md);
  color: rgba(255,255,255,.6);
  margin-bottom: 10px;
}

.tc-footer__contact-item svg   { width: 14px; height: 14px; flex-shrink: 0; margin-top: 3px; color: var(--tc-accent-mid); }
.tc-footer__contact-item a     { color: rgba(255,255,255,.6); transition: color var(--tc-ease); }
.tc-footer__contact-item a:hover { color: #fff; }

.tc-footer__bottom {
  border-top: 1px solid rgba(255,255,255,.07);
  padding: 20px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.tc-footer__copy { font-size: var(--tc-fs-sm); color: rgba(255,255,255,.6); }

.tc-footer__bottom-links {
  display: flex;
  gap: 16px;
}

.tc-footer__bottom-links a { font-size: var(--tc-fs-sm); color: rgba(255,255,255,.6); transition: color var(--tc-ease); }
.tc-footer__bottom-links a:hover { color: #fff; }

/* FAB-ul de coș (fixed, 56px) nu trebuie să acopere rândul de copyright pe mobil. */
@media (max-width: 639px) {
  .tc-footer__bottom { padding-bottom: 88px; }
}

/* ============================================================
   21. UTILITY / MISC
   ============================================================ */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

.tc-overlay-bg {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 199;
}

.tc-overlay-bg.is-open { display: block; }

/* FAB coș de ofertă — sticky dreapta-jos, apare doar când ai produse */
.tc-cart-fab {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 150;
  width: 56px;
  height: 56px;
  border: none;
  border-radius: 50%;
  background: var(--tc-accent);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 22px rgba(0,0,0,.24);
  opacity: 0;
  transform: translateY(120px) scale(.85);
  pointer-events: none;
  transition: transform .25s ease, opacity .25s ease;
}
.tc-cart-fab.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.tc-cart-fab svg { width: 24px; height: 24px; }
.tc-cart-fab__count {
  position: absolute;
  top: -3px;
  right: -3px;
  min-width: 21px;
  height: 21px;
  padding: 0 5px;
  border-radius: 11px;
  background: #fff;
  color: var(--tc-accent);
  border: 2px solid var(--tc-accent);
  font-size: .72rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tc-cart-fab.is-bump { animation: tc-fab-bump .4s ease; }
@keyframes tc-fab-bump {
  0%, 100% { transform: none; }
  30% { transform: scale(1.18); }
}

/* FAB de filtre — sticky jos-dreapta pe paginile de listing (mobil), stivuit cu coșul.
   Implicit jos (coș gol → ascuns); urcă deasupra coșului când acesta devine vizibil.
   Ascuns pe desktop (sidebar vizibil). */
.tc-filter-fab {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 150;
  width: 56px;
  height: 56px;
  border: none;
  border-radius: 50%;
  background: var(--tc-accent);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 22px rgba(0,0,0,.24);
  transition: bottom .25s ease;
  flex-direction: column;
  gap: 1px;
}
.tc-filter-fab.is-above-cart { bottom: 86px; }
.tc-filter-fab svg { width: 19px; height: 19px; }
.tc-filter-fab__label { font-size: 8.5px; font-weight: 800; line-height: 1; letter-spacing: .02em; }
.tc-filter-fab__badge {
  position: absolute;
  top: -3px;
  right: -3px;
  min-width: 21px;
  height: 21px;
  padding: 0 5px;
  border-radius: 11px;
  background: #fff;
  color: var(--tc-accent);
  border: 2px solid var(--tc-accent);
  font-size: .72rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 900px) { .tc-filter-fab { display: none; } }

/* Stepper de cantitate pe cardul de produs */
.tc-product-card__order { display: flex; flex-direction: column; gap: 8px; }
.tc-qty-mini { display: flex; align-items: center; gap: 4px; }
.tc-qty-mini__btn {
  flex: 0 0 auto;
  width: 30px;
  height: 34px;
  border: 1px solid var(--tc-border);
  background: #fff;
  border-radius: 8px;
  font-size: 1.1rem;
  line-height: 1;
  color: var(--tc-accent);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tc-qty-mini__btn:hover { border-color: var(--tc-accent); }
.tc-qty-mini__field {
  width: 46px;
  height: 34px;
  text-align: center;
  border: 1px solid var(--tc-border);
  border-radius: 8px;
  font: inherit;
  -moz-appearance: textfield;
  appearance: textfield;
}
.tc-qty-mini__field::-webkit-outer-spin-button,
.tc-qty-mini__field::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.tc-qty-mini__um { font-size: .82rem; color: var(--tc-text-light); margin-left: 2px; }
/* Touch target mai mare pe mobil (AAA ~44px); pe grila 2-col evităm înghesuirea. */
@media (max-width: 559px) {
  .tc-qty-mini__btn { height: 40px; min-width: 38px; }
  .tc-qty-mini__field { height: 40px; }
}

/* Input telefon în coș (trimitere rapidă WhatsApp) */
.tc-cart-foot__phone {
  width: 100%;
  padding: 11px 13px;
  margin-bottom: 8px;
  border: 1px solid var(--tc-border);
  border-radius: 10px;
  font: inherit;
  background: #fff;
}
.tc-cart-foot__phone:focus {
  outline: none;
  border-color: var(--tc-accent);
  box-shadow: var(--tc-focus-ring);
}
.tc-btn:disabled,
.tc-btn[disabled] { opacity: .45; cursor: not-allowed; }

/* ============================================================
   22. ANIMATIONS
   ============================================================ */
@keyframes tc-fade-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.tc-animate-in { animation: tc-fade-in .24s var(--tc-ease) both; }

/* ============================================================
   23. BREADCRUMB
   ============================================================ */
.tc-breadcrumb {
  background: var(--tc-bg);
  border-bottom: 1px solid var(--tc-border);
  padding: 10px 0;
}

.tc-breadcrumb__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.tc-breadcrumb__item {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: var(--tc-fs-sm);
  color: var(--tc-text-muted);
}

.tc-breadcrumb__item a {
  color: var(--tc-text-muted);
  text-decoration: none;
  transition: color var(--tc-ease);
}

.tc-breadcrumb__item a:hover { color: var(--tc-accent); }

.tc-breadcrumb__item--current {
  color: var(--tc-text);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 220px;
}
/* Pe desktop e spațiu destul — nu trunchia numele curent. */
@media (min-width: 768px) { .tc-breadcrumb__item--current { max-width: none; } }

.tc-breadcrumb__sep {
  color: var(--tc-border);
  font-size: var(--tc-fs-xs);
  user-select: none;
}

/* ============================================================
   24. PRODUCT PAGE — HERO
   ============================================================ */
.tc-product-hero {
  padding: 32px 0 48px;
  background: var(--tc-surface);
}

.tc-product-hero__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}

@media (min-width: 768px) {
  .tc-product-hero__grid {
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: flex-start;
  }
}

@media (min-width: 1024px) {
  .tc-product-hero__grid {
    grid-template-columns: 480px 1fr;
    gap: 64px;
  }
}

/* ── Gallery ────────────────────────────────────────────── */
.tc-product-gallery {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Sticky DOAR pe layout-ul 2 coloane (desktop). Pe mobil (stivuit) sticky-ul
   făcea ca imaginea să vină peste conținutul de dedesubt. */
@media (min-width: 768px) {
  .tc-product-gallery { position: sticky; top: 80px; }
}

.tc-gallery__main {
  position: relative;
  background: var(--tc-bg);
  border-radius: var(--tc-radius-lg);
  overflow: hidden;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tc-gallery__main img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 24px;
  transition: opacity .15s ease;
}

.tc-gallery__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--tc-accent-lt);
  color: var(--tc-accent);
  font-size: var(--tc-fs-xs);
  font-weight: 600;
  padding: 4px 10px 4px 8px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  gap: 5px;
  letter-spacing: .01em;
}

.tc-gallery__zoom {
  position: absolute;
  bottom: 12px;
  right: 12px;
  background: rgba(255,255,255,.9);
  border: 1px solid var(--tc-border);
  border-radius: 8px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background var(--tc-ease);
  color: var(--tc-text-muted);
}

.tc-gallery__zoom:hover {
  background: #fff;
  color: var(--tc-text);
}

.tc-gallery__thumbs {
  display: flex;
  gap: 8px;
}

.tc-gallery__thumb {
  width: 72px;
  height: 72px;
  flex-shrink: 0;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid var(--tc-border);
  background: var(--tc-bg);
  cursor: pointer;
  padding: 0;
  transition: border-color var(--tc-ease);
  display: flex;
  align-items: center;
  justify-content: center;
}

.tc-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 6px;
}

.tc-gallery__thumb:hover { border-color: var(--tc-accent-mid); }
.tc-gallery__thumb.is-active { border-color: var(--tc-accent); }

/* ── Product Info ───────────────────────────────────────── */
.tc-product-info {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.tc-product-info__brand-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.tc-product-info__brand {
  font-size: var(--tc-fs-sm);
  font-weight: 700;
  color: var(--tc-accent);
  text-transform: uppercase;
  letter-spacing: .06em;
  text-decoration: none;
  transition: color var(--tc-ease);
}

.tc-product-info__brand:hover { color: var(--tc-accent-h); }

.tc-product-info__ref {
  font-size: var(--tc-fs-xs);
  color: var(--tc-text-muted);
  font-family: 'JetBrains Mono', monospace, monospace;
  background: var(--tc-bg);
  padding: 2px 8px;
  border-radius: 4px;
  letter-spacing: .02em;
}

.tc-product-info__title {
  font-size: clamp(1.3rem, 3vw, 1.75rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--tc-text);
  margin: 0;
}

.tc-product-info__cat-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--tc-fs-sm);
  color: var(--tc-text-muted);
  text-decoration: none;
  padding: 4px 10px;
  background: var(--tc-bg);
  border-radius: var(--tc-radius-md);
  transition: background var(--tc-ease), color var(--tc-ease);
  width: fit-content;
}

.tc-product-info__cat-tag:hover {
  background: var(--tc-accent-lt);
  color: var(--tc-accent);
}

/* Quick specs grid */
.tc-product-info__quick-specs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

@media (min-width: 480px) {
  .tc-product-info__quick-specs {
    grid-template-columns: repeat(4, 1fr);
  }
}

.tc-quick-spec {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 10px 12px;
  background: var(--tc-bg);
  border-radius: 8px;
  border: 1px solid var(--tc-border);
}

.tc-quick-spec__label {
  font-size: var(--tc-fs-2xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--tc-text-muted);
}

.tc-quick-spec__val {
  font-size: var(--tc-fs-md);
  font-weight: 700;
  color: var(--tc-text);
}

/* Price block */
.tc-product-info__price-block {
  padding: 16px;
  background: var(--tc-bg);
  border-radius: 10px;
  border: 1px solid var(--tc-border);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tc-product-info__price-main {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}

.tc-product-info__price-label {
  font-size: var(--tc-fs-xs);
  color: var(--tc-text-muted);
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 600;
}

.tc-product-info__price-val {
  font-size: var(--tc-fs-xl);
  font-weight: 800;
  color: var(--tc-accent);
  font-family: var(--tc-font-head);
}

.tc-product-info__price-note {
  font-size: var(--tc-fs-sm);
  color: var(--tc-text-muted);
  line-height: 1.5;
  margin: 0;
}

/* Order section */
.tc-product-info__order {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Quantity input */
.tc-qty-input-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tc-qty-label {
  font-size: var(--tc-fs-sm);
  font-weight: 600;
  color: var(--tc-text);
}

.tc-qty-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.tc-qty-input {
  display: inline-flex;
  align-items: stretch;
  border: 1.5px solid var(--tc-border);
  border-radius: var(--tc-radius-sm);
  overflow: hidden;
  height: 44px;
  transition: border-color var(--tc-ease), box-shadow var(--tc-ease);
}

.tc-qty-input:focus-within { border-color: var(--tc-accent); box-shadow: var(--tc-focus-ring); }

.tc-qty-input__btn {
  width: 44px;
  background: var(--tc-bg);
  border: none;
  cursor: pointer;
  font-size: var(--tc-fs-lg);
  font-weight: 600;
  color: var(--tc-text);
  transition: background var(--tc-ease);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tc-qty-input__btn:hover { background: var(--tc-accent-lt); color: var(--tc-accent); }

.tc-qty-input__field {
  width: 60px;
  border: none;
  border-left: 1.5px solid var(--tc-border);
  border-right: 1.5px solid var(--tc-border);
  text-align: center;
  font-size: var(--tc-fs-base);
  font-weight: 600;
  font-family: var(--tc-font-body);
  color: var(--tc-text);
  outline: none;
  background: #fff;
  -moz-appearance: textfield;
}

.tc-qty-input__field::-webkit-inner-spin-button,
.tc-qty-input__field::-webkit-outer-spin-button { -webkit-appearance: none; }

.tc-qty-hint {
  font-size: var(--tc-fs-xs);
  color: var(--tc-text-muted);
}

/* conversie live ambalare lângă cantitate */
.tc-qty-hint#tc-qty-conv { font-weight: 700; color: var(--tc-accent); }

/* linia statică de ambalare (ex: 4 mp/pachet · 32 mp/palet) */
.tc-qty-pack {
  margin: 8px 0 0;
  font-size: var(--tc-fs-xs);
  color: var(--tc-text-light);
}

/* conversie ambalare în coș + listă ofertă */
.tc-cart-item__pack,
.tc-oferta-item__pack {
  margin: 4px 0 0;
  font-size: var(--tc-fs-2xs);
  font-weight: 600;
  color: var(--tc-accent);
}

/* CTAs */
.tc-product-info__ctas {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

@media (min-width: 480px) {
  .tc-product-info__ctas { flex-direction: row; }
  .tc-product-info__ctas .tc-btn { flex: 1; justify-content: center; }
}

.tc-btn--wa {
  background: var(--tc-whatsapp);
  color: #fff;
  border-color: var(--tc-whatsapp);
}

/* PDP: „WhatsApp direct" e acțiune secundară → outline, ca „Adaugă în coș" să fie unicul CTA plin. */
#tc-wa-direct.tc-btn--wa {
  background: transparent;
  color: var(--tc-whatsapp);
  border: 1.5px solid var(--tc-whatsapp);
}
#tc-wa-direct.tc-btn--wa:hover {
  background: var(--tc-whatsapp);
  color: #fff;
}

.tc-btn--wa:hover {
  background: #1da951;
  border-color: #1da951;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(37,211,102,.3);
}

.tc-btn.is-added {
  background: var(--tc-accent-h);
  pointer-events: none;
}

/* Trust strip */
.tc-product-info__trust {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding-top: 4px;
}

.tc-product-info__trust-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: var(--tc-fs-sm);
  color: var(--tc-text-muted);
  font-weight: 500;
}

.tc-product-info__trust-item svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: var(--tc-accent);
}

/* ============================================================
   25. PRODUCT TABS
   ============================================================ */
.tc-product-tabs {
  padding: 0 0 64px;
  background: var(--tc-surface);
  border-top: 1px solid var(--tc-border);
}

.tc-tabs__nav {
  display: flex;
  border-bottom: 2px solid var(--tc-border);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  gap: 0;
  margin-bottom: 32px;
}

.tc-tabs__nav::-webkit-scrollbar { display: none; }

.tc-tab-btn {
  padding: 16px 24px;
  border: none;
  background: transparent;
  font-size: var(--tc-fs-md);
  font-weight: 600;
  font-family: var(--tc-font-body);
  color: var(--tc-text-muted);
  cursor: pointer;
  white-space: nowrap;
  position: relative;
  transition: color var(--tc-ease);
  flex-shrink: 0;
}

.tc-tab-btn::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--tc-accent);
  transform: scaleX(0);
  transition: transform .2s ease;
}

.tc-tab-btn:hover { color: var(--tc-text); }
.tc-tab-btn.is-active { color: var(--tc-accent); }
.tc-tab-btn.is-active::after { transform: scaleX(1); }

.tc-tab-panel {
  display: none;
}

.tc-tab-panel.is-active {
  display: block;
  animation: tc-fade-in .2s ease both;
}

/* Tab: Descriere */
.tc-tab-desc {
  max-width: 720px;
  font-size: var(--tc-fs-md);
  line-height: 1.7;
  color: var(--tc-text);
}

.tc-tab-desc p { margin: 0 0 16px; }
.tc-tab-desc h3 { font-size: var(--tc-fs-base); font-weight: 700; margin: 28px 0 10px; color: var(--tc-text); }
.tc-tab-desc ul { margin: 0 0 16px; padding-left: 20px; }
.tc-tab-desc li { margin-bottom: 6px; }
.tc-tab-desc strong { color: var(--tc-accent); font-weight: 600; }

/* Tab: Specificații */
.tc-spec-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.tc-spec-table {
  width: 100%;
  max-width: 680px;
  border-collapse: collapse;
  font-size: var(--tc-fs-md);
}

.tc-spec-table th,
.tc-spec-table td {
  padding: 11px 16px;
  text-align: left;
  border-bottom: 1px solid var(--tc-border);
}

.tc-spec-table th {
  width: 42%;
  font-weight: 600;
  color: var(--tc-text-muted);
  background: var(--tc-bg);
  white-space: nowrap;
}

.tc-spec-table td {
  color: var(--tc-text);
}

.tc-spec-table tr:last-child th,
.tc-spec-table tr:last-child td {
  border-bottom: none;
}

.tc-spec-table tr:hover th,
.tc-spec-table tr:hover td {
  background: var(--tc-bg);
}

/* ============================================================
   26. MOBILE STICKY CTA
   ============================================================ */
.tc-product-sticky {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 180;
  background: #fff;
  border-top: 1px solid var(--tc-border);
  box-shadow: 0 -4px 16px rgba(0,0,0,.08);
  padding: 10px 0 max(10px, env(safe-area-inset-bottom));
  transform: translateY(100%);
  transition: transform .25s cubic-bezier(.4,0,.2,1);
}

.tc-product-sticky.is-visible {
  transform: translateY(0);
}

@media (min-width: 768px) {
  .tc-product-sticky { display: none; }
}

.tc-product-sticky__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.tc-product-sticky__info { min-width: 0; }

.tc-product-sticky__name {
  font-size: var(--tc-fs-sm);
  font-weight: 600;
  color: var(--tc-text);
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tc-product-sticky__price {
  font-size: var(--tc-fs-xs);
  color: var(--tc-text-muted);
  margin: 2px 0 0;
}

.tc-product-sticky .tc-btn--primary {
  white-space: nowrap;
  flex-shrink: 0;
  font-size: var(--tc-fs-md);
  padding: 10px 18px;
}

/* ============================================================
   27. CERERE OFERTĂ — PAGE
   ============================================================ */
.tc-oferta-header {
  background: var(--tc-surface);
  border-bottom: 1px solid var(--tc-border);
  padding: 32px 0 24px;
}

.tc-oferta-header__title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 800;
  margin: 0 0 8px;
}

.tc-oferta-header__title span { color: var(--tc-accent); }

.tc-oferta-header__sub {
  font-size: var(--tc-fs-md);
  color: var(--tc-text-muted);
  margin: 0;
  max-width: 560px;
}

.tc-oferta-page { padding: 40px 0 64px; background: var(--tc-bg); }

.tc-oferta-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  align-items: start;
}

@media (min-width: 900px) {
  .tc-oferta-grid {
    grid-template-columns: 1fr 420px;
    gap: 40px;
  }
}

/* Empty state */
.tc-oferta-empty {
  text-align: center;
  padding: 64px 24px;
  background: var(--tc-surface);
  border-radius: var(--tc-radius-lg);
  border: 1px solid var(--tc-border);
}

.tc-oferta-empty svg { width: 56px; height: 56px; color: var(--tc-border); margin: 0 auto 20px; display: block; }
.tc-oferta-empty h2 { font-size: var(--tc-fs-xl); font-weight: 700; margin: 0 0 8px; }
.tc-oferta-empty p { font-size: var(--tc-fs-md); color: var(--tc-text-muted); margin: 0 0 24px; }

/* Cart head */
.tc-oferta-cart-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.tc-oferta-cart-title {
  font-size: var(--tc-fs-base);
  font-weight: 700;
  margin: 0;
  color: var(--tc-text);
}

.tc-oferta-cart-title span { font-weight: 500; color: var(--tc-text-muted); }

.tc-oferta-clear {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: var(--tc-fs-sm);
  font-weight: 500;
  color: var(--tc-text-muted);
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: var(--tc-radius-xs);
  transition: color var(--tc-ease), background var(--tc-ease);
}

.tc-oferta-clear:hover { color: var(--tc-danger); background: var(--tc-error-wash); }

/* Oferta item */
.tc-oferta-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  background: var(--tc-surface);
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius-md);
  margin-bottom: 8px;
  transition: border-color var(--tc-ease);
}

.tc-oferta-item:hover { border-color: var(--tc-accent-mid); }

.tc-oferta-item__img {
  width: 52px;
  height: 52px;
  border-radius: var(--tc-radius-sm);
  background: var(--tc-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--tc-text-muted);
}

.tc-oferta-item__img svg { width: 24px; height: 24px; }

.tc-oferta-item__info { flex: 1; min-width: 0; }

.tc-oferta-item__brand {
  font-size: var(--tc-fs-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--tc-accent);
  margin: 0 0 2px;
}

.tc-oferta-item__name {
  font-size: var(--tc-fs-md);
  font-weight: 600;
  color: var(--tc-text);
  margin: 0 0 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tc-oferta-item__qty {
  display: flex;
  align-items: center;
  gap: 6px;
}

.tc-oferta-item__remove {
  width: 34px;
  height: 34px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--tc-text-muted);
  border-radius: var(--tc-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color var(--tc-ease), background var(--tc-ease);
  flex-shrink: 0;
}

.tc-oferta-item__remove svg { width: 14px; height: 14px; }
.tc-oferta-item__remove:hover { color: var(--tc-danger); background: var(--tc-error-wash); }

/* Trust strip */
.tc-oferta-trust {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 20px;
  padding: 16px;
  background: var(--tc-surface);
  border-radius: var(--tc-radius-md);
  border: 1px solid var(--tc-border);
}

.tc-oferta-trust__item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: var(--tc-fs-sm);
  color: var(--tc-text-muted);
  font-weight: 500;
}

.tc-oferta-trust__item svg { width: 15px; height: 15px; flex-shrink: 0; color: var(--tc-accent); }

/* Form card */
.tc-oferta-form-card {
  background: var(--tc-surface);
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius-lg);
  padding: 28px 24px;
}

.tc-oferta-form-title { font-size: var(--tc-fs-lg); font-weight: 700; margin: 0 0 6px; }
.tc-oferta-form-sub { font-size: var(--tc-fs-sm); color: var(--tc-text-muted); margin: 0 0 24px; }

/* Form fields */
.tc-form-group { display: flex; flex-direction: column; gap: 5px; margin-bottom: 16px; }

.tc-form-label {
  font-size: var(--tc-fs-sm);
  font-weight: 600;
  color: var(--tc-text);
}

.tc-form-label-hint { font-weight: 400; color: var(--tc-text-muted); }

.tc-form-input {
  padding: 10px 14px;
  border: 1.5px solid var(--tc-border);
  border-radius: var(--tc-radius-sm);
  font-size: var(--tc-fs-md);
  font-family: var(--tc-font-body);
  color: var(--tc-text);
  background: var(--tc-bg);
  outline: none;
  transition: border-color var(--tc-ease), box-shadow var(--tc-ease);
  width: 100%;
  box-sizing: border-box;
}

.tc-form-input:focus { border-color: var(--tc-accent); box-shadow: 0 0 0 3px rgba(27,67,50,.1); background: #fff; }
.tc-form-input.is-error { border-color: var(--tc-danger); }
.tc-form-input.is-error:focus { box-shadow: 0 0 0 3px rgba(220,38,38,.16); }
.tc-form-textarea { resize: vertical; min-height: 80px; }

.tc-form-error {
  font-size: var(--tc-fs-xs);
  color: var(--tc-danger);
  display: none;
}

/* CTAs */
.tc-oferta-form-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 20px;
}

.tc-oferta-submit-wa { justify-content: center; }

.tc-oferta-form-gdpr {
  font-size: var(--tc-fs-xs);
  color: var(--tc-text-muted);
  margin: 12px 0 0;
  line-height: 1.5;
}

.tc-oferta-form-gdpr a { color: var(--tc-accent); }

/* Contact card */
.tc-oferta-contact-card {
  margin-top: 12px;
  padding: 16px 20px;
  background: var(--tc-surface);
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius-md);
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.tc-oferta-contact-label { font-size: var(--tc-fs-sm); color: var(--tc-text-muted); flex-shrink: 0; }

.tc-oferta-contact-tel {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: var(--tc-fs-base);
  font-weight: 700;
  color: var(--tc-accent);
  text-decoration: none;
  transition: color var(--tc-ease);
}

.tc-oferta-contact-tel svg { width: 16px; height: 16px; }
.tc-oferta-contact-tel:hover { color: var(--tc-accent-h); }
.tc-oferta-contact-hours { font-size: var(--tc-fs-xs); color: var(--tc-text-muted); margin-left: auto; }

/* Success banner */
.tc-oferta-success {
  padding: 80px 0;
  background: var(--tc-bg);
}

.tc-oferta-success__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
  max-width: 480px;
  margin: 0 auto;
}

@media (min-width: 640px) {
  .tc-oferta-success__inner { flex-direction: row; text-align: left; max-width: none; }
}

.tc-oferta-success__icon {
  width: 56px;
  height: 56px;
  flex-shrink: 0;
  background: var(--tc-accent-lt);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--tc-accent);
}

.tc-oferta-success__icon svg { width: 28px; height: 28px; }
.tc-oferta-success__title { font-size: var(--tc-fs-xl); font-weight: 800; margin: 0 0 4px; }
.tc-oferta-success__desc { font-size: var(--tc-fs-md); color: var(--tc-text-muted); margin: 0; }

/* ===================================================================
   §29  LISTING PRODUSE + FILTRE (produse.html)
   =================================================================== */

/* Button small modifier (folosit în filtre) */
.tc-btn--sm { padding: 8px 14px; font-size: var(--tc-fs-sm); }

/* Listing head */
.tc-listing-head {
  background: var(--tc-surface);
  border-bottom: 1px solid var(--tc-border);
  padding: 24px 0;
}

.tc-listing-head__title {
  font-family: var(--tc-font-head);
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-weight: 800;
  margin: 0 0 8px;
}

.tc-listing-head__desc {
  font-size: var(--tc-fs-md);
  line-height: 1.6;
  color: var(--tc-text-muted);
  max-width: 70ch;
  margin: 0;
}

/* Layout */
.tc-listing { padding: 24px 0 48px; }

.tc-listing__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

@media (min-width: 900px) {
  .tc-listing__grid { grid-template-columns: 248px 1fr; gap: 32px; align-items: start; }
}
/* Categorie goală: fără sidebar → empty-state centrat pe tot containerul. */
.tc-listing__grid--empty { grid-template-columns: 1fr; }

/* ---- Filtre sidebar ---- */
.tc-filters {
  display: flex;
  flex-direction: column;
}

@media (max-width: 899px) {
  .tc-filters {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(320px, 86vw);
    background: var(--tc-surface);
    z-index: 1200;
    transform: translateX(-100%);
    transition: transform .28s cubic-bezier(.4,0,.2,1);
    box-shadow: var(--tc-shadow-lg);
  }
  .tc-filters.is-open { transform: translateX(0); }
}

@media (min-width: 900px) {
  .tc-filters {
    position: sticky;
    /* Sub stiva sticky completă: header + bara de categorii .tc-nav (apare ≥1024px). */
    top: calc(var(--tc-header-h) + var(--tc-nav-h) + 12px);
    background: var(--tc-surface);
    border: 1px solid var(--tc-border);
    border-radius: var(--tc-radius-lg);
    max-height: calc(100vh - var(--tc-header-h) - var(--tc-nav-h) - 24px);
  }
}

.tc-filters__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid var(--tc-border);
}

.tc-filters__title { font-family: var(--tc-font-head); font-size: var(--tc-fs-md); font-weight: 800; margin: 0; }

.tc-filters__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  color: var(--tc-text-muted);
  cursor: pointer;
}
.tc-filters__close svg { width: 22px; height: 22px; }

@media (min-width: 900px) { .tc-filters__close { display: none; } }

.tc-filters__scroll {
  flex: 1;
  overflow-y: auto;
  padding: 4px 18px;
}

.tc-filter-group { padding: 16px 0; border-bottom: 1px solid var(--tc-border); }
.tc-filter-group:last-child { border-bottom: none; }

/* Navigare subcategorii (N2) în sidebar pe pagina N1. */
.tc-subcat-nav { list-style: none; margin: 0; padding: 0; }
.tc-subcat-nav a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 0;
  font-size: var(--tc-fs-md);
  color: var(--tc-text);
  transition: color var(--tc-ease);
}
.tc-subcat-nav a:hover { color: var(--tc-accent); }
.tc-subcat-nav a.is-current { color: var(--tc-accent); font-weight: 700; }
.tc-subcat-nav a.is-current .tc-subcat-nav__count { background: var(--tc-accent-lt); color: var(--tc-accent); }
.tc-subcat-nav__name { flex: 1; min-width: 0; }
.tc-subcat-nav__count {
  font-size: var(--tc-fs-xs);
  color: var(--tc-text-muted);
  background: var(--tc-bg);
  padding: 1px 8px;
  border-radius: 999px;
}

.tc-filter-group__label {
  font-size: var(--tc-fs-xs);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--tc-text-muted);
  margin: 0 0 10px;
}

.tc-filter-check {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  font-size: var(--tc-fs-md);
  cursor: pointer;
  user-select: none;
}

.tc-filter-check input { position: absolute; opacity: 0; width: 0; height: 0; }

.tc-filter-check__box {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  border: 1.5px solid var(--tc-border-h);
  border-radius: 5px;
  background: var(--tc-surface);
  position: relative;
  transition: background var(--tc-ease), border-color var(--tc-ease);
}

.tc-filter-check input:checked + .tc-filter-check__box {
  background: var(--tc-accent);
  border-color: var(--tc-accent);
}

.tc-filter-check input:checked + .tc-filter-check__box::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1.5px;
  width: 5px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.tc-filter-check input:focus-visible + .tc-filter-check__box {
  outline: 2px solid var(--tc-accent);
  outline-offset: 2px;
}

.tc-filter-check__count {
  margin-left: auto;
  font-size: var(--tc-fs-xs);
  color: var(--tc-text-muted);
  background: var(--tc-bg);
  padding: 1px 7px;
  border-radius: 999px;
}

.tc-filters__foot {
  display: flex;
  gap: 8px;
  padding: 14px 18px;
  border-top: 1px solid var(--tc-border);
}
.tc-filters__foot .tc-btn { flex: 1; justify-content: center; }

@media (min-width: 900px) { .tc-filters__foot { display: none; } }

.tc-filters-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 1150;
  opacity: 0;
  transition: opacity .25s ease;
}
.tc-filters-overlay.is-open { display: block; opacity: 1; }
@media (min-width: 900px) { .tc-filters-overlay { display: none !important; } }

/* ---- Results ---- */
.tc-results__bar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--tc-border);
}
.tc-results__filter-btn { flex-shrink: 0; }
.tc-results__sort { flex-shrink: 0; }

/* Buton „Filtre" inline (mobil) — pill modern. Pe desktop e ascuns (sidebar vizibil). */
.tc-results__filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  background: var(--tc-surface);
  border: 1.5px solid var(--tc-border);
  border-radius: 999px;
  font-size: var(--tc-fs-sm);
  font-weight: 700;
  color: var(--tc-text);
  cursor: pointer;
  transition: border-color .2s, background .2s;
}
.tc-results__filter-btn:hover { border-color: var(--tc-accent); background: var(--tc-bg); }
.tc-results__filter-btn svg { width: 16px; height: 16px; color: var(--tc-accent); }
@media (min-width: 900px) { .tc-results__filter-btn { display: none; } }

.tc-results__filter-badge {
  background: var(--tc-accent);
  color: #fff;
  font-size: var(--tc-fs-xs);
  min-width: 18px;
  height: 18px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
}

.tc-results__count { font-size: var(--tc-fs-sm); color: var(--tc-text-muted); white-space: nowrap; }
.tc-results__count strong { color: var(--tc-text); font-weight: 800; }

.tc-results__sort {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
.tc-results__sort-label { font-size: var(--tc-fs-sm); color: var(--tc-text-muted); }

.tc-results__sort-select {
  appearance: none;
  -webkit-appearance: none;
  padding: 9px 34px 9px 16px;
  background: var(--tc-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B4332' stroke-width='2.5'%3E%3Cpath d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E") no-repeat right 12px center / 13px;
  border: 1.5px solid var(--tc-border);
  border-radius: 999px;
  font-size: var(--tc-fs-sm);
  font-weight: 600;
  color: var(--tc-text);
  cursor: pointer;
  max-width: 100%;
}

/* Pe mobil: toolbar compact pe UN rând — ascundem eticheta „Sortează:" (dropdown-ul arată
   oricum valoarea) și limităm lățimea sortării, ca să nu mănânce tot rândul. */
@media (max-width: 559px) {
  .tc-results__sort-label { display: none; }
  .tc-results__sort select { max-width: 168px; }
}

/* Active filter chips */
.tc-active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.tc-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 6px 5px 11px;
  background: var(--tc-accent-lt);
  color: var(--tc-accent);
  border: none;
  border-radius: 999px;
  font-size: var(--tc-fs-xs);
  font-weight: 700;
  cursor: pointer;
}
.tc-chip svg { width: 13px; height: 13px; }
.tc-chip:hover { background: var(--tc-accent); color: #fff; }

.tc-chip--clear {
  background: transparent;
  color: var(--tc-text-muted);
  padding: 5px 11px;
  text-decoration: underline;
}
.tc-chip--clear:hover { background: transparent; color: var(--tc-text); }

/* Product grid */
.tc-product-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

@media (min-width: 480px) { .tc-product-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 560px) { .tc-product-grid { gap: 16px; } }
@media (min-width: 1100px) { .tc-product-grid { grid-template-columns: repeat(3, 1fr); } }

/* No results */
.tc-no-results {
  text-align: center;
  padding: 64px 24px;
  background: var(--tc-surface);
  border: 1px dashed var(--tc-border-h);
  border-radius: var(--tc-radius-lg);
}
.tc-no-results__title { font-family: var(--tc-font-head); font-size: var(--tc-fs-lg); font-weight: 700; margin: 0 0 6px; }
.tc-no-results__desc { font-size: var(--tc-fs-md); color: var(--tc-text-muted); margin: 0 0 18px; }

/* SEO text block */
.tc-seo-text { max-width: 760px; }
.tc-seo-text h2 {
  font-family: var(--tc-font-head);
  font-size: var(--tc-fs-2xl);
  font-weight: 800;
  margin: 0 0 14px;
}
.tc-seo-text p {
  font-size: var(--tc-fs-md);
  line-height: 1.7;
  color: var(--tc-text-muted);
  margin: 0 0 14px;
}
.tc-seo-text p:last-child { margin-bottom: 0; }

/* oferta — count badge lângă titlul listei */
.tc-oferta-count { font-weight: 600; color: var(--tc-text-muted); }

/* ===================================================================
   §30  CONTACT (contact.html)
   =================================================================== */

/* Contact cards */
.tc-contact-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
@media (min-width: 560px) { .tc-contact-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .tc-contact-cards { grid-template-columns: repeat(4, 1fr); } }

.tc-contact-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: var(--tc-space-6);
  background: var(--tc-surface);
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius-lg);
  text-decoration: none;
  color: inherit;
  transition: border-color var(--tc-ease), box-shadow var(--tc-ease), transform var(--tc-ease);
}
a.tc-contact-card:hover { border-color: var(--tc-accent); box-shadow: var(--tc-shadow-md); transform: translateY(-2px); }

.tc-contact-card__icon {
  width: 44px;
  height: 44px;
  border-radius: var(--tc-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}
.tc-contact-card__icon svg { width: 23px; height: 23px; }

.tc-contact-card__label {
  font-size: var(--tc-fs-xs);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--tc-text-muted);
  margin: 0 0 4px;
}
.tc-contact-card__value { font-family: var(--tc-font-head); font-size: var(--tc-fs-lg); font-weight: 700; margin: 0 0 2px; }
.tc-contact-card__sub { font-size: var(--tc-fs-sm); color: var(--tc-text-muted); margin: 0; }

/* Form + map grid */
.tc-contact-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}
@media (min-width: 900px) {
  .tc-contact-grid { grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
}

.tc-contact-form-title { font-family: var(--tc-font-head); font-size: var(--tc-fs-2xl); font-weight: 800; margin: 0 0 6px; }
.tc-contact-form-sub { font-size: var(--tc-fs-md); color: var(--tc-text-muted); margin: 0 0 24px; }
.tc-contact-form-sub a { color: var(--tc-accent); font-weight: 600; }

/* Form layout helpers (refolosesc .tc-form-input/.tc-form-label din §27) */
.tc-form-row { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 480px) { .tc-form-row { grid-template-columns: 1fr 1fr; } }

.tc-form-field { display: flex; flex-direction: column; margin-bottom: 16px; }
.tc-form-row .tc-form-field { margin-bottom: 16px; }

.tc-form-gdpr { font-size: var(--tc-fs-xs); color: var(--tc-text-muted); margin: 14px 0 0; }
.tc-form-gdpr a { color: var(--tc-accent); }

.tc-contact-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}
.tc-contact-form-actions .tc-btn { flex: 1; min-width: 180px; justify-content: center; }

/* Success state */
.tc-contact-success {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: var(--tc-space-6);
  background: var(--tc-accent-lt);
  border-radius: var(--tc-radius-lg);
}
.tc-contact-success__icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  color: var(--tc-accent);
  display: flex;
  align-items: center;
  justify-content: center;
}
.tc-contact-success__icon svg { width: 22px; height: 22px; }
.tc-contact-success__title { font-weight: 800; margin: 0 0 3px; }
.tc-contact-success__desc { font-size: var(--tc-fs-sm); color: var(--tc-text-muted); margin: 0; }
.tc-contact-success__desc a { color: var(--tc-accent); font-weight: 600; }

/* Map */
.tc-contact-map {
  border-radius: var(--tc-radius-lg);
  overflow: hidden;
  border: 1px solid var(--tc-border);
  aspect-ratio: 4 / 3;
  background: var(--tc-bg);
}
.tc-contact-map iframe { width: 100%; height: 100%; border: 0; display: block; }

.tc-showroom-list { display: flex; flex-direction: column; gap: 12px; margin-top: 16px; }
.tc-showroom-item {
  padding: 16px 18px;
  background: var(--tc-surface);
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius);
}
.tc-showroom-item__city {
  font-family: var(--tc-font-head);
  font-weight: 700;
  margin: 0 0 4px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.tc-showroom-item__tag {
  font-size: var(--tc-fs-2xs);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--tc-accent);
  background: var(--tc-accent-lt);
  padding: 2px 7px;
  border-radius: 999px;
}
.tc-showroom-item__addr { font-size: var(--tc-fs-sm); color: var(--tc-text-muted); margin: 0 0 8px; }
.tc-showroom-item__link { font-size: var(--tc-fs-sm); font-weight: 700; color: var(--tc-accent); text-decoration: none; }
.tc-showroom-item__link:hover { color: var(--tc-accent-h); }

/* ===================================================================
   §31  DESPRE NOI (despre-noi.html)
   =================================================================== */

/* About hero */
.tc-about-hero {
  background: var(--tc-surface);
  border-bottom: 1px solid var(--tc-border);
  padding: 36px 0;
}
.tc-about-hero__inner { display: flex; flex-direction: column; gap: 28px; }
@media (min-width: 860px) {
  .tc-about-hero { padding: 56px 0; }
  .tc-about-hero__inner { flex-direction: row; align-items: center; gap: 48px; }
  .tc-about-hero__text { flex: 1.2; }
  .tc-about-hero__img { flex: 1; }
}

.tc-about-hero__eyebrow {
  display: inline-block;
  font-size: var(--tc-fs-xs);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--tc-accent);
  margin-bottom: 14px;
}
.tc-about-hero__title {
  font-family: var(--tc-font-head);
  font-size: clamp(1.6rem, 4.5vw, 2.6rem);
  font-weight: 800;
  line-height: 1.12;
  margin: 0 0 16px;
}
.tc-about-hero__lead {
  font-size: var(--tc-fs-base);
  line-height: 1.65;
  color: var(--tc-text-muted);
  max-width: 58ch;
  margin: 0 0 24px;
}
.tc-about-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }

.tc-about-hero__img {
  border-radius: var(--tc-radius-xl);
  overflow: hidden;
  border: 1px solid var(--tc-border);
  aspect-ratio: 4 / 3;
  background: var(--tc-bg);
}
.tc-about-hero__img img { width: 100%; height: 100%; object-fit: cover; }

/* Stats row */
.tc-stats-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
@media (min-width: 720px) { .tc-stats-row { grid-template-columns: repeat(4, 1fr); } }

.tc-stat-block {
  text-align: center;
  padding: 20px 12px;
  background: var(--tc-bg);
  border-radius: var(--tc-radius-lg);
}
.tc-stat-block__num {
  display: block;
  font-family: var(--tc-font-head);
  font-size: clamp(1.75rem, 5vw, 2.5rem);
  font-weight: 800;
  color: var(--tc-accent);
  line-height: 1;
  margin-bottom: 6px;
}
.tc-stat-block__label { font-size: var(--tc-fs-sm); color: var(--tc-text-muted); }

/* Prose */
.tc-prose { max-width: 740px; }
.tc-prose h2 {
  font-family: var(--tc-font-head);
  font-size: var(--tc-fs-3xl);
  font-weight: 800;
  margin: 32px 0 14px;
}
.tc-prose h2:first-child { margin-top: 0; }
.tc-prose p {
  font-size: var(--tc-fs-base);
  line-height: 1.75;
  color: var(--tc-text-muted);
  margin: 0 0 16px;
}
.tc-prose strong,
.tc-prose b { color: var(--tc-text); font-weight: 700; }

/* Liste în conținut bogat (pagini legale/articole) — tema resetează global `ul,ol{list-style:none}`,
   așa că le re-stilăm aici, altfel listele apar ca un perete de text fără buline/indentare. */
.tc-prose ul,
.tc-prose ol { margin: 0 0 16px; padding-left: 1.5em; color: var(--tc-text-muted); }
.tc-prose ul { list-style: disc; }
.tc-prose ol { list-style: decimal; }
.tc-prose li { margin: 0.4em 0; line-height: 1.7; }
.tc-prose li::marker { color: var(--tc-accent); }
.tc-prose li > ul,
.tc-prose li > ol { margin: 0.4em 0; }

/* Values grid */
.tc-values-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
@media (min-width: 560px) { .tc-values-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 980px) { .tc-values-grid { grid-template-columns: repeat(4, 1fr); } }

.tc-value-card {
  padding: 24px 20px;
  background: var(--tc-surface);
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius-lg);
}
.tc-value-card__icon {
  width: 46px;
  height: 46px;
  border-radius: var(--tc-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.tc-value-card__icon svg { width: 24px; height: 24px; }
.tc-value-card__title { font-family: var(--tc-font-head); font-size: var(--tc-fs-lg); font-weight: 700; margin: 0 0 8px; }
.tc-value-card__desc { font-size: var(--tc-fs-md); line-height: 1.6; color: var(--tc-text-muted); margin: 0; }

/* About CTA banner */
.tc-about-cta {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 36px;
  background: var(--tc-dark);
  border-radius: var(--tc-radius-xl);
  color: #fff;
}
@media (min-width: 800px) {
  .tc-about-cta { flex-direction: row; align-items: center; justify-content: space-between; padding: 44px; }
  .tc-about-cta__text { flex: 1; }
}
.tc-about-cta__title { font-family: var(--tc-font-head); font-size: clamp(1.375rem, 3vw, 1.75rem); font-weight: 800; margin: 0 0 8px; }
.tc-about-cta__desc { font-size: var(--tc-fs-md); line-height: 1.6; color: rgba(255,255,255,.7); margin: 0; max-width: 52ch; }
.tc-about-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; flex-shrink: 0; }

/* ============================================================
   WordPress core — clase standard cerute de temă
   ============================================================ */

/* Accesibilitate */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #fff;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0,0,0,.6);
  clip: auto !important;
  clip-path: none;
  color: var(--tc-accent);
  display: block;
  font-size: 14px;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Aliniere imagini/conținut (WP) */
.alignleft   { float: left; margin-right: 1.5em; margin-bottom: 1em; }
.alignright  { float: right; margin-left: 1.5em; margin-bottom: 1em; }
.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto; }
.alignwide   { margin-left: -40px; margin-right: -40px; max-width: 100vw; }
.alignfull   { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: 100vw; }

/* Caption + galerii */
.wp-caption { max-width: 100%; margin-bottom: 1.5em; }
.wp-caption img[class*="wp-image-"] { display: block; margin: 0 auto; }
.wp-caption .wp-caption-text { font-size: var(--tc-fs-xs); color: var(--tc-text-muted); padding: 8px 0; text-align: center; }
.wp-caption-text { font-size: var(--tc-fs-xs); color: var(--tc-text-muted); }
.gallery-caption { display: block; }

/* Sticky / bypostauthor (cerute de Theme Check) */
.sticky { display: block; }
.bypostauthor { display: block; }

/* Conținut editorial (blog/pagini) */
.tc-prose .entry-content,
.tc-prose .entry-summary { line-height: 1.7; color: var(--tc-text); }
.tc-prose .entry-content > * + * { margin-top: 1em; }
.tc-prose .entry-content h2,
.tc-prose .entry-content h3 { font-family: var(--tc-font-head); margin-top: 1.4em; }
.tc-prose .entry-content a:not(.tc-btn) { color: var(--tc-accent); text-decoration: underline; }
.tc-prose .entry-content img { max-width: 100%; height: auto; border-radius: var(--tc-radius); }

.page-header { margin-bottom: 28px; }
.entry-meta,
.entry-footer { font-size: var(--tc-fs-xs); color: var(--tc-text-muted); display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; }
.post-thumbnail { display: block; margin-bottom: 20px; }
.post-thumbnail img { width: 100%; height: auto; border-radius: var(--tc-radius); }

/* Widget-uri + comentarii */
.widget-area { margin-top: 40px; }
.widget { margin-bottom: 28px; }
.widget-title { font-family: var(--tc-font-head); font-size: var(--tc-fs-md); margin-bottom: 12px; }
.comment-list { list-style: none; margin: 0; padding: 0; }
.comment-list .children { list-style: none; margin-left: 24px; }
.comments-title,
.comment-reply-title { font-family: var(--tc-font-head); font-size: var(--tc-fs-lg); margin: 32px 0 16px; }

/* ============================================================
   WOOCOMMERCE LOOP (shop / search / archive) — grila temei
   ============================================================ */
.woocommerce-content .woocommerce-result-count {
  font-size: var(--tc-fs-sm);
  color: var(--tc-text-muted);
  margin: 0 0 4px;
}
.woocommerce-content .woocommerce-ordering { margin: 0 0 20px; }
.woocommerce-content .woocommerce-ordering select {
  font: inherit;
  padding: 8px 12px;
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius-sm);
  background: #fff;
  color: var(--tc-text);
}

/* WC ordering în toolbar-ul temei (pagina magazin) — același look ca .tc-results__sort-select. */
.tc-results__sort .woocommerce-ordering { margin: 0; }
.tc-results__sort .woocommerce-ordering select,
.tc-results__sort select.orderby {
  appearance: none;
  -webkit-appearance: none;
  padding: 9px 34px 9px 16px;
  background: var(--tc-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B4332' stroke-width='2.5'%3E%3Cpath d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E") no-repeat right 12px center / 13px;
  border: 1.5px solid var(--tc-border);
  border-radius: 999px;
  font-size: var(--tc-fs-sm);
  font-weight: 600;
  color: var(--tc-text);
  cursor: pointer;
  max-width: 100%;
}

/* Grila WooCommerce default (ul.products) → aceeași grilă ca .tc-product-grid */
ul.products {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
ul.products::before,
ul.products::after { content: none !important; display: none !important; }
ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
}
@media (min-width: 480px)  { ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 560px)  { ul.products { gap: 16px; } }
@media (min-width: 1100px) { ul.products { grid-template-columns: repeat(3, 1fr); } }

/* ============================================================
   EMPTY STATE (search gol / categorie goală / shop gol)
   ============================================================ */
.tc-empty-state {
  text-align: center;
  max-width: 560px;
  margin: 8px auto 24px;
  padding: 8px 0 24px;
}
.tc-empty-state__icon {
  width: 72px; height: 72px;
  margin: 0 auto 18px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--tc-accent-wash);
  color: var(--tc-accent);
}
.tc-empty-state__icon svg { width: 34px; height: 34px; }
.tc-empty-state__title {
  font-family: var(--tc-font-head);
  font-weight: 800;
  font-size: var(--tc-fs-xl);
  margin: 0 0 8px;
  color: var(--tc-text);
}
.tc-empty-state__desc {
  color: var(--tc-text-muted);
  margin: 0 auto 22px;
  max-width: 460px;
  line-height: 1.55;
}
.tc-empty-state__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-bottom: 28px;
}
.tc-empty-state__actions .tc-btn { display: inline-flex; align-items: center; gap: 8px; }
.tc-empty-state__cats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  align-items: center;
}
.tc-empty-state__cats-label {
  width: 100%;
  font-size: var(--tc-fs-sm);
  color: var(--tc-text-light);
  margin-bottom: 4px;
}
.tc-empty-state__chip {
  padding: 7px 14px;
  background: var(--tc-surface);
  border: 1px solid var(--tc-border);
  border-radius: 100px;
  font-size: var(--tc-fs-sm);
  font-weight: 500;
  color: var(--tc-text);
  transition: background var(--tc-ease), border-color var(--tc-ease), color var(--tc-ease);
}
.tc-empty-state__chip:hover {
  background: var(--tc-accent);
  border-color: var(--tc-accent);
  color: #fff;
}

/* 404 */
.tc-empty-state--404 { max-width: 600px; padding-top: 16px; }
.tc-404__code {
  display: block;
  font-family: var(--tc-font-head);
  font-weight: 800;
  font-size: clamp(3.5rem, 12vw, 6rem);
  line-height: 1;
  letter-spacing: -.04em;
  color: var(--tc-accent);
  margin: 0 0 6px;
}
.tc-404__search { max-width: 440px; margin: 0 auto 24px; text-align: left; }

/* Atributul HTML `hidden` trebuie să ascundă mereu (chiar și peste display:flex/grid). */
[hidden] { display: none !important; }

/* Arhivă/căutare produse goală: centrează titlul peste empty-state. */
.tc-no-products .woocommerce-products-header,
.tc-no-products .woocommerce-products-header__title,
.tc-no-products .page-header,
.tc-no-products .page-title { text-align: center; }
