@charset "utf-8";

/* a:hover{ opacity:0.9;} *//*滑鼠滑入半透明*/
/*--loading載入中--------------------------------*/
/*遮罩樣式*/
.overlay{ position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); /*半透明背景*/ display: flex; justify-content: center; align-items: center; z-index: 9999;/*確保遮罩層在最上層*/}

/*spinner樣式+旋轉動畫*/
.spinner{ border: 8px solid rgba(0, 0, 0, 0.1); border-left: 8px solid #fff; border-radius: 50%; width: 50px; height: 50px; margin: 0 auto; animation: spin 1s linear infinite;}
@keyframes spin { 0% { transform: rotate(0deg);} 100% { transform: rotate(360deg);}}

/*loading文字*/
.loadingTxt{ margin-top: 10px; font-size: 2rem; color: #fff; font-weight: bold;}

/*--PC、M的隱藏/顯示設定--*/
.pcNo{ display: block;}
.mNo{ display: none;}
.mINBLpcNO{ display: inline-block;}
.pcINBLmNO{ display: none;}

/*--特殊色：文字、連結、heighLight--*/
.heighLightPurple{ background-color: #6f64d1; padding: 0 5px;}
.heighLightGreen{ display: inline-block; margin: 4px 0; background-color: #a7e0a6; padding: 0 5px;}
.heighLightRed{ display: inline-block; margin: 4px 0; background-color: #e7cdc9; padding: 0 5px;}
.txtPurple{ color: #c925bc;}
.txtGreen{ color: #04ac00;}
.txtRed{ color: #df3f24;}
.txtBrown{ color: #885d00;}
.txtBlue{ color: #2487e0;}
.txtYellow{ color: #f7fc30;}
.alink{ color: #0076df; text-decoration: none;}
.alink:hover{ text-decoration: underline;}

/*區塊上下間距-----------------------------------------*/
.bgPadT{ padding-top: 30px;}
.bgPadB{ padding-bottom: 30px}

.bgPadT2{ padding-top: 0;}
.bgPadB2{ padding-bottom: 0;}

.bgPadB3{ padding-bottom: 20px;}

.bgPadTm{ padding-top: 12px;}
.bgPadBm{ padding-bottom: 12px;}

.bgPadTm2{ padding-top: 15px;}
.bgPadBm2{ padding-bottom: 15px;}

/*背景圖-----------------------------------------*/
.bg1{ background-color: #eea3ac; background-image: url(https://cp-img.bookwalker.com.tw/event/2026/20260505_harem/images/bg1.jpg); background-position: top center; background-size: 135%;}
.bg2{ background-color: #000000; background-image: url(https://cp-img.bookwalker.com.tw/event/2026/20260505_harem/images/bg2.png); background-position: top center; background-size: 120%;}
.bg3{ background-color: #000000; background-image: url(https://cp-img.bookwalker.com.tw/event/2026/20260505_harem/images/bg2.png); background-position: top center; background-size: 120%;}
.bgDeco1{ background-image: url(https://cp-img.bookwalker.com.tw/event/2026/20260505_harem/images/bg_deco1.png); background-position: top center; background-size: 150%; background-repeat: no-repeat;}
.bgDeco2{ background-image: url(https://cp-img.bookwalker.com.tw/event/2026/20260505_harem/images/bg_deco2.png); background-position: bottom center; background-size: 150%; background-repeat: no-repeat;}


/*--header-----------------------------------------*/
/* .headerW{ max-width: 800px; margin: 0 auto; border: #f2dcee 8px solid; overflow: hidden;} */
.headerBox{ overflow: hidden; position: relative;}
.headerBox img{ display: block; width: 100%;}
.headerH{ width: 100%;}

.headerPicFull{ position: absolute; top: 0; left: 0; width: 100%;}
.headerPicHalf{ position: absolute; top: 0; width: 50%;}
.headerPicHalf.left{ left: 0;}
.headerPicHalf.right{ right: 0;}

.headerPic{ position: absolute;}

/*刊頭動畫*/
.headerAni{ animation: headerAni 5s infinite;}
@keyframes headerAni { 
    0%{ transform: scale(1) rotate(0deg) translateY(0);}
    50%{ transform: scale(1.02) rotate(2deg) translateY(2px);}
    100% { transform: scale(1) rotate(0deg) translateY(0);}
}

/*--contain-----------------------------------------*/
.contain{ overflow: hidden;}
/*區塊寬度*/
.areaWidth{ position: relative; width: 94%; margin: 0 auto;}
.areaWidth2{ position: relative; width: 94%; margin: 0 auto;}
.areaWidth3{ position: relative; width: 96%; margin: 0 auto;}

/*主標寬度*/
.mainTitle{ width: 92%; margin: 0 auto 8px auto;}
.mainTitle2{ width: 100%; margin: 0 auto;}
.mainTitle3{ width: 100%; margin: 0 auto 0 auto; position: relative;}
.mainTitle4{ width: 92%; margin: 0 auto; max-width: 1500px;}
.insideTitle{ width: 90%; margin: 0 auto;}

/*常用(定位+圖片block)*/
.posiRelative{ position: relative;}
.posiAbsolute{ position: absolute;}
.imgBlock100 img{ display: block; width: 100%;}
/*圖片滿版定位*/
.picFull{ position: absolute; top: 0; left: 0; width: 100%;}

/*PC+M同版*/
.areaWidthM{ position: relative; width: 94%; margin: 0 auto;}
.mainTitleM{ width: 100%;}
.wrapperHalf > li{ padding: 2%;}

/*--sweetAlert-----------------------------------------*/
/*預設按鈕文字大小*/.swal2-actions button {font-size: 1.4rem !important;}

/*動畫(縮放)*/
.aniScale{ animation: aniScale 1.5s infinite;}
@keyframes aniScale { 
    0%{ transform: scale(1);}
    50%{ transform: scale(0.95);}
    100% { transform: scale(1);}
}

/*--推薦書-----------------------------------------*/
/*--書封列表--*/
.recommBox{ width: 65%; margin: 15px auto 0 auto;}

/*書封比例*/
.webBookCover{ aspect-ratio: 600/883;}

/*書封邊框+陰影*/
.webBookCover a{ display: block; border: #ffffff 2px solid; overflow: hidden; width: 100%; height: 100%; box-sizing: border-box;}
/*書封外框顏色*/
.bookStyle1 .webBookCover a{ border-color: #e12269;}
.bookStyle2 .webBookCover a{ border-color: #9b59f7;}
.bookStyle3 .webBookCover a{ border-color: #ff51e5;}
.bookStyle4 .webBookCover a{ border-color: #ffe42d;}
.bookStyle5 .webBookCover a{ border-color: #98ff3d;}

/*img填滿外框設定*/
.webBookCover img{ width: 100%; height: 100%; 
    object-fit: cover; /*圖片等比例，並填滿外框的寬與高（因此若圖片比例差太多時，可能會有圖片被裁到的狀況）*/
    transform: scale(1.0001);/*用transform觸發瀏覽器重新渲染圖片*/ 
    backface-visibility: hidden;/*避免渲染時的邊緣/閃爍副作用*/
}

/*img縮入外框內(圖片比例差太多，裁到重要部分時補白底)*/
.webBookCover.contain img{
    object-fit: contain; /*圖片等比例縮入外框內（會用白底來補）*/
}
.webBookCover.contain a{
    background-color: #ffffff;/*補的白底可以改顏色*/
}

/*--看更多區-----------------------------------------*/
.moreBtnBox{ width: 80%; margin: 0 auto;}

/*--767up(Pc)------------------------*/
@media screen and (min-width:767px) {
    /*--loading載入中--------------------------------*/
    /*loading文字*/.loadingTxt{ font-size: 2.5rem; }

    /*--PC、M的隱藏開啟設定--*/
    .pcNo{ display: none;}
    .mNo{ display: block;}
    .mINBLpcNO{ display: none;}
    .pcINBLmNO{ display: inline-block;}

    /*區塊上下間距-----------------------------------------*/
    .bgPadT{ padding-top: 60px;}
    .bgPadT2{ padding-top: 15px;}

    .bgPadB{ padding-bottom: 90px;}

    .bgPadB2{ padding-bottom: 0;}
    .bgPadB3{ padding-bottom: 40px;}

    /*背景圖-----------------------------------------*/
    .bg1, .bg2{ background-attachment: fixed; background-size: 100%;}
    .bg3{ background-attachment: fixed; background-size: 120%;}
    .bgDeco1, .bgDeco2{ background-size: 100%;}
    
    /*--header-----------------------------------------*/
    /* .headerW{ border-width: 15px;} */


    /*--contain-----------------------------------------*/
    /*區塊寬度*/
    .areaWidth{ max-width: 1200px; padding-top: 0;}
    .areaWidth2{ max-width: 1300px;}
    .areaWidth3{ max-width: 900px;}

    /*主標寬度*/
    .mainTitle{ width: 56%; max-width: 500px;}
    .mainTitle2{ width: 65%; max-width: 590px; margin: 0 auto;}
    .mainTitle3{ width: 100%;}

    .wrapper{ width: 40%; max-width: 620px; margin: 0 auto;}
    .wrapperHalf { width: 94%; margin: 0 auto;}
    .wrapperHalf > li{ padding: 2%;}

    /*--優惠券區-----------------------------------------*/
    .couponBox{ max-width: 800px; margin: 0 auto;}

    /*--推薦書-----------------------------------------*/
    /*--書封列表--*/
    .recommBox{ width: 90%; max-width: 1500px; margin: 15px auto 0 auto;}

    /*書籍看更多*/
    .bookMore{ width: 45%; max-width: 600px; margin: 0 auto;}

    /*--看更多區-----------------------------------------*/
    .moreBtnBox{ width: 100%;}

    /*--hover animate--------------------------------*/
    .couponBox a, .bookMore a{ display: block; transition: 0.4s;}
    .couponBox a:hover{ transform: rotate(-6deg) scale(0.9);}
    .bookMore a:hover{ transform: rotate(6deg) scale(0.9);}

    .listBox li .webBookCover a:hover{ transform: scale(1);}
    .listBox li .webBookCover a img{ display: block; transition: 0.4s;}
    .listBox li .webBookCover a:hover img{ transform: scale(1.15) rotate(5deg);}
}

/*--768-1024(Pad)------------------------*/
@media screen and (min-width:768px) and (max-width:1024px) { 
    /*背景圖-----------------------------------------*/
    .bg1, .bg2{ background-attachment: inherit;}
    .bg1{ background-size: 125%;}

    /*--contain-----------------------------------------*/
    /*區塊寬度*/
    .areaWidth2{ max-width: 95%;}
    /*主標寬度*/
    .mainTitle3{ width: 90%;}

    .wrapperHalf > li{ padding: 2%;}

    /*--優惠券區-----------------------------------------*/
    .couponBox{ max-width: 600px;}

}

/*--1200以下------------------------*/
@media screen and (min-width:767px)  and (max-width:1200px) { 
    /*--contain-----------------------------------------*/
    .wrapper { width: 65%; margin: 0 auto;}

    /*--header-----------------------------------------*/
    .headerPadWidth{ overflow: hidden;}
    .headerPadWidth .headerBox{ width: 166%; margin-left: -33%;}/*平板刊頭放大(讓左右背景超出可視範圍)*/
}

/*--1500以上------------------------*/
@media screen and (min-width:1500px) { 
    .wrapperHalf { max-width: 1400px; margin: 0 auto;}

}

/*--320以下小手機------------------------*/
@media screen and (max-width:320px) {
}

.recommBox > li > img:first-child{ aspect-ratio: 390/53;}
.recommBox > li > img:last-child{ aspect-ratio: 390/90;}
.bookMore img{ aspect-ratio: 890/330;}

.moreBtnBox img{ aspect-ratio: 660/660;}


/*--animate.css--------------------------------*/
.animate__animated.animate__delay-02s{-webkit-animation-delay:0.2s;animation-delay:0.2s;}
.animate__animated.animate__delay-03s{-webkit-animation-delay:0.3s;animation-delay:0.3s;}
.animate__animated.animate__delay-04s{-webkit-animation-delay:0.4s;animation-delay:0.4s;}
.animate__animated.animate__delay-05s{-webkit-animation-delay:0.5s;animation-delay:0.5s;}
.animate__animated.animate__delay-06s{-webkit-animation-delay:0.6s;animation-delay:0.6s;}
.animate__animated.animate__delay-07s{-webkit-animation-delay:0.7s;animation-delay:0.7s;}
.animate__animated.animate__delay-08s{-webkit-animation-delay:0.8s;animation-delay:0.8s;}
.animate__animated.animate__delay-10s{-webkit-animation-delay:1.0s;animation-delay:1.0s;}
.animate__animated.animate__delay-12s{-webkit-animation-delay:1.2s;animation-delay:1.2s;}
.animate__animated.animate__delay-13s{-webkit-animation-delay:1.3s;animation-delay:1.3s;}
.animate__animated.animate__delay-14s{-webkit-animation-delay:1.4s;animation-delay:1.4s;}