
:root{--ink:#0b0b0b;--muted:#6c6c6c;--line:#d9d9d9;--panel:#f5f5f5;--max:1420px;--sans:Arial,Helvetica,sans-serif;--serif:Georgia,serif}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:var(--sans);line-height:1.5}img{width:100%;display:block}a{color:inherit;text-decoration:none}
.container{width:min(calc(100% - 40px),var(--max));margin:auto}.site-header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid var(--line)}
.header{height:76px;display:grid;grid-template-columns:240px 1fr auto;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:900}.brand img{width:48px;height:48px;object-fit:contain}
nav{display:flex;justify-content:center;gap:27px;font-size:12px;font-weight:800;text-transform:uppercase}.actions{font-size:24px}.menu{display:none}
.ad{background:linear-gradient(90deg,#fafafa,#f1f1f1,#fafafa);color:#999;text-align:center;display:grid;place-items:center;text-transform:uppercase;font-size:11px;letter-spacing:.1em;border:1px solid #eee}
.ad.top{height:90px;margin:25px auto}.hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr) 310px;gap:15px}
.card{position:relative;overflow:hidden;background:#111}.card img{height:100%;object-fit:cover}.overlay{position:absolute;inset:auto 0 0;padding:24px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.92))}
.overlay h1,.overlay h2{font-family:var(--serif);line-height:1.06;margin:8px 0}.overlay h1{font-size:clamp(34px,4vw,64px)}.overlay h2{font-size:24px}.hero-main{min-height:600px}.hero-side{display:grid;gap:15px}.hero-side .card{min-height:292px}
.tag{display:inline-block;background:#fff;color:#000;border:1px solid currentColor;padding:3px 7px;font-size:10px;font-weight:900;text-transform:uppercase}.meta{font-size:11px;color:var(--muted);text-transform:uppercase}
.sidebar{border-left:1px solid var(--line);padding-left:20px}.widget{padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--line)}.widget h3{font-size:15px;text-transform:uppercase}.newsletter{border:1px solid var(--line);padding:20px}
input{width:100%;padding:12px;border:1px solid var(--line);margin:10px 0}.btn{width:100%;padding:12px;border:0;background:#000;color:#fff;text-transform:uppercase;font-weight:800}.trend{list-style:none;padding:0;counter-reset:r}.trend li{display:grid;grid-template-columns:30px 1fr;gap:8px;padding:9px 0;font-size:12px;font-weight:700}.trend li:before{counter-increment:r;content:counter(r,decimal-leading-zero);font-size:17px}
.section{padding:42px 0;border-top:1px solid var(--line)}.title-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.title-row h2{margin:0;font-size:30px;text-transform:uppercase}.more{font-size:11px;font-weight:900;text-transform:uppercase}
.latest{display:grid;grid-template-columns:1fr 310px;gap:34px}.latest-item{display:grid;grid-template-columns:240px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}.latest-item img{height:145px;object-fit:cover}.latest-item h3{font-family:var(--serif);font-size:24px;line-height:1.08;margin:5px 0}
.release{display:grid;grid-template-columns:72px 1fr;gap:10px;margin-bottom:14px}.release img{height:52px;object-fit:cover}.release strong{font-size:12px}.release small{display:block;color:var(--muted)}
.columns{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.column{padding:19px;border-right:1px solid var(--line)}.column:last-child{border-right:0}.column img{height:170px;object-fit:cover}.column h3{font-family:var(--serif)}.score{width:72px;height:72px;border:4px solid #000;border-radius:50%;display:grid;place-items:center;background:#fff;font-size:28px;font-weight:900;margin:-45px 0 10px 12px;position:relative}
footer{border-top:1px solid var(--line);padding:34px 0}.footer{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:28px}.footer h4{text-transform:uppercase;font-size:12px}.footer ul{list-style:none;padding:0;font-size:12px}
.article-grid{display:grid;grid-template-columns:1fr 310px;gap:36px}.crumb{font-size:12px;color:var(--muted);margin:24px 0}.article-head h1{font-size:clamp(42px,5vw,76px);line-height:.98;letter-spacing:-.05em;margin:18px 0}.deck{font-size:20px;color:var(--muted);max-width:850px}
.author-row{display:flex;justify-content:space-between;align-items:center;margin:30px 0}.author{display:flex;gap:12px;align-items:center}.avatar{width:44px;height:44px;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center}.share{display:flex;gap:8px}.share span{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}
.article-body{max-width:780px;margin:auto;font-family:var(--serif);font-size:19px;line-height:1.72}.article-body h2{font-family:var(--sans);font-size:32px;line-height:1.1;margin-top:2em}.article-body .lead{font-size:22px}.article-body .ad{height:250px;margin:35px 0}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:1050px){nav{display:none}.hero{grid-template-columns:1fr 290px}.hero-side{display:none}.columns{grid-template-columns:repeat(2,1fr)}.article-grid{grid-template-columns:1fr}.article-sidebar{display:none}}
@media(max-width:720px){.container{width:calc(100% - 24px)}.header{height:64px;grid-template-columns:1fr auto}.brand span{display:none}.brand img{width:40px;height:40px}.menu{display:inline}.ad.top{height:65px}.hero{display:block}.hero-main{min-height:500px}.sidebar{display:none}.overlay h1{font-size:34px}.latest{display:block}.latest-item{grid-template-columns:110px 1fr;gap:13px}.latest-item img{height:90px}.latest-item p{display:none}.latest-item h3{font-size:16px}.columns{display:block}.column{border-right:0;border-bottom:1px solid var(--line)}.footer{grid-template-columns:1fr 1fr}.article-head h1{font-size:42px}.deck{font-size:17px}.author-row{display:block}.share{margin-top:18px}.article-body{font-size:17px}.related{grid-template-columns:1fr}}

/* WordPress-only normalization: preserves prototype markup */
html{font-size:16px}body.admin-bar .site-header{top:32px}.site-header ul,.site-header li{margin:0;padding:0;list-style:none}.site-header nav ul{display:contents}.custom-logo-link{display:flex}.custom-logo{width:48px!important;height:48px!important;object-fit:contain}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero .meta{color:#fff}.sidebar .widget{font-size:inherit}.widget ul{list-style:none;padding:0}.ad:empty{display:none}.archive-title{font-size:clamp(42px,6vw,82px);line-height:.95;margin:40px 0}.pagination{margin:30px 0}.nav-links{display:flex;gap:8px}.page-numbers{border:1px solid var(--line);padding:8px 12px}.article-body img{margin:28px 0}.article-body p:first-child{font-size:22px}.article-body .wp-block-image{margin:28px 0}.article-sidebar .sidebar{border-left:0;padding-left:0}.mobile-drawer{display:none}.search-panel{display:none;border-top:1px solid var(--line);padding:14px 0}.search-panel.open{display:block}.search-form{display:flex;gap:10px}.search-form label{flex:1}.search-field{margin:0}.search-submit{background:#000;color:#fff;border:0;padding:0 20px}.demo-note{font-size:11px;color:#888}.column>a>img{margin-bottom:12px}
@media(max-width:1050px){body.admin-bar .site-header{top:32px}}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
@media(max-width:720px){.mobile-drawer{position:fixed;inset:64px 0 0;background:white;z-index:99;padding:20px;overflow:auto}.mobile-drawer.open{display:block}.mobile-drawer ul{list-style:none;padding:0}.mobile-drawer a{display:block;padding:15px 0;border-bottom:1px solid var(--line);font-weight:800;text-transform:uppercase}.columns{display:grid;grid-template-columns:1fr 1fr}.column img{height:130px}.column h3{font-size:16px}.column p{font-size:12px}.footer{grid-template-columns:1fr 1fr}.hero-main{min-height:470px}}
@media(max-width:480px){.columns{grid-template-columns:1fr}.column img{height:170px}}
/* Geekworld Consensus — V2.1 */
.consensus-home-grid{display:grid;grid-template-columns:1.5fr repeat(2,1fr);gap:16px}.consensus-home-grid article{border:1px solid var(--line);background:#fff}.consensus-home-grid a{display:block}.consensus-home-grid img{height:190px;object-fit:cover}.consensus-home-feature>a,.consensus-home-feature.demo-consensus{display:grid;grid-template-columns:1.15fr 1fr}.consensus-home-feature img{height:100%;min-height:300px}.consensus-home-grid article>div,.consensus-home-grid a>div{padding:20px}.consensus-home-grid h3{font-family:var(--serif);font-size:26px;line-height:1.08;margin:10px 0}.consensus-home-card h3{font-size:20px}.consensus-mini-stats{display:flex;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);padding-top:14px;font-size:11px;text-transform:uppercase}.consensus-mini-stats strong{font-size:24px}.consensus-mini-stats small{display:block;font-size:9px}.consensus-pill{display:inline-block;border:1px solid var(--line);padding:6px 9px;font-size:10px;text-transform:uppercase}
.consensus-page{padding-bottom:60px}.consensus-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr) 260px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.consensus-cover img{height:100%;min-height:520px;object-fit:cover}.consensus-intro{padding:36px}.consensus-intro h1{font-size:clamp(48px,6vw,88px);line-height:.94;letter-spacing:-.055em;margin:18px 0}.consensus-facts{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.consensus-facts span{border:1px solid var(--line);padding:7px 10px;font-size:11px;text-transform:uppercase}.consensus-score-panel{background:#0b0b0b;color:#fff;padding:28px;display:flex;flex-direction:column;justify-content:center;gap:22px}.consensus-score{text-align:center;border-bottom:1px solid #444;padding-bottom:22px}.consensus-score strong{display:block;font-size:82px;line-height:1}.consensus-score span,.consensus-stat span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.consensus-stat strong{font-size:34px}.consensus-source-link{margin-top:8px;text-align:center;background:#fff;color:#000}.consensus-summary{max-width:980px;margin:42px auto;padding:36px;border:1px solid var(--line);font-family:var(--serif);font-size:24px;line-height:1.5}.eyebrow{font-family:var(--sans);font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.consensus-metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin:34px 0}.consensus-metrics>div{padding:24px;border-right:1px solid var(--line)}.consensus-metrics>div:last-child{border-right:0}.consensus-metrics span{display:block;font-size:10px;text-transform:uppercase}.consensus-metrics strong{font-size:34px}.consensus-analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.consensus-block{border:1px solid var(--line);padding:26px}.consensus-block h2,.consensus-wide-block h2,.consensus-sources h2,.methodology-box h2{font-size:30px;text-transform:uppercase;margin-top:0}.consensus-topic{display:grid;grid-template-columns:1fr 90px;gap:20px;border-top:1px solid var(--line);padding:18px 0}.consensus-topic h3{font-family:var(--serif);font-size:22px;margin:0}.consensus-topic p{margin:5px 0;color:var(--muted)}.consensus-topic>strong{font-size:32px;text-align:right}.consensus-topic small{display:block;font-size:9px;text-transform:uppercase}.consensus-wide-block,.consensus-sources,.methodology-box{margin-top:36px;padding:30px;border:1px solid var(--line)}.consensus-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.consensus-card-grid article{background:var(--panel);padding:20px}.consensus-card-grid h3{font-family:var(--serif);font-size:22px;margin-top:0}.consensus-card-grid span{font-size:10px;text-transform:uppercase}.consensus-editorial-body{margin-top:48px}.sources-table{border-top:2px solid #000}.source-row{display:grid;grid-template-columns:1fr 90px 2fr 80px;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.source-head{font-size:10px;text-transform:uppercase;font-weight:900}.methodology-box{background:#0b0b0b;color:#fff;max-width:980px;margin-left:auto;margin-right:auto}.consensus-archive-header{padding:52px 0;border-bottom:1px solid var(--line)}.consensus-archive-header h1{font-size:clamp(52px,8vw,110px);line-height:.9;margin:18px 0}.consensus-archive-header p{font-size:20px;max-width:780px}.consensus-archive-grid{padding:28px 0 60px}.consensus-archive-card{display:grid;grid-template-columns:380px 1fr;gap:28px;padding:22px 0;border-bottom:1px solid var(--line)}.consensus-card-image{position:relative}.consensus-card-image img{height:230px;object-fit:cover}.consensus-card-score{position:absolute;right:12px;bottom:12px;width:68px;height:68px;border-radius:50%;background:#fff;border:4px solid #000;display:grid;place-items:center;font-size:27px;font-weight:900}.consensus-archive-card h2{font-family:var(--serif);font-size:34px;line-height:1.05;margin:10px 0}.consensus-card-meta{display:flex;gap:14px;font-size:10px;text-transform:uppercase;font-weight:800}
@media(max-width:1050px){.consensus-home-grid{grid-template-columns:1fr 1fr}.consensus-home-feature{grid-column:1/-1}.consensus-hero{grid-template-columns:1fr 300px}.consensus-cover{grid-column:1/-1}.consensus-cover img{min-height:380px}.consensus-analysis-grid{grid-template-columns:1fr}}
@media(max-width:720px){.consensus-home-grid{display:block}.consensus-home-grid article{margin-bottom:14px}.consensus-home-feature>a,.consensus-home-feature.demo-consensus{display:block}.consensus-home-feature img,.consensus-home-grid img{height:220px;min-height:0}.consensus-hero{display:block}.consensus-cover img{min-height:300px}.consensus-intro{padding:24px 0}.consensus-intro h1{font-size:48px}.consensus-score-panel{margin:0 -12px}.consensus-summary{font-size:19px;padding:22px}.consensus-metrics{grid-template-columns:1fr 1fr}.consensus-metrics>div:nth-child(2){border-right:0}.consensus-metrics>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.consensus-card-grid{grid-template-columns:1fr}.source-row{grid-template-columns:1fr 70px}.source-row span:nth-child(3){grid-column:1/-1}.source-head span:nth-child(3),.source-head span:nth-child(4){display:none}.consensus-archive-card{grid-template-columns:1fr}.consensus-card-image img{height:210px}}


/* Geekworld Reviews — V2.2 */
.review-page{padding-bottom:60px}.review-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr) 250px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.review-cover img{height:100%;min-height:540px;object-fit:cover}.review-intro{padding:36px}.review-intro h1{font-size:clamp(48px,6vw,88px);line-height:.94;letter-spacing:-.055em;margin:18px 0}.review-facts{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.review-facts span{border:1px solid var(--line);padding:7px 10px;font-size:11px;text-transform:uppercase}.review-score-panel{background:#0b0b0b;color:#fff;padding:28px;display:flex;flex-direction:column;justify-content:center;text-align:center}.review-score strong{display:block;font-size:92px;line-height:1}.review-score span{font-size:10px;text-transform:uppercase;letter-spacing:.08em}.review-score-panel p{font-size:12px;color:#ccc;margin-top:22px}.review-verdict{max-width:980px;margin:42px auto;padding:36px;border:1px solid var(--line);font-family:var(--serif);font-size:24px;line-height:1.5}.review-data-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin:34px 0}.review-data-grid>div{padding:24px;border-right:1px solid var(--line)}.review-data-grid>div:last-child{border-right:0}.review-data-grid span{display:block;font-size:10px;text-transform:uppercase}.review-data-grid strong{font-size:17px}.review-pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:16px}.review-pros-cons section{border:1px solid var(--line);padding:28px}.review-pros-cons h2{font-size:30px;text-transform:uppercase;margin-top:0}.review-pros-cons ul{list-style:none;padding:0;margin:0}.review-pros-cons li{border-top:1px solid var(--line);padding:14px 0;font-family:var(--serif);font-size:19px}.review-pros-cons section:first-child li:before{content:'＋';font-family:var(--sans);font-weight:900;margin-right:10px}.review-pros-cons section:last-child li:before{content:'−';font-family:var(--sans);font-weight:900;margin-right:10px}.review-editorial-body{margin-top:50px}.review-test-box{display:grid;grid-template-columns:1fr 340px;gap:30px;margin-top:48px;padding:30px;border:1px solid var(--line)}.review-test-box h2,.review-disclosure h2{font-size:30px;text-transform:uppercase;margin-top:0}.review-test-stats{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid var(--line)}.review-test-stats span{padding:20px;font-size:10px;text-transform:uppercase}.review-test-stats strong{display:block;font-size:28px;text-transform:none}.review-disclosure{margin-top:20px;padding:28px;background:var(--panel)}.review-buy{margin-top:24px;display:flex;gap:18px;align-items:center}.review-buy .btn{width:auto}.review-buy small{color:var(--muted)}.review-archive-header{padding:52px 0;border-bottom:1px solid var(--line)}.review-archive-header h1{font-size:clamp(52px,8vw,110px);line-height:.9;margin:18px 0}.review-archive-header p{font-size:20px;max-width:780px}.review-archive-grid{padding:28px 0 60px}.review-archive-card{display:grid;grid-template-columns:380px 1fr;gap:28px;padding:22px 0;border-bottom:1px solid var(--line)}.review-card-image{position:relative}.review-card-image img{height:230px;object-fit:cover}.review-card-score{position:absolute;right:12px;bottom:12px;width:72px;height:72px;border-radius:50%;background:#fff;border:4px solid #000;display:grid;place-items:center;font-size:28px;font-weight:900}.review-archive-card h2{font-family:var(--serif);font-size:34px;line-height:1.05;margin:10px 0}.review-card-meta{display:flex;gap:14px;font-size:10px;text-transform:uppercase;font-weight:800}
@media(max-width:1050px){.review-hero{grid-template-columns:1fr 280px}.review-cover{grid-column:1/-1}.review-cover img{min-height:380px}.review-test-box{grid-template-columns:1fr}.review-test-stats{border-left:0;border-top:1px solid var(--line)}}
@media(max-width:720px){.review-hero{display:block}.review-cover img{min-height:300px}.review-intro{padding:24px 0}.review-intro h1{font-size:48px}.review-score-panel{margin:0 -12px}.review-verdict{font-size:19px;padding:22px}.review-data-grid{grid-template-columns:1fr 1fr}.review-data-grid>div:nth-child(2){border-right:0}.review-data-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.review-pros-cons{grid-template-columns:1fr}.review-test-stats{grid-template-columns:1fr 1fr}.review-buy{display:block}.review-buy small{display:block;margin-top:10px}.review-archive-card{grid-template-columns:1fr}.review-card-image img{height:210px}}


/* =========================================================
   REVIEW TEMPLATE V2.3
   ========================================================= */
.review-hero-v23{
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
}
.review-hero-v23 .review-cover img{
  min-height:540px;
}
.review-hero-v23 .review-intro{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.review-data-grid{
  margin:28px 0 0;
}

.review-verdict{
  max-width:none;
  margin:28px 0;
}

.review-evaluation-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) 250px;
  gap:16px;
  align-items:stretch;
}
.review-list{
  border:1px solid var(--line);
  padding:28px;
}
.review-list h2{
  font-size:30px;
  text-transform:uppercase;
  margin:0 0 12px;
}
.review-list ul{
  list-style:none;
  padding:0;
  margin:0;
}
.review-list li{
  border-top:1px solid var(--line);
  padding:14px 0;
  font-family:var(--serif);
  font-size:19px;
}
.review-pros li:before{
  content:'＋';
  font-family:var(--sans);
  font-weight:900;
  margin-right:10px;
}
.review-cons li:before{
  content:'−';
  font-family:var(--sans);
  font-weight:900;
  margin-right:10px;
}
.review-score-panel-inline{
  min-height:100%;
  padding:28px 20px;
}
.review-score-panel-inline .review-score strong{
  font-size:86px;
}

.review-content-section{
  margin-top:56px;
  padding-top:34px;
  border-top:1px solid var(--line);
}
.review-content-heading{
  max-width:780px;
  margin:0 auto 28px;
}
.review-content-heading h2{
  margin:4px 0 0;
  font-size:38px;
  text-transform:uppercase;
}
.review-editorial-body{
  margin-top:0;
  max-width:980px;
}
.review-editorial-body:after{
  content:"";
  display:block;
  clear:both;
}

/*
 * Images inside the review body.
 * In Gutenberg:
 *  - first image: Align left
 *  - second image: Align right
 *  - third image: Align left or right
 * Add a one-line caption in the block caption field.
 */
.review-editorial-body .wp-block-image.alignleft,
.review-editorial-body figure.alignleft{
  float:left;
  width:min(47%,460px);
  margin:8px 34px 22px 0;
}
.review-editorial-body .wp-block-image.alignright,
.review-editorial-body figure.alignright{
  float:right;
  width:min(47%,460px);
  margin:8px 0 22px 34px;
}
.review-editorial-body .wp-block-image img,
.review-editorial-body figure img{
  width:100%;
  height:auto;
}
.review-editorial-body figcaption,
.review-editorial-body .wp-element-caption{
  margin:7px 0 0;
  padding-bottom:7px;
  border-bottom:1px solid var(--line);
  color:var(--muted);
  font-family:var(--sans);
  font-size:11px;
  line-height:1.35;
  text-align:left;
}
.review-editorial-body h2,
.review-editorial-body h3{
  clear:none;
}
.review-editorial-body .clear-both{
  clear:both;
}

@media(max-width:1050px){
  .review-hero-v23{
    grid-template-columns:1fr 1fr;
  }
  .review-evaluation-grid{
    grid-template-columns:1fr 1fr;
  }
  .review-score-panel-inline{
    grid-column:1/-1;
    min-height:260px;
  }
}

@media(max-width:720px){
  .review-hero-v23{
    display:block;
  }
  .review-data-grid{
    margin-top:18px;
  }
  .review-evaluation-grid{
    grid-template-columns:1fr;
  }
  .review-score-panel-inline{
    grid-column:auto;
    min-height:240px;
  }
  .review-content-heading h2{
    font-size:30px;
  }
  .review-editorial-body .wp-block-image.alignleft,
  .review-editorial-body .wp-block-image.alignright,
  .review-editorial-body figure.alignleft,
  .review-editorial-body figure.alignright{
    float:none;
    width:100%;
    margin:24px 0;
  }
}


/* Review composer and classic-editor generated images — V2.4 */
.review-editorial-body img.alignleft,
.review-editorial-body .alignleft{
  float:left;
  max-width:46%;
  height:auto;
  margin:8px 34px 22px 0;
}
.review-editorial-body img.alignright,
.review-editorial-body .alignright{
  float:right;
  max-width:46%;
  height:auto;
  margin:8px 0 22px 34px;
}
.review-editorial-body img.aligncenter,
.review-editorial-body .aligncenter{
  display:block;
  float:none;
  margin:26px auto;
}
.review-editorial-body .wp-caption{
  max-width:46%;
}
.review-editorial-body .wp-caption.alignleft{
  float:left;
  margin:8px 34px 22px 0;
}
.review-editorial-body .wp-caption.alignright{
  float:right;
  margin:8px 0 22px 34px;
}
.review-editorial-body .wp-caption img{
  float:none;
  max-width:100%;
  margin:0;
}
.review-editorial-body .wp-caption-text{
  margin:7px 0 0;
  padding-bottom:7px;
  border-bottom:1px solid var(--line);
  color:var(--muted);
  font-family:var(--sans);
  font-size:11px;
  line-height:1.35;
  text-align:left;
}
@media(max-width:720px){
  .review-editorial-body img.alignleft,
  .review-editorial-body img.alignright,
  .review-editorial-body .alignleft,
  .review-editorial-body .alignright,
  .review-editorial-body .wp-caption.alignleft,
  .review-editorial-body .wp-caption.alignright,
  .review-editorial-body .wp-caption{
    float:none;
    max-width:100%;
    width:100%!important;
    margin:24px 0;
  }
}


/* Review block order — V2.5 */
.review-content-section + .review-evaluation-grid{
  margin-top:44px;
}
.review-evaluation-grid + .review-verdict{
  margin-top:28px;
}
.review-verdict + .review-test-box{
  margin-top:28px;
}


/* ==========================================================
   HOMEPAGE EDITOR V3 — single Review/Consensus templates frozen
   ========================================================== */

/* Hero: keep one large card plus four identical small cards. */
.hero-editorial{
  grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr) minmax(290px,.75fr);
}
.hero-editorial .hero-side{
  min-width:0;
}
.hero-editorial .hero-side .card{
  min-height:292px;
}
.hero-editorial .hero-side h2{
  font-size:22px;
}

/* Three Consensus cards with identical geometry. */
.consensus-home-grid-equal{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}
.consensus-home-grid-equal article,
.consensus-home-grid-equal article>a{
  height:100%;
}
.consensus-home-grid-equal article>a{
  display:flex;
  flex-direction:column;
}
.consensus-home-grid-equal img{
  height:230px;
  min-height:230px;
  object-fit:cover;
}
.consensus-home-grid-equal article>a>div{
  display:flex;
  flex:1;
  flex-direction:column;
}
.consensus-home-grid-equal .consensus-mini-stats{
  margin-top:auto;
}
.consensus-home-grid-equal h3{
  font-size:23px;
}

/* Full-width chronological review row. */
.home-card-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid var(--line);
}
.home-editorial-card{
  min-width:0;
  border-right:1px solid var(--line);
}
.home-editorial-card:last-child{
  border-right:0;
}
.home-editorial-card>a{
  display:block;
  height:100%;
}
.home-card-image{
  position:relative;
}
.home-card-image img{
  height:210px;
  object-fit:cover;
}
.home-card-copy{
  padding:20px;
}
.home-card-copy h3{
  margin:10px 0;
  font-family:var(--serif);
  font-size:24px;
  line-height:1.08;
}
.home-review-score{
  position:absolute;
  left:14px;
  bottom:-31px;
  width:66px;
  height:66px;
  border:4px solid #000;
  border-radius:50%;
  background:#fff;
  display:grid;
  place-items:center;
  font-size:25px;
  font-weight:900;
}
.home-review-card .home-card-copy{
  padding-top:46px;
}

@media(max-width:1050px){
  .hero-editorial{
    grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr) minmax(260px,.65fr);
  }
  .hero-editorial .hero-side{
    display:grid;
  }
  .consensus-home-grid-equal{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .home-card-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .home-editorial-card:nth-child(2){
    border-right:0;
  }
  .home-editorial-card:nth-child(-n+2){
    border-bottom:1px solid var(--line);
  }
}

@media(max-width:820px){
  .hero-editorial{
    grid-template-columns:1fr 1fr;
  }
  .hero-editorial .hero-main{
    grid-column:1/-1;
  }
  .hero-editorial .hero-side .card{
    min-height:240px;
  }
  .consensus-home-grid-equal{
    grid-template-columns:1fr;
  }
  .consensus-home-grid-equal article{
    margin-bottom:0;
  }
}

@media(max-width:720px){
  .hero-editorial{
    display:block;
  }
  .hero-editorial .hero-side{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-top:12px;
  }
  .hero-editorial .hero-side .card{
    min-height:220px;
  }
  .hero-editorial .hero-side h2{
    font-size:17px;
  }
  .home-card-row{
    grid-template-columns:1fr;
  }
  .home-editorial-card{
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .home-editorial-card:last-child{
    border-bottom:0;
  }
  .home-card-image img{
    height:230px;
  }
}

@media(max-width:480px){
  .hero-editorial .hero-side{
    grid-template-columns:1fr;
  }
}


/* Platform selectors and archive filters — V3.0.2 */
.gw-platform-filter{
  display:flex;
  align-items:end;
  gap:10px;
  flex-wrap:wrap;
  margin-top:26px;
  padding-top:22px;
  border-top:1px solid var(--line);
}
.gw-platform-filter label{
  width:100%;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.gw-platform-filter select{
  min-width:240px;
  padding:11px 36px 11px 12px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
}
.gw-platform-filter button,
.gw-platform-filter a{
  padding:11px 17px;
  border:1px solid #000;
  background:#000;
  color:#fff;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  cursor:pointer;
}
.gw-platform-filter a{
  background:#fff;
  color:#000;
}
.gw-card-labels{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.gw-platform-badge{
  display:inline-block;
  padding:3px 8px;
  border:1px solid var(--line);
  background:#f5f5f5;
  color:#111;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
@media(max-width:720px){
  .gw-platform-filter select{
    width:100%;
  }
}


/* Upcoming V3.0.3 */
.upcoming-single{padding-bottom:70px}.upcoming-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);border:1px solid var(--line);margin-top:24px}.upcoming-cover img{width:100%;height:560px;object-fit:cover}.upcoming-intro{padding:46px;display:flex;flex-direction:column;justify-content:center}.upcoming-intro h1{font-family:var(--serif);font-size:58px;line-height:.95;margin:18px 0 28px}.upcoming-date{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.upcoming-date small,.upcoming-data-grid span,.upcoming-source-box span{display:block;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.upcoming-date strong{font-size:34px}.upcoming-status{margin-top:18px;text-transform:uppercase;font-weight:900}.upcoming-data-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-top:0}.upcoming-data-grid>div{padding:22px;border-right:1px solid var(--line)}.upcoming-data-grid>div:last-child{border-right:0}.upcoming-content{margin-top:48px}.upcoming-source-box{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);margin-top:44px;padding-top:24px}.upcoming-source-box a{display:block;margin-top:8px}.upcoming-archive-header{padding-top:42px}.upcoming-archive-header h1{font-size:58px;margin:10px 0}.upcoming-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-bottom:70px}.upcoming-card{border:1px solid var(--line)}.upcoming-card-image img{width:100%;height:280px;object-fit:cover}.upcoming-card-copy{padding:22px}.upcoming-card-copy h2{font-family:var(--serif);font-size:28px;margin:12px 0}.upcoming-card-copy strong{font-size:20px}
@media(max-width:800px){.upcoming-hero{grid-template-columns:1fr}.upcoming-cover img{height:380px}.upcoming-intro h1{font-size:42px}.upcoming-data-grid{grid-template-columns:1fr 1fr}.upcoming-data-grid>div:nth-child(2){border-right:0}.upcoming-source-box{grid-template-columns:1fr}.upcoming-archive-grid{grid-template-columns:1fr}}


/* Upcoming homepage data — V3.0.4 */
.release .release-platforms{
  margin-top:3px;
  color:var(--muted);
  font-size:9px;
  line-height:1.25;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.upcoming-home-link{
  display:block;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid var(--line);
  color:var(--ink);
  font-size:10px;
  font-weight:900;
  text-align:right;
  text-transform:uppercase;
}


/* Upcoming archive list — V3.0.6 */
.upcoming-archive-page{
  padding-top:34px;
  padding-bottom:60px;
}
.upcoming-archive-header{
  margin-bottom:28px;
  padding-bottom:24px;
  border-bottom:1px solid var(--line);
}
.upcoming-archive-header h1{
  margin:8px 0 10px;
  font-size:48px;
  line-height:1;
}
.upcoming-archive-header p{
  max-width:720px;
  margin:0;
  color:var(--muted);
  font-family:var(--serif);
  font-size:19px;
}
.upcoming-release-list{
  border-top:1px solid var(--line);
}
.upcoming-release-row{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) 210px 190px;
  gap:22px;
  align-items:center;
  min-height:132px;
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.upcoming-row-thumb{
  display:block;
  overflow:hidden;
  aspect-ratio:16/9;
  background:#eee;
}
.upcoming-row-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.upcoming-row-main{
  min-width:0;
}
.upcoming-row-main h2{
  margin:7px 0 6px;
  font-family:var(--serif);
  font-size:27px;
  line-height:1.05;
}
.upcoming-row-platforms{
  margin:0;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.upcoming-row-date,
.upcoming-row-countdown{
  padding:18px;
  border-left:1px solid var(--line);
}
.upcoming-row-date span{
  display:block;
  margin-bottom:6px;
  color:var(--muted);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}
.upcoming-row-date strong{
  font-family:var(--serif);
  font-size:20px;
}
.upcoming-row-countdown{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:74px;
  border:1px solid #000;
  background:#000;
  color:#fff;
  text-align:center;
}
.upcoming-row-countdown strong{
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.upcoming-row-countdown.is-approximate{
  border-color:var(--line);
  background:#f3f3f3;
  color:#111;
}

@media(max-width:980px){
  .upcoming-release-row{
    grid-template-columns:130px minmax(0,1fr) 180px;
  }
  .upcoming-row-countdown{
    grid-column:2/-1;
    justify-self:end;
    width:190px;
    min-height:52px;
  }
}

@media(max-width:720px){
  .upcoming-archive-header h1{
    font-size:38px;
  }
  .upcoming-release-row{
    grid-template-columns:105px minmax(0,1fr);
    gap:15px;
    align-items:start;
  }
  .upcoming-row-main h2{
    font-size:22px;
  }
  .upcoming-row-date{
    grid-column:1/2;
    padding:10px 0 0;
    border-left:0;
  }
  .upcoming-row-countdown{
    grid-column:2/3;
    width:auto;
    min-height:48px;
    margin-top:0;
  }
}

@media(max-width:480px){
  .upcoming-release-row{
    grid-template-columns:88px minmax(0,1fr);
  }
  .upcoming-row-date,
  .upcoming-row-countdown{
    grid-column:1/-1;
  }
  .upcoming-row-countdown{
    justify-self:stretch;
  }
}


/* ==========================================================
   NEWS SINGLE — V3.0.7
   ========================================================== */
.gw-news-single{
  max-width:1040px;
  padding-top:38px;
  padding-bottom:70px;
}
.gw-news-header{
  max-width:900px;
  margin:0 auto 26px;
  text-align:center;
}
.gw-news-kicker{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.gw-news-header h1{
  margin:0;
  font-size:58px;
  line-height:.98;
}
.gw-news-subtitle{
  max-width:820px;
  margin:20px auto 0;
  color:var(--muted);
  font-family:var(--serif);
  font-size:23px;
  line-height:1.35;
}
.gw-news-platforms{
  margin:13px 0 0;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.gw-news-featured{
  max-width:900px;
  margin:0 auto 34px;
}
.gw-news-featured img{
  width:100%;
  max-height:520px;
  object-fit:cover;
  display:block;
}
.gw-news-featured figcaption{
  padding-top:8px;
  color:var(--muted);
  font-size:11px;
}
.gw-news-brief,
.gw-news-why,
.gw-news-content,
.gw-news-sources{
  max-width:800px;
  margin-left:auto;
  margin-right:auto;
}
.gw-news-brief,
.gw-news-why{
  margin-top:28px;
  margin-bottom:32px;
  padding:24px 26px;
  border:1px solid #000;
  background:#f5f5f5;
}
.gw-news-brief h2,
.gw-news-why h2,
.gw-news-sources h2{
  margin:0 0 12px;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.gw-news-brief p,
.gw-news-why p{
  margin:0;
  font-family:var(--serif);
  font-size:20px;
  line-height:1.45;
}
.gw-news-content{
  font-family:var(--serif);
  font-size:19px;
  line-height:1.7;
}
.gw-news-content h2,
.gw-news-content h3{
  font-family:var(--sans);
}
.gw-news-content img{
  max-width:100%;
  height:auto;
}
.gw-news-sources{
  margin-top:44px;
  padding-top:26px;
  border-top:3px solid #000;
}
.gw-news-source-list{
  border-top:1px solid var(--line);
}
.gw-news-source-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.gw-news-source-card div{
  min-width:0;
}
.gw-news-source-card strong,
.gw-news-source-card span,
.gw-news-source-card small{
  display:block;
}
.gw-news-source-card span{
  margin-top:4px;
  font-family:var(--serif);
}
.gw-news-source-card small{
  margin-top:3px;
  color:var(--muted);
}
.gw-news-source-card a{
  padding:9px 12px;
  border:1px solid #000;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}
.home-all-news-link{
  display:block;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid var(--line);
  color:var(--ink);
  font-size:10px;
  font-weight:900;
  text-align:right;
  text-transform:uppercase;
}

@media(max-width:720px){
  .gw-news-single{
    padding-top:24px;
  }
  .gw-news-header h1{
    font-size:40px;
  }
  .gw-news-subtitle{
    font-size:19px;
  }
  .gw-news-featured img{
    max-height:330px;
  }
  .gw-news-content{
    font-size:17px;
  }
  .gw-news-source-card{
    grid-template-columns:1fr;
  }
  .gw-news-source-card a{
    justify-self:start;
  }
}


/* ==========================================================
   MOBILE HERO FIX — V3.0.9
   Corregge overflow e sovrapposizione della prima news.
   ========================================================== */
@media (max-width: 720px) {
  /* Separa nettamente il banner superiore dalla hero. */
  .top-ad,
  .ad-top,
  .ad-slot.top,
  .ad-slot--top {
    margin-bottom: 18px;
  }

  /* La card principale non deve dipendere da un'altezza rigida. */
  .hero-main,
  .hero-card.hero-main,
  .lead-story,
  .featured-main {
    min-height: 0;
    height: auto;
    aspect-ratio: auto;
    overflow: hidden;
  }

  /* Mantiene un'immagine leggibile senza far crescere troppo la card. */
  .hero-main > img,
  .hero-card.hero-main > img,
  .lead-story > img,
  .featured-main > img {
    position: relative;
    inset: auto;
    display: block;
    width: 100%;
    height: 430px;
    min-height: 430px;
    object-fit: cover;
    object-position: center;
  }

  /* Overlay sempre ancorato in basso e contenuto nel box. */
  .hero-main .overlay,
  .hero-main .hero-copy,
  .hero-main .content,
  .hero-card.hero-main .overlay,
  .lead-story .overlay,
  .featured-main .overlay {
    position: absolute;
    inset: auto 0 0;
    width: auto;
    max-width: none;
    box-sizing: border-box;
    padding: 72px 22px 22px;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.72) 35%,
      rgba(0,0,0,.94) 100%
    );
  }

  /* Titolo protetto dai casi eccezionalmente lunghi. */
  .hero-main h1,
  .hero-main h2,
  .hero-main .title,
  .hero-card.hero-main h1,
  .hero-card.hero-main h2,
  .lead-story h1,
  .lead-story h2,
  .featured-main h1,
  .featured-main h2 {
    margin: 0 0 12px;
    font-size: clamp(31px, 8.6vw, 45px);
    line-height: .98;
    overflow-wrap: anywhere;
    word-break: normal;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
  }

  /* Estratto limitato: non può invadere banner o metadati. */
  .hero-main .excerpt,
  .hero-main .summary,
  .hero-main .dek,
  .hero-main .hero-excerpt,
  .hero-card.hero-main .excerpt,
  .lead-story .excerpt,
  .featured-main .excerpt {
    margin: 0 0 14px;
    font-size: 18px;
    line-height: 1.42;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
  }

  .hero-main .meta,
  .hero-main .byline,
  .hero-card.hero-main .meta,
  .lead-story .meta,
  .featured-main .meta {
    margin-top: 12px;
    font-size: 11px;
    line-height: 1.3;
  }
}

@media (max-width: 430px) {
  .hero-main > img,
  .hero-card.hero-main > img,
  .lead-story > img,
  .featured-main > img {
    height: 390px;
    min-height: 390px;
  }

  .hero-main .overlay,
  .hero-main .hero-copy,
  .hero-main .content,
  .hero-card.hero-main .overlay,
  .lead-story .overlay,
  .featured-main .overlay {
    padding: 62px 18px 18px;
  }

  .hero-main h1,
  .hero-main h2,
  .hero-main .title,
  .hero-card.hero-main h1,
  .hero-card.hero-main h2,
  .lead-story h1,
  .lead-story h2,
  .featured-main h1,
  .featured-main h2 {
    font-size: clamp(28px, 9vw, 38px);
    -webkit-line-clamp: 4;
  }

  .hero-main .excerpt,
  .hero-main .summary,
  .hero-main .dek,
  .hero-main .hero-excerpt,
  .hero-card.hero-main .excerpt,
  .lead-story .excerpt,
  .featured-main .excerpt {
    font-size: 16px;
    -webkit-line-clamp: 3;
  }
}


/* ==========================================================
   MOBILE HERO — NASCONDE "IN BREVE" NELLA PRIMA NEWS
   V3.0.10
   ========================================================== */
@media (max-width: 720px) {
  .hero-main .excerpt,
  .hero-main .summary,
  .hero-main .dek,
  .hero-main .hero-excerpt,
  .hero-card.hero-main .excerpt,
  .lead-story .excerpt,
  .featured-main .excerpt {
    display: none !important;
  }
}


/* V3.0.11 — selettore reale estratto hero mobile */
@media (max-width: 720px) {
  .hero-editorial .hero-main .overlay > p.hero-excerpt {
    display: none !important;
  }
}

/* Footer finale V3.0.12 */
.footer-grid-final{display:grid;grid-template-columns:1.5fr 1fr 1.2fr .8fr;gap:54px;padding-top:40px;padding-bottom:34px}
.footer-brand-link{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--ink)}
.footer-brand-link .custom-logo{max-width:210px;height:auto}
.footer-brand p{max-width:390px;margin:0;font-size:16px;line-height:1.45}
.footer-column h3{margin:0 0 16px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.footer-column ul,.footer-info-menu{margin:0;padding:0;list-style:none}
.footer-column li,.footer-info-menu li{margin:0 0 8px}
.footer-column a,.footer-info-menu a{color:var(--ink);font-size:14px;line-height:1.35}
.footer-column a:hover,.footer-info-menu a:hover{text-decoration:underline}
.footer-bottom{display:flex;justify-content:flex-start;padding-top:16px;padding-bottom:22px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
@media(max-width:980px){.footer-grid-final{grid-template-columns:1.4fr 1fr 1fr}.footer-grid-final .footer-column:last-child{grid-column:2/3}}
@media(max-width:720px){.footer-grid-final{grid-template-columns:1fr 1fr;gap:30px 24px;padding-top:30px}.footer-brand{grid-column:1/-1}.footer-grid-final .footer-column:last-child{grid-column:auto}}
@media(max-width:480px){.footer-grid-final{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-brand p{font-size:15px}}
