/*
Theme Name: Wujek Gadżet 2026 v0.8.19
Theme URI: https://dev.wujek-gadzet.pl
Author: Wujek Gadzet
Description: Lekki motyw newsowy dla Wujek-Gadzet.pl
Version: 0.8.19
Text Domain: wujek-gadzet-2026
*/

:root{
  --wg-red:#ef2b2d;
  --wg-ink:#0d1117;
  --wg-text:#15181d;
  --wg-muted:#737984;
  --wg-line:#e6e8ec;
  --wg-soft:#f6f7f9;
  --wg-surface:#ffffff;
  --wg-card:#ffffff;
  --wg-purple:#6837e8;
  --wg-radius:14px;
  --wg-shadow:0 12px 34px rgba(13,17,23,.08);
  --wg-content:820px;
  --wg-page-max:1280px;
  --wg-wallpaper-default:#eef0f3;
}
html[data-wg-theme="dark"]{
  --wg-wallpaper-default:#080d13;
  --wg-text:#eef1f5;
  --wg-muted:#a8afb9;
  --wg-line:#2b3139;
  --wg-soft:#161b22;
  --wg-surface:#10151b;
  --wg-card:#151b22;
  --wg-shadow:0 12px 34px rgba(0,0,0,.24);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--wg-text);
  background-color:var(--wg-wallpaper-color,var(--wg-wallpaper-default))!important;
  background-image:var(--wg-wallpaper-image,none)!important;
  background-repeat:var(--wg-wallpaper-repeat,no-repeat)!important;
  background-position:var(--wg-wallpaper-position,top center)!important;
  background-size:var(--wg-wallpaper-size,cover)!important;
  background-attachment:var(--wg-wallpaper-attachment,fixed)!important;
  line-height:1.55;
}
body.admin-bar .wg-site-header{top:32px}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}

.wg-wallpaper-link{
  position:fixed;
  inset:72px 0 0;
  z-index:0;
  display:block;
}
body.admin-bar .wg-wallpaper-link{top:104px}

.wg-site-header,.wg-main,.wg-site-footer{position:relative;z-index:2}
.wg-container{width:min(1180px,calc(100% - 32px));margin:0 auto}
.wg-main{
  width:min(var(--wg-page-max),100%);
  min-height:60vh;
  margin:0 auto;
  padding:28px 0 56px;
  background:var(--wg-surface);
  box-shadow:0 0 40px rgba(0,0,0,.06);
}

/* Header */
.wg-site-header{background:var(--wg-ink);color:#fff;position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(255,255,255,.07)}
.wg-header-inner{min-height:72px;display:flex;align-items:center;gap:28px}
.wg-brand{display:flex;align-items:center;gap:11px;font-weight:900;letter-spacing:-.03em}
.wg-brand-mark{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--wg-ink);border:3px solid var(--wg-red);font-size:13px}
.wg-brand-text{font-size:21px;text-transform:uppercase}.wg-brand-text span{color:var(--wg-red)}
.wg-nav{display:flex;gap:30px;margin-left:auto;align-items:center}.wg-nav a{font-size:13px;font-weight:800;text-transform:uppercase}.wg-nav a:hover{color:var(--wg-red)}
.wg-search,.wg-theme-toggle{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;cursor:pointer}
.wg-search:before{content:"⌕";font-size:23px}
.wg-theme-toggle{font-size:17px}
.wg-menu-toggle{display:none;border:0;background:transparent;color:#fff;font-size:25px;cursor:pointer}
.wg-mobile-nav{display:none;background:var(--wg-ink);border-top:1px solid rgba(255,255,255,.08);padding:0 16px 18px}
.wg-mobile-nav a{display:block;color:#fff;padding:11px 0;font-weight:800;text-transform:uppercase;font-size:13px;border-bottom:1px solid rgba(255,255,255,.08)}
.wg-mobile-nav.is-open{display:block}

/* Home */
.wg-hero{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,.75fr);gap:16px;margin-bottom:34px}
.wg-hero-main{min-height:430px;position:relative;border-radius:var(--wg-radius);overflow:hidden;background:#171d2b;color:#fff;box-shadow:var(--wg-shadow)}
.wg-cover{position:absolute;inset:0;background-size:cover;background-position:center}
.wg-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,11,16,.08) 20%,rgba(8,11,16,.94) 100%)}
.wg-hero-copy{position:absolute;left:28px;right:28px;bottom:26px;z-index:2}
.wg-badge{display:inline-block;padding:5px 8px;border-radius:5px;background:var(--wg-red);color:#fff;font-size:11px;font-weight:900;text-transform:uppercase}
.wg-badge.review{background:var(--wg-purple)}
.wg-hero-copy h1{margin:10px 0;font-size:clamp(30px,4vw,48px);line-height:1.07;letter-spacing:-.025em}
.wg-hero-copy p{max-width:700px;color:rgba(255,255,255,.84);font-size:16px;margin:0 0 14px}
.wg-meta{display:flex;gap:15px;align-items:center;color:var(--wg-muted);font-size:12px}.wg-hero .wg-meta{color:rgba(255,255,255,.74)}
.wg-side-news{display:grid;gap:10px}.wg-side-card{display:grid;grid-template-columns:92px 1fr;gap:12px;align-items:center;border-bottom:1px solid var(--wg-line);padding:4px 0 10px}
.wg-thumb{width:100%;aspect-ratio:16/10;border-radius:9px;background:#d9dde3;background-size:cover;background-position:center}
.wg-side-card h3{font-size:14px;line-height:1.24;margin:5px 0}.wg-date{color:var(--wg-muted);font-size:11px}
.wg-section{margin-top:36px}.wg-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}
.wg-section-title{margin:0;display:flex;align-items:center;gap:12px;font-size:20px;text-transform:uppercase}
.wg-section-title:before{content:"";width:4px;height:24px;background:var(--wg-red);border-radius:3px}
.wg-more{font-size:12px;font-weight:800;text-transform:uppercase}.wg-more:hover{color:var(--wg-red)}
.wg-feed{border-top:1px solid var(--wg-line)}
.wg-feed-row{display:grid;grid-template-columns:92px 116px minmax(0,1fr);gap:18px;align-items:center;padding:10px 0;border-bottom:1px solid var(--wg-line)}
.wg-feed-date{font-size:13px;font-weight:800;color:var(--wg-red);line-height:1.15}.wg-feed-row h3{font-size:15px;margin:0;line-height:1.3}.wg-comments{font-size:12px;color:var(--wg-muted);text-align:right}
.wg-reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.wg-review-card{border:1px solid var(--wg-line);border-radius:var(--wg-radius);overflow:hidden;background:var(--wg-card);box-shadow:0 6px 18px rgba(13,17,23,.04)}
.wg-review-card .wg-thumb{border-radius:0;aspect-ratio:16/9}.wg-review-copy{display:block;padding:13px 14px 15px}.wg-review-copy h3{font-size:15px;line-height:1.28;margin:8px 0}.wg-review-date{font-size:11px;color:var(--wg-muted)}

/* Ads */
.wg-ad-slot{width:100%;min-height:118px;border:1px dashed #cfd4dc;border-radius:12px;background:var(--wg-soft);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--wg-muted);font-size:12px;margin:24px 0;padding:14px}
.wg-ad-slot:before{content:"MIEJSCE NA REKLAMĘ · ADSENSE";font-weight:800;letter-spacing:.04em}
.wg-ad-slot.has-widget{display:block;min-height:0;border:0;background:transparent;padding:0}
.wg-feed-ad{grid-column:1/-1}

/* Single article */
.wg-article{width:min(var(--wg-content),100%);margin:0 auto}
.wg-article-head{padding:20px 0 18px}
.wg-article-head h1{font-size:clamp(34px,5vw,58px);line-height:1.06;letter-spacing:-.035em;margin:10px 0 14px}
.wg-article-lead{font-size:20px;line-height:1.45;color:var(--wg-muted);margin:0 0 18px}.wg-author{font-weight:700}
.wg-article-image{width:min(1100px,100%);margin:10px auto 28px}.wg-article-image img{width:100%;border-radius:16px}
.wg-article-body{font-size:18px;line-height:1.78;min-width:0}
.wg-article-body p{margin:0 0 1.35em}.wg-article-body h2{font-size:30px;line-height:1.2;margin:1.7em 0 .65em}.wg-article-body h3{font-size:24px;line-height:1.25;margin:1.5em 0 .6em}
.wg-article-body a{color:#d51f25;text-decoration:underline;text-underline-offset:3px}
.wg-article-body blockquote{margin:30px 0;padding:8px 0 8px 22px;border-left:4px solid var(--wg-red);font-size:20px;color:var(--wg-muted)}
.wg-article-body figure,.wg-article-body img,.wg-article-body video,.wg-article-body iframe{max-width:100%;height:auto}
.wg-article-body ul,.wg-article-body ol{padding-left:24px}

/* Legacy/spec tables — override widths pasted from old editor */
.wg-article-body .wg-table-scroll{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin:26px 0;
  border:1px solid var(--wg-line);
  border-radius:12px;
  background:var(--wg-card);
}
.wg-article-body table{
  width:100%!important;
  max-width:100%!important;
  border-collapse:collapse!important;
  border-spacing:0!important;
  margin:0!important;
  background:var(--wg-card)!important;
  color:var(--wg-text)!important;
  table-layout:auto!important;
}
.wg-article-body table th,.wg-article-body table td{
  width:auto!important;
  max-width:none!important;
  padding:11px 13px!important;
  border:0!important;
  border-bottom:1px solid var(--wg-line)!important;
  background:transparent!important;
  color:var(--wg-text)!important;
  vertical-align:top!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.wg-article-body table th{
  font-weight:800;
  background:var(--wg-soft)!important;
  text-align:left;
}
.wg-article-body table tr:last-child td{border-bottom:0!important}
.wg-article-body table[style],.wg-article-body td[style],.wg-article-body th[style]{max-width:100%!important}

/* Ceneo */
.wg-ceneo{margin:30px 0;padding:22px;border:1px solid var(--wg-line);border-radius:14px;background:var(--wg-soft);display:flex;align-items:center;justify-content:space-between;gap:20px}
.wg-ceneo-copy strong{display:block;font-size:19px}.wg-ceneo-copy span{font-size:13px;color:var(--wg-muted)}
.wg-ceneo-button{display:inline-flex;align-items:center;justify-content:center;background:var(--wg-red);color:#fff!important;text-decoration:none!important;padding:12px 17px;border-radius:8px;font-weight:900;white-space:nowrap}

/* Related */
.wg-related{width:min(1100px,100%);margin:50px auto 0}.wg-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.wg-related-card{border:1px solid var(--wg-line);border-radius:12px;overflow:hidden;background:var(--wg-card)}
.wg-related-card .wg-thumb{border-radius:0}.wg-related-copy{display:block;padding:13px}.wg-related-copy h3{font-size:15px;line-height:1.3;margin:7px 0 0}
.wg-empty{border:1px dashed var(--wg-line);background:var(--wg-soft);border-radius:var(--wg-radius);padding:28px;color:var(--wg-muted)}

/* Footer */
.wg-site-footer{margin-top:0;background:var(--wg-ink);color:#fff}.wg-footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:38px;padding:42px 0}.wg-footer-title{font-size:12px;font-weight:900;text-transform:uppercase;margin-bottom:12px}
.wg-footer-copy,.wg-footer-links{font-size:13px;color:rgba(255,255,255,.68)}.wg-footer-links{display:grid;gap:8px}.wg-footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:16px 0;font-size:12px;color:rgba(255,255,255,.5);text-align:center}


/* Reklamodawca — osobne logo w bocznych railach, niezależnie od tapety */
.wg-sponsor-rail{
  position:fixed;
  top:118px;
  bottom:40px;
  width:max(0px,calc((100vw - var(--wg-page-max))/2));
  z-index:1;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding-top:28px;
  pointer-events:none;
}
.wg-sponsor-rail.is-left{left:0}
.wg-sponsor-rail.is-right{right:0}
.wg-sponsor-logo{
  display:block;
  width:min(180px,72%);
  pointer-events:auto;
  filter:drop-shadow(0 5px 14px rgba(0,0,0,.18));
}
.wg-sponsor-logo img{
  width:100%;
  height:auto;
  object-fit:contain;
}
html[data-wg-theme="dark"] .wg-sponsor-logo img{
  filter:none;
}

@media(max-width:1450px){
  .wg-sponsor-rail{display:none}
}

@media(max-width:1320px){
  body{background-image:none!important;background-color:var(--wg-surface)!important}
  .wg-wallpaper-link{display:none}
  .wg-main{box-shadow:none}
}
@media(max-width:900px){
 body.admin-bar .wg-site-header{top:46px}
 .wg-nav{display:none}.wg-menu-toggle{display:block;margin-left:auto}.wg-search{margin-left:0}
 .wg-hero{grid-template-columns:1fr}.wg-side-news{grid-template-columns:repeat(2,1fr)}
 .wg-reviews,.wg-related-grid{grid-template-columns:1fr 1fr}.wg-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
 .wg-container{width:min(100% - 22px,1180px)}
 .wg-header-inner{min-height:62px}.wg-brand-text{font-size:18px}.wg-brand-mark{width:34px;height:34px}
 .wg-main{padding-top:12px}.wg-hero-main{min-height:410px}.wg-hero-copy{left:18px;right:18px;bottom:18px}.wg-hero-copy h1{font-size:28px}.wg-hero-copy p{font-size:14px}
 .wg-side-news{grid-template-columns:1fr}.wg-feed-row{grid-template-columns:62px 84px minmax(0,1fr);gap:10px}.wg-comments{display:none}
 .wg-reviews,.wg-related-grid{grid-template-columns:1fr}.wg-footer-grid{grid-template-columns:1fr}
 .wg-article-head h1{font-size:36px}.wg-article-lead{font-size:18px}.wg-article-body{font-size:17px}.wg-article-body h2{font-size:26px}
 .wg-ceneo{align-items:flex-start;flex-direction:column}.wg-ceneo-button{width:100%}
 .wg-article-body .wg-table-scroll{margin-left:0;margin-right:0}
 .wg-article-body table{min-width:0!important}
}


/* Wideo / YouTube — zawsze na pełną szerokość kolumny artykułu */
.wg-article-body .wp-block-embed,
.wg-article-body .wp-block-embed__wrapper,
.wg-article-body .wp-video,
.wg-article-body .video-container,
.wg-article-body iframe[src*="youtube.com"],
.wg-article-body iframe[src*="youtu.be"]{
  width:100%!important;
  max-width:100%!important;
}
.wg-article-body .wp-block-embed__wrapper,
.wg-article-body .video-container{
  position:relative;
  aspect-ratio:16/9;
}
.wg-article-body iframe[src*="youtube.com"],
.wg-article-body iframe[src*="youtu.be"]{
  display:block;
  aspect-ratio:16/9;
  height:auto!important;
  min-height:460px;
  border:0;
  margin:20px 0 30px;
}

/* Komentarze są wyłączone w tym motywie */
.comments-area,
.comment-respond,
.wg-comments{
  display:none!important;
}

@media(max-width:640px){
  /* Dwukolumnowe tabele specyfikacji bez poziomego suwaka. */
  .wg-article-body .wg-table-scroll:has(table.wg-table-two-col){
    overflow-x:visible;
  }
  .wg-article-body table.wg-table-two-col{
    min-width:0!important;
    width:100%!important;
    table-layout:fixed!important;
  }
  .wg-article-body table.wg-table-two-col th:first-child,
  .wg-article-body table.wg-table-two-col td:first-child{
    width:40%!important;
  }
  .wg-article-body table.wg-table-two-col th:nth-child(2),
  .wg-article-body table.wg-table-two-col td:nth-child(2){
    width:60%!important;
  }
  .wg-article-body table.wg-table-two-col th,
  .wg-article-body table.wg-table-two-col td{
    padding:10px 9px!important;
    font-size:15px;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  .wg-article-body iframe[src*="youtube.com"],
  .wg-article-body iframe[src*="youtu.be"]{
    min-height:0;
    aspect-ratio:16/9;
    height:auto!important;
  }
}


/* Komentarze wyłączone całkowicie na froncie */
#comments,
.comments-area,
.comment-area,
.commentlist,
.comment-list,
.comment-respond,
#respond,
.wp-block-comments,
.wp-block-post-comments-form,
.wp-block-comment-template,
.fb-comments,
.fb-comments-wrapper,
[class*="comments-area"],
[class*="comment-respond"]{
  display:none!important;
}


/* v0.4.5 — czystszy header mobilny */
@media(max-width:900px){
  .wg-header-inner{
    gap:10px;
  }

  /* wyszukiwarka jest dostępna po rozwinięciu menu, więc nie dublujemy ikony */
  .wg-search{
    display:none!important;
  }

  .wg-theme-toggle,
  .wg-menu-toggle{
    width:40px;
    height:40px;
    min-width:40px;
    display:grid;
    place-items:center;
    margin:0;
    padding:0;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#fff;
    line-height:1;
  }

  .wg-theme-toggle{
    margin-left:auto;
    font-size:22px;
  }

  .wg-menu-toggle{
    font-size:28px;
    font-family:Arial,Helvetica,sans-serif;
  }

  .wg-theme-toggle:hover,
  .wg-menu-toggle:hover{
    background:rgba(255,255,255,.08);
  }
}

@media(max-width:380px){
  .wg-brand-text{
    font-size:16px;
  }
  .wg-brand-mark{
    width:32px;
    height:32px;
    min-width:32px;
  }
  .wg-theme-toggle,
  .wg-menu-toggle{
    width:36px;
    height:36px;
    min-width:36px;
  }
}


/* v0.5 — docelowe kontenery reklamowe */
.wg-ad-live{
  width:100%;
  min-height:90px;
  margin:24px auto;
  overflow:hidden;
  text-align:center;
}
.wg-ad-live .adsbygoogle{
  display:block;
  width:100%;
}


/* v0.6 — Ceneo: obsługa starych linków zapisanych w treści */
.wg-article-body a[href*="ceneo.pl"]{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:12px 18px!important;
  margin:8px 0;
  border-radius:9px;
  background:var(--wg-red)!important;
  color:#fff!important;
  font-weight:900!important;
  line-height:1.2;
  text-decoration:none!important;
  box-shadow:none!important;
  transition:transform .15s ease,opacity .15s ease;
}
.wg-article-body a[href*="ceneo.pl"]:hover{
  opacity:.92;
  transform:translateY(-1px);
}

/* Dawny widget Ceneo ze starego Profitmaga nie może już pływać po prawej. */
.wg-article-body .ceneoaff-container,
.wg-article-body div.ceneoaff-container{
  float:none!important;
  clear:both!important;
  width:100%!important;
  max-width:100%!important;
  margin:24px auto!important;
  overflow:hidden;
}

/* Nowy box Ceneo */
.wg-ceneo{
  position:relative;
  overflow:hidden;
}
.wg-ceneo-copy span{
  display:block;
  margin-top:4px;
}
.wg-ceneo-affiliate{
  display:block;
  margin-top:6px;
  font-size:11px!important;
  color:var(--wg-muted)!important;
}

@media(max-width:700px){
  .wg-article-body a[href*="ceneo.pl"]{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    text-align:center;
  }

  .wg-article-body .ceneoaff-container,
  .wg-article-body div.ceneoaff-container{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
}


/* v0.6.1 — prawdziwa wyszukiwarka zamiast pustego ?s= */
.wg-search{
  padding:0;
}
.wg-search:before{
  content:"⌕";
  font-size:23px;
}
.wg-search-panel{
  display:none;
  background:var(--wg-ink);
  border-top:1px solid rgba(255,255,255,.08);
  padding:14px 0 18px;
}
.wg-search-panel.is-open{
  display:block;
}
.wg-search-form{
  display:flex;
  gap:10px;
  align-items:center;
}
.wg-search-input{
  flex:1;
  min-width:0;
  height:46px;
  padding:0 15px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:9px;
  background:#fff;
  color:#111;
  font:inherit;
  outline:none;
}
.wg-search-input:focus{
  border-color:var(--wg-red);
  box-shadow:0 0 0 3px rgba(239,43,45,.18);
}
.wg-search-submit{
  min-height:46px;
  padding:0 18px;
  border:0;
  border-radius:9px;
  background:var(--wg-red);
  color:#fff;
  font-weight:900;
  cursor:pointer;
}
.wg-mobile-search{
  padding-top:12px;
}
.wg-mobile-search .wg-search-form{
  display:grid;
  grid-template-columns:1fr auto;
}

.wg-search-query{
  color:var(--wg-muted);
  font-weight:400;
  text-transform:none;
}

@media(max-width:900px){
  .wg-search-panel{
    display:none!important;
  }
  .wg-mobile-search .wg-search-input{
    height:44px;
  }
  .wg-mobile-search .wg-search-submit{
    min-height:44px;
  }
}


/* =========================================================
   v0.7 — obrazy, recenzje, O nas, Kontakt
   ========================================================= */

/* Obrazki w artykule:
   - duże nigdy nie wychodzą poza treść,
   - małe NIE są rozciągane na siłę. */
.wg-article-image{
  text-align:center;
}
.wg-article-image img{
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  margin-left:auto;
  margin-right:auto;
}
.wg-article-body img{
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
}
.wg-article-body img.aligncenter,
.wg-article-body .aligncenter img,
.wg-article-body figure.aligncenter{
  margin-left:auto!important;
  margin-right:auto!important;
}
.wg-article-body figure{
  max-width:100%!important;
}

/* Ocena recenzji */
.wg-review-summary{
  margin:34px 0;
  border:1px solid var(--wg-line);
  border-radius:18px;
  overflow:hidden;
  background:var(--wg-card);
  box-shadow:var(--wg-shadow);
}
.wg-review-summary-top{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:24px;
  align-items:center;
  padding:24px;
}
.wg-review-score{
  width:126px;
  height:126px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:auto;
  border:7px solid var(--wg-red);
  background:var(--wg-ink);
  color:#fff;
  text-align:center;
  box-shadow:0 10px 26px rgba(0,0,0,.16);
}
.wg-review-score strong{
  display:block;
  font-size:38px;
  line-height:.95;
  letter-spacing:-.05em;
}
.wg-review-score span{
  display:block;
  margin-top:5px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:rgba(255,255,255,.74);
}
.wg-review-verdict-label{
  display:block;
  color:var(--wg-red);
  text-transform:uppercase;
  font-weight:900;
  font-size:12px;
  letter-spacing:.05em;
  margin-bottom:6px;
}
.wg-review-verdict{
  margin:0;
  font-size:19px;
  line-height:1.55;
}
.wg-review-pm{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid var(--wg-line);
}
.wg-review-pm > div{
  padding:20px 24px;
}
.wg-review-pm > div + div{
  border-left:1px solid var(--wg-line);
}
.wg-review-pm h3{
  margin:0 0 10px!important;
  font-size:15px!important;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.wg-review-pm ul{
  margin:0;
  padding:0;
  list-style:none;
}
.wg-review-pm li{
  position:relative;
  padding:5px 0 5px 25px;
  font-size:15px;
}
.wg-review-pros li:before,
.wg-review-cons li:before{
  position:absolute;
  left:0;
  top:4px;
  font-weight:900;
}
.wg-review-pros li:before{content:"+";color:#16843d}
.wg-review-cons li:before{content:"−";color:var(--wg-red)}

.wg-review-card{
  position:relative;
}
.wg-review-card-score{
  position:absolute;
  top:10px;
  right:10px;
  z-index:2;
  min-width:45px;
  height:45px;
  padding:0 7px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--wg-ink);
  color:#fff;
  border:3px solid var(--wg-red);
  font-size:13px;
  font-weight:900;
  box-shadow:0 4px 16px rgba(0,0,0,.25);
}

/* Strony informacyjne */
.wg-page{
  width:min(var(--wg-content),100%);
  margin:0 auto;
}
.wg-page-head{
  padding:20px 0 8px;
}
.wg-page-head h1{
  font-size:clamp(36px,5vw,56px);
  line-height:1.05;
  letter-spacing:-.035em;
  margin:10px 0 16px;
}
.wg-page-body{
  font-size:18px;
  line-height:1.75;
}
.wg-page-body h2{
  margin-top:1.7em;
  font-size:28px;
  line-height:1.2;
}

/* Formularz kontaktowy */
.wg-contact-box{
  margin:24px 0;
  padding:24px;
  border:1px solid var(--wg-line);
  border-radius:16px;
  background:var(--wg-card);
}
.wg-contact-form{
  display:grid;
  gap:16px;
}
.wg-contact-field label{
  display:block;
  font-size:13px;
  font-weight:900;
  margin-bottom:6px;
}
.wg-contact-field input,
.wg-contact-field textarea{
  width:100%;
  border:1px solid var(--wg-line);
  border-radius:9px;
  background:var(--wg-surface);
  color:var(--wg-text);
  font:inherit;
  padding:12px 13px;
  outline:none;
}
.wg-contact-field input:focus,
.wg-contact-field textarea:focus{
  border-color:var(--wg-red);
  box-shadow:0 0 0 3px rgba(239,43,45,.12);
}
.wg-contact-field textarea{
  min-height:190px;
  resize:vertical;
}
.wg-contact-submit{
  justify-self:start;
  border:0;
  border-radius:9px;
  background:var(--wg-red);
  color:#fff;
  min-height:46px;
  padding:0 20px;
  font-weight:900;
  cursor:pointer;
}
.wg-contact-note{
  color:var(--wg-muted);
  font-size:13px;
}
.wg-contact-alert{
  padding:13px 15px;
  margin:0 0 18px;
  border-radius:10px;
  font-weight:700;
}
.wg-contact-alert.ok{
  background:#e8f7ed;
  color:#176331;
}
.wg-contact-alert.error{
  background:#fff0f0;
  color:#9f1d22;
}
html[data-wg-theme="dark"] .wg-contact-alert.ok{
  background:#163121;
  color:#9be1b1;
}
html[data-wg-theme="dark"] .wg-contact-alert.error{
  background:#35191b;
  color:#ffb3b6;
}
.wg-hp{
  position:absolute!important;
  left:-99999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

@media(max-width:640px){
  .wg-review-summary-top{
    grid-template-columns:1fr;
    text-align:center;
  }
  .wg-review-pm{
    grid-template-columns:1fr;
  }
  .wg-review-pm > div + div{
    border-left:0;
    border-top:1px solid var(--wg-line);
  }
  .wg-contact-box{
    padding:18px;
  }
  .wg-contact-submit{
    width:100%;
  }
}


/* v0.7.1 — opcjonalne „Polecamy” w recenzji */
.wg-review-score-wrap{
  display:grid;
  gap:12px;
  justify-items:center;
}
.wg-review-recommended{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:6px 12px;
  border-radius:999px;
  background:#16843d;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  box-shadow:0 6px 18px rgba(0,0,0,.10);
}
.wg-review-card-recommended{
  position:absolute;
  left:10px;
  top:10px;
  z-index:2;
  padding:5px 8px;
  border-radius:999px;
  background:#16843d;
  color:#fff;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.03em;
}


/* v0.7.2 — badge recenzji na bazie dostarczonego logo */
.wg-review-badge-box{
  position:relative;
  width:min(220px,100%);
  margin:auto;
}
.wg-review-badge-image{
  width:100%;
  height:auto;
  display:block;
  filter:drop-shadow(0 12px 30px rgba(0,0,0,.16));
}
.wg-review-score-chip{
  position:absolute;
  right:10px;
  bottom:18px;
  min-width:66px;
  height:66px;
  padding:0 10px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--wg-red);
  color:#fff;
  border:4px solid #fff;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  text-align:center;
}
.wg-review-score-chip strong{
  display:block;
  font-size:26px;
  line-height:1;
  letter-spacing:-.04em;
}
.wg-review-score-chip span{
  display:block;
  margin-top:1px;
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.wg-review-card-badgeimg{
  position:absolute;
  top:10px;
  left:10px;
  z-index:2;
  width:68px;
  height:68px;
  object-fit:contain;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.22));
}

@media(max-width:640px){
  .wg-review-badge-box{
    width:min(190px,100%);
  }
  .wg-review-score-chip{
    min-width:58px;
    height:58px;
    right:8px;
    bottom:14px;
  }
  .wg-review-score-chip strong{
    font-size:22px;
  }
}


/* =========================================================
   v0.8 — SEO / Google / Core Web Vitals
   ========================================================= */

/* Obrazki kart są prawdziwymi <img>, nie tłem CSS:
   Google może je lepiej rozpoznać, a przeglądarka używa lazy-load/srcset. */
.wg-cover,
.wg-thumb{
  overflow:hidden;
}
.wg-cover img,
.wg-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.wg-cover{
  background:#171d2b;
}
.wg-thumb{
  background:#d9dde3;
}

/* Zachowujemy „monetę” 1:1, ale obcinamy białe narożniki PNG.
   Dzięki temu dookoła monety widać aktualny jasny/ciemny motyw strony. */
.wg-review-badge-image,
.wg-review-card-badgeimg{
  border-radius:50%;
}
.wg-review-badge-box{
  overflow:visible;
}

/* Czytelniejsza data aktualizacji artykułu. */
.wg-updated{
  color:var(--wg-muted);
}
.wg-meta time{
  white-space:nowrap;
}

/* Opcjonalny przycisk Google Preferred Sources. */
.wg-google-source{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:6px;
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:8px;
  color:#fff!important;
  font-size:12px;
  font-weight:800;
  line-height:1.2;
}
.wg-google-source:hover{
  border-color:rgba(255,255,255,.42);
  background:rgba(255,255,255,.06);
}

/* Obraz wyróżniający ma zawsze znane pole i nie powoduje skoków layoutu. */
.wg-featured-image{
  display:block;
  max-width:100%;
  height:auto;
}

/* Focus dla klawiatury — również element jakości strony. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible{
  outline:3px solid var(--wg-red);
  outline-offset:3px;
}


/* =========================================================
   v0.8.3 — nowe logo + graficzna skala ocen 8.5–10
   ========================================================= */

/* Logo główne */
.wg-brand{
  flex:0 0 auto;
}
.wg-brand-logo{
  display:block;
  width:58px;
  height:58px;
  object-fit:cover;
  border-radius:50%;
}
.wg-brand-mark,
.wg-brand-text{
  display:none!important;
}

/* Badge recenzji — ocena jest już częścią grafiki, bez dodatkowej cyfry CSS. */
.wg-review-badge-box{
  width:min(225px,100%);
}
.wg-review-badge-image{
  width:100%;
  height:auto;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:50%;
  display:block;
  filter:drop-shadow(0 12px 28px rgba(0,0,0,.16));
}
.wg-review-score-chip{
  display:none!important;
}

/* Mini-badge na karcie recenzji */
.wg-review-card-badgeimg{
  width:76px;
  height:76px;
  border-radius:50%;
  object-fit:cover;
}
.wg-review-card-score{
  display:none!important;
}

/* Legacy: ocena niższa niż 8.5 pozostaje jako prosty numer,
   żeby stare wpisy nie traciły informacji. */
.wg-review-score.is-legacy{
  width:118px;
  height:118px;
  border-width:6px;
}
.wg-review-score.is-legacy strong{
  font-size:34px;
}

@media(max-width:900px){
  .wg-brand-logo{
    width:46px;
    height:46px;
  }
}
@media(max-width:380px){
  .wg-brand-logo{
    width:40px;
    height:40px;
  }
  .wg-review-card-badgeimg{
    width:62px;
    height:62px;
  }
}


/* =========================================================
   v0.8.4 — ostrzejsze miniatury + napis przy logo
   ========================================================= */

/* Logo jak w pierwotnej makiecie: sygnet + normalny zapis Wujek Gadżet. */
.wg-brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:max-content;
}
.wg-brand-name{
  display:flex;
  align-items:baseline;
  gap:5px;
  color:#fff;
  font-size:20px;
  line-height:1;
  letter-spacing:-.035em;
  white-space:nowrap;
}
.wg-brand-name strong{
  font-weight:900;
}
.wg-brand-name span{
  color:var(--wg-red);
  font-weight:900;
}

/* Karty: bez dodatkowego filtrowania/skalowania przez przeglądarkę. */
.wg-card-image,
.wg-home-hero-image{
  image-rendering:auto;
  backface-visibility:hidden;
  transform:translateZ(0);
}

/* Obrazki recenzji mogą korzystać z większego źródła, ale nadal są kadrowane 16:9. */
.wg-review-card .wg-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

@media(max-width:900px){
  .wg-brand{
    gap:8px;
  }
  .wg-brand-name{
    font-size:17px;
  }
}
@media(max-width:430px){
  .wg-brand-name{
    font-size:15px;
    gap:4px;
  }
}
@media(max-width:350px){
  .wg-brand-name{
    display:none;
  }
}


/* v0.8.5 — ostrzejsze obrazy w kartach „Podobne materiały”.
   Karty są wysokie i używają object-fit:cover, więc przeglądarka musi
   pobrać obraz większy niż sama szerokość kafelka, aby nie skalować
   małej miniatury po pionie. */
.wg-related-card .wg-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}


/* =========================================================
   v0.8.7 — stabilne proporcje miniaturek
   ========================================================= */

/*
 * Po przejściu z background-image na prawdziwe <img> element .wg-thumb
 * nadal był inline <span>. Przez to aspect-ratio nie zawsze nadawał
 * wysokość kontenerowi i obraz potrafił rozciągać kartę w pionie.
 */
.wg-thumb{
  display:block;
  position:relative;
  overflow:hidden;
  min-width:0;
}

/* Wszystkie obrazki w kafelkach wypełniają ustalony kontener,
   ale nie zmieniają jego proporcji. */
.wg-thumb > img{
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover;
  object-position:center;
}

/* Recenzje i podobne materiały mają spójny, szeroki kadr. */
.wg-review-card .wg-thumb{
  aspect-ratio:16/9;
}
.wg-related-card .wg-thumb{
  aspect-ratio:16/10;
}

/* Małe kafelki newsów zachowują wcześniejsze proporcje. */
.wg-side-card .wg-thumb,
.wg-feed-row .wg-thumb{
  aspect-ratio:16/10;
}


/* =========================================================
   v0.8.9 — Polityka prywatności
   ========================================================= */
.wg-privacy-note{
  margin:20px 0;
  padding:14px 16px;
  border:1px solid var(--wg-line);
  border-radius:10px;
  background:var(--wg-card);
  color:var(--wg-muted);
  font-size:14px;
}
.wg-privacy-list{
  padding-left:22px;
}
.wg-privacy-list li{
  margin:.45em 0;
}


/* =========================================================
   v0.8.14 — rozsądny rozmiar zdjęcia wyróżniającego w artykule
   ========================================================= */

/*
 * Kwadratowe i pionowe zdjęcia wyróżniające nie powinny zajmować
 * całego ekranu na desktopie. Obraz zachowuje proporcje i nie jest
 * rozciągany; duże zdjęcia są tylko zmniejszane.
 */
.wg-article-image{
  display:flex;
  justify-content:center;
  align-items:center;
}
.wg-article-image .wg-featured-image{
  width:auto!important;
  max-width:100%!important;
  max-height:min(72vh, 720px);
  height:auto!important;
  object-fit:contain;
}

@media(max-width:767px){
  .wg-article-image .wg-featured-image{
    max-height:none;
  }
}


/* =========================================================
   v0.8.15 — duże obrazy WEWNĄTRZ artykułów
   =========================================================
   Duże / pionowe grafiki są zmniejszane do rozsądnej wysokości.
   Małych obrazów nie powiększamy — zachowują naturalny rozmiar.
*/
.wg-article-body img{
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:min(72vh, 760px);
  object-fit:contain;
}

/* Wyśrodkowanie typowych obrazów wklejonych przez stary edytor. */
.wg-article-body p > img.aligncenter,
.wg-article-body p > a > img.aligncenter,
.wg-article-body > img.aligncenter,
.wg-article-body > a > img.aligncenter{
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Miniatury prawdziwych galerii nie wymagają limitu wysokości artykułu. */
.wg-article-body .foogallery img,
.wg-article-body .foogallery-container img,
.wg-article-body .fg-gallery img,
.wg-article-body .gallery img{
  max-height:none;
}

@media(max-width:767px){
  .wg-article-body img{
    max-height:82vh;
  }
}


/* =========================================================
   v0.8.16
   - mniejsze wysokie obrazki w treści
   - listy newsów bez dat
   ========================================================= */

/* Wysokie grafiki typu 539x700 nie zajmują już prawie całego ekranu.
   Małych obrazków nadal NIE powiększamy. */
.wg-article-body img{
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:520px!important;
  object-fit:contain;
}

/* Galerie rządzą się własnymi zasadami. */
.wg-article-body .foogallery img,
.wg-article-body .foogallery-container img,
.wg-article-body .fg-gallery img,
.wg-article-body .gallery img{
  max-height:none!important;
}

/* Po usunięciu dat lista ma już tylko miniaturę + tytuł. */
.wg-feed-row{
  grid-template-columns:116px minmax(0,1fr);
}
@media(max-width:700px){
  .wg-feed-row{
    grid-template-columns:84px minmax(0,1fr);
  }
}
