

/* Patch 040: desktop guard */
.mobile-bottom-nav{
  display:none;
}
.mobile-bottom-nav svg{
  width:24px;
  height:24px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media(max-width:768px){
  .mobile-bottom-nav{
    display:grid!important;
  }

  /* Six shortcuts become an exact 3 × 2 app grid */
  .home-services{
    padding:0 14px!important;
    margin-top:-48px!important;
    position:relative;
    z-index:25;
  }

  .home-services .services-row{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,112px)!important;
    gap:10px!important;
    overflow:visible!important;
    padding:12px!important;
    border:1px solid rgba(214,226,218,.95)!important;
    border-radius:25px!important;
    background:rgba(255,255,255,.96)!important;
    box-shadow:0 18px 45px rgba(10,52,35,.14)!important;
    backdrop-filter:blur(18px)!important;
  }

  .home-services .service-card{
    min-width:0!important;
    min-height:0!important;
    height:112px!important;
    padding:10px 5px!important;
    border:1px solid #e0e9e3!important;
    border-radius:18px!important;
    background:linear-gradient(180deg,#fff,#f8fbf9)!important;
    box-shadow:0 8px 20px rgba(13,61,40,.07)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
  }

  .home-services .service-icon{
    width:45px!important;
    height:45px!important;
    border-radius:14px!important;
  }

  .home-services .service-icon svg{
    width:23px!important;
    height:23px!important;
  }

  .home-services .service-card b{
    font-size:11.5px!important;
    line-height:1.45!important;
    text-align:center!important;
    white-space:nowrap;
  }

  /* Working hamburger button */
  .mobile-menu-btn{
    width:43px!important;
    height:43px!important;
    border:0!important;
    border-radius:14px!important;
    background:#edf6f0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    gap:4px!important;
    padding:0!important;
    cursor:pointer;
  }

  .mobile-menu-btn span{
    width:19px;
    height:2px;
    border-radius:99px;
    background:#0f6842;
    transition:transform .22s ease,opacity .22s ease;
  }

  .mobile-menu-btn.is-open span:nth-child(1){
    transform:translateY(6px) rotate(45deg);
  }
  .mobile-menu-btn.is-open span:nth-child(2){
    opacity:0;
  }
  .mobile-menu-btn.is-open span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg);
  }

  /* Center CTA now visibly says advisor */
  .mobile-bottom-nav a.main.consultant-nav{
    width:66px!important;
    height:66px!important;
    min-height:66px!important;
    margin-top:-29px!important;
    border-radius:21px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:1px!important;
    color:#073b11!important;
  }

  .mobile-bottom-nav a.main.consultant-nav .mobile-nav-icon{
    width:29px!important;
    height:29px!important;
  }

  .mobile-bottom-nav a.main.consultant-nav>span:last-child{
    display:block!important;
    font-size:8.5px!important;
    line-height:1!important;
    color:#073b11!important;
    font-weight:900!important;
  }
}

@media(max-width:390px){
  .home-services{
    padding-inline:9px!important;
  }

  .home-services .services-row{
    gap:7px!important;
    padding:9px!important;
    grid-template-rows:repeat(2,105px)!important;
  }

  .home-services .service-card{
    height:105px!important;
  }

  .home-services .service-card b{
    font-size:10.5px!important;
  }
}


:root{
  --app-green:#0f4a35;
  --app-lime:#28dd18;
  --app-surface:#ffffff;
  --app-muted:#728078;
  --app-shadow:0 10px 35px rgba(12,52,36,.12);
}

html{
  scroll-behavior:smooth;
  background:#f6f8f7;
}

body.front-body{
  overflow-x:hidden;
  -webkit-tap-highlight-color:transparent;
}

@media(max-width:768px){
  body.front-body{
    padding-bottom:calc(84px + env(safe-area-inset-bottom));
    background:#f6f8f7;
  }

  .site-header{
    position:sticky;
    top:0;
    z-index:200;
    backdrop-filter:blur(18px);
    background:rgba(255,255,255,.92);
    padding-top:env(safe-area-inset-top);
  }

  .site-header .container.nav{
    min-height:66px;
    padding:8px 14px;
    gap:10px;
  }

  .site-header .brand{
    min-width:0;
    gap:8px;
  }

  .header-logo-image{
    width:54px;
    height:44px;
    border-radius:12px;
  }

  .brand-text b{
    font-size:15px;
  }

  .brand-text small{
    display:block;
    font-size:10px;
    max-width:150px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .desktop-nav,
  .nav-actions .register-link,
  .nav-actions .btn-pill{
    display:none!important;
  }

  .nav-actions{
    display:flex;
    align-items:center;
    gap:8px;
  }

  .user-link,
  .menu-toggle{
    width:42px;
    height:42px;
    display:grid!important;
    place-items:center;
    border-radius:13px;
    background:#edf5ef;
    color:var(--app-green);
    font-size:0;
    text-decoration:none;
    border:1px solid #dde8e1;
  }

  .user-link::before{
    content:"👤";
    font-size:18px;
  }

  .menu-toggle::before{
    content:"☰";
    font-size:20px;
  }

  .mobile-menu{
    position:fixed;
    inset:auto 12px calc(82px + env(safe-area-inset-bottom)) 12px;
    max-height:calc(100vh - 160px);
    overflow:auto;
    background:rgba(255,255,255,.98);
    border:1px solid #dfe8e2;
    border-radius:22px;
    box-shadow:0 20px 60px rgba(6,35,23,.18);
    padding:10px;
    z-index:500;
    transform:translateY(20px);
    opacity:0;
    pointer-events:none;
    transition:.25s ease;
  }

  .mobile-menu.open{
    transform:translateY(0);
    opacity:1;
    pointer-events:auto;
  }

  .mobile-menu a{
    display:flex;
    align-items:center;
    min-height:48px;
    padding:12px 14px;
    border-radius:14px;
    color:#173d2a;
    text-decoration:none;
    font-weight:800;
  }

  .mobile-menu a:active{
    background:#edf6ef;
    transform:scale(.99);
  }

  .mobile-bottom-nav{
    position:fixed;
    right:10px;
    left:10px;
    bottom:calc(8px + env(safe-area-inset-bottom));
    z-index:450;
    min-height:64px;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    align-items:center;
    gap:4px;
    padding:7px 8px;
    border-radius:22px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(210,226,216,.95);
    box-shadow:0 15px 45px rgba(10,53,34,.2);
    backdrop-filter:blur(20px);
  }

  .mobile-bottom-nav a{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    min-height:50px;
    color:#6e7d74;
    font-size:10px;
    font-weight:800;
    text-decoration:none;
    border-radius:14px;
    transition:.2s ease;
  }

  .mobile-bottom-nav a::before{
    font-size:18px;
    line-height:1;
  }

  .mobile-bottom-nav a:nth-child(1)::before{content:"⌂"}
  .mobile-bottom-nav a:nth-child(2)::before{content:"🚘"}
  .mobile-bottom-nav a:nth-child(3)::before{content:"＋"}
  .mobile-bottom-nav a:nth-child(4)::before{content:"🏢"}
  .mobile-bottom-nav a:nth-child(5)::before{content:"👤"}

  .mobile-bottom-nav a.main{
    width:54px;
    height:54px;
    min-height:54px;
    justify-self:center;
    align-self:end;
    margin-top:-20px;
    border-radius:18px;
    background:linear-gradient(145deg,#2ce01b,#1fb810);
    color:#073b11;
    box-shadow:0 10px 25px rgba(40,221,24,.35);
    border:4px solid #f6f8f7;
  }

  .mobile-bottom-nav a.main::before{
    font-size:24px;
    font-weight:900;
  }

  .mobile-bottom-nav a.main span{
    display:none;
  }

  .mobile-bottom-nav a.active,
  .mobile-bottom-nav a:active{
    color:var(--app-green);
    background:#edf6ef;
  }

  .hero,
  .home-hero,
  .showroom-directory-hero,
  .auth-page,
  .account-shell,
  .showroom-shell,
  .public-ad-page,
  .public-showroom{
    border-radius:0!important;
  }

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

  input,
  select,
  textarea,
  button{
    font-size:16px!important;
  }

  .site-footer{
    margin-bottom:0;
  }

  .site-footer .container,
  .site-footer .footer-grid{
    padding-right:16px;
    padding-left:16px;
  }

  .footer-brand{
    align-items:flex-start;
  }

  .footer-logo-image{
    width:64px;
    height:50px;
    border-radius:14px;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr!important;
    gap:24px 16px!important;
  }

  .footer-brand{
    grid-column:1/-1;
  }

  .site-footer section h3{
    font-size:14px;
  }

  .site-footer a,
  .site-footer p{
    font-size:12px;
  }

  .promo-art.has-image img{
    min-height:220px!important;
    object-fit:cover;
  }
}

@media(max-width:420px){
  .brand-text small{
    display:none;
  }

  .footer-grid{
    grid-template-columns:1fr!important;
  }

  .site-footer section{
    grid-column:auto;
  }

  .mobile-bottom-nav{
    right:8px;
    left:8px;
  }

  .mobile-bottom-nav a{
    font-size:9px;
  }
}


@media(max-width:768px){
  .latest-cars-section{
    overflow:hidden;
  }
  .latest-cars-shell{
    margin-right:0;
    margin-left:0;
  }
  .latest-car-slide{
    min-width:0;
  }
  .latest-car-slide .car-card-body{
    padding:16px;
  }
}


@media(max-width:768px){
  .mobile-bottom-nav{
    right:12px!important;
    left:12px!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    min-height:70px!important;
    padding:8px 7px!important;
    border-radius:24px!important;
    background:
      linear-gradient(180deg,rgba(255,255,255,.98),rgba(245,250,247,.97))!important;
    border:1px solid rgba(194,217,203,.9)!important;
    box-shadow:
      0 20px 50px rgba(10,48,33,.24),
      inset 0 1px 0 rgba(255,255,255,.9)!important;
    backdrop-filter:blur(22px) saturate(140%)!important;
  }

  .mobile-bottom-nav a{
    min-width:0;
    min-height:54px!important;
    padding:6px 3px!important;
    gap:4px!important;
    border-radius:15px!important;
    color:#75837b!important;
    font-size:10px!important;
    transition:transform .2s ease,background .2s ease,color .2s ease!important;
  }

  .mobile-bottom-nav a::before{
    content:none!important;
  }

  .mobile-nav-icon{
    width:27px;
    height:27px;
    display:grid;
    place-items:center;
  }

  .mobile-nav-icon svg{
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mobile-bottom-nav a.active{
    color:#0f6842!important;
    background:#e9f6ed!important;
  }

  .mobile-bottom-nav a.active::after{
    content:"";
    position:absolute;
    bottom:3px;
    width:18px;
    height:3px;
    border-radius:99px;
    background:#28dd18;
  }

  .mobile-bottom-nav a.main{
    width:58px!important;
    height:58px!important;
    min-height:58px!important;
    margin-top:-24px!important;
    border-radius:19px!important;
    color:#073b11!important;
    background:linear-gradient(145deg,#33e720,#1fc711)!important;
    border:5px solid #f6f8f7!important;
    box-shadow:
      0 13px 28px rgba(38,211,23,.38),
      inset 0 1px 0 rgba(255,255,255,.45)!important;
  }

  .mobile-bottom-nav a.main .mobile-nav-icon{
    width:30px;
    height:30px;
  }

  .mobile-bottom-nav a.main .mobile-nav-icon svg{
    width:28px;
    height:28px;
    stroke-width:2.3;
  }

  .mobile-bottom-nav a.main>span:last-child{
    display:none!important;
  }

  .home-services{
    padding-inline:0!important;
  }

  .home-services .services-row{
    display:flex!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:10px!important;
    padding:5px 14px 13px!important;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }

  .home-services .services-row::-webkit-scrollbar{
    display:none;
  }

  .home-services .service-card{
    flex:0 0 112px!important;
    min-height:108px!important;
    border:1px solid #e1ebe5!important;
    border-radius:18px!important;
    background:#fff!important;
    scroll-snap-align:start;
    box-shadow:0 10px 26px rgba(13,61,40,.08);
  }

  .home-services .service-icon{
    width:46px!important;
    height:46px!important;
    border-radius:14px!important;
  }

  .home-services .service-icon svg{
    width:24px!important;
    height:24px!important;
  }

  .home-services .service-card b{
    font-size:12px!important;
  }

  /* Mobile ads become a horizontal card rail instead of a long vertical stack */
  .latest-cars-section{
    overflow:visible!important;
    padding-inline:0!important;
  }

  .latest-cars-section .section-head{
    padding-inline:16px;
  }

  .latest-cars-shell{
    background:transparent!important;
    padding:0!important;
    border-radius:0!important;
    overflow:visible!important;
  }

  .latest-cars-viewport{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:2px 16px 18px!important;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:16px;
    scrollbar-width:none;
    touch-action:pan-x!important;
  }

  .latest-cars-viewport::-webkit-scrollbar{
    display:none;
  }

  .latest-cars-track{
    width:max-content!important;
    display:flex!important;
    gap:14px!important;
    transform:none!important;
    transition:none!important;
  }

  .latest-car-slide{
    flex:0 0 min(82vw,330px)!important;
    width:min(82vw,330px)!important;
    scroll-snap-align:start;
    border:1px solid #e1e9e4;
    box-shadow:0 12px 30px rgba(11,55,36,.11)!important;
  }

  .latest-car-slide .car-image{
    height:210px!important;
  }

  .latest-cars-arrow,
  .latest-cars-dots{
    display:none!important;
  }

  .latest-car-slide:hover{
    transform:none!important;
  }
}

@media(max-width:420px){
  .latest-car-slide{
    flex-basis:84vw!important;
    width:84vw!important;
  }
}



/* Patch 040: desktop guard */
.mobile-bottom-nav{
  display:none;
}
.mobile-bottom-nav svg{
  width:24px;
  height:24px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media(max-width:768px){
  .mobile-bottom-nav{
    display:grid!important;
  }

  /* Six shortcuts become an exact 3 × 2 app grid */
  .home-services{
    padding:0 14px!important;
    margin-top:-48px!important;
    position:relative;
    z-index:25;
  }

  .home-services .services-row{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,112px)!important;
    gap:10px!important;
    overflow:visible!important;
    padding:12px!important;
    border:1px solid rgba(214,226,218,.95)!important;
    border-radius:25px!important;
    background:rgba(255,255,255,.96)!important;
    box-shadow:0 18px 45px rgba(10,52,35,.14)!important;
    backdrop-filter:blur(18px)!important;
  }

  .home-services .service-card{
    min-width:0!important;
    min-height:0!important;
    height:112px!important;
    padding:10px 5px!important;
    border:1px solid #e0e9e3!important;
    border-radius:18px!important;
    background:linear-gradient(180deg,#fff,#f8fbf9)!important;
    box-shadow:0 8px 20px rgba(13,61,40,.07)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
  }

  .home-services .service-icon{
    width:45px!important;
    height:45px!important;
    border-radius:14px!important;
  }

  .home-services .service-icon svg{
    width:23px!important;
    height:23px!important;
  }

  .home-services .service-card b{
    font-size:11.5px!important;
    line-height:1.45!important;
    text-align:center!important;
    white-space:nowrap;
  }

  /* Working hamburger button */
  .mobile-menu-btn{
    width:43px!important;
    height:43px!important;
    border:0!important;
    border-radius:14px!important;
    background:#edf6f0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    gap:4px!important;
    padding:0!important;
    cursor:pointer;
  }

  .mobile-menu-btn span{
    width:19px;
    height:2px;
    border-radius:99px;
    background:#0f6842;
    transition:transform .22s ease,opacity .22s ease;
  }

  .mobile-menu-btn.is-open span:nth-child(1){
    transform:translateY(6px) rotate(45deg);
  }
  .mobile-menu-btn.is-open span:nth-child(2){
    opacity:0;
  }
  .mobile-menu-btn.is-open span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg);
  }

  /* Center CTA now visibly says advisor */
  .mobile-bottom-nav a.main.consultant-nav{
    width:66px!important;
    height:66px!important;
    min-height:66px!important;
    margin-top:-29px!important;
    border-radius:21px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:1px!important;
    color:#073b11!important;
  }

  .mobile-bottom-nav a.main.consultant-nav .mobile-nav-icon{
    width:29px!important;
    height:29px!important;
  }

  .mobile-bottom-nav a.main.consultant-nav>span:last-child{
    display:block!important;
    font-size:8.5px!important;
    line-height:1!important;
    color:#073b11!important;
    font-weight:900!important;
  }
}

@media(max-width:390px){
  .home-services{
    padding-inline:9px!important;
  }

  .home-services .services-row{
    gap:7px!important;
    padding:9px!important;
    grid-template-rows:repeat(2,105px)!important;
  }

  .home-services .service-card{
    height:105px!important;
  }

  .home-services .service-card b{
    font-size:10.5px!important;
  }
}
