/* MyBagFits brand tokens + logo classes
   Mark: Cleared bag. Drop this in once and use the custom properties everywhere. */

:root {
  --mbf-navy: #14213d;
  --mbf-go: #2f9e68;
  --mbf-amber: #f0a53c;
  --mbf-mist: #e3e9f0;
  --mbf-ground: #f5f6f8;
  --mbf-white: #ffffff;

  --mbf-text: #14213d;
  --mbf-text-muted: #5d6b82;
  --mbf-text-on-ink: #f5f6f8;
  --mbf-muted-on-ink: #9fb1c9;
  --mbf-accent-deep: #1f7a52;

  --mbf-font: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mbf-wordmark-tracking: -0.03em;

  --mbf-radius: 10px;  /* inputs and dimension fields */
  --mbf-radius-card: 12px;  /* result cards */
  --mbf-radius-pill: 999px;  /* buttons, chips, airline filters */
  --mbf-rule: 1px;
}

/* Wordmark — "MyBag" heavy, "Fits" regular. Never re-weight, never letterspace. */
.mbf-wordmark {
  font-family: var(--mbf-font);
  font-weight: 800;
  letter-spacing: var(--mbf-wordmark-tracking);
  line-height: 1;
  color: var(--mbf-text);
  white-space: nowrap;
}
.mbf-wordmark span { font-weight: 400; }
.mbf-wordmark--on-ink { color: var(--mbf-text-on-ink); }

.mbf-tagline {
  font-family: var(--mbf-font);
  font-weight: 700;
  font-size: 0.26em;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mbf-accent-deep);
}

/* The mark — Cleared bag.
   Every part is a percentage of one square, so --mbf-mark: 16px and 512px are one drawing.
   font-size tracks the size so em-based strokes scale with it. */
.mbf-mark {
  --mbf-mark: 64px;
  position: relative;
  flex: none;
  width: var(--mbf-mark);
  height: var(--mbf-mark);
  font-size: var(--mbf-mark);
  border-radius: 50%;
  overflow: hidden;
  background: var(--mbf-ground);
}
.mbf-mark > * { position: absolute; box-sizing: border-box; }

.mbf-mark__handle { left: 35%; top: 16%; width: 20%; height: 12%; border-radius: 999px; background: var(--mbf-navy); }
.mbf-mark__body { left: 20%; top: 25%; width: 50%; height: 54%; border-radius: 14%; background: var(--mbf-navy); }
.mbf-mark__band { left: 20%; top: 39%; width: 50%; height: 7%; background: var(--mbf-amber); }
.mbf-mark__badge { left: 56%; top: 56%; width: 36%; height: 36%; border-radius: 50%; background: var(--mbf-go); }
.mbf-mark__tick-a { left: 64%; top: 74%; width: 12%; height: 5%; border-radius: 999px; background: #fff; transform: rotate(45deg); }
.mbf-mark__tick-b { left: 70%; top: 69%; width: 20%; height: 5%; border-radius: 999px; background: #fff; transform: rotate(-45deg); }

/* On the dark ground the mark inverts; the accent colors hold. */
.mbf-mark--on-ink { background: #14213d; }
.mbf-mark--on-ink .mbf-mark__handle { background: var(--mbf-ground); }
.mbf-mark--on-ink .mbf-mark__body { background: var(--mbf-ground); }
.mbf-mark--on-ink .mbf-mark__band { background: var(--mbf-amber); }
.mbf-mark--on-ink .mbf-mark__badge { background: var(--mbf-go); }

/* One color, for embroidery, foil and single-plate print. */
.mbf-mark--mono { background: var(--mbf-text); }
.mbf-mark--mono > * { background: var(--mbf-text-on-ink); border-color: var(--mbf-text-on-ink); }

/* Below 32px. */
.mbf-mark--simple .mbf-mark__band { display: none; }
.mbf-mark--simple .mbf-mark__badge { left: 52%; top: 52%; width: 42%; height: 42%; }
.mbf-mark--simple .mbf-mark__tick-a { left: 62%; top: 76%; width: 14%; height: 7%; }
.mbf-mark--simple .mbf-mark__tick-b { left: 69%; top: 69%; width: 23%; height: 7%; }

/* Lockups. Clear space on every side = 25% of the mark. */
.mbf-lockup {
  display: flex;
  align-items: center;
  gap: 0.4em;
  font-size: 32px;
  text-decoration: none;
}
.mbf-lockup .mbf-mark { --mbf-mark: 1.15em; }
.mbf-lockup__text { display: flex; flex-direction: column; gap: 0.16em; }
.mbf-lockup .mbf-wordmark { font-size: 1em; }
.mbf-lockup--stacked { flex-direction: column; align-items: flex-start; gap: 0.5em; }

/* Site chrome */
.mbf-header {
  display: flex;
  align-items: center;
  gap: 24px;
  height: 64px;
  padding: 0 24px;
  background: var(--mbf-white);
  border-bottom: var(--mbf-rule) solid color-mix(in srgb, var(--mbf-text) 16%, transparent);
}
.mbf-header__nav {
  display: flex;
  gap: 20px;
  margin-left: auto;
  font-family: var(--mbf-font);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mbf-text-muted);
}
.mbf-band { background: var(--mbf-ground); }
.mbf-footer { background: #14213d; color: var(--mbf-muted-on-ink); }
.mbf-rule { height: var(--mbf-rule); border: 0; margin: 0; background: color-mix(in srgb, var(--mbf-text) 18%, transparent); }
.mbf-card {
  background: var(--mbf-white);
  border: var(--mbf-rule) solid color-mix(in srgb, var(--mbf-text) 12%, transparent);
  border-radius: var(--mbf-radius-card);
  padding: 20px;
}
.mbf-input {
  font-family: var(--mbf-font);
  font-size: 14px;
  padding: 10px 14px;
  border: var(--mbf-rule) solid color-mix(in srgb, var(--mbf-text) 22%, transparent);
  border-radius: var(--mbf-radius);
  background: var(--mbf-white);
  color: var(--mbf-text);
}
.mbf-input:focus-visible { outline: 2px solid var(--mbf-accent-deep); outline-offset: 2px; }

/* Buttons and chips */
.mbf-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  font-family: var(--mbf-font);
  font-size: 14px;
  font-weight: 700;
  border: var(--mbf-rule) solid var(--mbf-text);
  border-radius: var(--mbf-radius-pill);
  background: var(--mbf-text);
  color: var(--mbf-text-on-ink);
  text-decoration: none;
  cursor: pointer;
}
.mbf-btn:hover { background: color-mix(in srgb, var(--mbf-text) 86%, #000); }
.mbf-btn:active { background: color-mix(in srgb, var(--mbf-text) 74%, #000); }
.mbf-btn:focus-visible { outline: 2px solid var(--mbf-accent-deep); outline-offset: 2px; }
.mbf-btn--secondary { background: transparent; color: var(--mbf-text); }
.mbf-btn--secondary:hover { background: var(--mbf-ground); }
.mbf-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-family: var(--mbf-font);
  font-size: 12px;
  font-weight: 600;
  border-radius: var(--mbf-radius-pill);
  background: var(--mbf-ground);
  color: var(--mbf-text);
}

/* Partner / embed badge */
.mbf-badge {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 8px 16px;
  background: var(--mbf-ground);
  border: var(--mbf-rule) solid color-mix(in srgb, var(--mbf-text) 22%, transparent);
  border-radius: var(--mbf-radius);
  font-family: var(--mbf-font);
  text-decoration: none;
}
.mbf-badge .mbf-mark { --mbf-mark: 30px; }
.mbf-badge__lines { display: flex; flex-direction: column; line-height: 1.15; }
.mbf-badge__title { font-size: 14px; font-weight: 800; letter-spacing: -0.01em; color: var(--mbf-text); }
.mbf-badge__sub { font-size: 9px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--mbf-accent-deep); }

/* Links + selection */
a { color: var(--mbf-text); text-decoration-color: var(--mbf-accent-deep); }
a:hover { color: var(--mbf-accent-deep); }
::selection { background: var(--mbf-ground); color: var(--mbf-text); }
