/* =========================================================
   TOPIVO CLEAN PRODUCTION CSS
   Astra-safe | System font only | CLS-safe | No layout break
   ========================================================= */

:root{
  --c-dark:#0f172a;
  --c-mid:#111827;
  --c-muted:#64748b;
  --c-border:#e5e7eb;
  --c-border-2:rgba(15,23,42,.12);
  --c-bg:#ffffff;
  --c-soft:#f8fafc;
  --c-soft-2:#f1f5f9;
  --c-header:#1a2236;
  --c-accent:#4f8ef7;
  --c-gold:#f59e0b;
  --c-gold-dark:#b45309;
  --r-sm:6px;
  --r-md:10px;
  --r-lg:16px;
  --r-xl:20px;
  --r-pill:999px;
  --max-article:860px;
  --max-content:1100px;
  --max-wide:1180px;
  --font-system:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

/* =========================
   RESET / BASE
   ========================= */

html{
  -webkit-text-size-adjust:100%;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

body{
  margin:0;
  overflow-x:hidden;
  background:var(--c-bg);
  color:var(--c-dark);
  font-family:var(--font-system);
  font-size:15px;
  line-height:1.65;
  font-weight:400;
}

body,
button,
input,
select,
textarea,
h1,h2,h3,h4,h5,h6,
p,span,small,strong,em,
.ast-site-title,
.ast-site-title a,
.entry-title,
.main-header-menu a,
.ast-builder-menu-1 .menu-link,
.ast-button,
.ast-custom-button,
.wp-block-button__link{
  font-family:var(--font-system) !important;
}

img,
svg{
  display:block;
  max-width:100%;
  height:auto;
}

figure{
  margin:0;
}

iframe{
  max-width:100%;
}

p{
  margin:0 0 1.1em;
}

ul,
ol{
  margin:0 0 1.1em;
  padding-left:1.2rem;
}

li{
  margin:0 0 .45em;
}

strong{
  font-weight:600;
}

a{
  color:var(--c-dark);
  text-decoration:underline;
  text-underline-offset:.14em;
  text-decoration-thickness:1px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:2px solid var(--c-mid);
  outline-offset:3px;
  border-radius:6px;
}

h1,h2,h3,h4,h5,h6{
  margin:0 0 .7em;
  color:var(--c-dark);
}

h1{
  font-size:clamp(26px,4vw,38px);
  line-height:1.18;
  letter-spacing:-.02em;
  font-weight:800;
}

h2{
  font-size:clamp(20px,3vw,28px);
  line-height:1.24;
  font-weight:750;
}

h3{
  font-size:clamp(17px,2.3vw,22px);
  line-height:1.3;
  font-weight:700;
}

/* =========================
   ASTRA / GLOBAL LAYOUT
   ========================= */

body,
.site,
.site-content,
.content-area,
.site-main,
.entry-content,
.wp-site-blocks,
.ast-container,
.ast-plain-container,
.site-content > .ast-container{
  background:var(--c-bg);
}

#page,
.site,
#content,
.site-content,
#primary,
.content-area,
.site-main{
  min-width:0;
}

.site-content,
#content{
  padding-top:0 !important;
  margin-top:0 !important;
}

.home .site-content,
.home .ast-container,
.home #primary,
.home #content,
.home .content-area,
.home .site-primary,
.home .entry-content,
.home .post-entry,
.home .ast-article-single,
.home .ast-article-single > .entry-content,
.home .wp-block-post-content{
  padding-top:0 !important;
  margin-top:0 !important;
}

/* =========================
   HEADER
   ========================= */

#masthead,
.site-header,
.ast-primary-header-bar,
.main-header-bar,
.ast-mobile-header-wrap{
  min-height:72px;
}

.ast-above-header-bar,
.ast-primary-header-bar,
.main-header-bar,
.site-above-header-wrap,
.ast-mobile-header-wrap,
.ast-mobile-popup-drawer,
.ast-mobile-popup-drawer .ast-mobile-popup-inner{
  background:var(--c-header) !important;
  border-bottom:1px solid rgba(255,255,255,.06) !important;
}

.custom-logo-link{
  display:flex;
  align-items:center;
  min-height:40px;
}

.custom-logo,
.custom-logo-link img{
  display:block;
  width:140px;
  height:auto;
  aspect-ratio:895 / 279;
}

.ast-site-title,
.ast-site-title a{
  color:#fff !important;
  font-weight:800 !important;
  letter-spacing:-.03em !important;
  text-decoration:none !important;
}

.ast-builder-menu-1 .menu-link,
.ast-desktop .main-header-menu a,
.main-header-menu > li > a,
.main-navigation .menu-link,
.ast-mobile-popup-drawer .menu-item > a,
.ast-mobile-popup-drawer .menu-link{
  color:rgba(255,255,255,.78) !important;
  text-decoration:none !important;
  font-weight:500;
  font-size:14px;
  padding-bottom:4px !important;
  border-bottom:2px solid transparent !important;
}

.ast-builder-menu-1 .current-menu-item > a,
.ast-builder-menu-1 .current-menu-ancestor > a,
.main-header-menu > .current-menu-item > a,
.main-header-menu > .current-menu-ancestor > a,
.ast-mobile-popup-drawer .current-menu-item > a{
  color:#fff !important;
  border-bottom-color:var(--c-accent) !important;
}

.ast-header-search,
.menu-toggle,
.ast-mobile-menu-trigger-wrap,
.ast-builder-layout-element{
  min-height:40px;
}

.ast-header-search .astra-search-icon,
.ast-mobile-header-wrap .menu-toggle,
.ast-mobile-header-wrap .menu-toggle svg{
  color:rgba(255,255,255,.78) !important;
  fill:rgba(255,255,255,.78) !important;
}

/* =========================
   SAFE MOTION CONTROL
   ========================= */

.topivo-card,
.topivo-comp-card,
.topivo-guides-wrapper .guide-box,
.topivo-soft-gray-item,
.topivo-comp-ctaRow .topivo-btn,
.topivo-comp-card .topivo-btn,
.tc26-wrap a,
.tc26-wrap .tc26-sitem{
  transition:none !important;
  animation:none !important;
}

.topivo-card:hover,
.topivo-comp-card:hover,
.topivo-soft-gray-item:hover,
.topivo-comp-ctaRow .topivo-btn:hover,
.topivo-comp-card .topivo-btn:hover,
.tc26-wrap a:hover,
.tc26-wrap .tc26-sitem:hover{
  transform:none !important;
  box-shadow:none !important;
  filter:none !important;
}

/* =========================
   IMAGE / CLS STABILITY
   ========================= */

.entry-content .wp-block-image,
.wp-block-post-featured-image,
.uagb-post__image,
.topivo-featured-image,
.topivo-post-image,
.topivo-card-image,
.topivo-home-card-image,
.topivo-4cat-main-image-wrap,
.topivo-latest-review-img-wrap,
.topivo-cat-card-image-link{
  display:block;
  position:relative;
  width:100%;
  overflow:hidden !important;
  line-height:0;
  background:var(--c-soft-2) !important;
  aspect-ratio:16 / 9;
}

.topivo-4cat-side-thumb-wrap{
  display:block;
  position:relative;
  width:100%;
  overflow:hidden !important;
  line-height:0;
  background:var(--c-soft-2) !important;
  aspect-ratio:16 / 10;
}

.wp-block-post-featured-image img,
.uagb-post__image img,
.topivo-featured-image img,
.topivo-post-image img,
.topivo-card-image img,
.topivo-home-card-image img,
.topivo-4cat-main-image-wrap img,
.topivo-4cat-side-thumb-wrap img,
.topivo-latest-review-img,
.topivo-cat-card-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  margin:0;
}

.entry-content img{
  max-width:100%;
  height:auto;
  margin:20px auto;
  border-radius:10px;
}

.topivo-hero-image,
.single-post .topivo-hero-image{
  display:block;
  width:100%;
  max-width:820px;
  margin:24px auto 28px;
  line-height:0;
  text-align:center;
  border:0 !important;
}

.topivo-hero-image img,
.single-post .topivo-hero-image img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16 / 9;
  object-fit:cover;
  border-radius:var(--r-md);
}

.wp-block-image figcaption,
.topivo-hero-image figcaption{
  margin-top:6px;
  font-size:13px;
  color:#666;
  text-align:center;
  line-height:1.5;
}

/* =========================
   CARDS / ARCHIVE
   ========================= */

.uagb-post__inner-wrap,
.wp-block-post-template > li,
.topivo-card,
.topivo-guides-wrapper .guide-box,
.topivo-pros,
.topivo-cons{
  background:#fff;
  border:1px solid var(--c-border);
  border-radius:var(--r-lg);
  overflow:hidden !important;
}

.uagb-post__inner-wrap,
.wp-block-post-template > li{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  padding:18px;
}

.topivo-card{
  padding:16px;
}

.archive .entry-title,
.archive .entry-title a,
.blog .entry-title,
.blog .entry-title a,
.wp-block-post-title,
.wp-block-post-title a,
.uagb-post__title,
.uagb-post__title a,
.topivo-post-card h2,
.topivo-post-card h3,
.topivo-post-card__title{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:3 !important;
  overflow:hidden !important;
  white-space:normal !important;
  word-break:break-word;
  line-height:1.24 !important;
  font-weight:800 !important;
}

.uagb-post__excerpt,
.uagb-post__excerpt p,
.wp-block-post-excerpt,
.wp-block-post-excerpt__excerpt,
.entry-summary,
.topivo-post-card p,
.topivo-post-card__excerpt{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:3 !important;
  overflow:hidden !important;
  line-height:1.6 !important;
  color:rgba(17,24,39,.7);
  margin:10px 0 16px;
}

.uagb-post__cta,
.wp-block-post-read-more{
  margin-top:auto !important;
}

/* =========================
   HOMEPAGE HERO
   ========================= */

.tv-hero{
  --accent:#b45309;
  --text:#0f172a;
  --muted:#475569;
  --line:#e2e8f0;
  width:100%;
  background:transparent;
  font-family:var(--font-system);
}

.tv-hero,
.tv-hero *{
  box-sizing:border-box;
}

.tv-hero-wrap{
  max-width:1100px;
  margin:0 auto;
  padding:32px 16px 18px;
}

.tv-hero-main{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:28px;
  align-items:center;
}

.tv-copy,
.tv-feature{
  min-width:0;
}

.tv-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--accent);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin:0 0 14px;
  line-height:1.3;
}

.tv-badge::before{
  content:"";
  width:14px;
  height:2px;
  background:var(--accent);
  border-radius:999px;
  flex-shrink:0;
}

.tv-title{
  margin:0 0 14px;
  color:var(--text);
  font-family:var(--font-system) !important;
  font-size:clamp(34px,5vw,56px);
  font-weight:850;
  line-height:1.08;
  letter-spacing:-.03em;
}

.tv-title em{
  color:var(--accent);
  font-style:normal;
}

.tv-desc{
  max-width:620px;
  margin:0 0 22px;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.75;
}

.tv-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.tv-btn-primary,
.tv-btn-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 20px;
  border-radius:999px;
  text-decoration:none !important;
  font-size:14px;
  font-weight:700;
  line-height:1.2;
}

.tv-btn-primary{
  background:#0f172a;
  color:#fff !important;
  border:1px solid #0f172a;
}

.tv-btn-secondary{
  background:#fff;
  color:var(--text) !important;
  border:1px solid var(--line);
}

.tv-feature-box{
  padding:18px 0 18px 22px;
  border-left:1px solid var(--line);
}

.tv-feature-label{
  margin:0 0 8px;
  color:var(--accent);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  line-height:1.3;
}

.tv-feature-title{
  margin:0 0 8px;
  color:var(--text);
  font-family:var(--font-system) !important;
  font-size:22px;
  font-weight:800;
  line-height:1.35;
}

.tv-feature-text{
  margin:0 0 10px;
  color:var(--muted);
  font-size:13px;
  line-height:1.7;
}

.tv-feature-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#1d4ed8;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
}

.tv-feature-link:hover{
  text-decoration:underline;
}

.tv-trust{
  margin-top:24px;
  padding-top:14px;
  border-top:1px solid var(--line);
}

.tv-trust-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
}

.tv-trust-item{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--muted);
  font-size:13px;
  font-weight:500;
  line-height:1.5;
}

.tv-trust-icon{
  font-size:14px;
  line-height:1;
  flex-shrink:0;
}

/* =========================
   HOMEPAGE CATEGORY BLOCK
   ========================= */

.topivo-cats{
  --accent:#b45309;
  --text:#0f172a;
  --muted:#475569;
  --line:#e2e8f0;
  width:100%;
  background:transparent;
  font-family:var(--font-system);
}

.topivo-cats,
.topivo-cats *{
  box-sizing:border-box;
}

.topivo-cats-wrap{
  width:100%;
  padding:32px 20px;
}

.topivo-cats-head{
  margin-bottom:24px;
}

.topivo-cats-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 10px;
  color:var(--accent);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  line-height:1.3;
  text-transform:uppercase;
}

.topivo-cats-label::before{
  content:"";
  width:14px;
  height:2px;
  background:var(--accent);
  border-radius:999px;
  flex-shrink:0;
}

.topivo-cats-title{
  margin:0 0 6px;
  color:var(--text);
  font-family:var(--font-system) !important;
  font-size:clamp(26px,3vw,36px);
  font-weight:850;
  line-height:1.15;
  letter-spacing:-.03em;
}

.topivo-cats-sub{
  max-width:720px;
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.7;
}

.topivo-cats-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px 32px;
}

.topivo-cat{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
  color:inherit;
  text-decoration:none !important;
}

.topivo-cat-icon{
  font-size:20px;
  line-height:1;
}

.topivo-cat h3{
  margin:0;
  color:var(--text);
  font-size:15px;
  font-weight:800;
  line-height:1.35;
}

.topivo-cat p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
}

.topivo-cat span:last-child{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:2px;
  font-size:13px;
  color:var(--accent);
  font-weight:700;
  line-height:1.4;
}

/* =========================
   WHY TOPIVO
   ========================= */

.topivo-why{
  --accent:#b45309;
  --text:#0f172a;
  --muted:#475569;
  width:100%;
  background:transparent;
  font-family:var(--font-system);
}

.topivo-why,
.topivo-why *{
  box-sizing:border-box;
}

.topivo-why-wrap{
  max-width:1100px;
  margin:0 auto;
  padding:30px 16px;
}

.topivo-why-head{
  text-align:center;
  margin-bottom:22px;
}

.topivo-why-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 8px;
  color:var(--accent);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  line-height:1.3;
  text-transform:uppercase;
}

.topivo-why-label::before{
  content:"";
  width:14px;
  height:2px;
  background:var(--accent);
  border-radius:999px;
  flex-shrink:0;
}

.topivo-why-title{
  margin:0 0 6px;
  color:var(--text);
  font-family:var(--font-system) !important;
  font-size:clamp(24px,3vw,34px);
  font-weight:850;
  line-height:1.18;
  letter-spacing:-.03em;
}

.topivo-why-sub{
  max-width:620px;
  margin:0 auto;
  color:var(--muted);
  font-size:15px;
  line-height:1.7;
}

.topivo-why-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.topivo-why-item{
  text-align:center;
  padding:8px 6px;
  min-width:0;
}

.topivo-why-icon{
  font-size:20px;
  line-height:1;
  margin-bottom:8px;
}

.topivo-why-item h3{
  margin:0 0 5px;
  color:var(--text);
  font-size:14px;
  font-weight:800;
  line-height:1.35;
}

.topivo-why-item p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.65;
}

/* =========================
   HOMEPAGE GUIDES
   ========================= */

.topivo-guides{
  --brand:#0f172a;
  --accent:#b45309;
  --accent-soft:#fff7ed;
  --muted:#475569;
  --border:#e2e8f0;
  background:transparent;
  padding:28px 0;
  font-family:var(--font-system);
}

.topivo-guides,
.topivo-guides *{
  box-sizing:border-box;
}

.topivo-guides .container{
  max-width:1280px;
  margin:0 auto;
  padding:0 6px;
}

.topivo-guides .head{
  margin-bottom:20px;
}

.topivo-guides .section-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 6px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  line-height:1.3;
  text-transform:uppercase;
  color:var(--accent);
}

.topivo-guides .section-label::before{
  content:"";
  width:14px;
  height:2px;
  border-radius:999px;
  background:var(--accent);
  flex-shrink:0;
}

.topivo-guides .section-title{
  margin:0 0 4px;
  color:var(--brand);
  font-family:var(--font-system) !important;
  font-size:clamp(22px,3vw,30px);
  font-weight:850;
  line-height:1.2;
  letter-spacing:-.03em;
}

.topivo-guides .section-sub{
  max-width:620px;
  margin:0;
  color:var(--muted);
  font-size:14.5px;
  line-height:1.7;
}

.topivo-guides .grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.topivo-guides .card{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:16px 14px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:12px;
  text-decoration:none !important;
  min-width:0;
  color:inherit;
}

.topivo-guides .num{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:10px;
  background:var(--brand);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12.5px;
  font-weight:800;
  line-height:1;
}

.topivo-guides .content{
  min-width:0;
  flex:1;
}

.topivo-guides h3{
  margin:0 0 4px;
  color:var(--brand);
  font-size:13.5px;
  font-weight:800;
  line-height:1.35;
}

.topivo-guides p{
  margin:0;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.6;
}

.topivo-guides .view-all-wrap{
  text-align:center;
  margin-top:18px;
}

.topivo-guides .view-all{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:10px 24px;
  border:1px solid var(--border);
  border-radius:999px;
  text-decoration:none !important;
  font-size:13px;
  font-weight:700;
  color:var(--brand);
  background:#fff;
}

/* =========================
   ARTICLE TEMPLATE TPV
   ========================= */

.tpv-wrap{
  max-width:860px;
  margin:0 auto;
  padding:0 16px 72px;
  font-family:var(--font-system);
  font-size:16px;
  line-height:1.78;
  color:#111827;
}

.tpv-wrap *,
.tpv-wrap *::before,
.tpv-wrap *::after{
  box-sizing:border-box;
}

.tpv-wrap img{
  max-width:100%;
  height:auto;
  display:block;
}

.tpv-wrap p{
  margin:0 0 18px;
}

.tpv-breadcrumb{
  font-size:12.5px;
  letter-spacing:.02em;
  color:#71717a;
  margin-bottom:22px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
}

.tpv-breadcrumb a{
  color:#71717a;
  text-decoration:none;
}

.tpv-badge-row{
  margin-bottom:16px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.tpv-badge{
  display:inline-block;
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:4px 10px;
  border-radius:4px;
  background:#eff6ff;
  color:#1d4ed8;
  border:1px solid #bfdbfe;
}

.tpv-badge-alt{
  background:#f0fdf4;
  color:#15803d;
  border-color:#bbf7d0;
}

.tpv-badge-year{
  background:#f4f4f5;
  color:#52525b;
  border-color:#e4e4e7;
}

.tpv-h1{
  font-size:clamp(26px,4vw,38px);
  font-weight:850;
  line-height:1.18;
  color:#0f172a;
  margin:0 0 16px;
  letter-spacing:-.02em;
}

.tpv-dek{
  font-size:19px;
  line-height:1.6;
  color:#3f3f46;
  margin-bottom:22px;
}

.tpv-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 14px;
  font-size:12.5px;
  color:#71717a;
  margin-bottom:32px;
  padding-bottom:20px;
  border-bottom:1px solid #e4e4e7;
}

.tpv-figure{
  max-width:100%;
  margin:0 0 38px;
}

.tpv-figure img,
.tpv-img-wrap img{
  width:100%;
  height:auto;
  border-radius:8px;
  display:block;
}

.tpv-figure figcaption,
.tpv-img-wrap figcaption,
.tpv-figcaption{
  text-align:center;
  font-size:13px;
  color:#6b7280;
  margin-top:8px;
  line-height:1.5;
  font-style:italic;
}

.tpv-h2{
  font-size:clamp(20px,3vw,26px);
  font-weight:800;
  color:#0f172a;
  margin:56px 0 20px;
  letter-spacing:-.015em;
  line-height:1.28;
  padding-bottom:12px;
  border-bottom:2px solid #e4e4e7;
}

.tpv-h3{
  font-size:18px;
  font-weight:800;
  color:#1e293b;
  margin:36px 0 12px;
  letter-spacing:-.01em;
  line-height:1.3;
}

.tpv-body p,
.tpv-intro p,
.tpv-pick-body p,
.tpv-guide-section p{
  margin:0 0 22px;
  color:#27272a;
  line-height:1.72;
}

.tpv-wrap a{
  color:#2563eb;
  text-decoration:none;
  border-bottom:1px solid #bfdbfe;
}

.tpv-wrap a:hover{
  color:#1d4ed8;
  border-bottom-color:#1d4ed8;
}

/* Boxes */
.tpv-verdict,
.tpv-affiliate-box,
.tpv-related-card,
.tpv-faq details{
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#fff;
}

.tpv-verdict{
  overflow:hidden;
  margin:40px 0;
}

.tpv-verdict-header{
  background:#0f172a;
  padding:20px 24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.tpv-verdict-label{
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#94a3b8;
  margin-bottom:4px;
}

.tpv-verdict-product{
  font-size:18px;
  font-weight:800;
  color:#fff;
  line-height:1.2;
}

.tpv-score-circle{
  width:64px;
  height:64px;
  background:var(--c-gold);
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.tpv-score-num{
  font-size:22px;
  font-weight:850;
  color:#fff;
  line-height:1;
}

.tpv-score-denom{
  font-size:10px;
  color:rgba(255,255,255,.8);
  font-weight:700;
}

.tpv-verdict-body{
  padding:24px;
}

.tpv-proscons,
.tpv-buyside,
.tpv-who-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin:24px 0;
}

.tpv-pros,
.tpv-buy{
  background:#f0fdf4;
  border:1px solid #bbf7d0;
  border-radius:12px;
  padding:18px;
}

.tpv-cons,
.tpv-skip{
  background:#fef2f2;
  border:1px solid #fecaca;
  border-radius:12px;
  padding:18px;
}

.tpv-pros h4,
.tpv-cons h4,
.tpv-buy h4,
.tpv-skip h4{
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin:0 0 10px;
}

.tpv-pros ul,
.tpv-cons ul,
.tpv-buy ul,
.tpv-skip ul{
  list-style:none;
  margin:0;
  padding:0;
  font-size:14px;
  line-height:1.65;
}

.tpv-pros li,
.tpv-cons li,
.tpv-buy li,
.tpv-skip li{
  padding-left:20px;
  position:relative;
}

.tpv-pros li::before,
.tpv-buy li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:#16a34a;
  font-weight:800;
}

.tpv-cons li::before,
.tpv-skip li::before{
  content:"✕";
  position:absolute;
  left:0;
  color:#dc2626;
  font-weight:800;
}

.tpv-table-wrap{
  overflow-x:auto;
  margin:28px 0;
  border-radius:10px;
  border:1px solid #e4e4e7;
}

.tpv-table,
.tpv-comp-table,
.tpv-specs-table{
  width:100%;
  border-collapse:collapse;
  font-size:14px;
}

.tpv-table th,
.tpv-comp-table th{
  background:#0f172a;
  color:#fff;
  padding:12px 14px;
  text-align:left;
  font-size:12px;
}

.tpv-table td,
.tpv-comp-table td,
.tpv-specs-table td{
  padding:11px 14px;
  border-bottom:1px solid #e5e7eb;
  vertical-align:top;
}

.tpv-callout,
.tpv-infobox,
.tpv-quick-answer{
  border-left:4px solid #2563eb;
  background:#eff6ff;
  border-radius:0 10px 10px 0;
  padding:18px 22px;
  margin:26px 0;
  color:#1e3a8a;
  line-height:1.65;
}

.tpv-author{
  border:1px solid #e4e4e7;
  border-radius:12px;
  padding:22px 24px;
  margin-top:56px;
  display:flex;
  gap:18px;
  align-items:flex-start;
  background:#f9fafb;
}

.tpv-author-avatar{
  width:58px;
  height:58px;
  border-radius:50%;
  object-fit:cover;
  flex-shrink:0;
  overflow:hidden;
  background:#e4e4e7;
}

.tpv-author-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
}

.tpv-author-name{
  font-size:17px;
  font-weight:800;
  color:#0f172a;
  margin-bottom:2px;
}

.tpv-author-role{
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#2563eb;
  margin-bottom:10px;
}

.tpv-author-bio{
  font-size:13px;
  line-height:1.6;
  color:#52525b;
  margin:0;
}

/* =========================
   COMPARISON / GUIDES CARDS
   ========================= */

.page-comparisons .entry-content{
  max-width:var(--max-wide);
  margin:0 auto;
  background:#fff;
}

.topivo-comp-card{
  display:inline-flex;
  flex-direction:column;
  vertical-align:top;
  width:calc(50% - 12px);
  min-height:410px;
  margin:0 12px 24px 0;
  padding:24px 24px 20px;
  background:#fff;
  border:1px solid var(--c-border);
  border-radius:var(--r-xl);
  overflow:hidden !important;
}

.topivo-comp-card:nth-of-type(2n){
  margin-right:0;
}

.topivo-comp-card h2{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
  margin:0 0 12px;
  color:var(--c-dark);
  font-size:20px;
  line-height:1.25;
  font-weight:800;
}

.topivo-comp-card > p{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:3 !important;
  overflow:hidden !important;
  margin:0 0 18px;
  color:var(--c-muted);
  font-size:15px;
  line-height:1.65;
}

.topivo-comp-tag{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  min-height:34px;
  margin-bottom:16px;
  padding:7px 14px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid var(--c-border-2);
  color:#0f172a;
  font-size:13px;
  font-weight:800;
}

.topivo-comp-links{
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:1 1 auto;
  margin:0 0 18px;
  padding:0;
  list-style:none;
}

.topivo-comp-links a{
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:#0f172a;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
}

.topivo-comp-ctaRow{
  display:flex;
  flex-wrap:nowrap;
  justify-content:center;
  gap:12px;
  margin-top:18px;
}

.topivo-comp-ctaRow .topivo-btn,
.topivo-comp-card .topivo-btn,
.topivo-guides-wrapper .guide-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:10px 16px;
  border-radius:10px;
  text-decoration:none !important;
  font-weight:800;
}

.topivo-comp-ctaRow .topivo-btn{
  flex:1 1 0;
  max-width:260px;
  background:#0f172a;
  color:#fff !important;
}

.topivo-comp-card .topivo-btn,
.topivo-comp-ctaRow .topivo-btn-ghost{
  background:#fff;
  color:#0f172a !important;
  border:1px solid var(--c-border-2);
}

.topivo-comp-card .topivo-btn{
  width:100%;
  margin-top:auto;
}

/* =========================
   TC26 BLOCK
   ========================= */

.tc26-wrap{
  max-width:1180px;
  margin:0 auto;
  padding:28px 16px 40px;
  background:transparent;
  font-family:var(--font-system);
}

.tc26-wrap,
.tc26-wrap *{
  box-sizing:border-box !important;
}

.tc26-wrap a,
.tc26-wrap a:hover,
.tc26-wrap a:focus,
.tc26-wrap a:visited{
  color:#0f172a !important;
  text-decoration:none !important;
  border:none !important;
  background:none !important;
  box-shadow:none !important;
}

.tc26-wrap .tc26-row{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  width:100% !important;
  gap:0 !important;
}

.tc26-wrap .tc26-left{
  flex:0 0 54% !important;
  width:54% !important;
  max-width:54% !important;
  min-width:0 !important;
  padding-right:30px !important;
}

.tc26-wrap .tc26-right{
  flex:0 0 46% !important;
  width:46% !important;
  max-width:46% !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
}

.tc26-wrap .tc26-main-img,
.tc26-wrap .tc26-simg{
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:16 / 9 !important;
  object-fit:cover !important;
  border:none !important;
  margin:0 !important;
}

.tc26-wrap .tc26-main-img{
  border-radius:16px !important;
  margin-bottom:16px !important;
}

.tc26-wrap .tc26-simg{
  border-radius:10px !important;
}

.tc26-wrap .tc26-kicker,
.tc26-wrap .tc26-scat{
  display:block !important;
  margin:0 0 7px !important;
  color:#92400e !important;
  font-size:10px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
}

.tc26-wrap .tc26-main-title,
.tc26-wrap .tc26-stitle{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  white-space:normal !important;
  color:#0f172a !important;
  font-weight:800 !important;
}

.tc26-wrap .tc26-main-title{
  -webkit-line-clamp:3 !important;
  margin:0 0 10px !important;
  font-size:clamp(17px,1.7vw,21px) !important;
  line-height:1.18 !important;
}

.tc26-wrap .tc26-stitle{
  -webkit-line-clamp:3 !important;
  margin:0 0 5px !important;
  font-size:15px !important;
  line-height:1.28 !important;
}

.tc26-wrap .tc26-main-exc,
.tc26-wrap .tc26-sexc{
  display:block !important;
  margin:0 !important;
  color:#475569 !important;
  font-size:14.5px !important;
  line-height:1.7 !important;
}

.tc26-wrap .tc26-sitem{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:14px !important;
}

.tc26-wrap .tc26-simg-wrap{
  flex:0 0 44% !important;
  width:44% !important;
  max-width:44% !important;
  min-width:0 !important;
}

.tc26-wrap .tc26-stext{
  flex:1 1 0 !important;
  min-width:0 !important;
}

/* =========================
   LATEST / CATEGORY CARDS
   ========================= */

.topivo-latest-reviews{
  margin:24px 0;
}

.topivo-latest-reviews-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}

.topivo-latest-review-card,
.topivo-cat-card{
  display:block;
  height:100%;
  overflow:hidden;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  text-decoration:none;
}

.topivo-latest-review-body,
.topivo-cat-card-body{
  padding:16px;
  min-width:0;
}

.topivo-latest-review-kicker{
  margin-bottom:8px;
  color:#f59e0b;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.topivo-latest-review-title{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  margin:0 0 10px;
  color:#0f172a;
  font-size:20px;
  line-height:1.35;
}

.topivo-latest-review-excerpt{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  margin:0;
  color:#64748b;
  font-size:14px;
  line-height:1.6;
}

.topivo-cat-grid-wrap{
  width:100%;
  margin:0 0 40px;
}

.topivo-cat-grid-heading{
  margin:0 0 18px;
  color:#0f172a;
  font-size:32px;
  font-weight:850;
  line-height:1.2;
}

.topivo-cat-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}

.topivo-cat-card{
  display:flex;
  flex-direction:column;
  border-radius:24px;
}

.topivo-cat-card-title{
  display:block;
  color:#0f172a;
  font-size:20px;
  font-weight:850;
  line-height:1.3;
  text-decoration:none;
}

.topivo-cat-card-excerpt{
  margin:0;
  color:#475569;
  font-size:15px;
  line-height:1.7;
}

/* =========================
   LEGAL / ABOUT / CONTACT FONT SAFETY
   ========================= */

#topivo-about-page,
#topivo-imprint-page,
.pp-wrap,
#topivo-contact-page{
  font-family:var(--font-system) !important;
}

#topivo-about-page h1,
#topivo-about-page h2,
#topivo-imprint-page .tip-hero h1,
#topivo-imprint-page .tip-section h2,
#topivo-imprint-page .tip-cta-card h2,
.pp-wrap .pp-hero h1,
.pp-wrap h2,
#topivo-contact-page .tc-hero h1,
#topivo-contact-page .tc-form-card h2{
  font-family:var(--font-system) !important;
}

/* =========================
   COOKIE BANNER
   ========================= */

.cky-consent-container,
.cky-banner-element,
#cookie-law-info-bar{
  position:fixed !important;
  z-index:99999 !important;
}

@media (min-width:769px){
  .cky-consent-container,
  .cky-banner-element,
  #cookie-law-info-bar{
    left:auto !important;
    right:16px !important;
    bottom:16px !important;
    width:min(420px,calc(100vw - 32px)) !important;
    max-width:420px !important;
    border-radius:12px !important;
    box-shadow:0 12px 30px rgba(15,23,42,.18) !important;
  }
}

/* =========================
   PAGINATION / SCROLL TOP
   ========================= */

.page-numbers,
.pagination .page-numbers,
.ast-pagination .page-numbers{
  display:inline-block;
  padding:.55em .85em;
  border:1px solid rgba(17,24,39,.22);
  border-radius:6px;
  background:#fff;
  color:#111827;
  font-weight:800;
  text-decoration:none;
}

.page-numbers.current{
  background:#0f172a;
  color:#fff;
  border-color:#0f172a;
}

#ast-scroll-top{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:2.8em !important;
  height:2.8em !important;
  padding:0 !important;
  transform:none !important;
}

/* =========================
   RESPONSIVE
   ========================= */

@media (max-width:1024px){
  .topivo-latest-reviews-grid,
  .topivo-cat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:921px){
  .topivo-comp-card{
    width:100%;
    min-height:auto;
    margin-right:0;
    padding:22px 18px 18px;
  }

  .topivo-comp-ctaRow{
    flex-direction:column;
    gap:10px;
  }

  .topivo-comp-ctaRow .topivo-btn{
    width:100%;
    max-width:100%;
  }
}

@media (max-width:900px){
  .topivo-guides-wrapper{
    padding:20px 12px 8px;
  }

  .topivo-guides-row{
    grid-template-columns:1fr;
    gap:16px;
    margin-bottom:16px;
  }

  .topivo-guides .grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:860px){
  .tc26-wrap .tc26-row{
    flex-direction:column !important;
  }

  .tc26-wrap .tc26-left,
  .tc26-wrap .tc26-right{
    flex:none !important;
    width:100% !important;
    max-width:100% !important;
    padding-right:0 !important;
  }

  .tc26-wrap .tc26-left{
    margin-bottom:20px !important;
  }

  .tc26-wrap .tc26-sitem{
    width:100% !important;
    padding:12px 0 !important;
    border-bottom:1px solid #edf0f4 !important;
    gap:12px !important;
  }

  .tc26-wrap .tc26-simg-wrap{
    flex:0 0 90px !important;
    width:90px !important;
    max-width:90px !important;
  }

  .tc26-wrap .tc26-simg{
    width:90px !important;
    height:64px !important;
    aspect-ratio:unset !important;
  }

  .tc26-wrap .tc26-scat,
  .tc26-wrap .tc26-sexc{
    display:none !important;
  }

  .tc26-wrap .tc26-stitle{
    font-size:14px !important;
    -webkit-line-clamp:2 !important;
    margin-bottom:0 !important;
  }
}

@media (max-width:768px){
  #masthead,
  .site-header,
  .ast-primary-header-bar,
  .main-header-bar,
  .ast-mobile-header-wrap{
    min-height:64px;
  }

  .sidebar,
  .widget-area{
    display:none !important;
  }

  .content-area{
    width:100% !important;
  }

  h1{
    font-size:clamp(20px,5vw,26px);
  }

  h2{
    font-size:clamp(17px,4.5vw,22px);
  }

  h3{
    font-size:clamp(15px,4vw,19px);
  }

  .tv-hero-main{
    grid-template-columns:1fr;
    gap:20px;
  }

  .tv-feature-box{
    padding:14px 0 0;
    border-left:0;
    border-top:1px solid var(--line);
  }

  .topivo-cats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px 18px;
  }

  .topivo-why-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }

  .tpv-proscons,
  .tpv-buyside,
  .tpv-who-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .topivo-latest-reviews-grid,
  .topivo-cat-grid{
    grid-template-columns:1fr;
  }

  .topivo-cat-grid-heading{
    font-size:26px;
  }
}

@media (max-width:600px){
  .tv-hero-wrap{
    padding:24px 12px 14px;
  }

  .tv-title{
    font-size:clamp(28px,9vw,40px);
  }

  .tv-desc{
    font-size:14px;
  }

  .tv-btn-primary,
  .tv-btn-secondary{
    flex:1 1 100%;
    min-width:0;
  }

  .tv-trust-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px 10px;
  }

  .topivo-cats-wrap{
    padding:24px 14px;
  }

  .topivo-cats-grid{
    grid-template-columns:1fr;
  }

  .topivo-cat{
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    gap:10px;
    align-items:start;
  }

  .topivo-why-grid{
    grid-template-columns:1fr;
  }

  .topivo-why-item{
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    align-items:start;
    text-align:left;
    gap:12px;
    padding:4px 0;
  }

  .tpv-wrap{
    padding:0 12px 72px;
  }

  .tpv-author{
    flex-direction:column;
    gap:14px;
  }
}

@media (max-width:480px){
  .tc26-wrap{
    padding:14px 12px 24px !important;
  }

  .tc26-wrap .tc26-simg-wrap{
    flex:0 0 76px !important;
    width:76px !important;
    max-width:76px !important;
  }

  .tc26-wrap .tc26-simg{
    width:76px !important;
    height:54px !important;
  }

  .tc26-wrap .tc26-stitle{
    font-size:13px !important;
  }
}

/* =========================================================
   TOPIVO LEGAL / ABOUT / CONTACT PAGES
   Clean add-on | System font | Astra-safe
   ========================================================= */

/* =========================
   ABOUT PAGE
   ========================= */

#topivo-about-page,
#topivo-about-page *,
#topivo-about-page *::before,
#topivo-about-page *::after{
  box-sizing:border-box;
}

#topivo-about-page{
  --brand:#0f172a;
  --accent:#f59e0b;
  --accent-soft:#fffbeb;
  --accent-border:#fde68a;
  --text:#1e293b;
  --muted:#64748b;
  --border:#e2e8f0;
  --surface:#f8fafc;
  --green-soft:#ecfdf5;
  --blue:#3b82f6;
  --blue-soft:#eff6ff;
  --radius:12px;
  font-family:var(--font-system) !important;
  color:var(--text);
  font-size:15.5px;
  line-height:1.75;
  background:#fff;
}

#topivo-about-page img{
  max-width:100%;
  height:auto;
  display:block;
}

#topivo-about-page a{
  color:inherit;
  text-decoration:none;
}

#topivo-about-page .tp-container{
  max-width:960px;
  margin:0 auto;
  padding:0 48px;
}

#topivo-about-page .tp-section{
  padding:64px 0;
}

#topivo-about-page .tp-divider{
  height:1px;
  background:var(--border);
  margin:0;
}

#topivo-about-page h1,
#topivo-about-page h2,
#topivo-about-page h3{
  font-family:var(--font-system) !important;
  color:var(--brand);
}

#topivo-about-page h2{
  font-size:clamp(26px,3vw,36px);
  line-height:1.2;
  font-weight:850;
  margin:0 0 16px;
  letter-spacing:-.03em;
}

#topivo-about-page p{
  color:#475569;
  font-size:15px;
  line-height:1.8;
  margin:0 0 14px;
}

#topivo-about-page p:last-child{
  margin-bottom:0;
}

#topivo-about-page .tp-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:12px;
}

#topivo-about-page .tp-label::before{
  content:"";
  width:16px;
  height:2px;
  background:var(--accent);
  border-radius:2px;
}

#topivo-about-page .tp-lead{
  max-width:680px;
  margin:0 0 40px;
  color:var(--muted);
  font-size:16px;
  line-height:1.8;
}

/* About Hero */

#topivo-about-page .tp-hero{
  background:var(--brand);
  padding:80px 0 72px;
}

#topivo-about-page .tp-hero-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:center;
}

#topivo-about-page .tp-hero-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(245,158,11,.15);
  border:1px solid rgba(245,158,11,.3);
  color:var(--accent);
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:6px 14px;
  border-radius:999px;
  margin-bottom:22px;
}

#topivo-about-page .tp-hero-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--accent);
}

#topivo-about-page .tp-hero h1{
  color:#fff;
  font-size:clamp(34px,4vw,50px);
  line-height:1.15;
  font-weight:850;
  letter-spacing:-.04em;
  margin:0 0 18px;
}

#topivo-about-page .tp-hero h1 em{
  color:var(--accent);
  font-style:normal;
}

#topivo-about-page .tp-hero-desc{
  color:rgba(255,255,255,.78);
  font-size:15px;
  line-height:1.8;
  margin-bottom:30px;
}

#topivo-about-page .tp-hero-stats{
  display:flex;
  gap:26px;
  flex-wrap:wrap;
}

#topivo-about-page .tp-stat{
  border-left:2px solid rgba(245,158,11,.35);
  padding-left:14px;
}

#topivo-about-page .tp-stat-num{
  color:#fff;
  font-size:22px;
  font-weight:850;
  line-height:1;
  margin-bottom:4px;
}

#topivo-about-page .tp-stat-label{
  font-size:12px;
  color:rgba(255,255,255,.6);
  letter-spacing:.05em;
}

#topivo-about-page .tp-hero-card{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  padding:28px;
}

#topivo-about-page .tp-hero-card-title{
  font-size:12px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.5);
  margin-bottom:18px;
}

#topivo-about-page .tp-criteria-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

#topivo-about-page .tp-criteria-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
}

#topivo-about-page .tp-criteria-icon{
  width:32px;
  height:32px;
  border-radius:8px;
  background:rgba(245,158,11,.15);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:15px;
  flex-shrink:0;
}

#topivo-about-page .tp-criteria-text{
  font-size:13px;
  color:rgba(255,255,255,.82);
}

/* About Content */

#topivo-about-page .tp-mission-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:start;
}

#topivo-about-page .tp-values-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}

#topivo-about-page .tp-value-item{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:18px 20px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
}

#topivo-about-page .tp-value-icon{
  width:36px;
  height:36px;
  border-radius:9px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  flex-shrink:0;
}

#topivo-about-page .vi-gold{
  background:var(--accent-soft);
  border:1px solid var(--accent-border);
}

#topivo-about-page .vi-green{
  background:var(--green-soft);
  border:1px solid #a7f3d0;
}

#topivo-about-page .vi-blue{
  background:var(--blue-soft);
  border:1px solid #bfdbfe;
}

#topivo-about-page .vi-gray{
  background:#f1f5f9;
  border:1px solid #e2e8f0;
}

#topivo-about-page .tp-value-content strong{
  display:block;
  font-size:14px;
  font-weight:800;
  color:var(--brand);
  margin-bottom:4px;
}

#topivo-about-page .tp-value-content span{
  font-size:13px;
  color:var(--muted);
}

#topivo-about-page .tp-process-bg{
  background:var(--surface);
}

#topivo-about-page .tp-process-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:40px;
}

#topivo-about-page .tp-step{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:24px 20px;
}

#topivo-about-page .tp-step-num{
  width:36px;
  height:36px;
  border-radius:9px;
  background:var(--brand);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:800;
  margin-bottom:14px;
}

#topivo-about-page .tp-step h3{
  font-size:14.5px;
  font-weight:800;
  margin:0 0 8px;
}

#topivo-about-page .tp-step p{
  font-size:13px;
  color:var(--muted);
  line-height:1.65;
  margin:0;
}

#topivo-about-page .tp-focus-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:40px;
}

#topivo-about-page .tp-focus-card{
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:24px;
  background:#fff;
}

#topivo-about-page .tp-focus-emoji{
  display:block;
  font-size:28px;
  margin-bottom:14px;
}

#topivo-about-page .tp-focus-card h3{
  font-size:15px;
  font-weight:800;
  margin:0 0 8px;
}

#topivo-about-page .tp-focus-card p{
  font-size:13.5px;
  color:var(--muted);
  line-height:1.7;
  margin:0;
}

/* About Commitment / Legal / Contact */

#topivo-about-page .tp-commitment-wrap{
  padding:64px 0;
}

#topivo-about-page .tp-commitment-box{
  background:var(--brand);
  border-radius:16px;
  padding:48px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:center;
}

#topivo-about-page .tp-commitment-box h2{
  color:#fff;
  margin-bottom:12px;
}

#topivo-about-page .tp-commitment-box .tp-lead{
  color:rgba(255,255,255,.62);
  margin-bottom:0;
}

#topivo-about-page .tp-commitment-checks{
  display:flex;
  flex-direction:column;
  gap:12px;
}

#topivo-about-page .tp-comm-check{
  display:flex;
  align-items:center;
  gap:12px;
  color:rgba(255,255,255,.82);
  font-size:14px;
}

#topivo-about-page .tp-check-circle{
  width:22px;
  height:22px;
  border-radius:50%;
  background:rgba(16,185,129,.2);
  border:1px solid rgba(16,185,129,.4);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

#topivo-about-page .tp-check-circle::after{
  content:"";
  width:5px;
  height:8px;
  border-right:1.5px solid #10b981;
  border-bottom:1.5px solid #10b981;
  transform:rotate(45deg) translateY(-1px);
  display:block;
}

#topivo-about-page .tp-legal-section{
  background:var(--surface);
  border-top:1px solid var(--border);
  padding:60px 0;
}

#topivo-about-page .tp-legal-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}

#topivo-about-page .tp-legal-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:24px 28px;
}

#topivo-about-page .tp-legal-card h3{
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0 0 14px;
  padding-bottom:10px;
  border-bottom:1px solid var(--border);
}

#topivo-about-page .tp-legal-row{
  display:flex;
  gap:10px;
  margin-bottom:8px;
  font-size:14px;
}

#topivo-about-page .tp-legal-key{
  min-width:110px;
  color:var(--muted);
  font-weight:700;
  flex-shrink:0;
}

#topivo-about-page .tp-legal-val{
  color:var(--text);
}

#topivo-about-page .tp-legal-val a{
  color:var(--blue);
  text-decoration:underline;
  text-underline-offset:3px;
}

#topivo-about-page .tp-legal-notice{
  background:var(--accent-soft);
  border:1px solid var(--accent-border);
  border-radius:10px;
  padding:18px 22px;
  margin-top:28px;
  font-size:13.5px;
  color:#92400e;
  line-height:1.7;
}

#topivo-about-page .tp-contact-section{
  padding:64px 0;
}

#topivo-about-page .tp-contact-inner{
  background:linear-gradient(135deg,var(--accent-soft) 0%,#fff 100%);
  border:1px solid var(--accent-border);
  border-radius:16px;
  padding:48px;
  text-align:center;
}

#topivo-about-page .tp-contact-links{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}

#topivo-about-page .tp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 24px;
  border-radius:999px;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
}

#topivo-about-page .tp-btn-primary{
  background:var(--brand);
  color:#fff;
  border:1px solid var(--brand);
}

#topivo-about-page .tp-btn-outline{
  background:transparent;
  color:var(--brand);
  border:1px solid var(--border);
}

/* =========================
   IMPRINT PAGE
   ========================= */

#topivo-imprint-page,
#topivo-imprint-page *,
#topivo-imprint-page *::before,
#topivo-imprint-page *::after{
  box-sizing:border-box;
}

#topivo-imprint-page{
  --brand:#0f172a;
  --accent:#f59e0b;
  --text:#1e293b;
  --muted:#64748b;
  --border:#e2e8f0;
  --surface:#f8fafc;
  --blue:#3b82f6;
  font-family:var(--font-system) !important;
  background:#fff;
  color:var(--text);
  font-size:15px;
  line-height:1.75;
}

#topivo-imprint-page a{
  color:var(--blue);
  text-decoration:underline;
  text-underline-offset:3px;
}

#topivo-imprint-page .tip-hero{
  background:var(--brand);
  padding:72px 24px 64px;
  text-align:center;
  position:relative;
  overflow:hidden;
}

#topivo-imprint-page .tip-hero::before,
#topivo-imprint-page .tip-hero::after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:rgba(245,158,11,.06);
}

#topivo-imprint-page .tip-hero::before{
  top:-80px;
  right:-80px;
  width:260px;
  height:260px;
}

#topivo-imprint-page .tip-hero::after{
  left:-60px;
  bottom:-60px;
  width:200px;
  height:200px;
}

#topivo-imprint-page .tip-hero-inner{
  position:relative;
  z-index:1;
  max-width:700px;
  margin:0 auto;
}

#topivo-imprint-page .tip-badge{
  display:inline-block;
  background:rgba(245,158,11,.15);
  border:1px solid rgba(245,158,11,.35);
  color:var(--accent);
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:5px 14px;
  border-radius:999px;
  margin-bottom:18px;
}

#topivo-imprint-page .tip-hero h1{
  font-family:var(--font-system) !important;
  font-size:clamp(30px,5vw,46px);
  font-weight:850;
  color:#fff;
  line-height:1.12;
  letter-spacing:-.04em;
  margin:0 0 12px;
}

#topivo-imprint-page .tip-hero p{
  font-size:14.5px;
  color:rgba(255,255,255,.68);
  max-width:500px;
  margin:0 auto;
}

#topivo-imprint-page .tip-container{
  max-width:860px;
  margin:0 auto;
  padding:48px 24px 80px;
}

#topivo-imprint-page .tip-operator-card{
  background:var(--brand);
  border-radius:14px;
  padding:28px 30px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  margin-bottom:48px;
}

#topivo-imprint-page .tip-op-group h3{
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.45);
  margin:0 0 14px;
}

#topivo-imprint-page .tip-op-row{
  display:flex;
  gap:12px;
  font-size:13.5px;
  margin-bottom:10px;
  align-items:flex-start;
}

#topivo-imprint-page .tip-op-key{
  min-width:110px;
  color:rgba(255,255,255,.55);
  flex-shrink:0;
}

#topivo-imprint-page .tip-op-val{
  color:#fff;
}

#topivo-imprint-page .tip-op-val a{
  color:var(--accent);
}

#topivo-imprint-page .tip-section{
  margin-bottom:36px;
}

#topivo-imprint-page .tip-section-label{
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:8px;
}

#topivo-imprint-page .tip-section h2{
  font-family:var(--font-system) !important;
  font-size:24px;
  font-weight:850;
  color:var(--brand);
  margin:0 0 10px;
  line-height:1.2;
}

#topivo-imprint-page .tip-section p{
  font-size:14.5px;
  color:#475569;
  margin:0 0 10px;
}

#topivo-imprint-page .tip-divider{
  height:1px;
  background:var(--border);
  margin:34px 0;
}

#topivo-imprint-page .tip-info-box{
  background:var(--surface);
  border-left:3px solid var(--accent);
  border-radius:0 8px 8px 0;
  padding:14px 16px;
  font-size:13.5px;
  color:#475569;
  line-height:1.7;
}

#topivo-imprint-page .tip-cta-card{
  background:var(--brand);
  border-radius:14px;
  padding:36px 30px;
  text-align:center;
  margin-top:48px;
}

#topivo-imprint-page .tip-cta-card h2{
  font-family:var(--font-system) !important;
  font-size:26px;
  font-weight:850;
  color:#fff;
  margin:0 0 8px;
}

#topivo-imprint-page .tip-cta-card p{
  font-size:14px;
  color:rgba(255,255,255,.6);
  margin:0;
}

#topivo-imprint-page .tip-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:18px;
  padding:11px 22px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
}

/* =========================
   PRIVACY POLICY PAGE
   ========================= */

.pp-wrap,
.pp-wrap *,
.pp-wrap *::before,
.pp-wrap *::after{
  box-sizing:border-box;
}

.pp-wrap{
  --brand:#0f172a;
  --accent:#f59e0b;
  --accent-soft:#fffbeb;
  --accent-border:#fde68a;
  --muted:#64748b;
  --border:#e2e8f0;
  --surface:#f8fafc;
  --green:#10b981;
  --green-soft:#ecfdf5;
  --green-border:#a7f3d0;
  --blue:#3b82f6;
  --blue-soft:#eff6ff;
  --blue-border:#bfdbfe;
  font-family:var(--font-system) !important;
  color:#1e293b;
  font-size:15px;
  line-height:1.75;
  background:transparent;
}

.pp-wrap a{
  color:var(--blue);
  text-decoration:underline;
  text-underline-offset:3px;
}

.pp-wrap .pp-hero{
  background:var(--brand);
  padding:72px 24px 64px;
  text-align:center;
  position:relative;
  overflow:hidden;
}

.pp-wrap .pp-hero::before,
.pp-wrap .pp-hero::after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:rgba(245,158,11,.06);
}

.pp-wrap .pp-hero::before{
  top:-80px;
  right:-80px;
  width:260px;
  height:260px;
}

.pp-wrap .pp-hero::after{
  left:-60px;
  bottom:-60px;
  width:200px;
  height:200px;
}

.pp-wrap .pp-hero-inner{
  position:relative;
  z-index:1;
  max-width:700px;
  margin:0 auto;
}

.pp-wrap .pp-badge{
  display:inline-block;
  background:rgba(245,158,11,.15);
  border:1px solid rgba(245,158,11,.35);
  color:var(--accent);
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:5px 14px;
  border-radius:999px;
  margin-bottom:18px;
}

.pp-wrap .pp-hero h1{
  font-family:var(--font-system) !important;
  font-size:clamp(30px,5vw,46px);
  font-weight:850;
  color:#fff;
  line-height:1.12;
  letter-spacing:-.04em;
  margin:0 0 16px;
}

.pp-wrap .pp-meta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
}

.pp-wrap .pp-meta span{
  font-size:12.5px;
  color:rgba(255,255,255,.72);
  display:flex;
  align-items:center;
  gap:5px;
}

.pp-wrap .pp-container{
  max-width:800px;
  margin:0 auto;
  padding:48px 24px 80px;
}

.pp-wrap .pp-summary{
  background:var(--accent-soft);
  border:1.5px solid var(--accent-border);
  border-radius:12px;
  padding:20px 24px;
  margin-bottom:40px;
  display:flex;
  gap:14px;
  align-items:flex-start;
}

.pp-wrap .pp-summary-icon{
  font-size:20px;
  flex-shrink:0;
  margin-top:2px;
}

.pp-wrap .pp-summary p{
  font-size:14px;
  color:#92400e;
  margin:0;
  line-height:1.7;
}

.pp-wrap .pp-card{
  background:var(--brand);
  border-radius:14px;
  padding:28px 30px;
  margin-bottom:44px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}

.pp-wrap .pp-cb h3{
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.45);
  margin:0 0 14px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.1);
}

.pp-wrap .pp-cr{
  display:flex;
  gap:12px;
  margin-bottom:9px;
  font-size:13.5px;
}

.pp-wrap .pp-ck{
  min-width:98px;
  color:rgba(255,255,255,.55);
  flex-shrink:0;
  font-size:13px;
}

.pp-wrap .pp-cv{
  color:#fff;
  font-size:13.5px;
  font-weight:700;
}

.pp-wrap .pp-cv a{
  color:var(--accent);
}

.pp-wrap .pp-toc{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:12px;
  padding:22px 26px;
  margin-bottom:44px;
}

.pp-wrap .pp-toc h3{
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0 0 14px;
}

.pp-wrap .pp-toc-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
}

.pp-wrap .pp-toc-item{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  color:var(--muted);
  text-decoration:none;
  padding:4px 0;
}

.pp-wrap .pp-toc-n{
  font-size:10px;
  font-weight:800;
  background:var(--accent);
  color:#fff;
  width:16px;
  height:16px;
  border-radius:4px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.pp-wrap .pp-section{
  margin-bottom:36px;
  scroll-margin-top:24px;
}

.pp-wrap .pp-label{
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:8px;
}

.pp-wrap h2{
  font-family:var(--font-system) !important;
  font-size:24px;
  font-weight:850;
  color:var(--brand);
  margin:0 0 10px;
  line-height:1.2;
}

.pp-wrap p{
  font-size:14.5px;
  color:#475569;
  line-height:1.8;
  margin:0 0 10px;
}

.pp-wrap ul{
  margin:10px 0 12px;
  padding-left:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:7px;
}

.pp-wrap li{
  font-size:14.5px;
  color:#475569;
  line-height:1.7;
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.pp-wrap li::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--accent);
  flex-shrink:0;
  margin-top:9px;
}

.pp-wrap .pp-div{
  height:1px;
  background:var(--border);
  margin:32px 0;
}

.pp-wrap .pp-box{
  background:var(--surface);
  border-left:3px solid var(--accent);
  border-radius:0 10px 10px 0;
  padding:14px 18px;
  margin:14px 0;
  font-size:13.5px;
  color:var(--muted);
  line-height:1.7;
}

.pp-wrap .pp-box-green{
  background:var(--green-soft);
  border:1px solid var(--green-border);
  border-radius:10px;
  padding:14px 18px;
  margin:14px 0;
}

.pp-wrap .pp-box-blue{
  background:var(--blue-soft);
  border:1px solid var(--blue-border);
  border-radius:10px;
  padding:14px 18px;
  margin:14px 0;
}

.pp-wrap .pp-tbl{
  width:100%;
  border-collapse:collapse;
  margin:14px 0;
  font-size:13.5px;
}

.pp-wrap .pp-tbl th{
  background:var(--brand);
  color:#fff;
  padding:10px 14px;
  text-align:left;
  font-weight:800;
  font-size:12px;
}

.pp-wrap .pp-tbl td{
  padding:10px 14px;
  border-bottom:1px solid var(--border);
  color:#475569;
  vertical-align:top;
}

.pp-wrap .pp-rights{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:14px 0;
}

.pp-wrap .pp-right{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:10px;
  padding:14px 16px;
}

.pp-wrap .pp-right h4{
  font-size:13px;
  font-weight:800;
  color:var(--brand);
  margin:0 0 5px;
}

.pp-wrap .pp-right p{
  font-size:12.5px;
  color:var(--muted);
  margin:0;
  line-height:1.6;
}

.pp-wrap .pp-cta{
  background:var(--brand);
  border-radius:14px;
  padding:36px 30px;
  text-align:center;
  margin-top:48px;
}

.pp-wrap .pp-cta h2{
  color:#fff;
  font-size:26px;
  margin-bottom:8px;
}

.pp-wrap .pp-cta p{
  font-size:14px;
  color:rgba(255,255,255,.6);
  margin-bottom:0;
}

.pp-wrap .pp-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:18px;
  padding:11px 22px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
}

/* =========================
   CONTACT PAGE
   ========================= */

#topivo-contact-page,
#topivo-contact-page *,
#topivo-contact-page *::before,
#topivo-contact-page *::after{
  box-sizing:border-box;
}

#topivo-contact-page{
  --tc-brand:#0f172a;
  --tc-accent:#f59e0b;
  --tc-accent-soft:#fffbeb;
  --tc-accent-border:#fde68a;
  --tc-text:#1e293b;
  --tc-muted:#64748b;
  --tc-border:#e2e8f0;
  --tc-bg:#ffffff;
  --tc-surface:#f8fafc;
  --tc-green:#10b981;
  --tc-green-soft:#ecfdf5;
  --tc-green-border:#a7f3d0;
  --tc-blue-soft:#eff6ff;
  --tc-blue-border:#bfdbfe;
  --tc-shadow:0 12px 30px rgba(15,23,42,.05);
  font-family:var(--font-system) !important;
  color:var(--tc-text);
  font-size:15.5px;
  line-height:1.75;
}

#topivo-contact-page img{
  max-width:100%;
  height:auto;
  display:block;
}

#topivo-contact-page a{
  color:inherit;
  text-decoration:none;
}

#topivo-contact-page .tc-hero{
  background:var(--tc-brand);
  text-align:center;
  padding:72px 24px 64px;
}

#topivo-contact-page .tc-hero-inner{
  max-width:760px;
  margin:0 auto;
}

#topivo-contact-page .tc-hero-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 16px;
  border-radius:999px;
  margin-bottom:18px;
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--tc-accent);
  background:rgba(245,158,11,.15);
  border:1px solid rgba(245,158,11,.28);
}

#topivo-contact-page .tc-hero h1{
  margin:0 0 14px;
  font-family:var(--font-system) !important;
  font-weight:850;
  font-size:clamp(32px,5vw,50px);
  line-height:1.12;
  letter-spacing:-.04em;
  color:#fff;
}

#topivo-contact-page .tc-hero h1 em{
  font-style:normal;
  color:var(--tc-accent);
}

#topivo-contact-page .tc-hero p{
  max-width:520px;
  margin:0 auto;
  color:rgba(255,255,255,.68);
  font-size:15px;
}

#topivo-contact-page .tc-container{
  width:100%;
  max-width:1120px;
  margin:0 auto;
  padding:0 24px;
}

#topivo-contact-page .tc-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:32px;
  align-items:start;
  padding:56px 0 80px;
}

#topivo-contact-page .tc-form-card,
#topivo-contact-page .tc-info-card{
  background:var(--tc-bg);
  border:1px solid var(--tc-border);
  border-radius:16px;
  box-shadow:var(--tc-shadow);
}

#topivo-contact-page .tc-form-card{
  padding:34px 34px 30px;
}

#topivo-contact-page .tc-form-card h2{
  margin:0 0 6px;
  font-family:var(--font-system) !important;
  font-size:25px;
  font-weight:850;
  line-height:1.2;
  letter-spacing:-.03em;
  color:var(--tc-brand);
}

#topivo-contact-page .tc-subtitle{
  margin:0 0 26px;
  color:var(--tc-muted);
  font-size:14px;
}

#topivo-contact-page .tc-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

#topivo-contact-page .tc-form-group{
  margin-bottom:14px;
}

#topivo-contact-page .tc-form-group label{
  display:block;
  margin-bottom:7px;
  color:var(--tc-brand);
  font-size:13px;
  font-weight:800;
  letter-spacing:.02em;
}

#topivo-contact-page input[type="text"],
#topivo-contact-page input[type="email"],
#topivo-contact-page select,
#topivo-contact-page textarea{
  width:100%;
  border:1px solid var(--tc-border);
  border-radius:10px;
  background:var(--tc-surface);
  color:var(--tc-text);
  font-family:var(--font-system) !important;
  font-size:14px;
  outline:none;
  appearance:none;
}

#topivo-contact-page input[type="text"],
#topivo-contact-page input[type="email"],
#topivo-contact-page select{
  min-height:46px;
  padding:11px 14px;
}

#topivo-contact-page textarea{
  min-height:140px;
  padding:12px 14px;
  resize:vertical;
  line-height:1.65;
}

#topivo-contact-page input:focus,
#topivo-contact-page select:focus,
#topivo-contact-page textarea:focus{
  background:#fff;
  border-color:var(--tc-accent);
  box-shadow:0 0 0 3px rgba(245,158,11,.1);
}

#topivo-contact-page select{
  padding-right:38px;
  cursor:pointer;
}

#topivo-contact-page .tc-form-note{
  margin:7px 0 0;
  color:var(--tc-muted);
  font-size:12.5px;
}

#topivo-contact-page .tc-honeypot{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
}

#topivo-contact-page .tc-btn-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:50px;
  margin-top:10px;
  padding:14px 24px;
  border:0;
  border-radius:999px;
  background:var(--tc-brand);
  color:#fff;
  font-family:var(--font-system) !important;
  font-size:14.5px;
  font-weight:800;
  letter-spacing:.02em;
  cursor:pointer;
}

#topivo-contact-page .tc-form-footer{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--tc-border);
}

#topivo-contact-page .tc-form-footer p{
  margin:0;
  color:var(--tc-muted);
  font-size:12px;
  line-height:1.7;
}

#topivo-contact-page .tc-form-footer a{
  color:#2563eb;
  text-decoration:underline;
  text-underline-offset:3px;
}

#topivo-contact-page .tc-sidebar{
  display:flex;
  flex-direction:column;
  gap:16px;
}

#topivo-contact-page .tc-info-card{
  padding:22px 22px 20px;
}

#topivo-contact-page .tc-info-card h3{
  margin:0 0 16px;
  padding-bottom:10px;
  border-bottom:1px solid var(--tc-border);
  color:var(--tc-muted);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#topivo-contact-page .tc-response-time{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border:1px solid var(--tc-green-border);
  border-radius:10px;
  background:var(--tc-green-soft);
}

#topivo-contact-page .tc-rt-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--tc-green);
  flex-shrink:0;
}

#topivo-contact-page .tc-response-time p{
  margin:0;
  color:#065f46;
  font-size:13px;
  line-height:1.6;
}

#topivo-contact-page .tc-contact-method{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:16px;
}

#topivo-contact-page .tc-contact-method:last-child{
  margin-bottom:0;
}

#topivo-contact-page .tc-method-icon{
  width:36px;
  height:36px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  flex-shrink:0;
}

#topivo-contact-page .tc-mi-yellow{
  background:var(--tc-accent-soft);
  border:1px solid var(--tc-accent-border);
}

#topivo-contact-page .tc-mi-blue{
  background:var(--tc-blue-soft);
  border:1px solid var(--tc-blue-border);
}

#topivo-contact-page .tc-method-label{
  margin-bottom:3px;
  color:var(--tc-muted);
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

#topivo-contact-page .tc-method-value{
  color:var(--tc-brand);
  font-size:14px;
  font-weight:800;
  line-height:1.5;
}

#topivo-contact-page .tc-method-value a{
  color:#2563eb;
  text-decoration:underline;
  text-underline-offset:3px;
}

#topivo-contact-page .tc-method-note{
  margin-top:2px;
  color:var(--tc-muted);
  font-size:12px;
  line-height:1.5;
}

#topivo-contact-page .tc-topics-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}

#topivo-contact-page .tc-topic-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 12px;
  border-radius:8px;
  background:var(--tc-surface);
  color:#374151;
  font-size:13.5px;
  line-height:1.55;
}

#topivo-contact-page .tc-topic-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--tc-accent);
  flex-shrink:0;
}

#topivo-contact-page .tc-legal-card{
  background:var(--tc-accent-soft);
  border-color:var(--tc-accent-border);
}

#topivo-contact-page .tc-legal-card h3{
  color:#92400e;
  border-color:rgba(146,64,14,.12);
}

#topivo-contact-page .tc-legal-card p{
  margin:0;
  color:#92400e;
  font-size:13.5px;
  line-height:1.7;
}

#topivo-contact-page .tc-legal-card a{
  color:#78350f;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* =========================
   LEGAL / CONTACT RESPONSIVE
   ========================= */

@media (max-width:980px){
  #topivo-contact-page .tc-main-grid{
    grid-template-columns:1fr;
  }

  #topivo-contact-page .tc-sidebar{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
  }

  #topivo-contact-page .tc-sidebar .tc-legal-card{
    grid-column:1 / -1;
  }
}

@media (max-width:768px){
  #topivo-about-page .tp-hero-grid,
  #topivo-about-page .tp-mission-grid,
  #topivo-about-page .tp-legal-grid,
  #topivo-about-page .tp-commitment-box{
    grid-template-columns:1fr;
  }

  #topivo-about-page .tp-hero-card{
    display:none;
  }

  #topivo-about-page .tp-process-steps{
    grid-template-columns:1fr 1fr;
  }

  #topivo-about-page .tp-focus-grid{
    grid-template-columns:1fr;
  }

  #topivo-about-page .tp-container{
    padding:0 20px;
  }

  #topivo-about-page .tp-hero{
    padding:52px 0 44px;
  }

  #topivo-about-page .tp-commitment-box,
  #topivo-about-page .tp-contact-inner{
    padding:32px 24px;
  }
}

@media (max-width:600px){
  #topivo-about-page .tp-section,
  #topivo-about-page .tp-contact-section,
  #topivo-about-page .tp-commitment-wrap{
    padding:44px 0;
  }

  #topivo-about-page .tp-process-steps{
    grid-template-columns:1fr;
  }

  #topivo-about-page .tp-hero-stats{
    gap:16px;
  }

  #topivo-about-page .tp-legal-row{
    flex-direction:column;
    gap:2px;
  }

  #topivo-about-page .tp-legal-key{
    min-width:auto;
  }

  #topivo-imprint-page .tip-operator-card,
  .pp-wrap .pp-card,
  .pp-wrap .pp-toc-grid,
  .pp-wrap .pp-rights{
    grid-template-columns:1fr;
  }

  #topivo-imprint-page .tip-container,
  .pp-wrap .pp-container{
    padding:36px 20px 60px;
  }

  #topivo-imprint-page .tip-hero,
  .pp-wrap .pp-hero{
    padding:56px 20px 48px;
  }

  #topivo-imprint-page .tip-cta-card,
  .pp-wrap .pp-cta{
    padding:28px 20px;
  }

  #topivo-contact-page{
    font-size:15px;
  }

  #topivo-contact-page .tc-hero{
    padding:56px 20px 48px;
  }

  #topivo-contact-page .tc-hero h1{
    font-size:28px;
  }

  #topivo-contact-page .tc-container{
    padding:0 16px;
  }

  #topivo-contact-page .tc-main-grid{
    padding:36px 0 60px;
  }

  #topivo-contact-page .tc-form-card{
    padding:24px 20px;
  }

  #topivo-contact-page .tc-form-row,
  #topivo-contact-page .tc-sidebar{
    grid-template-columns:1fr;
  }
}



/* Author Box — Premium Topivo */

.tpv-author,
.tpv-author-box{
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:18px;
  align-items:center;
  margin:48px 0;
  padding:26px 28px;
  background:linear-gradient(135deg,#f8fafc 0%,#ffffff 58%,#eff6ff 100%);
  border:1px solid #e2e8f0;
  border-radius:20px;
  box-shadow:0 10px 30px rgba(15,23,42,.06);
  position:relative;
  overflow:hidden;
}

.tpv-author::before,
.tpv-author-box::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:5px;
  height:100%;
  background:linear-gradient(180deg,#2563eb,#f59e0b);
}

.tpv-author-avatar{
  width:74px;
  height:74px;
  border-radius:50%;
  object-fit:cover;
  flex-shrink:0;
  background:#e5e7eb;
  border:3px solid #fff;
  box-shadow:0 8px 22px rgba(15,23,42,.16);
  position:relative;
  z-index:1;
}

.tpv-ai-label,
.tpv-author-role{
  margin:0 0 5px;
  color:#2563eb;
  font-size:10.5px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.tpv-ai-name,
.tpv-author-name{
  margin:0 0 8px;
  color:#0f172a;
  font-size:20px;
  font-weight:850;
  line-height:1.2;
  letter-spacing:-.02em;
}

.tpv-ai-name a{
  color:#0f172a !important;
  text-decoration:none !important;
  border-bottom:none !important;
}

.tpv-ai-bio,
.tpv-author-bio{
  margin:0;
  color:#475569;
  font-size:14px;
  line-height:1.7;
  max-width:720px;
}

@media(max-width:600px){
  .tpv-author,
  .tpv-author-box{
    grid-template-columns:1fr;
    text-align:center;
    justify-items:center;
    padding:26px 22px;
  }

  .tpv-author::before,
  .tpv-author-box::before{
    width:100%;
    height:5px;
  }

  .tpv-author-avatar{
    width:72px;
    height:72px;
  }
}
/* Buttons */

.tpv-cta,
.tpv-affiliate-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:12px 20px;
  border-radius:10px;
  background:#f59e0b;
  color:#fff !important;
  font-size:15px;
  font-weight:850;
  text-decoration:none !important;
  border-bottom:none !important;
}