/* Crowdfunding front-end styles. Mobile first, no overlapping layers. */
:root{--ph-accent:#05a36b;--ph-bg:#fbfaf7;--ph-card:#fff;--ph-ink:#1d2321;--ph-mute:#5f6966;--ph-line:#e5e6e1;--ph-soft:#f2f3ef;--ph-r:14px;--ph-max:1180px}
.ph-app *,.ph-app *:before,.ph-app *:after,.ph-top *,.ph-top *:before,.ph-top *:after{box-sizing:border-box}
body.ph-net{background:var(--ph-bg);color:var(--ph-ink)}
.ph-net a{color:inherit}
.ph-net .wp-site-blocks>main,.ph-net main.wp-block-group{margin-top:0!important}
.ph-app{max-width:var(--ph-max);margin:0 auto;padding:20px 18px 96px;font-size:15px;line-height:1.55;display:grid;gap:20px;align-content:start;min-width:0}
.ph-app>*{min-width:0}
.ph-card{background:var(--ph-card);border:1px solid var(--ph-line);border-radius:var(--ph-r);padding:20px;min-width:0}
.ph-narrow{max-width:560px;margin:24px auto;width:100%}
.ph-narrow.ph-wide{max-width:860px}
.ph-center{text-align:center}.ph-center-row{justify-content:center}
.ph-h{font-size:clamp(24px,3.2vw,32px);margin:0;line-height:1.2;letter-spacing:-.015em}
.ph-h2{font-size:22px;margin:0;line-height:1.25;letter-spacing:-.01em}
.ph-h3{font-size:18px;margin:0 0 12px}
.ph-muted{color:var(--ph-mute)}.ph-small{font-size:13px}.ph-mt{margin-top:12px}
.ph-strong{font-weight:700;text-decoration:none}
.ph-link{color:var(--ph-accent)!important;font-weight:600;text-decoration:none;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.ph-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700;color:var(--ph-mute);margin:0 0 8px}
.ph-flash{background:#e7f6ee;border:1px solid #a9dcc0;color:#0b4f33;border-radius:10px;padding:10px 14px;margin:0}
.ph-flash.is-bad{background:#fdecec;border-color:#f5c2c2;color:#7f1d1d}
.ph-flash.is-warn{background:#fff6dd;border-color:#f1d68b;color:#6b4b00}
.ph-inline{display:inline;margin:0}
.ph-row{display:flex;align-items:center;gap:10px}.ph-wrap{flex-wrap:wrap}.ph-between{display:flex;justify-content:space-between;gap:10px;align-items:center}
.ph-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ph-sec{display:grid;gap:14px}
.ph-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ph-hp{position:absolute!important;left:-9999px}
.ph-i{width:20px;height:20px;flex:none}
/* Buttons */
.ph-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border-radius:10px;border:1px solid #c9ccc5;background:#fff;color:var(--ph-ink)!important;font:inherit;font-weight:700;font-size:14px;cursor:pointer;text-decoration:none!important;line-height:1.2;white-space:nowrap;max-width:100%}
.ph-btn:hover{background:var(--ph-soft)}
.ph-btn.is-accent{background:var(--ph-accent);border-color:var(--ph-accent);color:#fff!important}
.ph-btn.is-accent:hover{filter:brightness(.93)}
.ph-btn.is-ghost{background:transparent;border-color:transparent}
.ph-btn.is-ghost:hover{background:var(--ph-soft)}
.ph-btn.is-on{background:#e7f6ee;border-color:#a9dcc0;color:#0b4f33!important}
.ph-btn.is-big{padding:13px 24px;font-size:16px}
.ph-btn.is-block{display:flex;width:100%}
.ph-btn[disabled]{opacity:.6;cursor:default}
/* Forms */
.ph-form{display:grid;gap:14px}
.ph-form label{display:grid;gap:6px;font-weight:600;font-size:14px}
.ph-form input[type=text],.ph-form input[type=email],.ph-form input[type=password],.ph-form input[type=number],.ph-form input[type=url],.ph-form input[type=search],.ph-form input:not([type]),.ph-form select,.ph-form textarea,.ph-filters input,.ph-filters select,.ph-report input{width:100%;padding:10px 12px;border:1px solid #c9ccc5;border-radius:10px;font:inherit;font-weight:400;background:#fff;color:var(--ph-ink);min-width:0}
.ph-form textarea{resize:vertical;min-height:90px}
.ph-form input:focus,.ph-form select:focus,.ph-form textarea:focus,.ph-filters input:focus,.ph-filters select:focus{outline:2px solid var(--ph-accent);outline-offset:1px;border-color:var(--ph-accent)}
.ph-form .ph-check,.ph-check{display:flex!important;align-items:center;gap:8px;font-weight:500}
.ph-check input{width:auto}
.ph-2col{display:grid;gap:14px;grid-template-columns:1fr}
.ph-radio{display:flex;flex-wrap:wrap;gap:10px}
.ph-radio label{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--ph-line);border-radius:10px;padding:10px 12px;flex:1 1 220px;font-weight:500}
.ph-amt{display:flex;align-items:center;border:1px solid #c9ccc5;border-radius:10px;overflow:hidden;background:#fff}
.ph-amt>span{padding:0 10px;color:var(--ph-mute);font-weight:700}
.ph-amt input{border:0!important;border-radius:0!important;outline:0}
.ph-preview{max-width:360px}.ph-preview img,.ph-preview .ph-pimg{width:100%;border-radius:10px;aspect-ratio:16/9;object-fit:cover;display:block}
.ph-edrow{border:1px solid var(--ph-line);border-radius:12px;padding:12px 14px;background:var(--ph-soft)}
.ph-edrow>summary{cursor:pointer;font-weight:700}
.ph-edrow[open]>summary{margin-bottom:12px}
.ph-steps{display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0;counter-reset:s}
.ph-steps li{counter-increment:s;background:var(--ph-soft);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}
.ph-steps li:before{content:counter(s) ". "}
.ph-submit{border-color:var(--ph-accent)}
/* Top bar */
.ph-top{background:#fff;border-bottom:1px solid var(--ph-line);position:sticky;top:0;z-index:40}
.admin-bar .ph-top{top:32px}
@media(max-width:782px){.admin-bar .ph-top{top:0;position:relative}}
.ph-top-in{max-width:var(--ph-max);margin:0 auto;display:flex;align-items:center;gap:14px;padding:10px 18px;min-height:62px}
.ph-brand{display:flex;align-items:center;gap:10px;text-decoration:none!important;font-weight:800;font-size:19px;letter-spacing:-.02em;color:var(--ph-ink)!important;min-width:0;flex:none}
.ph-brand-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}
.ph-mark{display:block;width:34px;height:34px;border-radius:9px;flex:none}
.ph-mark svg{display:block}
.ph-top-l{display:none;gap:4px}
.ph-nav{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;text-decoration:none!important;font-weight:600;color:var(--ph-ink)!important;position:relative;cursor:pointer;list-style:none}
.ph-nav::-webkit-details-marker{display:none}
.ph-nav:hover,.ph-nav.is-on{background:var(--ph-soft)}
.ph-top-s{display:none;align-items:center;gap:6px;background:var(--ph-soft);border-radius:10px;padding:0 10px;flex:1;max-width:340px;margin-left:auto}
.ph-top-s input{border:0;background:transparent;padding:9px 4px;font:inherit;width:100%;min-width:0;outline:0}
.ph-top-r{display:flex;align-items:center;gap:6px;margin-left:auto;flex:none}
.ph-top-s+.ph-top-r{margin-left:0}
.ph-badge{position:absolute;top:2px;right:0;background:#e0412f;color:#fff;border-radius:999px;font-size:11px;font-weight:700;min-width:18px;height:18px;line-height:18px;text-align:center;padding:0 5px}
.ph-badge[hidden]{display:none}
.ph-medrop{position:relative}
.ph-medrop>summary{list-style:none}
.ph-me-n{display:none}
.ph-medrop-p{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--ph-line);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.12);padding:8px;display:grid;min-width:220px;z-index:50}
.ph-medrop-p b{padding:8px 10px;border-bottom:1px solid var(--ph-line);margin-bottom:4px}
.ph-medrop-p a{padding:8px 10px;border-radius:8px;text-decoration:none}
.ph-medrop-p a:hover{background:var(--ph-soft)}
.ph-av{border-radius:50%;object-fit:cover;flex:none;display:inline-block;vertical-align:middle;background:var(--ph-soft)}
.ph-av-xs{width:28px;height:28px}.ph-av-sm{width:36px;height:36px}.ph-av-md{width:44px;height:44px}.ph-av-lg{width:88px;height:88px}
@media(min-width:900px){.ph-top-l{display:flex}.ph-top-s{display:flex}.ph-me-n{display:inline;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
/* Bottom tab bar (phones only) */
.ph-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:45;background:#fff;border-top:1px solid var(--ph-line);display:grid;grid-template-columns:repeat(5,1fr);padding:4px 4px calc(4px + env(safe-area-inset-bottom))}
.ph-tabbar a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:600;color:var(--ph-mute)!important;text-decoration:none;padding:6px 0;position:relative}
.ph-tabbar a.is-on{color:var(--ph-accent)!important}
.ph-tabbar .ph-badge{top:0;right:calc(50% - 22px)}
@media(min-width:900px){.ph-tabbar{display:none}.ph-app{padding-bottom:56px}}
/* Hero, stats, categories */
.ph-hero{text-align:center;padding:36px 12px 8px;display:grid;gap:12px;justify-items:center}
.ph-hero h1{font-size:clamp(30px,5vw,52px);line-height:1.08;letter-spacing:-.03em;margin:0;max-width:820px}
.ph-hero-sub{font-size:18px;color:var(--ph-mute);margin:0;max-width:640px}
.ph-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid var(--ph-line);border-bottom:1px solid var(--ph-line);padding:16px 0;text-align:center}
.ph-stats span{display:grid;font-size:13px;color:var(--ph-mute)}
.ph-stats b{font-size:clamp(20px,3vw,30px);color:var(--ph-ink);letter-spacing:-.02em}
.ph-cats{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:thin}
.ph-cats a{flex:none;padding:7px 14px;border:1px solid var(--ph-line);border-radius:999px;background:#fff;text-decoration:none;font-weight:600;font-size:14px;white-space:nowrap}
.ph-cats a.is-on,.ph-cats a:hover{background:var(--ph-ink);border-color:var(--ph-ink);color:#fff!important}
.ph-feat{display:grid;gap:20px;background:#fff;border:1px solid var(--ph-line);border-radius:var(--ph-r);padding:18px}
.ph-feat-m{display:block}
.ph-feat-m .ph-pimg{border-radius:12px}
.ph-feat-b{display:grid;gap:10px;align-content:center}
.ph-feat-b h2{margin:0;font-size:clamp(22px,3vw,30px);line-height:1.2}
.ph-feat-b h2 a{text-decoration:none}
.ph-feat-b p{margin:0}
@media(min-width:860px){.ph-feat{grid-template-columns:1.4fr 1fr;padding:22px}}
.ph-cta{background:var(--ph-ink);color:#fff;border-radius:var(--ph-r);padding:36px 22px;text-align:center;display:grid;gap:12px;justify-items:center}
.ph-cta h2{margin:0;font-size:clamp(22px,3vw,32px);color:#fff}
.ph-cta p{margin:0;opacity:.85;max-width:560px}
/* Project cards */
.ph-pgrid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.ph-pc{background:#fff;border:1px solid var(--ph-line);border-radius:var(--ph-r);overflow:hidden;display:flex;flex-direction:column;min-width:0}
.ph-pc-m{display:block;position:relative}
.ph-pimg{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--ph-soft)}
.ph-pimg.is-ph{display:flex;align-items:center;justify-content:center;color:#fff;font-size:48px;font-weight:800}
.ph-loved{display:inline-flex;align-items:center;gap:4px;background:#fff;color:var(--ph-ink);border-radius:999px;padding:4px 10px 4px 8px;font-size:12px;font-weight:700;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.ph-pc-m .ph-loved{position:absolute;left:10px;top:10px}
.ph-loved .ph-i{width:14px;height:14px;color:var(--ph-accent);fill:var(--ph-accent)}
.ph-loved.is-inline{box-shadow:none;background:#e7f6ee;color:#0b4f33}
.ph-pc-b{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.ph-pc-b h3{margin:0;font-size:17px;line-height:1.3}
.ph-pc-b h3 a{text-decoration:none}
.ph-pc-b h3 a:hover{text-decoration:underline}
.ph-pc-t{margin:0;color:var(--ph-mute);font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ph-pc-by{margin:0;font-size:13px;color:var(--ph-mute)}
.ph-pc-f{margin:auto 0 0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--ph-mute);padding-top:4px}.ph-pc-f a{text-decoration:none;font-weight:600}.ph-pc-f span{display:inline-flex;align-items:center;gap:3px}.ph-pc-f .ph-i{width:14px;height:14px}
.ph-pc-s{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--ph-mute);flex-wrap:wrap}
.ph-pc-s b{color:var(--ph-ink)}
.ph-bar{height:8px;background:#e6e8e2;border-radius:99px;overflow:hidden}
.ph-bar span{display:block;height:100%;background:var(--ph-accent);border-radius:99px}
.ph-chip{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--ph-soft);font-size:12px;font-weight:700;color:var(--ph-mute);white-space:nowrap}
.ph-chip.is-live,.ph-chip.is-funded,.ph-chip.is-paid{background:#e7f6ee;color:#0b4f33}
.ph-chip.is-pending,.ph-chip.is-authorized,.ph-chip.is-requested,.ph-chip.is-warn{background:#fff6dd;color:#6b4b00}
.ph-chip.is-failed,.ph-chip.is-removed,.ph-chip.is-rejected,.ph-chip.is-refunded,.ph-chip.is-canceled,.ph-chip.is-bad{background:#fdecec;color:#7f1d1d}
.ph-empty{text-align:center;padding:32px 20px}
.ph-pager{display:flex;gap:10px;justify-content:center}
/* Discover */
.ph-filters{display:grid;gap:10px;grid-template-columns:1fr 1fr}
.ph-filters input[type=search]{grid-column:1/-1}
.ph-filters .ph-btn{grid-column:1/-1}
@media(min-width:900px){.ph-filters{display:flex;align-items:center;flex-wrap:wrap}.ph-filters input[type=search]{flex:1 1 240px;width:auto}.ph-filters select{width:auto}}
/* Project page */
.ph-ph{text-align:center;display:grid;gap:8px;padding:8px 0}
.ph-ph h1{margin:0;font-size:clamp(26px,4vw,42px);line-height:1.12;letter-spacing:-.025em}
.ph-ph-t{margin:0 auto;color:var(--ph-mute);font-size:17px;max-width:720px}
.ph-ptop{display:grid;gap:20px}
.ph-pmedia .ph-pimg{border-radius:var(--ph-r)}
.ph-video{position:relative;aspect-ratio:16/9;border-radius:var(--ph-r);overflow:hidden;background:#000}
.ph-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ph-pbox{display:grid;gap:10px;align-content:start}
.ph-pbox p{margin:0}
.ph-big{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.ph-big.is-accent{color:var(--ph-accent)}
.ph-pmeta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14px;color:var(--ph-mute)}
.ph-pmeta a{display:inline-flex;align-items:center;gap:4px;text-decoration:none}
.ph-pmeta .ph-i{width:16px;height:16px}
@media(min-width:900px){.ph-ptop{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}}
.ph-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--ph-line);scrollbar-width:thin}
.ph-tabs a{flex:none;padding:12px 14px;text-decoration:none;font-weight:600;color:var(--ph-mute)!important;border-bottom:3px solid transparent;white-space:nowrap}
.ph-tabs a.is-on{color:var(--ph-ink)!important;border-color:var(--ph-accent)}
.ph-pcols{display:grid;gap:22px}
.ph-pmain{display:grid;gap:18px;align-content:start;min-width:0}
.ph-rws{display:grid;gap:14px;align-content:start;min-width:0}
@media(min-width:900px){.ph-pcols{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}}
.ph-story{font-size:16px;line-height:1.7}
.ph-text p{margin:0 0 .8em}.ph-text p:last-child{margin-bottom:0}
.ph-text{overflow-wrap:anywhere}
.ph-text img{max-width:100%;height:auto}
.ph-rw{border:1px solid var(--ph-line);border-radius:var(--ph-r);padding:16px;background:#fff;display:grid;gap:8px}
.ph-rw:target{border-color:var(--ph-accent);box-shadow:0 0 0 3px rgba(5,163,107,.15)}
.ph-rw h3{margin:0;font-size:17px}
.ph-rw-a{margin:0;font-weight:800;color:var(--ph-accent)}
.ph-rw-m{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;font-size:13px}
.ph-rw-m dt{color:var(--ph-mute)}.ph-rw-m dd{margin:0;font-weight:700}
.ph-stretch{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ph-stretch li{border-left:4px solid var(--ph-line);padding:4px 0 4px 12px}
.ph-stretch li.is-hit{border-color:var(--ph-accent)}
.ph-faq{border-bottom:1px solid var(--ph-line);padding:12px 0}
.ph-faq summary{cursor:pointer;font-weight:700}
.ph-faq .ph-text{margin-top:8px}
.ph-upd{display:grid;gap:8px}
.ph-upd h3{margin:0}
.ph-cmts{display:grid;gap:14px}
.ph-cmt{display:flex;gap:12px;align-items:flex-start}
.ph-cmt-b{flex:1;min-width:0;background:var(--ph-soft);border-radius:12px;padding:10px 14px}
.ph-cmt-h{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin-bottom:4px}
.ph-cform{margin-top:8px}
.ph-report{font-size:13px;color:var(--ph-mute)}
.ph-report summary{cursor:pointer;list-style:none}
.ph-report[open] .ph-form{margin-top:8px;min-width:240px}
details>summary.ph-btn{list-style:none;width:max-content}
details>summary.ph-btn::-webkit-details-marker{display:none}
/* Dashboards */
.ph-dnav{border-bottom:1px solid var(--ph-line)}
.ph-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.ph-kpis>*{background:#fff;border:1px solid var(--ph-line);border-radius:12px;padding:14px;display:grid;gap:2px;font-size:13px;color:var(--ph-mute);min-width:0}
.ph-kpis b{font-size:22px;color:var(--ph-ink);overflow-wrap:anywhere}
@media(min-width:700px){.ph-kpis{grid-template-columns:repeat(4,1fr)}.ph-2col{grid-template-columns:1fr 1fr}}
.ph-table-w{overflow-x:auto;padding:0}
.ph-table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
.ph-table th,.ph-table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--ph-line);vertical-align:top}
.ph-table th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ph-mute);background:var(--ph-soft)}
.ph-pick{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--ph-line);border-radius:12px;text-decoration:none;background:#fff}
.ph-pick:hover{border-color:var(--ph-accent)}
.ph-pick .ph-pimg{width:96px;flex:none;border-radius:8px}
.ph-cgrid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.ph-ccard{display:flex;gap:12px;align-items:center;padding:14px;background:#fff;border:1px solid var(--ph-line);border-radius:12px;text-decoration:none}
.ph-prof{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.ph-note{display:flex;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--ph-line);text-decoration:none}
.ph-note.is-new{background:#f1faf5}
.ph-note-i{width:36px;height:36px;border-radius:50%;background:var(--ph-soft);display:flex;align-items:center;justify-content:center;flex:none}
.ph-grow{flex:1;min-width:0}
/* Toast */
.ph-toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);background:var(--ph-ink);color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;z-index:60;box-shadow:0 8px 24px rgba(0,0,0,.2);transition:opacity .4s;max-width:calc(100vw - 32px)}
.ph-toast.is-out{opacity:0}
@media(min-width:900px){.ph-toast{bottom:24px}}
/* Static pages (how it works, guidelines) */
.ph-net .wp-block-post-content{max-width:820px;margin-left:auto;margin-right:auto;padding-left:18px;padding-right:18px}
.ph-pc-s span{display:grid;gap:0;line-height:1.3}
.ph-stretch h3{font-size:1.02rem;line-height:1.35;margin:4px 0 2px}.ph-stretch .ph-text p{margin:0;color:var(--ph-muted)}
.ph-ad{margin:18px 0;position:relative}.ph-ad img{display:block;width:100%;height:auto;border-radius:14px}.ph-ad-l{display:block;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:#6b7280;margin:0 0 4px}.ph-ad.is-project{margin-top:16px}
.ph-featb{position:absolute;right:10px;top:10px;background:#111827;color:#fff;font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:999px;letter-spacing:.02em}
.ph-boost{margin-top:12px;padding:12px;border:1px dashed var(--ph-accent,#05a36b);border-radius:12px;background:rgba(5,163,107,.05)}.ph-boost p{margin:0 0 8px}
