/* ===================================================================
 * TBT Forms — design premium adaptat brandului TBT Logistic
 * =================================================================== */

.tbt-formwrap{
	--tbt-blue:#00ADEF;
	--tbt-navy:#12325a;
	--tbt-ink:#2c3a4b;
	--tbt-muted:#6b7688;
	--tbt-line:#e4e9f0;
	--tbt-bg:#ffffff;
	--tbt-radius:16px;
	max-width:760px;
	margin:0 auto;
	background:var(--tbt-bg);
	border:1px solid var(--tbt-line);
	border-radius:22px;
	box-shadow:0 24px 60px rgba(15,40,80,.08);
	padding:30px 32px 34px;
	box-sizing:border-box;
	font-family:"Khula",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	color:var(--tbt-ink);
}

/* Header */
.tbt-formhead{ text-align:center; margin-bottom:20px; }
.tbt-formhead h3{
	font-family:"Alata",sans-serif;
	color:var(--tbt-navy);
	font-size:28px;
	line-height:1.15;
	margin:0 0 8px;
	letter-spacing:.2px;
}
.tbt-formhead h3::after{
	content:""; display:block; width:52px; height:3px; border-radius:3px;
	background:linear-gradient(90deg,var(--tbt-blue),var(--tbt-navy));
	margin:10px auto 0;
}
.tbt-formhead p{
	font-family:"Khula",sans-serif;
	color:var(--tbt-muted);
	font-size:14.5px;
	line-height:1.6;
	margin:0;
	max-width:520px;
	margin-inline:auto;
}

/* Grid */
.tbt-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px 16px; }
.tbt-field{ display:flex; flex-direction:column; }
.tbt-field--full{ grid-column:1 / -1; }

.tbt-field label{
	font-family:"Khula",sans-serif;
	font-size:13.5px;
	font-weight:600;
	color:var(--tbt-navy);
	margin-bottom:5px;
	letter-spacing:.2px;
}
.tbt-req{ color:var(--tbt-blue); }

.tbt-field input,
.tbt-field textarea,
.tbt-field select{
	width:100%;
	box-sizing:border-box;
	font-family:"Khula",sans-serif;
	font-size:14.5px;
	color:var(--tbt-ink);
	background:#f7f9fc;
	border:1.5px solid var(--tbt-line);
	border-radius:var(--tbt-radius);
	padding:11px 14px;
	transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
	-webkit-appearance:none; appearance:none;
	outline:none;
}
.tbt-field textarea{ resize:vertical; min-height:84px; line-height:1.6; }
.tbt-field input::placeholder,
.tbt-field textarea::placeholder{ color:#a6afbd; }

.tbt-field input:focus,
.tbt-field textarea:focus,
.tbt-field select:focus{
	border-color:var(--tbt-blue);
	background:#fff;
	box-shadow:0 0 0 4px rgba(0,173,239,.13);
}

/* Select cu sageata custom */
.tbt-select{ position:relative; }
.tbt-select::after{
	content:""; position:absolute; right:16px; top:50%; width:9px; height:9px;
	border-right:2px solid var(--tbt-navy); border-bottom:2px solid var(--tbt-navy);
	transform:translateY(-70%) rotate(45deg); pointer-events:none; opacity:.6;
}
.tbt-field select{ cursor:pointer; padding-right:40px; }

/* Consent */
.tbt-consent{ margin-top:2px; }
.tbt-check{
	display:flex; align-items:flex-start; gap:11px;
	font-family:"Khula",sans-serif; font-size:13.5px; font-weight:400;
	color:var(--tbt-muted); line-height:1.5; cursor:pointer;
}
.tbt-check input{ position:absolute; opacity:0; width:0; height:0; }
.tbt-check span{
	flex:0 0 20px; width:20px; height:20px; margin-top:1px;
	border:1.5px solid var(--tbt-line); border-radius:6px; background:#f7f9fc;
	position:relative; transition:all .2s ease;
}
.tbt-check input:checked + span{ background:var(--tbt-blue); border-color:var(--tbt-blue); }
.tbt-check input:checked + span::after{
	content:""; position:absolute; left:6px; top:2px; width:5px; height:10px;
	border:solid #fff; border-width:0 2.5px 2.5px 0; transform:rotate(45deg);
}
.tbt-check input:focus-visible + span{ box-shadow:0 0 0 4px rgba(0,173,239,.18); }

/* Submit */
.tbt-actions{ margin-top:2px; }
.tbt-submit{
	position:relative;
	display:inline-flex; align-items:center; justify-content:center; gap:10px;
	font-family:"Alata",sans-serif; font-size:15px; letter-spacing:.5px;
	color:#fff; background:var(--tbt-blue);
	border:none; border-radius:99px; padding:13px 36px; cursor:pointer;
	box-shadow:0 10px 26px rgba(0,173,239,.30);
	transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
	text-transform:uppercase;
}
.tbt-submit:hover{ background:#0098d4; transform:translateY(-2px); box-shadow:0 14px 32px rgba(0,173,239,.40); }
.tbt-submit:disabled{ opacity:.75; cursor:default; transform:none; }
.tbt-spinner{
	display:none; width:17px; height:17px; border-radius:50%;
	border:2.5px solid rgba(255,255,255,.45); border-top-color:#fff;
	animation:tbt-spin .7s linear infinite;
}
.tbt-form.is-loading .tbt-spinner{ display:inline-block; }
@keyframes tbt-spin{ to{ transform:rotate(360deg); } }

/* Mesaje */
.tbt-msg{ margin-top:16px; font-family:"Khula",sans-serif; font-size:14.5px; line-height:1.5; display:none; padding:11px 14px; border-radius:12px; }
.tbt-msg.is-ok{ display:block; background:#e9f9ef; color:#137a3f; border:1px solid #bfe9cf; }
.tbt-msg.is-err{ display:block; background:#fdeceb; color:#b3352c; border:1px solid #f4cbc7; }

/* Field cu eroare */
.tbt-field.has-error input,
.tbt-field.has-error textarea,
.tbt-field.has-error select{ border-color:#e0574c; background:#fef6f5; }

/* Honeypot ascuns */
.tbt-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }

/* Responsive */
@media (max-width:640px){
	.tbt-formwrap{ padding:22px 16px 26px; border-radius:18px; }
	.tbt-grid{ grid-template-columns:1fr; gap:11px; }
	.tbt-formhead h3{ font-size:24px; }
	.tbt-submit{ width:100%; }
}

/* ===================================================================
 * v1.1 — Formular cotație extins (țări, adrese, mod transport, tip marfă)
 * =================================================================== */
.tbt-sep{ grid-column:1 / -1; border-top:1px solid var(--tbt-line); margin:6px 0 2px; }
.tbt-field:not(.tbt-field--full) textarea{ min-height:56px; height:64px; }

@media (max-width:640px){
	.tbt-sep{ margin:2px 0 0; }
}

/* v1.1.1 — incadrare pe pagina Cotatie: coloanele laterale goale se ascund,
 * formularul foloseste toata sectiunea; inaltimi compacte */
body.page-id-3174 .elementor-element-a9c6f55,
body.page-id-3174 .elementor-element-df8f922{ display:none; }
body.page-id-3174 .elementor-element-ac93ff0{ width:100% !important; }
body.page-id-3174 .tbt-formwrap{ max-width:900px; }
.tbt-form--quote .tbt-field--full textarea{ height:96px; }
