/* TOR Industries – style z szablonu sklepu tor-industries.pl (moduł tortheme) | Realizacja: Mysklep.pl */
/* =========================================================
   TOR Industries – elementy modułu tortheme
   (pasek kontaktowy, menu kategorii, slider, wyróżniki,
    kafle kategorii, doradztwo, o firmie, stopka)
   ========================================================= */

.tor-ico { width: 1.15em; height: 1.15em; flex: 0 0 auto; }

/* ---------- pasek ostrzegawczy (szlaczek) ---------- */
.tor-hazard {
  height: 14px;
  background: repeating-linear-gradient(-45deg, var(--tor-yellow) 0 16px, #15181c 16px 32px);
}
.tor-hazard--thin { height: 6px; }
.tor-hazard--footer { height: 12px; }

/* ---------- pasek górny ---------- */
.tor-header-top { background: var(--tor-navy); color: #c9d6e2; font-size: .875rem; display: flex; }
.tor-header-top > .tor-topbar { flex: 1 1 auto; }
.tor-topbar__in { display: flex; align-items: center; gap: 1.5rem; min-height: 40px; }
.tor-topbar__msg { font-family: var(--tor-font-head); text-transform: uppercase; letter-spacing: .06em; font-weight: 600; color: var(--tor-yellow); margin-right: auto; }
.tor-topbar__list { display: flex; flex-wrap: wrap; gap: .25rem 1.4rem; margin: 0 0 0 auto; padding: 0; list-style: none; }
.tor-topbar__list li { display: flex; align-items: center; gap: .4rem; }
.tor-topbar__list a { color: #fff; text-decoration: none; display: inline-flex; align-items: center; gap: .4rem; font-weight: 500; }
.tor-topbar__list a:hover { color: var(--tor-yellow); }
.tor-topbar__list .tor-ico { color: var(--tor-yellow); }
@media (max-width: 767.98px) {
  .tor-topbar__in { justify-content: center; min-height: 34px; }
  .tor-topbar__list { margin: 0; justify-content: center; }
}

/* ---------- menu kategorii ---------- */
.tor-catmenu { background: #fff; position: relative; font-size: .95rem; }
.tor-catmenu__head {
  display: flex; align-items: center; gap: .6rem; padding: .85rem 1.1rem;
  background: var(--tor-yellow); color: #111;
  font-family: var(--tor-font-head); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; font-size: 1.05rem;
}
.tor-catmenu__list { list-style: none; margin: 0; padding: .35rem 0; }
.tor-catmenu__item { position: relative; }
.tor-catmenu__link {
  display: flex; align-items: center; gap: .65rem; padding: .36rem 2.2rem .36rem 1.1rem;
  color: var(--tor-ink); text-decoration: none; font-weight: 500; line-height: 1.25;
  border-left: 3px solid transparent; transition: background .15s, color .15s, border-color .15s;
}
.tor-catmenu__thumb { width: 26px; height: 26px; object-fit: contain; }
.tor-catmenu__item.has-children > .tor-catmenu__link::after {
  content: ""; position: absolute; right: 1rem; top: 50%; width: 7px; height: 7px; margin-top: -4px;
  border-right: 2px solid currentColor; border-top: 2px solid currentColor; transform: rotate(45deg); opacity: .45;
}
.tor-catmenu__item:hover > .tor-catmenu__link,
.tor-catmenu__item:focus-within > .tor-catmenu__link { background: var(--tor-bg); color: var(--tor-blue); border-left-color: var(--tor-yellow); }
.tor-catmenu__toggle { display: none; }

.tor-catmenu__sub {
  position: absolute; left: 100%; top: 0; z-index: 30; min-width: 300px; width: max-content; max-width: 620px;
  background: #fff; padding: 1.1rem 1.4rem 1.2rem; box-shadow: 0 18px 40px rgba(10, 34, 54, .18);
  border-top: 4px solid var(--tor-yellow);
  opacity: 0; visibility: hidden; transform: translateX(8px); transition: opacity .18s, transform .18s, visibility .18s;
}
.tor-catmenu__item:hover > .tor-catmenu__sub,
.tor-catmenu__item:focus-within > .tor-catmenu__sub { opacity: 1; visibility: visible; transform: none; }
.tor-catmenu__subhead { display: block; font-family: var(--tor-font-head); font-weight: 700; text-transform: uppercase; font-size: 1.15rem; color: var(--tor-navy); text-decoration: none; margin-bottom: .5rem; letter-spacing: .02em; }
.tor-catmenu__sub ul { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 2rem; }
.tor-catmenu__sub li { break-inside: avoid; }
.tor-catmenu__sub a { display: block; padding: .3rem 0; color: var(--tor-ink); text-decoration: none; }
.tor-catmenu__sub a:hover { color: var(--tor-blue); text-decoration: underline; text-decoration-color: var(--tor-yellow); text-underline-offset: 3px; }
.tor-catmenu__sub li:only-child { columns: 1; }
.tor-catmenu__sub3 { columns: 1 !important; padding-left: .8rem !important; font-size: .9em; }

/* menu w pionie na stronie głównej */
.tor-catmenu--sidebar { height: 100%; box-shadow: 0 10px 30px rgba(0, 0, 0, .18); }

/* menu rozwijane z nagłówka */
.tor-nav__cats { position: relative; }
.tor-nav__cats-panel { position: absolute; left: 0; top: 100%; z-index: 60; width: 300px; display: none; box-shadow: 0 20px 40px rgba(10, 34, 54, .25); }
.tor-nav__cats-panel.is-open { display: block; }
.tor-nav__cats-close { display: none; }
@media (min-width: 992px) {
  .tor-nav__cats:hover .tor-nav__cats-panel { display: block; }
  /* na stronie głównej menu jest widoczne w hero — rozwijane tylko, gdy hero zniknie z ekranu (front.js) */
  .tor-nav__cats--home.is-hero-visible .tor-nav__cats-panel { display: none !important; }
  .tor-catmenu--sidebar.is-pulse { animation: tor-pulse 1s ease; }
}
@keyframes tor-pulse { 0%, 100% { box-shadow: 0 10px 30px rgba(0, 0, 0, .18); } 30% { box-shadow: 0 0 0 4px var(--tor-yellow), 0 10px 30px rgba(0, 0, 0, .18); } }

/* telefon / tablet: panel z boku ekranu */
@media (max-width: 991.98px) {
  .tor-nav__cats-panel {
    position: fixed; inset: 0 auto 0 0; width: min(88vw, 360px); overflow-y: auto; background: #fff;
    display: block; transform: translateX(-105%); transition: transform .25s ease; z-index: 1060;
  }
  .tor-nav__cats-panel.is-open { transform: none; box-shadow: 0 0 0 100vmax rgba(5, 18, 30, .55); }
  body.tor-cats-open { overflow: hidden; }
  .tor-nav__cats-close { display: block; position: absolute; right: .5rem; top: .35rem; z-index: 2; background: none; border: 0; font-size: 2rem; line-height: 1; color: #111; }
  .tor-catmenu__sub { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0 1rem .5rem 1.6rem; display: none; min-width: 0; max-width: none; width: auto; }
  .tor-catmenu__item.is-open > .tor-catmenu__sub { display: block; }
  .tor-catmenu__sub ul { columns: 1; }
  .tor-catmenu__subhead { display: none; }
  .tor-catmenu__item.has-children > .tor-catmenu__link::after { display: none; }
  .tor-catmenu__toggle { display: block; position: absolute; right: .25rem; top: .15rem; width: 2.4rem; height: 2.2rem; background: none; border: 0; }
  .tor-catmenu__toggle::before { content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -6px 0 0 -4px; border-right: 2px solid var(--tor-ink); border-bottom: 2px solid var(--tor-ink); transform: rotate(45deg); transition: transform .2s; }
  .tor-catmenu__item.is-open > .tor-catmenu__toggle::before { transform: rotate(-135deg); margin-top: -2px; }
  .tor-catmenu__item:hover > .tor-catmenu__sub { display: none; }
  .tor-catmenu__item.is-open:hover > .tor-catmenu__sub { display: block; }
}

/* ---------- HERO: menu + slider ---------- */
.tor-hero {
  position: relative; padding: 1.5rem 0 2rem;
  background:
    linear-gradient(115deg, rgba(16, 171, 205, .14) 0 30%, transparent 30%),
    radial-gradient(1200px 400px at 80% 0, rgba(6, 89, 130, .55), transparent 70%),
    var(--tor-navy);
}
.tor-hero::after { /* siatka w tle jak na planie budowy */
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .07;
  background-image: linear-gradient(#fff 1px, transparent 1px), linear-gradient(90deg, #fff 1px, transparent 1px);
  background-size: 48px 48px;
}
.tor-hero .container { position: relative; z-index: 1; }
.tor-hero__grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; align-items: stretch; }
@media (min-width: 992px) { .tor-hero__grid { grid-template-columns: 290px minmax(0, 1fr); } }
.tor-hero__main { min-width: 0; display: flex; flex-direction: column; }
.tor-hero__main > .tor-slider { flex: 1 1 auto; display: flex; flex-direction: column; }
.tor-hero__main .tor-slider__track { flex: 1 1 auto; }
.tor-slider--image-bg { background: #fff; }

/* ---------- SLIDER ---------- */
.tor-slider { position: relative; overflow: hidden; background: #fff; box-shadow: 0 14px 40px rgba(0, 0, 0, .35); --tor-dir: 1; }
.tor-slider:focus-within { outline: none; }
.tor-slider__track { position: relative; aspect-ratio: var(--tor-sl-ratio, 955 / 480); }
.tor-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; z-index: 1; }
.tor-slide.is-active { opacity: 1; visibility: visible; z-index: 3; }
.tor-slide.is-leaving { visibility: visible; z-index: 2; }
.tor-slide__link { position: absolute; inset: 0; display: block; z-index: 1; }
.tor-slide__media { position: absolute; inset: 0; overflow: hidden; }
.tor-slide__media img { width: 100%; height: 100%; object-fit: cover; display: block; transform-origin: 60% 50%; }
.tor-slide--image .tor-slide__media img { object-fit: contain; background: #fff; }
.tor-slide__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, #05121e, rgba(5, 18, 30, .2)); }

/* przejścia */
.tor-slider--fade .tor-slide { transition: opacity var(--tor-sl-speed) ease, visibility 0s linear var(--tor-sl-speed); }
.tor-slider--fade .tor-slide.is-active { transition: opacity var(--tor-sl-speed) ease, visibility 0s; }

.tor-slider--slide .tor-slide { opacity: 1; transform: translateX(calc(var(--tor-dir) * 100%)); transition: transform var(--tor-sl-speed) cubic-bezier(.65, .05, .3, 1); }
.tor-slider--slide .tor-slide.is-active { transform: none; }
.tor-slider--slide .tor-slide.is-leaving { transform: translateX(calc(var(--tor-dir) * -100%)); }

.tor-slider--zoom .tor-slide { transform: scale(1.12); transition: opacity var(--tor-sl-speed) ease, transform var(--tor-sl-speed) ease; }
.tor-slider--zoom .tor-slide.is-active { transform: none; }
.tor-slider--zoom .tor-slide.is-leaving { opacity: 0; transform: scale(.94); }

.tor-slider--wipe .tor-slide { opacity: 1; clip-path: inset(0 0 0 100%); transition: clip-path var(--tor-sl-speed) cubic-bezier(.77, 0, .18, 1); }
.tor-slider--wipe .tor-slide.is-active { clip-path: inset(0 0 0 0); z-index: 3; }
.tor-slider--wipe .tor-slide.is-leaving { clip-path: inset(0 0 0 0); }

/* rosnące tło (Ken Burns) */
@keyframes torKenBurns { from { transform: scale(1); } to { transform: scale(1.07); } }
.tor-slide--kb.is-active .tor-slide__media img,
.tor-slide--kb.is-leaving .tor-slide__media img { animation: torKenBurns calc(var(--tor-sl-interval, 6000ms) + var(--tor-sl-speed, 900ms) * 2) linear forwards; }
.tor-slider.is-paused .tor-slide--kb .tor-slide__media img { animation-play-state: paused; }

/* napisy z panelu */
.tor-slide__caption {
  position: absolute; z-index: 2; top: 50%; transform: translateY(-50%);
  left: 6%; max-width: min(56%, 560px); color: #fff; pointer-events: none;
}
.tor-slide__caption a { pointer-events: auto; }
.tor-slide--txt-center .tor-slide__caption { left: 50%; transform: translate(-50%, -50%); text-align: center; }
.tor-slide--txt-right .tor-slide__caption { left: auto; right: 6%; text-align: right; }
.tor-slide--dark .tor-slide__caption { color: var(--tor-navy); }
.tor-slide__kicker { display: inline-block; background: var(--tor-yellow); color: #111; padding: .3rem .8rem; font-family: var(--tor-font-head); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: .9rem; transform: rotate(-2deg); margin-bottom: .8rem; }
.tor-slide__title { font-family: var(--tor-font-head); font-weight: 800; text-transform: uppercase; line-height: .98; font-size: clamp(1.7rem, 4vw, 3.4rem); margin: 0 0 .6rem; }
.tor-slide__desc { font-size: clamp(.95rem, 1.4vw, 1.15rem); margin-bottom: 1.1rem; }
.tor-slide__desc p:last-child { margin: 0; }

@keyframes torUp { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
@keyframes torFromLeft { from { opacity: 0; transform: translateX(-60px); } to { opacity: 1; transform: none; } }
@keyframes torFromRight { from { opacity: 0; transform: translateX(60px); } to { opacity: 1; transform: none; } }
@keyframes torZoomIn { from { opacity: 0; transform: scale(.7); } to { opacity: 1; transform: none; } }
.tor-slide.is-active .tor-slide__caption > * { animation-duration: .8s; animation-fill-mode: both; animation-timing-function: cubic-bezier(.2, .7, .2, 1); }
.tor-slide.is-active .tor-anim--fade-up > * { animation-name: torUp; }
.tor-slide.is-active .tor-anim--slide-left > * { animation-name: torFromLeft; }
.tor-slide.is-active .tor-anim--slide-right > * { animation-name: torFromRight; }
.tor-slide.is-active .tor-anim--zoom > * { animation-name: torZoomIn; }
.tor-slide.is-active .tor-slide__caption > :nth-child(1) { animation-delay: .25s; }
.tor-slide.is-active .tor-slide__caption > :nth-child(2) { animation-delay: .4s; }
.tor-slide.is-active .tor-slide__caption > :nth-child(3) { animation-delay: .55s; }
.tor-slide.is-active .tor-slide__caption > :nth-child(4) { animation-delay: .7s; }

/* strzałki i kropki */
.tor-slider__arrow {
  position: absolute; top: 50%; z-index: 5; width: 46px; height: 46px; margin-top: -23px; border: 0; border-radius: 4px;
  background: rgba(10, 34, 54, .75); color: #fff; opacity: 0; transition: opacity .2s, background .2s;
}
.tor-slider:hover .tor-slider__arrow, .tor-slider__arrow:focus-visible { opacity: 1; }
.tor-slider__arrow:hover { background: var(--tor-yellow); color: #111; }
.tor-slider__arrow::before { content: ""; position: absolute; left: 50%; top: 50%; width: 11px; height: 11px; border-left: 3px solid currentColor; border-bottom: 3px solid currentColor; }
.tor-slider__arrow--prev { left: 12px; }
.tor-slider__arrow--prev::before { transform: translate(-30%, -50%) rotate(45deg); }
.tor-slider__arrow--next { right: 12px; }
.tor-slider__arrow--next::before { transform: translate(-70%, -50%) rotate(-135deg); }
.tor-slider__dots { position: absolute; z-index: 5; left: 0; right: 0; bottom: 12px; display: flex; justify-content: center; gap: 6px; }
.tor-slider__dot { width: 34px; height: 6px; padding: 0; border: 0; background: rgba(10, 34, 54, .3); position: relative; overflow: hidden; border-radius: 2px; }
.tor-slider__dot span { position: absolute; inset: 0; background: var(--tor-yellow); transform: scaleX(0); transform-origin: left; }
.tor-slider__dot.is-active span { transform: scaleX(1); }
@keyframes torProgress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.tor-slider.is-ticking .tor-slider__dot.is-active span { animation: torProgress var(--tor-sl-interval) linear both; }
.tor-slider.is-paused .tor-slider__dot.is-active span { animation-play-state: paused; }
@media (max-width: 575.98px) {
  .tor-slider__arrow { display: none; }
  .tor-slider__dot { width: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .tor-slide, .tor-slide * { animation: none !important; transition: none !important; }
}

/* ---------- WYRÓŻNIKI ---------- */
.tor-usp { position: relative; z-index: 2; margin-top: -1.25rem; margin-bottom: 1rem; }
.tor-usp__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); background: #fff; box-shadow: 0 10px 30px rgba(10, 34, 54, .12); border-bottom: 4px solid var(--tor-yellow); }
@media (min-width: 992px) { .tor-usp__list { grid-template-columns: repeat(4, 1fr); } }
.tor-usp__item { display: flex; align-items: center; gap: .9rem; padding: 1.15rem 1.25rem; border-right: 1px solid var(--tor-line); }
.tor-usp__item:last-child { border-right: 0; }
@media (max-width: 991.98px) { .tor-usp__item:nth-child(2n) { border-right: 0; } .tor-usp__item:nth-child(-n+2) { border-bottom: 1px solid var(--tor-line); } }
.tor-usp__icon { flex: 0 0 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: var(--tor-bg); color: var(--tor-blue); }
.tor-usp__item:nth-child(even) .tor-usp__icon { color: var(--tor-orange); }
.tor-usp__icon .tor-ico { width: 28px; height: 28px; }
.tor-usp__txt strong { display: block; font-family: var(--tor-font-head); text-transform: uppercase; font-weight: 700; font-size: 1.1rem; letter-spacing: .02em; color: var(--tor-navy); line-height: 1.1; }
.tor-usp__txt small { display: block; color: var(--tor-muted); font-size: .85rem; line-height: 1.3; margin-top: .15rem; }
@media (max-width: 575.98px) { .tor-usp__item { flex-direction: column; text-align: center; gap: .5rem; padding: 1rem .6rem; } }

/* ---------- sekcje / nagłówki ---------- */
.tor-section { padding: 3rem 0; }
.tor-section__head { margin-bottom: 1.75rem; }
.tor-kicker { display: inline-block; font-family: var(--tor-font-head); font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--tor-blue); font-size: .95rem; margin-bottom: .35rem; }
.tor-kicker--yellow { color: var(--tor-yellow); }
.tor-section__title { font-family: var(--tor-font-head); font-weight: 800; text-transform: uppercase; font-size: clamp(1.8rem, 3.2vw, 2.6rem); line-height: 1; color: var(--tor-navy); margin: 0; }
.tor-section__title::after { content: ""; display: block; width: 64px; height: 6px; margin-top: .7rem; background: repeating-linear-gradient(-45deg, var(--tor-yellow) 0 6px, #15181c 6px 12px); }

/* ---------- KAFLE KATEGORII ---------- */
.tor-tiles__grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 768px) { .tor-tiles__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .tor-tiles__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.tor-tile { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--tor-line); overflow: hidden; transition: box-shadow .2s, transform .2s, border-color .2s; }
.tor-tile::before { content: ""; position: absolute; left: 0; top: 0; height: 4px; width: 0; background: var(--tor-yellow); transition: width .3s; z-index: 2; }
.tor-tile:hover { box-shadow: 0 14px 30px rgba(10, 34, 54, .14); transform: translateY(-3px); border-color: transparent; }
.tor-tile:hover::before { width: 100%; }
.tor-tile__img { display: block; aspect-ratio: 4 / 3; background: #fff; padding: .75rem; }
.tor-tile__img img { width: 100%; height: 100%; object-fit: contain; transition: transform .35s; }
.tor-tile:hover .tor-tile__img img { transform: scale(1.06); }
.tor-tile__body { padding: .2rem 1.1rem 1rem; display: flex; flex-direction: column; flex: 1; }
.tor-tile__name { font-family: var(--tor-font-head); font-weight: 700; text-transform: uppercase; font-size: 1.25rem; line-height: 1.05; margin: 0 0 .45rem; }
.tor-tile__name a { color: var(--tor-navy); text-decoration: none; }
.tor-tile__name a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.tor-tile__subs { list-style: none; margin: 0 0 .7rem; padding: 0; font-size: .85rem; color: var(--tor-muted); }
.tor-tile__subs li { display: inline; }
.tor-tile__subs li:not(:last-child)::after { content: " · "; }
.tor-tile__subs a { color: inherit; text-decoration: none; position: relative; z-index: 2; }
.tor-tile__subs a:hover { color: var(--tor-blue); }
.tor-tile__more { margin-top: auto; display: inline-flex; align-items: center; gap: .35rem; font-family: var(--tor-font-head); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--tor-orange); text-decoration: none; font-size: .95rem; }
.tor-tile:hover .tor-tile__more .tor-ico { transform: translateX(4px); }
.tor-tile__more .tor-ico { transition: transform .2s; }
@media (max-width: 575.98px) { .tor-tile__subs { display: none; } .tor-tile__name { font-size: 1.05rem; } }

/* ---------- DORADZTWO ---------- */
.tor-cta { position: relative; margin: 2.5rem calc(50% - 50vw) 0; background: var(--tor-navy); color: #dbe6ef; overflow: hidden; }
.tor-cta::before { content: ""; position: absolute; right: -80px; top: -60px; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(16, 171, 205, .35), transparent 65%); }
.tor-cta__in { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem 3rem; padding-top: 2.6rem; padding-bottom: 2.8rem; }
.tor-cta__txt { flex: 1 1 520px; max-width: 760px; }
.tor-cta__title { font-family: var(--tor-font-head); font-weight: 800; text-transform: uppercase; color: #fff; font-size: clamp(1.8rem, 3.4vw, 2.8rem); line-height: 1; margin: 0 0 .7rem; }
.tor-cta__txt p { margin: 0; font-size: 1.05rem; }
.tor-cta__actions { display: flex; flex-wrap: wrap; gap: .8rem; }

/* ---------- O FIRMIE ---------- */
.tor-about { background: var(--tor-bg); margin: 0 calc(50% - 50vw); }
.tor-about__in { display: grid; gap: 2rem; align-items: center; }
@media (min-width: 992px) { .tor-about__in { grid-template-columns: 300px 1fr; gap: 3.5rem; } }
.tor-about__mark { display: none; }
@media (min-width: 992px) { .tor-about__mark { display: block; } .tor-about__mark img { width: 100%; height: auto; } }
.tor-about__body { margin: 1.2rem 0 1.4rem; color: #36444f; font-size: 1.02rem; max-width: 70ch; }

/* ---------- STOPKA (kolumna z logo) ---------- */
.tor-foot-brand { margin-bottom: 1.5rem; }
.tor-foot-brand__logo { width: 140px; height: auto; margin-bottom: 1rem; }
.tor-foot-brand__txt { color: #b7c6d3; font-size: .95rem; max-width: 34ch; }
.tor-foot-brand__contact { list-style: none; margin: 0; padding: 0; }
.tor-foot-brand__contact li { display: flex; align-items: center; gap: .55rem; margin-bottom: .45rem; color: #dbe6ef; }
.tor-foot-brand__contact .tor-ico { color: var(--tor-yellow); }
.tor-foot-brand__contact a { color: #fff; text-decoration: none; font-weight: 600; }
.tor-foot-brand__contact a:hover { color: var(--tor-yellow); }

/* ---------- KARTA PRODUKTU – atuty ---------- */
.tor-trust { margin: 1.25rem 0; border: 1px solid var(--tor-line); background: var(--tor-bg); }
.tor-trust__list { list-style: none; margin: 0; padding: .9rem 1rem; display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem 1rem; }
.tor-trust__list li { display: flex; align-items: center; gap: .5rem; font-size: .9rem; font-weight: 500; color: var(--tor-ink); }
.tor-trust__list .tor-ico { color: var(--tor-blue); }
.tor-trust__call { display: flex; align-items: center; gap: .8rem; padding: .8rem 1rem; background: var(--tor-navy); color: #fff; text-decoration: none; }
.tor-trust__call .tor-ico { width: 32px; height: 32px; padding: 6px; border-radius: 50%; background: var(--tor-yellow); color: #111; }
.tor-trust__call small { display: block; color: #b7c6d3; font-size: .8rem; }
.tor-trust__call strong { font-family: var(--tor-font-head); font-size: 1.4rem; letter-spacing: .03em; }
.tor-trust__call:hover strong { color: var(--tor-yellow); }

/* ---------- BLOG ---------- */
.tor-section__head--row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.tor-blog__grid { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 768px) { .tor-blog__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.tor-post { position: relative; background: #fff; border: 1px solid var(--tor-line); display: flex; flex-direction: column; transition: box-shadow .2s, transform .2s; }
.tor-post:hover { box-shadow: 0 14px 30px rgba(10, 34, 54, .14); transform: translateY(-3px); }
.tor-post__img { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--tor-navy); }
.tor-post__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.tor-post:hover .tor-post__img img { transform: scale(1.05); }
.tor-post__img--empty { background: linear-gradient(135deg, var(--tor-navy) 0 60%, var(--tor-blue) 60%); position: relative; }
.tor-post__img--empty::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 10px; background: repeating-linear-gradient(-45deg, var(--tor-yellow) 0 10px, #15181c 10px 20px); }
.tor-post__body { padding: 1rem 1.2rem 1.2rem; display: flex; flex-direction: column; flex: 1; }
.tor-post__meta { display: flex; gap: .8rem; font-size: .8rem; color: var(--tor-muted); text-transform: uppercase; letter-spacing: .05em; margin-bottom: .4rem; }
.tor-post__meta span { color: var(--tor-blue); font-weight: 600; }
.tor-post__title { font-family: var(--tor-font-head); font-weight: 700; text-transform: none; font-size: 1.35rem; line-height: 1.15; margin: 0 0 .5rem; }
.tor-post__title a { color: var(--tor-navy); text-decoration: none; }
.tor-post__title a::after { content: ""; position: absolute; inset: 0; }
.tor-post__body p { color: #45535f; font-size: .95rem; margin-bottom: .8rem; }
.tor-post .tor-tile__more { margin-top: auto; position: relative; z-index: 1; }

/* menu kategorii nad resztą strony; dolne pozycje rozwijają się w górę */
.tor-hero { z-index: 6; }
.tor-usp { z-index: 2; }
@media (min-width: 992px) {
  .tor-catmenu--sidebar .tor-catmenu__item:nth-last-child(-n+6) > .tor-catmenu__sub { top: auto; bottom: 0; }
  .tor-catmenu__sub { z-index: 50; }
}

/* pasek górny w obrębie szerokości sklepu, waluta/język dopasowane */
.tor-header-top { display: block; }
.tor-header-top__in { display: flex; align-items: center; gap: 1rem; min-height: 40px; }
.tor-header-top__in > .tor-topbar { flex: 1 1 auto; min-width: 0; }
.tor-topbar__in { display: flex; align-items: center; gap: 1.5rem; min-height: 40px; }
.tor-topbar__msg { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.tor-header-top__right { flex: 0 0 auto; align-items: center; gap: .5rem; padding: 0 0 0 1rem; border-left: 1px solid rgba(255, 255, 255, .15); }
.tor-header-top__right .form-select {
  width: auto; min-width: 0; height: 28px; padding: 0 1.6rem 0 .55rem; font-size: .8rem; font-weight: 600; line-height: 26px;
  color: #fff; background-color: transparent; border: 1px solid rgba(255, 255, 255, .25); border-radius: 3px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23f6b40e' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-size: 10px 10px; background-position: right .5rem center;
}
.tor-header-top__right .form-select:hover, .tor-header-top__right .form-select:focus { border-color: var(--tor-yellow); box-shadow: none; }
.tor-header-top__right .form-select option { color: #111; background: #fff; }
.tor-header-top__right label, .tor-header-top__right .visually-hidden-focusable { color: #c9d6e2; font-size: .8rem; }

/* ---------- FORMULARZ KONTAKTOWY ---------- */
.tor-cf { background: #fff; border: 1px solid var(--tor-line); border-top: 5px solid var(--tor-yellow); padding: 1.75rem clamp(1.1rem, 3vw, 2.25rem) 2rem; }
.tor-cf__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.tor-cf__grid { display: grid; grid-template-columns: 1fr; gap: 1rem 1.25rem; }
@media (min-width: 768px) { .tor-cf__grid { grid-template-columns: 1fr 1fr; } .tor-cf__field--full { grid-column: 1 / -1; } }
.tor-cf__field { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.tor-cf__field label { font-weight: 600; color: var(--tor-navy); font-size: .95rem; }
.tor-cf .req { color: var(--tor-red); }
.tor-cf input[type="text"], .tor-cf input[type="email"], .tor-cf input[type="tel"], .tor-cf select, .tor-cf textarea {
  width: 100%; padding: .7rem .85rem; border: 1px solid #c9d2dc; border-radius: 4px; background: #fff; font: inherit; color: var(--tor-ink);
}
.tor-cf input:focus, .tor-cf select:focus, .tor-cf textarea:focus { outline: none; border-color: var(--tor-blue); box-shadow: 0 0 0 3px rgba(16, 171, 205, .2); }
.tor-cf textarea { resize: vertical; min-height: 150px; }
.tor-cf__consent { display: flex; gap: .6rem; align-items: flex-start; margin: 1.1rem 0 0; font-size: .9rem; color: #45535f; cursor: pointer; }
.tor-cf__consent input { margin-top: .25rem; width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--tor-blue); }
.tor-cf__consent a { color: var(--tor-blue); }
.tor-cf__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.25rem; }
.tor-cf__actions small { color: var(--tor-muted); }
.tor-cf__msg { padding: .9rem 1.1rem; margin-bottom: 1.25rem; border-radius: 4px; }
.tor-cf__msg ul { margin: .35rem 0 0; padding-left: 1.2rem; }
.tor-cf__msg--ok { background: #e8f6ee; border-left: 5px solid var(--tor-green); color: #135c33; }
.tor-cf__msg--err { background: #fdecea; border-left: 5px solid var(--tor-red); color: #8a1c16; }

/* telefon w pasku górnym „dzwoni” – krótka seria drgań co kilka sekund */
@keyframes torRing {
  0%, 100% { transform: rotate(0); }
  2%, 6%, 10% { transform: rotate(-16deg); }
  4%, 8%, 12% { transform: rotate(16deg); }
  14% { transform: rotate(0); }
}
.tor-topbar__list .tor-ico--phone { transform-origin: 50% 60%; animation: torRing 3.5s ease-in-out infinite; }
.tor-topbar__list a:hover .tor-ico--phone { animation-duration: 1.2s; }
@media (prefers-reduced-motion: reduce) { .tor-topbar__list .tor-ico--phone { animation: none; } }

/* mapa dojazdu – kontakt */
.tor-map { margin-top: 1.5rem; padding: 1rem; background: #fff; border: 1px solid var(--tor-line, #e1e6ec); border-radius: 4px; }
.tor-map__title { font-size: 1.15rem; margin: 0 0 .75rem; }
.tor-map__frame { position: relative; aspect-ratio: 4 / 3; border-radius: 4px; overflow: hidden; background: #e9edf1; }
.tor-map__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.tor-map__link { display: inline-block; margin-top: .75rem; font-weight: 600; color: var(--tor-blue, #065982); }

/* lista wpisów bloga */
.tor-bloglist__h1 { margin: 0 0 .75rem; }
.tor-bloglist__desc { max-width: 70ch; margin-bottom: 1rem; }
.tor-bloglist__cats { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.5rem; }
.tor-bloglist__cats .tor-pill { display: inline-block; padding: .45rem 1rem; background: #fff; border: 1px solid var(--tor-line); border-radius: 999px; color: var(--tor-navy); font-weight: 600; text-decoration: none; }
.tor-bloglist__cats .tor-pill:hover { border-color: var(--tor-yellow); background: var(--tor-yellow); color: #111; }
.tor-bloglist__grid { display: grid; gap: 2rem 1.5rem; grid-template-columns: 1fr; margin-bottom: 2rem; }
@media (min-width: 576px) { .tor-bloglist__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .tor-bloglist__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .tor-bloglist__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.tor-bcard { display: flex; flex-direction: column; }
.tor-bcard__img { display: block; background: #fff; padding: 1.25rem; margin-bottom: 1rem; box-shadow: 0 1px 3px rgba(10, 34, 54, .08); transition: box-shadow .2s; }
.tor-bcard__img img { display: block; width: 100%; height: auto !important; aspect-ratio: 1 / 1; object-fit: cover; transition: transform .35s; }
.tor-bcard__img:hover { box-shadow: 0 10px 24px rgba(10, 34, 54, .15); }
.tor-bcard__img:hover img { transform: scale(1.03); }
.tor-bcard__img--empty { aspect-ratio: 1 / 1; background: linear-gradient(135deg, var(--tor-navy) 0 60%, var(--tor-blue) 60%); }
.tor-bcard__title { font-family: var(--tor-font-head); font-size: 1.05rem; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; line-height: 1.25; margin: 0 0 .5rem; }
.tor-bcard__title a { color: var(--tor-navy); text-decoration: none; }
.tor-bcard__title a:hover { color: var(--tor-blue); }
.tor-bcard__text { color: #45535f; font-size: .95rem; line-height: 1.5; margin: 0 0 .75rem; }
.tor-bcard__more { color: var(--tor-blue); font-weight: 600; white-space: nowrap; }
.tor-bcard__meta { margin-top: auto; display: flex; flex-wrap: wrap; gap: .4rem 1rem; padding-top: .6rem; border-top: 1px solid var(--tor-line); font-size: .82rem; color: var(--tor-muted); }
.tor-bcard__meta a { color: var(--tor-blue); text-decoration: none; text-transform: uppercase; letter-spacing: .04em; font-weight: 600; }

/* kontakt: pasek danych firmy + mapa na całą szerokość */
.tor-cbar { display: grid; grid-template-columns: 1fr; gap: 1px; background: var(--tor-line, #e1e6ec); border: 1px solid var(--tor-line, #e1e6ec); border-top: 4px solid var(--tor-yellow); margin: 0 0 1.75rem; }
@media (min-width: 768px) { .tor-cbar { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1200px) { .tor-cbar { grid-template-columns: 1.4fr 1fr 1fr 1fr; } }
.tor-cbar__item { display: flex; gap: .85rem; align-items: flex-start; background: #fff; padding: 1rem 1.25rem; }
.tor-cbar__item .tor-ico { flex: 0 0 auto; width: 28px; height: 28px; color: var(--tor-blue); margin-top: .1rem; }
.tor-cbar__item strong { display: block; font-family: var(--tor-font-head); text-transform: uppercase; letter-spacing: .04em; color: var(--tor-navy); font-size: 1rem; }
.tor-cbar__item span, .tor-cbar__item a { color: #45535f; overflow-wrap: anywhere; }
.tor-cbar__item a:hover { color: var(--tor-blue); }
.tor-map--wide { margin-top: 2rem; padding: 0; background: transparent; border: 0; }
.tor-map--wide .tor-map__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; margin-bottom: .75rem; }
.tor-map--wide .tor-map__title { margin: 0; }
.tor-map--wide .tor-map__link { margin: 0; }
.tor-map--wide .tor-map__frame { aspect-ratio: auto; height: clamp(320px, 45vw, 480px); border: 1px solid var(--tor-line, #e1e6ec); }

/* karta produktu – zakładki */
.tor-ptabs { display: none; }
@media (min-width: 768px) {
  .tor-ptabs { display: flex; flex-wrap: wrap; gap: 0; margin-top: 1.5rem; background: #fff; border: 1px solid var(--tor-line, #e1e6ec); border-bottom: 0; }
  .tor-ptabs__btn { appearance: none; background: transparent; border: 0; border-bottom: 3px solid transparent; padding: 1rem 1.5rem; font-family: var(--tor-font-head); font-weight: 700; font-size: 1.15rem; text-transform: uppercase; letter-spacing: .04em; color: var(--tor-muted, #5d6b79); cursor: pointer; transition: color .15s, border-color .15s, background .15s; }
  .tor-ptabs__btn:hover { color: var(--tor-navy); background: #f6f7f9; }
  .tor-ptabs__btn.is-active { color: var(--tor-navy); border-bottom-color: var(--tor-yellow); }
  .tor-ptabs-on { margin-top: 0 !important; border-top: 1px solid var(--tor-line, #e1e6ec); }
  .tor-ptabs-on .accordion-item { display: none; border: 0; }
  .tor-ptabs-on .accordion-item.is-tab-active { display: block; }
  .tor-ptabs-on .accordion-header { display: none; }
  .tor-ptabs-on .accordion-collapse { display: block !important; height: auto !important; }
}

/* baner cookies – wygląd szablonu TOR (granat jak stopka, żółty pasek, przyciski jak w sklepie) */
.tor-cc { position: fixed; left: 20px; bottom: 20px; z-index: 99990; width: 380px; max-width: calc(100vw - 40px); max-height: calc(100vh - 40px); overflow-y: auto; padding: 1.1rem 1.25rem 1.25rem; background: var(--tor-navy, #0a2236); color: #b7c6d3; border-top: 5px solid var(--tor-yellow, #f6b40e); border-radius: 4px; box-shadow: 0 18px 40px rgba(5, 18, 30, .35); font-size: .88rem; line-height: 1.5; }
.tor-cc[hidden] { display: none; }
.tor-cc__close { position: absolute; right: .55rem; top: .35rem; background: none; border: 0; color: #fff; font-size: 1.7rem; line-height: 1; padding: .1rem .35rem; cursor: pointer; opacity: .75; }
.tor-cc__close:hover { opacity: 1; color: var(--tor-yellow, #f6b40e); }
.tor-cc__title { margin: 0 0 .45rem; padding-right: 1.75rem; font-family: var(--tor-font-head, "Barlow Condensed", sans-serif); font-weight: 700; font-size: 1.3rem; line-height: 1.15; text-transform: uppercase; letter-spacing: .03em; color: #fff; }
.tor-cc__text { margin: 0 0 1rem; color: #b7c6d3; }
.tor-cc__text a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.tor-cc__text a:hover { color: var(--tor-yellow, #f6b40e); }
.tor-cc__btns { display: flex; gap: .6rem; }
.tor-cc__btn { flex: 1 1 0; min-height: 42px; padding: .45rem .6rem; border-radius: 4px; font-family: var(--tor-font-head, "Barlow Condensed", sans-serif); font-size: .98rem; font-weight: 700; letter-spacing: .03em; line-height: 1.1; text-transform: uppercase; white-space: nowrap; cursor: pointer; transition: background-color .15s, border-color .15s, color .15s, transform .12s, box-shadow .15s; }
.tor-cc__btn--accept { background: var(--tor-yellow, #f6b40e); border: 0; color: #111; box-shadow: 0 3px 0 #b07e00; }
.tor-cc__btn--accept:hover { background: #e06a00; color: #fff; box-shadow: 0 3px 0 #a8480a; transform: translateY(-1px); }
.tor-cc__btn--reject { background: transparent; border: 1px solid rgba(255, 255, 255, .55); color: #fff; }
.tor-cc__btn--reject:hover { border-color: #fff; background: rgba(255, 255, 255, .08); }
.tor-cc__btn:focus-visible, .tor-cc__close:focus-visible { outline: 2px solid var(--tor-yellow, #f6b40e); outline-offset: 2px; }
@media (max-width: 575.98px) {
  .tor-cc { left: 10px; right: 10px; bottom: 10px; width: auto; max-width: none; }
}
@media (prefers-reduced-motion: reduce) { .tor-cc__btn--accept:hover { transform: none; } }
.tor-cc__choose { display: inline-block; margin: -.35rem 0 1rem; padding: 0; background: none; border: 0; color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.tor-cc__choose:hover { color: var(--tor-yellow, #f6b40e); }
.tor-cc__choose::after { content: " ›"; color: var(--tor-yellow, #f6b40e); }
/* okno ustawień cookies */
.tor-ccm { position: fixed; inset: 0; z-index: 99995; display: flex; align-items: center; justify-content: center; padding: 1rem; background: rgba(5, 18, 30, .6); }
.tor-ccm[hidden] { display: none; }
body.tor-ccm-open { overflow: hidden; }
.tor-ccm__dialog { display: flex; flex-direction: column; width: 100%; max-width: 760px; max-height: calc(100vh - 2rem); background: #fff; border-top: 5px solid var(--tor-yellow, #f6b40e); border-radius: 4px; box-shadow: 0 24px 60px rgba(5, 18, 30, .4); color: var(--tor-ink, #15222e); }
.tor-ccm__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.5rem; border-bottom: 1px solid var(--tor-line, #e1e6ec); }
.tor-ccm__title { margin: 0; font-family: var(--tor-font-head, "Barlow Condensed", sans-serif); font-weight: 700; font-size: 1.45rem; line-height: 1.15; text-transform: uppercase; letter-spacing: .03em; color: var(--tor-navy, #0a2236); }
.tor-ccm__close { flex: 0 0 auto; width: 2.6rem; height: 2.6rem; background: var(--tor-bg, #f2f4f7); border: 0; border-radius: 4px; font-size: 1.6rem; line-height: 1; color: var(--tor-navy, #0a2236); cursor: pointer; }
.tor-ccm__close:hover { background: var(--tor-line, #e1e6ec); }
.tor-ccm__body { overflow-y: auto; padding: 1.1rem 1.5rem .5rem; }
.tor-ccm__intro { margin: 0 0 1.1rem; font-size: .95rem; line-height: 1.6; }
.tor-ccm__intro a { color: var(--tor-blue, #065982); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.tor-ccm__cat { margin: 0 0 .6rem; background: var(--tor-bg, #f2f4f7); border-left: 4px solid transparent; border-radius: 4px; }
.tor-ccm__cat.is-open { border-left-color: var(--tor-yellow, #f6b40e); }
.tor-ccm__cat-head { display: flex; align-items: center; gap: 1rem; padding: .35rem 1rem .35rem .5rem; }
.tor-ccm__cat-name { flex: 1 1 auto; display: flex; align-items: center; gap: .6rem; min-height: 3rem; padding: 0 .5rem; background: none; border: 0; text-align: left; font-weight: 600; font-size: 1rem; color: var(--tor-navy, #0a2236); cursor: pointer; }
.tor-ccm__cat-name::before { content: ""; flex: 0 0 auto; width: 8px; height: 8px; margin-top: -4px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s; }
.tor-ccm__cat.is-open .tor-ccm__cat-name::before { transform: rotate(-135deg); margin-top: 4px; }
.tor-ccm__cat-desc { display: none; margin: 0; padding: 0 1.25rem 1rem 2.15rem; font-size: .9rem; line-height: 1.55; color: var(--tor-muted, #5d6b79); }
.tor-ccm__cat.is-open .tor-ccm__cat-desc { display: block; }
.tor-ccm__switch { position: relative; flex: 0 0 auto; width: 3.1rem; height: 1.7rem; margin: 0; cursor: pointer; }
.tor-ccm__switch input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; z-index: 1; }
.tor-ccm__switch input:disabled { cursor: not-allowed; }
.tor-ccm__slider { position: absolute; inset: 0; background: #9aa8b6; border-radius: 1rem; transition: background-color .2s; }
.tor-ccm__slider::before { content: ""; position: absolute; left: .2rem; top: .2rem; width: 1.3rem; height: 1.3rem; background: #fff; border-radius: 50%; box-shadow: 0 1px 3px rgba(0, 0, 0, .25); transition: transform .2s; }
.tor-ccm__switch input:checked + .tor-ccm__slider { background: var(--tor-blue, #065982); }
.tor-ccm__switch input:checked + .tor-ccm__slider::before { transform: translateX(1.4rem); }
.tor-ccm__switch input:disabled + .tor-ccm__slider { opacity: .55; }
.tor-ccm__switch input:focus-visible + .tor-ccm__slider { outline: 2px solid var(--tor-yellow, #f6b40e); outline-offset: 2px; }
.tor-ccm__foot { display: flex; gap: .75rem; padding: 1rem 1.5rem 1.25rem; border-top: 1px solid var(--tor-line, #e1e6ec); }
.tor-ccm__foot .tor-cc__btn { min-height: 46px; }
.tor-ccm__btn { background: var(--tor-bg, #f2f4f7); border: 1px solid var(--tor-line, #e1e6ec); color: var(--tor-navy, #0a2236); }
.tor-ccm__btn:hover { background: var(--tor-navy, #0a2236); border-color: var(--tor-navy, #0a2236); color: #fff; }
@media (max-width: 575.98px) {
  .tor-ccm { padding: .5rem; align-items: flex-end; }
  .tor-ccm__head, .tor-ccm__body, .tor-ccm__foot { padding-left: 1rem; padding-right: 1rem; }
  .tor-ccm__foot { flex-direction: column; }
}
.tor-cc-open { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
/* --- nadpisania szablonu sklepu (custom.css) --- */
:root {
  --tor-navy: #0a2236;
  --tor-navy-2: #10324f;
  --tor-blue: #065982;
  --tor-cyan: #10abcd;
  --tor-yellow: #f6b40e;
  --tor-yellow-d: #dc9d00;
  --tor-red: #d7261e;
  --tor-orange: #ef7d00;
  --tor-green: #1f9d55;
  --tor-ink: #15222e;
  --tor-muted: #5d6b79;
  --tor-line: #e1e6ec;
  --tor-bg: #f2f4f7;
  --tor-font: "Barlow", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --tor-font-head: "Barlow Condensed", "Barlow", "Arial Narrow", sans-serif;

  
  --bs-primary: #065982;
  --bs-primary-rgb: 6, 89, 130;
  --bs-primary-text-emphasis: #065982;
  --bs-link-color: #065982;
  --bs-link-color-rgb: 6, 89, 130;
  --bs-link-hover-color: #0a2236;
  --bs-link-hover-color-rgb: 10, 34, 54;
  --bs-body-font-family: var(--tor-font);
  --bs-body-color: #15222e;
  --bs-body-color-rgb: 21, 34, 46;
  --bs-border-radius: 4px;
  --bs-border-radius-sm: 3px;
  --bs-border-radius-lg: 6px;
  --bs-tertiary-bg: #f2f4f7;
  --bs-tertiary-bg-rgb: 242, 244, 247;
}
body { font-family: var(--tor-font); font-size: 1rem; color: var(--tor-ink); background: #fff; }
.tor-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  padding: .8rem 1.5rem; border-radius: 4px; border: 2px solid transparent;
  font-family: var(--tor-font-head); font-weight: 700; font-size: 1.08rem; text-transform: uppercase; letter-spacing: .06em;
  text-decoration: none; line-height: 1.1; transition: background .15s, color .15s, transform .1s, box-shadow .15s;
}
.tor-btn:active { transform: translateY(2px); }
.tor-btn--lg { padding: 1rem 1.9rem; font-size: 1.25rem; }
.tor-btn--yellow { background: var(--tor-yellow); color: #111; box-shadow: 0 3px 0 #b07e00; }
.tor-btn--yellow:hover { background: var(--tor-yellow-d); color: #111; }
.tor-btn--ghost { border-color: rgba(255, 255, 255, .75); color: #fff; }
.tor-btn--ghost:hover { background: #fff; color: var(--tor-navy); }
.tor-btn--navy { background: var(--tor-navy); color: #fff; }
.tor-btn--navy:hover { background: var(--tor-blue); color: #fff; }
.tor-btn .tor-ico { width: 1.2em; height: 1.2em; }
.tor-header-top__right { align-items: center; gap: .5rem; padding-right: 1rem; }
.tor-header-top__right .dropdown-toggle, .tor-header-top__right .btn, .tor-header-top__right a { color: #fff !important; font-size: .85rem; }
.tor-header-main { padding: .85rem 0; border: 0; }
.tor-header-main__in { display: flex; align-items: center; gap: 1rem 2rem; }
.tor-header-main__logo { flex: 0 0 auto; }
.tor-header-main__logo img, .tor-header-main__logo .logo { width: auto; max-height: 64px; }
.tor-header-main__search { flex: 1 1 auto; max-width: 640px; margin-left: auto; }
.tor-header-main__actions { display: flex; align-items: center; gap: .5rem; margin-left: auto; }
.tor-header-main__actions .header-block__action-btn { display: flex; flex-direction: column; align-items: center; gap: .1rem; color: var(--tor-navy); font-weight: 600; font-size: .85rem; padding: .25rem .6rem; text-decoration: none; position: relative; }
.tor-header-main__actions .header-block__icon { font-size: 1.75rem; color: var(--tor-blue); }
.tor-header-main__actions .header-block__title { display: block !important; }
.tor-header-main__actions .header-block__badge { position: absolute; top: -2px; right: 6px; min-width: 20px; height: 20px; border-radius: 10px; background: var(--tor-red); color: #fff; font-size: .72rem; font-weight: 700; display: grid; place-items: center; padding: 0 4px; }
.tor-header-main__cart .header-block { background: var(--tor-bg); border-radius: 4px; }
.tor-header-main__search .ps-searchbar, .tor-header-main__search .search-widgets { width: 100%; }
.tor-header-main__search input[type="text"], .tor-header-main__search input[type="search"], .tor-header-main__search .form-control {
  height: 48px; border: 2px solid var(--tor-navy); border-radius: 4px; font-size: 1rem; padding-left: 2.75rem; background-color: #fff;
}
.tor-header-main__search .form-control:focus { border-color: var(--tor-blue); box-shadow: 0 0 0 3px rgba(16, 171, 205, .25); }
.tor-header-main__search .material-icons { color: var(--tor-navy); }
@media (max-width: 991.98px){
.tor-header-main__in { flex-wrap: wrap; gap: .6rem 1rem; }
.tor-header-main__search { order: 3; flex-basis: 100%; max-width: none; margin: 0; }
.tor-header-main__logo img, .tor-header-main__logo .logo { max-height: 48px; }
.tor-header-main__actions .header-block__title { display: none !important; }
}
.tor-nav { background: var(--tor-blue); color: #fff; position: relative; z-index: 20; }
.tor-nav__in { display: flex; align-items: stretch; gap: 0; min-height: 52px; }
.tor-nav__cats { flex: 0 0 auto; }
.tor-nav__cats-btn {
  height: 100%; display: flex; align-items: center; gap: .75rem; padding: 0 1.4rem; min-width: 290px;
  background: var(--tor-navy); color: #fff; border: 0;
  font-family: var(--tor-font-head); font-weight: 700; font-size: 1.15rem; text-transform: uppercase; letter-spacing: .06em;
}
.tor-nav__cats-btn:hover { background: #07192a; }
.tor-burger { display: inline-flex; flex-direction: column; gap: 4px; }
.tor-burger i { display: block; width: 20px; height: 3px; background: var(--tor-yellow); border-radius: 1px; }
.tor-burger i:nth-child(2) { width: 14px; }
.tor-nav__menu { flex: 1 1 auto; display: flex; align-items: center; min-width: 0; }
.tor-nav__menu .ps-mainmenu { width: 100%; }
.tor-nav__menu .ps-mainmenu__tree { display: flex; flex-wrap: wrap; margin: 0; padding: 0 0 0 .5rem; list-style: none; }
.tor-nav__menu .ps-mainmenu__tree-link {
  display: block; padding: .95rem 1rem; color: #fff; text-decoration: none;
  font-family: var(--tor-font-head); font-weight: 600; font-size: 1.08rem; text-transform: uppercase; letter-spacing: .05em; position: relative;
}
.tor-nav__menu .ps-mainmenu__tree-link::after { content: ""; position: absolute; left: 1rem; right: 1rem; bottom: .55rem; height: 3px; background: var(--tor-yellow); transform: scaleX(0); transition: transform .2s; transform-origin: left; }
.tor-nav__menu .ps-mainmenu__tree-link:hover, .tor-nav__menu .current > .ps-mainmenu__tree-item-wrapper .ps-mainmenu__tree-link { color: #fff; }
.tor-nav__menu .ps-mainmenu__tree-link:hover::after, .tor-nav__menu .current .ps-mainmenu__tree-link::after { transform: none; }
.tor-nav__menu .ps-mainmenu__mobile-toggle .btn, .tor-nav__menu .ps-mainmenu__mobile-toggle button { color: #fff; }
@media (max-width: 1199.98px){
.tor-nav__menu { justify-content: flex-end; }
}
@media (max-width: 991.98px){
.tor-nav__cats-btn { min-width: 0; padding: 0 1rem; font-size: 1.05rem; }
}
.tor-specs { list-style: none; margin: .55rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .3rem; }
.tor-specs li { display: inline-flex; align-items: baseline; gap: .3rem; padding: .18rem .5rem; background: var(--tor-bg); border-left: 3px solid var(--tor-cyan); font-size: .78rem; color: var(--tor-muted); line-height: 1.3; }
.tor-specs li:first-child { border-left-color: var(--tor-yellow); }
.tor-specs strong { color: var(--tor-navy); font-weight: 700; font-size: .85rem; }
.tor-prices { margin-top: auto; padding-top: .7rem; }
.tor-prices__old { font-size: .82rem; color: var(--tor-muted); }
.tor-prices__old .product-miniature__regular-price, .tor-prices__old s { text-decoration: line-through; }
.tor-prices__old em { font-style: normal; color: var(--tor-red); font-weight: 600; margin-left: .25rem; }
.tor-prices__net { font-family: var(--tor-font-head); font-weight: 800; font-size: 1.6rem; line-height: 1; color: var(--tor-navy); }
.tor-prices__net small { font-family: var(--tor-font); font-size: .78rem; font-weight: 600; color: var(--tor-muted); text-transform: uppercase; letter-spacing: .03em; }
.tor-prices__net.is-promo { color: var(--tor-red); }
.tor-prices__gross { font-size: .85rem; color: var(--tor-muted); margin-top: .2rem; }
.tor-flag { font-family: var(--tor-font-head); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; line-height: 1; }
.tor-flag--discount {
  position: absolute; right: 0; top: 0; width: 64px; height: 64px; border-radius: 50%;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  background: var(--tor-red); color: #fff; box-shadow: 0 4px 12px rgba(215, 38, 30, .4), inset 0 0 0 3px rgba(255, 255, 255, .35);
  transform: rotate(-12deg);
}
.tor-flag--discount strong { font-size: 1.35rem; font-weight: 800; letter-spacing: 0; }
.tor-flag--discount .tor-flag__label { font-size: .58rem; letter-spacing: .08em; margin-bottom: 2px; opacity: .95; }
.tor-flag--new {
  position: relative; background: var(--tor-orange); color: #fff; padding: .38rem .9rem .38rem .7rem; font-size: .9rem;
  clip-path: polygon(0 0, 100% 0, calc(100% - 9px) 50%, 100% 100%, 0 100%);
  padding-right: 1.25rem;
}
.tor-flag--sale { background: var(--tor-yellow); color: #111; padding: .35rem .7rem; font-size: .85rem; }
.tor-flag--online-only { background: var(--tor-navy); color: #fff; padding: .35rem .7rem; font-size: .8rem; }
.tor-flag--order {
  position: absolute; left: 0; top: auto; bottom: calc(-100% + 0px);
  background: rgba(16, 171, 205, .12); color: var(--tor-blue); border: 1px solid rgba(16, 171, 205, .5);
  padding: .3rem .55rem; font-size: .78rem;
}
.product-miniature .tor-flag--order { position: absolute; bottom: 0; top: auto; }
.product__prices .tor-prices__net, .product-prices .tor-prices__net { font-size: 2.4rem; }
.tor-product-prices { padding: 1rem 1.2rem; background: var(--tor-bg); border-left: 5px solid var(--tor-yellow); margin: 1rem 0; }
.tor-product-prices .tor-prices__gross { font-size: 1rem; }
.tor-product-prices .tor-prices__old { font-size: .95rem; margin-bottom: .2rem; }
.tor-product-prices__tax { font-size: .8rem; color: var(--tor-muted); margin-top: .3rem; }
.product__images .tor-flag--discount { width: 84px; height: 84px; }
.product__images .tor-flag--discount strong { font-size: 1.8rem; }
.product__images .tor-flag--order { display: none; }
.tor-availability { display: inline-flex; align-items: center; gap: .45rem; font-weight: 600; color: var(--tor-blue); }
.tor-availability::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--tor-cyan); box-shadow: 0 0 0 4px rgba(16, 171, 205, .2); }
.tor-availability.is-in-stock { color: var(--tor-green); }
.tor-availability.is-in-stock::before { background: var(--tor-green); box-shadow: 0 0 0 4px rgba(31, 157, 85, .2); }
.footer__before { background: var(--tor-navy-2); }
.ps-emailsubscription.bg-body-tertiary { background: var(--tor-navy-2) !important; color: #dbe6ef; padding: 2rem 0 !important; }
.footer__main { background: var(--tor-navy); color: #b7c6d3; padding-top: 3rem; }
.footer__main a { color: #dbe6ef; text-decoration: none; }
.footer__main a:hover { color: var(--tor-yellow); }
.footer-block__title, .footer__main .h4, .footer__main .footer-block__title { color: #fff; font-family: var(--tor-font-head); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: 1.15rem; }
.footer-block__title::after { content: ""; display: block; width: 36px; height: 3px; background: var(--tor-yellow); margin-top: .5rem; }
.footer-block__list li { margin-bottom: .35rem; }
.tor-copyright { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 2rem; padding: 1.25rem 0; margin-top: 2rem; border-top: 1px solid rgba(255, 255, 255, .1); font-size: .85rem; color: #8ea2b4; }
.tor-copyright a { color: #b7c6d3; }
.tor-totop {
  position: fixed; right: 18px; bottom: 18px; z-index: 1040; width: 48px; height: 48px; border: 0; border-radius: 4px;
  background: var(--tor-yellow); color: #111; box-shadow: 0 6px 18px rgba(0, 0, 0, .25);
  opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .2s, transform .2s, visibility .2s;
}
.tor-totop.is-visible { opacity: 1; visibility: visible; transform: none; }
.tor-totop::before { content: ""; position: absolute; left: 50%; top: 55%; width: 12px; height: 12px; border-left: 3px solid #111; border-top: 3px solid #111; transform: translate(-50%, -50%) rotate(45deg); }
.tor-totop:hover { background: var(--tor-yellow-d); }
@media (min-width: 992px){
.footer__main-top { display: grid; grid-template-columns: 1.5fr repeat(4, 1fr); gap: 2rem; }
.footer__main-top > * { width: auto; max-width: none; padding: 0; }
}
.footer__main-top .footer-block__title--toggle { pointer-events: none; }
.tor-section { padding: 2.25rem 0; }
.tor-specs--product { margin: 0 0 1rem; }
.tor-specs--product li { font-size: .88rem; padding: .3rem .65rem; }
.tor-specs--product strong { font-size: .95rem; }
.product__availability-status.tor-avail-order { color: var(--tor-blue); font-weight: 600; }
.product__availability-status.tor-avail-order .material-icons { color: var(--tor-cyan); }
.tor-product-prices .tor-prices__net { font-size: 2.5rem; }
.tor-product-prices .tor-prices__gross span { color: var(--tor-muted); }
.tor-product-prices .product__tax-infos { display: none; }
.tor-desc { position: relative; margin-bottom: 1.25rem; }
.tor-desc__body { max-height: 7.5em; overflow: hidden; position: relative; transition: max-height .3s; }
.tor-desc:not(.is-open) .tor-desc__body::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3em; background: linear-gradient(rgba(255,255,255,0), #fff); }
.tor-desc.is-open .tor-desc__body { max-height: none; }
.tor-desc.is-short .tor-desc__more, .tor-desc.is-short .tor-desc__body::after { display: none; }
.tor-desc__more { margin-top: .4rem; padding: 0; border: 0; background: none; color: var(--tor-orange); font-family: var(--tor-font-head); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.tor-desc__more::after { content: " ▾"; }
.tor-desc.is-open .tor-desc__more::after { content: " ▴"; }
.footer__main .footer-block__title { display: block; }
.footer__main .footer-block__title .material-icons { display: none; }
@media (max-width: 991.98px){
.tor-header-main__in { flex-wrap: nowrap; }
.tor-header-main__search { order: 0; flex: 1 1 auto; display: flex; justify-content: flex-end; }
.tor-header-main__actions { margin-left: 0; }
}
@media (max-width: 575.98px){
.tor-prices__net { font-size: 1.35rem; }
}
.footer__main-top { margin-left: 0; margin-right: 0; }
.footer__main-top > * { padding-left: 0; padding-right: 0; }
.left-column .category-tree .accordion-body { padding: 0 0 .4rem 1.1rem; }
.tor-desc__more { margin-top: .6rem; }
.tor-desc { margin-bottom: .75rem; }
body { background: #e2e3e4 url("../img/beton.jpg") repeat; }
.tor-about { background: rgba(255, 255, 255, .6); }
.left-column .left-block, .product-miniature__inner, .tor-tile, .tor-post, .tor-usp__list, .tor-trust { background: #fff; }
.tor-usp { margin-bottom: 0; }
.tor-section { padding: 1.75rem 0; }
.tor-section__head { margin-bottom: 1.1rem; }
.tor-section__title::after { margin-top: .5rem; }
.tor-cta { margin-top: 1.75rem; }
.tor-cta__in { padding-top: 2rem; padding-bottom: 2.2rem; }
.tor-usp + .tor-tiles, .tor-usp + .tor-section { padding-top: 1.25rem; }
.page-content--home > section.tor-usp { padding: 0; }
.page-content--home > .tor-usp + .tor-tiles { padding-top: 1.75rem; }
.tor-section { padding: 1.25rem 0; }
.tor-usp { margin-top: 1.25rem !important; }
.tor-hero { padding-bottom: 1.5rem; }
.tor-desc:not(.is-open) .tor-desc__body::after { display: none; }
.tor-desc:not(.is-open):not(.is-short) .tor-desc__body { -webkit-mask-image: linear-gradient(#000 60%, transparent); mask-image: linear-gradient(#000 60%, transparent); }
.product__accordion .accordion-body { padding: .5rem 1.25rem 1.25rem; }
.tor-avail-line { display: inline-flex; align-items: center; gap: .4rem; margin-top: .55rem; font-size: .8rem; font-weight: 600; color: var(--tor-blue); }
.tor-avail-line::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--tor-cyan); }
.product-miniature .tor-flag--order { display: none; }
.tor-header-main__cart .header-block__action-btn { padding: .25rem .8rem; }
.footer__main .footer-block__list, .footer__main ul { margin: 0; padding: 0; }
.footer__main .footer-block__list li, .footer__main .footer-block li { margin: 0 0 .15rem; padding: 0; line-height: 1.35; }
.footer__main .footer-block__list a, .footer__main .footer-block li a { display: inline-block; padding: .18rem 0; font-size: .93rem; }
.footer__main .footer-block__title { margin-bottom: .9rem; }
.footer__main .footer-block__content { padding-top: 0; }
.footer__main address, .footer__main .ps-contactinfo { font-size: .93rem; line-height: 1.45; }
.tor-foot-brand__contact a { padding: 0 !important; }
.category__description p:empty, .product__description p:empty, .page-content--cms p:empty, .tor-empty { display: none !important; }
.product-miniature__prices.tor-prices, .tor-prices { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: .15rem !important; flex-wrap: nowrap !important; }
.tor-prices__old, .tor-prices__net, .tor-prices__gross { width: 100%; }
.tor-header-main__cart .header-block { background: none !important; padding: 0 !important; margin: 0 !important; }
.tor-header-main__cart .header-block__action-btn { background: var(--tor-bg); border: 1px solid var(--tor-line); border-radius: 4px; padding: .4rem 1rem !important; min-width: 84px; justify-content: center; }
.tor-header-main__cart .header-block__action-btn:hover { border-color: var(--tor-yellow); }
.tor-header-main__cart .header-block__badge { top: -8px !important; right: -8px !important; }
#header .tor-header-main__cart .header-block__action-btn,
#header .tor-header-main__cart .header-block__action-btn.pe-md-0{padding-left:1rem!important;padding-right:1rem!important;align-items:center;}
.btn-primary, .tor-btn--yellow, .tor-btn--navy, .btn-secondary, .btn-outline-primary { transition: background-color .15s, border-color .15s, color .15s, transform .12s, box-shadow .15s; }
.btn-primary:hover, .btn-primary:focus-visible, .tor-btn--yellow:hover, .tor-btn--yellow:focus-visible {
  background-color: #e06a00 !important; border-color: #e06a00 !important; color: #fff !important;
  box-shadow: 0 5px 0 #a8480a, 0 8px 18px rgba(0,0,0,.25); transform: translateY(-2px);
}
.btn-secondary:hover, .tor-btn--navy:hover, .btn-outline-primary:hover { box-shadow: 0 6px 16px rgba(0,0,0,.25); transform: translateY(-2px); }
.btn-primary:active, .tor-btn--yellow:active { transform: translateY(2px); box-shadow: none; }
@media (prefers-reduced-motion: reduce){
.btn-primary:hover, .tor-btn--yellow:hover, .btn-secondary:hover, .tor-btn--navy:hover, .btn-outline-primary:hover { transform: none; }
}
.tor-copyright { padding-right: 64px; }
.tor-totop:hover { background: #e06a00; }
.tor-totop:hover::before { border-color: #fff; }
#footer a.cms-page-link, #footer .footer__links a, #footer .links a { display: inline-block; text-transform: lowercase; }
#footer a.cms-page-link::first-letter, #footer .footer__links a::first-letter, #footer .links a::first-letter { text-transform: uppercase; }
.cart-voucher .accordion-body { padding: 0 1rem 1rem; }
.page-content--cms .tor-li { position: relative; padding-left: 1.5rem !important; }
.page-content--cms .tor-li--bullet::before { content: ""; position: absolute; left: .45rem; top: .72em; width: 6px; height: 6px; border-radius: 50%; background: var(--tor-yellow); }
.page-content--cms .tor-li__mark { position: absolute; left: 0; font-weight: 600; color: var(--tor-navy); }
.page-content--cms .icon_in_text .tor-empty { display: inline-block !important; width: .28em; overflow: hidden; vertical-align: bottom; }