/*
Theme Name: K-Regen Lab
Theme URI: https://kregenlab.com/
Author: K-Regen Lab
Description: Evidence-led bilingual editorial block theme for Korean regenerative skincare.
Version: 0.2.1
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: kregenlab
*/

:root { --kr-shadow: 0 18px 50px rgba(32,37,34,.08); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; }
a { transition: color .2s ease, background .2s ease, transform .2s ease; }
.kr-shell { width: min(100% - 40px, 1440px); margin-inline: auto; }
.kr-site-header { border-bottom: 1px solid rgba(32,37,34,.1); background: rgba(247,244,238,.96); position: sticky; top: 0; z-index: 50; backdrop-filter: blur(14px); }
.kr-header-row { min-height: 94px; display: flex; align-items: center; gap: 32px; }
.kr-brand { flex: 0 0 auto; white-space: nowrap; }
.kr-brand a { text-decoration: none; }
.kr-nav { flex: 1 1 auto; }
.kr-nav-list { display: flex; justify-content: center; align-items: center; gap: clamp(14px, 2.1vw, 42px); margin: 0; padding: 0; list-style: none; }
.kr-nav-item a { display: flex; flex-direction: column; align-items: center; gap: 3px; color: #202522; text-decoration: none; white-space: nowrap; }
.kr-nav-en { font-size: 14px; font-weight: 600; line-height: 1.2; }
.kr-nav-ko { font-size: 10px; font-weight: 400; line-height: 1.2; color: #737872; letter-spacing: -.02em; }
.kr-nav-item a:hover .kr-nav-en { color: #c98272; }
.kr-search { flex: 0 0 auto; }
.kr-search a { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 999px; color: #202522; text-decoration: none; }
.kr-search a:hover { background: #e8eee8; }
.kr-hero { min-height: 650px; overflow: hidden; position: relative; }
.kr-hero-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(430px, 1.05fr); align-items: center; gap: 40px; min-height: 650px; }
.kr-eyebrow { color: #c36f60; letter-spacing: .28em; font-size: 13px; font-weight: 700; text-transform: uppercase; }
.kr-hero-title { max-width: 760px; margin: 20px 0 22px; font-size: clamp(58px, 5.4vw, 92px); line-height: .98; letter-spacing: -.04em; }
.kr-hero-copy { max-width: 620px; color: #555d57; font-size: clamp(18px, 1.4vw, 22px); line-height: 1.55; }
.kr-actions { display: flex; align-items: center; gap: 34px; margin-top: 34px; }
.kr-primary-button .wp-block-button__link { display: inline-flex; align-items: center; min-height: 60px; padding: 0 32px; border-radius: 3px; background: #718477; color: #fff; font-weight: 650; }
.kr-text-link { color: #c36f60; text-underline-offset: 7px; }
.kr-visual { min-height: 520px; position: relative; display: grid; place-items: center; }
.kr-orb { position: absolute; width: min(38vw, 520px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 35% 28%, rgba(255,255,255,.92), rgba(232,225,211,.8) 32%, rgba(113,132,119,.18) 70%); box-shadow: inset 0 0 0 1px rgba(32,37,34,.08); }
.kr-bottle { position: relative; width: 180px; height: 340px; border-radius: 44px 44px 32px 32px; background: linear-gradient(90deg,#68330e,#b25b18 34%,#d78634 50%,#7e3a10 76%,#4b2108); box-shadow: 0 36px 50px rgba(80,42,18,.25), inset 16px 0 22px rgba(255,198,110,.18); z-index: 2; }
.kr-bottle:before { content: ''; position: absolute; width: 116px; height: 92px; left: 32px; top: -76px; border-radius: 30px 30px 10px 10px; background: linear-gradient(90deg,#d9d0bf,#fff,#a89d8b); box-shadow: 0 4px 12px rgba(32,37,34,.16); }
.kr-bottle:after { content: ''; position: absolute; width: 54px; height: 120px; left: 63px; top: -178px; border-radius: 30px 30px 8px 8px; background: linear-gradient(90deg,#e7decd,#fff,#bab09f); }
.kr-discovery { padding: 56px 0 88px; background: #fbfaf6; }
.kr-section-title { margin-bottom: 28px; font-size: clamp(38px, 3.2vw, 54px); letter-spacing: -.025em; }
.kr-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.kr-card { min-height: 300px; padding: 28px; border: 1px solid rgba(32,37,34,.11); border-radius: 10px; background: #fff; box-shadow: var(--kr-shadow); display: flex; flex-direction: column; justify-content: space-between; text-decoration: none; color: #202522; }
.kr-card:hover { transform: translateY(-4px); }
.kr-card-art { min-height: 128px; border-radius: 6px; background: linear-gradient(135deg,#e4ebe4,#b8c8bb 55%,#f2eee4); }
.kr-card:nth-child(2) .kr-card-art { background: linear-gradient(135deg,#efe8da,#fff 48%,#e8d0bf); }
.kr-card:nth-child(3) .kr-card-art { background: linear-gradient(135deg,#dce4dc,#f8f6ef 48%,#c7d2c8); }
.kr-card h3 { margin: 24px 0 6px; font-size: 28px; line-height: 1.12; }
.kr-card-ko { color: #737872; font-size: 13px; }
.kr-latest { padding: 92px 0; }
.kr-post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.kr-entry { max-width: 780px; margin-inline: auto; padding: 72px 20px 110px; }
.kr-entry .wp-block-post-title { font-size: clamp(44px, 5vw, 72px); line-height: 1.05; letter-spacing: -.035em; }
.kr-entry .wp-block-post-content { font-size: 19px; line-height: 1.78; }
.kr-entry .wp-block-post-content h2 { margin-top: 2em; font-size: 38px; line-height: 1.15; }
.kr-entry .wp-block-post-content p { margin-block: 1.2em; }
.kr-article-meta { padding-bottom: 22px; border-bottom: 1px solid rgba(32,37,34,.12); color: #666d68; font-size: 13px; }
.kr-article-meta strong { color: #202522; }
.kr-quick-answer { margin: 30px 0 38px; padding: 28px 30px; border-left: 4px solid #c98272; background: #fff; box-shadow: 0 12px 34px rgba(32,37,34,.06); }
.kr-quick-answer h2 { margin: 0 0 10px; font-family: var(--wp--preset--font-family--sans); font-size: 15px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.kr-quick-answer .wp-block-post-excerpt__excerpt { margin: 0; color: #303833; font-size: 21px; line-height: 1.55; }
.kr-key-takeaways { margin: 34px 0; padding: 28px 30px; border-radius: 8px; background: #e8eee8; }
.kr-key-takeaways h2 { margin-top: 0; font-size: 28px !important; }
.kr-key-takeaways li { margin-block: 10px; }
.kr-evidence-note { margin: 32px 0; padding: 24px 28px; border: 1px solid rgba(113,132,119,.45); border-radius: 8px; background: #fbfaf6; }
.kr-evidence-note dl { display: grid; grid-template-columns: 150px 1fr; gap: 10px 20px; margin: 0; }
.kr-evidence-note dt { color: #68756c; font-size: 13px; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.kr-evidence-note dd { margin: 0; }
.kr-citation { color: #55665a; font-size: 15px; }
.kr-citation a { text-underline-offset: 4px; }
.kr-product-score { margin: 36px 0; overflow: hidden; border: 1px solid rgba(32,37,34,.14); border-radius: 10px; background: #fff; }
.kr-product-score h2 { margin: 0; padding: 22px 26px; background: #202522; color: #f7f4ee; font-size: 28px !important; }
.kr-score-row { display: grid; grid-template-columns: 1.2fr 2fr .7fr; gap: 18px; align-items: center; padding: 16px 26px; border-top: 1px solid rgba(32,37,34,.1); }
.kr-score-status { color: #718477; font-size: 13px; font-weight: 700; text-align: right; }
.kr-faq { margin-top: 52px; }
.kr-faq details { margin: 12px 0; padding: 20px 0; border-top: 1px solid rgba(32,37,34,.15); }
.kr-faq summary { cursor: pointer; font-size: 20px; font-weight: 700; }
.kr-faq details p { margin-bottom: 0; }
.kr-disclosure { margin: 34px 0; color: #69706b; font-size: 13px; line-height: 1.6; }
.kr-entry table { width: 100%; border-collapse: collapse; font-size: 16px; }
.kr-entry th, .kr-entry td { padding: 14px; border: 1px solid rgba(32,37,34,.14); text-align: left; vertical-align: top; }
.kr-entry th { background: #e8eee8; }
.kr-footer { padding: 70px 0 32px; background: #202522; color: #f7f4ee; }
.kr-footer a { color: #f7f4ee; text-decoration: none; }
.kr-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 50px; }
.kr-footer-links { list-style: none; padding: 0; margin: 0; }
.kr-footer-links li { margin-bottom: 12px; }
.kr-footer-bottom { margin-top: 60px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.15); color: #b8bdb9; font-size: 13px; }

@media (max-width: 1100px) {
  .kr-header-row { min-height: 82px; }
  .kr-nav-ko { display: none; }
  .kr-nav-list { gap: 16px; }
  .kr-nav-en { font-size: 12px; }
  .kr-hero-grid { grid-template-columns: 1fr 430px; }
}
@media (max-width: 820px) {
  .kr-shell { width: min(100% - 28px, 720px); }
  .kr-site-header { position: static; }
  .kr-header-row { flex-wrap: wrap; padding: 18px 0; }
  .kr-brand { flex: 1; }
  .kr-nav { order: 3; flex-basis: 100%; overflow: visible; padding-bottom: 0; }
  .kr-nav-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; gap: 14px 8px; }
  .kr-nav-item a { min-height: 42px; justify-content: center; white-space: normal; text-align: center; }
  .kr-nav-en { font-size: 11px; }
  .kr-nav-ko { display: block; font-size: 9px; }
  .kr-hero-grid { grid-template-columns: 1fr; padding: 72px 0 40px; }
  .kr-visual { min-height: 400px; }
  .kr-card-grid, .kr-post-grid { grid-template-columns: 1fr; }
  .kr-footer-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .kr-hero-title { font-size: 50px; }
  .kr-actions { align-items: flex-start; flex-direction: column; gap: 20px; }
  .kr-bottle { transform: scale(.78); }
  .kr-quick-answer, .kr-key-takeaways, .kr-evidence-note { padding: 22px 20px; }
  .kr-evidence-note dl { grid-template-columns: 1fr; gap: 4px; }
  .kr-evidence-note dd { margin-bottom: 14px; }
  .kr-score-row { grid-template-columns: 1fr; gap: 5px; }
  .kr-score-status { text-align: left; }
}
