/* NationalCERT - rafinari (butoane fixe, spatiere, animatii discrete, FAQ, recenzii) */

/* ---- Page Up + cookie: stanga jos, deasupra barei de cookie-uri (--ncert-cn-h = inaltimea barei) ---- */
html body #back-to-top {
	position: fixed !important;
	left: 20px !important;
	right: auto !important;
	bottom: calc(var(--ncert-cn-h, 0px) + 76px) !important;
	width: 44px;
	height: 44px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-size: 18px;
	line-height: 1;
	color: #fff;
	z-index: 9990 !important;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .3s ease, transform .3s ease, visibility .3s, bottom .3s ease;
}
html body #back-to-top.visible {
	opacity: 1;
	visibility: visible;
	transform: none;
}
/* Mobil: bara fixa #mobile-shortcuts (~50px) acopera coltul stanga-jos, deci cookie-ul si
   Page Up se ridica deasupra ei (si deasupra notificarii cookie, care sta la bottom:48px). */
@media (max-width: 767px) {
	html body #ncert-cookie-fab {
		bottom: calc(var(--ncert-cn-h, 0px) + 50px + 14px) !important;
		z-index: 10000;
	}
	html body #back-to-top {
		left: 20px !important;
		right: auto !important;
		bottom: calc(var(--ncert-cn-h, 0px) + 50px + 14px + 44px + 12px) !important;
		z-index: 10000 !important;
	}
}

/* ---- Buton rotund setari cookie-uri, sub notificarea de consimtamant ---- */
#ncert-cookie-fab {
	position: fixed;
	left: 20px;
	bottom: calc(var(--ncert-cn-h, 0px) + 20px);
	width: 44px;
	height: 44px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--brand-green, #1f7a45);
	color: #fff;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
	z-index: 9991;
	text-decoration: none;
	transition: background-color .25s ease, transform .25s ease, bottom .3s ease;
}
#ncert-cookie-fab:hover,
#ncert-cookie-fab:focus-visible { background: var(--brand-green-dark, #175c34); transform: translateY(-2px); }
html body #ncert-cookie-fab { background: var(--brand-green, #1f7a45) !important; text-decoration: none; }
html body #ncert-cookie-fab:hover { background: var(--brand-green-dark, #175c34) !important; }

/* ---- Sigla ANPC ---- */
.ncert-fp-anpc img.ncert-anpc-img {
	display: block;
	width: 200px;
	max-width: 100%;
	height: auto;
	aspect-ratio: 992 / 246;
}
.ncert-fp-anpc a { display: inline-block; line-height: 0; }

/* ---- Iconita fulger (ti-bolt) aliniata cu celelalte ---- */
.ncert-standard-card > i.ti-bolt,
.ncert-standard-card i.ti-bolt {
	display: inline-block;
	line-height: 1;
	vertical-align: middle;
}

/* ---- Spatiere homepage mai compacta ---- */
body.home #avantaje { padding-top: 56px !important; padding-bottom: 36px !important; }
body.home #parteneri-home { padding-top: 28px !important; padding-bottom: 28px !important; }
body.home #despre-noi { padding-top: 44px !important; padding-bottom: 44px !important; }
body.home #standarde-iso { padding-top: 52px !important; padding-bottom: 56px !important; margin-top: 0 !important; }
body.home #clienti { padding-top: 36px !important; padding-bottom: 44px !important; margin-bottom: 0 !important; }
body.home #faq { padding-top: 52px !important; padding-bottom: 36px !important; }
@media (max-width: 767px) {
	body.home #avantaje { padding-top: 36px !important; padding-bottom: 24px !important; }
	body.home #despre-noi,
	body.home #standarde-iso,
	body.home #clienti,
	body.home #faq { padding-top: 32px !important; padding-bottom: 32px !important; }
}

/* ---- Animatii discrete (opacitate + deplasare mica, fara layout shift) ---- */
.ncert-reveal { transform: translate3d(0, 14px, 0) !important; transition: opacity .5s ease-out, transform .5s ease-out !important; }
.ncert-reveal-title { transform: translate3d(0, 12px, 0) !important; transition: opacity .5s ease-out, transform .5s ease-out !important; }
.ncert-reveal-scale { transform: scale(.98) !important; transition: opacity .5s ease-out, transform .5s ease-out !important; }
.ncert-reveal-fade { transition: opacity .5s ease-out !important; }
.ncert-reveal-slide-left { transform: translate3d(-24px, 0, 0) !important; transition: transform .6s ease-out !important; }
.ncert-reveal-slide-right { transform: translate3d(24px, 0, 0) !important; transition: transform .6s ease-out !important; }
.ncert-reveal.is-visible, .ncert-reveal-title.is-visible,
.ncert-reveal-slide-left.is-visible, .ncert-reveal-slide-right.is-visible { transform: translate3d(0, 0, 0) !important; }
.ncert-reveal-scale.is-visible { transform: none !important; }

.ewf-btn, .ncert-fp-btn, .ncert-section-btn {
	transition: background-color .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.ewf-btn:hover, .ncert-fp-btn:hover, .ncert-section-btn:hover { transform: translateY(-1px); }
.ewf-btn:active, .ncert-fp-btn:active, .ncert-section-btn:active { transform: translateY(0); }

@media (prefers-reduced-motion: reduce) {
	.ncert-reveal, .ncert-reveal-title, .ncert-reveal-scale, .ncert-reveal-fade,
	.ncert-reveal-slide-left, .ncert-reveal-slide-right {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
	.ewf-btn, .ncert-fp-btn, .ncert-section-btn, #back-to-top, #ncert-cookie-fab,
	.ncert-faq-item__answer { transition: none !important; }
	.ewf-btn:hover, .ncert-fp-btn:hover, .ncert-section-btn:hover { transform: none; }
}

/* ---- FAQ pe paginile de certificare ---- */
.ncert-iso-faq { max-width: 860px; margin: 0 auto; padding: 48px 0 32px; text-align: center; }
.ncert-iso-faq .ncert-faq__list { text-align: left; }
.ncert-faq-item.is-open .ncert-faq-item__answer { max-height: 2000px; }

/* ---- Carusel recenzii (acasa) - aceleasi reguli ca pe paginile ISO ---- */
.ncert-reviews-slider {
	position: relative;
	margin-top: 8px;
	padding: 0 44px 34px;
}

.ncert-reviews-slider .slick-track {
	display: flex;
	align-items: stretch;
}

.ncert-reviews-slider .slick-slide {
	height: auto;
}

.ncert-reviews-slider__slide {
	height: 100%;
	padding: 4px 14px;
	box-sizing: border-box;
}

.ncert-reviews-slider__slide .ewf-testimonial {
	height: 100%;
	background-color: #ffffff;
	border-radius: 14px;
	padding: 26px 24px;
	box-shadow: 0 6px 20px rgba(11, 43, 30, .08);
	box-sizing: border-box;
}

/* Sagetile "Previous"/"Next" - slick.css din tema NU are deloc stiluri
   pentru ele (nu au fost folosite niciodata pe site pana acum, siglele
   partenerilor folosesc arrows:false), deci le stilizam complet noi,
   scopat DOAR la acest slider. */
.ncert-reviews-slider .slick-arrow {
	position: absolute;
	top: 45%;
	transform: translateY(-50%);
	z-index: 3;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 1px solid #e0e7e3;
	border-radius: 50%;
	background-color: #ffffff;
	box-shadow: 0 4px 14px rgba(11, 43, 30, .12);
	font-size: 0;
	line-height: 0;
	color: transparent;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease;
}

.ncert-reviews-slider .slick-prev {
	left: 0;
}

.ncert-reviews-slider .slick-next {
	right: 0;
}

.ncert-reviews-slider .slick-arrow:before {
	font-family: 'themify';
	font-size: 13px;
	color: var(--brand-green, #1f7a45);
	line-height: 1;
}

.ncert-reviews-slider .slick-prev:before {
	content: "\e64a";
}

.ncert-reviews-slider .slick-next:before {
	content: "\e649";
}

.ncert-reviews-slider .slick-arrow:hover {
	background-color: var(--brand-green, #1f7a45);
	border-color: var(--brand-green, #1f7a45);
}

.ncert-reviews-slider .slick-arrow:hover:before {
	color: #ffffff;
}

.ncert-reviews-slider .slick-disabled {
	opacity: .35;
	cursor: default;
	pointer-events: none;
}

/* Punctele de sub slider - la fel, stilizate complet noi. */
.ncert-reviews-slider .slick-dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ncert-reviews-slider .slick-dots li {
	margin: 0;
	line-height: 0;
}

.ncert-reviews-slider .slick-dots li button {
	display: block;
	width: 9px;
	height: 9px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background-color: rgba(31, 122, 69, .25);
	font-size: 0;
	line-height: 0;
	color: transparent;
	cursor: pointer;
}

.ncert-reviews-slider .slick-dots li.slick-active button {
	background-color: var(--brand-green, #1f7a45);
}

@media (max-width: 480px) {
	.ncert-reviews-slider {
		padding-left: 0;
		padding-right: 0;
	}

	.ncert-reviews-slider .slick-prev {
		left: -6px;
	}

	.ncert-reviews-slider .slick-next {
		right: -6px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ncert-iso-hero__image,
	.ncert-iso-kicker {
		transition: none !important;
	}
}

/* Liste in raspunsurile FAQ */
.ncert-faq-item__answer ul { margin: 0 0 12px 20px; padding: 0; list-style: disc; }
.ncert-faq-item__answer ul ul { margin: 6px 0 6px 18px; list-style: circle; }
.ncert-faq-item__answer li { margin: 0 0 8px; }
.ncert-faq-item:not(.is-open) .ncert-faq-item__answer:not(:has(p)) { padding-bottom: 0; }

/* ---- Raspuns FAQ cu etape (carduri verzi, litere mari, iconita bolt) ---- */
.ncert-stages ul { list-style: none; margin: 0; padding: 0; }
.ncert-stages > ul { display: grid; gap: 14px; margin: 4px 0 8px; }
.ncert-stages > ul > li {
	margin: 0;
	padding: 18px 22px;
	background: linear-gradient(135deg, #f1f8f4 0%, #ffffff 100%);
	border: 1px solid #d6e9dd;
	border-left: 5px solid #1f7a45;
	border-radius: 12px;
	color: #0b2b1e;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .05em;
	line-height: 1.5;
	text-transform: uppercase;
}
.ncert-stages > ul > li > strong { display: block; color: #1f7a45; font-size: 17px; font-weight: 800; letter-spacing: .08em; }
.ncert-stages > ul > li > br { display: none; }
.ncert-stages li ul { display: grid; gap: 9px; margin: 14px 0 0; }
.ncert-stages li li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	color: #2f3d36;
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: .04em;
}
.ncert-stages li li::before {
	content: "\e652";
	flex: none;
	color: #1f7a45;
	font-family: themify;
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
}
@media (max-width: 767px) {
	.ncert-stages > ul > li { padding: 14px 16px; }
	.ncert-stages > ul > li > strong { font-size: 15px; }
}

/* =========================================================================
   FIX 2026-10-10 - Recenzii (nume sub text, aliniat cu "Vezi mai mult")
   Numele + functia stau jos, stanga, pe aceeasi linie (centrati vertical)
   cu butonul "VEZI MAI MULT..." din dreapta, cu spatiu clar fata de text.
   ========================================================================= */
html body #clienti .ewf-testimonial.ncert-testimonial-card {
	height: 252px !important;
	min-height: 252px !important;
	padding: 22px 24px 84px !important;
}
html body #clienti .ewf-testimonial.ncert-testimonial-card .ewf-testimonial__cite {
	position: absolute !important;
	left: 24px !important;
	right: 24px !important;
	bottom: 18px !important;
	margin: 0 !important;
	padding: 14px 150px 0 0 !important;
	min-height: 50px !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	border-top: 1px solid rgba(31, 122, 69, .12);
	box-sizing: border-box !important;
}
html body #clienti .ewf-testimonial.ncert-testimonial-card .ewf-testimonial__cite-name,
html body #clienti .ewf-testimonial.ncert-testimonial-card .ewf-testimonial__cite-about {
	margin: 0 !important;
	padding: 0 !important;
}
html body #clienti .ewf-testimonial.ncert-testimonial-card .ewf-testimonial__cite-name { line-height: 1.25 !important; }
html body #clienti .ewf-testimonial.ncert-testimonial-card .ewf-testimonial__cite-about { line-height: 1.35 !important; margin-top: 3px !important; }
/* butonul: acelasi rand cu numele, centrat vertical fata de el */
html body #clienti .ewf-testimonial.ncert-testimonial-card .ncert-testimonial-more {
	bottom: 18px !important;
	height: 50px !important;
	padding-top: 14px !important;
	display: flex !important;
	align-items: center !important;
	box-sizing: border-box !important;
}
/* extins: textul complet, apoi numele sub el, cu spatiu */
html body #clienti .ewf-testimonial.ncert-testimonial-card.is-expanded {
	height: auto !important;
	padding-bottom: 18px !important;
}
html body #clienti .ewf-testimonial.ncert-testimonial-card.is-expanded .ewf-testimonial__cite {
	position: relative !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	margin-top: 18px !important;
}
html body #clienti .ewf-testimonial.ncert-testimonial-card.is-expanded .ncert-testimonial-more {
	bottom: 18px !important;
}
@media (max-width: 767px) {
	html body #clienti .ewf-testimonial.ncert-testimonial-card {
		height: 236px !important;
		min-height: 236px !important;
		padding: 20px 20px 82px !important;
	}
	html body #clienti .ewf-testimonial.ncert-testimonial-card .ewf-testimonial__cite {
		left: 20px !important;
		right: 20px !important;
		padding-right: 130px !important;
	}
	html body #clienti .ewf-testimonial.ncert-testimonial-card.is-expanded {
		height: auto !important;
		padding-bottom: 18px !important;
	}
}
/* Carusel recenzii (pagini ISO): spatiu intre text si nume */
.ncert-reviews-slider .ewf-testimonial__cite,
.ncert-iso-testimonials-slider__slide .ewf-testimonial__cite {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid rgba(31, 122, 69, .12);
}

/* =========================================================================
   FIX 2026-10-10 - Iconite carduri standarde ISO (homepage)
   Iconitele sunt puse direct in card (fara wrapper), deci fulgerul (ISO 50001)
   ramanea mic. Le uniformizam: aceeasi casuta 46px + glif 24px pentru toate.
   ========================================================================= */
html body .ncert-standard-card > i {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	margin-bottom: 16px;
	border-radius: 12px;
	background: #e6f5eb;
	color: var(--brand-green, #1f7a45);
	font-size: 24px !important;
	line-height: 1 !important;
}
html body .ncert-standard-card > i.ti-bolt { font-size: 26px !important; }
