/* ============================================================
   Adelfi '26 — Shared site styles
   Riverview Church Women's Conference
   ============================================================ */

/* ---------- palette + type tokens ---------- */
:root {
  /* Garden (default) */
  --bg:        oklch(0.965 0.012 82);
  --paper:     oklch(0.985 0.006 82);
  --bg-warm:   oklch(0.93 0.022 78);
  --ink:       oklch(0.22 0.028 250);
  --ink-soft:  oklch(0.42 0.025 250);
  --ink-mute:  oklch(0.58 0.018 250);
  --line:      oklch(0.86 0.012 80);
  --line-soft: oklch(0.92 0.008 80);
  --primary:   oklch(0.44 0.065 145);
  --primary-soft: oklch(0.78 0.045 145);
  --primary-tint: oklch(0.94 0.025 145);
  --accent:    oklch(0.60 0.135 38);
  --accent-soft: oklch(0.86 0.055 38);
  --warm:      oklch(0.66 0.135 22);   /* rose-coral, used for script accents */
  --warm-soft: oklch(0.92 0.04 22);

  --font-display: 'Cormorant Garamond', 'EB Garamond', Georgia, serif;
  --font-body:    'Manrope', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, SFMono-Regular, monospace;
  --font-script:  'Caveat', 'Sacramento', cursive;

  --maxw: 1240px;
  --gutter: clamp(20px, 4vw, 56px);
  --radius: 4px;
}

[data-palette="hearth"] {
  --bg:        oklch(0.955 0.018 75);
  --paper:     oklch(0.98 0.012 75);
  --bg-warm:   oklch(0.91 0.03 70);
  --ink:       oklch(0.23 0.04 40);
  --ink-soft:  oklch(0.40 0.035 40);
  --ink-mute:  oklch(0.55 0.025 40);
  --line:      oklch(0.85 0.022 60);
  --line-soft: oklch(0.92 0.014 60);
  --primary:   oklch(0.52 0.13 35);
  --primary-soft: oklch(0.78 0.08 35);
  --primary-tint: oklch(0.93 0.035 40);
  --accent:    oklch(0.72 0.105 85);
  --accent-soft: oklch(0.88 0.05 85);
  --warm:      oklch(0.64 0.14 30);
  --warm-soft: oklch(0.92 0.04 30);
}

[data-palette="morning"] {
  --bg:        oklch(0.97 0.005 220);
  --paper:     oklch(0.99 0.003 220);
  --bg-warm:   oklch(0.93 0.012 215);
  --ink:       oklch(0.20 0.035 260);
  --ink-soft:  oklch(0.40 0.03 260);
  --ink-mute:  oklch(0.58 0.022 260);
  --line:      oklch(0.85 0.012 230);
  --line-soft: oklch(0.93 0.008 230);
  --primary:   oklch(0.50 0.085 245);
  --primary-soft: oklch(0.80 0.05 230);
  --primary-tint: oklch(0.93 0.022 230);
  --accent:    oklch(0.78 0.075 50);
  --accent-soft: oklch(0.90 0.04 50);
  --warm:      oklch(0.68 0.12 18);
  --warm-soft: oklch(0.93 0.035 18);
}

[data-fonts="modern"] {
  --font-display: 'DM Serif Display', Georgia, serif;
  --font-body:    'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif;
}
[data-fonts="quiet"] {
  --font-display: 'Tenor Sans', 'EB Garamond', Georgia, serif;
  --font-body:    'EB Garamond', Georgia, serif;
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { color-scheme: light; }
body {
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--bg);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: "ss01", "ss02", "kern";
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }

h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: -0.01em;
  margin: 0;
  text-wrap: balance;
}
h1 { font-size: clamp(48px, 8vw, 112px); line-height: 0.95; }
h2 { font-size: clamp(32px, 4.5vw, 56px); line-height: 1.05; }
h3 { font-size: clamp(22px, 2.4vw, 32px); line-height: 1.15; }
h4 { font-size: clamp(18px, 1.6vw, 22px); line-height: 1.3; }
p { margin: 0; text-wrap: pretty; }

.italic { font-style: italic; }
.display-italic { font-family: var(--font-display); font-style: italic; }
.script { font-family: var(--font-script); font-weight: 400; line-height: 1; }

/* ---------- containers ---------- */
.container { max-width: var(--maxw); margin: 0 auto; padding-inline: var(--gutter); }
.section { padding-block: clamp(64px, 9vw, 128px); }
.section-tight { padding-block: clamp(48px, 6vw, 80px); }

/* ---------- top nav ---------- */
.topnav {
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in oklab, var(--bg), transparent 12%);
  backdrop-filter: saturate(140%) blur(12px);
  -webkit-backdrop-filter: saturate(140%) blur(12px);
  border-bottom: 1px solid var(--line-soft);
}
.topnav-inner {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px var(--gutter);
  max-width: var(--maxw); margin: 0 auto;
}
.nav-links {
  display: flex; gap: 28px; align-items: center;
  font-size: 14px; color: var(--ink-soft);
}
.nav-links a { transition: color .15s; position: relative; }
.nav-links a:hover, .nav-links a.active { color: var(--ink); }
.nav-links a.active::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -8px; height: 1px;
  background: var(--accent);
}
.nav-cta {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--ink); color: var(--bg);
  padding: 10px 18px; border-radius: 999px;
  font-size: 13px; font-weight: 500; letter-spacing: .01em;
  transition: transform .15s, background .15s;
}
.nav-cta:hover { background: var(--warm); color: var(--bg); }

/* ---------- wordmark ---------- */
.wordmark { display: block; height: 30px; width: auto; }
.wordmark-lockup { height: 46px; }
.wordmark-lg { height: clamp(64px, 12vw, 150px); }

/* ---------- buttons ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 28px;
  border-radius: 999px;
  font-size: 15px; font-weight: 500;
  border: 1px solid transparent;
  transition: all .18s ease;
  cursor: pointer;
  font-family: var(--font-body);
}
.btn-primary { background: var(--ink); color: var(--bg); }
.btn-primary:hover { background: var(--warm); transform: translateY(-1px); }
.btn-outline { background: transparent; color: var(--ink); border-color: var(--ink); }
.btn-outline:hover { background: var(--ink); color: var(--bg); }
.btn-accent { background: var(--accent); color: white; }
.btn-accent:hover { filter: brightness(.95); transform: translateY(-1px); }
.btn-lg { padding: 18px 36px; font-size: 16px; }
.btn-arrow::after {
  content: "→"; font-size: 1.1em; transition: transform .2s;
}
.btn-arrow:hover::after { transform: translateX(3px); }

/* ---------- eyebrow / labels ---------- */
.eyebrow {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent);
  font-weight: 500;
  display: inline-flex; align-items: center; gap: 8px;
}
.eyebrow::before {
  content: ""; width: 18px; height: 1px; background: var(--accent);
}
.eyebrow.no-rule::before { display: none; }

/* ---------- footer ---------- */
.footer {
  background: var(--ink); color: var(--bg);
  padding: 80px var(--gutter) 32px;
  margin-top: 80px;
}
.footer-inner { max-width: var(--maxw); margin: 0 auto; }
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid color-mix(in oklab, var(--bg), transparent 80%);
}
.footer h4 {
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: color-mix(in oklab, var(--bg), transparent 50%);
  margin-bottom: 16px;
  font-weight: 500;
}
.footer ul { list-style: none; padding: 0; margin: 0; }
.footer li { margin-bottom: 8px; font-size: 14px; }
.footer li a { color: color-mix(in oklab, var(--bg), transparent 20%); transition: color .15s; }
.footer li a:hover { color: var(--bg); }
.footer .wordmark { height: 58px; }
.footer-tag { color: color-mix(in oklab, var(--bg), transparent 40%); font-size: 14px; margin-top: 16px; max-width: 280px; }
.footer-bot {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 28px;
  font-size: 12px; color: color-mix(in oklab, var(--bg), transparent 50%);
  font-family: var(--font-mono); letter-spacing: 0.05em;
}

@media (max-width: 760px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .nav-links { gap: 18px; }
  .nav-links .nav-link-hide-sm { display: none; }
}

/* ---------- small atoms ---------- */
.rule { height: 1px; background: var(--line); border: 0; margin: 0; }
.tag {
  display: inline-block;
  padding: 4px 12px;
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink-soft);
}
.tag-accent { color: var(--accent); border-color: var(--accent-soft); background: color-mix(in oklab, var(--accent), transparent 92%); }

/* ---------- decorative SVG mark ---------- */
.hill-mark { color: var(--primary); }

/* ---------- ornamental divider ---------- */
.flourish {
  display: flex; align-items: center; justify-content: center;
  gap: 14px;
  margin: 0 auto;
  color: var(--warm);
}
.flourish hr {
  width: 64px; border: 0; border-top: 1px solid currentColor; opacity: 0.4; margin: 0;
}
.flourish .star {
  width: 10px; height: 10px;
  background: currentColor;
  clip-path: polygon(50% 0, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0 50%, 40% 40%);
  opacity: 0.7;
}
.flourish .dot { width: 4px; height: 4px; border-radius: 50%; background: currentColor; opacity: 0.6; }

/* ---------- utility ---------- */
.center { text-align: center; }
.muted { color: var(--ink-mute); }
.soft { color: var(--ink-soft); }
.flex { display: flex; }
.flex-col { display: flex; flex-direction: column; }
.gap-sm { gap: 12px; } .gap-md { gap: 24px; } .gap-lg { gap: 48px; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.mt-xs{margin-top:8px;}.mt-sm{margin-top:16px;}.mt-md{margin-top:32px;}.mt-lg{margin-top:64px;}
.mb-sm{margin-bottom:16px;}.mb-md{margin-bottom:32px;}.mb-lg{margin-bottom:64px;}

/* selection */
::selection { background: var(--accent); color: white; }


/** MP Custom Form Style **/
#customFormTitle {
  display: none;
}

.mpp-form--container, .mppw-form-field__control, .mppw-form-field__control > label, .mppw-form-field__control > label > span, .mppw-component-container, #customFormDescription {
  font-family: "Wix Madefor Text", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
  font-size: clamp(1rem, 1.618vw, 1.25rem) !important;
  font-optical-sizing: auto;
  color: #373a3c !important;
  -webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
  -moz-osx-font-smoothing: grayscale; /* Fix for firefox rendering */
}

.mppw-form-field__label, label .mppw-form-field__alt-label-container .mppw-form-field__alt-label-content, .mppw-form-field__alt-label {
  font-family: "Wix Madefor Text", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 16px !important;
  font-weight: 600;
  line-height: clamp(1.75rem, 1.6vw, 2.1875rem);
  font-optical-sizing: auto;
  color: #373a3c !important;
  -webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
  -moz-osx-font-smoothing: grayscale; /* Fix for firefox rendering */
}

.mppw-upload-text {
  font-size: 1.17rem;
  font-weight: 600;
}

.mppw-btn, #submitButton, #loginButton {
	border: 0 none;
  padding: 8px 16px;
  font-weight: 1000;
  border-radius: 50px;
  text-decoration: none !important;
  cursor: pointer;
  padding-left: 32px;
  transition: all 0.3s ease-in-out;
  margin: 5px;
  margin-left: 0;
  font-size: 16px;	
	
  padding-right: 32px;
  box-shadow: none;
  background-color: rgb(12, 22, 38) !important;
  color: white !important;
  max-width: none !important;
}
.mppw-btn:hover, .mppw-btn:focus, .mppw-btn:active, .mppw-btn.active, #submitButton:hover, #submitButton:focus, #submitButton:active, #submitButton.active, #loginButton:hover, #loginButton:focus, #loginButton:active, #loginButton.active {
  transition: all 0.3s ease-in-out;
  background-color: rgb(216, 120, 124) !important;
  color: white;
  box-shadow: 0 0 0 5px #a13c3e;
}

#addPromoCodeButton, #promoCodeContainer #addPromoCodeButton {
  max-width: none !important;
  margin-left: 8px !important;
}
#addPromoCodeButton::after, #promoCodeContainer #addPromoCodeButton::after {
  display: none !important;
}

.mppw-icon-unlock {
  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA2NDAgNjQwIj4KICA8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjkuNi4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogMi4xLjEgQnVpbGQgMjA3KSAgLS0+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5zdDAgewogICAgICAgIGZpbGw6ICNmZmY7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yNTYsNzJjNjYuMjk5OTg3OCwwLDEyMCw1My42OTk5OTY5LDEyMCwxMjBzLTUzLjcwMDAxMjIsMTIwLTEyMCwxMjAtMTIwLTUzLjcwMDAxMjItMTIwLTEyMCw1My42OTk5OTY5LTEyMCwxMjAtMTIwWk0yMjYuMzAwMDAzMSwzNjhoNTkuNDAwMDA5MmMyOS42OTk5ODE3LDAsNTcuNjk5OTgxNyw3LjI5OTk4NzgsODIuMjk5OTg3OCwyMC4xMDAwMDYxdjQuMjk5OTg3OGMtMTkuNjAwMDA2MSwxNy42MDAwMDYxLTMyLDQzLjEwMDAwNjEtMzIsNzEuNXY5Ni4wMDAwMzA1YzAsNS41LjUsMTAuODk5OTYzNCwxLjI5OTk4NzgsMTYuMDk5OTc1Nkg3Ny42OTk5OTY5Yy0xNi4zOTk5OTc3LDAtMjkuNjk5OTk2OS0xMy4yOTk5ODc4LTI5LjY5OTk5NjktMjkuNzAwMDEyMiwwLTk4LjUsNzkuODAwMDAzMS0xNzguMjk5OTg3OCwxNzguMzAwMDAzMS0xNzguMjk5OTg3OFpNNTI4LDM2OC4xMDAwMDYxYzAtMTcuNzAwMDEyMi0xNC4yOTk5ODc4LTMyLTMyLTMycy0zMiwxNC4yOTk5ODc4LTMyLDMydjQ3Ljg5OTk5MzloNjR2LTQ3Ljg5OTk5MzlaTTM4NCw0NjRjMC0yMC44OTk5OTM5LDEzLjM5OTk5MzktMzguNzAwMDEyMiwzMi00NS4yOTk5ODc4di01MC42MDAwMDYxYzAtNDQuMjAwMDEyMiwzNS43OTk5ODc4LTgwLDgwLTgwczgwLDM1Ljc5OTk4NzgsODAsODB2NTAuNjAwMDA2MWMxOC41OTk5NzU2LDYuNTk5OTc1NiwzMiwyNC4zOTk5OTM5LDMyLDQ1LjI5OTk4Nzh2OTZjMCwyNi41LTIxLjUsNDgtNDgsNDhoLTEyOGMtMjYuNSwwLTQ4LTIxLjUtNDgtNDh2LTk2WiIvPgo8L3N2Zz4=");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  position: relative;
  left: -10px;
  border-radius: 0 !important;
}

.mppw-login {
  margin-bottom: 30px;
}

.page-event-registration .mpp-innerpage {
  display: none;
}

.mpp-innerpage--fixed-imgcontainer, .mpp-innerpage--subtitle, .mpp-innerpage--labels, .mpp-innerpage--datetime, .mpp-innerpage--datetime-wrapper, .mpp-innerpage--special {
  display: none !important;
}

.registrationPriceLabel {
  font-size: clamp(1.75rem, 2.427vi, 2rem) !important;
}

label.mppw-form-field_instruction_font {
  font-size: 18px !important;
}

.mppw-component-container {
	> div#detailsContainer, .titleContainer, #priceContainer {
	display: none;
}
}