/*
Theme Name: WP-Translator
Theme URI: https://wp-translator.com
Author: WP-Translator
Description: Custom theme for the WP-Translator marketing and sales site.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: wp-translator
*/

/* ---------- Smooth cross-page navigation (progressive enhancement) ---------- */
@view-transition{ navigation: auto; }

@keyframes wpt-page-out{ from{ opacity:1; transform:translateY(0); } to{ opacity:0; transform:translateY(-10px); } }
@keyframes wpt-page-in{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:translateY(0); } }
::view-transition-old(root){ animation:.28s cubic-bezier(.4,0,.2,1) both wpt-page-out; }
::view-transition-new(root){ animation:.32s cubic-bezier(.4,0,.2,1) .05s both wpt-page-in; }
::view-transition-group(wpt-nav-pill){ animation-duration:.4s; animation-timing-function:cubic-bezier(.34,1.56,.64,1); }

/* ---------- Reset & base ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ max-width:100%; overflow-x:hidden; }
body{
  margin:0;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#1d1e26;
  background:#fff;
  font-size:16px;
  line-height:1.6;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
.site-main{ flex:1 0 auto; }
.wpt-footer{ flex-shrink:0; }
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--wpt-accent); }
h1,h2,h3,h4,h5,h6{
  font-family:'Sora','Inter',sans-serif;
  letter-spacing:-0.02em;
  line-height:1.2;
  margin:0 0 .5em;
  color:#12131a;
}
p{ margin:0 0 1em; }
ul{ margin:0; padding:0; }
button{ font-family:inherit; }

:root{
  --wpt-accent:#2563eb;
  --wpt-accent-dark:#1d4ed8;
  --wpt-accent-light:#60a5fa;
  --wpt-accent-glow:rgba(37,99,235,.35);
  --wpt-ink:#12131a;
  --wpt-muted:#6b6b7a;
  --wpt-border:#e5e5ee;
}

.wpt-container{
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
}
.wpt-container--narrow{ max-width:760px; }

a,button,.wpt-btn{ transition:all .25s cubic-bezier(.4,0,.2,1); }

/* ---------- Core block basics (content pages use the block editor) ---------- */
.wp-block-button__link{
  color:#fff;
  border-radius:8px;
  font-weight:600;
  padding:12px 24px;
  text-decoration:none;
  display:inline-block;
  transition:transform .25s ease, box-shadow .25s ease;
}
.wp-block-button__link:hover{ transform:translateY(-2px); box-shadow:0 10px 30px -8px var(--wpt-accent-glow); color:#fff; }
.wp-block-button.is-style-outline .wp-block-button__link{
  color:inherit;
  background:none;
  border:2px solid currentColor;
}
.wp-block-buttons{ display:flex; gap:12px; flex-wrap:wrap; }
.wp-block-columns{ display:flex; gap:24px; flex-wrap:wrap; }
.wp-block-column{ flex:1 1 240px; }
.wp-block-group{ margin-top:0; margin-bottom:0; }

/* ---------- Buttons ---------- */
.wpt-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:13px 26px;
  border-radius:8px;
  font-weight:600;
  font-size:15px;
  text-decoration:none;
  border:2px solid transparent;
  cursor:pointer;
}
.wpt-btn-primary{
  background:var(--wpt-accent);
  color:#fff;
}
.wpt-btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 30px -8px var(--wpt-accent-glow);
  color:#fff;
}
.wpt-btn-outline{
  background:transparent;
  border-color:currentColor;
  color:inherit;
}
.wpt-btn-outline:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.08);
}

/* ---------- Bottom dock nav (Liquid Glass) ---------- */
.wpt-dock{
  position:fixed;
  left:50%;
  top:20px;
  transform:translateX(-50%);
  z-index:300;
  view-transition-name:wpt-dock;
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px;
  border-radius:999px;
  max-width:calc(100vw - 24px);

  background:
    linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0) 40%),
    rgba(22,22,32,.55);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  backdrop-filter:blur(28px) saturate(180%);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:
    0 20px 50px -12px rgba(0,0,0,.45),
    0 2px 8px rgba(0,0,0,.2),
    inset 0 1px 0 rgba(255,255,255,.35),
    inset 0 -1px 0 rgba(0,0,0,.25);
}
.wpt-dock::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(120deg, rgba(255,255,255,.5), rgba(255,255,255,0) 30%, rgba(255,255,255,0) 70%, rgba(255,255,255,.25));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  opacity:.8;
}

.wpt-dock-home{
  flex:none;
  width:40px;
  height:40px;
  border-radius:50%;
  overflow:hidden;
  display:block;
  box-shadow:0 2px 6px rgba(0,0,0,.3);
}
.wpt-dock-home svg{ width:100%; height:100%; display:block; }

.wpt-dock-links{
  display:flex;
  align-items:center;
  gap:2px;
  list-style:none;
  overflow-x:auto;
  scrollbar-width:none;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
}
.wpt-dock-links::-webkit-scrollbar{ display:none; }
.wpt-dock-links li{ list-style:none; }
.wpt-dock-links a{
  display:block;
  white-space:nowrap;
  color:rgba(255,255,255,.75);
  text-decoration:none;
  font-size:14px;
  font-weight:500;
  padding:10px 16px;
  border-radius:999px;
  transition:all .3s cubic-bezier(.4,0,.2,1);
}
.wpt-dock-links a:hover{
  color:#fff;
  background:rgba(255,255,255,.1);
}
.wpt-dock-links .current-menu-item > a{
  color:#fff;
  background:var(--wpt-accent);
  box-shadow:0 4px 14px -2px var(--wpt-accent-glow);
  view-transition-name:wpt-nav-pill;
}

.wpt-dock-cta{
  flex:none;
  width:40px;
  height:40px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--wpt-accent);
  color:#fff;
  box-shadow:0 4px 14px -2px var(--wpt-accent-glow);
}
.wpt-dock-cta:hover{
  background:var(--wpt-accent-dark);
  transform:scale(1.06);
}

@media (max-width:640px){
  .wpt-dock-links a{ padding:9px 12px; font-size:13px; }
  .wpt-dock-home,.wpt-dock-cta{ width:36px; height:36px; }
}

/* ---------- Hero ---------- */
.wpt-hero{
  position:relative;
  overflow:hidden;
  background:#0c0d14;
  color:#fff;
  padding:90px 0;
}
.wpt-hero--full{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:56px;
  padding:130px 0 140px;
}
.wpt-hero--full .wpt-hero-grid{ flex:none; }
.wpt-hero::before{
  content:"";
  position:absolute;
  inset:-20%;
  background:
    radial-gradient(circle at 20% 20%, rgba(37,99,235,.35), transparent 45%),
    radial-gradient(circle at 80% 30%, rgba(126,91,255,.25), transparent 40%),
    radial-gradient(circle at 50% 90%, rgba(37,99,235,.2), transparent 45%);
  animation:wptDrift 16s ease-in-out infinite alternate;
  pointer-events:none;
}
.wpt-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:180px;
  background:linear-gradient(180deg, transparent, var(--wpt-accent));
  pointer-events:none;
}
@keyframes wptDrift{
  0%{ transform:translate(0,0) scale(1); }
  100%{ transform:translate(-3%,2%) scale(1.08); }
}
.wpt-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:48px;
  align-items:center;
}
.wpt-hero h1{ color:#fff; font-size:46px; line-height:1.12; margin-bottom:.4em; }
.wpt-hero-sub{ font-size:19px; color:rgba(255,255,255,.85); max-width:520px; }
.wpt-hero-actions{ display:flex; gap:14px; margin:28px 0 18px; flex-wrap:wrap; }
.wpt-hero-note{ font-size:14px; color:rgba(255,255,255,.7); }

.wpt-hero-item{
  opacity:0;
  transform:translateY(18px);
  animation:wptFadeUp .8s cubic-bezier(.4,0,.2,1) forwards;
}
.wpt-hero-item:nth-child(1){ animation-delay:.05s; }
.wpt-hero-item:nth-child(2){ animation-delay:.18s; }
.wpt-hero-item:nth-child(3){ animation-delay:.31s; }
@keyframes wptFadeUp{ to{ opacity:1; transform:translateY(0); } }

.wpt-mockup-wrap{
  opacity:0;
  transform:translateY(24px) scale(.97);
  animation:wptFadeUp 1s cubic-bezier(.4,0,.2,1) .5s forwards;
}
.wpt-mockup{
  background:#fff;
  border-radius:14px;
  box-shadow:0 30px 70px -20px rgba(0,0,0,.5);
  animation:wptMockupFloat 6s ease-in-out 1.5s infinite;
}
.wpt-mockup svg{ display:block; width:100%; height:auto; border-radius:14px; }
@keyframes wptMockupFloat{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-8px); }
}

/* progress bars fill in once the window has finished appearing */
.wpt-mockup .wpt-bar-fill{
  transform-box:fill-box;
  transform-origin:left center;
  transform:scaleX(0);
  animation:wptBarFill .9s cubic-bezier(.4,0,.2,1) forwards;
}
.wpt-mockup .wpt-bar-1{ animation-delay:1.1s; }
.wpt-mockup .wpt-bar-2{ animation-delay:1.3s; }
.wpt-mockup .wpt-bar-3{ animation-delay:1.5s; }
@keyframes wptBarFill{ to{ transform:scaleX(1); } }

/* active sidebar item breathes gently to suggest live activity */
.wpt-mockup .wpt-nav-active{
  animation:wptNavPulse 2.6s ease-in-out 2s infinite;
}
@keyframes wptNavPulse{
  0%,100%{ opacity:1; }
  50%{ opacity:.75; }
}

/* decorative network/map backdrop in hero */
.wpt-hero-map{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:.22;
  pointer-events:none;
}

/* simple centered feature grid (Framer/GlobalSpeak-inspired) */
.wpt-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px 28px;
  text-align:center;
}
.wpt-feature-grid .wpt-icon-badge{ margin:0 auto 16px; }
.wpt-feature-grid h3{ font-size:17px; margin-bottom:6px; }
.wpt-feature-grid p{ color:var(--wpt-muted); font-size:14px; margin:0; }
@media (max-width:700px){ .wpt-feature-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:460px){ .wpt-feature-grid{ grid-template-columns:1fr; } }

/* pinned heading with scattered language bubbles (no color-block list) */
.wpt-pin-block{ background:var(--wpt-accent); position:relative; }
.wpt-pin-block::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:180px;
  background:linear-gradient(180deg, transparent, #0c0d14);
  pointer-events:none;
  z-index:10;
}
.wpt-pin-tall{
  position:relative;
  min-height:425vh;
  display:grid;
}
.wpt-pin-bg{
  position:sticky;
  top:0;
  height:100vh;
  grid-area:1/1;
  background:linear-gradient(180deg, rgba(37,99,235,.97), rgba(29,78,216,.98));
  overflow:hidden;
  z-index:1;
}
.wpt-pin-bg-stage{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  transition:opacity 1s ease;
}
.wpt-pin-bg-stage.is-active{ opacity:1; }
.wpt-pin-bg-stage svg{ width:100%; height:100%; opacity:.16; }
.wpt-pin-sticky-wrap{
  position:sticky;
  top:0;
  height:100vh;
  grid-area:1/1;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:3;
}
.wpt-pin-content{ text-align:center; }
.wpt-pin-stages{ display:grid; }
.wpt-pin-stage{
  grid-area:1/1;
  opacity:0;
  transform:translateY(18px);
  transition:opacity .6s ease, transform .6s ease;
  pointer-events:none;
}
.wpt-pin-stage.is-active{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.wpt-pin-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:64px;
  height:64px;
  border-radius:18px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.3);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  color:#fff;
  margin-bottom:20px;
}
.wpt-pin-icon .wpt-icon{ width:32px; height:32px; }
.wpt-pin-heading{
  color:#fff;
  font-size:56px;
  line-height:1.14;
  letter-spacing:-0.02em;
  margin:0 0 20px;
}
.wpt-pin-sub{
  color:rgba(255,255,255,.75);
  font-size:16px;
  max-width:480px;
  margin:0 auto;
}
.wpt-pin-btn{ margin-top:28px; color:#fff; border-color:rgba(255,255,255,.6); }
.wpt-pin-btn:hover{ background:rgba(255,255,255,.14); }

.wpt-pin-bubble{
  position:absolute;
  width:78px;
  height:78px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.3);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  box-shadow:0 12px 30px -10px rgba(0,0,0,.35);
  font-size:34px;
  line-height:1;
  opacity:0;
  transform:scale(.5);
  transition:opacity .6s cubic-bezier(.34,1.56,.64,1), transform .6s cubic-bezier(.34,1.56,.64,1);
  z-index:2;
  overflow:hidden;
}
.wpt-pin-bubble.wpt-in{ opacity:1; transform:scale(1); }

@media (max-width:700px){
  .wpt-hero--full{ min-height:100vh; gap:36px; padding:110px 0 130px; }
  .wpt-badges{ gap:12px 20px; }
  .wpt-pin-tall{ min-height:325vh; }
  .wpt-pin-heading{ font-size:32px; }
  .wpt-pin-bubble{ width:52px; height:52px; font-size:24px; }
  .wpt-pin-icon{ width:52px; height:52px; border-radius:14px; margin-bottom:14px; }
  .wpt-pin-icon .wpt-icon{ width:26px; height:26px; }
}

/* homepage pricing teaser (reuses pricing card look) */
.wpt-pricing-teaser{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
  max-width:720px;
  margin:0 auto;
}
@media (max-width:640px){ .wpt-pricing-teaser{ grid-template-columns:1fr; } }

@media (max-width:900px){
  .wpt-hero-grid{ grid-template-columns:1fr; }
  .wpt-hero h1{ font-size:34px; }
}

/* ---------- Trust badges ---------- */
.wpt-badges{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:14px 32px;
  justify-content:center;
  padding:28px 0 0;
}
.wpt-badge{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  font-weight:500;
  color:var(--wpt-ink);
}
.wpt-badge .wpt-icon{ color:var(--wpt-accent); width:18px; height:18px; }

.wpt-hero .wpt-badge{ color:rgba(255,255,255,.85); }
.wpt-hero .wpt-badge .wpt-icon{ color:var(--wpt-accent-light); }

/* ---------- Section shell ---------- */
.wpt-section{ padding:72px 0; }
.wpt-section-head{ text-align:center; max-width:640px; margin:0 auto 44px; }
.wpt-section-head h2{ font-size:34px; margin-bottom:.3em; }
.wpt-section-head p{ color:var(--wpt-muted); font-size:17px; }
.wpt-section--dark{ background:#0c0d14; color:#fff; }
.wpt-section--dark h2,
.wpt-section--dark .wpt-section-head p{ color:#fff; }
.wpt-section--tint{ background:#f5f8ff; }

.wpt-dots{ position:relative; }
.wpt-dots::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:radial-gradient(rgba(37,99,235,.16) 1.5px, transparent 1.5px);
  background-size:22px 22px;
  -webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 0%, #000 40%, transparent 100%);
  mask-image:radial-gradient(ellipse 80% 80% at 50% 0%, #000 40%, transparent 100%);
  pointer-events:none;
}
.wpt-dots > .wpt-container{ position:relative; z-index:1; }

/* ---------- Page hero (dark header matching the homepage) ---------- */
.wpt-page-hero{
  position:relative;
  overflow:hidden;
  min-height:100vh;
  margin-top:-110px;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px 40px !important;
}
.wpt-page-hero .wpt-hero-map{ z-index:0; }
.wpt-page-hero::before{
  content:"";
  position:absolute;
  inset:-20%;
  background:
    radial-gradient(circle at 20% 20%, rgba(37,99,235,.35), transparent 45%),
    radial-gradient(circle at 80% 30%, rgba(126,91,255,.25), transparent 40%),
    radial-gradient(circle at 50% 90%, rgba(37,99,235,.2), transparent 45%);
  animation:wptDrift 16s ease-in-out infinite alternate;
  pointer-events:none;
  z-index:0;
}
.wpt-page-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:220px;
  background:linear-gradient(180deg, transparent, #0c0d14);
  pointer-events:none;
  z-index:0;
}
.wpt-page-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:48px;
  align-items:center;
  width:100%;
  max-width:1180px;
  margin:0 auto;
  text-align:left;
}
.wpt-page-hero h1{ color:#fff; text-align:left; }
.wpt-page-hero p{ color:rgba(255,255,255,.85); text-align:left; }
.wpt-page-hero .wpt-eyebrow{ background:rgba(255,255,255,.15); color:#fff; }
.wpt-page-hero .wpt-eyebrow,
.wpt-page-hero h1,
.wpt-page-hero p{
  opacity:0;
  transform:translateY(18px);
  animation:wptFadeUp .8s cubic-bezier(.4,0,.2,1) forwards;
}
.wpt-page-hero .wpt-eyebrow{ animation-delay:.05s; }
.wpt-page-hero .wpt-mockup-wrap{ animation-delay:.5s; }
@media (max-width:900px){
  .wpt-page-hero-grid{ grid-template-columns:1fr; text-align:center; }
  .wpt-page-hero h1,.wpt-page-hero p{ text-align:center; }
  .wpt-page-hero .wpt-mockup-wrap{ order:-1; max-width:420px; margin:0 auto; }
}
.wpt-page-hero h1{ animation-delay:.18s; }
.wpt-page-hero p{ animation-delay:.31s; }
@media (max-width:640px){
  .wpt-page-hero{ padding:16px 20px !important; }
}

/* ---------- Icon grid (features / why) ---------- */
.wpt-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.wpt-grid--2{ grid-template-columns:repeat(2,1fr); }
@media (max-width:900px){ .wpt-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .wpt-grid{ grid-template-columns:1fr; } }

.wpt-card{
  background:#fff;
  border:1px solid var(--wpt-border);
  border-radius:14px;
  padding:28px;
  transition:transform .35s cubic-bezier(.4,0,.2,1), box-shadow .35s ease, border-color .35s ease;
}
.wpt-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 40px -20px rgba(18,19,26,.18);
  border-color:var(--wpt-accent);
}
.wpt-card h3{ font-size:19px; margin-bottom:.4em; }
.wpt-card p{ color:var(--wpt-muted); font-size:15px; margin:0; }

.wpt-icon-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(37,99,235,.14),rgba(37,99,235,.05));
  color:var(--wpt-accent);
  margin-bottom:16px;
}
.wpt-icon-badge .wpt-icon{ width:26px; height:26px; }
.wpt-icon-badge--lg{ width:64px; height:64px; border-radius:18px; }
.wpt-icon-badge--lg .wpt-icon{ width:30px; height:30px; }

/* ---------- Bento grid ---------- */
.wpt-bento{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:minmax(150px,auto);
  grid-auto-flow:row dense;
  gap:20px;
}
.wpt-bento-cell{
  background:#fff;
  border:1px solid var(--wpt-border);
  border-radius:16px;
  padding:26px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  transition:transform .35s cubic-bezier(.4,0,.2,1), box-shadow .35s ease, border-color .35s ease;
}
.wpt-bento-cell:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 40px -20px rgba(18,19,26,.18);
  border-color:var(--wpt-accent);
}
.wpt-bento-cell h3{ font-size:17px; margin-bottom:.3em; }
.wpt-bento-cell p{ color:var(--wpt-muted); font-size:14px; margin:0; line-height:1.5; }

.wpt-bento-cell--big{
  grid-column:span 2;
  grid-row:span 2;
  background:linear-gradient(150deg, rgba(37,99,235,.08), transparent 60%), #fff;
  justify-content:flex-end;
}
.wpt-bento-cell--big h3{ font-size:25px; }
.wpt-bento-cell--big p{ font-size:15px; max-width:360px; }

.wpt-bento-cell--wide{
  grid-column:span 2;
  flex-direction:row;
  align-items:center;
  gap:18px;
}
.wpt-bento-cell--wide .wpt-icon-badge{ margin-bottom:0; }
.wpt-bento-cell--wide div{ min-width:0; }

@media (max-width:900px){
  .wpt-bento{ grid-template-columns:repeat(2,1fr); }
  .wpt-bento-cell--big{ grid-row:span 1; }
}
@media (max-width:560px){
  .wpt-bento{ grid-template-columns:1fr; }
  .wpt-bento-cell--big,.wpt-bento-cell--wide{ grid-column:span 1; }
  .wpt-bento-cell--wide{ flex-direction:column; align-items:flex-start; }
}

/* ---------- Stat grid ---------- */
.wpt-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:32px 24px;
  text-align:center;
}
.wpt-stat-num{
  display:block;
  font-family:'Sora',sans-serif;
  font-weight:800;
  font-size:46px;
  color:var(--wpt-accent);
  line-height:1;
  margin-bottom:10px;
}
.wpt-stat-label{
  display:block;
  color:var(--wpt-muted);
  font-size:14px;
}
@media (max-width:700px){ .wpt-stats{ grid-template-columns:repeat(2,1fr); } }

/* ---------- Steps ---------- */
.wpt-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px;
}
@media (max-width:900px){ .wpt-steps{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .wpt-steps{ grid-template-columns:1fr; } }
.wpt-step-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:999px;
  background:var(--wpt-accent);
  color:#fff;
  font-family:'Sora',sans-serif;
  font-weight:700;
  font-size:15px;
  margin-bottom:14px;
}
.wpt-step h3{ font-size:18px; margin-bottom:.35em; }
.wpt-step p{ color:var(--wpt-muted); font-size:15px; }

/* ---------- Photo trust band ---------- */
.wpt-photo-band{
  position:relative;
  background-size:cover;
  background-position:center;
  min-height:360px;
  display:flex;
  align-items:center;
}
.wpt-photo-band::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(100deg, rgba(12,13,20,.94) 0%, rgba(12,13,20,.86) 40%, rgba(37,99,235,.55) 100%);
}
.wpt-photo-band-content{
  position:relative;
  z-index:1;
  max-width:520px;
  color:#fff;
  padding:60px 0;
}
.wpt-photo-band-content h2{ color:#fff; font-size:30px; }
.wpt-photo-band-content p{ color:rgba(255,255,255,.85); font-size:16px; }

/* ---------- CTA band ---------- */
.wpt-cta-band{
  position:relative;
  overflow:hidden;
  background:#0c0d14;
  color:#fff;
  text-align:center;
  padding:80px 0;
}
.wpt-cta-band::before{
  content:"";
  position:absolute;
  inset:-30%;
  background:
    radial-gradient(circle at 25% 30%, rgba(255,255,255,.16), transparent 45%),
    radial-gradient(circle at 75% 70%, rgba(255,255,255,.12), transparent 45%);
  animation:wptDrift 18s ease-in-out infinite alternate;
  pointer-events:none;
}
.wpt-cta-band > *{ position:relative; z-index:1; }
.wpt-cta-band h2{ color:#fff; font-size:32px; }

/* on content pages the page bg is already dark — blend the band in, no separate box */
.wpt-content-page .wpt-cta-band{ background:none !important; }
.wpt-content-page .wpt-cta-band::before{ display:none; }
.wpt-cta-band p{ color:rgba(255,255,255,.85); margin-bottom:24px; }

/* ---------- Framer-style components ---------- */

/* eyebrow label */
.wpt-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 16px;
  border-radius:999px;
  background:rgba(37,99,235,.1);
  color:var(--wpt-accent);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:22px;
}
.wpt-eyebrow-dot{ width:6px; height:6px; border-radius:50%; background:var(--wpt-accent); flex:none; }

/* soft gradient mesh backdrop for light sections */
.wpt-mesh{ position:relative; overflow:hidden; }
.wpt-mesh::before{
  content:"";
  position:absolute;
  inset:-10%;
  background:
    radial-gradient(circle at 15% 20%, rgba(37,99,235,.12), transparent 40%),
    radial-gradient(circle at 85% 10%, rgba(96,165,250,.14), transparent 35%),
    radial-gradient(circle at 60% 100%, rgba(37,99,235,.08), transparent 40%);
  pointer-events:none;
}
.wpt-mesh > *{ position:relative; z-index:1; }

/* oversized editorial heading */
.wpt-display{
  font-size:58px;
  line-height:1.04;
  letter-spacing:-0.03em;
  max-width:760px;
}
.wpt-display + p{ font-size:18px; color:var(--wpt-muted); max-width:560px; }
@media (max-width:700px){ .wpt-display{ font-size:36px; } }

/* marquee strip */
.wpt-marquee-wrap{
  overflow:hidden;
  position:relative;
  padding:18px 0;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.wpt-marquee{
  display:flex;
  gap:12px;
  width:max-content;
  animation:wptMarquee 24s linear infinite;
}
.wpt-marquee-wrap:hover .wpt-marquee{ animation-play-state:paused; }
@keyframes wptMarquee{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
.wpt-marquee-item{
  flex:none;
  padding:10px 22px;
  border:1px solid var(--wpt-border);
  border-radius:999px;
  font-size:14px;
  font-weight:600;
  color:var(--wpt-ink);
  background:#fff;
  white-space:nowrap;
}

/* numbered hairline grid with cursor spotlight */
.wpt-numbered-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--wpt-border);
  border:1px solid var(--wpt-border);
  border-radius:18px;
  overflow:hidden;
}
.wpt-numbered-cell{
  --mx:50%;
  --my:50%;
  position:relative;
  background:#fff;
  padding:34px 30px;
  transition:background .3s ease;
}
.wpt-numbered-cell::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(280px circle at var(--mx) var(--my), rgba(37,99,235,.1), transparent 70%);
  opacity:0;
  transition:opacity .4s ease;
  pointer-events:none;
}
.wpt-numbered-cell:hover::before{ opacity:1; }
.wpt-numbered-cell .wpt-num{
  display:block;
  font-family:'Sora',sans-serif;
  font-weight:800;
  font-size:13px;
  letter-spacing:.06em;
  color:var(--wpt-accent);
  margin-bottom:18px;
  position:relative;
}
.wpt-numbered-cell h3{ font-size:18px; margin-bottom:8px; position:relative; }
.wpt-numbered-cell p{ color:var(--wpt-muted); font-size:14px; margin:0; position:relative; }

@media (max-width:900px){ .wpt-numbered-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .wpt-numbered-grid{ grid-template-columns:1fr; } }

/* ---------- Footer ---------- */
.wpt-footer{
  background:#0c0d14;
  color:rgba(255,255,255,.7);
  padding:56px 0 0;
}
.wpt-footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:32px;
  padding-bottom:40px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
@media (max-width:700px){ .wpt-footer-grid{ grid-template-columns:1fr 1fr; } }
.wpt-footer-col h4{ color:#fff; font-size:14px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:16px; }
.wpt-footer-col ul{ list-style:none; display:flex; flex-direction:column; gap:10px; }
.wpt-footer-col a{ color:rgba(255,255,255,.7); text-decoration:none; font-size:14px; }
.wpt-footer-col a:hover{ color:#fff; }
.wpt-footer-about p{ font-size:14px; max-width:280px; color:rgba(255,255,255,.6); }
.wpt-footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:20px 0;
  font-size:13px;
  color:rgba(255,255,255,.5);
  flex-wrap:wrap;
  gap:10px;
}

/* ---------- Reveal on scroll ---------- */
.wpt-reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s cubic-bezier(.4,0,.2,1), transform .7s cubic-bezier(.4,0,.2,1);
}
.wpt-reveal.wpt-in{ opacity:1; transform:translateY(0); }

/* ---------- Generic page content (Gutenberg pages) ---------- */
.wpt-content-page{ background:#0c0d14; }
.wpt-page{ padding:110px 0 64px; }
.wpt-page .alignfull{
  width:auto;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
.wpt-page .wp-block-columns{ display:flex; gap:28px; flex-wrap:wrap; margin-top:8px; margin-bottom:24px; }
.wpt-page .wp-block-column{ flex:1 1 260px; }
.wpt-page .wp-block-column.wpt-card{ flex:1 1 260px; }
.wpt-page h1{ font-size:38px; margin-bottom:.3em; }
.wpt-page h2{ font-size:28px; margin-top:1.4em; }
.wpt-page h3{ font-size:19px; }
.wpt-page-intro{ text-align:center; color:var(--wpt-muted); font-size:17px; max-width:640px; margin:0 auto 40px; }

/* dark theme for custom content pages (Pricing/Features/FAQ/etc) and the whole
   My Account area — only Cart/Checkout keep WooCommerce's original light styling */
.wpt-content-page .wpt-page{ color:rgba(255,255,255,.75); }
.wpt-content-page .wpt-page h1,
.wpt-content-page .wpt-page h2,
.wpt-content-page .wpt-page h3{ color:#fff; }
.wpt-content-page .wpt-page-intro{ color:rgba(255,255,255,.7); }
.wpt-content-page .wpt-page p{ color:rgba(255,255,255,.75); }
.wpt-content-page .wpt-page strong{ color:#fff; }
.wpt-content-page .wpt-page a:not(.wp-block-button__link){ color:var(--wpt-accent-light); }

/* cards/pills inside content pages get a dark-glass treatment */
.wpt-content-page .wpt-page .wp-block-column{ border-color:rgba(255,255,255,.16); }
.wpt-content-page .wpt-page .wpt-bento-cell{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.14);
}
.wpt-content-page .wpt-page .wpt-bento-cell:hover{ border-color:rgba(255,255,255,.3); }
.wpt-content-page .wpt-page .wpt-marquee-item{
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.16);
  color:rgba(255,255,255,.85);
}
.wpt-content-page .wpt-page .wpt-numbered-grid{ background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.12); }
.wpt-content-page .wpt-page .wpt-numbered-cell{ background:#0c0d14; }
.wpt-content-page .wpt-page .wpt-numbered-cell::before{ background:radial-gradient(280px circle at var(--mx) var(--my), rgba(255,255,255,.06), transparent 70%); }
.wpt-content-page .wpt-page .wpt-stat-label{ color:rgba(255,255,255,.6); }
.wpt-content-page .wpt-page .wpt-stat-num{ color:var(--wpt-accent-light); }

.wpt-check-list{ list-style:none; margin:20px 0 24px; padding:0; }
.wpt-check-list li{ display:flex; align-items:center; gap:10px; padding:6px 0; font-size:15px; }
.wpt-check-list svg{ flex:none; width:20px; height:20px; }

.wpt-pricing-featured{
  position:relative;
  border-color:var(--wpt-accent-light) !important;
  background:linear-gradient(180deg,rgba(37,99,235,.14),transparent 60%);
}
.wpt-ribbon{
  position:absolute;
  top:-14px;
  left:50%;
  transform:translateX(-50%);
  background:var(--wpt-accent);
  color:#fff;
  font-size:12px;
  font-weight:700;
  padding:5px 16px;
  border-radius:999px;
  white-space:nowrap;
  box-shadow:0 6px 16px -4px var(--wpt-accent-glow);
}

@media (prefers-reduced-motion: reduce){
  .wpt-reveal,.wpt-hero-item,.wpt-mockup-wrap,.wpt-hero::before,.wpt-cta-band::before,
  .wpt-mockup,.wpt-mockup .wpt-bar-fill,.wpt-mockup .wpt-nav-active,
  .wpt-page-hero .wpt-eyebrow,.wpt-page-hero h1,.wpt-page-hero p,.wpt-page-hero::before,
  body.woocommerce-account:not(.logged-in) .wpt-page::before{
    animation:none !important; transition:none !important; opacity:1 !important; transform:none !important;
  }
}
