/* Sekcje strony glownej Trybikowni. */
.tb-sec,
.tb-sec * {
  box-sizing: border-box;
}

.tb-sec {
  inline-size: 100%;
  max-inline-size: none;
  margin: 0;
  overflow: clip;
  padding: var(--tb-section-space) var(--tb-space-4);
  background: var(--tb-bg);
  color: var(--tb-text);
  text-align: start;
}

.tb-sec__inner {
  inline-size: min(100%, 72rem);
  margin-inline: auto;
}

.tb-sec__inner--headed {
  display: block;
}

.tb-sec :where(h1, h2, h3, p, ul) {
  margin-block-start: 0;
}

.tb-sec :where(a, p, h1, h2, h3) {
  overflow-wrap: anywhere;
}

.tb-sec.tb-sec :is(.tb-step__title, .tb-sec__title, .tb-card__title) {
  color: var(--tb-text);
}

.tb-sec__inner--headed > :is(.tb-eyebrow, .tb-sec__title, .tb-sec__lead) {
  margin-inline: auto;
  text-align: center;
}

.tb-sec__title {
  max-inline-size: 22ch;
  margin-block-end: var(--tb-space-3);
  font-size: var(--tb-step-4);
}

.tb-sec__lead {
  max-inline-size: 62ch;
  margin-block-end: var(--tb-space-6);
  color: var(--tb-text-soft);
  font-size: var(--tb-step-1);
}

.tb-eyebrow {
  margin-block-end: var(--tb-space-2);
  color: var(--tb-accent-text);
  font-family: var(--tb-font-body);
  font-size: var(--tb-step--1);
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tb-sec--hero {
  padding: 0;
  background: var(--tb-surface);
}

.tb-hero {
  position: relative;
  display: grid;
  min-block-size: clamp(34rem, 76svh, 50rem);
  align-items: center;
  isolation: isolate;
  overflow: hidden;
}

.tb-hero::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, rgb(6 46 50 / 94%) 0%, rgb(6 46 50 / 90%) 58%, rgb(6 46 50 / 55%) 80%, rgb(6 46 50 / 30%) 100%);
  content: "";
}

.tb-hero__media {
  position: absolute;
  z-index: -2;
  inset: 0;
  display: block;
  margin: 0;
}

.tb-hero__media img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: center;
}

.tb-hero__content {
  inline-size: min(100%, 72rem);
  margin-inline: auto;
  padding: var(--tb-section-space) var(--tb-space-4);
}

.tb-hero__content > * {
  max-inline-size: 42rem;
}

.tb-sec--hero .tb-eyebrow {
  color: #ffb2a5;
}

.tb-sec--hero.tb-sec .tb-hero__title {
  max-inline-size: 13ch;
  margin-block-end: var(--tb-space-4);
  color: var(--tb-hero-ink);
  font-size: var(--tb-step-5);
  text-shadow: 0 2px 24px rgb(0 0 0 / 28%);
}

.tb-hero__lead {
  max-inline-size: 54ch;
  margin-block-end: var(--tb-space-5);
  color: var(--tb-hero-ink);
  font-size: var(--tb-step-1);
  font-weight: 550;
}

.tb-hero__actions {
  margin: 0;
}

.tb-button .wp-block-button__link,
.tb-card__link a {
  display: inline-flex;
  min-block-size: 3.25rem;
  align-items: center;
  justify-content: center;
  padding: var(--tb-space-3) var(--tb-space-5);
  border: 2px solid var(--tb-accent);
  border-radius: 999px;
  background: var(--tb-accent);
  color: var(--tb-accent-ink);
  font-family: var(--tb-font-body);
  font-size: var(--tb-step-0);
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}

.tb-button .wp-block-button__link:hover,
.tb-card__link a:hover {
  border-color: var(--tb-accent-hover);
  background: var(--tb-accent-hover);
  color: var(--tb-accent-ink);
}

.tb-hero__actions .wp-block-button__link {
  min-block-size: 3.75rem;
  padding-inline: clamp(1rem, 3vw, 2rem);
  font-size: clamp(0.82rem, 0.75rem + 0.28vw, 1rem);
}

.tb-tool {
  padding: var(--tb-section-space) var(--tb-space-4);
  border-block-end: 1px solid var(--tb-border-soft);
  background: var(--tb-surface);
}

.tb-tool .tb-sec__lead {
  margin-block-end: var(--tb-space-5);
}

.tb-selector {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(14rem, auto);
  align-items: stretch !important;
  gap: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--tb-border);
  border-radius: calc(var(--tb-radius) + 4px);
  background: var(--tb-surface-2);
  box-shadow: 0 14px 34px rgb(0 65 69 / 10%);
}

.tb-step {
  display: flex;
  min-inline-size: 0;
  flex-direction: column;
  justify-content: center;
  padding: var(--tb-space-5);
  border-inline-end: 1px solid var(--tb-border-soft);
  color: var(--tb-text);
}

.tb-step__number {
  margin-block-end: var(--tb-space-2);
  color: var(--tb-accent-text);
  font-family: var(--tb-font-mono);
  font-size: var(--tb-step--1);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tb-step__title {
  margin-block-end: var(--tb-space-3);
  font-size: var(--tb-step-1);
}

.tb-faux-select {
  display: flex;
  min-block-size: 3.25rem;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  padding: var(--tb-space-3) var(--tb-space-4);
  border: 1px solid var(--tb-border);
  border-radius: var(--tb-radius);
  background: var(--tb-surface);
  color: var(--tb-text);
  font-size: var(--tb-step-0);
}

.tb-faux-select::after {
  margin-inline-start: var(--tb-space-3);
  color: var(--tb-text-mute);
  content: "v";
  font-family: var(--tb-font-mono);
  font-weight: 800;
}

.tb-step--action {
  align-items: center;
  border-inline-end: 0;
  background: var(--tb-primary-soft);
  text-align: center;
}

.tb-step--action .tb-step__actions {
  margin: auto 0;
}

.tb-step--action .wp-block-button__link {
  border-color: var(--tb-primary);
  background: var(--tb-primary);
  color: var(--tb-primary-ink);
}

.tb-step--action .wp-block-button__link:hover {
  border-color: var(--tb-primary-hover);
  background: var(--tb-primary-hover);
  color: var(--tb-primary-ink);
}

.tb-quick {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--tb-space-3) var(--tb-space-5);
  margin-block-start: var(--tb-space-5);
}

.tb-quick > .tb-quick__label {
  margin: 0 !important;
  color: var(--tb-text);
  font-weight: 800;
}

.tb-quick > .tb-quick-links {
  display: flex;
  flex-wrap: wrap;
  inline-size: auto !important;
  gap: var(--tb-space-2) var(--tb-space-4);
  margin: 0 !important;
  padding: 0;
  list-style: none;
}

.tb-quick-links a {
  color: var(--tb-accent-text);
  font-size: var(--tb-step--1);
  font-weight: 750;
}

.tb-sec--kategorie,
.tb-sec--poradniki,
.tb-sec--poradniki-najnowsze,
.tb-sec--stopka-info {
  background: var(--tb-bg);
}

.tb-sec--eksploatacja,
.tb-sec--opinie,
.tb-sec--newsletter {
  background: var(--tb-surface-2);
}

.tb-grid {
  display: grid !important;
  grid-auto-rows: 1fr;
  align-items: stretch !important;
  gap: var(--tb-space-5);
  margin-block-start: 0;
  margin-block-end: 0;
}

.tb-grid > .wp-block-column {
  align-self: stretch;
  block-size: 100%;
  min-inline-size: 0;
}

.tb-grid--categories,
.tb-grid--guides,
.tb-grid--reviews,
.tb-guides-query__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tb-grid--wear {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tb-card,
.tb-guide-post {
  position: relative;
  display: flex;
  min-inline-size: 0;
  flex-direction: column;
  height: 100%;
  padding: var(--tb-space-5);
  overflow: hidden;
  border: 1px solid var(--tb-border-soft);
  border-radius: calc(var(--tb-radius) + 4px);
  background: var(--tb-surface);
  color: var(--tb-text);
  box-shadow: 0 12px 30px rgb(0 65 69 / 8%);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.tb-card:is(:hover, :focus-within),
.tb-guide-post:is(:hover, :focus-within) {
  border-color: var(--tb-primary);
  box-shadow: 0 16px 38px rgb(0 65 69 / 14%);
  transform: translateY(-3px);
}

.tb-card__media,
.tb-guide-post__image {
  inline-size: calc(100% + (2 * var(--tb-space-5)));
  margin: calc(var(--tb-space-5) * -1) calc(var(--tb-space-5) * -1) var(--tb-space-4);
  overflow: hidden;
  background: var(--tb-primary-soft);
}

.tb-card__media img,
.tb-guide-post__image img {
  display: block;
  inline-size: 100%;
  max-inline-size: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 300ms ease;
}

.tb-card:is(:hover, :focus-within) .tb-card__media img,
.tb-guide-post:is(:hover, :focus-within) .tb-guide-post__image img {
  transform: scale(1.025);
}

.tb-card__title {
  margin-block-end: var(--tb-space-3);
  font-size: var(--tb-step-2);
}

.tb-card__copy {
  margin-block-end: var(--tb-space-5);
  color: var(--tb-text-soft);
}

.tb-card__link {
  margin-block: auto 0;
}

.tb-card__link a {
  min-block-size: 2.75rem;
  padding: var(--tb-space-2) var(--tb-space-4);
  border-color: var(--tb-primary);
  background: var(--tb-primary);
  color: var(--tb-primary-ink);
  font-size: var(--tb-step--1);
}

.tb-card__link a:hover {
  border-color: var(--tb-primary-hover);
  background: var(--tb-primary-hover);
  color: var(--tb-primary-ink);
}

.tb-card--wear {
  min-block-size: 18rem;
}

.tb-feature-media {
  inline-size: 100%;
  margin: 0 0 var(--tb-space-6);
  overflow: hidden;
  border-radius: calc(var(--tb-radius) + 4px);
  background: var(--tb-primary-soft);
  box-shadow: 0 14px 34px rgb(0 65 69 / 10%);
}

.tb-feature-media img {
  display: block;
  inline-size: 100%;
  aspect-ratio: 3 / 1;
  object-fit: cover;
  object-position: center 48%;
}

.tb-sec--zaufanie {
  padding-block: var(--tb-space-6);
  background: var(--tb-primary);
  color: var(--tb-primary-ink);
}

.tb-trust {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch !important;
  gap: 0;
  margin: 0;
}

.tb-trust__item {
  display: flex;
  min-inline-size: 0;
  align-items: center;
  justify-content: center;
  gap: var(--tb-space-3);
  padding: var(--tb-space-3) var(--tb-space-4);
  border-inline-end: 1px solid currentColor;
  color: var(--tb-primary-ink);
}

.tb-trust__item:last-child {
  border-inline-end: 0;
}

.tb-trust__item .wp-block-html {
  display: flex;
  flex: 0 0 auto;
}

.tb-trust__icon {
  display: block;
  color: var(--tb-primary-ink);
}

.tb-trust__label {
  margin: 0;
  color: var(--tb-primary-ink);
  font-size: var(--tb-step-0);
  font-weight: 800;
  line-height: 1.25;
}

.tb-reviews__slot,
.tb-newsletter__slot,
.tb-query-empty {
  max-inline-size: none;
  margin-block: 0 var(--tb-space-5);
  padding: var(--tb-space-5);
  border: 1px solid var(--tb-border);
  border-radius: var(--tb-radius);
  background: var(--tb-surface);
  color: var(--tb-text-soft);
  text-align: center;
}

.tb-reviews__slot p,
.tb-newsletter__slot p,
.tb-query-empty p {
  max-inline-size: none;
  margin: 0;
  color: var(--tb-text-soft);
}

.tb-review__quote {
  margin-block-end: var(--tb-space-5);
  color: var(--tb-text);
  font-size: var(--tb-step-1);
}

.tb-review__quote p {
  margin: 0;
  color: var(--tb-text);
}

.tb-review__meta {
  margin-block: auto 0;
  color: var(--tb-text-mute);
  font-family: var(--tb-font-mono);
  font-size: var(--tb-step--1);
}

.tb-guides-query__grid {
  display: grid;
  grid-auto-rows: 1fr;
  gap: var(--tb-space-5);
  margin: 0;
  padding: 0;
}

.tb-guides-query__grid > .wp-block-post {
  min-inline-size: 0;
  height: 100%;
}

.tb-guide-post__date {
  margin-block: 0 var(--tb-space-2);
  color: var(--tb-text-mute);
  font-family: var(--tb-font-mono);
  font-size: var(--tb-step--1);
}

.tb-sec.tb-sec .tb-guide-post__title {
  margin-block: 0 var(--tb-space-3);
  color: var(--tb-text);
  font-size: var(--tb-step-2);
}

.tb-guide-post__title a {
  color: var(--tb-text);
}

.tb-guide-post__title a:hover {
  color: var(--tb-accent-text);
}

.tb-guide-post__excerpt {
  margin-block: auto 0;
  color: var(--tb-text-soft);
}

.tb-guide-post__excerpt .wp-block-post-excerpt__more-link {
  display: inline-flex;
  min-block-size: 2.75rem;
  align-items: center;
  justify-content: center;
  margin-block-start: var(--tb-space-4);
  padding: var(--tb-space-2) var(--tb-space-4);
  border: 2px solid var(--tb-primary);
  border-radius: 999px;
  background: var(--tb-primary);
  color: var(--tb-primary-ink);
  font-size: var(--tb-step--1);
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.tb-guide-post__excerpt .wp-block-post-excerpt__more-link:hover {
  border-color: var(--tb-primary-hover);
  background: var(--tb-primary-hover);
  color: var(--tb-primary-ink);
}

.tb-newsletter__slot {
  margin-block-end: 0;
}

.tb-footer-info {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch !important;
  gap: var(--tb-space-5);
  margin: 0;
}

.tb-footer-info__column {
  min-inline-size: 0;
  height: 100%;
  padding-inline-start: var(--tb-space-4);
  border-inline-start: 3px solid var(--tb-primary);
}

.tb-sec.tb-sec .tb-footer-info__title {
  margin-block-end: var(--tb-space-4);
  color: var(--tb-text);
  font-size: var(--tb-step-1);
}

.tb-footer-info__column p,
.tb-footer-info__links a {
  color: var(--tb-text-soft);
}

.tb-footer-info__links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.tb-footer-info__links li + li {
  margin-block-start: var(--tb-space-2);
}

.tb-footer-info__links a:hover {
  color: var(--tb-accent-text);
}

.custom-logo {
  inline-size: auto;
  max-inline-size: min(14rem, 56vw);
  block-size: 3rem;
}

.home .entry-header,
.home .page-title,
.home .hero-section {
  display: none;
}

@media (max-width: 56.25rem) {
  .tb-selector {
    grid-template-columns: 1fr 1fr;
  }

  .tb-step:nth-child(2) {
    border-inline-end: 0;
  }

  .tb-step--action {
    grid-column: 1 / -1;
    border-block-start: 1px solid var(--tb-border-soft);
  }

  .tb-grid--categories,
  .tb-grid--wear,
  .tb-footer-info {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tb-trust {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tb-trust__item:nth-child(2) {
    border-inline-end: 0;
  }

  .tb-trust__item:nth-child(-n + 2) {
    border-block-end: 1px solid currentColor;
  }
}

@media (max-width: 43.75rem) {
  .tb-grid--guides,
  .tb-grid--reviews,
  .tb-guides-query__grid {
    grid-template-columns: 1fr;
  }

  .tb-feature-media img {
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 37.5rem) {
  .tb-sec,
  .tb-tool {
    padding-inline: var(--tb-space-3);
  }

  .tb-hero {
    min-block-size: 70svh;
  }

  .tb-hero::after {
    background: linear-gradient(90deg, rgb(6 46 50 / 94%), rgb(6 46 50 / 84%));
  }

  .tb-hero__content {
    padding-inline: var(--tb-space-3);
  }

  .tb-selector,
  .tb-grid--categories,
  .tb-grid--wear,
  .tb-trust,
  .tb-footer-info {
    grid-template-columns: 1fr;
  }

  .tb-step,
  .tb-step:nth-child(2) {
    border-inline-end: 0;
    border-block-end: 1px solid var(--tb-border-soft);
  }

  .tb-step--action {
    grid-column: auto;
    border-block-start: 0;
    border-block-end: 0;
  }

  .tb-quick {
    align-items: stretch;
    flex-direction: column;
    text-align: center;
  }

  .tb-quick > .tb-quick-links {
    justify-content: center;
  }

  .tb-trust__item,
  .tb-trust__item:nth-child(2),
  .tb-trust__item:nth-child(-n + 2) {
    justify-content: flex-start;
    border-inline-end: 0;
    border-block-end: 1px solid currentColor;
  }

  .tb-trust__item:last-child {
    border-block-end: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tb-card,
  .tb-guide-post,
  .tb-card__media img,
  .tb-guide-post__image img {
    transition: none;
  }

  .tb-card:is(:hover, :focus-within),
  .tb-guide-post:is(:hover, :focus-within),
  .tb-card:is(:hover, :focus-within) .tb-card__media img,
  .tb-guide-post:is(:hover, :focus-within) .tb-guide-post__image img {
    transform: none;
  }
}

/* --- Poprawki kontrastu po weryfikacji przebudowy --- */

/* Jasny koral z hero wyciekal na sekcje selektora, ktora ma biale tlo
   (kontrast 1,73). Eyebrow poza samym hero bierze ciemny wariant akcentu. */
.tb-sec--hero .tb-tool .tb-eyebrow,
.tb-tool .tb-eyebrow {
	color: var(--tb-accent-text);
}

/* Naglowek Blocksy zostaje jasny takze w trybie ciemnym, wiec kontrolki
   musza miec wlasny ciemny kolor - nie dziedzicza schematu. */
.ct-header-search.ct-toggle,
.ct-header-trigger.ct-toggle {
	color: #0d2b2f;
}

@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .ct-header-search.ct-toggle,
	:root:not([data-theme="light"]) .ct-header-trigger.ct-toggle {
		color: #0d2b2f;
	}
}

:root[data-theme="dark"] .ct-header-search.ct-toggle,
:root[data-theme="dark"] .ct-header-trigger.ct-toggle {
	color: #0d2b2f;
}

/* Logo obrazkowe jest wlaczone - tekstowy tytul dubluje nazwe marki. */
.site-logo-container img + .site-title,
.site-branding .site-title {
	display: none;
}
