/*
Theme Name: Pilot AI Ops
Theme URI: https://pilotaiops.net
Author: Pilot AI Ops
Description: Natural green, white & pastel theme — Coding & Philosophy. Live star canvas, parallax heroes, full Elementor support. All content editable via Customizer.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: pilot-ai-ops
Tags: natural, custom-menu, custom-logo, elementor
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;1,400&family=Inter:wght@300;400;500;600&display=swap');
@import url('assets/css/modes.css');

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  --bg:#060a14;
  --gold:#e8b84b;--gold2:#f5d78e;
  --teal:#4fc3f7;--purple:#c4a0ff;
  --text:#e8eaf0;--muted:#9aa5b8;
  --card-bg:rgba(255,255,255,.04);
  --card-bd:rgba(255,255,255,.08);
  --serif:'Playfair Display',Georgia,serif;
  --sans:'Inter','Helvetica Neue',Arial,sans-serif;
}

html{scroll-behavior:smooth;font-size:16px}
body{background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.7;overflow-x:hidden}
body.elementor-page{background:var(--bg)}
h1,h2,h3,h4,h5,h6{font-family:var(--serif);color:#fff;line-height:1.2}
a{color:var(--gold);text-decoration:none;transition:color .2s}
a:hover{color:var(--gold2)}
p{margin-bottom:1.2rem}
img{max-width:100%;height:auto;display:block}

/* CANVAS */
#fn-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}

/* PAGE */
#page{position:relative;z-index:1}

/* ── NAV ── */
#site-header{
  position:fixed;top:0;left:0;right:0;z-index:9999;
  height:64px;display:flex;align-items:center;justify-content:space-between;
  padding:0 5%;
  background:rgba(6,10,20,.88);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:background .3s;
}
#site-header.scrolled{background:rgba(4,8,18,.97)}

.fn-logo-wrap a{display:flex;align-items:center;gap:12px;text-decoration:none}
.fn-logo-img{object-fit:contain;transition:all .3s}
.fn-logo-text{font-family:var(--serif);font-weight:700;letter-spacing:2px;color:#fff;font-size:1.4rem;line-height:1;}
.fn-logo-text span{color:var(--gold);font-style:italic}

#primary-menu{display:flex;align-items:stretch;list-style:none;height:64px}
#primary-menu>li{display:flex;align-items:center;position:relative}
#primary-menu>li>a{color:var(--muted);font-size:.82rem;letter-spacing:1px;text-transform:uppercase;font-weight:500;padding:0 1.2rem;height:100%;display:flex;align-items:center;transition:color .2s;}
#primary-menu>li>a:hover,#primary-menu>li.current-menu-item>a{color:#fff}

#primary-menu .sub-menu{
  position:absolute;top:100%;left:50%;
  transform:translateX(-50%) translateY(-4px);
  background:rgba(6,10,20,.97);
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;padding:10px 0;min-width:230px;
  list-style:none;opacity:0;visibility:hidden;
  transition:opacity .2s,visibility .2s,transform .2s;
  pointer-events:none;backdrop-filter:blur(24px);
  box-shadow:0 24px 60px rgba(0,0,0,.7);z-index:10000;
}
#primary-menu .sub-menu::before{content:'';position:absolute;top:-12px;left:0;right:0;height:12px}
#primary-menu>li:hover>.sub-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:auto}
#primary-menu .sub-menu li a{display:block;padding:9px 20px;color:var(--muted);font-size:.79rem;letter-spacing:.5px;text-transform:uppercase;border-left:2px solid transparent;transition:all .15s;}
#primary-menu .sub-menu li a:hover{color:#fff;border-left-color:var(--gold);background:rgba(255,255,255,.04)}
.menu-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;padding:8px 12px;cursor:pointer;font-size:.9rem}

/* ── HERO ── */
.fn-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:1}
.fn-hero--md{min-height:85vh}
.fn-hero__bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.fn-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .1s linear}
.fn-hero__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(6,10,20,.35) 0%,rgba(6,10,20,.55) 60%,rgba(6,10,20,.98) 100%)}
.fn-hero__content{position:relative;z-index:2;text-align:center;padding:2rem;max-width:860px;margin-top:64px}
.fn-hero__tag{display:inline-block;margin-bottom:1.2rem;padding:6px 20px;border:1px solid rgba(232,184,75,.45);border-radius:30px;font-size:.7rem;letter-spacing:3px;text-transform:uppercase;color:var(--gold);background:rgba(232,184,75,.08);}
.fn-hero__title{font-family:var(--serif);font-size:clamp(2.4rem,5.5vw,4.8rem);font-weight:700;line-height:1.1;color:#fff;text-shadow:0 2px 40px rgba(0,0,0,.9);margin-bottom:1.2rem;}
.fn-hero__title em{font-style:normal;color:var(--gold)}
.fn-hero__sub{font-size:1.05rem;line-height:1.85;color:rgba(232,234,240,.82);max-width:620px;margin:0 auto 2.5rem;font-weight:300;text-shadow:0 1px 8px rgba(0,0,0,.8);}
.fn-cta-group{display:inline-flex;gap:.8rem;flex-wrap:wrap;justify-content:center}
.fn-scroll-hint{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted);font-size:.68rem;letter-spacing:2px;text-transform:uppercase;animation:fn-bob 2.2s ease-in-out infinite;}
@keyframes fn-bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(9px)}}

/* ── BUTTONS ── */
.fn-btn{display:inline-block;padding:13px 34px;border-radius:50px;font-size:.83rem;letter-spacing:1px;text-transform:uppercase;font-weight:600;text-decoration:none;transition:all .25s;cursor:pointer;border:none}
.fn-btn--primary{background:linear-gradient(135deg,#bf7f18,#e8b84b);color:#060a14}
.fn-btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(232,184,75,.45);color:#060a14}
.fn-btn--ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}
.fn-btn--ghost:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.65);color:#fff}
.fn-btn--teal{color:var(--teal);border-color:rgba(79,195,247,.5)}
.fn-btn--teal:hover{color:var(--teal)}
.fn-btn--purple{color:var(--purple);border-color:rgba(180,130,255,.5)}
.fn-btn--purple:hover{color:var(--purple)}

/* ── DIVIDER ── */
.fn-divider{height:100px;position:relative;z-index:1;display:flex;align-items:center;justify-content:center}
.fn-divider__line{width:55%;height:1px;background:linear-gradient(90deg,transparent,rgba(232,184,75,.25),transparent)}

/* ── SECTIONS ── */
.fn-section{position:relative;z-index:1;padding:100px 5%}
.fn-section--sm{padding:60px 5%}
.fn-section-header{text-align:center;margin-bottom:60px}
.fn-label{display:inline-block;margin-bottom:12px;font-size:.7rem;letter-spacing:3px;text-transform:uppercase;color:var(--teal)}
.fn-section-title{font-family:var(--serif);font-size:2.3rem;color:#fff;margin-bottom:16px}
.fn-section-desc{color:var(--muted);font-size:.95rem;max-width:520px;margin:0 auto;line-height:1.8}

/* ── CARDS ── */
.fn-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px;max-width:1200px;margin:0 auto}
.fn-card{background:var(--card-bg);border:1px solid var(--card-bd);border-radius:20px;overflow:hidden;transition:all .3s;cursor:pointer}
.fn-card:hover{background:rgba(255,255,255,.06);transform:translateY(-6px);border-color:rgba(255,255,255,.16)}
.fn-card__img{height:200px;position:relative;overflow:hidden}
.fn-card__img-inner{width:100%;height:100%;background-size:cover;background-position:center;transition:transform .6s}
.fn-card:hover .fn-card__img-inner{transform:scale(1.06)}
.fn-card__cat{position:absolute;top:14px;left:14px;padding:5px 14px;border-radius:20px;font-size:.68rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;backdrop-filter:blur(10px)}
.fn-cat--aviation{background:rgba(232,184,75,.25);color:var(--gold);border:1px solid rgba(232,184,75,.4)}
.fn-cat--coding{background:rgba(79,195,247,.2);color:var(--teal);border:1px solid rgba(79,195,247,.35)}
.fn-cat--philosophy{background:rgba(180,130,255,.2);color:var(--purple);border:1px solid rgba(180,130,255,.35)}
.fn-card__body{padding:24px}
.fn-card__title{font-family:var(--serif);font-size:1.12rem;color:#fff;margin-bottom:10px;line-height:1.35}
.fn-card__excerpt{font-size:.84rem;color:var(--muted);line-height:1.75;margin-bottom:16px}
.fn-card__meta{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;color:rgba(154,165,184,.6)}
.fn-card__read{color:var(--gold);font-size:.78rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;transition:letter-spacing .2s}
.fn-card__read:hover{letter-spacing:2px;color:var(--gold2)}

/* ── READING (기본 dark 스타일 — functions.php mode별로 override됨) ── */
.fn-reading{max-width:740px;margin:0 auto;background:rgba(255,255,255,.03);border:1px solid var(--card-bd);border-radius:24px;padding:60px}
.fn-reading__cat{display:inline-block;margin-bottom:1.2rem;padding:5px 16px;border-radius:20px;font-size:.68rem;letter-spacing:2px;text-transform:uppercase;background:rgba(232,184,75,.1);color:var(--gold);border:1px solid rgba(232,184,75,.25)}
.fn-reading__title{font-family:var(--serif);font-size:2.1rem;color:#fff;line-height:1.25;margin-bottom:1.2rem}
.fn-reading__meta{display:flex;gap:20px;font-size:.78rem;color:var(--muted);margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid var(--card-bd)}
.fn-reading__body,.entry-content{font-size:1.05rem;line-height:1.95;color:#cdd5e4;font-family:var(--serif)}
.fn-reading__body p,.entry-content p{margin-bottom:1.6rem}
.fn-reading__body h1,.entry-content h1{font-size:1.5rem;color:var(--text);margin:2.5rem 0 1rem;border-left:3px solid var(--gold);padding-left:16px}
.fn-reading__body h2,.entry-content h2{font-size:1.35rem;color:var(--text);margin:2.5rem 0 1rem;border-left:3px solid var(--gold);padding-left:16px}
.fn-reading__body h3,.entry-content h3{font-size:1.1rem;color:var(--text);margin:2rem 0 .8rem}
.fn-reading__body h4,.entry-content h4{font-size:1.1rem;color:var(--text);margin:2rem 0 .8rem}
.fn-reading__body h5,.entry-content h5{font-size:1rem;color:var(--text);margin:1.8rem 0 .8rem}
.fn-reading__body h6,.entry-content h6{font-size:.95rem;color:var(--text);margin:1.5rem 0 .8rem}
.fn-reading__body blockquote,.entry-content blockquote{margin:2rem 0;padding:20px 28px;background:rgba(232,184,75,.06);border-left:3px solid var(--gold);border-radius:0 12px 12px 0;color:var(--gold2);font-style:italic}

/* ── ABOUT ── */
.fn-about__inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.fn-about__badge{display:inline-block;padding:4px 14px;margin-bottom:1rem;background:rgba(79,195,247,.12);border:1px solid rgba(79,195,247,.3);border-radius:20px;font-size:.7rem;letter-spacing:2px;color:var(--teal);text-transform:uppercase}
.fn-about__title{font-size:2.3rem;margin-bottom:1.2rem}
.fn-about__text{color:var(--muted);line-height:1.9;font-size:.95rem;margin-bottom:1rem}
.fn-certs{display:flex;gap:12px;flex-wrap:wrap;margin-top:1.5rem}
.fn-cert-pill{padding:8px 18px;border-radius:30px;font-size:.78rem;font-weight:600;letter-spacing:1px;background:rgba(232,184,75,.1);border:1px solid rgba(232,184,75,.35);color:var(--gold)}
.fn-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fn-stat-card{padding:28px 24px;background:var(--card-bg);border:1px solid var(--card-bd);border-radius:16px;text-align:center;transition:all .3s}
.fn-stat-card:hover{background:rgba(255,255,255,.07);transform:translateY(-3px)}
.fn-stat-num{font-family:var(--serif);font-size:2.8rem;color:var(--gold);font-weight:700;line-height:1}
.fn-stat-label{font-size:.72rem;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;margin-top:.5rem}

/* ── LINKS ── */
.fn-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:900px;margin:0 auto}
.fn-link-card{display:flex;align-items:center;gap:20px;padding:28px;background:var(--card-bg);border:1px solid var(--card-bd);border-radius:18px;text-decoration:none;color:var(--text);transition:all .3s}
.fn-link-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.07);color:var(--text)}
.fn-link-icon{width:52px;height:52px;border-radius:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.4rem}
.fn-link-title{font-size:1rem;font-weight:600;color:#fff;margin-bottom:4px}
.fn-link-url{font-size:.78rem;color:var(--muted)}
.fn-link-desc{font-size:.78rem;color:var(--muted);margin-top:6px;line-height:1.6}

/* ── FOOTER ── */
#site-footer{position:relative;z-index:1;padding:48px 5%;border-top:1px solid rgba(255,255,255,.06);text-align:center}
.fn-footer-logo{font-family:var(--serif);font-size:1.5rem;color:var(--gold);margin-bottom:10px;font-style:italic}
.fn-footer-sub{font-size:.78rem;color:var(--muted);letter-spacing:1px;margin-bottom:20px}
.fn-footer-nav{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin-bottom:22px}
.fn-footer-nav a{font-size:.74rem;color:var(--muted);letter-spacing:1px;text-transform:uppercase}
.fn-footer-nav a:hover{color:var(--gold)}
.fn-footer-copy{font-size:.7rem;color:rgba(154,165,184,.35)}

/* ── ELEMENTOR ── */
.elementor-section,.e-con{position:relative;z-index:1}
.elementor-widget-heading .elementor-heading-title{font-family:var(--serif);color:#fff}
.elementor-widget-text-editor{color:var(--muted);line-height:1.85}
.elementor-button{border-radius:50px!important;letter-spacing:1px;text-transform:uppercase;font-weight:600}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  #primary-menu{display:none}
  #primary-menu.active{display:flex;flex-direction:column;height:auto;position:fixed;top:64px;left:0;right:0;background:rgba(6,10,20,.97);padding:1rem 0;z-index:9998}
  .menu-toggle{display:block}
  .fn-about__inner{grid-template-columns:1fr;gap:40px}
  .fn-reading{padding:32px 20px}
  .fn-cards-grid{grid-template-columns:1fr}
  .fn-hero__title{font-size:2.2rem}
}

/* ════════════════════════════════════════════
   SIDEBAR LAYOUT
   ════════════════════════════════════════════ */
:root { --sb-w: 280px; }

#fn-layout {
  display: flex;
  min-height: 100vh;
  position: relative;
  z-index: 1;
}

#fn-sidebar {
  position: fixed;
  top: 0; left: 0; bottom: 0;
  width: var(--sb-w);
  background: var(--sb-bg, #0F1E3A);
  border-right: 2px solid var(--sb-border, #C8A84B);
  z-index: 8000;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  box-shadow: 4px 0 40px rgba(0,0,0,.5);
  transition: transform .3s cubic-bezier(.4,0,.2,1);
}

.fn-sb-inner { padding: 1.5rem 1.25rem; flex: 1 }

.fn-sb-heading {
  display: flex; align-items: center; gap: 8px;
  font-size: .65rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase;
  color: var(--gold); margin-bottom: 1.5rem; padding-bottom: 1rem;
  border-bottom: 1px solid rgba(200,168,75,.2);
}
.fn-sb-heading svg { width:16px; height:16px; flex-shrink:0 }

.fn-sb-nav { list-style: none; margin-bottom: .5rem }
.fn-sb-nav li { margin-bottom: 2px }
.fn-sb-nav > li > a {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 12px; border-radius: 8px;
  color: rgba(232,234,240,.7); font-size: .85rem; font-weight: 500;
  border-left: 2px solid transparent; transition: all .18s; text-decoration: none;
  cursor: pointer;
}
.fn-sb-nav > li > a:hover,
.fn-sb-nav > li > a.active {
  color: #fff; background: rgba(200,168,75,.1); border-left-color: var(--gold);
}
.fn-sb-nav > li > a svg { width:18px; height:18px; flex-shrink:0; stroke:currentColor }

.fn-sb-accordion-btn {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; padding: 10px 12px; border-radius: 8px;
  background: none; border: none; border-left: 2px solid transparent;
  color: rgba(232,234,240,.7); font-family: var(--sans); font-size: .85rem;
  font-weight: 500; cursor: pointer; transition: all .18s; text-align: left;
}
.fn-sb-accordion-btn:hover {
  color: #fff; background: rgba(200,168,75,.1); border-left-color: var(--gold);
}
.fn-sb-accordion-btn .fn-sb-btn-inner { display: flex; align-items: center; gap: 12px; }
.fn-sb-accordion-btn svg { width:18px; height:18px; flex-shrink:0; stroke:currentColor }
.fn-sb-chevron { width:14px; height:14px; transition:transform .25s; flex-shrink:0 }
.fn-sb-accordion-btn.open .fn-sb-chevron { transform: rotate(180deg) }

.fn-sb-subnav-wrap { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.fn-sb-subnav {
  list-style: none !important;
  margin: 4px 0 4px 20px !important;
  padding-left: 14px !important;
  border-left: 2px solid rgba(200,168,75,.25) !important;
}
.fn-sb-subnav li {
  list-style: none !important;
  margin-bottom: 2px;
}
.fn-sb-subnav li { margin-bottom: 2px }
.fn-sb-subnav a {
  display: block; padding: 7px 12px !important;
  border-radius: 6px; font-size: .8rem !important;
  color: rgba(232,234,240,.65); transition: all .15s;
  text-decoration: none; letter-spacing: .3px;
}
.fn-sb-subnav a:hover { color: #fff; background: rgba(255,255,255,.06); }

.fn-sb-subnav--child { list-style: none; margin: 1px 0; padding: 0; border-left: none; }
.fn-sb-subnav--child > li > a {
  padding: 5px 8px 5px 14px !important; font-size: .78rem !important;
  color: rgba(232,234,240,.55) !important; border-left: 2px solid rgba(200,168,75,.3);
  margin-left: 8px; display: block;
}
.fn-sb-subnav--child > li > a:hover {
  color: #fff !important; border-left-color: var(--gold); background: rgba(255,255,255,.04) !important;
}
#fn-create-icon-btn {
  width: 48px; height: 48px; border-radius: 50%;
  background: rgba(79,195,247,.18);
  border: 1px solid rgba(79,195,247,.45);
  color: #4fc3f7; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem;
  box-shadow: 0 4px 20px rgba(0,0,0,.35);
  transition: all .2s;
}
#fn-create-icon-btn:hover { 
  background: rgba(79,195,247,.32); 
  transform: scale(1.08);
}
.fn-sb-divider { height: 1px; background: rgba(200,168,75,.15); margin: 1rem 0; }

#fn-content-wrap { margin-left: var(--sb-w); flex: 1; display: flex; flex-direction: column; min-width: 0; }

#site-header { left: var(--sb-w); }

.mode-white #fn-sidebar { background: #1a2744; border-right-color: #C8A84B; }

@media (max-width: 768px) {
  #fn-sidebar { transform: translateX(-100%); }
  #fn-sidebar.sb-open { transform: translateX(0); }
  #fn-content-wrap { margin-left: 0; }
  #site-header { left: 0; }
  #fn-sb-overlay {
    display: none; position: fixed; inset: 0;
    background: rgba(0,0,0,.6); backdrop-filter: blur(4px); z-index: 7999;
  }
  #fn-sb-overlay.active { display: block }
}

/* ════════════════════════════════════════════
   ARTICLE READING — Desert Newspaper (single.php)
   ════════════════════════════════════════════ */

.fn-reading-zone {
  min-height: 100vh; padding: 0; position: relative; z-index: 1;
  background: linear-gradient(135deg, #fdf8ee 0%, #f5edd8 50%, #ede0c4 100%);
}

/* Desert newspaper card — single.php 기본 */
.fn-reading {
  max-width: 780px; margin: 0 auto;
  background: #fffdf7; border: none; border-radius: 0;
  padding: 80px 72px 100px;
  box-shadow: 0 1px 0 #d4c9a8, 0 2px 0 #c8bc9a, 4px 4px 20px rgba(120,90,40,.08);
  position: relative;
}
.fn-reading::before {
  content: ''; display: block; width: 100%; height: 4px;
  background: linear-gradient(90deg, #8b6914, #c8a84b, #8b6914);
  position: absolute; top: 0; left: 0;
}

.fn-reading__cat {
  display: inline-block; margin-bottom: 1rem; padding: 3px 14px;
  border-radius: 0; font-size: .68rem; letter-spacing: 3px; text-transform: uppercase;
  background: transparent; color: #8b6914; border: 1px solid #c8a84b;
  font-family: 'Georgia', serif; font-weight: 700;
}
.fn-reading__title {
  font-family: 'Georgia', 'Times New Roman', serif;
  font-size: clamp(1.8rem, 4vw, 2.6rem); color: #1a1208; line-height: 1.2;
  margin-bottom: 0.6rem; font-weight: 700; letter-spacing: -.01em;
  border-bottom: 2px solid #1a1208; padding-bottom: 1rem;
}
.fn-reading__meta {
  display: flex; gap: 1.5rem; flex-wrap: wrap; font-size: .75rem;
  color: #8a7a5a; margin-bottom: 2.5rem; font-family: 'Georgia', serif;
  font-style: italic; letter-spacing: .3px;
}
.fn-reading__meta::after {
  content: ''; display: block; width: 100%; height: 1px;
  background: #d4c9a8; margin-top: .8rem;
}

.fn-reading__body,
.fn-reading-zone .entry-content {
  font-family: 'Georgia', 'Times New Roman', serif;
  font-size: 1.15rem !important; line-height: 2.05 !important;
  color: #1e1608;
}
.fn-reading__body p, .fn-reading-zone .entry-content p {
  margin-bottom: 1.5rem; text-align: justify; hyphens: auto;
}
.fn-reading__body > p:first-of-type::first-letter,
.fn-reading-zone .entry-content > p:first-of-type::first-letter {
  font-size: 4.2rem; font-weight: 700; line-height: .75;
  float: left; margin: .05em .12em -.05em 0;
  color: #8b6914; font-family: 'Georgia', serif;
}
.fn-reading__body h2, .fn-reading-zone .entry-content h2 {
  font-family: 'Georgia', serif; font-size: 1.4rem; color: #1a1208;
  margin: 2.5rem 0 .8rem; border-left: none;
  border-bottom: 2px solid #c8a84b; padding: 0 0 .4rem;
  text-transform: uppercase; letter-spacing: .08em;
}
.fn-reading__body h3, .fn-reading-zone .entry-content h3 {
  font-size: 1.1rem; color: #3a2a0a; margin: 2rem 0 .6rem; font-style: italic;
}
.fn-reading__body blockquote, .fn-reading-zone .entry-content blockquote {
  margin: 2.5rem 0; padding: 1.5rem 2rem; background: transparent;
  border-left: none; border-top: 2px solid #c8a84b; border-bottom: 2px solid #c8a84b;
  border-radius: 0; color: #5a3e10; font-style: italic; font-size: 1.15rem;
  line-height: 1.7; text-align: center; position: relative;
}
.fn-reading__body blockquote::before {
  content: '"'; font-size: 5rem; color: #c8a84b; line-height: 0;
  position: absolute; top: 1.2rem; left: .8rem; font-family: 'Georgia', serif;
}
.fn-reading__body img, .fn-reading-zone .entry-content img {
  max-width: 100%; height: auto; border: 1px solid #d4c9a8;
  padding: 6px; background: #fff; display: block; margin: 1.5rem auto;
}
.fn-reading-nav {
  display: flex; justify-content: space-between;
  margin-top: 3rem; padding-top: 2rem; border-top: 2px solid #d4c9a8;
  font-size: .85rem; font-family: 'Georgia', serif; font-style: italic; color: #8a7a5a;
}
.fn-reading-nav a { color: #8b6914; text-decoration: none }
.fn-reading-nav a:hover { text-decoration: underline }
.fn-reading-tags { margin-top: 2rem; font-size: .78rem; color: #8a7a5a; font-family: 'Georgia', serif; font-style: italic; }

.fn-reading-zone .comments-area {
  max-width: 780px; margin: 0 auto; padding: 40px 72px;
  background: #fffdf7; border-top: 1px solid #d4c9a8;
}

/* ════════════════════════════════════════════
   SIDEBAR COLLAPSE
   ════════════════════════════════════════════ */

#fn-sb-collapse-btn {
  position: fixed !important;
  top: 50%; left: calc(var(--sb-w, 280px) - 16px);
  transform: translateY(-50%);
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--gold, #e8b84b); border: none; cursor: pointer;
  display: flex !important; align-items: center; justify-content: center;
  z-index: 9999; box-shadow: 0 2px 12px rgba(0,0,0,.5);
  transition: left .3s cubic-bezier(.4,0,.2,1), background .2s;
}
#fn-sb-collapse-btn:hover { background: var(--gold2, #f5d78e) }
#fn-sb-collapse-btn svg { width:14px; height:14px; stroke:#060a14; transition:transform .3s; display:block; }
body.sb-collapsed #fn-sb-collapse-btn { left: -1px; }
body.sb-collapsed #fn-sb-collapse-btn svg { transform: rotate(180deg); }

#fn-sidebar.collapsed { width:0; padding:0; overflow:hidden; border-right-width:0; }
#fn-sidebar.collapsed .fn-sb-inner { opacity:0; pointer-events:none }
#fn-content-wrap { transition: margin-left .3s cubic-bezier(.4,0,.2,1); }
#fn-sidebar { transition: width .3s cubic-bezier(.4,0,.2,1), transform .3s cubic-bezier(.4,0,.2,1); }
#fn-layout { overflow: hidden }
body.sb-collapsed #fn-content-wrap { margin-left: 0 }
body.sb-collapsed #site-header { left: 0 }

/* ════════════════════════════════════════
   UI 공통
   ════════════════════════════════════════ */

#fn-tagline { border: none !important; padding-left: 0 !important; }

.fn-card-link { display: block; text-decoration: none; color: inherit; border-radius: 20px; overflow: hidden; }
.fn-card-link .fn-card { margin: 0; height: 100%; }
.fn-card-link:hover .fn-card { transform: translateY(-6px); background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.16); }

#site-header { height: 80px !important; }
body.single .fn-reading-zone { padding-top: 0; }
.fn-hero__content { margin-top: 80px }

/* Single 페이지 본문 너비 */
.fn-single-wrap { width: 80vw; max-width: 960px; margin: 60px auto; padding: 0 0 80px; }
@media (max-width: 768px) { .fn-single-wrap { width: 92vw; margin: 32px auto } }

/* 사이드바 flex 하단 고정 */
#fn-sidebar { display: flex !important; flex-direction: column !important; }
#fn-sidebar .fn-sb-inner { flex:1 !important; display:flex !important; flex-direction:column !important; min-height:0; }
.fn-sb-top { flex: 0 0 auto }
.fn-sb-bottom { flex: 0 0 auto; padding-bottom: 1.5rem; margin-top: auto; }

/* 댓글 가독성 */
.fn-reading-zone .comment-respond { margin-top:3rem; padding:2.5rem 3rem; background:#fffdf7; border-top:3px solid #c8a84b; }
.fn-reading-zone #reply-title { font-family:'Georgia',serif; font-size:1.4rem; color:#1a1208; text-transform:uppercase; margin-bottom:1.5rem; padding-bottom:.8rem; border-bottom:1px solid #d4c9a8; }
.fn-reading-zone .comment-form label { display:block; font-family:'Georgia',serif; font-size:.82rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#5a3e10; margin-bottom:.4rem; }
.fn-reading-zone .comment-form input[type="text"],
.fn-reading-zone .comment-form input[type="email"],
.fn-reading-zone .comment-form input[type="url"],
.fn-reading-zone .comment-form textarea { width:100%; padding:10px 14px; border:1px solid #d4c9a8; border-radius:4px; background:#fff; color:#1a1208; font-family:'Georgia',serif; font-size:1rem; margin-bottom:1.2rem; }
.fn-reading-zone .comment-form input:focus,
.fn-reading-zone .comment-form textarea:focus { outline:none; border-color:#c8a84b; box-shadow:0 0 0 3px rgba(200,168,75,.15); }
.fn-reading-zone .comment-form textarea { min-height:140px; resize:vertical }
.fn-reading-zone .form-submit input[type="submit"] { padding:12px 32px; background:linear-gradient(135deg,#8b6914,#c8a84b); color:#fff; border:none; border-radius:4px; font-family:'Georgia',serif; font-size:.9rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.fn-reading-zone .form-submit input[type="submit"]:hover { filter:brightness(1.1) }
.fn-reading-zone .comment-list { list-style:none; padding:0; margin:0 0 2rem }
.fn-reading-zone .comment-body { padding:1.5rem; background:#fdf8ee; border:1px solid #e8dfc8; border-radius:4px; margin-bottom:1rem; }
.fn-reading-zone .comment-meta { font-size:.8rem; color:#8a7a5a; margin-bottom:.8rem; font-style:italic }
.fn-reading-zone .comment-content p { color:#1e1608; font-family:'Georgia',serif; font-size:1rem; line-height:1.8 }

/* 모바일 읽기 */
@media (max-width: 768px) {
  .fn-reading { padding: 32px 18px 60px !important; }
  .fn-reading-zone .comments-area { padding: 1.5rem !important; }
}

/* ════════════════════════════════════════════
   APPEARANCE MODE OVERRIDES
   (functions.php와 충돌하지 않도록 fn-reading 배경은 여기서 관리 안 함)
   ════════════════════════════════════════════ */

/* Night Sky 모드 — body 배경 투명 (별 캔버스 보이게) */
body.mode-night,
body.mode-night #page,
body.mode-night #fn-layout,
body.mode-night #fn-content-wrap,
body.mode-night .site-main,
body.mode-night #primary {
  background: transparent !important;
}

/* 랜딩페이지(home) 전용 — 항상 dark starlight 유지 */
body.home #fn-sidebar {
  background: #0F1E3A !important;
  border-right: 2px solid #C8A84B !important;
}
body.home .fn-sb-heading { color: #e8b84b !important; }
body.home .fn-sb-nav > li > a { color: rgba(232,234,240,.8) !important; }
body.home .fn-sb-nav > li > a:hover,
body.home .fn-sb-nav > li > a.active { color: #fff !important; background: rgba(200,168,75,.15) !important; }
body.home .fn-sb-accordion-btn { color: rgba(232,234,240,.7) !important; }
body.home .fn-sb-accordion-btn:hover { color: #fff !important; background: rgba(200,168,75,.1) !important; }
body.home #site-header { background: rgba(6,10,20,.88) !important; border-bottom: 1px solid rgba(255,255,255,.06) !important; }
body.home .fn-hdr-nav-btn { color: #9aa5b8 !important; }
body.home .fn-hdr-nav-btn:hover { color: #fff !important; }
body.home #fn-tagline { color: #fff !important; }