/* =============== 0) Global =============== */
:root { --yayava-accent:#0F3D3E; }

/* =============== 1) WPForms =============== */
div.wpforms-container-full .wpforms-form button[type=submit]{
  margin:0 auto!important; display:block!important; width:100%!important;
}

/* =============== 2) Footer =============== */
.site-footer *{color:#555}
.site-footer h4{margin:0 0 8px; color:#0F3D3E; font-weight:700}
.site-footer .footer-list{list-style:none; margin:0; padding:0}
.site-footer .footer-list li{margin:4px 0}
.site-footer a{color:#0F3D3E; text-decoration:none; border-bottom:1px solid rgba(15,61,62,.2)}
.site-footer a:hover{border-bottom-color:#0F3D3E}

/* =============== 3) Main Navigation =============== */
.main-navigation ul li a{font-weight:400; color:#27B2B2; transition:all .3s ease}
.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item a{font-weight:600; border-bottom:2px solid #27B2B2; color:#1a8f8f}

/* Desktop submenu */
.site-header,.main-header-bar{position:relative; z-index:10000; overflow:visible}
.ast-desktop .main-header-menu .menu-item-has-children{position:relative}
.ast-desktop .main-header-menu .sub-menu{
  position:absolute; top:100%; left:0; min-width:220px; background:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.08); border:1px solid #e8f5f6;
  z-index:10001; display:none; opacity:0; visibility:hidden; transition:opacity .15s ease;
}
.ast-desktop .main-header-menu > .menu-item-has-children:hover > .sub-menu,
.ast-desktop .main-header-menu > .menu-item-has-children:focus-within > .sub-menu{display:block; opacity:1; visibility:visible}
.ast-desktop .main-header-menu .sub-menu .menu-link{display:block; padding:8px 16px; white-space:nowrap}
.ast-desktop .main-header-menu .sub-menu .menu-item:hover > .menu-link{background:#f5fcfc}

/* =============== 4) YAYAVA UI Bits =============== */
.yyv-section{max-width:1100px; margin:0 auto; padding:64px 16px}
.yyv-badge{display:inline-block; border:1px solid #2eb3bc; border-radius:999px; padding:.25rem .6rem; font-weight:700; color:#0e4b4f; background:#e6fafb}
.yyv-grid{display:grid; gap:16px}
@media(min-width:640px){.yyv-grid.cols-2{grid-template-columns:repeat(2,1fr)}}
@media(min-width:920px){.yyv-grid.cols-3{grid-template-columns:repeat(3,1fr)}}
.yyv-card{border:2px solid #bde9ec; border-radius:16px; padding:16px; background:#fff; box-shadow:0 6px 0 #e6fbfe; transition:transform .15s ease}
.yyv-card:hover{transform:translateY(-2px)}
.yyv-kicker{color:#0e4b4f; opacity:.8; font-weight:800; text-transform:uppercase; font-size:.85rem; letter-spacing:.06em}
.yyv-title-lg{font-size:clamp(1.8rem,3.4vw,2.6rem); font-weight:900; letter-spacing:-.02em; margin:.25rem 0 8px}
.yyv-btn{border-radius:12px; padding:.6rem .9rem; font-weight:800; display:inline-block}
.yyv-btn-solid{border:2px solid #2eb3bc; background:#2eb3bc; color:#fff}
.yyv-btn-ghost{border:2px solid #2eb3bc; background:#fff; color:#0e4b4f}
.yyv-note{background:#f8feff; border-left:4px solid #2eb3bc; padding:12px 14px; border-radius:8px}
.yyv-meta{display:flex; flex-wrap:wrap; gap:8px 12px; margin:8px 0 4px}
.yyv-meta .item{display:inline-flex; gap:6px; align-items:center; padding:.25rem .5rem; background:#eefbfc; border:1px solid #cfeff3; border-radius:999px; font-weight:700; color:#0e4b4f}
.mark-accent{color:var(--yayava-accent); font-weight:700}

/* =============== 5) Visual presets (hero) =============== */
figure.gyeoldan-hero{position:relative; margin:1.25rem 0; border-radius:16px; overflow:hidden; box-shadow:0 12px 30px rgba(0,0,0,.12)}
figure.gyeoldan-hero>img{width:100%; height:auto; display:block; object-fit:cover; aspect-ratio:16/9}
figure.gyeoldan-hero .hanja-badge{
  position:absolute; left:1rem; bottom:.75rem; font-size:clamp(28px,7vw,84px);
  font-weight:900; letter-spacing:.12em; color:rgba(255,255,255,.96);
  text-shadow:0 2px 18px rgba(0,0,0,.46); backdrop-filter:blur(2px); line-height:1; user-select:none;
}
figure.gyeoldan-hero .roman{display:block; margin-top:.25rem; font-size:clamp(12px,2.6vw,14px); letter-spacing:.08em; opacity:.95}
figure.gyeoldan-hero figcaption{background:#fff; padding:.5rem .75rem; font-size:.92rem; color:#555; text-align:center}
@media(max-width:640px){
  figure.gyeoldan-hero .hanja-badge{bottom:1rem; left:.9rem; padding:.1em .3em; border-radius:6px; background:rgba(0,0,0,.35)}
}
section.ocean-breaker{
  margin:2rem 0; border-radius:16px; color:#fff; position:relative; overflow:hidden; isolation:isolate;
  padding:clamp(48px,8vw,120px) 6vw; background-color:#0b1d24; background-size:cover; background-position:center;
}
section.ocean-breaker::before{
  content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.60)); z-index:0;
}
section.ocean-breaker>*{position:relative; z-index:1}
section.ocean-breaker h3{margin:0 0 .5rem; font-size:clamp(22px,3.2vw,30px); font-weight:800; text-shadow:0 2px 10px rgba(0,0,0,.35)}
section.ocean-breaker p{font-size:clamp(16px,2.6vw,18px); margin:.35rem 0; text-shadow:0 2px 10px rgba(0,0,0,.25)}
section.ocean-breaker .cap{display:block; margin-top:.75rem; font-size:.9rem; opacity:.9}
@media(max-width:640px){
  section.ocean-breaker{padding:40px 5vw}
  section.ocean-breaker::before{background:linear-gradient(180deg,rgba(0,0,0,.38),rgba(0,0,0,.72))}
}

/* 접근성: 모션 최소화 */
@media (prefers-reduced-motion:reduce){
  .main-navigation ul li a,.yyv-card{transition:none!important}
}

/* =============== 6) Posts – Media & Text / Image =============== */
:is(.single-post,.blog,.archive,.home.blog) .wp-block-media-text{
  display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(16px,3vw,28px); align-items:center;
  margin:clamp(20px,4vw,36px) 0;
}
@media(max-width:781px){
  :is(.single-post,.blog,.archive,.home.blog) .wp-block-media-text{grid-template-columns:1fr}
}
:is(.single-post,.blog,.archive,.home.blog) .wp-block-media-text__media{
  border-radius:16px; overflow:hidden; box-shadow:0 12px 30px rgba(0,0,0,.10); background:#f6f8f9; aspect-ratio:16/9; min-height:280px;
}
:is(.single-post,.blog,.archive,.home.blog) .wp-block-media-text__media img{width:100%; height:100%; display:block; object-fit:cover}
:is(.single-post,.blog,.archive,.home.blog) .wp-block-media-text__content{max-width:62ch; line-height:1.75}
:is(.single-post,.blog,.archive,.home.blog) figure figcaption{font-size:.92rem; color:#666; text-align:center; margin-top:.5rem}
:is(.single-post,.blog,.archive,.home.blog) .wp-block-media-text.yyv-portrait .wp-block-media-text__media{aspect-ratio:4/5; min-height:360px}
:is(.single-post,.blog,.archive,.home.blog) .wp-block-media-text.yyv-square .wp-block-media-text__media{aspect-ratio:1/1}
:is(.single-post,.blog,.archive,.home.blog) .wp-block-media-text.yyv-wide .wp-block-media-text__media{aspect-ratio:21/9}
@media(min-width:1100px){
  :is(.single-post,.blog,.archive,.home.blog) .wp-block-media-text.yyv-img-large{grid-template-columns:1.25fr 1fr}
}

/* Full-width images (single) */
.single-post .entry-content .wp-block-image.alignwide img,
.single-post .entry-content .wp-block-image.alignfull img{
  width:100%; height:auto; display:block; object-fit:cover; border-radius:16px; box-shadow:0 12px 30px rgba(0,0,0,.10);
}
.single-post .entry-content .wp-block-image.alignwide figcaption,
.single-post .entry-content .wp-block-image.alignfull figcaption{text-align:center; color:#666; font-size:.92rem; margin-top:.5rem}

/* =============== 7) Blog Backgrounds =============== */
.blog,.single-post,.archive,.home.blog{
  background:
    radial-gradient(1200px 600px at 20% -10%, rgba(39,178,178,.06), transparent 60%),
    radial-gradient(900px 500px at 110% 10%, rgba(15,61,62,.05), transparent 55%),
    linear-gradient(#fbfeff,#f8fdff);
}
.blog::before,.single-post::before,.archive::before,.home.blog::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:-1;
  background-image:radial-gradient(rgba(0,0,0,.02) 1px,transparent 1px); background-size:3px 3px; opacity:.7;
}

/* =============== 8) Blog Landing =============== */
.yyv-blog-landing{padding:32px 16px 64px}
.yyv-blog-hero{
  text-align:center; padding:clamp(48px,6vw,84px) 16px; margin-bottom:16px; border-radius:20px;
  background: radial-gradient(900px 480px at 15% -10%, rgba(39,178,178,.12), transparent 60%),
              radial-gradient(700px 420px at 110% 0%, rgba(15,61,62,.08), transparent 55%),
              linear-gradient(#fbfeff,#f8fdff);
  border:1px solid rgba(39,178,178,.12);
}
.yyv-hero-title{margin:0 0 6px; font-weight:900; letter-spacing:-.02em}
.yyv-hero-sub{margin:4px auto 18px; max-width:760px; color:#0e4b4f; opacity:.9}

/* Buttons */
.yyv-cat-buttons .yyv-cat-grid{display:flex; flex-wrap:wrap; gap:12px; justify-content:center}
.yyv-cat-buttons .yyv-cat-grid .wp-block-button{flex:0 0 200px}
.yyv-cat-buttons .yyv-cat-grid .wp-block-button__link{
  display:flex; justify-content:center; align-items:center; width:100%; height:60px; font-size:1rem;
  border:2px solid #2eb3bc; background:#fff; color:#0e4b4f; font-weight:800;
  border-radius:14px; box-shadow:0 6px 0 #bde9ec;
}
.yyv-hub-grid{gap:18px; margin-top:8px}
.yyv-sec-title{margin:10px 0 12px; font-weight:900; letter-spacing:-.01em}

/* RSS as cards */
.yyv-rss .wp-block-rss__item{border:1px solid #e8f5f6; border-radius:12px; padding:12px; background:#fff; box-shadow:0 6px 18px rgba(0,0,0,.04); margin-bottom:12px}
.yyv-rss .wp-block-rss__item-title{font-weight:800}
.yyv-rss .wp-block-rss__item-publish-date{color:#666; font-size:.9rem}
.yyv-rss .wp-block-rss__item-excerpt{color:#222}

/* CTA */
.yyv-more{justify-content:center; margin-top:8px}
.yyv-more .wp-block-button__link{border:2px solid #2eb3bc; background:#2eb3bc; color:#fff; font-weight:800; border-radius:12px; box-shadow:0 6px 0 #bde9ec}

/* =============== 9) Headings (post content) =============== */
h1.entry-title{font-size:2.2rem; line-height:1.3; font-weight:700; margin-bottom:1rem}
.entry-content h2{font-size:1.4rem; line-height:1.4; font-weight:500; margin:1.5rem 0 1rem}
.entry-content h3{font-size:1.2rem; line-height:1.4; font-weight:500; margin:1.25rem 0 .75rem}

/* =============== 10) Series/Related blocks =============== */
.coming-soon-card{
  display:flex; align-items:center; gap:1rem; padding:18px 20px; border-radius:16px;
  background:linear-gradient(135deg,#dff8f8 0%,#eaf9f9 100%); border:1px solid #b2ebeb; box-shadow:0 6px 14px rgba(0,0,0,.05); margin:20px 0;
}
.coming-soon-card .cs-icon{
  flex:0 0 46px; height:46px; width:46px; border-radius:12px; display:grid; place-items:center; font-size:24px; font-weight:700;
  background:#fff; border:1px solid #b2ebeb; color:#21b6b6; box-shadow:0 3px 8px rgba(0,0,0,.05);
}
.coming-soon-card .cs-text{font-weight:600; font-size:16px; letter-spacing:.3px; color:#134e4a}
.series-navigation,.related-post{margin-top:30px; padding:20px; background:#f7f9fb; border-radius:12px; box-shadow:0 2px 6px rgba(0,0,0,.05)}
.series-navigation h3,.related-post h3{font-size:18px; margin-bottom:12px; color:#0F3D3E}
.series-navigation a,.related-post a{display:inline-block; padding:8px 14px; border-radius:999px; background:#eef3f7; color:#0F3D3E; font-weight:600; text-decoration:none; transition:.3s}
.series-navigation a:hover,.related-post a:hover{background:#0073e6; color:#fff}

/* =============== 11) Header title =============== */
.site-branding .site-title{font-size:clamp(20px,2.2vw,28px); font-weight:700; line-height:1.2; margin:0}
.site-branding .site-title a{color:inherit; text-decoration:none}
.main-header-bar .site-branding{display:flex; align-items:center; gap:.5rem}

/* =============== 12) Misc =============== */
.post-navigation{display:none!important}

/* Pagination: white/black */
.ast-pagination .page-numbers{
  background:#fff!important; color:#000!important; border:1px solid #000!important;
  padding:6px 12px; min-width:34px; text-align:center; border-radius:4px; font-weight:500;
}
.ast-pagination .page-numbers.current{background:#000!important; color:#fff!important}
.ast-pagination a.page-numbers:hover{background:#f5f5f5!important; color:#000!important}

/* Series list in sidebar (shortcode) */
#secondary .widget_block .wp-block-shortcode{margin:0; padding:0}
#secondary .widget_block .wp-block-shortcode .widget-title{
  font-weight:700; font-size:18px; margin:0 0 12px; padding-bottom:6px; border-bottom:1px solid #e5e7eb;
}
.yayava-series-list{margin:0; padding:0; list-style:none}
.yayava-series-list li{margin:8px 0; line-height:1.5}
.yayava-series-list a{text-decoration:none; color:inherit}
.yayava-series-list a:hover{text-decoration:underline}

/* Sidebar sticky OFF (모두 고정 해제) */
#secondary, #secondary .widget, .sidebar-main, .widget-area, .sticky-sidebar, .theiaStickySidebar{
  position:static!important; top:auto!important;
}
/* Social buttons aligned */
.yyv-socials{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.6rem;
  max-width:720px;
  margin:1rem auto 0;
}
.yyv-sns{
  display:block;
  text-align:center;
  padding:1rem .75rem;
  border-radius:14px;
  font-weight:800;
  transition:.12s;
  text-decoration:none;
}
.yyv-sns:hover{transform:translateY(-1px)}

/* Instagram */
.yyv-sns.ig{border:2px solid #E4405F; color:#E4405F; background:#fff; box-shadow:0 4px 0 #ffd1db}
.yyv-sns.ig:hover{background:#E4405F; color:#fff}

/* Threads */
.yyv-sns.th{border:2px solid #000; color:#000; background:#fff; box-shadow:0 4px 0 #d9d9d9}
.yyv-sns.th:hover{background:#000; color:#fff}

/* YouTube */
.yyv-sns.yt{border:2px solid #FF0000; color:#FF0000; background:#fff; box-shadow:0 4px 0 #ffcccc}
.yyv-sns.yt:hover{background:#FF0000; color:#fff}

/* Responsive: stack on small screens */
@media (max-width:520px){
  .yyv-socials{grid-template-columns:1fr}
}