/* ============================================================
   AABforAndroid - App Store Skin
   An app/game download layout built on the PlayerX blog markup.
   Loaded after the parent + child stylesheets, before Additional CSS.
   ============================================================ */

:root{
  --aab-teal:#18C999;
  --aab-teal-dark:#009E5E;
  --aab-orange:#FA8A03;
  --aab-orange-dark:#e07a02;
  --aab-blue:#007BFE;
  --aab-ink:#0F172A;
  --aab-muted:#64748B;
  --aab-line:#E2E8F0;
  --aab-surface:#ffffff;
  --aab-radius:14px;
  --aab-radius-sm:10px;
  --aab-shadow:0 1px 2px rgba(15,23,42,.06), 0 4px 12px rgba(15,23,42,.05);
  --aab-shadow-hover:0 8px 24px rgba(15,23,42,.12);
  --aab-gap:22px;
}

/* ------------------------------------------------------------
   1. Section headings  ("Latest Games", "Most Downloaded", ...)
   ------------------------------------------------------------ */
.aab-section-head{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;margin:0 0 20px;padding:0 0 12px;
  border-bottom:1px solid var(--aab-line);
}
.aab-section-head h2,
.aab-section-head h3{
  position:relative;margin:0;padding-left:14px;
  font-size:20px;line-height:1.2;font-weight:800;letter-spacing:.2px;
  color:var(--aab-ink);text-transform:uppercase;
}
.aab-section-head h2:before,
.aab-section-head h3:before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:5px;height:1.05em;border-radius:3px;
  background:linear-gradient(180deg,var(--aab-teal),var(--aab-teal-dark));
}
.aab-section-head .aab-viewall{
  flex:0 0 auto;font-size:12px;font-weight:700;text-transform:uppercase;
  letter-spacing:.5px;color:var(--aab-teal-dark);text-decoration:none;
}
.aab-section-head .aab-viewall:hover{color:var(--aab-orange)}

/* ------------------------------------------------------------
   2. Search hero
   ------------------------------------------------------------ */
.aab-hero{
  position:relative;overflow:hidden;
  padding:44px 24px;margin:0 0 34px;
  border-radius:var(--aab-radius);
  background:linear-gradient(135deg,var(--aab-teal-dark) 0%,var(--aab-teal) 55%,#05D3D8 100%);
  text-align:center;
}
.aab-hero h1{
  margin:0 0 6px;color:#fff;font-size:30px;line-height:1.2;font-weight:800;
  letter-spacing:.2px;
}
.aab-hero p.aab-hero-sub{
  margin:0 auto 22px;max-width:620px;color:rgba(255,255,255,.9);
  font-size:15px;line-height:1.5;
}
.aab-hero .widget_search,
.aab-hero .vc_wp_search{max-width:640px;margin:0 auto}
.aab-hero form.searchform .input-holder{
  position:relative;display:flex;align-items:center;
  background:#fff;border-radius:999px;overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.aab-hero form.searchform input.search-field{
  flex:1 1 auto;border:0!important;background:transparent!important;
  height:56px;padding:0 20px 0 26px;
  font-size:15px;color:var(--aab-ink);
}
.aab-hero form.searchform input.search-field::placeholder{color:#94A3B8}
.aab-hero form.searchform button.edgtf-search-submit{
  flex:0 0 auto;height:44px;margin-right:6px;padding:0 26px;
  border:0;border-radius:999px;cursor:pointer;
  background:var(--aab-orange);color:#fff;font-size:15px;
  transition:background .18s ease;
}
.aab-hero form.searchform button.edgtf-search-submit:hover{background:var(--aab-orange-dark)}

/* popular tag chips under the search box */
.aab-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:18px auto 0;max-width:760px}
.aab-chips a{
  display:inline-block;padding:6px 14px;border-radius:999px;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);
  color:#fff;font-size:12px;font-weight:600;text-decoration:none;
  transition:background .18s ease,border-color .18s ease;
}
.aab-chips a:hover{background:#fff;border-color:#fff;color:var(--aab-teal-dark)}

/* ------------------------------------------------------------
   3. Category tiles
   ------------------------------------------------------------ */
.aab-cats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin:0 0 34px}
.aab-cats a{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  padding:20px 10px;text-decoration:none;text-align:center;
  background:var(--aab-surface);border:1px solid var(--aab-line);
  border-radius:var(--aab-radius);box-shadow:var(--aab-shadow);
  color:var(--aab-ink);font-size:13px;font-weight:700;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.aab-cats a:hover{
  transform:translateY(-3px);box-shadow:var(--aab-shadow-hover);
  border-color:var(--aab-teal);color:var(--aab-teal-dark);
}
.aab-cats .aab-cat-ico{
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  border-radius:12px;font-size:20px;
  background:rgba(24,201,153,.12);color:var(--aab-teal-dark);
}

/* ------------------------------------------------------------
   4. APP CARD  - the masonry/grid post item
   ------------------------------------------------------------ */
.edgtf-blog-holder.edgtf-blog-masonry article,
.edgtf-blog-list-holder .edgtf-bl-item,
.edgtf-related-posts-holder .edgtf-related-post{
  background:var(--aab-surface);
  border:1px solid var(--aab-line);
  border-radius:var(--aab-radius);
  box-shadow:var(--aab-shadow);
  overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.edgtf-blog-holder.edgtf-blog-masonry article:hover,
.edgtf-related-posts-holder .edgtf-related-post:hover{
  transform:translateY(-4px);
  box-shadow:var(--aab-shadow-hover);
  border-color:rgba(24,201,153,.55);
}
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-content{
  display:flex;flex-direction:column;height:100%;
}

/* --- card thumbnail: fixed 16:9, cropped --- */
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-heading{
  position:relative;margin:0;
}
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-image,
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-blog-gallery{
  position:relative;margin:0;
  aspect-ratio:16/9;overflow:hidden;background:#e9eef5;
}
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-image img,
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-blog-gallery img{
  width:100%!important;height:100%!important;
  object-fit:cover;object-position:center;
  display:block;transition:transform .35s ease;
}
.edgtf-blog-holder.edgtf-blog-masonry article:hover .edgtf-post-image img{transform:scale(1.05)}
/* the gallery post-format renders an owl carousel inside the card - flatten it */
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-blog-gallery .owl-stage-outer,
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-blog-gallery .owl-stage,
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-blog-gallery .owl-item{height:100%!important}
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-blog-gallery .owl-item > div{height:100%}
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-blog-gallery .owl-item a{display:block;height:100%}
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-blog-gallery .owl-nav,
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-blog-gallery .owl-dots{display:none!important}

/* --- category chip, overlaid on the thumbnail --- */
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-info-top{
  position:absolute;top:10px;left:10px;z-index:3;margin:0;
}
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-info-category{margin:0}
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-info-category a{
  display:inline-block;padding:4px 11px;border-radius:999px;
  background:rgba(15,23,42,.78);backdrop-filter:blur(3px);
  color:#fff!important;font-size:10px;font-weight:800;
  letter-spacing:.7px;text-transform:uppercase;text-decoration:none;
}
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-info-category a:hover{
  background:var(--aab-teal);color:#fff!important;
}
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-info-category:after{display:none!important}

/* --- card body --- */
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-text{
  flex:1 1 auto;display:flex;
}
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-text-inner{
  display:flex;flex-direction:column;flex:1 1 auto;
  padding:14px 16px 16px;background:transparent;
}
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-text-main{
  flex:1 1 auto;display:flex;flex-direction:column;
}
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-title,
.edgtf-related-posts-holder .edgtf-related-post-title{
  margin:0 0 8px;font-size:14px;line-height:1.4;font-weight:700;
  letter-spacing:0;text-transform:none;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;min-height:2.8em;
}
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-title a{
  color:var(--aab-ink)!important;text-decoration:none;transition:color .15s ease;
}
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-title a:hover{color:var(--aab-teal-dark)!important}
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-title:after{display:none!important}

.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-excerpt-holder{margin:0 0 12px}
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-excerpt{
  margin:0;font-size:12.5px;line-height:1.55;color:var(--aab-muted);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

/* --- download button --- */
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-read-more-button{margin:auto 0 0}
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-read-more-button .edgtf-btn,
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-blog-list-button{
  display:flex!important;align-items:center;justify-content:center;gap:7px;
  width:100%;height:40px;padding:0!important;
  border:0!important;border-radius:var(--aab-radius-sm)!important;
  background:var(--aab-orange)!important;color:#fff!important;
  font-size:12px!important;font-weight:800!important;letter-spacing:.8px!important;
  text-transform:uppercase!important;text-decoration:none!important;
  transition:background .18s ease, transform .12s ease;
}
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-read-more-button .edgtf-btn:hover{
  background:var(--aab-orange-dark)!important;transform:translateY(-1px);
}
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-read-more-button .edgtf-btn-text{
  color:#fff!important;
}
/* download glyph before the label */
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-read-more-button .edgtf-btn:before{
  content:"\2193";font-size:14px;font-weight:900;line-height:1;
}
/* the theme underlines simple buttons - kill it */
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-btn.edgtf-btn-simple:after,
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-btn.edgtf-btn-simple:before{border:0!important}

/* --- hide the social/meta clutter inside cards --- */
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-info-bottom,
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-info-author,
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-info-comments,
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-info-like,
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-info-share,
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-info-date,
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-info-tags,
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-tags-holder{display:none!important}

/* ------------------------------------------------------------
   5b. Archive / single page title bar  - compact, left aligned
   ------------------------------------------------------------ */
body:not(.home) .edgtf-title-holder{
  height:auto!important;min-height:0!important;
  padding:26px 0!important;box-shadow:none!important;
  background:var(--aab-surface)!important;
  border-bottom:1px solid var(--aab-line);
}
body:not(.home) .edgtf-title-holder .edgtf-title-wrapper{height:auto!important;padding:0!important}
body:not(.home) .edgtf-title-holder .edgtf-title-inner{height:auto!important;padding:0!important}
body:not(.home) .edgtf-title-holder .edgtf-page-title{
  margin:0;font-size:26px;line-height:1.2;font-weight:800;
  letter-spacing:.3px;color:var(--aab-ink)!important;
}
body:not(.home) .edgtf-title-holder .edgtf-breadcrumbs,
body:not(.home) .edgtf-title-holder .edgtf-breadcrumbs a,
body:not(.home) .edgtf-title-holder .edgtf-breadcrumbs span{
  font-size:12.5px;color:var(--aab-muted)!important;
}
body:not(.home) .edgtf-title-holder .edgtf-breadcrumbs a:hover{color:var(--aab-teal-dark)!important}

/* trim the theme's very tall content padding on lists */
body.archive .edgtf-content .edgtf-content-inner > .edgtf-container > .edgtf-container-inner,
body.search .edgtf-content .edgtf-content-inner > .edgtf-container > .edgtf-container-inner{
  padding:34px 0 56px!important;
}

/* ------------------------------------------------------------
   5. Grid spacing  (4 across, tightened gutters)
   ------------------------------------------------------------ */
.edgtf-blog-holder.edgtf-blog-masonry .edgtf-blog-holder-inner{margin:0 calc(var(--aab-gap) / -2)}
.edgtf-blog-holder.edgtf-blog-masonry article.edgtf-item-space{
  padding:0 calc(var(--aab-gap) / 2) var(--aab-gap);
  background:transparent!important;border:0!important;box-shadow:none!important;
  border-radius:0!important;overflow:visible!important;transform:none!important;
}
/* re-apply the card chrome to the inner wrapper so padding stays outside it */
.edgtf-blog-holder.edgtf-blog-masonry article.edgtf-item-space .edgtf-post-content{
  background:var(--aab-surface);
  border:1px solid var(--aab-line);
  border-radius:var(--aab-radius);
  box-shadow:var(--aab-shadow);
  overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.edgtf-blog-holder.edgtf-blog-masonry article.edgtf-item-space:hover .edgtf-post-content{
  transform:translateY(-4px);box-shadow:var(--aab-shadow-hover);
  border-color:rgba(24,201,153,.55);
}

/* ------------------------------------------------------------
   6. Pagination  -> see 34 (aab_pager_html)
   ------------------------------------------------------------ */

/* ------------------------------------------------------------
   7. Single app page  (detail view)
   ------------------------------------------------------------ */
.single-post .edgtf-post-title,
.single-post .edgtf-page-title{letter-spacing:0}

/* content card */
.single-post .edgtf-blog-single .edgtf-post-content{
  background:var(--aab-surface);
  border:1px solid var(--aab-line);
  border-radius:var(--aab-radius);
  box-shadow:var(--aab-shadow);
  padding:26px 28px 30px;
}
.single-post .edgtf-blog-single .edgtf-post-text-inner{padding:0}

/* the [button] download links inside post bodies */
.aab-download-btn,
.edgtf-post-text .edgtf-btn.edgtf-btn-solid.aab-download-btn{
  display:inline-flex!important;align-items:center;justify-content:center;gap:9px;
  min-width:230px;height:52px;padding:0 30px!important;
  border:0!important;border-radius:12px!important;
  background:linear-gradient(180deg,var(--aab-orange),var(--aab-orange-dark))!important;
  color:#fff!important;font-size:15px!important;font-weight:800!important;
  letter-spacing:.6px!important;text-transform:uppercase!important;
  box-shadow:0 6px 16px rgba(250,138,3,.32);
  transition:transform .14s ease, box-shadow .18s ease, filter .18s ease;
}
.aab-download-btn:hover{
  transform:translateY(-2px);filter:brightness(1.04);
  box-shadow:0 10px 22px rgba(250,138,3,.42);
}
.aab-download-btn:before{content:"\2193";font-size:17px;font-weight:900;line-height:1}
.aab-download-btn .edgtf-btn-text{color:#fff!important}

/* screenshots gallery on the single page */
.single-post .edgtf-post-image .edgtf-blog-gallery img{border-radius:var(--aab-radius-sm)}

/* related apps */
.edgtf-related-posts-holder{margin-top:38px}
.edgtf-related-posts-holder .edgtf-related-posts-title,
.edgtf-comment-holder-inner .edgtf-comments-title{
  position:relative;padding-left:14px;margin:0 0 20px;
  font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;
  color:var(--aab-ink);
}
.edgtf-related-posts-holder .edgtf-related-posts-title:before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:5px;height:1.05em;border-radius:3px;
  background:linear-gradient(180deg,var(--aab-teal),var(--aab-teal-dark));
}
.edgtf-related-posts-holder .edgtf-related-posts-title:after{display:none!important}

/* ------------------------------------------------------------
   8. Sidebar widgets  (if a sidebar is ever enabled)
   ------------------------------------------------------------ */
.edgtf-sidebar .widget{
  background:var(--aab-surface);border:1px solid var(--aab-line);
  border-radius:var(--aab-radius);box-shadow:var(--aab-shadow);
  padding:18px 18px 20px;margin-bottom:22px;
}
.edgtf-sidebar .widget .edgtf-widget-title{
  position:relative;padding-left:13px;margin:0 0 14px;
  font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;
}
.edgtf-sidebar .widget .edgtf-widget-title:before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:4px;height:1.05em;border-radius:3px;background:var(--aab-teal);
}

/* ------------------------------------------------------------
   9. Responsive
   ------------------------------------------------------------ */
@media (max-width:1200px){
  .aab-cats{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:1024px){
  :root{--aab-gap:18px}
  .aab-hero{padding:36px 18px}
  .aab-hero h1{font-size:25px}
}
@media (max-width:768px){
  .aab-cats{grid-template-columns:repeat(3,1fr);gap:10px}
  .aab-cats a{padding:14px 8px;font-size:12px}
  .aab-cats .aab-cat-ico{width:38px;height:38px;font-size:17px}
  .aab-hero{padding:30px 14px;border-radius:var(--aab-radius-sm)}
  .aab-hero h1{font-size:21px}
  .aab-hero p.aab-hero-sub{font-size:13.5px;margin-bottom:18px}
  .aab-hero form.searchform input.search-field{height:50px;padding-left:20px;font-size:14px}
  .aab-hero form.searchform button.edgtf-search-submit{height:40px;padding:0 20px}
  .aab-section-head h2,.aab-section-head h3{font-size:17px}
  .edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-title{font-size:13.5px}
  .single-post .edgtf-blog-single .edgtf-post-content{padding:18px 16px 22px}
  .aab-download-btn{min-width:0;width:100%;height:48px;font-size:14px!important}
}
@media (max-width:480px){
  .aab-cats{grid-template-columns:repeat(2,1fr)}
  .aab-chips a{font-size:11px;padding:5px 11px}
}

/* ------------------------------------------------------------
   10. [aab_apps] card grid  (homepage / any page, server rendered)
       Same visual language as the archive cards above.
   ------------------------------------------------------------ */
.aab-grid{
  display:grid;gap:var(--aab-gap);margin:0 0 38px;
  grid-template-columns:repeat(4,1fr);
}
.aab-grid.aab-cols-2{grid-template-columns:repeat(2,1fr)}
.aab-grid.aab-cols-3{grid-template-columns:repeat(3,1fr)}
.aab-grid.aab-cols-4{grid-template-columns:repeat(4,1fr)}
.aab-grid.aab-cols-5{grid-template-columns:repeat(5,1fr)}
.aab-grid.aab-cols-6{grid-template-columns:repeat(6,1fr)}

.aab-card{
  display:flex;flex-direction:column;overflow:hidden;
  background:var(--aab-surface);
  border:1px solid var(--aab-line);
  border-radius:var(--aab-radius);
  box-shadow:var(--aab-shadow);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.aab-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--aab-shadow-hover);
  border-color:rgba(24,201,153,.55);
}

/* thumbnail */
.aab-card-thumb{
  position:relative;display:block;
  aspect-ratio:16/9;overflow:hidden;background:#e9eef5;
}
.aab-card-thumb img{
  width:100%;height:100%;display:block;
  object-fit:cover;object-position:center;
  transition:transform .35s ease;
}
.aab-card:hover .aab-card-thumb img{transform:scale(1.05)}
.aab-card-noimg{
  position:absolute;inset:0;
  background:linear-gradient(135deg,#e2e8f0,#cbd5e1);
}
.aab-card-chip{
  position:absolute;top:10px;left:10px;z-index:2;
  padding:4px 11px;border-radius:999px;
  background:rgba(15,23,42,.78);
  color:#fff;font-size:10px;font-weight:800;
  letter-spacing:.7px;text-transform:uppercase;
}
.aab-card:hover .aab-card-chip{background:var(--aab-teal)}

/* body */
.aab-card-body{
  display:flex;flex-direction:column;flex:1 1 auto;
  padding:14px 16px 16px;
}
.aab-card-title{
  margin:0 0 8px;font-size:14px;line-height:1.4;font-weight:700;
  letter-spacing:0;text-transform:none;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;min-height:2.8em;
}
.aab-card-title a{color:var(--aab-ink)!important;text-decoration:none;transition:color .15s ease}
.aab-card-title a:hover{color:var(--aab-teal-dark)!important}
.aab-card-title:after{display:none!important}

.aab-card-ex{
  margin:0 0 12px;font-size:12.5px;line-height:1.55;color:var(--aab-muted);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

.aab-card-btn{
  display:flex;align-items:center;justify-content:center;gap:7px;
  margin-top:auto;height:40px;
  border-radius:var(--aab-radius-sm);
  background:var(--aab-orange);color:#fff!important;
  font-size:12px;font-weight:800;letter-spacing:.8px;
  text-transform:uppercase;text-decoration:none!important;
  transition:background .18s ease, transform .12s ease;
}
.aab-card-btn:hover{background:var(--aab-orange-dark);transform:translateY(-1px);color:#fff!important}
.aab-card-btn-ico{font-size:14px;font-weight:900;line-height:1}

@media (max-width:1200px){
  .aab-grid.aab-cols-5,.aab-grid.aab-cols-6{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:1024px){
  .aab-grid,.aab-grid.aab-cols-4,.aab-grid.aab-cols-5,.aab-grid.aab-cols-6{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:768px){
  .aab-grid,.aab-grid.aab-cols-3,.aab-grid.aab-cols-4,
  .aab-grid.aab-cols-5,.aab-grid.aab-cols-6{grid-template-columns:repeat(2,1fr)}
  .aab-card-title{font-size:13.5px}
  .aab-card-body{padding:12px 13px 14px}
}
@media (max-width:420px){
  .aab-grid,.aab-grid.aab-cols-2,.aab-grid.aab-cols-3,
  .aab-grid.aab-cols-4{grid-template-columns:1fr 1fr;gap:12px}
  .aab-card-ex{display:none}
}

/* ------------------------------------------------------------
   11. Page container
   The homepage uses full-width.php, which has no max-width wrapper,
   so every section ran edge to edge. Constrain and centre it.
   ------------------------------------------------------------ */
body.home .edgtf-full-width-inner{
  max-width:1340px;margin:0 auto;padding:0 24px;box-sizing:border-box;
}
body.home .edgtf-content .edgtf-full-width{padding-top:26px}
/* the hero should breathe at the top of the page */
body.home .aab-hero{margin-top:4px}

@media (max-width:768px){
  body.home .edgtf-full-width-inner{padding:0 14px}
}

/* ------------------------------------------------------------
   12. SINGLE APP PAGE
   ------------------------------------------------------------ */

/* The title bar on singles only repeats the site name - drop it,
   the post title already leads the content card. */
body.single-post .edgtf-title-holder{display:none!important}

body.single-post .edgtf-content .edgtf-container-inner{padding:30px 0 60px!important}

/* content column as a card */
body.single-post .edgtf-blog-single .edgtf-post-content{
  background:var(--aab-surface);
  border:1px solid var(--aab-line);
  border-radius:var(--aab-radius);
  box-shadow:var(--aab-shadow);
  overflow:hidden;
}
body.single-post .edgtf-blog-single .edgtf-post-text{padding:0}
body.single-post .edgtf-blog-single .edgtf-post-text-inner{padding:24px 28px 30px}

/* screenshots / featured gallery */
body.single-post .edgtf-post-heading{margin:0}
body.single-post .edgtf-blog-gallery,
body.single-post .edgtf-post-image{
  position:relative;margin:0;background:#0b1220;
  max-height:430px;overflow:hidden;
}
body.single-post .edgtf-blog-gallery img,
body.single-post .edgtf-post-image > a > img{
  width:100%;height:auto;display:block;object-fit:cover;
}
body.single-post .edgtf-blog-gallery .owl-nav button,
body.single-post .edgtf-blog-gallery .owl-prev,
body.single-post .edgtf-blog-gallery .owl-next{
  width:40px!important;height:40px!important;
  display:flex!important;align-items:center;justify-content:center;
  border-radius:50%!important;
  background:rgba(15,23,42,.55)!important;color:#fff!important;
  font-size:18px!important;line-height:1!important;
  transition:background .18s ease;
}
body.single-post .edgtf-blog-gallery .owl-nav button:hover{background:var(--aab-teal)!important}
body.single-post .edgtf-blog-gallery .owl-dots{
  position:absolute;left:0;right:0;bottom:10px;text-align:center;
}

/* post title */
body.single-post .edgtf-blog-single .edgtf-post-title,
body.single-post .edgtf-blog-single .entry-title{
  margin:0 0 14px;font-size:26px;line-height:1.25;font-weight:800;
  letter-spacing:0;text-transform:none;color:var(--aab-ink);
}
body.single-post .edgtf-blog-single .edgtf-post-title:after{display:none!important}

/* category chips under the title */
body.single-post .edgtf-post-info-category{display:inline-block;margin:0 0 16px}
body.single-post .edgtf-post-info-category a{
  display:inline-block;padding:5px 13px;margin-right:6px;border-radius:999px;
  background:rgba(24,201,153,.14);color:var(--aab-teal-dark)!important;
  font-size:11px;font-weight:800;letter-spacing:.6px;
  text-transform:uppercase;text-decoration:none;
}
body.single-post .edgtf-post-info-category a:hover{background:var(--aab-teal);color:#fff!important}
body.single-post .edgtf-post-info-category:after{display:none!important}

/* body copy */
body.single-post .edgtf-post-text-inner p{font-size:15px;line-height:1.75;color:#334155}
body.single-post .edgtf-post-text-inner h2,
body.single-post .edgtf-post-text-inner h3,
body.single-post .edgtf-post-text-inner h4{
  margin:28px 0 12px;font-weight:800;letter-spacing:0;color:var(--aab-ink);
}
body.single-post .edgtf-post-text-inner h2{font-size:20px}
body.single-post .edgtf-post-text-inner h3{font-size:17px}
body.single-post .edgtf-post-text-inner img{border-radius:var(--aab-radius-sm);height:auto}

/* ---- download CTAs -------------------------------------------------
   Posts use three patterns: the legacy [button] shortcode, Gutenberg
   buttons, and plain links. Unify the first two: the first button in a
   group is the primary (orange), the rest are secondary outlines. */
body.single-post .wp-block-buttons{
  display:flex;flex-wrap:wrap;gap:12px;justify-content:center;
  margin:26px 0 28px;padding:22px;
  background:linear-gradient(180deg,#f8fafc,#f1f5f9);
  border:1px solid var(--aab-line);border-radius:var(--aab-radius);
}
body.single-post .wp-block-button{margin:0}
body.single-post .wp-block-button .wp-block-button__link{
  display:inline-flex!important;align-items:center;justify-content:center;gap:9px;
  min-width:210px;height:52px;padding:0 28px!important;
  border:0!important;border-radius:12px!important;
  background:linear-gradient(180deg,var(--aab-orange),var(--aab-orange-dark))!important;
  color:#fff!important;font-size:15px!important;font-weight:800!important;
  letter-spacing:.5px;text-transform:uppercase;text-decoration:none!important;
  box-shadow:0 6px 16px rgba(250,138,3,.30);
  transition:transform .14s ease, box-shadow .18s ease, filter .18s ease;
}
body.single-post .wp-block-button .wp-block-button__link em,
body.single-post .wp-block-button .wp-block-button__link strong{
  font-style:normal!important;font-weight:800!important;color:#fff!important;
}
body.single-post .wp-block-button .wp-block-button__link:hover{
  transform:translateY(-2px);filter:brightness(1.05);
  box-shadow:0 10px 22px rgba(250,138,3,.40);
}
body.single-post .wp-block-button:not(:first-child) .wp-block-button__link{
  background:#fff!important;color:var(--aab-teal-dark)!important;
  border:2px solid var(--aab-teal)!important;
  box-shadow:none;
}
body.single-post .wp-block-button:not(:first-child) .wp-block-button__link em,
body.single-post .wp-block-button:not(:first-child) .wp-block-button__link strong{
  color:var(--aab-teal-dark)!important;
}
body.single-post .wp-block-button:not(:first-child) .wp-block-button__link:hover{
  background:var(--aab-teal)!important;color:#fff!important;
}
body.single-post .wp-block-button:not(:first-child) .wp-block-button__link:hover em,
body.single-post .wp-block-button:not(:first-child) .wp-block-button__link:hover strong{color:#fff!important}

/* ---- related apps as a card grid ---- */
.edgtf-related-posts-holder .edgtf-related-posts-inner,
.edgtf-related-posts-holder .edgtf-related-posts{
  display:grid;grid-template-columns:repeat(4,1fr);gap:var(--aab-gap);
}
.edgtf-related-posts-holder .edgtf-related-post{
  background:var(--aab-surface);border:1px solid var(--aab-line);
  border-radius:var(--aab-radius);box-shadow:var(--aab-shadow);overflow:hidden;
}
.edgtf-related-posts-holder .edgtf-related-post .edgtf-post-image{aspect-ratio:16/9;overflow:hidden}
.edgtf-related-posts-holder .edgtf-related-post .edgtf-post-image img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.edgtf-related-posts-holder .edgtf-related-post .edgtf-rp-content,
.edgtf-related-posts-holder .edgtf-related-post .edgtf-related-post-content{padding:13px 15px 16px}
.edgtf-related-posts-holder .edgtf-related-post-title{
  font-size:13.5px;line-height:1.4;font-weight:700;margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.edgtf-related-posts-holder .edgtf-related-post-title a{color:var(--aab-ink)!important;text-decoration:none}
.edgtf-related-posts-holder .edgtf-related-post-title a:hover{color:var(--aab-teal-dark)!important}

@media (max-width:1024px){
  .edgtf-related-posts-holder .edgtf-related-posts-inner,
  .edgtf-related-posts-holder .edgtf-related-posts{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:768px){
  body.single-post .edgtf-blog-single .edgtf-post-text-inner{padding:18px 16px 22px}
  body.single-post .edgtf-blog-single .edgtf-post-title{font-size:21px}
  body.single-post .wp-block-buttons{padding:16px;gap:10px}
  body.single-post .wp-block-button .wp-block-button__link{min-width:0;width:100%;height:48px;font-size:14px!important}
  body.single-post .wp-block-button{width:100%}
  .edgtf-related-posts-holder .edgtf-related-posts-inner,
  .edgtf-related-posts-holder .edgtf-related-posts{grid-template-columns:repeat(2,1fr)}
}

/* gallery: fill a clean 16:9 frame so there is no dark letterbox band */
body.single-post .edgtf-blog-gallery{aspect-ratio:16/9;max-height:none!important}
body.single-post .edgtf-blog-gallery .owl-stage-outer,
body.single-post .edgtf-blog-gallery .owl-stage,
body.single-post .edgtf-blog-gallery .owl-item{height:100%!important}
body.single-post .edgtf-blog-gallery .owl-item > div,
body.single-post .edgtf-blog-gallery .owl-item a{display:block;height:100%}
body.single-post .edgtf-blog-gallery img{height:100%!important;object-fit:cover}

/* ------------------------------------------------------------
   13. Trim the theme's very tall content padding on the homepage.
   PlayerX emits content_padding / content_padding_mobile as a later
   inline <style>, so these need !important to win.
   ------------------------------------------------------------ */
body.home .edgtf-full-width-inner{
  max-width:1340px;margin:0 auto;
  padding:22px 24px 40px!important;
  box-sizing:border-box;
}
body.home .edgtf-content .edgtf-full-width{padding-top:0!important}

@media (max-width:1024px){
  body.home .edgtf-full-width-inner{padding:16px 18px 34px!important}
}
@media (max-width:768px){
  body.home .edgtf-full-width-inner{padding:12px 14px 30px!important}
  body.home .aab-hero{margin-top:0}
}

/* ------------------------------------------------------------
   14. FOOTER
   Four-column link footer on black, matching the section-heading
   language used elsewhere (teal accent bar, uppercase title).
   ------------------------------------------------------------ */
.edgtf-footer-top-holder{padding:52px 0 34px}
.edgtf-footer-top-holder .edgtf-footer-top-inner{max-width:1340px;margin:0 auto}
.edgtf-footer-top-holder .widget{margin:0 0 10px;padding:0;background:none!important;
  border:0!important;box-shadow:none!important}

/* column titles */
.edgtf-footer-top-holder .edgtf-widget-title-holder{margin:0 0 18px}
.edgtf-footer-top-holder .edgtf-widget-title{
  position:relative;margin:0;padding-left:13px;
  font-size:14px!important;font-weight:800!important;
  letter-spacing:.9px;text-transform:uppercase;
  color:#fff!important;
}
.edgtf-footer-top-holder .edgtf-widget-title:before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:4px;height:1.05em;border-radius:3px;
  background:linear-gradient(180deg,var(--aab-teal),var(--aab-teal-dark));
}
/* the theme prefixes widget titles with an orange glyph - remove it */
.edgtf-footer-top-holder .edgtf-widget-title:after,
.edgtf-footer-top-holder .edgtf-widget-title span:before,
.edgtf-footer-top-holder .edgtf-widget-title-holder:before{display:none!important}

/* link lists */
.edgtf-footer-top-holder .widget ul{margin:0;padding:0;list-style:none}
.edgtf-footer-top-holder .widget ul li{
  margin:0;padding:0;border:0!important;list-style:none;
}
.edgtf-footer-top-holder .widget ul li a{
  display:block;padding:7px 0;
  color:#9AA7B8!important;font-size:13.5px;line-height:1.5;
  text-decoration:none!important;border:0!important;
  transition:color .16s ease, padding-left .16s ease;
}
.edgtf-footer-top-holder .widget ul li a:hover{
  color:var(--aab-teal)!important;padding-left:6px;
}
.edgtf-footer-top-holder .widget ul li a:before,
.edgtf-footer-top-holder .widget ul li a:after{display:none!important}

/* brand column */
.aab-fbrand-text{
  margin:0 0 12px;color:#9AA7B8;font-size:13.5px;line-height:1.7;
}
.aab-fbrand-note{
  margin:0;color:var(--aab-teal);font-size:12px;font-weight:700;letter-spacing:.3px;
}

/* social icons row */
.edgtf-footer-bottom-holder .edgtf-social-icons-group-widget{margin:0 0 10px}
.edgtf-footer-bottom-holder .edgtf-social-icon-widget-holder{
  margin:0 9px;color:#9AA7B8!important;font-size:16px;
  transition:color .16s ease, transform .16s ease;
}
.edgtf-footer-bottom-holder .edgtf-social-icon-widget-holder:hover{
  color:var(--aab-teal)!important;transform:translateY(-2px);
}

/* bottom bar */
.edgtf-footer-bottom-holder{
  padding:22px 0 26px;
  border-top:1px solid rgba(255,255,255,.08);
}
.edgtf-footer-bottom-holder .edgtf-footer-bottom-inner{max-width:1340px;margin:0 auto}
.aab-fbottom{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:10px;color:#7E8C9F;font-size:12.5px;line-height:1.6;text-align:center;
}
.aab-fbottom-sep{opacity:.45}

@media (max-width:1024px){
  .edgtf-footer-top-holder{padding:42px 0 26px}
  .edgtf-footer-top-holder .edgtf-column-content{margin-bottom:26px}
}
@media (max-width:768px){
  .edgtf-footer-top-holder{padding:34px 0 14px}
  .edgtf-footer-top-holder .edgtf-widget-title{font-size:13px!important}
  .edgtf-footer-top-holder .widget ul li a{padding:6px 0;font-size:13px}
  .aab-fbottom{font-size:12px;gap:6px}
  .aab-fbottom-sep{display:none}
}

/* ------------------------------------------------------------
   14b. Footer specificity overrides
   Additional CSS (the custom_css post) is printed AFTER this file,
   and it carries two blanket rules:
       .widget .edgtf-widget-title { color: var(--color-text-main) !important }
       footer * { color:#fff !important }
   The first is (0,2,0) and beat our (0,2,0) tie purely on order, which
   left footer column titles dark navy on black. Everything below is
   deliberately more specific so it wins on the cascade, not on order.
   ------------------------------------------------------------ */

/* column titles: white, with the teal accent bar */
body footer .edgtf-footer-top-holder .widget .edgtf-widget-title,
body footer .edgtf-footer-top-holder .widget h5.edgtf-widget-title{
  color:#ffffff !important;
  border-bottom:0 !important;
  font-size:14px !important;
  letter-spacing:.9px !important;
  text-transform:uppercase !important;
}
body footer .edgtf-footer-top-holder .widget .edgtf-widget-title:before{
  content:"" !important;display:block !important;
  position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:4px !important;height:1.05em !important;
  border:0 !important;border-radius:3px !important;
  background:linear-gradient(180deg,#18C999,#009E5E) !important;
}

/* link lists */
body footer .edgtf-footer-top-holder .widget ul li a{
  color:#9AA7B8 !important;
  font-size:13.5px !important;
  padding:7px 0 !important;
}
body footer .edgtf-footer-top-holder .widget ul li a:hover{
  color:#18C999 !important;
}

/* brand column copy */
body footer .edgtf-footer-top-holder .aab-fbrand .aab-fbrand-text{
  color:#9AA7B8 !important;font-size:13.5px !important;line-height:1.7 !important;
}
body footer .edgtf-footer-top-holder .aab-fbrand .aab-fbrand-note{
  color:#18C999 !important;font-size:12px !important;font-weight:700 !important;
}

/* bottom bar */
body footer .edgtf-footer-bottom-holder .aab-fbottom,
body footer .edgtf-footer-bottom-holder .aab-fbottom span{
  color:#7E8C9F !important;font-size:12.5px !important;
}
body footer .edgtf-footer-bottom-holder .aab-fbottom .aab-fbottom-sep{opacity:.45}

@media (max-width:768px){
  body footer .edgtf-footer-top-holder .widget .edgtf-widget-title{font-size:13px !important}
  body footer .edgtf-footer-top-holder .widget ul li a{font-size:13px !important;padding:6px 0 !important}
  body footer .edgtf-footer-bottom-holder .aab-fbottom,
  body footer .edgtf-footer-bottom-holder .aab-fbottom span{font-size:12px !important}
}

/* a little more breathing room between the accent bar and the title text */
body footer .edgtf-footer-top-holder .widget .edgtf-widget-title{padding-left:17px !important}
.aab-section-head h2,.aab-section-head h3{padding-left:16px}

/* ------------------------------------------------------------
   15. FEATURED SLIDER  (under the search hero)
   Wide image cards, category chip, title, one-line excerpt and a
   Download CTA. The track is a CSS scroll-snap strip, so it works
   with JS disabled; aab-slider.js adds arrows, dots and autoplay.
   ------------------------------------------------------------ */
.aab-slider{position:relative;margin:0 0 34px}

/* header: reuse the section-heading look, add the arrow buttons */
.aab-slider-head{margin-bottom:16px}
.aab-slider-nav{display:flex;gap:8px;flex:0 0 auto}
.aab-slider-btn{
  width:38px;height:38px;padding:0;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--aab-line);border-radius:50%;
  background:var(--aab-surface);color:var(--aab-ink);
  box-shadow:var(--aab-shadow);cursor:pointer;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.aab-slider-btn:hover{background:var(--aab-teal);border-color:var(--aab-teal);color:#fff;transform:translateY(-1px)}
.aab-slider-btn:active{transform:translateY(0)}
.aab-slider-btn:focus-visible{outline:2px solid var(--aab-teal);outline-offset:2px}
.aab-slider-btn svg{display:block}

/* track */
.aab-slider-track{
  position:relative;display:flex;gap:var(--aab-gap);
  margin:0 -2px;padding:4px 2px 8px;
  overflow-x:auto;overflow-y:hidden;
  /* scroll-padding = the side padding, so the start position already is a snap point:
     otherwise Chrome re-snaps the strip by 2px while loading, and that early scroll
     stops the LCP measurement (PageSpeed: NO_LCP) */
  scroll-snap-type:x mandatory;scroll-padding-inline:2px;scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
  scrollbar-width:none;
}
.aab-slider-track::-webkit-scrollbar{display:none}
.aab-slider-track:focus-visible{outline:2px solid var(--aab-teal);outline-offset:4px;border-radius:var(--aab-radius)}

/* slide card */
.aab-slide{
  flex:0 0 calc((100% - 2*var(--aab-gap)) / 3);
  scroll-snap-align:start;scroll-snap-stop:always;
  position:relative;margin:0;overflow:hidden;
  border-radius:var(--aab-radius);
  background:var(--aab-ink);
  box-shadow:var(--aab-shadow);
  transition:transform .2s ease,box-shadow .2s ease;
}
.aab-slide:hover{transform:translateY(-3px);box-shadow:var(--aab-shadow-hover)}
.aab-slide-link,
.aab-slide-link:hover{
  display:block;position:relative;aspect-ratio:16/10;
  color:#fff;text-decoration:none!important;
}
.aab-slide-img{
  position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;
  object-fit:cover;display:block;
  transition:transform .6s ease;
}
.aab-slide:hover .aab-slide-img{transform:scale(1.05)}
.aab-slide-shade{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(15,23,42,0) 28%,rgba(15,23,42,.58) 60%,rgba(15,23,42,.95) 100%);
}
.aab-slide-body{
  position:absolute;left:0;right:0;bottom:0;
  display:flex;flex-direction:column;align-items:flex-start;gap:7px;
  padding:18px 18px 16px;
}
.aab-slide-chip{
  padding:4px 11px;border-radius:999px;
  background:var(--aab-teal);color:#fff;
  font-size:10px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;
}
.aab-slide-title{
  margin:0;color:#fff;
  font-size:17px;line-height:1.25;font-weight:800;letter-spacing:0;text-transform:none;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
}
.aab-slide-ex{
  margin:0;color:rgba(255,255,255,.8);
  font-size:12.5px;line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
}
.aab-slide-btn{
  display:inline-flex;align-items:center;gap:7px;
  margin-top:5px;height:36px;padding:0 16px;
  border-radius:var(--aab-radius-sm);
  background:var(--aab-orange);color:#fff;
  font-size:11.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;
  transition:background .18s ease;
}
.aab-slide-btn-ico{font-size:14px;line-height:1}
.aab-slide:hover .aab-slide-btn{background:var(--aab-orange-dark)}

/* dots */
.aab-slider-dots{display:flex;justify-content:center;gap:6px;margin:12px 0 0}
.aab-slider-dots:empty{display:none}
.aab-slider-dot{
  width:8px;height:8px;padding:0;border:0;border-radius:999px;
  background:#CBD5E1;cursor:pointer;
  transition:width .2s ease,background .2s ease;
}
.aab-slider-dot:hover{background:#94A3B8}
.aab-slider-dot.is-active{width:24px;background:var(--aab-teal)}
.aab-slider-dot:focus-visible{outline:2px solid var(--aab-teal);outline-offset:2px}

/* responsive */
@media (max-width:1023px){
  .aab-slide{flex-basis:calc((100% - var(--aab-gap)) / 2)}
}
@media (max-width:639px){
  .aab-slide{flex-basis:86%}
  .aab-slider-nav{display:none}          /* swipe on phones */
  .aab-slide-body{padding:14px 14px 13px;gap:6px}
  .aab-slide-title{font-size:15px}
  .aab-slide-ex{display:none}
  .aab-slide-btn{height:34px;padding:0 14px;font-size:11px}
}
@media (prefers-reduced-motion:reduce){
  .aab-slider-track{scroll-behavior:auto}
  .aab-slide,.aab-slide-img,.aab-slider-btn,.aab-slider-dot{transition:none}
  .aab-slide:hover .aab-slide-img{transform:none}
}

/* ------------------------------------------------------------
   16. TOP POST BANNER  (big single-slide carousel under the hero)
   Shares the [aab_slider] engine; one full-width image per view,
   arrows overlaid at the edges, bottom bar = app icon + title on the
   left, Download on the right, dots along the bottom edge.
   ------------------------------------------------------------ */
.aab-topslider{margin:0 0 34px}
.aab-topslider-frame{
  position:relative;overflow:hidden;
  border-radius:var(--aab-radius);
  background:var(--aab-ink);
  box-shadow:var(--aab-shadow);
}
/* shared track, but flush inside the frame: no gutters, one slide per view */
.aab-topslider .aab-slider-track{margin:0;padding:0;gap:0;scroll-padding-inline:0}
.aab-topslider .aab-slider-track:focus-visible{outline-offset:-3px;border-radius:var(--aab-radius)}
.aab-topslider .aab-slide{
  flex:0 0 100%;
  margin:0;border-radius:0;box-shadow:none;background:transparent;
}
.aab-topslider .aab-slide:hover{transform:none;box-shadow:none}

.aab-topslide-link,
.aab-topslide-link:hover{
  display:block;position:relative;
  aspect-ratio:21/9;max-height:600px;
  color:#fff;text-decoration:none!important;
}
.aab-topslide-img{
  position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;
  object-fit:cover;display:block;
  transition:transform .8s ease;
}
.aab-topslide-link:hover .aab-topslide-img{transform:scale(1.03)}
.aab-topslide-shade{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(15,23,42,.38) 0%,rgba(15,23,42,0) 24%),
    linear-gradient(180deg,rgba(15,23,42,0) 42%,rgba(15,23,42,.62) 72%,rgba(15,23,42,.95) 100%);
}

/* corner badge */
.aab-topslide-badge{
  position:absolute;top:16px;left:16px;z-index:2;
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 13px;border-radius:999px;
  background:linear-gradient(135deg,var(--aab-orange),#ffb340);
  color:#fff;font-size:11px;font-weight:800;letter-spacing:.9px;text-transform:uppercase;
  box-shadow:0 2px 8px rgba(0,0,0,.28);
}

/* bottom bar */
.aab-topslide-bar{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  display:flex;align-items:center;gap:16px;
  padding:18px 24px 38px;                 /* bottom room for the dots */
}
.aab-topslide-icon{
  flex:0 0 auto;width:60px;height:60px;
  border-radius:14px;overflow:hidden;
  border:2px solid rgba(255,255,255,.92);
  box-shadow:0 4px 14px rgba(0,0,0,.35);
  background:#fff;
}
.aab-topslide-icon img{width:100%!important;height:100%!important;object-fit:cover;display:block}
.aab-topslide-meta{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}
.aab-topslide-title{
  margin:0;color:#fff;
  font-size:22px;line-height:1.2;font-weight:800;letter-spacing:0;text-transform:none;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
  text-shadow:0 1px 3px rgba(0,0,0,.45);
}
.aab-topslide-cat{
  color:rgba(255,255,255,.8);
  font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
}
.aab-topslide-btn{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;
  height:42px;padding:0 20px;border-radius:var(--aab-radius-sm);
  background:var(--aab-orange);color:#fff;
  font-size:12px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;
  box-shadow:0 4px 14px rgba(250,138,3,.35);
  transition:background .18s ease,transform .18s ease;
}
.aab-topslide-link:hover .aab-topslide-btn{background:var(--aab-orange-dark);transform:translateY(-1px)}

/* edge arrows */
.aab-topslider-arrow{
  position:absolute;top:50%;z-index:3;transform:translateY(-50%);
  width:46px;height:46px;border:0;
  background:rgba(15,23,42,.5);color:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.25);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  opacity:.85;
}
.aab-topslider-arrow:hover{background:var(--aab-teal);color:#fff;opacity:1;transform:translateY(-50%)}
.aab-topslider-arrow:active{transform:translateY(-50%) scale(.96)}
.aab-topslider .aab-slider-prev{left:14px}
.aab-topslider .aab-slider-next{right:14px}

/* dots, inside the frame */
.aab-topslider-dots{
  position:absolute;left:0;right:0;bottom:13px;z-index:3;
  margin:0;justify-content:center;
}
.aab-topslider .aab-slider-dot{background:rgba(255,255,255,.45)}
.aab-topslider .aab-slider-dot:hover{background:rgba(255,255,255,.75)}
.aab-topslider .aab-slider-dot.is-active{background:var(--aab-teal)}

@media (max-width:1023px){
  .aab-topslide-link,.aab-topslide-link:hover{aspect-ratio:16/9}
  .aab-topslide-title{font-size:19px}
  .aab-topslide-icon{width:54px;height:54px;border-radius:12px}
}
@media (max-width:639px){
  .aab-topslide-link,.aab-topslide-link:hover{aspect-ratio:4/3}
  .aab-topslide-bar{gap:10px;padding:12px 14px 30px}
  .aab-topslide-icon{width:44px;height:44px;border-radius:10px}
  .aab-topslide-title{font-size:15px;-webkit-line-clamp:2}
  .aab-topslide-cat{font-size:11px}
  .aab-topslide-btn{height:36px;padding:0 13px;font-size:11px}
  .aab-topslide-badge{top:10px;left:10px;padding:5px 10px;font-size:10px}
  .aab-topslider-arrow{width:36px;height:36px;opacity:.75}
  .aab-topslider-arrow svg{width:18px;height:18px}
  .aab-topslider .aab-slider-prev{left:8px}
  .aab-topslider .aab-slider-next{right:8px}
}
@media (prefers-reduced-motion:reduce){
  .aab-topslide-img,.aab-topslide-btn,.aab-topslider-arrow{transition:none}
  .aab-topslide-link:hover .aab-topslide-img{transform:none}
}

/* ------------------------------------------------------------
   16b. Slider controls vs. the global button recolor
   Additional CSS carries
      button { background-color: teal !important; border-color: teal !important; color:#fff !important }
   Arrows and dots are <button>s, so without this every control was
   painted solid teal. These are more specific AND !important, so
   the designed colours win.
   ------------------------------------------------------------ */
/* 3-up slider: white round arrows */
.aab-slider .aab-slider-btn{
  background-color:var(--aab-surface)!important;border-color:var(--aab-line)!important;color:var(--aab-ink)!important}
.aab-slider .aab-slider-btn:hover,
.aab-slider .aab-slider-btn:focus-visible{
  background-color:var(--aab-teal)!important;border-color:var(--aab-teal)!important;color:#fff!important}

/* 3-up slider: grey dots, teal when active */
.aab-slider .aab-slider-dot{background-color:#CBD5E1!important;border-color:transparent!important}
.aab-slider .aab-slider-dot:hover{background-color:#94A3B8!important}
.aab-slider .aab-slider-dot.is-active{background-color:var(--aab-teal)!important}

/* Top Post banner: translucent navy arrows over the image */
.aab-slider.aab-topslider .aab-topslider-arrow{
  background-color:rgba(15,23,42,.5)!important;border-color:transparent!important;color:#fff!important}
.aab-slider.aab-topslider .aab-topslider-arrow:hover,
.aab-slider.aab-topslider .aab-topslider-arrow:focus-visible{
  background-color:var(--aab-teal)!important;border-color:var(--aab-teal)!important;color:#fff!important}

/* Top Post banner: white translucent dots, teal when active */
.aab-slider.aab-topslider .aab-slider-dot{background-color:rgba(255,255,255,.45)!important}
.aab-slider.aab-topslider .aab-slider-dot:hover{background-color:rgba(255,255,255,.75)!important}
.aab-slider.aab-topslider .aab-slider-dot.is-active{background-color:var(--aab-teal)!important}

/* ------------------------------------------------------------
   17. DARK / LIGHT TOGGLE  (header control, replaces the side-area "X")
   ------------------------------------------------------------ */
.widget_aab_theme_toggle,
.widget.widget_aab_theme_toggle{display:inline-block;vertical-align:middle;margin:0;padding:0;line-height:1}
.aab-theme-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;padding:0;margin:0 6px 0 4px;
  border:1px solid transparent!important;border-radius:50%;
  background-color:transparent!important;color:#fff!important;
  cursor:pointer;vertical-align:middle;line-height:1;
  transition:background-color .18s ease,color .18s ease,transform .18s ease,border-color .18s ease;
}
.aab-theme-toggle:hover{background-color:rgba(255,255,255,.12)!important;color:var(--aab-teal)!important}
.aab-theme-toggle:active{transform:scale(.94)}
.aab-theme-toggle:focus-visible{outline:2px solid var(--aab-teal);outline-offset:2px}
.aab-theme-toggle svg{display:block;width:20px;height:20px}
.aab-theme-toggle .aab-tt-sun{display:none}
html[data-theme="dark"] .aab-theme-toggle .aab-tt-sun{display:block}
html[data-theme="dark"] .aab-theme-toggle .aab-tt-moon{display:none}
/* header areas put widgets inline next to the search opener */
.edgtf-header-widget-menu-area .aab-theme-toggle,
.edgtf-sticky-right .aab-theme-toggle{margin-left:-30px}
/* mobile header: sits to the right of the logo */
.edgtf-mobile-header .aab-theme-toggle{width:40px;height:40px;margin:0}
.edgtf-mobile-header .aab-theme-toggle svg{width:21px;height:21px}

/* short cross-fade when switching (skipped for reduced-motion users) */
html.aab-theme-switching,
html.aab-theme-switching *,
html.aab-theme-switching *::before,
html.aab-theme-switching *::after{
  transition:background-color .28s ease,color .28s ease,border-color .28s ease,box-shadow .28s ease!important;
}

/* ------------------------------------------------------------
   18. DARK THEME
   Everything below is scoped to html[data-theme="dark"]. Most of the
   site follows the design tokens, so the palette swap does the heavy
   lifting; the rest are targeted overrides for rules that hard-code a
   light colour (mostly in Additional CSS, which prints after this file
   and uses !important - hence the specificity and !important here).
   ------------------------------------------------------------ */
html[data-theme="dark"]{
  color-scheme:dark;
  /* skin tokens */
  --aab-bg:#0B1220;
  --aab-surface:#141C2E;
  --aab-surface-2:#1B2540;
  --aab-ink:#E6EBF4;
  --aab-muted:#98A5B8;
  --aab-line:#273248;
  --aab-shadow:0 1px 2px rgba(0,0,0,.45), 0 4px 14px rgba(0,0,0,.35);
  --aab-shadow-hover:0 10px 26px rgba(0,0,0,.5);
  /* Additional CSS tokens */
  --color-bg-light:#0B1220;
  --color-text-main:#E6EBF4;
  --color-border:#273248;
  --color-primary-dark:#2FD6A5;   /* link colour: brighter teal reads better on navy */
}
html[data-theme="light"]{color-scheme:light}

/* page + wrappers */
html[data-theme="dark"],
html[data-theme="dark"] body{background-color:var(--aab-bg)!important;color:var(--aab-ink)}

/* header gets a hairline so it separates from the navy page */
html[data-theme="dark"] .edgtf-page-header .edgtf-menu-area,
html[data-theme="dark"] .edgtf-sticky-header,
html[data-theme="dark"] .edgtf-mobile-header .edgtf-mobile-header-inner{
  box-shadow:0 1px 0 rgba(255,255,255,.07)!important;
}

/* ---- text ---- */
html[data-theme="dark"] p,
html[data-theme="dark"] li,
html[data-theme="dark"] .aab-card-ex,
html[data-theme="dark"] body.single-post .edgtf-post-text-inner p{color:var(--aab-muted)}
html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,
html[data-theme="dark"] h4,html[data-theme="dark"] h5,html[data-theme="dark"] h6,
html[data-theme="dark"] .aab-section-head h2,
html[data-theme="dark"] .aab-section-head h3,
html[data-theme="dark"] .aab-card-title a{color:var(--aab-ink)}
html[data-theme="dark"] .aab-section-head .aab-viewall{color:var(--aab-teal)}
html[data-theme="dark"] .aab-section-head .aab-viewall:hover{color:var(--aab-orange)}

/* ---- cards / tiles ---- */
html[data-theme="dark"] .aab-card,
html[data-theme="dark"] .aab-cats a{background:var(--aab-surface);border-color:var(--aab-line)}
html[data-theme="dark"] .aab-card:hover{border-color:#334159}
html[data-theme="dark"] .aab-card-thumb,
html[data-theme="dark"] .aab-slide{background:var(--aab-surface-2)}
html[data-theme="dark"] .aab-card-noimg{background:linear-gradient(135deg,#1B2540,#273248)}
html[data-theme="dark"] .aab-cats a:hover{color:var(--aab-teal)}
html[data-theme="dark"] .aab-cats .aab-cat-ico{background:rgba(24,201,153,.16);color:var(--aab-teal)}

/* ---- sliders: controls keep contrast against the navy page ---- */
html[data-theme="dark"] .aab-slider .aab-slider-btn{
  background-color:var(--aab-surface)!important;border-color:var(--aab-line)!important;color:var(--aab-ink)!important}
html[data-theme="dark"] .aab-slider .aab-slider-btn:hover,
html[data-theme="dark"] .aab-slider .aab-slider-btn:focus-visible{
  background-color:var(--aab-teal)!important;border-color:var(--aab-teal)!important;color:#0B1220!important}
html[data-theme="dark"] .aab-slider .aab-slider-dot{background-color:#3B4761!important}
html[data-theme="dark"] .aab-slider .aab-slider-dot:hover{background-color:#55637F!important}
html[data-theme="dark"] .aab-slider .aab-slider-dot.is-active{background-color:var(--aab-teal)!important}
html[data-theme="dark"] .aab-topslider-frame{background:var(--aab-surface-2)}

/* ---- hero: keep the brand gradient; the white search box needs a hard
        override because Additional CSS re-skins every search input ---- */
html[data-theme="dark"] .aab-hero form.searchform,
html[data-theme="dark"] .aab-hero form.searchform input.search-field{
  background:#fff!important;background-color:#fff!important;color:#0F172A!important;border-color:transparent!important}
html[data-theme="dark"] .aab-hero form.searchform input.search-field::placeholder{color:#64748B}

/* ---- inputs elsewhere (sidebar search, contact form) ---- */
html[data-theme="dark"] .widget input[type=text],
html[data-theme="dark"] .widget input[type=search],
html[data-theme="dark"] .widget_search input,
html[data-theme="dark"] .edgtf-search-field,
html[data-theme="dark"] .search-form input[type=search],
html[data-theme="dark"] .edgtf-search-cover input,
html[data-theme="dark"] input.wpcf7-form-control,
html[data-theme="dark"] textarea.wpcf7-form-control,
html[data-theme="dark"] input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] select{
  background-color:var(--aab-surface-2)!important;color:var(--aab-ink)!important;border-color:var(--aab-line)!important}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder{color:var(--aab-muted)}

/* ---- single post + archive surfaces that Additional CSS hard-codes to white ---- */
html[data-theme="dark"] .edgtf-blog-single article.post,
html[data-theme="dark"] .edgtf-blog-holder article,
html[data-theme="dark"] .edgtf-blog-single .edgtf-post-content,
html[data-theme="dark"] .edgtf-single-links-pages,
html[data-theme="dark"] .edgtf-related-posts-inner,
html[data-theme="dark"] .edgtf-related-posts-holder,
html[data-theme="dark"] .edgtf-aiw-inner,
html[data-theme="dark"] .edgtf-author-description,
html[data-theme="dark"] .edgtf-content .edgtf-container-inner,
html[data-theme="dark"] .edgtf-blog-single-navigation,
html[data-theme="dark"] .edgtf-comments-holder,
html[data-theme="dark"] .edgtf-comment-list,
html[data-theme="dark"] .edgtf-comments{
  background-color:var(--aab-surface)!important}
html[data-theme="dark"] .edgtf-title-holder,
html[data-theme="dark"] .edgtf-page-title-holder,
html[data-theme="dark"] .edgtf-content,
html[data-theme="dark"] .edgtf-content-inner,
html[data-theme="dark"] .edgtf-wrapper,
html[data-theme="dark"] .edgtf-wrapper-inner,
html[data-theme="dark"] .edgtf-container,
html[data-theme="dark"] .edgtf-grid-row,
html[data-theme="dark"] .edgtf-full-width{background-color:var(--aab-bg)!important}

/* blockquotes / code blocks / app-info boxes */
html[data-theme="dark"] .edgtf-post-text blockquote,
html[data-theme="dark"] .wp-block-quote,
html[data-theme="dark"] blockquote,
html[data-theme="dark"] .edgtf-blog-single blockquote,
html[data-theme="dark"] article blockquote{
  background-color:var(--aab-surface-2)!important;color:var(--aab-ink)!important}
html[data-theme="dark"] pre,
html[data-theme="dark"] pre.wp-block-verse,
html[data-theme="dark"] .wp-block-verse,
html[data-theme="dark"] .wp-block-preformatted,
html[data-theme="dark"] .wp-block-code,
html[data-theme="dark"] .edgtf-post-text pre,
html[data-theme="dark"] article pre{
  background-color:var(--aab-surface-2)!important;color:var(--aab-ink)!important;border-color:var(--aab-line)!important}

/* post meta chips whose text is hard-coded to near-black */
html[data-theme="dark"] .edgtf-post-info-category a,
html[data-theme="dark"] .edgtf-post-info-category span,
html[data-theme="dark"] .edgtf-blog-holder article .edgtf-post-info-category,
html[data-theme="dark"] .edgtf-blog-holder article .edgtf-post-info-category a{color:var(--aab-ink)!important}
html[data-theme="dark"] .edgtf-post-info-author a:hover,
html[data-theme="dark"] .edgtf-post-info-category a:hover{color:var(--aab-teal)!important}
html[data-theme="dark"] body.single-post .edgtf-post-info-category a{
  background:rgba(24,201,153,.18)!important;color:var(--aab-teal)!important}

/* download button group on single posts */
html[data-theme="dark"] body.single-post .wp-block-buttons{
  background:linear-gradient(180deg,#141C2E,#0F172A);border-color:var(--aab-line)}
html[data-theme="dark"] body.single-post .wp-block-button:not(:first-child) .wp-block-button__link{
  background:var(--aab-surface-2)!important;color:var(--aab-teal)!important;border-color:var(--aab-teal)!important}
html[data-theme="dark"] body.single-post .wp-block-button:not(:first-child) .wp-block-button__link em,
html[data-theme="dark"] body.single-post .wp-block-button:not(:first-child) .wp-block-button__link strong{color:var(--aab-teal)!important}
html[data-theme="dark"] body.single-post .wp-block-button:not(:first-child) .wp-block-button__link:hover{
  background:var(--aab-teal)!important;color:#0B1220!important}
html[data-theme="dark"] body.single-post .wp-block-button:not(:first-child) .wp-block-button__link:hover em,
html[data-theme="dark"] body.single-post .wp-block-button:not(:first-child) .wp-block-button__link:hover strong{color:#0B1220!important}

/* widget titles / sidebar widgets (if a sidebar is ever enabled) */
html[data-theme="dark"] .widget .edgtf-widget-title,
html[data-theme="dark"] .widget-title{color:var(--aab-ink)!important}
html[data-theme="dark"] .edgtf-sidebar .widget{background:var(--aab-surface)!important;border-color:var(--aab-line)!important}

/* hr / separators / selection */
html[data-theme="dark"] hr,
html[data-theme="dark"] .edgtf-separator{border-color:var(--aab-line)!important;background-color:var(--aab-line)!important}
html[data-theme="dark"] ::selection{background:var(--aab-teal);color:#0B1220}

/* scrollbar (WebKit) */
html[data-theme="dark"] body::-webkit-scrollbar-track{background:#0B1220}
html[data-theme="dark"] body::-webkit-scrollbar-thumb{background-color:#334159!important;outline-color:#334159!important}

/* images stay untouched; only the site chrome darkens */

/* ------------------------------------------------------------
   19. CONTRAST PASS  (both modes)
   Measured with a WCAG audit in the browser. The brand teal (#18C999)
   and orange (#FA8A03) are too light for white text (2.1:1 / 2.4:1),
   so every CTA, chip and badge on those colours now uses dark ink
   (#0F172A -> 8.6:1 on teal, 7.5:1 on orange). Small teal text on the
   light page uses a deeper teal (#007A48 -> 4.9:1 on #f2f5f9).
   Selectors are prefixed with `html` only where they must out-rank an
   earlier !important rule of the same shape.
   ------------------------------------------------------------ */
:root{--aab-teal-text:#007A48}
html[data-theme="dark"]{--aab-teal-text:#2FD6A5}

/* ---- hero: ink on the teal gradient ---- */
.aab-hero h1,html[data-theme="dark"] .aab-hero h1{color:#0F172A;text-shadow:none}
.aab-hero p.aab-hero-sub,.aab-hero .aab-hero-sub{color:#0F172A;font-weight:500}
.aab-chips a{
  background:rgba(255,255,255,.34);border-color:rgba(255,255,255,.55);color:#0F172A;font-weight:700}
.aab-chips a:hover{background:#fff;border-color:#fff;color:#0F172A}
.aab-hero form.searchform button.edgtf-search-submit{color:#0F172A!important}
.aab-hero form.searchform button.edgtf-search-submit:hover{color:#0F172A!important}

/* ---- orange call-to-actions: ink text ---- */
html .aab-card-btn,
html .aab-card-btn:hover,
.aab-slide-btn,
.aab-topslide-btn,
.aab-topslide-badge{color:#0F172A!important}
html .aab-download-btn,
html .edgtf-post-text .edgtf-btn.edgtf-btn-solid.aab-download-btn,
html .aab-download-btn .edgtf-btn-text,
html .aab-download-btn:before{color:#0F172A!important}
html body.single-post .wp-block-button:first-child .wp-block-button__link,
html body.single-post .wp-block-button:first-child .wp-block-button__link em,
html body.single-post .wp-block-button:first-child .wp-block-button__link strong{color:#0F172A!important}

/* ---- teal chips: ink text ---- */
.aab-slide-chip{color:#0F172A}
.aab-card:hover .aab-card-chip{color:#0F172A}
html .edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-info-category a:hover{color:#0F172A!important}
html body.single-post .edgtf-post-info-category a{color:#0F172A!important}
html body.single-post .edgtf-post-info-category a:hover{color:#0F172A!important}
html[data-theme="dark"] body.single-post .edgtf-post-info-category a:hover{background:var(--aab-teal)!important;color:#0B1220!important}

/* ---- small teal text on the page background ---- */
.aab-section-head .aab-viewall{color:var(--aab-teal-text)}
.aab-cats a:hover{color:var(--aab-teal-text)}
.aab-cats .aab-cat-ico{color:var(--aab-teal-text)}
html .edgtf-post-text a,
html .edgtf-blog-single article.post a,
html .comment-text a,
html blockquote a,
html pre a,
html .wp-block-verse a{color:var(--aab-teal-text)!important}

/* secondary (outline) download buttons on posts */
html body.single-post .wp-block-button:not(:first-child) .wp-block-button__link,
html body.single-post .wp-block-button:not(:first-child) .wp-block-button__link em,
html body.single-post .wp-block-button:not(:first-child) .wp-block-button__link strong{color:var(--aab-teal-text)!important}
html body.single-post .wp-block-button:not(:first-child) .wp-block-button__link:hover,
html body.single-post .wp-block-button:not(:first-child) .wp-block-button__link:hover em,
html body.single-post .wp-block-button:not(:first-child) .wp-block-button__link:hover strong{color:#0F172A!important}

/* slider arrow hover (featured strip) already ink-on-teal in dark; match in light */
.aab-slider .aab-slider-btn:hover,
.aab-slider .aab-slider-btn:focus-visible{color:#0F172A!important}
.aab-slider.aab-topslider .aab-topslider-arrow:hover,
.aab-slider.aab-topslider .aab-topslider-arrow:focus-visible{color:#0F172A!important}

/* ---- dark mode: page-title bars were left with light-mode ink ---- */
html[data-theme="dark"] .edgtf-title-holder h1,
html[data-theme="dark"] .edgtf-title-holder .edgtf-page-title,
html[data-theme="dark"] .edgtf-title .edgtf-page-title,
html[data-theme="dark"] .edgtf-title-holder .edgtf-breadcrumbs,
html[data-theme="dark"] .edgtf-title-holder .edgtf-breadcrumbs a,
html[data-theme="dark"] .edgtf-title-holder .edgtf-breadcrumbs span{color:var(--aab-ink)!important}

/* 19b. archive cards: chip + Download button use ink text (both modes) */
html .edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-info-category a,
html .edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-info-category a:hover{color:#0F172A!important}
html .edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-read-more-button .edgtf-btn,
html .edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-read-more-button .edgtf-btn:hover,
html .edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-read-more-button .edgtf-btn-text,
html .edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-read-more-button .edgtf-btn:before,
html .edgtf-blog-holder.edgtf-blog-masonry article .edgtf-blog-list-button{color:#0F172A!important}

/* 19c. single post category chip: out-rank the generic post-link colour (same specificity, later) */
html body.single-post .edgtf-blog-single .edgtf-post-info-category a,
html body.single-post .edgtf-blog-holder article .edgtf-post-info-category a{color:#0F172A!important}
html body.single-post .edgtf-blog-single .edgtf-post-info-category a:hover,
html body.single-post .edgtf-blog-holder article .edgtf-post-info-category a:hover{color:#0F172A!important}
html[data-theme="dark"] body.single-post .edgtf-blog-single .edgtf-post-info-category a,
html[data-theme="dark"] body.single-post .edgtf-blog-holder article .edgtf-post-info-category a{color:#0B1220!important}

/* ------------------------------------------------------------
   20. POLISH PASS 2
   ------------------------------------------------------------ */

/* (1) hero search: the pill is .input-holder, not the form. The dark
       block painted the (square) form white -> square corners. */
html[data-theme="dark"] .aab-hero form.searchform{
  background:transparent!important;background-color:transparent!important;border:0!important}
.aab-hero form.searchform .input-holder,
html[data-theme="dark"] .aab-hero form.searchform .input-holder{
  background:#fff!important;border-radius:999px!important;overflow:hidden!important;border:0!important}

/* (2) descriptions hidden on every card and slider */
.aab-card-ex,
.aab-slide-ex,
.edgtf-blog-holder article .edgtf-post-excerpt,
.edgtf-blog-holder article .edgtf-post-excerpt-holder,
.edgtf-related-posts-holder .edgtf-post-excerpt{display:none!important}
.aab-card-title{margin-bottom:14px}
.aab-slide-body{gap:8px}
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-title{margin-bottom:14px}

/* (3) post frame: size the card with its padding/border inside its width */
.single-post .edgtf-blog-single .edgtf-post-content,
body.single-post .edgtf-blog-single .edgtf-post-content{
  box-sizing:border-box!important;width:100%!important;max-width:100%!important}
.single-post .edgtf-blog-single article.post{box-sizing:border-box;max-width:100%}

/* (5) category tiles: icons instead of initials */
.aab-cats .aab-cat-ico{
  width:52px;height:52px;border-radius:15px;
  background:linear-gradient(135deg,rgba(24,201,153,.18),rgba(0,123,254,.14));
  color:var(--aab-teal-text);
  box-shadow:inset 0 0 0 1px rgba(24,201,153,.25);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.aab-cats .aab-cat-ico svg{width:26px;height:26px;display:block}
.aab-cats a:hover .aab-cat-ico{
  transform:scale(1.06);
  background:linear-gradient(135deg,var(--aab-teal),#05D3D8);color:#0F172A;
  box-shadow:0 8px 18px rgba(24,201,153,.35);
}
html[data-theme="dark"] .aab-cats .aab-cat-ico{color:var(--aab-teal)}
html[data-theme="dark"] .aab-cats a:hover .aab-cat-ico{color:#0B1220}

/* (6) category chip: gradient pill with a small robot mark, everywhere */
.aab-card-chip,
.aab-slide-chip,
html .edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-info-category a,
html body.single-post .edgtf-blog-single .edgtf-post-info-category a,
html body.single-post .edgtf-blog-holder article .edgtf-post-info-category a{
  position:relative;display:inline-flex!important;align-items:center;gap:6px;
  height:24px!important;padding:0 11px 0 9px!important;margin:0!important;
  border:0!important;border-radius:999px!important;
  background:linear-gradient(135deg,#18C999 0%,#6BE7B4 100%)!important;
  color:#0F172A!important;
  font-size:10px!important;font-weight:800!important;letter-spacing:.7px!important;
  line-height:1!important;text-transform:uppercase!important;text-decoration:none!important;
  box-shadow:0 3px 10px rgba(24,201,153,.35);
  backdrop-filter:none!important;
}
.aab-card-chip:before,
.aab-slide-chip:before,
html .edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-info-category a:before,
html body.single-post .edgtf-blog-single .edgtf-post-info-category a:before,
html body.single-post .edgtf-blog-holder article .edgtf-post-info-category a:before{
  content:""!important;display:inline-block!important;width:12px;height:12px;
  position:static!important;border:0!important;background:currentColor!important;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 10a6 6 0 0 1 12 0v1H6zm0 3h12v5a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2zM8.5 4.5l1.5 2M15.5 4.5l-1.5 2' stroke='black' stroke-width='2' stroke-linecap='round' fill='none'/><path d='M6 10a6 6 0 0 1 12 0v1H6z' fill='black'/><rect x='6' y='13' width='12' height='7' rx='2' fill='black'/><circle cx='9.5' cy='8.5' r='1.2' fill='white'/><circle cx='14.5' cy='8.5' r='1.2' fill='white'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 10a6 6 0 0 1 12 0v1H6zm0 3h12v5a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2zM8.5 4.5l1.5 2M15.5 4.5l-1.5 2' stroke='black' stroke-width='2' stroke-linecap='round' fill='none'/><path d='M6 10a6 6 0 0 1 12 0v1H6z' fill='black'/><rect x='6' y='13' width='12' height='7' rx='2' fill='black'/><circle cx='9.5' cy='8.5' r='1.2' fill='white'/><circle cx='14.5' cy='8.5' r='1.2' fill='white'/></svg>") center/contain no-repeat;
  transform:none!important;opacity:1!important;
}
.aab-card-chip:after,
.aab-slide-chip:after,
html .edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-info-category a:after,
html body.single-post .edgtf-post-info-category a:after{display:none!important}
.aab-card:hover .aab-card-chip{background:linear-gradient(135deg,#0FB98A 0%,#5BDBA6 100%)!important}
/* the theme wraps the archive chip in .edgtf-post-info-top; keep it a tidy overlay */
.edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-info-top{line-height:1}
body.single-post .edgtf-post-info-category{margin:0 0 16px;line-height:1}

/* (8) related posts: the theme's width:33.33% was resolving against the grid
       track (-> 52px columns). Reset it and lay out as cards. */
.edgtf-related-posts-holder{display:block!important;width:100%!important;margin-top:36px}
.edgtf-related-posts-holder .edgtf-related-posts-holder-inner{display:block}
.edgtf-related-posts-holder .edgtf-related-posts-inner{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;padding:0!important;background:transparent!important}
.edgtf-related-posts-holder .edgtf-related-post{
  float:none!important;width:auto!important;min-width:0!important;
  margin:0!important;padding:0!important;display:block!important;
  background:var(--aab-surface)!important;border:1px solid var(--aab-line)!important;
  border-radius:var(--aab-radius)!important;box-shadow:var(--aab-shadow)!important;
  overflow:hidden!important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.edgtf-related-posts-holder .edgtf-related-post:hover{
  transform:translateY(-3px);box-shadow:var(--aab-shadow-hover)!important;border-color:var(--aab-teal)!important}
.edgtf-related-posts-holder .edgtf-related-post-inner{display:block!important;padding:0!important}
.edgtf-related-posts-holder .edgtf-related-post-image{
  display:block;aspect-ratio:16/9;overflow:hidden;background:var(--aab-surface-2,#1B2540);position:relative}
.edgtf-related-posts-holder .edgtf-related-post-image a{display:block;height:100%}
.edgtf-related-posts-holder .edgtf-related-post-image img{
  width:100%!important;height:100%!important;object-fit:cover;display:block;max-width:none;
  transition:transform .5s ease}
.edgtf-related-posts-holder .edgtf-related-post:hover .edgtf-related-post-image img{transform:scale(1.05)}
.edgtf-related-posts-holder .edgtf-related-post-image:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(15,23,42,0) 60%,rgba(15,23,42,.35) 100%)}
.edgtf-related-posts-holder .edgtf-related-post-content,
.edgtf-related-posts-holder .edgtf-rp-content{padding:13px 15px 15px!important;background:transparent!important}
.edgtf-related-posts-holder .edgtf-related-post-title,
.edgtf-related-posts-holder .edgtf-related-post-title a{
  margin:0;font-size:13.5px!important;line-height:1.4!important;font-weight:700!important;
  letter-spacing:0;text-transform:none!important;color:var(--aab-ink)!important;text-decoration:none!important;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.edgtf-related-posts-holder .edgtf-related-post-title a{display:block}
.edgtf-related-posts-holder .edgtf-related-post .edgtf-post-info,
.edgtf-related-posts-holder .edgtf-related-post .edgtf-post-info-date{display:none!important}
/* section title: same accent language as the rest of the site */
.edgtf-related-posts-holder .edgtf-related-posts-title{
  display:flex;align-items:center;gap:10px;margin:0 0 16px!important;padding:0 0 12px!important;
  border-bottom:1px solid var(--aab-line)!important;background:transparent!important}
.edgtf-related-posts-holder .edgtf-related-posts-title h5{
  margin:0;font-size:18px!important;font-weight:800!important;letter-spacing:.2px;text-transform:uppercase;color:var(--aab-ink)!important}
.edgtf-related-posts-holder .edgtf-related-posts-title:before{
  content:""!important;display:inline-block!important;position:static!important;
  width:5px;height:18px;border:0!important;border-radius:3px;
  background:linear-gradient(180deg,var(--aab-teal),var(--aab-teal-dark))!important;transform:none!important}
.edgtf-related-posts-holder .edgtf-related-posts-title:after,
.edgtf-related-posts-holder .edgtf-related-posts-title h5:before,
.edgtf-related-posts-holder .edgtf-related-posts-title h5:after{display:none!important;content:none!important}
@media (max-width:768px){
  .edgtf-related-posts-holder .edgtf-related-posts-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
}

/* (9) back-to-top: black arrow on the teal square */
#edgtf-back-to-top{width:46px;height:46px;right:22px;bottom:22px}
#edgtf-back-to-top>span,
#edgtf-back-to-top .edgtf-icon-stack{
  display:flex!important;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:12px;
  background:var(--aab-teal)!important;box-shadow:0 6px 16px rgba(24,201,153,.35)}
#edgtf-back-to-top>span:before{display:none!important;content:none!important}
#edgtf-back-to-top i,
#edgtf-back-to-top .edgtf-icon-stack i,
#edgtf-back-to-top svg,
#edgtf-back-to-top span{color:#0F172A!important;fill:#0F172A!important;font-size:20px;line-height:1}
#edgtf-back-to-top:hover>span{background:var(--aab-teal-dark)!important}

/* (10) footer logo */
.aab-flogo{display:block;width:100%;max-width:290px;margin:0 0 16px;line-height:0}
.aab-flogo img{width:100%!important;height:auto!important;max-width:100%!important;display:block;
  filter:none!important}                       /* Additional CSS inverts footer images; not this one */
html footer .aab-flogo img{filter:none!important}
.edgtf-footer-top-holder .widget_custom_html .edgtf-widget-title-holder:empty{display:none}

/* (11) footer column titles: accent bar flows inline with a real gap,
        so it can never sit on the first letter */
body footer .edgtf-footer-top-holder .widget .edgtf-widget-title,
body footer .edgtf-footer-top-holder .widget h5.edgtf-widget-title{
  position:static!important;display:flex!important;align-items:center;gap:11px;padding-left:0!important}
body footer .edgtf-footer-top-holder .widget .edgtf-widget-title:before{
  content:""!important;display:inline-block!important;position:static!important;flex:0 0 auto;
  width:5px!important;height:16px!important;transform:none!important;
  border:0!important;border-radius:3px!important;
  background:linear-gradient(180deg,#18C999,#009E5E)!important}

/* (4) footer, dark mode: no inner rectangle + a soft fade at the top edge */
html[data-theme="dark"] footer .edgtf-grid-row,
html[data-theme="dark"] footer .edgtf-grid,
html[data-theme="dark"] footer .edgtf-container,
html[data-theme="dark"] footer .edgtf-container-inner,
html[data-theme="dark"] footer .edgtf-row-grid-section,
html[data-theme="dark"] .edgtf-footer-top-holder .edgtf-grid,
html[data-theme="dark"] .edgtf-footer-bottom-holder .edgtf-grid{background:transparent!important;background-color:transparent!important}
html[data-theme="dark"] footer,
html[data-theme="dark"] .edgtf-page-footer{position:relative;background:#000!important}
html[data-theme="dark"] .edgtf-footer-top-holder{
  position:relative;
  background:linear-gradient(180deg,#0B1220 0%,#050810 38%,#000 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important}
html[data-theme="dark"] .edgtf-footer-bottom-holder{background:#000!important;border-top-color:rgba(255,255,255,.07)!important}
/* light mode keeps the flat black footer; just soften its top edge a touch */
html[data-theme="light"] .edgtf-footer-top-holder{box-shadow:0 -1px 0 rgba(255,255,255,.04),0 -22px 30px -26px rgba(0,0,0,.55)}

/* (12) fullscreen search: transparent field with an underline, both modes */
html .edgtf-fullscreen-search-holder .edgtf-search-field,
html[data-theme="dark"] .edgtf-fullscreen-search-holder .edgtf-search-field,
html .edgtf-fullscreen-search-holder input[type="text"]{
  background:transparent!important;background-color:transparent!important;
  border:0!important;border-bottom:2px solid rgba(255,255,255,.35)!important;border-radius:0!important;
  color:#fff!important;box-shadow:none!important}
html .edgtf-fullscreen-search-holder .edgtf-search-field:focus{border-bottom-color:var(--aab-teal)!important}
html .edgtf-fullscreen-search-holder .edgtf-search-field::placeholder{color:rgba(255,255,255,.55)!important}
html .edgtf-fullscreen-search-holder .edgtf-search-submit{background:transparent!important;color:#fff!important;border:0!important}
html .edgtf-fullscreen-search-holder .edgtf-search-submit:hover{color:var(--aab-teal)!important}
html .edgtf-fullscreen-search-holder .edgtf-search-submit svg *{fill:currentColor!important}
/* card chip stays an overlay in the thumbnail's top-left corner */
.aab-card .aab-card-chip{position:absolute!important;top:10px!important;left:10px!important;z-index:2}
/* .clearfix pseudo-elements would become grid items and steal the first cell */
.edgtf-related-posts-holder .edgtf-related-posts-inner:before,
.edgtf-related-posts-holder .edgtf-related-posts-inner:after,
.edgtf-related-posts-holder .edgtf-related-posts-holder-inner:before,
.edgtf-related-posts-holder .edgtf-related-posts-holder-inner:after{display:none!important;content:none!important}

/* (14) legacy inline colours in post bodies (old theme era: pale cyan, reds, ...)
        fail contrast in one mode or the other. Normalise text to the theme colour;
        links and buttons keep their own styling. */
body.single-post .edgtf-post-text-inner [style*="color:"]:not(a):not(.edgtf-btn):not(.wp-block-button__link),
body.single-post .edgtf-post-text-inner font[color]{color:inherit!important}
body.single-post .edgtf-post-text-inner [style*="background"]:not(a):not(.edgtf-btn):not(.wp-block-button__link):not(img){background:transparent!important}

/* (14) accessible teal for small text on light surfaces (#007A48 on #f2f5f9 = 4.9:1);
        dark mode keeps the bright teal (~10:1 on navy) */
:root{--aab-teal-text:#007A48}
html[data-theme="dark"]{--aab-teal-text:#2FD6A5}
.aab-section-head .aab-viewall,
.aab-viewall{color:var(--aab-teal-text)!important}
.aab-viewall:hover{color:var(--aab-teal-dark)!important}
html[data-theme="dark"] .aab-viewall:hover{color:#fff!important}
.aab-fbrand-note{color:var(--aab-teal)}                       /* footer is always dark */
/* image placeholders follow the surface in dark mode */
html[data-theme="dark"] .aab-card-thumb,
html[data-theme="dark"] .aab-card-noimg,
html[data-theme="dark"] .edgtf-blog-holder.edgtf-blog-masonry article .edgtf-post-image,
html[data-theme="dark"] .edgtf-related-post-image{background:var(--aab-surface-2)!important}
html[data-theme="dark"] .aab-card-noimg{background:linear-gradient(135deg,#1B2540,#273248)!important}
/* static pages: WPBakery hover-boxes / text panels carry inline light backgrounds */
html[data-theme="dark"] .vc-hoverbox-block,
html[data-theme="dark"] .vc-hoverbox-front,
html[data-theme="dark"] .vc-hoverbox-back{
  background-color:var(--aab-surface)!important;color:var(--aab-ink)!important;
  border:1px solid var(--aab-line);border-radius:var(--aab-radius)}
html[data-theme="dark"] .vc-hoverbox-block :not(a):not(.edgtf-btn):not(.edgtf-btn *){color:var(--aab-ink)!important}
html[data-theme="dark"] .vc-hoverbox-block a:not(.edgtf-btn){color:var(--aab-teal-text)!important}
html[data-theme="dark"] .wpb_text_column[style*="background"],
html[data-theme="dark"] .vc_column-inner[style*="background"],
html[data-theme="dark"] .wpb_wrapper > [style*="background-color: rgb(2"],
html[data-theme="dark"] .wpb_wrapper > [style*="background-color: #f"],
html[data-theme="dark"] .wpb_wrapper > [style*="background-color: #e"]{
  background-color:var(--aab-surface)!important;color:var(--aab-ink)!important}

/* ---- WPBakery element skins in dark mode (static pages) ---- */
html[data-theme="dark"] .vc_cta3,
html[data-theme="dark"] .vc_cta3.vc_cta3-style-classic,
html[data-theme="dark"] .vc_cta3.vc_cta3-style-flat{
  background-color:var(--aab-surface)!important;border-color:var(--aab-line)!important;
  color:var(--aab-ink)!important;border-radius:var(--aab-radius)!important}
html[data-theme="dark"] .vc_cta3 h1,html[data-theme="dark"] .vc_cta3 h2,html[data-theme="dark"] .vc_cta3 h3,
html[data-theme="dark"] .vc_cta3 h4,html[data-theme="dark"] .vc_cta3 p{color:var(--aab-ink)!important}

html[data-theme="dark"] .vc_message_box{
  background-color:var(--aab-surface)!important;color:var(--aab-ink)!important;
  border:1px solid var(--aab-line)!important;border-left-width:4px!important;border-radius:var(--aab-radius-sm)!important}
html[data-theme="dark"] .vc_message_box *{color:var(--aab-ink)!important}
html[data-theme="dark"] .vc_message_box a{color:var(--aab-teal-text)!important}
html[data-theme="dark"] .vc_message_box.vc_color-alert-info,
html[data-theme="dark"] .vc_message_box.vc_color-info{border-left-color:var(--aab-blue)!important}
html[data-theme="dark"] .vc_message_box.vc_color-alert-success,
html[data-theme="dark"] .vc_message_box.vc_color-success{border-left-color:var(--aab-teal)!important}
html[data-theme="dark"] .vc_message_box.vc_color-alert-warning,
html[data-theme="dark"] .vc_message_box.vc_color-warning{border-left-color:var(--aab-orange)!important}
html[data-theme="dark"] .vc_message_box.vc_color-alert-danger,
html[data-theme="dark"] .vc_message_box.vc_color-danger{border-left-color:#ef4444!important}
html[data-theme="dark"] .vc_message_box .vc_message_box-icon{color:var(--aab-teal)!important}

/* tabs / tours / accordions / toggles */
html[data-theme="dark"] .vc_tta.vc_general .vc_tta-panel-heading,
html[data-theme="dark"] .vc_tta.vc_general .vc_tta-tab > a,
html[data-theme="dark"] .vc_tta.vc_general .vc_tta-panel-body,
html[data-theme="dark"] .vc_tta.vc_general .vc_tta-panels{
  background-color:var(--aab-surface)!important;border-color:var(--aab-line)!important;color:var(--aab-ink)!important}
html[data-theme="dark"] .vc_tta.vc_general .vc_tta-panel.vc_active .vc_tta-panel-heading,
html[data-theme="dark"] .vc_tta.vc_general .vc_tta-tab.vc_active > a{background-color:var(--aab-surface-2)!important}
html[data-theme="dark"] .vc_tta.vc_general .vc_tta-panel-title > a,
html[data-theme="dark"] .vc_tta.vc_general .vc_tta-panel-title > a *,
html[data-theme="dark"] .vc_tta.vc_general .vc_tta-tab > a{color:var(--aab-ink)!important}
html[data-theme="dark"] .vc_toggle .vc_toggle_title,
html[data-theme="dark"] .vc_toggle .vc_toggle_content{background-color:var(--aab-surface)!important;border-color:var(--aab-line)!important;color:var(--aab-ink)!important}
html[data-theme="dark"] .vc_toggle .vc_toggle_title > *{color:var(--aab-ink)!important}
html[data-theme="dark"] .vc_toggle .vc_toggle_icon{border-color:var(--aab-teal)!important;background-color:var(--aab-teal)!important}

/* separators, tables, code blocks */
html[data-theme="dark"] .vc_separator .vc_sep_line{border-color:var(--aab-line)!important}
html[data-theme="dark"] .vc_separator h4{color:var(--aab-ink)!important}
html[data-theme="dark"] .edgtf-content table,
html[data-theme="dark"] .edgtf-content th,
html[data-theme="dark"] .edgtf-content td{border-color:var(--aab-line)!important;color:var(--aab-ink)!important;background-color:transparent!important}
html[data-theme="dark"] .edgtf-content th{background-color:var(--aab-surface-2)!important}
html[data-theme="dark"] .edgtf-content pre,
html[data-theme="dark"] .edgtf-content code{background-color:var(--aab-surface-2)!important;color:var(--aab-ink)!important;border-color:var(--aab-line)!important}
/* light mode: body links at 4.9:1 (was #009E5E = 3.2:1 on the page background) */
html[data-theme="light"],html:not([data-theme="dark"]){--color-primary-dark:#007A48}
html[data-theme="light"] .edgtf-content a:not(.edgtf-btn):not(.aab-card-btn):not(.aab-slide-btn):not(.aab-topslide-btn):not(.aab-viewall):not(.aab-chips a):not(.aab-cats a):not(.wp-block-button__link):hover{color:#005B36}

/* ---- search results page ---- */
.edgtf-search-page-holder .edgtf-search-page-form .edgtf-search-title{
  font-size:18px!important;font-weight:800;letter-spacing:.2px;text-transform:uppercase;margin:0 0 12px;color:var(--aab-ink)}
.edgtf-search-page-holder .edgtf-search-page-form .edgtf-form-holder{
  display:flex;align-items:stretch;max-width:640px;
  background:var(--aab-surface);border:1px solid var(--aab-line);border-radius:999px;overflow:hidden;
  box-shadow:var(--aab-shadow)}
.edgtf-search-page-holder .edgtf-search-page-form .edgtf-column-left{flex:1 1 auto;min-width:0}
.edgtf-search-page-holder .edgtf-search-page-form .edgtf-column-right{flex:0 0 auto;display:flex}
.edgtf-search-page-holder .edgtf-search-page-form .edgtf-search-field{
  width:100%!important;height:48px!important;padding:0 20px!important;
  border:0!important;background:transparent!important;color:var(--aab-ink)!important;font-size:15px}
.edgtf-search-page-holder .edgtf-search-page-form .edgtf-search-submit{
  width:56px!important;height:48px!important;padding:0!important;border:0!important;
  display:inline-flex!important;align-items:center;justify-content:center;
  background-color:var(--aab-teal)!important;color:#0F172A!important;font-size:18px;cursor:pointer}
.edgtf-search-page-holder .edgtf-search-page-form .edgtf-search-submit:hover{background-color:var(--aab-teal-dark)!important;color:#fff!important}
.edgtf-search-page-holder .edgtf-search-page-form + p,
.edgtf-search-page-holder .edgtf-search-label{margin:10px 0 0;font-size:13px;color:var(--aab-muted)}
/* result rows: no descriptions (site-wide rule), tidy spacing */
.edgtf-search-page-holder article .edgtf-post-excerpt{display:none!important}
.edgtf-search-page-holder article{padding:18px 0!important;border-bottom:1px solid var(--aab-line)!important}
.edgtf-search-page-holder article .edgtf-post-title,
.edgtf-search-page-holder article .edgtf-post-title a{font-size:16px!important;font-weight:700!important;text-transform:none!important;letter-spacing:0;color:var(--aab-ink)!important}
.edgtf-search-page-holder article .edgtf-post-title a:hover{color:var(--aab-teal-text)!important}
.edgtf-search-page-holder article .edgtf-post-image{border-radius:var(--aab-radius-sm);overflow:hidden}
.edgtf-search-page-holder .edgtf-search-page-form .edgtf-form-holder{display:flex!important;position:relative!important;width:100%;max-width:640px}
.edgtf-search-page-holder .edgtf-search-page-form .edgtf-column-left,
.edgtf-search-page-holder .edgtf-search-page-form .edgtf-column-right{
  float:none!important;position:static!important;width:auto!important;height:auto!important;
  margin:0!important;padding:0!important;display:flex!important}
.edgtf-search-page-holder .edgtf-search-page-form .edgtf-column-left{flex:1 1 auto!important;min-width:0}
.edgtf-search-page-holder .edgtf-search-page-form .edgtf-column-right{flex:0 0 56px!important;width:56px!important}
.edgtf-search-page-holder .edgtf-search-page-form .edgtf-search-submit{position:static!important;top:auto!important;right:auto!important;transform:none!important;line-height:48px!important}
.edgtf-search-page-holder .edgtf-search-page-form .edgtf-search-submit span,
.edgtf-search-page-holder .edgtf-search-page-form .edgtf-search-submit span:before{color:inherit!important;font-size:18px!important;line-height:1!important}

/* (14) teal buttons: ink text (9.5:1) instead of white (2.1:1). Orange buttons already use ink. */
html .edgtf-btn.edgtf-btn-solid:not(.aab-download-btn),
html .edgtf-btn.edgtf-btn-solid:not(.aab-download-btn) .edgtf-btn-text,
html .edgtf-btn.edgtf-btn-outline:hover,
html .edgtf-btn.edgtf-btn-outline:hover .edgtf-btn-text,
html input[type="submit"],
html button.wpcf7-submit,
html .edgtf-page-not-found .edgtf-btn,
html .edgtf-page-not-found .edgtf-btn .edgtf-btn-text,
html body.single-post .wp-block-button:not(:first-child) .wp-block-button__link,
html body.single-post .wp-block-button:not(:first-child) .wp-block-button__link *,
html body.single-post .wp-block-button:not(:first-child) .wp-block-button__link:hover,
html body.single-post .wp-block-button:not(:first-child) .wp-block-button__link:hover *{color:#0F172A!important}
html .edgtf-btn.edgtf-btn-solid:not(.aab-download-btn):hover{background-color:var(--aab-teal-dark)!important;border-color:var(--aab-teal-dark)!important}
html .edgtf-btn.edgtf-btn-solid:not(.aab-download-btn):hover,
html .edgtf-btn.edgtf-btn-solid:not(.aab-download-btn):hover .edgtf-btn-text{color:#fff!important}   /* dark green + white = 4.6:1 */

/* (14) legacy inline colours in PAGE content (WPBakery text blocks) */
.edgtf-content .wpb_wrapper [style*="color:"]:not(a):not([style*="background"]):not(.edgtf-btn):not(.vc_btn3),
.edgtf-content .wpb_wrapper font[color]{color:inherit!important}
/* coloured inline boxes: readable in both modes */
html[data-theme="light"] .edgtf-content .wpb_wrapper [style*="background-color"]:not(img):not(.vc-hoverbox-block),
html[data-theme="light"] .edgtf-content .wpb_wrapper [style*="background-color"]:not(img):not(.vc-hoverbox-block) *:not(a){color:#0F172A!important}
html[data-theme="light"] .edgtf-content .wpb_wrapper [style*="background-color"]:not(img) a{color:#0F172A!important;text-decoration:underline!important}
html[data-theme="dark"] .edgtf-content .wpb_wrapper [style*="background-color"]:not(img):not(.vc-hoverbox-block){
  background-color:var(--aab-surface)!important;color:var(--aab-ink)!important;border:1px solid var(--aab-line);border-radius:var(--aab-radius-sm)}
html[data-theme="dark"] .edgtf-content .wpb_wrapper [style*="background-color"]:not(img):not(.vc-hoverbox-block) *:not(a){color:var(--aab-ink)!important}
html[data-theme="dark"] .edgtf-content .wpb_wrapper [style*="background-color"]:not(img) a{color:var(--aab-teal-text)!important}
/* light mode: inline coloured boxes become white cards (mid-tone boxes can't carry readable text either way) */
html[data-theme="light"] .edgtf-content .wpb_wrapper [style*="background-color"]:not(img):not(.vc-hoverbox-block):not(a){
  background-color:#fff!important;border:1px solid var(--aab-line);border-radius:var(--aab-radius-sm)}
/* links that carry their own inline background */
.edgtf-content .wpb_wrapper a[style*="background-color"]{
  background-color:transparent!important;padding:0!important;text-decoration:underline!important}
html[data-theme="light"] .edgtf-content .wpb_wrapper a[style*="background-color"]{color:#0F172A!important}
html[data-theme="dark"]  .edgtf-content .wpb_wrapper a[style*="background-color"]{color:var(--aab-teal-text)!important}
/* message boxes in light mode: same card treatment as dark, so legacy inline colours can't break them */
html[data-theme="light"] .vc_message_box,
html[data-theme="light"] .vc_message_box.vc_message_box-solid{
  background-color:#fff!important;color:#0F172A!important;
  border:1px solid var(--aab-line)!important;border-left-width:4px!important;border-radius:var(--aab-radius-sm)!important}
html[data-theme="light"] .vc_message_box *{color:#0F172A!important}
html[data-theme="light"] .vc_message_box.vc_color-alert-info,html[data-theme="light"] .vc_message_box.vc_color-info{border-left-color:var(--aab-blue)!important}
html[data-theme="light"] .vc_message_box.vc_color-alert-success,html[data-theme="light"] .vc_message_box.vc_color-success{border-left-color:var(--aab-teal)!important}
html[data-theme="light"] .vc_message_box.vc_color-alert-warning,html[data-theme="light"] .vc_message_box.vc_color-warning{border-left-color:var(--aab-orange)!important}
html[data-theme="light"] .vc_message_box.vc_color-alert-danger,html[data-theme="light"] .vc_message_box.vc_color-danger{border-left-color:#ef4444!important}
html[data-theme="light"] .vc_message_box .vc_message_box-icon{color:var(--aab-teal-text)!important}
/* links inside message boxes (both modes): inherit + underline, ignoring inline colours */
html .vc_message_box a,html .vc_message_box a *{color:inherit!important;text-decoration:underline!important}
html[data-theme="dark"] .vc_message_box a,html[data-theme="dark"] .vc_message_box a *{color:var(--aab-teal-text)!important}

/* ------------------------------------------------------------
   21. NAVIGATION DROPDOWNS + MOBILE MENU in dark mode
   The theme's generated style_dynamic.css paints dropdown panels
   white (dropdown_background_color) with ink links. Re-skin them
   on the dark surface; light mode is untouched.
   ------------------------------------------------------------ */
/* panel */
html[data-theme="dark"] .edgtf-drop-down .narrow .second .inner ul,
html[data-theme="dark"] .edgtf-drop-down .wide .second .inner,
html[data-theme="dark"] .edgtf-drop-down .second .inner ul li ul,
html[data-theme="dark"] .edgtf-drop-down .wide .second .inner > ul,
html[data-theme="dark"] .edgtf-drop-down .wide .second .inner > ul > li > ul{
  background-color:var(--aab-surface)!important;
  border:1px solid var(--aab-line)!important;
  border-radius:0 0 var(--aab-radius-sm) var(--aab-radius-sm)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.55)!important}
html[data-theme="dark"] .edgtf-drop-down .narrow .second .inner ul{padding:8px 0!important}
/* links */
html[data-theme="dark"] .edgtf-drop-down .second .inner ul li a,
html[data-theme="dark"] .edgtf-drop-down .second .inner ul li a span,
html[data-theme="dark"] .edgtf-drop-down .wide .second .inner ul li a,
html[data-theme="dark"] .edgtf-drop-down .wide .second .inner ul li a span,
html[data-theme="dark"] .edgtf-drop-down .second .inner ul li.menu-item-has-children > a{
  color:var(--aab-ink)!important;background:transparent!important;border-color:var(--aab-line)!important}
html[data-theme="dark"] .edgtf-drop-down .second .inner ul li:hover > a,
html[data-theme="dark"] .edgtf-drop-down .second .inner ul li:hover > a span,
html[data-theme="dark"] .edgtf-drop-down .second .inner ul li a:hover,
html[data-theme="dark"] .edgtf-drop-down .second .inner ul li a:hover span,
html[data-theme="dark"] .edgtf-drop-down .second .inner ul li.edgtf-active-item > a,
html[data-theme="dark"] .edgtf-drop-down .second .inner ul li.current-menu-item > a{
  color:var(--aab-teal)!important;background-color:var(--aab-surface-2)!important}
/* wide (mega) dropdown column headings + dividers */
html[data-theme="dark"] .edgtf-drop-down .wide .second .inner > ul > li > a{
  color:var(--aab-ink)!important;border-bottom-color:var(--aab-line)!important}
html[data-theme="dark"] .edgtf-drop-down .second .inner ul li{border-color:var(--aab-line)!important}
/* the little arrow / pointer some skins draw above the panel */
html[data-theme="dark"] .edgtf-drop-down .second:before,
html[data-theme="dark"] .edgtf-drop-down .second .inner:before{border-bottom-color:var(--aab-surface)!important;background:transparent!important}

/* mobile menu */
html[data-theme="dark"] .edgtf-mobile-header .edgtf-mobile-header-inner,
html[data-theme="dark"] .edgtf-mobile-header .edgtf-mobile-menu-opener,
html[data-theme="dark"] .edgtf-mobile-header .edgtf-mobile-header-holder{background-color:#000!important}
html[data-theme="dark"] nav.edgtf-mobile-nav,
html[data-theme="dark"] .edgtf-mobile-nav > ul,
html[data-theme="dark"] .edgtf-mobile-nav ul li,
html[data-theme="dark"] .edgtf-mobile-nav ul li ul{background-color:var(--aab-surface)!important;border-color:var(--aab-line)!important}
html[data-theme="dark"] .edgtf-mobile-nav ul li a,
html[data-theme="dark"] .edgtf-mobile-nav ul li h6,
html[data-theme="dark"] .edgtf-mobile-nav ul li a span,
html[data-theme="dark"] .edgtf-mobile-nav .mobile_arrow,
html[data-theme="dark"] .edgtf-mobile-nav .mobile_arrow i{color:var(--aab-ink)!important;background:transparent!important}
html[data-theme="dark"] .edgtf-mobile-nav ul li a:hover,
html[data-theme="dark"] .edgtf-mobile-nav ul li.edgtf-active-item > a,
html[data-theme="dark"] .edgtf-mobile-nav ul li.current-menu-item > a,
html[data-theme="dark"] .edgtf-mobile-nav .mobile_arrow:hover i{color:var(--aab-teal)!important}
html[data-theme="dark"] .edgtf-mobile-nav ul li ul li a{color:var(--aab-muted)!important}
html[data-theme="dark"] .edgtf-mobile-nav ul li ul li a:hover{color:var(--aab-teal)!important}

/* side area (if ever re-enabled) and the fullscreen search backdrop */
html[data-theme="dark"] .edgtf-side-menu{background-color:var(--aab-surface)!important;color:var(--aab-ink)!important}
html[data-theme="dark"] .edgtf-fullscreen-search-holder{background-color:rgba(5,8,16,.94)!important}

/* ------------------------------------------------------------
   22. POST PAGE FRAME + SIDEBAR WIDGETS
   ------------------------------------------------------------ */

/* (1) the content container painted a lighter band above the post and
       left 60px of it below: make it the page colour, trim the bottom */
.edgtf-content .edgtf-container-inner,
html[data-theme="dark"] .edgtf-content .edgtf-container-inner,
html[data-theme="light"] .edgtf-content .edgtf-container-inner{
  background:transparent!important;background-color:transparent!important;
  padding:30px 0 22px!important}
body.single-post .edgtf-related-posts-holder{margin-bottom:0!important}

/* (2) sidebar widgets as cards */
.edgtf-sidebar .widget,
html[data-theme="dark"] .edgtf-sidebar .widget{
  margin:0 0 20px!important;padding:18px 18px 16px!important;
  background:var(--aab-surface)!important;border:1px solid var(--aab-line)!important;
  border-radius:var(--aab-radius)!important;box-shadow:var(--aab-shadow)!important}
.edgtf-sidebar .widget .edgtf-widget-title-holder{margin:0 0 14px!important;padding:0!important;border:0!important}
.edgtf-sidebar .widget .edgtf-widget-title,
html[data-theme="dark"] .edgtf-sidebar .widget .edgtf-widget-title{
  position:static!important;display:flex!important;align-items:center;gap:10px;
  margin:0!important;padding:0!important;border:0!important;
  font-size:13px!important;font-weight:800!important;letter-spacing:.8px!important;
  text-transform:uppercase!important;color:var(--aab-ink)!important}
.edgtf-sidebar .widget .edgtf-widget-title:before{
  content:""!important;display:inline-block!important;position:static!important;flex:0 0 auto;
  width:5px!important;height:15px!important;transform:none!important;
  border:0!important;border-radius:3px!important;
  background:linear-gradient(180deg,var(--aab-teal),var(--aab-teal-dark))!important}
.edgtf-sidebar .widget .edgtf-widget-title:after{display:none!important;content:none!important}

/* search widget = the hero pill, borderless */
.edgtf-sidebar .widget_search,
html[data-theme="dark"] .edgtf-sidebar .widget_search{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.edgtf-sidebar .widget_search form.searchform .input-holder,
html[data-theme="dark"] .edgtf-sidebar .widget_search form.searchform .input-holder{
  display:flex!important;align-items:center;position:relative;
  background:var(--aab-surface)!important;border:1px solid var(--aab-line)!important;
  border-radius:999px!important;overflow:hidden;box-shadow:var(--aab-shadow)}
.edgtf-sidebar .widget_search form.searchform input.search-field{
  flex:1 1 auto;min-width:0;height:46px!important;padding:0 18px!important;
  border:0!important;background:transparent!important;color:var(--aab-ink)!important;font-size:14px}
.edgtf-sidebar .widget_search form.searchform input.search-field::placeholder{color:var(--aab-muted)}
.edgtf-sidebar .widget_search form.searchform .edgtf-search-submit,
html[data-theme="dark"] .edgtf-sidebar .widget_search form.searchform .edgtf-search-submit{
  flex:0 0 auto;width:40px!important;height:40px!important;margin:3px!important;padding:0!important;
  display:inline-flex!important;align-items:center;justify-content:center;
  border:0!important;border-radius:50%!important;
  background-color:var(--aab-teal)!important;color:#0F172A!important;font-size:15px;cursor:pointer;
  transition:background-color .18s ease}
.edgtf-sidebar .widget_search form.searchform .edgtf-search-submit:hover{background-color:var(--aab-teal-dark)!important;color:#fff!important}

/* tags: chips with counts */
.aab-tags{display:flex;flex-wrap:wrap;gap:8px}
.aab-tag,
html[data-theme="dark"] .aab-tag{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 8px 6px 12px;border-radius:999px;
  background:var(--aab-surface-2,#EEF2F7);border:1px solid var(--aab-line);
  color:var(--aab-ink)!important;font-size:12px;font-weight:700;letter-spacing:.2px;
  text-decoration:none!important;line-height:1;
  transition:background .16s ease,border-color .16s ease,transform .16s ease,color .16s ease}
.aab-tag-count{
  display:inline-block;min-width:22px;padding:4px 7px;border-radius:999px;text-align:center;
  background:rgba(24,201,153,.16);color:var(--aab-teal-text)!important;font-size:10.5px;font-weight:800}
.aab-tag:hover{background:var(--aab-teal)!important;border-color:var(--aab-teal)!important;color:#0F172A!important;transform:translateY(-1px)}
.aab-tag:hover .aab-tag-count{background:rgba(15,23,42,.18);color:#0F172A!important}
html[data-theme="light"] .aab-tag{background:#F1F5F9}

/* top articles: ranked list */
.aab-toplist{list-style:none!important;margin:0!important;padding:0!important;display:flex;flex-direction:column;gap:4px}
.aab-toplist-item{margin:0!important;padding:0!important;list-style:none!important}
.aab-toplist-item a{
  display:flex;align-items:center;gap:12px;
  padding:8px;margin:0 -8px;border-radius:12px;
  text-decoration:none!important;color:var(--aab-ink)!important;
  transition:background .16s ease,transform .16s ease}
.aab-toplist-item a:hover{background:var(--aab-surface-2,#F1F5F9);transform:translateX(2px)}
.aab-toplist-rank{
  flex:0 0 auto;width:28px;height:28px;border-radius:9px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--aab-surface-2,#F1F5F9);border:1px solid var(--aab-line);
  color:var(--aab-muted);font-size:11px;font-weight:800;letter-spacing:.3px;font-variant-numeric:tabular-nums}
.aab-toplist-item.is-top .aab-toplist-rank{
  background:linear-gradient(135deg,var(--aab-orange),#ffb340);border-color:transparent;color:#0F172A;
  box-shadow:0 3px 10px rgba(250,138,3,.35)}
.aab-toplist-thumb{
  flex:0 0 auto;width:54px;height:54px;border-radius:12px;overflow:hidden;
  background:var(--aab-surface-2,#F1F5F9);border:1px solid var(--aab-line)}
.aab-toplist-thumb img{width:100%!important;height:100%!important;object-fit:cover;display:block;max-width:none;transition:transform .4s ease}
.aab-toplist-item a:hover .aab-toplist-thumb img{transform:scale(1.06)}
.aab-toplist-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}
.aab-toplist-title{
  font-size:13px;line-height:1.35;font-weight:700;letter-spacing:0;text-transform:none;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--aab-ink)}
.aab-toplist-item a:hover .aab-toplist-title{color:var(--aab-teal-text)}
.aab-toplist-meta{font-size:10.5px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--aab-teal-text)}

/* keep the theme's old sidebar list styling from bleeding into the new widgets */
.edgtf-sidebar .widget .aab-toplist li:before,
.edgtf-sidebar .widget .aab-toplist li:after{display:none!important;content:none!important}

@media (max-width:1024px){
  .edgtf-sidebar{margin-top:26px}
}
/* Additional CSS forces transparent sidebar widgets at (0,3,1); out-specify it */
html body .edgtf-content aside.edgtf-sidebar .widget,
html body .edgtf-content .edgtf-sidebar .widget{
  background:var(--aab-surface)!important;background-color:var(--aab-surface)!important;
  border:1px solid var(--aab-line)!important}
html body .edgtf-content aside.edgtf-sidebar .widget_search,
html body .edgtf-content .edgtf-sidebar .widget_search{
  background:transparent!important;background-color:transparent!important;border:0!important;box-shadow:none!important}
/* bottom of the post: the blog holder kept a 40px margin under the related posts */
body.single-post .edgtf-blog-holder.edgtf-blog-single{margin-bottom:0!important;padding-bottom:0!important}
body.single-post .edgtf-content .edgtf-container-inner{padding-bottom:16px!important}

/* ------------------------------------------------------------
   23. Top Apps & Games list - contrast.
   Additional CSS flattens every sidebar element to the body text
   colour with !important, which put light text on the orange badges
   (2.9:1) and hid the 04-10 badges against the card. More specific
   selectors below restore the hierarchy in both modes.
   ------------------------------------------------------------ */
/* ranks 04+ : teal-tinted pill, teal number */
html body .edgtf-content .edgtf-sidebar .widget .aab-toplist .aab-toplist-rank{
  background:rgba(24,201,153,.14)!important;border:1px solid rgba(24,201,153,.38)!important;
  color:var(--aab-teal-text)!important}
/* ranks 01-03 : orange badge, ink number (7:1) */
html body .edgtf-content .edgtf-sidebar .widget .aab-toplist .is-top .aab-toplist-rank{
  background:linear-gradient(135deg,var(--aab-orange),#ffb340)!important;border-color:transparent!important;
  color:#0F172A!important;box-shadow:0 3px 10px rgba(250,138,3,.35)}
/* title: ink; category label: teal, smaller, so it reads as secondary */
html body .edgtf-content .edgtf-sidebar .widget .aab-toplist .aab-toplist-title{color:var(--aab-ink)!important}
html body .edgtf-content .edgtf-sidebar .widget .aab-toplist a:hover .aab-toplist-title{color:var(--aab-teal-text)!important}
html body .edgtf-content .edgtf-sidebar .widget .aab-toplist .aab-toplist-meta{color:var(--aab-teal-text)!important;opacity:.95}
/* thumbnails get a visible edge on the card */
html body .edgtf-content .edgtf-sidebar .widget .aab-toplist-thumb{border-color:rgba(255,255,255,.12)!important}
html[data-theme="light"] body .edgtf-content .edgtf-sidebar .widget .aab-toplist-thumb{border-color:var(--aab-line)!important}
/* hover row */
html body .edgtf-content .edgtf-sidebar .widget .aab-toplist a:hover{background:rgba(24,201,153,.08)!important}

/* tags: no counts */
.aab-tag-count{display:none!important}
.aab-tag{padding:7px 12px}

/* PlayerX paints every direct child of a widget near-black:
     .widget > :not(.edgtf-social-icon-widget-holder){background:rgba(15,15,15,.8)}
   The widget card already carries the surface colour, so its children must be clear. */
html body .edgtf-content .edgtf-sidebar .widget > *,
html body .edgtf-content .edgtf-sidebar .widget > .aab-toplist,
html body .edgtf-content .edgtf-sidebar .widget > .aab-tags,
html body .edgtf-content .edgtf-sidebar .widget > .edgtf-widget-title-holder,
html body .edgtf-content .edgtf-sidebar .widget > form,
html body .edgtf-content .edgtf-sidebar .widget > ul,
html body .edgtf-content .edgtf-sidebar .widget > ol,
html body .edgtf-content .edgtf-sidebar .widget > div{
  background:transparent!important;background-color:transparent!important}
/* the same theme rule hits footer widget children */
html body footer .widget > *{background:transparent!important;background-color:transparent!important}

/* ------------------------------------------------------------
   25. BACK-TO-TOP: the theme draws a wedge with span::after
   ------------------------------------------------------------ */
#edgtf-back-to-top>span:after,
#edgtf-back-to-top>span:before,
#edgtf-back-to-top:after,
#edgtf-back-to-top:before{display:none!important;content:none!important;border:0!important;width:0!important}
#edgtf-back-to-top{overflow:visible;width:46px!important;height:46px!important}
#edgtf-back-to-top>span{border-radius:12px!important;overflow:hidden}

/* ------------------------------------------------------------
   26. FOOTER SPACING - trim the theme's extra padding layers
   ------------------------------------------------------------ */
html body .edgtf-footer-top-holder{padding:42px 0 26px!important}
html body .edgtf-footer-top-holder .edgtf-footer-top-inner{padding:0!important;margin:0 auto!important}
html body .edgtf-footer-top-holder .edgtf-column-content{margin-bottom:8px!important}
html body .edgtf-footer-bottom-holder{padding:16px 0 20px!important}
html body .edgtf-footer-bottom-holder .edgtf-footer-bottom-inner{padding:0!important}
/* decorative border holders the theme puts in the bottom bar (113px tall, empty) */
html body .edgtf-footer-bottom-left-inner-border-holder,
html body .edgtf-footer-bottom-right-inner-border-holder,
html body .edgtf-footer-bottom-holder [class*="inner-border-holder"]{display:none!important}
html body .edgtf-footer-bottom-holder .edgtf-grid-row,
html body .edgtf-footer-bottom-holder .edgtf-column-content{margin:0!important;padding:0!important}
html body .edgtf-footer-bottom-holder .edgtf-social-icons-group-widget{margin:0 0 8px!important}
html[data-theme="dark"] .edgtf-footer-top-holder{
  background:linear-gradient(180deg,#0B1220 0%,#050810 30%,#000 100%)!important}
html body .edgtf-footer-bottom-holder .edgtf-social-icons-group-widget,
html body .edgtf-footer-bottom-holder .edgtf-social-icons-group-widget .edgtf-social-icons-group-holder{
  padding:0!important;margin:0 0 6px!important;line-height:1!important;min-height:0!important}
html body .edgtf-footer-bottom-holder .edgtf-social-icon-widget-holder{margin:0 8px!important;padding:0!important;line-height:1!important}

/* ------------------------------------------------------------
   27. LISTING PAGES (category / tag / search / blog) - bottom space
   ------------------------------------------------------------ */
html body.archive .edgtf-content .edgtf-container-inner,
html body.search .edgtf-content .edgtf-container-inner,
html body.blog .edgtf-content .edgtf-container-inner{padding-top:30px!important;padding-bottom:18px!important}
html body.archive .edgtf-blog-holder,html body.search .edgtf-blog-holder,html body.blog .edgtf-blog-holder{margin-bottom:0!important;padding-bottom:0!important}
html body .edgtf-blog-pagination,html body .edgtf-pagination{margin:26px 0 0!important;padding:0!important}
html body.archive .edgtf-search-page-holder,html body.search .edgtf-search-page-holder{margin-bottom:0!important;padding-bottom:0!important}

/* ------------------------------------------------------------
   28. STATIC PAGES
   ------------------------------------------------------------ */
/* the theme's title bar is replaced by the hero band */
body.page:not(.home) .edgtf-title-holder,
body.page:not(.home) .edgtf-page-title-holder{display:none!important}

.aab-page-hero{
  position:relative;overflow:hidden;margin:0 0 30px;padding:46px 28px 44px;
  border-radius:var(--aab-radius);
  background:linear-gradient(135deg,var(--aab-teal-dark) 0%,var(--aab-teal) 58%,#05D3D8 100%);
  color:#0F172A;box-shadow:0 14px 34px rgba(24,201,153,.18)}
.aab-page-hero:after{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;
  background:rgba(255,255,255,.14);pointer-events:none}
.aab-page-hero-inner{position:relative;max-width:900px}
.aab-crumbs{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:rgba(15,23,42,.7)}
.aab-crumbs a{color:#0F172A!important;text-decoration:none!important}
.aab-crumbs a:hover{text-decoration:underline!important}
.aab-page-hero h1{margin:0;font-size:34px;line-height:1.15;font-weight:800;letter-spacing:-.2px;text-transform:none;color:#0F172A!important}
.aab-page-hero-sub{margin:10px 0 0;max-width:640px;font-size:15.5px;line-height:1.55;color:rgba(15,23,42,.82)}
html[data-theme="dark"] .aab-page-hero{box-shadow:0 14px 34px rgba(0,0,0,.4)}

/* reading column */
body.page:not(.home) .edgtf-content .edgtf-container-inner{max-width:1000px;margin:0 auto;padding:30px 0 24px!important}
body.page:not(.home) .edgtf-content .edgtf-container-inner > .edgtf-grid-row,
body.page:not(.home) .edgtf-full-width-inner{max-width:100%}
body.page:not(.home) .edgtf-content p,
body.page:not(.home) .edgtf-content li{font-size:15px;line-height:1.7}
body.page:not(.home) .edgtf-content .aab-lead{font-size:17px;line-height:1.6;font-weight:500}

/* cards, tiles, buttons */
.aab-pcard{
  background:var(--aab-surface);border:1px solid var(--aab-line);border-radius:var(--aab-radius);
  box-shadow:var(--aab-shadow);padding:26px 28px;margin:0 0 20px}
.aab-pcard-accent{border-top:4px solid var(--aab-teal)}
.aab-pcard-title{
  display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:0;
  font-size:19px;line-height:1.25;font-weight:800;letter-spacing:0;text-transform:none;color:var(--aab-ink)}
.aab-pcard-title:before{content:"";flex:0 0 auto;width:5px;height:20px;border-radius:3px;
  background:linear-gradient(180deg,var(--aab-teal),var(--aab-teal-dark))}
.aab-pcard p:last-child{margin-bottom:0}
.aab-pgrid{display:grid;gap:18px;margin:0 0 20px}
.aab-pgrid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.aab-pgrid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.aab-pgrid > .aab-pcard{margin:0}
.aab-tile{
  background:var(--aab-surface);border:1px solid var(--aab-line);border-radius:var(--aab-radius);
  box-shadow:var(--aab-shadow);padding:22px 20px;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.aab-tile:hover{transform:translateY(-3px);box-shadow:var(--aab-shadow-hover);border-color:var(--aab-teal)}
.aab-tile-ico{
  display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;margin:0 0 12px;
  border-radius:13px;font-size:22px;line-height:1;
  background:linear-gradient(135deg,rgba(24,201,153,.18),rgba(0,123,254,.14));box-shadow:inset 0 0 0 1px rgba(24,201,153,.25)}
.aab-tile h3{margin:0 0 6px;font-size:15.5px;line-height:1.3;font-weight:800;text-transform:none;letter-spacing:0;color:var(--aab-ink)}
.aab-tile p{margin:0;font-size:14px!important;line-height:1.6!important;color:var(--aab-muted)}
.aab-email{margin:6px 0 16px;font-size:22px;font-weight:800;letter-spacing:-.2px;word-break:break-all}
.aab-email a{color:var(--aab-teal-text)!important;text-decoration:none!important}
.aab-email a:hover{text-decoration:underline!important}
.aab-btnrow{margin:0;display:flex;flex-wrap:wrap;gap:10px}
.aab-ctarow{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:6px 0 10px}
.aab-btn,
html .edgtf-content .aab-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:44px;padding:0 22px;border-radius:var(--aab-radius-sm);border:0;
  font-size:12.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;text-decoration:none!important;
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease}
.aab-btn-orange,html .edgtf-content .aab-btn-orange{background:var(--aab-orange);color:#0F172A!important;box-shadow:0 6px 16px rgba(250,138,3,.28)}
.aab-btn-orange:hover{background:var(--aab-orange-dark);transform:translateY(-1px)}
.aab-btn-teal,html .edgtf-content .aab-btn-teal{background:var(--aab-teal);color:#0F172A!important;box-shadow:0 6px 16px rgba(24,201,153,.28)}
.aab-btn-teal:hover{background:var(--aab-teal-dark);color:#fff!important;transform:translateY(-1px)}
.aab-checklist,.aab-steps{margin:0;padding:0 0 0 2px;list-style:none}
.aab-checklist li{position:relative;padding:5px 0 5px 28px}
.aab-checklist li:before{content:"";position:absolute;left:0;top:11px;width:16px;height:16px;border-radius:50%;
  background:rgba(24,201,153,.16);box-shadow:inset 0 0 0 1px rgba(24,201,153,.4)}
.aab-checklist li:after{content:"";position:absolute;left:5px;top:14px;width:6px;height:9px;border-style:solid;border-color:var(--aab-teal-text);border-width:0 2px 2px 0;transform:rotate(45deg)}
.aab-steps{counter-reset:aab}
.aab-steps li{position:relative;padding:6px 0 6px 38px;counter-increment:aab}
.aab-steps li:before{content:counter(aab,decimal-leading-zero);position:absolute;left:0;top:7px;width:26px;height:26px;border-radius:8px;
  display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;
  background:linear-gradient(135deg,var(--aab-orange),#ffb340);color:#0F172A}

/* FAQ accordion (native <details>) */
.aab-faq{display:flex;flex-direction:column;gap:10px}
.aab-faq-item{border:1px solid var(--aab-line);border-radius:var(--aab-radius-sm);background:var(--aab-surface-2,#F8FAFC);overflow:hidden}
.aab-faq-item summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 18px;font-size:15px;font-weight:700;color:var(--aab-ink)}
.aab-faq-item summary::-webkit-details-marker{display:none}
.aab-faq-item summary:after{content:"+";flex:0 0 auto;width:26px;height:26px;border-radius:8px;
  display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;line-height:1;
  background:rgba(24,201,153,.16);color:var(--aab-teal-text);transition:transform .2s ease}
.aab-faq-item[open] summary:after{content:"\2013"}
.aab-faq-item[open] summary{border-bottom:1px solid var(--aab-line)}
.aab-faq-body{padding:14px 18px 16px}
.aab-faq-body p{margin:0 0 10px}
.aab-faq-body code{padding:2px 6px;border-radius:6px;background:rgba(24,201,153,.14);font-size:13px}

/* video guides: lite embeds */
.aab-videos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}
.aab-video{
  position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;margin:0;border:0!important;
  border-radius:var(--aab-radius-sm);overflow:hidden;cursor:pointer;background:#0B1220!important;
  box-shadow:var(--aab-shadow);text-align:left}
.aab-video img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;filter:brightness(.85);transition:transform .5s ease,filter .3s ease}
.aab-video:hover img{transform:scale(1.04);filter:brightness(.7)}
.aab-video-play{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;
  background:var(--aab-orange);box-shadow:0 8px 20px rgba(0,0,0,.4);transition:transform .18s ease}
.aab-video-play:after{content:"";position:absolute;left:55%;top:50%;transform:translate(-50%,-50%);border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent #0F172A}
.aab-video:hover .aab-video-play{transform:translate(-50%,-50%) scale(1.08)}
.aab-video-title{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 10px;
  background:linear-gradient(180deg,rgba(15,23,42,0),rgba(15,23,42,.9));color:#fff!important;font-size:12.5px;font-weight:700;line-height:1.35}
.aab-video.is-playing .aab-video-play,.aab-video.is-playing .aab-video-title{display:none}
.aab-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* legal / partner pages built from WPBakery message boxes: read as sections */
body.page:not(.home) .vc_message_box{margin:0 0 16px!important;padding:20px 22px 20px 26px!important}
body.page:not(.home) .vc_message_box .vc_message_box-icon{display:none!important}
body.page:not(.home) .vc_message_box > p:first-child strong,
body.page:not(.home) .vc_message_box > h2,body.page:not(.home) .vc_message_box > h3,body.page:not(.home) .vc_message_box > h4{
  display:block;margin:0 0 8px;font-size:16px;font-weight:800;text-transform:none;letter-spacing:0}
body.page:not(.home) .vc_message_box p{text-align:left!important;font-style:normal!important}
body.page:not(.home) .vc_message_box em{font-style:normal}
body.page:not(.home) .vc_text_separator{margin:26px 0 14px!important}
body.page:not(.home) .vc_text_separator h4{font-size:14px!important;font-weight:800!important;letter-spacing:.8px;text-transform:uppercase;color:var(--aab-ink)!important}
body.page:not(.home) .vc_sep_line{border-color:var(--aab-line)!important}
body.page:not(.home) .vc_single_image-wrapper img{border-radius:var(--aab-radius-sm)}
body.page:not(.home) .wpb_gallery .wpb_image_grid img{border-radius:var(--aab-radius-sm)}

@media (max-width:900px){
  .aab-pgrid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .aab-videos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .aab-page-hero{padding:34px 20px 32px}
  .aab-page-hero h1{font-size:28px}
}
@media (max-width:600px){
  .aab-pgrid.cols-2,.aab-pgrid.cols-3,.aab-videos{grid-template-columns:1fr}
  .aab-pcard{padding:20px 18px}
  .aab-page-hero h1{font-size:24px}
  .aab-email{font-size:18px}
}
.aab-page-hero{max-width:1000px;margin:26px auto 0}
body.page:not(.home) .edgtf-full-width-inner{padding-top:0}
body.page:not(.home) .edgtf-content .edgtf-full-width-inner,
body.page:not(.home) .edgtf-content .edgtf-full-width-inner > .edgtf-grid-row{max-width:1000px;margin-left:auto;margin-right:auto}
body.page:not(.home) .edgtf-content .edgtf-full-width-inner{padding:0 0 24px!important}

/* ------------------------------------------------------------
   29. LANGUAGE SWITCHER (GTranslate select, styled as a globe pill)
   ------------------------------------------------------------ */
.aab-lang{display:inline-flex;align-items:center;vertical-align:middle;margin:0 0 0 10px}
.widget_text .aab-lang,.edgtf-header-widget-menu-area .widget_text,.edgtf-sticky-right .widget_text,.edgtf-right-from-mobile-logo .widget_text{
  display:inline-block;vertical-align:middle;margin:0;padding:0;background:transparent!important}
.edgtf-header-widget-menu-area .widget_text .textwidget,.edgtf-sticky-right .widget_text .textwidget,.edgtf-right-from-mobile-logo .widget_text .textwidget{display:inline-block;vertical-align:middle;line-height:1}
.aab-lang .gtranslate_wrapper{display:inline-block;line-height:1}
.aab-lang select.gt_selector,
html body .aab-lang select.gt_selector{
  -webkit-appearance:none;appearance:none;
  height:34px!important;padding:0 30px 0 34px!important;margin:0!important;
  border:1px solid rgba(255,255,255,.28)!important;border-radius:999px!important;
  background-color:transparent!important;color:#fff!important;
  font-size:12px!important;font-weight:700!important;letter-spacing:.3px;line-height:32px!important;
  cursor:pointer;box-shadow:none!important;outline:none;
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18'/></svg>"),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>")!important;
  background-repeat:no-repeat,no-repeat!important;
  background-position:11px center,right 10px center!important;
  background-size:16px 16px,12px 12px!important;
  transition:border-color .16s ease,background-color .16s ease}
html body .aab-lang select.gt_selector:hover,
html body .aab-lang select.gt_selector:focus-visible{border-color:var(--aab-teal)!important;background-color:rgba(24,201,153,.12)!important}
html body .aab-lang select.gt_selector option{color:#0F172A;background:#fff;font-weight:600}
html[data-theme="dark"] body .aab-lang select.gt_selector option{color:#E6EBF4;background:#141C2E}
/* mobile header: tighter */
.edgtf-right-from-mobile-logo .aab-lang{margin-left:6px}
@media (max-width:480px){
  html body .aab-lang select.gt_selector{height:32px!important;padding:0 24px 0 30px!important;font-size:0!important;width:56px}
  html body .aab-lang select.gt_selector{background-position:9px center,right 8px center!important}
}
/* Google's translate bar and tooltip must never shift the page */
.goog-te-banner-frame,.skiptranslate iframe,#goog-gt-tt,.goog-te-balloon-frame,body>.skiptranslate{display:none!important;visibility:hidden!important}
html body{top:0!important;position:static!important}
.goog-text-highlight{background:transparent!important;box-shadow:none!important}
font[style*="vertical-align"]{vertical-align:baseline!important}

/* ------------------------------------------------------------
   30. SEARCH RESULTS - store-style grid
   ------------------------------------------------------------ */
body.search .edgtf-title-holder,body.search .edgtf-page-title-holder{display:none!important}
body.search .edgtf-content .edgtf-container-inner{max-width:1160px;margin:0 auto;padding:26px 0 24px!important}

.aab-search-hero{margin:0 0 26px}
.aab-search-hero-inner{max-width:760px;margin:0 auto;text-align:center}
.aab-search-hero form.searchform .input-holder{
  display:flex;align-items:center;position:relative;
  background:var(--aab-surface);border:1px solid var(--aab-line);border-radius:999px;overflow:hidden;
  box-shadow:var(--aab-shadow)}
.aab-search-hero form.searchform input.search-field{
  flex:1 1 auto;min-width:0;height:52px!important;padding:0 22px!important;
  border:0!important;background:transparent!important;color:var(--aab-ink)!important;font-size:16px}
.aab-search-hero form.searchform input.search-field::placeholder{color:var(--aab-muted)}
.aab-search-hero form.searchform .edgtf-search-submit{
  flex:0 0 auto;width:46px!important;height:46px!important;margin:3px!important;padding:0!important;
  display:inline-flex!important;align-items:center;justify-content:center;border:0!important;border-radius:50%!important;
  background-color:var(--aab-teal)!important;color:#0F172A!important;font-size:16px;cursor:pointer}
.aab-search-hero form.searchform .edgtf-search-submit:hover{background-color:var(--aab-teal-dark)!important;color:#fff!important}
.aab-search-summary{margin:14px 0 0;font-size:14px;color:var(--aab-muted)}
.aab-search-summary strong{color:var(--aab-ink)}
.aab-search-summary em{font-style:normal;color:var(--aab-ink);font-weight:700}

.aab-sgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 28px}
.aab-scard{display:flex;flex-direction:column;gap:12px;min-width:0}
.aab-scard-cover{
  position:relative;display:block;aspect-ratio:16/9;overflow:hidden;
  border-radius:16px;background:var(--aab-surface-2,#EEF2F7);
  box-shadow:var(--aab-shadow);transition:transform .2s ease,box-shadow .2s ease}
.aab-scard-cover img{width:100%!important;height:100%!important;object-fit:cover;display:block;max-width:none;transition:transform .5s ease}
.aab-scard-cover:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.aab-scard:hover .aab-scard-cover{transform:translateY(-3px);box-shadow:var(--aab-shadow-hover)}
.aab-scard:hover .aab-scard-cover img{transform:scale(1.04)}
.aab-scard-cover .aab-card-chip{position:absolute!important;top:12px!important;left:12px!important;z-index:2}
.aab-scard-row{display:flex;align-items:center;gap:14px;padding:0 4px}
.aab-scard-icon{
  flex:0 0 auto;width:60px;height:60px;border-radius:16px;overflow:hidden;
  background:var(--aab-surface-2,#EEF2F7);border:1px solid var(--aab-line);box-shadow:var(--aab-shadow)}
.aab-scard-icon img{width:100%!important;height:100%!important;object-fit:cover;display:block;max-width:none}
.aab-scard-body{flex:1 1 auto;min-width:0}
.aab-scard-title{margin:0 0 3px!important;padding:0!important;font-size:16px!important;line-height:1.3!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important}
.aab-scard-title a{color:var(--aab-ink)!important;text-decoration:none!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.aab-scard:hover .aab-scard-title a{color:var(--aab-teal-text)!important}
.aab-scard-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0!important;font-size:13px!important;line-height:1.3!important;color:var(--aab-muted)!important}
.aab-dot{width:3px;height:3px;border-radius:50%;background:var(--aab-muted);opacity:.7}
.aab-scard-dl{
  flex:0 0 auto;width:40px;height:40px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--aab-orange);color:#0F172A!important;font-size:18px;font-weight:800;text-decoration:none!important;
  box-shadow:0 6px 16px rgba(250,138,3,.3);transition:transform .18s ease,background .18s ease}
.aab-scard-dl:hover{background:var(--aab-orange-dark);transform:translateY(-2px)}

.aab-search-empty{max-width:560px;margin:20px auto 30px;padding:40px 28px;text-align:center;
  background:var(--aab-surface);border:1px solid var(--aab-line);border-radius:var(--aab-radius);box-shadow:var(--aab-shadow)}
.aab-search-empty-ico{display:block;font-size:40px;margin:0 0 10px}
.aab-search-empty h2{margin:0 0 8px;font-size:20px;font-weight:800;text-transform:none;letter-spacing:0;color:var(--aab-ink)}
.aab-search-empty p{margin:0 0 18px;color:var(--aab-muted)}

@media (max-width:760px){
  .aab-sgrid{grid-template-columns:1fr;gap:22px}
  .aab-scard-cover{border-radius:14px}
  .aab-scard-icon{width:52px;height:52px;border-radius:14px}
  .aab-scard-title{font-size:15px!important}
}

/* ------------------------------------------------------------
   31. HEADER MENU - polish
   ------------------------------------------------------------ */
/* header bar: soft depth + a faded teal hairline along the bottom edge */
.edgtf-page-header .edgtf-menu-area{position:relative;box-shadow:0 10px 30px -18px rgba(0,0,0,.7)}
.edgtf-page-header .edgtf-menu-area:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;pointer-events:none;
  background:linear-gradient(90deg,rgba(24,201,153,0) 0%,rgba(24,201,153,.75) 50%,rgba(24,201,153,0) 100%)}
.edgtf-sticky-header{
  background:rgba(0,0,0,.82)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 10px 30px -14px rgba(0,0,0,.8)!important}
.edgtf-sticky-header:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;pointer-events:none;
  background:linear-gradient(90deg,rgba(24,201,153,0),rgba(24,201,153,.7),rgba(24,201,153,0))}

/* top-level items: pill hover + animated underline */
html body .edgtf-main-menu > ul > li > a{padding:0 4px!important;margin:0 2px!important}
html body .edgtf-main-menu > ul > li > a .item_outer{
  position:relative;display:inline-flex;align-items:center;gap:6px;
  padding:9px 14px;border-radius:999px;
  transition:background .18s ease,color .18s ease,transform .18s ease}
html body .edgtf-main-menu > ul > li > a .item_text{position:relative;transition:color .18s ease}
html body .edgtf-main-menu > ul > li > a .item_text:after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--aab-teal),#05D3D8);
  transform:scaleX(0);transform-origin:center;transition:transform .22s ease}
html body .edgtf-main-menu > ul > li:hover > a .item_outer,
html body .edgtf-main-menu > ul > li > a:focus-visible .item_outer{background:rgba(24,201,153,.12);transform:translateY(-1px)}
html body .edgtf-main-menu > ul > li:hover > a .item_text,
html body .edgtf-main-menu > ul > li > a:hover .item_text,
html body .edgtf-main-menu > ul > li > a:hover{color:var(--aab-teal)!important}
html body .edgtf-main-menu > ul > li:hover > a .item_text:after,
html body .edgtf-main-menu > ul > li.edgtf-active-item > a .item_text:after,
html body .edgtf-main-menu > ul > li.current-menu-item > a .item_text:after,
html body .edgtf-main-menu > ul > li.current-menu-ancestor > a .item_text:after{transform:scaleX(1)}
/* active item: teal instead of the theme's gold underline */
html body .edgtf-main-menu > ul > li.edgtf-active-item > a,
html body .edgtf-main-menu > ul > li.edgtf-active-item > a .item_text,
html body .edgtf-main-menu > ul > li.current-menu-item > a .item_text{color:var(--aab-teal)!important}
html body .edgtf-main-menu > ul > li.edgtf-active-item > a .item_outer{background:rgba(24,201,153,.10)}
html body .edgtf-main-menu > ul > li > a .item_outer:before,
html body .edgtf-main-menu > ul > li > a .item_outer:after,
html body .edgtf-main-menu > ul > li > a:before,
html body .edgtf-main-menu > ul > li > a:after,
html body .edgtf-main-menu > ul > li.edgtf-active-item > a .item_outer:after{display:none!important;content:none!important;border:0!important;background:transparent!important}
/* dropdown indicator */
html body .edgtf-main-menu > ul > li > a .edgtf-menu-arrow{
  display:inline-block!important;margin:0!important;font-size:11px;opacity:.75;
  transition:transform .2s ease,opacity .2s ease}
html body .edgtf-main-menu > ul > li:hover > a .edgtf-menu-arrow{transform:rotate(180deg);opacity:1}
/* icon controls: round hover pads to match */
.edgtf-search-opener,.aab-theme-toggle{border-radius:50%;transition:background .18s ease,transform .18s ease}
.edgtf-search-opener:hover,.aab-theme-toggle:hover{background:rgba(24,201,153,.14);transform:translateY(-1px)}
/* logo: gentle lift */
.edgtf-logo-wrapper a img{transition:transform .25s ease}
.edgtf-logo-wrapper a:hover img{transform:scale(1.05) rotate(-2deg)}
/* dropdown panel: slight rise + item indent on hover */
html body .edgtf-drop-down .second .inner ul li a{transition:padding-left .16s ease,color .16s ease,background-color .16s ease}
html body .edgtf-drop-down .second .inner ul li:hover > a{padding-left:24px!important}

/* ------------------------------------------------------------
   32. MOBILE HEADER + MENU  (<= 1024px, PlayerX "mobile header")
   Bar: opener | logo | search + theme toggle. The language pill
   lives at the foot of the menu panel (aab-mnav-tools, added by
   the mu-plugin). Panel grows with its content and scrolls itself
   (aab-ui.js removes the theme's fixed height + perfect-scrollbar).
   ------------------------------------------------------------ */
/* the theme sizes the logo link from the image's natural height (342px!) - an
   invisible tap target that covered the search hero */
html body .edgtf-mobile-header .edgtf-mobile-logo-wrapper a{display:inline-flex!important;align-items:center;height:70px!important;padding:8px 0}
html body .edgtf-mobile-header .edgtf-mobile-logo-wrapper img{height:44px;width:auto;transition:transform .25s ease}
html body .edgtf-mobile-header .edgtf-mobile-logo-wrapper a:hover img{transform:scale(1.05) rotate(-2deg)}

/* right cluster: search + theme toggle */
.edgtf-mobile-header .edgtf-position-right-inner{display:inline-flex!important;align-items:center;gap:2px;height:100%;vertical-align:middle}
.edgtf-mobile-header .edgtf-position-right-inner .widget{display:inline-flex!important;align-items:center;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
html body .edgtf-mobile-header .edgtf-search-opener{
  display:inline-flex!important;align-items:center;justify-content:center;
  width:40px;height:40px;margin:0!important;padding:0!important;border-radius:50%;
  color:#fff!important;font-size:19px;line-height:1;
  transition:background .18s ease,color .18s ease,transform .18s ease}
html body .edgtf-mobile-header .edgtf-search-opener svg,
html body .edgtf-mobile-header .edgtf-search-opener svg path{width:19px;height:19px;fill:currentColor}
html body .edgtf-mobile-header .edgtf-search-opener .edgtf-search-icon-text{display:none}
html body .edgtf-mobile-header .edgtf-search-opener:hover,
html body .edgtf-mobile-header .edgtf-search-opener:focus-visible{background:rgba(24,201,153,.16);color:var(--aab-teal)!important;transform:translateY(-1px)}
html body .edgtf-mobile-header .aab-theme-toggle{width:40px;height:40px;margin:0 0 0 2px}

/* opener: hamburger -> X (the theme only rotated it 90deg) */
html body .edgtf-mobile-header .edgtf-mobile-menu-opener a{display:inline-flex!important;align-items:center;height:100%;padding:0!important}
html body .edgtf-mobile-header .edgtf-mobile-menu-opener .edgtf-mobile-menu-icon{display:inline-flex!important;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;transition:background .18s ease}
html body .edgtf-mobile-header .edgtf-mobile-menu-opener a:hover .edgtf-mobile-menu-icon{background:rgba(24,201,153,.16)}
html body .edgtf-mobile-header .edgtf-mobile-menu-opener .edgtf-mobile-opener-svg{display:block;width:24px;height:24px;transform:none!important;fill:currentColor!important}
html body .edgtf-mobile-header .edgtf-mobile-menu-opener .edgtf-mobile-opener-svg rect{
  transform-box:fill-box;transform-origin:center;fill:#fff;
  transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .2s ease,fill .2s ease}
html body .edgtf-mobile-header .edgtf-mobile-menu-opener.edgtf-mobile-menu-opened .edgtf-mobile-opener-svg rect{fill:var(--aab-teal)}
html body .edgtf-mobile-header .edgtf-mobile-menu-opener.edgtf-mobile-menu-opened .edgtf-mobile-opener-svg rect:nth-child(1){transform:translateY(5.4px) rotate(45deg)}
html body .edgtf-mobile-header .edgtf-mobile-menu-opener.edgtf-mobile-menu-opened .edgtf-mobile-opener-svg rect:nth-child(2){opacity:0;transform:scaleX(.2)}
html body .edgtf-mobile-header .edgtf-mobile-menu-opener.edgtf-mobile-menu-opened .edgtf-mobile-opener-svg rect:nth-child(3){transform:translateY(-5.4px) rotate(-45deg)}
html body .edgtf-mobile-header .edgtf-mobile-menu-opener.edgtf-mobile-menu-opened a{color:var(--aab-teal)}

/* the panel */
html body .edgtf-mobile-header .edgtf-mobile-nav{
  height:auto!important;max-height:calc(100vh - 70px);overflow-y:auto!important;-webkit-overflow-scrolling:touch;
  padding:10px 0 16px;background:var(--aab-surface)!important;
  border-top:1px solid var(--aab-line);box-shadow:0 30px 44px -14px rgba(0,0,0,.55)}
html body .edgtf-mobile-header .edgtf-mobile-nav > .edgtf-grid{padding:0 14px}
html body .edgtf-mobile-nav ul,html body .edgtf-mobile-nav ul li{margin:0;padding:0;list-style:none;border:0!important;background:transparent!important}
html body .edgtf-mobile-nav ul li{position:relative}
/* top-level rows */
html body .edgtf-mobile-nav > .edgtf-grid > ul > li > a,
html body .edgtf-mobile-nav > .edgtf-grid > ul > li > h6{
  display:flex!important;align-items:center;min-height:50px;margin:2px 0;padding:0 16px!important;
  border:0!important;border-radius:12px;
  color:var(--aab-ink)!important;font-size:14px!important;font-weight:800!important;letter-spacing:.7px;text-transform:uppercase;
  text-decoration:none!important;transition:background .16s ease,color .16s ease}
html body .edgtf-mobile-nav > .edgtf-grid > ul > li > a:before{
  content:"";flex:0 0 auto;width:6px;height:6px;margin-right:14px;border-radius:50%;
  background:currentColor;opacity:.35;transition:opacity .16s ease,transform .16s ease}
html body .edgtf-mobile-nav > .edgtf-grid > ul > li.has_sub > a{padding-right:56px!important}
html body .edgtf-mobile-nav > .edgtf-grid > ul > li > a:hover,
html body .edgtf-mobile-nav > .edgtf-grid > ul > li.edgtf-opened > a{background:rgba(24,201,153,.08)!important;color:var(--aab-teal-text)!important}
html body .edgtf-mobile-nav > .edgtf-grid > ul > li.edgtf-active-item > a,
html body .edgtf-mobile-nav > .edgtf-grid > ul > li.current-menu-item > a,
html body .edgtf-mobile-nav > .edgtf-grid > ul > li.current-menu-ancestor > a{background:rgba(24,201,153,.14)!important;color:var(--aab-teal-text)!important}
html body .edgtf-mobile-nav > .edgtf-grid > ul > li > a:hover:before,
html body .edgtf-mobile-nav > .edgtf-grid > ul > li.edgtf-active-item > a:before,
html body .edgtf-mobile-nav > .edgtf-grid > ul > li.current-menu-item > a:before{opacity:1;transform:scale(1.3);background:var(--aab-teal)}
html body .edgtf-mobile-nav ul li a span{color:inherit!important;background:transparent!important}
/* sub-menu toggle: round chevron button on the right of the row */
html body .edgtf-mobile-nav .mobile_arrow{
  position:absolute;right:8px;top:6px;width:38px;height:38px;margin:0;padding:0;
  display:inline-flex;align-items:center;justify-content:center;border-radius:50%;
  color:var(--aab-ink)!important;background:rgba(127,127,127,.1)!important;cursor:pointer;
  transition:background .16s ease,color .16s ease}
html body .edgtf-mobile-nav .mobile_arrow:hover,
html body .edgtf-mobile-nav li.edgtf-opened > .mobile_arrow{background:rgba(24,201,153,.16)!important;color:var(--aab-teal-text)!important}
html body .edgtf-mobile-nav .mobile_arrow i{position:static;display:block;width:auto;height:auto;margin:0;font-size:18px;line-height:1;color:inherit!important;transition:transform .25s ease}
html body .edgtf-mobile-nav .mobile_arrow i.fa-angle-down{display:none}
html body .edgtf-mobile-nav li.edgtf-opened > .mobile_arrow i.edgtf-sub-arrow{transform:rotate(90deg)}
/* sub-menu = chip cloud (ul keeps display:block from the theme's slide animation) */
html body .edgtf-mobile-nav ul li ul.sub_menu{padding:4px 12px 10px 36px!important;margin:0!important;border:0!important}
html body .edgtf-mobile-nav ul li ul.sub_menu li{display:inline-block;margin:0 8px 8px 0!important;padding:0!important;border:0!important;width:auto}
html body .edgtf-mobile-nav ul li ul.sub_menu li a{
  display:inline-flex!important;align-items:center;height:36px;padding:0 15px!important;margin:0!important;
  border:1px solid var(--aab-line)!important;border-radius:999px;background:var(--aab-surface-2)!important;
  color:var(--aab-ink)!important;font-size:12.5px!important;font-weight:700!important;letter-spacing:0;text-transform:none;
  text-decoration:none!important;transition:border-color .16s ease,background .16s ease,color .16s ease}
html body .edgtf-mobile-nav ul li ul.sub_menu li a:hover{border-color:var(--aab-teal)!important;background:rgba(24,201,153,.14)!important;color:var(--aab-teal-text)!important}
html body .edgtf-mobile-nav ul li ul.sub_menu li a:before{content:none!important}
/* footer row: language */
html body .edgtf-mobile-nav li.aab-mnav-tools{margin:10px 0 0;padding:14px 4px 0!important;border-top:1px solid var(--aab-line)!important}
.aab-mnav-lang{display:flex;align-items:center;justify-content:space-between;gap:12px}
.aab-mnav-lang-label{display:inline-flex;align-items:center;gap:8px;color:var(--aab-muted);font-size:12px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}
.aab-mnav-lang .aab-lang{margin:0}
html body .edgtf-mobile-nav .aab-lang select.gt_selector{
  width:auto;height:38px!important;padding:0 34px 0 38px!important;font-size:13px!important;
  border-color:var(--aab-line)!important;color:var(--aab-ink)!important;background-color:var(--aab-surface-2)!important}
html[data-theme="light"] body .edgtf-mobile-nav .aab-lang select.gt_selector{
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F172A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18'/></svg>"),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F172A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>")!important}
/* light mode: the mobile bar stays black, the panel follows the page surface */
html[data-theme="light"] body .edgtf-mobile-header .edgtf-mobile-nav{box-shadow:0 30px 44px -14px rgba(15,23,42,.28)}

/* fullscreen search overlay: the field has its own teal underline - drop the theme's second (white) line, keep the icon off the text */
html body .edgtf-fullscreen-search-holder .edgtf-line{display:none!important}
html body .edgtf-fullscreen-search-holder .edgtf-search-field{padding-right:48px!important}
/* opened from the mobile search button, on small screens */
@media (max-width:1024px){
  html body .edgtf-fullscreen-search-holder .edgtf-fullscreen-search-inner{padding:0 22px}
  html body .edgtf-fullscreen-search-holder .edgtf-search-field{font-size:22px!important;height:60px!important}
  html body .edgtf-fullscreen-search-holder .edgtf-search-close{top:14px;right:16px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.08)}
  html body .edgtf-fullscreen-search-holder .edgtf-search-close svg{width:16px;height:16px}
}

/* ------------------------------------------------------------
   33. RELATED APPS & GAMES  (single post; markup from aab_render_related)
   Desktop: 4-up card grid under the article. Phones: a swipe row
   (scroll-snap) so the fourth card never sits alone, plus a compact
   head with a "More <category>" link.
   ------------------------------------------------------------ */
.aab-related{margin:30px 0 0;padding:0;background:transparent}
.aab-related-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:0 0 12px;border-bottom:1px solid var(--aab-line)}
html body .aab-related-head h2{
  display:flex;align-items:center;gap:10px;margin:0;padding:0;
  font-size:15px;line-height:1.2;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--aab-ink)}
html body .aab-related-head h2:before{content:"";flex:0 0 auto;width:5px;height:16px;border-radius:3px;background:linear-gradient(180deg,var(--aab-teal),var(--aab-teal-dark))}
html body .aab-related-more{
  display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;
  height:32px;padding:0 12px 0 14px;border-radius:999px;border:1px solid var(--aab-line);
  color:var(--aab-teal-text)!important;font-size:12px;font-weight:800;letter-spacing:.4px;text-decoration:none!important;
  transition:border-color .16s ease,background .16s ease,transform .16s ease}
html body .aab-related-more:hover{border-color:var(--aab-teal);background:rgba(24,201,153,.12);transform:translateX(2px)}
.aab-related-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.aab-related .aab-card{margin:0}
.aab-related .aab-card-ex{display:none}
@media (max-width:1024px){
  .aab-related-track{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:768px){
  .aab-related{margin-top:22px}
  .aab-related-head{margin-bottom:12px;padding-bottom:10px}
  html body .aab-related-head h2{font-size:14px}
  /* swipe row */
  .aab-related-track{
    display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;scroll-padding:0 0 0 2px;
    padding:2px 2px 12px;margin:0 -2px;scrollbar-width:none}
  .aab-related-track::-webkit-scrollbar{display:none}
  .aab-related .aab-card{flex:0 0 68%;max-width:290px;scroll-snap-align:start}
  html body .aab-related-more{height:30px;padding:0 10px 0 12px;font-size:11px}
}
/* the sidebar follows the article on tablets/phones: separate it from the cards */
@media (max-width:1024px){
  body.single-post aside.edgtf-sidebar{margin-top:32px;padding-top:26px;border-top:1px solid var(--aab-line)}
}

/* ------------------------------------------------------------
   34. PAGINATION  (aab_pager_html: archives + search)
   ------------------------------------------------------------ */
html body .aab-pager{margin:30px 0 0;padding:0}
.aab-pager-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.aab-pager-list{display:flex;align-items:center;gap:6px;margin:0;padding:0;list-style:none}
.aab-pager-list li{margin:0;padding:0;list-style:none}
html body .aab-pager-num{
  display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;
  border-radius:50%;border:1px solid var(--aab-line);background:var(--aab-surface);
  color:var(--aab-ink)!important;font-size:13.5px;font-weight:800;text-decoration:none!important;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
html body a.aab-pager-num:hover{border-color:var(--aab-teal);color:var(--aab-teal-text)!important;transform:translateY(-2px)}
html body .aab-pager-num.is-current{
  background:linear-gradient(135deg,var(--aab-teal),#05D3D8);border-color:transparent;color:#0F172A!important;
  box-shadow:0 8px 20px rgba(24,201,153,.35)}
.aab-pager-gap{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:42px;color:var(--aab-muted);font-weight:800;letter-spacing:1px}
html body .aab-pager-btn{
  display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 16px;
  border-radius:999px;border:1px solid var(--aab-line);background:var(--aab-surface);
  color:var(--aab-ink)!important;font-size:12px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;text-decoration:none!important;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
html body .aab-pager-btn svg{flex:0 0 auto}
html body a.aab-pager-btn:hover{border-color:var(--aab-teal);color:var(--aab-teal-text)!important}
html body a.aab-pager-prev:hover{transform:translateX(-2px)}
html body a.aab-pager-next:hover{transform:translateX(2px)}
html body .aab-pager-btn.is-disabled{opacity:.38;cursor:default}
.aab-pager-foot{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin:14px 0 0;color:var(--aab-muted);font-size:12.5px}
.aab-pager-info strong{color:var(--aab-ink);font-weight:800}
.aab-pager-jump{display:inline-flex;align-items:center;gap:8px;margin:0}
.aab-pager-jump label{margin:0;font-size:12.5px;font-weight:700;color:var(--aab-muted)}
html body .aab-pager-jump input{
  width:64px;height:36px;margin:0;padding:0 10px;border:1px solid var(--aab-line);border-radius:10px;
  background:var(--aab-surface);color:var(--aab-ink);font-size:13.5px;font-weight:800;text-align:center;
  -moz-appearance:textfield;appearance:textfield}
html body .aab-pager-jump input::-webkit-outer-spin-button,html body .aab-pager-jump input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
html body .aab-pager-jump input:focus{outline:none;border-color:var(--aab-teal);box-shadow:0 0 0 3px rgba(24,201,153,.18)}
html body .aab-pager-jump button{
  display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0;padding:0;
  border:0!important;border-radius:10px;background:var(--aab-teal)!important;color:#0F172A!important;cursor:pointer;
  transition:background .16s ease,transform .16s ease}
html body .aab-pager-jump button:hover{background:var(--aab-teal-dark)!important;color:#fff!important;transform:translateX(2px)}
@media (max-width:600px){
  .aab-pager-row{gap:8px;flex-wrap:nowrap}
  .aab-pager-edge,.aab-pager-gap{display:none}
  html body .aab-pager-btn{padding:0 12px}
  html body .aab-pager-btn span{display:none}
  html body .aab-pager-num{min-width:38px;height:38px;font-size:13px}
  .aab-pager-gap{height:38px;min-width:16px}
}

/* ------------------------------------------------------------
   35. EXPAND  ([expand] "Show more" - mu-plugins/aab-expand.php)
   Collapsed: the first ~100px show through a fade; the pill below
   opens the rest in place. Expanded: pill turns into "Show less".
   ------------------------------------------------------------ */
.aab-expand{margin:6px 0 22px}
.aab-expand-body{
  position:relative;overflow:hidden;max-height:108px;
  -webkit-mask-image:linear-gradient(180deg,#000 30%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(180deg,#000 30%,rgba(0,0,0,0) 100%);
  transition:max-height .45s cubic-bezier(.2,.8,.2,1)}
.aab-expand.is-open .aab-expand-body{max-height:none;-webkit-mask-image:none;mask-image:none}
.aab-expand-body > :last-child{margin-bottom:0}
html body .aab-expand-btn{
  display:inline-flex;align-items:center;gap:8px;height:40px;margin:8px 0 0;padding:0 18px 0 20px;
  border:1px solid var(--aab-line)!important;border-radius:999px;
  background:var(--aab-surface)!important;color:var(--aab-teal-text)!important;
  font-size:12px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;line-height:1;cursor:pointer;
  box-shadow:var(--aab-shadow);transition:border-color .16s ease,background .16s ease,transform .16s ease}
html body .aab-expand-btn svg{transition:transform .3s ease}
html body .aab-expand-btn:hover{border-color:var(--aab-teal)!important;background:rgba(24,201,153,.12)!important;transform:translateY(-1px)}
html body .aab-expand-btn:focus-visible{outline:2px solid var(--aab-teal);outline-offset:2px}
.aab-expand.is-open .aab-expand-btn svg{transform:rotate(180deg)}
@media (prefers-reduced-motion:reduce){.aab-expand-body,.aab-expand-btn svg{transition:none}}

/* ------------------------------------------------------------
   36. STATIC PAGE HERO - align with the content column
   The hero was content-box (1000px + 2x28px padding) and had no
   bottom margin, so the first card sat on its edge, 43px wider.
   ------------------------------------------------------------ */
html body .aab-page-hero{box-sizing:border-box;width:auto;max-width:970px;margin:26px auto 22px}
/* below 1000px the theme drops the centred column: 15px gutters, same as the cards */
@media (max-width:999px){
  html body .aab-page-hero{margin:16px 15px 18px}
}
@media (max-width:480px){
  html body .aab-page-hero{padding:28px 18px 26px}
}

/* ------------------------------------------------------------
   37. APP INFO CARD  (mu-plugins/aab-catalog.php - live listing data)
   Icon + title + chips + store/download button, facts grid,
   screenshot strip (+ trailer), what's new, current description.
   ------------------------------------------------------------ */
html body .aab-appinfo{
  margin:0 0 26px;padding:0;
  border:1px solid var(--aab-line);border-radius:var(--aab-radius);
  background:var(--aab-surface);box-shadow:var(--aab-shadow);overflow:hidden}
.aab-appinfo-head{display:flex;align-items:center;gap:18px;padding:20px 22px 16px}
.aab-appinfo-icon{flex:0 0 auto;width:80px;height:80px;border-radius:20px;overflow:hidden;background:var(--aab-surface-2);box-shadow:0 8px 20px rgba(0,0,0,.25)}
.aab-appinfo-icon img{display:block;width:100%;height:100%;object-fit:cover}
.aab-appinfo-title{flex:1 1 auto;min-width:0}
html body .aab-appinfo-title h2{margin:0 0 4px;font-size:21px;line-height:1.2;font-weight:800;letter-spacing:-.2px;text-transform:none;color:var(--aab-ink)}
html body .aab-appinfo-dev{margin:0 0 8px;font-size:13.5px;color:var(--aab-muted)}
html body .aab-appinfo-dev a{color:var(--aab-teal-text)!important;text-decoration:none!important;font-weight:700}
html body .aab-appinfo-dev a:hover{text-decoration:underline!important}
.aab-appinfo-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
html body .aab-appinfo-chips li{
  display:inline-flex;align-items:center;gap:5px;margin:0;padding:0 10px;height:26px;border-radius:999px;
  background:var(--aab-surface-2);color:var(--aab-ink);font-size:11.5px;font-weight:700;line-height:1;white-space:nowrap}
html body .aab-appinfo-chips li small{font-weight:600;color:var(--aab-muted);font-size:11px}
html body .aab-appinfo-chips li.is-star{background:rgba(250,138,3,.16);color:var(--aab-orange-dark,#c96f00)}
html[data-theme="dark"] body .aab-appinfo-chips li.is-star{color:#FFB340}
html body .aab-appinfo-chips li.is-oss{background:rgba(24,201,153,.16);color:var(--aab-teal-text)}
.aab-appinfo-cta{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
html body .aab-appinfo-dl,
html body .edgtf-content .aab-appinfo-dl{height:auto;padding:10px 20px 10px 16px;gap:10px;text-align:left}
html body .aab-appinfo-dl span{display:flex;flex-direction:column;line-height:1.15}
html body .aab-appinfo-dl small{font-size:10.5px;font-weight:700;letter-spacing:.3px;text-transform:none;opacity:.8;margin-top:3px}
html body .aab-appinfo-link{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--aab-muted)!important;text-decoration:none!important}
html body .aab-appinfo-link:hover{color:var(--aab-teal-text)!important}

/* facts */
html body .aab-appinfo-facts{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;padding:0;
  background:var(--aab-line);border-top:1px solid var(--aab-line);border-bottom:1px solid var(--aab-line)}
html body .aab-appinfo-facts > div{margin:0;padding:12px 14px;background:var(--aab-surface)}
html body .aab-appinfo-facts dt{margin:0 0 3px;font-size:10.5px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--aab-muted)}
html body .aab-appinfo-facts dd{margin:0;font-size:13.5px;font-weight:700;color:var(--aab-ink);word-break:break-word}

/* screenshots */
/* scroll-padding-inline follows the side padding in every variant (see .aab-slider-track) */
.aab-shots{display:flex;gap:10px;padding:16px 22px 6px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:22px;scrollbar-width:thin}
.aab-shots::-webkit-scrollbar{height:6px}
.aab-shots::-webkit-scrollbar-thumb{background:var(--aab-line);border-radius:3px}
html body .aab-shot{
  position:relative;flex:0 0 auto;height:300px;border-radius:12px;overflow:hidden;scroll-snap-align:start;
  background:var(--aab-surface-2);box-shadow:var(--aab-shadow);border:0;padding:0;margin:0;cursor:pointer;
  transition:transform .18s ease}
html body .aab-shot:hover{transform:translateY(-3px)}
html body .aab-shot img{display:block;height:100%;width:auto;max-width:none}
html body .aab-shot.aab-shot-video{aspect-ratio:16/9;width:auto;height:300px}
html body .aab-shot.aab-shot-video img{width:100%;object-fit:cover;filter:brightness(.8)}
html body .aab-shot.aab-shot-video .aab-video-title{padding:26px 12px 10px}
html body .aab-shot.aab-shot-video.is-playing{width:533px}

/* text blocks */
html body .aab-appinfo-block{padding:18px 22px 4px;border-top:1px solid var(--aab-line)}
html body .aab-appinfo-block h3{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:15px;font-weight:800;letter-spacing:.2px;text-transform:none;color:var(--aab-ink)}
html body .aab-appinfo-block h3:before{content:"";width:5px;height:16px;border-radius:3px;background:linear-gradient(180deg,var(--aab-teal),var(--aab-teal-dark))}
html body .aab-appinfo-block h3 span{font-size:11px;font-weight:800;color:var(--aab-muted);padding:3px 8px;border-radius:999px;background:var(--aab-surface-2)}
html body .aab-appinfo-block p,html body .aab-appinfo-block li{font-size:14.5px;line-height:1.65;color:var(--aab-ink)}
html body .aab-appinfo-block p{margin:0 0 12px}
html body .aab-appinfo-about .aab-expand{margin:0 0 18px}
html body .aab-appinfo-new{padding-bottom:8px}
html body .aab-appinfo-src{margin:0;padding:12px 22px 14px;border-top:1px solid var(--aab-line);font-size:12px;color:var(--aab-muted)}
html body .aab-appinfo-src a{display:inline-flex;align-items:center;gap:4px;color:var(--aab-teal-text)!important;text-decoration:none!important;font-weight:700}

/* bottom reminder (F-Droid downloads) */
html body .aab-appinfo-bottom{
  display:flex;align-items:center;justify-content:space-between;gap:16px;margin:26px 0 0;padding:16px 20px;
  border:1px solid var(--aab-line);border-radius:var(--aab-radius);background:var(--aab-surface-2)}
html body .aab-appinfo-bottom strong{display:block;font-size:15px;color:var(--aab-ink)}
html body .aab-appinfo-bottom span{font-size:12.5px;color:var(--aab-muted)}
html body .aab-appinfo-bottom .aab-btn{gap:8px}

/* the card lives in the post column (~560px next to the sidebar): size by its own width.
   The theme's .edgtf-post-text is inline-block (shrink-to-fit); a size container inside it
   would collapse, so that wrapper becomes a normal block on app pages. */
html body.single-post .edgtf-blog-single .edgtf-post-text{display:block;width:100%}
html body .aab-appinfo{container-type:inline-size;width:100%}
html body .aab-appinfo-dl,html body .aab-appinfo-dl span,html body .aab-appinfo-dl small,
html body .edgtf-post-text .aab-appinfo-dl,html body .edgtf-post-text .aab-appinfo-dl span{color:#0F172A!important;text-shadow:none!important}
html body .aab-shot.aab-shot-video{max-width:100%}
@container (max-width:760px){
  html body .aab-appinfo-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .aab-appinfo-head{gap:14px;padding:18px 18px 14px}
}
@container (max-width:600px){
  .aab-appinfo-head{flex-wrap:wrap}
  .aab-appinfo-icon{width:68px;height:68px;border-radius:17px}
  html body .aab-appinfo-title h2{font-size:19px}
  .aab-appinfo-cta{flex:1 0 100%;flex-direction:row;align-items:center;justify-content:space-between;padding-top:2px}
  html body .aab-appinfo-dl,html body .edgtf-content .aab-appinfo-dl{flex:1 1 auto;justify-content:center}
  html body .aab-appinfo-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .aab-shots{padding:14px 16px 6px;scroll-padding-inline:16px}
  html body .aab-shot,html body .aab-shot.aab-shot-video{height:230px}
  html body .aab-appinfo-block{padding:16px 16px 4px}
  html body .aab-appinfo-src{padding:12px 16px}
}
@container (max-width:400px){
  html body .aab-appinfo-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  html body .aab-shot,html body .aab-shot.aab-shot-video{height:200px}
}
@media (max-width:640px){
  html body .aab-appinfo-bottom{flex-direction:column;align-items:stretch;text-align:center}
}

/* phones: the theme stacks 30px + 16px of side padding inside the post frame,
   leaving ~170px for text on a 375px screen. One padding layer is enough. */
@media (max-width:768px){
  html body.single-post .edgtf-blog-single .edgtf-post-text{padding:0!important}
  html body.single-post .edgtf-blog-single .edgtf-post-text-inner{padding:12px 0 0!important}
}
html body .aab-appinfo-dl span,html body .aab-appinfo-link{white-space:nowrap}
@container (max-width:400px){
  html body .aab-appinfo-dl,html body .edgtf-content .aab-appinfo-dl{padding:9px 14px 9px 12px;font-size:11.5px}
  html body .aab-appinfo-dl small{font-size:10px}
}
@container (max-width:400px){
  .aab-appinfo-cta{flex-wrap:wrap;gap:6px}
  html body .aab-appinfo-link{flex:1 0 100%;justify-content:center}
}

/* hosted-file rows in the facts grid */
html body .aab-appinfo-facts > div.is-hash{grid-column:1 / -1}
html body .aab-appinfo-facts > div.is-hash dd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:600;letter-spacing:.2px;color:var(--aab-muted);word-break:break-all}

/* ------------------------------------------------------------
   38. APP PAGE LAYOUT  (open, no box: hero + facts strip + sections)
   body.aab-layout-page hides the theme's featured image and title;
   the hero carries the h1, the artwork blurred behind it.
   ------------------------------------------------------------ */
html body.aab-layout-page .edgtf-blog-single .edgtf-post-heading,
html body.aab-layout-page .edgtf-blog-single .edgtf-post-text-main > h4.edgtf-post-title,
html body.aab-layout-page .edgtf-blog-single .edgtf-post-info-top{display:none!important}
html body.aab-layout-page.single-post .edgtf-blog-single .edgtf-post-text{padding-top:0!important}
html body.aab-layout-page.single-post .edgtf-blog-single .edgtf-post-text-inner{padding-top:0!important}
html body.aab-layout-page.single-post .edgtf-blog-single .edgtf-post-content{padding-top:0!important;overflow:hidden}

.aab-apppage{container-type:inline-size;width:100%}
/* bleed to the post frame's edges: frame 28px + theme text 30px + inner 28px of padding */
.aab-apphero{position:relative;overflow:hidden;margin:0 -87px 0;padding:36px 87px 30px;color:#fff;isolation:isolate}
.aab-apphero-bg{position:absolute;inset:-40px;z-index:-1;background:#0B1220}
.aab-apphero-bg img{width:100%;height:100%;object-fit:cover;filter:blur(30px) saturate(1.25) brightness(.55);transform:scale(1.15)}
.aab-apphero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,18,32,.15) 0%,rgba(11,18,32,.55) 70%,var(--aab-surface) 100%)}
.aab-apphero-in{display:flex;align-items:flex-start;gap:22px}
.aab-apphero-icon{flex:0 0 auto;width:112px;height:112px;border-radius:26px;overflow:hidden;background:rgba(255,255,255,.08);box-shadow:0 16px 36px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.12)}
.aab-apphero-icon img{display:block;width:100%;height:100%;object-fit:cover}
.aab-apphero-text{flex:1 1 auto;min-width:0}
html body .aab-apphero h1{margin:0 0 4px;font-size:24px;line-height:1.2;font-weight:800;letter-spacing:-.2px;text-transform:none;color:#fff}
html body .aab-apphero-name{margin:0 0 6px;font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:rgba(255,255,255,.62)}
html body .aab-apphero .aab-appinfo-dev{color:rgba(255,255,255,.8)}
html body .aab-apphero .aab-appinfo-dev a{color:#6BE7B4!important}
html body .aab-apphero .aab-appinfo-chips li{background:rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(6px)}
html body .aab-apphero .aab-appinfo-chips li small{color:rgba(255,255,255,.7)}
html body .aab-apphero .aab-appinfo-chips li.is-star{background:rgba(250,138,3,.28);color:#FFD08A}
html body .aab-apphero .aab-appinfo-chips li.is-oss{background:rgba(24,201,153,.26);color:#9AF0D0}
html body .aab-apphero .aab-appinfo-chips li.is-cat a{color:inherit!important;text-decoration:none!important}
html body .aab-apphero .aab-appinfo-cta{flex:0 0 auto;align-self:center;flex-direction:column;align-items:flex-end}
html body .aab-apphero .aab-appinfo-dl{flex:0 0 auto;min-width:200px}
html body .aab-apphero .aab-appinfo-link{color:rgba(255,255,255,.75)!important}
html body .aab-apphero .aab-appinfo-link:hover{color:#fff!important}

/* facts: one strip, dividers only */
html body .aab-apppage > .aab-appinfo-facts{
  grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 6px;padding:0;
  background:transparent;border:0;border-bottom:1px solid var(--aab-line)}
html body .aab-apppage > .aab-appinfo-facts > div{padding:14px 16px 12px;background:transparent;border-right:1px solid var(--aab-line);border-bottom:1px solid var(--aab-line)}
html body .aab-apppage > .aab-appinfo-facts > div:nth-child(4n){border-right:0}
html body .aab-apppage > .aab-appinfo-facts > div.is-hash{border-right:0}

/* section headings + blocks */
html body .aab-apphead{
  display:flex;align-items:center;gap:10px;margin:26px 0 12px;padding:0;
  font-size:16px;line-height:1.2;font-weight:800;letter-spacing:.2px;text-transform:none;color:var(--aab-ink)}
html body .aab-apphead:before{content:"";flex:0 0 auto;width:5px;height:17px;border-radius:3px;background:linear-gradient(180deg,var(--aab-teal),var(--aab-teal-dark))}
html body .aab-apphead span{font-size:11px;font-weight:800;color:var(--aab-muted);padding:3px 8px;border-radius:999px;background:var(--aab-surface-2)}
html body .aab-apppage .aab-shots{padding:0 0 8px;scroll-padding-inline:0}
html body .aab-appnew p,html body .aab-appnew li{font-size:14.5px;line-height:1.65}
html body .aab-appabout{margin:0 0 6px}
html body .aab-apppage + * {margin-top:0}

@container (max-width:760px){
  html body .aab-apppage > .aab-appinfo-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
  html body .aab-apppage > .aab-appinfo-facts > div:nth-child(4n){border-right:1px solid var(--aab-line)}
  html body .aab-apppage > .aab-appinfo-facts > div:nth-child(3n){border-right:0}
}
@container (max-width:540px){
  .aab-apphero-in{flex-wrap:wrap;gap:16px}
  .aab-apphero-icon{width:84px;height:84px;border-radius:20px}
  html body .aab-apphero h1{font-size:20px}
  html body .aab-apphero .aab-appinfo-cta{flex:1 0 100%;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
  html body .aab-apphero .aab-appinfo-dl{flex:1 1 auto;justify-content:center}
  html body .aab-apppage > .aab-appinfo-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  html body .aab-apppage > .aab-appinfo-facts > div:nth-child(3n){border-right:1px solid var(--aab-line)}
  html body .aab-apppage > .aab-appinfo-facts > div:nth-child(2n){border-right:0}
}
@media (max-width:768px){
  .aab-apphero{margin:0 -16px;padding:26px 16px 22px}
}

/* 38b. page layout polish: black download icon, specs, screenshot tiles */
html body .aab-appinfo-dl svg,html body .aab-appinfo-dl svg path,
html body .aab-appinfo-bottom .aab-btn svg,html body .aab-appinfo-bottom .aab-btn svg path{color:#0F172A!important;stroke:#0F172A!important}

/* stats row: value big, label small, hairline dividers */
.aab-specs{margin:0 0 4px}
.aab-specs-row{display:flex;flex-wrap:wrap;margin:0;padding:6px 0 10px;border-bottom:1px solid var(--aab-line)}
.aab-spec{flex:1 1 0;min-width:0;box-sizing:border-box;padding:12px 8px;text-align:center;border-left:1px solid var(--aab-line)}
.aab-spec:first-child{border-left:0}
.aab-spec b{display:block;font-size:16px;line-height:1.2;font-weight:800;color:var(--aab-ink);letter-spacing:-.1px;word-break:break-word}
.aab-spec span{display:block;margin-top:5px;font-size:10.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--aab-muted)}
html body .aab-specs-list{margin:0;padding:6px 0 0}
html body .aab-specs-list > div{display:flex;gap:16px;align-items:baseline;margin:0;padding:11px 4px;border-bottom:1px solid var(--aab-line)}
html body .aab-specs-list > div:last-child{border-bottom:0}
html body .aab-specs-list dt{flex:0 0 150px;margin:0;font-size:11px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--aab-muted)}
html body .aab-specs-list dd{flex:1 1 auto;min-width:0;margin:0;font-size:14px;font-weight:700;color:var(--aab-ink);word-break:break-word}
html body .aab-specs-list dd code{display:inline-block;padding:3px 8px;border-radius:8px;background:var(--aab-surface-2);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:600;letter-spacing:.2px;color:var(--aab-muted);word-break:break-all}
@container (max-width:600px){
  .aab-spec{flex:1 1 33.33%}
  .aab-spec:nth-child(4){border-left:0}
  .aab-spec b{font-size:14.5px}
  html body .aab-specs-list > div{flex-direction:column;gap:4px}
  html body .aab-specs-list dt{flex:0 0 auto}
}

/* screenshot tiles: the theme's img{height:auto} outranked the strip rule, so the images
   rendered at natural size and were cropped to a corner */
html body.single-post .edgtf-post-text-inner .aab-shot img{height:100%!important;width:auto!important;max-width:none!important;border-radius:0!important}
html body.single-post .edgtf-post-text-inner .aab-shot.aab-shot-video img{width:100%!important;object-fit:cover}
html body .aab-apppage .aab-shots{gap:12px;padding:2px 2px 10px;scroll-padding-inline:2px}
html body .aab-apppage .aab-shot{height:340px;border-radius:16px;border:1px solid var(--aab-line);box-shadow:0 10px 24px rgba(0,0,0,.25)}
@container (max-width:600px){
  html body .aab-apppage .aab-shot{height:260px}
}

/* the hero is dark in both modes: keep its text white against the Additional-CSS colour rules */
html body .aab-apphero h1,html body .aab-apphero .aab-apphero-name,html body .aab-apphero .aab-appinfo-dev,
html body .aab-apphero .aab-appinfo-chips li,html body .aab-apphero .aab-appinfo-chips li a{color:#fff!important}
html body .aab-apphero .aab-apphero-name{color:rgba(255,255,255,.62)!important}
html body .aab-apphero .aab-appinfo-dev{color:rgba(255,255,255,.8)!important}
html body .aab-apphero .aab-appinfo-dev a{color:#6BE7B4!important}
html body .aab-apphero .aab-appinfo-chips li.is-star{color:#FFD08A!important}
html body .aab-apphero .aab-appinfo-chips li.is-oss{color:#9AF0D0!important}
html body .aab-apphero .aab-appinfo-link{color:rgba(255,255,255,.8)!important}
/* artwork fades into the page at the bottom edge; extra bottom padding keeps the chips above the fade */
.aab-apphero:after{background:linear-gradient(180deg,rgba(11,18,32,.12) 0%,rgba(11,18,32,.5) 74%,var(--aab-surface) 100%)}
.aab-apphero{padding-bottom:70px}
@media (max-width:768px){ .aab-apphero{padding-bottom:60px} }
html body.single-post .edgtf-blog-single article.post .aab-apphero p.aab-apphero-name{color:rgba(255,255,255,.62)!important}
html body.single-post .edgtf-blog-single article.post .aab-apphero p.aab-appinfo-dev{color:rgba(255,255,255,.8)!important}
html body.single-post .edgtf-blog-single article.post .aab-apphero p.aab-appinfo-dev a{color:#6BE7B4!important}
html body.single-post .edgtf-blog-single article.post .aab-apphero h1{color:#fff!important}

/* ------------------------------------------------------------
   39. SCREENSHOT LIGHTBOX  (aab-ui.js)
   ------------------------------------------------------------ */
html.aab-lb-lock{overflow:hidden}
.aab-lightbox{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;background:rgba(5,8,16,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.aab-lightbox.is-open{display:flex;animation:aab-lb-in .18s ease}
@keyframes aab-lb-in{from{opacity:0}to{opacity:1}}
.aab-lb-stage{margin:0;padding:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.aab-lb-stage img{display:block;max-width:min(92vw,1400px);max-height:88vh;width:auto;height:auto;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.6);animation:aab-lb-img .22s ease}
@keyframes aab-lb-img{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
html body .aab-lb-close,html body .aab-lb-prev,html body .aab-lb-next{
  position:absolute;z-index:2;display:inline-flex;align-items:center;justify-content:center;
  width:48px;height:48px;padding:0;margin:0;border:0!important;border-radius:50%;
  background:rgba(255,255,255,.1)!important;color:#fff!important;cursor:pointer;
  transition:background .16s ease,transform .16s ease}
html body .aab-lb-close:hover,html body .aab-lb-prev:hover,html body .aab-lb-next:hover{background:rgba(255,255,255,.22)!important}
html body .aab-lb-close{top:16px;left:16px}
html body .aab-lb-prev{left:18px;top:50%;transform:translateY(-50%)}
html body .aab-lb-next{right:18px;top:50%;transform:translateY(-50%)}
html body .aab-lb-prev:hover{transform:translateY(-50%) translateX(-2px)}
html body .aab-lb-next:hover{transform:translateY(-50%) translateX(2px)}
.aab-lightbox.is-single .aab-lb-prev,.aab-lightbox.is-single .aab-lb-next{display:none}
.aab-lb-count{position:absolute;top:26px;left:50%;transform:translateX(-50%);padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:12px;font-weight:800;letter-spacing:.6px}
html body .aab-shot{cursor:zoom-in}
@media (max-width:640px){
  .aab-lb-stage img{max-width:94vw;max-height:80vh;border-radius:10px}
  html body .aab-lb-prev,html body .aab-lb-next{width:42px;height:42px;top:auto;bottom:22px;transform:none}
  html body .aab-lb-prev{left:22px}
  html body .aab-lb-next{right:22px}
  html body .aab-lb-prev:hover,html body .aab-lb-next:hover{transform:none}
}
/* bottom download strip: black label on the orange button (the post link colour was leaking in) */
html body.single-post .edgtf-blog-single article.post .aab-appinfo-bottom .aab-btn,
html body.single-post .edgtf-blog-single article.post .aab-appinfo-bottom .aab-btn:hover{color:#0F172A!important;text-shadow:none!important}

/* ------------------------------------------------------------
   40. LEGACY DOWNLOAD LINKS + DISABLED BUTTON
   ------------------------------------------------------------ */
html body .aab-appinfo-dl.is-disabled{opacity:.55;cursor:not-allowed;box-shadow:none;filter:grayscale(.2)}
html body .aab-appinfo-dl.is-disabled:hover{transform:none}
.aab-dlinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 8px}
html body .aab-dlink{
  display:flex;align-items:center;gap:12px;padding:12px 14px;
  border:1px solid var(--aab-line);border-radius:12px;background:var(--aab-surface-2);
  color:var(--aab-ink)!important;text-decoration:none!important;
  transition:border-color .16s ease,transform .16s ease,background .16s ease}
html body .aab-dlink svg{flex:0 0 auto;width:18px;height:18px;color:var(--aab-orange)}
html body .aab-dlink.is-pass svg{color:var(--aab-teal-text)}
html body .aab-dlink span{flex:1 1 auto;min-width:0;font-size:13.5px;font-weight:700;line-height:1.3;word-break:break-word}
html body .aab-dlink small{flex:0 0 auto;font-size:11px;font-weight:700;color:var(--aab-muted)}
html body .aab-dlink:hover{border-color:var(--aab-teal);background:rgba(24,201,153,.08);transform:translateY(-1px)}
.aab-apppage-foot{margin-top:6px}
@container (max-width:600px){ .aab-dlinks{grid-template-columns:1fr} }
/* page layout: no empty band under the last section */
html body.aab-layout-page.single-post .edgtf-blog-single .edgtf-post-text{padding-bottom:0!important}
html body.aab-layout-page.single-post .edgtf-blog-single .edgtf-post-text-inner{padding-bottom:4px!important}

/* ------------------------------------------------------------
   41. REQUEST UPDATE  (small ghost pill in the hero's button column)
   ------------------------------------------------------------ */
html body .aab-reqbtn{
  display:inline-flex;align-items:center;gap:6px;height:30px;margin:2px 0 0;padding:0 12px;
  border:1px solid rgba(255,255,255,.28)!important;border-radius:999px;background:transparent!important;
  color:rgba(255,255,255,.85)!important;font-size:11.5px;font-weight:700;letter-spacing:.3px;line-height:1;cursor:pointer;
  box-shadow:none;transition:background .16s ease,border-color .16s ease,color .16s ease}
html body .aab-reqbtn small{padding:1px 6px;border-radius:999px;background:rgba(255,255,255,.16);font-size:10px;font-weight:800}
html body .aab-reqbtn:hover{border-color:var(--aab-teal)!important;background:rgba(24,201,153,.16)!important;color:#fff!important}
html body .aab-reqbtn:disabled{cursor:default;opacity:.85}
html body .aab-reqbtn.is-done{border-color:rgba(24,201,153,.6)!important;color:#9AF0D0!important}
html body .aab-reqbtn svg{transition:transform .5s ease}
html body .aab-reqbtn:hover svg{transform:rotate(180deg)}
/* boxed card variant (light surface) */
html body .aab-appinfo .aab-reqbtn{border-color:var(--aab-line)!important;color:var(--aab-muted)!important}
html body .aab-appinfo .aab-reqbtn:hover{color:var(--aab-teal-text)!important}

/* ------------------------------------------------------------
   39. FULLSCREEN SEARCH PANEL
   Markup: playerx-child/framework/modules/search/types/fullscreen/templates/fullscreen.php
           + aab_search_overlay_html() in the skin mu-plugin.
   The overlay is a dark surface in both colour modes, so these selectors
   out-specify section 12 and the dark-mode backdrop rule.
   ------------------------------------------------------------ */
html body .edgtf-fullscreen-search-holder.aab-fs{
  background:radial-gradient(1200px 600px at 50% -10%,rgba(24,201,153,.16),transparent 60%),
             linear-gradient(180deg,rgba(6,10,20,.97),rgba(6,10,20,.99))!important;
  backdrop-filter:blur(3px)}
html body .edgtf-fullscreen-search-holder.aab-fs .edgtf-fullscreen-search-table{display:block!important;width:100%;height:100%}
html body .edgtf-fullscreen-search-holder.aab-fs .edgtf-fullscreen-search-cell{
  display:block!important;vertical-align:top!important;height:100%;
  overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
html body .edgtf-fullscreen-search-holder.aab-fs .edgtf-fullscreen-search-inner{padding:0!important;width:100%}

/* close button: same circle at every breakpoint */
html body .edgtf-fullscreen-search-holder.aab-fs .edgtf-search-close{
  top:20px;right:22px;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
  color:#fff;transition:background .18s ease,border-color .18s ease,transform .18s ease;z-index:3}
html body .edgtf-fullscreen-search-holder.aab-fs .edgtf-search-close:hover{
  background:rgba(24,201,153,.18);border-color:rgba(24,201,153,.55);transform:rotate(90deg)}
html body .edgtf-fullscreen-search-holder.aab-fs .edgtf-search-close svg{width:16px;height:16px}
html body .edgtf-fullscreen-search-holder.aab-fs .edgtf-search-close svg *{fill:currentColor!important;stroke:currentColor}

/* panel */
.aab-fs-panel{max-width:1040px;margin:0 auto;padding:92px 24px 72px;color:#fff;text-align:center}
.aab-fs-head{margin:0 0 22px}
.aab-fs-kicker{
  display:inline-block;padding:5px 12px;margin:0 0 14px;border-radius:999px;
  background:rgba(24,201,153,.14);border:1px solid rgba(24,201,153,.4);
  color:#8FF3D3;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.aab-fs-panel h2.aab-fs-title{
  margin:0 0 8px;color:#fff;font-size:clamp(24px,3.4vw,38px);line-height:1.15;font-weight:800;letter-spacing:.2px}
.aab-fs-sub{margin:0;color:rgba(255,255,255,.62);font-size:14px;line-height:1.5}

/* search box */
.aab-fs-form{margin:26px auto 0;max-width:760px}
.aab-fs-field{
  display:flex;align-items:center;gap:10px;padding:8px 8px 8px 18px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  border-radius:16px;box-shadow:0 18px 40px -22px rgba(0,0,0,.9);
  transition:border-color .18s ease,background .18s ease}
.aab-fs-field:focus-within{border-color:rgba(24,201,153,.65);background:rgba(255,255,255,.1)}
.aab-fs-field-ico{display:inline-flex;flex:0 0 auto;color:rgba(255,255,255,.5)}
.aab-fs-field:focus-within .aab-fs-field-ico{color:var(--aab-teal)}
html body .edgtf-fullscreen-search-holder.aab-fs .aab-fs-field .edgtf-search-field{
  flex:1 1 auto;min-width:0;height:52px!important;margin:0!important;padding:0!important;
  background:transparent!important;border:0!important;border-bottom:0!important;border-radius:0!important;
  box-shadow:none!important;color:#fff!important;font-size:18px!important;font-weight:600!important;
  line-height:52px!important;text-align:left;text-transform:none!important;letter-spacing:0!important}
html body .edgtf-fullscreen-search-holder.aab-fs .aab-fs-field .edgtf-search-field::placeholder{
  color:rgba(255,255,255,.45)!important;font-weight:500}
html body .edgtf-fullscreen-search-holder.aab-fs .aab-fs-field .edgtf-search-field:focus{border:0!important;box-shadow:none!important}
html body .edgtf-fullscreen-search-holder.aab-fs .aab-fs-submit{
  flex:0 0 auto;height:52px;padding:0 26px;border:0;border-radius:12px;cursor:pointer;
  background:linear-gradient(180deg,var(--aab-teal),var(--aab-teal-dark));
  color:#04120C!important;font-size:14px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  transition:filter .18s ease,transform .18s ease}
html body .edgtf-fullscreen-search-holder.aab-fs .aab-fs-submit:hover{filter:brightness(1.08);transform:translateY(-1px)}

/* genre shortcuts */
.aab-fs-chips{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin:20px auto 0;max-width:820px}
.aab-fs-chips-label{
  margin-right:2px;color:rgba(255,255,255,.4);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
html body .aab-fs-chips a{
  display:inline-block;padding:7px 15px;border-radius:999px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  color:rgba(255,255,255,.88)!important;font-size:12.5px;font-weight:600;text-decoration:none;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
html body .aab-fs-chips a:hover{
  background:rgba(24,201,153,.16);border-color:rgba(24,201,153,.55);color:#fff!important;transform:translateY(-1px)}

/* rows of icon tiles */
.aab-fs-row{margin:38px 0 0;text-align:left}
.aab-fs-rowhead{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:0 0 10px;border-bottom:1px solid rgba(255,255,255,.1)}
.aab-fs-panel .aab-fs-rowhead h3{
  position:relative;margin:0;padding-left:12px;color:#fff;font-size:15px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.aab-fs-panel .aab-fs-rowhead h3:before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:4px;height:16px;border-radius:2px;background:var(--aab-teal)}
html body a.aab-fs-all{color:rgba(255,255,255,.6)!important;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
html body a.aab-fs-all:hover{color:var(--aab-teal)!important}
html body ul.aab-fs-tiles{display:grid;grid-template-columns:repeat(8,1fr);gap:16px;margin:0;padding:0;list-style:none}
html body ul.aab-fs-tiles li{margin:0;padding:0;list-style:none}
html body a.aab-fs-tile{display:block;text-decoration:none;color:#fff!important}
.aab-fs-tile-ico{
  display:block;position:relative;border-radius:18px;overflow:hidden;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  box-shadow:0 12px 26px -18px rgba(0,0,0,.9);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.aab-fs-tile-ico img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
html body a.aab-fs-tile:hover .aab-fs-tile-ico{transform:translateY(-3px);border-color:rgba(24,201,153,.6);box-shadow:0 18px 30px -18px rgba(0,0,0,.95)}
.aab-fs-tile-name{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  margin:9px 0 0;color:rgba(255,255,255,.82);font-size:12px;font-weight:600;line-height:1.35;text-align:center}
html body a.aab-fs-tile:hover .aab-fs-tile-name{color:#fff}

@media (max-width:1100px){
  html body ul.aab-fs-tiles{grid-template-columns:repeat(6,1fr)}
  html body ul.aab-fs-tiles li:nth-child(n+7){display:none}
}
@media (max-width:1024px){
  .aab-fs-panel{padding:84px 20px 60px}
  html body .edgtf-fullscreen-search-holder.aab-fs .aab-fs-field .edgtf-search-field{font-size:16px!important;height:48px!important;line-height:48px!important}
  html body .edgtf-fullscreen-search-holder.aab-fs .aab-fs-submit{height:48px;padding:0 18px}
}
@media (max-width:720px){
  .aab-fs-panel{padding:76px 16px 52px}
  .aab-fs-sub{display:none}
  html body ul.aab-fs-tiles{grid-template-columns:repeat(4,1fr);gap:12px}
  html body ul.aab-fs-tiles li:nth-child(n+5){display:none}
  .aab-fs-row{margin-top:28px}
  html body .edgtf-fullscreen-search-holder.aab-fs .aab-fs-submit{padding:0 14px;font-size:12px}
  .aab-fs-chips-label{display:none}
}
@media (max-width:420px){
  html body ul.aab-fs-tiles{grid-template-columns:repeat(3,1fr)}
  html body ul.aab-fs-tiles li:nth-child(n+4){display:none}
  .aab-fs-tile-ico{border-radius:14px}
}

/* ------------------------------------------------------------
   40. PAGER: one compact bar
   "Page x of y" + the go-to-page box, centred on one line. This replaced the
   old two-row pager (numbered pills + counter row), so the .aab-pager-row /
   -list / -num / -gap / -edge / -foot / -btn / -prev / -next rules in section
   34 are left in place but no longer emitted. Counter and jump-box styling is
   reused from section 34; page links now live in rel=prev/next head tags.
   ------------------------------------------------------------ */
.aab-pager-bar{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.aab-pager-bar .aab-pager-info{color:var(--aab-muted);font-size:13px;white-space:nowrap}

@media (max-width:600px){
  /* both parts still fit one line in most languages; flex-wrap drops the box
     onto a second line by itself where a translation runs long */
  .aab-pager-bar{gap:10px 14px}
  html body .aab-pager-bar .aab-pager-jump input{width:56px}
}

/* ------------------------------------------------------------
   42. WIDER LAYOUT  (every page except the homepage)
   The theme boxes pages in fixed widths (1200 / 1100 / 950 / 768 /
   600 / 420 / 300px), which left ~130px of empty page on each side
   at 1366px. Half of each side margin now goes to the content:
   --aab-wide = (viewport + theme width) / 2 = 50% + half the theme
   width at each breakpoint, capped at 1340px (the homepage's max
   width) so text lines stay readable on big monitors.
   Posts, tag / category archives, search, static pages and the
   footer share this width, so their edges line up on every page.
   The homepage keeps its own layout (sections 11 / 13) and footer.
   ------------------------------------------------------------ */
:root{--aab-wide:min(1340px,calc(50% + 600px))}
@media (max-width:1366px){:root{--aab-wide:calc(50% + 550px)}}
@media (max-width:1200px){:root{--aab-wide:calc(50% + 475px)}}
@media (max-width:1024px){:root{--aab-wide:calc(50% + 384px)}}
@media (max-width:768px){:root{--aab-wide:calc(50% + 300px)}}
@media (max-width:680px){:root{--aab-wide:calc(50% + 210px)}}
@media (max-width:480px){:root{--aab-wide:calc(50% + 150px)}}
@media (max-width:320px){:root{--aab-wide:95%}}

/* posts, archives, search results, archive title bar, footer rows */
body:not(.home) .edgtf-content .edgtf-content-inner > .edgtf-container > .edgtf-container-inner,
body:not(.home) .edgtf-title-holder .edgtf-title-inner > .edgtf-grid,
body:not(.home) .edgtf-page-footer .edgtf-footer-top-inner,
body:not(.home) .edgtf-page-footer .edgtf-footer-bottom-inner{width:var(--aab-wide);max-width:none}

/* static pages (full-width template): hero and cards on the same edges.
   They were already 1000px, or edge to edge less 15px on small screens,
   so they take whichever is wider - never narrower than before. */
body.page:not(.home){--aab-page-w:max(var(--aab-wide),calc(min(1000px,100%) - 30px))}
body.page:not(.home) .edgtf-content .edgtf-full-width-inner{width:var(--aab-page-w);max-width:none;margin-left:auto;margin-right:auto}
body.page:not(.home) .edgtf-content .edgtf-full-width-inner > .edgtf-grid-row{max-width:none;margin-left:-15px;margin-right:-15px}
html body.page:not(.home) .aab-page-hero{width:var(--aab-page-w);max-width:none;margin-left:auto;margin-right:auto}

/* beside a sidebar (1025px and up) the sidebar keeps the theme's width
   and the main column takes all of the gained space */
@media (min-width:1025px){
  body:not(.home) .edgtf-content-has-sidebar{--aab-side-w:410px}                 /* (1200 + 30) / 3 */
  body:not(.home) .edgtf-content-has-sidebar > .edgtf-grid-col-8{width:calc(100% - var(--aab-side-w))}
  body:not(.home) .edgtf-content-has-sidebar > .edgtf-grid-col-4{width:var(--aab-side-w)}
}
@media (min-width:1025px) and (max-width:1366px){
  body:not(.home) .edgtf-content-has-sidebar{--aab-side-w:376.67px}              /* (1100 + 30) / 3 */
}
@media (min-width:1025px) and (max-width:1200px){
  body:not(.home) .edgtf-content-has-sidebar{--aab-side-w:326.67px}              /* (950 + 30) / 3 */
}

/* ------------------------------------------------------------
   43. POLICY PAGES  (Privacy Policy: date line, contents list,
   sub-headings inside cards, data table, anchor offset)
   ------------------------------------------------------------ */
html body .aab-updated{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--aab-muted)}
html body .aab-pcard h3{margin:20px 0 6px;font-size:16px;line-height:1.35;font-weight:700;letter-spacing:0;text-transform:none;color:var(--aab-ink)}
html body .aab-pcard .aab-pcard-title + h3{margin-top:6px}
/* the sticky header must not cover a section opened from the contents list */
body.page .aab-pcard[id]{scroll-margin-top:110px}

html body .aab-toc{margin:4px 0 0;padding:0;list-style:none;columns:2;column-gap:32px;counter-reset:aabtoc}
html body .aab-toc li{position:relative;break-inside:avoid;margin:0 0 9px;padding:0 0 0 34px;counter-increment:aabtoc;line-height:1.5}
html body .aab-toc li:before{content:counter(aabtoc);position:absolute;left:0;top:0;width:24px;height:24px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;
  background:var(--aab-surface-2,#EEF2F7);color:var(--aab-muted)}
html body .aab-toc a{font-weight:600;text-decoration:none!important}
html body .aab-toc a:hover{text-decoration:underline!important}
@media (max-width:600px){html body .aab-toc{columns:1}}

html body .aab-ptable-wrap{margin:16px 0 14px;overflow-x:auto;border:1px solid var(--aab-line);border-radius:12px;-webkit-overflow-scrolling:touch}
html body .aab-ptable{width:100%;min-width:640px;margin:0;border:0;border-collapse:collapse;background:transparent;font-size:14px;line-height:1.5}
html body .aab-ptable th{padding:10px 14px;border:0;border-bottom:1px solid var(--aab-line);text-align:left;vertical-align:bottom;
  font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--aab-muted);background:var(--aab-surface-2,#F4F6FA)}
html body .aab-ptable td{padding:11px 14px;border:0;border-bottom:1px solid var(--aab-line);text-align:left;vertical-align:top;color:var(--aab-ink);background:transparent}
html body .aab-ptable tbody tr:last-child td{border-bottom:0}
html body .aab-ptable td:first-child{white-space:nowrap}
html body .aab-ptable code{padding:2px 7px;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;
  background:var(--aab-surface-2,#EEF2F7);color:var(--aab-ink)}
html body .aab-ptable small{display:block;margin-top:3px;font-size:12px;color:var(--aab-muted)}
/* links inside page text: the theme paints "p a" white, which disappears on the
   white cards of light mode - use the site's link colour (teal in both modes) */
html body.page:not(.home) .aab-pcard p:not(.aab-email) a:not(.aab-btn),
html body.page:not(.home) .aab-tile p a:not(.aab-btn){
  color:var(--color-primary-dark,#007A48)!important;font-weight:600;
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
html body.page:not(.home) .aab-pcard p:not(.aab-email) a:not(.aab-btn):hover,
html body.page:not(.home) .aab-tile p a:not(.aab-btn):hover{text-decoration-thickness:2px}
/* page hero subtitle: solid dark text on the green band in both themes (a general
   dark-mode text colour was overriding it with light grey, unreadable on green) */
html body .aab-page-hero .aab-page-hero-sub{color:#0F172A!important;opacity:1}

/* ------------------------------------------------------------
   44. SLIDER DOTS: 24px tap targets around the same 8px dots
   Each dot button is now a 24x24 target (8px padding, background clipped
   to the content box), so the dot you see is unchanged; the space between
   dots grows from 6px to 16px (accessibility minimum: 24px between the
   centres). !important on background-clip because the hover/active rules
   use the "background" shorthand, which would reset it. The row margins
   compensate for the taller row, so nothing around the dots moves.
   ------------------------------------------------------------ */
.aab-slider-dots{gap:0;margin:4px 0 -8px}
.aab-slider-dot{padding:8px!important;box-sizing:content-box!important;background-clip:content-box!important}
.aab-topslider-dots{bottom:5px;margin:0}

/* ------------------------------------------------------------
   45. OBB DATA BUTTONS  (games that need an .obb file next to the APK)
   "Download OBB" sits right under "Download APK" - in the hero and in the
   bottom strip - in the brand teal #18C999 (hover 10% darker, like the
   orange one). The pair shares one column (.aab-appinfo-dls in the hero,
   .aab-appinfo-bottom-dls in the strip) so both buttons get the same
   width. Those wrappers only exist on posts with an OBB file, so no other
   page changes. Label and icon stay dark (38b), contrast 8.6:1.
   ------------------------------------------------------------ */
.aab-appinfo-dls,.aab-appinfo-bottom-dls{display:flex;flex-direction:column;align-items:stretch;gap:8px}
html body .aab-appinfo-dls .aab-appinfo-dl,html body .edgtf-content .aab-appinfo-dls .aab-appinfo-dl{flex:0 0 auto;justify-content:flex-start}
html body .aab-appinfo-obb,html body .edgtf-content .aab-appinfo-obb{background:#18C999;color:#0F172A!important;box-shadow:0 6px 16px rgba(24,201,153,.28)}
html body .aab-appinfo-obb:hover,html body .edgtf-content .aab-appinfo-obb:hover{background:#16B58A;color:#0F172A!important}
html body .aab-appinfo-obb svg,html body .aab-appinfo-obb svg path{color:#0F172A!important;stroke:#0F172A!important}
@container (max-width:600px){
  html body .aab-appinfo .aab-appinfo-dls{flex:1 1 100%}
}
@container (max-width:540px){
  html body .aab-apphero .aab-appinfo-dls{flex:1 1 100%}
  html body .aab-apphero .aab-appinfo-dls .aab-appinfo-dl{justify-content:center}
}
