/* "સંપર્ક કરો" page. Uses palette variables from brand.css. */

.by-ct { padding: 60px 0 90px; }
.by-ct *, .by-ct *:before, .by-ct *:after { box-sizing: border-box; }
.by-ct h2, .by-ct h3 { font-family: inherit; text-transform: none; letter-spacing: 0; }

.by-ct-intro { text-align: center; max-width: 680px; margin: 0 auto 40px; }
.by-ct-eyebrow { display: inline-block; color: var(--by-saffron); font-weight: 700; font-size: 15px; margin-bottom: 6px; }
.by-ct-eyebrow:before { content: "\25C6"; font-size: 9px; vertical-align: middle; margin-right: 8px; color: var(--by-gold); }
.by-ct .by-ct-intro h2 { color: var(--by-maroon); font-size: 32px; font-weight: 800; margin: 0 0 12px; }
.by-ct-intro p { color: #6b544d; font-size: 16px; line-height: 1.8; margin: 0; }

/* Contact cards */
.by-ct-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-bottom: 36px; }
.by-ct-card {
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 30px 22px;
	background: #fff; border: 1px solid #f1e3d3; border-radius: 18px; text-decoration: none !important;
	transition: transform .3s, box-shadow .3s, border-color .3s;
}
.by-ct-card:hover { transform: translateY(-6px); box-shadow: 0 18px 36px rgba(74, 27, 25, .12); border-color: transparent; }
.by-ct-card__icon {
	width: 62px; height: 62px; border-radius: 50%; display: grid; place-items: center; font-size: 25px; margin-bottom: 8px;
	background: radial-gradient(circle at 35% 30%, var(--by-sun), var(--by-gold)); color: var(--by-maroon); transition: background .3s, color .3s;
}
.by-ct-card:hover .by-ct-card__icon { background: var(--by-saffron); color: #fff; }
.by-ct-card__label { color: var(--by-saffron); font-size: 14px; font-weight: 700; }
.by-ct-card__value { color: var(--by-maroon); font-size: 17px; font-weight: 700; line-height: 1.5; word-break: break-word; }

/* Form + map */
.by-ct-main { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: stretch; }
.by-ct-form { background: #fff; border-radius: 18px; padding: 32px 32px 34px; border: 1px solid #f1e3d3; box-shadow: 0 10px 30px rgba(74, 27, 25, .07); }
.by-ct .by-ct-form h3 { display: flex; align-items: center; gap: 10px; color: var(--by-maroon); font-size: 22px; font-weight: 800; margin: 0 0 18px; }
.by-ct-form h3 .fa { color: var(--by-saffron); }

/* Ultimate Form Builder markup */
.by-ct-form .ufb-front-form, .by-ct-form .ufb-inner-form-wrap { border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; background: none !important; max-width: none !important; width: 100% !important; }
.by-ct-form .ufb-form-title { display: none; }
.by-ct-form .ufb-form-field-wrap { margin: 0 0 16px !important; padding: 0 !important; width: 100% !important; float: none !important; }
.by-ct-form .ufb-control-label { display: block; color: #3f2a25 !important; font-size: 14.5px !important; font-weight: 700; margin: 0 0 7px !important; padding: 0 !important; }
.by-ct-form input[type=text], .by-ct-form input[type=email], .by-ct-form input[type=tel], .by-ct-form textarea {
	width: 100% !important; height: 50px; padding: 0 16px !important; font-size: 15.5px; color: #2f201c;
	background: #fffdf9 !important; border: 1.5px solid #ead8c8 !important; border-radius: 12px !important; box-shadow: none !important;
	transition: border-color .2s, box-shadow .2s;
}
.by-ct-form textarea { height: 130px !important; padding: 12px 16px !important; line-height: 1.6; resize: vertical; }
.by-ct-form input:focus, .by-ct-form textarea:focus { background: #fff !important; border-color: var(--by-saffron) !important; box-shadow: 0 0 0 4px rgba(232, 82, 34, .12) !important; outline: none; }
.by-ct-form .ufb-error { color: #d63637; font-size: 13px; margin-top: 4px; }
.by-ct-form input[type=submit], .by-ct-form button, .by-ct-form .ufb-form-submit {
	padding: 14px 36px !important; height: auto !important; border-radius: 40px !important; border: 0 !important; font-size: 16px !important; font-weight: 800;
	background: linear-gradient(100deg, var(--by-saffron), #f07a2c) !important; color: #fff !important; box-shadow: 0 10px 24px rgba(232, 82, 34, .3) !important;
	cursor: pointer; transition: transform .2s, background .2s;
}
.by-ct-form input[type=submit]:hover, .by-ct-form button:hover, .by-ct-form .ufb-form-submit:hover { transform: translateY(-2px); background: linear-gradient(100deg, var(--by-maroon), var(--by-maroon-deep)) !important; }

.by-ct-map { position: relative; border-radius: 18px; overflow: hidden; min-height: 420px; border: 1px solid #f1e3d3; box-shadow: 0 10px 30px rgba(74, 27, 25, .07); background: var(--by-cream); }
.by-ct-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.by-ct-map__link {
	position: absolute; left: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 40px;
	background: var(--by-maroon); color: #fff !important; font-weight: 700; font-size: 14px; text-decoration: none !important; box-shadow: 0 8px 20px rgba(52, 18, 16, .3);
}
.by-ct-map__link:hover { background: var(--by-saffron); }

@media (max-width: 991px) {
	.by-ct-main { grid-template-columns: 1fr; }
	.by-ct-map { min-height: 340px; }
}
@media (max-width: 767px) {
	.by-ct-cards { grid-template-columns: 1fr; gap: 14px; }
	.by-ct-card { flex-direction: row; text-align: left; padding: 18px; gap: 14px; flex-wrap: wrap; }
	.by-ct-card__icon { margin: 0; width: 50px; height: 50px; font-size: 20px; }
	.by-ct .by-ct-intro h2 { font-size: 26px; }
	.by-ct-form { padding: 24px 18px; }
	.by-ct-form input[type=submit], .by-ct-form button, .by-ct-form .ufb-form-submit { width: 100%; }
}
.by-ct-form .ufb-form-wrapper { border: 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important; }
.by-ct-form .ufb-form-wrapper * { box-sizing: border-box; }
