/* Fonts: Montserrat (headings/menu) + Open Sans (body text) */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800&family=Open+Sans:wght@400;500;600;700&display=swap');

:root {
/* Brand colors — Mirage Club (sampled from the logo) */
  --color-brand-black: #000000;
  --color-brand-white: #FFFFFF;
  --color-brand-gold: #E9B13A;        /* main gold */
  --color-brand-gold-light: #FBE3A1;  /* highlight */
  --color-brand-gold-dark: #B9770E;   /* bronze shadow */
  --gradient-gold: linear-gradient(135deg, #B9770E 0%, #E9B13A 35%, #FBE3A1 55%, #E3A52D 75%, #B9770E 100%);

/* Theme colors */
  --color-1: #000000;   /* page background */
  --color-2: #E9B13A;   /* accent: links, h2, h3, active menu */
  --color-2-sec: #FBE3A1; /* h1 */
  --color-3: #E4E4E4;   /* body text */
  --color-4: #BDBDBD;   /* footer links */
  --color-5: #0F0C07;   /* footer bars (warm near-black) */
  --color-6: #FFFFFF;

/* Fonts */
  --font-f: 'Open Sans', sans-serif;
  --font-h: 'Montserrat', sans-serif;
  --font-m: 500; /* medium */
  --font-sb: 600; /* semi-bold */
  --font-b: 700; /* bold */

/* Home header backgrounds */
  --bg-h-d: url('img/header-home-desktop.webp');
  --bg-h-m: url('img/header-home-mobile.webp');

/* Other pages header backgrounds */
  --bg-op-d: url('img/header-page-desktop.webp');
  --bg-op-m: url('img/header-page-mobile.webp');
}

:focus {
  box-shadow: 0 0 0 0 !important;
}

body {
  background: var(--color-1);
  font-family: var(--font-f);
  color: var(--color-6);
}

a {
  color: var(--color-2);
}

a:hover {
  color: var(--color-2-sec);
}

::selection {
  background: var(--color-brand-gold);
  color: var(--color-1);
}

.container {
  max-width: 1366px;
  padding: 0 15px;
}

/* Navbar */
.navbar .navbar-brand img {
  max-width: 180px;
  height: auto;
}

.bg-header img {
  height: auto;
}

.navbar-toggler {
  border-color: rgba(233, 177, 58, .45);
}

.navbar-toggler .navbar-toggler-icon {
  background-image: url('img/menu-bars.svg');
}

.navbar .navbar-nav .nav-item .nav-link {
  color: var(--color-6);
  font-family: var(--font-h);
  text-transform: uppercase;
  font-size: 14.6px;
  font-weight: var(--font-sb);
  letter-spacing: .5px;
  padding: 0 15px;
}

.navbar .navbar-nav .nav-item .nav-link.active,
.navbar .navbar-nav .nav-item .nav-link:hover {
  color: var(--color-2);
  position: relative;
}

.navbar .navbar-nav .nav-item .nav-link.active::after,
.navbar .navbar-nav .nav-item .nav-link:hover::after {
  position: absolute;
  content: '';
  width: 60%;
  height: 3px;
  background: var(--gradient-gold);
  bottom: -3px;
  left: 50%;
  transform: translateX(-50%);
}

.navbar-collapse.collapsing .navbar-nav,
.navbar-collapse.show .navbar-nav {
  height: auto;
  align-items: flex-end;
  justify-content: center;
  padding-top: 20px;
}

.navbar-collapse.collapsing .navbar-nav .nav-item,
.navbar-collapse.show .navbar-nav .nav-item {
  padding: 15px 0;
}

/* Header banner */
.bg-header {
  width: 100%;
  height: auto;
  position: relative;
}

.bg-header img {
  width: 100%;
}

.bg-header img.mobile {
  display: none;
}

@media (max-width: 600px) {
  .bg-header img.desktop {
    display: none;
  }
  .bg-header img.mobile {
    display: block;
  }
}

.bg-header .box-title {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.bg-header .title {
  padding: 0;
  font-size: 2em;
}

@media (max-width: 600px) {
  .bg-header .title {
    font-size: 1.5em;
  }
}

/* Content */
.content {
  padding: 32px 0 51px 0;
}

.content .container {
  max-width: 1060px;
}

h1 {
  color: var(--color-2-sec);
  font-family: var(--font-h);
  font-size: 32px;
  font-weight: var(--font-b);
  text-transform: uppercase;
  padding-bottom: 24px;
  text-align: center;
}

/* Gold metallic text, like the logo (falls back to solid gold) */
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  h1 {
    background: var(--gradient-gold);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}

h2 {
  color: var(--color-2);
  font-family: var(--font-h);
  font-size: 28px;
  font-weight: var(--font-b);
  padding-top: 24px;
}

@media (max-width: 600px) {
  h2 {
    font-size: 22px;
  }
}

h3 {
  color: var(--color-2);
  font-family: var(--font-h);
  font-size: 20px;
  font-weight: var(--font-sb);
  padding-top: 10px;
}

@media (max-width: 600px) {
  h3 {
    font-size: 18px;
  }
}

.content .text {
  color: var(--color-3);
  font-size: 16px;
  font-weight: var(--font-m);
}

.content ul {
  padding-left: 20px;
}

.content .text-item {
  color: var(--color-2);
}

/* Footer */
footer {
  margin-bottom: 140px;
}

footer .nav-footer {
  height: 39px;
  background: var(--color-5);
  border-top: 1px solid rgba(233, 177, 58, .35);
  display: flex;
  align-items: center;
}

@media (max-width: 600px) {
  footer .nav-footer {
    height: 60px;
  }
}

footer .nav-footer ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0;
  list-style: none;
  padding: 0;
}

footer .nav-footer ul li {
  padding: 0 5px;
}

footer .nav-footer ul .nav-footer-item a {
  text-decoration: none;
  color: var(--color-4);
  font-size: 16px;
  font-weight: var(--font-m);
}

footer .nav-footer ul .nav-footer-item a:hover {
  color: var(--color-2);
}

footer .nav-footer ul .separator {
  color: var(--color-2);
  font-weight: var(--font-b);
}

footer .footer-text {
  background: var(--color-1);
}

footer .footer-text .container {
  padding: 63px 15px 45px 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

footer .footer-text .container .seal {
  width: 120px;
}

footer .footer-text p {
  max-width: 1060px;
  font-size: 14px;
  color: var(--color-3);
  font-weight: var(--font-m);
}

footer .footer-copyright {
  height: 39px;
  background: var(--color-5);
  border-top: 1px solid rgba(233, 177, 58, .2);
  display: flex;
  align-items: center;
}

@media (max-width: 600px) {
  footer .footer-copyright {
    height: 60px;
  }
}

footer .footer-copyright p {
  text-align: center;
  color: var(--color-6);
  margin: 0;
  font-size: 14px;
  font-weight: var(--font-m);
}
