
:root{
  --bg: #ffffff;
  --text: #0b0f19;
  --muted: #5b6475;
  --border: rgba(15, 23, 42, 0.10);
  --card: #ffffff;
  --accent: #4f46e5;
  --accent2: #a21caf;
  --shadow: 0 10px 28px rgba(2, 6, 23, 0.06), 0 2px 8px rgba(2, 6, 23, 0.04);
  --radius: 16px;
  --radius-sm: 12px;
  --max: 1120px;
  --reading: 760px;
  --font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

a{color:inherit; text-decoration:none}
a:hover{color:var(--accent)}
img{max-width:100%; height:auto; border-radius:12px}

.container{max-width:var(--max); margin:0 auto; padding:0 20px}
.reading{max-width:var(--reading); margin:0 auto}

.site-header{
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(255,255,255,0.88);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--border);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 0;
  gap:16px;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  letter-spacing:-0.02em;
}
.brand .logo{
  width:34px;
  height:34px;
  border-radius:10px;
  background:linear-gradient(135deg, var(--accent), var(--accent2));
  box-shadow:0 8px 18px rgba(79,70,229,0.28);
  flex:0 0 auto;
}
.brand span{font-size:16px}
.brand .custom-logo-link{display:flex; align-items:center; line-height:0;}
.brand .custom-logo{display:block; width:auto; max-height:56px; max-width:320px; object-fit:contain; border-radius:0;}
.site-header .custom-logo-link img{display:block;}

.nav{display:flex; align-items:center; gap:18px; flex-wrap:wrap}

.nav ul{list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:18px; flex-wrap:wrap}
.nav li{margin:0; padding:0}
.nav li a{color:var(--muted); font-weight:600; font-size:14px}
.nav li a:hover{color:var(--text)}

.cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:12px;
  font-weight:700;
  font-size:14px;
  background:linear-gradient(135deg, var(--accent), var(--accent2));
  color:#fff;
  box-shadow:0 14px 24px rgba(79,70,229,0.18);
}
.cta:hover{opacity:0.92; color:#fff}

.mobile-toggle{
  display:none;
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  background:#fff;
  border-radius:12px;
  padding:0;
}

.hamburger{
  display:inline-flex;
  flex-direction:column;
  gap:4px;
}
.hamburger span{
  width:18px;
  height:2px;
  background:var(--text);
  border-radius:2px;
  display:block;
  transition:transform 160ms ease, opacity 160ms ease;
}
.mobile-toggle.is-open .hamburger span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.mobile-toggle.is-open .hamburger span:nth-child(2){opacity:0;}
.mobile-toggle.is-open .hamburger span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
@media (max-width: 840px){
  .nav{display:none}
  .mobile-toggle{display:inline-flex}
  .nav.is-open{display:flex; flex-direction:column; align-items:flex-start; padding:10px 0 16px}
  .header-inner{align-items:flex-start}
}

.site-main{padding:26px 0 60px}
.hero{
  padding:26px 0 0;
}
.hero .kicker{
  color:var(--muted);
  font-weight:700;
  font-size:13px;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.hero h1{
  margin:8px 0 10px;
  font-size:36px;
  line-height:1.12;
  letter-spacing:-0.03em;
}
.hero p{
  margin:0;
  color:var(--muted);
  font-size:18px;
  max-width:58ch;
}
@media (max-width: 520px){
  .hero h1{font-size:30px}
  .hero p{font-size:16px}
}

.grid{
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  gap:18px;
}
.card{
  background:var(--card);
  border:1px solid rgba(15, 23, 42, 0.11);
  border-radius:20px;
  box-shadow:var(--shadow);
  overflow:hidden;
  transition:transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}
.card.pad{padding:18px}
.card:hover{
  transform:translateY(-2px);
  border-color:rgba(79, 70, 229, 0.14);
  box-shadow:0 18px 38px rgba(2, 6, 23, 0.08), 0 2px 10px rgba(2, 6, 23, 0.05);
}

.post-grid{margin-top:22px}
.post-grid .post-card{
  grid-column:span 6;
}
@media (max-width: 980px){
  .post-grid .post-card{grid-column:span 12}
}

.post-card{position:relative; background:#fff;}
.post-card .thumb{display:block; border-bottom:1px solid rgba(15, 23, 42, 0.08); border-radius:20px 20px 0 0; overflow:hidden; background:#eef2ff;}
.post-card .thumb img{display:block; width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:0; transition:transform 220ms ease;}
.post-card:hover .thumb img{transform:scale(1.015);}
.post-card .pad{padding:16px 18px 20px;}
.post-card .meta{display:flex; gap:10px; flex-wrap:wrap; color:var(--muted); font-size:13px}
.badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--border);
  color:var(--muted);
  font-weight:700;
  font-size:12px;
  background:rgba(79,70,229,0.06);
}
.post-card h2{margin:10px 0 8px; font-size:20px; line-height:1.2}
.post-card p{margin:0; color:var(--muted)}

.single-wrap{margin-top:20px}
.single-header{
  padding:18px 0 8px;
}
.single-title{
  margin:10px 0 6px;
  font-size:38px;
  line-height:1.15;
  letter-spacing:-0.03em;
}
.single-meta{color:var(--muted); font-size:14px}
.single-thumb{margin:18px 0 0}
.single-thumb{overflow:hidden}
.single-thumb img{border-radius:18px; width:100%; height:auto; display:block; margin:0 auto}

.content{
  margin-top:18px;
  font-size:17px;
}
.content h2{margin-top:28px; font-size:26px; letter-spacing:-0.02em}
.content h3{margin-top:24px; font-size:20px}
.content p{margin:14px 0}
.content ul, .content ol{padding-left:22px}
.content li{margin:6px 0}
.content blockquote{
  margin:18px 0;
  padding:14px 16px;
  border-left:4px solid var(--accent);
  background:rgba(79,70,229,0.06);
  border-radius:12px;
  color:var(--text);
}
.content code{
  background:rgba(2,6,23,0.06);
  padding:2px 6px;
  border-radius:8px;
  font-size:0.95em;
}
.content pre{
  background:#0b1220;
  color:#e5e7eb;
  padding:14px;
  border-radius:14px;
  overflow:auto;
}
.content table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  margin:18px 0;
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
}
.content th, .content td{
  padding:12px 12px;
  border-bottom:1px solid var(--border);
  vertical-align:top;
}
.content th{
  text-align:left;
  background:rgba(2,6,23,0.04);
  font-weight:800;
}
.content tr:last-child td{border-bottom:none}

.pager{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:26px;
}
.pager a{
  flex:1;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:14px;
  color:var(--muted);
  font-weight:800;
}
.pager a:hover{color:var(--text); border-color:rgba(79,70,229,0.35); background:rgba(79,70,229,0.05)}

.sponsor-wrap{margin:18px auto 0; max-width:var(--reading); display:grid; gap:12px}
.sponsor-wrap.is-stack{grid-template-columns:1fr}
@media (min-width: 980px){
  .sponsor-wrap.is-grid{grid-template-columns:1fr 1fr}
}
.sponsor{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(79,70,229,0.25);
  background:linear-gradient(180deg, rgba(79,70,229,0.08), rgba(162,28,175,0.05));
}
.sponsor .left{min-width:0}
.sponsor .label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:900;
  color:rgba(79,70,229,1);
  letter-spacing:0.02em;
  text-transform:uppercase;
}
.sponsor .label .dot{
  width:8px; height:8px; border-radius:99px;
  background:linear-gradient(135deg, var(--accent), var(--accent2));
}
.sponsor .headline{margin:6px 0 4px; font-size:16px; font-weight:900; letter-spacing:-0.02em}
.sponsor .copy{margin:0; color:var(--muted); font-size:14px}
.sponsor .btn{
  flex:0 0 auto;
  align-self:center;
  padding:10px 12px;
  border-radius:12px;
  font-weight:900;
  font-size:13px;
  background:#fff;
  border:1px solid rgba(79,70,229,0.35);
  color:var(--text);
}
.sponsor .btn:hover{background:rgba(79,70,229,0.08); border-color:rgba(79,70,229,0.55)}

.lead-card{
  margin:22px auto 0;
  max-width:var(--reading);
  padding:18px;
  border-radius:18px;
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  background:#fff;
}
.lead-card .top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.lead-card h3{
  margin:0;
  font-size:18px;
  letter-spacing:-0.02em;
}
.lead-card p{margin:6px 0 0; color:var(--muted)}
.lead-form{
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  gap:12px;
  margin-top:12px;
}
.lead-form .field{grid-column:span 6}
.lead-form .field.full{grid-column:span 12}
.lead-form label{
  display:block;
  font-size:12px;
  color:var(--muted);
  font-weight:800;
  margin-bottom:6px;
}
.lead-form input, .lead-form select, .lead-form textarea{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  outline:none;
  font-size:14px;
  background:#fff;
}
.lead-form textarea{min-height:96px; resize:vertical}
.lead-form input:focus, .lead-form select:focus, .lead-form textarea:focus{
  border-color:rgba(79,70,229,0.55);
  box-shadow:0 0 0 4px rgba(79,70,229,0.10);
}
.lead-form .submit{
  grid-column:span 12;
  display:flex;
  align-items:center;
  gap:12px;
}
.lead-form button{
  border:none;
  cursor:pointer;
}
.lead-form .status{
  color:var(--muted);
  font-weight:700;
  font-size:13px;
}
@media (max-width: 680px){
  .lead-form .field{grid-column:span 12}
  .sponsor{flex-direction:column; align-items:stretch}
  .sponsor .btn{width:100%; text-align:center}
}

.amazon-box{
  border:1px solid var(--border);
  border-radius:16px;
  padding:14px 16px;
  background:rgba(2,6,23,0.02);
  margin:18px 0;
}
.amazon-box .row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.amazon-box h4{margin:0; font-size:16px}
.amazon-box p{margin:6px 0 0; color:var(--muted)}
.amazon-box .btn{
  padding:10px 12px;
  border-radius:12px;
  font-weight:900;
  font-size:13px;
  background:#fff;
  border:1px solid var(--border);
}
.amazon-box .btn:hover{background:rgba(2,6,23,0.04)}
.amazon-box .disclosure{margin-top:10px; font-size:12px; color:var(--muted)}

.site-footer{
  border-top:1px solid var(--border);
  padding:24px 0;
  color:var(--muted);
  font-size:13px;
}
.footer-inner{
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.footer-inner a{color:var(--muted); font-weight:800}
.footer-inner a:hover{color:var(--text)}


.subscribe-card{
  margin:22px auto 0;
  max-width:var(--reading);
  padding:18px;
  border-radius:18px;
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  background:#fff;
}
.subscribe-card .top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.subscribe-card h3{
  margin:0;
  font-size:18px;
  letter-spacing:-0.02em;
}
.subscribe-card p{margin:6px 0 0; color:var(--muted)}
.subscribe-form{margin-top:12px}
.subscribe-form label{
  display:block;
  font-size:12px;
  color:var(--muted);
  font-weight:800;
  margin-bottom:6px;
}
.subscribe-form input[type="email"],
.subscribe-form input[type="text"]{
  width:100%;
  padding:11px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
  outline:none;
}
.subscribe-form input[type="email"]:focus,
.subscribe-form input[type="text"]:focus{
  border-color:rgba(79,70,229,0.45);
  box-shadow:0 0 0 4px rgba(79,70,229,0.12);
}
.subscribe-form .row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.subscribe-form .consent{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:12px;
  color:var(--muted);
  margin-top:10px;
}
.subscribe-form .consent input{margin-top:3px}
.subscribe-form .status{
  margin-top:10px;
  font-size:13px;
  color:var(--muted);
}



/* Base button style (subscribe, etc.) */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:12px;
  font-weight:900;
  font-size:14px;
  border:1px solid rgba(79,70,229,0.35);
  background:#fff;
  color:var(--text);
  cursor:pointer;
}
.btn:hover{background:rgba(79,70,229,0.06); border-color:rgba(79,70,229,0.55)}
.btn:disabled{opacity:0.6; cursor:not-allowed}

.btn-primary{
  border:0;
  color:#fff;
  background:linear-gradient(135deg, var(--accent), var(--accent2));
  box-shadow:0 14px 24px rgba(79,70,229,0.18);
}
.btn-primary:hover{opacity:0.94; color:#fff}

.subscribe-form .field{flex:1; min-width:180px}
.subscribe-form .row + .row{margin-top:12px}




/* Blog listing layout with sticky right cards */
.layout{
  margin-top:22px;
}
.layout-main{
  min-width:0;
}
.sidebar-float{
  position:static;
}
.layout-aside .subscribe-card,
.layout-aside .lead-card{
  max-width:none;
  margin:0 0 16px;
}

.mobile-actionbar{
  display:none;
  position:fixed;
  left:12px;
  right:12px;
  bottom:12px;
  z-index:50;
  gap:10px;
  padding:10px;
  background:rgba(255,255,255,0.92);
  backdrop-filter:saturate(180%) blur(10px);
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:var(--shadow);
}
.mobile-actionbar a{
  flex:1;
  text-align:center;
}

@media (min-width: 1024px){
  .layout{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 360px;
    gap:28px;
    align-items:start;
  }
  .sidebar-float{
    position:sticky;
    top:88px;
  }
}

@media (max-width: 1023px){
  .mobile-actionbar{
    display:flex;
  }
  body{
    padding-bottom:92px;
  }
}

/* Safe YouTube / video embed fix */
.content figure.wp-block-embed,
.content figure.wp-block-embed-youtube{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:22px auto !important;
  padding:0 !important;
  clear:both !important;
  float:none !important;
  position:static !important;
}

/* Wrapper controls the aspect ratio */
.content figure.wp-block-embed .wp-block-embed__wrapper,
.content figure.wp-block-embed-youtube .wp-block-embed__wrapper{
  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  aspect-ratio:16 / 9 !important;
  height:auto !important;
  margin:0 auto !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:18px !important;
  background:#f3f4f6 !important;
}

/* Only iframe inside the wrapper should be absolute */
.content figure.wp-block-embed .wp-block-embed__wrapper iframe,
.content figure.wp-block-embed-youtube .wp-block-embed__wrapper iframe{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  border:0 !important;
  border-radius:18px !important;
  float:none !important;
}

/* Raw YouTube iframe fallback: never let it float */
.content > iframe[src*="youtube.com"],
.content > iframe[src*="youtu.be"],
.content > iframe[src*="youtube-nocookie.com"]{
  position:static !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  aspect-ratio:16 / 9 !important;
  margin:22px auto !important;
  border:0 !important;
  border-radius:18px !important;
  float:none !important;
  clear:both !important;
}

/* === v1.1.7 surgical media + form + comments fixes === */

/* Featured image: keep it centered and make it match article width. */
.single-thumb,
.fr-featured-wrap{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  max-width:var(--reading) !important;
  margin:18px auto 0 !important;
  padding:0 !important;
  overflow:visible !important;
}

.single-thumb img,
.single-thumb img.wp-post-image,
.single-thumb img.fr-featured,
.fr-featured{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  margin-left:auto !important;
  margin-right:auto !important;
  border-radius:18px !important;
  object-fit:cover !important;
}

/* Content images should never sit left by accident. */
.content img,
.content figure.wp-block-image,
.content figure.wp-block-image img,
.content .wp-caption,
.content .wp-caption img{
  display:block !important;
  max-width:100% !important;
  height:auto !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.content figure.wp-block-image,
.content .wp-caption{
  margin-top:18px !important;
  margin-bottom:18px !important;
}

/* YouTube and video embeds: same width as featured image, centered, 16:9. */
.content figure.wp-block-embed,
.content figure.wp-block-embed-youtube,
.content .wp-block-embed,
.content .embed-youtube,
.content .video-container,
.content .youtube-player{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:22px auto !important;
}

.content figure.wp-block-embed .wp-block-embed__wrapper,
.content figure.wp-block-embed-youtube .wp-block-embed__wrapper,
.content .wp-block-embed__wrapper{
  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  aspect-ratio:16 / 9 !important;
  padding:0 !important;
  margin:0 auto !important;
  overflow:hidden !important;
  border-radius:18px !important;
  background:rgba(2,6,23,0.04) !important;
}

.content figure.wp-block-embed .wp-block-embed__wrapper iframe,
.content figure.wp-block-embed-youtube .wp-block-embed__wrapper iframe,
.content .wp-block-embed__wrapper iframe,
.content .wp-block-embed__wrapper embed,
.content .wp-block-embed__wrapper object{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  margin:0 !important;
  border:0 !important;
  border-radius:18px !important;
}

/* Raw YouTube iframes not wrapped by Gutenberg. */
.content iframe[src*="youtube.com"],
.content iframe[src*="youtu.be"],
.content iframe[src*="youtube-nocookie.com"]{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  aspect-ratio:16 / 9 !important;
  height:auto !important;
  min-height:360px;
  margin:22px auto !important;
  border:0 !important;
  border-radius:18px !important;
}

@media (max-width:680px){
  .content iframe[src*="youtube.com"],
  .content iframe[src*="youtu.be"],
  .content iframe[src*="youtube-nocookie.com"]{
    min-height:auto;
  }
}

/* Buttons: force all form buttons into the design system. */
.btn,
button.btn,
input.btn,
input[type="submit"].btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:10px 14px !important;
  border-radius:12px !important;
  font-weight:800 !important;
  font-size:14px !important;
  border:1px solid rgba(15,23,42,0.12) !important;
  background:#fff !important;
  color:var(--text) !important;
  cursor:pointer !important;
  text-decoration:none !important;
  line-height:1.2 !important;
}

.btn:hover{background:rgba(79,70,229,0.06) !important; border-color:rgba(79,70,229,0.25) !important; color:var(--text) !important;}

.btn-primary,
button.btn-primary,
input.btn-primary,
.lead-form button[type="submit"],
.subscribe-form button[type="submit"],
#commentform .form-submit input[type="submit"],
#comments input#submit{
  border:0 !important;
  color:#fff !important;
  background:linear-gradient(135deg, var(--accent), var(--accent2)) !important;
  box-shadow:0 14px 24px rgba(79,70,229,0.18) !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}

.btn-primary:hover,
.lead-form button[type="submit"]:hover,
.subscribe-form button[type="submit"]:hover,
#commentform .form-submit input[type="submit"]:hover,
#comments input#submit:hover{
  opacity:0.94 !important;
  color:#fff !important;
}

/* Comments: premium card layout. */
.comments-area{margin-top:22px !important;}
.comments-card{border:1px solid var(--border); border-radius:18px; background:#fff; box-shadow:var(--shadow); padding:18px;}
.comments-title,.comment-reply-title{margin:0 0 12px; font-size:18px; font-weight:900; letter-spacing:-0.02em;}
.comment-list,.comment-list .children{list-style:none; margin:0; padding:0;}
.comment-list > li{margin-top:12px;}
.comment-body{border:1px solid rgba(15,23,42,0.10); border-radius:16px; padding:14px 16px; background:#fff;}
.comment-meta{display:flex; align-items:center; gap:10px; margin-bottom:8px; flex-wrap:wrap;}
.comment-author{display:flex; align-items:center; gap:10px; font-weight:900;}
.comment-author .avatar{border-radius:999px;}
.comment-metadata{margin-left:auto; font-size:12px; color:var(--muted);}
.comment-metadata a{color:var(--muted);}
.comment-metadata a:hover{color:var(--text);}
.comment-content p{margin:10px 0 0; color:var(--text);}
.reply{margin-top:10px;}
.reply a{display:inline-flex; padding:8px 10px; border-radius:12px; border:1px solid var(--border); color:var(--muted); font-weight:800; font-size:13px;}
.reply a:hover{background:rgba(79,70,229,0.06); border-color:rgba(79,70,229,0.25); color:var(--text);}
.comment-list .children{margin-left:18px; margin-top:10px; border-left:2px solid rgba(15,23,42,0.08); padding-left:14px;}
.comment-form{display:grid; grid-template-columns:repeat(12,1fr); gap:12px; margin-top:14px;}
.comment-form .field{grid-column:span 6; margin:0;}
.comment-form .field.full{grid-column:span 12;}
.comment-form label{display:block; font-size:12px; color:var(--muted); font-weight:800; margin-bottom:6px;}
.comment-form input,.comment-form textarea{width:100%; padding:12px; border-radius:12px; border:1px solid var(--border); outline:none; font-size:14px; background:#fff;}
.comment-form textarea{min-height:110px; resize:vertical;}
.comment-form input:focus,.comment-form textarea:focus{border-color:rgba(79,70,229,0.55); box-shadow:0 0 0 4px rgba(79,70,229,0.10);}
.comment-form .form-submit{grid-column:span 12; margin:0;}
@media (max-width:680px){.comment-form .field{grid-column:span 12;}.comment-list .children{margin-left:10px; padding-left:10px;}.comment-metadata{margin-left:0;}}



/* === v1.1.8 consolidated fixes: media centering, left/right rails, admin-facing form stability === */

/* 1) Article media must stay centered. This overrides old WP/embed/iframe widths. */
.single-main-col .reading,
.single-header.reading,
.single-thumb.reading,
.content.reading,
.comments-area.reading{
  margin-left:auto !important;
  margin-right:auto !important;
}

.single-thumb,
.fr-featured-wrap{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  max-width:var(--reading) !important;
  margin:18px auto 0 !important;
  padding:0 !important;
  text-align:center !important;
}

.single-thumb img,
.single-thumb img.wp-post-image,
.single-thumb img.fr-featured,
.fr-featured{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 auto !important;
  border-radius:18px !important;
  object-fit:cover !important;
}

/* YouTube/Gutenberg embeds: same width as featured image, centered, 16:9. */
.content figure.wp-block-embed,
.content figure.wp-block-embed-youtube,
.content .wp-block-embed,
.content .wp-block-video,
.content .embed-youtube,
.content .video-container,
.content .youtube-player{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:22px auto !important;
  text-align:center !important;
}

.content figure.wp-block-embed .wp-block-embed__wrapper,
.content figure.wp-block-embed-youtube .wp-block-embed__wrapper,
.content .wp-block-embed__wrapper,
.content .wp-block-video,
.content .embed-youtube,
.content .video-container{
  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  aspect-ratio:16 / 9 !important;
  padding:0 !important;
  margin:0 auto !important;
  overflow:hidden !important;
  border-radius:18px !important;
  background:rgba(2,6,23,0.04) !important;
}

.content .wp-block-embed__wrapper iframe,
.content figure.wp-block-embed iframe,
.content iframe[src*="youtube.com"],
.content iframe[src*="youtu.be"],
.content iframe[src*="youtube-nocookie.com"]{
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  margin:0 auto !important;
  border:0 !important;
  border-radius:18px !important;
}

/* Raw non-YouTube iframes should still not drift left. */
.content iframe:not([src*="youtube.com"]):not([src*="youtu.be"]):not([src*="youtube-nocookie.com"]){
  display:block !important;
  max-width:100% !important;
  margin:22px auto !important;
}

/* 2) Desktop single-post floating cards: subscribe left, lead form right. */
.single-floating-layout{
  max-width:1440px;
  margin:0 auto;
  padding-left:20px;
  padding-right:20px;
}

.single-main-col{
  min-width:0;
}

.single-rail{
  display:none;
}

.single-mobile-cards{
  display:block;
  margin-top:22px;
}

.single-mobile-cards .subscribe-card,
.single-mobile-cards .lead-card{
  margin-top:16px;
}

@media (min-width:1280px){
  .single-floating-layout{
    display:grid;
    grid-template-columns:280px minmax(0, var(--reading)) 320px;
    gap:28px;
    align-items:start;
    justify-content:center;
  }

  .single-rail{
    display:block;
    min-width:0;
  }

  .single-rail-sticky{
    position:sticky;
    top:92px;
  }

  .single-mobile-cards{
    display:none;
  }

  .single-rail .subscribe-card,
  .single-rail .lead-card{
    margin:0;
    max-width:none;
    padding:14px;
    border-radius:18px;
  }

  .single-rail .subscribe-card h3,
  .single-rail .lead-card h3{
    font-size:16px;
  }

  .single-rail .subscribe-card p,
  .single-rail .lead-card p{
    font-size:13px;
  }

  .single-rail .lead-card .top,
  .single-rail .subscribe-card .top{
    display:block;
  }

  .single-rail .lead-card .top .cta{
    margin-top:12px;
    width:100%;
  }

  .single-rail .lead-form{
    grid-template-columns:1fr;
  }

  .single-rail .lead-form .field,
  .single-rail .lead-form .field.full,
  .single-rail .lead-form .submit{
    grid-column:1 / -1;
  }

  .single-rail .subscribe-form .row{
    display:block;
  }

  .single-rail .subscribe-form .field{
    margin-top:10px;
    min-width:0;
  }

  .single-rail .subscribe-form button,
  .single-rail .lead-form button{
    width:100%;
  }
}

/* 3) Archive/search left + right rail layout without touching the front page index. */
.layout-three{
  margin-top:22px;
  display:flex;
  flex-direction:column;
  gap:22px;
}

.layout-three .layout-main{order:1;}
.layout-three .layout-aside-left{order:2;}
.layout-three .layout-aside-right{order:3;}

.layout-three .layout-aside .subscribe-card,
.layout-three .layout-aside .lead-card{
  max-width:var(--reading);
  margin:0 auto;
}

@media (min-width:1240px){
  .layout-three{
    display:grid;
    grid-template-columns:280px minmax(0, 1fr) 320px;
    gap:24px;
    align-items:start;
  }

  .layout-three .layout-main,
  .layout-three .layout-aside-left,
  .layout-three .layout-aside-right{order:initial;}

  .layout-three .sidebar-float{
    position:sticky;
    top:92px;
  }

  .layout-three .layout-aside .subscribe-card,
  .layout-three .layout-aside .lead-card{
    max-width:none;
    margin:0;
    padding:14px;
  }

  .layout-three .layout-aside .lead-card .top,
  .layout-three .layout-aside .subscribe-card .top{
    display:block;
  }

  .layout-three .layout-aside .lead-card .top .cta{
    margin-top:12px;
    width:100%;
  }

  .layout-three .layout-aside .lead-form{
    grid-template-columns:1fr;
  }

  .layout-three .layout-aside .lead-form .field,
  .layout-three .layout-aside .lead-form .field.full,
  .layout-three .layout-aside .lead-form .submit{
    grid-column:1 / -1;
  }

  .layout-three .layout-aside .subscribe-form .row{
    display:block;
  }

  .layout-three .layout-aside .subscribe-form .field{
    margin-top:10px;
    min-width:0;
  }

  .layout-three .layout-aside .subscribe-form button,
  .layout-three .layout-aside .lead-form button{
    width:100%;
  }
}

/* Mobile/tablet quick action bar for single/archive/search pages. */
@media (max-width:1279px){
  .single-mobile-actionbar,
  .mobile-actionbar{
    display:flex !important;
  }
  body{
    padding-bottom:92px;
  }
}

@media (min-width:1280px){
  .single-mobile-actionbar,
  .mobile-actionbar{
    display:none !important;
  }
}

/* 4) Button safety: request callback, subscribe, comments. */
.btn,
button.btn,
input.btn,
.lead-form button[type="submit"],
.subscribe-form button[type="submit"],
#commentform .form-submit input[type="submit"],
#commentform .form-submit button[type="submit"],
#comments input#submit,
#comments button#submit{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  padding:10px 14px !important;
  border-radius:12px !important;
  font-weight:900 !important;
  font-size:14px !important;
  cursor:pointer !important;
  text-decoration:none !important;
}

.btn-primary,
button.btn-primary,
input.btn-primary,
.lead-form button[type="submit"],
.subscribe-form button[type="submit"],
#commentform .form-submit input[type="submit"],
#commentform .form-submit button[type="submit"],
#comments input#submit,
#comments button#submit{
  border:0 !important;
  color:#fff !important;
  background:linear-gradient(135deg, var(--accent), var(--accent2)) !important;
  box-shadow:0 14px 24px rgba(79,70,229,0.18) !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}

.btn-primary:hover,
button.btn-primary:hover,
input.btn-primary:hover,
.lead-form button[type="submit"]:hover,
.subscribe-form button[type="submit"]:hover,
#commentform .form-submit input[type="submit"]:hover,
#commentform .form-submit button[type="submit"]:hover,
#comments input#submit:hover,
#comments button#submit:hover{
  opacity:0.94 !important;
  color:#fff !important;
}

/* 5) Comment field stability. */
.comment-form input,
.comment-form textarea,
#commentform input[type="text"],
#commentform input[type="email"],
#commentform textarea{
  width:100% !important;
  padding:12px !important;
  border-radius:12px !important;
  border:1px solid var(--border) !important;
  outline:none !important;
  background:#fff !important;
  color:var(--text) !important;
}

#commentform input:focus,
#commentform textarea:focus{
  border-color:rgba(79,70,229,0.55) !important;
  box-shadow:0 0 0 4px rgba(79,70,229,0.10) !important;
}

/* === v1.2.2 sponsor banner sizing + placement system === */
.fr-ai-ad-placement{
  width:100%;
  max-width:var(--reading);
  margin:20px auto;
  display:grid;
  gap:14px;
}
.fr-ai-ad-placement-under_header,
.fr-ai-ad-placement-before_footer{
  max-width:var(--max);
  padding:0 20px;
  margin:18px auto;
}
.fr-ai-ad-placement-below_subscribe_form{
  max-width:none;
  margin:14px 0 0;
}
.fr-ai-ad-shell{
  width:100%;
  max-width:var(--ad-max, var(--reading));
  margin:0 auto;
}
.fr-ai-ad-size-small{--ad-max:720px;}
.fr-ai-ad-size-medium{--ad-max:760px;}
.fr-ai-ad-size-large{--ad-max:920px;}
.fr-ai-ad-size-hero{--ad-max:1120px;}
.fr-ai-ad-size-sidebar{--ad-max:340px;}
.fr-ai-ad-link{
  display:block;
  color:inherit;
  text-decoration:none;
}
.fr-ai-ad-link:hover{color:inherit;}
.fr-ai-ad-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  border:1px solid rgba(79,70,229,0.20);
  border-radius:20px;
  background:linear-gradient(135deg, rgba(79,70,229,0.08), rgba(162,28,175,0.045));
  box-shadow:var(--shadow);
  padding:16px;
  overflow:hidden;
  transition:transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.fr-ai-ad-link:hover .fr-ai-ad-card{
  transform:translateY(-1px);
  border-color:rgba(79,70,229,0.36);
  box-shadow:0 18px 38px rgba(2,6,23,0.08), 0 2px 10px rgba(2,6,23,0.05);
}
.fr-ai-ad-body{min-width:0;}
.fr-ai-ad-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  font-weight:900;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--accent);
}
.fr-ai-ad-label span{
  width:8px;
  height:8px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--accent), var(--accent2));
}
.fr-ai-ad-card h3{
  margin:6px 0 4px;
  font-size:18px;
  line-height:1.18;
  letter-spacing:-0.025em;
}
.fr-ai-ad-card p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.45;
}
.fr-ai-ad-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:12px;
  padding:9px 12px;
  border-radius:12px;
  font-weight:900;
  font-size:13px;
  background:#fff;
  border:1px solid rgba(79,70,229,0.28);
  color:var(--text);
}
.fr-ai-ad-media{
  width:124px;
  max-width:32vw;
}
.fr-ai-ad-media img{
  display:block;
  width:100%;
  aspect-ratio:1.35 / 1;
  object-fit:cover;
  border-radius:16px;
  margin:0;
}
.fr-ai-ad-image-left .fr-ai-ad-card{grid-template-columns:auto minmax(0,1fr);}
.fr-ai-ad-image-left .fr-ai-ad-media{order:-1;}
.fr-ai-ad-image-top .fr-ai-ad-card{grid-template-columns:1fr;}
.fr-ai-ad-image-top .fr-ai-ad-media{width:100%; max-width:none; order:-1;}
.fr-ai-ad-image-top .fr-ai-ad-media img{aspect-ratio:16 / 7;}
.fr-ai-ad-image-none .fr-ai-ad-card{grid-template-columns:1fr;}

/* Size variations */
.fr-ai-ad-size-small .fr-ai-ad-card{padding:12px 14px; border-radius:16px;}
.fr-ai-ad-size-small .fr-ai-ad-card h3{font-size:15px;}
.fr-ai-ad-size-small .fr-ai-ad-card p{font-size:13px;}
.fr-ai-ad-size-small .fr-ai-ad-media{width:86px;}
.fr-ai-ad-size-small .fr-ai-ad-cta{padding:7px 10px; font-size:12px;}

.fr-ai-ad-size-large .fr-ai-ad-card{padding:22px; border-radius:24px; gap:22px;}
.fr-ai-ad-size-large .fr-ai-ad-card h3{font-size:24px;}
.fr-ai-ad-size-large .fr-ai-ad-card p{font-size:16px;}
.fr-ai-ad-size-large .fr-ai-ad-media{width:190px;}
.fr-ai-ad-size-large .fr-ai-ad-cta{padding:11px 14px;}

.fr-ai-ad-size-hero .fr-ai-ad-card{padding:28px; border-radius:28px; gap:26px;}
.fr-ai-ad-size-hero .fr-ai-ad-card h3{font-size:30px;}
.fr-ai-ad-size-hero .fr-ai-ad-card p{font-size:17px; max-width:62ch;}
.fr-ai-ad-size-hero .fr-ai-ad-media{width:280px;}
.fr-ai-ad-size-hero .fr-ai-ad-cta{padding:12px 16px; font-size:14px;}

.fr-ai-ad-size-sidebar .fr-ai-ad-card{
  grid-template-columns:1fr;
  padding:14px;
  border-radius:18px;
}
.fr-ai-ad-size-sidebar .fr-ai-ad-card h3{font-size:16px;}
.fr-ai-ad-size-sidebar .fr-ai-ad-card p{font-size:13px;}
.fr-ai-ad-size-sidebar .fr-ai-ad-media{width:100%; max-width:none; order:-1;}
.fr-ai-ad-size-sidebar .fr-ai-ad-media img{aspect-ratio:16 / 8;}
.fr-ai-ad-size-sidebar .fr-ai-ad-cta{width:100%;}

/* Single post recommended layout: article + right subscribe rail only. */
.single-layout-subscribe-right{
  display:grid;
  grid-template-columns:minmax(0, var(--reading)) 330px;
  gap:30px;
  align-items:start;
  justify-content:center;
}
.single-layout-subscribe-right .single-main-col{min-width:0;}
.single-rail-subscribe .single-rail-sticky{
  position:sticky;
  top:96px;
}
.single-rail-subscribe .subscribe-card,
.single-rail-subscribe .fr-ai-ad-placement-below_subscribe_form{
  max-width:none;
}
.single-rail-subscribe .subscribe-card{
  margin-top:18px;
}
.single-mobile-cards{display:none;}
.after-comments-lead .lead-card{margin-top:22px;}

/* Middle conversion block */
.fr-ai-mid-conversion{
  margin:30px auto !important;
  padding:18px;
  border:1px solid rgba(15,23,42,0.10);
  border-radius:22px;
  background:rgba(2,6,23,0.018);
}
.fr-ai-mid-conversion-head{
  margin-bottom:14px;
}
.fr-ai-mid-conversion-head span{
  display:inline-flex;
  font-size:12px;
  font-weight:900;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--accent);
}
.fr-ai-mid-conversion-head p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:14px;
}
.fr-ai-mid-conversion-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.fr-ai-mid-conversion .subscribe-card,
.fr-ai-mid-conversion .lead-card{
  margin:0;
  max-width:none;
  height:100%;
}
.fr-ai-mid-conversion .lead-form,
.fr-ai-mid-conversion .subscribe-form{
  margin-top:12px;
}

/* Give subscribe email + button more breathing room everywhere. */
.subscribe-form .row{
  gap:16px !important;
  row-gap:14px !important;
}
.subscribe-form .row + .row{
  margin-top:14px !important;
}
.subscribe-form button[type="submit"]{
  min-width:118px;
  padding-left:18px !important;
  padding-right:18px !important;
}

/* Final safe video rules: prevent floating/absolute leakage. */
.content figure.wp-block-embed,
.content figure.wp-block-embed-youtube,
.content .wp-block-embed{
  position:static !important;
  float:none !important;
  clear:both !important;
}
.content figure.wp-block-embed .wp-block-embed__wrapper,
.content figure.wp-block-embed-youtube .wp-block-embed__wrapper,
.content .wp-block-embed__wrapper{
  position:relative !important;
  overflow:hidden !important;
}
.content figure.wp-block-embed .wp-block-embed__wrapper iframe,
.content figure.wp-block-embed-youtube .wp-block-embed__wrapper iframe,
.content .wp-block-embed__wrapper iframe{
  position:absolute !important;
  inset:0 !important;
}
.content > iframe[src*="youtube.com"],
.content > iframe[src*="youtu.be"],
.content > iframe[src*="youtube-nocookie.com"]{
  position:static !important;
  float:none !important;
  clear:both !important;
}

@media (max-width:1279px){
  .single-layout-subscribe-right{
    display:block;
  }
  .single-rail-subscribe{
    display:none;
  }
  .single-mobile-cards{
    display:block;
    margin-top:22px;
  }
  .fr-ai-mid-conversion-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:720px){
  .fr-ai-ad-card,
  .fr-ai-ad-image-left .fr-ai-ad-card,
  .fr-ai-ad-image-right .fr-ai-ad-card{
    grid-template-columns:1fr;
  }
  .fr-ai-ad-media,
  .fr-ai-ad-size-large .fr-ai-ad-media,
  .fr-ai-ad-size-hero .fr-ai-ad-media{
    width:100%;
    max-width:none;
    order:-1;
  }
  .fr-ai-ad-media img{
    aspect-ratio:16 / 8;
  }
  .fr-ai-ad-size-hero .fr-ai-ad-card h3{font-size:24px;}
  .fr-ai-ad-placement-under_header,
  .fr-ai-ad-placement-before_footer{padding:0 14px;}
}

/* === Mobile navbar fix === */
@media (max-width: 840px) {
  .site-header {
    z-index: 9999;
    overflow: visible;
  }

  .site-header .header-inner {
    position: relative;
    align-items: center !important;
    min-height: 64px;
  }

  .site-header .brand {
    min-width: 0;
    flex: 1 1 auto;
  }

  .site-header .brand .custom-logo {
    max-width: min(220px, calc(100vw - 112px)) !important;
    max-height: 48px !important;
    width: auto !important;
    height: auto !important;
  }

  .site-header .mobile-toggle {
    display: inline-flex !important;
    flex: 0 0 44px;
    margin-left: auto;
    z-index: 10002;
  }

  .site-header .nav {
    display: none !important;
  }

  .site-header .nav.is-open {
    display: flex !important;
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    padding: 18px;
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 18px;
    box-shadow: var(--shadow);
    z-index: 10001;
  }

  .site-header .nav.is-open ul {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    width: 100%;
    flex-wrap: nowrap;
  }

  .site-header .nav.is-open li {
    width: 100%;
  }

  .site-header .nav.is-open li a {
    display: block;
    width: 100%;
    padding: 8px 0;
    font-size: 16px;
    line-height: 1.4;
  }

  .site-header .nav.is-open .cta {
    width: 100%;
    margin-top: 4px;
    padding: 12px 14px;
  }
}

/* === Subscribe form gap fix === */
.subscribe-form button[type="submit"] {
  margin-top: 12px !important;
}


/* === v1.2.7 affiliate and sponsored disclosure system === */
.fr-ai-disclosure-box{
  margin-top:14px !important;
  margin-bottom:18px !important;
  padding:12px 14px;
  border:1px solid rgba(79,70,229,0.18);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(79,70,229,0.06), rgba(162,28,175,0.035));
  color:var(--text);
}
.fr-ai-disclosure-box .fr-ai-disclosure-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:4px;
  font-size:11px;
  font-weight:900;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--accent);
}
.fr-ai-disclosure-box p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.fr-ai-disclosure-box a{
  color:var(--text);
  font-weight:900;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.fr-ai-footer-disclosure{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(15,23,42,0.08);
}
.fr-ai-footer-disclosure p{
  margin:0;
  max-width:860px;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
.fr-ai-footer-disclosure a{
  color:var(--muted);
  font-weight:900;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.fr-ai-footer-disclosure a:hover{color:var(--text);}
@media (max-width:680px){
  .fr-ai-disclosure-box{
    margin-top:12px !important;
    margin-bottom:16px !important;
  }
}
