/* 인덱스 기본*/

.lang-switcher {
    position: fixed;
    top: 30px;
    left: 30px;
    z-index: 10000;
}

.lang-txt {
    font-family: 'Bitcount Prop Single', sans-serif;
    font-size: 30px;
    color: #ffffff;      /* 흰색 글씨 */
    cursor: pointer;
    letter-spacing: 1px;
    text-shadow: 2px 2px 0 rgba(2, 2, 255, 0.2); /* 가독성을 위한 살짝의 그림자 */
    transition: opacity 0.2s;
}

.lang-txt:hover {
    opacity: 0.7;
}

.popup-trigger{    
    cursor: pointer!important;
}

.bg{
    position: relative;
    z-index: 1;
    width: 100vw;    
    margin-bottom: -5px;         
}

.z50{
    z-index: 50;
}

.z100{
    z-index: 100;
}

.element {
    position: absolute;
    height: auto; 
    display: block;
}

.footer-box{
    display: none;
}


/* 컨테이너 기본설정 */

.container1, .container2, .container3, .container4, .container5{
    position: relative;
    width: 100vw;                 
    overflow: hidden;
}

.container4{
    margin-top: -2px;
    margin-bottom: -5vw;
}

.fixed-top-right {
    position: fixed;
    top: 25px;
    right: 25px;
    z-index: 9999; /* 최상단 유지 */
}

.sound-control-btn {
    background: transparent !important; /* 배경 투명화 */
    border: none !important;            /* 테두리 제거 */
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease;
    filter: drop-shadow(2px 2px 2px rgba(0, 76, 255, 0.5)); /* 아이콘 가독성을 위한 그림자 */
}


.sound-control-btn:hover {
    transform: scale(1.1);
}

.sound-svg {
    pointer-events: none; /* 클릭 간섭 방지 */
}



/* 호버 관련 CSS */

/* 기본 상태 */
.iso1.element {
    transition: all 0.3s ease; /* 부드러운 전환 효과 (선택사항) */
}

/* 호버 시 이미지 경로 변경 */
.iso1.element:hover {
    content: url('http://min-world.com/wp-content/uploads/2025/12/photo.png');
    cursor: pointer;
}








/* 필터 설정 */

.noise-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  
  /* 1. 노이즈 입자를 더 굵고 확실하게 생성 (Base64 최적화) */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
  
  /* 2. 입자 크기를 강제로 키워서 눈에 보이게 함 */
  background-size: 150px 150px; 
  
  /* 3. 블렌드 모드 수정: color-burn은 흰 배경에서 안 보이므로 multiply나 overlay 사용 */
  mix-blend-mode: color-burn; 
  
  /* 4. 투명도 조절: 일단 0.2로 설정하고, 너무 약하면 0.3~0.4로 올리세요 */
  opacity: 0.7; 
  
  pointer-events: none;
  /* GPU 가속 */
  transform: translateZ(0);
}
.dots-filter {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 800;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill-opacity='0.5'%3E%3Ccircle fill='%23FFFFFF' cx='2' cy='2' r='1.2'/%3E%3Ccircle fill='%23FF00FF' cx='7' cy='7' r='1.2'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 50px 50x; 
  mix-blend-mode: overlay;
  opacity: 0.6;
}

.white-vignette {
  position: fixed;
    opacity: 80%;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 900; /* 땡땡이 필터나 노이즈보다는 아래, 컨텐츠보다는 위 */
    pointer-events: none; /* 필터 아래의 요소를 클릭할 수 있게 함 */

    /* 안쪽으로 퍼지는 흰색 그림자 효과 */
    box-shadow: inset 0 0 30px 30px rgba(255, 255, 255, 1);
}




/* 컨테이너 1 */

.boat{    position: absolute;
    width: 100vw;  
    bottom:0%  
}

.error>.custom-popup{left: 40%!important;
    top: 40%!important;}

.send-me {       
    left: 15.6vw;       
    top: 14.69vw;
}

.send-me>.me{
    padding-left: 15vw;
}

.a-message{
    left: 63.96vw;   
    top:  14.69vw;  
}

.a-message>.message{
    padding-left: 3vw;
}

.mail1 {
    cursor: pointer;
    position: absolute;
    right: 23.7%;
    top: 47%;
    width: 8vw;
           
}


/* 컨테이너 2 */

.welcom-to {    
    font-size: 14px;   
    left: 8%;       
    top: 14.69vw;
}

.my-name{
    right: 8%; 
    top: 14.69vw;  
}

.min1 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    width: 20vw;        
    max-width: 500px;
    
}

.sp1 {
    cursor: pointer;
    position: absolute;
    top: 40%;
    left: 55%;
    transform: translate(-35%, -55%);

    width: 7vw;        
    mix-blend-mode: overlay;
}




/* 컨테이너 3 */

.sp2 {
    cursor: pointer;
    position: absolute;
    left: 40%;
    top: 15.5%;
    width: 25vw;
    transform: translate(-35%, -55%);
    z-index: 101;

    width: 7vw;        
    mix-blend-mode: overlay;
}

.sp3 {
    cursor: pointer;
    position: absolute;
    right: 3%;
    top: 60%;
    transform: translate(-35%, -55%);

    width: 7vw;        
}

.min3{    
    right: 10%;
    top: 58%;
    width: 20vw;
}



.min2{
    left: 17%;
    top: 14.5%;
    width: 25vw;
}

.ig1{    
    right: 20%;
    top: 12%;
    width: 6vw;
    transform: rotate(10deg);

}

.tw1{    
    right: 25%;
    top: 10%;
    width: 6vw;
    transform: rotate(-10deg);

}

.ig2{    
    right: 9.5%;
    top: 65%;
    width: 6vw;
    transform: rotate(-10deg);

}

.tw2{    
    right: 25.5%;
    top: 65.2%;
    width: 6vw;
    transform: rotate(10deg);
}

.areyou{
    position: absolute;
    left: 4vw;
    top: 5vw;
    scale: 80%;

}

.iso1 {    
    left: 40%;
    top: 20.5%;
    width: 15vw;

}

.uni{    
    left: 35%;
    top: 27.5%;
    width: 20vw;

}

.b3{    
    left: 55%;
    top: 20%;
    width: 20vw;

}

.oc{    
    right: 7%;
    top: 17%;
    width: 25vw;

}


.assigenment{    
    right: 1%;
    top: 14%;
    width: 20vw;
    transform: rotate(23deg);


}

.curry{    
    right: 30%;
    top: 14%;
    width: 10vw;
    transform: rotate(-25deg);


}

.gc1{    
    left: 40%;
    top: 10%;
    width: 15vw;
}

.gc2{    
    left: 37%;
    top: 7%;
    width: 15vw;
}


.bread1 {    
    right: 18%;
    top: 35.5%;
    width: 13vw;


}

.bread2 {    
    right: 7%;
    top: 37%;
    width: 13vw;


}

.sb{    
    right: 34%;
    top: 45%;
    width: 6vw;
    transform: rotate(25deg);
}

.tamakey{    
    right: 13%;
    top: 3%;
    width: 10vw;

}

.kaigi{    
    left: 25%;
    top: 50%;
    width: 15vw;
}

.newwork{  
    position: absolute;
    left: 7vw;
    top: 90vw;
    scale: 90%;
}


.sq{    
    right: 20%;
    top: 70%;
    width: 25vw;
    transform: rotate(-25deg);
}

.trash{    
    right: 5%;
    bottom: 12%;
    width: 8vw;
}

.bus{    
    bottom: 5%;
    width: 100vw;
}

.nb{   
    left: 34%;
    top: 67%;
    width: 15vw;
    transform: rotate(40deg);
    z-index: 101;
}

.dogeza{
    max-width: 120px!important;
}

.email{    
    left: 42%;
    top: 65%;
    width: 16vw;
    transform: rotate(-14deg);
}

.biru{
    left: 72%;
    top: 80%;
    width: 4vw;
}






/* 컨테이너4 */

.lets{
    font-size: 14px;   
    left: 20.5%;       
    top: 10vw;
    text-align: center;
}

.letsb{
    font-size: 14px;   
    left: 37%;       
    top: 77vw;
    text-align: center!important;
}

.and{
 scale: 60%;
    left: 44%;       
    top: 60vw;
    text-align: center;
}

.but{
 scale: 60%;
    left: 44%;       
    bottom: 0vw;
    text-align: center;
}

.min4{
    right: 35%;
    top: 14%;
    width: 15vw;

}

.min5{
    left: 38%;
    top: 19%;
    width: 15vw;

}


.min6{
    left: 30%;
    top: 53%;
    width: 40vw;

}

.melody1{
    right: 17%;
    top: 14%;
    width: 12vw;

}

.melody2{
    left: 2%;
    top: 16%;
    width: 18vw;
    transform: rotate(-30deg);
}

.ig3{
    right: 30%;
    top: 27%;
    width: 6vw;
    opacity: 70%;
    transform: rotate(-20deg);
}

.sbread{
    left: 16%;
    top: 22%;
    width: 12vw;
    transform: rotate(-25deg);
}

.cake{
    left: 25%;
    top: 27.5%;
    width: 9vw;
    transform: rotate(25deg);
}

.cheese{
    right: 22%;
    top: 22%;
    width: 12vw;
    transform: rotate(-15deg);
}

.tmt{
    right: 14%;
    top: 26%;
    width: 12vw;
    transform: rotate(25deg);
}

.ag1{
    right: -10%;
    top: 67%;
    width: 40vw;
}

.ag2{
    left: 10%;
    top: 73%;
    width: 17vw;
    transform: scaleX(-1);
}

.bf{
    right: 14%;
    top: 55%;
    width: 15vw;
}

.story{     
    left: 34%;
    top: 15%;
    width: 10vw;

    
}

.sp4{     
    right: 35%;
    top: 13%;
    width: 5vw;
    opacity: 90%;
    z-index: 101;
    
}

.sp5{     
    right: 30%;
    top: 54%;
    width: 7vw;
    opacity: 90%;
    z-index: 101;
    
}









/* 컨테이너5 */

.isobg{
    bottom: -7%;
    width: 100vw;       
}

.min7{
    right: 17%;
    bottom: 71%;
    width: 15vw;
}

.Why{    
    scale: 100%;
    left: 15%;       
    text-align: center!important;
    padding-bottom: 10vw;


}

.sp6{     
    right: 30%;
    top:12%;
    width: 7vw;
    opacity: 90%;
    z-index: 101;
    
}

.insta{     
    right: 37%;
    top:65%;
    width: 6vw;
    opacity: 90%;
    z-index: 101;
    transform: rotate(-25deg);
    
}

.lastbt{    
    position: absolute;
    bottom: 20%;
    left: 25%;
    
    width: 50vw!important;
    font-size: 3vw!important;


}









/* 팝업 영역 */



/* 1. 컨테이너: 팝업 내부의 다른 요소들과 수직으로 쌓임 */
.gallery-container {
    position: relative; 
    width: 100%;
    margin: 20px 0;
    overflow: hidden; /* 내부 스크롤 영역 외의 넘침 방지 */
}

/* 2. 가로 스크롤을 담당하는 내부 박스 */
.gallery-wrapper {
    display: flex;       /* 이미지들을 가로로 나열 */
    align-items: center; /* 세로 중앙 정렬 */
    gap: 15px;           /* 이미지 사이 간격 */
    padding: 10px;
    overflow-x: auto;    /* 가로 스크롤 활성화 */
    overflow-y: hidden;  /* 세로 스크롤 방지 */
    -webkit-overflow-scrolling: touch;
}

/* 3. 개별 아이템 박스 */
.gallery-item {
    flex: 0 0 auto;      /* 가로 너비를 이미지 비율에 맡김 */
    height: 300px;       /* 모든 이미지의 세로 높이를 300px로 통일 */
    display: flex;
    justify-content: center;
}

/* 4. 이미지 처리: 핵심 부분 */
.gallery-item img {
    height: 100%;        /* 부모인 gallery-item의 높이(300px)를 100% 채움 */
    width: auto;         /* 가로 너비는 원본 비율에 맞춰서 자동 계산 */
    display: block;
    object-fit: contain; /* 이미지가 찌그러지지 않도록 비율 유지 */
}

/* 스크롤바 커스텀 디자인 */
.gallery-wrapper::-webkit-scrollbar {
    height: 6px;
}
.gallery-wrapper::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 10px;
}



/* 팝업 영역 */

/* 팝업 메인 컨테이너 */

.popup-body img {
    /* 팝업 너비에 100% 맞춤 */
    width: 100%; 
    
    /* 원래 이미지보다 팝업이 커지더라도 이미지가 깨지지 않게 방지 */
    max-width: 100%; 
    
    /* 가로 세로 비율 유지 */
    height: auto;
}

.text-content {
    word-break: break-all;
}

.custom-popup {
    text-align: center;
    display: none;
    position: fixed;
    width: 35vw; 
    background-color: #ffffff; 
    color: #4F4F4F;
    border: 3px solid #7DABF5;
    overflow: hidden;
    flex-direction: column;
}

.custom-popup.active {
    display: flex; 
}

/* 2. 팝업 헤더 (하늘색 바) */
.popup-header {
    background-color: #7a9df2; 
    height: 30px;
    display: flex;
    border-bottom: 3px solid #ffffff;
}

.close-btn-box {
    background-color: #ff4d8d;
    width: 24px;
    height: 24px;
    border: 2px solid #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    color: white !important;
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
}

.close-btn {
    cursor: pointer;
    color: white !important;
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
}

/* 3. 팝업 바디 (도트 배경) */
.popup-body {
    padding: 25px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    /* 도트 패턴 구현 */
    background-image: radial-gradient(#fce4ec 1.5px, transparent 1.5px);
    background-size: 12px 12px;
}

.popup-button-group {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.action-btn {
    cursor: pointer;
    font-family: Galmuri7;
    font-size: large;
    width: 100%;
    padding: 10px;
    border: 3px solid #7DABF5;
    color: white;
    font-weight: bold;
    cursor: pointer;
    transition: transform 0.05s;
}

.action-btn:active {
    transform: translate(2px, 2px);
}
.btn-pink { 
    background-color: #ff4d8d; 
}
.btn-blue { 
    background-color: #3d82ff; 
}

.btn-pink2 { 
    color: #ff4d8d;
    background: white;
}


.btn-white { 
    color: black;
    background: white;
}






/* 메세지 형식 팝업 CSS */


/* 1. 배경 오버레이 (클릭 시 닫기용) */
.msgpopup-overlay {
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 51, 204, 0.4);
    z-index: 1999;
}

/* 2. 팝업 컨테이너 (투명 배경 및 우측 하단 고정) */
.msgpopup-overlay {
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 51, 204, 0.4);
    z-index: 1999;
}

.msgpopup-container {
    display: none;
    position: fixed;
    bottom: 30px !important;
    right: 30px !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    z-index: 2000;
    background: transparent;
}

.msgpopup-container.active { display: flex; }

.msgpopup-body { display: flex; align-items: flex-end; gap: 15px; }

.msgpopup-title {
    color: #fff;
    font-size: 1.1rem;
    margin-bottom: 8px;
}

.msgpopup-bubble {
    font-size: 1.4rem;
    background: #fff;
    border: 3px solid #7DABF5;
    padding: 12px 12px 9px 15px;

    margin-bottom: 8px;
    color: #ff4d8d;
    box-shadow: 4px 4px 0 #0008ff1a;


        /* 도트 패턴 구현 */
    background-image: radial-gradient(#fce4ec 1.5px, transparent 1.5px);
    background-size: 12px 12px;
}

.msgpopup-bubble2 {
    color: #fce4ec;
    font-size: 1.4rem;
    background: #2b5cff;
    border: 3px solid #7DABF5;
    padding: 12px 12px 9px 15px;
    margin-bottom: 8px;
    box-shadow: 100vw #0008ff1a;


        /* 도트 패턴 구현 */
    background-image: radial-gradient(#5079ff 1.5px, transparent 1.5px);
    background-size: 12px 12px;
}

.msgpopup-bubble3 {
    color: #fce4ec;
    font-size: 1.4rem;
    background: #00134f;
    border: 3px solid #7DABF5;
    padding: 12px 12px 9px 15px;
    margin-bottom: 8px;
    box-shadow: 100vw #0008ff1a;


        /* 도트 패턴 구현 */
    background-image: radial-gradient(#000b30 1.5px, transparent 1.5px);
    background-size: 12px 12px;
}


.msgpopup-avatar {
    width: 100px; height: 100px;
    border-radius: 50%; border: 3px solid #fff;
    overflow: hidden; background: #fff;
    box-shadow: 4px 4px 0 r#0008ff1a;
    margin-bottom: 8px;
}

.msgpopup-avatar img { scale: 150%; height: 100%; object-fit: cover; }






/* 사이트 내부에서 메인 헤더 숨기가 */


.site-header{
    font-size: 1em;
}



/* --- 호버 말풍선 시스템 --- */

/* 호버버블1 */
.element:hover + .hover-bubble {
    display: block !important;
}

.hover-bubble {
    display: none; 
    position: absolute;
    z-index: 101;
    
    font-family: 'Galmuri9', sans-serif;
    font-size: 16px!important;
    background: #fff;
    border: 3px solid #7DABF5;
    padding: 10px 15px 8px 15px;
    color: #ff4d8d;
    box-shadow: 4px 4px 0 rgba(0, 8, 255, 0.1);
    white-space: nowrap;
    pointer-events: none;

    transform: translateY(-110%); 
}

/* 3. 말풍선 꼬리표 */
.hover-bubble::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 20px;
    border-width: 8px;
    border-style: solid;
    border-color: #7DABF5 transparent transparent transparent;
}


.sbread + .hover-bubble {
    left: 16vw;
    top: 38vw 
}

.sb + .hover-bubble{    
    right: 14%;
    top: 48%;
}

.nb + .hover-bubble{    
    left: 34%;
    top: 67%;
}

.min1 + .hover-bubble {
    position: absolute;
    top: 40%;
    left: 30%;  
}

.bus + .hover-bubble {
    bottom: 9%;
    left: 15%;
}

/* 호버버블디자인2 */
.element:hover + .hover-bubble2 {
    display: block !important;
}

.hover-bubble2 {
    display: none; 
    position: absolute;
    z-index: 101;
    
    font-family: 'Galmuri7', sans-serif;
    font-size: 1vw;
    background: #00134f;
    border: 3px solid #7DABF5;
    padding: 10px 15px 8px 15px;
    color: #ff558e;
    box-shadow: 4px 4px 0 rgba(0, 8, 255, 0.1);
    white-space: nowrap;
    pointer-events: none;

    transform: translateY(-100%); 
}




.ag2 + .hover-bubble2 {
    left: 10%;
    top: 75%;
}

.bf + .hover-bubble2 {
    right: 2%;
    top: 56%;
}



/* ================================================= */
/* 1. 모바일 통합 최적화 (768px 이하)              */
/* ================================================= */
@media screen and (max-width: 768px) {

    
.lang-txt {
    font-family: 'galmuri7', sans-serif;
    font-size: 25px;
    color: #ffffff;      /* 흰색 글씨 */
    cursor: pointer;
    letter-spacing: 1px;
    text-shadow: 2px 2px 0 rgba(2, 2, 255, 0.2); /* 가독성을 위한 살짝의 그림자 */
    transition: opacity 0.2s;
}

    .dots-filter {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 800;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill-opacity='0.5'%3E%3Ccircle fill='%23FFFFFF' cx='2' cy='2' r='1.2'/%3E%3Ccircle fill='%23FF00FF' cx='7' cy='7' r='1.2'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 20px 20x; 
  mix-blend-mode: overlay;
  opacity: 0.3;
}
    
    /* [일반 팝업] 중앙 정렬 및 스크롤바 복구 */
    .custom-popup {
        width: 90vw !important;
        max-height: 85vh !important; /* 높이 제한 필수 */
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        display: none; /* 기본은 none, active 시 flex */
        flex-direction: column !important;
    }

    .custom-popup.active {
        display: flex !important;
    }

    .popup-body {
        padding: 20px 15px;
        flex-grow: 1;
        /* 스크롤바 생명줄 */
        overflow-y: auto !important; 
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch; /* 아이폰 부드러운 스크롤 */
        word-break: break-all;
    }

    /* [메시지 팝업] 아바타 위치 고정 로직 유지 */
    .msgpopup-container {
        width: 96vw !important;
        left: 2vw !important;
        right: 2vw !important;
        bottom: 20px !important;
        background: transparent !important;
    }

    .msgpopup-body {
        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-end !important; /* 아바타 우측 고정 */
        align-items: flex-end !important;
        width: 100% !important;
        gap: 12px;
    }

    .msgpopup-text-section {
        flex: 1 !important;
        text-align: right!important;
        min-width: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important; /* 말풍선을 아바타 쪽으로 밀기 */
    }

    .msgpopup-bubble, .msgpopup-bubble2, .msgpopup-bubble3 {
        width: fit-content !important;
        max-width: 100% !important;
        word-break: break-all !important;
        text-align: right;
        font-size: 1.1rem;
        padding: 10px 14px;
        margin-bottom: 6px !important;
    }

    /* 아바타 고정 */
    .msgpopup-avatar {
        width: 70px !important;
        height: 70px !important;
        flex-shrink: 0 !important;
        border-radius: 50%;
        overflow: hidden;
    }

    /* [스크롤바 디자인 복구 및 강화] */
    .popup-body::-webkit-scrollbar {
        width: 8px !important; /* 너무 얇으면 안 보이니 8px로 지정 */
        display: block !important;
    }
    .popup-body::-webkit-scrollbar-track {
        background: #fce4ec !important;
        border-left: 1px solid #ffffff;
    }
    .popup-body::-webkit-scrollbar-thumb {
        background: #7a9df2 !important;
        border: 1px solid #ffffff;
        border-radius: 4px;
    }
}

/* ================================================= */
/* 2. 초소형 기기 보정 (380px 이하)                */
/* ================================================= */
@media screen and (max-width: 380px) {
    .msgpopup-avatar {
        width: 60px !important;
        height: 60px !important;
    }
    .msgpopup-bubble, .msgpopup-bubble2, .msgpopup-bubble3 {
        font-size: 1rem !important;
    }
}


/* 호버버블1 */
.element:hover + .hover-bubble {
    display: block !important;
}

.hover-bubble {
    display: none; 
    position: absolute;
    z-index: 101;
    
    font-family: 'Galmuri9', sans-serif;
    font-size: 2vw;
    background: #fff;
    border: 3px solid #7DABF5;
    padding: 10px 15px 8px 15px;
    color: #ff4d8d;
    box-shadow: 4px 4px 0 rgba(0, 8, 255, 0.1);
    white-space: nowrap;
    pointer-events: none;

    transform: translateY(-110%); 
}

/* 3. 말풍선 꼬리표 */
.hover-bubble::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 20px;
    border-width: 8px;
    border-style: solid;
    border-color: #7DABF5 transparent transparent transparent;
}


.sbread + .hover-bubble {
    left: 16vw;
    top: 38vw 
}

.sb + .hover-bubble{    
    right: 14%;
    top: 48%;
}

.nb + .hover-bubble{    
    left: 34%;
    top: 67%;
}

.min1 + .hover-bubble {
    position: absolute;
    top: 40%;
    left: 30%;  
}

.bus + .hover-bubble {
    bottom: 9%;
    left: 15%;
}

/* 호버버블디자인2 */
.element:hover + .hover-bubble2 {
    display: block !important;
}

.hover-bubble2 {
    display: none; 
    position: absolute;
    z-index: 101;
    
    font-family: 'Galmuri7', sans-serif;
    font-size: 1vw;
    background: #00134f;
    border: 3px solid #7DABF5;
    padding: 10px 15px 8px 15px;
    color: #ff558e;
    box-shadow: 4px 4px 0 rgba(0, 8, 255, 0.1);
    white-space: nowrap;
    pointer-events: none;

    transform: translateY(-100%); 
}




.ag2 + .hover-bubble2 {
    left: 10%;
    top: 75%;
}

.bf + .hover-bubble2 {
    right: 2%;
    top: 56%;
}
