/* ============================================================
   LOCATION PAGES — shared CSS. innerbanner + mainsectionheading + mb-100 from style.css.
   Section UI intentionally different from product/service pages.
   ============================================================ */
:root{ --nv:#022b63; --cream:#efede7; --amber:#f9a825; --ink:#111827; --muted:#5b6472; --line:#e7e4dc; --soft:#f7f6f2; --radius:18px; }

/* stats strip right under banner */
.loc-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; background:var(--nv); border-radius:20px; overflow:hidden; }
.loc-stat{ padding:36px 26px; text-align:center; border-right:1px solid #ffffff1a; }
.loc-stat:last-child{ border-right:none; }
.loc-stat .num{ font-family:"PlusJakartaSans-Medium"; font-size:34px; color:var(--amber); line-height:1; margin-bottom:8px; }
.loc-stat p{ color:#ffffffcf; font-size:14px; margin:0; }

/* about intro two-col */
.loc-two{ display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; }
.loc-two.rev{ direction:rtl; } .loc-two.rev > *{ direction:ltr; }
.loc-two p{ color:var(--muted); line-height:1.85; font-size:15.5px; margin-bottom:16px; }
.loc-media{ background:linear-gradient(135deg,#f7f6f2,#efede7); border:1px solid var(--line); border-radius:var(--radius); min-height:360px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; box-shadow:0 16px 40px rgba(2,43,99,.05); }
.loc-media::before{ content:''; position:absolute; inset:0; background-image:radial-gradient(rgba(2,43,99,.05) 1px,transparent 1px); background-size:18px 18px; opacity:.6; }
.loc-media span{ position:relative; z-index:2; font-size:64px; color:#c3cbd8; }

/* KEY FEATURES — split numbered list (different: left index big, right text) */
.loc-feats{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px 40px; }
.loc-feat{ display:grid; grid-template-columns:56px 1fr; gap:20px; align-items:start; padding:24px 0; border-bottom:1px solid var(--line); }
.loc-feat .n{ font-family:"PlusJakartaSans-Medium"; font-size:20px; color:var(--nv); background:var(--cream); width:56px; height:56px; border-radius:14px; display:flex; align-items:center; justify-content:center; transition:.3s; }
.loc-feat:hover .n{ background:var(--nv); color:#fff; }
.loc-feat h4{ font-family:'DMSans-SemiBold'; font-size:17px; color:var(--ink); margin-bottom:6px; }
.loc-feat p{ color:var(--muted); font-size:14px; line-height:1.65; margin:0; }

/* BENEFITS — horizontal cards with left accent bar (different look) */
.loc-benefits{ display:grid; grid-template-columns:repeat(1,1fr); gap:18px; }
.loc-benefit{ background:#fff; border:1px solid var(--line); border-left:4px solid var(--amber); border-radius:12px; padding:26px 30px; display:grid; grid-template-columns:60px 1fr; gap:22px; align-items:center; transition:.3s; }
.loc-benefit:hover{ transform:translateX(6px); box-shadow:0 16px 34px rgba(2,43,99,.08); border-left-color:var(--nv); }
.loc-benefit .ic{ width:60px; height:60px; border-radius:14px; background:var(--cream); color:var(--nv); display:inline-flex; align-items:center; justify-content:center; font-size:28px; }
.loc-benefit h4{ font-family:'DMSans-SemiBold'; font-size:18px; color:var(--ink); margin-bottom:6px; }
.loc-benefit p{ color:var(--muted); font-size:14.5px; line-height:1.7; margin:0; }

/* FACTORS — checklist card (navy band) */
.loc-factors{ background:var(--nv); }
.loc-factors .mainsectionheading h3{ color:#fff; } .loc-factors .mainsectionheading h3::before{ background:#fff; }
.loc-factors .mainsectionheading h2{ color:#fff; }
.loc-factors .sectionsub{ color:#ffffffc4; }
.loc-flist{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; max-width:1000px; margin:0 auto; }
.loc-fitem{ background:#ffffff10; border:1px solid #ffffff26; border-radius:14px; padding:24px 26px; display:flex; gap:16px; align-items:flex-start; transition:.3s; }
.loc-fitem:hover{ background:#ffffff1c; }
.loc-fitem i{ flex:0 0 26px; width:26px; height:26px; border-radius:50%; background:var(--amber); color:var(--nv); display:inline-flex; align-items:center; justify-content:center; font-size:15px; margin-top:2px; }
.loc-fitem h4{ font-family:'DMSans-SemiBold'; font-size:15.5px; color:#fff; margin-bottom:5px; }
.loc-fitem p{ color:#ffffffbf; font-size:13.5px; line-height:1.6; margin:0; }

/* CTA */
.loc-cta{ background:var(--cream); border-radius:24px; padding:56px; text-align:center; }
.loc-cta h2{ font-family:"PlusJakartaSans-Medium"; font-size:30px; color:var(--nv); margin-bottom:14px; line-height:1.25; }
.loc-cta p{ color:var(--muted); font-size:16px; line-height:1.7; max-width:680px; margin:0 auto 26px; }

@media(max-width:991px){
  .loc-stats{ grid-template-columns:1fr 1fr; }
  .loc-stat{ border-bottom:1px solid #ffffff1a; }
  .loc-stat:nth-child(2){ border-right:none; }
  .loc-two,.loc-two.rev{ grid-template-columns:1fr; gap:24px; } .loc-two.rev{ direction:ltr; }
  .loc-feats,.loc-flist{ grid-template-columns:1fr; }
  .loc-cta{ padding:36px; }
}
@media(max-width:575px){
  .loc-stats{ grid-template-columns:1fr; }
  .loc-stat{ border-right:none; }
  .loc-benefit,.loc-feat{ grid-template-columns:1fr; gap:12px; }
}

/* ============================================================
   LOCATIONS LISTING PAGE
   ============================================================ */
.loclist-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.loclist-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:30px 28px; transition:.35s; display:block; }
.loclist-card:hover{ transform:translateY(-6px); box-shadow:0 22px 46px rgba(2,43,99,.10); border-color:#cfd6e2; }
.loclist-card .ic{ width:54px; height:54px; border-radius:14px; background:var(--cream); color:var(--nv); display:inline-flex; align-items:center; justify-content:center; font-size:26px; margin-bottom:18px; transition:.35s; }
.loclist-card:hover .ic{ background:var(--nv); color:#fff; }
.loclist-card h4{ font-family:'DMSans-SemiBold'; font-size:17px; color:var(--ink); margin-bottom:6px; }
.loclist-card .city{ color:var(--nv); }
.loclist-card p{ color:var(--muted); font-size:13.5px; margin:0 0 14px; line-height:1.5; }
.loclist-card .go{ color:var(--nv); font-family:'DMSans-Medium'; font-size:13.5px; display:inline-flex; align-items:center; gap:6px; }
@media(max-width:991px){ .loclist-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:575px){ .loclist-grid{ grid-template-columns:1fr; } }

/* when a real location image is present, drop placeholder styling and show image */
.loc-media:has(img){ background:none; border:none; box-shadow:none; min-height:0; }
.loc-media:has(img)::before{ display:none; }
.loc-media img{ width:100%; height:100%; min-height:360px; object-fit:cover; border-radius:var(--radius); display:block; position:relative; z-index:2; }
