/* Reset default margin and padding */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body, html {
  margin: 0;
  padding: 0;
  min-height: 100vh;
}

/* 響應式圖片堆疊樣式 */
.image-stack {
  overflow: hidden;
  max-width: 100%;
  margin-top: -20px; /* 整體向上移動 */
}

.image-stack img {
  max-width: 100%;
  height: auto;
}

/* 手機模式下的圖片堆疊調整 */
@media (max-width: 767.98px) {
  .image-stack {
    min-width: 220px !important;
    min-height: 300px !important;
    transform: scale(0.8) !important;
    transform-origin: center !important;
    margin-top: -1rem !important;
    margin-bottom: 5rem !important; /* 確保與下方內容有足夠間距 */
    overflow: visible !important;
  }
  
  /* 確保每張圖片都有正確的定位 */
  .image-stack img {
    position: absolute !important;
    max-width: none !important;
    width: auto !important;
    height: auto !important;
  }
  
  /* 具體設定每張圖片的位置，避免重疊 */
  .image-stack #n_413_mobile {
    top: 0;
    left: 0;
    z-index: 2 !important;
  }
  
  .image-stack #n_415_mobile {
    top: 10px;
    left: 10px;
    z-index: 3 !important;
  }
  
  .image-stack #n_417_mobile {
    top: 128px;
    left: 19px;
    z-index: 5 !important;
  }
  
  .image-stack #n_419_mobile {
    top: 10px;
    left: 10px;
    z-index: 4 !important;
  }
}

/* 平板模式下的圖片堆疊調整 */
@media (min-width: 768px) and (max-width: 991.98px) {
  .image-stack {
    min-width: 260px !important;
    min-height: 350px !important;
    transform: scale(0.9) !important;
    transform-origin: center !important;
    margin-top: -10px !important; /* 平板模式下稍微向上移動 */
  }
}

/* 防止 section 重疊的額外間距 */
.container-fluid[style*="background-image"] {
  margin-top: 60px !important;
  padding-top: 40px !important;
}

/* 大螢幕下增加更多間距 */
@media (min-width: 1200px) {
  .container-fluid[style*="background-image"] {
    margin-top: 80px !important;
    padding-top: 60px !important;
  }
}

/* 對話框容器防止溢出 */
.position-relative[style*="overflow: visible"] {
  overflow: visible !important;
  margin-bottom: 30px;
}

@media (max-width: 767.98px) {
  .position-relative[style*="overflow: visible"] {
    overflow: hidden !important;
    margin-bottom: 20px;
  }
  
  /* 卡片2特殊處理：保持overflow: visible以免對話框被裁切 */
  .bubble-right-up[style*="overflow: visible"] {
    overflow: visible !important;
  }
  
  /* 手機模式下適當調整對話框位置，但保持原始大小 */
  .position-absolute[style*="right: -80px"] {
    right: -60px !important;
  }
}

/* Footer Section Styles */
.footer-section {
  background: rgba(0,47,80,1);
  color: white;
}

.footer-title {
  color: white;
  font-weight: bold;
  font-size: 14px;
  margin-bottom: 20px;
  padding-bottom: 10px;
  position: relative;
  font-family: 'Noto Sans', sans-serif;
  line-height: 18px;
  margin-top: -2px;
}

.footer-list {
  list-style: none;
  padding: 0;
  margin: 0;
  margin-left: 15px;
}

.footer-list li {
  color: rgba(255, 255, 255, 1);
  padding: 5px 0;
  font-size: 14px;
  line-height: 18px;
  margin-top: -2px;
  font-family: 'Noto Sans', sans-serif;
  font-weight: normal;
  transition: color 0.3s ease;
}

.footer-list li:hover {
  color: white;
  cursor: pointer;
}

.footer-text {
  color: rgba(255, 255, 255, 1);
  font-size: 14px;
  line-height: 22px;
  margin-top: 20px;
  text-align: left;
  max-width: 318px;
  font-family: 'Noto Sans', sans-serif;
  font-weight: normal;
  height: 108px;
}

#n_127_kz {
  max-width: 192px;
  height: auto;
  margin-bottom: 15px;
}

.footer-logo-section {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

@media (max-width: 768px) {
  .footer-logo-section {
    align-items: center;
  }
  
  .footer-text {
    text-align: center;
    margin-top: 15px;
    max-width: none;
    height: auto;
  }
  
  .footer-title {
    text-align: center;
  }
  
  .footer-list {
    text-align: center;
    margin-left: 0;
  }
}

/* 對話框卡片樣式 */
.position-relative {
  overflow: visible;
}

/* 確保對話框不會被裁切 */
.row.text-center {
  overflow: visible;
}

/* 手機模式下對話框調整 */
@media (max-width: 767px) {
  /* 對話框位置調整 */
  .position-absolute[style*="bottom: -10px"] {
    bottom: -5px !important;
  }
  
  .position-absolute[style*="top: -10px; right: -10px"] {
    top: -5px !important;
    right: -5px !important;
  }
  
  /* 對話框文字調整 */
  .position-absolute .position-absolute p {
    font-size: 16px !important;
    line-height: 1.2 !important;
  }
}

/* DEMO 表單區塊樣式 */
.demo-form-section {
  min-height: 100vh;
  position: relative;
}

.demo-form-section .form-control:focus,
.demo-form-section .form-select:focus {
  border-color: #6BBFEE;
  box-shadow: 0 0 0 0.2rem rgba(107, 191, 238, 0.25);
}

.demo-form-section .form-control,
.demo-form-section .form-select {
  border: 1px solid #6c757d !important;
  background-color: #f8f9fa !important;
  color: #212529 !important;
}

.demo-form-section .form-control::placeholder,
.demo-form-section .form-select option {
  color: #495057 !important;
}

.demo-form-section .form-check-input:checked {
  background-color: #6BBFEE;
  border-color: #6BBFEE;
}

.demo-form-section .text-dark {
  color: #212529 !important;
  font-weight: 600;
}

.demo-overlay {
  background: rgba(0, 47, 80, 0.1);
}

/* Mobile Menu Styles */
#mobileMenu {
      display: none;
      background-color: #f8f9fa;
      padding: 1rem;
    }
    @media (min-width: 768px) {
      #mobileMenu {
        display: none !important;
      }
    }
    .nav-link {
      padding: 0.5rem 1rem;
    }
  #n_467 {
		fill: rgba(107,191,238,1);
	}
	.n_467 {
		position: absolute;
		overflow: visible;
		width: 52px;
		height: 6px;
		left: 614px;
		top: 7529px;
	}

  /* 我們的夥伴標題樣式 */
  #Text_kc {
    font-family: 'Noto Sans', sans-serif;
    font-style: normal;
    font-weight: bold;
    font-size: 35px;
    color: rgba(0,47,80,1);
    position: relative;
  }

  #Text_kc::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 52px;
    height: 6px;
    background-color: rgba(107,191,238,1);
    border-radius: 3px;
  }

  /* 採購進行流程 樣式（置中標題與置中短橫線） */
  #Text_bn {
    font-family: 'Noto Sans', sans-serif;
    font-style: normal;
    font-weight: bold;
    font-size: 35px;
    color: rgba(0,47,80,1);
    position: relative;
    text-align: center; /* 文字置中 */
    white-space: nowrap; /* 不換行 */
  }

  /* 使用 span 的 ::after 來避免整個 row 的寬度影響短橫線置中 */
  #Text_bn span {
    display: inline-block;
    position: relative;
  }

  /* 方法 B：讓偽元素成為佔位的 block，使用 margin 控制與下一個元素（如圖片）的間距 */
  #Text_bn span::after {
    content: '';
    display: block;           /* 佔一行，易於用 margin 控制間距 */
    width: 52px;
    height: 6px;
    margin: 8px auto 50px;    /* 上方 8px 到文字，下方 24px 到下一個元素（可調） */
    background-color: rgba(107,191,238,1);
    border-radius: 3px;
  }

  /* 響應式設計：在不同寬度下微調字級與短橫線尺寸/間距 */
  @media (max-width: 992px) {
    #Text_bn {
      font-size: 30px;
    }
    #Text_bn span::after {
      width: 44px;
      height: 6px;
      margin: 6px auto 20px;
    }
  }

  @media (max-width: 768px) {
    #Text_bn {
      font-size: 24px;
      white-space: normal; /* 手機可換行以避免溢出 */
    }
    #Text_bn span::after {
      width: 40px;
      height: 5px;
      margin: 6px auto 16px;
    }
  }

  @media (max-width: 480px) {
    #Text_bn {
      font-size: 20px;
    }
    #Text_bn span::after {
      width: 36px;
      height: 5px;
      margin: 4px auto 12px;
    }
  }

  /* 夥伴logo樣式 */
  #n_Logo-1536x460-1 {
    max-width: 219px;
    max-height: 66px;
  }

  #asnet_1 {
    max-width: 156px;
    max-height: 66px;
  }
  #n_531 {
		fill: rgba(0,0,0,0);
	}
	.n_531 {
		position: absolute;
		overflow: visible;
		width: 179.882px;
		height: 153.856px;
		left: 126.059px;
		top: 823.182px;
	}
	#n_26_lj {
		opacity: 0.399;
		fill: url(#n_26_lj);
	}
	.n_26_lj {
		width: 314.232px;
		height: 314.232px;
		position: absolute;
		overflow: visible;
		transform: matrix(1,0,0,1,-93.0073,761.1823) rotate(48deg);
		transform-origin: center;
	}
  #n_323 {
		position: absolute;
		width: 1169.748px;
		height: 413.031px;
		left: 0px;
		top: 995.483px;
		overflow: visible;
	}
	#n_4 {
		position: absolute;
		width: 370.314px;
		height: 413.031px;
		left: 51.434px;
		top: 0px;
		overflow: visible;
	}
	#n_8 {
		position: absolute;
		width: 295px;
		height: 295px;
		left: 844.748px;
		top: 91.555px;
		overflow: visible;
	}
	#n_6 {
		position: absolute;
		width: 295px;
		height: 295px;
		left: 874.748px;
		top: 78.555px;
		overflow: visible;
	}
	#n_57 {
		position: absolute;
		width: 214.837px;
		height: 56.613px;
		left: 888.748px;
		top: 310.894px;
		overflow: visible;
	}
	#n_55 {
		position: absolute;
		width: 214.837px;
		height: 56.613px;
		left: 0px;
		top: 0px;
		overflow: visible;
	}
	#n_4_ef {
		position: absolute;
		width: 295px;
		height: 295px;
		left: 137.748px;
		top: 78.555px;
		overflow: visible;
	}
	#n_5 {
		position: absolute;
		width: 295px;
		height: 295px;
		left: 506.748px;
		top: 78.555px;
		overflow: visible;
	}
	#n_53 {
		position: absolute;
		width: 234.846px;
		height: 64.052px;
		left: 696.897px;
		top: 86.555px;
		overflow: visible;
	}
	#n_51 {
		position: absolute;
		width: 234.846px;
		height: 64.052px;
		left: 0px;
		top: 0px;
		overflow: visible;
	}
	#Text_ej {
		left: 718.748px;
		top: 102.07px;
		position: absolute;
		overflow: visible;
		width: 195px;
		white-space: nowrap;
		text-align: left;
		font-family: Noto Sans;
		font-style: normal;
		font-weight: normal;
		font-size: 18px;
		color: rgba(75,75,75,1);
	}
	#n__ek {
		left: 910.704px;
		top: 330.121px;
		position: absolute;
		overflow: visible;
		width: 182px;
		white-space: nowrap;
		text-align: left;
		font-family: Noto Sans;
		font-style: normal;
		font-weight: normal;
		font-size: 18px;
		color: rgba(75,75,75,1);
	}
	#n_55_el {
		position: absolute;
		width: 289.246px;
		height: 65.774px;
		left: 139.748px;
		top: 289.347px;
		overflow: visible;
	}
	#Text_em {
		left: 158.872px;
		top: 314.621px;
		position: absolute;
		overflow: visible;
		width: 249px;
		white-space: nowrap;
		text-align: left;
		font-family: Noto Sans;
		font-style: normal;
		font-weight: normal;
		font-size: 18px;
		color: rgba(75,75,75,1);
	}
  	#n_200_eo {
		fill: url(#n_200_eo);
	}
	.n_200_eo {
		overflow: visible;
		position: absolute;
		width: 506.748px;
		height: 1px;
		left: 0px;
		top: 12.204px;
		transform: matrix(1,0,0,1,0,0);
	}
  .circle-box {
    width: 100%;            /* fill column width */
    max-width: 240px;       /* but don’t exceed desktop target size */
    aspect-ratio: 1 / 1;    /* keep perfect circle */
    border: 3px solid #ccc;
    border-radius: 50%;
    padding: 24px;          /* slightly smaller to fit at small widths */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

/* Ensure all texts inside the feature circles use Noto Sans */
.circle-box, .circle-box * {
  font-family: 'Noto Sans', sans-serif;
}

/* XS phones: ensure two columns fit comfortably */
@media (max-width: 575.98px) {
  .circle-box {
    max-width: 200px;     /* allow shrinking within 50% column */
    padding: 20px;
  }
  .circle-box h6 {
    font-size: 20px !important;
  }
  .circle-box small {
    font-size: 13px !important;
  }
}
.square-box {
  width: 200px;
  height: 200px;
  border: 3px solid #ccc;
  border-radius: 8px;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
/* 出勤管理區塊樣式 */
.attendance-section {
  position: relative;
  text-align: center;
  padding: 60px 0;
  background: linear-gradient(135deg, rgba(220, 240, 255, 0.3) 0%, rgba(255, 255, 255, 0.8) 100%);
  min-height: 400px;
}

.attendance-icon-container {
  position: relative;
  display: inline-block;
  margin-bottom: 30px;
}

.attendance-icon {
  width: 120px;
  height: 120px;
  background: linear-gradient(135deg, #73bcfe 0%, #4a9eff 100%);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-shadow: 0 10px 30px rgba(115, 188, 254, 0.3);
  border: 3px solid #ffffff;
  margin: 0 auto 15px;
}

.attendance-icon::before {
  content: '';
  position: absolute;
  top: -8px;
  right: -5px;
  width: 30px;
  height: 20px;
  background: #2c5aa0;
  border-radius: 5px 5px 0 0;
  transform: rotate(15deg);
}

.attendance-icon .inner-circle {
  width: 40px;
  height: 40px;
  background: #2c5aa0;
  border-radius: 50%;
}

.attendance-clock {
  width: 80px;
  height: 80px;
  margin: 0 auto 20px;
}

#Text_ll {
  position: relative;
  width: 100%;
  text-align: center;
  font-family: 'Noto Sans', 'Microsoft JhengHei', sans-serif;
  font-style: normal;
  font-weight: bold;
  font-size: clamp(24px, 4vw, 35px);
  color: rgba(0,47,80,1);
  margin-bottom: 15px;
  line-height: 1.2;
}

#Text_lm {
  position: relative;
  width: 100%;
  max-width: 500px;
  margin: 0 auto 30px;
  text-align: center;
  font-family: 'Noto Sans', 'Microsoft JhengHei', sans-serif;
  font-style: normal;
  font-weight: bold;
  font-size: clamp(18px, 3vw, 28px);
  color: rgba(0,47,80,1);
  line-height: 1.4;
}

#n__lo {
  position: relative;
  text-align: center;
  font-family: 'Noto Sans', 'Microsoft JhengHei', sans-serif;
  font-style: normal;
  font-weight: bold;
  font-size: clamp(16px, 2.5vw, 22px);
  color: rgba(75,137,220,1);
  margin-top: 15px;
}

.n_658 {
  display: block;
  width: clamp(60px, 8vw, 90px);
  height: clamp(65px, 8.5vw, 95px);
  margin: 0 auto 20px;
  fill: rgba(93,156,236,1);
}

/* 背景裝飾圓圈 */
.background-decoration {
  position: absolute;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(115, 188, 254, 0.1) 0%, rgba(236, 253, 254, 0.2) 100%);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}

/* 對話框氣泡樣式 */
.speech-bubble {
  background: rgba(255, 255, 255, 0.95) !important;
  border: 2px solid rgba(220, 220, 220, 0.8) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border-radius: 25px !important;
  padding: 12px 16px !important;
  position: relative;
  display: inline-block;
  margin-top: 15px;
}

.speech-bubble span {
  font-size: 14px !important;
  color: rgba(50, 50, 50, 1) !important;
  font-weight: 500;
  line-height: 1.4;
  font-family: 'Noto Sans', sans-serif;
}

.speech-tail {
  position: absolute !important;
  top: -8px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 0 !important;
  height: 0 !important;
  border-left: 10px solid transparent !important;
  border-right: 10px solid transparent !important;
  border-bottom: 10px solid rgba(255, 255, 255, 0.95) !important;
  z-index: 2;
}

.speech-tail::before {
  content: '';
  position: absolute;
  top: 2px;
  left: -11px;
  width: 0;
  height: 0;
  border-left: 11px solid transparent;
  border-right: 11px solid transparent;
  border-bottom: 11px solid rgba(220, 220, 220, 0.8);
  z-index: 1;
}

/* 卡片 2 右上角對話框外層，避免在小螢幕被裁切 */
.bubble-right-up {
  overflow: visible !important; /* 確保偽元素或絕對定位氣泡不被裁掉 */
}

@media (max-width: 575.98px) {
  /* 手機：將卡片2對話框調回右上角原始位置 */
  .bubble-right-up {
    padding-top: 24px; /* 給上方空間讓對話框完整顯示 */
  }
  .bubble-right-up > .position-absolute[style*="top: -10px"] {
    top: -10px !important; /* 恢復原始頂部位置 */
    right: -80px !important; /* 恢復原始右側位置 */
    transform: none !important; /* 移除置中 transform */
  }
  .bubble-right-up img.rounded-circle {
    width: 200px !important; /* 與其他卡片保持一致 */
    height: 200px !important;
  }
  .bubble-right-up .position-absolute p {
    font-size: 14px !important; /* 與其他卡片保持一致 */
  }
}

/* 問題文字下方的短橫線 */
.question-text::after {
  content: '';
  display: block;
  width: 52px;
  height: 6px;
  margin: 20px auto 20px auto;
  background-color: rgba(107, 191, 238, 1);
  border-radius: 3px;
}

/* 三張卡片佈局優化 */
.row.text-center.g-2 .col-md-4 {
  margin-bottom: 30px;
}

.row.text-center.g-2 .col-md-4 img.rounded-circle {
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

/* 對話框文字優化 */
.position-relative .position-absolute p {
  font-weight: 500 !important;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
}

/* Mobile fixes: prevent overlapping absolute overlays and ensure stacking */
@media (max-width: 575.98px) {
  /* Avoid navbar overlap */
  body { padding-top: 64px !important; }

  /* Features section background + overlay to normal flow */
  .features-wrap { min-height: auto !important; aspect-ratio: auto !important; }
  .features-wrap > img#n_9 { position: static !important; width: 100% !important; height: auto !important; }
  .features-wrap > .position-absolute { position: static !important; width: 100% !important; height: auto !important; }
  .features-wrap .h-100 { height: auto !important; }

  /* Section-3 background + overlay to normal flow */
  #n_420 { width: 100% !important; height: auto !important; }
  #n_420 + .container.position-absolute { position: static !important; height: auto !important; padding-top: 1rem !important; padding-bottom: 1rem !important; }

  /* DEMO section: clean mobile layout */
  .demo-section #n_11 { 
    width: 100% !important; 
    height: auto !important;
    border: none !important;
    outline: none !important;
  }
  
  /* Mobile form section styling */
  .mobile-form-section {
    background-color: #f8f9fa;
    margin: 0;
    padding: 2rem 0 3rem 0;
  }
  
  /* Ensure proper spacing after mobile form */
  .mobile-form-section + .row {
    margin-top: 2rem !important;
    padding-top: 2rem !important;
  }
  
  /* 防止表單區域覆蓋到下面的區塊 - 增加更多間距 */
  .row.mt-5.pt-5:has(#Text_kc) {
    margin-top: 5rem !important;
    padding-top: 4rem !important;
  }
  
  #Text_kc {
    margin-top: 3rem !important;
    padding-top: 3rem !important;
  }
  
  /* 問題卡片響應式調整 */
  .col-md-4.d-flex.flex-column.align-items-center {
    margin-bottom: 30px !important;
  }
  
  /* 三張卡片在手機模式下的調整 */
  .col-md-4 img.rounded-circle {
    max-width: 200px !important;
    width: 200px !important;
    height: 200px !important;
    margin-bottom: 15px !important;
  }
  
  /* 對話框容器在手機模式下調整 */
  .col-md-4 .position-relative {
    max-width: 280px !important;
    margin: 0 auto !important;
  }
  
  /* 對話框文字在手機模式下調整 */
  .col-md-4 .position-absolute p {
    font-size: 14px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    padding: 0 8px !important;
  }
}

/* Navbar toggler visibility tweaks */
.navbar.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0,47,80,0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E") !important;
}
.navbar.navbar-light .navbar-toggler {
  border-color: rgba(0,47,80,0.2);
  width: 44px;
  height: 38px;
  padding: 0.25rem 0.5rem;
}
.navbar .navbar-toggler:focus {
  box-shadow: 0 0 0 0.2rem rgba(0,47,80,0.2);
}

/* 問題卡片區塊樣式優化 */
@media (max-width: 768px) {
  /* 對話框圖片在手機上適當縮小 */
  .position-relative.d-inline-block img {
    max-width: 250px !important;
    height: auto !important;
  }
  
  /* 確保文字在對話框中正確居中，手機上稍微縮小字體 */
  .position-relative.d-inline-block .position-absolute p {
    font-size: 16px !important;
    line-height: 1.3 !important;
  }
  
  /* 卡片間距調整 */
  .row.text-center.g-4 .col-md-4 {
    margin-bottom: 30px !important;
  }
}

/* Solid navbar background on phones to avoid blending with page behind */
@media (max-width: 575.98px) {
  .navbar {
    background-color: rgba(255,255,255,0.98) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    z-index: 1050;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
  }
  .navbar .navbar-toggler { margin-left: auto !important; }
  .navbar img {
    max-height: 36px;
    width: auto;
  }
  
  /* 縮短對話框圖片寬度 */
  .position-absolute img:not(.rounded-circle) {
    max-width: 200px !important;
    width: 200px !important;
    height: auto !important;
  }
  
  /* 卡片1對話框圖片特別設定 */
  .position-absolute img[src="./images/n_55_el.png"] {
    max-width: 240px !important;
    width: 240px !important;
    height: auto !important;
  }
  
  /* 隱藏功能框文字兩側的線條 */
  .position-absolute[style*="height: 1px"] {
    display: none !important;
  }
  
  /* 準備好開始使用了嗎區塊手機模式樣式調整 */
  .row.position-relative:has(#n_148) {
    margin: 10px 0;
    transform: none; /* 取消整體縮放 */
  }
  
  /* 背景圖片保持較大尺寸 */
  .row.position-relative:has(#n_148) #n_148 {
    min-height: 200px !important;
    object-fit: cover !important;
  }
  
  /* 中央內容區域調整 */
  .row.position-relative:has(#n_148) .container {
    transform: scale(0.8);
    transform-origin: center;
  }
  
  /* 主標題縮放 */
  .row.position-relative:has(#n_148) h2 {
    font-size: 24px !important;
    white-space: normal !important; /* 允許換行 */
    line-height: 1.2 !important;
  }
  
  /* 按鈕縮放 */
  .row.position-relative:has(#n_148) .btn {
    font-size: 14px !important;
    padding: 6px 12px !important;
  }
  
  /* 右側直向文字和細線按比例縮放 */
  .row.position-relative:has(#n_148) .position-absolute.top-0.end-0 {
    transform: scale(0.75);
    transform-origin: right center;
    right: -10px !important; /* 調整位置補償縮放 */
  }
  
  /* 右側文字調整 */
  .row.position-relative:has(#n_148) .text-white[style*="writing-mode"] {
    font-size: 14px !important;
    letter-spacing: 0.3px !important;
  }
  
  /* 右側細線調整 */
  .row.position-relative:has(#n_148) .bg-white[style*="width:2px"] {
    width: 1.5px !important;
    opacity: 0.7 !important;
  }
}

