/* =====================================================================
   Vyroweb blog post skin. Overrides the older single-post snippets,
   several of which use !important, so key rules here do too (with
   higher specificity via body.vyro-post).
   ===================================================================== */
body.vyro-post{background:#F7F5FD!important;margin:0}
body.vyro-post .vyro-post-hero,body.vyro-post .vyro-post-body,body.vyro-post .vyro-related,body.vyro-post .vyro-post-cta-strip{font-family:Inter,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.vyro-post :is(.vyro-post-hero,.vyro-post-body,.vyro-related,.vyro-post-cta-strip) :is(h1,h2,h3,h4,p,li,a,span,div){font-family:inherit}

/* Full-bleed: the theme constrains main#content to a narrow column */
body.vyro-post main#content,body.vyro-post .site-main,body.vyro-post .page-content{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}

/* ---------- Hero ---------- */
body.vyro-post .vyro-post-hero{position:relative;overflow:hidden;isolation:isolate;background:#14042E!important;padding:170px 24px 90px!important}
body.vyro-post .vyro-post-hero:before{inset:-10%;z-index:-2;filter:blur(30px);background:
  radial-gradient(520px 420px at 85% 15%,rgba(124,58,237,.8),transparent 70%),
  radial-gradient(420px 360px at 100% 80%,rgba(192,38,211,.35),transparent 70%),
  radial-gradient(520px 460px at 0% 100%,rgba(76,29,149,.95),transparent 70%)!important;
  animation:vyroPostDrift 18s ease-in-out infinite alternate}
body.vyro-post .vyro-post-hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 40%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 70% 70% at 50% 40%,#000 30%,transparent 75%)}
@keyframes vyroPostDrift{to{transform:translate(30px,-20px) scale(1.06)}}
body.vyro-post .vyro-post-hero-inner{max-width:880px}
body.vyro-post .vyro-post-breadcrumb{font-size:13px}
body.vyro-post .vyro-post-cat{background:rgba(196,181,253,.1);border-color:rgba(196,181,253,.28);color:#DDD6FE;letter-spacing:.14em;padding:6px 14px}
body.vyro-post .vyro-post-hero h1{font-weight:900!important;letter-spacing:-.04em!important;line-height:1.06;font-size:clamp(34px,4.8vw,58px)!important;
  background:linear-gradient(100deg,#fff 0%,#fff 55%,#DDD6FE 80%,#F0ABFC 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
body.vyro-post .vyro-post-meta-row{border-top-color:rgba(255,255,255,.1)}
body.vyro-post .vyro-post-author-ava{width:44px;height:44px;background:linear-gradient(135deg,#9169E4,#5B21B6);box-shadow:0 0 0 3px rgba(196,181,253,.25)}
body.vyro-post .vyro-post-info-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:6px 12px;color:rgba(255,255,255,.75)}

/* ---------- Layout & article ---------- */
body.vyro-post .vyro-post-body{max-width:1240px;gap:48px;padding-top:0!important;margin-top:-40px;position:relative;z-index:2}
body.vyro-post .vyro-post-content{border-radius:28px;border:1px solid #EDE9FE;padding:56px 60px;box-shadow:0 40px 80px -40px rgba(31,7,66,.35)}
body.vyro-post .vyro-post-content h2{font-size:clamp(24px,2.6vw,32px)!important;font-weight:900!important;letter-spacing:-.03em!important;color:#380D6F!important;line-height:1.15!important;margin:1.9em 0 .6em;scroll-margin-top:110px}
body.vyro-post .vyro-post-content h3{font-size:21px!important;font-weight:800!important;letter-spacing:-.02em!important;color:#380D6F!important;scroll-margin-top:110px}
body.vyro-post .vyro-post-content h4{font-size:17px!important;font-weight:700!important;color:#5B21B6!important}
body.vyro-post .vyro-post-content p{font-size:17.5px!important;line-height:1.8!important;color:#334155!important}
body.vyro-post .vyro-post-content ul li,body.vyro-post .vyro-post-content ol li{font-size:17px;line-height:1.75!important;color:#334155}
body.vyro-post .vyro-post-content ul{list-style:none;padding-left:0}
body.vyro-post .vyro-post-content ul>li{position:relative;padding-left:28px}
body.vyro-post .vyro-post-content ul>li:before{content:"";position:absolute;left:6px;top:.72em;width:8px;height:8px;border-radius:50%;background:#7C3AED;box-shadow:0 0 0 4px #EDE9FE}
body.vyro-post .vyro-post-content ol li::marker{color:#7C3AED;font-weight:800}
body.vyro-post .vyro-post-content strong{color:#1E293B;font-weight:700!important}
body.vyro-post .vyro-post-content a{color:#6D28D9;text-decoration:underline;text-decoration-color:#C4B5FD;text-underline-offset:3px;text-decoration-thickness:2px}
body.vyro-post .vyro-post-content a:hover{text-decoration-color:#7C3AED}
body.vyro-post .vyro-post-content blockquote,body.vyro-post .vyro-post-content .callout,body.vyro-post .vyro-post-content .wp-block-callout{background:linear-gradient(135deg,#F5F3FF,#FDF4FF);border:1px solid #EDE9FE;border-left:5px solid #7C3AED;border-radius:0 18px 18px 0}
body.vyro-post .vyro-post-content table{border-radius:16px;overflow:hidden;box-shadow:0 0 0 1px #EDE9FE}
body.vyro-post .vyro-post-content th{background:linear-gradient(135deg,#5B21B6,#7C3AED)}
body.vyro-post .vyro-post-content img{border-radius:18px}

body.vyro-post .vyro-post-footer{border-top-color:#EDE9FE}
body.vyro-post .vyro-post-tag-item{background:#F5F3FF;border:1px solid #EDE9FE;color:#6D28D9}
body.vyro-post .vyro-share-btn{border-color:#DDD6FE;color:#5B21B6}
body.vyro-post .vyro-share-btn:hover{background:#7C3AED;border-color:#7C3AED;color:#fff}

/* ---------- Sidebar ---------- */
body.vyro-post .vyro-post-sidebar{top:110px;margin-top:0}
body.vyro-post .vyro-sidebar-card{border-radius:22px;border-color:#EDE9FE;box-shadow:0 14px 34px -20px rgba(56,13,111,.3)}
body.vyro-post .vyro-sidebar-card h3{font-size:12.5px!important;font-weight:800!important;letter-spacing:.14em;text-transform:uppercase;color:#6D28D9!important;border-bottom-color:#F1EEFA}
body.vyro-post .vyro-toc a{font-size:14.5px;color:#334155;border-radius:8px}
body.vyro-post .vyro-toc a:hover{color:#6D28D9;background:#F5F3FF;padding-left:10px}
body.vyro-post .vyro-sidebar-cta{position:relative;overflow:hidden;isolation:isolate;background:#14042E!important;border-radius:22px;padding:32px 26px}
body.vyro-post .vyro-sidebar-cta:before{content:"";position:absolute;inset:-30%;z-index:-1;filter:blur(20px);background:radial-gradient(240px 200px at 90% 0%,rgba(124,58,237,.85),transparent 70%),radial-gradient(220px 200px at 0% 100%,rgba(192,38,211,.4),transparent 70%)}
body.vyro-post .vyro-sidebar-cta h3{font-size:20px!important;font-weight:900!important;letter-spacing:-.02em}
body.vyro-post .vyro-sidebar-cta a{border-radius:12px;padding:13px 18px;font-size:14px}

/* ---------- Related + CTA strip ---------- */
body.vyro-post .vyro-related{background:#fff;border-top:0;padding:100px 24px}
body.vyro-post .vyro-related-inner{max-width:1240px}
body.vyro-post .vyro-related-inner h2{font-size:clamp(28px,3.6vw,42px)!important;font-weight:900!important;letter-spacing:-.035em;color:#380D6F}
body.vyro-post .vyro-related-grid{gap:22px}
body.vyro-post .vyro-rel-card{border-radius:24px;border-color:#EDE9FE;transition:transform .3s,box-shadow .3s}
body.vyro-post .vyro-rel-card:hover{transform:translateY(-6px);box-shadow:0 40px 80px -28px rgba(31,7,66,.4)}
body.vyro-post .vyro-rel-thumb{position:relative;overflow:hidden;height:160px;background:#14042E;font-size:42px}
body.vyro-post .vyro-rel-thumb:before{content:"";position:absolute;inset:-20%;filter:blur(18px);background:radial-gradient(200px 160px at 80% 10%,rgba(124,58,237,.9),transparent 70%),radial-gradient(180px 160px at 0% 100%,rgba(192,38,211,.5),transparent 70%)}
body.vyro-post .vyro-rel-thumb:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:28px 28px}
body.vyro-post .vyro-rel-body{padding:22px 22px 24px}
body.vyro-post .vyro-rel-body h3{font-size:18px!important;font-weight:800!important;letter-spacing:-.02em;color:#380D6F}
body.vyro-post .vyro-post-cta-strip{position:relative;overflow:hidden;isolation:isolate;max-width:1240px;margin:0 auto 110px;border-radius:32px;background:#14042E!important;padding:80px 32px!important}
body.vyro-post .vyro-post-cta-strip:before{content:"";position:absolute;inset:-20%;z-index:-1;filter:blur(30px);background:radial-gradient(420px 300px at 85% 0%,rgba(124,58,237,.85),transparent 70%),radial-gradient(380px 300px at 0% 100%,rgba(192,38,211,.45),transparent 70%)}
body.vyro-post .vyro-post-cta-strip:after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:7%;top:-36px;z-index:-1;background:radial-gradient(circle at 30% 30%,#fff 0%,#C4B5FD 18%,#7C3AED 55%,#2E0A5E 100%)}
body.vyro-post .vyro-post-cta-strip h2{font-size:clamp(28px,4vw,46px)!important;font-weight:900!important;letter-spacing:-.035em}
body.vyro-post a.vyro-cta-btn-primary{border-radius:14px!important;background:linear-gradient(135deg,#6D28D9 0%,#7C3AED 50%,#9169E4 100%)!important;box-shadow:0 14px 30px -10px rgba(124,58,237,.75)!important;padding:16px 28px!important}
body.vyro-post a.vyro-cta-btn-secondary{border-radius:14px!important;padding:16px 28px!important}

@media (max-width:900px){
  body.vyro-post .vyro-post-body{margin-top:-30px}
  body.vyro-post .vyro-post-content{padding:34px 26px!important;border-radius:22px}
  body.vyro-post .vyro-post-cta-strip{margin:0 16px 80px;border-radius:26px}
}
@media (max-width:640px){
  body.vyro-post .vyro-post-hero{padding:120px 16px 70px!important}
  body.vyro-post .vyro-post-hero h1{font-size:clamp(28px,8vw,36px)!important}
  body.vyro-post .vyro-post-info{margin-left:0;flex-wrap:wrap;gap:8px}
  body.vyro-post .vyro-post-content p{font-size:16.5px!important}
  body.vyro-post .vyro-related{padding:70px 16px}
}
@media (prefers-reduced-motion:reduce){body.vyro-post .vyro-post-hero:before{animation:none}}

/* Related cards: stack thumb above body, no link underlines */
body.vyro-post .vyro-rel-card{display:flex!important;flex-direction:column!important;text-decoration:none!important}
body.vyro-post .vyro-rel-card *{text-decoration:none!important}
body.vyro-post .vyro-rel-thumb{width:100%!important;flex:none;display:flex;align-items:center;justify-content:center}
body.vyro-post .vyro-rel-thumb>*{position:relative;z-index:1}
/* Breadcrumb */
body.vyro-post .vyro-post-breadcrumb{display:flex!important;flex-wrap:wrap;align-items:center;gap:6px 8px}
body.vyro-post .vyro-post-breadcrumb>*{flex:none;display:inline-block}
body.vyro-post .vyro-post-breadcrumb a{text-decoration:none}
@media (max-width:640px){body.vyro-post .vyro-post-breadcrumb>span:last-child{flex-basis:100%}}
body.vyro-post .vyro-post-breadcrumb a{min-height:0!important;height:auto!important;padding:0!important;line-height:1.5!important;display:inline-flex!important;align-items:center}
body.vyro-post .vyro-rel-tag{font-size:11.5px}
body.vyro-post .vyro-post-author-role{font-size:12px}
body.vyro-post .vyro-post-cat{font-size:11.5px}
body.vyro-post .vyro-post-content,body.vyro-post .vyro-post-body>*{min-width:0}
body.vyro-post .vyro-post-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
body.vyro-post .vyro-post-content pre{overflow-x:auto}
@media (max-width:400px){body.vyro-post .vyro-post-content{padding:28px 18px!important}}
/* Blog images (1.6.0) */
body.vyro-post .vyro-post-feature,body.vyro-post .vyro-post-photo{margin:0 0 36px;padding:0;border-radius:20px;overflow:hidden;background:#14042E;box-shadow:0 30px 60px -34px rgba(31,7,66,.55)}
body.vyro-post .vyro-post-photo{margin:40px 0 8px;background:#EDE9FE;box-shadow:0 24px 50px -32px rgba(31,7,66,.45)}
body.vyro-post .vyro-post-feature img,body.vyro-post .vyro-post-photo img{display:block;width:100%!important;height:auto!important;aspect-ratio:16/9;object-fit:cover;max-width:none;border-radius:0;margin:0}
body.vyro-post .vyro-post-photo+h2{margin-top:1.4em}
body.vyro-post .vyro-rel-thumb.has-img{padding:0;font-size:0}
body.vyro-post .vyro-rel-thumb.has-img:before,body.vyro-post .vyro-rel-thumb.has-img:after{display:none}
body.vyro-post .vyro-rel-thumb.has-img img{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover;transition:transform .5s}
body.vyro-post .vyro-rel-card:hover .vyro-rel-thumb.has-img img{transform:scale(1.05)}
@media (max-width:640px){body.vyro-post .vyro-post-feature{margin-bottom:26px;border-radius:14px}body.vyro-post .vyro-post-photo{margin:30px 0 4px;border-radius:14px}}
