/* BASIC css start */
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@100..700&family=Lato:wght@100..900&family=Noto+Serif+KR:wght@200..900&display=swap');

#content .gift-container {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden;
    box-sizing: border-box;
}
#content .gift-container * { box-sizing: border-box; }

/* ¸ÞÀÎ ºñÁÖ¾ó ¿µ¿ª */
#content .gift-container .main-visual { 
    width: 100%; 
    height: auto; 
    overflow: hidden; 
    background-color: #fff;
}
#content .gift-container .main-visual img { 
    width: 100%; 
    height: auto; 
    display: block; 
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
}
#content .gift-container .main-visual img.fade-in {
    opacity: 1;
}

/* Áß¾Ó ÅØ½ºÆ® ¿µ¿ª */
#content .gift-container .text-content {
    text-align: center;
    padding: 100px 20px;
    margin: 0 auto;
    min-height: 240px; 
}

#content .gift-container .main-title { 
    font-family: 'Noto Serif KR', serif !important;
    letter-spacing: -0.01em; 
    font-size: 2.2rem; 
    font-weight: 600; 
    line-height: 1.2; 
    margin-bottom: 60px; 
    word-break: keep-all; 
}

#content .gift-container .sub-description {
    font-size: 1rem;    
    text-align: center;
    letter-spacing: initial;
    line-height: 1.8;
    word-break: keep-all;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
}

#content .gift-container .sub-description.active {
    opacity: 1;
    transform: translateY(0);
}

/* ÇÏ´Ü ½æ³×ÀÏ ½½¶óÀÌ´õ ¿µ¿ª */
#content .gift-container .thumbnail-wrapper {
    width: 100%;
    padding: 20px 0 0 0; 
    position: relative;
}

.sub_title { font-family: 'Josefin Sans', sans-serif; font-size: 1.8rem; font-weight: 600; letter-spacing: 0.02em; word-break: keep-all; text-transform: uppercase; }

#content .gift-container .swiper {
    width: 100%;
    overflow: visible; 
    padding: 0 20px; 
}

#content .gift-container .thumb-item {
    width: 600px; 
    max-width: 100%;
    flex-shrink: 0;
    cursor: pointer; 
    opacity: 0.3; /* ºñÈ°¼ºÈ­ ±âº» »óÅÂ Åõ¸íµµ */
    transition: opacity 0.4s ease;
}

/* [Áß¿ä] »ç¿ëÀÚ°¡ µå·¡±×ÇÏ°Å³ª ¼öµ¿À¸·Î Å¬¸¯ÇÑ ´ë»ó¸¸ Á¤È®ÇÏ°Ô ¿ÀÆÄ½ÃÆ¼ 1 ºÎ¿© */
#content .gift-container .thumb-item.swiper-slide-active,
#content .gift-container .thumb-item.user-active {
    opacity: 1 !important;
}

#content .gift-container .thumb-item .img-box {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background-color: #f7f7f7;
    pointer-events: none; 
}

#content .gift-container .thumb-item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    pointer-events: none; 
}

/* °¨¼º ÇÏ´Ü ÄÁÆ®·Ñ Á¶ÀÛ ·¹ÀÌ¾Æ¿ô ÇÏµåÄÚ¾î Á¤·Ä */
.sweetyspoon-control-axis {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 50px;
    gap: 35px; 
}

/* ½½¶óÀÌµå ¹Ù 30% Ä¿½ºÅÒ Á¤¹Ð ¼öÄ¡ ±¸Çö */
.sweetyspoon-control-axis .swiper-pagination-progressbar {
    position: relative !important;
    width: 30% !important;              
    height: 2px !important;              
    background: #f4f0ea !important;       /* ¿äÃ» ±âº»»ö */
    left: 0 !important;
    top: 0 !important;
    margin: 0 !important;
}

/* ÁøÇàµÇ´Â Æ®·¢ ÄÃ·¯¸µ (ºí·¢) */
.sweetyspoon-control-axis .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: #000000 !important;       /* ÀüÁø ½Ã ºí·¢ */
}

/* ·°¼Å¸® ½½¸² È­»ìÇ¥ ÀÎÁ§¼Ç */
.swiper-button-prev-custom,
.swiper-button-next-custom {
    font-family: 'Josefin Sans', sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    color: #111;
    cursor: pointer;
    user-select: none;
    transition: opacity 0.3s;
    padding: 0 5px;
}
.swiper-button-prev-custom::before { content: '¡´'; }
.swiper-button-next-custom::before { content: '¡µ'; }

.swiper-button-disabled {
    opacity: 0.15;
    cursor: default;
}

/* ¸ð¹ÙÀÏ ´ëÀÀ ºÐ±â ±âÈ¹ */
@media (max-width: 768px) {
    #content .gift-container .main-title { font-size: 20px; }
    #content .gift-container .sub-description { font-size: 13px; }
    #content .gift-container .thumb-item { width: 85vw; }
    #content .gift-container .text-content { min-height: 200px; }
    .sweetyspoon-control-axis { margin-top: 35px; gap: 20px; }
    .sweetyspooncontrol-axis .swiper-pagination-progressbar { width: 60% !important; }
}
/* BASIC css end */

