/* EaseKrew — layout.css
   Site chrome shared across pages: navigation bar, hero banner, trust bar,
   generic section heading styles, and the footer. */

/* NAV */
nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,0.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
/* The header's own controls (logo + 7 nav links + Call/WhatsApp/wishlist/
   notification/account) need more horizontal room than the 1180px content
   container gives them once none of the tablet-tier compaction below is
   active — that mismatch (nav-inner sharing .container's 1180px cap) was
   the actual cause of "still overlaps on desktop": on any viewport wider
   than 1180px the container was already maxed out at 1180px, so widening
   the browser window past that point never bought the header any more
   space. Giving nav-inner its own, wider ceiling (only for the header —
   .container everywhere else is untouched) fixes that for real desktop
   widths; the ≤1300px tier below still handles laptop/tablet widths. */
.container.nav-inner{max-width:1440px}
.nav-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:18px;height:68px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:21px;color:var(--navy);letter-spacing:-0.3px;cursor:pointer;flex:0 0 auto;white-space:nowrap}
.logo-mark{width:32px;height:32px;display:block;object-fit:contain;flex:0 0 auto}
.nav-links{display:flex;align-items:center;justify-content:center;gap:28px;min-width:0}
.nav-links a{font-size:14px;font-weight:500;color:var(--text-muted);transition:color .2s;cursor:pointer;white-space:nowrap}
.nav-links a:hover{color:var(--navy)}
.nav-cta{display:flex;gap:12px;align-items:center;justify-self:end;flex:0 0 auto}
.nav-cta .btn{padding:9px 16px;font-size:13.5px;white-space:nowrap;flex:0 0 auto}
.nav-btn-icon{display:inline-flex}
.nav-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;cursor:pointer;font-size:16px;border:1.5px solid var(--border);border-radius:50%;position:relative;flex:0 0 auto}
.nav-account-btn{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--navy);border:1.5px solid var(--border);border-radius:20px;padding:6px 14px 6px 6px;flex:0 0 auto;white-space:nowrap}
.btn{display:inline-flex;align-items:center;gap:7px;padding:10px 22px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none;font-family:inherit}
.btn-outline{background:transparent;color:var(--navy);border:1.5px solid var(--navy)}.btn-outline:hover{background:var(--blue-pale)}
.btn-teal{background:linear-gradient(135deg,var(--teal) 0%,#0284C7 100%);color:#fff;box-shadow:0 2px 10px rgba(14,165,201,0.35)}.btn-teal:hover{transform:translateY(-1px);box-shadow:0 4px 18px rgba(14,165,201,0.45)}
.btn-lg{padding:15px 30px;font-size:16px;border-radius:var(--radius)}
.btn-sm{padding:7px 14px;font-size:12.5px;border-radius:var(--radius-sm)}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.hamburger span{width:22px;height:2px;background:var(--navy);border-radius:2px}
.mobile-menu{display:none;position:fixed;inset:0;background:#fff;z-index:200;flex-direction:column;padding:24px;gap:0}
.mobile-menu.open{display:flex}
.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}
.mobile-menu a,.mobile-menu .mmlink{display:block;padding:14px 0;font-size:17px;font-weight:600;color:var(--navy);border-bottom:1px solid var(--border);cursor:pointer}
.mobile-ctas{display:flex;flex-direction:column;gap:12px;margin-top:28px}
.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text)}
/* HERO */

.hero{padding:0;background:var(--navy);overflow:hidden;position:relative}
.hero-top{padding:72px 0 56px;position:relative;z-index:2}
.hero-top::before{content:'';position:absolute;top:-80px;right:-60px;width:500px;height:500px;background:radial-gradient(circle,rgba(14,165,201,0.18) 0%,transparent 70%);pointer-events:none}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.hero-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(14,165,201,0.15);color:var(--teal);border:1px solid rgba(14,165,201,0.3);font-size:12px;font-weight:600;padding:5px 14px;border-radius:20px;margin-bottom:22px}
.hero-badge-dot{width:6px;height:6px;background:var(--teal);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
h1{font-size:clamp(34px,4vw,52px);font-weight:800;line-height:1.12;color:#fff;margin-bottom:22px;letter-spacing:-1px}
h1 em{font-style:normal;color:var(--teal)}
.hero-sub{font-size:17px;color:rgba(255,255,255,0.65);margin-bottom:38px;max-width:460px;line-height:1.75}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-stats{display:flex;gap:40px;margin-top:52px;padding-top:40px;border-top:1px solid rgba(255,255,255,0.1)}
.stat-num{font-size:28px;font-weight:800;color:#fff;letter-spacing:-0.5px}.stat-num span{color:var(--teal)}
.stat-label{font-size:12px;color:rgba(255,255,255,0.5);margin-top:2px;font-weight:500}
.hero-visual{display:flex;justify-content:center;align-items:center}
.hero-card{background:rgba(255,255,255,0.06);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.12);border-radius:var(--radius-xl);padding:28px;width:100%;max-width:370px}
.hero-card-title{font-size:11px;font-weight:700;color:rgba(255,255,255,0.4);text-transform:uppercase;letter-spacing:1px;margin-bottom:14px}
.service-pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{display:inline-flex;align-items:center;gap:5px;padding:7px 13px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:20px;font-size:12px;font-weight:500;color:rgba(255,255,255,0.8);cursor:pointer;transition:.2s}
.pill:hover{background:rgba(14,165,201,0.25);border-color:rgba(14,165,201,0.5);color:#fff}
.booking-mini{margin-top:18px;background:linear-gradient(135deg,var(--teal) 0%,#0284C7 100%);border-radius:12px;padding:16px}
.booking-mini-label{font-size:11px;color:rgba(255,255,255,0.7);margin-bottom:4px;font-weight:500}
.booking-mini-val{font-size:14px;font-weight:700;color:#fff}
.booking-row{display:flex;justify-content:space-between;align-items:center}
.booking-status{background:rgba(255,255,255,0.2);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;border:1px solid rgba(255,255,255,0.3)}
.hero-wave{display:block;width:100%;margin-bottom:-2px;line-height:0}

/* TRUST */
.trust-bar{background:var(--bg-soft);border-bottom:1px solid var(--border);padding:16px 0}
.trust-inner{display:flex;align-items:center;justify-content:center;gap:48px;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-muted)}

/* SECTION */
section{padding:88px 0}
.section-label{font-size:11px;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:10px}
h2{font-size:clamp(28px,3vw,40px);font-weight:800;color:var(--navy);line-height:1.18;margin-bottom:14px;letter-spacing:-0.5px}
.section-sub{font-size:16px;color:var(--text-muted);max-width:520px;line-height:1.75}
.section-head{margin-bottom:56px}.section-head.center{text-align:center}.section-head.center .section-sub{margin:0 auto}
.accent{color:var(--teal)}

/* FOOTER */
footer{background:var(--navy);color:rgba(255,255,255,0.7);padding:64px 0 28px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:52px}
.footer-brand .logo{color:#fff;margin-bottom:14px;font-size:20px}
.footer-desc{font-size:13px;line-height:1.75;max-width:240px;color:rgba(255,255,255,0.5)}
.footer-col h4{font-size:11px;font-weight:700;color:rgba(255,255,255,0.9);text-transform:uppercase;letter-spacing:1px;margin-bottom:18px}
.footer-col a,.footer-col span{display:block;font-size:13px;color:rgba(255,255,255,0.5);margin-bottom:10px;transition:.2s;cursor:pointer}
.footer-col a:hover,.footer-col span:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,0.35)}
.footer-legal{display:flex;gap:22px}
.footer-legal a{font-size:12px;color:rgba(255,255,255,0.35);transition:.2s}.footer-legal a:hover{color:rgba(255,255,255,0.8)}
