/*!
 * Glory Theme — MCPT visual bridge
 * Makes the portal/login/donation UI inherit Glory tokens and spacing.
 */

.mcpt-wrap,
.mcpt-portal-root{
  width: min(100%, var(--container));
  margin-inline: auto;
  padding: clamp(1rem, 3vw, 1.5rem);
  color: var(--text);
}

.mcpt-wrap .mcpt-header,
.mcpt-wrap .mcpt-panel,
.mcpt-wrap .mcpt-card,
.mcpt-wrap .mcpt-account-block,
.mcpt-wrap .mcpt-account-subcard,
.mcpt-wrap .mcpt-account-security-card,
.mcpt-wrap .mcpt-case-empty-card,
.mcpt-wrap .mcpt-case-active-card,
.mcpt-wrap .mcpt-offline-instructions-box,
.mcpt-wrap .mcpt-offline-methods,
.mcpt-wrap .mcpt-offline-instructions,
.mcpt-wrap .mcpt-offline-methods-list .mcpt-offline-method-block,
.mcpt-wrap .mcpt-receipt-upload-box,
.mcpt-wrap .mcpt-msg-empty,
.mcpt-portal-root .mcpt-header,
.mcpt-portal-root .mcpt-panel,
.mcpt-portal-root .mcpt-card,
.mcpt-portal-root .mcpt-account-block,
.mcpt-portal-root .mcpt-account-subcard,
.mcpt-portal-root .mcpt-account-security-card,
.mcpt-portal-root .mcpt-case-empty-card,
.mcpt-portal-root .mcpt-case-active-card,
.mcpt-portal-root .mcpt-offline-instructions-box,
.mcpt-portal-root .mcpt-offline-methods,
.mcpt-portal-root .mcpt-offline-instructions,
.mcpt-portal-root .mcpt-offline-methods-list .mcpt-offline-method-block,
.mcpt-portal-root .mcpt-receipt-upload-box,
.mcpt-portal-root .mcpt-msg-empty{
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--glass);
  color: var(--text);
  box-shadow: var(--shadow2);
}

.mcpt-header-title,
.mcpt-card-title,
.mcpt-section-title,
.mcpt-account-tab-title,
.mcpt-account-block-header .mcpt-account-block-title,
.mcpt-payment-choice-label,
.mcpt-receipt-upload-title,
.mcpt-offline-method-panel-title{
  color: var(--glory-title-color, var(--glory-heading-color, var(--text)));
}

.mcpt-header-user-label,
.mcpt-section-desc,
.mcpt-intro-text,
.mcpt-muted,
.mcpt-account-tab-desc,
.mcpt-account-block-header .mcpt-account-block-desc,
.mcpt-account-subcard-desc,
.mcpt-case-empty-desc,
.mcpt-case-active-hint,
.mcpt-receipt-upload-desc,
.mcpt-pay-online-note,
.mcpt-notice-offline-submitted .mcpt-notice-text{
  color: var(--glory-text-color, var(--muted));
}

.mcpt-header-user-link,
.mcpt-btn-link{
  color: var(--brand);
}

.mcpt-tab-btn,
.mcpt-account-nav-btn,
.mcpt-offline-method-tab,
.mcpt-notifications-pagination button{
  min-height: 44px;
  border-radius: var(--radius-sm);
  color: var(--text);
}

.mcpt-tab-btn:hover,
.mcpt-account-nav-btn:hover,
.mcpt-offline-method-tab:hover,
.mcpt-notifications-pagination button:hover{
  background: rgba(8,77,59,.08);
}

.mcpt-tab-btn[aria-selected="true"],
.mcpt-account-nav-btn.is-active,
.mcpt-account-nav-btn[aria-selected="true"],
.mcpt-offline-method-tab[aria-selected="true"]{
  background: linear-gradient(135deg, rgba(8,77,59,.12), rgba(16,185,129,.10));
  color: var(--brand);
  border-color: rgba(8,77,59,.18);
}

.mcpt-btn,
.mcpt-btn-primary,
.mcpt-btn-secondary,
.mcpt-actions .button,
.mcpt-header-user-logout.button{
  min-height: 44px;
  padding: 0.7rem 1.2rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
}

.mcpt-btn-primary,
.mcpt-actions .button,
.mcpt-header-user-logout.button{
  background: linear-gradient(135deg, var(--brand), var(--brand2));
  color: #fff;
  border-color: transparent;
}

.mcpt-btn-secondary{
  background: rgba(255,255,255,.5);
  color: var(--text);
}

.mcpt-input-full,
.mcpt-textarea,
.mcpt-phone-wrap .iti input,
.mcpt-code-input,
.mcpt-account-form .mcpt-input-full{
  min-height: 44px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text);
  box-shadow: none;
}

.mcpt-input-full:focus,
.mcpt-textarea:focus,
.mcpt-phone-wrap .iti input:focus,
.mcpt-code-input:focus,
.mcpt-account-form .mcpt-input-full:focus{
  border-color: var(--brand);
  outline: none;
  box-shadow: 0 0 0 3px var(--ring);
}

.mcpt-table th{
  background: rgba(15,23,42,.04);
  color: var(--text);
}

.mcpt-table th,
.mcpt-table td,
.mcpt-hr{
  border-color: var(--border);
}

.mcpt-msg-from-staff .mcpt-msg-bubble{
  background: rgba(15,23,42,.04);
  border: 1px solid var(--border);
  color: var(--text);
}

.mcpt-msg-from-user .mcpt-msg-bubble{
  background: linear-gradient(135deg, var(--brand), var(--brand2));
  border-color: transparent;
  color: #fff;
}

.mcpt-notice-success,
.mcpt-status-paid{
  background: rgba(16,185,129,.10);
  color: #0f5132;
}

.mcpt-notice-error,
.mcpt-error,
.mcpt-status-unpaid{
  color: #b91c1c;
}

.mcpt-status-processing,
.mcpt-badge-unread,
.mcpt-notification-unread{
  color: var(--brand);
}

.mcpt-wrap a{
  color: var(--brand);
}

.mcpt-public-intake-wrap{
  padding: clamp(1rem, 2vw, 1.5rem);
}

.mcpt-public-intake-wrap > h2{
  margin: 0 0 0.5rem;
  color: var(--glory-title-color, var(--glory-heading-color, var(--text)));
}

.mcpt-public-intake-form{
  display: grid;
  gap: 1rem;
}

.mcpt-public-intake-section{
  display: grid;
  gap: 1rem;
  padding: clamp(1rem, 2.2vw, 1.25rem);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: rgba(255,255,255,0.48);
}

.mcpt-public-intake-section h3,
.mcpt-public-intake-section h4{
  margin: 0;
  color: var(--glory-title-color, var(--glory-heading-color, var(--text)));
}

.mcpt-public-intake-section p{
  margin: 0;
}

.mcpt-public-intake-form label{
  display: inline-block;
  margin-bottom: 0.45rem;
  font-weight: 600;
  color: var(--text);
}

.mcpt-public-intake-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.mcpt-public-intake-form select,
.mcpt-public-intake-form textarea{
  width: 100%;
  min-height: 44px;
  padding: 0.8rem 0.95rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--bg);
  color: var(--text);
}

.mcpt-public-intake-form textarea{
  min-height: 120px;
  resize: vertical;
}

.mcpt-public-intake-form input:focus,
.mcpt-public-intake-form select:focus,
.mcpt-public-intake-form textarea:focus{
  border-color: var(--brand);
  outline: none;
  box-shadow: 0 0 0 3px var(--ring);
}

.mcpt-public-intake-form .mcpt-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.mcpt-public-intake-form .mcpt-titlebar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.mcpt-public-intake-form [data-mcpt-family-list]{
  display: grid;
  gap: 1rem;
}

.mcpt-public-intake-family-item{
  padding: 1rem;
}

.mcpt-public-intake-form .button.button-primary{
  min-height: 44px;
  padding: 0.8rem 1.3rem;
  border: 1px solid transparent;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--brand), var(--brand2));
  color: #fff;
  font-weight: 700;
  box-shadow: var(--shadow2);
}

.mcpt-public-intake-form .button.button-primary:hover{
  filter: brightness(0.96);
}

.mcpt-public-intake-form .button.button-primary:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px var(--ring), var(--shadow2);
}

html[data-theme="dark"] .mcpt-wrap .mcpt-header,
html[data-theme="dark"] .mcpt-wrap .mcpt-panel,
html[data-theme="dark"] .mcpt-wrap .mcpt-card,
html[data-theme="dark"] .mcpt-wrap .mcpt-account-block,
html[data-theme="dark"] .mcpt-wrap .mcpt-account-subcard,
html[data-theme="dark"] .mcpt-wrap .mcpt-account-security-card,
html[data-theme="dark"] .mcpt-wrap .mcpt-case-empty-card,
html[data-theme="dark"] .mcpt-wrap .mcpt-case-active-card,
html[data-theme="dark"] .mcpt-wrap .mcpt-offline-instructions-box,
html[data-theme="dark"] .mcpt-wrap .mcpt-offline-methods,
html[data-theme="dark"] .mcpt-wrap .mcpt-offline-instructions,
html[data-theme="dark"] .mcpt-wrap .mcpt-offline-methods-list .mcpt-offline-method-block,
html[data-theme="dark"] .mcpt-wrap .mcpt-receipt-upload-box,
html[data-theme="dark"] .mcpt-wrap .mcpt-msg-empty,
html[data-theme="dark"] .mcpt-portal-root .mcpt-header,
html[data-theme="dark"] .mcpt-portal-root .mcpt-panel,
html[data-theme="dark"] .mcpt-portal-root .mcpt-card,
html[data-theme="dark"] .mcpt-portal-root .mcpt-account-block,
html[data-theme="dark"] .mcpt-portal-root .mcpt-account-subcard,
html[data-theme="dark"] .mcpt-portal-root .mcpt-account-security-card,
html[data-theme="dark"] .mcpt-portal-root .mcpt-case-empty-card,
html[data-theme="dark"] .mcpt-portal-root .mcpt-case-active-card,
html[data-theme="dark"] .mcpt-portal-root .mcpt-offline-instructions-box,
html[data-theme="dark"] .mcpt-portal-root .mcpt-offline-methods,
html[data-theme="dark"] .mcpt-portal-root .mcpt-offline-instructions,
html[data-theme="dark"] .mcpt-portal-root .mcpt-offline-methods-list .mcpt-offline-method-block,
html[data-theme="dark"] .mcpt-portal-root .mcpt-receipt-upload-box,
html[data-theme="dark"] .mcpt-portal-root .mcpt-msg-empty{
  background: rgba(15,27,51,.55);
}

html[data-theme="dark"] .mcpt-btn-secondary{
  background: rgba(15,27,51,.55);
  color: var(--text);
}

html[data-theme="dark"] .mcpt-table th,
html[data-theme="dark"] .mcpt-msg-from-staff .mcpt-msg-bubble{
  background: rgba(230,232,239,.06);
}

html[data-theme="dark"] .mcpt-public-intake-section{
  background: rgba(15,27,51,.45);
}

@media (max-width: 720px){
  .mcpt-wrap,
  .mcpt-portal-root{
    padding: 1rem;
  }

  .mcpt-header,
  .mcpt-header-user,
  .mcpt-actions,
  .mcpt-payment-choice-buttons{
    flex-direction: column;
    align-items: stretch;
  }

  .mcpt-btn,
  .mcpt-btn-primary,
  .mcpt-btn-secondary,
  .mcpt-actions .button,
  .mcpt-header-user-logout.button{
    width: 100%;
  }

  .mcpt-public-intake-form .mcpt-grid{
    grid-template-columns: 1fr;
  }

  .mcpt-public-intake-form .button.button-primary,
  .mcpt-public-intake-form .mcpt-cta{
    width: 100%;
  }
}

@media (max-width: 480px){
  .mcpt-wrap,
  .mcpt-portal-root{
    padding: 0.75rem;
  }

  .mcpt-public-intake-family-item{
    padding: 0.75rem;
  }

  .mcpt-public-intake-form .button.button-primary{
    min-height: 48px;
    font-size: 1rem;
  }

  .mcpt-card{
    padding: 1rem;
  }
}
