/* Dubai Safaris (CityTours Demo) — child theme styles.
   Loaded after the CityTours demo CSS and the scoped live-site CSS. */

/* ---- Harmonise the live-site components with the CityTours look ---- */
:root {
  --font-sans: "Montserrat", Arial, sans-serif;
  --color-primary: #e04f67;          /* CityTours accent */
  --color-primary-active: #c43a52;
  --color-primary-disabled: #f3c4cc;
}
.ds-content { font-family: var(--font-sans); color: var(--color-ink); line-height: 1.5; }
.ds-content h1, .ds-content h2, .ds-content h3, .ds-content h4 { font-family: var(--font-sans); text-transform: none; }
.ds-content .btn { text-decoration: none; }
.ds-content .btn-primary, .ds-content .btn-pill { background: var(--color-primary); color: #fff; }
.ds-content .btn-primary:hover, .ds-content .btn-pill:hover { background: #333; color: #fff; }

/* ---- Layout under the CityTours plain header ---- */
.ds-main { background: #fff; position: relative; padding-top: 118px; padding-bottom: 40px; }
@media (max-width: 991px) { .ds-main { padding-top: 76px; } }

/* ---- Header ---- */
header#plain { position: fixed; top: 0; left: 0; width: 100%; z-index: 999; }
#logo_home.ds-logo-wrap { margin-top: 4px; }
#logo_home .ds-logo { display: inline-block; line-height: 0; }
#logo_home .ds-logo img { height: 44px; width: auto; }
header.sticky #logo_home .ds-logo img { height: 38px; }
.ds-topbar-contact a { color: inherit; margin-right: 18px; }
.ds-topbar-contact i { margin-right: 4px; }
@media (max-width: 767px) { .ds-hide-sm { display: none; } #logo_home .ds-logo img { height: 36px; } }
.main-menu .megamenu .menu-wrapper h3 { font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }

/* ---- Footer ---- */
.ds-footer { position: relative; }
.ds-footer .ds-footer-about, .ds-footer .ds-footer-address { font-size: 13px; line-height: 1.6; margin-top: 14px; }
.ds-footer .ds-footer-address a { display: inline; }
.ds-footer #social_footer ul li a { display: inline-flex; align-items: center; justify-content: center; }
.ds-footer #social_footer svg { vertical-align: middle; }

/* ---- Leave room for the floating WhatsApp / Call dock above the footer ---- */
body.ds-site footer.revealed { margin-bottom: 0; }

/* ---- Lists of cards / pagination ---- */
.ds-pagination { margin-top: 32px; }
.ds-pagination .nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.ds-pagination .page-numbers { padding: 8px 14px; border: 1px solid var(--color-hairline); border-radius: 8px; }
.ds-pagination .page-numbers.current { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }

/* ---- WordPress core alignment helpers inside imported/new content ---- */
.ds-content .alignwide { max-width: 1280px; margin-left: auto; margin-right: auto; }
.ds-content .alignfull { width: 100%; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }

/* ---- Fixes after first staging render ---- */
body.ds-site { overflow-x: hidden; }
.admin-bar header#plain { top: 32px; }
@media (max-width: 782px) { .admin-bar header#plain { top: 46px; } }
@media (min-width: 992px) {
  header#plain > .container > .row > .col-3 { flex: 0 0 auto; width: auto; }
  header#plain > .container > .row > nav.col-9 { flex: 1 1 0; width: auto; }
  header#plain .main-menu > ul > li > a { padding-left: 9px; padding-right: 9px; font-size: 13px; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  header#plain .main-menu > ul > li > a { padding-left: 6px; padding-right: 6px; font-size: 12px; }
}
#toTop { bottom: 96px; }
@media (max-width: 760px) { #toTop { bottom: 86px; } }

/* The live site's markup uses a few class names that Bootstrap (loaded by CityTours) also styles. Neutralise Bootstrap inside page content. */
.ds-content .row { margin-left: 0; margin-right: 0; margin-top: 0; --bs-gutter-x: 0; --bs-gutter-y: 0; flex-wrap: nowrap; }
.ds-content .row > * { width: auto; max-width: none; padding-left: 0; padding-right: 0; margin-top: 0; flex-shrink: 1; }
.ds-content .badge { line-height: 1.2; vertical-align: baseline; white-space: nowrap; }
.ds-content ul, .ds-content ol { margin-bottom: 0; }

/* Keep side gutters on ".wrap.section" blocks (the live CSS lets .section's padding shorthand remove them below 1280px). */
.ds-content .wrap.section, .ds-content .wrap.section-sm { padding-left: 40px; padding-right: 40px; }
@media (max-width: 760px) { .ds-content .wrap.section, .ds-content .wrap.section-sm { padding-left: 20px; padding-right: 20px; } }

/* Booking sheet and gallery lightbox must sit above the fixed CityTours header, admin bar and WhatsApp dock. */
.ds-content .booking-sheet-overlay { z-index: 100001; }
.pg-lightbox { z-index: 100002; }
