/* Custom Lanka Tours - site-specific styles extracted from inline CSS */

/* Global heading cleanup: remove decorative script overlays and forced transforms */
.probootstrap-heading,
.probootstrap-heading * { text-transform: none !important; letter-spacing: 0 !important; }
.probootstrap-heading::before,
.probootstrap-heading::after,
.probootstrap-heading h1::before,
.probootstrap-heading h1::after,
.probootstrap-heading h2::before,
.probootstrap-heading h2::after,
.probootstrap-heading h3::before,
.probootstrap-heading h3::after,
.probootstrap-heading .primary-heading::before,
.probootstrap-heading .primary-heading::after,
.probootstrap-heading .secondary-heading::before,
.probootstrap-heading .secondary-heading::after { content: none !important; }

/* Why Travel With Us */
#why-us.why-us-section { padding-top:30px; border-top:1px solid #eee; }
.why-us-heading { text-align:center; max-width:880px; margin:0 auto 28px; }
.why-us-heading .primary-heading { font-size:2em !important; font-weight:700; text-transform:none !important; letter-spacing:0 !important; margin:0; line-height:1.2; color:#1e2937 !important; font-family:inherit !important; text-shadow:none !important; position:static !important; }
.why-us-heading .secondary-heading { margin-top:8px; }
.why-us-heading .secondary-heading { font-size:1.1em !important; font-weight:600; text-transform:none !important; letter-spacing:.3px; color:#1e88e5 !important; margin:0; font-family:inherit !important; text-shadow:none !important; position:static !important; }
.why-us-heading::before,
.why-us-heading::after,
.why-us-heading h2::before,
.why-us-heading h2::after,
.why-us-heading .primary-heading::before,
.why-us-heading .primary-heading::after,
.why-us-heading .secondary-heading::before,
.why-us-heading .secondary-heading::after { content:none !important; }
.why-us-section *::before,
.why-us-section *::after { content: none !important; }
.why-us-section .probootstrap-heading.dark::before,
.why-us-section .probootstrap-heading.dark::after,
#why-us .why-us-heading *::before,
#why-us .why-us-heading *::after { content: none !important; }
.why-us-heading { text-transform: none !important; }
.why-us-heading p { font-size:1.05em; color:#444; line-height:1.55; margin-top:14px; position:static !important; }

/* Cards */
.why-us-card { background:#fff; border:1px solid #e3e9ef; border-radius:12px; padding:20px; height:100%; box-shadow:0 6px 18px rgba(0,0,0,.05); }
.why-us-card h4 { margin:0; font-size:24px; line-height:1.25; }
.why-us-card p { color:#555; }

/* Equal-height grid for Why Us cards */
.why-us-section .row { display:flex; flex-wrap:wrap; align-items:stretch; }
.why-us-section .row > [class*="col-"] { display:flex; }
.why-us-section .why-us-card { display:flex; flex-direction:column; width:100%; }

/* Title row */
.why-us-title { display:flex; align-items:center; gap:10px; margin:6px 0 6px; }
.why-us-icon { display:inline-flex; width:36px; height:36px; filter: drop-shadow(0 2px 4px rgba(30,136,229,.25)); }

/* CTA */
.why-us-cta { text-align:center; margin-top:10px; }
.why-us-cta .btn-why { background:#1e88e5; color:#fff; padding:12px 28px; border-radius:30px; font-weight:600; display:inline-block; text-decoration:none; }
.why-us-cta .btn-why:hover { background:#1565c0; color:#fff; text-decoration:none; }

/* Global Language Switcher (bottom bar) */
body { padding-bottom: var(--lang-bar-h, 34px); }
.site-lang-bar { position:fixed; bottom:0; left:0; right:0; height:var(--lang-bar-h, 34px); background:#123845; color:#fff; z-index:2100; display:flex; justify-content:flex-end; align-items:center; padding:0 10px; gap:8px; font-family:system-ui,Arial,sans-serif; box-shadow:0 -2px 4px rgba(0,0,0,.15); }
.site-lang-switcher { position:relative; }
.site-lang-switcher>button { background:none; border:0; color:#fff; font-size:.68em; letter-spacing:.5px; text-transform:uppercase; font-weight:600; display:inline-flex; align-items:center; gap:4px; cursor:pointer; padding:6px 10px; border-radius:4px; }
.site-lang-switcher>button:hover, .site-lang-switcher>button:focus { background:#1e88e5; outline:0; }
.site-lang-switcher.open>button { background:#1e88e5; }
.site-lang-switcher .lang-menu { position:absolute; bottom:100%; right:0; margin:0 0 4px; padding:6px 0; list-style:none; background:#fff; border:1px solid #cfd8dc; border-radius:8px; min-width:170px; box-shadow:0 8px 24px -6px rgba(0,0,0,.25); display:none; }
.site-lang-switcher.open .lang-menu { display:block; }
.site-lang-switcher .lang-menu li a { display:block; padding:6px 16px; font-size:.72em; font-weight:600; color:#37474f; text-decoration:none; line-height:1.2; }
.site-lang-switcher .lang-menu li a:hover, .site-lang-switcher .lang-menu li a:focus { background:#f1f6f9; color:#1e88e5; }
.site-lang-switcher .lang-menu li.current>a { color:#1e88e5; cursor:default; }
@media (max-width:991px) {
	body { padding-bottom: var(--lang-bar-h, 38px); }
	.site-lang-bar { height: var(--lang-bar-h, 38px); }
	.site-lang-switcher>button { font-size:.7em; padding:8px 12px; }
	.site-lang-switcher .lang-menu { position:fixed; bottom:var(--lang-bar-h, 38px); right:6px; top:auto; margin:0; }
}

/* Tours page styles moved from head */
/* Global section spacing override */
.probootstrap-section { padding: 1em 0; }
.tours-hero {
	background: linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.4)), url('/assets/gallery/CustomLankaTours_17.jpeg') center/cover no-repeat;
	color: #fff;
	padding: 100px 0 60px 0;
	text-align: center;
}

/* Performance: avoid rendering work for below-the-fold sections until scrolled into view */
.probootstrap-footer, .footer-content, .probootstrap-section[data-section="about"] ~ .probootstrap-section,
.probootstrap-section#contact, .probootstrap-footer * {
	content-visibility: auto;
	contain-intrinsic-size: 1px 1000px; /* reserve space to reduce CLS */
}

/* -------- Index page: Flexslider hero slides -------- */
.flexslider .slides > li {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
/* Ensure theme's fixed heights don't cause CLS when full CSS loads */
.flexslider,
.flexslider .slides > li {
	height: auto !important;
	min-height: clamp(360px, 48vw, 520px);
	aspect-ratio: 1200 / 630;
}
.slide-hero-1 {
	background-image: url('/img/main.jpeg'); /* fallback */
	background-image: image-set(url('/img/main.webp') type('image/webp') 1x, url('/img/main.jpeg') type('image/jpeg') 1x);
}
/* Offscreen hero slides (2/3) backgrounds will be applied lazily via JS to reduce initial bytes */
.slide-hero-2 { background-image: none; /* background deferred in JS */ }
.slide-hero-3 { background-image: none; /* background deferred in JS; use JPEG only to avoid 404 on missing WebP */ }

/* -------- Utilities -------- */
.mb-24 { margin-bottom: 24px; }
.inline-icon-link { display:inline-flex; align-items:center; gap:6px; font-weight:600; color:#1e88e5; text-decoration:none; }
.inline-icon-link:hover { color:#1565c0; text-decoration:none; }
.footnote { font-size:.75em; }
.link-accent { font-weight:600; color:#1e88e5; text-decoration:none; }
.link-accent:hover { color:#1565c0; text-decoration:none; }
.icon-20 { display:inline-flex; width:20px; height:20px; }
.contact-item-row { margin-top:10px; display:flex; align-items:center; gap:8px; }
.row-center { justify-content:center; }
.small-note { text-align:center; font-size:.7em; color:#666; margin-top:12px; }
.text-right { text-align:right; }
.mt-4 { margin-top:4px; }
.mt-20 { margin-top:20px; }
.text-muted { color:#555; }
.small { font-size:.9em; }
.actions-between { display:flex; justify-content:space-between; margin-top:18px; }
.offscreen-abs { position:absolute; left:-5000px; top:-5000px; }

/* -------- Index: Custom Tour Request Section -------- */
#custom-tour-request { padding-top:30px; border-top:1px solid #eee; }
#custom-tour-request header.probootstrap-heading { text-align:center; max-width:880px; margin:0 auto 28px; }
#custom-tour-request header.probootstrap-heading p { font-size:1.05em; color:#444; line-height:1.55; margin-top:14px; }
#custom-tour-request header.probootstrap-heading .secondary-heading { margin-top:8px; }
#customTourForm { background:#fff; border:1px solid #e3e9ef; border-radius:14px; padding:26px 26px 30px; box-shadow:0 6px 22px rgba(0,0,0,.06); }

/* -------- Icon font override to avoid 404 on missing formats -------- */
@font-face {
	font-family: 'icomoon';
	src: url('/fonts/icomoon/icomoon.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
#customTourForm label { font-weight:600; }
#customTourForm .form-control { padding: 6px 10px; height:auto; }
#customTourForm .row { margin-top:12px; }
#customTourForm .col-md-6, #customTourForm .col-md-4 { margin-bottom:14px; }
#customTourForm h4 { margin-top:0; font-weight:600; color:#1e88e5; }
#ct-status { margin-top:16px; font-size:.75em; color:#1e88e5; display:none; }

/* Buttons */
.btn-pill { border-radius:30px; padding:10px 26px; font-weight:600; }
.btn-primary-cta { background:#1e88e5; color:#fff; border:none; }
.btn-primary-cta:hover { background:#1565c0; color:#fff; }
.btn-neutral { background:#888; color:#fff; border:none; }
.tours-hero h1 {
	font-size: 3em;
	font-weight: bold;
	margin-bottom: 0.5em;
	letter-spacing: 2px;
}
.tours-hero p { font-size: 1.5em; margin-bottom: 1.5em; }
.tours-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(300px, 1fr));
	gap: 32px;
	margin: 40px auto;
	max-width: 1200px;
}
.tour-card {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 4px 24px rgba(0,0,0,0.08);
	padding: 40px 20px;
	max-width: 500px;
	flex: 1 1 350px;
	min-width: 300px;
	text-align: center;
	transition: box-shadow 0.2s;
	cursor: pointer;
	text-decoration: none;
	color: inherit;
}
.tour-card:hover { box-shadow: 0 8px 32px rgba(30,136,229,0.18); }
.tour-card h2, .tour-card h3 { color: #1e88e5; font-size: 2em; margin-bottom: 0.5em; }
.tour-card p { color: #444; font-size: 1.2em; }
.tour-card img {
	width: 100%;
	height: auto;
	max-width: 100%;
	border-radius: 10px;
	margin-top: 20px;
	box-shadow: 0 2px 12px rgba(30,136,229,0.12);
}
@media (max-width: 900px) {
	.tours-list { grid-template-columns: 1fr; }
}
.tours-hero .btn {
	background: #1e88e5;
	color: #fff;
	border-radius: 25px;
	padding: 12px 32px;
	font-size: 1.1em;
	margin-top: 20px;
	text-decoration: none;
	transition: background 0.2s;
}
.tours-hero .btn:hover { background: #1565c0; }

/* CTA section buttons (shared on locale tours pages) */
.cta-section .btn {
	background: #1e88e5;
	color: #fff;
	border-radius: 25px;
	padding: 12px 32px;
	font-size: 1.05em;
	margin-top: 20px;
	text-decoration: none;
	transition: background 0.2s;
}
.cta-section .btn:hover { background: #1565c0; color: #fff; }

/* -------- RTL tweaks -------- */
[dir="rtl"] .inline-icon-link { flex-direction: row-reverse; }
[dir="rtl"] .contact-item-row { flex-direction: row-reverse; }
[dir="rtl"] .site-lang-bar { justify-content: flex-start; }
[dir="rtl"] .site-lang-switcher .lang-menu { left: 0; right: auto; direction: rtl; text-align: right; }
@media (max-width:991px){
	[dir="rtl"] .site-lang-switcher .lang-menu { position: fixed; bottom: var(--lang-bar-h, 38px); left: 6px; right: auto; top: auto; margin: 0; }
}

/* Compact Custom Tour Form Section (Tours Page) */
#custom-tour-request-tours { padding: 28px 0 8px !important; background: linear-gradient(135deg,#f5faff,#eef5fb); }
#custom-tour-request-tours header.probootstrap-heading {
	margin: 0 auto 18px !important;
	padding: 14px 18px 16px;
	background: #fff;
	border: 1px solid #d9e6f0;
	border-radius: 16px;
	box-shadow: 0 4px 14px rgba(0,0,0,.05);
	max-width: 760px;
	position: relative;
	overflow: hidden;
}
#custom-tour-request-tours header.probootstrap-heading:before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 85% 20%, rgba(30,136,229,.10), transparent 60%);
	pointer-events: none;
}
#custom-tour-request-tours h2.primary-heading {
	font-size: 1.55em;
	margin: 0 0 2px;
	letter-spacing: .5px;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 8px;
}
#custom-tour-request-tours h2.primary-heading svg { width: 30px; height: 30px; filter: drop-shadow(0 2px 4px rgba(30,136,229,.25)); }
#custom-tour-request-tours h3.secondary-heading { font-size: 1.02em; margin: 0; font-weight: 600; color: #1e88e5; letter-spacing: .3px; }
#custom-tour-request-tours header.probootstrap-heading p { font-size: .82em !important; margin: 8px 0 0 !important; color: #546571 !important; line-height: 1.35 !important; }
#custom-tour-request-tours .ctr-steps { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:10px; font-size:.7em; font-weight:600; letter-spacing:.5px; }
#custom-tour-request-tours .ctr-steps .step { width:26px; height:26px; border-radius:50%; background:#e3eef6; color:#1e88e5; display:flex; align-items:center; justify-content:center; box-shadow:0 1px 2px rgba(0,0,0,.08); transition: background .25s, color .25s, transform .25s; }
#custom-tour-request-tours .ctr-steps .step.active { background:#1e88e5; color:#fff; transform:translateY(-1px); }
#custom-tour-request-tours .ctr-steps .bar { height:3px; width:42px; background:linear-gradient(90deg,#1e88e5,#64b5f6); border-radius:2px; box-shadow:0 1px 2px rgba(0,0,0,.12); }
#customTourFormTours { padding: 20px 22px 24px !important; max-width: 820px; margin: 0 auto; }
#customTourFormTours h4 { font-size: 1.05em; }
#customTourFormTours .form-control { padding: 6px 10px; height:auto; }
@media (max-width: 768px){
	#custom-tour-request-tours { padding: 24px 0 4px !important; }
	#custom-tour-request-tours h2.primary-heading { font-size:1.35em; }
	#customTourFormTours { padding:18px 16px 22px !important; }
	#custom-tour-request-tours header.probootstrap-heading { padding:12px 14px 14px; }
	#custom-tour-request-tours header.probootstrap-heading p { display:none; }
}
