/* ============================================
   知己工作室 共用樣式
   （所有分頁共用這個檔案，改這裡＝全站一起變）
   ============================================ */
:root{
  --cream:#FAF6F0;
  --warm-white:#FFFDF9;
  --terracotta:#C77B5A;
  --terracotta-soft:#E8C4B0;
  --sage:#8FA98B;
  --sage-soft:#DCE5D9;
  --sand:#EFE6D9;
  --ink:#4A4038;
  --ink-soft:#7C6F63;
  --radius:20px;
  --shadow:0 6px 24px rgba(120,95,70,.10);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Noto Sans TC',sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.9;
  letter-spacing:.03em;
  min-height:100vh;
  display:flex;flex-direction:column;
}
main{flex:1;}
h1,h2,h3{font-family:'Noto Serif TC',serif;}

/* ===== 導覽列 ===== */
nav{
  position:sticky;top:0;z-index:100;
  background:rgba(250,246,240,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--sand);
}
.nav-inner{
  max-width:1000px;margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;
}
.logo{font-family:'Noto Serif TC',serif;font-size:1.3rem;font-weight:700;color:var(--terracotta);text-decoration:none;display:flex;align-items:center;gap:8px;}
.logo .circle{width:12px;height:12px;border-radius:50%;background:var(--sage);display:inline-block;}
.nav-links{display:flex;gap:6px;flex-wrap:wrap;}
.nav-links a{
  text-decoration:none;color:var(--ink-soft);font-size:.95rem;
  padding:8px 14px;border-radius:999px;transition:.25s;
}
.nav-links a:hover{background:var(--sand);color:var(--terracotta);}
.nav-links a.active{background:var(--terracotta);color:#fff;}

/* ===== 首頁 hero ===== */
header.hero{
  max-width:1000px;margin:0 auto;padding:80px 24px 60px;
  text-align:center;
}
.hero h1{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:18px;font-weight:700;}
.hero h1 em{font-style:normal;color:var(--terracotta);}
.hero p{color:var(--ink-soft);max-width:560px;margin:0 auto 30px;font-size:1.05rem;}
.hero .deco{display:flex;justify-content:center;gap:10px;margin-bottom:28px;}
.hero .deco i{display:block;border-radius:50%;animation:breathe 4s ease-in-out infinite;}
.hero .deco i:nth-child(1){width:14px;height:14px;background:var(--terracotta-soft);animation-delay:0s;}
.hero .deco i:nth-child(2){width:14px;height:14px;background:var(--sage);animation-delay:.5s;}
.hero .deco i:nth-child(3){width:14px;height:14px;background:var(--terracotta);animation-delay:1s;}
@keyframes breathe{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.35);opacity:1}}
.btn{
  display:inline-block;text-decoration:none;
  background:var(--terracotta);color:#fff;
  padding:12px 32px;border-radius:999px;font-size:1rem;
  box-shadow:var(--shadow);transition:.25s;border:none;cursor:pointer;font-family:inherit;
}
.btn:hover{transform:translateY(-2px);background:#B56A4A;}
.btn.ghost{background:transparent;color:var(--terracotta);border:1.5px solid var(--terracotta);box-shadow:none;margin-left:10px;}
.btn.ghost:hover{background:var(--terracotta);color:#fff;}

/* ===== 區塊通用 ===== */
section{max-width:1000px;margin:0 auto;padding:60px 24px;width:100%;}
.page-header{max-width:1000px;margin:0 auto;padding:60px 24px 0;text-align:center;}
.section-title{text-align:center;margin-bottom:8px;font-size:1.7rem;}
.section-sub{text-align:center;color:var(--ink-soft);margin-bottom:36px;font-size:.98rem;}
.section-title .dot{color:var(--sage);}

/* ===== 搜尋與分類 ===== */
.search-wrap{max-width:560px;margin:0 auto 22px;position:relative;}
.search-wrap input{
  width:100%;padding:14px 22px 14px 52px;
  border:1.5px solid var(--sand);border-radius:999px;
  background:var(--warm-white);font-size:1rem;color:var(--ink);
  font-family:inherit;outline:none;transition:.25s;
}
.search-wrap input:focus{border-color:var(--terracotta-soft);box-shadow:0 0 0 4px rgba(199,123,90,.10);}
.search-wrap svg{position:absolute;left:20px;top:50%;transform:translateY(-50%);width:20px;height:20px;stroke:var(--ink-soft);}
.tags{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:34px;}
.tag{
  cursor:pointer;font-family:inherit;
  background:var(--warm-white);border:1.5px solid var(--sand);
  color:var(--ink-soft);padding:7px 18px;border-radius:999px;font-size:.9rem;transition:.25s;
}
.tag:hover{border-color:var(--sage);color:var(--sage);}
.tag.active{background:var(--sage);border-color:var(--sage);color:#fff;}

/* ===== 文章卡片 ===== */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;}
.card{
  background:var(--warm-white);border-radius:var(--radius);
  padding:28px 26px;box-shadow:var(--shadow);cursor:pointer;
  transition:.25s;border:1px solid transparent;
  display:flex;flex-direction:column;
}
.card:hover{transform:translateY(-4px);border-color:var(--terracotta-soft);}
.card .cat{
  align-self:flex-start;font-size:.78rem;color:var(--sage);
  background:var(--sage-soft);padding:3px 12px;border-radius:999px;margin-bottom:14px;
}
.card h3{font-size:1.15rem;margin-bottom:10px;line-height:1.5;}
.card p{font-size:.92rem;color:var(--ink-soft);flex:1;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.card .meta{margin-top:16px;font-size:.8rem;color:#B3A899;}
.empty{text-align:center;color:var(--ink-soft);padding:40px 0;display:none;}

/* ===== 文章閱讀 ===== */
.reader{display:none;max-width:720px;margin:0 auto;padding:50px 24px 80px;}
.reader.show{display:block;}
.back-btn{
  background:none;border:none;cursor:pointer;font-family:inherit;
  color:var(--terracotta);font-size:.95rem;margin-bottom:30px;
  display:flex;align-items:center;gap:6px;padding:8px 0;
}
.back-btn:hover{text-decoration:underline;}
.reader .cat{font-size:.82rem;color:var(--sage);background:var(--sage-soft);padding:4px 14px;border-radius:999px;display:inline-block;margin-bottom:16px;}
.reader h1{font-size:1.8rem;margin-bottom:12px;line-height:1.5;}
.reader .meta{color:#B3A899;font-size:.88rem;margin-bottom:36px;padding-bottom:24px;border-bottom:1px solid var(--sand);}
.reader .body p{margin-bottom:1.4em;font-size:1.02rem;}

/* ===== 影音區 ===== */
.video-placeholder{
  background:var(--warm-white);border:2px dashed var(--terracotta-soft);
  border-radius:var(--radius);padding:60px 30px;text-align:center;color:var(--ink-soft);
}
.video-placeholder .icon{font-size:2.4rem;margin-bottom:14px;}
.video-placeholder h3{margin-bottom:8px;font-size:1.2rem;}

/* ===== 關於 ===== */
.about-box{
  background:var(--warm-white);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:44px 40px;
  display:grid;grid-template-columns:1fr 2fr;gap:36px;align-items:center;
}
.about-visual{
  aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 35% 35%, var(--terracotta-soft), var(--sage-soft));
  display:flex;align-items:center;justify-content:center;
  font-family:'Noto Serif TC',serif;font-size:1.5rem;
  max-width:220px;margin:0 auto;width:100%;
}
.about-text h3{font-size:1.35rem;margin-bottom:14px;color:var(--terracotta);}
.about-text p{color:var(--ink-soft);margin-bottom:12px;font-size:.98rem;}
@media(max-width:700px){.about-box{grid-template-columns:1fr;text-align:center;}}

/* ===== 首頁快速入口卡片 ===== */
.entry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;}
.entry-card{
  background:var(--warm-white);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:34px 28px;text-align:center;text-decoration:none;color:var(--ink);
  transition:.25s;border:1px solid transparent;
}
.entry-card:hover{transform:translateY(-4px);border-color:var(--terracotta-soft);}
.entry-card .icon{font-size:2rem;margin-bottom:12px;}
.entry-card h3{font-size:1.15rem;margin-bottom:8px;}
.entry-card p{font-size:.9rem;color:var(--ink-soft);}

/* ===== 頁尾 ===== */
footer{
  background:var(--sand);margin-top:40px;
  padding:40px 24px;text-align:center;color:var(--ink-soft);font-size:.9rem;
}
footer .logo{justify-content:center;margin-bottom:10px;}


/* ===== 漂浮預約按鈕(全站) ===== */
.book-fab{
  position:fixed;right:20px;bottom:20px;z-index:99;
  background:var(--terracotta);color:#fff;text-decoration:none;
  padding:13px 22px;border-radius:999px;font-size:1rem;font-weight:500;
  box-shadow:0 4px 16px rgba(0,0,0,.18);transition:.2s;
}
.book-fab:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.22);}
@media(max-width:700px){.book-fab{right:14px;bottom:14px;padding:12px 20px;}}

/* ===== 首頁課程預告 banner ===== */
.course-banner{
  display:block;margin-top:28px;padding:16px 22px;text-align:center;
  background:var(--sand);border:1px solid var(--terracotta-soft);border-radius:var(--radius);
  color:var(--terracotta);text-decoration:none;font-weight:500;transition:.2s;
}
.course-banner:hover{background:var(--terracotta-soft);}

/* ===== 2026-07-30 更新:logo 圖示與照片卡片 ===== */
.logo img{height:30px;width:auto;display:block;}
footer .logo img{height:24px;}
.hero-logo{height:76px;width:auto;margin-bottom:24px;animation:breathe 5s ease-in-out infinite;}

.entry-grid.two-col{grid-template-columns:repeat(2,1fr);}
@media(max-width:640px){.entry-grid.two-col{grid-template-columns:1fr;}}

.entry-card.photo{padding:0;overflow:hidden;display:flex;flex-direction:column;}
.entry-card.photo .thumb{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;}
.entry-card.photo .body{padding:22px 26px 26px;}
.entry-card.photo .label{display:inline-block;font-size:.78rem;color:var(--sage);background:var(--sage-soft);padding:3px 12px;border-radius:999px;margin-bottom:10px;}

.about-photo{width:100%;max-width:340px;margin:0 auto;display:block;border-radius:var(--radius);object-fit:cover;aspect-ratio:4/3;box-shadow:var(--shadow);}
