html{
	scroll-behavior: smooth;
}

/* 全網頁只要滑鼠滑到連結就變手指 */
a:hover {
  cursor: pointer !important;
}

/* 這行是最上面的板頭 */
header>.inner {
  background-color: rgba(255, 255, 255, 0);
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}

/* hoho的logo */
header>.inner a.logo {
  background: url(../images/icon_hoho-02.svg) no-repeat center;
  background-size: cover;
  width: 180px;
  height: 140px;
  left: 0px;
}

/* hoho的logo滑鼠移過去後 */
header>.inner a.logo:hover {
  filter: brightness(1.1);
  transition: 0.2s;
}

/* 右上的icon */
header ul.wrap-link li i[class*="icon-"],
header ul.wrap-link li a[class*="icon-"] {
  background-color: #444;
  color: #ffffff;
  transition: 0.2s;
}

/* 右上的icon滑鼠移過去後 */
header ul.wrap-link li i[class*="icon-"]:hover,
header ul.wrap-link li a[class*="icon-"]:hover {
  background-color: rgb(255, 188, 2);
  color: #ffffff ;
  transition: 0.2s;
}

/* icon旁邊的文字 */
header ul.wrap-link li span {
  color: #444;
  margin-right: 10px;
}

/* 從這邊開始是內容大框架 */
.container {
  background-color: #fff3ee;
  background: url(../images/bg-pc.webp);
}

.container img {
  vertical-align: top;
  max-width: 100%;
  height: auto;
}

.innerbox {
  position: relative;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 0 auto;
}

.showPC{
	/* display: block;*/
}
.showMB{
	display: none;
}

/* 客製內容從下面開始 */

.kv-bg{
  width: 100%;
  background: url(../images/kv-bg.jpg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.kv{
  padding: 0;
  width: 1200px;
  height:auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.kv-tt {
  text-align: center;
  animation-name: kv-tt;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  padding: 0px 0%;
  margin-top: 22px;
}

.kv-pic {
    position: relative;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0 auto;

}

  .icePro {
    padding: 0 16px;
    margin-top: 50px;
    display: flex;
    justify-content: center; /* 讓三張圖片水平置中 */
    gap: 20px;               /* 圖片之間的間距，可視需求調整 */
}
    
  .icePro a{
    width: 45%;
}

.icePro a:nth-child(1),
.icePro a:nth-child(3) {
  transform: translateY(-50px); /* 負值代表向上移動，數值可以自訂 */
}

  .iceTitle {
    padding-top: 0px;
}

.icePro img {
    -webkit-transition: filter 0.3s ease; /* 讓變亮過程有 0.3 秒的平滑漸變 */
    transition: filter 0.3s ease; 
  }
  
  /* 加上 :hover，代表「滑鼠游標移上去時」才觸發變亮 */
  .icePro img:hover {
    -webkit-filter: brightness(108%); /* Safari */
    filter: brightness(108%);
  }
  
  .momPro {
    padding: 0 16px;
    
}
  .momPro a{
    width: 45%;
}
  .momTitle {
    padding-top: 0px;
}

  .momCon {
    padding-top: 80px;
}

  .ServePro {
    padding: 0 16px;
    
}
  .ServePro a{
    width: 45%;
}
  .ServeTitle {
    padding-top: 0px;
}

.link01 {
  display: block;
  position: absolute;
  z-index: 10;
  width: 10%;
  height: 30%;
  bottom: 1%;
  left: 9%;
}

.link02 {
  display: block;
  position: absolute;
  z-index: 10;
  width: 10%;
  height: 30%;
  bottom: 1%;
  right: 13%;
}

.link03 {
  display: block;
  position: absolute;
  z-index: 10;
  width: 10%;
  height: 30%;
  bottom: 1%;
  left: 9%;
  background-color: #cc3c39;
}

.link03 {
  display: block;
  position: absolute;
  z-index: 10;
  width: 10%;
  height: 30%;
  bottom: 1%;
  right: 13%;
  background-color: #cc3c39;
}



.bannerinnerbox .banner {
  display: flex;
  flex-direction: row;     /* 確保電腦版是橫向並排 */
  justify-content: center; 
  gap: 30px;               /* 電腦版兩張圖的間距，可自行微調 */
  max-width: 1200px; 
  margin: 0 auto; 
}

.bannerinnerbox .banner a {
  width: calc(50% - 15px); /* 扣掉 gap 的一半，各佔 50% */
  display: block;
  transition: 0.2s; 
}

.bannerinnerbox .banner a:hover {
  transform: scale(0.965); 
}

.bannerinnerbox .banner img {
  width: 100%;
  height: auto;
  display: block;
}

.bannerinnerbox .banner a:hover {
  transform: scale(0.965); /* 加上跟您其他按鈕一樣的縮放特效，不需要可刪除 */
}

.bannerinnerbox .banner img {
  width: 100%;
  height: auto;
  display: block;
}

@keyframes kv-tt{
  0%{
    transform:translateY(20px);
  }
  50%{
    transform:translateY(0px);
  }
  100%{
    transform:translateY(20px);
  }
}

.flexCon{
  display: flex;
  justify-content: space-evenly;
  margin-top: 65px;
  margin-bottom: 85px;
}

.cursor-pointer {
  cursor: pointer;
}

.act1{
    max-width: 100%;
    text-align: center;
    padding: 56px;
}

.AFTEE{
    text-align: center;
    padding: 40px;
}

.banner{
    text-align: center;
    display: flow;
    justify-content: center;
    padding: 40px;
    text-align: center;
    padding: 40px;
      flex-wrap: wrap;
}


.product_Model{
      max-width: 100%;
      background-position: top center;
      background-size: contain;
      margin-top: 0 !important;
      padding-top: 48px;
}

.afteePic{
  width: 48%;
}

.lastPro{
    max-width: 100%;
    background-position: top center;
    background-size: contain;
    padding: 24px 0;
    margin-top: -16px;
}

.lastPro > div{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.lastPro > div a{
  width: 45%;
}

.ice{
  max-width: 100%;
  background-position: top center;
  background-repeat: no-repeat;
  text-align: center;
}

.icePro{
  background-position: top center;
  background-repeat: no-repeat;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 13px;
  margin-top: 45px;
  margin-bottom: 40px;
}

.icePro a{
  width: 30%;
}

.iceTitle{
  padding-top: 50px;
  padding-bottom: 0px;
  text-align: center;
}

.icePro01{
  background-position: top center;
  background-repeat: no-repeat;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 13px;
  margin-top: 45px;
  margin-bottom: 40px;
}

.icePro01 a{
  width: 30%;
}

.icePro01 ul{
  padding: 0 24px 0 48px;
}

.icePro01 li{
  font-size: 20px;
  text-align: left;
  line-height: 32px;
  font-weight: 400;
  list-style-type: disc;
}



.homeTitle{
  padding-top: 0px;
  padding-bottom: 0px;
  text-align: center;
}

.mom{
  max-width: 100%;
  background-position: top center;
  background-repeat: no-repeat;
  text-align: center;
}

.momPro{
  background-position: top center;
    background-repeat: no-repeat;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
    margin-top: 10px;
    margin-bottom: 56px;
    align-content: flex-start;
    flex-direction: row;
}

.momPro a{
  width: 30%;
}

.momTitle{
  padding-top: 0px;
  padding-bottom: 0px;
  text-align: center;
}

.Serve{
  max-width: 100%;
  background-position: top center;
  background-repeat: no-repeat;
  text-align: center;
}

.ServePro{
  background-position: top center;
  background-repeat: no-repeat;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 13px;
  margin-top: 24px;
  margin-bottom: 56px;
}

.ServePro a{
 min-width: 100%;
}

.ServeTitle{
  padding-top: 30px;
  padding-bottom: 0px;
  text-align: center;
}

.afteeBtn{
  margin: -9px auto 20 auto; /*上下保留原本的設定，左右設為 auto */
  padding: 0 30%;
  display: block;
  text-align: center;
}

.ServeBtn{
  padding: 0 20%;
  margin-bottom: 100px;
  margin-top: -53px;
}

/*         以上修改          */

.kv-cp{
  max-width: 1200px;
  height: auto;
  display: flex;
  margin: 30px auto 50px auto;
  flex-wrap: wrap; /*段行方式*/
  gap: 30px; /*中間間距*/
  justify-content: center; /*對齊方式*/
}

.kv-cp.showPC {
  display: flex;
  width: 100%; 
  align-items: flex-start; 
  justify-content: space-between; 
  flex-wrap: wrap;
  margin-top: 30px; 
  margin-bottom: 50px;
}

#kv-cp01{
  transition: 0.2s;
}
#kv-cp01>a>img{
  max-width: 100%;
}
#kv-cp01:hover{transform : scale(0.965);}

#kv-cp02{
  transition: 0.2s;
}
#kv-cp02>a>img{
  max-width: 100%;
}

#kv-cp02:hover{transform : scale(0.965);}

/* 讓外層容器成為定位基準 */
#kv-cp02.image-with-links {
    position: relative; 
    display: block; /* 或 inline-block，確保容器與圖片大小貼合 */
    display: flex;
    align-items: flex-end
}

/* 圖片確保自適應滿版 */
#kv-cp02.image-with-links img {
    width: 100%;
    display: block;
}

/* 共用的隱形按鈕設定 */
.hidden-btn {
    position: absolute;
}

/* 左邊按鈕 (點我登記) 的位置抓取 */
.btn-left {
    bottom: 12%;   /* 距離底部的比例，請依實際圖片微調 */
    left: 12%;     /* 距離左邊的比例 */
    width: 35%;    /* 點擊區塊的寬度 */
    height: 18%;   /* 點擊區塊的高度 */
}

/* 右邊按鈕 (看更多獎項) 的位置抓取 */
.btn-right {
    bottom: 12%;   /* 必須跟左邊按鈕一樣高 */
    right: 12%;    /* 距離右邊的比例 */
    width: 35%;    
    height: 18%;   
}


#kv-cp03{
  transition: 0.2s;
  position: relative;
  display: inline-block; /* 讓外框貼合圖片大小 */
}

/* 2. 讓裡面的 a 標籤都能浮起來蓋在圖片上 */
#kv-cp03 a {
  position: absolute;
  display: block;
}

/* 3. 定位第一個連結（假設在圖片左半邊） */
#kv-cp03 .cp03-link1 {
    top: 11%;
    left: 5%;
    width: 90%;
    height: 46%;
}

/* 4. 定位第二個連結（假設在圖片右半邊） */
#kv-cp03 .cp03-link2 {
    top: 59%;
    right: 5%;
    width: 90%;
    height: 39%;
}

#kv-cp03>a>img{
  max-width: 100%;
}
#kv-cp03:hover{transform : scale(0.965);}

#kv-cp04{
  transition: 0.2s;
}
#kv-cp04>a>img{
  max-width: 100%;
}
#kv-cp04:hover{transform : scale(0.965);}

.ct-bg{
	  width: 100%;
    background-size: cover;
  	background: url(../images/bg-PC.jpg);
    background-repeat: no-repeat;
    background-position: top center;
    
  	/* background-position: bottom center;
  	background-repeat: no-repeat;
  	background-size: cover; */
}

.ct{
  width: 1200px;
  display: flex;
  margin: auto;
  flex-wrap: wrap;
}

#ct01{
  margin-top: 100px;
  margin-bottom: 100px;
  margin-left: auto; 
  margin-right: auto;
}

.ct01-ct{
	max-width: 1200px;
  background-size: cover;
	background-repeat: no-repeat;
}

.ct01-cp{
	width: 100%;
  padding-top: 2%;
  padding-bottom: 2%;
	margin-top: 20px;
  justify-content: center;
}
.ct01-cp img {
	width: 100%;
	margin-top: 20px;
	display: flex;
  justify-content: center;
}

.ct01-cpBottom{
	width: 100%;
  padding-bottom: 4%;
  padding-top: 4%;
}

.ct01-cp-bt{
  width: 46%;
  filter:drop-shadow(0px 0px 5px #3f0d0035);
  transition: 0.2s;
  
}
.ct01-cp-bt:hover{transform : scale(0.965);}

#ct02{
	margin-top: 300px;
  display: flex;
  justify-content: center;
  justify-content: space-around;
  margin-top: 2%;
  gap: 50px;
}


#ct03{
  margin-top: 170px;
  background-size: cover; 
  background-repeat: no-repeat;
  background-position: center center; 
}


#ct03_bnt{
  display: flex;
  margin-top: -100px;
  margin-left: 40px;
  gap: 50px;
  
}

#ct04{
	margin-top: 100px;
  background-size: cover; 
  background-repeat: no-repeat;
  background-position: top center;
}

#ct04_bnt{
  display: flex;
  margin-top: -100px;
  margin-left: 40px;
  gap: 50px;
  
}

#ct05{
	margin-top: 30px;
  margin-bottom: 100;
  display: flex;
}

.act1{
  text-align: center;
}

.act1 a{
	filter: drop-shadow(0 0 10px #ebe6cf);
	margin-top: 16px;
	transform: translateY(0);
	transition: transform 0.3s ease-in-out;
}

.act1 a:hover{
	transform: translateY(-16px);
}


.act2{
  text-align: center;
}

.act2 a{
	filter: drop-shadow(0 0 10px #ebe6cf);
	margin-top: 16px;
	transform: translateY(0);
	transition: transform 0.3s ease-in-out;
}

.act2 a:hover{
	transform: translateY(-16px);
}

.AFTEE{
  text-align: center;
}

.AFTEE a{
	filter: drop-shadow(0 0 10px #ebe6cf);
	margin-top: 16px;
	transform: translateY(0);
	transition: transform 0.3s ease-in-out;
}


.AFTEE a:hover{
	transform: translateY(-16px);
}


/* 電腦版 ct05 (橫向排列) */
#ct05, #ct05-2 {
    display: flex;
    justify-content: space-between; 
    flex-wrap: wrap;
    margin-bottom: 20px; /* 區塊間距 */
}

/* 電腦版圖片連結 (每行兩張) */
#ct05 a.showPC, #ct05-2 a.showPC {
    width: 49%; /* 佔約一半 */
    text-align: center;
    
}
 
.finalPro{
	margin-top: 40px;
	padding: 0% 4%;
  margin-bottom: 100px;
	filter: drop-shadow(rgba(#3f0d0070) 0px 0px 10px);
}
.finalPro a:hover{
	-webkit-filter: brightness(105%); /* Safari */
    filter: brightness(105%);
}

@media (max-width: 600px) {
	.modal-content {
		padding: 24px 16px;
        max-height: 500px;
        overflow: scroll;
	}

	.modal-content h2 {
		font-size: 22px;
        padding: 16px 16px 0;
		margin-bottom: 0px;
	}

	.modal-content p {
		font-size: 16px;
        line-height: normal;
        padding: 8px 8px 0;
	}

.banner{
    text-align: center;
    display: flow;
    justify-content: center;
    padding: 40px;
    text-align: center;
    padding: 40px;
      flex-wrap: wrap;
}

}

/*以上彈窗*/





/* 活動說明 */
.rule{
	position: relative;
	padding: 40px 16px;
	background-color: #e4caff;
}

.rule h5{
	font-size: 32px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 24px;
}

.rule p{
	font-size: 18px;
	font-weight: 400;
	line-height: 32px;
}

.rule p span{
	display: block;
	margin-left: 20px;
}

.rule a{
	color: #3895b4;
	text-decoration: underline;
}

/*側邊欄*/
.navButton{
	display: none;
	justify-content: space-between;
	background-color: #fff;
	padding: 0px 16px;
	height: 40px;
	line-height: 40px;
	position: fixed;
	bottom: 0;
	width: 100%;
	box-sizing: border-box;
	transition: top .4s ease-in-out;
	box-shadow: 0 0 8px rgba(0,0,0,.2);
	z-index: 999;
}

.navButton a{
	color: #000;
	text-decoration: none;
	font-size: 16px;
}

.navButton_pc{
	display: block;
	position: fixed;
	right: 0px;
	top: 150px;
	width: 156px;
	height: 260px;
	padding: 100px 16px 0px 52px;
	background-image: url("../images/navbg.png");
	background-position: top center;
	background-repeat: no-repeat;
	transition: right .4s ease-in-out;
	filter:drop-shadow(4px 8px 8px rgb(201, 20, 0));
	z-index: 999;
}

.navButton_pc a{
	display: block;
    text-align: center;
    width: 100%;
    font-size: 16px;
	line-height: 28px;
	font-weight: 700;
    color: #181818;
    text-decoration: none;
}

.navButton_pc a:hover{
	color: #cc3c39;
	font-weight: 900;
}

.navHide .navButton_pc {
	right: -156px;
} 

    

/*swiper*/
.swiper {
    width: 100%;
    max-width: 1200px;
    height: auto;
    margin: 0px auto;
}

#swiper-one {
    margin: 0 auto !important;
}

.swiper-slide {
    width: 325px;
    height: auto !important;
    text-align: center;
    font-size: 18px;
    background: transparent;
    padding: 0px 0 0 0;
    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}


/* 回到上方 */
a#backTop {
  background-color: #444;
	bottom: 52px;
}

@media (max-width: 1280px) {
  .kv{ 
    width: 100%; 
    height: auto;
  }

  .kv-tt{ 
    width: 80%; 
    text-align: center; 
  }
  .kv-cp{
     width: 90%; 
    }
  .ct{ 
    width: 100%; 
    display: flex; 
    justify-content: center; 
  }
  #ct01{ 
    width: 96%; 
  }
  .ct01-ct{ 
    width: 100%; 
    background-size: contain;
   }
  #ct02{ 
    width: 90%; 
  }
}

@media (max-width: 1277px) {
  .kv{ width: 100%; height: auto; }
  .kv-tt{ width: 100%; text-align: center; }
  .kv-cp{ width: 90%; }
}

@media (max-width: 1030px) {
  .kv{ width: 100%; height: auto; }
  .kv-tt{ width: 100%; text-align: center; }
  .kv-cp{ width: 90%; }
}

@media (max-width: 1080px) {
  .kv{ width: 100%; height: auto; }
  .kv-tt{ width: 100%; text-align: center; }
}

@media (max-width: 845px) {
  .AFTEE_Q { position: absolute; right: 1px; width: 29%; top: 39%; }
}

@media (max-width: 780px) {
  .showPC { 
    display: none !important; }

  .showMB { 
    display: block !important; }

  header > .inner a.logo {
    background: url(../images/icon_hoho-02.svg) no-repeat center;
    background-size: cover;
    width: 130px;
    height: 100px;
    left: -10px;
  }

  .kv-tt { 
    margin: 60px auto 0 auto; }

  .kv-cp { 
    width: 100%; 
    flex-wrap: wrap; 
    width: 75%; 
    gap: 43px; }

  .kv-cp-mb { 
    width: 100%; 
    display: block; 
    margin: 15px auto; 
    text-align: center; }

   .kv-pic {
    position: relative;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0 auto;

}

.banner{
    text-align: center;
    display: flow;
    justify-content: center;
    padding: 40px;
    text-align: center;
    padding: 40px;
      flex-wrap: wrap;
}

  .act1 { padding: 32px; 
    background-position: top left; 
    background-size: 250%; 
    margin-top: -35px; 
  }
  .act2 { 
    padding: 32px; 
    background-position: top left; 
    background-size: 250%; 
    margin-top: 24px; 
  }
  .AFTEE { 
    padding: 16px; 
    background-position: top left; 
    background-size: 250%; 
  }

 
  .icePro {
    padding: 0 16px;
    margin-bottom: 30px;
    margin-top: 35px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px; 
  }
  .icePro a { width: 42%; }
  .iceTitle { width: 90%; }
  .icePro a img { width: 100%; height: auto; display: block; margin: 0 auto; } 
  .icePro a:nth-child(1), .icePro a:nth-child(3) { transform: translateY(0); }

  .momPro { padding: 0 9px; gap: 10px; margin-bottom: 0px; margin-top: 10px; }
  .momPro a { width: 45%; }
  .momTitle { width: 80%; }
  .momBG {
    background-image: url("../images/mom_bg.png"); background-repeat: no-repeat;
    background-position: top center; background-size: cover; width: 100%; height: 100%;
    flex-direction: column; text-align: center; margin: auto;
  }

  .ServePro { padding: 0 16px; margin-bottom: 0px; margin-top: 0px; }
  .ServePro a { width: 45%; }
  .HServeTitle { width: 90%; }

  .product_Model { padding-top: 0px; }
  .lastPro { margin-top: 0px; }
  .lastPro > div a { width: 48%; }

  .act1 .flexCon, .AFTEE .flexCon { width: 90%; flex-direction: column; padding: 0 3%; text-align: center; margin: auto; }
  .act1 a, .AFTEE a, .act2 a { margin-top: 0px; }
  .act1 a:hover, .AFTEE a:hover, .act2 a:hover { transform: none; transition: none; }
  .afteePic { width: 100%; margin-bottom: 15px; }

  .act2 .flexCon { flex-direction: column; padding: 0 6%; }

  .ct-bg {
    width: 100%;
    background-image: url(../images/bg-PC.jpg);
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 800px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }

  #ct01, #ct02, #ct03, #ct04, #ct05 { 
    width: 80%; 
    margin-top: 75px; }
  .ct01-cp-bt { width: 90%; }
  
  #ct03_bnt { 
    width: 80%; 
    display: flex; 
    flex-direction: column; 
    margin: 0 auto; 
    gap: 10px; 
    align-items: center; }
  #ct03_bnt img { display: block; max-width: 100%; height: auto; }

  .rule p span { margin-left: 25px; }
  .AFTEE_Q { 
    position: absolute; 
    right: 0px; 
    width: 32%; 
    top: 82%; }
  .flexCon { 
    margin-bottom: 0px; }
  .ATTilte { 
    width: 85%; 
    margin: 0 auto; 
    margin-top: 60px; }
  .ServeBtn { 
    padding: 0 15%; 
    margin-bottom: 0px; 
    margin-top: 16px; }
} 

/* --- 手機版 650px 開始 --- */
@media (max-width: 650px) {
  .momCon { padding-top: 90px; }
  .rule h5 { font-size: 24px; }
  .rule p { font-size: 16px; line-height: 28px; }
  
  .kv-bg {
    width: 100%;
    background: url(../images/kv-bg-mb.webp) no-repeat top center !important;
    background-size: contain !important;
    min-height: 800px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  .kv-cp { 
    flex-wrap: wrap; 
    width: 85%; 
    gap: 10px; }
}

@media only screen and (max-width: 490px) {
  .momCon { padding-top: 50px; }
  
  #ct01, #ct02, #ct03, #ct04, #ct05 { 
    margin-top: 50px; }

  #ct05, #ct05-2 { display: block; }
  #ct05 a.showMB, #ct05-2 a.showMB {
    display: block; width: 100%; margin-bottom: 15px; position: static; height: auto; padding: 0;
  }
  #ct05 a.showMB img, #ct05-2 a.showMB img {
    position: static; width: 100%; height: auto; object-fit: contain; object-position: center center; margin: 0 auto;
  }
}

@media only screen and (max-width: 420px) {
}

/* ----------------- 以下為自訂/彈窗設定 ----------------- */
.mySwiper { overflow: hidden; }
.swiper-wrapper { display: inline-flex; }
.mySwiper .swiper-slide { width: 389px; height: 453px; }
.plus1Swiper { overflow: hidden; }

.btn-group { display: flex; flex-wrap: wrap; gap: 12px; }

@media (max-width: 780px) {
  .btn-group { 
    width: 110%; 
    left: -5%; 
    margin-top: 16px; 
  }

.bannerinnerbox .banner {
    flex-direction: column !important;
    align-items: center !important;
    gap: 35px !important;
    padding: 0 !important;
    width: 118% !important;
    margin: -28px !important;
    margin-top: 26px !important;
    margin-bottom: 45px !important;
  }

  .bannerinnerbox .banner a {
    width: 100% !important; /* 強制圖片外框撐滿全螢幕 */
    margin: 0 !important;
  }

  .bannerinnerbox .banner img {
    width: 100% !important; /* 強制圖片本身撐滿 */
    height: auto !important;
  }

.icePro, .icePro01 {
    display: flex !important;
    flex-wrap: wrap !important;          /* 允許換行 */
    justify-content: center !important;  /* 讓第三張置中 */
    gap: 10px !important;                /* 上下左右的間距 */
    padding: 0 !important;
    width: 100% !important;
    margin-top: 0px;
  }

  /* 統一把所有的 a 標籤（包含第三張）都鎖死在 48% */
  .icePro a, .icePro01 a {
    width: 48% !important; 
    margin: 0 !important;
  }

  .icePro a img, .icePro01 a img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }

  .icePro01 ul{
    padding: 0 16px 0 32px;
  }

  .icePro01 li{
    font-size: 14px;
    line-height: 22px;
  }
}

.btn-group a { 
  display: block; 
  background: #333; color: #fff; 
  text-decoration: none; 
  border-radius: 6px; 
  transition: 0.2s; 
}
.btn-group a:hover { 
  background: #555; }

.popup-overlay {
  display: none; position: fixed; inset: 0; background: rgba(0, 0, 0, 0.6);
  z-index: 999; justify-content: center; align-items: center; padding: 20px; box-sizing: border-box;
}
.popup-overlay.active { display: flex; }

.popup-box {
  position: relative; width: 100%; max-width: 550px; background: #fff;
  border-radius: 12px; padding: 48px 24px 24px; box-sizing: border-box; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}
.popup-box h2 { margin: 0 0 12px; font-size: 24px; }
.popup-box p { margin: 0; line-height: 1.8; color: #444; }
.popup-box img { width: 100%; }

.popup-close {
  position: absolute; top: 12px; right: 14px; background: none; border: none;
  font-size: 24px; line-height: 1; cursor: pointer; color: #666;
}
.popup-close:hover { color: #000; }
#kv-cp01, #kv-cp02, #kv-cp03 {
    width: 31%;           /* 扣掉 gap 間隙後，均分剩下的空間 */
    position: relative;   
}

/* 2. 讓 kv-cp03 直接露在外面的圖片也被限制住，不准膨脹 */
#kv-cp03 > img {
    width: 100% !important;
    height: auto;
    display: block;
}

/* 3. 手機版：螢幕變小時，讓它們恢復成 100% 寬度並上下疊加 */
@media (max-width: 780px) {
    #kv-cp01, #kv-cp02, #kv-cp03 {
        width: 100% !important;  
        margin-bottom: 10px;     
    }
}