/*
Theme Name:   Ceramika AC
Theme URI:    https://ceramikaac.com
Description:  Editorial Artisan redesign for Ceramika AC - cobalt navy + cream + terracotta + gold. Child theme over Zakra.
Author:       Netim SEO
Author URI:   https://ceramikaac.com
Template:     zakra
Version:      1.0.0
Text Domain:  ceramika-ac
*/
    /* ============================================
       CERAMIKA AC - Editorial Artisan Redesign
       Design: cobalt navy + warm cream + terracotta
       Fonts: Cormorant Garamond (display) + DM Sans (body)
       ============================================ */

    :root {
      --cobalt: #1B2A4A;
      --cobalt-light: #2A3F6B;
      --cobalt-medium: #3A5A8C;
      --cream: #FAF6F0;
      --cream-dark: #F0EBE3;
      --terracotta: #C4654A;
      --terracotta-light: #D4836B;
      --gold: #B8964E;
      --gold-light: #D4B06A;
      --white: #FFFFFF;
      --text: #2C2C2C;
      --text-muted: #6B6B6B;
      --text-light: #9A9A9A;
      --border: #E8E3DB;

      --font-display: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
      --font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;

      --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
      --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    html {
      scroll-behavior: smooth;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    body {
      font-family: var(--font-body);
      color: var(--text);
      background: var(--cream);
      line-height: 1.6;
      overflow-x: hidden;
    }

    img { max-width: 100%; height: auto; display: block; }
    a { text-decoration: none; color: inherit; }
    button { cursor: pointer; border: none; background: none; font-family: inherit; }

    /* ---- Accessibility ---- */
    .skip-link {
      position: absolute;
      top: -100%;
      left: 16px;
      z-index: 200;
      padding: 12px 24px;
      background: var(--cobalt);
      color: var(--white);
      font-size: 14px;
      font-weight: 600;
      transition: top 0.2s;
    }
    .skip-link:focus {
      top: 8px;
    }
    :focus-visible {
      outline: 2px solid var(--terracotta);
      outline-offset: 2px;
    }
    a:focus:not(:focus-visible),
    button:focus:not(:focus-visible) {
      outline: none;
    }

    /* ---- Utility ---- */
    .container { width: 100%; max-width: 1847px; margin: 0 auto; padding: 0 16px; }
    @media (min-width: 768px) { .container { padding: 0 24px; } }
    @media (min-width: 1024px) { .container { padding: 0 32px; } }

    .section-label {
      font-family: var(--font-body);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: var(--terracotta);
    }

    .section-title {
      font-family: var(--font-display);
      font-weight: 500;
      color: var(--cobalt);
      line-height: 1.15;
    }

    .section-title--lg { font-size: clamp(32px, 5vw, 56px); }
    .section-title--md { font-size: clamp(28px, 4vw, 44px); }
    .section-title--sm { font-size: clamp(24px, 3vw, 36px); }

    /* ---- Section ornament ---- */
    .section-ornament {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 20px;
    }
    .section-ornament::before {
      content: '';
      width: 40px;
      height: 1.5px;
      background: var(--terracotta);
    }

    /* ---- Animations ---- */
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(12px); filter: blur(4px); }
      to { opacity: 1; transform: translateY(0); filter: blur(0); }
    }
    @keyframes fadeIn {
      from { opacity: 0; }
      to { opacity: 1; }
    }
    @keyframes scaleIn {
      from { opacity: 0; transform: scale(0.95); }
      to { opacity: 1; transform: scale(1); }
    }
    @keyframes slideRight {
      from { opacity: 0; transform: translateX(-40px); }
      to { opacity: 1; transform: translateX(0); }
    }
    @keyframes float {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-8px); }
    }
    @keyframes dotPulse {
      0%, 100% { opacity: 1; }
      50% { opacity: 0.4; }
    }

    .animate-on-scroll {
      opacity: 0;
      transform: translateY(12px);
      filter: blur(4px);
      transition: opacity 0.6s var(--ease-out), transform 0.6s var(--ease-out), filter 0.6s var(--ease-out);
    }
    .animate-on-scroll.visible {
      opacity: 1;
      transform: translateY(0);
      filter: blur(0);
    }

    /* ---- Reduced Motion (Accessibility) ---- */
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
      }
      .animate-on-scroll {
        opacity: 1;
        transform: none;
        filter: none;
      }
    }

    /* ============================================
       TOP BAR (above nav)
       ============================================ */
    .top-bar {
      background: var(--cobalt);
      color: rgba(255,255,255,0.8);
      font-size: 12px;
      padding: 6px 0;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 101;
      transition: transform 0.3s var(--ease-out);
    }
    .top-bar.hidden { transform: translateY(-100%); }
    .top-bar__inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .top-bar__left {
      display: flex;
      align-items: center;
      gap: 16px;
    }
    .top-bar__social {
      display: flex;
      gap: 12px;
      align-items: center;
    }
    .top-bar__social a {
      color: rgba(255,255,255,0.7);
      transition: color 0.2s;
      display: flex;
    }
    .top-bar__social a:hover { color: var(--white); }
    .top-bar__social svg { width: 14px; height: 14px; }
    .top-bar__sep {
      width: 1px;
      height: 12px;
      background: rgba(255,255,255,0.2);
    }
    .top-bar__contact {
      display: none;
      align-items: center;
      gap: 12px;
      color: rgba(255,255,255,0.7);
    }
    .top-bar__contact a {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      color: rgba(255,255,255,0.7);
      transition: color 0.2s;
    }
    .top-bar__contact a:hover { color: var(--white); }
    .top-bar__contact svg { width: 12px; height: 12px; }
    .top-bar__email { display: none !important; }
    @media (min-width: 768px) {
      .top-bar__contact { display: flex; }
    }
    @media (min-width: 1024px) {
      .top-bar__email { display: inline-flex !important; }
    }
    .top-bar__right {
      display: flex;
      align-items: center;
      gap: 16px;
    }
    .top-bar__right a {
      color: rgba(255,255,255,0.7);
      transition: color 0.2s;
      font-size: 11px;
    }
    .top-bar__right a:hover { color: var(--white); }
    .top-bar__cart {
      display: flex;
      align-items: center;
      gap: 5px;
      color: rgba(255,255,255,0.9);
      font-weight: 500;
    }
    .top-bar__cart svg { width: 14px; height: 14px; }

    /* ============================================
       NAVIGATION
       ============================================ */
    .nav {
      position: fixed;
      top: 32px;
      left: 0;
      right: 0;
      z-index: 100;
      transition: background 0.4s ease, box-shadow 0.4s ease, top 0.3s var(--ease-out);
      padding: 20px 0;
    }
    .nav.scrolled { top: 0; }
    /* On homepage hero: white text */
    .nav.nav--hero .nav__links a { color: var(--white); }
    .nav.nav--hero .nav__links a:hover { color: var(--gold-light); }
    .nav.nav--hero .nav__cta { background: rgba(255,255,255,0.15); backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,0.25); }
    .nav.nav--hero .nav__cta:hover { background: rgba(255,255,255,0.25); }
    .nav.nav--hero .nav__hamburger span { background: var(--white); }
    .nav.nav--hero .nav__logo { filter: brightness(0) invert(1); }

    .nav.scrolled {
      background: rgba(250, 246, 240, 0.95);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      box-shadow: 0 1px 0 var(--border);
      padding: 12px 0;
    }
    /* Scrolled overrides hero styles back to dark */
    .nav.scrolled.nav--hero .nav__links a { color: var(--cobalt); }
    .nav.scrolled.nav--hero .nav__links a:hover { color: var(--terracotta); }
    .nav.scrolled.nav--hero .nav__cta { background: var(--cobalt); backdrop-filter: none; border: none; }
    .nav.scrolled.nav--hero .nav__cta:hover { background: var(--cobalt-light); }
    .nav.scrolled.nav--hero .nav__hamburger span { background: var(--cobalt); }
    .nav.scrolled.nav--hero .nav__logo { filter: none; }

    .nav__inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .nav__logo {
      height: 40px;
      width: auto;
      transition: height 0.4s ease, filter 0.4s ease;
    }
    .nav.scrolled .nav__logo { height: 32px; }

    .nav__links {
      display: none;
      list-style: none;
      gap: 32px;
      align-items: center;
    }
    @media (min-width: 768px) {
      .nav__links { display: flex; }
    }
    .nav__links a {
      font-family: var(--font-body);
      font-size: 13px;
      font-weight: 500;
      letter-spacing: 0.5px;
      color: var(--cobalt);
      transition: color 0.3s ease;
      position: relative;
    }
    .nav__links a::after {
      content: '';
      position: absolute;
      bottom: -4px;
      left: 0;
      width: 0;
      height: 1.5px;
      background: var(--terracotta);
      transition: width 0.3s var(--ease-out);
    }
    .nav__links a:hover::after { width: 100%; }
    .nav__links a:hover { color: var(--terracotta); }

    .nav__cta {
      display: none;
      padding: 10px 24px;
      background: var(--cobalt);
      color: var(--white);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 1px;
      text-transform: uppercase;
      border-radius: 0;
      transition: background 0.3s ease, transform 0.2s ease;
    }
    @media (min-width: 768px) { .nav__cta { display: inline-block; } }
    .nav__cta:hover { background: var(--cobalt-light); transform: translateY(-1px); }
    .nav__cta:active { transform: scale(0.97); }
    .cart-badge {
      display: none;
      align-items: center;
      justify-content: center;
      min-width: 18px;
      height: 18px;
      padding: 0 5px;
      background: var(--terracotta);
      color: var(--white);
      font-size: 10px;
      font-weight: 700;
      border-radius: 9px;
      margin-left: 4px;
    }

    .nav__hamburger {
      display: flex;
      flex-direction: column;
      gap: 5px;
      padding: 8px;
    }
    @media (min-width: 768px) { .nav__hamburger { display: none; } }
    .nav__hamburger span {
      width: 24px;
      height: 2px;
      background: var(--cobalt);
      transition: transform 0.3s ease, opacity 0.3s ease, background 0.3s ease;
    }

    /* ---- Mega Menu ---- */
    .nav__item--mega {
      position: static;
    }
    .mega-menu {
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%) translateY(-8px);
      width: min(1280px, calc(100vw - 40px));
      background: var(--cream);
      border: 1px solid var(--border);
      border-radius: 12px;
      box-shadow: 0 16px 48px rgba(27, 42, 74, 0.12);
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.3s cubic-bezier(0.25, 1, 0.5, 1), transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), visibility 0.3s;
      z-index: 101;
      padding: 32px 0 20px;
      margin-top: 8px;
    }
    .nav__item--mega:hover .mega-menu,
    .mega-menu:hover {
      opacity: 1;
      visibility: visible;
      transform: translateX(-50%) translateY(0);
    }
    /* Force-close after clicking a link (overrides hover) */
    .nav__item--mega.mega-closing .mega-menu,
    .nav__item--mega.mega-closing:hover .mega-menu {
      opacity: 0 !important;
      visibility: hidden !important;
      transform: translateX(-50%) translateY(-8px) !important;
      pointer-events: none;
    }

    .mega-menu__inner {
      margin: 0 auto;
      padding: 0 32px;
      display: grid;
      grid-template-columns: 1fr 1fr 1fr 1fr;
      gap: 20px;
    }
    .mega-menu__col--wide-header { grid-column: 1 / 3; }
    @media (max-width: 1279px) {
      .mega-menu__inner { grid-template-columns: 1fr 1fr 1fr; padding: 0 24px; gap: 16px; }
      .mega-menu__col--wide-header { grid-column: 1 / 2; }
    }

    .mega-menu__col-title {
      display: block;
      font-family: var(--font-body);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 2.5px;
      text-transform: uppercase;
      color: var(--terracotta);
      margin-bottom: 20px;
      padding-bottom: 10px;
      border-bottom: 1px solid var(--border);
      transition: color 0.2s;
    }
    a.mega-menu__col-title:hover { color: var(--cobalt); }
    /* Override hero white text inside mega menu (needs high specificity) */
    .nav.nav--hero .nav__links .mega-menu a.mega-menu__col-title { color: var(--terracotta); }
    .nav.nav--hero .nav__links .mega-menu a.mega-menu__col-title:hover { color: var(--cobalt); }
    .nav.nav--hero .nav__links .mega-menu a.mega-menu__link { color: var(--cobalt); }
    .nav.nav--hero .nav__links .mega-menu a.mega-menu__link:hover { color: var(--terracotta); }
    .nav.nav--hero .nav__links .mega-menu a.mega-menu__footer-link { color: var(--cobalt-medium); }
    .nav.nav--hero .nav__links .mega-menu a.mega-menu__footer-link:hover { color: var(--terracotta); }

    .mega-menu__list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 2px;
    }

    .mega-menu__link {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 6px 8px;
      border-radius: 6px;
      font-size: 13px;
      font-weight: 500;
      color: var(--cobalt);
      transition: background 0.2s, color 0.2s;
      white-space: nowrap;
    }
    .mega-menu__link:hover {
      background: rgba(27, 42, 74, 0.04);
      color: var(--terracotta);
    }

    .mega-menu__thumb {
      width: 44px;
      height: 44px;
      border-radius: 50%;
      object-fit: cover;
      mix-blend-mode: multiply;
      border: 1px solid var(--border);
      flex-shrink: 0;
      transition: border-color 0.2s;
    }
    .mega-menu__link:hover .mega-menu__thumb {
      border-color: var(--terracotta);
    }

    .mega-menu__count {
      font-size: 12px;
      color: var(--text-light);
      font-weight: 400;
      margin-left: auto;
    }

    .mega-menu__footer {
      grid-column: 1 / -1;
      display: flex;
      align-items: center;
      gap: 24px;
      padding-top: 20px;
      border-top: 1px solid var(--border);
      margin-top: 8px;
    }

    .mega-menu__footer-link {
      font-size: 13px;
      font-weight: 600;
      color: var(--cobalt);
      transition: color 0.2s;
    }
    .mega-menu__footer-link:hover { color: var(--terracotta); }

    /* Override nav hero styles inside mega menu */
    .nav.nav--hero .nav__links .mega-menu__link,
    .nav.nav--hero .nav__links .mega-menu__footer-link { color: var(--cobalt); }
    .nav.nav--hero .nav__links .mega-menu__link:hover,
    .nav.nav--hero .nav__links .mega-menu__footer-link:hover { color: var(--terracotta); }
    .nav__links .mega-menu__link::after,
    .nav__links .mega-menu__footer-link::after { content: none; }

    @media (max-width: 767px) {
      .mega-menu { display: none; }
    }

    /* Mobile menu */
    .mobile-menu {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: var(--cream);
      z-index: 99;
      display: flex;
      flex-direction: column;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.35s cubic-bezier(0.25, 1, 0.5, 1);
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      padding: 80px 24px 40px;
    }
    .mobile-menu.open { opacity: 1; pointer-events: all; }
    .mobile-menu__close {
      position: fixed;
      top: 20px;
      right: 20px;
      z-index: 100;
      font-size: 28px;
      color: var(--cobalt);
      padding: 8px;
    }

    .mobile-menu__nav {
      display: flex;
      flex-direction: column;
      gap: 0;
      margin-bottom: 32px;
    }
    .mobile-menu__nav > a {
      font-family: var(--font-display);
      font-size: 28px;
      font-weight: 500;
      color: var(--cobalt);
      padding: 14px 0;
      border-bottom: 1px solid var(--border);
      transition: color 0.2s;
    }
    .mobile-menu__nav > a:hover { color: var(--terracotta); }

    .mobile-menu__accordion {
      border-bottom: 1px solid var(--border);
    }
    .mobile-menu__accordion-trigger {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      font-family: var(--font-display);
      font-size: 28px;
      font-weight: 500;
      color: var(--cobalt);
      padding: 14px 0;
      text-align: left;
    }
    .mobile-menu__accordion-trigger svg {
      width: 20px;
      height: 20px;
      transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
      color: var(--text-muted);
    }
    .mobile-menu__accordion.open .mobile-menu__accordion-trigger svg {
      transform: rotate(180deg);
    }
    .mobile-menu__accordion-body {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    }
    .mobile-menu__accordion.open .mobile-menu__accordion-body {
      max-height: 600px;
    }
    .mobile-menu__cat-group {
      padding: 0 0 16px;
    }
    .mobile-menu__cat-label {
      display: block;
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--terracotta);
      padding: 8px 0;
      transition: color 0.2s;
    }
    a.mobile-menu__cat-label:hover { color: var(--cobalt); }
    .mobile-menu__cat-list {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .mobile-menu__cat-chip {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 8px 14px;
      background: var(--white);
      border: 1px solid var(--border);
      border-radius: 20px;
      font-size: 13px;
      font-weight: 500;
      color: var(--cobalt);
      transition: border-color 0.2s, background 0.2s;
    }
    .mobile-menu__cat-chip:hover,
    .mobile-menu__cat-chip:active {
      border-color: var(--terracotta);
      background: rgba(196, 101, 74, 0.06);
    }

    /* ============================================
       HERO
       ============================================ */
    .hero {
      min-height: 100vh;
      display: flex;
      align-items: center;
      position: relative;
      overflow: hidden;
      background: var(--cobalt);
    }
    .hero__bg {
      position: absolute;
      inset: 0;
      z-index: 1;
    }
    .hero__bg img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: 0.5;
    }
    .hero__overlay {
      position: absolute;
      inset: 0;
      z-index: 2;
      background:
        linear-gradient(135deg, rgba(27,42,74,0.88) 0%, rgba(27,42,74,0.55) 45%, rgba(27,42,74,0.3) 100%);
    }
    .hero__content {
      position: relative;
      z-index: 3;
      padding-top: 120px;
      padding-bottom: 80px;
      animation: fadeUp 1s var(--ease-out) 0.3s both;
    }
    .hero__badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 8px 16px;
      background: rgba(255,255,255,0.1);
      border: 1px solid rgba(255,255,255,0.15);
      backdrop-filter: blur(10px);
      margin-bottom: 32px;
    }
    .hero__badge-dot {
      width: 8px;
      height: 8px;
      background: #4ADE80;
      border-radius: 50%;
      animation: dotPulse 2s ease-in-out infinite;
    }
    .hero__badge span {
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: var(--white);
    }
    @media (min-width: 768px) {
      .hero__badge span { font-size: 12px; }
    }

    .hero h1 {
      font-family: var(--font-display);
      font-size: clamp(36px, 7vw, 72px);
      font-weight: 500;
      line-height: 1.08;
      color: var(--white);
      margin-bottom: 24px;
      max-width: 700px;
    }
    .hero h1 em {
      font-style: italic;
      color: var(--gold-light);
    }
    .hero__sub {
      font-size: clamp(16px, 2vw, 20px);
      color: rgba(255,255,255,0.75);
      max-width: 520px;
      line-height: 1.7;
      margin-bottom: 48px;
    }
    .hero__actions {
      display: flex;
      flex-wrap: wrap;
      gap: 16px;
      align-items: center;
    }
    .btn-primary {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 16px 36px;
      background: var(--white);
      color: var(--cobalt);
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 1px;
      text-transform: uppercase;
      transition: background 0.3s var(--ease-out), color 0.3s var(--ease-out), transform 0.2s var(--ease-out), box-shadow 0.3s var(--ease-out);
    }
    .btn-primary:active { transform: scale(0.97); }
    .btn-primary:hover {
      background: var(--gold-light);
      color: var(--cobalt);
      transform: translateY(-2px);
      box-shadow: 0 8px 30px rgba(0,0,0,0.2);
    }
    .btn-primary svg { width: 16px; height: 16px; transition: transform 0.3s ease; }
    .btn-primary:hover svg { transform: translateX(4px); }

    .btn-outline {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 16px 36px;
      border: 1px solid rgba(255,255,255,0.3);
      color: var(--white);
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 1px;
      text-transform: uppercase;
      transition: border-color 0.3s var(--ease-out), background 0.3s var(--ease-out), transform 0.2s var(--ease-out);
    }
    .btn-outline:active { transform: scale(0.97); }
    .btn-outline:hover {
      border-color: var(--white);
      background: rgba(255,255,255,0.08);
      transform: translateY(-2px);
    }

    .hero__scroll {
      position: absolute;
      bottom: 40px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 3;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;
      animation: fadeIn 1s ease 1.5s both;
    }
    .hero__scroll span {
      font-size: 10px;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: rgba(255,255,255,0.5);
    }
    .hero__scroll-line {
      width: 1px;
      height: 40px;
      background: linear-gradient(to bottom, rgba(255,255,255,0.4), transparent);
      animation: float 2s ease-in-out infinite;
    }

    /* ============================================
       MARQUEE / TRUST BAR
       ============================================ */
    .trust-bar {
      padding: 20px 0;
      border-bottom: 1px solid var(--border);
      overflow: hidden;
      background: var(--white);
    }
    .trust-bar__track {
      display: flex;
      gap: 48px;
      align-items: center;
      animation: marquee 30s linear infinite;
      width: max-content;
    }
    @keyframes marquee {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
    }
    .trust-bar__item {
      display: flex;
      align-items: center;
      gap: 10px;
      white-space: nowrap;
      font-size: 13px;
      font-weight: 500;
      color: var(--text-muted);
    }
    .trust-bar__item svg {
      width: 18px;
      height: 18px;
      color: var(--cobalt-medium);
      flex-shrink: 0;
    }

    /* ============================================
       CATEGORIES
       ============================================ */
    .categories {
      padding: 100px 0 80px;
      background: var(--cream);
    }
    @media (min-width: 768px) { .categories { padding: 140px 0 120px; } }

    .categories__header {
      display: flex;
      flex-direction: column;
      gap: 16px;
      margin-bottom: 60px;
    }
    @media (min-width: 768px) {
      .categories__header {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
        margin-bottom: 72px;
      }
    }

    .categories__grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 16px;
    }
    .categories__grid .cat-card--featured .cat-card__img {
      aspect-ratio: 16/10;
    }
    @media (min-width: 640px) {
      .categories__grid {
        grid-template-columns: repeat(2, 1fr);
      }
      .categories__grid .cat-card--featured {
        grid-column: span 2;
      }
      .categories__grid .cat-card--featured .cat-card__img {
        aspect-ratio: 21/9;
      }
    }
    @media (min-width: 1024px) {
      .categories__grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
      }
      .categories__grid .cat-card--featured {
        grid-column: auto;
        grid-row: span 2;
      }
      .categories__grid .cat-card--featured .cat-card__img {
        aspect-ratio: auto;
        height: 100%;
      }
    }

    .cat-card {
      position: relative;
      overflow: hidden;
      background: var(--white);
      cursor: pointer;
      transition: transform 0.5s var(--ease-out), box-shadow 0.5s var(--ease-out);
    }
    .cat-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 20px 60px rgba(27,42,74,0.1);
    }
    .cat-card__img {
      width: 100%;
      aspect-ratio: 4/3;
      object-fit: cover;
      transition: transform 0.7s var(--ease-out);
    }
    @media (min-width: 1024px) {
      .cat-card:first-child .cat-card__img { aspect-ratio: 3/4; height: 100%; }
    }
    .cat-card:hover .cat-card__img { transform: scale(1.04); }
    .cat-card__img--contain {
      background: var(--cream-dark);
      padding: 24px;
      object-fit: contain;
    }

    .cat-card__overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(27,42,74,0.75) 0%, transparent 60%);
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      padding: 28px;
    }
    .cat-card__name {
      font-family: var(--font-display);
      font-size: 24px;
      font-weight: 600;
      color: var(--white);
      margin-bottom: 4px;
    }
    .cat-card__count {
      font-size: 13px;
      color: rgba(255,255,255,0.7);
    }
    .cat-card__arrow {
      position: absolute;
      top: 20px;
      right: 20px;
      width: 40px;
      height: 40px;
      background: rgba(255,255,255,0.15);
      backdrop-filter: blur(10px);
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      transform: translateY(8px);
      transition: opacity 0.4s var(--ease-out), transform 0.4s var(--ease-out);
    }
    .cat-card__arrow svg { width: 16px; height: 16px; color: var(--white); }
    .cat-card:hover .cat-card__arrow { opacity: 1; transform: translateY(0); }

    /* ============================================
       EDITORIAL SPLIT (About / Process)
       ============================================ */
    .editorial {
      padding: 80px 0;
      background: var(--white);
    }
    @media (min-width: 768px) { .editorial { padding: 120px 0; } }

    .editorial__split {
      display: grid;
      grid-template-columns: 1fr;
      gap: 40px;
      align-items: center;
    }
    @media (min-width: 768px) {
      .editorial__split {
        grid-template-columns: 1fr 1fr;
        gap: 80px;
      }
    }
    @media (min-width: 1024px) {
      .editorial__split { gap: 120px; }
    }

    .editorial__image-wrapper {
      position: relative;
    }
    .editorial__image {
      width: 100%;
      aspect-ratio: 4/5;
      object-fit: cover;
    }
    .editorial__image-accent {
      position: absolute;
      bottom: -20px;
      right: -20px;
      width: 120px;
      height: 120px;
      border: 2px solid var(--gold);
      z-index: -1;
    }
    @media (min-width: 768px) {
      .editorial__image-accent { width: 160px; height: 160px; bottom: -30px; right: -30px; }
    }

    .editorial__text { max-width: 500px; }
    .editorial__text .section-ornament { margin-bottom: 20px; }
    .editorial__text .section-title { margin-bottom: 28px; }
    .editorial__text p {
      color: var(--text-muted);
      font-size: 16px;
      line-height: 1.8;
      margin-bottom: 16px;
    }

    /* Process steps */
    .process-steps {
      display: flex;
      flex-direction: column;
      gap: 28px;
      margin-top: 40px;
    }
    .process-step {
      display: flex;
      gap: 20px;
      align-items: flex-start;
    }
    .process-step__num {
      flex-shrink: 0;
      width: 44px;
      height: 44px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--cream);
      font-family: var(--font-display);
      font-size: 18px;
      font-weight: 600;
      color: var(--cobalt);
    }
    .process-step__content h4 {
      font-family: var(--font-display);
      font-size: 18px;
      font-weight: 600;
      color: var(--cobalt);
      margin-bottom: 4px;
    }
    .process-step__content p {
      font-size: 14px;
      color: var(--text-muted);
      line-height: 1.6;
      margin: 0;
    }

    /* ============================================
       PRODUCTS SHOWCASE
       ============================================ */
    .products {
      padding: 80px 0;
      background: var(--white);
    }
    @media (min-width: 768px) { .products { padding: 120px 0; } }

    .products__header {
      text-align: center;
      margin-bottom: 60px;
    }
    .products__header .section-label { margin-bottom: 16px; display: block; }
    .products__header .section-title { margin-bottom: 16px; }
    .products__header p {
      font-size: 16px;
      color: var(--text-muted);
      max-width: 500px;
      margin: 0 auto;
    }

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

    .product-card {
      background: var(--cream);
      border: 1px solid var(--border);
      transition: transform 0.5s var(--ease-out), box-shadow 0.5s var(--ease-out), border-color 0.5s ease;
      position: relative;
      overflow: hidden;
    }
    .product-card::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: linear-gradient(90deg, var(--terracotta), var(--gold));
      transform: scaleX(0);
      transition: transform 0.4s var(--ease-out);
    }
    .product-card:hover::after { transform: scaleX(1); }
    .product-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 20px 50px rgba(27,42,74,0.1);
      border-color: transparent;
    }
    .product-card__img-wrap {
      aspect-ratio: 1;
      overflow: hidden;
      background: var(--cream);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px;
      position: relative;
      isolation: isolate;
      -webkit-tap-highlight-color: transparent;
    }
    .product-card__img {
      width: 85%;
      height: 85%;
      object-fit: contain;
      transition: transform 0.6s var(--ease-out);
      mix-blend-mode: multiply;
    }
    .product-card__img--hover {
      mix-blend-mode: multiply;
    }
    /* Obrazy produktów to niska rozdzielczość (WhatsApp) - żadne nakładanie/zoom nie pasuje.
       Drugi obraz (hover-swap) WYŁĄCZONY żeby nie było dublowania.
       Cała interakcja TYLKO na carcie i wrapie. Sam <img> 100% statyczny i pojedynczy. */
    .product-card__img--hover { display: none !important; }
    .product-card__img {
      transform: none !important;
      filter: none !important;
      opacity: 1 !important;
      will-change: auto !important;
    }
    .product-card:hover .product-card__img {
      transform: none !important;
      filter: none !important;
      opacity: 1 !important;
    }
    /* Subtle gold inner ring na wrapie + tło cream-dark na hover - elegant cue without touching the image */
    .product-card__img-wrap {
      transition: box-shadow 0.45s var(--ease-out), background 0.45s var(--ease-out);
    }
    .product-card:hover .product-card__img-wrap {
      box-shadow: inset 0 0 0 1px rgba(184, 150, 78, 0.45);
      background: var(--cream-dark, #F4ECE0);
    }
    .product-card__img--hover {
      position: absolute;
      inset: 0;
      width: 85%;
      height: 85%;
      margin: auto;
      opacity: 0;
      transition: opacity 0.4s ease;
    }
    .product-card:hover .product-card__img--hover { opacity: 1; }

    .product-card__quick { display: none; }
    .product-card__info {
      padding: 16px 20px 20px;
    }
    .product-card__deco {
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.5px;
      text-transform: uppercase;
      color: var(--text-light);
      margin-bottom: 4px;
    }
    .product-card__name {
      font-family: var(--font-display);
      font-size: 16px;
      font-weight: 600;
      color: var(--cobalt);
      margin-bottom: 6px;
      line-height: 1.3;
    }
    .product-card__meta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
    }
    .product-card__price {
      font-size: 15px;
      font-weight: 600;
      color: var(--terracotta);
    }
    .product-card__status {
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.3px;
      color: var(--cobalt-medium);
      padding: 3px 8px;
      background: var(--cream-dark);
      white-space: nowrap;
    }
    .product-card__add {
      display: none;
      align-items: center;
      justify-content: center;
      width: 100%;
      min-height: 30px;
      margin-top: 14px;
      border: 1px solid rgba(27,42,74,0.32);
      border-radius: 3px;
      color: var(--gold);
      font-size: 13px;
      font-weight: 600;
      line-height: 1.2;
      transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
    }
    .product-card:hover .product-card__add {
      border-color: var(--gold);
      color: var(--cobalt);
      background: rgba(255,255,255,0.38);
    }
    .product-card__tag {
      position: absolute;
      top: 12px;
      left: 12px;
      padding: 4px 10px;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 1px;
      text-transform: uppercase;
      background: var(--terracotta);
      color: var(--white);
    }

    /* ============================================
       LIVE COMMERCE
       ============================================ */
    .live {
      padding: 80px 0;
      background: var(--cobalt);
      position: relative;
      overflow: hidden;
    }
    @media (min-width: 768px) { .live { padding: 120px 0; } }

    .live__pattern {
      position: absolute;
      inset: 0;
      opacity: 0.04;
      background-image:
        radial-gradient(circle at 20% 30%, white 1px, transparent 1px),
        radial-gradient(circle at 80% 70%, white 1px, transparent 1px),
        radial-gradient(circle at 50% 50%, white 1px, transparent 1px);
      background-size: 60px 60px, 80px 80px, 40px 40px;
    }

    .live__inner {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: 1fr;
      gap: 48px;
      align-items: center;
    }
    @media (min-width: 768px) {
      .live__inner { grid-template-columns: 1fr 1fr; gap: 80px; }
    }

    .live__text .section-ornament { margin-bottom: 20px; }
    .live__text .section-ornament::before { background: var(--gold-light); }
    .live__text .section-label { color: var(--gold-light); }
    .live__text .section-title { color: var(--white); margin-bottom: 24px; }
    .live__text p {
      color: rgba(255,255,255,0.7);
      font-size: 16px;
      line-height: 1.8;
      margin-bottom: 36px;
    }

    .live__schedule {
      display: flex;
      flex-direction: column;
      gap: 16px;
      margin-bottom: 40px;
    }
    .live__day {
      display: flex;
      align-items: center;
      gap: 16px;
      padding: 16px 20px;
      background: rgba(255,255,255,0.06);
      border: 1px solid rgba(255,255,255,0.08);
    }
    .live__day-name {
      font-family: var(--font-display);
      font-size: 18px;
      font-weight: 600;
      color: var(--white);
      min-width: 100px;
    }
    .live__day-time {
      font-size: 14px;
      color: rgba(255,255,255,0.6);
    }
    .live__day-platform {
      margin-left: auto;
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 1px;
      text-transform: uppercase;
      color: var(--gold-light);
    }

    .live__links {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
    }
    .live__link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 14px 28px;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 0.5px;
      transition: background 0.3s var(--ease-out), transform 0.2s var(--ease-out);
    }
    .live__link--fb {
      background: #1877F2;
      color: var(--white);
    }
    .live__link--fb:hover { background: #1565D8; transform: translateY(-2px); }
    .live__link--tt {
      background: var(--white);
      color: var(--text);
    }
    .live__link--tt:hover { background: var(--cream); transform: translateY(-2px); }

    .live__link svg { width: 18px; height: 18px; }

    .live__visual {
      position: relative;
      display: flex;
      justify-content: center;
    }
    .live__phone {
      width: 260px;
      height: 520px;
      background: #111;
      border-radius: 36px;
      padding: 12px;
      box-shadow: 0 40px 80px rgba(0,0,0,0.4);
      position: relative;
    }
    @media (min-width: 768px) {
      .live__phone { width: 280px; height: 560px; }
    }
    .live__phone-screen {
      width: 100%;
      height: 100%;
      border-radius: 26px;
      overflow: hidden;
      position: relative;
    }
    .live__phone-screen img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 30%;
    }
    .live__phone-ui {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      padding: 16px;
      background: linear-gradient(to bottom, rgba(0,0,0,0.5), transparent);
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .live__phone-live {
      padding: 4px 10px;
      background: #EF4444;
      color: white;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 1px;
      border-radius: 4px;
    }
    .live__phone-viewers {
      font-size: 12px;
      color: white;
      font-weight: 500;
    }
    .live__phone-bottom {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 16px;
      background: linear-gradient(to top, rgba(0,0,0,0.6), transparent);
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .live__phone-comment {
      padding: 6px 12px;
      background: rgba(255,255,255,0.15);
      backdrop-filter: blur(6px);
      border-radius: 16px;
      font-size: 11px;
      color: white;
      width: fit-content;
      max-width: 85%;
    }
    .live__phone-notch {
      position: absolute;
      top: 8px;
      left: 50%;
      transform: translateX(-50%);
      width: 100px;
      height: 24px;
      background: #111;
      border-radius: 16px;
      z-index: 5;
    }

    .live__float-badge {
      position: absolute;
      bottom: 60px;
      right: -20px;
      background: var(--white);
      padding: 16px 20px;
      box-shadow: 0 12px 40px rgba(0,0,0,0.2);
      display: flex;
      align-items: center;
      gap: 12px;
      animation: float 3s ease-in-out infinite;
    }
    @media (min-width: 768px) { .live__float-badge { right: -40px; } }
    .live__float-badge span {
      font-size: 13px;
      font-weight: 600;
      color: var(--cobalt);
    }
    .live__float-badge strong {
      font-family: var(--font-display);
      font-size: 24px;
      color: var(--terracotta);
    }

    /* ============================================
       TESTIMONIALS
       ============================================ */
    .testimonials {
      padding: 80px 0;
      background: var(--white);
    }
    .testimonials__header {
      text-align: center;
      margin-bottom: 48px;
    }
    .testimonials__header .section-label { margin-bottom: 16px; display: block; }
    .testimonials__header h2 {
      font-family: var(--font-display);
      font-size: clamp(1.75rem, 4vw, 2.5rem);
      font-weight: 500;
      color: var(--cobalt);
    }
    .testimonials__grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 24px;
    }
    @media (min-width: 768px) {
      .testimonials__grid { grid-template-columns: 1fr 1fr 1fr; }
    }
    .testimonial {
      padding: 32px;
      background: var(--cream);
      border-radius: 12px;
      border: 1px solid var(--border);
    }
    .testimonial__stars {
      display: flex;
      gap: 2px;
      margin-bottom: 16px;
      color: #E8A838;
    }
    .testimonial__stars svg { width: 16px; height: 16px; }
    .testimonial__text {
      font-size: 15px;
      color: var(--text);
      line-height: 1.7;
      margin-bottom: 20px;
      font-style: italic;
    }
    .testimonial__author {
      font-size: 13px;
      font-weight: 600;
      color: var(--cobalt);
    }
    .testimonial__source {
      font-size: 12px;
      color: var(--text-light);
      margin-top: 2px;
    }

    /* ============================================
       ABOUT / CTA
       ============================================ */
    .about-cta {
      padding: 80px 0;
      background: var(--cream-dark);
    }
    @media (min-width: 768px) { .about-cta { padding: 120px 0; } }

    .about-cta__inner {
      text-align: center;
      max-width: 680px;
      margin: 0 auto;
    }
    .about-cta__inner .section-label { margin-bottom: 20px; display: block; }
    .about-cta__inner .section-title { margin-bottom: 24px; }
    .about-cta__inner p {
      font-size: 16px;
      line-height: 1.8;
      color: var(--text-muted);
      margin-bottom: 16px;
    }

    .about-cta__stats {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      margin: 48px 0;
      padding: 40px 0;
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
    }
    .stat__num {
      font-family: var(--font-display);
      font-size: clamp(32px, 5vw, 48px);
      font-weight: 600;
      color: var(--cobalt);
      line-height: 1;
      margin-bottom: 8px;
    }
    .stat__label {
      font-size: 13px;
      color: var(--text-muted);
    }

    .btn-dark {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 16px 40px;
      background: var(--cobalt);
      color: var(--white);
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 1px;
      text-transform: uppercase;
      transition: background 0.3s var(--ease-out), transform 0.2s var(--ease-out), box-shadow 0.3s var(--ease-out);
    }
    .btn-dark:active { transform: scale(0.97); }
    .btn-dark:hover {
      background: var(--cobalt-light);
      transform: translateY(-2px);
      box-shadow: 0 8px 30px rgba(27,42,74,0.3);
    }
    .btn-dark svg,
    .btn-primary svg,
    .btn-outline svg { width: 16px; height: 16px; flex-shrink: 0; }

    /* ============================================
       NEWSLETTER
       ============================================ */
    .newsletter {
      padding: 80px 0;
      background: var(--white);
    }
    @media (min-width: 768px) { .newsletter { padding: 100px 0; } }

    .newsletter__inner {
      display: grid;
      grid-template-columns: 1fr;
      gap: 40px;
      align-items: center;
    }
    @media (min-width: 768px) {
      .newsletter__inner { grid-template-columns: 1fr 1fr; }
    }
    .newsletter__text .section-title { margin-bottom: 12px; }
    .newsletter__text p {
      font-size: 15px;
      color: var(--text-muted);
      line-height: 1.7;
    }

    .newsletter__form {
      display: flex;
      gap: 0;
    }
    .newsletter__input {
      flex: 1;
      padding: 16px 20px;
      border: 1px solid var(--border);
      border-right: none;
      background: var(--cream);
      font-family: var(--font-body);
      font-size: 14px;
      color: var(--text);
      outline: none;
      transition: border-color 0.3s ease;
    }
    .newsletter__input::placeholder { color: var(--text-light); }
    .newsletter__input:focus { border-color: var(--cobalt-medium); }
    .newsletter__btn {
      padding: 16px 28px;
      background: var(--cobalt);
      color: var(--white);
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 1px;
      text-transform: uppercase;
      white-space: nowrap;
      transition: background 0.3s ease;
    }
    .newsletter__btn:hover { background: var(--cobalt-light); }

    /* ============================================
       FOOTER
       ============================================ */
    .footer {
      padding: 60px 0 24px;
      background: var(--cobalt);
      color: rgba(255,255,255,0.7);
    }
    .footer__top {
      display: grid;
      grid-template-columns: 1fr;
      gap: 40px;
      padding-bottom: 48px;
      border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    @media (min-width: 768px) {
      .footer__top { grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; }
    }

    .footer__brand-logo {
      height: 36px;
      width: auto;
      margin-bottom: 16px;
      filter: brightness(0) invert(1);
    }
    .footer__brand p {
      font-size: 14px;
      line-height: 1.7;
      max-width: 300px;
      margin-bottom: 20px;
    }
    .footer__social {
      display: flex;
      gap: 12px;
    }
    .footer__social a {
      width: 40px;
      height: 40px;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(255,255,255,0.15);
      color: rgba(255,255,255,0.7);
      transition: border-color 0.3s ease, color 0.3s ease;
    }
    .footer__social a:hover {
      border-color: var(--gold-light);
      color: var(--gold-light);
    }
    .footer__social a svg { width: 18px; height: 18px; }

    .footer__col h4 {
      font-family: var(--font-display);
      font-size: 18px;
      font-weight: 600;
      color: var(--white);
      margin-bottom: 20px;
    }
    .footer__col ul { list-style: none; }
    .footer__col li { margin-bottom: 10px; }
    .footer__col a {
      font-size: 14px;
      color: rgba(255,255,255,0.6);
      transition: color 0.3s ease;
    }
    .footer__col a:hover { color: var(--gold-light); }

    .footer__bottom {
      display: flex;
      flex-direction: column;
      gap: 12px;
      align-items: center;
      padding-top: 24px;
      font-size: 13px;
      color: rgba(255,255,255,0.4);
    }
    @media (min-width: 768px) {
      .footer__bottom { flex-direction: row; justify-content: space-between; }
    }

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

    /* ============================================
       ROUTER: page visibility
       ============================================ */
    .page { display: none; opacity: 0; }
    .page.active { display: block; animation: pageIn 0.35s var(--ease-out) forwards; }
    #page-home.active { animation: none; opacity: 1; }
    @keyframes pageIn {
      from { opacity: 0; transform: translateY(12px); filter: blur(4px); }
      to { opacity: 1; transform: translateY(0); filter: blur(0); }
    }

    /* ============================================
       BREADCRUMBS
       ============================================ */
    .breadcrumbs {
      padding: 28px 0 0;
      font-size: 13px;
      color: var(--text-muted);
      overflow-x: auto;
      white-space: nowrap;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
    }
    .breadcrumbs::-webkit-scrollbar { display: none; }
    .breadcrumbs a { color: var(--cobalt-medium); transition: color 0.2s; }
    .breadcrumbs a:hover { color: var(--terracotta); }
    .breadcrumbs span { margin: 0 8px; color: var(--text-light); }

    /* ============================================
       CATEGORY PAGE
       ============================================ */
    .cat-page { padding-bottom: 80px; background: var(--cream); min-height: 60vh; }
    .cat-page__header {
      padding: 32px 0 48px;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    @media (min-width: 768px) {
      .cat-page__header {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
        padding: 40px 0 56px;
      }
    }
    .cat-page__header h1 {
      font-family: var(--font-display);
      font-size: clamp(28px, 4vw, 44px);
      font-weight: 500;
      color: var(--cobalt);
      line-height: 1.15;
    }
    .cat-page__count {
      font-size: 14px;
      color: var(--text-muted);
    }

    .cat-page__filters {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 32px;
    }
    .cat-filter {
      padding: 8px 18px;
      font-size: 13px;
      font-weight: 500;
      color: var(--text-muted);
      background: var(--white);
      border: 1px solid var(--border);
      cursor: pointer;
      transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease;
    }
    .cat-filter:hover, .cat-filter.active {
      color: var(--white);
      background: var(--cobalt);
      border-color: var(--cobalt);
    }

    .cat-page__content {
      display: grid;
      gap: 28px;
      align-items: start;
    }
    @media (min-width: 1024px) {
      .cat-page__content {
        grid-template-columns: minmax(320px, 30%) minmax(0, 1fr);
        gap: 30px;
      }
    }
    .cat-sidebar {
      border: 1px solid rgba(218,210,198,0.9);
      background: rgba(255,253,249,0.92);
      border-radius: 8px;
      padding: 22px;
      box-shadow: 0 14px 34px rgba(27,42,74,0.06);
    }
    @media (min-width: 1024px) {
      .cat-sidebar {
        position: sticky;
        top: 96px;
      }
    }
    .cat-sidebar__title {
      font-family: var(--font-display);
      font-size: 26px;
      font-weight: 500;
      line-height: 1.15;
      color: var(--cobalt);
      padding: 0 0 16px;
      margin-bottom: 0;
      border-bottom: 1px solid var(--border);
    }
    .cat-filter-block {
      padding: 22px 0 20px;
      border-top: 1px solid var(--border);
    }
    .cat-filter-block:first-of-type { border-top: none; }
    .cat-filter-block__label {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 14px;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 1.2px;
      text-transform: uppercase;
      color: var(--cobalt);
    }
    .cat-filter-block__label svg {
      width: 18px;
      height: 18px;
      color: var(--terracotta);
      flex-shrink: 0;
      opacity: 0.85;
    }
    .cat-active-filters {
      display: none;
      padding: 16px 0 0;
    }
    .cat-active-filters.visible { display: block; }
    .cat-active-filters__list {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .cat-active-filter {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 7px 10px;
      border: 1px solid rgba(196,101,74,0.35);
      border-radius: 999px;
      background: #FDF5ED;
      color: var(--cobalt);
      font-size: 12px;
    }
    .cat-active-filter button {
      width: 16px;
      height: 16px;
      border-radius: 50%;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: var(--terracotta);
      color: var(--white);
      font-size: 12px;
      line-height: 1;
    }
    .cat-price-filter {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }
    .cat-price-filter label {
      display: grid;
      gap: 7px;
      font-size: 11px;
      color: var(--text-muted);
    }
    .cat-price-filter input {
      width: 100%;
      min-height: 42px;
      padding: 8px 12px;
      border: 1px solid var(--border);
      border-radius: 6px;
      background: #fff;
      color: var(--cobalt);
      font: inherit;
      font-size: 13px;
    }
    .cat-price-filter input:focus {
      outline: none;
      border-color: var(--terracotta);
      box-shadow: 0 0 0 3px rgba(196,101,74,0.12);
    }
    .cat-price-slider {
      position: relative;
      height: 30px;
      margin: 2px 0 10px;
    }
    .cat-price-slider::before {
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      top: 14px;
      height: 4px;
      border-radius: 999px;
      background: #E4D9CA;
    }
    .cat-price-slider input[type="range"] {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 30px;
      background: transparent;
      pointer-events: none;
      appearance: none;
      -webkit-appearance: none;
    }
    .cat-price-slider input[type="range"]::-webkit-slider-thumb {
      appearance: none;
      -webkit-appearance: none;
      width: 16px;
      height: 16px;
      border-radius: 50%;
      background: var(--terracotta);
      border: 2px solid var(--white);
      box-shadow: 0 2px 8px rgba(27,42,74,0.22);
      pointer-events: auto;
      cursor: grab;
    }
    .cat-price-slider input[type="range"]::-moz-range-thumb {
      width: 16px;
      height: 16px;
      border-radius: 50%;
      background: var(--terracotta);
      border: 2px solid var(--white);
      box-shadow: 0 2px 8px rgba(27,42,74,0.22);
      pointer-events: auto;
      cursor: grab;
    }
    .cat-price-amount {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      margin-top: 12px;
      font-size: 12px;
      color: var(--text-muted);
    }
    .cat-price-amount button {
      padding: 9px 16px;
      border-radius: 6px;
      background: var(--cobalt);
      color: var(--white);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.9px;
      text-transform: uppercase;
      transition: background 0.2s ease;
    }
    .cat-price-amount button:hover { background: var(--terracotta); }
    .cat-sidebar__options {
      display: grid;
      gap: 3px;
      max-height: 390px;
      overflow: auto;
      padding-right: 4px;
      scrollbar-width: thin;
      scrollbar-color: rgba(27,42,74,0.28) transparent;
    }
    .cat-sidebar__options::-webkit-scrollbar { width: 6px; }
    .cat-sidebar__options::-webkit-scrollbar-track { background: transparent; }
    .cat-sidebar__options::-webkit-scrollbar-thumb {
      background: rgba(27,42,74,0.22);
      border-radius: 999px;
    }
    .cat-sidebar__option {
      width: 100%;
      min-height: 40px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 9px 10px;
      border: 0;
      border-radius: 6px;
      background: transparent;
      color: var(--text-muted);
      font-size: 13px;
      line-height: 1.35;
      text-align: left;
      transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
    }
    .cat-sidebar__option span:first-child {
      min-width: 0;
      overflow-wrap: anywhere;
    }
    .cat-sidebar__option:hover,
    .cat-sidebar__option.active {
      color: var(--cobalt);
      background: #F7EFE5;
    }
    .cat-sidebar__option.active {
      font-weight: 700;
      box-shadow: inset 3px 0 0 var(--terracotta);
    }
    .cat-sidebar__option-count {
      min-width: 26px;
      height: 22px;
      padding: 0 7px;
      border: 1px solid var(--border);
      border-radius: 999px;
      font-size: 12px;
      line-height: 20px;
      color: var(--text-muted);
      background: #fff;
      text-align: center;
      flex-shrink: 0;
    }
    .cat-sidebar__option.active .cat-sidebar__option-count {
      border-color: rgba(196,101,74,0.35);
      color: var(--terracotta);
    }
    .cat-sidebar__reset {
      width: 100%;
      margin-top: 2px;
      padding: 11px 14px;
      border: 1px solid var(--cobalt);
      border-radius: 6px;
      color: var(--cobalt);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 1px;
      text-transform: uppercase;
      transition: background 0.2s ease, color 0.2s ease;
    }
    .cat-sidebar__reset:hover {
      background: var(--cobalt);
      color: var(--white);
    }
    .cat-page__products { min-width: 0; }

    .cat-page__grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 16px;
    }
    @media (min-width: 640px) {
      .cat-page__grid { grid-template-columns: repeat(3, 1fr); }
    }
    @media (min-width: 1024px) {
      .cat-page__grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
    }
    @media (min-width: 1280px) {
      .cat-page__grid { grid-template-columns: repeat(3, 1fr); gap: 30px; }
    }
    @media (min-width: 1440px) {
      .cat-page__grid { gap: 30px; }
    }
    .cat-page__grid .product-card {
      background: transparent;
      border: 0;
      overflow: visible;
    }
    .cat-page__grid .product-card:hover {
      box-shadow: none;
    }
    .cat-page__grid .product-card__img-wrap {
      padding: 20px;
      background: var(--cream);
      isolation: isolate;
    }
    .cat-page__grid .product-card__img,
    .cat-page__grid .product-card__img--hover {
      width: 92%;
      height: 92%;
    }
    .cat-page__grid .product-card__info {
      padding: 0;
    }
    .cat-page__grid .product-card__name {
      font-size: 18px;
      line-height: 1.28;
    }
    .cat-page__grid .product-card__price {
      font-size: 16px;
    }
    .cat-page__grid .product-card__add {
      display: flex;
    }

    .cat-page__load-more {
      display: flex;
      justify-content: center;
      padding: 32px 0 16px;
    }
    .cat-page__load-more button {
      padding: 14px 40px;
      background: transparent;
      border: 1.5px solid var(--cobalt);
      color: var(--cobalt);
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 1px;
      text-transform: uppercase;
      cursor: pointer;
      transition: background 0.3s var(--ease-out), color 0.3s var(--ease-out);
    }
    .cat-page__load-more button:hover {
      background: var(--cobalt);
      color: var(--white);
    }

    /* ============================================
       PRODUCT PAGE
       ============================================ */
    .prod-page { padding-bottom: 40px; background: var(--cream); }

    .prod-page__main {
      display: grid;
      grid-template-columns: 1fr;
      gap: 32px;
      padding: 32px 0 60px;
    }
    @media (min-width: 768px) {
      .prod-page__main {
        grid-template-columns: 1fr 1fr;
        gap: 60px;
        padding: 40px 0 80px;
      }
    }
    @media (min-width: 1024px) {
      .prod-page__main { gap: 80px; }
    }

    /* ---- Gallery v2 ---- */
    .prod-gallery { position: relative; }
    .prod-gallery__main {
      width: 100%;
      aspect-ratio: 1;
      background: var(--cream-dark);
      border-radius: 12px;
      box-shadow: 0 2px 20px rgba(27,42,74,0.08);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 24px;
      margin-bottom: 12px;
      overflow: hidden;
      position: relative;
      cursor: zoom-in;
      isolation: isolate;
      -webkit-tap-highlight-color: transparent;
    }
    .prod-gallery__main img {
      max-width: 100%;
      max-height: 100%;
      object-fit: contain;
      mix-blend-mode: multiply;
      transition: transform 0.5s var(--ease-out);
    }
    /* Single product main image: statyczny obraz. Hover effect tylko na wrap (gold ring + subtle bg shift). */
    .prod-gallery__main img { transform: none !important; filter: none !important; transition: none !important; }
    .prod-gallery__main:hover img { transform: none !important; filter: none !important; }
    .prod-gallery__main {
      transition: box-shadow 0.5s var(--ease-out), background 0.5s var(--ease-out);
    }
    .prod-gallery__main:hover {
      box-shadow: inset 0 0 0 1px rgba(184, 150, 78, 0.45), 0 10px 30px rgba(27, 42, 74, 0.08);
    }

    .prod-gallery__thumbs {
      display: flex;
      gap: 8px;
    }
    .prod-gallery__thumb {
      width: 80px;
      height: 80px;
      background: var(--cream-dark);
      border: 2px solid var(--border);
      border-radius: 8px;
      padding: 6px;
      cursor: pointer;
      transition: border-color 0.2s;
      display: flex;
      align-items: center;
      justify-content: center;
      isolation: isolate;
      -webkit-tap-highlight-color: transparent;
    }
    @media (min-width: 768px) {
      .prod-gallery__thumb { width: 100px; height: 100px; padding: 8px; }
    }
    .prod-gallery__thumb:hover,
    .prod-gallery__thumb.active {
      border-color: var(--terracotta);
    }
    .prod-gallery__thumb img {
      max-width: 100%;
      max-height: 100%;
      object-fit: contain;
      mix-blend-mode: multiply;
    }

    /* ---- Lightbox ---- */
    .lightbox {
      position: fixed;
      inset: 0;
      z-index: 200;
      background: rgba(27,42,74,0.92);
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.3s var(--ease-out);
      cursor: zoom-out;
    }
    .lightbox.open { opacity: 1; pointer-events: all; }
    .lightbox img {
      max-width: 90vw;
      max-height: 90vh;
      object-fit: contain;
      border-radius: 8px;
    }
    .lightbox__close {
      position: absolute;
      top: 20px;
      right: 24px;
      color: var(--white);
      font-size: 32px;
      cursor: pointer;
      z-index: 201;
    }

    /* ---- Product Info v2 ---- */
    .prod-info {}
    .prod-info__deco {
      font-size: 11px;
      font-weight: 600;
      color: var(--terracotta);
      letter-spacing: 2px;
      text-transform: uppercase;
      margin-bottom: 8px;
    }
    .prod-info__name {
      font-family: var(--font-display);
      font-size: clamp(26px, 3.5vw, 38px);
      font-weight: 500;
      color: var(--cobalt);
      line-height: 1.2;
      margin-bottom: 6px;
    }
    .prod-info__ornament {
      width: 40px;
      height: 2px;
      background: var(--terracotta);
      margin-bottom: 20px;
    }

    /* Price v2 - terracotta accent */
    .prod-info__price {
      font-family: var(--font-display);
      font-size: 36px;
      font-weight: 600;
      color: var(--terracotta);
      margin-bottom: 8px;
    }
    .prod-info__price small {
      font-size: 18px;
      font-weight: 400;
      color: var(--text-muted);
    }

    .prod-info__summary {
      margin: 0 0 20px;
      padding: 16px 18px;
      border-left: 2px solid var(--terracotta);
      background: #FDF5ED;
      border-radius: 0 8px 8px 0;
      color: var(--text-muted);
      font-size: 14px;
      line-height: 1.75;
    }
    .prod-info__summary strong {
      color: var(--cobalt);
      font-weight: 600;
    }

    /* Artisan quote */
    .prod-info__artisan-quote {
      font-family: var(--font-display);
      font-style: italic;
      font-size: 14px;
      color: var(--text-muted);
      margin-bottom: 24px;
      padding-left: 16px;
      border-left: 2px solid var(--terracotta);
      line-height: 1.6;
    }

    /* Deco swatches */
    .prod-info__swatches {
      display: flex;
      align-items: center;
      gap: 6px;
      margin-bottom: 20px;
      flex-wrap: wrap;
    }
    .prod-info__swatches-label {
      font-size: 12px;
      font-weight: 500;
      color: var(--text-muted);
      margin-right: 4px;
    }
    .deco-swatch {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      border: 2px solid var(--border);
      overflow: hidden;
      cursor: pointer;
      transition: border-color 0.2s, transform 0.2s;
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--cream-dark);
      isolation: isolate;
      -webkit-tap-highlight-color: transparent;
    }
    .deco-swatch:hover { border-color: var(--terracotta); transform: scale(1.1); }
    .deco-swatch.active { border-color: var(--terracotta); box-shadow: 0 0 0 2px var(--cream), 0 0 0 4px var(--terracotta); }
    .deco-swatch img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      mix-blend-mode: multiply;
    }
    .deco-swatch__code {
      font-size: 9px;
      font-weight: 700;
      color: var(--cobalt);
      text-align: center;
    }

    /* Badges v2 - warm artisan style */
    .prod-info__badges {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 24px;
    }
    .prod-badge {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 10px 16px;
      background: #FDF5ED;
      border-radius: 24px;
      font-size: 12px;
      font-weight: 500;
      color: var(--cobalt);
    }
    .prod-badge svg { width: 18px; height: 18px; color: var(--terracotta); flex-shrink: 0; }

    /* Description - structured */
    .prod-info__desc {
      font-size: 15px;
      line-height: 1.8;
      color: var(--text-muted);
      margin-bottom: 24px;
    }
    .prod-info__desc p { margin-bottom: 12px; }

    /* Product tabs - WooCommerce pattern, Ceramika AC styling */
    .prod-tabs {
      padding: 8px 0 70px;
      background: var(--cream);
    }
    .prod-tabs__shell {
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
      background: rgba(255,255,255,0.28);
    }
    .prod-tabs__nav {
      display: flex;
      gap: 0;
      overflow-x: auto;
      border-bottom: 1px solid var(--border);
      scrollbar-width: none;
    }
    .prod-tabs__nav::-webkit-scrollbar { display: none; }
    .prod-tabs__btn {
      position: relative;
      min-height: 58px;
      padding: 0 22px;
      display: inline-flex;
      align-items: center;
      gap: 9px;
      flex: 0 0 auto;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 0.4px;
      color: var(--text-muted);
      border-right: 1px solid var(--border);
      transition: color 0.2s ease, background 0.2s ease;
    }
    .prod-tabs__btn svg {
      width: 17px;
      height: 17px;
      color: var(--terracotta);
      flex-shrink: 0;
    }
    .prod-tabs__btn::after {
      content: '';
      position: absolute;
      left: 18px;
      right: 18px;
      bottom: -1px;
      height: 2px;
      background: var(--terracotta);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 0.25s var(--ease-out);
    }
    .prod-tabs__btn:hover,
    .prod-tabs__btn.active {
      color: var(--cobalt);
      background: rgba(255,255,255,0.5);
    }
    .prod-tabs__btn.active::after { transform: scaleX(1); }
    .prod-tabs__panel {
      display: none;
      padding: 34px 32px 38px;
    }
    @media (min-width: 1024px) { .prod-tabs__panel { padding: 40px 48px 48px; } }
    .prod-tabs__panel.active { display: block; animation: fadeIn 0.28s ease; }
    .prod-tabs__grid {
      display: grid;
      gap: 28px;
    }
    @media (min-width: 900px) {
      .prod-tabs__grid { grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr); }
    }
    .prod-tabs__eyebrow {
      display: block;
      margin-bottom: 10px;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--terracotta);
    }
    .prod-tabs__title {
      font-family: var(--font-display);
      font-size: clamp(26px, 3vw, 38px);
      line-height: 1.16;
      font-weight: 500;
      color: var(--cobalt);
      margin-bottom: 16px;
    }
    .prod-tabs__copy {
      font-size: 15px;
      line-height: 1.85;
      color: var(--text-muted);
      max-width: 760px;
    }
    .prod-tabs__copy p { margin-bottom: 14px; }
    .prod-tabs__note {
      padding: 22px;
      border-left: 2px solid var(--terracotta);
      background: #FDF5ED;
      font-size: 14px;
      line-height: 1.75;
      color: var(--text-muted);
    }
    .prod-tabs__note strong {
      display: block;
      margin-bottom: 4px;
      color: var(--cobalt);
      font-size: 13px;
      text-transform: uppercase;
      letter-spacing: 1px;
    }
    .prod-tabs__facts {
      display: grid;
      gap: 10px;
      max-width: 720px;
    }
    @media (min-width: 680px) {
      .prod-tabs__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    .prod-tabs__fact {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      padding: 15px 18px;
      border: 1px solid var(--border);
      background: rgba(255,255,255,0.45);
      border-radius: 8px;
      font-size: 14px;
    }
    .prod-tabs__fact span:first-child {
      color: var(--text-muted);
      font-weight: 500;
    }
    .prod-tabs__fact span:last-child {
      color: var(--cobalt);
      font-weight: 600;
      text-align: right;
    }
    .prod-tabs__steps {
      display: grid;
      gap: 14px;
    }
    .prod-tabs__step {
      display: grid;
      grid-template-columns: 32px 1fr;
      gap: 14px;
      align-items: start;
      max-width: 760px;
    }
    .prod-tabs__step-num {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: var(--cobalt);
      color: var(--white);
      font-size: 12px;
      font-weight: 700;
    }
    .prod-tabs__step h3 {
      font-size: 15px;
      color: var(--cobalt);
      margin-bottom: 2px;
    }
    .prod-tabs__step p {
      font-size: 14px;
      line-height: 1.65;
      color: var(--text-muted);
    }
    .prod-tabs__empty {
      padding: 26px;
      border: 1px dashed var(--border);
      background: rgba(255,255,255,0.35);
      border-radius: 8px;
      color: var(--text-muted);
      line-height: 1.75;
    }
    .prod-tabs__empty a {
      color: var(--cobalt);
      font-weight: 600;
      text-decoration: underline;
      text-decoration-color: var(--terracotta);
    }
    @media (max-width: 639px) {
      .prod-tabs { padding-bottom: 48px; }
      .prod-tabs__btn { min-height: 52px; padding: 0 16px; font-size: 12px; }
      .prod-tabs__panel { padding: 28px 0 32px; }
      .prod-tabs__fact { flex-direction: column; gap: 4px; }
      .prod-tabs__fact span:last-child { text-align: left; }
    }

    /* Spec table */
    .prod-spec {
      margin-bottom: 24px;
      border: 1px solid var(--border);
      border-radius: 8px;
      overflow: hidden;
    }
    .prod-spec__row {
      display: flex;
      align-items: center;
      padding: 10px 16px;
      font-size: 13px;
      border-bottom: 1px solid var(--border);
    }
    .prod-spec__row:last-child { border-bottom: none; }
    .prod-spec__row:nth-child(even) { background: rgba(27,42,74,0.02); }
    .prod-spec__icon {
      width: 20px;
      height: 20px;
      color: var(--terracotta);
      margin-right: 10px;
      flex-shrink: 0;
    }
    .prod-spec__label {
      font-weight: 600;
      color: var(--text);
      min-width: 120px;
    }
    .prod-spec__value {
      color: var(--text-muted);
    }
    .prod-spec__value a { color: var(--cobalt); text-decoration: underline; text-decoration-color: var(--border); }
    .prod-spec__value a:hover { text-decoration-color: var(--terracotta); }

    /* CTA block v2 */
    .prod-cta-block {
      padding: 24px 0;
      margin-bottom: 16px;
      border-top: 1px solid var(--border);
    }
    .prod-cta-block .btn-cta {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      width: 100%;
      padding: 18px 32px;
      background: var(--terracotta);
      color: var(--white);
      font-size: 14px;
      font-weight: 700;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      border-radius: 8px;
      border: none;
      cursor: pointer;
      transition: background 0.3s var(--ease-out), transform 0.2s, box-shadow 0.3s;
      margin-bottom: 16px;
      box-shadow: 0 4px 16px rgba(196,101,74,0.25);
    }
    @media (max-width: 480px) {
      .prod-cta-block .btn-cta { font-size: 12px; padding: 16px 16px; gap: 8px; letter-spacing: 1px; }
    }
    .prod-cta-block .btn-cta:hover { background: #b5573e; box-shadow: 0 6px 20px rgba(196,101,74,0.35); transform: translateY(-1px); }
    .prod-cta-block .btn-cta:active { transform: scale(0.97); box-shadow: 0 2px 8px rgba(196,101,74,0.2); }
    .prod-cta-block .btn-cta svg { width: 18px; height: 18px; }
    .prod-cta-block__trust {
      display: flex;
      justify-content: center;
      gap: 20px;
      flex-wrap: wrap;
    }
    .prod-cta-block__trust-item {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 11px;
      color: var(--text-light);
    }
    .prod-cta-block__trust-item svg { width: 14px; height: 14px; color: var(--terracotta-light); }

    /* Sticky mobile CTA */
    .prod-sticky-cta {
      display: none;
    }
    @media (max-width: 767px) {
      .prod-sticky-cta {
        display: none;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 90;
        background: var(--white);
        padding: 12px 16px;
        box-shadow: 0 -4px 20px rgba(0,0,0,0.1);
        border-top: 1px solid var(--border);
        align-items: center;
        justify-content: space-between;
        gap: 12px;
      }
      .prod-sticky-cta__price {
        font-family: var(--font-display);
        font-size: 22px;
        font-weight: 600;
        color: var(--cobalt);
      }
      .prod-sticky-cta__price small {
        font-size: 12px;
        font-weight: 400;
        color: var(--text-light);
      }
      .prod-sticky-cta .btn-cta {
        padding: 12px 24px;
        background: var(--terracotta);
        color: var(--white);
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 1px;
        text-transform: uppercase;
        border-radius: 6px;
        border: none;
        cursor: pointer;
        white-space: nowrap;
      }
      .prod-sticky-cta.visible {
        display: flex;
      }
    }

    /* ---- Related products v2 ---- */
    .related {
      padding: 60px 0 80px;
      background: var(--white);
      position: relative;
    }
    .related::before {
      content: '';
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 60px;
      height: 2px;
      background: var(--terracotta);
    }
    .related__header {
      margin-bottom: 40px;
    }
    .related__header h2 {
      font-family: var(--font-display);
      font-size: clamp(24px, 3vw, 36px);
      font-weight: 500;
      color: var(--cobalt);
    }
    .related__grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 16px;
    }
    @media (min-width: 640px) {
      .related__grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
    }

    /* All categories listing */
    .cat-page__section-title {
      font-family: var(--font-display);
      font-size: 22px;
      font-weight: 600;
      color: var(--cobalt);
      margin-bottom: 20px;
      padding-bottom: 12px;
      border-bottom: 1px solid var(--border);
    }
    .all-cats-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 16px;
      padding-bottom: 60px;
    }
    @media (min-width: 640px) {
      .all-cats-grid { grid-template-columns: repeat(3, 1fr); }
    }
    @media (min-width: 1024px) {
      .all-cats-grid { grid-template-columns: repeat(5, 1fr); gap: 20px; }
    }
    .all-cat-card {
      background: var(--white);
      border: 1px solid var(--border);
      padding: 28px 20px 24px;
      text-align: center;
      transition: border-color 0.4s var(--ease-out), transform 0.4s var(--ease-out), box-shadow 0.4s var(--ease-out);
      cursor: pointer;
      position: relative;
      overflow: hidden;
    }
    .all-cat-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg, var(--cobalt), var(--cobalt-medium));
      transform: scaleX(0);
      transition: transform 0.4s var(--ease-out);
    }
    .all-cat-card:hover::before { transform: scaleX(1); }
    .all-cat-card:hover {
      border-color: var(--cobalt);
      transform: translateY(-4px);
      box-shadow: 0 16px 40px rgba(27,42,74,0.1);
    }
    .all-cat-card__name {
      font-family: var(--font-display);
      font-size: 18px;
      font-weight: 600;
      color: var(--cobalt);
      margin-bottom: 4px;
    }
    .all-cat-card__count {
      font-size: 13px;
      color: var(--text-muted);
    }

    /* ============================================
       SHOP: Visual category cards grid
       ============================================ */
    .shop-cats-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 16px;
      margin-bottom: 48px;
    }
    @media (min-width: 640px) { .shop-cats-grid { grid-template-columns: repeat(3, 1fr); } }
    @media (min-width: 1024px) { .shop-cats-grid { grid-template-columns: repeat(4, 1fr); gap: 20px; } }

    .shop-cats-grid--deco {
      grid-template-columns: repeat(3, 1fr);
    }
    @media (min-width: 640px) { .shop-cats-grid--deco { grid-template-columns: repeat(4, 1fr); } }
    @media (min-width: 1024px) { .shop-cats-grid--deco { grid-template-columns: repeat(5, 1fr); } }

    .cat-card__img--placeholder {
      width: 100%;
      aspect-ratio: 4/3;
      background: linear-gradient(135deg, var(--cream-dark) 0%, var(--border) 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--font-display);
      font-size: 28px;
      font-weight: 600;
      color: var(--cobalt-medium);
      opacity: 0.5;
    }

    /* Badge "Nowa kategoria" */
    .cat-card__badge {
      position: absolute;
      top: 14px;
      left: 14px;
      z-index: 2;
      background: var(--terracotta);
      color: var(--white);
      font-family: var(--font-body);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      padding: 5px 10px;
      border-radius: 2px;
      line-height: 1;
    }

    /* Virtual categories section */
    .shop-cats-grid--virtual {
      grid-template-columns: repeat(2, 1fr);
    }
    @media (min-width: 640px) { .shop-cats-grid--virtual { grid-template-columns: repeat(3, 1fr); } }
    @media (min-width: 1024px) { .shop-cats-grid--virtual { grid-template-columns: repeat(3, 1fr); gap: 20px; } }

    /* ---- Round category navigation cards ---- */
    .shop-cats-round {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 42px 52px;
      margin-bottom: 70px;
    }
    @media (max-width: 639px) { .shop-cats-round { gap: 20px 16px; } }

    .shop-cat-round {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 14px;
      width: 172px;
      text-decoration: none;
      transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
    }
    .shop-cat-round:hover { transform: translateY(-5px); }
    @media (max-width: 639px) { .shop-cat-round { width: 100px; gap: 8px; } }

    .shop-cat-round--lg { width: 190px; }
    @media (max-width: 639px) { .shop-cat-round--lg { width: 110px; } }

    .shop-cat-round--sm { width: 124px; gap: 10px; }
    @media (max-width: 639px) { .shop-cat-round--sm { width: 80px; gap: 6px; } }

    .shop-cat-round__circle {
      width: 156px;
      height: 156px;
      border-radius: 50%;
      overflow: hidden;
      background: var(--white);
      border: 2px solid var(--border);
      transition: border-color 0.4s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.5s cubic-bezier(0.25, 1, 0.5, 1);
    }
    .shop-cat-round--lg .shop-cat-round__circle { width: 174px; height: 174px; }
    .shop-cat-round--sm .shop-cat-round__circle { width: 108px; height: 108px; }
    @media (max-width: 639px) {
      .shop-cat-round__circle { width: 88px; height: 88px; }
      .shop-cat-round--lg .shop-cat-round__circle { width: 96px; height: 96px; }
      .shop-cat-round--sm .shop-cat-round__circle { width: 68px; height: 68px; }
    }

    .shop-cat-round:hover .shop-cat-round__circle {
      border-color: var(--terracotta);
      box-shadow: 0 8px 28px rgba(196, 101, 74, 0.15);
    }

    .shop-cat-round__img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      mix-blend-mode: multiply;
      transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    }
    .shop-cat-round:hover .shop-cat-round__img { transform: scale(1.08); }
    .shop-cat-round__img--contain { object-fit: contain; padding: 12px; }

    .shop-cat-round__placeholder {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(135deg, var(--cream-dark), var(--border));
      font-family: var(--font-display);
      font-size: 22px;
      font-weight: 600;
      color: var(--cobalt-medium);
      opacity: 0.5;
    }

    .shop-cat-round__name {
      font-family: var(--font-display);
      font-size: 17px;
      font-weight: 600;
      color: var(--cobalt);
      text-align: center;
      line-height: 1.25;
    }
    .shop-cat-round--sm .shop-cat-round__name { font-size: 14px; }
    @media (max-width: 639px) { .shop-cat-round__name { font-size: 13px; } }

    .shop-cat-round__count {
      font-size: 12px;
      color: var(--text-muted);
      font-weight: 400;
      margin-top: -4px;
    }

    .cat-page__section-subtitle {
      font-size: 14px;
      color: var(--text-muted);
      margin-top: -14px;
      margin-bottom: 20px;
    }

    .cat-page__subtitle {
      font-size: 15px;
      color: var(--text-muted);
      line-height: 1.7;
      max-width: 600px;
      margin-top: 8px;
    }

    /* ---- Category Intro (above products) ---- */
    .cat-page__intro {
      max-width: 720px;
      margin-bottom: 40px;
      font-size: 15px;
      line-height: 1.85;
      color: var(--text-muted);
    }
    .cat-page__intro p { margin: 0; }

    /* ---- Trust Strip (category pages) ---- */
    .cat-trust-strip {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px 20px;
      margin-bottom: 36px;
      padding: 16px 0;
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
    }
    @media (min-width: 768px) {
      .cat-trust-strip {
        display: flex;
        flex-wrap: wrap;
        gap: 24px;
      }
    }
    .cat-trust-strip__item {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.5px;
      text-transform: uppercase;
      color: var(--cobalt-medium);
    }
    .cat-trust-strip__item svg {
      width: 16px;
      height: 16px;
      color: var(--terracotta);
      flex-shrink: 0;
    }

    /* ---- Toolbar ---- */
    .cat-page__toolbar {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 12px;
      margin-bottom: 32px;
      justify-content: space-between;
    }
    .cat-page__toolbar-right {
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .cat-page__results {
      font-size: 13px;
      color: var(--text-light);
      white-space: nowrap;
    }
    .cat-page__view-toggle {
      display: none;
      gap: 4px;
    }
    @media (min-width: 768px) {
      .cat-page__view-toggle { display: flex; }
    }
    .cat-page__view-btn {
      width: 36px;
      height: 36px;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid var(--border);
      background: var(--white);
      color: var(--text-light);
      transition: border-color 0.2s, color 0.2s, background 0.2s;
    }
    .cat-page__view-btn.active,
    .cat-page__view-btn:hover {
      border-color: var(--cobalt);
      color: var(--cobalt);
      background: var(--cream-dark);
    }
    .cat-page__view-btn svg { width: 16px; height: 16px; }

    .cat-sort {
      padding: 10px 16px;
      font-family: var(--font-body);
      font-size: 13px;
      font-weight: 500;
      color: var(--text);
      background: var(--white);
      border: 1px solid var(--border);
      cursor: pointer;
      outline: none;
      transition: border-color 0.2s;
      appearance: none;
      -webkit-appearance: none;
      padding-right: 36px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B6B6B' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 12px center;
    }
    .cat-sort:hover, .cat-sort:focus { border-color: var(--cobalt-medium); }

    .seo-text {
      padding: 48px 0 0;
      border-top: 1px solid var(--border);
      margin-top: 60px;
    }
    .seo-text__inner {
      display: grid;
      grid-template-columns: 1fr;
      gap: 32px;
    }
    @media (min-width: 768px) {
      .seo-text__inner {
        grid-template-columns: 1fr 1fr;
        gap: 48px;
      }
    }
    .seo-text__inner--full {
      grid-template-columns: 1fr;
    }
    .seo-text h2 {
      font-family: var(--font-display);
      font-size: clamp(22px, 3vw, 32px);
      font-weight: 500;
      color: var(--cobalt);
      margin-bottom: 16px;
    }
    @media (min-width: 768px) {
      .seo-text h2 { grid-column: 1 / -1; }
    }
    .seo-text h3 {
      font-family: var(--font-display);
      font-size: 20px;
      font-weight: 600;
      color: var(--cobalt);
      margin-bottom: 12px;
      margin-top: 24px;
    }
    .seo-text p {
      font-size: 15px;
      line-height: 1.8;
      color: var(--text-muted);
      margin-bottom: 16px;
    }
    .seo-text ul {
      list-style: none;
      padding-left: 0;
      margin-bottom: 16px;
    }
    .seo-text ul li {
      font-size: 15px;
      line-height: 1.8;
      color: var(--text-muted);
      margin-bottom: 8px;
      padding-left: 20px;
      position: relative;
    }
    .seo-text ul li::before {
      content: '';
      position: absolute;
      left: 0;
      top: 10px;
      width: 6px;
      height: 6px;
      background: var(--terracotta);
      border-radius: 50%;
    }
    /* USP grid inside SEO text */
    .seo-usp-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 16px;
      margin-top: 8px;
    }
    @media (min-width: 480px) {
      .seo-usp-grid { grid-template-columns: 1fr 1fr; }
    }
    .seo-usp-item {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      padding: 16px;
      background: var(--white);
      border: 1px solid var(--border);
    }
    .seo-usp-item svg {
      width: 20px;
      height: 20px;
      color: var(--terracotta);
      flex-shrink: 0;
      margin-top: 2px;
    }
    .seo-usp-item__text {
      font-size: 13px;
      line-height: 1.6;
      color: var(--text-muted);
    }
    .seo-usp-item__text strong {
      display: block;
      font-size: 14px;
      color: var(--cobalt);
      margin-bottom: 2px;
    }

    .prod-page__cat-bar {
      padding-top: 90px;
      padding-bottom: 0;
      font-size: 13px;
    }
    .prod-page__cat-bar a {
      color: var(--cobalt-medium);
      font-weight: 500;
      transition: color 0.2s;
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .prod-page__cat-bar a:hover { color: var(--terracotta); }
    .prod-page__cat-bar a svg { width: 14px; height: 14px; }

    /* ============================================
       FAQ ACCORDION
       ============================================ */
    .faq-section {
      margin-top: 48px;
      padding-top: 48px;
      border-top: 1px solid var(--border);
    }
    .faq-section__title {
      font-family: var(--font-display);
      font-size: clamp(24px, 3vw, 32px);
      font-weight: 500;
      color: var(--cobalt);
      margin-bottom: 24px;
    }
    .faq-item {
      border-bottom: 1px solid var(--border);
    }
    .faq-item summary {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 20px 0;
      cursor: pointer;
      font-family: var(--font-body);
      font-size: 15px;
      font-weight: 600;
      color: var(--cobalt);
      list-style: none;
      transition: color 0.2s;
    }
    .faq-item summary::-webkit-details-marker { display: none; }
    .faq-item summary::after {
      content: '+';
      font-size: 20px;
      font-weight: 400;
      color: var(--terracotta);
      transition: transform 0.3s var(--ease-out);
      flex-shrink: 0;
      margin-left: 16px;
    }
    .faq-item[open] summary::after {
      content: '-';
    }
    .faq-item summary:hover { color: var(--terracotta); }
    .faq-item__answer {
      padding: 0 0 20px;
      font-size: 14px;
      line-height: 1.8;
      color: var(--text-muted);
      max-width: 680px;
    }

    /* ============================================
       RELATED CATEGORIES
       ============================================ */
    .related-cats {
      margin-top: 48px;
      padding-top: 48px;
      border-top: 1px solid var(--border);
    }
    .related-cats__title {
      font-family: var(--font-display);
      font-size: clamp(20px, 2.5vw, 28px);
      font-weight: 500;
      color: var(--cobalt);
      margin-bottom: 20px;
    }
    .related-cats__grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 18px 14px;
    }
    @media (min-width: 640px) { .related-cats__grid { grid-template-columns: repeat(3, 1fr); gap: 22px 20px; } }
    @media (min-width: 1024px) { .related-cats__grid { grid-template-columns: repeat(6, 1fr); gap: 28px 28px; } }
    .related-cats__link {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 14px;
      width: 100%;
      padding: 12px;
      border-radius: 12px;
      transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), background 0.3s;
    }
    .related-cats__link:hover {
      transform: translateY(-4px);
      background: rgba(196, 101, 74, 0.04);
    }
    .related-cats__img {
      width: 100%;
      max-width: 180px;
      aspect-ratio: 1 / 1;
      height: auto;
      border-radius: 50%;
      object-fit: cover;
      background: var(--white);
      border: 2px solid var(--border);
      mix-blend-mode: multiply;
      transition: border-color 0.3s, box-shadow 0.3s, transform 0.4s;
    }
    @media (max-width: 639px) { .related-cats__img { max-width: 110px; } }
    .related-cats__link:hover .related-cats__img {
      border-color: var(--terracotta);
      box-shadow: 0 6px 20px rgba(196, 101, 74, 0.12);
    }
    .related-cats__info {
      text-align: center;
      font-size: 13px;
      font-weight: 500;
      color: var(--cobalt);
      line-height: 1.3;
    }
    @media (max-width: 639px) { .related-cats__info { font-size: 12px; } }
    .related-cats__link:hover .related-cats__info { color: var(--terracotta); }
    .related-cats__count {
      font-size: 11px;
      color: var(--text-light);
      font-weight: 400;
      display: block;
    }

    /* ============================================
       CROSS-SELL (product page)
       ============================================ */
    .cross-sell {
      padding: 48px 0;
      background: var(--cream-dark);
    }
    .cross-sell__header {
      margin-bottom: 24px;
    }
    .cross-sell__grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
    }
    @media (min-width: 576px) { .cross-sell__grid { grid-template-columns: repeat(3, 1fr); } }
    @media (min-width: 1024px) { .cross-sell__grid { grid-template-columns: repeat(4, 1fr); } }
    .cross-sell__cta {
      margin-top: 24px;
      text-align: center;
    }
    .cross-sell__cta a {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 0.5px;
      color: var(--cobalt-medium);
      transition: color 0.2s;
    }
    .cross-sell__cta a:hover { color: var(--terracotta); }
    .cross-sell__cta a svg { width: 14px; height: 14px; }

    /* ============================================
       PRODUCT META LINKS
       ============================================ */
    .prod-info__meta a {
      color: var(--cobalt-medium);
      text-decoration: underline;
      text-decoration-color: var(--border);
      text-underline-offset: 3px;
      transition: color 0.2s, text-decoration-color 0.2s;
    }
    .prod-info__meta a:hover {
      color: var(--terracotta);
      text-decoration-color: var(--terracotta);
    }

    /* ============================================
       FOOTER 5-COL
       ============================================ */
    @media (min-width: 768px) {
      .footer__top--5col { grid-template-columns: 2fr 1fr 1fr 1fr 1fr; }
    }

    /* ============================================
       STATIC PAGES: O nas, Kontakt, Katalog, 404
       ============================================ */
    .static-page { padding: 120px 0 80px; min-height: 60vh; }
    @media (max-width: 767px) { .static-page { padding: 100px 0 60px; } }

    .static-page__hero {
      text-align: center;
      padding: 32px 0 28px;
      border-bottom: 1px solid var(--border);
      margin-bottom: 32px;
    }
    @media (min-width: 768px) {
      .static-page__hero { padding: 48px 0 40px; margin-bottom: 48px; }
    }
    .static-page__hero .section-label { margin-bottom: 16px; display: block; }
    .static-page__hero h1 {
      font-family: var(--font-display);
      font-size: clamp(2rem, 5vw, 3.2rem);
      font-weight: 500;
      color: var(--cobalt);
      line-height: 1.15;
      letter-spacing: -0.02em;
    }
    .static-page__hero p {
      margin-top: 16px;
      font-size: 16px;
      color: var(--text-muted);
      max-width: 560px;
      margin-left: auto;
      margin-right: auto;
      line-height: 1.7;
    }

    /* ---- O NAS ---- */
    .about-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 48px;
      margin-bottom: 64px;
    }
    @media (min-width: 768px) {
      .about-grid { grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
    }
    .about-grid__text h2 {
      font-family: var(--font-display);
      font-size: clamp(1.5rem, 3vw, 2rem);
      font-weight: 500;
      color: var(--cobalt);
      margin-bottom: 20px;
      line-height: 1.2;
    }
    .about-grid__text p {
      font-size: 15px;
      line-height: 1.8;
      color: var(--text-muted);
      margin-bottom: 16px;
    }
    .about-grid__image {
      background: var(--cream-dark);
      border-radius: 12px;
      overflow: hidden;
      aspect-ratio: 4/3;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .about-grid__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .about-grid__image--placeholder {
      font-family: var(--font-display);
      font-size: 18px;
      color: var(--text-light);
      font-style: italic;
    }
    .about-values {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 32px;
      margin-bottom: 64px;
      padding: 48px 0;
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
    }
    .about-value {
      text-align: center;
      padding: 24px 16px;
      background: var(--white);
      border-radius: 12px;
      border: 1px solid var(--border);
    }
    .about-value__icon {
      width: 56px;
      height: 56px;
      margin: 0 auto 16px;
      color: var(--terracotta);
      background: rgba(196,101,74,0.08);
      border-radius: 50%;
      padding: 12px;
    }
    .about-value__title {
      font-family: var(--font-display);
      font-size: 20px;
      font-weight: 600;
      color: var(--cobalt);
      margin-bottom: 8px;
    }
    .about-value__desc {
      font-size: 14px;
      color: var(--text-muted);
      line-height: 1.6;
    }
    .about-quote {
      text-align: center;
      padding: 48px 24px;
      max-width: 640px;
      margin: 0 auto;
    }
    .about-quote blockquote {
      font-family: var(--font-display);
      font-size: clamp(1.25rem, 3vw, 1.6rem);
      font-style: italic;
      color: var(--cobalt);
      line-height: 1.5;
      margin-bottom: 16px;
    }
    .about-quote cite {
      font-family: var(--font-body);
      font-size: 13px;
      font-style: normal;
      color: var(--text-light);
      letter-spacing: 1px;
      text-transform: uppercase;
    }

    /* ---- KONTAKT ---- */
    .contact-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 48px;
      margin-bottom: 64px;
    }
    @media (min-width: 768px) {
      .contact-grid { grid-template-columns: 1fr 1fr; gap: 64px; }
    }
    .contact-card {
      padding: 32px;
      background: var(--white);
      border-radius: 12px;
      border: 1px solid var(--border);
    }
    .contact-card h3 {
      font-family: var(--font-display);
      font-size: 22px;
      font-weight: 600;
      color: var(--cobalt);
      margin-bottom: 24px;
    }
    .contact-item {
      display: flex;
      align-items: flex-start;
      gap: 16px;
      margin-bottom: 20px;
    }
    .contact-item:last-child { margin-bottom: 0; }
    .contact-item__icon {
      width: 20px;
      height: 20px;
      flex-shrink: 0;
      color: var(--terracotta);
      margin-top: 2px;
    }
    .contact-item__text {
      font-size: 15px;
      line-height: 1.6;
      color: var(--text);
    }
    .contact-item__text a {
      color: var(--cobalt-medium);
      text-decoration: underline;
      text-decoration-color: var(--border);
      text-underline-offset: 3px;
      transition: color 0.2s, text-decoration-color 0.2s;
    }
    .contact-item__text a:hover {
      color: var(--terracotta);
      text-decoration-color: var(--terracotta);
    }
    .contact-map {
      border-radius: 12px;
      overflow: hidden;
      border: 1px solid var(--border);
      aspect-ratio: 16/10;
    }
    .contact-map iframe {
      width: 100%;
      height: 100%;
      border: 0;
    }
    .contact-hours {
      margin-top: 48px;
      padding: 32px;
      background: var(--white);
      border-radius: 12px;
      border: 1px solid var(--border);
    }
    .contact-hours h3 {
      font-family: var(--font-display);
      font-size: 22px;
      font-weight: 600;
      color: var(--cobalt);
      margin-bottom: 16px;
    }
    .contact-hours__grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 24px;
    }
    .contact-hours__item strong {
      display: block;
      font-size: 14px;
      color: var(--cobalt);
      margin-bottom: 4px;
    }
    .contact-hours__item span {
      font-size: 14px;
      color: var(--text-muted);
    }

    /* ---- KATALOG (flipbook) ---- */
    .catalog-flipbooks {
      display: grid;
      grid-template-columns: 1fr;
      gap: 32px;
      margin-bottom: 48px;
    }
    @media (min-width: 768px) {
      .catalog-flipbooks { grid-template-columns: 1fr 1fr; gap: 40px; }
    }
    .catalog-flipbook-card {
      background: var(--white);
      border-radius: 12px;
      border: 1px solid var(--border);
      overflow: hidden;
      transition: transform 0.25s var(--ease-out), box-shadow 0.25s;
    }
    .catalog-flipbook-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 32px rgba(27,42,74,0.08);
    }
    .catalog-flipbook-card__cover {
      position: relative;
      aspect-ratio: 16/10;
      overflow: hidden;
    }
    .catalog-flipbook-card__cover img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .catalog-flipbook-card__badge {
      position: absolute;
      top: 12px;
      right: 12px;
      background: var(--cobalt);
      color: var(--white);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 1px;
      padding: 4px 12px;
      border-radius: 4px;
    }
    .catalog-flipbook-card__info {
      padding: 24px;
    }
    .catalog-flipbook-card__info h3 {
      font-family: var(--font-display);
      font-size: 22px;
      font-weight: 600;
      color: var(--cobalt);
      margin-bottom: 8px;
    }
    .catalog-flipbook-card__info p {
      font-size: 14px;
      color: var(--text-muted);
      line-height: 1.6;
      margin-bottom: 20px;
    }
    .catalog-flipbook-card__btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 10px 20px;
      background: var(--cobalt);
      color: var(--white);
      font-size: 14px;
      font-weight: 500;
      border-radius: 8px;
      transition: background 0.2s;
    }
    .catalog-flipbook-card__btn:hover { background: var(--cobalt-light); }
    .catalog-cta {
      text-align: center;
      padding: 32px;
      background: var(--white);
      border-radius: 12px;
      border: 1px solid var(--border);
    }
    .catalog-cta p {
      font-size: 14px;
      color: var(--text-muted);
      line-height: 1.6;
      margin-bottom: 16px;
    }
    .catalog-cta__link {
      font-size: 15px;
      font-weight: 600;
      color: var(--terracotta);
      line-height: 1.3;
    }
    .catalog-card__count {
      font-size: 11px;
      color: var(--text-light);
      margin-top: 2px;
    }

    /* ---- 404 ---- */
    .page-404 {
      text-align: center;
      padding: 80px 24px;
      min-height: 50vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
    }
    .page-404__number {
      font-family: var(--font-display);
      font-size: clamp(5rem, 15vw, 10rem);
      font-weight: 700;
      color: var(--border);
      line-height: 1;
      margin-bottom: 16px;
    }
    .page-404 h1 {
      font-family: var(--font-display);
      font-size: clamp(1.5rem, 4vw, 2.4rem);
      font-weight: 500;
      color: var(--cobalt);
      margin-bottom: 16px;
    }
    .page-404 p {
      font-size: 16px;
      color: var(--text-muted);
      margin-bottom: 32px;
      max-width: 440px;
      line-height: 1.6;
    }
    .page-404__links {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      justify-content: center;
    }
    .page-404__links a {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 12px 24px;
      border-radius: 8px;
      font-size: 14px;
      font-weight: 500;
      transition: all 0.2s var(--ease-out);
    }
    .page-404__links a:first-child {
      background: var(--cobalt);
      color: var(--white);
    }
    .page-404__links a:first-child:hover { background: var(--cobalt-light); }
    .page-404__links a:not(:first-child) {
      border: 1px solid var(--border);
      color: var(--cobalt);
    }
    .page-404__links a:not(:first-child):hover {
      border-color: var(--cobalt);
      background: var(--cobalt);
      color: var(--white);
    }

    /* ============================================
       FOOTER 5-COL
       ============================================ */
    @media (min-width: 768px) {
      .footer__top--5col { grid-template-columns: 2fr 1fr 1fr 1fr 1fr; }
    }

/* ============================================
   SHOP / ARCHIVE PAGE - additions
   ============================================ */

.page--shop { padding-top: 0; padding-bottom: 80px; }
@media (min-width: 1024px) { .page--shop { padding-top: 0; } }

.shop-hero { padding: 32px 0 24px; }
.shop-hero .section-ornament { margin-bottom: 12px; }
.shop-hero__desc { max-width: 760px; margin-top: 16px; color: var(--text-muted); font-size: 15px; line-height: 1.7; }

.breadcrumbs { font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--text-light); margin-bottom: 20px; }
.breadcrumbs a { color: var(--text-muted); transition: color 0.2s; }
.breadcrumbs a:hover { color: var(--terracotta); }
.breadcrumbs__sep { margin: 0 8px; color: var(--border); }

.shop-grid-section { padding: 24px 0 0; }

.shop-grid-layout {
	display: grid;
	gap: 48px;
	grid-template-columns: 1fr;
}
@media (min-width: 1024px) {
	.shop-grid-layout { grid-template-columns: 260px 1fr; gap: 56px; }
}

/* Sidebar */
.cat-sidebar { position: relative; }
@media (min-width: 1024px) { .cat-sidebar { position: sticky; top: 110px; align-self: start; max-height: calc(100vh - 130px); overflow-y: auto; padding-right: 8px; } }
.cat-sidebar__title { font-family: var(--font-display); font-weight: 500; font-size: 20px; color: var(--cobalt); margin: 0 0 14px; padding-bottom: 12px; border-bottom: 1.5px solid var(--terracotta); display: inline-block; }
.cat-sidebar__title--secondary { margin-top: 28px; }
.cat-sidebar__list { list-style: none; padding: 0; margin: 0 0 8px; }
.cat-sidebar__list--decor { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.cat-sidebar__link { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; color: var(--text); font-size: 14px; border-radius: 4px; transition: background 0.2s, color 0.2s, padding 0.2s; }
.cat-sidebar__list--decor .cat-sidebar__link { font-size: 13px; padding: 8px 10px; }
.cat-sidebar__link:hover { background: var(--cream-dark); color: var(--cobalt); padding-left: 16px; }
.cat-sidebar__link.is-active { background: var(--cobalt); color: var(--white); font-weight: 600; }
.cat-sidebar__link em { font-style: normal; font-size: 11px; color: var(--text-light); font-weight: 500; }
.cat-sidebar__link.is-active em { color: rgba(255,255,255,0.7); }

.shop-main { min-width: 0; }
.shop-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1px solid var(--border); flex-wrap: wrap; }
.shop-toolbar .woocommerce-result-count { color: var(--text-muted); font-size: 13px; margin: 0; }
.shop-toolbar .woocommerce-ordering { margin: 0; }
.shop-toolbar select { padding: 8px 32px 8px 12px; border: 1px solid var(--border); border-radius: 4px; background: var(--white); font-family: var(--font-body); font-size: 14px; color: var(--text); cursor: pointer; }

/* Override WooCommerce default ul.products if Zakra parent applies its styles */
.shop-main ul.products,
.shop-main .products {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 24px !important;
}
@media (min-width: 768px) { .shop-main ul.products, .shop-main .products { grid-template-columns: repeat(3, 1fr) !important; } }
@media (min-width: 1280px) { .shop-main ul.products, .shop-main .products { grid-template-columns: repeat(4, 1fr) !important; gap: 32px !important; } }
.shop-main ul.products li.product, .shop-main .products li.product { width: 100% !important; margin: 0 !important; padding: 0 !important; float: none !important; clear: none !important; }

/* Product card badges */
.product-card__img-wrap { position: relative; }
.product-card__badge { position: absolute; top: 12px; left: 12px; z-index: 2; padding: 5px 10px; font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; font-weight: 600; border-radius: 2px; }
.product-card__badge--sale { background: var(--terracotta); color: var(--white); }
.product-card__badge--out { background: var(--text-light); color: var(--white); }

/* Pagination */
.shop-pagination { margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--border); display: flex; justify-content: center; }
.shop-pagination .woocommerce-pagination ul, .shop-pagination .page-numbers { list-style: none; padding: 0; margin: 0; display: flex; gap: 8px; align-items: center; }
.shop-pagination .page-numbers li { margin: 0; }
.shop-pagination .page-numbers a, .shop-pagination .page-numbers span { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px; border: 1px solid var(--border); border-radius: 4px; color: var(--text); text-decoration: none; transition: all 0.2s; font-size: 14px; font-weight: 500; }
.shop-pagination .page-numbers a:hover { background: var(--cobalt); color: var(--white); border-color: var(--cobalt); }
.shop-pagination .page-numbers .current { background: var(--cobalt); color: var(--white); border-color: var(--cobalt); font-weight: 600; }

/* Hide Zakra WC default wrappers if they slip through */
.zak-shop-sidebar, .zak-woocommerce-sidebar, .zakra-product-archive-sidebar { display: none !important; }
.woocommerce-notices-wrapper:empty { display: none; }

/* ============================================
   OVERRIDES - parent theme / Customizer
   ============================================ */
html, body {
	background-color: var(--cream) !important;
	background-image: none !important;
}
body.zak-container--wide #content, body #zakra-content { background: var(--cream) !important; }
.zak-site-content, .zakra-main-content, .zak-content-area, .content-area, .zak-page-header { background: transparent !important; }

/* Zakra adds a page-header banner with background image on archives - hide */
.zak-page-header, .page-header-section, .zak-archive-header { display: none !important; }

/* Custom logo - Zakra adds max-width that crushes ours */
.nav__logo, .nav .nav__logo { max-width: 280px !important; max-height: 64px !important; width: auto !important; height: auto !important; }
@media (max-width: 768px) { .nav__logo, .nav .nav__logo { max-width: 180px !important; max-height: 48px !important; } }

/* ============================================
   ROUND 2: NAV / CART / IMAGES / GRIDS
   ============================================ */

/* ---- Nav: force our menu styling over Zakra/HFE ---- */
.nav { padding: 16px 0 !important; }
.nav .nav__logo,
.nav .nav__logo-wrap img { height: 40px !important; width: auto !important; max-width: 280px !important; max-height: 56px !important; display: block !important; transition: height 0.4s ease, filter 0.4s ease !important; }
.nav.scrolled .nav__logo,
.nav.scrolled .nav__logo-wrap img { height: 32px !important; }
.nav.nav--hero:not(.scrolled) .nav__logo,
.nav.nav--hero:not(.scrolled) .nav__logo-wrap img { filter: brightness(0) invert(1) !important; }

.nav__links { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.nav__links li { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.nav__links li::before, .nav__links li::after { display: none !important; content: none !important; }
.nav__links a,
.nav__links li > a {
	font-family: var(--font-body) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: 0.5px !important;
	color: var(--cobalt) !important;
	background: none !important;
	padding: 0 !important;
	border: none !important;
	text-transform: none !important;
	line-height: 1 !important;
	position: relative !important;
	text-decoration: none !important;
}
/* Top-level nav links na hero: białe. Wyklucza linki w mega-menu (te mają cobalt). */
.nav.nav--hero:not(.scrolled) .nav__links > li > a:not(.mega-menu__link):not(.mega-menu__col-title):not(.mega-menu__footer-link) { color: var(--white) !important; }
.nav.nav--hero:not(.scrolled) .nav__links > li > a:not(.mega-menu__link):not(.mega-menu__col-title):not(.mega-menu__footer-link):hover { color: var(--gold-light) !important; }
.nav.scrolled .nav__links a:hover,
.nav:not(.nav--hero) .nav__links a:hover { color: var(--terracotta) !important; }

/* Top bar */
.top-bar a { color: rgba(255,255,255,0.85) !important; transition: color 0.2s !important; text-decoration: none !important; }
.top-bar a:hover { color: var(--white) !important; }

/* Cart CTA - match mockup */
.nav__cta {
	display: none !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 10px 22px !important;
	background: var(--cobalt) !important;
	color: var(--white) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
	border-radius: 0 !important;
	line-height: 1 !important;
	border: 1px solid transparent !important;
	text-decoration: none !important;
	transition: background 0.3s ease, transform 0.2s ease, color 0.3s ease !important;
}
@media (min-width: 768px) { .nav__cta { display: inline-flex !important; } }
.nav__cta svg { width: 16px !important; height: 16px !important; flex: 0 0 16px !important; }
.nav__cta:hover { background: var(--cobalt-light) !important; transform: translateY(-1px) !important; color: var(--white) !important; }
.nav.nav--hero:not(.scrolled) .nav__cta {
	background: rgba(255,255,255,0.12) !important;
	color: var(--white) !important;
	border: 1px solid rgba(255,255,255,0.32) !important;
	backdrop-filter: blur(10px) !important;
	-webkit-backdrop-filter: blur(10px) !important;
}
.nav.nav--hero:not(.scrolled) .nav__cta:hover { background: rgba(255,255,255,0.22) !important; }
.cart-badge {
	display: none;
	align-items: center; justify-content: center;
	min-width: 18px; height: 18px;
	padding: 0 5px;
	background: var(--terracotta); color: var(--white);
	font-size: 10px; font-weight: 700;
	border-radius: 9px;
}

/* Hamburger color on hero */
.nav.nav--hero:not(.scrolled) .nav__hamburger span { background: var(--white) !important; }

/* ---- Product card: styling zarządzany w mockupowej definicji wyżej (linie 1093-1213).
       Zostawiamy tylko force-show dla "Dodaj do koszyka" na hover i kolor WC price amount. ---- */
.product-card__price .woocommerce-Price-amount { color: var(--terracotta) !important; }
.product-card__price del { color: var(--text-light); font-size: 13px; margin-right: 6px; opacity: 0.7; }
.product-card__price ins { text-decoration: none; }
.product-card:hover .product-card__add { display: flex !important; }

/* Categories round tiles - layout zarządzany w sekcji ROUND 2.1 (flex jak mockup) */
.cat-round { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 4px; transition: transform 0.4s var(--ease-out); text-decoration: none; color: inherit; }
.cat-round:hover { transform: translateY(-6px); }
.cat-round__img-wrap { width: 100%; aspect-ratio: 1/1; border-radius: 50%; overflow: hidden; background: var(--white); border: 1px solid var(--border); margin-bottom: 16px; position: relative; transition: border-color 0.3s, box-shadow 0.4s; }
.cat-round:hover .cat-round__img-wrap { border-color: var(--cobalt); box-shadow: 0 14px 36px -14px rgba(27,42,74,0.3); }
.cat-round__img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ease-out); }
.cat-round:hover .cat-round__img-wrap img { transform: scale(1.06); }
.cat-round__placeholder { width: 100%; height: 100%; background: repeating-linear-gradient(45deg, var(--cream-dark), var(--cream-dark) 8px, var(--cream) 8px, var(--cream) 16px); }
.cat-round__name { font-family: var(--font-display); font-weight: 500; font-size: 18px; color: var(--cobalt); margin-bottom: 4px; line-height: 1.2; }
.cat-round__count { font-size: 11px; letter-spacing: 1px; text-transform: uppercase; color: var(--text-muted); }

/* Bestsellers grid: responsive */
.products__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (min-width: 640px) { .products__grid { gap: 20px; } }
@media (min-width: 768px) { .products__grid { grid-template-columns: repeat(3, 1fr); gap: 24px; } }
@media (min-width: 1024px) { .products__grid { grid-template-columns: repeat(4, 1fr); gap: 32px; } }

/* Newsletter form - layout dziedziczone z mockupu (linie 1590-1619).
   Mockup: input cream bg + padding 16/20, btn padding 16/28. Nie nadpisujemy. */
.newsletter__form { max-width: 480px; }
.newsletter__input:focus { outline: 2px solid var(--terracotta); outline-offset: -2px; }

/* Footer */
.footer { background: var(--cobalt); color: rgba(255,255,255,0.85); padding: 72px 0 28px; }
.footer__top { display: grid; gap: 40px; padding-bottom: 48px; }
.footer__top--5col { grid-template-columns: 1fr; }
@media (min-width: 640px) { .footer__top--5col { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .footer__top--5col { grid-template-columns: 1.4fr repeat(4, 1fr); gap: 56px; } }
.footer__brand { font-family: var(--font-display); font-weight: 500; font-size: 24px; color: var(--white); margin: 0 0 12px; }
.footer__tagline { color: rgba(255,255,255,0.65); font-size: 14px; margin: 0 0 20px; }
.footer__social { display: flex; gap: 12px; }
.footer__social a { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,0.18); color: rgba(255,255,255,0.85); transition: background 0.3s, color 0.3s; }
.footer__social a:hover { background: var(--white); color: var(--cobalt); }
.footer__social svg { width: 16px; height: 16px; }
.footer__heading { font-family: var(--font-body); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--gold-light); margin: 0 0 18px; font-weight: 600; }
.footer__list { list-style: none; padding: 0; margin: 0; }
.footer__list li { margin-bottom: 10px; }
.footer__list a { color: rgba(255,255,255,0.8); font-size: 14px; transition: color 0.2s; text-decoration: none; }
.footer__list a:hover { color: var(--white); }
.footer__list--contact a { display: inline-flex; align-items: center; gap: 8px; }
.footer__list--contact svg { width: 14px; height: 14px; opacity: 0.7; }
.footer__live-times { color: rgba(255,255,255,0.75); font-size: 13px; line-height: 1.6; margin: 0 0 16px; }
.footer__live-times strong { color: var(--white); font-size: 18px; font-family: var(--font-display); font-weight: 500; }
.footer__live-btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; background: rgba(255,255,255,0.08); color: var(--white); border: 1px solid rgba(255,255,255,0.2); font-size: 12px; letter-spacing: 1px; text-transform: uppercase; font-weight: 600; transition: background 0.3s; text-decoration: none; }
.footer__live-btn:hover { background: rgba(255,255,255,0.18); }
.footer__live-btn svg { width: 16px; height: 16px; }
.footer__bottom { display: flex; justify-content: space-between; align-items: center; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.12); font-size: 12px; color: rgba(255,255,255,0.55); flex-wrap: wrap; gap: 12px; }

/* Hero text padding */
.hero__content { padding-left: 16px; padding-right: 16px; }
@media (min-width: 768px) { .hero__content { padding-left: 24px; padding-right: 24px; } }
@media (min-width: 1024px) { .hero__content { padding-left: 32px; padding-right: 32px; } }

/* Hide HFE / Zakra default header on home so our nav owns it */
.elementor-section .hfe-site-header, .elementor-location-header, .site-header.ehf-header, header.ehf-header { display: none !important; }

/* Anchor styles that Zakra parent might add to all anchors inside nav */
.nav a, .top-bar a, .footer a, .product-card, .cat-round { text-decoration: none !important; }
.nav a:hover, .top-bar a:hover, .footer a:hover { text-decoration: none !important; }

/* ============================================
   ROUND 2.1: Categories - flex layout 1:1 mockup
   ============================================ */
.shop-cats-round {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 42px 52px !important;
	margin: 0 auto 70px !important;
	max-width: none !important;
	grid-template-columns: none !important;
}
@media (max-width: 639px) { .shop-cats-round { gap: 24px 18px !important; } }

.shop-cat-round {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 14px !important;
	text-decoration: none !important;
	color: inherit !important;
	transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1) !important;
	isolation: isolate;
}
.shop-cat-round--lg { width: 190px !important; }
.shop-cat-round--sm { width: 124px !important; gap: 10px !important; }
.shop-cat-round:not(.shop-cat-round--lg):not(.shop-cat-round--sm) { width: 172px !important; }
.shop-cat-round:hover { transform: translateY(-6px) !important; }
@media (max-width: 639px) {
	.shop-cat-round--lg { width: 110px !important; gap: 10px !important; }
	.shop-cat-round--sm { width: 80px !important; gap: 6px !important; }
	.shop-cat-round:not(.shop-cat-round--lg):not(.shop-cat-round--sm) { width: 100px !important; gap: 8px !important; }
}

.shop-cat-round__circle {
	border-radius: 50% !important;
	overflow: hidden;
	background: var(--white);
	border: 2px solid var(--border);
	transition: border-color 0.4s, box-shadow 0.5s;
}
.shop-cat-round--lg .shop-cat-round__circle { width: 174px !important; height: 174px !important; }
.shop-cat-round--sm .shop-cat-round__circle { width: 108px !important; height: 108px !important; }
.shop-cat-round:not(.shop-cat-round--lg):not(.shop-cat-round--sm) .shop-cat-round__circle { width: 156px !important; height: 156px !important; }
.shop-cat-round:hover .shop-cat-round__circle {
	border-color: var(--terracotta);
	box-shadow: 0 12px 32px rgba(196, 101, 74, 0.18);
}
@media (max-width: 639px) {
	.shop-cat-round--lg .shop-cat-round__circle { width: 100px !important; height: 100px !important; }
	.shop-cat-round--sm .shop-cat-round__circle { width: 68px !important; height: 68px !important; }
	.shop-cat-round:not(.shop-cat-round--lg):not(.shop-cat-round--sm) .shop-cat-round__circle { width: 88px !important; height: 88px !important; }
}

.shop-cat-round__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	mix-blend-mode: multiply;
	transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}
.shop-cat-round__img--contain { object-fit: contain; padding: 12px; }
.shop-cat-round:hover .shop-cat-round__img { transform: scale(1.08); }

.shop-cat-round__placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--cream-dark), var(--border));
	font-family: var(--font-display);
	font-size: 22px;
	font-weight: 600;
	color: var(--cobalt-medium);
}

.shop-cat-round__name {
	font-family: var(--font-display) !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	color: var(--cobalt) !important;
	text-align: center;
	line-height: 1.25;
}
.shop-cat-round__count {
	font-size: 12px !important;
	color: var(--text-muted) !important;
	font-weight: 400 !important;
	margin-top: -4px;
	text-align: center;
}

/* Categories section header should be centered when no description in column */
.categories__header { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: 56px; flex-wrap: wrap; }
@media (max-width: 768px) { .categories__header { flex-direction: column; align-items: flex-start; } }

/* Bestsellers card image - clean cream bg for PNG transparency.
   Mockup-aligned: pozwalamy mockupowi (linie 1093-1149) zarządzać kolorem tła, borderem i paddingiem __img.
   Zostawiamy tylko mix-blend-mode (PNG na cream tle) i object-fit (cropping). */
.products__grid .product-card__img-wrap img { mix-blend-mode: multiply; object-fit: contain !important; }

/* ============================================
   Hide Weglot translation widget (per audit)
   ============================================ */
.weglot-container,
.country-selector,
.weglot_switcher,
.menu-item-weglot,
.weglot-lang,
.weglot-parent-menu-item,
.menu-item-weglot,
li.weglot-language,
#weglot-toggle-btn,
.weglot-rtl-fix,
[class*="weglot-"]:not(.weglot-hidden),
[id*="weglot-"]:not(html),
[class*="country-selector"] { display: none !important; }
html[lang^="en"] [class*="weglot-"] { display: none !important; }

/* ============================================
   Mega menu - HARD FORCE kolorów (Zakra nav--hero ma 'a { color: white }'
   które dziedziczy do każdego <a> wewnątrz nav__links).
   Plus oddech: padding 36px + gap 32px (jak na mockupie z większą przestrzenią).
   ============================================ */
.mega-menu::before {
	content: '';
	position: absolute;
	top: -16px;
	left: 0;
	right: 0;
	height: 16px;
	background: transparent;
	pointer-events: auto;
}

/* Padding zgodny z mockupem (.mega-menu { padding: 32px 0 20px }, .__inner { padding: 0 32px }) */
html body .mega-menu { padding: 32px 0 20px !important; }
.mega-menu__inner {
	padding: 0 32px !important;
	gap: 24px !important;
}
@media (min-width: 1024px) {
	.mega-menu__inner { padding: 0 40px !important; gap: 28px !important; }
}
.mega-menu__list { gap: 2px !important; }
.mega-menu__link { padding: 6px 8px !important; border-radius: 6px !important; }
.mega-menu__footer { padding-top: 20px !important; margin-top: 8px !important; }

/* Nagłówki kolumn mega menu - cobalt #1B2A4A (per user) */
html body .nav .mega-menu a.mega-menu__col-title,
html body .nav--hero .mega-menu a.mega-menu__col-title {
	color: var(--cobalt) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	font-family: var(--font-body) !important;
	border-bottom: 1px solid var(--border) !important;
	padding-bottom: 10px !important;
	margin-bottom: 20px !important;
	display: block !important;
}
html body .nav .mega-menu a.mega-menu__col-title:hover { color: var(--terracotta) !important; }

html body .nav .mega-menu a.mega-menu__link,
html body .nav--hero .mega-menu a.mega-menu__link,
html body .nav .mega-menu a.mega-menu__link span:not(.mega-menu__count),
html body .nav--hero .mega-menu a.mega-menu__link span:not(.mega-menu__count) { color: var(--cobalt) !important; }
html body .nav .mega-menu a.mega-menu__link:hover,
html body .nav--hero .mega-menu a.mega-menu__link:hover,
html body .nav .mega-menu a.mega-menu__link:hover span:not(.mega-menu__count),
html body .nav--hero .mega-menu a.mega-menu__link:hover span:not(.mega-menu__count) { color: var(--terracotta) !important; }

html body .nav .mega-menu .mega-menu__count,
html body .nav--hero .mega-menu .mega-menu__count { color: var(--text-light) !important; }

html body .nav .mega-menu a.mega-menu__footer-link,
html body .nav--hero .mega-menu a.mega-menu__footer-link { color: var(--cobalt) !important; }
html body .nav .mega-menu a.mega-menu__footer-link:hover { color: var(--terracotta) !important; }

/* Wywal ::before/::after underlines z linków nav wewnątrz mega menu */
.nav__links .mega-menu a::before,
.nav__links .mega-menu a::after { content: none !important; display: none !important; }

/* Product card short excerpt (commit d908367 from audit) */
.product-card__excerpt { display: none; }

/* Hero mobile padding fix (commit 1cf477b) */
@media (max-width: 639px) {
	.hero__content { padding-left: 20px !important; padding-right: 20px !important; }
	.hero h1 { font-size: clamp(34px, 9vw, 56px) !important; line-height: 1.05 !important; }
	.hero__sub { font-size: 15px !important; padding-right: 8px; }
	.hero__badge { font-size: 11px !important; padding: 6px 14px !important; }
}

/* Long SEO category names - reduce font on home cat tiles to fit */
.shop-cat-round__name { font-size: 15px !important; line-height: 1.3 !important; min-height: 2.6em; display: flex; align-items: center; }
@media (max-width: 639px) { .shop-cat-round__name { font-size: 12px !important; } }

/* ============================================
   Single product page - layout + CTA polish
   ============================================ */
.prod-page { padding-top: 110px; padding-bottom: 0 !important; }
@media (min-width: 1024px) { .prod-page { padding-top: 130px; } }

.prod-page__main { display: grid; grid-template-columns: 1fr; gap: 48px; margin-top: 28px; }
@media (min-width: 1024px) { .prod-page__main { grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: start; } }

/* WooCommerce add-to-cart override - terracotta CTA (commit 72a1dc3) */
.prod-cta-block .single_add_to_cart_button,
.prod-cta-block button.single_add_to_cart_button,
.prod-cta-block .button.alt,
.prod-cta-block button[name="add-to-cart"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	width: 100% !important;
	padding: 18px 32px !important;
	background: var(--terracotta) !important;
	color: var(--white) !important;
	border: none !important;
	border-radius: 0 !important;
	font-family: var(--font-body) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	transition: background 0.3s, transform 0.2s !important;
	margin-bottom: 16px !important;
}
.prod-cta-block .single_add_to_cart_button:hover,
.prod-cta-block .button.alt:hover { background: var(--terracotta-light) !important; transform: translateY(-1px); }
.prod-cta-block .single_add_to_cart_button:active { transform: scale(0.98); }

/* Quantity selector +/- (mockup style) */
.prod-cta-block .quantity {
	display: inline-flex !important;
	align-items: center !important;
	border: 1px solid var(--border) !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	background: var(--white) !important;
	margin-right: 12px !important;
	margin-bottom: 16px !important;
	height: 52px !important;
}
.prod-cta-block .quantity .zak-qty-controller,
.prod-cta-block .quantity .qty-btn,
.prod-cta-block .quantity button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 44px !important;
	height: 52px !important;
	background: transparent !important;
	border: 0 !important;
	font-size: 20px !important;
	font-weight: 500 !important;
	color: var(--cobalt) !important;
	cursor: pointer !important;
	transition: background 0.2s, color 0.2s !important;
	padding: 0 !important;
	line-height: 1 !important;
}
.prod-cta-block .quantity .zak-qty-controller:hover,
.prod-cta-block .quantity .qty-btn:hover,
.prod-cta-block .quantity button:hover {
	background: var(--cream-dark) !important;
	color: var(--terracotta) !important;
}
.prod-cta-block .quantity input.qty {
	width: 56px !important;
	padding: 0 !important;
	border: 0 !important;
	border-left: 1px solid var(--border) !important;
	border-right: 1px solid var(--border) !important;
	background: var(--white) !important;
	font-family: var(--font-body) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: var(--cobalt) !important;
	text-align: center !important;
	height: 52px !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	-moz-appearance: textfield !important;
}
.prod-cta-block .quantity input.qty::-webkit-outer-spin-button,
.prod-cta-block .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.prod-cta-block__trust { display: grid; grid-template-columns: 1fr; gap: 12px; padding-top: 20px; border-top: 1px solid var(--border); margin-top: 12px; }
.prod-cta-block__trust-item { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--text-muted); }
.prod-cta-block__trust-item svg { width: 16px; height: 16px; color: var(--terracotta); flex: 0 0 16px; }

/* prod-tabs facts grid */
.prod-tabs__facts { display: grid; grid-template-columns: 1fr; gap: 0; }
@media (min-width: 640px) { .prod-tabs__facts { grid-template-columns: 1fr 1fr; gap: 0 32px; } }
.prod-tabs__fact { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--border); }
.prod-tabs__fact-label { font-size: 13px; color: var(--text-muted); letter-spacing: 0.5px; }
.prod-tabs__fact-value { font-family: var(--font-display); font-size: 16px; color: var(--cobalt); font-weight: 500; }

/* Related products section */
.related {
	padding: 64px 0 80px !important;
	background: var(--white) !important;
	margin: 48px 0 0 !important;
	box-shadow: 0 -1px 0 var(--border);
}
.related__header { text-align: center; margin-bottom: 40px; }
.related__header .section-ornament { justify-content: center; }
.related__header h2 { font-family: var(--font-display); font-weight: 500; color: var(--cobalt); margin: 8px 0 0; }
.related__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (min-width: 768px) { .related__grid { grid-template-columns: repeat(4, 1fr); gap: 24px; } }

/* Hide Zakra/WC default tabs (we use our own) */
.woocommerce-tabs.wc-tabs-wrapper { display: none !important; }
.woocommerce-tabs { display: none !important; }
.up-sells, .upsells.products { display: none !important; }
.related.products { padding-top: 0 !important; }

/* Mobile sticky CTA (commit e9fe3be: visible at all times) */
@media (max-width: 1023px) {
	.prod-cta-block .single_add_to_cart_button { font-size: 15px !important; padding: 16px 24px !important; }
}

/* Mobile menu chips (audit 2f8baa1) - all-active style */
.mobile-menu__cat-chip--all { display: block !important; margin-top: 12px !important; border: 1px solid var(--cobalt) !important; color: var(--cobalt) !important; font-weight: 600 !important; padding: 10px 16px !important; text-align: center !important; }
.mobile-menu__accordion-body { max-height: 0 !important; overflow: hidden !important; transition: max-height 0.4s var(--ease-out) !important; }
.mobile-menu__accordion.open .mobile-menu__accordion-body { max-height: 2000px !important; }
.mobile-menu__accordion.open .mobile-menu__accordion-trigger svg { transform: rotate(180deg); }

/* Hamburger - guarantee tappable on mobile */
@media (max-width: 767px) {
	.nav__hamburger {
		display: flex !important;
		flex-direction: column !important;
		gap: 5px !important;
		padding: 10px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		align-items: center !important;
		justify-content: center !important;
		background: transparent !important;
		border: none !important;
		cursor: pointer !important;
	}
	.nav__hamburger span {
		display: block !important;
		width: 24px !important;
		height: 2px !important;
		background: var(--cobalt) !important;
		transition: transform 0.3s, opacity 0.3s !important;
	}
	.nav__cta { display: none !important; }
	.nav__links { display: none !important; }
}
.nav.nav--hero:not(.scrolled) .nav__hamburger span { background: var(--white) !important; }

/* Shop wider layout (commits 0066f01, f4b1578) */
.page--shop .container, .prod-page .container { max-width: 1847px !important; }
@media (min-width: 1280px) {
	.shop-grid-layout { grid-template-columns: 280px 1fr !important; gap: 64px !important; }
}

/* Shop listing product cards - layout dziedziczone z mockupu (.product-card linie 1093-1213).
   Mockup ma padding w __info (16/20/20). Nie dublujemy paddingu na karcie. */
.shop-main .product-card__img-wrap { aspect-ratio: 1/1; }

/* Bestsellers section CTA - subtle editorial link instead of solid button */
.products__cta { margin-top: 40px; text-align: center; }
@media (min-width: 768px) { .products__cta { margin-top: 56px; } }
.products__cta a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--cobalt);
	padding-bottom: 6px;
	border-bottom: 1px solid var(--cobalt);
	transition: color 0.25s var(--ease-out), border-color 0.25s var(--ease-out), gap 0.25s var(--ease-out);
}
.products__cta a:hover { color: var(--terracotta); border-color: var(--terracotta); gap: 14px; }
.products__cta a svg { width: 16px; height: 16px; }
.shop-main .product-card__price { font-size: 20px !important; }
.shop-main ul.products, .shop-main .products__grid {
	grid-template-columns: repeat(2, 1fr) !important;
}
@media (min-width: 768px) { .shop-main ul.products, .shop-main .products__grid { grid-template-columns: repeat(3, 1fr) !important; } }
@media (min-width: 1280px) { .shop-main ul.products, .shop-main .products__grid { grid-template-columns: repeat(3, 1fr) !important; gap: 28px !important; } }
@media (min-width: 1600px) { .shop-main ul.products, .shop-main .products__grid { grid-template-columns: repeat(4, 1fr) !important; } }

/* Force 4 cols at 1280+ on shop archive */
@media (min-width: 1280px) {
	.shop-main ul.products,
	.shop-main .products__grid {
		grid-template-columns: repeat(4, 1fr) !important;
		gap: 28px !important;
	}
}
@media (min-width: 1024px) {
	.shop-grid-layout { grid-template-columns: 240px 1fr !important; gap: 48px !important; }
}
@media (min-width: 1280px) {
	.shop-grid-layout { grid-template-columns: 260px 1fr !important; gap: 56px !important; }
}

/* WP adds .page class to body on single pages - conflicts with mockup .page { display:none }. Force visible. */
body.page,
body.page-template-default,
body.wp-singular,
body.archive,
body.home {
	display: block !important;
	opacity: 1 !important;
	transform: none !important;
	filter: none !important;
}
body { animation: none !important; }

/* Force all SVGs inside spec table to 20px (some rows use ceramika_ac_svg helper without wrapper class) */
.prod-spec__row > svg,
.prod-spec__row > span > svg,
.prod-spec svg { width: 20px !important; height: 20px !important; color: var(--terracotta) !important; flex-shrink: 0; margin-right: 10px; }

/* Deco swatches hover - keep mockup styling robust (commit 19427a9 - white bg fix on hover) */
.deco-swatch { transition: border-color 0.3s, transform 0.3s, box-shadow 0.3s !important; }
.deco-swatch:hover { transform: scale(1.08) !important; border-color: var(--terracotta) !important; box-shadow: 0 6px 16px rgba(196,101,74,0.18) !important; }
.deco-swatch img { mix-blend-mode: multiply !important; background: var(--white) !important; }

/* Trust bar - 3x kopia items + animation -33.333% = seamless loop bez gap-jumpu */
.trust-bar__track {
	animation: marquee 45s linear infinite !important;
	animation-iteration-count: infinite !important;
	animation-duration: 45s !important;
	width: max-content !important;
	will-change: transform;
}
.trust-bar:hover .trust-bar__track { animation-play-state: running !important; }
@keyframes marquee {
	0% { transform: translate3d(0, 0, 0); }
	100% { transform: translate3d(-33.3333%, 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
	.trust-bar__track {
		animation: marquee 120s linear infinite !important;
		animation-iteration-count: infinite !important;
		animation-duration: 120s !important;
	}
}

/* Product card hover polish on bestsellers home + shop */
.product-card { transition: transform 0.4s var(--ease-out), box-shadow 0.4s var(--ease-out), border-color 0.3s !important; }
.product-card:active { transform: scale(0.99); }

/* Mega menu thumb hover scale */
.mega-menu__thumb { transition: transform 0.35s, border-color 0.3s !important; }
.mega-menu__link:hover .mega-menu__thumb { transform: scale(1.1) !important; border-color: var(--terracotta) !important; }

/* Smooth focus-visible across CTAs */
.btn-primary:focus-visible, .btn-outline:focus-visible, .btn-dark:focus-visible,
.nav__cta:focus-visible, .newsletter__btn:focus-visible,
.single_add_to_cart_button:focus-visible {
	outline: 2px solid var(--terracotta) !important;
	outline-offset: 3px !important;
}

/* Icon wrapper fix: SVG inside ICON wrapper spans need explicit size constraint
   (in mockup the icon class was applied to <svg> directly; in our PHP we wrap with <span>) */
.about-value__icon svg,
.contact-item__icon svg,
.process-step svg {
	width: 100% !important;
	height: 100% !important;
	display: block !important;
}
.prod-spec__row svg,
.prod-spec__icon svg { width: 20px !important; height: 20px !important; display: inline-block !important; }
.about-value__icon { display: inline-flex; align-items: center; justify-content: center; padding: 12px; }
.contact-item__icon { width: 36px; height: 36px; flex: 0 0 36px; display: inline-flex; align-items: center; justify-content: center; color: var(--terracotta); margin-right: 12px; }
.contact-item { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; }

/* ============================================
   Shop sidebar - refined (subtle active state, cleaner hierarchy)
   ============================================ */

/* Wider boczne paddings */
.page--shop .container { padding-left: 40px !important; padding-right: 40px !important; }
@media (min-width: 768px) { .page--shop .container { padding-left: 56px !important; padding-right: 56px !important; } }
@media (min-width: 1280px) { .page--shop .container { padding-left: 72px !important; padding-right: 72px !important; } }
@media (max-width: 639px) { .page--shop .container { padding-left: 20px !important; padding-right: 20px !important; } }

/* Sidebar title - editorial, less heavy */
.cat-sidebar__title {
	font-family: var(--font-display) !important;
	font-weight: 500 !important;
	font-size: 13px !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	color: var(--terracotta) !important;
	margin: 0 0 18px !important;
	padding: 0 0 12px !important;
	border-bottom: 1px solid var(--border) !important;
	display: block !important;
}
.cat-sidebar__title--secondary { margin-top: 36px !important; }

/* Sidebar list - clean, breathable */
.cat-sidebar__list { list-style: none !important; padding: 0 !important; margin: 0 0 4px !important; }
.cat-sidebar__list li { margin: 0 !important; padding: 0 !important; list-style: none !important; border: none !important; }
.cat-sidebar__list li::before, .cat-sidebar__list li::after { display: none !important; content: none !important; }

/* Sidebar link - airy, refined, NOT cobalt block */
.cat-sidebar__link {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	padding: 9px 14px !important;
	color: var(--text) !important;
	font-family: var(--font-body) !important;
	font-size: 13.5px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	border-radius: 6px !important;
	background: transparent !important;
	transition: background 0.25s var(--ease-out), color 0.25s var(--ease-out), transform 0.3s var(--ease-out) !important;
	text-decoration: none !important;
}
.cat-sidebar__link span { flex: 1; }
.cat-sidebar__link em { font-style: normal !important; font-size: 11px !important; color: var(--text-light) !important; font-weight: 400 !important; letter-spacing: 0.3px !important; opacity: 0.7; transition: opacity 0.2s; }
.cat-sidebar__link:hover { background: rgba(196,101,74,0.06) !important; color: var(--cobalt) !important; transform: translateX(2px) !important; }
.cat-sidebar__link:hover em { opacity: 1 !important; color: var(--terracotta) !important; }

/* Active state: subtle cream-dark bg + cobalt bold + small terracotta dot */
.cat-sidebar__link.is-active {
	background: rgba(27,42,74,0.04) !important;
	color: var(--cobalt) !important;
	font-weight: 600 !important;
}
.cat-sidebar__link.is-active::before {
	content: '' !important;
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--terracotta);
	flex-shrink: 0;
}
.cat-sidebar__link.is-active em { color: var(--terracotta) !important; opacity: 1 !important; }

/* Collections sublist - decoration grid */
.cat-sidebar__list--coll .cat-sidebar__link { font-style: italic; }
.cat-sidebar__list--decor { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 2px !important; }
.cat-sidebar__list--decor .cat-sidebar__link { font-size: 12.5px !important; padding: 8px 10px !important; }

/* Sticky behavior */
@media (min-width: 1024px) {
	.cat-sidebar {
		position: sticky !important;
		top: 100px !important;
		align-self: start !important;
		max-height: calc(100vh - 120px) !important;
		overflow-y: auto !important;
		padding: 22px !important;
		background: rgba(255, 253, 249, 0.92) !important;
		border: 1px solid rgba(218, 210, 198, 0.9) !important;
		border-radius: 8px !important;
		box-shadow: 0 14px 34px rgba(27, 42, 74, 0.06) !important;
	}
	.cat-sidebar::-webkit-scrollbar { width: 4px; }
	.cat-sidebar::-webkit-scrollbar-thumb { background: var(--border); border-radius: 2px; }
}

/* Mobile: sidebar above grid with collapsible feel */
@media (max-width: 1023px) {
	.cat-sidebar { background: var(--white) !important; border: 1px solid var(--border) !important; border-radius: 8px !important; padding: 20px 18px !important; margin-bottom: 24px !important; }
}

/* Shop hero spacing - more air */
.shop-hero { padding: 40px 0 32px !important; }
.shop-hero h1 { margin-top: 8px !important; }
.shop-hero .section-ornament { margin-bottom: 14px !important; }

/* Toolbar - cleaner */
.shop-toolbar {
	padding: 14px 0 18px !important;
	margin-bottom: 28px !important;
	border-bottom: 1px solid var(--border) !important;
}
.shop-toolbar .woocommerce-result-count { color: var(--text-muted) !important; font-size: 13px !important; letter-spacing: 0.3px; }
.shop-toolbar select { padding: 9px 36px 9px 14px !important; border: 1px solid var(--border) !important; background: transparent !important; font-size: 13px !important; color: var(--text) !important; appearance: none; -webkit-appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--cobalt) 50%), linear-gradient(135deg, var(--cobalt) 50%, transparent 50%); background-position: calc(100% - 16px) 50%, calc(100% - 12px) 50%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }

/* ============================================
   Generic page (Regulamin, Polityka, WC cart/checkout/account)
   ============================================ */
.static-page__article { max-width: 920px; margin: 0 auto; }
.static-page__article p, .static-page__article li { font-size: 16px; line-height: 1.75; color: var(--text); }
.static-page__article h2 { font-family: var(--font-display); font-weight: 500; font-size: clamp(24px, 3vw, 32px); color: var(--cobalt); margin: 40px 0 16px; }
.static-page__article h3 { font-family: var(--font-display); font-weight: 500; font-size: 20px; color: var(--cobalt); margin: 28px 0 12px; }
.static-page__article ul, .static-page__article ol { padding-left: 24px; margin: 12px 0 20px; }
.static-page__article li { margin-bottom: 6px; }
.static-page__article a { color: var(--terracotta); text-decoration: underline; text-underline-offset: 3px; }
.static-page__article a:hover { color: var(--cobalt); }
.static-page__article hr { border: none; height: 1px; background: var(--border); margin: 36px 0; }

.static-page__hero--compact { padding: 20px 0 28px !important; border-bottom: 1px solid var(--border) !important; }
.static-page--wc { padding-top: 110px !important; }

/* ============================================
   WooCommerce pages polish (cart, checkout, my-account)
   ============================================ */

/* CART table */
.woocommerce-cart-form table.shop_table,
.woocommerce-checkout .shop_table,
.cart-collaterals .shop_table {
	width: 100% !important;
	border: 1px solid var(--border) !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	background: var(--white) !important;
	border-radius: 4px !important;
	overflow: hidden;
	margin-bottom: 32px !important;
}
.shop_table thead { background: var(--cobalt) !important; }
.shop_table thead th {
	color: var(--white) !important;
	font-family: var(--font-body) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	padding: 16px 20px !important;
	border: none !important;
}
.shop_table tbody tr { border-bottom: 1px solid var(--border) !important; }
.shop_table tbody tr:last-child { border-bottom: none !important; }
.shop_table tbody td { padding: 20px !important; vertical-align: middle !important; border: none !important; background: transparent !important; }
.shop_table .product-thumbnail img { max-width: 80px !important; height: auto !important; border: 1px solid var(--border); }
.shop_table .product-name a { color: var(--cobalt) !important; font-weight: 500 !important; text-decoration: none !important; }
.shop_table .product-name a:hover { color: var(--terracotta) !important; }
.shop_table .product-price, .shop_table .product-subtotal, .shop_table td.product-total { font-family: var(--font-display) !important; font-weight: 500 !important; color: var(--cobalt) !important; }
.shop_table .quantity .qty { width: 60px !important; padding: 8px !important; border: 1px solid var(--border) !important; text-align: center !important; }
.shop_table .product-remove a.remove {
	width: 30px !important; height: 30px !important;
	color: var(--text-muted) !important;
	background: transparent !important;
	border: 1px solid var(--border) !important;
	border-radius: 50% !important;
	font-size: 14px !important;
	line-height: 28px !important;
	text-align: center !important;
	display: inline-flex !important;
	align-items: center; justify-content: center;
	transition: all 0.2s !important;
}
.shop_table .product-remove a.remove:hover { color: var(--white) !important; background: var(--terracotta) !important; border-color: var(--terracotta) !important; }

/* WooCommerce buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce-page button.button,
.woocommerce-page input.button {
	background: var(--cobalt) !important;
	color: var(--white) !important;
	font-family: var(--font-body) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	padding: 14px 28px !important;
	border: none !important;
	border-radius: 0 !important;
	transition: background 0.3s, transform 0.2s !important;
	cursor: pointer;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--cobalt-light) !important; transform: translateY(-1px); }
.woocommerce button.button.alt, .woocommerce a.button.alt, .woocommerce input.button.alt, .woocommerce .button.alt { background: var(--terracotta) !important; }
.woocommerce button.button.alt:hover, .woocommerce .button.alt:hover { background: var(--terracotta-light) !important; }

/* Coupon / checkout button alignment */
.coupon { display: flex; gap: 8px; align-items: center; }
.coupon input.input-text { padding: 12px 16px !important; border: 1px solid var(--border) !important; }
.actions { display: flex; justify-content: space-between; align-items: center; padding: 16px 0; flex-wrap: wrap; gap: 12px; }

/* Cart totals */
/* Stare reguły cart_totals usunięte - prawdziwe w linii 5258+ */
.wc-proceed-to-checkout { margin-top: 24px; }
.wc-proceed-to-checkout .checkout-button { width: 100% !important; }

/* CHECKOUT */
.woocommerce-checkout .col2-set, .woocommerce-checkout .col-2 { display: block !important; }
.woocommerce-checkout #customer_details { margin-bottom: 40px; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: 100%; }
@media (min-width: 768px) {
	.woocommerce-checkout #customer_details { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
}
.woocommerce-checkout h3 { font-family: var(--font-display); font-weight: 500; color: var(--cobalt); margin: 0 0 20px; font-size: 22px; }
.woocommerce-checkout .form-row { margin-bottom: 16px; }
.woocommerce-checkout .form-row label { display: block; margin-bottom: 6px; font-size: 13px; color: var(--text-muted); font-weight: 500; }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row .select2-selection {
	width: 100% !important;
	padding: 12px 14px !important;
	border: 1px solid var(--border) !important;
	border-radius: 0 !important;
	background: var(--white) !important;
	font-family: var(--font-body) !important;
	font-size: 14px !important;
	color: var(--text) !important;
	box-shadow: none !important;
}
.woocommerce-checkout .form-row input:focus, .woocommerce-checkout .form-row textarea:focus, .woocommerce-checkout .form-row select:focus { outline: 2px solid var(--terracotta) !important; outline-offset: -2px; }
.woocommerce-checkout-review-order { background: var(--cream-dark); padding: 28px; }
.woocommerce-checkout-review-order h3 { margin-top: 0 !important; }
#payment { background: var(--white) !important; padding: 24px; border: 1px solid var(--border); }
#payment ul.payment_methods { list-style: none; padding: 0; margin: 0; border: none !important; }
#payment ul.payment_methods li { padding: 12px 0; border-bottom: 1px solid var(--border); }
#payment ul.payment_methods li:last-child { border-bottom: none; }
#payment .payment_box { background: var(--cream); padding: 16px; margin-top: 12px; font-size: 13px; color: var(--text-muted); }

/* MY ACCOUNT */
.woocommerce-MyAccount-navigation { background: var(--white); border: 1px solid var(--border); padding: 20px; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid var(--border); }
.woocommerce-MyAccount-navigation li:last-child { border-bottom: none; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 12px 14px; color: var(--text); font-size: 14px; text-decoration: none; transition: all 0.2s; }
.woocommerce-MyAccount-navigation li a:hover { background: rgba(196,101,74,0.05); color: var(--terracotta); }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li.is-active > a { background: rgba(27,42,74,0.04); color: var(--cobalt); font-weight: 600; }
.woocommerce-MyAccount-content { padding: 0 0 0 32px; }
@media (max-width: 767px) { .woocommerce-MyAccount-content { padding: 24px 0 0 0; } }

/* Login/register forms */
.woocommerce-form-login, .woocommerce-form-register { background: var(--white); padding: 32px; border: 1px solid var(--border); max-width: 480px; margin: 0 auto; }
.woocommerce-form__label-for-checkbox { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.woocommerce-form-login__rememberme, .woocommerce-form-register__rememberme { margin: 12px 0; }
.woocommerce-form-row label { display: block; margin-bottom: 6px; font-size: 13px; color: var(--text-muted); }
.woocommerce-form-row input.input-text { width: 100% !important; padding: 12px 14px !important; border: 1px solid var(--border) !important; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	padding: 14px 18px !important;
	border-radius: 0 !important;
	border-left: none !important;
	margin-bottom: 24px !important;
	font-size: 14px !important;
}
.woocommerce-message { background: rgba(184,150,78,0.1) !important; color: var(--cobalt) !important; border: 1px solid var(--gold-light) !important; }
.woocommerce-info { background: rgba(27,42,74,0.04) !important; color: var(--cobalt) !important; border: 1px solid rgba(27,42,74,0.12) !important; }
.woocommerce-error { background: rgba(196,101,74,0.08) !important; color: var(--terracotta) !important; border: 1px solid var(--terracotta) !important; list-style: none; }
.woocommerce-message a.button.wc-forward { background: var(--terracotta) !important; }

/* Cart empty state */
.cart-empty { font-size: 18px; color: var(--text-muted); text-align: center; padding: 40px 0; }
.return-to-shop { text-align: center; padding-top: 8px; }

/* Order received page (thank you) */
.woocommerce-order ul.order_details { list-style: none; padding: 0; margin: 0 0 32px; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 24px; background: var(--cream-dark); padding: 24px; }
.woocommerce-order ul.order_details li { font-size: 12px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 1px; }
.woocommerce-order ul.order_details li strong { display: block; font-family: var(--font-display); color: var(--cobalt); font-size: 18px; text-transform: none; letter-spacing: 0; font-weight: 500; margin-top: 4px; }

/* Hide Zakra Example Widget sidebar leftover on all pages */
/* NOTE: `:contains()` is invalid CSS (was breaking whole selector list). Use server-side widget removal or extra body class for "Example Widget" specific hide. */
.zak-sidebar, #secondary { display: none !important; }
.zak-content-area { width: 100% !important; flex: 1 1 100% !important; }
#primary { width: 100% !important; }

/* WP post_class adds .page to <article> - mockup .page { display:none } breaks it. Force visible. */
article.page,
article.post,
.static-page__article,
.static-page__article.page { display: block !important; opacity: 1 !important; transform: none !important; filter: none !important; }
.static-page article { display: block !important; opacity: 1 !important; }
.static-page__article * { opacity: 1 !important; }

/* WC Cart/Checkout Blocks (React) - polish */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { display: block !important; opacity: 1 !important; }
.wc-block-cart, .wc-block-checkout, .wc-block-components-product-name { font-family: var(--font-body) !important; }
.wc-block-cart__main { padding: 0 !important; }
/* Generic contained button (cart submit, etc) - place-order-button ma specific block ~linia 5040 */
.wc-block-components-button.contained {
	background: var(--terracotta) !important;
	color: var(--white) !important;
	border-radius: 0 !important;
	padding: 14px 28px !important;
	font-family: var(--font-body) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 1.2px !important;
	text-transform: uppercase !important;
}
.wc-block-components-button.outlined {
	background: transparent !important;
	color: var(--cobalt) !important;
	border: 1px solid var(--cobalt) !important;
}
.wc-block-cart__totals-title, .wc-block-checkout__sidebar h2, .wc-block-components-totals-item__label {
	font-family: var(--font-display) !important;
	color: var(--cobalt) !important;
}
.wc-block-components-product-price, .wc-block-formatted-money-amount, .wc-block-components-totals-item__value {
	font-family: var(--font-display) !important;
	font-weight: 500 !important;
	color: var(--cobalt) !important;
}
.wc-block-cart-items__row { border-bottom: 1px solid var(--border) !important; padding: 16px 0 !important; }
.wc-block-cart-item__image img { border: 1px solid var(--border) !important; }
.wc-block-components-form-row input, .wc-block-components-text-input input { border: 1px solid var(--border) !important; border-radius: 0 !important; padding: 12px 14px !important; font-family: var(--font-body) !important; }

/* ============================================
   CHECKOUT (WC Blocks) - 1:1 z cart style
   ============================================ */
/* Force full-width na wszystkich Zakra container constraints */
html body.woocommerce-checkout main,
html body.woocommerce-checkout #primary,
html body.woocommerce-checkout #content,
html body.woocommerce-checkout .entry-content,
html body.woocommerce-checkout .site-content,
html body.woocommerce-checkout article.page,
html body.woocommerce-checkout .zak-container,
html body.woocommerce-checkout [class*="zak-content-area"],
html body.woocommerce-checkout [class*="zak-secondary"],
html body.woocommerce-checkout .content-area,
html body.woocommerce-checkout .site-main {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.wp-block-woocommerce-checkout,
.wc-block-components-sidebar-layout.wc-block-checkout {
	display: flex !important;
	flex-direction: column !important;
	gap: 40px !important;
	max-width: 1400px !important;
	margin: 0 auto !important;
	padding: 32px 24px 80px !important;
	box-sizing: border-box !important;
}
@media (min-width: 1024px) {
	.wp-block-woocommerce-checkout,
	.wc-block-components-sidebar-layout.wc-block-checkout {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		gap: 56px !important;
		align-items: flex-start !important;
	}
}
/* scroll-point helper - hidden, nie zajmuje miejsca */
.wc-block-components-sidebar-layout > .with-scroll-to-top__scroll-point {
	flex: 0 0 0 !important;
	width: 0 !important;
	overflow: hidden !important;
}
/* Main column - większa, sidebar mniejsza */
.wc-block-components-sidebar-layout > .wc-block-checkout__main,
.wc-block-components-sidebar-layout > .wc-block-components-main {
	flex: 1 1 0 !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: none !important;
}
.wc-block-components-sidebar-layout > .wc-block-components-sidebar,
.wc-block-components-sidebar-layout > .wc-block-checkout__sidebar {
	flex: 0 0 420px !important;
	width: 420px !important;
	max-width: 420px !important;
	min-width: 380px !important;
}

/* Left column: form sections */
.wc-block-checkout__main {
	padding: 0 !important;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: 12px;
	padding: 24px 36px 32px !important;
	box-shadow: 0 4px 24px -8px rgba(27, 42, 74, 0.08);
}
@media (max-width: 767px) {
	.wc-block-checkout__main { padding: 18px 22px 24px !important; }
}

/* Section headings: Dane kontaktowe / Adres do wysyłki / Płatność */
.wc-block-components-checkout-step__title,
.wc-block-components-title,
.wp-block-woocommerce-checkout-contact-information-block h2,
.wp-block-woocommerce-checkout-shipping-address-block h2 {
	font-family: var(--font-display) !important;
	font-size: 22px !important;
	font-weight: 500 !important;
	color: var(--cobalt) !important;
	margin: 0 0 6px !important;
	letter-spacing: -0.2px !important;
}
.wc-block-components-checkout-step::before,
.wc-block-components-checkout-step__heading::before {
	display: none !important;
}
.wc-block-components-checkout-step {
	padding: 24px 0 !important;
	border-bottom: 1px solid var(--border) !important;
}
.wc-block-components-checkout-step:last-of-type { border-bottom: 0 !important; }
.wc-block-components-checkout-step:first-of-type { padding-top: 0 !important; }
.wc-block-components-checkout-step__heading {
	margin-bottom: 18px !important;
	padding-left: 0 !important;
}

/* Form inputs - white bg + border + radius (mockup style) */
.wc-block-components-text-input input,
.wc-block-components-form-row input,
.wc-block-components-select select,
.wp-block-woocommerce-checkout input,
.wp-block-woocommerce-checkout select,
.wp-block-woocommerce-checkout textarea {
	background: var(--white) !important;
	border: 1px solid var(--border) !important;
	border-radius: 8px !important;
	padding: 14px 16px !important;
	font-family: var(--font-body) !important;
	font-size: 14px !important;
	color: var(--text) !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
	height: auto !important;
	min-height: 48px !important;
	box-sizing: border-box !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-form-row input:focus,
.wc-block-components-select select:focus {
	border-color: var(--terracotta) !important;
	box-shadow: 0 0 0 3px rgba(196, 101, 74, 0.12) !important;
	outline: none !important;
}
.wc-block-components-text-input label,
.wc-block-components-form-row label {
	font-family: var(--font-body) !important;
	font-size: 12px !important;
	letter-spacing: 0.6px !important;
	text-transform: uppercase !important;
	font-weight: 600 !important;
	color: var(--text-muted) !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input--filled label {
	color: var(--terracotta) !important;
}

/* Right column: order summary */
.wc-block-components-sidebar.wc-block-checkout__sidebar {
	background: var(--white) !important;
	border: 1px solid var(--border) !important;
	border-radius: 12px !important;
	padding: 32px 36px !important;
	box-shadow: 0 8px 32px -12px rgba(27, 42, 74, 0.1) !important;
	box-sizing: border-box !important;
}
/* Usuń podwójny padding na inner order-summary-block */
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-checkout-order-summary {
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}
@media (min-width: 1024px) {
	.wc-block-components-sidebar.wc-block-checkout__sidebar {
		position: sticky !important;
		top: 100px !important;
		align-self: flex-start !important;
	}
}
@media (max-width: 767px) {
	.wc-block-components-sidebar.wc-block-checkout__sidebar { padding: 24px 22px !important; }
}

/* Order summary heading */
.wc-block-components-checkout-order-summary__title,
.wp-block-woocommerce-checkout-order-summary-heading-block,
.wc-block-checkout-order-summary-heading-block {
	font-family: var(--font-display) !important;
	font-size: 22px !important;
	font-weight: 500 !important;
	color: var(--cobalt) !important;
	margin: 0 0 18px !important;
	padding: 0 0 14px !important;
	border-bottom: 1px solid var(--border) !important;
	letter-spacing: -0.2px !important;
}

/* Product card w summary - clean version w bloku 7825+ (v3.0.3) zastępuje stary grid layout */

/* Totals w sidebar */
.wc-block-components-totals-wrapper {
	padding: 14px 0 !important;
	border-top: 1px dashed rgba(232, 227, 219, 0.7) !important;
	border-bottom: 0 !important;
}
.wc-block-components-totals-item {
	display: flex !important;
	justify-content: space-between !important;
	padding: 8px 0 !important;
	font-size: 13px !important;
}
.wc-block-components-totals-item__label {
	color: var(--text-muted) !important;
	font-size: 12px !important;
	letter-spacing: 0.6px !important;
	text-transform: uppercase !important;
	font-weight: 600 !important;
}
.wc-block-components-totals-item__value {
	color: var(--cobalt) !important;
	font-weight: 600 !important;
	font-size: 15px !important;
}
.wc-block-components-totals-footer-item {
	padding: 22px 0 8px !important;
	border-top: 2px solid var(--cobalt) !important;
	border-bottom: 0 !important;
	margin-top: 12px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-family: var(--font-display) !important;
	font-size: 18px !important;
	color: var(--cobalt) !important;
	font-weight: 500 !important;
	text-transform: none !important;
	letter-spacing: -0.2px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--font-display) !important;
	font-size: 28px !important;
	color: var(--terracotta) !important;
	font-weight: 600 !important;
}

/* CTA "Złóż zamówienie" - terracotta */
.wc-block-components-checkout-place-order-button {
	background: var(--terracotta) !important;
	color: var(--white) !important;
	border: 0 !important;
	border-radius: 8px !important;
	padding: 18px 24px !important;
	font-family: var(--font-body) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 1.4px !important;
	text-transform: uppercase !important;
	width: 100% !important;
	box-shadow: 0 10px 28px -8px rgba(196, 101, 74, 0.45) !important;
	transition: background 0.3s, transform 0.2s !important;
	margin-top: 16px !important;
}
.wc-block-components-checkout-place-order-button:hover {
	background: #B05540 !important;
	transform: translateY(-2px) !important;
}

/* Coupon dropdown */
.wp-block-woocommerce-checkout-order-summary-coupon-form-block,
.wc-block-components-totals-coupon {
	padding: 14px 0 !important;
	border-bottom: 1px dashed rgba(232, 227, 219, 0.7) !important;
}
.wc-block-components-totals-coupon-link,
.wc-block-components-button.wc-block-components-totals-coupon__button {
	color: var(--terracotta) !important;
	font-weight: 600 !important;
	font-size: 13px !important;
}

/* Shipping options w checkout - radio kafelki */
.wc-block-components-shipping-rates-control__package { margin-bottom: 0 !important; }
.wc-block-components-radio-control__option {
	padding: 18px 20px 18px 56px !important;
	border: 1px solid var(--border) !important;
	border-radius: 10px !important;
	background: rgba(250, 246, 240, 0.6) !important;
	margin-bottom: 10px !important;
	position: relative !important;
	cursor: pointer !important;
	display: block !important;
	transition: border-color 0.25s, background 0.25s !important;
}
.wc-block-components-radio-control__option:hover {
	border-color: var(--terracotta) !important;
	background: rgba(196, 101, 74, 0.04) !important;
}
.wc-block-components-radio-control__option--checked-content,
.wc-block-components-radio-control__option--checked-option-highlighted,
.wc-block-components-radio-control__option:has(input:checked) {
	border-color: var(--terracotta) !important;
	background: rgba(196, 101, 74, 0.08) !important;
	box-shadow: 0 0 0 1px var(--terracotta) inset !important;
}
/* Radio circle - left position, custom */
.wc-block-components-radio-control__input {
	position: absolute !important;
	left: 18px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	accent-color: var(--terracotta) !important;
}

/* Option-layout: tekst label po lewej, logo + cena po prawej */
.wc-block-components-radio-control__option-layout {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	width: 100% !important;
}
.wc-block-components-radio-control__label-group {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	width: 100% !important;
	flex-wrap: wrap !important;
}
.wc-block-components-radio-control__label {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--cobalt) !important;
	line-height: 1.4 !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}
.wc-block-components-radio-control__secondary-label {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--terracotta) !important;
	white-space: nowrap !important;
	flex: 0 0 auto !important;
	margin-left: auto !important;
}

/* Logo InPost - po prawej obok ceny, mniejsze, NIE zasłania tekstu */
.inpost_pl-block-shipping-method-meta-wrap {
	display: inline-flex !important;
	align-items: center !important;
	margin-left: auto !important;
	order: 99 !important;
}
.inpost_pl_method_logo,
.inpost_pl_block_shipping_meta {
	display: inline-flex !important;
	align-items: center !important;
	position: static !important;
	margin: 0 0 0 8px !important;
}
.inpost_pl_method_logo img,
.inpost_icon {
	height: 24px !important;
	width: auto !important;
	max-height: 24px !important;
	display: block !important;
	margin: 0 !important;
	position: static !important;
	border-radius: 4px;
}

/* "Wybierz punkt odbioru" button - terracotta CTA */
.inpost-paczkomaty-action-button,
.inpost-action-button,
button.inpost-pickup-point-trigger,
.wc-block-components-shipping-rates-control__package button,
button[class*="inpost"][class*="trigger"],
button[class*="paczkomat"][class*="select"] {
	background: var(--terracotta) !important;
	color: var(--white) !important;
	border: 0 !important;
	border-radius: 8px !important;
	padding: 12px 24px !important;
	font-family: var(--font-body) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 1.2px !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	margin-top: 16px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: background 0.25s, transform 0.2s !important;
}
.inpost-paczkomaty-action-button:hover,
.inpost-action-button:hover,
button.inpost-pickup-point-trigger:hover {
	background: #B05540 !important;
	transform: translateY(-1px) !important;
}

/* ============================================
   KOSZYK / CHECKOUT - usuwamy legacy shop_table + skeleton WC Blocks
   (skille: impeccable + design-taste-frontend - eliminacja duplikatów)
   ============================================ */
.wp-block-woocommerce-cart.is-loading,
.wp-block-woocommerce-checkout.is-loading {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	overflow: hidden !important;
}
/* ============================================
   LEGACY WC CART - editorial 2-col layout (cart left + summary right)
   ============================================ */
/* Force full-width container - Zakra zwęża do ~920px, my chcemy 1400px */
.woocommerce-cart main,
.woocommerce-cart #primary,
.woocommerce-cart #content,
.woocommerce-cart .entry-content,
.woocommerce-cart .zak-container,
.woocommerce-cart .site-content,
.woocommerce-cart article.page {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.woocommerce-cart .woocommerce {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 32px !important;
	max-width: 1400px !important;
	margin: 0 auto !important;
	padding: 32px 24px 80px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}
@media (min-width: 1024px) {
	.woocommerce-cart .woocommerce {
		grid-template-columns: minmax(0, 1.6fr) minmax(420px, 1fr) !important;
		gap: 48px !important;
	}
	.woocommerce-cart .cart-collaterals {
		grid-column: 2 !important;
		grid-row: 1 / span 2 !important;
	}
	.woocommerce-cart form.woocommerce-cart-form { grid-column: 1 !important; }
}

/* Cart items - editorial card list (transformacja table na flex via CSS) */
.woocommerce-cart form.woocommerce-cart-form {
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: 12px;
	padding: 16px 32px 32px;
	box-shadow: 0 4px 24px -8px rgba(27, 42, 74, 0.08);
}
@media (max-width: 767px) {
	.woocommerce-cart form.woocommerce-cart-form { padding: 12px 18px 24px; }
}
table.shop_table.woocommerce-cart-form__contents,
table.shop_table.woocommerce-cart-form__contents tbody,
table.shop_table.woocommerce-cart-form__contents thead,
table.shop_table.woocommerce-cart-form__contents tfoot {
	display: block !important;
	width: 100% !important;
	background: transparent !important;
	border: 0 !important;
}
/* Hide table header - karty mają labels w środku */
table.shop_table.woocommerce-cart-form__contents thead { display: none !important; }
/* Each <tr> = horizontal card */
table.shop_table.woocommerce-cart-form__contents tbody tr.cart_item {
	display: grid !important;
	grid-template-columns: 28px 110px minmax(0, 1fr) 100px 140px 110px !important;
	gap: 20px !important;
	align-items: center !important;
	padding: 22px 8px !important;
	border-bottom: 1px solid rgba(232, 227, 219, 0.7) !important;
	background: transparent !important;
	transition: background 0.25s var(--ease-out);
}
table.shop_table.woocommerce-cart-form__contents tbody tr.cart_item:last-child { border-bottom: 0 !important; }
table.shop_table.woocommerce-cart-form__contents tbody tr.cart_item:hover { background: rgba(196, 101, 74, 0.025) !important; }
table.shop_table.woocommerce-cart-form__contents tbody tr.cart_item td {
	display: flex !important;
	align-items: center !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	vertical-align: middle !important;
	min-width: 0 !important;
}
/* Order in grid: remove → thumb → name → price → qty → subtotal */
.woocommerce-cart-form__contents td.product-remove { order: 1; justify-content: center !important; }
.woocommerce-cart-form__contents td.product-thumbnail { order: 2; }
.woocommerce-cart-form__contents td.product-name { order: 3; }
.woocommerce-cart-form__contents td.product-price { order: 4; justify-content: flex-end !important; }
.woocommerce-cart-form__contents td.product-quantity { order: 5; justify-content: center !important; }
.woocommerce-cart-form__contents td.product-subtotal { order: 6; justify-content: flex-end !important; }

/* Cell - actions (coupon + update) jako pełna szerokość */
table.shop_table.woocommerce-cart-form__contents tbody tr:has(td.actions) {
	display: block !important;
	padding: 0 !important;
	background: transparent !important;
	border-bottom: 0 !important;
}
table.shop_table.woocommerce-cart-form__contents tbody td.actions {
	display: block !important;
	margin: 20px 0 0 !important;
	background: transparent !important;
	padding: 20px 0 0 !important;
	border-top: 1px solid var(--border) !important;
	border-radius: 0 !important;
	width: 100% !important;
}
/* Hover na row produktu - wyłączony bo psuje look */
table.shop_table.woocommerce-cart-form__contents tbody tr.cart_item:hover {
	background: transparent !important;
}

/* Mini-image */
table.shop_table.woocommerce-cart-form__contents .product-thumbnail img {
	width: 88px !important;
	height: 88px !important;
	border-radius: 8px;
	background: var(--cream-dark);
	object-fit: contain;
	padding: 6px;
	mix-blend-mode: multiply;
	border: 1px solid var(--border);
	display: block;
}

/* Labels jako pseudo-content przed wartością (CENA: 95,99 zł, ILOŚĆ: -1+, KWOTA: 95,99 zł) */
@media (max-width: 767px) {
	table.shop_table.woocommerce-cart-form__contents tbody tr.cart_item {
		grid-template-columns: auto 1fr !important;
		gap: 8px 16px !important;
	}
	.woocommerce-cart-form__contents td.product-thumbnail { grid-row: span 4; order: 1; }
	.woocommerce-cart-form__contents td.product-remove { order: 0; grid-column: 2; justify-content: flex-end !important; }
	.woocommerce-cart-form__contents td.product-name { order: 2; grid-column: 2; }
	.woocommerce-cart-form__contents td.product-price { order: 3; grid-column: 2; justify-content: flex-start !important; }
	.woocommerce-cart-form__contents td.product-price::before { content: 'Cena: '; color: var(--text-muted); margin-right: 6px; font-size: 12px; }
	.woocommerce-cart-form__contents td.product-quantity { order: 4; grid-column: 2; justify-content: flex-start !important; }
	.woocommerce-cart-form__contents td.product-subtotal { order: 5; grid-column: 2; justify-content: flex-start !important; }
	.woocommerce-cart-form__contents td.product-subtotal::before { content: 'Razem: '; color: var(--text-muted); margin-right: 6px; font-size: 12px; }
}
table.shop_table .product-name a {
	font-family: var(--font-display) !important;
	font-size: 17px !important;
	color: var(--cobalt) !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	letter-spacing: -0.1px;
}
table.shop_table .product-name a:hover { color: var(--terracotta) !important; }
/* Cena unit - subtelnie szare (info pomocnicze) */
table.shop_table .product-price .amount {
	font-family: var(--font-body) !important;
	color: var(--text-muted) !important;
	font-weight: 500 !important;
	font-size: 14px !important;
}
/* Subtotal (kwota) - terracotta bold (najważniejsze) */
table.shop_table .product-subtotal .amount {
	font-family: var(--font-display) !important;
	color: var(--terracotta) !important;
	font-weight: 600 !important;
	font-size: 18px !important;
}
/* Cell widths */
table.shop_table.woocommerce-cart-form__contents { table-layout: auto !important; }
table.shop_table.woocommerce-cart-form__contents td.product-quantity {
	width: 150px !important;
	min-width: 150px !important;
	text-align: center !important;
}
table.shop_table.woocommerce-cart-form__contents td.product-name {
	width: auto !important;
	min-width: 220px !important;
	padding-left: 12px !important;
}
table.shop_table.woocommerce-cart-form__contents td.product-price,
table.shop_table.woocommerce-cart-form__contents td.product-subtotal,
table.shop_table.woocommerce-cart-form__contents th.product-price,
table.shop_table.woocommerce-cart-form__contents th.product-subtotal {
	white-space: nowrap !important;
	width: 100px !important;
	text-align: right !important;
	padding-right: 12px !important;
}
table.shop_table.woocommerce-cart-form__contents th.product-quantity { text-align: center !important; }
table.shop_table.woocommerce-cart-form__contents td.product-thumbnail { width: 110px !important; padding: 18px 8px !important; }
table.shop_table.woocommerce-cart-form__contents td.product-thumbnail img { width: 88px !important; height: 88px !important; }
table.shop_table.woocommerce-cart-form__contents td.product-remove { width: 40px !important; padding-left: 4px !important; }

/* Ukryj WC notice "produkt dodany do koszyka" + "nie możesz dodać" na cart page.
   User już jest na cart - informacja zbędna, rozjeżdża layout u góry. */
.woocommerce-cart .woocommerce-notices-wrapper:has(.woocommerce-message),
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-info { display: none !important; }

/* Cel jednak ostylowane gdyby pojawiły się przy ajax (np "zaktualizowano koszyk") */
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message[role="alert"]:not([hidden]) {
	display: block !important;
	background: rgba(196, 101, 74, 0.06) !important;
	border: 1px solid rgba(196, 101, 74, 0.2) !important;
	border-radius: 8px !important;
	padding: 14px 18px !important;
	color: var(--cobalt) !important;
	font-size: 13px !important;
	list-style: none !important;
	margin-bottom: 18px !important;
}
.woocommerce-cart .woocommerce-message a.button {
	background: var(--cobalt) !important;
	color: var(--white) !important;
	padding: 8px 14px !important;
	border-radius: 6px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 1.2px !important;
	text-transform: uppercase !important;
	margin-left: 8px !important;
	text-decoration: none !important;
}

/* Qty selector w cart */
table.shop_table .quantity {
	display: inline-flex !important;
	align-items: center !important;
	border: 1px solid var(--border) !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	background: var(--white) !important;
	height: 44px !important;
	width: 128px !important;
	min-width: 128px !important;
}
/* Qty buttons - tekst ukryty, ikony rysowane CSS shape (zawsze widoczne, bez font issue) */
table.shop_table .quantity .zak-qty-controller,
table.shop_table .quantity button {
	width: 38px !important;
	height: 44px !important;
	background: transparent !important;
	border: 0 !important;
	color: var(--cobalt) !important;
	font-size: 0 !important;
	cursor: pointer !important;
	padding: 0 !important;
	line-height: 1 !important;
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}
/* Minus: pozioma linia */
table.shop_table .quantity .zak-qty-minus::before {
	content: '' !important;
	display: block !important;
	width: 14px !important;
	height: 2px !important;
	background: var(--cobalt) !important;
	border-radius: 1px !important;
	transition: background 0.2s !important;
}
/* Plus: pozioma + pionowa linia */
table.shop_table .quantity .zak-qty-plus::before {
	content: '' !important;
	display: block !important;
	width: 14px !important;
	height: 2px !important;
	background: var(--cobalt) !important;
	border-radius: 1px !important;
	transition: background 0.2s !important;
}
table.shop_table .quantity .zak-qty-plus::after {
	content: '' !important;
	display: block !important;
	width: 2px !important;
	height: 14px !important;
	background: var(--cobalt) !important;
	border-radius: 1px !important;
	position: absolute !important;
	left: 50% !important;
	top: 50% !important;
	transform: translate(-50%, -50%) !important;
	transition: background 0.2s !important;
}
table.shop_table .quantity .zak-qty-controller:hover,
table.shop_table .quantity button:hover {
	background: var(--cream-dark) !important;
}
table.shop_table .quantity .zak-qty-controller:hover::before,
table.shop_table .quantity .zak-qty-controller:hover::after { background: var(--terracotta) !important; }
table.shop_table .quantity input.qty {
	width: 44px !important;
	height: 44px !important;
	padding: 0 !important;
	border: 0 !important;
	border-left: 1px solid var(--border) !important;
	border-right: 1px solid var(--border) !important;
	background: transparent !important;
	font-family: var(--font-body) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: var(--cobalt) !important;
	text-align: center !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	-moz-appearance: textfield !important;
}
table.shop_table .quantity input.qty::-webkit-outer-spin-button,
table.shop_table .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
/* Product remove (X) */
table.shop_table .product-remove a.remove {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	font-size: 16px !important;
	color: var(--text-muted) !important;
	background: transparent !important;
	border-radius: 50% !important;
	transition: background 0.2s, color 0.2s !important;
	text-decoration: none !important;
}
table.shop_table .product-remove a.remove:hover {
	background: rgba(196, 101, 74, 0.12) !important;
	color: var(--terracotta) !important;
}

/* Coupon row + actions - kupon left, update right (mockup style) */
table.shop_table .actions { background: transparent !important; padding: 0 !important; margin-top: 0 !important; }
table.shop_table .coupon {
	display: flex !important;
	gap: 12px !important;
	align-items: stretch !important;
	flex-wrap: wrap;
	margin-bottom: 14px;
}
table.shop_table .coupon input.input-text {
	flex: 1 1 220px;
	min-width: 0 !important;
	padding: 14px 16px !important;
	border: 1px solid var(--border) !important;
	border-radius: 8px !important;
	font-family: var(--font-body) !important;
	font-size: 13px !important;
	background: var(--white) !important;
	height: auto !important;
}
table.shop_table .coupon button,
table.shop_table .actions > button {
	padding: 12px 22px !important;
	background: var(--cobalt) !important;
	color: var(--white) !important;
	border: 0 !important;
	border-radius: 6px !important;
	font-family: var(--font-body) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 1.3px !important;
	text-transform: uppercase !important;
	cursor: pointer;
}
table.shop_table .coupon button:hover,
table.shop_table .actions > button:hover { background: var(--cobalt-light) !important; }
table.shop_table .actions > button[name="update_cart"] {
	background: transparent !important;
	color: var(--cobalt) !important;
	border: 1px solid var(--cobalt) !important;
}

/* Cart collaterals - summary box jak na nowoczesnych e-commerce (Allegro / Empik) */
.woocommerce-cart .cart-collaterals { width: 100% !important; }
.woocommerce-cart .cart-collaterals .cart_totals {
	background: var(--white) !important;
	border: 1px solid var(--border) !important;
	border-radius: 12px !important;
	padding: 44px 48px 40px !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	box-sizing: border-box !important;
	box-shadow: 0 8px 32px -12px rgba(27, 42, 74, 0.1) !important;
}
@media (max-width: 767px) {
	.woocommerce-cart .cart-collaterals .cart_totals { padding: 28px 24px !important; }
}
@media (min-width: 1024px) {
	.woocommerce-cart .cart-collaterals .cart_totals {
		position: sticky;
		top: 100px;
	}
}
/* Header "Podsumowanie koszyka" */
.cart_totals > h2 {
	font-family: var(--font-display) !important;
	font-size: 24px !important;
	font-weight: 500 !important;
	color: var(--cobalt) !important;
	margin: 0 0 4px !important;
	padding: 0 !important;
	border: 0 !important;
	letter-spacing: -0.2px !important;
}
/* Eyebrow pod h2 */
.cart_totals > h2::after {
	content: 'Sprawdź szczegóły zamówienia';
	display: block;
	font-family: var(--font-body);
	font-size: 12px;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--terracotta);
	margin-top: 6px;
	margin-bottom: 22px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--border);
}
.cart_totals table {
	width: 100% !important;
	background: transparent !important;
	border-collapse: collapse !important;
	display: block !important;
}
.cart_totals table tbody {
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
	width: 100% !important;
}
.cart_totals table tr {
	display: flex !important;
	justify-content: space-between !important;
	align-items: flex-start !important;
	flex-wrap: wrap !important;
	border-bottom: 1px dashed rgba(232, 227, 219, 0.8) !important;
	padding: 22px 8px !important;
	background: transparent !important;
	gap: 12px !important;
}
.cart_totals table tr:last-child { border-bottom: 0 !important; }
.cart_totals table th,
.cart_totals table td {
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	color: var(--text) !important;
	font-size: 13px !important;
	font-family: var(--font-body) !important;
	line-height: 1.5 !important;
	display: block !important;
	width: auto !important;
}
.cart_totals table th {
	font-weight: 600 !important;
	color: var(--text-muted) !important;
	letter-spacing: 0.6px !important;
	text-transform: uppercase !important;
	font-size: 11px !important;
	flex: 0 0 auto !important;
	padding-top: 4px !important;
}
.cart_totals table td {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	text-align: right !important;
	font-weight: 600 !important;
	color: var(--cobalt) !important;
	font-size: 15px !important;
}
/* Cart-subtotal "Kwota" */
.cart_totals .cart-subtotal th { font-size: 11px !important; }
.cart_totals .cart-subtotal td .amount { font-size: 16px !important; color: var(--cobalt) !important; font-weight: 600 !important; font-family: var(--font-body) !important; }
/* Shipping row - shipping methods rozjeżdzało się */
.cart_totals .shipping { flex-wrap: wrap !important; }
.cart_totals .shipping th {
	width: 100% !important;
	margin-bottom: 12px !important;
	font-size: 11px !important;
	letter-spacing: 1.4px !important;
}
.cart_totals .shipping td {
	width: 100% !important;
	text-align: left !important;
	flex: 0 0 100% !important;
}
.cart_totals .shipping .woocommerce-shipping-destination {
	font-size: 12px !important;
	color: var(--text-muted) !important;
	margin: 14px 0 0 !important;
	font-style: italic !important;
	font-weight: 400 !important;
}
.cart_totals .shipping .shipping-calculator-button {
	font-size: 12px !important;
	color: var(--terracotta) !important;
	font-weight: 600 !important;
	letter-spacing: 0.4px !important;
	display: inline-block !important;
	margin-top: 6px !important;
}
/* Order total - duży, terracotta */
.cart_totals .order-total {
	padding: 28px 8px 12px !important;
	border-top: 2px solid var(--cobalt) !important;
	border-bottom: 0 !important;
	margin-top: 12px !important;
}
.cart_totals .order-total th {
	font-family: var(--font-display) !important;
	font-size: 18px !important;
	color: var(--cobalt) !important;
	font-weight: 500 !important;
	text-transform: none !important;
	letter-spacing: -0.2px !important;
	padding-top: 0 !important;
}
.cart_totals .order-total td {
	font-family: var(--font-display) !important;
	font-size: 28px !important;
	color: var(--terracotta) !important;
	font-weight: 600 !important;
	line-height: 1 !important;
}
.cart_totals .order-total .amount {
	color: var(--terracotta) !important;
	font-family: var(--font-display) !important;
}
.cart_totals .amount {
	font-family: var(--font-body) !important;
}
/* Shipping methods radio - one row each, compact */
.cart_totals .woocommerce-shipping-methods,
.shipping ul#shipping_method {
	list-style: none !important;
	padding: 0 !important;
	margin: 8px 0 !important;
}
.shipping ul#shipping_method li {
	padding: 16px 18px !important;
	border: 1px solid var(--border) !important;
	border-radius: 10px !important;
	background: rgba(250, 246, 240, 0.6) !important;
	margin-bottom: 10px !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	flex-wrap: nowrap !important;
	cursor: pointer !important;
	transition: border-color 0.25s, background 0.25s !important;
}
.shipping ul#shipping_method li:hover {
	border-color: var(--terracotta) !important;
	background: rgba(196, 101, 74, 0.04) !important;
}
.shipping ul#shipping_method li:has(input[type="radio"]:checked) {
	border-color: var(--terracotta) !important;
	background: rgba(196, 101, 74, 0.08) !important;
	box-shadow: 0 0 0 1px var(--terracotta) inset !important;
}
.shipping ul#shipping_method li label {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	word-break: break-word !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	flex-wrap: wrap !important;
}
.shipping ul#shipping_method li label .amount {
	font-weight: 600 !important;
	color: var(--cobalt) !important;
	white-space: nowrap !important;
}
.shipping ul#shipping_method li img { max-width: 60px !important; height: auto !important; }

/* Stary duplicate-rule usunięty - padding 36/40 z linii 5258 jest źródłem prawdy */
.cart_totals .shipping td { padding-left: 0 !important; }
.cart_totals .shipping .woocommerce-shipping-destination { font-size: 12px !important; color: var(--text-muted) !important; margin: 6px 0 0 !important; }
.shipping ul#shipping_method li label { flex: 1; word-break: break-word; cursor: pointer; }
.shipping ul#shipping_method li input[type="radio"] { accent-color: var(--terracotta); }
.shipping-calculator-button,
.shipping-calculator-form { font-size: 13px !important; }

/* CTA "Przejdź do płatności" - terracotta */
.wc-proceed-to-checkout {
	margin-top: 24px !important;
	padding: 0 !important;
}
.wc-proceed-to-checkout a.checkout-button {
	display: block !important;
	width: 100% !important;
	padding: 18px 24px !important;
	background: var(--terracotta) !important;
	color: var(--white) !important;
	border: 0 !important;
	border-radius: 8px !important;
	font-family: var(--font-body) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 1.4px !important;
	text-transform: uppercase !important;
	text-align: center !important;
	text-decoration: none !important;
	box-shadow: 0 10px 28px -8px rgba(196, 101, 74, 0.45) !important;
	transition: background 0.3s, transform 0.2s, box-shadow 0.3s !important;
}
.wc-proceed-to-checkout a.checkout-button:hover {
	background: #B05540 !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 14px 36px -10px rgba(196, 101, 74, 0.6) !important;
}
.wc-proceed-to-checkout::after {
	content: 'Bezpieczne płatności · Wysyłka 24-48h · Zwrot 14 dni';
	display: block;
	text-align: center;
	font-size: 11px;
	letter-spacing: 0.8px;
	color: var(--text-muted);
	margin-top: 14px;
	line-height: 1.6;
	text-transform: uppercase;
}

/* Cross-sells - ukryj na cart żeby nie rozjeżdżał summary */
.woocommerce-cart .cross-sells { display: none !important; }
/* Style WC Blocks Cart - editorial polish */
.wp-block-woocommerce-cart {
	font-family: var(--font-body);
}
.wc-block-cart__main,
.wc-block-cart .wc-block-cart-items {
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: 12px;
	padding: 24px 28px;
}
.wc-block-cart-items__header,
table.wc-block-cart-items__header {
	border-bottom: 2px solid var(--cobalt) !important;
	background: transparent !important;
}
.wc-block-cart-items__header th {
	font-family: var(--font-body) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 1.4px !important;
	text-transform: uppercase !important;
	color: var(--cobalt) !important;
	padding: 14px 12px !important;
}
.wc-block-cart-item__total,
.wc-block-components-product-price .wc-block-components-product-price__value {
	font-family: var(--font-display) !important;
	font-size: 17px !important;
	color: var(--terracotta) !important;
	font-weight: 600 !important;
}
.wc-block-cart-item__product .wc-block-components-product-name {
	font-family: var(--font-display) !important;
	font-size: 17px !important;
	color: var(--cobalt) !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
}
.wc-block-cart-item__product .wc-block-components-product-image img,
.wc-block-cart-item__image img {
	border-radius: 8px;
	background: var(--cream-dark);
}
/* Quantity selector w Cart Blocks - lepsze +/- */
.wc-block-components-quantity-selector {
	border: 1px solid var(--border) !important;
	border-radius: 8px !important;
	background: var(--white) !important;
	overflow: hidden;
	display: inline-flex !important;
	align-items: center;
	height: 44px;
}
.wc-block-components-quantity-selector__button {
	color: var(--cobalt) !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	background: transparent !important;
	width: 40px !important;
	height: 44px !important;
	transition: background 0.2s, color 0.2s;
}
.wc-block-components-quantity-selector__button:hover {
	background: var(--cream-dark) !important;
	color: var(--terracotta) !important;
}
.wc-block-components-quantity-selector__input {
	color: var(--cobalt) !important;
	font-weight: 600 !important;
	background: transparent !important;
	border: 0 !important;
	width: 44px !important;
}
/* Summary box - sticky desktop, full content visible */
.wc-block-components-sidebar.wc-block-cart__sidebar,
.wp-block-woocommerce-cart-totals-block,
.wp-block-woocommerce-cart-order-summary-block {
	background: var(--cream) !important;
	border: 1px solid var(--border) !important;
	border-radius: 12px !important;
	padding: 24px 26px !important;
	box-sizing: border-box !important;
	overflow: visible !important;
}
@media (min-width: 1024px) {
	.wc-block-components-sidebar.wc-block-cart__sidebar {
		position: sticky !important;
		top: 100px !important;
		align-self: flex-start !important;
	}
}
.wc-block-cart {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 32px !important;
}
@media (min-width: 1024px) {
	.wc-block-cart {
		grid-template-columns: minmax(0, 1.55fr) minmax(320px, 1fr) !important;
		gap: 48px !important;
	}
}
.wc-block-cart__main { min-width: 0; }
.wc-block-components-sidebar > div { width: 100% !important; }
.wp-block-woocommerce-cart-order-summary-heading-block,
.wc-block-components-totals-item,
.wc-block-components-totals-footer-item,
.wc-block-components-shipping-rates-control,
.wc-block-components-totals-coupon {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	word-break: break-word !important;
}
.wp-block-woocommerce-cart-order-summary-heading-block,
.wc-block-cart-order-summary-heading-block {
	font-family: var(--font-display) !important;
	font-size: 22px !important;
	font-weight: 500 !important;
	color: var(--cobalt) !important;
	margin: 0 0 18px !important;
	padding: 0 0 14px !important;
	border-bottom: 1px solid var(--border) !important;
}
/* Shipping options - radio z większym pole */
.wc-block-components-shipping-rates-control__package,
.wc-block-components-radio-control {
	margin-bottom: 8px !important;
}
.wc-block-components-radio-control__label {
	font-size: 13px !important;
	line-height: 1.35 !important;
	color: var(--text) !important;
	word-break: break-word !important;
}
.wc-block-components-radio-control__secondary-label {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--cobalt) !important;
	margin-left: 8px !important;
}
.wc-block-components-radio-control__option {
	padding: 10px 12px !important;
	border: 1px solid var(--border) !important;
	border-radius: 8px !important;
	background: var(--white) !important;
	margin-bottom: 6px !important;
	transition: border-color 0.2s, background 0.2s !important;
}
.wc-block-components-radio-control__option:hover,
.wc-block-components-radio-control__option--checked-content {
	border-color: var(--terracotta) !important;
	background: rgba(196, 101, 74, 0.04) !important;
}
.wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item-tax-value {
	color: var(--text) !important;
	font-weight: 500 !important;
}
.wc-block-components-totals-item__value {
	color: var(--cobalt) !important;
	font-weight: 600 !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-formatted-money-amount {
	font-family: var(--font-display) !important;
	font-size: 22px !important;
	color: var(--terracotta) !important;
}
/* Checkout button - terracotta CTA */
.wc-block-cart__submit-container .wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wc-block-cart__submit-button {
	background: var(--terracotta) !important;
	color: var(--white) !important;
	border: 0 !important;
	border-radius: 8px !important;
	padding: 16px 32px !important;
	font-family: var(--font-body) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 1.4px !important;
	text-transform: uppercase !important;
	box-shadow: 0 10px 28px -8px rgba(196, 101, 74, 0.4) !important;
	transition: background 0.3s, transform 0.2s, box-shadow 0.3s !important;
}
.wp-block-woocommerce-proceed-to-checkout-block a:hover,
.wc-block-cart__submit-button:hover {
	background: #B05540 !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 14px 36px -10px rgba(196, 101, 74, 0.55) !important;
}

/* Cookie banner zostaje widoczny - user prosił zachować */

/* Ukryj WooCommerce stock html "1 w magazynie" w prod-cta-block (mockup tego nie ma) */
.prod-cta-block .stock,
.prod-info .stock,
p.stock.in-stock,
p.stock.out-of-stock { display: none !important; }

/* ============================================
   Single product page - polish (mniejsze gallery, mniejsze breadcrumbs,
   ograniczona szerokość długiego opisu klienta)
   ============================================ */
/* Tighter spacing na górze - od razu widać co jest pod fold */
.prod-page > .container { padding-top: 12px !important; }
.prod-page .breadcrumbs {
	font-size: 11px !important;
	letter-spacing: 1.2px !important;
	margin: 0 0 16px !important;
	padding: 0 !important;
	color: var(--text-muted) !important;
}
.prod-page .breadcrumbs a { color: var(--cobalt) !important; opacity: 0.7; }
.prod-page .breadcrumbs a:hover { opacity: 1; color: var(--terracotta) !important; }
.prod-page .breadcrumbs span { margin: 0 6px; opacity: 0.4; }

/* Gallery main + grid jak w mockupie (1fr/1fr, bez max-width na obrazie) */
.prod-page__main {
	padding: 24px 0 60px !important;
	gap: 48px !important;
}
@media (min-width: 1024px) {
	.prod-page__main {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		gap: 64px !important;
	}
}
.prod-gallery__main {
	max-width: none;
	aspect-ratio: 1 !important;
	padding: 24px !important;
	margin: 0 0 14px !important;
}

/* Prod-tabs__copy ograniczona szerokość żeby długi klient opis się ładnie łamał */
.prod-tabs__copy {
	max-width: 720px;
	font-size: 15px !important;
	line-height: 1.75 !important;
}
.prod-tabs__copy p {
	max-width: 680px;
	margin-bottom: 14px;
}

/* Prod-tabs__fact - dane produktu, ostylowane + word-wrap żeby długie wartości nie były ucięte */
.prod-tabs__facts {
	display: grid !important;
	gap: 10px !important;
	max-width: 920px !important;
	grid-template-columns: 1fr !important;
}
@media (min-width: 680px) {
	.prod-tabs__facts { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
.prod-tabs__fact {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
	padding: 14px 18px !important;
	border: 1px solid var(--border) !important;
	background: rgba(255, 255, 255, 0.55) !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	min-height: 64px;
	overflow: hidden;
}
.prod-tabs__fact .prod-tabs__fact-label,
.prod-tabs__fact span:first-child {
	color: var(--text-muted) !important;
	font-weight: 500 !important;
	font-size: 12px !important;
	letter-spacing: 0.5px !important;
	text-transform: uppercase !important;
}
.prod-tabs__fact .prod-tabs__fact-value,
.prod-tabs__fact span:last-child {
	color: var(--cobalt) !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	line-height: 1.35 !important;
	word-break: break-word !important;
	overflow-wrap: anywhere !important;
}

/* Prod-info__badges - 3 odznaki Ręcznie malowane / Oryginał / Zmywarka (mockup) */
.prod-info__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	margin: 16px 0 20px;
	padding-top: 18px;
	border-top: 1px solid var(--border);
}
.prod-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.3px;
	color: var(--cobalt);
}
.prod-badge svg {
	width: 16px !important;
	height: 16px !important;
	color: var(--terracotta);
	flex-shrink: 0;
}

/* Single product - prod-spec ikony okolone w okręgu (mockup ma small circle z ikoną) */
.prod-spec__icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 32px !important;
	height: 32px !important;
	flex: 0 0 32px !important;
	border-radius: 50% !important;
	background: rgba(196, 101, 74, 0.08) !important;
	color: var(--terracotta) !important;
}
.prod-spec__icon svg { width: 16px !important; height: 16px !important; }

/* ============================================
   ABOUT-CTA redesign: dark stats card + outlined CTA
   Skille: frontend-design (brand palette), emil-design-eng (transitions),
           impeccable (side-stripe), design-taste-frontend (anti-generic)
   ============================================ */
.about-cta {
	background: linear-gradient(180deg, var(--cream-dark) 0%, var(--cream) 100%) !important;
	position: relative;
	overflow: hidden;
}
.about-cta::before {
	content: '';
	position: absolute;
	top: 20%;
	right: -200px;
	width: 500px;
	height: 500px;
	background: radial-gradient(circle, rgba(212, 176, 106, 0.12), transparent 70%);
	pointer-events: none;
	z-index: 0;
}
.about-cta::after {
	content: '';
	position: absolute;
	bottom: 10%;
	left: -200px;
	width: 400px;
	height: 400px;
	background: radial-gradient(circle, rgba(196, 101, 74, 0.08), transparent 70%);
	pointer-events: none;
	z-index: 0;
}
.about-cta__inner { position: relative; z-index: 1; }

/* Dark stats card - gold accents */
.about-cta__stats {
	background: linear-gradient(135deg, var(--cobalt) 0%, var(--cobalt-light) 100%) !important;
	border: none !important;
	padding: 44px 32px !important;
	border-radius: 14px !important;
	margin: 48px auto !important;
	max-width: 720px;
	box-shadow: 0 24px 48px -16px rgba(27, 42, 74, 0.28);
	position: relative;
	overflow: hidden;
}
.about-cta__stats::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--terracotta), var(--gold), var(--terracotta));
}
.about-cta__stats > div { position: relative; }
.about-cta__stats > div:not(:last-child)::after {
	content: '';
	position: absolute;
	right: -12px;
	top: 15%;
	bottom: 15%;
	width: 1px;
	background: rgba(212, 176, 106, 0.35);
}
@media (max-width: 639px) {
	.about-cta__stats { grid-template-columns: 1fr !important; padding: 32px 24px !important; }
	.about-cta__stats > div:not(:last-child)::after { display: none; }
	.about-cta__stats > div:not(:last-child) { padding-bottom: 24px; border-bottom: 1px solid rgba(212,176,106,0.2); margin-bottom: 8px; }
}
.about-cta__stats .stat__num {
	color: var(--gold) !important;
	font-size: clamp(40px, 6vw, 56px) !important;
	font-weight: 600;
	letter-spacing: -0.5px;
}
.about-cta__stats .stat__label {
	color: rgba(255, 255, 255, 0.78) !important;
	font-size: 12px !important;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	font-weight: 500;
}

/* CTA "Zobacz pełną ofertę" - outlined editorial style with hover fill */
.about-cta .btn-dark {
	background: transparent !important;
	color: var(--cobalt) !important;
	border: 1.5px solid var(--cobalt) !important;
	padding: 18px 44px !important;
	letter-spacing: 1.4px !important;
	position: relative;
	z-index: 1;
	overflow: hidden;
	transition: color 0.4s var(--ease-out), border-color 0.4s var(--ease-out), transform 0.3s var(--ease-out), box-shadow 0.4s var(--ease-out) !important;
}
.about-cta .btn-dark::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, var(--cobalt) 0%, var(--cobalt-light) 100%);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.45s cubic-bezier(0.65, 0, 0.35, 1);
	z-index: -1;
}
.about-cta .btn-dark:hover {
	color: var(--white) !important;
	border-color: var(--cobalt) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 14px 32px -10px rgba(27, 42, 74, 0.4) !important;
}
.about-cta .btn-dark:hover::before { transform: scaleX(1); }
.about-cta .btn-dark svg { transition: transform 0.3s var(--ease-out); }
.about-cta .btn-dark:hover svg { transform: translateX(4px); }

/* ============================================
   BLOG: archive + single (Editorial Artisan)
   - Cobalt nav + cream bg + terracotta accents
   - Cormorant Garamond for display, DM Sans for body
   ============================================ */

.container--narrow { max-width: 1100px; }

/* ---- Archive: hero ---- */
.blog-archive { padding: 110px 0 96px; min-height: 70vh; }
@media (max-width: 767px) { .blog-archive { padding: 96px 0 64px; } }

.blog-archive .breadcrumbs { font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--text-light); margin-bottom: 28px; }
.blog-archive .breadcrumbs a { color: var(--text-muted); }
.blog-archive .breadcrumbs a:hover { color: var(--terracotta); }
.blog-archive .breadcrumbs__sep { margin: 0 8px; color: var(--border); }

.blog-hero {
	background: var(--cream-dark);
	padding: 56px 40px 48px;
	border: 1px solid var(--border);
	margin-bottom: 56px;
	position: relative;
	overflow: hidden;
}
@media (min-width: 768px) { .blog-hero { padding: 80px 56px 60px; margin-bottom: 64px; } }
.blog-hero::after {
	content: '';
	position: absolute;
	right: -40px;
	top: 50%;
	width: 220px;
	height: 220px;
	border: 1px solid rgba(184, 150, 78, 0.25);
	border-radius: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}
.blog-hero .section-ornament { margin-bottom: 18px; }
.blog-hero h1 {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(2rem, 4.2vw, 3.4rem);
	line-height: 1.1;
	letter-spacing: -0.015em;
	color: var(--cobalt);
	max-width: 720px;
}
.blog-hero__lead {
	margin-top: 18px;
	font-size: 16px;
	line-height: 1.7;
	color: var(--text-muted);
	max-width: 620px;
}

/* ---- Archive: grid ---- */
.blog-archive__grid {
	display: grid;
	gap: 36px;
	grid-template-columns: 1fr;
	margin-bottom: 64px;
}
@media (min-width: 640px) { .blog-archive__grid { grid-template-columns: repeat(2, 1fr); gap: 32px; } }
@media (min-width: 1024px) { .blog-archive__grid { grid-template-columns: repeat(3, 1fr); gap: 36px; } }

/* ---- Card ---- */
.blog-card {
	background: var(--white);
	border: 1px solid var(--border);
	overflow: hidden;
	transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out), border-color 0.3s var(--ease-out);
	position: relative;
	display: flex;
	flex-direction: column;
}
.blog-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 48px -16px rgba(27, 42, 74, 0.25);
	border-color: var(--terracotta);
}
.blog-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
}
.blog-card__img-wrap {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--cream-dark);
}
.blog-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--ease-out);
}
.blog-card:hover .blog-card__img { transform: scale(1.04); }
.blog-card__img--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(27, 42, 74, 0.18);
}
.blog-card__img--placeholder svg { width: 64px; height: 64px; }

.blog-card__body {
	padding: 24px 24px 28px;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.blog-card__meta {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--text-muted);
	margin-bottom: 14px;
}
.blog-card__cat {
	color: var(--terracotta);
	position: relative;
	padding-left: 12px;
}
.blog-card__cat::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 4px;
	height: 4px;
	background: var(--terracotta);
	border-radius: 50%;
	transform: translateY(-50%);
}
.blog-card__title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 22px;
	line-height: 1.25;
	color: var(--cobalt);
	margin-bottom: 12px;
	letter-spacing: -0.005em;
	transition: color 0.3s var(--ease-out);
}
.blog-card:hover .blog-card__title { color: var(--terracotta); }
.blog-card__excerpt {
	font-size: 15px;
	line-height: 1.65;
	color: var(--text-muted);
	margin-bottom: 18px;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.blog-card__readmore {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--terracotta);
}
.blog-card__readmore svg { width: 14px; height: 14px; transition: transform 0.3s var(--ease-out); }
.blog-card:hover .blog-card__readmore svg { transform: translateX(4px); }

/* ---- Pagination ---- */
.blog-pagination { display: flex; justify-content: center; margin: 16px 0 0; }
.blog-pagination .nav-links,
.blog-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	flex-wrap: wrap;
	justify-content: center;
}
.blog-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.5px;
	color: var(--cobalt);
	background: var(--white);
	border: 1px solid var(--border);
	transition: color 0.25s, background 0.25s, border-color 0.25s, transform 0.25s var(--ease-out);
}
.blog-pagination .page-numbers:hover {
	color: var(--white);
	background: var(--cobalt);
	border-color: var(--cobalt);
	transform: translateY(-2px);
}
.blog-pagination .page-numbers.current {
	color: var(--white);
	background: var(--terracotta);
	border-color: var(--terracotta);
}
.blog-pagination .page-numbers.dots {
	background: transparent;
	border-color: transparent;
}
.blog-pagination .page-numbers.dots:hover {
	background: transparent;
	color: var(--cobalt);
	transform: none;
}

/* ---- Empty state ---- */
.blog-archive__empty {
	text-align: center;
	padding: 64px 24px;
	border: 1px dashed var(--border);
	background: var(--white);
}
.blog-archive__empty p { font-size: 16px; color: var(--text-muted); margin-bottom: 24px; }

/* ============================================
   BLOG SINGLE
   ============================================ */

.blog-single { padding: 110px 0 96px; }
@media (max-width: 767px) { .blog-single { padding: 96px 0 64px; } }

.blog-single .breadcrumbs { font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--text-light); margin-bottom: 28px; }
.blog-single .breadcrumbs a { color: var(--text-muted); }
.blog-single .breadcrumbs a:hover { color: var(--terracotta); }
.blog-single .breadcrumbs__sep { margin: 0 8px; color: var(--border); }

.blog-single__hero {
	max-width: 820px;
	margin: 0 auto 40px;
	text-align: center;
}
@media (min-width: 768px) { .blog-single__hero { margin-bottom: 48px; } }

.blog-single__hero .section-ornament {
	justify-content: center;
	margin-bottom: 16px;
}
.blog-single__hero .section-ornament::before { display: none; }
.blog-single__kicker {
	color: var(--terracotta);
	letter-spacing: 3px;
	transition: color 0.2s;
}
.blog-single__kicker:hover { color: var(--cobalt); }

.blog-single__title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(2.2rem, 5vw, 3.6rem);
	line-height: 1.1;
	letter-spacing: -0.015em;
	color: var(--cobalt);
	margin: 12px 0 24px;
}

.blog-single__meta {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--text-muted);
}
.blog-single__author { font-style: normal; }
.blog-single__author-name { color: var(--cobalt); font-weight: 600; }
.blog-single__meta-sep { color: var(--border); }
.blog-single__reading { color: var(--text-muted); }

/* ---- Featured image ---- */
.blog-single__featured {
	margin: 0 0 48px;
	max-width: 1100px;
}
.blog-single__featured-img {
	width: 100%;
	max-height: 480px;
	object-fit: cover;
	aspect-ratio: 16 / 9;
	display: block;
	border: 1px solid var(--border);
}
@media (max-width: 767px) { .blog-single__featured { margin-bottom: 32px; } }

/* ---- Layout: content + sidebar ---- */
.blog-single__layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 48px;
}
@media (min-width: 1024px) {
	.blog-single__layout {
		grid-template-columns: minmax(0, 760px) 280px;
		gap: 64px;
		justify-content: center;
	}
}

/* ---- Content ---- */
.blog-single__content {
	max-width: 760px;
	margin: 0 auto;
	font-size: 17px;
	line-height: 1.85;
	color: var(--text);
}
.blog-single__content p { margin: 0 0 24px; }
.blog-single__content > p:first-of-type::first-letter {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 64px;
	float: left;
	line-height: 0.9;
	margin: 8px 12px 0 0;
	color: var(--terracotta);
}
.blog-single__content h2 {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(26px, 3vw, 34px);
	line-height: 1.2;
	color: var(--cobalt);
	margin: 48px 0 18px;
	scroll-margin-top: 100px;
	letter-spacing: -0.01em;
}
.blog-single__content h3 {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 22px;
	line-height: 1.3;
	color: var(--cobalt);
	margin: 32px 0 14px;
	scroll-margin-top: 100px;
}
.blog-single__content h4 {
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 16px;
	color: var(--cobalt);
	margin: 24px 0 10px;
	letter-spacing: 0.5px;
}
.blog-single__content ul,
.blog-single__content ol { padding-left: 24px; margin: 0 0 24px; }
.blog-single__content li { margin-bottom: 10px; }
.blog-single__content a {
	color: var(--terracotta);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	transition: color 0.2s;
}
.blog-single__content a:hover { color: var(--cobalt); }
.blog-single__content blockquote {
	border-left: 3px solid var(--terracotta);
	padding: 8px 0 8px 24px;
	margin: 32px 0;
	font-family: var(--font-display);
	font-size: 22px;
	line-height: 1.45;
	font-style: italic;
	color: var(--cobalt);
}
.blog-single__content img { width: 100%; height: auto; margin: 32px 0; border: 1px solid var(--border); }
.blog-single__content figure { margin: 32px 0; }
.blog-single__content figcaption {
	font-size: 13px;
	color: var(--text-muted);
	text-align: center;
	margin-top: 10px;
	font-style: italic;
}
.blog-single__content hr { border: none; height: 1px; background: var(--border); margin: 48px 0; }
.blog-single__content code {
	background: var(--cream-dark);
	padding: 2px 6px;
	font-size: 0.92em;
	border-radius: 2px;
}
.blog-single__content pre {
	background: var(--cobalt);
	color: #E8EDF5;
	padding: 20px 24px;
	overflow-x: auto;
	margin: 24px 0;
	font-size: 14px;
}
.blog-single__content table {
	width: 100%;
	border-collapse: collapse;
	margin: 24px 0;
}
.blog-single__content table th,
.blog-single__content table td {
	border: 1px solid var(--border);
	padding: 12px 16px;
	text-align: left;
}
.blog-single__content table th { background: var(--cream-dark); font-weight: 600; color: var(--cobalt); }

/* ---- Tags ---- */
.blog-single__tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 48px 0 0;
	padding-top: 32px;
	border-top: 1px solid var(--border);
}
.blog-single__tags-label {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--text-muted);
}
.blog-single__tags ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0;
	margin: 0;
}
.blog-single__tags li a {
	display: inline-block;
	padding: 6px 14px;
	font-size: 12px;
	color: var(--cobalt);
	background: var(--cream-dark);
	border: 1px solid var(--border);
	letter-spacing: 0.5px;
	transition: color 0.2s, background 0.2s, border-color 0.2s;
}
.blog-single__tags li a:hover {
	color: var(--white);
	background: var(--terracotta);
	border-color: var(--terracotta);
}

/* ---- Sidebar ---- */
.blog-single__sidebar {
	display: flex;
	flex-direction: column;
	gap: 32px;
}
@media (min-width: 1024px) {
	.blog-single__sidebar {
		position: sticky;
		top: 96px;
		align-self: start;
		max-height: calc(100vh - 120px);
		overflow-y: auto;
	}
}

.blog-toc {
	background: var(--cream-dark);
	border: 1px solid var(--border);
	padding: 24px 24px 20px;
}
.blog-toc__title {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--terracotta);
	margin-bottom: 16px;
}
.blog-toc__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.blog-toc__item a {
	font-size: 14px;
	line-height: 1.45;
	color: var(--cobalt);
	display: inline-block;
	padding: 4px 0;
	border-bottom: 1px solid transparent;
	transition: color 0.2s, border-color 0.2s;
}
.blog-toc__item a:hover {
	color: var(--terracotta);
	border-bottom-color: var(--terracotta);
}
.blog-toc__item--h3 { padding-left: 16px; }
.blog-toc__item--h3 a { font-size: 13px; color: var(--text-muted); }

.blog-author-card {
	background: var(--cobalt);
	color: var(--white);
	padding: 28px 24px;
	position: relative;
	overflow: hidden;
}
.blog-author-card::before {
	content: '';
	position: absolute;
	right: -40px;
	bottom: -40px;
	width: 140px;
	height: 140px;
	border: 1px solid rgba(212, 176, 106, 0.2);
	border-radius: 50%;
	pointer-events: none;
}
.blog-author-card__brand {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--gold-light);
	margin-bottom: 10px;
}
.blog-author-card__name {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 22px;
	line-height: 1.2;
	color: var(--white);
	margin-bottom: 12px;
}
.blog-author-card__bio {
	font-size: 14px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.75);
	margin-bottom: 16px;
}
.blog-author-card__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--gold-light);
	transition: color 0.25s;
}
.blog-author-card__link svg { width: 14px; height: 14px; transition: transform 0.3s var(--ease-out); }
.blog-author-card__link:hover { color: var(--white); }
.blog-author-card__link:hover svg { transform: translateX(4px); }

/* ---- Related ---- */
.blog-single__related {
	margin-top: 96px;
	padding-top: 56px;
	border-top: 1px solid var(--border);
}
@media (max-width: 767px) { .blog-single__related { margin-top: 64px; padding-top: 40px; } }

.blog-single__related-head {
	text-align: center;
	margin-bottom: 40px;
}
.blog-single__related-head .section-ornament { justify-content: center; margin-bottom: 14px; }
.blog-single__related-head h2 {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: clamp(28px, 3.5vw, 40px);
	line-height: 1.15;
	color: var(--cobalt);
	letter-spacing: -0.01em;
}

/* ---- Fade-in scroll override (blog cards shouldn't stay hidden) ---- */
.blog-card,
.blog-single__content,
.blog-single__sidebar,
.blog-single__related { opacity: 1 !important; transform: none !important; filter: none !important; }

/* ---- Responsive: stack sidebar on tablet/mobile ---- */
@media (max-width: 1023px) {
	.blog-single__layout { gap: 56px; }
	.blog-single__sidebar { max-width: 760px; margin: 0 auto; width: 100%; }
}

/* ---- Reduce-motion: kill hover lifts ---- */
@media (prefers-reduced-motion: reduce) {
	.blog-card:hover { transform: none; }
	.blog-card:hover .blog-card__img { transform: none; }
	.blog-pagination .page-numbers:hover { transform: none; }
}

/* ============================================
   BLOG REDESIGN (skille: frontend-design + impeccable + emil-design-eng + design-taste-frontend)
   - Lead post: 2-col editorial (image left, content right) z gold "Polecane" tagiem
   - Pozostałe karty: 3-col grid z cream-dark image wrapper + mix-blend-mode na PNG
   - Hover: lift + border terracotta, BEZ zoomu obrazka (anti-degradacja)
   ============================================ */

/* PNG product photos: mix-blend multiply żeby białe tło zniknęło na cream-dark wrapie */
.blog-card__img--blend,
.blog-lead__img--blend {
	mix-blend-mode: multiply;
	object-fit: contain !important;
	padding: 16px;
}

/* ---- LEAD post (pierwszy artykuł, jeśli !is_paged) ---- */
.blog-lead {
	margin: 0 0 64px;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: 12px;
	overflow: hidden;
	transition: transform 0.4s var(--ease-out), box-shadow 0.4s var(--ease-out), border-color 0.4s var(--ease-out);
	position: relative;
}
.blog-lead::after {
	content: '';
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--terracotta), var(--gold));
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.5s var(--ease-out);
}
.blog-lead:hover {
	transform: translateY(-4px);
	box-shadow: 0 28px 70px -24px rgba(27, 42, 74, 0.22);
	border-color: rgba(196, 101, 74, 0.4);
}
.blog-lead:hover::after { transform: scaleX(1); }

.blog-lead__link {
	display: grid;
	grid-template-columns: 1fr;
	color: inherit;
	text-decoration: none;
}
@media (min-width: 768px) {
	.blog-lead__link { grid-template-columns: 1.15fr 1fr; }
}

.blog-lead__img-wrap {
	position: relative;
	aspect-ratio: 16 / 11;
	overflow: hidden;
	background: var(--cream-dark);
}
@media (min-width: 768px) {
	.blog-lead__img-wrap { aspect-ratio: auto; min-height: 100%; }
}
.blog-lead__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.blog-lead__tag {
	position: absolute;
	top: 18px;
	left: 18px;
	padding: 7px 16px;
	background: var(--cobalt);
	color: var(--gold-light);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	border-radius: 999px;
	box-shadow: 0 8px 20px rgba(27, 42, 74, 0.22);
}

.blog-lead__body {
	padding: 32px 28px 36px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
@media (min-width: 768px) {
	.blog-lead__body { padding: 48px 44px; }
}
@media (min-width: 1280px) {
	.blog-lead__body { padding: 56px 56px 60px; }
}

.blog-lead__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 14px;
	font-size: 12px;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	color: var(--text-muted);
	margin-bottom: 18px;
}
.blog-lead__cat {
	color: var(--terracotta);
	font-weight: 700;
	letter-spacing: 1.4px;
}
.blog-lead__sep { opacity: 0.5; }

.blog-lead__title {
	font-family: var(--font-display);
	font-size: clamp(28px, 3.5vw, 44px);
	font-weight: 500;
	line-height: 1.15;
	color: var(--cobalt);
	margin: 0 0 18px;
	letter-spacing: -0.3px;
}
.blog-lead__excerpt {
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.7;
	color: var(--text);
	margin: 0 0 28px;
	max-width: 56ch;
}
.blog-lead__readmore {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--cobalt);
	padding-bottom: 8px;
	border-bottom: 1.5px solid var(--cobalt);
	width: max-content;
	transition: color 0.3s var(--ease-out), border-color 0.3s var(--ease-out), gap 0.35s var(--ease-out);
}
.blog-lead:hover .blog-lead__readmore {
	color: var(--terracotta);
	border-color: var(--terracotta);
	gap: 14px;
}
.blog-lead__readmore svg { width: 16px; height: 16px; }

/* ---- Sub-header nad pozostałymi wpisami ---- */
.blog-archive__sub-header {
	text-align: center;
	margin: 24px 0 36px;
}
.blog-archive__sub-header .section-ornament { justify-content: center; }
.blog-archive__sub-title {
	font-family: var(--font-display);
	font-size: clamp(24px, 2.5vw, 32px);
	font-weight: 500;
	color: var(--cobalt);
	margin: 8px 0 0;
}

/* ---- Pozostałe karty - większy oddech, cream-dark wrap na obrazek ---- */
.blog-card__img-wrap {
	background: var(--cream-dark) !important;
	aspect-ratio: 4 / 3 !important;
}
.blog-card__img {
	display: block;
}
.blog-card__img--blend {
	mix-blend-mode: multiply;
	object-fit: contain !important;
	padding: 16px;
	width: 100%;
	height: 100%;
}
.blog-card { border-radius: 12px !important; }
.blog-card__img-wrap { border-radius: 12px 12px 0 0 !important; }

/* Kategoria jako pill terracotta */
.blog-card__cat {
	display: inline-block;
	padding: 4px 12px;
	background: rgba(196, 101, 74, 0.1);
	color: var(--terracotta);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	border-radius: 999px;
	margin-right: 8px;
}
.blog-card__date {
	font-size: 12px;
	color: var(--text-muted);
	letter-spacing: 0.5px;
}
.blog-card__title {
	font-family: var(--font-display);
	font-size: 22px !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	color: var(--cobalt) !important;
	margin: 10px 0 12px !important;
	letter-spacing: -0.2px;
}
.blog-card__excerpt {
	font-size: 14.5px !important;
	line-height: 1.65 !important;
	color: var(--text-muted) !important;
	margin: 0 0 18px !important;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.blog-card__readmore {
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 1.2px !important;
	text-transform: uppercase !important;
	color: var(--cobalt) !important;
	border-bottom: 1px solid currentColor;
	padding-bottom: 4px;
	transition: color 0.3s, gap 0.3s, border-color 0.3s;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: max-content;
	margin-top: auto;
}
.blog-card:hover .blog-card__readmore {
	color: var(--terracotta) !important;
	gap: 12px;
}
.blog-card__readmore svg { width: 14px; height: 14px; }
/* Hover: bez zoomu obrazka, tylko lift karty */
.blog-card:hover .blog-card__img { transform: none !important; }


/* ============================================
   MOJE KONTO (Login / Register / Account Dashboard)
   ============================================ */
.woocommerce-account .woocommerce {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 32px !important;
	max-width: 1400px !important;
	margin: 0 auto !important;
	padding: 32px 24px 80px !important;
	box-sizing: border-box !important;
}
@media (min-width: 1024px) {
	.woocommerce-account:not(.logged-in) .woocommerce { grid-template-columns: 1fr 1fr !important; gap: 48px !important; }
}
.woocommerce-account .u-column1.col-1,
.woocommerce-account .u-column2.col-2,
.woocommerce-account form.login,
.woocommerce-account form.register {
	background: var(--white) !important;
	border: 1px solid var(--border) !important;
	border-radius: 12px !important;
	padding: 36px 40px !important;
	box-shadow: 0 4px 24px -8px rgba(27, 42, 74, 0.08) !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	float: none !important;
}
@media (max-width: 767px) {
	.woocommerce-account .u-column1.col-1,
	.woocommerce-account .u-column2.col-2,
	.woocommerce-account form.login,
	.woocommerce-account form.register { padding: 26px 24px !important; }
}
.woocommerce-account h2 {
	font-family: var(--font-display) !important;
	font-size: 24px !important;
	font-weight: 500 !important;
	color: var(--cobalt) !important;
	margin: 0 0 18px !important;
	padding: 0 0 14px !important;
	border-bottom: 1px solid var(--border) !important;
	letter-spacing: -0.2px !important;
}
.woocommerce-account .woocommerce-form-row label,
.woocommerce-account label {
	font-family: var(--font-body) !important;
	font-size: 12px !important;
	letter-spacing: 0.6px !important;
	text-transform: uppercase !important;
	font-weight: 600 !important;
	color: var(--text-muted) !important;
	margin-bottom: 6px !important;
	display: block !important;
}
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="tel"],
.woocommerce-account input[type="number"],
.woocommerce-account textarea,
.woocommerce-account select,
.woocommerce-MyAccount-content input,
.woocommerce-MyAccount-content textarea,
.woocommerce-MyAccount-content select {
	background: var(--white) !important;
	border: 1px solid var(--border) !important;
	border-radius: 8px !important;
	padding: 14px 16px !important;
	font-family: var(--font-body) !important;
	font-size: 14px !important;
	color: var(--text) !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
	width: 100% !important;
	height: auto !important;
	min-height: 48px !important;
	box-sizing: border-box !important;
}
.woocommerce-account input:focus,
.woocommerce-MyAccount-content input:focus,
.woocommerce-MyAccount-content textarea:focus,
.woocommerce-MyAccount-content select:focus {
	border-color: var(--terracotta) !important;
	box-shadow: 0 0 0 3px rgba(196, 101, 74, 0.12) !important;
	outline: none !important;
}
.woocommerce-account .woocommerce-form-row { margin-bottom: 16px !important; }
.woocommerce-account button.woocommerce-form-login__submit,
.woocommerce-account button.woocommerce-form-register__submit,
.woocommerce-account button[type="submit"],
.woocommerce-MyAccount-content button[type="submit"] {
	background: var(--terracotta) !important;
	color: var(--white) !important;
	border: 0 !important;
	border-radius: 8px !important;
	padding: 14px 28px !important;
	font-family: var(--font-body) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 1.4px !important;
	text-transform: uppercase !important;
	box-shadow: 0 8px 22px -8px rgba(196, 101, 74, 0.42) !important;
	transition: background 0.3s, transform 0.2s !important;
	cursor: pointer !important;
}
.woocommerce-account button[type="submit"]:hover { background: #B05540 !important; transform: translateY(-2px) !important; }
.woocommerce-account .lost_password a,
a[href*="lost-password"] {
	color: var(--terracotta) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}
.woocommerce-form-login__rememberme,
.woocommerce-form__label-for-checkbox {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 13px !important;
	color: var(--text) !important;
	text-transform: none !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	margin-bottom: 16px !important;
}
.woocommerce-form__input-checkbox { accent-color: var(--terracotta) !important; width: 16px !important; height: 16px !important; }

/* Account dashboard: 2-col nav + content */
@media (min-width: 1024px) {
	.woocommerce-account.logged-in .woocommerce { grid-template-columns: 280px 1fr !important; }
}
.woocommerce-MyAccount-navigation {
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: 12px;
	padding: 16px 0;
	box-shadow: 0 4px 24px -8px rgba(27, 42, 74, 0.08);
}
.woocommerce-MyAccount-navigation ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--border); }
.woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 14px 24px;
	color: var(--cobalt);
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.4px;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
}
.woocommerce-MyAccount-navigation li a:hover { background: var(--cream); color: var(--terracotta); }
.woocommerce-MyAccount-navigation li.is-active a {
	background: rgba(196, 101, 74, 0.08);
	color: var(--terracotta);
	border-left: 3px solid var(--terracotta);
	padding-left: 21px;
}
.woocommerce-MyAccount-content {
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: 12px;
	padding: 32px 36px;
	box-shadow: 0 4px 24px -8px rgba(27, 42, 74, 0.08);
}

/* ============================================
   THANK YOU PAGE (Order Received)
   ============================================ */
.woocommerce-order .woocommerce-order-received,
.woocommerce-order-received .woocommerce {
	max-width: 900px !important;
	margin: 0 auto !important;
	padding: 32px 24px 80px !important;
}
.woocommerce-order .woocommerce-notice--success,
.woocommerce-thankyou-order-received {
	background: linear-gradient(135deg, rgba(196, 101, 74, 0.08) 0%, rgba(184, 150, 78, 0.08) 100%) !important;
	border: 1px solid var(--terracotta) !important;
	border-radius: 12px !important;
	padding: 32px 36px !important;
	font-family: var(--font-display) !important;
	font-size: 22px !important;
	color: var(--cobalt) !important;
	text-align: center !important;
	margin-bottom: 36px !important;
	font-weight: 500 !important;
}
.woocommerce-order .woocommerce-order-overview,
.woocommerce-order ul.order_details {
	background: var(--white) !important;
	border: 1px solid var(--border) !important;
	border-radius: 12px !important;
	padding: 28px !important;
	list-style: none !important;
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
	gap: 16px !important;
	margin: 0 0 36px !important;
	box-shadow: 0 4px 24px -8px rgba(27, 42, 74, 0.08);
}
.woocommerce-order ul.order_details li {
	font-family: var(--font-body) !important;
	font-size: 11px !important;
	letter-spacing: 0.6px !important;
	text-transform: uppercase !important;
	font-weight: 600 !important;
	color: var(--text-muted) !important;
	border: 0 !important;
}
.woocommerce-order ul.order_details li strong {
	display: block;
	margin-top: 6px;
	font-family: var(--font-display) !important;
	font-size: 18px !important;
	color: var(--cobalt) !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
.woocommerce-order h2 {
	font-family: var(--font-display) !important;
	font-size: 24px !important;
	font-weight: 500 !important;
	color: var(--cobalt) !important;
	margin: 32px 0 18px !important;
	letter-spacing: -0.2px !important;
}
.woocommerce-order .woocommerce-customer-details address {
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: 12px;
	padding: 24px 28px;
	font-style: normal !important;
	color: var(--text);
	line-height: 1.7;
	font-size: 14px;
}
.woocommerce-order table.shop_table {
	background: var(--white);
	border: 1px solid var(--border) !important;
	border-radius: 12px;
	overflow: hidden;
}
.woocommerce-order table.shop_table th,
.woocommerce-order table.shop_table td {
	padding: 16px 18px !important;
	font-size: 14px !important;
	border: 0 !important;
}
.woocommerce-order table.shop_table thead {
	background: var(--cream-dark) !important;
}
.woocommerce-order table.shop_table thead th {
	font-family: var(--font-body) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 1.2px !important;
	text-transform: uppercase !important;
	color: var(--cobalt) !important;
}

/* ============================================
   404 PAGE - brand styled, audit task #29
   ============================================ */
.error-404-page {
	min-height: 60vh;
	padding: 80px 0 100px;
	background: linear-gradient(180deg, var(--cream) 0%, var(--cream-dark) 100%);
}
.error-404-page .container { max-width: 980px; margin: 0 auto; padding: 0 24px; }
.error-404__hero { text-align: center; margin-bottom: 56px; }
.error-404__number {
	font-family: var(--font-display);
	font-size: clamp(120px, 18vw, 200px);
	font-weight: 500;
	color: var(--terracotta);
	line-height: 0.9;
	letter-spacing: -4px;
	margin: 0 0 12px;
	opacity: 0.85;
}
.error-404__hero .section-ornament { justify-content: center; margin: 0 0 14px; }
.error-404__title {
	font-family: var(--font-display);
	font-size: clamp(28px, 4vw, 44px);
	font-weight: 500;
	color: var(--cobalt);
	margin: 0 0 16px;
	letter-spacing: -0.5px;
}
.error-404__lead {
	font-size: 16px;
	line-height: 1.7;
	color: var(--text-muted);
	max-width: 600px;
	margin: 0 auto 36px;
}
.error-404__search {
	display: flex;
	max-width: 560px;
	margin: 0 auto;
	gap: 0;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: 999px;
	overflow: hidden;
	box-shadow: 0 8px 24px -8px rgba(27, 42, 74, 0.12);
}
.error-404__search input {
	flex: 1;
	border: 0;
	padding: 16px 24px;
	font-family: var(--font-body);
	font-size: 14px;
	background: transparent;
	color: var(--text);
}
.error-404__search input:focus { outline: none; }
.error-404__search button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 26px;
	background: var(--cobalt);
	color: var(--white);
	border: 0;
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.25s;
}
.error-404__search button:hover { background: var(--cobalt-light); }
.error-404__search button svg { width: 16px; height: 16px; }

.error-404__links {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	margin-bottom: 56px;
}
@media (min-width: 640px) { .error-404__links { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .error-404__links { grid-template-columns: repeat(4, 1fr); } }
.error-404__link-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 8px;
	padding: 28px 20px;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: 12px;
	color: var(--cobalt);
	text-decoration: none;
	transition: transform 0.3s var(--ease-out), box-shadow 0.3s var(--ease-out), border-color 0.3s;
}
.error-404__link-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 36px -16px rgba(27, 42, 74, 0.22);
	border-color: var(--terracotta);
	color: var(--terracotta);
}
.error-404__link-card svg { width: 32px; height: 32px; color: var(--terracotta); margin-bottom: 6px; }
.error-404__link-card-title {
	font-family: var(--font-display);
	font-size: 18px;
	font-weight: 500;
}
.error-404__link-card-desc { font-size: 12px; color: var(--text-muted); }

.error-404__categories { text-align: center; }
.error-404__categories h2 {
	font-family: var(--font-display);
	font-size: 22px;
	font-weight: 500;
	color: var(--cobalt);
	margin: 0 0 24px;
}
.error-404__cats-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}
.error-404__cat-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: 999px;
	color: var(--cobalt);
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: border-color 0.25s, color 0.25s, background 0.25s;
}
.error-404__cat-link:hover { border-color: var(--terracotta); color: var(--terracotta); background: rgba(196, 101, 74, 0.04); }
.error-404__cat-link span {
	font-size: 11px;
	background: var(--cream-dark);
	color: var(--text-muted);
	padding: 2px 8px;
	border-radius: 999px;
	font-weight: 500;
}

/* ============================================
   Radio buttons custom - okrąg zamiast natywnego prostokąta z kropką
   ============================================ */
.wc-block-components-radio-control__input,
.woocommerce input[type="radio"],
.woocommerce-checkout input[type="radio"],
#shipping_method input[type="radio"],
input[type="radio"].wc-block-components-radio-control__input,
input[type="radio"].shipping_method,
.wc-block-components-radio-control__input {
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	width: 20px !important;
	height: 20px !important;
	min-width: 20px !important;
	min-height: 20px !important;
	max-width: 20px !important;
	max-height: 20px !important;
	aspect-ratio: 1 / 1 !important;
	flex: 0 0 20px !important;
	border: 2px solid var(--border) !important;
	border-radius: 50% !important;
	background: var(--white) !important;
	position: relative !important;
	cursor: pointer !important;
	display: inline-block !important;
	vertical-align: middle !important;
	margin: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
	align-self: center !important;
}
.wc-block-components-radio-control__input:hover,
.woocommerce input[type="radio"]:hover { border-color: var(--terracotta) !important; }
.wc-block-components-radio-control__input:checked,
.woocommerce input[type="radio"]:checked,
input[type="radio"]:checked {
	border-color: var(--terracotta) !important;
	background: var(--white) !important;
}
.wc-block-components-radio-control__input:checked::after,
.woocommerce input[type="radio"]:checked::after,
input[type="radio"]:checked::after {
	content: '' !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	width: 10px !important;
	height: 10px !important;
	border-radius: 50% !important;
	background: var(--terracotta) !important;
}
.wc-block-components-radio-control__input:focus-visible,
input[type="radio"]:focus-visible {
	box-shadow: 0 0 0 3px rgba(196, 101, 74, 0.2) !important;
	outline: none !important;
}

/* Płatność (Przelewy24, etc) - WC payment methods */
.woocommerce-checkout .payment_methods li,
.wc_payment_methods li,
ul.wc_payment_methods.payment_methods.methods li {
	padding: 14px 18px !important;
	border: 1px solid var(--border) !important;
	border-radius: 10px !important;
	background: rgba(250, 246, 240, 0.6) !important;
	margin-bottom: 10px !important;
	list-style: none !important;
}
.woocommerce-checkout .payment_methods li:has(input:checked),
ul.wc_payment_methods li:has(input:checked) {
	border-color: var(--terracotta) !important;
	background: rgba(196, 101, 74, 0.08) !important;
	box-shadow: 0 0 0 1px var(--terracotta) inset !important;
}
.woocommerce-checkout .payment_methods li label,
ul.wc_payment_methods li label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 12px !important;
	margin: 0 0 0 10px !important;
	font-size: 14px !important;
	color: var(--cobalt) !important;
	font-weight: 600 !important;
	cursor: pointer !important;
}
.woocommerce-checkout .payment_methods li img {
	max-height: 28px !important;
	width: auto !important;
	margin-left: 8px !important;
}

/* Custom checkbox - "Utwórz konto" / Zapamiętaj mnie etc */
.wc-block-components-checkbox__input,
input[type="checkbox"]:not([role]):not(.wc-block-components-quantity-selector__input) {
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	width: 20px !important;
	height: 20px !important;
	min-width: 20px !important;
	min-height: 20px !important;
	max-width: 20px !important;
	max-height: 20px !important;
	aspect-ratio: 1 !important;
	flex: 0 0 20px !important;
	border: 2px solid var(--border) !important;
	border-radius: 4px !important;
	background: var(--white) !important;
	position: relative !important;
	cursor: pointer !important;
	margin: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
	display: inline-block !important;
	vertical-align: middle !important;
	transition: border-color 0.2s, background 0.2s !important;
}
input[type="checkbox"]:hover { border-color: var(--terracotta) !important; }
input[type="checkbox"]:checked {
	background: var(--terracotta) !important;
	border-color: var(--terracotta) !important;
}
input[type="checkbox"]:checked::after {
	content: '' !important;
	position: absolute !important;
	top: 2px !important;
	left: 6px !important;
	width: 5px !important;
	height: 10px !important;
	border: solid var(--white) !important;
	border-width: 0 2px 2px 0 !important;
	transform: rotate(45deg) !important;
}

/* ============================================================ */
/* v3.0.3 - Checkout sidebar + radio center                     */
/* ============================================================ */

/* === SIDEBAR: clean item layout - img | name + price === */

/* Hide duplicate total-price column (same value as individual-price) */
.wc-block-components-order-summary-item__total-price {
	display: none !important;
}

/* Hide H2 in metadata description (duplicates product name) */
.wc-block-components-product-metadata__description h2 {
	display: none !important;
}

/* Larger product image */
.wc-block-components-order-summary-item__image {
	width: 80px !important;
	height: 80px !important;
	min-width: 80px !important;
	flex: 0 0 80px !important;
	position: relative !important;
	border-radius: 6px !important;
	overflow: hidden !important;
	background: var(--cream-dark, #efe8d8) !important;
	mix-blend-mode: normal !important;
}
.wc-block-components-order-summary-item__image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	max-width: none !important;
	min-width: 0 !important;
}

/* Quantity badge in top-left of image */
.wc-block-components-order-summary-item__quantity {
	position: absolute !important;
	top: 4px !important;
	left: 4px !important;
	background: var(--cobalt) !important;
	color: var(--white) !important;
	border-radius: 50% !important;
	min-width: 22px !important;
	height: 22px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	padding: 0 6px !important;
	line-height: 1 !important;
	border: 2px solid var(--white) !important;
}

/* Item row layout: img | description (name+price) */
.wc-block-components-order-summary-item {
	display: flex !important;
	gap: 16px !important;
	align-items: flex-start !important;
	padding: 16px 0 !important;
	border-bottom: 1px dashed rgba(232, 227, 219, 0.8) !important;
}
.wc-block-components-order-summary-item__description {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

/* Product name - no truncation, full visible */
.wc-block-components-order-summary-item__description .wc-block-components-product-name {
	color: var(--cobalt) !important;
	font-family: 'Cormorant Garamond', serif !important;
	font-size: 16px !important;
	line-height: 1.3 !important;
	font-weight: 500 !important;
	white-space: normal !important;
	overflow: visible !important;
	text-overflow: clip !important;
	-webkit-line-clamp: unset !important;
	display: block !important;
	margin: 0 !important;
}

/* Price - terracotta, prominent */
.wc-block-cart-item__prices,
.wc-block-components-order-summary-item__individual-prices {
	color: var(--terracotta) !important;
	font-weight: 600 !important;
	font-size: 15px !important;
}
.wc-block-cart-item__prices .wc-block-formatted-money-amount,
.wc-block-components-order-summary-item__individual-prices .wc-block-formatted-money-amount {
	color: var(--terracotta) !important;
	font-weight: 600 !important;
}

/* Metadata description - small, muted, only "Rozmiar" type info */
.wc-block-components-product-metadata {
	margin-top: 4px !important;
}
.wc-block-components-product-metadata__description {
	font-size: 12px !important;
	color: rgba(34, 24, 17, 0.55) !important;
	line-height: 1.4 !important;
}
.wc-block-components-product-metadata__description p {
	margin: 0 !important;
}

/* Sidebar heading "Podsumowanie zamówienia" - cleaner */
.wp-block-woocommerce-checkout-totals-block .wc-block-components-title,
.wp-block-woocommerce-checkout-order-summary-block h2 {
	font-family: 'Cormorant Garamond', serif !important;
	font-size: 22px !important;
	color: var(--cobalt) !important;
	font-weight: 500 !important;
	margin: 0 0 12px 0 !important;
	letter-spacing: -0.3px !important;
}

/* === RADIO CENTERING: label is display:block so use absolute on input === */
.wc-block-components-radio-control__option {
	position: relative !important;
	padding-left: 44px !important;
	padding-top: 18px !important;
	padding-bottom: 18px !important;
}
.wc-block-components-radio-control__option > input[type="radio"].wc-block-components-radio-control__input,
.wc-block-components-radio-control__option input[type="radio"].wc-block-components-radio-control__input {
	position: absolute !important;
	left: 16px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	margin: 0 !important;
}

/* ============================================================ */
/* v3.0.9 - Cat description (unikalny opis kategorii z WP admin)*/
/* ============================================================ */
.cat-description {
	max-width: 920px;
	margin: 64px auto 80px;
	padding: 0 24px;
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.75;
	color: var(--text);
}
.cat-description h2,
.cat-description h3 {
	font-family: var(--font-display);
	color: var(--cobalt);
	font-weight: 500;
	letter-spacing: -0.4px;
	margin: 48px 0 16px;
}
.cat-description h2 {
	font-size: 28px;
	line-height: 1.25;
	position: relative;
	padding-bottom: 14px;
}
.cat-description h2::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 60px;
	height: 2px;
	background: var(--terracotta);
	border-radius: 2px;
}
.cat-description h3 {
	font-size: 21px;
	line-height: 1.3;
	margin-top: 36px;
}
.cat-description h3::before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	background: var(--terracotta);
	border-radius: 50%;
	margin-right: 12px;
	vertical-align: middle;
	transform: translateY(-2px);
}
.cat-description p {
	margin: 0 0 18px;
}
.cat-description p:first-of-type {
	font-size: 17px;
	line-height: 1.7;
	color: var(--cobalt);
	font-weight: 500;
}
.cat-description ul,
.cat-description ol {
	margin: 0 0 24px 0;
	padding-left: 0;
	list-style: none;
}
.cat-description ul li {
	position: relative;
	padding: 6px 0 6px 32px;
	line-height: 1.6;
}
.cat-description ul li::before {
	content: '';
	position: absolute;
	left: 4px;
	top: 16px;
	width: 14px;
	height: 14px;
	border: 2px solid var(--terracotta);
	border-radius: 50%;
}
.cat-description ul li::after {
	content: '';
	position: absolute;
	left: 9px;
	top: 21px;
	width: 4px;
	height: 4px;
	background: var(--terracotta);
	border-radius: 50%;
}
.cat-description ol {
	counter-reset: cat-desc-counter;
}
.cat-description ol li {
	position: relative;
	padding: 6px 0 6px 44px;
	counter-increment: cat-desc-counter;
}
.cat-description ol li::before {
	content: counter(cat-desc-counter);
	position: absolute;
	left: 0;
	top: 4px;
	width: 32px;
	height: 32px;
	background: var(--terracotta);
	color: var(--white);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-display);
	font-size: 14px;
	font-weight: 600;
}
.cat-description strong {
	color: var(--cobalt);
	font-weight: 600;
}
.cat-description em {
	color: var(--terracotta);
	font-style: italic;
}
.cat-description blockquote {
	margin: 28px 0;
	padding: 20px 28px;
	border-left: 4px solid var(--terracotta);
	background: rgba(196, 101, 74, 0.04);
	font-family: var(--font-display);
	font-style: italic;
	font-size: 18px;
	color: var(--cobalt);
	line-height: 1.5;
}
.cat-description a {
	color: var(--terracotta);
	text-decoration: none;
	border-bottom: 1px solid rgba(196, 101, 74, 0.3);
	transition: border-color 0.2s;
}
.cat-description a:hover {
	border-bottom-color: var(--terracotta);
}
@media (max-width: 768px) {
	.cat-description { margin: 48px auto 60px; font-size: 15px; }
	.cat-description h2 { font-size: 24px; }
	.cat-description h3 { font-size: 19px; }
	.cat-description p:first-of-type { font-size: 16px; }
}

/* ============================================================ */
/* v3.1.1 - About CTA 2-col z fotem warsztatu                   */
/* ============================================================ */
.about-cta__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	max-width: 1200px;
	margin: 0 auto;
	align-items: center;
	position: relative;
	z-index: 1;
}
@media (min-width: 900px) {
	.about-cta__grid {
		grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
		gap: 64px;
	}
}
.about-cta__photo {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 28px 60px -20px rgba(27, 42, 74, 0.32);
	aspect-ratio: 1 / 1;
	background: linear-gradient(135deg, var(--cream-dark) 0%, #efe5d2 100%);
}
.about-cta__photo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.about-cta__photo-tag {
	position: absolute;
	left: 20px;
	bottom: 20px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	background: rgba(27, 42, 74, 0.92);
	color: var(--white);
	font-size: 12px;
	letter-spacing: 0.6px;
	font-weight: 500;
	border-radius: 999px;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.about-cta__photo-tag svg {
	width: 16px;
	height: 16px;
	color: var(--terracotta);
}
/* Override centered inner dla 2-col */
.about-cta__grid .about-cta__inner {
	text-align: left;
	max-width: none;
	margin: 0;
}
.about-cta__grid .about-cta__inner .section-ornament {
	justify-content: flex-start;
}
.about-cta__grid .about-cta__stats {
	margin: 36px 0 !important;
	max-width: none !important;
	padding: 36px 28px !important;
}
@media (max-width: 899px) {
	.about-cta__grid .about-cta__inner { text-align: center; }
	.about-cta__grid .about-cta__inner .section-ornament { justify-content: center; }
}

/* ============================================================ */
/* v3.2.0 - Filter z miniaturkami wzorów (Codex recommendation) */
/* ============================================================ */

/* Lista opcji z thumbnail layout */
.cat-sidebar__options--thumbs {
	max-height: none !important;
	overflow: visible !important;
	gap: 4px !important;
	padding-right: 0 !important;
}
.cat-sidebar__options--thumbs .cat-sidebar__option {
	display: grid !important;
	grid-template-columns: 36px 1fr auto !important;
	gap: 12px !important;
	padding: 8px 10px 8px 6px !important;
	min-height: 52px !important;
	align-items: center !important;
	border-radius: 10px !important;
}
.cat-sidebar__option-thumb {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--cream-dark, #efe5d2);
	border: 1.5px solid var(--border);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: border-color 0.25s, box-shadow 0.25s, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.cat-sidebar__option-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	mix-blend-mode: multiply;
}
.cat-sidebar__option-thumb--all {
	background: var(--cobalt);
	color: var(--white);
	border-color: var(--cobalt);
}
.cat-sidebar__option-thumb--all svg {
	width: 18px;
	height: 18px;
	color: var(--white);
	stroke-width: 1.8;
}
.cat-sidebar__option-thumb--placeholder {
	background: var(--cream-dark);
}
.cat-sidebar__option-text {
	font-size: 13.5px;
	color: var(--cobalt);
	font-weight: 500;
	letter-spacing: -0.1px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	min-width: 0;
}
.cat-sidebar__option:hover .cat-sidebar__option-thumb {
	border-color: var(--terracotta);
	transform: scale(1.06);
}
.cat-sidebar__option.active .cat-sidebar__option-thumb {
	border-color: var(--terracotta);
	box-shadow: 0 0 0 2px rgba(196, 101, 74, 0.15);
}
.cat-sidebar__option.active .cat-sidebar__option-text {
	color: var(--terracotta);
	font-weight: 600;
}
/* Override starego span:first-child rule dla layout grid */
.cat-sidebar__options--thumbs .cat-sidebar__option span:first-child {
	min-width: unset;
	overflow-wrap: normal;
}

/* Cena slider clean redesign - terracotta thumbs + gradient track */
.cat-price-slider {
	margin: 12px 0 16px;
	position: relative;
	height: 24px;
}
.cat-price-slider::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	height: 4px;
	background: linear-gradient(90deg, var(--border) 0%, var(--cream-dark) 100%);
	border-radius: 999px;
}
.cat-price-slider input[type="range"] {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	width: 100%;
	height: 24px;
	background: transparent;
	pointer-events: none;
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
}
.cat-price-slider input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	pointer-events: auto;
	width: 20px;
	height: 20px;
	background: var(--terracotta);
	border: 3px solid var(--white);
	border-radius: 50%;
	cursor: grab;
	box-shadow: 0 2px 8px rgba(196, 101, 74, 0.35);
	transition: transform 0.15s, box-shadow 0.15s;
}
.cat-price-slider input[type="range"]::-webkit-slider-thumb:hover {
	transform: scale(1.15);
	box-shadow: 0 4px 12px rgba(196, 101, 74, 0.5);
}
.cat-price-slider input[type="range"]::-webkit-slider-thumb:active { cursor: grabbing; }
.cat-price-slider input[type="range"]::-moz-range-thumb {
	pointer-events: auto;
	width: 20px;
	height: 20px;
	background: var(--terracotta);
	border: 3px solid var(--white);
	border-radius: 50%;
	cursor: grab;
	box-shadow: 0 2px 8px rgba(196, 101, 74, 0.35);
}

/* Cena label - terracotta, większy */
#catPriceLabel {
	font-family: var(--font-display) !important;
	color: var(--terracotta) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	letter-spacing: -0.2px !important;
}

/* ============================================================ */
/* v3.2.1 - O Nas storytelling (post-brief)                     */
/* ============================================================ */
.about-grid__eyebrow {
	display: inline-block;
	font-size: 11px;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--terracotta);
	font-weight: 600;
	margin-bottom: 14px;
	position: relative;
	padding-left: 28px;
}
.about-grid__eyebrow::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 1px;
	background: var(--terracotta);
}

/* About trust section - rozwiac obawe oryginalnosci */
.about-trust {
	margin: 64px 0;
	padding: 56px 48px;
	background: linear-gradient(135deg, var(--cobalt) 0%, var(--cobalt-light, #2a3a5f) 100%);
	border-radius: 16px;
	position: relative;
	overflow: hidden;
	color: var(--white);
}
.about-trust::before {
	content: '';
	position: absolute;
	top: -60%;
	right: -10%;
	width: 600px;
	height: 600px;
	background: radial-gradient(circle, rgba(196, 101, 74, 0.18) 0%, transparent 60%);
	pointer-events: none;
}
.about-trust::after {
	content: '"';
	position: absolute;
	left: 24px;
	top: -8px;
	font-family: var(--font-display);
	font-size: 180px;
	color: rgba(196, 101, 74, 0.25);
	line-height: 1;
	pointer-events: none;
}
.about-trust__inner {
	position: relative;
	z-index: 1;
	max-width: 720px;
	margin: 0 auto;
}
.about-trust__eyebrow {
	display: inline-block;
	font-size: 11px;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--terracotta);
	font-weight: 600;
	margin-bottom: 16px;
}
.about-trust h2 {
	font-family: var(--font-display);
	font-size: clamp(26px, 3.6vw, 36px);
	font-weight: 500;
	color: var(--white);
	margin: 0 0 20px;
	letter-spacing: -0.3px;
	line-height: 1.2;
}
.about-trust p {
	color: rgba(255, 255, 255, 0.86);
	font-size: 15.5px;
	line-height: 1.75;
	margin: 0 0 14px;
}
.about-trust p:last-child { margin-bottom: 0; }
@media (max-width: 768px) {
	.about-trust { padding: 40px 28px; margin: 48px 0; }
	.about-trust::after { font-size: 120px; }
}

/* About live - 2-col z social links */
.about-live {
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
	align-items: center;
	margin: 64px 0 48px;
	padding: 40px;
	background: var(--cream-dark, #efe5d2);
	border-radius: 16px;
}
@media (min-width: 768px) {
	.about-live {
		grid-template-columns: 1.4fr 1fr;
		gap: 48px;
		padding: 48px 56px;
	}
}
.about-live__eyebrow {
	display: inline-block;
	font-size: 11px;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--terracotta);
	font-weight: 600;
	margin-bottom: 10px;
}
.about-live h3 {
	font-family: var(--font-display);
	font-size: clamp(22px, 2.8vw, 28px);
	font-weight: 500;
	color: var(--cobalt);
	margin: 0 0 12px;
	letter-spacing: -0.3px;
}
.about-live p {
	color: var(--text-muted);
	font-size: 14.5px;
	line-height: 1.7;
	margin: 0;
}
.about-live__links {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.about-live__link {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 20px;
	background: var(--white);
	border-radius: 10px;
	color: var(--cobalt);
	font-weight: 500;
	font-size: 14px;
	letter-spacing: -0.1px;
	transition: background 0.2s, transform 0.2s, box-shadow 0.25s;
	border: 1px solid transparent;
}
.about-live__link svg {
	width: 18px;
	height: 18px;
	color: var(--terracotta);
	transition: color 0.2s;
}
.about-live__link:hover {
	background: var(--white);
	transform: translateX(4px);
	box-shadow: 0 8px 24px -10px rgba(27, 42, 74, 0.18);
	border-color: rgba(196, 101, 74, 0.2);
}
.about-live__link:hover svg { color: var(--terracotta); }

/* About-grid eyebrow integration */
.about-grid__text { display: flex; flex-direction: column; }
