/* ============================================================
   Volt Expert — Casa Verde Baterii 2026
   Stil APROXIMAT din voltexpert.ro (verde brand + portocaliu).
   Ajustează tokenii din :root la hex-ul exact al site-ului.
   ============================================================ */

.cvb {
	--cvb-green:        #6fae2f;
	--cvb-green-dark:   #4f8a20;
	--cvb-green-soft:   #eef6e4;
	--cvb-orange:       #f47a1f;
	--cvb-blue:         #1f6fb2;
	--cvb-ink:          #222831;
	--cvb-muted:        #5b6470;
	--cvb-line:         #e4e7ec;
	--cvb-bg-soft:      #f5f6f8;
	--cvb-dark:         #1f2733;
	--cvb-radius:       12px;
	--cvb-maxw:         1160px;

	font-family: 'Open Sans', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	color: var(--cvb-ink);
	line-height: 1.6;
}
.cvb * { box-sizing: border-box; }
.cvb h1, .cvb h2, .cvb h3, .cvb h4 { font-family: 'Poppins', sans-serif; line-height: 1.2; margin: 0 0 .5em; }
.cvb .cvb-wrap { max-width: var(--cvb-maxw); margin: 0 auto; padding: 0 20px; }
.cvb p { margin: 0 0 1em; }

/* ---- Ascundere breadcrumbs tema (clasă pusă din plugin pe <body>) ---- */
/* Selectorul real al temei Volt Expert este .cspt-breadcrumb;
   restul sunt plasă de siguranță pentru alte breadcrumb-uri. */
body.cvb-hide-breadcrumbs .cspt-breadcrumb,
body.cvb-hide-breadcrumbs .rank-math-breadcrumb,
body.cvb-hide-breadcrumbs .breadcrumbs,
body.cvb-hide-breadcrumbs .breadcrumb,
body.cvb-hide-breadcrumbs .woocommerce-breadcrumb,
body.cvb-hide-breadcrumbs nav[aria-label="breadcrumb"] {
	display: none !important;
}
/* Dacă vrei să ascunzi și bara de titlu a paginii, decomentează:
body.cvb-hide-breadcrumbs .cspt-tbar { display: none !important; }
*/

/* ---- Fundaluri pe toată lățimea ----
   Pe acest șablon facem containerul temei (#content.container) full-width,
   ca secțiunile să se întindă din margine în margine. Conținutul rămâne
   centrat prin .cvb-wrap (max-width). Fără margini negative -> fără overflow. */
/* 1. Open up the theme container to full width on this template */
body.cvb-tpl #content.site-content {
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
/* 2. The theme wraps our content in a Bootstrap flex row (.row.multi-columns-row)
      with row-reverse + negative margins (sidebar layout). Flatten it to normal
      block flow so our <section> is a full-width, in-flow block. */
body.cvb-tpl #content .row.multi-columns-row {
	display: block !important;
	flex-direction: row !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
/* 3. Force our section to occupy the full width regardless of flex sizing */
body.cvb-tpl #content .row.multi-columns-row > .cvb,
body.cvb-tpl .cvb {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
/* 4. WP Rocket „Lazy Rendering of Content" aplică content-visibility:auto +
      contain-intrinsic-size (ex: 3000px 1500px) pe footer/wrappere. Când
      elementul real e mai scurt decât spațiul rezervat, rămâne un GOL ALB sub
      footer. Pe acest șablon dezactivăm rezervarea ca să nu mai apară golul. */
body.cvb-tpl #content,
body.cvb-tpl .site-content-contain,
body.cvb-tpl #colophon,
body.cvb-tpl .site-footer,
body.cvb-tpl [data-rocket-location-hash] {
	content-visibility: visible !important;
	contain-intrinsic-size: auto !important;
}

/* ---- Butoane ---- */
.cvb-btn {
	display: inline-block; background: var(--cvb-green); color: #fff !important;
	font-family: 'Poppins', sans-serif; font-weight: 700; text-transform: uppercase;
	letter-spacing: .3px; text-decoration: none; padding: 14px 30px; border-radius: 8px;
	border: 0; cursor: pointer; font-size: 15px; transition: background .2s, transform .1s;
}
.cvb-btn:hover { background: var(--cvb-green-dark); transform: translateY(-1px); }
.cvb-btn--orange { background: var(--cvb-orange); }
.cvb-btn--orange:hover { background: #d8650f; }
.cvb-btn--lg { padding: 17px 40px; font-size: 16px; }

/* ============ SECȚIUNEA 1 — HERO ============ */
.cvb-hero {
	background: linear-gradient(115deg, #143d2b 0%, #1f6b3f 45%, var(--cvb-green) 100%);
	color: #fff; padding: 70px 0; position: relative; overflow: hidden;
}
.cvb-hero .cvb-wrap { display: grid; grid-template-columns: 1.15fr .85fr; gap: 40px; align-items: center; }

/* --- HERO cu imagine de fundal (full-bleed) + overlay verde + blur ușor ---
   Imaginea e setată inline pe .cvb-hero--bg (din ACF). ::before pune un strat
   verde semi-transparent, mai opac în stânga (unde e textul) și mai transparent
   în dreapta (ca să se vadă poza). backdrop-filter dă un blur fin peste poză. */
.cvb-hero--bg {
	background-size: cover;
	background-position: center right;
	background-repeat: no-repeat;
	min-height: 560px;
	display: flex;
	align-items: center;
}
.cvb-hero--bg::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		100deg,
		rgba(16, 47, 32, 0.95) 0%,
		rgba(20, 61, 43, 0.88) 38%,
		rgba(31, 107, 63, 0.62) 66%,
		rgba(31, 107, 63, 0.30) 100%
	);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	z-index: 0;
}
.cvb-hero--bg .cvb-wrap { position: relative; z-index: 1; width: 100%; display: block; }
.cvb-hero--bg .cvb-hero-content { max-width: 640px; }
.cvb-hero--bg .cvb-support { color: rgba(255,255,255,.92); text-shadow: 0 1px 2px rgba(0,0,0,.25); }
.cvb-hero--bg h1 { text-shadow: 0 2px 10px rgba(0,0,0,.35); }
.cvb-hero .cvb-eyebrow { display:inline-block; background: rgba(255,255,255,.15); color:#fff;
	padding: 6px 14px; border-radius: 30px; font-size: 13px; font-weight: 600; margin-bottom: 18px; }
.cvb-hero h1 { font-size: clamp(28px, 4vw, 44px); font-weight: 800; color: #fff; }
.cvb-hero .cvb-sub { font-family:'Poppins',sans-serif; font-weight:500; font-size: clamp(17px,2vw,21px);
	color: #eafbe0; margin: 10px 0 18px; }
.cvb-hero .cvb-support { color: rgba(255,255,255,.9); font-size: 15.5px; max-width: 600px; }
.cvb-hero-visual { text-align:center; }
.cvb-hero-visual .ph {
	background: rgba(255,255,255,.08); border: 2px dashed rgba(255,255,255,.35);
	border-radius: 16px; padding: 40px 20px; color: rgba(255,255,255,.8); font-size: 14px;
}
.cvb-badges { display:flex; gap: 22px; flex-wrap:wrap; margin-top: 26px; }
.cvb-badges b { display:block; font-family:'Poppins',sans-serif; font-size: 24px; color:#d6ff9e; }
.cvb-badges span { font-size: 13px; color: rgba(255,255,255,.85); }

/* ============ Secțiuni generice ============ */
.cvb-section { padding: 64px 0; }
.cvb-section--soft { background: var(--cvb-bg-soft); }
.cvb-kicker { color: var(--cvb-green); font-family:'Poppins',sans-serif; font-weight:700;
	text-transform: uppercase; letter-spacing: 1.5px; font-size: 13px; margin-bottom: 8px; }
.cvb-h2 { font-size: clamp(24px, 3vw, 34px); font-weight: 700; color: var(--cvb-ink); }
.cvb-lead { color: var(--cvb-muted); max-width: 760px; }

/* ---- Două coloane ---- */
.cvb-two { display:grid; grid-template-columns: .9fr 1.1fr; gap: 44px; align-items:start; }
.cvb-info-card { background: var(--cvb-green-soft); border-radius: var(--cvb-radius); padding: 30px; }
.cvb-info-card .ph { background:#fff; border:2px dashed #c5dca6; border-radius:10px; padding:34px 18px;
	text-align:center; color: var(--cvb-green-dark); font-size:14px; }
.cvb-formula { background:#fff; border:1px solid var(--cvb-line); border-left:4px solid var(--cvb-green);
	border-radius:8px; padding:18px 22px; margin:18px 0; font-family:'Poppins',sans-serif; }
.cvb-formula .frac { font-size: 22px; }
.cvb-formula small { display:block; color: var(--cvb-muted); font-family:'Open Sans'; font-size:13px; margin-top:8px; }

/* ---- Tabele ---- */
.cvb-table-wrap { overflow-x:auto; margin-top: 26px; }
table.cvb-table { width:100%; border-collapse: collapse; background:#fff; border-radius: var(--cvb-radius);
	overflow:hidden; box-shadow: 0 2px 18px rgba(0,0,0,.05); min-width: 640px; }
table.cvb-table th { background: var(--cvb-green); color:#fff; font-family:'Poppins',sans-serif;
	font-weight:600; text-align:left; padding: 14px 16px; font-size: 14px; }
table.cvb-table td { padding: 14px 16px; border-top:1px solid var(--cvb-line); font-size: 14.5px; vertical-align: top; }
table.cvb-table tr:nth-child(even) td { background: #fafbf7; }
table.cvb-table td b { color: var(--cvb-ink); }

/* ---- Listă criterii ---- */
.cvb-checklist { list-style:none; padding:0; margin: 22px 0 0; display:grid; gap:12px; }
.cvb-checklist li { position:relative; padding-left: 34px; color: var(--cvb-ink); }
.cvb-checklist li::before { content:"\2713"; position:absolute; left:0; top:0;
	width:22px; height:22px; background: var(--cvb-green); color:#fff; border-radius:50%;
	display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; }

/* ---- Timeline ---- */
.cvb-timeline { display:grid; gap:0; margin-top: 30px; border-left: 3px solid var(--cvb-green); }
.cvb-step { position:relative; padding: 0 0 28px 30px; }
.cvb-step::before { content:""; position:absolute; left:-9px; top:4px; width:15px; height:15px;
	background:#fff; border:3px solid var(--cvb-green); border-radius:50%; }
.cvb-step .when { color: var(--cvb-orange); font-family:'Poppins',sans-serif; font-weight:700; font-size:14px; }
.cvb-step h4 { font-size:18px; margin:.2em 0; }
.cvb-step p { color: var(--cvb-muted); margin:0; font-size: 14.5px; }
.cvb-step .role { display:inline-block; margin-top:6px; background: var(--cvb-green-soft);
	color: var(--cvb-green-dark); font-size:12.5px; padding:4px 10px; border-radius:20px; }

/* ============ SECȚIUNEA 5 — FORMULAR ============ */
.cvb-form-section {
	background: linear-gradient(135deg, #1f6b3f 0%, var(--cvb-green) 100%);
	color:#fff; padding: 70px 0;
}
.cvb-form-section .cvb-kicker { color:#eafbe0 !important; }
.cvb-form-section .cvb-h2 { color:#fff; }
.cvb-form-section .cvb-lead { color: rgba(255,255,255,.92); }
.cvb-form-box { background: rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.22);
	border-radius: 16px; padding: 34px; margin-top: 28px; }
.cvb-gdpr-note { font-size:12.5px; color: rgba(255,255,255,.7); margin-top: 14px; text-align:center; }

/* ---- Stilizare ieșire Gravity Forms ---- */
.cvb-form-box .gform_wrapper { margin: 0; }
.cvb-form-box .gform_wrapper form { margin: 0; }

/* 2 câmpuri pe rând (grilă pe 12 coloane; câmpurile ocupă 6 => 2/rând) */
.cvb-form-box .gform_wrapper .gform_fields {
	display: grid !important;
	grid-template-columns: repeat(12, 1fr) !important;
	column-gap: 18px !important;
	row-gap: 14px !important;
}
.cvb-form-box .gform_wrapper .gform_fields > .gfield {
	grid-column: span 6 / span 6 !important;
	max-width: 100% !important;
}
/* consimțământul ocupă tot rândul */
.cvb-form-box .gform_wrapper .gform_fields > .gfield--type-consent,
.cvb-form-box .gform_wrapper .gform_fields > .gfield_consent {
	grid-column: 1 / -1 !important;
}
@media (max-width: 880px) {
	.cvb-form-box .gform_wrapper .gform_fields > .gfield { grid-column: 1 / -1 !important; }
}
/* etichete */
.cvb-form-box .gform_wrapper .gfield_label,
.cvb-form-box .gform_wrapper legend.gfield_label {
	color:#ffffff !important; font-size:13.5px !important; font-weight:600 !important;
	font-family:'Open Sans', sans-serif; margin-bottom:6px;
}
.cvb-form-box .gform_wrapper .gfield_required { color: var(--cvb-orange) !important; }
/* câmpuri text / email / tel / select */
.cvb-form-box .gform_wrapper input[type=text],
.cvb-form-box .gform_wrapper input[type=email],
.cvb-form-box .gform_wrapper input[type=tel],
.cvb-form-box .gform_wrapper input[type=number],
.cvb-form-box .gform_wrapper select,
.cvb-form-box .gform_wrapper textarea {
	width:100% !important; padding:14px !important; border-radius:10px !important;
	border:1px solid rgba(255,255,255,.18) !important; background:rgba(255,255,255,.96) !important;
	color:#1f2733 !important; font-size:15px !important; font-family:'Open Sans', sans-serif !important;
	box-shadow:none !important;
}
.cvb-form-box .gform_wrapper select { appearance:auto; }
/* consimțământ GDPR */
.cvb-form-box .gform_wrapper .ginput_container_consent { display:flex; gap:12px; align-items:flex-start; }
.cvb-form-box .gform_wrapper .ginput_container_consent input[type=checkbox] {
	margin-top:3px; width:18px; height:18px; flex:0 0 auto;
}
.cvb-form-box .gform_wrapper .gfield_consent_label,
.cvb-form-box .gform_wrapper .gfield_consent_description {
	color:rgba(255,255,255,.8) !important; font-size:13px !important; font-weight:400 !important;
}
.cvb-form-box .gform_wrapper .gfield_consent_description { color:rgba(255,255,255,.5) !important; margin-top:6px; }
/* mesaje de validare */
.cvb-form-box .gform_wrapper .gfield_description.validation_message,
.cvb-form-box .gform_wrapper .validation_message { color:#ffb38a !important; }
/* buton submit — aliniat STÂNGA, lățime automată, portocaliu (contrast pe verde) */
.cvb-form-box .gform_wrapper .gform_footer {
	display:flex !important; justify-content:flex-start !important;
	margin-top:18px !important; padding:0 !important;
}
.cvb-form-box .gform_wrapper .gform_footer input[type=submit],
.cvb-form-box .gform_wrapper .gform_footer button.gform_button {
	width:auto !important; max-width:100% !important; display:inline-block !important;
	white-space:normal !important; line-height:1.3 !important;
	background:var(--cvb-orange) !important; color:#fff !important;
	font-family:'Poppins', sans-serif !important; font-weight:700 !important; text-transform:uppercase;
	letter-spacing:.3px; border:0 !important; cursor:pointer; padding:15px 34px !important;
	border-radius:8px !important; font-size:15px !important; transition:background .2s;
}
.cvb-form-box .gform_wrapper .gform_footer input[type=submit]:hover,
.cvb-form-box .gform_wrapper .gform_footer button.gform_button:hover { background:#d8650f !important; }
/* mesajul de confirmare după trimitere */
.cvb-form-box .gform_confirmation_message { color:#eafbe0; font-size:16px; text-align:center; }

/* ============ RESPONSIVE ============ */
@media (max-width: 880px) {
	.cvb-hero .cvb-wrap, .cvb-two { grid-template-columns: 1fr; }
	.cvb-hero { padding: 48px 0; }
	.cvb-section, .cvb-form-section { padding: 46px 0; }

	/* HERO cu imagine pe mobil: overlay mai uniform/opac (textul e pe toată lățimea) */
	.cvb-hero--bg { min-height: 0; padding: 56px 0; background-position: center; }
	.cvb-hero--bg::before {
		background: linear-gradient(
			160deg,
			rgba(16, 47, 32, 0.93) 0%,
			rgba(20, 61, 43, 0.88) 55%,
			rgba(31, 107, 63, 0.78) 100%
		);
	}
	.cvb-hero--bg .cvb-hero-content { max-width: 100%; }

	/* formular: butonul ocupă tot rândul, font mai mic, nu mai iese din container */
	.cvb-form-box { padding: 22px; }
	.cvb-form-box .gform_wrapper .gform_footer { justify-content: stretch !important; }
	.cvb-form-box .gform_wrapper .gform_footer input[type=submit],
	.cvb-form-box .gform_wrapper .gform_footer button.gform_button {
		width:100% !important; padding:14px 16px !important; font-size:13.5px !important;
		letter-spacing:.2px; word-break:break-word;
	}
}
