/* === Global UI Normalize (Buttons / Inputs / Search) === */
:root{--btn-text:#111;--btn-bg:linear-gradient(135deg,#FFD700 0%,#32CD32 100%);--btn-border:rgba(0,0,0,0.22);--btn-radius:12px;--btn-padx:20px;--btn-pady:10px;--btn-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 0 0 1px rgba(255,255,255,.1) inset;--btn-hover-bg:linear-gradient(135deg,#FFE34D 0%,#2DBD2D 100%);--btn-active-bg:linear-gradient(135deg,#E6C200 0%,#27A527 100%);--focus-ring:0 0 0 3px rgba(50,205,50,.25);}

button,
a[class*="btn"],
[class*="btn"],
a.cta, .cta, .cta-btn,
.nav button, .navbar button, .navbar .btn, nav .btn,
footer .btn, footer .cta, footer .cta-btn,
.hero .btn, .hero .cta, .hero .cta-btn {
  display: inline-block !important;
  width: auto !important;
  max-width: 280px;
  padding: var(--btn-pady) var(--btn-padx) !important;
  border-radius: var(--btn-radius) !important;
  border: 1px solid var(--btn-border) !important;
  text-align: center !important;
  text-decoration: none !important;
  font-size: 1rem !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
  background: var(--btn-bg) !important;
  color: var(--btn-text) !important;
  box-shadow: var(--btn-shadow) !important;
}

.btn + .btn, 
[class*="btn"] + [class*="btn"],
.cta + .cta, .cta + .btn, .btn + .cta {
  margin-left: 10px;
}

button:hover,
a[class*="btn"]:hover,
.cta:hover, .cta-btn:hover {
  background: var(--btn-hover-bg) !important;
  opacity: 0.98;
}
button:active,
a[class*="btn"]:active,
.cta:active, .cta-btn:active {
  background: var(--btn-active-bg) !important;
  transform: translateY(1px);
}

button:focus-visible,
a[class*="btn"]:focus-visible,
.cta:focus-visible, .cta-btn:focus-visible {
  outline: none !important;
  box-shadow: var(--btn-shadow), var(--focus-ring) !important;
}

.hero button,
.hero a[class*="btn"],
.hero .cta, .hero .cta-btn {
  color: var(--btn-text) !important;
}

.hero .actions, .hero-actions, .nav-actions, .footer-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.hero .actions > *, .hero-actions > *, .nav-actions > *, .footer-actions > * {
  flex: 0 0 auto !important;
}

/* Inputs / Search */
input[type="search"], input[type="text"], input[type="email"], input[type="url"], input[type="tel"], input[type="password"],
.search input, .searchbar input, .faq-search input, #search, #faq-search {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  display: block;
  width: 100%;
  max-width: 480px;
  padding: 12px 14px;
  font-size: 16px;
  line-height: 1.25;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.25);
  background: rgba(255,255,255,0.06);
  color: #fff;
  box-sizing: border-box;
  outline: none;
  backdrop-filter: blur(6px);
}
input::placeholder { color: rgba(255,255,255,0.65); }
input:focus {
  border-color: rgba(50,205,50,0.9);
  box-shadow: 0 0 0 3px rgba(50,205,50,0.25);
}
.search-wrap, .searchbar, .faq-search, .search-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

@media (max-width: 480px) {
  button,
  a[class*="btn"],
  [class*="btn"],
  a.cta, .cta, .cta-btn {
    max-width: 92vw;
  }
  .btn + .btn, [class*="btn"] + [class*="btn"] {
    margin-left: 8px;
    margin-top: 8px;
  }
}

button::-moz-focus-inner { border: 0; padding: 0; }

/* Primary CTA mapping to theme */
.btn-primary, .cta-primary {
  background: var(--btn-bg) !important;
  color: var(--btn-text) !important;
  border: 1px solid var(--btn-border) !important;
}
.btn-primary:hover, .cta-primary:hover { background: var(--btn-hover-bg) !important; }
.btn-primary:active, .cta-primary:active { background: var(--btn-active-bg) !important; }

/* Hamburger visibility: only on small screens */
.hamburger, .nav-toggle, .menu-toggle {
  display: none;
}
@media (max-width: 820px){
  .hamburger, .nav-toggle, .menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

/* Single-line hamburger (closed) */
.hamburger span, .nav-toggle span, .menu-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
}
/* Hide extra lines when not active */
.hamburger:not(.is-open) span:nth-child(2),
.hamburger:not(.is-open) span:nth-child(3),
.nav-toggle:not(.is-open) span:nth-child(2),
.nav-toggle:not(.is-open) span:nth-child(3),
.menu-toggle:not(.is-open) span:nth-child(2),
.menu-toggle:not(.is-open) span:nth-child(3){
  display: none;
}


/* NAV: Hamburger visibility (mobile-only) */
.hamburger, .nav-toggle, .menu-toggle {
  display: none !important;
}
@media (max-width: 820px){
  .hamburger, .nav-toggle, .menu-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }
}
/* Single-line hamburger icon when closed */
.hamburger span, .nav-toggle span, .menu-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
}
.hamburger:not(.is-open) span:nth-child(2),
.hamburger:not(.is-open) span:nth-child(3),
.nav-toggle:not(.is-open) span:nth-child(2),
.nav-toggle:not(.is-open) span:nth-child(3),
.menu-toggle:not(.is-open) span:nth-child(2),
.menu-toggle:not(.is-open) span:nth-child(3){
  display: none;
}


/* FAQ: Simpler question style (not button-like) */
.faq-item { margin: 10px 0; }
.faq-question {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 12px 8px !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(255,255,255,0.2) !important;
  color: #fff !important;
  font-size: 1.05rem !important;
  line-height: 1.3 !important;
  text-align: left !important;
  box-shadow: none !important;
}
.faq-question:focus-visible { outline: none !important; box-shadow: 0 0 0 3px rgba(50,205,50,0.25) !important; }
.faq-icon { flex: 0 0 auto; margin-right: 10px; font-weight: 700; }
.faq-text { flex: 1 1 auto; white-space: normal !important; overflow: visible !important; }
.faq-answer {
  display: none;
  padding: 10px 0 14px;
  color: rgba(255,255,255,0.9);
  border-left: 2px solid rgba(50,205,50,0.5);
  margin-left: 12px;
  padding-left: 12px;
}
.faq-item.open .faq-answer { display: block; }
.faq-item.open .faq-icon { transform: rotate(45deg); } /* + becomes x for open; optional */


/* Remove clear 'X' from search inputs */
input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; height: 0; width: 0; margin: 0; }
input[type="search"]::-ms-clear, input[type="search"]::-ms-reveal { display: none; width: 0; height: 0; }


/* Brand logo background: gold->green gradient */
.brand-logo-wrap{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px;
  border-radius:10px;
  background: linear-gradient(135deg,#FFD700 0%, #32CD32 100%);
}
.brand-logo-wrap img{ display:block; height:auto; }


/* === Force hamburger hidden on desktop (strong selectors) === */
nav .hamburger, nav .menu-toggle, nav .nav-toggle, nav .mobile-toggle, nav .toggle, nav #menu-toggle, 
nav button[aria-label*="menu" i], nav [data-toggle="nav"], nav [data-role="menu-toggle"] {
  display: none !important;
}
@media (max-width: 820px){
  nav .hamburger, nav .menu-toggle, nav .nav-toggle, nav .mobile-toggle, nav .toggle, nav #menu-toggle,
  nav button[aria-label*="menu" i], nav [data-toggle="nav"], nav [data-role="menu-toggle"] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }
}
/* Single-line icon default */
nav .hamburger span, nav .menu-toggle span, nav .nav-toggle span, nav .toggle span {
  display: block;
  width: 22px; height: 2px;
  background: #fff; border-radius: 2px;
}
nav .hamburger:not(.is-open) span:nth-child(n+2),
nav .menu-toggle:not(.is-open) span:nth-child(n+2),
nav .nav-toggle:not(.is-open) span:nth-child(n+2),
nav .toggle:not(.is-open) span:nth-child(n+2) { display: none !important; }

/* === FAQ: Simplify and prevent truncation === */
.faq .faq-item, .faq-item { margin: 10px 0; }
.faq .faq-q, .faq-q {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 12px 8px !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(255,255,255,0.2) !important;
  color: #fff !important;
  font-size: 1.05rem !important;
  line-height: 1.35 !important;
  text-align: left !important;
  box-shadow: none !important;
  white-space: normal !important;
  overflow: visible !important;
}
.faq .faq-q > span:first-child { flex: 1 1 auto; }
.faq .faq-q .chev, .faq-q .chev { margin-left: 10px; font-weight: 700; flex: 0 0 auto; }
.faq .faq-a, .faq-a {
  display: none;
  padding: 10px 0 14px;
  color: rgba(255,255,255,0.9);
  border-left: 2px solid rgba(50,205,50,0.5);
  margin-left: 12px;
  padding-left: 12px;
  white-space: normal !important;
}
.faq .faq-item.open .faq-a, .faq-item.open .faq-a { display: block; }
.faq .faq-item.open .chev, .faq-item.open .chev { transform: rotate(45deg); }

/* Remove Search 'X' */
input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; width:0; height:0; margin:0; }
input[type="search"]::-ms-clear, input[type="search"]::-ms-reveal { display:none; width:0; height:0; }


/* Strong hamburger hide/show */
nav .hamburger, nav .menu-toggle, nav .nav-toggle, nav .mobile-toggle, nav .toggle, nav #menu-toggle,
nav [data-role="menu-toggle"], nav [data-toggle="nav"], nav [aria-controls*="menu" i] {
  display: none !important;
}
@media (max-width: 820px){
  nav .hamburger, nav .menu-toggle, nav .nav-toggle, nav .mobile-toggle, nav .toggle, nav #menu-toggle,
  nav [data-role="menu-toggle"], nav [data-toggle="nav"], nav [aria-controls*="menu" i] {
    display: inline-flex !important;
    align-items: center; justify-content: center;
  }
}

/* FAQ title single-line across width */
.faq .faq-q, .faq-q {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  width: 100% !important; padding: 12px 8px !important; background: transparent !important;
  border: none !important; border-bottom: 1px solid rgba(255,255,255,0.2) !important;
  color: #fff !important; font-size: 1.05rem !important; line-height: 1.35 !important; text-align: left !important;
  box-shadow: none !important;
}
.faq .faq-q > span:first-child, .faq-q > span:first-child {
  flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.faq .faq-q .chev, .faq-q .chev { margin-left: 10px; font-weight: 700; flex: 0 0 auto; }
.faq .faq-a, .faq-a {
  display: none; padding: 10px 0 14px; color: rgba(255,255,255,0.9);
  border-left: 2px solid rgba(50,205,50,0.5); margin-left: 12px; padding-left: 12px;
}
.faq .faq-item.open .faq-a, .faq-item.open .faq-a { display: block; }
.faq .faq-item.open .chev, .faq-item.open .chev { transform: rotate(45deg); }

/* Remove search clear 'X' */
input[type="search"]::-webkit-clear-button,
input[type="search"]::-webkit-search-cancel-button,
#faq-search::-webkit-search-cancel-button,
.faq-search input::-webkit-search-cancel-button {
  -webkit-appearance: none; appearance: none; display: none; width: 0; height: 0; margin: 0;
}
input[type="search"]::-webkit-search-decoration{ display:none; }
input[type="search"]::-ms-clear, input[type="search"]::-ms-reveal { display: none; width: 0; height: 0; }


/* Force hamburger hidden on desktop, visible <=820px */
nav #navToggle, nav .hamburger { display: none !important; }
@media (max-width: 820px){
  nav #navToggle, nav .hamburger { display: inline-flex !important; align-items:center; justify-content:center; }
}

/* FAQ row: full width, not button-like, no truncation */
.faq .faq-q, .faq-q {
  display:flex !important; align-items:center !important; justify-content:space-between !important;
  width:100% !important; max-width:none !important; padding:12px 10px !important;
  background: transparent !important; border:none !important; border-bottom:1px solid rgba(255,255,255,.2) !important;
  color:#fff !important; text-align:left !important; box-shadow:none !important;
}
.faq .faq-q > span:first-child, .faq-q > span:first-child { 
  flex:1 1 auto; min-width:0; white-space: normal !important; overflow: visible !important; text-overflow: clip !important;
}
.faq .faq-q .chev, .faq-q .chev { margin-left:12px; font-weight:700; flex:0 0 auto; }
.faq .faq-a, .faq-a { display:none; padding:10px 0 14px; color:rgba(255,255,255,.9); }
.faq .faq-item.open .faq-a, .faq-item.open .faq-a { display:block; }

/* Hide custom clear button and native clear */
.search-wrap .search-clear { display:none !important; }
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-clear-button,
#faq-search::-webkit-search-cancel-button { -webkit-appearance:none; appearance:none; display:none; width:0; height:0; margin:0; }
input[type="search"]::-ms-clear, input[type="search"]::-ms-reveal { display:none; width:0; height:0; }
