/* ============================================================
   Matcha My Love — Bootstrap 5.3 Theme
   Palette & typography derived from the "Matcha My Love" brand.
   Load AFTER bootstrap.min.css.
   ============================================================ */

@font-face {
  font-family: 'Palace';
  src: url('assets/Palace.ttf') format('truetype');
  font-weight: 400;
  font-display: swap;
}

:root {
  /* Brand palette */
  --mml-pink:        #E0647E;  /* primary coral pink   */
  --mml-pink-dark:   #C6455F;
  --mml-pink-soft:   #F4A9B8;  /* soft brand pink (logo) */
  --mml-pink-baby:   #F9C9D2;
  --mml-blush:       #F6C9D0;  /* section backgrounds  */
  --mml-blush-light: #FBE4E8;  /* light                */
  --mml-cream:       #FDF6F4;
  --mml-matcha:      #8CA05C;  /* secondary sage green */
  --mml-matcha-dark: #6F8340;
  --mml-green:       #6F9F4A;  /* success              */
  --mml-warm:        #E8A44C;  /* warning              */
  --mml-rose:        #D64C63;  /* danger               */
  --mml-charcoal:    #3E3438;  /* dark / body text     */

  /* Bootstrap theme-color RGB (drives text-*, bg-*, border-*, text-bg-*) */
  --bs-primary-rgb:   224, 100, 126;
  --bs-secondary-rgb: 140, 160, 92;
  --bs-success-rgb:   111, 159, 74;
  --bs-info-rgb:      239, 155, 174;
  --bs-warning-rgb:   232, 164, 76;
  --bs-danger-rgb:    214, 76, 99;
  --bs-light-rgb:     251, 228, 232;
  --bs-dark-rgb:      62, 52, 56;

  --bs-primary:   #E0647E;
  --bs-secondary: #8CA05C;
  --bs-success:   #6F9F4A;
  --bs-info:      #EF9BAE;
  --bs-warning:   #E8A44C;
  --bs-danger:    #D64C63;
  --bs-light:     #FBE4E8;
  --bs-dark:      #3E3438;

  /* Typography */
  --bs-body-font-family: 'Poppins', system-ui, sans-serif;
  --bs-body-color: #3E3438;
  --bs-body-color-rgb: 62, 52, 56;
  --bs-body-bg: #FFFFFF;
  --bs-heading-color: #3E3438;

  /* Links */
  --bs-link-color:       #C6455F;
  --bs-link-color-rgb:   198, 69, 95;
  --bs-link-hover-color: #A6394F;

  /* Rounder, softer shapes */
  --bs-border-radius:    0.7rem;
  --bs-border-radius-sm: 0.5rem;
  --bs-border-radius-lg: 1.1rem;
  --bs-border-radius-xl: 1.6rem;
  --bs-border-color:     #F0D3D9;

  --bs-emphasis-color: #3E3438;
}

body { font-family: var(--bs-body-font-family); }

h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6 {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--bs-heading-color);
}

/* ---- Brand type helpers ---- */
.font-script { font-family: 'Palace', cursive; font-weight: 400; }
.font-accent { font-family: 'Palace', cursive; font-weight: 400; }
.text-pink-soft   { color: var(--mml-pink-soft) !important; }
.bg-pink          { background-color: var(--mml-pink) !important; }
.bg-pink-soft     { background-color: var(--mml-pink-soft) !important; }
.text-pink        { color: var(--mml-pink) !important; }
.text-matcha      { color: var(--mml-matcha-dark) !important; }
.bg-blush         { background-color: var(--mml-blush) !important; }
.bg-blush-light   { background-color: var(--mml-blush-light) !important; }
.bg-cream         { background-color: var(--mml-cream) !important; }
.bg-matcha        { background-color: var(--mml-matcha) !important; }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn { --bs-btn-font-weight: 600; --bs-btn-border-radius: 2rem; letter-spacing:.01em; }

.btn-primary {
  --bs-btn-color:#fff; --bs-btn-bg:#E0647E; --bs-btn-border-color:#E0647E;
  --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#D24F6C; --bs-btn-hover-border-color:#D24F6C;
  --bs-btn-active-color:#fff; --bs-btn-active-bg:#C6455F; --bs-btn-active-border-color:#C6455F;
  --bs-btn-disabled-color:#fff; --bs-btn-disabled-bg:#E0647E; --bs-btn-disabled-border-color:#E0647E;
}
.btn-secondary {
  --bs-btn-color:#fff; --bs-btn-bg:#8CA05C; --bs-btn-border-color:#8CA05C;
  --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#7C9049; --bs-btn-hover-border-color:#7C9049;
  --bs-btn-active-color:#fff; --bs-btn-active-bg:#6F8340; --bs-btn-active-border-color:#6F8340;
  --bs-btn-disabled-color:#fff; --bs-btn-disabled-bg:#8CA05C; --bs-btn-disabled-border-color:#8CA05C;
}
.btn-success {
  --bs-btn-color:#fff; --bs-btn-bg:#6F9F4A; --bs-btn-border-color:#6F9F4A;
  --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#5F8B3E; --bs-btn-hover-border-color:#5F8B3E;
  --bs-btn-active-color:#fff; --bs-btn-active-bg:#567F38; --bs-btn-active-border-color:#567F38;
}
.btn-info {
  --bs-btn-color:#3E3438; --bs-btn-bg:#EF9BAE; --bs-btn-border-color:#EF9BAE;
  --bs-btn-hover-color:#3E3438; --bs-btn-hover-bg:#EA8299; --bs-btn-hover-border-color:#EA8299;
  --bs-btn-active-color:#3E3438; --bs-btn-active-bg:#E5718A; --bs-btn-active-border-color:#E5718A;
}
.btn-warning {
  --bs-btn-color:#3E3438; --bs-btn-bg:#E8A44C; --bs-btn-border-color:#E8A44C;
  --bs-btn-hover-color:#3E3438; --bs-btn-hover-bg:#DE9436; --bs-btn-hover-border-color:#DE9436;
  --bs-btn-active-color:#3E3438; --bs-btn-active-bg:#D2882B; --bs-btn-active-border-color:#D2882B;
}
.btn-danger {
  --bs-btn-color:#fff; --bs-btn-bg:#D64C63; --bs-btn-border-color:#D64C63;
  --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#C43C53; --bs-btn-hover-border-color:#C43C53;
  --bs-btn-active-color:#fff; --bs-btn-active-bg:#B4364B; --bs-btn-active-border-color:#B4364B;
}
.btn-light {
  --bs-btn-color:#3E3438; --bs-btn-bg:#FBE4E8; --bs-btn-border-color:#F6D2D9;
  --bs-btn-hover-color:#3E3438; --bs-btn-hover-bg:#F5D2D9; --bs-btn-hover-border-color:#EFC2CB;
  --bs-btn-active-color:#3E3438; --bs-btn-active-bg:#EFC2CB; --bs-btn-active-border-color:#EFC2CB;
}
.btn-dark {
  --bs-btn-color:#fff; --bs-btn-bg:#3E3438; --bs-btn-border-color:#3E3438;
  --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#2C2528; --bs-btn-hover-border-color:#2C2528;
  --bs-btn-active-color:#fff; --bs-btn-active-bg:#211C1E; --bs-btn-active-border-color:#211C1E;
}

.btn-outline-primary   { --bs-btn-color:#E0647E; --bs-btn-border-color:#E0647E; --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#E0647E; --bs-btn-hover-border-color:#E0647E; --bs-btn-active-color:#fff; --bs-btn-active-bg:#E0647E; --bs-btn-active-border-color:#E0647E; }
.btn-outline-secondary { --bs-btn-color:#6F8340; --bs-btn-border-color:#8CA05C; --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#8CA05C; --bs-btn-hover-border-color:#8CA05C; --bs-btn-active-color:#fff; --bs-btn-active-bg:#8CA05C; --bs-btn-active-border-color:#8CA05C; }
.btn-outline-success   { --bs-btn-color:#6F9F4A; --bs-btn-border-color:#6F9F4A; --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#6F9F4A; --bs-btn-hover-border-color:#6F9F4A; }
.btn-outline-danger    { --bs-btn-color:#D64C63; --bs-btn-border-color:#D64C63; --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#D64C63; --bs-btn-hover-border-color:#D64C63; }
.btn-outline-dark      { --bs-btn-color:#3E3438; --bs-btn-border-color:#3E3438; --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#3E3438; --bs-btn-hover-border-color:#3E3438; }

.btn-link { --bs-btn-color:#C6455F; --bs-btn-hover-color:#A6394F; text-decoration:none; }

/* ============================================================
   ALERTS
   ============================================================ */
.alert-primary   { --bs-alert-color:#8A2C44; --bs-alert-bg:#FBE0E6; --bs-alert-border-color:#F4C2CD; --bs-alert-link-color:#6E2136; }
.alert-secondary { --bs-alert-color:#4E5A2C; --bs-alert-bg:#ECEFDF; --bs-alert-border-color:#D8DEBF; }
.alert-success   { --bs-alert-color:#3F5C28; --bs-alert-bg:#E6EFDC; --bs-alert-border-color:#CBE0B8; }
.alert-info      { --bs-alert-color:#8A3A4C; --bs-alert-bg:#FCEAEF; --bs-alert-border-color:#F8D3DC; }
.alert-warning   { --bs-alert-color:#7A5217; --bs-alert-bg:#FBEFD9; --bs-alert-border-color:#F5DDB4; }
.alert-danger    { --bs-alert-color:#7E2436; --bs-alert-bg:#FADEE3; --bs-alert-border-color:#F2BCC6; }
.alert-light     { --bs-alert-color:#6B5A5E; --bs-alert-bg:#FDF3F5; --bs-alert-border-color:#F6E2E6; }
.alert-dark      { --bs-alert-color:#3E3438; --bs-alert-bg:#E1DBDC; --bs-alert-border-color:#C7BEC0; }

/* ============================================================
   PROGRESS / FORM ACCENTS / MISC
   ============================================================ */
.form-control:focus, .form-select:focus {
  border-color:#EF9BAE;
  box-shadow:0 0 0 .25rem rgba(224,100,126,.25);
}
.form-check-input:checked { background-color:#E0647E; border-color:#E0647E; }
.form-check-input:focus   { border-color:#EF9BAE; box-shadow:0 0 0 .25rem rgba(224,100,126,.25); }
.form-range::-webkit-slider-thumb { background:#E0647E; }
.form-range::-moz-range-thumb { background:#E0647E; }

.nav-pills { --bs-nav-pills-link-active-bg:#E0647E; --bs-nav-pills-link-active-color:#fff; }
.nav-tabs  { --bs-nav-tabs-link-active-color:#C6455F; --bs-nav-tabs-link-active-border-color:#F0D3D9 #F0D3D9 #fff; }
.nav-link  { --bs-nav-link-color:#8A6B72; --bs-nav-link-hover-color:#C6455F; }

.page-item.active .page-link { background-color:#E0647E; border-color:#E0647E; }
.page-link { color:#C6455F; }
.page-link:hover { color:#A6394F; background-color:#FBE4E8; }

.list-group { --bs-list-group-active-bg:#E0647E; --bs-list-group-active-border-color:#E0647E; }

.accordion {
  --bs-accordion-btn-focus-box-shadow:0 0 0 .25rem rgba(224,100,126,.25);
  --bs-accordion-active-color:#C6455F;
  --bs-accordion-active-bg:#FBE0E6;
  --bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23C6455F'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.progress { background-color:#FBE4E8; }
.spinner-border, .spinner-grow { color:#E0647E; }

.card { --bs-card-border-color:#F0D3D9; }
.table { --bs-table-hover-bg:#FBE4E8; --bs-table-striped-bg:#FDF3F5; }
.badge { font-weight:600; letter-spacing:.02em; }

::selection { background:#F6C9D0; color:#3E3438; }
