/*
Theme Name: RobotGuru
Template: kadence
Author: IPFortify
Description: Kadence child theme for RobotGuru. Editorial light look built from the approved mockup - uniform warm green-tinted background, deep-teal crisp buttons, honey-gold winner accent, deep-forest bands + footer, self-hosted Schibsted Grotesk (display) + Hanken Grotesk (body), "RG" lettermark, monoline illustrations. Includes the front-page component system (.rg-*).
Version: 2.6
*/

/* ======================================================================
   0. Self-hosted fonts (GDPR-safe, no external requests)
   ====================================================================== */
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/hanken-400.woff2) format("woff2");}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/hanken-500.woff2) format("woff2");}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/hanken-700.woff2) format("woff2");}
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/schibsted-600.woff2) format("woff2");}
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/schibsted-700.woff2) format("woff2");}
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:800;font-display:swap;src:url(fonts/schibsted-800.woff2) format("woff2");}

/* ======================================================================
   1. Palette (Kadence global vars + RobotGuru tokens)
   ====================================================================== */
:root,:root body,body{
  --global-palette1:#0E7C66; --global-palette2:#0A5F4E; --global-palette3:#14201B;
  --global-palette4:#22302B; --global-palette5:#586A61; --global-palette6:#E1E9E4;
  --global-palette7:#EAF1ED; --global-palette8:#F4F7F5; --global-palette9:#FFFFFF;
  --global-palette-highlight:#0E7C66; --global-palette-highlight-alt:#0A5F4E;

  --rg-accent:#0E7C66; --rg-accent-strong:#0A5F4E; --rg-forest:#102A22;
  --rg-gold:#9A6B1E; --rg-gold-soft:#F4EDDB;
  --rg-ink:#14201B; --rg-muted:#586A61; --rg-border:#E1E9E4; --rg-panel:#EAF1ED; --rg-page:#F4F7F5;
  --rg-font-display:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --rg-font-body:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}

/* ======================================================================
   2. ONE uniform background - no article "cards"
   ====================================================================== */
html,body,.site,.content-area,.content-bg,.entry-content-wrap,.single-content,
.wp-site-blocks,.hero-section .content-bg,#masthead,.site-header,.site-header-row,
body.wp-singular .content-bg.entry-content-wrap{background-color:var(--rg-page);}
.content-bg,.entry-content-wrap,.single-content,.content-wrap,#inner-wrap,
.content-container.site-container,article.content-bg,.content-container .content-bg{
  background-color:var(--rg-page) !important;box-shadow:none !important;border:0 !important;border-radius:0 !important;}
.content-container,.content-area,#primary,#main,.site-main,article.entry,.entry-content{
  background-color:var(--rg-page) !important;}
.site-header{border-bottom:1px solid var(--rg-border);}
.home .entry-header,.home .entry-header-wrap,.home .entry-hero-container-inner{display:none !important;}
.home .entry-content-wrap{padding-top:0 !important;}

/* ======================================================================
   3. Typography
   ====================================================================== */
body{font-family:var(--rg-font-body);color:var(--rg-ink);font-size:17px;line-height:1.7;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
h1,h2,h3,h4,h5,h6,.entry-title,.site-title,.wp-block-heading{
  font-family:var(--rg-font-display);font-weight:700;color:var(--rg-ink);letter-spacing:-0.02em;line-height:1.15;}
h1,.entry-title{font-weight:800;letter-spacing:-0.03em;text-wrap:balance;}

/* Interior content: one aligned, readable column so text + tables share width */
body:not(.home) .single-content{max-width:860px;margin-inline:auto;}
body:not(.home) .entry-content h2{margin-top:2em;}
body:not(.home) .entry-content h3{margin-top:1.5em;}
.entry-content li{margin-block:.3em;}

/* ======================================================================
   4. Links
   ====================================================================== */
a{color:var(--rg-accent-strong);text-underline-offset:2px;text-decoration-thickness:1px;}
a:hover{color:var(--rg-accent);}
.entry-content a{text-decoration-color:var(--rg-border);}
.entry-content a:hover{text-decoration-color:currentColor;}

/* ======================================================================
   5. Header nav + "RG" lettermark
   ====================================================================== */
.header-navigation .menu > li > a,.header-navigation .menu a{
  color:var(--rg-muted);font-family:var(--rg-font-body);font-weight:500;}
.header-navigation .menu > li > a:hover{color:var(--rg-ink);}
.site-header .custom-logo,.brand.has-logo-image .custom-logo{display:none !important;}
.site-title{font-size:0 !important;letter-spacing:0;line-height:1;margin:0;}
.site-title::before,.site-title::after{font-family:var(--rg-font-display);font-weight:800;font-size:1.7rem;letter-spacing:-0.02em;}
.site-title::before{content:"R";color:var(--rg-ink);}
.site-title::after{content:"G";color:var(--rg-accent);}
.brand:hover .site-title::before,.brand:hover .site-title::after{opacity:.82;}

/* ======================================================================
   6. Buttons (interior pages / core blocks) - deep teal, crisp
   ====================================================================== */
.wp-block-button__link,.button,button:not(.menu-toggle):not(.search-toggle-open),
input[type="submit"],.kb-button,.kt-btn{
  background-color:var(--rg-accent-strong);border-color:var(--rg-accent-strong);color:#fff;
  border-radius:4px;font-family:var(--rg-font-body);font-weight:600;}
.wp-block-button__link:hover,.button:hover,input[type="submit"]:hover,.kb-button:hover,.kt-btn:hover{
  background-color:var(--rg-accent);border-color:var(--rg-accent);color:#fff;}
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent;color:var(--rg-accent-strong);border-color:var(--rg-border);}
.wp-block-button.is-style-outline .wp-block-button__link:hover{
  background:var(--rg-panel);color:var(--rg-accent-strong);border-color:var(--rg-accent);}

/* ======================================================================
   7. Footer - deep forest
   ====================================================================== */
.site-footer{background-color:var(--rg-forest);color:#B8CBC2;}
.site-footer p,.site-footer .footer-html,.site-footer .site-footer-row-container-inner{color:#B8CBC2;}
.site-footer a{color:#DCE8E1;text-decoration-color:rgba(220,232,225,.35);}
.site-footer a:hover{color:#FFFFFF;text-decoration-color:currentColor;}
.footer-html{line-height:2;font-size:14.5px;}

/* ======================================================================
   8. Tables (interior + comparison) - crisp hairlines
   ====================================================================== */
table{border-collapse:collapse;width:100%;font-size:.95rem;}
table th{background:var(--rg-panel);text-transform:uppercase;font-size:.72rem;letter-spacing:.06em;
  font-weight:700;color:var(--rg-muted);text-align:left;}
table th,table td{padding:12px 14px;border-top:1px solid var(--rg-border);}
table tbody tr:hover{background:#F0F5F2;}
.wp-block-table figcaption{color:var(--rg-muted);font-size:.85rem;}

/* ======================================================================
   9. FRONT-PAGE COMPONENT SYSTEM (.rg-*) - ported from the approved mockup
   ====================================================================== */
.rg-page p,.rg-page li{max-width:none;}
.rg-page h1,.rg-page h2,.rg-page h3{margin:0;}
.rg-wrap{max-width:1120px;margin:0 auto;padding:0 24px;}

.rg-hero{padding:64px 0 52px;}
.rg-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;}
.rg-hero h1{font-size:clamp(2.5rem,4.6vw,3.5rem);letter-spacing:-.03em;line-height:1.06;margin-top:14px;}
.rg-hero .lead{font-size:19px;color:var(--rg-muted);margin:18px 0 26px;max-width:34em;line-height:1.6;}
.rg-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.rg-hero-art{background:linear-gradient(160deg,#EEF4F1,#E3EDE7);border:1px solid var(--rg-border);
  border-radius:14px;padding:26px;box-shadow:0 1px 2px rgba(16,42,34,.04),0 30px 60px -30px rgba(16,42,34,.16);}
.rg-hero-art img{display:block;width:100%;height:auto;}

.rg-btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--rg-font-body);font-weight:600;
  font-size:15px;padding:14px 24px;border-radius:4px;background:var(--rg-accent-strong);color:#fff;
  border:1px solid var(--rg-accent-strong);transition:.18s;text-decoration:none;}
.rg-btn:hover{background:var(--rg-accent);border-color:var(--rg-accent);color:#fff;}
.rg-btn .rg-arw{transition:transform .18s;}
.rg-btn:hover .rg-arw{transform:translateX(3px);}
.rg-btn.link{background:none;border:none;color:var(--rg-accent-strong);padding:14px 2px;}
.rg-btn.link:hover{background:none;color:var(--rg-ink);}

.rg-values{display:grid;grid-template-columns:repeat(3,1fr);margin-top:8px;border-top:1px solid var(--rg-border);}
.rg-values > div{padding:22px 28px 2px;border-left:1px solid var(--rg-border);}
.rg-values > div:first-child{border-left:none;padding-left:0;}
.rg-values h3{font-size:15.5px;display:flex;align-items:center;gap:9px;}
.rg-values h3::before{content:"";width:16px;height:2px;background:var(--rg-accent);border-radius:2px;}
.rg-values p{margin:8px 0 0;font-size:14.5px;color:var(--rg-muted);line-height:1.55;}

.rg-sec{padding:52px 0;}
.rg-head{max-width:40em;margin-bottom:30px;}
.rg-head h2{font-weight:800;font-size:clamp(1.8rem,3vw,2.1rem);}
.rg-head p{color:var(--rg-muted);margin:12px 0 0;}

.rg-cats{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.rg-card{background:#fff;border:1px solid var(--rg-border);border-radius:12px;overflow:hidden;
  box-shadow:0 1px 2px rgba(16,42,34,.04),0 24px 50px -30px rgba(16,42,34,.14);transition:.2s;}
.rg-card:hover{transform:translateY(-3px);box-shadow:0 1px 2px rgba(16,42,34,.05),0 30px 60px -28px rgba(16,42,34,.2);}
.rg-art{height:210px;background:#fff;display:flex;align-items:center;justify-content:center;
  border-bottom:1px solid var(--rg-border);padding:18px;}
/* Rotating product-image carousel (CSS crossfade, no JS) */
.rg-carousel{position:relative;width:100%;height:100%;}
.rg-carousel img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;
  animation:rg-fade 12s infinite;}
.rg-carousel img:nth-child(2){animation-delay:4s;}
.rg-carousel img:nth-child(3){animation-delay:8s;}
@keyframes rg-fade{0%{opacity:0}5%{opacity:1}30%{opacity:1}35%{opacity:0}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){
  .rg-carousel img{animation:none;opacity:0;}
  .rg-carousel img:first-child{opacity:1;}
}
.rg-card-body{padding:24px 26px 26px;}
.rg-card-body h3{font-size:21px;}
.rg-card-body p{color:var(--rg-muted);margin:10px 0 16px;font-size:15.5px;}
.rg-tag{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--rg-gold);}
.rg-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--rg-gold);}

.rg-method{background:var(--rg-forest);color:#DCE8E1;border-radius:14px;padding:52px;
  display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;}
.rg-method h2{color:#fff;font-size:clamp(1.8rem,3vw,2.1rem);font-weight:800;}
.rg-method .rg-kicker{color:#8FB3A6;}
.rg-method p{margin:14px 0 22px;color:#B8CBC2;max-width:34em;}
.rg-crit{display:grid;gap:10px;}
.rg-crit .row{display:flex;justify-content:space-between;align-items:center;padding:11px 16px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:6px;font-size:14.5px;}
.rg-crit .row b{color:#fff;font-weight:600;}
.rg-crit .row span{color:#8FB3A6;font-variant-numeric:tabular-nums;}

.rg-rev{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.rg-r{background:#fff;border:1px solid var(--rg-border);border-radius:10px;padding:20px;
  box-shadow:0 1px 2px rgba(16,42,34,.04);}
.rg-ph{height:96px;border-radius:6px;background:linear-gradient(160deg,#EEF4F1,#E3EDE7);margin-bottom:14px;}
.rg-r h3{font-size:16px;margin-top:6px;}
.rg-r .k{font-size:12px;color:var(--rg-muted);margin-top:6px;}
/* .rg-r as a link (dynamic latest-reviews shortcode) + real product thumbnails */
.rg-rev a.rg-r{display:block;text-decoration:none;color:inherit;transition:transform .18s,box-shadow .18s;}
.rg-rev a.rg-r:hover{transform:translateY(-3px);box-shadow:0 1px 2px rgba(16,42,34,.05),0 24px 44px -28px rgba(16,42,34,.2);}
.rg-r .rg-ph{overflow:hidden;display:flex;align-items:center;justify-content:center;}
.rg-r .rg-ph:not(:empty){background:#fff;}
.rg-r .rg-ph img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply;}

@media(max-width:820px){
  .rg-hero-grid,.rg-method{grid-template-columns:1fr;gap:32px;}
  .rg-values,.rg-cats,.rg-rev{grid-template-columns:1fr;}
  .rg-values > div{border-left:none;padding-left:0;border-top:1px solid var(--rg-border);}
  .rg-values > div:first-child{border-top:none;}
  .rg-method{padding:36px 28px;}
}

/* ======================================================================
   10. Kicker + winner badge + quote
   ====================================================================== */
.rg-kicker{display:block;font-family:var(--rg-font-body);font-size:.78rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--rg-accent-strong);margin-bottom:.4em;}
.rg-award{display:inline-block;background:var(--rg-gold-soft);color:var(--rg-gold);border-radius:999px;
  padding:4px 12px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
blockquote{border-left:3px solid var(--rg-accent);margin-left:0;padding-left:18px;color:var(--rg-muted);font-style:normal;}

/* ======================================================================
   11. HUB / best-of component system (.rg-hub) - ported from approved hub mock v2
   Editorial layout: hairlines + whitespace, no card stack, no gauges.
   ====================================================================== */
.rg-hub{--faint:#8A9990;max-width:860px;margin:0 auto;font-size:18px;line-height:1.65;}
.rg-hub p{margin:0 0 1.05em;}
.rg-hub .crumb{font-size:.8rem;color:var(--faint);margin-bottom:20px;}
.rg-hub .crumb a{color:var(--faint);text-decoration:none;}
.rg-hub h1{font-size:clamp(2.1rem,5vw,2.75rem);font-weight:800;letter-spacing:-.025em;line-height:1.12;margin:.1em 0 .25em;}
.rg-hub .dek{font-family:var(--rg-font-display);font-weight:600;font-size:1.22rem;line-height:1.5;color:var(--rg-muted);margin:.1em 0 1.1em;}
.rg-hub .byline{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:.84rem;color:var(--faint);padding-bottom:22px;border-bottom:1px solid var(--rg-border);margin-bottom:30px;}
.rg-hub .byline b{color:var(--rg-ink);font-weight:600;}
.rg-hub .byline .dot{color:var(--rg-border);}
.rg-hub .lead{font-size:1.12rem;}
.rg-hub section{margin-top:44px;}
.rg-hub h2{font-weight:800;font-size:1.5rem;letter-spacing:-.015em;margin:0 0 .5em;}

.rg-hub .verdict{background:var(--rg-panel);border:1px solid var(--rg-border);border-radius:6px;padding:22px 24px;display:flex;gap:22px;align-items:center;margin:6px 0 10px;}
.rg-hub .verdict .shot{flex:0 0 128px;}
.rg-hub .verdict .shot img{width:128px;height:128px;object-fit:contain;mix-blend-mode:multiply;}
.rg-hub .verdict .b{min-width:0;}
.rg-hub .verdict .lab{color:var(--rg-gold);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;}
.rg-hub .verdict h2{margin:.15em 0 .35em;font-size:1.55rem;}
.rg-hub .verdict p{margin:0 0 .9em;}
.rg-hub .stat{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:baseline;margin-bottom:14px;font-size:.9rem;}
.rg-hub .stat .sc{font-family:var(--rg-font-display);font-weight:800;font-size:1.15rem;}
.rg-hub .stat .rate{color:var(--rg-muted);}
.rg-hub .stat .rate b{color:var(--rg-gold);}
.rg-hub .stat .pr{color:var(--rg-muted);}
.rg-hub .cta-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.rg-hub .link{color:var(--rg-accent-strong);font-weight:600;font-size:.9rem;text-decoration:none;border-bottom:1px solid currentColor;}
.rg-hub .prov{font-size:.78rem;color:var(--faint);margin:8px 0 0;}
.rg-hub .rg-btn.sm{padding:8px 14px;font-size:13px;}

.rg-hub .cmpwrap{overflow-x:auto;}
.rg-hub table.cmp{border-collapse:collapse;width:100%;min-width:560px;font-size:.92rem;margin:.4em 0 0;}
.rg-hub .cmp th{text-align:left;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-weight:700;padding:0 12px 10px;border-top:0;border-bottom:1px solid var(--rg-ink);background:none;}
.rg-hub .cmp td{padding:13px 12px;border-top:0;border-bottom:1px solid var(--rg-border);vertical-align:middle;}
.rg-hub .cmp .m{display:flex;align-items:center;gap:11px;}
.rg-hub .cmp .th{width:40px;height:40px;object-fit:contain;flex:0 0 40px;mix-blend-mode:multiply;}
.rg-hub .cmp .ph{width:40px;height:40px;flex:0 0 40px;background:var(--rg-panel);border-radius:4px;display:grid;place-items:center;font-family:var(--rg-font-display);font-weight:800;color:var(--faint);font-size:.78rem;}
.rg-hub .cmp .nm{font-weight:700;}
.rg-hub .cmp .nm small{display:block;font-weight:400;color:var(--rg-muted);font-size:.76rem;}
.rg-hub .cmp .tag{color:var(--rg-gold);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;}
.rg-hub .cmp .pr{font-weight:700;white-space:nowrap;}
.rg-hub .cmp .sc{font-family:var(--rg-font-display);font-weight:800;}
.rg-hub .disclosure{font-size:.82rem;color:var(--rg-muted);border-left:2px solid var(--rg-accent);padding-left:14px;margin-top:18px;}

.rg-hub .pick{display:flex;gap:22px;padding:28px 0;border-top:1px solid var(--rg-border);}
.rg-hub .pick:first-of-type{border-top:0;}
.rg-hub .pick .shot{flex:0 0 130px;}
.rg-hub .pick .shot img{width:130px;height:130px;object-fit:contain;mix-blend-mode:multiply;}
.rg-hub .pick .b{min-width:0;}
.rg-hub .pick .rk{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-weight:700;}
.rg-hub .pick h3{font-size:1.2rem;font-weight:700;margin:.15em 0 .3em;}
.rg-hub .pick .statline{font-size:.86rem;color:var(--rg-muted);margin:.1em 0 .7em;}
.rg-hub .pick .statline b{color:var(--rg-ink);font-family:var(--rg-font-display);}
.rg-hub .pc{display:flex;flex-wrap:wrap;gap:4px 26px;font-size:.88rem;margin:.4em 0 1em;}
.rg-hub .pc ul{margin:0;padding:0;list-style:none;}
.rg-hub .pc .plus li::before{content:"+ ";color:var(--rg-accent);font-weight:800;}
.rg-hub .pc .minus li::before{content:"\2013 ";color:var(--rg-gold);font-weight:800;}
.rg-hub .pick .foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.rg-hub .pick .foot .pr{font-family:var(--rg-font-display);font-weight:800;font-size:1.05rem;}

.rg-hub details{border-bottom:1px solid var(--rg-border);}
.rg-hub details:first-of-type{border-top:1px solid var(--rg-border);}
.rg-hub summary{cursor:pointer;font-weight:700;padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:12px;font-family:var(--rg-font-display);}
.rg-hub summary::-webkit-details-marker{display:none;}
.rg-hub summary::after{content:"+";color:var(--rg-accent);font-weight:700;}
.rg-hub details[open] summary::after{content:"\2013";}
.rg-hub details .ans{padding:0 0 16px;color:var(--rg-muted);}
.rg-hub .method{border-top:1px solid var(--rg-border);padding-top:22px;}
.rg-hub .author{display:flex;gap:13px;align-items:center;margin-top:12px;}
.rg-hub .avatar{width:44px;height:44px;border-radius:50%;background:var(--rg-accent);color:#fff;display:grid;place-items:center;font-family:var(--rg-font-display);font-weight:800;font-size:1.15rem;flex:0 0 auto;}
.rg-hub .rel{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:14px;font-size:.9rem;}
.rg-hub .rel a{color:var(--rg-accent-strong);text-decoration:none;border-bottom:1px solid var(--rg-panel);}

@media(max-width:560px){
  .rg-hub .verdict{flex-direction:column;align-items:flex-start;}
  .rg-hub .pick{flex-direction:column;gap:14px;}
  .rg-hub .pick .shot img,.rg-hub .verdict .shot img{width:104px;height:104px;}
  .rg-hub .pc{flex-direction:column;gap:2px;}
}
