/* ===== Gastrotaxi design system — modern food-delivery reskin ===== */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root{
  --gt-primary:#10C23A;
  --gt-primary-dark:#0A9E2E;
  --gt-primary-light:#E7FBEC;
  --gt-accent:#08D939;
  --gt-ink:#1A1A1A;
  --gt-ink-soft:#6B7280;
  --gt-bg:#FAFAFA;
  --gt-card:#FFFFFF;
  --gt-border:#EFEFEF;
  --gt-radius-lg:20px;
  --gt-radius-md:14px;
  --gt-radius-sm:10px;
  --gt-shadow-sm:0 2px 8px rgba(20,20,20,.06);
  --gt-shadow-md:0 8px 24px rgba(20,20,20,.10);
  --gt-shadow-lg:0 16px 40px rgba(20,20,20,.14);
}

body{
  font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  color:var(--gt-ink);
  background:var(--gt-bg);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{ font-weight:700; letter-spacing:-0.01em; }
a{ color:var(--gt-primary); }
a:hover{ color:var(--gt-primary-dark); }

/* ===== Buttons ===== */
.btn-primary{
  background:var(--gt-primary) !important;
  border-color:var(--gt-primary) !important;
  border-radius:var(--gt-radius-sm) !important;
  font-weight:600;
  padding:.6rem 1.4rem;
  box-shadow:var(--gt-shadow-sm);
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn-primary:hover,.btn-primary:focus{
  background:var(--gt-primary-dark) !important;
  border-color:var(--gt-primary-dark) !important;
  transform:translateY(-1px);
  box-shadow:var(--gt-shadow-md);
}
.btn{ border-radius:var(--gt-radius-sm); }
.gold-color{ color:#FFB400 !important; }

/* ===== Top nav ===== */
#top-navigation{
  background:var(--gt-card);
  padding:.75rem 1rem;
  box-shadow:var(--gt-shadow-sm);
  position:sticky;
  top:0;
  z-index:1000;
}
.top-logo img{ max-height:42px; }

/* ===== Hero / search ===== */
#main-search-banner{
  background:linear-gradient(135deg,var(--gt-primary) 0%, #2BE653 100%);
  border-radius:0 0 var(--gt-radius-lg) var(--gt-radius-lg);
  padding:3.5rem 1rem 4.5rem;
  margin-bottom:-2.5rem;
}
#main-search-banner h2{
  color:#fff;
  font-size:2.1rem;
  font-weight:800;
  text-shadow:0 2px 12px rgba(0,0,0,.15);
}
.home-search-wrap{
  background:var(--gt-card);
  border-radius:var(--gt-radius-md);
  box-shadow:var(--gt-shadow-lg);
  padding:.5rem;
}
.mobile-home-banner{
  background:linear-gradient(135deg,var(--gt-primary) 0%, #2BE653 100%);
  height:64px;
  border-radius:0 0 var(--gt-radius-lg) var(--gt-radius-lg);
}

/* ===== Restaurant / item cards (swiper + grid) ===== */
.swiperResto .swiper-slide,
.swiperSlide{
  background:var(--gt-card);
  border-radius:var(--gt-radius-md);
  overflow:hidden;
  box-shadow:var(--gt-shadow-sm);
  border:1px solid var(--gt-border);
  transition:transform .18s ease, box-shadow .18s ease;
}
.swiperResto .swiper-slide:hover,
.swiperSlide:hover{
  transform:translateY(-4px);
  box-shadow:var(--gt-shadow-md);
  cursor:pointer;
}
.layer-grey{ border-radius:var(--gt-radius-md) var(--gt-radius-md) 0 0; }
.make-grey{ opacity:.55; }
.truncate{ color:var(--gt-ink); }
.font-weight-light.truncate{ color:var(--gt-ink-soft); }

/* ===== Section headers ===== */
.swiperOutsideContainer h3,
.container h3.font-weight-bold{
  font-size:1.3rem;
  font-weight:800;
  color:var(--gt-ink);
}

/* ===== Cuisine list pills ===== */
.cuisine-item, .cuisine-card{
  border-radius:var(--gt-radius-sm) !important;
  box-shadow:var(--gt-shadow-sm);
}

/* ===== Footer ===== */
footer{
  background:var(--gt-ink);
  color:#fff;
  padding:2rem 0;
  margin-top:3rem;
  border-radius:var(--gt-radius-lg) var(--gt-radius-lg) 0 0;
}
footer a{ color:#fff; opacity:.85; }
footer a:hover{ opacity:1; color:#fff; }

/* ===== Promo tags ===== */
.el-tag{ border-radius:var(--gt-radius-sm) !important; font-weight:600; border:none !important; }
.el-tag--danger{ background:var(--gt-primary) !important; color:#fff !important; }
.el-tag--warning{ background:#FFB400 !important; color:#1A1A1A !important; }

/* ===== Mobile app promo section ===== */
.section-mobileapp{
  background:var(--gt-primary-light);
  border-radius:var(--gt-radius-lg);
  margin:2rem 1rem;
  padding:2rem 1rem;
}

@media (max-width:768px){
  #main-search-banner{ padding:2rem 1rem 3rem; }
  #main-search-banner h2{ font-size:1.5rem; }
}

/* ===== Buttons (green = primary brand action, used in cart/item-dialog) ===== */
.btn-green{
  background:var(--gt-primary) !important;
  border-color:var(--gt-primary) !important;
  color:#fff !important;
  border-radius:var(--gt-radius-sm) !important;
  font-weight:600;
  box-shadow:var(--gt-shadow-sm);
}
.btn-green:hover{ background:var(--gt-primary-dark) !important; border-color:var(--gt-primary-dark) !important; }

/* ===== Restaurant listing page ===== */
.change-address-wrap{ background:var(--gt-card); box-shadow:var(--gt-shadow-sm); }
#search-form .form-control{
  border-radius:var(--gt-radius-sm);
  border:1px solid var(--gt-border);
  background:var(--gt-bg);
}
.section-filter{ background:var(--gt-card); border-radius:var(--gt-radius-md); padding:1rem !important; }
.custom-control-input:checked ~ .custom-control-label::before{
  background-color:var(--gt-primary) !important;
  border-color:var(--gt-primary) !important;
}

/* ===== Cart page ===== */
.sticky-cart{
  background:var(--gt-card);
  border-radius:var(--gt-radius-md);
  box-shadow:var(--gt-shadow-md);
  padding:1.25rem;
}

/* ===== Item-details add-to-cart modal ===== */
.modal-content{ border-radius:var(--gt-radius-lg); border:none; overflow:hidden; }
.addon-rows{ border-radius:var(--gt-radius-sm); }
.addon-required{ background:var(--gt-primary-light); border-color:var(--gt-primary) !important; }
.quantity-add-cart{
  border-radius:var(--gt-radius-sm);
  border:1px solid var(--gt-border);
  font-weight:700;
}
.heads{ font-weight:700; }

/* ===== Generic price/qty pill accents ===== */
.price.active, [class*="item_size_id"].active{
  border-color:var(--gt-primary) !important;
  color:var(--gt-primary) !important;
  background:var(--gt-primary-light);
}

/* =====================================================================
   HOMEPAGE MODERN v2 — refined hero, clear section structure, rhythm
   ===================================================================== */

/* ---- Top nav refinement ---- */
#top-navigation{ border-bottom:1px solid var(--gt-border); padding:.85rem 1.5rem; }

/* ---- Hero: taller-but-cleaner, subtitle, no header clip ---- */
#main-search-banner{
  background:radial-gradient(120% 120% at 50% 0%, #2BE653 0%, var(--gt-primary) 55%, var(--gt-primary-dark) 100%);
  border-radius:0 0 32px 32px;
  padding:4rem 1rem 5.5rem;
  margin-bottom:-3rem;
  position:relative;
  overflow:hidden;
}
#main-search-banner::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(40% 40% at 15% 20%, rgba(255,255,255,.12) 0%, transparent 60%),
    radial-gradient(35% 35% at 85% 75%, rgba(255,255,255,.10) 0%, transparent 60%);
  pointer-events:none;
}
.banner-center{ position:relative; z-index:1; max-width:640px; }
#main-search-banner h2{
  font-size:2.5rem;
  line-height:1.1;
  margin-bottom:.5rem !important;
  letter-spacing:-0.02em;
}
#main-search-banner h2::after{
  content:"Order from 100+ restaurants near you — delivered hot to your door.";
  display:block;
  font-size:1rem;
  font-weight:500;
  color:rgba(255,255,255,.9);
  text-shadow:none;
  margin-top:.75rem;
  letter-spacing:0;
}
.home-search-wrap{ padding:.4rem; margin-top:1.5rem; }
.home-search-wrap .form-control,
.home-search-wrap input{ border:none !important; font-size:1rem; }

/* ---- Section shell: lift content over hero, rounded top, rhythm ---- */
#vue-home-widgets{
  position:relative;
  z-index:2;
  background:var(--gt-bg);
  border-radius:28px 28px 0 0;
  padding-top:2rem;
}
#vue-home-widgets > .container,
#vm_home_search + #vue-home-widgets .container{ padding-top:.5rem; padding-bottom:.5rem; }

/* consistent section vertical rhythm */
.swiperOutsideContainer{ margin:2.25rem 0; }

/* ---- Section headers: bold, accent bar, clear hierarchy ---- */
.swiperOutsideContainer > .mb-4.mt-4 h3,
.swiperOutsideContainer h3.font-weight-bold,
.container h3.font-weight-bold{
  font-size:1.45rem;
  font-weight:800;
  position:relative;
  padding-left:.85rem;
}
.swiperOutsideContainer > .mb-4.mt-4 h3::before,
.container h3.font-weight-bold::before{
  content:"";
  position:absolute; left:0; top:.15em; bottom:.15em;
  width:4px; border-radius:4px;
  background:var(--gt-primary);
}
/* centered headers (e.g. "Join Gastrotaxi") keep no left bar */
.text-center h3{ padding-left:0 !important; }
.text-center h3::before{ display:none !important; }

/* ---- Cuisine circles: brand ring, hover lift, no broken-empty look ---- */
.swiperCuisine .rounded-circle,
.swiperCuisine img.rounded-circle{
  width:88px; height:88px;
  object-fit:cover;
  background:linear-gradient(135deg,var(--gt-primary-light),#F0FBF2);
  border:2px solid #fff;
  box-shadow:0 4px 14px rgba(16,194,58,.16);
  transition:transform .18s ease, box-shadow .18s ease;
}
.swiperCuisine .swiperSlide{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  text-align:center;
}
.swiperCuisine .swiperSlide:hover .rounded-circle{
  transform:translateY(-4px) scale(1.03);
  box-shadow:0 10px 22px rgba(16,194,58,.26);
}
.swiperCuisine .truncate{ font-weight:600; margin-top:.5rem; font-size:.9rem; }

/* ---- Swiper nav arrows: brand circular ---- */
.swiper-button-next .el-button,
.swiper-button-prev .el-button,
.el-links .el-button{
  background:#fff !important;
  border:1px solid var(--gt-border) !important;
  color:var(--gt-ink) !important;
  box-shadow:var(--gt-shadow-sm);
}
.swiper-button-next .el-button:hover,
.swiper-button-prev .el-button:hover{
  background:var(--gt-primary) !important;
  color:#fff !important;
  border-color:var(--gt-primary) !important;
}

/* ---- "Join Gastrotaxi" section: brand accent + orange buttons ---- */
.warm-pink{ color:var(--gt-primary) !important; }
.join-sections .swiperSlide{
  border-radius:var(--gt-radius-lg);
  overflow:hidden;
  box-shadow:var(--gt-shadow-sm);
  border:1px solid var(--gt-border);
}
.join-sections .swiperSlide img{ height:190px; object-fit:cover; width:100%; }
.join-sections .content{ padding:1.25rem 1.25rem 1.5rem; }
.join-sections .content h5{ font-size:1.05rem; }
.join-sections .content p{ color:var(--gt-ink-soft); font-size:.9rem; min-height:2.6em; }

/* Element-Plus success buttons (join CTAs) -> brand orange */
.el-button--success{
  --el-button-bg-color:var(--gt-primary) !important;
  --el-button-border-color:var(--gt-primary) !important;
  --el-button-hover-bg-color:var(--gt-primary-dark) !important;
  --el-button-hover-border-color:var(--gt-primary-dark) !important;
  --el-button-active-bg-color:var(--gt-primary-dark) !important;
  font-weight:600 !important;
}
.el-button--success.is-plain{
  --el-button-bg-color:var(--gt-primary-light) !important;
  --el-button-text-color:var(--gt-primary-dark) !important;
  --el-button-border-color:#BEEFC8 !important;
  --el-button-hover-text-color:#fff !important;
}

/* ---- Mobile-app promo: cleaner card ---- */
.section-mobileapp{ box-shadow:var(--gt-shadow-sm); }
.section-newmobileapp h1{ font-size:2rem; letter-spacing:-0.02em; }

@media (max-width:768px){
  #main-search-banner{ padding:2.5rem 1rem 4rem; }
  #main-search-banner h2{ font-size:1.7rem; }
  #main-search-banner h2::after{ font-size:.9rem; }
  .swiperCuisine .rounded-circle{ width:72px; height:72px; }
}

/* =====================================================================
   HOMEPAGE v3 — DeliDash-style dark hero, stats, reserve CTA
   ===================================================================== */
:root{ --gt-dark:#0C2A1E; --gt-dark2:#124A31; }

/* Dark two-column hero */
#main-search-banner{
  background:linear-gradient(120deg, var(--gt-dark) 0%, var(--gt-dark2) 100%) !important;
  border-radius:0 0 34px 34px;
  padding:3.5rem 1.5rem 4.5rem !important;
  margin-bottom:-2.5rem;
  overflow:hidden;
}
#main-search-banner::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(45% 60% at 90% 15%, rgba(8,217,57,.18) 0%, transparent 60%);
}
.hero-grid{
  position:relative;z-index:1;
  max-width:1140px;margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;gap:2.5rem;align-items:center;
}
.hero-left{ text-align:left !important; max-width:none !important; }
#main-search-banner h2{
  color:#fff !important;font-size:2.9rem;line-height:1.08;font-weight:800;
  letter-spacing:-0.02em;margin-bottom:.75rem !important;text-shadow:none;
}
#main-search-banner h2::after{ content:none !important; } /* v2 subtitle off; using .hero-sub */
.hero-sub{ color:rgba(255,255,255,.8);font-size:1.05rem;max-width:34rem;margin-bottom:1.5rem; }
.hero-left .home-search-wrap{ margin-top:0;max-width:34rem; }

/* stats pills */
.hero-stats{ display:flex;gap:1rem;margin-top:1.75rem;flex-wrap:wrap; }
.hero-stat{
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--gt-radius-md);padding:.7rem 1.2rem;min-width:104px;
  backdrop-filter:blur(4px);
}
.hero-stat b{ display:block;font-size:1.5rem;font-weight:800;color:var(--gt-accent);line-height:1; }
.hero-stat span{ font-size:.8rem;color:rgba(255,255,255,.75);font-weight:500; }

/* right illustration */
.hero-right{ justify-content:center; }
.hero-illustration{
  width:100%;max-width:460px;height:340px;object-fit:cover;
  border-radius:24px;box-shadow:0 24px 60px rgba(0,0,0,.35);
  border:4px solid rgba(255,255,255,.08);
}

/* section shell already lifts; ensure dark hero clears */
#vue-home-widgets{ padding-top:2.5rem; }

/* Reserve CTA */
.reserve-cta{
  background-size:cover;background-position:center;
  border-radius:var(--gt-radius-lg);padding:3.5rem 2rem;
  box-shadow:var(--gt-shadow-md);
}
.reserve-inner{ max-width:560px;color:#fff; }
.reserve-inner h3{ color:#fff;font-size:1.9rem;font-weight:800;padding-left:0 !important;margin-bottom:.5rem; }
.reserve-inner h3::before{ content:none !important; }
.reserve-inner p{ color:rgba(255,255,255,.85);margin-bottom:1.5rem; }
.reserve-btn{ display:inline-block;padding:.75rem 2rem !important;font-size:1rem; }

@media (max-width:900px){
  .hero-grid{ grid-template-columns:1fr;gap:1.5rem; }
  #main-search-banner h2{ font-size:2rem; }
  .hero-illustration{ height:220px; }
  .hero-left .home-search-wrap,.hero-sub{ max-width:none; }
}

/* footer legal links */
.footer-legal{ border-top:1px solid rgba(255,255,255,.12); padding-top:1rem; font-size:.85rem; }
.footer-legal a{ color:#fff; opacity:.8; }
.footer-legal a:hover{ opacity:1; color:var(--gt-accent); }

/* =====================================================================
   POLISH v4 — advanced micro-interactions, glass nav, motion
   ===================================================================== */

/* glass sticky nav */
#top-navigation{
  background:rgba(255,255,255,.82) !important;
  backdrop-filter:blur(14px) saturate(1.4);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);
}

/* smooth page scroll + consistent easing */
html{ scroll-behavior:smooth; }
a,button,.btn,.el-button{ transition:all .18s cubic-bezier(.2,.7,.3,1); }

/* restaurant/item card image zoom on hover */
.swiperSlide{ isolation:isolate; }
.swiperSlide img{ transition:transform .35s cubic-bezier(.2,.7,.3,1); }
.swiperSlide:hover img{ transform:scale(1.05); }
.swiperCuisine .swiperSlide:hover img{ transform:none; } /* cuisine circles keep own effect */

/* menu item rows: photo rounding + hover ring */
.menu-item img, [class*="menu-data"] img{ border-radius:var(--gt-radius-sm); }

/* skeleton shimmer -> brand tint */
.el-skeleton__item{
  background:linear-gradient(90deg,#F0F2F0 25%,#E4F7E9 50%,#F0F2F0 75%) !important;
  background-size:400% 100% !important;
}

/* price badge (black pill) -> brand dark green */
.btn-dark, .badge-dark, .price-badge{ background:var(--gt-dark) !important; border-color:var(--gt-dark) !important; }

/* focus-visible accessibility ring */
a:focus-visible,button:focus-visible,.btn:focus-visible,input:focus-visible{
  outline:3px solid rgba(16,194,58,.45) !important; outline-offset:2px; border-radius:6px;
}

/* checkout summary card polish */
.sticky-cart, .cart-summary{ border:1px solid var(--gt-border); }

/* toast/notyf brand */
.notyf__toast{ border-radius:var(--gt-radius-md) !important; }

/* rating star + km meta row tighten */
.swiperSlide .fa-star{ filter:drop-shadow(0 1px 2px rgba(0,0,0,.15)); }

/* scrollbar (webkit) subtle */
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-thumb{ background:#C9D2CC; border-radius:8px; }
::-webkit-scrollbar-thumb:hover{ background:var(--gt-primary); }

/* respect reduced motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ transition:none !important; animation:none !important; }
  html{ scroll-behavior:auto; }
}

/* =====================================================================
   HERO + FOOTER v5 — light Good-Food hero, Stay-Clean footer
   ===================================================================== */

/* ---- light hero (overrides v3 dark) ---- */
#main-search-banner{
  background:linear-gradient(160deg,#F6FCF2 0%, #E7FBEC 100%) !important;
  border-radius:0 0 34px 34px;
  padding:3.25rem 1.5rem 2.75rem !important;
  margin-bottom:0 !important;
}
#main-search-banner::before{
  background:
    radial-gradient(38% 55% at 88% 30%, rgba(16,194,58,.14) 0%, transparent 70%),
    radial-gradient(25% 40% at 70% 80%, rgba(8,217,57,.08) 0%, transparent 70%) !important;
}
#main-search-banner h2{
  color:var(--gt-ink) !important;
  text-shadow:none !important;
  font-size:2.7rem;
}
.hero-sub{ color:var(--gt-ink-soft) !important; }
.mobile-home-banner{ background:linear-gradient(160deg,#F6FCF2,#E7FBEC) !important; height:12px; }

/* CTA row */
.hero-cta-row{ display:flex; gap:.8rem; margin-bottom:1.2rem; flex-wrap:wrap; }
.btn-outline-gt{
  border:2px solid var(--gt-primary) !important;
  color:var(--gt-primary-dark) !important;
  background:#fff !important;
  border-radius:12px !important;
  font-weight:700; padding:.6rem 1.5rem;
}
.btn-outline-gt:hover{ background:var(--gt-primary-light) !important; }
.hero-order-btn{ padding:.6rem 1.9rem !important; font-weight:700 !important; border-radius:12px !important; }

.hero-left .home-search-wrap{ border:1px solid var(--gt-border); }

/* ---- circular bowl + orbit ring + floating features ---- */
.hero-right{ position:relative; }
.hero-bowl-wrap{ position:relative; margin-right:3.5rem; }
.hero-bowl{
  width:400px;height:400px;border-radius:50%;object-fit:cover;
  box-shadow:0 30px 70px rgba(10,60,25,.22);
  border:8px solid #fff;
}
.hero-bowl-wrap::before{
  content:"";position:absolute;inset:-30px;border-radius:50%;
  border:1.5px solid rgba(16,194,58,.35);
  pointer-events:none;
}
.hero-bowl-wrap::after{
  content:"";position:absolute;inset:-58px;border-radius:50%;
  border:1px dashed rgba(16,194,58,.22);
  pointer-events:none;
}
.hero-feature{
  position:absolute; display:flex; gap:.6rem; align-items:center;
  background:#fff; padding:.6rem .95rem; border-radius:14px;
  box-shadow:0 8px 24px rgba(10,60,25,.12);
  font-size:.82rem; line-height:1.25; max-width:215px; z-index:2;
}
.hero-feature i{
  color:var(--gt-primary); font-size:1.15rem; flex-shrink:0;
  width:36px;height:36px;border-radius:50%;
  background:var(--gt-primary-light);
  display:flex;align-items:center;justify-content:center;
}
.hero-feature b{ font-size:.86rem; }
.hf1{ top:2%;  right:-16%; }
.hf2{ top:44%; right:-22%; }
.hf3{ bottom:4%; right:-12%; }

/* ---- info pills row ---- */
.hero-pills{
  display:flex; gap:1rem; flex-wrap:wrap;
  max-width:1140px; margin:2.5rem auto 0;
  position:relative; z-index:1;
}
.hero-pill{
  flex:1; min-width:250px;
  background:#fff; border:1px solid #DFF5E4; border-radius:999px;
  padding:.85rem 1.35rem;
  display:flex; gap:.85rem; align-items:center;
  box-shadow:var(--gt-shadow-sm);
}
.hero-pill i{
  color:var(--gt-primary); font-size:1.3rem; flex-shrink:0;
  width:44px;height:44px;border-radius:50%;
  background:var(--gt-primary-light);
  display:flex;align-items:center;justify-content:center;
}
.hero-pill b{ display:block; font-size:.95rem; }
.hero-pill span{ color:var(--gt-ink-soft); font-size:.8rem; }

/* content shell: no more negative overlap needed on light hero */
#vue-home-widgets{ border-radius:0; padding-top:1.5rem; }

/* ---- Stay-Clean footer ---- */
.sub-footer{ background:#fff; padding-top:0; }
.newsletter-banner{
  background:linear-gradient(120deg,var(--gt-primary) 0%,var(--gt-primary-dark) 100%);
  border-radius:26px;
  padding:2.4rem 2.6rem;
  display:grid; grid-template-columns:210px 1fr; gap:2.2rem; align-items:center;
  box-shadow:0 22px 50px rgba(10,120,40,.28);
  margin:3rem 0 3rem;
  position:relative;
}
.nb-img-wrap{ align-items:center; justify-content:center; }
.nb-img-wrap img{
  width:205px;height:205px;object-fit:cover;border-radius:50%;
  border:6px solid rgba(255,255,255,.3);
  margin-top:-58px;
  box-shadow:0 16px 36px rgba(0,0,0,.25);
  transform:rotate(-4deg);
}
.nb-content h4{ color:#fff; font-weight:800; font-size:1.45rem; margin-bottom:.35rem; }
.nb-content p{ color:rgba(255,255,255,.88); margin-bottom:1.1rem; }
.footer-note{ color:rgba(255,255,255,.75); font-size:.78rem; margin-top:.7rem; }
.footer-note a{ color:#fff; text-decoration:underline; }

/* subscription pill inside banner */
.newsletter-banner .esubscription{ max-width:430px; }
.newsletter-banner .esubscription .el-input__wrapper{
  border-radius:999px !important; padding-right:8.2rem;
  box-shadow:none !important;
}
.newsletter-banner .butoon-wrap{ position:absolute; right:5px; top:50%; transform:translateY(-50%); }
.newsletter-banner .butoon-wrap .el-button{
  border-radius:999px !important;
  background:var(--gt-dark) !important; border-color:var(--gt-dark) !important;
  font-weight:700 !important;
}

/* footer columns */
.footer-cols{ padding-bottom:1.5rem; }
.footer-brand .footer-logo img{ max-height:40px; margin-bottom:1rem; }
.footer-blurb{ color:var(--gt-ink-soft); font-size:.9rem; max-width:300px; margin-bottom:1rem; }
.footer-cols h6{ font-weight:800; margin-bottom:1rem; }
.sub-footer-nav a{ color:var(--gt-ink-soft); font-size:.9rem; }
.sub-footer-nav a:hover{ color:var(--gt-primary); }
.footer-contact .fc-row{ display:flex; gap:.7rem; align-items:center; margin-bottom:.8rem; }
.footer-contact .fc-row i{
  color:var(--gt-primary); width:36px;height:36px;border-radius:50%;
  background:var(--gt-primary-light);
  display:flex;align-items:center;justify-content:center; flex-shrink:0;
}
.footer-contact .fc-row a{ color:var(--gt-ink); font-size:.9rem; font-weight:600; }
.social-list a{
  color:var(--gt-ink); font-size:1.15rem;
  width:38px;height:38px;border-radius:50%;
  background:var(--gt-bg); border:1px solid var(--gt-border);
  display:flex;align-items:center;justify-content:center;
}
.social-list a:hover{ background:var(--gt-primary); color:#fff; border-color:var(--gt-primary); }

@media (max-width:900px){
  #main-search-banner h2{ font-size:1.9rem; }
  .hero-bowl{ width:300px;height:300px; }
  .hf1,.hf2,.hf3{ position:static; margin-top:.6rem; max-width:none; }
  .hero-bowl-wrap{ margin-right:0; }
  .newsletter-banner{ grid-template-columns:1fr; padding:1.8rem 1.4rem; }
  .nb-img-wrap{ display:none !important; }
}
