@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;700&display=swap');

body { font-family: 'Noto Sans TC', sans-serif; }

.glass {
	background: rgba(255, 255, 255, 0.88);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
}
.bento-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; }

.hero-bg {
	background: linear-gradient(rgba(31, 89, 155, 0.75), rgba(31, 89, 155, 0.35)),
				center/cover no-repeat;
}

.logo-text { 
	background: linear-gradient(to top, #1F599B, #F21E1E);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.force-hidden {
  display:none !important;
}

/* Scroll to Top Button */
#scrollTopBtn {
	display: none; /* 預設隱藏 */
	cursor: pointer;
  box-shadow: #374151 0px 2px 6px;
}

/* Price Table */
.price_table tr:first-child {
	color: #ffffff;
	background-color: #1F599B;
}

.price_table {
	min-width: 500px;
	border-collapse: collapse;
	text-align: center;
}

.price_table-container {
  overflow-x: auto;   /* 手機可橫向滾動 */
  -webkit-overflow-scrolling: touch; /* iOS 平滑滾動 */
}

.price_table-container table {
  min-width: 600px;   /* 保持表格寬度，避免壓縮 */
}

/* Tutor Contract Table */
.tutor_contract_table tr:first-child {
	color: #ffffff;
	background-color: #1F599B;
}

.tutor_contract_table td{
	border: 1px solid #1F599B;
}




/* case_reg.htm */
	  .subject-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
      .subject-tab { padding:8px 12px; border-radius:8px; cursor:pointer; border:1px solid #e5e7eb; background:#fff; color:#374151; }
      .subject-tab.active { background:#1F599B; color:#fff; border-color:#1F599B; }
      .subject-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:8px; }
      .subject-item { display:flex; align-items:center; gap:8px; padding:8px; border:1px solid #e5e7eb; border-radius:6px; background:#fff; cursor:pointer; user-select:none; }
      .subject-item input[type="checkbox"] { width:18px; height:18px; }
      .subject-item:hover { box-shadow:0 1px 6px rgba(0,0,0,0.06); }
      .note { color:#d9534f; }
      /*.hidden { display:none !important; }*/



/* Top hint box (bootstrap-like) */
      .top-hint {
        position: fixed;
        left: 50%;
        transform: translateX(-50%) translateY(-120%);
        top: 12px;
        z-index: 9999;
        min-width: 320px;
        max-width: calc(100% - 40px);
        background: #ecfdf5; /* green-50 */
        border: 1px solid #bbf7d0; /* green-200 */
        color: #065f46; /* green-800 */
        padding: 12px 16px;
        border-radius: 10px;
        display: flex;
        gap: 12px;
        align-items: center;
        box-shadow: 0 8px 24px rgba(6,95,70,0.08);
        opacity: 0;
        transition: transform 420ms cubic-bezier(.2,.9,.2,1), opacity 420ms ease;
      }
      .top-hint.show {
        transform: translateX(-50%) translateY(0);
        opacity: 1;
      }
      .top-hint .icon {
        width: 28px;
        height: 28px;
        flex: 0 0 28px;
        display:flex;
        align-items:center;
        justify-content:center;
        background: #10b981; /* green-500 */
        color: white;
        border-radius: 999px;
        box-shadow: 0 2px 6px rgba(16,185,129,0.18);
      }
      .top-hint .text {
        font-weight: 600;
        font-size: 15px;
      }
      .top-hint.fade-out {
        opacity: 0;
        transform: translateX(-50%) translateY(-20px);
        transition: transform 420ms ease, opacity 420ms ease;
      }