@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Inter:wght@400;500;600&family=Roboto:wght@400;500;700&display=swap');

/* ================================================================
   LASALLE LWANGA — Redesigned CSS
   Works with original index.php — no structural changes needed
   Palette: Royal Blue #124b98 | Gold #fd9f01 | Navy #0a2357
================================================================ */

/* ── BASE ── */
*,*::before,*::after{box-sizing:border-box;}
body{background:#fff;padding:0;margin:0;font-family:'Inter','Roboto',sans-serif;font-style:normal;line-height:1.7;color:#222;}
img{max-width:100%;height:auto;}
a{color:#124b98;text-decoration:none;}
a:hover{color:#fd9f01;text-decoration:underline;}
h1{font-family:'Playfair Display',serif;font-weight:700;color:#124b98;}
h2{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:#124b98;text-transform:none;}
h3{font-family:'Inter',sans-serif;font-size:18px;font-weight:700;color:#fd9f01;}
h4{font-family:'Inter',sans-serif;font-size:16px;font-weight:600;color:#fd9f01;}
p{margin-bottom:1rem;}

/* ── TOPBAR (BlueRapper) ── */
div.BlueRapper{
  background:#0a2357;
  width:100%;
  clear:both;
  margin:0 auto;
  padding:0;
  height:auto;
  min-height:50px;
  display:flex;
  align-items:center;
}

div.TopMenu-Blue{width:50%;float:left;color:#fff;margin:0;padding:4px 0 4px 16px;}
div.Search-Blue{width:48%;float:right;color:#fff;text-align:right;margin:0;padding:4px 16px 4px 0;display:flex;align-items:center;justify-content:flex-end;gap:8px;}
div.Search-Blue .SocialMedia{text-align:right;width:auto;float:none;display:flex;align-items:center;gap:4px;}
div.Search-Blue .SearchModWrapper{width:auto;float:none;}

/* Topbar menu links */
div.TopMenu-Blue ul{padding:0;margin:0;}
div.TopMenu-Blue .nav>li{border-right:1px solid rgba(255,255,255,0.25);display:inline-block;}
div.TopMenu-Blue .nav>li:first-child{border-left:1px solid rgba(255,255,255,0.25);}
div.TopMenu-Blue .nav>li>a{display:block;color:#a8bce0;font-size:12px;padding:0 14px;line-height:42px;text-decoration:none;font-weight:400;}
div.TopMenu-Blue .nav>li>a:hover,div.TopMenu-Blue .nav>li>a:focus{background:none!important;text-decoration:none;color:#fff;}

/* Social icons */
img.FBICON,img.TwitterICON,img.YoutubeICON,img.Linked-icon{padding:0 4px 0 0;width:24px;height:24px;object-fit:contain;opacity:.85;transition:opacity .15s;}
img.FBICON:hover,img.TwitterICON:hover,img.YoutubeICON:hover,img.Linked-icon:hover{opacity:1;}

/* Search box */
input[type="search"],input.search-query{
  padding:5px 10px!important;
  border:1px solid rgba(255,255,255,0.3)!important;
  border-radius:4px!important;
  background:rgba(255,255,255,0.1)!important;
  color:#fff!important;
  font-size:12px!important;
  width:160px!important;
  height:auto!important;
  margin:0!important;
}
input[type="search"]::placeholder,input.search-query::placeholder{color:rgba(255,255,255,.5)!important;}
label.element-invisible{display:none;}
div.search .btn-primary{background:#fd9f01;border-radius:4px;border:none;height:28px;width:28px;padding:0;font-size:1px;color:transparent;}

/* ── STICKY NAVBAR (LogoRegionWrapper) ── */
div.LogoRegionWrapper{
  position:sticky;
  top:0;
  z-index:999;
  background:#fff;
  border-bottom:2px solid #124b98;
  box-shadow:0 2px 12px rgba(18,75,152,.10);
  width:100%;
  clear:both;
  overflow:visible;
  padding:0 2%;
  display:flex;
  align-items:center;
  transition:box-shadow .25s;
}

div.LogoRegion{width:28%;padding:0;height:auto;float:left;display:flex;align-items:center;}
div.LogoRegion img{height:54px;width:auto;}

/* ── MAIN NAV (TopMenu-LogoArea) ── */
div.TopMenu-LogoArea{
  width:72%;
  float:right;
  color:#124b98;
  margin-top:0;
  text-align:right;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding:12px 0;
}

div.TopMenu-LogoArea .nav{display:inline-flex;list-style:none;margin:0;padding:0;gap:2px;align-items:center;}
div.TopMenu-LogoArea .nav>li{display:inline-block;position:relative;}

div.TopMenu-LogoArea .nav>li>a{
  display:block;
  color:#333;
  font-size:14px;
  padding:8px 14px;
  font-weight:500;
  text-transform:none;
  text-decoration:none;
  border-radius:6px;
  transition:background .15s,color .15s;
  font-family:'Inter',sans-serif;
  letter-spacing:normal;
  line-height:1.4;
}

div.TopMenu-LogoArea .nav>.active>a,
div.TopMenu-LogoArea .nav>li>a:hover,
div.TopMenu-LogoArea .nav>li>a:focus{
  color:#124b98!important;
  background:#edf1fb!important;
  text-decoration:none!important;
}

/* Contacts — CTA button style */
div.TopMenu-LogoArea .nav>li:last-child>a{
  background:#124b98!important;
  color:#fff!important;
  border-radius:8px!important;
  padding:8px 18px!important;
  margin-left:6px;
}
div.TopMenu-LogoArea .nav>li:last-child>a:hover{
  background:#0a2357!important;
  color:#fd9f01!important;
}

/* Hide item-101 as original had */
div.TopMenu-LogoArea .nav>li.item-101{display:none;}

/* ── DROPDOWN — Where We Are countries ── */
div.TopMenu-LogoArea .nav>li.deeper,
div.TopMenu-LogoArea .nav>li.parent{position:relative;}

div.TopMenu-LogoArea .nav>li.deeper>a::after,
div.TopMenu-LogoArea .nav>li.parent>a::after{
  content:' ▾';font-size:11px;opacity:.7;
}

div.TopMenu-LogoArea .nav>li>ul.nav-child{
  display:none;
  position:absolute;
  top:calc(100% + 4px);
  right:0;
  background:#fff;
  border:1px solid #d0ddf4;
  border-top:3px solid #124b98;
  border-radius:0 0 10px 10px;
  min-width:220px;
  z-index:9999;
  list-style:none;
  padding:6px 0;
  margin:0;
  box-shadow:0 8px 32px rgba(18,75,152,.13);
  text-align:left;
}

div.TopMenu-LogoArea .nav>li:hover>ul.nav-child,
div.TopMenu-LogoArea .nav>li:focus-within>ul.nav-child{display:block;}

div.TopMenu-LogoArea .nav>li>ul.nav-child>li>a{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:10px 16px!important;
  font-size:13px!important;
  font-weight:500!important;
  color:#333!important;
  text-decoration:none!important;
  text-transform:none!important;
  background:none!important;
  transition:background .12s,color .12s!important;
  white-space:nowrap!important;
  border-radius:0!important;
}
div.TopMenu-LogoArea .nav>li>ul.nav-child>li>a::before{
  content:'';width:6px;height:6px;border-radius:50%;background:#fd9f01;flex-shrink:0;
}
div.TopMenu-LogoArea .nav>li>ul.nav-child>li>a:hover{
  background:#edf1fb!important;color:#124b98!important;
}

/* ── BANNER ── */
div.BannerRegion{width:100%;background:#0a2357;height:auto;margin:0 auto;}
div.BannerRegion img{width:100%!important;max-height:480px;object-fit:cover;display:block;}

/* ── BREADCRUMBS ── */
div.BreadCrumbs{
  background:#f4f7fd;
  border-bottom:1px solid #d0ddf4;
  padding:10px 24px;
  font-size:13px;
}
div.BreadCrumbs a{display:inline;color:#124b98;text-decoration:underline;}
div.BreadCrumbs a:hover{text-decoration:none;color:#fd9f01;}
div.BreadCrumbs ol>li{display:inline-block;padding:0 6px;}

/* ── BODY CONTENT (HOMECONT) ── */
div.BodyDiv{width:100%;margin:0 auto;clear:both;padding:0;}

div.HOMECONT{
  width:94%;
  height:auto;
  margin:0 auto;
  padding:2% 3%;
  overflow:auto;
}

div.HOMECONT a{color:#124b98;}
div.HOMECONT a:hover{text-decoration:underline;color:#fd9f01;}

div.HOMECONT h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(24px,3vw,38px);
  color:#124b98;
  border-bottom:3px solid #fd9f01;
  padding-bottom:14px;
  margin-bottom:20px;
}

div.HOMECONT h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(18px,2.5vw,26px);
  font-weight:700;
  color:#124b98;
  text-transform:none;
  margin:24px 0 10px;
}

div.HOMECONT h3{
  font-family:'Inter',sans-serif;
  font-size:18px;
  font-weight:700;
  color:#fd9f01;
  padding:10px 0;
}

div.HOMECONT h4{
  font-family:'Inter',sans-serif;
  font-size:16px;
  font-weight:600;
  font-style:normal;
  color:#fd9f01;
}

div.HOMECONT div[itemprop="articleBody"]{
  width:100%;
  font-size:16px;
  font-family:'Inter',sans-serif;
  color:#2c2c2c;
  line-height:1.75;
}

div.HOMECONT div[itemprop="articleBody"] h3{
  color:#fd9f01;
  font-size:22px;
  font-weight:700;
  padding:12px 0;
}

/* Page header */
.page-header{margin:0!important;padding:0 0 14px!important;border:none!important;border-bottom:3px solid #fd9f01!important;}

/* Read more / buttons */
a.btn,.readmore a,a.readmore{
  display:inline-block!important;
  background:#124b98!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:600!important;
  padding:9px 22px!important;
  border-radius:6px!important;
  text-decoration:none!important;
  margin-top:10px!important;
  transition:background .15s!important;
  font-family:'Inter',sans-serif!important;
}
a.btn:hover,.readmore a:hover{background:#0a2357!important;color:#fd9f01!important;text-decoration:none!important;}

/* Card titles */
h3.card-title,h3.card-title a{
  font-family:'Inter',sans-serif;
  font-size:16px;
  font-weight:600;
  font-style:normal;
  color:#124b98;
  text-decoration:none;
}
h3.card-title a:hover,h3.card-title a:focus{color:#fd9f01;}

/* Image in article */
#Intext-Image{padding:8px;border:2px solid #d0ddf4;margin:10px;border-radius:6px;}

/* ── FOUNDER / MIDPIC ── */
div.FounderWrapper{
  padding:120px 0 0;
  width:100%;
  background:#663 url(../images/midpic.png) top left no-repeat;
  background-size:cover;
  overflow:auto;
  margin:0 auto;
  height:303px;
}
div.FounderMenu{width:100%;height:149px;margin:0 auto;}

/* ── COUNTRIES STRIP (WhiteBottomRegion) ── */
div.WhiteBottomRegion{
  line-height:1.6;
  font-size:15px;
  width:94%;
  margin:0 auto;
  clear:both;
  color:#222;
  padding:2% 3%;
  overflow:auto;
  background:#f4f7fd;
  border-top:1px solid #d0ddf4;
  border-bottom:1px solid #d0ddf4;
}

div.WhiteBottomRegion2{
  line-height:1.6;
  font-size:15px;
  width:94%;
  margin:0 auto;
  clear:both;
  color:#222;
  padding:1% 3%;
  background:#f4f7fd;
  border-bottom:2px solid #d0ddf4;
}

/* Country sector columns */
div.WhiteBottomRegion .SectorEritrea{width:20%;padding:0 20px 0 0;float:left;}
div.WhiteBottomRegion .SectorEthiopia,
div.WhiteBottomRegion .SectorNigeria,
div.WhiteBottomRegion .SectorMozambique{width:15%;float:right;}
div.WhiteBottomRegion .SectorSouthAfrica{width:30%;padding:0 20px 0 0;float:left;}
div.WhiteBottomRegion2 .Provincialate{width:20%;padding:0 20px 0 0;float:left;}
div.WhiteBottomRegion2 .SectorKenya{width:15%;float:right;}

/* Country headings */
div.WhiteBottomRegion .SectorEthiopia h3,
div.WhiteBottomRegion .SectorEritrea h3,
div.WhiteBottomRegion2 .SectorKenya h3,
div.WhiteBottomRegion .SectorNigeria h3,
div.WhiteBottomRegion .SectorSouthAfrica h3,
div.WhiteBottomRegion .SectorMozambique h3,
div.WhiteBottomRegion2 .Provincialate h3{
  font-family:'Inter',sans-serif!important;
  font-size:12px!important;
  font-weight:700!important;
  color:#fff!important;
  background:#124b98;
  padding:7px 12px!important;
  border-radius:6px 6px 0 0!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  line-height:1.4!important;
  margin-bottom:0!important;
}

/* Country nav links */
div.WhiteBottomRegion .SectorEritrea ul.nav>li,
div.WhiteBottomRegion .SectorEthiopia ul.nav>li,
div.WhiteBottomRegion .SectorNigeria ul.nav>li,
div.WhiteBottomRegion .SectorSouthAfrica ul.nav>li,
div.WhiteBottomRegion2 .SectorKenya ul.nav>li,
div.WhiteBottomRegion .SectorMozambique ul.nav>li{
  padding:8px 0;
  border-bottom:1px dotted #cdd8f0;
  list-style:none;
  position:relative;
  padding-left:16px;
}
div.WhiteBottomRegion .SectorEritrea ul.nav>li::before,
div.WhiteBottomRegion .SectorEthiopia ul.nav>li::before,
div.WhiteBottomRegion .SectorNigeria ul.nav>li::before,
div.WhiteBottomRegion .SectorSouthAfrica ul.nav>li::before,
div.WhiteBottomRegion2 .SectorKenya ul.nav>li::before,
div.WhiteBottomRegion .SectorMozambique ul.nav>li::before{
  content:'›';position:absolute;left:4px;color:#fd9f01;font-size:16px;line-height:1.4;
}

div.WhiteBottomRegion .SectorEritrea ul.nav>li>a,
div.WhiteBottomRegion .SectorEthiopia ul.nav>li>a,
div.WhiteBottomRegion .SectorNigeria ul.nav>li>a,
div.WhiteBottomRegion .SectorSouthAfrica ul.nav>li>a,
div.WhiteBottomRegion2 .SectorKenya ul.nav>li>a,
div.WhiteBottomRegion .SectorMozambique ul.nav>li>a{
  color:#1e3a70;
  font-size:14px;
  text-decoration:none;
  transition:color .12s;
}
div.WhiteBottomRegion .SectorEritrea ul.nav>li>a:hover,
div.WhiteBottomRegion .SectorSouthAfrica ul.nav>li>a:hover,
div.WhiteBottomRegion .SectorEthiopia ul.nav>li>a:hover,
div.WhiteBottomRegion2 .SectorKenya ul.nav>li>a:hover{
  color:#124b98;text-decoration:underline;
}

div.WhiteBottomRegion ul.nav-child li,
div.WhiteBottomRegion2 ul.nav-child li{
  padding:8px 0;
  border-bottom:1px dotted #cdd8f0;
  list-style:none;
}

div.WhiteBottomRegion h4{font-size:28px;color:#124b98;font-weight:700;text-transform:capitalize;line-height:1.3;padding:8px 0;}
div.WhiteBottomRegion h3{font-size:28px;color:#124b98;font-weight:700;text-transform:uppercase;}

/* ── FOOTER ── */
div.Footer{
  width:100%;
  clear:both;
  background:#0a2357;
  margin:0 auto;
  color:#fff;
  padding:40px 3% 0;
  overflow:auto;
  box-sizing:border-box;
}

div.FooterMenu{width:50%;float:left;color:#fff;}
div.FooterContacts{width:48%;float:right;text-align:right;font-size:15px;color:#a8bce0;line-height:1.7;}

div.FooterMenu h3{
  font-family:'Inter',sans-serif!important;
  font-size:13px!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  letter-spacing:.1em!important;
  color:#c8d8f4!important;
  padding:0!important;
  margin:0 0 14px!important;
  border-bottom:1px solid rgba(255,255,255,.15)!important;
  padding-bottom:8px!important;
}

div.FooterMenu .nav{column-count:2;column-gap:30px;list-style:none;padding:0;margin:0;}
div.FooterMenu .nav>li{list-style:none;padding:6px 0;border-bottom:1px dotted rgba(255,255,255,.1);}
div.FooterMenu .nav>li>a{display:block;color:#8aaad4;font-size:14px;text-decoration:none;padding:0;font-weight:400;}
div.FooterMenu .nav>li>a:hover,div.FooterMenu .nav>li>a:focus{color:#fd9f01!important;text-decoration:underline!important;background:none!important;}

div.copyright{
  width:100%;
  clear:both;
  color:#4a6aaa;
  padding:16px 0 12px;
  margin:24px 0 0;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:12px;
}

/* ── ph-top / ph links ── */
div.ph-top,div.ph-top a{font-family:'Inter',sans-serif;font-size:16px;font-weight:600;font-style:normal;color:#fff;text-decoration:none;}

/* ── Documents / Resources ── */
div.pd-documents h3{font-family:'Inter',sans-serif;font-size:16px;font-weight:600;color:#124b98;}
div.pd-documents .pd-filename{margin:10px 0;}
.pd-filenamebox-bt{margin:10px 0!important;}
.pd-filenamebox-bt .pd-title{font-style:normal;font-weight:300!important;}
.pd-row2-bp{border-bottom:none!important;}
#pdCategoryModal button.btn-close,h5#pdCategoryModalLabel{display:none;}

/* ── FORM ── */
#userForm .rsform-input-box,
div.control-group #username,
div.control-group #password{
  width:330px;padding:8px 12px;
  border:1px solid #124b98;border-radius:6px;
  font-size:14px;font-family:'Inter',sans-serif;
}
#userForm .rsform-text-box{
  width:330px;padding:8px 12px;
  border:1px solid #124b98;border-radius:6px;
}
.rsform-block-country .inputbox{
  width:350px;padding:8px 12px;
  border:1px solid #124b98;border-radius:6px;
}
.rsform-submit-button,
div.control-group .btn,
div.formBody .rsform-submit-button{
  background:#124b98!important;color:#fff!important;
  width:auto!important;min-width:160px;padding:10px 24px!important;
  border-radius:8px!important;border:0!important;
  font-size:14px!important;font-weight:600!important;
  cursor:pointer;transition:background .2s!important;
}
div.HOMECONT #userForm{width:100%;clear:both;margin:0 auto;}

/* ── PAGINATION ── */
.pagination{display:flex;gap:4px;flex-wrap:wrap;margin:24px 0;list-style:none;padding:0;}
.pagination li a,.pagination li span{display:block;padding:7px 14px;border-radius:6px;font-size:13px;font-weight:500;color:#124b98;border:1px solid #d0ddf4;text-decoration:none;}
.pagination li.active span,.pagination li a:hover{background:#124b98;color:#fff;border-color:#124b98;}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  div.LogoRegionWrapper{flex-wrap:wrap;position:sticky;top:0;z-index:999;}
  div.LogoRegion{width:60%;}
  div.TopMenu-LogoArea{width:100%;text-align:center;margin:0;padding:8px 0;justify-content:center;}
  div.TopMenu-LogoArea .nav{flex-wrap:wrap;justify-content:center;}
  div.TopMenu-LogoArea .nav>li>a{font-size:13px;padding:6px 10px;}
  div.WhiteBottomRegion .SectorEritrea,
  div.WhiteBottomRegion .SectorEthiopia,
  div.WhiteBottomRegion .SectorNigeria,
  div.WhiteBottomRegion .SectorSouthAfrica,
  div.WhiteBottomRegion .SectorMozambique,
  div.WhiteBottomRegion2 .Provincialate,
  div.WhiteBottomRegion2 .SectorKenya{width:48%;float:left;margin-bottom:16px;}
  div.FooterMenu,div.FooterContacts{width:100%;float:none;text-align:left;margin-bottom:20px;}
}
@media(max-width:600px){
  div.BlueRapper{flex-direction:column;height:auto;padding:8px 0;}
  div.TopMenu-Blue,div.Search-Blue{width:100%;text-align:center;float:none;justify-content:center;margin:0;}
  div.WhiteBottomRegion .SectorEritrea,
  div.WhiteBottomRegion .SectorEthiopia,
  div.WhiteBottomRegion .SectorNigeria,
  div.WhiteBottomRegion .SectorSouthAfrica,
  div.WhiteBottomRegion .SectorMozambique,
  div.WhiteBottomRegion2 .Provincialate,
  div.WhiteBottomRegion2 .SectorKenya{width:100%;float:none;}
}


/* ================================================================
   CONTACT PAGE — Targeted fix
   Appended to existing Lasalle.css
   Fixes: language keys, layout, colours, phone, styling
================================================================ */

/* ── FIX COM_CONTACT language keys showing as raw text ── */
/* Hide the raw key labels and replace with readable ones */
label[for="jform_contact_name"]{font-size:0!important;display:block!important;height:auto!important;}
label[for="jform_contact_name"]::after{content:"Your Full Name *";font-size:12px;font-weight:600;color:#333;text-transform:uppercase;letter-spacing:.06em;display:block;}

label[for="jform_contact_email"]{font-size:0!important;display:block!important;height:auto!important;}
label[for="jform_contact_email"]::after{content:"Email Address *";font-size:12px;font-weight:600;color:#333;text-transform:uppercase;letter-spacing:.06em;display:block;}

label[for="jform_contact_message"]{font-size:0!important;display:block!important;height:auto!important;}
label[for="jform_contact_message"]::after{content:"Your Message *";font-size:12px;font-weight:600;color:#333;text-transform:uppercase;letter-spacing:.06em;display:block;}

/* ── CONTACT PAGE HERO BANNER ── */
.ll-contact-hero{
  background:linear-gradient(135deg,#0a2357 0%,#124b98 100%);
  padding:52px 40px 40px;
  color:#fff;
  margin-bottom:0;
}
.ll-contact-hero .eyebrow{
  font-size:11px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:#fd9f01;
  display:flex;align-items:center;gap:8px;
  margin-bottom:12px;
}
.ll-contact-hero .eyebrow::before{
  content:'';display:block;width:28px;height:2px;background:#fd9f01;
}
.ll-contact-hero h1{
  font-family:'Playfair Display',serif!important;
  font-size:clamp(26px,3.5vw,40px)!important;
  color:#fff!important;
  border:none!important;
  padding:0 0 10px!important;
  margin:0 0 10px!important;
  border-bottom:none!important;
}
.ll-contact-hero p{
  font-size:15px;color:#b8cbf0;
  max-width:520px;line-height:1.7;margin:0;
}

/* ── CONTACT TWO-COLUMN LAYOUT ── */
.ll-contact-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  max-width:1100px;
  margin:0 auto;
  padding:48px 40px;
}

/* ── FORM PANEL ── */
.ll-contact-form-panel h2{
  font-family:'Playfair Display',serif!important;
  font-size:22px!important;
  color:#124b98!important;
  text-transform:none!important;
  border-bottom:3px solid #fd9f01!important;
  padding-bottom:10px!important;
  margin-bottom:24px!important;
}

/* All form labels */
.ll-contact-form-panel label,
.ll-contact-form-panel .control-label{
  display:block!important;
  font-size:12px!important;
  font-weight:600!important;
  color:#444!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  margin-bottom:6px!important;
  font-family:'Inter',sans-serif!important;
}

/* All form inputs */
.ll-contact-form-panel input[type="text"],
.ll-contact-form-panel input[type="email"],
.ll-contact-form-panel input[type="tel"],
.ll-contact-form-panel textarea,
.ll-contact-form-panel select,
div.ll-contact-form-panel .control-group input,
div.ll-contact-form-panel .control-group textarea,
div.ll-contact-form-panel .control-group select{
  width:100%!important;
  padding:12px 14px!important;
  border:1.5px solid #c8d4ec!important;
  border-radius:7px!important;
  font-size:15px!important;
  font-family:'Inter',sans-serif!important;
  color:#222!important;
  background:#fff!important;
  margin-bottom:18px!important;
  transition:border-color .2s,box-shadow .2s!important;
  box-sizing:border-box!important;
  display:block!important;
}

.ll-contact-form-panel input:focus,
.ll-contact-form-panel textarea:focus,
.ll-contact-form-panel select:focus{
  outline:none!important;
  border-color:#124b98!important;
  box-shadow:0 0 0 3px rgba(18,75,152,.10)!important;
}

.ll-contact-form-panel textarea{
  min-height:140px!important;
  resize:vertical!important;
}

/* Submit button */
.ll-contact-form-panel button[type="submit"],
.ll-contact-form-panel input[type="submit"],
.ll-contact-form-panel .btn-primary{
  background:#124b98!important;
  color:#fff!important;
  border:none!important;
  border-radius:8px!important;
  padding:14px 32px!important;
  font-size:15px!important;
  font-weight:600!important;
  cursor:pointer!important;
  width:100%!important;
  font-family:'Inter',sans-serif!important;
  transition:background .2s!important;
  letter-spacing:.02em!important;
  margin-top:4px!important;
}
.ll-contact-form-panel button[type="submit"]:hover,
.ll-contact-form-panel input[type="submit"]:hover{
  background:#0a2357!important;
  color:#fd9f01!important;
}

/* Control groups spacing */
.ll-contact-form-panel .control-group{margin-bottom:4px;}

/* ── INFO PANEL ── */
.ll-contact-info-panel{
  background:#f4f7fd;
  border:1.5px solid #d0ddf4;
  border-radius:14px;
  padding:32px;
  height:fit-content;
}

.ll-contact-info-panel h2{
  font-family:'Playfair Display',serif!important;
  font-size:20px!important;
  color:#124b98!important;
  text-transform:none!important;
  border-bottom:3px solid #fd9f01!important;
  padding-bottom:10px!important;
  margin-bottom:24px!important;
}

.ll-contact-info-row{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-bottom:20px;
  padding-bottom:20px;
  border-bottom:1px solid #dce8f8;
}
.ll-contact-info-row:last-of-type{border-bottom:none;padding-bottom:0;}

.ll-contact-icon{
  width:40px;height:40px;
  background:#124b98;
  border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  color:#fd9f01;
  font-size:18px;
  font-weight:700;
  text-align:center;
  line-height:40px;
}

.ll-info-label{
  font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.09em;
  color:#888;display:block;margin-bottom:4px;
  font-family:'Inter',sans-serif;
}
.ll-info-val{
  color:#1a1a2e;font-size:15px;line-height:1.65;
  font-family:'Inter',sans-serif;
}
.ll-info-val a{color:#124b98;}
.ll-info-val a:hover{color:#fd9f01;text-decoration:underline;}

/* Hours table */
.ll-hours-table{width:100%;font-size:14px;border-collapse:collapse;margin-top:4px;}
.ll-hours-table td{padding:4px 0;color:#333;}
.ll-hours-table td:last-child{text-align:right;color:#124b98;font-weight:600;}

/* Map placeholder */
.ll-map-placeholder{
  background:#e8eefb;
  border:1px solid #c8d4ec;
  border-radius:10px;
  padding:20px;
  margin-top:20px;
  text-align:center;
  font-size:14px;
  color:#124b98;
  font-weight:500;
}
.ll-map-placeholder a{
  color:#124b98;
  text-decoration:underline;
  font-size:13px;
  display:block;
  margin-top:6px;
}
.ll-map-placeholder a:hover{color:#fd9f01;}

/* Social pills */
.ll-social-pills{
  display:flex;flex-wrap:wrap;gap:8px;
  margin-top:20px;padding-top:18px;
  border-top:1px solid #d0ddf4;
}
.ll-social-pill{
  display:inline-flex;align-items:center;gap:6px;
  background:#124b98;color:#fff!important;
  font-size:12px;font-weight:600;
  padding:7px 16px;border-radius:20px;
  text-decoration:none!important;
  transition:background .15s;
  font-family:'Inter',sans-serif;
}
.ll-social-pill:hover{background:#0a2357;color:#fd9f01!important;}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .ll-contact-layout{
    grid-template-columns:1fr;
    padding:32px 20px;
  }
  .ll-contact-hero{padding:40px 20px 32px;}
}
