/* ========================================
PAGE 993
MEMBERSHIP APPLICATION
BASE FORM CSS
======================================== */

/* -----------------------------
PAGE SECTION WRAPPERS
----------------------------- */
.page-id-993 .crm-container,
.page-id-993 .civicrm-public-form,
.page-id-993 form.crm-block,
.page-id-993 .crm-form-block {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 32px;
  padding-right: 32px;
  box-sizing: border-box;
}

/* -----------------------------
FORM CARD
----------------------------- */
.page-id-993 .crm-container form,
.page-id-993 .crm-form-block,
.page-id-993 form.crm-block {
  background: #ffffff;
  border: 1px solid rgba(19, 43, 99, 0.08);
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
  padding: 32px;
  box-sizing: border-box;
}

/* -----------------------------
FORM TYPOGRAPHY
----------------------------- */
.page-id-993 .crm-container,
.page-id-993 .crm-container p,
.page-id-993 .crm-container div,
.page-id-993 .crm-container td,
.page-id-993 .crm-container label {
  font-size: 16px;
  line-height: 1.55;
  color: #374151;
}

.page-id-993 .crm-container h2,
.page-id-993 .crm-container h3,
.page-id-993 .crm-container legend,
.page-id-993 .crm-container .price-set-entity-label {
  color: #132b63;
  font-weight: 700;
}

.page-id-993 .crm-container label,
.page-id-993 .crm-container td.label,
.page-id-993 .crm-container .label {
  color: #1f2937;
  font-weight: 600;
}

/* -----------------------------
FORM SPACING
----------------------------- */
.page-id-993 .crm-container fieldset,
.page-id-993 .crm-container .crm-group {
  margin-bottom: 28px;
}

.page-id-993 .crm-container .crm-section {
  margin-bottom: 18px;
}

.page-id-993 .crm-container .crm-section .label {
  padding-right: 18px;
}

/* -----------------------------
INPUTS
----------------------------- */
.page-id-993 .crm-container input[type="text"],
.page-id-993 .crm-container input[type="email"],
.page-id-993 .crm-container input[type="tel"],
.page-id-993 .crm-container input[type="number"],
.page-id-993 .crm-container input[type="date"],
.page-id-993 .crm-container select,
.page-id-993 .crm-container textarea {
  width: 100%;
  min-height: 46px;
  padding: 10px 14px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #ffffff;
  color: #1f2937;
  box-sizing: border-box;
}

.page-id-993 .crm-container textarea {
  min-height: 120px;
}

.page-id-993 .crm-container input:focus,
.page-id-993 .crm-container select:focus,
.page-id-993 .crm-container textarea:focus {
  outline: none;
  border-color: #132b63;
  box-shadow: 0 0 0 3px rgba(19, 43, 99, 0.10);
}

/* -----------------------------
MESSAGES
----------------------------- */
.page-id-993 .crm-container .messages,
.page-id-993 .crm-container .crm-status-msg,
.page-id-993 .crm-container .help {
  padding: 12px 14px;
  margin-bottom: 16px;
  border-radius: 8px;
}

/* -----------------------------
MEMBERSHIP TYPE
----------------------------- */
.page-id-993 .crm-container .price-set-row {
  padding: 12px 14px;
  margin-bottom: 10px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #ffffff;
  box-sizing: border-box;
}

.page-id-993 .crm-container .price-set-row input[type="radio"] {
  margin-right: 10px;
  transform: scale(1.1);
}

.page-id-993 .crm-container .price-set-row label {
  font-weight: 600;
}

/* -----------------------------
BUTTONS
----------------------------- */
.page-id-993 .crm-container input[type="submit"],
.page-id-993 .crm-container button,
.page-id-993 .crm-container .crm-form-submit,
.page-id-993 .crm-container .button {
  min-height: 46px;
  padding: 12px 22px;
  border: 2px solid #6B0D0D;
  border-radius: 4px;
  background: #6B0D0D;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.page-id-993 .crm-container input[type="submit"]:hover,
.page-id-993 .crm-container button:hover,
.page-id-993 .crm-container .crm-form-submit:hover,
.page-id-993 .crm-container .button:hover {
  background: #4F0909;
  border-color: #4F0909;
  transform: translateY(-1px);
}

/* ========================================
PAGE 993
MEMBERSHIP APPLICATION
CLASS-BASED CLEANUP
======================================== */

/* -----------------------------
SECTION WRAPPERS
----------------------------- */
.page-id-993 .section-membership-hero,
.page-id-993 .section-membership-help {
  position: relative;
}

.page-id-993 .section-membership-intro .intro-copy {
  max-width: 760px;
}

/* -----------------------------
HERO LAYOUT
----------------------------- */
.page-id-993 .section-membership-hero .hero-copy .kt-inside-inner-col {
  max-width: 620px;
}

.page-id-993 .section-membership-hero .hero-media .kt-inside-inner-col {
  display: flex;
  justify-content: center;
  align-items: center;
}

.page-id-993 .section-membership-hero .hero-image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}

/* -----------------------------
FORM WRAPPER
----------------------------- */
.page-id-993 .panel-form-shell {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 40px 64px;
  box-sizing: border-box;
}

.page-id-993 .panel-form-shell .crm-container,
.page-id-993 .panel-form-shell .civicrm-public-form,
.page-id-993 .panel-form-shell form.crm-block,
.page-id-993 .panel-form-shell .crm-form-block {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

/* -----------------------------
HELP SECTION
----------------------------- */
.page-id-993 .section-membership-help .cta-copy .kt-inside-inner-col {
  max-width: 620px;
}

.page-id-993 .section-membership-help .cta-aside .kt-inside-inner-col {
  text-align: center;
}

/* -----------------------------
OFFICER PANEL
----------------------------- */
.page-id-993 .panel-contact .officer-image img {
  display: block;
  max-width: 280px;
  width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

.page-id-993 .panel-contact .officer-meta {
  margin-top: 14px;
  margin-bottom: 0;
  color: #ffffff;
  font-size: 14px;
  line-height: 1.6;
}

.page-id-993 .panel-contact .officer-meta a {
  color: #e0b24a;
  text-decoration: none;
}

.page-id-993 .panel-contact .officer-meta a:hover {
  text-decoration: underline;
}

/* -----------------------------
BUTTON GROUPS
----------------------------- */
.page-id-993 .hero-actions,
.page-id-993 .cta-actions {
  gap: 10px;
}

.page-id-993 .hero-actions .wp-block-button__link,
.page-id-993 .cta-actions .wp-block-button__link {
  min-height: 44px;
}




/* ========================================
PAGE 993
CIVICRM MOBILE HARD WIDTH OVERRIDE
PUT THIS AT THE VERY BOTTOM
======================================== */

@media (max-width: 767px) {

  /* outer page shell */
  .page-id-993 .site,
  .page-id-993 .site-container,
  .page-id-993 .site-content,
  .page-id-993 .content-area,
  .page-id-993 .site-main,
  .page-id-993 .entry-content,
  .page-id-993 .entry-content-wrap,
  .page-id-993 .wp-site-blocks,
  .page-id-993 article,
  .page-id-993 .entry,
  .page-id-993 .panel-form-shell,
  .page-id-993 .section-membership-form-wrap {
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* civicrm wrappers */
  .page-id-993 .crm-container,
  .page-id-993 .civicrm-public-form,
  .page-id-993 .crm-form-block,
  .page-id-993 form.crm-block,
  .page-id-993 #crm-container,
  .page-id-993 #crm-container-inner {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  /* actual form card */
  .page-id-993 .crm-container form,
  .page-id-993 .crm-form-block,
  .page-id-993 form.crm-block,
  .page-id-993 #crm-container form {
    margin: 0 !important;
    padding: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* kill table widths */
  .page-id-993 .crm-container table,
  .page-id-993 .crm-container tbody,
  .page-id-993 .crm-container thead,
  .page-id-993 .crm-container tfoot,
  .page-id-993 .crm-container tr,
  .page-id-993 .crm-container td,
  .page-id-993 .crm-container th,
  .page-id-993 .crm-container colgroup,
  .page-id-993 .crm-container col,
  .page-id-993 .crm-container table.form-layout,
  .page-id-993 .crm-container table.form-layout-compressed,
  .page-id-993 .crm-container table.crm-section {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    table-layout: auto !important;
    box-sizing: border-box !important;
  }

  /* labels and content rows */
  .page-id-993 .crm-container td.label,
  .page-id-993 .crm-container td.content,
  .page-id-993 .crm-container .crm-section .label,
  .page-id-993 .crm-container .crm-section .content,
  .page-id-993 .crm-container .label,
  .page-id-993 .crm-container .content {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  /* every common field class civicrm uses */
  .page-id-993 .crm-container input,
  .page-id-993 .crm-container select,
  .page-id-993 .crm-container textarea,
  .page-id-993 .crm-container .form-text,
  .page-id-993 .crm-container .form-select,
  .page-id-993 .crm-container .crm-form-text,
  .page-id-993 .crm-container .crm-form-select,
  .page-id-993 .crm-container .small,
  .page-id-993 .crm-container .medium,
  .page-id-993 .crm-container .huge,
  .page-id-993 .crm-container .eight,
  .page-id-993 .crm-container .required,
  .page-id-993 .crm-container .email,
  .page-id-993 .crm-container .phone,
  .page-id-993 .crm-container .text,
  .page-id-993 .crm-container .url {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* beat inline widths */
  .page-id-993 .crm-container input[style],
  .page-id-993 .crm-container select[style],
  .page-id-993 .crm-container textarea[style],
  .page-id-993 .crm-container td[style],
  .page-id-993 .crm-container tr[style],
  .page-id-993 .crm-container table[style],
  .page-id-993 .crm-container div[style] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* select2 */
  .page-id-993 .crm-container .select2-container,
  .page-id-993 .crm-container .select2-container[style],
  .page-id-993 .crm-container .select2-selection,
  .page-id-993 .crm-container .select2-selection--single,
  .page-id-993 .crm-container .select2-selection--multiple {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* price rows */
  .page-id-993 .crm-container .price-set-row,
  .page-id-993 .crm-container .crm-radio-wrapper,
  .page-id-993 .crm-container .crm-checkbox-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 8px 0 !important;
    padding: 8px !important;
    box-sizing: border-box !important;
  }
}

/* ========================================
PAGE 993
MOBILE STICKY HEADER FIX
PUT AT VERY BOTTOM
======================================== */

@media (max-width: 767px) {

  /* fixed mobile header shell */
  body.page-id-993 .site-header,
  body.page-id-993 .site-main-header-wrap,
  body.page-id-993 .site-header-row-container {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.admin-bar.page-id-993 .site-header,
  body.admin-bar.page-id-993 .site-main-header-wrap,
  body.admin-bar.page-id-993 .site-header-row-container {
    top: 46px !important;
  }

  /* dark mobile header bar */
  body.page-id-993 .site-main-header-inner-wrap,
  body.page-id-993 .site-header-row-container-inner,
  body.page-id-993 .site-header-wrap {
    min-height: 56px !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: rgba(7, 16, 31, 0.96) !important;
    backdrop-filter: blur(6px);
    box-shadow: none !important;
    border: 0 !important;
  }

  /* keep hamburger properly sized */
  body.page-id-993 .mobile-toggle-open-container,
  body.page-id-993 .mobile-toggle-container,
  body.page-id-993 .menu-toggle-open {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.page-id-993 .menu-toggle-open .menu-toggle-icon,
  body.page-id-993 .mobile-toggle-container .menu-toggle-icon,
  body.page-id-993 .mobile-nav-toggle-icon,
  body.page-id-993 .mobile-toggle-open-container svg {
    width: 20px !important;
    height: 20px !important;
    transform: none !important;
  }

  /* remove extra top spacing from page shell */
  body.page-id-993 .site-content,
  body.page-id-993 .content-area,
  body.page-id-993 .site-main,
  body.page-id-993 .entry-content,
  body.page-id-993 .entry-content-wrap,
  body.page-id-993 .page-system,
  body.page-id-993 article,
  body.page-id-993 .entry {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* push hero down so header does not overlap */
  body.page-id-993 .section-membership-hero,
  body.page-id-993 .section-membership-hero .kt-row-layout-inner,
  body.page-id-993 .section-membership-hero .kt-row-column-wrap {
    margin-top: 0 !important;
    padding-top: 70px !important;
  }

  body.admin-bar.page-id-993 .section-membership-hero,
  body.admin-bar.page-id-993 .section-membership-hero .kt-row-layout-inner,
  body.admin-bar.page-id-993 .section-membership-hero .kt-row-column-wrap {
    padding-top: 35px !important;
  }

  /* keep header wrappers clean */
  body.page-id-993 .site-header-section-left,
  body.page-id-993 .site-header-section-center,
  body.page-id-993 .site-header-section-right,
  body.page-id-993 .site-header-item,
  body.page-id-993 .site-branding {
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
  }
}