:root {
      --paper: #f7f4ef;
      --paper-deep: #f0ece6;
      --ink: #111315;
      --muted: #616970;
      --line: #ded8d0;
      --red: #b9362a;
      --red-dark: #98291f;
      --gold: #d99526;
      --white: #fffdfa;
      --serif: "DM Serif Display", Georgia, serif;
      --sans: "Rajdhani", "Arial Narrow", Arial, sans-serif;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      min-width: 320px;
      margin: 0;
      overflow-x: hidden;
      color: var(--ink);
      background: var(--paper);
      font-family: var(--sans);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    button,
    input,
    textarea {
      font-family: var(--sans);
      font-size: inherit;
    }

    img {
      display: block;
      max-width: 100%;
    }

    .skip-link {
      position: fixed;
      z-index: 1000;
      top: 10px;
      left: 10px;
      padding: 10px 14px;
      color: #fff;
      background: var(--ink);
      border-radius: 6px;
      transform: translateY(-150%);
      transition: transform .2s ease;
    }

    .skip-link:focus {
      transform: translateY(0);
    }

    .topbar {
      height: 56px;
      background: #f4f4f4;
      border-bottom: 1px solid var(--line);
      font-size: 13px;
      color: #303438;
    }

    .topbar__inner {
      width: 100%;
      height: 100%;
      margin: 0 auto;
      padding: 0 31px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 30px;
    }

    .topbar__group {
      display: flex;
      align-items: center;
      gap: 18px;
      white-space: nowrap;
    }

    .topbar__divider {
      width: 1px;
      height: 17px;
      background: #999c9e;
    }

    .topbar__item {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      transition: color .2s ease;
    }

    a.topbar__item:hover,
    a.topbar__item:focus-visible {
      color: var(--red);
    }

    .topbar__item i {
      min-width: 16px;
      color: var(--red);
      font-size: 15px;
      text-align: center;
    }

    .topbar__flags {
      display: flex;
      align-items: center;
      gap: 9px;
      margin-left: 4px;
    }

    .topbar__flags img {
      width: 21px;
      height: 14px;
      object-fit: cover;
      border: 1px solid rgba(17, 19, 21, .13);
      box-shadow: 0 1px 2px rgba(17, 19, 21, .06);
    }

    .site-header {
      position: relative;
      z-index: 30;
      height: 111px;
      background: #fff;
      border-bottom: 1px solid #e4e4e4;
    }

    .site-header__inner {
      height: 100%;
      padding: 0 34px 0 44px;
      display: grid;
      grid-template-columns: 190px minmax(0, 1fr) auto;
      align-items: center;
      gap: 32px;
    }

    .brand {
      width: 170px;
      line-height: 0;
    }

    .brand img {
      width: 170px;
      height: auto;
      mix-blend-mode: multiply;
    }

    .main-nav {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: clamp(28px, 3vw, 53px);
    }

    .main-nav a {
      position: relative;
      padding: 12px 0;
      font-size: clamp(15px, 1vw, 17px);
      font-weight: 700;
      letter-spacing: .85px;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .main-nav a::after {
      position: absolute;
      right: 0;
      bottom: 3px;
      left: 0;
      height: 2px;
      background: var(--red);
      content: "";
      transform: scaleX(0);
      transform-origin: right;
      transition: transform .22s ease;
    }

    .main-nav a:hover::after,
    .main-nav a:focus-visible::after {
      transform: scaleX(1);
      transform-origin: left;
    }

    .header-actions {
      display: flex;
      align-items: center;
      gap: 29px;
    }

    .icon-link {
      position: relative;
      display: grid;
      width: 32px;
      height: 44px;
      place-items: center;
      color: #171a1d;
      font-size: 23px;
      transition: color .2s ease, transform .2s ease;
    }

    .icon-link:hover,
    .icon-link:focus-visible {
      color: var(--red);
      transform: translateY(-1px);
    }

    .order-button,
    .primary-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      background: var(--red);
      border: 1px solid var(--red);
      border-radius: 999px;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: .5px;
      text-transform: uppercase;
      transition: background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
    }

    .order-button {
      min-width: 190px;
      min-height: 46px;
      height: auto;
      padding: 8px 22px;
    }

    .order-button:hover,
    .order-button:focus-visible,
    .primary-button:hover,
    .primary-button:focus-visible {
      background: var(--red-dark);
      border-color: var(--red-dark);
      box-shadow: 0 10px 24px rgba(185, 54, 42, .2);
      transform: translateY(-2px);
    }

    .menu-button {
      display: none;
      width: 46px;
      height: 46px;
      padding: 0;
      color: var(--ink);
      background: transparent;
      border: 1px solid var(--line);
      border-radius: 50%;
      font-size: 19px;
      cursor: pointer;
    }

    .showcase {
      min-height: calc(100vh - 167px);
      padding: 24px clamp(28px, 2.15vw, 36px) 36px clamp(38px, 3.35vw, 56px);
      display: grid;
      grid-template-columns: 540px minmax(0, 1fr);
      align-items: start;
      gap: clamp(42px, 3.3vw, 55px);
      background: #fff;
    }

    .hero-copy {
      padding-top: 72px;
    }

    .eyebrow {
      margin: 0 0 38px;
      color: var(--red);
      font-size: 14px;
      font-weight: 600;
      letter-spacing: 2.7px;
      text-transform: uppercase;
    }

    .hero-title {
      max-width: 560px;
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(58px, 4.08vw, 68px);
      font-weight: 400;
      line-height: 1.08;
      letter-spacing: -.9px;
    }

    .rating-card {
      width: fit-content;
      max-width: 100%;
      min-height: 72px;
      margin-top: 42px;
      padding: 12px 20px 12px 16px;
      display: flex;
      align-items: center;
      gap: 15px;
      color: var(--ink);
      background: rgba(255, 253, 250, .75);
      border: 1px solid var(--line);
      border-radius: 12px;
      box-shadow: 0 3px 12px rgba(24, 20, 16, .025);
      transition: background .2s ease, box-shadow .2s ease;
    }

    .rating-card:hover,
    .rating-card:focus-visible {
      background: #fff;
      box-shadow: 0 10px 30px rgba(26, 20, 16, .08);
    }

    .rating-card__google {
      width: 31px;
      height: 31px;
      flex: 0 0 31px;
    }

    .rating-card__stars {
      display: flex;
      align-items: center;
      gap: 5px;
      color: var(--gold);
      font-size: 17px;
      white-space: nowrap;
    }

    .rating-card__score,
    .rating-card__reviews {
      font-size: 13px;
      white-space: nowrap;
    }

    .rating-card__score {
      font-weight: 700;
    }

    .rating-card__reviews {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-weight: 700;
    }

    .rating-card__reviews i {
      color: var(--red);
      font-size: 15px;
      transition: transform .2s ease;
    }

    .rating-card:hover .rating-card__reviews i,
    .rating-card:focus-visible .rating-card__reviews i {
      transform: translateX(4px);
    }

    .rating-card__separator {
      width: 3px;
      height: 3px;
      background: #8a8d90;
      border-radius: 50%;
    }

    .rating-card__avatars {
      width: 132px;
      height: 40px;
      margin-left: auto;
      overflow: hidden;
      border-radius: 999px;
    }

    .rating-card__avatars img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 49%;
    }

    .hero-description {
      width: 100%;
      max-width: none;
      margin: 28px 0 0;
      color: var(--muted);
      font-size: 17px;
      font-weight: 500;
      line-height: 1.55;
      letter-spacing: .05px;
    }

    .hero-actions {
      margin-top: 32px;
      display: flex;
      align-items: center;
      gap: 39px;
    }

    .primary-button {
      min-width: 190px;
      min-height: 48px;
      height: auto;
      padding: 9px 22px;
    }

    .text-link {
      display: inline-flex;
      align-items: center;
      gap: 16px;
      padding: 13px 0;
      color: var(--red);
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
    }

    .text-link i {
      font-size: 17px;
      transition: transform .2s ease;
    }

    .text-link:hover i,
    .text-link:focus-visible i {
      transform: translateX(6px);
    }

    .hero-visual {
      position: relative;
      min-width: 0;
      height: calc(100vh - 236px);
      min-height: 590px;
      max-height: 706px;
      overflow: hidden;
      background: #d7c4aa;
      border-radius: 11px;
      box-shadow: 0 18px 38px rgba(35, 28, 21, .08);
      isolation: isolate;
    }

    .hero-visual::after {
      position: absolute;
      z-index: 1;
      inset: 0;
      background: linear-gradient(180deg, rgba(15, 12, 9, 0) 65%, rgba(15, 12, 9, .16) 100%);
      content: "";
      pointer-events: none;
    }

    .hero-visual__image {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 50% 50%;
      transition: transform .8s cubic-bezier(.2, .7, .2, 1);
    }

    .hero-visual__image:not(.is-hidden) {
      animation: mw-hero-pan 9s ease-in-out infinite alternate;
    }

    .hero-visual__image:nth-of-type(even) {
      animation-direction: alternate-reverse;
    }

    @keyframes mw-hero-pan {
      from { transform: scale(1.08) translateX(-2.5%); }
      to { transform: scale(1.08) translateX(2.5%); }
    }

    .hero-dots {
      position: absolute;
      z-index: 3;
      top: 50%;
      right: 24px;
      display: flex;
      flex-direction: column;
      gap: 12px;
      transform: translateY(-50%);
    }

    .hero-dots__dot {
      width: 10px;
      height: 10px;
      padding: 0;
      background: rgba(255, 255, 255, .6);
      border: 0;
      border-radius: 50%;
      box-shadow: 0 1px 4px rgba(0, 0, 0, .25);
      cursor: pointer;
      transition: background .2s ease, height .2s ease, border-radius .2s ease;
    }

    .hero-dots__dot:hover,
    .hero-dots__dot:focus-visible {
      background: #fff;
    }

    .hero-dots__dot[aria-current="true"] {
      height: 28px;
      background: var(--red);
      border-radius: 999px;
    }

    .product-card {
      position: absolute;
      z-index: 3;
      bottom: 26px;
      left: 26px;
      width: 350px;
      min-height: 142px;
      padding: 20px;
      display: grid;
      grid-template-columns: 54px minmax(0, 1fr) 58px;
      align-items: center;
      gap: 13px;
      background: rgba(255, 253, 250, .96);
      border: 1px solid rgba(255, 255, 255, .74);
      border-radius: 15px;
      box-shadow: 0 18px 42px rgba(19, 15, 12, .13);
      backdrop-filter: blur(8px);
    }

    .product-card__thumb {
      width: 54px;
      height: 54px;
      overflow: hidden;
      background: #d8c3a9;
      border: 3px solid #fff;
      border-radius: 50%;
      box-shadow: 0 5px 14px rgba(17, 19, 21, .15);
    }

    .product-card__thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 51% 58%;
      transform: scale(1.12);
    }

    .product-card__copy {
      min-width: 0;
    }

    .product-card__kicker {
      margin: 0 0 10px;
      color: #777b80;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 1.4px;
      text-transform: uppercase;
    }

    .product-card__title {
      margin: 0 0 10px;
      font-family: var(--serif);
      font-size: 23px;
      font-weight: 400;
      line-height: 1.05;
    }

    .product-card__link {
      color: var(--red);
      font-family: var(--serif);
      font-size: 15px;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .product-card__next {
      width: 58px;
      height: 58px;
      display: grid;
      padding: 0;
      justify-self: end;
      place-items: center;
      color: #fff;
      background: var(--red);
      border: 0;
      border-radius: 50%;
      font-size: 24px;
      cursor: pointer;
      transition: background .2s ease, transform .2s ease;
    }

    .product-card__next:hover,
    .product-card__next:focus-visible {
      background: var(--red-dark);
      transform: translateX(3px);
    }

    .slider-status {
      position: absolute;
      z-index: 3;
      right: 28px;
      bottom: 31px;
      display: flex;
      align-items: center;
      gap: 16px;
      color: #fff;
      text-shadow: 0 1px 4px rgba(0, 0, 0, .2);
    }

    .slider-status__number {
      font-size: 13px;
      font-weight: 600;
      white-space: nowrap;
    }

    .slider-status__dots {
      display: flex;
      align-items: center;
      gap: 5px;
    }

    .slider-dot {
      width: 72px;
      height: 2px;
      padding: 0;
      background: rgba(255, 255, 255, .86);
      border: 0;
      cursor: pointer;
    }

    .slider-dot[aria-current="true"] {
      background: var(--red);
    }

    .order-modal {
      width: min(520px, calc(100vw - 32px));
      padding: 0;
      color: var(--ink);
      background: var(--paper);
      border: 0;
      border-radius: 18px;
      box-shadow: 0 30px 100px rgba(17, 19, 21, .24);
    }

    .order-modal::backdrop {
      background: rgba(12, 12, 11, .48);
      backdrop-filter: blur(3px);
    }

    .order-modal__content {
      position: relative;
      padding: 38px;
    }

    .order-modal__close {
      position: absolute;
      top: 16px;
      right: 16px;
      width: 38px;
      height: 38px;
      color: var(--ink);
      background: transparent;
      border: 1px solid var(--line);
      border-radius: 50%;
      cursor: pointer;
    }

    .order-modal__eyebrow {
      margin: 0 0 10px;
      color: var(--red);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 1.7px;
      text-transform: uppercase;
    }

    .order-modal h2 {
      margin: 0 0 10px;
      font-family: var(--serif);
      font-size: 39px;
      font-weight: 400;
    }

    .order-modal__intro {
      margin: 0 0 25px;
      color: var(--muted);
      line-height: 1.55;
    }

    .order-form {
      display: grid;
      gap: 14px;
    }

    .order-form label {
      display: grid;
      gap: 7px;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .4px;
      text-transform: uppercase;
    }

    .order-form input,
    .order-form textarea {
      width: 100%;
      padding: 13px 14px;
      color: var(--ink);
      background: #fffdfa;
      border: 1px solid var(--line);
      border-radius: 8px;
      outline: none;
      text-transform: none;
    }

    .order-form input:focus,
    .order-form textarea:focus {
      border-color: var(--red);
      box-shadow: 0 0 0 3px rgba(185, 54, 42, .1);
    }

    .order-form textarea {
      min-height: 105px;
      resize: vertical;
    }

    .order-form button {
      width: 100%;
      height: 52px;
      margin-top: 4px;
      color: #fff;
      background: var(--red);
      border: 0;
      border-radius: 999px;
      font-weight: 700;
      cursor: pointer;
    }

    .form-success {
      display: none;
      padding: 16px;
      color: #245c3c;
      background: #e7f3eb;
      border-radius: 9px;
      line-height: 1.5;
    }

    .form-success.is-visible {
      display: block;
    }

    .products-section {
      position: relative;
      overflow: hidden;
      padding: clamp(96px, 8vw, 145px) 0 clamp(100px, 9vw, 160px);
      background-color: #fbfaf7;
      background-image: url("../img/products-section-bg.png");
      background-position: center top;
      background-repeat: no-repeat;
      background-size: cover;
    }

    .products-section__header {
      width: calc(100% - clamp(56px, 7vw, 132px));
      max-width: 1660px;
      margin: 0 auto clamp(42px, 4.5vw, 72px);
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 48px;
    }

    .products-section__heading {
      max-width: 750px;
    }

    .products-section__eyebrow {
      margin: 0 0 18px;
      color: var(--red);
      font-size: 14px;
      font-weight: 700;
      letter-spacing: 2.8px;
      text-transform: uppercase;
    }

    .products-section__title {
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(44px, 3.8vw, 64px);
      font-weight: 400;
      line-height: 1.02;
      letter-spacing: -1px;
    }

    .products-section__side {
      min-width: min(650px, 46vw);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
    }

    .products-catalog-button {
      min-height: 54px;
      padding: 10px 23px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      color: #fff;
      background: var(--red);
      border: 1px solid var(--red);
      border-radius: 999px;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: .5px;
      text-transform: uppercase;
      white-space: nowrap;
      transition: background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
    }

    .products-catalog-button:hover,
    .products-catalog-button:focus-visible {
      background: var(--red-dark);
      border-color: var(--red-dark);
      box-shadow: 0 10px 24px rgba(185, 54, 42, .2);
      transform: translateY(-2px);
    }

    .products-nav {
      display: flex;
      flex: 0 0 auto;
      gap: 10px;
    }

    .products-nav__button {
      width: 54px;
      height: 54px;
      display: grid;
      padding: 0;
      place-items: center;
      color: var(--ink);
      background: rgba(255, 255, 255, .72);
      border: 1px solid rgba(17, 19, 21, .18);
      border-radius: 50%;
      font-size: 18px;
      cursor: pointer;
      backdrop-filter: blur(10px);
      transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
    }

    .products-nav__button:hover,
    .products-nav__button:focus-visible {
      color: #fff;
      background: var(--red);
      border-color: var(--red);
      transform: translateY(-2px);
    }

    .products-swiper {
      width: 95%;
      margin-left: 5%;
      overflow: visible;
    }

    .product-slide {
      position: relative;
      height: clamp(410px, 28vw, 500px);
      overflow: hidden;
      background: #d9d3cb;
      border-radius: 24px;
      box-shadow: 0 28px 70px rgba(42, 35, 28, .11);
    }

    .product-slide__link {
      position: relative;
      width: 100%;
      height: 100%;
      display: block;
    }

    .product-slide__image {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      transition: transform .8s cubic-bezier(.2, .7, .2, 1);
    }

    .product-slide__link:hover .product-slide__image,
    .product-slide__link:focus-visible .product-slide__image {
      transform: scale(1.025);
    }

    .product-slide__badge {
      position: absolute;
      bottom: 28px;
      left: 28px;
      width: min(390px, calc(100% - 56px));
      min-height: 146px;
      padding: 23px 22px 22px 25px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) 62px;
      align-items: center;
      gap: 18px;
      color: var(--ink);
      background: rgba(255, 253, 250, .94);
      border: 1px solid rgba(255, 255, 255, .82);
      border-radius: 17px;
      box-shadow: 0 18px 45px rgba(26, 20, 16, .16);
      backdrop-filter: blur(14px);
      transition: transform .25s ease, box-shadow .25s ease;
    }

    .product-slide__link:hover .product-slide__badge,
    .product-slide__link:focus-visible .product-slide__badge {
      box-shadow: 0 22px 50px rgba(26, 20, 16, .21);
      transform: translateY(-4px);
    }

    .product-slide__category {
      display: block;
      margin-bottom: 8px;
      color: #7a7e81;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 1.6px;
      text-transform: uppercase;
    }

    .product-slide__name {
      margin: 0 0 11px;
      font-family: var(--serif);
      font-size: 31px;
      font-weight: 400;
      line-height: 1;
    }

    .product-slide__price {
      display: flex;
      align-items: baseline;
      gap: 7px;
      color: var(--red);
    }

    .product-slide__price span {
      font-size: 13px;
      font-weight: 600;
      text-transform: lowercase;
    }

    .product-slide__price strong {
      font-family: var(--serif);
      font-size: 22px;
      font-weight: 400;
    }

    .product-slide__enter {
      width: 62px;
      height: 62px;
      display: grid;
      place-items: center;
      color: #fff;
      background: var(--red);
      border-radius: 50%;
      font-size: 21px;
      transition: background .2s ease, transform .2s ease;
    }

    .product-slide__link:hover .product-slide__enter,
    .product-slide__link:focus-visible .product-slide__enter {
      background: var(--red-dark);
      transform: translateX(3px);
    }

    .categories-section {
      padding: clamp(92px, 7vw, 132px) clamp(28px, 4.7vw, 88px) clamp(100px, 8vw, 150px);
      background: #fff;
    }

    .section-heading-row {
      margin-bottom: clamp(40px, 4vw, 64px);
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 40px;
    }

    .section-kicker {
      margin: 0 0 14px;
      color: var(--red);
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 2.6px;
      text-transform: uppercase;
    }

    .section-title {
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(44px, 3.6vw, 60px);
      font-weight: 400;
      line-height: 1.03;
      letter-spacing: -.8px;
    }

    .section-text-link {
      display: inline-flex;
      align-items: center;
      gap: 14px;
      padding: 12px 0;
      color: var(--red);
      font-size: 13px;
      font-weight: 700;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .section-text-link i {
      transition: transform .2s ease;
    }

    .section-text-link:hover i,
    .section-text-link:focus-visible i {
      transform: translateX(5px);
    }

    .categories-grid {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 15px;
    }

    .category-tile {
      position: relative;
      height: clamp(300px, 20vw, 400px);
      overflow: hidden;
      background: #f2efea;
      border: 1px solid #ece7e0;
      border-radius: 20px;
      box-shadow: 0 16px 38px rgba(36, 30, 25, .06);
    }

    .category-tile__image {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      transition: transform .7s cubic-bezier(.2, .7, .2, 1);
    }

    .category-tile--contain .category-tile__image {
      padding: 7%;
      object-fit: contain;
    }

    .category-tile__label {
      position: absolute;
      right: 14px;
      bottom: 14px;
      left: 14px;
      min-height: 76px;
      padding: 15px 16px 15px 19px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      color: var(--ink);
      background: rgba(255, 253, 250, .94);
      border: 1px solid rgba(255, 255, 255, .82);
      border-radius: 13px;
      box-shadow: 0 12px 28px rgba(27, 22, 18, .12);
      backdrop-filter: blur(10px);
      transition: transform .2s ease;
    }

    .category-tile__name {
      font-family: var(--serif);
      font-size: clamp(20px, 1.35vw, 26px);
      line-height: 1;
    }

    .category-tile__arrow {
      width: 42px;
      height: 42px;
      display: grid;
      flex: 0 0 42px;
      place-items: center;
      color: #fff;
      background: var(--red);
      border-radius: 50%;
      font-size: 15px;
    }

    .category-tile:hover .category-tile__image,
    .category-tile:focus-visible .category-tile__image {
      transform: scale(1.035);
    }

    .category-tile:hover .category-tile__label,
    .category-tile:focus-visible .category-tile__label {
      transform: translateY(-3px);
    }

    .about-section {
      padding: clamp(92px, 7.5vw, 138px) clamp(28px, 4.7vw, 88px) 0;
      overflow: hidden;
      background: #fff;
      border-top: 1px solid #ece7e1;
    }

    .about-editorial {
      display: grid;
      grid-template-columns: minmax(680px, 1.08fr) minmax(520px, .92fr);
      align-items: center;
      gap: clamp(38px, 4vw, 72px);
    }

    .about-section__title {
      max-width: none;
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(50px, 3.8vw, 70px);
      font-weight: 400;
      line-height: .98;
      letter-spacing: -1.5px;
      white-space: nowrap;
    }

    .about-section__title em {
      display: block;
      color: var(--red);
      font-weight: 400;
    }

    .about-section__intro {
      max-width: 610px;
      margin: 34px 0 0;
      color: #50555a;
      font-size: 18px;
      font-weight: 500;
      line-height: 1.65;
    }

    .about-section__actions {
      margin-top: 38px;
      display: flex;
      align-items: center;
      gap: 25px;
    }

    .about-section__link {
      min-height: 46px;
      padding: 9px 19px;
      display: inline-flex;
      align-items: center;
      color: var(--red);
      background: #fff;
      border: 1px solid rgba(185, 54, 42, .42);
      border-radius: 999px;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: .7px;
      text-transform: uppercase;
      transition: color .2s ease, background .2s ease, border-color .2s ease;
    }

    .about-section__link:hover {
      color: #fff;
      background: var(--red);
      border-color: var(--red);
    }

    .about-section__link i {
      margin-left: 9px;
    }

    .about-collage {
      min-height: 650px;
      display: grid;
      grid-template-columns: minmax(0, 1.34fr) minmax(210px, .66fr);
      grid-template-rows: 1fr 1fr;
      gap: 16px;
    }

    .about-collage__item {
      position: relative;
      margin: 0;
      overflow: hidden;
      background: #eee9e3;
      border-radius: 22px;
    }

    .about-collage__item--main {
      grid-row: 1 / 3;
    }

    .about-collage__item--quote {
      padding: 30px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      color: #fff;
      background: var(--red);
    }

    .about-collage__image {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .8s cubic-bezier(.2, .7, .2, 1);
    }

    .about-collage__item--main .about-collage__image {
      object-position: 52% 50%;
    }

    .about-collage__item:hover .about-collage__image {
      transform: scale(1.025);
    }

    .about-collage__number {
      font-family: var(--serif);
      font-size: 56px;
      line-height: 1;
    }

    .about-collage__quote {
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(24px, 2vw, 34px);
      line-height: 1.08;
    }

    .about-facts {
      margin-top: clamp(62px, 6vw, 100px);
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
      background: transparent;
    }

    .about-fact {
      min-height: 132px;
      padding: 23px clamp(18px, 1.7vw, 30px);
      display: grid;
      grid-template-columns: 44px minmax(0, 1fr);
      align-items: center;
      gap: 15px;
      border: 1px solid #ded7cf;
      border-radius: 12px;
    }

    .about-fact__icon {
      width: 44px;
      height: 44px;
      display: grid;
      place-items: center;
      color: var(--red);
      border: 1px solid rgba(185, 54, 42, .32);
      border-radius: 50%;
      font-size: 15px;
    }

    .about-fact__content {
      min-width: 0;
    }

    .about-fact__value {
      display: block;
      margin-bottom: 6px;
      color: var(--red);
      font-family: var(--serif);
      font-size: 31px;
      line-height: 1;
    }

    .about-fact__label {
      color: #3f4347;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .55px;
      text-transform: uppercase;
    }

    .realizations-section {
      padding: clamp(98px, 8vw, 148px) 12px 12px;
      background: #fff;
    }

    .realizations-section__header {
      width: min(100% - 56px, 1650px);
      margin: 0 auto clamp(42px, 4.5vw, 72px);
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 40px;
    }

    .realizations-section__title,
    .reviews-section__title {
      max-width: 800px;
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(48px, 4.3vw, 72px);
      font-weight: 400;
      line-height: .98;
      letter-spacing: -1.4px;
    }

    .realizations-section__link {
      flex: 0 0 auto;
      margin-bottom: 6px;
      min-height: 52px;
      padding: 10px 23px;
      display: inline-flex;
      align-items: center;
      color: #fff;
      background: var(--red);
      border: 1px solid var(--red);
      border-radius: 999px;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: .6px;
      text-transform: uppercase;
      transition: color .2s ease, background .2s ease;
    }

    .realizations-section__link:hover {
      color: var(--red);
      background: #fff;
    }

    .realizations-section__link i {
      margin-left: 11px;
    }

    .realizations-grid {
      columns: 4;
      column-gap: 12px;
    }

    .realization-tile {
      position: relative;
      width: 100%;
      margin: 0 0 12px;
      display: block;
      overflow: hidden;
      background: #eee9e3;
      border-radius: 18px;
      break-inside: avoid;
      aspect-ratio: 4 / 5;
    }

    .realization-tile:nth-child(2),
    .realization-tile:nth-child(5),
    .realization-tile:nth-child(7),
    .realization-tile:nth-child(10) {
      aspect-ratio: 4 / 3;
    }

    .realization-tile:nth-child(3),
    .realization-tile:nth-child(8) {
      aspect-ratio: 3 / 4;
    }

    .realization-tile__image {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .8s cubic-bezier(.2, .7, .2, 1);
    }

    .realization-tile__label {
      position: absolute;
      right: 16px;
      bottom: 16px;
      left: 16px;
      padding: 13px 15px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      color: var(--ink);
      background: rgba(255, 255, 255, .94);
      border-radius: 11px;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .8px;
      text-transform: uppercase;
      opacity: 0;
      transform: translateY(8px);
      transition: opacity .25s ease, transform .25s ease;
    }

    .realization-tile:hover .realization-tile__image {
      transform: scale(1.03);
    }

    .realization-tile:hover .realization-tile__label,
    .realization-tile:focus-visible .realization-tile__label {
      opacity: 1;
      transform: translateY(0);
    }

    .reviews-section {
      padding: clamp(96px, 7.5vw, 138px) clamp(28px, 4.7vw, 88px);
      background: #f5f2ee;
    }

    .reviews-section__header {
      margin-bottom: clamp(44px, 4vw, 68px);
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: end;
      gap: 40px;
    }

    .reviews-summary {
      min-width: 305px;
      padding: 21px 24px;
      display: flex;
      align-items: center;
      gap: 18px;
      color: inherit;
      background: #fff;
      border: 1px solid #ded7cf;
      border-radius: 14px;
      transition: box-shadow .2s ease;
    }

    .reviews-summary:hover,
    .reviews-summary:focus-visible {
      box-shadow: 0 10px 30px rgba(26, 20, 16, .08);
    }

    .reviews-summary__google {
      width: 31px;
      height: 31px;
      flex: 0 0 31px;
    }

    .reviews-summary__score span i {
      margin-left: 4px;
      color: var(--red);
      font-size: 11px;
    }

    .reviews-summary__score strong {
      display: block;
      color: var(--ink);
      font-family: var(--serif);
      font-size: 22px;
      font-weight: 400;
      line-height: 1;
      white-space: nowrap;
    }

    .reviews-summary__score span {
      display: block;
      margin-top: 5px;
      color: #777c80;
      font-size: 12px;
    }

    .reviews-summary__stars,
    .review-card__stars {
      color: #d99014;
      white-space: nowrap;
    }

    .reviews-grid {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 14px;
    }

    .review-card {
      min-height: 330px;
      padding: clamp(22px, 1.7vw, 32px);
      display: flex;
      flex-direction: column;
      background: #fff;
      border: 1px solid #ded7cf;
      border-radius: 18px;
    }

    .review-card__top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
    }

    .review-card__quote {
      margin: 35px 0 28px;
      color: #303438;
      font-family: var(--serif);
      font-size: clamp(18px, 1.1vw, 22px);
      line-height: 1.35;
    }

    .review-card__author {
      margin-top: auto;
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .review-card__author .review-card__avatar {
      width: 42px;
      height: 42px;
      display: grid;
      flex: 0 0 auto;
      place-items: center;
      color: #fff;
      background: var(--red);
      border-radius: 50%;
      font-size: 14px;
      font-weight: 700;
      letter-spacing: .5px;
    }

    .review-card__author strong {
      display: block;
      color: var(--ink);
      font-size: 15px;
    }

    .review-card__author span {
      color: #777c80;
      font-size: 12px;
    }

    .cta-section {
      padding: 12px;
      background: #f5f2ee;
    }

    .cta-section__inner {
      min-height: 560px;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      color: #fff;
      background: var(--red);
      border-radius: 20px;
      overflow: hidden;
    }

    .cta-section__copy {
      padding: clamp(54px, 5.5vw, 100px);
      display: flex;
      align-items: flex-start;
      flex-direction: column;
      justify-content: center;
    }

    .cta-section__eyebrow {
      margin: 0 0 22px;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 2.2px;
      text-transform: uppercase;
    }

    .cta-section__title {
      max-width: 720px;
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(50px, 4.6vw, 78px);
      font-weight: 400;
      line-height: .95;
      letter-spacing: -1.6px;
    }

    .cta-section__description {
      max-width: 610px;
      margin: 28px 0 0;
      color: rgba(255, 255, 255, .86);
      font-size: 17px;
      line-height: 1.6;
    }

    .cta-section__contacts {
      margin-top: 36px;
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 18px 34px;
    }

    .cta-contact {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      color: #fff;
      font-family: var(--serif);
      font-size: clamp(21px, 1.7vw, 29px);
    }

    .cta-contact i {
      width: 38px;
      height: 38px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(255, 255, 255, .55);
      border-radius: 50%;
      font-size: 14px;
    }

    .cta-configurator {
      position: relative;
      min-height: 560px;
      padding: clamp(48px, 5.2vw, 92px);
      display: flex;
      align-items: flex-end;
      overflow: hidden;
      isolation: isolate;
    }

    .cta-configurator__image {
      position: absolute;
      z-index: -2;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 58% center;
      opacity: .72;
    }

    .cta-configurator::after {
      position: absolute;
      z-index: -1;
      inset: 0;
      content: "";
      background: rgba(18, 18, 18, .52);
    }

    .cta-configurator__content {
      max-width: 570px;
    }

    .cta-configurator__eyebrow {
      margin: 0 0 16px;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
    }

    .cta-configurator__title {
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(38px, 3.5vw, 58px);
      font-weight: 400;
      line-height: 1;
    }

    .cta-configurator__copy {
      max-width: 480px;
      margin: 22px 0 28px;
      color: rgba(255, 255, 255, .86);
      font-size: 16px;
      line-height: 1.55;
    }

    .cta-section__button,
    .cta-configurator__button {
      min-height: 54px;
      padding: 12px 25px;
      display: inline-flex;
      align-items: center;
      gap: 16px;
      color: var(--ink);
      background: #fff;
      border: 1px solid #fff;
      border-radius: 999px;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .6px;
      text-transform: uppercase;
    }

    .cta-section__copy > .cta-section__button {
      margin-top: 34px;
    }

    .site-footer {
      position: relative;
      padding: clamp(70px, 7vw, 120px) clamp(28px, 4.7vw, 88px) 26px;
      overflow: hidden;
      color: #fff;
      background: #151616;
      isolation: isolate;
    }

    .site-footer::before {
      position: absolute;
      z-index: -2;
      inset: 0;
      content: "";
      background: url("../img/realization-10.jpg") center 58% / cover no-repeat;
      opacity: .18;
      filter: grayscale(1);
    }

    .site-footer::after {
      position: absolute;
      z-index: -1;
      inset: 0;
      content: "";
      background: rgba(10, 11, 11, .76);
    }

    .site-footer__grid {
      display: grid;
      grid-template-columns: minmax(280px, 1.3fr) repeat(3, minmax(135px, .58fr)) minmax(240px, 1fr);
      gap: clamp(28px, 3vw, 54px);
    }

    .site-footer__brand img {
      width: 250px;
      max-width: 100%;
      display: block;
    }

    .site-footer__brand p {
      max-width: 390px;
      margin: 28px 0 0;
      color: #aeb2b5;
      font-size: 15px;
      line-height: 1.65;
    }

    .site-footer__heading {
      margin: 0 0 24px;
      color: #fff;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 1.6px;
      text-transform: uppercase;
    }

    .site-footer__links {
      display: grid;
      gap: 13px;
    }

    .site-footer__links a,
    .site-footer__links span {
      color: #aeb2b5;
      font-size: 15px;
      line-height: 1.4;
      transition: color .2s ease;
    }

    .site-footer__links a:hover {
      color: #fff;
    }

    .footer-direct-contact {
      display: grid;
      gap: 18px;
    }

    .footer-direct-contact__item {
      padding-bottom: 18px;
      display: grid;
      grid-template-columns: 42px minmax(0, 1fr);
      align-items: center;
      gap: 13px;
      color: #fff;
      border-bottom: 1px solid rgba(255, 255, 255, .2);
    }

    .footer-direct-contact__item i {
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      background: var(--red);
      border-radius: 50%;
      font-size: 15px;
    }

    .footer-direct-contact__item small {
      display: block;
      margin-bottom: 4px;
      color: #aeb2b5;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 1.1px;
      text-transform: uppercase;
    }

    .footer-direct-contact__item strong {
      display: block;
      color: #fff;
      font-family: var(--serif);
      font-size: clamp(19px, 1.2vw, 24px);
      font-weight: 400;
      line-height: 1.1;
      overflow-wrap: anywhere;
    }

    .site-footer__socials {
      margin-top: clamp(52px, 5vw, 80px);
      padding: 0;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 14px;
      background: transparent;
      border: 0;
    }

    .site-footer__socials-label {
      flex: 0 0 auto;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: .8px;
      text-transform: uppercase;
    }

    .site-footer__socials-list {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      justify-content: flex-start;
      gap: 10px;
    }

    .site-footer__social {
      min-width: 0;
      min-height: 0;
      padding: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 5px;
      color: #8f9497;
      background: transparent;
      border: 0;
      font-size: 9px;
      font-weight: 700;
    }

    .site-footer__social i {
      width: 32px;
      height: 32px;
      display: grid;
      place-items: center;
      color: #6ba5ff;
      border: 1px solid rgba(255, 255, 255, .25);
      border-radius: 50%;
      font-size: 12px;
    }

    .site-footer__bottom {
      margin-top: 22px;
      padding-top: 24px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 30px;
      color: #74797c;
      border-top: 0;
      font-size: 12px;
    }

    .site-footer__legal {
      display: flex;
      gap: 24px;
    }

    @media (max-width: 1420px) {
      .site-header__inner {
        grid-template-columns: 155px minmax(0, 1fr) auto;
        gap: 20px;
        padding-left: 30px;
      }

      .brand,
      .brand img {
        width: 150px;
      }

      .main-nav {
        gap: 25px;
      }

      .main-nav a {
        font-size: 15px;
      }

      .header-actions {
        gap: 16px;
      }

      .order-button {
        min-width: 178px;
      }

      .showcase {
        grid-template-columns: minmax(410px, 470px) minmax(0, 1fr);
        gap: clamp(32px, 2.7vw, 38px);
        padding-left: clamp(28px, 3vw, 42px);
      }

      .hero-title {
        font-size: 57px;
      }

      .rating-card {
        width: 100%;
      }

      .products-section__header {
        align-items: flex-start;
      }

      .products-section__side {
        min-width: min(540px, 44vw);
        flex-direction: row;
        align-items: center;
        gap: 14px;
      }

      .product-slide {
        height: clamp(400px, 34vw, 490px);
      }

      .category-tile {
        height: 380px;
      }

      .about-feature {
        height: 430px;
      }

    }

    @media (max-width: 1130px) {
      .topbar__inner {
        padding-inline: 22px;
      }

      .topbar__flags {
        display: none;
      }

      .site-header {
        height: 88px;
      }

      .site-header__inner {
        display: flex;
        justify-content: space-between;
        padding: 0 22px;
      }

      .menu-button {
        display: grid;
        place-items: center;
      }

      .main-nav {
        position: absolute;
        top: calc(100% - 1px);
        right: 18px;
        left: 18px;
        display: grid;
        gap: 0;
        padding: 12px 22px;
        background: var(--white);
        border: 1px solid var(--line);
        border-radius: 12px;
        box-shadow: 0 18px 50px rgba(17, 19, 21, .13);
        opacity: 0;
        pointer-events: none;
        transform: translateY(-10px);
        transition: opacity .2s ease, transform .2s ease;
      }

      .main-nav.is-open {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
      }

      .main-nav a {
        padding: 13px 2px;
        border-bottom: 1px solid var(--line);
        font-size: 15px;
      }

      .main-nav a:last-child {
        border-bottom: 0;
      }

      .header-actions .icon-link {
        display: none;
      }

      .showcase {
        min-height: auto;
        padding: 24px 24px 40px;
        grid-template-columns: 1fr;
        gap: 38px;
      }

      .hero-copy {
        padding-top: 44px;
      }

      .hero-title {
        max-width: 690px;
        font-size: 66px;
      }

      .rating-card {
        max-width: 540px;
      }

      .hero-visual {
        height: min(75vw, 730px);
        min-height: 570px;
      }

      .products-section__header {
        align-items: flex-start;
        flex-direction: column;
        gap: 26px;
      }

      .products-section__side {
        min-width: 0;
        width: 100%;
        align-items: center;
        flex-direction: row;
        justify-content: flex-start;
      }

      .product-slide {
        height: 470px;
      }

      .categories-grid {
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: minmax(245px, 34vw);
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: thin;
      }

      .about-section__header {
        grid-template-columns: 1fr;
        gap: 28px;
      }

      .about-section__intro {
        max-width: 650px;
      }

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

      .about-feature--wide,
      .about-feature--craft {
        grid-column: span 2;
      }

      .about-feature--craft {
        height: 390px;
      }

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

    @media (max-width: 720px) {
      .topbar {
        display: none;
      }

      .site-header {
        height: 78px;
        border-bottom: 1px solid var(--line);
      }

      .site-header__inner {
        padding: 0 15px;
      }

      .brand,
      .brand img {
        width: 137px;
      }

      .header-actions {
        gap: 9px;
      }

      .order-button {
        display: none;
      }

      .showcase {
        padding: 20px 16px 24px;
        gap: 30px;
      }

      .hero-copy {
        padding-top: 32px;
      }

      .eyebrow {
        margin-bottom: 28px;
        font-size: 11px;
        letter-spacing: 2px;
      }

      .hero-title {
        font-size: clamp(46px, 13.2vw, 62px);
        letter-spacing: -1px;
      }

      .rating-card {
        margin-top: 34px;
        padding: 11px 12px;
        gap: 9px;
      }

      .rating-card__avatars {
        display: none;
      }

      .rating-card__reviews {
        margin-left: auto;
      }

      .hero-description {
        font-size: 16px;
      }

      .hero-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
      }

      .hero-visual {
        height: 125vw;
        min-height: 535px;
        max-height: 650px;
      }

      .hero-visual__image {
        object-position: 52% 50%;
      }

      .product-card {
        right: 13px;
        bottom: 13px;
        left: 13px;
        width: auto;
        min-height: 132px;
        padding: 17px;
        grid-template-columns: 50px minmax(0, 1fr) 54px;
        gap: 11px;
      }

      .product-card__thumb {
        width: 50px;
        height: 50px;
      }

      .product-card__title {
        font-size: 21px;
      }

      .product-card__next {
        width: 54px;
        height: 54px;
      }

      .slider-status {
        top: 19px;
        right: 17px;
        bottom: auto;
      }

      .slider-dot {
        width: 30px;
      }

      .products-section {
        padding: 76px 0 86px;
      }

      .products-section__header {
        width: calc(100% - 32px);
        margin-bottom: 32px;
      }

      .products-section__eyebrow {
        margin-bottom: 13px;
        font-size: 11px;
        letter-spacing: 2px;
      }

      .products-section__title {
        font-size: clamp(40px, 11.5vw, 52px);
      }

      .products-section__side {
        width: 100%;
        min-width: 0;
        align-items: center;
        flex-direction: row;
        justify-content: space-between;
        gap: 12px;
      }

      .products-catalog-button {
        min-height: 48px;
        padding: 8px 17px;
        gap: 11px;
        font-size: 11px;
      }

      .products-nav__button {
        width: 48px;
        height: 48px;
      }

      .products-swiper {
        width: calc(100% - 16px);
        margin-left: 16px;
      }

      .product-slide {
        height: 500px;
        border-radius: 18px;
      }

      .product-slide__badge {
        right: 14px;
        bottom: 14px;
        left: 14px;
        width: auto;
        min-height: 132px;
        padding: 19px;
        grid-template-columns: minmax(0, 1fr) 54px;
        gap: 12px;
        border-radius: 14px;
      }

      .product-slide__name {
        font-size: 27px;
      }

      .product-slide__enter {
        width: 54px;
        height: 54px;
      }

      .categories-section,
      .about-section {
        padding-right: 16px;
        padding-left: 16px;
      }

      .section-heading-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
      }

      .categories-grid {
        margin-right: -16px;
        grid-auto-columns: 78vw;
        padding-right: 16px;
      }

      .category-tile {
        height: 410px;
      }

      .about-section__title {
        font-size: clamp(43px, 12vw, 56px);
      }

      .about-feature-grid {
        grid-template-columns: 1fr;
      }

      .about-feature--wide,
      .about-feature--craft {
        grid-column: auto;
      }

      .about-feature,
      .about-feature--craft {
        height: 420px;
        border-radius: 20px;
      }

      .about-feature__content {
        right: 14px;
        bottom: 14px;
        left: 14px;
        max-width: calc(100% - 28px);
        padding: 17px;
      }

      .about-values {
        grid-template-columns: 1fr;
      }

      .about-value {
        min-height: 190px;
      }

      .order-modal__content {
        padding: 34px 22px 24px;
      }
    }

    @media (max-width: 1420px) {
      .about-editorial {
        grid-template-columns: 1fr;
      }

      .about-editorial__copy {
        max-width: 1040px;
      }

      .about-collage {
        min-height: 620px;
      }
    }

    @media (max-width: 1130px) {
      .about-editorial {
        grid-template-columns: 1fr;
      }

      .about-editorial__copy {
        max-width: 760px;
      }

      .about-section__title {
        white-space: normal;
      }

      .about-collage {
        min-height: 590px;
      }

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

      .about-fact:nth-child(2) {
        border-right: 1px solid #ded7cf;
      }

      .about-fact:nth-child(-n+2) {
        border-bottom: 1px solid #ded7cf;
      }

      .realizations-grid {
        columns: 2;
      }

      .reviews-section__header {
        grid-template-columns: 1fr;
      }

      .reviews-summary {
        width: fit-content;
      }

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

      .review-card:last-child {
        grid-column: 1 / -1;
      }

      .cta-section__inner {
        grid-template-columns: 1fr;
        align-items: start;
      }

      .cta-configurator {
        min-height: 500px;
      }

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

      .site-footer__socials {
        align-items: center;
        flex-direction: row;
        flex-wrap: wrap;
      }

      .site-footer__socials-list {
        justify-content: flex-start;
      }
    }

    @media (max-width: 720px) {
      .about-section {
        padding-top: 78px;
      }

      .about-section__title {
        font-size: clamp(42px, 11.5vw, 54px);
        white-space: normal;
      }

      .about-section__intro {
        margin-top: 26px;
        font-size: 16px;
      }

      .about-section__actions {
        align-items: flex-start;
        flex-direction: column;
      }

      .about-collage {
        min-height: 0;
        grid-template-columns: 1fr;
        grid-template-rows: none;
      }

      .about-collage__item,
      .about-collage__item--main {
        min-height: 320px;
        grid-row: auto;
      }

      .about-collage__item--main {
        min-height: 430px;
      }

      .about-collage__item--quote {
        min-height: 260px;
      }

      .about-facts {
        grid-template-columns: 1fr;
      }

      .about-fact,
      .about-fact:nth-child(2) {
        min-height: 132px;
        border: 1px solid #ded7cf;
      }

      .about-fact:last-child {
        border-bottom: 1px solid #ded7cf;
      }

      .realizations-section {
        padding: 82px 8px 8px;
      }

      .realizations-section__header {
        width: calc(100% - 24px);
        align-items: flex-start;
        flex-direction: column;
        gap: 24px;
      }

      .realizations-section__title,
      .reviews-section__title {
        font-size: clamp(40px, 11vw, 52px);
      }

      .realizations-grid {
        columns: 1;
      }

      .realization-tile:nth-child(n) {
        height: 430px;
        margin-bottom: 8px;
        aspect-ratio: auto;
        border-radius: 14px;
      }

      .realization-tile__label {
        opacity: 1;
        transform: none;
      }

      .reviews-section {
        padding: 82px 16px;
      }

      .reviews-section__header {
        gap: 28px;
      }

      .reviews-summary {
        width: 100%;
        min-width: 0;
        padding: 17px;
        gap: 12px;
      }

      .reviews-summary__stars {
        font-size: 12px;
      }

      .reviews-grid {
        grid-template-columns: 1fr;
      }

      .review-card:last-child {
        grid-column: auto;
      }

      .review-card {
        min-height: 280px;
        padding: 26px;
      }

      .cta-section {
        padding: 8px;
      }

      .cta-section__inner {
        min-height: 0;
        padding: 0;
        gap: 0;
        border-radius: 16px;
      }

      .cta-section__copy {
        padding: 54px 24px;
      }

      .cta-section__title {
        font-size: clamp(44px, 12.5vw, 60px);
      }

      .cta-section__button,
      .cta-configurator__button {
        width: 100%;
      }

      .cta-section__button,
      .cta-configurator__button {
        justify-content: center;
        text-align: center;
      }

      .cta-section__contacts {
        align-items: flex-start;
        flex-direction: column;
      }

      .cta-contact {
        font-size: 21px;
      }

      .cta-configurator {
        min-height: 520px;
        padding: 50px 24px;
      }

      .site-footer {
        padding: 70px 24px 24px;
      }

      .site-footer__grid {
        grid-template-columns: 1fr;
        gap: 44px;
      }

      .site-footer__bottom,
      .site-footer__legal {
        align-items: flex-start;
        flex-direction: column;
      }

      .site-footer__socials {
        padding: 0;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      *,
      *::before,
      *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
      }
    }
/* ─── uzupełnienia motywu ─── */
.logo { font-family: var(--serif); font-size: 27px; letter-spacing: .5px; color: var(--ink); }
.logo span { color: var(--red); }
.hero-visual__image.is-hidden { display: none; }
/* .main-nav.is-open bez display — na mobile menu ma zostac siatka w kolumnie
   z zapytania medialnego, wymuszony flex ustawial pozycje w rzedzie poza ekranem */
.site-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  max-width: 1660px;
  margin: 0 auto;
  padding: 22px clamp(28px, 4vw, 66px);
  border-top: 1px solid rgba(255, 255, 255, .12);
  color: #8f9497;
  font-size: 13px;
}
.site-footer__bottom a { color: #c9ccce; }

/* ─── poprawki rundy 1 ─── */

/* topbar: wieksze fonty */
.topbar { font-size: 15px; }
.topbar__item i { font-size: 15px; }

/* logo z panelu */
.brand .custom-logo { max-height: 56px; width: auto; }

/* menu: rozwijane poziomy */
.nav-item { position: relative; display: inline-flex; align-items: center; }
.nav-item > a i { margin-left: 6px; font-size: 10px; opacity: .6; }
.nav-drop {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 80;
  display: none;
  flex-direction: column;
  min-width: 250px;
  padding: 10px 0;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: var(--shadow-lift, 0 22px 50px rgba(26, 20, 16, .13));
}
.nav-item:hover .nav-drop,
.nav-item:focus-within .nav-drop { display: flex; }
.nav-drop::before {
  content: "";
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 12px;
}
.nav-drop a {
  padding: 10px 20px;
  font-size: 14px;
  letter-spacing: .4px;
  white-space: nowrap;
  transition: background .15s ease, color .15s ease;
}
.nav-drop a:hover { background: var(--paper-deep); color: var(--red); }

/* hero badge: wieksza miniatura, mniejsza strzalka */
.product-card__thumb { width: 86px; height: 86px; border-radius: 14px; }
.product-card__next { width: 44px; height: 44px; font-size: 15px; }

/* karuzela kolekcji: zdjecie 3:2 + bialy box ponizej */
.product-slide--stack {
  overflow: hidden;
  background: var(--white);
  border-radius: 16px;
  box-shadow: var(--shadow-soft, 0 10px 30px rgba(26, 20, 16, .08));
}
.product-slide--stack .product-slide__link { display: flex; flex-direction: column; height: 100%; }
.product-slide--stack .product-slide__media { display: block; overflow: hidden; }
.product-slide--stack .product-slide__image {
  position: static;
  width: 100%;
  aspect-ratio: 3 / 2;
  height: auto;
  object-fit: cover;
  transition: transform .35s ease;
}
.product-slide--stack .product-slide__link:hover .product-slide__image { transform: scale(1.04); }
.product-slide--stack .product-slide__media { position: relative; }
.product-slide--bestseller { outline: 2px solid var(--red); outline-offset: -2px; }
.mw-badge {
  position: absolute;
  z-index: 2;
  top: 14px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 13px 7px 11px;
  color: #fff;
  background: var(--red);
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 1.2px;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  pointer-events: none;
}
.mw-badge i { color: var(--gold); font-size: 11px; }
.gallery__main { position: relative; }
.mw-badge--galeria { top: 18px; right: auto; left: 18px; padding: 10px 17px 10px 14px; font-size: 13.5px; letter-spacing: 1.5px; }
.mw-badge--galeria i { font-size: 13px; }
.product-slide--stack .product-slide__info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px;
  background: var(--white);
}
.product-slide--stack .product-slide__name { margin: 2px 0 6px; font-family: var(--serif); font-size: 24px; font-weight: 400; }
.product-slide--stack .product-slide__category {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}
.product-slide--stack .product-slide__price { color: var(--red); font-weight: 700; }
.product-slide--stack .product-slide__price span { margin-right: 6px; color: var(--muted); font-weight: 500; }
.product-slide--stack .product-slide__enter {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: #fff;
  background: var(--red);
  border-radius: 50%;
  transition: background .2s ease, transform .2s ease;
}
.product-slide--stack .product-slide__link:hover .product-slide__enter { background: var(--red-dark); transform: translateX(3px); }

/* ─── mega menu ─── */
.nav-item--mega { position: static; }
.site-header { position: relative; }
.site-header__inner { position: static; }

.nav-mega {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 90;
  display: none;
  width: min(1680px, 96vw);
  padding: 26px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 0 0 16px 16px;
  box-shadow: var(--shadow-lift, 0 22px 50px rgba(26, 20, 16, .13));
}
.nav-item--mega:hover .nav-mega,
.nav-item--mega:focus-within .nav-mega { display: block; }
.nav-mega::before {
  content: "";
  position: absolute;
  top: -18px;
  left: 0;
  right: 0;
  height: 18px;
}

.nav-mega__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 10px;
}
.nav-mega__grid--palety { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }

.mega-box {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  transition: background .15s ease, border-color .15s ease;
}
.mega-box:hover { background: var(--paper-deep); border-color: var(--line); }
.mega-box__img {
  flex: 0 0 auto;
  width: 58px;
  height: 58px;
  overflow: hidden;
  border-radius: 10px;
  background: var(--paper-deep);
}
.mega-box__img img { width: 100%; height: 100%; object-fit: cover; }
.mega-box__name {
  display: block;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .4px;
}
.mega-box__name small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}
.mega-box--opis { align-items: flex-start; }
.mega-box--opis .mega-box__img { width: 84px; height: 62px; }
.mega-box__desc {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 12.5px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.4;
  text-transform: none;
}

.mega-paleta {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  transition: background .15s ease, border-color .15s ease;
}
.mega-paleta:hover { background: var(--paper-deep); border-color: var(--line); }
.mega-paleta__swatche { display: flex; gap: 5px; }
.mega-paleta__swatche img {
  width: 38px;
  height: 38px;
  object-fit: cover;
  border-radius: 7px;
  border: 1px solid var(--line);
}

/* ─── mega menu: poprawki hover ─── */

/* czerwone podkreslenie z .main-nav a::after nie dotyczy boxow w panelu */
.nav-mega a::after { content: none; }
.nav-mega a:hover::after { content: none; }

.mega-box:hover,
.mega-paleta:hover {
  background: var(--paper-deep);
  border-color: transparent;
  transform: none;
}

/* korytarz miedzy linkiem a panelem — bez niego panel znika przy zjezdzaniu kursorem.
   ::after kotwiczy sie do .site-header (nav-item zostaje static, inaczej panel
   przestalby sie centrowac na stronie) i rozciaga pod cala belka. */
.nav-item--mega::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 42px;
  display: none;
}
.nav-item--mega:hover::after,
.nav-item--mega:focus-within::after { display: block; }
.nav-mega::before { top: -42px; height: 42px; }

/* ─── poprawki rundy 3 ─── */

/* nawigacja ciasniej */
.main-nav { gap: clamp(16px, 1.6vw, 28px); }

/* badge hero: szerszy, siatka pod wieksza miniature */
.product-card {
  width: 470px;
  grid-template-columns: 86px minmax(0, 1fr) 44px;
  gap: 16px;
}

/* przycisk drugorzedny — obrys, uzycie: <a class="secondary-button"> */
.secondary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 10px 26px;
  color: var(--red);
  background: transparent;
  border: 1px solid var(--red);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.secondary-button:hover,
.secondary-button:focus-visible {
  color: #fff;
  background: var(--red);
  border-color: var(--red);
}
.secondary-button i { transition: transform .2s ease; }
.secondary-button:hover i { transform: translateX(3px); }

/* boxy w mega panelu: .main-nav a { padding: 12px 0 } wygrywal specyficznoscia i zjadal lewy padding */
.main-nav .nav-mega .mega-box { padding: 9px 12px; }
.main-nav .nav-mega .mega-paleta { padding: 12px; }

/* ─── poprawki rundy 5 ─── */

/* mega menu produktow: 4 w rzedzie, wieksze miniatury, blady hover w kolorze glownym */
.nav-mega__grid { grid-template-columns: repeat(4, 1fr); }
.nav-mega__grid--palety { grid-template-columns: repeat(4, 1fr); }
.mega-box__img { width: 86px; height: 86px; border-radius: 12px; }
.mega-box:hover,
.mega-paleta:hover { background: rgba(185, 54, 42, .05); }

/* panel oferty: opisy lamia sie normalnie — nowrap z .main-nav a psul uklad */
.nav-mega a { white-space: normal; }
.mega-box { min-width: 0; }
.mega-box__body { min-width: 0; flex: 1; }
.mega-box--opis .mega-box__img { width: 108px; height: 78px; }

/* licznik koszyka */
.icon-link--cart { position: relative; }
.cart-count {
  position: absolute;
  top: -7px;
  right: -10px;
  display: none;
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--red);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}
.cart-count.is-visible { display: inline-flex; }

/* header wracajacy przy scrollu w gore */
.site-header.is-sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 140;
  background: var(--white);
  box-shadow: var(--shadow-soft, 0 10px 30px rgba(26, 20, 16, .08));
  transform: translateY(0);
  transition: transform .28s ease;
}
.site-header.is-hidden { transform: translateY(-100%); }

/* alias dla przycisku drugorzednego — obie nazwy dzialaja */
.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 10px 26px;
  color: var(--red);
  background: transparent;
  border: 1px solid var(--red);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}
.btn-secondary:hover,
.btn-secondary:focus-visible { color: #fff; background: var(--red); }

/* logo z Ustawien MW */
.footer-logo { max-height: 52px; width: auto; }

/* stopka: kontakt bez linii pod ostatnia pozycja */
.footer-direct-contact__item:last-child { border-bottom: 0; }

/* kafelki kategorii: obraz wypelnia box, zoom tylko wewnatrz, bez podnoszenia */
.category-tile { overflow: hidden; }
.category-tile,
.category-tile:hover,
.category-tile:focus-visible { transform: none; }
.category-tile__image { object-fit: cover; padding: 0; background: none; }
.category-tile:hover .category-tile__image { transform: scale(1.05); }

/* ─── mega menu: runda 6 ─── */

.mega-box__name { font-size: 18px; }
.mega-box__more {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 5px;
  color: var(--red);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
}
.mega-box__more i { font-size: 12px; transition: transform .2s ease; }
.mega-box:hover .mega-box__more i { transform: translateX(3px); }

/* oferta: pionowa miniatura w calosci + tytul i opis po prawej */
.nav-mega__grid:has(.mega-box--opis) { grid-template-columns: repeat(3, 1fr); gap: 14px; }
.mega-box--opis { align-items: stretch; gap: 16px; padding: 12px; }
.mega-box--opis .mega-box__img {
  width: 118px;
  height: 158px;
  flex: 0 0 auto;
  background: var(--paper-deep);
  border-radius: 12px;
}
.mega-box--opis .mega-box__img img { object-fit: contain; }
.mega-box--opis .mega-box__body { display: flex; flex-direction: column; justify-content: center; }
.mega-box--opis .mega-box__desc { font-size: 13.5px; line-height: 1.5; margin-top: 6px; }

/* probniki: 5 kafelkow w rzedzie, miniatura + nazwa pod spodem */
.nav-mega__grid--probniki { grid-template-columns: repeat(5, 1fr); gap: 14px; }
.mega-kafelek {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border-radius: 12px;
  text-align: center;
  transition: background .15s ease;
}
.mega-kafelek:hover { background: rgba(185, 54, 42, .05); }
.mega-kafelek__img {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  background: var(--paper-deep);
  border-radius: 12px;
  color: var(--muted);
  font-size: 30px;
}
.mega-kafelek__img img { width: 100%; height: 100%; object-fit: cover; }
.mega-kafelek__name { font-size: 14px; font-weight: 600; letter-spacing: .4px; }

/* realizacje: 2 banery po 50% */
.nav-mega__grid--banery { grid-template-columns: repeat(2, 1fr); gap: 18px; }
.mega-baner {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 14px;
}
.mega-baner__img {
  width: 100%;
  aspect-ratio: 21 / 9;
  object-fit: cover;
  transition: transform .35s ease;
}
.mega-baner:hover .mega-baner__img { transform: scale(1.04); }
.mega-baner__badge {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 18px;
  background: var(--white);
  border-radius: 10px;
  font-family: var(--serif);
  font-size: 20px;
}
.mega-baner__arrow {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  color: #fff;
  background: var(--red);
  border-radius: 50%;
  font-size: 14px;
}

/* ─── poprawki rundy 7 ─── */

/* oferta: 2 kolumny, wieksza miniatura, opisy akapitowe */
.nav-mega__grid:has(.mega-box--opis) { grid-template-columns: repeat(4, 1fr); gap: 14px; }
.mega-box--opis { flex-direction: column; align-items: stretch; }
.mega-box--opis .mega-box__img { width: 100%; height: 170px; background: var(--white); }
.mega-box--opis .mega-box__img img { object-fit: contain; }
.mega-box--opis .mega-box__desc { display: block; margin-top: 8px; }
.mega-box--opis .mega-box__more { margin-top: 12px; }

/* about: naglowek lamie sie normalnie */
.about-section__title { white-space: normal; overflow-wrap: break-word; }

/* kategorie na stronie glownej: badge z obrysem */
.category-tile__label { border: 1px solid var(--line); }

/* ─── poprawki rundy 8 ─── */

/* oferta: grafika w calosci po lewej, tresc po prawej */
.mega-box--opis { flex-direction: row; align-items: center; gap: 18px; }
.mega-box--opis .mega-box__img {
  flex: 0 0 150px;
  width: 150px;
  height: 195px;
  background: var(--white);
  border-radius: 12px;
}

/* banery realizacji: radius na obrazku, zadnego podnoszenia */
.mega-baner__img { border-radius: 14px; }
.mega-baner,
.mega-baner:hover { transform: none; box-shadow: none; }

/* probniki: 10 kafelkow w rzedzie */
.nav-mega__grid--probniki { grid-template-columns: repeat(10, 1fr); gap: 10px; }
.mega-kafelek { padding: 8px; gap: 8px; }
.mega-kafelek__img { border-radius: 10px; }
.mega-kafelek__name { font-size: 12px; line-height: 1.3; }

/* 4 widgety: plynny hover wypelniajacy akcentem */
.about-fact { transition: background .3s ease, border-color .3s ease; }
.about-fact__icon,
.about-fact__value,
.about-fact__label { transition: color .3s ease, border-color .3s ease, background .3s ease; }
.about-fact:hover { background: var(--red); border-color: var(--red); }
.about-fact:hover .about-fact__value,
.about-fact:hover .about-fact__label { color: #fff; }
.about-fact:hover .about-fact__icon {
  color: #fff;
  background: transparent;
  border-color: rgba(255, 255, 255, .55);
}

/* realizacje: masonry, 7 kolumn */
.realizations-grid {
  display: block;
  columns: 7 180px;
  column-gap: 14px;
}
.realizations-grid .realization-tile {
  display: inline-block;
  width: 100%;
  margin: 0 0 14px;
  break-inside: avoid;
}
.realizations-grid .realization-tile__image {
  width: 100%;
  height: auto;
  aspect-ratio: auto;
}

/* stopka: logo bez rozciagania, oddech przy socialach, kolumny na pelna szerokosc */
.site-footer__brand img,
.footer-logo { width: auto; max-width: 240px; height: auto; max-height: 60px; }
.site-footer__grid { max-width: 1660px; width: 100%; }
.site-footer__socials { margin-top: 30px; padding-top: 8px; padding-bottom: 26px; }

.site-footer__bottom { align-items: center; }
.site-footer__bottom .to-top {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #c9ccce;
  font-weight: 600;
  transition: color .2s ease;
}
.site-footer__bottom .to-top:hover { color: #fff; }
.site-footer__bottom .to-top i {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 50%;
  font-size: 12px;
}

/* ─── poprawki rundy 9 ─── */

/* probniki: 8 w rzedzie */
.nav-mega__grid--probniki { grid-template-columns: repeat(8, 1fr); gap: 12px; }
.mega-kafelek__name { font-size: 13px; }

/* banery realizacji: wieksze zdjecia, zero zoomu */
.mega-baner__img { aspect-ratio: 16 / 7; }
.mega-baner:hover .mega-baner__img { transform: none; }

/* oferta: pelna grafika z oddechem */
.mega-box--opis .mega-box__img { flex: 0 0 170px; width: 170px; height: 200px; padding: 8px; }

/* stopka: elastyczne kolumny bez pustych torow, wspolne wciecia wszystkich pasow */
.site-footer__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 44px;
  justify-content: space-between;
}
.site-footer__grid > div { flex: 1 1 180px; min-width: 0; }
.site-footer__grid > .site-footer__brand { flex: 1.6 1 300px; }
.site-footer__grid > div:last-child { flex: 1.2 1 270px; }
.footer-direct-contact__item strong { white-space: nowrap; }
.site-footer__grid,
.site-footer__socials,
.site-footer__bottom {
  max-width: 1660px;
  margin-inline: auto;
  padding-inline: clamp(24px, 3.5vw, 60px);
}
.site-footer__bottom {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 18px;
}
.site-footer__bottom > :nth-child(2) { text-align: center; }
.site-footer__bottom .to-top { justify-self: end; }

/* ─── poprawki rundy 10 ─── */

/* probniki w menu: zero dziwnego paddingu z .main-nav a, hover = zoom w kadrze */
.main-nav .nav-mega .mega-kafelek { position: relative; padding: 0 0 12px; }
.main-nav .nav-mega .mega-kafelek:hover { background: transparent; }
.mega-kafelek:hover .mega-kafelek__img img { transform: scale(1.06); }
.mega-kafelek__img img { transition: transform .3s ease; }

/* kafelek CTA "Zamow probnik" */
.mega-kafelek--cta {
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 100%;
  padding: 12px !important;
  color: #fff;
  background: var(--red) !important;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
  transition: background .2s ease;
}
.mega-kafelek--cta:hover { background: var(--red-dark) !important; }

/* banery realizacji: wieksze, badge z rownym odstepem, hover jak kategorie */
.mega-baner__img { aspect-ratio: 1.9 / 1; transition: transform .35s ease; }
.mega-baner:hover .mega-baner__img { transform: scale(1.05); }
.mega-baner__badge { left: 14px; right: 14px; bottom: 14px; transition: transform .25s ease; }
.mega-baner:hover .mega-baner__badge { transform: translateY(-5px); }

/* realizacje na stronie glownej: mozaika grid, co 6. kafel wiekszy */
.realizations-grid {
  display: grid;
  columns: auto;
  grid-template-columns: repeat(7, 1fr);
  grid-auto-rows: 150px;
  grid-auto-flow: dense;
  gap: 12px;
}
.realizations-grid .realization-tile {
  display: block;
  width: auto;
  height: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
  background: none;
}
.realizations-grid .realization-tile__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: auto;
}
.realizations-grid .realization-tile:nth-child(6n+1) { grid-column: span 2; grid-row: span 2; }

/* zwykla podstrona */
.page-single { padding: clamp(40px, 5vw, 72px) 31px; max-width: 1160px; margin: 0 auto; }
.page-single__head { margin-bottom: clamp(26px, 3vw, 44px); }
.page-single__title { margin: 6px 0 0; font-family: var(--serif); font-size: clamp(38px, 4vw, 56px); font-weight: 400; line-height: 1.05; }
.page-content { line-height: 1.7; }
.page-content h2, .page-content h3 { margin: 1.6em 0 .5em; font-family: var(--serif); font-weight: 400; line-height: 1.15; }
.page-content h2 { font-size: clamp(26px, 2.4vw, 34px); }
.page-content h3 { font-size: clamp(21px, 1.8vw, 26px); }
.page-content p { margin: 0 0 1em; }
.page-content ul, .page-content ol { margin: 0 0 1.2em; padding-left: 1.3em; }
.page-content a { color: var(--red); text-decoration: underline; text-underline-offset: 3px; }
.page-content img { border-radius: 10px; }
.page-content table { width: 100%; border-collapse: collapse; }
.page-content td, .page-content th { padding: 9px 12px; border-bottom: 1px solid var(--line); text-align: left; }

/* galerie Gutenberga: masonry + kursor lupki */
.page-content .wp-block-gallery { display: block; columns: 3 300px; column-gap: 14px; }
.page-content .wp-block-gallery .wp-block-image,
.page-content .wp-block-gallery figure { margin: 0 0 14px; break-inside: avoid; }
.page-content .wp-block-gallery img { width: 100%; height: auto; cursor: zoom-in; }

/* modal tekstowy / foto — globalny */
.mw-modal {
  position: fixed;
  inset: 0;
  z-index: 230;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(17, 19, 21, .58);
}
.mw-modal.is-open { display: flex; }
.mw-modal__panel {
  position: relative;
  width: min(880px, 100%);
  max-height: min(86vh, 940px);
  overflow-y: auto;
  padding: clamp(24px, 3vw, 42px);
  background: var(--white);
  border-radius: 18px;
}
.mw-modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  background: var(--paper-deep);
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}
.mw-modal__close:hover { color: #fff; background: var(--red); }
.mw-modal__title { margin: 0 0 16px; padding-right: 44px; font-family: var(--serif); font-size: clamp(24px, 2.4vw, 32px); font-weight: 400; }
.mw-modal__body { line-height: 1.65; }
.mw-modal__body p { margin: 0 0 1em; }
.mw-modal__body table { width: 100%; border-collapse: collapse; }
.mw-modal__body td, .mw-modal__body th { padding: 8px 10px; border-bottom: 1px solid var(--line); text-align: left; }
.mw-modal__body img { max-width: 100%; height: auto; border-radius: 10px; }
.mw-modal--foto .mw-modal__panel { max-width: min(1100px, 94vw); padding: 16px; text-align: center; }
.mw-modal--foto img { max-height: 78vh; margin: 0 auto; border-radius: 10px; }
.mw-modal--foto .lightbox-nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  transform: translateY(-50%);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 50%;
  cursor: pointer;
}
.mw-modal--foto .lightbox-nav--prev { left: -10px; }
.mw-modal--foto .lightbox-nav--next { right: -10px; }
.mw-modal--foto .lightbox-nav:hover { color: #fff; background: var(--red); }

/* ─── poprawki rundy 11 ─── */

/* 3. oferta: sam obrazek z radiusem, bez tla-podkladki */
.mega-box--opis .mega-box__img { background: none; padding: 0; }
.mega-box--opis .mega-box__img img { border-radius: 12px; }

/* 4. CTA zamow probnik: wypelnia reszte rzedu */
.mega-kafelek--cta { grid-column: span 2; }

/* 5. banery realizacji: hover 1:1 jak kafelki kategorii — tylko zoom w kadrze */
.mega-baner:hover .mega-baner__badge { transform: none; }
.mega-baner__badge { transition: none; }

/* 6. page: szerszy kontener + porzadny naglowek */
.page-single { max-width: 1400px; padding: clamp(44px, 5vw, 80px) 31px; }
.page-single__head { position: relative; margin-bottom: clamp(30px, 3.4vw, 52px); padding-bottom: 22px; }
.page-single__head::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 64px;
  height: 3px;
  background: var(--red);
}

/* 7. galerie: takze stare markupy WP (ul li / [gallery]) — masonry na twardo */
.page-content .wp-block-gallery,
.page-content .gallery {
  display: block !important;
  columns: 4 280px;
  column-gap: 14px;
  margin: 0 0 1.4em;
}
.page-content :is(.wp-block-gallery, .gallery) :is(figure, li, .wp-block-image, .blocks-gallery-item, .gallery-item) {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 0 14px !important;
  break-inside: avoid;
}
.page-content :is(.wp-block-gallery, .gallery) img {
  width: 100% !important;
  height: auto !important;
  border-radius: 10px;
  cursor: zoom-in;
}
.page-content :is(.wp-block-gallery, .gallery) figcaption { display: none; }

/* ─── poprawki rundy 12 ─── */

/* 1. oferta: radius na SAMYM obrazku — przy contain radius kontenera nie obejmowal grafiki */
.mega-box--opis .mega-box__img { height: auto; overflow: visible; }
.mega-box--opis .mega-box__img img {
  position: static;
  width: 100%;
  height: auto;
  object-fit: unset;
  border-radius: 12px;
}

/* 2. banery: zerujemy dziedziczony padding z .main-nav a */
.main-nav .nav-mega .mega-baner { padding: 0; }

/* 3. CTA probnika: rowna wysokosc z obrazkami, wiekszy font */
.mega-kafelek--cta {
  align-self: start;
  aspect-ratio: 2.06 / 1;
  min-height: 0;
  font-size: 17px;
  letter-spacing: 1px;
}

/* 4. header po scrollu w gore: nizszy */
.site-header.is-sticky .site-header__inner { min-height: 0; padding-top: 9px; padding-bottom: 9px; }
.site-header.is-sticky .custom-logo,
.site-header.is-sticky .logo { max-height: 42px; font-size: 23px; }

/* 7. modal: radius takze przy scrollu — przewija sie body, nie panel */
.mw-modal__panel { overflow: hidden; display: flex; flex-direction: column; }
.mw-modal__body { overflow-y: auto; padding-right: 8px; }

/* przycisk secondary w mniejszym rozmiarze */
.secondary-button--s { min-height: 40px; padding: 7px 20px; font-size: 12px; }

/* notice Woo po dodaniu do wyceny */
.mw-notices { margin: 18px auto 0; }
.mw-notices .woocommerce-message,
.mw-notices .woocommerce-info {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  background: var(--white);
  border: 1px solid var(--line);
  border-left: 4px solid #177245;
  border-radius: 10px;
  list-style: none;
}
.mw-notices .woocommerce-message a.button {
  margin-left: auto;
  padding: 8px 16px;
  color: #fff;
  background: var(--red);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
}

/* ─── poprawki rundy 13 ─── */

/* fakty pod karuzela, wezszy kontener */
.about-facts-strip { max-width: 1360px; margin: clamp(34px, 4vw, 64px) auto 0; padding: 0 31px; }

/* mozaika: przebudowa na twardo — obraz absolutnie wypelnia kafel */
.realizations-grid {
  display: grid !important;
  columns: unset !important;
  grid-template-columns: repeat(6, 1fr);
  grid-auto-rows: 170px;
  grid-auto-flow: dense;
  gap: 12px;
}
.realizations-grid .realization-tile {
  position: relative;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 12px;
}
.realizations-grid .realization-tile__image {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}
.realizations-grid .realization-tile:nth-child(8n+1) { grid-column: span 2; grid-row: span 2; }
.realizations-grid .realization-tile:nth-child(8n+6) { grid-row: span 2; }
.realizations-grid .realization-tile__label { display: none; }

/* footer jako wstawiona sekcja z radiusem, jak CTA */
.site-footer { margin: 0 12px; border-radius: 20px 20px 0 0; overflow: hidden; }
.site-footer__bottom { border-top: 0; }
.site-footer__socials {
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 12px;
  padding: 16px 22px;
  margin-top: 34px;
  margin-bottom: 26px;
  max-width: none;
  margin-inline: clamp(24px, 3.5vw, 60px);
}
.site-footer__social { font-size: 12px; }
.site-footer__socials-label { font-size: 13px; }

/* notice: pelna ramka, bez border-left */
.mw-notices { padding-top: 18px; }
.mw-notices .woocommerce-message,
.mw-notices .woocommerce-info {
  border: 1px solid var(--line);
  border-left: 1px solid var(--line);
  background: var(--white);
}
.mw-notices .woocommerce-message::before { content: "\f00c"; font-family: "Font Awesome 6 Pro", "Font Awesome 5 Pro"; font-weight: 900; color: #177245; }

/* koszyk / zamowienie / konto: szkielet motywu na szablonach Woo */
.woocommerce-page .page-content table.shop_table {
  border: 1px solid var(--line);
  border-radius: 12px;
  border-collapse: separate;
  border-spacing: 0;
}
.woocommerce-page .page-content table.shop_table th,
.woocommerce-page .page-content table.shop_table td { border-color: var(--line); padding: 13px 15px; }
.woocommerce-page .page-content a.button,
.woocommerce-page .page-content button.button {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 9px 22px;
  color: #fff !important;
  background: var(--red) !important;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: .4px;
  text-transform: uppercase;
  transition: background .2s ease;
}
.woocommerce-page .page-content a.button:hover,
.woocommerce-page .page-content button.button:hover { background: var(--red-dark) !important; }
.woocommerce-page .page-content .cart_item img { border-radius: 10px; }
.woocommerce-page .page-content .cart-collaterals .cart_totals { border: 1px solid var(--line); border-radius: 12px; padding: 20px; }

/* ─── poprawki rundy 14 ─── */

/* fakty w products-section */
.products-section .about-facts-strip { margin-top: clamp(30px, 3.5vw, 54px); }

/* socials: pas facebookowy, bez radiusa */
.site-footer__socials {
  background: #1877f2;
  border: 0;
  border-radius: 0;
  margin-inline: 0;
  padding: 18px clamp(24px, 3.5vw, 60px);
  max-width: none;
}
.site-footer__socials-label { color: #fff; }
.site-footer__social { color: #fff; font-size: 12.5px; }
.site-footer__social i { color: #fff; border-color: rgba(255, 255, 255, .55); background: transparent; }

/* mozaika: kafelki to lightbox, nie linki */
.realizations-grid .realization-tile { cursor: zoom-in; }

/* archiwum produktow */
.products-arch { padding: clamp(40px, 5vw, 70px) 31px; max-width: 1660px; margin: 0 auto; }
.products-arch__head { margin-bottom: clamp(28px, 3vw, 46px); }
.products-arch-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(14px, 1.6vw, 24px);
}
.products-arch-grid .product-slide__image { aspect-ratio: 3 / 2; }
.products-arch-grid .product-slide--pion .product-slide__image { aspect-ratio: 1; object-fit: contain; background: var(--white); }
.products-arch__opis { max-width: 940px; margin: clamp(40px, 5vw, 64px) 0 0; line-height: 1.7; }
.products-arch__opis h2, .products-arch__opis h3 { font-family: var(--serif); font-weight: 400; }
@media (max-width: 1200px) { .products-arch-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 820px) { .products-arch-grid { grid-template-columns: repeat(2, 1fr); } }

.oferta-kategorie {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(12px, 1.2vw, 18px);
  margin-bottom: clamp(36px, 4vw, 60px);
}
.oferta-kat {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--ink);
  background: var(--white);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(26, 20, 16, .08);
  transition: box-shadow .25s ease;
}
.oferta-kat:hover,
.oferta-kat:focus-visible { box-shadow: 0 16px 38px rgba(26, 20, 16, .14); }
.oferta-kat__media {
  display: block;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--paper-deep);
}
.oferta-kat__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.2, .7, .2, 1);
}
.oferta-kat:hover .oferta-kat__media img,
.oferta-kat:focus-visible .oferta-kat__media img { transform: scale(1.05); }
.oferta-kat__opis {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 14px 16px 18px;
}
.oferta-kat__nazwa {
  display: block;
  font-family: var(--serif);
  font-size: clamp(18px, 1.25vw, 22px);
  font-weight: 400;
  line-height: 1.05;
}
.oferta-kat__ile {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .8px;
  text-transform: uppercase;
}
.oferta-kat__arrow {
  width: 36px;
  height: 36px;
  display: grid;
  flex: 0 0 36px;
  place-items: center;
  color: #fff;
  background: var(--red);
  border-radius: 50%;
  font-size: 13px;
  transition: background .2s ease;
}
.oferta-kat:hover .oferta-kat__arrow,
.oferta-kat:focus-visible .oferta-kat__arrow { background: var(--red-dark); }

.mw-pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: clamp(32px, 3.5vw, 52px);
}
.mw-pager .page-numbers {
  min-width: 46px;
  height: 46px;
  padding: 0 14px;
  display: inline-grid;
  place-items: center;
  color: var(--ink);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 16px;
  font-weight: 700;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.mw-pager a.page-numbers:hover,
.mw-pager a.page-numbers:focus-visible { color: var(--red); border-color: var(--red); }
.mw-pager .page-numbers.current { color: #fff; background: var(--red); border-color: var(--red); }
.mw-pager .page-numbers.dots { min-width: 0; padding: 0 4px; background: none; border: 0; }
.mw-pager .prev,
.mw-pager .next { color: #fff; background: var(--ink); border-color: var(--ink); }
.mw-pager a.prev:hover,
.mw-pager a.next:hover,
.mw-pager a.prev:focus-visible,
.mw-pager a.next:focus-visible { color: #fff; background: var(--red); border-color: var(--red); }
.opinie-strona {
  max-width: 1660px;
  margin: 0 auto;
  padding: clamp(40px, 5vw, 70px) 31px clamp(70px, 7vw, 110px);
}
.opinie-strona__lead {
  max-width: 620px;
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.55;
}
.opinie-strona__tresc { max-width: 940px; margin-bottom: clamp(28px, 3vw, 44px); }
.opinie-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.opinie-grid .review-card:nth-child(n) { grid-column: auto; min-height: 0; }

.mw-szukaj {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 560px;
  padding: 6px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 999px;
  transition: border-color .2s ease;
}
.mw-szukaj:focus-within { border-color: var(--red); }
.mw-szukaj__ikona { position: absolute; left: 22px; color: var(--muted); font-size: 16px; pointer-events: none; }
.mw-szukaj__pole {
  flex: 1;
  min-width: 0;
  height: 46px;
  padding: 0 16px 0 44px;
  color: var(--ink);
  background: transparent;
  border: 0;
  font: inherit;
  font-size: 16px;
  font-weight: 500;
  outline: 0;
}
.mw-szukaj__pole::-webkit-search-cancel-button { cursor: pointer; }
.mw-szukaj__przycisk {
  flex: 0 0 auto;
  height: 46px;
  padding: 0 26px;
  color: #fff;
  background: var(--red);
  border: 0;
  border-radius: 999px;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s ease;
}
.mw-szukaj__przycisk:hover,
.mw-szukaj__przycisk:focus-visible { background: var(--red-dark); }
.products-arch__head:has(.mw-szukaj) { align-items: end; flex-wrap: wrap; gap: 20px 40px; }
.products-arch__lead { margin: 14px 0 0; color: var(--muted); font-size: 16px; }
.mw-pusto__tekst { max-width: 720px; margin: 0 0 clamp(26px, 3vw, 40px); color: var(--muted); font-size: 17px; line-height: 1.6; }
.mw-pusto__tekst strong { display: block; margin-bottom: 4px; color: var(--ink); }

.mw-404 { max-width: 1660px; margin: 0 auto; padding: clamp(50px, 6vw, 100px) 31px clamp(70px, 7vw, 110px); }
.mw-404__head { max-width: 760px; margin-bottom: clamp(40px, 5vw, 70px); }
.mw-404__tekst { margin: 18px 0 28px; color: var(--muted); font-size: 17px; line-height: 1.6; }
.mw-404__akcje { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 26px; }

.mw-archiwum { max-width: 1660px; margin: 0 auto; padding: clamp(40px, 5vw, 70px) 31px clamp(70px, 7vw, 110px); }
.mw-archiwum__opis { max-width: 720px; margin-top: 16px; color: var(--muted); font-size: 17px; line-height: 1.6; }
.mw-archiwum__opis p { margin: 0; }
.opinie-grid--jedna { grid-template-columns: minmax(0, 520px); margin-bottom: 28px; }
.wpisy-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 24px); }
.wpis-karta__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  color: var(--ink);
  background: var(--white);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(26, 20, 16, .08);
  transition: box-shadow .25s ease;
}
.wpis-karta__link:hover,
.wpis-karta__link:focus-visible { box-shadow: 0 16px 38px rgba(26, 20, 16, .14); }
.wpis-karta__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--paper-deep); }
.wpis-karta__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.wpis-karta__link:hover .wpis-karta__media img { transform: scale(1.05); }
.wpis-karta__tresc { display: flex; flex: 1; flex-direction: column; gap: 8px; padding: 20px 22px 22px; }
.wpis-karta__data { color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.wpis-karta__tytul { font-family: var(--serif); font-size: 22px; font-weight: 400; line-height: 1.15; }
.wpis-karta__zajawka { color: var(--muted); font-size: 15px; line-height: 1.55; }
.wpis-karta__wiecej { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 6px; color: var(--red); font-size: 13px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; }

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.mw-pager .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* ─── poprawki rundy 15 ─── */

/* archiwum: karty bez rozciagania do najwyzszego wiersza */
.products-arch-grid { align-items: start; }

/* fakty: mniejszy naglowek */
.about-facts .about-fact__value { font-size: 24px; }

/* stopka: socials w kontenerze siatki, grafit, kolka FB w brandowym niebieskim */
.site-footer__socials {
  max-width: 1660px;
  margin-inline: auto;
  padding: 18px clamp(24px, 3.5vw, 60px);
  background: #232323;
  border-radius: 12px;
}
.site-footer__social i { color: #fff; background: #1877f2; border: 0; }
.site-footer__social i.fa-facebook {
  width: 18px;
  height: 18px;
  color: #1877f2;
  background: radial-gradient(circle, #fff 56%, transparent 58%);
  font-size: 18px;
  line-height: 1;
}

/* klasyczna galeria [gallery]: siatka wg gallery-columns-N, podpis jako badge */
.gallery,
.page-content .gallery,
.mw-modal__body .gallery {
  display: grid !important;
  columns: unset !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 0 0 1.4em;
}
.gallery-columns-1 { grid-template-columns: 1fr !important; }
.gallery-columns-2 { grid-template-columns: repeat(2, 1fr) !important; }
.gallery-columns-4 { grid-template-columns: repeat(4, 1fr) !important; }
.gallery .gallery-item,
.page-content .gallery .gallery-item {
  position: relative;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 12px;
}
.gallery .gallery-item img { width: 100% !important; height: auto !important; display: block; border-radius: 12px; cursor: zoom-in; }
.gallery .gallery-caption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  display: inline-block !important;
  padding: 7px 14px;
  color: #fff;
  background: var(--red);
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
}

/* ─── poprawki rundy 16: wycena ─── */

/* pasek "to wycena" — pelna ramka, zero border-left */
.mw-wycena-info {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 22px;
  padding: 15px 20px;
  background: var(--paper-deep);
  border: 1px solid var(--line);
  border-radius: 12px;
  line-height: 1.5;
}
.mw-wycena-info i { flex: 0 0 auto; color: var(--red); font-size: 20px; }

/* koszyk: 65/35 */
.woocommerce-cart .page-content .woocommerce {
  display: grid;
  grid-template-columns: 65fr 35fr;
  gap: clamp(22px, 3vw, 44px);
  align-items: start;
}
.woocommerce-cart .page-content .woocommerce-notices-wrapper,
.woocommerce-cart .page-content .mw-wycena-info { grid-column: 1 / -1; }
.woocommerce-cart .page-content .cart-collaterals { width: 100%; }
.woocommerce-cart .page-content .cart-collaterals .cart_totals { width: 100%; float: none; background: var(--white); }
.woocommerce-cart .page-content .woocommerce-cart-form img { max-width: 96px; border-radius: 10px; }

/* checkout: uklad wyceny */
.mw-wycena__grid {
  display: grid;
  grid-template-columns: 62fr 38fr;
  gap: clamp(22px, 3vw, 44px);
  align-items: start;
}
.mw-wycena .step-card,
.mw-wycena .summary {
  padding: clamp(22px, 2.4vw, 34px);
  background: var(--white);
  border-radius: 16px;
  box-shadow: var(--shadow-soft, 0 10px 30px rgba(26, 20, 16, .08));
}
.mw-wycena .step-card { position: relative; }
.mw-wycena .step-card__num {
  position: absolute;
  top: -14px;
  left: 22px;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: #fff;
  background: var(--red);
  border-radius: 50%;
  font-weight: 700;
}
.mw-wycena h3 { margin: 4px 0 6px; font-family: var(--serif); font-size: 24px; font-weight: 400; }
.mw-wycena .step-card__hint { margin: 0 0 18px; color: var(--muted); font-size: 14px; }
.mw-wycena .form-row { margin-bottom: 14px; }
.mw-wycena input[type="text"],
.mw-wycena input[type="tel"],
.mw-wycena input[type="email"],
.mw-wycena textarea,
.mw-wycena select {
  width: 100%;
  padding: 12px 14px;
  background: var(--white);
  border: 2px solid var(--line);
  border-radius: 10px;
  font: inherit;
}
.mw-wycena input:focus,
.mw-wycena textarea:focus,
.mw-wycena select:focus { border-color: var(--red); outline: 0; }
.mw-wycena label { display: block; margin-bottom: 5px; font-size: 13px; font-weight: 600; }
.mw-wycena .summary--checkout table { width: 100%; }
.mw-wycena .summary--checkout th,
.mw-wycena .summary--checkout td { padding: 9px 0; border-bottom: 1px solid var(--line); text-align: left; font-size: 14px; }
.mw-wycena .summary--checkout tfoot .order-total td,
.mw-wycena .summary--checkout tfoot .order-total th { font-size: 17px; border-bottom: 0; }
.mw-wycena #place_order {
  width: 100%;
  min-height: 54px;
  margin-top: 16px;
  color: #fff;
  background: var(--red);
  border: 0;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s ease;
}
.mw-wycena #place_order:hover { background: var(--red-dark); }
.mw-wycena .wc_payment_methods { margin: 14px 0; padding: 0; list-style: none; }
.mw-wycena .wc_payment_method { padding: 8px 0; }
.mw-wycena .summary__safe { margin-top: 18px; }

@media (max-width: 980px) {
  .mw-wycena__grid,
  .woocommerce-cart .page-content .woocommerce { grid-template-columns: 1fr; }
}

/* strona probnika */
.mw-probnik { max-width: 1660px; margin: 0 auto; padding: clamp(36px, 4.5vw, 64px) 31px; }
.mw-probnik__intro { max-width: 900px; margin-bottom: clamp(24px, 3vw, 40px); }
.mw-probnik .swatch { position: relative; }
.mw-probnik .swatch__check {
  position: absolute;
  top: 8px;
  right: 8px;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  color: #fff;
  background: rgba(17, 19, 21, .25);
  border-radius: 50%;
  font-size: 12px;
  transition: background .15s ease;
}
.mw-probnik .swatch.is-selected .swatch__check { background: var(--red); }
.mw-probnik__pusto { color: var(--muted); }
.mw-probnik .summary__cta[disabled] { opacity: .45; cursor: not-allowed; }

/* ─── poprawki rundy 17 ─── */

/* stopka: kreska akcentu przed linkami */
.site-footer__links a { display: inline-flex; align-items: center; }
.site-footer__links a::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 2px;
  margin-right: 10px;
  background: var(--red);
  transition: width .2s ease;
}
.site-footer__links a:hover::before { width: 22px; }

/* stopka: pas socjali w tych samych liniach co kolumny */
.site-footer__socials {
  width: calc(100% - 2 * clamp(24px, 3.5vw, 60px));
  max-width: calc(1660px - 2 * clamp(24px, 3.5vw, 60px));
  margin-inline: auto;
  padding: 16px 22px;
}

/* kolaz "inny model": 2 miniatury w rzedzie */
.tile__collage {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 10px;
}
.tile__collage img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 8px;
}

/* ── koszyk wyceny: wlasny widok ── */
.mw-koszyk {
  display: grid;
  grid-template-columns: 65fr 35fr;
  gap: clamp(22px, 3vw, 44px);
  align-items: start;
}
.mw-koszyk__pozycja {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 18px;
  margin-bottom: 14px;
  padding: 18px;
  background: var(--white);
  border-radius: 16px;
  box-shadow: var(--shadow-soft, 0 10px 30px rgba(26, 20, 16, .08));
}
.mw-koszyk__foto img { width: 100%; height: 110px; object-fit: cover; border-radius: 12px; }
.mw-koszyk__naglowek { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.mw-koszyk__naglowek h3 { margin: 0; font-family: var(--serif); font-size: 21px; font-weight: 400; }
.mw-koszyk__ilosc { margin-left: 6px; color: var(--muted); font-family: var(--sans); font-size: 14px; }
.mw-koszyk__kwota { flex: 0 0 auto; color: var(--red); font-size: 18px; }
.mw-koszyk__meta { margin-top: 8px; color: var(--muted); font-size: 13.5px; line-height: 1.55; }
.mw-koszyk__meta dl, .mw-koszyk__meta dt, .mw-koszyk__meta dd { display: inline; margin: 0; padding: 0; border: 0; }
.mw-koszyk__meta dt { font-weight: 600; color: var(--ink); }
.mw-koszyk__meta dt::before { content: " · "; color: var(--line); font-weight: 400; }
.mw-koszyk__meta dl > dt:first-child::before { content: ""; }
.mw-koszyk__usun {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 10px;
  color: var(--muted);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  transition: color .2s ease;
}
.mw-koszyk__usun:hover { color: var(--red); }
.mw-koszyk .summary--koszyk { position: sticky; top: 110px; }
.mw-koszyk__dostawa { color: var(--muted); font-size: 13px; }
.mw-koszyk .summary__cta { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; }
@media (max-width: 980px) { .mw-koszyk { grid-template-columns: 1fr; } }

/* ── checkout: dociagniecie formularza Woo do stylu konfiguratora ── */
.mw-wycena .woocommerce-billing-fields > h3,
.mw-wycena .woocommerce-shipping-fields > h3 {
  margin: 10px 0 14px;
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 400;
}
.mw-wycena .woocommerce-billing-fields__field-wrapper,
.mw-wycena .woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 16px;
}
.mw-wycena .form-row-wide { grid-column: 1 / -1; }
.mw-wycena .form-row label { color: var(--ink); }
.mw-wycena .form-row label .optional { color: var(--muted); font-weight: 400; }
.mw-wycena p:not([class]),
.mw-wycena .form-row p { color: var(--muted); font-size: 13px; }
.mw-wycena .wc_payment_methods { border: 1px solid var(--line); border-radius: 12px; padding: 6px 16px !important; }
.mw-wycena .wc_payment_method label { display: inline; font-size: 14px; }
.mw-wycena .payment_box { margin: 8px 0; padding: 10px 14px; background: var(--paper-deep); border-radius: 8px; font-size: 13px; }
.mw-wycena .woocommerce-terms-and-conditions-wrapper { margin: 14px 0 0; font-size: 13px; }
.mw-wycena fieldset { border: 1px solid var(--line); border-radius: 12px; padding: 12px 16px; margin: 0 0 14px; }
.mw-wycena fieldset legend { padding: 0 8px; font-weight: 700; font-size: 13px; }

/* ─── poprawki rundy 18 ─── */

/* pas bezpieczenstwa: gdyby FCF mimo filtra dorenderowal pola palet na checkoucie */
.woocommerce-checkout [id^="order_probniki"][id$="_field"],
.woocommerce-checkout [id^="order_ekoskora"][id$="_field"],
.woocommerce-checkout [id^="order_skora"][id$="_field"],
.woocommerce-checkout [id^="order_tkanin"][id$="_field"],
.woocommerce-checkout [id^="order_kolory"][id$="_field"],
.woocommerce-checkout [id^="order_wybierz_kolor"][id$="_field"],
.woocommerce-checkout [id^="order_info"][id$="_field"],
.woocommerce-checkout [id^="order_informacja"][id$="_field"] { display: none !important; }

/* koszyk: neutralizacja linkowych stylow tresci strony */
.mw-koszyk a { color: inherit; text-decoration: none; }
.mw-koszyk__naglowek h3 a:hover { color: var(--red); }
.mw-koszyk .summary__cta {
  color: #fff;
  background: var(--red);
  border: 0;
  border-radius: 999px;
  min-height: 52px;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .2s ease;
}
.mw-koszyk .summary__cta:hover { background: var(--red-dark); color: #fff; }

/* ─── poprawki rundy 19: koszyk ─── */

/* wrapper Woo wraca do blocka — uklad robi .mw-koszyk, nie opakowanie */
.woocommerce-cart .page-content .woocommerce { display: block; }

/* cisniejsze odstepy na koszyku */
.woocommerce-cart .page-single__head { margin-bottom: 16px; padding-bottom: 16px; }
.woocommerce-cart .mw-wycena-info { margin-bottom: 20px; }
.woocommerce-cart .mw-notices:empty { display: none; }
.woocommerce-cart .woocommerce-notices-wrapper:empty { display: none; }

/* 65/35 na pelnej szerokosci kontenera */
.mw-koszyk { grid-template-columns: minmax(0, 65fr) minmax(0, 35fr); }
.mw-koszyk .summary--koszyk { padding: clamp(20px, 2.2vw, 30px); }
.mw-koszyk .summary__total { margin: 14px 0; }

/* ─── wlasny checkout wyceny (jedna kolumna) ─── */
.mw-wycena-strona { max-width: 1020px; margin: 0 auto; padding: clamp(36px, 4.5vw, 60px) 31px; }
.mw-wycena--pion { display: block; }
.mw-wycena--pion .step-card { margin: 0 0 26px; }
.mw-koszyk__lista--wycena .mw-koszyk__pozycja { box-shadow: none; border: 1px solid var(--line); padding: 14px; }
.mw-wycena__edytuj a { color: var(--red); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; }

.mw-pola { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px; }
.mw-pola p { margin: 0 0 12px; }
.mw-pola__full { grid-column: 1 / -1; }
.mw-pola__rzad { display: flex; gap: 16px; }
.mw-pola__rzad > span { flex: 1; }

.mw-radiolista { display: flex; flex-direction: column; gap: 8px; margin: 0 0 14px; grid-column: 1 / -1; }
.mw-radiolista--zwarta { flex-direction: row; flex-wrap: wrap; gap: 8px; }
.mw-radio {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 15px;
  background: var(--white);
  border: 2px solid var(--line);
  border-radius: 10px;
  cursor: pointer;
  transition: border-color .15s ease;
}
.mw-radio:hover { border-color: var(--red); }
.mw-radio:has(input:checked) { border-color: var(--red); background: rgba(185, 54, 42, .04); }
.mw-radio input { accent-color: var(--red); }
.mw-radio strong { margin-left: auto; color: var(--red); }
.mw-radiolista--zwarta .mw-radio { padding: 8px 14px; font-size: 14px; }

.mw-zgoda { display: flex; gap: 10px; align-items: flex-start; grid-column: 1 / -1; font-size: 13.5px; line-height: 1.5; }
.mw-zgoda input { margin-top: 3px; accent-color: var(--red); }
.mw-zgoda a { color: var(--red); text-decoration: underline; }

.mw-wycena__stopka {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px clamp(20px, 2.4vw, 32px);
  background: var(--white);
  border-radius: 16px;
  box-shadow: var(--shadow-soft, 0 10px 30px rgba(26, 20, 16, .08));
}
.mw-wycena__suma strong { font-size: 30px; color: var(--red); }
.mw-wycena__stopka .summary__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 12px 30px;
  color: #fff;
  background: var(--red);
  border: 0;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
  cursor: pointer;
}
.mw-wycena__stopka .summary__cta:hover { background: var(--red-dark); }
@media (max-width: 720px) { .mw-pola { grid-template-columns: 1fr; } }

/* ─── poprawki rundy 20 ─── */

/* ikonka koszyka w headerze */
.icon-link--cart { display: inline-grid; place-items: center; width: 42px; height: 42px; }
.icon-link--cart > i { font-size: 19px; line-height: 1; }
.header-actions .icon-link--cart::before,
.header-actions .icon-link--cart::after { content: none !important; font-family: inherit; }
.cart-count { top: -4px; right: -6px; }

/* koszyk: jedna kolumna */
.mw-koszyk { display: block; max-width: 1020px; margin: 0 auto; }
.mw-koszyk__lista { margin-bottom: 22px; }

/* wspolne wciecia banera i kart — koniec z rozjazdem paddingow */
.mw-wycena-info {
  padding: 16px clamp(20px, 2.4vw, 32px);
  margin: 0 0 26px;
}
.mw-wycena-strona { padding-top: clamp(48px, 6vw, 84px); }
.mw-wycena-strona .page-single__head { margin-bottom: 20px; padding-bottom: 18px; }

/* dolny pasek podsumowania: kwota bez lamania, wieksza */
.mw-wycena__suma { display: flex; flex-direction: column; gap: 2px; }
.mw-wycena__suma strong { font-size: clamp(28px, 3vw, 38px); white-space: nowrap; font-family: var(--serif); font-weight: 400; }
.mw-wycena__stopka { border: 1px solid var(--line); }
@media (max-width: 720px) {
  .mw-wycena__stopka { flex-direction: column; align-items: stretch; text-align: center; }
  .mw-wycena__stopka .summary__cta { justify-content: center; }
}

/* probnik: banner sukcesu */
.mw-wycena-info--sukces { border-color: #b9d8c2; }
.mw-wycena-info--sukces i { color: #177245; }

/* ─── poprawki rundy 21 ─── */

/* 1. lightbox galerii strony glownej — kadr bez bialej ramki, przyciski w obrazie */
.mw-modal--foto { padding: 3vh 22px; background: rgba(17, 19, 21, .86); }
.mw-modal--foto .mw-modal__panel {
  width: auto;
  max-width: min(1180px, 94vw);
  max-height: none;
  padding: 0;
  overflow: visible;
  background: transparent;
  border-radius: 0;
}
.mw-modal--foto img { max-width: 100%; max-height: 88vh; width: auto; margin: 0 auto; border-radius: 14px; }
.mw-modal--foto .mw-modal__close {
  top: 16px;
  right: 16px;
  width: 42px;
  height: 42px;
  color: var(--ink);
  background: rgba(255, 253, 250, .92);
  box-shadow: 0 10px 30px rgba(26, 20, 16, .22);
}
.mw-modal--foto .mw-modal__close:hover { color: #fff; background: var(--red); }
.mw-modal--foto .lightbox-nav {
  color: var(--ink);
  background: rgba(255, 253, 250, .92);
  border: 0;
  box-shadow: 0 10px 30px rgba(26, 20, 16, .22);
}
.mw-modal--foto .lightbox-nav--prev { left: 18px; }
.mw-modal--foto .lightbox-nav--next { right: 18px; }

/* 2. staly pasek koszyka wyceny */
.mw-pasek {
  position: fixed;
  inset: auto 0 0 0;
  z-index: 70;
  padding: 0 12px 12px;
  pointer-events: none;
}
.mw-pasek.is-pusty { display: none; }
.mw-pasek__inner {
  display: flex;
  align-items: center;
  gap: clamp(14px, 1.8vw, 26px);
  max-width: 1660px;
  margin: 0 auto;
  padding: 13px 18px;
  background: var(--ink);
  border-radius: 16px;
  box-shadow: 0 -8px 44px rgba(26, 20, 16, .3);
  pointer-events: auto;
}
.mw-pasek a { text-decoration: none; }
.mw-pasek__ikona {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 12px;
  font-size: 18px;
}
.mw-pasek__opis { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.mw-pasek__label { color: rgba(255, 255, 255, .6); font-size: 11px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; }
.mw-pasek__nazwa {
  display: block;
  overflow: hidden;
  color: #fff;
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 400;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.mw-pasek__nazwa small { margin-left: 9px; color: rgba(255, 255, 255, .6); font-family: var(--sans); font-size: 12.5px; font-weight: 600; }
.mw-pasek__kwota { flex: 0 0 auto; margin-left: auto; text-align: right; }
.mw-pasek__kwota small { display: block; color: rgba(255, 255, 255, .6); font-size: 11px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; }
.mw-pasek__kwota > span { display: block; color: #fff; font-family: var(--serif); font-size: 26px; line-height: 1.15; white-space: nowrap; }
.mw-pasek__kwota bdi, .mw-pasek__kwota .woocommerce-Price-currencySymbol { font: inherit; color: inherit; }
.mw-pasek__akcje { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; }
.mw-pasek__link,
.mw-pasek__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
  transition: background .2s ease, border-color .2s ease;
}
.mw-pasek__link { padding: 10px 24px; color: #fff; background: transparent; border: 1px solid rgba(255, 255, 255, .38); }
.mw-pasek__link:hover { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .62); }
.mw-pasek__cta { padding: 10px 28px; color: #fff; background: var(--red); }
.mw-pasek__cta:hover { background: var(--red-dark); }
/* stopka robi miejsce pod belke — inaczej padding body odslania paper pod ciemnym footerem */
body:has(.mw-pasek:not(.is-pusty)) .site-footer { padding-bottom: 96px; }

@media (max-width: 1180px) {
  .mw-pasek__inner { flex-wrap: wrap; }
  .mw-pasek__akcje { width: 100%; }
  .mw-pasek__link, .mw-pasek__cta { flex: 1 1 auto; justify-content: center; text-align: center; }
  body:has(.mw-pasek:not(.is-pusty)) .site-footer { padding-bottom: 178px; }
}
@media (max-width: 720px) {
  .mw-pasek { padding: 0 8px 8px; }
  .mw-pasek__ikona { display: none; }
  .mw-pasek__nazwa { font-size: 17px; }
  /* na produkcie dol ekranu nalezy do paska "dodaj do wyceny" */
  .single-product .mw-pasek { display: none; }
  body.single-product:has(.mw-pasek:not(.is-pusty)) .site-footer { padding-bottom: 0; }
}

/* 3. oddech pionowy: .wrap nie zeruje juz paddingu stron, tu tylko dokladka */
.woocommerce-cart .page-single,
.woocommerce-checkout .page-single,
.mw-wycena-strona { padding-block: clamp(46px, 5vw, 84px) clamp(56px, 6vw, 96px); }
/* 3. koszyk: lista 65% + podsumowanie 35% w jednym rzedzie, pelna szerokosc */
.mw-koszyk {
  display: grid;
  grid-template-columns: minmax(0, 65fr) minmax(0, 35fr);
  gap: clamp(20px, 2.4vw, 36px);
  align-items: start;
  max-width: none;
  margin: 0;
}
.mw-koszyk__lista { display: flex; flex-direction: column; gap: 14px; margin-bottom: 0; }
.mw-koszyk__pozycja { margin-bottom: 0; }
.mw-koszyk__pozycja:last-child { margin-bottom: 0; }
.mw-koszyk__naglowek { align-items: flex-start; }
.mw-koszyk__naglowek h3 { font-size: 23px; line-height: 1.2; }
.mw-koszyk__kwota {
  color: var(--red);
  font-family: var(--serif);
  font-size: clamp(22px, 1.9vw, 26px);
  font-weight: 400;
  line-height: 1.15;
  white-space: nowrap;
}
.mw-koszyk__kwota bdi, .mw-koszyk__kwota span { font: inherit; color: inherit; }

/* 3b/6. konfiguracja pozycji: zwarty rzad par, ikona akcentu przed kazda */
.mw-koszyk__meta { margin-top: 10px; color: var(--ink); }
.mw-koszyk__meta dl {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 18px;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
}
.mw-koszyk__meta .variation__poz {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
}
.mw-koszyk__meta .variation__poz::before {
  content: "\f00c";
  color: var(--red);
  font-family: "Font Awesome 6 Pro", "Font Awesome 5 Pro";
  font-size: 10px;
  font-weight: 900;
}
.mw-koszyk__meta dt {
  display: inline;
  margin: 0;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .8px;
  text-transform: uppercase;
  white-space: nowrap;
}
.mw-koszyk__meta dt::before { content: none; }
.mw-koszyk__meta dd {
  display: inline;
  margin: 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.mw-koszyk__meta dd p { display: inline; margin: 0; }
.mw-koszyk__meta dd .woocommerce-Price-amount { color: var(--red); }

/* baner "to wycena" pod lista pozycji, nie nad nia */
.mw-koszyk__lista .mw-wycena-info { margin: 0; }

/* 3a. podsumowanie koszyka jako kolumna 35% */
.mw-wycena__stopka--kolumna {
  position: sticky;
  top: 110px;
  display: block;
  padding: clamp(22px, 2.2vw, 30px);
}
.mw-wycena__stopka--kolumna .section-kicker { margin: 0 0 14px; }
.mw-wycena__pozycje { margin: 0 0 18px; padding: 0; list-style: none; }
.mw-wycena__pozycje li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
}
.mw-wycena__pozycje li:first-child { padding-top: 0; }
.mw-wycena__pozycje span { color: var(--muted); }
.mw-wycena__stopka--kolumna .mw-wycena__suma {
  margin-bottom: 18px;
  padding: 16px 18px;
  background: var(--paper-deep);
  border-radius: 12px;
}
.mw-wycena__stopka--kolumna .summary__cta { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; }
.mw-wycena__stopka--kolumna .summary__safe { margin-top: 18px; }
@media (max-width: 980px) {
  .mw-koszyk { grid-template-columns: 1fr; }
  .mw-wycena__stopka--kolumna { position: static; }
}

/* 3a/7. kwota sumy: Woo pakuje cene w spany — bez tego resetu waluta ladowala pod liczba */
.mw-wycena__suma > span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}
.mw-wycena__suma > strong {
  display: block;
  color: var(--red);
  font-family: var(--serif);
  font-size: clamp(32px, 3.2vw, 44px);
  font-weight: 400;
  line-height: 1.1;
  white-space: nowrap;
}
.mw-wycena__suma > strong span,
.mw-wycena__suma > strong bdi {
  display: inline;
  font: inherit;
  color: inherit;
  letter-spacing: normal;
  text-transform: none;
}
.mw-wycena__suma > small { display: block; margin-top: 8px; color: var(--muted); font-size: 13px; line-height: 1.5; }

/* 7. zamkniecie formularza wyceny — belka w kolorze marki, jak sekcja CTA */
.mw-wycena__stopka--final {
  align-items: center;
  gap: clamp(20px, 3vw, 44px);
  padding: clamp(26px, 2.8vw, 38px) clamp(24px, 2.8vw, 40px);
  color: #fff;
  background: var(--red);
  border: 1px solid var(--red);
  border-radius: 20px;
  box-shadow: 0 18px 40px rgba(185, 54, 42, .22);
}
.mw-wycena__stopka--final .mw-wycena__suma > span { color: rgba(255, 255, 255, .72); }
.mw-wycena__stopka--final .mw-wycena__suma > strong { color: #fff; }
.mw-wycena__stopka--final .mw-wycena__suma > small { max-width: 640px; color: rgba(255, 255, 255, .78); }
.mw-wycena__akcja { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
.mw-wycena__stopka--final .summary__cta {
  justify-content: center;
  color: var(--red);
  background: #fff;
  box-shadow: none;
}
.mw-wycena__stopka--final .summary__cta:hover { color: #fff; background: var(--ink); }
.mw-wycena__gwarancja {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  color: rgba(255, 255, 255, .8);
  font-size: 12.5px;
  font-weight: 600;
}
@media (max-width: 720px) {
  .mw-wycena__stopka--final { flex-direction: column; align-items: stretch; text-align: center; }
  .mw-wycena__stopka--final .mw-wycena__suma > small { max-width: none; }
}

/* 5. baner "to wycena" w duchu quote-bannera z karty produktu */
.mw-wycena-info {
  align-items: flex-start;
  gap: 16px;
  padding: 18px clamp(20px, 2.4vw, 30px);
  color: #fff;
  background: var(--red);
  border: 1px solid var(--red);
  border-radius: 16px;
}
.mw-wycena-info i {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 12px;
  font-size: 18px;
}
.mw-wycena-info > span { color: rgba(255, 255, 255, .85); font-size: 14.5px; line-height: 1.5; }
.mw-wycena-info strong {
  display: block;
  margin-bottom: 3px;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .8px;
  text-transform: uppercase;
}
.mw-wycena-info--sukces { background: #177245; border-color: #177245; }
.mw-wycena-info--sukces i { color: #fff; border-color: rgba(255, 255, 255, .5); }

/* ─── poprawki rundy 23 ─── */

/* wyslij do wyceny: wiecej powietrza pod tytulem, numer kroku ma gdzie usiasc */
.mw-wycena-strona .page-single__head { margin-bottom: clamp(40px, 4.5vw, 68px); padding-bottom: 20px; }

/* zestawienie: cena tuz przy nazwie, nie na drugim koncu karty */
.mw-koszyk__lista--wycena .mw-koszyk__naglowek { justify-content: flex-start; align-items: baseline; gap: 18px; }
.mw-koszyk__lista--wycena .mw-koszyk__naglowek h3 { flex: 0 1 auto; }

/* formularze poza .mw-wycena (probnik) maja ten sam styl pol co checkout wyceny */
.mw-pola label { display: block; margin-bottom: 5px; color: var(--ink); font-size: 13px; font-weight: 600; }
.mw-pola input[type="text"],
.mw-pola input[type="tel"],
.mw-pola input[type="email"],
.mw-pola input[type="number"],
.mw-pola textarea,
.mw-pola select {
  width: 100%;
  padding: 12px 14px;
  background: var(--white);
  border: 2px solid var(--line);
  border-radius: 10px;
  font: inherit;
  color: var(--ink);
}
.mw-pola input:focus,
.mw-pola textarea:focus,
.mw-pola select:focus { border-color: var(--red); outline: 0; }
.mw-pola textarea { min-height: 96px; resize: vertical; }
.mw-pola__rzad > span label { display: block; }
.mw-zgoda { margin-top: 4px; }

/* probnik: karty i naglowek w rytmie strony wyceny */
.mw-probnik .step-card { margin-bottom: clamp(30px, 3.2vw, 44px); }
.mw-probnik .step-card h3 { font-size: 24px; }
.mw-probnik .swatch-grid { margin-bottom: 0; }
.mw-probnik .section-heading-row { margin-bottom: clamp(34px, 4vw, 56px); }
.mw-probnik .summary { top: 118px; }

/* ─── probniki: nazwy probek, podpis w lightboxie, nawigacja kotwic ─── */
.page-content :is(.wp-block-gallery, .gallery) :is(figure, li).has-mw-name { position: relative; }
.mw-swatch-name {
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  max-width: calc(100% - 20px);
  padding: 5px 12px;
  background: rgba(255, 253, 250, .92);
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
  border: 1px solid var(--line);
  border-radius: 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
}
.mw-modal--foto .mw-modal__panel { position: relative; }
.mw-modal__caption {
  position: absolute;
  left: 50%;
  bottom: 30px;
  transform: translateX(-50%);
  max-width: calc(100% - 60px);
  padding: 9px 18px;
  background: rgba(17, 19, 21, .8);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .8px;
  text-transform: uppercase;
  border-radius: 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
}
.mw-anchors {
  position: sticky;
  top: 0;
  z-index: 30;
  margin: 0 calc(50% - 50vw) clamp(22px, 2.6vw, 36px);
  background: var(--paper);
  border-bottom: 1px solid var(--line);
  transition: top .28s ease;
}
body:has(.site-header.is-sticky:not(.is-hidden)) .mw-anchors { top: var(--mw-header-h, 60px); }
.mw-anchors__inner { display: flex; flex-wrap: wrap; gap: 6px; max-width: 1660px; margin: 0 auto; padding: 10px 31px; }
.page-single:has(.mw-anchors) { max-width: 1660px; }
.mw-anchors__inner::-webkit-scrollbar { display: none; }
.mw-anchors a {
  flex: 0 0 auto;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--white);
  color: var(--ink);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.mw-anchors a:hover, .mw-anchors a.is-active { background: var(--red); border-color: var(--red); color: #fff; }
.page-content h2[id] { scroll-margin-top: 80px; }
html { scroll-behavior: smooth; }

/* archiwum: karta nie dziedziczy stalej wysokosci slajdu z karuzeli */
.products-arch-grid .product-slide { height: auto; }

/* notice Woo na koszyku / zamowieniu / koncie: ten sam ksztalt co .mw-notices,
   nadpisuje border-top i ikone z arkusza WooCommerce */
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-error,
.mw-notices .woocommerce-message,
.mw-notices .woocommerce-info,
.mw-notices .woocommerce-error {
  position: static;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 18px;
  padding: 14px 18px;
  background: var(--white);
  color: var(--ink);
  border: 0;
  border-radius: 12px;
  list-style: none;
  outline: none;
  box-shadow: var(--shadow-soft, 0 10px 30px rgba(26, 20, 16, .08));
  font-size: 14px;
  line-height: 1.5;
}
.woocommerce-page .woocommerce-message::before,
.woocommerce-page .woocommerce-info::before,
.woocommerce-page .woocommerce-error::before,
.mw-notices .woocommerce-message::before,
.mw-notices .woocommerce-info::before,
.mw-notices .woocommerce-error::before {
  position: static;
  display: inline-block;
  flex: 0 0 auto;
  font-family: "Font Awesome 6 Pro", "Font Awesome 5 Pro";
  font-weight: 900;
  font-size: 17px;
  line-height: 1;
}
.woocommerce-page .woocommerce-message::before,
.mw-notices .woocommerce-message::before { content: "\f00c"; color: #177245; }
.woocommerce-page .woocommerce-info::before,
.mw-notices .woocommerce-info::before { content: "\f05a"; color: var(--red); }
.woocommerce-page .woocommerce-error::before,
.mw-notices .woocommerce-error::before { content: "\f071"; color: var(--red); }
.woocommerce-page .woocommerce-error li,
.mw-notices .woocommerce-error li { list-style: none; margin: 0; }
.woocommerce-page .woocommerce-message a:not(.button),
.woocommerce-page .woocommerce-info a:not(.button),
.woocommerce-page .woocommerce-error a:not(.button) { color: var(--red); text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-page .woocommerce-message .button,
.woocommerce-page .woocommerce-info .button,
.woocommerce-page .woocommerce-error .button {
  float: none;
  margin-left: auto;
  padding: 5px 13px;
  color: #fff;
  background: var(--red);
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .4px;
  line-height: 1.6;
}
.woocommerce-cart .cart-empty.woocommerce-info { margin-bottom: 22px; }
.woocommerce-cart .cart-empty.woocommerce-info::before { content: "\f07a"; }

.mw-koszyk { margin-top: clamp(20px, 2.4vw, 34px); }

/* czytelnosc koszyka i wyceny: tresc od 16 px, wersaliki 14 px */
.mw-koszyk__meta { font-size: 16px; line-height: 1.5; }
.mw-koszyk__meta dl { gap: 9px 20px; }
.mw-koszyk__meta dt { font-size: 14px; letter-spacing: .6px; }
.mw-koszyk__meta dd { font-size: 16px; }
.mw-koszyk__meta .variation__poz::before { font-size: 12px; }
.mw-koszyk__ilosc { font-size: 16px; }
.mw-koszyk__usun { font-size: 15px; }
.mw-wycena-info span { font-size: 16px; }
.mw-wycena__pozycje li { font-size: 16px; }
.mw-wycena__suma > span { font-size: 14px; }
.mw-wycena__edytuj a { font-size: 14px; }
.mw-koszyk .summary__cta,
.mw-wycena__stopka .summary__cta { font-size: 15px; }

/* czytelnosc formularzy wyceny i probnika. Pola maja font: inherit, wiec rozmiar
   ustawiamy na kontenerze, inaczej skrot z bloku wyzej wygrywa specyficznoscia. */
.mw-pola,
.mw-pola p { font-size: 16px; }
.mw-pola label,
.mw-pola__full label { font-size: 16px; }
.mw-pola input[type="text"],
.mw-pola input[type="tel"],
.mw-pola input[type="email"],
.mw-pola input[type="number"],
.mw-pola textarea,
.mw-pola select { font-size: 16px; }
.mw-radiolista .mw-radio span,
.mw-radiolista .mw-radio strong { font-size: 16px; }
.mw-zgoda span { font-size: 16px; }
.mw-wycena .step-card__hint,
.step-card__hint { font-size: 15px; }
.mw-wycena__gwarancja { font-size: 14px; }

/* dodatki pozycji jako tabelka: ptaszek, etykieta, wartosc przy prawej krawedzi */
.mw-koszyk__meta dl {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0 34px;
}
@media (min-width: 760px) {
  .mw-koszyk__meta dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.mw-koszyk__meta .variation__poz {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: baseline;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}
.mw-koszyk__meta dd { text-align: right; }

/* .page-content ul dokladalo liscie podsumowania wciecie z lewej */
.mw-wycena__stopka .mw-wycena__pozycje,
.step-card .mw-wycena__pozycje { padding-left: 0; }
.step-card .mw-wycena__suma > small { display: block; margin-top: 8px; color: var(--muted); font-size: 15px; }

@media (max-width: 620px) {
  .mw-koszyk__pozycja { grid-template-columns: 96px minmax(0, 1fr); gap: 12px; }
  .mw-koszyk__foto img { height: 88px; }
  .mw-koszyk__naglowek { flex-wrap: wrap; gap: 4px 12px; }
  .mw-koszyk__naglowek h3 { font-size: 20px; }
  .mw-koszyk__kwota { font-size: 21px; }
}

@media (max-width: 480px) {
  .mw-koszyk__meta .variation__poz { grid-template-columns: auto minmax(0, 1fr); gap: 2px 10px; }
  .mw-koszyk__meta dt,
  .mw-koszyk__meta dd { grid-column: 2; text-align: left; }
}

.mw-koszyk__pozycja { display: block; padding: 16px; }
.mw-koszyk__glowa { display: grid; grid-template-columns: 104px minmax(0, 1fr) auto; align-items: center; gap: 18px; }
.mw-koszyk__glowa:has(.mw-koszyk__rozwin) { cursor: pointer; }
.mw-koszyk__foto { display: block; overflow: hidden; border-radius: 12px; }
.mw-koszyk__foto img { width: 100%; height: 80px; object-fit: cover; border-radius: 12px; transition: transform .35s ease; }
.mw-koszyk__glowa:hover .mw-koszyk__foto img { transform: scale(1.05); }
.mw-koszyk__naglowek,
.mw-koszyk__lista--wycena .mw-koszyk__naglowek { flex-direction: column; flex-wrap: nowrap; align-items: flex-start; justify-content: center; gap: 6px; min-width: 0; }
.mw-koszyk__naglowek h3 { overflow-wrap: anywhere; }
.mw-koszyk__rozwin {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  color: var(--ink);
  background: var(--white);
  border: 0;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(26, 20, 16, .08);
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}
.mw-koszyk__rozwin i { transition: transform .25s ease; }
.mw-koszyk__glowa:hover .mw-koszyk__rozwin,
.mw-koszyk__rozwin:focus-visible { color: #fff; background: var(--red); }
.mw-koszyk__rozwin[aria-expanded="true"] i { transform: rotate(180deg); }
.mw-koszyk__szczegoly { margin-top: 16px; padding-top: 6px; border-top: 1px solid var(--line); }
.mw-koszyk__szczegoly .mw-koszyk__meta { margin-top: 4px; }

.mw-modal {
  display: flex;
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s ease, visibility 0s linear .35s;
}
.mw-modal.is-open { opacity: 1; visibility: visible; transition: opacity .35s ease; }
.mw-modal__panel { transform: translateY(28px) scale(.98); transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.mw-modal.is-open .mw-modal__panel { transform: none; }

.mw-wycena-strona > .mw-koszyk__lista { margin-bottom: clamp(24px, 2.8vw, 36px); }
.mw-wycena-strona .mw-notices:not(:has(.woocommerce-message, .woocommerce-info, .woocommerce-error)) { display: none; }
