/*
Theme Name: City Escorts Uganda Theme
Author: City Escorts Uganda
Description: Clean professional public profile directory theme for City Escorts Uganda.
Version: 4.0.0
Text Domain: city-escorts-uganda-theme
*/

:root{
  --ceu-red:#b60f2f;
  --ceu-red-dark:#8f0b24;
  --ceu-gold:#b8862c;
  --ceu-ink:#111827;
  --ceu-text:#253041;
  --ceu-muted:#6b7280;
  --ceu-line:#e5e7eb;
  --ceu-bg:#f7f7f8;
  --ceu-soft:#ffffff;
  --ceu-card:#ffffff;
  --ceu-shadow:0 10px 26px rgba(17,24,39,.06);
  --ceu-radius:14px;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--ceu-bg);
  color:var(--ceu-text);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none;}
a:visited{color:inherit;}
img{max-width:100%;height:auto;}
button,input,select,textarea{font:inherit;}
.entry-title,.page-title,h1.entry-title,header.entry-header{display:none!important;}
body.admin-bar .ceu-site-header{top:32px;}
body.ceu-no-scroll{overflow:hidden!important;}
.ceu-theme-main{max-width:1220px;margin:0 auto;padding:16px 14px 96px;}

/* Header */
.ceu-site-header{
  position:sticky;
  top:0;
  z-index:9999;
  background:#fff;
  border-bottom:1px solid var(--ceu-line);
}
.ceu-header-inner{
  max-width:1220px;
  margin:0 auto;
  padding:10px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.ceu-brand{display:flex;align-items:center;gap:10px;min-width:0;flex:0 1 auto;}
.ceu-logo-mark{
  width:38px;height:38px;border-radius:12px;background:var(--ceu-red);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;letter-spacing:.02em;flex:0 0 auto;
}
.ceu-brand-text{display:grid;gap:0;min-width:0;}
.ceu-brand-name{font-size:16px;font-weight:850;color:var(--ceu-ink);letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ceu-brand-sub{font-size:10px;font-weight:750;color:var(--ceu-muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.site-logo,.custom-logo-link{display:flex;align-items:center;max-width:230px;}
.custom-logo{max-height:42px!important;width:auto!important;object-fit:contain;}
.ceu-desktop-nav{display:none;align-items:center;justify-content:center;gap:4px;margin-left:auto;}
.ceu-desktop-nav a{display:inline-flex;align-items:center;min-height:36px;padding:8px 11px;border-radius:999px;color:#374151;font-size:13px;font-weight:750;white-space:nowrap;}
.ceu-desktop-nav a:hover{background:#f9fafb;color:var(--ceu-red);}
.ceu-header-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
.ceu-header-btn,.ceu-menu-btn{min-height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:13px;font-weight:850;white-space:nowrap;}
.ceu-header-btn{padding:8px 16px;background:var(--ceu-red);color:#fff!important;border:1px solid var(--ceu-red);}
.ceu-menu-btn{border:1px solid var(--ceu-line);background:#fff;color:var(--ceu-ink);padding:0 14px;cursor:pointer;}

/* Drawer */
.ceu-mobile-drawer{position:fixed;inset:0;z-index:99999;opacity:0;pointer-events:none;transition:opacity .16s ease;}
.ceu-mobile-drawer.is-open{opacity:1;pointer-events:auto;}
.ceu-drawer-backdrop{position:absolute;inset:0;background:rgba(17,24,39,.38);}
.ceu-drawer-panel{position:absolute;right:0;top:0;bottom:0;width:min(340px,88vw);background:#fff;box-shadow:-20px 0 44px rgba(0,0,0,.14);padding:16px;transform:translateX(105%);transition:transform .18s ease;}
.ceu-mobile-drawer.is-open .ceu-drawer-panel{transform:translateX(0);}
.ceu-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--ceu-line);font-weight:850;color:var(--ceu-ink);}
.ceu-drawer-close{border:1px solid var(--ceu-line);background:#fff;width:38px;height:38px;border-radius:999px;font-size:20px;cursor:pointer;color:var(--ceu-ink);}
.ceu-drawer-links{display:grid;gap:8px;padding-top:14px;}
.ceu-drawer-links a{display:flex;align-items:center;min-height:46px;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid var(--ceu-line);color:var(--ceu-ink)!important;font-weight:800;}
.ceu-drawer-links a:hover{border-color:#e7b7c1;background:#fff5f7;color:var(--ceu-red)!important;}

/* Front page directory top */
.ceu-directory-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,520px);
  gap:14px;
  align-items:stretch;
  margin:2px 0 12px;
}
.ceu-directory-copy,.ceu-directory-search,.ceu-directory-tabs{
  background:#fff;
  border:1px solid var(--ceu-line);
  border-radius:16px;
  box-shadow:0 8px 22px rgba(17,24,39,.045);
}
.ceu-directory-copy{padding:18px;}
.ceu-directory-copy span{display:inline-flex;color:var(--ceu-red);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;}
.ceu-directory-copy h1{margin:5px 0 5px;color:var(--ceu-ink);font-size:30px;line-height:1.1;font-weight:900;letter-spacing:-.6px;}
.ceu-directory-copy p{margin:0;max-width:780px;color:var(--ceu-muted);font-size:14px;line-height:1.55;}
.ceu-directory-search{padding:16px;display:flex;flex-direction:column;justify-content:center;}
.ceu-directory-search label{display:block;margin:0 0 7px;color:#374151;font-size:13px;font-weight:850;}
.ceu-directory-search div{display:flex;gap:8px;}
.ceu-directory-search input{flex:1;min-height:44px;border:1px solid var(--ceu-line);border-radius:12px;background:#fff;padding:0 12px;color:var(--ceu-ink);outline:none;}
.ceu-directory-search input:focus{border-color:#d98c9c;box-shadow:0 0 0 3px rgba(182,15,47,.08);}
.ceu-directory-search button{min-height:44px;border:0;border-radius:12px;background:var(--ceu-red);color:#fff;font-weight:850;padding:0 16px;cursor:pointer;}
.ceu-directory-tabs{display:flex;gap:8px;align-items:center;overflow:auto;padding:10px;margin:0 0 14px;box-shadow:none;}
.ceu-directory-tabs a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:36px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--ceu-line);color:#374151!important;font-size:13px;font-weight:800;}
.ceu-directory-tabs a:hover{border-color:#e7b7c1;color:var(--ceu-red)!important;background:#fff7f8;}

/* Legacy hero hidden in client-clean design */
.ceu-directory-hero,.ceu-home-strip{display:none!important;}

/* Footer */
.ceu-footer{background:#fff;border-top:1px solid var(--ceu-line);margin-top:38px;}
.ceu-footer-inner{max-width:1220px;margin:0 auto;padding:30px 14px 24px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:26px;}
.ceu-footer h2,.ceu-footer h3{margin:0 0 10px;color:var(--ceu-ink);font-weight:850;letter-spacing:-.2px;}
.ceu-footer h2{font-size:21px;}
.ceu-footer h3{font-size:14px;}
.ceu-footer p,.ceu-footer li{color:var(--ceu-muted);font-size:14px;line-height:1.65;}
.ceu-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.ceu-footer a{color:#374151;font-weight:760;}
.ceu-footer a:hover{color:var(--ceu-red);}
.ceu-footer-bottom{max-width:1220px;margin:0 auto;padding:15px 14px 24px;border-top:1px solid var(--ceu-line);color:#9ca3af;font-size:13px;}

/* Mobile bottom nav */
.ceu-bottom-nav{position:fixed;left:10px;right:10px;bottom:10px;z-index:9999;background:rgba(255,255,255,.97);border:1px solid var(--ceu-line);box-shadow:0 16px 34px rgba(17,24,39,.14);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:18px;padding:7px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;}
.ceu-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:50px;border-radius:13px;color:#6b7280;font-weight:850;font-size:10px;line-height:1.1;}
.ceu-bottom-nav a span{font-size:17px;line-height:1;color:inherit;}
.ceu-bottom-nav a.is-active{background:#fff1f4;color:var(--ceu-red);}

@media (min-width:980px){
  .ceu-desktop-nav{display:flex;}
  .ceu-menu-btn{display:none;}
  .ceu-bottom-nav{display:none;}
  .ceu-theme-main{padding-bottom:34px;}
}
@media (max-width:979px){
  body{padding-bottom:82px;}
  .ceu-brand-name{max-width:170px;}
}
@media (max-width:820px){
  .ceu-theme-main{padding:10px 10px 92px;}
  .ceu-header-inner{padding:8px 10px;gap:7px;}
  .ceu-logo-mark{width:34px;height:34px;border-radius:10px;font-size:11px;}
  .ceu-brand-name{font-size:14px;max-width:132px;}
  .ceu-brand-sub{display:none;}
  .ceu-header-btn,.ceu-menu-btn{min-height:36px;padding:0 11px;font-size:12px;}
  .ceu-directory-top{grid-template-columns:1fr;gap:8px;margin:0 0 8px;}
  .ceu-directory-copy{padding:14px;}
  .ceu-directory-copy h1{font-size:23px;}
  .ceu-directory-copy p{font-size:13px;}
  .ceu-directory-search{padding:12px;}
  .ceu-directory-search div{display:grid;grid-template-columns:1fr auto;gap:7px;}
  .ceu-directory-search input{min-height:40px;font-size:13px;}
  .ceu-directory-search button{min-height:40px;font-size:13px;padding:0 12px;}
  .ceu-directory-tabs{border-radius:14px;padding:8px;margin-bottom:10px;}
  .ceu-directory-tabs a{min-height:34px;font-size:12px;padding:7px 10px;}
  .ceu-footer{display:none;}
}
@media (max-width:420px){
  .ceu-brand-name{max-width:112px;font-size:13px;}
  .custom-logo{max-height:34px!important;}
}

