/*
Theme Name: Hässäkkä! Viraali
Theme URI: https://hässäkkä.fi
Author: Hässäkkä!
Description: Oma, mobiiliystävällinen viraali- ja satiirijulkaisun teema.
Version: 7.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: hassakka
*/
:root{--ink:#111217;--pink:#ff0750;--yellow:#ffe34a;--purple:#d8c4ff;--blue:#ddf7f8;--softpink:#ffe2eb;--max:1250px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.45 system-ui,-apple-system,'Segoe UI',Arial,sans-serif;background:#fff}a{color:inherit;text-decoration:none}a:hover{color:var(--pink)}img{max-width:100%;height:auto}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.site-header{background:#101116;color:white}.topline{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:116px}.brand{display:block;flex-shrink:0}.brand-logo{font-size:clamp(36px,4.6vw,61px);line-height:.9;font-weight:1000;font-style:italic;letter-spacing:-4px;color:#fff;text-shadow:4px 5px 0 var(--pink),-1px -1px 0 var(--pink)}.brand-sub{font-size:12px;letter-spacing:1.4px;font-weight:900;margin-top:12px;color:#fff}.brand-motto{font-size:23px;line-height:1.15;font-weight:750;font-style:italic;transform:rotate(-5deg);max-width:230px}.brand-motto i{display:block;width:90px;height:5px;background:var(--yellow);transform:rotate(-9deg);margin:11px auto 0;border-radius:5px}.header-actions{display:flex;gap:16px;align-items:center}.socials{display:flex;gap:10px}.socials a,.search-toggle,.menu-toggle{display:grid;place-items:center;width:39px;height:39px;border:0;border-radius:50%;background:#24262b;color:#fff;font-weight:800;font-size:18px}.search-toggle,.menu-toggle{cursor:pointer}.menu-toggle{display:none}.search-form{display:none;position:absolute;right:20px;top:100px;background:#fff;padding:12px;z-index:40;box-shadow:0 8px 24px #0003;border-radius:12px}.search-form.is-open{display:flex}.search-form input{padding:12px;border:1px solid #ccc;border-radius:8px}.search-form button{border:0;background:var(--pink);color:#fff;border-radius:8px;padding:0 14px;font-weight:800}.site-nav{background:#fff;border-bottom:1px solid #eee;box-shadow:0 2px 8px #0000000b}.nav-inner{display:flex;align-items:center;gap:0}.nav-inner a{font-weight:950;text-transform:uppercase;font-size:13px;padding:17px 19px;white-space:nowrap}.nav-inner a:first-child{color:var(--pink);padding-left:0}.nav-inner a:hover{color:var(--pink)}.homepage{padding-top:20px}.top-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(300px,.95fr);gap:15px}.hero{position:relative;overflow:hidden;min-height:450px;background:radial-gradient(circle at 65% 30%,#803650,#18141d 55%,#07090c);border-radius:15px;display:flex;align-items:end;color:#fff}.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero:after{content:'';position:absolute;inset:15% 0 0;background:linear-gradient(transparent 8%,rgba(0,0,0,.18) 35%,rgba(0,0,0,.91) 100%)}.hero-content{position:relative;z-index:2;padding:30px 30px 34px;max-width:100%}.hero h1{font-size:clamp(34px,3.9vw,57px);line-height:1.03;letter-spacing:-2.3px;font-weight:1000;margin:14px 0 14px;max-width:720px}.hero p{font-size:18px;line-height:1.32;max-width:670px;margin:0}.tag{display:inline-block;background:var(--pink);color:#fff;font-weight:1000;font-size:14px;line-height:1;padding:9px 12px;border-radius:5px;transform:rotate(-5deg);box-shadow:3px 3px 0 #ffffffa8}.hero .tag{font-size:25px;padding:11px 16px}.top-sidebar{display:flex;flex-direction:column;gap:15px}.breaking{background:#fff;border-radius:15px;overflow:hidden;border:1px solid #f0e6c4;box-shadow:0 3px 0 #1b1b1b}.breaking-head{display:flex;align-items:center;justify-content:space-between;background:var(--yellow);padding:17px 20px;font-weight:1000;font-size:25px;letter-spacing:-.7px}.breaking-head span{color:var(--pink)}.breaking-list{padding:4px 18px 10px}.breaking-item{display:flex;gap:13px;align-items:center;padding:13px 0;border-bottom:1px solid #eee;font-size:15px;font-weight:800;line-height:1.25}.breaking-item:last-child{border:0}.breaking-number{flex:none;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--pink);color:#fff;font-weight:1000;font-size:19px}.quiz-teaser{background:#e8dcff;border-radius:15px;padding:20px}.quiz-teaser strong{display:block;font-size:23px;line-height:1.1;margin:8px 0}.pill{display:inline-block;background:var(--yellow);padding:9px 16px;border-radius:30px;font-weight:900;font-size:13px}.section{margin-top:18px;padding:18px 20px 20px;border-radius:18px}.section-pink{background:var(--softpink)}.section-purple{background:var(--purple)}.section-blue{background:var(--blue)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.section-heading h2{font-size:29px;line-height:1.1;letter-spacing:-1px;font-weight:1000;margin:0}.section-heading .emoji{margin-right:8px}.view-all{font-size:12px;font-weight:900;border:1.5px solid currentColor;padding:7px 12px;border-radius:30px;white-space:nowrap}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.story-card{background:#fff;border-radius:12px;overflow:hidden;min-width:0;transition:transform .15s,box-shadow .15s}.story-card:hover{transform:translateY(-3px);box-shadow:0 7px 20px #0002}.story-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#ff6685,#ffa25b)}.story-card:nth-child(2) .story-media{background:linear-gradient(135deg,#80d2e4,#a7b5ff)}.story-card:nth-child(3) .story-media{background:linear-gradient(135deg,#b68af3,#ffbd9a)}.story-media img{width:100%;height:100%;object-fit:cover;display:block}.story-media .mini-tag{position:absolute;bottom:8px;left:9px}.mini-tag{background:var(--pink);color:#fff;font-size:11px;font-weight:1000;padding:5px 8px;border-radius:3px;transform:rotate(-3deg)}.story-body{padding:11px 12px 14px}.story-body h3{font-size:20px;line-height:1.1;letter-spacing:-.5px;font-weight:1000;margin:0 0 8px}.story-body p{margin:0;font-size:14px;line-height:1.3;color:#353535}.story-empty{background:#fff;border-radius:10px;padding:22px;font-size:14px;grid-column:1/-1}.small-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.small-story{display:flex;background:#fff;border-radius:12px;overflow:hidden;min-width:0;align-items:center;gap:10px}.small-story .small-img{flex:0 0 37%;aspect-ratio:1/1;background:linear-gradient(130deg,#ffcb65,#8ccde0)}.small-story img{height:100%;width:100%;object-fit:cover}.small-story strong{font-size:14px;line-height:1.15;display:block;padding-right:8px}.page-content{max-width:860px;margin:36px auto;padding:0 20px}.page-content h1{font-size:clamp(34px,5vw,58px);line-height:1.08}.post-featured{aspect-ratio:16/9;width:100%;object-fit:cover;border-radius:14px}.entry-content{font-size:18px;line-height:1.75}.entry-content img{height:auto}.post-meta{color:#666;font-size:14px}.site-footer{margin-top:36px;background:#101116;color:#fff;border-top:5px solid var(--pink);padding:36px 0 45px}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-inner h2{font-size:27px;margin:0 0 8px}.footer-inner p{margin:4px 0;font-size:13px;color:#d4d4d8}.footer-links{display:flex;flex-wrap:wrap;gap:12px;align-items:start}.footer-links a{font-size:13px;font-weight:800}.demo-note{font-size:13px;opacity:.8}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px)}@media(max-width:900px){.brand-motto,.socials{display:none}.top-grid{grid-template-columns:1fr}.top-sidebar{display:grid;grid-template-columns:1fr 1fr}.hero{min-height:420px}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.small-grid{grid-template-columns:1fr 1fr}.nav-inner{overflow-x:auto}}@media(max-width:600px){.wrap{width:calc(100% - 22px)}.topline{min-height:82px}.brand-logo{font-size:38px;letter-spacing:-2.5px}.brand-sub{font-size:8px;margin-top:8px;letter-spacing:.6px}.menu-toggle{display:grid}.search-toggle{width:36px;height:36px}.nav-inner{display:none;flex-direction:column;align-items:stretch;padding:7px 0}.site-nav.is-open .nav-inner{display:flex}.nav-inner a,.nav-inner a:first-child{padding:11px 4px;font-size:14px}.homepage{padding-top:10px}.hero{min-height:390px;border-radius:13px}.hero-content{padding:22px 17px 24px}.hero h1{font-size:clamp(32px,8.7vw,46px);letter-spacing:-1.5px}.hero p{font-size:15px}.hero .tag{font-size:20px}.top-sidebar{display:flex}.breaking-head{font-size:24px;padding:14px 17px}.breaking-item{font-size:15px;padding:12px 0}.quiz-teaser{display:none}.section{margin-top:13px;padding:14px 12px 16px;border-radius:15px}.section-heading h2{font-size:25px}.view-all{font-size:11px;padding:6px 9px}.story-grid{grid-template-columns:1fr;gap:12px}.story-body h3{font-size:23px}.story-body p{font-size:15px}.small-grid{grid-template-columns:1fr}.small-story .small-img{flex-basis:31%}.small-story strong{font-size:16px}.footer-inner{display:block}.footer-links{margin-top:20px}}
.quiz-card-emoji{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(65px,10vw,115px);background:radial-gradient(circle at 70% 20%,#ffef94,transparent 52%),linear-gradient(135deg,#fa3d83,#a17aff);text-shadow:0 5px 15px #0003}.section-purple .story-card:nth-child(2) .quiz-card-emoji{background:linear-gradient(135deg,#8b59ed,#ff7ba7)}.section-purple .story-card:nth-child(3) .quiz-card-emoji{background:linear-gradient(135deg,#39c3c6,#a17aff)}


/* Hässäkkä! 7.0 – kaikkien kategorioiden yhteinen arkisto */
.hz-archive{padding-top:38px;padding-bottom:30px}.hz-archive-top{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,.8fr);gap:35px;align-items:center;margin-bottom:28px}.hz-breadcrumb{display:flex;align-items:center;gap:10px;color:#777;font-size:13px;margin-bottom:20px}.hz-breadcrumb a:hover{color:var(--pink)}.hz-eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:900;color:var(--pink);margin-bottom:8px}.hz-archive-intro h1{font-size:clamp(42px,5vw,68px);line-height:1.04;letter-spacing:-2.4px;margin:0 0 12px;font-weight:1000}.hz-archive-description{color:#535763;font-size:18px;line-height:1.55;max-width:680px;margin:0}.hz-archive-description p{margin:0}.hz-archive-note{background:#fff0f5;border:1px solid #ffe1eb;border-radius:15px;display:flex;align-items:center;gap:18px;padding:24px}.hz-archive-note>span{font-size:38px;color:var(--pink)}.hz-archive-note strong{font-size:17px}.hz-archive-note p{margin:5px 0 0;font-size:14px;color:#535763}.hz-archive-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-top:1px solid #ececf0;margin-bottom:16px;font-weight:900}.hz-archive-bar span:last-child{font-weight:500;font-size:13px;color:#777}.hz-archive-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.hz-archive-main{min-width:0}.hz-feature{display:grid;grid-template-columns:1.05fr 1fr;gap:0;border:1px solid #ececf0;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 5px 20px #11121708;margin-bottom:20px}.hz-feature-image,.hz-archive-image{position:relative;overflow:hidden;background:#24222a}.hz-feature-image{min-height:270px}.hz-feature-image img,.hz-archive-image img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0;transition:transform .2s}.hz-feature:hover img,.hz-archive-card:hover img{transform:scale(1.025)}.hz-no-image{position:absolute;inset:0;display:grid;place-items:center;font-size:72px;font-weight:1000;font-style:italic;color:#fff;background:linear-gradient(135deg,#ff0750,#15151b)}.hz-label{position:absolute;bottom:12px;left:12px;z-index:1;background:var(--pink);color:white;padding:7px 10px;border-radius:5px;font-size:11px;font-weight:950;text-transform:uppercase}.hz-feature-text{padding:25px;display:flex;flex-direction:column;justify-content:center}.hz-feature-kicker{font-size:11px;letter-spacing:1px;color:var(--pink);font-weight:900;margin-bottom:8px}.hz-feature-text h2{font-size:clamp(23px,2.25vw,32px);line-height:1.13;letter-spacing:-.8px;margin:0 0 12px;font-weight:950}.hz-feature-text p{font-size:15px;line-height:1.55;color:#5b5d66;margin:0 0 16px}.hz-date{color:#777;font-size:12px}.hz-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.hz-archive-card{display:block;min-width:0;background:#fff;border:1px solid #ededf1;border-radius:13px;overflow:hidden;box-shadow:0 3px 14px #11121706;transition:box-shadow .2s,transform .2s}.hz-archive-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px #11121714}.hz-archive-image{aspect-ratio:16/9}.hz-archive-card-body{padding:14px 14px 18px}.hz-archive-card h3{font-size:18px;line-height:1.2;letter-spacing:-.3px;font-weight:900;margin:8px 0}.hz-archive-card p{color:#60636b;font-size:13px;line-height:1.5;margin:0}.hz-archive-aside{display:grid;gap:16px}.hz-side-panel{border:1px solid #e9e9ef;border-radius:14px;padding:19px;background:#fff}.hz-side-panel h2{font-size:19px;margin:0 0 15px;letter-spacing:-.4px}.hz-side-story{display:grid;grid-template-columns:80px minmax(0,1fr);gap:11px;padding:11px 0;border-top:1px solid #f0f0f2;align-items:center}.hz-side-thumb{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:7px;background:#ffe3eb}.hz-side-thumb img{width:100%;height:100%;object-fit:cover}.hz-side-thumb span{display:grid;place-items:center;height:100%;font-weight:900;color:var(--pink)}.hz-side-story strong{display:block;font-size:12px;line-height:1.3}.hz-side-story small{display:block;color:#85858d;font-size:11px;margin-top:5px}.hz-side-categories a{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #f0f0f2;font-size:13px;font-weight:700}.hz-side-categories a span:last-child{color:#777}.hz-pagination{margin-top:28px}.hz-pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}.hz-pagination .page-numbers{padding:9px 13px;border:1px solid #eee;border-radius:8px;font-weight:800;font-size:13px}.hz-pagination .current{background:var(--pink);color:white;border-color:var(--pink)}.hz-empty{padding:30px;border:1px solid #eee;border-radius:12px;color:#666}
@media(max-width:1100px){.hz-archive-layout{grid-template-columns:minmax(0,1fr) 250px}.hz-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hz-feature{grid-template-columns:1fr}.hz-feature-image{aspect-ratio:16/9;min-height:0}}
@media(max-width:760px){.hz-archive{padding-top:22px}.hz-archive-top{grid-template-columns:1fr;gap:18px}.hz-archive-note{padding:16px}.hz-archive-layout{grid-template-columns:1fr}.hz-archive-aside{grid-template-columns:1fr 1fr}.hz-archive-intro h1{letter-spacing:-1.3px}.hz-archive-description{font-size:16px}}
@media(max-width:550px){.hz-archive-grid{grid-template-columns:1fr}.hz-archive-aside{grid-template-columns:1fr}.hz-feature-text{padding:18px}.hz-feature-text h2{font-size:25px}.hz-archive-card h3{font-size:21px}.hz-archive-card p{font-size:14px}}
