/* Prima shared component contract: CTA + FAQ + conversion-safe widget behavior */
:root{
  --pt-ui-primary-a:#c91d7e;
  --pt-ui-primary-b:#e12a92;
  --pt-ui-primary-border:#ec45a6;
  --pt-ui-secondary-bg:rgba(214,33,131,.07);
  --pt-ui-secondary-border:rgba(255,112,193,.56);
  --pt-ui-focus:#ff80c8;
  --pt-ui-radius:12px;
  --pt-ui-control-h:54px;
}

/* Shared full-size CTA geometry. Surface-specific aliases prevent calculator/nav collisions. */
html body .pt-btn.pt-btn-primary,
html body .pt-pc-order,
html body .pt-order-btn,
html body .pt-submit,
html body .pt-service-page .pt-btn:not(.secondary),
html body .pt-article-primary,
html body .pt-404-primary{
  position:relative!important;
  display:inline-flex!important;
  min-height:var(--pt-ui-control-h)!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 22px!important;
  border:1px solid var(--pt-ui-primary-border)!important;
  border-radius:var(--pt-ui-radius)!important;
  background:linear-gradient(90deg,var(--pt-ui-primary-a),var(--pt-ui-primary-b))!important;
  color:#fff!important;
  font-family:Rubik,sans-serif!important;
  font-size:15.5px!important;
  font-weight:700!important;
  line-height:1!important;
  text-align:center!important;
  text-decoration:none!important;
  box-shadow:0 13px 30px rgba(214,33,131,.25)!important;
  transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,filter .2s ease,border-color .2s ease!important;
}
html body .pt-btn.pt-btn-secondary,
html body .pt-service-page .pt-btn.secondary,
html body .pt-article-secondary{
  position:relative!important;
  display:inline-flex!important;
  min-height:var(--pt-ui-control-h)!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 22px!important;
  border:1px solid var(--pt-ui-secondary-border)!important;
  border-radius:var(--pt-ui-radius)!important;
  background:var(--pt-ui-secondary-bg)!important;
  color:#fff!important;
  font-family:Rubik,sans-serif!important;
  font-size:15.5px!important;
  font-weight:700!important;
  line-height:1!important;
  text-align:center!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,background .2s ease,border-color .2s ease!important;
}
@media(hover:hover){
  html body .pt-btn.pt-btn-primary:hover,
  html body .pt-pc-order:hover,
  html body .pt-order-btn:hover,
  html body .pt-submit:hover,
  html body .pt-service-page .pt-btn:not(.secondary):hover,
  html body .pt-article-primary:hover,
  html body .pt-404-primary:hover{transform:translateY(-2px)!important;filter:brightness(1.08) saturate(1.05)!important;box-shadow:0 18px 38px rgba(214,33,131,.34)!important}
  html body .pt-btn.pt-btn-secondary:hover,
  html body .pt-service-page .pt-btn.secondary:hover,
  html body .pt-article-secondary:hover{transform:translateY(-2px)!important;border-color:#ff79c2!important;background:rgba(214,33,131,.15)!important;box-shadow:0 14px 30px rgba(120,10,74,.22)!important}
}
html body .pt-btn.pt-btn-primary:active,
html body .pt-pc-order:active,
html body .pt-order-btn:active,
html body .pt-submit:active,
html body .pt-service-page .pt-btn:not(.secondary):active,
html body .pt-article-primary:active,
html body .pt-404-primary:active,
html body .pt-btn.pt-btn-secondary:active,
html body .pt-service-page .pt-btn.secondary:active,
html body .pt-article-secondary:active{transform:translateY(1px) scale(.985)!important}
html body .pt-btn.pt-btn-primary:focus-visible,
html body .pt-pc-order:focus-visible,
html body .pt-order-btn:focus-visible,
html body .pt-submit:focus-visible,
html body .pt-service-page .pt-btn:focus-visible,
html body .pt-article-primary:focus-visible,
html body .pt-article-secondary:focus-visible,
html body .pt-404-primary:focus-visible{outline:2px solid var(--pt-ui-focus)!important;outline-offset:4px!important}

/* Shared FAQ alignment contract: Alpine homepage FAQ + native article details. */
html body #faq [x-data]>header{align-items:center!important}
html body #faq [x-data]>header>div.relative{align-self:center!important;margin-top:0!important;margin-bottom:0!important;color:#ff63b8!important}
html body #faq [x-data]>header>div.relative svg{color:#ff63b8!important;stroke:currentColor!important}
html body .pt-article-faq,
html body .pt-article-cta{max-width:820px;margin-left:auto;margin-right:auto}
html body .pt-article-faq{margin-top:64px;padding:30px;border:1px solid rgba(255,255,255,.10);border-radius:24px;background:linear-gradient(145deg,rgba(30,34,46,.88),rgba(21,27,42,.76));box-shadow:0 24px 64px rgba(0,0,0,.2)}
html body .pt-article-faq h2{margin:0 0 20px;font-family:Montserrat,sans-serif;font-size:28px;line-height:1.15}
html body .pt-article-faq-list{display:grid;gap:10px}
html body .pt-article-faq details{border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.025);transition:border-color .2s ease,background .2s ease}
html body .pt-article-faq details[open]{border-color:rgba(239,77,176,.38);background:rgba(214,33,131,.07)}
html body .pt-article-faq summary,
html body .pt-service-page .pt-faq summary{display:grid!important;min-height:64px;grid-template-columns:minmax(0,1fr) 28px!important;align-items:center!important;gap:14px!important;padding:15px 18px!important;cursor:pointer;color:#fff;font-weight:650;list-style:none!important}
html body .pt-article-faq summary::-webkit-details-marker,
html body .pt-service-page .pt-faq summary::-webkit-details-marker{display:none}
html body .pt-article-faq summary:after,
html body .pt-service-page .pt-faq summary:after{content:"+";position:static!important;inset:auto!important;transform:none!important;display:grid!important;width:28px!important;height:28px!important;place-items:center;align-self:center!important;justify-self:end!important;float:none!important;margin:0!important;color:#ff63b8!important;font-size:24px!important;font-weight:700!important;line-height:28px!important}
html body .pt-article-faq details[open] summary:after,
html body .pt-service-page .pt-faq details[open] summary:after{content:"−"}
html body .pt-article-faq details p{margin:0;padding:0 18px 18px;color:rgba(255,255,255,.72);line-height:1.65}

/* Shared article conversion panel; CTA itself inherits the global primary contract above. */
html body .pt-article-cta{position:relative;overflow:hidden;margin-top:28px;padding:34px;border:1px solid rgba(239,77,176,.42);border-radius:24px;background:radial-gradient(circle at 16% 10%,rgba(214,33,131,.24),transparent 45%),linear-gradient(145deg,rgba(45,20,56,.96),rgba(15,19,31,.97));text-align:center;box-shadow:0 26px 72px rgba(43,7,36,.25)}
html body .pt-article-cta h2{margin:0;font-family:Montserrat,sans-serif;font-size:28px;line-height:1.2}
html body .pt-article-cta p{max-width:610px;margin:12px auto 0;color:rgba(255,255,255,.76);line-height:1.6}
html body .pt-article-actions{display:flex;justify-content:center;margin-top:24px}

/* Keep the legitimate support widget, but never let it cover conversion controls. */
html[data-pt-conversion-visible="true"] .commonninja_component[data-optional-integration="support-chat"]{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

@media(max-width:760px){
  html body .pt-article-faq{margin-top:48px;padding:20px 16px;border-radius:20px}
  html body .pt-article-faq h2,html body .pt-article-cta h2{font-size:23px}
  html body .pt-article-faq summary{min-height:68px;padding:15px 14px;font-size:14px;line-height:1.45}
  html body .pt-article-faq details p{padding:0 14px 15px;font-size:14px}
  html body .pt-article-cta{padding:27px 20px;border-radius:20px}
  html body .pt-article-cta p{font-size:14px}
  html body .pt-article-primary,html body .pt-article-secondary{width:100%!important}
  html body .pt-article-actions{margin-top:22px}
}
@media(prefers-reduced-motion:reduce){
  html body .pt-btn.pt-btn-primary,html body .pt-pc-order,html body .pt-order-btn,html body .pt-submit,html body .pt-service-page .pt-btn,html body .pt-article-primary,html body .pt-article-secondary,html body .pt-404-primary{transition:none!important}
}

/* Figma FAQ contract — node 11:1736 / question nodes 11:1740+ / add icon 12501:27334-35 */
:root{--pt-faq-font:Rubik,sans-serif;--pt-faq-weight:500;--pt-faq-size:clamp(16px,1.4vw,20px);--pt-faq-line:1.6;--pt-faq-icon:#fff;--pt-faq-icon-box:24px;--pt-faq-arm:13.5px;--pt-faq-stroke:1.5px}
html body #faq [x-data]>header h3,
html body .pt-service-page .pt-faq summary,
html body .pt-article-faq summary{font-family:var(--pt-faq-font)!important;font-size:var(--pt-faq-size)!important;font-weight:var(--pt-faq-weight)!important;line-height:var(--pt-faq-line)!important;letter-spacing:0!important}
html body #faq [x-data]>header,
html body .pt-service-page .pt-faq summary,
html body .pt-article-faq summary{box-sizing:border-box!important;min-height:64px!important;padding:16px 18px!important;align-items:center!important}
html body .pt-service-page .pt-faq summary,
html body .pt-article-faq summary{grid-template-columns:minmax(0,1fr) var(--pt-faq-icon-box)!important;gap:14px!important}
html body #faq [x-data]>header,
html body .pt-service-page .pt-faq details,
html body .pt-article-faq details{border-radius:12px!important}
html body .pt-faq-icon{display:block!important;box-sizing:border-box!important;width:var(--pt-faq-icon-box)!important;height:var(--pt-faq-icon-box)!important;flex:0 0 var(--pt-faq-icon-box)!important;background-image:linear-gradient(var(--pt-faq-icon),var(--pt-faq-icon)),linear-gradient(var(--pt-faq-icon),var(--pt-faq-icon))!important;background-position:center,center!important;background-repeat:no-repeat,no-repeat!important;background-size:var(--pt-faq-arm) var(--pt-faq-stroke),var(--pt-faq-stroke) var(--pt-faq-arm)!important;color:var(--pt-faq-icon)!important}
html body .pt-faq-icon svg{display:none!important}
html body .pt-faq-icon.is-open{background-image:linear-gradient(var(--pt-faq-icon),var(--pt-faq-icon))!important;background-position:center!important;background-repeat:no-repeat!important;background-size:var(--pt-faq-arm) var(--pt-faq-stroke)!important}
html body .pt-service-page .pt-faq summary:after,
html body .pt-article-faq summary:after{content:""!important;box-sizing:border-box!important;position:static!important;inset:auto!important;transform:none!important;display:block!important;width:var(--pt-faq-icon-box)!important;height:var(--pt-faq-icon-box)!important;margin:0!important;align-self:center!important;justify-self:end!important;background-image:linear-gradient(var(--pt-faq-icon),var(--pt-faq-icon)),linear-gradient(var(--pt-faq-icon),var(--pt-faq-icon))!important;background-position:center,center!important;background-repeat:no-repeat,no-repeat!important;background-size:var(--pt-faq-arm) var(--pt-faq-stroke),var(--pt-faq-stroke) var(--pt-faq-arm)!important;color:transparent!important;font-size:0!important;line-height:0!important}
html body .pt-service-page .pt-faq details[open] summary:after,
html body .pt-article-faq details[open] summary:after{content:""!important;background-image:linear-gradient(var(--pt-faq-icon),var(--pt-faq-icon))!important;background-position:center!important;background-repeat:no-repeat!important;background-size:var(--pt-faq-arm) var(--pt-faq-stroke)!important}

/* Keep only the original footer separator; remove the adjacent checkout-section duplicate. */
html body #consultation.pt-prem{border-bottom:0!important}

/* Compact product-card composition for tablet and desktop; mobile <=760px stays unchanged. */
@media (min-width:1100px){
html body #platforms.pt-figma-products .pt-f-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important}
html body #platforms.pt-figma-products .pt-f-card{min-height:580px!important;padding:32px!important}
html body #platforms.pt-figma-products .pt-f-card-head{min-height:60px!important;padding-right:118px!important}
html body #platforms.pt-figma-products .pt-f-brand img{max-width:190px!important;height:52px!important}
html body #platforms.pt-figma-products .pt-f-brand span{font-size:22px!important}
html body #platforms.pt-figma-products .pt-f-sub{max-width:440px!important;margin-top:10px!important;font-size:15px!important}
html body #platforms.pt-figma-products .pt-f-metric-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;max-width:none!important;width:100%!important;gap:12px!important;margin-top:20px!important}
html body #platforms.pt-figma-products .pt-f-metric.pt-f-infographic{width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:266/120;padding:18px 20px 16px!important}
html body #platforms.pt-figma-products .pt-f-infographic>img{width:100%!important;height:100%!important;object-fit:contain!important}
html body #platforms.pt-figma-products .pt-f-metric.pt-f-rate{grid-column:1/-1!important;min-height:70px!important;align-items:flex-start!important;padding:2px!important}
html body #platforms.pt-figma-products .pt-f-metric.pt-f-rate strong{font-size:34px!important}
html body #platforms.pt-figma-products .pt-f-list{width:100%!important;margin:16px 0 0!important;gap:9px!important}
html body #platforms.pt-figma-products .pt-f-card-arrow{display:none!important}
html body #platforms.pt-figma-products .pt-f-card .pt-btn{position:static!important;right:auto!important;bottom:auto!important;width:100%!important;min-height:58px!important;margin:20px 0 0!important}
html body #platforms.pt-figma-products .pt-f-deco{right:-8px!important;top:30px!important;width:128px!important;opacity:.82!important}
}
@media (min-width:761px) and (max-width:1099px){
html body #platforms.pt-figma-products .pt-f-card{min-height:0!important}
html body #platforms.pt-figma-products .pt-f-metric-grid{grid-template-columns:266px 266px!important;max-width:544px!important}
html body #platforms.pt-figma-products .pt-f-metric.pt-f-rate{grid-column:1/-1!important;min-height:72px!important;align-items:flex-start!important;padding:4px 2px!important}
html body #platforms.pt-figma-products .pt-f-list{width:100%!important;margin-top:18px!important}
html body #platforms.pt-figma-products .pt-f-card-arrow{display:none!important}
html body #platforms.pt-figma-products .pt-f-card .pt-btn{position:static!important;right:auto!important;bottom:auto!important;width:100%!important;min-height:58px!important;margin:22px 0 0!important}
}

/* Give metric icons intentional breathing room above their labels. */
html body #platforms.pt-figma-products .pt-f-metric.pt-f-infographic{padding-bottom:8px!important}

/* Shared service-hero rhythm plus the Stripchat logo modifier for the shared dashboard contract. */
@media (min-width:1024px){
html body .pt-service-page #about.pt-hero{padding:56px 0 42px!important}
html body .pt-service-page #about .pt-hero-grid{column-gap:42px!important}
html body .pt-service-page #about .pt-hero-copy h1{max-width:570px!important;font-size:clamp(52px,4.7vw,60px)!important;line-height:1.01!important;letter-spacing:-.042em!important}
html body .pt-service-page #about .pt-lead{max-width:560px!important;margin-top:24px!important;font-size:18px!important;line-height:1.55!important}
html body .pt-service-page #about .pt-actions{margin-top:26px!important}
html body .pt-service-page #about .pt-actions .pt-btn{min-height:52px!important;padding:0 22px!important}
html body .pt-service-page #about .pt-trust{display:grid!important;grid-template-columns:repeat(3,max-content)!important;gap:8px!important;margin-top:20px!important}
html body .pt-service-page #about .pt-trust>span{min-height:40px!important;padding:9px 10px!important;gap:7px!important;font-size:12px!important;white-space:nowrap!important}
html body .pt-service-page #about .pt-trust svg{width:16px!important;height:16px!important}
}
html body .pt-service-page .pt-sc-window .pt-sc-window-logo{width:min(260px,72%)!important;height:auto!important;filter:drop-shadow(0 12px 30px rgba(241,91,172,.18))}

/* Keep the shared Stripchat dashboard stages equal across responsive widths. */
html body .pt-service-page .pt-sc-window .pt-path{align-items:stretch!important}
html body .pt-service-page .pt-sc-window .pt-stage{display:flex!important;flex-direction:column!important;justify-content:center!important}
html body .pt-service-page .pt-sc-window .pt-stage>b{white-space:nowrap!important}
html body .pt-service-page .pt-sc-window .pt-arrow{align-self:center!important}

/* Two-column mobile infographic tiles with compact centered content clusters. */
@media(max-width:760px){
html body #platforms.pt-figma-products .pt-f-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;justify-items:stretch!important;align-items:stretch!important;gap:8px!important}
html body #platforms.pt-figma-products .pt-f-metric.pt-f-infographic{box-sizing:border-box!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;aspect-ratio:266/120!important;padding:10px 6.32% 6px!important;justify-content:center!important}
html body #platforms.pt-figma-products .pt-f-infographic>img{width:100%!important;height:100%!important;max-width:none!important;object-fit:contain!important;opacity:0!important}
html body #platforms.pt-figma-products .pt-f-infographic:nth-child(1){background-image:url('/assets/templates/prima/img/figma-metric-chart-mobile.svg?v=20260726r')!important;background-size:100% 100%!important;background-repeat:no-repeat!important;background-position:center!important}
html body #platforms.pt-figma-products .pt-f-infographic:nth-child(2){background-image:url('/assets/templates/prima/img/figma-metric-crown-mobile.svg?v=20260726r')!important;background-size:100% 100%!important;background-repeat:no-repeat!important;background-position:center!important}
html body #platforms.pt-figma-products .pt-f-infographic>strong,html body #platforms.pt-figma-products .pt-f-infographic>span{max-width:50%!important}
html body #platforms.pt-figma-products .pt-f-infographic>strong{font-size:clamp(11px,3.05vw,13px)!important;line-height:1.08!important;white-space:nowrap!important;margin:0 0 3px!important}
html body #platforms.pt-figma-products .pt-f-infographic>span{font-size:clamp(8.5px,2.3vw,10px)!important;line-height:1.18!important;margin:0!important}
html body #platforms.pt-figma-products .pt-f-metric.pt-f-rate{grid-column:1/-1!important}
}

/* 2026-07-27 responsive product-card header and infographic release. */
@media(max-width:760px){
html body #platforms.pt-figma-products .pt-f-card-head{min-height:0!important}
html body #platforms.pt-figma-products .pt-f-brand{display:flex!important;align-items:center!important;gap:clamp(8px,2vw,16px)!important;width:auto!important}
html body #platforms.pt-figma-products .pt-f-brand img{width:clamp(136px,38vw,210px)!important;height:auto!important}
html body #platforms.pt-figma-products .pt-f-brand span{width:auto!important;font-size:clamp(14px,4vw,26px)!important;line-height:1.1!important;white-space:nowrap!important}
html body #platforms.pt-figma-products .pt-f-deco{width:clamp(66px,18.5vw,96px)!important;height:auto!important;right:-16px!important;top:14px!important}
html body #platforms.pt-figma-products .pt-f-sub{max-width:75%!important}
}
@media(max-width:480px){
html body #platforms.pt-figma-products .pt-f-metric.pt-f-infographic{padding-bottom:6px!important;justify-content:flex-end!important}
html body #platforms.pt-figma-products .pt-f-infographic:nth-child(1){background-image:url('/assets/templates/prima/img/figma-metric-chart-phone.svg?v=20260727u')!important}
html body #platforms.pt-figma-products .pt-f-infographic:nth-child(2){background-image:url('/assets/templates/prima/img/figma-metric-crown-phone.svg?v=20260727u')!important}
html body #platforms.pt-figma-products .pt-f-infographic>strong{font-size:clamp(12px,3.3vw,14px)!important;line-height:1.08!important;margin:0 0 3px!important;transform:none!important}
html body #platforms.pt-figma-products .pt-f-infographic>span{font-size:clamp(9px,2.55vw,11px)!important;line-height:1.18!important;margin:0!important;transform:none!important}
}
@media(min-width:481px) and (max-width:760px){
html body #platforms.pt-figma-products .pt-f-metric.pt-f-infographic{justify-content:center!important}
html body #platforms.pt-figma-products .pt-f-infographic:nth-child(1){background-image:url('/assets/templates/prima/img/figma-metric-chart-tablet.svg?v=20260727u')!important}
html body #platforms.pt-figma-products .pt-f-infographic:nth-child(2){background-image:url('/assets/templates/prima/img/figma-metric-crown-tablet.svg?v=20260727u')!important}
html body #platforms.pt-figma-products .pt-f-infographic>strong{font-size:clamp(14px,2.9vw,22px)!important;line-height:1.08!important;margin:0 0 3px!important;transform:translateY(9px)!important}
html body #platforms.pt-figma-products .pt-f-infographic>span{font-size:clamp(11px,2.1vw,16px)!important;line-height:1.18!important;margin:0!important;max-width:40%!important;transform:translateY(9px)!important}
}

/* Shared FAQ vNext: homepage reference shell and unified disclosure states. */
:root{--pt-faq-motion:280ms;--pt-faq-ease:cubic-bezier(.22,.61,.36,1);--pt-faq-border:rgba(255,255,255,.08);--pt-faq-open:#f472b6}
html body #faq [x-data*="isExpanded"],
html body .pt-service-page .pt-faq details,
html body .pt-article-faq details{box-sizing:border-box!important;overflow:hidden!important;border:1px solid var(--pt-faq-border)!important;border-radius:12px!important;background:transparent!important;transition:border-color var(--pt-faq-motion) var(--pt-faq-ease),background-color var(--pt-faq-motion) var(--pt-faq-ease)!important}
html body #faq [x-data*="isExpanded"]:has(.pt-faq-icon.is-open),
html body .pt-service-page .pt-faq details[open],
html body .pt-article-faq details[open]{border-color:var(--pt-faq-open)!important;background:transparent!important}
html body #faq [x-data*="isExpanded"]>header,
html body .pt-service-page .pt-faq summary,
html body .pt-article-faq summary{box-sizing:border-box!important;min-height:64px!important;padding:16px 18px!important}
html body .pt-service-page .pt-faq details>p,
html body .pt-article-faq details>p{margin:0!important;padding:0 18px 18px!important;color:rgba(255,255,255,.76)!important;font-family:Rubik,sans-serif!important;font-size:clamp(14px,3.6vw,16px)!important;line-height:1.5!important}
html body .pt-service-page .pt-faq summary:after,
html body .pt-article-faq summary:after{transition:color var(--pt-faq-motion) ease,transform var(--pt-faq-motion) var(--pt-faq-ease),opacity var(--pt-faq-motion) ease!important}
html body #faq .pt-faq-icon svg{transition-duration:var(--pt-faq-motion)!important;transition-timing-function:var(--pt-faq-ease)!important}
html body .pt-service-page .pt-faq details[data-pt-faq-motion],
html body .pt-article-faq details[data-pt-faq-motion]{will-change:height}
@media(prefers-reduced-motion:reduce){html body #faq [x-data*="isExpanded"],html body .pt-service-page .pt-faq details,html body .pt-article-faq details,html body #faq .pt-faq-icon svg,html body .pt-service-page .pt-faq summary:after,html body .pt-article-faq summary:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
