.elementor-22815 .elementor-element.elementor-element-a6ba436{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-22815 .elementor-element.elementor-element-ac66c2f{--spacer-size:5px;}.elementor-22815 .elementor-element.elementor-element-e1bb56a{--display:flex;}.elementor-22815 .elementor-element.elementor-element-260df66{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-22815 .elementor-element.elementor-element-1518fb5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-22815 .elementor-element.elementor-element-12761a4{--display:flex;}.elementor-22815 .elementor-element.elementor-element-7cb1ca7{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--flex-wrap:nowrap;}.elementor-22815 .elementor-element.elementor-element-d8abaed{--display:flex;}.elementor-22815 .elementor-element.elementor-element-9a390d8{--display:flex;}body.elementor-page-22815:not(.elementor-motion-effects-element-type-background), body.elementor-page-22815 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFDFD;}/* Start custom CSS for html, class: .elementor-element-24b8f2e *//* =====================================================
   SUPPLY BY SHIFT - FILM HERO
===================================================== */

.pws-final{
    position:relative;
    width:100vw;
    height:600vh;
    margin-left:calc(50% - 50vw);
    background:#f5f5f7;
}

/* STAGE */
.pws-final-stage{
    position:sticky;
    top:0;
    width:100%;
    height:100vh;
    overflow:hidden;
    background:#000;
    transition:
        width .75s cubic-bezier(.22,.61,.36,1),
        border-radius .75s cubic-bezier(.22,.61,.36,1),
        box-shadow .75s cubic-bezier(.22,.61,.36,1),
        filter .75s ease;
}

.pws-final-stage.is-card{
    width:min(1420px,92vw);
    margin:0 auto;
    border-radius:32px;
    box-shadow:0 36px 90px rgba(0,0,0,.20);
    filter:brightness(1);
}

/* IMAGE */
.pws-final-images,
.pws-final-img{
    position:absolute;
    inset:0;
}

.pws-final-img{
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    opacity:0;
    transform:translateX(100%) scale(1.015);
    filter:brightness(.95) contrast(.98) saturate(.98) blur(3px);
    transition:
        opacity .55s ease,
        transform .55s cubic-bezier(.22,.61,.36,1),
        filter .55s ease;
}

.pws-final-img.is-active{
    opacity:1;
    transform:translateX(0) scale(1);
    filter:brightness(1.08) contrast(1.02) saturate(1.03) blur(0);
    z-index:3;
}

.pws-final-img.is-prev{
    opacity:0;
    transform:translateX(-100%) scale(1.015);
    filter:brightness(.90) blur(5px);
    z-index:2;
}

.pws-final-img.is-next{
    opacity:0;
    transform:translateX(100%) scale(1.015);
    filter:brightness(.90) blur(5px);
}

/* OVERLAY */
.pws-final-overlay{
    position:absolute;
    inset:0;
    z-index:4;
    background:
        radial-gradient(
            circle at center,
            rgba(0,0,0,.03) 0%,
            rgba(0,0,0,.12) 58%,
            rgba(0,0,0,.24) 100%
        ),
        linear-gradient(
            180deg,
            rgba(0,0,0,.06) 0%,
            rgba(0,0,0,.12) 45%,
            rgba(0,0,0,.26) 100%
        );
}

/* TRANSITION */
.pws-transition-mark{
    position:absolute;
    inset:0;
    overflow:hidden;
    z-index:8;
    pointer-events:none;
}

.pws-transition-mark span{
    position:absolute;
    top:0;
    bottom:0;
    left:-18%;
    width:18%;
    opacity:0;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(83,186,185,.10),
            rgba(255,255,255,.45),
            rgba(83,186,185,.10),
            transparent
        );
}

.pws-transition-mark.is-active span{
    animation:pwsSweep .55s ease;
}

@keyframes pwsSweep{
    0%{
        left:-18%;
        opacity:0;
    }
    15%{
        opacity:1;
    }
    100%{
        left:118%;
        opacity:0;
    }
}

/* CONTENT */
.pws-final-content{
    position:relative;
    z-index:6;
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:210px 40px 0;
    box-sizing:border-box;
}

/* LABEL */
.pws-final-label{
    position:absolute;
    top:220px;
    left:50%;
    transform:translateX(-50%);
    z-index:10;
    font-size:50px;
    font-weight:900;
    line-height:1.2;
    letter-spacing:-.05em;
    white-space:nowrap;
    text-shadow:0 10px 28px rgba(0,0,0,.35);
    transition:
        color .35s ease,
        opacity .35s ease;
}

.pws-final-label.scene-0{
    color:#F4B400;
}

.pws-final-label.scene-1{
    color:#FF8A00;
}

.pws-final-label.scene-2{
    color:#53BAB9;
}

.pws-final-label.scene-3{
    color:#FFFFFF;
}

/* DECLARATION */
.pws-final-lines{
    width:100%;
    max-width:1200px;
}

.pws-final-line{
    font-size:34px;
    line-height:1.45;
    font-weight:900;
    letter-spacing:-.05em;
    color:rgba(255,255,255,.55);
    margin-bottom:30px;
    text-shadow:0 4px 14px rgba(0,0,0,.16);
    transition:
        color .35s ease,
        transform .35s ease,
        text-shadow .35s ease;
}

.pws-final-line.is-active{
    color:#fff;
    transform:scale(1.01);
    text-shadow:0 10px 30px rgba(0,0,0,.38);
}

/* BRAND */
.pws-final-brand{
    position:absolute;
    left:50%;
    bottom:90px;
    transform:translateX(-50%) translateY(20px);
    opacity:0;
    z-index:11;
    font-size:35px;
    font-weight:900;
    letter-spacing:.10em;
    color:#53BAB9;
    text-shadow:0 8px 24px rgba(0,0,0,.35);
    transition:.55s ease;
}

.pws-final-stage.is-card .pws-final-brand{
    opacity:1;
    transform:translateX(-50%) translateY(0);
}

/* DOT */
.pws-final-dots{
    position:absolute;
    right:36px;
    bottom:36px;
    display:flex;
    gap:10px;
    z-index:10;
}

.pws-final-dots span{
    width:7px;
    height:7px;
    border-radius:50%;
    background:rgba(255,255,255,.35);
    transition:.25s;
}

.pws-final-dots span.is-active{
    width:24px;
    border-radius:999px;
    background:#53BAB9;
}

/* TRIGGER */
.pws-final-trigger{
    height:100vh;
}

.pws-final-end{
    height:100vh;
}

@media (max-width:767px){

    /* 선언문만 표시 */
    .pws-final-content,
    .pws-final-lines,
    .pws-final-line,
    .swiper-pagination{
        display:none !important;
    }

    /* 선언문 영역 */
    .pws-final-stage{
        display:flex !important;
        justify-content:center !important;
        align-items:center !important;
        text-align:center !important;
        padding:0 24px !important;
    }

    /* 선언문 */
    .pws-final-label{

        width:100%;
        max-width:360px;

        margin:0 auto;

        font-size:46px;
        line-height:1.45;
        font-weight:900;
        letter-spacing:-0.04em;

        color:#FFD400;

        text-align:center;

        white-space:normal;
        word-break:keep-all;
        overflow-wrap:break-word;
    }

}
@media(max-width:767px){

    .pws-final-brand{
        position:absolute !important;

        left:50% !important;
        top:54% !important;
        transform:translateX(-50%) !important;

        width:100% !important;
        max-width:320px !important;

        margin:0 !important;

        font-size:35px !important;
        line-height:1.25 !important;
        font-weight:900 !important;
        letter-spacing:.14em !important;

        color:#53BAB9 !important;

        text-align:center !important;
        word-break:keep-all !important;
        white-space:normal !important;
    }

    .pws-final-brand br{
        display:block !important;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d51495c *//* =====================================================
   SUPPLY COMPETITIVENESS - APPLE STYLE CARDS
===================================================== */

.film-strength-section{
    padding:120px 6%;
    background:#fff;
}

.film-strength-inner{
    max-width:1500px;
    margin:0 auto;
}

/* HEAD */
.film-strength-head{
    margin:0 0 48px;
}

.film-strength-head h2{
    font-size:44px;
    line-height:1.15;
    font-weight:900;
    letter-spacing:-.045em;
    color:#111;
    margin:0;
}

/* GRID */
.film-strength-list{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}

/* CARD */
.film-strength-card{
    position:relative;
    min-height:320px;
    padding:38px 32px 34px;
    text-align:left;
    background:#f5f5f7;
    border:none;
    border-radius:28px;
    cursor:pointer;
    overflow:hidden;
    transition:
        background .28s ease,
        box-shadow .28s ease,
        filter .28s ease;
}

.film-strength-card:hover{
    background:rgba(83,186,185,.075);
    box-shadow:0 18px 45px rgba(15,23,42,.055);
    filter:brightness(1.02);
}

/* ICON */
.film-strength-icon{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:22px;
    color:#111;
    font-size:32px;
    font-weight:700;
    line-height:1;
}

/* TEXT */
.film-strength-text h3{
    font-size:26px;
    line-height:1.25;
    font-weight:900;
    letter-spacing:-.045em;
    color:#111;
    margin:0 0 16px;
}

.film-strength-text p{
    font-size:16px;
    line-height:1.65;
    font-weight:500;
    color:#333;
    margin:0;
    max-width:270px;
}

/* PLUS */
.film-strength-card::after{
    content:"+";
    position:absolute;
    right:24px;
    bottom:22px;
    width:36px;
    height:36px;
    border-radius:50%;
    background:rgba(0,0,0,.08);
    color:#111;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:27px;
    font-weight:400;
    line-height:1;
    transition:.25s ease;
}

.film-strength-card:hover::after{
    content:"↗";
    background:#53BAB9;
    color:#fff;
}

/* =====================================================
   MODAL
===================================================== */

.film-modal{
    position:fixed;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    visibility:hidden;
    opacity:0;
    transition:.3s ease;
    z-index:9999;
}

.film-modal.is-open{
    visibility:visible;
    opacity:1;
}

.film-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.42);
    backdrop-filter:blur(8px);
}

.film-modal-box{
    position:relative;
    width:min(760px,92vw);
    max-height:82vh;
    overflow-y:auto;
    background:#fff;
    border-radius:30px;
    padding:64px 58px 58px;
    z-index:2;
    box-shadow:0 35px 80px rgba(0,0,0,.18);
    animation:filmModalUp .35s ease;
    box-sizing:border-box;
}

@keyframes filmModalUp{
    from{
        transform:translateY(24px);
        opacity:0;
    }
    to{
        transform:translateY(0);
        opacity:1;
    }
}

/* CLOSE - X ONLY */
.film-modal-close{
    position:absolute;
    right:34px;
    top:30px;
    width:auto;
    height:auto;
    padding:0;
    border:none;
    border-radius:0;
    background:transparent;
    cursor:pointer;
    font-size:34px;
    font-weight:400;
    line-height:1;
    color:#111;
    transition:.2s ease;
}

.film-modal-close:hover{
    color:#53BAB9;
    transform:scale(1.08);
}

.film-modal-box span{
    display:block;
    font-size:13px;
    font-weight:800;
    letter-spacing:.22em;
    color:#53BAB9;
    margin-bottom:18px;
}

.film-modal-box h3{
    font-size:40px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:-.045em;
    color:#111;
    margin:0 0 28px;
    padding-right:46px;
}

.film-modal-box p{
    font-size:18px;
    line-height:1.85;
    color:#444;
    margin:0 0 18px;
    word-break:keep-all;
}

.film-modal-box p:last-child{
    margin-bottom:0;
}

/* MOBILE */
@media(max-width:767px){

    .film-strength-section{
        width:100vw;
        margin-left:calc(50% - 50vw);
        margin-right:calc(50% - 50vw);
        padding:90px 0;
        overflow:hidden;
    }

    .film-strength-inner{
        max-width:none;
        width:100%;
        margin:0;
    }

    .film-strength-head{
        padding:0 24px;
        margin-bottom:34px;
    }

    .film-strength-head h2{
        font-size:36px;
        line-height:1.18;
    }

    .film-strength-list{
        display:flex;
        flex-wrap:nowrap;
        gap:18px;

        overflow-x:auto;
        overflow-y:hidden;

        padding:0 24px 10px;

        scroll-snap-type:x mandatory;
        -webkit-overflow-scrolling:touch;
    }

    .film-strength-list::-webkit-scrollbar{
        display:none;
    }

    .film-strength-card{
        flex:0 0 78%;
        min-width:78%;
        max-width:78%;

        min-height:300px;
        padding:32px 28px;
        border-radius:24px;

        scroll-snap-align:start;
    }

    .film-strength-icon{
        font-size:28px;
        margin-bottom:18px;
    }

    .film-strength-text h3{
        font-size:24px;
    }

    .film-strength-text p{
        font-size:15.5px;
        line-height:1.65;
    }

    .film-modal-box{
        width:92vw;
        max-height:78vh;
        padding:54px 30px 38px;
        border-radius:24px;
    }

    .film-modal-close{
        right:28px;
        top:24px;
        font-size:30px;
    }

    .film-modal-box h3{
        font-size:30px;
        padding-right:34px;
    }

    .film-modal-box p{
        font-size:16px;
        line-height:1.75;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-28fa33e *//* =====================================================
   AVAILABLE FILMS - BADGE CARD STYLE
===================================================== */

.film-product-section{
    padding:140px 6%;
    background:#f5f5f7;
}

.film-product-inner{
    max-width:1500px;
    margin:0 auto;
}

/* =====================================================
   HEAD
===================================================== */

.film-product-head{
    margin:0 0 70px;
}

.film-product-head h2{
    margin:0 0 16px;

    font-size:48px;
    line-height:1.12;
    font-weight:900;
    letter-spacing:-.045em;

    color:#111;
}

.film-product-head p{
    margin:0;

    font-size:19px;
    line-height:1.7;
    font-weight:500;

    color:#555;
}

/* =====================================================
   GRID
===================================================== */

.film-product-list{
    display:grid;
    grid-template-columns:repeat(3,minmax(320px,380px));
    justify-content:center;
    gap:42px;
}

/* =====================================================
   CARD
===================================================== */

.film-product-card{

    position:relative;

    min-height:560px;

    padding:42px 40px 46px;

    background:#fff;

    border-radius:34px;

    text-align:center;

    overflow:hidden;

    cursor:pointer;

    box-shadow:0 20px 60px rgba(15,23,42,.07);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        filter .3s ease;
}

.film-product-card:hover{

    transform:translateY(-5px);

    box-shadow:0 32px 80px rgba(15,23,42,.12);

    filter:brightness(1.01);
}

/* =====================================================
   BADGE
===================================================== */

.film-product-badge{

    position:absolute;

    top:34px;
    left:34px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    height:38px;

    padding:0 18px;

    border-radius:999px;

    border:1px solid;

    font-size:14px;
    font-weight:700;

    letter-spacing:-.01em;

    transition:.25s;
}

.film-type-al .film-product-badge{

    color:#2F6FAE;
    border-color:rgba(47,111,174,.28);
    background:rgba(47,111,174,.08);
}

.film-type-ny .film-product-badge{

    color:#7357C8;
    border-color:rgba(115,87,200,.28);
    background:rgba(115,87,200,.08);
}

.film-type-pp .film-product-badge{

    color:#E9783D;
    border-color:rgba(233,120,61,.28);
    background:rgba(233,120,61,.08);
}

/* =====================================================
   SYMBOL
===================================================== */

.film-product-symbol{

    width:120px;
    height:104px;

    margin:120px auto 46px;

    display:flex;
    align-items:center;
    justify-content:center;

    clip-path:polygon(
        25% 6%,
        75% 6%,
        100% 50%,
        75% 94%,
        25% 94%,
        0 50%
    );

    font-size:48px;
    font-weight:900;

    letter-spacing:-.04em;
}

.film-type-al .film-product-symbol{

    color:#2F6FAE;
    border:2px solid #2F6FAE;
    background:rgba(47,111,174,.05);
}

.film-type-ny .film-product-symbol{

    color:#7357C8;
    border:2px solid #7357C8;
    background:rgba(115,87,200,.05);
}

.film-type-pp .film-product-symbol{

    color:#E9783D;
    border:2px solid #E9783D;
    background:rgba(233,120,61,.05);
}

/* =====================================================
   TITLE
===================================================== */

.film-product-card h3{

    margin:0 0 34px;

    font-size:38px;
    line-height:1.2;
    font-weight:900;

    letter-spacing:-.045em;

    color:#111;
}

.film-product-card h3::after{

    content:"";

    display:block;

    width:40px;
    height:3px;

    margin:22px auto 0;

    border-radius:999px;

    background:#d9d9d9;
}

/* =====================================================
   DESC
===================================================== */

.film-product-card p{

    max-width:300px;

    margin:0 auto;

    font-size:18px;
    line-height:1.8;
    font-weight:500;

    color:#444;
}

/* =====================================================
   PLUS
===================================================== */

.film-product-card::after{

    content:"+";

    position:absolute;

    right:34px;
    bottom:34px;

    width:52px;
    height:52px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#ECECEC;

    color:#111;

    font-size:34px;
    font-weight:500;

    transition:.3s;
}

.film-product-card:hover::after{

    content:"↗";

    color:#fff;
}

.film-type-al:hover::after{
    background:#2F6FAE;
}

.film-type-ny:hover::after{
    background:#7357C8;
}

.film-type-pp:hover::after{
    background:#E9783D;
}

/* =====================================================
   MODAL
===================================================== */

.film-product-modal{

    position:fixed;
    inset:0;

    display:flex;
    align-items:center;
    justify-content:center;

    visibility:hidden;
    opacity:0;

    transition:.3s;

    z-index:9999;
}

.film-product-modal.is-open{

    visibility:visible;
    opacity:1;
}

.film-product-modal-backdrop{

    position:absolute;
    inset:0;

    background:rgba(0,0,0,.42);

    backdrop-filter:blur(8px);
}

.film-product-modal-box{

    position:relative;

    width:min(760px,92vw);

    max-height:82vh;

    overflow-y:auto;

    background:#fff;

    border-radius:32px;

    padding:64px 58px 56px;

    box-sizing:border-box;

    box-shadow:0 35px 80px rgba(0,0,0,.18);

    animation:filmProductUp .35s ease;

    z-index:2;
}

@keyframes filmProductUp{

    from{

        transform:translateY(24px);

        opacity:0;
    }

    to{

        transform:translateY(0);

        opacity:1;
    }
}

/* CLOSE */

.film-product-modal-close{

    position:absolute;

    right:34px;
    top:30px;

    border:none;
    background:none;

    font-size:34px;

    cursor:pointer;
}

.film-product-modal-box span{

    display:block;

    margin-bottom:18px;

    font-size:13px;
    font-weight:800;

    letter-spacing:.22em;

    color:#666;
}

.film-product-modal-box h3{

    margin:0 0 24px;

    font-size:40px;
    font-weight:900;

    color:#111;
}

.film-product-modal-box p{

    margin:0 0 26px;

    font-size:18px;
    line-height:1.85;

    color:#444;
}

.film-product-modal-box ul{

    margin:0;

    padding-left:22px;
}

.film-product-modal-box li{

    font-size:17px;

    line-height:2;

    color:#555;
}

/* =====================================================
   MOBILE
===================================================== */

@media(max-width:767px){

    .film-product-section{

        width:100vw;
        margin-left:calc(50% - 50vw);
        margin-right:calc(50% - 50vw);

        padding:90px 0;

        overflow:hidden;
    }

    .film-product-inner{

        max-width:none;
        width:100%;
        margin:0;
    }

    .film-product-head{

        padding:0 24px;
        margin-bottom:42px;
    }

    .film-product-head h2{

        font-size:38px;
    }

    .film-product-head p{

        font-size:16px;
    }

    .film-product-list{

        display:flex;
        flex-wrap:nowrap;

        gap:20px;

        overflow-x:auto;
        overflow-y:hidden;

        padding:0 24px 10px;

        scroll-snap-type:x mandatory;
        -webkit-overflow-scrolling:touch;
    }

    .film-product-list::-webkit-scrollbar{
        display:none;
    }

    .film-product-card{

        flex:0 0 82%;
        min-width:82%;
        max-width:82%;

        min-height:470px;

        padding:34px 28px 40px;

        border-radius:28px;

        scroll-snap-align:start;
    }

    .film-product-symbol{

        width:100px;
        height:88px;

        margin:96px auto 36px;

        font-size:40px;
    }

    .film-product-card h3{

        font-size:32px;
    }

    .film-product-card p{

        font-size:16px;
    }

    .film-product-modal-box{

        width:92vw;

        padding:52px 30px 36px;
    }

    .film-product-modal-box h3{

        font-size:30px;
    }

    .film-product-modal-box p{

        font-size:16px;
    }

    .film-product-modal-box li{

        font-size:15px;
    }
}

@media(max-width:767px){

    .film-product-inner{
        margin:0 !important;
        padding:0 !important;
    }

    .film-product-list{
        justify-content:flex-start !important;
        justify-items:unset !important;
        align-items:stretch !important;
    }

    .film-product-card{
        margin:0 !important;
    }
}

/* 카드 클릭 후 파란 활성화 상태 제거 */
.film-product-card,
.film-product-card:focus,
.film-product-card:active,
.film-product-card:focus-visible{
    background:#fff !important;
    outline:none !important;
}

/* 타입별 hover 배경도 제거 */
.film-type-al:hover,
.film-type-ny:hover,
.film-type-pp:hover{
    background:#fff !important;
}

/* 버튼만 색상 변경 */
.film-type-al:hover::after{
    background:#2F6FAE !important;
}

.film-type-ny:hover::after{
    background:#7357C8 !important;
}

.film-type-pp:hover::after{
    background:#E9783D !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d8abaed *//* =========================================
   LEFT PANEL CONTAINER
========================================= */

.supply-input-panel{
    flex:0 0 440px !important;
    width:440px !important;
    max-width:440px !important;

    background:#fff !important;
    border:1px solid #E6ECF3 !important;
    border-radius:28px !important;

    padding:42px 36px !important;
    box-sizing:border-box !important;

    box-shadow:0 18px 40px rgba(15,23,42,.05) !important;
}

/* =========================================
   HEADER
========================================= */

.supply-input-content{
    width:100%;
}

.supply-label{
    display:block;

    margin-bottom:12px;

    font-size:13px;
    font-weight:800;
    letter-spacing:.08em;

    color:#18B9D8;
}

.supply-input-panel h2{
    margin:0 0 22px;

    font-size:42px;
    line-height:1.1;
    font-weight:900;

    color:#111827;
}

.supply-desc{
    margin:0 0 34px;

    font-size:16px;
    line-height:1.7;

    color:#4B5563;
}

/* =========================================
   HTML INPUT AREA
========================================= */

.supply-input-field{
    display:grid;
    grid-template-columns:100px 1fr;
    align-items:center;
    gap:18px;

    margin-bottom:22px;
}

.supply-input-field label{
    margin:0 !important;

    font-size:16px !important;
    font-weight:800 !important;
    color:#374151 !important;
}

.supply-input-field select,
.supply-input-field input{
    width:100% !important;
    height:56px !important;

    padding:0 16px !important;

    border:1px solid #CBD5E1 !important;
    border-radius:12px !important;

    background:#fff !important;

    font-size:16px !important;
    color:#111827 !important;

    box-sizing:border-box !important;
    outline:none !important;
    box-shadow:none !important;
}

.supply-input-field select:focus,
.supply-input-field input:focus{
    border-color:#18B9D8 !important;
    box-shadow:0 0 0 3px rgba(24,185,216,.12) !important;
}

/* Roll 표시 */

.qty-wrap{
    position:relative;
}

.qty-wrap input{
    padding-right:58px !important;
}

.qty-wrap::after{
    content:"Roll";

    position:absolute;
    right:16px;
    top:50%;
    transform:translateY(-50%);

    font-size:15px;
    font-weight:700;
    color:#6B7280;

    pointer-events:none;
}

/* =========================================
   METFORM AREA
========================================= */

.supply-input-panel .elementor-widget-metform{
    margin-top:32px !important;
}

.supply-input-panel .mf-form-wrapper,
.supply-input-panel form{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
}

.supply-input-panel .mf-input-wrapper{
    display:grid !important;
    grid-template-columns:100px 1fr !important;
    align-items:center !important;
    gap:18px !important;

    margin-bottom:22px !important;
}

.supply-input-panel .mf-input-label,
.supply-input-panel form label{
    margin:0 !important;

    font-size:16px !important;
    font-weight:800 !important;
    color:#374151 !important;
}

.supply-input-panel input[type=email],
.supply-input-panel input[type=tel],
.supply-input-panel textarea{
    width:100% !important;

    border:1px solid #CBD5E1 !important;
    border-radius:12px !important;

    background:#fff !important;

    font-size:16px !important;
    color:#111827 !important;

    box-sizing:border-box !important;
    outline:none !important;
    box-shadow:none !important;
}

.supply-input-panel input[type=email],
.supply-input-panel input[type=tel]{
    height:56px !important;
    padding:0 16px !important;
}

.supply-input-panel textarea{
    min-height:120px !important;
    padding:16px !important;
    resize:none !important;
}

/* 포커스 */
.supply-input-panel input[type=email]:focus,
.supply-input-panel input[type=tel]:focus,
.supply-input-panel textarea:focus{
    border-color:#18B9D8 !important;
    box-shadow:0 0 0 3px rgba(24,185,216,.12) !important;
}

/* 산정내용 숨김 */
.supply-input-panel textarea[name="estimate_content"]{
    display:none !important;
}

/* =========================================
   BUTTON
========================================= */

.supply-input-panel .mf-btn,
.supply-input-panel button[type=submit]{
    width:100% !important;
    height:58px !important;

    margin-top:14px !important;

    border:none !important;
    border-radius:14px !important;

    background:#18B9D8 !important;
    color:#fff !important;

    font-size:17px !important;
    font-weight:900 !important;

    cursor:pointer !important;
    transition:.25s ease !important;
}

.supply-input-panel .mf-btn:hover,
.supply-input-panel button[type=submit]:hover{
    background:#0FA7C4 !important;
    transform:translateY(-1px);
}

/* 산정내용 숨김 */
.supply-input-panel textarea[name="estimate_content"]{
    display:none !important;
}

/* =========================================
   MOBILE
========================================= */

@media(max-width:768px){

    .supply-input-panel{
        flex:1 1 100% !important;
        width:100% !important;
        max-width:100% !important;

        padding:34px 26px !important;
    }

    .supply-input-panel h2{
        font-size:36px;
    }

    .supply-input-field,
    .supply-input-panel .mf-input-wrapper{
        grid-template-columns:1fr !important;
        gap:8px !important;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-fe6a910 *//* =========================================
   PC REPORT PAPER
========================================= */

.supply-report-paper{
    width:100%;
    background:#fff;
    padding:48px 54px;
    border:1px solid #E6ECF3;
    border-radius:28px;
    box-sizing:border-box;
    box-shadow:0 18px 40px rgba(15,23,42,.05);
}

.report-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:40px;
}

.report-title span{
    display:block;
    margin-bottom:10px;
    font-size:13px;
    font-weight:800;
    letter-spacing:.12em;
    color:#18B9D8;
}

.report-title h2{
    margin:0;
    font-size:44px;
    line-height:1.1;
    font-weight:900;
    color:#111827;
}

.report-doc{
    text-align:right;
    font-size:15px;
    line-height:1.8;
    color:#6B7280;
}

.report-doc div:first-child{
    font-size:22px;
    font-weight:700;
    color:#111827;
}

.report-line{
    margin:36px 0;
    border-top:3px solid #1F2937;
}

.report-group{
    margin-bottom:26px;
}

.report-row-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
}

.report-row-3{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:30px;
}

.report-item{
    padding-bottom:14px;
    border-bottom:1px solid #E5E7EB;
}

.report-item span{
    display:block;
    margin-bottom:8px;
    font-size:14px;
    font-weight:700;
    color:#9CA3AF;
}

.report-item strong{
    display:block;
    font-size:26px;
    line-height:1.3;
    font-weight:800;
    color:#111827;
    word-break:keep-all;
}

.report-price strong{
    color:#18B9D8;
}

.report-total span{
    color:#111827;
    font-weight:800;
}

.report-total strong{
    font-size:36px;
    font-weight:900;
    color:#18B9D8;
}

.report-sub{
    margin-top:34px;
}

.report-sub strong{
    font-size:18px;
    color:#374151;
}

.report-notice{
    margin-top:40px;
    padding-top:22px;
    border-top:1px solid #E5E7EB;
}

.report-notice p{
    margin:8px 0;
    font-size:14px;
    line-height:1.7;
    color:#6B7280;
}

.report-complete{
    display:none;
    margin-top:34px;
    padding:18px;
    text-align:center;
    border-radius:14px;
    background:#ECFDF5;
    border:1px solid #A7F3D0;
    color:#047857;
    font-size:18px;
    font-weight:800;
}

/* PC에서는 모바일 결과 숨김 */
.supply-report-panel .mobile-report{
    display:none !important;
}

/* 모바일에서는 PC 산정표 숨김 + 카드 출력 */
@media(max-width:767px){

    .supply-report-paper{
        display:none !important;
    }

    .supply-report-panel .mobile-report{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:14px !important;

        width:100% !important;
        margin-top:22px !important;
        padding:0 !important;

        background:transparent !important;
        border:none !important;
        box-shadow:none !important;
    }

    .supply-report-panel .mobile-result{
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;

        min-height:128px !important;
        padding:22px 12px !important;

        background:#fff !important;
        border:1px solid #E6ECF3 !important;
        border-radius:20px !important;

        text-align:center !important;
        box-shadow:0 12px 28px rgba(15,23,42,.06) !important;
        box-sizing:border-box !important;
    }

    .supply-report-panel .mobile-result span{
        display:block !important;
        margin:0 0 10px !important;

        font-size:13px !important;
        line-height:1.2 !important;
        font-weight:800 !important;

        color:#8A94A6 !important;
    }

    .supply-report-panel .mobile-result strong{
        display:block !important;

        font-size:24px !important;
        line-height:1.2 !important;
        font-weight:900 !important;

        color:#111827 !important;
        word-break:keep-all !important;
    }

    .supply-report-panel .mobile-result.accent{
        border-color:rgba(83,186,185,.45) !important;
        background:#FCFEFE !important;
    }

    .supply-report-panel .mobile-result.accent span,
    .supply-report-panel .mobile-result.accent strong{
        color:#53BAB9 !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7cb1ca7 */.supply-price-inner{

    display:flex;

    align-items:stretch;

    gap:40px;

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-09ec5b8 */.film-sticky-cta{
    position:fixed;
    right:28px;
    top:50%;
    transform:translateY(-50%);
    z-index:9999;

    display:flex;
    flex-direction:column;
    gap:14px;
}

.film-sticky-cta a{
    width:88px;
    height:88px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;

    border-radius:24px;

    text-decoration:none;

    box-shadow:0 16px 35px rgba(15,23,42,.20);

    transition:.25s ease;
}

.film-sticky-cta a:hover{
    transform:translateX(-6px);
}

.film-sticky-cta span{
    font-size:26px;
    line-height:1;
}

.film-sticky-cta strong{
    font-size:13px;
    line-height:1.25;
    font-weight:900;
    text-align:center;
    color:#fff;
}

.cta-company{
    background:#111827;
}

.cta-rollfilm{
    background:#3B82F6;
}

.cta-price{
    background:#53BAB9;
}

/* MOBILE */
@media(max-width:767px){

    .film-sticky-cta{
        left:12px;
        right:12px;
        top:auto;
        bottom:12px;

        transform:none;

        display:grid;
        grid-template-columns:1fr 1fr 1fr;
        gap:8px;
    }

    .film-sticky-cta a{
        width:auto;
        height:64px;
        border-radius:18px;
        gap:5px;
    }

    .film-sticky-cta span{
        font-size:20px;
    }

    .film-sticky-cta strong{
        font-size:12px;
    }

    body{
        padding-bottom:86px;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-12761a4 */.supply-price-section{
    width:100%;
    padding:100px 6%;
    background:#f5f7fa;
    box-sizing:border-box;
}

.supply-price-inner{
    max-width:1500px;
    margin:0 auto;
    display:flex;
    gap:50px;
    align-items:flex-start;
}

.supply-input-panel{
    width:360px;
    flex-shrink:0;
}

.supply-report-panel{
    flex:1;
    min-width:0;
}
/* =========================================
   MOBILE SUPPLY PRICE - FINAL
========================================= */

@media(max-width:767px){

    .supply-price-section{
        width:100vw !important;
        margin-left:calc(50% - 50vw) !important;
        margin-right:calc(50% - 50vw) !important;
        padding:54px 14px !important;
        box-sizing:border-box !important;
        overflow:hidden !important;
    }

    .supply-price-inner{
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
        padding:0 !important;

        display:flex !important;
        flex-direction:column !important;
        gap:22px !important;
    }

    .supply-input-panel,
    .supply-report-panel{
        width:100% !important;
        max-width:100% !important;
        flex:none !important;
        margin:0 !important;
        box-sizing:border-box !important;
    }

    .supply-input-panel{
        padding:24px 22px !important;
        border-radius:24px !important;
    }

    .supply-input-content{
        width:100% !important;
        max-width:100% !important;
    }

    .supply-label{
        margin-bottom:6px !important;
        font-size:12px !important;
        letter-spacing:.08em !important;
    }

    .supply-input-panel h2{
        margin:0 0 12px !important;
        font-size:32px !important;
        line-height:1.15 !important;
        word-break:keep-all !important;
    }

    .supply-desc{
        margin:0 0 24px !important;
        font-size:15px !important;
        line-height:1.6 !important;
        word-break:keep-all !important;
    }

    .supply-input-field{
        display:block !important;
        margin-bottom:18px !important;
    }

    .supply-input-field label,
    .supply-input-panel .mf-input-label,
    .supply-input-panel form label{
        display:block !important;
        margin:0 0 8px !important;
        font-size:15px !important;
        font-weight:800 !important;
    }

    .supply-input-field select,
    .supply-input-field input,
    .supply-input-panel input[type=email],
    .supply-input-panel input[type=tel]{
        width:100% !important;
        max-width:100% !important;
        height:52px !important;
        padding:0 16px !important;
        font-size:15px !important;
        border-radius:14px !important;
        box-sizing:border-box !important;
    }

    .qty-wrap input{
        padding-right:58px !important;
    }

    .qty-wrap::after{
        right:16px !important;
        font-size:14px !important;
    }

    .supply-input-panel .elementor-widget-metform{
        margin-top:24px !important;
    }

    .supply-input-panel .mf-input-wrapper{
        display:block !important;
        margin-bottom:18px !important;
    }

    .supply-input-panel textarea{
        width:100% !important;
        max-width:100% !important;
        min-height:130px !important;
        padding:14px 16px !important;
        font-size:14px !important;
        line-height:1.6 !important;
        border-radius:14px !important;
        box-sizing:border-box !important;
    }

    .supply-input-panel .mf-btn,
    .supply-input-panel button[type=submit]{
        width:100% !important;
        height:56px !important;
        margin-top:10px !important;
        border-radius:14px !important;
        font-size:16px !important;
    }

    .supply-report-paper{
        width:100% !important;
        padding:28px 22px !important;
        border-radius:24px !important;
        box-sizing:border-box !important;
    }

    .report-header{
        display:block !important;
    }

    .report-title h2{
        font-size:30px !important;
        line-height:1.18 !important;
    }

    .report-doc{
        margin-top:16px !important;
        text-align:left !important;
    }

    .report-line{
        margin:24px 0 !important;
    }

    .report-row-2,
    .report-row-3{
        grid-template-columns:1fr !important;
        gap:16px !important;
    }

    .report-group{
        margin-bottom:18px !important;
    }

    .report-item{
        padding-bottom:10px !important;
    }

    .report-item span{
        font-size:12px !important;
        margin-bottom:6px !important;
    }

    .report-item strong{
        font-size:20px !important;
    }

    .report-total strong,
    .report-price strong{
        font-size:24px !important;
    }

    .report-notice{
        margin-top:26px !important;
        padding-top:18px !important;
    }

    .report-notice p{
        font-size:13px !important;
        line-height:1.6 !important;
    }
}
/* ===========================================
   METFORM MOBILE COMPACT
=========================================== */

@media (max-width:767px){

/* 카드 */
.supply-input-panel{
    padding:18px !important;
}

/* 제목 */
.supply-input-panel h2{
    margin:0 0 8px !important;
    font-size:28px !important;
    line-height:1.15 !important;
}

.supply-desc{
    margin:0 0 20px !important;
    font-size:15px !important;
    line-height:1.55 !important;
}

/* MetForm 모든 wrapper 제거 */
.supply-input-panel .mf-form-wrapper,
.supply-input-panel form,
.supply-input-panel .mf-form-fields,
.supply-input-panel .mf-input-wrapper,
.supply-input-panel .mf-input-group,
.supply-input-panel .mf-field-wrapper,
.supply-input-panel .mf-control-wrapper,
.supply-input-panel .mf-input{
    margin:0 !important;
    padding:0 !important;
}

/* 각 필드 */
.supply-input-panel .mf-input-group{
    margin-bottom:16px !important;
}

/* 라벨 */
.supply-input-panel label{
    display:block !important;
    margin:0 0 6px !important;
    font-size:15px !important;
    font-weight:700 !important;
}

/* input */
.supply-input-panel input,
.supply-input-panel select{

    height:48px !important;

    min-height:48px !important;

    padding:0 14px !important;

    font-size:15px !important;

    border-radius:14px !important;
}

/* textarea */
.supply-input-panel textarea{

    min-height:90px !important;

    padding:12px 14px !important;

    font-size:15px !important;

    border-radius:14px !important;
}

/* 이메일 */
.supply-input-panel .mf-email-field{
    margin-top:0 !important;
}

/* 전화 */
.supply-input-panel .mf-phone-field{
    margin-top:0 !important;
}

/* 버튼 */
.supply-input-panel .mf-btn,
.supply-input-panel button[type=submit]{

    width:100% !important;

    height:52px !important;

    margin-top:10px !important;

    font-size:16px !important;

    border-radius:14px !important;
}

/* 빈 여백 제거 */
.supply-input-panel p,
.supply-input-panel .elementor-widget-container,
.supply-input-panel .mf-field-wrapper>*{
    margin-bottom:0 !important;
}

/* 마지막 필드 */
.supply-input-panel .mf-input-group:last-child{
    margin-bottom:10px !important;
}

}/* End custom CSS */