/* APJ CABS shared site enhancements: services dropdown, site search, floating call + WhatsApp.
   Loaded on every page after globals.css. */

/* ---------- Dropdown menus (Services + Tariff) ---------- */
.navbar .nav-item.dropdown { position: relative; }
.navbar .nav-item.dropdown > .nav-link { display: inline-block; }
.apj-caret {
  background: none; border: 0; padding: 0 0 0 4px; margin: 0; cursor: pointer;
  color: #555; font-size: .7rem; line-height: 1; vertical-align: middle;
}
.apj-caret:hover, .apj-caret:focus-visible { color: #e63946; }
.navbar .dropdown-menu {
  min-width: 220px; box-shadow: 0 10px 28px rgba(13,27,42,.14);
  border: 1px solid #e2e8ee; border-radius: 10px; padding: 8px; margin-top: 2px;
}
.navbar .dropdown-item { border-radius: 6px; padding: 8px 12px; font-size: .92rem; font-weight: 500; white-space: normal; }
.navbar .dropdown-item i { width: 20px; margin-right: 8px; color: #e63946; text-align: center; }
.navbar .dropdown-item:hover, .navbar .dropdown-item:focus { background: #fdeceb; color: #0d1b2a; }
.navbar .nav-item.dropdown:focus-within > .dropdown-menu { display: block; }
.navbar .dropdown-menu.apj-mega { min-width: 520px; }
.navbar .nav-item:hover > .dropdown-menu.apj-mega,
.navbar .nav-item.dropdown:focus-within > .dropdown-menu.apj-mega,
.navbar .nav-item.dropdown.open > .dropdown-menu.apj-mega { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 8px; }
.navbar .apj-mega .apj-mega-all { grid-column: 1 / -1; border-top: 1px solid #eef1f4; margin-top: 4px; padding-top: 4px; }
.navbar .apj-mega .apj-mega-all a { font-weight: 700; color: #e63946; }

@media (max-width: 991.98px) {
  .navbar .nav-item { margin-left: 0; }
  .navbar .nav-item:hover > .dropdown-menu { display: none; }
  .navbar .nav-item.dropdown.open > .dropdown-menu { display: block; }
  .navbar .dropdown-menu, .navbar .dropdown-menu.apj-mega {
    position: static; min-width: 0; box-shadow: none; border: 0; border-left: 3px solid #fdeceb;
    border-radius: 0; margin: 2px 0 6px 12px; padding: 2px 0;
  }
  .navbar .nav-item.dropdown.open > .dropdown-menu.apj-mega { display: block; grid-template-columns: none; }
  .navbar .nav-item:hover > .dropdown-menu.apj-mega { display: none; }
  .navbar .nav-item.dropdown.open:hover > .dropdown-menu.apj-mega { display: block; }
  .navbar .nav-item.dropdown > .nav-link { padding-right: 0; }
  .apj-caret { padding: 10px 14px; font-size: .85rem; }
  .navbar .nav-item.dropdown { display: flex; flex-wrap: wrap; align-items: center; }
  .navbar .nav-item.dropdown > .dropdown-menu { flex: 0 0 100%; }
}

/* ---------- Search ---------- */
.apj-search-toggle {
  background: none; border: 1px solid #d5dce3; border-radius: 999px; color: #0d1b2a; cursor: pointer;
  display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; font-weight: 600; font-size: .9rem;
  font-family: inherit; transition: background .2s, color .2s, border-color .2s;
}
.apj-search-toggle:hover, .apj-search-toggle[aria-expanded="true"] { background: #e63946; border-color: #e63946; color: #fff; }
.apj-search-li { margin-left: 15px; display: flex; align-items: center; }
.apj-search-toggle-m { display: none; margin-left: auto; margin-right: 10px; padding: 8px 11px; }
@media (max-width: 991.98px) {
  .apj-search-li { display: none; }
  .apj-search-toggle-m { display: inline-flex; }
  .navbar > .container { flex-wrap: wrap; }
}
.apj-search-panel { background: #fff; border-bottom: 1px solid #e2e8ee; box-shadow: 0 12px 28px rgba(13,27,42,.12); position: relative; z-index: 1050; }
.apj-search-panel[hidden] { display: none; }
.apj-search-inner { max-width: 760px; margin: 0 auto; padding: 14px 16px 16px; position: relative; }
.apj-search-form { display: flex; align-items: center; gap: 10px; border: 2px solid #0d1b2a; border-radius: 12px; padding: 0 12px; background: #fff; }
.apj-search-form:focus-within { border-color: #e63946; box-shadow: 0 0 0 4px rgba(230,57,70,.15); }
.apj-search-form > i { color: #6b7785; }
.apj-search-form input[type="search"] { flex: 1; border: 0; outline: 0; padding: 13px 4px; font-size: 1rem; font-family: inherit; background: transparent; min-width: 0; }
.apj-search-form button { background: none; border: 0; cursor: pointer; font-size: 1.1rem; color: #6b7785; padding: 6px; }
.apj-search-form button.apj-search-go { background: #e63946; color: #fff; border-radius: 8px; font-size: .9rem; font-weight: 700; padding: 8px 14px; }
.apj-suggest { list-style: none; margin: 8px 0 0; padding: 0; max-height: min(60vh, 460px); overflow-y: auto; }
.apj-suggest .apj-sg-head { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: #6b7785; padding: 10px 8px 4px; font-weight: 700; }
.apj-suggest a { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: 10px; color: #0d1b2a; text-decoration: none; }
.apj-suggest a:hover, .apj-suggest a.active { background: #fdeceb; }
.apj-suggest img { width: 64px; height: 44px; object-fit: contain; background: #f4f6f8; border-radius: 6px; flex: none; }
.apj-suggest .apj-sg-ico { width: 64px; height: 44px; flex: none; display: flex; align-items: center; justify-content: center; background: #f4f6f8; border-radius: 6px; color: #6b7785; }
.apj-suggest .apj-sg-text { min-width: 0; flex: 1; }
.apj-suggest .apj-sg-title { font-weight: 600; font-size: .95rem; line-height: 1.25; }
.apj-suggest .apj-sg-meta { font-size: .8rem; color: #6b7785; }
.apj-suggest mark { background: #ffe8a3; color: inherit; padding: 0 1px; border-radius: 2px; }
.apj-suggest .apj-sg-all a { justify-content: center; font-weight: 700; color: #e63946; border: 1px dashed #f1b4b9; margin-top: 6px; }
.apj-suggest .apj-sg-empty { padding: 14px 8px; color: #555; font-size: .92rem; }

/* Search results page */
.apj-results-wrap { max-width: 1100px; margin: 0 auto; padding: 34px 16px 60px; font-family: 'Sora', sans-serif; }
.apj-results-wrap h1 { font-size: 1.7rem; color: #0d1b2a; margin-bottom: 6px; }
.apj-results-count { color: #6b7785; margin-bottom: 18px; }
.apj-results-wrap .apj-search-form { max-width: 640px; margin: 14px 0 18px; }
.apj-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
.apj-chip { border: 1px solid #d5dce3; background: #fff; border-radius: 999px; padding: 6px 14px; font-size: .85rem; cursor: pointer; font-family: inherit; color: #0d1b2a; }
.apj-chip.active { background: #0d1b2a; color: #fff; border-color: #0d1b2a; }
.apj-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.apj-card { display: flex; flex-direction: column; border: 1px solid #e2e8ee; border-radius: 12px; overflow: hidden; text-decoration: none; color: #0d1b2a; background: #fff; transition: transform .2s, box-shadow .2s; }
.apj-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(13,27,42,.12); color: #0d1b2a; }
.apj-card .apj-card-img { aspect-ratio: 16/10; background: #f4f6f8; display: flex; align-items: center; justify-content: center; color: #9aa5b1; font-size: 2rem; }
.apj-card img { width: 100%; height: 100%; object-fit: contain; }
.apj-card .apj-card-body { padding: 14px 16px 16px; }
.apj-card .apj-tag { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #e63946; }
.apj-card h3 { font-size: 1.02rem; margin: 4px 0; }
.apj-card .apj-price { color: #555; font-size: .88rem; }
.apj-noresult { background: #f8fafc; border: 1px solid #e2e8ee; border-radius: 12px; padding: 22px; }
.apj-noresult a { color: #007bff; }
@media (max-width: 900px) { .apj-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .apj-grid { grid-template-columns: 1fr; } .apj-results-wrap h1 { font-size: 1.4rem; } }

/* ---------- Floating Call + WhatsApp (every page) ---------- */
.apj-float { position: fixed; right: 16px; bottom: 22px; z-index: 1000; display: flex; flex-direction: column; gap: 12px; align-items: flex-end; }
.apj-float a {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; text-decoration: none;
  color: #fff !important; font-family: 'Sora', sans-serif; font-weight: 600; font-size: .95rem;
  height: 52px; min-width: 52px; padding: 0 20px; border-radius: 999px;
  box-shadow: 0 6px 18px rgba(0,0,0,.25); transition: transform .2s, box-shadow .2s, filter .2s;
}
.apj-float a:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.3); filter: brightness(1.05); }
.apj-float a i { font-size: 1.35rem; }
.apj-float .apj-wa { background: #25D366; }
.apj-float .apj-call { background: #0d1b2a; }
.apj-float .apj-wa::after { content: ""; position: absolute; }
@media (max-width: 767px) {
  .apj-float { right: 12px; bottom: 16px; gap: 10px; }
  .apj-float a { width: 50px; height: 50px; padding: 0; }
  .apj-float a span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
/* the old per-page floating buttons are replaced by .apj-float */
.btn-whatsapp-pulse, .btn-whatsapp-pulse-border, .contact-buttons, .wa-float { display: none !important; }
/* keep the back-to-top button clear of the floating buttons */
#scroll-top.scroll-top { right: auto; left: 16px; bottom: 22px; }

/* In-page WhatsApp / Call buttons: consistent brand colours everywhere */
.whatsapp-btn, .cta-whatsapp { background: #25D366 !important; color: #fff !important; border-color: #25D366 !important; }
.whatsapp-btn:hover, .cta-whatsapp:hover { background: #1ebe5b !important; color: #fff !important; }

.apj-search-form input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; display: none; }
.navbar .apj-caret, .navbar .apj-caret:hover, .navbar .apj-caret:focus, .navbar .apj-caret:active { background: transparent !important; box-shadow: none !important; outline: none; border-radius: 6px; }
.navbar .apj-caret:focus-visible { outline: 2px solid #e63946; }

/* ---------- Tariff page ---------- */
.tf-hero{background:linear-gradient(135deg,#13264d,#1f3d7a);color:#fff;padding:48px 0 40px}
.tf-hero h1{font-size:clamp(26px,4.5vw,42px);font-weight:700;line-height:1.2;margin:10px 0 14px}
.tf-hero h1 span{color:#ffb4ba;display:block;font-size:.7em;font-weight:600;margin-top:4px}
.tf-hero p{max-width:760px;opacity:.92;font-size:16px;margin-bottom:20px}
.tf-crumb{font-size:14px;opacity:.85}.tf-crumb a{color:#fff;text-decoration:underline}.tf-crumb span{margin:0 4px}
.tf-hero-actions{display:flex;flex-wrap:wrap;gap:10px}
.tf-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;border:1px solid transparent;cursor:pointer;min-height:44px}
.tf-btn-wa{background:#25d366;color:#fff!important}.tf-btn-wa:hover{background:#1ebe5a}
.tf-btn-call{background:#fff;color:#13264d!important}
.tf-btn-ghost{background:#fff;color:#13264d;border-color:#c9d2e3}.tf-btn-ghost:hover{background:#eef2fa}
.tf-tools{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #e3e8f1;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.tf-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0}
.tf-search{display:flex;align-items:center;gap:8px;border:1px solid #c9d2e3;border-radius:999px;padding:0 14px;background:#fff;flex:1 1 240px;max-width:340px;min-height:44px}
.tf-search input{border:0;outline:0;width:100%;font-size:15px;background:transparent}
.tf-chips{display:flex;flex-wrap:wrap;gap:8px;flex:2 1 320px}
.tf-chip{border:1px solid #c9d2e3;background:#fff;color:#13264d;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;cursor:pointer;min-height:40px}
.tf-chip.active{background:#13264d;color:#fff;border-color:#13264d}
.tf-export{display:flex;gap:8px;margin-left:auto}
.tf-main{background:#f6f8fc;padding:32px 0 48px}
.tf-block{margin-bottom:36px;scroll-margin-top:90px}
.tf-block h2,.tf-notes h2,.tf-faqs h2,.tf-cta h2{font-size:24px;font-weight:700;color:#13264d;margin-bottom:6px}
.tf-intro{color:#55627a;margin-bottom:14px}
.tf-wrap{background:#fff;border:1px solid #e3e8f1;border-radius:14px;overflow:hidden}
.tf-table{width:100%;border-collapse:collapse;font-size:15px}
.tf-table th{background:#13264d;color:#fff;text-align:center;padding:12px 10px;font-weight:600;white-space:nowrap}
.tf-table th:first-child,.tf-table td:first-child{text-align:left;padding-left:16px}
.tf-table td{padding:12px 10px;text-align:center;border-top:1px solid #edf0f6}
.tf-table tbody tr:nth-child(even){background:#f9fafd}.tf-table tbody tr:hover{background:#eef3fc}
.tf-table td a{color:#13264d;font-weight:600;text-decoration:none}.tf-table td a:hover{text-decoration:underline}
.tf-table td.price{font-weight:700;color:#0b6b2e}
.tf-table td.na{color:#9aa4b8;font-weight:600}
.tf-empty{text-align:center;padding:30px;background:#fff;border-radius:12px}
.tf-notes,.tf-faqs{background:#fff;border:1px solid #e3e8f1;border-radius:14px;padding:22px;margin-bottom:24px}
.tf-notes ul{margin:8px 0 0;padding-left:20px}.tf-notes li{margin-bottom:6px}
.tf-faq{border-top:1px solid #edf0f6;padding:12px 0}.tf-faq summary{cursor:pointer;font-weight:600;color:#13264d}
.tf-faq p{margin:8px 0 0;color:#3d4a63}
.tf-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;background:#13264d;color:#fff;border-radius:14px;padding:24px}
.tf-cta h2{color:#fff}.tf-cta p{margin:0;opacity:.9}
@media (max-width:768px){
  .tf-hero{padding:32px 0 28px}
  .tf-export{margin-left:0}
  .tf-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .tf-chip{white-space:nowrap}
  .tf-search{max-width:none}
  .tf-wrap{background:transparent;border:0;border-radius:0}
  .tf-table,.tf-table tbody,.tf-table tr,.tf-table td{display:block;width:100%}
  .tf-table thead{position:absolute;left:-9999px}
  .tf-table tbody tr{background:#fff!important;border:1px solid #e3e8f1;border-radius:14px;margin-bottom:12px;padding:6px 0;overflow:hidden}
  .tf-table td{display:flex;justify-content:space-between;gap:12px;text-align:right!important;border:0;padding:8px 16px}
  .tf-table td::before{content:attr(data-label);font-weight:600;color:#55627a;text-align:left}
  .tf-table td:first-child{display:block;text-align:left!important;background:#eef3fc;font-size:17px;padding:10px 16px;margin-bottom:4px}
  .tf-table td:first-child::before{content:none}
}

/* ---------- Side menu ---------- */
.apj-side-tab{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:1040;background:#13264d;color:#fff;border:0;border-radius:0 10px 10px 0;padding:12px 9px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.apj-side-tab span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:13px;font-weight:600;letter-spacing:.3px}
.apj-side-backdrop{position:fixed;inset:0;background:rgba(10,20,40,.45);z-index:1049}
.apj-side-panel{position:fixed;left:0;top:0;bottom:0;width:min(310px,86vw);background:#fff;z-index:1050;transform:translateX(-102%);transition:transform .25s ease;display:flex;flex-direction:column;box-shadow:6px 0 24px rgba(0,0,0,.2)}
.apj-side.open .apj-side-panel{transform:none}
.apj-side-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #e3e8f1;color:#13264d}
.apj-side-close{border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#13264d}
.apj-side-panel ul{list-style:none;margin:0;padding:8px 0;overflow-y:auto;flex:1}
.apj-side-panel ul a{display:block;padding:11px 20px;color:#2b3752;text-decoration:none;border-left:4px solid transparent;font-size:15px}
.apj-side-panel ul a:hover{background:#f2f5fb}
.apj-side-panel ul a.active{border-left-color:#f13141;background:#eef3fc;color:#13264d;font-weight:700}
.apj-side-quick{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px;border-top:1px solid #e3e8f1}
.apj-side-quick a{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 6px;border-radius:10px;background:#eef3fc;color:#13264d;text-decoration:none;font-weight:600;font-size:14px}
.apj-side-quick a.wa{background:#25d366;color:#fff}
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:80px}
@media (max-width:576px){.apj-side-tab{padding:10px 7px}}

/* ---------- Fleet gallery: balanced 2/3/4-image layouts ---------- */
.pricing-image{align-items:stretch}
.pricing-image .car-detail-image{aspect-ratio:4/3;height:auto!important;object-fit:cover}
.pricing-image .car-detail-image:last-child:nth-child(odd){grid-column:1/-1;aspect-ratio:16/9}
.pricing-image .car-detail-image:only-child{aspect-ratio:4/3}
.tf-hero p{margin-bottom:24px!important}
@media (max-width:768px){.apj-side-tab{top:auto;bottom:96px;transform:none;flex-direction:row;padding:9px 12px;border-radius:0 999px 999px 0}.apj-side-tab span{writing-mode:horizontal-tb;transform:none}}
