/*
Theme Name:        Oana Grozavu
Theme URI:         https://oanagrozavu.ro
Author:            Claudiu Panaite — bindweb.ro
Description:       Temă premium WordPress + WooCommerce — Terapie & Mentorat Integrativ
Version:           4.0.0
Requires at least: 6.3
Tested up to:      6.7
Requires PHP:      8.1
License:           Private
Text Domain:       oana-grozavu
*/

/* ═══════════════════════════════════════════════════════════════
   DESIGN TOKENS — Brand Manual Oana Grozavu 2026
   Sursa: Identitate Vizuală PDF
═══════════════════════════════════════════════════════════════ */
:root {
  /* ── Culori Brand ── */
  --color-gold:         #A67C2D;   /* Primary Brand Color */
  --color-gold-mid:     #C9A227;   /* Icon Gradient mid */
  --color-gold-light:   #EBD5A0;   /* Icon Gradient light */
  --color-dark-brown:   #3A3126;   /* Dark Brown — profunzime, stabilitate */
  --color-cream:        #F3E8D3;   /* Cream — calm, echilibru */
  --color-soft-taupe:   #9C8F7A;   /* Soft Taupe — text secundar */

  /* ── Culori Funcționale ── */
  --color-bg:           #FAF8F4;   /* fundal pagina — derivat din cream, ușor mai deschis */
  --color-bg-cream:     #F3E8D3;   /* secțiuni cream */
  --color-bg-dark:      #3A3126;   /* secțiuni dark */
  --color-text:         #3A3126;   /* text principal */
  --color-text-muted:   #9C8F7A;   /* text secundar */
  --color-border:       rgba(58,49,38,0.15);
  --color-border-soft:  rgba(58,49,38,0.08);
  --color-white:        #FFFFFF;
  --color-error:        #B03A2E;
  --color-success:      #1E8449;

  /* ── Tipografie ── */
  /* Canela Regular → Cormorant Garamond ca fallback serif elegant */
  --font-display:  'Canela', 'Cormorant Garamond', 'Georgia', serif;
  --font-body:     'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* ── Scale Tipografic ── */
  --text-h1:      42px;
  --text-h2:      28px;
  --text-h3:      21px;
  --text-h4:      17px;
  --text-h5:      15px;
  --text-body:    15px;   /* text corp principal */
  --text-caption: 13px;   /* texte secundare, meta */
  --text-eyebrow: 11px;   /* uppercase, letter-spacing */
  --text-btn:     11px;   /* butoane — unificate */

  /* ── Layout ── */
  --container-max:   1200px;
  --container-sm:    820px;
  --container-xs:    580px;
  --nav-height:      80px;
  --gap:             clamp(1.25rem, 3vw, 2.5rem);

  /* ── Spacing Scale ── */
  --space-xs:   4px;
  --space-sm:   8px;
  --space-md:   16px;
  --space-lg:   24px;
  --space-xl:   48px;
  --space-2xl:  80px;
  --space-3xl:  120px;

  /* ── Motion ── */
  --ease:      cubic-bezier(0.25, 0.1, 0.25, 1);
  --ease-out:  cubic-bezier(0, 0.55, 0.45, 1);
  --dur-fast:  0.18s;
  --dur:       0.28s;
  --dur-slow:  0.48s;

  /* ── Brand visual rules ──
     • Muchii drepte (border-radius: 0)
     • Linii fine, discrete
     • Fără colțuri rotunjite
     • Fără umbre grele
     • Auriul = accent, nu fundal dominant
  ── */
  --radius:       0;       /* Fără border-radius — brand manual */
  --shadow-none:  none;    /* Fără umbre grele */
  --shadow-soft:  0 1px 3px rgba(58,49,38,0.06);   /* excepție subtilă */
}

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

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  font-size: 16px;
}

body {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: var(--text-body);
  line-height: 1.75;
  color: var(--color-text);
  background-color: var(--color-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.is-locked { overflow: hidden; }

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

svg { flex-shrink: 0; }

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

ul, ol { list-style: none; }

input, select, textarea, button {
  font-family: inherit;
  font-size: inherit;
}

/* ── Global input brand styling — acoperă orice formular de pe site ── */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea {
  width: 100%;
  padding: 9px 12px;
  font-family: var(--font-body);
  font-size: var(--text-caption);
  font-weight: 300;
  color: var(--color-text);
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: 0;
  outline: none;
  transition: border-color var(--dur) var(--ease);
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus {
  border-color: var(--color-gold);
}

input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder,
input[type="url"]::placeholder,
input[type="password"]::placeholder,
textarea::placeholder {
  color: var(--color-soft-taupe);
  opacity: 0.7;
}

textarea {
  resize: vertical;
  min-height: 110px;
  line-height: 1.6;
}

/* Labels globale */
label {
  display: block;
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin-bottom: var(--space-sm);
  cursor: pointer;
}

/* Checkboxes & radio */
input[type="checkbox"],
input[type="radio"] {
  width: 16px;
  height: 16px;
  padding: 0;
  flex-shrink: 0;
  accent-color: var(--color-gold);
  cursor: pointer;
  border-radius: 0;
}

/* Submit buttons globale */
input[type="submit"] {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 32px;
  background-color: var(--color-gold);
  color: var(--color-white);
  border: 1px solid var(--color-gold);
  font-family: var(--font-body);
  font-size: var(--text-caption);
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  transition: background-color var(--dur) var(--ease),
              border-color var(--dur) var(--ease);
  border-radius: 0;
  -webkit-appearance: none;
  appearance: none;
  width: auto;
}

input[type="submit"]:hover {
  background-color: var(--color-dark-brown);
  border-color: var(--color-dark-brown);
}

/* ═══════════════════════════════════════════════════════════════
   TIPOGRAFIE
═══════════════════════════════════════════════════════════════ */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 400;
  line-height: 1.18;
  color: var(--color-dark-brown);
}

h1, .h1 {
  font-size: clamp(28px, 5vw, var(--text-h1));
  line-height: 1.1;
}

h2, .h2 {
  font-size: clamp(22px, 3.5vw, var(--text-h2));
  line-height: 1.15;
}

h3, .h3 {
  font-size: clamp(18px, 2.5vw, var(--text-h3));
}

h4, .h4 { font-size: var(--text-h4); }
h5, .h5 { font-size: var(--text-h5); }

p { margin-bottom: var(--space-md); }
p:last-child { margin-bottom: 0; }

/* Eyebrow — element de identitate vizuală */
.eyebrow {
  display: block;
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-gold);
}

/* Lead text */
.lead {
  font-size: 16px;
  line-height: 1.8;
  color: var(--color-text-muted);
}

/* Caption */
.caption {
  font-size: var(--text-caption);
  color: var(--color-text-muted);
}

/* Display heading */
.display {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 7vw, 5rem);
  font-weight: 300;
  line-height: 1.06;
  letter-spacing: -0.01em;
}

/* Gold rule — linie decorativă fină gold */
.gold-rule {
  display: block;
  width: 32px;
  height: 1px;
  background-color: var(--color-gold);
  margin: var(--space-md) 0;
}

.gold-rule--center { margin-left: auto; margin-right: auto; }

/* ═══════════════════════════════════════════════════════════════
   LAYOUT
═══════════════════════════════════════════════════════════════ */
.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--gap);
}

.container--sm { max-width: var(--container-sm); }
.container--xs { max-width: var(--container-xs); }

.site-main { min-height: 60vh; }

/* Grid System */
.grid { display: grid; gap: var(--space-xl); }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }

/* Flex helpers */
.flex { display: flex; }
.flex-center { display: flex; align-items: center; justify-content: center; }
.flex-between { display: flex; align-items: center; justify-content: space-between; }

/* Sections */
.section {
  padding-block: var(--space-2xl);
}

.section--sm {
  padding-block: var(--space-xl);
}

.section--lg {
  padding-block: var(--space-3xl);
}

.section--cream {
  background-color: var(--color-bg-cream);
}

.section--dark {
  background-color: var(--color-bg-dark);
  color: var(--color-cream);
}

.section--dark h1,
.section--dark h2,
.section--dark h3,
.section--dark h4 {
  color: var(--color-cream);
}

.section-header {
  margin-bottom: var(--space-xl);
}

.section-header--center {
  text-align: center;
}

.section-header--center .gold-rule {
  margin-left: auto;
  margin-right: auto;
}

/* ═══════════════════════════════════════════════════════════════
   BUTTONS — Design System
   Brand: muchii drepte, elegant, minimal
═══════════════════════════════════════════════════════════════ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: 13px 28px;
  font-family: var(--font-body);
  font-size: var(--text-btn);
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1;
  cursor: pointer;
  transition: background-color var(--dur) var(--ease),
              color var(--dur) var(--ease),
              border-color var(--dur) var(--ease);
  border: 1px solid transparent;
  text-decoration: none;
  white-space: nowrap;
}

/* Primary — gold solid */
.btn--primary {
  background-color: var(--color-gold);
  color: var(--color-white);
  border-color: var(--color-gold);
}

.btn--primary:hover,
.btn--primary:focus-visible {
  background-color: var(--color-dark-brown);
  border-color: var(--color-dark-brown);
  color: var(--color-cream);
}

/* Outline — transparent cu border gold */
.btn--outline {
  background-color: transparent;
  color: var(--color-gold);
  border-color: var(--color-gold);
}

.btn--outline:hover,
.btn--outline:focus-visible {
  background-color: var(--color-gold);
  color: var(--color-white);
}

/* Ghost — transparent cu border dark */
.btn--ghost {
  background-color: transparent;
  color: var(--color-dark-brown);
  border-color: var(--color-dark-brown);
}

.btn--ghost:hover,
.btn--ghost:focus-visible {
  background-color: var(--color-dark-brown);
  color: var(--color-cream);
}

/* Dark background variant */
.btn--cream {
  background-color: transparent;
  color: var(--color-cream);
  border-color: var(--color-cream);
}

.btn--cream:hover,
.btn--cream:focus-visible {
  background-color: var(--color-cream);
  color: var(--color-dark-brown);
}

/* Size variants */
.btn--sm { padding: 9px 18px; font-size: var(--text-btn); }
.btn--lg { padding: 15px 36px; font-size: 12px; }
.btn--full { width: 100%; justify-content: center; }

/* ═══════════════════════════════════════════════════════════════
   FORMS — Design System
   Brand: linii fine, câmpuri clare, fără rotunjiri
═══════════════════════════════════════════════════════════════ */
.field {
  margin-bottom: var(--space-lg);
  position: relative;
}

.field__label {
  display: block;
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin-bottom: var(--space-sm);
}

.field__input,
.field__select,
.field__textarea {
  width: 100%;
  padding: 14px 16px;
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: 300;
  color: var(--color-text);
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  outline: none;
  transition: border-color var(--dur) var(--ease);
  appearance: none;
  -webkit-appearance: none;
}

.field__input:focus,
.field__select:focus,
.field__textarea:focus {
  border-color: var(--color-gold);
}

.field__input::placeholder,
.field__textarea::placeholder {
  color: var(--color-soft-taupe);
  opacity: 0.7;
}

.field__textarea { resize: vertical; min-height: 120px; }

.field__select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239C8F7A' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 44px;
  cursor: pointer;
}

/* Field password toggle */
.field-pw { position: relative; }
.field-pw__toggle {
  position: absolute;
  right: 14px;
  bottom: 14px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--color-soft-taupe);
  padding: 0;
  transition: color var(--dur) var(--ease);
}
.field-pw__toggle:hover { color: var(--color-gold); }

/* Checkbox & Radio */
.field--check {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
  cursor: pointer;
}

.field--check input[type="checkbox"],
.field--check input[type="radio"] {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  margin-top: 3px;
  accent-color: var(--color-gold);
  cursor: pointer;
}

/* Form row */
.form-row { margin-bottom: var(--space-lg); }
.form-row--2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-md); }

/* ═══════════════════════════════════════════════════════════════
   ALERTS & NOTICES
═══════════════════════════════════════════════════════════════ */
.alert {
  padding: var(--space-md) var(--space-lg);
  border-left: 2px solid var(--color-gold);
  background-color: var(--color-bg-cream);
  font-size: var(--text-caption);
  margin-bottom: var(--space-lg);
}

.alert--error {
  border-color: var(--color-error);
  background-color: #FDF0EE;
}

.alert--success {
  border-color: var(--color-success);
  background-color: #EDF7F0;
}

/* ═══════════════════════════════════════════════════════════════
   SITE HEADER
═══════════════════════════════════════════════════════════════ */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  height: var(--nav-height);
  background-color: var(--color-white);
  border-bottom: 1px solid var(--color-border-soft);
  transition: border-color var(--dur) var(--ease),
              background-color var(--dur) var(--ease);
}

/* Dark page header variant */
body.page-dark .site-header {
  background-color: var(--color-dark-brown);
  border-bottom-color: rgba(243,232,211,0.12);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--nav-height);
}

/* Logo */
.site-logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.site-logo img {
  height: 64px;
  width: auto;
  display: block;
}

.site-logo__text {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  color: var(--color-dark-brown);
  letter-spacing: 0.04em;
}

/* Nav */
.site-nav {
  display: flex;
  align-items: center;
  gap: var(--space-xl);
}

.nav-list {
  display: flex;
  align-items: center;
  gap: 0;
}

.nav-item { position: relative; }

.nav-link {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: var(--space-sm) var(--space-md);
  font-family: var(--font-body);
  font-size: var(--text-caption);
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text);
  transition: color var(--dur) var(--ease);
}

.nav-link:hover,
.nav-item.current-menu-item > .nav-link {
  color: var(--color-gold);
}

.nav-arrow {
  display: flex;
  align-items: center;
  transition: transform var(--dur) var(--ease);
}

.nav-item--has-children:hover .nav-arrow { transform: rotate(180deg); }

/* Dropdown */
.nav-dropdown {
  position: absolute;
  top: calc(100% + 1px);
  left: 0;
  min-width: 200px;
  background-color: var(--color-white);
  border: 1px solid var(--color-border-soft);
  border-top: 2px solid var(--color-gold);
  padding: var(--space-sm) 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity var(--dur) var(--ease),
              visibility var(--dur) var(--ease),
              transform var(--dur) var(--ease);
  z-index: 100;
}

.nav-item--has-children:hover .nav-dropdown,
.nav-item--has-children:focus-within .nav-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.nav-dropdown .nav-item { display: block; }

.nav-dropdown .nav-link {
  display: block;
  padding: var(--space-sm) var(--space-lg);
  font-size: 13px;
  letter-spacing: 0.06em;
  border-bottom: none;
}

.nav-dropdown .nav-link:hover { background-color: var(--color-bg-cream); }

/* Nav Actions */
.nav-actions {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}

/* Cart icon */
.nav-cart {
  display: flex;
  align-items: center;
  position: relative;
  padding: var(--space-xs);
  color: var(--color-text);
  transition: color var(--dur) var(--ease);
  cursor: pointer;
  background: none;
  border: none;
}

.nav-cart:hover { color: var(--color-gold); }

.nav-cart__count {
  position: absolute;
  top: -4px;
  right: -6px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  background-color: var(--color-gold);
  color: var(--color-white);
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.nav-cart__count.is-hidden { display: none; }

/* Hamburger */
.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 36px;
  height: 36px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

.nav-toggle span {
  display: block;
  width: 22px;
  height: 1px;
  background-color: var(--color-dark-brown);
  transition: transform var(--dur) var(--ease),
              opacity var(--dur) var(--ease);
}

.nav-toggle.is-open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.nav-toggle.is-open span:nth-child(2) { opacity: 0; }
.nav-toggle.is-open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* Mobile menu */
.nav-mobile {
  display: none;
  position: fixed;
  top: var(--nav-height);
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--color-white);
  z-index: 999;
  overflow-y: auto;
  padding: var(--space-xl) var(--gap);
  transform: translateX(100%);
  transition: transform var(--dur-slow) var(--ease-out);
}

.nav-mobile.is-open {
  display: block;
  transform: translateX(0);
}

.nav-mobile .nav-list {
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  margin-bottom: var(--space-xl);
}

.nav-mobile .nav-link {
  font-size: 15px;
  padding: var(--space-md) 0;
  border-bottom: 1px solid var(--color-border-soft);
  width: 100%;
}

/* ═══════════════════════════════════════════════════════════════
   BREADCRUMBS
   Brand: minimaliste, discrete, aerisite
═══════════════════════════════════════════════════════════════ */
.breadcrumbs {
  padding: 0 0 var(--space-sm);
  border-bottom: none;
}

.breadcrumbs ol {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.breadcrumbs li {
  display: flex;
  align-items: center;
  font-size: var(--text-caption);
  color: var(--color-soft-taupe);
}

.breadcrumbs li + li::before {
  content: '/';
  margin-right: var(--space-sm);
  color: var(--color-border);
  font-size: 11px;
}

.breadcrumbs a {
  color: var(--color-soft-taupe);
  transition: color var(--dur) var(--ease);
}

.breadcrumbs a:hover { color: var(--color-gold); }

.breadcrumbs [aria-current="page"] {
  color: var(--color-dark-brown);
}

/* ═══════════════════════════════════════════════════════════════
   PAGE HERO BAR — bara cu breadcrumbs + titlu pagina
═══════════════════════════════════════════════════════════════ */
.page-hero-bar {
  padding-block: var(--space-lg);
  background-color: var(--color-bg-cream);
  border-bottom: 1px solid var(--color-border-soft);
  margin-top: var(--nav-height);
}

.page-hero-bar--minimal {
  padding-block: var(--space-sm);
  background-color: var(--color-bg);
}

.page-hero-bar__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-sm);
}

.page-hero-bar__title {
  font-size: clamp(20px, 3vw, 26px);
  font-family: var(--font-display);
  font-weight: 400;
  color: var(--color-dark-brown);
  margin: 0;
}

/* ═══════════════════════════════════════════════════════════════
   HERO SECTION
═══════════════════════════════════════════════════════════════ */
.hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  min-height: calc(100vh - var(--nav-height));
  margin-top: var(--nav-height);
  overflow: hidden;
}

.hero__content {
  padding: var(--space-2xl) var(--gap);
  padding-left: max(var(--gap), calc((100vw - var(--container-max)) / 2 + var(--gap)));
}

.hero__title {
  margin-bottom: var(--space-lg);
}

.hero__subtitle {
  margin-bottom: var(--space-xl);
  max-width: 480px;
}

.hero__actions {
  display: flex;
  gap: var(--space-md);
  flex-wrap: wrap;
  margin-bottom: var(--space-xl);
}

.hero__stats {
  display: flex;
  gap: var(--space-xl);
  padding-top: var(--space-xl);
  border-top: 1px solid var(--color-border-soft);
}

.hero__stat { display: flex; flex-direction: column; gap: var(--space-xs); }

.hero__stat-num {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  color: var(--color-gold);
  line-height: 1;
}

.hero__stat-label {
  font-size: var(--text-caption);
  color: var(--color-text-muted);
  letter-spacing: 0.06em;
}

.hero__media {
  position: relative;
  height: calc(100vh - var(--nav-height));
  overflow: hidden;
}

.hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.hero__ornament {
  position: absolute;
  bottom: var(--space-xl);
  left: var(--space-xl);
  width: 80px;
  height: 1px;
  background-color: var(--color-gold);
}

.hero__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  background-color: var(--color-bg-cream);
  color: var(--color-soft-taupe);
  font-size: var(--text-caption);
  text-align: center;
  padding: var(--space-xl);
}

/* ═══════════════════════════════════════════════════════════════
   ABOUT SECTION
═══════════════════════════════════════════════════════════════ */
.about__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
  align-items: center;
}

.about__media { position: relative; }

.about__image {
  width: 100%;
  height: auto;
  display: block;
}

.about__quote {
  position: absolute;
  bottom: var(--space-xl);
  right: calc(-1 * var(--space-xl));
  background-color: var(--color-dark-brown);
  color: var(--color-gold-light);
  padding: var(--space-lg) var(--space-xl);
  font-family: var(--font-display);
  font-size: 15px;
  font-style: italic;
  line-height: 1.5;
  max-width: 260px;
  border: none;
}

.about__content { padding: var(--space-lg) 0; }

.about__placeholder {
  background-color: var(--color-bg-cream);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
  color: var(--color-soft-taupe);
  font-size: var(--text-caption);
}

/* ═══════════════════════════════════════════════════════════════
   PAGINA DESPRE — secțiuni specifice
═══════════════════════════════════════════════════════════════ */

/* ── Hero despre ── */
.despre-hero {
  padding-block: var(--space-2xl) var(--space-3xl);
}

.despre-hero__eyebrow {
  margin-bottom: var(--space-md);
}

.despre-hero__title {
  font-family: var(--font-display);
  font-size: clamp(2.8rem, 6vw, 5rem);
  font-weight: 300;
  line-height: 1.05;
  color: var(--color-dark-brown);
  margin-bottom: var(--space-lg);
  letter-spacing: -0.01em;
}

.despre-hero__subtitle {
  max-width: 480px;
  font-style: italic;
  color: var(--color-soft-taupe);
}

/* ── Intro content ── */
.despre-intro__name {
  font-family: var(--font-display);
  font-size: clamp(1.3rem, 2.2vw, 1.9rem);
  font-weight: 300;
  color: var(--color-dark-brown);
  margin-bottom: var(--space-lg);
}

.despre-entry-content p {
  font-size: 16px;
  line-height: 1.85;
  color: var(--color-text);
  margin-bottom: var(--space-md);
}

.despre-entry-content p:last-child { margin-bottom: 0; }

/* ── Misiune & Viziune ── */
.despre-mv {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
}

.despre-mv__item p {
  font-size: 15px;
  line-height: 1.85;
  color: var(--color-text);
  margin: 0;
}

@media (max-width: 768px) {
  .despre-mv { grid-template-columns: 1fr; gap: var(--space-xl); }
}

/* ── Pull quote ── */
.despre-pullquote { text-align: center; }

.despre-pullquote__inner {
  max-width: 760px;
  margin-inline: auto;
  position: relative;
  padding-block: var(--space-xl);
}

.despre-pullquote__mark {
  display: block;
  font-family: var(--font-display);
  font-size: 5rem;
  line-height: 0.6;
  color: var(--color-gold);
  opacity: 0.35;
  margin-bottom: var(--space-lg);
  user-select: none;
}

.despre-pullquote__text {
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 2.5vw, 1.9rem);
  font-style: italic;
  font-weight: 300;
  line-height: 1.45;
  color: var(--color-cream);
  border: none;
  padding: 0;
  margin: 0 0 var(--space-xl);
}

.despre-pullquote__cite {
  display: block;
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-gold);
}

/* ── Valori ── */
.despre-values {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: var(--space-2xl);
}

.despre-value {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: var(--space-xl);
  align-items: start;
  padding-block: var(--space-xl);
  border-top: 1px solid var(--color-border-soft);
}

.despre-value:last-child { border-bottom: 1px solid var(--color-border-soft); }

.despre-value__nr {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 300;
  color: var(--color-gold);
  opacity: 0.5;
  line-height: 1;
  padding-top: 4px;
}

.despre-value__title {
  font-family: var(--font-display);
  font-size: clamp(1.1rem, 2vw, 1.5rem);
  font-weight: 400;
  color: var(--color-dark-brown);
  margin-bottom: var(--space-sm);
}

.despre-value__desc {
  font-size: 15px;
  line-height: 1.75;
  color: var(--color-text-muted);
  max-width: 560px;
}

/* ── Journey / Drumul meu ── */
.despre-journey {
  margin-top: var(--space-2xl);
  display: flex;
  flex-direction: column;
  gap: 0;
}

.despre-step {
  display: grid;
  grid-template-columns: 140px 1px 1fr;
  gap: 0 var(--space-xl);
  padding-block: var(--space-xl);
  align-items: start;
}

.despre-step__period {
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-gold);
  padding-top: 4px;
  text-align: right;
}

.despre-step__line {
  width: 1px;
  background: linear-gradient(to bottom, var(--color-gold) 0%, transparent 100%);
  align-self: stretch;
  min-height: 60px;
}

.despre-step__content { padding-bottom: var(--space-lg); }

.despre-step__title {
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 2vw, 1.4rem);
  font-weight: 400;
  color: var(--color-dark-brown);
  margin-bottom: var(--space-sm);
}

.despre-step__desc {
  font-size: 15px;
  line-height: 1.8;
  color: var(--color-text-muted);
  max-width: 560px;
}

/* ── CTA final (light) ── */
.despre-cta-light {
  padding-block: var(--space-3xl) var(--space-3xl);
  background: var(--color-bg);
  text-align: center;
  border-top: 1px solid var(--color-border-soft);
}

.despre-cta-light__inner {
  max-width: 600px;
  margin-inline: auto;
}

.despre-cta-light__deco {
  width: 40px;
  height: 1px;
  background: var(--color-gold);
  margin: 0 auto var(--space-lg);
}

.despre-cta-light__title {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 300;
  line-height: 1.25;
  color: var(--color-dark-brown);
  margin-block: var(--space-md) var(--space-md);
}

.despre-cta-light__text {
  font-size: 15px;
  line-height: 1.75;
  color: var(--color-soft-taupe);
  margin-bottom: var(--space-2xl);
  font-style: italic;
}

.despre-cta-light__actions {
  display: flex;
  gap: var(--space-md);
  justify-content: center;
  flex-wrap: wrap;
}

/* ── Responsive despre ── */
@media (max-width: 1024px) {
  .despre-step {
    grid-template-columns: 110px 1px 1fr;
  }
}

@media (max-width: 768px) {
  .despre-hero__title { font-size: clamp(2rem, 8vw, 3rem); }

  .despre-value {
    grid-template-columns: 48px 1fr;
    gap: var(--space-md);
  }
  .despre-value__nr { font-size: 1.6rem; }

  .despre-step {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
  }
  .despre-step__period { text-align: left; }
  .despre-step__line { display: none; }

  .despre-pullquote__text { font-size: clamp(1.1rem, 4vw, 1.5rem); }
}

/* ═══════════════════════════════════════════════════════════════
   SERVICE CARDS
═══════════════════════════════════════════════════════════════ */
.service-card {
  padding: var(--space-xl);
  border: 1px solid var(--color-border-soft);
  background-color: var(--color-white);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  transition: border-color var(--dur) var(--ease);
}

.service-card:hover { border-color: var(--color-gold); }

.service-card__icon {
  color: var(--color-gold);
  margin-bottom: var(--space-md);
  line-height: 0;
}

.service-card h3 {
  font-size: clamp(17px, 2vw, 19px);
}

.service-card p {
  color: var(--color-text-muted);
  font-size: var(--text-caption);
  flex: 1;
}

.service-card .btn { margin-top: auto; align-self: flex-start; }

/* ═══════════════════════════════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════════════════════════════ */
.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
}

.testimonial-card {
  padding: var(--space-xl);
  background-color: var(--color-white);
  border-top: 2px solid var(--color-gold);
}

.testimonial-card__text {
  font-family: var(--font-display);
  font-size: clamp(15px, 1.8vw, 17px);
  font-style: italic;
  line-height: 1.7;
  color: var(--color-dark-brown);
  margin-bottom: var(--space-lg);
}

.testimonial-card__author {
  font-size: var(--text-eyebrow);
  color: var(--color-soft-taupe);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* ═══════════════════════════════════════════════════════════════
   PRODUCTS SECTION (Homepage)
═══════════════════════════════════════════════════════════════ */
.products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
}

/* ═══════════════════════════════════════════════════════════════
   BLOG SECTION
═══════════════════════════════════════════════════════════════ */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
}

.blog-card {
  display: flex;
  flex-direction: column;
}

.blog-card__image {
  aspect-ratio: 16/10;
  overflow: hidden;
  margin-bottom: var(--space-lg);
  background-color: var(--color-bg-cream);
}

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

.blog-card:hover .blog-card__image img {
  transform: scale(1.03);
}

.blog-card__meta {
  margin-bottom: var(--space-sm);
}

.blog-card__title {
  font-size: clamp(17px, 2vw, 19px);
  margin-bottom: var(--space-sm);
}

.blog-card__title a:hover { color: var(--color-gold); }

.blog-card__excerpt {
  font-size: var(--text-caption);
  color: var(--color-text-muted);
  flex: 1;
}

/* ═══════════════════════════════════════════════════════════════
   POST META
═══════════════════════════════════════════════════════════════ */
.post-meta {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  font-size: var(--text-caption);
  color: var(--color-soft-taupe);
  margin-bottom: var(--space-sm);
}

.post-meta__cat {
  color: var(--color-gold);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.post-meta__cat:hover { color: var(--color-dark-brown); }

/* ═══════════════════════════════════════════════════════════════
   PAGINA CONTACT
═══════════════════════════════════════════════════════════════ */
.og-contact-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
  align-items: start;
}

/* ── Coloana info ── */
.og-contact-info__title {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 300;
  color: var(--color-dark-brown);
  margin-bottom: var(--space-lg);
}

.og-contact-info__lead {
  margin-bottom: var(--space-2xl);
}

.og-contact-items {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: var(--space-2xl);
}

.og-contact-item {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md) 0;
  border-bottom: 1px solid var(--color-border-soft);
  text-decoration: none;
  transition: color var(--dur) var(--ease);
  color: inherit;
  border-left: none;
}

.og-contact-item:first-child { border-top: 1px solid var(--color-border-soft); }

.og-contact-item:hover { color: var(--color-gold); }
.og-contact-item:hover .og-contact-item__icon { color: var(--color-gold); }

.og-contact-item__icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--color-soft-taupe);
  transition: color var(--dur) var(--ease);
}

.og-contact-item__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.og-contact-item__label {
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-soft-taupe);
}

.og-contact-item__value {
  font-family: var(--font-body);
  font-size: var(--text-caption);
  color: var(--color-dark-brown);
  font-weight: 300;
}

.og-contact-quote {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(1rem, 2vw, 1.2rem);
  font-weight: 300;
  line-height: 1.5;
  color: var(--color-soft-taupe);
  border-left: 2px solid var(--color-gold);
  padding: var(--space-md) var(--space-lg);
  margin: 0;
}

/* ── Formular ── */
.og-contact-form-wrap {
  padding-top: var(--space-lg);
  border-top: 1px solid var(--color-border-soft);
}

.og-contact-form__row { display: flex; flex-direction: column; gap: var(--space-sm); }
.og-contact-form__row--2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-md); }

.og-contact-form__field {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin-bottom: var(--space-md);
}

.og-contact-form__field label {
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-soft-taupe);
  margin-bottom: 0;
}

.og-contact-form__req { color: var(--color-gold); }

.og-contact-form__field--consent {
  margin-bottom: var(--space-lg);
}

.og-contact-form__consent-label {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
  cursor: pointer;
  text-transform: none;
  letter-spacing: 0;
  font-size: var(--text-caption);
  color: var(--color-soft-taupe);
  line-height: 1.5;
}

.og-contact-form__consent-label input[type="checkbox"] {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 2px;
  accent-color: var(--color-gold);
  cursor: pointer;
}

.og-contact-form__consent-label a {
  color: var(--color-dark-brown);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.og-contact-form__consent-label a:hover {
  color: var(--color-gold);
}

.og-contact-form__submit {
  margin-top: var(--space-sm);
  gap: var(--space-sm);
  min-width: 200px;
}

.og-contact-form__submit[disabled] { opacity: 0.6; cursor: not-allowed; }

@keyframes og-spin { to { transform: rotate(360deg); } }
.og-contact-form__spin { display: inline-block; animation: og-spin 0.8s linear infinite; }
.og-contact-form__spin[hidden] { display: none !important; }

/* Feedback succes/eroare */
.og-contact-feedback {
  padding: var(--space-sm) var(--space-md);
  margin-bottom: var(--space-lg);
  font-size: var(--text-caption);
  border-left: 2px solid;
}

.og-contact-feedback--success {
  border-color: var(--color-gold);
  color: var(--color-dark-brown);
}

.og-contact-feedback--error {
  border-color: var(--color-error);
  color: var(--color-error);
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .og-contact-layout { gap: var(--space-xl); }
}

@media (max-width: 768px) {
  .og-contact-layout {
    grid-template-columns: 1fr;
  }
  .og-contact-form__row--2 {
    grid-template-columns: 1fr;
  }
  .og-contact-form-wrap {
    border-top: none;
    padding-top: 0;
  }
}

/* ═══════════════════════════════════════════════════════════════
   NEWSLETTER
═══════════════════════════════════════════════════════════════ */
.newsletter {
  background-color: var(--color-dark-brown);
  padding-block: var(--space-2xl);
  text-align: center;
}

.newsletter .eyebrow { color: var(--color-gold-light); }
.newsletter h2 { color: var(--color-cream); margin-bottom: var(--space-md); }
.newsletter p { color: var(--color-soft-taupe); margin-bottom: var(--space-xl); }

.newsletter__form {
  display: flex;
  gap: 0;
  max-width: 480px;
  margin: 0 auto;
}

.newsletter__input {
  flex: 1;
  padding: 14px 18px;
  border: 1px solid rgba(243,232,211,0.2);
  background-color: rgba(243,232,211,0.08);
  color: var(--color-cream);
  font-family: var(--font-body);
  font-size: var(--text-caption);
  outline: none;
  transition: border-color var(--dur) var(--ease);
}

.newsletter__input::placeholder { color: rgba(156,143,122,0.7); }

.newsletter__input:focus { border-color: var(--color-gold); }

.newsletter__btn {
  padding: 14px 24px;
  background-color: var(--color-gold);
  color: var(--color-white);
  border: 1px solid var(--color-gold);
  font-family: var(--font-body);
  font-size: var(--text-caption);
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color var(--dur) var(--ease);
  white-space: nowrap;
}

.newsletter__btn:hover { background-color: var(--color-gold-mid); }

/* ═══════════════════════════════════════════════════════════════
   SOCIAL LINKS
═══════════════════════════════════════════════════════════════ */
.social-links {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}

.social-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: var(--color-soft-taupe);
  border: 1px solid var(--color-border);
  transition: color var(--dur) var(--ease),
              border-color var(--dur) var(--ease);
}

.social-links a:hover {
  color: var(--color-gold);
  border-color: var(--color-gold);
}

/* ═══════════════════════════════════════════════════════════════
   SITE FOOTER
═══════════════════════════════════════════════════════════════ */
.site-footer {
  background-color: var(--color-dark-brown);
  color: var(--color-cream);
  padding-top: var(--space-2xl);
}

.footer__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--space-2xl);
  padding-bottom: var(--space-2xl);
  border-bottom: 1px solid rgba(243,232,211,0.1);
}

.footer__brand-col {}

.footer__logo {
  margin-bottom: var(--space-xl);
  display: block;
  width: fit-content;
}

.footer__logo img {
  height: auto;
  max-height: 915px;
  width: auto;
  max-width: 240px;
  filter: none;
}

.footer__tagline {
  font-size: var(--text-caption);
  color: var(--color-soft-taupe);
  line-height: 1.7;
  margin-bottom: var(--space-lg);
  max-width: 280px;
}

.footer__col-title {
  font-family: var(--font-body);
  font-size: var(--text-eyebrow);
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: var(--space-lg);
}

.footer-nav { display: flex; flex-direction: column; gap: var(--space-sm); }

.footer-nav a {
  font-size: var(--text-caption);
  color: var(--color-soft-taupe);
  transition: color var(--dur) var(--ease);
}

.footer-nav a:hover { color: var(--color-cream); }

/* ANPC Badges — integrate în bottom bar */
.footer__anpc-badges {
  display: flex;
  gap: var(--space-md);
  align-items: center;
  flex-shrink: 0;
}

.footer__anpc-badge {
  display: inline-block;
  transition: opacity var(--dur) var(--ease);
}

.footer__anpc-badge:hover { opacity: 0.75; }

.footer__anpc-badge img {
  height: 40px;
  width: auto;
  display: block;
}

.footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-lg) 0;
  flex-wrap: wrap;
  gap: var(--space-md);
}

.footer__copy {
  font-size: 12px;
  color: var(--color-soft-taupe);
}

.footer-legal {
  display: flex;
  gap: var(--space-lg);
}

.footer-legal a {
  font-size: 12px;
  color: var(--color-soft-taupe);
  transition: color var(--dur) var(--ease);
}

.footer-legal a:hover { color: var(--color-cream); }

/* ═══════════════════════════════════════════════════════════════
   PAGINATION
═══════════════════════════════════════════════════════════════ */
.og-pagination {
  padding-top: var(--space-2xl);
  display: flex;
  justify-content: center;
}

.og-pagination ul {
  display: flex;
  gap: var(--space-sm);
  align-items: center;
}

.og-pagination a,
.og-pagination span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  font-size: var(--text-caption);
  color: var(--color-text-muted);
  border: 1px solid var(--color-border);
  transition: color var(--dur) var(--ease),
              border-color var(--dur) var(--ease),
              background-color var(--dur) var(--ease);
}

.og-pagination a:hover { color: var(--color-gold); border-color: var(--color-gold); }

.og-pagination .is-active a,
.og-pagination .is-active span,
.og-pagination .current {
  background-color: var(--color-gold);
  border-color: var(--color-gold);
  color: var(--color-white);
}

/* ═══════════════════════════════════════════════════════════════
   MINI CART DRAWER
═══════════════════════════════════════════════════════════════ */
.og-minicart-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(58,49,38,0.4);
  z-index: 1090;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--dur) var(--ease),
              visibility var(--dur) var(--ease);
}

.og-minicart-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

.og-minicart {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 380px;
  max-width: 100vw;
  background-color: var(--color-white);
  z-index: 1100;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform var(--dur-slow) var(--ease-out);
  border-left: 1px solid var(--color-border-soft);
}

.og-minicart.is-open { transform: translateX(0); }

.og-minicart__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: var(--space-xl) var(--space-xl) var(--space-lg);
  border-bottom: 1px solid var(--color-border-soft);
  flex-shrink: 0;
}

.og-minicart__title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  color: var(--color-dark-brown);
  margin: 0;
}

.og-minicart__count {
  font-size: var(--text-caption);
  color: var(--color-soft-taupe);
  margin: 0;
}

.og-minicart__close {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--color-soft-taupe);
  padding: var(--space-xs);
  transition: color var(--dur) var(--ease);
  flex-shrink: 0;
}

.og-minicart__close:hover { color: var(--color-dark-brown); }

/* Shipping progress */
.og-shipping-progress {
  padding: var(--space-md) var(--space-xl);
  background-color: var(--color-bg-cream);
  border-bottom: 1px solid var(--color-border-soft);
  flex-shrink: 0;
}

.og-shipping-progress__label {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: var(--color-soft-taupe);
  margin-bottom: var(--space-sm);
}

.og-shipping-progress__bar {
  height: 2px;
  background-color: var(--color-border);
  overflow: hidden;
}

.og-shipping-progress__fill {
  height: 100%;
  background-color: var(--color-gold);
  transition: width 0.6s var(--ease-out);
}

/* Mini cart items */
.og-minicart__items {
  flex: 1;
  overflow-y: auto;
  padding: var(--space-md) 0;
}

.og-minicart__item {
  display: grid;
  grid-template-columns: 72px 1fr auto;
  gap: var(--space-md);
  padding: var(--space-md) var(--space-xl);
  border-bottom: 1px solid var(--color-border-soft);
}

.og-minicart__item:last-child { border-bottom: none; }

.og-minicart__item-img {
  width: 72px;
  height: 90px;
  object-fit: cover;
  flex-shrink: 0;
}

.og-minicart__item-name {
  font-size: 13px;
  font-weight: 400;
  color: var(--color-dark-brown);
  display: block;
  margin-bottom: var(--space-xs);
}

.og-minicart__item-name:hover { color: var(--color-gold); }

.og-minicart__item-meta {
  font-size: 11px;
  color: var(--color-soft-taupe);
  margin-bottom: var(--space-xs);
}

.og-minicart__item-price {
  font-size: var(--text-caption);
  color: var(--color-gold);
  margin-bottom: var(--space-sm);
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.og-minicart__item-unit {
  font-size: 11px;
  color: var(--color-soft-taupe);
  font-weight: 300;
  letter-spacing: 0.03em;
}

.og-minicart__item-qty {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: 13px;
}

.og-minicart__item-qty button {
  background: none;
  border: 1px solid var(--color-border);
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 14px;
  color: var(--color-text-muted);
  transition: border-color var(--dur) var(--ease),
              color var(--dur) var(--ease);
  line-height: 1;
}

.og-minicart__item-qty button:hover {
  border-color: var(--color-gold);
  color: var(--color-gold);
}

.og-minicart__item-remove {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--color-border);
  padding: var(--space-xs);
  transition: color var(--dur) var(--ease);
  align-self: flex-start;
}

.og-minicart__item-remove:hover { color: var(--color-error); }

.og-minicart__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--space-2xl) var(--space-xl);
  gap: var(--space-lg);
  color: var(--color-soft-taupe);
  text-align: center;
  height: 100%;
}

.og-minicart__empty p { margin: 0; }

/* Mini cart footer */
.og-minicart__footer {
  padding: var(--space-lg) var(--space-xl);
  border-top: 1px solid var(--color-border-soft);
  flex-shrink: 0;
}

.og-minicart__subtotal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-sm);
}

.og-minicart__subtotal-label {
  font-size: var(--text-caption);
  color: var(--color-soft-taupe);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 11px;
}

.og-minicart__subtotal-price {
  font-family: var(--font-display);
  font-size: 20px;
  color: var(--color-dark-brown);
}

.og-minicart__shipping-note {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: 11px;
  color: var(--color-soft-taupe);
  margin-bottom: var(--space-lg);
}

.og-minicart__actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

/* ═══════════════════════════════════════════════════════════════
   AUTH POPUP
═══════════════════════════════════════════════════════════════ */
.og-auth-overlay {
  position: fixed;
  inset: 0;
  z-index: 1200;
  background-color: rgba(58,49,38,0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--gap);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--dur) var(--ease),
              visibility var(--dur) var(--ease);
}

.og-auth-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

.og-auth-modal {
  background-color: var(--color-white);
  width: 100%;
  max-width: 420px;
  position: relative;
  border-top: 3px solid var(--color-gold);
  max-height: 90vh;
  overflow-y: auto;
}

.og-auth__close {
  position: absolute;
  top: var(--space-md);
  right: var(--space-md);
  background: none;
  border: none;
  cursor: pointer;
  color: var(--color-soft-taupe);
  padding: var(--space-xs);
  transition: color var(--dur) var(--ease);
}

.og-auth__close:hover { color: var(--color-dark-brown); }

.og-auth__body { padding: var(--space-xl); }

.og-auth__brand {
  text-align: center;
  padding-bottom: var(--space-lg);
  margin-bottom: var(--space-lg);
  border-bottom: 1px solid var(--color-border-soft);
}

.og-auth__brand img { height: 36px; width: auto; margin: 0 auto var(--space-sm); }
.og-auth__brand p { font-size: var(--text-caption); color: var(--color-soft-taupe); margin: 0; }

.og-auth__tabs {
  display: flex;
  gap: 0;
  margin-bottom: var(--space-xl);
  border-bottom: 1px solid var(--color-border-soft);
}

.og-auth-tab {
  flex: 1;
  padding: var(--space-md);
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  font-family: var(--font-body);
  font-size: var(--text-caption);
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-soft-taupe);
  cursor: pointer;
  transition: color var(--dur) var(--ease),
              border-color var(--dur) var(--ease);
  margin-bottom: -1px;
}

.og-auth-tab.is-active {
  color: var(--color-gold);
  border-bottom-color: var(--color-gold);
}

.og-auth-panel { display: none; }
.og-auth-panel.is-active { display: block; }

.og-auth__divider {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  margin: var(--space-lg) 0;
  font-size: var(--text-caption);
  color: var(--color-soft-taupe);
}

.og-auth__divider::before,
.og-auth__divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background-color: var(--color-border-soft);
}

.og-auth__footnote {
  text-align: center;
  font-size: 12px;
  color: var(--color-soft-taupe);
  margin-top: var(--space-md);
}

.og-auth__footnote a { color: var(--color-gold); }
.og-auth__footnote a:hover { color: var(--color-dark-brown); }

/* ═══════════════════════════════════════════════════════════════
   ANIMATION UTILITIES
═══════════════════════════════════════════════════════════════ */
.animate-up {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity var(--dur-slow) var(--ease-out),
              transform var(--dur-slow) var(--ease-out);
}

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

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

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

.text-gold   { color: var(--color-gold); }
.text-muted  { color: var(--color-text-muted); }
.text-center { text-align: center; }
.text-upper  { text-transform: uppercase; letter-spacing: 0.1em; }

.mt-xs  { margin-top: var(--space-xs); }
.mt-sm  { margin-top: var(--space-sm); }
.mt-md  { margin-top: var(--space-md); }
.mt-lg  { margin-top: var(--space-lg); }
.mt-xl  { margin-top: var(--space-xl); }
.mb-xl  { margin-bottom: var(--space-xl); }

.gap-sm  { gap: var(--space-sm); }
.gap-md  { gap: var(--space-md); }
.gap-lg  { gap: var(--space-lg); }

/* Page top offset (for fixed header) */
.page-offset { padding-top: var(--nav-height); }

/* ═══════════════════════════════════════════════════════════════
   PAGE — Generic
═══════════════════════════════════════════════════════════════ */
.page-content {
  max-width: var(--container-sm);
  margin: 0 auto;
  padding-block: var(--space-2xl);
}

.page-content h1 { margin-bottom: var(--space-xl); }
.page-content h2 { margin-top: var(--space-xl); margin-bottom: var(--space-md); }
.page-content h3 { margin-top: var(--space-lg); margin-bottom: var(--space-sm); }

/* ═══════════════════════════════════════════════════════════════
   SINGLE POST
═══════════════════════════════════════════════════════════════ */
.post-header {
  padding-block: var(--space-2xl);
  border-bottom: 1px solid var(--color-border-soft);
  margin-bottom: var(--space-2xl);
}

.post-featured-image {
  margin-bottom: var(--space-2xl);
  overflow: hidden;
  max-height: 500px;
}

.post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.post-content {
  font-size: 17px;
  line-height: 1.85;
}

.post-content h2 { margin-top: var(--space-xl); margin-bottom: var(--space-md); }
.post-content h3 { margin-top: var(--space-lg); margin-bottom: var(--space-sm); }
.post-content p  { margin-bottom: var(--space-lg); }

.post-content a:not(.cart-product-name):not(.button):not(.woocommerce-loop-product__link) {
  color: var(--color-gold);
  border-bottom: 1px solid var(--color-gold-light);
  transition: border-color var(--dur) var(--ease);
}

.post-content a:not(.cart-product-name):not(.button):not(.woocommerce-loop-product__link):hover {
  border-color: var(--color-gold);
}

.post-content blockquote {
  border-left: 2px solid var(--color-gold);
  padding: var(--space-md) var(--space-xl);
  margin-block: var(--space-xl);
  font-family: var(--font-display);
  font-size: 18px;
  font-style: italic;
  color: var(--color-dark-brown);
}

.post-content img { margin-block: var(--space-xl); }

/* 404 */
.error-404 {
  text-align: center;
  padding-block: var(--space-3xl);
}

.error-404 h1 {
  font-size: clamp(60px, 12vw, 120px);
  color: var(--color-gold);
  line-height: 1;
  margin-bottom: var(--space-md);
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE — Breakpoints
   Mobile: < 768px
   Tablet: 768px – 1024px
   Desktop: > 1024px
═══════════════════════════════════════════════════════════════ */

/* ── Tablet: 769px – 1024px ── */
@media (max-width: 1024px) {
  :root { --nav-height: 70px; }

  /* Hero */
  .hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .hero__content {
    order: 2;
    padding: var(--space-2xl) var(--gap);
    padding-left: var(--gap);
    text-align: center;
  }
  .hero__subtitle { max-width: 100%; }
  .hero__actions { justify-content: center; }
  .hero__stats { justify-content: center; }
  .hero__media {
    order: 1;
    height: 55vw;
    max-height: 480px;
  }

  /* About */
  .about__inner { grid-template-columns: 1fr; gap: var(--space-xl); }
  .about__media { max-width: 520px; margin-inline: auto; }
  .about__quote { position: static; max-width: 100%; }

  /* Grids */
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .testimonials-grid { grid-template-columns: repeat(2, 1fr); }
  .products-grid { grid-template-columns: repeat(2, 1fr); }
  .blog-grid { grid-template-columns: repeat(2, 1fr); }

  /* Section headers */
  .section-header { text-align: center; }
  .section-header .gold-rule { margin-inline: auto; }

  /* Footer */
  .footer__grid { grid-template-columns: 1fr 1fr; gap: var(--space-xl); }
}

/* ── Mobile: ≤ 768px ── */
@media (max-width: 768px) {
  :root {
    --nav-height:  64px;
    --space-xl:    32px;
    --space-2xl:   52px;
    --space-3xl:   72px;
  }

  /* Nav */
  .site-nav .nav-list { display: none; }
  .nav-toggle { display: flex; }

  /* Hero */
  .hero { grid-template-columns: 1fr; }
  .hero__content {
    order: 2;
    padding: var(--space-xl) var(--gap);
    text-align: center;
  }
  .hero__title { font-size: clamp(28px, 8vw, 38px); }
  .hero__subtitle {
    max-width: 100%;
    font-size: 15px;
    margin-inline: auto;
  }
  .hero__actions {
    justify-content: center;
    flex-direction: column;
    align-items: center;
  }
  .hero__actions .btn { width: 100%; max-width: 320px; justify-content: center; }
  .hero__stats {
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--space-lg);
    padding-top: var(--space-lg);
  }
  .hero__stat { align-items: center; }
  .hero__stat-num { font-size: 22px; }
  .hero__media {
    order: 1;
    height: 65vw;
    max-height: 380px;
  }

  /* About */
  .about__inner { grid-template-columns: 1fr; gap: var(--space-lg); }
  .about__media { max-width: 100%; }
  .about__image { max-height: 420px; width: 100%; object-fit: cover; }
  .about__content { padding: 0; }
  .about__quote {
    position: static;
    max-width: 100%;
    transform: none;
    margin-top: var(--space-md);
  }

  /* Services */
  .service-card { padding: var(--space-lg); }
  .service-card h3 { font-size: 17px; }

  /* Testimonials */
  .testimonials-grid { grid-template-columns: 1fr; }
  .testimonial-card { padding: var(--space-lg); }
  .testimonial-card__text { font-size: 15px; }

  /* Blog */
  .blog-grid { grid-template-columns: 1fr; }
  .blog-card__title { font-size: 17px; }
  .blog-card__image { aspect-ratio: 16/9; }

  /* Grids */
  .grid-2 { grid-template-columns: 1fr; }
  .grid-3 { grid-template-columns: 1fr; }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }

  /* Section */
  .section { padding-block: var(--space-2xl); }
  .section--lg { padding-block: var(--space-2xl); }
  .section-header { text-align: center; }
  .section-header .gold-rule { margin-inline: auto; }
  .section-header h2 { font-size: clamp(20px, 6vw, 26px); }

  /* Tipografie body uniformă pe mobil */
  body { font-size: var(--text-body); }
  h2 { font-size: clamp(20px, 5.5vw, 26px); }
  h3 { font-size: clamp(17px, 4vw, 21px); }
  h4 { font-size: 16px; }

  /* Newsletter */
  .newsletter__form { flex-direction: column; }
  .newsletter__btn { width: 100%; }

  /* Footer */
  .footer__grid { grid-template-columns: 1fr; gap: var(--space-lg); }
  .footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-md);
  }
  .footer__anpc-badges { gap: var(--space-sm); }
  .footer__anpc-badge img { height: 34px; }
  .footer-legal {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm) var(--space-md);
  }
  .footer-legal a {
    font-size: 11px;
    white-space: nowrap;
  }
  .footer__copy { font-size: 11px; }

  /* Forms */
  .form-row--2 { grid-template-columns: 1fr; }

  /* Minicart */
  .og-minicart { width: 100%; }

  /* Page hero bar */
  .page-hero-bar__title { font-size: clamp(22px, 7vw, 32px); }
}

/* ── Small mobile: ≤ 480px ── */
@media (max-width: 480px) {
  :root {
    --space-xl:  28px;
    --space-2xl: 44px;
  }

  .hero__media { height: 72vw; max-height: 300px; }
  .hero__title { font-size: clamp(26px, 9vw, 34px); }
  .hero__actions .btn { max-width: 100%; }
  .hero__stats { gap: var(--space-md); }

  .grid-4 { grid-template-columns: 1fr; }

  .service-card { padding: var(--space-md) var(--space-lg); }

  .testimonial-card { padding: var(--space-md) var(--space-lg); }

  .blog-card__image { aspect-ratio: 4/3; }

  .footer__grid { gap: var(--space-md); }
}
