/* Baza comuna: paleta si fonturile din brandbook, fisa produsului */
:root {
  --verde: #3DAE6B; --verde-inchis: #1F5C3A; --alb-cald: #FAFAF7; --grafit: #3A3A3A; --galben: #F5C343;
  --linie: #E4E7E1; --moale: #EEF6F0; --gri: #6B736D;
  --f-titlu: "Nunito", "Segoe UI", system-ui, sans-serif;
  --f-text: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--alb-cald); color: var(--grafit); font-family: var(--f-text); font-size: 16px; line-height: 1.6; }
img { max-width: 100%; display: block; }
a { color: inherit; }
h1, h2, h3, h4 { font-family: var(--f-titlu); color: var(--verde-inchis); margin: 0; line-height: 1.15; text-wrap: balance; }
p { margin: 0; }
button { font: inherit; cursor: pointer; }
:focus-visible { outline: 3px solid var(--verde); outline-offset: 2px; }
.sv-bottle { width: 100%; height: auto; display: block; }
.sv-photo { width: 100%; height: auto; display: block; border-radius: 14px; }

.sv-claim { font-weight: 500; color: var(--verde-inchis); background: var(--moale); border-radius: 10px; padding: 12px 14px; }
.sv-fisa h4 { font-size: 15px; margin: 18px 0 6px; }
.sv-fisa p { font-size: 14.5px; }
.sv-tw { overflow-x: auto; }
.sv-t { border-collapse: collapse; width: 100%; font-size: 14px; font-variant-numeric: tabular-nums; }
.sv-t th, .sv-t td { padding: 7px 8px; border-bottom: 1px solid var(--linie); text-align: left; vertical-align: top; }
.sv-t th { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--gri); font-weight: 600; }
.sv-t .sv-num { text-align: right; white-space: nowrap; }
.sv-foot { font-size: 12.5px !important; color: var(--gri); margin-top: 6px !important; }

dialog.sv-dlg { border: 0; padding: 0; border-radius: 18px; width: min(760px, calc(100% - 24px)); max-height: calc(100dvh - 32px); background: #fff; color: var(--grafit); box-shadow: 0 24px 60px rgba(0,0,0,.18); }
dialog.sv-dlg::backdrop { background: rgba(20, 40, 28, .45); }
.sv-dlg-in { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 24px; padding: 28px; }
.sv-dlg-in .sv-x { position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--moale); color: var(--verde-inchis); font-size: 22px; line-height: 1; }
.sv-dlg-in h3 { font-size: 26px; font-weight: 800; padding-right: 36px; }
.sv-dlg-in .sv-ben { color: var(--gri); margin: 6px 0 14px; }
@media (max-width: 640px) {
  .sv-dlg-in { grid-template-columns: minmax(0, 1fr); padding: 20px 16px; gap: 8px; }
  .sv-dlg-in .sv-dlg-img { width: 200px; margin: 0 auto; }
}
