:root{
    --markBG:#EEE;
    --markHoverBG: rgb(28, 0, 128);
    --arrowParameter: rotate(-60deg) skewX(-30deg) scale(1, 0.866) translateX(-50%);
    /* --imgShadow: drop-shadow( 0px 0px 10px rgb(0 0 0 / 0.3)); */
    --imgshadow: drop-shadow(-8px 10px 0px rgb(0 0 0 / 0.3));
}

.map-container{
    position: relative;
}
.map-container > .mask{
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 5;
}
.gc-mob-container{
    display: none;
}
.map-container > .mask.finish{
    z-index: -1;
}

.map{
    /* background-color: rgb(221, 150, 83); */
    position: relative;
    width: 100%;
    height: 670px;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.map > .area{
    position: absolute;
    /* top: 50%;
    transform: translateY(-50%); */
}
.map > .america{
    left: 0;
    filter: var(--imgShadow);
}
.map > .thumbtack.america{
    top: 22%;
    left: 14%;
}
.map > .asia{
    top: 11%;
    right: 0;
    filter: var(--imgShadow);
}
.map > .thumbtack.asia{
    top: 24%;
    right: 20%;
}
.map > .africa{
    right: 33.7%;
    bottom: 15%;
    filter: var(--imgShadow);
}
.map > .thumbtack.africa{
    bottom: 42%;
    right: 37.3%;
}
.map > .europe{
    top: 10%;
    right: 30.9%;
    filter: var(--imgShadow);
}

.map > .thumbtack.europe{
    top: 16%;
    right: 36%;
}
.map > .oceania{
    bottom: 8%;
    right: 0;
    filter: var(--imgShadow);
}
.map > .thumbtack.oceania{
    bottom: 28%;
    right: 9%;
    filter: var(--imgShadow);
}

.map > .thumbtack{
    position: absolute;
    z-index: 1;
    cursor: pointer;
    filter: unset !important;
}

.gc-mob-containe .thumbtack{
    cursor: pointer;
    margin-bottom: 2em;
}

.map > .thumbtack > .mark,
.map > .thumbtack > .mark > span,
.map > .thumbtack > .mark::after,
.gc-mob-container .thumbtack > .mark,
.gc-mob-container .thumbtack > .mark > span,
.gc-mob-container .thumbtack > .mark::after
{
    background-color: var(--markBG);
    transition: background-color 0.5s, color 0.5s;
}

.gc-mob-container .thumbtack > .mark,
.map > .thumbtack > .mark{
    position: relative;
    width: 126px;
    height: 78px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 3px solid #fff;
    border-radius: 10px;
    box-shadow: 0px 6px 6px #00000016;
    font-size: 20px;
}
.gc-mob-container .thumbtack > .mark > span,
.map > .thumbtack > .mark > span{
    color: #777;
    z-index: 1;
}
.gc-mob-container .thumbtack > .mark::after,
.map > .thumbtack > .mark::after{
    content: '';
    position: absolute;
    bottom: -5px;
    left: 44%;
    width: 30px;
    height: 30px;
    transform: var(--arrowParameter);
    border-left: 3px solid #fff;
    border-bottom: 3px solid #fff;
}



.map > .thumbtack > .mark:hover,
.map > .thumbtack > .mark:hover > span,
.map > .thumbtack > .mark:hover::after,
.map > .thumbtack > .mark.active,
.map > .thumbtack > .mark.active > span,
.map > .thumbtack > .mark.active::after,
.map > .thumbtack:has( + .area:hover) > .mark,
.map > .thumbtack:has( + .area:hover) > .mark  > span,
.map > .thumbtack:has( + .area:hover) > .mark::after,
.map > .thumbtack:has( + .area:hover) > .mark.active,
.map > .thumbtack:has( + .area:hover) > .mark.active > span,
.map > .thumbtack:has( + .area:hover) > .mark.active::after,
.gc-mob-container .thumbtack > .mark:hover,
.gc-mob-container .thumbtack > .mark:hover > span,
.gc-mob-container .thumbtack > .mark:hover::after,
.gc-mob-container .thumbtack > .mark.active,
.gc-mob-container .thumbtack > .mark.active > span,
.gc-mob-container .thumbtack > .mark.active::after,
.gc-mob-container .thumbtack:has( + .area:hover) > .mark,
.gc-mob-container .thumbtack:has( + .area:hover) > .mark  > span,
.gc-mob-container .thumbtack:has( + .area:hover) > .mark::after,
.gc-mob-container .thumbtack:has( + .area:hover) > .mark.active,
.gc-mob-container .thumbtack:has( + .area:hover) > .mark.active > span,
.gc-mob-container .thumbtack:has( + .area:hover) > .mark.active::after
{
    background-color: var(--gc-bg-color);
    color: white;
}


.map > .thumbtack:hover + .area,
.map > .area{
    filter: var(--imgshadow);
}

.map > .thumbtack.europe:hover + .area,
.map > .europe{
    filter:drop-shadow(-8px 4px 0px rgb(0 0 0 / 0.3));
}

.gc-swiper-container{
    display: none;
}

.gc-area{
    overflow: hidden;
}

.gc-country-container .title{
    display: flex;
    align-items: center;
    margin: 40px 0;
}

.gc-country-container .title > img{
    width: 30px;
    height: 28px;
}
.gc-country-container .title > h2{
    margin: 0;
    margin-left: 20px;
    font-size: 28px;
    font-weight: bold;
}

.gc-country-container .countries{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2em;
}
.gc-country-container .countries > .country{
    width: 210px;
    height: 180px;
    border-radius: 20px;
    padding: 20px;
    background-color: #FCF7E4;
    box-shadow: 0px 3px 6px #00000029;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: column;
    gap: 1em;
}

.gc-country-container .countries > .country > p{
    color: black;
    font-size: 20px;
    margin: 0;
}

.mob-map{
    padding: 0 20px;
    width: 100%;
}
.area-buttons{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 1em;
}

/* 地圖 hover 動畫效果 */
.map > .thumbtack:has( + .area:hover) + .area,
.map > .thumbtack:hover + .area{
    animation: hoverAnimation 1s linear forwards infinite alternate;
}
@keyframes hoverAnimation {
    from {
        transform: translateY(5px);
    }
    to {
        transform: translateY(-5px);;
    }
}

@media (max-width: 769px) {
    .map-container > .mask{
        display: none;
    }
    .map{
        display: none;
    }
    .gc-mob-container{
        display: block;
    }
}

@media (max-width: 512px) {
    .gc-country-container .countries > .country{
        width: 186px;
        height: 172px;
    }
}
