@charset "utf-8";

/* =========================================
   Base Styles (Unified with avifix.css)
   ========================================= */
#hotelcook * { box-sizing: border-box; }
#hotelcook { width: 100%; font-family: 'Noto Sans KR', sans-serif; color: #000; }
#hotelcook .new_design_wrapper { width: 100%; max-width: 1300px; margin: 0 auto; }
#hotelcook img { max-width: 100%; vertical-align: middle; }
#hotelcook 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 */
#hotelcook .new_title { font-size: 35px; font-weight: 500; text-align: center; margin-bottom: 56px; letter-spacing: -2.1px; }
#hotelcook .section_title_box { width: 100%; background-color: #e5eef7; border-radius: 10px; padding: 10px 30px; text-align: center; margin-bottom: 21px; }
#hotelcook .section_title { font-size: 26px; font-weight: 800; color: #355786; letter-spacing: -1.56px; }
#hotelcook .text_desc {font-size: 20px;font-weight: 500;letter-spacing: -1.2px;white-space: normal;word-break: keep-all;}
#hotelcook .text_desc p { margin-bottom: 0; }

/* Top Banner (Standard Layout) */
#hotelcook .top_banner_area { width: 100%; display: flex; justify-content: center; position: relative; margin-bottom: 70px; }
#hotelcook .banner_left { 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; padding: 27px 46px 30px 46px; }
#hotelcook .banner_right { width: auto; min-height: 336px; position: relative; display: flex; }
#hotelcook .banner_img { width: 565px; height: 100%; object-fit: cover; border-radius: 0 10px 10px 0; }
#hotelcook .banner_text_group { display: flex; flex-direction: column; gap: 27px; }
#hotelcook .banner_btn_group {position: absolute;bottom: 0;left: 0;display: flex;width: 100%;}
#hotelcook .banner_text_row { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 0; }
#hotelcook .dot_icon { width: 6px; height: 6px; background-color: #00346b; border-radius: 50%; margin-top: 10px; flex-shrink: 0; }
#hotelcook .btn_blue_light { background-color: #005ab0; flex: 1; 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: 700; cursor: pointer; gap: 12px; }
#hotelcook .btn_blue_dark { background-color: #00346b; flex: 1; height: 52px; display: flex; align-items: center; justify-content: center; padding: 0; color: #fff; font-size: 18px; font-weight: 700; cursor: pointer; gap: 12px; }
#hotelcook .btn_blue_dark a { color: #fff; text-decoration: none; }
#hotelcook .btn_icon_circle { width: 28px; height: 28px; background-color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
#hotelcook .btn_icon_img { width: 16px; height: 16px; }

/* Hotelcook Specific Layouts */

/* Curriculum Split (2 Columns) */
#hotelcook .curriculum_split { display: flex; gap: 20px; margin-bottom: 70px; }
#hotelcook .curriculum_split .text_desc{text-align: center; }
#hotelcook .curriculum_col { flex: 1; display: flex; flex-direction: column; gap: 10px; }
/* AI Food Circle (Special for Hotelcook) */
#hotelcook .ai_food_circle { position: absolute; left: 50%; top: 24px; transform: translateX(-50%); width: 140px; height: 140px; background-color: #fff; border: 10px solid rgba(0, 52, 107, 0.2); border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; z-index: 10; font-size: 18px; font-weight: 700; color: #00346b; word-break: keep-all; padding: 0; box-shadow: none; line-height: 1.2; }
#hotelcook .ai_food_circle span { display: block; }
#hotelcook .ai_row { display: flex; align-items: center; justify-content: center; gap: 3px; }
#hotelcook .dot_char { font-weight: 400; }


#hotelcook .major_title_box { background-color: rgba(0, 52, 107, 0.1); border-radius: 10px; padding: 8px 10px; text-align: center; }
#hotelcook .major_title { font-size: 22px; font-weight: 700; color: #00346b; letter-spacing: -1.32px; margin: 0; }

#hotelcook .curriculum_box {background-color: #fff;border: 1px solid #e4e6eb;border-radius: 10px;padding: 20px;min-height: 100px;display: flex;flex-direction: column;justify-content: center;text-align: left;height: 100%;}
#hotelcook .curriculum_box p { margin: 0; }

/* Certifications & Career */
#hotelcook .info_grid_row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-bottom: 20px; }
#hotelcook .info_box { background-color: #fff; border: 1px solid #e4e6eb; border-radius: 10px; padding: 20px; text-align: center; display: flex; align-items: center; justify-content: center; min-height: 80px; }

/* Experience Overview (2 Columns) */
#hotelcook .experience_grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; width: 100%; margin-bottom: 70px; }
#hotelcook .exp_card { background-color: #fff; border: 1px solid #e4e6eb; border-radius: 10px; padding: 20px 28px; min-height: 137px; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; text-align: left; gap: 10px; }
#hotelcook .exp_icon_area { width: 100%; display: flex; justify-content: flex-end; }
#hotelcook .exp_icon { height: 29px; width: auto; }

/* Practice Area (Unified) */
#hotelcook .practice_area { background-color: #e5eef7; padding: 51px 0; width: 100%; display: flex; justify-content: center; }
#hotelcook .practice_inner { width: 1300px; display: flex; justify-content: center; position: relative; }
#hotelcook .practice_slide {width: 100%;display: flex;flex-wrap: wrap;justify-content: flex-start;gap: 20px;}
#hotelcook .practice_card { width: calc((100% - 40px) / 3); 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; }
#hotelcook .practice_img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
#hotelcook .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) {
    #hotelcook .new_design_wrapper { width: 100%; padding: 0 20px; }
    #hotelcook .top_banner_area { height: auto; flex-direction: column; }
    #hotelcook .banner_left { width: 100%; height: auto; border-radius: 10px; padding: 30px 20px; }
    #hotelcook .banner_right { width: 100%; height: auto; }
    #hotelcook .banner_img { width: 100%; border-radius: 10px; }
    #hotelcook .banner_btn_group { position: static; flex-direction: column; width: 100%; }
    #hotelcook .btn_blue_light, #hotelcook .btn_blue_dark { width: 100%; border-radius: 5px; margin-bottom: 5px; flex: none; }
    
    #hotelcook .curriculum_split { flex-direction: column; }
    #hotelcook .info_grid_row { grid-template-columns: 1fr; }
    #hotelcook .ai_food_circle { position: relative; left: auto; top: auto; transform: none; margin: 20px auto; }
    
    #hotelcook .experience_grid { grid-template-columns: 1fr; }
    
    #hotelcook .practice_inner { width: 100%; padding: 0 20px; }
    #hotelcook .practice_card { width: calc(50% - 10px); max-width: none; }
}

@media screen and (max-width: 768px) {
    #hotelcook .text_desc { font-size: 16px; white-space: normal; }
    #hotelcook .practice_card { width: 100%; }
}
