@charset "utf-8";
/* CSS Document */

@import url("reset.css");
@import url("/css/font-awesome.css");
@import url("/css/animate.css");
@import url("/css/bootstrap4-Mfix.css");
@import url("/css/hover.css");
@import url("https://fonts.googleapis.com/earlyaccess/notosanstc.css");
@import url("https://fonts.googleapis.com/icon?family=Material+Icons");

html, body { width:100%; height: auto;overflow-X:hidden; }
body { font-size:100%;}
*{transition:all .3s; -webkit-transition:all .3s;}


:root {
  --blue-dark: #1a2a6e;
  --blue-main: #2563eb;
  --blue-light: #dbeafe;
  --blue-bg: #e8f4fd;
  --pink-light: #fce7f3;
  --accent-orange: #f97316;
  --text-dark: #4f4f4f;
  --text-body: #374151;
  --text-muted: #6b7280;
  --white: #ffffff;
  --section-bg: #f0f8ff;
  --font-base: 16px;
}

/*:before{ content:"\f146";font-family: 'FontAwesome'; }*/

.btnTop{ background: #CCC \9;background:rgba(0,0,0,.2); border-radius:50%; width:50px; height:50px; position: fixed;right:15px; bottom:15px;cursor:pointer; z-index:99; color:#FFF; text-align:center; font-family:Arial, Helvetica, sans-serif;	text-transform:uppercase; font-size:13px ; letter-spacing:1px; display: none  ; z-index:999;}
.btnTop:before {    content: "\f106";    font-family: 'FontAwesome';    font-size: 20px;    color: #FFF;    display: block;    width: 100%;    height: 25px;    padding-top: 0;}
.btnTop:hover{background:rgba(0,0,0,.4);}

.img-response{ max-width:100%; height:auto;}

/* 全域響應式圖片保險：避免任何未加 class 的圖片在小螢幕溢出容器 */
.container-wrap img,
.register_wrap img,
.part5 img {
  max-width: 100%;
  height: auto;
}

/*------------item-inline-block------------*/
.item-inline-block{ letter-spacing:-5px;}
.item-inline-block > *{display: inline-block !important; letter-spacing:1px;vertical-align: top;}

/*------------item-table-cell------------*/
.item-table-cell{ display:table;}
.item-table-cell > *{display: table-cell !important; vertical-align: top;}


/*------------item-flex------------*/
.item-flex{ display:flex !important;display:-webkit-flex !important;flex-flow: row wrap}
.item-flex > *{flex:1;-webkit-flex:1 }


.empty {    display: inline-block;}


@media screen and (max-width: 640px) {
	
.vertical-xs{ display:block !important;	}
.vertical-xs  > *{  display:block !important; width:100% !important ;float:none !important; }
.empty {    display: block;    height: 1px;}
	
}



.show{ display:block !important;}
.hide{ display:none !important;}
.space-br {    display: inline-block;}

@media screen and (max-width: 640px) {	

.hide-xs{ display:none !important; }
.show-xs{ display:block !important;}
.space-br {    display: block;    line-height: 0;}
	
}





.wrap{width:100%;height:auto;position:relative; font-family:'Noto Sans TC',"微軟正黑體",Microsoft Yahei;line-height:1.6; background:#fff;}
		



/*▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃ 版頭 ▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃*/
.header {
    width: 100%;
    position: relative;
    height: auto;
    overflow: hidden;
    background-image: url("../images/header-bg.png");
    background-position: bottom right;
    padding-top: 40px;
}
 .header span img{ width:100%; height:auto;}

 .header .center{width:100%;max-width:1000px;position:relative; margin:0 auto; z-index:1;}
 .header .center img{ width:100%; height:auto;}
.header-text {
    position: relative;
}
a.try-btn {
    display: flex;
    width: 190px;
    height: 55px;
    background: #ffe376;
    color: #085ec9 !important;
    position: absolute;
    right: 10px;
    top: 205px;
    font-size: 24px;
    letter-spacing: 2px;
    font-weight: bold;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    transform: skewX(
347deg);
}

/*
 .header .logo{ position:absolute; left:8px; top:2px; z-index:6; }
 .header .logo img{width:100%; height:auto;}
*/


/*白色LOGO+底色*/
.header .logo {
    background-color: #3e4864;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 999;
}
.logo a {
    display: inline-block;
}
.logo img {
    width: 250px;
    height: auto;
    padding: 10px;
}



/*▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃ 內容 ▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃*/



.container-wrap { width:100%; margin:0 auto;}


.section-pad {
  padding: 55px 0
}
.section-pad h2 {
    font-size: 48px;
    color: #2c2c2c;
    margin: 0;
}
.section-pad h2 span{
    color: #095eca;}
.subtitle {
    color: #8c8c8c;
    font-size: 24px;
    margin: 8px 0 50px;
}
.problem-cards {
  margin-top: 30px
}
.problem-card {
    max-width: 340px;
    margin: 0 auto;
    padding: 30px 13px 9px;
    border-radius: 23px;
    box-shadow: 0 2px 15px #dce0e5;
    background: #fff;
}

.art-placeholder.card-art img {
    margin: 0 auto;
}

.card-title {
    color: #3b3b3b;
    font-size: 24px;
    font-weight: bold;
    margin: 20px 0 0 !important;
}
.problem-card p {
    color: #818181;
    font-size: 20px;
}



.unbox-section, .reports-section {
  background: #eaf6ff
}
.unbox-section {
  padding-bottom: 40px
}
.flip-card {
    width: 100%;
    max-width: 266px;
    aspect-ratio: 266 / 316;
    height: auto;
    padding: 0;
    border: 0;
    background: transparent;
    perspective: 900px;
    margin: 0 auto;
}
.flip-inner {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  transition: transform .65s;
  transform-style: preserve-3d
}
.flip-card:hover .flip-inner, .flip-card:focus-visible .flip-inner, .flip-card.is-flipped .flip-inner {
  transform: rotateY(180deg)
}
.flip-face {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  border-radius: 8px
}
.gift-face {

  display: flex;
  align-items: center;
  justify-content: center
}
.bow {
  position: absolute;
  top: -33px;
  color: #9cc8ff;
  font-size: 62px;
  letter-spacing: -24px;
  transform: rotate(-6deg)
}
.gift-placeholder {
    height: 100%;
    width: 100%;
    display: grid;
    place-items: center;
}

.detail-face {
  transform: rotateY(180deg);
  background: #fff;
  border: 1px solid #c8d5ed;
  padding: 21px 12px;
  text-align: left;
 color: #2D6FE0;
  display: flex;
  flex-direction: column;
  justify-content: center
}
.detail-face strong {
    color: #2D6FE0;
    font-size: 26px;
/*    text-align: center;*/
}

.detail-face .more {
    background: linear-gradient(135deg, #EAF3FF, #D3E8FF);
    text-decoration: none;
    color: #2D6FE0;
}


.flip-card.mint .detail-face strong,.flip-card.mint .detail-face p {
  color: #1F9A8C;
}
.flip-card.mint .detail-face .more {
  background: linear-gradient(135deg, #E3FBF8, #C9F1EC);
  color: #1F9A8C;
}


/* 紫色 - 放大鏡搜尋 */
.flip-card.purple .detail-face strong,.flip-card.purple  .detail-face p {
  color: #6C4FD1;
}
.flip-card.purple .detail-face small {
  color: #666; /* 內文維持灰色，保持可讀性 */
}
.flip-card.purple .detail-face .more {
  background: linear-gradient(135deg, #F1EAFB, #E2D6F9);
  color: #6C4FD1;
}

.flip-card.orange .detail-face strong,.flip-card.orange .detail-face p {
  color: #D97706;
}
.flip-card.orange .detail-face .more {
  background: linear-gradient(135deg, #FFF4E0, #FFE3B8);
  color: #B4680E;
}


.flip-card.indigo .detail-face strong,.flip-card.indigo .detail-face p {
  color: #3B5BDB;
}
.flip-card.indigo .detail-face .more {
  background: linear-gradient(135deg, #E8F0FF, #D6E4FF);
  color: #3B5BDB;
}

.detail-face small {
    font-size: 18px;
    color: #666;
    line-height: 1.75;
    margin-top: 9px;
    height: 135px;
}
.detail-face ul {
    padding: 0;
    margin: 0;
}

.more {
    font-size: 18px;
    color: #3a77df;
    background: #f1efff;
    border-radius: 50px;
    text-align: center;
    margin-top: 12px;
    padding: 6px;
}
.use-section {
  padding-top: 68px
}
.circle-placeholder {
    width: 100%;
    max-width: 191px;
    aspect-ratio: 191 / 193;
    height: auto;
    margin: auto auto 12px;
    display: grid;
    place-items: center;
}

.use-section h3 {
  font-size: 15px;
  font-weight: 700;
  margin: 0 0 4px
}

.detail-face p {
    font-size: 18px;
    color: #2D6FE0;
}

.detail-face p i {
    margin-right: 5px;
}

section.part5 {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 70px 0;background-color: #eef7ff;
}
.part5 .swiper {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
    padding: 20px;
/*    background: #fff;*/
/*    border-radius: 20px;*/
}
.part5 .swiper-wrapper {
  width: 100%;
  max-width: 1000px;
}
.part5 .swiper-slide {
  max-width: 1000px;
  width: 100%;
/*  background-color: #fff;*/
  opacity: 0 !important;
}
.part5 .swiper-slide.swiper-slide-active {
  opacity: 1 !important;
}


.part5 .block-text {
    text-align: left;
	margin-left: 20px;
	position: relative;
}
.p5block-title {
    color: #095eca;
    font-size: 36px;
    font-weight: 700;
    font-family: noto sans TC;
    letter-spacing: 2px;
}

.p5block-sectitle {
    font-size: 18px;
    background-color: #095eca;
    border-radius: 20px;
    color: #fff;
    display: inline-block;
    padding: 5px 20px;
    font-family: 'Noto Sans TC';
    letter-spacing: 2px;
    margin: 18px 0 30px;
}
.part5 .block-text p {
    color: #000;
    letter-spacing: 1px;
    line-height: 1.8;
}

.part5 .swiper-button-wrap {
    position: absolute;
    bottom: 70px;
    width: 90px;
    right: 220px;
}
.part5 .swiper-button-prev {
    left: 0 !important;
}
.part5 .swiper-button-next {
    right: 0 !important;
}

.swiper-button-next, .swiper-button-prev {
    color: #095eca !important;
    border: 1px solid;
    border-radius: 50%;
    width: 30px !important;
    height: 30px !important;
}
.swiper-button-next:after, .swiper-button-prev:after {
    font-size: 16px !important;
    font-weight: bold;
}





/*----------------------------- 注意事項文字 -----------------------------------  */

/* ul { width:80%; margin:0 auto; color:#a3a3a3; list-style:decimal; padding-left:30px;}
 ul li{ margin-bottom:10px; font-size:15px; color:#333333; line-height:1.5;}
*/

.register_wrap {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  background-image: url("/images/solution/food/2021/register-bg.png");
  background-position: right center;
  background-repeat: no-repeat;
  padding: 90px 0;
}
.register-bg {
      background-color: #095eca;
}
section.register {
  width: 525px;
  margin-left: 5%
}
h3.register-title {
  display: none
}
section.register .title {
    color: #fff;
    font-size: 40px;
    font-weight: 700;
    margin-bottom: 30px;
}
input#submitBtn:hover, section.register a#sendCodeBtn:hover {
    background-color: #0c2d74 !important;
}
input#submitBtn, section.register a#sendCodeBtn {
    background-color: #06359c !important;
    color: #ffffff !important;
    line-height: 1.5;
    border: 3px solid #1e54cb !important;
    border-radius: 50px !important;
    box-shadow: none;
    text-decoration: none;
}
section.register a.fancybox.btn.btnType1 {
  border: 0;
  color: var(--blue-main);
  font-size: 20px;
  margin-top: 10px;
  font-weight: 400;
  box-shadow: unset;
  border-radius: 5px !important;
  text-decoration: none;
}
a.fancybox.btn:hover {
  color: #1750cd !important;
  /*    background-color: #1750cd !important;*/
}
input#DAA009 {
  width: 280px !important;
  margin-right: 10px;
  padding-left: 10px !important;
}
a#sendCodeBtn {
  width: calc(100% - 335px) !important
}
.code {
  margin-top: 10px
}
.wrap01 {
  margin-bottom: 20px;
}
input#M5Code {
  width: 230px !important;
  margin-right: 10px;
  padding-left: 10px;
}
input#submitBtn {
  width: calc(100% - 288px) !important
}
/* 適用於主流現代瀏覽器 (Chrome, Edge, Safari, Firefox) */
#DAA009::placeholder, #M5Code::placeholder {
  color: #06359c !important; /* 或是直接寫 #444 */
  opacity: 1; /* Firefox 預設會強制加上透明度，這行可以確保顏色飽和 */
}
/* 為了相容舊版 WebKit 核心瀏覽器 */
#DAA009::-webkit-input-placeholder, #M5Code::-webkit-input-placeholder {
  color: #06359c !important;
  background-color: #fff;
  border-radius: 0;
  padding: 0 5px;
}
/* 為了相容舊版 Firefox */
#DAA009::-moz-placeholder, #M5Code::-moz-placeholder {
  color: #06359c !important;
  opacity: 1;
}
/* 為了相容舊版 IE / Edge */
#DAA009:-ms-input-placeholder, #M5Code:-ms-input-placeholder {
  color: #06359c !important;
}
input:-internal-autofill-selected {
  /*  background-color: #ff6773 !important;*/
  color: #06359c !important
}
input:-webkit-autofill, input:-webkit-autofill:active, input:-webkit-autofill:focus, input:-webkit-autofill:hover {
  -webkit-text-fill-color: #666;
  -webkit-box-shadow: 0 0 0 1000px rgba(255, 255, 255, 0) inset;
  transition: background-color 5000s ease-in-out 0s
}
input#DAA009, input#M5Code, input#submitBtn {
  background-color: #ffffff;
  color: var(--blue-main);
  border: 2px solid var(--blue-main);
  border-radius: 40px;
}
.sms-img {
    color: #fff !important;
}


@media screen and (max-width:1024px) {
  .register_wrap {
    height: 780px;
    background-position: bottom;
    background-position-y: 405px;
  }
  section.register {
    display: block;
    margin: 0 auto;
  }
}
@media screen and (max-width:768px) {
  .register_wrap {
    padding: 50px 0;
  }
  .register_wrap {
    height: 740px;
    background-position: bottom;
    background-position-y: 365px;
  }
}
@media screen and (max-width:576px) {
  section.register {
    width: 100%;
    padding: 0 10px;
  }
  section.register .title {
    font-size: 36px;
  }
  input#M5Code {
    width: 220px !important;
  }
  input#DAA009 {
    width: 190px !important;
  }
  a#sendCodeBtn {
    width: 145px !important;
  }
  input#submitBtn {
    width: 115px !important;
  }
  .register_wrap {
    height: 675px;
    background-size: 100%;
}
}



/* ▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃ 平板 (≤991px) ▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃ */
@media screen and (max-width: 991px) {

  .section-pad h2 { font-size: 36px; }
  .subtitle { font-size: 20px; margin: 8px 0 34px; }

  /* 報名表單：桌機版用固定 525px + margin-left:5% 搭配右側背景圖，
     平板/手機改置中並用比例寬度，避免固定寬度撐爆版面 */
  
a.try-btn {
    top: 240px;
}
  .part5 .swiper-button-wrap {
    right: 20px;
    bottom: 20px;
  }
}

/* ▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃ 手機 (≤640px) ▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃ */
@media screen and (max-width: 640px) {

a.try-btn {
    top: 51%;
    font-size: 20px;
    height: 40px;
    width: 170px;
}
  .section-pad { padding: 40px 0; }
  .section-pad h2 { font-size: 30px; }
  .subtitle { font-size: 18px; margin: 6px 0 24px; }

  .card-title { font-size: 19px; }
  .problem-card p { font-size: 16px; }
  .problem-card { padding: 22px 10px 6px; }

  .detail-face strong { font-size: 20px; }
  .detail-face small { font-size: 14px; line-height: 1.6; }

  .use-section { padding-top: 32px; }

  .p5block-title { font-size: 24px; }
  .p5block-sectitle { font-size: 14px; padding: 4px 14px; margin: 12px 0 16px; }
  .part5 .block-text { margin-left: 0; text-align: center; }
  section.part5 { padding: 40px 0; }

  /* 報名表單容器：桌機版的 525px 固定寬與 5% margin 在窄螢幕下會直接橫向溢出 */
  section.register {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0 20px;
  }
  section.register .title { font-size: 30px; margin-bottom: 20px; }



  /* 表單欄位：桌機版用 calc(100% - 固定px) 併排，
     手機容器變窄時該公式會變成極窄甚至負值，這裡改為直排、各自佔滿寬度 */
  input#DAA009,
  .register a#sendCodeBtn,
  input#M5Code,
  input#submitBtn {
/*    width: 100% !important;*/
    margin: 0 !important;   /* register.php 內對 #submitBtn 是用行內 style="margin-left:5px"，需 !important 才蓋得過 */
    display: block;
  }

 .part5 .swiper-button-wrap {
    position: static;
    display: flex;
    justify-content: center;
    gap: 16px;
    width: auto;
    margin-top: 35px;
}
  .part5 .swiper-button-prev,
  .part5 .swiper-button-next {
    position: static !important;
  }

  /* Modal 是行內 style="width:349px"，在 <369px 寬的舊機型上會橫向溢出，需 !important 覆蓋 */
  #smsGlobalModal .modal-dialog {
    width: calc(100vw - 24px) !important;
    max-width: 349px;
    margin: 0 auto;
  }
}