/* =================================================================
   COVE CREEK PARK — COMPLETE VISUAL REDESIGN
   Overrides Webflow-generated styles. All content preserved.
   ================================================================= */

/* ---- DESIGN TOKENS ---- */
:root {
  --green-dark:    #032203;
  --green-mid:     #094e09;
  --green-light:   #155215;
  --gold:          #dfa907;
  --gold-dark:     #b8890a;
  --gold-light:    #f5c842;
  --white:         #ffffff;
  --off-white:     #f5f5f0;
  --gray-light:    #eceee9;
  --text-dark:     #1c1c1c;
  --text-mid:      #4a4a4a;
  --text-light:    #7a7a7a;
  --shadow-sm:     0 1px 6px rgba(0,0,0,0.10);
  --shadow:        0 3px 14px rgba(0,0,0,0.13);
  --shadow-lg:     0 6px 28px rgba(0,0,0,0.18);
  --radius:        6px;
  --radius-lg:     12px;
  --radius-pill:   50px;
  --transition:    all 0.22s ease;
  --max-w:         1100px;
  --section-v:     64px;
  --section-h:     32px;
}

/* ================================================================
   BASE
   ================================================================ */
body {
  background-color: var(--off-white) !important;
  font-family: 'Open Sans', sans-serif !important;
  color: var(--text-dark) !important;
  margin: 0 !important;
}

*, *::before, *::after {
  box-sizing: border-box;
}

/* ================================================================
   NAVIGATION
   ================================================================ */
.section-2 {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1000 !important;
  background: linear-gradient(
    to bottom,
    rgba(3, 34, 3, 0.45) 0%,
    rgba(3, 34, 3, 0.12) 70%,
    rgba(3, 34, 3, 0.00) 100%
  ) !important;
  box-shadow: none !important;
}

.navbar-2 {
  background-color: transparent !important;
  max-width: var(--max-w) !important;
  margin: 0 auto !important;
  padding: 0 var(--section-h) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.nav-brand-2 {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  margin-right: 16px !important;
}

.nav-menu-2 {
  background-color: transparent !important;
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
  width: 100% !important;
  padding: 0 !important;
}

/* Logo */
.image-2 {
  padding: 6px 28px 6px 0 !important;
  margin-right: auto !important;
  max-height: 84px !important;
  width: auto !important;
}

/* Nav links */
.nav-link,
.nav-link.w--current {
  color: rgba(255,255,255,0.88) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 22px 14px !important;
  transition: var(--transition) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  border-bottom: 3px solid transparent !important;
}

.nav-link:hover,
.nav-link.w--current {
  color: var(--gold) !important;
  border-bottom-color: var(--gold) !important;
}

/* Dropdown toggles */
.dropdown-toggle-2,
.dropdown-toggle-3,
.dropdown-toggle-4 {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 22px 14px !important;
  cursor: pointer !important;
  border-bottom: 3px solid transparent !important;
  transition: var(--transition) !important;
}

.dropdown-toggle-2:hover,
.dropdown-toggle-3:hover,
.dropdown-toggle-4:hover {
  border-bottom-color: var(--gold) !important;
}

.text-block {
  color: rgba(255,255,255,0.88) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  transition: var(--transition) !important;
}

.dropdown-toggle-2:hover .text-block,
.dropdown-toggle-3:hover .text-block,
.dropdown-toggle-4:hover .text-block {
  color: var(--gold) !important;
}

.icon-3 {
  color: rgba(255,255,255,0.70) !important;
  font-size: 12px !important;
  transition: var(--transition) !important;
  position: static !important;
  top: auto !important;
  right: auto !important;
  transform: none !important;
  order: 1 !important;
}

.dropdown-toggle-2:hover .icon-3,
.dropdown-toggle-3:hover .icon-3,
.dropdown-toggle-4:hover .icon-3 {
  color: var(--gold) !important;
}

/* Dropdown menus */
.dropdown-list {
  background-color: var(--white) !important;
  border: none !important;
  border-top: 3px solid var(--gold) !important;
  border-radius: 0 0 var(--radius) var(--radius) !important;
  box-shadow: var(--shadow-lg) !important;
  min-width: 210px !important;
  padding: 6px 0 !important;
  font-family: inherit !important;
}

.dropdown-link,
.dropdown-link-2,
.dropdown-link-3 {
  color: var(--green-dark) !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  padding: 10px 20px !important;
  box-shadow: none !important;
  border: none !important;
  background-color: transparent !important;
  display: block !important;
  transition: var(--transition) !important;
  text-decoration: none !important;
}

.dropdown-link:hover,
.dropdown-link-2:hover,
.dropdown-link-3:hover,
.dropdown-link.w--current,
.dropdown-link-3.w--current {
  background-color: var(--green-dark) !important;
  color: var(--gold) !important;
}

/* Mobile hamburger */
.menu-button-2 {
  background-color: transparent !important;
  padding: 14px 0 14px 16px !important;
}

.menu-button-2.w--open {
  background-color: transparent !important;
}

.icon-4 {
  color: var(--gold) !important;
  font-size: 28px !important;
}

/* ================================================================
   HERO BANNER  (section-5)
   ================================================================ */
.section-5 {
  position: relative !important;
  height: 380px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: var(--green-dark) !important;
}

.section-5 .div-block-3 {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  filter: brightness(0.38) !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.section-5 .heading-3 {
  position: relative !important;
  z-index: 2 !important;
  top: 0 !important;
  color: var(--white) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 62px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 18px rgba(0,0,0,0.55) !important;
  text-decoration: none !important;
  margin: 0 !important;
  padding: 0 32px !important;
  text-align: center !important;
}

/* Gold accent bar at bottom of every hero */
.section-5::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 6px !important;
  background: var(--gold) !important;
  z-index: 10 !important;
  display: block !important;
}

/* ================================================================
   ANNOUNCEMENT BANNER — Registration (dark green)
   ================================================================ */
.section-6 {
  background-color: var(--green-dark) !important;
  padding: 36px var(--section-h) !important;
}

.section-6 .grid-2 {
  max-width: var(--max-w) !important;
  margin: 0 auto !important;
  align-items: center !important;
  gap: 32px !important;
  justify-items: stretch !important;
}

.section-6 .div-block-5 {
  padding: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
}

.heading-5 {
  color: var(--gold) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 24px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  overflow-wrap: anywhere !important;
}

.text-block-3 {
  color: var(--text-dark) !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  margin-bottom: 5px !important;
}

.section-6 .text-block-3 {
  color: rgba(255,255,255,0.75) !important;
}

/* ================================================================
   ANNOUNCEMENT BANNER — Tournament (gold)
   ================================================================ */
.section-33 {
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%) !important;
  padding: 30px var(--section-h) !important;
}

.section-33 .flex-block-2 {
  max-width: var(--max-w) !important;
  width: 100% !important;
  margin: 0 auto !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
  box-sizing: border-box !important;
}

.heading-19 {
  color: var(--green-dark) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.div-block-23 {
  width: auto !important;
  min-width: 0 !important;
  align-items: flex-start !important;
}

/* ================================================================
   CEREMONY DATES STRIP
   ================================================================ */
.div-block-21 {
  background-color: var(--green-dark) !important;
  padding: 0 !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: auto !important;
  gap: 0 !important;
}

.div-block-21 .heading-5 {
  font-size: 17px !important;
  font-weight: 700 !important;
  padding: 18px 32px !important;
  margin: 0 !important;
  text-align: center !important;
  color: var(--gold) !important;
  border-right: 1px solid rgba(255,255,255,0.15) !important;
}

.div-block-21 .heading-5:last-child {
  border-right: none !important;
}

/* ================================================================
   WELCOME SECTION
   ================================================================ */
.section-7 {
  background-color: var(--white) !important;
  padding: var(--section-v) var(--section-h) !important;
  display: block !important;
}

.section-7 .flex-block {
  max-width: var(--max-w) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  align-items: stretch !important;
}

.section-7 .div-block-6 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 380px !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
}

.section-7 .paragraph {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

.section-7 .div-block-6 img {
  width: 100% !important;
  height: 100% !important;
  min-height: 380px !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-lg) !important;
  display: block !important;
}

.paragraph {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
  color: var(--text-mid) !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: normal !important;
}

.paragraph strong,
.paragraph .bold-text {
  color: var(--green-dark) !important;
  font-weight: 700 !important;
}

/* Remove the heavy all-bold styling from old markup */
.paragraph > strong.bold-text {
  font-weight: 400 !important;
  color: var(--text-mid) !important;
}

/* ================================================================
   BUTTONS
   ================================================================ */
.button {
  background-color: var(--gold) !important;
  color: var(--green-dark) !important;
  border: 2px solid var(--gold-dark) !important;
  border-radius: var(--radius) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  padding: 14px 30px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: var(--transition) !important;
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
  text-align: center !important;
  cursor: pointer !important;
  line-height: 1.2 !important;
}

.button:hover {
  background-color: var(--gold-dark) !important;
  color: var(--green-dark) !important;
  border-color: #9a7208 !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--shadow) !important;
}

.button.inverse {
  background-color: var(--green-dark) !important;
  color: var(--gold) !important;
  border-color: rgba(255,255,255,0.25) !important;
}

.button.inverse:hover {
  background-color: #1a401a !important;
  color: var(--gold) !important;
  border-color: #1a401a !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--shadow) !important;
}

.div-block-4 {
  gap: 14px !important;
  padding: 28px 0 36px !important;
  align-items: flex-start !important;
  flex-direction: column !important;
}

.div-block-22 {
  gap: 14px !important;
  justify-content: center !important;
}

.div-block-22.new {
  width: auto !important;
  flex-flow: row wrap !important;
  gap: 12px !important;
  justify-content: flex-end !important;
}

/* ================================================================
   IMAGE SLIDER — section-4
   Contained and centered; hard-set height for consistent display.
   ================================================================ */
.section-4 {
  background-color: var(--green-dark) !important;
  padding: 48px var(--section-h) !important;
  margin: 0 !important;
}

.slider-container {
  max-width: var(--max-w) !important;
  margin: 0 auto !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--shadow-lg) !important;
}

.section-4 .w-slider {
  height: 400px !important;
  position: relative !important;
  overflow: hidden !important;
}

.section-4 .w-slider-mask {
  height: 400px !important;
  overflow: hidden !important;
  width: 100% !important;
  position: relative !important;
}

.section-4 .w-slide {
  height: 400px !important;
  width: 100% !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* Slide 6 (Coaching-4) — shift up to show faces */
.section-4 .slide-6 {
  background-position: center 15% !important;
}

/* ================================================================
   SECTION DIVIDER (section-8) — hidden, gold bar on section-5 replaces it
   ================================================================ */
.section-8 {
  display: none !important;
}

.section-8 .div-block-10 {
  display: none !important;
}

/* ================================================================
   CONTENT SECTION WRAPPERS
   ================================================================ */
.section-10,
.section-11,
.section-15,
.section-22 {
  background-color: var(--white) !important;
  padding: var(--section-v) var(--section-h) !important;
  display: block !important;
}

/* Inner container alignment */
.section-10 .grid-3,
.section-11 .div-block-11,
.section-11 .grid-5,
.section-15 .grid-4,
.section-22 > * {
  max-width: var(--max-w) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ================================================================
   SECTION HEADINGS
   ================================================================ */
.heading-9 {
  color: var(--green-dark) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 30px !important;
  font-weight: 600 !important;
  margin-bottom: 16px !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 0 0 12px 0 !important;
  margin: 0 0 28px 0 !important;
  border-bottom: 3px solid var(--gold) !important;
  display: inline-block !important;
}

/* Rule addendum sub-headings */
.heading-9.heading-10 {
  background-color: var(--gray-light) !important;
  border-radius: var(--radius) !important;
  border-bottom: 3px solid var(--gold) !important;
  display: block !important;
  margin-bottom: 14px !important;
  padding: 14px 20px !important;
  font-size: 18px !important;
  margin-bottom: 10px !important;
  margin-top: 28px !important;
  color: var(--green-dark) !important;
}

.div-block-11 {
  max-width: var(--max-w) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

/* ================================================================
   DOCUMENT LINK GRIDS  (schedules, rules, brackets)
   ================================================================ */
.grid-5 {
  max-width: var(--max-w) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)) !important;
  gap: 14px !important;
  padding: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font-size: inherit !important;
}

.link-5 {
  background-color: var(--green-dark) !important;
  color: var(--gold) !important;
  border: 2px solid rgba(255,255,255,0.06) !important;
  border-radius: var(--radius) !important;
  padding: 20px 16px !important;
  text-decoration: none !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 64px !important;
  transition: var(--transition) !important;
}

.link-5:hover {
  background-color: var(--gold) !important;
  color: var(--green-dark) !important;
  border-color: var(--gold-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow) !important;
}

/* Current/unavailable item */
.link-5.w--current {
  background-color: #555 !important;
  color: rgba(255,255,255,0.5) !important;
  cursor: not-allowed !important;
  border-color: transparent !important;
  pointer-events: none;
}

/* ================================================================
   TOURNAMENT QUICK-ACTION GRID (grid-6)
   ================================================================ */
.grid-6 {
  max-width: var(--max-w) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: 16px !important;
  padding: 32px var(--section-h) !important;
  background-color: var(--off-white) !important;
}

.div-block-20 {
  background-color: var(--white) !important;
  border: 2px solid var(--gold) !important;
  border-radius: var(--radius) !important;
  height: auto !important;
  min-height: 68px !important;
  transition: var(--transition) !important;
  box-shadow: var(--shadow-sm) !important;
}

.div-block-20:hover {
  background-color: var(--green-dark) !important;
  border-color: var(--green-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow) !important;
}

.div-block-20.hide {
  display: none !important;
}

.link-6 {
  color: var(--green-dark) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  text-decoration: none !important;
  padding: 16px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  height: 100% !important;
  min-height: 68px !important;
  transition: var(--transition) !important;
}

.div-block-20:hover .link-6 {
  color: var(--gold) !important;
}

/* ================================================================
   TOURNAMENT DATES SECTION
   ================================================================ */
.section-22 {
  text-align: center !important;
  padding-top: 48px !important;
  padding-bottom: 16px !important;
}

.heading-18 {
  color: var(--green-dark) !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  margin: 10px auto !important;
}

/* ================================================================
   FIELD MAP PAGE
   ================================================================ */
.section-9 {
  background-color: var(--off-white) !important;
  padding: var(--section-v) var(--section-h) !important;
  display: block !important;
  justify-content: center !important;
  text-align: center !important;
}

.section-9 .heading-13 {
  color: var(--green-dark) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 32px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  margin-bottom: 28px !important;
  display: block !important;
}

.section-9 img {
  max-width: 900px !important;
  width: 100% !important;
  height: auto !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-lg) !important;
  display: block !important;
  margin: 0 auto !important;
  border: 3px solid var(--gold) !important;
}

/* ================================================================
   GENERAL INFORMATION PAGE
   ================================================================ */
.section-15 {
  background-color: var(--white) !important;
  display: flex !important;
  flex-direction: column !important;
}

.grid-4 {
  max-width: var(--max-w) !important;
  margin: 0 auto !important;
  gap: 32px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
}

.heading-14,
.heading-14.heading-15 {
  display: block !important;
  color: var(--gold) !important;
  background-color: var(--green-dark) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  padding: 18px 28px !important;
  margin: 0 0 36px 0 !important;
  letter-spacing: 0.05em !important;
  text-align: left !important;
}

.list,
.list-2 {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--text-dark) !important;
  padding-top: 0 !important;
  padding-left: 28px !important;
  margin: 0 !important;
  line-height: 1.7 !important;
}

.list-item, .list-item-2, .list-item-3, .list-item-4,
.list-item-5, .list-item-6, .list-item-7,
.list-item-8, .list-item-9, .list-item-10, .list-item-11,
.list-item-12, .list-item-13, .list-item-14, .list-item-15 {
  padding-bottom: 18px !important;
  padding-top: 2px !important;
  line-height: 1.7 !important;
}

/* ================================================================
   CONTACT PAGE
   ================================================================ */
.grid-3 {
  max-width: var(--max-w) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  align-items: start !important;
}

.w-widget-map {
  height: 380px !important;
  width: 100% !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--shadow) !important;
}

.div-block-7 {
  padding: 0 !important;
}

.div-block-9 {
  padding: 0 !important;
}

.div-block-9 p {
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  line-height: 1.75;
  color: var(--text-mid);
  margin-bottom: 20px;
}

.heading-8 {
  color: var(--green-dark) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 24px !important;
  padding-bottom: 12px !important;
  border-bottom: 3px solid var(--gold) !important;
  display: block !important;
}

.heading-8.phone.heading-15 {
  display: none !important;
}

.bold-text-2,
.bold-text-3 {
  color: var(--green-dark) !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

.heading-6 {
  color: var(--green-dark) !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  margin: 0 !important;
}

.div-block-8 {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-bottom: 14px !important;
}

.link-2 {
  color: var(--green-mid) !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  display: inline-flex !important;
  align-items: center !important;
  padding-left: 4px !important;
}

.link-2:hover {
  color: var(--gold-dark) !important;
}

.link-3 {
  color: var(--green-mid) !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

.link-3:hover {
  color: var(--gold-dark) !important;
}

/* ================================================================
   RULES PAGE
   ================================================================ */
.bold-text-5 {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--text-dark) !important;
  line-height: 1.85 !important;
  margin-bottom: 18px !important;
}

.bold-text-5 strong {
  color: var(--green-dark) !important;
}

.italic-text,
.italic-text-2 {
  font-size: 16px !important;
  font-style: italic !important;
}

/* ================================================================
   REGISTRATION PAGE
   ================================================================ */
.heading-4 {
  color: rgba(255,255,255,0.75) !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  text-transform: none !important;
  margin-top: 4px !important;
  text-decoration: none !important;
}

/* ================================================================
   TOURNAMENT REGISTRATION PAGE
   ================================================================ */
.section-23 {
  background-color: var(--green-dark) !important;
  padding: var(--section-v) var(--section-h) !important;
  text-align: center !important;
  display: block !important;
}

.section-23 .image-3 {
  max-width: 860px !important;
  width: 100% !important;
  height: auto !important;
  border-radius: var(--radius-lg) !important;
  display: block !important;
  margin: 0 auto 32px !important;
  box-shadow: var(--shadow-lg) !important;
}

.heading-16 {
  color: var(--gold) !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 30px !important;
  font-weight: 600 !important;
  text-align: center !important;
  height: auto !important;
  margin: 24px auto !important;
  display: block !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

/* ================================================================
   FOOTER
   ================================================================ */

/* Ensure ALL footer wrapper sections are visible */
.section-12, .section-13, .section-14,
.section-16, .section-17, .section-18,
.section-19, .section-20, .section-21 {
  display: block !important;
}

.footer-light {
  background-color: var(--green-dark) !important;
  border: none !important;
  padding: 56px var(--section-h) 32px !important;
}

.container-2 {
  background-color: transparent !important;
  max-width: var(--max-w) !important;
}

.footer-wrapper-two {
  background-color: transparent !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px 28px !important;
  align-items: center !important;
}

.footer-social-link.w-inline-block {
  margin-left: auto !important;
}
.footer-wrapper-two > a.w-inline-block:not(.footer-brand):not(.footer-social-link) {
  margin-left: 8px !important;
}

.footer-brand img {
  filter: brightness(1.1) !important;
  opacity: 0.9 !important;
}

.footer-block-two {
  flex-direction: column !important;
  display: flex !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 14px !important;
  color: var(--white) !important;
}

.footer-link-two {
  color: rgba(255,255,255,0.65) !important;
  font-size: 14px !important;
  font-family: 'Open Sans', sans-serif !important;
  margin-top: 12px !important;
  text-decoration: none !important;
  transition: var(--transition) !important;
}

.footer-link-two:hover,
.footer-link-two.w--current {
  color: var(--gold) !important;
}

.footer-divider-two {
  background-color: rgba(255,255,255,0.12) !important;
  height: 1px !important;
  margin: 36px 0 24px !important;
}

.footer-bottom {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.footer-copyright {
  color: rgba(255,255,255,0.40) !important;
  font-size: 12px !important;
  font-family: 'Open Sans', sans-serif !important;
}

.footer-social-link,
.footer-social-block-two {
  display: flex !important;
  align-items: center !important;
}

.footer-social-link img,
.footer-social-block-two img {
  filter: brightness(0) invert(1) !important;
  opacity: 0.60 !important;
  width: 26px !important;
  height: 26px !important;
  transition: var(--transition) !important;
}

.footer-social-link:hover img,
.footer-social-block-two:hover img {
  opacity: 1 !important;
  filter: invert(73%) sepia(77%) saturate(600%) hue-rotate(5deg) brightness(1.05) !important;
}

/* ================================================================
   GOOGLE MAP (full-width below footer section content)
   ================================================================ */
body > .w-widget-map {
  height: 420px !important;
  display: block !important;
}

/* ================================================================
   RESPONSIVE — TABLET / HAMBURGER BREAKPOINT (≤ 991px)
   Webflow collapses the nav at this width — must be solid so the
   expanded menu is readable against the hero image.
   ================================================================ */
@media screen and (max-width: 991px) {
  /* Solid nav — transparent overlay breaks the hamburger menu */
  .section-2 {
    position: relative !important;
    background: var(--green-dark) !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.40) !important;
  }
  .navbar-2 { background-color: var(--green-dark) !important; }

  /* Hide footer on mobile/tablet */
  .section-21 { display: none !important; }

  .navbar-2 {
    height: auto !important;
    min-height: 80px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    padding: 12px 20px !important;
    overflow: visible !important;
  }

  /* Force logo to keep aspect ratio — never let parent height squish it */
  .nav-brand-2.w-nav-brand {
    height: auto !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  .image-2 {
    padding: 0 !important;
    width: 160px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    display: block !important;
  }

  .nav-brand-2 {
    position: relative !important;
    z-index: 1002 !important;
    margin-right: 0 !important;
  }

  .menu-button-2 {
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Hide nav by default so Webflow JS can control it via .w--open */
  .nav-menu-2 {
    display: none !important;
    background-color: var(--green-dark) !important;
    order: 3 !important;
    width: 100% !important;
    margin-top: 10px !important;
  }

  /* Show as column when hamburger is tapped */
  .nav-menu-2.w--open {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    padding: 8px 0 16px !important;
    gap: 0 !important;
  }

  /* Nav links and dropdowns full-width inside open panel */
  .nav-menu-2.w--open .nav-link,
  .nav-menu-2.w--open .w-dropdown {
    width: 100% !important;
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  }

  .nav-menu-2.w--open .nav-link {
    padding: 13px 20px !important;
    border-bottom-color: rgba(255,255,255,0.07) !important;
  }

  .nav-menu-2.w--open .dropdown-toggle-2,
  .nav-menu-2.w--open .dropdown-toggle-3,
  .nav-menu-2.w--open .dropdown-toggle-4 {
    width: 100% !important;
    padding: 13px 20px !important;
  }

  /* Dropdown opens inline inside the hamburger panel */
  .dropdown-list {
    position: relative !important;
    box-shadow: none !important;
    border-top: none !important;
    border-left: 3px solid var(--gold) !important;
    margin-left: 20px !important;
    border-radius: 0 !important;
    background-color: var(--white) !important;
  }

  body:not(.body) .section-5 { display: none !important; }
  body.body .section-5 { height: 320px !important; }
  body.body .section-5 .heading-3 { font-size: 50px !important; }

  /* Registration banner — stack at tablet */
  .section-6 .grid-2 {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    justify-items: center !important;
  }
  .section-6 .div-block-5 {
    max-width: 680px !important;
    margin: 0 auto !important;
  }
  .section-6 .div-block-22 { justify-content: center !important; }
  .section-6 .heading-5 {
    font-size: 22px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.03em !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }

  /* Tournament banner — stack */
  .section-33 .flex-block-2 {
    flex-direction: column !important;
    width: 100% !important;
    text-align: center !important;
    align-items: center !important;
  }
  .div-block-23 {
    width: 100% !important;
  }
  .div-block-22.new {
    justify-content: center !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    gap: 12px !important;
  }
  .section-33 .button {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .grid-6 { grid-template-columns: repeat(2, 1fr) !important; }

  /* Slider — shorter at tablet */
  .section-4 .w-slider,
  .section-4 .w-slider-mask,
  .section-4 .w-slide { height: 300px !important; }
  .section-4 { padding: 32px var(--section-h) !important; }
}

/* ================================================================
   RESPONSIVE — MOBILE LANDSCAPE (≤ 767px)
   ================================================================ */
@media screen and (max-width: 767px) {
  body.body .section-5 { height: 270px !important; }
  body.body .section-5 .heading-3 { font-size: 40px !important; }

  /* Welcome — stack image above text, reset explicit column placement */
  .section-7 .flex-block {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .section-7 .div-block-6 {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 260px !important;
  }
  .section-7 .div-block-6 img { min-height: 260px !important; }
  .section-7 .paragraph {
    grid-column: 1 !important;
    grid-row: 2 !important;
    padding-top: 28px !important;
  }

  /* Ceremony strip — stack */
  .div-block-21 { grid-template-columns: 1fr !important; }
  .div-block-21 .heading-5 {
    border-right: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.15) !important;
    font-size: 15px !important;
    padding: 14px 20px !important;
  }

  /* Registration buttons — full width */
  .div-block-4 { align-items: stretch !important; width: 100% !important; }

  .grid-3 { grid-template-columns: 1fr !important; gap: 32px !important; }
  .grid-4 { grid-template-columns: 1fr !important; }
  .grid-6 { grid-template-columns: 1fr 1fr !important; padding: 20px 16px !important; }

  /* Slider */
  .section-4 .w-slider,
  .section-4 .w-slider-mask,
  .section-4 .w-slide { height: 220px !important; }
  .section-4 { padding: 24px var(--section-h) !important; }

  /* Map */
  body > .w-widget-map { height: 280px !important; }
}

/* ================================================================
   RESPONSIVE — MOBILE PORTRAIT (≤ 479px)
   ================================================================ */
@media screen and (max-width: 479px) {
  :root {
    --section-v: 40px;
    --section-h: 16px;
  }

  .section-5 { height: 185px !important; }
  .section-5 .heading-3 { font-size: 28px !important; letter-spacing: 0.04em !important; }

  /* Nav — vertical column layout for open hamburger panel */
  .nav-menu-2 {
    flex-direction: column !important;
    padding: 8px 0 16px !important;
    gap: 0 !important;
    height: auto !important;
  }

  .image-2 {
    padding: 0 !important;
    width: 140px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
  }

  .nav-link {
    width: 100% !important;
    padding: 13px 20px !important;
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
    border-bottom-color: rgba(255,255,255,0.07) !important;
    font-size: 14px !important;
  }

  .dropdown-toggle-2,
  .dropdown-toggle-3,
  .dropdown-toggle-4 {
    width: 100% !important;
    padding: 13px 20px !important;
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  }

  .text-block { font-size: 14px !important; }

  /* Welcome section */
  .section-7 { display: block !important; }
  .section-7 .flex-block {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 0 !important;
  }
  .section-7 .div-block-6 { min-height: 210px !important; }
  .section-7 .div-block-6 img { min-height: 210px !important; }
  .section-7 .paragraph { padding-top: 24px !important; }

  /* Registration banner */
  .section-6 { padding: 28px var(--section-h) !important; }
  .section-6 .grid-2 {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    grid-template-columns: 1fr !important;
    text-align: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .section-6 .div-block-5 {
    max-width: 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
  }
  .section-6 .div-block-22 {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-top: 16px !important;
    width: 100% !important;
  }
  .section-6 .heading-5 {
    font-size: 18px !important;
    line-height: 1.18 !important;
    letter-spacing: 0.02em !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* All buttons full width on small screens */
  .div-block-4 .button,
  .div-block-4 a.button { width: 100% !important; box-sizing: border-box !important; }

  /* Document grids */
  .grid-5 { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .link-5 { font-size: 13px !important; padding: 14px 10px !important; min-height: 56px !important; }
  .grid-6 { grid-template-columns: 1fr !important; padding: 16px !important; gap: 12px !important; }

  /* Ceremony dates */
  .div-block-21 .heading-5 { font-size: 14px !important; padding: 12px 16px !important; }

  /* General info heading */
  .heading-14 { margin-bottom: 24px !important; padding: 14px 20px !important; }

  /* Footer */
  .footer-wrapper-two { flex-direction: column !important; gap: 24px !important; }
  .footer-bottom { flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
  .footer-copyright { font-size: 12px !important; }

  /* Headings */
  .heading-5 { font-size: 20px !important; }
  .heading-19 { font-size: 18px !important; min-width: 0 !important; }
  .heading-9 { font-size: 24px !important; }
  .heading-8 { font-size: 22px !important; }
  .heading-3 { font-size: 28px !important; }

  /* Buttons */
  .button { font-size: 14px !important; padding: 12px 20px !important; }
  .section-33 {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .section-33 .flex-block-2 {
    gap: 14px !important;
  }
  .section-33 .button,
  .section-33 a.button {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Map */
  body > .w-widget-map { height: 220px !important; }

  /* Section-32 ghost space */
  .section-32 { display: none !important; }
}

/* ================================================================
   INDEX PAGE — Hero taller on desktop where nav overlaps the image.
   At ≤991px the nav is solid/relative so no extra height needed.
   ================================================================ */
body.body .section-5 { height: 480px !important; }
