/* Trang nối với app Hành trình tìm con: bài viết, câu chuyện, đăng ký khám, hồ sơ của tôi (28/10/2026) */
.kn-hero{padding:3rem 0 2.5rem;background:radial-gradient(circle at 88% 5%,rgba(240,169,195,.34),transparent 24%),linear-gradient(145deg,#fffcfd,#f7edf1)}
.kn-hero h1{margin:0 0 1rem;font:800 clamp(2rem,7vw,3.2rem)/1.08 var(--font-heading);letter-spacing:-.035em}
.kn-hero h1 em{color:var(--color-primary);font-style:normal}
.kn-hero p{max-width:40rem;color:var(--color-muted-foreground);font-size:1.05rem}
.kn-section{padding:2.5rem 0}
.kn-section h2{margin:0 0 .6rem;font:700 clamp(1.45rem,4.5vw,1.9rem)/1.2 var(--font-heading);letter-spacing:-.02em}
.kn-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}
.kn-actions .button{width:auto}
.kn-big{min-height:3.5rem;padding-inline:1.6rem;font-size:1rem}
.kn-note{font-size:.95rem}
.kn-empty{padding:1.5rem;border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-card)}
.kn-empty a,.kn-band a:not(.button),.kn-note a,.kn-ok a,.kn-consent a,.kn-sources a,.kn-story a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}

/* Danh sách thẻ */
.kn-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr))}
.kn-grid-2{grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));margin-top:1.25rem}
.kn-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);box-shadow:var(--shadow-sm);transition:box-shadow var(--motion-fast),transform var(--motion-fast)}
a.kn-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.kn-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.kn-card>div{padding:1rem 1.15rem 1.2rem;display:flex;flex-direction:column;gap:.35rem}
.kn-card small{color:var(--color-gold);font:700 .7rem/1.4 var(--font-heading);letter-spacing:.12em;text-transform:uppercase}
.kn-card h3{margin:0;font:700 1.12rem/1.3 var(--font-heading)}
.kn-card p{margin:0;color:var(--color-muted-foreground);font-size:.94rem}
.kn-meta{margin-top:auto;padding-top:.4rem;color:var(--color-muted-foreground);font-size:.82rem}
.kn-howto ol{margin:.4rem 0 0;padding-left:1.2rem}
.kn-howto li{margin:.3rem 0}

/* Nút chọn (chủ đề, mong muốn) */
.kn-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}
.kn-chips a,.kn-chip span{display:inline-flex;align-items:center;min-height:2.6rem;padding:.4rem .95rem;border:1.5px solid var(--color-border);border-radius:999px;background:var(--color-card);font:600 .88rem/1.2 var(--font-heading);cursor:pointer}
.kn-chips a.on,.kn-chip input:checked+span{border-color:var(--color-primary);background:var(--color-primary);color:#fff}
.kn-chip input{position:absolute;opacity:0;pointer-events:none}
.kn-chip input:focus-visible+span{outline:3px solid var(--color-ring);outline-offset:2px}

/* Dải mời */
.kn-band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.6rem;border-radius:var(--radius-lg);background:#401326;color:#fff}
.kn-band p{margin:0;max-width:44rem;color:rgba(255,255,255,.86)}
.kn-band a:not(.button){color:#fff}
.kn-band .button{width:auto}
.kn-band-soft{background:var(--color-muted);color:var(--color-foreground)}
.kn-band-soft p{color:var(--color-muted-foreground)}

/* Hai cột */
.kn-two{display:grid;gap:2rem}
@media (min-width:56rem){.kn-two{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start}}
.kn-feats{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.kn-feats li{padding:.85rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card)}
.kn-feats strong{display:block;font:700 1rem/1.3 var(--font-heading)}
.kn-feats span{color:var(--color-muted-foreground);font-size:.92rem}

/* Biểu mẫu đăng ký khám */
.kn-form{display:grid;gap:1rem;padding:1.4rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-card);box-shadow:var(--shadow-md)}
.kn-row{display:grid;gap:1rem}
@media (min-width:36rem){.kn-row{grid-template-columns:1fr 1fr}}
.kn-field{display:grid;gap:.35rem;margin:0;padding:0;border:0;font:600 .92rem/1.3 var(--font-heading)}
.kn-field legend{padding:0;margin-bottom:.45rem}
.kn-field small{color:var(--color-muted-foreground);font-weight:500}
.kn-field input,.kn-field textarea{width:100%;min-height:3.1rem;padding:.7rem .9rem;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-foreground);font:500 1rem/1.4 var(--font-body)}
.kn-field textarea{min-height:5.5rem;resize:vertical}
.kn-field input:focus,.kn-field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(136,8,61,.15)}
.kn-field .kn-chips{margin:0}
.kn-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.kn-consent{display:flex;gap:.65rem;align-items:flex-start;font-size:.92rem;line-height:1.5}
.kn-consent input{flex:none;width:1.35rem;height:1.35rem;margin-top:.1rem;accent-color:var(--color-primary)}
.kn-err{margin:0;min-height:1.2em;color:#b42318;font-weight:600}
.kn-err:empty{display:none}
.kn-submit{min-height:3.4rem;font-size:1rem}
.kn-ok{padding:1.1rem 1.2rem;border-radius:var(--radius-md);background:#f6e8ee;border:1px solid #9fd3b5}
.kn-ok strong{font:700 1.1rem/1.3 var(--font-heading)}
.kn-ok p{margin:.35rem 0 0}
.kn-steps{display:grid;gap:.8rem}
.kn-steps>p{display:grid;grid-template-columns:2.4rem 1fr;gap:.1rem .7rem;margin:0}
.kn-steps>p span{grid-row:span 2;display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--color-muted);color:var(--color-primary-strong);font:800 .85rem/1 var(--font-heading)}
.kn-steps>p small,.kn-steps>small{color:var(--color-muted-foreground)}
.kn-alt{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:1rem;border-radius:var(--radius-md);background:var(--color-muted)}
.kn-alt strong{flex-basis:100%}
.kn-alt a{color:var(--color-primary);font-weight:700}

/* Bài viết / câu chuyện lấy từ app */
.kn-article{padding-block:2.5rem 3rem}
.kn-article .article-content{margin-inline:auto}
.kn-article .article-content img{border-radius:var(--radius-md);margin:1.25rem 0}
.kn-article .article-content ul,.kn-article .article-content ol{padding-left:1.3rem}
.kn-cover{width:100%;aspect-ratio:16/9;object-fit:cover}
.kn-sources{margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--color-border);font-size:.9rem}
.kn-sources h2{font-size:1.2rem!important;margin-top:0!important}
.kn-disclaimer{margin-top:2rem;padding:.9rem 1rem;border-radius:var(--radius-sm);background:var(--color-muted);color:var(--color-muted-foreground);font-size:.9rem}
.kn-story p{font-size:1.06rem}
.kn-photos{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));margin:1.5rem 0}
.kn-photos img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;margin:0!important}
.kn-journey .journey-card-image img{width:100%;aspect-ratio:4/3;object-fit:cover}
.kn-page [hidden]{display:none!important}
.kn-home{padding-block:clamp(3rem,8vw,5rem)}
.kn-chip{position:relative}.kn-chip input{top:0;left:0;width:1px;height:1px;min-height:0;margin:0}
