/* ==========================================================
   中平金點集點系統 — 全站樣式（拍立得風格）
   設計原則：
   1. 暖色紙張底 + 白色相框卡片（底部留白較厚，像拍立得）
   2. 平面化：不使用陰影、漸層、動畫、過場
   3. 色彩只用下方變數，頁面請勿再寫死色碼
   4. 此檔必須在 bootstrap / bootstrap-theme 之後載入
   ========================================================== */

:root{
  --paper:#efe8da;      /* 桌面紙張底色 */
  --paper-2:#e6decd;    /* 較深的紙色（表頭、停用） */
  --card:#fffdf8;       /* 相紙白 */
  --ink:#2b2a27;        /* 主要文字 */
  --muted:#6e695e;      /* 次要文字 */
  --line:#d6cdb9;       /* 細線 */
  --accent:#f2c230;     /* 向日葵黃（重點標示） */
  --accent-soft:#fbefc2;
  --primary:#2f5d8a;    /* 墨藍 */
  --primary-soft:#dde8f2;
  --success:#4a8458;
  --success-soft:#e1efe3;
  --info:#4d8aa3;
  --info-soft:#dfeef3;
  --warning:#c98f13;
  --warning-soft:#fbefc2;
  --danger:#c0503f;
  --danger-soft:#f7e1dc;
  --radius:4px;
}

/* ---------- 全域：關閉陰影、漸層、動畫、過場 ---------- */
*,*::before,*::after{
  box-shadow:none !important;
  text-shadow:none !important;
  transition:none !important;
  animation:none !important;
}
html{ scroll-behavior:auto; }

body{
  margin:0;
  padding:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei","Heiti TC",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.6;
}
a{ color:var(--primary); text-decoration:none; }
a:hover,a:focus{ color:var(--ink); text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:3px; text-underline-offset:3px; }
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{ color:var(--ink); font-weight:700; line-height:1.35; }
hr{ border-top:1px dashed var(--line); }
::selection{ background:var(--accent); color:var(--ink); }
:focus-visible{ outline:3px solid var(--primary); outline-offset:2px; }

/* ---------- 舊有小工具（保留） ---------- */
#popdown-opacity{ background-color:rgba(43,42,39,.55); }
.fontsb{ font-size:12pt; }
.fontmb{ font-size:14pt; }
.fontbb{ font-size:20pt; }
.bold{ font-weight:bold; }

/* ---------- 版面容器 ---------- */
.container,.container-fluid{ padding-left:16px; padding-right:16px; }

/* ---------- 導覽列 ---------- */
.navbar,.navbar-default{
  background:var(--card);
  background-image:none;
  border:0;
  border-bottom:2px solid var(--ink);
  border-radius:0;
  margin-bottom:20px;
  min-height:56px;
  filter:none;
}
.navbar-default .container-fluid{ background:transparent; }
.navbar-default .navbar-brand{
  color:var(--ink);
  font-weight:700;
  font-size:18px;
  height:56px;
  padding:16px 15px;
  text-decoration:underline;
  text-decoration-color:var(--accent);
  text-decoration-thickness:5px;
  text-underline-offset:5px;
}
.navbar-default .navbar-nav>li>a{ color:var(--ink); }
.navbar-default .navbar-nav>.active>a,
.navbar-default .navbar-nav>.open>a,
.navbar-default .navbar-nav>li>a:hover{ background:var(--accent-soft); color:var(--ink); text-decoration:none; }
.navbar-default .navbar-toggle{ border:2px solid var(--ink); border-radius:var(--radius); background:transparent; margin-top:11px; }
.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{ background:var(--accent-soft); }
.navbar-default .navbar-toggle .icon-bar{ background:var(--ink); }
.navbar-default .navbar-collapse{ border-color:var(--line); }
/* 選單項目：平面文字連結，目前所在位置用向日葵黃底線標示 */
.navbar-default .navbar-nav>li>a{ font-size:17px; font-weight:600; padding-top:18px; padding-bottom:14px; border-bottom:4px solid transparent; }
.navbar-default .navbar-nav>li>a:hover,
.navbar-default .navbar-nav>li>a:focus{ background:transparent; border-bottom-color:var(--line); }
.navbar-default .navbar-nav>.active>a,
.navbar-default .navbar-nav>.active>a:hover,
.navbar-default .navbar-nav>.active>a:focus,
.navbar-default .navbar-nav>.open>a,
.navbar-default .navbar-nav>.open>a:hover,
.navbar-default .navbar-nav>.open>a:focus{ background:transparent; color:var(--ink); border-bottom-color:var(--accent); }
.navbar-default .navbar-nav .caret{ margin-left:2px; }
.navbar-form .btn{ font-size:16px; }
/* 兩層選單：上層主選單，下層子選單（點主選單切換；目前所在群組預設展開） */
.navbar-default .navbar-nav>li.sel>a{ border-bottom-color:var(--accent); }
.subnav{ display:none; flex:0 0 100%; order:3; background:var(--paper-2); border-top:1px dashed var(--line); margin:0 -15px; padding:0 15px; }
.navbar a:focus{ outline:none; }
.navbar a:focus-visible{ outline:3px solid var(--primary); outline-offset:-3px; }
.subnav.on{ display:block; }
.subnav-list{ display:none; list-style:none; margin:0; padding:0; }
.subnav-list.on{ display:flex; flex-wrap:wrap; gap:4px 6px; }
.subnav-list>li>a{ display:block; padding:8px 14px; font-size:16px; color:var(--ink); border-bottom:3px solid transparent; }
.subnav-list>li>a:hover{ background:var(--accent-soft); text-decoration:none; }
.subnav-list>li.active>a{ font-weight:700; border-bottom-color:var(--accent); }
.subnav-list>li.menu-danger>a{ color:var(--danger); }
.subnav-list>li.menu-danger>a:hover{ background:var(--danger-soft); }
@media (min-width:768px){
  /* 電腦版：品牌、主選單、右側按鈕同一列，子選單列獨立一整列、鋪滿全寬 */
  .navbar>.container-fluid{ display:flex; flex-wrap:wrap; align-items:flex-start; }
  .navbar>.container-fluid::before,.navbar>.container-fluid::after{ display:none; }
  .navbar-collapse.collapse{ display:contents !important; }
  .navbar-header{ float:none; order:0; }
  .navbar-collapse .menu-main{ order:1; float:none; flex:1 1 0; min-width:0; margin:0; }
  .navbar-collapse .menu-side{ order:2; float:none; margin-left:auto; margin-right:0; }
  .navbar-collapse .menu-side.navbar-nav{ display:flex; }
  .subnav{ margin:0 -16px; padding:0 16px; flex:0 0 calc(100% + 32px); }
}
@media (max-width:767px){
  .navbar-default .navbar-nav>li>a{ border-bottom:0; border-left:4px solid transparent; padding-top:10px; padding-bottom:10px; }
  .navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.sel>a{ border-left-color:var(--accent); }
  .subnav{ margin:0 -15px 8px; }
  .subnav-list>li{ width:100%; }
  .subnav-list>li>a{ padding-left:30px; }
}

/* ---------- 按鈕：平面外框 ---------- */
.btn{
  background-image:none;
  border-width:2px;
  border-style:solid;
  border-radius:var(--radius);
  font-weight:600;
  text-shadow:none;
}
.btn:active,.btn.active{ background-image:none; }
.btn-default{ background:var(--card); border-color:var(--ink); color:var(--ink); }
.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active{ background:var(--accent-soft); border-color:var(--ink); color:var(--ink); }
.btn-primary{ background:var(--primary); border-color:var(--primary); color:#fff; }
.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active{ background:#244a6f; border-color:#244a6f; color:#fff; }
.btn-success{ background:var(--success); border-color:var(--success); color:#fff; }
.btn-success:hover,.btn-success:focus,.btn-success:active{ background:#3a6b46; border-color:#3a6b46; color:#fff; }
.btn-info{ background:var(--info); border-color:var(--info); color:#fff; }
.btn-info:hover,.btn-info:focus,.btn-info:active{ background:#3d7189; border-color:#3d7189; color:#fff; }
.btn-warning{ background:var(--accent); border-color:var(--ink); color:var(--ink); }
.btn-warning:hover,.btn-warning:focus,.btn-warning:active{ background:#e2b01f; border-color:var(--ink); color:var(--ink); }
.btn-danger{ background:var(--danger); border-color:var(--danger); color:#fff; }
.btn-danger:hover,.btn-danger:focus,.btn-danger:active{ background:#a1402f; border-color:#a1402f; color:#fff; }
.btn-link{ border-color:transparent; background:transparent; color:var(--primary); }
.btn[disabled],.btn.disabled,fieldset[disabled] .btn{ background:var(--paper-2); border-color:var(--line); color:var(--muted); opacity:1; }

/* ---------- 表單 ---------- */
.form-control{
  background:var(--card);
  border:2px solid var(--line);
  border-radius:var(--radius);
  color:var(--ink);
  height:38px;
}
textarea.form-control{ height:auto; }
.input-lg{ height:46px; }
.input-sm{ height:30px; }
textarea.input-lg,textarea.input-sm,select[multiple].form-control{ height:auto; }
.form-control:focus{ border-color:var(--primary); outline:none; }
.form-control[disabled],.form-control[readonly]{ background:var(--paper-2); }
label{ font-weight:600; }
.input-group-addon{ background:var(--paper-2); border:2px solid var(--line); border-radius:var(--radius); color:var(--ink); }
.has-error .form-control{ border-color:var(--danger); }
.help-block{ color:var(--muted); }
input[type=checkbox],input[type=radio]{ accent-color:var(--primary); }

/* ---------- 相框（拍立得）元件 ---------- */
/* 一般面板：白色相紙、細框線，標題區像相紙下緣的手寫標註 */
.panel,.well,.jumbotron,.thumbnail,.img-thumbnail{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
}
.panel{ margin-bottom:20px; }
.panel-heading{
  background:var(--card);
  background-image:none;
  border:0;
  border-bottom:1px dashed var(--line);
  border-radius:var(--radius) var(--radius) 0 0;
  font-weight:700;
  color:var(--ink);
}
.panel-footer{ background:var(--paper-2); border-top:1px dashed var(--line); }
.panel-primary,.panel-primary>.panel-heading{ border-color:var(--line); }
.panel-primary>.panel-heading{ color:var(--ink); background:var(--primary-soft); }
.panel-success>.panel-heading{ background:var(--success-soft); color:var(--ink); border-color:var(--line); }
.panel-info>.panel-heading{ background:var(--info-soft); color:var(--ink); border-color:var(--line); }
.panel-warning>.panel-heading{ background:var(--warning-soft); color:var(--ink); border-color:var(--line); }
.panel-danger>.panel-heading{ background:var(--danger-soft); color:var(--ink); border-color:var(--line); }
.well{ background:var(--paper-2); }

/* 通用拍立得框：.pola */
.pola{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:14px 14px 34px;
  margin:16px 0;
}
.pola-bar{              /* 工具列／篩選列 */
  background:var(--card);
  border:2px solid var(--ink);
  border-radius:var(--radius);
  padding:8px 12px;
  margin-bottom:12px;
}
.pola-bar label{ margin-right:6px; font-size:18px; }
.pola-bar .form-control{ display:inline-block; width:auto; font-size:18px; }
.pola-bar .btn{ font-size:18px; }
.pola-note{ color:var(--primary); font-size:16px; margin-left:8px; }

/* 獎品卡片：整張像一張拍立得，圖在上、文字在底部厚白邊 */
.giftcard{
  background-color:var(--card);
  background-clip:padding-box;
  border:8px solid transparent;      /* 透出紙張色，當作卡片間距 */
  border-bottom-width:14px;
  border-radius:var(--radius);
  padding:14px 14px 30px;
  margin-bottom:6px;
  min-height:540px;
}
.giftcard:nth-child(3n+1){ transform:rotate(-.5deg); }
.giftcard:nth-child(3n+2){ transform:rotate(.35deg); }
.giftcard:nth-child(3n){ transform:rotate(-.2deg); }
.giftcard img{
  display:block;
  margin:0 auto 10px;
  width:100%;
  max-width:260px;
  height:auto;
  aspect-ratio:1/1;
  object-fit:cover;
  background:var(--paper-2);
  border:1px solid var(--line);
  border-radius:2px;
  padding:0;
}
.giftcard h1,.giftcard h2,.giftcard h3,.giftcard h4{ margin-top:6px; }

/* 圖片縮圖 */
.img-thumbnail{ padding:6px 6px 14px; }

/* ---------- 表格 ---------- */
.table{ background:transparent; color:var(--ink); }
.table>thead>tr>th{ background:var(--paper-2); border-bottom:2px solid var(--ink); font-weight:700; }
.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td{ border-top:1px solid var(--line); vertical-align:middle; }
.table-striped>tbody>tr:nth-of-type(odd){ background:rgba(255,253,248,.7); }
.table-striped>tbody>tr:nth-of-type(even){ background:transparent; }
.table-hover>tbody>tr:hover{ background:var(--accent-soft); }
.table-bordered,.table-bordered>thead>tr>th,.table-bordered>tbody>tr>td{ border-color:var(--line); }
.table>thead>tr>th.success,.table>tbody>tr.success>td,.table>tbody>tr>td.success{ background:var(--success-soft); }
.table>tbody>tr.danger>td,.table>tbody>tr>td.danger{ background:var(--danger-soft); }
.table>tbody>tr.warning>td,.table>tbody>tr>td.warning{ background:var(--warning-soft); }
.table>tbody>tr.info>td,.table>tbody>tr>td.info{ background:var(--info-soft); }
.table-responsive{ border:0; }
.pola .table{ margin-bottom:0; }
.pola .table>thead>tr>th{ text-align:center; font-size:22px; color:var(--primary); }
.pola .table>tbody>tr>td{ font-size:22px; }
.board-top td{ color:var(--primary); font-weight:700; background:var(--accent-soft) !important; }

/* ---------- 提示、標籤、徽章 ---------- */
.alert{ background-image:none; border:2px solid var(--line); border-radius:var(--radius); color:var(--ink); }
.alert-success{ background:var(--success-soft); border-color:var(--success); }
.alert-info{ background:var(--info-soft); border-color:var(--info); }
.alert-warning{ background:var(--warning-soft); border-color:var(--warning); }
.alert-danger{ background:var(--danger-soft); border-color:var(--danger); }
.alert a{ color:var(--ink); text-decoration:underline; }
.label{ border-radius:var(--radius); font-weight:600; }
.label-default{ background:var(--paper-2); color:var(--ink); }
.label-primary{ background:var(--primary); }
.label-success{ background:var(--success); }
.label-info{ background:var(--info); }
.label-warning{ background:var(--accent); color:var(--ink); }
.label-danger{ background:var(--danger); }
.badge{ background:var(--accent); color:var(--ink); font-weight:700; }
.text-primary{ color:var(--primary); }
.text-success{ color:var(--success); }
.text-info{ color:var(--info); }
.text-warning{ color:var(--warning); }
.text-danger{ color:var(--danger); }
.text-muted{ color:var(--muted); }
.bg-primary{ background:var(--primary-soft); color:var(--ink); }
.bg-success{ background:var(--success-soft); }
.bg-info{ background:var(--info-soft); }
.bg-warning{ background:var(--warning-soft); }
.bg-danger{ background:var(--danger-soft); }

/* ---------- 導覽分頁、分頁器、清單、下拉 ---------- */
.nav-tabs{ border-bottom:2px solid var(--ink); }
.nav-tabs>li>a{ border:2px solid transparent; border-radius:var(--radius) var(--radius) 0 0; color:var(--ink); }
.nav-tabs>li>a:hover{ background:var(--accent-soft); border-color:var(--line); }
.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{ background:var(--card); border:2px solid var(--ink); border-bottom-color:var(--card); color:var(--ink); }
.nav-pills>li>a{ border-radius:var(--radius); color:var(--ink); }
.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{ background:var(--accent); color:var(--ink); }
.pagination>li>a,.pagination>li>span{ background:var(--card); border:1px solid var(--line); color:var(--ink); }
.pagination>li>a:hover{ background:var(--accent-soft); color:var(--ink); }
.pagination>.active>a,.pagination>.active>a:hover,.pagination>.active>span{ background:var(--accent); border-color:var(--ink); color:var(--ink); }
.list-group-item{ background:var(--card); border:1px solid var(--line); }
a.list-group-item:hover,a.list-group-item:focus{ background:var(--accent-soft); }
.list-group-item.active,.list-group-item.active:hover{ background:var(--accent); border-color:var(--ink); color:var(--ink); }
.dropdown-menu{ background:var(--card); border:2px solid var(--ink); border-radius:var(--radius); }
.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{ background:var(--accent-soft); color:var(--ink); }
.breadcrumb{ background:transparent; }
.progress{ background:var(--paper-2); border-radius:var(--radius); }
.progress-bar{ background:var(--primary); background-image:none; }

/* ---------- 對話視窗（modal）：無陰影、無淡入 ---------- */
.modal.fade .modal-dialog{ transform:none; }
.modal-backdrop,.modal-backdrop.in{ background:var(--ink); opacity:.5; }
.modal-content{ background:var(--card); border:2px solid var(--ink); border-radius:var(--radius); }
.modal-header{ border-bottom:1px dashed var(--line); }
.modal-footer{ border-top:1px dashed var(--line); background:var(--paper-2); }
.close{ color:var(--ink); opacity:.7; text-shadow:none; }
.close:hover{ opacity:1; }

/* ---------- 黏性工具列（紀錄頁 actlog／actpoint） ---------- */
.sticky-bar{
  position:sticky;
  top:0;
  z-index:1050;
  width:max-content;
  max-width:100%;
  margin:0 auto 12px;
  background:var(--card);
  padding:8px 15px;
  border:2px solid var(--ink);
  border-radius:var(--radius);
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  justify-content:center;
  gap:15px;
}

/* ---------- 點數結果頁（pointresult／point_result_html） ---------- */
.pointresult td,.pointresult th{ vertical-align:middle !important; }

/* ---------- 手機 ---------- */
@media (max-width:767px){
  body{ font-size:15px; }
  .giftcard{ transform:none !important; min-height:0; }
  .pola{ padding:10px 10px 24px; }
  .navbar-default .navbar-brand{ font-size:16px; }
}

/* ---------- 尊重使用者「減少動態效果」設定（已全面關閉，保留註記） ---------- */
@media print{
  body{ background:#fff; }
  .navbar,.sticky-bar{ display:none; }
}

/* ---------- 首頁公告：一則公告＝一張拍立得 ---------- */
.notice{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); margin-bottom:22px; padding:0 0 10px; }
.notice-title{ font-size:22px; font-weight:700; padding:12px 18px; border-bottom:1px dashed var(--line); color:var(--ink); }
.notice-title::before{ content:""; display:inline-block; width:12px; height:12px; background:var(--accent); margin-right:10px; vertical-align:baseline; }
.notice-body{ font-size:18px; padding:12px 18px; line-height:1.8; }
.notice-links{ font-size:18px; padding:8px 18px 4px; border-top:1px dashed var(--line); }

/* ---------- 登入密碼框 ---------- */
#bot{
  width:240px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:14px 6px 22px;
  position:absolute;
  top:50%;
  left:50%;
  margin-left:-120px;
  margin-top:-90px;
}
#bot .form-control{ margin-bottom:10px; }

/* ---------- 獎品資訊表（include/giftinfo.php） ---------- */
.ginfo{ width:100%; border-collapse:collapse; margin-top:6px; }
.ginfo td{ font-size:17px; color:var(--muted); padding:7px 6px; border-top:1px dashed var(--line); }
.ginfo td.v{ color:var(--ink); font-weight:700; text-align:right; }
.ginfo td.t{ color:var(--ink); font-size:16px; text-align:right; }
.ginfo td.top{ vertical-align:top; }
.ginfo-note{ background:var(--paper-2); padding:8px 10px; font-size:16px; line-height:1.6; max-height:90px; overflow-y:auto; margin-top:4px; }
.ginfo-note span{ color:var(--muted); }
.gname{ font-size:20px; font-weight:700; text-align:center; margin:6px 0; }

/* ---------- 表單表格（schange 等） ---------- */
.pola .table>tbody>tr>td.k{ font-size:18px; color:var(--muted); width:130px; }
.pola .table>tbody>tr>td.k label{ margin:0; }
.pola .table .okmsg{ font-size:20px; font-weight:700; color:var(--success); margin-left:12px; }
.pola .table input[type=checkbox]{ zoom:1.5; }
.readonly-ok{ background:var(--success-soft) !important; }

/* ---------- 獎品排序／搜尋工具列（include/giftsort.php） ---------- */
.gift-toolbar{ position:sticky; top:0; z-index:1000; text-align:center; background:var(--card); border:2px solid var(--ink); border-radius:var(--radius); padding:8px; margin-bottom:12px; }
.gift-toolbar .grp{ display:inline-block; margin:3px 10px; }
.gift-toolbar label{ font-size:18px; margin-right:6px; }
.gift-toolbar .form-control{ display:inline-block; width:auto; font-size:18px; }
.gift-toolbar .btn{ font-size:18px; }
.gift-toolbar #gifttip{ font-size:16px; color:var(--danger); }

/* ---------- 置中對話框（mycredit.php 等） ---------- */
.center-stage{ display:flex; align-items:center; justify-content:center; min-height:calc(100vh - 140px); padding:16px; }
.dialog-card{ width:100%; max-width:420px; background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:14px 14px 30px; }
.dialog-title{ font-size:22px; font-weight:700; padding:6px 6px 12px; border-bottom:1px dashed var(--line); }
.dialog-title::before{ content:""; display:inline-block; width:12px; height:12px; background:var(--accent); margin-right:10px; }
.dialog-body{ padding:18px 6px 0; }
.dialog-body label{ font-size:18px; }
.dialog-actions{ display:flex; gap:12px; justify-content:center; }
