/* Rajashree Tour & Travels — Premium Design System V30
   Goal: international-grade visual polish with simple customer UX.
   Staging only. Shared overrides; preserves existing page architecture. */

:root{
  --rtt-navy-950:#06182b;
  --rtt-navy-900:#0a223d;
  --rtt-navy-800:#123557;
  --rtt-navy-700:#1d4a73;
  --rtt-gold-600:#b77a16;
  --rtt-gold-500:#d99a2b;
  --rtt-gold-400:#edb64a;
  --rtt-ink:#102235;
  --rtt-muted:#617184;
  --rtt-line:#dfe7ef;
  --rtt-surface:#ffffff;
  --rtt-soft:#f6f8fb;
  --rtt-soft-blue:#eef4f9;
  --rtt-success:#176b49;
  --rtt-radius-sm:12px;
  --rtt-radius-md:18px;
  --rtt-radius-lg:26px;
  --rtt-shadow-sm:0 8px 24px rgba(6,24,43,.07);
  --rtt-shadow-md:0 18px 50px rgba(6,24,43,.11);
  --rtt-shadow-lg:0 28px 80px rgba(6,24,43,.16);
  --rtt-container:1180px;
  --rtt-section:clamp(64px,8vw,112px);
  --rtt-transition:180ms ease;
}

html{scroll-behavior:smooth;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body{color:var(--rtt-ink);background:var(--rtt-surface);line-height:1.65}
.container{width:min(calc(100% - 36px),var(--rtt-container));margin-inline:auto}

/* Typography: premium but readable across Bengali, Latin and Devanagari. */
h1,h2,h3,h4{color:var(--rtt-navy-950);letter-spacing:-.02em;text-wrap:balance}
h1{font-size:clamp(2.35rem,5.3vw,4.8rem);line-height:1.05}
h2{font-size:clamp(1.8rem,3.4vw,3rem);line-height:1.14}
h3{font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.28}
p{max-width:72ch}
.hero-lead,.section-heading p{font-size:clamp(1rem,1.25vw,1.16rem);color:var(--rtt-muted);line-height:1.75}
.eyebrow{font-weight:800;letter-spacing:.08em;text-transform:none;color:var(--rtt-gold-600)}

/* Header: visually quiet; important actions remain obvious. */
.site-header{background:rgba(255,255,255,.96);backdrop-filter:saturate(150%) blur(14px);box-shadow:0 1px 0 rgba(9,31,52,.08);position:relative;z-index:50}
.nav-wrap{background:transparent}
.nav-inner{min-height:78px;gap:20px}
.brand{gap:11px;text-decoration:none}
.brand img{width:58px;height:58px;object-fit:contain}
.brand-copy strong{font-size:1.05rem;letter-spacing:-.01em}
.brand-copy small{font-size:.76rem;color:var(--rtt-muted)}
.primary-nav{gap:4px}
.primary-nav a{padding:10px 11px;border-radius:10px;font-weight:700;color:#33475b;transition:background var(--rtt-transition),color var(--rtt-transition),transform var(--rtt-transition)}
.primary-nav a:hover,.primary-nav a:focus-visible{background:var(--rtt-soft-blue);color:var(--rtt-navy-900);transform:translateY(-1px)}
.primary-nav a[aria-current="page"],.primary-nav a.active{background:var(--rtt-navy-900);color:#fff}
.language-switcher{padding:4px;border:1px solid var(--rtt-line);border-radius:14px;background:var(--rtt-soft)}
.language-switcher button{min-height:38px;padding:7px 10px;border-radius:10px;font-weight:750}
.language-switcher button.active,.language-switcher button[aria-pressed="true"]{background:#fff;color:var(--rtt-navy-900);box-shadow:var(--rtt-shadow-sm)}
.preview-banner{font-size:.78rem;letter-spacing:.01em}

/* Clear, limited CTA hierarchy. */
.button{min-height:48px;padding:12px 20px;border-radius:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform var(--rtt-transition),box-shadow var(--rtt-transition),background var(--rtt-transition);text-decoration:none}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--rtt-navy-900);color:#fff;box-shadow:0 12px 26px rgba(10,34,61,.18)}
.button-primary:hover{background:var(--rtt-navy-800);box-shadow:0 16px 32px rgba(10,34,61,.24)}
.button-secondary{background:#fff;color:var(--rtt-navy-900);border:1px solid #cbd8e4}
.button-secondary:hover{border-color:#9fb4c7;box-shadow:var(--rtt-shadow-sm)}
.hero-actions{gap:12px;flex-wrap:wrap}

/* Hero: premium, calm, and focused rather than decorative-heavy. */
.hero{overflow:hidden}
.home-hero{background:linear-gradient(135deg,#f7fafc 0%,#eef4f9 50%,#fff8ea 100%)}
.hero-grid{min-height:min(760px,80vh);align-items:center;gap:clamp(34px,6vw,86px)}
.hero-copy{max-width:690px}
.hero-copy h1{max-width:13ch;margin-block:14px 20px}
.hero-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;padding:0;list-style:none}
.hero-points li{background:rgba(255,255,255,.78);border:1px solid rgba(17,53,87,.10);border-radius:999px;padding:8px 12px;font-size:.9rem;font-weight:700;color:#3d5267}
.logo-stage{background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.95);box-shadow:var(--rtt-shadow-lg)}
.floating-card{border:1px solid rgba(255,255,255,.82);box-shadow:var(--rtt-shadow-md)}

/* Sections and cards use one visual grammar. */
.section{padding-block:var(--rtt-section)}
.section:nth-of-type(even){background:var(--rtt-soft)}
.section-heading{max-width:760px;margin-bottom:clamp(30px,4vw,48px)}
.section-heading h2{margin-block:10px 14px}
.card-grid{gap:clamp(18px,2.5vw,28px)}
.service-card,.tour-card,.info-card,.contact-card,.policy-card,.faq-card,.upcoming-package-card{border:1px solid var(--rtt-line);border-radius:var(--rtt-radius-md);background:#fff;box-shadow:var(--rtt-shadow-sm);transition:transform var(--rtt-transition),box-shadow var(--rtt-transition),border-color var(--rtt-transition)}
.service-card:hover,.tour-card:hover,.info-card:hover,.upcoming-package-card:hover{transform:translateY(-4px);box-shadow:var(--rtt-shadow-md);border-color:#cad8e5}
.featured{border-color:rgba(217,154,43,.46);box-shadow:0 18px 46px rgba(183,122,22,.12)}
.feature-badge{background:#fff4d8;color:#77500f;border:1px solid #efd9a4}
.text-link{font-weight:800;color:var(--rtt-navy-800);text-underline-offset:4px}

/* Quick-contact is deliberately simple: three obvious actions. */
.quick-contact{background:#fff;border-block:1px solid var(--rtt-line)}
.quick-contact-grid{gap:0}
.quick-item{min-height:82px;padding:18px 20px;text-decoration:none;transition:background var(--rtt-transition)}
.quick-item:hover,.quick-item:focus-visible{background:var(--rtt-soft-blue)}
.quick-item + .quick-item{border-left:1px solid var(--rtt-line)}
.quick-item small{color:var(--rtt-muted);font-weight:700}
.quick-item strong{color:var(--rtt-navy-900)}

/* Forms: generous targets, low cognitive load, visible focus. */
input,select,textarea{min-height:48px;border-radius:12px;border:1px solid #cbd8e4;background:#fff;padding:11px 13px;color:var(--rtt-ink);font:inherit}
textarea{min-height:120px}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(217,154,43,.24);border-color:var(--rtt-gold-600);box-shadow:none}
label{font-weight:750;color:#263c51}
.form-help,.field-help{color:var(--rtt-muted);font-size:.9rem}
.consent-row{border:1px solid var(--rtt-line);background:var(--rtt-soft);padding:14px;border-radius:12px;font-weight:600}

/* Details / accordions: progressive disclosure keeps pages uncluttered. */
details{border-radius:var(--rtt-radius-sm)}
details>summary{cursor:pointer;font-weight:800;min-height:44px;display:flex;align-items:center}
.upcoming-package-details{margin-top:14px;border-top:1px solid var(--rtt-line);padding-top:8px}

/* Footer: trustworthy and calm. */
.site-footer{background:var(--rtt-navy-950);color:#dbe5ee}
.site-footer a{color:#f4f7fa}
.site-footer h2,.site-footer h3,.site-footer strong{color:#fff}

/* Strong keyboard focus across interactive elements. */
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--rtt-gold-400);outline-offset:3px;border-radius:8px}

/* Mobile: simplicity first. */
@media(max-width:900px){
  .container{width:min(calc(100% - 28px),var(--rtt-container))}
  .topbar{display:none}
  .nav-inner{min-height:70px}
  .brand img{width:50px;height:50px}
  .brand-copy small{display:none}
  .menu-toggle{min-width:46px;min-height:46px;border-radius:12px}
  .primary-nav{padding:10px;background:#fff;border:1px solid var(--rtt-line);border-radius:16px;box-shadow:var(--rtt-shadow-md)}
  .primary-nav a{min-height:46px;display:flex;align-items:center;padding-inline:14px}
  .language-switcher{width:100%;display:grid;grid-template-columns:repeat(3,1fr);margin-top:8px}
  .hero-grid{min-height:auto;padding-block:62px 48px;grid-template-columns:1fr}
  .hero-copy h1{max-width:15ch}
  .hero-visual{max-width:440px;margin-inline:auto}
  .floating-card{display:none}
  .quick-contact-grid{grid-template-columns:1fr}
  .quick-item + .quick-item{border-left:0;border-top:1px solid var(--rtt-line)}
  .section{padding-block:clamp(52px,12vw,76px)}
}

@media(max-width:600px){
  h1{font-size:clamp(2rem,10.5vw,3rem)}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .hero-actions .button{width:100%}
  .hero-points{gap:8px}
  .hero-points li{font-size:.82rem}
  .card-grid.three,.card-grid.two{grid-template-columns:1fr}
  .section-heading{margin-bottom:28px}
  .button{width:100%}
  .upcoming-package-actions .button,.form-actions .button{width:100%}
}

/* Respect users who prefer less motion. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
