/* Rich product-page hero showcase. Loaded only by individual paid app pages. */
.product-hero-showcase{position:relative!important;width:100%!important;min-width:0!important;min-height:0!important;aspect-ratio:auto!important;padding:0!important;overflow:visible!important;border:0!important;background:none!important;box-shadow:none!important;transform:none!important}
.product-hero-showcase>*{display:block!important}
.product-hero-showcase:after{content:none!important}
.phs-stage{--phs-deep:#20352b;--phs-accent:#b9573b;--phs-soft:#e6ece8;position:relative;min-width:0;max-width:100%;min-height:500px;padding:22px 26px 26px 8px;isolation:isolate}
.phs-stage:before,.phs-stage:after{content:"";position:absolute;z-index:0;top:78px;width:min(72%,610px);height:344px;border:1px solid rgba(19,39,31,.1);border-radius:21px;background:linear-gradient(var(--phs-deep),var(--phs-deep)) 0 0/100% 42px no-repeat,linear-gradient(90deg,color-mix(in srgb,var(--phs-deep) 94%,black) 0 18%,#f8faf8 18% 100%) 0 42px/100% calc(100% - 42px) no-repeat,repeating-linear-gradient(0deg,transparent 0 26px,rgba(80,105,92,.08) 26px 27px) 23% 88px/67% 220px no-repeat;box-shadow:0 22px 54px rgba(24,43,35,.14);opacity:.92;pointer-events:none}
.phs-stage:before{left:7%;transform:rotate(-7deg);transform-origin:50% 100%}
.phs-stage:after{right:3%;transform:rotate(7deg);transform-origin:50% 100%}
.phs-glow{position:absolute;z-index:-2;inset:7% 2% 2% 8%;border-radius:40px;background:radial-gradient(circle at 68% 34%,color-mix(in srgb,var(--phs-accent) 24%,transparent),transparent 42%),linear-gradient(145deg,color-mix(in srgb,var(--phs-soft) 82%,white),#f7f3e9);filter:saturate(.95)}
.phs-window{position:relative;z-index:2;width:min(82%,680px);margin:36px auto 0;overflow:hidden;border:1px solid rgba(19,39,31,.1);border-radius:22px;background:#fff;box-shadow:0 28px 64px rgba(24,43,35,.2);transform:none}
.phs-titlebar{display:flex!important;align-items:center;gap:10px;padding:11px 14px;background:var(--phs-deep);color:#fff}
.phs-logo{display:grid!important;width:31px;height:31px;flex:0 0 31px;place-items:center;border-radius:8px;background:var(--phs-accent);color:#fff;font-size:.68rem;font-weight:900;letter-spacing:.02em}
.phs-titlebar>div{display:grid;gap:1px;min-width:0}.phs-titlebar strong{font-size:.78rem}.phs-titlebar small{color:rgba(255,255,255,.66);font-size:.54rem;letter-spacing:.04em}.phs-titlebar>i{margin-left:auto;font-style:normal;color:rgba(255,255,255,.68);font-size:.56rem}
.phs-app{display:grid!important;grid-template-columns:102px minmax(0,1fr);min-height:350px;background:#f8faf8}
.phs-sidebar{padding:11px 8px;background:color-mix(in srgb,var(--phs-deep) 95%,black);color:#fff}
.phs-nav{display:flex;align-items:center;gap:6px;margin:2px 0;padding:6px 6px;border-radius:7px;color:rgba(255,255,255,.7);font-size:.55rem;white-space:nowrap}.phs-nav i{width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:rgba(255,255,255,.35)}.phs-nav.is-active{background:rgba(255,255,255,.12);color:#fff}.phs-nav.is-active i{background:var(--phs-accent)}
.phs-main{min-width:0;padding:12px;background:#f8faf8}
.phs-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.phs-toolbar>div{display:grid;gap:2px}.phs-toolbar small{color:#7d8781;font-size:.52rem;text-transform:uppercase;letter-spacing:.08em}.phs-toolbar strong{font-size:.92rem;color:#23352d}.phs-toolbar button{border:0;border-radius:8px;padding:6px 9px;background:var(--phs-accent);color:#fff;font-size:.56rem;font-weight:800}
.phs-kpis{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:7px}.phs-kpi{display:grid;gap:3px;min-width:0;padding:8px;border:1px solid #e5e9e5;border-radius:9px;background:#fff}.phs-kpi small{overflow:hidden;color:#8a928d;font-size:.48rem;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis}.phs-kpi strong{color:#21342b;font-size:.82rem}.phs-kpi span{color:#6d7771;font-size:.48rem}
.phs-panels{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(142px,.65fr);gap:7px}.phs-panel{min-width:0;padding:8px;border:1px solid #e5e9e5;border-radius:10px;background:#fff}.phs-panel>header{display:flex!important;align-items:center;justify-content:space-between;gap:8px;margin-bottom:3px}.phs-panel>header strong{font-size:.62rem;color:#25362e}.phs-panel>header span{color:var(--phs-accent);font-size:.49rem;font-weight:700}
.phs-row{display:grid!important;grid-template-columns:39px minmax(0,1fr) auto;gap:6px;align-items:center;padding:7px 0;border-top:1px solid #eef0ed}.phs-row:first-of-type{border-top:0}.phs-row-key{color:#89928d;font-size:.49rem}.phs-row>div{display:grid;gap:1px;min-width:0}.phs-row strong{overflow:hidden;color:#2b3c34;font-size:.56rem;white-space:nowrap;text-overflow:ellipsis}.phs-row small{overflow:hidden;color:#858d88;font-size:.47rem;white-space:nowrap;text-overflow:ellipsis}.phs-row>b{max-width:70px;color:var(--phs-accent);font-size:.49rem;text-align:right}
.phs-meter{padding:7px 0;border-top:1px solid #eef0ed}.phs-meter:first-of-type{border-top:0}.phs-meter>div{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px}.phs-meter span{color:#737e78;font-size:.49rem}.phs-meter strong{color:#31433a;font-size:.49rem}.phs-meter>i{display:block;height:5px;overflow:hidden;border-radius:999px;background:#edf0ed}.phs-meter>i>b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--phs-accent),color-mix(in srgb,var(--phs-accent) 58%,white))}
.phs-callout{position:absolute;z-index:3;display:flex!important;width:182px;gap:9px;padding:10px 11px;border:1px solid rgba(27,47,39,.09);border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 14px 32px rgba(28,46,39,.14);backdrop-filter:blur(8px)}.phs-callout>span{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;border-radius:7px;background:var(--phs-soft);color:var(--phs-deep);font-size:.54rem;font-weight:900}.phs-callout>div{display:grid;gap:2px}.phs-callout strong{color:#283b32;font-size:.62rem}.phs-callout small{color:#727c76;font-size:.5rem;line-height:1.35}.phs-callout-1{left:0;top:0}.phs-callout-2{right:0;bottom:72px}.phs-callout-3{left:26px;bottom:0}

/* Keep long product names inside their own grid column so the showcase never covers them. */
.product-hero-grid>div:first-child{min-width:0;position:relative;z-index:4}
.product-hero h1{max-width:100%}
html:has(link[rel="canonical"][href*="eventstockroom"]) .product-hero h1,
html:has(link[rel="canonical"][href*="eventhost-crm"]) .product-hero h1{font-size:clamp(3.1rem,5.25vw,5.35rem);letter-spacing:-.055em}
html:has(link[rel="canonical"][href*="clientchair"]) .product-hero h1,
html:has(link[rel="canonical"][href*="draftharbor"]) .product-hero h1{font-size:clamp(3.2rem,5.7vw,5.7rem)}

@media(min-width:1001px) and (max-width:1240px){
  .product-hero-grid{grid-template-columns:minmax(0,.94fr) minmax(480px,1.06fr);gap:44px}
  html:has(link[rel="canonical"][href*="eventstockroom"]) .product-hero h1,
  html:has(link[rel="canonical"][href*="eventhost-crm"]) .product-hero h1{font-size:clamp(3rem,4.7vw,4.7rem)}
}

@media(max-width:1120px){.phs-stage{min-height:480px;padding-right:22px}.phs-window{width:84%}.phs-stage:before,.phs-stage:after{width:70%;height:330px}.phs-callout{width:170px}.phs-callout-2{right:2px}}
@media(max-width:1000px){.phs-stage{width:min(100%,740px);min-height:500px;margin-inline:auto}.phs-window{width:84%}}
@media(max-width:720px){.phs-stage{display:grid;min-height:0;gap:10px;padding:8px 0 0}.phs-stage:before,.phs-stage:after{content:none}.phs-glow{inset:0;border-radius:28px}.phs-window{grid-column:1/-1;width:100%;margin:0;transform:none}.phs-app{grid-template-columns:86px minmax(0,1fr)}.phs-sidebar{padding-inline:6px}.phs-nav{padding:6px 5px;font-size:.52rem}.phs-panels{grid-template-columns:1fr}.phs-panel-side{display:none}.phs-callout{position:static;width:auto;box-shadow:0 9px 22px rgba(28,46,39,.1)}.phs-callout-1,.phs-callout-2,.phs-callout-3{inset:auto}.phs-stage{grid-template-columns:1fr 1fr}.phs-callout-3{grid-column:1/-1}}
@media(max-width:500px){.phs-stage{grid-template-columns:1fr}.phs-callout-3{grid-column:auto}.phs-window{border-radius:18px}.phs-app{grid-template-columns:70px minmax(0,1fr);min-height:330px}.phs-titlebar{padding:10px 11px}.phs-titlebar small{display:none}.phs-sidebar{padding-top:9px}.phs-nav:nth-child(n+6){display:none}.phs-nav{font-size:.48rem;gap:5px}.phs-main{padding:9px}.phs-toolbar strong{font-size:.8rem}.phs-toolbar button{display:none}.phs-kpis{grid-template-columns:1fr 1fr}.phs-kpi:nth-child(3){grid-column:1/-1}.phs-panels{display:block!important}.phs-row{grid-template-columns:36px minmax(0,1fr)}.phs-row>b{grid-column:2;text-align:left}.phs-callout{display:none!important}}

/* Seven server-rendered solo-app product pages: overlay the actual R2-rendered dashboard image while preserving the synthetic preview as a safe fallback until the JPG exists. */
html:has(link[rel="canonical"][href*="/solo-apps/quote-job-invoice/"]){--solo-shot:url('/assets/product-screenshots/quote-job-invoice-dashboard.jpg?v=20260824-real-dashboard');--solo-f4:'Clients';--solo-f5:'Reports';--solo-f6:'Settings'}
html:has(link[rel="canonical"][href*="/solo-apps/follow-up-assistant/"]){--solo-shot:url('/assets/product-screenshots/follow-up-assistant-dashboard.jpg?v=20260824-real-dashboard');--solo-f4:'Follow-ups';--solo-f5:'Reviews';--solo-f6:'Reconnects'}
html:has(link[rel="canonical"][href*="/solo-apps/mini-client-portal/"]){--solo-shot:url('/assets/product-screenshots/mini-client-portal-dashboard.jpg?v=20260824-real-dashboard');--solo-f4:'Projects';--solo-f5:'Client View';--solo-f6:'Exports'}
html:has(link[rel="canonical"][href*="/solo-apps/change-order-manager/"]){--solo-shot:url('/assets/product-screenshots/change-order-manager-dashboard.jpg?v=20260824-real-dashboard');--solo-f4:'Projects';--solo-f5:'Approvals';--solo-f6:'Print'}
html:has(link[rel="canonical"][href*="/solo-apps/business-deadline-tracker/"]){--solo-shot:url('/assets/product-screenshots/business-deadline-tracker-dashboard.jpg?v=20260824-real-dashboard');--solo-f4:'Renewals';--solo-f5:'Insurance';--solo-f6:'Filings'}
html:has(link[rel="canonical"][href*="/solo-apps/job-profit-calculator/"]){--solo-shot:url('/assets/product-screenshots/job-profit-calculator-dashboard.jpg?v=20260824-real-dashboard');--solo-f4:'Costs';--solo-f5:'Time';--solo-f6:'Next Quote'}
html:has(link[rel="canonical"][href*="/solo-apps/saas-renewal-tracker/"]){--solo-shot:url('/assets/product-screenshots/saas-renewal-tracker-dashboard.jpg?v=20260824-real-dashboard');--solo-f4:'Subscriptions';--solo-f5:'Costs';--solo-f6:'Cancel'}
html:has(link[rel="canonical"][href*="/solo-apps/"]) .phs-window:after{content:"";position:absolute;z-index:5;inset:0;background-image:var(--solo-shot);background-position:top center;background-size:cover;background-repeat:no-repeat;pointer-events:none}
html:has(link[rel="canonical"][href*="/solo-apps/"]) .phs-stage:before,
html:has(link[rel="canonical"][href*="/solo-apps/"]) .phs-stage:after,
html:has(link[rel="canonical"][href*="/solo-apps/"]) .product-hero-showcase:before{z-index:4;width:142px;height:auto;padding:10px 12px;border:1px solid rgba(255,255,255,.18);border-radius:11px;background:color-mix(in srgb,var(--phs-deep) 90%,black);box-shadow:0 12px 26px rgba(22,40,32,.18);color:#fff;font-size:.61rem;font-weight:800;line-height:1.2;opacity:1;transform:none;pointer-events:none}
html:has(link[rel="canonical"][href*="/solo-apps/"]) .phs-stage:before{content:var(--solo-f4);left:auto;right:0;top:8px}
html:has(link[rel="canonical"][href*="/solo-apps/"]) .phs-stage:after{content:var(--solo-f5);left:0;right:auto;top:205px}
html:has(link[rel="canonical"][href*="/solo-apps/"]) .product-hero-showcase:before{content:var(--solo-f6);position:absolute;right:0;bottom:16px}
@media(max-width:720px){html:has(link[rel="canonical"][href*="/solo-apps/"]) .phs-stage:before,html:has(link[rel="canonical"][href*="/solo-apps/"]) .phs-stage:after,html:has(link[rel="canonical"][href*="/solo-apps/"]) .product-hero-showcase:before{content:none!important;display:none!important}}
