/* =================================================================
   Radhe Krishna – static site fixes
   (slider, enquiry forms, alignment & mobile fixes)
   ================================================================= */

html, body { overflow-x: hidden; }
img { max-width: 100%; height: auto; }

/* ---------- home slider (replaces Revolution Slider) ---------- */
/* full width like the original "fullwidth" slider, 1920x740 grid */
.rk-slider {
	position: relative; width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
	aspect-ratio: 1920 / 740; overflow: hidden; background: #f3f3f3;
}
.rk-slides, .rk-slide { position: absolute; inset: 0; }
.rk-slide { opacity: 0; visibility: hidden; transition: opacity .9s ease, visibility .9s; }
.rk-slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.rk-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rk-layer {
	position: absolute; white-space: nowrap; text-align: center;
	font-family: Poppins, sans-serif; line-height: 1.25;
	font-size: calc(var(--fs) * 100vw / 1920);
	opacity: 0; transform: translateY(30px); transition: opacity .8s ease .3s, transform .8s ease .3s;
}
.rk-layer.rk-sub { transition-delay: .6s; }
.rk-slide.is-active .rk-layer { opacity: 1; transform: none; }
.rk-arrow {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 44px; height: 44px;
	border: 0; border-radius: 50%; background: rgba(0,0,0,.35); color: #fff; font-size: 18px; cursor: pointer;
	opacity: 0; transition: opacity .3s, background .3s;
}
.rk-slider:hover .rk-arrow { opacity: 1; }
.rk-arrow:hover { background: rgba(0,0,0,.6); }
.rk-prev { left: 20px; } .rk-next { right: 20px; }
.rk-dots { position: absolute; left: 0; right: 0; bottom: 18px; z-index: 3; display: flex; justify-content: center; gap: 8px; }
.rk-dots button {
	width: 12px; height: 12px; padding: 0; border-radius: 50%; cursor: pointer;
	border: 2px solid #fff; background: rgba(0,0,0,.25); box-shadow: 0 0 2px rgba(0,0,0,.4);
}
.rk-dots button.is-active { background: #fff; }

/* phones: grid text would be ~8px, so show the title as a readable caption */
@media (max-width: 767px) {
	.rk-arrow { display: none; }
	.rk-dots { bottom: 6px; gap: 6px; }
	.rk-dots button { width: 8px; height: 8px; border-width: 1px; }
	.rk-layer.rk-sub { display: none; }
	.rk-layer.rk-title {
		left: 0 !important; right: 0; top: auto !important; bottom: 18px; white-space: normal;
		font-size: 14px; font-weight: 600 !important; color: #fff !important; padding: 6px 12px;
		background: rgba(0,0,0,.45);
	}
	.rk-layer.rk-title br { display: none; }
}

/* ---------- enquiry forms ---------- */
.rk-form { width: 100%; margin-top: 10px; }
.rk-form .rk-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.rk-form .rk-field { margin-bottom: 16px; }
.rk-form input, .rk-form textarea {
	width: 100%; box-sizing: border-box; padding: 14px 18px; font: inherit; font-size: 15px; color: #222;
	border: 1px solid #dfe3ea; border-radius: 8px; background: #fff; transition: border-color .2s, box-shadow .2s;
}
.rk-form textarea { min-height: 130px; resize: vertical; }
.rk-form input:focus, .rk-form textarea:focus { outline: 0; border-color: #2d68c4; box-shadow: 0 0 0 3px rgba(45,104,196,.15); }
.rk-form .rk-invalid { border-color: #d93025; }
.rk-form button[type="submit"] {
	border: 0; cursor: pointer; padding: 14px 38px; border-radius: 30px; color: #fff; font-weight: 600;
	background: linear-gradient(90deg, #2b3990, #2a9fd8); box-shadow: 0 8px 20px rgba(43,57,144,.25);
}
.rk-form button[disabled] { opacity: .7; cursor: wait; }
.rk-form-msg { font-size: 15px; min-height: 1em; }
.rk-form-msg.is-ok { color: #1e7e34; background: #e7f6ea; padding: 12px 16px; border-radius: 8px; }
.rk-form-msg.is-error { color: #b3261e; background: #fdecea; padding: 12px 16px; border-radius: 8px; }
.rk-form-title { margin: 0 0 15px; }

/* ---------- listing cards: whole card clickable, equal image heights ---------- */
.rk-card-link { text-decoration: none; color: inherit; }
.rk-card-link:hover { opacity: .85; }
main .vc_single_image-wrapper img { display: block; margin: 0 auto; }

/* ---------- broken images never leave a hole ---------- */
img.rk-img-error { visibility: hidden; }

/* ---------- search page ---------- */
.rk-search-results { list-style: none; padding: 0; margin: 20px 0; }
.rk-search-results li { padding: 12px 0; border-bottom: 1px solid #eee; }
.rk-search-results a { font-weight: 600; }
.rk-search-box { display: flex; gap: 10px; max-width: 560px; margin: 0 auto 20px; }
.rk-search-box input { flex: 1; padding: 12px 16px; border: 1px solid #dfe3ea; border-radius: 8px; font: inherit; }
.rk-search-box button { border: 0; padding: 12px 24px; border-radius: 8px; color: #fff; background: #2b3990; cursor: pointer; }

/* ---------- general alignment fixes ---------- */
.rk-simple-page { padding: 40px 0 60px; }
table { max-width: 100%; }
main table { display: block; overflow-x: auto; }
iframe { max-width: 100%; }

@media (max-width: 991px) {
	main .vc_column-inner { padding-left: 15px; padding-right: 15px; }
}
@media (max-width: 767px) {
	main h1, main .h1 { font-size: 30px; line-height: 1.25; }
	main h2, main .h2 { font-size: 26px; line-height: 1.3; }
	main p, main .wpb_text_column { overflow-wrap: break-word; }
	main .rk-unjustify { text-align: left !important; }
	main .vc_col-sm-1, main .vc_col-sm-2, main .vc_col-sm-3, main .vc_col-sm-4, main .vc_col-sm-5, main .vc_col-sm-6,
	main .vc_col-sm-7, main .vc_col-sm-8, main .vc_col-sm-9, main .vc_col-sm-10, main .vc_col-sm-11 { width: 100%; }
}

/* ---------- home: slider sits directly under the header (as on the live site) ---------- */
body.home .site-header.masked .menu-box:last-child { padding-bottom: 0 !important; }

/* ---------- menu: keep on one line on laptop widths ---------- */
@media (min-width: 981px) and (max-width: 1500px) {
	.site-header .menu-main-container > .menu > .menu-item { margin: 0 8px !important; }
	.site-header .menu-box .container { padding-left: 15px; padding-right: 15px; }
}
@media (min-width: 981px) and (max-width: 1300px) {
	.site-header .menu-main-container > .menu > .menu-item { margin: 0 5px !important; }
	.site-header .menu-main-container > .menu > .menu-item > a { font-size: 13px !important; }
	.site-header .menu-main-container > .menu { flex-wrap: nowrap; white-space: nowrap; }
}
