@charset "utf-8";

/* =============================
   THEME / TOKENS
============================= */
:root{
  --brand:#f66d24;            /* primary brand (gold/orange) */
  --brand-darker:#d9581c;     /* hover/active */
  --accent:#00a884;           /* secondary accent */
  --ink:#0b1320;
  --muted:#6b7280;
  --bg:#f6f7fb;
  --radius:16px;
  --shadow-sm:0 6px 18px rgba(0,0,0,.06);
  --shadow-md:0 16px 40px rgba(0,0,0,.10);
}

/* Reset-ish */
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,Segoe UI,Roboto,Ubuntu}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand);text-decoration:none}
small,.muted{color:var(--muted)}
h1,h2,h3,h4{margin:.25rem 0 .5rem}

/* Layout helpers */
.container{max-width:1140px;margin:0 auto;padding:1.25rem}
.card{background:#fff;border-radius:var(--radius);padding:1.1rem;border:1px solid #e9eef5;box-shadow:var(--shadow-sm)}
.grid{display:grid;gap:1rem}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){ .grid.cols-3{grid-template-columns:1fr} }

/* =============================
   HEADER / NAV
============================= */
.site-header{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:1rem;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #e5e7eb}
.site-header .logo{display:flex;gap:.6rem;align-items:center;font-weight:700;color:var(--ink)}
.site-header .main-nav{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.switch-btn{padding:.45rem .9rem;border-radius:999px;background:var(--brand);color:#fff;border:1px solid var(--brand)}
.switch-btn:hover{background:var(--brand-darker);border-color:var(--brand-darker)}

/* Buttons */
a.btn,.btn{display:inline-block;padding:.72rem 1.05rem;border-radius:999px;border:1px solid var(--brand);color:var(--brand);background:#fff;cursor:pointer;transition:.2s ease}
a.btn:hover,.btn:hover{box-shadow:0 6px 16px rgba(0,0,0,.08)}
a.btn.primary,.btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}
a.btn.primary:hover,.btn.primary:focus,.btn.primary:active{background:var(--brand-darker);border-color:var(--brand-darker);color:#fff}
.btn.block{width:100%;text-align:center}

/* Forms */
label{display:block;margin:.55rem 0 .3rem}
input,select,textarea{width:100%;padding:.75rem;border:1px solid #cbd5e1;border-radius:10px;background:#fff}
.form-row{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
.form-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem}
@media (max-width:700px){ .form-row{grid-template-columns:1fr} }

/* Alerts */
.alert-error{background:#fee2e2;color:#7f1d1d;border:1px solid #fecaca;padding:.6rem;border-radius:10px}

/* =============================
   HERO (FULL-BLEED GRADIENT)
============================= */
.full-bleed{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.mega-hero{
  position:relative;
  /* brand gradient */
  background:
    radial-gradient(950px 520px at 12% 8%, rgba(246,139,54,0.40), rgba(246,139,54,0) 60%),
    radial-gradient(1050px 620px at 88% -2%, rgba(246,109,36,0.40), rgba(246,109,36,0) 60%),
    linear-gradient(180deg, #fff 0%, #fff3ec 42%, #fde6db 100%);
  padding: 74px 0 96px;
}
.hero-wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:2.2rem;align-items:center}
.hero-copy .lead{font-size:1.08rem;color:#334155}
.pill-badge{display:inline-block;background:#fff;color:#d6100d;border:1px solid #ffd0c1;border-radius:999px;padding:.3rem .7rem;font-weight:600}
.cta-row{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}
.badges{display:flex;gap:.4rem;flex-wrap:wrap}
.badge{background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:.35rem .7rem;font-size:.85rem}

/* Phone mock */
.hero-art{display:flex;justify-content:center;padding:10px}
.phone-mock{width:300px;height:600px;background:#0b0f19;border-radius:34px;padding:16px;box-shadow:0 25px 60px rgba(0,0,0,.25)}
.phone-head{height:22px;background:#0b0f19;border-radius:12px;margin:0 auto 8px;width:120px}
.phone-screen{background:#fff;border-radius:22px;height:100%;padding:14px;display:flex;flex-direction:column;gap:10px;overflow:auto}
.screen-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px;display:flex;flex-direction:column}
.screen-card.install{background:#fff7f4;border-color:#ffd5c8}
.screen-card .muted{color:#6b7280;font-size:.9rem}

/* Bigger store icons */
.store-icons img{vertical-align:middle;margin-right:10px;width:34px;height:34px}
.store-icons.big img{width:48px;height:48px}

/* Install CTA animation (makes it stand out) */
@keyframes kydPulse {
  0% { box-shadow:0 0 0 0 rgba(246,109,36,.40) }
  70%{ box-shadow:0 0 0 14px rgba(246,109,36,0) }
  100%{ box-shadow:0 0 0 0 rgba(246,109,36,0) }
}
#installAppHome,
.btn.install-cta{
  position:relative;
  animation:kydPulse 2.2s infinite;
  border-color:var(--brand);
}
#installAppHome:hover,
.btn.install-cta:hover{
  transform:translateY(-1px);
  background:var(--brand-darker);
  border-color:var(--brand-darker);
  color:#fff;
}

/* Mobile adjustments for hero & phone */
@media (max-width:900px){
  .hero-inner{grid-template-columns:1fr;gap:1.5rem}
  .hero-copy{padding:0 10px}      /* breathing from screen edges */
  .hero-art{padding:0}
  .phone-mock{margin:0 auto;transform:scale(0.96);transform-origin:center}
  .mega-hero{padding:42px 0 58px}
}

/* =============================
   “ADD APP” + SEARCH SECTION
============================= */
.install-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.2rem;align-items:stretch}
.install-grid > * {border-radius:16px;box-shadow:var(--shadow-sm)}
.install-panel{background:#fff;padding:1.2rem;border:1px solid #eef1f5}
.quick-search{background:#fff;padding:1rem;border:1px solid #eef1f5}

/* Give Search card breathing from hero gradient edge on desktop */
.home-search-wrap{margin-top:-50px}  /* pulls section slightly over the hero */
@media (max-width:1000px){ .home-search-wrap{margin-top:0} }

/* Neat field spacing */
.quick-search .form-row{gap:.8rem}
.quick-search .form-actions{margin-top:.6rem}

/* Optional Maasai background image for the whole home-search section */
.home-search-bg{
  background:linear-gradient(0deg, rgba(255,255,255,.92), rgba(255,255,255,.92)),
             url('/assets/img/maasai.jpg') center/cover no-repeat;
  border-radius:16px;
  padding:1rem;
  border:1px solid #eef1f5;
}

/* =============================
   FEATURE CARDS
============================= */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}
.feature-grid .feat{border-radius:16px;box-shadow:var(--shadow-sm)}
.feature-grid .feat h4{margin:.2rem 0 .4rem}
@media (max-width:900px){ .feature-grid{grid-template-columns:1fr} }

/* =============================
   AUTH LAYOUT
============================= */
.auth-hero{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}
.auth-box{display:grid;grid-template-columns:1fr 1fr;max-width:900px;width:100%;border-radius:var(--radius);overflow:hidden;box-shadow:0 0 20px rgba(0,0,0,.05)}
.auth-left{background:var(--brand);color:#fff;padding:2rem}
.auth-left img{margin-bottom:1rem}
.auth-left h1{font-size:1.8rem;margin:.5rem 0}
.install-app{margin-top:2rem;text-align:left}
.install-app img{margin-right:10px}
.install-app .small{font-size:.8rem;color:#dbeafe}
.auth-right{background:#fff;padding:2rem}
.auth-right form input{margin-bottom:1rem}
@media (max-width:768px){ .auth-box{grid-template-columns:1fr} .auth-left{display:none} }

/* =============================
   FOOTER (4 SECTIONS)
============================= */
.site-footer{margin-top:3rem;background:#fff;border-top:1px solid #e5e7eb}
.footer-inner{max-width:1140px;margin:0 auto;padding:2rem 1.25rem}
.footer-grid{display:grid;gap:1.2rem;grid-template-columns:2fr 1fr 1fr 1fr}
.footer-col h5{margin:0 0 .6rem 0;font-size:1rem}
.footer-col ul{list-style:none;margin:0;padding:0}
.footer-col li{margin:.35rem 0}
.footer-col a{color:var(--ink)}
.footer-col a:hover{color:var(--brand)}
.trust{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.footer-bottom{border-top:1px solid #eef1f5;margin-top:1rem;padding-top:1rem;color:var(--muted);font-size:.95rem}
@media (max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .footer-grid{grid-template-columns:1fr}
}

/* ICON ROWS SIDE-BY-SIDE EVERYWHERE */
.store-icons.row{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:nowrap;           /* never wrap vertically */
}
.store-icons.row img{
  display:block;
}

/* PHONE: never scroll inside; ensure content fits and scales */
.phone-mock{ width:300px; height:600px; }
.phone-screen{ overflow:hidden; }          /* prevent internal scroll */
.screen-card{ padding:10px; }
.screen-card.install .store-icons.big img{ width:42px; height:42px; }

/* EXTRA spacing for Search form inputs */
.quick-search .form-row > *{ margin-bottom:.7rem; }

/* FULL-WIDTH MAASAI BACKGROUND covering search + features (until footer) */
.bg-maasai{
  background:
    linear-gradient(0deg, rgba(255,255,255,.90), rgba(255,255,255,.90)),
    url('/assets/img/maasai-wide.jpg') center/cover no-repeat;
  padding: 18px 0 28px;
  border-top: 1px solid #f1d2c6;
}

/* Keep icons bigger globally (you have 512x512 sources) */
.store-icons.big img{ width:48px; height:48px; }

/* On smaller screens, center phone and scale slightly down */
@media (max-width:900px){
  .phone-mock{ margin:0 auto; transform:scale(.95); transform-origin:center; }
}

/* Remove header divider so the hero starts immediately under the top bar */
.site-header{ border-bottom:none; box-shadow:none; }

/* HERO: no unexpected gaps */
.mega-hero{ margin-top:0; }

/* ICON ROWS ALWAYS SIDE-BY-SIDE */
.store-icons.row{ display:flex; gap:12px; align-items:center; flex-wrap:nowrap; }
.store-icons.row img{ display:block; }

/* PHONE: never scroll internally; keep everything visible */
.phone-screen{ overflow:hidden; }

/* Search form breathing */
.quick-search .form-row > *{ margin-bottom:.8rem; }

/* FULL-WIDTH MAASAI BG from cards to footer (no grey gap) */
.bg-maasai{
  background:
    linear-gradient(0deg, rgba(255,255,255,.92), rgba(255,255,255,.92)),
    url('/assets/img/maasai-wide.jpg') center/cover no-repeat;
  padding: 18px 0 0;           /* bottom = 0 to meet the footer */
}
.site-footer{ margin-top:0; }   /* butt against bg section */

/* STACK install/search on mobile for easier input */
.install-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:1.2rem; }
@media (max-width: 900px){
  .install-grid{ grid-template-columns:1fr !important; }
}

/* Copyright bar with brand color and white text */
.footer-bottom{
  background: var(--brand);
  color:#fff !important;
  border-top:none;
  margin-top:1rem;
  padding:.9rem 0;
}
.footer-bottom a{ color:#fff; text-decoration:underline; }

/* Optional: extra bottom padding on the bg section so cards don’t touch footer visually */
.bg-maasai .feature-grid{ padding-bottom: 14px; }

/* Share buttons */
.share-row{ display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; margin-top:.75rem }
.share-row.compact{ margin-top:.8rem }
.share-label{ font-weight:600; color:#475569; margin-right:.25rem }
.social-btn{ display:inline-flex; align-items:center; gap:.4rem; padding:.45rem .7rem; border:1px solid #e5e7eb; border-radius:999px; background:#fff; font-size:.92rem }
.social-btn img{ width:18px; height:18px; display:block }

/* Full-width footer copyright bar */
.footer-bottom{ background:var(--brand); color:#fff !important; border-top:none; margin-top:1rem; padding:.9rem 0 }
.footer-bottom.full-bleed-bar{ width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }

/* Ensure hero starts directly below header */
.site-header{ border-bottom:none; box-shadow:none }
.mega-hero{ margin-top:0 }

/* Install/Search stacking on mobile (ease form fill) */
@media (max-width: 900px){
  .install-grid{ grid-template-columns:1fr !important; }
}

/* Keep icon rows horizontal */
.store-icons.row{ display:flex; gap:12px; align-items:center; flex-wrap:nowrap }

/* Prevent accidental horizontal scrolling */
html, body { overflow-x: hidden; }

/* Copyright bar: full-width background, content stays contained */
.footer-bottom.full-bleed-bar {
  background: var(--brand);
}
.footer-bottom.full-bleed-bar > .container {
  max-width: 1140px;
  margin: 0 auto;
  padding: .9rem 1.25rem;
  color: #fff;
}

/* Share buttons row */
.share-row {
  margin-top: .8rem;
  display: flex;
  align-items: center;
  gap: .6rem;
  flex-wrap: wrap;
}

.share-label {
  font-weight: 600;
  color: #334155;
  margin-right: .25rem;
}

.social-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #fff;
  color: #f66d24; /* your brand orange */
  border: 1px solid #ffd5c8;
  font-size: 1.25rem;
  transition: all 0.25s ease;
}

.social-btn:hover {
  background: #f66d24;
  color: #fff;
  transform: scale(1.1);
}


/* Keep install/search stacking on mobile for easier input */
@media (max-width: 900px){
  .install-grid { grid-template-columns: 1fr !important; }
}

.install-cta { animation: kydPulse 1.8s infinite }
@keyframes kydPulse {
  0% { transform: translateY(0); box-shadow: 0 6px 18px rgba(246,109,36,.12) }
  50% { transform: translateY(-3px); box-shadow: 0 14px 26px rgba(246,109,36,.18) }
  100% { transform: translateY(0) }
}

/* --- Install CTA attention animations --- */
.install-cta { position: relative; }

.install-cta.pulse {
  animation: kydPulse 1.25s ease-in-out infinite;
  box-shadow: 0 0 0 rgba(246,109,36,0); /* brand-ish */
}
@keyframes kydPulse {
  0%   { box-shadow: 0 0 0 0 rgba(246,109,36,.45); transform: translateZ(0); }
  70%  { box-shadow: 0 0 0 16px rgba(246,109,36,0); }
  100% { box-shadow: 0 0 0 0 rgba(246,109,36,0); }
}

/* Make the store icons tappable + gently nudge */
.store-icons.row img { cursor: pointer; border-radius: 8px; }
.store-icons.row img.nudge {
  animation: kydNudge 1.7s ease-in-out infinite;
}
@keyframes kydNudge {
  0%,100% { transform: translateY(0); }
  50%     { transform: translateY(-3px); }
}

/* ====== HEADER LAYOUT TWEAKS ====== */
.site-header{
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; padding:.65rem .9rem; background:#fff; position:sticky; top:0; z-index:20;
  border-bottom:1px solid #e5e7eb;
  flex-wrap:wrap; /* allow second row on small screens */
}

.brand{display:flex; align-items:center; gap:.6rem; text-decoration:none; color:var(--ink)}
.logo-img{flex:0 0 auto; width:44px; height:44px; border-radius:50%}
.brand-title{font-weight:800; letter-spacing:.2px; white-space:nowrap} /* keep it on one line */

.nav-actions{display:flex; align-items:center; gap:.6rem; margin-left:auto}
.nav-link{color:var(--brand); text-decoration:none; padding:.45rem .4rem}
.nav-link:hover{text-decoration:underline}

/* CTA sizing that adapts on mobile */
.btn-cta{padding:.6rem 1rem; border-radius:999px}
.switch-btn{background:var(--brand); color:#fff; border:1px solid var(--brand); border-radius:999px; padding:.5rem .8rem}
.switch-btn:hover{background:#06327a}

/* ------ Mobile adjustments ------ */
@media (max-width: 640px){
  .site-header{padding:.55rem .7rem}
  .brand-title{font-size:1rem}
  .nav-actions{
    width:100%; justify-content:flex-end; /* push to a new row under the logo */
    gap:.45rem; margin-top:.35rem;
  }
  .switch-btn{font-size:.85rem; padding:.42rem .7rem; border-radius:18px}
  .nav-link{font-size:.9rem; padding:.42rem .4rem}
  .btn-cta{font-size:.95rem; padding:.5rem .8rem; border-radius:20px}
}

/* Extra small screens – keep everything compact */
@media (max-width: 380px){
  .brand-title{font-size:.95rem}
  .switch-btn{font-size:.8rem; padding:.38rem .6rem}
  .btn-cta{font-size:.9rem; padding:.46rem .7rem}
}

.user-menu img { cursor:pointer; transition:transform .2s ease; }
.user-menu img:hover { transform:scale(1.05); }
.user-menu .dropdown a:hover { background:#f9fafb; }

