/* =========================================================
   LegalMatch — user.css
   사용자 포털 전용 스타일 (디자이너 작업 파일)

   · 로드 순서: main.css → user.css (이 파일이 나중에 적용됨)
   · 템플릿 경로: themes/default/user/
   · 공통 레이아웃: themes/default/user/layout.php
   · 헤더/푸터: themes/default/user/partials/

   디자이너는 이 파일만 수정해도 사용자 페이지 UI를 조정할 수 있습니다.
   main.css(공통 컴포넌트·헤더)는 개발 측에서 관리합니다.
   ========================================================= */


:root {

	--primary-green: #0d9488;
	--text-sub: #0d9488;

}

html,body{font-size:16px;}

.dropdown-menu .nav-ai{line-height: 30px;}
.dropdown-menu .nav-ai img{display:inline-block;}

/* ── 사용자 포털 공통 ── */
#main-content {
    /* 서브페이지 배경·최소 높이 등 전역 조정 */
}



/* AI floating button (fixed right) */
.ai-float-btn {
    position: fixed;
    right: 20px;
    bottom: 250px;
    z-index: 250;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: linear-gradient(145deg, #1b2435 0%, #243047 100%);
    border: 2px solid #45e8dd;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35), 0 0 0 0 rgba(69, 232, 221, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    overflow: visible;
}
.ai-float-btn:hover {
    transform: translateY(-4px) scale(1.04);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4), 0 0 20px rgba(69, 232, 221, 0.35);
}
.ai-float-btn__img {
    width: 90%;
    height: 90%;
    object-fit: contain;
    pointer-events: none;
}
.ai-float-btn__pulse {
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 2px solid rgba(69, 232, 221, 0.5);
    animation: aiFloatPulse 2s ease-out infinite;
    pointer-events: none;
}
.ai-float-btn__label {

    right: auto;
    transform: translateY(0);
	top:calc(100% + 12px);
	left:50%;
	transform: translateX(-50%);
	opacity:1;
}
.ai-float-btn:hover .ai-float-btn__label {
    opacity: 1;
   transform: translateY(0) translateX(-50%);
}

@keyframes aiFloatPulse {
    0% { transform: scale(1); opacity: 0.8; }
    100% { transform: scale(1.35); opacity: 0; }
}
@media (max-width: 768px) {
    .ai-float-btn {
        right: 14px;
        bottom: 180px;
        width: 80px;
        height: 80px;
    }
   .ai-float-btn__label { display: none; }
}

/* QRCODE */
.qr-float-btn {
    position: fixed;
    right: 20px;
    bottom: 80px;
    z-index: 250;
    width: 120px;
    height: 120px;
    /*border-radius: 50%;
    background: linear-gradient(145deg, #1b2435 0%, #243047 100%);
    border: 2px solid #45e8dd;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35), 0 0 0 0 rgba(69, 232, 221, 0.4);*/
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    overflow: visible;
}

.qr-float-btn__img {
    width: 80px;
    height: 80px;
    object-fit: contain;
    pointer-events: none;
}


.goTopButton{width:40px; height:40px; position:fixed; bottom:50px; right:60px; cursor:pointer; opacity:0; z-index:30;}

.goTopButton::before{display:inline-block; content:''; position:absolute; width:30px; padding-bottom:40px; border:2px solid #a1a1a1; bottom:-40px; left:50%; margin-left:-15px; border-radius:20px; box-sizing:border-box;}		
.goTopButton::after{display:inline-block; content:''; position:absolute; width:4px; height:10px; background:#a1a1a1; bottom:-30px; left:50%; border-radius:2px; margin-left:-2px;}	

.goTopButton:hover::before{background:#a1a1a1;}
.goTopButton:hover::after{background:#000000;  bottom:-15px;}

.goTopButton:focus::before{background:#a1a1a1;}
.goTopButton:focus::after{background:#000000;  bottom:-15px;}


@media(max-width:768px) {
	.goTopButton{right:35px;}
}


/* ── Sub page / board ── */

.support-hero { padding-bottom: 40px; text-align: center; }
.section-header { padding-top: 40px; text-align: center; }
.section-title {
    font-size: clamp(1.75rem, 4vw, 2.25rem);
    font-weight: 800;
    color: #1b2435;
    margin-bottom: 12px;
    line-height: 1.25;
}
.section-subtitle {
    font-size: 1rem;
    color: #64748b;
    margin: 0;
}



/* -------- 서브공용 ----------*/


.taCenter{text-align:center !important;}
.taRight{text-align:right !important;}
.taLeft{text-align:left !important;}

.fontItalic{font-style:italic;}

.txtRed{color:var(--error);}
.txtBold{font-weight:bold;}
.txtGreen{color:var(--primary-green);}
.txtWhite{color:#ffffff;}

.txtSmaller{font-size:0.9em;}

.section-desc{font-size:1rem; line-height: 140%;}
.section-desc12{font-size:1.2rem; line-height: 140%;}
.section-desc15{font-size:1.5rem; line-height: 140%;}
.section-desc2{font-size:2rem; line-height: 140%;}

.mt0{margin-top: 0;}
.mb0{margin-bottom: 0;}

.pt2{padding-top:2rem;}
.pb2{padding-bottom:2rem;}

.pl2{padding-left:2rem !important;}

.pt4{padding-top:4rem;}
.pb4{padding-bottom:4rem;}
.pt8{padding-top:8rem;}
.pb8{padding-bottom:8rem;}

/* Basic */

.p-40{padding:4rem;}
.badge-warning {
    background: #0d9488;
    color: #ffffff;
	border-color: #0d9488;}


/* Sub Conts */


#containerWrap{width:100%;}
.contBgGray{background:#f1f1f1;}


.section-desp{text-align: center; font-size:1rem; line-height: 140%; }

.subPageTit{width:100%; padding-bottom:100px; position:relative; text-align:center;}
.subPageTit::after{content:''; width:1px; height:60px; background:var(--primary-green); position:absolute; bottom:20px; left:50%;}

.subPageTit02{padding-bottom:80px;}
.subPageTit02::after{bottom:0px;}

.section-link{width:100%;}
.section-link .btnLink{display:inline-block; padding:20px; border-radius:20px; border:1px solid var(--primary-green); background:#ffffff; color:var(--primary-green); font-size:1.2rem;}
.section-link .btnLink:hover{background:var(--primary-green); color:#ffffff;}


.section-slog{width:100%; padding:80px 0; background:url(/assets/img/main/subBg.jpg) no-repeat right bottom; border-radius:10px; margin:2rem 0;}
.section-slog02{background:url(/assets/img/main/subBg02.jpg) no-repeat right bottom;}

.section-slog .slog{font-size:1.5rem; padding-left:5%; color:#ffffff;}
.section-slog .slog span{font-size:1.8rem; font-weight:600;}

.section-slog02 .slog{text-shadow: 0 0 5px #fff; color:#000; text-align: center; line-height: 120%;}

.sectionTit{width:100%; margin:60px 0 40px; font-size:1.3rem; font-weight:600; position:relative; border-bottom:2px solid var(--primary-dark);}
.sectionTit span{display:inline-block; position:relative; padding-bottom: 10px;}
.sectionTit span::before{display:inline-block; content:''; width:100%; height:6px; background:var(--primary-green); position:absolute; left:0px; bottom:00px; border-radius:3px;}

.sectionTxt{width:100%; padding:20px 0 0px 40px; font-size:1rem; position:relative;}
.sectionTxt::before{display:inline-block; content:''; width:4px; height:4px; background:var(--warning); position:absolute; left:30px; top:30px; border-radius:100%;}


.section-cont{width:100%; padding:80px 0;}
.section-cont .section-tit{padding-bottom:20px; font-weight:600; font-size:2rem;}
.section-cont .section-tit02{padding-top:10px; position:relative;}
.section-cont .section-tit02::before{width:100px; height:5px; content:''; background:#1b2435; display:inline-block; position:absolute; top:5px; left:0;}
.section-cont .section-txt{font-size:1.2rem;}

.sectionBox{padding:40px 0;}

.sectionBgGray{background:#f1f1f1;}
.sectionBg01{width:100%; padding:80px 0; background:url(/assets/img/main/subBg03.jpg) no-repeat right center; background-attachment: fixed;}
.sectionBg02{width:100%; padding:80px 0; background:url(/assets/img/main/subBg04.jpg) no-repeat right center; background-attachment: fixed;}
.sectionBg03{width:100%; padding:80px 0; background:url(/assets/img/main/subBg05.jpg) no-repeat right center; background-attachment: fixed;}
.sectionBg04{width:100%; padding:80px 0; background:url(/assets/img/main/subBg06.jpg) no-repeat right center; background-attachment: fixed;}





@media(max-width:768px) {
.subPageTit{padding-bottom:60px;}
.subPageTit::after{height:30px; bottom:15px;}

.subPageTit02{padding-bottom:45px;}
.subPageTit02::after{bottom:0px;}
	
.section-cont{padding:40px 0;}	
.section-cont .section-tit{padding-bottom:10px;}
	
.section-header { padding-top: 40px;}
	
	.sectionBg03{margin-top:40px;}

	
}



/* ── Forms ── */
.form-group { display:flex; flex-direction:column; gap:6px; margin-bottom:16px; }
.form-label { font-size:0.9rem; font-weight:600; color:var(--primary-green); }
.form-control {
    background: rgba(255,255,255,0.03);
    border: 1px solid #c2c2c2;
    border-radius: var(--radius);
    padding: 14px 20px;
    color: var(--text-primary);
    font-size: 0.95rem;
    transition: all 0.3s ease;
    width: 100%;
}
.form-control:focus {
    outline: none;
    border-color: var(--primary);
    /*box-shadow: 0 0 0 4px rgba(108,99,255,0.15);*/
    background: rgba(255,255,255,0.07);
}



/* ── Buttons ── */
.btn {
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    /*padding:12px 28px;*/ border-radius:var(--radius);
    font-weight:600; /*font-size:0.95rem;*/
    border:none; cursor:pointer;
    transition:all var(--transition);
    white-space:nowrap;
	padding:5px 10px;}
}
.btn-primary {
    background:linear-gradient(135deg,var(--primary),var(--primary-dark));
    color:#fff; box-shadow:0 4px 20px rgba(108,99,255,0.4);
}
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 28px rgba(108,99,255,0.5); }
.btn-outline {
    background:transparent; color:var(--primary-dark);
    border:1.5px solid var(--primary-dark);
}
.btn-outline:hover { background:var(--primary); }
.btn-sm { padding:8px 18px; font-size:0.85rem; }
.btn-block { width:100%; }

.donateOn { background:var(--primary); color:var(--primary-green);}

/* ── Cards ── */
.card {
    background: var(--bg-card);
    border: 1px solid var(--border-glass);
    border-radius: var(--radius-lg);
    padding: 24px;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.card:hover { 
    /*transform: translateY(-8px); */
    box-shadow: 0 20px 40px rgba(0,0,0,0.4), var(--shadow-glow);*
    border-color: rgba(108,99,255,0.3);
}
.glass {
    background: rgba(255, 255, 255, 0.02);
    backdrop-filter: blur(24px) saturate(180%);
    -webkit-backdrop-filter: blur(24px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 10px 40px rgba(15, 23, 42, 0.08);
    border-radius: var(--radius-lg);
	border: 1px solid #e2e8f0;
	backdrop-filter: none;
}

.glass:hover {
    transform: none;
    box-shadow: 0 10px 40px rgba(15, 23, 42, 0.08);
    border-color: #e2e8f0;
}

.glass--dark { background: rgba(0, 0, 0, 0.3); }



/*======== SUB Design PAGE ======== */

/* 상담하기 > 이용방법 */
.process-list{width:100%; padding:10px 10px 40px;display:flex; justify-content:space-between;}
.process-list .process-item{width:18%; border-radius:30px; border:1px solid var(--primary-green); padding:10px 10px 60px 10px; position:relative; box-sizing: border-box; text-align:center; background:#ffffff; position:relative;}
.process-list .process-item::before{content:''; width:20px; height:20px; border-top:1px solid #333; border-right:1px solid #333; position:absolute; top:50%; left:-18%; transform: rotate(45deg) translate(0,-50%);}
.process-list .process-item:first-child::before{display:none;}
.process-list .process-item .step{display:inline-block; width:100%; padding:10px 0; text-align:center; font-weight:bold; font-size:1.2rem; padding-top:30px;}
.process-list .process-item h3{padding:20px 0; text-align:center; font-size:1.2rem; line-height:100%; color:var(--primary-green);}
.process-list .process-item h3.line2x{line-height:200%;}
.process-list .process-item p{text-align:center; font-size:1rem; line-height:120%;}
.process-list .process-item p.topLine{border-top:1px solid var(--bg-dark); padding-top:10px; }
.process-list .process-item p a{display:inline-block; width:100%; padding:10px 0;color:#ffffff; background:var(--primary-green); border:1px solid var(--primary-green); border-radius:20px;}
.process-list .process-item p a:hover{background:#ffffff; color:var(--primary-green);}
.process-list .process-item p.btnBox{display:inline-block; width:100%; position:absolute; left:0; bottom:10px; padding:0 10px;}

.process-list .process-item .bot{width:100%; text-align: center;}
.process-list .process-item .bot img{display:inline-block;width:60%;}

.process-list .process-item:nth-child(2){background:var(--primary-green);}
.process-list .process-item:nth-child(2) .step{color:#ffffff;}
.process-list .process-item:nth-child(2) h3{color:#ffffff;}
.process-list .process-item:nth-child(2) p{color:#ffffff;}
.process-list .process-item:nth-child(2) p.topLine{border-top:1px solid #ffffff; padding-top:10px;}
.process-list .process-item:nth-child(2) p a{display:inline-block; width:100%; padding:10px 0; background:#ffffff; color:var(--primary-green); border:1px solid #ffffff; border-radius:20px;}
.process-list .process-item:nth-child(2) p a:hover{background:none; color:#ffffff;}

.process-list-4col .process-item{width:22%; padding-bottom: 50px;}


.process-list02{width:100%; padding:20px 10px; display:flex; justify-content:space-between; flex-wrap:wrap;}
.process-list02 .process-item{width:48%; padding:10px; display:flex; justify-content:space-between; position:relative; box-sizing: border-box; text-align:center; border:1px solid #c2c2c2; margin-bottom:20px; background:#ffffff; border:1px solid var(--primary-green); border-radius:20px; align-items:center;}
.process-list02 .process-item::after{display:inline-block; width:20px; height:20px; content: ''; border-bottom:1px solid #c2c2c2; border-right:1px solid #c2c2c2; position:absolute; right:-6%; top:50%; transform:rotate(-45deg) translate(0, -50%);}
.process-list02 .process-item:last-child::after{display:none;}
.process-list02 .process-item:nth-child(2n)::after{display:none;}
.process-list02 .process-item .step{width:30%; color:#ffffff; text-align:center; color:var(--primary-dark); padding:10px 0; font-size:2rem; font-weight: 600;  position:relative;}
.process-list02 .process-item .step img{width:80%; display:inline-block;}
.process-list02 .process-item .step img.stepImg{width:80%; aspect-ratio:1; border-radius:100%; border:1px solid var(--primary-green); object-fit:cover; overflow:hidden;}

.process-list02 .process-item .step_desc{width:70%; padding:10px; padding-left:5%; font-size:1rem; text-align:left;}
.process-list02 .process-item h3{padding:20px 0; font-size:1.5rem; line-height:100%;}
.process-list02 .process-item h3.line2x{line-height:200%;}
.process-list02 .process-item h4{padding:20px 0 0; font-size:1.3rem; line-height:160%; font-weight:600; font-style:italic;}
.process-list02 .process-item p{font-size:1rem;}

.process-list02_02 .process-item::after{display:none;}

.pointBox{width:100%; padding:20px; border-radius:20px; background:var(--primary-green); color:#ffffff; font-size:1rem; font-weight:bold;}

.guideWrap{display:flex; justify-content: space-around;}
.guideWrap .section-list{width:58%; background:var(--primary-green); padding:50px 8%; border-radius: 20px;}
.guideWrap .section-list ul.secList{width:100%; padding:20px;}
.guideWrap .section-list ul.secList li{width:100%; padding:10px 0px; font-size:1.2rem; color:#ffffff; position:relative;}
.guideWrap .section-bot{width:40%; text-align:center;}
.guideWrap .section-bot img{width:80%; display:inline-block;}

.guideWrap .section-list02{ border:1px solid var(--primary-green); background:#ffffff;}
.guideWrap .section-list02 ul.secList li{color:#333;}


.guideWrap .list { list-style: none; padding: 0; width:100%; }
.guideWrap .list li { display: flex; gap: 20px; padding-left:20px; position:relative;}
.guideWrap .list li::before{content:''; display:inline-block; width:3px; height:3px; background:#000; position:absolute; top:12px; left:5px;}
.guideWrap .list .icon { font-size: 1.1rem; flex-shrink: 0; }
.guideWrap .list strong { font-size: 1.1rem; display: block; margin-bottom: 4px; }
.guideWrap .list p { /*color: var(--text-secondary);*/ font-size: 0.95rem; line-height: 1.6; margin: 0; }


/* Membership */
.despBoxWrap{width:100%; max-width:650px; margin:0 auto;}
.tbBox{width:100%; box-sizing: border-box; padding:20px 0;}
.tbBasic{width:100%; border-top:1px solid #c2c2c2; border-left:1px solid #c2c2c2; border-collapse:collapse;}
.tbBasic th, .tbBasic td{padding:10px; text-align: center; border-bottom:1px solid #c2c2c2; border-right:1px solid #c2c2c2;}
.tbBasic th{backgrdound:#f1f1f1;}
.tbBasic th.mTh{background:#c2c2c2; color:#ffffff;  border-right:1px solid #c2c2c2;}
.tbBasic th.mTh{border-right:1px solid #f1f1f1;}
.tbBasic th.mTh:last-child{border-right:1px solid #c2c2c2;}

.despBox{width:100%; padding:20px 0;}

.listDesp { list-style: none; padding: 0; width:100%; }
.listDesp li { display: flex; gap: 20px; padding-left:20px; position:relative;}
.listDesp li::before{content:''; display:inline-block; width:3px; height:3px; background:#000; position:absolute; top:12px; left:5px;}
.listDesp .icon { font-size: 1.1rem; flex-shrink: 0; }
.listDesp strong { font-size: 1.1rem; display: block; margin-bottom: 4px; }
.listDesp p { /*color: var(--text-secondary);*/ font-size: 0.95rem; line-height: 1.6; margin: 0; }


.payment-method-tab{display:inline-block; padding:10px; border-radius: 10px; background:var(--primary-green); color:#ffffff;}
.auth-layout--w650{max-width:650px;}

.listBox{width:100%; padding:0 20px 0 30px; box-sizing: border-box;}

.my-booking-item .text-right{display:flex; gap:2px; align-items: center;}

.status-timeline {display:flex; gap:5px; padding:10px;}
.status-timeline .status-timeline__step{display:inline-block; padding:5px; border:1px solid #c2c2c2; background:#f4f4f4; border-radius: 10px; font-size:0.8rem;}
.status-timeline .is-active{border-color:#0d9488; color:#0d9488;}
.status-timeline .is-current{background:#0d9488; color:#ffffff;}



/* Registration */

.join-list{width:100%; padding:10px 10px 40px; display:flex; justify-content:center;}
.join-list .join-item{width:24%; border-radius:30px; border:1px solid var(--primary-green); padding:20px; position:relative; box-sizing: border-box; text-align:center; background:#ffffff; position:relative; margin:0 1%;}
.join-list .join-item h3{padding:20px 0; text-align:center; font-size:1.2rem; line-height:100%; color:var(--primary-green);}
.join-list .join-item p{text-align:center; font-size:1rem; line-height:140%;}
.join-list .join-item p.topLine{border-top:1px solid var(--bg-dark); padding-top:10px; }
.join-list .join-itemp a{display:inline-block; width:100%; padding:10px 0;color:#ffffff; background:var(--primary-green); border:1px solid var(--primary-green); border-radius:20px;}
.join-list .join-item p a:hover{background:#ffffff; color:var(--primary-green);}
.join-list .join-item p.btnBox{display:inline-block; width:100%; position:absolute; left:0; bottom:10px; padding:0 10px;}

.join-list .join-item .bot{width:100%; text-align: center;}
.join-list .join-item .bot img{display:inline-block;width:60%;}



/* Main Popup */
.mPopupBox{position:fixed; width:90%; max-width:500px; left:50%; top:50%; transform: translate(-50%, -50%); background:var(--primary-green); border:1px solid var(--primary-green); padding:20px; box-sizing: border-box; border-radius:20px; z-index: 999;}
.mPopupBox .popContBox{width:100%; box-sizing: border-box; padding:20px 30px; box-shadow: 0 0 3px #ffffff; background:#ffffff; border-radius:20px;}
.mPopupBox .popContBox .popCont{width:100%;}
.mPopupBox .popContBox .popCont .txtBox{border-top:1px solid #c2c2c2; border-bottom:1px solid #c2c2c2; padding:20px 10px 10px;}
.mPopupBox .popContBox .popCont p{padding-bottom:10px; font-size:1rem; text-align: center; word-break: keep-all; }
.mPopupBox .popContBox .popCont p.tit{padding-bottom:20px; font-size:1.2rem; font-weight:bold; display:flex; justify-content: center; align-items: flex-end; }
.mPopupBox .popContBox .popCont p.btnCloseBox{padding-bottom:10px; padding-top:10px;}
.mPopupBox .popContBox .popCont p.btnCloseBox span.popClose{display:inline-block; padding:5px 20px; border-radius: 20px; border:1px solid #c2c2c2; background:#ffffff; color:#c2c2c2; font-size:1rem; cursor:pointer;}
.mPopupBox .popContBox .popCont p.btnCloseBox span.popClose:hover{background:#c2c2c2; color:#ffffff;}
.mPopupBox .popContBox .popCont p img.bot{width:120px; text-align: center;}



@media(max-width:1024px) {
	.process-list{justify-content:flex-start; flex-wrap:wrap;}
	.process-list .process-item{width:30%; margin:10px 1.5%;}
	.process-list .process-item::before{left:-14%;}
	
	
	.process-list .process-item:nth-child(3n+1)::before{display:none;}
	
	.process-list-4col .process-item{width:22%;}
	.process-list-4col .process-item::before{left:-20%;}
	.process-list-4col .process-item:first-child::before{display:none;}
	.process-list-4col .process-item:nth-child(4)::before{display:inline-block;}
	
	.guideWrap .section-list{padding:30px 5%; }
}

@media(max-width:768px) {
	.process-list{justify-content:space-between; }
	.process-list .process-item{width:48%; margin:10px 0;}
	.process-list .process-item::before{left:-10%; width:15px; height:15px;}
	.process-list .process-item:nth-child(3n+1)::before{display:inline-block;}
	.process-list .process-item:nth-child(2n+1)::before{display:none;}
	
	.process-list02 .process-item{width:100%; margin-bottom:40px;}
	.process-list02 .process-item::after{display:inline-block; width:20px; height:20px; content: ''; border-bottom:1px solid #c2c2c2; border-right:1px solid #c2c2c2; position:absolute; right:auto; top:auto; left:50%; bottom:-30px; transform:rotate(45deg) translate(-50%, 0);}
	.process-list02 .process-item:nth-child(2n)::after{display:inline-block;}
	.process-list02 .process-item:last-child::after{display:none;}
	
	.process-list02_02 .process-item{margin-bottom:20px;}
	.process-list02_02 .process-item::after{display:none !important;}
	
	.guideWrap{display:flex; justify-content: space-around;}
    .guideWrap .section-list{width:100%;}

    .guideWrap .section-bot{display:none;}

}

@media(max-width:640px){
	
	.process-list .process-item::before{left:-13%;}	
	.join-list .join-item{width:48%;}
	
	
/* Main Popup */
.mPopupBox{padding:10px; border-radius:10px;}
.mPopupBox .popContBox{padding:10px 20px; border-radius:10px;}
.mPopupBox .popContBox .popCont .txtBox{padding:10px 5px 0px;}

.mPopupBox .popContBox .popCont p img.bot{width:100px;}

} 
	

.feesGuide{width:100%; padding:0px 2% 20px;}
.feesGuide li{width:100%; padding:5px 0; font-size:1.2rem;}

.joinGuideBox{width:100%; display:flex; justify-content:space-around; flex-wrap:wrap; padding-bottom: 80px;}
.joinGuideBox .joinGuide{width:24%; border-radius: 20px; background:var(--primary-green); text-align:center; padding:20px 10px; color:#ffffff;}
.joinGuideBox .joinGuide .joinType{font-size:2rem; font-weight:bold;}
.joinGuideBox .joinGuide .joinFees{font-size:1.3rem; padding:20px 0; line-height:120%;}
.joinGuideBox .joinGuide .joinFees span{font-weight:bold;}
.joinGuideBox .joinGuide .line2x{line-height:240%;}
.joinGuideBox .joinGuide .joinLink{padding:20px; padding-top: 40px; }
.joinGuideBox .joinGuide .joinLink a{display:inline-block; position:relative; border:1px solid #ffffff; background:#ffffff; color:var(--primary-green);  border-radius:20px; padding:10px 60px 10px 20px;}
.joinGuideBox .joinGuide .joinLink a::after{display:inline-block; width:10px; height:10px; content:''; border-top:1px solid var(--primary-green); border-right:1px solid var(--primary-green); position:absolute; top:50%;  right:20px; transform: rotate(45deg) translate(0,-50%);}

.joinGuideBox .joinGuide .joinLink a:hover{background:var(--primary-green); color:#ffffff;}
.joinGuideBox .joinGuide .joinLink a:hover::after{right:30px; border-top:1px solid #ffffff; border-right:1px solid #ffffff; }

.keypointBox{width:100%; padding:20px; margin:0px 0;}


@media (max-width: 1024px) {
	
	.joinGuideBox .joinGuide{width:48%; margin:10px 0;}
	
}

@media (max-width: 1024px) {
	
.joinGuideBox .joinGuide .joinType{font-size:1.5rem;}
.joinGuideBox .joinGuide .joinFees{font-size:1.2rem; }
	
}

/* section Contents */

.visionGrid{width:100%; display:flex; justify-content: space-between; flex-wrap:wrap;}
.visionGrid .visionCard{width:22%; border:1px solid var(--primary-green); border-radius:20px; padding:20px;}
.visionGrid .visionCard .icon{width:100%; text-align:center;}
.visionGrid .visionCard .icon img{width:60px; display:inline-block;}
.visionGrid .visionCard .visionTit{width:100%; text-align:center; font-size:1.5rem; font-weight:600; padding:20px 0 10px;}
.visionGrid .visionCard .visionEng{width:100%; text-align:center; font-size:1rem; padding:0px 0 10px; font-weight:400;}
.visionGrid .visionCard .visionTxt{width:100%; text-align:center; font-size:0.85rem;}

.visionGrid02 .visionCard{width:31%;}

/* corperate */
.sec_pro{width:100%; display:flex; justify-content: space-around; flex-wrap: wrap;}
.sec_pro .professor{width:16.6%; padding:20px 5px;}
.sec_pro .professor .proImg{width:100%; text-align:center;}
.sec_pro .professor .proImg img{display:inline-block; width:80%; aspect-ratio:1; border-radius:100%; overflow:hidden;}
.sec_pro .professor .proTxt{width:100%; font-size:1.2rem; font-weight:bold; padding-top:20px; text-align:center;}

.ggMap{width:100%; height:400px; border:1px solid #c2c2c2; margin:2rem 0;}
.ggMapInfo{width:100%; padding:0 20%; }
.ggMapInfo p{width:100%; display:flex;align-items:center; padding:10px 0;}
.ggMapInfo span{display:inline-block; padding:0 10px;}
.ggMapInfo span.icon{width:auto; padding-right:10px; text-align:center;}
.ggMapInfo span.icon img{width:40px;}

.ggMapInfo span.infoItem{width:90px;}

@media (max-width: 1024px) {
	
	.ggMapInfo{padding:0 10%; }
	
}
@media (max-width: 768px) {
	.visionGrid .visionCard{width:48%; margin:10px 0;flex-wrap:wrap;}
	
	.sec_pro .professor{width:31%;}
	.sec_pro .professor .proImg img{width:100%;}
	
	.ggMapInfo{padding:0 2%; }
	.ggMapInfo span.icon img{with:30px;}
	.ggMapInfo span.infoItem{width:80px;}
}



/* FAQ */
.faq-category{padding:20px; border:1px solid var(--primary-green); border-radius:20px; margin-bottom: 20px;}
.faq-category .faq-cat-title{font-size:1.2rem; font-weight:600; border-bottom:1px solid var(--primary-green); padding-left:20px; border-left:none; position:relative; }
.faq-category .faq-cat-title::before{content:''; display:inline-block; width:4px; height:4px; background:var(--primary-green); position:absolute; left:5px; top:12px;}

/* SUPPORT */

.support-list { list-style: none; padding: 0; }
.support-list li { display: flex; gap: 20px; margin-bottom: 32px; padding-left:20px; position:relative;}
.support-list li::before{content:''; display:inline-block; width:3px; height:3px; background:#000; position:absolute; top:12px; left:5px;}
.support-list .icon { font-size: 1.1rem; flex-shrink: 0; }
.support-list strong { font-size: 1.1rem; display: block; margin-bottom: 4px; }
.support-list p { /*color: var(--text-secondary);*/ font-size: 0.95rem; line-height: 1.6; margin: 0; }

.support-list02 { list-style: none; padding: 0; }
.support-list02 li { display: flex; gap: 20px; margin-bottom: 10px; padding-left:20px; position:relative;}
.support-list02 li::before{content:''; display:inline-block; width:3px; height:3px; background:#000; position:absolute; top:12px; left:5px;}
.support-list02 .icon { font-size: 1.1rem; flex-shrink: 0; }
.support-list02 strong { font-size: 1.1rem; display: block; margin-bottom: 4px; }
.support-list02 p { /*color: var(--text-secondary);*/ font-size: 0.95rem; line-height: 1.6; margin: 0; }

.corp-steps { padding-left: 1.2rem; line-height: 2; margin: 0; /*color: var(--text-secondary);*/ }
.corp-steps strong { color: var(--primary); margin-right: 6px; }

.radio-group { display: flex; gap: 24px; margin-top: 8px; flex-wrap: wrap; }
.radio-group--stack { flex-direction: column; gap: 12px; }
.radio-item { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font-size: 0.95rem; }
.radio-item input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--primary); flex-shrink: 0; }

.amount-selector button { padding: 10px; font-weight: 600; }
#amount-group.is-dimmed { opacity: 0.45; pointer-events: none; }

.corp-success { text-align: center; padding: 32px 16px; }
.corp-success__icon {
    width: 64px; height: 64px; line-height: 64px; border-radius: 50%;
    background: #dcfce7; color: #16a34a; font-size: 2rem; font-weight: 700;
    margin: 0 auto 20px;
}
.is-hidden { display: none !important; }
.required { color: #ef4444; }

/* auth */
.authGuide{width:100%; padding:10px; text-align:center;}
.authGuide .bot{width:100%; padding-bottom:20px;}
.authGuide .bot img{width:200px;}
.authGuide .botTxt{width:100%; font-size:1.2rem;}
.authGuide .botTxt span{font-weight:bold;}





/* ── 마이페이지 ── */
.my-bookings,
.my-dashboard,
.my-booking-detail,
.my-profile,
.my-inquiry,
.my-withdraw,
.my-support {
    background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
}

.my-bookings .h2,
.my-dashboard .h2,
.my-booking-detail .h2,
.my-profile .h2,
.my-inquiry .h2,
.my-withdraw .h2 {
    color: #1b2435;
}

.my-dashboard .card.glass,
.my-bookings .card.glass,
.my-inquiry .card.glass {
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 24px rgba(27, 36, 53, 0.06);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.my-dashboard .card.glass:hover,
.my-bookings .card.glass:hover,
.my-inquiry .card.glass:hover {
    transform: none;
    box-shadow: 0 4px 24px rgba(27, 36, 53, 0.06);
}

.my-bookings .text-primary {
    color: #0d9488;
    font-weight: 600;
    text-decoration: none;
}

.my-bookings .text-primary:hover {
    text-decoration: underline;
}

.my-bookings .btn-outline {
    color: #1b2435;
    border-color: #cbd5e1;
}

.my-bookings .btn-outline:hover {
    background: #f1f5f9;
    border-color: #94a3b8;
}


.my-dashboard__stats{display:flex;}

.list-none{padding:0 20px 0 30px;}

/* 상담 내역 탭 */
.booking-tabs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.booking-tab {
    padding: 10px 20px;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #64748b;
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
}

.booking-tab--active {
    background: var(--primary, #0d9488);
    border-color: var(--primary, #0d9488);
    color: #fff;
}

/* 문의하기 */
.inquiry-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.inquiry-item {
    padding: 16px 0;
    border-bottom: 1px solid #e2e8f0;
}

.inquiry-item:last-child {
    border-bottom: none;
}

.badge-pending {
    background: #fef3c7;
    color: #92400e;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 0.75rem;
}

.inquiry-item .badge-success {
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 0.75rem;
}

.admin-reply {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 12px;
    font-size: 0.9rem;
}


.greetingBox{wdth:100%; display:flex; justify-content: space-between; flex-wrap:wrap; box-sizing: border-box; padding:80px;}
.greetingBox .greetingTxt{width:60%;}
.greetingBox .greetingTxt02{width:100%;}
.greetingBox .ceoImg{width:20%; }
.greetingBox .ceoImgPc{display:inline-block;}
.greetingBox .ceoImgMo{display:none;}
.greetingBox .ceoImg span{display:inline-block; max-width:220px; }
.greetingBox .ceoImg img{width:100%; border-radius: 20px; border:1px solid #c2c2c2; padding:5px; }

/* ── 예약 ── */
/* themes/default/user/booking/ */

/* ── 전문가 목록·프로필 ── */
/* themes/default/user/experts/ */

/* ── 가이드·소개 ── */
/* themes/default/user/guide/, about/, business/ */

/* ── 후원 ── */
/* themes/default/user/support/ */

/* ── 게시판 ── */
/* themes/default/user/post/ */

/* ── 반응형 (사용자 포털) ── */

@media (max-width: 1200px) {

	.hamburger span{background:#ffffff !important;}	
	
}

@media (max-width: 1024px) {
	
	html,body{font-size:14px;}
	.hamburger span{background:#ffffff !important;}	
	
}

@media (max-width: 768px) {
	
	html,body{font-size:12px;}
	
	.section-desc{font-size:1rem; line-height: 140%;}
    .section-desc12{font-size:1.1rem; line-height: 140%;}
    .section-desc15{font-size:1.3rem; line-height: 140%;}
    .section-desc2{font-size:1.5rem; line-height: 140%;}
	
	
.pt2{padding-top:1.2rem;}
.pb2{padding-bottom:1.2rem;}

.pl2{padding-left:1.2rem !important;}

.pt4{padding-top:2rem;}
.pb4{padding-bottom:2rem;}
.pt8{padding-top:4rem;}
.pb8{padding-bottom:4rem;}


	
	/*QR CODE */
	    .qr-float-btn {
        right: 14px;
        bottom: 90px;
        width: 80px;
        height: 80px;
    }
	
	.qr-float-btn__img {
    width: 60px;
    height: 60px; 
    }
	
	
	
    .booking-tabs {
        flex-direction: column;
    }

    .booking-tab {
        text-align: center;
    }
	
		
	
}



/* MAIN CONTENTS */

#mainRollWrap .mainRoll .mainRollTxt{font-size:3rem; padding:0 5%; box-sizing:border-box;}
.mBBSList .bbsList li a .subject{line-height: 140%;}
.bbsWrap .bbsBox02 .mBBSList {padding:20px 0;}



@media (max-width: 1024px) {
	
	#mainRollWrap .mainRoll .mainRollTxt{}
	.newsSection{padding-top:0px;}
	
}


@media (max-width: 768px) {
	
	.container{padding:0 3%;}
	
	.site-footer{padding:40px 0;}
	.footer-inner{display:inline-block; text-align:left; width:100%; padding-bottom: 20px;}
	.footer-links{flex-direction: row;}
	.footer-links .link{width:40%;}
	
	#mainRollWrap .mainRoll .mainRollTxt{font-size:2rem;}
	.newsSection{height:auto;}
	.bbsWrap{flex-wrap:wrap;}
	.bbsWrap .bbsBox{width:100%;}
	.bbsWrap .bbsBox02{width:100%; margin-top:20px;}
	
	
	.mBBSList .bbsList li{padding:5px 0;}
	.mBBSList .bbsList li a .subject span {padding-bottom: 5px;}
	
	.mBBSList .bbsList02 li a{padding:10px;}
	

.greetingBox{padding:40px 0;}
.greetingBox .greetingTxt{width:100%; padding-top:20px;}
.greetingBox .greetingTxt02{width:100%;}
.greetingBox .ceoImg{width:100%; text-align:center; }
.greetingBox .ceoImgPc{display:none;}
.greetingBox .ceoImgMo{display:inline-block;}
	.greetingBox .ceoImgMo .taRight{text-align:center !important;}

	
	
}


@media (max-width: 640px) {
.greetingBox .greetingTxt{width:100%;}
.greetingBox .ceoImg{width:100%; text-align:center;}
.greetingBox .ceoImgPc{display:none;}
.greetingBox .ceoImgMo{display:inline-block;}

}




