/*
* author : minjeong
* purpose : storefarm brand page
* date: 2025.11.24
*/

#brand section {
    padding: 120px 0;
}


/* hero */
#brand .brand-hero-title {
    text-align: center;
    margin-bottom: 40px;
}
#brand .brand-hero-title .brand-subtitle {
    font-size: 20px;
    font-family: var(--font-weight-500);
    color: #4E5968;
    margin-bottom: 24px;
}
#brand .brand-hero-title h2 {
    font-size: 36px;
    font-family: var(--font-weight-700);
    color: #000;
    line-height: 132%;
}

/* 필메이커 */
#brand .brand-hero-video {
    width: 970px;
    height: 571px;
    border-radius: 32px;
    overflow: hidden;
    background-color: #F5F5F5;
    margin: 0 auto;
}
#brand .brand-hero-video .video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    vertical-align: bottom;
}

/* content */
#brand .brand-content.bg-gray {
    background-color: #F9FAFB;
}
#brand .brand-content.bg-color {
    background-color: #ffeee1;
}
#brand .brand-content.bg-dark {
    background-color: #0F0F14;
    padding: 135px 0;
}
#brand .brand-content-flex {
    width: 970px;
    margin: 0 auto;
    display: flex;
    gap: 66px;
}
#brand .brand-content-flex-item {
    width: calc((100% - 66px) / 2);
}
#brand .brand-content-flex-item .brand-content-inner {
    width: 100%;
}
#brand .brand-content-image {
    width: 100%;
    height: 475px;
    border-radius: 16px;
    overflow: hidden;
}
#brand .brand-content-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    vertical-align: bottom;
}
#brand .brand-content-title {
    text-align: center;
}
#brand .brand-content-title .sub-text {
    font-size: 12px;
    font-family: var(--font-weight-400);
    color: #999999;
    line-height: 132%;
}
#brand .brand-content-title .sub-title {
    font-size: 20px;
    font-family: var(--font-weight-500);
    color: #191F28;
    line-height: 132%;
    margin-top: 6px;
}
#brand .brand-content-title h3 {
    font-size: 30px;
    font-family: var(--font-weight-700);
    color: #191F28;
    line-height: 132%;
}
#brand .brand-content-title .motion-text {
    display: inline-block;
    font-size: 30px;
    font-family: var(--font-weight-700);
    animation: motionText 1s linear infinite;
}
@keyframes motionText {
    0% {
        transform: translateY(-20%);
        opacity: 0;
    }
    50% {
        transform: translateY(0);
        opacity: 1;
    }
    100% {
        transform: translateY(-20%);
        opacity: 0;
    }
}
#brand .brand-content-title .text {
    font-size: 15px;
    font-family: var(--font-weight-400);
    color: #4E5968;
    line-height: 152%;
    margin-top: 20px;
}
#brand .brand-content-title .gradient-text {
    font-size: 30px;
    font-family: var(--font-weight-700);
    line-height: 132%;
    background: linear-gradient(
        80deg,
        #ff4d00,
        #ff8800,
        #ffc300,
        #ff4d00
    );
    background-size: 400% auto;
    color: transparent;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: gradientMove 3s linear infinite;
}
#brand .brand-content-title .gradient-text.large {
    font-size: 52px;
    margin-top: 24px;
}
@keyframes gradientMove {
    0% { background-position: 0% 50%; }
    50% { background-position: 50% 50%; }
    100% { background-position: 100% 50%; }
}


#brand .brand-content-inner {
    width: 970px;
    margin: 64px auto 0;
    display: flex;
    gap: 32px;
    flex-wrap: wrap;
}
#brand .brand-content-inner.no-wrap {
    flex-wrap: nowrap;
}

#brand .brand-content-inner.no-title {
    margin: 0 auto;
}

/* tab */
:root {
    --tabWidth: 0px;
    --tabLeftPos: 0px;
}
#brand .brand-content-inner .tab-wrap {
    max-width: 80%;
    margin: 0 auto;
    position: relative;
}
#brand .brand-content-inner .tab-wrap .tab-box {
    width: 100%;
    height: 43px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 14px;
    background-color: #F9FAFB;
    position: relative;
}
#brand .brand-content-inner .tab-wrap .tab-on-wrap {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
#brand .brand-content-inner .tab-wrap .tab-on-wrap .tab-on {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: var(--tabLeftPos);
    width: var(--tabWidth);
    height: 35px;
    background-color: #3C4144;
    border-radius: 12px;
    transition: all 0.3s ease;
}
#brand .brand-content-inner .tab-wrap .tab-list {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
#brand .brand-content-inner .tab-wrap .tab-list .tab-item {
    width: 154px;
    font-size: 15px;
    font-family: var(--font-weight-500);
    color: #3C3C43;
    line-height: 20px;
    text-align: center;
    border-radius: 12px;
    cursor: pointer;
}
#brand .brand-content-inner .tab-wrap .tab-list .tab-item.on {
    color: #fff;
}

/* tab-content */
#brand .brand-content-inner .tab-content-wrap {
    width: 100%;
    margin-top: 36px;
}
#brand .brand-content-inner .tab-content-wrap .tab-content-list {
    width: 100%;
}
#brand .brand-content-inner .tab-content-wrap .tab-content-list .tab-content {
    width: 100%;
    display: none;
    gap: 20px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: all 0.3s ease;
}
#brand .brand-content-inner .tab-content-wrap .tab-content-list .tab-content.on {
    display: flex;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0s, 0s, 0s;
}
#brand .brand-content-inner .tab-content-wrap .tab-content-list .tab-content .tab-content-image-group {
    width: calc((100% - 20px) / 2);
}
#brand .brand-content-inner .tab-content-wrap .tab-content-list .tab-content .tab-content-image-group .tab-content-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    vertical-align: bottom;
}
#brand .brand-content-inner .tab-content-wrap .tab-content-list .tab-content .tab-content-title {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 21px;
}
#brand .brand-content-inner .tab-content-wrap .tab-content-list .tab-content .tab-content-title .btn {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px 14px;
    border-radius: 12px;
    background-color: #F5F5F6;
    font-size: 16px;
    font-family: var(--font-weight-500);
    color: #333333;
    line-height: 132%;
    text-align: center;
}

/* white-mini-box */
#brand .brand-content-inner .white-mini-box {
    width: fit-content;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
    padding: 32px 44px;
    border-radius: 28px;
    background-color: #fff;
    margin: 0 auto;
}
#brand .brand-content-inner .white-mini-box .content {
    width: fit-content;
}
#brand .brand-content-inner .white-mini-box .content .text {
    font-size: 15px;
    font-family: var(--font-weight-500);
    color: #666666;
    line-height: 140%;
    text-align: center;
    margin-bottom: 10px;
}
#brand .brand-content-inner .white-mini-box .content .text-large {
    font-size: 30px;
    font-family: var(--font-weight-600);
    color: #191F28;
    line-height: 140%;
    text-align: center;
}

/* list */
#brand .brand-content-inner .brand-content-list {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 17px;
}
#brand .brand-content-list .list-item {
    width: calc((100% - 34px) / 3);
    padding: 28px;
    border-radius: 32px;
    background-color: #F9FAFB;
}
#brand .brand-content-list .list-item .item-number {
    font-size: 20px;
    font-family: var(--font-weight-700);
    color: var(--primary-500);
    width: 28px;
    height: 28px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    background-color: var(--primary-000);
    margin-bottom: 8px;
}
#brand .brand-content-list .list-item .item-title {
    font-size: 20px;
    font-family: var(--font-weight-700);
    color: #333;
    line-height: 144%;
    margin-bottom: 16px;
}
#brand .brand-content-list .list-item .item-title .color-primary {
    display: block;
    width: 100%;
    font-size: 20px;
    font-family: var(--font-weight-700);
    color: var(--primary-500);
    line-height: 144%;
    margin-top: 12px;
    margin-bottom: 4px;
}
#brand .brand-content-list .list-item .item-text {
    font-size: 15px;
    font-family: var(--font-weight-400);
    color: var(--gray-600);
    line-height: 132%;
}
#brand .brand-content-list .list-item .item-icon {
    width: 64px;
    height: 64px;
    margin-top: 26px;
}
#brand .brand-content-list .list-item .item-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* item etc : 필모션 페이지*/
#brand .brand-content-list .list-item .item-etc {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--gray-400);
}
#brand .brand-content-list .list-item .item-etc .item-etc-list {
}
#brand .brand-content-list .list-item .item-etc .item-etc-list .item-etc-item {
    font-size: 14px;
    font-family: var(--font-weight-400);
    color: var(--gray-600);
    line-height: 144%;
}
/* item btn : 필모션 페이지*/
#brand .brand-content-list .list-item .item-btn {
    margin-top: 47px;
    margin-bottom: 12px;
}
#brand .brand-content-list .list-item .item-btn .btn a {
    width: 106px;
    padding: 14px;
    border-radius: 12px;
    font-size: 16px;
    background-color: #fff;
}

/* list-vertical */
#brand .brand-content-inner .brand-content-list-vertical {
    width: 711px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 60px;
}
#brand .brand-content-list-vertical .list-item {
    display: flex;
    height: 316px;
}
#brand .brand-content-list-vertical .list-item .item-image {
    width: 50%;
    border-radius: 28px;
    overflow: hidden;
}
#brand .brand-content-list-vertical .list-item .item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    vertical-align: bottom;
}
#brand .brand-content-list-vertical .list-item .item-desc {
    width: 50%;
    padding-left: 40px;
}
#brand .brand-content-list-vertical .list-item .item-title {
    font-size: 24px;
    font-family: var(--font-weight-600);
    color: #191F28;
    line-height: 140%;
    margin-bottom: 24px;
}
#brand .brand-content-list-vertical .list-item .item-text {
    font-size: 15px;
    font-family: var(--font-weight-400);
    color: #666666;
    line-height: 144%;
}
#brand .brand-content-list-vertical .list-item .item-btn {
    margin-top: 47px;
    margin-bottom: 12px;
}
#brand .brand-content-list-vertical .list-item .item-btn .btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    padding: 14px;
    border-radius: 12px;
    font-size: 16px;
    background-color: #f3f4f5;
}







/* box */
#brand .brand-content-inner .brand-content-box {
    width: 469px;
    border-radius: 28px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
}
#brand .brand-content-inner .brand-content-box.bg-image {
    height: 470px;
}
#brand .brand-content-inner .brand-content-box.bg-image.bg-style {
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

/* box-card */
#brand .brand-content-inner .brand-content-box.box-card {
    border-radius: 30px;
    padding: 30px;
}
#brand .brand-content-inner .brand-content-box.box-card .box-image {
    width: 100%;
    height: 252px;
    border-radius: 0;
    border-top-left-radius: 24px;
    border-top-right-radius: 24px;
    overflow: hidden;
}
#brand .brand-content-inner .brand-content-box.box-card .box-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#brand .brand-content-inner .brand-content-box.box-card .box-title {
    font-size: 24px;
    font-family: var(--font-weight-600);
    line-height: 132%;
    margin-top: 32px;
    margin-bottom: 14px;
}
#brand .brand-content-inner .brand-content-box.box-card .box-text {
    font-size: 15px;
    font-family: var(--font-weight-400);
    line-height: 140%;
    color: #666666;
}
#brand .brand-content-inner .brand-content-box.box-card.bg-gray {
    background-color: #F9FAFB;
}
#brand .brand-content-inner .brand-content-box.box-card.bg-gray .box-image {
    height: 223px;
}

#brand .bg-dark .brand-content-inner .brand-content-box {
    background-color:#2d2d33;
}
#brand .bg-dark .brand-content-inner .brand-content-box .box-title {
    color: #f2f4f6;
}
#brand .bg-dark .brand-content-inner .brand-content-box .box-text {
    color: #dadada;
}

/* gray-box : 필프레임 페이지 */
#brand .brand-content-inner .brand-content-box.gray-box {
    width: 100%;
    background-color: #F9FAFB;
    text-align: center;
}
#brand .brand-content-inner .brand-content-box.gray-box .box-title {
    padding-top: 94px;
    padding-bottom: 24px;
    font-size: 32px;
    font-family: var(--font-weight-600);
    color: #191F28;
    line-height: 132%;
}
#brand .brand-content-inner .brand-content-box.gray-box .box-title .emp {
    position: relative;
    font-family: var(--font-weight-600);
}
#brand .brand-content-inner .brand-content-box.gray-box .box-title .emp::before {
    content: '';
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: #191F28;
}
#brand .brand-content-inner .brand-content-box.gray-box .box-image {
    width: 100%;
    padding: 0 105px;
}
#brand .brand-content-inner .brand-content-box.gray-box .box-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    vertical-align: bottom;
}

/* icon text box : 필모션 페이지 */
#brand .brand-content-inner:has(.icon-box) {
    gap: 0;
}
#brand .brand-content-inner .brand-content-box.icon-box {
    width: 58%;
    height: 345px;
    background-color: #F9FAFB;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
}
#brand .brand-content-inner .brand-content-box.icon-box img {
    width: 50%;
    height: 50%;
    object-fit: contain;
}
#brand .brand-content-inner .brand-content-box.full-img {
    width: auto;
}
#brand .brand-content-inner .brand-content-box.full-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
#brand .brand-content-inner .brand-content-box.icon-box .box-image-group {
    height: 100%;
    display: flex;
    gap: 14px;
}
#brand .brand-content-inner .brand-content-box.icon-box .box-image-group .box-image {
    width: 100%;
    height: auto;
    border-radius: 8px;
    overflow: hidden;
}
#brand .brand-content-inner .brand-content-box.icon-box .box-image-group .box-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#brand .brand-content-inner .brand-content-box.icon-text-box {
    width: 42%;
    height: 345px;
    display: flex;
    justify-content: center;
    gap: 24px;
    flex-direction: column;
    margin-bottom: 40px;
}
#brand .brand-content-inner .brand-content-box.icon-text-box .text-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
#brand .brand-content-inner .brand-content-box.icon-text-box .box-title {
    font-size: 30px;
    font-family: var(--font-weight-600);
    color: #191F28;
    line-height: 140%;
}
#brand .brand-content-inner .brand-content-box.icon-text-box .box-text {
    font-size: 15px;
    font-family: var(--font-weight-500);
    color: #666666;
    line-height: 140%;
}

/* slide */
#brand .brand-slide {
    width: 100%;
    height: 100%;
    margin-top: 40px;
    overflow: hidden;
}
#brand .brand-slide .slide-list {
    width: max-content;
    display: flex;
    gap: 24px;
    animation: slideList 30s linear infinite;
}
#brand .brand-slide .slide-list .slide-item {
    width: 355px;
    height: 200px;
    border-radius: 16px;
    background-color: #F9FAFB;
    overflow: hidden;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
#brand .brand-slide[data-slide="frame"] .slide-list .slide-item {
    width: 300px;
    height: 300px;
}
#brand .brand-slide .slide-list .slide-item img {
    width: 100%;
}

@keyframes slideList {
    0% {
    transform: translateX(0);
    }
    100% {
    transform: translateX(-50%);
    }
}

#brand .btn-more {
    width: fit-content;
    border-radius: 30px;
    border: 1px solid #E1E4E6;
    margin: 64px auto 0;
    transition: all 0.3s ease;
}
#brand .btn-more a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 16px;
    font-size: 14px;
    font-family: var(--font-weight-500);
    color: #191F28;
    line-height: 132%;
    gap: 5px;
    transition: all 0.3s ease;
}
#brand .btn-more.store-btn {
    margin: 24px auto 0;
}
#brand .btn-more a span {
    transition: all 0.3s ease;
}
#brand .btn-more a i {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: var(--primary-300);
    color: #fff;
    font-size: 20px;
    transition: all 0.3s ease;
    padding-left: 1px;
}
#brand .btn-more:hover {
    border: 1px solid #E1E4E6;
    background-color: var(--gray-100);
    color: #fff;
}
#brand .btn-more:hover a {
    color: #fff;
}

.scroll_fade_up {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.scroll_fade_up.animated {
  opacity: 1;
  transform: translateY(0);
}

/* mobile */
@media screen and (max-width: 767px) {
    #brand .brand-hero-title .brand-subtitle {
        font-size: 18px;
        margin-bottom: 16px;
    }
    #brand .brand-hero-title h2 {
        font-size: 28px;
    }
    #brand .brand-hero-video {
        width: calc(100% - 48px);
        height: auto;
        border-radius: 16px;
        margin: 0 auto;
    }
    #brand .brand-hero-img {
        width: calc(100% - 48px);
        height: 50vw;
        border-radius: 24px;
        margin: 0 auto;
    }

    #brand section {
        padding: 50px 0;
    }
    #brand .brand-content.bg-dark {
        padding: 50px 0;
    }
    #brand .brand-content-title h3 {
        font-size: 26px;
    }
    #brand .brand-content-title .text {
        font-size: 15px;
        margin-top: 12px;
    }

    #brand .brand-content-title .gradient-text {
        font-size: 26px;
    }
    #brand .brand-content-title .gradient-text.large {
        font-size: 40px;
        margin-top: 20px;
    }
    #brand .brand-content-title .motion-text {
        font-size: 26px;
    }
    #brand .brand-content-inner {
        width: 100%;
        margin: 40px auto 0;
        padding: 0 24px;
        gap: 40px;
        flex-direction: column;
    }

    #brand .brand-content-inner .tab-wrap {
        max-width: 100%;
    }
    #brand .brand-content-inner .tab-content-wrap {
        margin-top: 0;
    }
    #brand .brand-content-inner .tab-wrap .tab-box {
        height: 45px;
    }
    #brand .brand-content-inner .tab-wrap .tab-on-wrap .tab-on {
        height: 37px;
    }
    #brand .brand-content-inner .tab-content-wrap .tab-content-list .tab-content .tab-content-title .btn {
        padding: 8px 14px;
        font-size: 14px;
    }


    #brand .brand-content-inner .brand-content-list {
        flex-direction: column;
        gap: 40px;
    }
    #brand .brand-content-inner .brand-content-list .list-item {
        width: 100%;
        border-radius: 24px;
    }
    #brand .brand-content-list-vertical .list-item .item-image {
        border-radius: 24px;
    }
    #brand .brand-content-list-vertical .list-item .item-title {
        margin-bottom: 12px;
    }
    #brand .brand-content-list-vertical .list-item .item-btn {
        margin-top: 40px;
    }
    #brand .brand-content-list-vertical .list-item .item-btn .btn a {
        margin: 0 auto;
    }



    #brand .brand-content-inner .brand-content-list-vertical {
        width: 100%;
    }
    #brand .brand-content-inner .brand-content-list-vertical .list-item {
        width: 100%;
        height: auto;
        flex-direction: column;
    }
    #brand .brand-content-inner .brand-content-list-vertical .list-item .item-image {
        width: 100%;
    }
    #brand .brand-content-inner .brand-content-list-vertical .list-item .item-desc {
        width: 100%;
        padding: 24px 4px;
        text-align: center;
    }
    #brand .brand-content-list-vertical .list-item .item-text {
        font-size: 1.125rem;
    }



    #brand .brand-content-inner .brand-content-box {
        width: 100%;
        height: auto;
        border-radius: 24px;
    }

    #brand .brand-content-inner .brand-content-box.bg-image {
        height: 85vw;
    }
    #brand .brand-content-inner .brand-content-box.box-card {
        padding: 24px;
        border-radius: 20px;
    }
    #brand .brand-content-inner .brand-content-box.box-card .box-image {
        height: 46vw;
        border-top-left-radius: 20px;
        border-top-right-radius: 20px;
    }
    #brand .brand-content-inner .brand-content-box.box-card.bg-gray .box-image {
        height: 39vw;
    }
    #brand .brand-content-inner .brand-content-box.box-card .box-title {
        font-size: 22px;
        margin-top: 18px;
        margin-bottom: 16px;
        font-family: var(--font-weight-700);
    }
    #brand .brand-content-inner .brand-content-box.box-card .box-text {
        font-size: 15px;
    }





    #brand .brand-content-inner .brand-content-box.icon-box {
        width: 100%;
        height: auto;
    }
    #brand .brand-content-inner .brand-content-box.icon-text-box {
        width: 100%;
        height: auto;
        text-align: center;
    }
    #brand .brand-content-inner .brand-content-box.icon-text-box .text-group.right {
        text-align: center;
    }
    #brand .brand-content-inner .brand-content-box.icon-text-box .box-title {
        font-size: 24px;
    }
    #brand .brand-content-inner .brand-content-box.gray-box .box-title {
        padding-top: 50px;
        padding-bottom: 16px;
        font-size: 19px;
    }
    #brand .brand-content-inner .brand-content-box.gray-box .box-title .emp::before {
        width: 5px;
        height: 5px;
    }
    #brand .brand-content-inner .brand-content-box.gray-box .box-image {
        padding: 0 24px;
    }



    #brand .brand-content-flex {
    width: 100%;
    display: flex;
    gap: 60px;
    flex-direction: column;
    }
    #brand .brand-content-flex-item {
        width: 100%;
    }
    #brand .brand-content-image {
        height: 300px;
    }
    #brand .brand-content-inner .white-mini-box {
        padding: 32px 36px;
    }





    #brand .btn-more {
        width: 148px;
    }
    #brand .btn-more a {
        padding: 10px 12px;
    }
    #brand .btn-more a i {
        width: 20px;
        height: 20px;
        font-size: 16px;
        padding-left: 1px;
    }
}
