@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,800;1,700;1,800&family=Inter:ital,wght@0,400;0,600;0,700;0,800;1,400&family=Oswald:wght@500;600;700&display=swap");

/* Lindsay's look on the engine's own pages: the checkout, the designed offer pages, the thank-you page, the legal
   pages and the 404. Linked after the engine's brand.css through brand.stylesheet, so these rules win. It matches
   the sales page: black bands, white text on black, hot pink #E91E8C as the ONLY button and action colour (hover
   #C8177A), white panels on the soft pink wash #FDEBF4, Playfair Display headlines, Inter body, Oswald numerals.
   No colour outside this palette. Contrast: white on #E91E8C is 4.2 to 1, so every pink button carries bold text at 18.7px or
   more (large text). Pink words on white or on the wash use the deeper #B0136B (5.9 to 1 on the wash). */

:root {
  --accent: #E91E8C;
  --ink: #111113;
  --muted: #55555c;
  --bg: #FDEBF4;
  --panel: #FFFFFF;
  --line: #f1d3e2;
  --radius: 12px;
  --font: "Inter", "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  --head: "Playfair Display", Georgia, "Times New Roman", serif;
  --num: "Oswald", "Arial Narrow", sans-serif;
  --night: #0b0b0c;
  --night-2: #151517;
  --night-line: #34343a;
  --accent-hover: #C8177A;
  --pink-ink: #B0136B;
  --accent-soft: #FDEBF4;
  --accent-ring: #f6a9d1;
  --body: #2a2a2e;
}

/* every page */
html { overflow-x: clip; }
body {
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  font-variant-numeric: lining-nums;
}
h1, h2, h3, .co-bump, .op {
  font-variant-numeric: lining-nums;
}
h1, h2, h3 {
  font-family: var(--head);
  font-weight: 800;
  color: var(--ink);
  text-wrap: balance;
  letter-spacing: -0.005em;
}
h1 { font-size: 34px; line-height: 1.12; }
h2 { font-size: 25px; line-height: 1.2; }
h3 { font-size: 19px; }
a { color: var(--pink-ink); }
::selection { background: #f6a9d1; color: var(--ink); }

.site-head { background: var(--night); padding: 12px 16px; text-align: center; border-bottom: 3px solid var(--accent); }
.site-head .wordmark { font-family: var(--head); font-weight: 800; font-size: 18px; color: #fff; }

/* the plain pages (thank-you, legal, 404) sit in one white card on the pink wash */
main:not(.co):not(.op):not(.dp) {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 14px 36px rgba(176, 19, 107, 0.10);
  margin: 26px auto 34px;
  padding: 8px 22px 40px;
}
@media (max-width: 430px) {
  main:not(.co):not(.op):not(.dp) { margin: 16px 10px 26px; width: auto; padding: 4px 16px 32px; }
}
.lede { color: var(--body); }
.warn { color: var(--muted); border-left: 3px solid var(--accent); padding-left: 12px; }
.announce { background: var(--night); color: #fff; font-family: var(--font); font-weight: 800; letter-spacing: 0.01em; }
.price .now { color: var(--ink); font-family: var(--num); font-weight: 600; }
.card { background: var(--bg); border-color: var(--line); border-radius: 14px; }
blockquote { background: var(--bg); border-left-color: var(--accent); }
.item-access { border-top-color: var(--line); }
.offer-image, .media-frame { border-radius: 14px; }
.tap { color: var(--pink-ink); font-weight: 700; }

/* one pink pill button, white bold text at large size */
.btn {
  background: var(--accent);
  color: #FFFFFF;
  font-family: var(--font);
  font-weight: 800;
  font-size: 19px;
  border-radius: 999px;
  box-shadow: 0 12px 26px rgba(233, 30, 140, 0.28);
  line-height: 1.25;
  padding: 16px 26px;
}
main p .tap { min-height: 0; line-height: inherit; padding: 0 2px; }
@media (hover: hover) { .btn:hover { background: var(--accent-hover); } }
.btn:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }

.field { border-color: #e2c4d4; border-radius: 10px; }
.field:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-ring); }
.bump { border-color: var(--accent); background: var(--accent-soft); }
.total { color: var(--ink); font-family: var(--num); }

.site-foot { background: var(--night); border-top: 0; color: #b8b8be; }
.site-foot a { color: #ececee; }
.site-foot .foot-biz { color: #b8b8be; }

/* the checkout, in the Sell While You Sleep 2.0 layout the engine draws */
main.co {
  --co-accent: #E91E8C;
  --co-accent-hover: #C8177A;
  --co-deep: #0b0b0c;
  --co-gold: #E91E8C;
  --co-gold-ink: #B0136B;
  --co-tint: #FDEBF4;
  --co-ring: #f6a9d1;
  --co-cream: #FDEBF4;
  --co-ink: #111113;
  --co-text: #2a2a2e;
  --co-muted: #55555c;
  --co-line: #f1d3e2;
  --co-card-line: #e2c4d4;
  --co-head: "Playfair Display", Georgia, "Times New Roman", serif;
  --co-body: "Inter", "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  background: var(--bg);
}
.co-strip { color: #ececee; }
.co-strip b { color: #ffffff; }
.co-eyebrow { background: var(--night); color: #fff; }
.co-bump { border-color: var(--accent); background: #fff7fb; }
.co-bump:has(input:checked) { border-color: var(--accent); background: var(--co-tint); }
.co-bump-price { font-family: var(--num); font-weight: 600; color: #fff; background: var(--night); }
.co-recap { border-color: var(--night); }
.co-includes svg { color: var(--pink-ink); }
.co-trust span { background: #fff; }
.co-gtee { background: var(--night); }
.co-gtee .t { color: #ffffff; }
#payBtn {
  font-family: var(--font);
  background: var(--co-accent);
  color: #FFFFFF;
  font-weight: 800;
  font-size: 20px;
  box-shadow: 0 12px 26px rgba(233, 30, 140, 0.30);
  border-radius: 999px;
}
@media (hover: hover) { #payBtn:hover { background: var(--co-accent-hover); } }

/* the designed offer pages */
.op {
  --op-accent: #E91E8C;
  --op-accent-hover: #C8177A;
  --op-deep: #0b0b0c;
  --op-deepest: #050506;
  --op-gold: #E91E8C;
  --op-cream: #FDEBF4;
  --op-ink: #111113;
  --op-text: #2a2a2e;
  --op-muted: #55555c;
  --op-line: #f1d3e2;
  --op-card-line: #e2c4d4;
  --op-head: "Playfair Display", Georgia, "Times New Roman", serif;
  --op-body: "Inter", "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
}
.op .op-kicker, .op .op-eyebrow, .op .op-exit-kicker { color: var(--pink-ink); }
.op .op-card::before { background: var(--accent); }
.op .op-check { color: var(--pink-ink); }
.op .op-bonus-badge { color: #fff; }
.op .op-pricebox { border-width: 2px; border-color: var(--op-ink); box-shadow: 7px 7px 0 var(--accent); background: #FFFFFF; }
.op .op-guarantee { background: var(--bg); border-color: var(--line); }
.op .op-btn {
  font-family: var(--op-body);
  font-weight: 800;
  font-size: 19px;
  border-radius: 999px;
  box-shadow: 0 12px 26px rgba(233, 30, 140, 0.30);
}
.op .op-dealline .op-fill { color: #ffffff; }
.op .op-step-note { color: #ffffff; }
@media (max-width: 480px) {
  .op .op-pricebox { box-shadow: 5px 5px 0 var(--accent); }
}

/* pink words on white use the deeper pink, so small text passes */
.op a:not(.op-btn) { color: var(--pink-ink); }
.op .op-row-credit { color: var(--pink-ink); }

/* the thank-you body keeps its line breaks, so the five steps read as a list */
main:not(.co):not(.op):not(.dp) .lede { white-space: pre-line; }
/* the decline link stays quiet: pink is for the yes */
.op a.op-no { color: var(--op-muted); }
