/* Matcha Cha - main styles (paired with Tailwind CDN) */

:root {
  --matcha-dark: #3D5A3D;
  --matcha-fresh: #7BA05B;
  --matcha-deep: #2A3F2A;
  --ink-900: #1F1F1F;
  --ink-500: #6B6B6B;
  --bone-50: #F2F5F0;
  --bone-100: #EBEFE7;
  --bone-border: #E8E6DF;
}

html, body {
  background: var(--bone-50);
  color: var(--ink-900);
  font-family: 'Inter', system-ui, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

* { box-sizing: border-box; }

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

.font-display { font-family: 'Jost', 'Inter', sans-serif; }
.font-jp { font-family: 'Noto Serif JP', serif; }

.kicker {
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 500;
}
.kicker.kicker--lg {
  font-size: 14px;
  letter-spacing: 0.28em;
}
@media (min-width: 768px) {
  .kicker.kicker--lg { font-size: 15px; }
}

.cta-arrow {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 12px;
  font-weight: 500;
}
.cta-arrow .arrow { display: inline-block; transition: transform .35s ease; }
.cta-arrow:hover .arrow { transform: translateX(6px); }

.pill-outline {
  border: 1px solid currentColor;
  border-radius: 999px;
  padding: 14px 32px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 12px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  transition: all .3s ease;
}
.pill-outline:hover { background: var(--ink-900); color: #fff; }
.pill-outline.on-dark:hover { background: #fff; color: var(--ink-900); }

.num-tab { font-variant-numeric: tabular-nums; }

/* === PREMIUM REVEAL & MOTION SYSTEM === */

/* Reveal on scroll - premium easing (luxury cubic-bezier) */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 1.1s cubic-bezier(.16,.84,.27,.99), transform 1.1s cubic-bezier(.16,.84,.27,.99);
  will-change: opacity, transform;
}
.reveal.in { opacity: 1; transform: none; }

/* Stagger children: each direct child animates with delay */
.reveal-stagger > * { opacity: 0; transform: translateY(20px); transition: opacity .9s cubic-bezier(.16,.84,.27,.99), transform .9s cubic-bezier(.16,.84,.27,.99); }
.reveal-stagger.in > *  { opacity: 1; transform: none; }
.reveal-stagger.in > *:nth-child(1) { transition-delay: 0.05s; }
.reveal-stagger.in > *:nth-child(2) { transition-delay: 0.18s; }
.reveal-stagger.in > *:nth-child(3) { transition-delay: 0.31s; }
.reveal-stagger.in > *:nth-child(4) { transition-delay: 0.44s; }
.reveal-stagger.in > *:nth-child(5) { transition-delay: 0.57s; }
.reveal-stagger.in > *:nth-child(6) { transition-delay: 0.70s; }
.reveal-stagger.in > *:nth-child(n+7) { transition-delay: 0.83s; }

/* Image clip-path mask reveal (Aesop / Margiela style) */
.img-clip-reveal {
  overflow: hidden;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1.6s cubic-bezier(.65,.04,.16,.99);
  will-change: clip-path;
  animation: mc-clip-fallback 0s 3s forwards;
}
.img-clip-reveal.in { clip-path: inset(0 0 0 0); animation: none; }
@keyframes mc-clip-fallback { to { clip-path: inset(0 0 0 0); } }
/* No-JS fallback - always visible */
html.no-js .img-clip-reveal,
html:not(.has-js) .img-clip-reveal { clip-path: none; }

/* Image zoom on hover (refined) */
.img-hover { overflow: hidden; }
.img-hover img { transition: transform 1.4s cubic-bezier(.22,.61,.36,1); }
.img-hover:hover img { transform: scale(1.05); }

/* Subtle Ken Burns (auto, slow) - tylko dla obrazów (NIE iframe video) */
@keyframes mc-ken-burns {
  0%   { transform: scale(1) translate(0,0); }
  50%  { transform: scale(1.08) translate(-1.5%, -1%); }
  100% { transform: scale(1) translate(0,0); }
}
.ken-burns > img { animation: mc-ken-burns 22s ease-in-out infinite; transform-origin: center; }

/* Hero VIDEO cover - self-hosted native <video>, fills container, no controls/play button */
.mc-hero-video-cover {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.mc-hero-video-cover video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
  border: 0;
  display: block;
}
/* Hide any native control affordances (iOS overlay play button etc.) */
.mc-hero-video-cover video::-webkit-media-controls,
.mc-hero-video-cover video::-webkit-media-controls-start-playback-button,
.mc-hero-video-cover video::-webkit-media-controls-play-button,
.mc-hero-video-cover video::-webkit-media-controls-overlay-play-button {
  display: none !important;
  -webkit-appearance: none;
}

/* Heading line reveal (text mask) */
.heading-mask {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
}
.heading-mask > span {
  display: inline-block;
  transform: translateY(110%);
  transition: transform 1.2s cubic-bezier(.16,.84,.27,.99);
  will-change: transform;
}
.heading-mask.in > span { transform: translateY(0); }

/* Kicker underline animation */
.kicker.kicker-anim {
  position: relative;
  display: inline-block;
  padding-right: 28px;
}
.kicker.kicker-anim::after {
  content: "";
  position: absolute;
  right: 0; top: 50%;
  height: 1px; width: 24px;
  background: currentColor;
  transform-origin: left;
  transform: scaleX(0);
  transition: transform 1.2s cubic-bezier(.16,.84,.27,.99);
}
.kicker.kicker-anim.in::after,
.in .kicker.kicker-anim::after,
.kicker.kicker-anim:hover::after { transform: scaleX(1); }

/* Number count-up flicker prevent */
.num-tab.counting { font-feature-settings: "tnum"; }

/* Premium button: gold/dark ink fill on hover */
.pill-outline {
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.pill-outline::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--ink-900);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .55s cubic-bezier(.65,.04,.16,.99);
  z-index: -1;
}
.pill-outline:hover::before { transform: scaleX(1); }
.pill-outline.on-dark::before { background: #fff; }
.pill-outline.on-dark:hover { color: var(--ink-900); }

/* CTA arrow: stronger glide */
.cta-arrow .arrow {
  display: inline-block;
  transition: transform .5s cubic-bezier(.22,.61,.36,1);
}
.cta-arrow:hover .arrow { transform: translateX(10px); }

/* Trust badge icon: subtle hover */
.mc-trust-item:hover .mc-trust-icon {
  background: var(--matcha-fresh) !important;
  color: #ffffff !important;
}

/* Product card: 3D tilt on hover */
.mc-product-card {
  transform-style: preserve-3d;
  transition: transform .6s cubic-bezier(.22,.61,.36,1), box-shadow .6s ease;
}
.mc-product-card:hover {
  transform: translateY(-6px) rotateX(1.5deg) rotateY(-1.5deg);
  box-shadow: 0 30px 60px -25px rgba(31,31,31,0.25);
}

/* FAQ smooth open */
details.mc-faq summary { user-select: none; }
details.mc-faq summary::-webkit-details-marker { display: none; }

/* Floating elegance: section enters with subtle blur lift */
.reveal-blur {
  opacity: 0;
  transform: translateY(40px) scale(.985);
  filter: blur(8px);
  transition: opacity 1.4s cubic-bezier(.16,.84,.27,.99),
              transform 1.4s cubic-bezier(.16,.84,.27,.99),
              filter 1.4s cubic-bezier(.16,.84,.27,.99);
  will-change: opacity, transform, filter;
}
.reveal-blur.in { opacity: 1; transform: none; filter: blur(0); }

/* Parallax helper - JS sets --mc-parallax */
.parallax-y { transform: translate3d(0, var(--mc-parallax, 0px), 0); }

/* Product card image - force fit (override LSC/Tailwind preflight) */
.mc-product-card .aspect-square { position: relative; }
.mc-product-card .aspect-square img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 16px;
}
@media (min-width: 768px) {
  .mc-product-card .aspect-square img { padding: 24px; }
}

/* Hero features - mobile stacking + center */
@media (max-width: 767px) {
  .mc-hero-features {
    flex-direction: column !important;
    gap: 10px !important;
    align-items: center !important;
  }
  .mc-hero-features-sep { display: none !important; }
}

/* Hero text - line-by-line reveal */
.hero-line {
  display: block;
  overflow: hidden;
}
.hero-line > span {
  display: inline-block;
  transform: translateY(110%);
  opacity: 0;
  transition: transform 1.3s cubic-bezier(.16,.84,.27,.99) .15s,
              opacity 1.3s cubic-bezier(.16,.84,.27,.99) .15s;
  will-change: transform, opacity;
}
.hero-line:nth-child(2) > span { transition-delay: .35s; }
.hero-line:nth-child(3) > span { transition-delay: .55s; }
.in .hero-line > span,
.hero-loaded .hero-line > span { transform: none; opacity: 1; }

/* Marquee wave separator (decorative bottom curl on hero) */
.hero-curl {
  position: absolute;
  bottom: -1px; left: 0; right: 0;
  height: 80px;
  background: var(--bone-50);
  -webkit-mask: radial-gradient(ellipse 70% 100% at top, transparent 99%, #000 100%);
  mask: radial-gradient(ellipse 70% 100% at top, transparent 99%, #000 100%);
  pointer-events: none;
}

/* Smooth section bg transition (prevent harsh seams) */
section { isolation: isolate; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal-stagger > *, .reveal-blur, .img-clip-reveal,
  .hero-line > span, .ken-burns img, .ken-burns iframe { transition: none !important; animation: none !important; opacity: 1 !important; transform: none !important; clip-path: none !important; filter: none !important; }
}

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

.hair { height: 1px; background: var(--bone-border); }

/* === Instagram feed (Smash Balloon overrides + placeholder) === */
.mc-ig-feed #sb_instagram .sbi_header_text,
.mc-ig-feed #sb_instagram .sb_instagram_header { display: none; }
.mc-ig-feed #sb_instagram .sbi_photo_wrap { border-radius: 0; }
.mc-ig-feed #sb_instagram .sbi_item { padding: 4px !important; }
.mc-ig-tile { transition: transform .35s ease, opacity .35s ease; }
.mc-ig-tile:hover { transform: scale(1.02); }

/* Marquee */
@keyframes mc-slide { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.marquee { animation: mc-slide 40s linear infinite; }
.promo-marquee { white-space: nowrap; display: flex; gap: 80px; }

/* Toast */
@keyframes toastIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
.toast-in { animation: toastIn .35s ease; }

/* Drawer */
.drawer-overlay {
  position: fixed; inset: 0; z-index: 70; pointer-events: none;
}
.drawer-overlay.open { pointer-events: auto; }
.drawer-overlay .scrim {
  position: absolute; inset: 0; background: #000;
  opacity: 0; transition: opacity .3s ease;
}
.drawer-overlay.open .scrim { opacity: 0.4; }
.drawer-overlay aside {
  position: absolute; right: 0; top: 0; height: 100%; width: 100%;
  max-width: 440px; background: #fff;
  box-shadow: 0 0 50px rgba(0,0,0,.2);
  display: flex; flex-direction: column;
  transform: translateX(100%); transition: transform .4s cubic-bezier(.4,.0,.2,1);
}
.drawer-overlay.open aside { transform: translateX(0); }

/* Mobile drawer (left) */
.drawer-overlay.left aside { right: auto; left: 0; transform: translateX(-100%); }
.drawer-overlay.left.open aside { transform: translateX(0); }

/* === Premium mobile drawer === */
.mc-drawer .scrim {
  background: rgba(15, 18, 14, 0.55);
}
.mc-drawer.open .scrim { opacity: 1; }
.mc-drawer-aside {
  background: linear-gradient(180deg, #ffffff 0%, var(--bone-50) 100%) !important;
  width: 88vw !important;
  max-width: 380px !important;
  box-shadow: -20px 0 60px -20px rgba(0, 0, 0, 0.25) !important;
}
.mc-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 24px;
  border-bottom: 1px solid var(--bone-border);
  background: #ffffff;
}
.mc-drawer-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
.mc-drawer-logo img {
  height: 38px;
  width: auto;
  display: block;
}
.mc-drawer-close-btn {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: var(--bone-50);
  color: var(--ink-900);
  border: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease;
}
.mc-drawer-close-btn:hover {
  background: var(--ink-900);
  color: #ffffff;
}
.mc-drawer-nav {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 28px 24px 20px;
}
.mc-drawer-section-label {
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--matcha-dark);
  font-weight: 600;
  margin-bottom: 14px;
}
.mc-drawer-menu {
  list-style: none;
  margin: 0 0 8px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.mc-drawer-menu li { margin: 0; }
.mc-drawer-menu a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 0;
  color: var(--ink-900);
  text-decoration: none;
  font-family: var(--font-display, 'Cormorant Garamond', serif);
  font-size: 22px;
  font-weight: 300;
  letter-spacing: 0;
  transition: color 0.2s ease, padding 0.25s ease;
  border-bottom: 1px solid rgba(232, 232, 224, 0.6);
  position: relative;
}
.mc-drawer-menu a:after {
  content: "→";
  font-size: 16px;
  color: var(--matcha-dark);
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity 0.2s ease, transform 0.2s ease;
  font-family: 'Inter', sans-serif;
}
.mc-drawer-menu a:hover {
  color: var(--matcha-dark);
  padding-left: 6px;
}
.mc-drawer-menu a:hover:after {
  opacity: 1;
  transform: translateX(0);
}
.mc-drawer-menu li:last-child a { border-bottom: 0; }

.mc-drawer-menu-sub a {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  padding: 11px 0;
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: flex-start;
}
.mc-drawer-menu-sub a:after { display: none; }
.mc-drawer-menu-sub a span.font-jp {
  font-size: 18px;
  width: 28px;
  text-align: center;
  flex-shrink: 0;
}

.mc-drawer-foot {
  padding: 24px 24px 28px;
  border-top: 1px solid var(--bone-border);
  background: #ffffff;
}
.mc-drawer-contact-line {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  color: var(--ink-900);
  text-decoration: none;
  font-size: 14px;
  transition: color 0.2s ease;
}
.mc-drawer-contact-line svg {
  color: var(--matcha-dark);
  flex-shrink: 0;
}
.mc-drawer-contact-line:hover { color: var(--matcha-dark); }
.mc-drawer-social {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  margin-top: 8px;
}
.mc-drawer-social a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid var(--bone-border);
  color: var(--matcha-dark);
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.mc-drawer-social a:hover {
  background: var(--matcha-deep);
  color: #fff;
  border-color: var(--matcha-deep);
}
.mc-drawer-social svg { display: block; }
.mc-drawer-foot-cta { margin-top: 18px; }
.mc-drawer-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  background: var(--matcha-deep);
  color: #ffffff !important;
  padding: 14px 24px;
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.25s ease, transform 0.25s ease;
  box-shadow: 0 12px 24px -12px rgba(45, 67, 33, 0.5);
}
.mc-drawer-cta:hover {
  background: var(--matcha-dark);
  transform: translateY(-1px);
}

/* Sticky header transitions */
header.mc-header {
  transition: background .3s ease, border-color .3s ease, backdrop-filter .3s ease, color .3s ease;
  color: var(--ink-900);
}
header.mc-header.scrolled {
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--bone-border);
  color: var(--ink-900);
}

/* Hero header (front page over dark video) - white text/icons before scroll */
header.mc-header--hero:not(.scrolled) {
  color: #ffffff;
}
header.mc-header--hero:not(.scrolled) a,
header.mc-header--hero:not(.scrolled) button,
header.mc-header--hero:not(.scrolled) .mc-nav-link,
header.mc-header--hero:not(.scrolled) nav a {
  color: #ffffff;
}
header.mc-header--hero:not(.scrolled) .mc-nav-link:hover {
  color: rgba(255, 255, 255, 0.75);
}
header.mc-header--hero:not(.scrolled) .mc-logo-img {
  filter: brightness(0) invert(1);
}
header.mc-header.scrolled .mc-logo-img {
  filter: none;
}
/* === Collab B2B form === */
.mc-collab-form .wpcf7-form > .grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
@media (min-width: 768px) {
  .mc-collab-form .wpcf7-form > .grid {
    grid-template-columns: 1fr 1fr;
    gap: 18px 22px;
  }
  .mc-collab-form .wpcf7-form > .grid > p.md\:col-span-2 {
    grid-column: 1 / -1;
  }
}
.mc-collab-form .wpcf7-form p {
  margin: 0;
  display: flex;
  flex-direction: column;
}
.mc-collab-form .wpcf7-form label {
  display: block;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-500);
  margin-bottom: 8px;
  line-height: 1.4;
  min-height: 32px;
}
.mc-collab-form .wpcf7-form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}
.mc-collab-form .wpcf7-form input[type="text"],
.mc-collab-form .wpcf7-form input[type="email"],
.mc-collab-form .wpcf7-form input[type="tel"],
.mc-collab-form .wpcf7-form input[type="url"],
.mc-collab-form .wpcf7-form input[type="number"],
.mc-collab-form .wpcf7-form select,
.mc-collab-form .wpcf7-form textarea {
  width: 100% !important;
  height: 50px;
  padding: 12px 16px !important;
  background: #ffffff !important;
  border: 1px solid var(--bone-border) !important;
  border-radius: 4px !important;
  font-family: inherit !important;
  font-size: 14px !important;
  color: var(--ink-900) !important;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  outline: 0 !important;
  line-height: 1.4;
}
.mc-collab-form .wpcf7-form textarea {
  height: auto;
  min-height: 140px;
  resize: vertical;
  padding: 14px 16px !important;
  line-height: 1.6;
}
.mc-collab-form .wpcf7-form input::placeholder,
.mc-collab-form .wpcf7-form textarea::placeholder {
  color: var(--ink-500);
  opacity: 0.55;
}
.mc-collab-form .wpcf7-form input:focus,
.mc-collab-form .wpcf7-form textarea:focus,
.mc-collab-form .wpcf7-form select:focus {
  border-color: var(--matcha-fresh) !important;
  box-shadow: 0 0 0 3px rgba(123, 160, 91, 0.12);
}
.mc-collab-form .wpcf7-form .wpcf7-acceptance {
  margin-top: 4px;
}
.mc-collab-form .wpcf7-form .wpcf7-list-item {
  margin: 0 !important;
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
}
.mc-collab-form .wpcf7-form .wpcf7-list-item-label {
  font-size: 13px;
  color: var(--ink-500);
  line-height: 1.5;
}
.mc-collab-form .wpcf7-form input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  margin: 2px 0 0 !important;
  accent-color: var(--matcha-dark);
  flex-shrink: 0;
}
.mc-collab-form .wpcf7-form .wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--ink-900) !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 16px 36px !important;
  font-size: 12px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase;
  font-weight: 500;
  cursor: pointer;
  width: auto !important;
  height: auto;
  align-self: flex-start;
  transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 8px 20px -10px rgba(0, 0, 0, 0.4);
}
.mc-collab-form .wpcf7-form .wpcf7-submit:hover {
  background: var(--matcha-deep) !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 28px -12px rgba(45, 67, 33, 0.5);
}
.mc-collab-form .wpcf7-form .wpcf7-spinner { display: none !important; }
.mc-collab-form .wpcf7-form .wpcf7-not-valid-tip {
  font-size: 11px;
  color: #c14545;
  margin-top: 6px;
  letter-spacing: 0.04em;
}
.mc-collab-form .wpcf7-form .wpcf7-response-output {
  margin: 18px 0 0 !important;
  padding: 12px 16px !important;
  border-radius: 4px;
  font-size: 13px;
  border-color: var(--bone-border) !important;
}

/* === Product reviews + review form === */
.woocommerce #reviews,
[data-mc-tab-content="opinie"] #reviews {
  display: block !important;
}
.woocommerce #reviews #comments > h2,
.woocommerce #reviews .woocommerce-Reviews-title {
  font-family: var(--font-display, 'Cormorant Garamond', serif) !important;
  font-weight: 300 !important;
  font-size: 28px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 0 28px !important;
  color: var(--ink-900) !important;
  line-height: 1.2 !important;
}
.woocommerce #reviews ol.commentlist,
#reviews ol.commentlist {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  background: transparent !important;
}
.woocommerce #reviews ol.commentlist li.review,
.woocommerce #reviews ol.commentlist li {
  background: #ffffff !important;
  border: 1px solid var(--bone-border) !important;
  border-radius: 8px !important;
  padding: 22px 26px !important;
  margin: 0 !important;
  list-style: none !important;
  position: relative !important;
  box-shadow: 0 4px 12px -8px rgba(0, 0, 0, 0.06);
}
.woocommerce #reviews ol.commentlist li:before { display: none !important; }
.woocommerce #reviews ol.commentlist .comment_container {
  display: grid !important;
  grid-template-columns: 44px 1fr;
  column-gap: 16px;
  row-gap: 8px;
  align-items: start !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  position: relative;
}
/* Hide gravatar default placeholder, use initial badge via ::before on container */
.woocommerce #reviews ol.commentlist img.avatar {
  display: none !important;
}
.woocommerce #reviews ol.commentlist .comment_container:before {
  content: attr(data-mc-initial);
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--matcha-fresh), var(--matcha-dark));
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display, 'Cormorant Garamond', serif);
  font-size: 18px;
  font-weight: 400;
  flex-shrink: 0;
  grid-row: 1 / 3;
  grid-column: 1 / 2;
}
.woocommerce #reviews ol.commentlist .comment-text {
  grid-column: 2 / 3;
  flex: 1 1 auto !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  min-width: 0;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px;
}
.woocommerce #reviews ol.commentlist .comment-text > .star-rating { order: 1; }
.woocommerce #reviews ol.commentlist .comment-text > .meta        { order: 2; }
.woocommerce #reviews ol.commentlist .comment-text > .description { order: 3; }
.woocommerce #reviews ol.commentlist .meta {
  font-size: 13px !important;
  color: var(--ink-500) !important;
  margin: 0 0 4px !important;
  line-height: 1.5 !important;
  padding: 0 !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
}
.woocommerce #reviews ol.commentlist .meta strong.woocommerce-review__author {
  color: var(--ink-900) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}
.woocommerce #reviews ol.commentlist .meta time.woocommerce-review__published-date {
  font-size: 12px !important;
  color: var(--ink-500) !important;
  font-style: normal;
}
.woocommerce #reviews ol.commentlist .meta .woocommerce-review__dash { display: none !important; }
.woocommerce #reviews ol.commentlist .meta .verified,
.woocommerce #reviews ol.commentlist .meta em.woocommerce-review__verified {
  display: inline-flex !important;
  align-items: center;
  background: rgba(123, 160, 91, 0.18) !important;
  color: var(--matcha-deep) !important;
  font-size: 10px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 3px 9px !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  font-style: normal !important;
  line-height: 1 !important;
}
/* Star rating - placed above name/meta, WC font-star icons with matcha colors */
.woocommerce #reviews ol.commentlist .star-rating {
  position: relative !important;
  display: block !important;
  font-family: star !important;
  font-size: 14px !important;
  letter-spacing: 2px;
  margin: 0 !important;
  width: 6.4em !important;
  height: 1em !important;
  line-height: 1 !important;
  overflow: hidden !important;
  color: rgba(123, 160, 91, 0.25) !important;
  flex: 0 0 auto;
}
.woocommerce #reviews ol.commentlist .star-rating::before {
  content: "\53\53\53\53\53" !important;
  color: rgba(123, 160, 91, 0.25) !important;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
}
.woocommerce #reviews ol.commentlist .star-rating > span {
  overflow: hidden !important;
  float: left !important;
  top: 0 !important;
  left: 0 !important;
  position: absolute !important;
  padding-top: 1.5em !important;
  color: transparent !important;
  font-size: 1em !important;
  height: 1em;
}
.woocommerce #reviews ol.commentlist .star-rating > span::before {
  content: "\53\53\53\53\53" !important;
  top: 0 !important;
  position: absolute !important;
  left: 0 !important;
  color: var(--matcha-fresh) !important;
}
.woocommerce #reviews ol.commentlist .star-rating strong { display: none !important; }
.woocommerce #reviews ol.commentlist .description {
  margin-top: 4px !important;
}
.woocommerce #reviews ol.commentlist .description p {
  color: var(--ink-900) !important;
  font-size: 14.5px !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}
.woocommerce #reviews ol.commentlist .description p + p { margin-top: 8px !important; }
.woocommerce-noreviews {
  background: var(--bone-50);
  border: 1px dashed var(--bone-border);
  padding: 24px 28px;
  border-radius: 6px;
  color: var(--ink-500);
  font-size: 14px;
  margin: 0 0 28px;
}
#review_form_wrapper {
  margin-top: 36px;
  padding-top: 32px;
  border-top: 1px solid var(--bone-border);
}
#review_form #reply-title {
  font-family: var(--font-display, 'Cormorant Garamond', serif);
  font-weight: 300;
  font-size: 26px;
  letter-spacing: 0;
  text-transform: none;
  margin: 0 0 6px;
  color: var(--ink-900);
}
#review_form .comment-notes {
  font-size: 13px;
  color: var(--ink-500);
  margin: 0 0 22px;
}
#review_form .comment-form-rating {
  margin-bottom: 18px;
}
#review_form .comment-form-rating label {
  display: block;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-500);
  margin-bottom: 10px;
}
#review_form p.stars {
  display: inline-flex;
  gap: 4px;
  margin: 0;
}
#review_form p.stars a {
  font-size: 22px;
  text-decoration: none;
  color: var(--bone-border);
  transition: color 0.15s ease, transform 0.15s ease;
}
#review_form p.stars a:hover {
  transform: scale(1.1);
  color: var(--matcha-fresh);
}
#review_form p.stars.selected a.active ~ a:not(.active) {
  color: var(--bone-border);
}
#review_form p.stars.selected a.active,
#review_form p.stars:not(.selected) a:hover,
#review_form p.stars:not(.selected) a:hover ~ a {
  color: var(--matcha-fresh);
}
#review_form .comment-form-comment,
#review_form .comment-form-author,
#review_form .comment-form-email {
  margin-bottom: 18px;
  display: flex;
  flex-direction: column;
}
#review_form label {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-500);
  margin-bottom: 8px;
}
#review_form input[type="text"],
#review_form input[type="email"],
#review_form textarea {
  width: 100%;
  background: #ffffff !important;
  border: 1px solid var(--bone-border) !important;
  border-radius: 4px !important;
  padding: 12px 16px !important;
  font-family: inherit !important;
  font-size: 14px !important;
  color: var(--ink-900) !important;
  outline: 0 !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
}
#review_form input[type="text"],
#review_form input[type="email"] { height: 48px; }
#review_form textarea { min-height: 140px; resize: vertical; line-height: 1.6; }
#review_form input:focus,
#review_form textarea:focus {
  border-color: var(--matcha-fresh) !important;
  box-shadow: 0 0 0 3px rgba(123, 160, 91, 0.12);
}
#review_form .comment-form-cookies-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 22px;
  font-size: 13px;
  color: var(--ink-500);
}
#review_form .comment-form-cookies-consent input {
  width: 16px !important;
  height: 16px !important;
  margin: 2px 0 0 !important;
  accent-color: var(--matcha-dark);
  flex-shrink: 0;
}
#review_form .comment-form-cookies-consent label {
  margin: 0;
  text-transform: none;
  letter-spacing: 0;
  font-size: 13px;
  color: var(--ink-500);
  line-height: 1.5;
}
#review_form .form-submit { margin: 0; }
#review_form input#submit,
#review_form .submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--ink-900) !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 14px 36px !important;
  font-size: 12px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase;
  font-weight: 500;
  cursor: pointer;
  width: auto !important;
  transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 8px 20px -10px rgba(0, 0, 0, 0.4);
}
#review_form input#submit:hover {
  background: var(--matcha-deep) !important;
  transform: translateY(-1px);
}

/* === Empty cart === */
.mc-cart-empty {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px 120px;
  display: flex;
  flex-direction: column;
  gap: 80px;
}
.mc-cart-empty-hero {
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
  padding: 56px 32px;
  background: linear-gradient(180deg, #ffffff 0%, var(--bone-50) 100%);
  border: 1px solid var(--bone-border);
  border-radius: 8px;
  position: relative;
  overflow: hidden;
}
.mc-cart-empty-hero:before {
  content: "";
  position: absolute;
  top: -100px;
  right: -100px;
  width: 280px;
  height: 280px;
  background: radial-gradient(circle, rgba(123, 160, 91, 0.12) 0%, transparent 70%);
  pointer-events: none;
}
.mc-cart-empty-icon {
  width: 88px;
  height: 88px;
  margin: 0 auto 28px;
  border-radius: 999px;
  background: var(--matcha-fresh);
  background: linear-gradient(135deg, var(--matcha-fresh), var(--matcha-dark));
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 20px 40px -16px rgba(45, 67, 33, 0.4);
  position: relative;
  z-index: 1;
}
.mc-cart-empty-title {
  font-family: var(--font-display, 'Cormorant Garamond', serif);
  font-weight: 300;
  font-size: 36px;
  line-height: 1.1;
  color: var(--ink-900);
  margin: 0 0 16px;
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .mc-cart-empty-title { font-size: 48px; }
}
.mc-cart-empty-sub {
  color: var(--ink-500);
  font-size: 16px;
  line-height: 1.7;
  margin: 0 0 36px;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
}
.mc-cart-empty-ctas {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}
.mc-cart-empty-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 30px;
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
.mc-cart-empty-btn-primary {
  background: var(--matcha-deep);
  color: #ffffff;
  box-shadow: 0 12px 26px -12px rgba(45, 67, 33, 0.5);
}
.mc-cart-empty-btn-primary:hover {
  background: var(--matcha-dark);
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 16px 32px -12px rgba(45, 67, 33, 0.6);
}
.mc-cart-empty-btn-ghost {
  background: transparent;
  color: var(--ink-900);
  border: 1px solid var(--bone-border);
}
.mc-cart-empty-btn-ghost:hover {
  background: var(--ink-900);
  color: #ffffff;
  border-color: var(--ink-900);
}
.mc-cart-empty-trust {
  list-style: none;
  margin: 36px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 18px 28px;
  justify-content: center;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-500);
  position: relative;
  z-index: 1;
}
.mc-cart-empty-trust li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.mc-cart-empty-trust li svg {
  color: var(--matcha-fresh);
}

.mc-cart-empty-upsell-head {
  text-align: center;
  margin-bottom: 36px;
}
.mc-cart-empty-upsell-title {
  font-family: var(--font-display, 'Cormorant Garamond', serif);
  font-weight: 300;
  font-size: 32px;
  margin: 8px 0 0;
  color: var(--ink-900);
  line-height: 1.15;
}
@media (min-width: 768px) {
  .mc-cart-empty-upsell-title { font-size: 42px; }
}

.mc-cart-empty-quote {
  background: var(--matcha-deep);
  color: #ffffff;
  border-radius: 8px;
  padding: 56px 40px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.mc-cart-empty-quote .font-jp {
  position: absolute;
  top: 50%;
  right: 32px;
  transform: translateY(-50%);
  color: #ffffff;
}
.mc-cart-empty-quote blockquote {
  margin: 0;
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
}
.mc-cart-empty-quote blockquote p {
  font-family: var(--font-display, 'Cormorant Garamond', serif);
  font-weight: 300;
  font-style: italic;
  font-size: 22px;
  line-height: 1.5;
  margin: 0 0 16px;
  color: #ffffff;
}
@media (min-width: 768px) {
  .mc-cart-empty-quote blockquote p { font-size: 26px; }
}
.mc-cart-empty-quote cite {
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
  font-style: normal;
}

/* Hide WC default empty-cart message + return-to-shop button (we render our own) */
.woocommerce .cart-empty.woocommerce-info,
.woocommerce p.return-to-shop {
  display: none !important;
}

/* === Trust badges (home) — czyste CSS, bez Tailwind klas === */
.mc-trust-item {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #ffffff;
  border: 1px solid var(--bone-border);
  border-radius: 4px;
  padding: 16px;
  min-height: 96px;
  height: 100%;
  box-sizing: border-box;
}
.mc-trust-item .mc-trust-icon {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
  flex: 0 0 44px !important;
  border-radius: 50% !important;
  background: var(--bone-50) !important;
  border: 1px solid var(--bone-border) !important;
  color: var(--matcha-deep) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  transform: none !important;
}
.mc-trust-item .mc-trust-icon .mc-icon {
  width: 22px;
  height: 22px;
  stroke-width: 1.7;
  display: block;
  transform-origin: center;
}
.mc-trust-item .mc-trust-icon .mc-icon-leaf   { transform: scale(1.10); }
.mc-trust-item .mc-trust-icon .mc-icon-sprout { transform: scale(1.30); }
.mc-trust-item .mc-trust-icon .mc-icon-shield { transform: scale(1.20); }
.mc-trust-item .mc-trust-icon .mc-icon-award  { transform: scale(1.00); }
.mc-trust-item .mc-trust-icon .mc-icon-heart  { transform: scale(1.05); }
.mc-trust-item .mc-trust-icon .mc-icon-check  { transform: scale(0.95); }
.mc-trust-item .mc-trust-icon .mc-icon-globe  { transform: scale(1.05); }
.mc-trust-item .mc-trust-text {
  min-width: 0;
  flex: 1 1 auto;
}
.mc-trust-item .mc-trust-title {
  color: var(--ink-900);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
}
.mc-trust-item .mc-trust-sub {
  color: var(--ink-500);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-top: 4px;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .mc-trust-item { gap: 16px; padding: 20px; min-height: 100px; }
  .mc-trust-item .mc-trust-icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
    flex: 0 0 48px !important;
  }
  .mc-trust-item .mc-trust-icon .mc-icon { width: 24px; height: 24px; stroke-width: 1.6; }
  .mc-trust-item .mc-trust-title { font-size: 15px; }
  .mc-trust-item .mc-trust-sub { font-size: 12px; }
}

/* === Home product tabs === */
.mc-product-tabs {
  --tab-h: 40px;
}
.mc-product-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--tab-h);
  padding: 0 22px;
  background: #ffffff;
  color: var(--ink-500);
  border: 1px solid var(--bone-border);
  border-radius: 999px;
  font-size: 11.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 500;
  font-family: 'Inter', sans-serif;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.25s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.25s ease;
  line-height: 1;
}
.mc-product-tab:hover {
  color: var(--matcha-dark);
  border-color: var(--matcha-dark);
  background: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px -8px rgba(45, 67, 33, 0.25);
}
.mc-product-tab.is-active {
  background: var(--matcha-deep);
  color: #ffffff;
  border-color: var(--matcha-deep);
  box-shadow: 0 8px 18px -10px rgba(45, 67, 33, 0.5);
}
.mc-product-tab.is-active:hover {
  background: var(--matcha-dark);
  color: #ffffff;
  border-color: var(--matcha-dark);
  transform: translateY(-1px);
}

/* === Legal pages (Regulamin / Polityka) === */
.mc-legal-content .mc-legal-body > .mc-legal-p,
.mc-legal-content .mc-legal-intro p {
  color: var(--ink-500);
  font-size: 14.5px;
  line-height: 1.85;
  margin: 0 0 18px;
}
.mc-legal-content .mc-legal-body > .mc-legal-p:last-child,
.mc-legal-content .mc-legal-intro p:last-child { margin-bottom: 0; }

/* Numbered subsections (1.1, 1.2, ...) - badge + text grid */
.mc-legal-item {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 18px;
  align-items: start;
  padding: 18px 0;
  border-bottom: 1px solid rgba(232, 232, 224, 0.55);
}
.mc-legal-item:first-child { padding-top: 4px; }
.mc-legal-item:last-child { border-bottom: 0; padding-bottom: 4px; }
.mc-legal-item-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  padding: 0 10px;
  background: var(--bone-50);
  color: var(--matcha-dark);
  font-family: 'Jost', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  font-feature-settings: "tnum";
  border-radius: 999px;
  white-space: nowrap;
  border: 1px solid var(--bone-border);
}
.mc-legal-item-text {
  color: var(--ink-500);
  font-size: 14.5px;
  line-height: 1.85;
}
.mc-legal-item-text a {
  color: var(--matcha-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  word-break: break-word;
  transition: color 0.2s ease;
}
.mc-legal-item-text a:hover { color: var(--matcha-fresh); }
.mc-legal-item-text strong, .mc-legal-item-text b {
  color: var(--ink-900);
  font-weight: 600;
}
@media (max-width: 640px) {
  .mc-legal-item {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .mc-legal-item-num {
    align-self: flex-start;
  }
}
.mc-legal-content .mc-legal-body strong,
.mc-legal-content .mc-legal-body b {
  color: var(--ink-900);
  font-weight: 600;
}
.mc-legal-content .mc-legal-body a {
  color: var(--matcha-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: color 0.2s ease;
  word-break: break-word;
}
.mc-legal-content .mc-legal-body a:hover {
  color: var(--matcha-fresh);
}
.mc-legal-content .mc-legal-body ul,
.mc-legal-content .mc-legal-body ol {
  margin: 12px 0 18px;
  padding-left: 0;
  list-style: none;
}
.mc-legal-content .mc-legal-body li {
  position: relative;
  padding-left: 28px;
  margin: 8px 0;
  color: var(--ink-500);
  font-size: 14.5px;
  line-height: 1.7;
}
.mc-legal-content .mc-legal-body ul li:before {
  content: "";
  position: absolute;
  left: 8px;
  top: 11px;
  width: 6px;
  height: 6px;
  background: var(--matcha-fresh);
  border-radius: 999px;
}
.mc-legal-content .mc-legal-body ol {
  counter-reset: legal-list;
}
.mc-legal-content .mc-legal-body ol li {
  counter-increment: legal-list;
}
.mc-legal-content .mc-legal-body ol li:before {
  content: counter(legal-list) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-family: 'Jost', sans-serif;
  font-feature-settings: "tnum";
  font-size: 13px;
  color: var(--matcha-dark);
  font-weight: 600;
  width: 22px;
  text-align: right;
}
.mc-legal-content .mc-legal-body h3,
.mc-legal-content .mc-legal-body h4 {
  font-family: var(--font-display, 'Cormorant Garamond', serif);
  font-weight: 400;
  font-size: 19px;
  color: var(--ink-900);
  margin: 22px 0 10px;
  line-height: 1.3;
}
.mc-legal-content .mc-legal-body table {
  width: 100%;
  margin: 18px 0;
  border-collapse: collapse;
  font-size: 13.5px;
}
.mc-legal-content .mc-legal-body th,
.mc-legal-content .mc-legal-body td {
  padding: 10px 14px;
  border: 1px solid var(--bone-border);
  text-align: left;
  vertical-align: top;
}
.mc-legal-content .mc-legal-body th {
  background: var(--bone-50);
  color: var(--ink-900);
  font-weight: 600;
}
/* Paragraf "1.1" / "1.2" - delikatnie wyrównane */
.mc-legal-content .mc-legal-body p {
  display: block;
}
.mc-legal-toc-link {
  text-decoration: none;
}
.mc-legal-toc-link:hover .num-tab,
.mc-legal-toc-link:hover span {
  color: var(--matcha-dark) !important;
}
.mc-legal-toc li:last-child a { border-bottom: 0 !important; }

/* === Cookie banner overrides (wp-cookie-consent-pro) === */
.wccp-banner,
.wccp-modal,
.wccp-icon-floating {
  font-family: 'Inter', sans-serif !important;
}
.wccp-banner h2,
.wccp-modal h2 {
  font-family: var(--font-display, 'Cormorant Garamond', serif) !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.wccp-banner button,
.wccp-modal button {
  font-family: 'Inter', sans-serif !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  border-radius: 999px !important;
  transition: transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease !important;
}
.wccp-banner button:hover,
.wccp-modal button:hover {
  transform: translateY(-1px) !important;
}
.wccp-banner [class*="accept"]:hover,
.wccp-modal [class*="accept"]:hover {
  background: var(--matcha-dark) !important;
  box-shadow: 0 12px 26px -10px rgba(45, 67, 33, 0.45) !important;
}
.wccp-icon-floating {
  background: var(--matcha-deep) !important;
  color: #ffffff !important;
}
.wccp-icon-floating:hover {
  background: var(--matcha-dark) !important;
}

/* === Toast notification (add to cart) === */
.mc-toast {
  position: fixed;
  right: 24px;
  bottom: 96px;
  z-index: 70;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: var(--matcha-deep);
  color: #ffffff;
  padding: 14px 18px 14px 16px;
  border-radius: 999px;
  box-shadow: 0 20px 40px -16px rgba(0, 0, 0, 0.5);
  font-size: 13px;
  font-family: 'Inter', sans-serif;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  max-width: calc(100vw - 48px);
}
.mc-toast[hidden] { display: none; }
.mc-toast.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.mc-toast-icon {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: var(--matcha-fresh);
  color: var(--matcha-deep);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.mc-toast-text {
  font-weight: 500;
  line-height: 1.3;
}
.mc-toast-link {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--matcha-fresh);
  text-decoration: none;
  border-left: 1px solid rgba(255, 255, 255, 0.18);
  padding-left: 14px;
  margin-left: 4px;
  font-weight: 500;
  transition: color 0.2s ease;
}
.mc-toast-link:hover { color: #ffffff; }
@media (max-width: 640px) {
  .mc-toast { right: 16px; left: 16px; bottom: 80px; justify-content: center; }
}

/* === Toast error state === */
.mc-toast.is-error {
  background: #3d1a1a;
}
.mc-toast.is-error .mc-toast-icon {
  background: #c0392b;
  color: #ffffff;
}
.mc-toast.is-error .mc-toast-link {
  display: none;
}

/* === Out-of-stock attribute buttons === */
.mc-attr-btn.is-oos {
  opacity: 0.4;
  cursor: not-allowed;
  position: relative;
  pointer-events: auto;
}
.mc-attr-btn.is-oos span {
  text-decoration: line-through;
}

/* === Out-of-stock add-to-cart button === */
.single_add_to_cart_button.is-oos {
  background: #9ca3af !important;
  border-color: #9ca3af !important;
  cursor: not-allowed;
  opacity: 0.7;
}

/* === Lightbox === */
.mc-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.mc-lightbox[hidden] { display: none; }
.mc-lightbox.is-open {
  opacity: 1;
  visibility: visible;
}
.mc-lightbox-scrim {
  position: absolute;
  inset: 0;
  background: rgba(15, 18, 14, 0.92);
  border: 0;
  cursor: zoom-out;
  padding: 0;
  margin: 0;
}
.mc-lightbox-stage {
  position: relative;
  z-index: 1;
  max-width: 90vw;
  max-height: 88vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin: 0;
  pointer-events: none;
  transform: scale(0.96);
  opacity: 0;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.mc-lightbox.is-open .mc-lightbox-stage {
  transform: scale(1);
  opacity: 1;
}
.mc-lightbox-image {
  max-width: 90vw;
  max-height: 80vh;
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.6);
  background: #ffffff;
}
.mc-lightbox-counter {
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.mc-lightbox-close,
.mc-lightbox-nav {
  position: absolute;
  z-index: 2;
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  border: 0;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
  backdrop-filter: blur(8px);
}
.mc-lightbox-close:hover,
.mc-lightbox-nav:hover {
  background: rgba(255, 255, 255, 0.22);
  transform: scale(1.05);
}
.mc-lightbox-close {
  top: 24px;
  right: 24px;
}
.mc-lightbox-prev { left: 24px; top: 50%; transform: translateY(-50%); }
.mc-lightbox-next { right: 24px; top: 50%; transform: translateY(-50%); }
.mc-lightbox-prev:hover { transform: translateY(-50%) scale(1.05); }
.mc-lightbox-next:hover { transform: translateY(-50%) scale(1.05); }
.mc-lightbox.is-single .mc-lightbox-prev,
.mc-lightbox.is-single .mc-lightbox-next,
.mc-lightbox.is-single .mc-lightbox-counter {
  display: none;
}
@media (max-width: 768px) {
  .mc-lightbox-close { top: 16px; right: 16px; }
  .mc-lightbox-prev { left: 12px; }
  .mc-lightbox-next { right: 12px; }
}

/* === Scroll-to-top floating button === */
.mc-scroll-top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 52px;
  height: 52px;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--matcha-dark);
  border-radius: 999px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, color 0.25s ease;
  z-index: 60;
}
.mc-scroll-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.mc-scroll-top:hover {
  color: var(--matcha-fresh);
  transform: translateY(-2px);
}
.mc-scroll-top-progress {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
  pointer-events: none;
}
.mc-scroll-top-track {
  stroke: rgba(45, 67, 33, 0.15);
  stroke-width: 2;
}
.mc-scroll-top-fill {
  stroke: var(--matcha-fresh);
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  transition: stroke-dashoffset 0.1s linear;
}
.mc-scroll-top-arrow {
  position: relative;
  z-index: 1;
  color: var(--matcha-fresh);
  stroke: var(--matcha-fresh);
}
@media (max-width: 768px) {
  .mc-scroll-top { right: 16px; bottom: 16px; width: 46px; height: 46px; }
}

/* === Cart pill in header === */
.mc-cart-pill {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 16px 9px 14px;
  border-radius: 999px;
  background: var(--matcha-dark);
  color: #ffffff !important;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 500;
  transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 6px 16px -8px rgba(45, 67, 33, 0.5);
  text-decoration: none;
  position: relative;
}
.mc-cart-pill:hover {
  background: var(--matcha-deep);
  transform: translateY(-1px);
  box-shadow: 0 12px 24px -10px rgba(45, 67, 33, 0.6);
  color: #ffffff !important;
}
.mc-cart-pill svg {
  color: #ffffff;
  flex-shrink: 0;
}
.mc-cart-pill-label {
  line-height: 1;
}
.mc-cart-pill .mc-cart-count {
  position: static;
  width: auto;
  height: 20px;
  min-width: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: #ffffff;
  color: var(--matcha-deep);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 2px;
}
.mc-cart-pill .mc-cart-count.is-empty {
  background: rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.7);
}
@media (max-width: 768px) {
  .mc-cart-pill { padding: 9px 12px; gap: 7px; }
  .mc-cart-pill-label { display: none; }
}
/* Hide cart label between md and xl too (keep header tight on 1024-1279) */
@media (min-width: 769px) and (max-width: 1279px) {
  .mc-cart-pill { padding: 9px 12px; gap: 7px; }
  .mc-cart-pill-label { display: none; }
}
/* Compact switchers under xl */
@media (max-width: 1279px) {
  .mc-switch-btn {
    font-size: 11px !important;
    letter-spacing: 0.1em !important;
  }
}
/* Hero header: cart pill stays visible & contrasted on dark */
header.mc-header--hero:not(.scrolled) .mc-cart-pill {
  background: rgba(255, 255, 255, 0.14);
  color: #ffffff !important;
  box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(6px);
}
header.mc-header--hero:not(.scrolled) .mc-cart-pill:hover {
  background: rgba(255, 255, 255, 0.22);
}
header.mc-header--hero:not(.scrolled) .mc-cart-pill .mc-cart-count {
  background: var(--matcha-fresh);
  color: var(--matcha-deep);
}
header.mc-header--hero:not(.scrolled) .mc-cart-pill .mc-cart-count.is-empty {
  background: rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.8);
}

/* === Language + Currency switchers === */
.mc-switch { position: relative; }
.mc-switch-btn {
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  padding: 8px 4px;
  font-family: inherit;
  transition: opacity 0.2s ease;
}
.mc-switch-btn:hover { opacity: 0.75; }
.mc-switch.is-open .mc-switch-chevron { transform: rotate(180deg); }
.mc-switch-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 220px;
  background: #ffffff !important;
  color: #1a1d1a !important;
  border: 1px solid var(--bone-border);
  border-radius: 6px;
  box-shadow: 0 20px 50px -20px rgba(0, 0, 0, 0.18);
  padding: 6px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
  z-index: 50;
}
.mc-header.mc-header--hero .mc-switch-dropdown,
.mc-header.mc-header--hero .mc-switch-dropdown * {
  color: #1a1d1a;
}
.mc-switch.is-open .mc-switch-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.mc-switch-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 4px;
  font-size: 13px;
  color: #1a1d1a !important;
  text-decoration: none;
  transition: background 0.15s ease;
}
.mc-switch-item span { color: #1a1d1a; }
.mc-switch-item:hover { background: var(--bone-50); }
.mc-switch-item.is-active { background: var(--bone-50); font-weight: 500; }
.mc-switch-item.is-active .mc-switch-check { color: var(--matcha-dark) !important; }
.mc-switch-flag { font-size: 17px; line-height: 1; }
.mc-switch-currency-symbol {
  font-family: 'Jost', sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: #1a1d1a !important;
  width: 22px;
  display: inline-flex;
  justify-content: center;
}
.mc-switch-check {
  margin-left: auto;
  color: transparent;
}
.mc-switch-soon {
  margin-left: auto;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #6b7068 !important;
  background: var(--bone-50);
  padding: 3px 8px;
  border-radius: 999px;
}
.mc-switch-item:not(.is-active):not(:has(.mc-switch-soon)) .mc-switch-check { color: var(--bone-border) !important; }

/* Header logo - !important to override WC/plugin styles */
header.mc-header img.mc-logo-img,
.mc-logo-img {
  height: 36px !important;
  width: auto !important;
  max-width: 200px !important;
  display: block !important;
  transition: filter 0.3s ease;
  object-fit: contain;
}
@media (min-width: 768px) {
  header.mc-header img.mc-logo-img,
  .mc-logo-img { height: 42px !important; max-width: 240px !important; }
}

/* SMART Agency credit logo */
.mc-smart-credit { color: rgba(255,255,255,0.55); font-size: 12px; }
.mc-smart-credit:hover { color: rgba(255,255,255,0.9); }
.mc-smart-logo {
  height: 18px;
  width: auto;
  filter: brightness(0) invert(1);
  opacity: 0.85;
  transition: opacity 0.25s ease;
}
.mc-smart-credit:hover .mc-smart-logo { opacity: 1; }

/* === FOOTER PREMIUM === */
.mc-footer { padding-top: 0; padding-bottom: 0; }
.mc-footer a { transition: color 0.25s ease; }
.mc-footer ul li a { display: inline-block; }
.mc-footer ul li a::after {
  content: "";
  display: block;
  height: 1px;
  width: 0;
  background: var(--matcha-fresh);
  transition: width 0.3s cubic-bezier(.65,.04,.16,.99);
  margin-top: 2px;
}
.mc-footer ul li a:hover::after { width: 100%; }

/* Footer newsletter - white pill on dark footer */
.mc-footer-newsletter .mc-newsletter-row {
  background: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 999px !important;
  padding: 6px 6px 6px 22px !important;
  display: flex !important;
  align-items: center;
  gap: 12px;
  max-width: 520px;
  width: 100%;
  box-shadow: 0 12px 40px -16px rgba(0, 0, 0, 0.35);
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
}
.mc-footer-newsletter .mc-newsletter-row:focus-within {
  border-color: var(--matcha-fresh) !important;
  box-shadow: 0 0 0 3px rgba(123, 160, 91, 0.25), 0 12px 40px -16px rgba(0, 0, 0, 0.35);
}
.mc-footer-newsletter .mc-newsletter-row .wpcf7-form-control-wrap {
  flex: 1 1 auto !important;
  min-width: 0;
  display: flex;
}
.mc-footer-newsletter input[type="email"] {
  color: var(--ink-900) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 14px 0 !important;
  font-size: 15px !important;
  font-family: inherit;
  outline: 0 !important;
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
}
.mc-footer-newsletter input[type="email"]::placeholder {
  color: var(--ink-500) !important;
  opacity: 1;
}
.mc-footer-newsletter input[type="submit"],
.mc-footer-newsletter button[type="submit"],
.mc-footer-newsletter .wpcf7-submit {
  flex: 0 0 auto !important;
  align-self: center;
  background: var(--matcha-deep) !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-size: 12px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
  white-space: nowrap;
  box-shadow: 0 6px 16px -8px rgba(45, 67, 33, 0.5);
}
.mc-footer-newsletter input[type="submit"]:hover,
.mc-footer-newsletter button[type="submit"]:hover,
.mc-footer-newsletter .wpcf7-submit:hover {
  background: var(--matcha-dark) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 26px -10px rgba(45, 67, 33, 0.65);
}
.mc-footer-newsletter input[type="submit"]:active,
.mc-footer-newsletter button[type="submit"]:active,
.mc-footer-newsletter .wpcf7-submit:active {
  transform: translateY(0);
}
.mc-footer-newsletter .wpcf7-acceptance,
.mc-footer-newsletter .wpcf7-list-item-label {
  color: rgba(255, 255, 255, 0.65) !important;
  font-size: 11px !important;
}
.mc-footer-newsletter .wpcf7-acceptance input[type="checkbox"] {
  accent-color: var(--matcha-fresh);
}
/* CF7 generates 2x <p> inside form (one per shortcode line):
   first holds email span, second holds submit. Layout each. */
.mc-footer-newsletter .mc-newsletter-row > p {
  display: flex !important;
  align-items: center;
  margin: 0 !important;
  min-width: 0;
}
.mc-footer-newsletter .mc-newsletter-row > p:has(input[type="email"]),
.mc-footer-newsletter .mc-newsletter-row > p:has(.wpcf7-form-control-wrap) {
  flex: 1 1 auto !important;
  width: 100%;
}
.mc-footer-newsletter .mc-newsletter-row > p:has(input[type="submit"]) {
  flex: 0 0 auto !important;
  width: auto !important;
  margin-left: auto !important;
}
.mc-footer-newsletter .mc-newsletter-row br { display: none; }
.mc-footer-newsletter .wpcf7-spinner { display: none !important; }

/* Footer logo: turn brand wordmark white over the dark green footer */
footer img.mc-footer-logo,
.mc-footer-logo {
  filter: brightness(0) invert(1);
  opacity: 0.95;
  height: 44px !important;
  width: auto !important;
  max-width: 240px !important;
  display: block;
}
@media (min-width: 768px) {
  footer img.mc-footer-logo,
  .mc-footer-logo { height: 52px !important; max-width: 280px !important; }
}

/* Newsletter form (used on home Newsletter section + footer signup, etc.) */
.mc-newsletter .wpcf7-form,
.mc-newsletter form {
  margin: 0;
}
.mc-newsletter .mc-newsletter-row {
  display: flex;
  width: 100%;
  max-width: 520px;
  background: #ffffff;
  border: 1px solid var(--bone-border);
  border-radius: 999px;
  overflow: hidden;
  align-items: stretch;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.mc-newsletter .mc-newsletter-row:focus-within {
  border-color: var(--ink-900);
  box-shadow: 0 8px 30px -12px rgba(0, 0, 0, 0.18);
}
/* CF7 wraps inputs in <p> with <br>; flatten visually using display:contents
   so inner span+submit become direct flex children of .mc-newsletter-row */
.mc-newsletter .mc-newsletter-row > p {
  display: contents;
}
.mc-newsletter .mc-newsletter-row br { display: none; }
.mc-newsletter .mc-newsletter-row .wpcf7-form-control-wrap {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: stretch;
}
.mc-newsletter .mc-newsletter-row .wpcf7-form-control-wrap > input {
  width: 100%;
  min-width: 0;
}
.mc-newsletter .mc-newsletter-row > input[type="submit"],
.mc-newsletter .mc-newsletter-row .wpcf7-submit {
  flex: 0 0 auto;
}
.mc-newsletter .mc-newsletter-row .wpcf7-spinner {
  align-self: center;
  margin-right: 8px;
}
.mc-newsletter input[type="email"] {
  flex: 1;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 18px 22px !important;
  font-size: 15px !important;
  background: transparent !important;
  outline: none;
  font-family: inherit;
}
.mc-newsletter input[type="submit"],
.mc-newsletter .wpcf7-submit,
.mc-newsletter button[type="submit"] {
  background: var(--ink-900) !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 18px 32px !important;
  font-size: 12px !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 500;
  margin: 4px;
  cursor: pointer;
  transition: background 0.25s ease, transform 0.2s ease;
  white-space: nowrap;
}
.mc-newsletter input[type="submit"]:hover,
.mc-newsletter .wpcf7-submit:hover,
.mc-newsletter button[type="submit"]:hover {
  background: var(--matcha-dark) !important;
  transform: translateX(2px);
}
.mc-newsletter .wpcf7-list-item,
.mc-newsletter p {
  margin: 0 !important;
}
.mc-newsletter p:has(input[type="email"]),
.mc-newsletter p:has(input[type="submit"]) {
  flex: 0 0 auto;
}
.mc-newsletter .wpcf7-acceptance {
  display: block;
  margin-top: 14px;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-500);
}
.mc-newsletter .wpcf7-acceptance .wpcf7-list-item-label {
  margin-left: 6px;
}
.mc-newsletter .wpcf7-response-output {
  border-radius: 8px !important;
  margin: 16px 0 0 !important;
  font-size: 13px !important;
}
.mc-newsletter .wpcf7-spinner { margin: 0 0 0 6px; }
/* When CF7 success is shown, replace the input row with celebratory message */
.mc-newsletter form.sent .wpcf7-form-control-wrap { display: none; }
.mc-newsletter form.sent .wpcf7-response-output {
  border: 1px solid var(--matcha-dark) !important;
  background: #f4f7f2 !important;
  color: var(--matcha-dark) !important;
  padding: 18px 22px !important;
  border-radius: 999px !important;
}

/* WooCommerce notice + button overrides */
.woocommerce-notices-wrapper { max-width: 1360px; margin: 0 auto; padding: 0 24px; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: 4px !important;
  border-top-color: var(--matcha-dark) !important;
  background: #fff !important;
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--matcha-dark) !important; }

/* Checkout error notices - WC JS wstawia je jako pierwszy child form.mc-checkout-grid,
   wchodzą w pierwszy grid slot (lewa kolumna) i rozwalaja uklad. Span-uj cala szerokosc. */
.mc-checkout-grid > .woocommerce-NoticeGroup,
.mc-checkout-grid > .woocommerce-NoticeGroup-checkout,
.mc-checkout-grid > .woocommerce-error,
.mc-checkout-grid > .woocommerce-message,
.mc-checkout-grid > .woocommerce-info {
  grid-column: 1 / -1 !important;
  margin: 0 0 24px !important;
  padding: 18px 22px !important;
  background: #FEF2F2 !important;
  border: 1px solid #FCA5A5 !important;
  border-left: 4px solid #DC2626 !important;
  border-radius: 6px !important;
  list-style: none !important;
  font-size: 14px;
  color: #7F1D1D;
}
.mc-checkout-grid > .woocommerce-error li,
.mc-checkout-grid > .woocommerce-NoticeGroup .woocommerce-error li {
  padding: 4px 0 !important;
  margin: 0 !important;
  list-style: none !important;
  position: relative;
  padding-left: 22px !important;
}
.mc-checkout-grid > .woocommerce-error li::before,
.mc-checkout-grid > .woocommerce-NoticeGroup .woocommerce-error li::before {
  content: '!';
  position: absolute;
  left: 0;
  top: 5px;
  width: 16px;
  height: 16px;
  background: #DC2626;
  color: #fff;
  border-radius: 50%;
  text-align: center;
  font-size: 11px;
  font-weight: bold;
  line-height: 16px;
}
.mc-checkout-grid > .woocommerce-message {
  background: #F0FDF4 !important;
  border: 1px solid #86EFAC !important;
  border-left: 4px solid var(--matcha-dark, #3D5A3D) !important;
  color: #14532D;
}
.mc-checkout-grid > .woocommerce-info {
  background: #F4F7F2 !important;
  border: 1px solid var(--bone-border, #E8E6DF) !important;
  border-left: 4px solid var(--matcha-dark, #3D5A3D) !important;
  color: var(--ink-900);
}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background: var(--ink-900) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-size: 12px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  transition: background .25s ease !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover { background: var(--matcha-dark) !important; }

.woocommerce form .form-row label { font-size: 12px; letter-spacing: .15em; text-transform: uppercase; color: var(--ink-500); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  border: 1px solid var(--bone-border) !important;
  border-radius: 4px !important;
  padding: 14px 16px !important;
  font-size: 14px !important;
}

.wc-form-coupon, .woocommerce-form-coupon {
  background: #fff; border: 1px solid var(--bone-border); padding: 24px; border-radius: 4px;
}

/* Single product gallery rounding */
.woocommerce div.product div.images img { border-radius: 4px; }

/* Cart, account tables */
.woocommerce table.shop_table {
  border: 1px solid var(--bone-border) !important;
  border-radius: 4px !important;
  background: #fff !important;
}

/* CF7 styling */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea,
.wpcf7 select {
  width: 100%;
  border: 1px solid var(--bone-border);
  border-radius: 4px;
  padding: 16px 18px;
  font-size: 14px;
  background: #fff;
  font-family: inherit;
  outline: none;
  transition: border-color .25s ease;
}
.wpcf7 input:focus, .wpcf7 textarea:focus, .wpcf7 select:focus { border-color: var(--ink-900); }
.wpcf7 input[type="submit"] {
  background: var(--ink-900);
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: 16px 32px;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 500;
  cursor: pointer;
  transition: background .25s ease;
}
.wpcf7 input[type="submit"]:hover { background: var(--matcha-dark); }
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--matcha-dark); background: #f4f7f2; }
.wpcf7 .wpcf7-not-valid-tip { color: #b91c1c; font-size: 12px; }
.wpcf7 .wpcf7-list-item { margin-left: 0; }

/* Heart toggle */
.heart-btn.active svg { fill: var(--matcha-dark); stroke: var(--matcha-dark); }

/* Reel/cards */
.reel-card { aspect-ratio: 9/16; }

/* Print-friendly product card */
@media (max-width: 1024px) {
  .grid-bento-handpicked {
    grid-template-rows: repeat(8, minmax(80px, auto)) !important;
    height: auto !important;
  }
}

/* Ensure WC-pages don't conflict with hero pull-up */
.woocommerce-page main { padding-top: 0; }

/* WC quantity input */
.woocommerce .quantity .qty {
  border: 1px solid var(--bone-border);
  border-radius: 4px;
  padding: 10px 12px;
  width: 80px;
  text-align: center;
}

/* ============================================================
 * WC PREMIUM PAGE STYLING (cart / checkout / myaccount / login)
 * ============================================================ */

/* Wrap WC page content in our visual frame */
body.woocommerce-cart main#content,
body.woocommerce-checkout main#content,
body.woocommerce-account main#content {
  background: var(--bone-50);
  padding: 60px 0 80px;
  min-height: 60vh;
}
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-account .woocommerce {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}
@media (min-width: 1024px) {
  body.woocommerce-cart .woocommerce,
  body.woocommerce-checkout .woocommerce,
  body.woocommerce-account .woocommerce { padding: 0 40px; }
}

/* Page intro hero */
.mc-shop-page-hero {
  text-align: center;
  margin-bottom: 50px;
  padding: 30px 0 20px;
}
.mc-shop-page-hero .kicker { color: var(--matcha-dark); display: inline-block; }
.mc-shop-page-hero h1 {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: clamp(36px, 5vw, 56px);
  line-height: 1.05;
  color: var(--ink-900);
  margin: 18px 0 10px;
}
.mc-shop-page-hero p { color: var(--ink-500); font-size: 16px; max-width: 540px; margin: 0 auto; }

/* === SHOP PAGINATION === */
.woocommerce nav.woocommerce-pagination {
  margin-top: 60px !important;
  padding-top: 30px;
  border-top: 1px solid var(--bone-border);
  text-align: center;
}
.woocommerce nav.woocommerce-pagination ul {
  border: 0 !important;
  display: inline-flex;
  gap: 8px;
  margin: 0 !important;
  padding: 0;
  list-style: none;
}
.woocommerce nav.woocommerce-pagination ul li {
  border: 0 !important;
  margin: 0 !important;
  display: inline-flex;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 14px !important;
  font-family: 'Jost', sans-serif;
  font-size: 14px !important;
  font-variant-numeric: tabular-nums;
  color: var(--ink-900) !important;
  background: #fff !important;
  border: 1px solid var(--bone-border) !important;
  border-radius: 999px !important;
  text-decoration: none;
  transition: all 0.25s ease;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--ink-900) !important;
  color: #fff !important;
  border-color: var(--ink-900) !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--matcha-dark) !important;
  color: #fff !important;
  border-color: var(--matcha-dark) !important;
  font-weight: 500;
}
.woocommerce nav.woocommerce-pagination ul li .next,
.woocommerce nav.woocommerce-pagination ul li .prev {
  font-size: 0 !important;
  position: relative;
}
.woocommerce nav.woocommerce-pagination ul li .next::before,
.woocommerce nav.woocommerce-pagination ul li .prev::before {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
}
.woocommerce nav.woocommerce-pagination ul li .next::before { content: '→'; }
.woocommerce nav.woocommerce-pagination ul li .prev::before { content: '←'; }

/* WC result count + ordering pretty */
.woocommerce-result-count {
  font-size: 12px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ink-500);
  margin: 0 !important;
}
.woocommerce-ordering select {
  border: 1px solid var(--bone-border) !important;
  border-radius: 999px !important;
  padding: 10px 36px 10px 18px !important;
  font-size: 13px;
  background-color: #fff !important;
  cursor: pointer;
}

/* === CART premium grid === */
.mc-cart-wrap { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
.mc-cart-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  align-items: start;
}
@media (min-width: 1024px) {
  /* Proporcje 60/40: lewa (produkty) szersza dla tytułów + ilości, prawa (summary) węższa.
     minmax(0, ...) zapobiega min-content auto-shrink które powodowało odwrócone proporcje. */
  .mc-cart-wrap .mc-cart-grid,
  .mc-cart-grid {
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) !important;
  }
  .mc-cart-grid > .woocommerce-cart-form,
  .mc-cart-grid > .cart-collaterals {
    min-width: 0 !important;
  }
}
.mc-cart-section-label { margin-bottom: 14px; }
.mc-cart-items {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

/* === Premium cart row (no table) === */
.mc-cart-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.mc-cart-row {
  display: grid;
  grid-template-columns: 110px 1fr auto auto auto;
  align-items: center;
  gap: 24px;
  padding: 20px 22px;
  background: var(--bone-50);
  border-radius: 8px;
  border: 1px solid transparent;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.mc-cart-row:hover {
  border-color: var(--bone-border);
  box-shadow: 0 8px 30px -16px rgba(0,0,0,0.08);
}
@media (max-width: 768px) {
  .mc-cart-row {
    grid-template-columns: 92px 1fr auto;
    grid-template-areas:
      "thumb info remove"
      "thumb qty subtotal"
      "subopt subopt subopt";
    gap: 14px 18px;
  }
  .mc-cart-row .mc-cart-row-thumb { grid-area: thumb; }
  .mc-cart-row .mc-cart-row-info { grid-area: info; }
  .mc-cart-row .mc-cart-row-qty { grid-area: qty; justify-self: start; }
  .mc-cart-row .mc-cart-row-subtotal { grid-area: subtotal; justify-self: end; }
  .mc-cart-row .mc-cart-row-remove { grid-area: remove; justify-self: end; }
  .mc-cart-row > .mc-cart-row-sub-options { grid-area: subopt; }
}
.mc-cart-row-thumb {
  width: 110px;
  height: 110px;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mc-cart-row-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
  max-width: none !important;
}
@media (max-width: 768px) {
  .mc-cart-row-thumb { width: 92px; height: 92px; }
}
.mc-cart-row-info { min-width: 0; }
.mc-cart-row-grade {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--matcha-dark);
  font-weight: 500;
  margin-bottom: 6px;
}
.mc-cart-row-name {
  font-family: 'Jost', sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  color: var(--ink-900) !important;
  margin: 0 0 6px !important;
  line-height: 1.3;
}
.mc-cart-row-name a {
  color: var(--ink-900) !important;
  text-decoration: none !important;
}
.mc-cart-row-name a:hover { color: var(--matcha-dark) !important; }
.mc-cart-row-meta {
  font-size: 12px;
  color: var(--ink-500);
  margin-top: 4px;
}
.mc-cart-row-meta p, .mc-cart-row-meta dl { margin: 0; }
.mc-cart-row-meta dt, .mc-cart-row-meta dd { display: inline; font-weight: normal; margin: 0 4px 0 0; }
.mc-cart-row-meta dt::after { content: ":"; }
.mc-cart-row-unit-price {
  margin-top: 8px;
  font-size: 13px;
  color: var(--ink-500);
  font-variant-numeric: tabular-nums;
}
.mc-cart-row-unit-price .woocommerce-Price-amount { color: var(--ink-900); font-weight: 500; }
.mc-cart-row-unit-price-label { color: var(--ink-500); font-size: 11px; margin-left: 4px; }

.mc-cart-row-qty .quantity { margin: 0; display: inline-flex; }
.mc-cart-row-qty .qty {
  width: 64px !important;
  height: 42px !important;
  border-radius: 999px !important;
  border: 1px solid var(--bone-border) !important;
  text-align: center !important;
  background: #fff !important;
  font-variant-numeric: tabular-nums;
  font-size: 14px !important;
}
.mc-cart-row-subtotal {
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: 18px;
  color: var(--ink-900);
  font-variant-numeric: tabular-nums;
  min-width: 80px;
  text-align: right;
}
.mc-cart-row-remove .mc-cart-remove-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent !important;
  color: var(--ink-500) !important;
  font-size: 18px !important;
  line-height: 1;
  text-decoration: none;
  transition: all 0.25s ease;
}
.mc-cart-row-remove .mc-cart-remove-btn:hover {
  background: var(--ink-900) !important;
  color: #fff !important;
  border-color: var(--ink-900);
}

/* Cart actions (coupon + update) */
.mc-cart-actions {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 24px;
  padding-top: 28px;
  border-top: 1px solid var(--bone-border);
}
.mc-cart-actions .coupon {
  display: flex;
  align-items: center;
  gap: 0;
  flex: 1 1 100%;
  min-width: 0;
  background: var(--bone-50);
  border-radius: 999px;
  padding: 6px 6px 6px 18px;
  position: relative;
}
@media (min-width: 768px) {
  .mc-cart-actions .coupon { flex: 1 1 auto; max-width: 520px; min-width: 380px; }
}
.mc-cart-actions .coupon .mc-coupon-icon {
  flex-shrink: 0;
  color: var(--matcha-dark);
  margin-right: 10px;
}
.mc-cart-actions .coupon label { display: none; }
.mc-cart-actions .coupon input.input-text {
  flex: 1 1 0;
  min-width: 0;
  width: 100%;
  border: 0 !important;
  background: transparent !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  outline: 0;
  color: var(--ink-900);
}
.mc-cart-actions .coupon input.input-text::placeholder { color: var(--ink-500); }
.mc-cart-actions .coupon button[name="apply_coupon"] {
  flex: 0 0 auto;
  border-radius: 999px !important;
  padding: 12px 24px !important;
  font-size: 12px !important;
  background: var(--ink-900) !important;
  color: #fff !important;
  border: 0 !important;
  cursor: pointer;
  letter-spacing: 0.18em;
  font-weight: 500;
}
.mc-update-cart-btn {
  flex: 0 0 auto;
  border-radius: 999px !important;
  padding: 14px 24px !important;
  font-size: 11px !important;
  background: transparent !important;
  color: var(--ink-500) !important;
  border: 1px solid var(--bone-border) !important;
  cursor: pointer;
  white-space: nowrap;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  transition: all 0.25s ease;
}
.mc-update-cart-btn:hover {
  background: var(--ink-900) !important;
  color: #fff !important;
  border-color: var(--ink-900) !important;
}
.mc-cart-totals-wrap { display: contents; }
@media (min-width: 1024px) {
  .mc-cart-totals-wrap { display: block; }
}
.cart-collaterals .cart_totals { width: 100% !important; float: none !important; }

.mc-cart-trust {
  margin-top: 32px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  padding-top: 28px;
  border-top: 1px solid var(--bone-border);
}

/* === Free shipping progress bar === */
.mc-cart-shipping-bar {
  background: #fff;
  border: 1px solid var(--bone-border);
  border-radius: 6px;
  padding: 16px 18px;
  margin-top: 18px;
}
.mc-cart-shipping-bar-text {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: var(--ink-900);
  margin-bottom: 12px;
}
.mc-cart-shipping-bar-text strong { color: var(--matcha-dark); font-weight: 500; }
.mc-cart-shipping-bar-success {
  color: var(--matcha-dark);
}
.mc-cart-shipping-bar-success strong { color: var(--matcha-dark); }
.mc-cart-shipping-bar-track {
  position: relative;
  height: 6px;
  background: var(--bone-50);
  border-radius: 999px;
  overflow: hidden;
}
.mc-cart-shipping-bar-fill {
  position: absolute;
  inset: 0 auto 0 0;
  background: linear-gradient(90deg, var(--matcha-fresh), var(--matcha-dark));
  border-radius: 999px;
  transition: width 0.6s cubic-bezier(.16,.84,.27,.99);
}

/* === Side trust mini in totals card === */
.mc-cart-side-trust {
  margin-top: 18px;
  background: #fff;
  border: 1px solid var(--bone-border);
  border-radius: 6px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mc-cart-side-trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: var(--ink-500);
}
.mc-cart-side-trust-item svg { flex-shrink: 0; }

/* === Cross-sells === */
.mc-cart-crosssell {
  margin-top: 60px;
  padding-top: 40px;
  border-top: 1px solid var(--bone-border);
}
.mc-cart-crosssell-head { text-align: center; margin-bottom: 36px; }
.mc-cart-crosssell-head h2 {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 32px;
  color: var(--ink-900);
  margin: 14px 0 10px;
  line-height: 1.05;
}
.mc-cart-crosssell-head p {
  color: var(--ink-500);
  font-size: 15px;
  max-width: 520px;
  margin: 0 auto;
  line-height: 1.7;
}
@media (min-width: 768px) {
  .mc-cart-crosssell-head h2 { font-size: 40px; }
}
.mc-cart-crosssell-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
@media (min-width: 768px) {
  .mc-cart-crosssell-grid { grid-template-columns: repeat(4, 1fr); }
}
.mc-cart-crosssell-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--bone-border);
  border-radius: 6px;
  overflow: hidden;
  text-decoration: none;
  color: var(--ink-900);
  transition: all 0.4s cubic-bezier(.22,.61,.36,1);
}
.mc-cart-crosssell-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 30px 60px -25px rgba(0,0,0,0.18);
  border-color: var(--matcha-dark);
}
.mc-cart-crosssell-thumb {
  aspect-ratio: 1 / 1;
  background: var(--bone-50);
  overflow: hidden;
}
.mc-cart-crosssell-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 1s cubic-bezier(.22,.61,.36,1);
}
.mc-cart-crosssell-card:hover .mc-cart-crosssell-thumb img { transform: scale(1.05); }
.mc-cart-crosssell-meta { padding: 18px 20px 22px; flex: 1; display: flex; flex-direction: column; }
.mc-cart-crosssell-meta h3 {
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  font-size: 16px;
  margin: 8px 0 12px;
  line-height: 1.3;
  color: var(--ink-900);
}
.mc-cart-crosssell-price {
  font-family: 'Jost', sans-serif;
  font-size: 18px;
  font-weight: 500;
  color: var(--ink-900);
  margin-bottom: 14px;
  font-variant-numeric: tabular-nums;
}
.mc-cart-crosssell-price .price { color: var(--ink-900); }
.mc-cart-crosssell-cta {
  margin-top: auto;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--matcha-dark);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  transition: gap 0.3s ease;
}
.mc-cart-crosssell-card:hover .mc-cart-crosssell-cta { gap: 14px; }
.mc-cart-trust-item {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 14px;
  background: var(--bone-50);
  border-radius: 6px;
}
.mc-cart-trust-icon {
  width: 36px; height: 36px;
  border-radius: 999px;
  background: #fff;
  color: var(--matcha-dark);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.mc-cart-trust-title { font-size: 13px; color: var(--ink-900); font-weight: 500; line-height: 1.3; }
.mc-cart-trust-sub { font-size: 11px; color: var(--ink-500); margin-top: 2px; }

.woocommerce-cart-form { background: transparent !important; border: 0 !important; padding: 0 !important; }
/* Kill default WC table border inside our custom items wrapper */
.mc-cart-items table.shop_table,
.mc-cart-items table.shop_table tr,
.mc-cart-items table.shop_table td,
.mc-cart-items table.shop_table th { border: 0 !important; }
.mc-cart-items table.shop_table { border-collapse: separate !important; border-spacing: 0 14px !important; margin: 0 !important; }
.mc-cart-items table.shop_table thead { display: none; }
.mc-cart-items table.shop_table tr.cart_item { background: var(--bone-50); border-radius: 6px; }
.mc-cart-items table.shop_table tr.cart_item td { padding: 22px 18px !important; vertical-align: middle; background: transparent !important; }
.mc-cart-items table.shop_table tr.cart_item td:first-child { border-radius: 6px 0 0 6px !important; background: var(--bone-50) !important; }
.mc-cart-items table.shop_table tr.cart_item td:last-child  { border-radius: 0 6px 6px 0 !important; background: var(--bone-50) !important; }
.mc-cart-items table.shop_table tr.cart_item td { background: var(--bone-50) !important; }
.mc-cart-items table.shop_table tr.cart_item td.product-thumbnail {
  width: 110px !important;
  padding-left: 22px !important;
}
.mc-cart-items table.shop_table tr.cart_item td.product-thumbnail img,
.mc-cart-items table.shop_table tr.cart_item td.product-thumbnail a img {
  width: 84px !important;
  height: 84px !important;
  border-radius: 6px !important;
  object-fit: cover !important;
  display: block !important;
  max-width: none !important;
}
.mc-cart-items table.shop_table tr.cart_item td.product-remove { width: 56px !important; padding-left: 14px !important; padding-right: 0 !important; }
.mc-cart-items table.shop_table tr.cart_item td.product-name { padding-left: 8px !important; }
.mc-cart-items table.shop_table tr.cart_item td.product-name a {
  color: var(--ink-900) !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

/* Actions row - coupon + update SIDE BY SIDE, full row width */
.mc-cart-items table.shop_table tr:has(td.actions) { background: transparent !important; }
.mc-cart-items table.shop_table td.actions {
  background: transparent !important;
  padding: 28px 0 0 !important;
  display: flex !important;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
  width: 100% !important;
}
.mc-cart-items .coupon {
  display: flex !important;
  gap: 10px;
  align-items: stretch;
  flex: 1 1 100% !important;
  width: 100% !important;
  background: var(--bone-50);
  border-radius: 999px;
  padding: 6px;
  order: 1;
}
@media (min-width: 768px) {
  .mc-cart-items .coupon { flex: 1 1 auto !important; min-width: 360px; max-width: 480px; }
}
.mc-cart-items .coupon label { display: none !important; }
.mc-cart-items .coupon input.input-text {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  border: 0 !important;
  background: transparent !important;
  padding: 12px 18px !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  outline: 0 !important;
}
.mc-cart-items .coupon input.input-text:focus { outline: 0; }
.mc-cart-items .coupon button[name="apply_coupon"] {
  flex: 0 0 auto;
  border-radius: 999px !important;
  padding: 12px 22px !important;
  font-size: 12px !important;
  background: var(--ink-900) !important;
  color: #fff !important;
  border: 0 !important;
  white-space: nowrap;
  cursor: pointer;
}
.mc-cart-items .actions button[name="update_cart"] {
  flex: 0 0 auto;
  border-radius: 999px !important;
  padding: 14px 24px !important;
  font-size: 12px !important;
  background: transparent !important;
  color: var(--ink-900) !important;
  border: 1px solid var(--bone-border) !important;
  cursor: pointer;
  white-space: nowrap;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  transition: all 0.25s ease;
}
.mc-cart-items .actions button[name="update_cart"]:hover {
  background: var(--ink-900) !important;
  color: #fff !important;
  border-color: var(--ink-900) !important;
}
.woocommerce-cart table.shop_table {
  border: 0 !important;
  background: transparent !important;
  border-collapse: separate !important;
  border-spacing: 0 16px;
}
.woocommerce-cart table.shop_table thead { display: none; }
.woocommerce-cart table.shop_table tr.cart_item {
  background: var(--bone-50);
  border-radius: 6px;
}
.woocommerce-cart table.shop_table tr.cart_item td {
  border: 0 !important;
  border-top: 0 !important;
  padding: 22px 18px !important;
  vertical-align: middle;
}
.woocommerce-cart table.shop_table .product-thumbnail img {
  width: 90px !important;
  height: 90px !important;
  border-radius: 4px;
  object-fit: cover;
}
.woocommerce-cart table.shop_table .product-name a {
  font-family: 'Jost', sans-serif;
  font-size: 17px;
  color: var(--ink-900);
}
.woocommerce-cart table.shop_table .product-name .variation { font-size: 12px; color: var(--ink-500); margin-top: 6px; }
.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal {
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: 17px;
  color: var(--ink-900);
  font-variant-numeric: tabular-nums;
}
.woocommerce-cart table.shop_table .product-quantity .quantity .qty {
  width: 60px;
  border-radius: 999px;
  text-align: center;
  height: 38px;
  border: 1px solid var(--bone-border);
}
.woocommerce-cart table.shop_table .product-remove a.remove {
  width: 32px !important;
  height: 32px !important;
  background: transparent !important;
  color: var(--ink-500) !important;
  border-radius: 999px;
  border: 1px solid var(--bone-border) !important;
  font-size: 14px !important;
  line-height: 30px !important;
  text-align: center !important;
}
.woocommerce-cart table.shop_table .product-remove a.remove:hover { color: #fff !important; background: #1f1f1f !important; border-color: #1f1f1f !important; }
.woocommerce-cart table.shop_table .actions {
  background: transparent !important;
  padding: 24px 0 0 !important;
}
.woocommerce-cart .coupon { display: flex; gap: 12px; align-items: center; }
.woocommerce-cart .coupon label { display: none; }
.woocommerce-cart .coupon input.input-text {
  border: 1px solid var(--bone-border) !important;
  border-radius: 999px !important;
  padding: 12px 18px !important;
  font-size: 14px !important;
  flex: 1;
  max-width: 280px;
}
.woocommerce-cart .actions .button[name="apply_coupon"],
.woocommerce-cart .actions .button[name="update_cart"] {
  border-radius: 999px !important;
}

/* Cart totals box */
.woocommerce-cart .mc-cart-totals-wrap {
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.woocommerce-cart .cart_totals {
  background: #fff;
  border: 1px solid var(--bone-border);
  border-radius: 6px;
  padding: 32px;
  position: static;
}
.woocommerce-cart .cart_totals h2 {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 26px;
  color: var(--ink-900);
  margin: 0 0 24px;
}
.woocommerce-cart .cart_totals table.shop_table_responsive {
  border: 0 !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  background: transparent !important;
}
.woocommerce-cart .cart_totals table tr {
  background: transparent !important;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--bone-border) !important;
  padding: 16px 0 !important;
  font-size: 15px;
}
.woocommerce-cart .cart_totals .order-total td,
.woocommerce-cart .cart_totals .order-total th { font-size: 22px !important; font-family: 'Jost', sans-serif; white-space: nowrap !important; font-variant-numeric: tabular-nums; }
.woocommerce-cart .cart_totals .order-total td .woocommerce-Price-amount,
.woocommerce-cart .cart_totals .order-total td bdi { white-space: nowrap !important; display: inline-block; }
.woocommerce-cart .wc-proceed-to-checkout {
  padding: 20px 0 0 !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  display: block;
  width: 100%;
  text-align: center;
  padding: 18px 24px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
}

/* Empty cart */
.cart-empty {
  text-align: center;
  font-size: 18px;
  color: var(--ink-500);
  padding: 60px 0;
}
.return-to-shop { text-align: center; margin: 30px 0; }

/* === CHECKOUT premium grid === */
.mc-checkout-wrap { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
.mc-checkout-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  align-items: start;
}
@media (min-width: 1024px) {
  .mc-checkout-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); }
}
.mc-checkout-card {
  background: #fff;
  border: 1px solid var(--bone-border);
  border-radius: 8px;
  padding: 32px;
}
@media (min-width: 1024px) {
  .mc-checkout-card { padding: 40px; }
  .mc-checkout-summary { position: sticky; top: 100px; }
}
.mc-checkout-cols { display: flex; flex-direction: column; gap: 36px; }

/* Reset WC col2-set inside our wrapper */
.mc-checkout-grid .col2-set,
.mc-checkout-grid .col2-set .col-1,
.mc-checkout-grid .col2-set .col-2 {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

.mc-checkout-summary h3#order_review_heading {
  font-family: 'Jost', sans-serif !important;
  font-weight: 400 !important;
  font-size: 24px !important;
  margin: 0 0 24px !important;
  padding: 0 0 18px !important;
  color: var(--ink-900) !important;
  border-bottom: 1px solid var(--bone-border) !important;
  background: transparent !important;
}

/* Section headings inside checkout */
.mc-checkout-grid h3 {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 22px;
  color: var(--ink-900);
  margin: 0 0 20px;
  padding: 0;
  border: 0;
}

/* Form fields */
.mc-checkout-grid form .form-row {
  margin: 0 0 14px !important;
  padding: 0 !important;
  width: 100% !important;
}
.mc-checkout-grid form .form-row.form-row-first,
.mc-checkout-grid form .form-row.form-row-last { width: 100% !important; }
@media (min-width: 600px) {
  .mc-checkout-grid form .form-row.form-row-first { float: left; width: calc(50% - 8px) !important; }
  .mc-checkout-grid form .form-row.form-row-last  { float: right; width: calc(50% - 8px) !important; }
  .mc-checkout-grid form .form-row.form-row-wide  { clear: both; }
}
.mc-checkout-grid form .form-row label {
  display: block !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--ink-500) !important;
  margin-bottom: 8px !important;
  font-weight: 500;
}
.mc-checkout-grid form .form-row input.input-text,
.mc-checkout-grid form .form-row textarea,
.mc-checkout-grid form .form-row select,
.mc-checkout-grid form .form-row .select2-selection {
  border: 1px solid var(--bone-border) !important;
  border-radius: 6px !important;
  padding: 14px 16px !important;
  font-size: 14px !important;
  background: #fff !important;
  width: 100% !important;
  height: auto !important;
  font-family: inherit;
  color: var(--ink-900) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
/* Native select - custom arrow */
.mc-checkout-grid form .form-row select {
  padding-right: 44px !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231F1F1F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 14px 14px !important;
  cursor: pointer;
  line-height: 1.4 !important;
}
.mc-checkout-grid form .form-row select:focus {
  border-color: var(--matcha-dark) !important;
  box-shadow: 0 0 0 3px rgba(61, 90, 61, 0.08);
  outline: 0;
}
.mc-checkout-grid form .form-row input.input-text:focus,
.mc-checkout-grid form .form-row textarea:focus {
  border-color: var(--matcha-dark) !important;
  box-shadow: 0 0 0 3px rgba(61, 90, 61, 0.08);
  outline: 0;
}
.mc-checkout-grid form .form-row .select2-selection {
  height: 50px !important;
  display: flex !important;
  align-items: center;
}
.mc-checkout-grid .select2-selection__rendered {
  line-height: 1.4 !important;
  padding: 0 !important;
  color: var(--ink-900) !important;
}

/* Order review table */
.mc-checkout-summary #order_review { padding: 0; background: transparent; }
.mc-checkout-summary #order_review .shop_table {
  border: 0 !important;
  background: transparent !important;
  margin: 0 0 24px !important;
}
.mc-checkout-summary #order_review .shop_table thead { display: none; }
.mc-checkout-summary #order_review .shop_table tr {
  background: transparent !important;
  border-bottom: 1px solid var(--bone-border);
}
.mc-checkout-summary #order_review .shop_table tr:last-child { border-bottom: 0; }
.mc-checkout-summary #order_review .shop_table th,
.mc-checkout-summary #order_review .shop_table td {
  border: 0 !important;
  background: transparent !important;
  padding: 14px 0 !important;
  font-size: 14px !important;
  color: var(--ink-900);
}
.mc-checkout-summary #order_review .cart_item .product-name { font-weight: 500; }
.mc-checkout-summary #order_review .cart_item .product-quantity { color: var(--ink-500); margin-left: 4px; }
.mc-checkout-summary #order_review .cart_item .product-total { font-variant-numeric: tabular-nums; text-align: right; }
.mc-checkout-summary #order_review .cart-subtotal th,
.mc-checkout-summary #order_review .shipping th { color: var(--ink-500) !important; font-weight: 400 !important; }
.mc-checkout-summary #order_review .order-total th,
.mc-checkout-summary #order_review .order-total td {
  font-family: 'Jost', sans-serif !important;
  font-size: 22px !important;
  color: var(--ink-900) !important;
  font-weight: 500 !important;
  padding-top: 20px !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums;
}
.mc-checkout-summary #order_review .order-total td .woocommerce-Price-amount,
.mc-checkout-summary #order_review .order-total td bdi {
  white-space: nowrap !important;
  display: inline-block;
}

/* Payment methods */
.mc-checkout-summary .wc_payment_methods,
.mc-checkout-summary #payment {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
.mc-checkout-summary .wc_payment_methods { list-style: none !important; padding: 0 !important; margin: 0 0 20px !important; }
.mc-checkout-summary .wc_payment_method {
  background: var(--bone-50);
  border: 1px solid var(--bone-border);
  border-radius: 6px;
  margin: 0 0 8px !important;
  padding: 14px 18px !important;
  transition: all 0.2s ease;
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.mc-checkout-summary .wc_payment_method > input[type="radio"] {
  margin: 0 !important;
  accent-color: var(--matcha-dark);
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0;
  cursor: pointer;
}
.mc-checkout-summary .wc_payment_method > label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex: 1 1 auto !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 14px !important;
  color: var(--ink-900);
  cursor: pointer;
  min-width: 0;
}
.mc-checkout-summary .wc_payment_method > .payment_box {
  flex-basis: 100%;
  margin-top: 6px !important;
  padding: 14px 0 0 30px !important;
  background: transparent !important;
  border-top: 1px dashed var(--bone-border) !important;
  border-radius: 0 !important;
}
.mc-checkout-summary .wc_payment_method:has(input:checked) {
  background: #fff;
  border-color: var(--matcha-dark);
  box-shadow: 0 6px 24px -12px rgba(61, 90, 61, 0.18);
}
.mc-checkout-summary .payment_box {
  background: #fff !important;
  border-radius: 0 0 6px 6px !important;
  padding: 14px 18px !important;
  font-size: 13px;
  color: var(--ink-500);
  margin: 0 !important;
  /* NIE ustawiac display tutaj - WC JS toggluje display:none na inline style.
     Wymuszanie display:block !important pokazuje WSZYSTKIE payment_box na raz. */
  column-count: auto !important;
  grid-template-columns: none !important;
}
.mc-checkout-summary .payment_box::before { display: none !important; }
/* Acceptance checkbox z linkami (Przelewy24 regulamin) - tekst inline NIE w kolumnach.
   Plugin flexible-checkout-fields lub WC default forsuje flex/grid kolumny - reset. */
.mc-checkout-summary .payment_box,
.mc-checkout-summary .payment_box span.woocommerce-input-wrapper,
.mc-checkout-summary .payment_box .form-row,
.mc-checkout-summary .payment_box p {
  column-count: auto !important;
  grid-template-columns: none !important;
}
.mc-checkout-summary .payment_box span.woocommerce-input-wrapper {
  display: block !important;
  width: 100% !important;
}
/* Label w payment_box - normalny inline tekst (nie flex z gap) */
.mc-checkout-summary .payment_box label,
.mc-checkout-summary .payment_box label.checkbox {
  display: block !important;
  width: 100% !important;
  padding: 0 0 0 26px !important;
  position: relative !important;
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  column-count: auto !important;
  grid-template-columns: none !important;
  cursor: pointer;
}
.mc-checkout-summary .payment_box label input[type="checkbox"] {
  position: absolute !important;
  left: 0 !important;
  top: 3px !important;
  margin: 0 !important;
  accent-color: var(--matcha-dark) !important;
  flex-shrink: 0 !important;
}
.mc-checkout-summary .payment_box a {
  color: var(--matcha-dark) !important;
  text-decoration: underline !important;
}
/* Logo (Przelewy24/raty/Visa/Mastercard/BLIK) inline z label - max wysokosc */
.mc-checkout-summary .wc_payment_method > label img,
.mc-checkout-summary .wc_payment_method label > img {
  display: inline-block !important;
  height: 22px !important;
  max-height: 22px !important;
  width: auto !important;
  vertical-align: middle !important;
  margin: 0 4px !important;
}

/* Place order button */
.mc-checkout-summary .place-order { padding: 0 !important; margin: 0 !important; }
.mc-checkout-summary .place-order .button#place_order {
  width: 100% !important;
  padding: 18px 24px !important;
  font-size: 13px !important;
  border-radius: 999px !important;
  background: var(--ink-900) !important;
  color: #fff !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 500;
  transition: background 0.25s ease;
}
.mc-checkout-summary .place-order .button#place_order:hover { background: var(--matcha-dark) !important; }

/* Checkout terms */
.mc-checkout-summary .woocommerce-terms-and-conditions-wrapper { margin: 16px 0; font-size: 12px; }

/* Trust strip in summary */
.mc-checkout-trust {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--bone-border);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mc-checkout-trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12.5px;
  color: var(--ink-500);
}
.mc-checkout-trust-item span:first-child {
  color: var(--matcha-dark);
  flex-shrink: 0;
}

/* Generic WC info notice */
.woocommerce-info {
  background: var(--bone-50) !important;
  border: 1px solid var(--bone-border) !important;
  border-radius: 6px !important;
  padding: 16px 20px !important;
  margin-bottom: 20px !important;
  font-size: 14px;
  color: var(--ink-900) !important;
}
/* Hide WC default ::before icon (which renders as broken char) - except for our styled notices */
.woocommerce-info::before {
  content: "" !important;
  display: none !important;
}
/* Toggle notices (login + coupon) - show pretty icon */
.woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-form-coupon-toggle .woocommerce-info {
  background: #ffffff !important;
  border: 1px solid var(--bone-border) !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}
.woocommerce-form-login-toggle .woocommerce-info::before,
.woocommerce-form-coupon-toggle .woocommerce-info::before {
  content: "" !important;
  display: inline-block !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 999px !important;
  background-color: rgba(61, 90, 61, 0.08) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 20px 20px !important;
  position: static !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: transparent !important;
}
.woocommerce-form-login-toggle .woocommerce-info::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%233D5A3D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='8' r='4'/><path d='M4 20c1.5-4 5-6 8-6s6.5 2 8 6'/></svg>") !important;
}
.woocommerce-form-coupon-toggle .woocommerce-info::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%233D5A3D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M20 12V8a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4a2 2 0 0 1 0 4v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-4a2 2 0 0 1 0-4z'/><line x1='9' y1='9' x2='9' y2='15'/><line x1='15' y1='9' x2='15' y2='15'/></svg>") !important;
}

/* === CHECKOUT premium item rows + payment === */
.mc-checkout-item {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 14px;
  align-items: center;
}
.mc-checkout-item-thumb img.mc-thumb {
  width: 64px !important;
  height: 64px !important;
  border-radius: 6px;
  object-fit: cover;
  display: block;
}
.mc-checkout-item .mc-thumb-placeholder {
  width: 64px;
  height: 64px;
  border-radius: 6px;
  background: var(--bone-50);
  font-family: 'Noto Serif JP', serif;
  font-size: 32px;
  color: var(--matcha-dark);
  display: flex;
  align-items: center;
  justify-content: center;
}
.mc-checkout-item-name {
  font-family: 'Jost', sans-serif;
  font-size: 14px;
  color: var(--ink-900);
  font-weight: 500;
  line-height: 1.3;
}
.mc-checkout-item-qty {
  font-size: 12px;
  color: var(--ink-500);
  margin-top: 4px;
  font-variant-numeric: tabular-nums;
}
.mc-checkout-item-data {
  font-size: 11px;
  color: var(--ink-500);
  margin-top: 4px;
}
.mc-checkout-item-data p { margin: 0; }

.mc-payment-title {
  font-family: 'Jost', sans-serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: var(--ink-900) !important;
  margin: 24px 0 14px !important;
  padding: 0 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

.mc-place-order {
  width: 100% !important;
  padding: 18px 24px !important;
  font-size: 13px !important;
  border-radius: 999px !important;
  background: var(--ink-900) !important;
  color: #fff !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  border: 0 !important;
  cursor: pointer;
  transition: background 0.25s ease;
  margin-top: 16px !important;
}
.mc-place-order:hover { background: var(--matcha-dark) !important; }

.mc-payment-trust {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--bone-border);
}
.mc-payment-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 20px;
  justify-content: center;
  font-size: 12px;
  color: var(--ink-500);
  margin-bottom: 14px;
}
.mc-payment-trust-row span { display: inline-flex; align-items: center; gap: 6px; }

.mc-payment-logos {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}
.mc-payment-logos span {
  display: inline-block;
  padding: 5px 11px;
  font-size: 10px;
  letter-spacing: 0.12em;
  font-weight: 500;
  color: var(--ink-500);
  background: var(--bone-50);
  border: 1px solid var(--bone-border);
  border-radius: 4px;
  text-transform: uppercase;
}

/* Checkout notices (login + coupon) - premium pill with icon */
.woocommerce-form-login-toggle,
.woocommerce-form-coupon-toggle {
  margin: 0 0 18px !important;
}
.woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-form-coupon-toggle .woocommerce-info {
  background: #ffffff !important;
  border: 1px solid var(--bone-border) !important;
  border-radius: 6px !important;
  padding: 16px 22px !important;
  margin: 0 !important;
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 14px;
  color: var(--ink-900);
}
.woocommerce-form-login-toggle .woocommerce-info::before,
.woocommerce-form-coupon-toggle .woocommerce-info::before {
  content: "" !important;
  display: inline-block;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: var(--bone-50);
  color: var(--matcha-dark);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%233D5A3D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='8' r='4'/><path d='M4 20c1.5-4 5-6 8-6s6.5 2 8 6'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  position: static;
  flex-shrink: 0;
  margin: 0;
  padding: 0;
}
.woocommerce-form-coupon-toggle .woocommerce-info::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%233D5A3D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M20 12V8a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4a2 2 0 0 1 0 4v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-4a2 2 0 0 1 0-4z'/><line x1='9' y1='9' x2='9' y2='15'/><line x1='15' y1='9' x2='15' y2='15'/></svg>");
}
.woocommerce-form-login-toggle a,
.woocommerce-form-coupon-toggle a {
  color: var(--matcha-dark) !important;
  font-weight: 500 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* Login form + coupon form when expanded */
.woocommerce-form-login,
.checkout_coupon {
  background: #ffffff !important;
  border: 1px solid var(--bone-border) !important;
  border-radius: 6px !important;
  padding: 24px !important;
  margin-bottom: 18px !important;
}

/* Section headings - clean premium with SVG icons */
.mc-checkout-grid .woocommerce-billing-fields > h3,
.mc-checkout-grid .woocommerce-shipping-fields > h3,
.mc-checkout-grid .woocommerce-additional-fields > h3 {
  font-family: 'Jost', sans-serif !important;
  font-weight: 400 !important;
  font-size: 24px !important;
  color: var(--ink-900) !important;
  margin: 0 0 22px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid var(--bone-border) !important;
  display: flex;
  align-items: center;
  gap: 14px;
  line-height: 1.2;
}
.mc-checkout-grid .woocommerce-billing-fields > h3::before,
.mc-checkout-grid .woocommerce-shipping-fields > h3::before,
.mc-checkout-grid .woocommerce-additional-fields > h3::before {
  content: "";
  display: inline-flex;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  border-radius: 999px;
  background-color: rgba(61, 90, 61, 0.08);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 22px 22px;
}
/* Billing - user icon */
.mc-checkout-grid .woocommerce-billing-fields > h3::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%233D5A3D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='8' r='4'/><path d='M4 20c1.5-4 5-6 8-6s6.5 2 8 6'/></svg>");
}
/* Shipping - package/truck icon */
.mc-checkout-grid .woocommerce-shipping-fields > h3::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%233D5A3D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M16 3h5v5'/><path d='M21 3l-7 7'/><path d='M3 16v5h5'/><path d='M3 21l7-7'/><rect x='8' y='8' width='8' height='8' rx='1'/></svg>");
}
/* Additional/notes - pencil/note icon */
.mc-checkout-grid .woocommerce-additional-fields > h3::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%233D5A3D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/><path d='M14 2v6h6'/><path d='M9 13h6'/><path d='M9 17h4'/></svg>");
}

/* Payment heading icon */
.mc-payment-title {
  display: flex;
  align-items: center;
  gap: 14px;
}
.mc-payment-title::before {
  content: "";
  display: inline-flex;
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  border-radius: 999px;
  background-color: rgba(61, 90, 61, 0.08);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%233D5A3D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='6' width='20' height='14' rx='2'/><line x1='2' y1='10' x2='22' y2='10'/></svg>");
}

/* Order review heading icon */
.mc-checkout-summary h3#order_review_heading {
  display: flex;
  align-items: center;
  gap: 14px;
}
.mc-checkout-summary h3#order_review_heading::before {
  content: "";
  display: inline-flex;
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  border-radius: 999px;
  background-color: rgba(61, 90, 61, 0.08);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%233D5A3D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M5 7h14l-1 13H6L5 7Z'/><path d='M9 7a3 3 0 0 1 6 0'/></svg>");
}

/* Customer card layout with kicker label */
.mc-checkout-card .kicker.text-matcha-dark {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--matcha-dark);
  font-weight: 500;
}

/* Privacy text */
.mc-checkout-summary .woocommerce-privacy-policy-text {
  font-size: 12px;
  line-height: 1.7;
  color: var(--ink-500);
  margin: 16px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid var(--bone-border);
}
.mc-checkout-summary .woocommerce-privacy-policy-text a {
  color: var(--matcha-dark);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Payment "no methods available" notice - cleaner */
#payment .woocommerce-info,
.wc_payment_methods .woocommerce-info {
  background: #fff !important;
  border: 1px dashed var(--bone-border) !important;
  text-align: center;
  font-size: 13.5px !important;
  color: var(--ink-500) !important;
  padding: 24px 20px !important;
  margin: 0 !important;
  line-height: 1.7;
}
#payment .woocommerce-info::before,
.wc_payment_methods .woocommerce-info::before { display: none !important; content: none !important; }

/* === LEGACY CHECKOUT === (kept for backward compat with my older CSS) */
.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}
@media (min-width: 1024px) {
  .woocommerce-checkout form.checkout { grid-template-columns: 1.4fr 1fr; }
}
.woocommerce-checkout .col2-set { display: contents; }
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { width: 100%; max-width: 100%; float: none; }
.woocommerce-checkout #customer_details {
  background: #fff;
  border: 1px solid var(--bone-border);
  border-radius: 6px;
  padding: 32px;
}
/* Legacy WC checkout styles - kept minimal, rest handled by .mc-checkout-summary */
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 0;
}
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 24px;
  margin: 0 0 20px;
  color: var(--ink-900);
}
.woocommerce-checkout .form-row {
  margin: 0 0 16px;
  padding: 0;
}
.woocommerce-checkout .form-row label {
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ink-500);
  margin-bottom: 6px;
  display: block;
}
.woocommerce-checkout #order_review table.shop_table {
  border: 0 !important;
  background: transparent !important;
  margin: 0 0 24px;
}
.woocommerce-checkout #order_review table tr {
  background: transparent !important;
  border-bottom: 1px solid var(--bone-border);
}
.woocommerce-checkout #order_review table th,
.woocommerce-checkout #order_review table td {
  border: 0 !important;
  background: transparent !important;
  padding: 14px 0 !important;
  font-size: 14px;
}
.woocommerce-checkout #order_review .order-total td,
.woocommerce-checkout #order_review .order-total th {
  font-family: 'Jost', sans-serif;
  font-size: 22px !important;
}

/* Payment methods */
.woocommerce-checkout .wc_payment_methods {
  border: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout .wc_payment_method {
  background: var(--bone-50);
  border: 1px solid var(--bone-border);
  border-radius: 4px;
  margin-bottom: 10px;
  padding: 4px 0;
}
.woocommerce-checkout .wc_payment_method label { padding: 14px 18px !important; cursor: pointer; }
.woocommerce-checkout .wc_payment_method.payment_method_selected,
.woocommerce-checkout .wc_payment_method:has(input:checked) {
  background: #fff;
  border-color: var(--matcha-dark);
}
.woocommerce-checkout .place-order .button {
  width: 100%;
  padding: 20px 32px !important;
  font-size: 13px !important;
  border-radius: 999px !important;
}

/* === MY ACCOUNT === */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #fff;
  border: 1px solid var(--bone-border);
  border-radius: 6px;
  padding: 24px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid var(--bone-border);
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 14px 4px;
  font-size: 14px;
  color: var(--ink-900);
  text-decoration: none;
  transition: color 0.2s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  color: var(--matcha-dark);
  font-weight: 500;
}
.woocommerce-account .woocommerce-MyAccount-content {
  background: #fff;
  border: 1px solid var(--bone-border);
  border-radius: 6px;
  padding: 32px;
}

/* Login + Register split layout */
.woocommerce-account:not(.logged-in) .u-columns,
.woocommerce-account:not(.logged-in) .col2-set {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 24px;
  margin: 0 auto !important;
  max-width: 980px;
  float: none !important;
  width: 100% !important;
}
@media (min-width: 768px) {
  .woocommerce-account:not(.logged-in) .u-columns,
  .woocommerce-account:not(.logged-in) .col2-set { grid-template-columns: 1fr 1fr; }
}
.woocommerce-account:not(.logged-in) .u-column1,
.woocommerce-account:not(.logged-in) .u-column2,
.woocommerce-account:not(.logged-in) .col-1,
.woocommerce-account:not(.logged-in) .col-2 {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  background: #fff;
  border: 1px solid var(--bone-border);
  border-radius: 6px;
  padding: 36px;
  box-sizing: border-box;
}
.woocommerce-account:not(.logged-in) .u-columns::before,
.woocommerce-account:not(.logged-in) .u-columns::after { content: none !important; display: none !important; }
.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-account h2 {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 26px;
  color: var(--ink-900);
  margin: 0 0 20px;
}
.woocommerce-account form.login .form-row,
.woocommerce-account form.register .form-row {
  margin-bottom: 16px;
}
.woocommerce-account form.login .form-row label,
.woocommerce-account form.register .form-row label {
  display: block;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ink-500);
  margin-bottom: 6px;
}
.woocommerce-account form.login p:last-of-type,
.woocommerce-account form.register p:last-of-type {
  margin-top: 24px;
}
.woocommerce-account .lost_password a {
  display: inline-block;
  margin-top: 12px;
  font-size: 12px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--matcha-dark);
}

/* Add visual hint when not logged in - decorative kicker */
.woocommerce-account:not(.logged-in) .woocommerce::before {
  content: 'Witaj z powrotem · Lub dołącz do społeczności';
  display: block;
  text-align: center;
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 32px;
  color: var(--ink-900);
  margin-bottom: 32px;
  line-height: 1.2;
}

/* Order received / thank you */
.woocommerce-order {
  background: #fff;
  border: 1px solid var(--bone-border);
  border-radius: 6px;
  padding: 40px;
  max-width: 880px;
  margin: 0 auto;
}
.woocommerce-thankyou-order-received {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 32px;
  color: var(--matcha-dark);
  margin-bottom: 30px;
}

/* === Blog single - prose styling === */
.prose-mc { font-size: 16.5px; line-height: 1.85; color: var(--ink-900); }
.prose-mc p { margin: 0 0 1.4em; }
.prose-mc h2 { font-family: var(--font-display, 'Jost', sans-serif); font-weight: 300; font-size: 30px; line-height: 1.2; margin: 1.8em 0 .6em; color: var(--ink-900); }
.prose-mc h3 { font-family: var(--font-display, 'Jost', sans-serif); font-weight: 400; font-size: 22px; line-height: 1.3; margin: 1.6em 0 .5em; color: var(--ink-900); }
.prose-mc a { color: var(--matcha-dark); text-decoration: underline; text-underline-offset: 3px; }
.prose-mc a:hover { color: var(--matcha-deep); }
.prose-mc ul, .prose-mc ol { margin: 0 0 1.4em 1.2em; padding: 0; }
.prose-mc ul li { list-style: disc; margin: 0 0 .5em; }
.prose-mc ol li { list-style: decimal; margin: 0 0 .5em; }
.prose-mc blockquote { border-left: 3px solid var(--matcha-fresh); padding: .25em 0 .25em 1.4em; margin: 1.8em 0; font-style: italic; color: var(--ink-500); font-size: 18px; }
.prose-mc img { border-radius: 4px; margin: 1.4em 0; max-width: 100%; height: auto; }
.prose-mc figure { margin: 1.6em 0; }
.prose-mc figcaption { font-size: 13px; color: var(--ink-500); text-align: center; margin-top: .8em; }

/* === B2B badge nad ikona user w header === */
.mc-account-link { position: relative; }
.mc-b2b-pill {
  position: absolute;
  top: -8px;
  right: -16px;
  background: var(--matcha-fresh, #7BA05B);
  color: var(--matcha-deep, #2A3F2A);
  font-family: 'Inter', sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 2px 5px;
  border-radius: 4px;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
}
.mc-header--hero .mc-b2b-pill { background: #fff; color: var(--matcha-deep, #2A3F2A); }

/* === B2B QUICK ORDER LIST === */
.mc-b2b-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mc-b2b-row {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr) 160px 360px;
  align-items: center;
  gap: 18px;
  background: #fff;
  border: 1px solid var(--bone-border, #E8E8E0);
  border-radius: 4px;
  padding: 14px 18px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.mc-b2b-row:hover {
  border-color: var(--matcha-dark, #3D5A3D);
  box-shadow: 0 8px 24px -16px rgba(0,0,0,.18);
}

.mc-b2b-row__thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  background: #fff;
  border: 1px solid var(--bone-border, #E8E8E0);
  border-radius: 4px;
  overflow: hidden;
  text-decoration: none;
  flex-shrink: 0;
}
.mc-b2b-row__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 6px;
}
.mc-b2b-row__noimg { color: var(--matcha-dark, #3D5A3D); opacity: .35; }

.mc-b2b-row__main { min-width: 0; }
.mc-b2b-row__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-500, #6B6B6B);
}
.mc-b2b-row__sku { font-family: 'Inter', sans-serif; font-weight: 500; }
.mc-b2b-row__tag {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 3px;
  font-size: 10px;
  letter-spacing: .12em;
  font-weight: 600;
}
.mc-b2b-row__tag--b2b {
  background: var(--matcha-fresh, #7BA05B);
  color: var(--matcha-deep, #2A3F2A);
}
.mc-b2b-row__kana { color: var(--matcha-dark, #3D5A3D); font-size: 13px; letter-spacing: 0; text-transform: none; }
.mc-b2b-row__title {
  display: block;
  font-family: var(--font-display, 'Jost', sans-serif);
  font-size: 17px;
  color: var(--ink-900, #1F1F1F);
  text-decoration: none;
  line-height: 1.3;
  margin-bottom: 4px;
}
.mc-b2b-row__title:hover { color: var(--matcha-dark, #3D5A3D); }
.mc-b2b-row__desc {
  font-size: 12.5px;
  color: var(--ink-500, #6B6B6B);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.mc-b2b-row__price-label {
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink-500, #6B6B6B);
  margin-bottom: 3px;
}
.mc-b2b-row__price-val {
  font-family: var(--font-display, 'Jost', sans-serif);
  font-size: 17px;
  font-weight: 500;
  color: var(--ink-900, #1F1F1F);
  font-variant-numeric: tabular-nums;
}

.mc-b2b-row__stock { font-size: 12px; }
.mc-b2b-row__stock-ok { color: var(--matcha-dark, #3D5A3D); }
.mc-b2b-row__stock-out { color: #b94c4c; }

.mc-b2b-row__order { display: flex; align-items: center; justify-content: flex-end; }
.mc-b2b-row__form { display: flex; align-items: stretch; gap: 6px; }
.mc-b2b-row__qty {
  width: 56px;
  height: 38px;
  text-align: center;
  border: 1px solid var(--bone-border, #E8E8E0);
  border-radius: 4px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  background: #fff;
}
.mc-b2b-row__qty:focus { outline: none; border-color: var(--matcha-dark, #3D5A3D); }
.mc-b2b-row__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 38px;
  padding: 0 14px;
  background: var(--matcha-deep, #2A3F2A);
  color: #fff;
  border: 0;
  border-radius: 4px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: background .2s ease;
}
.mc-b2b-row__btn:hover { background: var(--matcha-dark, #3D5A3D); }
/* "Zobacz produkt" (out-of-stock fallback) - ten sam styl filled co glowny "Do koszyka",
   tylko z lekko jasniejszym tlem zeby odroznic statusy. */
.mc-b2b-row__btn--variable { background: var(--matcha-deep, #2A3F2A); color: #fff; border: 0; }
.mc-b2b-row__btn--variable:hover { background: var(--matcha-dark, #3D5A3D); }

@media (max-width: 1023px) {
  .mc-b2b-row {
    grid-template-columns: 70px minmax(0, 1fr);
    grid-template-areas:
      "thumb main"
      "thumb meta"
      "order order";
    gap: 10px 14px;
  }
  .mc-b2b-row__thumb { width: 70px; height: 70px; grid-area: thumb; }
  .mc-b2b-row__main  { grid-area: main; }
  .mc-b2b-row__price { grid-area: meta; display: flex; align-items: baseline; gap: 8px; }
  .mc-b2b-row__price-label { margin-bottom: 0; }
  .mc-b2b-row__stock { display: none; }
  .mc-b2b-row__order { grid-area: order; justify-content: flex-start; padding-top: 6px; border-top: 1px dashed var(--bone-border, #E8E8E0); }
}

/* B2B variable product variation select */
.mc-b2b-row__variation {
  height: 38px;
  padding: 0 28px 0 10px;
  border: 1px solid var(--bone-border, #E8E8E0);
  border-radius: 4px;
  background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%233D5A3D' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat right 8px center;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: var(--ink-900, #1F1F1F);
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  min-width: 130px;
  max-width: 220px;
}
.mc-b2b-row__variation:focus { outline: none; border-color: var(--matcha-dark, #3D5A3D); }
.mc-b2b-row__form--variable {
  flex-wrap: wrap;
  gap: 6px;
}
/* (removed override - using single grid definition above) */

/* B2B variant column - always present */
.mc-b2b-row__variant {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.mc-b2b-row__variant-label {
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink-500, #6B6B6B);
  font-weight: 500;
}
.mc-b2b-row__variant-na {
  height: 38px;
  display: flex;
  align-items: center;
  color: var(--ink-500, #6B6B6B);
  opacity: .4;
  font-size: 14px;
  padding-left: 4px;
}
/* Override variation select - bigger, more visible, full width of slot */
.mc-b2b-row__variation {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 42px;
  padding: 0 30px 0 12px;
  border: 1.5px solid var(--matcha-dark, #3D5A3D);
  border-radius: 4px;
  background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%233D5A3D' stroke-width='2.5'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat right 10px center;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: var(--ink-900, #1F1F1F);
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.mc-b2b-row__variation:hover { border-color: var(--matcha-deep, #2A3F2A); }
.mc-b2b-row__variation:focus { outline: none; box-shadow: 0 0 0 3px rgba(123,160,91,.25); }
.mc-b2b-row__variation--err { border-color: #b94c4c; box-shadow: 0 0 0 3px rgba(185,76,76,.18); }
.mc-b2b-row__variation option { font-weight: 500; }

/* Reset old wrap on form variable - now select is outside */
.mc-b2b-row__form--variable { flex-wrap: nowrap; }

@media (max-width: 1023px) {
  .mc-b2b-row {
    grid-template-columns: 70px minmax(0, 1fr);
    grid-template-areas:
      "thumb main"
      "thumb meta"
      "variant variant"
      "order order";
  }
  .mc-b2b-row__variant { grid-area: variant; padding-top: 4px; border-top: 1px dashed var(--bone-border, #E8E8E0); }
  .mc-b2b-row__variant-na { display: none; }
}

/* B2B action cell - variant + qty + button group */
.mc-b2b-row__action {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: stretch;
  min-width: 0;
}
.mc-b2b-row__action .mc-b2b-row__variation {
  width: 100%;
  height: 42px;
  font-size: 13px;
  font-weight: 500;
}
.mc-b2b-row__action .mc-b2b-row__form {
  display: flex;
  gap: 6px;
  align-items: stretch;
}
.mc-b2b-row__action .mc-b2b-row__qty {
  width: 64px;
  height: 42px;
  flex-shrink: 0;
}
.mc-b2b-row__action .mc-b2b-row__btn {
  flex: 1;
  height: 42px;
  justify-content: center;
}
.mc-b2b-row__nowariant {
  height: 42px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  background: var(--bone-50, #F5F5F0);
  border: 1px solid var(--bone-border, #E8E8E0);
  border-radius: 4px;
  font-size: 12px;
  color: var(--ink-500, #6B6B6B);
  letter-spacing: .05em;
}

/* Stock under price */
.mc-b2b-row__price .mc-b2b-row__stock {
  margin-top: 4px;
  font-size: 11px;
}

@media (max-width: 1023px) {
  .mc-b2b-row {
    grid-template-columns: 70px minmax(0, 1fr);
    grid-template-areas:
      "thumb main"
      "thumb price"
      "action action" !important;
  }
  .mc-b2b-row__price { grid-area: price; }
  .mc-b2b-row__action { grid-area: action; padding-top: 8px; border-top: 1px dashed var(--bone-border, #E8E8E0); }
}

/* === Language + Currency switchers in header === */
.mc-lang-switcher,
.mc-currency-switcher {
  display: inline-flex;
  align-items: center;
}
.mc-lang-switcher .gtranslate_wrapper { display: inline-block; }
.mc-lang-switcher .gtranslate_wrapper a img { vertical-align: middle; }
/* Lang switcher styling shared z currency - patrz reguła unified niżej */
.mc-currency-switcher form.p24-currency {
  display: inline-flex;
  margin: 0;
  padding: 0;
}
/* Lang switcher (gt_selector) - native browser arrow, naturalny rozmiar (jak DEV) */
.mc-lang-switcher select.gt_selector {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  padding: 4px 8px;
  border: 1px solid var(--bone-border, #E8E8E0);
  border-radius: 4px;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
/* Currency switcher - custom SVG chevron (appearance:none) - jak DEV */
.mc-currency-switcher select.p24-currency__select,
.mc-currency-switcher #p24_currency,
.mc-currency-switcher .mc-wcpay-currency select,
.mc-currency-switcher .mc-currency-select,
.mc-currency-switcher select[name="currency"] {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  padding: 4px 24px 4px 8px;
  border: 1px solid var(--bone-border, #E8E8E0);
  border-radius: 4px;
  background: transparent url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat right 6px center;
  color: inherit;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  letter-spacing: 0.06em;
}
.mc-currency-switcher .p24-currency__submit { display: none; }
.mc-currency-switcher .mc-wcpay-currency,
.mc-currency-switcher form.mc-wcpay-currency { display: inline-flex; margin: 0; padding: 0; }
.mc-currency-switcher .mc-wcpay-currency form,
.mc-currency-switcher form { display: inline-flex; margin: 0; }
/* Hero (przed scroll) - bialy text + bialy border (jak DEV) */
.mc-header--hero:not(.scrolled) .mc-lang-switcher .gt_selector,
.mc-header--hero:not(.scrolled) .mc-currency-switcher select {
  color: #fff;
  border-color: rgba(255,255,255,0.4);
}
.mc-header--hero:not(.scrolled) .mc-currency-switcher select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>");
}
/* Po scrollu lub poza hero - dark text + bone border */
.mc-header--hero.scrolled .mc-lang-switcher .gt_selector,
.mc-header--hero.scrolled .mc-currency-switcher select,
.mc-header:not(.mc-header--hero) .mc-lang-switcher .gt_selector,
.mc-header:not(.mc-header--hero) .mc-currency-switcher select {
  color: var(--ink-900, #1F1F1F);
  border-color: var(--bone-border, #E8E6DF);
}

/* Mobile drawer - language + currency switchers */
.mc-drawer-switchers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 8px;
}
.mc-drawer-switchers__lang,
.mc-drawer-switchers__curr {
  display: flex;
  align-items: stretch;
}
.mc-drawer-switchers .gtranslate_wrapper,
.mc-drawer-switchers form.p24-currency,
.mc-drawer-switchers form.mc-wcpay-currency,
.mc-drawer-switchers .mc-wcpay-currency {
  display: flex;
  width: 100%;
  margin: 0;
}
.mc-drawer-switchers select.gt_selector,
.mc-drawer-switchers #p24_currency,
.mc-drawer-switchers select[name="currency"],
.mc-drawer-switchers .mc-currency-select {
  width: 100%;
  height: 42px;
  padding: 0 30px 0 12px;
  border: 1px solid var(--bone-border, #E8E8E0);
  border-radius: 4px;
  background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%233D5A3D' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat right 10px center;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: var(--ink-900, #1F1F1F);
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.mc-drawer-switchers .p24-currency__submit { display: none; }

/* ============================================================
   Cart - subscription radio buttons (All-Products-for-Subscriptions plugin)
   Pretty styling spójny z reszta theme matcha-cha (font Inter, bone border,
   custom radio z matcha-dark accent po wybraniu).
   ============================================================ */
.wcsatt-options-wrapper,
.wcsatt-options-wrapper-cart,
ul.wcsatt-options {
  margin: 10px 0 4px !important;
  padding: 0 !important;
}
.wcsatt-options-wrapper > ul,
.wcsatt-options-wrapper-cart > ul,
ul.wcsatt-options {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
.wcsatt-options-wrapper li,
.wcsatt-options-wrapper-cart li,
ul.wcsatt-options > li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.wcsatt-options-wrapper li label,
.wcsatt-options-wrapper-cart li label,
ul.wcsatt-options > li > label,
.wcsatt-options-prompt-label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 9px 12px !important;
  border: 1px solid var(--bone-border, #E8E6DF) !important;
  border-radius: 6px !important;
  background: #fff !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  color: var(--ink-900, #1F1F1F) !important;
  cursor: pointer !important;
  transition: border-color .15s ease, background .15s ease !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.wcsatt-options-wrapper li label:hover,
.wcsatt-options-wrapper-cart li label:hover,
ul.wcsatt-options > li > label:hover,
.wcsatt-options-prompt-label:hover {
  border-color: var(--matcha-dark, #3D5A3D) !important;
  background: #fbfcf9 !important;
}
.wcsatt-options-wrapper input[type="radio"],
.wcsatt-options-wrapper-cart input[type="radio"],
ul.wcsatt-options input[type="radio"],
.wcsatt-options-prompt-action-input {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 16px !important;
  height: 16px !important;
  border: 1.5px solid var(--bone-border, #E8E6DF) !important;
  border-radius: 50% !important;
  margin: 0 !important;
  cursor: pointer !important;
  position: relative !important;
  flex-shrink: 0 !important;
  background: #fff !important;
  transition: border-color .15s ease, background .15s ease !important;
}
.wcsatt-options-wrapper input[type="radio"]:checked,
.wcsatt-options-wrapper-cart input[type="radio"]:checked,
ul.wcsatt-options input[type="radio"]:checked,
.wcsatt-options-prompt-action-input:checked {
  border-color: var(--matcha-dark, #3D5A3D) !important;
  background: var(--matcha-dark, #3D5A3D) !important;
  box-shadow: inset 0 0 0 3px #fff !important;
}
.wcsatt-options-wrapper li:has(input:checked) label,
.wcsatt-options-wrapper-cart li:has(input:checked) label,
ul.wcsatt-options > li:has(input:checked) > label {
  border-color: var(--matcha-dark, #3D5A3D) !important;
  background: #f4f7f2 !important;
  box-shadow: 0 0 0 1px var(--matcha-dark, #3D5A3D) inset !important;
}
ul.wcsatt-options > li.subscription-option > label::after {
  content: '-15%';
  margin-left: auto;
  padding: 2px 8px;
  background: #e8f0e2;
  color: var(--matcha-dark, #3D5A3D);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .02em;
  flex-shrink: 0;
}
ul.wcsatt-options > li.one-time-option > label .one-time-option-details,
ul.wcsatt-options > li.subscription-option > label .subscription-option-details {
  font-size: 13px !important;
  color: var(--ink-900, #1F1F1F) !important;
  font-weight: 500 !important;
}
ul.wcsatt-options > li.subscription-option > label .subscription-option-details {
  font-weight: 400 !important;
}
.wcsatt-options-wrapper .one-time-price,
.wcsatt-options-wrapper-cart .one-time-price,
.wcsatt-options-wrapper .subscription-price,
.wcsatt-options-wrapper-cart .subscription-price,
.wcsatt-options-wrapper .subscription-details,
.wcsatt-options-wrapper-cart .subscription-details {
  font-size: 13px !important;
  color: var(--ink-900, #1F1F1F) !important;
}
.wcsatt-options-wrapper .wcsatt-sub-discount,
.wcsatt-options-wrapper-cart .wcsatt-sub-discount {
  margin-left: auto !important;
  padding: 2px 8px !important;
  background: #e8f0e2 !important;
  color: var(--matcha-dark, #3D5A3D) !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
}
.wcsatt-options-wrapper-grouped .wcsatt-options-product-prompt,
.wcsatt-options-wrapper-grouped .wcsatt-options-product-wrapper {
  margin-top: 6px !important;
}
/* Cart product cell: wcsatt list pod nazwa produktu */
.cart_item .product-name ul.wcsatt-options {
  max-width: 360px;
  margin-top: 8px !important;
}
/* Wyciagniete radios subskrypcji - direct grid child .mc-cart-row, span all columns.
   JS konwertuje <ul.wcsatt-options> -> <select.mc-sub-select> (kompaktowy dropdown). */
.mc-cart-row > .mc-cart-row-sub-options {
  grid-column: 2 / -1;
  margin: 6px 0 0;
  padding-top: 12px;
  border-top: 1px dashed var(--bone-border, #E8E6DF);
}
.mc-cart-row > .mc-cart-row-sub-options ul.wcsatt-options {
  max-width: 480px;
}
.mc-sub-select-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink-500, #6B6B6B);
  font-weight: 500;
}
.mc-sub-select {
  flex: 1;
  max-width: 280px;
  padding: 9px 32px 9px 12px;
  border: 1px solid var(--bone-border, #E8E6DF);
  border-radius: 6px;
  background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%233D5A3D' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat right 10px center;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: var(--ink-900, #1F1F1F);
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
}
.mc-sub-select:focus {
  outline: 2px solid var(--matcha-dark, #3D5A3D);
  outline-offset: -1px;
}
@media (max-width: 768px) {
  .mc-cart-row > .mc-cart-row-sub-options {
    grid-column: 1 / -1;
  }
  .mc-sub-select-label {
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
  }
  .mc-sub-select {
    max-width: 100%;
  }
}

/* WC Subscriptions - ukryj redundantne "Recurring totals" w cart summary i checkout.
   Skoper na .cart_totals + checkout (.mc-checkout-summary, #order_review). */
.cart_totals tr.recurring-totals,
.cart_totals tr.recurring-total,
.cart_totals tr.recurring-shipping,
.cart_totals tr.shipping.recurring-total,
.cart_totals tr.cart-subtotal.recurring-total,
.cart_totals tr.order-total.recurring-total,
.cart_totals tr[class*="recurring-total"],
.mc-checkout-summary tr.recurring-totals,
.mc-checkout-summary tr.recurring-total,
.mc-checkout-summary tr.shipping.recurring-total,
.mc-checkout-summary tr[class*="recurring-total"],
#order_review tr.recurring-totals,
#order_review tr.recurring-total,
#order_review tr.shipping.recurring-total,
#order_review tr[class*="recurring-total"] {
  display: none !important;
}

/* JS replaced sub options: hide original UL when select is active */
.mc-cart-row-sub-options[data-mc-replaced="1"] ul.wcsatt-options {
  display: none !important;
}

/* ============================================================
   Cart + checkout - shipping method radio buttons (WC default)
   DOM: <li> <input radio> <label></label> </li> (input + label są SIOSTRY, nie nested)
   Dlatego stylujemy <li> jako kartę-container, label flat (bez border).
   Plus: <tr.shipping> ma <th>Przesyłka</th><td>options</td> - przerabiam na column
   żeby label "Przesyłka" był NAD opcjami (lepszy layout w wąskim cart summary).
   ============================================================ */
/* Shipping w CART summary (.cart_totals scope - nie wpływa na product table).
   Column layout: label "Przesyłka" NAD opcjami. */
.cart_totals tr.woocommerce-shipping-totals,
.cart_totals tr.shipping {
  display: block !important;
  margin-bottom: 16px !important;
}
.cart_totals tr.woocommerce-shipping-totals th,
.cart_totals tr.shipping th {
  display: block !important;
  width: auto !important;
  padding: 0 0 10px 0 !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: var(--ink-900, #1F1F1F) !important;
  text-align: left !important;
  border: 0 !important;
}
.cart_totals tr.woocommerce-shipping-totals td,
.cart_totals tr.shipping td {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
}
.woocommerce-shipping-totals ul#shipping_method,
ul.shipping__list,
ul.woocommerce-shipping-methods,
ul#shipping_method {
  list-style: none !important;
  padding: 0 !important;
  margin: 6px 0 0 !important;
  display: flex !important;
  flex-direction: column;
  gap: 6px !important;
}
/* Shipping radio kafelki - CSS Grid z explicit areas:
   - radio + label w pierwszym rzędzie (radio left, label fill)
   - button (Paczkomaty) pod nim na pełnej szerokości */
ul#shipping_method li,
ul.shipping__list li,
ul.woocommerce-shipping-methods li {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  grid-template-areas:
    "radio label"
    "extra extra" !important;
  align-items: center !important;
  column-gap: 10px !important;
  row-gap: 8px !important;
  padding: 12px 14px !important;
  margin: 0 !important;
  border: 1px solid var(--bone-border, #E8E6DF) !important;
  border-radius: 6px !important;
  background: #fff !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  color: var(--ink-900, #1F1F1F) !important;
  cursor: pointer !important;
  transition: border-color .15s, background .15s !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
ul#shipping_method li > input[type="radio"],
ul.shipping__list li > input[type="radio"],
ul.woocommerce-shipping-methods li > input[type="radio"] {
  grid-area: radio !important;
  position: static !important;
  transform: none !important;
  margin: 0 !important;
  align-self: center !important;
}
ul#shipping_method li > input[type="radio"] + label,
ul.shipping__list li > input[type="radio"] + label,
ul.woocommerce-shipping-methods li > input[type="radio"] + label {
  grid-area: label !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
  font: inherit !important;
  color: inherit !important;
  font-weight: 400 !important;
}
/* Reszta dzieci li (np. div z paczkomat button, hidden divs) -> w obszar "extra" */
ul#shipping_method li > *:not(input):not(label),
ul.shipping__list li > *:not(input):not(label),
ul.woocommerce-shipping-methods li > *:not(input):not(label) {
  grid-area: extra !important;
}
ul#shipping_method li:hover,
ul.shipping__list li:hover,
ul.woocommerce-shipping-methods li:hover {
  border-color: var(--matcha-dark, #3D5A3D) !important;
}
ul#shipping_method li:has(input:checked),
ul.shipping__list li:has(input:checked),
ul.woocommerce-shipping-methods li:has(input:checked) {
  border-color: var(--matcha-dark, #3D5A3D) !important;
  background: #f4f7f2 !important;
}
ul#shipping_method li label,
ul.shipping__list li label,
ul.woocommerce-shipping-methods li label {
  flex: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-weight: 400 !important;
  cursor: pointer !important;
  color: inherit !important;
  font-size: inherit !important;
}
ul#shipping_method li input[type="radio"],
ul.shipping__list li input[type="radio"],
ul.woocommerce-shipping-methods li input[type="radio"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 16px !important;
  height: 16px !important;
  border: 1.5px solid var(--bone-border, #E8E6DF) !important;
  border-radius: 50% !important;
  margin: 0 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  background: #fff !important;
}
ul#shipping_method li input[type="radio"]:checked,
ul.shipping__list li input[type="radio"]:checked,
ul.woocommerce-shipping-methods li input[type="radio"]:checked {
  border-color: var(--matcha-dark, #3D5A3D) !important;
  background: var(--matcha-dark, #3D5A3D) !important;
  box-shadow: inset 0 0 0 3px #fff !important;
}
/* Cena na końcu w shipping label - bold for emphasis */
ul.woocommerce-shipping-methods li label .amount,
ul#shipping_method li label .amount {
  font-weight: 600 !important;
  white-space: nowrap !important;
}
.shipping_method_price,
.amount {
  font-weight: 500 !important;
}
/* Paczkomat selector button - matcha-dark fill, pill */
/* Higher specifity - .button.select-paczkomat-button (2 classes + tag) wygrywa nad plugin defaults */
button.button.select-paczkomat-button,
button.select-paczkomat-button,
.select-paczkomat-button,
.inpost-paczkomaty-list-button,
.easypack-paczkomaty-list-button,
.inpost-osm-button,
button.inpost-osm-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 12px !important;
  background: var(--ink-900, #1F1F1F) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .15s !important;
  height: auto !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
/* Cart shipping list - button paczkomat w obszarze "extra" pod radio+label */
ul.woocommerce-shipping-methods li button.select-paczkomat-button,
ul.woocommerce-shipping-methods li .select-paczkomat-button {
  align-self: flex-start !important;
  justify-self: start !important;
}
.inpost-paczkomaty-list-button:hover,
.easypack-paczkomaty-list-button:hover,
.inpost-osm-button:hover {
  background: var(--matcha-dark, #3D5A3D) !important;
}
