/* ==========================================================================
   IMPROVISION — CSS de temă
   --------------------------------------------------------------------------
   Aici stă DOAR ce nu poate fi exprimat în theme.json:
   componente, grile, stări interactive, responsive.
   Culorile, tipografia și spațierea vin din theme.json ca variabile CSS.

   Referință: Documentul 2 — Instrucțiuni de design.
   ========================================================================== */

:root{
	--imp-primary:      var(--wp--preset--color--primary, #0055D8);
	--imp-primary-dark: var(--wp--preset--color--primary-dark, #0044AE);
	--imp-bright:       var(--wp--preset--color--bright, #0095EB);
	--imp-ice:          var(--wp--preset--color--ice, #EAF4FB);
	--imp-grey:         var(--wp--preset--color--cool-grey, #F3F6F8);
	--imp-slate:        var(--wp--preset--color--slate, #263746);
	--imp-graphite:     var(--wp--preset--color--graphite, #4B5A67);
	--imp-tint:         var(--wp--preset--color--tint, #F7FBFE);
	--imp-line:         #DDE6EE;
	--imp-line-soft:    #E9EFF5;
	--imp-border-btn:   #B9CFF0;
	--imp-error:        #C6362F;

	--imp-measure: 730px;
	--imp-radius: 7px;
	--imp-header-h: 84px;
	--imp-fast: 160ms ease;
}

html{ scroll-behavior:smooth; scroll-padding-top:calc(var(--imp-header-h) + 24px); }

/* Coloană de text lizibilă. Grilele o anulează explicit. */
p, li{ max-width: var(--imp-measure); }
.wp-block-columns p, .wp-block-columns li,
.imp-grid p, .imp-grid li,
.wp-block-details p, .wp-block-details li{ max-width:none; }

:focus-visible{ outline:2.5px solid var(--imp-bright); outline-offset:3px; border-radius:3px; }

/* --------------------------------------------------------------------------
   1. STILURI DE BLOC ÎNREGISTRATE ÎN functions.php
   -------------------------------------------------------------------------- */

.is-style-eyebrow{
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight:500; letter-spacing:.09em; text-transform:uppercase;
	color: var(--imp-primary); margin:0 0 14px;
}
.has-primary-background-color .is-style-eyebrow,
.has-slate-background-color .is-style-eyebrow{ color: rgba(255,255,255,.88); }

.is-style-lead{
	font-size: var(--wp--preset--font-size--lead);
	line-height:1.55; max-width: var(--imp-measure);
}

.is-style-numar{
	font-family: var(--wp--preset--font-family--display);
	font-weight:600; font-size: var(--wp--preset--font-size--num);
	color: var(--imp-primary); line-height:1; letter-spacing:-.02em;
	margin:0 0 14px;
}

.is-style-nota{
	background: var(--imp-grey); border-radius:5px; padding:12px 16px;
	font-size: var(--wp--preset--font-size--small); color: var(--imp-graphite);
}

.wp-block-group.is-style-measure{ max-width: var(--imp-measure); }

.wp-block-separator.is-style-hairline{
	border:0; border-top:1px solid var(--imp-line); opacity:1; margin:0;
}
.wp-block-separator.is-style-accent{
	border:0; border-top:2px solid var(--imp-primary); opacity:1; margin:0;
}

.wp-block-list.is-style-divided{ list-style:none; padding:0; }
.wp-block-list.is-style-divided li{
	padding:14px 0; border-bottom:1px solid var(--imp-line-soft); margin:0;
}

/* --------------------------------------------------------------------------
   2. BUTOANE
   -------------------------------------------------------------------------- */

.wp-block-button__link{
	display:inline-flex; align-items:center; justify-content:center; gap:9px;
	min-height:48px; transition: background var(--imp-fast), color var(--imp-fast), border-color var(--imp-fast);
	text-decoration:none;
}
.wp-block-button__link:hover{ text-decoration:none; }

.wp-block-button.is-style-outline .wp-block-button__link{
	background:transparent; color: var(--imp-primary);
	border:1.5px solid var(--imp-border-btn);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover{
	background:#fff; border-color: var(--imp-primary); color: var(--imp-primary);
}

.wp-block-button.is-style-on-blue .wp-block-button__link{
	background:#fff; color: var(--imp-primary); border-color:transparent;
}
.wp-block-button.is-style-on-blue .wp-block-button__link:hover{
	background: var(--imp-ice); color: var(--imp-primary-dark);
}

@media (max-width:620px){
	.wp-block-buttons:not(.hdr-cta) .wp-block-button{ width:100%; }
	.wp-block-buttons:not(.hdr-cta) .wp-block-button__link{ width:100%; }
}

/* Link cu săgeată */
.imp-linkarrow{
	font-weight:600; font-size: var(--wp--preset--font-size--menu);
	display:inline-flex; gap:7px; align-items:center; text-decoration:none;
}
.imp-linkarrow .ar{ transition: transform 180ms ease; }
.imp-linkarrow:hover .ar{ transform: translateX(4px); }

/* --------------------------------------------------------------------------
   3. HEADER
   -------------------------------------------------------------------------- */

.site-header{
	position:sticky; top:0; z-index:60;
	background: rgba(255,255,255,.94);
	backdrop-filter: saturate(180%) blur(10px);
	border-bottom:1px solid var(--imp-line-soft);
}
.site-header .hdr{ min-height: var(--imp-header-h); transition: min-height 180ms ease; }
.site-header.is-compact .hdr{ min-height:66px; }
.site-header .brand img{ height:58px; width:auto; transition: height 180ms ease; }
.site-header.is-compact .brand img{ height:46px; }
.site-header .hdr-right{ gap:14px; }

.site-header .wp-block-navigation a{
	padding:10px 13px; border-radius:5px; text-decoration:none; position:relative;
}
.site-header .wp-block-navigation a:hover{ background: var(--imp-ice); text-decoration:none; }
.site-header .wp-block-navigation .current-menu-item a{ color: var(--imp-primary); font-weight:600; }
.site-header .wp-block-navigation .current-menu-item a::after{
	content:""; position:absolute; left:13px; right:13px; bottom:2px;
	height:2px; background: var(--imp-primary); border-radius:2px;
}

/* CTA opțional în interiorul meniului (vizibil în overlay-ul mobil deschis) — vezi header.html */
.site-header .wp-block-navigation-item.nav-cta a{
	background: var(--imp-primary); color:#fff; border-radius:7px;
	padding:12px 20px; margin-top:8px; font-weight:600;
}
.site-header .wp-block-navigation-item.nav-cta a:hover{ background: var(--imp-primary-dark); color:#fff; }

/* Comutator de limbă — și pentru markup-ul Polylang */
.langswitch, .wp-block-polylang-language-switcher{
	display:inline-flex; border:1px solid var(--imp-line); border-radius:6px; overflow:hidden;
	list-style:none; margin:0; padding:0;
}
.langswitch a, .wp-block-polylang-language-switcher a{
	font-size: var(--wp--preset--font-size--eyebrow); font-weight:600; letter-spacing:.05em;
	padding:10px 12px; min-height:40px; display:inline-flex; align-items:center;
	background:#fff; color: var(--imp-graphite); text-decoration:none; text-transform:uppercase;
}
.langswitch a + a, .wp-block-polylang-language-switcher li + li a{ border-left:1px solid var(--imp-line); }
.langswitch a[aria-current="true"],
.wp-block-polylang-language-switcher .current-lang a{ background: var(--imp-primary); color:#fff; }

@media (max-width:900px){
	:root{ --imp-header-h:70px; }
	.langswitch a, .wp-block-polylang-language-switcher a{ min-height:44px; padding:12px 14px; }
	.site-header .brand img{ height:46px; }
	.site-header .hdr-cta{ display:none; } /* CTA rămâne în meniul hamburger */
}

/* --------------------------------------------------------------------------
   4. HERO
   -------------------------------------------------------------------------- */

.imp-hero{ background: var(--imp-tint); border-bottom:1px solid var(--imp-line-soft); overflow:hidden; }
.imp-hero .wp-block-columns{ align-items:center; gap:48px; }
.imp-hero h1{ max-width:16ch; }
.imp-hero .is-style-lead{ max-width:56ch; }
.imp-hero-art svg{ width:118%; max-width:none; height:auto; transform:translateX(9%); }
.imp-hero-meta{
	font-size: var(--wp--preset--font-size--eyebrow); font-weight:500;
	letter-spacing:.07em; text-transform:uppercase; color: var(--imp-graphite);
	margin-top:26px;
}

@media (max-width:900px){
	.imp-hero .wp-block-columns{ flex-direction:column-reverse !important; gap:36px; }
	.imp-hero-art svg{ width:78%; max-width:340px; transform:none; }
}

/* --------------------------------------------------------------------------
   5. GRILE
   -------------------------------------------------------------------------- */

.imp-grid{ display:grid; gap:0; border-top:1px solid var(--imp-line); }
.imp-grid > *{
	padding:30px 26px 30px 0; border-bottom:1px solid var(--imp-line);
	border-left:1px solid var(--imp-line); padding-left:26px;
}
.imp-grid--4{ grid-template-columns:repeat(4,1fr); }
.imp-grid--4 > *:nth-child(4n+1){ padding-left:0; border-left:0; }
.imp-grid--3{ grid-template-columns:repeat(3,1fr); }
.imp-grid--3 > *:nth-child(3n+1){ padding-left:0; border-left:0; }
.imp-grid--2{ grid-template-columns:repeat(2,1fr); }
.imp-grid--2 > *:nth-child(2n+1){ padding-left:0; border-left:0; }

a.imp-cell{ display:block; text-decoration:none; transition: background var(--imp-fast); }
a.imp-cell:hover{ background: var(--imp-tint); text-decoration:none; }
.imp-cell h3{ font-size:1.0625rem; margin:0 0 8px; line-height:1.35; }
.imp-cell p{ font-size:.96rem; margin:0; color: var(--imp-graphite); }

@media (max-width:1080px){
	.imp-grid--4{ grid-template-columns:repeat(2,1fr); }
	.imp-grid--4 > *:nth-child(4n+1){ padding-left:26px; border-left:1px solid var(--imp-line); }
	.imp-grid--4 > *:nth-child(2n+1){ padding-left:0; border-left:0; }
	.imp-grid--3{ grid-template-columns:repeat(2,1fr); }
	.imp-grid--3 > *:nth-child(3n+1){ padding-left:26px; border-left:1px solid var(--imp-line); }
	.imp-grid--3 > *:nth-child(2n+1){ padding-left:0; border-left:0; }
}
@media (max-width:620px){
	.imp-grid{ grid-template-columns:1fr !important; }
	.imp-grid > *{ padding-left:0 !important; border-left:0 !important; }
}

/* Triptic Improvement · Progress · Vision */
.imp-ipv{ display:grid; grid-template-columns:repeat(3,1fr); margin-top:52px; }
.imp-ipv > *{ padding:0 34px; border-left:1px solid #CFE2F2; }
.imp-ipv > *:first-child{ padding-left:0; border-left:0; }
.imp-ipv-word{
	font-family: var(--wp--preset--font-family--display); font-weight:600;
	font-size:clamp(1.25rem,2vw,1.6rem); text-transform:uppercase; letter-spacing:.02em;
	color: var(--imp-primary); margin:0 0 6px; line-height:1.1;
}
.imp-bars{ display:flex; align-items:flex-end; gap:5px; height:34px; margin-bottom:16px; }
.imp-bars i{ display:block; width:9px; background: var(--imp-bright); border-radius:1px; }
@media (max-width:900px){
	.imp-ipv{ grid-template-columns:1fr; }
	.imp-ipv > *{ padding:24px 0; border-left:0; border-top:1px solid #CFE2F2; }
	.imp-ipv > *:first-child{ padding-top:0; border-top:0; }
}

/* --------------------------------------------------------------------------
   6. ACCORDION (core/details)
   -------------------------------------------------------------------------- */

.wp-block-details.imp-acc{
	border-bottom:1px solid var(--imp-line); padding:0;
	scroll-margin-top: calc(var(--imp-header-h) + 20px);
}
.wp-block-details.imp-acc:first-of-type{ border-top:1px solid var(--imp-line); }

.imp-acc > summary{
	list-style:none; cursor:pointer; padding:28px 0 10px;
	display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:22px; align-items:center;
}
.imp-acc > summary::-webkit-details-marker{ display:none; }
.imp-acc > summary:hover .imp-acc-title{ color: var(--imp-primary); }

.imp-acc-n{
	font-family: var(--wp--preset--font-family--display); font-weight:600;
	font-size:1.5rem; color: var(--imp-primary); line-height:1.1; letter-spacing:-.02em;
}
.imp-acc-title{
	font-weight:600; font-size: var(--wp--preset--font-size--heading-3);
	color: var(--imp-slate); margin:0; line-height:1.28; transition: color var(--imp-fast);
}
.imp-acc-toggle{
	display:inline-flex; align-items:center; gap:8px;
	font-size:.9rem; font-weight:600; color: var(--imp-primary); white-space:nowrap;
}
.imp-acc-toggle::after{
	content:"+"; width:26px; height:26px; border:1.5px solid var(--imp-border-btn);
	border-radius:5px; display:inline-flex; align-items:center; justify-content:center;
	font-size:1.05rem; line-height:1; color: var(--imp-primary);
}
.imp-acc[open] > summary .imp-acc-toggle::after{
	content:"−"; background: var(--imp-primary); border-color: var(--imp-primary); color:#fff;
}
.imp-acc[open] > summary .imp-acc-toggle .lbl-open{ display:none; }
.imp-acc:not([open]) > summary .imp-acc-toggle .lbl-close{ display:none; }

.imp-acc-sum{
	padding:0 0 26px calc(1.5rem + 22px); margin:0;
	font-size: var(--wp--preset--font-size--body); color: var(--imp-graphite); max-width:64ch;
}
.imp-acc-body{ padding:0 0 38px calc(1.5rem + 22px); }
.imp-acc-body .wp-block-columns{ gap:56px; }
.imp-acc-body h4{ margin:0 0 12px; }
.imp-acc-body .imp-block{ padding:22px 0; border-top:1px solid var(--imp-line-soft); }
.imp-acc-note{
	background: var(--imp-grey); border-left:3px solid var(--imp-bright);
	padding:16px 20px; border-radius:0 5px 5px 0;
}
.imp-acc-note p{ font-size:.98rem; margin:0; }

@media (max-width:900px){
	.imp-acc > summary{ grid-template-columns:auto minmax(0,1fr); align-items:start; gap:16px; }
	.imp-acc-toggle{ grid-column:2; padding-top:12px; }
	.imp-acc-sum, .imp-acc-body{ padding-left:0; }
	.imp-acc-body .wp-block-columns{ gap:0; }
}

/* --------------------------------------------------------------------------
   7. LISTA „UNDE ESTE PROIECTUL TĂU ACUM?"
   -------------------------------------------------------------------------- */

.imp-routes{ border-top:1px solid var(--imp-line); margin-top:44px; }
.imp-route{
	display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,300px);
	gap:24px; align-items:center; padding:22px 4px;
	border-bottom:1px solid var(--imp-line); text-decoration:none;
	transition: padding-left 180ms ease, background var(--imp-fast);
}
.imp-route:hover{ background:#fff; padding-left:16px; text-decoration:none; }
.imp-route-q{ font-weight:500; font-size:1.0625rem; color: var(--imp-slate); }
.imp-route-a{ font-size:.94rem; font-weight:600; color: var(--imp-primary); text-align:right; }
.imp-route .ar{ color: var(--imp-primary); }
@media (max-width:900px){
	.imp-route{ grid-template-columns:1fr; gap:6px; padding:18px 4px; }
	.imp-route-a{ text-align:left; }
	.imp-route .ar{ display:none; }
}

/* --------------------------------------------------------------------------
   8. FOOTER
   -------------------------------------------------------------------------- */

.site-footer{ color: rgba(255,255,255,.80); }
.site-footer h4{ color:#fff; }
.site-footer a{ color: rgba(255,255,255,.86); text-decoration:none; }
.site-footer a:hover{ color:#7FC6F5; text-decoration:none; }
.site-footer .foot-list{ list-style:none; padding:0; margin:0; }
.site-footer .foot-list li{ margin-bottom:9px; font-size:.98rem; }
.site-footer .foot-tag{ color: rgba(255,255,255,.74); font-size:.95rem; }
.site-footer .foot-bottom{
	border-top:1px solid rgba(255,255,255,.14); margin-top:44px; padding-top:22px;
}
.site-footer .foot-bottom p{ font-size:.9rem; color: rgba(255,255,255,.66); margin:0; }

/* --------------------------------------------------------------------------
   9. FORMULAR — [VARIANTA B]. Stilizează markup-ul Fluent Forms.
   -------------------------------------------------------------------------- */

.imp-form-card{
	background:#fff; border:1px solid var(--imp-line);
	border-radius: var(--imp-radius); padding:36px;
}
.imp-form-card input[type="text"],
.imp-form-card input[type="email"],
.imp-form-card input[type="tel"],
.imp-form-card input[type="date"],
.imp-form-card select,
.imp-form-card textarea{
	width:100%; font-family:inherit; font-size:1rem; color: var(--imp-slate);
	padding:12px 14px; min-height:48px;
	border:1.5px solid var(--imp-line); border-radius:6px; background:#fff;
	transition: border-color var(--imp-fast);
}
.imp-form-card textarea{ min-height:150px; resize:vertical; line-height:1.55; }
.imp-form-card :is(input,select,textarea):hover{ border-color: var(--imp-border-btn); }
.imp-form-card :is(input,select,textarea):focus{
	border-color: var(--imp-primary); outline:2px solid rgba(0,149,235,.28); outline-offset:0;
}
.imp-form-card label{
	display:block; font-size:.94rem; font-weight:600; color: var(--imp-slate); margin-bottom:7px;
}
.imp-form-card .ff-el-is-required label::after,
.imp-form-card .req{ color: var(--imp-primary); }
.imp-form-card .error input, .imp-form-card .error textarea{ border-color: var(--imp-error); }
.imp-form-card .error-text{ font-size:.88rem; color: var(--imp-error); font-weight:500; margin-top:7px; }

.imp-state{ border-radius: var(--imp-radius); padding:26px 28px; margin-bottom:24px; }
.imp-state--ok{ background: var(--imp-ice); border:1px solid #B7DAF4; }
.imp-state--err{ background:#FBEFEE; border:1px solid #EBC6C3; }
.imp-state--err h2{ color:#93251F; }

/* --------------------------------------------------------------------------
   10. DIVERSE
   -------------------------------------------------------------------------- */

.imp-photo-ph{
	aspect-ratio:4/5; background: var(--imp-ice); border:1px solid #CFE2F2;
	border-radius: var(--imp-radius); display:flex; flex-direction:column;
	align-items:center; justify-content:center; gap:12px; text-align:center; padding:24px;
	font-size: var(--wp--preset--font-size--eyebrow); font-weight:500;
	letter-spacing:.07em; text-transform:uppercase; color: var(--imp-graphite);
}
@media (max-width:900px){ .imp-photo-ph{ aspect-ratio:3/2; max-width:420px; } }

.imp-photo-ph-ic{ width:52px; height:52px; color:#9FC2E4; }

.imp-network{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:40px; }
.imp-net-core{
	grid-column:1/-1;
	background: var(--imp-primary); color:#fff; border-radius: var(--imp-radius);
	padding:22px; text-align:center;
	font-family: var(--wp--preset--font-family--display); font-weight:600; font-size:1.15rem;
}
.imp-net-node{
	background:#fff; border:1px solid var(--imp-line); border-radius: var(--imp-radius);
	padding:18px; font-size:.98rem; font-weight:500; color: var(--imp-slate); text-align:center;
}
.imp-net-node small{ display:block; font-weight:400; color: var(--imp-graphite); font-size:.9rem; margin-top:4px; }
@media (max-width:900px){ .imp-network{ grid-template-columns:1fr 1fr; } }
@media (max-width:620px){ .imp-network{ grid-template-columns:1fr; } }

/* --------------------------------------------------------------------------
   11. MOTIVE · FORMATE DE COLABORARE · PROCES ÎN 6 PAȘI
   -------------------------------------------------------------------------- */

/* Motive / principii — grilă 2 coloane */
.imp-reasons{ display:grid; grid-template-columns:1fr 1fr; gap:0 56px; margin-top:44px; }
.imp-reason{ padding:26px 0; border-top:1px solid var(--imp-line); }
.imp-reason-n{
	font-family: var(--wp--preset--font-family--display); font-weight:600; font-size:.95rem;
	color: var(--imp-primary); letter-spacing:.06em; display:block; margin-bottom:10px;
}
.imp-reason h3{ font-size:1.125rem; margin:0 0 8px; }
.imp-reason p{ font-size:1rem; margin:0; color: var(--imp-graphite); }
@media (max-width:900px){ .imp-reasons{ grid-template-columns:1fr; } }

/* Formate de colaborare — 5 coloane cu linie de accent deasupra */
.imp-formats{ display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:44px; border-top:2px solid var(--imp-primary); }
.imp-format{ padding:26px 22px 26px 0; }
.imp-format + .imp-format{ border-left:1px solid #CFE2F2; padding-left:22px; }
.imp-format-n{
	font-family: var(--wp--preset--font-family--display); font-size:.9rem; font-weight:600;
	color: var(--imp-primary); letter-spacing:.06em; display:block; margin-bottom:12px;
}
.imp-format h3{ font-size:1.0625rem; margin:0 0 7px; line-height:1.3; }
.imp-format p{ font-size:.94rem; margin:0; color: var(--imp-graphite); }
@media (max-width:1080px){
	.imp-formats{ grid-template-columns:repeat(2,1fr); }
	.imp-format{ padding:24px 22px 24px 0; border-top:1px solid var(--imp-line-soft); }
	.imp-format + .imp-format{ border-left:0; padding-left:0; }
}
@media (max-width:620px){ .imp-formats{ grid-template-columns:1fr; } }

/* Proces în 6 pași — grilă 3×2, linie de accent deasupra fiecărui pas */
.imp-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:48px; }
.imp-step{ padding:30px 32px 30px 0; border-top:2px solid var(--imp-primary); }
.imp-step:nth-child(n+4){ margin-top:44px; }
.imp-step + .imp-step{ padding-left:32px; border-left:1px solid var(--imp-line); }
.imp-steps .imp-step:nth-child(3n+1){ padding-left:0; border-left:0; }
.imp-step-n{
	font-family: var(--wp--preset--font-family--display); font-weight:600; font-size:2.25rem;
	color: var(--imp-primary); line-height:1; display:block; margin:6px 0 14px; letter-spacing:-.03em;
}
.imp-step h3{ font-size:1.125rem; margin:0 0 9px; }
.imp-step p{ font-size:.98rem; margin:0; color: var(--imp-graphite); }
@media (max-width:1080px){
	.imp-steps{ grid-template-columns:repeat(2,1fr); }
	.imp-step:nth-child(n+3){ margin-top:40px; }
	.imp-steps .imp-step:nth-child(3n+1){ padding-left:32px; border-left:1px solid var(--imp-line); }
	.imp-steps .imp-step:nth-child(2n+1){ padding-left:0; border-left:0; }
}
@media (max-width:620px){
	.imp-steps{ grid-template-columns:1fr; }
	.imp-steps .imp-step{ padding-left:0; border-left:0; margin-top:0; }
	.imp-steps .imp-step + .imp-step{ margin-top:32px; }
}

/* --------------------------------------------------------------------------
   12. MIȘCARE REDUSĂ
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce){
	*, *::before, *::after{ animation:none !important; transition:none !important; }
	html{ scroll-behavior:auto; }
}
