/* Gadget Sensei Single Post Template v2.5 - extra-wide article, bottom related, FAQ blocks */
.gsbsp3-wrap {
  --gsbsp-page-bg: #000000;
  --gsbsp-surface-bg: #050805;
  --gsbsp-text: #ffffff;
  --gsbsp-muted: rgba(255,255,255,0.72);
  --gsbsp-light-muted: rgba(255,255,255,0.54);
  --gsbsp-line: rgba(30,209,5,0.14);
  --gsbsp-link: #1ED105;
  --gsbsp-accent: #1ED105;
  --gsbsp-red: #E21717;
  --gsbsp-dark-panel: #020302;
  --gsbsp-container: 1360px;
  --gsbsp-content: 1120px;
  --gsbsp-sidebar: 320px;
  width: 100%;
  color: var(--gsbsp-text);
  background:
    radial-gradient(circle at 14% 0%, rgba(30,209,5,0.16), transparent 30%),
    radial-gradient(circle at 92% 8%, rgba(8,196,13,0.12), transparent 28%),
    linear-gradient(180deg, #071006 0%, var(--gsbsp-page-bg) 38%, #000 100%);
  font-family: Arial, Helvetica, sans-serif;
  padding: 0 0 52px;
  overflow-x: clip;
}

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

.gsbsp3-wrap a { transition: color .18s ease, background-color .18s ease, border-color .18s ease, opacity .18s ease, transform .18s ease; }

.gsbsp3-container { width: min(var(--gsbsp-container), calc(100% - 48px)); margin: 0 auto; }

.gsbsp3-surface {
  background: linear-gradient(180deg, rgba(5,8,5,0.98), rgba(0,0,0,0.98));
  border-top: 1px solid rgba(30,209,5,0.14);
  border-bottom: 1px solid rgba(30,209,5,0.10);
}

.gsbsp3-layout {
  display: grid;
  grid-template-columns: minmax(0, var(--gsbsp-content));
  justify-content: center;
  align-items: start;
  width: min(var(--gsbsp-container), calc(100% - 48px));
  margin: 0 auto;
  padding: 36px 0 56px;
}

.gsbsp3-no-sidebar .gsbsp3-layout { grid-template-columns: minmax(0, var(--gsbsp-content)); }

.gsbsp3-breadcrumbs {
  padding: 14px 0;
  font-size: 13px;
  color: var(--gsbsp-light-muted);
  background: rgba(0,0,0,0.68);
  border-bottom: 1px solid rgba(30,209,5,0.10);
}

.gsbsp3-breadcrumbs .gsbsp3-container { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.gsbsp3-breadcrumbs a { color: rgba(255,255,255,0.90); text-decoration: none; font-weight: 800; }
.gsbsp3-breadcrumbs a:hover { color: var(--gsbsp-accent); }

.gsbsp3-article { min-width: 0; width: 100%; max-width: none; }
.gsbsp3-post-head,
.gsbsp3-article-content,
.gsbsp3-post-bottom { width: 100%; max-width: none; }
.gsbsp3-post-head { padding-bottom: 18px; border-bottom: 1px solid var(--gsbsp-line); margin-bottom: 24px; }
.gsbsp3-kicker-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 14px; }

.gsbsp3-kicker,
.gsbsp3-cat {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border-radius: 999px;
  line-height: 1;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  padding: 8px 11px;
}

.gsbsp3-kicker { color: #020302; background: var(--gsbsp-accent); box-shadow: 0 0 18px rgba(30,209,5,0.22); }
.gsbsp3-cat { color: #dfffd9; border: 1px solid rgba(30,209,5,0.26); background: rgba(30,209,5,0.10); }

.gsbsp3-title {
  margin: 0 0 14px;
  color: var(--gsbsp-text);
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(34px, 4.2vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.035em;
  font-weight: 950;
  text-wrap: balance;
}

.gsbsp3-meta-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 12px; }
.gsbsp3-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: var(--gsbsp-muted); font-size: 13px; line-height: 1.45; }
.gsbsp3-meta a { color: var(--gsbsp-accent); text-decoration: underline; text-underline-offset: 2px; }
.gsbsp3-meta strong { font-weight: 800; }
.gsbsp3-meta-sep { color: rgba(255,255,255,0.30); }

.gsbsp3-google-btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 38px;
  padding: 8px 14px;
  color: #111111;
  background: #ffffff;
  border: 1px solid rgba(255,255,255,0.92);
  border-radius: 12px;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 8px 22px rgba(0,0,0,0.22);
}

.gsbsp3-google-btn:hover { transform: translateY(-1px); background: #f5f5f5; color: #000; }
.gsbsp3-google-btn,
.gsbsp3-google-btn:visited,
.gsbsp3-google-btn span:not(.gsbsp3-google-icon),
.gsbsp3-google-btn:hover,
.gsbsp3-google-btn:focus,
.gsbsp3-google-btn:hover span:not(.gsbsp3-google-icon),
.gsbsp3-google-btn:focus span:not(.gsbsp3-google-icon) { color: #000000 !important; }
.gsbsp3-google-icon { width: 20px; height: 20px; display: inline-grid; place-items: center; border-radius: 999px; color: #4285f4; background: linear-gradient(135deg,#fff,#f2f2f2); font-weight: 950; font-size: 18px; line-height: 1; }

.gsbsp3-preferred-note { margin: 10px 0 0; font-size: 13px; line-height: 1.55; color: var(--gsbsp-muted); }

.gsbsp3-highlights {
  margin: 18px 0 0;
  padding: 16px 18px;
  border: 1px solid rgba(30,209,5,0.14);
  border-left: 3px solid var(--gsbsp-accent);
  border-radius: 14px;
  background: rgba(30,209,5,0.06);
}
.gsbsp3-highlights strong { display: block; color: var(--gsbsp-accent); font-size: 19px; line-height: 1.3; margin-bottom: 8px; }
.gsbsp3-highlights p { margin: 0; color: rgba(255,255,255,0.90); font-size: 18px; line-height: 1.65; }

.gsbsp3-hero-media {
  margin: 22px 0 0;
  overflow: hidden;
  background: #020302;
  border: 1px solid rgba(30,209,5,0.16);
  border-radius: 14px;
  box-shadow: 0 16px 44px rgba(0,0,0,0.38);
}
.gsbsp3-hero-image { display: block; width: 100%; height: auto; object-fit: cover; object-position: center center; }
.gsbsp3-ratio-2-1 .gsbsp3-hero-image { aspect-ratio: 2 / 1; }
.gsbsp3-ratio-16-9 .gsbsp3-hero-image { aspect-ratio: 16 / 9; }
.gsbsp3-ratio-auto .gsbsp3-hero-image { aspect-ratio: auto; }
.gsbsp3-hero-media figcaption { padding: 9px 11px; color: var(--gsbsp-light-muted); background: rgba(255,255,255,0.035); font-size: 12px; line-height: 1.45; }

.gsbsp3-article-content { color: rgba(255,255,255,0.90); font-size: 18px; line-height: 1.78; overflow-wrap: break-word; }
.gsbsp3-article-content p,
.gsbsp3-article-content ul,
.gsbsp3-article-content ol,
.gsbsp3-article-content blockquote,
.gsbsp3-article-content figure,
.gsbsp3-article-content table { margin-top: 0; margin-bottom: 24px; }

.gsbsp3-article-content h2,
.gsbsp3-article-content h3,
.gsbsp3-article-content h4 { color: #ffffff; font-family: Arial, Helvetica, sans-serif; letter-spacing: -0.024em; line-height: 1.18; margin: 38px 0 14px; font-weight: 950; }
.gsbsp3-article-content h2 { font-size: clamp(26px, 3vw, 34px); padding-left: 14px; border-left: 4px solid var(--gsbsp-accent); }
.gsbsp3-article-content h3 { font-size: clamp(22px, 2.4vw, 28px); }
.gsbsp3-article-content h4 { font-size: 21px; }
.gsbsp3-article-content a { color: var(--gsbsp-accent); text-decoration: none; border-bottom: 1px solid rgba(30,209,5,0.34); }
.gsbsp3-article-content a:hover { border-bottom-color: var(--gsbsp-accent); }
.gsbsp3-article-content ul,
.gsbsp3-article-content ol { padding-left: 24px; }
.gsbsp3-article-content li { margin-bottom: 9px; }
.gsbsp3-article-content li::marker { color: var(--gsbsp-accent); }
.gsbsp3-article-content img { max-width: 100%; height: auto; border-radius: 12px; }
.gsbsp3-article-content figure img,
.gsbsp3-article-content .full-w-img img,
.gsbsp3-article-content .wp-block-image img { display: block; width: 100%; background: #020302; border: 1px solid rgba(30,209,5,0.12); }
.gsbsp3-article-content figcaption,
.gsbsp3-article-content .wp-caption-text { color: var(--gsbsp-light-muted); font-size: 13px; line-height: 1.5; margin-top: 8px; }
.gsbsp3-article-content blockquote { border-left: 4px solid var(--gsbsp-accent); background: rgba(30,209,5,0.07); padding: 18px 20px; border-radius: 0 12px 12px 0; color: #ffffff; font-weight: 700; }

.gsbsp3-article-content table { width: 100%; border-collapse: separate; border-spacing: 0; overflow: hidden; border: 1px solid rgba(30,209,5,0.16); border-radius: 12px; font-size: 15px; background: rgba(255,255,255,0.03); }
.gsbsp3-article-content th,
.gsbsp3-article-content td { padding: 12px 14px; border-bottom: 1px solid rgba(30,209,5,0.10); text-align: left; }
.gsbsp3-article-content th { background: rgba(30,209,5,0.12); color: #ffffff; font-weight: 900; }
.gsbsp3-article-content tr:last-child td { border-bottom: 0; }
.gsbsp3-page-links { margin-top: 24px; padding: 14px; background: rgba(255,255,255,0.04); border: 1px solid rgba(30,209,5,0.12); border-radius: 12px; }

/* Bottom article sections */
.gsbsp3-post-bottom {
  display: grid;
  gap: 20px;
  margin-top: 42px;
  padding-top: 28px;
  border-top: 1px solid rgba(30,209,5,0.14);
}

.gsbsp3-bottom-section,
.gsbsp3-faq-block {
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(30,209,5,0.14);
  border-radius: 18px;
  padding: 20px;
  box-shadow: 0 14px 42px rgba(0,0,0,0.18);
}

.gsbsp3-bottom-section h2,
.gsbsp3-faq-head h2 {
  position: relative;
  margin: 0 0 16px;
  padding-left: 14px;
  color: #ffffff;
  font-size: 23px;
  line-height: 1.2;
  font-weight: 950;
  letter-spacing: -0.02em;
}

.gsbsp3-bottom-section h2::before,
.gsbsp3-faq-head h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 2px;
  width: 3px;
  border-radius: 99px;
  background: var(--gsbsp-accent);
  box-shadow: 0 0 16px rgba(30,209,5,0.45);
}

.gsbsp3-share-list,
.gsbsp3-tag-list { display: flex; flex-wrap: wrap; gap: 8px; }
.gsbsp3-share-list a,
.gsbsp3-tag-list a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(30,209,5,0.10);
  border: 1px solid rgba(30,209,5,0.22);
  color: #dfffd9;
  padding: 9px 13px;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
}
.gsbsp3-share-list a:hover,
.gsbsp3-tag-list a:hover { background: var(--gsbsp-accent); color: #050805; }

.gsbsp3-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.gsbsp3-related-card {
  min-width: 0;
  overflow: hidden;
  border-radius: 16px;
  background: rgba(0,0,0,0.28);
  border: 1px solid rgba(30,209,5,0.13);
}

.gsbsp3-related-thumb {
  display: block;
  aspect-ratio: 16 / 10;
  background: #030403;
  overflow: hidden;
  text-decoration: none;
  border-bottom: 1px solid rgba(30,209,5,0.12);
}

.gsbsp3-related-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gsbsp3-related-thumb span { width: 100%; height: 100%; display: grid; place-items: center; color: #050805; background: var(--gsbsp-accent); font-weight: 950; font-size: 28px; }

.gsbsp3-related-title {
  display: block;
  color: rgba(255,255,255,0.94);
  font-size: 15px;
  line-height: 1.45;
  font-weight: 850;
  text-decoration: none;
  padding: 13px 14px 15px;
}
.gsbsp3-related-title:hover { color: var(--gsbsp-accent); }

/* FAQ marker block */
.gsbsp3-faq-block {
  margin: 34px 0;
  background:
    radial-gradient(circle at top right, rgba(30,209,5,0.10), transparent 36%),
    rgba(255,255,255,0.026);
}

.gsbsp3-faq-head span {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 8px;
  border-radius: 999px;
  background: var(--gsbsp-accent);
  color: #020302;
  font-size: 11px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: .08em;
  padding: 7px 10px;
}

.gsbsp3-faq-list { display: grid; gap: 10px; }
.gsbsp3-faq-item {
  border: 1px solid rgba(30,209,5,0.14);
  border-radius: 14px;
  background: rgba(0,0,0,0.24);
  overflow: hidden;
}

.gsbsp3-faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: 16px 46px 16px 16px;
  color: #ffffff;
  font-size: 17px;
  line-height: 1.35;
  font-weight: 900;
  position: relative;
}

.gsbsp3-faq-item summary::-webkit-details-marker { display: none; }
.gsbsp3-faq-item summary::after {
  content: "+";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(30,209,5,0.12);
  color: var(--gsbsp-accent);
  font-weight: 950;
}

.gsbsp3-faq-item[open] summary::after { content: "−"; }
.gsbsp3-faq-answer {
  padding: 0 16px 16px;
  color: rgba(255,255,255,0.84);
  font-size: 16.5px;
  line-height: 1.72;
}
.gsbsp3-faq-answer p:last-child { margin-bottom: 0; }

/* Ensure older author boxes cannot appear after upgrading. */
.gsbsp3-author-box { display: none !important; }

@media (max-width: 1180px) { .gsbsp3-layout { width: min(100%, calc(100% - 32px)); } }

@media (max-width: 1024px) {
  .gsbsp3-layout { grid-template-columns: 1fr; width: min(100%, calc(100% - 26px)); padding: 30px 0 42px; }
  .gsbsp3-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gsbsp3-share-list a { flex: 1 1 120px; }
}

@media (max-width: 767px) {
  .gsbsp3-wrap { padding-bottom: 30px; }
  .gsbsp3-container { width: min(100%, calc(100% - 24px)); }
  .gsbsp3-layout { width: min(100%, calc(100% - 24px)); padding: 24px 0 34px; gap: 24px; }
  .gsbsp3-breadcrumbs { padding: 12px 0; font-size: 12px; }
  .gsbsp3-kicker-row { margin-bottom: 12px; }
  .gsbsp3-title { font-size: 30px; line-height: 1.12; letter-spacing: -0.03em; }
  .gsbsp3-meta-row { align-items: flex-start; gap: 12px; }
  .gsbsp3-meta { font-size: 12.5px; gap: 7px; }
  .gsbsp3-google-btn { width: 100%; justify-content: center; min-height: 42px; border-radius: 14px; }
  .gsbsp3-preferred-note { font-size: 12.5px; }
  .gsbsp3-highlights { padding: 14px; }
  .gsbsp3-highlights p,
  .gsbsp3-article-content { font-size: 16.5px; line-height: 1.76; }
  .gsbsp3-article-content h2 { font-size: 25px; }
  .gsbsp3-article-content h3 { font-size: 22px; }
  .gsbsp3-article-content table { display: block; overflow-x: auto; white-space: nowrap; }
  .gsbsp3-bottom-section,
  .gsbsp3-faq-block { padding: 15px; border-radius: 15px; }
  .gsbsp3-bottom-section h2,
  .gsbsp3-faq-head h2 { font-size: 20px; }
  .gsbsp3-related-grid { grid-template-columns: 1fr; }
  .gsbsp3-faq-item summary { font-size: 16px; padding: 14px 42px 14px 14px; }
  .gsbsp3-faq-answer { font-size: 15.5px; padding: 0 14px 14px; }
  .gsbsp3-share-list a,
  .gsbsp3-tag-list a { flex: 1 1 auto; }
}
