/* ==========================================================================
   RentDrive Pro — Design System
   Signature: the search/booking widget and footer borrow the dark,
   brass-lit instrument-panel language of a car dashboard. Everything
   else stays warm, quiet ivory so the one dark moment actually reads
   as deliberate rather than a wall-to-wall dark theme.
   ========================================================================== */

:root {
	/* Palette */
	--rdp-ink: #14161F;         /* dashboard dark */
	--rdp-ink-2: #1D2030;       /* dashboard dark, one step lighter */
	--rdp-paper: #FBF9F4;       /* warm ivory page background */
	--rdp-surface: #FFFFFF;
	--rdp-text: #1B1D24;
	--rdp-text-muted: #6B7280;
	--rdp-line: #E8E3D6;
	--rdp-line-dark: rgba(184, 134, 59, 0.28);

	/* Brand */
	--rdp-primary: #B8863B;     /* brass */
	--rdp-primary-light: #D9B876;
	--rdp-accent: #D6472B;      /* ignition */
	--rdp-accent-dark: #B23A22;
	--rdp-success: #2F7D5E;

	/* Shape & motion */
	--rdp-radius-sm: 10px;
	--rdp-radius-md: 18px;
	--rdp-radius-lg: 26px;
	--rdp-shadow-soft: 0 10px 30px rgba(20, 22, 31, 0.07);
	--rdp-shadow-lifted: 0 20px 45px rgba(20, 22, 31, 0.14);
	--rdp-ease: cubic-bezier(0.22, 1, 0.36, 1);

	/* Type */
	--rdp-font-bn: 'Hind Siliguri', sans-serif;
	--rdp-font-bn-display: 'Baloo Da 2', sans-serif;
	--rdp-font-en: 'Inter', sans-serif;
}

@media (prefers-reduced-motion: reduce) {
	* { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--rdp-font-bn), var(--rdp-font-en), sans-serif;
	background: var(--rdp-paper);
	color: var(--rdp-text);
	line-height: 1.65;
	font-size: 16px;
	-webkit-font-smoothing: antialiased;
}
:lang(en) body { font-family: var(--rdp-font-en); }

h1, h2, h3, h4, .rdp-display {
	font-family: var(--rdp-font-bn-display), var(--rdp-font-en), sans-serif;
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.15;
	margin: 0 0 0.5em;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
:focus-visible { outline: 3px solid var(--rdp-primary); outline-offset: 2px; }

.rdp-container { max-width: 1240px; margin: 0 auto; padding: 0 24px; }

/* ---- Site-wide notice bar --------------------------------------------- */
.rdp-notice-bar { position: relative; z-index: 60; font-size: 14px; }
.rdp-notice-inner {
	max-width: 1240px; margin: 0 auto; padding: 10px 24px;
	display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap; text-align: center;
}
.rdp-notice-text { margin: 0; font-weight: 600; }
.rdp-notice-link { text-decoration: underline; font-weight: 700; white-space: nowrap; }
.rdp-notice-dismiss {
	position: absolute; right: 16px; top: 50%; transform: translateY(-50%);
	background: none; border: none; font-size: 20px; line-height: 1; cursor: pointer; opacity: 0.7; padding: 4px 8px;
}
.rdp-notice-dismiss:hover { opacity: 1; }

.rdp-notice-info    { background: #FDF3E3; color: #6B4A16; }
.rdp-notice-success { background: #E4F3EC; color: #1D5B40; }
.rdp-notice-warning { background: #FEF3E2; color: #7A4E0C; }
.rdp-notice-urgent  { background: #FDECEB; color: #8A2A1C; }

@media (max-width: 600px) {
	.rdp-notice-inner { padding: 10px 48px 10px 16px; font-size: 13px; }
}

/* ---- Header --------------------------------------------------------- */
.rdp-site-header {
	position: sticky; top: 0; z-index: 50;
	background: rgba(251, 249, 244, 0.82);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border-bottom: 1px solid var(--rdp-line);
}
.rdp-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 24px; position: relative; }
.rdp-logo a { font-family: var(--rdp-font-bn-display); font-weight: 800; font-size: 22px; color: var(--rdp-ink); }
.rdp-menu { display: flex; gap: 28px; list-style: none; margin: 0; padding: 0; font-weight: 600; font-size: 15px; }
.rdp-menu a { position: relative; padding-bottom: 4px; }
.rdp-menu a::after {
	content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 2px;
	background: var(--rdp-primary); transition: right .25s var(--rdp-ease);
}
.rdp-menu a:hover::after { right: 0; }
.rdp-header-actions { display: flex; align-items: center; gap: 14px; }
.rdp-dark-toggle {
	background: none; border: 1px solid var(--rdp-line); font-size: 18px; cursor: pointer;
	width: 40px; height: 40px; border-radius: 50%; transition: background .2s var(--rdp-ease);
}
.rdp-dark-toggle:hover { background: var(--rdp-line); }
.rdp-lang-toggle {
	background: none; border: 1px solid var(--rdp-line); font-family: var(--rdp-font-en); font-weight: 700;
	font-size: 12px; letter-spacing: 0.02em; cursor: pointer; height: 40px; padding: 0 12px; border-radius: 999px;
	transition: background .2s var(--rdp-ease);
}
.rdp-lang-toggle:hover { background: var(--rdp-line); }
.rdp-menu-utility { display: none; }
.pac-container { display: none !important; } /* Google's native widget dropdown is no longer used — smart-location.js renders its own. */

.rdp-location-dropdown {
	position: absolute; top: 100%; left: 0; right: 0; z-index: 200; margin-top: 6px;
	background: var(--rdp-surface); border: 1px solid var(--rdp-line); border-radius: var(--rdp-radius-sm);
	box-shadow: var(--rdp-shadow-lifted); max-height: 280px; overflow-y: auto; text-align: left;
}
.rdp-location-dropdown-heading {
	padding: 8px 14px 4px; font-family: var(--rdp-font-en); font-size: 11px; font-weight: 700;
	letter-spacing: 0.06em; text-transform: uppercase; color: var(--rdp-text-muted);
}
.rdp-location-dropdown-item {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	width: 100%; padding: 10px 14px; background: none; border: none; text-align: left;
	font-family: var(--rdp-font-bn), var(--rdp-font-en); font-size: 14px; color: var(--rdp-text); cursor: pointer;
}
.rdp-location-dropdown-item:hover { background: var(--rdp-paper); }
.rdp-location-fee { font-size: 12px; color: var(--rdp-primary); font-weight: 700; white-space: nowrap; }

/* Mobile hamburger toggle — hidden on desktop */
.rdp-mobile-nav-toggle {
	display: none; flex-direction: column; justify-content: center; gap: 5px;
	width: 40px; height: 40px; border: 1px solid var(--rdp-line); border-radius: 50%;
	background: none; cursor: pointer; padding: 0;
}
.rdp-mobile-nav-toggle span { display: block; width: 16px; height: 2px; background: var(--rdp-ink); margin: 0 auto; transition: transform .2s var(--rdp-ease), opacity .2s var(--rdp-ease); }
.rdp-mobile-nav-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.rdp-mobile-nav-toggle.is-open span:nth-child(2) { opacity: 0; }
.rdp-mobile-nav-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---- Buttons ---------------------------------------------------------- */
.rdp-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 13px 26px; border-radius: 999px; font-weight: 700; font-size: 15px;
	border: none; cursor: pointer; transition: transform .18s var(--rdp-ease), box-shadow .18s var(--rdp-ease);
}
.rdp-btn-primary { background: var(--rdp-ink); color: #fff; }
.rdp-btn-primary:hover { transform: translateY(-2px); box-shadow: var(--rdp-shadow-lifted); }
.rdp-btn-accent {
	background: linear-gradient(135deg, var(--rdp-accent), var(--rdp-accent-dark));
	color: #fff;
	box-shadow: 0 6px 18px rgba(214, 71, 43, 0.35);
}
.rdp-btn-accent:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(214, 71, 43, 0.45); }
.rdp-btn-sm { padding: 9px 18px; font-size: 13px; }
.rdp-btn-block { width: 100%; }
.rdp-btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none !important; }

/* ---- Hero -------------------------------------------------------------- */
.rdp-hero {
	padding: 76px 0 0;
	position: relative;
	background:
		radial-gradient(circle at 85% 15%, rgba(184, 134, 59, 0.10), transparent 45%),
		radial-gradient(circle at 10% 80%, rgba(214, 71, 43, 0.06), transparent 40%);
}
#rdp-search-form { scroll-margin-top: 110px; }
.rdp-hero-inner { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 40px; align-items: center; }
.rdp-hero-eyebrow {
	display: inline-flex; align-items: center; gap: 8px; font-family: var(--rdp-font-en);
	font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--rdp-primary); margin-bottom: 14px;
}
.rdp-hero-eyebrow::before { content: ""; width: 22px; height: 2px; background: var(--rdp-primary); display: inline-block; }
.rdp-hero-title { font-size: clamp(32px, 5vw, 54px); }
.rdp-hero-subtitle { color: var(--rdp-text-muted); font-size: 18px; max-width: 46ch; margin: 0 0 8px; }

/* Signature: the trust gauge — a real dial, not decoration; the number
   is the one this business actually wants people to notice. */
.rdp-trust-gauge {
	position: relative; width: 220px; height: 220px; margin: 0 auto;
	border-radius: 50%;
	background: conic-gradient(var(--rdp-primary) 0deg 324deg, var(--rdp-line) 324deg 360deg);
	display: flex; align-items: center; justify-content: center;
	animation: rdp-gauge-glow 4s ease-in-out infinite;
}
@keyframes rdp-gauge-glow {
	0%, 100% { filter: drop-shadow(0 0 0 rgba(184, 134, 59, 0)); }
	50% { filter: drop-shadow(0 0 18px rgba(184, 134, 59, 0.35)); }
}
.rdp-trust-gauge::before {
	content: ""; position: absolute; inset: 14px; border-radius: 50%;
	background: var(--rdp-ink); box-shadow: inset 0 0 0 1px var(--rdp-line-dark);
}
.rdp-trust-gauge-value { position: relative; z-index: 1; text-align: center; color: #fff; }
.rdp-trust-gauge-value strong { display: block; font-family: var(--rdp-font-bn-display); font-size: 40px; line-height: 1; }
.rdp-trust-gauge-value span { display: block; font-size: 12px; color: var(--rdp-primary-light); margin-top: 6px; }

/* ---- The dashboard console (booking search form) ----------------------
   The one deliberately dark surface on the page, styled like the
   instrument cluster of a car: dark panel, brass divider needles,
   amber glow on focus. */
.rdp-console {
	margin-top: 44px;
	background: linear-gradient(165deg, var(--rdp-ink) 0%, var(--rdp-ink-2) 100%);
	border-radius: var(--rdp-radius-lg);
	padding: 6px;
	box-shadow: var(--rdp-shadow-lifted);
}
.rdp-console-inner {
	border-radius: calc(var(--rdp-radius-lg) - 6px);
	border: 1px solid var(--rdp-line-dark);
	padding: 28px;
}
.rdp-search-form {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 0;
}
.rdp-search-field {
	display: flex; flex-direction: column; gap: 8px;
	padding: 0 20px; border-inline-start: 1px solid var(--rdp-line-dark);
}
.rdp-search-field:first-child { border-inline-start: none; padding-inline-start: 0; }
.rdp-search-field label {
	font-family: var(--rdp-font-en); font-size: 11px; font-weight: 700; letter-spacing: 0.08em;
	text-transform: uppercase; color: var(--rdp-primary-light);
}
.rdp-search-field input, .rdp-search-field select {
	background: transparent; border: none; border-bottom: 2px solid var(--rdp-line-dark);
	color: #fff; font-family: inherit; font-size: 15px; padding: 8px 0; transition: border-color .2s var(--rdp-ease);
}
.rdp-search-field select { appearance: none; -webkit-appearance: none; background-image: none; }
.rdp-search-field select option { color: #1B1D24; }
.rdp-search-field input:focus, .rdp-search-field select:focus { outline: none; border-bottom-color: var(--rdp-primary); }
.rdp-search-form .rdp-btn { grid-column: 1 / -1; margin-top: 20px; }

@media (max-width: 900px) {
	.rdp-hero-inner { grid-template-columns: 1fr; }
	.rdp-search-field { border-inline-start: none; padding-inline-start: 0; border-top: 1px solid var(--rdp-line-dark); padding-top: 16px; }
	.rdp-search-field:first-child { border-top: none; padding-top: 0; }
}

/* ---- Sections ------------------------------------------------------- */
.rdp-section { padding: 72px 0; }
.rdp-section-header { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 32px; }
.rdp-section-title { font-size: 30px; }
.rdp-section-kicker { font-family: var(--rdp-font-en); font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rdp-primary); }

/* ---- Vehicle grid & card ---------------------------------------------- */
.rdp-vehicle-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 26px; }
.rdp-vehicle-card {
	background: var(--rdp-surface); border-radius: var(--rdp-radius-md);
	overflow: hidden; box-shadow: var(--rdp-shadow-soft);
	border: 1px solid var(--rdp-line);
	transition: transform .25s var(--rdp-ease), box-shadow .25s var(--rdp-ease);
}
.rdp-vehicle-card:hover { transform: translateY(-6px); box-shadow: var(--rdp-shadow-lifted); }
.rdp-vehicle-card-media { position: relative; display: block; aspect-ratio: 16/10; overflow: hidden; background: var(--rdp-line); }
.rdp-vehicle-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s var(--rdp-ease); }
.rdp-vehicle-card:hover .rdp-vehicle-card-media img { transform: scale(1.06); }
.rdp-badge {
	position: absolute; top: 14px; left: 14px; font-family: var(--rdp-font-en);
	padding: 5px 12px; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: 0.04em;
}
.rdp-badge-success { background: #E4F3EC; color: var(--rdp-success); }
.rdp-badge-warning { background: #FDECE7; color: var(--rdp-accent-dark); }
.rdp-vehicle-card-body { padding: 20px; }
.rdp-vehicle-card-title { margin: 0 0 6px; font-size: 19px; }
.rdp-vehicle-card-meta { color: var(--rdp-text-muted); font-size: 14px; margin: 0 0 18px; }
.rdp-vehicle-card-footer { display: flex; align-items: center; justify-content: space-between; padding-top: 14px; border-top: 1px dashed var(--rdp-line); }
.rdp-price { font-family: var(--rdp-font-bn-display); font-weight: 700; color: var(--rdp-ink); font-size: 17px; }
.rdp-price-large { font-family: var(--rdp-font-bn-display); font-size: 28px; font-weight: 700; color: var(--rdp-ink); }

/* ---- Category grid ------------------------------------------------- */
.rdp-category-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 16px; }
.rdp-category-card {
	display: block; text-align: center; padding: 26px 14px;
	background: var(--rdp-surface); border: 1px solid var(--rdp-line); border-radius: var(--rdp-radius-md);
	font-weight: 700; transition: all .2s var(--rdp-ease);
}
.rdp-category-card:hover { border-color: var(--rdp-primary); transform: translateY(-3px); box-shadow: var(--rdp-shadow-soft); }

/* ---- Single vehicle page ------------------------------------------- */
.rdp-vehicle-single-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 44px; padding: 48px 24px; }
.rdp-vehicle-booking-widget {
	grid-column: 2; background: var(--rdp-surface); border: 1px solid var(--rdp-line);
	border-radius: var(--rdp-radius-md); padding: 26px; box-shadow: var(--rdp-shadow-soft);
	align-self: start; position: sticky; top: 100px;
}
.rdp-spec-table { width: 100%; border-collapse: collapse; margin: 18px 0; }
.rdp-spec-table th, .rdp-spec-table td { padding: 10px 0; border-bottom: 1px solid var(--rdp-line); text-align: start; }
.rdp-spec-table th { color: var(--rdp-text-muted); font-weight: 500; width: 40%; font-size: 14px; }
.rdp-feature-list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.rdp-feature-list li::before { content: "✓ "; color: var(--rdp-primary); font-weight: 700; }

@media (max-width: 900px) {
	.rdp-vehicle-single-grid { grid-template-columns: 1fr; }
	.rdp-vehicle-booking-widget { grid-column: 1; position: static; }
}

/* ---- Booking widget (interactive) ------------------------------------ */
.rdp-booking-form { display: flex; flex-direction: column; gap: 16px; }
.rdp-form-section-title {
	font-family: var(--rdp-font-en); font-size: 12px; font-weight: 700; letter-spacing: 0.06em;
	text-transform: uppercase; color: var(--rdp-primary); margin: 10px 0 -4px;
	padding-top: 14px; border-top: 1px dashed var(--rdp-line);
}
.rdp-form-section-title:first-child { padding-top: 0; border-top: none; margin-top: 0; }
.rdp-field { display: flex; flex-direction: column; gap: 6px; }
.rdp-field-inline { flex-direction: row; gap: 20px; }
.rdp-field label { font-family: var(--rdp-font-en); font-size: 12px; font-weight: 700; letter-spacing: 0.04em; color: var(--rdp-text-muted); }
.rdp-field input, .rdp-field select {
	padding: 11px 13px; border-radius: var(--rdp-radius-sm); border: 1px solid var(--rdp-line);
	font-family: inherit; font-size: 14px; background: var(--rdp-paper); color: var(--rdp-text);
	transition: border-color .2s var(--rdp-ease);
}
.rdp-field input:focus, .rdp-field select:focus { outline: none; border-color: var(--rdp-primary); }
.rdp-inline-msg { font-size: 13px; min-height: 18px; color: var(--rdp-text-muted); }
.rdp-price-breakdown { background: var(--rdp-paper); border-radius: var(--rdp-radius-sm); padding: 14px 18px; border: 1px dashed var(--rdp-line); }
.rdp-price-row { display: flex; justify-content: space-between; font-size: 14px; padding: 5px 0; }
.rdp-price-total { font-weight: 700; border-top: 1px solid var(--rdp-line); margin-top: 8px; padding-top: 10px; font-size: 16px; }
.rdp-price-discount { color: var(--rdp-success); }
.rdp-bank-instructions {
	white-space: pre-wrap; background: var(--rdp-paper); border-radius: var(--rdp-radius-sm);
	padding: 16px; margin-top: 16px; font-size: 13px; border: 1px dashed var(--rdp-line);
}

/* ---- Status badges (booking status views) ---------------------------- */
.rdp-status-pill { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; }
.rdp-status-pill::before { content: ""; width: 8px; height: 8px; border-radius: 50%; }
.rdp-status-pending { background: #FEF3E2; color: #92610C; }
.rdp-status-pending::before { background: #C98A0D; }
.rdp-status-confirmed { background: #E4F3EC; color: var(--rdp-success); }
.rdp-status-confirmed::before { background: var(--rdp-success); }
.rdp-status-cancelled { background: #FDECEB; color: var(--rdp-accent-dark); }
.rdp-status-cancelled::before { background: var(--rdp-accent); }

.rdp-status-lookup { max-width: 480px; margin: 0 auto; background: var(--rdp-surface); border: 1px solid var(--rdp-line); border-radius: var(--rdp-radius-md); padding: 32px; box-shadow: var(--rdp-shadow-soft); }
.rdp-status-result { margin-top: 24px; padding-top: 24px; border-top: 1px dashed var(--rdp-line); }
.rdp-status-result-row { display: flex; justify-content: space-between; padding: 8px 0; font-size: 14px; border-bottom: 1px solid var(--rdp-line); }

/* ---- Floating actions ------------------------------------------------- */
.rdp-floating-actions { position: fixed; bottom: 90px; right: 20px; z-index: 60; display: flex; flex-direction: column; gap: 12px; }
.rdp-fab { width: 54px; height: 54px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 22px; box-shadow: var(--rdp-shadow-lifted); transition: transform .2s var(--rdp-ease); }
.rdp-fab:hover { transform: scale(1.08); }
.rdp-fab-whatsapp { background: #25d366; }
.rdp-fab-call { background: var(--rdp-ink); color: #fff; }

/* ---- Sticky mobile booking bar ----------------------------------------- */
.rdp-sticky-book-bar { display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 55; padding: 14px 16px; background: var(--rdp-surface); box-shadow: 0 -6px 24px rgba(20,22,31,0.1); }

/* ---- Responsive tiers ---------------------------------------------------
   Desktop: default styles above. Tablet (601–900px): denser grids,
   same nav. Mobile (≤600px): hamburger nav, stacked layouts, sticky
   booking bar. Transitions on layout-affecting elements are kept
   short (.2s) throughout so resizing/rotating a device doesn't jump. */

@media (max-width: 900px) and (min-width: 601px) {
	.rdp-vehicle-grid { grid-template-columns: repeat(2, 1fr); }
	.rdp-feature-grid { grid-template-columns: repeat(2, 1fr); }
	.rdp-testimonial-grid { grid-template-columns: repeat(2, 1fr); }
	.rdp-category-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
	.rdp-sticky-book-bar { display: block; }
	body { padding-bottom: 70px; } /* room for the sticky bar so it never covers the footer */

	.rdp-mobile-nav-toggle { display: flex; }
	.rdp-primary-nav {
		display: block; position: absolute; top: 100%; left: 0; right: 0;
		background: var(--rdp-surface); border-bottom: 1px solid var(--rdp-line);
		box-shadow: var(--rdp-shadow-soft);
		max-height: 0; overflow: hidden; transition: max-height .25s var(--rdp-ease);
	}
	.rdp-primary-nav.is-open { max-height: 400px; overflow-y: auto; }
	.rdp-menu { flex-direction: column; gap: 0; padding: 8px 24px 4px; }
	.rdp-menu li { border-bottom: 1px solid var(--rdp-line); }
	.rdp-menu a { display: block; padding: 12px 0; }
	.rdp-menu a::after { display: none; }
	.rdp-menu-utility { display: block; padding-bottom: 8px; }

	/* Header row on mobile: logo + dark toggle + hamburger only.
	   Book Now duplicates the sticky bottom bar; status/registration
	   now live inside the nav dropdown above — decluttered instead
	   of five buttons fighting for a ~360px-wide row. */
	.rdp-header-status-link,
	.rdp-header-book-btn {
		display: none;
	}
}

@media (max-width: 600px) {
	.rdp-vehicle-grid, .rdp-feature-grid, .rdp-testimonial-grid, .rdp-category-grid, .rdp-steps-grid {
		grid-template-columns: 1fr;
	}
	.rdp-hero-title { font-size: 28px; }
	.rdp-console-inner { padding: 20px; }
	.rdp-trust-gauge { width: 160px; height: 160px; }
	.rdp-trust-gauge-value strong { font-size: 30px; }
	.rdp-cta-inner { flex-direction: column; text-align: center; }
	.rdp-feature-list { grid-template-columns: 1fr; }
}

/* ---- Why choose us ---------------------------------------------------- */
.rdp-feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 24px; }
.rdp-feature-item {
	background: var(--rdp-surface); border: 1px solid var(--rdp-line); border-radius: var(--rdp-radius-md);
	padding: 28px; transition: transform .2s var(--rdp-ease), box-shadow .2s var(--rdp-ease);
}
.rdp-feature-item:hover { transform: translateY(-4px); box-shadow: var(--rdp-shadow-soft); }
.rdp-feature-icon { font-size: 30px; margin-bottom: 14px; }
.rdp-feature-item h3 { font-size: 17px; margin-bottom: 8px; }
.rdp-feature-item p { color: var(--rdp-text-muted); font-size: 14px; margin: 0; }

/* ---- How it works ------------------------------------------------------ */
.rdp-steps-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 30px; }
.rdp-step-item { position: relative; padding-top: 8px; }
.rdp-step-number {
	font-family: var(--rdp-font-bn-display); font-size: 34px; font-weight: 800;
	color: var(--rdp-primary); opacity: 0.5; margin-bottom: 6px;
}
.rdp-step-item h3 { font-size: 17px; margin-bottom: 8px; }
.rdp-step-item p { color: var(--rdp-text-muted); font-size: 14px; margin: 0; }

/* ---- Testimonials -------------------------------------------------- */
.rdp-testimonial-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 22px; }
.rdp-testimonial-card {
	background: var(--rdp-surface); border: 1px solid var(--rdp-line); border-radius: var(--rdp-radius-md);
	padding: 26px;
}
.rdp-testimonial-stars { color: var(--rdp-primary); font-size: 15px; margin-bottom: 12px; letter-spacing: 2px; }
.rdp-testimonial-quote { font-size: 15px; line-height: 1.7; margin: 0 0 18px; color: var(--rdp-text); }
.rdp-testimonial-author { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 14px; }
.rdp-testimonial-author img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }

/* ---- CTA banner --------------------------------------------------- */
.rdp-cta-banner { background: var(--rdp-ink); padding: 56px 0; margin-top: 20px; }
.rdp-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.rdp-cta-inner h2 { color: #fff; font-size: 26px; margin-bottom: 6px; }
.rdp-cta-inner p { color: #A9AEBD; margin: 0; }

/* ---- Footer (dark, mirrors the console) -------------------------------- */
.rdp-site-footer { background: var(--rdp-ink); color: #C7CAD6; padding: 56px 0 0; margin-top: 60px; }
.rdp-footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 28px; padding-bottom: 36px; border-bottom: 1px solid var(--rdp-line-dark); }
.rdp-footer-bottom { padding: 20px 0; text-align: center; font-size: 13px; font-family: var(--rdp-font-en); color: #8B90A0; }
.rdp-widget-title { color: #fff; font-size: 15px; font-family: var(--rdp-font-bn-display); }
.rdp-footer-menu { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.rdp-footer-menu a:hover { color: var(--rdp-primary-light); }

.rdp-search-summary {
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	background: var(--rdp-surface); border: 1px solid var(--rdp-line); border-radius: var(--rdp-radius-sm);
	padding: 14px 20px; margin-bottom: 28px; font-size: 14px;
}
.rdp-search-summary p { margin: 0; }
.rdp-estimator { max-width: 1000px; margin: 0 auto; }

.rdp-route-chips { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.rdp-route-chips-label { font-size: 13px; color: var(--rdp-text-muted); font-weight: 600; }
.rdp-route-chip {
	background: var(--rdp-surface); border: 1px solid var(--rdp-line); border-radius: 999px;
	padding: 7px 16px; font-size: 13px; font-weight: 600; cursor: pointer; color: var(--rdp-text);
	transition: all .18s var(--rdp-ease);
}
.rdp-route-chip:hover { border-color: var(--rdp-primary); background: var(--rdp-paper); transform: translateY(-1px); }

.rdp-whatsapp-share {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	margin-top: 12px; width: 100%; padding: 10px; border-radius: var(--rdp-radius-sm);
	background: #E8F8EF; color: #1D6B3E; font-weight: 700; font-size: 13px; text-decoration: none;
	transition: background .2s var(--rdp-ease);
}
.rdp-whatsapp-share:hover { background: #D3F2E0; }

.rdp-terms-box {
	max-height: 140px; overflow-y: auto; font-size: 12px; line-height: 1.7; color: var(--rdp-text-muted);
	background: var(--rdp-paper); border: 1px dashed var(--rdp-line); border-radius: var(--rdp-radius-sm);
	padding: 12px 14px; margin-bottom: 14px;
}

/* Generic content (index.php fallback, blog posts) ------------------ */
.rdp-generic-content { max-width: 760px; margin: 0 auto; }
.rdp-post-title { font-size: 32px; }
.rdp-content-body p { margin: 0 0 1.2em; }
