/*
Theme Name: Affinity Studio
Theme URI: https://example.com/
Author: OpenAI
Description: Lightweight, bilingual-ready affiliate magazine theme with color palettes, animated splash screen, product grids and comparison layouts.
Version: 2.4.1
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: affinity-studio
*/
:root{--bg:#fffdf8;--surface:#ffffff;--text:#202820;--muted:#687568;--line:#e3e9df;--primary:#287447;--primary-strong:#1d5c36;--accent:#a9c8a9;--soft:#f0f6ed;--shadow:0 14px 40px rgba(30,35,50,.08);--radius:20px;--max:1180px}
html[data-palette="warm"]{--bg:#fffdf8;--surface:#ffffff;--text:#202820;--muted:#687568;--line:#e3e9df;--primary:#287447;--primary-strong:#1d5c36;--accent:#a9c8a9;--soft:#f0f6ed}
html[data-palette="light"]{--bg:#fffdf8;--surface:#fff;--text:#202820;--muted:#687568;--line:#e3e9df;--primary:#287447;--primary-strong:#1d5c36;--accent:#a9c8a9;--soft:#f0f6ed}
html[data-palette="midnight"]{--bg:#111827;--surface:#1b2535;--text:#f3f5fa;--muted:#b1bdce;--line:#344155;--primary:#a5b4fc;--primary-strong:#c7d2fe;--accent:#f6c76a;--soft:#222e41;--shadow:0 14px 40px rgba(0,0,0,.25)}
html[data-palette="ocean"]{--bg:#f0f9ff;--surface:#fff;--text:#123044;--muted:#527080;--line:#d7e9f1;--primary:#087e9b;--primary-strong:#075d74;--accent:#ef9f58;--soft:#e1f4f9}
html[data-palette="forest"]{--bg:#f4f8f1;--surface:#fff;--text:#213327;--muted:#66766a;--line:#dce7d8;--primary:#347653;--primary-strong:#24563b;--accent:#c48b39;--soft:#eaf2e5}
html[data-palette="rose"]{--bg:#fff6f8;--surface:#fff;--text:#38242d;--muted:#856a76;--line:#f0dfe6;--primary:#b64273;--primary-strong:#96305a;--accent:#d6a64b;--soft:#fae9ef}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;font-size:16px}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-strong)}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit}.container{width:min(var(--max),calc(100% - 36px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;gap:24px;min-height:76px}.brand{display:flex;align-items:center;gap:10px;font-weight:850;font-size:1.25rem;color:var(--text);letter-spacing:-.04em;white-space:nowrap}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--accent));color:white;font-weight:900}.main-nav{display:flex;gap:20px;align-items:center;margin-left:auto}.main-nav a{color:var(--text);font-size:.92rem;font-weight:650}.header-actions{display:flex;align-items:center;gap:9px}.palette-select,.lang-select{border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);padding:8px 10px;max-width:130px}.menu-toggle{display:none;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:12px;padding:9px}.hero{padding:68px 0 44px}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--primary);font-weight:750;font-size:.82rem}.hero h1{font-size:clamp(2.5rem,5vw,4.8rem);line-height:1.05;letter-spacing:-.065em;margin:18px 0}.gradient-text{background:linear-gradient(100deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{font-size:1.1rem;color:var(--muted);max-width:650px}.button,.wp-block-button__link,.submit-button{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:0;border-radius:13px;padding:12px 18px;background:var(--primary);color:white;font-weight:750;cursor:pointer;transition:transform .2s,background .2s}.button:hover,.submit-button:hover{background:var(--primary-strong);color:white;transform:translateY(-2px)}.button.secondary{background:var(--surface);border:1px solid var(--line);color:var(--text)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.hero-art{border:1px solid var(--line);border-radius:28px;background:radial-gradient(circle at 80% 10%,color-mix(in srgb,var(--accent) 30%,transparent),transparent 35%),linear-gradient(145deg,var(--surface),var(--soft));padding:22px;box-shadow:var(--shadow);min-height:350px;position:relative;overflow:hidden}.art-window{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:18px;position:relative;z-index:1}.art-dots{display:flex;gap:6px;margin-bottom:18px}.art-dots i{width:8px;height:8px;border-radius:50%;background:var(--line)}.art-search{border:1px solid var(--line);border-radius:12px;padding:12px;color:var(--muted);font-size:.9rem}.art-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.art-card{border:1px solid var(--line);background:var(--bg);border-radius:14px;padding:14px}.art-icon{width:38px;height:38px;border-radius:12px;background:var(--soft);display:grid;place-items:center;font-size:1.2rem;margin-bottom:12px}.art-card strong{display:block;font-size:.9rem}.art-card small{color:var(--muted)}.float-pill{position:absolute;bottom:22px;right:20px;border-radius:14px;padding:12px 16px;background:var(--primary);color:white;box-shadow:var(--shadow);font-size:.85rem;font-weight:800;z-index:2}.trust-strip{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px;color:var(--muted);font-size:.88rem}.trust-strip span{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 10px}.section{padding:42px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.section-head h2{margin:0;font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.05em;line-height:1.2}.section-head p{margin:8px 0 0;color:var(--muted)}.section-link{font-weight:750;white-space:nowrap}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.category-card,.product-card,.content-card,.feature-card{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);overflow:hidden;transition:transform .22s,box-shadow .22s,border-color .22s}.category-card{padding:22px;display:block;color:var(--text)}.category-card:hover,.product-card:hover,.content-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--primary) 35%,var(--line));color:var(--text)}.category-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:var(--soft);font-size:1.45rem;margin-bottom:14px}.category-card h3{margin:0 0 5px;font-size:1.05rem}.category-card p{margin:0;color:var(--muted);font-size:.88rem}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-card{padding:16px;display:flex;flex-direction:column}.product-thumb{aspect-ratio:16/10;background:var(--soft);border-radius:14px;display:grid;place-items:center;overflow:hidden;margin-bottom:15px}.product-thumb img{width:100%;height:100%;object-fit:cover}.product-thumb .placeholder{font-size:2.3rem}.product-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.8rem}.pill{display:inline-flex;border-radius:999px;padding:4px 9px;background:var(--soft);color:var(--primary);font-weight:750;font-size:.75rem}.product-card h3{margin:9px 0 7px;font-size:1.12rem;line-height:1.35}.product-card p{color:var(--muted);font-size:.91rem;margin:0 0 14px}.product-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:12px}.price{font-size:1.1rem;font-weight:850}.small-button{display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;border-radius:11px;background:var(--primary);color:#fff;font-weight:750;font-size:.84rem}.small-button:hover{color:white;background:var(--primary-strong)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card{padding:22px}.feature-card h3{margin:12px 0 6px}.feature-card p{margin:0;color:var(--muted);font-size:.92rem}.feature-icon{font-size:1.5rem;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--soft)}.newsletter{padding:34px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(120deg,var(--surface),var(--soft));display:flex;align-items:center;justify-content:space-between;gap:24px}.newsletter h2{margin:0 0 8px;letter-spacing:-.04em}.newsletter p{margin:0;color:var(--muted)}.site-footer{margin-top:50px;padding:42px 0 24px;border-top:1px solid var(--line);background:var(--surface)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}.footer-grid h3{font-size:.95rem;margin:0 0 12px}.footer-grid p,.footer-grid a{font-size:.88rem;color:var(--muted)}.footer-links{display:grid;gap:8px}.footer-bottom{border-top:1px solid var(--line);margin-top:30px;padding-top:18px;color:var(--muted);font-size:.82rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-hero{padding:48px 0 22px}.page-hero h1{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.06em;line-height:1.12;margin:0 0 12px}.page-hero p{color:var(--muted);max-width:760px}.breadcrumbs{font-size:.84rem;color:var(--muted);margin-bottom:16px}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:34px}.entry-content{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,4vw,42px);min-width:0}.entry-content h2,.entry-content h3{letter-spacing:-.03em;line-height:1.25}.entry-content p,.entry-content li{color:color-mix(in srgb,var(--text) 88%,var(--muted))}.entry-content table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}.entry-content th,.entry-content td{border:1px solid var(--line);padding:11px;text-align:left}.entry-content th{background:var(--soft)}.sidebar-box{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:20px;margin-bottom:16px}.sidebar-box h3{margin-top:0}.affiliate-disclosure{border-left:4px solid var(--accent);background:var(--soft);padding:14px 16px;border-radius:0 12px 12px 0;font-size:.88rem;margin:18px 0}.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pros-cons>div{border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--surface);box-shadow:0 4px 16px rgba(15,23,42,.04)}.pros-cons>div:first-child{border-top:3px solid #16803d}.pros-cons>div:last-child{border-top:3px solid #b42318}.pros-cons h3{margin-top:0}.pros-cons>div:first-child h3{color:#16803d}.pros-cons>div:last-child h3{color:#b42318}.pros-cons p{margin:.5rem 0}.comparison-table{width:100%;border-collapse:collapse;overflow:auto}.comparison-table th,.comparison-table td{padding:13px;border:1px solid var(--line);text-align:left}.comparison-table th{background:var(--soft)}.search-form{display:flex;gap:8px;max-width:560px}.search-form input{min-width:0;flex:1;border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:13px;color:var(--text)}.splash-screen{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:var(--bg);transition:opacity .45s ease,visibility .45s ease}.splash-screen.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.splash-inner{text-align:center;animation:splash-in .65s cubic-bezier(.2,.8,.2,1) both}.splash-logo{width:78px;height:78px;border-radius:26px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--accent));color:white;font-size:2rem;font-weight:900;margin:0 auto 18px;box-shadow:0 14px 40px color-mix(in srgb,var(--primary) 24%,transparent);animation:logo-float 1.5s ease-in-out infinite alternate}.splash-name{font-size:1.45rem;font-weight:850;letter-spacing:-.04em}.splash-sub{color:var(--muted);font-size:.9rem;margin-top:4px}.splash-progress{height:3px;width:130px;background:var(--line);border-radius:99px;overflow:hidden;margin:20px auto 0}.splash-progress:after{content:"";display:block;height:100%;width:45%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:99px;animation:progress 1.2s ease-in-out infinite}@keyframes splash-in{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes logo-float{to{transform:translateY(-5px) rotate(2deg)}}@keyframes progress{from{transform:translateX(-110%)}to{transform:translateX(330%)}}.skip-link{position:absolute;left:-999px;top:8px;background:var(--surface);padding:10px;z-index:100000}.skip-link:focus{left:8px}.pagination{display:flex;gap:8px;margin:28px 0}.pagination .page-numbers{border:1px solid var(--line);padding:9px 13px;border-radius:10px;background:var(--surface)}.pagination .current{background:var(--primary);color:#fff}.no-results{border:1px dashed var(--line);padding:28px;border-radius:var(--radius);color:var(--muted);background:var(--surface)}.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}
@media(max-width:980px){.main-nav{gap:12px}.main-nav a{font-size:.84rem}.header-inner{gap:12px}.hero-grid{gap:22px}.category-grid{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.container{width:min(var(--max),calc(100% - 24px))}.header-inner{min-height:66px}.menu-toggle{display:inline-flex}.main-nav{display:none;position:absolute;top:66px;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--line);padding:16px 20px;flex-direction:column;align-items:stretch}.main-nav.is-open{display:flex}.main-nav a{padding:8px 0;font-size:.96rem}.header-actions{margin-left:auto}.palette-select{max-width:95px}.lang-select{max-width:90px}.hero{padding:38px 0 24px}.hero-grid{grid-template-columns:1fr}.hero-art{min-height:290px}.hero h1{font-size:clamp(2.35rem,12vw,3.4rem)}.section{padding:28px 0}.section-head{align-items:start;flex-direction:column}.category-grid{gap:10px}.category-card{padding:16px}.product-grid,.feature-grid{grid-template-columns:1fr}.product-card{padding:13px}.newsletter{padding:24px;align-items:start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr;gap:22px}.content-layout{grid-template-columns:1fr}.pros-cons{grid-template-columns:1fr}.entry-content{padding:20px}.float-pill{right:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Responsive header and archive-title fixes */
@media(max-width:700px){
 .header-inner{display:flex;flex-wrap:wrap;gap:8px 10px;padding:10px 0;min-height:0}
 .brand{font-size:1.05rem;min-width:0;flex:1 1 auto;overflow:hidden}
 .brand>span:last-child{overflow:hidden;text-overflow:ellipsis}
 .brand-mark{flex:0 0 34px;width:34px;height:34px}
 .menu-toggle{flex:0 0 auto;order:2}
 .header-actions{flex:1 0 100%;width:100%;margin:0;display:flex;justify-content:flex-end;gap:8px;order:3}
 .palette-select,.lang-select{max-width:none;width:auto;min-width:0;flex:1 1 0;padding:8px 7px;font-size:.82rem}
 .main-nav{top:58px;z-index:40;max-height:70vh;overflow-y:auto}
 .page-hero h1{overflow-wrap:anywhere;font-size:clamp(1.8rem,8vw,2.6rem)}
 .product-grid{grid-template-columns:1fr}
}
@media(min-width:701px) and (max-width:980px){
 .header-inner{flex-wrap:wrap;padding:10px 0}
 .brand{margin-right:auto}
 .main-nav{order:3;flex:1 0 100%;justify-content:center;flex-wrap:wrap;margin:0}
 .header-actions{margin-left:auto}
}

/* Full-screen intro behavior controls */
html.affinity-intro-suppressed #affinity-splash{display:none!important}.splash-skip{display:inline-flex;margin-top:22px;border:1px solid var(--line);border-radius:999px;padding:8px 16px;background:var(--surface);color:var(--text);font-weight:700;cursor:pointer}.splash-screen.no-animation .splash-inner,.splash-screen.no-animation .splash-logo{animation:none!important}.splash-screen.zoom-animation .splash-inner{animation:splash-in .45s ease-out both}.splash-screen.zoom-animation .splash-logo{animation:logo-float 1.5s ease-in-out infinite alternate}


/* v2.4.1 homepage hero balance and edge-spacing refinements */
.hero {
  padding: clamp(48px, 6vw, 82px) 0 clamp(36px, 4vw, 56px);
  overflow: clip;
}
.hero .container {
  width: min(1160px, calc(100% - 64px));
  margin-inline: auto;
}
.hero-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: clamp(32px, 4.2vw, 64px);
  align-items: center;
}
.hero-grid > :first-child {
  min-width: 0;
  max-width: 620px;
}
.hero h1 {
  max-width: 12ch;
  font-size: clamp(2.65rem, 4.7vw, 4.45rem);
  line-height: 1.04;
  letter-spacing: -.055em;
  overflow-wrap: normal;
  word-break: normal;
}
.hero p {
  max-width: 54ch;
  line-height: 1.75;
}
.hero-art {
  width: 100%;
  min-width: 0;
  min-height: 360px;
  padding: clamp(18px, 2.2vw, 28px);
  border-radius: 30px;
  box-shadow: 0 24px 70px rgba(20, 50, 35, .10);
}
.art-window {
  width: 100%;
  padding: clamp(15px, 1.8vw, 22px);
}
.art-cards {
  gap: 12px;
}
.art-card {
  min-width: 0;
  padding: 14px;
}
.art-card strong, .art-card small {
  overflow-wrap: anywhere;
}
.float-pill {
  right: clamp(14px, 2vw, 24px);
  bottom: clamp(14px, 2vw, 24px);
  max-width: calc(100% - 28px);
  text-align: center;
  white-space: normal;
}
.trust-strip {
  gap: 8px;
}
.trust-strip span {
  font-size: .82rem;
}
@media (max-width: 980px) {
  .hero .container { width: min(760px, calc(100% - 40px)); }
  .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr); gap: 26px; }
  .hero h1 { font-size: clamp(2.35rem, 5.2vw, 3.7rem); }
  .hero-art { min-height: 330px; }
}
@media (max-width: 700px) {
  .hero { padding: 38px 0 28px; }
  .hero .container { width: calc(100% - 32px); }
  .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .hero-grid > :first-child { max-width: none; }
  .hero h1 { max-width: 13ch; font-size: clamp(2.35rem, 10.5vw, 3.4rem); }
  .hero p { font-size: 1rem; }
  .hero-art { min-height: 0; padding: 16px; border-radius: 22px; }
  .art-window { padding: 14px; }
  .art-cards { gap: 9px; }
  .art-card { padding: 11px; }
  .float-pill { position: relative; right: auto; bottom: auto; display: table; margin: 12px auto 0; }
}
