.ch-page{background:var(--sc-bg)}
.ch-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 83% 5%,rgba(143,230,177,.3),transparent 31%),linear-gradient(145deg,#123d2a,#1f6849);color:#fff}
.ch-hero .sc-shell{padding-top:70px;padding-bottom:72px;text-align:center}
.ch-hero .sc-category{color:#bff3d0}
.ch-hero h1{max-width:850px;margin:9px auto 16px;font-size:clamp(2.25rem,5.4vw,4.35rem);line-height:1.02;letter-spacing:-.055em}
.ch-hero p{max-width:720px;margin:0 auto;color:rgba(255,255,255,.8);line-height:1.7}
.ch-search{display:flex;align-items:center;gap:12px;width:min(700px,100%);margin:32px auto 0;padding:6px 8px 6px 17px;border:1px solid rgba(255,255,255,.25);border-radius:15px;background:#fff;box-shadow:0 16px 42px rgba(6,31,20,.22);color:#174d36}
.ch-search>span:first-child{font-size:1.55rem;line-height:1}
.ch-search input{min-width:0;flex:1;border:0;outline:0;padding:10px 0;background:transparent;color:#15251d;font:inherit;font-size:.96rem;font-weight:700}
.ch-search input::placeholder{color:#7a8c82;font-weight:500}
.ch-search kbd{padding:5px 8px;border:1px solid #dce7e0;border-radius:7px;background:#f5f8f6;color:#5e6f66;font:inherit;font-size:.67rem;font-weight:800}
.ch-count{margin-top:11px!important;color:#c9f4da!important;font-size:.7rem!important;font-weight:800}
.ch-shell{padding-top:34px}
.ch-featured{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin-top:-67px;margin-bottom:28px;padding:22px 24px;border:1px solid rgba(191,243,208,.48);border-radius:19px;background:radial-gradient(circle at 90% 0,rgba(191,243,208,.17),transparent 34%),linear-gradient(145deg,#153e2c,#216a4b);box-shadow:0 16px 38px rgba(23,77,54,.2);color:#fff;text-decoration:none}
.ch-featured-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:rgba(255,255,255,.12);font-size:1.8rem}
.ch-featured h2{margin:5px 0 4px;font-size:1.25rem}.ch-featured p{margin:0;color:rgba(255,255,255,.72);font-size:.76rem;line-height:1.5}.ch-featured strong{color:#c9f4da;font-size:.76rem;white-space:nowrap}
.ch-favorites{margin:0 0 28px;padding:22px;border:1px solid var(--sc-line);border-radius:19px;background:var(--sc-card);box-shadow:0 10px 30px rgba(28,71,50,.07)}
.ch-favorites-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}.ch-favorites-head>span{display:grid;place-items:center;flex:0 0 auto;width:47px;height:47px;border-radius:14px;background:var(--sc-mint);color:#b44b5f;font-size:1.25rem}.ch-favorites-head h2{margin:3px 0 2px;font-size:1.25rem}.ch-favorites-head p{margin:0;color:var(--sc-muted);font-size:.72rem}
.ch-favorites-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ch-favorite-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px;border:1px solid var(--sc-line);border-radius:14px;background:var(--sc-mint);color:var(--sc-ink);text-decoration:none;transition:transform .18s,border-color .18s,background .18s}.ch-favorite-card:hover{transform:translateY(-2px);border-color:#77857e}.ch-favorite-heart{color:#c45b6e;font-size:1rem}.ch-favorite-card h3{margin:0 0 4px;font-size:.82rem;line-height:1.35}.ch-favorite-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:0;color:var(--sc-muted);font-size:.66rem;line-height:1.45}.ch-favorite-arrow{color:var(--sc-muted);font-size:1rem}
.ch-category-nav{display:flex;gap:8px;overflow-x:auto;padding:3px 1px 16px;scrollbar-width:thin}
.ch-category-nav a{flex:0 0 auto;padding:9px 12px;border:1px solid var(--sc-line);border-radius:999px;background:var(--sc-card);color:var(--sc-green-2);text-decoration:none;font-size:.68rem;font-weight:800}
.ch-category{scroll-margin-top:82px;padding:42px 0 8px;border-top:1px solid var(--sc-line)}
.ch-category:first-child{border-top:0}
.ch-category-head{display:flex;align-items:flex-start;gap:15px;margin-bottom:18px}
.ch-category-icon{display:grid;place-items:center;width:47px;height:47px;border-radius:14px;background:var(--sc-mint);font-size:1.35rem}
.ch-category-head h2{margin:4px 0 3px;font-size:clamp(1.35rem,3vw,1.8rem);letter-spacing:-.025em}.ch-category-head p{margin:0;color:var(--sc-muted);font-size:.72rem}
.ch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ch-card{position:relative;display:flex;flex-direction:column;min-height:190px;padding:20px;border:1px solid var(--sc-line);border-radius:16px;background:var(--sc-card);box-shadow:0 7px 24px rgba(28,71,50,.045);color:var(--sc-ink);text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s}
.ch-card:hover{transform:translateY(-3px);border-color:#80c49b;box-shadow:0 12px 30px rgba(28,71,50,.1)}
.ch-card h3{padding-right:28px;margin:0 0 9px;font-size:1rem;line-height:1.3}.ch-card p{margin:0 0 18px;color:var(--sc-muted);font-size:.73rem;line-height:1.65}.ch-card small{margin-top:auto;color:var(--sc-green-2);font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.055em}.ch-arrow{position:absolute;right:18px;top:17px;color:#54aa77;font-size:1.15rem}
.ch-empty{margin:40px 0;padding:40px;border:1px dashed #8abda0;border-radius:18px;text-align:center;background:var(--sc-card)}.ch-empty strong{font-size:1.05rem}.ch-empty p{color:var(--sc-muted);font-size:.8rem}
.ch-privacy{margin:52px 0 8px;padding:25px;border:1px solid var(--sc-line);border-radius:18px;background:linear-gradient(135deg,var(--sc-mint),var(--sc-card))}.ch-privacy h2{margin:0 0 8px;font-size:1.15rem}.ch-privacy p{max-width:780px;margin:0;color:var(--sc-muted);font-size:.78rem;line-height:1.7}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){.ch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ch-featured{grid-template-columns:auto 1fr}.ch-featured strong{grid-column:2}}
@media(max-width:560px){.ch-hero .sc-shell{padding-top:50px;padding-bottom:62px}.ch-search kbd{display:none}.ch-featured{grid-template-columns:1fr;margin-top:-56px;padding:20px}.ch-featured-icon{width:48px;height:48px}.ch-featured strong{grid-column:auto}.ch-favorites{padding:18px}.ch-favorites-grid{grid-template-columns:1fr}.ch-grid{grid-template-columns:1fr}.ch-card{min-height:0}.ch-category{padding-top:32px}.ch-category-head{gap:11px}.ch-category-icon{width:42px;height:42px}}
@media(prefers-color-scheme:dark){.ch-search{background:#e8f3ec}.ch-search input{color:#15251d}.ch-card small,.ch-category-nav a{color:#9ce8b8}.ch-featured{border-color:rgba(191,243,208,.3)}}
.ch-hero{background:radial-gradient(circle at 83% 5%,rgba(197,217,209,.22),transparent 31%),linear-gradient(145deg,#263a36,#526862)}.ch-featured{border-color:rgba(214,229,223,.4);background:radial-gradient(circle at 90% 0,rgba(214,229,223,.13),transparent 34%),linear-gradient(145deg,#2c403b,#5b706a);box-shadow:0 16px 38px rgba(38,58,54,.18)}.ch-arrow{color:#718c84}.ch-card:hover{border-color:#8da39d}

/* Kalorilaskurin nosto omalle rivilleen ilman hero-osion alle jäävää limitystä. */
.ch-shell{position:relative;z-index:2;padding-top:30px}.ch-featured{width:100%;min-width:0;margin-top:0}.ch-featured>div{min-width:0}.ch-featured p{overflow-wrap:anywhere}
@media(max-width:560px){.ch-shell{padding-top:22px}.ch-featured{margin-top:0}.ch-featured strong{grid-column:auto}}
:root[data-sc-theme="light"] .ch-page{background:#f6f8f7;color:#1d2926}:root[data-sc-theme="light"] .ch-card,:root[data-sc-theme="light"] .ch-category-nav a,:root[data-sc-theme="light"] .ch-privacy{background-color:#fff}:root[data-sc-theme="light"] .ch-search{background:#fff}
:root[data-sc-theme="dark"] .ch-page{background:#151e1b;color:#eef3f1}:root[data-sc-theme="dark"] .ch-card,:root[data-sc-theme="dark"] .ch-category-nav a,:root[data-sc-theme="dark"] .ch-privacy{background-color:#202c28}:root[data-sc-theme="dark"] .ch-search{background:#edf3f1}:root[data-sc-theme="dark"] .ch-search input{color:#1d2926}

/* Tumma katalogiteema käyttää samaa palettia kuin landingin painonpudotusosio. */
:root[data-sc-theme="dark"] .ch-page{background:radial-gradient(circle at 88% 7%,rgba(88,180,123,.13),transparent 28%),linear-gradient(145deg,#16261d,#202a24);color:#eff8f2}
:root[data-sc-theme="dark"] .ch-hero{border-bottom:1px solid #3f6650;background:radial-gradient(circle at 86% 5%,rgba(112,179,137,.17),transparent 30%),linear-gradient(145deg,#14251c,#2b4436)}
:root[data-sc-theme="dark"] .ch-featured{border-color:#52705e;background:radial-gradient(circle at 90% 0,rgba(128,190,151,.13),transparent 34%),linear-gradient(145deg,#1b3024,#35533f);box-shadow:0 16px 38px rgba(5,15,10,.28)}
:root[data-sc-theme="dark"] .ch-card,:root[data-sc-theme="dark"] .ch-category-nav a,:root[data-sc-theme="dark"] .ch-privacy{border-color:#3f5a49;background:#202a24;color:#eff8f2;box-shadow:0 7px 24px rgba(5,15,10,.18)}
:root[data-sc-theme="dark"] .ch-card:hover{border-color:#6e927a;box-shadow:0 12px 30px rgba(5,15,10,.3)}:root[data-sc-theme="dark"] .ch-card p,:root[data-sc-theme="dark"] .ch-category-head p,:root[data-sc-theme="dark"] .ch-privacy p{color:#b8cabe}:root[data-sc-theme="dark"] .ch-card small,:root[data-sc-theme="dark"] .ch-category-nav a{color:#b9d8c4}:root[data-sc-theme="dark"] .ch-category{border-color:#354b3d}:root[data-sc-theme="dark"] .ch-category-icon{background:#293b30}
:root[data-sc-theme="dark"] .ch-search{border-color:#496353;background:#202a24;color:#dcebe1;box-shadow:0 16px 42px rgba(4,14,9,.28)}:root[data-sc-theme="dark"] .ch-search input{color:#eff8f2}:root[data-sc-theme="dark"] .ch-search input::placeholder{color:#9eb1a5}:root[data-sc-theme="dark"] .ch-search kbd{border-color:#465c4e;background:#29362e;color:#cad8cf}

/* Vihreä liukuväri rajataan yläosaan; sisältö jatkuu neutraalina hiilenharmaana. */
:root[data-sc-theme="dark"] .ch-page{background:#171a19;color:#f0f3f1}
:root[data-sc-theme="dark"] .ch-featured{border-color:#454c48;background:linear-gradient(145deg,#232725,#303532);box-shadow:0 14px 34px rgba(0,0,0,.25)}
:root[data-sc-theme="dark"] .ch-featured-icon{background:#343a37}:root[data-sc-theme="dark"] .ch-featured strong{color:#d5ded9}:root[data-sc-theme="dark"] .ch-featured p{color:#b3bcb7}
:root[data-sc-theme="dark"] .ch-card,:root[data-sc-theme="dark"] .ch-category-nav a,:root[data-sc-theme="dark"] .ch-privacy{border-color:#3b423f;background:#212523;color:#f0f3f1;box-shadow:0 7px 22px rgba(0,0,0,.17)}
:root[data-sc-theme="dark"] .ch-favorites{border-color:#3b423f;background:linear-gradient(145deg,#202422,#282d2a);box-shadow:0 10px 30px rgba(0,0,0,.2)}:root[data-sc-theme="dark"] .ch-favorites-head>span{background:#303632}:root[data-sc-theme="dark"] .ch-favorite-card{border-color:#3b423f;background:#292e2b;color:#f0f3f1}:root[data-sc-theme="dark"] .ch-favorite-card:hover{border-color:#66706b;background:#303632}
:root[data-sc-theme="dark"] .ch-card:hover{border-color:#66706b;box-shadow:0 12px 28px rgba(0,0,0,.28)}:root[data-sc-theme="dark"] .ch-card p,:root[data-sc-theme="dark"] .ch-category-head p,:root[data-sc-theme="dark"] .ch-privacy p{color:#adb6b1}:root[data-sc-theme="dark"] .ch-card small,:root[data-sc-theme="dark"] .ch-category-nav a{color:#c1cac5}:root[data-sc-theme="dark"] .ch-category{border-color:#323735}:root[data-sc-theme="dark"] .ch-category-icon{background:#2b302e}
:root[data-sc-theme="dark"] .ch-privacy{background:linear-gradient(145deg,#202422,#282d2a)}:root[data-sc-theme="dark"] .ch-arrow{color:#929d97}:root[data-sc-theme="dark"] .sc-footer{background:linear-gradient(145deg,#191d1b,#252a27)}
.ch-hero-contact{color:#fff;font-weight:850;text-decoration:underline;text-decoration-color:rgba(255,255,255,.45);text-underline-offset:3px}.ch-hero-contact:hover{text-decoration-color:#fff}
