/**********************************************
 * »ó´ãÆû Ä«µåÇü ±âº» Wrapper
 **********************************************/
.consult-wrap {
    max-width: 900px;
    margin: 40px auto;
    padding: 25px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.08);
    border:0px solid #e7e7e7;
    box-sizing:border-box;
}

.consult-form{margin-top:55px;}


/**********************************************
 * Á¦¸ñ ¿µ¿ª(Card Header)
 **********************************************/
.consult-title {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f1f3f4;
    color: #222;
    text-align: center;
}

/**********************************************
 * °¢ ÇÊµå ¿µ¿ª
 **********************************************/
.consult-field {
    border:0px solid #e7e7e7;
    padding: 0px;
    border-radius: 8px;
    
    margin-bottom: 20px;
    transition: .25s;
    position: relative;
}

.consult-field:hover {
   /* background: #fff;
    box-shadow: 0 3px 10px rgba(0,0,0,0.05);*/
}

/**********************************************
 * ¶óº§ + ¾ÆÀÌÄÜ Á¤·Ä
 **********************************************/
.consult-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    font-size: 19px;
    margin-bottom: 8px;
    color:#000;
    margin-left:10px;
}

/* ¾ÆÀÌÄÜ */
.consult-label::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 14px;
    color: #000;
    display:inline-block;
}

/* Å¸ÀÔº° ¾ÆÀÌÄÜ 
.item-text .consult-label::before        { content: "\f040"; }
.item-email .consult-label::before       { content: "\f0e0"; }
.item-tel .consult-label::before         { content: "\f095"; }
.item-date .consult-label::before        { content: "\f073"; }
.item-time .consult-label::before        { content: "\f017"; }
.item-textarea .consult-label::before    { content:"\f303"; }
.item-select .consult-label::before      { content:"\f0dc"; }
.item-radio .consult-label::before       { content:"\f192"; }
.item-checkbox .consult-label::before    { content:"\f14a"; }*/

/**********************************************
 * ÇÊ¼ö Ç¥½Ã (*)
 **********************************************/
.req {
    color:#ff4c4c;
    font-size:13px;
    margin-left:3px;
}

/**********************************************
 * ÀÔ·Â ¿ä¼Ò (°øÅë)
 **********************************************/
.consult-input,
.consult-select,
.consult-textarea,
.option-input {
    width: 100%;
    padding: 16px 12px;
    border: 1px solid #999999;
    border-radius:30px;
    font-size: 17px;
    box-sizing:border-box;
    background: #fff;
    min-height: 52px;
}

.consult-textarea {
    min-height: 100px;
    resize: vertical;
}

/* Focus È¿°ú */
.consult-input:focus,
.consult-textarea:focus,
.consult-select:focus,
.option-input:focus-within {
    border-color: #6fa9ff;
    /*box-shadow: 0 0 0 2px rgba(111,169,255,0.2);*/
}

/**********************************************
 * ¼±ÅÃÇü ¿É¼Ç ¹Ú½º
 **********************************************/
.option-input {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    margin-top: 6px;
}

/* ¿É¼Ç ¶óº§(¶óµð¿À/Ã¼Å©) Á¤·Ä */
.consult-radio,
.consult-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 18px;
    line-height: 1.3;
    white-space: nowrap;
}

/**********************************************
 * container ½ºÅ¸ÀÏ ÃÊ±âÈ­
 **********************************************/
.item-radio,
.item-checkbox {
    padding: 0;
    border: 0;
    background: transparent;
    display: block;
}

/**********************************************
 * Á¦Ãâ ¹öÆ°
 **********************************************/
.consult-submit-wrap {
    text-align:center;
    margin-top:25px;
}
.consult-submit-btn {
    background:#2561fe;
    color:#fff;
    padding:15px 26px;
    border:none;
    border-radius:35px;
    font-size:20px;
    cursor:pointer;
    transition:0.2s;
    width:100%;
    font-weight:700;
}
.consult-submit-btn:hover {
    background:#000;
}

/**********************************************
 * ½ºÅ©·Ñ ¾Ö´Ï¸ÞÀÌ¼Ç
 **********************************************/
.consult-wrap,
.consult-field,
.consult-submit-wrap {
    opacity:0;
    transform:translateY(20px);
    transition:all .6s ease;
}

.consult-wrap.show,
.consult-field.show,
.consult-submit-wrap.show {
    opacity:1;
    transform:translateY(0);
}

/**********************************************
 * ¹ÝÀÀÇü
 **********************************************/
@media screen and (max-width:768px) {

        .consult-input,
.consult-select,
.consult-textarea,
.option-input {
    width: 100%;
    padding: 14px 12px;
    border: 1px solid #999999;
    border-radius:30px;
    font-size: 16px;
    box-sizing:border-box;
    background: #fff;
    min-height: 45px;
}

    .consult-wrap {
        padding:18px;
        margin:20px;
        border-radius:10px;
    }
    .consult-label {
        font-size:16px;
    }
    .consult-input,
    .consult-select,
    .consult-textarea {
        font-size:15px;
        padding:6px;
    }
    .consult-submit-btn {
        width:100%;
        border-radius:10px;
    }


.consult-submit-btn {
    background:#2561fe;
    color:#fff;
    padding:13px 26px;
    border:none;
    border-radius:35px;
    font-size:17px;
    cursor:pointer;
    transition:0.2s;
    width:100%;
    font-weight:700;
}

.consult-checkbox {font-size:16px;}
}

/* === ÀÌ¿ë¾È³»º¸±â ¹öÆ° === */
.agree-toggle {
    border: 1px solid #d0e3ff;
    background: #f0f6ff;
    color: #0d6efd;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 12px;
    margin-left: 6px;
    cursor: pointer;
}
.agree-toggle:hover { background: #e6f0ff; }

/* === ¸»Ç³¼± === */
.agree-popup {
    display:none;
    position: relative;
    background:#ffffff;
    border:1px solid #dadce0;
    border-radius:8px;
    padding:15px;
    margin-top:8px;
    font-size:14px;
    line-height:1.45;
    box-shadow:0 4px 14px rgba(0,0,0,0.08);
    z-index: 20;
}

/* Åä±Û ½Ã º¸¿©Áü */
.agree-popup.show {
    display:block;
    animation: agreeFade .25s ease forwards;
}

/* ²¿¸® */
.agree-popup .arrow {
    width: 0; height: 0;
    border-left:8px solid transparent;
    border-right:8px solid transparent;
    border-bottom:8px solid #dadce0;
    position:absolute;
    top:-8px; 
    left:14px;
}

/* µîÀå ¾Ö´Ï¸ÞÀÌ¼Ç */
@keyframes agreeFade {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ÀüÃ¼ µ¿ÀÇ ¹Ú½º */
.agree-all-wrap {
    background:#f9f9f9;
    border:1px solid #ccc;
}

/* °³º° µ¿ÀÇ */
.agree-list {
    margin-top:6px;
    border:1px solid #ededed;
    border-radius:8px;
    background:#fff;
}
/*=== ¹öÆ° À§ ¸»Ç³¼± ½ºÅ¸ÀÏ ===*/
.agree-popup-bubble {
    display: none;
    position: absolute;
    top: -10px;
    right: 0;
    transform: translateY(-100%);
    width: 100%;
    background: #ffffff;
    border: 1px solid #dadce0;
    border-radius: 10px;
    padding: 14px 14px 18px;
    box-shadow: 0 5px 18px rgba(0,0,0,0.15);
    font-size: 14px;
    line-height: 1.55;
    z-index: 9999;
    animation: popBubble .25s ease;
}

/* À§ÂÊ ²¿¸® */
.agree-popup-bubble:before {
    content: "";
    position: absolute;
    bottom: -9px;
    right: 26px;
    width: 0; 
    height: 0;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-top: 9px solid #dadce0;
}

.agree-bubble-close {
    float:right;
    background: transparent;
    border:none;
    font-size: 16px;
    cursor: pointer;
    margin-top:-4px;
    color:#888;
}
.agree-bubble-close:hover {
    color:#333;
}

@keyframes popBubble {
    from {opacity: 0; transform: translateY(-120%);}
    to   {opacity: 1; transform: translateY(-100%);}
}
