/*
Theme Name: Naturize
Theme URI: https://naturize.pl
Author: Naturize
Description: Custom WooCommerce theme for Naturize - natural supplements store
Version: 1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: naturize
WooCommerce: 9.0
*/

/* ============================
   GEIST FONT
   ============================ */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url('./assets/fonts/geist-sans-300.woff2') format('woff2');
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('./assets/fonts/geist-sans-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url('./assets/fonts/geist-sans-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url('./assets/fonts/geist-sans-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('./assets/fonts/geist-sans-700.woff2') format('woff2');
}

/* ============================
   CSS VARIABLES / DESIGN TOKENS
   ============================ */
:root {
  --color-primary: #86e100;
  --color-primary-dark: #6abf00;
  --color-bg: #fdfffa;
  --color-bg-light: #e5f6e5;
  --color-bg-card: #e5f6e5;
  --color-border-card: #e2efce;
  --color-text: #000000;
  --color-text-secondary: #282828;
  --color-text-muted: #616161;
  --color-text-light: #303030;
  --color-white: #ffffff;
  --color-badge-gradient: linear-gradient(109deg, #86e100 38%, #ffffff 109%);
  --color-hero-gradient: linear-gradient(180deg, #e5f6e5 40%, #fdfffa 114%);
  --color-overlay-green: rgba(134, 225, 0, 0.2);

  --font-family: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --radius-sm: 12px;
  --radius-md: 15px;
  --radius-lg: 16px;
  --radius-xl: 23px;
  --radius-2xl: 26px;

  --shadow-card: 0 2px 20px rgba(0,0,0,0.06);
  --shadow-dropdown: 0 8px 32px rgba(0,0,0,0.12);
  --shadow-navbar: 0 2px 20px rgba(0,0,0,0.04);

  --transition-fast: 0.2s ease;
  --transition-normal: 0.3s ease;
  --transition-slow: 0.5s ease;

  --container-width: 1510px;
  --container-padding: 205px;
}

/* ============================
   RESET & BASE
   ============================ */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

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

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

html {
  overflow-x: clip;
}

a {
  color: inherit;
  text-decoration: none;
  transition: color var(--transition-fast);
}

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

button {
  cursor: pointer;
  border: none;
  background: none;
  font-family: inherit;
}

ul, ol {
  list-style: none;
}

/* ============================
   TYPOGRAPHY
   ============================ */
h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

h1 { font-size: clamp(36px, 4vw, 64px); }
h2 { font-size: clamp(28px, 3vw, 40px); }
h3 { font-size: clamp(22px, 2.5vw, 36px); }

.text-green { color: var(--color-primary); }
.text-secondary { color: var(--color-text-secondary); }
.text-muted { color: var(--color-text-muted); }

/* ============================
   CONTAINER
   ============================ */
.container {
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 0 24px;
  width: 100%;
}

@media (min-width: 1600px) {
  .container {
    padding: 0 40px;
  }
}

/* ============================
   BUTTONS
   ============================ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 24px;
  border-radius: var(--radius-md);
  font-size: 17px;
  font-weight: 500;
  letter-spacing: -0.03em;
  transition: all var(--transition-normal);
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}

.btn::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0);
  transition: background var(--transition-fast);
}

.btn:hover::after {
  background: rgba(255,255,255,0.15);
}

.btn-primary {
  background: var(--color-primary);
  color: var(--color-text);
}

.btn-primary:hover {
  background: var(--color-primary-dark);
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(134, 225, 0, 0.4);
}

.btn-outline {
  background: transparent;
  color: var(--color-text);
  border: 1px solid var(--color-text-muted);
}

.btn-outline:hover {
  border-color: var(--color-primary);
  background: rgba(134, 225, 0, 0.05);
  transform: translateY(-1px);
}

.btn-icon {
  width: 18px;
  height: 18px;
}

/* ============================
   NAVBAR
   ============================ */
.navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  padding: 16px 0;
  padding-top: max(16px, env(safe-area-inset-top));
  transition: all var(--transition-normal);
}

.navbar::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(253, 255, 250, 0.8);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  z-index: -1;
}

.navbar.scrolled {
  padding: 10px 0;
  box-shadow: var(--shadow-navbar);
}

.navbar.scrolled::before {
  background: rgba(253, 255, 250, 0.92);
}

.navbar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.navbar-logo {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.navbar-logo img {
  height: auto;
  width: 189px;
}

.navbar-nav {
  display: flex;
  align-items: center;
  gap: 8px;
}

.navbar-nav a,
.navbar-nav .nav-dropdown-toggle {
  font-size: 18px;
  font-weight: 400;
  letter-spacing: -0.03em;
  padding: 8px 16px;
  border-radius: 12px;
  transition: all var(--transition-fast);
  display: flex;
  align-items: center;
  gap: 6px;
  position: relative;
}

.navbar-nav a:hover,
.navbar-nav .nav-dropdown-toggle:hover {
  background: rgba(134, 225, 0, 0.1);
}

.navbar-nav .separator {
  width: 1px;
  height: 14px;
  background: #ccc;
  transform: rotate(15deg);
}

.nav-dropdown {
  position: relative;
}

.nav-dropdown-toggle {
  cursor: pointer;
  background: none;
  border: none;
  font-family: inherit;
}

.nav-dropdown-toggle svg {
  width: 18px;
  height: 18px;
  transition: transform var(--transition-fast);
}

.nav-dropdown:hover .nav-dropdown-toggle svg {
  transform: rotate(180deg);
}

.nav-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  background: rgba(255, 255, 255, 0.78);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-dropdown);
  padding: 12px;
  min-width: 180px;
  opacity: 0;
  visibility: hidden;
  transition: all var(--transition-normal);
  pointer-events: none;
}

.nav-dropdown-menu::before {
  content: '';
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 12px;
}

.nav-dropdown:hover .nav-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

.nav-dropdown-menu a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 16px;
}

.nav-dropdown-menu a:hover {
  background: var(--color-bg-light);
}

.nav-dropdown-menu a svg {
  width: 18px;
  height: 18px;
  color: var(--color-primary);
}

/* Navbar actions (heart, cart, user) */
.navbar-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.navbar-action-btn {
  position: relative;
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  transition: all var(--transition-fast);
}

.navbar-action-btn:hover {
  background: rgba(134, 225, 0, 0.1);
}

.navbar-action-btn svg {
  width: 24px;
  height: 24px;
  stroke: var(--color-text);
  stroke-width: 1.8;
  fill: none;
}

.navbar-action-btn .badge {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 18px;
  height: 18px;
  background: var(--color-primary);
  border-radius: 50%;
  font-size: 11px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text);
}

/* ============================
   DROPDOWNS (Cart, Favorites, User)
   ============================ */
.dropdown-panel {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  background: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-dropdown);
  min-width: 320px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: all var(--transition-normal);
  pointer-events: none;
  z-index: 1001;
}

.dropdown-panel.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.dropdown-panel-header {
  padding: 16px 20px 12px;
  border-bottom: 1px solid #d0d0d0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.dropdown-panel-header h4 {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.dropdown-panel-header .close-btn {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  transition: background var(--transition-fast);
}

.dropdown-panel-header .close-btn:hover {
  background: #f5f5f5;
}

.dropdown-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  transition: background var(--transition-fast);
}

.dropdown-item:hover {
  background: #fafff5;
}

.dropdown-item-img-wrap {
  position: relative;
  flex-shrink: 0;
}

.dropdown-item-img {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  object-fit: cover;
}

.dropdown-item-qty {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 20px;
  height: 20px;
  background: var(--color-primary);
  border-radius: 50%;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text);
}

.dropdown-item-info {
  flex: 1;
  min-width: 0;
}

.dropdown-item-info .name {
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dropdown-item-info .desc {
  font-size: 12px;
  color: var(--color-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dropdown-item-price {
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
}

.dropdown-item-remove {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  transition: background var(--transition-fast);
  flex-shrink: 0;
  color: #999;
}

.dropdown-item-remove:hover {
  background: #fee;
  color: #e00;
}

.dropdown-panel-footer {
  padding: 16px 20px;
  border-top: 1px solid #d0d0d0;
}

.dropdown-panel-footer .total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  font-size: 15px;
}

.dropdown-panel-footer .total-amount {
  font-weight: 600;
  font-size: 16px;
}

.dropdown-panel-footer .dropdown-actions {
  display: flex;
  gap: 8px;
}

.dropdown-panel-footer .dropdown-actions .btn {
  flex: 1;
  justify-content: center;
  padding: 10px 16px;
  font-size: 14px;
}

/* User dropdown */
.user-dropdown-menu {
  min-width: 200px;
}

.user-dropdown-menu a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  font-size: 15px;
  border-radius: 10px;
  transition: background var(--transition-fast);
}

.user-dropdown-menu a:hover {
  background: var(--color-bg-light);
}

.user-dropdown-menu a svg {
  width: 18px;
  height: 18px;
}

.user-dropdown-menu .logout-link {
  color: #e00;
  border-top: 1px solid #d0d0d0;
  margin-top: 4px;
  padding-top: 14px;
}

/* ============================
   HERO SECTION
   ============================ */
.hero {
  margin-top: 90px;
  position: relative;
}

.hero-inner {
  background: var(--color-hero-gradient);
  border-radius: var(--radius-2xl);
  overflow: clip;
  position: relative;
  min-height: 713px;
  display: flex;
  align-items: center;
  padding: 60px 100px;
}

.hero-decoration {
  position: absolute;
  right: -5%;
  top: -10%;
  width: 65%;
  height: 120%;
  opacity: 0.12;
  pointer-events: none;
}

.hero-decoration svg {
  width: 100%;
  height: 100%;
}

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 600px;
}

.hero-subtitle {
  font-size: clamp(18px, 1.8vw, 25px);
  font-weight: 300;
  letter-spacing: -0.03em;
  margin-bottom: 8px;
  opacity: 0;
  animation: fadeInUp 0.8s ease forwards;
}

.hero-title {
  font-size: clamp(36px, 4.2vw, 64px);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.05;
  margin-bottom: 24px;
  opacity: 0;
  animation: fadeInUp 0.8s ease 0.15s forwards;
}

.hero-description {
  font-size: clamp(16px, 1.3vw, 20px);
  font-weight: 300;
  color: var(--color-text-secondary);
  line-height: 1.5;
  max-width: 500px;
  margin-bottom: 40px;
  opacity: 0;
  animation: fadeInUp 0.8s ease 0.3s forwards;
}

.hero-buttons {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  opacity: 0;
  animation: fadeInUp 0.8s ease 0.45s forwards;
}

.hero-logotlo {
  position: absolute;
  left: 45%;
  top: -10%;
  width: 57%;
  pointer-events: none;
  z-index: 1;
  transform: rotate(27.9deg);
  transform-origin: center center;
}

.hero-logotlo img {
  width: 100%;
  height: auto;
  animation: logotloFloat 8s ease-in-out infinite;
}

@keyframes logotloFloat {
  0%, 100% { transform: rotate(0deg) scale(1); }
  25% { transform: rotate(2deg) scale(1.02); }
  50% { transform: rotate(-1deg) scale(0.98); }
  75% { transform: rotate(1.5deg) scale(1.01); }
}

.hero-images {
  position: absolute;
  right: -2%;
  top: 0;
  bottom: 0;
  width: 42%;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.hero-img-combined {
  width: 100%;
  height: auto;
  max-height: 95%;
  object-fit: contain;
}

/* ============================
   PRODUCTS SECTION
   ============================ */
.section {
  padding: 40px 0;
}

.products-section {
  padding-top: 80px;
}

.section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 32px;
}

.section-header h2 {
  font-size: clamp(24px, 2.5vw, 36px);
}

.section-header-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.section-link {
  font-size: 18px;
  font-weight: 300;
  color: var(--color-text-secondary);
  letter-spacing: -0.03em;
  transition: color var(--transition-fast);
}

.section-link:hover {
  color: var(--color-primary);
}

.nav-arrows {
  display: flex;
  gap: 8px;
}

.nav-arrow {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid #ddd;
  transition: all var(--transition-fast);
}

.nav-arrow:hover {
  border-color: var(--color-primary);
  background: var(--color-primary);
}

.nav-arrow svg {
  width: 18px;
  height: 18px;
}

/* Product Cards */
.products-grid {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.products-grid::-webkit-scrollbar {
  display: none;
}

.products-grid .product-card {
  min-width: 300px;
  max-width: 355px;
  flex: 0 0 calc(25% - 18px);
  scroll-snap-align: start;
}

/* Archive/category pages: grid layout, not slider */
.products-grid--archive {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  overflow: visible;
  scroll-snap-type: none;
}

.products-grid--archive .product-card {
  min-width: 0;
  max-width: none;
  flex: none;
}

.product-card {
  background: var(--color-bg-card);
  border: 1px solid var(--color-border-card);
  border-radius: var(--radius-2xl);
  overflow: hidden;
  position: relative;
  transition: all var(--transition-normal);
  display: flex;
  flex-direction: column;
}

.product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 40px rgba(134, 225, 0, 0.15);
}

.product-card-image {
  position: relative;
  height: 296px;
  overflow: hidden;
  border-radius: var(--radius-xl);
  margin: 4px;
}

.product-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

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

.product-card-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--color-badge-gradient);
  padding: 4px 14px;
  border-radius: var(--radius-sm);
  font-size: 14px;
  font-weight: 500;
  z-index: 2;
}

.product-card-wishlist {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.8);
  backdrop-filter: blur(8px);
  border-radius: 10px;
  z-index: 2;
  transition: all var(--transition-fast);
}

.product-card-wishlist:hover {
  background: var(--color-white);
  transform: scale(1.1);
}

.product-card-wishlist.active svg {
  fill: #e00;
  stroke: #e00;
}

.product-card-wishlist svg {
  width: 20px;
  height: 20px;
  stroke: var(--color-text);
  stroke-width: 1.8;
  fill: none;
}

.product-card-body {
  padding: 16px 20px 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.product-card-title {
  font-size: 22px;
  font-weight: 400;
  letter-spacing: -0.03em;
  margin-bottom: 4px;
}

.product-card-desc {
  font-size: 15px;
  font-weight: 300;
  color: var(--color-text-secondary);
  letter-spacing: -0.03em;
  margin-bottom: 16px;
  line-height: 1.5;
}

.product-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
}

.product-card-price {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.03em;
  color: var(--color-text);
}

/* ============================
   WHY SECTION
   ============================ */
.why-section {
  position: relative;
}

.why-inner {
  background: var(--color-hero-gradient);
  border-radius: var(--radius-2xl);
  overflow: hidden;
  position: relative;
  min-height: 580px;
  display: flex;
}

.why-image {
  width: 50%;
  position: relative;
  overflow: hidden;
}

.why-image > img,
.why-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.why-image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent, rgba(134, 225, 0, 0.2));
}

.why-vectors {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.why-vectors img:first-child {
  position: absolute;
  width: 68%;
  height: auto;
  left: 14%;
  top: 8%;
  opacity: 0.7;
  aspect-ratio: 516 / 520;
  animation: whyLogoSpin 20s linear infinite;
}

.why-vectors img:last-child {
  position: absolute;
  width: 52%;
  height: auto;
  left: 23%;
  top: 18%;
  opacity: 0.9;
  aspect-ratio: 390 / 392;
  animation: whyLogoSpin 20s linear infinite reverse;
}

@keyframes whyLogoSpin {
  0% { transform: rotate(0deg) scale(1); }
  25% { transform: rotate(3deg) scale(1.03); }
  50% { transform: rotate(0deg) scale(1); }
  75% { transform: rotate(-3deg) scale(0.97); }
  100% { transform: rotate(0deg) scale(1); }
}

.why-content {
  flex: 1;
  padding: 50px 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.why-content h2 {
  font-size: clamp(28px, 2.8vw, 40px);
  margin-bottom: 8px;
}

.why-content .subtitle {
  font-size: 22px;
  font-weight: 300;
  margin-bottom: 32px;
}

.why-checklist {
  background: #f2fff2;
  border-radius: var(--radius-lg);
  padding: 20px 24px;
  margin-bottom: 32px;
}

.why-check-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  font-size: 18px;
}

.why-check-item svg {
  width: 20px;
  height: 20px;
  color: var(--color-primary);
  flex-shrink: 0;
}

.why-description {
  font-size: 18px;
  font-weight: 300;
  color: var(--color-text-secondary);
  line-height: 1.6;
  margin-bottom: 32px;
  max-width: 500px;
}

.why-content .btn {
  align-self: flex-start;
}

/* ============================
   TESTIMONIALS SECTION
   ============================ */
.testimonials-section {
  overflow: hidden;
  padding: 60px 0;
}

.testimonials-title {
  text-align: center;
  margin-bottom: 40px;
}

.testimonials-slider {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  padding: 0 24px;
  max-width: var(--container-width);
  margin: 0 auto;
}

.testimonial-card {
  border-radius: var(--radius-2xl);
  overflow: hidden;
  position: relative;
}

.testimonial-card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.testimonial-card-overlay {
  display: none;
}

.testimonial-card-name {
  font-size: 18px;
  font-weight: 400;
}

.testimonial-card-name .highlight {
  color: var(--color-primary);
}

/* ============================
   BLOG SECTION
   ============================ */
.blog-section {
  padding: 40px 0 60px;
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.blog-card {
  background: var(--color-bg-card);
  border: 1px solid var(--color-border-card);
  border-radius: var(--radius-2xl);
  overflow: hidden;
  transition: all var(--transition-normal);
}

.blog-card {
  position: relative;
}

.blog-card::before {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: calc(var(--radius-2xl) + 2px);
  background: linear-gradient(180deg, #fdfffa, #e5f6e5, #86e100);
  opacity: 0;
  transition: opacity var(--transition-normal);
  z-index: -1;
}

.blog-card:hover::before {
  opacity: 1;
}

.blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(134, 225, 0, 0.12);
  border-color: transparent;
}

.blog-card-image {
  height: 260px;
  overflow: hidden;
  margin: 4px;
  border-radius: var(--radius-xl);
}

.blog-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

.blog-card:hover .blog-card-image img {
  transform: scale(1.05);
}

.blog-card-body {
  padding: 16px 22px 20px;
}

.blog-card-title {
  font-size: 17px;
  font-weight: 500;
  letter-spacing: -0.02em;
  margin-bottom: 10px;
  line-height: 1.4;
}

.blog-card-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  font-weight: 300;
  color: var(--color-text-light);
}

.blog-card-meta .dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--color-text-light);
}

/* ============================
   FOOTER
   ============================ */
.site-footer {
  background: #1a1a1a;
  color: var(--color-white);
  padding: 60px 0 30px;
  margin-top: 60px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  margin-bottom: 48px;
}

.footer-brand p {
  font-size: 15px;
  font-weight: 300;
  color: #aaa;
  line-height: 1.7;
  margin-top: 16px;
  max-width: 320px;
}

.footer-socials {
  display: flex;
  gap: 10px;
  margin-top: 20px;
}

.footer-socials a {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.08);
  color: #aaa;
  transition: all var(--transition-fast);
}

.footer-socials a:hover {
  background: var(--color-primary);
  color: #000;
}

.footer-brand .footer-logo {
  height: auto;
  width: 189px;
  filter: brightness(0) invert(1);
}

.footer-col h4 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 20px;
  letter-spacing: -0.02em;
}

.footer-col a {
  display: block;
  font-size: 14px;
  font-weight: 300;
  color: #aaa;
  padding: 5px 0;
  transition: color var(--transition-fast);
}

.footer-company {
  font-size: 14px;
  font-weight: 300;
  color: #888;
  padding: 2px 0;
  margin: 0;
  line-height: 1.6;
}

.footer-col a:hover {
  color: var(--color-primary);
}

.footer-bottom {
  border-top: 1px solid #333;
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: #777;
}

.footer-bottom a {
  color: #777;
}

.footer-bottom a:hover {
  color: var(--color-primary);
}

/* ============================
   ANIMATIONS
   ============================ */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes floatUp {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Scroll reveal animations */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

/* ============================
   WOOCOMMERCE OVERRIDES
   ============================ */
.woocommerce-page .container {
  max-width: var(--container-width);
}

.woocommerce .quantity .qty {
  width: 60px;
  padding: 8px 12px;
  border: 1px solid var(--color-border-card);
  border-radius: var(--radius-sm);
  font-family: var(--font-family);
  font-size: 15px;
  text-align: center;
}

.woocommerce a.added_to_cart {
  display: none;
}

/* ============================
   SINGLE PRODUCT PAGE
   ============================ */
.single-product-section {
  margin-top: 110px;
  padding-bottom: 60px;
}

.sp-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 14px;
  color: var(--color-text-muted);
}

.sp-back-mobile {
  display: none;
}

.sp-breadcrumb a {
  color: var(--color-text-muted);
  transition: color var(--transition-fast);
}

.sp-breadcrumb a:hover {
  color: var(--color-primary);
}

.sp-breadcrumb span {
  color: var(--color-text);
  font-weight: 500;
}

.sp-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  margin-bottom: 48px;
}

.sp-gallery-main {
  position: relative;
  background: var(--color-bg-light);
  border-radius: var(--radius-2xl);
  overflow: hidden;
  aspect-ratio: 1;
  padding: 24px;
}

.sp-gallery-main img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: var(--radius-xl);
}

.sp-sale-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  background: #e00;
  color: #fff;
  padding: 6px 16px;
  border-radius: var(--radius-sm);
  font-size: 14px;
  font-weight: 500;
}

.sp-gallery-thumbs {
  display: flex;
  gap: 12px;
  margin-top: 16px;
}

.sp-thumb {
  width: 72px;
  height: 72px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 2px solid transparent;
  cursor: pointer;
  background: var(--color-bg-light);
  transition: border-color var(--transition-fast);
  padding: 4px;
}

.sp-thumb.active,
.sp-thumb:hover {
  border-color: var(--color-primary);
}

.sp-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sp-info {
  display: flex;
  flex-direction: column;
}

.sp-badges {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
}

.sp-badge-new {
  background: var(--color-badge-gradient);
  padding: 5px 16px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-weight: 500;
}

.sp-badge-stock {
  background: var(--color-bg-light);
  padding: 5px 16px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-weight: 500;
  color: #2d8a2d;
}

.sp-title {
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 600;
  letter-spacing: -0.03em;
  margin-bottom: 12px;
}

.sp-short-desc {
  font-size: 17px;
  font-weight: 300;
  color: var(--color-text-secondary);
  line-height: 1.6;
  margin-bottom: 24px;
}

.sp-price-row {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--color-border-card);
}

.sp-price {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.sp-price del {
  font-size: 20px;
  color: var(--color-text-muted);
  font-weight: 400;
}

.sp-price ins {
  text-decoration: none;
}

.sp-shipping {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: var(--color-text-muted);
}

.sp-shipping svg {
  color: var(--color-primary);
}

.sp-add-to-cart {
  display: flex;
  gap: 12px;
  margin-bottom: 32px;
}

.sp-quantity {
  display: flex;
  align-items: center;
  border: 1px solid var(--color-border-card);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.sp-qty-btn {
  width: 44px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 500;
  transition: background var(--transition-fast);
  cursor: pointer;
  border: none;
  background: none;
}

.sp-qty-btn:hover {
  background: var(--color-bg-light);
}

.sp-qty-input,
#sp-qty-input {
  width: 48px;
  height: 48px;
  text-align: center;
  border: none;
  font-family: var(--font-family);
  font-size: 16px;
  font-weight: 500;
  background: none;
  -moz-appearance: textfield;
}

#sp-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

.sp-cart-btn {
  flex: 1;
  height: 48px;
  font-size: 17px;
  justify-content: center;
}

.sp-features {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 20px 24px;
  background: var(--color-bg-light);
  border-radius: var(--radius-lg);
}

.sp-feature {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 15px;
  font-weight: 400;
}

.sp-feature svg {
  width: 20px;
  height: 20px;
  color: var(--color-primary);
  flex-shrink: 0;
}

/* Tabs */
.sp-tabs {
  margin-top: 16px;
}

.sp-tabs-nav {
  display: flex;
  gap: 4px;
  border-bottom: 2px solid #eee;
  margin-bottom: 24px;
}

.sp-tab-btn {
  padding: 12px 24px;
  font-size: 16px;
  font-weight: 500;
  color: var(--color-text-muted);
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  cursor: pointer;
  transition: all var(--transition-fast);
  font-family: var(--font-family);
}

.sp-tab-btn.active,
.sp-tab-btn:hover {
  color: var(--color-text);
  border-bottom-color: var(--color-primary);
}

.sp-tab-content {
  display: none;
}

.sp-tab-content.active {
  display: block;
}

.sp-description {
  font-size: 16px;
  line-height: 1.8;
  color: var(--color-text-secondary);
  max-width: 860px;
}

.sp-description h2 {
  font-size: 28px;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 16px;
  letter-spacing: -0.02em;
}

.sp-description h3 {
  font-size: 18px;
  font-weight: 600;
  color: var(--color-text);
  margin-top: 32px;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--color-primary);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.sp-description h3::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  background-color: var(--color-primary);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  /* default: info icon */
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E");
}

/* Składniki / Skład */
.sp-description h3:is(
  :has(+ *), /* fallback */
  :-webkit-any(.sp-description h3)
) {
  /* handled by JS below */
}

/* Icon per heading - matched via data attributes set by JS */
.sp-description h3[data-icon="flask"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2'/%3E%3Cpath d='M8.5 2h7'/%3E%3Cpath d='M7 16.5h10'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2'/%3E%3Cpath d='M8.5 2h7'/%3E%3Cpath d='M7 16.5h10'/%3E%3C/svg%3E");
}

.sp-description h3[data-icon="hand"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 2a2 2 0 0 0-2 2v5H4a2 2 0 0 0-2 2v2c0 .6.4 1 1 1h3'/%3E%3Cpath d='M18 14.158V11a2 2 0 0 0-2-2h-5V4a2 2 0 0 0-2-2'/%3E%3Cpath d='m6 17 3.13-3.13a2.5 2.5 0 0 1 3.54 0L22 21'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 2a2 2 0 0 0-2 2v5H4a2 2 0 0 0-2 2v2c0 .6.4 1 1 1h3'/%3E%3Cpath d='M18 14.158V11a2 2 0 0 0-2-2h-5V4a2 2 0 0 0-2-2'/%3E%3Cpath d='m6 17 3.13-3.13a2.5 2.5 0 0 1 3.54 0L22 21'/%3E%3C/svg%3E");
}

.sp-description h3[data-icon="droplets"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z'/%3E%3Cpath d='M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z'/%3E%3Cpath d='M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97'/%3E%3C/svg%3E");
}

.sp-description h3[data-icon="alert"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
}

.sp-description h3[data-icon="sparkles"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z'/%3E%3Cpath d='M20 3v4'/%3E%3Cpath d='M22 5h-4'/%3E%3Cpath d='M4 17v2'/%3E%3Cpath d='M5 18H3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z'/%3E%3Cpath d='M20 3v4'/%3E%3Cpath d='M22 5h-4'/%3E%3Cpath d='M4 17v2'/%3E%3Cpath d='M5 18H3'/%3E%3C/svg%3E");
}

.sp-description h3[data-icon="nutrition"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 2h20v20H2z' rx='2'/%3E%3Cpath d='M6 6h12'/%3E%3Cpath d='M6 10h12'/%3E%3Cpath d='M6 14h8'/%3E%3Cpath d='M6 18h4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 2h20v20H2z' rx='2'/%3E%3Cpath d='M6 6h12'/%3E%3Cpath d='M6 10h12'/%3E%3Cpath d='M6 14h8'/%3E%3Cpath d='M6 18h4'/%3E%3C/svg%3E");
}

.sp-description h3[data-icon="package"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z'/%3E%3Cpath d='M12 22V12'/%3E%3Cpath d='m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z'/%3E%3Cpath d='M12 22V12'/%3E%3Cpath d='m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7'/%3E%3C/svg%3E");
}

.sp-description h3[data-icon="users"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
}

.sp-description h3[data-icon="building"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='16' height='20' x='4' y='2' rx='2' ry='2'/%3E%3Cpath d='M9 22v-4h6v4'/%3E%3Cpath d='M8 6h.01'/%3E%3Cpath d='M16 6h.01'/%3E%3Cpath d='M12 6h.01'/%3E%3Cpath d='M12 10h.01'/%3E%3Cpath d='M12 14h.01'/%3E%3Cpath d='M16 10h.01'/%3E%3Cpath d='M16 14h.01'/%3E%3Cpath d='M8 10h.01'/%3E%3Cpath d='M8 14h.01'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='16' height='20' x='4' y='2' rx='2' ry='2'/%3E%3Cpath d='M9 22v-4h6v4'/%3E%3Cpath d='M8 6h.01'/%3E%3Cpath d='M16 6h.01'/%3E%3Cpath d='M12 6h.01'/%3E%3Cpath d='M12 10h.01'/%3E%3Cpath d='M12 14h.01'/%3E%3Cpath d='M16 10h.01'/%3E%3Cpath d='M16 14h.01'/%3E%3Cpath d='M8 10h.01'/%3E%3Cpath d='M8 14h.01'/%3E%3C/svg%3E");
}

.sp-description p {
  margin-bottom: 16px;
}

.sp-description ul,
.sp-description ol {
  padding-left: 0;
  margin-bottom: 20px;
  list-style: none;
}

.sp-description li {
  margin-bottom: 10px;
  padding: 12px 16px;
  background: var(--color-bg-light);
  border-radius: var(--radius-sm);
  position: relative;
  padding-left: 36px;
}

.sp-description li::before {
  content: '';
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background: var(--color-primary);
  border-radius: 50%;
}

.sp-description li strong {
  color: var(--color-text);
}

.sp-attr-row {
  padding: 12px 0;
  border-bottom: 1px solid #eee;
  font-size: 15px;
}

@media (max-width: 768px) {
  .sp-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .sp-add-to-cart {
    flex-direction: row;
  }

  .sp-quantity {
    flex-shrink: 0;
  }

  .sp-qty-btn {
    width: 36px;
    height: 40px;
    font-size: 17px;
  }

  .sp-qty-input,
  #sp-qty-input {
    width: 36px;
    height: 40px;
    font-size: 14px;
  }

  .sp-cart-btn {
    height: 40px;
    font-size: 14px;
    padding: 10px 18px;
  }
}

/* WooCommerce notices */
.woocommerce-message,
.woocommerce-info {
  border-top: none !important;
  border-left: 4px solid var(--color-primary) !important;
  background: var(--color-bg-light) !important;
  border-radius: var(--radius-md) !important;
  font-family: var(--font-family) !important;
  color: var(--color-text) !important;
  padding: 14px 20px !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
  color: var(--color-primary) !important;
}

.woocommerce-error {
  border-top: none !important;
  border-left: 4px solid #e67e22 !important;
  background: #fef9f0 !important;
  border-radius: var(--radius-md) !important;
  font-family: var(--font-family) !important;
  color: var(--color-text) !important;
  padding: 14px 20px !important;
}

.woocommerce-error::before {
  color: #e67e22 !important;
}

.woocommerce-NoticeGroup .woocommerce-error,
.wc-block-components-notice-banner.is-error {
  border-left: 4px solid #e67e22 !important;
  background: #fef9f0 !important;
  border-top: none !important;
  color: var(--color-text) !important;
}

/* WooCommerce Block Checkout Styling */
.wc-block-checkout,
.wp-block-woocommerce-checkout {
  font-family: var(--font-family) !important;
}

.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-combobox .components-combobox-control input {
  border-radius: var(--radius-sm) !important;
  border-color: var(--color-border-card) !important;
  font-family: var(--font-family) !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-combobox .components-combobox-control input:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 1px var(--color-primary) !important;
}

.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button .wc-block-components-button {
  background: var(--color-primary) !important;
  color: var(--color-text) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  font-family: var(--font-family) !important;
  font-weight: 500 !important;
  font-size: 17px !important;
  letter-spacing: -0.03em !important;
  padding: 14px 32px !important;
  transition: all var(--transition-normal) !important;
}

.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button .wc-block-components-button:hover {
  background: var(--color-primary-dark) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(134, 225, 0, 0.4) !important;
}

.wc-block-components-panel__button {
  font-family: var(--font-family) !important;
}

.wc-block-components-radio-control__option {
  border-radius: var(--radius-sm) !important;
}

.wc-block-components-radio-control__input:checked {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}

.wc-block-components-checkbox__input:checked {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}

.wc-block-components-notice-banner {
  border-radius: var(--radius-md) !important;
  font-family: var(--font-family) !important;
}

.wc-block-components-notice-banner.is-error {
  background: #fef9f0 !important;
  border-color: #e67e22 !important;
  color: var(--color-text) !important;
}

.wc-block-components-notice-banner.is-error .wc-block-components-notice-banner__content {
  color: var(--color-text) !important;
}

.wc-block-components-notice-banner.is-success {
  background: var(--color-bg-light) !important;
  border-color: var(--color-primary) !important;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__image {
  border-radius: var(--radius-sm) !important;
}

.wc-block-components-totals-wrapper {
  font-family: var(--font-family) !important;
}

/* Checkout page layout */
.page-template-default.woocommerce-checkout .container,
.woocommerce-page .wc-block-checkout {
  max-width: 1200px;
  margin: 0 auto;
}

.wc-block-checkout__form {
  font-family: var(--font-family) !important;
}

.wc-block-components-sidebar-layout {
  gap: 48px !important;
}

/* ============================
   CUSTOM CHECKOUT
   ============================ */
.ntz-checkout-outer {
  margin-top: 100px;
  padding-bottom: 60px;
}

@media (max-width: 768px) {
  .ntz-checkout-outer {
    margin-top: 70px;
    padding-bottom: 80px;
  }
}

.ntz-checkout {
  margin-top: 0;
  padding-bottom: 0;
  background: var(--color-bg);
}

/* Override parent container constraints on checkout */
.woocommerce-checkout .site-main > *,
.woocommerce-checkout .site-main > * > * {
  max-width: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.ntz-checkout-wrapper {
  max-width: 1300px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.ntz-checkout-page-title {
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.03em;
  margin-bottom: 24px;
}

.ntz-checkout-grid {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 32px;
  padding: 0;
  align-items: start;
  box-sizing: border-box;
  background: none;
  border: none;
  border-radius: 0;
  margin: 0;
}

.ntz-checkout-form {
  background: var(--color-white);
  border: 1px solid #eee;
  border-radius: var(--radius-2xl);
  padding: 48px 56px;
}

/* Additional fields (order notes) spacing */
.ntz-checkout .woocommerce-additional-fields {
  margin-top: 24px;
}

/* Kill WooCommerce default "Dane rozliczeniowe" inner box */
.ntz-checkout .woocommerce-billing-fields h3,
.ntz-checkout .woocommerce-shipping-fields h3,
.ntz-checkout .woocommerce-additional-fields h3 {
  display: none;
}

.ntz-checkout .woocommerce-billing-fields,
.ntz-checkout .woocommerce-shipping-fields {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  box-shadow: none;
}

/* Hide WC page title above checkout - we show our own */
.woocommerce-checkout .entry-title,
.woocommerce-checkout .page-title,
.woocommerce-checkout > .site-main h1 {
  display: none !important;
}

/* Style the order-received page title */
.woocommerce-order-received .site-main h1 {
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.03em;
  max-width: 800px;
  margin: 0 auto 24px;
}

/* Hide default WC coupon/info bar and login form above checkout */
.woocommerce-form-coupon-toggle,
.woocommerce-form-login-toggle,
.woocommerce-form-coupon,
.ntz-checkout .woocommerce-form-login {
  display: none !important;
}

/* Hide country field and create account checkbox */
.ntz-checkout #billing_country_field,
.ntz-checkout #shipping_country_field,
.ntz-checkout .woocommerce-account-fields,
.ntz-checkout .create-account {
  display: none !important;
}

/* Remove any WC default checkout wrappers styling */
.woocommerce-checkout .woocommerce {
  background: none !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  max-width: none !important;
}

.ntz-checkout-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.02em;
  margin-bottom: 28px;
}

.ntz-checkout-heading svg {
  color: var(--color-primary);
  flex-shrink: 0;
}

/* Override WC form styles */
.ntz-checkout .woocommerce-billing-fields__field-wrapper,
.ntz-checkout .woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px 32px;
}

.ntz-checkout .form-row-wide {
  grid-column: 1 / -1;
}

.ntz-checkout .form-row label {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 6px;
  display: block;
  color: var(--color-text);
}

.ntz-checkout .form-row {
  margin-bottom: 0;
}

.ntz-checkout .form-row label {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 8px;
  display: block;
  color: var(--color-text);
}

.ntz-checkout .form-row input.input-text,
.ntz-checkout .form-row textarea,
.ntz-checkout .form-row select,
.ntz-checkout .select2-container .select2-selection--single {
  width: 100%;
  padding: 16px 20px;
  border: 1px solid var(--color-border-card);
  border-radius: var(--radius-sm);
  font-family: var(--font-family);
  font-size: 15px;
  transition: border-color var(--transition-fast);
  background: var(--color-white);
}

.ntz-checkout .form-row input.input-text:focus,
.ntz-checkout .form-row textarea:focus {
  border-color: var(--color-primary);
  outline: none;
  box-shadow: 0 0 0 2px rgba(134, 225, 0, 0.15);
}

.ntz-checkout .select2-container .select2-selection--single {
  height: 54px;
  display: flex;
  align-items: center;
}

.ntz-checkout .select2-container .select2-selection__arrow {
  top: 50%;
  transform: translateY(-50%);
}

/* Payment methods */
.ntz-payment-methods {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 36px;
}

.ntz-payment-option {
  border: 2px solid var(--color-border-card);
  border-radius: var(--radius-lg);
  padding: 20px 24px;
  transition: all var(--transition-fast);
  cursor: pointer;
}

.ntz-payment-option.active {
  border-color: var(--color-primary);
  background: rgba(134, 225, 0, 0.04);
}

.ntz-payment-option label {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 500;
}

.ntz-payment-option input[type="radio"] {
  display: none;
}

.ntz-payment-radio {
  width: 22px;
  height: 22px;
  border: 2px solid var(--color-border-card);
  border-radius: 50%;
  flex-shrink: 0;
  position: relative;
  transition: all var(--transition-fast);
}

.ntz-payment-option.active .ntz-payment-radio {
  border-color: var(--color-primary);
}

.ntz-payment-option.active .ntz-payment-radio::after {
  content: '';
  position: absolute;
  top: 4px;
  left: 4px;
  width: 10px;
  height: 10px;
  background: var(--color-primary);
  border-radius: 50%;
}

.ntz-shipping-methods {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 36px;
}

.ntz-shipping-price {
  margin-left: auto;
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text);
}

.ntz-payment-logo {
  margin-left: auto;
  height: 24px;
  width: auto;
  object-fit: contain;
}

.ntz-payment-details {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--color-border-card);
  font-size: 14px;
  color: var(--color-text-secondary);
}

.ntz-payment-details p {
  margin-bottom: 8px;
}

/* Terms */
.ntz-terms {
  margin-bottom: 24px;
}

.ntz-terms label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: var(--color-text-secondary);
  cursor: pointer;
}

.ntz-terms input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--color-primary);
  margin-top: 2px;
  flex-shrink: 0;
}

.ntz-terms a {
  color: var(--color-primary);
  font-weight: 500;
}

/* Hide default WC shipping table in checkout */
.ntz-checkout .woocommerce-shipping-totals,
.ntz-checkout #shipping_method {
  display: none !important;
}

/* Place order button */
.ntz-place-order {
  width: 100%;
  justify-content: center;
  padding: 14px 24px;
  font-size: 16px;
  margin-top: 20px;
}

/* Invoice toggle */
.ntz-invoice-toggle {
  margin-top: 32px;
  margin-bottom: 16px;
}

.ntz-invoice-toggle label {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 15px;
  font-weight: 500;
  color: var(--color-text);
  cursor: pointer;
}

.ntz-invoice-toggle input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  width: 22px;
  height: 22px;
  border: 2px solid var(--color-border-card);
  border-radius: 7px;
  flex-shrink: 0;
  position: relative;
  transition: all var(--transition-fast);
  cursor: pointer;
}

.ntz-invoice-toggle input[type="checkbox"]:checked {
  background: var(--color-primary);
  border-color: var(--color-primary);
}

.ntz-invoice-toggle input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 6px;
  top: 2px;
  width: 6px;
  height: 11px;
  border: solid #000;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.ntz-invoice-fields {
  margin-top: 20px;
  margin-bottom: 16px;
}

.ntz-invoice-fields .ntz-contact-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.ntz-invoice-fields .ntz-contact-field {
  margin-bottom: 0;
}

.ntz-invoice-fields .ntz-contact-field label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 8px;
  color: var(--color-text);
}

.ntz-invoice-fields .ntz-contact-field input {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--color-border-card);
  border-radius: var(--radius-sm);
  font-family: var(--font-family);
  font-size: 15px;
  transition: border-color var(--transition-fast);
  box-sizing: border-box;
}

.ntz-invoice-fields .ntz-contact-field input:focus {
  border-color: var(--color-primary);
  outline: none;
  box-shadow: 0 0 0 2px rgba(134, 225, 0, 0.15);
}

/* Guest checkout modal */
.ntz-guest-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  padding: 16px;
}

.ntz-guest-overlay.visible {
  opacity: 1;
  visibility: visible;
}

.ntz-guest-modal {
  background: var(--color-white);
  border-radius: var(--radius-2xl);
  padding: 36px 32px;
  max-width: 440px;
  width: 100%;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.15);
  text-align: center;
}

.ntz-guest-modal h3 {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.03em;
  margin-bottom: 10px;
}

.ntz-guest-modal p {
  font-size: 14px;
  color: var(--color-text-secondary);
  line-height: 1.6;
  margin-bottom: 24px;
}

.ntz-guest-actions {
  display: flex;
  gap: 10px;
}

.ntz-guest-actions .btn {
  flex: 1;
  justify-content: center;
  padding: 12px 20px;
  font-size: 15px;
}

@media (max-width: 768px) {
  .ntz-invoice-fields .ntz-contact-row {
    grid-template-columns: 1fr;
  }

  .ntz-guest-modal {
    padding: 28px 24px;
  }

  .ntz-guest-modal h3 {
    font-size: 20px;
  }

  .ntz-guest-actions .btn {
    font-size: 14px;
    padding: 11px 16px;
  }
}

@media (max-width: 480px) {
  .ntz-guest-actions {
    flex-direction: column;
  }
}

/* Sidebar / Order Summary */
.ntz-checkout-sidebar {
  position: sticky;
  top: 120px;
  align-self: start;
}

.ntz-order-summary {
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
  margin-bottom: 0;
}

.ntz-order-summary h3 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 20px;
  letter-spacing: -0.02em;
  text-align: center;
}

.ntz-summary-items {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--color-border-card);
}

.ntz-summary-item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.ntz-summary-item-img {
  width: 56px;
  height: 56px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  background: var(--color-white);
  flex-shrink: 0;
  position: relative;
}

.ntz-summary-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ntz-summary-item-qty {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 20px;
  height: 20px;
  background: var(--color-primary);
  border-radius: 50%;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ntz-summary-item-info {
  flex: 1;
  min-width: 0;
}

.ntz-summary-item-name {
  display: block;
  font-size: 15px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ntz-summary-item-meta {
  font-size: 13px;
  color: var(--color-text-muted);
}

.ntz-summary-item-price {
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
}

.ntz-summary-item-remove {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  flex-shrink: 0;
  color: #999;
  cursor: pointer;
  border: none;
  background: none;
  transition: all var(--transition-fast);
  padding: 0;
}

.ntz-summary-item-remove:hover {
  background: #fee;
  color: #e00;
}

.ntz-summary-totals {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ntz-summary-row {
  display: flex;
  justify-content: space-between;
  font-size: 15px;
  color: var(--color-text-secondary);
}

.ntz-summary-total {
  padding-top: 14px;
  border-top: 1px solid var(--color-border-card);
  font-size: 18px;
  font-weight: 600;
  color: var(--color-text);
}

/* Checkout responsive */
@media (max-width: 1100px) {
  .ntz-checkout-grid {
    grid-template-columns: 1fr 340px;
    gap: 32px;
    padding: 36px;
  }
}

@media (max-width: 900px) {
  .ntz-checkout-wrapper {
    padding: 0 !important;
  }

  .ntz-checkout-grid {
    display: block;
    padding: 0;
    border: none;
    background: none;
    border-radius: 0;
    margin: 0;
  }

  .ntz-checkout-sidebar {
    padding: 0 12px;
    margin-bottom: 20px;
  }

  .ntz-checkout-form {
    padding: 0 12px;
    border: none;
    border-radius: 0;
    background: none;
    box-sizing: border-box;
  }

  .ntz-checkout-page-title {
    margin-top: 0;
  }

  .ntz-checkout .form-row input.input-text,
  .ntz-checkout .form-row textarea,
  .ntz-checkout .form-row select,
  .ntz-checkout .select2-container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .ntz-summary-item {
    gap: 8px;
  }

  .ntz-summary-item-info {
    min-width: 0;
    overflow: hidden;
  }

  .ntz-summary-item-name {
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .ntz-summary-item-meta {
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .ntz-summary-item-price {
    font-size: 13px;
    white-space: nowrap;
    flex-shrink: 0;
  }

  .ntz-summary-item-price .woocommerce-Price-amount {
    white-space: nowrap;
  }

  .ntz-summary-row span {
    font-size: 14px;
  }

  .ntz-summary-total span {
    font-size: 16px;
  }

  .ntz-checkout-page-title {
    font-size: 22px;
    padding: 0 12px;
  }

  .ntz-checkout-heading {
    font-size: 17px;
  }

  .ntz-payment-option {
    padding: 12px;
  }

  .ntz-payment-details p {
    word-break: break-word;
    font-size: 13px;
  }

  .ntz-payment-logo {
    height: 16px;
  }

  .btn.ntz-place-order {
    font-size: 16px;
    padding: 14px 24px;
  }

  .ntz-order-summary {
    padding: 16px;
  }
}

@media (max-width: 600px) {
  .ntz-checkout .woocommerce-billing-fields__field-wrapper,
  .ntz-checkout .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr;
  }
}

/* WooCommerce product page */
.single-product .product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  padding: 40px 0;
}

.single-product .woocommerce-product-gallery {
  border-radius: var(--radius-2xl);
  overflow: hidden;
}

.single-product .summary {
  padding: 20px 0;
}

.single-product .product_title {
  font-size: 36px;
  font-weight: 600;
  letter-spacing: -0.03em;
  margin-bottom: 12px;
}

.single-product .price {
  font-size: 28px;
  font-weight: 500;
  color: var(--color-text);
  margin-bottom: 24px;
}

.single-product .single_add_to_cart_button {
  background: var(--color-primary) !important;
  color: var(--color-text) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  padding: 14px 32px !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  font-family: var(--font-family) !important;
  letter-spacing: -0.03em;
  transition: all var(--transition-normal) !important;
}

.single-product .single_add_to_cart_button:hover {
  background: var(--color-primary-dark) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(134, 225, 0, 0.4);
}

/* ============================
   MOBILE BOTTOM NAV
   ============================ */
.mobile-bottom-nav {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  padding: 6px 16px;
  padding-bottom: max(6px, env(safe-area-inset-bottom));
}

.mobile-bottom-nav-inner {
  background: rgba(229, 246, 229, 0.75);
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 24px;
  padding: 6px;
  display: flex;
  justify-content: space-around;
  align-items: center;
}

.mobile-nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 10px 20px;
  border-radius: 20px;
  transition: all var(--transition-fast);
  font-size: 11px;
  font-weight: 500;
  color: var(--color-text-muted);
}

.mobile-nav-item.active {
  background: var(--color-white);
  color: var(--color-text);
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.mobile-nav-item.active svg {
  stroke: var(--color-primary);
}

.mobile-nav-item svg {
  width: 22px;
  height: 22px;
  stroke-width: 1.8;
}

/* ============================
   MY ACCOUNT (Custom Panel)
   ============================ */
/* My Account Navigation */
.woocommerce-account .woocommerce-MyAccount-navigation {
  margin-bottom: 24px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: flex;
  gap: 6px;
  border-bottom: 2px solid #eee;
  padding-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 12px 20px;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
  font-size: 15px;
  font-weight: 500;
  color: var(--color-text-muted);
  transition: all var(--transition-fast);
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  color: var(--color-text);
  border-bottom-color: var(--color-primary);
  background: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  color: var(--color-text);
  background: var(--color-bg-light);
}

/* Logout link - small, not a big button */
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a {
  color: #999;
  font-size: 13px;
  padding: 12px 14px;
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a:hover {
  color: #e00;
  background: #fee;
}

/* My Account Content */
.woocommerce-account .woocommerce-MyAccount-content {
  background: var(--color-white);
  border: 1px solid #eee;
  border-radius: var(--radius-2xl);
  padding: 36px;
}

/* Dashboard */
.ntz-dashboard-welcome {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid #eee;
}

.ntz-dashboard-avatar img {
  border-radius: 50%;
  width: 56px;
  height: 56px;
}

.ntz-dashboard-welcome h2 {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 2px;
}

.ntz-dashboard-welcome p {
  font-size: 15px;
  color: var(--color-text-muted);
  margin: 0;
}

.ntz-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.ntz-dashboard-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 24px;
  border: 1px solid #eee;
  border-radius: var(--radius-lg);
  transition: all var(--transition-fast);
}

.ntz-dashboard-card:hover {
  border-color: var(--color-primary);
  background: var(--color-bg-light);
  transform: translateY(-2px);
}

.ntz-dashboard-card svg {
  color: var(--color-primary);
  margin-bottom: 4px;
}

.ntz-dashboard-card strong {
  font-size: 16px;
  font-weight: 600;
}

.ntz-dashboard-card span {
  font-size: 13px;
  color: var(--color-text-muted);
}

/* Edit Account form styling */
.woocommerce-account .woocommerce-EditAccountForm .form-row {
  margin-bottom: 18px;
}

.woocommerce-account .woocommerce-EditAccountForm label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 7px;
}

.woocommerce-account .woocommerce-EditAccountForm input[type="text"],
.woocommerce-account .woocommerce-EditAccountForm input[type="email"],
.woocommerce-account .woocommerce-EditAccountForm input[type="password"] {
  width: 100%;
  padding: 13px 16px;
  border: 1px solid var(--color-border-card);
  border-radius: var(--radius-sm);
  font-family: var(--font-family);
  font-size: 15px;
  box-sizing: border-box;
  transition: border-color var(--transition-fast);
}

.woocommerce-account .woocommerce-EditAccountForm input:focus {
  border-color: var(--color-primary);
  outline: none;
  box-shadow: 0 0 0 2px rgba(134, 225, 0, 0.15);
}

.woocommerce-account .woocommerce-EditAccountForm fieldset {
  border: 1px solid #eee;
  border-radius: var(--radius-lg);
  padding: 24px;
  margin: 24px 0;
}

.woocommerce-account .woocommerce-EditAccountForm legend {
  font-size: 16px;
  font-weight: 600;
  padding: 0 10px;
}

.woocommerce-account .woocommerce-EditAccountForm .woocommerce-Button {
  background: var(--color-primary) !important;
  color: var(--color-text) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  padding: 13px 32px !important;
  font-family: var(--font-family) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  cursor: pointer;
  transition: all var(--transition-normal) !important;
}

.woocommerce-account .woocommerce-EditAccountForm .woocommerce-Button:hover {
  background: var(--color-primary-dark) !important;
}

/* Edit Address styling */
.woocommerce-account .woocommerce-Addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.woocommerce-account .woocommerce-Address {
  background: var(--color-bg-light);
  border-radius: var(--radius-lg);
  padding: 24px;
}

.woocommerce-account .woocommerce-Address-title h3 {
  font-size: 17px;
  font-weight: 600;
  margin-bottom: 12px;
}

.woocommerce-account .woocommerce-Address-title .edit {
  font-size: 14px;
  color: var(--color-primary-dark);
  font-weight: 500;
}

.woocommerce-account .woocommerce-Address address {
  font-style: normal;
  font-size: 15px;
  line-height: 1.7;
  color: var(--color-text-secondary);
}

/* Orders table */
.woocommerce-account .woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce-account .woocommerce-orders-table th {
  background: var(--color-bg-light);
  padding: 12px 16px;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.woocommerce-account .woocommerce-orders-table td {
  padding: 14px 16px;
  border-bottom: 1px solid #f0f0f0;
  font-size: 15px;
}

.woocommerce-account .woocommerce-orders-table .woocommerce-button {
  background: var(--color-primary) !important;
  color: var(--color-text) !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  padding: 8px 16px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

@media (max-width: 768px) {
  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    flex-wrap: wrap;
    gap: 4px;
  }

  .ntz-dashboard-grid {
    grid-template-columns: 1fr;
  }

  .woocommerce-account .woocommerce-Addresses {
    grid-template-columns: 1fr;
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    padding: 24px 16px;
  }
}

/* ============================
   CART PAGE
   ============================ */
.woocommerce-cart .woocommerce table.shop_table {
  border: none !important;
  border-radius: var(--radius-2xl) !important;
  overflow: hidden;
  background: var(--color-white);
  box-shadow: var(--shadow-card);
}

.woocommerce-cart .woocommerce table.shop_table th {
  background: var(--color-bg-light) !important;
  border: none !important;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: -0.02em;
  padding: 16px 20px !important;
}

.woocommerce-cart .woocommerce table.shop_table td {
  border: none !important;
  border-bottom: 1px solid #f5f5f5 !important;
  padding: 16px 20px !important;
  vertical-align: middle;
}

.woocommerce-cart .woocommerce table.shop_table img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: var(--radius-sm);
}

.woocommerce-cart .cart_totals {
  background: var(--color-bg-light);
  border-radius: var(--radius-2xl);
  padding: 32px;
}

.woocommerce-cart .cart_totals table {
  border: none !important;
}

.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td {
  border: none !important;
  padding: 12px 0 !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  background: var(--color-primary) !important;
  color: var(--color-text) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  font-family: var(--font-family) !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  padding: 14px 32px !important;
  transition: all var(--transition-normal) !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
  background: var(--color-primary-dark) !important;
}

/* ============================
   ORDER RECEIVED / THANK YOU PAGE
   ============================ */
.woocommerce-order-received .woocommerce-order {
  max-width: 800px;
  margin: 0 auto;
}

.woocommerce-order-received .woocommerce-notice--success {
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
  font-size: 16px;
  color: var(--color-text);
  margin-bottom: 32px;
}

.woocommerce-order-received .woocommerce-order-overview {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  background: var(--color-white);
  border: 1px solid #eee;
  border-radius: var(--radius-2xl);
  padding: 32px;
  margin-bottom: 32px;
  list-style: none;
}

.woocommerce-order-received .woocommerce-order-overview li {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 14px;
  color: var(--color-text-muted);
  padding: 14px 18px;
  background: var(--color-bg);
  border-radius: var(--radius-sm);
  position: relative;
  padding-left: 44px;
}

.woocommerce-order-received .woocommerce-order-overview li::before {
  content: '';
  position: absolute;
  left: 14px;
  top: 14px;
  width: 20px;
  height: 20px;
  background-color: var(--color-primary);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.woocommerce-order-received .woocommerce-order-overview li.order::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M15 3v4a2 2 0 0 0 2 2h4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M15 3v4a2 2 0 0 0 2 2h4'/%3E%3C/svg%3E");
}

.woocommerce-order-received .woocommerce-order-overview li.date::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E");
}

.woocommerce-order-received .woocommerce-order-overview li.method::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='14' x='2' y='5' rx='2'/%3E%3Cline x1='2' x2='22' y1='10' y2='10'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='14' x='2' y='5' rx='2'/%3E%3Cline x1='2' x2='22' y1='10' y2='10'/%3E%3C/svg%3E");
}

.woocommerce-order-received .woocommerce-order-overview li.total::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8'/%3E%3Cpath d='M12 18V6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8'/%3E%3Cpath d='M12 18V6'/%3E%3C/svg%3E");
}

.woocommerce-order-received .woocommerce-order-overview li strong {
  font-size: 17px;
  color: var(--color-text);
  font-weight: 600;
}

.woocommerce-order-received .woocommerce-order-details {
  background: var(--color-white);
  border: 1px solid #eee;
  border-radius: var(--radius-2xl);
  padding: 32px;
  margin-bottom: 32px;
}

.woocommerce-order-received .woocommerce-order-details__title {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.02em;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.woocommerce-order-received .woocommerce-order-details__title::before {
  content: '';
  display: inline-block;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  background-color: var(--color-primary);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M16 13H8'/%3E%3Cpath d='M16 17H8'/%3E%3Cpath d='M10 9H8'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M16 13H8'/%3E%3Cpath d='M16 17H8'/%3E%3Cpath d='M10 9H8'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
}

.woocommerce-order-received .woocommerce-table--order-details {
  width: 100%;
  border-collapse: collapse;
  border: none;
}

.woocommerce-order-received .woocommerce-table--order-details thead th {
  background: var(--color-bg-light);
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 600;
  text-align: left;
  border: none;
  letter-spacing: -0.02em;
}

.woocommerce-order-received .woocommerce-table--order-details thead th:first-child {
  border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}

.woocommerce-order-received .woocommerce-table--order-details thead th:last-child {
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  text-align: right;
}

.woocommerce-order-received .woocommerce-table--order-details td {
  padding: 14px 16px;
  border: none;
  border-bottom: 1px solid #f5f5f5;
  font-size: 15px;
  vertical-align: middle;
}

.woocommerce-order-received .woocommerce-table--order-details td.product-total {
  text-align: right;
  font-weight: 500;
}

.woocommerce-order-received .woocommerce-table--order-details tfoot th {
  padding: 12px 16px;
  font-size: 15px;
  font-weight: 500;
  text-align: left;
  border: none;
  border-top: 1px solid #eee;
}

.woocommerce-order-received .woocommerce-table--order-details tfoot td {
  padding: 12px 16px;
  font-size: 15px;
  font-weight: 600;
  text-align: right;
  border: none;
  border-top: 1px solid #eee;
}

.woocommerce-order-received .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-order-received .woocommerce-table--order-details tfoot tr:last-child td {
  font-size: 18px;
  font-weight: 700;
  padding-top: 16px;
  border-top: 2px solid var(--color-primary);
}

.woocommerce-order-received .woocommerce-customer-details {
  background: var(--color-white);
  border: 1px solid #eee;
  border-radius: var(--radius-2xl);
  padding: 32px;
}

.woocommerce-order-received .woocommerce-customer-details h2,
.woocommerce-order-received .woocommerce-column__title {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.02em;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.woocommerce-order-received .woocommerce-customer-details h2::before,
.woocommerce-order-received .woocommerce-column__title::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  background-color: var(--color-primary);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
}

/* Thank you page bottom actions */
.ntz-thankyou-actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid #eee;
}

.woocommerce-order-received .woocommerce-customer-details address {
  font-style: normal;
  font-size: 15px;
  line-height: 1.7;
  color: var(--color-text-secondary);
  background: var(--color-bg);
  padding: 16px 20px;
  border-radius: var(--radius-sm);
}

.woocommerce-order-received .woocommerce-columns--addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

@media (max-width: 600px) {
  .woocommerce-order-received .woocommerce-order-overview {
    grid-template-columns: 1fr;
  }

  .woocommerce-order-received .woocommerce-columns--addresses {
    grid-template-columns: 1fr;
  }
}

/* ============================
   BLOG SINGLE POST
   ============================ */
.ntz-blog-single {
  margin-top: 100px;
  padding-bottom: 80px;
}

.ntz-blog-header {
  margin-bottom: 32px;
}

.ntz-blog-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: var(--color-text-muted);
  margin-bottom: 20px;
  transition: color var(--transition-fast);
}

.ntz-blog-back:hover {
  color: var(--color-primary);
}

.ntz-blog-back svg {
  transition: transform var(--transition-fast);
}

.ntz-blog-back:hover svg {
  transform: translateX(-3px);
}

.ntz-blog-title {
  font-size: clamp(30px, 4vw, 44px);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.15;
  margin-bottom: 20px;
}

.ntz-blog-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  font-weight: 400;
  color: var(--color-text-muted);
}

.ntz-blog-meta span {
  display: flex;
  align-items: center;
  gap: 5px;
}

.ntz-blog-meta svg {
  color: var(--color-primary);
}

.ntz-blog-meta .dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #ccc;
}

.ntz-blog-cat {
  background: var(--color-bg-light);
  padding: 3px 10px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
}

.ntz-blog-hero {
  margin-bottom: 40px;
}

.ntz-blog-hero img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  display: block;
  border-radius: var(--radius-2xl);
}

.ntz-blog-content {
  font-size: 17px;
  line-height: 1.85;
  color: var(--color-text-secondary);
}

.ntz-blog-content > p:first-child {
  font-size: 19px;
  line-height: 1.7;
  color: var(--color-text);
  font-weight: 400;
}

.ntz-blog-content h2 {
  font-size: 24px;
  font-weight: 600;
  color: var(--color-text);
  margin: 48px 0 16px;
  padding-top: 24px;
  border-top: 1px solid #f0f0f0;
}

.ntz-blog-content h2:first-of-type {
  border-top: none;
  padding-top: 0;
}

/* Numbered headings get green badge */
.ntz-blog-content h2[data-num] {
  display: flex;
  align-items: center;
}

.ntz-blog-content h2[data-num]::before {
  content: attr(data-num);
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  background: var(--color-bg-light);
  border: 2px solid var(--color-primary);
  border-radius: 10px;
  font-size: 15px;
  font-weight: 700;
  color: var(--color-text);
  margin-right: 12px;
  flex-shrink: 0;
}

.ntz-blog-content h3 {
  font-size: 19px;
  font-weight: 600;
  color: var(--color-text);
  margin: 28px 0 10px;
}

.ntz-blog-content p {
  margin-bottom: 18px;
}

.ntz-blog-content p em {
  display: block;
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-text-muted);
  padding: 12px 16px;
  background: var(--color-bg);
  border-radius: var(--radius-sm);
  border-left: 3px solid var(--color-primary);
  border-radius: 0;
  margin-top: 8px;
  margin-bottom: 28px;
}

.ntz-blog-content ul,
.ntz-blog-content ol {
  margin-bottom: 20px;
}

.ntz-blog-content ul {
  list-style: none;
  padding-left: 0;
}

.ntz-blog-content ul li {
  padding: 10px 16px 10px 32px;
  margin-bottom: 6px;
  background: var(--color-bg-light);
  border-radius: var(--radius-sm);
  position: relative;
}

.ntz-blog-content ul li::before {
  content: '';
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background: var(--color-primary);
  border-radius: 50%;
}

.ntz-blog-content ol {
  padding-left: 20px;
}

.ntz-blog-content ol li {
  margin-bottom: 8px;
  padding: 4px 0;
  font-size: 14px;
  color: var(--color-text-muted);
}

.ntz-blog-content img {
  border-radius: var(--radius-lg);
  margin: 24px 0;
}

.ntz-blog-content blockquote {
  border-left: 4px solid var(--color-primary);
  padding: 20px 28px;
  margin: 28px 0;
  background: var(--color-bg-light);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  font-style: italic;
  color: var(--color-text);
  font-size: 18px;
  line-height: 1.7;
}

.ntz-blog-content a {
  color: var(--color-primary-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ntz-blog-content a:hover {
  color: var(--color-primary);
}

.ntz-blog-content strong {
  color: var(--color-text);
  font-weight: 600;
}

.ntz-blog-footer {
  margin-top: 48px;
  padding-top: 28px;
  border-top: 1px solid #eee;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ntz-blog-share {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--color-text-muted);
}

.ntz-share-btn {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--color-bg-light);
  transition: all var(--transition-fast);
  color: var(--color-text-muted);
}

.ntz-share-btn:hover {
  background: var(--color-primary);
  color: var(--color-text);
}

@media (max-width: 768px) {
  .ntz-blog-hero img {
    height: 220px;
  }

  .ntz-blog-footer {
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
  }
}

/* ============================
   LEGAL PAGES
   ============================ */
.ntz-legal {
  margin-top: 110px;
  padding-bottom: 60px;
}

.ntz-legal-header {
  margin-bottom: 32px;
}

.ntz-legal-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: var(--color-text-muted);
  margin-bottom: 16px;
  transition: color var(--transition-fast);
}

.ntz-legal-back:hover {
  color: var(--color-primary);
}

.ntz-legal-title {
  font-size: clamp(28px, 3.5vw, 38px);
  font-weight: 600;
  letter-spacing: -0.03em;
  margin-bottom: 6px;
}

.ntz-legal-updated {
  font-size: 13px;
  color: var(--color-text-muted);
}

/* Table of contents */
.ntz-legal-toc {
  background: var(--color-bg-light);
  border: 1px solid var(--color-border-card);
  border-radius: var(--radius-lg);
  padding: 20px 24px;
  margin-bottom: 36px;
}

.ntz-toc-label {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-muted);
  margin-bottom: 10px;
}

.ntz-toc-list {
  list-style: none;
  padding: 0;
  margin: 0;
  columns: 2;
  column-gap: 24px;
}

.ntz-toc-list li {
  break-inside: avoid;
  margin-bottom: 4px;
}

.ntz-toc-list a {
  display: block;
  font-size: 13px;
  color: var(--color-text-secondary);
  padding: 5px 10px;
  border-radius: 6px;
  transition: all var(--transition-fast);
  text-decoration: none;
  line-height: 1.4;
}

.ntz-toc-list a:hover {
  background: var(--color-white);
  color: var(--color-primary-dark);
}

@media (max-width: 600px) {
  .ntz-toc-list {
    columns: 1;
  }
}

.ntz-legal-content {
  font-size: 15px;
  line-height: 1.8;
  color: var(--color-text-secondary);
}

.ntz-legal-content h2 {
  font-size: 17px;
  font-weight: 600;
  color: var(--color-text);
  margin: 32px 0 16px;
  padding: 14px 20px 14px 44px;
  background: var(--color-bg-light);
  border-left: 4px solid var(--color-primary);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  position: relative;
}

.ntz-legal-content h2::before {
  content: '';
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  background-color: var(--color-primary);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3Cpath d='M12 3c-1.2 0-2.4.6-3 1.7A3.6 3.6 0 0 0 4.6 9c-1 .6-1.7 1.8-1.7 3s.7 2.4 1.7 3c-.3 1.2 0 2.5 1 3.4.8.8 2.1 1.2 3.3 1 .6 1 1.8 1.6 3 1.6s2.4-.6 3-1.7c1.2.3 2.5 0 3.4-1 .8-.8 1.2-2 1-3.3 1-.6 1.6-1.8 1.6-3s-.6-2.4-1.7-3c.3-1.2 0-2.5-1-3.4a3.7 3.7 0 0 0-3.3-1c-.6-1-1.8-1.6-3-1.6Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3Cpath d='M12 3c-1.2 0-2.4.6-3 1.7A3.6 3.6 0 0 0 4.6 9c-1 .6-1.7 1.8-1.7 3s.7 2.4 1.7 3c-.3 1.2 0 2.5 1 3.4.8.8 2.1 1.2 3.3 1 .6 1 1.8 1.6 3 1.6s2.4-.6 3-1.7c1.2.3 2.5 0 3.4-1 .8-.8 1.2-2 1-3.3 1-.6 1.6-1.8 1.6-3s-.6-2.4-1.7-3c.3-1.2 0-2.5-1-3.4a3.7 3.7 0 0 0-3.3-1c-.6-1-1.8-1.6-3-1.6Z'/%3E%3C/svg%3E");
}

.ntz-legal-content h2:first-of-type {
  margin-top: 0;
}

.ntz-legal-content h2[id] {
  scroll-margin-top: 100px;
}

/* Legal content list styling */
.ntz-legal-content ul {
  list-style: none;
  padding-left: 0;
}

.ntz-legal-content ul li {
  padding: 6px 0 6px 24px;
  position: relative;
}

.ntz-legal-content ul li::before {
  content: '';
  position: absolute;
  left: 8px;
  top: 14px;
  width: 6px;
  height: 6px;
  background: var(--color-primary);
  border-radius: 50%;
}

.ntz-legal-content h3 {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text);
  margin: 24px 0 10px;
}

.ntz-legal-content p {
  margin-bottom: 12px;
}

.ntz-legal-content .ntz-subsection {
  padding: 10px 16px;
  background: var(--color-bg);
  border-radius: var(--radius-sm);
  margin-bottom: 12px;
}

.ntz-sub-num {
  font-weight: 700;
  color: var(--color-text);
  display: inline-block;
  margin-top: 12px;
}

.ntz-legal-content ul,
.ntz-legal-content ol {
  padding-left: 24px;
  margin-bottom: 16px;
}

.ntz-legal-content li {
  margin-bottom: 6px;
  padding: 2px 0;
}

.ntz-legal-content strong {
  color: var(--color-text);
}

.ntz-legal-content a {
  color: var(--color-primary-dark);
  text-decoration: underline;
}

.ntz-legal-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-size: 15px;
}

.ntz-legal-content table th {
  background: var(--color-bg-light);
  padding: 10px 14px;
  text-align: left;
  font-weight: 600;
  font-size: 14px;
}

.ntz-legal-content table td {
  padding: 10px 14px;
  border-bottom: 1px solid #f0f0f0;
}

.ntz-legal-footer {
  margin-top: 48px;
  padding-top: 28px;
  border-top: 1px solid #eee;
}

/* Legal page highlight box */
.ntz-legal-highlight {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 28px;
  background: var(--color-bg-light);
  border: 2px solid var(--color-primary);
  border-radius: var(--radius-lg);
  margin-bottom: 32px;
  font-size: 18px;
}

.ntz-legal-highlight svg {
  color: var(--color-primary);
  flex-shrink: 0;
}

/* Legal page cards grid */
.ntz-legal-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
  margin-bottom: 28px;
}

.ntz-legal-card {
  background: var(--color-white);
  border: 1px solid #eee;
  border-radius: var(--radius-lg);
  padding: 24px;
  transition: all var(--transition-fast);
}

.ntz-legal-card:hover {
  border-color: var(--color-primary);
  box-shadow: 0 4px 20px rgba(134, 225, 0, 0.1);
}

.ntz-legal-card h3 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 8px;
  color: var(--color-text);
}

.ntz-legal-card-price {
  font-size: 24px;
  font-weight: 600;
  color: var(--color-primary-dark);
  margin-bottom: 4px;
}

.ntz-legal-card p {
  font-size: 14px;
  color: var(--color-text-secondary);
  margin-bottom: 8px;
  line-height: 1.6;
}

.ntz-legal-card small {
  font-size: 13px;
  color: var(--color-text-muted);
}

/* Clean up old-site cruft in legal content */
.ntz-legal-content .m-breadcrumbs-1,
.ntz-legal-content .l-with-sidebar__sidebar,
.ntz-legal-content .c-section-header,
.ntz-legal-content .c-column-menu,
.ntz-legal-content .c-label {
  display: none !important;
}

.ntz-legal-content .l-container,
.ntz-legal-content .l-with-sidebar,
.ntz-legal-content .l-with-sidebar__main,
.ntz-legal-content .s-generated-style,
.ntz-legal-content .m-page-1 {
  display: block;
  max-width: none;
  padding: 0;
  margin: 0;
}

/* Better spacing for legal content tables */
.ntz-legal-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 24px 0;
  border-radius: var(--radius-sm);
}

.ntz-legal-content table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  border: 1px solid #ddd;
  min-width: 600px;
}

.ntz-legal-content table th,
.ntz-legal-content table td {
  padding: 14px 16px;
  text-align: left;
  border: 1px solid #ddd;
  vertical-align: top;
}

.ntz-legal-content table th {
  background: var(--color-bg-light);
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  text-align: center;
}

/* Numbered list styling for legal docs */
.ntz-legal-content > ol {
  counter-reset: legal;
  list-style: none;
  padding-left: 0;
}

.ntz-legal-content > ol > li {
  counter-increment: legal;
  padding-left: 36px;
  position: relative;
  margin-bottom: 12px;
}

.ntz-legal-content > ol > li::before {
  content: counter(legal) ".";
  position: absolute;
  left: 0;
  font-weight: 600;
  color: var(--color-primary);
}

/* Old checkout styles removed - using ntz-checkout custom styles */

/* ============================
   CONTACT PAGE
   ============================ */
.ntz-contact {
  margin-top: 110px;
  padding-bottom: 60px;
}

.ntz-contact-title {
  text-align: center;
  font-size: clamp(30px, 3.5vw, 40px);
  font-weight: 600;
  letter-spacing: -0.03em;
  margin-bottom: 6px;
}

.ntz-contact-subtitle {
  text-align: center;
  font-size: 17px;
  color: var(--color-text-muted);
  margin-bottom: 40px;
}

.ntz-contact-grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 40px;
  margin-bottom: 56px;
}

.ntz-contact-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.02em;
  margin-bottom: 24px;
}

.ntz-contact-heading svg {
  color: var(--color-primary);
  flex-shrink: 0;
}

.ntz-contact-form-wrap {
  background: var(--color-white);
  border: 1px solid #eee;
  border-radius: var(--radius-2xl);
  padding: 36px 40px;
}

.ntz-contact-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.ntz-contact-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.ntz-contact-field label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 7px;
  color: var(--color-text);
}

.ntz-contact-field input,
.ntz-contact-field select,
.ntz-contact-field textarea {
  width: 100%;
  border: 1px solid var(--color-border-card);
  border-radius: var(--radius-sm);
  padding: 13px 16px;
  font-family: var(--font-family);
  font-size: 15px;
  transition: border-color var(--transition-fast);
  background: var(--color-white);
  box-sizing: border-box;
}

.ntz-contact-field input:focus,
.ntz-contact-field select:focus,
.ntz-contact-field textarea:focus {
  border-color: var(--color-primary);
  outline: none;
  box-shadow: 0 0 0 2px rgba(134, 225, 0, 0.15);
}

.ntz-contact-field textarea {
  resize: vertical;
}

.ntz-contact-consent {
  margin-bottom: 16px;
}

.ntz-contact-consent label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  color: var(--color-text-secondary);
  line-height: 1.5;
  cursor: pointer;
}

.ntz-contact-consent input[type="checkbox"] {
  margin-top: 3px;
  flex-shrink: 0;
  accent-color: var(--color-primary);
  width: 16px;
  height: 16px;
}

.ntz-contact-consent a {
  color: var(--color-primary-dark);
  font-weight: 500;
}

.ntz-contact-consent a:hover {
  text-decoration: underline;
}

.ntz-contact-submit {
  width: 100%;
  justify-content: center;
  padding: 14px;
  font-size: 16px;
  margin-top: 4px;
}

/* Contact info cards */
.ntz-contact-info-cards {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.ntz-contact-info-card {
  display: flex;
  gap: 14px;
  padding: 18px 20px;
  background: var(--color-bg-light);
  border-radius: var(--radius-lg);
}

.ntz-contact-info-card svg {
  color: var(--color-primary);
  flex-shrink: 0;
  margin-top: 2px;
}

.ntz-contact-info-card strong {
  display: block;
  font-size: 15px;
  margin-bottom: 4px;
}

.ntz-contact-info-card p {
  font-size: 14px;
  color: var(--color-text-muted);
  margin: 0;
  line-height: 1.5;
}

.ntz-contact-info-card a {
  color: var(--color-primary-dark);
}

/* FAQ */
.ntz-faq {
  padding-top: 40px;
  border-top: 1px solid #eee;
}

.ntz-faq-list {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ntz-faq-item {
  border: 1px solid #eee;
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: border-color var(--transition-fast);
}

.ntz-faq-item.open {
  border-color: var(--color-primary);
}

.ntz-faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 22px;
  font-family: var(--font-family);
  font-size: 16px;
  font-weight: 500;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--color-text);
  transition: background var(--transition-fast);
}

.ntz-faq-question:hover {
  background: var(--color-bg-light);
}

.ntz-faq-question svg {
  flex-shrink: 0;
  transition: transform var(--transition-fast);
  color: var(--color-text-muted);
}

.ntz-faq-item.open .ntz-faq-question svg {
  transform: rotate(180deg);
  color: var(--color-primary);
}

.ntz-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.ntz-faq-item.open .ntz-faq-answer {
  max-height: 300px;
}

.ntz-faq-answer p {
  padding: 0 22px 18px;
  font-size: 15px;
  color: var(--color-text-secondary);
  line-height: 1.7;
}

@media (max-width: 768px) {
  .ntz-contact-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .ntz-contact-row {
    grid-template-columns: 1fr;
  }

  .ntz-contact-form-wrap {
    padding: 28px 24px;
  }
}

/* ============================
   AUTH (LOGIN / REGISTER)
   ============================ */
.ntz-auth {
  display: flex;
  justify-content: center;
  padding: 20px 24px 60px;
}

.ntz-auth-card {
  width: 100%;
  max-width: 460px;
}

.ntz-auth-tabs {
  display: flex;
  gap: 4px;
  margin-bottom: 32px;
  background: var(--color-bg-light);
  border-radius: var(--radius-md);
  padding: 4px;
}

.ntz-auth-tab {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  border: none;
  background: none;
  border-radius: var(--radius-sm);
  font-family: var(--font-family);
  font-size: 15px;
  font-weight: 500;
  color: var(--color-text-muted);
  cursor: pointer;
  transition: all var(--transition-fast);
}

.ntz-auth-tab.active {
  background: var(--color-white);
  color: var(--color-text);
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

.ntz-auth-tab svg {
  flex-shrink: 0;
}

.ntz-auth-tab.active svg {
  color: var(--color-primary);
}

.ntz-auth-panel {
  display: none;
}

.ntz-auth-panel.active {
  display: block;
}

.ntz-auth-title {
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.03em;
  margin-bottom: 4px;
  text-align: center;
}

.ntz-auth-subtitle {
  font-size: 15px;
  color: var(--color-text-muted);
  text-align: center;
  margin-bottom: 28px;
}

.ntz-auth-field {
  margin-bottom: 18px;
}

.ntz-auth-field label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 7px;
  color: var(--color-text);
}

.ntz-auth-field label svg {
  color: var(--color-primary);
}

.ntz-auth-field input {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--color-border-card);
  border-radius: var(--radius-sm);
  font-family: var(--font-family);
  font-size: 15px;
  transition: border-color var(--transition-fast);
  box-sizing: border-box;
}

.ntz-auth-field input:focus {
  border-color: var(--color-primary);
  outline: none;
  box-shadow: 0 0 0 2px rgba(134, 225, 0, 0.15);
}

.ntz-auth-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  font-size: 14px;
}

.ntz-auth-remember {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--color-text-secondary);
  cursor: pointer;
}

.ntz-auth-remember input {
  accent-color: var(--color-primary);
}

.ntz-auth-forgot {
  color: var(--color-primary-dark);
  font-weight: 500;
}

.ntz-auth-submit {
  width: 100%;
  justify-content: center;
  padding: 14px;
  font-size: 16px;
}

.ntz-auth-icon {
  text-align: center;
  margin-bottom: 16px;
}

.ntz-auth-icon svg {
  color: var(--color-primary);
}

.ntz-auth-back {
  text-align: center;
  margin-top: 24px;
}

.ntz-auth-back a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: var(--color-text-muted);
  transition: color var(--transition-fast);
}

.ntz-auth-back a:hover {
  color: var(--color-primary);
}

/* Hide WC default login/register layout */
.woocommerce-account .u-columns {
  display: none !important;
}

/* Hide "Moje konto" page title */
.woocommerce-account .legal-page > h1 {
  display: none !important;
}

/* ============================
   LOGIN / REGISTER FORMS
   ============================ */
.woocommerce-form-login,
.woocommerce-form-register {
  background: var(--color-white);
  border-radius: var(--radius-2xl);
  padding: 40px;
  box-shadow: var(--shadow-card);
  max-width: 480px;
  margin: 40px auto;
}

.woocommerce-form-login h2,
.woocommerce-form-register h2 {
  text-align: center;
  margin-bottom: 32px;
}

.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row {
  margin-bottom: 20px;
}

.woocommerce-form-login label,
.woocommerce-form-register label {
  font-weight: 500;
  font-size: 14px;
  margin-bottom: 6px;
  display: block;
}

.woocommerce-form-login input[type="text"],
.woocommerce-form-login input[type="password"],
.woocommerce-form-login input[type="email"],
.woocommerce-form-register input[type="text"],
.woocommerce-form-register input[type="password"],
.woocommerce-form-register input[type="email"] {
  width: 100%;
  border: 1px solid var(--color-border-card);
  border-radius: var(--radius-sm);
  padding: 12px 16px;
  font-family: var(--font-family);
  font-size: 15px;
  transition: border-color var(--transition-fast);
}

.woocommerce-form-login input:focus,
.woocommerce-form-register input:focus {
  border-color: var(--color-primary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(134, 225, 0, 0.15);
}

.woocommerce-form-login .woocommerce-button,
.woocommerce-form-register .woocommerce-button {
  background: var(--color-primary) !important;
  color: var(--color-text) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  padding: 14px 32px !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  font-family: var(--font-family) !important;
  width: 100%;
  transition: all var(--transition-normal) !important;
}

.woocommerce-form-login .woocommerce-button:hover,
.woocommerce-form-register .woocommerce-button:hover {
  background: var(--color-primary-dark) !important;
}

/* ============================
   LEGAL PAGES
   ============================ */
.legal-page {
  max-width: 800px;
  margin: 40px auto;
  padding: 40px;
  background: var(--color-white);
  border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-card);
}

.legal-page h1 {
  font-size: 32px;
  margin-bottom: 24px;
}

.legal-page h2 {
  font-size: 22px;
  margin: 32px 0 12px;
}

.legal-page p {
  font-size: 15px;
  line-height: 1.8;
  color: var(--color-text-secondary);
  margin-bottom: 16px;
}

.legal-page ul, .legal-page ol {
  padding-left: 24px;
  margin-bottom: 16px;
  list-style: disc;
}

.legal-page li {
  font-size: 15px;
  line-height: 1.8;
  color: var(--color-text-secondary);
  margin-bottom: 4px;
}

/* ============================
   RESPONSIVE - SMALL LAPTOP (MacBook etc.)
   ============================ */
@media (max-width: 1440px) {
  .products-grid .product-card {
    flex: 0 0 calc(25% - 18px);
    min-width: 260px;
  }

  .product-card-footer .btn {
    padding: 8px 14px;
    font-size: 13px;
  }

  .product-card-title {
    font-size: 19px;
  }

  .product-card-price {
    font-size: 16px;
  }

  .sp-description,
  .sp-tabs {
    padding-left: 8px;
  }
}

/* ============================
   RESPONSIVE - TABLET
   ============================ */
@media (max-width: 1200px) {
  .products-grid .product-card {
    flex: 0 0 calc(33.33% - 16px);
    min-width: 260px;
  }

  .product-card-footer .btn {
    padding: 7px 12px;
    font-size: 12px;
  }

  .product-card-title {
    font-size: 18px;
  }

  .product-card-price {
    font-size: 15px;
  }

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

  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
  }

  .hero-inner {
    padding: 40px 48px;
    min-height: 500px;
  }

  .hero-images {
    width: 40%;
  }

  .why-inner {
    flex-direction: column;
    min-height: auto;
  }

  .why-image {
    width: 100%;
    height: 300px;
  }

  .why-content {
    padding: 32px;
  }
}

/* ============================
   RESPONSIVE - MOBILE
   ============================ */
@media (max-width: 768px) {
  .navbar-nav,
  .navbar .separator {
    display: none;
  }

  .mobile-bottom-nav {
    display: block;
  }

  body {
    padding-bottom: 80px;
  }

  /* --- GLOBAL MOBILE SCALING --- */
  .section {
    padding: 24px 0;
  }

  h1 { font-size: clamp(26px, 7vw, 36px); }
  h2 { font-size: clamp(22px, 5.5vw, 30px); }
  h3 { font-size: clamp(18px, 4.5vw, 24px); }

  .btn {
    padding: 9px 18px;
    font-size: 14px;
    gap: 6px;
  }

  .btn svg {
    width: 15px;
    height: 15px;
  }

  /* --- HERO --- */
  .hero {
    margin-top: 90px;
  }

  .hero-inner {
    flex-direction: column;
    padding: 40px 20px 0;
    min-height: auto;
    text-align: center;
  }

  .hero-content {
    max-width: 100%;
  }

  .hero-subtitle {
    font-size: 15px;
    margin-bottom: 12px;
  }

  .hero-title {
    margin-bottom: 20px;
    line-height: 1.15;
  }

  .hero-description {
    max-width: 100%;
    font-size: 14px;
    margin-bottom: 28px;
    line-height: 1.65;
  }

  .hero-buttons {
    justify-content: center;
    gap: 10px;
    margin-bottom: 8px;
  }

  /* Hero mobile: show mobile image, hide desktop */
  .hero-img-combined {
    display: none;
  }

  .hero-img-mobile {
    display: block !important;
    width: 105%;
    max-width: none;
    height: auto;
    margin: 0 auto -20px;
    position: relative;
    z-index: 2;
  }

  .hero-images {
    position: relative;
    right: auto;
    top: auto;
    width: 100%;
    height: auto;
    margin-top: 16px;
    margin-bottom: 0;
    justify-content: center;
    align-items: flex-end;
  }

  .hero-logotlo {
    left: 50%;
    top: auto;
    bottom: -11%;
    width: 115%;
    transform: translateX(-50%) rotate(27.9deg);
  }

  /* --- PRODUCTS SECTION --- */
  .products-section {
    padding-top: 40px;
  }

  .products-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    overflow: visible;
    scroll-snap-type: none;
  }

  .products-grid .product-card {
    min-width: 0;
    max-width: none;
    flex: none;
  }

  .product-card-image {
    height: 180px;
  }

  .product-card-body {
    padding: 10px 12px 14px;
  }

  .product-card-title {
    font-size: 15px;
    margin-bottom: 2px;
  }

  .product-card-desc {
    font-size: 12px;
    margin-bottom: 10px;
  }

  .product-card-price {
    font-size: 14px;
  }

  .product-card-badge {
    font-size: 11px;
    padding: 3px 10px;
  }

  .section-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 20px;
  }

  .section-link {
    font-size: 14px;
  }

  /* --- WHY SECTION --- */
  .why-image {
    height: 220px;
  }

  .why-content {
    padding: 24px 20px;
  }

  .why-content h2 {
    margin-bottom: 6px;
  }

  .why-content .btn {
    justify-content: center;
    text-align: center;
    font-size: 15px;
    padding: 12px 22px;
  }

  .why-description {
    font-size: 14px;
    margin-bottom: 20px;
  }

  /* --- TESTIMONIALS --- */
  .testimonials-section {
    overflow: hidden;
    padding: 24px 0;
  }

  .testimonials-title {
    margin-bottom: 20px;
  }

  .testimonials-slider {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    padding: 0 16px;
    overflow: hidden;
  }

  .testimonial-card {
    min-width: 0;
  }

  .testimonial-card:nth-child(n+5) {
    display: none;
  }

  /* --- BLOG --- */
  .blog-section {
    padding: 24px 0 40px;
  }

  .blog-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .blog-card-image {
    height: 180px;
  }

  .blog-card-body {
    padding: 12px 16px 16px;
  }

  .blog-card-title {
    font-size: 15px;
    margin-bottom: 6px;
  }

  .blog-card-meta {
    font-size: 12px;
  }

  /* --- FOOTER --- */
  .site-footer {
    padding: 40px 0 20px;
    margin-top: 40px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 28px;
  }

  .footer-brand p {
    font-size: 13px;
  }

  .footer-col h4 {
    font-size: 14px;
    margin-bottom: 12px;
  }

  .footer-col a {
    font-size: 13px;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 8px;
    text-align: center;
    font-size: 12px;
  }

  /* --- SINGLE PRODUCT --- */
  .single-product .product {
    grid-template-columns: 1fr;
  }

  .single-product-section {
    margin-top: 110px;
    padding-bottom: 40px;
  }

  .sp-breadcrumb-desktop {
    display: none;
  }

  .sp-back-mobile {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    color: var(--color-text-muted);
    margin-bottom: 20px;
    transition: color var(--transition-fast);
  }

  .sp-back-mobile:hover {
    color: var(--color-primary);
  }

  /* --- MY ACCOUNT --- */
  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    flex-direction: column;
  }

  /* --- DROPDOWNS --- */
  .dropdown-panel {
    position: fixed;
    top: 70px;
    bottom: auto;
    right: 8px;
    left: 8px;
    min-width: 0;
    max-width: calc(100vw - 16px);
    max-height: 70vh;
    overflow-y: auto;
    overflow-x: hidden;
    border-radius: var(--radius-2xl);
  }

  .dropdown-panel .dropdown-item {
    flex-wrap: nowrap;
  }

  .dropdown-panel .dropdown-item-info .name,
  .dropdown-panel .dropdown-item-info .desc {
    max-width: 140px;
  }

  .dropdown-panel .dropdown-item-price {
    font-size: 13px;
  }

  .dropdown-panel-footer .dropdown-actions {
    flex-direction: column;
  }

  .dropdown-panel-footer .dropdown-actions .btn {
    font-size: 13px;
    padding: 10px 12px;
  }

  .nav-dropdown-menu {
    left: 50%;
    transform: translateX(-50%);
    min-width: 200px;
  }
}

@media (max-width: 480px) {
  .products-grid {
    grid-template-columns: 1fr;
  }

  .product-card-image {
    height: 220px;
  }

  .product-card-body {
    padding: 10px 14px 16px;
  }

  .product-card-title {
    font-size: 16px;
  }

  .product-card-desc {
    font-size: 13px;
  }

  .container {
    padding: 0 14px;
  }

  .hero-inner {
    padding: 20px 16px 0;
  }

  .hero-img-mobile {
    width: 95%;
    max-width: none;
  }

  .btn {
    padding: 8px 16px;
    font-size: 13px;
  }

  .why-content {
    padding: 20px 16px;
  }

  .site-footer {
    padding: 30px 0 16px;
  }
}

/* ============================
   AUTH PANEL – RESPONSIVE
   ============================ */
@media (max-width: 768px) {
  .ntz-auth {
    padding: 16px 16px 40px;
  }

  .ntz-auth-card {
    max-width: 100%;
  }

  .ntz-auth-title {
    font-size: 22px;
  }

  .ntz-auth-subtitle {
    font-size: 14px;
    margin-bottom: 22px;
  }

  .ntz-auth-tabs {
    margin-bottom: 24px;
  }

  .ntz-auth-tab {
    padding: 10px 12px;
    font-size: 14px;
    gap: 6px;
  }

  .ntz-auth-tab svg {
    width: 16px;
    height: 16px;
  }

  .ntz-auth-field input {
    padding: 12px 14px;
    font-size: 14px;
  }

  .ntz-auth-options {
    flex-wrap: wrap;
    gap: 10px;
  }

  .ntz-auth-submit {
    padding: 12px;
    font-size: 15px;
  }
}

@media (max-width: 400px) {
  .ntz-auth {
    padding: 12px 12px 32px;
  }

  .ntz-auth-tab {
    padding: 9px 8px;
    font-size: 13px;
    gap: 5px;
  }

  .ntz-auth-tab svg {
    width: 14px;
    height: 14px;
  }

  .ntz-auth-title {
    font-size: 20px;
  }

  .ntz-auth-field label {
    font-size: 13px;
  }

  .ntz-auth-field input {
    padding: 11px 12px;
    font-size: 13px;
  }

  .ntz-auth-options {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .ntz-auth-forgot {
    font-size: 13px;
  }

  .ntz-auth-remember span {
    font-size: 13px;
  }
}

/* ============================
   WHY SECTION – MOBILE
   ============================ */
@media (max-width: 768px) {
  .why-content .subtitle {
    font-size: 16px;
    margin-bottom: 24px;
  }

  .why-checklist {
    background: none;
    border-radius: 0;
    padding: 0;
    margin-bottom: 24px;
  }

  .why-check-item {
    font-size: 15px;
    padding: 6px 0;
  }
}

/* ============================
   COOKIE BOX
   ============================ */
.ntz-cookie-banner {
  position: fixed;
  bottom: 24px;
  left: 24px;
  z-index: 9999;
  width: 380px;
  background: var(--color-white);
  border: 1px solid var(--color-border-card);
  border-radius: var(--radius-2xl);
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.12);
  padding: 24px;
  transform: translateY(20px);
  opacity: 0;
  transition: transform 0.4s ease, opacity 0.4s ease;
}

.ntz-cookie-banner.visible {
  transform: translateY(0);
  opacity: 1;
}

.ntz-cookie-inner {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ntz-cookie-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ntz-cookie-text svg {
  color: var(--color-primary);
  flex-shrink: 0;
}

.ntz-cookie-text p {
  font-size: 13px;
  color: var(--color-text-secondary);
  line-height: 1.6;
  margin: 0;
}

.ntz-cookie-text a {
  color: var(--color-primary-dark);
  font-weight: 500;
}

.ntz-cookie-text a:hover {
  text-decoration: underline;
}

.ntz-cookie-actions {
  display: flex;
  gap: 8px;
}

.ntz-cookie-actions .btn {
  flex: 1;
  justify-content: center;
  padding: 10px 16px;
  font-size: 14px;
}

.ntz-cookie-decline {
  color: var(--color-text-muted) !important;
  border-color: var(--color-border-card) !important;
}

.ntz-cookie-decline:hover {
  border-color: var(--color-text-muted) !important;
}

@media (max-width: 768px) {
  .ntz-cookie-banner {
    bottom: 90px;
    left: 12px;
    right: 12px;
    width: auto;
    padding: 20px;
    border-radius: var(--radius-xl);
  }

  .ntz-cookie-text p {
    font-size: 12px;
  }

  .ntz-cookie-actions .btn {
    font-size: 13px;
    padding: 9px 14px;
  }
}

/* ===== Checkout coupon ===== */
.ntz-coupon-box {
  margin: 18px 0 22px;
  padding: 16px;
  border: 1px dashed var(--color-border-card);
  border-radius: 10px;
  background: rgba(0,0,0,0.015);
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.ntz-coupon-row {
  display: flex;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
}

.ntz-coupon-input {
  flex: 1 1 0;
  min-width: 0;
  width: 100%;
  height: 42px;
  padding: 0 14px;
  font-size: 14px;
  font-family: inherit;
  border: 1px solid var(--color-border-card);
  border-radius: 8px;
  background: #fff;
  color: var(--color-text);
  transition: border-color var(--transition-fast);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-sizing: border-box;
}

.ntz-coupon-input:focus {
  outline: none;
  border-color: var(--color-text);
}

.ntz-coupon-apply {
  flex: 0 0 auto;
  height: 42px;
  padding: 0 16px;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  border: none;
  border-radius: 8px;
  background: var(--color-text);
  color: #fff;
  cursor: pointer;
  transition: opacity var(--transition-fast);
  white-space: nowrap;
  box-sizing: border-box;
}

.ntz-coupon-apply:hover { opacity: 0.85; }
.ntz-coupon-apply:disabled { opacity: 0.5; cursor: not-allowed; }

.ntz-coupon-message {
  margin-top: 10px;
  font-size: 13px;
  min-height: 0;
  line-height: 1.4;
}
.ntz-coupon-message:empty { display: none; }
.ntz-coupon-message-success { color: #1a7a3a; }
.ntz-coupon-message-error   { color: #c0392b; }
.ntz-coupon-message-info    { color: var(--color-text-secondary); }

.ntz-summary-discount { color: #1a7a3a; }

.ntz-coupon-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.ntz-coupon-tag-label {
  font-weight: 500;
}

.ntz-remove-coupon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(192,57,43,0.12);
  color: #c0392b;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  transition: all var(--transition-fast);
}

.ntz-remove-coupon:hover {
  background: #c0392b;
  color: #fff;
}

@media (max-width: 600px) {
  .ntz-coupon-row { flex-direction: column; }
  .ntz-coupon-apply { width: 100%; }
}
