/* altVIN — pagina principală („Eticheta de cramă”) */

/* ── Hero: eticheta pe must ───────────────────────────────────────────────── */
.hero-eticheta {
  position: relative; overflow: hidden; min-height: min(100svh, 980px);
  display: grid; grid-template-rows: 1fr auto;
  padding-top: calc(var(--nav-height) + clamp(1.5rem, 4vw, 3.5rem));
}
.hero-eticheta::before { /* fibra hârtiei, foarte discretă */
  content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .5; mix-blend-mode: soft-light;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.hero-grila {
  position: relative; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(2rem, 5vw, 5rem); align-items: center;
}
.hero-title {
  font-size: clamp(2.6rem, .6rem + 4.2vw, 5.4rem); font-weight: 500; line-height: 1; letter-spacing: -.025em;
}
.hero-title em { font-style: italic; font-weight: 400; color: var(--rose); }
.hero-actiuni { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem 2rem; margin-top: clamp(2rem, 4vw, 3rem); }
.hero-actiuni .link-sageata { color: var(--pe-must); }

/* fereastra etichetei: arcul de cramă */
.hero-fereastra {
  position: relative; justify-self: end; width: min(100%, 460px); aspect-ratio: 4 / 5.2;
  border-radius: 999px 999px var(--raza) var(--raza); overflow: hidden;
  background: var(--must-adanc); box-shadow: 0 0 0 1px var(--linie-must), 0 0 0 12px var(--must), 0 0 0 13px var(--linie-must);
}
.hero-fereastra video { width: 100%; height: 100%; object-fit: cover; filter: saturate(.85) contrast(1.05); }
.hero-sigiliu {
  position: absolute; right: min(calc(460px - 68px), 34%); bottom: -36px; width: clamp(110px, 11vw, 150px);
  color: var(--pe-must); background: var(--must); border-radius: 50%; padding: 6px;
}
.hero-baza {
  position: relative; display: flex; align-items: center; gap: 1.25rem; padding-block: clamp(2rem, 4vw, 3rem) 1.75rem; color: var(--pe-must-2);
}
.hero-baza-filet { flex: 1; height: 1px; background: var(--linie-must); }

@media (max-width: 900px) {
  .hero-eticheta { min-height: auto; padding-top: calc(var(--nav-height) + 2rem); }
  .hero-grila { grid-template-columns: 1fr; gap: 2.5rem; }
  .hero-fereastra { justify-self: stretch; width: 100%; max-width: 520px; aspect-ratio: 4 / 4.4; margin-inline: auto; }
  .hero-sigiliu { right: auto; left: 8px; bottom: -28px; width: 96px; }
  .hero-baza { flex-wrap: wrap; gap: .5rem 1rem; padding-top: 3.25rem; }
  .hero-baza-filet { display: none; }
}

/* ── Bun venit ───────────────────────────────────────────────────────────── */
.section-welcome { padding: var(--sectiune) 0; }
.welcome-grila { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.welcome-titlu { font-size: var(--t-afis-2); line-height: 1; position: sticky; top: calc(var(--nav-height) + 2rem); }
.welcome-titlu em { font-style: italic; font-weight: 400; color: var(--must); }
.welcome-text { color: var(--cerneala-2); }
.welcome-text .text-mare { color: var(--cerneala); }
.welcome-text .link-sageata { margin-top: 2rem; color: var(--cerneala); }
@media (max-width: 800px) { .welcome-grila { grid-template-columns: 1fr; } .welcome-titlu { position: static; } }

/* ── Citat pe rosé ───────────────────────────────────────────────────────── */
.section-quote { padding: clamp(5rem, 10vw, 9rem) 0; text-align: center; }
.citat-grila { display: grid; justify-items: center; gap: 2rem; }
.quote-text { font-family: var(--f-afis); font-style: italic; font-weight: 400; font-size: var(--t-afis-2); line-height: 1.08; letter-spacing: -.02em; max-width: 22ch; text-wrap: balance; }
.quote-semnatura { display: flex; align-items: center; gap: 1rem; color: var(--rose-adanc); }
.quote-semnatura::before, .quote-semnatura::after { content: ''; width: 48px; height: 1px; background: currentColor; }

/* ── Vinurile: câmpul de culoare ──────────────────────────────────────────── */
.section-products-home {
  --scena-fond: var(--must); --scena-text: var(--pe-must); --scena-2: var(--pe-must-2); --scena-linie: var(--linie-must);
  background: var(--scena-fond); color: var(--scena-text); padding: var(--sectiune) 0;
  transition: background-color 1s var(--ferm), color 1s var(--ferm);
}
.section-products-home[data-cerneala-activa="alb"]  { --scena-fond: var(--vita); --scena-text: var(--cerneala); --scena-2: #3D3A1F; --scena-linie: rgba(27,20,18,.2); }
.section-products-home[data-cerneala-activa="rose"] { --scena-fond: var(--rose); --scena-text: var(--cerneala); --scena-2: #4A2219; --scena-linie: rgba(27,20,18,.2); }
.section-products-home[data-cerneala-activa="rosu"] { --scena-fond: var(--must); --scena-text: var(--pe-must); --scena-2: var(--pe-must-2); --scena-linie: var(--linie-must); }

.vinuri-cap { display: flex; justify-content: space-between; align-items: end; gap: 2rem; flex-wrap: wrap; margin-bottom: clamp(3rem, 6vw, 5rem); padding-bottom: 1.5rem; border-bottom: 1px solid var(--scena-linie); }
.vinuri-titlu { font-size: var(--t-afis-1); line-height: .95; }
.vinuri-titlu em { font-style: italic; font-weight: 400; }

.phg3-grid { display: grid; gap: clamp(4rem, 9vw, 8rem); }
.phg3-card { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.phg3-invers .phg3-img-wrap { order: 2; }
.phg3-img-wrap {
  display: block; position: relative; aspect-ratio: 2 / 3; max-height: 82vh; overflow: hidden;
  border-radius: 999px 999px var(--raza) var(--raza); background: rgba(0,0,0,.08);
}
.phg3-img-wrap img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); transition: transform 1.4s var(--usor); }
.phg3-card:hover .phg3-img-wrap img { transform: scale(1.08) translateY(-1%); }
.product-img-placeholder, .bundle-img-placeholder { display: grid; place-items: center; width: 100%; height: 100%; }
.product-img-placeholder .brand-seal, .bundle-img-placeholder .brand-seal { width: 40%; opacity: .5; }

.phg3-info { display: grid; gap: 1.1rem; justify-items: start; }
.phg3-info .tag-vin { color: var(--scena-text); }
.phg3-name { font-size: var(--t-afis-2); line-height: 1; letter-spacing: -.02em; }
.phg3-name a { text-decoration: none; }
.phg3-name a:hover { color: inherit; font-style: italic; }
.phg3-region { color: var(--scena-2); }

/* tabelul de prețuri, ca pe spatele etichetei */
.phg3-tiers { display: grid; width: min(100%, 360px); border-top: 1px solid var(--scena-linie); }
.card-discount-pill { display: flex; justify-content: space-between; padding: .55rem 0; border-bottom: 1px solid var(--scena-linie); font-size: .95rem; }
.card-discount-pill dt { color: var(--scena-2); }
.card-discount-pill dd { font-weight: 650; font-variant-numeric: tabular-nums; }

.phg3-footer { display: grid; gap: 1.25rem; margin-top: .75rem; }
.phg3-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: .4rem .9rem; font-variant-numeric: tabular-nums lining-nums; }
.phg3-price .js-card-price, .phg3-price-discounted { font-family: var(--f-afis); font-size: clamp(2rem, 1.6rem + 1.4vw, 2.8rem); font-weight: 500; line-height: 1; }
.phg3-price-original { text-decoration: line-through; color: var(--scena-2); font-size: 1rem; }
.phg3-price-badge { font-stretch: 112%; font-weight: 700; font-size: .78rem; letter-spacing: .06em; padding: .3rem .5rem; border: 1px solid currentColor; border-radius: var(--raza); }

.quick-add { display: flex; flex-wrap: wrap; gap: .75rem; align-items: stretch; }
.qty-selector-sm { display: inline-flex; align-items: stretch; border: 1px solid currentColor; border-radius: var(--raza); }
.qty-btn-sm { width: 46px; font-size: 1.25rem; line-height: 1; color: inherit; transition: background var(--rapid); }
.qty-btn-sm:hover { background: color-mix(in srgb, currentColor 12%, transparent); }
.qty-input-sm { width: 48px !important; min-height: 48px !important; padding: 0 !important; text-align: center; border: 0 !important; border-inline: 1px solid currentColor !important; border-radius: 0 !important; background: transparent !important; color: inherit !important; font-weight: 650; font-variant-numeric: tabular-nums; -moz-appearance: textfield; box-shadow: none !important; }
.qty-input-sm::-webkit-inner-spin-button, .qty-input-sm::-webkit-outer-spin-button { -webkit-appearance: none; }
.section-products-home[data-cerneala-activa="rosu"] .quick-add-btn { --b-fond: var(--pe-must); --b-text: var(--must); --b-hover: var(--vita); }
.phg3-epuizat { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.section-products-home .btn-disabled { --b-fond: transparent; --b-text: var(--scena-2); border-color: var(--scena-linie); }

.phg3-banner {
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem 2rem;
  margin-top: clamp(4rem, 8vw, 7rem); padding: clamp(1.5rem, 3vw, 2.25rem) 0; text-decoration: none;
  border-top: 1px solid var(--scena-linie); border-bottom: 1px solid var(--scena-linie);
}
.phg3-banner:hover { color: inherit; }
.phg3-banner-text { font-family: var(--f-afis); font-size: var(--t-afis-3); line-height: 1.1; max-width: 24ch; transition: transform var(--mediu) var(--usor); }
.phg3-banner:hover .phg3-banner-text { transform: translateX(10px); font-style: italic; }

@media (max-width: 800px) {
  .phg3-card { grid-template-columns: 1fr; }
  .phg3-invers .phg3-img-wrap { order: 0; }
  .phg3-img-wrap { max-height: 70vh; width: min(100%, 420px); }
}

/* ── Pachete ─────────────────────────────────────────────────────────────── */
.section-bundles { padding: var(--sectiune) 0; background: var(--hartie-2); }
.bundles-titlu { font-size: var(--t-afis-2); margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.bundles-titlu em { font-style: italic; font-weight: 400; }
.bundle-grid { display: grid; gap: 2rem; }
.bundle-card { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); background: var(--hartie-3); border: 1px solid var(--linie); }
.bundle-card-img { display: block; overflow: hidden; background: var(--hartie-2); min-height: 320px; }
.bundle-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--usor); }
.bundle-card:hover .bundle-card-img img { transform: scale(1.04); }
.bundle-card-body { display: grid; align-content: center; justify-items: start; gap: 1.1rem; padding: clamp(1.75rem, 4vw, 3.5rem); }
.bundle-card-name { font-size: var(--t-afis-3); line-height: 1.05; }
.bundle-card-name a { text-decoration: none; }
.bundle-card-desc { color: var(--cerneala-2); max-width: 54ch; }
.bundle-card-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: .4rem 1rem; }
.bundle-price-now { font-family: var(--f-afis); font-size: 2.6rem; line-height: 1; font-variant-numeric: lining-nums; }
.bundle-price-old { text-decoration: line-through; color: var(--cerneala-3); }
.bundle-ship { color: var(--bun); }
.bundle-card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.75rem; }
@media (max-width: 760px) { .bundle-card { grid-template-columns: 1fr; } .bundle-card-img { min-height: 0; aspect-ratio: 4 / 3; } }

/* ── Experiențe: carta ────────────────────────────────────────────────────── */
.section-services { padding: var(--sectiune) 0; }
.servicii-titlu { font-size: var(--t-afis-2); line-height: 1; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.servicii-titlu em { font-style: italic; font-weight: 400; color: var(--must); }
.carta-zona { position: relative; }
.carta { border-top: 1px solid var(--linie-tare); }
.carta-rand { border-bottom: 1px solid var(--linie-tare); }
.carta-link {
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 5fr) auto; gap: 1rem 3rem; align-items: center;
  padding: clamp(1.5rem, 3vw, 2.25rem) 0; text-decoration: none; position: relative;
}
.carta-link:hover { color: inherit; }
.carta-poza { display: none; }
.service-title { font-size: var(--t-afis-3); font-weight: 500; line-height: 1.05; transition: transform var(--mediu) var(--usor), color var(--rapid); }
.service-desc { color: var(--cerneala-2); font-size: .98rem; max-width: 48ch; }
.carta-cta { display: inline-flex; align-items: center; gap: .5rem; font-stretch: 112%; font-weight: 600; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.carta-cta svg { width: 1.1em; transition: transform var(--mediu) var(--usor); }
.carta-link:hover .service-title { transform: translateX(12px); color: var(--must); font-style: italic; }
.carta-link:hover .carta-cta svg { transform: translateX(5px); }
.carta-previz {
  position: absolute; left: 0; top: 0; width: 300px; aspect-ratio: 3 / 2; margin: -100px 0 0 -150px; pointer-events: none; z-index: 2;
  background: var(--hartie-2) center / cover no-repeat; border: 6px solid var(--hartie-3); box-shadow: var(--umbra-2);
  opacity: 0; scale: .85; transition: opacity var(--mediu) var(--usor), scale var(--mediu) var(--usor);
}
.carta-activa .carta-previz { opacity: 1; scale: 1; }
@media (max-width: 900px) {
  .carta-link { grid-template-columns: 96px minmax(0, 1fr); gap: .5rem 1.1rem; align-items: start; }
  .carta-poza { display: block; grid-row: span 3; width: 96px; aspect-ratio: 1; object-fit: cover; }
  .service-desc, .carta-cta { grid-column: 2; }
  .carta-cta { white-space: normal; }
  .carta-previz { display: none; }
}

/* ── Filozofia ───────────────────────────────────────────────────────────── */
.section-philosophy-dark { position: relative; overflow: hidden; padding: clamp(6rem, 12vw, 11rem) 0; }
.filozofie-sigiliu { position: absolute; right: -6vw; top: 50%; translate: 0 -50%; width: clamp(280px, 38vw, 560px); color: var(--pe-must); opacity: .08; pointer-events: none; }
.filozofie-grila { position: relative; display: grid; gap: 2.25rem; justify-items: start; }
.filozofie-titlu { color: var(--pe-must-2); }
.philosophy-dark-text { font-family: var(--f-afis); font-size: var(--t-afis-3); line-height: 1.22; letter-spacing: -.01em; max-width: 28ch; }
.philosophy-dark-text em { color: var(--rose); }

/* ── Gol ─────────────────────────────────────────────────────────────────── */
.products-home-empty { display: grid; justify-items: start; gap: 1.25rem; }
