/* SoftLicenseHub product page — clean storefront (GoSoftware-style clarity) */

body.is-product-page{
  background:#F3F4F6;
}
body.is-product-page .floating-call{display:none}

.pp{
  padding:4px 0 100px;
  color:#111827;
}

.pp-crumbs{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  font-size:.84rem;
  color:#6B7280;
  padding:12px 0 14px;
}
.pp-crumbs a{color:#0F766E;font-weight:600}
.pp-crumbs span:last-child{color:#374151;font-weight:600;max-width:100%}

/* Hero: image | buy box — like a real software store */
.pp-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:32px;
  align-items:start;
  background:#fff;
  border:1px solid #E5E7EB;
  border-radius:10px;
  padding:24px;
  margin-bottom:16px;
}

.pp-media{
  background:#FAFAFA;
  border:1px solid #E5E7EB;
  border-radius:8px;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  align-self:start;
}
.pp-media img{
  width:100%;
  max-width:380px;
  max-height:320px;
  object-fit:contain;
  display:block;
}

.pp-buy{min-width:0}
.pp-buy h1{
  font-family:var(--font-display);
  font-size:clamp(1.35rem,2.2vw,1.85rem);
  line-height:1.25;
  margin:0 0 12px;
  letter-spacing:-.02em;
  color:#111827;
}

.pp-stock{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 10px;
  flex-wrap:wrap;
  color:#6B7280;
  font-size:.9rem;
}
.pp-stock__ok{
  background:#16A34A;
  color:#fff;
  font-weight:700;
  font-size:.78rem;
  padding:4px 10px;
  border-radius:4px;
}

/* Live urgency / FOMO */
.pp-urgency{
  display:grid;
  gap:8px;
  margin:0 0 14px;
  animation:ppUrgencyIn .55s ease both;
}
.pp-urgency__pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-width:100%;
  width:fit-content;
  padding:8px 14px 8px 10px;
  border-radius:999px;
  background:#F3F4F6;
  border:1px solid #E5E7EB;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 6px 16px rgba(15,23,42,.05);
  animation:ppPillGlow 2.8s ease-in-out infinite;
}
.pp-urgency__live{
  position:relative;
  width:12px;height:12px;flex:0 0 auto;
}
.pp-urgency__dot{
  position:absolute;inset:2px;border-radius:50%;background:#059669;
  box-shadow:0 0 0 0 rgba(5,150,105,.55);
  animation:ppLivePulse 1.6s ease-out infinite;
}
.pp-urgency__hot{
  font-size:1rem;line-height:1;
  animation:ppFlame 1.1s ease-in-out infinite;
  transform-origin:50% 80%;
}
.pp-urgency__text{
  font-size:.86rem;color:#4B5563;font-weight:600;line-height:1.25;
  display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;
}
.pp-urgency__text strong{color:#111827;font-weight:800;font-variant-numeric:tabular-nums}
.pp-urgency__sep{opacity:.45;font-weight:700}
.pp-urgency__banner{
  display:flex;align-items:flex-start;gap:8px;
  padding:10px 12px;border-radius:12px;
  background:linear-gradient(135deg,#FFF7ED 0%,#FEF2F2 55%,#FFF1F2 100%);
  border:1px solid #FDBA74;
  overflow:hidden;position:relative;
}
.pp-urgency__banner::before{
  content:"";position:absolute;inset:0 auto 0 -40%;width:35%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  animation:ppShimmer 3.2s ease-in-out infinite;
  pointer-events:none;
}
.pp-urgency__banner-ico{
  flex:0 0 auto;font-size:1rem;line-height:1.3;
  animation:ppZap 1.8s ease-in-out infinite;
}
.pp-urgency__banner-copy{
  position:relative;min-height:2.6em;flex:1;min-width:0;
  font-size:.86rem;font-weight:700;color:#9A3412;line-height:1.35;
}
.pp-urgency__banner-copy > span{
  position:absolute;inset:0;opacity:0;transform:translateY(6px);
  transition:opacity .35s ease,transform .35s ease;pointer-events:none;
}
.pp-urgency__banner-copy > span.is-active{
  opacity:1;transform:none;pointer-events:auto;position:relative;
}
.pp-urgency__meter{padding:2px 2px 0}
.pp-urgency__meter-top{
  display:flex;justify-content:space-between;gap:8px;
  font-size:.72rem;font-weight:700;color:#6B7280;margin-bottom:5px;
  text-transform:uppercase;letter-spacing:.04em;
}
.pp-urgency__meter-top span:last-child{color:#C2410C}
.pp-urgency__track{
  height:7px;border-radius:999px;background:#FEE2E2;overflow:hidden;
  border:1px solid #FECACA;
}
.pp-urgency__fill{
  display:block;height:100%;width:0;border-radius:inherit;
  background:linear-gradient(90deg,#F97316,#EF4444 55%,#DC2626);
  box-shadow:0 0 10px rgba(239,68,68,.35);
  animation:ppHeatFill 1.15s cubic-bezier(.22,1,.36,1) .2s forwards;
}
@keyframes ppUrgencyIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}
@keyframes ppLivePulse{
  0%{box-shadow:0 0 0 0 rgba(5,150,105,.55)}
  70%{box-shadow:0 0 0 8px rgba(5,150,105,0)}
  100%{box-shadow:0 0 0 0 rgba(5,150,105,0)}
}
@keyframes ppFlame{
  0%,100%{transform:scale(1) rotate(-4deg)}
  50%{transform:scale(1.14) rotate(5deg)}
}
@keyframes ppPillGlow{
  0%,100%{box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 6px 16px rgba(15,23,42,.05)}
  50%{box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 8px 20px rgba(5,150,105,.14)}
}
@keyframes ppShimmer{
  0%{transform:translateX(0)}
  100%{transform:translateX(420%)}
}
@keyframes ppZap{
  0%,100%{transform:scale(1)}
  40%{transform:scale(1.18)}
  60%{transform:scale(.96)}
}
@keyframes ppHeatFill{
  from{width:0}
  to{width:var(--heat,78%)}
}
@media (prefers-reduced-motion:reduce){
  .pp-urgency,
  .pp-urgency__pill,
  .pp-urgency__dot,
  .pp-urgency__hot,
  .pp-urgency__banner::before,
  .pp-urgency__banner-ico,
  .pp-urgency__fill{animation:none !important}
  .pp-urgency__fill{width:var(--heat,78%)}
  .pp-urgency__banner-copy > span{position:static;opacity:1;transform:none}
  .pp-urgency__banner-copy > span:not(.is-active){display:none}
}

.pp-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  color:#6B7280;
  font-size:.88rem;
  margin:0 0 14px;
}
.pp-meta strong{color:#111827}
.pp-stars,.pp-review .pp-stars{color:#F59E0B;letter-spacing:1px}
.pp-dot{opacity:.45}
.pp-verified{margin:0 0 10px}

.pp-price{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 12px;
}
.pp-price__now{
  font-family:var(--font-display);
  font-size:2rem;
  font-weight:800;
  color:#111827;
  line-height:1;
}
.pp-price__was{
  color:#9CA3AF;
  text-decoration:line-through;
  font-size:1.05rem;
}
.pp-save{
  background:#ECFDF5;
  color:#047857;
  border:1px solid #A7F3D0;
  font-weight:700;
  font-size:.75rem;
  padding:3px 8px;
  border-radius:4px;
}

.pp-tagline{margin:0 0 8px;font-size:1rem;color:#374151}
.pp-brand{margin:0 0 8px;color:#6B7280;font-size:.9rem}
.pp-brand strong{color:#111827}
.pp-includes{margin:0 0 16px;color:#374151;font-size:.92rem}
.pp-includes span{
  display:inline-block;
  font-size:.7rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#6B7280;
  margin-right:8px;
}

.pp-cart{
  display:grid;
  grid-template-columns:minmax(140px, 156px) minmax(0, 1fr);
  gap:10px;
  align-items:end;
  margin:0 0 8px;
}
.pp-qty__label{
  display:block;
  font-size:.75rem;
  font-weight:700;
  color:#6B7280;
  margin-bottom:6px;
}
.pp-qty__stepper{
  display:inline-flex;
  align-items:stretch;
  border:1px solid #D1D5DB;
  border-radius:8px;
  overflow:hidden;
  background:#fff;
  width:100%;
  height:46px;
}
.pp-qty__btn{
  width:42px;
  border:0;
  background:#F3F4F6;
  color:#111827;
  font-size:1.25rem;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  flex:0 0 42px;
  transition:background .15s ease,color .15s ease;
}
.pp-qty__btn:hover{background:#E5E7EB}
.pp-qty__btn:active{background:#D1D5DB}
.pp-qty__btn:disabled{
  opacity:.4;
  cursor:not-allowed;
}
.pp-qty__input{
  flex:1 1 auto;
  width:auto;
  min-width:48px;
  border:0;
  border-left:1px solid #E5E7EB;
  border-right:1px solid #E5E7EB;
  background:#fff;
  text-align:center;
  font:inherit;
  font-weight:700;
  font-size:1rem;
  color:#111827;
  padding:0 8px;
  -moz-appearance:textfield;
  appearance:textfield;
}
.pp-qty__input::-webkit-outer-spin-button,
.pp-qty__input::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
.pp-qty__input:focus{outline:none;background:#F9FAFB}
.pp-buy-now{margin:0 0 12px}

.pp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:0;
  border-radius:8px;
  padding:13px 16px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:.95rem;
  cursor:pointer;
  text-decoration:none;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.pp-btn--primary{background:#0F766E;color:#fff;width:100%}
.pp-btn--primary:hover{background:#115E59;color:#fff}
.pp-btn--ghost{
  background:#fff;
  color:#0F766E;
  border:1px solid #D1D5DB;
  width:100%;
}
.pp-btn--ghost:hover{border-color:#0F766E;color:#0F766E}
.pp-btn--call{background:#C2410C;color:#fff}
.pp-btn--call:hover{background:#9A3412;color:#fff}
.pp-btn--block{width:100%;margin-top:6px}
.pp-link{color:#0F766E;font-weight:700;font-size:.9rem}

.pp-assures{
  list-style:none;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:0 0 14px;
  padding:0;
}
.pp-assures li{
  font-size:.8rem;
  font-weight:600;
  color:#374151;
  background:#F9FAFB;
  border:1px solid #E5E7EB;
  border-radius:6px;
  padding:8px 10px;
  text-align:center;
}

.pp-help{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  background:#FFFBEB;
  border:1px solid #FDE68A;
  border-radius:8px;
  padding:12px 14px;
}
.pp-help strong{
  display:block;
  font-family:var(--font-display);
  color:#92400E;
  margin-bottom:2px;
  font-size:.95rem;
}
.pp-help p{margin:0;color:#92400E;font-size:.85rem}
.pp-help__actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

.pp-trust{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  background:#fff;
  border:1px solid #E5E7EB;
  border-radius:10px;
  overflow:hidden;
  margin:0 0 20px;
}
.pp-trust > div{
  padding:14px 12px;
  text-align:center;
  border-right:1px solid #E5E7EB;
}
.pp-trust > div:last-child{border-right:0}
.pp-trust strong{
  display:block;
  font-family:var(--font-display);
  font-size:.88rem;
  color:#111827;
  margin-bottom:2px;
}
.pp-trust span{font-size:.78rem;color:#6B7280}

.pp-lower{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(260px,.7fr);
  gap:18px;
  align-items:start;
  margin-bottom:28px;
}

.pp-tabs{
  background:#fff;
  border:1px solid #E5E7EB;
  border-radius:10px;
  overflow:hidden;
}
.pp-tabs__nav{
  display:flex;
  gap:0;
  overflow:auto;
  border-bottom:1px solid #E5E7EB;
  background:#F9FAFB;
  -webkit-overflow-scrolling:touch;
}
.pp-tabs__nav button{
  flex:0 0 auto;
  border:0;
  background:transparent;
  padding:13px 16px;
  font:inherit;
  font-weight:700;
  color:#6B7280;
  cursor:pointer;
  border-bottom:2px solid transparent;
  white-space:nowrap;
}
.pp-tabs__nav button.is-active{
  color:#0F766E;
  border-bottom-color:#0F766E;
  background:#fff;
}
.pp-panel{display:none;padding:20px 22px}
.pp-panel.is-active{display:block}
.pp-panel[hidden]{display:none !important}
.pp-panel h2,
.pp-reviews h2,
.pp-related h2{
  font-family:var(--font-display);
  font-size:1.15rem;
  margin:0 0 12px;
  color:#111827;
}
.pp-prose{color:#374151;line-height:1.7;font-size:.96rem}
.pp-prose p{margin:0 0 14px}
.pp-legal{margin:6px 0 0;color:#9CA3AF;font-size:.84rem}

.pp-checks{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pp-checks li{
  padding:10px 12px 10px 34px;
  position:relative;
  border:1px solid #E5E7EB;
  border-radius:8px;
  background:#fff;
  font-weight:600;
  color:#374151;
}
.pp-checks li::before{
  content:"✓";
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  color:#16A34A;
  font-weight:800;
}

.pp-specs{width:100%;border-collapse:collapse}
.pp-specs th,
.pp-specs td{
  text-align:left;
  padding:11px 8px;
  border-bottom:1px solid #E5E7EB;
  vertical-align:top;
  font-size:.92rem;
}
.pp-specs th{width:34%;color:#111827;font-weight:700}
.pp-specs td{color:#4B5563}

.pp-faq details{
  border:1px solid #E5E7EB;
  border-radius:8px;
  padding:0 14px;
  margin-bottom:8px;
  background:#fff;
}
.pp-faq summary{
  cursor:pointer;
  font-weight:700;
  padding:12px 0;
  list-style:none;
  color:#111827;
}
.pp-faq summary::-webkit-details-marker{display:none}
.pp-faq p{margin:0 0 12px;color:#4B5563;line-height:1.6}

.pp-reviews{
  margin-top:16px;
  background:#fff;
  border:1px solid #E5E7EB;
  border-radius:10px;
  padding:20px 22px;
}
.pp-reviews__avg{margin:-4px 0 12px;color:#6B7280;font-size:.9rem}
.pp-review-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.pp-review{
  border:1px solid #E5E7EB;
  border-radius:8px;
  padding:12px;
  background:#F9FAFB;
}
.pp-review__top{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.pp-avatar{
  width:36px;
  height:36px;
  border-radius:50%;
  background:linear-gradient(145deg,#0F766E,#134E4A);
  color:#fff !important;
  display:inline-grid;
  place-items:center;
  font-weight:800;
  font-family:var(--font-display);
  font-size:.9rem;
  line-height:1;
  flex:0 0 auto;
  overflow:hidden;
}
.pp-review__top > div{min-width:0}
.pp-review__top > div strong{display:block;font-size:.88rem;line-height:1.25;color:#111827}
.pp-review__top > div span{display:block;font-size:.75rem;color:#6B7280;line-height:1.3}
.pp-review p{margin:6px 0 0;color:#374151;font-size:.88rem;line-height:1.5}

.pp-side{position:sticky;top:96px}
.pp-callback{
  background:#fff;
  border:1px solid #E5E7EB;
  border-radius:10px;
  padding:18px;
}
.pp-callback h3{
  font-family:var(--font-display);
  margin:0 0 6px;
  font-size:1.05rem;
}
.pp-callback > p{margin:0 0 12px;color:#6B7280;font-size:.88rem}
.pp-callback label{
  display:block;
  margin:8px 0 4px;
  font-size:.8rem;
  font-weight:700;
  color:#374151;
}
.pp-callback input,
.pp-callback select,
.pp-callback textarea{
  width:100%;
  padding:10px 12px;
  border:1px solid #D1D5DB;
  border-radius:8px;
  background:#fff;
  font:inherit;
}
.pp-callback textarea{min-height:72px;resize:vertical}
.pp-callback__phone{
  margin:12px 0 0;
  text-align:center;
  color:#6B7280;
  font-size:.88rem;
}
.pp-callback__phone a{color:#0F766E;font-weight:800}

.pp-related{padding:4px 0 16px}
.pp-related__head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:end;
  margin-bottom:12px;
  flex-wrap:wrap;
}
.pp-related__head a{font-weight:700;color:#0F766E}

/* Mobile sticky buy/call bar */
.pp-sticky{
  display:none;
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:60;
  background:#fff;
  border-top:1px solid #E5E7EB;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  box-shadow:0 -6px 20px rgba(15,23,42,.08);
  gap:8px;
  align-items:center;
}
.pp-sticky__price{min-width:0;flex:0 1 auto;max-width:34%}
.pp-sticky__price strong{
  display:block;
  font-family:var(--font-display);
  font-size:1.05rem;
  line-height:1.1;
}
.pp-sticky__price span{font-size:.7rem;color:#6B7280}
.pp-sticky__fomo{color:#C2410C !important;font-weight:700}
.pp-sticky__actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  flex:1 1 auto;
  min-width:0;
}
.pp-sticky__actions form{margin:0;display:flex;min-width:0}
.pp-sticky__actions .pp-btn{
  width:100%;
  justify-content:center;
  padding:11px 8px;
  font-size:.84rem;
  white-space:nowrap;
}

@media (max-width:980px){
  .pp-hero{
    grid-template-columns:1fr;
    gap:16px;
    padding:16px;
  }
  .pp-media{
    min-height:240px;
    padding:12px;
    position:static;
  }
  .pp-media img{max-height:260px}
  .pp-lower{grid-template-columns:1fr}
  .pp-side{position:static}
  .pp-trust{grid-template-columns:1fr 1fr}
  .pp-trust > div:nth-child(2){border-right:0}
  .pp-trust > div:nth-child(1),
  .pp-trust > div:nth-child(2){border-bottom:1px solid #E5E7EB}
  .pp-review-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:640px){
  .pp{padding:0 0 92px}
  .pp-crumbs{padding:8px 0 10px;font-size:.8rem}
  .pp-hero{
    padding:0;
    border:0;
    background:transparent;
    border-radius:0;
    margin-bottom:12px;
    gap:12px;
  }
  .pp-media{
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:10px;
    padding:14px;
    min-height:0;
  }
  .pp-media img{max-height:220px}
  .pp-buy{
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:10px;
    padding:14px;
  }
  .pp-buy h1{font-size:1.28rem;scroll-margin-top:72px}
  .pp-price__now{font-size:1.7rem}
  .pp-cart{grid-template-columns:minmax(140px, 160px) minmax(0, 1fr)}
  .pp-qty__stepper{width:100%}
  .pp-assures{grid-template-columns:1fr 1fr}
  .pp-trust{grid-template-columns:1fr 1fr;margin-bottom:14px}
  .pp-review-grid{grid-template-columns:1fr}
  .pp-help{padding:10px 12px}
  .pp-help__actions{width:100%}
  .pp-help__actions .pp-btn{flex:1;justify-content:center}
  .pp-panel{padding:14px}
  .pp-tabs{border-radius:10px}
  .pp-tabs__nav button{padding:11px 12px;font-size:.84rem}
  .pp-sticky{display:flex}
  .pp-related .product-grid{grid-template-columns:1fr 1fr;gap:10px}
  .pp-callback{padding:14px}
}
