@charset "utf-8";

/* =========================================
   Base Styles (Copied from garden_01.css/airhotel.css)
   ========================================= */
#avifix * { box-sizing: border-box; }
#avifix { width: 100%; font-family: 'Noto Sans KR', sans-serif; color: #000; }
#avifix .new_design_wrapper { width: 100%; max-width: 1300px; margin: 0 auto; }
#avifix img { max-width: 100%; vertical-align: middle; }
#avifix p { margin: 0; line-height: 1.5; }

/* Utilities */
.d-flex { display: flex; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.items-start { align-items: flex-start; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }

/* Typography */
#avifix .new_title { font-size: 35px; font-weight: 500; text-align: center; margin-bottom: 56px; letter-spacing: -2.1px; }
#avifix .section_title_box { width: 100%; background-color: #e5eef7; border-radius: 10px; padding: 10px 30px; text-align: center; margin-bottom: 21px; }
#avifix .section_title { font-size: 26px; font-weight: 800; color: #355786; letter-spacing: -1.56px; }
#avifix .text_desc {font-size: 20px;font-weight: 500;letter-spacing: -1.2px;white-space: normal;word-break: keep-all;}
#avifix .text_desc p { margin-bottom: 0; }

/* Top Banner (Standard Layout) */
#avifix .top_banner_area { width: 100%; display: flex; justify-content: center; position: relative; margin-bottom: 70px; }
#avifix .banner_left { width: 60%; flex: 1; min-height: 336px; background-color: rgba(0, 90, 176, 0.05); position: relative; border-radius: 10px 0 0 10px; display: flex; flex-direction: column; justify-content: space-between; }
#avifix .banner_right { width: 40%; min-height: 336px; position: relative; display: flex; }
#avifix .banner_img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 10px 10px 0; }
#avifix .banner_text_group {padding: 27px 46px 80px 46px;display: flex;flex-direction: column;gap: 5px;}
#avifix .banner_btn_group { position: relative; top: auto; left: auto; margin-top: auto; display: flex; width: 100%; }
#avifix .banner_text_row { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 10px; }
#avifix .dot_icon { width: 6px; height: 6px; background-color: #00346b; border-radius: 50%; margin-top: 10px; flex-shrink: 0; }
#avifix .btn_blue_light { background-color: #005ab0; width: 50%; height: 52px; display: flex; align-items: center; justify-content: center; padding: 0; border-radius: 0 0 0 10px; color: #fff; font-size: 18px; font-weight: 600; cursor: pointer; gap: 12px; }
#avifix .btn_blue_dark { background-color: #00346b; width: 50%; height: 52px; display: flex; align-items: center; justify-content: center; padding: 0; color: #fff; font-size: 18px; font-weight: 600; cursor: pointer; gap: 12px; }
#avifix .btn_blue_dark a { color: #fff; }
#avifix .btn_icon_circle { width: 28px; height: 28px; background-color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
#avifix .btn_icon_img { width: 16px; height: 16px; }
#avifix .btn_icon_img_lg { width: 16px; height: 16px; }

/* =========================================
   Avifix Specific Layouts
   ========================================= */

/* 5-Column Grid for Curriculum, Certificates, Career */
#avifix .curriculum_grid_row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; width: 100%; margin-bottom: 60px; }
#avifix .curriculum_grid_row.cols-3 { grid-template-columns: repeat(3, 1fr); }
#avifix .curriculum_box { background-color: #fff; border: 4px solid #e5eef7; border-radius: 10px; padding: 10px; height: 159px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
#avifix .curriculum_box_title { font-size: 22px; font-weight: 700; color: #00346b; letter-spacing: -1.32px; line-height: 1.3; }
#avifix .curriculum_box_title p { margin: 0; }

/* Experience Activities */
#avifix .experience_grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; width: 100%; margin-bottom: 72px; }
#avifix .exp_card {background-color: #fff;border: 1px solid #e4e6eb;border-radius: 10px;padding: 20px 28px;min-height: 195px;display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;text-align: left;gap: 20px;}
#avifix .exp_icon_area { width: 100%; display: flex; justify-content: flex-end; }
#avifix .exp_icon { height: 29px; width: auto; }

/* Practice Area (3 items per row in Figma) */
#avifix .practice_area { background-color: #e5eef7; padding: 51px 0; width: 100%; display: flex; justify-content: center; }
#avifix .practice_inner { width: 1300px; display: flex; justify-content: center; position: relative; }
#avifix .practice_slide { width: 100%; display: flex; flex-wrap: wrap; justify-content: center; gap: 17px; }
#avifix .practice_card { width: 422px; height: 300px; border-radius: 10px; position: relative; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.05); display: flex; flex-direction: column; justify-content: flex-end; }
#avifix .practice_img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
#avifix .practice_label { position: relative; z-index: 2; background-color: rgba(0, 52, 107, 0.7); color: #fff; font-size: 18px; font-weight: 700; text-align: center; padding: 8px 10px; border-radius: 0 0 10px 10px; }

/* Responsive */
@media screen and (max-width: 1300px) {
    #avifix .new_design_wrapper { width: 100%; padding: 0 20px; }
    #avifix .top_banner_area { height: auto; flex-direction: column; }
    #avifix .banner_left, #avifix .banner_right { width: 100%; height: auto; border-radius: 10px; }
    #avifix .banner_img { border-radius: 10px; }
    #avifix .banner_text_group { position: static; padding: 20px; }
    #avifix .banner_btn_group { position: static; flex-direction: column; width: 100%; }
    #avifix .btn_blue_light, #avifix .btn_blue_dark { width: 100%; border-radius: 5px; margin-bottom: 5px; padding: 10px; justify-content: center; }
    
    #avifix .curriculum_grid_row { grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 40px; }
    #avifix .curriculum_grid_row.cols-3 { grid-template-columns: repeat(2, 1fr); }
    #avifix .curriculum_box { height: auto; min-height: 159px; }
    
    #avifix .experience_grid { grid-template-columns: repeat(2, 1fr); margin-bottom: 40px; }
    
    #avifix .practice_inner { width: 100%; padding: 0 20px; }
    #avifix .practice_card { width: calc(50% - 10px); max-width: none; }
}

@media screen and (max-width: 768px) {
    #avifix .text_desc { font-size: 16px; white-space: normal; padding-right: 10px;}
    #avifix .curriculum_grid_row { grid-template-columns: 1fr; }
    #avifix .curriculum_grid_row.cols-3{grid-template-columns: 1fr;}
    #avifix .experience_grid { grid-template-columns: 1fr; }
    #avifix .practice_card { width: 100%; }
}
