/* === 設計 Token === */
:root{
  --c-primary: #FBE5B1;  
  --c-secondary: #A4281E;
  --fs-20: clamp(1.1rem, 2.5vw, 1.25rem); /* PC:20px(1.25rem) */
  --fs-24: clamp(1.15rem, 3vw, 1.5rem); /* PC:24px(1.5rem) */
  --fs-26: clamp(1.1rem, 4vw, 1.625rem);; /* 26px */
  --radius-sm: 10px;
  --radius-md: 20px;
  --radius-lg: 24px;
  --shadow-bottom: 0 4px 12px #3f0a0a;
}
/* clamp(a, b, c) = clamp(min, preferred, max) 字體大小 = 先用 b 去算，但最後一定會被限制在 a～c 之間。*/


/* 基本設定 */
html { scroll-behavior: smooth; font-size: 16px;    overflow-y: scroll;/* 標準基準 */ }  /* 平滑捲動 */



  /* === 基礎排版 === */
body {

  font-family: "Noto Sans TC", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang TC", "Microsoft JhengHei", sans-serif;
  font-size: var(--fs-20);
  color: var(--c-primary);
  /* background: var(--c-sky); */
  line-height: 1.6;
}


main{overflow: hidden; padding-top: 50px;}

@media (max-width: 1100px) {main{padding-top: 80px;} }
@media (max-width: 767px) {main{padding-top: 72px;} }


.d-flex{display: flex;}


/*SEO讓文字消失*/
.visually-hidden{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.container{
  max-width: 1220px;
  padding-inline: 16px;
  margin-inline: auto;
}

@media (max-width: 767px) { 
body{background-size:970px 10px;}
.container{padding-inline: 3vw;}
}

@media (max-width: 767px) { 
  /* 手機版樣式 */
  .pc_display{display: none;}
  .m_display{ display: block;}
 }
@media (min-width: 768px) { 
  /* 桌機版樣式 */ 
  .pc_display{display: block;}
  .m_display{ display: none;}
}



.mb-xl{margin-bottom: 100px;}
@media(max-width:767px){
  .mb-xl{margin-bottom: 13vw;}
}
.mb-l{margin-bottom: 50px;}
@media(max-width:767px){
  .mb-l{margin-bottom: 6vw;}
}

.mb-m{margin-bottom: 24px;}
@media(max-width:767px){
  .mb-m{margin-bottom: 4vw;}
}

.mb-s{margin-bottom: 10px;}
@media(max-width:767px){
  .mb-s{margin-bottom: 1vw;}
}






main{
  position: relative; 
  /* 有確實高度，就可以用偽元素依照高度做出重複的deco */
}

/* 樹deco */

@media(min-width:1920px){
  main::before{
    content:"";
    position: absolute;
    top: 800px;
    left: 0;
    width: 347px;
    bottom: 0;                 /* 👈 這招比 height:100% 穩 */
    pointer-events: none;
    z-index: 0;
  
    background-image: url("../img/deco_tree.png");
    background-repeat: repeat-y;
    background-position: left top;
  
    background-size: 347px 1092px;
  }

  main::after{
    content:"";
    position: absolute;
    top: 1200px;
    right: 0;                  /* 👈 關鍵：貼右邊 */
    width: 347px;
    bottom: 0;
    pointer-events: none;
    z-index: 0;
  
    background-image: url("../img/deco_tree.png");
    background-repeat: repeat-y;
    background-position: right top;
    background-size: 347px 1092px;
  
    transform: scaleX(-1);     /* 👈 水平鏡像，真正對稱 */
  }
}






/* 底圖 */
body {
  background-image: url("../img/bg_repeat_pc.jpg"); /* .. 回上層， . 當前 */
  background-repeat: repeat;       /* X 軸和 Y 軸都重複 */
  background-size: auto;           /* 確保不被拉伸 */
  overflow-x: hidden; /* ✅ 關掉水平捲軸 */
  color: var(--c-primary);
  font-size: var(--fs-20)
}


/* Topbar 外觀（依你的截圖做近似風格） */
.topbar {
  position: fixed; top: 0; z-index: 1000; width: 100%;
  height: 50px;
  background: #99140B;
  box-shadow: 0 2px 5px #750f08;
  /* 讓它滑順 */
  transition: transform .2s ease;
  will-change: transform;
}

/* 收起（往上滑出畫面） */
.topbar.is-hidden{
  transform: translateY(-100%);
}

.topbar__inner {
  height: 50px;
  display: flex;
  justify-content:space-between;
  align-items: center;
  margin: 0 30px 0 30px;
}



.topbar__brand img{
  height: auto;         
  width: 230px;          
  max-width: 40vw;      /* 手機上避免過大 */
  fill: white;
}

@media (max-width: 767px) { 
  .topbar {
    height: 40px;
  }
  .topbar__inner {
    height: 40px;
    margin: 0 3vw;
  }
  .topbar__brand img{
    width: 180px;
  }

}


.deco_line{
width: 1px;
height: 24px;
background: var(--c-primary);

}





/* 中：pills 群組 */
.topbar__pills {

  display: inline-flex; align-items: center;
  border-radius: 28px;
  padding: 0px 20px;
  justify-self: center;

}
.pill {
  display: inline-block;
  color: #fff; text-decoration: none;
  padding: 4px 18px;
  font-size: var(--fs-20);
  font-weight: 400; letter-spacing: .02em;

  white-space: nowrap;
  transition: background-color .2s ease, opacity .2s ease;
}
.pill:hover{ 
    color: #fff1bb;
    /*background: rgba(255, 255, 255, 0.15); 增加透明的白色*/
}


.topbar__nav_m{
  position: relative;
  background-color: var(--c-primary);
  overflow-x: scroll;
  scrollbar-width: none;
}
.topbar__nav_m .pill{color: var(--c-secondary);}

.topbar__nav_m .deco_line{background: var(--c-secondary);}

.topbar__nav_m .topbar__pills{display: flex; gap: 0; padding: 0; margin: 0 auto; justify-content: center;}

@media(max-width:1100px){
  .topbar__nav{display: none;}
  .topbar__nav_m{display: block;}
}


.topbar__right{
  width: 230px;
  text-align: right;
}

.top_pill{
  display: flex;
  align-items: center;
}

.top_pill_winner{
  /* display: none; */
}

@media(max-width:768px){
  .topbar__nav_m .topbar__pills{display: flex; gap: 0; padding: 0; margin: 0 auto; justify-content: flex-start;}

}




/* 登入按鈕：加文字的版本 */
.login-btn {
  display: inline-flex; /*display:flex 之後，它會變成 block-level flex container，因此他會「撐滿父層可用寬度」=230px*/
  flex-direction: row;
  align-items: center;
  justify-content: end;
  gap: 6px;
  height: 37px;
  border-radius: 16px;
  text-decoration: none;
  font-size: var(--fs-20);
  font-weight: 400;
  color: var(--c-primary);
  transition: background-color .2s ease, transform .2s ease;/* 當background-color和transform產生變化(hover)，要以指定方式做動畫 */
}

.login-btn img {
  width: 30px;
  height: 30px;
}
.login-btn:hover {
  transform: translateY(-1px);
}


.topBox{
  position: relative;
  height: 580px;
}

.top_bg{
  position: absolute;
  top: 25px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
  padding: 0 20px;
}


.top__main{
  width: 457px;
  position: absolute;
  top: 150px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

@media(max-width:1220px){

.topBox{
  height: 50vw;
}


.top__main{
  width: 38vw;
  top:14vw;
}

}

@media(max-width:767px){
  .topBox{
  height: 79vw;
  }
  .top__main{
  width: 67vw;
  top:19vw;
  }
  .top_bg{
  padding: 0;
  top:0;
}

.login-btn img {
  width: 20px;
  height: 20px;
}

.pill {
  padding: 1vw 4vw;
}

}






/* 燈籠入場動畫 */
.lantern-enter01 {
  opacity: 0;
  animation: lanternEnter 800ms cubic-bezier(.2,.8,.2,1) forwards;
  animation-delay: 200ms;
  will-change: transform, opacity;
}
/* 燈籠入場動畫 */
.lantern-enter02 {
  opacity: 0;
  animation: lanternEnter 800ms cubic-bezier(.2,.8,.2,1) forwards;
  animation-delay: 500ms;
  will-change: transform, opacity;
}


.deco_lantern01{
  position: absolute;
  z-index: 2;
  width: 115px;
  top: -8px;
  left: 90px;
}


.deco_lantern02{
  position: absolute;
  z-index: 2;
  width: 140px;
  top: -66px;
  left: 207px;
}

.deco_lantern03{
  position: absolute;
  z-index: 2;
  width: 140px;
  top: -66px;
  right: 207px;
}

.deco_lantern04{
  position: absolute;
  z-index: 2;
  width: 115px;
  top: -8px;
  right: 90px;
}

@media(max-width:767px){
  .deco_lantern01{
  width: 15.5vw;
  top: 0;
  left: 2.5vw;
  }
  .deco_lantern04{
  width: 15.5vw;
  top: 0;
  right: 2.5vw;
  }

}







/* 雲入場動畫 */
.cloud-enterL {
  opacity: 0;
  animation: cloudEnterL 800ms cubic-bezier(.2,.8,.2,1) forwards;
  animation-delay: 1000ms;
  will-change: transform, opacity;
}
/* 雲入場動畫 */
.cloud-enterR {
  opacity: 0;
  animation: cloudEnterR 800ms cubic-bezier(.2,.8,.2,1) forwards;
  animation-delay: 1000ms;
  will-change: transform, opacity;

}


/* 飄動：套在內層 img */
.deco_cloud img {
  animation: cloudFloat 4s ease-in-out infinite;
  will-change: transform;
}

/* 基礎定位 */
.deco_cloud01{
  position: absolute;
  z-index: 2;
  width: 333px;
  top: 72px;
  left: -380px;/* 終點 */
}


/* 基礎定位 */
.deco_cloud02{
  position: absolute;
  z-index: 2;
  width: 333px;
  top: 202px;
  left: -180px;
}


.deco_cloud03{
  position: absolute;
  z-index: 2;
  width: 333px;
  top: 202px;
  right: -180px;
}

.deco_cloud04{
  position: absolute;
  z-index: 2;
  width: 333px;
  top: 72px;
  right: -380px;

}


@media(max-width:1220px){
  .deco_lantern02,.deco_lantern03,.deco_cloud{display: none;}
}




.Area_sm .textBox{
  background: url(../img/small_bg_pc.png) no-repeat center;
  text-align: center;
  height: 196px;
  color: var(--c-primary);
  font-size: var(--fs-26);

  display: flex;
  align-items: center;
  justify-content: center;
}



@media(max-width:767px){
  
.Area_sm .textBox{
  height: auto;
  /* 3 張背景：上、下、repeat中段 */
  background-image:
    url("../img/win_reward_bg_top.png"),
    url("../img/win_reward_bg_bottom.png"),
    url("../img/win_reward_bg_repeat.png");


  background-repeat:
    no-repeat,
    no-repeat,
    repeat-y;

  background-position:
    top center,
    bottom center,
    top center;

  /* 視你的圖寬度決定：cover/contain/auto */
  background-size:
    100% auto,
    100% auto,
    100% auto;

    padding: 5vw 0 5vw;
  
    background-origin:
      padding-box,   /* 上圖 */
      padding-box,   /* 下圖 */
      content-box;   /* 中段 */
  
    background-clip:
      padding-box,   /* 上圖 */
      padding-box,   /* 下圖 */
      content-box;   /* 中段 */
  

}


}









  .AreaLucky_bg{
    /* 3 張背景：上、下、repeat中段 */
    background-image:
      url("../img/Area01_bg_top.png"),
      url("../img/Area01_bg_bottom.png"),
      url("../img/Area01_bg_repeat.png");
  
    background-repeat:
      no-repeat,
      no-repeat,
      repeat-y;
  
    background-position:
      top center,
      bottom center,
      top center;
  
    /* 視你的圖寬度決定：cover/contain/auto */
    background-size:
      100% auto,
      100% auto,
      100% auto;
  
  
  
    padding: 35px 0 35px;
  
    background-origin:
      padding-box,   /* 上圖 */
      padding-box,   /* 下圖 */
      content-box;   /* 中段 */
  
    background-clip:
      padding-box,   /* 上圖 */
      padding-box,   /* 下圖 */
      content-box;   /* 中段 */
  
  
        margin-top: -33px;
  }






.AreaLucky_content{
  text-align: center;

  padding: 48px 59px 48px;
}


.AreaLucky .Area_title img{
  margin: 0 auto;
  width: clamp(260px, 70vw, 459px);
}


.AreaLucky_main{
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
}



.AreaLucky_wheel{
  width: 448px;
  height: 508px;
  background-image: url(../img/wheel_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: relative;
}

.wheel_main{
  width: 415px;
  height: 415px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 17px;
}

/*

.wheel_main img{
  animation: rotate 15s linear infinite;
  will-change: transform;
} 
 */




.wheel_arrow{
  width: 188px;
  height: 188px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 131px;
}

.AreaLucky_content .stament{
  font-size: var(--fs-26);
}

.AreaLucky_content .note{
  text-align: left;
  padding: 0 50px 0 50px;
}

@media(max-width:1220px){

  .AreaLucky_main{flex-direction: column;}

}


@media(max-width:767px){
  .AreaLucky_wheel{
  width: 86vw;
  height: 97vw;
  background-size: cover;
}
.wheel_main{
  width:80vw;
  height: 80vw;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 3vw;
}
.wheel_arrow{
  width: 34vw;
  height: 34vw;
  top: 25.5vw;
}
.AreaLucky_content{padding: 9vw 3vw 6vw;}
.AreaLucky_content .note{
  padding: 0 5vw 0 5vw;
}

}


/*轉盤得獎紀錄*/


.win_reward .win_reward_bg{
  /* 3 張背景：上、下、repeat中段 */
  background-image:
    url("../img/win_reward_bg_top.png"),
    url("../img/win_reward_bg_bottom.png"),
    url("../img/win_reward_bg_repeat.png");

  background-repeat:
    no-repeat, /* 上圖 */
    no-repeat, /* 下圖 */
    repeat-y; /* 中段 */

  background-position:
    top center, /* 上圖 */
    bottom center, /* 下圖 */
    top center; /* 中段 */

  /* 視你的圖寬度決定：cover/contain/auto */
  background-size:
    100% auto, /* 上圖 */
    100% auto, /* 下圖 */
    100% auto; /* 中段 */

padding: 26px 0 22px;

  background-origin:
    padding-box,   /* 上圖 */
    padding-box,   /* 下圖 */
    content-box;   /* 中段 */

  background-clip:
    padding-box,   /* 上圖 */
    padding-box,   /* 下圖 */
    content-box;   /* 中段 */

  margin-top: -30px;
}


.win_reward .win_reward_content{
  /* 讓內容不要蓋到上/下裝飾的高度（依你的 top/bottom 圖高度調） */
  padding: 0px 35px;
  min-height: 50px;
}

.win_reward_content .reward_row:last-child hr{
 display: none;
}

.win_reward img{
  width: clamp(250px, 60vw, 365px);
  margin: 0 auto;
}

.AreaLucky_content{
  text-align: center;
  margin-top: -33px;
}

.win_reward hr{
  border: none; height: 1px; background-color: var(--c-primary);
}


.reward_row{

}
.reward_row_content{
  display: flex;
  flex-direction: row;
  font-size: var(--fs-24);
  padding: 10px 0 10px 0;
  align-items: center;
}

.reward_date span {
  display: inline-block;
  background-color: var(--c-primary);
  width: 90px;
  border-radius: 20px;
  padding: 0 20px 0 20px;
  color: #660e0e;
  font-weight: 600;
  margin-right: 10px;

}



@media(max-width:767px){
  
  .win_reward .win_reward_bg{padding: 4.5vw 0 3.5vw;}
  .AreaLucky_content{margin-top: -4vw;}
  .AreaLucky .AreaLucky_bg{
    /* 3 張背景：上、下、repeat中段 */
    background-image:
      url("../img/Area01_bg_top_m.png"),
      url("../img/Area01_bg_bottom_m.png"),
      url("../img/Area01_bg_repeat_m.png");

    background-repeat:
      no-repeat,
      no-repeat,
      repeat-y;

    background-position:
      top center,
      bottom center,
      top center;

    /* 視你的圖寬度決定：cover/contain/auto */
    background-size:
      100% auto,
      100% auto,
      100% auto;

    /* 讓內容不要蓋到上/下裝飾的高度（依你的 top/bottom 圖高度調） */
    padding: 4vw 0 4vw;
    margin-top: -7vw;

    }
  .win_reward .win_reward_bg{ margin-top: -6vw;}
  .win_reward .win_reward_content{
    padding: 0 5vw;
    min-height: 10vw;
  }
.reward_date span {width: 18vw; padding: 0;}

}

/* @media(max-width:412px){
    .reward_row{flex-direction: column;}
} */










.Area_title img{
  margin: 0 auto;
  width: clamp(200px, 50vw, 342px);
}


.AreaPrize .sm_title img{
  margin-left: auto;
  margin-right: auto;
}


  .AreaPrize_bg{
    /* 3 張背景：上、下、repeat中段 */
    background-image:
      url("../img/Area02_bg_top.png"),
      url("../img/Area02_bg_bottom.png"),
      url("../img/Area02_bg_repeat.png");
  
    background-repeat:
      no-repeat,
      no-repeat,
      repeat-y;
  
    background-position:
      top center,
      bottom center,
      top center;
  
    /* 視你的圖寬度決定：cover/contain/auto */
    background-size:
      100% auto,
      100% auto,
      100% auto;
  
  
  
    padding: 35px 0 35px;
  
    background-origin:
      padding-box,   /* 上圖 */
      padding-box,   /* 下圖 */
      content-box;   /* 中段 */
  
    background-clip:
      padding-box,   /* 上圖 */
      padding-box,   /* 下圖 */
      content-box;   /* 中段 */
  
  
        margin-top: -46px;
  }



  .AreaPrize_list{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 60px;
    justify-content: center;

  }

  .prize_item{
    flex: 0 1 calc(33.333% - 60px); 
    /* 「我理想上是三分之一寬（扣掉間距），
        如果一排不滿，我"不願意"長大補滿；
        如果空間不夠，我"願意"縮小配合。」 */
  }



  @media(max-width:1220px){
      .AreaPrize_list{
        gap: 20px;
      }
      .prize_item{
      flex: 0 1 calc(33.333% - 20px); 
      }
  }



  @media(max-width:767px){
    
  .AreaPrize_list{
    gap: 3vw;
  }
  .AreaPrize .AreaPrize_bg{
    /* 3 張背景：上、下、repeat中段 */
    background-image:
      url("../img/Area02_bg_top_m.png"),
      url("../img/Area02_bg_bottom_m.png"),
      url("../img/Area02_bg_repeat_m.png");

    background-repeat:
      no-repeat,
      no-repeat,
      repeat-y;

    background-position:
      top center,
      bottom center,
      top center;

    /* 視你的圖寬度決定：cover/contain/auto */
    background-size:
      100% auto,
      100% auto,
      100% auto;

    /* 讓內容不要蓋到上/下裝飾的高度（依你的 top/bottom 圖高度調） */
    padding: 3vw 0 4vw;

    margin-top: -7vw;
    }
    .prize_item{
      flex: 0 1 calc(80% - 5vw); 
      /* 「我理想上是三分之一寬（扣掉間距），
          如果一排不滿，我"不願意"長大補滿；
          如果空間不夠，我"願意"縮小配合。」 */
    }
    .AreaPrize .sm_title{
      width: clamp(100px, 75vw, 540px);
      margin-left: auto;
      margin-right: auto;
    }

  }


  /* -------------AreaReport--------------- */




  .news_list{
    display: flex; 
    flex-wrap: wrap; 
    justify-content: space-between;
    gap: 20px;
  }
  
  
  .news_card{
    display: flex;
    flex-direction: column;
    flex: 0 0 calc(33.3% - 20px);
    transition: background-color .2s ease, transform .2s ease;
  }  

  .news_card:hover{
    top: 2px;
    transform: 0.1;
    transform: translateY(-3px);
    color: white;
  }
  
  .news_title{
    
    font-size: var(--fs-24);
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

  }
  


  .news_img img{
    width: 100%;
    height: auto;
    aspect-ratio: auto 510 / 287; /*圖片比例為自動，但有理想的比例為510 / 287，用這段語法的話在圖片載入之前就可以預留好空間。*/
    display: block;
  }



.more_btn{
  margin: 0 auto;
  width: 273px;
  transition: background-color .2s ease, transform .2s ease;
}
.more_btn:hover{
  transform: translateY(-3px);
}

.more_btn img{width: 100%;}


  @media (max-width:767px){
  .news_list{
    gap: 4vw;
  }
  .news_card{
    flex: 0 0 100%;
  }
  .more_btn{
    width: clamp(190px, 48vw, 342px);
  }


}


/* -----------------------------馬上加碼----------------------------- */

.AreaExtra_banner_btn{
  display: flex;
  gap: 20px;
}

.AreaExtra_btn{
  transition: background-color .2s ease, transform .2s ease;
}

.AreaExtra_btn:hover{
  transform: translateY(-4px);
}

@media(max-width:767px){
.AreaExtra_banner_btn{
  flex-direction: column;
}
}





.AreaPrecautions ul{
  list-style: decimal;
  padding-left: 20px;
}

.rightsReserved{
  text-align: center;
}


@media(max-width:767px){
.AreaPrecautions ul{  padding-left: 5vw;}
.content{
  font-size:clamp(1rem, 2.5vw, 1.25rem); /* PC:20px(1.25rem) */

}

}




/* 互動視窗 */


/* ---- Modal ---- */
.modal{ position:fixed; inset:0; z-index:1000; display: none; }
.modal.is-open{ display:block; }

.modal#codeModal_success p{text-align: center;}

/* 40% 黑色遮罩 */
.modal__overlay{ position:absolute; inset:0; background:rgba(0,0,0,.4); }


/* 對話框 */
.modal__dialog{
  position:relative;
  top:50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(92vw, 800px);
  background:#fff;
  background-color: var(--c-secondary);
  background-repeat: repeat;       /* X 軸和 Y 軸都重複 */
  background-size: 400px;
  overflow: hidden;   
  border: 2px solid var(--c-primary);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  padding: clamp(1.25rem, 4vw, 3.125rem);
  outline: none;
}

.modal .modal__close_type2{
  background-color: var(--c-primary);
  color: var(--c-secondary);
  border-radius: 50px;
  width: auto;
  display: inline-block;
  padding: 5px 40px;   
  font-size: var(--fs-24);
  font-weight: 500;
  display: block;
  margin: 0px auto 0;

}


@media (max-width: 767px){
  .modal__dialog{
    display: flex;
    flex-direction: column;

    max-height: 85svh;           /* 新一代 viewport 單位，較準確（含瀏海/工具列） */
    max-height: 85vh;            /* 備援：舊瀏覽器使用 */
    padding-left: 0.5rem;
    padding-right: 0.5rem;

  }

    .modal__body{
    /* ✅ 這裡負責滾動 */
    overflow: auto;
    -webkit-overflow-scrolling: touch; /* iOS 慣性滑動 */
    overscroll-behavior: contain;      /* 避免內捲帶動外層回彈/刷新 */
    padding-bottom: max(1rem, env(safe-area-inset-bottom)); /* iPhone 底部安全區 */
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }


  .modal .modal__close_type2{
  background-color: var(--c-primary);
  color: var(--c-secondary);
  border-radius: 50px;
  width: auto;
  display: inline-block;
  padding: 1vw 8vw;   
  font-size: var(--fs-24);
  font-weight: 500;
  display: block;
  margin: 1vw auto 0;

  }

}

/* 關閉鈕 */
.modal__close{
  position:absolute; 
  top:.5rem; 
  right:.5rem;
  width:2rem; 
  height:2rem; 
  border:2px solid var(--c-primary); border-radius:50%;
  cursor:pointer; font-size:1.25rem; line-height:1;
  background-color: #810600;
}
.modal__close:hover{ background-color: #660e0e; }

/* 標題/分隔/段落 */
.modal__title{ margin:0 0 1rem 0; font-size: var(--fs-26);  text-align: center; font-weight: 700;}
.modal__divider{ border:none; border-top:1px solid var(--c-primary); margin:1rem 0; }

/* .modal__section{ margin-top:1rem;} */
.modal__section p{ margin:0; color: #fff;}
.modal__q{ margin:.75rem 0 .25rem; font-weight:900; font-size: var(--fs-20); }

/* 表單 */
.modal__form {
  display: grid;
  grid-template-columns: 2fr 1fr; /* 左2份：右1份 */
  gap: 10px;                     /* 中間間距 */
  align-items: center;
  width: min(440px,70vw);                  /* 總寬度固定 */
  margin: 0 auto;                /* 置中 */
  padding-bottom: 20px;
}
.modal__input{
  height:2.75rem; padding:0 .875rem; border-radius:999px; border:1px solid #d8dbe0; color: black;
}
.modal__input:focus-visible{ outline:2px solid #acd3ff; outline-offset:2px; }
.modal__submit{
  height:2.75rem; padding:0 1.25rem; border:0; border-radius:999px; background:var(--c-primary);
  color:var(--c-secondary); font-weight:900; cursor:pointer;
}
.modal__submit:hover{ filter:brightness(.95); }

/* 小尺寸：表單改直排 */
@media (max-width: 767px){ 
  .modal__title{ margin-bottom: 1vw;} 
  .modal__form{ padding-bottom: 1rem; }
  .modal__divider{margin:0.5rem 0; }
  .modal__input{height: 2.25rem;}
  .modal__submit{height: 2.25rem};

}
@media (max-width: 480px){ .modal__form{ grid-template-columns:1fr;} .modal__input{width: 70vw;} }





/*活動編號*/



.modal_codeModal{
 gap: 1.25rem;
}
.modal_codeModal_pic{
  width: 35%;
  height: auto;
  border-radius: 5px;
}

@media(max-width:767px){
  .modal__section.modal_codeModal{
    flex-direction: column;
    align-items: center;
  }
  .modal_codeModal_pic{
    border-radius: var(--radius-sm);
    width: min(70vw, 100vw );
  }
}



/* 得獎名單 */

.winner_content{
  color: white;
  text-align: center;
  font-size: var(--fs-24);
}

.winner_detail{
  display: flex;
  justify-content: center;
  gap: 20px;
}






.float_btn{
  display: flex;
  flex-direction: column;
  gap: 30px;
  position: fixed;
  right: 1.5rem;        /* 離右邊距 */
  bottom: 20px;       /* 離下邊距 */
}



/* goTop  */
.goTop {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: var(--c-primary);
  color: #fff;
  font-size: 0.9rem;
  font-weight: 900;
  line-height: 1.1;
  text-align: center;
  box-shadow: var(--shadow-bottom);
  border: none;
  cursor: pointer;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  z-index: 50;
}

.goTop.show {
  opacity: 1;
  transform: translateY(0);
}

/* hover 效果 */
.goTop:hover {
  background: color-mix(in srgb, var(--c-primary) 85%, white);
}





/* link_icon  */
.link_icon {
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
  align-items: center;

  width: 3.5rem;
  height: 7.3rem;
  border-radius: 40px;
  background-image: url(../img/icon.png);
  background-size: cover;
  box-shadow: var(--shadow-bottom);
  border: none;
  cursor: pointer;

  transform: translateY(20px);
  z-index: 50;
}

.link_icon_btn{width: 35px; background-color: #fff; border-radius: 50%;}


.goTop.show {
  opacity: 1;
  transform: translateY(0);
}

/* hover 效果 */
.goTop:hover {
  background: color-mix(in srgb, var(--c-primary) 85%, white);
}

/* 小螢幕微調 */
@media (max-width: 768px) {
  .float_btn{
    position: fixed;
    right: 2vw;        /* 離右邊距 */

  }
  .goTop {
    width: 3rem;
    height: 3rem;
    font-size: 0.75rem;
  }
  
  .goTop {
    font-size: 0.75rem;
  }

  .link_icon{
    right: 1rem;
    bottom: 23vw;    
    width: 3rem;
    height: 6.3rem;

  }
  .link_icon_btn{width: 30px; background-color: #fff; }

}
.rightsReserved{
  font-size:clamp(0.8rem, 2.5vw, 1.25rem);
}
