/* =============================================
   BASE — reset, layout helpers, buttons, cards
   Used on every page of the site
   ============================================= */

/* RESET */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  color: #212121;
  background: #ffffff;
}
img { display: block; max-width: 100%; }
a { color: inherit; }
a:focus, button:focus, input:focus, select:focus {
  outline: 3px solid #C8963A;
  outline-offset: 2px;
}

/* SKIP LINK */
.skip-link {
  position: absolute; top: -100%; left: 0;
  background: #C8963A; color: #fff;
  padding: 10px 22px; font-weight: bold; font-size: 15px;
  text-decoration: none; z-index: 9999; border-radius: 0 0 6px 0;
}
.skip-link:focus { top: 0; }

/* LAYOUT HELPERS */
.wrap { max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.sec-white  { background: #ffffff; }
.sec-pale   { background: #F2F8F5; }
.sec-dark   { background: #0F3D2E; }
.sec-deeper { background: #0a2e21; }
.pad    { padding: 20px 0; }
.pad-sm { padding: 18px 0; }

/* SECTION HEADING BLOCK */
.sh { text-align: center; margin-bottom: 32px; }
.sh-eye {
  display: inline-block;
  font-size: 11px; font-weight: bold; letter-spacing: 2.5px;
  text-transform: uppercase; color: #2A6E5A;
  background: #E3F2EB; padding: 5px 16px; border-radius: 20px;
  margin-bottom: 14px;
}
.sh-eye-gold { color: #C8963A; background: rgba(200,150,58,0.1); }
.sh h2 { font-size: 30px; color: #0F3D2E; margin-bottom: 12px; line-height: 1.25; }
.sh p  { font-size: 16px; color: #555; max-width: 560px; margin: 0 auto; line-height: 1.6; }
.sh-light h2 { color: #fff; }
.sh-light p  { color: #9FD4BE; }
.view-all { text-align: center; margin-top: 44px; }

/* BUTTONS */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: Arial, sans-serif; font-size: 14px; font-weight: bold;
  text-decoration: none; cursor: pointer;
  border-radius: 6px; padding: 12px 26px; min-height: 48px;
  border: 2px solid transparent;
  transition: background 0.18s, color 0.18s, border-color 0.18s, transform 0.12s;
  white-space: nowrap;
}
.btn-gold              { background: linear-gradient(135deg, #DBA830 0%, #C8963A 100%); color: #fff; border-color: #C8963A; box-shadow: 0 4px 14px rgba(200,150,58,0.35); }
.btn-gold:hover        { background: linear-gradient(135deg, #C8963A 0%, #a87828 100%); color: #fff; border-color: #a87828; transform: translateY(-4px) scale(1.03); box-shadow: 0 14px 36px rgba(200,150,58,0.45), 0 4px 10px rgba(0,0,0,0.12); }
.btn-green             { background: #0F3D2E; color: #fff; border-color: #0F3D2E; }
.btn-green:hover       { background: #2A6E5A; border-color: #2A6E5A; transform: translateY(-1px); }
.btn-outline-dark      { background: transparent; color: #0F3D2E; border-color: #0F3D2E; }
.btn-outline-dark:hover  { background: #0F3D2E; color: #fff; }
.btn-outline-white     { background: transparent; color: #fff; border-color: rgba(255,255,255,0.55); }
.btn-outline-white:hover { background: rgba(255,255,255,0.1); border-color: #fff; }
.btn-outline-gold      { background: transparent; color: #C8963A; border-color: #C8963A; }
.btn-outline-gold:hover  { background: #C8963A; color: #fff; transform: translateY(-1px); }
.btn-green2            { background: linear-gradient(135deg, #2A8C6E 0%, #0F3D2E 100%); color: #fff; border-color: #2A6E5A; box-shadow: 0 4px 14px rgba(15,61,46,0.30); }
.btn-green2:hover      { background: linear-gradient(135deg, #1a5c40 0%, #0a2e21 100%); color: #FFD700; border-color: #C8963A; transform: translateY(-4px) scale(1.03); box-shadow: 0 14px 36px rgba(15,61,46,0.45), 0 0 0 3px rgba(200,150,58,0.35), 0 4px 10px rgba(0,0,0,0.15); }

/* BUTTON ICON SIZE HELPER */
.btn-ico-lg { font-size: 1.55em; line-height: 1; display: inline-flex; align-items: center; }

/* CARD HOVER — shared by all card types */
.card-hov {
  transition: box-shadow 0.25s, border-color 0.25s, transform 0.22s;
  border: 1px solid rgba(200,150,58,0.25);
}
.card-hov:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow:
    0 24px 64px rgba(15,61,46,0.22),
    0 8px 20px rgba(200,150,58,0.28),
    0 2px 6px rgba(0,0,0,0.10);
  border-color: #C8963A;
}

/* HIGH CONTRAST MODE */
body.hcm { filter: contrast(1.6) saturate(0.85); }

/* HOMEPAGE — remove every GeneratePress/Gutenberg wrapper gap above hero */
.home .site-content,
.home .site-content .grid-container,
.home .site-main,
.home .content-area,
.home article.page,
.home .inside-article,
.home .entry-header,
.home .entry-content,
.home .entry-content > *,
.home .wp-block-group {
  max-width: 100% !important;
  width: 100% !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* RESPONSIVE BASE */
@media (max-width: 768px) {
  body      { font-size: 15px; }
  .btn      { justify-content: center; max-width: 300px; }
  .sh h2    { font-size: 24px; }
  .pad      { padding: 20px 0; }
}
