/*
Theme Name: Deluxe Limousine Theme
Theme URI: https://www.deluxelimohouston.com/
Author: Deluxe Limousine
Description: Custom luxury WordPress theme for Deluxe Limousine & Transportation
Version: 1.0
*/

/* =========================
   Base
========================= */

:root{
  --bg:#0b0f16;
  --bg-dark:#05070b;
  --gold:#c89b4a;
  --gold2:#e2c27d;
  --text:#ffffff;
  --muted:#cfd4dc;
  --line:rgba(255,255,255,.12);
  --shadow:0 20px 60px rgba(0,0,0,.45);
}

*{
  box-sizing:border-box;
}

html,
body{
  margin:0;
  padding:0;
  overflow-x:hidden;
}

body{
  background:var(--bg);
  color:var(--text);
  font-family:Arial, Helvetica, sans-serif;
  line-height:1.6;
  padding-top:0px;
}

img{
  max-width:100%;
  height:auto;
  display:block;
}

a{
  color:inherit;
  text-decoration:none;
}

.container{
  max-width:100%;
  margin:0 auto;
  padding:0 20px;
}

/* =========================
   Header
========================= */

.site-header{
  position:fixed;
  padding:0;
  left:0;
  width:100%;
  z-index:9999;
  background:#0f0f0f;
}

.top-header{
  display:grid;
  width:100%;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:20px;
  min-height:60px;
  padding:16px 20px;
  max-width: 100% !important;
  padding-left: 20px !important;
  padding-right: 20px !important
}

.header-logo,
.main-nav,
.header-phone,
.header-email {
  margin: 0;
  padding: 0;
  align-self: center;
}

.header-logo{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height: 120px;
  width: auto;
}

.header-phone{
  display:flex;
  align-items:center;
  justify-content:center;
}

.header-email{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

/* LOGO */
.header-logo img,
.site-logo img{
  max-height:180px !important;
  height:auto !important;
  width:auto !important;
  display:block;
}

/* CTA (PHONE + EMAIL) MADE LARGER */
.header-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:60px;
  padding:12px 22px;
  border-radius:10px;
  text-decoration:none;
  font-size:18px;
  font-weight:700;
  letter-spacing:.03em;
  transition:all .2s ease;
  box-shadow:0 10px 22px rgba(0,0,0,.25);
  white-space:nowrap;
}

.phone-cta{
  color:#111;
  background:linear-gradient(135deg,#e2c27d,#c89b4a);
  border:1px solid rgba(200,155,74,.65);
}

.phone-cta:hover{
  transform:translateY(-1px);
  filter:brightness(1.03);
}

.email-cta{
  color:#111;
  background:linear-gradient(135deg,#e2c27d,#c89b4a);
  border:1px solid rgba(200,155,74,.65);
}

.email-cta:hover{
  color:#e2c27d;
  border-color:rgba(200,155,74,.45);
  transform:translateY(-1px);
}

/* Navigation */
.mobile-menu-toggle,
.menu-toggle,
.submenu-toggle{
  display:none !important;
  appearance:none;
  -webkit-appearance:none;
}

.main-nav{
  display:flex;
  align-items:center;
  width:100%;
}

.primary-menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
}

.primary-menu > li{
  list-style:none;
  margin:0;
  padding:0;
  position:relative;
  flex:1;
  text-align:center;
}

.primary-menu > li > a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  background:linear-gradient(180deg,#171b24,#090c12);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  border-radius:10px;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
  transition:transform .2s ease,border-color .2s ease,color .2s ease,background .2s ease;
  width:100%;
}

.primary-menu > li > a:hover{
  color:#e2c27d;
  border-color:rgba(200,155,74,.45);
  transform:translateY(-1px);
}

.primary-menu > li.current-menu-item > a,
.primary-menu > li.current_page_item > a,
.primary-menu > li.current-menu-ancestor > a{
  color:#111;
  background:linear-gradient(135deg,#e2c27d,#c89b4a);
  border-color:rgba(200,155,74,.65);
}

.primary-menu .sub-menu{
  list-style:none;
  margin:10px 0 0;
  padding:10px;
  position:absolute;
  top:100%;
  left:0;
  min-width:260px;
  background:#0d1118;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  box-shadow:0 18px 40px rgba(0,0,0,.35);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
  z-index:999;
  display:block;
}

.primary-menu .sub-menu li{
  display:block;
  width:100%;
  margin:0;
  padding:0;
}

.primary-menu .sub-menu a{
  display:block;
  width:100%;
  padding:12px 14px;
  border-radius:8px;
  color:#fff;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  white-space:nowrap;
}

.primary-menu .sub-menu a:hover{
  background:rgba(200,155,74,.12);
  color:#e2c27d;
}

.primary-menu li:hover > .sub-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.primary-menu .menu-item-has-children > a::after{
  content:" ▾";
  font-size:11px;
  color:rgba(255,255,255,.75);
}



/* =========================
   Content
========================= */

.site-content{
  width:100%;
  position:relative;
  display:block;
  clear:both;
  z-index:2;
  margin-top:270px !important;
  padding-top:0 !important;
}

.site-content > *:first-child,
.content-area > *:first-child,
.entry-content > *:first-child,
.site-content .entry-content > *:first-child,
.site-content .vc_row:first-child,
.site-content .wpb_row:first-child,
.site-content .wpb_content_element:first-child,
.site-content .container:first-child,
.site-content main:first-child{
  margin-top:50px !important;
  padding-top:0 !important;
  transform:none !important;
}

/* =========================
   Bullet Items
========================= */
.luxury-list {
  list-style: none;
  padding: 0;
  margin: 20px 0;
  text-align: left;
}

.luxury-list li {
  position: relative;
  padding-left: 28px;
  margin: 12px 0;
  font-size: 18px;
  line-height: 1.6;
  color: #fff; /* changed to white */
}

.luxury-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: #c8a96b;
  font-size: 22px;
  line-height: 1.6;
}

/* INLINE VERSION */
.luxury-list-inline {
  list-style: none;
  padding: 0;
  text-align: center;
}

.luxury-list-inline li {
  display: inline-block;
  margin: 8px 15px;
  font-size: 16px;
  color: #fff; /* already white but reinforced */
}

.luxury-list-inline li::before {
  content: "•";
  color: #c8a96b;
  margin-right: 8px;
}
.wpb_content_element{
  margin-bottom:0 !important;
}
.vc_row,
.wpb_row{
  margin-bottom:0 !important;
}

.vc_row:last-child,
.wpb_row:last-child,
.wpb_content_element:last-child{
  margin-bottom:0 !important;
}
a{
  color: var(--gold);
  text-decoration:none;
}

a:hover{
  color:#ffffff;
}

.lux-btn {
  display: inline-block;
  padding: 12px 22px;
  margin: 8px 6px;
  background: linear-gradient(135deg, #c8a96b, #e2c27d);
  color: #0b0f16 !important;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
}
/* =========================
   Footer
========================= */

.site-footer{
  background:#05070b;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.08);
  padding:24px 0;
}

.site-footer p{
  margin:0;
  text-align:center;
  color:var(--muted);
}
/* =========================
   Mobile
========================= */

/* desktop/default: hide mobile controls */
.mobile-menu-toggle,
.menu-toggle,
.submenu-toggle{
  display:none !important;
  appearance:none;
  -webkit-appearance:none;
}

/* Tablet + Mobile */
@media (max-width: 991px){

  :root{
    --mobile-header-offset: 180px;
  }

  body{
    padding-top:0;
  }

  .site-header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:9999;
    background:#0f0f0f;
    box-shadow:0 8px 24px rgba(0,0,0,.25);
    max-height:100vh;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding-top:env(safe-area-inset-top);
  }

  .top-header{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:10px 15px;
    text-align:center;
  }

  .header-logo,
  .header-phone,
  .header-email{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:auto;
  }

  .header-logo{ order:1; }
  .header-phone{ order:2; }
  .header-email{ order:3; }

  .header-logo a{
    display:inline-block;
  }

  .header-logo img,
  .site-logo img{
    max-width:180px;
    max-height:none !important;
    height:auto !important;
    width:auto !important;
  }

  .header-cta{
    display:block;
    width:100%;
    max-width:300px;
    min-height:46px;
    padding:10px 14px;
    font-size:14px;
    line-height:1.2;
    text-align:center;
    border-radius:8px;
    white-space:normal;
  }

  .menu-bar,
  .menu-bar-inner,
  .main-nav,
  .main-navigation{
    width:100%;
  }

  .menu-bar{
    padding:0 15px 10px;
    box-sizing:border-box;
  }

  .menu-bar-inner{
    padding:0;
  }

  .mobile-menu-toggle,
  .menu-toggle{
    display:block !important;
    width:100%;
    max-width:300px;
    margin:0 auto;
    padding:10px 14px;
    font-size:15px;
    font-weight:700;
    color:#111;
    background:linear-gradient(135deg,#e2c27d,#c89b4a);
    border:1px solid rgba(200,155,74,.65);
    border-radius:8px;
    cursor:pointer;
    text-align:center;
    box-sizing:border-box;
  }

  /* keep nav collapsed by default */
  .main-nav,
  .main-navigation{
    display:none !important;
    margin-top:10px;
  }

  /* also hide menu list by default */
  .main-nav .primary-menu,
  .main-navigation .primary-menu{
    display:none !important;
  }

  /* show only when toggled open */
  .main-nav.active,
  .main-navigation.active,
  .main-navigation.toggled{
    display:block !important;
    max-height:calc(100vh - 220px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }

  .main-nav.active .primary-menu,
  .main-navigation.active .primary-menu,
  .main-navigation.toggled .primary-menu{
    display:flex !important;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    width:100%;
    margin:0;
    padding:0;
    list-style:none;
  }

  .primary-menu > li{
    width:100%;
    margin:0;
    padding:0;
    text-align:left;
    position:relative;
    border-bottom:1px solid rgba(255,255,255,.08);
  }

  .primary-menu > li > a{
    display:block;
    width:100%;
    min-height:auto;
    padding:13px 46px 13px 14px;
    background:linear-gradient(180deg,#171b24,#090c12);
    border:1px solid rgba(255,255,255,.12);
    border-radius:0;
    box-shadow:none;
    font-size:14px;
    text-align:left;
  }

  .primary-menu .menu-item-has-children > a::after{
    content:"";
  }

  .submenu-toggle{
    display:block !important;
    position:absolute;
    top:50%;
    right:10px;
    transform:translateY(-50%);
    width:32px;
    height:32px;
    border:none;
    border-radius:6px;
    background:#c89b4a;
    color:#111;
    font-size:18px;
    font-weight:700;
    line-height:1;
    cursor:pointer;
    padding:0;
    z-index:2;
  }

  .primary-menu .sub-menu,
  .primary-menu li ul{
    display:none !important;
    position:static !important;
    width:100%;
    min-width:100%;
    margin:0;
    padding:0;
    background:#121821;
    border:0;
    border-top:1px solid rgba(255,255,255,.08);
    border-radius:0;
    box-shadow:none;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }

  .primary-menu li.submenu-open > .sub-menu,
  .primary-menu li.submenu-open > ul{
    display:block !important;
  }

  .primary-menu .sub-menu li{
    width:100%;
    border-bottom:1px solid rgba(255,255,255,.06);
  }

  .primary-menu .sub-menu a{
    display:block;
    width:100%;
    padding:12px 14px 12px 24px;
    font-size:14px;
    white-space:normal;
    border-radius:0;
  }

  .primary-menu li:hover > .sub-menu{
    display:none !important;
  }

  .primary-menu li.submenu-open:hover > .sub-menu{
    display:block !important;
  }

  /* Proper spacing below fixed header */
  #content,
  .site-content,
  .content-area,
  main{
    margin-top:0 !important;
    padding-top:calc(var(--mobile-header-offset) + env(safe-area-inset-top)) !important;
  }

  .entry-content,
  .page-content{
    padding-top:0 !important;
  }

  .hero-section,
  .page-hero,
  .home-hero,
  .hero-banner{
    padding:0 0 20px 0 !important;
  }

}

/* Phone */
@media (max-width: 767px){
  :root{
    --mobile-header-offset: 170px;
  }

  .header-logo img,
  .site-logo img{
    max-width:170px;
  }

  .header-cta{
    max-width:280px;
    font-size:14px;
    padding:10px 12px;
  }

  .mobile-menu-toggle,
  .menu-toggle{
    max-width:280px;
    font-size:14px;
    padding:10px 12px;
  }

}

/* Small Phone */
@media (max-width: 575px){
  :root{
    --mobile-header-offset: 160px;
  }

  .header-logo img,
  .site-logo img{
    max-width:155px;
  }

  .header-cta{
    font-size:13px;
  }

  .primary-menu > li > a{
    font-size:14px;
    padding:12px 44px 12px 12px;
  }
}