/* V7.2 — final polish pass for public/internal fundraising UI.
 * Loaded after ui-v7-1-header-fix.css. Keeps layout compact, stable and non-overlapping.
 */

:root {
  --v72-rail: clamp(28px, 3.2vw, 64px);
  --v72-green: #356b49;
  --v72-green-dark: #0f3d2a;
  --v72-red: #ed0b14;
  --v72-cream: #f8f4ed;
  --v72-soft: #f7faf8;
  --v72-line: rgba(15, 61, 42, .12);
  --v72-muted: #6d756f;
}

/* Header: one normal-flow system, same horizontal rail on both rows. */
.foundation-header,
.module-nav {
  position: relative !important;
  top: auto !important;
  left: auto !important;
}

.foundation-header {
  background: #fff !important;
  border-bottom: 1px solid #ededeb !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.foundation-header__inner,
.module-nav__inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: var(--v72-rail) !important;
  padding-right: var(--v72-rail) !important;
  box-sizing: border-box !important;
}

.foundation-header__inner {
  min-height: 58px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}

.foundation-brand {
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
}
.foundation-brand__logo {
  width: auto !important;
  height: 40px !important;
  max-width: 170px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

.foundation-header__actions { margin-left: auto !important; margin-right: 0 !important; }
.foundation-header__utility { gap: 24px !important; }
.foundation-header__utility a { font-size: 14px !important; }
.header-help-button,
.foundation-menu summary { min-height: 40px !important; height: 40px !important; }

.module-nav {
  min-height: 48px !important;
  background: #f6faf7 !important;
  border-top: 0 !important;
  border-bottom: 1px solid #dfe7e1 !important;
  backdrop-filter: none !important;
}
.module-nav__inner { min-height: 48px !important; }
.module-nav__brand::before { content: none !important; display: none !important; }
.module-nav__brand > span {
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  flex: 0 0 7px !important;
  border-radius: 50% !important;
  background: var(--v72-red) !important;
  box-shadow: 0 0 0 4px rgba(237, 11, 20, .07) !important;
}

.foundation-menu__panel {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  left: auto !important;
}

/* Public homepage rhythm. */
.hero-v4.hero-v7 { margin-top: 18px !important; min-height: 486px !important; }
.home-campaigns-v4.home-campaigns-v7 { padding-top: 34px !important; padding-bottom: 28px !important; }
.home-create-v3.home-create-v7 { margin-top: 18px !important; margin-bottom: 30px !important; }
.section-heading { margin-bottom: 18px !important; }
.section-heading h2 { margin-bottom: 6px !important; }

/* Campaign detail: reduce dead space and keep donation panel in normal flow. */
.campaign-v4 {
  margin-top: 24px !important;
  margin-bottom: 34px !important;
}
.campaign-v4__header {
  gap: 18px !important;
  margin-bottom: 20px !important;
  padding-bottom: 18px !important;
}
.campaign-v4__header h1 {
  margin: 6px 0 8px !important;
  font-size: clamp(38px, 4vw, 58px) !important;
  line-height: .98 !important;
}
.campaign-v4__header-meta { gap: 8px !important; }
.campaign-v4__grid {
  gap: 24px !important;
  align-items: start !important;
}
.campaign-v4__story { gap: 18px !important; }
.campaign-v4__cover { border-radius: 20px !important; overflow: hidden !important; }
.campaign-v4__story-meta {
  gap: 0 !important;
  border: 1px solid var(--v72-line) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #fff !important;
}
.campaign-v4__story-meta > div {
  padding: 16px 18px !important;
}
.campaign-v4__story-meta > div + div { border-left: 1px solid var(--v72-line) !important; }
.campaign-v4__content {
  padding: 24px !important;
  border: 1px solid var(--v72-line) !important;
  border-radius: 20px !important;
  background: #fff !important;
}
.campaign-v4__content h2 { margin: 4px 0 14px !important; }
.campaign-v4__content .description p { margin: 0 0 12px !important; line-height: 1.6 !important; }
.campaign-v4__donation,
.donation-panel {
  position: static !important;
  top: auto !important;
  padding: 24px !important;
  border-radius: 20px !important;
  box-shadow: 0 18px 50px rgba(15, 61, 42, .08) !important;
}
.amount-options { gap: 8px !important; }
.amount-option { min-height: 42px !important; }
.donation-form .form-field { margin-top: 14px !important; }
.donation-trust { margin-top: 18px !important; gap: 10px !important; }
.campaign-v4__share { margin-top: 0 !important; }
.section-other-campaigns-v4 { padding-top: 6px !important; padding-bottom: 32px !important; }

/* Auth/create/edit forms: premium but compact. */
.form-panel {
  width: min(880px, calc(100% - 40px)) !important;
  max-width: none !important;
  margin: 28px auto 42px !important;
  padding: clamp(24px, 3vw, 38px) !important;
  border: 1px solid var(--v72-line) !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, #fff, #fbfcfb) !important;
  box-shadow: 0 24px 70px rgba(15, 61, 42, .07) !important;
  box-sizing: border-box !important;
}
.form-panel > h1 {
  margin: 4px 0 14px !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  line-height: 1 !important;
}
.form-intro,
.moderation-note {
  margin: 0 0 18px !important;
  padding: 16px 18px !important;
  border-radius: 16px !important;
  border: 1px solid var(--v72-line) !important;
  background: var(--v72-soft) !important;
}
.form-intro p,
.moderation-note p { margin: 6px 0 0 !important; }
.form-field { margin-bottom: 16px !important; }
.form-field > label {
  display: block !important;
  margin-bottom: 7px !important;
  color: #2b4938 !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}
.form-field input:not([type="checkbox"]):not([type="radio"]),
.form-field textarea,
.form-field select,
.form-panel input:not([type="checkbox"]):not([type="radio"]),
.form-panel textarea,
.form-panel select {
  width: 100% !important;
  min-height: 46px !important;
  padding: 10px 13px !important;
  border: 1px solid #d8e1da !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}
.form-field textarea,
.form-panel textarea { min-height: 132px !important; resize: vertical !important; }
.form-field input:focus,
.form-field textarea:focus,
.form-field select:focus,
.form-panel input:focus,
.form-panel textarea:focus,
.form-panel select:focus {
  outline: 3px solid rgba(53, 107, 73, .12) !important;
  border-color: rgba(53, 107, 73, .55) !important;
}
.help-text { margin-top: 5px !important; color: var(--v72-muted) !important; font-size: 12px !important; line-height: 1.45 !important; }
.form-actions {
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid var(--v72-line) !important;
}

/* Generic account/dashboard blocks: remove oversized gaps without changing semantics. */
.dashboard,
.account-dashboard,
.dashboard-panel,
.account-panel {
  margin-top: 24px !important;
  margin-bottom: 34px !important;
}
.dashboard .section,
.account-dashboard .section { padding-top: 22px !important; padding-bottom: 22px !important; }

@media (max-width: 980px) {
  .foundation-header__utility { display: none !important; }
  .campaign-v4__grid { grid-template-columns: 1fr !important; }
  .campaign-v4__story-meta { grid-template-columns: 1fr !important; }
  .campaign-v4__story-meta > div + div {
    border-left: 0 !important;
    border-top: 1px solid var(--v72-line) !important;
  }
}

@media (max-width: 720px) {
  :root { --v72-rail: 16px; }
  .foundation-brand__logo { height: 36px !important; max-width: 150px !important; }
  .foundation-header__actions { gap: 8px !important; }
  .header-help-button { display: none !important; }
  .module-nav__inner { overflow-x: auto !important; }
  .hero-v4.hero-v7 { margin-top: 12px !important; }
  .form-panel { width: calc(100% - 24px) !important; margin-top: 16px !important; padding: 20px !important; }
  .campaign-v4 { margin-top: 16px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .button,
  .header-help-button,
  .foundation-menu summary,
  .module-nav__links a { transition: none !important; transform: none !important; }
}
