/* ============================================================
 * KSWX offerte (quote request)
 *  - .kswx-cart-quotecta/-note : CTA under the cart totals (block cart)
 *  - .kswx-quote           : form section on /offerte/ (wraps CF7)
 * ============================================================ */

/* ---------- cart: under "Doorgaan naar afrekenen" ---------- */
.wp-block-woocommerce-cart p.kswx-cart-quotecta { margin: 18px 0 10px; }
.wp-block-woocommerce-cart p.kswx-cart-quotecta a {
	display: block;
	text-align: center;
	border: 2px solid var(--kswx-accent);
	border-radius: 999px;
	padding: 12px 18px;
	font-weight: 700;
	font-size: 15px;
	color: #131a2e;
	text-decoration: none;
	transition: background 0.15s ease;
}
.wp-block-woocommerce-cart p.kswx-cart-quotecta a:hover { background: var(--kswx-accent); color: #131a2e; }
.wp-block-woocommerce-cart p.kswx-cart-quotenote {
	margin: 0 0 6px;
	font-size: 13px;
	line-height: 1.55;
	color: #6b7280;
	text-align: center;
}

/* ---------- /offerte/ form section ---------- */
.kswx-quote {
	background: var(--kswx-detail-bg, #fafafa);
	padding: 72px 20px 80px;
}
.kswx-quote__inner { max-width: 780px; margin: 0 auto; }
.kswx-quote__head { text-align: center; margin-bottom: 34px; }
.kswx-quote__eyebrow {
	display: inline-block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--kswx-accent);
	margin-bottom: 10px;
}
.kswx-quote__title {
	margin: 0 0 12px;
	font-size: clamp(26px, 4vw, 36px);
	line-height: 1.15;
	color: #131a2e;
}
.kswx-quote__subtitle {
	margin: 0 auto;
	max-width: 620px;
	font-size: 16px;
	line-height: 1.65;
	color: #5b6270;
}
.kswx-quote__card {
	background: #fff;
	border: 1px solid rgba(19, 26, 46, 0.08);
	border-radius: 18px;
	padding: 36px 34px;
	box-shadow: 0 12px 34px rgba(19, 26, 46, 0.07);
}
@media (max-width: 600px) {
	.kswx-quote { padding: 52px 16px 60px; }
	.kswx-quote__card { padding: 26px 20px; }
}

/* honeypot: off-screen for humans, still in the DOM for bots */
.kswx-quote__card .kswx-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* CF7 skin (scoped to the quote card) */
.kswx-quote__card .wpcf7-form p { margin: 0 0 18px; }
.kswx-quote__card .wpcf7-form label {
	display: block;
	font-weight: 600;
	font-size: 14px;
	color: #131a2e;
}
.kswx-quote__card .wpcf7-form-control-wrap { display: block; margin-top: 7px; }
.kswx-quote__card .wpcf7-form input[type="text"],
.kswx-quote__card .wpcf7-form input[type="email"],
.kswx-quote__card .wpcf7-form input[type="tel"],
.kswx-quote__card .wpcf7-form textarea {
	width: 100%;
	font: inherit;
	font-size: 15px;
	color: #131a2e;
	background: #fff;
	border: 1px solid #d8dbe2;
	border-radius: 10px;
	padding: 12px 14px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.kswx-quote__card .wpcf7-form input:focus,
.kswx-quote__card .wpcf7-form textarea:focus {
	outline: none;
	border-color: var(--kswx-accent);
	box-shadow: 0 0 0 3px hsla(42, 80%, 55%, 0.22);
}
.kswx-quote__card .wpcf7-form textarea { min-height: 170px; resize: vertical; }
.kswx-quote__card .wpcf7-form input[type="submit"] {
	display: inline-block;
	width: 100%;
	background: var(--kswx-accent);
	color: #131a2e;
	font-weight: 700;
	font-size: 15.5px;
	border: 0;
	border-radius: 999px;
	padding: 15px 26px;
	cursor: pointer;
	transition: filter 0.15s ease, transform 0.15s ease;
}
.kswx-quote__card .wpcf7-form input[type="submit"]:hover {
	filter: brightness(1.07);
	transform: translateY(-1px);
}
.kswx-quote__card .wpcf7-spinner { display: block; margin: 10px auto 0; }
.kswx-quote__card .wpcf7-not-valid-tip { font-size: 12.5px; margin-top: 5px; }
.kswx-quote__card .wpcf7-response-output {
	margin: 18px 0 0;
	padding: 12px 16px;
	border-radius: 10px;
	font-size: 14px;
}
.kswx-quote__card .wpcf7 form.sent .wpcf7-response-output {
	border-color: #2e7d46;
	background: #ecf8f0;
	color: #1d5c33;
}

.kswx-quote__alt {
	margin: 22px 0 0;
	text-align: center;
	font-size: 14px;
	color: #5b6270;
}
.kswx-quote__alt a {
	color: #131a2e;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--kswx-accent);
	text-underline-offset: 3px;
}
