@import url('https://fonts.googleapis.com/css2?family=Nanum+Pen+Script&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Gothic+A1&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Black+Han+Sans&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Nanum+Brush+Script&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Dongle:wght@300;400&display=swap');
@font-face {
    font-family: 'Pretendard-Regular';
    src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
	letter-spacing:16px;
	font-size:14px;
}

/*Pretendard */
@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Thin.woff2') format('woff2');
    font-weight: 100;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraLight.woff2') format('woff2');
    font-weight: 200;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Light.woff2') format('woff2');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Regular.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Medium.woff2') format('woff2');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Bold.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Black.woff2') format('woff2');
    font-weight: 900;
    font-display: swap;
}
/*Pretendard */
body { padding:10px !important; font-weight:400; font-size:18px; line-height:28px;font-family:Pretendard; padding:10px; overflow-x: hidden },table{ border:0;box-sizing:border-box},li{box-sizing:border-box; list-style: none; margin:0; padding:0}
p {margin:0 !important; padding: 0 !important;}
div, ul, li { box-sizing:border-box; list-style: none; margin:0; padding:0;word-break: break-all;}
/*
table {width:100% !important ; border-collapse:collapse; margin:0 auto}  
table td {border:1px solid #ccc; border-collapse:collapse; padding:5px; } 
*/ 
.ori {}
.max100 { max-width:100% !important;  display: block;  margin-left: auto;  margin-right: auto; margin-bottom:10px } 
.width100 { max-width:100% !important; height:auto !important}

/* 4:3 ºñÀ² ÀÌ¹ÌÁö ½ºÅ¸ÀÏ */
            img.img-ratio-4-3 {
                aspect-ratio: 4 / 3;   /* °¡·Î 4 : ¼¼·Î 3 ºñÀ² °íÁ¤ */
                object-fit: cover;     /* ÀÌ¹ÌÁö°¡ Âî±×·¯ÁöÁö ¾Ê°í ²Ë Â÷°Ô ÀÚ¸§ */
                width: 100%;           /* °¡·ÎÆø ²Ë Ã¤¿ì±â (¼±ÅÃ»çÇ×) */
                height: auto;          /* ³ôÀÌ ÀÚµ¿ °è»ê */
                display: block;
            }

.table_red_borders { border:1px solid #F00 !important;}
/*.table_red_borders tr:first-child { background-color:#F66; color:#fff; font-weight:500; text-align:center}*/
.table_red_borders td {border:1px solid #F00 !important; border-collapse:collapse !important; padding:4px !important}

.fptitle { font-size:18px; font-weight:700; text-align:center; color:#F6C; padding:0}

.place_table2_imgtable { width:100% !important; margin:10px 0}
.place_table2_imgtable .place_table2_imgtable_td { width:50% !important ; padding:4px}
.place_table2_imgtable .place_table2_imgtable_td img { width:100% !important; }

.place_table3_imgtable { width:100% !important; margin:10px 0}
.place_table3_imgtable .place_table3_imgtable_td { width:33.3333% !important ; padding:4px}
.place_table3_imgtable .img1 {left-padding:0 !important}
.place_table3_imgtable .img3 {right-padding:0 !important}
.place_table3_imgtable td img { width:100% !important; }


.video-wrap { position:relative;padding-bottom:56.25%;height:0px;overflow:hidden; }
.video-wrap iframe { position:absolute;top:0;left:0;width:100%;height:100%; margin:0; padding:0; }

.il_time { display:flex; border:1px dotted #ccc; margin-bottom:8px}
.il_time1 { width:6%; text-align:center; border-right:1px dotted #ccc }
.il_time2 { width:94%; padding:0 8px }

.mymsg { width:70%; float:right; background-color:#FFC; border:1px solid #ccc; border-radius:12px; padding:8px}
.comsg { width:70%; float:left; background-color: #DEFAFA; border:1px solid #ccc; border-radius:12px; padding:8px}

.ainfo {width:350px}

/* ¸í¼Ò 3°³ */
.my03_wrap { width:100%; border:0; padding:0; margin:10px 0}
.my03 { display:flex; width:100%}
.my03 div { width:33.33%}
.my03 div:nth-child(1) {padding-right:4px}
.my03 div:nth-child(2) {padding-right:4px; padding-left:4px}
.my03 div:nth-child(3) {padding-left:4px}
.my03 div img {width:100%}
.my03_title { font-size:18px; font-weight:600; text-align:center; box-sizing:border-box}
@media (max-width: 768px) {
.my03 { display:block; width:100%}	
.my03 div {width:100% !important}
.my03 div:nth-child(1) {padding-right:0px; padding-bottom:8px}
.my03 div:nth-child(2) {padding-right:0px; padding-left:0px; padding-bottom:8px}
.my03 div:nth-child(3) {padding-left:0px; }	
.my03 div img {width:100%}
	}
	
/* ¸í¼Ò 2°³ */	
.my02_wrap { width:100%; border:0; padding:0; margin:10px 0}
.my02 { display:flex; width:100%}
.my02 div { width:50%}
.my02 div:nth-child(1) {padding-right:4px}
.my02 div:nth-child(2) {padding-left:4px}
.my02 div img {width:100%}
.my02_title { font-size:18px; font-weight:600; text-align:center; box-sizing:border-box}
@media (max-width: 768px) {
.my02 { display:block; width:100%}	
.my02 div {width:100% !important}
.my02 div:nth-child(1) {padding-right:0px; padding-bottom:8px}
.my02 div:nth-child(2) {padding-left:0px; }	
.my02 div img {width:100%}
}


/*ÀÏÁ¤Ç¥ ÄÁµ§Ã÷ */
.il_day_wrap { display:flex; margin:0 !important}
.il_day_wrap ul.il_ul_att {border-right:1px dotted #ccc; border-bottom:1px dotted #ccc;}
.il_day_wrap ul.il_ul_cont {border-right:1px dotted #ccc; border-bottom:1px dotted #ccc;}
.il_day_wrap li.att_1 {border-top:1px dotted #ccc; border-left:1px dotted #ccc; padding:8px; font-size:16px; }
.il_day_wrap li.att_2 {border-top:1px dotted #ccc; border-left:1px dotted #ccc; padding:8px; font-size:16px; }
.il_day_wrap li.att_3 {border-top:1px dotted #ccc; border-left:1px dotted #ccc; padding:8px; font-size:16px; }
.il_day_wrap li.att_4 {border-top:1px dotted #ccc; border-left:1px dotted #ccc; padding:8px; font-size:16px; }

.il_ul_att {width:300px;display:flex}
.il_ul_att li.att_1 {width:120px; text-align: center; }
.il_ul_att li.att_2 {width:100px; text-align: center; }
.il_ul_att li.att_3 {width:80px; text-align: center; }

.il_ul_cont {width:calc( 100% - 300px )}


@media (max-width: 768px) {
/*.il_day_wrap {display:block; margin-bottom:15px}
.il_day_wrap ul. {border-right:0; border-bottom:0;}
.il_day_wrap li.att_1 {border-top:0; border-left:0; padding:0px; font-size:16px; line-height:28px }
.il_day_wrap li.att_2 {border-top:0; border-left:0; padding:0px; font-size:16px; line-height:28px }
.il_day_wrap li.att_3 {border-top:0; border-left:0; padding:0px; font-size:16px; line-height:28px }
.il_day_wrap li.att_4 {border-top:0; border-left:0; padding:0px; font-size:16px; line-height:28px }

.il_ul_att {width:100%;display:flex}
.il_ul_att li.att_1 {width:auto; margin-right:15px; border-radius:8px; background-color:#CFF; padding:0px 8px;}
.il_ul_att li.att_2 {width:auto; margin-right:15px; border-radius:8px; background-color:#CFF; padding:0px 8px;}
.il_ul_att li.att_3 {width:auto; border-radius:8px; background-color:#CFF; padding:0px 8px;display:block}

.il_ul_cont {width:100%}*/
}


/* µ¶¸³ÀûÀÎ ÄÄÆ÷³ÍÆ®¸¦ À§ÇÑ ½ºÅ¸ÀÏ */
.ticket-card {
    /* [º¯¼ö Áö¿ªÈ­] ÀÌ ÄÄÆ÷³ÍÆ® ¾È¿¡¼­¸¸ À¯È¿ÇÑ º¯¼öµéÀÔ´Ï´Ù */
    --tc-primary: #5E35B1; 
    --tc-accent: #8BC34A;
    --tc-text-main: #111827;
    --tc-text-sub: #6B7280;
    --tc-bg: #F3F4F6;
    --tc-card-bg: #FFFFFF;

    /* [±âº» ¼³Á¤] Ä«µå ÀÚÃ¼ÀÇ Å©±â¿Í ÆùÆ® */
    font-family: 'Pretendard', sans-serif;
    background-color: var(--tc-card-bg);
    width: 380px;
    border-radius: 24px;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    padding: 30px;
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease;
    
    /* ¿ÜºÎ ¸¶Áø ¸®¼ÂÀÌ ÇÊ¿äÇÏ´Ù¸é ¾Æ·¡ ÁÖ¼® ÇØÁ¦ */
    /* margin: 0 auto; */
    box-sizing: border-box;
}

/* [³»ºÎ ¸®¼Â] Ä«µå ³»ºÎ ¿ä¼ÒµéÀÌ ¿ÜºÎ CSSÀÇ ¿µÇâÀ» ´ú ¹Þµµ·Ï ¼³Á¤ */
.ticket-card *, 
.ticket-card *::before, 
.ticket-card *::after {
    box-sizing: border-box;
}

.ticket-card:hover {
    transform: translateY(-5px);
}

/* »ó´Ü Àå½Ä ¹Ù */
.ticket-card .top-deco {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 6px;
    background: linear-gradient(90deg, var(--tc-accent), var(--tc-primary));
}

/* Çì´õ ¿µ¿ª */
.ticket-card .header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

.ticket-card .airline-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    background-color: #F0FDF4;
    padding: 6px 12px;
    border-radius: 20px;
    color: #166534;
    font-weight: 700;
    font-size: 13px;
    line-height: 1.5; /* ÁÙ°£°Ý ¸í½Ã */
}

.ticket-card .flight-num {
    font-size: 14px;
    color: var(--tc-text-sub);
    font-weight: 500;
    letter-spacing: 0.5px;
}

/* °æ·Î ÄÁÅ×ÀÌ³Ê */
.ticket-card .route-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.ticket-card .city-info {
    display: flex;
    flex-direction: column;
    min-width: 80px;
}
.ticket-card .city-info.dep { text-align: left; }
.ticket-card .city-info.arr { text-align: right; }

.ticket-card .time {
    font-size: 36px;
    font-weight: 800;
    color: var(--tc-text-main);
    line-height: 1.1;
    letter-spacing: -1px;
    margin: 0; /* ¿ÜºÎ ¸¶Áø Á¦°Å */
}

.ticket-card .code {
    font-size: 14px;
    color: var(--tc-text-sub);
    font-weight: 600;
    margin-top: 4px;
}

.ticket-card .name {
    font-size: 13px;
    color: #9CA3AF;
    margin-top: 2px;
    font-weight: 500;
}

/* ºñÇà °æ·Î ½Ã°¢È­ */
.ticket-card .path-visual {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 15px;
    position: relative;
}

.ticket-card .duration {
    font-size: 12px;
    color: var(--tc-primary);
    background-color: #EDE9FE;
    padding: 2px 8px;
    border-radius: 12px;
    font-weight: 600;
    margin-bottom: 8px;
}

.ticket-card .path-line-container {
    width: 100%;
    position: relative;
    height: 2px;
    background-color: #E5E7EB;
    margin-top: 5px;
}

.ticket-card .path-plane-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--tc-primary);
    font-size: 14px;
    background-color: var(--tc-card-bg);
    padding: 0 5px;
}

.ticket-card .path-dot {
    width: 6px;
    height: 6px;
    background-color: #D1D5DB;
    border-radius: 50%;
    position: absolute;
    top: -2px;
}
.ticket-card .path-dot.left { left: 0; }
.ticket-card .path-dot.right { right: 0; }

/* ±¸ºÐ¼± */
.ticket-card .divider {
    border-top: 1px dashed #E5E7EB;
    margin: 25px 0 20px 0;
    position: relative;
    width: 100%;
}

.ticket-card .divider::before, 
.ticket-card .divider::after {
    content: '';
    position: absolute;
    top: -10px;
    width: 20px;
    height: 20px;
    background-color: var(--tc-bg); /* ÁÖÀÇ: Ä«µå°¡ ³õÀÏ ¹è°æ»ö°ú ¸ÂÃç¾ß ÆÝÄª È¿°ú°¡ ³³´Ï´Ù */
    border-radius: 50%;
}
.ticket-card .divider::before { left: -40px; }
.ticket-card .divider::after { right: -40px; }

/* ÇÏ´Ü Á¤º¸ ¹× ·Î°í */
.ticket-card .footer-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    color: var(--tc-text-sub);
}

.ticket-card .footer-airline-logo {
    height: 24px;       /* ·Î°í ³ôÀÌ °íÁ¤ */
    width: auto;        /* ºñÀ² À¯Áö */
    object-fit: contain;
    display: block;     /* ÀÎ¶óÀÎ ¿ä¼Ò ¿©¹é Á¦°Å */
}