/* ----------------------------------------------------
   1. °øÅë ¹× Å¸ÀÌÆ² ¿µ¿ª 
---------------------------------------------------- */
.all { 
    border: 1px solid #e0e0e0; 
}
.calsTitle {
    font-size: 42px; 
    font-weight: 700; 
    color: #111111;
    letter-spacing: -1px;
}

@media only screen and (max-width: 960px){
    .calsTitle { font-size: 30px; }
}

/* ----------------------------------------------------
   2. Å×ÀÌºí ·¹ÀÌ¾Æ¿ô ÃÊ±âÈ­ 
---------------------------------------------------- */
.tableOnly { 
    width: 100%; 
    border-collapse: collapse; 
    border: 0; 
    table-layout: fixed; /* ¿äÀÏ ¿µ¿ª ³Êºñ °­Á¦ °íÁ¤ */
}
.tableOnly td { 
    padding: 0; 
    transform: none; 
}

.cTable { 
    width: 100%; 
    border-collapse: collapse; 
    border-top: 2px solid #222; 
    table-layout: fixed; /* ³¯Â¥ ¿µ¿ª ³Êºñ °­Á¦ °íÁ¤ */
}
.cTable th, 
.cTable td { border: 1px solid #e5e5e5; }
.cTable td table td { border: 0; }
.cTable td:before { display: none; }

/* ----------------------------------------------------
   3. ¿äÀÏ(Week) Çì´õ ¹Ù (ÀÌ¹ÌÁö »ö»ó ¸ÅÄª)
---------------------------------------------------- */
.week {
    background-color: #f8f9fa !important;
    font-size: 15px;
    font-weight: 600;
    width: 14.28%; /* Á¤È®È÷ 7µîºÐ */
    height: 50px;
    text-align: center;
    vertical-align: middle; /* ¼¼·Î Áß¾Ó Á¤·Ä È®½ÇÇÏ°Ô Ãß°¡ */
    border: none !important;
    border-bottom: 1px solid #e5e5e5 !important;
    color: #444 !important;
}

/* ÁÖ¸» ÅØ½ºÆ® »ö»ó Æ÷ÀÎÆ® */
.week:nth-child(1) { color: #e53e3e !important; }
.week:nth-child(7) { color: #3182ce !important; }

/* ----------------------------------------------------
   4. ³¯Â¥ ¼ýÀÚ ½ºÅ¸ÀÏ (ÀÏ¹Ý, Åä, ÀÏ/°øÈÞÀÏ, ÀÌÀü/´ÙÀ½´Þ)
---------------------------------------------------- */
.sholy, .ssat, .snum, .snum2 {
    display: inline-block;
    font-size: 16px;
    text-decoration: none;
    font-weight: 500;
    padding: 8px 10px;
}

/* ÈÞÀÏ (ÀÏ¿äÀÏ Æ÷ÇÔ) */
.sholy, .sholy:link, .sholy:visited { color: #f47a1c; }
.sholy:hover, .sholy:active { color: #f47a1c; font-weight: 700; }

/* Åä¿äÀÏ */
.ssat, .ssat:link, .ssat:visited { color: #348ad4; }
.ssat:hover, .ssat:active { color: #348ad4; font-weight: 700; }

/* ÆòÀÏ */
.snum, .snum:link, .snum:visited { color: #444444; }
.snum:hover, .snum:active { color: #111111; font-weight: 700; }

/* ÀÌÀü/´ÙÀ½ ´Þ ³¯Â¥ */
.snum2, .snum2:link, .snum2:visited { color: #bbbbbb; }
.snum2:hover, .snum2:active { color: #888888; }

/* ----------------------------------------------------
   5. ½ºÄÉÁÙ(ÀÏÁ¤) ÀÔ·Â ¹Ú½º
---------------------------------------------------- */
.scBox {
    word-break: break-all;
    line-height: 1.4;
    font-size: 14px;
    width: 100%;
    padding: 6px 10px;
    margin-bottom: 2px;
    border: 1px solid transparent;
    box-sizing: border-box;
    border-radius: 4px; /* »ìÂ¦ µÕ±Ù ¸ð¼­¸®·Î ºÎµå·¯¿î ´À³¦ ºÎ¿© */
    color: #333;
    transition: all 0.2s ease;
}

.scBox:hover {
    border: 1px solid #002282; /* »çÀÌÆ® ¸ÞÀÎ ³×ÀÌºñ ÄÃ·¯·Î Æ÷ÀÎÆ® */
    background: #f4f6fa;
    cursor: pointer;
}


/* ----------------------------------------------------
   ´Þ·Â »ó´Ü ³×ºñ°ÔÀÌ¼Ç ¹öÆ° (ÀÌÀü´Þ, ´ÙÀ½´Þ)
---------------------------------------------------- */
.cal-nav-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid #e5e5e5;
    border-radius: 50%; /* µÕ±Ù ¹öÆ° ÇüÅÂ */
    color: #666;
    background-color: #fff;
    transition: all 0.2s ease;
    text-decoration: none;
    cursor: pointer;
}

.cal-nav-btn:hover {
    background-color: #002282; /* ¶óÀÌ¿Â½º ³×ÀÌºñ ÄÃ·¯·Î È£¹ö Æ÷ÀÎÆ® */
    color: #fff;
    border-color: #002282;
}

.calsTitle {
    font-size: 36px;
    font-weight: 700;
    color: #111;
    letter-spacing: -1px;
}


/* °æÁ¶»ç ºÓÀº µ¿±×¶ó¹Ì '°æ' ¹èÁö ½ºÅ¸ÀÏ */
.badge-gyung {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background-color: #ff4d4d; /* ºÓÀº»ö ¹è°æ */
    color: #ffffff;            /* Èò»ö ±Û¾¾ */
    font-size: 11px;
    font-weight: bold;
    border-radius: 50%;        /* µ¿±×¶ó¹Ì ÇüÅÂ */
    vertical-align: middle;
}

/* ----------------------------------------------------
   ¸ð¹ÙÀÏ ¹ÝÀÀÇü ´Þ·Â ÃÖÀûÈ­ ½ºÅ¸ÀÏ
---------------------------------------------------- */
@media only screen and (max-width: 960px) {
    /* Å×ÀÌºí ·¹ÀÌ¾Æ¿ô °íÁ¤ */
    .tableOnly {
        table-layout: fixed;
    }
    
    .week {
        font-size: 12px !important;
        height: 35px !important;
    }

    .sholy, .ssat, .snum, .snum2 {
        font-size: 12px !important;
        padding: 2px 4px !important;
    }

    .cTable td {
        padding: 2px 1px !important;
        vertical-align: top !important;
    }

    /* ÀÏÁ¤ ¹Ú½º: ¹è°æ ¾øÀÌ ÀÚ¿¬½º·¯¿î ÁÙ¹Ù²Þ ¹× Ä­ ¿À¹öÇÃ·Î¿ì ¹æÁö */
    .scBox {
        font-size: 10px !important;          /* ¸ð¹ÙÀÏ¿¡ ¸Â´Â ¾Æ´ãÇÑ ÆùÆ® Å©±â */
        padding: 1px 2px !important;
        margin-bottom: 3px;
        background: none !important;         /* ÆÄ¶õ»ö ¹è°æ Á¦°Å */
        color: #333 !important;              /* ±ÛÀÚ»ö º»·¡ »ö»óÀ¸·Î */
        border: none !important;
        white-space: normal !important;      /* °­Á¦ ÁÙ¹Ù²Þ Çã¿ë */
        word-break: break-all !important;    /* ±ä ´Ü¾îµµ Ä­À» ³ÑÁö ¾Ê°í ÁÙ¹Ù²Þ */
        overflow-wrap: break-word !important;
        line-height: 1.2 !important;         /* ÁÙ °£°Ý Á¼°Ô Á¶Á¤ */
    }
    
    /* °æÁ¶»ç '°æ' ¹èÁö ½ºÅ¸ÀÏ */
    .badge-gyung {
        width: 13px !important;
        height: 13px !important;
        font-size: 8px !important;
        background-color: #ff4d4d !important;
        color: #fff !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
    }

    .calsTitle {
        font-size: 22px !important;
    }
}