/*
Theme Name: COCOMAT
Theme URI: https://cocomat.heniek.app
Author: COCOMAT
Description: Premium coconut mat e-commerce theme — minimalist, elegant, Zara-inspired.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cocomat
*/


/* ==========================================================================
   GLOBAL FOUNDATIONS
   ========================================================================== */

html {
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

/* Prevent WP root padding from causing horizontal overflow */
.wp-site-blocks {
  overflow-x: hidden;
}

::selection {
  background-color: #E8DFD3;
  color: #1A1611;
}

/* Custom scrollbar — subtle, premium */
::-webkit-scrollbar {
  width: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: rgba(107, 91, 74, 0.4);
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(107, 91, 74, 0.7);
}

/* Focus styles — accessible but elegant */
*:focus-visible {
  outline: 2px solid #4A5C3A;
  outline-offset: 2px;
}


/* ==========================================================================
   TYPOGRAPHY REFINEMENTS
   ========================================================================== */

h1, h2, h3, h4, h5, h6 {
  font-feature-settings: "kern" 1, "liga" 1;
}

/* Thin horizontal rule */
hr, .wp-block-separator {
  border: none;
  height: 1px;
  background-color: #E8DFD3;
  max-width: 80px;
  margin: 3rem auto;
}


/* ==========================================================================
   HEADER / NAVIGATION
   ========================================================================== */

.cocomat-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  transition: background-color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              padding 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              box-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              backdrop-filter 0.5s ease;
  background-color: transparent;
  padding: 3.5rem clamp(2.5rem, 5vw, 5rem);
}

/* Gradient scrim behind header over hero — ensures white text readability */
.cocomat-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 180px;
  background: linear-gradient(to bottom, rgba(26, 22, 17, 0.45) 0%, rgba(26, 22, 17, 0.15) 50%, transparent 100%);
  z-index: 10;
  pointer-events: none;
  transition: opacity 0.5s ease;
}

.cocomat-header.is-scrolled + .cocomat-hero::before,
.cocomat-hero.header-scrolled::before {
  opacity: 0;
}

.cocomat-header.is-scrolled {
  background-color: rgba(245, 240, 235, 0.97);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  box-shadow: 0 1px 0 rgba(26, 22, 17, 0.06);
  padding: 1.25rem clamp(2.5rem, 5vw, 5rem);
}

/* Header links — white on hero, dark when scrolled */
.cocomat-header a,
.cocomat-header .wp-block-navigation a,
.cocomat-header .wp-block-site-title a {
  color: #FFFFFF !important;
  transition: color 0.4s ease, opacity 0.3s ease;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

.cocomat-header.is-scrolled a,
.cocomat-header.is-scrolled .wp-block-navigation a,
.cocomat-header.is-scrolled .wp-block-site-title a {
  color: #1A1611 !important;
  text-shadow: none;
}

/* Nav link hover — animated line from center outward */
.cocomat-header .wp-block-navigation a {
  position: relative;
  text-decoration: none !important;
}

.cocomat-header .wp-block-navigation a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 50%;
  width: 0;
  height: 1px;
  background-color: currentColor;
  transition: width 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              left 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cocomat-header .wp-block-navigation a:hover::after {
  width: 100%;
  left: 0;
}

.cocomat-header .wp-block-navigation a:hover {
  opacity: 1 !important;
  text-decoration: none !important;
}

.cocomat-header.is-scrolled .wp-block-navigation a:hover {
  color: #4A5C3A !important;
  opacity: 1;
  text-decoration: none !important;
}

/* Nav links — bigger, more confident */
.cocomat-header .wp-block-navigation__container {
  gap: 2.5rem;
}

/* Prevent nav overflow */
.cocomat-header .wp-block-navigation {
  flex-shrink: 0;
}

/* Kill ALL default underlines on nav links — we use custom ::after animation */
.cocomat-header .wp-block-navigation a:hover,
.cocomat-header .wp-block-navigation a:focus,
.cocomat-header .wp-block-navigation a:active,
.cocomat-header .wp-block-navigation-item__content:hover,
.cocomat-header .wp-block-navigation-item__content:focus {
  text-decoration: none !important;
}

/* Site title — confident but not overblown */
.cocomat-header .wp-block-site-title {
  font-size: 1.375rem !important;
  letter-spacing: 0.14em !important;
}

/* Hide store controls by default (home + content pages stay editorial/clean) */
.cocomat-header .wp-block-woocommerce-customer-account,
.cocomat-header .wc-block-mini-cart {
  display: none !important;
}

/* E-commerce surfaces: show account + cart and shift nav toward the right side */
.cocomat-commerce-surface .cocomat-header {
  display: grid !important;
  grid-template-columns: auto 1fr auto auto;
  align-items: center !important;
  column-gap: 1rem;
}

.cocomat-commerce-surface .cocomat-header .wp-block-site-title {
  grid-column: 1;
}

@media (min-width: 850px) {
  .cocomat-commerce-surface .cocomat-header .wp-block-navigation {
    grid-column: 2;
    justify-self: end;
    margin-left: auto;
  }

  .cocomat-commerce-surface .cocomat-header .wp-block-navigation__container {
    justify-content: flex-end;
  }
}

.cocomat-commerce-surface .cocomat-header .wp-block-woocommerce-customer-account,
.cocomat-commerce-surface .cocomat-header .wc-block-mini-cart {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.cocomat-commerce-surface .cocomat-header .wp-block-woocommerce-customer-account {
  grid-column: 3;
}

.cocomat-commerce-surface .cocomat-header .wc-block-mini-cart {
  grid-column: 4;
}

.cocomat-commerce-surface .cocomat-header .wp-block-woocommerce-customer-account a,
.cocomat-commerce-surface .cocomat-header .wc-block-mini-cart__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  color: inherit;
}

/* ==========================================================================
   HAMBURGER ICON — white on hero, dark when scrolled
   ========================================================================== */
.cocomat-header .wp-block-navigation__responsive-container-open svg {
  fill: #FFFFFF !important;
  transition: fill 0.4s ease;
}

.cocomat-header.is-scrolled .wp-block-navigation__responsive-container-open svg {
  fill: #1A1611 !important;
}

/* Increase hamburger tap target */
.cocomat-header .wp-block-navigation__responsive-container-open {
  padding: 8px;
}

/* === Override default WP Navigation block overlay breakpoint ===
   WP core hardcoduje hamburger visibility do viewportu < 600px:
     @media (min-width: 600px) {
       .wp-block-navigation__responsive-container-open { display: none }
     }
   Block attributes nie wystawiają per-breakpoint configu (jedyne opcje to
   overlayMenu="mobile"|"always"|"never"), więc theme override CSS jest
   standardową drogą.

   Nasze 5-itemowe menu (Strona główna, Sklep, Realizacje, O nas, Kontakt)
   potrzebuje ~830px żeby zmieścić się w desktop layout obok logo. Rozszerzamy
   overlay range do 849.98px (z 20px buforem nad fizycznym minimum) — pokrywa
   też tablety w portrait, które dla touch UI wolą hamburgera niż horizontal nav. */
@media (min-width: 600px) and (max-width: 849.98px) {
  .cocomat-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex !important;
  }
  .cocomat-header .wp-block-navigation__responsive-container:not(.is-menu-open):not(.hidden-by-default) {
    display: none !important;
  }
}

/* Mobile header: force single row with CSS Grid — HAMBURGER LEFT, logo center, account+cart right
   Two layouts:
   - Non-commerce (home, content): 3-column "1fr auto 1fr" → logo prawdziwie wycentrowane w viewport
   - Commerce: 4-column "auto 1fr auto auto" → hamburger left, logo, account+cart right
   DOM order constant: site-title(1), navigation(2), account(3), cart(4)
   Breakpoint zsynchronizowany z overlay override powyżej (849.98px). */
@media (max-width: 849.98px) {
  .cocomat-header.is-layout-flex {
    display: grid !important;
    align-items: center !important;
    gap: 0.75rem !important;
    flex-wrap: unset !important;
  }

  /* === NON-COMMERCE (home, content pages — bez account/cart) === */
  body:not(.cocomat-commerce-surface) .cocomat-header.is-layout-flex {
    grid-template-columns: 1fr auto 1fr !important;
  }
  body:not(.cocomat-commerce-surface) .cocomat-header > .wp-block-navigation {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
  }
  body:not(.cocomat-commerce-surface) .cocomat-header > .wp-block-site-title {
    grid-column: 2 !important;
    justify-self: center !important;
  }

  /* === COMMERCE (sklep, produkt, koszyk, checkout, konto) === */
  .cocomat-commerce-surface .cocomat-header.is-layout-flex {
    grid-template-columns: auto 1fr auto auto !important;
  }
  .cocomat-commerce-surface .cocomat-header > .wp-block-navigation {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
  }
  .cocomat-commerce-surface .cocomat-header > .wp-block-site-title {
    grid-column: 2 !important;
    justify-self: center !important;
  }
  .cocomat-commerce-surface .cocomat-header > .wp-block-woocommerce-customer-account {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }
  .cocomat-commerce-surface .cocomat-header > .wp-block-woocommerce-mini-cart {
    grid-column: 4 !important;
    grid-row: 1 !important;
  }

  /* === Common === */
  .cocomat-header .wp-block-site-title a {
    font-size: 1.1rem !important;
  }
  /* Hide "Logowanie" text on mobile — icon only */
  .cocomat-header .wp-block-woocommerce-customer-account .label,
  .cocomat-header .wp-block-woocommerce-customer-account a span:not(.wc-block-customer-account__account-icon) {
    display: none !important;
  }
}

/* ==========================================================================
   MOBILE MENU OVERLAY — Premium dark overlay
   ========================================================================== */
.cocomat-header .wp-block-navigation__responsive-container.is-menu-open {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100vh !important;
  height: 100dvh !important;
  background-color: #1A1611 !important;
  backdrop-filter: none;
  display: flex !important;
  flex-direction: column;
  justify-content: stretch;
  align-items: stretch;
  padding: 0 !important;
  z-index: 99999 !important;
  overflow-y: auto;
}

/* Close button — white, larger, positioned top-right with safe area */
.cocomat-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
  position: absolute !important;
  top: calc(env(safe-area-inset-top, 0px) + 2rem) !important;
  right: calc(env(safe-area-inset-right, 0px) + 2rem) !important;
  padding: 12px !important;
}

.cocomat-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
  fill: rgba(245, 240, 235, 0.6) !important;
  width: 28px;
  height: 28px;
  transition: fill 0.3s ease;
}

.cocomat-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:hover svg {
  fill: #F5F0EB !important;
}

/* Dialog wrapper — full height so close button positions from viewport top */
.cocomat-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
  width: 100% !important;
  height: 100% !important;
}

.cocomat-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* Nav items — left-aligned, elegant, staggered animation */
.cocomat-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  justify-content: center !important;
  align-items: flex-start !important;
  text-align: left !important;
  padding: 0 clamp(2rem, 8vw, 5rem) !important;
  gap: 0 !important;
}

/* Force left alignment in overlay for ALL pages (including commerce) */
.cocomat-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  justify-content: center !important;
  align-items: flex-start !important;
}

.cocomat-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
  opacity: 0;
  transform: translateY(20px);
  animation: cocomat-menu-item-in 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.cocomat-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(1) { animation-delay: 0.1s; }
.cocomat-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay: 0.18s; }
.cocomat-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay: 0.26s; }
.cocomat-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay: 0.34s; }
.cocomat-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(5) { animation-delay: 0.42s; }

@keyframes cocomat-menu-item-in {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Nav link styling in mobile menu */
.cocomat-header .wp-block-navigation__responsive-container.is-menu-open a {
  color: #F5F0EB !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(2rem, 6vw, 3rem) !important;
  font-weight: 300 !important;
  letter-spacing: 0.06em !important;
  text-transform: none !important;
  text-shadow: none;
  padding: 0.6rem 0 !important;
  transition: color 0.3s ease, opacity 0.3s ease;
}

.cocomat-header .wp-block-navigation__responsive-container.is-menu-open a:hover {
  color: rgba(245, 240, 235, 0.6) !important;
}

/* Remove the ::after line animation in mobile menu */
.cocomat-header .wp-block-navigation__responsive-container.is-menu-open a::after {
  display: none !important;
}


/* ==========================================================================
   HERO SECTION
   ========================================================================== */

/* Header template-part wrapper: collapse — inner .cocomat-header is position:fixed */
header.wp-block-template-part {
  position: relative;
  z-index: 100;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  overflow: visible;
}

/* Hero: remove WP block gap margin, start at viewport top */
/* ==========================================================================
   HERO — Video background with text overlay
   ========================================================================== */
.cocomat-hero {
  position: relative;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  min-height: 100vh;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #1A1611;
}

/* Video background — covers entire hero */
.cocomat-hero__video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  object-fit: cover;
  z-index: 1;
  filter: brightness(0.48) contrast(1.1) saturate(0.85) blur(1.5px);
}

/* Desktop video visible by default, mobile hidden */
.cocomat-hero__video--mobile {
  display: none;
}

/* Fallback image — hidden when video loads */
.cocomat-hero__fallback {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

/* Dark overlay — ensures text readability over video */
.cocomat-hero__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background:
    /* Soft center spot — extra darkening behind text, feathered edges */
    radial-gradient(ellipse 60% 50% at 50% 48%, rgba(26, 22, 17, 0.3) 0%, transparent 70%),
    /* Radial vignette — darkens edges */
    radial-gradient(ellipse 70% 60% at 50% 50%, transparent 0%, rgba(26, 22, 17, 0.35) 100%),
    /* Vertical gradient — top (header) and bottom (scroll hint) */
    linear-gradient(
      to bottom,
      rgba(26, 22, 17, 0.4) 0%,
      rgba(26, 22, 17, 0.15) 35%,
      rgba(26, 22, 17, 0.12) 60%,
      rgba(26, 22, 17, 0.45) 100%
    );
  z-index: 2;
}

/* Content layer — on top of overlay */
.cocomat-hero__content {
  position: relative;
  z-index: 3;
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  padding: 2rem clamp(1.5rem, 5vw, 4rem);
}

/* Hero label — small category text above title */
.cocomat-hero .cocomat-hero-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
  margin: 0 0 2rem 0;
  opacity: 0;
  transform: translateY(15px);
  animation: cocomat-fade-up 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s forwards;
}

/* Hero title */
.cocomat-hero .cocomat-hero-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(3.25rem, 7vw, 6rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: 0.04em;
  color: #FFFFFF;
  margin: 0 0 2rem 0;
  text-shadow: 0 2px 30px rgba(0, 0, 0, 0.3), 0 1px 6px rgba(0, 0, 0, 0.15);
  opacity: 0;
  transform: translateY(30px);
  animation: cocomat-fade-up 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.5s forwards;
}

/* Hero subtitle */
.cocomat-hero .cocomat-hero-subtitle {
  font-family: 'Inter', sans-serif;
  font-size: clamp(1.0625rem, 1.5vw, 1.25rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.85);
  margin: 0 0 2.5rem 0;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.2);
  opacity: 0;
  transform: translateY(20px);
  animation: cocomat-fade-up 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.8s forwards;
}

/* Hero CTA wrapper */
.cocomat-hero__cta {
  opacity: 0;
  transform: translateY(20px);
  animation: cocomat-fade-up 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.1s forwards;
}

/* Hero CTA link */
.cocomat-hero-cta-link {
  display: inline-block;
  background-color: transparent;
  color: #FFFFFF;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 2px;
  font-family: 'Inter', sans-serif;
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 0.7rem 2rem;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cocomat-hero-cta-link:hover {
  background-color: rgba(255, 255, 255, 0.12);
  color: #FFFFFF;
  border-color: rgba(255, 255, 255, 0.85);
  transform: translateY(-1px);
}

/* Scroll indicator at bottom of hero */
.cocomat-hero::after {
  content: '';
  position: absolute;
  bottom: 2.5rem;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 48px;
  background: linear-gradient(to bottom, rgba(255,255,255,0.6), transparent);
  z-index: 5;
  animation: cocomat-scroll-hint 2s ease-in-out infinite;
}

@keyframes cocomat-fade-up {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes cocomat-scroll-hint {
  0%, 100% { opacity: 0.4; transform: translateX(-50%) scaleY(1); }
  50% { opacity: 1; transform: translateX(-50%) scaleY(1.3); }
}


/* ==========================================================================
   SECTION SYSTEM
   ========================================================================== */

.cocomat-section {
  padding-top: clamp(5rem, 10vw, 9rem);
  padding-bottom: clamp(5rem, 10vw, 9rem);
}

/* Section background alternation */
.cocomat-section--white {
  background-color: #FFFFFF !important;
}

.cocomat-section--sand {
  background-color: #EDE6DC !important;
}

.cocomat-section--dark {
  background-color: #1A1611 !important;
  color: #F5F0EB !important;
}

/* Section labels — small uppercase category */
.cocomat-label {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.6875rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: #6B5B4A !important;
  margin-bottom: 1rem !important;
}

.cocomat-section--dark .cocomat-label {
  color: rgba(245, 240, 235, 0.5) !important;
}

/* Section titles */
.cocomat-section-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  margin-bottom: 1.5rem !important;
}

/* Section body text */
.cocomat-body-text {
  color: #6B5B4A !important;
  line-height: 1.8 !important;
  max-width: 640px;
}

.cocomat-section--dark .cocomat-body-text {
  color: rgba(245, 240, 235, 0.65) !important;
}

/* Decorative divider */
.cocomat-divider {
  display: block;
  width: 60px;
  height: 1px;
  background-color: #E8DFD3;
  margin: 2.5rem 0;
  border: none;
}

.cocomat-text-center .cocomat-divider,
.has-text-align-center .cocomat-divider {
  margin-left: auto;
  margin-right: auto;
}


/* ==========================================================================
   SCROLL ANIMATIONS
   ========================================================================== */

.cocomat-animate {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cocomat-animate.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Staggered delays for children */
.cocomat-stagger > *:nth-child(1) .cocomat-animate,
.cocomat-stagger > .cocomat-animate:nth-child(1) { transition-delay: 0s; }
.cocomat-stagger > *:nth-child(2) .cocomat-animate,
.cocomat-stagger > .cocomat-animate:nth-child(2) { transition-delay: 0.12s; }
.cocomat-stagger > *:nth-child(3) .cocomat-animate,
.cocomat-stagger > .cocomat-animate:nth-child(3) { transition-delay: 0.24s; }
.cocomat-stagger > *:nth-child(4) .cocomat-animate,
.cocomat-stagger > .cocomat-animate:nth-child(4) { transition-delay: 0.36s; }
.cocomat-stagger > *:nth-child(5) .cocomat-animate,
.cocomat-stagger > .cocomat-animate:nth-child(5) { transition-delay: 0.48s; }
.cocomat-stagger > *:nth-child(6) .cocomat-animate,
.cocomat-stagger > .cocomat-animate:nth-child(6) { transition-delay: 0.6s; }


/* ==========================================================================
   FEATURES GRID
   ========================================================================== */

.cocomat-features-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.5rem;
  margin-top: 4rem;
}

@media (max-width: 900px) {
  .cocomat-features-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
  }
}

@media (max-width: 600px) {
  .cocomat-features-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.cocomat-feature {
  text-align: center;
  padding: 2rem 1.5rem;
}

.cocomat-feature svg {
  display: block;
  width: 40px;
  height: 40px;
  margin: 0 auto 1.75rem;
  color: #4A5C3A;
  stroke-width: 1.5;
}

.cocomat-feature-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.25rem !important;
  font-weight: 500 !important;
  color: #1A1611 !important;
  margin-bottom: 0.75rem !important;
}

.cocomat-feature-text {
  font-size: 0.9375rem !important;
  line-height: 1.7 !important;
  color: #6B5B4A !important;
}


/* ==========================================================================
   PRODUCT CARDS
   ========================================================================== */

.cocomat-products-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
}

@media (max-width: 900px) {
  .cocomat-products-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .cocomat-products-grid {
    grid-template-columns: 1fr;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }
}

.cocomat-product-card {
  cursor: pointer;
  text-decoration: none !important;
}

.cocomat-product-card-image {
  overflow: hidden;
  background-color: #E8DFD3;
  margin-bottom: 1.25rem;
}

.cocomat-product-card-image img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  display: block;
  transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cocomat-product-card:hover .cocomat-product-card-image img {
  transform: scale(1.04);
}

.cocomat-product-card-name {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  color: #1A1611 !important;
  margin-bottom: 0.25rem !important;
  line-height: 1.4 !important;
}

.cocomat-product-card-price {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 300 !important;
  color: #6B5B4A !important;
}


/* ==========================================================================
   REALIZACJE (GALLERY) PREVIEW
   ========================================================================== */

.cocomat-gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}

@media (max-width: 600px) {
  .cocomat-gallery-grid {
    grid-template-columns: 1fr;
  }
}

.cocomat-gallery-item {
  overflow: hidden;
  position: relative;
}

.cocomat-gallery-item img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
  transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cocomat-gallery-item:hover img {
  transform: scale(1.03);
}

.cocomat-gallery-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 2rem;
  background: linear-gradient(to top, rgba(26, 22, 17, 0.6), transparent);
  color: #FFFFFF;
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.02em;
}


/* ==========================================================================
   FEATURES GRID — SVG icons, 3×2 grid
   ========================================================================== */

.cocomat-features {
  background-color: #F5F0EB;
}

.cocomat-features__header {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 4rem;
  padding: 0 2rem;
}

.cocomat-features__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem 3.5rem;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 2rem;
}

.cocomat-features__item {
  text-align: left;
  padding: 2rem 1rem;
}

.cocomat-features__icon {
  color: #4A5C3A;
  margin-bottom: 1.75rem;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cocomat-features__item:hover .cocomat-features__icon {
  transform: translateY(-3px);
}

.cocomat-features__icon svg {
  width: 40px;
  height: 40px;
}

.cocomat-features__title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.3rem;
  font-weight: 500;
  color: #1A1611;
  margin: 0 0 0.75rem;
  line-height: 1.3;
}

.cocomat-features__desc {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  font-weight: 300;
  line-height: 1.7;
  color: #6B5B4A;
  margin: 0;
}

@media (max-width: 900px) {
  .cocomat-features__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem 2rem;
  }
}

@media (max-width: 600px) {
  .cocomat-features__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}


/* ==========================================================================
   BUTTONS — Global improvements (text+arrow, solid, hover effects)
   ========================================================================== */

/* Secondary buttons: text + animated arrow */
.cocomat-section .is-style-outline .wp-block-button__link,
.cocomat-section .wp-block-button.is-style-outline .wp-element-button {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #1A1611 !important;
  position: relative;
  display: inline-flex !important;
  align-items: center;
  gap: 0.75rem;
  transition: color 0.3s ease !important;
  box-shadow: none !important;
  width: auto !important;
}

.cocomat-section .is-style-outline .wp-block-button__link::after,
.cocomat-section .wp-block-button.is-style-outline .wp-element-button::after {
  content: '→';
  display: inline-block;
  transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  font-size: 1rem;
}

.cocomat-section .is-style-outline .wp-block-button__link:hover,
.cocomat-section .wp-block-button.is-style-outline .wp-element-button:hover {
  color: #4A5C3A !important;
}

.cocomat-section .is-style-outline .wp-block-button__link:hover::after,
.cocomat-section .wp-block-button.is-style-outline .wp-element-button:hover::after {
  transform: translateX(6px);
}

/* Product cards hover zoom */
.cocomat-section .wp-block-image img {
  transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cocomat-section .wp-block-column:hover .wp-block-image img {
  transform: scale(1.04);
}

.cocomat-section .wp-block-image {
  overflow: hidden;
}


/* ==========================================================================
   CTA SECTION
   ========================================================================== */

.cocomat-cta-section {
  text-align: center;
  background-color: #1A1611;
  color: #F5F0EB;
  padding: clamp(6rem, 12vw, 12rem) 2rem;
}

.cocomat-cta-section .cocomat-section-title {
  color: #F5F0EB !important;
}

.cocomat-cta-section .cocomat-body-text {
  color: rgba(245, 240, 235, 0.6) !important;
  margin-left: auto;
  margin-right: auto;
}

.cocomat-cta-section .wp-block-button__link {
  background-color: #F5F0EB !important;
  color: #1A1611 !important;
  border: 2px solid #F5F0EB !important;
  border-radius: 0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 0.85rem 2.5rem !important;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  width: auto !important;
}

.cocomat-cta-section .wp-block-button__link:hover {
  background-color: transparent !important;
  color: #F5F0EB !important;
  border-color: #F5F0EB !important;
  transform: translateY(-2px);
}

.cocomat-cta-section .wp-block-button {
  flex: 0 0 auto !important;
}


/* ==========================================================================
   FOOTER
   ========================================================================== */

.cocomat-footer {
  background-color: #1A1611 !important;
  color: rgba(245, 240, 235, 0.5) !important;
  padding-top: 5rem;
  padding-bottom: 2rem;
}

.cocomat-footer a {
  color: rgba(245, 240, 235, 0.5) !important;
  text-decoration: none !important;
  transition: color 0.3s ease;
}

.cocomat-footer a:hover {
  color: #F5F0EB !important;
}

.cocomat-footer-brand {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #F5F0EB !important;
  margin-bottom: 1rem !important;
}

.cocomat-footer-bottom {
  border-top: 1px solid rgba(245, 240, 235, 0.08);
  padding-top: 2rem;
  margin-top: 4rem;
  font-size: 0.8125rem;
  color: rgba(245, 240, 235, 0.3) !important;
  gap: 1rem 2rem !important;
}

.cocomat-footer-legal-links {
  font-size: 0.8125rem;
  margin: 0 !important;
}

.cocomat-footer-legal-links a {
  color: rgba(245, 240, 235, 0.5) !important;
  transition: color 0.3s ease;
}

.cocomat-footer-legal-links a:hover {
  color: rgba(245, 240, 235, 0.85) !important;
}

@media (max-width: 768px) {
  .cocomat-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem !important;
  }

  .cocomat-footer-legal-links {
    font-size: 0.75rem;
    line-height: 1.8;
  }
}

/* ==========================================================================
   LEGAL PAGES — editorial typography spójna z O nas / Realizacje
   Klasa cocomat-legal-page dodana przez body_class filter w functions.php
   dla slug: polityka-prywatnosci, regulamin, zwroty-i-reklamacje, polityka-cookies
   ========================================================================== */

/* Wrapper main — węższy contentSize + padding jak hero subpage */
body.cocomat-legal-page .wp-site-blocks > main {
  padding-top: 5rem !important;
}

body.cocomat-legal-page .wp-block-post-content,
body.cocomat-legal-page main > .wp-block-group {
  max-width: 800px !important;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(1.5rem, 5vw, 3rem);
  padding-right: clamp(1.5rem, 5vw, 3rem);
}

/* Tytuł strony — mniejszy niż default xx-large, editorial vibe */
body.cocomat-legal-page .wp-block-post-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 300 !important;
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin-top: 2rem !important;
  margin-bottom: 2.5rem !important;
  text-align: left !important;
}

/* Body text — Inter 0.9375rem (15px) jak na O nas */
body.cocomat-legal-page .wp-block-post-content p,
body.cocomat-legal-page .wp-block-post-content li {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #1A1611;
}

/* Headings — Cormorant Garamond, mniejsze niż default Gutenberg */
body.cocomat-legal-page .wp-block-post-content h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.5rem, 2.5vw, 1.875rem);
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.25;
  margin-top: 3rem;
  margin-bottom: 1rem;
  color: #1A1611;
}

body.cocomat-legal-page .wp-block-post-content h3 {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.4;
  text-transform: none;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  color: #1A1611;
}

/* Listy — czystsze paddingi */
body.cocomat-legal-page .wp-block-post-content ol,
body.cocomat-legal-page .wp-block-post-content ul {
  margin: 1rem 0 1.5rem 0;
  padding-left: 1.5rem;
}

body.cocomat-legal-page .wp-block-post-content li {
  margin-bottom: 0.4rem;
}

body.cocomat-legal-page .wp-block-post-content li:last-child {
  margin-bottom: 0;
}

/* Code (placeholder) — dyskretny */
body.cocomat-legal-page .wp-block-post-content code {
  background: rgba(26, 22, 17, 0.06);
  padding: 0.1em 0.4em;
  border-radius: 3px;
  font-size: 0.85em;
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  color: #6B5B4A;
}

/* Strong (placeholdery typu [NAZWA FIRMY]) — wyrazisty ale spójny */
body.cocomat-legal-page .wp-block-post-content p strong,
body.cocomat-legal-page .wp-block-post-content li strong {
  color: #1A1611;
  font-weight: 600;
}

/* Linki w treści — akcent forest, dyskretne podkreślenie */
body.cocomat-legal-page .wp-block-post-content a {
  color: #4A5C3A;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
  transition: color 0.3s ease;
}

body.cocomat-legal-page .wp-block-post-content a:hover {
  color: #5A7048;
}

/* Blockquote (np. wzór oświadczenia) — editorial */
body.cocomat-legal-page .wp-block-post-content blockquote {
  border-left: 2px solid rgba(26, 22, 17, 0.2);
  padding-left: 1.5rem;
  margin: 2rem 0;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: rgba(26, 22, 17, 0.75);
}

body.cocomat-legal-page .wp-block-post-content blockquote p {
  margin: 0.5rem 0;
}

/* Meta line (Ostatnia aktualizacja) */
body.cocomat-legal-page .cocomat-legal-meta {
  font-size: 0.8125rem !important;
  color: rgba(26, 22, 17, 0.5);
  margin-bottom: 2rem;
  font-style: italic;
}

/* Disclaimer box — wyraźnie odróżniony, akcent forest */
body.cocomat-legal-page .cocomat-legal-disclaimer {
  margin-top: 4rem !important;
  padding: 1.5rem 1.75rem !important;
  background: rgba(74, 92, 58, 0.06);
  border-left: 3px solid #4A5C3A;
  font-size: 0.8125rem !important;
  line-height: 1.65 !important;
  color: #4A5C3A !important;
}

body.cocomat-legal-page .cocomat-legal-disclaimer strong {
  color: #4A5C3A !important;
}

body.cocomat-legal-page .cocomat-legal-disclaimer code {
  background: rgba(74, 92, 58, 0.12);
  color: #4A5C3A;
}

@media (max-width: 768px) {
  body.cocomat-legal-page .wp-block-post-title {
    font-size: 2rem !important;
    margin-top: 1rem !important;
    margin-bottom: 1.5rem !important;
  }

  body.cocomat-legal-page .wp-block-post-content h2 {
    font-size: 1.5rem;
    margin-top: 2.5rem;
  }

  body.cocomat-legal-page .wp-block-post-content p,
  body.cocomat-legal-page .wp-block-post-content li {
    font-size: 0.9375rem;
  }

  body.cocomat-legal-page .cocomat-legal-disclaimer {
    padding: 1.25rem !important;
  }
}


/* ==========================================================================
   WOOCOMMERCE INTEGRATION
   ========================================================================== */

/* Product listing */
.wc-block-grid__products,
.wp-block-woocommerce-product-collection .wc-block-product-template {
  gap: 2.5rem !important;
}

.wc-block-grid__product {
  border: none !important;
  box-shadow: none !important;
}

.wc-block-grid__product-image img,
.wc-block-product-template .wc-block-components-product-image img {
  transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.wc-block-grid__product:hover .wc-block-grid__product-image img,
.wc-block-product-template li:hover .wc-block-components-product-image img {
  transform: scale(1.03);
}

.wc-block-grid__product-title,
.wc-block-components-product-name {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

.wc-block-grid__product-price,
.wc-block-components-product-price {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 300 !important;
  color: #6B5B4A !important;
}

/* Single product */
.single-product .product_title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(2.75rem, 4.8vw, 5rem) !important;
  font-weight: 300 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.03em !important;
  margin-bottom: 1rem !important;
}

.single-product .price {
  font-family: 'Inter', sans-serif !important;
  font-weight: 300 !important;
  color: #6B5B4A !important;
}

/* Add to cart */
.single_add_to_cart_button,
.wc-block-components-product-button__button,
.wp-block-button.wc-block-components-product-button .wp-block-button__link {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  background-color: #4A5C3A !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0.75rem 2rem !important;
  transition: background-color 0.4s ease !important;
}

.single_add_to_cart_button:hover,
.wc-block-components-product-button__button:hover {
  background-color: #3d4d30 !important;
}

/* ==========================================================================
   GLOBAL BUTTON SIZING — consistent across entire shop
   ========================================================================== */

/* All WooCommerce Block buttons (cart, checkout, mini-cart, etc.) */
.wc-block-components-button,
.wc-block-cart .wp-element-button,
.wc-block-checkout .wp-element-button,
.wc-block-mini-cart__footer-actions .wp-element-button,
.woocommerce .wp-element-button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button {
  padding: 0.75rem 1.5rem !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  font-family: 'Inter', sans-serif !important;
  border-radius: 0 !important;
  white-space: nowrap !important;
  transition: background-color 0.4s ease, color 0.4s ease !important;
}

/* Outlined / secondary buttons in cart/checkout */
.wc-block-components-button--outlined,
.wc-block-cart .wp-element-button.outlined,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
  padding: 0.75rem 2rem !important;
}

/* Fix WC Blocks buttons using content-box (padding adds to height) */
.wc-block-components-button,
.wc-block-mini-cart__footer-actions .wp-element-button {
  box-sizing: border-box !important;
  line-height: 1.3 !important;
}

.wc-block-components-button .wc-block-components-button__text {
  line-height: 1.3 !important;
}

/* Mini-cart drawer — compact buttons (narrow space, uppercase wraps) */
.wc-block-mini-cart__footer-actions .wp-element-button {
  font-size: 0.6875rem !important;
  letter-spacing: 0.1em !important;
  padding: 0.625rem 1.25rem !important;
  white-space: nowrap !important;
}

/* Smaller buttons: coupon, quantity adjusters, etc. */
.wc-block-components-totals-coupon__button,
.wc-block-components-quantity-selector__button {
  padding: 0.5rem 1rem !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.1em !important;
}

/* Remove default WooCommerce borders/shadows */
.woocommerce-page .woocommerce,
.wc-block-cart,
.wc-block-checkout {
  font-family: 'Inter', sans-serif;
}

/* ==========================================================================
   CART / CHECKOUT — layout + transparent fields (global consistency)
   ========================================================================== */

/* Push content below fixed header — MAIN content area on all non-home pages */
body:not(.home) .wp-site-blocks > main {
  padding-top: 5rem !important;
}

/* ALL inputs, selects, textareas across WC Blocks — transparent, not white */
.wc-block-cart input[type="text"],
.wc-block-cart input[type="email"],
.wc-block-cart input[type="tel"],
.wc-block-cart input[type="number"],
.wc-block-cart input[type="search"],
.wc-block-cart select,
.wc-block-cart textarea,
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"],
.wc-block-checkout input[type="number"],
.wc-block-checkout input[type="search"],
.wc-block-checkout select,
.wc-block-checkout textarea,
.wc-block-components-totals-coupon__input input,
.wc-block-components-text-input input,
.wc-block-components-textarea textarea,
.wc-block-components-select .wc-block-components-select__container select {
  background: transparent !important;
  background-color: transparent !important;
  border: 1px solid rgba(26, 22, 17, 0.15) !important;
  border-radius: 0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.875rem !important;
  color: #1A1611 !important;
  transition: border-color 0.3s ease !important;
}

.wc-block-cart input:focus,
.wc-block-cart select:focus,
.wc-block-checkout input:focus,
.wc-block-checkout select:focus {
  border-color: rgba(26, 22, 17, 0.35) !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Coupon input specifically */
.wc-block-components-totals-coupon__content input {
  background: transparent !important;
  border: 1px solid rgba(26, 22, 17, 0.15) !important;
  border-radius: 0 !important;
}

/* ==========================================================================
   WOOCOMMERCE PAGE POLISH — archive + single product
   ========================================================================== */

/* Non-home pages should use the solid header immediately */
body:not(.home) .cocomat-header {
  background-color: rgba(245, 240, 235, 0.97);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  box-shadow: 0 1px 0 rgba(26, 22, 17, 0.06);
  padding: 1.25rem clamp(2.5rem, 5vw, 5rem);
}

body:not(.home) .cocomat-header a,
body:not(.home) .cocomat-header .wp-block-navigation a,
body:not(.home) .cocomat-header .wp-block-site-title a {
  color: #1A1611 !important;
  text-shadow: none;
}

body:not(.home) .cocomat-header .wp-block-navigation a:hover {
  color: #4A5C3A !important;
}

body:not(.home) .cocomat-header .wp-block-navigation__responsive-container-open svg {
  fill: #1A1611 !important;
}

/* Shared WooCommerce page spacing */
.post-type-archive-product main,
.tax-product_cat main,
.single-product main {
  padding-top: 7.5rem;
}

.post-type-archive-product .woocommerce,
.tax-product_cat .woocommerce,
.single-product .woocommerce {
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
}

.post-type-archive-product .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb,
.single-product .woocommerce-breadcrumb {
  font-size: 0.875rem;
  color: #6B5B4A;
  margin-bottom: 1.5rem;
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 clamp(2.5rem, 5vw, 5rem);
}

.post-type-archive-product .woocommerce-breadcrumb a,
.tax-product_cat .woocommerce-breadcrumb a,
.single-product .woocommerce-breadcrumb a {
  color: #6B5B4A !important;
}

/* Archive header */
.post-type-archive-product .woocommerce-products-header,
.tax-product_cat .woocommerce-products-header {
  margin-bottom: 2.5rem;
}

.post-type-archive-product .woocommerce-products-header__title.page-title,
.tax-product_cat .woocommerce-products-header__title.page-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(3.5rem, 8vw, 5.5rem);
  font-weight: 300;
  line-height: 0.92;
  letter-spacing: -0.03em;
  margin: 0 0 1.75rem;
}

.post-type-archive-product .woocommerce-result-count,
.tax-product_cat .woocommerce-result-count {
  float: none;
  margin: 0 0 2rem;
  font-size: 0.95rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6B5B4A;
}

.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering {
  float: none;
  margin: -4rem 0 2.5rem auto;
  text-align: right;
}

.post-type-archive-product .woocommerce-ordering select,
.tax-product_cat .woocommerce-ordering select,
.single-product .variations select,
.single-product form.cart .quantity input.qty {
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid rgba(26, 22, 17, 0.14);
  border-radius: 0;
  background: transparent;
  color: #1A1611;
  min-height: 56px;
  padding: 0 1rem;
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
}

/* Product grid — archive / category listing */
.post-type-archive-product .woocommerce ul.products,
.post-type-archive-product .woocommerce ul.products[class*="columns-"],
.tax-product_cat .woocommerce ul.products,
.tax-product_cat .woocommerce ul.products[class*="columns-"] {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(2.5rem, 4vw, 4rem) clamp(2rem, 3vw, 2.75rem) !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
  list-style: none !important;
}

.post-type-archive-product .woocommerce ul.products::before,
.post-type-archive-product .woocommerce ul.products::after,
.tax-product_cat .woocommerce ul.products::before,
.tax-product_cat .woocommerce ul.products::after {
  display: none !important;
  content: none !important;
}

.post-type-archive-product .woocommerce ul.products li.product,
.tax-product_cat .woocommerce ul.products li.product {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__link,
.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__link,
.single-product .related.products ul.products li.product .woocommerce-loop-product__link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.post-type-archive-product .woocommerce ul.products li.product.cocomat-archive-card,
.tax-product_cat .woocommerce ul.products li.product.cocomat-archive-card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.post-type-archive-product .woocommerce ul.products li.product.cocomat-archive-card .cocomat-archive-card__image-link,
.tax-product_cat .woocommerce ul.products li.product.cocomat-archive-card .cocomat-archive-card__image-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.post-type-archive-product .woocommerce ul.products li.product.cocomat-archive-card a img,
.tax-product_cat .woocommerce ul.products li.product.cocomat-archive-card a img,
.single-product .related.products ul.products li.product a img {
  width: 100% !important;
  aspect-ratio: 4 / 5;
  object-fit: contain;
  background: #FFFFFF;
  padding: clamp(1.5rem, 2vw, 2rem);
  margin: 0 !important;
  box-sizing: border-box !important;
}

.post-type-archive-product .woocommerce ul.products li.product.cocomat-archive-card .cocomat-archive-card__meta,
.tax-product_cat .woocommerce ul.products li.product.cocomat-archive-card .cocomat-archive-card__meta {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 34px !important;
  align-items: center !important;
  gap: 0.85rem !important;
}

.post-type-archive-product .woocommerce ul.products li.product.cocomat-archive-card .cocomat-archive-card__text-link,
.tax-product_cat .woocommerce ul.products li.product.cocomat-archive-card .cocomat-archive-card__text-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.post-type-archive-product .woocommerce ul.products li.product.cocomat-archive-card .woocommerce-loop-product__title,
.tax-product_cat .woocommerce ul.products li.product.cocomat-archive-card .woocommerce-loop-product__title,
.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  font-weight: 400;
  line-height: 1.15;
  text-align: left;
  padding: 0;
  margin: 0 0 0.5rem;
}

.post-type-archive-product .woocommerce ul.products li.product.cocomat-archive-card .price,
.tax-product_cat .woocommerce ul.products li.product.cocomat-archive-card .price,
.single-product .related.products ul.products li.product .price {
  display: block;
  text-align: left;
  font-family: 'Inter', sans-serif;
  font-size: 0.95rem;
  font-weight: 300;
  color: #6B5B4A;
  margin: 0;
}

.post-type-archive-product .woocommerce ul.products li.product.cocomat-archive-card .cocomat-loop-action,
.tax-product_cat .woocommerce ul.products li.product.cocomat-archive-card .cocomat-loop-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: start !important;
  justify-self: end !important;
  box-sizing: border-box !important;
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(26, 22, 17, 0.22) !important;
  background: rgba(255,255,255,0.72) !important;
  color: #1A1611 !important;
  text-decoration: none !important;
  line-height: 1 !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.65) inset;
  transition: background-color 0.28s ease, color 0.28s ease, border-color 0.28s ease, transform 0.28s ease;
}

.post-type-archive-product .woocommerce ul.products li.product.cocomat-archive-card .cocomat-loop-action:hover,
.tax-product_cat .woocommerce ul.products li.product.cocomat-archive-card .cocomat-loop-action:hover {
  background: #1A1611 !important;
  color: #F5F0EB !important;
  border-color: #1A1611 !important;
}

.post-type-archive-product .woocommerce ul.products li.product.cocomat-archive-card .cocomat-loop-action__icon,
.tax-product_cat .woocommerce ul.products li.product.cocomat-archive-card .cocomat-loop-action__icon {
  display: block;
  transition: transform 0.28s ease;
}

.post-type-archive-product .woocommerce ul.products li.product.cocomat-archive-card .cocomat-loop-action--add:hover .cocomat-loop-action__icon,
.tax-product_cat .woocommerce ul.products li.product.cocomat-archive-card .cocomat-loop-action--add:hover .cocomat-loop-action__icon {
  transform: rotate(90deg) scale(1.04);
}

.post-type-archive-product .woocommerce ul.products li.product.cocomat-archive-card .cocomat-loop-action--details:hover .cocomat-loop-action__icon,
.tax-product_cat .woocommerce ul.products li.product.cocomat-archive-card .cocomat-loop-action--details:hover .cocomat-loop-action__icon {
  transform: translateX(2px);
}

.post-type-archive-product .woocommerce ul.products li.product.cocomat-archive-card .screen-reader-text,
.tax-product_cat .woocommerce ul.products li.product.cocomat-archive-card .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Related product buttons — see main rule block below (single declaration) */

/* ==========================================================================
   SINGLE PRODUCT — full rebuild
   ========================================================================== */

/* Grid: images + summary top, tabs + related full-width below */
.single-product div.product {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(3rem, 5vw, 5rem);
  align-items: start;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 clamp(2.5rem, 5vw, 5rem);
  overflow-x: clip;
}

/* Force all children into proper grid placement */
.single-product div.product > * {
  min-width: 0;
}

/* Images: first column */
.single-product div.product div.images {
  grid-column: 1;
  grid-row: 1;
  width: auto !important;
  float: none !important;
  margin: 0 !important;
}

/* Summary: second column */
.single-product div.product div.summary {
  grid-column: 2;
  grid-row: 1;
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding-top: 1rem;
}

/* Tabs: FULL WIDTH below product */
.single-product div.product .woocommerce-tabs {
  grid-column: 1 / -1;
  margin-top: 2rem;
}

/* Related products: FULL WIDTH below tabs */
.single-product div.product .related.products {
  grid-column: 1 / -1;
  margin-top: 3rem;
  padding-top: 4rem;
  padding-right: 0;
  border-top: 1px solid rgba(26, 22, 17, 0.06);
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

/* Any other stray children: full width */
.single-product div.product > .clear,
.single-product div.product > .woocommerce-notices-wrapper {
  grid-column: 1 / -1;
}

/* --- Gallery --- */
.single-product .woocommerce-product-gallery {
  position: sticky;
  top: 7rem;
}

.single-product .woocommerce-product-gallery__image a {
  display: block;
  background: #FFFFFF;
  padding: clamp(1rem, 2vw, 2rem);
}

.single-product .woocommerce-product-gallery__image img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Gallery thumbnails */
.single-product .woocommerce-product-gallery .flex-control-thumbs {
  display: flex;
  gap: 0.75rem;
  margin-top: 0.75rem;
  padding: 0;
  list-style: none;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li {
  flex: 0 0 80px;
  width: 80px;
  height: 80px;
  overflow: hidden;
  background: #FFFFFF;
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.3s ease;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 6px;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li:hover,
.single-product .woocommerce-product-gallery .flex-control-thumbs li .flex-active {
  opacity: 1;
}

/* Zoom icon */
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 5;
  width: 40px;
  height: 40px;
  background: rgba(245, 240, 235, 0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger:hover {
  background: #FFFFFF;
}

/* --- Summary --- */
.single-product .summary .woocommerce-product-details__short-description {
  font-size: 1.125rem;
  line-height: 1.7;
  color: #1A1611;
  margin-bottom: 1.25rem;
}

.single-product div.product p.price {
  font-size: 1.25rem;
  margin-bottom: 0.75rem;
}

/* Variations form */
.single-product form.variations_form,
.single-product form.cart {
  margin-top: 0.75rem;
  padding-top: 0;
  border-top: none;
}

.single-product table.variations {
  margin-bottom: 1.5rem;
  width: auto;
}

.single-product table.variations td,
.single-product table.variations th {
  border: none !important;
  padding: 0 !important;
  vertical-align: middle;
}

.single-product table.variations label {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.625rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: rgba(107, 91, 74, 0.65) !important;
  white-space: nowrap;
}

/* ==========================================================================
   QUANTITY STEPPER — transparent / premium inline control
   ========================================================================== */
.cocomat-qty,
.woocommerce div.product form.cart .cocomat-qty {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  height: 44px !important;
  border: 1px solid rgba(26, 22, 17, 0.10) !important;
  background: transparent !important;
  user-select: none;
  float: none !important;
  vertical-align: middle !important;
  backdrop-filter: blur(0);
}

.cocomat-qty .cocomat-qty__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 100%;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  color: rgba(26, 22, 17, 0.78);
  cursor: pointer;
  transition: color 0.22s ease, background-color 0.22s ease, opacity 0.22s ease;
}

.cocomat-qty .cocomat-qty__btn:hover {
  color: #1A1611;
  background: rgba(26, 22, 17, 0.025);
}

.cocomat-qty .cocomat-qty__btn:active {
  background: rgba(26, 22, 17, 0.05);
}

.cocomat-qty .cocomat-qty__btn svg {
  display: block;
  opacity: 0.92;
}

.cocomat-qty .qty,
.woocommerce div.product form.cart .cocomat-qty .qty {
  width: 34px;
  height: 100%;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-family: 'Inter', sans-serif;
  font-size: 0.9rem;
  font-weight: 500;
  color: #1A1611;
  text-align: center;
  line-height: 44px;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: textfield;
  appearance: none;
  box-sizing: border-box;
  cursor: default;
}

/* Cart row */
.single-product form.cart {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap;
  gap: 1rem;
}

.single-product form.cart .cocomat-qty {
  flex-shrink: 0;
}

.single-product form.cart > * {
  margin-bottom: 0 !important;
}

/* Add to cart button - bigger, bolder */
.single-product .single_add_to_cart_button {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  background-color: #1A1611 !important;
  color: #F5F0EB !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0.85rem 2.5rem !important;
  transition: background-color 0.4s ease, transform 0.2s ease !important;
  cursor: pointer;
}

.single-product .single_add_to_cart_button:hover {
  background-color: #4A5C3A !important;
  transform: translateY(-1px);
}

/* Product meta */
.single-product .product_meta {
  border-top: 1px solid rgba(26, 22, 17, 0.06);
  padding-top: 1.5rem;
  margin-top: 2.5rem;
  color: #6B5B4A;
  font-size: 0.875rem;
}

.single-product .product_meta > span {
  display: block;
  margin-bottom: 0.4rem;
}

/* --- Tabs --- */
.single-product .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 2.5rem;
  border-bottom: 1px solid rgba(26, 22, 17, 0.08);
  margin: 0 0 2.5rem;
  padding: 0;
  list-style: none;
}

.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after {
  display: none !important;
}

.single-product .woocommerce-tabs ul.tabs li {
  border: none !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 0 1.25rem !important;
  position: relative;
}

/* Hide WooCommerce default tab markers (5x5 squares with borders) */
.single-product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  border: none !important;
  box-shadow: none !important;
}
.single-product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  content: '' !important;
  position: absolute !important;
  bottom: -1px !important;
  left: 0 !important;
  right: auto !important;
  width: 100% !important;
  height: 2px !important;
  background: transparent !important;
  transition: background 0.3s ease;
}

.single-product .woocommerce-tabs ul.tabs li a {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6B5B4A !important;
  text-decoration: none !important;
  padding: 0;
}

.single-product .woocommerce-tabs ul.tabs li.active::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
  background: #1A1611 !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
  color: #1A1611 !important;
}

/* Tab content */
.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
  max-width: 800px;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
  display: none; /* Remove redundant "Opis" heading inside tab content */
}

/* --- Related Products --- */
.single-product .related.products > h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(2rem, 3vw, 2.75rem);
  font-weight: 400;
  margin-bottom: 2.5rem;
}

.single-product .related.products ul.products,
.single-product .related.products ul.products[class*="columns-"] {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 2rem !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
  list-style: none !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.single-product .related.products ul.products::before,
.single-product .related.products ul.products::after {
  display: none !important;
  content: none !important;
}

.single-product .related.products ul.products li.product {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden;
}

.single-product .related.products ul.products li.product a img {
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: 4 / 5;
  object-fit: contain;
  background: #FFFFFF;
  padding: clamp(1rem, 2vw, 1.5rem);
  margin-bottom: 1rem !important;
  box-sizing: border-box !important;
}

.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.25rem;
  font-weight: 400;
  text-align: center;
  padding: 0;
  margin: 0 0 0.5rem;
}

.single-product .related.products ul.products li.product .price {
  text-align: center;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.8125rem !important;
  font-weight: 300 !important;
  color: #6B5B4A !important;
  display: block;
  margin-bottom: 1.25rem;
}

.single-product .related.products ul.products li.product .button {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  text-align: center !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.12em !important;
  padding: 0.7rem 1rem !important;
  background-color: transparent !important;
  color: #1A1611 !important;
  border: 1px solid rgba(26, 22, 17, 0.2) !important;
  transition: all 0.3s ease !important;
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  box-sizing: border-box !important;
  align-self: center !important;
  margin: 0 auto !important;
}

.single-product .related.products ul.products li.product .button:hover {
  background-color: #1A1611 !important;
  color: #F5F0EB !important;
  border-color: #1A1611 !important;
}

@media (min-width: 1200px) {
  .post-type-archive-product .woocommerce ul.products,
  .tax-product_cat .woocommerce ul.products,
  .single-product .related.products ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ==========================================================================
   RESPONSIVE REFINEMENTS
   ========================================================================== */

@media (max-width: 768px) {
  .cocomat-header {
    padding: 1.25rem 1.5rem;
  }

  .cocomat-header.is-scrolled {
    padding: 1rem 1.5rem;
  }

  .cocomat-hero::before {
    height: 120px;
  }

  /* Mobile: swap desktop video for mobile version */
  .cocomat-hero__video--desktop {
    display: none;
  }
  .cocomat-hero__video--mobile {
    display: block;
  }

  .cocomat-hero .cocomat-hero-title {
    letter-spacing: 0.02em;
  }

  .cocomat-hero-cta-link {
    padding: 0.7rem 2rem;
    font-size: 0.6875rem;
  }

  .cocomat-hero::after {
    bottom: 1.5rem;
    height: 36px;
  }

  body:not(.home) .cocomat-header {
    padding: 1rem 1.5rem;
  }

  .post-type-archive-product main,
  .tax-product_cat main,
  .single-product main {
    padding-top: 6.5rem;
  }

  .post-type-archive-product .woocommerce-products-header__title.page-title,
  .tax-product_cat .woocommerce-products-header__title.page-title {
    font-size: clamp(3rem, 14vw, 4.25rem);
  }

  .post-type-archive-product .woocommerce-ordering,
  .tax-product_cat .woocommerce-ordering {
    margin: 0 0 2rem;
    text-align: left;
  }

  .post-type-archive-product .woocommerce ul.products,
  .tax-product_cat .woocommerce ul.products {
    grid-template-columns: 1fr;
  }

  .post-type-archive-product .woocommerce ul.products li.product .button,
  .tax-product_cat .woocommerce ul.products li.product .button {
    width: 100%;
    min-width: 0;
  }

  .single-product div.product {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 0 1.25rem;
  }

  .single-product div.product div.images,
  .single-product div.product div.summary,
  .single-product div.product .woocommerce-tabs,
  .single-product div.product .related.products {
    grid-column: 1;
  }

  .single-product .woocommerce-product-gallery {
    position: static;
    top: auto;
  }

  .single-product .related.products ul.products,
  .single-product .related.products ul.products[class*="columns-"] {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }

  .single-product .related.products ul.products li.product .button {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0.7rem 1rem !important;
    font-size: 0.7rem !important;
  }

  .single-product .woocommerce-tabs ul.tabs {
    gap: 1.5rem;
    flex-wrap: wrap;
  }
}


/* ==========================================================================
   IMAGE LOADING — smooth fade-in
   ========================================================================== */

img {
  opacity: 1;
  transition: opacity 0.5s ease;
}

img[loading="lazy"] {
  opacity: 0;
}

img[loading="lazy"].is-loaded,
img[loading="lazy"]:not([data-src]) {
  opacity: 1;
}

/* ==========================================================================
   WOOCOMMERCE NOTICES — subtle premium toast instead of dated green bar
   ========================================================================== */
.woocommerce-notices-wrapper {
  position: relative;
  z-index: 40;
}

.woocommerce-message,
.wc-block-components-notice-banner.is-success {
  position: fixed;
  top: 6.5rem;
  right: 2rem;
  left: auto;
  width: min(460px, calc(100vw - 2rem));
  margin: 0 !important;
  padding: 1rem 1.125rem 1rem 1rem !important;
  border: 1px solid rgba(74, 92, 58, 0.14) !important;
  border-left: 3px solid #4A5C3A !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.94) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 20px 50px rgba(26, 22, 17, 0.12);
  color: #1A1611 !important;
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  line-height: 1.5;
  transform: translateY(0);
  opacity: 1;
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.woocommerce-message.is-dismissing,
.wc-block-components-notice-banner.is-success.is-dismissing {
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
}

.woocommerce-message::before,
.wc-block-components-notice-banner.is-success::before {
  color: #4A5C3A !important;
  top: 50% !important;
  transform: translateY(-50%);
  left: 0.875rem !important;
}

.woocommerce-message,
.wc-block-components-notice-banner.is-success {
  padding-left: 2.75rem !important;
}

.woocommerce-message a,
.wc-block-components-notice-banner.is-success a {
  color: #1A1611 !important;
  text-decoration: none;
  font-weight: 500;
}

.woocommerce-message .button,
.woocommerce-message a.button,
.woocommerce-message .wc-forward,
.wc-block-components-notice-banner.is-success .wc-forward {
  float: none !important;
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
  margin: 0 0 0 0.8rem !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #6B5B4A !important;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.woocommerce-message .button:hover,
.woocommerce-message a.button:hover,
.woocommerce-message .wc-forward:hover,
.wc-block-components-notice-banner.is-success .wc-forward:hover {
  color: #1A1611 !important;
  background: transparent !important;
}

@media (max-width: 782px) {
  .woocommerce-message,
  .wc-block-components-notice-banner.is-success {
    top: 5.5rem;
    left: 1rem;
    right: 1rem;
    width: auto;
  }

  .woocommerce-message .button,
  .woocommerce-message a.button,
  .woocommerce-message .wc-forward,
  .wc-block-components-notice-banner.is-success .wc-forward {
    display: block !important;
    margin: 0.6rem 0 0 0 !important;
  }
}


/* Force component-level styles for custom archive card action */
.cocomat-archive-card__meta {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 34px !important;
  align-items: center !important;
  gap: 0.85rem !important;
}

.cocomat-archive-card__text-link {
  display: block !important;
  color: inherit !important;
  text-decoration: none !important;
}

.cocomat-archive-card .cocomat-loop-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  justify-self: end !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #1A1611 !important;
  text-decoration: none !important;
  line-height: 1 !important;
  box-shadow: none !important;
  transform: translateY(-1px);
  transition: color 0.28s ease, transform 0.28s ease !important;
}

.cocomat-archive-card .cocomat-loop-action:hover {
  background: transparent !important;
  color: #6B5B4A !important;
  transform: translateY(-1px) scale(1.08);
}

.cocomat-archive-card .cocomat-loop-action__icon {
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  transition: transform 0.28s ease !important;
}

.cocomat-archive-card .cocomat-loop-action--add:hover .cocomat-loop-action__icon {
  transform: rotate(90deg) scale(1.04);
}

.cocomat-archive-card .cocomat-loop-action--details:hover .cocomat-loop-action__icon {
  transform: translateX(2px);
}

/* ==========================================================================
   TYPOGRAPHY REFINEMENT — quieter, Zara-like scale for shop + product pages
   ========================================================================== */
.post-type-archive-product .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb,
.single-product .woocommerce-breadcrumb {
  font-size: 0.75rem !important;
  line-height: 1.45 !important;
}

.post-type-archive-product .woocommerce-products-header__title.page-title,
.tax-product_cat .woocommerce-products-header__title.page-title {
  font-size: clamp(2.9rem, 5vw, 4.25rem) !important;
  line-height: 0.96 !important;
  margin: 0 0 1.25rem !important;
}

.post-type-archive-product .woocommerce-result-count,
.tax-product_cat .woocommerce-result-count {
  font-size: 0.78rem !important;
  letter-spacing: 0.08em !important;
  margin: 0 0 1.5rem !important;
}

.post-type-archive-product .woocommerce-ordering select,
.tax-product_cat .woocommerce-ordering select {
  min-height: 46px !important;
  font-size: 0.8125rem !important;
  padding: 0 0.85rem !important;
}

.post-type-archive-product .woocommerce ul.products,
.tax-product_cat .woocommerce ul.products {
  gap: clamp(2rem, 3vw, 2.9rem) clamp(1.6rem, 2.3vw, 2.2rem) !important;
}

.post-type-archive-product .woocommerce ul.products li.product.cocomat-archive-card,
.tax-product_cat .woocommerce ul.products li.product.cocomat-archive-card {
  gap: 0.7rem !important;
}

.post-type-archive-product .woocommerce ul.products li.product.cocomat-archive-card .woocommerce-loop-product__title,
.tax-product_cat .woocommerce ul.products li.product.cocomat-archive-card .woocommerce-loop-product__title,
.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
  font-size: clamp(0.98rem, 1.15vw, 1.12rem) !important;
  line-height: 1.22 !important;
  margin: 0 0 0.3rem !important;
}

.post-type-archive-product .woocommerce ul.products li.product.cocomat-archive-card .price,
.tax-product_cat .woocommerce ul.products li.product.cocomat-archive-card .price {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 0.98rem !important;
  line-height: 1.1 !important;
  letter-spacing: -0.01em !important;
}

.cocomat-archive-card .cocomat-loop-action {
  transform: translateY(1px);
}

.cocomat-archive-card .cocomat-loop-action__icon {
  width: 12px !important;
  height: 12px !important;
}

.single-product .product_title {
  font-size: clamp(2.2rem, 3.6vw, 3.8rem) !important;
  line-height: 0.98 !important;
  margin-bottom: 0.75rem !important;
}

.single-product div.product p.price,
.single-product .price {
  font-size: 1rem !important;
}

.single-product .summary .woocommerce-product-details__short-description {
  font-size: 0.98rem !important;
  line-height: 1.65 !important;
  max-width: 34rem;
  margin-bottom: 2rem !important;
}

.single-product table.variations label {
  font-size: 0.8125rem !important;
  letter-spacing: 0.02em !important;
}

.single-product .woocommerce-tabs ul.tabs {
  gap: 1.75rem !important;
  margin: 0 0 1.8rem !important;
}

.single-product .woocommerce-tabs ul.tabs li {
  padding: 0 0 0.9rem !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
  font-size: 0.8125rem !important;
  letter-spacing: 0.08em !important;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
  max-width: 740px !important;
  font-size: 0.94rem !important;
  line-height: 1.75 !important;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel p {
  font-size: 0.94rem !important;
  line-height: 1.75 !important;
}

.single-product .related.products > h2 {
  font-size: clamp(1.7rem, 2.2vw, 2.2rem) !important;
  margin-bottom: 2rem !important;
}

/* Final archive card typography/action alignment override */
.cocomat-archive-card .price,
.post-type-archive-product .woocommerce ul.products li.product.cocomat-archive-card .price,
.tax-product_cat .woocommerce ul.products li.product.cocomat-archive-card .price {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.08rem !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.01em !important;
  color: #1A1611 !important;
  text-align: left !important;
  margin: 0 !important;
}

.cocomat-archive-card .cocomat-archive-card__meta {
  grid-template-columns: minmax(0, 1fr) 38px !important;
  align-items: center !important;
  gap: 0.95rem !important;
}

.cocomat-archive-card .cocomat-loop-action {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  align-self: center !important;
  justify-self: end !important;
  transform: translateY(0) !important;
}

.cocomat-archive-card .cocomat-loop-action:hover {
  transform: scale(1.08) !important;
}

.cocomat-archive-card .cocomat-loop-action__icon {
  width: 28px !important;
  height: 28px !important;
}

/* Revert archive card price to previous font */
.cocomat-archive-card .price,
.post-type-archive-product .woocommerce ul.products li.product.cocomat-archive-card .price,
.tax-product_cat .woocommerce ul.products li.product.cocomat-archive-card .price {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.8125rem !important;
  font-weight: 300 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  color: #6B5B4A !important;
}

/* Mobile single product hard reset — prevent desktop grid overlap */
@media (max-width: 768px) {
  .single-product div.product {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
    padding: 0 1rem !important;
  }

  .single-product div.product div.images {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
  }

  .single-product div.product div.summary {
    grid-column: 1 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    padding-top: 0 !important;
  }

  .single-product div.product .woocommerce-tabs {
    grid-column: 1 !important;
    grid-row: 3 !important;
    margin-top: 0.5rem !important;
  }

  .single-product div.product .related.products {
    grid-column: 1 !important;
    grid-row: 4 !important;
    margin-top: 1.5rem !important;
    padding-top: 2rem !important;
  }

  .single-product .product_title {
    font-size: clamp(2rem, 9vw, 2.6rem) !important;
    line-height: 0.98 !important;
    margin-bottom: 0.5rem !important;
  }

  .single-product .summary .woocommerce-product-details__short-description {
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    margin-bottom: 1.25rem !important;
  }

  .single-product div.product p.price,
  .single-product .price {
    font-size: 1rem !important;
    margin-bottom: 1rem !important;
  }

  .single-product .woocommerce-product-gallery__image a {
    padding: 0.85rem !important;
  }

  .single-product .woocommerce-product-gallery .flex-control-thumbs {
    gap: 0.5rem !important;
    margin-top: 0.65rem !important;
    overflow-x: auto !important;
    padding-bottom: 0.25rem !important;
    scroll-snap-type: x proximity;
  }

  .single-product .woocommerce-product-gallery .flex-control-thumbs li {
    flex: 0 0 64px !important;
    width: 64px !important;
    height: 64px !important;
    scroll-snap-align: start;
  }

  .single-product form.cart {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 0.75rem !important;
    margin-top: 1.25rem !important;
    padding-top: 1.25rem !important;
  }

  .single-product form.cart .cocomat-qty {
    flex: 0 0 auto !important;
    height: 48px !important;
  }

  .single-product form.cart .cocomat-qty .cocomat-qty__btn {
    width: 40px !important;
  }

  .single-product form.cart .cocomat-qty .qty {
    width: 34px !important;
    font-size: 0.875rem !important;
    line-height: 48px !important;
  }

  .single-product .single_add_to_cart_button {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    padding: 0.95rem 1.2rem !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.12em !important;
    white-space: nowrap !important;
  }

  .single-product .woocommerce-tabs ul.tabs {
    gap: 1.25rem !important;
    margin: 0 0 1.25rem !important;
  }

  .single-product .woocommerce-tabs .woocommerce-Tabs-panel,
  .single-product .woocommerce-tabs .woocommerce-Tabs-panel p {
    font-size: 0.92rem !important;
    line-height: 1.7 !important;
  }
}

/* Variable product — mobile */
@media (max-width: 768px) {
  .single-product form.variations_form table.variations select {
    min-height: 46px !important;
    font-size: 0.875rem !important;
  }

  .single-product form.variations_form .woocommerce-variation-add-to-cart {
    gap: 0.75rem !important;
  }

  .single-product form.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button {
    padding: 0.95rem 1.2rem !important;
    font-size: 0.75rem !important;
  }
}

/* Fix: mobile menu links on commerce/non-home surfaces were inheriting dark header link color */
body:not(.home) .cocomat-header .wp-block-navigation__responsive-container.is-menu-open a,
body:not(.home) .cocomat-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.cocomat-commerce-surface .cocomat-header .wp-block-navigation__responsive-container.is-menu-open a,
.cocomat-commerce-surface .cocomat-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  color: #F5F0EB !important;
}

body:not(.home) .cocomat-header .wp-block-navigation__responsive-container.is-menu-open a:hover,
body:not(.home) .cocomat-header .wp-block-navigation__responsive-container.is-menu-open a:focus,
.cocomat-commerce-surface .cocomat-header .wp-block-navigation__responsive-container.is-menu-open a:hover,
.cocomat-commerce-surface .cocomat-header .wp-block-navigation__responsive-container.is-menu-open a:focus {
  color: rgba(245, 240, 235, 0.6) !important;
}

/* Shop archive cleanup */
.post-type-archive-product .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb {
  display: none !important;
}

/* Premium sort control on shop archive */
.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering {
  position: relative;
  margin: -3.2rem 0 2.25rem auto !important;
  text-align: right;
}

.post-type-archive-product .woocommerce-ordering::after,
.tax-product_cat .woocommerce-ordering::after {
  content: '';
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 1.5px solid #1A1611;
  border-bottom: 1.5px solid #1A1611;
  transform: translateY(-65%) rotate(45deg);
  pointer-events: none;
  opacity: 0.7;
}

.post-type-archive-product .woocommerce-ordering select,
.tax-product_cat .woocommerce-ordering select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  min-height: 44px !important;
  padding: 0 2.6rem 0 1rem !important;
  border: 1px solid rgba(26, 22, 17, 0.12) !important;
  background: transparent !important;
  color: #1A1611 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  transition: border-color 0.25s ease, background-color 0.25s ease;
}

.post-type-archive-product .woocommerce-ordering select:hover,
.tax-product_cat .woocommerce-ordering select:hover,
.post-type-archive-product .woocommerce-ordering select:focus,
.tax-product_cat .woocommerce-ordering select:focus {
  border-color: rgba(26, 22, 17, 0.22) !important;
  background: transparent !important;
  outline: none !important;
}

@media (max-width: 768px) {
  .post-type-archive-product .woocommerce-ordering,
  .tax-product_cat .woocommerce-ordering {
    margin: 0 0 1.5rem !important;
    text-align: left;
  }

  .post-type-archive-product .woocommerce-ordering select,
  .tax-product_cat .woocommerce-ordering select {
    width: 100% !important;
  }
}


/* Shop sorting — borderless editorial control */
.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
}

.post-type-archive-product .woocommerce-ordering::before,
.tax-product_cat .woocommerce-ordering::before {
  content: 'Sortuj';
  font-family: 'Inter', sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(26, 22, 17, 0.5);
}

.post-type-archive-product .woocommerce-ordering::after,
.tax-product_cat .woocommerce-ordering::after {
  right: 0.15rem;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid #1A1611;
  border-bottom: 1.5px solid #1A1611;
  transform: translateY(-65%) rotate(45deg);
  opacity: 0.75;
}

.post-type-archive-product .woocommerce-ordering select,
.tax-product_cat .woocommerce-ordering select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  min-height: auto !important;
  padding: 0 1.25rem 0 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #1A1611 !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.15rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  cursor: pointer;
}

.post-type-archive-product .woocommerce-ordering select:hover,
.tax-product_cat .woocommerce-ordering select:hover,
.post-type-archive-product .woocommerce-ordering select:focus,
.tax-product_cat .woocommerce-ordering select:focus {
  border: 0 !important;
  background: transparent !important;
  outline: none !important;
  color: #6B5B4A !important;
}

@media (max-width: 768px) {
  .post-type-archive-product .woocommerce-ordering::before,
  .tax-product_cat .woocommerce-ordering::before {
    display: none;
  }

  .post-type-archive-product .woocommerce-ordering select,
  .tax-product_cat .woocommerce-ordering select {
    width: auto !important;
    font-size: 1rem !important;
  }
}

/* Shop sorting — cleaner fashion-style control */
.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering {
  display: inline-block !important;
  margin: -2.8rem 0 2rem auto !important;
}

.post-type-archive-product .woocommerce-ordering::before,
.tax-product_cat .woocommerce-ordering::before {
  display: none !important;
  content: none !important;
}

.post-type-archive-product .woocommerce-ordering::after,
.tax-product_cat .woocommerce-ordering::after {
  right: 0 !important;
  top: 50% !important;
  width: 6px !important;
  height: 6px !important;
  border-right: 1.25px solid rgba(26,22,17,0.8) !important;
  border-bottom: 1.25px solid rgba(26,22,17,0.8) !important;
  transform: translateY(-60%) rotate(45deg) !important;
}

.post-type-archive-product .woocommerce-ordering select,
.tax-product_cat .woocommerce-ordering select {
  padding: 0 1rem 0 0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(26, 22, 17, 0.78) !important;
}

.post-type-archive-product .woocommerce-ordering select:hover,
.tax-product_cat .woocommerce-ordering select:hover,
.post-type-archive-product .woocommerce-ordering select:focus,
.tax-product_cat .woocommerce-ordering select:focus {
  color: #1A1611 !important;
}

@media (max-width: 768px) {
  .post-type-archive-product .woocommerce-ordering,
  .tax-product_cat .woocommerce-ordering {
    margin: 0 0 1.25rem !important;
  }
}

/* Shop sorting — align right and center chevron with label */
.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  line-height: 1 !important;
}

.post-type-archive-product .woocommerce-products-header,
.tax-product_cat .woocommerce-products-header {
  position: relative;
  padding-right: 12rem;
}

.post-type-archive-product .woocommerce-ordering::after,
.tax-product_cat .woocommerce-ordering::after {
  right: 0 !important;
  top: 50% !important;
  margin-top: -1px !important;
  transform: translateY(-50%) rotate(45deg) !important;
}

.post-type-archive-product .woocommerce-ordering select,
.tax-product_cat .woocommerce-ordering select {
  display: inline-block !important;
  vertical-align: middle !important;
  line-height: 1 !important;
  padding: 0 1rem 0 0 !important;
}

@media (max-width: 768px) {
  .post-type-archive-product .woocommerce-products-header,
  .tax-product_cat .woocommerce-products-header {
    padding-right: 0;
  }

  .post-type-archive-product .woocommerce-ordering,
  .tax-product_cat .woocommerce-ordering {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 0 1.25rem !important;
  }
}

/* Fix shop ordering visibility — no absolute positioning */
.post-type-archive-product .woocommerce-products-header,
.tax-product_cat .woocommerce-products-header {
  padding-right: 0 !important;
}

.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 100% !important;
  margin: -2.1rem 0 1.75rem 0 !important;
  line-height: 1 !important;
}

.post-type-archive-product .woocommerce-ordering select,
.tax-product_cat .woocommerce-ordering select {
  display: inline-block !important;
}

@media (max-width: 768px) {
  .post-type-archive-product .woocommerce-ordering,
  .tax-product_cat .woocommerce-ordering {
    justify-content: flex-start !important;
    margin: 0 0 1.25rem 0 !important;
  }
}

/* Fix sort chevron positioning — bind it to the label, not full row width */
.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering {
  width: max-content !important;
  min-width: 0 !important;
  margin: -2.1rem 0 1.75rem auto !important;
  justify-content: flex-start !important;
}

.post-type-archive-product .woocommerce-ordering::after,
.tax-product_cat .woocommerce-ordering::after {
  right: 0.1rem !important;
}

.post-type-archive-product .woocommerce-ordering select,
.tax-product_cat .woocommerce-ordering select {
  padding-right: 1.1rem !important;
}

@media (max-width: 768px) {
  .post-type-archive-product .woocommerce-ordering,
  .tax-product_cat .woocommerce-ordering {
    width: max-content !important;
    margin: 0 0 1.25rem 0 !important;
  }
}

/* Final shop sorting chevron — render inside select, not via pseudo-element */
.post-type-archive-product .woocommerce-ordering::after,
.tax-product_cat .woocommerce-ordering::after {
  display: none !important;
  content: none !important;
}

.post-type-archive-product .woocommerce-ordering select,
.tax-product_cat .woocommerce-ordering select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%231A1611' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.05rem center !important;
  background-size: 10px 6px !important;
  padding-right: 1.35rem !important;
}

/* Tighten native select width so chevron sits close to label */
.post-type-archive-product .woocommerce-ordering select,
.tax-product_cat .woocommerce-ordering select {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  display: inline-block !important;
  flex: 0 0 auto !important;
  padding-right: 0.9rem !important;
  background-position: right 0 center !important;
}

.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering {
  flex: 0 0 auto !important;
}

/* Final tighten for sort control */
.post-type-archive-product .woocommerce-ordering select,
.tax-product_cat .woocommerce-ordering select {
  padding-right: 0.75rem !important;
  background-position: right 0 center !important;
}

/* Match commerce header height to home header in scrolled state */
.cocomat-header.is-scrolled,
body:not(.home) .cocomat-header {
  min-height: 78px;
}

.cocomat-header.is-scrolled .wp-block-woocommerce-customer-account a,
.cocomat-header.is-scrolled .wc-block-mini-cart__button,
body:not(.home) .cocomat-header .wp-block-woocommerce-customer-account a,
body:not(.home) .cocomat-header .wc-block-mini-cart__button {
  width: 2.25rem;
  height: 2.25rem;
}

@media (max-width: 768px) {
  .cocomat-header.is-scrolled,
  body:not(.home) .cocomat-header {
    min-height: 60px;
  }

  .cocomat-header.is-scrolled .wp-block-woocommerce-customer-account a,
  .cocomat-header.is-scrolled .wc-block-mini-cart__button,
  body:not(.home) .cocomat-header .wp-block-woocommerce-customer-account a,
  body:not(.home) .cocomat-header .wc-block-mini-cart__button {
    width: 2rem;
    height: 2rem;
  }
}

/* Header height parity: remove artificial min-height and normalize commerce internals */
.cocomat-header.is-scrolled,
body:not(.home) .cocomat-header {
  min-height: unset !important;
}

.cocomat-commerce-surface .cocomat-header,
body:not(.home) .cocomat-header {
  padding: 1.25rem clamp(2.5rem, 5vw, 5rem) !important;
  align-items: center !important;
}

.cocomat-commerce-surface .cocomat-header .wp-block-woocommerce-customer-account a,
.cocomat-commerce-surface .cocomat-header .wc-block-mini-cart__button,
body:not(.home) .cocomat-header .wp-block-woocommerce-customer-account a,
body:not(.home) .cocomat-header .wc-block-mini-cart__button {
  width: 1.9rem !important;
  height: 1.9rem !important;
  padding: 0 !important;
}

.cocomat-commerce-surface .cocomat-header .wc-block-mini-cart__button svg,
.cocomat-commerce-surface .cocomat-header .wp-block-woocommerce-customer-account svg,
body:not(.home) .cocomat-header .wc-block-mini-cart__button svg,
body:not(.home) .cocomat-header .wp-block-woocommerce-customer-account svg {
  width: 16px !important;
  height: 16px !important;
}

@media (max-width: 768px) {
  .cocomat-commerce-surface .cocomat-header,
  body:not(.home) .cocomat-header {
    padding: 1rem 1.5rem !important;
  }

  .cocomat-commerce-surface .cocomat-header .wp-block-woocommerce-customer-account a,
  .cocomat-commerce-surface .cocomat-header .wc-block-mini-cart__button,
  body:not(.home) .cocomat-header .wp-block-woocommerce-customer-account a,
  body:not(.home) .cocomat-header .wc-block-mini-cart__button {
    width: 1.75rem !important;
    height: 1.75rem !important;
  }
}


/* ==========================================================================
   VARIABLE PRODUCT — vertical flow for variations form
   ========================================================================== */

/* Variable product form needs column layout — dropdown, then price, then qty+button */
.single-product form.variations_form.cart {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
}

/* Variations table — full width, stacked label/dropdown layout */
.single-product form.variations_form table.variations {
  display: block !important;
  width: 100% !important;
  margin-bottom: 0.5rem !important;
}

.single-product form.variations_form table.variations tbody {
  display: block !important;
}

.single-product form.variations_form table.variations tr {
  display: block !important;
  margin-bottom: 0 !important;
}

.single-product form.variations_form table.variations td,
.single-product form.variations_form table.variations th {
  display: block !important;
  padding: 0 !important;
  width: 100% !important;
  text-align: left !important;
}

.single-product form.variations_form table.variations th.label,
.single-product form.variations_form table.variations td.label {
  padding-bottom: 0.35rem !important;
  padding-top: 0 !important;
}

.single-product form.variations_form table.variations th.label label,
.single-product form.variations_form table.variations td.label label {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.625rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: rgba(107, 91, 74, 0.65) !important;
}

.single-product form.variations_form table.variations td.value {
  padding-bottom: 0 !important;
}

.single-product form.variations_form table.variations select {
  width: 100% !important;
  min-height: 44px !important;
  padding: 0 2.5rem 0 1rem !important;
  border: 1px solid rgba(26, 22, 17, 0.12) !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%231A1611' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 1rem center !important;
  background-size: 10px 6px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.8125rem !important;
  color: #1A1611 !important;
  transition: border-color 0.25s ease, color 0.25s ease !important;
}

/* Placeholder option — gray, lighter */
.single-product form.variations_form table.variations select option[value=""] {
  color: rgba(107, 91, 74, 0.5) !important;
}

/* Select showing placeholder value — gray text */
.single-product form.variations_form table.variations select.unset,
.single-product form.variations_form table.variations select:has(option[value=""]:checked) {
  color: rgba(107, 91, 74, 0.5) !important;
}

.single-product form.variations_form table.variations select:hover,
.single-product form.variations_form table.variations select:focus {
  border-color: rgba(26, 22, 17, 0.25) !important;
  outline: none !important;
}

/* Reset link — subtle, under the dropdown */
.single-product form.variations_form .reset_variations {
  display: inline-block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.6875rem !important;
  color: #6B5B4A !important;
  text-decoration: none !important;
  margin-top: 0.2rem !important;
  margin-bottom: 0.5rem !important;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}

.single-product form.variations_form .reset_variations:hover {
  opacity: 1;
}

/* Variation info (price + description) — block level */
.single-product form.variations_form .single_variation_wrap {
  width: 100% !important;
}

.single-product form.variations_form .woocommerce-variation {
  margin-bottom: 0.75rem !important;
}

.single-product form.variations_form .woocommerce-variation-price {
  margin-bottom: 0 !important;
}

.single-product form.variations_form .woocommerce-variation-price .price {
  font-family: 'Inter', sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 400 !important;
  color: #1A1611 !important;
}

/* Qty + button row inside variation form — horizontal */
.single-product form.variations_form .woocommerce-variation-add-to-cart {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 1rem !important;
}

.single-product form.variations_form .woocommerce-variation-add-to-cart .cocomat-qty {
  flex-shrink: 0 !important;
}

.single-product form.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button {
  flex: 1 1 auto !important;
}

/* Premium quantity refinements */
.single-product form.cart .cocomat-qty { box-shadow: none !important; }
.single-product form.cart .cocomat-qty:hover { border-color: rgba(26, 22, 17, 0.16) !important; }
.single-product form.cart .cocomat-qty .qty { letter-spacing: 0.01em; }

/* Match quantity picker and add-to-cart button heights */
.single-product form.cart .cocomat-qty,
.woocommerce div.product form.cart .cocomat-qty {
  height: 44px !important;
}

.single-product form.cart .cocomat-qty .qty,
.woocommerce div.product form.cart .cocomat-qty .qty {
  line-height: 44px !important;
}

.single-product .single_add_to_cart_button,
.single-product form.cart .single_add_to_cart_button {
  height: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

/* Force exact same height on qty and button */
.single-product form.cart .cocomat-qty,
.woocommerce div.product form.cart .cocomat-qty {
  height: 44px !important;
  max-height: 44px !important;
  box-sizing: border-box !important;
}


/* ==========================================================================
   HOMEPAGE V2 — Premium editorial redesign
   ========================================================================== */

/* --- Shared container --- */
.cocomat-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(2rem, 5vw, 5rem);
  box-sizing: border-box;
}

/* --- Reveal animation system (premium easing) --- */
.cocomat-reveal {
  opacity: 0;
  transform: translateY(35px);
  transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

.cocomat-reveal.is-visible {
  opacity: 1;
  transform: translateY(0) !important;
}

/* Stagger delays via data attribute */
[data-reveal-delay="1"] { transition-delay: 0.1s; }
[data-reveal-delay="2"] { transition-delay: 0.2s; }
[data-reveal-delay="3"] { transition-delay: 0.3s; }
[data-reveal-delay="4"] { transition-delay: 0.4s; }
[data-reveal-delay="5"] { transition-delay: 0.5s; }
[data-reveal-delay="6"] { transition-delay: 0.6s; }
[data-reveal-delay="7"] { transition-delay: 0.7s; }

/* --- Animated horizontal line --- */
.cocomat-animated-line {
  height: 1px;
  background-color: #E8DFD3;
  width: 0;
  transition: width 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
  margin: 2.5rem 0;
}

.cocomat-animated-line.is-visible {
  width: 60px;
}

/* --- Text link with animated arrow --- */
.cocomat-text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #1A1611;
  text-decoration: none;
  transition: color 0.3s ease;
}

.cocomat-text-link:hover {
  color: #4A5C3A;
}

.cocomat-text-link__arrow {
  display: inline-block;
  transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  font-size: 1.125rem;
}

.cocomat-text-link:hover .cocomat-text-link__arrow {
  transform: translateX(6px);
}


/* ==========================================================================
   INTRO V2 — left-aligned editorial layout
   ========================================================================== */
.cocomat-intro {
  padding: clamp(5rem, 10vw, 9rem) 0;
  background: #FFFFFF;
  overflow: hidden;
}

.cocomat-intro .cocomat-label {
  text-align: left !important;
}

.cocomat-intro__grid {
  display: grid;
  grid-template-columns: 1fr 0.7fr;
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: center;
}

.cocomat-intro__heading {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.85rem, 3.5vw, 2.75rem);
  font-weight: 300;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #1A1611;
  margin: 0.75rem 0 0;
}

.cocomat-intro__body .cocomat-body-text {
  text-align: left !important;
  font-size: 0.9375rem;
  line-height: 1.75;
}

/* Coconut video — right column */
.cocomat-intro__visual {
  display: flex;
  justify-content: center;
  align-items: center;
}

.cocomat-intro__video {
  width: 100%;
  max-width: 340px;
  height: auto;
  max-height: 560px;
  object-fit: cover;
  border-radius: 200px;
  display: block;
}

@media (max-width: 768px) {
  .cocomat-intro__grid {
    grid-template-columns: 1fr;
  }

  .cocomat-intro__visual {
    order: -1;
    max-width: 320px;
    margin: 0 auto;
  }

  .cocomat-intro__video {
    max-height: 580px;
  }
}


/* ==========================================================================
   MARQUEE — horizontal scrolling text band
   ========================================================================== */
.cocomat-marquee {
  overflow: hidden;
  white-space: nowrap;
  padding: clamp(1.5rem, 3vw, 2.5rem) 0;
  border-top: 1px solid rgba(26, 22, 17, 0.06);
  border-bottom: 1px solid rgba(26, 22, 17, 0.06);
  background: #FFFFFF;
  user-select: none;
}

.cocomat-marquee__track {
  display: inline-flex;
  align-items: center;
  animation: cocomat-marquee-scroll 45s linear infinite;
  will-change: transform;
}

.cocomat-marquee__word {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.25rem, 2.5vw, 2rem);
  font-weight: 300;
  letter-spacing: 0.08em;
  color: rgba(26, 22, 17, 0.15);
  text-transform: uppercase;
  padding: 0 0.5rem;
}

.cocomat-marquee__dot {
  font-size: clamp(1rem, 2vw, 1.5rem);
  color: rgba(26, 22, 17, 0.08);
  padding: 0 clamp(1.5rem, 3vw, 3rem);
}

@keyframes cocomat-marquee-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-33.333%); }
}

/* Pause marquee on hover */
.cocomat-marquee:hover .cocomat-marquee__track {
  animation-play-state: paused;
}


/* ==========================================================================
   FEATURES V2 — numbered editorial list
   ========================================================================== */
.cocomat-features-v2 {
  padding: clamp(6rem, 12vw, 11rem) 0;
  background: #F5F0EB;
  position: relative;
  overflow: hidden;
}

/* Soft gradient transition from white → cream */
.cocomat-features-v2::before {
  content: '';
  position: absolute;
  top: -60px;
  left: 0;
  right: 0;
  height: 60px;
  background: linear-gradient(to bottom, #FFFFFF, #F5F0EB);
  pointer-events: none;
}

.cocomat-features-v2__header {
  margin-bottom: clamp(3rem, 5vw, 4.5rem);
}

.cocomat-features-v2__header .cocomat-section-title {
  font-size: clamp(2.25rem, 4.5vw, 3.75rem) !important;
  max-width: 500px;
}

.cocomat-features-v2__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 clamp(3rem, 5vw, 6rem);
}

.cocomat-features-v2__item {
  display: grid;
  grid-template-columns: 3.5rem 1fr;
  gap: 0 1.25rem;
  padding: clamp(1.5rem, 2.5vw, 2.25rem) 0;
  border-bottom: 1px solid rgba(26, 22, 17, 0.06);
  align-items: start;
}

/* Top border on first row items */
.cocomat-features-v2__item:nth-child(1),
.cocomat-features-v2__item:nth-child(2) {
  border-top: 1px solid rgba(26, 22, 17, 0.06);
}

.cocomat-features-v2__num {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.75rem, 2.5vw, 2.25rem);
  font-weight: 300;
  line-height: 1;
  color: rgba(26, 22, 17, 0.15);
  padding-top: 0.1rem;
}

.cocomat-features-v2__title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.2rem;
  font-weight: 500;
  color: #1A1611;
  margin: 0 0 0.5rem;
  line-height: 1.3;
}

.cocomat-features-v2__desc {
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.7;
  color: #6B5B4A;
  margin: 0;
}

@media (max-width: 768px) {
  .cocomat-features-v2__list {
    grid-template-columns: 1fr;
  }

  .cocomat-features-v2__item:nth-child(2) {
    border-top: none;
  }
}


/* ==========================================================================
   PRODUCTS V2 — staggered grid with hover
   ========================================================================== */
.cocomat-products-v2 {
  padding: clamp(6rem, 12vw, 11rem) 0;
  background: #FFFFFF;
  position: relative;
  overflow: hidden;
}

/* Soft gradient transition from cream → white */
.cocomat-products-v2::before {
  content: '';
  position: absolute;
  top: -60px;
  left: 0;
  right: 0;
  height: 60px;
  background: linear-gradient(to bottom, #F5F0EB, #FFFFFF);
  pointer-events: none;
}

.cocomat-products-v2__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: clamp(3rem, 5vw, 4rem);
}

.cocomat-products-v2__header .cocomat-section-title {
  font-size: clamp(2.25rem, 4.5vw, 3.75rem) !important;
  margin-top: 0 !important;
}

.cocomat-products-v2__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.5rem, 2.5vw, 2.5rem);
  align-items: start;
}

.cocomat-products-v2__card {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.cocomat-products-v2__card:hover {
  transform: translateY(-4px);
}

/* Stagger — offset middle card upward */
.cocomat-products-v2__card--offset {
  margin-top: clamp(2rem, 4vw, 4rem);
}

.cocomat-products-v2__image {
  overflow: hidden;
  background: #F5F0EB;
  margin-bottom: 1.25rem;
}

.cocomat-products-v2__image img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: contain;
  padding: clamp(1.5rem, 2vw, 2rem);
  display: block;
  transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.cocomat-products-v2__card:hover .cocomat-products-v2__image img {
  transform: scale(1.06);
}

.cocomat-products-v2__name {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  color: #1A1611;
  margin-bottom: 0.25rem;
}

.cocomat-products-v2__price {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  font-weight: 300;
  color: #6B5B4A;
}

@media (max-width: 768px) {
  .cocomat-products-v2__grid {
    grid-template-columns: 1fr;
    max-width: 400px;
    margin: 0 auto;
  }

  .cocomat-products-v2__card--offset {
    margin-top: 0;
  }

  .cocomat-products-v2__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
  }
}


/* ==========================================================================
   REALIZACJE V2 — asymmetric grid with overlays + parallax
   ========================================================================== */
.cocomat-realizacje-v2 {
  padding: clamp(6rem, 12vw, 11rem) 0;
  background: #F5F0EB;
  overflow: hidden;
}

.cocomat-realizacje-v2__header {
  margin-bottom: clamp(3rem, 5vw, 4rem);
}

.cocomat-realizacje-v2__header .cocomat-section-title {
  font-size: clamp(2.25rem, 4.5vw, 3.75rem) !important;
}

.cocomat-realizacje-v2__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: start;
}

/* Right item offset down for asymmetry */
.cocomat-realizacje-v2__item--small {
  margin-top: clamp(2rem, 5vw, 5rem);
}

.cocomat-realizacje-v2__img-wrap {
  position: relative;
  overflow: hidden;
}

.cocomat-realizacje-v2__img-wrap img {
  width: 100%;
  display: block;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.cocomat-realizacje-v2__item:hover .cocomat-realizacje-v2__img-wrap img {
  transform: scale(1.04);
}

.cocomat-realizacje-v2__overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 3vw, 2.5rem) clamp(1.5rem, 3vw, 2rem);
  background: linear-gradient(to top, rgba(26, 22, 17, 0.55) 0%, transparent 100%);
}

.cocomat-realizacje-v2__overlay span {
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(245, 240, 235, 0.9);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  display: inline-block;
}

.cocomat-realizacje-v2__item:hover .cocomat-realizacje-v2__overlay span {
  transform: translateY(-3px);
}

.cocomat-realizacje-v2__cta {
  margin-top: clamp(2.5rem, 4vw, 3.5rem);
}

@media (max-width: 768px) {
  .cocomat-realizacje-v2__grid {
    grid-template-columns: 1fr;
  }

  .cocomat-realizacje-v2__item--small {
    margin-top: 0;
  }
}


/* ==========================================================================
   CTA V2 — atmospheric gradient + solid button
   ========================================================================== */
.cocomat-cta-v2 {
  padding: clamp(7rem, 14vw, 14rem) 2rem;
  background: #1A1611;
  text-align: center;
  position: relative;
  overflow: hidden;
}

/* Background video */
.cocomat-cta-v2__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

/* Dark overlay on video */
.cocomat-cta-v2__overlay {
  position: absolute;
  inset: 0;
  background: rgba(26, 22, 17, 0.65);
  z-index: 1;
}

.cocomat-cta-v2__inner {
  position: relative;
  z-index: 2;
  max-width: 620px;
  margin: 0 auto;
}

.cocomat-cta-v2__heading {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(2.5rem, 5vw, 4.25rem);
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: #F5F0EB;
  margin: 0 0 1rem;
}

.cocomat-cta-v2__text {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: rgba(245, 240, 235, 0.5);
  margin: 0 0 2rem;
}

.cocomat-cta-v2__btn {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #1A1611;
  background: #F5F0EB;
  border: 2px solid #F5F0EB;
  padding: 0.9rem 2.25rem;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cocomat-cta-v2__btn:hover {
  background: transparent;
  color: #F5F0EB;
  transform: translateY(-2px);
}


/* ==========================================================================
   PARALLAX IMAGES — overflow container for JS-driven parallax
   ========================================================================== */
.cocomat-parallax-img {
  overflow: hidden;
}

.cocomat-parallax-img img {
  will-change: transform;
}


/* ==========================================================================
   REALIZACJE PAGE — Editorial Case Study Layout
   ========================================================================== */

/* ----- Hero ----- */
.cocomat-realizacje-hero {
  padding: clamp(2rem, 3vw, 3rem) 0 clamp(2.5rem, 5vw, 4rem);
  background: #F5F0EB;
}

.cocomat-realizacje-hero__heading {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(3rem, 7vw, 6rem);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: #1A1611;
  margin: 0.5rem 0 0;
}

.cocomat-realizacje-hero__intro {
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #6B5B4A;
  max-width: 540px;
  margin: 1.5rem 0 0;
}

/* ----- Case Study ----- */
.cocomat-case {
  padding: clamp(3rem, 6vw, 5rem) 0;
  background: #FFFFFF;
  overflow: hidden;
}

.cocomat-case:nth-child(even) {
  background: #F5F0EB;
}

.cocomat-case__grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: center;
}

.cocomat-case--reversed .cocomat-case__grid {
  grid-template-columns: 1fr 1.15fr;
}

.cocomat-case--reversed .cocomat-case__image-col {
  order: 2;
}

.cocomat-case--reversed .cocomat-case__text-col {
  order: 1;
}

/* Image */
.cocomat-case__image-wrap {
  overflow: hidden;
  border-radius: 2px;
  position: relative;
}

.cocomat-case__image {
  width: 100%;
  height: clamp(320px, 40vw, 520px);
  object-fit: cover;
  display: block;
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.cocomat-case__image-wrap:hover .cocomat-case__image {
  transform: scale(1.04);
}

/* Number */
.cocomat-case__number {
  display: block;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(3.5rem, 6vw, 5.5rem);
  font-weight: 300;
  line-height: 1;
  color: rgba(26, 22, 17, 0.07);
  letter-spacing: -0.03em;
  margin-bottom: -0.3rem;
}

/* Tag */
.cocomat-case__tag {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #6B5B4A;
  border: 1px solid rgba(107, 91, 74, 0.25);
  padding: 0.3rem 0.8rem;
  border-radius: 2px;
  margin: 0.75rem 0 1rem;
}

/* Title */
.cocomat-case__title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 400;
  line-height: 1.2;
  color: #1A1611;
  margin: 0 0 1rem;
}

/* Description */
.cocomat-case__desc {
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #6B5B4A;
  max-width: 460px;
}

.cocomat-case--reversed .cocomat-case__desc {
  max-width: 460px;
}

/* ----- Separator between cases ----- */
.cocomat-case + .cocomat-case {
  border-top: 1px solid rgba(26, 22, 17, 0.06);
}

/* ----- Bottom CTA ----- */
.cocomat-realizacje-cta {
  padding: clamp(4rem, 8vw, 7rem) 0;
  background: #F5F0EB;
}

.cocomat-realizacje-cta__text {
  font-size: 1.0625rem;
  line-height: 1.7;
  color: #6B5B4A;
  max-width: 520px;
  margin: 0 auto 2rem;
}

.cocomat-realizacje-cta__btn {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #FFFFFF;
  background: #1A1611;
  padding: 1rem 2.5rem;
  text-decoration: none;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.cocomat-realizacje-cta__btn:hover {
  background: transparent;
  color: #1A1611;
  box-shadow: inset 0 0 0 1.5px #1A1611;
}

/* ----- Mobile ----- */
@media (max-width: 768px) {
  .cocomat-case__grid {
    grid-template-columns: 1fr;
  }

  .cocomat-case--reversed .cocomat-case__image-col,
  .cocomat-case--reversed .cocomat-case__text-col {
    order: unset;
  }

  .cocomat-case__number {
    font-size: 3rem;
  }

  .cocomat-case__image {
    height: 260px;
  }

  .cocomat-case__desc {
    max-width: 100%;
  }
}


/* ==========================================================================
   ABOUT PAGE — Editorial Brand Story
   ========================================================================== */

/* ----- Hero ----- */
.cocomat-about-hero {
  padding: clamp(2rem, 3vw, 3rem) 0 clamp(2rem, 4vw, 3rem);
  background: #F5F0EB;
}

.cocomat-about-hero__heading {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(3rem, 7vw, 6rem);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: #1A1611;
  margin: 0.5rem 0 0;
}

/* ----- Kim jesteśmy (intro 2-col) ----- */
.cocomat-about-intro {
  padding: clamp(4rem, 8vw, 7rem) 0;
  background: #F5F0EB;
}

.cocomat-about-intro__grid {
  display: grid;
  grid-template-columns: 1fr 0.85fr;
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: center;
}

.cocomat-about-intro__heading {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 400;
  line-height: 1.2;
  color: #1A1611;
  margin: 0 0 1.25rem;
}

.cocomat-about-intro__body {
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #6B5B4A;
}

.cocomat-about-intro__image {
  overflow: hidden;
  border-radius: 2px;
}

.cocomat-about-intro__image img {
  width: 100%;
  height: clamp(300px, 35vw, 450px);
  object-fit: cover;
  display: block;
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.cocomat-about-intro__image:hover img {
  transform: scale(1.03);
}

/* ----- Misja (centered quote) ----- */
.cocomat-about-mission {
  padding: clamp(5rem, 10vw, 9rem) 0;
  background: #FFFFFF;
  text-align: center;
}

.cocomat-about-mission__quote {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.75rem, 3.5vw, 2.75rem);
  font-weight: 300;
  font-style: italic;
  line-height: 1.3;
  color: #1A1611;
  max-width: 720px;
  margin: 1rem auto 2rem;
  padding: 0;
  border: none;
}

.cocomat-about-mission__body {
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #6B5B4A;
  max-width: 560px;
  margin: 0 auto;
}

/* ----- Wartości (numbered grid) ----- */
.cocomat-about-values {
  padding: clamp(5rem, 10vw, 8rem) 0;
  background: #F5F0EB;
}

.cocomat-about-values__heading {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 300;
  line-height: 1.15;
  color: #1A1611;
  margin: 0.5rem 0 0;
}

.cocomat-about-values__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem 4rem;
  margin-top: 3rem;
}

.cocomat-about-values__item {
  padding-top: 1.5rem;
  border-top: 1px solid rgba(26, 22, 17, 0.1);
}

.cocomat-about-values__num {
  display: block;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 2rem;
  font-weight: 300;
  color: rgba(26, 22, 17, 0.12);
  line-height: 1;
  margin-bottom: 0.5rem;
}

.cocomat-about-values__title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.25rem;
  font-weight: 400;
  color: #1A1611;
  margin: 0 0 0.5rem;
}

.cocomat-about-values__desc {
  font-size: 0.875rem;
  line-height: 1.7;
  color: #6B5B4A;
}

/* ----- Dlaczego kokos (dark section, 2-col) ----- */
.cocomat-about-why {
  padding: clamp(5rem, 10vw, 9rem) 0;
  background: #1A1611;
  overflow: hidden;
  position: relative;
}

.cocomat-about-why__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.cocomat-about-why__overlay {
  position: absolute;
  inset: 0;
  background: rgba(26, 22, 17, 0.7);
  z-index: 1;
}

.cocomat-about-why__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(3rem, 6vw, 6rem);
  align-items: start;
  position: relative;
  z-index: 2;
}

.cocomat-about-why__heading {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 300;
  line-height: 1.15;
  color: #F5F0EB;
  margin: 0.5rem 0 1.5rem;
}

.cocomat-about-why__intro {
  font-size: 0.9375rem;
  line-height: 1.75;
  color: rgba(245, 240, 235, 0.65);
  margin-bottom: 1rem;
}

.cocomat-about-why__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.cocomat-about-why__list li {
  padding: 1.25rem 0;
  border-bottom: 1px solid rgba(245, 240, 235, 0.08);
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.cocomat-about-why__list li:first-child {
  padding-top: 0;
}

.cocomat-about-why__list strong {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.125rem;
  font-weight: 400;
  color: #F5F0EB;
  letter-spacing: 0.01em;
}

.cocomat-about-why__list span {
  font-size: 0.875rem;
  line-height: 1.65;
  color: rgba(245, 240, 235, 0.55);
}

/* ----- CTA ----- */
.cocomat-about-cta {
  padding: clamp(5rem, 10vw, 8rem) 0;
  background: #FFFFFF;
}

.cocomat-about-cta__heading {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 300;
  color: #1A1611;
  margin: 0 0 1rem;
}

.cocomat-about-cta__text {
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #6B5B4A;
  max-width: 480px;
  margin: 0 auto 2rem;
}

.cocomat-about-cta__buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.cocomat-about-cta__btn {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 1rem 2.5rem;
  text-decoration: none;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.cocomat-about-cta__btn--primary {
  background: #1A1611;
  color: #FFFFFF;
}

.cocomat-about-cta__btn--primary:hover {
  background: transparent;
  color: #1A1611;
  box-shadow: inset 0 0 0 1.5px #1A1611;
}

.cocomat-about-cta__btn--secondary {
  background: transparent;
  color: #1A1611;
  box-shadow: inset 0 0 0 1.5px rgba(26, 22, 17, 0.2);
}

.cocomat-about-cta__btn--secondary:hover {
  box-shadow: inset 0 0 0 1.5px #1A1611;
}

/* ----- Mobile ----- */
@media (max-width: 768px) {
  .cocomat-about-intro__grid {
    grid-template-columns: 1fr;
  }

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

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

  .cocomat-about-cta__buttons {
    flex-direction: column;
    align-items: center;
  }
}


/* ==========================================================================
   CONTACT PAGE — Editorial Contact Layout
   ========================================================================== */

/* ----- Hero ----- */
.cocomat-contact-hero {
  padding: clamp(2rem, 3vw, 3rem) 0 clamp(2rem, 4vw, 3rem);
  background: #F5F0EB;
}

.cocomat-contact-hero__heading {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(3rem, 7vw, 6rem);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: #1A1611;
  margin: 0.5rem 0 0;
}

.cocomat-contact-hero__intro {
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #6B5B4A;
  max-width: 480px;
  margin: 1.5rem 0 0;
}

/* ----- Main grid (info + form) ----- */
.cocomat-contact-main {
  padding: clamp(4rem, 8vw, 7rem) 0;
  background: #FFFFFF;
}

.cocomat-contact-main__grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: clamp(3rem, 6vw, 6rem);
  align-items: start;
}

/* ----- Contact Info (left) ----- */
.cocomat-contact-info__block {
  padding: 1.5rem 0;
  border-bottom: 1px solid rgba(26, 22, 17, 0.08);
}

.cocomat-contact-info__block:first-child {
  padding-top: 0;
}

.cocomat-contact-info__label {
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #6B5B4A;
  margin: 0 0 0.4rem;
}

.cocomat-contact-info__value {
  display: block;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.25rem;
  font-weight: 400;
  color: #1A1611;
  text-decoration: none;
  transition: color 0.25s;
}

a.cocomat-contact-info__value:hover {
  color: #6B5B4A;
}

.cocomat-contact-info__note {
  display: block;
  font-size: 0.8125rem;
  color: #6B5B4A;
  margin-top: 0.2rem;
}

/* ----- Form (right) ----- */
.cocomat-contact-form__form,
.cocomat-contact-form .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

.cocomat-contact-form__group {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.cocomat-contact-form__label {
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #1A1611;
}

.cocomat-contact-form__input {
  width: 100%;
  box-sizing: border-box;
  padding: 0.9rem 0;
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  color: #1A1611;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(26, 22, 17, 0.15);
  border-radius: 0;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color 0.3s;
}

.cocomat-contact-form__input:focus {
  border-bottom-color: #1A1611;
}

.cocomat-contact-form__input::placeholder {
  color: rgba(26, 22, 17, 0.3);
}

/* Select arrow */
select.cocomat-contact-form__input {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B5B4A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0 center;
  padding-right: 1.5rem;
}

/* Select w stanie "placeholder" (value="") — text w szarym jak inne placeholdery.
   Native <select> nie obsługuje ::placeholder, więc dodajemy class "is-empty" via JS
   (assets/js/animations.js) gdy wybrany jest pusty option. */
select.cocomat-contact-form__input.is-empty {
  color: rgba(26, 22, 17, 0.3);
}

select.cocomat-contact-form__input option {
  background: #F5F0EB;
  color: #1A1611;
}

/* Textarea */
.cocomat-contact-form__textarea {
  resize: vertical;
  min-height: 120px;
  border: 1px solid rgba(26, 22, 17, 0.15);
  padding: 0.9rem 1rem;
  transition: border-color 0.3s;
  box-sizing: border-box;
  max-width: 100%;
}

.cocomat-contact-form__textarea:focus {
  border-color: #1A1611;
}

/* Submit button */
.cocomat-contact-form__submit {
  align-self: flex-start;
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #FFFFFF;
  background: #1A1611;
  border: none;
  padding: 1.1rem 2.5rem;
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.cocomat-contact-form__submit:hover {
  background: transparent;
  color: #1A1611;
  box-shadow: inset 0 0 0 1.5px #1A1611;
}

/* ----- Contact Form 7 — editorial validation styling ----- */
/* Override default CF7 (red tips + yellow box) na dyskretny editorial look. */

/* CF7 wraps inputy w <span class="wpcf7-form-control-wrap"> — niech nie psuje grid */
.cocomat-contact-form .wpcf7-form-control-wrap {
  display: block;
}

/* Inline error tips per pole */
.cocomat-contact-form .wpcf7-not-valid-tip {
  display: block;
  color: #8a4a4a;
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  margin-top: 0.5rem;
  padding: 0;
}

/* Border-bottom invalid pól — subtelna zmiana koloru zamiast czerwonej ramki */
.cocomat-contact-form .wpcf7-not-valid {
  border-bottom-color: #8a4a4a !important;
}

/* Główny response output — zamień żółty box na dyskretny komunikat */
.cocomat-contact-form .wpcf7-response-output {
  border: none !important;
  border-top: 1px solid rgba(26, 22, 17, 0.1) !important;
  margin: 1.5rem 0 0 !important;
  padding: 1rem 0 0 !important;
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  letter-spacing: 0.01em;
  color: #6B5B4A;
}

/* Mail sent OK — accent color (forest) */
.cocomat-contact-form .wpcf7 form.sent .wpcf7-response-output,
.cocomat-contact-form form.sent .wpcf7-response-output {
  color: #4A5C3A;
  border-top-color: rgba(74, 92, 58, 0.2) !important;
}

/* Validation error / mail failed — discrete dark red */
.cocomat-contact-form form.invalid .wpcf7-response-output,
.cocomat-contact-form form.failed .wpcf7-response-output,
.cocomat-contact-form form.spam .wpcf7-response-output {
  color: #8a4a4a;
  border-top-color: rgba(138, 74, 74, 0.2) !important;
}

/* CF7 submit spinner — żeby nie odsadzał się od buttonu */
.cocomat-contact-form .wpcf7-spinner {
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.75rem;
}

/* === RODO acceptance checkbox === */
/* CF7 generuje strukturę:
     <span class="wpcf7-form-control-wrap"><span class="wpcf7-form-control wpcf7-acceptance">
       <span class="wpcf7-list-item"><label>
         <input type="checkbox"><span class="wpcf7-list-item-label">tekst...</span>
       </label></span>
     </span></span>
*/
.cocomat-contact-form__acceptance {
  margin-top: -0.5rem;
}

.cocomat-contact-form__acceptance .wpcf7-list-item {
  margin: 0 !important;
}

.cocomat-contact-form__acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: rgba(26, 22, 17, 0.7);
}

.cocomat-contact-form__acceptance input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 1rem;
  height: 1rem;
  margin: 0.18rem 0 0 0 !important;
  border: 1px solid rgba(26, 22, 17, 0.35);
  background: transparent;
  cursor: pointer;
  flex-shrink: 0;
  position: relative;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.cocomat-contact-form__acceptance input[type="checkbox"]:hover {
  border-color: #1A1611;
}

.cocomat-contact-form__acceptance input[type="checkbox"]:checked {
  background: #1A1611;
  border-color: #1A1611;
}

.cocomat-contact-form__acceptance input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 0px;
  width: 5px;
  height: 9px;
  border: solid #FFFFFF;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg);
}

.cocomat-contact-form__acceptance input[type="checkbox"]:focus-visible {
  outline: 2px solid rgba(26, 22, 17, 0.4);
  outline-offset: 2px;
}

.cocomat-contact-form__acceptance .wpcf7-list-item-label {
  display: inline;
}

.cocomat-contact-form__acceptance a {
  color: #4A5C3A;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
  transition: color 0.3s ease;
}

.cocomat-contact-form__acceptance a:hover {
  color: #5A7048;
}

/* Niezgodzony checkbox po próbie wysłania — discrete red border */
.cocomat-contact-form__acceptance .wpcf7-not-valid input[type="checkbox"],
.cocomat-contact-form__acceptance input[type="checkbox"].wpcf7-not-valid {
  border-color: #8a4a4a;
}

.cocomat-contact-form__acceptance .wpcf7-not-valid-tip {
  margin-top: 0.5rem;
}

/* Submit button disabled visual — issue #5
   CF7 disable'uje submit gdy [acceptance] nie zaznaczony. Bez tego visual
   user nie wie że button jest "zablokowany do czasu zaznaczenia checkboxa". */
.cocomat-contact-form__submit:disabled,
.cocomat-contact-form__submit[disabled] {
  background: #6B5B4A !important;
  opacity: 0.55 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

.cocomat-contact-form__submit:disabled:hover,
.cocomat-contact-form__submit[disabled]:hover {
  background: #6B5B4A !important;
  color: #FFFFFF !important;
}

/* ==========================================================================
   WC BLOCKS — UJEDNOLICENIE Z EDITORIAL DESIGN COCOMAT
   Issues #1, #2, #3, #6 z QA sweep — defaultowy WC Blocks ma forest button,
   białe inputy z borderem zewsząd, bordered login card, wycentrowany H1.
   Tu wymuszamy spójność z resztą strony (dark buttons, transparent inputy
   border-bottom only, no card border, left-aligned H1).
   ========================================================================== */

/* === Issue #1: primary buttons na dark === */
/* Cart "Przejdź do płatności", checkout submit, my-account login — defaultowe
   WC Blocks używają forest accent. Zmieniamy na dark żeby pasowało do
   "Dodaj do koszyka", "Wyślij wiadomość", cookie "Akceptuję wszystkie". */
.wc-block-cart__submit-container .wc-block-components-button,
.wc-block-checkout__actions .wc-block-components-button,
.wc-block-cart__submit-button,
.woocommerce-form-login button[name="login"],
.woocommerce-form-register button[name="register"],
.woocommerce-form button[type="submit"],
.woocommerce-button.button {
  background: #1A1611 !important;
  background-color: #1A1611 !important;
  color: #FFFFFF !important;
  border: 1px solid #1A1611 !important;
  border-radius: 0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  padding: 1rem 2rem !important;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: pointer !important;
}

.wc-block-cart__submit-container .wc-block-components-button:hover,
.wc-block-checkout__actions .wc-block-components-button:hover,
.wc-block-cart__submit-button:hover,
.woocommerce-form-login button[name="login"]:hover,
.woocommerce-form-register button[name="register"]:hover,
.woocommerce-form button[type="submit"]:hover,
.woocommerce-button.button:hover {
  background: transparent !important;
  background-color: transparent !important;
  color: #1A1611 !important;
  box-shadow: inset 0 0 0 1.5px #1A1611 !important;
}

/* "Wróć na stronę główną" w 404 — wewnątrz cocomat-404 (jeśli jest custom class)
   plus generic .wp-block-button__link żeby pokrył inne miejsca */
.cocomat-404 .wp-block-button__link,
.error404 .wp-block-button__link,
body.error404 .wp-block-button .wp-block-button__link {
  background: #1A1611 !important;
  background-color: #1A1611 !important;
  color: #FFFFFF !important;
  border: 1px solid #1A1611 !important;
}

.cocomat-404 .wp-block-button__link:hover,
.error404 .wp-block-button__link:hover {
  background: transparent !important;
  color: #1A1611 !important;
  box-shadow: inset 0 0 0 1.5px #1A1611 !important;
}

/* === Issue #2: inputy WC Blocks transparent border-bottom only === */
/* WC Checkout Blocks domyślnie renderuje inputy jako boxed prostokąty
   (białe background + border zewsząd). Zmieniamy na editorial transparent
   border-bottom only — spójność z CF7 i variable product. */

/* Checkout Blocks (wc-block-components-text-input) */
.wc-block-components-text-input,
.wc-block-components-checkout-step .wc-block-components-text-input {
  background: transparent !important;
}

.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-text-input input[type="password"] {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(26, 22, 17, 0.15) !important;
  border-radius: 0 !important;
  padding: 1rem 0 0.7rem 0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9375rem !important;
  color: #1A1611 !important;
  box-shadow: none !important;
  outline: none !important;
  transition: border-color 0.3s ease !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-text-input input:focus-visible {
  border-bottom-color: #1A1611 !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Floating label CSS w WC Blocks */
.wc-block-components-text-input label {
  background: transparent !important;
  font-family: 'Inter', sans-serif !important;
  color: rgba(26, 22, 17, 0.55) !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  padding: 0 !important;
  left: 0 !important;
}

.wc-block-components-text-input.is-active label,
.wc-block-components-text-input input:focus + label,
.wc-block-components-text-input input:not([value=""]) + label {
  font-size: 0.6875rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: rgba(26, 22, 17, 0.65) !important;
}

/* Country select */
.wc-block-components-country-input,
.wc-block-components-state-input {
  background: transparent !important;
}

.wc-block-components-combobox input,
.wc-block-components-combobox-control input,
.components-form-token-field__input-container,
select.wc-block-components-select__select {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(26, 22, 17, 0.15) !important;
  border-radius: 0 !important;
  padding: 1rem 0 0.7rem 0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9375rem !important;
}

/* My Account login form inputy (woocommerce-Input) */
.woocommerce-form-login input.input-text,
.woocommerce-form-register input.input-text,
.woocommerce-form input[type="text"],
.woocommerce-form input[type="email"],
.woocommerce-form input[type="tel"],
.woocommerce-form input[type="password"],
.woocommerce-account-fields input.input-text {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(26, 22, 17, 0.15) !important;
  border-radius: 0 !important;
  padding: 1rem 0 0.7rem 0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9375rem !important;
  color: #1A1611 !important;
  outline: none !important;
  transition: border-color 0.3s ease !important;
}

.woocommerce-form input:focus {
  border-bottom-color: #1A1611 !important;
  outline: none !important;
}

/* Labels w WC My Account form */
.woocommerce-form-login label,
.woocommerce-form-register label,
.woocommerce-account-fields label {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.6875rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #1A1611 !important;
  margin-bottom: 0.5rem !important;
  display: block !important;
}

/* Show password icon button w login form */
.woocommerce-form-login .show-password-input,
.woocommerce-form .show-password-input {
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  opacity: 0.5 !important;
  transition: opacity 0.2s ease !important;
}

.woocommerce-form-login .show-password-input:hover {
  opacity: 1 !important;
}

/* === Issue #3: usunąć bordered card z login/register form === */
.woocommerce-account .woocommerce,
.woocommerce-account #customer_login {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
}

.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-form-login.login,
.woocommerce-form-register.register,
form.woocommerce-form-login,
form.woocommerce-form-register {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin-top: 1.5rem !important;
}

/* Login row spacing — większy gap między polami */
.woocommerce-form-row,
.woocommerce-form-row.form-row {
  margin-bottom: 1.75rem !important;
}

/* "Lost your password?" link */
.woocommerce-LostPassword,
.woocommerce-LostPassword a {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.8125rem !important;
  color: rgba(26, 22, 17, 0.65) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.woocommerce-LostPassword a:hover {
  color: #1A1611 !important;
}

/* "Remember me" checkbox styling */
.woocommerce-form-login__rememberme {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.8125rem !important;
  color: rgba(26, 22, 17, 0.7) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin-left: 1rem !important;
}

.woocommerce-form-login__rememberme input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 1rem !important;
  height: 1rem !important;
  margin: 0 !important;
  border: 1px solid rgba(26, 22, 17, 0.35) !important;
  background: transparent !important;
  cursor: pointer !important;
  position: relative !important;
  border-radius: 0 !important;
}

.woocommerce-form-login__rememberme input[type="checkbox"]:checked {
  background: #1A1611 !important;
  border-color: #1A1611 !important;
}

.woocommerce-form-login__rememberme input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 0px;
  width: 5px;
  height: 9px;
  border: solid #FFFFFF;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg);
}

/* === Issue #6: H1 "Moje konto" left-aligned === */
.woocommerce-account .wp-block-post-title,
.woocommerce-account h1.entry-title,
.woocommerce-account h1.page-title,
body.woocommerce-page h1.wp-block-post-title {
  text-align: left !important;
}

/* My account heading "Logowanie" — Cormorant + properly sized */
.woocommerce-account h2 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(1.5rem, 2.5vw, 1.875rem) !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 1.5rem !important;
  color: #1A1611 !important;
}

/* ==========================================================================
   COOKIE BANNER (CookieYes) — editorial typography matching cocomat design
   Plugin's HTML jest aktualizowany w DB (PL tekst + cocomat colors), CSS tu
   nadpisuje typografię, paddingi, button shape żeby pasowało do reszty strony.

   Plus: plugin's frontend CSS (cookie-law-info-public.css) zawiera reguły
   dla initial state (cky-hide → display:none, modal hidden, accordion
   collapse). W naszym setupie te reguły nie zawsze są enqueued — dorzucamy
   krytyczne rules tutaj jako fallback żeby banner+modal działały poprawnie.
   ========================================================================== */

/* === Initial state (przed JS init) — overlay/modal/banner ukryte === */
.cky-overlay.cky-hide,
.cky-consent-container.cky-hide {
  display: none !important;
}

/* Modal jest hidden domyślnie, pokazuje się po klik "Dostosuj" (JS dodaje cky-modal-open) */
.cky-modal:not(.cky-modal-open) {
  display: none !important;
}

.cky-modal.cky-modal-open {
  display: flex !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 9999999 !important;
  background-color: rgba(26, 22, 17, 0.55) !important;
  align-items: center !important;
  justify-content: center !important;
}

.cky-modal.cky-modal-open .cky-preference-center {
  max-width: 600px !important;
  width: 90% !important;
  max-height: 85vh !important;
  overflow-y: auto !important;
  position: relative !important;
}

/* Banner container — fixed pozycja gdy nie cky-hide */
.cky-consent-container:not(.cky-hide) {
  position: fixed !important;
  bottom: 1.5rem !important;
  left: 1.5rem !important;
  z-index: 999998 !important;
  max-width: 420px !important;
}

.cky-consent-container.cky-box-bottom-left:not(.cky-hide) {
  bottom: 1.5rem !important;
  left: 1.5rem !important;
}

/* Accordion items — collapse domyślnie, expand po klik */
.cky-accordion {
  border-bottom: 1px solid rgba(26, 22, 17, 0.1);
}

.cky-accordion-item {
  padding: 1rem 0;
}

.cky-accordion-header-des {
  margin-top: 0.5rem;
}

.cky-switch {
  display: inline-block;
  margin-left: auto;
}

/* Revisit button (mała ikonka po akceptacji) — ukryta dopóki konsent nie został udzielony */
.cky-btn-revisit-wrapper.cky-revisit-hide {
  display: none !important;
}

.cky-btn-revisit-wrapper:not(.cky-revisit-hide) {
  position: fixed !important;
  bottom: 1.5rem !important;
  right: 1.5rem !important;
  width: 44px !important;
  height: 44px !important;
  z-index: 999997 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}

.cky-btn-revisit {
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

.cky-btn-revisit img {
  width: 24px !important;
  height: 24px !important;
  filter: brightness(0) invert(1);
}

/* === FULL-WIDTH BOTTOM STRIP — dark glassy, editorial === */
.cky-consent-container:not(.cky-hide) {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  z-index: 999998 !important;
  padding: 0 !important;
}

.cky-consent-container.cky-box-bottom-left:not(.cky-hide),
.cky-consent-container.cky-box-bottom-right:not(.cky-hide),
.cky-consent-container.cky-box-bottom-center:not(.cky-hide) {
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
}

.cky-consent-bar {
  font-family: 'Inter', sans-serif !important;
  border-radius: 0 !important;
  border: none !important;
  border-top: 1px solid rgba(245, 240, 235, 0.08) !important;
  background-color: rgba(26, 22, 17, 0.88) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.25) !important;
  padding: 1.25rem clamp(1.5rem, 5vw, 3rem) !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* Notice content — horizontal grid: title+desc po lewej, buttons po prawej */
.cky-consent-bar .cky-notice {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 2rem !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}

.cky-consent-bar .cky-notice-group {
  display: contents !important;
}

.cky-consent-bar .cky-title {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  margin: 0 0 0.25rem 0 !important;
  line-height: 1.3 !important;
  color: #FFFFFF !important;
}

.cky-consent-bar .cky-notice-des {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.8125rem !important;
  line-height: 1.55 !important;
  color: rgba(245, 240, 235, 0.75) !important;
  margin: 0 !important;
  flex: 1 1 auto;
  min-width: 0;
}

.cky-consent-bar .cky-notice-des p {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.8125rem !important;
  line-height: 1.55 !important;
  color: rgba(245, 240, 235, 0.75) !important;
  margin: 0 !important;
}

.cky-consent-bar .cky-notice-des a {
  color: rgba(245, 240, 235, 0.95) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(245, 240, 235, 0.4) !important;
}

.cky-consent-bar .cky-notice-des a:hover {
  color: #FFFFFF !important;
  text-decoration-color: #FFFFFF !important;
}

/* Title + description wrapped together, side-by-side z buttonami */
.cky-consent-bar .cky-notice > .cky-title,
.cky-consent-bar .cky-notice > .cky-notice-group > .cky-notice-des {
  flex-shrink: 1;
}

.cky-consent-bar .cky-notice-btn-wrapper {
  display: flex !important;
  gap: 0.5rem !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  flex-wrap: nowrap !important;
}

/* Buttons — square, premium */
.cky-consent-bar .cky-btn,
.cky-modal .cky-btn {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.6875rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 0.7rem 1.4rem !important;
  min-height: auto !important;
  white-space: nowrap !important;
  transition: all 0.25s ease !important;
  cursor: pointer !important;
}

/* "Dostosuj" → text link styled (no border, no fill) */
.cky-consent-bar .cky-btn-customize {
  background-color: transparent !important;
  border: none !important;
  color: rgba(245, 240, 235, 0.65) !important;
  padding: 0.7rem 0.75rem !important;
}

.cky-consent-bar .cky-btn-customize:hover {
  color: #FFFFFF !important;
  background-color: transparent !important;
}

/* "Odrzuć" → outline subtle white */
.cky-consent-bar .cky-btn-reject {
  background-color: transparent !important;
  border: 1px solid rgba(245, 240, 235, 0.4) !important;
  color: #FFFFFF !important;
}

.cky-consent-bar .cky-btn-reject:hover {
  background-color: rgba(245, 240, 235, 0.1) !important;
  border-color: rgba(245, 240, 235, 0.6) !important;
}

/* "Akceptuję wszystkie" → primary, filled white, dark text */
.cky-consent-bar .cky-btn-accept {
  background-color: #FFFFFF !important;
  border: 1px solid #FFFFFF !important;
  color: #1A1611 !important;
  font-weight: 600 !important;
}

.cky-consent-bar .cky-btn-accept:hover {
  background-color: #F5F0EB !important;
  border-color: #F5F0EB !important;
}

/* === MODAL (Customise — pojawia się na klik "Dostosuj") === */
.cky-modal .cky-btn-customize,
.cky-modal .cky-btn-reject,
.cky-modal .cky-btn-preferences {
  border-width: 1px !important;
  background-color: transparent !important;
  border-color: #1A1611 !important;
  color: #1A1611 !important;
}

.cky-modal .cky-btn-customize:hover,
.cky-modal .cky-btn-reject:hover,
.cky-modal .cky-btn-preferences:hover {
  background-color: rgba(26, 22, 17, 0.05) !important;
}

.cky-modal .cky-btn-accept {
  border-width: 1px !important;
  background-color: #1A1611 !important;
  border-color: #1A1611 !important;
  color: #FFFFFF !important;
}

.cky-modal .cky-btn-accept:hover {
  background-color: #2a2419 !important;
  border-color: #2a2419 !important;
}

/* === MODAL (Customise) — editorial styling === */
.cky-modal .cky-preference-center {
  font-family: 'Inter', sans-serif !important;
  border-radius: 0 !important;
  border: 1px solid #E8DFD3 !important;
  padding: 0 !important;
}

.cky-modal .cky-preference-header {
  padding: 1.75rem 2rem 1rem 2rem !important;
  border-bottom: 1px solid rgba(26, 22, 17, 0.08) !important;
}

.cky-modal .cky-preference-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.5rem !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  color: #1A1611 !important;
}

.cky-modal .cky-btn-close {
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0.5rem !important;
}

.cky-modal .cky-btn-close img {
  width: 14px;
  height: 14px;
  opacity: 0.5;
  transition: opacity 0.2s ease;
}

.cky-modal .cky-btn-close:hover img {
  opacity: 1;
}

.cky-modal .cky-preference-body-wrapper {
  padding: 1.5rem 2rem !important;
}

.cky-modal .cky-preference-content-wrapper {
  margin-bottom: 1.5rem !important;
}

.cky-modal .cky-preference-content-wrapper p {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.8125rem !important;
  line-height: 1.65 !important;
  color: rgba(26, 22, 17, 0.75) !important;
  margin: 0 0 0.75rem 0 !important;
}

.cky-modal .cky-preference-content-wrapper p:last-child {
  margin-bottom: 0 !important;
}

/* "Show more" link — text style, nie button (klasa: cky-show-desc-btn) */
.cky-modal .cky-show-desc-btn,
.cky-modal button.cky-show-desc-btn,
.cky-modal .cky-show-more,
.cky-modal button.cky-show-more {
  display: inline !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 0 0 0.25rem !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  color: #4A5C3A !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  text-decoration-thickness: 1px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: pointer !important;
  min-height: auto !important;
  line-height: inherit !important;
  vertical-align: baseline !important;
}

.cky-modal .cky-show-desc-btn:hover,
.cky-modal .cky-show-more:hover {
  color: #5A7048 !important;
  background: transparent !important;
}

/* === ACCORDION — czysty editorial layout, bez button-boxów === */
.cky-modal .cky-accordion-wrapper {
  border-top: 1px solid rgba(26, 22, 17, 0.08) !important;
  margin-top: 1rem !important;
}

.cky-modal .cky-accordion {
  border: none !important;
  border-bottom: 1px solid rgba(26, 22, 17, 0.08) !important;
  padding: 0 !important;
}

.cky-modal .cky-accordion-item {
  padding: 1rem 0 !important;
  position: relative !important;
}

.cky-modal .cky-accordion-chevron {
  position: absolute !important;
  left: 0 !important;
  top: 1.1rem !important;
  width: 14px !important;
  height: 14px !important;
}

.cky-modal .cky-accordion-chevron i.cky-chevron-right {
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  border-right: 1.5px solid rgba(26, 22, 17, 0.5) !important;
  border-bottom: 1.5px solid rgba(26, 22, 17, 0.5) !important;
  transform: rotate(-45deg) !important;
  transition: transform 0.25s ease !important;
}

.cky-modal .cky-accordion.cky-accordion-active .cky-accordion-chevron i.cky-chevron-right {
  transform: rotate(45deg) !important;
}

.cky-modal .cky-accordion-header-wrapper {
  padding-left: 1.5rem !important;
}

.cky-modal .cky-accordion-header {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
}

.cky-modal .cky-accordion-btn {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: #1A1611 !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  text-align: left !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.cky-modal .cky-accordion-btn:hover {
  color: #4A5C3A !important;
}

.cky-modal .cky-always-active {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.625rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #4A5C3A !important;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  margin-left: auto !important;
}

/* Switch toggle — clean editorial */
.cky-modal .cky-switch {
  display: inline-block !important;
  margin-left: auto !important;
}

.cky-modal .cky-switch input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 32px !important;
  height: 18px !important;
  background: rgba(26, 22, 17, 0.15) !important;
  border-radius: 0 !important;
  position: relative !important;
  cursor: pointer !important;
  transition: background 0.25s ease !important;
}

.cky-modal .cky-switch input[type="checkbox"]:checked {
  background: #1A1611 !important;
}

.cky-modal .cky-switch input[type="checkbox"]::before {
  content: "" !important;
  position: absolute !important;
  top: 2px !important;
  left: 2px !important;
  width: 14px !important;
  height: 14px !important;
  background: #FFFFFF !important;
  transition: transform 0.25s ease !important;
}

.cky-modal .cky-switch input[type="checkbox"]:checked::before {
  transform: translateX(14px) !important;
}

.cky-modal .cky-accordion-header-des {
  margin-top: 0.5rem !important;
}

.cky-modal .cky-accordion-header-des p {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.8125rem !important;
  line-height: 1.6 !important;
  color: rgba(26, 22, 17, 0.7) !important;
  margin: 0 !important;
}

/* Footer wrapper — buttons */
.cky-modal .cky-footer-wrapper {
  border-top: 1px solid rgba(26, 22, 17, 0.08) !important;
  padding: 1.25rem 2rem !important;
}

.cky-modal .cky-prefrence-btn-wrapper {
  display: flex !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
}

@media (max-width: 768px) {
  .cky-modal .cky-preference-header {
    padding: 1.25rem 1.25rem 0.75rem 1.25rem !important;
  }
  .cky-modal .cky-preference-body-wrapper {
    padding: 1rem 1.25rem !important;
  }
  .cky-modal .cky-footer-wrapper {
    padding: 1rem 1.25rem !important;
  }
  .cky-modal .cky-prefrence-btn-wrapper {
    flex-direction: column-reverse !important;
  }
  .cky-modal .cky-prefrence-btn-wrapper .cky-btn {
    width: 100% !important;
  }
}

/* === REVISIT BUTTON (mała floating ikona po akceptacji) === */
/* Wymieniamy forest accent na dark glass — spójne z bottom strip bannerem */
.cky-btn-revisit-wrapper {
  background-color: rgba(26, 22, 17, 0.85) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(245, 240, 235, 0.15) !important;
  border-radius: 0 !important;
  box-shadow: 0 4px 16px rgba(26, 22, 17, 0.2) !important;
  width: 36px !important;
  height: 36px !important;
  bottom: 1.25rem !important;
  right: 1.25rem !important;
  transition: background-color 0.25s ease !important;
}

.cky-btn-revisit-wrapper:hover {
  background-color: rgba(26, 22, 17, 0.95) !important;
}

.cky-btn-revisit-wrapper .cky-btn-revisit img {
  width: 18px !important;
  height: 18px !important;
  opacity: 0.85 !important;
}

@media (max-width: 768px) {
  .cky-consent-bar {
    max-width: none !important;
    padding: 1.25rem !important;
  }

  /* Mobile: notice stack column, buttons wrap pod tekstem */
  .cky-consent-bar .cky-notice {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 1rem !important;
  }

  .cky-consent-bar .cky-notice-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
  }

  .cky-consent-bar .cky-notice-btn-wrapper {
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    width: 100% !important;
    justify-content: flex-start !important;
  }

  .cky-consent-bar .cky-btn {
    font-size: 0.625rem !important;
    padding: 0.7rem 1rem !important;
    flex: 1 1 auto !important;
  }

  /* Accept jako primary, full-width na mobile */
  .cky-consent-bar .cky-btn-accept {
    flex: 1 1 100% !important;
    order: 1 !important;
  }

  .cky-consent-bar .cky-btn-reject {
    order: 2 !important;
    flex: 1 1 calc(50% - 1.5rem) !important;
  }

  .cky-consent-bar .cky-btn-customize {
    order: 3 !important;
    padding: 0.7rem 0.5rem !important;
  }

  .cky-consent-bar .cky-title {
    font-size: 0.8125rem !important;
    margin-bottom: 0.5rem !important;
  }

  .cky-consent-bar .cky-notice-des,
  .cky-consent-bar .cky-notice-des p {
    font-size: 0.75rem !important;
    line-height: 1.55 !important;
  }
}

/* ----- Wholesale (dark section) ----- */
.cocomat-contact-wholesale {
  padding: clamp(5rem, 10vw, 8rem) 0;
  background: #1A1611;
}

.cocomat-contact-wholesale__heading {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 300;
  color: #F5F0EB;
  margin: 0.5rem 0 1.5rem;
}

.cocomat-contact-wholesale__text {
  font-size: 0.9375rem;
  line-height: 1.75;
  color: rgba(245, 240, 235, 0.65);
  max-width: 540px;
  margin: 0 auto;
}

.cocomat-contact-wholesale__text strong {
  color: #F5F0EB;
}

/* ----- Mobile ----- */
@media (max-width: 768px) {
  .cocomat-contact-main__grid {
    grid-template-columns: 1fr;
  }

  .cocomat-contact-form__submit {
    width: 100%;
    text-align: center;
  }
}
