/* =========================================
   基本設定與變數
========================================= */
@charset "UTF-8";

/* 全局顏色變數 */
:root {
  --main-bg: rgb(255, 255, 255);          /* 頁面背景 */
  --section-bg: rgb(39, 92, 160);       /* 區塊背景 */
  --main-green: rgb(39, 92, 160);       /* 主色調 */
  --text-dark: rgb(39, 92, 160);        /* 主要文字 */
  --text-light: #FFFFFF;       /* 白色文字 */
  --menu-btn-bg: rgb(39, 92, 160);      /* MENU 按鈕背景 */
  --menu-btn-hover: rgb(39, 92, 160);   /* MENU hover */
}

/* =========================================
   全局樣式
========================================= */
body {
  background-color: var(--main-bg);
  color: var(--text-dark);
  font-family: "Noto Sans TC", "Microsoft JhengHei", sans-serif;
  line-height: 1.8;
  
  min-height: 100vh;      /* 讓網頁主體至少跟螢幕一樣高 */
  display: flex;
  flex-direction: column; /* 讓內容由上往下排列 */
  margin: 0;              /* 消除預設的外距 */

}

p, .normal-text {
  color: #20201dab; 
  font-size: 18px;
}

/* =========================================
   導覽列
========================================= */
.navbar {
  background-color: var(--main-green) !important;
}

.navbar .nav-link,
.navbar .navbar-brand {
  color: var(--text-light) !important;
  font-size: 16px;
}

.navbar .nav-link:hover,
.navbar .navbar-brand:hover {
  color: #f2f2f2d2 !important; /* 微亮效果 */
}

.navbar-toggler {
  background-color: var(--menu-btn-bg) !important;
  border: none;
}

.navbar-toggler:hover {
  background-color: var(--menu-btn-hover) !important;
}

/* 調整 Menu 按鈕字型大小與尺寸 */
.navbar .navbar-toggler {
  font-size: 14px; /* 字型大小 */
  padding: 10px 15px; /* 上下左右內邊距 */
}

/* =========================================
   區塊設定
========================================= */
.page-section {
  background-color: var(--section-bg);
  padding: 60px 0;
}

/* =========================================
   標題與文字樣式
========================================= */
.section-title {
  font-size: 32px;
  font-weight: bold;
  color: var(--main-green);
  text-align: center;
  margin-bottom: 20px;
}

.section-title-white {
    font-family: 'Montserrat', sans-serif; /* 與 section-title 一致 */
    font-weight: bold;
    font-size: 32px;
    text-transform: none; /* 跟原本一致 */
    color: #fff;
    text-align: center;
}

.artist-name {
  font-size: 28px;
  font-weight: bold;
  color: var(--main-green);
  margin-bottom: 15px;
}

.highlight {
  font-size: 20px;
  font-weight: bold;
  color: var(--main-green);
  display: block;
  margin-top: 15px;
}

/* =========================================
   特定區塊（展出作品 & 茶會照片）
========================================= */
#about3, #about4 {
  background-color: #adc7cc !important;
  color: #ffffff !important;
}

#about3 *, #about4 * {
  color: #ffffff !important;
}

/* =========================================
   按鈕樣式
========================================= */
.btn-primary {
  background-color: var(--main-green);
  border: none;
}

.btn-primary:hover {
  background-color: #5E6B55;
}

/* =========================================
   Footer
========================================= */
.footer {
 background-color: rgb(39, 92, 160);
  color: var(--text-light);
  padding: 30px 0;
  margin-top: auto;
}

.footer h4, .footer p {
  color: var(--text-light);
}

.copyright {
  background-color: rgb(39, 92, 160);
  color: var(--text-light);
}

/* =========================================
   圖片網格（Portfolio）
========================================= */
.bob-container {
  margin: 0 auto;
  padding: 0 15px;
}

.bob-row {
  margin: 0 -15px;
  display: flex;
  flex-wrap: wrap;
}

.bob-2item,
.bob-3item,
.bob-4item {
  position: relative;
  padding: 0 15px;
  float: left;
}

.bob-2item { width: 50%; }
.bob-3item { width: 33.33%; }
.bob-4item { width: 25%; }

.bob-2item img,
.bob-3item img,
.bob-4item img {
  width: 100%;
  display: block;
}

/* =========================================
   RWD 設定
========================================= */
@media (min-width: 768px) {
  .bob-container { width: 750px; }
}

@media (min-width: 992px) {
  .bob-container { width: 970px; }
}

@media (min-width: 1200px) {
  .bob-container { width: 1170px; }
}
img, video {
  max-width: 100%;
  height: auto;
}
.container {
  width: 90%;          /* 隨螢幕寬度自動伸縮 */
  max-width: 1200px;   /* 大螢幕時不超過 1200px */
  margin: 0 auto;      /* 置中 */
}
.features-grid {
  display: flex;
  flex-wrap: wrap; /* 當寬度不足時自動換行 */
  gap: 20px;
}
.gallery {
  display: grid;
  /* 自動根據螢幕寬度排版，最小 250px，最大均分 */
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
}
/*預設樣式：適用於桌面/大螢幕電腦*/
.nav-menu {
  display: flex;
  justify-content: space-between;
}

.hero-section {
  font-size: 48px;
}

/* ----------------------------------- */
/* 平板尺寸（螢幕寬度小於 768px 時套用） */
/* ----------------------------------- */
@media (max-width: 768px) {
  .hero-section {
    font-size: 32px; /* 縮小大標題文字 */
  }
  
  .about-content {
    flex-direction: column; /* 將原本左右排版的欄位改成上下疊加 */
  }
}

/* ----------------------------------- */
/* 手機尺寸（螢幕寬度小於 480px 時套用） */
/* ----------------------------------- */
@media (max-width: 480px) {
  .nav-menu {
    flex-direction: column; /* 導覽列改為垂直排列 */
    align-items: center;
  }
  
  .btn-primary {
    width: 100%; /* 按鈕在大尺寸可保持原樣，手機上滿版方便點擊 */
  }
}
/* 讓過長的文字或英文單字自動折行，避免撐開螢幕 */
body, p, h1, h2, h3, h4, h5, h6 {
  word-break: break-word;
  overflow-wrap: break-word;
}
h1 {
  /* clamp(最小字體, 隨螢幕縮放比例, 最大字體) */
  font-size: clamp(24px, 5vw, 48px);
  line-height: 1.3; /* 行高建議設為無單位的倍數，避免文字重疊 */
}
body, html {
  overflow-x: hidden; /* 防止橫向滾動條出現與排版偏移 */
}
@media (max-width: 768px) {
  .your-text-class {
    position: static; /* 恢復正常排版 */
    margin: 10px 0;
  }
}
.curator-text {
  white-space: nowrap; /* 禁止文字中途斷行 */
  display: block;
  margin-top: 20px;
}
/* 電腦版：隱藏換行 */
.mobile-only {
  display: none;
}

/* 手機版（小於 768px）：啟用換行，並稍微調小字體防止再次溢出 */
@media (max-width: 768px) {
  .mobile-only {
    display: inline;
  }
  .main-title {
    font-size: 24px; /* 適度縮小標題字體 */
    line-height: 1.4;
  }
}