/* ============================================================
   VGS 2030 - sistem de design comun (activ doar pe suprafete 2030)
   Scopat pe .vgs30 (main) + clase pe body pentru skinurile shop/produs.
   ============================================================ */

.vgs30{
	--ink:var(--v30-ink,#0F1720);
	--ink-soft:rgba(15,23,32,.62);
	--cream:var(--v30-cream,#F6F4F0);
	--paper:#FFFFFF;
	--line:rgba(15,23,32,.12);
	--accent:var(--v30-accent,#BA0C2F);
	--radius:var(--v30-radius,20px);
	--v30h:187px;
	--ease:cubic-bezier(.16,1,.3,1);
	background:var(--cream);
	color:var(--ink);
	overflow:hidden;
}
@media (max-width:849px){ .vgs30{ --v30h:112px; } }
.vgs30 *,.vgs30 *:before,.vgs30 *:after{ box-sizing:border-box; }
.vgs30 .v30-wrap{ max-width:1280px; margin:0 auto; padding:0 clamp(18px,4vw,48px); }
.vgs30 h1,.vgs30 h2,.vgs30 h3,.vgs30 h4{ letter-spacing:-.025em; color:inherit; }
.vgs30 p{ margin:0 0 1em; }
.vgs30 img{ max-width:100%; display:block; }
.vgs30 a{ color:inherit; }

/* -------- motion -------- */
.vgs30 .v30-reveal{ opacity:0; transform:translateY(34px); transition:opacity .9s var(--ease),transform .9s var(--ease); transition-delay:var(--d,0s); will-change:opacity,transform; }
.vgs30 .v30-reveal.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
	.vgs30 .v30-reveal{ opacity:1; transform:none; transition:none; }
	.vgs30 .v30-line-in{ transform:none !important; transition:none !important; }
	.vgs30 .v30-marquee-track{ animation:none !important; }
	.vgs30 .v30-kb{ animation:none !important; }
	.vgs30 .v30-spin{ animation:none !important; }
}

/* -------- micro tipografie -------- */
.vgs30 .v30-eyebrow{ display:inline-flex; align-items:center; gap:10px; margin:0 0 18px; font-size:11.5px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-soft); }
.vgs30 .v30-eyebrow:before{ content:""; width:26px; height:1px; background:var(--accent); flex:0 0 auto; }
.vgs30 .v30-eyebrow.on-dark{ color:rgba(255,255,255,.78); }

/* -------- butoane -------- */
.vgs30 .v30-btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; height:54px; padding:0 30px; border-radius:999px; font-size:14px; font-weight:600; letter-spacing:.02em; text-decoration:none; border:1px solid transparent; cursor:pointer; transition:transform .5s var(--ease),background .3s,color .3s,border-color .3s; will-change:transform; }
.vgs30 .v30-btn .arr{ transition:transform .4s var(--ease); }
.vgs30 .v30-btn:hover .arr{ transform:translateX(5px); }
.vgs30 .v30-btn--white{ background:#fff; color:var(--ink); }
.vgs30 .v30-btn--white:hover{ background:var(--cream); color:var(--ink); }
.vgs30 .v30-btn--ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.55); }
.vgs30 .v30-btn--ghost:hover{ border-color:#fff; color:#fff; }
.vgs30 .v30-btn--ink{ background:var(--ink); color:#fff; }
.vgs30 .v30-btn--ink:hover{ background:#233041; color:#fff; }
.vgs30 .v30-link{ position:relative; display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; text-decoration:none; padding-bottom:6px; }
.vgs30 .v30-link:after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:1.5px; background:var(--ink); transform-origin:right; transform:scaleX(.35); transition:transform .5s var(--ease); }
.vgs30 .v30-link:hover:after{ transform-origin:left; transform:scaleX(1); }

/* -------- stele -------- */
.vgs30 .v30-stars{ display:inline-flex; align-items:center; gap:3px; }
.vgs30 .v30-stars svg{ width:15px; height:15px; fill:var(--accent); }
.vgs30 .v30-stars .lbl{ margin-left:10px; font-size:11.5px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; }

/* ================= HERO (home) ================= */
.vgs30 .v30-hero{ position:relative; min-height:max(620px, calc(100svh - var(--v30h))); display:flex; align-items:flex-end; overflow:hidden; color:#fff; }
.vgs30 .v30-hero-media{ position:absolute; inset:-6% 0; z-index:0; will-change:transform; }
.vgs30 .v30-hero-media img{ width:100%; height:100%; object-fit:cover; }
.vgs30 .v30-kb{ animation:v30kb 12s var(--ease) forwards; transform:scale(1.1); }
@keyframes v30kb{ to{ transform:scale(1.02); } }
.vgs30 .v30-hero-scrim{ position:absolute; inset:0; z-index:1; background:linear-gradient(to top, rgba(13,17,23,var(--v30-hov,.38)) 0%, rgba(13,17,23,calc(var(--v30-hov,.38)*.55)) 52%, rgba(13,17,23,calc(var(--v30-hov,.38)*.75)) 100%); }
.vgs30 .v30-hero-inner{ position:relative; z-index:2; width:100%; padding:0 clamp(18px,4vw,48px) clamp(34px,6vh,72px); max-width:1280px; margin:0 auto; }
.vgs30 .v30-hero .v30-stars{ color:#fff; margin-bottom:16px; }
.vgs30 .v30-hero h1{ margin:0 0 20px; line-height:1.05; font-weight:600; color:#fff; }
.vgs30 .v30-line{ display:block; overflow:hidden; }
.vgs30 .v30-line-in{ display:block; transform:translateY(112%); transition:transform 1s var(--ease); }
.vgs30.is-loaded .v30-line:nth-child(2) .v30-line-in{ transition-delay:.12s; }
.vgs30.is-loaded .v30-line-in{ transform:none; }
.vgs30 .v30-hero-sub{ max-width:560px; font-size:clamp(15px,1.3vw,17.5px); line-height:1.65; color:rgba(255,255,255,.92); }
.vgs30 .v30-hero-cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:26px; }
.vgs30 .v30-scrollcue{ position:absolute; z-index:2; right:clamp(18px,4vw,48px); bottom:clamp(34px,6vh,72px); display:flex; flex-direction:column; align-items:center; gap:10px; color:rgba(255,255,255,.75); font-size:10px; letter-spacing:.28em; text-transform:uppercase; writing-mode:vertical-rl; }
.vgs30 .v30-scrollcue i{ width:1px; height:56px; background:rgba(255,255,255,.4); position:relative; overflow:hidden; }
.vgs30 .v30-scrollcue i:after{ content:""; position:absolute; left:0; top:-40%; width:100%; height:40%; background:#fff; animation:v30cue 1.8s var(--ease) infinite; }
@keyframes v30cue{ 0%{ top:-40%; } 100%{ top:110%; } }
@media (max-width:849px){ .vgs30 .v30-scrollcue{ display:none; } }

/* ================= banda simpla ================= */
.vgs30 .v30-strip{ border-bottom:1px solid var(--line); background:var(--cream); padding:26px 0; }
.vgs30 .v30-strip p{ margin:0; text-align:center; text-transform:uppercase; letter-spacing:.16em; font-size:11.5px; line-height:2; color:var(--ink-soft); }

/* ================= manifest / declaratie ================= */
.vgs30 .v30-manifesto{ padding:clamp(72px,11vh,140px) 0; text-align:center; }
.vgs30 .v30-manifesto h2{ margin:0 auto 26px; max-width:900px; line-height:1.16; font-weight:600; }
.vgs30 .v30-manifesto h2 .w{ display:inline-block; opacity:.14; transform:translateY(.35em); transition:opacity .7s var(--ease),transform .7s var(--ease); transition-delay:var(--d,0s); }
.vgs30 .v30-manifesto h2.is-in .w{ opacity:1; transform:none; }
.vgs30 .v30-manifesto p{ max-width:680px; margin:0 auto 1em; font-size:clamp(15.5px,1.35vw,17.5px); line-height:1.8; color:var(--ink-soft); }
.vgs30 .v30-manifesto p strong{ color:var(--ink); }

/* ================= marquee ================= */
.vgs30 .v30-marquee{ overflow:hidden; padding:clamp(8px,2vh,22px) 0 clamp(26px,5vh,54px); }
.vgs30 .v30-marquee-track{ display:flex; width:max-content; animation:v30mq 34s linear infinite; }
.vgs30 .v30-marquee span{ white-space:nowrap; padding-right:.6em; font-size:clamp(52px,8.5vw,116px); font-weight:600; line-height:1.1; letter-spacing:-.02em; color:transparent; -webkit-text-stroke:1px rgba(15,23,32,.32); }
.vgs30 .v30-marquee b{ color:var(--accent); -webkit-text-stroke:0; font-weight:600; }
@keyframes v30mq{ to{ transform:translateX(-50%); } }

/* ================= rail categorii ================= */
.vgs30 .v30-cats{ padding:clamp(40px,7vh,90px) 0 clamp(64px,9vh,120px); background:var(--paper); border-top:1px solid var(--line); }
.vgs30 .v30-cats-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:34px; }
.vgs30 .v30-cats-head h2{ margin:0; font-size:clamp(28px,3.6vw,46px); font-weight:600; }
.vgs30 .v30-cats-nav{ display:flex; gap:10px; }
.vgs30 .v30-cats-nav button{ width:52px; height:52px; border-radius:50%; border:1px solid var(--line); background:#fff; color:var(--ink); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .3s,color .3s,border-color .3s,opacity .3s; }
.vgs30 .v30-cats-nav button:hover{ background:var(--ink); border-color:var(--ink); color:#fff; }
.vgs30 .v30-cats-nav button[disabled]{ opacity:.3; pointer-events:none; }
.vgs30 .v30-rail{ display:flex; gap:clamp(12px,1.6vw,20px); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -ms-overflow-style:none; cursor:grab; padding-bottom:6px; }
.vgs30 .v30-rail::-webkit-scrollbar{ display:none; }
.vgs30 .v30-rail.is-drag{ cursor:grabbing; scroll-snap-type:none; }
.vgs30 .v30-card{ position:relative; flex:0 0 clamp(230px,26vw,330px); aspect-ratio:3/4; border-radius:var(--radius); overflow:hidden; scroll-snap-align:start; background:#E9E5DE; text-decoration:none; }
.vgs30 .v30-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease); }
.vgs30 .v30-card:hover img{ transform:scale(1.05); }
.vgs30 .v30-card:after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(13,17,23,.62) 0%, rgba(13,17,23,0) 46%); }
.vgs30 .v30-card-txt{ position:absolute; z-index:2; left:20px; right:20px; bottom:18px; color:#fff; }
.vgs30 .v30-card-txt strong{ display:block; font-size:19px; font-weight:600; letter-spacing:-.01em; }
.vgs30 .v30-card-txt em{ display:block; margin-top:4px; font-style:normal; font-size:11px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.75); }
.vgs30 .v30-card-go{ position:absolute; z-index:2; right:16px; top:16px; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.16); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; color:#fff; opacity:0; transform:translateY(-6px); transition:opacity .4s,transform .4s; }
.vgs30 .v30-card:hover .v30-card-go{ opacity:1; transform:none; }
.vgs30 .v30-progress{ margin-top:22px; height:2px; background:var(--line); border-radius:2px; overflow:hidden; }
.vgs30 .v30-progress i{ display:block; height:100%; width:20%; background:var(--ink); border-radius:2px; transition:width .25s ease-out; }

/* ================= capitole (home) ================= */
.vgs30 .v30-chapters{ padding:clamp(70px,10vh,130px) 0 clamp(30px,4vh,50px); }
.vgs30 .v30-chapter{ position:relative; display:grid; grid-template-columns:repeat(12,1fr); align-items:center; margin-bottom:clamp(70px,11vh,140px); }
.vgs30 .v30-ch-media{ grid-column:1/8; grid-row:1; position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:4/3; clip-path:inset(0 14% 0 0 round var(--radius)); transition:clip-path 1.1s var(--ease); }
.vgs30 .v30-chapter.is-in .v30-ch-media{ clip-path:inset(0 0 0 0 round var(--radius)); }
.vgs30 .v30-ch-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease); }
.vgs30 .v30-chapter:hover .v30-ch-media img{ transform:scale(1.04); }
.vgs30 .v30-ch-card{ grid-column:7/13; grid-row:1; position:relative; z-index:2; background:var(--paper); border-radius:var(--radius); padding:clamp(28px,3.4vw,52px); box-shadow:0 30px 80px -40px rgba(15,23,32,.35); }
.vgs30 .v30-chapter--rev .v30-ch-media{ grid-column:6/13; clip-path:inset(0 0 0 14% round var(--radius)); }
.vgs30 .v30-chapter--rev.is-in .v30-ch-media{ clip-path:inset(0 0 0 0 round var(--radius)); }
.vgs30 .v30-chapter--rev .v30-ch-card{ grid-column:1/7; }
.vgs30 .v30-ch-num{ position:absolute; z-index:0; top:-.52em; left:-8px; font-size:clamp(84px,11vw,150px); font-weight:600; line-height:1; letter-spacing:-.04em; color:transparent; -webkit-text-stroke:1px rgba(15,23,32,.16); pointer-events:none; }
.vgs30 .v30-chapter--rev .v30-ch-num{ left:auto; right:-8px; }
.vgs30 .v30-ch-card h3{ margin:0 0 14px; font-size:clamp(24px,2.6vw,34px); font-weight:600; line-height:1.15; }
.vgs30 .v30-ch-card p{ font-size:15.5px; line-height:1.75; color:var(--ink-soft); }
.vgs30 .v30-ch-addr{ font-size:13px; letter-spacing:.05em; color:var(--ink-soft); margin:14px 0 20px; }
@media (max-width:849px){
	.vgs30 .v30-chapter,.vgs30 .v30-chapter--rev{ display:block; margin-bottom:64px; }
	.vgs30 .v30-ch-media,.vgs30 .v30-chapter--rev .v30-ch-media{ aspect-ratio:4/3; clip-path:inset(0 0 0 0 round var(--radius)); }
	.vgs30 .v30-ch-card{ margin:-44px 14px 0; padding:26px 22px 30px; }
	.vgs30 .v30-ch-num{ display:none; }
}

/* ================= quote / CTA pe imagine ================= */
.vgs30 .v30-quote{ position:relative; overflow:hidden; padding:clamp(90px,16vh,180px) 0; color:#fff; text-align:center; }
.vgs30 .v30-quote-media{ position:absolute; inset:-8% 0; will-change:transform; }
.vgs30 .v30-quote-media img{ width:100%; height:100%; object-fit:cover; }
.vgs30 .v30-quote-scrim{ position:absolute; inset:0; background:rgba(13,17,23,var(--v30-qov,.58)); }
.vgs30 .v30-quote-inner{ position:relative; z-index:2; }
.vgs30 .v30-quote blockquote{ margin:18px auto 22px; max-width:880px; border:0; padding:0; font-size:clamp(26px,3.6vw,46px); line-height:1.3; font-weight:500; letter-spacing:-.02em; background:none; color:#fff; }
.vgs30 .v30-quote h2{ margin:14px auto 20px; max-width:880px; font-size:clamp(26px,3.4vw,44px); line-height:1.25; font-weight:600; color:#fff; }
.vgs30 .v30-quote .attr{ font-size:12px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.72); margin-bottom:26px; }
.vgs30 .v30-quote .v30-stars svg{ fill:#fff; }

/* ================= finala 10% (home) ================= */
.vgs30 .v30-ten{ background:var(--ink); color:#fff; padding:clamp(70px,11vh,140px) 0; }
.vgs30 .v30-ten-grid{ display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(24px,4vw,60px); align-items:center; }
.vgs30 .v30-ten-visual{ grid-column:1/7; position:relative; }
.vgs30 .v30-ten-visual .ph{ border-radius:var(--radius); overflow:hidden; aspect-ratio:4/5; position:relative; }
.vgs30 .v30-ten-visual .ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.vgs30 .v30-badge{ position:absolute; right:-34px; top:-34px; width:132px; height:132px; }
.vgs30 .v30-badge .disc{ position:absolute; inset:0; border-radius:50%; background:var(--accent); display:flex; align-items:center; justify-content:center; box-shadow:0 18px 50px -18px rgba(186,12,47,.65); }
.vgs30 .v30-badge .disc b{ font-size:26px; font-weight:600; letter-spacing:-.02em; }
.vgs30 .v30-badge svg{ position:absolute; inset:-14px; width:calc(100% + 28px); height:calc(100% + 28px); }
.vgs30 .v30-badge svg text{ font-size:10.5px; font-weight:500; letter-spacing:.24em; text-transform:uppercase; fill:rgba(255,255,255,.85); }
.vgs30 .v30-spin{ animation:v30spin 16s linear infinite; transform-origin:center; }
@keyframes v30spin{ to{ transform:rotate(360deg); } }
.vgs30 .v30-ten-copy{ grid-column:7/13; }
.vgs30 .v30-ten-copy h2{ margin:0 0 16px; font-size:clamp(30px,3.8vw,52px); line-height:1.12; font-weight:600; color:#fff; }
.vgs30 .v30-ten-copy>p{ max-width:480px; font-size:16px; line-height:1.75; color:rgba(255,255,255,.78); }
.vgs30 .v30-ten .vgs-nl{ margin-top:26px; max-width:460px; }
.vgs30 .v30-ten .form-flat{ display:flex; flex-direction:column; gap:12px; }
.vgs30 .v30-ten .form-flat p{ display:flex; flex-direction:column; gap:16px; margin:0; }
.vgs30 .v30-ten .form-flat br{ display:none; }
.vgs30 .v30-ten .vgs-nl input[type="email"]{ width:100%; height:58px; border:0; border-radius:999px; background:#fff; color:var(--ink); padding:0 26px; font-size:15px; box-shadow:none; }
.vgs30 .v30-ten .vgs-nl input[type="email"]::placeholder{ color:rgba(15,23,32,.45); }
.vgs30 .v30-ten .vgs-nl input[type="submit"]{ width:100%; height:58px; border:0; border-radius:999px; background:var(--accent); color:#fff; font-size:15px; font-weight:600; letter-spacing:.02em; cursor:pointer; transition:background .3s,transform .4s var(--ease); }
.vgs30 .v30-ten .vgs-nl input[type="submit"]:hover{ background:#D51137; transform:translateY(-2px); }
.vgs30 .v30-ten .vgs-nl .wpcf7-not-valid-tip{ color:#FFB3B3; font-size:13px; margin:8px 0 0 12px; }
.vgs30 .v30-ten .vgs-nl .wpcf7-response-output{ border:0; margin:14px 0 0; padding:0; color:#fff; }
.vgs30 .v30-ten .consent{ margin-top:14px; max-width:440px; font-size:12.5px; line-height:1.6; color:rgba(255,255,255,.85); }
.vgs30 .v30-ten .micro{ display:flex; gap:26px; margin-top:30px; }
.vgs30 .v30-ten .micro span{ font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.55); }
@media (max-width:849px){
	.vgs30 .v30-ten-grid{ display:block; }
	.vgs30 .v30-ten-visual{ margin:0 0 34px; }
	.vgs30 .v30-ten-visual .ph{ aspect-ratio:4/3; }
	.vgs30 .v30-badge{ right:10px; top:-30px; width:104px; height:104px; }
	.vgs30 .v30-badge .disc b{ font-size:20px; }
	.vgs30 .v30-ten .micro{ flex-wrap:wrap; gap:12px 22px; }
}

/* ================= split generic (contact/despre) ================= */
.vgs30 .v30-pagehero{ padding:clamp(48px,8vh,100px) 0 clamp(40px,6vh,80px); }
.vgs30 .v30-split{ display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(24px,4vw,60px); align-items:center; }
.vgs30 .v30-split-txt{ grid-column:1/6; }
.vgs30 .v30-split-img{ grid-column:6/13; position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:4/3; }
.vgs30 .v30-split--rev .v30-split-txt{ grid-column:8/13; grid-row:1; }
.vgs30 .v30-split--rev .v30-split-img{ grid-column:1/8; grid-row:1; }
.vgs30 .v30-split-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease); }
.vgs30 .v30-split:hover .v30-split-img img{ transform:scale(1.03); }
.vgs30 .v30-split-txt h1,.vgs30 .v30-split-txt h2{ margin:0 0 18px; line-height:1.08; font-weight:600; }
.vgs30 .v30-split-txt p{ font-size:16px; line-height:1.75; color:var(--ink-soft); max-width:520px; }
.vgs30 .v30-split-txt .v30-btn{ margin-top:8px; }
@media (max-width:849px){
	.vgs30 .v30-split{ display:block; }
	.vgs30 .v30-split-img{ margin-bottom:26px; }
	.vgs30 .v30-split--rev .v30-split-img{ margin-bottom:26px; }
	.vgs30 .v30-split-txt{ margin-bottom:30px; }
	.vgs30 .v30-split-txt .v30-btn{ margin-bottom:6px; }
}
/* butonul nu sta lipit de imaginea care urmeaza (toate split-urile) */
.vgs30 .v30-split-txt .v30-btn{ margin-top:14px; }

/* ================= carduri info (contact) ================= */
.vgs30 .v30-cards3{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,2vw,24px); padding-bottom:clamp(56px,8vh,100px); }
.vgs30 .v30-icard{ background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(22px,2.6vw,34px); }
.vgs30 .v30-icard .ic{ width:44px; height:44px; border-radius:12px; background:var(--cream); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.vgs30 .v30-icard .ic img{ width:24px; height:24px; object-fit:contain; }
.vgs30 .v30-icard h4{ margin:0 0 10px; font-size:19px; font-weight:600; }
.vgs30 .v30-icard p{ margin:0 0 .6em; font-size:14.5px; line-height:1.7; color:var(--ink-soft); }
.vgs30 .v30-icard a{ color:var(--ink); font-weight:600; text-decoration:none; border-bottom:1.5px solid var(--accent); }
@media (max-width:849px){ .vgs30 .v30-cards3{ grid-template-columns:1fr; } }

/* ================= sectiune formular pe ink ================= */
.vgs30 .v30-formsec{ background:var(--ink); color:#fff; padding:clamp(64px,10vh,120px) 0; }
.vgs30 .v30-formgrid{ display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(24px,4vw,60px); align-items:stretch; }
.vgs30 .v30-formgrid .ph{ grid-column:1/7; position:relative; border-radius:var(--radius); overflow:hidden; min-height:340px; }
.vgs30 .v30-formgrid .ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.vgs30 .v30-formgrid .fx{ grid-column:7/13; align-self:center; }
.vgs30 .v30-formgrid .fx h2{ margin:0 0 22px; font-size:clamp(26px,3.2vw,42px); font-weight:600; color:#fff; }
.vgs30 .v30-form input[type="text"],
.vgs30 .v30-form input[type="email"]{ width:100%; height:56px; border:0; border-radius:999px; background:#fff; color:var(--ink); padding:0 24px; font-size:15px; box-shadow:none; margin-bottom:12px; }
.vgs30 .v30-form textarea{ width:100%; min-height:140px; border:0; border-radius:calc(var(--radius) + 4px); background:#fff; color:var(--ink); padding:18px 24px; font-size:15px; box-shadow:none; margin-bottom:12px; resize:vertical; }
.vgs30 .v30-form input::placeholder,.vgs30 .v30-form textarea::placeholder{ color:rgba(15,23,32,.45); }
.vgs30 .v30-form input[type="submit"]{ width:100%; height:56px; border:0; border-radius:999px; background:var(--accent); color:#fff; font-size:15px; font-weight:600; cursor:pointer; transition:background .3s,transform .4s var(--ease); }
.vgs30 .v30-form input[type="submit"]:hover{ background:#D51137; transform:translateY(-2px); }
.vgs30 .v30-form .wpcf7-list-item{ margin:0; }
.vgs30 .v30-form .wpcf7-acceptance label{ display:flex; gap:10px; align-items:flex-start; font-size:12.5px; line-height:1.6; color:rgba(255,255,255,.85); margin:2px 0 14px; }
.vgs30 .v30-form .wpcf7-acceptance input{ margin-top:3px; accent-color:var(--accent); }
.vgs30 .v30-form .wpcf7-not-valid-tip{ color:#FFB3B3; font-size:13px; margin:-6px 0 10px 12px; }
.vgs30 .v30-form .wpcf7-response-output{ border:0; margin:14px 0 0; padding:0; color:#fff; }
@media (max-width:849px){ .vgs30 .v30-formgrid{ display:block; } .vgs30 .v30-formgrid .ph{ margin-bottom:26px; min-height:220px; } }

/* ================= FAQ ================= */
.vgs30 .v30-faq{ padding:clamp(64px,9vh,110px) 0; }
.vgs30 .v30-faq h2{ text-align:center; margin:0 0 34px; font-size:clamp(26px,3.2vw,42px); font-weight:600; }
.vgs30 .v30-faq-list{ max-width:820px; margin:0 auto; }
.vgs30 details.v30-q{ border-top:1px solid var(--line); }
.vgs30 details.v30-q:last-child{ border-bottom:1px solid var(--line); }
.vgs30 details.v30-q summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 4px; font-size:17px; font-weight:600; letter-spacing:-.01em; }
.vgs30 details.v30-q summary::-webkit-details-marker{ display:none; }
.vgs30 details.v30-q summary .pm{ flex:0 0 auto; width:30px; height:30px; border-radius:50%; border:1px solid var(--line); position:relative; transition:background .3s,border-color .3s; }
.vgs30 details.v30-q summary .pm:before,.vgs30 details.v30-q summary .pm:after{ content:""; position:absolute; left:50%; top:50%; width:12px; height:1.6px; background:var(--ink); transform:translate(-50%,-50%); transition:transform .35s var(--ease),background .3s; }
.vgs30 details.v30-q summary .pm:after{ transform:translate(-50%,-50%) rotate(90deg); }
.vgs30 details.v30-q[open] summary .pm{ background:var(--ink); border-color:var(--ink); }
.vgs30 details.v30-q[open] summary .pm:before,.vgs30 details.v30-q[open] summary .pm:after{ background:#fff; }
.vgs30 details.v30-q[open] summary .pm:after{ transform:translate(-50%,-50%) rotate(0deg); }
.vgs30 details.v30-q .a{ padding:0 44px 22px 4px; font-size:15.5px; line-height:1.75; color:var(--ink-soft); }

/* ================= carduri utile (contact) ================= */
.vgs30 .v30-utils{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(14px,2vw,24px); padding-bottom:clamp(64px,9vh,110px); }
.vgs30 .v30-util{ display:grid; grid-template-columns:200px 1fr; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.vgs30 .v30-util .ph{ position:relative; min-height:180px; }
.vgs30 .v30-util .ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.vgs30 .v30-util .tx{ padding:24px 26px; align-self:center; }
.vgs30 .v30-util h4{ margin:0 0 8px; font-size:18px; font-weight:600; }
.vgs30 .v30-util p{ margin:0 0 12px; font-size:14px; line-height:1.65; color:var(--ink-soft); }
@media (max-width:849px){ .vgs30 .v30-utils{ grid-template-columns:1fr; } .vgs30 .v30-util{ grid-template-columns:1fr; } .vgs30 .v30-util .ph{ min-height:170px; } }

/* ================= galerie despre ================= */
.vgs30 .v30-gal{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(12px,1.6vw,20px); padding:clamp(30px,5vh,60px) 0 clamp(56px,8vh,100px); }
.vgs30 .v30-gal figure{ margin:0; position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:3/4; }
.vgs30 .v30-gal figure:nth-child(even){ transform:translateY(26px); }
.vgs30 .v30-gal img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease); }
.vgs30 .v30-gal figure:hover img{ transform:scale(1.05); }
@media (max-width:849px){ .vgs30 .v30-gal{ grid-template-columns:1fr 1fr; } }

/* ================= valori (despre) ================= */
.vgs30 .v30-vals{ padding-bottom:clamp(56px,8vh,100px); }
.vgs30 .v30-vals-head{ text-align:center; max-width:760px; margin:0 auto 40px; }
.vgs30 .v30-vals-head h2{ margin:0; font-size:clamp(24px,3vw,38px); font-weight:600; line-height:1.25; }
.vgs30 .v30-vals-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(14px,2vw,24px); }
.vgs30 .v30-val{ display:flex; gap:18px; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(22px,2.4vw,30px); }
.vgs30 .v30-val .ic{ flex:0 0 auto; width:48px; height:48px; border-radius:12px; background:var(--cream); display:flex; align-items:center; justify-content:center; }
.vgs30 .v30-val .ic img{ width:26px; height:26px; object-fit:contain; }
.vgs30 .v30-val h4{ margin:2px 0 8px; font-size:18px; font-weight:600; }
.vgs30 .v30-val p{ margin:0; font-size:14.5px; line-height:1.7; color:var(--ink-soft); }
@media (max-width:849px){ .vgs30 .v30-vals-grid{ grid-template-columns:1fr; } }

/* ================= calitate dual-image (despre) ================= */
.vgs30 .v30-duo{ position:relative; }
.vgs30 .v30-duo .big{ width:78%; border-radius:var(--radius); overflow:hidden; aspect-ratio:4/3; position:relative; }
.vgs30 .v30-duo .big img,.vgs30 .v30-duo .small img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.vgs30 .v30-duo .small{ position:absolute; right:0; bottom:-40px; width:40%; border-radius:var(--radius); overflow:hidden; aspect-ratio:1/1; box-shadow:0 24px 60px -30px rgba(15,23,32,.4); }
@media (max-width:849px){ .vgs30 .v30-duo .small{ bottom:-20px; } .vgs30 .v30-duo{ margin-bottom:40px; } }

/* ================= card 10% mic (despre) ================= */
.vgs30 .v30-tencard{ display:grid; grid-template-columns:1fr 320px; gap:clamp(20px,3vw,40px); align-items:center; background:var(--ink); color:#fff; border-radius:var(--radius); padding:clamp(26px,3.4vw,48px); margin-bottom:clamp(64px,9vh,110px); }
.vgs30 .v30-tencard h2{ margin:0 0 12px; font-size:clamp(24px,2.8vw,36px); font-weight:600; color:#fff; }
.vgs30 .v30-tencard p{ margin:0 0 18px; font-size:15px; line-height:1.7; color:rgba(255,255,255,.78); max-width:560px; }
.vgs30 .v30-tencard .ph{ position:relative; border-radius:calc(var(--radius) - 6px); overflow:hidden; aspect-ratio:4/3; }
.vgs30 .v30-tencard .ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
@media (max-width:849px){ .vgs30 .v30-tencard{ grid-template-columns:1fr; } }

/* home: checkboxul de acceptare din formularul 10% (alb pe fundal ink) */
.vgs30 .v30-ten .vgs-nl .wpcf7-acceptance label{ display:flex; gap:10px; align-items:flex-start; margin:0; font-size:12.5px; line-height:1.6; color:rgba(255,255,255,.88); text-align:left; font-weight:400; }
.vgs30 .v30-ten .vgs-nl .wpcf7-acceptance input{ margin-top:3px; accent-color:var(--accent); }
.vgs30 .v30-ten .vgs-nl .wpcf7-list-item{ margin:0; }
