/* ============================================================================
   NOVUM 1979 — aspectul nou (03.10.2026): asezarea si comportamentul 1:1 ca
   simpluceramics.ro (bara de anunt, antet in panou rotunjit, meniu-pastile cu
   liste derulante, carduri rotunjite, sertar de cos, subsol care se descopera),
   in culorile NOVUM: cerneala #1C1F26 + nisip. Masuri luate pe referinta la
   1440 px si 390 px (scratchpad/ref_simplu/cap/masuri_*.txt).
   ============================================================================ */
:root {
    --ink: #1C1F26;
    --ink-60: rgba(28, 31, 38, .6);
    --ink-10: rgba(28, 31, 38, .1);
    --ink-06: rgba(28, 31, 38, .06);
    --fond: #F0EEE9;          /* panoul paginii (la referinta: alb) */
    --v-card: #E8E5DF;        /* carduri (la referinta: #FAFAFA pe alb) */
    --hartie: #F7F5F1;        /* liste derulante, sertare, ferestre */
    --nisip-adanc: #D0CCC3;   /* sublinierea cuvantului evidentiat */
    --noapte: #1C1F26;        /* bara de anunt + bara de jos */
    --noapte-2: #252932;      /* subsolul */
    --r: 15px;
    --r-lg: 23px;
    --pagina: 48px;           /* marginea laterala (telefon: 20px) */
    --font: 'Urbanist', 'Helvetica Neue', Arial, sans-serif;
    --h-mare: clamp(32px, 2.2vw + 16px, 48.5px);
    --h-card: clamp(20px, .6vw + 15px, 25px);
}
@media (max-width: 760px) { :root { --pagina: 20px; } }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.v2 { margin: 0; background: var(--noapte); color: var(--ink); font-family: var(--font); font-size: 17px; line-height: 1.6; font-variant-numeric: lining-nums;
    -webkit-font-smoothing: antialiased; }
/* resetarile stau pe :where() (specificitate zero), ca sa nu bata culorile butoanelor si ale cardurilor */
:where(.v2) img { max-width: 100%; display: block; }
:where(.v2) a { color: inherit; text-decoration: none; }
:where(.v2) button { font-family: inherit; color: inherit; }
:where(.v2) h1, :where(.v2) h2, :where(.v2) h3 { margin: 0; font-family: var(--font); font-weight: 700; letter-spacing: -0.02em; line-height: 1; text-wrap: balance; }
:where(.v2) p { margin: 0; }
.v-ascuns { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.v2 :focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }

/* ---------------------------------------------------------------- butoane (pastila cu umplere care urca) */
.v-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px; overflow: hidden; isolation: isolate; font-family: var(--font); letter-spacing: .01em;
    min-height: 56px; padding: 18px 26px; border-radius: 60px; border: 0; cursor: pointer; font-size: 15.27px; font-weight: 700;
    line-height: 1; white-space: nowrap; transition: color .35s; }
.v-btn__f { position: absolute; z-index: -1; left: 50%; top: 50%; width: 150%; aspect-ratio: 1; border-radius: 50%; pointer-events: none;
    transform: translate(-50%, -50%) translateY(76%); }
.v-btn__t { display: inline-flex; align-items: center; gap: 10px; will-change: transform; }
.v-btn--plin { background: var(--ink); color: #fff; }
.v-btn--plin .v-btn__f { background: #464C59; }
.v-btn--contur { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); transition: color .45s; }
.v-btn--contur .v-btn__f { background: var(--ink); }
.v-btn--contur.is-plin { color: #fff; }
.v-btn--alb { background: #fff; color: var(--ink); min-height: 51px; transition: color .45s; }
.v-btn--alb .v-btn__f { background: rgba(28, 31, 38, .6); }
.v-btn--alb.is-plin { color: #fff; }
.v-btn svg { flex: none; }
.v-btn--lat { width: 100%; }
@media (max-width: 760px) { .v-btn { min-height: 44px; padding: 14px 16px; font-size: 13px; } .v-btn--alb { min-height: 50px; font-size: 14px; } }

/* ---------------------------------------------------------------- paginile vechi in aspectul nou */
.v2 .container { max-width: 1536px; padding-left: var(--pagina); padding-right: var(--pagina); }
.v2 .container.narrow { max-width: 908px; }
/* inaltimea antetului lipit — o folosesc scenele lipite (configurator, setul de 6, galeria produsului) */
:root { --hdr-h: 84px; --chrome-h: 84px; }
@media (max-width: 1100px) { :root { --hdr-h: 68px; --chrome-h: 68px; } }

/* ---------------------------------------------------------------- bara de anunt */
.v-anunt { height: 48px; background: var(--noapte); color: #FAFAFA; font-size: 13px; line-height: 1.25; }
.v-anunt__in { height: 100%; padding: 0 var(--pagina); display: grid; grid-template-columns: 1fr minmax(0, 560px) 1fr; align-items: center; gap: 16px; }
.v-anunt__mesaje { display: grid; grid-template-columns: 32px 1fr 32px; align-items: center; }
.v-anunt__mesaje button { width: 32px; height: 32px; display: grid; place-items: center; border: 0; background: none; color: #FAFAFA; cursor: pointer; opacity: .8; }
.v-anunt__mesaje button:hover { opacity: 1; }
.v-anunt__lista { position: relative; height: 34px; overflow: hidden; }
.v-anunt__lista p { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 8px; text-align: center;
    opacity: 0; transform: translateY(8px); transition: opacity .45s, transform .45s; }
.v-anunt__lista p.is-on { opacity: 1; transform: none; }
.v-anunt__lista a { text-decoration: underline; text-underline-offset: 3px; }
.v-anunt__dr { justify-self: end; }
.v-limba { position: relative; }
.v-limba > button { display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 4px; border: 0; background: none; color: #FAFAFA;
    font-size: 13px; cursor: pointer; }
.v-limba ul { position: absolute; right: 0; top: calc(100% + 8px); z-index: 90; min-width: 180px; margin: 0; padding: 8px; list-style: none;
    border-radius: var(--r); background: var(--hartie); color: var(--ink); box-shadow: 0 24px 50px -20px rgba(0, 0, 0, .45);
    opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .2s, transform .2s, visibility .2s; }
.v-limba.is-deschis ul { opacity: 1; visibility: visible; transform: none; }
.v-limba li a { display: flex; justify-content: space-between; gap: 16px; padding: 9px 12px; border-radius: 10px; font-size: 14px; }
.v-limba li a:hover, .v-limba li a.is-on { background: var(--ink-06); }
.v-limba li a b { font-weight: 700; font-size: 12px; color: var(--ink-60); }
@media (max-width: 1100px) {
    .v-anunt__in { grid-template-columns: 1fr; }
    .v-anunt__st, .v-anunt__dr { display: none; }
}

/* ---------------------------------------------------------------- panoul paginii (peste subsol) */
.v-pagina { position: relative; z-index: 1; background: var(--fond); border-radius: var(--r-lg); overflow: clip; }

/* ---------------------------------------------------------------- antetul */
.v-antet { position: sticky; top: 0; z-index: 60; background: var(--fond); transition: box-shadow .3s; }
.v-antet.is-lipit { box-shadow: 0 10px 30px -22px rgba(28, 31, 38, .45); }
.v-antet__in { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; min-height: 148px; padding: 0 var(--pagina);
    transition: min-height .3s; }
.v-antet.is-lipit .v-antet__in { min-height: 84px; }
.v-logo { display: block; color: var(--ink); }
.v-logo svg { width: 192px; height: auto; display: block; }
.v-nav { justify-self: end; }
.v-nav > ul { display: flex; align-items: center; gap: 0; margin: 0; padding: 0; list-style: none; }
.v-nav li { position: relative; }
.v-nav__a { position: relative; display: inline-flex; align-items: center; height: 42px; padding: 0 20px; border-radius: 999px; overflow: hidden;
    font-size: 16.54px; font-weight: 400; line-height: 1; white-space: nowrap; cursor: pointer; border: 0; background: none; }
.v-nav__a span { display: block; transition: transform .35s cubic-bezier(.2, .8, .2, 1); }
.v-nav__a span + span { position: absolute; left: 0; right: 0; top: 0; height: 100%; display: grid; place-items: center; background: var(--ink); color: #fff;
    border-radius: 999px; transform: translateY(105%); }
.v-nav li:hover > .v-nav__a span:first-child, .v-nav li:focus-within > .v-nav__a span:first-child, .v-nav__a.is-aici span:first-child { transform: translateY(-105%); }
.v-nav li:hover > .v-nav__a span + span, .v-nav li:focus-within > .v-nav__a span + span, .v-nav__a.is-aici span + span { transform: none; }
.v-drop { position: absolute; left: -32px; top: calc(100% + 12px); z-index: 70; min-width: 250px; padding: 22px 18px 18px; border-radius: var(--r);
    background: var(--hartie); box-shadow: 0 30px 60px -28px rgba(28, 31, 38, .45); opacity: 0; visibility: hidden; transform: translateY(-8px);
    transition: opacity .25s, transform .25s, visibility .25s; }
.v-drop::before { content: ''; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
.v-nav li:hover > .v-drop, .v-nav li:focus-within > .v-drop { opacity: 1; visibility: visible; transform: none; }
.v-drop a { display: block; padding: 5px 14px; font-size: 15px; line-height: 1.4; border-radius: 8px; transition: transform .25s, background .2s; }
.v-drop a:hover { transform: translateX(4px); }
.v-drop a.v-drop__t { font-size: 14px; letter-spacing: .04em; text-transform: uppercase; margin-bottom: 4px; }
.v-antet__dr { display: flex; align-items: center; gap: 6px; }
.v-ic { position: relative; display: grid; place-items: center; width: 50px; height: 50px; border: 0; border-radius: 50%; background: none; cursor: pointer;
    transition: background .2s; }
.v-ic svg { width: 26px; height: 26px; transition: transform .25s; }
.v-ic:hover svg { transform: scale(1.06); }
.v-ic__n { position: absolute; top: 6px; right: 4px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 99px; background: var(--ink); color: #fff;
    font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; }
.v-ic__n[data-n="0"] { display: none; }
.v-antet__meniu { display: none; }
@media (max-width: 1250px) { .v-nav__a { padding: 0 14px; font-size: 16px; } }
@media (max-width: 1100px) {
    .v-antet__in { grid-template-columns: 1fr auto 1fr; min-height: 92px; gap: 8px; }
    .v-antet.is-lipit .v-antet__in { min-height: 68px; }
    .v-antet__meniu { display: grid; justify-self: start; }
    .v-logo { justify-self: center; }
    .v-logo svg { width: 136px; }
    .v-nav { display: none; }
    .v-antet__dr { justify-self: end; gap: 0; }
    .v-ic { width: 44px; height: 44px; }
}

/* ---------------------------------------------------------------- meniul de telefon: foaie de jos */
.v-foaie { position: fixed; inset: 0; z-index: 120; visibility: hidden; }
.v-foaie__fond { position: absolute; inset: 0; background: rgba(20, 22, 27, .55); opacity: 0; transition: opacity .3s; }
.v-foaie__corp { position: absolute; left: 0; right: 0; bottom: 0; top: 48px; display: flex; flex-direction: column; border-radius: 22px 22px 0 0;
    background: var(--hartie); transform: translateY(100%); transition: transform .4s cubic-bezier(.2, .8, .2, 1); overflow: hidden; }
.v-foaie.is-deschis { visibility: visible; }
.v-foaie.is-deschis .v-foaie__fond { opacity: 1; }
.v-foaie.is-deschis .v-foaie__corp { transform: none; }
.v-foaie__maner { width: 48px; height: 4px; margin: 12px auto 0; border-radius: 9px; background: var(--ink-10); }
.v-foaie__x { position: absolute; right: 14px; top: 14px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--ink-10); background: #fff; font-size: 22px; cursor: pointer; }
.v-foaie__nivele { position: relative; flex: 1; overflow: hidden; }
.v-foaie__nivel { position: absolute; inset: 0; overflow: auto; padding: 56px 20px 24px; transition: transform .35s cubic-bezier(.2, .8, .2, 1); }
.v-foaie__nivel + .v-foaie__nivel { transform: translateX(100%); }
.v-foaie.is-sub .v-foaie__nivel:first-child { transform: translateX(-30%); }
.v-foaie__nivel.is-activ { transform: none; }
.v-foaie__nivel ul { margin: 0; padding: 0; list-style: none; }
.v-foaie__nivel > ul > li > a, .v-foaie__nivel > ul > li > button { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 6px 0;
    border: 0; background: none; text-align: left; font-size: 34px; font-weight: 700; letter-spacing: -0.03em; line-height: 1.3; cursor: pointer; }
.v-foaie__nivel .v-foaie__sub a { display: block; padding: 8px 0; font-size: 20px; font-weight: 400; }
.v-foaie__inapoi { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px; border: 0; background: none; font-size: 15px; cursor: pointer; padding: 0; }
.v-foaie__jos { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--ink-10); background: var(--hartie); }
.v-foaie__jos a { padding: 18px 20px; font-size: 16px; }
.v-foaie__jos a + a { border-left: 1px solid var(--ink-10); }
html.v-blocat, html.v-blocat body { overflow: hidden; }

/* ---------------------------------------------------------------- sertarele (cos, cautare) */
.v-sertar { position: fixed; inset: 0; z-index: 130; visibility: hidden; }
.v-sertar__fond { position: absolute; inset: 0; background: rgba(20, 22, 27, .45); opacity: 0; transition: opacity .3s; }
.v-sertar__corp { position: absolute; top: 0; right: 0; bottom: 0; width: min(576px, 100%); display: flex; flex-direction: column; background: var(--hartie);
    border-radius: var(--r-lg) 0 0 var(--r-lg); transform: translateX(100%); transition: transform .45s cubic-bezier(.2, .8, .2, 1); }
.v-sertar.is-deschis { visibility: visible; }
.v-sertar.is-deschis .v-sertar__fond { opacity: 1; }
.v-sertar.is-deschis .v-sertar__corp { transform: none; }
.v-sertar__cap { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 30px 48px 26px; border-bottom: 1px solid var(--ink-10); }
.v-sertar__cap h2 { font-size: 30px; letter-spacing: -0.03em; }
.v-sertar__cap h2 sup { font-size: 12px; font-weight: 400; margin-left: 2px; }
.v-x { flex: none; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--ink-10); background: #fff; cursor: pointer; }
.v-sertar__corp-in { flex: 1; overflow: auto; padding: 26px 48px; }
.v-sertar__jos { padding: 22px 48px 30px; border-top: 1px solid var(--ink-10); background: #fff; }
.v-livrare { font-size: 14px; }
.v-livrare__bara { height: 6px; margin: 12px 0 26px; border-radius: 9px; background: var(--ink-06); overflow: hidden; }
.v-livrare__bara i { display: block; height: 100%; width: calc(var(--p, 0) * 100%); background: var(--ink); border-radius: inherit; transition: width .4s; }
.v-cos-l { display: grid; grid-template-columns: 96px 1fr auto; gap: 22px; padding: 0 0 22px; }
.v-cos-l img { width: 96px; height: 96px; object-fit: cover; border-radius: 12px; background: var(--v-card); }
.v-cos-l__n { font-size: 16px; line-height: 1.3; }
.v-cos-l__p { margin-top: 6px; font-size: 14px; color: var(--ink-60); }
.v-cos-l__cant { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.v-pas { display: inline-flex; align-items: center; height: 44px; border-radius: 12px; background: var(--v-card); }
.v-pas button { width: 36px; height: 44px; border: 0; background: none; font-size: 18px; cursor: pointer; }
.v-pas b { min-width: 24px; text-align: center; font-size: 15px; }
.v-cos-l__sterge { border: 0; background: none; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; color: var(--ink-60); }
.v-cos-gol { padding: 40px 0; text-align: center; }
.v-cos-gol p { margin-bottom: 20px; color: var(--ink-60); }
.v-cos-total { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 18px; font-size: 14px; color: var(--ink-60); }
.v-cos-total b { display: block; font-size: 22px; color: var(--ink); text-align: right; }
.v-cautare__camp { display: flex; align-items: center; gap: 12px; height: 62px; padding: 0 22px; border-radius: 12px; background: #fff; border: 1px solid var(--ink-10); }
.v-cautare__camp input { flex: 1; border: 0; outline: 0; background: none; font: inherit; font-size: 18px; min-width: 0; }
.v-cautare__rez { margin: 22px 0 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.v-cautare__rez a { display: grid; grid-template-columns: 64px 1fr auto; gap: 16px; align-items: center; padding: 6px; border-radius: 12px; }
.v-cautare__rez a:hover { background: #fff; }
.v-cautare__rez img { width: 64px; height: 64px; border-radius: 10px; object-fit: cover; background: var(--v-card); }
.v-cautare__rez span { font-size: 15px; line-height: 1.3; }
.v-cautare__rez small { color: var(--ink-60); font-size: 13px; }
@media (max-width: 760px) {
    .v-sertar__corp { border-radius: 0; }
    .v-sertar__cap, .v-sertar__corp-in, .v-sertar__jos { padding-left: 20px; padding-right: 20px; }
    .v-sertar__cap h2 { font-size: 24px; }
    .v-cos-l { grid-template-columns: 76px 1fr auto; gap: 14px; }
    .v-cos-l img { width: 76px; height: 76px; }
}

/* ---------------------------------------------------------------- sectiuni */
.v-s { padding: 100px var(--pagina); }
.v-s--strans { padding-top: 72px; }
.v-s__cap { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 36px; }
.v-h2 { font-size: var(--h-mare); }
.v-evid { position: relative; display: inline-block; font-style: normal; }
.v-evid svg { position: absolute; left: -2%; bottom: -.22em; width: 104%; height: .32em; color: var(--nisip-adanc); overflow: visible; }
@media (max-width: 760px) { .v-s { padding-top: 75px; padding-bottom: 75px; } .v-s--strans { padding-top: 54px; } .v-s__cap { margin-bottom: 24px; } }

/* hero: slideshow rotunjit, vecinii se vad pe margini */
.v-hero { position: relative; padding: 0; }
.v-hero__pista { display: flex; gap: 30px; padding: 0 var(--pagina); transition: transform .8s cubic-bezier(.65, 0, .35, 1); will-change: transform; }
.v-hero__s { position: relative; flex: 0 0 calc(100% - 2 * var(--pagina)); height: clamp(500px, 44.3vw, 750px); border-radius: var(--r); overflow: hidden;
    background: var(--v-card); color: #fff; }
.v-hero__s picture, .v-hero__s img, .v-hero__s video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.v-hero__s::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20, 22, 27, 0) 40%, rgba(20, 22, 27, .55) 100%); }
.v-hero__txt { position: absolute; z-index: 2; left: 60px; right: 60px; bottom: 140px; display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.v-hero__txt h1, .v-hero__txt h2 { max-width: 15em; font-size: var(--h-mare); color: #fff; }
.v-hero__ctrl { position: absolute; z-index: 3; left: calc(var(--pagina) + 60px); right: calc(var(--pagina) + 60px); bottom: 60px; display: grid;
    grid-template-columns: 48px 1fr 48px; align-items: end; padding-top: 0; border-top: 1px solid rgba(255, 255, 255, .1); height: 49px; color: #fff; }
.v-hero__ctrl > button { width: 48px; height: 48px; display: grid; place-items: center; border: 0; background: none; color: #fff; cursor: pointer; }
.v-puncte { display: flex; justify-content: center; }
.v-puncte button { width: 24px; height: 24px; display: grid; place-items: center; border: 0; background: none; cursor: pointer; }
.v-puncte button::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #fff; transition: all .3s; }
.v-puncte button.is-on::before { width: 12px; height: 12px; background: transparent; box-shadow: inset 0 0 0 2px #fff; }
@media (max-width: 760px) {
    .v-hero__pista { gap: 10px; }
    .v-hero__s { height: 500px; border-radius: 10px; }
    .v-hero__txt { left: 20px; right: 20px; bottom: 74px; flex-direction: column; align-items: stretch; gap: 24px; }
    .v-hero__txt h1, .v-hero__txt h2 { font-size: 32px; }
    .v-hero__txt .v-btn { width: 100%; }
    .v-hero__ctrl { left: calc(var(--pagina) + 20px); right: auto; bottom: 20px; border: 0; grid-template-columns: auto; height: 24px; }
    .v-hero__ctrl > button { display: none; }
    .v-puncte { justify-content: flex-start; }
}

/* povestea: titlu + buton in stanga, text in dreapta */
.v-poveste { display: grid; grid-template-columns: minmax(0, 454px) minmax(0, 770px); justify-content: space-between; gap: 48px; }
.v-poveste__st { display: grid; align-content: start; gap: 44px; justify-items: start; }
.v-poveste__txt { display: grid; gap: 18px; font-size: 16px; line-height: 1.6; }
.v-poveste__txt strong { font-weight: 700; }
@media (max-width: 900px) { .v-poveste { grid-template-columns: 1fr; gap: 32px; } .v-poveste__st { gap: 28px; } }

/* doua drumuri: magazin / business */
.v-drumuri { display: grid; grid-template-columns: 1fr 1fr; gap: 19px; }
.v-drum { position: relative; display: block; min-height: 560px; border-radius: var(--r); overflow: hidden; color: #fff; background: var(--v-card); }
.v-drum img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2, .8, .2, 1); }
.v-drum:hover img { transform: scale(1.04); }
.v-drum::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20, 22, 27, 0) 35%, rgba(20, 22, 27, .7) 100%); }
.v-drum__txt { position: absolute; z-index: 2; left: 40px; right: 40px; bottom: 40px; display: grid; gap: 14px; justify-items: start; }
.v-drum__txt small { font-size: 14px; opacity: .85; }
.v-drum__txt h3 { font-size: clamp(28px, 2vw + 10px, 40px); }
.v-drum__txt p { max-width: 30em; font-size: 15px; line-height: 1.5; opacity: .92; }
@media (max-width: 900px) { .v-drumuri { grid-template-columns: 1fr; gap: 12px; } .v-drum { min-height: 440px; } .v-drum__txt { left: 22px; right: 22px; bottom: 24px; } }

/* carusel de carduri (colectii / volume) */
.v-carusel { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * 19px) / 4.25); gap: 19px; overflow-x: auto; overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(-1 * var(--pagina)); padding: 0 var(--pagina); scroll-padding: 0 var(--pagina); cursor: grab; }
.v-carusel::-webkit-scrollbar { display: none; }
.v-carusel.is-trag { cursor: grabbing; scroll-snap-type: none; }
.v-carusel.is-trag a { pointer-events: none; }
.v-card { scroll-snap-align: start; display: flex; flex-direction: column; min-height: 446px; border-radius: var(--r); overflow: hidden; background: var(--v-card); }
.v-card__media { position: relative; aspect-ratio: 1; overflow: hidden; background: #EDEBE6; }
.v-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.2, .8, .2, 1); }
.v-card:hover .v-card__media img { transform: scale(1.05); }
.v-card__jos { flex: 1; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 16px; padding: 22px 30px 24px; }
.v-card__t { position: relative; display: inline-block; font-size: var(--h-card); font-weight: 700; letter-spacing: -0.05em; line-height: 1.25; }
.v-card__t sup { position: absolute; left: calc(100% + 3px); top: -4px; font-size: 12px; font-weight: 400; letter-spacing: 0; }
.v-card__d { display: block; margin-top: 6px; font-size: 14px; line-height: 1.15; color: var(--ink-60); }
.v-card--plin { position: relative; color: #fff; }
.v-card--plin .v-card__media { position: absolute; inset: 0; aspect-ratio: auto; }
.v-card--plin::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20, 22, 27, 0) 45%, rgba(20, 22, 27, .7) 100%); }
.v-card--plin .v-card__jos { position: relative; z-index: 2; margin-top: auto; flex: none; padding: 24px; }
.v-card--plin .v-card__d { color: rgba(255, 255, 255, .9); }
@media (max-width: 1100px) { .v-carusel { grid-auto-columns: calc((100% - 2 * 19px) / 2.6); } }
@media (max-width: 760px) {
    .v-carusel { grid-auto-columns: 289px; gap: 12px; }
    .v-card { min-height: 384px; border-radius: 10px; }
    .v-card__jos { padding: 16px 16px 18px; }
    .v-card__d { font-size: 12px; }
}

/* produsul recomandat */
.v-reco { position: relative; display: grid; grid-template-columns: 97px minmax(0, 704px) minmax(0, 459px); gap: 16px 16px; justify-content: space-between;
    padding-top: 120px; border-radius: var(--r-lg) var(--r-lg) 0 0; }
.v-reco__mini { display: grid; align-content: start; gap: 16px; }
.v-reco__mini button { width: 97px; height: 97px; padding: 0; border: 0; border-radius: 10px; overflow: hidden; background: var(--v-card); cursor: pointer;
    box-shadow: inset 0 0 0 1px transparent; transition: box-shadow .2s; }
.v-reco__mini button.is-on { box-shadow: 0 0 0 2px var(--ink); }
.v-reco__mini img { width: 100%; height: 100%; object-fit: cover; }
.v-reco__galerie { position: relative; aspect-ratio: 1; border-radius: var(--r); overflow: hidden; background: #EDEBE6; }
.v-reco__galerie img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .5s; }
.v-reco__galerie img.is-on { opacity: 1; }
.v-reco__sageti { position: absolute; left: 24px; right: 24px; top: 50%; display: flex; justify-content: space-between; transform: translateY(-50%); pointer-events: none; }
.v-reco__sageti button { pointer-events: auto; width: 56px; height: 56px; display: grid; place-items: center; border: 0; border-radius: 50%; background: #fff; cursor: pointer; }
.v-stampila { position: absolute; z-index: 3; right: -10px; top: -80px; width: 150px; height: 150px; color: var(--ink); animation: vRot 18s linear infinite; }
.v-stampila svg { width: 100%; height: 100%; overflow: visible; }
@keyframes vRot { to { transform: rotate(360deg); } }
.v-reco__info { display: grid; align-content: start; gap: 0; }
.v-reco__vand { font-size: 16px; margin-bottom: 14px; }
.v-reco__cap { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: end; margin-bottom: 22px; }
.v-reco__cap h3 { font-size: clamp(24px, 1.6vw + 12px, 40px); line-height: 1; }
.v-pret { font-size: clamp(18px, .5vw + 14px, 22px); font-weight: 700; white-space: nowrap; }
.v-reco__txt { display: grid; gap: 18px; font-size: 16px; line-height: 1.6; }
.v-reco__txt b { font-weight: 700; }
.v-reco__adauga { margin-top: 32px; }
.v-reco__share { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 32px; font-size: 16px; }
.v-reco__share a { display: grid; place-items: center; width: 28px; height: 28px; }
.v-reco__share .v-ajutor { margin-left: auto; display: inline-flex; gap: 8px; align-items: center; width: auto; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
.v-plus { margin-top: 36px; padding: 24px; border-radius: 10px; background: var(--ink-06); display: grid; }
.v-plus p { display: flex; align-items: center; gap: 14px; padding: 16px; border-radius: 10px; font-size: 14px; line-height: 1.25; }
.v-plus p:nth-child(odd) { background: var(--hartie); }
.v-plus svg { flex: none; width: 20px; height: 20px; }
.v-detalii { display: flex; justify-content: space-between; align-items: center; margin-top: 36px; font-size: 15.27px; font-weight: 700; }
@media (max-width: 1100px) {
    .v-reco { grid-template-columns: minmax(0, 1fr); padding-top: 90px; }
    .v-reco__mini { order: 2; grid-auto-flow: column; justify-content: center; gap: 0; }
    .v-reco__mini button { width: 24px; height: 24px; background: none; border-radius: 50%; display: grid; place-items: center; }
    .v-reco__mini button img { display: none; }
    .v-reco__mini button::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--ink); opacity: .35; }
    .v-reco__mini button.is-on { box-shadow: none; }
    .v-reco__mini button.is-on::before { opacity: 1; width: 8px; height: 8px; }
    .v-reco__galerie { border-radius: 10px; }
    .v-reco__sageti { display: none; }
    .v-stampila { width: 110px; height: 110px; right: -6px; top: -60px; }
    .v-reco__info { order: 3; margin-top: 16px; }
}

/* colectiile (asezarea „ultimelor articole" de la referinta) */
.v-jurnal { display: grid; grid-template-columns: minmax(0, 763px) minmax(0, 531px); gap: 50px; justify-content: space-between; }
.v-jurnal__mare { position: relative; display: block; min-height: 733px; border-radius: var(--r); overflow: hidden; color: #fff; background: var(--v-card); }
.v-jurnal__mare img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2, .8, .2, 1); }
.v-jurnal__mare:hover img { transform: scale(1.04); }
.v-jurnal__mare::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20, 22, 27, .05) 25%, rgba(20, 22, 27, .75) 100%); }
.v-jurnal__mare-txt { position: absolute; z-index: 2; left: 50px; right: 50px; bottom: 50px; display: grid; gap: 22px; }
.v-meta { display: flex; align-items: center; gap: 16px; font-size: 14px; }
.v-meta span + span { padding-left: 16px; border-left: 1px solid currentColor; }
.v-jurnal__mare-txt h3 { font-size: clamp(26px, 1.8vw + 10px, 36.4px); font-weight: 700; letter-spacing: -0.025em; max-width: 13em; }
.v-jurnal__mare-txt p { font-size: clamp(15px, .5vw + 12px, 18.5px); line-height: 1.6; max-width: 36em; }
.v-link { justify-self: start; font-size: 16px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.v-jurnal__lista { display: grid; align-content: start; }
.v-jurnal__el { display: grid; grid-template-columns: 212px 1fr; gap: 32px; padding: 0 0 36px; }
.v-jurnal__el + .v-jurnal__el { padding-top: 36px; border-top: 1px solid var(--ink-10); }
.v-jurnal__el img { width: 212px; height: 100%; min-height: 300px; object-fit: cover; border-radius: var(--r); background: var(--v-card); }
.v-jurnal__el .v-meta { font-size: 12px; margin-bottom: 18px; }
.v-jurnal__el h3 { font-size: 22px; font-weight: 700; letter-spacing: -0.025em; line-height: 1.25; margin-bottom: 18px; }
.v-jurnal__el p { font-size: 16px; line-height: 1.6; margin-bottom: 26px; }
.v-jurnal__el .v-link { font-size: 14px; }
@media (max-width: 1100px) {
    .v-jurnal { grid-template-columns: 1fr; gap: 32px; }
    .v-jurnal__mare { min-height: 520px; }
    .v-jurnal__mare-txt { left: 24px; right: 24px; bottom: 28px; }
}
@media (max-width: 560px) { .v-jurnal__el { grid-template-columns: 120px 1fr; gap: 18px; } .v-jurnal__el img { width: 120px; min-height: 180px; } }

/* bannerul „pentru brandul tau" */
.v-banner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 560px; border-radius: var(--r); overflow: hidden; background: var(--noapte); color: #fff; }
.v-banner__img { position: relative; }
.v-banner__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.v-banner__txt { display: grid; align-content: center; gap: 22px; justify-items: start; padding: 64px; }
.v-banner__txt small { font-size: 14px; opacity: .7; }
.v-banner__txt p { max-width: 30em; opacity: .85; }
@media (max-width: 900px) { .v-banner { grid-template-columns: 1fr; } .v-banner__img { min-height: 320px; } .v-banner__txt { padding: 32px 22px 36px; } }

/* hospitality / corporate: carduri cu poza */
.v-grila3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 19px; }
.v-pcard { position: relative; display: block; min-height: 480px; border-radius: var(--r); overflow: hidden; color: #fff; background: var(--v-card); }
.v-pcard img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2, .8, .2, 1); }
.v-pcard:hover img { transform: scale(1.04); }
.v-pcard::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20, 22, 27, 0) 40%, rgba(20, 22, 27, .72) 100%); }
.v-pcard__txt { position: absolute; z-index: 2; left: 28px; right: 28px; bottom: 26px; display: grid; gap: 8px; }
.v-pcard__txt h3 { font-size: var(--h-card); letter-spacing: -0.04em; }
.v-pcard__txt p { font-size: 14px; line-height: 1.45; opacity: .9; }
@media (max-width: 900px) { .v-grila3 { grid-template-columns: 1fr; gap: 12px; } .v-pcard { min-height: 380px; } }

/* procesul: pasii in ordine (aici numerele chiar inseamna ordinea) */
.v-proces { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0; counter-reset: pas;
    border-top: 1px solid var(--ink-10); }
.v-proces li { counter-increment: pas; padding: 26px 22px 0 0; display: grid; gap: 8px; align-content: start; }
.v-proces li::before { content: counter(pas, decimal-leading-zero); font-size: 13px; color: var(--ink-60); font-variant-numeric: tabular-nums; }
.v-proces b { font-size: 18px; letter-spacing: -0.02em; line-height: 1.2; }
.v-proces span { font-size: 14px; line-height: 1.45; color: var(--ink-60); }
@media (max-width: 1100px) { .v-proces { grid-template-columns: 1fr 1fr; gap: 0 20px; } }
@media (max-width: 560px) { .v-proces { grid-template-columns: 1fr; } .v-proces li { grid-template-columns: 40px 1fr; padding: 18px 0; border-bottom: 1px solid var(--ink-10); } .v-proces li::before { grid-row: span 2; padding-top: 3px; } }

/* garantiile de deasupra subsolului */
.v-garantii { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; padding: 60px var(--pagina); border-top: 1px solid var(--ink-10); }
.v-garantii > div { display: grid; grid-template-columns: 24px 1fr; gap: 0 20px; padding: 0 30px; }
.v-garantii > div:first-child { padding-left: 0; }
.v-garantii > div + div { border-left: 1px solid var(--ink-10); }
.v-garantii svg { width: 24px; height: 24px; margin-top: 2px; grid-row: span 2; }
.v-garantii b { font-size: 18px; font-weight: 400; line-height: 1.25; margin-bottom: 8px; }
.v-garantii p { font-size: 13px; line-height: 1.25; }
@media (max-width: 1100px) { .v-garantii { grid-template-columns: 1fr 1fr; gap: 28px 0; } .v-garantii > div:nth-child(3) { border-left: 0; padding-left: 0; } }
@media (max-width: 560px) { .v-garantii { grid-template-columns: 1fr; } .v-garantii > div { padding: 0; border-left: 0 !important; } }

/* ---------------------------------------------------------------- subsolul: se descopera de sub pagina */
.v-subsol { position: sticky; bottom: 0; z-index: 0; background: var(--noapte); color: #fff; }
.v-subsol__corp { margin-top: calc(-1 * var(--r-lg)); padding: calc(72px + var(--r-lg)) var(--pagina) 72px; background: var(--noapte-2); border-radius: 0 0 var(--r-lg) var(--r-lg);
    display: grid; grid-template-columns: 211px minmax(0, 1fr) minmax(0, 1fr); gap: 0; }
.v-subsol__logo svg { width: 150px; color: #E3E0D9; }
.v-subsol__col { display: grid; grid-template-columns: repeat(2, minmax(0, 230px)); gap: 48px; padding-right: 48px; border-right: 1px solid rgba(255, 255, 255, .114); }
.v-subsol__col h3, .v-subsol__dr h3 { font-size: 21px; letter-spacing: -0.03em; margin-bottom: 28px; }
.v-subsol__col ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.v-subsol__col a { font-size: 16.54px; line-height: 1.25; opacity: .8; transition: opacity .2s; }
.v-subsol__col a:hover { opacity: 1; }
.v-subsol__contact { grid-column: 1 / -1; margin-top: 30px; }
.v-subsol__contact a { display: block; font-size: 22.7px; line-height: 1.25; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.v-subsol__dr { padding-left: 120px; display: grid; align-content: start; gap: 22px; justify-items: start; }
.v-subsol__dr h3 { font-size: 29.7px; margin: 0; }
.v-subsol__dr p { font-size: 15px; line-height: 1.5; opacity: .75; max-width: 28em; }
.v-subsol__bara { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 28px var(--pagina) 30px; font-size: 14px; }
.v-subsol__bara nav { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 6px; font-size: 11.2px; }
.v-subsol__bara nav a:hover { text-decoration: underline; }
@media (max-width: 1100px) {
    .v-subsol { position: relative; }
    .v-subsol__corp { grid-template-columns: 1fr; gap: 36px; padding-top: calc(54px + var(--r-lg)); padding-bottom: 48px; }
    .v-subsol__col { border-right: 0; padding-right: 0; }
    .v-subsol__dr { padding-left: 0; }
    .v-subsol__bara { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 560px) { .v-subsol__col { grid-template-columns: 1fr 1fr; gap: 28px; } .v-subsol__contact a { font-size: 19px; } }

/* ---------------------------------------------------------------- fereastra B2B */
.v-popup { position: fixed; right: 34px; bottom: 34px; z-index: 110; width: min(790px, calc(100vw - 24px)); display: grid; grid-template-columns: 310px 1fr;
    border-radius: var(--r); overflow: hidden; background: var(--hartie); box-shadow: 0 40px 90px -30px rgba(20, 22, 27, .55);
    opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity .4s, transform .4s, visibility .4s; }
.v-popup.is-deschis { opacity: 1; visibility: visible; transform: none; }
.v-popup img { width: 100%; height: 100%; object-fit: cover; min-height: 430px; }
.v-popup__txt { position: relative; padding: 52px 34px 34px; display: grid; align-content: center; gap: 16px; justify-items: start; }
.v-popup__txt small { font-size: 12px; color: var(--ink-60); }
.v-popup__txt h2 { font-size: 29px; letter-spacing: -0.04em; }
.v-popup__txt p { font-size: 14px; line-height: 1.6; color: var(--ink-60); }
.v-popup .v-x { position: absolute; right: 16px; top: 16px; }
@media (max-width: 760px) {
    .v-popup { right: 12px; left: 12px; bottom: 12px; width: auto; grid-template-columns: 1fr; }
    .v-popup img { min-height: 0; height: 180px; }
    .v-popup__txt { padding: 26px 20px 22px; }
    .v-popup__txt h2 { font-size: 24px; }
}

@media (prefers-reduced-motion: reduce) {
    .v2 *, .v2 *::before, .v2 *::after { transition: none !important; animation: none !important; }
}

/* ============================================================================
   03.10.2026 — runda 2 (Dan): font Ysabeau Office, bara de sus cu retele, fara limba in meniu,
   iconite + miscare (magnet, umplere, cursor), slider cu vecinii egali, popup animat, sigiliul vechi
   ============================================================================ */

/* bara de sus: stanga = retelele (sau telefonul + e-mailul cat nu sunt completate in admin) */
.v-anunt__st { display: flex; align-items: center; gap: 20px; }
@media (max-width: 1100px) { .v-anunt__st { display: none; } }
/* mesajele lungi (cu link) se rup pe doua randuri centrate, nu se suprapun */
.v-anunt__lista p { flex-wrap: wrap; align-content: center; column-gap: 6px; row-gap: 0; }
@media (max-width: 760px) { .v-anunt { font-size: 12.5px; } .v-anunt__lista { height: 40px; } }
.v-anunt__soc { display: grid; place-items: center; width: 32px; height: 32px; color: #FAFAFA; opacity: .9; }
.v-anunt__soc:hover { opacity: 1; }
.v-anunt__tel { display: inline-flex; align-items: center; gap: 8px; color: #FAFAFA; font-size: 13px; opacity: .88; white-space: nowrap; }
.v-anunt__tel:hover { opacity: 1; }
.v-anunt__tel + .v-anunt__tel { padding-left: 20px; border-left: 1px solid rgba(255, 255, 255, .18); }
.v-anunt { font-size: 14px; }

/* meniul: Ysabeau e mai stramt decat Inter, deci corpul creste putin */
.v-nav__a { font-size: 17.5px; font-weight: 500; letter-spacing: .005em; }
.v-drop a { font-size: 16px; }
.v-drop a.v-drop__t { font-size: 13px; letter-spacing: .1em; }
.v-antet__dr { gap: 2px; }
.v-ic { width: 50px; height: 50px; }

/* sertarul Contul tau */
.v-cont { display: grid; gap: 30px; align-content: start; }
.v-cont__bloc { display: grid; gap: 12px; padding-bottom: 30px; border-bottom: 1px solid var(--ink-10); justify-items: start; }
.v-cont__bloc:last-child { border-bottom: 0; }
.v-cont__bloc h3 { font-size: 22px; letter-spacing: -0.02em; }
.v-cont__bloc p { color: var(--ink-60); font-size: 15px; }
.v-cont__bloc .v-cont__cod { color: var(--ink); font-size: 17px; }
.v-cont__btn { display: flex; gap: 10px; flex-wrap: wrap; }
.v-cont__form { display: grid; gap: 12px; width: 100%; }
.v-cont__form label { display: grid; gap: 6px; font-size: 13px; color: var(--ink-60); }
.v-cont__form input { height: 56px; padding: 0 20px; border: 0; border-radius: 12px; background: #fff; font: inherit; font-size: 16px; color: var(--ink); }
.v-cont__form input:focus { outline: 2px solid var(--ink); outline-offset: 0; }

/* cursorul de peste slidere (doar mouse) */
.v-cursor { position: fixed; z-index: 220; left: var(--x, -100px); top: var(--y, -100px); width: 0; height: 0; display: grid; place-items: center;
    border-radius: 50%; background: rgba(28, 31, 38, .82); color: #fff; pointer-events: none; transform: translate(-50%, -50%);
    transition: width .3s cubic-bezier(.16, 1, .3, 1), height .3s cubic-bezier(.16, 1, .3, 1); backdrop-filter: blur(6px); }
.v-cursor svg { position: absolute; width: 0; height: 0; transition: width .3s, height .3s; }
.v-cursor.is-activ { width: clamp(64px, 4.21vw, 80px); height: clamp(64px, 4.21vw, 80px); }
.v-cursor.is-activ svg { width: clamp(20px, 1.68vw, 32px); height: clamp(20px, 1.68vw, 32px); }
.v-cursor.is-st .v-cursor__dr, .v-cursor:not(.is-st) .v-cursor__st { display: none; }
.v-cursor.is-activ.is-apasat { width: calc(clamp(64px, 4.21vw, 80px) * 1.5); height: calc(clamp(64px, 4.21vw, 80px) * 1.5); }
[data-cursor].is-cursor, [data-cursor].is-cursor * { cursor: none !important; }
@media (hover: none) { .v-cursor { display: none; } }

/* bara de incarcare de sus */
.v-incarc { position: fixed; z-index: 230; left: 0; top: 0; height: 3px; width: 0; background: var(--ink); opacity: 0; pointer-events: none; }
.v-incarc.is-activ { opacity: 1; width: 82%; transition: width 2.4s cubic-bezier(.08, .8, .2, 1); }

/* hero: slideshow circular, vecinii se vad egal in stanga si in dreapta (ca la referinta) */
.v-hero__pista { position: relative; display: block; gap: 0; padding: 0; transform: none !important; height: clamp(500px, 44.3vw, 750px); transition: none; }
.v-hero__s { position: absolute; top: 0; left: var(--pagina); width: calc(100% - 2 * var(--pagina)); height: 100%; flex: none;
    transform: translateX(calc(var(--o, 0) * (100% + 30px))); transition: transform .9s cubic-bezier(.65, 0, .35, 1); will-change: transform; }
.v-hero__s.fara-tranzitie { transition: none; }
.v-hero__s picture { overflow: hidden; }
.v-hero__s img { transform-origin: 50% 50%; }
.v-hero__s .v-hero__txt { opacity: 0; transition: opacity .3s; }
.v-hero__s.is-activ .v-hero__txt { opacity: 1; }
@media (max-width: 760px) {
    .v-hero__pista { height: 500px; }
    .v-hero__s { transform: translateX(calc(var(--o, 0) * (100% + 10px))); }
}

/* cuvintele titlurilor urca pe rand */
.v-cuv { display: inline-block; vertical-align: top; }
.v-cuv__i { display: inline-block; will-change: transform, opacity; }

/* cardurile caruselului, ca la referinta: titlu mare cu numarul sus, descriere sub el, sageata in dreapta */
.v-card { background: var(--hartie); }
.v-card__jos { padding: 26px 30px 30px; align-items: center; }
.v-card__t { font-size: clamp(21px, 1.73vw, 32px); letter-spacing: -0.03em; }
.v-card__t sup { font-size: 13px; top: -2px; }
.v-card__d { margin-top: 8px; font-size: clamp(14px, .5vw + 8px, 17px); line-height: 1.35; color: var(--ink); opacity: .82; max-width: 22em; }
.v-card--plin .v-card__d { color: #fff; opacity: .92; }
.v-card > .v-card__jos > svg { flex: none; width: 22px; height: 14px; }
.v-carusel { grid-auto-columns: calc((100% - 3 * 24px) / 3.85); gap: 24px; }
@media (max-width: 1100px) { .v-carusel { grid-auto-columns: calc((100% - 24px) / 2.4); } }
@media (max-width: 760px) { .v-carusel { grid-auto-columns: 289px; gap: 12px; } .v-card__jos { padding: 18px 18px 20px; } }

/* sigiliul NOVUM de pe site-ul vechi (inelul se roteste, wordmark-ul sta fix) */
.v-sigiliu { position: absolute; z-index: 3; right: -26px; top: -84px; pointer-events: none; }
.v-sigiliu .seal { position: relative; width: 168px; height: 168px; display: flex; align-items: center; justify-content: center; }
.v-sigiliu .seal-ring { position: absolute; inset: 0; width: 100%; height: 100%; animation: sealSpin 26s linear infinite; transform-origin: 50% 50%; }
.v-sigiliu .seal-text { font-family: var(--font); font-size: 10.5px; font-weight: 600; fill: var(--ink); text-transform: uppercase; }
.v-sigiliu .seal-core { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 104px; height: 104px;
    border-radius: 50%; color: var(--ink); background: var(--fond); }
.v-sigiliu .seal-core .logo-cr { height: 21px; width: auto; }
@keyframes sealSpin { to { transform: rotate(360deg); } }
@media (max-width: 1100px) { .v-sigiliu { right: 6px; top: -70px; transform: scale(.78); transform-origin: 100% 0; } }

/* fereastra B2B: urca si apare, apoi poza se deschide din stanga (ca la referinta) */
.v-popup { grid-template-columns: 0 1fr; transition: opacity .6s cubic-bezier(.16, 1, .3, 1), transform .6s cubic-bezier(.16, 1, .3, 1), visibility .6s,
    grid-template-columns .9s cubic-bezier(.16, 1, .3, 1); transform: translateY(40px) scale(.98); }
.v-popup.is-deschis { transform: none; }
.v-popup.arata-poza { grid-template-columns: 310px 1fr; }
.v-popup__poza { overflow: hidden; min-height: 430px; }
.v-popup__poza img { width: 100%; height: 100%; min-height: 430px; object-fit: cover; transform: scale(1.25); transition: transform 1.3s cubic-bezier(.16, 1, .3, 1); }
.v-popup.arata-poza .v-popup__poza img { transform: none; }
.v-popup__txt > * { opacity: 0; transform: translateY(16px); transition: opacity .7s cubic-bezier(.16, 1, .3, 1), transform .7s cubic-bezier(.16, 1, .3, 1); }
.v-popup.is-deschis .v-popup__txt > * { opacity: 1; transform: none; }
.v-popup.is-deschis .v-popup__txt > :nth-child(2) { transition-delay: .08s; }
.v-popup.is-deschis .v-popup__txt > :nth-child(3) { transition-delay: .14s; }
.v-popup.is-deschis .v-popup__txt > :nth-child(4) { transition-delay: .2s; }
.v-popup.is-deschis .v-popup__txt > :nth-child(5) { transition-delay: .26s; }
@media (max-width: 760px) {
    .v-popup, .v-popup.arata-poza { grid-template-columns: 1fr; }
    .v-popup__poza, .v-popup__poza img { min-height: 0; height: 170px; }
}

@media (prefers-reduced-motion: reduce) {
    .v-cursor, .v-incarc { display: none; }
    .v-hero__s { transition: none; }
}


/* ============================================================================
   Runda 3 (03.10): Urbanist (drept, geometric — ca literele din NOVUM), bara de sus 1:1, meniul aerisit
   ============================================================================ */
body.v2 { font-size: 16px; }
:where(.v2) h1, :where(.v2) h2, :where(.v2) h3 { letter-spacing: -0.035em; }
.v-btn { font-weight: 600; letter-spacing: 0; }

/* bara de sus: 48 px, iconite albe stanga, mesajul cu iconita intre sageti lipite de el, limba + tara dreapta */
.v-anunt { font-size: 13px; font-weight: 500; }
.v-anunt__in { grid-template-columns: 1fr auto 1fr; }
.v-anunt__st { gap: 12px; }
.v-anunt__soc { width: 36px; height: 36px; }
.v-anunt__soc svg { width: 20px; height: 20px; }
.v-anunt__mesaje { grid-template-columns: 32px minmax(0, 470px) 32px; gap: 6px; justify-content: center; }
.v-anunt__lista { width: min(470px, 52vw); }
.v-anunt__lista p { gap: 8px; font-weight: 500; }
.v-anunt__lista p > svg { flex: none; }
.v-anunt__lista p a { text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, .5); }
.v-anunt__dr { display: flex; align-items: center; gap: 26px; }
.v-limba > button { gap: 9px; font-size: 13px; font-weight: 500; }
@media (max-width: 1100px) {
    .v-anunt__in { grid-template-columns: 1fr; }
    .v-anunt__dr { display: none; }
    .v-anunt__lista { width: auto; }
    .v-anunt__mesaje { grid-template-columns: 28px minmax(0, 1fr) 28px; }
}

/* meniul: aliniat langa logo (ca la referinta), cu aer intre pastile; pagina curenta = contur, hover = pastila plina */
.v-antet__in { grid-template-columns: auto 1fr auto; gap: 40px; }
.v-nav { justify-self: start; }
.v-nav > ul { gap: 6px; }
.v-nav__a { font-size: 16.5px; font-weight: 500; letter-spacing: 0; }
.v-nav__a.is-aici span:first-child { transform: none; }
.v-nav__a.is-aici span + span { transform: translateY(105%); }
.v-nav__a.is-aici { box-shadow: inset 0 0 0 1px rgba(28, 31, 38, .16); }
.v-nav li:hover > .v-nav__a.is-aici span:first-child, .v-nav li:focus-within > .v-nav__a.is-aici span:first-child { transform: translateY(-105%); }
.v-nav li:hover > .v-nav__a.is-aici span + span, .v-nav li:focus-within > .v-nav__a.is-aici span + span { transform: none; }
@media (max-width: 1250px) { .v-nav__a { padding: 0 14px; font-size: 15.5px; } .v-nav > ul { gap: 2px; } .v-antet__in { gap: 20px; } }
@media (max-width: 1100px) { .v-antet__in { grid-template-columns: 1fr auto 1fr; gap: 8px; } }

/* ============================================================================
   Runda 4 (03.10): bara de sus mereu deasupra subsolului, antetul ca la referinta la derulare
   (lipit, compact, cu muchia de jos ca marginea unui card rotunjit; se ascunde cand cobori,
   revine cand urci), mesajele de confirmare
   ============================================================================ */
/* subsolul e lipit jos sub pagina; pe ecranele joase (subsol mai inalt decat fereastra) ar acoperi bara de sus */
.v-anunt { position: relative; z-index: 2; }

.v-antet { transition: transform .45s cubic-bezier(.16, 1, .3, 1), box-shadow .3s; }
.v-antet.is-ascuns { transform: translateY(-100%); }
.v-antet.is-lipit { box-shadow: none; }
/* muchia de jos: colturi concave + linie fina — continutul pare un card rotunjit care trece pe sub antet */
.v-antet::after { content: ''; position: absolute; left: 0; right: 0; top: 100%; height: 24px; pointer-events: none; opacity: 0; transition: opacity .3s;
    background:
        radial-gradient(circle at 24px 24px, transparent 22.5px, rgba(28, 31, 38, .12) 23px, rgba(28, 31, 38, .12) 23.6px, var(--fond) 24.2px) left top / 24px 24px no-repeat,
        radial-gradient(circle at 0 24px, transparent 22.5px, rgba(28, 31, 38, .12) 23px, rgba(28, 31, 38, .12) 23.6px, var(--fond) 24.2px) right top / 24px 24px no-repeat,
        linear-gradient(rgba(28, 31, 38, .12), rgba(28, 31, 38, .12)) 24px 0 / calc(100% - 48px) 1px no-repeat; }
.v-antet.is-lipit::after { opacity: 1; }
.v-antet.is-ascuns::after { opacity: 0; }

/* mesajele de confirmare / eroare (formular trimis, comanda negasita etc.) */
/* ---------------------------------------------------------------- notificările (toast), 04.10 — în locul barei verzi
   Card alb plutitor (dreapta sus; pe telefon jos), starea în formă: bifă pe disc plin = gata, „!" în inel = eroare.
   „Gata" se închide singur (linia de jos arată timpul rămas, se oprește sub mouse); eroarea rămâne până la X. */
.v-toaste { position: fixed; z-index: 400; top: calc(48px + var(--hdr-h) + 16px); right: 24px; display: grid; gap: 10px;
    width: min(420px, calc(100vw - 32px)); pointer-events: none; }
.v-toast { position: relative; display: grid; grid-template-columns: 36px minmax(0, 1fr) 32px; align-items: start; gap: 14px;
    padding: 16px 12px 18px 16px; border-radius: 16px; overflow: hidden; background: #fff; color: var(--ink); pointer-events: auto;
    box-shadow: 0 24px 60px -22px rgba(20, 22, 27, .42), 0 8px 18px -10px rgba(20, 22, 27, .18), 0 0 0 1px rgba(28, 31, 38, .07);
    animation: v-toast-intra .55s cubic-bezier(.16, 1, .3, 1) both; }
.v-toast.is-iese { animation: v-toast-iese .32s cubic-bezier(.4, 0, 1, 1) both; }
.v-toast__ic { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--ink); color: #fff; }
.v-toast--eroare .v-toast__ic { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1.6px var(--ink); }
.v-toast__t { margin: 0; padding-top: 7px; font-size: 15px; line-height: 1.45; font-weight: 500; overflow-wrap: anywhere; }
.v-toast__x { display: grid; place-items: center; width: 32px; height: 32px; margin-top: 2px; padding: 0; border: 0; border-radius: 50%;
    background: transparent; color: var(--ink-60); cursor: pointer; transition: background .2s, color .2s; }
.v-toast__x:hover { background: var(--ink-06); color: var(--ink); }
.v-toast__timp { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--ink); opacity: .16; transform-origin: left center; }
.v-toast.is-cronometrat .v-toast__timp { animation: v-toast-timp var(--durata, 7s) linear forwards; }
.v-toast.is-pauza .v-toast__timp { animation-play-state: paused; }
.v-toast--eroare .v-toast__timp { display: none; }
@keyframes v-toast-intra { from { opacity: 0; transform: translateY(-10px) scale(.98); } }
@keyframes v-toast-intra-jos { from { opacity: 0; transform: translateY(16px); } }
@keyframes v-toast-iese { to { opacity: 0; transform: translateX(18px); } }
@keyframes v-toast-timp { from { transform: scaleX(1); } to { transform: scaleX(0); } }
@media (max-width: 760px) {
    .v-toaste { top: auto; bottom: calc(14px + env(safe-area-inset-bottom)); left: 12px; right: 12px; width: auto; }
    .v-toast { animation-name: v-toast-intra-jos; }
    body.v2:has(.sticky-buy.visible) .v-toaste { bottom: calc(90px + env(safe-area-inset-bottom)); }
}
@media (max-width: 1099px) { body.v2:has(.sim-bara) .v-toaste { bottom: calc(96px + env(safe-area-inset-bottom)); } }
@media (prefers-reduced-motion: reduce) { .v-toast, .v-toast.is-iese, .v-toast.is-cronometrat .v-toast__timp { animation: none; } }

/* meniul aliniat la dreapta, langa iconite (Dan, 03.10) */
.v-nav { justify-self: end; margin-right: 18px; }

/* bara de sus pe telefon: doar textul, pe cel mult doua randuri centrate (fara iconita deasupra) */
@media (max-width: 760px) {
    .v-anunt__lista { height: 40px; }
    .v-anunt__lista p { display: block; padding: 4px 0 0; text-align: center; line-height: 1.3; font-size: 12px; }
    .v-anunt__lista p > svg { display: none; }
    .v-anunt__lista p > span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
}

/* ============================================================================
   Runda 5 (03.10): submeniurile 1:1 ca la referinta, „Selecția ta" in antet, retelele ca iconite,
   mesajele din bara de sus pe rand, cautarea fara linii, butonul de cookie ascuns pe telefon,
   titlurile din hero cu majuscule subtiri, antetul transparent peste bannerul paginii
   ============================================================================ */
.v-antet { --drop-r: clamp(16px, 1.052vw, 20px); transition: transform .45s cubic-bezier(.16, 1, .3, 1), background-color .4s, color .4s; }

/* pastilele din meniu (ca la referinta): textul se micsoreaza si dispare, pastila plina urca de jos si creste */
.v2 .v-nav .v-nav__a span { transition: transform .5s cubic-bezier(.3, 1, .3, 1), opacity .5s cubic-bezier(.3, 1, .3, 1); }
.v2 .v-nav .v-nav__a span:first-child { opacity: 1; transform: none; }
.v2 .v-nav .v-nav__a span + span { transform: translateY(100%) scale(.6); }
.v2 .v-nav > ul > li:hover > .v-nav__a span:first-child, .v2 .v-nav > ul > li.is-deschis > .v-nav__a span:first-child,
.v2 .v-nav > ul > li > .v-nav__a:focus-visible span:first-child { opacity: 0; transform: translateY(-10%) scale(.6); }
.v2 .v-nav > ul > li:hover > .v-nav__a span + span, .v2 .v-nav > ul > li.is-deschis > .v-nav__a span + span,
.v2 .v-nav > ul > li > .v-nav__a:focus-visible span + span { transform: none; }
.v2 .v-nav > ul > li { display: flex; align-items: center; }

/* submeniul: panoul coboara de sub antet (−105 % → 0 in 0,6 s), apare in 0,6 s dupa 0,2 s, se lipeste de antet
   cu doua colturi concave; linkurile intra din dreapta (20 %) pe rand; pagina din spate se intuneca */
.v2 .v-nav > ul > li > .v-drop { left: -32px; top: 100%; z-index: 70; width: max-content; min-width: 250px; padding: calc((148px - 42px) / 2 - 1px) 0 0;
    border-radius: 0; background: none; box-shadow: none; transform: none; opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .3s cubic-bezier(.7, 0, .2, 1), visibility 0s linear .6s; }
.v2 .v-nav > ul > li > .v-drop::before { display: none; }
.v2 .v-nav > ul > li.is-deschis > .v-drop { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity .6s cubic-bezier(.7, 0, .2, 1) .2s, visibility 0s; }
.v-drop__clip { overflow: hidden; margin: 0 calc(-1 * var(--drop-r)); padding: 0 var(--drop-r); }
.v-drop__panou { position: relative; padding: 24px 0 40px; background: var(--fond); color: var(--ink); border-radius: 0 0 var(--drop-r) var(--drop-r);
    transform: translateY(-105%); transition: transform .6s cubic-bezier(.7, 0, .2, 1); }
.v2 .v-nav > ul > li.is-deschis .v-drop__panou { transform: none; }
.v-drop__panou::before, .v-drop__panou::after { content: ''; position: absolute; top: 0; width: var(--drop-r); height: var(--drop-r); pointer-events: none; }
.v-drop__panou::before { right: 100%; background: radial-gradient(circle at 0 100%, transparent calc(var(--drop-r) - .5px), var(--fond) var(--drop-r)); }
.v-drop__panou::after { left: 100%; background: radial-gradient(circle at 100% 100%, transparent calc(var(--drop-r) - .5px), var(--fond) var(--drop-r)); }
.v2 .v-drop ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.v2 .v-drop li { padding: 0 32px; opacity: 0; transform: translateX(20%);
    transition: transform 1s cubic-bezier(.075, .82, .165, 1), opacity 1s cubic-bezier(.19, 1, .22, 1); transition-delay: .2s; }
.v2 .v-nav > ul > li.is-deschis .v-drop li { opacity: 1; transform: none; transition-delay: 1.3s; }
.v2 .v-nav > ul > li.is-deschis .v-drop li:nth-child(1) { transition-delay: .4s; }
.v2 .v-nav > ul > li.is-deschis .v-drop li:nth-child(2) { transition-delay: .5s; }
.v2 .v-nav > ul > li.is-deschis .v-drop li:nth-child(3) { transition-delay: .6s; }
.v2 .v-nav > ul > li.is-deschis .v-drop li:nth-child(4) { transition-delay: .7s; }
.v2 .v-nav > ul > li.is-deschis .v-drop li:nth-child(5) { transition-delay: .8s; }
.v2 .v-nav > ul > li.is-deschis .v-drop li:nth-child(6) { transition-delay: .9s; }
.v2 .v-nav > ul > li.is-deschis .v-drop li:nth-child(7) { transition-delay: 1s; }
.v2 .v-nav > ul > li.is-deschis .v-drop li:nth-child(8) { transition-delay: 1.1s; }
.v2 .v-nav > ul > li.is-deschis .v-drop li:nth-child(9) { transition-delay: 1.2s; }
/* linkurile: sublinierea se deseneaza de la stanga la hover si se retrage spre dreapta (ca „reversed-link") */
.v2 .v-drop a { display: inline-block; padding: 0; border-radius: 0; font-size: 16px; font-weight: 500; letter-spacing: 0; line-height: 1.5; white-space: nowrap;
    background: linear-gradient(currentColor, currentColor) right 1.35em / 0 1px no-repeat; transition: background-size .5s cubic-bezier(.3, 1, .3, 1); }
.v2 .v-drop a:hover, .v2 .v-drop a:focus-visible { transform: none; background-position: left 1.35em; background-size: 100% 1px; outline: none; }
.v2 .v-drop a.v-drop__t { margin: 0; font-size: 16px; font-weight: 500; letter-spacing: .02em; text-transform: uppercase; }
/* stratul care intuneca pagina (mai tare spre antet), sub antet */
.v-drop-fond { position: fixed; inset: 0; z-index: 50; opacity: 0; visibility: hidden; pointer-events: none;
    background: linear-gradient(to top, rgba(20, 22, 27, .1) 40%, rgba(20, 22, 27, .5) 80%);
    transition: opacity .8s cubic-bezier(.7, 0, .2, 1), visibility 0s linear .8s; }
html.v-drop-deschis .v-drop-fond { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity .8s cubic-bezier(.7, 0, .2, 1) .1s, visibility 0s; }
/* cat e deschis un submeniu, antetul isi arata colturile de jos (pagina devine un card rotunjit sub el) */
html.v-drop-deschis .v-antet:not(.is-lipit)::after { opacity: 1;
    background:
        radial-gradient(circle at 24px 24px, transparent 23.5px, var(--fond) 24px) left top / 24px 24px no-repeat,
        radial-gradient(circle at 0 24px, transparent 23.5px, var(--fond) 24px) right top / 24px 24px no-repeat; }
@media (prefers-reduced-motion: reduce) {
    .v-drop__panou, .v2 .v-drop li, .v2 .v-nav > ul > li > .v-drop, .v-drop-fond { transition: none !important; }
}

/* ---------------------------------------------------------------- iconitele din antet */
.v-antet__st { display: none; }
.v-ic--sel svg { width: 25px; height: 25px; }
@media (max-width: 1100px) {
    /* ca la referinta: stanga meniul + cautarea, dreapta selectia + cosul (contul e in foaia de meniu) */
    .v-antet__st { display: flex; align-items: center; justify-self: start; }
    .v-antet__dr .v-ic--caut, .v-antet__dr .v-ic--cont { display: none; }
    .v-antet .v-ic { width: 44px; height: 44px; }
    .v-antet .v-ic svg { width: 24px; height: 24px; }
    .v-antet .v-ic__n { top: 4px; right: 1px; }
}
.v-foaie__jos { grid-template-columns: repeat(3, auto); justify-content: space-between; border-top: 0; }
.v-foaie__jos a + a { border-left: 0; }
.v-foaie__jos button { padding: 18px 20px; border: 0; background: none; font: inherit; font-size: 16px; text-align: left; cursor: pointer; }

/* ---------------------------------------------------------------- bara de sus */
/* retelele fara adresa in Admin sunt doar iconite (nu linkuri false) */
span.v-anunt__soc { cursor: default; }
/* mesajele: cel vechi urca si dispare, abia apoi intra cel nou de jos (fara doua texte unul peste altul) */
.v-anunt__lista p { opacity: 0; transform: translateY(10px); transition: opacity .25s ease, transform .25s ease; }
.v-anunt__lista p.is-iese { transform: translateY(-10px); }
.v-anunt__lista p.is-on { opacity: 1; transform: none; transition: opacity .5s cubic-bezier(.16, 1, .3, 1) .3s, transform .5s cubic-bezier(.16, 1, .3, 1) .3s; }

/* ---------------------------------------------------------------- sertarele fara linii (Dan: „liniile alea") */
.v-sertar__cap { border-bottom: 0; padding-bottom: 14px; }
.v-cont__bloc { border-bottom: 0; padding-bottom: 0; }
.v-cautare__camp { border: 0; box-shadow: 0 1px 2px rgba(28, 31, 38, .04); transition: box-shadow .3s; }
.v-cautare__camp:focus-within { box-shadow: 0 10px 28px -16px rgba(28, 31, 38, .35); }
.v2 .v-cautare__camp input:focus, .v2 .v-cautare__camp input:focus-visible { outline: none; }

/* ---------------------------------------------------------------- butonul flotant de cookie: ascuns pe telefon
   (pe ecranele mici acoperea bara „Setul tău" si butoanele de jos); acordul se schimba din „Setări cookie-uri" din subsol */
@media (max-width: 760px) { .nvc-widget { display: none !important; } }

/* ---------------------------------------------------------------- hero: titluri cu majuscule subtiri (Dan, 03.10) */
.v-hero__txt h1, .v-hero__txt h2 { max-width: 18em; font-weight: 300; text-transform: uppercase; letter-spacing: .02em; line-height: 1.06; }
@media (max-width: 760px) { .v-hero__txt h1, .v-hero__txt h2 { font-size: 29px; } }

/* ---------------------------------------------------------------- antetul transparent peste bannerul paginii
   (pagini cu @section('antet', 'peste')); devine plin cand derulezi sau cand se deschide un submeniu */
.antet-peste .v-antet:not(.is-lipit) { background: transparent; color: #fff; }
.antet-peste .v-antet:not(.is-lipit) .v-logo { color: #fff; }
.antet-peste .v-antet:not(.is-lipit) .v-nav__a span + span { background: #fff; color: var(--ink); }
.antet-peste .v-antet:not(.is-lipit) .v-nav__a.is-aici { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .5); }
.antet-peste .v-antet:not(.is-lipit) .v-ic__n { background: #fff; color: var(--ink); }
html.v-drop-deschis .antet-peste .v-antet:not(.is-lipit) { background: var(--fond); color: var(--ink); }
html.v-drop-deschis .antet-peste .v-antet:not(.is-lipit) .v-logo { color: var(--ink); }
html.v-drop-deschis .antet-peste .v-antet:not(.is-lipit) .v-nav__a span + span { background: var(--ink); color: #fff; }
html.v-drop-deschis .antet-peste .v-antet:not(.is-lipit) .v-nav__a.is-aici { box-shadow: inset 0 0 0 1px rgba(28, 31, 38, .16); }
.antet-peste main > .v-pag-erou:first-child { margin-top: -148px; }
@media (max-width: 1100px) { .antet-peste main > .v-pag-erou:first-child { margin-top: -92px; } }

/* bannerul de sus al paginilor: poza pe toata latimea, textul jos-stanga; sectiunea urmatoare urca peste el ca un card rotunjit */
.v-pag-erou { position: relative; display: flex; align-items: flex-end; min-height: clamp(400px, 30vw, 470px); color: #fff; overflow: hidden; background: var(--noapte); }
.v-pag-erou > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.v-pag-erou::after { content: ''; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(180deg, rgba(20, 22, 27, .55) 0%, rgba(20, 22, 27, .18) 42%, rgba(20, 22, 27, .5) 100%); }
.v-pag-erou__txt { position: relative; z-index: 1; display: grid; gap: 14px; padding: 0 var(--pagina) calc(46px + var(--r-lg)); }
.v-pag-erou__txt p { font-size: 15px; font-weight: 500; color: #E8D6B9; }
.v2 .v-pag-erou__txt h1 { font-size: clamp(40px, 3.3vw + 14px, 66px); font-weight: 300; letter-spacing: .015em; line-height: 1; text-transform: uppercase; }
.v-pag-card { position: relative; z-index: 2; margin-top: calc(-1 * var(--r-lg)); border-radius: var(--r-lg) var(--r-lg) 0 0; background: var(--fond); }
@media (max-width: 760px) {
    .v-pag-erou { min-height: 380px; }
    .v-pag-erou__txt { padding-bottom: calc(30px + var(--r-lg)); }
    .v2 .v-pag-erou__txt h1 { font-size: 36px; }
}

/* ---------------------------------------------------------------- ce e salvat: proiectul + „Selecția ta" (Dan: „sa pot sterge ce salvez")
   atributul hidden trebuie sa castige mereu: clasele cu display (grid/flex) il bateau, iar blocul gol al proiectului aparea */
.v2 [hidden] { display: none !important; }
.v-proiect__conf { display: grid; gap: 14px; padding: 18px 20px; border-radius: 14px; background: #fff; }
.v-proiect__conf p { color: var(--ink); font-size: 15px; line-height: 1.5; }
.v-cont__mesaj { padding: 14px 18px; border-radius: 12px; background: #E4EFE7; color: #23533A; font-size: 15px; font-weight: 600; }
.v-sel { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; width: 100%; }
.v-sel__r { display: grid; grid-template-columns: 34px minmax(0, 1fr) 40px; align-items: center; gap: 14px; padding: 10px 8px 10px 12px; border-radius: 12px; background: #fff; }
.v-sel__c { width: 34px; height: 34px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(28, 31, 38, .08); }
.v-sel__t { display: grid; gap: 2px; min-width: 0; }
.v-sel__t b { font-size: 15px; font-weight: 600; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v-sel__t small { font-size: 13px; color: var(--ink-60); }
.v-sel__x { display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 50%; background: none; color: var(--ink); cursor: pointer; transition: background .2s; }
.v-sel__x:hover { background: var(--ink-06); }
.v-sel__x:disabled { opacity: .4; cursor: default; }

/* ---------------------------------------------------------------- bara de sus: limba si tara ca submeniurile referintei
   (panoul coboara din bara neagra, colturi concave in culoarea barei, randurile intra din dreapta, cea activa estompata) */
.v-limba { --drop-r: clamp(16px, 1.052vw, 20px); }
.v-limba > .v-drop { position: absolute; left: 2px; top: 100%; z-index: 90; width: max-content; min-width: 140px; padding: 7px 0 0; border-radius: 0;
    background: none; box-shadow: none; transform: none; opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .3s cubic-bezier(.7, 0, .2, 1), visibility 0s linear .6s; }
.v-limba + .v-limba > .v-drop { left: auto; right: 0; }
.v-limba > .v-drop::before { display: none; }
.v-limba.is-deschis > .v-drop { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity .6s cubic-bezier(.7, 0, .2, 1) .2s, visibility 0s; }
.v-limba .v-drop__panou { padding: 20px 0 32px; background: var(--noapte); color: #FAFAFA; }
.v-limba .v-drop__panou::before { background: radial-gradient(circle at 0 100%, transparent calc(var(--drop-r) - .5px), var(--noapte) var(--drop-r)); }
.v-limba .v-drop__panou::after { background: radial-gradient(circle at 100% 100%, transparent calc(var(--drop-r) - .5px), var(--noapte) var(--drop-r)); }
.v-limba.is-deschis .v-drop__panou { transform: none; }
.v-limba .v-drop ul { position: static; display: flex; flex-direction: column; gap: 8px; min-width: 0; margin: 0; padding: 0; list-style: none; border-radius: 0;
    background: none; color: inherit; box-shadow: none; opacity: 1; visibility: visible; transform: none; transition: none; }
.v-limba .v-drop li { padding: 0 28px; opacity: 0; transform: translateX(20%);
    transition: transform 1s cubic-bezier(.075, .82, .165, 1), opacity 1s cubic-bezier(.19, 1, .22, 1); transition-delay: .2s; }
.v-limba.is-deschis .v-drop li { opacity: 1; transform: none; transition-delay: 1.1s; }
.v-limba.is-deschis .v-drop li:nth-child(1) { transition-delay: .4s; }
.v-limba.is-deschis .v-drop li:nth-child(2) { transition-delay: .5s; }
.v-limba.is-deschis .v-drop li:nth-child(3) { transition-delay: .6s; }
.v-limba.is-deschis .v-drop li:nth-child(4) { transition-delay: .7s; }
.v-limba.is-deschis .v-drop li:nth-child(5) { transition-delay: .8s; }
.v-limba.is-deschis .v-drop li:nth-child(6) { transition-delay: .9s; }
.v-limba.is-deschis .v-drop li:nth-child(7) { transition-delay: 1s; }
.v-limba .v-drop a, .v-limba .v-drop a.is-on { display: inline-block; padding: 0; border-radius: 0; font-size: 14px; font-weight: 500; line-height: 1.5; white-space: nowrap; color: inherit;
    background: linear-gradient(currentColor, currentColor) right 1.35em / 0 1px no-repeat; transition: background-size .5s cubic-bezier(.3, 1, .3, 1), opacity .3s; }
.v-limba .v-drop a.is-on { opacity: .4; }
.v-limba .v-drop a:hover, .v-limba .v-drop a:focus-visible { background-position: left 1.35em; background-size: 100% 1px; outline: none; }
@media (prefers-reduced-motion: reduce) { .v-limba > .v-drop, .v-limba .v-drop__panou, .v-limba .v-drop li { transition: none !important; } }

/* ---------------------------------------------------------------- monedele (bara de sus): lista lunga se deruleaza in panou, ca la referinta;
   nota „plata se face in lei" nu lateste panoul (latimea o dau monedele) */
.v-moneda .v-drop ul { max-height: 250px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, .25) transparent; }
.v-moneda__nota { width: 0; min-width: 100%; box-sizing: border-box; margin: 0; padding: 16px 28px 0; font-size: 12px; line-height: 1.45; color: rgba(255, 255, 255, .55); }
/* coș, sertarul coșului, checkout: suma de plată în lei când clientul vede altă monedă */
.v-moneda-plata { margin: 10px 0 0; font-size: 13px; line-height: 1.45; color: var(--ink-60); }
.v-sertar__jos .v-moneda-plata { margin: -4px 0 12px; }

/* logoul din antet putin mai mic (Dan, 03.10); iconita „Selecția ta" = raftul cu pahare */
.v-logo svg { width: 168px; }
@media (max-width: 1100px) { .v-logo svg { width: 124px; } }
.v-antet .v-ic--sel svg { width: 25px; height: 25px; }

/* paginile cu fotografia sus (antetul peste ea): la colturile rotunjite, fundalul deschis al panoului se vedea ca un fir
   pe marginea fotografiei inchise (Dan, 03.10) — sub fotografie panoul e inchis, ca bara de sus */
body.antet-peste .v-pagina { background: linear-gradient(var(--noapte), var(--noapte)) 0 0 / 100% 260px no-repeat, var(--fond); }

/* titlul din „povestea" primei pagini: dupa „NOVUM Ceramics", textul foarte subtire (Urbanist 200) */
.v2 .v-subtire, .v2 .v-subtire .v-evid, .v2 .v-subtire .v-cuv__i { font-weight: 200; letter-spacing: -0.02em; }

/* produsul recomandat de pe prima pagina: volumul ca varianta (pastile, ca alegerea volumului din magazin) */
.v-reco__vol { display: grid; gap: 10px; margin: 6px 0 14px; }
.v-reco__vol p { font-size: 14px; color: var(--ink-60); }
.v-reco__vol div { display: flex; flex-wrap: wrap; gap: 8px; }
.v-reco__vol button { height: 44px; padding: 0 20px; border: 0; border-radius: 99px; background: transparent; box-shadow: inset 0 0 0 1px rgba(28, 31, 38, .2);
    font: inherit; font-size: 15px; font-weight: 500; color: var(--ink); cursor: pointer; transition: background .25s, color .25s, box-shadow .25s; }
.v-reco__vol button:hover { box-shadow: inset 0 0 0 1px var(--ink); }
.v-reco__vol button.is-on { background: var(--ink); color: #fff; box-shadow: none; }
.v-reco__vol button:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }

/* sigiliul NOVUM fara discul deschis din spate (Dan, 03.10): inelul si wordmark-ul stau direct peste poza */
.v-sigiliu .seal-core { background: transparent; }

/* foaia de meniu (telefon): X-ul sta deasupra listei — panoul nivelurilor (pozitionat, mai jos in DOM) il acoperea si nu se
   mai putea inchide (Dan, 03.10) */
.v-foaie__x { z-index: 3; display: grid; place-items: center; }

/* subsolul: Magazin / Informatii — pe desktop deschise (titlul e doar titlu), pe telefon strânse si una sub alta (Dan, 03.10) */
.v-subsol__grup h3 button { all: unset; display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; font: inherit; color: inherit; cursor: default; }
.v-subsol__plus { display: none; flex: none; transition: transform .35s cubic-bezier(.16, 1, .3, 1); }
@media (max-width: 760px) {
    .v-subsol__col { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .v-subsol__grup { padding: 6px 0; }
    .v-subsol__grup h3 { margin: 0; }
    .v-subsol__grup h3 button { cursor: pointer; padding: 12px 0; }
    .v-subsol__grup h3 button:focus-visible { outline: 2px solid #fff; outline-offset: 4px; border-radius: 4px; }
    .v-subsol__plus { display: block; }
    .v-subsol__grup.is-deschis .v-subsol__plus { transform: rotate(45deg); }
    .v-subsol__grup ul { max-height: 0; overflow: hidden; opacity: 0; transition: max-height .45s cubic-bezier(.16, 1, .3, 1), opacity .3s, margin .3s; }
    .v-subsol__grup.is-deschis ul { max-height: 520px; opacity: 1; margin: 6px 0 12px; }
    .v-subsol__contact { margin-top: 18px; }
}

/* meniul de telefon: (1) nivelurile au fundal plin; cand intri intr-un submeniu, lista principala dispare de tot
   (inainte se vedea pe dedesubt); (2) partea de jos: apel direct + trei scurtaturi cu iconite (Dan, 03.10) */
.v-foaie__nivel { background: var(--hartie); transition: transform .35s cubic-bezier(.2, .8, .2, 1), opacity .3s, visibility 0s linear .35s; }
.v-foaie.is-sub .v-foaie__nivel:first-child { opacity: 0; visibility: hidden; pointer-events: none; }
.v-foaie__nivel.is-activ { opacity: 1; visibility: visible; transition: transform .35s cubic-bezier(.2, .8, .2, 1), opacity .3s, visibility 0s; }
.v-foaie .v-foaie__jos { display: grid; grid-template-columns: minmax(0, 1fr); justify-content: stretch; gap: 10px; padding: 14px 20px calc(16px + env(safe-area-inset-bottom));
    border: 0; background: var(--hartie); }
.v-foaie .v-foaie__suna { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 10px 18px 10px 10px; border: 0;
    border-radius: 16px; background: var(--ink); color: #fff; font-size: 15px; }
.v-foaie__suna-ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(255, 255, 255, .12); }
.v-foaie__suna b { display: block; font-size: 16px; font-weight: 600; line-height: 1.2; }
.v-foaie__suna small { display: block; font-size: 14px; opacity: .75; font-variant-numeric: tabular-nums; }
.v-foaie__rapid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.v-foaie .v-foaie__rapid > a, .v-foaie .v-foaie__rapid > button { display: grid; justify-items: center; align-content: center; gap: 6px; min-height: 72px; padding: 10px 6px;
    border: 0; border-radius: 14px; background: #fff; color: var(--ink); font: inherit; font-size: 13px; font-weight: 500; line-height: 1.2; text-align: center; cursor: pointer; }
.v-foaie__rapid svg { width: 22px; height: 22px; }
.v-foaie .v-foaie__rapid > a:focus-visible, .v-foaie .v-foaie__rapid > button:focus-visible, .v-foaie .v-foaie__suna:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }

/* submeniurile inactive (in afara ecranului) sunt si ascunse, ca tastatura sa nu ajunga in ele */
.v-foaie__nivel + .v-foaie__nivel:not(.is-activ) { visibility: hidden; }

/* cardurile cu <picture> (ex. „Toate produsele" de pe prima pagina): poza umple cardul ca un <img> simplu */
.v-card__media picture { display: block; width: 100%; height: 100%; }

/* sigiliul rotativ în declarația materialului (Dan, 04.10): între titlu și text pe ecranele late,
   sub butonul din stânga pe cele medii, centrat între titlu și text pe telefon */
.v-poveste { grid-template-columns: minmax(0, 454px) auto minmax(0, 770px); align-items: start; }
.v-poveste .v-poveste__sigiliu { position: static; z-index: auto; transform: none; align-self: center; justify-self: center; pointer-events: none; }
@media (max-width: 1200px) {
    .v-poveste { grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr); }
    .v-poveste .v-poveste__sigiliu { grid-column: 1; grid-row: 2; justify-self: start; align-self: start; }
    .v-poveste .v-poveste__txt { grid-column: 2; grid-row: 1 / span 2; }
}
@media (max-width: 900px) {
    .v-poveste { grid-template-columns: minmax(0, 1fr); }
    .v-poveste .v-poveste__sigiliu { grid-column: auto; grid-row: auto; justify-self: center; }
    .v-poveste .v-poveste__txt { grid-column: auto; grid-row: auto; }
    .v-poveste .v-poveste__sigiliu .seal { width: 140px; height: 140px; }
    .v-poveste .v-poveste__sigiliu .seal-core { width: 88px; height: 88px; }
    .v-poveste .v-poveste__sigiliu .seal-core .logo-cr { height: 17px; }
}
@media (prefers-reduced-motion: reduce) { .v-poveste .v-poveste__sigiliu .seal-ring { animation: none; } }

/* ușa de business pe toată lățimea, sub magazin + paharele gravate (Dan, 04.10). Poza (4:3) se taie pe lat:
   înălțimea crește cu ecranul ca paharele să rămână întregi; textul stă pe un voal din stânga, nu pe pahare. */
.v-drum--lat { grid-column: 1 / -1; min-height: clamp(520px, 40vw, 720px); }
.v-drum--lat img { object-position: 100% 50%; }
.v-drum--lat::after { background: linear-gradient(90deg, rgba(20, 22, 27, .55) 0%, rgba(20, 22, 27, .2) 34%, rgba(20, 22, 27, 0) 52%), linear-gradient(180deg, rgba(20, 22, 27, 0) 55%, rgba(20, 22, 27, .45) 100%); }
.v-drum--lat .v-drum__txt { right: auto; max-width: min(560px, calc(100% - 80px)); }
@media (max-width: 900px) {
    .v-drum--lat { min-height: 460px; }
    .v-drum--lat img { object-position: 100% 50%; }
    .v-drum::after, .v-drum--lat::after { background: linear-gradient(180deg, rgba(20, 22, 27, 0) 22%, rgba(20, 22, 27, .5) 52%, rgba(20, 22, 27, .84) 100%); }
    .v-drum--lat .v-drum__txt { right: 22px; max-width: none; }
}

/* pozele noi (marmură + gravuri albe): titlul subțire și textul alb nu se pierd peste gravurile albe ale paharelor */
.v-drum__txt h3, .v-drum__txt p, .v-drum__txt small { text-shadow: 0 1px 2px rgba(20, 22, 27, .35), 0 2px 22px rgba(20, 22, 27, .55); }

/* ---------------------------------------------------------------- QA PWA 04.10 (telefon) */
/* meniul de telefon închis: nivelul activ rămânea „visible" și Tab ajungea la linkurile din afara ecranului.
   La închidere ascunderea așteaptă alunecarea (.35s), ca meniul să nu dispară în mijlocul animației. */
.v-foaie:not(.is-deschis) .v-foaie__nivel { visibility: hidden; transition: transform .35s cubic-bezier(.2, .8, .2, 1), opacity .3s, visibility 0s linear .35s; }
/* barele fixe de jos (cumpără pe pagina de produs, „Setul tău" în configurator) nu mai acoperă ultimul rând din subsol */
@media (max-width: 760px) { body.v2:has(.sticky-buy.visible) { padding-bottom: 76px; } }
@media (max-width: 1099px) { body.v2:has(.sim-bara) { padding-bottom: 84px; } }
/* ținte de atingere de minim 44 px: săgețile barei de anunț, punctele din erou, linkurile legale din subsol */
@media (max-width: 760px) {
    .v-anunt__mesaje button { min-width: 44px; min-height: 44px; }
    .v-puncte button { position: relative; }
    .v-puncte button::after { content: ""; position: absolute; inset: -10px; }
    .v-subsol__bara nav a { display: inline-block; padding: 10px 0; }
}

/* ---------------------------------------------------------------- antetul lipit fără tremurat (04.10)
   Antetul e lipit ÎN fluxul paginii; când își micșora înălțimea (148→84 px pe calculator, 92→68 pe telefon), tot
   conținutul urca brusc, browserul corecta derularea înapoi sub prag, antetul se mărea la loc… (Dan: „tremură tot"),
   iar pe telefon rămâneau bucăți de ecran nerepictate („house." deasupra titlului). Acum înălțimea lui din pagină NU
   se mai schimbă: se micșorează doar vizual, prin translație (urcă cu diferența, conținutul lui coboară cu jumătate,
   ca să rămână centrat) — o animație doar pe placa video, fără nicio reașezare a paginii. */
.v-antet .v-antet__in, .v2 .v-antet .v-antet__in { transition: none; }
.v-antet.is-lipit .v-antet__in { min-height: 148px; }
.v-antet { transition: transform .45s cubic-bezier(.16, 1, .3, 1), box-shadow .3s; }
.v-antet.is-lipit { transform: translateY(-64px); }
.v-antet.is-ascuns, .v-antet.is-lipit.is-ascuns { transform: translateY(-100%); }
.v-antet__in > * { transition: transform .45s cubic-bezier(.16, 1, .3, 1); }
.v-antet.is-lipit .v-antet__in > * { transform: translateY(32px); }
@media (max-width: 1100px) {
    .v-antet.is-lipit .v-antet__in { min-height: 92px; }
    .v-antet.is-lipit { transform: translateY(-24px); }
    .v-antet.is-lipit .v-antet__in > * { transform: translateY(12px); }
}
@media (prefers-reduced-motion: reduce) { .v-antet, .v-antet__in > * { transition: none; } }
/* pe paginile cu scena lipită chiar sub antet (configuratorul, setul) voalul de sub antet acoperea rândul de sus al
   scenei („330 ml · … · Mat", dimensiunile) — acolo nu e nevoie de el */
.page-sim .v-antet::after, .page-set .v-antet::after { display: none; }

/* ---------------------------------------------------------------- meniul de telefon, simplu (04.10)
   Dan: „mai simplu, să pot selecta limba și moneda, mai mic ca font". Listă plată de 19 px (era 34 px, cu
   submeniuri), pagina curentă marcată cu un punct; limba și moneda ca pastile; apelul jos, mai subțire. */
.v-foaie .v-foaie__corp { overflow-y: auto; overscroll-behavior: contain; }
.v-foaie__lista { padding: 54px 22px 4px; }
.v-foaie__lista ul { display: grid; margin: 0; padding: 0; list-style: none; }
.v-foaie__lista a, .v-foaie__lista button { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; padding: 0;
    border: 0; background: none; color: var(--ink); font: 500 17px/1.2 var(--font); letter-spacing: -0.01em; text-align: left; cursor: pointer; }
.v-foaie__lista .is-aici { font-weight: 700; }
.v-foaie__lista .is-aici::after { content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.v-foaie__setari { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 16px 22px 12px; }
.v-foaie__sel { display: grid; gap: 6px; min-width: 0; font-size: 12.5px; color: var(--ink-60); }
.v-foaie__sel select { width: 100%; min-width: 0; height: 46px; padding: 0 38px 0 14px; border: 0; border-radius: 12px; background: #fff;
    box-shadow: inset 0 0 0 1px var(--ink-10); color: var(--ink); font: 600 14.5px/1 var(--font); text-overflow: ellipsis;
    appearance: none; -webkit-appearance: none; cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231C1F26' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 14px center; }
.v-foaie__sel select:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.v-foaie .v-foaie__x { top: 14px; right: 14px; width: 40px; height: 40px; border: 0; background: rgba(28, 31, 38, .06); font-size: 0; }
.v-foaie .v-foaie__jos { margin-top: auto; }
.v-foaie .v-foaie__suna { min-height: 58px; padding: 7px 16px 7px 7px; }
.v-foaie .v-foaie__suna-ic { width: 44px; height: 44px; }
.v-foaie .v-foaie__suna b { font-size: 15px; }
.v-foaie .v-foaie__suna small { font-size: 13px; }
/* submeniurile ca acordeon (numele = link, săgeata deschide sub-linkurile dedesubt) */
.v-foaie__rand { display: grid; grid-template-columns: minmax(0, 1fr) 44px; align-items: center; }
.v-foaie__lista .v-foaie__plus { display: grid; place-items: center; width: 44px; min-height: 44px; border-radius: 50%; color: var(--ink); }
.v-foaie__lista .v-foaie__plus svg { transition: transform .25s; }
.v-foaie__lista .v-foaie__plus[aria-expanded="true"] svg { transform: rotate(180deg); }
.v-foaie__lista .v-foaie__plus:active { background: var(--ink-06); }
.v-foaie__subl { display: grid; margin: 0 0 8px; padding: 2px 0 4px 14px; list-style: none; }
.v-foaie__subl[hidden] { display: none; }
.v-foaie__lista .v-foaie__subl a { min-height: 38px; font-size: 15px; font-weight: 400; color: var(--ink-60); }
@media (prefers-reduced-motion: reduce) { .v-foaie__lista .v-foaie__plus svg { transition: none; } }
