/* ==========================================================================
   Request Callback
   Toate culorile vin din 3 variabile: --rcb-1, --rcb-2, --rcb-3
   ========================================================================== */

:root{
	--rcb-1:#F68E1E;
	--rcb-2:#E9790A;
	--rcb-3:#114887;
	--rcb-radius:14px;
	--rcb-font:inherit;
}

/* ---------- Buton ---------- */

.rcb-btn{
	display:inline-flex;
	align-items:center;
	gap:12px;
	padding:9px 20px 9px 9px;
	border:0;
	border-radius:14px;
	cursor:pointer;
	background:linear-gradient(100deg,var(--rcb-1) 0%,var(--rcb-2) 100%);
	color:#fff;
	font-family:var(--rcb-font);
	line-height:1.25;
	text-align:left;
	box-shadow:0 8px 24px rgba(15,23,42,.22);
	transition:transform .18s ease, box-shadow .18s ease;
	-webkit-tap-highlight-color:transparent;
}
.rcb-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(15,23,42,.3)}
.rcb-btn:active{transform:translateY(0)}
.rcb-btn:focus-visible{outline:3px solid var(--rcb-3);outline-offset:3px}

.rcb-btn--fixed{position:fixed;bottom:24px;z-index:99990}
.rcb-btn--bottom-right{right:24px}
.rcb-btn--bottom-left{left:24px}

.rcb-btn__ic{
	flex:0 0 auto;
	width:40px;height:40px;
	display:grid;place-items:center;
	border-radius:10px;
	background:#fff;
}
.rcb-btn__ic svg{width:22px;height:22px;color:var(--rcb-3)}

.rcb-btn__tx{display:flex;flex-direction:column}
.rcb-btn__tx strong{font-size:15px;font-weight:700;letter-spacing:.1px}
.rcb-btn__tx em{font-size:12.5px;font-style:normal;font-weight:500;opacity:.85}

/* pulse discret ca să atragă atenția fără să fie agresiv */
.rcb-btn--fixed::after{
	content:"";position:absolute;inset:0;border-radius:14px;
	box-shadow:0 0 0 0 color-mix(in srgb,var(--rcb-1) 50%,transparent);
	animation:rcb-pulse 2.8s cubic-bezier(.4,0,.6,1) infinite;
	pointer-events:none;
}
@keyframes rcb-pulse{
	0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--rcb-1) 45%,transparent)}
	70%{box-shadow:0 0 0 18px color-mix(in srgb,var(--rcb-1) 0%,transparent)}
	100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--rcb-1) 0%,transparent)}
}
@media (prefers-reduced-motion:reduce){
	.rcb-btn--fixed::after{animation:none}
	.rcb-btn{transition:none}
}

/* ---------- Overlay + modal ---------- */

.rcb-overlay{
	position:fixed;inset:0;z-index:99991;
	display:flex;align-items:center;justify-content:center;
	padding:20px;
	background:rgba(8,18,34,.55);
	backdrop-filter:blur(3px);
	opacity:0;transition:opacity .2s ease;
}
.rcb-overlay[hidden]{display:none}
.rcb-overlay.is-open{opacity:1}

.rcb-modal{
	position:relative;
	width:100%;max-width:440px;
	max-height:92vh;overflow-y:auto;
	background:#fff;
	border-radius:var(--rcb-radius);
	border-top:5px solid var(--rcb-2);
	padding:28px 30px 24px;
	box-shadow:0 30px 70px rgba(8,18,34,.35);
	font-family:var(--rcb-font);
	transform:translateY(14px) scale(.98);
	transition:transform .22s cubic-bezier(.2,.8,.3,1);
}
.rcb-overlay.is-open .rcb-modal{transform:none}

.rcb-close{
	position:absolute;top:14px;right:14px;
	width:34px;height:34px;display:grid;place-items:center;
	border:0;border-radius:50%;cursor:pointer;
	background:#f1f5f9;color:#64748b;
}
.rcb-close:hover{background:#e2e8f0;color:var(--rcb-1)}
.rcb-close svg{display:block}

.rcb-back{
	display:block;width:100%;margin-top:10px;padding:8px 0 0;
	border:0;background:none;cursor:pointer;
	font-size:13px;font-weight:600;color:#64748b;font-family:inherit;text-align:left;
}
.rcb-back:hover{color:var(--rcb-1)}
.rcb-back[hidden]{display:none}

.rcb-art{display:flex;justify-content:center;margin-bottom:16px}
.rcb-badge{
	width:60px;height:60px;display:grid;place-items:center;
	border-radius:15px;
	background:linear-gradient(135deg,var(--rcb-1) 0%,var(--rcb-2) 100%);
	color:#fff;
}
.rcb-badge svg{width:30px;height:30px}

.rcb-title{
	margin:0 44px 12px 0;
	font-size:20px;line-height:1.35;font-weight:700;
	color:#1f2937;text-align:left;
}

/* promisiune afișată ÎNAINTE de trimitere (fără countdown) */
.rcb-promise{
	display:flex;align-items:center;justify-content:flex-start;gap:6px;
	margin:0 0 18px;padding:0;
	width:auto;border-radius:0;
	background:none;
	color:#16a34a;font-size:13.5px;font-weight:600;
}
.rcb-promise[hidden]{display:none}

/* countdown — apare DOAR după trimiterea numărului */
.rcb-timer{
	font-size:30px;font-weight:700;letter-spacing:1px;
	color:var(--rcb-1);text-align:left;
	margin:0 0 10px;padding:12px 16px;
	background:#f1f5f9;border-radius:10px;
	font-variant-numeric:tabular-nums;
	animation:rcb-in .35s ease both;
}
.rcb-timer[hidden]{display:none}
.rcb-timer.is-over{color:#94a3b8;font-size:22px;letter-spacing:0}

/* bifă de confirmare — modul „doar mesaj" */
.rcb-ok{display:flex;justify-content:flex-start;margin:4px 0 14px;color:#16a34a}
.rcb-ok[hidden]{display:none}
.rcb-ok svg{width:64px;height:64px}
.rcb-ok__c{stroke-dasharray:145;stroke-dashoffset:145}
.rcb-ok__t{stroke-dasharray:40;stroke-dashoffset:40}
.rcb-ok.is-in .rcb-ok__c{animation:rcb-draw .5s cubic-bezier(.65,0,.45,1) forwards}
.rcb-ok.is-in .rcb-ok__t{animation:rcb-draw .3s cubic-bezier(.65,0,.45,1) .4s forwards}
@keyframes rcb-draw{to{stroke-dashoffset:0}}

.rcb-note{
	margin:0 0 6px;text-align:left;
	font-size:13px;line-height:1.55;color:#64748b;
}
.rcb-note[hidden]{display:none}
/* mesajul principal când nu există countdown */
.rcb-note.is-lead{
	font-size:17px;line-height:1.45;font-weight:600;color:#1f2937;
	margin-bottom:10px;
}

.rcb-title[hidden]{display:none}

.rcb-form[hidden]{display:none}

@keyframes rcb-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.rcb-timer{animation:none}}

/* ---------- Selectoare dată/oră ---------- */

.rcb-when{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.rcb-when[hidden]{display:none}
.rcb-sel{
	width:100%;height:52px;
	padding:0 14px;
	border:1px solid #dde3ec;border-radius:8px;
	background:#fff;color:#1f2937;font-size:15px;font-family:inherit;
	appearance:none;
	background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2394a3b8' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right 14px center;
}
.rcb-sel:focus{outline:0;border-color:var(--rcb-3);box-shadow:0 0 0 3px rgba(30,77,143,.12)}

/* ---------- Formularul CF7 în modal ---------- */

.rcb-form .wpcf7{margin:0}
.rcb-form form{margin:0}
.rcb-form p{margin:0}
.rcb-form br{display:none}

.rcb-form .rcb-field{position:relative;margin-bottom:12px}
.rcb-form .rcb-field::before{
	content:"";position:absolute;left:14px;top:50%;
	width:22px;height:15px;margin-top:-7px;
	border-radius:2px;pointer-events:none;z-index:2;
	background:linear-gradient(90deg,#002B7F 0 33.33%,#FCD116 33.33% 66.66%,#CE1126 66.66% 100%);
}
.rcb-form input[type="tel"],
.rcb-form input[type="text"]:not(.rcb-hp){
	width:100%;height:52px;box-sizing:border-box;
	padding:0 16px 0 48px;
	border:1px solid #dde3ec;border-radius:8px;
	font-size:15px;font-family:inherit;color:#1f2937;background:#fff;
}
.rcb-form input[type="tel"]::placeholder{color:#9aa5b4}
.rcb-form input[type="tel"]:focus{outline:0;border-color:var(--rcb-3);box-shadow:0 0 0 3px rgba(30,77,143,.12)}

.rcb-form .rcb-submit{margin-bottom:12px}
.rcb-form input[type="submit"]{
	width:100%;height:52px;
	border:0;border-radius:8px;cursor:pointer;
	background:linear-gradient(100deg,var(--rcb-1) 0%,var(--rcb-2) 100%);
	color:#fff;font-size:16px;font-weight:600;font-family:inherit;
	transition:filter .18s ease;
}
.rcb-form input[type="submit"]:hover{filter:brightness(1.12)}
.rcb-form input[type="submit"]:disabled{opacity:.6;cursor:default}

.rcb-form .rcb-gdpr{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5;color:#9aa5b4}
.rcb-form .rcb-gdpr .wpcf7-list-item{margin:0}
.rcb-form .rcb-gdpr input[type="checkbox"]{margin-top:2px;accent-color:var(--rcb-3)}
.rcb-form .rcb-gdpr a{color:var(--rcb-3);text-decoration:underline}

.rcb-form .wpcf7-not-valid-tip{font-size:12px;color:#d33;margin:6px 0 0}
.rcb-form .wpcf7-response-output{
	margin:14px 0 0!important;padding:10px 12px!important;
	border-radius:8px;border-width:1px!important;font-size:13px;
}
.rcb-form .wpcf7-spinner{display:block;margin:8px auto 0}
.rcb-form input[type="hidden"]{display:none}

/* honeypot */
.rcb-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}

/* ---------- Link programare ---------- */

.rcb-schedule{
	display:flex;align-items:center;justify-content:center;gap:8px;
	width:100%;height:46px;margin-top:14px;padding:0 14px;
	border:1.5px solid #dde3ec;border-radius:8px;background:#fff;cursor:pointer;
	color:#1f2937;font-size:14px;font-weight:600;font-family:inherit;
}
.rcb-schedule svg{color:var(--rcb-3)}
.rcb-schedule:hover{border-color:var(--rcb-3)}
.rcb-schedule[hidden]{display:none}

/* ---------- Mobil ---------- */

@media (max-width:520px){
	.rcb-modal{padding:22px 20px 20px;max-height:94vh}
	.rcb-badge{width:54px;height:54px}
	.rcb-badge svg{width:27px;height:27px}
	.rcb-title{font-size:18px}
	.rcb-timer{font-size:26px}
	.rcb-when{grid-template-columns:1fr}
}
@media (max-width:420px){
	.rcb-btn--fixed{bottom:16px;padding:8px 20px 8px 8px}
	.rcb-btn--bottom-right{right:14px}
	.rcb-btn--bottom-left{left:14px}
	.rcb-btn__ic{width:36px;height:36px}
	.rcb-btn__tx strong{font-size:14px}
	.rcb-btn__tx em{font-size:12px}
}

/* pe ecranul de confirmare, bifa ține locul iconiței de sus */
.rcb-modal:has(.rcb-ok:not([hidden])) .rcb-art{display:none}
