/*
Theme Name: PAVUMI (Astra child)
Template: astra
Author: Kuznya / Ascend Griffin
Description: Брендована тема PAVUMI — оригінальний дизайн (glassmorphism, фон, grain) на WooCommerce.
Version: 2.0
*/

/* ============================================================
   PAVUMI — Преміальна косметична еко-естетика (SPA-салон)
   Світлий мінімалістичний дизайн, чистий простір, еко-акценти
   ============================================================ */

/* ---- Колірні палітри ---- */
:root, body[data-theme="A"] {
  --bg: #FAF6F0;          /* теплий бежевий */
  --bg-cream: #F3ECE2;
  --sage: #DCE5D8;        /* пастельний шавлієвий */
  --sage-deep: #5E7152;   /* глибокий зелений */
  --sage-mid: #8A9A7B;
  --rose: #E8D6D2;        /* пудрово-рожевий */
  --ink: #2C3029;         /* темний вугільний з еко-відтінком */
  --muted: #6A6D65;
  --price: #9B3540;       /* винно-червоний */
  --gold: #C8A96A;
  --line: rgba(94, 113, 82, 0.12);
  --glass-bg: rgba(255, 255, 255, 0.82);
  --glass-border: rgba(255, 255, 255, 0.6);
  --radius: 20px;
  --shadow: 0 20px 45px rgba(94, 113, 82, 0.05);
  --shadow-sm: 0 8px 24px rgba(94, 113, 82, 0.03);
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", system-ui, -apple-system, sans-serif;
  --bg-img: url('assets/elegant_leaves_bg.png');
}

body[data-theme="B"] {
  --bg: #F6F3EC;
  --bg-cream: #EDE7DC;
  --sage: #CFE0CE;
  --sage-deep: #6E8166;
  --sage-mid: #9DB29A;
  --rose: #EBD3D0;
  --ink: #32352E;
  --muted: #72756E;
  --price: #A85C63;
  --gold: #D2B07A;
  --line: rgba(110, 129, 102, 0.14);
  --glass-bg: rgba(255, 255, 255, 0.85);
  --glass-border: rgba(255, 255, 255, 0.6);
  --bg-img: url('assets/clean_spa_bg.png');
}

body[data-theme="D"] {
  --bg: #F2F3ED;
  --bg-cream: #E6E9DD;
  --sage: #C2D2B6;
  --sage-deep: #3F5236;
  --sage-mid: #6E8160;
  --rose: #DCC9C2;
  --ink: #1C201A;
  --muted: #5C6057;
  --price: #8C3B3B;
  --gold: #B79456;
  --line: rgba(63, 82, 54, 0.14);
  --glass-bg: rgba(255, 255, 255, 0.84);
  --glass-border: rgba(255, 255, 255, 0.6);
  --bg-img: url('assets/clean_forest_bg.png');
}

body[data-theme="E"] {
  --bg: #F5F7F4;
  --bg-cream: #E9EFE9;
  --sage: #CBDED6;
  --sage-deep: #4F7A6B;
  --sage-mid: #86A99B;
  --rose: #E4D6D8;
  --ink: #202624;
  --muted: #5E6764;
  --price: #9B5560;
  --gold: #C9A875;
  --line: rgba(79, 122, 107, 0.14);
  --glass-bg: rgba(255, 255, 255, 0.82);
  --glass-border: rgba(255, 255, 255, 0.55);
  --bg-img: url('assets/calm_water_bg.png');
}

/* ---- Базові стилі ---- */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

html { scroll-behavior: smooth; }
body {
  font-family: var(--sans);
  color: var(--ink);
  background: transparent;
  line-height: 1.6;
  font-size: 16px;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
  transition: color 0.4s;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  background-color: var(--bg);
  background-image: var(--bg-img);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  pointer-events: none;
  transition: background-color 0.5s ease, background-image 0.5s ease;
}

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

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

.wrap {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
}

section {
  padding: 130px 0;
  position: relative;
}

h1, h2, h3 {
  font-family: var(--serif);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.01em;
}

.eyebrow {
  font-size: 0.72rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--sage-deep);
  font-weight: 800;
}

.lead {
  color: var(--muted);
  font-size: 1.1rem;
  line-height: 1.6;
}

.center {
  text-align: center;
  margin: 0 auto;
}

/* ---- Тактильний ефект паперу ---- */
.grain {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  opacity: 0.025;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---- Glassmorphism картки ---- */
.glass-card {
  background: var(--glass-bg);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 30px;
}

/* ---- Top promo bar ---- */
.promo {
  background: var(--sage-deep);
  color: #F4F1E9;
  text-align: center;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  padding: 9px 16px;
  font-weight: 700;
  text-transform: uppercase;
  z-index: 60;
  position: relative;
}
.promo span {
  color: var(--rose);
}

/* ---- Header (Glassmorphism Capsule) ---- */
header {
  position: sticky;
  top: 15px;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 40px;
  margin: 15px auto;
  max-width: 1140px;
  width: calc(100% - 40px);
  box-shadow: 0 10px 30px rgba(94, 113, 82, 0.03);
  transition: background 0.3s, box-shadow 0.3s;
}

.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 64px;
  padding: 0 24px;
}

.logo {
  font-family: var(--serif);
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  color: var(--sage-deep);
}
.logo small {
  display: block;
  font-family: var(--sans);
  font-size: 0.5rem;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--sage-mid);
  margin-top: -4px;
  font-weight: 700;
}

.menu {
  display: flex;
  gap: 30px;
  list-style: none;
}
.menu a {
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--ink);
  transition: color 0.2s;
  position: relative;
}
.menu a:hover {
  color: var(--sage-deep);
}
.menu a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 0;
  height: 2px;
  background: var(--sage-deep);
  transition: width 0.25s;
}
.menu a:hover::after {
  width: 100%;
}

.nav-cta {
  display: flex;
  gap: 12px;
  align-items: center;
}

.icon-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(94, 113, 82, 0.1);
  color: var(--sage-deep);
  transition: transform 0.2s, background 0.2s, color 0.2s;
}
.icon-btn:hover {
  transform: translateY(-2px);
  background: var(--sage-deep);
  color: #fff;
}

.burger {
  display: none;
  background: none;
  border: 0;
  font-size: 1.5rem;
  cursor: pointer;
  color: var(--ink);
}

/* ---- Hero Section ---- */
.hero {
  min-height: 85vh;
  display: flex;
  align-items: center;
  padding: 60px 0;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}

.hero-glass-card {
  background: rgba(255, 255, 255, 0.68);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 30px;
  padding: 45px;
  box-shadow: var(--shadow);
}

.hero h1 {
  font-size: clamp(2.6rem, 5vw, 4.2rem);
  margin: 14px 0 20px;
  color: var(--sage-deep);
}
.hero h1 em {
  font-style: italic;
  font-weight: 400;
  color: var(--sage-mid);
}
.hero .lead {
  margin-bottom: 30px;
}

.hero-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--sage-deep);
  color: #F4F1E9;
  padding: 15px 32px;
  border-radius: 40px;
  font-weight: 700;
  font-size: 0.88rem;
  letter-spacing: 0.03em;
  border: 0;
  cursor: pointer;
  box-shadow: 0 10px 25px rgba(94, 113, 82, 0.12);
  transition: transform 0.25s, box-shadow 0.25s, background 0.25s;
}
.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 30px rgba(94, 113, 82, 0.2);
  background: #4e5f43;
}
.btn.ghost {
  background: rgba(255,255,255,0.4);
  backdrop-filter: blur(5px);
  color: var(--sage-deep);
  border: 1px solid var(--sage-deep);
  box-shadow: none;
}
.btn.ghost:hover {
  background: var(--sage-deep);
  color: #F4F1E9;
}

/* Hero Image Frame */
.hero-image-container {
  position: relative;
  width: 100%;
  max-width: 460px;
  height: 460px;
  margin: 0 auto;
}
.hero-blob-frame {
  width: 100%;
  height: 100%;
  border-radius: 60% 40% 60% 40% / 40% 60% 40% 60%;
  overflow: hidden;
  box-shadow: var(--shadow);
  border: 4px solid #fff;
}
.hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ---- Featured Categories Section (Home Page Clean View) ---- */
.featured-sec {
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.featured-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
  margin-top: 60px;
}
.feat-card {
  height: 420px;
  border-radius: var(--radius);
  overflow: hidden;
  position: relative;
  box-shadow: var(--shadow-sm);
  transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
  background: var(--bg-cream);
}
.feat-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow);
}
.feat-card-img {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.feat-card:hover .feat-card-img {
  transform: scale(1.05);
}
.feat-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(44, 48, 41, 0.8));
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 30px;
  color: #fff;
}
.feat-card h3 {
  font-family: var(--serif);
  font-size: 1.8rem;
  margin-bottom: 6px;
  color: #fff;
}
.feat-card p {
  font-size: 0.9rem;
  opacity: 0.9;
  margin-bottom: 16px;
  min-height: 42px;
}
.feat-card .link-text {
  font-size: 0.8rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--rose);
  display: flex;
  align-items: center;
  gap: 6px;
}

/* ---- Philosophy (Why) Section ---- */
.why {
  background: rgba(250, 246, 240, 0.6);
}
.pills {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-top: 60px;
}
.pill {
  background: var(--glass-bg);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius);
  padding: 44px 34px;
  box-shadow: var(--shadow-sm);
  transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.3s;
}
.pill:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}
.pill .ic {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: linear-gradient(135deg, #e9efe3, #dbe4d2);
  border: 1px solid rgba(110,129,102,.2);
  display: grid;
  place-items: center;
  margin-bottom: 22px;
  color: var(--sage-deep);
}
.pill .ic svg { width: 28px; height: 28px; }
.pill h3 {
  font-size: 1.3rem;
  margin-bottom: 10px;
  color: #2a3226;              /* темніший — читабельно на світлому */
  font-weight: 700;
}
.pill p {
  color: #565a4f;              /* контрастніший за muted */
  font-size: 0.96rem;
  line-height: 1.6;
}

/* ---- FAQ Accordions ---- */
.faq-box {
  max-width: 800px;
  margin: 40px auto 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.acc-item {
  background: var(--glass-bg);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius);
  overflow: hidden;
  transition: box-shadow 0.25s, border-color 0.25s;
}
.acc-item:hover {
  box-shadow: var(--shadow-sm);
  border-color: var(--sage-deep);
}
.acc-head {
  padding: 20px 24px;
  font-family: var(--sans);
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--sage-deep);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
}
.acc-head .arr {
  transition: transform 0.25s;
  color: var(--sage-mid);
}
.acc-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
  padding: 0 24px;
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.6;
}
.acc-item.open .acc-body {
  max-height: 250px;
  padding-bottom: 22px;
}
.acc-item.open .acc-head .arr {
  transform: rotate(180deg);
}

/* ---- Reviews Section ---- */
.rev-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-top: 60px;
}
.rev {
  background: var(--glass-bg);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius);
  padding: 38px;
  box-shadow: var(--shadow-sm);
  transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.3s;
}
.rev:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow);
  border-color: var(--sage-deep);
}
.rev .stars {
  color: var(--gold);
  letter-spacing: 2px;
  margin-bottom: 12px;
}
.rev p {
  font-size: 0.94rem;
  color: var(--ink);
}
.rev .who {
  margin-top: 18px;
  font-weight: 700;
  font-size: 0.86rem;
  color: var(--sage-deep);
}
.rev .who span {
  color: var(--muted);
  font-weight: 500;
}

/* ---- About Section ---- */
.about {
  background: rgba(250, 246, 240, 0.4);
}
.about-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 60px;
  align-items: center;
}
.about-text .glass-card {
  padding: 50px;
}
.about h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: 18px;
  color: var(--sage-deep);
}
.about p {
  color: var(--muted);
  margin-bottom: 16px;
}
.creed {
  background: var(--sage);
  border-left: 4px solid var(--sage-deep);
  padding: 18px 22px;
  border-radius: 10px;
  font-family: var(--serif);
  font-size: 1.35rem;
  color: var(--sage-deep);
  font-style: italic;
}

/* About Image Frame */
.about-image-container {
  position: relative;
  max-width: 400px;
  height: 400px;
  margin: 0 auto;
}
.about-blob-frame {
  width: 100%;
  height: 100%;
  border-radius: 40% 60% 40% 60% / 60% 40% 60% 40%;
  overflow: hidden;
  box-shadow: var(--shadow);
  border: 4px solid #fff;
}
.about-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about-badge {
  position: absolute;
  bottom: 20px;
  right: 10px;
  background: var(--sage-deep);
  color: #F4F1E9;
  padding: 14px 18px;
  border-radius: 50%;
  width: 95px;
  height: 95px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: 0 10px 25px rgba(94, 113, 82, 0.2);
  z-index: 10;
  border: 2px solid #fff;
}
.about-badge .num {
  font-family: var(--serif);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}
.about-badge .text {
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.1;
  color: var(--rose);
}

/* ---- Contact Section ---- */
.contact {
  text-align: center;
}
.msgs {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 34px;
}
.msg {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  background: var(--glass-bg);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid var(--glass-border);
  padding: 16px 30px;
  border-radius: 40px;
  font-weight: 700;
  box-shadow: var(--shadow-sm);
  transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
}
.msg:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow);
  border-color: var(--sage-deep);
}

/* ---- Footer ---- */
footer {
  background: var(--ink);
  color: #CFCBC0;
  padding: 60px 0;
  text-align: center;
  position: relative;
  z-index: 10;
  border-top: 1px solid rgba(255,255,255,0.05);
}
footer .logo {
  color: #fff;
  margin-bottom: 12px;
}
footer .fmenu {
  display: flex;
  gap: 24px;
  justify-content: center;
  flex-wrap: wrap;
  margin: 22px 0;
  font-size: 0.88rem;
}
footer .fmenu a:hover {
  color: #fff;
}
footer .fine {
  font-size: 0.78rem;
  opacity: 0.55;
  margin-top: 20px;
}

/* Floating Messengers (FAB) */
.fab {
  position: fixed;
  right: 24px;
  bottom: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 1200;
}
.fab a {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  transition: transform 0.25s;
}
.fab a:hover {
  transform: scale(1.08) translateY(-2px);
}
.fab .ig {
  background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
}
.fab .tg {
  background: #229ED9;
}

/* ---- Theme Swatch Picker ---- */
.picker {
  position: fixed;
  left: 24px;
  bottom: 24px;
  z-index: 1200;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--line);
  border-radius: 50px;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}
.picker b {
  font-family: var(--sans);
  font-size: 0.74rem;
  color: var(--muted);
  padding: 0 6px;
  letter-spacing: 0.04em;
}
.swatch {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid #fff;
  cursor: pointer;
  position: relative;
  box-shadow: 0 0 0 1px rgba(94, 113, 82, 0.15);
  transition: transform 0.15s;
}
.swatch:hover {
  transform: scale(1.08);
}
.swatch.active {
  box-shadow: 0 0 0 2px var(--sage-deep), 0 0 0 3px #fff;
}
.swatch[data-set="A"] { background: linear-gradient(135deg, #DCE5D8 50%, #5E7152 50%); }
.swatch[data-set="B"] { background: linear-gradient(135deg, #CFE0CE 50%, #EBD3D0 50%); }
.swatch[data-set="D"] { background: linear-gradient(135deg, #C2D2B6 50%, #3F5236 50%); }
.swatch[data-set="E"] { background: linear-gradient(135deg, #CBDED6 50%, #4F7A6B 50%); }
.swatch span {
  display: none; /* прибираємо підписи, щоб було лаконічніше */
}

/* ---- Catalog Full Modal (Чиста архітектура) ---- */
.catalog-modal {
  position: fixed;
  inset: 0;
  background: rgba(250, 246, 240, 0.88);
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  z-index: 1400;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  overflow-y: auto;
  padding: 60px 24px;
}
.catalog-modal.show {
  opacity: 1;
  visibility: visible;
}
.catalog-modal-content {
  max-width: 1140px;
  margin: 0 auto;
  position: relative;
}
.catalog-modal-close {
  position: absolute;
  top: -20px;
  right: 10px;
  font-size: 2.2rem;
  cursor: pointer;
  color: var(--sage-deep);
  background: none;
  border: none;
  transition: transform 0.2s;
  z-index: 10;
}
.catalog-modal-close:hover {
  transform: scale(1.1);
}

/* ---- Product Detail Modal ---- */
.detail-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -46%) scale(0.96);
  width: 480px;
  max-width: 92vw;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius);
  box-shadow: 0 24px 60px rgba(94, 113, 82, 0.15);
  z-index: 1600;
  opacity: 0;
  visibility: hidden;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s, visibility 0.3s;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.detail-modal.show {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1);
}
.detail-body {
  padding: 24px;
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--ink);
  max-height: 70vh;
  overflow-y: auto;
}

/* ---- Shopping Cart (Drawer) ---- */
.cart-btn {
  position: relative;
  background: none;
  border: 1px solid var(--line);
  color: var(--sage-deep);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.25s, border-color 0.25s, color 0.25s;
  flex: none;
}
.cart-btn:hover {
  border-color: var(--sage-deep);
  transform: translateY(-2px);
}
.cart-btn svg {
  width: 20px;
  height: 20px;
}
.cart-count {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  background: var(--price);
  color: #fff;
  border-radius: 20px;
  font-family: var(--sans);
  font-size: 0.62rem;
  font-weight: 850;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cart-overlay {
  position: fixed;
  inset: 0;
  background: rgba(58, 58, 51, 0.25);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 1500;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
.cart-overlay.show {
  opacity: 1;
  visibility: visible;
}
.cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  height: 100%;
  width: 410px;
  max-width: 92vw;
  background: rgba(250, 246, 240, 0.88);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-left: 1px solid var(--line);
  z-index: 1600;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.cart-drawer.show {
  transform: none;
}
.cart-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px;
  border-bottom: 1px solid var(--line);
}
.cart-head h3 {
  font-family: var(--serif);
  font-weight: 700;
  font-size: 1.35rem;
  color: #2f3a2a;
}
.cart-x {
  background: none;
  border: none;
  color: var(--muted);
  font-size: 1.2rem;
  cursor: pointer;
  transition: color 0.2s;
}
.cart-x:hover {
  color: var(--price);
}
.cart-items {
  flex: 1;
  overflow-y: auto;
  padding: 14px 22px;
}
.cart-empty {
  text-align: center;
  color: var(--muted);
  padding: 60px 0;
  font-size: 1rem;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.cart-empty small {
  font-size: 0.82rem;
  opacity: 0.8;
}

.ci-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 12px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}
.ci-name {
  font-weight: 600;
  font-size: 0.94rem;
}
.ci-portion {
  color: var(--muted);
  font-size: 0.8rem;
  margin-top: 2px;
}
.ci-qty {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ci-qty button {
  width: 26px;
  height: 26px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  border-radius: 7px;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s, color 0.2s;
}
.ci-qty button:hover {
  border-color: var(--sage-deep);
  color: var(--sage-deep);
}
.ci-qty span {
  min-width: 18px;
  text-align: center;
  font-weight: 700;
  font-size: 0.9rem;
}
.ci-sum {
  font-family: var(--sans);
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--price);
  white-space: nowrap;
}

/* ---- Shipping bar ---- */
.shipping-bar {
  background: rgba(230, 220, 207, 0.4);
  padding: 12px 22px;
  border-bottom: 1px solid var(--line);
  font-size: 0.82rem;
}
.shipping-bar-text {
  margin-bottom: 6px;
  color: var(--ink);
}
.shipping-bar-track {
  height: 6px;
  background: rgba(94, 113, 82, 0.1);
  border-radius: 4px;
  overflow: hidden;
}
.shipping-bar-fill {
  height: 100%;
  border-radius: 4px;
  transition: width 0.4s ease, background-color 0.4s;
}

.cart-foot {
  padding: 20px 22px;
  border-top: 1px solid var(--line);
  background: #fff;
}
.cart-total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 16px;
}
.cart-total span {
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 600;
}
.cart-total b {
  font-family: var(--serif);
  font-weight: 700;
  font-size: 1.6rem;
  color: var(--price);
}
.cart-checkout {
  width: 100%;
  justify-content: center;
  padding: 16px;
}

/* ---- Checkout Modal ---- */
.co-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -46%) scale(.97);
  width: 480px;
  max-width: 94vw;
  max-height: 90vh;
  background: rgba(250, 246, 240, 0.85);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid var(--line);
  border-radius: 16px;
  z-index: 1600;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, transform .3s cubic-bezier(0.18, 0.89, 0.32, 1.28), visibility .3s;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.co-modal.show {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1);
}
.co-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  max-height: 90vh;
}
.co-body {
  padding: 22px;
  overflow-y: auto;
  flex: 1;
}
.co-sum {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 18px;
}
.co-line {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: .88rem;
  padding: 5px 0;
  color: var(--ink);
}
.co-grand {
  border-top: 1px solid var(--line);
  margin-top: 6px;
  padding-top: 10px;
  font-family: var(--sans);
  font-weight: 700;
}
.co-grand b {
  color: var(--price);
  font-size: 1.15rem;
}
.co-form {
  display: flex;
  flex-direction: column;
  gap: 13px;
}
.co-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: .82rem;
  color: var(--muted);
  font-weight: 700;
}
.co-form input, .co-form select, .co-form textarea {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 11px 13px;
  color: var(--ink);
  font-family: var(--sans);
  font-size: .92rem;
  transition: border-color .2s;
}
.co-form input:focus, .co-form select:focus, .co-form textarea:focus {
  outline: none;
  border-color: var(--sage-deep);
}
.co-check {
  flex-direction: row !important;
  align-items: flex-start;
  gap: 9px;
  font-size: .8rem;
  line-height: 1.45;
  color: var(--muted);
  cursor: pointer;
  margin-top: 4px;
}
.co-check input {
  width: 17px;
  height: 17px;
  flex: none;
  margin-top: 1px;
  accent-color: var(--sage-deep);
}
.co-submit {
  width: 100%;
  justify-content: center;
  margin-top: 8px;
}
.co-ok {
  text-align: center;
  padding: 10px 0;
}
.co-ok-ic {
  font-size: 3rem;
  margin-bottom: 12px;
}
.co-ok p {
  color: var(--ink);
  margin-bottom: 16px;
  line-height: 1.5;
}
.co-text {
  width: 100%;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 13px;
  color: var(--ink);
  font-family: monospace;
  font-size: .82rem;
  resize: none;
  margin-bottom: 16px;
  line-height: 1.4;
}
.co-ok-btns {
  display: flex;
  gap: 10px;
}
.co-ok-btns .btn {
  flex: 1;
  justify-content: center;
  padding: 13px;
  font-size: 0.85rem;
}

/* ---- Toast Alerts ---- */
.toast {
  position: fixed;
  bottom: 26px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: var(--sage-deep);
  color: #fff;
  font-weight: 700;
  font-size: .88rem;
  padding: 13px 22px;
  border-radius: 40px;
  z-index: 2000;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, transform .3s, visibility .3s;
  box-shadow: 0 10px 30px rgba(94, 113, 82, 0.25);
  display: flex;
  align-items: center;
  gap: 8px;
}
.toast.show {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

/* ---- Media Queries (Адаптивність) ---- */
@media(max-width:960px) {
  body {
    background-attachment: scroll;
  }
  .menu {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(230, 220, 207, 0.6);
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
    gap: 16px;
  }
  .menu.show {
    display: flex;
  }
  .menu a::after {
    display: none;
  }
  .burger {
    display: block;
  }
  .hero-grid, .about-grid {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 40px;
  }
  .hero-glass-card, .about-text .glass-card {
    padding: 30px 20px;
  }
  .hero-actions, .msgs {
    justify-content: center;
  }
  .hero-image-container, .about-image-container {
    height: 380px;
    max-width: 380px;
  }
  .pills, .rev-grid, .grid, .featured-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .feat-card {
    height: 320px;
  }
  section {
    padding: 70px 0;
  }
  header {
    width: calc(100% - 20px) !important;
    margin: 10px auto !important;
  }
  .picker {
    left: 20px;
    bottom: 20px;
    padding: 8px 12px;
  }
}

@media(max-width:520px) {
  .hero-image-container, .about-image-container {
    height: 320px;
    max-width: 320px;
  }
  .about-badge {
    width: 90px;
    height: 90px;
    bottom: 10px;
    right: 10px;
  }
  .about-badge .num {
    font-size: 1.8rem;
  }
  .co-modal {
    width: 100%;
    height: 100%;
    max-height: 100vh;
    border-radius: 0;
  }
  .co-inner {
    height: 100%;
    max-height: 100vh;
  }
}

/* ============================================================
   PAVUMI — Карточки товарів, сітка та таби
   ============================================================ */

/* ---- Сітка товарів у модалці ---- */
.grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 20px;
}

/* ---- Картки товарів (Преміальний дизайн) ---- */
.card {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.3s;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow);
  border-color: var(--sage-deep);
}
.card .ph {
  height: 220px;
  position: relative;
  overflow: hidden;
  background: var(--bg-cream);
  display: flex;
  align-items: center;
  justify-content: center;
}
.prod-img-bg {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.card:hover .prod-img-bg {
  transform: scale(1.06);
}
.card .body {
  padding: 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.card h4 {
  font-family: var(--serif);
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--sage-deep);
}
.card .desc {
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.5;
  flex: 1;
}

/* ---- Посилання на деталі (Склад / Застосування) ---- */
.info-buttons {
  display: flex;
  gap: 14px;
  margin: 6px 0;
}
.info-link {
  background: transparent;
  border: none;
  color: var(--sage-mid);
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s;
}
.info-link:hover {
  color: var(--sage-deep);
}

.card .row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}
.card .price {
  color: var(--price);
  font-weight: 800;
  font-size: 1.25rem;
}
.card .add {
  background: var(--sage);
  color: var(--sage-deep);
  border: 0;
  border-radius: 30px;
  padding: 10px 18px;
  font-weight: 700;
  font-size: 0.82rem;
  cursor: pointer;
  transition: background 0.25s, color 0.25s, transform 0.15s;
}
.card .add:hover {
  background: var(--sage-deep);
  color: #fff;
  transform: translateY(-1px);
}
.tag {
  position: absolute;
  top: 16px;
  left: 16px;
  background: var(--price);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 20px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* ---- Категорії / Таби в модалці ---- */
.cat-tabs {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin: 24px 0 40px;
}
.tab-btn {
  background: transparent;
  border: 1px solid var(--line);
  color: var(--ink);
  font-family: var(--sans);
  font-weight: 600;
  font-size: 0.88rem;
  padding: 11px 24px;
  border-radius: 30px;
  cursor: pointer;
  transition: background 0.25s, color 0.25s, border-color 0.25s, transform 0.15s;
}
.tab-btn:hover {
  border-color: var(--sage-deep);
  color: var(--sage-deep);
}
.tab-btn:active {
  transform: scale(0.97);
}
.tab-btn.active {
  background: var(--sage-deep);
  color: #fff;
  border-color: var(--sage-deep);
  box-shadow: 0 4px 15px rgba(94, 113, 82, 0.15);
}

/* ---- Додаткові медіа-запити для модального каталогу ---- */
@media(max-width:960px) {
  .grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
@media(max-width:640px) {
  .grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .catalog-modal {
    padding: 40px 16px;
  }
  .catalog-modal-close {
    top: -10px;
    right: 5px;
  }
}

/* ============================================================
   WP / Astra / WooCommerce адаптації (зберігаємо оригінальний вигляд)
   ============================================================ */
/* приховати дефолтний Astra хедер/футер — у нас свій glass */
.site-header, .ast-above-header-wrap, .ast-below-header-wrap,
#ast-desktop-header, #ast-mobile-header, .ast-mobile-header-wrap{display:none!important}
.site-content{padding:0!important;margin:0!important}
.site-content > .ast-container{display:block!important;max-width:100%!important;padding:0!important;margin:0!important}
#primary, .content-area, .site-main, #main, .entry-content, .ast-article-single{
  display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;float:none!important;border:0!important;background:transparent!important}
#secondary{display:none!important}
.ast-separate-container{padding:0!important;background:transparent!important}
.pv-main{min-height:50vh}

/* іконка кошика з лічильником */
.cart-link{position:relative;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  background:var(--sage-deep);color:#fff;transition:transform .2s}
.cart-link:hover{transform:translateY(-2px);color:#fff}
.cart-link svg{width:18px;height:18px}
.cart-count{position:absolute;top:-5px;right:-5px;background:var(--gold);color:#fff;font-size:.64rem;
  font-weight:800;min-width:18px;height:18px;border-radius:10px;display:grid;place-items:center;padding:0 4px}

/* WooCommerce картки товарів — у стилі оригінальних .card (glass) */
.woocommerce ul.products, ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:24px;
  list-style:none;margin:0!important;padding:0!important}
.woocommerce ul.products li.product, ul.products li.product{width:auto!important;margin:0!important;float:none!important;
  background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid var(--glass-border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s;text-align:left;padding:0!important}
.woocommerce ul.products li.product:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.woocommerce ul.products li.product a img{margin:0!important;border-radius:0;width:100%;aspect-ratio:1/1;object-fit:cover}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--sans)!important;
  font-size:1rem!important;font-weight:700!important;padding:16px 18px 4px!important;color:var(--ink)}
.woocommerce ul.products li.product .price{display:block;padding:0 18px;color:var(--price)!important;font-weight:800;font-size:1.15rem}
.woocommerce ul.products li.product .price del{color:var(--muted)!important;font-weight:500;font-size:.85rem}
.woocommerce ul.products li.product .button, .woocommerce ul.products li.product .added_to_cart{
  margin:14px 18px 20px!important;background:var(--sage-deep)!important;color:#fff!important;border-radius:30px!important;
  font-weight:700!important;font-size:.82rem!important;padding:11px 16px!important;text-align:center;text-transform:none!important;
  transition:transform .2s,box-shadow .2s}
.woocommerce ul.products li.product .button:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(94,113,82,.28)}
.woocommerce ul.products li.product .onsale{background:var(--price);color:#fff;border-radius:20px;left:12px;top:12px;min-height:auto;padding:4px 12px}

/* WooCommerce сторінки (shop/товар/кошик/checkout) */
.woocommerce, .woocommerce-page{font-family:var(--sans)}
.pv-shop-wrap{max-width:1140px;margin:0 auto;padding:130px 24px 90px}
.woocommerce-products-header__title, h1.woocommerce-products-header__title,
.woocommerce div.product .product_title, .woocommerce .cart_totals h2, #order_review_heading{
  font-family:var(--serif);color:var(--sage-deep)}
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt{
  background:var(--sage-deep)!important;color:#fff!important;border-radius:30px!important;font-weight:700!important;
  padding:13px 24px!important;text-transform:none!important;transition:transform .2s,box-shadow .2s}
.woocommerce a.button:hover, .woocommerce button.button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(94,113,82,.28)}
.woocommerce span.price, .woocommerce div.product p.price{color:var(--price)!important;font-weight:800}
/* WooCommerce Blocks (cart/checkout) */
.wc-block-components-button:not(.is-link), .wp-block-button__link,
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout button.wc-block-components-button{
  background-color:var(--sage-deep)!important;background-image:none!important;color:#fff!important;
  border-radius:30px!important;font-weight:700!important}
.glass-card, .wc-block-checkout__sidebar, .wp-block-woocommerce-checkout-order-summary-block{
  background:var(--glass-bg)!important}

/* ---- Mobile header fix (QA 2026-06-30): прибрати дублі IG/TG (є floating-кнопки), дати лого простір ---- */
@media(max-width:640px){
  header .nav-cta .icon-btn{display:none!important;}
  header .nav-cta{gap:10px;}
  .logo{font-size:1.3rem;letter-spacing:0.1em;}
  .logo small{letter-spacing:0.2em;font-size:0.46rem;margin-top:2px;}
}
@media(max-width:380px){
  .logo{font-size:1.12rem;}
  header .nav-cta{gap:8px;}
}

/* ============================================================
   PAVUMI — Оновлення 2026-07-01: читабельність, хіти, футер
   ============================================================ */

/* Заголовки секцій — єдиний брендовий високий контраст */
.sec-title{
  font-size:clamp(2.1rem,5vw,3.1rem);
  line-height:1.16;
  font-weight:700;
  color:#2a3226;               /* глибокий зелено-вугільний, чіткий на світлому фоні */
  letter-spacing:-0.01em;
}
/* Читабельніший ввідний текст */
.lead{ color:#565a4f; }
.eyebrow{ color:#556349; }      /* трохи темніший акцент-лейбл */

/* Хедер: щільніше скло для читабельності меню */
header{ background:rgba(250,248,244,0.62) !important; box-shadow:0 12px 36px rgba(60,70,55,0.13), 0 2px 8px rgba(60,70,55,0.06) !important; border-color:rgba(255,255,255,0.6) !important; }
.menu a, .menu a:link, .menu a:visited{ color:#2c3128; transition:color .15s; }
.menu a:hover, .menu a:focus{ color:var(--sage-deep) !important; }
/* лого й іконки хедера — без браузерного синього в жодному стані */
header .logo, header .logo:link, header .logo:visited, header .logo:hover, header .logo:focus{ color:var(--sage-deep) !important; opacity:1; transition:opacity .15s; }
header .logo:hover{ opacity:.75; }

/* Секції без підкладки отримують спокійне тло під текст */
.reviews-sec{ background:rgba(250,246,240,0.55); }

/* ---- Хіти продажів (картки товарів) ---- */
.prod-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
  margin-top:50px;
}
.prod-card{
  background:var(--glass-bg);
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
  border:1px solid var(--glass-border);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s cubic-bezier(.2,.8,.2,1);
  display:flex;
  flex-direction:column;
}
.prod-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.prod-media{
  position:relative;
  display:block;
  aspect-ratio:1/1;
  background:var(--bg-cream);
  overflow:hidden;
}
.prod-media img{
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .8s cubic-bezier(.16,1,.3,1);
}
.prod-card:hover .prod-media img{ transform:scale(1.05); }
.prod-badge{
  position:absolute; top:12px; left:12px;
  background:var(--price); color:#fff;
  font-size:.66rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  padding:5px 10px; border-radius:20px;
}
.prod-info{
  padding:20px 22px 24px;
  display:flex; flex-direction:column; gap:9px; flex:1;
}
.prod-name{
  font-family:var(--serif);
  font-size:1.22rem; font-weight:600; line-height:1.25;
  color:var(--sage-deep);
}
.prod-name:hover{ color:var(--ink); }
.prod-price{ font-weight:800; color:var(--ink); font-size:1.05rem; }
.prod-price del{ color:var(--muted); font-weight:500; margin-right:6px; opacity:.7; }
.prod-price ins{ text-decoration:none; color:var(--price); }
.pv-add{
  margin-top:auto;
  display:inline-block; text-align:center;
  background:var(--sage-deep); color:#F4F1E9;
  padding:11px 18px; border-radius:30px;
  font-weight:700; font-size:.82rem; letter-spacing:.02em;
  transition:background .2s, transform .2s;
}
.pv-add:hover{ background:#4e5f43; color:#F4F1E9; transform:translateY(-1px); }
.pv-add.loading{ opacity:.55; pointer-events:none; }
.pv-add.added{ opacity:.7; }

/* ---- Футер: компактний + плашка Кузні ---- */
footer{ padding:44px 0 38px; }
footer .logo{ font-family:var(--serif); font-size:1.5rem; letter-spacing:.16em; color:#fff; margin-bottom:14px; }
footer .fmenu{ margin:0 0 18px; font-size:.85rem; }
footer .fmenu a{ color:#CFCBC0; }
footer .fsoc{ display:flex; gap:14px; justify-content:center; margin-bottom:16px; }
footer .fsoc a{
  width:38px; height:38px; border-radius:50%;
  display:grid; place-items:center;
  background:rgba(255,255,255,0.08); color:#CFCBC0;
  transition:background .2s, color .2s;
}
footer .fsoc a svg{ width:18px; height:18px; }
footer .fsoc a:hover{ background:var(--sage-deep); color:#fff; }
footer .fine{ font-size:.76rem; opacity:.5; margin:0; }
.kuznya-badge{
  display:inline-flex; align-items:center; gap:5px;
  margin-top:18px; font-size:.72rem; letter-spacing:.04em;
  color:rgba(255,255,255,.42); transition:color .2s;
}
.kuznya-badge span{ color:#ff6a1a; font-weight:700; }
.kuznya-badge:hover{ color:rgba(255,255,255,.7); }

/* Акаунт-іконка лишається на мобільному (IG/TG ховаємо — вони у FAB/футері) */
header .nav-cta .icon-btn.acc{ display:grid!important; }

/* ---- Навігація по категоріях на каталозі ---- */
.pv-cat-nav{
  display:flex; flex-wrap:wrap; gap:10px;
  margin:0 0 26px;
}
.pv-chip{
  display:inline-block;
  padding:8px 18px;
  border-radius:30px;
  font-size:.85rem; font-weight:600;
  color:var(--sage-deep);
  background:var(--glass-bg);
  border:1px solid var(--line);
  transition:background .2s, color .2s, border-color .2s;
}
.pv-chip:hover{ border-color:var(--sage-deep); color:var(--sage-deep); }
.pv-chip.active{ background:var(--sage-deep); color:#F4F1E9; border-color:var(--sage-deep); }

/* ---- WooCommerce повідомлення (успіх / інфо / помилка) у бренд-стилі ---- */
.woocommerce-message, .woocommerce-info, .woocommerce-error{
  border-radius:12px;
  padding:14px 18px;
  font-size:.92rem;
  line-height:1.5;
  border:0;                 /* скинути дефолтні кольорові рамки WooCommerce (синій border-top в info) */
  border-left:4px solid;
  list-style:none;
  margin:0 0 20px;
  background:#fff;
}
.woocommerce-message{ border-left-color:var(--sage-deep); color:#2a3226; background:rgba(110,129,102,.08); }
.woocommerce-info{ border-left-color:var(--gold); color:#5a4a26; background:rgba(210,176,122,.12); }
.woocommerce-error{ border-left-color:var(--price); color:#7a2f38; background:rgba(168,92,99,.09); }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button{ float:right; }
/* прибрати битий icon-font гліф WooCommerce (::before) — вебшрифт «WooCommerce» не підвантажений,
   тож замість іконки показувався синій tofu-квадратик поверх тексту. Site-wide, усі типи нотіфаїв
   (вкл. порожній кошик .cart-empty, «Обране», помилки входу/чекауту, «купон застосовано» тощо). */
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before,
.woocommerce-noreviews::before, .woocommerce-Message::before,
.cart-empty::before, .woocommerce ul.woocommerce-error li::before{ content:none !important; display:none !important; }
/* блокові нотіси (cart/checkout blocks) */
.wc-block-components-notice-banner.is-success{ border-color:var(--sage-deep); }
.wc-block-components-notice-banner.is-error{ border-color:var(--price); }

/* ---- Мобільний overflow-guard: fixed off-canvas drawer не має розсувати сторінку ---- */
html{ overflow-x:hidden; }
.cart-overlay, .cart-drawer{ max-width:100vw; }
.cart-drawer:not(.show){ visibility:hidden; }

/* ---- Читабельність: світла вуаль над строкатим фоновим фото ---- */
body::after{
  content:"";
  position:fixed; inset:0; z-index:-1;
  background:var(--bg);
  opacity:.55;
  pointer-events:none;
}

/* Компактніша головна (менше «повітря») */
section{ padding:92px 0; }

/* ---- Hero: щільна картка + контрастний заголовок ---- */
.hero{ min-height:auto; padding:70px 0 40px; }
.hero-glass-card{
  background:rgba(255,255,255,0.92);
  border-color:rgba(255,255,255,0.9);
  box-shadow:0 24px 60px rgba(94,113,82,0.14);
}
.hero h1{ color:#3c4a33; }
.hero h1 em{ color:var(--sage-deep); }
.hero .lead{ color:#4c5045; }

@media(max-width:900px){
  .prod-grid{ grid-template-columns:repeat(2,1fr); gap:20px; }
}
@media(max-width:560px){
  .prod-grid{ grid-template-columns:repeat(2,1fr); gap:14px; }
  .prod-info{ padding:14px 14px 18px; }
  .prod-name{ font-size:1.05rem; }
}

/* ============================================================
   PAVUMI — QA-правки каталогу (мобілка) 2026-07-04
   ============================================================ */
/* вага/об'єм поруч із сумою (всередині .price) — каталог + сторінка товару */
/* .pv-price-weight — стиль нижче (уніфікований чіп) */
/* кнопка «У кошик» притиснута донизу → картки рівні по висоті */
.woocommerce ul.products li.product .button, .woocommerce ul.products li.product .added_to_cart{ margin-top:auto!important; }

/* захист від горизонтального overflow каталогу */
.pv-shop-wrap{ overflow-x:clip; }

/* прибрати «Переглянути кошик» після AJAX-додавання (тихе +1) */
.woocommerce a.added_to_cart, a.added_to_cart.wc-forward { display:none !important; }

/* Карусель «Хіти продажів» на головній — стрічка зі стрілками */
.hits-carousel{ position:relative; margin-top:40px; }
.hits-track{ display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x proximity; padding:8px 4px 22px; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.hits-track::-webkit-scrollbar{ display:none; }
.hits-track .prod-card{ flex:0 0 clamp(240px,42vw,290px); scroll-snap-align:start; margin:0; }
/* вага — збоку від ціни через слеш (як Буляк), уніфіковано */
.prod-weight, .pv-price-weight{ display:inline; margin:0; padding:0; background:none; border-radius:0; font-size:.92rem; font-weight:600; color:#9a978a; white-space:nowrap; vertical-align:baseline; }
.prod-weight::before{ content:none; }
.pv-price-weight{ margin-left:2px; }
.pv-price-weight::before{ content:"/"; margin:0 7px; color:#c3c0b2; font-weight:600; }
/* картки хітів: компактні, центровані, текст трохи більший */
.hits-track{ align-items:flex-start; }
.hits-track .prod-card{ flex-basis:clamp(228px,40vw,264px); }
.hits-track .prod-media{ aspect-ratio:4/3.4; }
.hits-track .prod-info{ text-align:center; align-items:center; padding:14px 16px 18px; gap:0; }
.hits-track .prod-name{ font-size:1.09rem; line-height:1.3; margin-bottom:9px; min-height:2.6em; display:flex; align-items:center; justify-content:center; }
.hits-track .prod-price{ margin-top:0; padding-top:0; font-size:1.28rem; font-weight:800; color:var(--sage-deep,#55674e); }
.hits-track .pv-add{ margin-top:13px !important; min-width:140px; padding:10px 18px; }

/* Відгуки — fade-слайдер (один відгук по центру, авто + стрілки/крапки) */
.rev-slider{ max-width:720px; margin:10px auto 0; }
.rev-slider.reveal{ opacity:0; transform:scale(.97); transition:opacity .6s ease, transform .6s ease; }
.rev-slider.reveal.in{ opacity:1; transform:none; }
.rev-track{ display:grid; background:rgba(252,250,245,.88); border:1px solid rgba(110,129,102,.14); border-radius:24px; box-shadow:0 18px 46px rgba(94,113,82,.1); padding:42px 44px; }
.rev-slide{ grid-area:1/1; opacity:0; transform:translateY(10px); transition:opacity .55s ease, transform .55s ease; pointer-events:none; text-align:center; margin:0; padding:0; }
@media(max-width:640px){ .rev-track{ padding:30px 22px; border-radius:18px; } }
.rev-slide.is-active{ opacity:1; transform:none; pointer-events:auto; }
.rev-slide .stars{ color:#d8a24a; font-size:1.35rem; letter-spacing:4px; margin-bottom:18px; }
.rev-slide blockquote{ font-family:var(--serif); font-size:clamp(1.12rem,2.2vw,1.42rem); line-height:1.55; color:#3c4a33; margin:0 0 20px; }
.rev-slide figcaption{ font-weight:700; color:var(--sage-deep); font-size:1rem; }
.rev-slide figcaption span{ color:var(--muted); font-weight:500; }
.rev-nav{ display:flex; align-items:center; justify-content:center; gap:18px; margin-top:26px; }
.rev-arrow{ width:44px; height:44px; min-width:44px; padding:0; border-radius:12px; border:1px solid var(--glass-border,#d8dcd0); background:#fff; color:var(--sage-deep); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 4px 14px rgba(60,70,55,.1); transition:background .15s, color .15s, transform .15s; }
.rev-arrow:hover{ background:var(--sage-deep); color:#fff; transform:translateY(-2px); }
.rev-arrow svg{ width:20px; height:20px; }
.rev-dots{ display:flex; gap:8px; }
.rev-dot{ width:9px; height:9px; border-radius:50%; border:0; padding:0; background:rgba(110,129,102,.3); cursor:pointer; transition:transform .2s, background .2s; }
.rev-dot.is-active{ background:var(--sage-deep); transform:scale(1.25); }
/* стрілки — у шапці каруселі, справа зверху (не overlay) */
.hits-controls{ display:flex; justify-content:flex-end; gap:10px; margin:0 4px 14px; }
.hits-nav{ width:46px !important; height:46px !important; min-width:46px !important; padding:0 !important; border-radius:12px; border:1px solid var(--glass-border,#d8dcd0); background:#fff;
  color:var(--sage-deep); cursor:pointer; box-shadow:0 4px 14px rgba(60,70,55,.1); box-sizing:border-box;
  display:inline-flex !important; align-items:center; justify-content:center; transition:transform .15s, background .15s, color .15s, opacity .15s; }
.hits-nav svg{ width:20px; height:20px; display:block; }
.hits-nav:hover{ background:var(--sage-deep); color:#fff; transform:translateY(-2px); }
.hits-nav:disabled{ opacity:.35; cursor:default; box-shadow:none; }
.hits-nav:disabled:hover{ background:#fff; color:var(--sage-deep); transform:none; }
/* hover карток хітів — стримано, у стилістиці (без вогників/іконок) */
.hits-track .prod-card{ transition:transform .28s cubic-bezier(.2,.7,.3,1), box-shadow .28s; }
.hits-track .prod-card:hover{ transform:translateY(-6px); box-shadow:0 20px 42px rgba(60,70,55,.16); }
.hits-track .prod-card .prod-img, .hits-track .prod-media img{ transition:transform .4s ease; }
.hits-track .prod-card:hover .prod-img, .hits-track .prod-card:hover .prod-media img{ transform:scale(1.04); }
@media(max-width:640px){ .hits-nav{ width:42px; height:42px; font-size:1.4rem; } .hits-prev{ left:0; } .hits-next{ right:0; } }

/* ============ КАТАЛОГ: картки як хіти + чистий вступ (QA 2026-07-06) ============ */
/* прибрати breadcrumb, «Показано N», категорію-лейбл над назвою */
.woocommerce .woocommerce-breadcrumb, .woocommerce-breadcrumb{ display:none !important; }
.woocommerce .woocommerce-result-count, .woocommerce-result-count{ display:none !important; }
.ast-woo-product-category{ display:none !important; }
/* картки товарів — точно як хіти (компактне фото + центр, ціна-акцент, вага-слеш) */
.woocommerce ul.products li.product{ text-align:center !important; }
.woocommerce ul.products li.product a img{ aspect-ratio:4/3.4 !important; }
/* Єдиний шаблон картки: фіксовані зони — назва/ціна/кнопка завжди на одному рівні,
   незалежно від довжини назви, знижок чи ваги. Кнопка притиснута донизу, симетрично. */
.woocommerce ul.products li.product .astra-shop-summary-wrap{ padding:14px 16px 16px !important; display:flex; flex-direction:column; align-items:center; flex:1 1 auto; gap:10px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-family:var(--serif) !important; font-size:1.12rem !important; font-weight:600 !important; line-height:1.3 !important; padding:0 !important; margin:0 !important; color:var(--ink) !important; text-align:center; height:3.5em; display:-webkit-box !important; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; align-content:center; }
.woocommerce ul.products li.product .price{ text-align:center; font-size:1.32rem !important; font-weight:800 !important; color:var(--sage-deep,#55674e) !important; padding:0 !important; margin:0 !important; min-height:1.5em; display:flex; align-items:center; justify-content:center; gap:6px; flex-wrap:wrap; }
.woocommerce ul.products li.product .price .pv-price-weight{ display:inline; margin:0; }
.woocommerce ul.products li.product .button, .woocommerce ul.products li.product .added_to_cart{ margin:auto auto 0 !important; min-width:140px; }
/* відступ між каталогом і футером */
.woocommerce ul.products{ margin-bottom:60px !important; }
.woocommerce nav.woocommerce-pagination{ margin-bottom:50px; }
/* порожній розділ — бренд-повідомлення */
.pv-empty{ text-align:center; max-width:460px; margin:40px auto 70px; padding:40px 28px; background:rgba(252,250,245,.7); border:1px solid rgba(110,129,102,.14); border-radius:20px; }
.pv-empty-ic{ display:inline-flex; width:76px; height:76px; align-items:center; justify-content:center; background:#eef2e9; border-radius:50%; margin-bottom:18px; }
.pv-empty h3{ font-family:var(--serif); font-size:1.4rem; color:var(--sage-deep); margin:0 0 10px; }
.pv-empty p{ color:#6b6b62; line-height:1.6; margin:0 0 22px; }
.pv-empty .btn{ display:inline-block; }

/* прибрати Astra hover-кнопку «кошик» на фото картки (лишаємо сердечко + кнопку під карткою) */
.ast-on-card-button, .astra-shop-thumbnail-wrap .ast-on-card-button, li.product .ast-on-card-button{ display:none !important; }

/* ===== Обране (wishlist) ===== */
.wishlist-link{ position:relative; transition:color .15s; }
.wishlist-link.is-active{ color:var(--sage-deep); background:rgba(110,129,102,.14); }
.wishlist-link.is-active svg{ fill:currentColor; }
.wishlist-link .wish-count{ position:absolute; top:-5px; right:-5px; background:#c9a04a; color:#fff; font-size:.62rem; font-weight:800; min-width:17px; height:17px; border-radius:10px; display:none; place-items:center; padding:0 4px; }
.wishlist-link .wish-count.on{ display:grid; }
.woocommerce ul.products li.product .pav-wish-btn, .hits-track .prod-card .pav-wish-btn{ position:absolute; top:12px; right:12px; z-index:5; width:38px; height:38px; border-radius:50%; border:0; background:rgba(255,255,255,.92); color:var(--sage-deep); display:grid; place-items:center; cursor:pointer; box-shadow:0 4px 12px rgba(60,70,55,.15); transition:transform .15s, color .15s; padding:0; }
.hits-track .prod-card{ position:relative; }
.pav-wish-btn svg{ width:19px; height:19px; fill:none; transition:fill .15s; }
.pav-wish-btn:hover{ transform:scale(1.08); }
.pav-wish-btn.is-active{ color:var(--price,#a85c56); }
.pav-wish-btn.is-active svg{ fill:currentColor; }
/* сердечко на сторінці товару — на фото (кут галереї, як на картках) */
.single-product .woocommerce-product-gallery{ position:relative; }
.single-product .woocommerce-product-gallery .pav-wish-single{ position:absolute; top:24px; right:24px; z-index:5; width:44px; height:44px; margin:0; border-radius:50%; border:0; background:rgba(255,255,255,.92); color:var(--sage-deep); box-shadow:0 4px 14px rgba(60,70,55,.16); display:grid; place-items:center; cursor:pointer; transition:transform .15s; padding:0; }
.single-product .woocommerce-product-gallery .pav-wish-single:hover{ transform:scale(1.08); }
.pav-wish-single.is-active{ color:var(--price,#a85c56); }
.pav-wish-single.is-active svg{ fill:currentColor; }
.pav-wish-single svg{ width:22px; height:22px; fill:none; }
/* прибрати значок лупи (zoom) з фото товару — збільшення й так інтуїтивне */
.single-product .woocommerce-product-gallery__trigger{ display:none !important; }
/* галерея: клік = збільшення (lightbox), без hover-ефектів переміщення */
.single-product .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery img{ transition:none !important; transform:none !important; }
.single-product .woocommerce-product-gallery__image:hover img,
.single-product .woocommerce-product-gallery img:hover{ transform:none !important; }
.single-product .woocommerce-product-gallery__image a{ cursor:zoom-in; }
/* бейдж знижки «-N%» */
.pv-sale, .woocommerce span.onsale{ background:var(--price,#a85c56) !important; color:#fff !important; border-radius:99px !important; font-weight:700 !important; font-size:.72rem !important; letter-spacing:.02em; padding:5px 11px !important; min-height:auto !important; line-height:1.2 !important; margin:0 !important; }
.woocommerce ul.products li.product .onsale{ position:absolute; top:12px; left:12px; right:auto; z-index:5; }
.woocommerce ul.products li.product:has(.onsale) .pv-loop-hit{ top:50px; }
.single-product .woocommerce-product-gallery .onsale{ position:absolute; top:24px; left:24px; z-index:5; }
/* хіт-бейдж на фото сторінки товару (як на картках) */
.single-product div.product{ position:relative; }
.pv-single-hit{ position:absolute; top:24px; left:24px; z-index:6; background:var(--sage-deep); color:#fff; font-size:.72rem; font-weight:700; padding:5px 12px; border-radius:99px; letter-spacing:.02em; box-shadow:0 4px 12px rgba(60,70,55,.2); }
.single-product div.product:has(.onsale) .pv-single-hit{ top:58px; }
.single-product .product_meta .tagged_as, .single-product .product_meta .sku_wrapper{ display:none !important; }
.single-product div.product p.price del{ color:var(--muted,#8a8a82) !important; font-weight:500; margin-right:8px; opacity:.75; }
.single-product div.product p.price ins{ text-decoration:none; }
/* таби Опис/Відгуки — картка для читабельності поверх фону */
.single-product .woocommerce-tabs{ background:rgba(252,250,245,.92); border:1px solid rgba(110,129,102,.14); border-radius:20px; padding:28px 34px 34px; margin-top:34px; box-shadow:0 14px 40px rgba(94,113,82,.08); }
.single-product .woocommerce-tabs ul.tabs{ border:0; padding:0 0 6px; margin:0 0 18px; display:flex; gap:22px; }
.single-product .woocommerce-tabs ul.tabs::before{ display:none; }
.single-product .woocommerce-tabs ul.tabs li{ border:0 !important; background:none !important; padding:0; margin:0; border-radius:0; }
.single-product .woocommerce-tabs ul.tabs li::before, .single-product .woocommerce-tabs ul.tabs li::after{ display:none !important; }
.single-product .woocommerce-tabs ul.tabs li a{ font-family:var(--serif); font-size:1.1rem; color:#8a8a7c !important; padding:6px 0; border-bottom:2px solid transparent; }
.single-product .woocommerce-tabs ul.tabs li.active a{ color:var(--sage-deep) !important; border-bottom-color:var(--sage-deep); }
.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2{ color:var(--sage-deep); }
/* форма відгуку — компактніша */
.single-product #review_form_wrapper{ max-width:620px; }
.single-product .comment-form-rating label{ margin-right:10px; }
.single-product #review_form .comment-form-comment textarea{ border:1px solid var(--glass-border,#d8dcd0); border-radius:12px; padding:12px 14px; }
.single-product #review_form input[type=submit]{ background:var(--sage-deep) !important; color:#fff !important; border-radius:30px !important; padding:12px 26px !important; }
.pav-wish-page{ max-width:1140px; margin:0 auto; }
.pav-wish-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:20px; margin:16px 0 50px; align-items:stretch; }
.pav-wish-card{ position:relative; }
.pav-wish-card .prod-media{ aspect-ratio:4/3.4; }
.pav-wish-card .prod-info{ text-align:center; align-items:center; padding:14px 16px 18px; gap:0; }
.pav-wish-card .prod-name{ font-size:1.05rem; line-height:1.3; margin-bottom:9px; min-height:2.6em; display:flex; align-items:center; justify-content:center; }
.pav-wish-card .prod-price{ font-size:1.2rem; font-weight:800; color:var(--sage-deep); }
.pav-wish-card .pv-add{ margin-top:13px; color:#F4F1E9 !important; padding:10px 20px; font-weight:700; font-size:.82rem; }
.pav-wish-card .pv-add:hover{ color:#F4F1E9 !important; }
.pav-wish-card .pav-wish-btn{ position:absolute; top:12px; right:12px; z-index:4; width:38px; height:38px; border-radius:50%; border:0; background:rgba(255,255,255,.92); color:var(--price,#a85c56); display:grid; place-items:center; cursor:pointer; box-shadow:0 4px 12px rgba(60,70,55,.15); padding:0; transition:transform .15s; }
.pav-wish-card .pav-wish-btn svg{ width:19px; height:19px; fill:currentColor; }
.pav-wish-card .pav-wish-btn:hover{ transform:scale(1.08); }

/* бейдж «★ Хіт» на картках каталогу */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{ position:relative; }
.pv-loop-hit{ position:absolute; top:12px; left:12px; z-index:3; background:var(--sage-deep); color:#fff; font-size:.7rem; font-weight:700; padding:4px 11px; border-radius:99px; letter-spacing:.02em; box-shadow:0 4px 12px rgba(60,70,55,.2); }

/* сортування — компактна іконка в рядку чіпсів + кастомний dropdown */
.pv-cat-nav{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.pv-cat-nav .woocommerce-ordering{ margin:0 0 0 auto; }
.woocommerce .woocommerce-ordering select{ display:none !important; }
.pv-sort{ position:relative; display:inline-block; text-align:left; }
.pv-sort-btn{ display:inline-flex; align-items:center; gap:6px; border-radius:99px; padding:10px 13px; cursor:pointer; transition:border-color .15s, background .15s; }
.pv-sort-btn, .pv-sort-btn:hover, .pv-sort-btn:focus, .pv-sort-btn:active{ background:#fff !important; color:var(--sage-deep) !important; border:1px solid var(--glass-border,#d8dcd0) !important; box-shadow:0 2px 8px rgba(60,70,55,.06) !important; outline:none !important; }
.pv-sort-btn:hover{ border-color:var(--sage-deep) !important; }
.pv-sort-btn .pv-sort-ico{ width:18px; height:18px; }
.pv-sort-btn .pv-sort-cap{ display:none !important; }
.pv-sort.open .pv-sort-btn{ border-color:var(--sage-deep) !important; }
.pv-sort-btn:hover{ border-color:var(--sage-deep); }
.pv-sort-btn svg{ width:14px; height:14px; transition:transform .2s; flex:none; }
.pv-sort.open .pv-sort-btn svg{ transform:rotate(180deg); }
.pv-sort-list{ position:absolute; top:calc(100% + 6px); right:0; min-width:100%; background:#fff; border:1px solid var(--glass-border,#d8dcd0); border-radius:12px; box-shadow:0 12px 30px rgba(60,70,55,.14); padding:5px; z-index:60; display:none; flex-direction:column; }
.pv-sort.open .pv-sort-list{ display:flex; }
.pv-sort-opt{ text-align:left; background:none; border:0; padding:8px 13px; border-radius:8px; font-family:var(--sans); font-size:.83rem; color:#3c434a; cursor:pointer; white-space:nowrap; transition:background .12s; }
.pv-sort-opt:hover{ background:rgba(110,129,102,.1); }
.pv-sort-opt.is-active{ background:var(--sage-deep); color:#fff; font-weight:600; }

/* пагінація каталогу — у бренд-стилі (замість браузерних синіх кнопок) */
.woocommerce nav.woocommerce-pagination ul, .woocommerce-pagination ul{ border:0!important; display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:34px 0 0; }
.woocommerce nav.woocommerce-pagination ul li, .woocommerce-pagination ul li{ border:0!important; margin:0; overflow:visible; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span{
  min-width:44px; height:44px; line-height:44px; padding:0 6px; border:1px solid var(--glass-border,#d8dcd0)!important; border-radius:12px;
  background:#fff; color:var(--sage-deep)!important; font-weight:700; transition:.15s; box-shadow:0 2px 8px rgba(60,70,55,.05); }
.woocommerce nav.woocommerce-pagination ul li span.current{ background:var(--sage-deep)!important; color:#fff!important; border-color:var(--sage-deep)!important; }
.woocommerce nav.woocommerce-pagination ul li a:hover{ background:rgba(110,129,102,.1); border-color:var(--sage-deep)!important; transform:translateY(-1px); }

/* кнопки: hover без розтягування букв (лишаємо лише рух+тінь) */
.btn, .btn:hover, .btn:focus, .btn.ghost:hover { letter-spacing:0.02em !important; }
/* секція «Як народжується засіб» — декоративні номери кроків */
.pv-steps .pill{ position:relative; overflow:hidden; }
.pv-steps .pv-step-num{ position:absolute; top:12px; right:20px; font-family:var(--serif); font-size:3.6rem; font-weight:700; color:rgba(110,129,102,.14); line-height:1; pointer-events:none; }

/* прибрати браузерний СИНІЙ текст/фокус на кнопках-посиланнях у всіх станах */
.btn, .btn:link, .btn:visited, .btn:hover, .btn:focus, .btn:active { color:#F4F1E9 !important; }
.btn.ghost, .btn.ghost:link, .btn.ghost:visited { color:var(--sage-deep) !important; }
.btn.ghost:hover, .btn.ghost:focus, .btn.ghost:active { color:#F4F1E9 !important; }
.btn:focus, .hits-nav:focus, .pv-add:focus { outline:none; }
.btn:focus-visible, .hits-nav:focus-visible { box-shadow:0 0 0 3px rgba(110,129,102,.4) !important; }
.hits-nav, .hits-nav:link, .hits-nav:visited, .hits-nav:focus, .hits-nav:active { color:var(--sage-deep) !important; background:rgba(255,255,255,.92) !important; }
.hits-nav:hover { color:#fff !important; background:var(--sage-deep) !important; }
/* бейдж «Хіт» на картках каруселі */
.prod-media{ position:relative; }
.prod-badge--hit{ position:absolute; top:12px; left:12px; z-index:2; background:var(--sage-deep); color:#fff !important; font-size:.72rem; font-weight:700; padding:4px 11px; border-radius:99px; letter-spacing:.02em; box-shadow:0 4px 12px rgba(60,70,55,.2); }
.prod-badge--sale{ position:absolute; top:12px; right:12px; z-index:2; background:var(--price,#a85c56); color:#fff !important; font-size:.72rem; font-weight:700; padding:4px 11px; border-radius:99px; }
/* прибрати зайву велику плашку-заголовок на всіх архівах товарів (чіпси зверху вже показують розділ) */
.tax-product_cat .woocommerce-products-header,
.tax-product_tag .woocommerce-products-header,
.woocommerce-shop .woocommerce-products-header { display:none !important; }

/* B: галерея товару — акуратна брендова картка (консистентно з каталогом) */
.single-product div.product .woocommerce-product-gallery{
  background:#fff; border:1px solid var(--glass-border); border-radius:var(--radius);
  padding:12px; box-shadow:var(--shadow-sm); margin:0 auto; }
.single-product div.product .woocommerce-product-gallery__image img{ border-radius:12px; }
.single-product div.product .woocommerce-product-gallery__trigger{ top:22px; right:22px; }
/* A: вирівняти контент товару з хедером (1140, центр) */
.single-product .ast-container, .single-product .site-content > .ast-container{ max-width:1140px; margin-left:auto !important; margin-right:auto !important; }
/* B: опис/склад — картка для читабельності поверх фону */
.single-product div.product .entry-summary{ background:rgba(252,250,245,.92); border:1px solid rgba(110,129,102,.14); border-radius:20px; padding:30px 34px; box-shadow:0 14px 40px rgba(94,113,82,.08); }
.single-product div.product .entry-summary .price{ color:var(--sage-deep) !important; }
/* C: категорії/посилання — тонке підкреслення на hover (не синій, не потворний underline) */
.single-product .product_meta a, .single-product .posted_in a, .single-product .entry-summary a, .single-product .ast-woo-product-category, .single-product .ast-woo-product-category a{ color:var(--sage-deep) !important; text-decoration:none !important; border-bottom:1px solid transparent; transition:border-color .15s, color .15s; }
.single-product .product_meta a:hover, .single-product .posted_in a:hover, .single-product .entry-summary a:hover, .single-product .ast-woo-product-category a:hover{ color:var(--sage-deep) !important; border-bottom-color:currentColor; }
/* D: розмежування блоків у картці опису */
.single-product div.product .entry-summary .price{ padding-bottom:18px !important; margin:0 0 18px !important; border-bottom:1px solid rgba(110,129,102,.14); }
.single-product div.product .product_meta{ border-top:1px solid rgba(110,129,102,.14); padding-top:16px; margin-top:20px; font-size:.9rem; }
/* кількість — stepper −/+ */
.single-product form.cart{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:20px; }
.single-product form.cart .button{ margin:0 !important; }
.single-product .quantity{ display:inline-flex; align-items:center; border:1px solid var(--glass-border,#d8dcd0); border-radius:12px; overflow:hidden; background:#fff; box-shadow:0 2px 8px rgba(60,70,55,.05); }
.single-product .quantity .qbtn{ width:42px; height:46px; border:0; background:none; color:var(--sage-deep); font-size:1.3rem; line-height:1; cursor:pointer; display:grid; place-items:center; transition:background .12s; }
.single-product .quantity .qbtn:hover{ background:rgba(110,129,102,.12); }
.single-product .quantity input.qty{ width:46px; border:0 !important; border-left:1px solid var(--glass-border,#d8dcd0) !important; border-right:1px solid var(--glass-border,#d8dcd0) !important; text-align:center; font-weight:700; color:var(--ink); background:none; padding:12px 0; -moz-appearance:textfield; }
.single-product .quantity input.qty::-webkit-outer-spin-button, .single-product .quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
/* прибрати нотіфай «додано» на сторінці товару (тихе +1) */
.single-product .woocommerce-message, .single-product .wc-forward.button{ display:none !important; }

@media(max-width:768px){
  .pv-shop-wrap{ padding-left:16px!important; padding-right:16px!important; }
  /* РЕАЛЬНИЙ контейнер каталогу на категоріях — дати повітря від країв (назви розділів, чіпси, картки) */
  #primary.content-area{ padding-left:0!important; padding-right:0!important; }
  .ast-woocommerce-container{ padding-left:20px!important; padding-right:20px!important; box-sizing:border-box; }
  /* лічильник + сортування — окремими рядками на всю ширину, не обрізаються */
  .woocommerce .woocommerce-result-count, .woocommerce-result-count{ float:none!important; width:100%; margin:0 0 8px; font-size:.85rem; }
  .woocommerce .woocommerce-ordering, .woocommerce-ordering{ float:none!important; width:100%; margin:0 0 16px; }
  .woocommerce .woocommerce-ordering select, .woocommerce-ordering select{ width:100%; max-width:100%; padding:11px 12px; border-radius:10px; box-sizing:border-box; }
}
@media(max-width:560px){
  /* 2 колонки з нормальними внутрішніми відступами */
  .woocommerce ul.products, ul.products{ grid-template-columns:repeat(2,1fr)!important; gap:12px!important; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:.92rem!important; padding:12px 12px 2px!important; }
  .woocommerce ul.products li.product .price{ padding:0 12px!important; font-size:1.02rem!important; }
  .pv-price-weight{ display:block; margin:3px 0 0; }
  .pv-price-weight::before{ content:none; }
  .woocommerce ul.products li.product .button, .woocommerce ul.products li.product .added_to_cart{ margin:10px 12px 14px!important; padding:10px 12px!important; font-size:.8rem!important; }
}

/* кнопка «Весь каталог» під схожими товарами */
.pv-related-cta{ text-align:center; margin:24px 0 56px; }

/* вибір різновиду (аромат) на сторінці товару */
.pv-variant{ margin:20px 0 6px; }
.pv-variant-label{ font-weight:700; color:var(--sage-deep); display:block; margin-bottom:10px; }
.pv-variant-opts{ display:flex; flex-wrap:wrap; gap:8px; }
.pv-variant-opt{ position:relative; cursor:pointer; }
.pv-variant-opt input{ position:absolute; opacity:0; pointer-events:none; }
.pv-variant-opt span{ display:inline-block; padding:8px 15px; border:1px solid var(--glass-border,#d8dcd0); border-radius:99px; font-size:.88rem; font-weight:600; color:#3c434a; transition:.15s; }
.pv-variant-opt input:checked + span{ background:var(--sage-deep); color:#fff; border-color:var(--sage-deep); }
.pv-variant-opt:hover span{ border-color:var(--sage-deep); }

/* «Схожі товари» — компактніші відступи (менше порожнечі) */
.single-product .related.products, .single-product .up-sells{ margin-top:26px !important; padding-top:24px !important; border-top:1px solid rgba(110,129,102,.12); clear:both; }
.single-product .related.products > h2{ font-family:var(--serif); color:var(--sage-deep); margin:0 0 18px !important; font-size:1.5rem; }
.pv-related-cta{ text-align:center; margin:18px 0 20px !important; }

/* поп-ап вибору різновиду (з картки) */
.pv-modal{ position:fixed; inset:0; z-index:100000; display:grid; place-items:center; }
.pv-modal[hidden]{ display:none; }
.pv-modal-ov{ position:absolute; inset:0; background:rgba(38,44,34,.5); }
.pv-modal-box{ position:relative; z-index:1; background:#fff; border-radius:20px; padding:28px 30px; max-width:440px; width:calc(100% - 40px); box-shadow:0 30px 70px rgba(0,0,0,.25); }
.pv-modal-x{ position:absolute; top:12px; right:16px; border:0; background:none; font-size:1.2rem; color:#8a8a82; cursor:pointer; }
.pv-modal-head{ display:flex; gap:14px; align-items:center; margin-bottom:18px; }
.pv-modal-head img{ width:70px; height:70px; border-radius:12px; object-fit:cover; }
.pv-modal-name{ font-family:var(--serif); font-weight:600; font-size:1.08rem; color:var(--ink); }
.pv-modal-price{ font-weight:800; color:var(--sage-deep); margin-top:4px; }
.pv-modal-qty{ display:flex; align-items:center; gap:12px; margin:16px 0; }
.pv-modal-err{ color:#c0392b; font-size:.85rem; font-weight:600; min-height:1.1em; margin-bottom:6px; }
.pv-modal-add{ width:100%; justify-content:center; }
.pv-m-qty{ display:inline-flex; align-items:center; border:1px solid var(--glass-border,#d8dcd0); border-radius:12px; overflow:hidden; }
.pv-m-qty .qbtn{ width:38px; height:42px; border:0; background:none; color:var(--sage-deep); font-size:1.2rem; cursor:pointer; }
.pv-m-qty .qty{ width:44px; border:0; border-left:1px solid var(--glass-border,#d8dcd0); border-right:1px solid var(--glass-border,#d8dcd0); text-align:center; font-weight:700; padding:10px 0; -moz-appearance:textfield; }
.pv-m-qty .qty::-webkit-outer-spin-button, .pv-m-qty .qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
/* менший відступ над кнопкою «Весь каталог» */
.single-product .related.products ul.products{ margin-bottom:6px !important; }
.pv-related-cta{ margin:0 0 24px !important; }

/* кнопка «Обрати аромат» на сторінці товару + компактні схожі */
.pv-single-choose{ margin-top:20px !important; }
.single-product .related.products ul.products{ margin-bottom:0 !important; }

/* хіти = каталожні Woo-картки в каруселі (уніфіковано з каталогом) */
ul.products.hits-track{ display:flex !important; grid-template-columns:none !important; gap:22px !important; overflow-x:auto; scroll-snap-type:x proximity; padding:8px 4px 22px !important; margin:40px 0 0 !important; scrollbar-width:none; list-style:none; }
ul.products.hits-track::-webkit-scrollbar{ display:none; }
ul.products.hits-track > li.product{ flex:0 0 clamp(228px,40vw,264px) !important; width:auto !important; max-width:none !important; scroll-snap-align:start; margin:0 !important; }

/* Сторінка контактів */
.pv-contacts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; max-width:720px; margin:40px auto 0; }
.pv-contact-card{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:5px; padding:32px 24px; background:var(--glass-bg); border:1px solid var(--glass-border); border-radius:20px; text-decoration:none; color:inherit; box-shadow:var(--shadow-sm); transition:transform .2s, box-shadow .2s; }
.pv-contact-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); color:inherit; }
.pv-contact-ic{ width:64px; height:64px; border-radius:50%; display:grid; place-items:center; margin-bottom:10px; color:#fff; }
.pv-contact-ic svg{ width:30px; height:30px; }
.pv-ic-ig{ background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); }
.pv-ic-tg{ background:linear-gradient(135deg,#2AABEE,#229ED9); }
.pv-contact-t{ font-family:var(--serif); font-size:1.2rem; font-weight:600; color:var(--sage-deep); }
.pv-contact-v{ color:#6b6b62; font-size:.92rem; }
.pv-contact-cta{ margin-top:8px; font-weight:700; color:var(--sage-deep); font-size:.9rem; }
