/*
Theme Name: Horizons Luxury (Bootstrap 5)
Theme URI: https://www.horizonscasino.com/
Author: Chris James (MindTattoos)
Author URI: https://mindtattoos.com
Description: Quiet-luxury, one-to-one user flow with Bootstrap 5, GSAP, and ACF hooks.
Version: 1.0.0
Text Domain: horizons-lux
*/

:root{
  --gold:#a58d5f;
}

body {
    font-family: 'Montserrat', sans-serif;
}

:root{
  --gold: #a58d5f;
  --gold-rgb: 165,141,95;
  --line-thickness: 3px;       /* adjust thickness */
  --gap: 0.75rem;               /* space between text and lines */
  --side-width: clamp(80px, 30vw, 420px); /* line length */
}

a {
    color: #a58d5f;
}
.offcanvas-body a {
    color: #a58d5f;
    font-size: 1.3em;
	text-decoration: none;
}
.offcanvas-body a:hover {
    color: white;
    font-size: 1.3em;
}
#page a {
    color: #a58d5f;
    text-decoration: none;
}

#page a:hover {
	text-decoration: underline;
}

/* Utilities */

p {
    margin-top: 1.5rem;
    margin-bottom: 2rem;
}

blockquote {
    margin: 0 0 1rem;
    font-size: 1.7em;
    font-style: italic;
    color: #a58d5f;
}

li.breadcrumb-item a {
    color: #a58d5f;
}

.breadcrumb-item+.breadcrumb-item::before {
    color: #a58d5f;
}

.gold_text {
    color: #a58d5f;
    margin-top: 1.5em;
    text-align: right;
}

.bs-border-gold {
  border-color: #a58d5f !important;
}

span.gold_text {
    font-weight: bold;
}

.gold {
    color: #a58d5f;
}

.mute-text {
  color:#313131;
}

dl, ol, ul {
 margin-bottom: 2.5rem;
}

hr {
    margin: 1.8rem 0;
}

section#page {
    margin-top: 4em;
}

.special-title {
    position: relative;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
}
.special-title::before {
    border-color: #a58d5f;
}
.special-title::before {
    content: '';
    display: inline-block;
    max-width: 10rem;
    width: 20%;
    position: relative;
    border-bottom: 3px solid #a58d5f;
    position: absolute;
    bottom: 0;
    left: 0;
}

/* Gaming */
.games-section {}
  .games-section .eyebrow { letter-spacing:.12em; font-size:.75rem; }
  .games-section .gold-rule {
    height:2px; width:120px; position:relative; background:linear-gradient(90deg,var(--hz-gold),rgba(165,141,95,.15));
    mask-image: linear-gradient(90deg, transparent 0%, black 12%, black 88%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, black 12%, black 88%, transparent 100%);
  }
  .games-section .game-card .game-image img { transition: transform .5s ease; }
  .games-section .game-card:hover .game-image img { transform: scale(1.04); }
  .games-section .game-card:hover h3 { color: var(--hz-gold); }

  /* “+ More games” button – pill, thin border, subtle hover like the reference */
  .btn-more-games {
    display:inline-flex; align-items:center; gap:.5rem;
    border:1px solid rgba(165,141,95,.55); color:#f3f3f3; background:transparent;
    padding:.65rem 1rem; border-radius:999px; text-transform:uppercase; font-size:.85rem; letter-spacing:.08em;
    transition: border-color .25s ease, color .25s ease, background-color .25s ease, transform .2s ease;
  }
  .btn-more-games .btn-plus {
    width:1.75rem; height:1.75rem; line-height:1.75rem; text-align:center; border-radius:50%;
    border:1px solid rgba(165,141,95,.55); display:inline-block; font-weight:600;
  }
  .btn-more-games:hover, .btn-more-games:focus {
    color:#111; background:var(--hz-gold); border-color:var(--hz-gold); text-decoration:none; transform: translateY(-1px);
  }
  .btn-more-games:hover .btn-plus, .btn-more-games:focus .btn-plus {
    border-color:#111; background:#111; color:var(--hz-gold);
  }

/* Utility tweak for nicer type on dark */
  .games-section .text-body-secondary { color: rgba(255,255,255,.7) !important; }
  .letterspace { letter-spacing:.08em; }
  .py-6 { padding-top:4rem!important; padding-bottom:4rem!important; }
  .py-md-7 { padding-top:5rem!important; padding-bottom:5rem!important; }
/* Basic spacing for each section dropped in content */
.page-sections > section {
  padding: 5rem 0;
}

/* Ensure containers don’t stretch full bleed */
.page-sections > section > .container,
.page-sections > .container {
  max-width: 1320px; /* match .container-xxl if needed */
  margin-left: auto;
  margin-right: auto;
}

.text-gold{ color:var(--gold); }
.border-gold{ border-color:var(--gold)!important; }
.bg-deep{ background:#0b0b0c; }
.bg-ink{ background:#151515; }
.bg-inked { background-color: #000 !important; }
a { color:var(--gold); }
/* Size the hero and layer elements
.hero { position: relative; min-height: 60vh; }
@media (min-width: 992px){ .hero { min-height: 72vh; } } */

.hero{
  position: relative;
  min-height: 80vh;          /* your target height */
  display: flex;             /* turn hero into flex container */
  align-items: center;       /* vertical center */
}

.hero-content{
  position: relative;
  z-index: 2;
  width: 100%;
  color: #fff;
}

/* keep your video/overlay layering */
.hero-video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; pointer-events:none; }
.hero-overlay{ position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(0,0,0,.65),rgba(0,0,0,.55) 40%,rgba(0,0,0,.85)); }

@media (min-width: 992px){
  .hero { min-height: 80vh; } /* taller on desktop */
}

/* Optional: show poster on mobile where video is hidden */
@media (max-width: 767.98px){
  .hero{
    background: url('<?php echo esc_url(get_template_directory_uri()."/assets/img/hero-poster.jpg"); ?>') center/cover no-repeat;
  }
}

/* If header is fixed, prevent anchor jump */
body.has-fixed-header { scroll-padding-top: 80px; }

.btn-gold{
  background:var(--gold); border-color:var(--gold); color:#111; border: 1px solid;
}
.btn-gold:hover{
  filter:brightness(1.05); 
    color: var(--gold);
    border: 1px solid;
}

.btn-gold-con {
  background:var(--gold); border-color:var(--gold); color:#111;
}

.btn-gold-con:hover{
  filter:brightness(1.05); 
    color: var(--gold);
    border: 1px solid;
}

.section-pad{ padding:4rem 0; }
.section-pad-sm{ padding:2rem 0; }
small.note, p.note { opacity:.6; }
.concierge-toggle{
  position:fixed; right:1rem; bottom:2.5rem; z-index:1050;
}
/* Sections */
section#dining {
    margin-top: 60px;
    padding: 80px 0;
}

.concierge-panel{
  position:fixed; right:1rem; bottom:4.5rem; width:320px; max-width:90vw;
  background:#121215; color:#fff; border:1px solid rgba(255,255,255,.08);
  border-radius:.75rem; padding:1rem; display:none; z-index:1050;
  box-shadow:0 10px 30px rgba(0,0,0,.4);
}
.concierge-panel.show{ display:block; }
.concierge-panel input, .concierge-panel textarea{ background:#888; color:#fff; border-color:#2a2a32; }
.navbar-brand img{ height:48px; }
footer .legal{ font-size:.9rem; opacity:.8; }
.card-offer{ background:#121215; border:1px solid rgba(255,255,255,.08); }
.card-offer .badge{ background:var(--gold); color:#111; }
ul.inline-chips{ list-style:none; padding:0; margin:0; }
ul.inline-chips li{ display:inline-block; margin-right:.75rem; opacity:.9; }
.review-quote{ font-style:italic; opacity:.95; }
hr.hr-gold{ border:0; height:1px; background:linear-gradient(90deg, transparent, var(--gold), transparent); }
*/

/*.navbar-dark .navbar-nav .nav-link { color: rgba(255,255,255,.85); }
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus { color: #fff; }
.navbar-nav .nav-link.active { border-bottom: 2px solid var(--gold); }*/
.navbar-brand img { height: 56px; width:auto; }
.navbar-dark .navbar-nav .nav-link { color: rgba(255,255,255,.85); }
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus { color:#fff; }
.navbar-nav .current-menu-item > .nav-link { border-bottom:2px solid var(--gold); }

/* Nav menu items */
.nav-split .navbar-nav a {
    color: white;
    text-transform: uppercase;
    text-decoration: none;
}

/* Centered header: keep menus on one line and stop the logo from blowing it up */
.navbar { padding-top: .5rem; padding-bottom: .5rem; } /* shorter bar */
.navbar-brand { padding: 0; line-height: 1; }

/* WP outputs .custom-logo on the <img> */
.navbar-brand img,
.custom-logo {
  display: block;
  height: auto;
  max-height: clamp(44px, 6vh, 68px); /* adjust if you want smaller */
  width: auto;
  object-fit: contain;
}

/* Grid children shouldn’t force new rows */
.nav-split > nav { min-width: 0; }             /* allow flex children to shrink */
.nav-split .navbar-nav { flex-wrap: nowrap; }  /* keep one line (wrap: wrap if you prefer) */
.navbar-nav .nav-link { white-space: nowrap; }

/* Reduce horizontal spacing so right menu doesn’t drop */
.nav-split .navbar-nav.gap-3 { gap: .75rem; }  /* was gap-3 (~1rem); tune here */

/* Optional: slightly smaller link padding to buy space */
.navbar-nav .nav-link { padding-left: .5rem; padding-right: .5rem; }


@media (min-width: 992px) and (max-width: 1200px){
  .nav-split .navbar-nav { flex-wrap: wrap; row-gap: .25rem; }
}

/* Footer Menus */
footer a {
    text-decoration: none;
    color: white;
}

/* stacking */
/* Overlapping image stack */
.image-stack {
  position: relative;
  min-height: 620px;               /* gives the abs-pos images a box */
}
.image-stack .img-a,
.image-stack .img-b {
  position: absolute;
  width: 68%;
  height: auto;
  border-radius: .75rem;
  object-fit: cover;
}
.image-stack .img-a {              /* top-left card */
  top: 0; left: 0;
}
.image-stack .img-b {              /* offset second card */
  bottom: 0; left: 22%;
  transform: translateY(6%);       /* tiny lift for depth */
}

/* Small polish */
.image-stack .shadow-lg { box-shadow: 0 20px 50px rgba(0,0,0,.45); }

/* Responsive: stack images on mobile */
@media (max-width: 991.98px){
  .image-stack { min-height: auto; }
  .image-stack .img-a,
  .image-stack .img-b {
    position: static;
    width: 100%;
    transform: none;
    margin-bottom: 1rem;
  }
}

/* Custom menu items */
.menu-guest-hub > a {
  color: #a58d5f;
  padding: .25rem .75rem;
}
.special-menu-item {
	color: #a58d5f;
    position: relative;
    margin-bottom: .5rem;
    padding-bottom: .5rem;
}
.special-menu-item::before {
    content: '';
    display: inline-block;
    max-width: 10rem;
    width: 20%;
    position: relative;
    border-bottom: 1px solid #a58d5f;
    position: absolute;
    bottom: 0;
    right: 0;
}
@media (max-width: 991.98px){
.special-menu-item::before {
    left: 0;
}
}
.breadcrumb-item+.breadcrumb-item::before {
    color: #a58d5f;
}

/* Typography */
h2.food-sections {
    text-align: center;
    margin: 1em 0;
}

/* Forms */
.wpcf7-form-control-wrap {
    position: relative;
}

fieldset {
    min-width: 0;
    padding: 1em !important;
   /* margin: 0 0 5em !important;*/
	margin: 0;
    border: 1px solid #a58d5f !important;
}

legend {
    display: block;
    width: inherit;
    max-width: 100%;
    padding: 0 10px;
    margin-bottom: .5rem;
    font-size: 1.3rem;
    color: #a58d5f;
}
.form-control {
    padding: .8rem .75rem;
}
textarea {
    padding: .8rem .75rem;
}
.form-group {
    margin-bottom: 1rem;
}
input.wpcf7-form-control.wpcf7-date.wpcf7-validates-as-required.wpcf7-validates-as-date {
    min-width: 40%;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-body-color);
    border-radius: 7px;
}

.tile {
	background: url(https://horizonscasino.com/wp-content/uploads/2025/10/Horizons_tile-1.png);
	background-size: auto;
	background-repeat: repeat;
}
