/* ==========================================================================
   hyunokjang.com - page chrome + header/footer polish + lesson audio.
   About (66) and Contact (67) use the ported framework (framework.css).
   Legacy helpers retired 2026-06-14. Header/footer polish 2026-06-14.
   ========================================================================== */

/* --- Page chrome: let framework heroes meet the header (no grey gap) ------ */
body { overflow-x:hidden; } /* global: prevents 100vw bleed overflow on every page */
body.home .wp-block-post-title { display:none !important; }
body.home main, body.page-id-66 main, body.page-id-67 main { padding-top:0 !important; margin-top:0 !important; }
body.home main > .wp-block-group, body.page-id-66 main > .wp-block-group, body.page-id-67 main > .wp-block-group { padding-top:0 !important; }
body.page-id-66 .wp-block-post-title, body.page-id-67 .wp-block-post-title { display:none !important; }

/* --- Header polish (TT5 header template part) ---------------------------- */
header.wp-block-template-part{ background:var(--t-surface-base); border-bottom:1px solid var(--t-border-color); }
.wp-block-navigation-item__content[href*="/join"]{ background:var(--t-brand-primary); color:#fff !important; padding:.45rem 1.1rem; border-radius:8px; font-weight:700; }
.wp-block-navigation-item__content[href*="/join"]:hover,
.wp-block-navigation-item__content[href*="/join"]:focus{ background:var(--t-brand-primary-2); color:#fff !important; }

/* Generic heading rhythm for block content (lessons, posts) */
.wp-block-heading { margin-bottom: var(--wp--preset--spacing--sm); }
@media (max-width:600px){ .wp-block-group.alignfull { padding-left:var(--wp--preset--spacing--sm); padding-right:var(--wp--preset--spacing--sm); } }

/* --- Hangul pronunciation audio grid (lesson 'Listen and repeat') -------- */
.hy-audio-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:12px; margin:10px 0 4px; }
.hy-aud{ display:flex; flex-direction:column; gap:6px; padding:10px 12px; background:#fff; border:1px solid #E5E5E5; border-radius:10px; }
.hy-aud__w{ font-family:"Noto Sans KR","Cabin",sans-serif; font-weight:700; font-size:1.3rem; color:#222; line-height:1.1; }
.hy-aud audio{ width:100%; height:34px; }
@media (max-width:600px){ .hy-audio-grid{ grid-template-columns:repeat(auto-fill, minmax(120px,1fr)); } }
/* --- Auth pages (SureDash login/register) to brand ---------------------- */
[class*="suredash"][class*="__heading"]{ font-family:"Cabin",sans-serif !important; font-weight:700 !important; color:#222222 !important; }
[class*="suredash-register"] button[type="submit"], [class*="suredash-login"] button[type="submit"], .suredash-register-form__submit, .suredash-login-form__submit{ background:linear-gradient(180deg,#E11D1D,#D61818) !important; box-shadow:0 1px 2px rgba(120,8,8,.22), 0 8px 18px rgba(214,24,24,.28) !important; border:0 !important; border-radius:8px !important; font-family:"Cabin",sans-serif !important; font-weight:700 !important; letter-spacing:.02em; transition:box-shadow .2s ease, transform .2s ease; }
[class*="suredash-register"] button[type="submit"]:hover, [class*="suredash-login"] button[type="submit"]:hover{ box-shadow:0 2px 5px rgba(120,8,8,.24), 0 14px 26px rgba(214,24,24,.34) !important; transform:translateY(-1px); }
[class*="suredash"] input[type="text"]:focus, [class*="suredash"] input[type="email"]:focus, [class*="suredash"] input[type="password"]:focus{ outline:0 !important; border-color:#D61818 !important; box-shadow:0 0 0 3px rgba(214,24,24,.15) !important; }
[class*="suredash"] a{ color:#D61818; }
/* Auth pages (Login 4 / Register 5): drop the page title + 100vh gap, compact centered card */
body.page-id-4 .wp-block-post-title, body.page-id-5 .wp-block-post-title{ display:none !important; }
body.page-id-4 main, body.page-id-5 main{ padding-top:0 !important; margin-top:0 !important; }
body.page-id-4 main > .wp-block-group, body.page-id-5 main > .wp-block-group{ padding-top:0 !important; }
body.page-id-4 .wp-block-cover, body.page-id-5 .wp-block-cover{ min-height:auto !important; padding-top:3.5rem !important; padding-bottom:4.5rem !important; }
body.page-id-4 .wp-block-cover .wp-block-group.has-white-background-color, body.page-id-5 .wp-block-cover .wp-block-group.has-white-background-color{ border-radius:16px !important; box-shadow:0 4px 12px rgba(20,20,20,.07), 0 28px 56px rgba(20,20,20,.15) !important; border-color:rgba(20,20,20,.07) !important; }
/* Full-bleed pages (Home 64 / About 66 / Contact 67): drop WP global side padding so .c-bleed centers on the viewport (was offset right, clipping cards at mid widths) */
body.page-id-64 main, body.page-id-66 main, body.page-id-67 main,
body.page-id-64 main > .wp-block-group, body.page-id-66 main > .wp-block-group, body.page-id-67 main > .wp-block-group{ padding-left:0 !important; padding-right:0 !important; }
/* --- Homepage FAQ accordion --- */
.hy-faq{ max-width:none; }
.hy-faq details{ border-bottom:1px solid var(--t-border-color); }
.hy-faq summary{ list-style:none; cursor:pointer; padding:1.15rem 2.2rem 1.15rem 0; position:relative; font-family:var(--t-font-heading); font-weight:700; font-size:1.1rem; color:var(--t-text-strongest); }
.hy-faq summary::-webkit-details-marker{ display:none; }
.hy-faq summary::after{ content:"+"; position:absolute; right:.2rem; top:50%; transform:translateY(-50%); font-weight:400; font-size:1.6rem; line-height:1; color:var(--t-brand-primary); }
.hy-faq details[open] summary::after{ content:"\2212"; }
.hy-faq details p{ margin:-.2rem 0 1.2rem; color:var(--t-text-strong); line-height:1.65; max-width:40rem; }
/* Header logo: the elearning red-K mark, replacing the text wordmark */
.wp-block-site-title{ font-size:0 !important; line-height:0 !important; }
.wp-block-site-title a{ display:inline-block; width:52px; height:46px; background:url('https://hyunokjang.com/wp-content/uploads/2026/06/Koreanischkurs-Logo-160.png') left center / contain no-repeat; }

/* --- Hangul self-check (tap to reveal) --- */
.hy-check{ display:grid; grid-template-columns:repeat(auto-fill,minmax(112px,1fr)); gap:12px; max-width:48rem; }
.hy-check details{ background:#fff; border:1px solid var(--t-border-color); border-radius:14px; box-shadow:var(--t-shadow-1); text-align:center; transition:transform .15s ease; }
.hy-check details:hover{ transform:translateY(-2px); }
.hy-check summary{ list-style:none; cursor:pointer; padding:1.1rem .5rem; font-family:"Noto Sans KR","Cabin",sans-serif; font-weight:700; font-size:2rem; color:var(--t-text-strongest); line-height:1; }
.hy-check summary::-webkit-details-marker{ display:none; }
.hy-check details[open] summary{ color:var(--t-brand-primary); padding-bottom:.4rem; }
.hy-check details p{ margin:0; padding:0 .5rem 1rem; color:var(--t-brand-primary); font-weight:700; font-size:1.05rem; }