/* Theme "abo": subscription-platform look (white, grey lines, pills, Nunito, pink accent #d63175).
   The default look ('theme' in app/config.php); loaded after app.css (app/lib/theme.php). */

/* ---------- Fonts (self-hosted, SIL OFL; see /assets/fonts/OFL-Nunito.txt) ---------- */
@font-face { font-family: "Nunito"; font-style: normal; font-weight: 400; font-display: swap;
  src: url(/assets/fonts/nunito-latin-400-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Nunito"; font-style: normal; font-weight: 400; font-display: swap;
  src: url(/assets/fonts/nunito-latin-ext-400-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Nunito"; font-style: italic; font-weight: 400; font-display: swap;
  src: url(/assets/fonts/nunito-latin-400-italic.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Nunito"; font-style: italic; font-weight: 400; font-display: swap;
  src: url(/assets/fonts/nunito-latin-ext-400-italic.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Nunito"; font-style: normal; font-weight: 600; font-display: swap;
  src: url(/assets/fonts/nunito-latin-600-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Nunito"; font-style: normal; font-weight: 600; font-display: swap;
  src: url(/assets/fonts/nunito-latin-ext-600-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Nunito"; font-style: normal; font-weight: 700; font-display: swap;
  src: url(/assets/fonts/nunito-latin-700-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Nunito"; font-style: normal; font-weight: 700; font-display: swap;
  src: url(/assets/fonts/nunito-latin-ext-700-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Nunito"; font-style: normal; font-weight: 800; font-display: swap;
  src: url(/assets/fonts/nunito-latin-800-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Nunito"; font-style: normal; font-weight: 800; font-display: swap;
  src: url(/assets/fonts/nunito-latin-ext-800-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* ---------- Tokens: light greys for surfaces and lines, pink only as the accent ---------- */
:root[data-theme="abo"] {
  --pink-50: #f7f8f9;
  --pink-100: #f2f4f5;
  --pink-150: #fbe4ee;
  --pink-200: #dfe3e6;
  --pink-300: #c3c9ce;
  --pink-400: #e0679a;
  --pink-500: #d63175;
  --pink-600: #b4205e;
  --pink-700: #8e1849;
  --ink: #242529;
  --ink-soft: #3f464d;
  --muted: #6b7781;
  --paper: #ffffff;
  --line: #eceef0;

  --font-display: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;

  --radius-sm: 10px;
  --radius: 12px;
  --radius-lg: 16px;
  --shadow: 0 0 0 1px var(--line);
  --shadow-strong: 0 6px 20px rgba(36, 37, 41, .10);
  --gap: 28px;
}

[data-theme="abo"], [data-theme="abo"] body { background: #fff; }
[data-theme="abo"] body { font-size: 15px; }

/* ---------- Buttons: pills, uppercase ---------- */
[data-theme="abo"] .btn {
  border-radius: 999px; font: 800 14px/1.2 var(--font-body);
  letter-spacing: .4px; text-transform: uppercase; padding: 12px 22px;
}
[data-theme="abo"] .btn--primary { background: var(--pink-500); color: #fff; box-shadow: none; }
[data-theme="abo"] .btn--primary:hover { background: var(--pink-600); }
[data-theme="abo"] .btn--ghost { background: #fff; color: var(--pink-500); border-color: var(--pink-200); }
[data-theme="abo"] .btn--ghost:hover { border-color: var(--pink-500); }
[data-theme="abo"] .btn--lg { padding: 15px 30px; font-size: 15px; border-radius: 999px; }
[data-theme="abo"] .btn--sm { padding: 8px 14px; font-size: 12px; border-radius: 999px; }

/* ---------- Top bar ---------- */
[data-theme="abo"] .topbar { padding-bottom: 14px; border-bottom: 1px solid var(--line); }
[data-theme="abo"] .brand__logo {
  font: 800 34px/1 var(--font-display); letter-spacing: -0.5px; text-transform: lowercase;
  color: var(--pink-500); text-shadow: none;
}
[data-theme="abo"] .brand__tagline { margin: 4px 0 0; transform: none; font: 600 13px/1 var(--font-body); color: var(--muted); }
[data-theme="abo"] .search__input { height: 48px; border: 0; border-radius: 999px; background: var(--pink-100); }
[data-theme="abo"] .search__input:focus { background: #fff; box-shadow: 0 0 0 2px var(--pink-500); }
[data-theme="abo"] .search__icon { color: var(--muted); }
[data-theme="abo"] .topbar__me { color: var(--muted); }

/* ---------- Side navigation: bold, dark, accent when active ---------- */
[data-theme="abo"] .sidenav__link { color: var(--ink); font-weight: 700; font-size: 17px; border-radius: 999px; }
[data-theme="abo"] .sidenav__link .icon { color: var(--ink); }
[data-theme="abo"] .sidenav__link:hover { background: var(--pink-100); }
[data-theme="abo"] .sidenav__link.is-active { background: transparent; color: var(--pink-500); font-weight: 800; }
[data-theme="abo"] .sidenav__link.is-active .icon { color: var(--pink-500); }
[data-theme="abo"] .support-box { background: #fff; box-shadow: var(--shadow); }
[data-theme="abo"] .support-box__heart { filter: none; }
[data-theme="abo"] .support-box__title { font-weight: 800; color: var(--ink); }

/* ---------- Hero: flat cover banner instead of the pink gradient ---------- */
[data-theme="abo"] .hero { background: var(--pink-150); box-shadow: none; }
[data-theme="abo"] .hero__wordmark {
  color: var(--pink-500); transform: none; text-transform: lowercase; font-weight: 800;
  text-shadow: none; letter-spacing: -2px;
}
[data-theme="abo"] .hero__heart { color: var(--pink-500); filter: none; }
[data-theme="abo"] .hero__lead { color: var(--ink); font-weight: 700; }
[data-theme="abo"] .offers__icon { background: #fff; box-shadow: none; }
[data-theme="abo"] .offers__label { color: var(--ink); font-weight: 700; }
[data-theme="abo"] .offers__item:last-child .offers__label { color: var(--pink-500); }

/* ---------- Tabs and section heads: small uppercase labels ---------- */
[data-theme="abo"] .tabs { border-bottom-color: var(--line); }
[data-theme="abo"] .tabs__tab { font-weight: 800; font-size: 13px; letter-spacing: .5px; text-transform: uppercase; color: var(--muted); }
[data-theme="abo"] .tabs__tab.is-active { color: var(--ink); border-bottom-color: var(--pink-500); }
[data-theme="abo"] .section__title { font: 800 14px/1.2 var(--font-body); letter-spacing: .8px; text-transform: uppercase; color: var(--muted); }

/* ---------- Journalist cards ---------- */
[data-theme="abo"] .jcard__media { background: var(--pink-100); }
[data-theme="abo"] .sticker { background: var(--pink-500); box-shadow: none; transform: none; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; font-size: 11px; }
[data-theme="abo"] .jcard__feet { box-shadow: none; }
[data-theme="abo"] .jcard__name { font-weight: 800; }

/* ---------- Right sidebar ---------- */
[data-theme="abo"] .panel--soft, [data-theme="abo"] .panel--campaign { background: var(--pink-150); }
[data-theme="abo"] .panel__title { font-weight: 800; color: var(--ink); }
[data-theme="abo"] .panel__heart { filter: none; }
[data-theme="abo"] .testimonial blockquote { font-weight: 700; color: var(--ink); }
[data-theme="abo"] .testimonial figcaption { color: var(--muted); }
[data-theme="abo"] .campaign-slogan { font-weight: 800; color: var(--pink-500); }
[data-theme="abo"] .trends__item { border-bottom-color: var(--line); }

/* ---------- Feed, posts, profile ---------- */
[data-theme="abo"] .avatar { background: var(--pink-150); }
[data-theme="abo"] .post-card__title { font-weight: 800; }
[data-theme="abo"] .post-card__actions, [data-theme="abo"] .byline { border-color: var(--line); }
[data-theme="abo"] .post-card__actions { color: var(--ink-soft); font-weight: 700; }
[data-theme="abo"] .pat__btn { border-color: var(--pink-200); color: var(--ink-soft); font-weight: 800; }
[data-theme="abo"] .pat__btn .icon { color: var(--pink-500); }
[data-theme="abo"] .pat__btn.is-patted .icon { color: #fff; }
[data-theme="abo"] .chip { font-weight: 700; }
[data-theme="abo"] .profile__name { font-weight: 800; }
[data-theme="abo"] .profile__quote { background: var(--pink-100); color: var(--ink); font-weight: 700; }
[data-theme="abo"] .profile__label { font-weight: 800; font-size: 13px; letter-spacing: .8px; text-transform: uppercase; color: var(--muted); }
[data-theme="abo"] .profile__price { font-weight: 800; color: var(--ink); }
[data-theme="abo"] .kink-chip { background: var(--pink-100); color: var(--ink-soft); }
[data-theme="abo"] .service-chip { border-color: transparent; background: var(--pink-100); }
[data-theme="abo"] .support-author { background: var(--pink-150); }
[data-theme="abo"] .support-author__text { font-weight: 800; color: var(--ink); }
[data-theme="abo"] .share-bar { background: #fff; border-color: var(--line); }
[data-theme="abo"] .share-bar__title { font-weight: 800; color: var(--ink); }

/* ---------- Forms, pages ---------- */
[data-theme="abo"] .field__input { background: #fff; border-color: var(--pink-200); border-radius: 10px; }
[data-theme="abo"] .field__input:focus { border-color: var(--pink-500); box-shadow: 0 0 0 3px rgba(214, 49, 117, .15); }
[data-theme="abo"] .auth__title, [data-theme="abo"] .legal__title, [data-theme="abo"] .error-page__title,
[data-theme="abo"] .modal__title, [data-theme="abo"] .landing__title, [data-theme="abo"] .kink-picker__legend { font-weight: 800; color: var(--ink); }
[data-theme="abo"] .landing { background: var(--pink-150); }
[data-theme="abo"] .earnings__hero { background: var(--pink-500); box-shadow: none; }
[data-theme="abo"] .earnings__label, [data-theme="abo"] .earnings__note { color: #fff; }
[data-theme="abo"] .earnings__amount { text-shadow: none; }
[data-theme="abo"] .earnings__tile strong { color: var(--ink); }
[data-theme="abo"] .inbox__item { border-left-color: var(--pink-500); }

/* ---------- Footer ---------- */
[data-theme="abo"] .footer { border-top: 1px solid var(--line); }
[data-theme="abo"] .footer__satire { color: var(--ink-soft); }

@media (max-width: 900px) {
  [data-theme="abo"] .nav-toggle { border-color: var(--pink-200); border-radius: 999px; background: #fff; color: var(--ink); }
  [data-theme="abo"] .sidenav { background: #fff; }
}
@media (max-width: 600px) {
  [data-theme="abo"] .brand__logo { font-size: 28px; }
  [data-theme="abo"] .topbar__buttons .btn { padding: 9px 12px; font-size: 12px; }
}
