/* Yanadi Matrimony Ultra Max Pro — front-end design system */
:root {
  --ym-wine: #6b1d4d;
  --ym-wine-deep: #4a1234;
  --ym-gold: #c9a227;
  --ym-cream: #fbf6ee;
  --ym-paper: #fffdf8;
  --ym-ink: #2d211c;
  --ym-muted: #7a6558;
  --ym-line: #ead9c4;
  --ym-ok: #2f7d4a;
  --ym-danger: #b42318;
  --ym-radius: 18px;
  --ym-shadow: 0 18px 40px -24px rgba(75, 24, 48, 0.45);
  --ym-primary: #6b1d4d;
}

body {
  background:
    radial-gradient(1200px 400px at 10% -10%, rgba(201,162,39,.12), transparent 50%),
    var(--ym-cream) !important;
  color: var(--ym-ink);
}

.site-header {
  background: rgba(61, 16, 43, 0.94) !important;
  border-bottom: 1px solid rgba(201, 162, 39, 0.55);
  box-shadow: none;
}
.site-title { letter-spacing: 0.02em; }
.site-tagline { color: #f3d9a4 !important; }
.primary-nav .menu li a { font-family: "DM Sans", system-ui, sans-serif; font-weight: 500; }
.site-footer {
  background: #fffaf3 !important;
  border-top: 1px solid var(--ym-line);
  position: static !important;
}

/* Buttons — every variant */
.ym-hero .ym-btn,
.tm-btn, .tm-btn-primary, .ym-btn, .ym-btn-primary, .ym-plan-btn,
button.ym-btn, a.ym-btn, #ym-filter-submit, .ym-profile-actions .ym-btn {
  background: linear-gradient(135deg, #6b1d4d, #8e2a64) !important;
  border-radius: 999px !important;
  border: 0 !important;
  color: #fff !important;
  padding: 0.8rem 1.25rem !important;
  font-family: "DM Sans", system-ui, sans-serif !important;
  font-weight: 600 !important;
  box-shadow: 0 10px 20px -12px rgba(107,29,77,.85);
  text-decoration: none !important;
}
.ym-btn-secondary, .ym-profile-actions .ym-btn.btn-outline {
  background: #fffdf8 !important;
  color: var(--ym-wine) !important;
  border: 1px solid var(--ym-line) !important;
  box-shadow: none !important;
}
.ym-profile-actions .ym-btn.btn-danger { background: #b42318 !important; }
.tm-btn:hover, .ym-btn:hover, .ym-btn-primary:hover { background: var(--ym-wine-deep) !important; }

/* Cards */
.ym-card, .tm-card, .ym-testimonial, .ym-plan, .tm-profile-content,
.ym-connections-container .card, .ym-filter-form, .ym-dashboard-header {
  background: var(--ym-paper) !important;
  border: 1px solid var(--ym-line) !important;
  box-shadow: var(--ym-shadow) !important;
  border-radius: 22px !important;
}
.ym-card { overflow: hidden; max-width: 360px; }
.ym-card-image-wrapper { height: 280px; background: #f3e6d4; }
.ym-card-overlay {
  background: linear-gradient(to top, rgba(61,16,43,.88) 0%, transparent 62%) !important;
  pointer-events: none !important;
}
.ym-card-flags { display: flex; gap: 6px; margin-top: 8px; flex-wrap: wrap; }
.ym-card-details-grid { background: #f8efe3 !important; border-radius: 12px; }
.ym-card-bottom { background: #fffdf8 !important; border-top-color: var(--ym-line) !important; }
.ym-card-bottom,
.ym-card-bottom a,
.ym-card-bottom button,
.tm-card-bottom,
.tm-card-bottom a,
.tm-card-bottom button {
  position: relative;
  z-index: 2;
}
button.ym-btn,
button.ym-btn-secondary,
button.ym-btn-icon,
button.ym-btn-primary,
#ym-filter-submit,
#ym-chat-send {
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* Forms */
.tm-register-container, .tm-forgot-container, .tm-reset-container,
.ym-login-card, .ym-form-card, .ym-profile-edit-container {
  background: var(--ym-paper) !important;
  border: 1px solid var(--ym-line);
  border-radius: 22px !important;
  box-shadow: var(--ym-shadow);
}
.tm-form-title, .ym-form-title { color: var(--ym-wine) !important; font-family: "Source Serif 4", Georgia, serif !important; }
input[type="text"], input[type="email"], input[type="password"], input[type="tel"],
input[type="date"], input[type="time"], input[type="number"], input[type="search"],
select, textarea, .tm-form-control, .ym-search-bar select, .ym-search-bar input {
  border: 1px solid var(--ym-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--ym-ink) !important;
  font-family: "DM Sans", system-ui, sans-serif !important;
}
input:focus, select:focus, textarea:focus, .tm-form-control:focus {
  outline: none !important;
  border-color: var(--ym-wine) !important;
  box-shadow: 0 0 0 4px rgba(107,29,77,.14) !important;
}

.ym-login-wrapper, .tm-register-container { min-height: auto !important; }
.ym-login-wrapper { padding: 2rem 1rem !important; }
.tm-register-container { margin: 24px auto !important; max-width: 560px; }

.ym-pro-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0 2rem;
}
.ym-pro-stats > div {
  background: var(--ym-paper);
  border: 1px solid var(--ym-line);
  border-radius: var(--ym-radius);
  padding: 1.1rem 1rem;
  text-align: center;
  box-shadow: var(--ym-shadow);
}
.ym-pro-stats strong { display: block; font-size: 1.8rem; color: var(--ym-wine); }
.ym-pro-stats span { color: var(--ym-muted); font-size: 0.9rem; }

.ym-hero {
  background:
    radial-gradient(circle at 15% 20%, rgba(201,162,39,0.18), transparent 40%),
    linear-gradient(180deg, #fff8ee, var(--ym-cream)) !important;
  padding: 5.5rem 1.5rem !important;
}
.ym-hero h1 { color: var(--ym-wine) !important; font-weight: 600; letter-spacing: -0.03em; }
.ym-features, .ym-steps, .ym-testimonials, .ym-plans { font-family: "DM Sans", system-ui, sans-serif; }
.ym-plan-price { color: var(--ym-wine) !important; }
.ym-plan-features li::before { color: var(--ym-gold) !important; }

.ym-pending-card, .ym-notice, .tm-warning {
  max-width: 640px;
  margin: 3rem auto;
  background: var(--ym-paper);
  border: 1px solid var(--ym-line);
  border-radius: 22px;
  padding: 2rem 1.5rem;
  text-align: center;
  box-shadow: var(--ym-shadow);
  font-family: "DM Sans", system-ui, sans-serif;
}
.ym-pending-card h2 { color: var(--ym-wine); margin-bottom: .5rem; }

.ym-tabs { background: var(--ym-paper) !important; border: 1px solid var(--ym-line); }
.ym-tab { border-radius: 999px !important; font-family: "DM Sans", system-ui, sans-serif; }
.ym-tab.is-active, .ym-tab.active { background: var(--ym-wine) !important; color: #fff !important; }

#ym-chat-app-container {
  border-color: var(--ym-line) !important;
  background: #f8efe3 !important;
}
#ym-chat-box { background: linear-gradient(180deg, #fff8ee, #f8efe3); }
.tm-card-bottom { display: flex; flex-direction: column; gap: 8px; }
.tm-card-bottom button { cursor: pointer; }

.bar { background: linear-gradient(90deg, var(--ym-wine), var(--ym-gold)) !important; }
.stats .points { color: var(--ym-wine); }
.table-wrap table { background: var(--ym-paper); border-radius: 12px; overflow: hidden; }
.table-wrap th { background: #f8efe3 !important; color: var(--ym-wine); }

.ym-legal-content-container {
  background: var(--ym-paper) !important;
  border: 1px solid var(--ym-line) !important;
  border-radius: 22px !important;
  box-shadow: var(--ym-shadow);
}
.ym-legal-content-container h1 { color: var(--ym-wine) !important; }

.ym-wa-bubble {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 1100;
  background: #128c7e;
  color: #fff !important;
  text-decoration: none !important;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 0.92rem;
}
@media (max-width: 879px) {
  body.ym-is-member .ym-wa-bubble { bottom: calc(76px + env(safe-area-inset-bottom)); }
}

.ym-verified-badge {
  display: inline-flex; align-items: center; gap: 4px;
  background: #e8f6ee; color: #1f6b3a; border-radius: 999px;
  font-size: 11px; padding: 2px 8px; font-weight: 600;
}
.ym-featured-ribbon {
  background: var(--ym-gold); color: #3b2a12;
  font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px;
}
.ym-report-btn {
  background: transparent; border: 1px solid var(--ym-line);
  color: var(--ym-muted); border-radius: 999px; padding: 4px 10px; cursor: pointer;
}

.tm-alert, .tm-success {
  border-radius: 14px !important;
  font-family: "DM Sans", system-ui, sans-serif;
}

.ym-empty-card {
  max-width: 520px;
  margin: 1.5rem auto;
  text-align: center;
  padding: 1.6rem 1.2rem;
  color: var(--ym-muted);
  background: var(--ym-paper);
  border: 1px dashed var(--ym-line);
  border-radius: 18px;
  font-family: "DM Sans", system-ui, sans-serif;
}
.ym-empty-card h2, .ym-empty-card h3 { color: var(--ym-wine); margin-bottom: .35rem; }
.ym-empty-card .ym-btn { margin-top: .8rem; display: inline-flex; }

body.ym-page-chat .site-footer { display: none; }
body.ym-page-chat .ym-wa-bubble { display: none !important; }

.ym-home .ym-pro-stats { margin-top: 1.2rem; }
a.ym-btn.ym-btn-ghost, .ym-home-ctas .ym-btn-ghost {
  background: #fff !important;
  color: #6b1d4d !important;
  box-shadow: none !important;
  border: 1px solid #ead9c4 !important;
}
.ym-home-cta-band a.ym-btn {
  background: #c9a227 !important;
  color: #3b2a12 !important;
}
