/*
Theme Name: Open Sky Oasis and Villas
Theme URI: https://thefreewebsiteguys.com
Author: The Free Website Guys
Author URI: https://thefreewebsiteguys.com
Description: A custom WordPress theme for Open Sky Oasis and Villas, handcrafted by The Free Website Guys.
Version: 1.0.1
License: GNU General Public License v2 or later
Text Domain: tmt
*/

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; padding: 0; }

/* Offset fixed header when the WordPress admin bar is visible */
body.admin-bar #tmt-app .tmt-site-header {
  top: 32px;
}

@media screen and (max-width: 782px) {
  body.admin-bar #tmt-app .tmt-site-header {
    top: 46px;
  }
}

body.admin-bar #tmt-app section[id] {
  scroll-margin-top: calc(6rem + 32px);
}

@media screen and (max-width: 782px) {
body.admin-bar #tmt-app section[id] {
  scroll-margin-top: calc(6rem + 46px);
  }
}

/* Desktop navigation — scoped to avoid WordPress .hidden conflicts */
#tmt-app .tmt-desktop-nav {
  display: none;
}

#tmt-app .tmt-mobile-menu-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0.25rem;
  position: relative;
  z-index: 70;
  -webkit-tap-highlight-color: transparent;
}

#tmt-app .tmt-header-bar {
  position: relative;
  z-index: 70;
}

#tmt-app .tmt-mobile-nav-panel {
  position: relative;
  z-index: 60;
}

#tmt-app .tmt-mobile-nav-panel a {
  pointer-events: auto;
  touch-action: manipulation;
}

@media (min-width: 64rem) {
  #tmt-app .tmt-desktop-nav {
    display: flex !important;
    align-items: center;
    gap: 2rem;
  }

  #tmt-app .tmt-mobile-menu-btn,
  #tmt-app .tmt-mobile-nav-panel,
  #tmt-app .tmt-mobile-backdrop {
    display: none !important;
  }
}

/* Footer layout — scoped to avoid WordPress grid/list conflicts */
#tmt-app .tmt-footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
}

@media (min-width: 48rem) {
  #tmt-app .tmt-footer-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 2.5rem;
  }

  #tmt-app .tmt-footer-col-brand {
    grid-column: span 4 / span 4;
  }

  #tmt-app .tmt-footer-col-narrow {
    grid-column: span 2 / span 2;
  }

  #tmt-app .tmt-footer-col-wide {
    grid-column: span 4 / span 4;
  }
}

#tmt-app .tmt-footer-bar {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

@media (min-width: 40rem) {
  #tmt-app .tmt-footer-bar {
    flex-direction: row !important;
  }
}

#tmt-app .tmt-site-footer h5.tmt-footer-heading {
  color: rgb(255 255 255 / 0.4) !important;
  font-family: 'Jost', sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  margin: 0 0 1.25rem;
}

#tmt-app .tmt-site-footer .tmt-footer-links {
  list-style: none !important;
  margin: 0;
  padding: 0;
}

#tmt-app .tmt-site-footer .tmt-footer-link {
  color: rgb(255 255 255 / 0.6) !important;
  text-decoration: none;
}

#tmt-app .tmt-site-footer .tmt-footer-link:hover {
  color: #fff !important;
}

#tmt-app .tmt-site-footer .tmt-footer-text {
  color: rgb(255 255 255 / 0.6);
}

#tmt-app .tmt-site-footer .tmt-footer-meta {
  color: rgb(255 255 255 / 0.4);
  margin: 0;
}

#tmt-app .tmt-site-footer .tmt-footer-credit-link {
  color: rgb(255 255 255 / 0.4);
}

#tmt-app .tmt-site-footer .tmt-footer-credit-link:hover {
  color: #fff;
}
