/*-----------------------------------------------------------
 1. Layout & Header (°øÅë ·¹ÀÌ¾Æ¿ô ¹× »ó´Ü ¿µ¿ª)
 ------------------------------------------------------------*/
@media (max-width:1100px){
    .container,#header .inner,.visual-inner,.white-box,.calc-modal-content{width:100%!important;}
    .white-box{padding:2em 1.5em;}
}
@media (max-width:480px){
    #header{height:65px;}
    #header .inner{padding:0 15px;}
    #header .logo img{height:25px;}
    .gnb,.header-util .tel-num{display:none;}
}

/*-----------------------------------------------------------
 2. Main Visual & Labels (ºñÁÖ¾ó/¸ÞÀÎ ¿µ¿ª)
 ------------------------------------------------------------*/
@media (max-width:1100px){
    .main-visual{height:100%;}
    .top-logo{right:20px; width:auto;}
    .top-logo img{height:auto; width:100%;}
    .visual-text{left:30px;}
    .paran_label,.visual-label{right:20px; bottom:350px;}
    .visual-machine{bottom:100px;}
}
@media (max-width:800px){
    .visual-machine{width:calc(100% - 40px); left:20px;}
    .visual-machine img{max-width:100%;}
}
@media (max-width:568px){
    .main-visual{height:800px; background-size:auto;}
    .visual-text h2 .sub{font-size:1.4em; line-height:1.4;}
    .visual-text h2 strong{font-size:2.5em; margin-top:7px;}
    .visual-text .date{font-size:1.3em; margin-top:1.6em;}
    .visual-machine{width:90%; right:5%; bottom:50px;}
    .visual-machine img{width:100%; height:auto;}
    .paran_label img{height:140px;}
}
@media (max-width:480px){
    .top-logo{right:20px; width:80%; top:90px;}
    .visual-text{top:170px; left:20px;}
    .visual-text h2 strong{font-size:2em;}
    .paran_label{display:grid; grid-template-columns:repeat(3,1fr); top:410px; left:40px; bottom:auto; gap:3%; width:calc(100% - 80px);}
    .paran_label img{height:auto; width:100%;}
}
@media (max-width:360px){
    .main-visual{height:700px;}
    .visual-text h2 .sub{font-size:1.2em;}
    .visual-text{top:150px;}
}
@media (max-width:320px){
    .visual-text h2 strong{font-size:1.9em;}
}

/*-----------------------------------------------------------
 3. Smart Info & Solutions (º»¹® ÄÁÅÙÃ÷ ¿µ¿ª)
 ------------------------------------------------------------*/
@media (max-width:1100px){
    .smart-info{margin-top:0; width:94%; left:3%; padding:2em 0;}
    .product-info,.hardware-lineup,.gov-product-info,.required-info,.local-info{position:relative; margin-top:0; width:94%; left:3%; padding:0 0 2em 0;}
    .smart-service{gap:20px; flex-direction:column;}
    .hardware-grid,.feature-grid{grid-template-columns:repeat(2,1fr);}
    .div-table .d-row{flex-direction:column; padding:10px 0;}
    .div-table .d-cell{width:100%!important; border-right:none; padding:10px 25px;}
}
@media (max-width:900px){
    .gov-product-info .gov-grid{grid-template-columns:1fr; gap:15px;}
    .gov-card{padding:20px; border-radius:15px;}
    .gov-header{margin-bottom:20px; min-height:auto;}
    .gov-header h4{font-size:1.1em;}
    .p-features li{font-size:1.0em; margin-bottom:8px;}
    .price-info{min-height:auto; margin-bottom:15px;}
    .p-price{font-size:1.3em; text-align:left;}
    .view-price-btn{padding:10px; font-size:0.9em;}
}
@media (max-width:800px){
    .hardware-grid{grid-template-columns:1fr;}
}
@media (max-width:768px){
    .detail-table{font-size:13px;}
    .price-tag{font-size:14px;}
    .detail-body{padding:15px;}
}
@media (max-width:568px){
    .intro-card{flex-wrap:wrap;}
    .header-link-btn{width:100%; justify-content:center; margin-top:10px;}
    .gov-grid{grid-template-columns:1fr;}
    .white-box{border-radius:20px;}
    .title-section h1{font-size:1.5em;}
    .hw-thumb{margin:0 auto 15px;}
    .service-list ul li{font-size:1.1em;}
    .intro-txt .modal-title{font-size:1.2em;}
}
@media (max-width:480px){
    .smart-info{width:100%; left:0; padding-top:0;}
    .product-info,.hardware-lineup,.gov-product-info,.required-info,.local-info{width:100%; left:0;}
    .white-box{border-radius:0; padding:1.8em 1.2em;}
    .voucherTop dl{flex-direction:column;}
    .voucherTop dt{width:100%; margin-bottom:5px;}
    .voucherTop dd{width:100%;}
    .modal-link-btn{width:100%; justify-content:center;}
    .paran-box{padding:20px;}
    .service-list ul li{font-size:1.0em; line-height:1.7;}
    .paran-box .ttl{font-size:1.5em;}
    .voucherTop ul li{font-size:1.05;}
    .gov-product-info{padding:0 0 1.5em 0;}
    .gov-card{padding:18px;}
    .p-price{font-size:1.2em;}
    .title-section i {font-size:1.5em;}
    .title-section h1{font-size:1.2em;}
}
@media (max-width:320px){
    .white-box{padding:1.5em 1em;}

    .btn-group .btn{font-size:0.85em;}
    .feature-grid{grid-template-columns:1fr;}
}

/*-----------------------------------------------------------
 4. Required Info (½ÅÃ» ¼­·ù ¾È³» ¿µ¿ª)
 ------------------------------------------------------------*/
@media (max-width:1100px){
    .required-info .div-table{border:none; background:transparent;}
    .required-info .div-table .d-row{flex-direction:column; background:#fff; margin-bottom:20px; border:1px solid #e1e1e1; border-radius:20px; box-shadow:0 4px 12px rgba(0,0,0,0.05); overflow:hidden;}
    .required-info .div-table .d-header{display:none;}
    .required-info .div-table .d-cell{width:100%!important; border:none; padding:12px 25px;}
    .required-info .div-table .d-cell:first-child{padding-top:20px; padding-bottom:10px;}
    .required-info .div-table .d-cell:first-child span{font-size:1.15em; font-weight:800; display:flex; align-items:center; gap:8px;}
    .required-info .div-table .d-cell:first-child span::before{content:""; width:4px; height:16px; border-radius:2px; display:inline-block;}
    .required-info .div-table .d-row .t-must::before{background:#d32f2f;}
    .required-info .div-table .d-row .t-choice::before{background:#1976d2;}
    .required-info .div-table .d-cell:nth-child(2){font-size:1.05em; font-weight:700; color:#222; padding-top:0; padding-bottom:10px;}
    .required-info .div-table .d-cell:last-child{padding-top:10px; padding-bottom:25px; border-top:1px solid #f0f0f0; color:#555; font-size:0.95em;}
    .required-info .help-links{margin-top:10px; padding:15px; background:#f8f9fa; border:1px solid #eee;}
}
@media (max-width:800px){
    .required-info .div-table .d-cell:last-child{font-size:1.1em;}
}
@media (max-width:568px){
    .required-info .div-table .d-cell:last-child{font-size:1.1em;}
}

/*-----------------------------------------------------------
 5. Local Info (ÁöÀÚÃ¼ Áö¿ø ¾È³» ¿µ¿ª)
 ------------------------------------------------------------*/
@media (max-width:1100px){
    .local-info .div-table .d-header{display:none!important;}
    .local-info .div-table{border:none; background:transparent;}
    .local-info .div-table .d-row{display:flex; flex-direction:row; align-items:center; justify-content:flex-start; background:#fff; margin-bottom:12px; border:1px solid #eee; border-radius:15px; padding:18px 25px; gap:15px; box-shadow:0 3px 10px rgba(0,0,0,0.03); text-align:left;}
    .local-info .d-row.d-bg-gray{background:#fff;}
    .local-info .div-table .d-cell{width:auto!important; border:none; padding:0; align-items:center; text-align:left; display:block;}
    .local-info .div-table .d-cell:first-child{font-weight:800; color:#222; min-width:110px; font-size:1.1em;}
    .local-info .div-table .d-cell:nth-child(2){color:#999; font-size:0.95em; margin-left:10px;}
    .local-info .div-table .d-cell:nth-child(2)::before{display:none!important;}
    .local-info .div-table .d-cell:last-child{margin-left:auto;}
    .local-info .div-table .d-cell:last-child a{font-weight:700; color:#5b59d6; text-decoration:none; font-size:1.05em; display:flex; align-items:center; gap:8px;}
    .local-info .div-table .d-cell:last-child a i{font-size:0.95em; color:#5b59d6; vertical-align:middle; margin-top:2px;}
    .guide-txt{font-size:0.95em; margin-bottom:1.6em; margin-top:-18px; margin-left:0;}
}
@media (max-width:480px){
    .local-info .div-table .d-row{flex-direction:column; align-items:flex-start; padding:15px 20px; gap:8px;}
    .local-info .div-table .d-cell:first-child{min-width:auto; margin-bottom:2px;}
    .local-info .div-table .d-cell:nth-child(2){margin-left:0; color:#888;}
    .local-info .div-table .d-cell:last-child{margin-left:0; margin-top:10px; width:100%!important; border-top:1px dashed #eee; padding-top:10px;}
}

/*-----------------------------------------------------------
 6. Quick Menu & Footer (°íÁ¤ ¹öÆ°/ÇÏ´Ü ¿µ¿ª)
 ------------------------------------------------------------*/
@media (max-width:1100px){
    .fixed_btn{flex-direction:row; bottom:20px; right:20px; width:auto; left:auto; gap:8px; align-items:center;}
    .fixed_btn .f-item{width:auto; height:48px; padding:0 15px; font-size:0.95em; min-width:unset;}
    .btn-apply-img img{max-height:15px;}
    #footer{padding:30px 20px 90px 20px;}
    #footer .copyright-line{font-size:0.8em;}
}
@media (max-width:900px){
    .calc-modal-body,.calc-opt-grid{grid-template-columns:1fr;}
    .fixed_btn .btn-video span{color:transparent; font-size:0; line-height:0;}
    .fixed_btn .btn-video span strong{color:#333; font-size:13px; line-height:1.2; display:block; visibility:visible;}
    .fixed_btn .f-item{width:48px; height:48px; padding:0; border-radius:100px!important;}
    .fixed_btn .f-item span,.fixed_btn .f-item strong{display:none;}
    .fixed_btn .f-item i{margin:0; font-size:1.3em;}
    .fixed_btn .f-item.btn-apply-img{justify-content:start;}
    .btn-apply-img img{max-height:100px; width:103px;}
}
@media (max-width:480px){
    .fixed_btn{bottom:15px; right:15px; gap:6px;}
    .fixed_btn .f-item{height:42px;}
    .fixed_btn .f-item:not(.btn-video){width:42px;}
    .fixed_btn .btn-video{padding:0 12px;}
    .fixed_btn .btn-video span strong{font-size:11px;}
    .modal-content{width:96%; height:90vh;}
    .modal-header{background-color:#fff; border:0;}
    .modal-header h2{font-size:0;}
}
@media (max-width:320px){
    .fixed_btn .f-item{width:auto; font-size:0.85em; gap:5px;}
    .fixed_btn .f-item:not(.btn-video){width:36px;}
    .fixed_btn .btn-video span strong{font-size:10px;}
}