/* PawFora feature-detail pages — namespaced copy of protos/assets/proto.css.
   Every rule (including the brand tokens) is scoped under .proto-page so it
   cannot affect the live nav/footer even when loaded site-wide from the shared
   layout. Regenerate via protos/port_prototype_to_blade.py. */
/* ==========================================================================
   PawFora feature-detail prototype — shared stylesheet
   Brand tokens mirror home-assets/home.css so the prototype reads like the
   real site. Everything here is namespaced; nothing leaks.
   ========================================================================== */
.proto-page{
  --brand-600:#7c3aed; --brand-700:#6d28d9; --brand-500:#8b5cf6;
  --brand-50:#f5f3ff; --brand-100:#ede9fe; --brand-200:#ddd6fe;
  --accent:#E85D52;
  --ink-900:#14121a; --ink-700:#3a3547; --ink-500:#6b6479; --ink-400:#8f889c;
  --border:#e9e6f2; --border-2:#ded9ec;
  --surface-0:#ffffff; --surface-50:#faf8ff; --surface-100:#f5f2fb;
  --radius-lg:16px; --radius:12px; --radius-sm:9px;
  --shadow-1:0 1px 2px rgba(20,18,26,.05), 0 4px 14px -6px rgba(20,18,26,.10);
  --shadow-2:0 2px 6px rgba(20,18,26,.06), 0 18px 40px -18px rgba(124,58,237,.28);
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
}

.proto-page *{box-sizing:border-box}

.proto-page html{-webkit-text-size-adjust:100%}

.proto-page body{
  margin:0;background:var(--surface-0);color:var(--ink-900);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;
}

.proto-page img{max-width:100%;display:block}

.proto-page a{color:var(--brand-700);text-decoration:none}

.proto-page a:hover{text-decoration:underline}

.proto-page .wrap{max-width:1140px;margin:0 auto;padding:0 24px}

.proto-page .eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-600)}

.proto-page h1, .proto-page h2, .proto-page h3, .proto-page h4{margin:0;line-height:1.2;letter-spacing:-.02em;font-weight:700}

.proto-page h1{font-size:clamp(32px,4.2vw,50px)}

.proto-page h2{font-size:clamp(24px,2.9vw,35px)}

.proto-page h3{font-size:18px}

.proto-page p{margin:0}

.proto-page ul{margin:0;padding:0;list-style:none}


/* ---------- nav ---------- */
.proto-page .nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);
  backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--border)}

.proto-page .nav-in{display:flex;align-items:center;gap:26px;height:66px}

.proto-page .brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:18px;color:var(--ink-900)}

.proto-page .brand:hover{text-decoration:none}

.proto-page .brand-mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(140deg,var(--brand-600),#a78bfa);
  display:grid;place-items:center;color:#fff;font-size:14px;font-weight:800}

.proto-page .nav-links{display:flex;gap:22px;margin-left:12px;font-size:14.5px;color:var(--ink-500);font-weight:500}

.proto-page .nav-links a{color:inherit}

.proto-page .nav-cta{margin-left:auto;display:flex;gap:10px;align-items:center}

.proto-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;
  border-radius:10px;font-size:14.5px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:.16s}

.proto-page .btn:hover{text-decoration:none;transform:translateY(-1px)}

.proto-page .btn-primary{background:var(--brand-600);color:#fff;box-shadow:0 8px 20px -8px rgba(124,58,237,.65)}

.proto-page .btn-primary:hover{background:var(--brand-700)}

.proto-page .btn-ghost{background:var(--surface-0);color:var(--ink-700);border-color:var(--border-2)}

.proto-page .btn-ghost:hover{border-color:var(--brand-200);color:var(--brand-700)}

.proto-page .btn-lg{height:48px;padding:0 24px;font-size:15.5px}

.proto-page .btn-sm{height:34px;padding:0 13px;font-size:13.5px;border-radius:8px}


/* ---------- hero ---------- */
.proto-page .hero{padding:58px 0 44px;background:
   radial-gradient(1100px 420px at 12% -8%,var(--brand-50),transparent 62%),
   radial-gradient(700px 340px at 96% 4%,#fff5f4,transparent 60%);
   border-bottom:1px solid var(--border)}

.proto-page .crumbs{display:flex;gap:8px;align-items:center;justify-content:center;font-size:13px;color:var(--ink-400);margin-bottom:22px}

.proto-page .crumbs a{color:var(--ink-400)}

.proto-page .hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(32px,5vw,64px);align-items:center}

.proto-page .hero-grid>*, .proto-page .depth-grid>*{min-width:0;max-width:100%}

.proto-page .hero h1{margin-bottom:16px}

.proto-page .lead{font-size:18px;color:var(--ink-500);max-width:560px;margin-bottom:26px;line-height:1.65}

.proto-page .bullets{display:flex;flex-direction:column;gap:13px;margin-bottom:30px}

.proto-page .bullets li{display:flex;gap:10px;font-size:15px;color:var(--ink-700);font-weight:500}

.proto-page .tick{flex:none;width:19px;height:19px;margin-top:3px;color:var(--brand-600)}

.proto-page .actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

.proto-page .actions .fine{font-size:13px;color:var(--ink-400)}


/* ---------- stat strip ---------- */
.proto-page .strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px;max-width:560px}

.proto-page .stat{border:1px solid var(--border);border-radius:var(--radius);padding:17px 18px;background:var(--surface-0);box-shadow:var(--shadow-1)}

.proto-page .stat b{display:block;font-size:24px;line-height:1.15;color:var(--brand-700)}

.proto-page .stat span{font-size:13px;color:var(--ink-500);line-height:1.45;display:block;margin-top:5px}


/* ---------- UI mockup system ---------- */
.proto-page .mock{background:var(--surface-0);border:1px solid var(--border-2);border-radius:14px;box-shadow:var(--shadow-2);overflow:hidden;max-width:100%;min-width:0}

.proto-page .mock *{min-width:0}

.proto-page .mock-bar{display:flex;align-items:center;gap:6px;padding:9px 12px;background:var(--surface-100);border-bottom:1px solid var(--border)}

.proto-page .dot{width:9px;height:9px;border-radius:50%;background:#d9d3e8}

.proto-page .dot.r{background:#f5b3ad}
.proto-page .dot.y{background:#f7dfa8}
.proto-page .dot.g{background:#b3e0c4}

.proto-page .mock-url{flex:1;margin-left:8px;font-size:11.5px;color:var(--ink-400);font-family:var(--mono);
  background:var(--surface-0);border:1px solid var(--border);border-radius:6px;padding:2px 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.proto-page .mock-body{padding:20px;font-size:13.5px;line-height:1.55}

.proto-page .mock.wide .mock-body{padding:0}

.proto-page .mock.wide .mock-body>.card, .proto-page .mock.wide .mock-body>.m-sub, .proto-page .mock.wide .mock-body>.kv, .proto-page .mock.wide .mock-body>.pill-row, .proto-page .mock.wide .mock-body>.tl, .proto-page .mock.wide .mock-body>.cal, .proto-page .mock.wide .mock-body>.chart, .proto-page .mock.wide .mock-body>.rcpt{margin:16px 20px}

.proto-page .mock.wide .mock-body>.m-sub:first-child, .proto-page .mock.wide .mock-body>.card:first-child{margin-top:20px}

.proto-page .mock-note{display:flex;align-items:center;gap:8px;padding:11px 16px;background:var(--brand-50);
  border-top:1px solid var(--brand-100);font-size:13px;color:var(--brand-700);font-weight:600}

.proto-page .mock-note svg{width:15px;height:15px;flex:none}

.proto-page .m-sub{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-400);margin-bottom:11px}

.proto-page .m-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px dashed var(--border)}

.proto-page .m-row:last-child{border-bottom:0}

.proto-page .m-row svg{width:22px;height:22px;flex:none}

.proto-page .ava{width:26px;height:26px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700}

.proto-page .grow{flex:1;min-width:0}

.proto-page .mut{color:var(--ink-400);font-size:11.5px}

.proto-page .tag{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:20px;letter-spacing:.02em}

.proto-page .tag-v{background:#fdf0e8;color:#b45309}
.proto-page .tag-b{background:var(--brand-50);color:var(--brand-700)}

.proto-page .tag-g{background:#e8f6ee;color:#15803d}
.proto-page .tag-r{background:#fdeaea;color:#b91c1c}
.proto-page .tag-k{background:#eef2f7;color:#475569}

.proto-page .bar{height:6px;border-radius:20px;background:var(--surface-100);overflow:hidden}

.proto-page .bar i{display:block;height:100%;border-radius:20px;background:var(--brand-500)}

.proto-page .sep{height:1px;background:var(--border);margin:12px 0}


/* calendar columns */
.proto-page .cal{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}

.proto-page .cal-h{font-size:11.5px;font-weight:700;padding:5px 7px;border-radius:7px;color:#fff;display:flex;justify-content:space-between;align-items:center}

.proto-page .cal-c{border:1px solid var(--border);border-radius:9px;padding:7px;margin-top:7px;background:var(--surface-0);font-size:11.5px;line-height:1.35}

.proto-page .cal-c b{display:block;font-size:12px}

.proto-page .cal-c.free{border-style:dashed;background:var(--surface-50);color:var(--ink-400);text-align:center;padding:14px 7px}

.proto-page .cal-time{grid-column:1/-1;font-size:11px;color:var(--ink-400);font-family:var(--mono);padding-top:2px}


/* timeline */
.proto-page .tl{position:relative;padding-left:22px}

.proto-page .tl::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:var(--border)}

.proto-page .tl-i{position:relative;padding:7px 0}

.proto-page .tl-i::before{content:"";position:absolute;left:-20px;top:12px;width:11px;height:11px;border-radius:50%;
  background:var(--surface-0);border:2px solid var(--brand-300,var(--brand-200));box-shadow:0 0 0 3px var(--surface-0)}

.proto-page .tl-i.done::before{background:var(--brand-600);border-color:var(--brand-600)}

.proto-page .tl-i b{font-size:12.5px}

.proto-page .tl-i .t{font-family:var(--mono);font-size:11px;color:var(--ink-400)}


/* key/value table */
.proto-page .kv{display:flex;justify-content:space-between;gap:10px;padding:6px 0;font-size:12.5px;border-bottom:1px dashed var(--border)}

.proto-page .kv:last-child{border-bottom:0}

.proto-page .kv span:first-child{color:var(--ink-500)}

.proto-page .kv span:last-child{font-weight:600}

.proto-page .score{display:inline-flex;gap:2px}

.proto-page .score i{width:6px;height:6px;border-radius:50%;background:var(--brand-200)}

.proto-page .score i.on{background:var(--brand-600)}


/* receipt */
.proto-page .rcpt{font-family:var(--mono);font-size:11.5px;line-height:1.65}

.proto-page .rcpt .tot{border-top:1px dashed #999;margin-top:7px;padding-top:7px;display:flex;justify-content:space-between;font-weight:700}

.proto-page .rcpt .dim{color:var(--ink-400)}


/* stacked list row */
.proto-page .card{border:1px solid var(--border);border-radius:11px;padding:14px 15px;background:var(--surface-0)}

.proto-page .card+.card{margin-top:10px}

.proto-page .pill-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}


/* chart */
.proto-page .chart{display:flex;align-items:flex-end;gap:8px;height:88px;padding-top:6px}

.proto-page .chart div{flex:1;border-radius:5px 5px 0 0;background:linear-gradient(180deg,var(--brand-500),var(--brand-600));position:relative}

.proto-page .chart div.alt{background:linear-gradient(180deg,#f0ab7f,var(--accent))}

.proto-page .chart-x{display:flex;gap:8px;margin-top:6px;font-size:10px;color:var(--ink-400)}

.proto-page .chart-x span{flex:1;text-align:center}


/* photo placeholder / sticker */
.proto-page .ph{border-radius:9px;background:linear-gradient(135deg,var(--brand-100),#ffe8df);display:grid;place-items:center;color:var(--brand-700);font-size:11px;font-weight:700}

.proto-page .ph svg{width:22px;height:22px;opacity:.6}


/* ---------- photo scene (lifestyle photo + UI overlay card) ---------- */
.proto-page .photo-scene{position:relative;border-radius:18px;overflow:hidden;box-shadow:var(--shadow-2);min-width:0}

.proto-page .photo-scene img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}

.proto-page .ps-card{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(255,255,255,.97);
  border-radius:16px;box-shadow:0 10px 32px -10px rgba(20,18,26,.38);padding:17px 19px;font-size:13.5px;line-height:1.55}

.proto-page .ps-card .m-row{padding:9px 0}

.proto-page .ps-chiprow{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}

.proto-page .ps-chip{border:1px solid var(--border);border-radius:10px;padding:9px 11px;text-align:center;background:var(--surface-0)}

.proto-page .ps-chip b{display:block;font-size:12px;color:var(--ink-700);margin-bottom:2px}

.proto-page .ps-chip span{font-size:11px;color:#15803d;font-weight:700}

.proto-page .ps-head{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--ink-900);margin-bottom:11px}

.proto-page .ps-head svg{width:15px;height:15px;color:var(--brand-600)}


/* toggles */
.proto-page .sw{width:30px;height:17px;border-radius:20px;background:#dcd6ea;position:relative;flex:none}

.proto-page .sw.on{background:var(--brand-600)}

.proto-page .sw::after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;transition:.15s}

.proto-page .sw.on::after{left:15px}


/* ---------- sections ---------- */
.proto-page .sec{padding:clamp(56px,7vw,86px) 0}

.proto-page .sec > .wrap > .depth{padding-top:0;padding-bottom:0}

.proto-page .sec.alt{background:var(--surface-50);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}

.proto-page .sec-head{max-width:720px;margin-bottom:44px}

.proto-page .sec-head.center{text-align:center;margin-left:auto;margin-right:auto}

.proto-page .sec-head h2{margin:10px 0 12px}

.proto-page .sec-head p{font-size:17px;color:var(--ink-500)}


/* depth blocks */
.proto-page .depth{padding:clamp(34px,4vw,52px) 0}

.proto-page .depth-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4.5vw,60px);align-items:center}

.proto-page .depth.flip .d-copy{order:2}

.proto-page .depth h3{font-size:clamp(20px,2.2vw,26px);margin:10px 0 12px}

.proto-page .depth .p{font-size:16px;color:var(--ink-500);margin-bottom:18px}

.proto-page .depth .bullets li{font-size:14.5px}

.proto-page .demo-link{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-size:14px;font-weight:600;color:var(--brand-700)}


/* feature grid */
.proto-page .grid{display:grid;gap:16px}

.proto-page .g2{grid-template-columns:repeat(2,1fr)}

.proto-page .g3{grid-template-columns:repeat(3,1fr)}

.proto-page .g4{grid-template-columns:repeat(4,1fr)}

.proto-page .fcard{border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;background:var(--surface-0);box-shadow:var(--shadow-1)}

.proto-page .fcard .ico{width:38px;height:38px;border-radius:11px;background:var(--brand-50);color:var(--brand-600);
  display:grid;place-items:center;margin-bottom:14px}

.proto-page .fcard .ico svg{width:19px;height:19px}

.proto-page .fcard h4{font-size:17px;margin-bottom:8px}

.proto-page .fcard p{font-size:14.5px;color:var(--ink-500);line-height:1.68}


/* comparison */
.proto-page .cmp{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

.proto-page .cmp-col{border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px;background:var(--surface-0)}

.proto-page .cmp-col.us{border:1.5px solid var(--brand-200);background:linear-gradient(180deg,var(--brand-50),#fff 60%);box-shadow:var(--shadow-1)}

.proto-page .cmp-col h4{font-size:17px;margin-bottom:5px}

.proto-page .cmp-col .price{font-size:13.5px;color:var(--ink-400);margin-bottom:17px}

.proto-page .cmp-col.us h4{color:var(--brand-700)}

.proto-page .cmp-col li{display:flex;gap:10px;font-size:14.5px;color:var(--ink-500);line-height:1.62;padding:7px 0}

.proto-page .cmp-col li svg{width:15px;height:15px;flex:none;margin-top:5px;color:#c0b9cf}

.proto-page .cmp-col.us li svg{color:var(--brand-600)}

.proto-page .cmp-foot{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;align-items:center}


/* faq */
.proto-page .faq{max-width:820px;margin:0 auto}

.proto-page .faq details{border-bottom:1px solid var(--border);padding:0}

.proto-page .faq details:first-of-type{border-top:1px solid var(--border)}

.proto-page .faq summary{list-style:none;cursor:pointer;padding:20px 0;font-size:17px;font-weight:600;
  display:flex;justify-content:space-between;gap:16px;align-items:center}

.proto-page .faq summary::-webkit-details-marker{display:none}

.proto-page .faq summary::after{content:"+";font-size:24px;color:var(--brand-600);font-weight:400;line-height:1}

.proto-page .faq details[open] summary::after{transform:rotate(45deg);transition:.2s}

.proto-page .faq .a{font-size:15.5px;color:var(--ink-500);line-height:1.75;padding:0 0 22px;max-width:730px}


/* related */
.proto-page .rel{display:block;border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;background:var(--surface-0);
  transition:.16s;height:100%}

.proto-page .rel:hover{text-decoration:none;transform:translateY(-2px);border-color:var(--brand-200);box-shadow:var(--shadow-1)}

.proto-page .rel .ico{width:32px;height:32px;border-radius:9px;background:var(--brand-50);color:var(--brand-600);display:grid;place-items:center;margin-bottom:11px}

.proto-page .rel .ico svg{width:16px;height:16px}

.proto-page .rel h4{font-size:15px;margin-bottom:5px;color:var(--ink-900)}

.proto-page .rel p{font-size:13.5px;color:var(--ink-500);line-height:1.55}


/* cta band */
.proto-page .band{padding:clamp(52px,6vw,80px) 0;background:
  linear-gradient(120deg,var(--brand-700),var(--brand-600) 55%,#9b6ef3);color:#fff;text-align:center}

.proto-page .band h2{color:#fff;max-width:760px;margin:0 auto 14px}

.proto-page .band p{color:rgba(255,255,255,.86);font-size:17px;max-width:640px;margin:0 auto 26px}

.proto-page .band .btn-light{background:#fff;color:var(--brand-700)}

.proto-page .band .btn-ol{border-color:rgba(255,255,255,.5);color:#fff;background:transparent}

.proto-page .band .fine2{color:rgba(255,255,255,.7);font-size:13.5px;margin-top:16px}


/* footer */
.proto-page .ft{padding:38px 0;border-top:1px solid var(--border);font-size:13.5px;color:var(--ink-400)}

.proto-page .ft-in{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:center}


/* live-site collision resets (home.css leaks onto these class names) */
.proto-page .eyebrow::before{display:none}

.proto-page .mock-body{display:block;min-height:0}

.proto-page .hero{overflow:visible}


/* reveal */
.proto-page .rv{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}

.proto-page .rv.in{opacity:1;transform:none}


@media(max-width:980px){

  .proto-page .hero-grid, .proto-page .depth-grid{grid-template-columns:1fr}

  .proto-page .depth.flip .d-copy{order:0}

  .proto-page .g4, .proto-page .g3, .proto-page .cmp, .proto-page .strip{grid-template-columns:repeat(2,1fr)}

  .proto-page .cal{grid-template-columns:1fr}

  .proto-page .nav-links{display:none}

}

@media(max-width:620px){

  .proto-page .g2, .proto-page .g4, .proto-page .g3, .proto-page .cmp, .proto-page .strip{grid-template-columns:1fr}

  .proto-page h1{font-size:31px}

  .proto-page .wrap{padding:0 18px}

}

