/* 首頁連假特價輪播 Banner */
.hero_slider .hero_overlay--promo{
    align-items:center;
    z-index:2;
    pointer-events:none!important;
}

.pagecm.hero_slider .hero_slide--promo{
    isolation:isolate;
}

.pagecm.hero_slider .hero_slide--promo:not(.is-active){
    pointer-events:none;
}

.pagecm.hero_slider .hero_slide--promo.is-active{
    pointer-events:auto;
}

.pagecm.hero_slider .hero_slide--promo > img{
    position:relative;
    z-index:0;
}

.home-promo-banner-link{
    position:absolute;
    z-index:1;
    inset:0;
    display:block;
}

.pagecm.hero_slider .hero_slide--promo .hero_overlay_inner.home-promo-copy{
    pointer-events:none!important;
}

.home-promo-copy{
    position:relative;
    z-index:2;
    width:min(1280px,92%);
    margin:0 auto;
    padding:24px 20px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    color:#fff;
}

/* Override the shared glass-panel rule so the travel artwork stays crisp. */
.pagecm.hero_slider .hero_slide--promo .hero_overlay_inner.home-promo-copy{
    width:min(1280px,92%)!important;
    margin:0 auto!important;
    padding:24px 20px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
}

.home-promo-kicker{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:7px 13px;
    border:1px solid #ffe28a;
    border-radius:999px;
    background:#ffe28a;
    color:#39260e;
    font-size:14px;
    font-weight:900;
    letter-spacing:.08em;
    text-shadow:none;
}

.home-promo-kicker__spark{
    color:#ffe36b;
    font-size:18px;
}

.home-promo-title{
    margin:8px 0 12px;
    color:#fff;
    font-size:clamp(38px,5vw,64px);
    font-weight:1000;
    letter-spacing:.04em;
    line-height:1.05;
    text-shadow:0 4px 20px rgba(4,17,41,.58);
}

.home-promo-deals{
    display:grid;
    grid-template-columns:repeat(2,minmax(190px,1fr));
    gap:10px;
    width:min(100%,850px);
}

.home-promo-deal{
    position:relative;
    z-index:3;
    pointer-events:auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto auto auto;
    align-items:center;
    column-gap:8px;
    row-gap:4px;
    min-width:0;
    min-height:126px;
    padding:13px 16px;
    border:1px solid rgba(255,255,255,.85);
    border-radius:17px;
    background:#fff7e8;
    color:#202d45;
    text-decoration:none;
    box-shadow:0 12px 30px rgba(4,17,41,.3);
    transition:transform .18s ease,box-shadow .18s ease;
}

.home-promo-deal:hover,
.home-promo-deal:focus-visible{
    color:#202d45;
    text-decoration:none;
    transform:translateY(-3px);
    box-shadow:0 17px 34px rgba(4,17,41,.38);
}

.home-promo-deal__name{
    display:flex;
    min-width:0;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
    color:#253a5a;
    line-height:1.2;
}

.home-promo-deal__name strong{
    display:inline-block;
    max-width:100%;
    padding:4px 8px;
    border-radius:7px;
    background:#d6382c;
    color:#fff;
    font-size:19px;
    font-weight:1000;
    line-height:1.15;
    overflow-wrap:anywhere;
}

.home-promo-deal--double .home-promo-deal__name strong{
    background:#354da0;
}

.home-promo-deal__price{
    grid-column:2;
    grid-row:1 / span 3;
    display:flex;
    align-items:baseline;
    gap:4px;
    color:#c62c27;
    white-space:nowrap;
}

.home-promo-deal__price small{
    align-self:flex-start;
    margin-top:10px;
    padding:3px 5px;
    border-radius:5px;
    background:#d6382c;
    color:#fff;
    font-size:11px;
    font-weight:1000;
    letter-spacing:.06em;
}

.home-promo-deal__price strong{
    font-size:50px;
    font-weight:1000;
    letter-spacing:-.05em;
    line-height:1;
}

.home-promo-deal__price span{
    font-size:18px;
    font-weight:900;
}

.home-promo-deal__link{
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:#52647c;
    font-size:12px;
    font-weight:800;
}

.home-promo-deal__link i{font-size:10px}

.home-promo-deal__total{
    color:#35445f;
    font-size:22px;
    font-weight:900;
    line-height:1.2;
}

.home-promo-deal--double{
    grid-template-rows:auto auto auto;
}

.home-promo-holidays{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    width:min(100%,700px);
    margin-top:11px;
}

.home-promo-holiday{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:2px;
    padding:7px 10px;
    border:1px solid #ffe17a;
    border-radius:11px;
    background:#182945;
    color:#fff;
    box-shadow:0 5px 14px rgba(4,17,41,.24);
}

.home-promo-holiday strong{
    color:#ffe17a;
    font-size:13px;
    font-weight:1000;
    line-height:1.2;
    white-space:nowrap;
}

.home-promo-holiday span{
    color:#fff;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
}

@media (max-width:1023px){
    .home-promo-copy{width:96%;padding:14px 8px}
    .home-promo-title{margin:6px 0 9px;font-size:clamp(34px,5vw,48px)}
    .home-promo-deals{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(100%,760px)}
    .home-promo-deal{min-height:120px;padding:10px 12px;border-radius:14px}
    .home-promo-deal__name strong{font-size:16px}
    .home-promo-deal__price strong{font-size:42px}
    .home-promo-deal__price small{margin-top:8px;font-size:10px}
    .home-promo-holidays{gap:6px;margin-top:8px}
    .home-promo-holiday{padding:6px 8px}
    .home-promo-holiday strong{font-size:12px}
    .home-promo-holiday span{font-size:11px}
}

@media (max-width:768px){
    .pagecm.hero_slider .hero_slide--promo .hero_overlay{
        position:relative!important;
        inset:auto!important;
        display:block!important;
        margin-top:10px!important;
        padding:0 14px!important;
        pointer-events:none!important;
    }

    .pagecm.hero_slider .hero_slide--promo .hero_overlay_inner.home-promo-copy{
        width:100%!important;
        margin:0!important;
        padding:15px!important;
        border:1px solid rgba(255,255,255,.72)!important;
        border-radius:18px!important;
        background:linear-gradient(135deg,#fff8eb 0%,#fff 46%,#fff0df 100%)!important;
        box-shadow:0 10px 24px rgba(15,23,42,.12)!important;
        color:#202d45!important;
    }

    .home-promo-kicker{
        padding:5px 10px;
        border-color:#ffd9b3;
        background:#fff0dd;
        color:#aa441e;
        font-size:11px;
        text-shadow:none;
        backdrop-filter:none;
        -webkit-backdrop-filter:none;
    }

    .home-promo-kicker__spark{font-size:14px}

    .home-promo-title{
        margin:7px 0 9px;
        color:#23334b;
        font-size:32px!important;
        text-shadow:none;
    }

    .home-promo-deals{width:100%;gap:8px}

    .home-promo-deal{
        display:flex;
        min-height:112px;
        flex-direction:column;
        align-items:flex-start;
        justify-content:center;
        gap:4px;
        padding:9px 9px;
        border-color:#f5d7bb;
        border-radius:13px;
        box-shadow:0 5px 12px rgba(105,54,20,.09);
    }

    .home-promo-deal__name strong{padding:4px 6px;font-size:16px}

    .home-promo-deal__price{grid-column:auto;grid-row:auto;gap:1px}
    .home-promo-deal__price strong{font-size:clamp(34px,10vw,44px)}
    .home-promo-deal__price span{font-size:14px}
    .home-promo-deal__price small{margin-top:7px;padding:2px 4px;font-size:9px}
    .home-promo-deal__total{font-size:11px}
    .home-promo-deal__link{font-size:10px}
    .home-promo-deal__link i{font-size:9px}

    .home-promo-holidays{gap:5px;margin-top:9px}
    .home-promo-holiday{gap:2px;padding:6px 5px;border-color:#e2bf57;border-radius:9px}
    .home-promo-holiday strong{font-size:11px}
    .home-promo-holiday span{font-size:10px}
}

@media (max-width:360px){
    .pagecm.hero_slider .hero_slide--promo .hero_overlay{padding:0 9px!important}
    .pagecm.hero_slider .hero_slide--promo .hero_overlay_inner.home-promo-copy{padding:12px!important}
    .home-promo-deal{min-height:120px;gap:4px}
    .home-promo-deal__name strong{font-size:14px}
    .home-promo-deal__price strong{font-size:34px}
    .home-promo-deal__link{display:none}
    .home-promo-holidays{grid-template-columns:1fr}
    .home-promo-holiday{flex-direction:row;align-items:center;justify-content:space-between;padding:6px 9px}
    .home-promo-holiday strong{font-size:11px}
    .home-promo-holiday span{font-size:10px}
}
