/* =========================================================
   Prompt Vault – Main Stylesheet
   ========================================================= */

/* -------- CSS Variables (theme) -------- */
:root{
  --bg: #f6f3f9;
  --ink: #1f2328;
  --muted: #6b7280;
  --primary: #00A4FF;           /* Blue */
  --primaryOrange: #ff8a3d;           /* Blue */
  --primary-ink: #ffffff;
  --accent: #ff8a3d;            /* Orange */
  --radius: 18px;

  --glass-bg: rgba(255,255,255,.65);
  --glass-br: 1px solid rgba(0,0,0,.08);
  --shadow: 0 8px 26px rgba(0,0,0,.08);
}


/* -------- Base / Layout -------- */
*{ box-sizing: border-box; }
html,body{ height:100%; }
body{
  margin:0;
  color:var(--ink);
  background: var(--bg) url('/assets/img/pvbg2026.jpg') center/cover fixed no-repeat;
  font: 16px/1.45 system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
}
h1,h2,h3{ margin: 0 0 .5rem; line-height:1.2; }
h1{ font-size: 3rem; }
h2{ font-size: 1.4rem; }
h3{ font-size: 1.25rem; }
p{ margin: 0 0 .75rem; }
small.small{ font-size:.875rem; }
.muted{ color: var(--muted); }

.page{ padding: 24px 0 40px; }
.pv-wrap{ max-width:1280px; margin:0 auto; padding:0 16px; }

/* -------- Header -------- */
.site-header{
  position: sticky; top:0; z-index: 10;
  backdrop-filter: blur(8px);
  background: rgba(255,255,255,.7);
  border-bottom: 1px solid rgba(0,0,0,.06);
  padding: 12px 0;
  margin-bottom: 0;
}
.site-nav a{
  display:inline-block; padding:10px 14px; text-decoration:none; color:var(--ink);
}
.site-nav a.btn{ margin-left: 6px; }

/* extra breathing room under the nav */
.site-header{ padding-bottom: 2rem; }
@media (max-width: 720px){
  .site-header{ padding-bottom: 1.25rem; }
}

/* ===== Homepage ===== */
.page.home{ padding-top:8px; }
.home > .pv-wrap{ gap:clamp(24px,4vw,52px); }


/* ================================ START OF HERO ==============================*/
/* ===== Simple Hero (image right, text left) ===== */
.home-hero-simple {
  /* keep within the same site width; background can be your gradient */
  background: var(--pv-hero-gradient, linear-gradient(135deg,#f6efff 0%,#ffe6f2 35%,#ffe7c7 70%,#f1f6ff 100%));
  padding: clamp(36px, 6vw, 72px) 0;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr; /* text : image */
  gap: clamp(18px, 4vw, 48px);
  align-items: center;
  min-height:clamp(470px,68vh,650px);
  padding:clamp(20px,3vw,42px);
  border-radius:28px;
  background:linear-gradient(120deg,rgba(255,255,255,.82),rgba(255,255,255,.42));
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 24px 70px rgba(67,76,130,.12);
  overflow:hidden;
}

.hero-left { max-width: 54ch; }
.hero-eyebrow,
.section-kicker{
  margin:0 0 10px;
  color:var(--primary);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.hero-title {
  margin: 0 0 12px;
  line-height: 1.02;
  font-size: clamp(38px, 5.1vw, 68px);
  letter-spacing:-.035em;
}
.hero-sub {
  margin: 0 0 22px;
  font-size: clamp(16px, 1.6vw, 20px);
  color: var(--pv-text-muted, #5a6070);
}
.hero-cta { display: flex; gap: 12px; flex-wrap: wrap; }
.hero-cta .btn{ min-height:48px; padding:.75rem 1.2rem; font-weight:750; }

.hero-benefits{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin:22px 0 0;
  padding:0;
  list-style:none;
  color:var(--muted);
  font-size:.9rem;
  font-weight:650;
}
.hero-benefits li::before{
  content:'✓';
  display:inline-grid;
  place-items:center;
  width:20px;
  height:20px;
  margin-right:7px;
  border-radius:50%;
  background:rgba(47,128,237,.12);
  color:var(--primary);
}

.hero-right { display: flex; justify-content: center; }
.hero-image {
  max-width: 100%;
  height: auto;
  border-radius: 20px;           /* optional: soften edges */
  box-shadow: 0 22px 60px rgba(8,16,48,.18);  /* subtle depth like the mock */
  transform:rotate(1.5deg);
}

/* Responsive: stack on mobile */
@media (max-width: 1280px) {
  .hero-grid { grid-template-columns: 1fr; }
  .hero-left { max-width: 100%; }
  .hero-right img{ max-width:min(100%,560px); }
}
/* ================================= END OF HERO ===============================*/
.home-hero{
  padding: 24px;
  border-radius: var(--radius);
  background: var(--glass-bg);
  border: var(--glass-br);
  box-shadow: var(--shadow);
  margin: 10px 0 18px;
}

.home-hero h1{
  /* Scales nicely on all screens */
  font-size: clamp(1.9rem, 2.5vw + 1.2rem, 3rem);
  line-height: 1.15;
  margin: 0 0 10px;
}

.home-hero .lead{
  font-size: clamp(1.05rem, 0.4vw + 1rem, 1.25rem);
  color: var(--muted);
  margin: 0 0 16px;
}

.home-actions{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* Features grid */
.home-feature-section{
  padding:clamp(10px,2vw,24px) 0;
}
.home-section-heading{
  max-width:760px;
  margin:0 auto clamp(20px,3vw,34px);
  text-align:center;
}
.home-section-heading h2{
  font-size:clamp(1.9rem,3.2vw,3rem);
  letter-spacing:-.025em;
}
.home-section-heading > p:last-child{
  max-width:620px;
  margin:10px auto 0;
  color:var(--muted);
  font-size:1.05rem;
}
.home-features{
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin:0;
}

@media (min-width: 900px){
  .home-features{ grid-template-columns: repeat(3, 1fr); }
}

.feature-card{
  position:relative;
  min-height:180px;
  padding:24px;
  border-radius: var(--radius);
  background: var(--glass-bg);
  border: var(--glass-br);
  box-shadow: var(--shadow);
  transition:transform .2s ease,box-shadow .2s ease;
}
.feature-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 42px rgba(67,76,130,.14);
}
.feature-number{
  display:inline-block;
  margin-bottom:18px;
  color:var(--primary);
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.12em;
}

.feature-card h2,
.feature-card h3{
  font-size: clamp(1.25rem, 0.7vw + 1rem, 1.6rem);
  margin: 0 0 6px;
  line-height: 1.25;
}

.feature-card p{
  color: var(--muted);
  margin: 0;
}

/* Bottom call-to-action */
.home-cta{
  text-align: center;
  padding: 20px;
  border-radius: var(--radius);
  background: var(--glass-bg);
  border: var(--glass-br);
  box-shadow: var(--shadow);
  margin: 12px 0 0;
}

.home-cta h2,
.home-cta h3{
  font-size: clamp(1.2rem, 0.5vw + 1rem, 1.6rem);
  margin: 0 0 10px;
}


/* -------- Utility -------- */
.glass{
  background: var(--glass-bg);
  border: var(--glass-br);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.alert{ padding:12px 14px; border-radius:12px; margin:10px 0; }
.alert.success{ background:#e8f6ff; border:1px solid #cfe4ff; color:#135a9c; }
.alert.error{ background:#ffefef; border:1px solid #ffd3d3; color:#9c1323; }

.form label{ display:block; margin:10px 0; }
.pv-input, .pv-textarea, .pv-select{
  width:100%;
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  padding:.7rem .9rem;
  background:#fff;
}
.pv-textarea{ resize:vertical; }

/* -------- Buttons -------- */
.btn, .pv-btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:.45rem;
  padding:.65rem 1rem;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  color:var(--ink);
  text-decoration:none; cursor:pointer; user-select:none;
}
.btn:hover, .pv-btn:hover{ filter: brightness(.98); }
.btn:active, .pv-btn:active{ transform: translateY(1px); }

.btn-primary{
  background: var(--primary);
  color: var(--primary-ink);
  border-color: transparent;
}
.btn-primaryOrange{
  background: var(--primaryOrange);
  color: var(--primary-ink);
  border-color: transparent;
}
.btn-outline{
  background: transparent;
  border-color: #cfe4ff;
  color: var(--primary);
}

/* -------- Badges & Icons -------- */
.pv-badge{
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.35rem .7rem; border-radius:999px;
  border:1px solid rgba(0,0,0,.08); background:#fff; font-weight:600; font-size:.95rem;
}
.pv-badge-public{ color: var(--primary); border-color:#cfe4ff; background:#eaf5ff; }
.pv-badge-private{ color:#7b61ff; border-color:#d7d0ff; background:#f0ecff; }
.pv-badge-cat{ background:#eaf5ff; border-color:#cfe4ff; color:var(--primary); }
.pv-badge-template{ background:#f2ecff; border-color:#d8c8ff; color:#6842b8; }

.pv-template-builder{ max-width:1180px; margin:0 auto; }
.pv-template-workspace{
  display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(420px,1.35fr);
  gap:clamp(22px,4vw,48px);
  align-items:start;
  margin-top:24px;
}
.pv-template-fields{
  display:grid;
  grid-template-columns:1fr;
  gap:14px 18px;
  margin:16px 0 20px;
}
.pv-template-fields label{ margin:0; }
.pv-template-result{
  margin:0;
  padding-left:clamp(20px,3vw,38px);
  border-left:1px solid rgba(0,0,0,.1);
}
.pv-template-result .pv-textarea{
  min-height:430px;
  margin-top:16px;
}
@media (max-width:720px){
  .pv-template-workspace{ grid-template-columns:1fr; }
  .pv-template-result{
    padding:22px 0 0;
    border-left:0;
    border-top:1px solid rgba(0,0,0,.1);
  }
}

.pv-ic{ width:18px; height:18px; fill:currentColor; }

/* -------- Tags -------- */
.pv-tags{ display:flex; gap:.4rem; flex-wrap:wrap; }
.pv-tag{
  display:inline-block; padding:.25rem .55rem; border-radius:999px;
  font-size:.85rem; font-weight:600;
  background:#f0f6ff; border:1px solid #cfe4ff; color:var(--primary);
}

/* -------- Search toolbar (compact, one-line) -------- */
.pv-search{ margin: 2px 0 22px; }
.pv-search-row{
  display:grid;
  grid-template-columns: 1fr max-content repeat(4, max-content) max-content; 
  /* input grows | reset | cat | tag | sort | vis | Search */
  gap:8px;
}
.pv-input, .pv-select{
  font-size:.95rem; line-height:1.1; padding:.55rem .8rem; height:40px; border-radius:10px; background:rgba(255,255,255,.9);
}
.pv-search .pv-input::placeholder{ font-size:.95rem; }
.btn, .pv-btn{ font-size:.92rem; padding:.55rem .8rem; height:40px; border-radius:10px; }

/* make <select> look like inputs, with caret */
.pv-select{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%232f80ed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right .6rem center; background-size:14px 14px;
  padding-right:1.8rem;
}

/* responsive stacking */
@media (max-width:860px){
  .pv-search-row{ grid-template-columns:1fr 1fr 1fr; }
}

/* Consent-first cookie controls */
.pv-cookie-settings-link,
.pv-cookie-manage{
  min-height:0 !important;
  padding:0 !important;
  color:#536079;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font:inherit;
  text-align:left;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.pv-cookie-settings-link:hover,.pv-cookie-manage:hover{ color:var(--primary); transform:none; }
.pv-cookie-banner{
  position:fixed;
  right:22px;
  bottom:22px;
  left:22px;
  z-index:6000;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  max-width:1040px;
  margin:0 auto;
  padding:22px 24px;
  color:#fff;
  background:#16213a;
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  box-shadow:0 24px 70px rgba(15,23,42,.3);
}
.pv-cookie-banner[hidden]{ display:none !important; }
.pv-cookie-banner .section-kicker{ margin-bottom:6px; color:#9bc7ff !important; }
.pv-cookie-banner h2{ margin:0 0 7px; color:#fff !important; font-size:1.35rem; }
.pv-cookie-banner p{ max-width:700px; margin:0; color:#e0e7f3; font-size:.9rem; line-height:1.55; }
.pv-cookie-banner a{ display:inline-block; margin-top:7px; color:#fff !important; font-size:.82rem; font-weight:750; }
.pv-cookie-banner__actions{ display:grid; grid-template-columns:repeat(2,minmax(150px,1fr)); gap:8px; min-width:340px; }
.pv-cookie-banner__actions .btn{ width:100%; }
.pv-cookie-banner__actions .btn-outline{ color:#fff !important; background:transparent !important; border-color:rgba(255,255,255,.55) !important; }
.pv-cookie-banner__actions .pv-cookie-manage{ grid-column:1/-1; justify-self:center; color:#dce6f5; text-align:center; }
.pv-cookie-dialog{
  width:min(620px,calc(100% - 28px));
  max-height:calc(100vh - 40px);
  padding:0;
  color:var(--ink);
  background:#fff;
  border:1px solid var(--border);
  border-radius:20px;
  box-shadow:0 28px 80px rgba(15,23,42,.28);
}
.pv-cookie-dialog::backdrop{ background:rgba(15,23,42,.56); backdrop-filter:blur(3px); }
.pv-cookie-dialog__inner{ position:relative; padding:28px; }
.pv-cookie-dialog h2{ margin:0 0 8px; font-size:1.7rem; }
.pv-cookie-dialog__inner>p:not(.section-kicker){ color:var(--muted); }
.pv-cookie-dialog__close{
  position:absolute;
  top:16px;
  right:16px;
  display:grid;
  width:40px;
  min-height:40px;
  padding:0;
  place-items:center;
  color:var(--ink);
  background:#f2f5f9;
  border:1px solid var(--border);
  border-radius:10px;
  font-size:1.4rem;
}
.pv-cookie-choice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:12px;
  padding:16px;
  background:#f6f8fb;
  border:1px solid var(--border);
  border-radius:13px;
}
.pv-cookie-choice div{ display:grid; gap:3px; }
.pv-cookie-choice span{ color:var(--muted); font-size:.82rem; }
.pv-cookie-always{ flex:none; color:#18745b !important; font-weight:800; }
.pv-cookie-choice input{ width:24px; height:24px; accent-color:var(--primary); }
.pv-cookie-dialog__actions{ display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }
@media (max-width:760px){
  .pv-cookie-banner{ right:12px; bottom:12px; left:12px; grid-template-columns:1fr; gap:16px; padding:19px; }
  .pv-cookie-banner__actions{ min-width:0; }
}
@media (max-width:440px){
  .pv-cookie-banner__actions{ grid-template-columns:1fr; }
  .pv-cookie-banner__actions .pv-cookie-manage{ grid-column:auto; }
  .pv-cookie-dialog__inner{ padding:24px 18px; }
  .pv-cookie-choice{ align-items:flex-start; }
  .pv-cookie-dialog__actions{ display:grid; }
}
@media (max-width:560px){
  .pv-search-row{ grid-template-columns:1fr; }
}

/* -------- Stats -------- */
.pv-stats{
  display:grid;
  grid-template-columns: repeat(4, 1fr) 2fr; /* original layout supports a wide column (if needed) */
  gap:14px; margin:18px 0; padding:16px;
  border-radius:18px; border:1px solid rgba(0,0,0,.08); background:rgba(255,255,255,.65);
}
.pv-stats.pv-stats--simple{ grid-template-columns: repeat(3, 1fr); }
.pv-stat{
  background:#fff; border:1px solid rgba(0,0,0,.06);
  border-radius:14px; padding:18px; text-align:center;
}
.pv-stat-num{ font-size:1.6rem; font-weight:700; }
.pv-stat-label{ color:var(--muted); }

@media (max-width:860px){
  .pv-stats{ grid-template-columns: repeat(3, 1fr); }
  .pv-stats.pv-stats--simple{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width:520px){
  .pv-stats{ grid-template-columns: repeat(2, 1fr); }
  .pv-stats.pv-stats--simple{ grid-template-columns: 1fr; }
}

/* Spacer for when stats are hidden (Free users) */
.pv-spacer{ height:18px; }
@media (min-width:900px){ .pv-spacer{ height:22px; } }

/* -------- Cards / Grids -------- */
.pv-card-grid{
  display:grid; grid-template-columns: repeat(3, 1fr);
  gap:16px; margin: 6px 0 20px;
}
.pv-card-grid--2{ grid-template-columns: repeat(2, 1fr); }
.pv-center{ max-width:1280px; margin:0 auto; }
@media (max-width: 720px){
  .pv-card-grid, .pv-card-grid--2{ grid-template-columns: 1fr; }
}

/* 4-column grid for gallery */
.pv-card-grid--4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--pv-gap, 16px);
}

/* Responsive fallbacks */
@media (max-width: 1280px) {
  .pv-card-grid--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .pv-card-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .pv-card-grid--4 { grid-template-columns: 1fr; }
}



/* --- Dashboard card alignment fixes --- */

/* The card itself is a vertical flex column */
/* --- Restore card panels ("glass" boxes) --- */
.pv-card{
  /* layout from previous patch stays (flex column etc.) */
  background: rgba(255,255,255,.82);             /* soft glass look */
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  padding: 16px 16px 14px;
  backdrop-filter: blur(8px);                     /* optional: comment out if not desired */
  -webkit-backdrop-filter: blur(8px);
  overflow: hidden;                               /* keeps badges from bleeding out */

display:flex;
  flex-direction:column;
  min-height: 320px;

  /* gives enough room so footer can sit at the bottom */
}

/* TOP: title + visibility — align both to the very top */
.pv-card-head{
  display:flex;
  align-items:flex-start;        /* <- key: top-align the two columns */
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

/* If you *also* apply .glass on cards elsewhere, normalize both */
.pv-card.glass{
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
}



.pv-card-head .pv-card-title{
  margin:0;
  line-height:1.2;
  flex:1 1 auto;
}
.pv-card-head .pv-badge{
  align-self:flex-start;         /* belt-and-braces */
  margin-top:2px;                /* nudge to visually kiss the top padding */
  white-space:nowrap;
}


/* MIDDLE: the excerpt grows and shrinks; lets the footer sit at the bottom */
.pv-card-body{
  flex:1 1 auto;                 /* <- key: this takes the extra vertical space */
  margin:0 0 12px;
  min-height:54px;
  margin-bottom: 12px; 
}

/* BOTTOM: category + View — always stuck to the bottom edge */
.pv-card-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:auto;               /* <- key: pushes this block to the bottom */
  padding-top:10px;
}

/* -------- Viewer (single prompt) -------- */
.pv-viewer{ padding:18px; border-radius:var(--radius); background:var(--glass-bg); border:var(--glass-br); box-shadow:var(--shadow); margin-bottom:22px; }
.pv-viewer-header{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.pv-viewer-right{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.pv-viewer-right .pv-ic{ width:16px; height:16px; vertical-align:-2px; fill:var(--primary); }

.pv-prompt-box{ background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:14px; padding:12px; }
.pv-prompt-box .pv-textarea{ min-height:320px; }
.pv-prompt-actions{ display:flex; gap:10px; margin-top:12px; flex-wrap:wrap; }

@media (max-width: 720px){
  .pv-viewer-header{ align-items:flex-start; }
}

/* -------- Footer (simple) -------- */
.site-footer{ margin: 36px 0 8px; text-align:center; color:var(--muted); font-size:.95rem; }

/* ===== Header reset (robust) ===== */
.site-header{
  position: sticky; top: 0; z-index: 50;
  backdrop-filter: blur(8px);
  background: rgba(255,255,255,.75);
  border-bottom: 1px solid rgba(0,0,0,.06);
  padding: 12px 0 2rem; /* bottom space for the menu */
}

/* Optional: make the visibility badges consistent size */
.pv-badge-public,
.pv-badge-private {
  white-space: nowrap;
}

/* Layout of whatever container you have inside the header */
.site-header > *{
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 16px;
}

/* Style ALL links in the header (structure-agnostic) */
.site-header a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 10px;
  text-decoration: none !important;
  color: var(--ink) !important;
}

/* Hover state for nav links */
.site-header a:hover{
  background: rgba(0,0,0,.05);
}

/* If you have a logo image in the header */
.site-header img{ height: 34px; width: auto; display:block; }

/* Make action buttons (“admin”, “log out”, etc.) look like pills */
.site-header .btn{
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  padding: 8px 12px;
}
.site-header .btn:hover{ filter: brightness(.98); }

/* Optional: spacing between inline items if there’s no wrapper with gap */
.site-header a + a{ margin-left: 10px; }

/* Small screens: keep things tidy */
@media (max-width: 720px){
  .site-header{ padding-bottom: 1.25rem; }
  .site-header a{ padding: 8px; }
}

/* ===== Universal content section (reuse everywhere) ===== */
.pv-section{
  padding: 20px;
  border-radius: var(--radius);
  background: var(--glass-bg);
  border: var(--glass-br);
  box-shadow: var(--shadow);
}

/* Type system for content pages */
.pv-section h1{ font-size: clamp(1.8rem, 2vw + 1rem, 2.6rem); line-height: 1.15; margin: 0 0 12px; }
.pv-section h2{ font-size: clamp(1.25rem, .6vw + 1rem, 1.6rem); margin: 14px 0 8px; }
.pv-section p{ margin: 0 0 12px; color: var(--ink); }
.pv-section .lead{ font-size: clamp(1.05rem, .4vw + 1rem, 1.25rem); color: var(--muted); }

/* Links: no hard underline, nice hover */
.pv-section a{ color: var(--primary); text-decoration: none; }
.pv-section a:hover{ text-decoration: underline; }

/* Forms inside content sections */
.pv-section .form label{ display:block; margin:10px 0 6px; font-weight:600; }
.pv-section input[type="text"],
.pv-section input[type="email"],
.pv-section input[type="password"],
.pv-section textarea,
.pv-section select{
  width: 100%;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  padding: .6rem .8rem;
  background: #fff;
}
.pv-section textarea{ min-height: 160px; resize: vertical; }
.pv-section .actions{ margin-top: 12px; display:flex; gap:10px; flex-wrap:wrap; }

/* Pricing bullets */
.bullets { list-style: none; padding:10,0,0,0; margin: 14px 0 0; color: var(--muted); }
.bullets li { margin: 10px 0; display:flex; align-items:center; gap:10px; }
.bullets .dot { width:10px; height:8px; border-radius:50%; background: linear-gradient(135deg, var(--primary), var(--accent)); flex-shrink:0; }

/* Lists */
.pv-section ul{ margin: 8px 0 12px 22px; }
.pv-section li{ margin: 6px 0; }
.pv-section li:empty{ display:none; } /* hides accidental blank bullets */

/* Auth / account cards (narrower center column) */
.auth-card{ max-width: 640px; margin: 0 auto; }


/* ===== Pricing ===== */
.pricing-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:16px;
  margin: 8px 0 18px;
}
@media (min-width: 900px){
  .pricing-grid{ grid-template-columns: repeat(3, 1fr); }
}

.plan-card{
  padding:18px;
  border-radius: var(--radius);
  background: var(--glass-bg);
  border: var(--glass-br);
  box-shadow: var(--shadow);
  display:flex;
  flex-direction:column;
}

.plan-card h2{
  font-size: clamp(1.25rem, 0.7vw + 1rem, 1.6rem);
  margin: 0 0 6px;
}
.plan-price{
  font-size: 1.8rem;
  font-weight: 800;
  margin: 4px 0 10px;
}
.plan-price span{ font-size: 1rem; font-weight: 600; color: var(--muted); }

.plan-features{ margin: 6px 0 12px 20px; }
.plan-features li{ margin: 6px 0; }

.plan-cta{ margin-top: auto; }
.plan-cta .btn{ width: 100%; }

.plan-card--featured{
  border: 2px solid var(--accent);
  box-shadow: 0 10px 28px rgba(255,138,61,.18);
}



/* ===== FIX pricing/billing widths inside the grid ===== */

/* 3/2/1 responsive grid */
.pv-section.pricing-grid{
  display:grid;
  grid-template-columns: 1fr;          /* mobile */
  gap:18px;
}
@media (min-width: 720px){
  .pv-section.pricing-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (min-width: 1024px){
  .pv-section.pricing-grid{ grid-template-columns: repeat(4, minmax(0,1fr)); }
}

/* Make title + intro span the full row */
.pv-section.pricing-grid > h1,
.pv-section.pricing-grid > .pricing-heading,
.pv-section.pricing-grid > .lead{
  grid-column: 1 / -1;
}

/* Configuration messages belong to the pricing page, not to an individual plan. */
.pv-section.pricing-grid > .pricing-payment-alert,
.pv-section.pricing-grid > #pv-paddle-error{
  grid-column: 1 / -1;
}

/* OVERRIDES: kill the old inline-block widths inside the grid */
.pv-section.pricing-grid .plan{
  display:flex !important;
  flex-direction:column;
  width:auto !important;
  margin:0 !important;
  padding:18px;
  border-radius:var(--radius);
  background:var(--glass-bg);
  border:var(--glass-br);
  box-shadow:var(--shadow);
}
.pv-section.pricing-grid .plan:nth-of-type(n){ margin-right:0 !important; } /* neutralise old nth-of-type margin */

/* Neat bits */
.pv-section.pricing-grid .plan h2{ margin:0 0 6px; }
.pv-section.pricing-grid .plan > p:first-of-type{ font-size:1.6rem; font-weight:800; margin:4px 0 10px; }
.pv-section.pricing-grid .plan > p:first-of-type small{ font-size:1rem; font-weight:600; color:var(--muted); }
.pv-section.pricing-grid .bullets{ list-style:none; margin:6px 0 12px; padding:0; }
.pv-section.pricing-grid .bullets li{ display:flex; gap:8px; margin:6px 0; }
.pv-section.pricing-grid .bullets .dot{ width:8px; height:8px; border-radius:50%; background:var(--primary); margin-top:.1rem; flex:0 0 8px; }
.pv-section.pricing-grid .bullets li > span:last-child{ display:block; min-width:0; }
.pv-section.pricing-grid .bullets strong{ display:block; color:var(--ink); font-size:.92rem; line-height:1.35; }
.pv-section.pricing-grid .bullets small{ display:block; margin-top:3px; color:var(--muted); font-size:.78rem; line-height:1.42; }
.pv-section.pricing-grid .pricing-trial-callout{
  position:relative;
  overflow:hidden;
  margin-top:auto;
  padding:18px 14px 16px;
  text-align:center;
  color:#334155;
  background:
    radial-gradient(circle at 90% 5%,rgba(255,255,255,.8) 0 22px,transparent 23px),
    linear-gradient(135deg,rgba(224,242,254,.96),rgba(219,234,254,.88) 52%,rgba(237,233,254,.9));
  border:1px solid rgba(56,189,248,.42);
  border-radius:18px;
  box-shadow:0 10px 26px rgba(14,116,144,.13),inset 0 1px 0 rgba(255,255,255,.85);
}
.pv-section.pricing-grid .pricing-trial-callout::after{
  content:"";
  position:absolute;
  width:70px;
  height:70px;
  left:-34px;
  bottom:-42px;
  border:12px solid rgba(56,189,248,.1);
  border-radius:50%;
}
.pv-section.pricing-grid .pricing-trial-callout strong{
  display:block;
  position:relative;
  color:#075985;
  font-size:1.05rem;
  line-height:1.25;
  letter-spacing:-.01em;
}
.pv-section.pricing-grid .pricing-trial-badge{
  display:inline-flex;
  align-items:center;
  margin-bottom:8px;
  padding:4px 9px;
  color:#fff;
  background:linear-gradient(135deg,#0ea5e9,#2563eb);
  border-radius:999px;
  box-shadow:0 4px 10px rgba(37,99,235,.22);
  font-size:.68rem;
  font-weight:800;
  line-height:1;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.pv-section.pricing-grid .pricing-trial-copy{
  display:block;
  position:relative;
  margin-top:4px;
  color:#526071;
  font-size:.76rem;
  line-height:1.4;
}
.pv-section.pricing-grid .actions{ margin-top:auto; }
.pv-section.pricing-grid .pricing-trial-callout + .actions{ margin-top:12px; }
.pv-section.pricing-grid .actions .btn{ width:100%; }
.pv-section.pricing-grid .actions form{ width:100%; }

.pv-upgrade-dialog{
  width:min(620px,calc(100vw - 32px));
  padding:0;
  border:0;
  border-radius:26px;
  color:var(--ink);
  background:#fff;
  box-shadow:0 30px 90px rgba(10,28,62,.32);
}
.pv-upgrade-dialog::backdrop{
  background:rgba(11,25,51,.72);
  backdrop-filter:blur(5px);
}
.pv-upgrade-dialog-inner{ padding:clamp(26px,5vw,44px); }
.pv-upgrade-dialog-kicker{
  display:inline-block;
  margin-bottom:10px;
  color:var(--primary);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.pv-upgrade-dialog h2{ margin:0 0 10px; font-size:clamp(1.8rem,5vw,2.5rem); }
.pv-upgrade-dialog-lead{ margin:0 0 22px; color:var(--muted); font-weight:650; }
.pv-upgrade-dialog-price{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px 20px;
  border-radius:16px;
  background:#eef5ff;
}
.pv-upgrade-dialog-price span:first-child{ font-weight:700; }
.pv-upgrade-dialog-price strong{ color:var(--navy); font-size:1.55rem; white-space:nowrap; }
.pv-upgrade-dialog-price small{ color:var(--muted); font-size:.85rem; }
.pv-upgrade-dialog-notice{
  margin-top:18px;
  padding:18px 20px;
  border:1px solid #f1c66d;
  border-radius:16px;
  background:#fff8e7;
}
.pv-upgrade-dialog-notice strong{ display:block; margin-bottom:5px; color:#7b5410; font-size:1.05rem; }
.pv-upgrade-dialog-notice p{ margin:0; color:#654b20; line-height:1.55; }
.pv-upgrade-dialog-reassurance{ margin:18px 0; color:var(--muted); font-size:.92rem; }
.pv-upgrade-dialog-actions{ display:grid; grid-template-columns:1fr 1.25fr; gap:12px; }
.pv-upgrade-dialog-actions .btn{ min-height:52px; text-align:center; justify-content:center; }
@media (max-width:600px){
  .pv-upgrade-dialog-price{ align-items:flex-start; flex-direction:column; gap:6px; }
  .pv-upgrade-dialog-actions{ grid-template-columns:1fr; }
  .pv-upgrade-dialog-actions [data-upgrade-confirm]{ order:-1; }
}
.pv-section.pricing-grid .btn-current,
.pv-section.pricing-grid .btn-included{
  width:100%;
  color:#526071;
  background:rgba(226,234,244,.9);
  border-color:rgba(82,96,113,.18);
  cursor:default;
  opacity:1;
}
.pv-section.pricing-grid .btn-current{
  color:#175f9f;
  background:rgba(47,128,237,.12);
  border-color:rgba(47,128,237,.3);
}
.pv-section.pricing-grid .pricing-overview-action{
  grid-column:1 / -1;
  display:flex;
  justify-content:center;
  padding-top:4px;
}
.pv-section.pricing-grid .pricing-overview-action .btn{
  min-width:min(100%,260px);
  min-height:46px;
}
.pv-section.pricing-grid hr{ display:none; }



/* ===== Mobile nav: force-correct behavior ===== */

/* Bigger, touch-friendly button */
.nav-toggle{
  width:48px; height:48px;           /* bigger tap target */
  display:none; align-items:center; justify-content:center;
  border:1px solid rgba(0,0,0,.12); border-radius:12px; background:#fff; cursor:pointer;
}
.nav-toggle span{
  position:relative; display:block; width:24px; height:2px;
  background:#1f2328; transition:.25s ease;
}
.nav-toggle span + span{ margin-top:6px; }

/* Desktop default: show horizontal nav, hide burger */
@media (min-width: 861px){
  .site-header .site-nav{ position:static; transform:none; display:flex; }
  .nav-toggle{ display:none; }
}

/* Mobile: hide the desktop-style nav; use a fixed drawer */
@media (max-width: 860px){
  .nav-toggle{ display:inline-flex; }

  /* Make sure any old .nav styles can't keep it visible inline */
  .site-header .site-nav{
    position: fixed !important;
    top: 0; right: 0; bottom: 0;
    width: 82vw; max-width: 360px;
    padding: 16px;
    display: flex !important;           /* we still want flex inside the drawer */
    flex-direction: column;
    gap: 6px;
    background: rgba(255,255,255,.85);
    backdrop-filter: blur(10px);
    border-left: 1px solid rgba(0,0,0,.08);
    box-shadow: -12px 0 30px rgba(0,0,0,.2);
    z-index: 1000;
    transform: translateX(100%) !important;   /* off-canvas by default */
    will-change: transform;
    transition: transform .28s ease;
  }

  /* Only show the drawer when header has .menu-open */
  .site-header.menu-open .site-nav{
    transform: translateX(0) !important;
  }

  /* Backdrop */
  .nav-scrim{
    position: fixed; inset: 0;
    background: rgba(0,0,0,.35); backdrop-filter: blur(1px);
    z-index: 900; display: block;
  }
  .site-header:not(.menu-open) .nav-scrim{ display: none; }

  /* Animate burger to X */
  .site-header.menu-open .nav-toggle span:nth-child(1){
    transform: translateY(8px) rotate(45deg);
  }
  .site-header.menu-open .nav-toggle span:nth-child(2){ opacity: 0; }
  .site-header.menu-open .nav-toggle span:nth-child(3){
    transform: translateY(-8px) rotate(-45deg);
  }
}

/* Prevent body scroll when drawer is open */
body.menu-open{ overflow: hidden; }


/* ===== Mobile header/drawer patch ===== */

/* Make sure the background stays behind everything */
.bg{ position:fixed; inset:0; z-index:-1; }

/* Header sits above page; drawer sits above header; scrim sits between */
.site-header{ position: sticky; top: 0; z-index: 3000; }

/* Bigger burger and push it to the RIGHT on mobile */
@media (max-width: 860px){
  .nav-toggle{
    display:inline-flex;             /* ensure visible on mobile */
    width:52px; height:52px;         /* bigger tap target */
    border-radius:12px;
    margin-left:auto;                /* shove to the right */
  }
  .nav-toggle span{
    width:26px; height:2px;
  }

  /* Off-canvas drawer MUST overlay content */
  .site-header .site-nav{
    position:fixed !important;
    top:0; right:0; bottom:0;
    width:82vw; max-width:360px;
    padding: calc(12px + env(safe-area-inset-top)) 16px 16px;
    display:flex !important; flex-direction:column; gap:6px;
    background:rgba(255,255,255,.9); backdrop-filter:blur(10px);
    border-left:1px solid rgba(0,0,0,.08);
    box-shadow:-12px 0 30px rgba(0,0,0,.25);
    transform:translateX(100%) !important;      /* hidden by default */
    transition:transform .28s ease;
    z-index: 4000;                               /* ABOVE header & content */
  }
  .site-header.menu-open .site-nav{
    transform:translateX(0) !important;         /* slide in when open */
  }

  /* Dimmed backdrop sits under the drawer but above page */
  .nav-scrim{
    position:fixed; inset:0;
    background:rgba(0,0,0,.38); backdrop-filter:blur(1px);
    z-index: 3500;
    display:block;
  }
  .site-header:not(.menu-open) .nav-scrim{ display:none; }

  /* Burger morphs to "X" when open */
  .site-header.menu-open .nav-toggle span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
  .site-header.menu-open .nav-toggle span:nth-child(2){ opacity:0; }
  .site-header.menu-open .nav-toggle span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }
}

/* Prevent page scroll when the drawer is open */
body.menu-open{ overflow:hidden; }

/* ===== Prompt textarea: standard size everywhere ===== */
:root{
  /* tweak these later if you want */
  --prompt-font-size: 1rem;   /* 1rem = browser default (usually 16px) */
  --prompt-line-height: 1.5;
}

.pv-textarea{
  font-size: var(--prompt-font-size) !important;
  line-height: var(--prompt-line-height);
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  /* optional niceties */
  resize: vertical;
}

/* keep read-only prompt boxes clean */
.pv-textarea[readonly]{
  background: #fff;
}

.btn-danger{
  background:#e03131; color:#fff; border:1px solid rgba(0,0,0,.08);
}
.btn-danger:hover{ filter:brightness(.96); }


/* dashboard search row helpers */
.pv-search-row{ display:flex; align-items:center; gap:10px; flex-wrap:nowrap; }
.pv-search-row .pv-flex-spacer{ flex:1; }
.pv-search-row .pv-input{ height:40px; }
.pv-search-row .pv-select{ height:40px; }
.pv-search-row .pv-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  height:40px;
  line-height:1;
}

.pv-export-note{
  margin:.45rem 0 .8rem;
  font-size:.88rem;
  line-height:1.45;
}
.pv-create-template-btn{ margin-top:10px; }
.pv-template-source{
  margin:22px 0;
  padding:16px;
  border-radius:12px;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(0,0,0,.08);
}
.pv-template-source-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content;
  gap:10px;
  align-items:center;
  margin-top:7px;
}
@media (max-width:720px){
  .pv-template-source-row{ grid-template-columns:1fr; }
}

/* ===== Template Station ===== */
.template-station > .pv-wrap{ gap:clamp(22px,4vw,42px); }
.template-station-hero{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  padding:clamp(24px,4vw,44px);
}
.template-station-hero > div:first-child{ max-width:700px; }
.template-station-actions{ display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.template-station-actions .btn{ min-height:46px; }

.template-station-guide{ padding:8px 0; }
.template-station-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:station-step;
}
.template-station-steps li{
  position:relative;
  min-height:145px;
  padding:22px;
  border-radius:16px;
  background:var(--glass-bg);
  border:var(--glass-br);
  box-shadow:var(--shadow);
}
.template-station-steps li::before{
  counter-increment:station-step;
  content:'0' counter(station-step);
  display:block;
  margin-bottom:18px;
  color:var(--primary);
  font-weight:850;
  letter-spacing:.1em;
}
.template-station-steps strong,
.template-station-steps span{ display:block; }
.template-station-steps span{ margin-top:6px; color:var(--muted); line-height:1.5; }

.template-station-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:22px;
}
.template-station-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.template-station-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:20px;
  min-height:245px;
}
.template-station-card h3{ margin-top:14px; }
.template-station-card .actions{ margin-top:auto; }
.template-station-empty{ padding:34px; text-align:center; border:1px dashed rgba(0,0,0,.16); border-radius:14px; }

.template-source-dialog{
  width:min(1050px,94vw);
  max-height:88vh;
  padding:0;
  border:0;
  border-radius:20px;
  color:var(--ink);
  background:rgba(250,251,255,.98);
  box-shadow:0 28px 90px rgba(20,28,60,.32);
}
.template-source-dialog::backdrop{ background:rgba(20,25,45,.55); backdrop-filter:blur(4px); }
.template-source-dialog-inner{ padding:clamp(20px,4vw,36px); }
.template-source-dialog header{ display:flex; justify-content:space-between; gap:20px; }
.template-dialog-close{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border:0;
  border-radius:50%;
  background:rgba(0,0,0,.06);
  color:var(--ink);
  font-size:1.8rem;
  line-height:1;
  cursor:pointer;
}
.template-source-search{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,max-content) max-content;
  gap:10px;
  margin:24px 0;
}
.template-source-results{
  display:grid;
  gap:10px;
  max-height:52vh;
  overflow:auto;
  padding-right:5px;
}
.template-source-result{
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content;
  align-items:center;
  gap:18px;
  padding:16px;
  border:1px solid rgba(0,0,0,.09);
  border-radius:13px;
  background:#fff;
}
.template-source-result h3{ margin:8px 0 4px; }
.template-source-result p{ margin:0; color:var(--muted); }

.template-markup-instructions{
  margin:20px 0 24px;
  padding:20px;
  border:1px solid rgba(47,128,237,.2);
  border-radius:14px;
  background:rgba(234,245,255,.7);
}
.template-markup-instructions ol{ margin:12px 0 0 22px; }
.template-markup-instructions li{ margin:8px 0; line-height:1.5; }
.template-markup-instructions code,
.template-station-steps code{
  padding:.1rem .35rem;
  border-radius:5px;
  background:rgba(104,66,184,.1);
  color:#6842b8;
  font-weight:700;
}

@media (max-width:900px){
  .template-station-hero{ align-items:flex-start; flex-direction:column; }
  .template-station-actions{ justify-content:flex-start; }
  .template-station-steps{ grid-template-columns:1fr; }
  .template-station-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .template-source-search,
  .template-source-result{ grid-template-columns:1fr; }
  .template-source-result .btn{ justify-self:start; }
}
@media (max-width:560px){
  .template-station-grid{ grid-template-columns:1fr; }
}

/* ===== Gallery sign-up invitation ===== */
.gallery-signup-dialog{
  width:min(540px,92vw);
  padding:0;
  border:0;
  border-radius:22px;
  color:var(--ink);
  background:linear-gradient(145deg,#fff,rgba(245,241,255,.98));
  box-shadow:0 30px 90px rgba(25,32,65,.32);
}
.gallery-signup-dialog::backdrop{
  background:rgba(18,24,44,.58);
  backdrop-filter:blur(4px);
}
.gallery-signup-dialog-inner{
  position:relative;
  padding:clamp(28px,6vw,46px);
  text-align:center;
}
.gallery-dialog-close{
  position:absolute;
  top:14px;
  right:14px;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border:0;
  border-radius:50%;
  background:rgba(0,0,0,.06);
  color:var(--ink);
  font-size:1.7rem;
  line-height:1;
  cursor:pointer;
}
.gallery-signup-icon{
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  margin:0 auto 18px;
  border-radius:18px;
  color:#fff;
  background:linear-gradient(135deg,var(--primary),#8f6ee8);
  box-shadow:0 12px 30px rgba(47,128,237,.25);
  font-size:1.8rem;
}
.gallery-signup-dialog h2{
  margin:4px auto 12px;
  font-size:clamp(1.7rem,5vw,2.35rem);
  letter-spacing:-.025em;
}
.gallery-signup-dialog p{ color:var(--muted); line-height:1.55; }
.gallery-signup-reassurance{ font-weight:700; color:var(--ink) !important; }
.gallery-signup-actions{
  display:grid;
  gap:10px;
  margin-top:22px;
}
.gallery-signup-actions .btn{ width:100%; min-height:47px; }
.gallery-continue-button{
  margin-top:16px;
  border:0;
  background:transparent;
  color:var(--muted);
  text-decoration:underline;
  cursor:pointer;
}

/* mobile wrap nicely */
@media (max-width: 860px){
  .pv-search-row{ flex-wrap:wrap; }
  .pv-search-row .pv-flex-spacer{ display:none; }
}


/* nicer multi-select */
.pv-select[multiple]{
  min-height: 180px;
  padding: 8px;
}




/* generic field block in the row */
.pv-inline-fields .pv-field{
  display:flex; flex-direction:column; gap:6px;
}

/* sizes */
.pv-inline-fields .pv-select,
.pv-inline-fields .pv-input{
  height:40px; padding:8px 10px; border-radius:10px;
  border:1px solid rgba(0,0,0,.12); background:#fff;
}

/* Category gets a sensible width */
.pv-inline-fields .pv-field:first-child{
  flex:0 0 220px;
}

/* Tags expands to fill remaining space */
.pv-inline-fields .pv-field--tags{
  flex:1 1 420px;
}

/* Compact multi-select so the row stays one line; scroll if long */
.pv-inline-fields .pv-field--tags .pv-select[multiple]{
  min-height:40px; max-height:40px;
  padding:6px 8px;
  overflow:auto;
}

/* Visibility is concise */
.pv-inline-fields .pv-field--vis{
  flex:0 0 190px;
}

/* Read-only faux input (for Free plan visibility display) */
.pv-input--readonly{
  background:#f8f9fb;
  color:#555;
  cursor:default;
}

/* Responsive wrap */
@media (max-width: 900px){
  .pv-inline-fields{ flex-wrap:wrap; }
  .pv-inline-fields .pv-field:first-child{ flex:1 1 100%; }
  .pv-inline-fields .pv-field--tags{ flex:1 1 100%; }
  .pv-inline-fields .pv-field--vis{ flex:1 1 280px; }
}


/* Create/Edit: inline Category + Tags + Visibility */
.pv-inline-fields{ display:flex; align-items:flex-end; gap:12px; flex-wrap:nowrap; margin:10px 0 12px; }
.pv-inline-fields .pv-field{ display:flex; flex-direction:column; gap:6px; }
.pv-inline-fields .pv-select, .pv-inline-fields .pv-input{
  height:40px; padding:8px 10px; border-radius:10px; border:1px solid rgba(0,0,0,.12); background:#fff;
}
.pv-inline-fields .pv-field:first-child{ flex:0 0 220px; }      /* Category */
.pv-inline-fields .pv-field--tags{ flex:1 1 420px; }            /* Tags grows */
.pv-inline-fields .pv-field--vis{ flex:0 0 190px; }             /* Visibility */
.pv-input--readonly{ background:#f8f9fb; color:#555; cursor:default; }
/* Responsive wrap */
@media (max-width: 900px){
  .pv-inline-fields{ flex-wrap:wrap; }
  .pv-inline-fields .pv-field:first-child{ flex:1 1 100%; }
  .pv-inline-fields .pv-field--tags{ flex:1 1 100%; }
  .pv-inline-fields .pv-field--vis{ flex:1 1 280px; }
}

/* --- Prompt viewer header: 2-row grid (title/meta then tags) --- */
.pv-viewer-header{
  display:grid;
  grid-template-columns: 1fr auto;           /* title column + right column */
  grid-template-areas:
    "title meta"
    ".     tags";
  align-items:center;
  column-gap:12px;
  row-gap:8px;
}

/* If a wrapper exists (e.g. .pv-viewer-top), make it layout-transparent */
.pv-viewer-top{ display:contents; }          /* lets children participate in the grid */

/* Row 1 */
.pv-viewer-title{
  grid-area:title;
  margin:0;
  text-align:left !important;                /* override any global centering */
}
.pv-viewer .pv-card-title{ text-align:left !important; } /* extra safety */

.pv-viewer-meta{
  grid-area:meta;
  justify-self:end;                          /* shove to right */
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}

/* Row 2 */
.pv-viewer-tags{
  grid-area:tags;
  justify-self:end;                          /* right align tags row */
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
.pv-tags-label{ font-weight:600; color:#556; }
.pv-tag{
  display:inline-block; padding:6px 10px; border-radius:999px;
  background:#fff; border:1px solid rgba(0,0,0,.1); font-size:14px; line-height:1;
}

/* === Dashboard-only layout === */
.pv-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 18px;
  align-items: start;
}

.pv-sidebar { position: relative; }
.pv-main { min-width: 0; }

.pv-dashboard-search-card{
  display:grid;
  grid-template-columns:minmax(190px,1.6fr) repeat(4,minmax(115px,.8fr)) max-content;
  gap:10px;
  align-items:end;
  padding:14px;
  margin-bottom:18px;
  border-radius:14px;
}
.pv-dashboard-search-card label{ display:block; min-width:0; margin:0; }
.pv-dashboard-search-card label > span{
  display:block;
  margin:0 0 7px;
  font-size:.82rem;
  font-weight:650;
  white-space:nowrap;
}
.pv-dashboard-search-card .pv-input,
.pv-dashboard-search-card .pv-select{ width:100%; }
.pv-dashboard-search-actions{
  display:flex;
  gap:8px;
  align-items:center;
}
@media (max-width:1250px){
  .pv-dashboard-search-card{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pv-dashboard-search-query,
  .pv-dashboard-search-actions{ grid-column:1 / -1; }
}

/* Sidebar cards */
.pv-side-card {
  padding: 14px;
  border-radius: 14px;
  margin-bottom: 14px;
}

/* Sidebar headings */
.pv-side-title {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 8px 0;
  opacity: .9;
}

/* Sidebar actions/buttons */
.pv-btn-block {
  width: 100%;
  text-align: center;
}

/* Stack the search form nicely in sidebar */
.pv-search--stacked .pv-search-row { display: block; }
.pv-search--stacked .pv-actions.pv-side-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-start;
}

/* Two columns just for small sidebar pairs (sort/visibility) */
.pv-side-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

/* Stats block in sidebar (3 tiles in a stack or responsive row) */
.pv-stats--stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

/* Responsive: collapse to single column (sidebar above content) */
@media (max-width: 980px) {
  .pv-layout {
    grid-template-columns: 1fr;
  }
  .pv-sidebar {
    order: -1; /* show sidebar above main on mobile */
  }
  .pv-side-grid-2 {
    grid-template-columns: 1fr;
  }
}

@media (max-width:600px){
  .pv-dashboard-search-card{ grid-template-columns:1fr; }
  .pv-dashboard-search-query,
  .pv-dashboard-search-actions{ grid-column:auto; }
}

/* Sidebar stats — label left, number right (no pill carryover) */
.pv-stats-list{
  list-style:none;
  margin:8px 0 0;
  padding:0;
  display:grid;
  gap:6px;
}
.pv-stats-list li{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(255,255,255,.65);
  border:1px solid rgba(0,0,0,.08);
}
.pv-stats-list li span{
  font-size:14px;
  font-weight:600;
  color:rgba(0,0,0,.7);
}
.pv-stats-list li strong{
  font:800 22px/1 Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  color:#111;
  min-width:2ch;
  text-align:right;
}


/* Dashboard user card */
.pv-user-row{display:flex;align-items:center;gap:12px}
.pv-user-row .avatar{
  width:56px;height:56px;flex:0 0 56px;
  border-radius:50%;object-fit:cover;background:#fff;
  border:1px solid rgba(0,0,0,.08);
}
.pv-user-meta{min-width:0}
.pv-user-name{font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}


/* Pricing panels, homepage and pricing page */
.pricing-grid .btn.btn-primary { color:#fff !important; }
.pricing-grid .btn.btn-primary:hover,
.pricing-grid .btn.btn-primary:focus { color:#fff !important; }

/* Administrator control centre */
.pv-admin-page{ padding:28px 0 56px; }
.pv-admin-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}
.pv-admin-heading h1{ margin:4px 0 6px; }
.pv-admin-kicker{
  display:inline-block;
  color:var(--primary);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.pv-admin-nav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:20px;
  padding:7px;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(255,255,255,.78);
  border-radius:16px;
  box-shadow:0 10px 30px rgba(31,41,55,.07);
}
.pv-admin-nav a{
  padding:9px 14px;
  color:var(--primary) !important;
  background:transparent;
  border:1px solid transparent;
  border-radius:11px;
  font-weight:700;
  text-decoration:none;
  box-shadow:none;
  transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.pv-admin-nav a:hover,
.pv-admin-nav a.active{
  color:#fff !important;
  background:#087fc1;
  box-shadow:0 6px 16px rgba(8,127,193,.28);
  transform:translateY(-1px);
}
.pv-admin-nav a.active{ border-color:rgba(255,255,255,.72); }
.pv-admin-page .btn-primary,
.pv-admin-page a.btn-primary,
.pv-admin-page button.btn-primary{ color:#fff !important; }
.pv-admin-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(155px,1fr));
  gap:16px;
}
.pv-admin-stat{ display:flex; flex-direction:column; gap:4px; padding:20px; text-decoration:none; }
.pv-admin-stat span{ color:var(--muted); font-weight:700; }
.pv-admin-stat strong{ color:var(--ink); font-size:2rem; }
.pv-admin-stat small{ color:var(--primary); font-weight:700; }
.pv-admin-welcome{ margin-top:18px; padding:22px; }
.pv-admin-welcome h2{ margin-top:0; }
.pv-admin-search,
.pv-admin-category-add{
  display:flex;
  align-items:end;
  gap:10px;
  margin-bottom:18px;
  padding:14px;
}
.pv-admin-search label,
.pv-admin-category-add label{ flex:1; }
.pv-admin-search label span,
.pv-admin-category-add label span,
.pv-admin-user-form label > span,
.pv-admin-content-card label > span{
  display:block;
  margin-bottom:5px;
  color:var(--muted);
  font-size:.76rem;
  font-weight:750;
}
.pv-admin-list{ display:grid; gap:12px; }
.pv-admin-user-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:10px;
  padding:14px;
}
.pv-admin-user-form{
  display:grid;
  grid-template-columns:1fr 1.35fr .65fr auto auto;
  align-items:end;
  gap:10px;
}
.pv-admin-check{ display:flex !important; align-items:center; gap:7px; min-height:42px; }
.pv-admin-check span{ margin:0 !important; white-space:nowrap; }
.pv-admin-record-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  grid-column:1 / -1;
  color:var(--muted);
  font-size:.72rem;
}
.pv-admin-record-meta span{
  padding:3px 8px;
  background:rgba(226,232,240,.72);
  border-radius:999px;
}
.pv-admin-content-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.pv-admin-content-card{ display:flex; flex-direction:column; gap:12px; padding:16px; }
.pv-admin-content-card form:first-of-type{ display:grid; gap:10px; }
.pv-admin-content-card textarea{ min-height:150px; resize:vertical; }
.pv-admin-content-options{ display:grid; grid-template-columns:1fr auto; align-items:end; gap:12px; }
.pv-admin-danger{
  color:#b42318 !important;
  background:rgba(254,226,226,.78) !important;
  border-color:rgba(239,68,68,.25) !important;
}
.pv-admin-danger:hover{ background:rgba(254,202,202,.9) !important; }
.pv-admin-danger:disabled{ cursor:not-allowed; opacity:.45; }
.pv-admin-category-list{ overflow:hidden; padding:4px 16px; border-radius:18px; }
.pv-admin-category-row{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; padding:12px 0; border-bottom:1px solid rgba(148,163,184,.22); }
.pv-admin-category-row:last-of-type{ border-bottom:0; }
.pv-admin-category-row form:first-child{ display:grid; grid-template-columns:minmax(180px,1fr) auto auto; align-items:center; gap:10px; }
.pv-admin-blog-manager-head{ display:flex; align-items:center; justify-content:space-between; gap:18px; margin:4px 0 18px; }
.pv-admin-blog-manager-head h2{ margin:0 0 4px; }
.pv-admin-blog-manager-head p{ margin:0; }
.pv-admin-blog-editor-panel{ margin-bottom:24px; padding:20px; }
.pv-admin-blog-editor-panel > header h2{ margin:4px 0 0; }
.pv-admin-blog-form{ display:grid; gap:12px; margin-top:16px; }
.pv-admin-blog-form label > span{ display:block; margin-bottom:5px; color:var(--muted); font-size:.76rem; font-weight:750; }
.pv-admin-blog-form label > span small{ font-weight:500; }
.pv-admin-blog-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.pv-admin-blog-form textarea{ width:100%; resize:vertical; }
.pv-admin-blog-excerpt{ min-height:84px; }
.pv-admin-blog-body{ min-height:360px; line-height:1.55; }
.pv-admin-blog-actions{ display:flex; align-items:end; justify-content:flex-end; gap:10px; }
.pv-admin-blog-actions label{ min-width:170px; margin-right:auto; }
.pv-admin-blog-card-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:stretch; }
.pv-admin-blog-card{ display:flex; flex-direction:column; min-width:0; overflow:hidden; padding:0; }
.pv-admin-blog-card-image{ display:block; width:100%; height:150px; object-fit:cover; }
.pv-admin-blog-card-placeholder{ display:grid; place-items:center; color:rgba(14,165,233,.7); background:linear-gradient(135deg,rgba(224,242,254,.95),rgba(237,233,254,.95)); font-size:2rem; font-weight:800; letter-spacing:-.08em; }
.pv-admin-blog-card-content{ display:flex; flex:1; flex-direction:column; min-width:0; padding:15px; }
.pv-admin-blog-card-head{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.pv-admin-blog-card-head time{ flex:none; color:var(--muted); font-size:.68rem; }
.pv-admin-blog-card h3{ display:-webkit-box; overflow:hidden; margin:13px 0 8px; color:var(--ink); font-size:1.05rem; line-height:1.3; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.pv-admin-blog-card-excerpt{ display:-webkit-box; overflow:hidden; margin:0 0 9px; color:#475569; font-size:.84rem; font-weight:650; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.pv-admin-blog-card-preview{ display:-webkit-box; overflow:hidden; margin:0 0 16px; color:var(--muted); font-size:.78rem; line-height:1.5; -webkit-box-orient:vertical; -webkit-line-clamp:4; }
.pv-admin-blog-card-actions{ display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; padding-top:12px; border-top:1px solid rgba(148,163,184,.2); }
.pv-admin-blog-card-actions .btn{ min-height:36px; padding:7px 10px; font-size:.76rem; }
.pv-admin-blog-card-actions form{ margin-left:auto; }
.pv-admin-blog-status{ padding:4px 9px; color:#92400e; background:#fef3c7; border-radius:999px; font-size:.7rem; font-weight:800; text-transform:uppercase; }
.pv-admin-blog-status.is-published{ color:#166534; background:#dcfce7; }
.pv-rich-editor{ overflow:hidden; border:1px solid rgba(148,163,184,.45); border-radius:14px; background:rgba(255,255,255,.86); }
.pv-rich-toolbar{ display:flex; flex-wrap:wrap; gap:5px; padding:8px; background:rgba(241,245,249,.92); border-bottom:1px solid rgba(148,163,184,.3); }
.pv-rich-toolbar button{ min-width:34px; height:34px; padding:0 9px; color:#334155; background:#fff; border:1px solid rgba(148,163,184,.38); border-radius:7px; cursor:pointer; font:inherit; font-size:.78rem; }
.pv-rich-toolbar button:hover,.pv-rich-toolbar button:focus{ color:#fff; background:var(--primary); border-color:var(--primary); outline:none; }
.pv-rich-surface{ min-height:420px; padding:22px; color:var(--ink); line-height:1.7; outline:none; }
.pv-rich-surface:empty::before{ content:attr(data-placeholder); color:#94a3b8; pointer-events:none; }
.pv-rich-surface h2{ margin:1.6em 0 .55em; font-size:1.55rem; }
.pv-rich-surface h3{ margin:1.35em 0 .5em; font-size:1.2rem; }
.pv-rich-surface p{ margin:.8em 0; }
.pv-rich-surface blockquote{ margin:1.2em 0; padding:12px 18px; color:#475569; border-left:4px solid var(--primary); background:#f8fafc; }
.pv-rich-value{ position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; opacity:0; pointer-events:none; }
.pv-blog-post-wrap{ max-width:980px !important; }
.pv-blog-article{ overflow:hidden; padding:0; border-radius:24px; }
.pv-blog-hero{ display:block; width:100%; max-height:480px; object-fit:cover; }
.pv-blog-article-head{ padding:clamp(28px,5vw,56px) clamp(24px,7vw,72px) 30px; text-align:center; border-bottom:1px solid rgba(148,163,184,.2); }
.pv-blog-back{ display:inline-block; margin-bottom:22px; color:var(--primary); font-size:.83rem; font-weight:750; text-decoration:none; }
.pv-blog-article-head h1{ max-width:830px; margin:0 auto 18px; font-size:clamp(2.15rem,5vw,4rem); line-height:1.08; letter-spacing:-.035em; }
.pv-blog-lead{ max-width:760px; margin:0 auto 18px; color:#64748b; font-size:clamp(1.05rem,2vw,1.3rem); line-height:1.6; }
.pv-blog-date{ margin:0; color:#64748b; font-size:.88rem; }
.pv-blog-date span{ margin-right:4px; color:#334155; font-weight:750; }
.pv-blog-body{ max-width:760px; margin:0 auto; padding:clamp(30px,6vw,64px) 24px; color:#273344; font-size:1.06rem; line-height:1.8; }
.pv-blog-body p,.pv-blog-body > div{ margin:0 0 1.45em; }
.pv-blog-body h2{ margin:2.1em 0 .65em; color:var(--ink); font-size:clamp(1.55rem,3vw,2rem); line-height:1.25; }
.pv-blog-body h3{ margin:1.8em 0 .6em; color:var(--ink); font-size:1.28rem; }
.pv-blog-body ul,.pv-blog-body ol{ margin:0 0 1.5em; padding-left:1.5em; }
.pv-blog-body li{ margin:.45em 0; padding-left:.25em; }
.pv-blog-body blockquote{ margin:2em 0; padding:18px 22px; color:#475569; background:rgba(224,242,254,.55); border-left:4px solid var(--primary); border-radius:0 12px 12px 0; }
.pv-blog-body a{ color:var(--primary); font-weight:650; }
.pv-blog-tags{ display:flex; flex-wrap:wrap; gap:8px; max-width:760px; margin:0 auto; padding:0 24px 46px; }
.pv-blog-tags span{ padding:6px 11px; color:#0369a1; background:#e0f2fe; border-radius:999px; font-size:.75rem; font-weight:700; }
.pv-policy-wrap{ max-width:1120px !important; gap:18px !important; }
.pv-policy-hero{ padding:clamp(24px,5vw,48px); text-align:center; border-radius:24px; }
.pv-policy-hero h1{ margin:6px 0 12px; font-size:clamp(2rem,5vw,3.5rem); }
.pv-policy-hero .lead{ max-width:760px; margin:0 auto 12px; color:#526071; }
.pv-policy-hero .last-updated{ margin:0; color:var(--muted); font-size:.78rem; }
.pv-policy-notice{ padding:18px 20px; color:#075985; background:linear-gradient(135deg,rgba(224,242,254,.96),rgba(237,233,254,.9)); border:1px solid rgba(14,165,233,.28); border-radius:16px; }
.pv-policy-notice strong{ font-size:1.05rem; }
.pv-policy-notice p{ margin:5px 0 0; color:#334155; line-height:1.55; }
.pv-policy-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.pv-policy-card{ position:relative; padding:24px; border-radius:20px; }
.pv-policy-card h2{ margin:2px 0 12px; padding-right:42px; font-size:1.32rem; }
.pv-policy-card p,.pv-policy-card li{ color:#526071; line-height:1.65; }
.pv-policy-card p:last-child{ margin-bottom:0; }
.pv-policy-card ul,.pv-policy-card ol{ padding-left:1.3rem; }
.pv-policy-number{ position:absolute; top:19px; right:20px; color:rgba(14,165,233,.48); font-size:.76rem; font-weight:800; letter-spacing:.08em; }
.pv-policy-card .btn{ margin-top:8px; }
.pv-policy-account-note{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px; border:1px solid rgba(239,68,68,.18); border-radius:20px; }
.pv-policy-account-note h2{ margin:0 0 7px; font-size:1.25rem; }
.pv-policy-account-note p{ margin:0; color:#526071; line-height:1.6; }
.pv-policy-account-note .btn{ flex:none; }
.pv-policy-links{ padding:2px 12px; color:var(--muted); font-size:.82rem; text-align:center; }
.pv-policy-links p{ margin:5px 0; }
.pv-privacy-content{ padding:clamp(24px,4vw,48px); border-radius:24px; }
.pv-privacy-content section+section{ margin-top:32px; padding-top:30px; border-top:1px solid rgba(100,116,139,.18); }
.pv-privacy-content h2{ margin:0 0 12px; font-size:clamp(1.25rem,2vw,1.55rem); }
.pv-privacy-content p,.pv-privacy-content li{ color:#526071; line-height:1.72; }
.pv-privacy-content ul{ margin:12px 0 0; padding-left:1.35rem; }
.pv-privacy-content li+li{ margin-top:8px; }
.pv-table-scroll{ margin-top:14px; overflow-x:auto; border:1px solid rgba(100,116,139,.2); border-radius:14px; }
.pv-privacy-table{ width:100%; min-width:620px; border-collapse:collapse; background:rgba(255,255,255,.48); }
.pv-privacy-table th,.pv-privacy-table td{ padding:14px 16px; border-bottom:1px solid rgba(100,116,139,.16); text-align:left; vertical-align:top; line-height:1.55; }
.pv-privacy-table th{ color:var(--ink); background:rgba(14,165,233,.08); font-size:.82rem; letter-spacing:.04em; text-transform:uppercase; }
.pv-privacy-table tr:last-child td{ border-bottom:0; }
.pv-form-privacy{ max-width:700px; margin:14px 0 0; color:var(--muted); font-size:.82rem; line-height:1.5; }
.pv-moderation-tools{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px; }
.pv-moderation-tools form:first-child{ display:grid; grid-template-columns:minmax(180px,1fr) minmax(210px,auto) auto; gap:8px; flex:1; }
.pv-moderation-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.pv-moderation-card{ min-width:0; padding:18px; }
.pv-moderation-card > header{ display:flex; justify-content:space-between; gap:12px; }
.pv-moderation-card h3{ margin:10px 0; }
.pv-moderation-reason{ padding:10px; color:#92400e; background:#fef3c7; border-radius:10px; font-size:.82rem; }
.pv-moderation-report-details{ padding:10px; color:#7c2d12; background:#ffedd5; border-radius:10px; font-size:.8rem; line-height:1.45; }
.pv-moderation-card pre{ max-height:260px; overflow:auto; padding:12px; white-space:pre-wrap; color:#334155; background:#f8fafc; border-radius:10px; font:inherit; font-size:.82rem; line-height:1.5; }
.pv-moderation-decision{ display:flex; flex-wrap:wrap; gap:8px; }
.pv-moderation-decision .pv-input{ flex:1 0 100%; }
.pv-moderation-terms{ display:grid; gap:7px; padding:14px; }
.pv-moderation-terms form{ display:grid; grid-template-columns:minmax(0,1fr) 100px auto; align-items:center; gap:10px; }
.pv-moderation-history{ display:grid; gap:0; padding:8px 16px; }
.pv-moderation-history > div{ display:grid; grid-template-columns:90px minmax(0,1fr) auto; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid rgba(148,163,184,.2); }
.pv-moderation-history > div:last-child{ border-bottom:0; }
.pv-moderation-history small{ color:var(--muted); }
.pv-report-button{ color:#b42318 !important; }
.pv-report-dialog .gallery-signup-dialog-inner{ text-align:left; }
.pv-moderation-form-note{ margin:0; padding:9px 11px; background:rgba(224,242,254,.55); border-radius:10px; }
/* Features marketing page */
.pv-features-page .pv-wrap{ gap:clamp(38px,6vw,82px); }
.pv-features-hero{ display:grid; grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr); align-items:center; min-height:560px; overflow:hidden; padding:clamp(28px,6vw,72px); border-radius:28px; }
.pv-features-hero-copy{ position:relative; z-index:2; }
.pv-features-hero h1{ max-width:790px; margin:8px 0 20px; font-size:clamp(2.7rem,6vw,5.7rem); line-height:.98; letter-spacing:-.055em; }
.pv-features-lead{ max-width:680px; color:#526071; font-size:clamp(1.05rem,2vw,1.3rem); line-height:1.65; }
.pv-features-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.pv-features-proof{ display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:25px; color:#475569; font-size:.78rem; font-weight:750; }
.pv-features-proof span::before{ content:'✓'; margin-right:6px; color:#0ea5e9; }
.pv-features-hero-visual{ position:relative; min-height:430px; }
.pv-feature-orbit{ position:absolute; border:1px solid rgba(14,165,233,.2); border-radius:50%; }
.pv-feature-orbit-one{ inset:18px 6px 14px 20px; }
.pv-feature-orbit-two{ inset:80px 70px; border-style:dashed; }
.pv-feature-floating-card{ position:absolute; display:flex; flex-direction:column; gap:5px; width:min(270px,75%); padding:18px; background:rgba(255,255,255,.9); border:1px solid rgba(255,255,255,.95); border-radius:17px; box-shadow:0 20px 55px rgba(51,65,85,.14); backdrop-filter:blur(14px); }
.pv-feature-floating-card small{ color:#0284c7; font-size:.62rem; font-weight:850; letter-spacing:.14em; }
.pv-feature-floating-card strong{ color:#18212d; font-size:1.05rem; }
.pv-feature-floating-card span{ color:#64748b; font-size:.78rem; }
.pv-feature-floating-card.is-search{ top:24px; right:12px; transform:rotate(3deg); }
.pv-feature-floating-card.is-ai{ top:165px; left:0; transform:rotate(-3deg); }
.pv-feature-floating-card.is-template{ right:0; bottom:12px; transform:rotate(2deg); }
.pv-features-value-strip{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; overflow:hidden; background:rgba(148,163,184,.22); border:1px solid rgba(148,163,184,.18); border-radius:18px; box-shadow:0 14px 36px rgba(31,41,55,.07); }
.pv-features-value-strip div{ display:flex; flex-direction:column; gap:4px; padding:20px; background:rgba(255,255,255,.82); text-align:center; }
.pv-features-value-strip strong{ color:#18212d; font-size:1.15rem; }
.pv-features-value-strip span{ color:#64748b; font-size:.76rem; }
.pv-features-section-heading{ max-width:800px; margin:12px auto 0; padding:10px 16px 4px; text-align:center; }
.pv-features-section-heading h2{ margin:6px 0 12px; font-size:clamp(2rem,4vw,3.5rem); line-height:1.08; letter-spacing:-.035em; }
.pv-features-section-heading > p:last-child{ color:#64748b; font-size:1.05rem; }
.pv-feature-showcase{ display:grid; gap:clamp(30px,4vw,46px); }
.pv-feature-spotlight{ display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.82fr); align-items:center; gap:clamp(28px,6vw,80px); min-height:430px; overflow:hidden; padding:clamp(26px,5vw,58px); border-radius:24px; }
.pv-feature-spotlight.is-reversed .pv-feature-spotlight-copy{ order:2; }
.pv-feature-step{ color:#0284c7; font-size:.72rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.pv-feature-spotlight-copy h2{ margin:8px 0 14px; font-size:clamp(1.9rem,3.6vw,3.1rem); line-height:1.08; letter-spacing:-.035em; }
.pv-feature-spotlight-copy p{ color:#526071; font-size:1rem; line-height:1.7; }
.pv-feature-spotlight-copy ul{ display:grid; gap:8px; margin:20px 0 0; padding:0; list-style:none; }
.pv-feature-spotlight-copy li{ color:#334155; font-weight:700; }
.pv-feature-spotlight-copy li::before{ content:'✓'; margin-right:9px; color:#0ea5e9; }
.pv-feature-plan-label{ display:inline-block; margin-top:18px; padding:6px 10px; color:#0369a1; background:#e0f2fe; border-radius:999px; font-size:.7rem; font-weight:800; }
.pv-feature-ui-card,.pv-feature-search-demo,.pv-feature-template-demo{ padding:24px; background:rgba(255,255,255,.9); border:1px solid rgba(148,163,184,.22); border-radius:20px; box-shadow:0 24px 60px rgba(51,65,85,.13); }
.pv-feature-ui-top{ display:flex; gap:5px; margin-bottom:28px; }.pv-feature-ui-top i{ width:8px; height:8px; background:#cbd5e1; border-radius:50%; }
.pv-feature-ui-label{ display:block; margin-bottom:8px; color:#0284c7; font-size:.62rem; font-weight:850; letter-spacing:.12em; }
.pv-feature-ui-card > strong{ display:block; margin-bottom:14px; font-size:1.25rem; }.pv-feature-ui-card > p{ padding:15px; color:#526071; background:#f8fafc; border-radius:12px; line-height:1.55; }
.pv-feature-ui-pills,.pv-feature-search-filters{ display:flex; flex-wrap:wrap; gap:6px; }.pv-feature-ui-pills b,.pv-feature-search-filters b{ padding:5px 9px; color:#0369a1; background:#e0f2fe; border-radius:999px; font-size:.65rem; }
.pv-feature-search-input{ display:flex; justify-content:space-between; padding:13px; color:#94a3b8; border:1px solid #dbe3ec; border-radius:11px; }.pv-feature-search-filters{ margin:10px 0 18px; }
.pv-feature-result{ display:flex; flex-direction:column; gap:4px; margin-top:8px; padding:13px; background:#f8fafc; border-radius:11px; }.pv-feature-result span{ color:#273344; font-weight:750; }.pv-feature-result small{ color:#64748b; }
.pv-feature-before-after{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; }.pv-feature-before-after > div{ padding:18px; background:#f8fafc; border-radius:16px; }.pv-feature-before-after .is-after{ color:#075985; background:#e0f2fe; }.pv-feature-before-after small{ font-size:.6rem; font-weight:850; letter-spacing:.12em; }.pv-feature-before-after p{ margin-bottom:0; line-height:1.5; }
.pv-feature-template-demo{ display:grid; gap:12px; }.pv-feature-template-demo label{ color:#526071; font-size:.7rem; font-weight:750; }.pv-feature-template-demo input{ display:block; width:100%; margin-top:5px; padding:11px; color:#334155; background:#f8fafc; border:1px solid #dbe3ec; border-radius:9px; box-sizing:border-box; }.pv-feature-template-demo button{ padding:12px; color:#fff; background:#0ea5e9; border:0; border-radius:10px; font-weight:800; }
.pv-features-more-heading{ margin-top:20px; }
.pv-features-capability-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.pv-features-capability-grid article{ padding:24px; border-radius:19px; transition:transform .2s ease,box-shadow .2s ease; }.pv-features-capability-grid article:hover{ transform:translateY(-4px); box-shadow:0 22px 48px rgba(31,41,55,.12); }
.pv-features-capability-grid article > span{ display:grid; place-items:center; width:40px; height:40px; color:#0284c7; background:#e0f2fe; border-radius:12px; font-size:1.25rem; }.pv-features-capability-grid h3{ margin:15px 0 8px; }.pv-features-capability-grid p{ color:#64748b; line-height:1.6; }.pv-features-capability-grid small{ color:#0284c7; font-weight:800; }
.pv-features-safety{ display:flex; align-items:center; justify-content:space-between; gap:36px; padding:clamp(26px,5vw,52px); border-radius:23px; }.pv-features-safety > div{ max-width:760px; }.pv-features-safety h2{ margin:6px 0 10px; font-size:clamp(1.8rem,4vw,3rem); }.pv-features-safety p:last-child{ color:#526071; line-height:1.65; }.pv-features-safety .btn{ flex:none; }
.pv-features-final-cta{ max-width:930px; margin:0 auto; padding:clamp(20px,5vw,55px) 20px; text-align:center; }.pv-features-final-cta h2{ margin:7px 0 14px; font-size:clamp(2.2rem,5vw,4.4rem); line-height:1.02; letter-spacing:-.045em; }.pv-features-final-cta > p:not(.section-kicker){ max-width:700px; margin:0 auto; color:#64748b; font-size:1.08rem; line-height:1.65; }.pv-features-final-cta .pv-features-actions{ justify-content:center; }
.pv-admin-empty{ padding:30px; text-align:center; color:var(--muted); }
.pv-plan-intent{
  margin:8px 0 18px;
  padding:15px 16px;
  color:#334155;
  background:linear-gradient(135deg,rgba(224,242,254,.96),rgba(237,233,254,.88));
  border:1px solid rgba(56,189,248,.38);
  border-radius:15px;
  box-shadow:0 8px 22px rgba(14,116,144,.1);
}
.pv-plan-intent > span{
  display:block;
  color:#0284c7;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pv-plan-intent strong{ display:block; margin:3px 0; color:#075985; font-size:1.12rem; }
.pv-plan-intent small{ display:block; color:#526071; line-height:1.4; }
.pv-account-management,
.pv-account-danger{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,600px);
  align-items:center;
  gap:24px;
  margin-top:18px;
  padding:20px;
  border-radius:16px;
}
.pv-account-profile-form{ display:none; }
.pv-account-main{ display:grid; gap:18px; min-width:0; }
.pv-account-main .pv-account-management,
.pv-account-main .pv-account-danger{ margin-top:0; }
.pv-account-main .pv-account-management{ grid-template-columns:minmax(0,1fr) auto; }
.pv-account-main .pv-account-management > form,
.pv-account-main .pv-account-management > .btn{ justify-self:end; }
.pv-account-management h2,
.pv-account-danger h2{ margin:3px 0 7px; }
.pv-account-management p,
.pv-account-danger p{ margin-bottom:0; }
.pv-account-danger{ border:1px solid rgba(220,38,38,.22); }
.pv-account-danger .section-kicker{ color:#b42318; }
.pv-account-delete-form{
  display:grid;
  grid-template-columns:minmax(160px,1fr) minmax(160px,1fr);
  align-items:end;
  gap:10px;
  min-width:0;
  width:100%;
  max-width:600px;
}
.pv-account-delete-form label span{ display:block; margin-bottom:5px; color:var(--muted); font-size:.76rem; font-weight:750; }
.pv-account-delete-form .pv-input{ width:100%; max-width:100%; box-sizing:border-box; }
.pv-account-delete-form button{ grid-column:1 / -1; }
@media (max-width:1050px){
  .pv-account-management,.pv-account-danger{ grid-template-columns:1fr; }
  .pv-account-main .pv-account-management{ grid-template-columns:1fr; }
  .pv-account-main .pv-account-management > form,
  .pv-account-main .pv-account-management > .btn{ justify-self:start; }
  .pv-account-delete-form{ max-width:none; }
}
@media (max-width:520px){ .pv-account-delete-form{ grid-template-columns:1fr; } }

/* Focused account settings screens */
.pv-account-settings-wrap{ max-width:1160px !important; gap:18px !important; }
.pv-account-settings-heading{ display:flex; align-items:end; justify-content:space-between; gap:22px; }
.pv-account-settings-heading h1{ margin:4px 0 5px; }
.pv-account-settings-heading p{ margin:0; }
.pv-account-settings-nav{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:8px; border-radius:17px; }
.pv-account-settings-nav a{ padding:12px 14px; color:var(--primary) !important; border-radius:11px; font-weight:750; text-align:center; text-decoration:none; }
.pv-account-settings-nav a:hover,.pv-account-settings-nav a.active{ color:#fff !important; background:var(--primary); box-shadow:0 6px 16px rgba(14,165,233,.22); }
.pv-account-message{ padding:14px 18px; border-radius:14px; }
.pv-account-message ul{ margin:8px 0 0; }
.pv-account-editor{ padding:clamp(20px,3vw,34px); border-radius:22px; }
.pv-account-editor-head{ display:flex; align-items:start; justify-content:space-between; gap:20px; margin-bottom:24px; }
.pv-account-editor-head h2{ margin:4px 0 6px; }
.pv-account-editor-head p{ margin:0; }
.pv-account-profile-grid{ display:grid; grid-template-columns:minmax(300px,.85fr) minmax(360px,1.15fr); gap:28px; }
.pv-account-identity,.pv-account-bio,.pv-account-password-form{ display:grid; align-content:start; gap:14px; }
.pv-account-avatar-row{ display:flex; align-items:center; gap:15px; padding-bottom:18px; border-bottom:1px solid rgba(100,116,139,.18); }
.pv-account-avatar-row img{ width:88px; height:88px; flex:none; object-fit:cover; background:#fff; border:3px solid rgba(255,255,255,.85); border-radius:50%; box-shadow:0 8px 24px rgba(15,23,42,.12); }
.pv-account-avatar-row div{ display:grid; gap:2px; min-width:0; }
.pv-account-avatar-row strong{ overflow:hidden; font-size:1.12rem; text-overflow:ellipsis; white-space:nowrap; }
.pv-account-avatar-row span{ color:var(--primary); font-size:.8rem; font-weight:750; }
.pv-account-avatar-row small{ overflow:hidden; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; }
.pv-account-editor label>span{ display:block; margin-bottom:6px; color:#475569; font-size:.78rem; font-weight:750; }
.pv-account-editor label>small{ display:block; margin-top:6px; color:var(--muted); font-size:.75rem; line-height:1.45; }
.pv-account-field-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.pv-account-readonly{ padding:11px 13px; background:rgba(241,245,249,.76); border:1px solid rgba(148,163,184,.18); border-radius:11px; }
.pv-account-readonly span{ display:block; margin-bottom:3px; color:var(--muted); font-size:.7rem; font-weight:700; text-transform:uppercase; }
.pv-account-readonly strong{ overflow-wrap:anywhere; font-size:.88rem; }
.pv-account-bio textarea{ min-height:360px; resize:vertical; }
.pv-account-editor-actions{ display:flex; justify-content:flex-end; margin-top:22px; padding-top:18px; border-top:1px solid rgba(100,116,139,.18); }
.pv-account-narrow-editor{ max-width:720px; width:100%; margin:0 auto; }
.pv-account-password-form{ max-width:520px; }
.pv-account-password-form .btn{ justify-self:start; margin-top:5px; }
.pv-account-plan-badge{ padding:7px 12px; color:#0369a1; background:#e0f2fe; border-radius:999px; font-size:.78rem; font-weight:800; }
.pv-account-info-panel{ padding:22px; background:linear-gradient(135deg,rgba(224,242,254,.7),rgba(237,233,254,.62)); border:1px solid rgba(14,165,233,.18); border-radius:16px; }
.pv-account-info-panel h3{ margin:0 0 7px; }
.pv-account-info-panel p{ max-width:720px; margin:0 0 18px; color:#526071; line-height:1.6; }
.pv-account-delete-editor{ border:1px solid rgba(239,68,68,.23); }
.pv-account-delete-editor .section-kicker{ color:#b42318; }
.pv-account-delete-warning{ margin-bottom:22px; padding:17px 20px; color:#7f1d1d; background:rgba(254,226,226,.64); border-radius:14px; }
.pv-account-delete-warning ul{ margin:8px 0 0; padding-left:1.2rem; line-height:1.6; }
@media (max-width:820px){
  .pv-account-settings-heading{ align-items:start; flex-direction:column; }
  .pv-account-settings-nav{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pv-account-profile-grid{ grid-template-columns:1fr; }
}
@media (max-width:520px){
  .pv-account-settings-nav{ grid-template-columns:1fr; }
  .pv-account-field-grid{ grid-template-columns:1fr; }
  .pv-account-editor-head{ flex-direction:column; }
}
@media (max-width:1000px){
  .pv-admin-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pv-admin-user-form{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pv-admin-user-form .pv-admin-record-meta{ grid-column:1 / -1; }
  .pv-admin-blog-card-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pv-features-hero{ grid-template-columns:1fr; }
  .pv-features-hero-visual{ min-height:380px; }
  .pv-feature-spotlight{ grid-template-columns:1fr; }
  .pv-feature-spotlight.is-reversed .pv-feature-spotlight-copy{ order:0; }
  .pv-features-capability-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px){
  .pv-admin-heading{ align-items:flex-start; flex-direction:column; }
  .pv-admin-content-grid{ grid-template-columns:1fr; }
  .pv-admin-user-row{ grid-template-columns:1fr; }
  .pv-admin-search,.pv-admin-category-add{ align-items:stretch; flex-direction:column; }
  .pv-admin-blog-grid{ grid-template-columns:1fr; }
  .pv-admin-blog-manager-head,.pv-admin-blog-actions{ align-items:stretch; flex-direction:column; }
  .pv-admin-blog-actions label{ width:100%; }
  .pv-policy-grid{ grid-template-columns:1fr; }
  .pv-policy-account-note{ align-items:stretch; flex-direction:column; }
  .pv-moderation-grid{ grid-template-columns:1fr; }
  .pv-moderation-tools,.pv-moderation-tools form:first-child{ align-items:stretch; grid-template-columns:1fr; flex-direction:column; }
  .pv-moderation-history > div{ grid-template-columns:1fr; }
  .pv-features-value-strip{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pv-features-safety{ align-items:flex-start; flex-direction:column; }
}
@media (max-width:520px){
  .pv-admin-stats{ grid-template-columns:1fr; }
  .pv-admin-user-form{ grid-template-columns:1fr; }
  .pv-admin-category-row,.pv-admin-category-row form:first-child{ grid-template-columns:1fr; }
  .pv-admin-blog-card-grid{ grid-template-columns:1fr; }
  .pv-features-hero{ min-height:0; padding:24px 19px; }
  .pv-features-hero h1{ font-size:2.65rem; }
  .pv-features-hero-visual{ min-height:345px; }
  .pv-feature-floating-card{ width:72%; padding:14px; }
  .pv-features-value-strip,.pv-features-capability-grid{ grid-template-columns:1fr; }
  .pv-feature-spotlight{ padding:24px 18px; }
  .pv-feature-before-after{ grid-template-columns:1fr; }
  .pv-feature-before-after > span{ transform:rotate(90deg); text-align:center; }
}


/* ----- Header: keep brand + nav on one row ----- */
.site-header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;   /* Logo left, nav right */
  gap: 24px;
}

.site-header .brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.site-header .brand .logo {
  height: 38px;                     /* adjust to taste */
  width: auto;
  display: block;
}

/* The nav sits to the right of the logo */
.site-header .nav {
  display: inline-flex;
  align-items: center;
  gap: 28px;                        /* spacing between links/buttons */
  margin-left: auto;                /* push nav to the right */
  flex-wrap: nowrap;                /* prevent wrapping to a new line */
  white-space: nowrap;              /* keep account/logout on one line */
}

/* If you have .btns inside the nav, keep their text from shrinking */
.site-header .nav .btn { white-space: nowrap; }

/* Optional: tighten spacing a bit on medium screens */
@media (max-width: 1200px) {
  .site-header .nav { gap: 20px; }
}

/* Mobile breakpoint – switch to your hamburger (if you use one) */
@media (max-width: 900px) {
  .site-header .nav { display: none; }           /* hidden until toggled */
  .site-header .menu-toggle { display: inline-flex; margin-left: auto; }
  .site-header.is-open .nav {                    /* when toggled open */
    display: flex;
    position: absolute;
    right: 16px; left: 16px; top: 64px;
    padding: 12px;
    gap: 16px;
    flex-direction: column;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
  }
}

/* ========== Footer (Prompt Vault) ========== */



.pv-footer{
  background:rgba(255,255,255,.9); backdrop-filter:blur(10px);
  color: var(--pv-footer-fg);
  border-top: 1px solid var(--pv-divider);
  margin-top: 4rem;
}

.pv-footer a{
  color: var(--pv-footer-fg);
  text-decoration: none;
}

.pv-footer a:hover, .pv-footer a:focus{
  color: var(--pv-footer-accent);
  text-decoration: underline;
}

.pv-footer__inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 3rem 1.25rem;
  display: grid;
  gap: 2rem;
}

.pv-footer__brand{
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.pv-footer__logo{
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  font-weight: 700;
  letter-spacing: .2px;
}

.pv-footer__logo-mark{
  display: inline-grid;
  place-items: center;
  width: 36px; height: 36px;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--pv-footer-accent), #9dd0ff);
  color: #0b1020;
  font-weight: 900;
}

.pv-footer__logo-text{
  font-size: 1.125rem;
}

.pv-footer__tagline{
  margin: 0;
  color: var(--pv-footer-dim);
  font-size: .975rem;
}

.pv-footer__nav{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 1.5rem;
}

@media (min-width: 900px){
  .pv-footer__nav{ grid-template-columns: repeat(4, minmax(0,1fr)); }
}

.pv-footer__heading{
  font-size: .95rem;
  margin: 0 0 .75rem;
  color: var(--pv-footer-fg);
  opacity: .9;
}

.pv-footer__list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: .5rem;
}

.pv-footer__list a{
  color: var(--pv-footer-dim);
  font-size: .95rem;
}

.pv-footer__meta{
  border-top: 1px solid var(--pv-divider);
  padding-top: 1.25rem;
  display: grid;
  gap: 1rem;
}

@media (min-width: 700px){
  .pv-footer__meta{
    grid-template-columns: 1fr auto;
    align-items: center;
  }
}

.pv-footer__social{
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1rem;
}

.pv-social{
  display: inline-block;
  padding: .25rem .5rem;
  border: 1px solid var(--pv-divider);
  border-radius: 6px;
  color: var(--pv-footer-dim);
  font-size: .9rem;
}

.pv-social:hover{ border-color: var(--pv-footer-accent); color: var(--pv-footer-accent); }

.pv-footer__fineprint{
  color: var(--pv-footer-dim);
  font-size: .85rem;
  text-align: left;
}

.pv-footer__fineprint p{ margin: 0; }
.pv-footer__fineprint p + p{ margin-top: .25rem; }


/* Reduced motion friendly smooth scroll */
@media (prefers-reduced-motion: no-preference){
  html { scroll-behavior: smooth; }
}

/* Visible only after JS toggles it */
.pv-backtotop{
  margin-top: 1rem;
  text-align: right;
  transition: opacity .2s ease;
  opacity: 0; pointer-events: none;
}

/* Stronger focus states for all footer links */
.pv-footer a:focus-visible{
  outline: 2px solid var(--pv-footer-accent);
  outline-offset: 2px;
  border-radius: 6px;
}

/* aria-current styling (optional) */
.pv-footer a[aria-current="page"]{
  color: var(--pv-footer-accent);
  text-decoration: underline;
}


/* ---------- Feature Hero ---------- */
.hero--features {
  display: grid;
  gap: 2rem;
  align-items: center;
  overflow: hidden;
  background:
    radial-gradient(1200px 400px at 70% -10%, rgba(122,162,255,.18), transparent 60%),
    radial-gradient(800px 260px at -10% 110%, rgba(157,208,255,.14), transparent 60%);
}

@media (min-width: 960px){
  .panel--split.hero--features {
    grid-template-columns: 1.1fr .9fr;
    padding: 2.25rem 2rem;
  }
}

.hero__copy h1 { margin: 0 0 .5rem; }
.hero__sub { color: var(--pv-footer-dim); max-width: 52ch; }
.hero__cta { display: flex; gap: .75rem; margin-top: 1rem; }
.hero__badges { display: flex; flex-wrap: wrap; gap: .5rem .75rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.hero__badges li {
  font-size: .85rem; color: var(--pv-footer-dim);
  border: 1px solid var(--pv-divider); padding: .35rem .6rem; border-radius: 999px;
}

.hero__art { display: grid; place-items: center; }
.art--notes { width: 100%; max-width: 460px; filter: drop-shadow(0 8px 24px rgba(0,0,0,.12)); }

/* ---------- Buttons ---------- */
.pv-btn {
  display: inline-block; border: 1px solid var(--pv-divider);
  border-radius: 10px; padding: .7rem 1rem; font-weight: 700; text-decoration: none;
}
.pv-btn--primary { background: linear-gradient(135deg, var(--pv-footer-accent), #9dd0ff); color: #0b1020; }
.pv-btn--ghost { background: transparent; color: var(--pv-footer-fg); }
.pv-btn--ghost:hover { color: var(--pv-footer-accent); }

/* ---------- Feature Grid ---------- */
.panel--flush { padding: 0; background: transparent; border: none; }
.feature-grid {
  display: grid; gap: 1rem; padding: .25rem;
  grid-template-columns: repeat(1, minmax(0,1fr));
}
@media (min-width: 640px){ .feature-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 1024px){ .feature-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } }

.card {
  background: var(--surface, #fff);
  border: 1px solid var(--pv-divider);
  border-radius: 14px;
  padding: 1rem;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.card:hover { transform: translateY(-2px); border-color: rgba(122,162,255,.5); box-shadow: 0 10px 24px rgba(0,0,0,.06); }
.card__icon {
  width: 40px; height: 40px; border-radius: 10px;
  display: grid; place-items: center; margin-bottom: .6rem;
  color: var(--pv-footer-accent);
  background: rgba(122,162,255,.12); border: 1px solid rgba(122,162,255,.25);
}
.card__icon svg { width: 22px; height: 22px; }
.card h3 { margin: .25rem 0 .25rem; font-size: 1.1rem; }
.card p { color: var(--pv-footer-dim); margin: 0; }

/* ---------- How it works ---------- */
.panel--alt { background: linear-gradient(180deg, rgba(122,162,255,.06), transparent); }
.howitworks { padding: 1.25rem; }
.howitworks h2 { margin-top: 0; }
.steps {
  display: grid; gap: 1rem; list-style: none; padding: 0; margin: 1rem 0 0;
  grid-template-columns: repeat(1, minmax(0,1fr));
}
@media (min-width: 780px){ .steps { grid-template-columns: repeat(3, minmax(0,1fr)); } }
.steps li {
  background: var(--surface, #fff); border: 1px solid var(--pv-divider);
  border-radius: 12px; padding: 1rem;
}
.step__num {
  width: 28px; height: 28px; border-radius: 50%;
  display: inline-grid; place-items: center; font-weight: 800; margin-bottom: .4rem;
  color: #0b1020; background: linear-gradient(135deg, var(--pv-footer-accent), #9dd0ff);
}

/* ---------- CTA ---------- */
.panel--cta {
  display: grid; gap: 1rem; align-items: center;
  border: 1px dashed rgba(122,162,255,.45);
  background: radial-gradient(600px 180px at 20% 0%, rgba(122,162,255,.15), transparent 65%);
}
@media (min-width: 760px){ .panel--cta { grid-template-columns: 1fr auto; } }
.panel--cta h2 { margin: 0; }
.panel--cta p { color: var(--pv-footer-dim); margin: .25rem 0 0; }
.cta__actions { display: flex; gap: .75rem; }

/* ---------- Panels baseline (in case you need) ---------- */
.panels { display: grid; gap: 1.25rem; margin: 2rem auto; max-width: 1100px; padding: 0 1rem; }
.panel {
  background: var(--surface, #fff);
  border: 1px solid var(--pv-divider);
  border-radius: 14px;
  padding: 1.25rem;
}
@media (prefers-color-scheme: dark){
  .panel { background: rgba(255,255,255,.02); }
}


/* Feature boxes: align with Contact's semi-transparent "glass" look */
.feature-box { padding:16px;border-radius:14px; }
.feature-head { display:flex; align-items:center; gap:.6rem; margin-bottom:.35rem; }
.feature-head svg { width:22px; height:22px; color: var(--pv-accent, #7aa2ff); }

/* Grid helpers if not already present */
.pv-grid-2 { display:grid; gap:14px; grid-template-columns: 1fr; }
@media (min-width: 680px){ .pv-grid-2 { grid-template-columns: repeat(2, 1fr); } }

.pv-grid-3 { display:grid; gap:14px; grid-template-columns: 1fr; }
@media (min-width: 880px){ .pv-grid-3 { grid-template-columns: repeat(3, 1fr); } }

.pv-grid-4-lg { }
@media (min-width: 1080px){ .pv-grid-4-lg { grid-template-columns: repeat(4, 1fr) !important; } }

/* Supporting cards */
.card-lite { padding:14px;border-radius:12px; }
.card-lite__icon { width:40px;height:40px;border-radius:10px;display:grid;place-items:center;
  background: rgba(122,162,255,.12); border:1px solid rgba(122,162,255,.25); color:#7aa2ff; margin-bottom:.5rem; }
.card-lite__icon svg { width:22px;height:22px; }

/* Optional: svg illustration sizing */
.art--notes { filter: drop-shadow(0 6px 18px rgba(0,0,0,.1)); }


/* Stronger accent tokens (safe defaults if not already set) */
:root{
  --pv-accent: #7aa2ff;
  --pv-accent-strong: #3b82f6; /* deeper contrast */
  --pv-accent-strong-2: #2563eb; /* fallback for gradient depth */
  --pv-icon-on: #0b1020; /* text/icon on accent */
}

@media (prefers-color-scheme: dark){
  :root{
    --pv-icon-on: #0b1020; /* keeps icons readable on bright badges */
  }
}

/* ========== BIG FOUR: Icon badge ========== */
.feature-head {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: .35rem;
}

.icon-badge{
  /* “pill” with strong contrast and a soft ring */
  display: inline-grid;
  place-items: center;
  width: 46px; height: 46px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--pv-accent-strong), var(--pv-accent-strong-2));
  border: 1px solid rgba(255,255,255,0.3);
  box-shadow:
    0 6px 18px rgba(0,0,0,.15),
    inset 0 1px 0 rgba(255,255,255,.25);
  color: var(--pv-icon-on);
}

.icon-badge svg{
  width: 28px; height: 28px;
  color: var(--pv-icon-on);
  /* Add a touch of depth so strokes read on bright backgrounds */
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.08));
}

/* If your inline SVG uses fills/strokes with currentColor, this boosts contrast */
.icon-badge svg [fill="currentColor"] { fill: var(--pv-icon-on); }
.icon-badge svg [stroke="currentColor"] { stroke: var(--pv-icon-on); }

/* ========== Supporting cards: icon tile ========== */
.card-lite__icon{
  width: 52px; height: 52px;
  border-radius: 12px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, rgba(122,162,255,.18), rgba(37,99,235,.22));
  border: 1px solid rgba(122,162,255,.45);
  color: var(--pv-accent-strong);
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
  margin-bottom: .55rem;
}

.card-lite__icon svg{ width: 26px; height: 26px; }

/* Ensure high contrast inside the tile as well */
.card-lite__icon svg [fill="currentColor"] { fill: currentColor; }
.card-lite__icon svg [stroke="currentColor"] { stroke: currentColor; }

/* Optional: a subtle hover lift for both big boxes & cards */
.feature-box:hover,
.card-lite:hover{
  transform: translateY(-2px);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}


/* ----- Badge Tokens ----- */
:root{
  --pv-badge-1: #ff8a00; /* orange base */
  --pv-badge-2: #ff5e00; /* deeper orange for gradient */
  --pv-badge-on: #ffffff; /* white icon */
  --pv-badge-ring: rgba(0,0,0,.08); /* subtle outline in light */
}
@media (prefers-color-scheme: dark){
  :root{
    --pv-badge-ring: rgba(255,255,255,.18); /* subtle outline in dark */
  }
}

/* ----- Big Four badges ----- */
.icon-badge{
  display: inline-grid;
  place-items: center;
  width: 48px; height: 48px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--pv-badge-1), var(--pv-badge-2));
  border: 1px solid var(--pv-badge-ring);
  box-shadow: 0 8px 20px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.15);
  color: var(--pv-badge-on);
}

.icon-badge svg{
  width: 30px; height: 30px;
  color: var(--pv-badge-on); /* drives currentColor */
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.12));
}

/* Force white for any paths that rely on currentColor */
.icon-badge svg [fill="currentColor"] { fill: var(--pv-badge-on); }
.icon-badge svg [stroke="currentColor"] { stroke: var(--pv-badge-on); }

/* ----- Supporting card badges (make them match) ----- */
.card-lite__icon{
  width: 52px; height: 52px;
  border-radius: 12px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--pv-badge-1), var(--pv-badge-2));
  border: 1px solid var(--pv-badge-ring);
  box-shadow: 0 8px 20px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.12);
  color: var(--pv-badge-on);
  margin-bottom: .55rem;
}

.card-lite__icon svg{
  width: 28px; height: 28px;
  color: var(--pv-badge-on);
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.12));
}

/* Ensure white strokes/fills where icons use currentColor */
.card-lite__icon svg [fill="currentColor"] { fill: var(--pv-badge-on); }
.card-lite__icon svg [stroke="currentColor"] { stroke: var(--pv-badge-on); }

/* Optional: hover micro-lift for both */
.feature-box:hover .icon-badge,
.card-lite:hover .card-lite__icon{
  transform: translateY(-1px);
  transition: transform .15s ease;
}


/* Grid helpers if needed */
@media (min-width: 880px){ .pv-grid-3 { grid-template-columns: repeat(3, 1fr); } }

/* Status badges and dots */
.status-badge{
  display:inline-block;
  padding:.4rem .6rem;
  border-radius:999px;
  font-weight:700;
  font-size:.9rem;
  border:1px solid var(--pv-divider, rgba(0,0,0,.08));
}
.status-dot{
  width:10px;height:10px;border-radius:50%;
  display:inline-block;margin-right:.5rem;
  border:1px solid var(--pv-divider, rgba(0,0,0,.1));
}
.status-chip{
  display:inline-block;padding:.25rem .5rem;border-radius:999px;font-size:.85rem;
  border:1px solid var(--pv-divider, rgba(0,0,0,.08)); font-weight:600;
}

/* Color states */
.status-ok    { background: rgba(16,185,129,.15); color:#059669; border-color: rgba(16,185,129,.35); }
.status-warn  { background: rgba(245,158,11,.15); color:#b45309; border-color: rgba(245,158,11,.35); }
.status-down  { background: rgba(239,68,68,.15);  color:#b91c1c; border-color: rgba(239,68,68,.35); }

/* Card */
.status-card{ padding:14px;border-radius:14px; }
.status-card__head{ display:flex; align-items:center; }
.status-card__head h2{ margin:0; font-size:1.05rem; }

/* Incidents */
.incident-list{ display:grid; gap:.6rem; margin-top:.6rem; }
.incident{ border:1px solid var(--pv-divider, rgba(0,0,0,.08)); border-radius:12px; padding:.25rem .6rem; background: rgba(255,255,255,.02); }
.incident summary{ cursor:pointer; display:flex; align-items:center; gap:.5rem; list-style:none; }
.incident summary::-webkit-details-marker{ display:none; }

.impact{ width:10px;height:10px;border-radius:50%; display:inline-block; }
.impact-minor{ background:#f59e0b; }   /* amber */
.impact-major{ background:#ef4444; }   /* red */
.impact-critical{ background:#7c3aed; }/* purple */

.timeline{ list-style:none; margin:.5rem 0 0; padding:0; display:grid; gap:.5rem; }
.timeline li{ display:grid; grid-template-columns: 14px 1fr; gap:.5rem; }
.t-dot{ width:8px; height:8px; border-radius:50%; background: var(--pv-footer-accent, #7aa2ff); margin-top:.35rem; }
.t-row time{ display:block; }

/* Small text helpers */
.small{ font-size:.9rem; }


/* ===== Spacing & typography utilities ===== */
:root{
  --pv-space-1: .35rem;
  --pv-space-2: .6rem;
  --pv-space-3: .9rem;
  --pv-space-4: 1.25rem;
  --pv-radius: 14px;
}

.pv-stack > * + * { margin-top: var(--pv-space-2); }
.pv-stack-lg > * + * { margin-top: var(--pv-space-3); }
.pv-stack-xl > * + * { margin-top: var(--pv-space-4); }

.pv-lead { font-size: 1.02rem; line-height: 1.6; }
.pv-muted { color: var(--pv-footer-dim); }

/* ===== Glass containers (consistent padding + corners) ===== */
.glass {
  border-radius: var(--pv-radius);
  padding: var(--pv-space-4);                 /* <- fixes the “no padding” issue */
}

/* Optional variants if you ever need denser blocks */
.glass--tight { padding: var(--pv-space-3); }
.glass--loose { padding: calc(var(--pv-space-4) + .5rem); }

/* ===== Page layout ===== */
.page .pv-wrap { display: grid; gap: var(--pv-space-3); }

/* ===== Overall status header ===== */
.status-header {
  display: grid;
  gap: var(--pv-space-2);
}
@media (min-width: 720px){
  .status-header { grid-template-columns: 1fr auto; align-items: center; }
}
.status-meta {
  display: flex; align-items: center; gap: var(--pv-space-2);
  white-space: nowrap;
}

/* ===== Components grid & cards ===== */
.pv-grid-2, .pv-grid-3, .pv-grid-4-lg { display: grid; gap: var(--pv-space-3); }
.pv-grid-2 { grid-template-columns: 1fr; }
@media (min-width: 680px){ .pv-grid-2 { grid-template-columns: repeat(2, 1fr); } }
.pv-grid-3 { grid-template-columns: 1fr; }
@media (min-width: 880px){ .pv-grid-3 { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1080px){ .pv-grid-4-lg { grid-template-columns: repeat(4, 1fr); } }

.status-card{
  border-radius: var(--pv-radius);
  padding: var(--pv-space-3);                 /* <- adds internal padding per card */
}
.status-card__head{ display:flex; align-items:center; gap: var(--pv-space-2); }
.status-card__head h2{ margin:0; font-size:1.05rem; }
.status-line{ margin-top: var(--pv-space-2); }

/* ===== Badges & dots (kept from prior version) ===== */
.status-badge{
  display:inline-block; padding:.45rem .7rem; border-radius:999px; font-weight:700; font-size:.9rem;
  border:1px solid var(--pv-divider, rgba(0,0,0,.08));
}
.status-dot{
  width:10px;height:10px;border-radius:50%; display:inline-block;
  border:1px solid var(--pv-divider, rgba(0,0,0,.1));
}
.status-chip{
  display:inline-block; padding:.25rem .55rem; border-radius:999px; font-size:.85rem; font-weight:600;
  border:1px solid var(--pv-divider, rgba(0,0,0,.08));
}
.status-ok   { background: rgba(16,185,129,.15); color:#059669; border-color: rgba(16,185,129,.35); }
.status-warn { background: rgba(245,158,11,.15); color:#b45309; border-color: rgba(245,158,11,.35); }
.status-down { background: rgba(239,68,68,.15);  color:#b91c1c; border-color: rgba(239,68,68,.35); }

/* ===== Incidents ===== */
.incident-wrap { display: grid; gap: var(--pv-space-2); }
.incident-list{ display:grid; gap: var(--pv-space-2); margin-top: var(--pv-space-2); }
.incident{
  border:1px solid var(--pv-divider, rgba(0,0,0,.08));
  border-radius: var(--pv-radius);
  background: rgba(255,255,255,.02);
  padding: var(--pv-space-2);                 /* <- incident padding */
}
.incident details{ padding: var(--pv-space-1) var(--pv-space-1) 0; }
.incident summary{
  cursor:pointer; display:flex; align-items:center; gap: var(--pv-space-2); list-style:none;
  padding: var(--pv-space-1); border-radius: 10px;
}
.incident summary::-webkit-details-marker{ display:none; }
.incident summary:hover{ background: rgba(122,162,255,.08); }

.impact{ width:10px;height:10px;border-radius:50%; display:inline-block; flex: 0 0 10px; }
.impact-minor{ background:#f59e0b; }   /* amber */
.impact-major{ background:#ef4444; }   /* red */
.impact-critical{ background:#7c3aed; }/* purple */

.incident__body{ padding: 0 var(--pv-space-1) var(--pv-space-2); }
.timeline{ list-style:none; margin: var(--pv-space-2) 0 0; padding:0; display:grid; gap: var(--pv-space-2); }
.timeline li{ display:grid; grid-template-columns: 14px 1fr; gap: var(--pv-space-2); }
.t-dot{ width:8px; height:8px; border-radius:50%; background: var(--pv-footer-accent, #7aa2ff); margin-top:.35rem; }
.t-row time{ display:block; }

/* ===== CTA footer block ===== */
.status-cta .pv-actions{ display:flex; gap: var(--pv-space-2); align-items:center; justify-content:flex-end; }

/* ===== General readability ===== */
h1, h2, h3 { line-height: 1.25; }
p, li { line-height: 1.6; }





/* ===== Roadmap hero ===== */
.roadmap-hero { display:grid; gap: .9rem; }
@media (min-width: 900px){
  .roadmap-hero { grid-template-columns: 1.2fr .8fr; align-items: center; }
}
.pill-tabs { display:flex; gap:.5rem; flex-wrap:wrap; }
.pill {
  border:1px solid var(--pv-divider, rgba(0,0,0,.08));
  background: rgba(255,255,255,.04);
  color: var(--pv-footer-fg, #e6e6e6);
  padding:.45rem .8rem; border-radius:999px; font-weight:700;
}
.pill.is-active { background: linear-gradient(135deg, #7aa2ff, #9dd0ff); color:#0b1020; }
.pill--ghost { background: transparent; color: var(--pv-footer-dim); }
.pill--ghost.is-active { background: rgba(255,255,255,.08); }

.chip-row { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.6rem; }
.chip {
  border:1px solid var(--pv-divider, rgba(0,0,0,.08));
  padding:.35rem .7rem; border-radius:999px; font-weight:600;
  background: rgba(255,255,255,.03); color: var(--pv-footer-dim);
}
.chip.is-active { background: rgba(255,255,255,.08); color: var(--pv-footer-fg); }

/* ===== Board ===== */
.roadmap-board {
  display:grid; gap: 1rem; margin: .75rem 0;
  grid-template-columns: 1fr;
}
@media (min-width: 980px){ .roadmap-board { grid-template-columns: repeat(3, 1fr); } }

.board-col { padding: 1rem; border-radius: 14px; }
.board-head { display:flex; align-items:center; gap:.55rem; margin-bottom:.6rem; }
.board-head h2 { margin:0; font-size:1.05rem; }
.badge-phase { width:10px; height:10px; border-radius:50%; }
.badge-now  { background:#22c55e; }  /* green */
.badge-next { background:#f59e0b; }  /* amber */
.badge-later{ background:#7c3aed; }  /* purple */

/* ===== Cards ===== */
.road-card {
  background: rgba(255,255,255,.02);
  border:1px solid var(--pv-divider, rgba(0,0,0,.08));
  border-radius: 12px;
  padding:.8rem;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.road-card + .road-card { margin-top:.6rem; }
.road-card:hover { transform: translateY(-2px); border-color: rgba(122,162,255,.45); box-shadow: 0 12px 28px rgba(0,0,0,.08); }

.road-card__head{ display:flex; align-items:flex-start; gap:.6rem; }
.road-card__titles h3 { margin:.1rem 0 .2rem; font-size:1rem; }
.road-card__titles p { margin:0; }

.icon-badge.orange {
  width: 44px; height: 44px; border-radius: 12px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, #ff8a00, #ff5e00);
  color: #fff; border:1px solid rgba(255,255,255,.25);
  box-shadow: 0 8px 20px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.12);
}
.icon-badge.orange svg { width: 26px; height: 26px; color:#fff; }

.meta { display:flex; flex-wrap:wrap; gap:.35rem; margin:.55rem 0 0; padding:0; list-style:none; }
.tag {
  padding:.25rem .5rem; border-radius:999px; font-size:.8rem; font-weight:600;
  border:1px solid var(--pv-divider, rgba(0,0,0,.08));
  background: rgba(255,255,255,.05); color: var(--pv-footer-dim);
}
.tag.done { background: rgba(16,185,129,.15); color:#059669; border-color: rgba(16,185,129,.35); }
.tag.t-eta { background: rgba(122,162,255,.12); color:#5477d6; border-color: rgba(122,162,255,.35); }

.tag.cat-web          { background: rgba(59,130,246,.12); color:#3b82f6; border-color: rgba(59,130,246,.35); }
.tag.cat-api          { background: rgba(234,88,12,.12); color:#ea580c; border-color: rgba(234,88,12,.35); }
.tag.cat-mobile       { background: rgba(236,72,153,.12); color:#db2777; border-color: rgba(236,72,153,.35); }
.tag.cat-integrations { background: rgba(101,163,13,.12); color:#65a30d; border-color: rgba(101,163,13,.35); }
.tag.cat-analytics    { background: rgba(147,51,234,.12); color:#9333ea; border-color: rgba(147,51,234,.35); }
.tag.cat-billing      { background: rgba(245,158,11,.12); color:#b45309; border-color: rgba(245,158,11,.35); }

/* Progress bars */
.progress {
  position: relative; height: 8px; border-radius: 999px; overflow:hidden;
  background: rgba(255,255,255,.06); border:1px solid var(--pv-divider, rgba(0,0,0,.08)); margin-top:.5rem;
}
.progress .bar {
  display:block; height:100%; width:0%;
  background: linear-gradient(90deg, #7aa2ff, #9dd0ff);
  transition: width .8s cubic-bezier(.22,.61,.36,1);
}
.progress.is-complete .bar { background: linear-gradient(90deg, #22c55e, #4ade80); }

/* ===== Milestones ===== */
.milestones { border-radius:14px; padding:1rem; }
.milestone-track {
  display:grid; gap:1rem; margin-top:.6rem;
  grid-template-columns: 1fr;
}
@media (min-width: 900px){ .milestone-track { grid-template-columns: repeat(3, 1fr); } }
.m-stop {
  border:1px dashed rgba(122,162,255,.45);
  border-radius:12px; padding:.75rem;
  background: radial-gradient(500px 140px at 10% 0%, rgba(122,162,255,.08), transparent 60%);
}
.m-stop h4 { margin:.1rem 0 .25rem; }
.m-bar { position:relative; height:8px; border-radius:999px; background: rgba(255,255,255,.06); overflow:hidden; border:1px solid var(--pv-divider, rgba(0,0,0,.08)); margin-top:.4rem; }
.m-bar span { position:absolute; left:0; top:0; bottom:0; width:0%; background: linear-gradient(90deg, #ff8a00, #ff5e00); transition: width .8s cubic-bezier(.22,.61,.36,1); }



/* ===== Help Center: split layout ===== */
.help-split{
  display:grid;
  grid-template-columns: 260px 1fr;
  gap: 14px;
  align-items: start;
  min-height: 60vh;
}
@media (max-width: 900px){
  .help-split{ grid-template-columns: 1fr; }
}

/* Sidebar */
.help-sidebar{
  position: sticky; top: 14px;
  padding: 10px 8px;
  border-radius: 14px;
}
.help-nav{
  display:flex; flex-direction: column; gap: 6px;
}
.help-nav__item{
  display:flex; align-items:center; gap:.55rem;
  padding:.55rem .6rem; border-radius: 10px;
  width:100%; text-align:left; font-weight:600;
  border:1px solid var(--pv-divider, rgba(0,0,0,.08));
  background: rgba(255,255,255,.03);
  color: var(--pv-footer-fg, #e6e6e6);
}
.help-nav__item:hover{ background: rgba(255,255,255,.06); }
.help-nav__item.is-active{
  outline: 2px solid rgba(122,162,255,.35);
  background: rgba(122,162,255,.10);
}
.help-nav__icon{
  width: 34px; height: 34px; border-radius: 8px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, #ff8a00, #ff5e00);
  color:#fff; border:1px solid rgba(255,255,255,.25);
}
.help-nav__icon svg{ width: 20px; height: 20px; color:#fff; }

/* Content pane */
.help-content{
  border-radius: 14px; padding: 14px;
  max-height: calc(100vh - 220px); /* keep on screen */
                   /* scroll right pane only */
  display: grid; gap: 14px;
}

.faq-section h2{ margin: 0 0 .35rem; }

/* Accordions */
.faq summary{
  cursor:pointer; list-style:none;
  padding:.55rem .6rem; border-radius:10px;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary:hover{ background: rgba(255,255,255,.06); }
.faq .faq-body{ padding:.4rem .6rem .6rem; }






/* ===== Status: split layout ===== */
.status-split{
  display:grid;
  grid-template-columns: 300px 1fr;
  gap: 14px;
  align-items: start;
  min-height: 60vh;
}
@media (max-width: 900px){
  .status-split{ grid-template-columns: 1fr; }
}

/* Sidebar */
.status-sidebar{
  position: sticky; top: 14px;
  padding: 8px; border-radius: 14px;
}
.status-nav{
  display:flex; flex-direction: column; gap: 6px;
}
.status-nav__item{
  width:100%; text-align:left;
  display:flex; gap:.6rem; align-items:flex-start;
  padding:.6rem .65rem; border-radius: 12px;
  border:1px solid var(--pv-divider, rgba(0,0,0,.08));
  background: rgba(255,255,255,.03);
  color: var(--pv-footer-fg, #e6e6e6);
  font-weight:600;
}
.status-nav__item:hover{ background: rgba(255,255,255,.06); }
.status-nav__item.is-active{
  outline: 2px solid rgba(122,162,255,.35);
  background: rgba(122,162,255,.10);
}
.status-nav__label small.block{ display:block; line-height:1.3; }

/* Content pane */
.status-content{
  border-radius: 14px; padding: 14px;
  max-height: calc(100vh - 220px);
  overflow: auto;
  display: grid; gap: 14px;
}

/* Status sidebar typography tweaks */
.status-nav__item{
  font-size: 1rem;            /* match body text */
  line-height: 1.5;           /* better readability */
}

.status-nav__label strong{
  font-size: 1rem;            /* keep headings aligned with body */
  line-height: 1.35;
}

.status-nav__label small.block{
  font-size: .95rem;          /* was smaller; make it legible */
  color: var(--pv-footer-dim);
}

/* optional: bump overall sidebar slightly on large screens */
@media (min-width: 1080px){
  .status-nav__item{ font-size: 1.05rem; }
  .status-nav__label small.block{ font-size: 1rem; }
}
/* Reuse existing status styles (dots, chips, incidents, etc.) from earlier:
   .status-dot, .status-badge, .status-chip, .impact*, .incident*, .timeline*, etc.
   The padding/typography fixes we added earlier still apply. */
   
   
/* === Prompt Vault: text colour sanity patch ===================== */
/* 1) Scope footer palette to the footer only (no global override) */

@media (prefers-color-scheme: light){
  .pv-footer{
    --pv-footer-bg: #f6f8ff;
    --pv-footer-fg: #0e1220;
    --pv-footer-dim: #5a6076;
    --pv-divider: rgba(0,0,0,0.08);
  }
}

/* 2) Global readable text: use your main tokens */
body { color: var(--ink) !important; }
h1,h2,h3,h4,h5,h6 { color: var(--ink) !important; }
.muted, .pv-muted, .small, .small.pv-muted { color: var(--muted) !important; }

/* 3) Links use your primary brand colour */
a:not(.btn) { color: var(--primary) !important; }
a:not(.btn):hover { filter: brightness(0.9); }

/* 4) Panels, cards, and common text nodes inherit dark text */
.glass, .panel, .card, .card-lite, .pv-card,
.pv-section, .status-card, .incident, .road-card {
  color: var(--ink) !important;
}
.glass p, .panel p, .card p, .pv-section p,
li, label, summary, details, blockquote,
input[type="text"], input[type="email"], input[type="search"], textarea {
  color: var(--ink) !important;
}
::placeholder { color: color-mix(in srgb, var(--ink) 55%, transparent); opacity: 1; }

/* 5) Sidebars (Help / Status) must not use footer colours */
.help-nav__item, .status-nav__item { color: var(--ink) !important; }
.help-nav__label small, .status-nav__label small { color: var(--muted) !important; }

/* 6) Keep CTAs readable on bright buttons */
.btn-primary, .btn-primaryOrange { color: var(--primary-ink) !important; }



/* === Roadmap: pill & chip contrast fixes ======================= */
.pill{
  background:#fff;                 /* solid token, not translucent */
  color: var(--ink);               /* dark text */
  border:1px solid rgba(0,0,0,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.pill:hover{ border-color: rgba(0,0,0,.28); }

.pill.is-active{
  background: linear-gradient(135deg, #7aa2ff, #9dd0ff);
  color:#0b1020;                   /* dark-on-bright for accessibility */
  border-color: transparent;
}

.pill.is-disabled{
  background:#f2f4f8;              /* light grey, not transparent */
  color:#9aa3b2;
  border-color: rgba(0,0,0,.12);
  opacity: 1;                      /* stop the “ghosted” look */
  pointer-events:none;
}

/* category chips under the pills */
.chip{
  background:#fff;
  color: var(--ink);
  border:1px solid rgba(0,0,0,.18);
}
.chip:hover{ border-color: rgba(0,0,0,.28); }
.chip.is-active{
  background: rgba(122,162,255,.15);
  color:#1e3a8a;
  border-color: rgba(122,162,255,.45);
}


/* Hidden by default; fade in when active */
.pv-enhance{position:fixed;inset:0;z-index:9999;opacity:0;visibility:hidden;transition:opacity .12s ease}
.pv-enhance.active{opacity:1;visibility:visible}
.pv-enhance__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.35);backdrop-filter:blur(2px)}
.pv-enhance__card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(520px,92vw);padding:18px;border-radius:16px;background:#fff;border:1px solid rgba(0,0,0,.08);
  box-shadow:0 18px 50px rgba(0,0,0,.18);text-align:center}
.pv-enhance__spinner{width:36px;height:36px;margin:6px auto 10px;border-radius:50%;
  border:3px solid #e6efff;border-top-color:var(--primary);animation:pvspin 1s linear infinite}
@keyframes pvspin{to{transform:rotate(360deg)}}
.pv-enhance__bar{height:8px;border-radius:999px;background:#f1f5ff;border:1px solid #dbe7ff;overflow:hidden;margin:10px 0}
.pv-enhance__bar span{display:block;height:100%;width:30%;background:linear-gradient(90deg,var(--primary),#7aa2ff);
  animation:pvbar 1.4s ease-in-out infinite}
@keyframes pvbar{0%{transform:translateX(-100%)}50%{transform:translateX(30%)}100%{transform:translateX(200%)}}
.pv-enhance__timer{font-variant-numeric:tabular-nums;font-weight:700;margin-top:6px}






/*============= CSS For the about us page ================*/
/* === About Page Enhancements ======================= */
.about-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  margin-top: 1rem;
}

.about-card {
  background: var(--glass-bg);
  border: var(--glass-br);
  box-shadow: 0 6px 24px rgba(0,0,0,0.08);
  border-radius: 16px;
  padding: 1.2rem 1.4rem;
  backdrop-filter: blur(10px);
  transition: all 0.25s ease;
}

.about-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 32px rgba(0,0,0,0.12);
}

.about-card h3 {
  margin-top: 0;
  font-size: 1.2rem;
  color: var(--ink);
  border-bottom: 2px solid var(--accent);
  display: inline-block;
  padding-bottom: 4px;
}

.about-card p, .about-card li {
  color: #222;
  line-height: 1.6;
  font-size: 0.95rem;
}

.about-intro {
  background: var(--glass-bg);
  border: var(--glass-br);
  border-radius: 18px;
  box-shadow: 0 8px 30px rgba(0,0,0,0.08);
  padding: 2rem;
  margin-bottom: 1rem;
}

.about-intro h1 {
  margin-bottom: .5rem;
  font-size: 2rem;
  color: var(--ink);
}

.about-intro p {
  color: #333;
  max-width: 700px;
}

.about-bullets li {
  list-style: none;
  position: relative;
  padding-left: 1.2rem;
  margin-bottom: .5rem;
}

.about-bullets li::before {
  content: "•";
  color: var(--accent);
  position: absolute;
  left: 0;
  top: 0;
}



/*====================PADDLE OVERLAY======================*/
.page-container {
  max-width: 900px;
  margin: 2em auto;
  text-align: center;
  padding-left: 1em;
  padding-right: 1em;
}

/* Current Prompt Vault documentation */
.pv-docs-page .pv-wrap{ max-width:1240px; gap:22px; }
.pv-docs-hero{ display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,430px); align-items:end; gap:30px; padding:clamp(24px,4vw,42px); border-radius:22px; }
.pv-docs-hero h1{ max-width:760px; margin:5px 0 10px; font-size:clamp(2rem,4vw,3.25rem); line-height:1.04; }
.pv-docs-hero p{ max-width:760px; margin:0; color:#526071; }
.pv-docs-search{ display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:8px; }
.pv-docs-search>span{ grid-column:1/-1; color:var(--muted); font-size:.78rem; font-weight:750; }
.pv-docs-nav-number{ display:grid; width:27px; height:27px; flex:none; place-items:center; color:var(--primary); background:rgba(14,165,233,.1); border-radius:8px; font-size:.68rem; font-weight:800; }
.help-nav__item.is-active .pv-docs-nav-number{ color:#fff; background:rgba(255,255,255,.2); }
.pv-docs-content{
  width:100%;
  min-width:0;
  min-height:660px;
  max-height:none;
  height:auto;
  overflow:visible;
  align-self:start;
}
.pv-docs-content .faq-section>h2{ margin:6px 0 12px; font-size:clamp(1.65rem,3vw,2.25rem); }
.pv-docs-content .faq-section>p,.pv-docs-content .faq-section>ul,.pv-docs-content .faq-section>ol{ color:#526071; line-height:1.7; }
.pv-docs-steps{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:22px 0; }
.pv-docs-steps article{ position:relative; padding:18px; background:rgba(255,255,255,.58); border:1px solid rgba(148,163,184,.18); border-radius:15px; }
.pv-docs-steps article>span{ display:grid; width:30px; height:30px; place-items:center; color:#fff; background:var(--primary); border-radius:9px; font-size:.75rem; font-weight:800; }
.pv-docs-steps h3{ margin:14px 0 7px; font-size:1rem; }
.pv-docs-steps p{ margin:0; color:#64748b; font-size:.84rem; line-height:1.55; }
.pv-docs-note{ margin:22px 0; padding:17px 19px; color:#075985; background:linear-gradient(135deg,rgba(224,242,254,.82),rgba(237,233,254,.7)); border:1px solid rgba(14,165,233,.2); border-radius:14px; }
.pv-docs-note p{ margin:5px 0 0; color:#475569; line-height:1.58; }
.pv-docs-process{ display:grid; gap:0; margin:20px 0 !important; padding:0 !important; list-style:none; counter-reset:docs-step; }
.pv-docs-process li{ display:grid; grid-template-columns:minmax(150px,.38fr) minmax(0,1fr); gap:18px; padding:15px 5px; border-bottom:1px solid rgba(148,163,184,.18); counter-increment:docs-step; }
.pv-docs-process li:last-child{ border-bottom:0; }
.pv-docs-process strong:before{ content:counter(docs-step) ". "; color:var(--primary); }
.pv-docs-process span{ color:#64748b; }
.pv-docs-example{ margin:22px 0; padding:18px; background:rgba(248,250,252,.8); border:1px solid rgba(148,163,184,.2); border-radius:15px; }
.pv-docs-example>strong{ display:block; margin-bottom:10px; }
.pv-docs-example pre{ overflow:auto; margin:0; padding:15px; color:#334155; background:#fff; border-radius:10px; white-space:pre-wrap; line-height:1.55; }
.pv-docs-feature-list,.pv-docs-troubleshooting{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:22px 0; }
.pv-docs-feature-list article,.pv-docs-troubleshooting article{ padding:17px; background:rgba(255,255,255,.55); border:1px solid rgba(148,163,184,.18); border-radius:14px; }
.pv-docs-feature-list h3,.pv-docs-troubleshooting h3{ margin:0 0 6px; font-size:1rem; }
.pv-docs-feature-list p,.pv-docs-troubleshooting p{ margin:0; color:#64748b; font-size:.85rem; line-height:1.55; }
.pv-docs-checklist{ display:grid; gap:11px; padding-left:0 !important; list-style:none; }
.pv-docs-checklist li{ position:relative; padding:12px 14px 12px 42px; background:rgba(255,255,255,.52); border-radius:12px; }
.pv-docs-checklist li:before{ content:"✓"; position:absolute; top:12px; left:15px; color:var(--primary); font-weight:900; }
.pv-docs-plan-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:22px 0; }
.pv-docs-plan-grid article{ padding:17px; background:rgba(255,255,255,.58); border:1px solid rgba(148,163,184,.18); border-radius:14px; }
.pv-docs-plan-grid strong{ display:block; font-size:1rem; }
.pv-docs-plan-grid span{ display:block; margin:4px 0 8px; color:var(--primary); font-size:.78rem; font-weight:800; }
.pv-docs-plan-grid p{ margin:0; color:#64748b; font-size:.84rem; line-height:1.5; }
.pv-docs-support{ display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:24px; padding:20px; background:rgba(224,242,254,.62); border-radius:15px; }
.pv-docs-support h3,.pv-docs-support p{ margin:0; }
.pv-docs-support p{ margin-top:5px; color:#526071; }
.pv-docs-support>div:last-child,.pv-docs-cta>div:last-child{ display:flex; flex-wrap:wrap; gap:8px; }
.pv-docs-cta{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px; border-radius:20px; }
.pv-docs-cta h2{ margin:5px 0 6px; }
.pv-docs-cta p{ margin:0; }
@media (max-width:860px){
  .pv-docs-hero{ grid-template-columns:1fr; }
  .pv-docs-steps{ grid-template-columns:1fr; }
  .pv-docs-plan-grid{ grid-template-columns:1fr; }
}
@media (max-width:620px){
  .pv-docs-feature-list,.pv-docs-troubleshooting{ grid-template-columns:1fr; }
  .pv-docs-process li{ grid-template-columns:1fr; gap:5px; }
  .pv-docs-support,.pv-docs-cta{ align-items:flex-start; flex-direction:column; }
}
.grid {
  display: block;
}
.grid > * {
  padding: 1rem;
}
@media (min-width: 768px) {
  .grid {
    display: grid;
    grid-auto-rows: 1fr;
    grid-template-columns: 1fr 1fr;
  }
}

/* =========================================================
   Prompt Vault 2026 — Intelligent Library design system
   ========================================================= */
:root{
  --bg:#f7f8fc;
  --surface:#ffffff;
  --surface-soft:#f1f4f9;
  --ink:#172033;
  --muted:#667085;
  --primary:#1677ff;
  --primary-strong:#0d5ed7;
  --coral:#ff7a59;
  --lavender:#eee9ff;
  --mint:#dff8ee;
  --coral-soft:#ffe7df;
  --border:#e3e7ef;
  --radius:16px;
  --shadow:0 10px 30px rgba(23,32,51,.07);
  --glass-bg:#fff;
  --glass-br:1px solid var(--border);
}

html{ scroll-behavior:smooth; }
body{
  font-family:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--bg);
  letter-spacing:-.012em;
}
body .bg{
  position:fixed;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 8% 8%,rgba(238,233,255,.75),transparent 28rem),
    radial-gradient(circle at 94% 34%,rgba(255,231,223,.58),transparent 26rem),
    linear-gradient(#f7f8fc,#f7f8fc);
}
body .bg::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:.22;
  background-image:linear-gradient(rgba(22,119,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(22,119,255,.08) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom,#000,transparent 70%);
}

body h1,body h2,body h3,body h4,body strong{ color:var(--ink); letter-spacing:-.035em; }
body p,body li{ line-height:1.65; }
body a{ text-underline-offset:3px; }
.muted{ color:var(--muted) !important; }
.glass,.panel,.card,.pv-card,.pv-section{
  background:var(--surface);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  backdrop-filter:none;
}

body .btn,body button,body input[type="submit"]{
  min-height:44px;
  padding:11px 18px;
  border-radius:11px;
  font-family:inherit;
  font-weight:750;
  letter-spacing:-.015em;
  box-shadow:none;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
}
body .btn:hover,body button:hover,body input[type="submit"]:hover{ transform:translateY(-1px); }
body .btn-primary,body .pv-btn-primary{
  color:#fff !important;
  background:var(--primary) !important;
  border-color:var(--primary) !important;
}
body .btn-primary:hover,body .pv-btn-primary:hover{
  color:#fff !important;
  background:var(--primary-strong) !important;
  border-color:var(--primary-strong) !important;
  box-shadow:0 8px 18px rgba(22,119,255,.22);
}
body .btn-primaryOrange{
  color:#8f321c !important;
  background:var(--coral-soft) !important;
  border-color:#ffcaba !important;
}
body .btn-outline,body .btn-secondary{
  color:var(--ink) !important;
  background:#fff !important;
  border:1px solid var(--border) !important;
}
body input:not([type="checkbox"]):not([type="radio"]),body select,body textarea,
body .pv-input,body .pv-select{
  color:var(--ink);
  background:#fff;
  border:1px solid #d8dee9;
  border-radius:10px;
  box-shadow:0 1px 2px rgba(23,32,51,.03);
}
body input:focus,body select:focus,body textarea:focus{
  border-color:var(--primary);
  outline:3px solid rgba(22,119,255,.12);
}

/* Shared navigation */
.site-header{
  padding:10px 0 !important;
  background:rgba(255,255,255,.92) !important;
  border-bottom:1px solid var(--border);
  box-shadow:0 5px 18px rgba(23,32,51,.04);
  backdrop-filter:blur(14px);
}
.site-header .container{ max-width:1400px; min-height:48px; }
.site-header .brand .logo{ height:36px; }
.site-header .nav{ gap:6px; }
.site-header .nav > a:not(.btn){
  padding:9px 12px;
  color:#536079 !important;
  border-radius:9px;
  font-size:.9rem;
  font-weight:700;
  text-decoration:none;
}
.site-header .nav > a:not(.btn):hover,
.site-header .nav > a[aria-current="page"]:not(.btn){ color:var(--primary) !important; background:#edf5ff; }
.site-header .nav .btn{ min-height:38px; padding:8px 13px; }

/* Marketing home */
.page.home{ padding:clamp(34px,5vw,76px) 0 0; }
.page.home .pv-wrap{ max-width:1280px; }
.hero-grid{
  position:relative;
  overflow:hidden;
  grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);
  min-height:570px;
  padding:clamp(34px,5vw,70px);
  gap:clamp(36px,6vw,84px);
  background:linear-gradient(135deg,#fff 0%,#fff 58%,#f1edff 100%);
  border:1px solid var(--border);
  border-radius:28px;
  box-shadow:0 20px 55px rgba(23,32,51,.09);
}
.hero-grid::before{
  content:"";
  position:absolute;
  right:-95px;
  bottom:-125px;
  width:430px;
  height:430px;
  border:1px solid rgba(22,119,255,.13);
  border-radius:50%;
  box-shadow:0 0 0 70px rgba(22,119,255,.035),0 0 0 140px rgba(22,119,255,.025);
}
.hero-left,.hero-right{ position:relative; z-index:1; }
.hero-eyebrow,.section-kicker{
  margin:0 0 14px;
  color:var(--primary) !important;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.hero-title{ max-width:720px; margin:0; font-size:clamp(3rem,5.6vw,5.65rem); line-height:.98; }
.hero-sub{ max-width:680px; margin:25px 0 0; color:var(--muted); font-size:clamp(1.02rem,1.5vw,1.2rem); }
.hero-cta{ margin-top:30px; gap:10px; }
.hero-benefits{ margin-top:24px; gap:20px; color:#4f5c72; font-size:.87rem; font-weight:650; }
.hero-benefits li::before{ color:var(--primary); }
.hero-right{ display:grid; place-items:center; }
.hero-image{
  width:min(100%,520px);
  height:auto;
  padding:12px;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(255,255,255,.9);
  border-radius:24px;
  box-shadow:0 28px 60px rgba(44,53,83,.18);
  transform:rotate(1.5deg);
}
.home-feature-section{ padding:clamp(70px,9vw,120px) 0 50px; }
.home-section-heading{ max-width:720px; margin:0 auto 42px; text-align:center; }
.home-section-heading h2{ margin:0; font-size:clamp(2.2rem,4vw,3.7rem); line-height:1.06; }
.home-section-heading>p:last-child{ color:var(--muted); font-size:1.05rem; }
.home-features{ gap:16px; }
.feature-card{
  position:relative;
  min-height:235px;
  padding:28px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:0 6px 18px rgba(23,32,51,.045);
}
.feature-card:nth-child(3n+1){ border-top:3px solid var(--primary); }
.feature-card:nth-child(3n+2){ border-top:3px solid #8b78ef; }
.feature-card:nth-child(3n){ border-top:3px solid var(--coral); }
.feature-number{ display:inline-grid; place-items:center; width:38px; height:28px; color:var(--primary); background:#edf5ff; border-radius:8px; font-size:.72rem; font-weight:800; }
.feature-card h2,.feature-card h3{ margin:30px 0 8px; font-size:1.3rem; }
.feature-card p{ margin:0; color:var(--muted); font-size:.94rem; }
.page.home .pricing-grid{
  padding:clamp(30px,4vw,54px);
  background:#fff;
  border-radius:24px;
}
.page.home .pricing-grid>h1,.page.home .pricing-grid>.pricing-heading,.page.home .pricing-grid>.lead{ grid-column:1/-1; text-align:center; }
.page.home .pricing-grid>h1,.page.home .pricing-grid>.pricing-heading{ margin-bottom:4px; font-size:clamp(2rem,3vw,3rem); }
.page.home .pricing-grid>.lead{ max-width:700px; margin:0 auto 25px; color:var(--muted); }
.page.home .pricing-grid .plan{
  padding:24px;
  background:var(--surface-soft);
  border:1px solid transparent;
  border-radius:16px;
}
.page.home .pricing-grid .plan:nth-of-type(3){ background:var(--lavender); }
.page.home .pricing-grid .plan h2{ margin-top:0; }
.page.home .pricing-grid .plan>p{ color:var(--primary); font-size:1.4rem; font-weight:800; }
.pricing-overview-action{ grid-column:1/-1; padding-top:18px; text-align:center; }
.home-cta{
  margin:70px 0 48px;
  padding:clamp(44px,6vw,76px) 25px;
  color:#fff;
  background:#16213a;
  border-radius:26px;
  text-align:center;
}
.home-cta h2,.home-cta h3{ max-width:760px; margin:0 auto 25px; color:#fff; font-size:clamp(2rem,4vw,3.5rem); }
.home-cta .section-kicker{ color:#9bc7ff !important; }
.page.home .home-cta h2,
.page.home .home-cta h3,
.page.home .home-cta p:not(.section-kicker){ color:#fff !important; }

/* Signed-in workspace */
.pv-workspace-page{ padding:34px 0 70px; }
.pv-workspace-wrap{ max-width:1400px; }
.pv-workspace-heading{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:26px; }
.pv-workspace-heading h1{ margin:0; font-size:clamp(2rem,3.5vw,3.4rem); line-height:1.02; }
.pv-workspace-heading p:last-child{ margin:9px 0 0; color:var(--muted); }
.pv-workspace-create{ flex:none; }
.pv-workspace-page .pv-layout{ grid-template-columns:238px minmax(0,1fr); gap:24px; }
.pv-workspace-page .pv-sidebar{ position:sticky; top:88px; }
.pv-workspace-nav{
  display:grid;
  gap:5px;
  margin-bottom:14px;
  padding:9px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:15px;
  box-shadow:0 5px 16px rgba(23,32,51,.04);
}
.pv-workspace-nav a{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:9px 11px;
  color:#59657a !important;
  border-radius:9px;
  font-size:.86rem;
  font-weight:720;
  text-decoration:none;
}
.pv-workspace-nav a span{ width:20px; color:#8792a5; text-align:center; }
.pv-workspace-nav a:hover,.pv-workspace-nav a.is-active{ color:var(--primary) !important; background:#edf5ff; }
.pv-workspace-page .pv-side-card{ margin-bottom:12px; padding:15px; background:#fff; border:1px solid var(--border); box-shadow:none; }
.pv-workspace-page .pv-workspace-user-card{ background:var(--lavender); border-color:#dfd7ff; }
.pv-workspace-page .pv-user-row .avatar{ width:46px; height:46px; flex-basis:46px; border:3px solid #fff; }
.pv-workspace-page .pv-user-meta{ color:#716b85; font-size:.75rem; font-weight:700; }
.pv-workspace-page .pv-user-name{ margin-bottom:2px; font-size:.93rem; }
.pv-workspace-side-action p{ margin:0 0 12px; font-size:.78rem; line-height:1.5; }
.pv-workspace-side-action .btn{ min-height:38px; padding:8px 10px; font-size:.8rem; }
.pv-workspace-stats .pv-stats-list{ grid-template-columns:repeat(3,1fr); gap:5px; }
.pv-workspace-stats .pv-stats-list li{ display:grid; gap:2px; padding:9px 5px; background:var(--surface-soft); border:0; text-align:center; }
.pv-workspace-stats .pv-stats-list li span{ color:var(--muted); font-size:.65rem; }
.pv-workspace-stats .pv-stats-list li strong{ font-family:inherit; font-size:1.05rem; text-align:center; }
.pv-workspace-content-head{ display:flex; justify-content:space-between; margin-bottom:13px; }
.pv-workspace-content-head h2{ margin:0; font-size:1.4rem; }
.pv-workspace-content-head p{ margin:3px 0 0; color:var(--muted); font-size:.8rem; }
.pv-workspace-page .pv-dashboard-search-card{
  padding:16px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:15px;
  box-shadow:0 5px 16px rgba(23,32,51,.04);
}
.pv-workspace-page .pv-dashboard-search-card label>span{ color:#59657a; font-size:.71rem; letter-spacing:.02em; }
.pv-workspace-page .pv-grid .pv-card,
.pv-workspace-page .prompt-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:15px;
  box-shadow:0 5px 15px rgba(23,32,51,.045);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.pv-workspace-page .pv-grid .pv-card:hover,
.pv-workspace-page .prompt-card:hover{ transform:translateY(-3px); border-color:#c5d9f5; box-shadow:0 13px 28px rgba(23,32,51,.08); }

/* Footer */
.pv-footer{
  margin-top:0;
  color:var(--muted);
  background:rgba(255,255,255,.94);
  border-top:1px solid var(--border);
  backdrop-filter:none;
}
.pv-footer h2,.pv-footer h3,.pv-footer strong,
.pv-footer .pv-footer__heading{ color:var(--ink) !important; }
.pv-footer .pv-footer__tagline,
.pv-footer .pv-footer__fineprint{ color:var(--muted) !important; }
.pv-footer a,.pv-footer a:not(.btn){ color:#536079 !important; }
.pv-footer a:hover,.pv-footer a:focus{ color:var(--primary) !important; }
.pv-footer .pv-footer__meta,
.pv-footer .pv-footer__bottom{ border-color:var(--border); }
.pv-footer .pv-footer__logo img{ opacity:1; filter:none; }

@media (max-width:1100px){
  .hero-grid{ min-height:0; grid-template-columns:1.08fr .92fr; }
  .hero-title{ font-size:clamp(2.8rem,5vw,4.4rem); }
  .pv-workspace-page .pv-layout{ grid-template-columns:210px minmax(0,1fr); }
}
@media (max-width:900px){
  .site-header.is-open .nav{ top:68px; border:1px solid var(--border); box-shadow:var(--shadow); }
  .site-header.is-open .nav>a{ width:100%; text-align:center; }
  .hero-grid{ grid-template-columns:1fr; padding:38px 26px; }
  .hero-right{ margin-top:10px; }
  .hero-image{ width:min(100%,440px); transform:none; }
  .pv-workspace-page .pv-layout{ grid-template-columns:1fr; }
  .pv-workspace-page .pv-sidebar{ position:static; }
  .pv-workspace-nav{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pv-workspace-stats .pv-stats-list{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:620px){
  .page.home{ padding-top:18px; }
  .hero-grid{ border-radius:20px; }
  .hero-title{ font-size:clamp(2.55rem,13vw,3.5rem); }
  .hero-cta{ align-items:stretch; flex-direction:column; }
  .hero-cta .btn{ width:100%; }
  .hero-benefits{ align-items:flex-start; flex-direction:column; gap:6px; }
  .home-feature-section{ padding-top:65px; }
  .page.home .pricing-grid{ border-radius:18px; }
  .pv-workspace-heading{ align-items:flex-start; flex-direction:column; }
  .pv-workspace-create{ width:100%; text-align:center; }
  .pv-workspace-nav{ grid-template-columns:1fr; }
}

/* Mobile navigation — clear hamburger and opaque app-style drawer */
@media (max-width:860px){
  .site-header{
    background:#fff !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  .site-header .container{ min-height:52px; }
  .site-header .brand .logo{ height:32px; max-width:190px; }

  .site-header .nav-toggle{
    position:relative;
    z-index:4100;
    display:inline-flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    width:46px;
    height:46px;
    min-height:46px;
    margin-left:auto;
    padding:0;
    color:var(--ink);
    background:#fff;
    border:1px solid var(--border);
    border-radius:12px;
    box-shadow:0 4px 12px rgba(23,32,51,.08);
  }
  .site-header .nav-toggle span,
  .site-header .nav-toggle span + span{
    display:block;
    width:22px;
    height:2px;
    margin:0;
    flex:none;
    background:var(--ink);
    border-radius:999px;
    transform-origin:center;
    transition:transform .22s ease,opacity .16s ease,width .22s ease;
  }
  .site-header.menu-open .nav-toggle{
    position:fixed;
    top:calc(13px + env(safe-area-inset-top));
    right:16px;
    background:#f1f5fb;
  }
  .site-header.menu-open .nav-toggle span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .site-header.menu-open .nav-toggle span:nth-child(2){ width:0; opacity:0; }
  .site-header.menu-open .nav-toggle span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

  .site-header .site-nav{
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:auto !important;
    z-index:4000;
    display:flex !important;
    width:min(88vw,380px) !important;
    max-width:380px !important;
    padding:calc(82px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom)) !important;
    gap:7px !important;
    overflow-y:auto;
    flex-direction:column !important;
    align-items:stretch !important;
    background:#fff !important;
    border:0 !important;
    border-left:1px solid var(--border) !important;
    border-radius:20px 0 0 20px !important;
    box-shadow:-22px 0 55px rgba(23,32,51,.2) !important;
    backdrop-filter:none !important;
    transform:translateX(105%) !important;
    transition:transform .26s cubic-bezier(.22,.8,.25,1) !important;
  }
  .site-header .site-nav::before{
    content:"Navigation";
    position:absolute;
    top:28px;
    left:22px;
    color:var(--ink);
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .site-header.menu-open .site-nav{ transform:translateX(0) !important; }
  .site-header .site-nav > a,
  .site-header .site-nav > a:not(.btn){
    display:flex;
    align-items:center;
    justify-content:flex-start;
    width:100%;
    min-height:48px;
    margin:0 !important;
    padding:12px 14px !important;
    color:#445068 !important;
    background:transparent !important;
    border:1px solid transparent !important;
    border-radius:11px !important;
    font-size:.98rem;
    font-weight:720;
    text-align:left;
    text-decoration:none;
  }
  .site-header .site-nav > a:hover,
  .site-header .site-nav > a[aria-current="page"]{
    color:var(--primary) !important;
    background:#edf5ff !important;
    border-color:#dceaff !important;
  }
  .site-header .site-nav > a.btn{
    color:var(--ink) !important;
    background:#f4f6fa !important;
    border-color:var(--border) !important;
  }
  .site-header .site-nav > a.btn-primary,
  .site-header .site-nav > a.btn-primaryOrange{
    color:#fff !important;
    background:var(--primary) !important;
    border-color:var(--primary) !important;
  }
  .site-header .nav-scrim{
    position:fixed;
    inset:0;
    z-index:3500;
    display:block;
    background:rgba(15,23,42,.52);
    backdrop-filter:blur(3px);
  }
  .site-header .nav-scrim[hidden],
  .site-header:not(.menu-open) .nav-scrim{ display:none !important; }
}
