/* ==========================================================================
   Pohst — Pleo theme layer over Bootstrap 5.3.3
   Strategy: override Bootstrap's own --bs-* CSS variables (color / type / radius
   / spacing) so the framework itself renders the Pleo aesthetic, then add a thin
   component layer for the signature pieces (pill buttons, dimensional cards,
   editorial type, dark sections). Loaded AFTER bootstrap.min.css.

   Aesthetic: pleo.io editorial monochrome — pure black ink, white + #F5F5F5
   surfaces, Inter heavy+tight, black pill buttons, bordered cards with hover
   lift. PURE MONOCHROME: purple lives only inside the logo. Not flat — depth via
   soft shadows + hover transforms.
   ========================================================================== */

/* ---- 1. Token overrides — repoint Bootstrap's variables --------------------
   Scoped to :root AND [data-bs-theme=light] to match/beat Bootstrap's own
   light-theme block specificity. */
:root,
[data-bs-theme="light"] {
  /* Ink / neutrals */
  --pohst-ink:        #000000;
  --pohst-ink-2:      #4D4D4D;   /* body copy / secondary */
  --pohst-ink-3:      #6B6B6B;   /* tertiary (AA on white) */
  --pohst-ink-4:      #A3A3A3;   /* muted */
  --pohst-bg:         #FFFFFF;
  --pohst-bg-warm:    #F5F5F5;   /* alt section */
  --pohst-bg-light:   #EFEFEF;
  --pohst-border:     #E5E5E5;
  --pohst-border-2:   #D8D8D8;
  --pohst-dark:       #000000;   /* dark sections */
  --pohst-dark-2:     #0E0E0E;
  --pohst-dark-hover: #1A1A1A;
  --pohst-clay:       #C9967A;
  --pohst-clay-2:     #A8775B;
  /* ---- Logo-derived purple. RESERVED for tiny illustration accents only
     (calendar highlight, queue bars, chart peaks) — never buttons/text/sections.
     Keep usage to a whisper so the site stays monochrome. ---- */
  --pohst-accent:      #7C3AED;   /* logo violet */
  --pohst-accent-2:    #CF2A94;   /* logo magenta */
  --pohst-accent-grad: linear-gradient(135deg, #7C3AED 0%, #CF2A94 100%);
  --pohst-accent-soft: rgba(124, 58, 237, .07);
  --pohst-accent-line: rgba(124, 58, 237, .22);
  --pohst-on-dark:    #FFFFFF;
  --pohst-on-dark-muted: #A3A3A3;
  --pohst-success:    #1A1A1A;   /* check ticks stay ink, not green */

  /* Spacing scale (used by our section/rhythm utilities) */
  --pohst-space-1: 4px;   --pohst-space-2: 8px;   --pohst-space-3: 12px;
  --pohst-space-4: 16px;  --pohst-space-5: 24px;  --pohst-space-6: 32px;
  --pohst-space-7: 48px;  --pohst-space-8: 64px;  --pohst-space-9: 96px;
  --pohst-space-10: 128px;

  /* Elevation — soft, low-chroma. Depth, never flat. */
  --pohst-shadow-xs: 0 1px 2px rgba(0,0,0,.05);
  --pohst-shadow-sm: 0 2px 8px rgba(0,0,0,.05);
  --pohst-shadow-md: 0 8px 24px rgba(0,0,0,.07);
  --pohst-shadow-lg: 0 16px 48px rgba(0,0,0,.10);
  --pohst-shadow-xl: 0 28px 70px rgba(0,0,0,.14);

  --pohst-ease: cubic-bezier(.22,.61,.36,1);

  /* ---- Bootstrap variable remaps ---- */
  --bs-body-font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --bs-body-font-size: 1.0625rem;      /* 17px */
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.6;
  --bs-body-color: var(--pohst-ink-2);
  --bs-body-color-rgb: 77, 77, 77;
  --bs-body-bg: var(--pohst-bg);
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: var(--pohst-ink);
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: var(--pohst-ink-3);
  --bs-secondary-bg: var(--pohst-bg-warm);
  --bs-tertiary-color: var(--pohst-ink-4);
  --bs-tertiary-bg: var(--pohst-bg-light);
  --bs-heading-color: var(--pohst-ink);

  --bs-primary: #000000;
  --bs-primary-rgb: 0, 0, 0;
  --bs-dark: #000000;
  --bs-dark-rgb: 0, 0, 0;
  --bs-light: #F5F5F5;
  --bs-light-rgb: 245, 245, 245;

  --bs-border-color: var(--pohst-border);
  --bs-border-color-translucent: rgba(0,0,0,.10);

  --bs-link-color: var(--pohst-ink);
  --bs-link-color-rgb: 0, 0, 0;
  --bs-link-hover-color: var(--pohst-ink-2);
  --bs-link-hover-color-rgb: 77, 77, 77;
  --bs-link-decoration: none;

  /* Radius — Pleo uses generous soft corners + full pill */
  --bs-border-radius: .75rem;      /* 12px */
  --bs-border-radius-sm: .5rem;    /* 8px */
  --bs-border-radius-lg: 1.25rem;  /* 20px — cards */
  --bs-border-radius-xl: 1.5rem;   /* 24px */
  --bs-border-radius-xxl: 2rem;    /* 32px */
  --bs-border-radius-pill: 999px;

  /* Container gutter */
  --bs-gutter-x: 1.5rem;

  scroll-behavior: smooth;
  /* offset anchor landings so the sticky header never covers the target
     (applies to native hash nav AND scrollIntoView; immune to reflow timing) */
  scroll-padding-top: 92px;
}

/* ---- 2. Base elements ---------------------------------------------------- */
body {
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  line-height: var(--bs-body-line-height);
  color: var(--pohst-ink-2);
  background: var(--pohst-bg);
  font-feature-settings: 'cv11' on, 'ss01' on, 'ss03' on;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--bs-body-font-family);
  color: var(--pohst-ink);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.1;
  font-feature-settings: 'cv11' on, 'ss01' on;
}

h1, .h1 { font-size: clamp(2.5rem, 4.6vw, 3.75rem); font-weight: 500; line-height: 1.04; letter-spacing: -0.032em; }
h2, .h2 { font-size: clamp(1.9rem, 3.4vw, 2.625rem); font-weight: 500; line-height: 1.1;  letter-spacing: -0.028em; }
h3, .h3 { font-size: clamp(1.4rem, 2.1vw, 1.625rem); font-weight: 600; line-height: 1.2;  letter-spacing: -0.02em; }
h4, .h4 { font-size: 1.25rem;  font-weight: 600; line-height: 1.3; letter-spacing: -0.015em; }
h5, .h5 { font-size: 1.0625rem; font-weight: 600; line-height: 1.4; letter-spacing: -0.01em; }
h6, .h6 { font-size: 1rem; font-weight: 600; letter-spacing: -0.01em; }

p { color: var(--pohst-ink-2); line-height: 1.6; }
strong, b { font-weight: 600; color: var(--pohst-ink); }
.text-ink   { color: var(--pohst-ink) !important; }
.text-ink-2 { color: var(--pohst-ink-2) !important; }
.text-ink-3 { color: var(--pohst-ink-3) !important; }
.text-muted-ink { color: var(--pohst-ink-4) !important; }
.fw-display { font-weight: 600; letter-spacing: -0.03em; }

/* Editorial lead paragraph under a hero heading */
.lead-pohst {
  font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
  line-height: 1.55;
  color: var(--pohst-ink-2);
  letter-spacing: -0.005em;
}

/* Eyebrow / overline */
.eyebrow {
  display: inline-block;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pohst-ink-3);
  margin-bottom: var(--pohst-space-4);
}
.section--dark .eyebrow { color: var(--pohst-on-dark-muted); }

/* ---- 3. Layout rhythm ---------------------------------------------------- */
.section { padding-top: var(--pohst-space-9); padding-bottom: var(--pohst-space-9); }
.section-sm { padding-top: var(--pohst-space-8); padding-bottom: var(--pohst-space-8); }
.section--warm { background: var(--pohst-bg-warm); }
.section--light { background: var(--pohst-bg-light); }
.section--dark  { background: var(--pohst-dark); color: var(--pohst-on-dark); }
.section--dark h1, .section--dark h2, .section--dark h3, .section--dark h4,
.section--dark h5, .section--dark h6 { color: var(--pohst-on-dark); }
.section--dark p { color: var(--pohst-on-dark-muted); }
.container-narrow { max-width: 820px; margin-inline: auto; }
.container-tight  { max-width: 1120px; }

@media (max-width: 768px) {
  .section    { padding-top: var(--pohst-space-8); padding-bottom: var(--pohst-space-8); }
  .section-sm { padding-top: var(--pohst-space-7); padding-bottom: var(--pohst-space-7); }
}

/* ---- 4. Buttons — solid black pill + outline pill (Pleo signature) -------- */
.btn {
  --bs-btn-font-family: var(--bs-body-font-family);
  --bs-btn-font-weight: 500;
  --bs-btn-border-radius: 999px;
  --bs-btn-padding-y: .8rem;
  --bs-btn-padding-x: 1.6rem;
  --bs-btn-font-size: 1rem;
  letter-spacing: -0.005em;
  transition: transform .18s var(--pohst-ease), background-color .18s var(--pohst-ease),
              border-color .18s var(--pohst-ease), box-shadow .18s var(--pohst-ease), color .18s var(--pohst-ease);
}
.btn-lg  { --bs-btn-padding-y: 1rem;   --bs-btn-padding-x: 2rem;   --bs-btn-font-size: 1.0625rem; }
.btn-sm  { --bs-btn-padding-y: .5rem;  --bs-btn-padding-x: 1.1rem; --bs-btn-font-size: .875rem; }

/* Primary = solid ink pill */
.btn-ink {
  --bs-btn-color: #fff; --bs-btn-bg: var(--pohst-ink); --bs-btn-border-color: var(--pohst-ink);
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--pohst-dark-hover); --bs-btn-hover-border-color: var(--pohst-dark-hover);
  --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--pohst-dark-hover); --bs-btn-active-border-color: var(--pohst-dark-hover);
  border-width: 1.5px;
}
.btn-ink:hover { transform: translateY(-1px); box-shadow: var(--pohst-shadow-md); }

/* Secondary = outline ink pill */
.btn-ink-outline {
  --bs-btn-color: var(--pohst-ink); --bs-btn-bg: transparent; --bs-btn-border-color: var(--pohst-ink);
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--pohst-ink); --bs-btn-hover-border-color: var(--pohst-ink);
  --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--pohst-ink); --bs-btn-active-border-color: var(--pohst-ink);
  border-width: 1.5px;
}
.btn-ink-outline:hover { transform: translateY(-1px); }

/* On dark sections → invert to white pill */
.btn-ink-invert {
  --bs-btn-color: var(--pohst-ink); --bs-btn-bg: #fff; --bs-btn-border-color: #fff;
  --bs-btn-hover-color: var(--pohst-ink); --bs-btn-hover-bg: var(--pohst-on-dark-muted); --bs-btn-hover-border-color: var(--pohst-on-dark-muted);
  --bs-btn-active-color: var(--pohst-ink); --bs-btn-active-bg: var(--pohst-on-dark-muted); --bs-btn-active-border-color: var(--pohst-on-dark-muted);
  border-width: 1.5px;
}
.btn-ink-invert:hover { transform: translateY(-1px); box-shadow: 0 12px 32px rgba(0,0,0,.35); }

.btn-ghost {
  --bs-btn-color: var(--pohst-ink); --bs-btn-bg: transparent; --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--pohst-ink); --bs-btn-hover-bg: var(--pohst-bg-warm); --bs-btn-hover-border-color: transparent;
}
.section--dark .btn-ghost { --bs-btn-color: #fff; --bs-btn-hover-color:#fff; --bs-btn-hover-bg: var(--pohst-dark-hover); }

/* ---- 5. Cards — dimensional (border + hover lift + shadow) --------------- */
.card {
  --bs-card-bg: var(--pohst-bg);
  --bs-card-border-color: var(--pohst-border);
  --bs-card-border-radius: 1.25rem;   /* 20px */
  --bs-card-inner-border-radius: 1.1rem;
  --bs-card-spacer-y: 1.75rem;
  --bs-card-spacer-x: 1.75rem;
  border-width: 1px;
  box-shadow: var(--pohst-shadow-xs);
  transition: transform .24s var(--pohst-ease), box-shadow .24s var(--pohst-ease), border-color .24s var(--pohst-ease);
}
.card-hover:hover,
.card.is-interactive:hover {
  transform: translateY(-3px);
  border-color: var(--pohst-border-2);
  box-shadow: var(--pohst-shadow-md);
}
.card--flush { box-shadow: none; }
.card--elevated { box-shadow: var(--pohst-shadow-md); }

/* Soft surface tile (platform chips, feature tiles) */
.tile {
  background: var(--pohst-bg);
  border: 1px solid var(--pohst-border);
  border-radius: 1rem;
  box-shadow: var(--pohst-shadow-xs);
  transition: transform .22s var(--pohst-ease), box-shadow .22s var(--pohst-ease), border-color .22s var(--pohst-ease);
}
.tile:hover { transform: translateY(-3px); box-shadow: var(--pohst-shadow-md); border-color: var(--pohst-border-2); }

/* ---- 6. Badges / pills / eyebrow tags ------------------------------------ */
.badge-pohst {
  display: inline-flex; align-items: center; gap: .4rem;
  background: var(--pohst-bg-warm);
  color: var(--pohst-ink);
  border: 1px solid var(--pohst-border);
  font-weight: 500; font-size: .8125rem; letter-spacing: -0.005em;
  padding: .38rem .85rem; border-radius: 999px;
}
.badge-ink   { background: var(--pohst-ink); color:#fff; border-color: var(--pohst-ink); }
.badge-clay  { background: var(--pohst-clay); color:#fff; border-color: var(--pohst-clay); }
.section--dark .badge-pohst { background: rgba(255,255,255,.08); color:#fff; border-color: rgba(255,255,255,.16); }

/* Feature check row */
.check-item { display:flex; gap:.6rem; align-items:flex-start; color: var(--pohst-ink-2); }
.check-item svg, .check-item .tick { flex:0 0 auto; color: var(--pohst-ink); margin-top:.15rem; }

/* ---- 7. Header / navbar -------------------------------------------------- */
.site-header {
  position: sticky; top: 0; z-index: 1030;
  background: rgba(255,255,255,.82);
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid transparent;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.site-header.is-scrolled { border-bottom-color: var(--pohst-border); box-shadow: 0 1px 0 rgba(0,0,0,.02); }
.site-header .navbar-brand img { height: 30px; width: auto; display:block; }
.nav-link-pohst {
  font-weight: 500; font-size: .9375rem; letter-spacing: -0.005em;
  color: var(--pohst-ink); padding: .5rem 1.05rem; border-radius: 999px;
  transition: background-color .16s ease, color .16s ease;
}
.nav-link-pohst:hover { background: var(--pohst-bg-warm); color: var(--pohst-ink); }
.nav-link-pohst.is-active { color: var(--pohst-ink); }

/* Announcement topbar (dark) */
.site-topbar {
  background: var(--pohst-ink); color:#fff;
  font-size: .8125rem; letter-spacing: -0.005em;
}
.site-topbar a { color:#fff; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255,255,255,.5); }
.site-topbar a:hover { text-decoration-color:#fff; color:#fff; }

/* ---- 8. Footer (dark, monochrome) --------------------------------------- */
.site-footer { background: var(--pohst-ink); color: var(--pohst-on-dark-muted); }
.site-footer .footer-title { color:#fff; font-size:.8125rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.site-footer a { color: var(--pohst-on-dark-muted); text-decoration: none; transition: color .16s ease; }
.site-footer a:hover { color:#fff; }
.site-footer .footer-brand-desc { color: var(--pohst-on-dark-muted); font-size:.9rem; line-height:1.65; }
.site-footer hr { border-color: rgba(255,255,255,.12); opacity:1; }

/* ---- 9. Forms ------------------------------------------------------------ */
.form-control, .form-select {
  border: 1px solid var(--pohst-border);
  border-radius: .75rem;
  padding: .75rem 1rem;
  font-size: .9375rem;
  color: var(--pohst-ink);
  background: var(--pohst-bg);
}
.form-control:focus, .form-select:focus {
  border-color: var(--pohst-ink);
  box-shadow: 0 0 0 3px rgba(0,0,0,.06);
}

/* ---- 10. Pricing toggle + misc components ------------------------------- */
.price-toggle { display:inline-flex; align-items:center; gap:.75rem; }
.price-toggle .form-switch .form-check-input {
  width: 2.6rem; height: 1.45rem; cursor:pointer;
  background-color: var(--pohst-bg-light); border-color: var(--pohst-border);
}
.price-toggle .form-switch .form-check-input:checked { background-color: var(--pohst-ink); border-color: var(--pohst-ink); }
.price-toggle .form-switch .form-check-input:focus { box-shadow: 0 0 0 3px rgba(0,0,0,.06); border-color: var(--pohst-ink); }

/* Divider dot */
.dot-sep { width:4px; height:4px; border-radius:50%; background: var(--pohst-ink-4); display:inline-block; vertical-align:middle; }

/* Link with animated underline */
.link-underline-pohst {
  color: var(--pohst-ink); text-decoration: underline; text-decoration-thickness: 1px;
  text-underline-offset: 3px; text-decoration-color: var(--pohst-ink-4);
  transition: text-decoration-color .18s ease;
}
.link-underline-pohst:hover { text-decoration-color: var(--pohst-ink); color: var(--pohst-ink); }
.section--dark .link-underline-pohst { color:#fff; text-decoration-color: rgba(255,255,255,.5); }
.section--dark .link-underline-pohst:hover { text-decoration-color:#fff; color:#fff; }

/* Hairline separators between sections when both are white */
.section-hairline { border-top: 1px solid var(--pohst-border); }

/* Muted trust line */
.trust-line { color: var(--pohst-ink-3); font-size: .875rem; }

/* Subtle grid backdrop for hero depth (not flat) */
.hero-grid-bg {
  background-image:
    radial-gradient(60% 60% at 50% 0%, rgba(0,0,0,.035), transparent 70%),
    linear-gradient(var(--pohst-bg), var(--pohst-bg));
}

/* Accessibility: visible focus ring on keyboard nav */
a:focus-visible, .btn:focus-visible, .form-control:focus-visible, .form-check-input:focus-visible {
  outline: 2px solid var(--pohst-ink); outline-offset: 2px;
}

/* ==========================================================================
   11. Platform tiles (monochrome brand glyphs)
   ========================================================================== */
.platform-grid { --bs-gutter-x: .875rem; --bs-gutter-y: .875rem; }
.platform-tile {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: .6rem; text-align: center;
  height: 100%; min-height: 104px; padding: 1.1rem .5rem;
  background: var(--pohst-bg);
  border: 1px solid var(--pohst-border);
  border-radius: 1rem;
  box-shadow: var(--pohst-shadow-xs);
  transition: transform .2s var(--pohst-ease), box-shadow .2s var(--pohst-ease), border-color .2s var(--pohst-ease);
}
.platform-tile:hover { transform: translateY(-3px); box-shadow: var(--pohst-shadow-md); border-color: var(--pohst-border-2); }
.platform-tile__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 12px;
  background: var(--pohst-bg-warm);
  color: var(--pohst-ink);
  transition: background-color .2s var(--pohst-ease), color .2s var(--pohst-ease);
}
.platform-tile:hover .platform-tile__icon { background: var(--pohst-ink); color: #fff; }
.platform-tile__mono { font-weight: 700; font-size: 1.05rem; letter-spacing: -0.02em; }
.platform-tile__label { font-size: .8125rem; font-weight: 500; color: var(--pohst-ink-2); letter-spacing: -0.01em; }

/* Dark-section variant */
.section--dark .platform-tile { background: rgba(255,255,255,.035); border-color: rgba(255,255,255,.1); box-shadow:none; }
.section--dark .platform-tile__icon { background: rgba(255,255,255,.08); color:#fff; }
.section--dark .platform-tile:hover .platform-tile__icon { background:#fff; color: var(--pohst-ink); }
.section--dark .platform-tile__label { color: rgba(255,255,255,.72); }

/* ==========================================================================
   12. Numbered process steps
   ========================================================================== */
.step-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--pohst-ink); color: #fff;
  font-weight: 600; font-size: 1.05rem; letter-spacing: -0.02em;
}
.step-arrow { color: var(--pohst-ink-4); }

/* ==========================================================================
   13. Stat pill (product cards, pricing spec grid)
   ========================================================================== */
.stat-cell { text-align: center; padding: .75rem .5rem; background: var(--pohst-bg-warm); border-radius: .75rem; }
.stat-cell__num { font-weight: 600; font-size: 1.15rem; letter-spacing: -0.03em; color: var(--pohst-ink); line-height: 1; }
.stat-cell__label { font-size: .72rem; color: var(--pohst-ink-3); letter-spacing: .01em; margin-top: .25rem; }

/* ==========================================================================
   14. Pricing card
   ========================================================================== */
.price-card { display: flex; flex-direction: column; height: 100%; }
.price-card.is-featured {
  border-color: var(--pohst-ink);
  box-shadow: var(--pohst-shadow-lg);
}
.price-card .price-amount { font-size: 3rem; font-weight: 600; letter-spacing: -0.04em; line-height: 1; color: var(--pohst-ink); }
.price-card .price-currency { font-size: 1.25rem; font-weight: 600; vertical-align: super; }
.price-card .price-period { font-size: .9rem; color: var(--pohst-ink-3); font-weight: 500; }
.price-badge-top {
  position: absolute; top: -.75rem; left: 50%; transform: translateX(-50%);
  background: var(--pohst-ink); color: #fff; font-size: .7rem; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; padding: .3rem .8rem; border-radius: 999px; white-space: nowrap;
}

/* ==========================================================================
   15. Hero mockup (dimensional browser card)
   ========================================================================== */
.mockup {
  background: var(--pohst-bg);
  border: 1px solid var(--pohst-border);
  border-radius: 1.25rem;
  box-shadow: var(--pohst-shadow-xl);
  overflow: hidden;
}
.mockup__bar { display: flex; align-items: center; gap: .4rem; padding: .85rem 1rem; border-bottom: 1px solid var(--pohst-border); background: var(--pohst-bg-warm); }
.mockup__dot { width: 11px; height: 11px; border-radius: 50%; background: var(--pohst-border-2); }
.cal-cell { position:relative; aspect-ratio: 1; border-radius: .5rem; padding:.35rem .45rem; font-size:.72rem; font-weight:600; color: var(--pohst-ink-3); background: var(--pohst-bg); border:1px solid var(--pohst-border); }
.cal-cell.is-weekend { background: var(--pohst-bg-warm); color: var(--pohst-ink-4); }
/* Scheduled day — light, with a whisper of the logo purple */
.cal-cell.is-post { background: var(--pohst-accent-soft); border-color: var(--pohst-accent-line); color: var(--pohst-ink); }
.cal-cell.is-post .cal-dots i { background: var(--pohst-accent); }
/* Single focal "campaign" day — the one bold, branded moment */
.cal-cell.is-accent { background: var(--pohst-accent-grad); border-color: transparent; color:#fff; box-shadow: 0 8px 20px rgba(124,58,237,.26); }
.cal-cell.is-accent .cal-dots i { background: rgba(255,255,255,.92); }
.cal-dots { position:absolute; left:.45rem; bottom:.42rem; display:flex; gap:3px; }
.cal-dots i { width:4px; height:4px; border-radius:50%; background: var(--pohst-accent); display:block; }
.cal-dow { font-size:.66rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color: var(--pohst-ink-4); text-align:center; }
.queue-row { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.7rem .85rem; border:1px solid var(--pohst-border); border-radius:.7rem; background: var(--pohst-bg); }
.queue-bar { width:3px; align-self:stretch; border-radius:3px; background: var(--pohst-accent-grad); }

/* ==========================================================================
   16. Help / contact topic cards
   ========================================================================== */
.topic-icon {
  display:inline-flex; align-items:center; justify-content:center;
  width:48px; height:48px; border-radius:12px; background: var(--pohst-bg-warm); color: var(--pohst-ink);
}
.card-hover:hover .topic-icon { background: var(--pohst-ink); color:#fff; transition: background-color .24s var(--pohst-ease), color .24s var(--pohst-ease); }

/* Feature grid tiles keep left-aligned icon */
.feature-icon {
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:12px; background: var(--pohst-bg-warm); color: var(--pohst-ink); margin-bottom: 1rem;
}
.card-hover:hover .feature-icon { background: var(--pohst-ink); color:#fff; transition: background-color .24s var(--pohst-ease), color .24s var(--pohst-ease); }

/* Product card accent line */
.product-card { position: relative; overflow: hidden; }
.spec-list li { padding: .3rem 0; color: var(--pohst-ink-2); font-size: .95rem; }
