/*
Theme Name: Beaver Builder Child Theme
Theme URI: https://www.wpbeaverbuilder.com
Version: 1.0
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: https://www.fastlinemedia.com
template: bb-theme
*/

/* Add your custom styles here...Remember to change the Version number above! */ 


/* 갤러리 */
/* =====================================================
   1. HIDE UNNECESSARY KBOARD ELEMENTS
===================================================== */
#kboard-thumbnail-list .kboard-thumbnail-poweredby,
#kboard-thumbnail-list .kboard-list table .kboard-list-uid,
#kboard-thumbnail-list .kboard-list table .kboard-list-user,
#kboard-thumbnail-list .kboard-list table .kboard-list-vote,
#kboard-thumbnail-list .kboard-list table .kboard-list-view,
#board_latest #kboard-thumbnail-latest table thead,
#kboard-thumbnail-list .kboard-list-header,
#kboard-thumbnail-list #kboard-thumbnail-latest > table > thead,
#kboard-thumbnail-list .kboard-list thead,
#kboard-thumbnail-list .kboard-search,
#kboard-thumbnail-list .kboard-thumbnail-new-notify,
.kboard-thumbnail-poweredby{
    display: none !important;
}

/* =====================================================
   2. FORCE FULL WIDTH (CRITICAL)
===================================================== */
#kboard-thumbnail-list,
#kboard-thumbnail-list .kboard-list,
#kboard-thumbnail-list .kboard-content{
    width: 100% !important;
    max-width: 100% !important;
}

#kboard-thumbnail-list .kboard-list table{
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed;
    border-collapse: collapse;
}

/* =====================================================
   3. FLEX GRID (3 COLUMNS, FULL WIDTH)
===================================================== */
#kboard-thumbnail-list table tbody{
    display: flex;
    flex-wrap: wrap;
    gap: 30px 25px;
    width: 100%;
}

#kboard-thumbnail-list table tr{
    display: flex;
    flex-direction: column;
    width: calc((100% - 50px) / 3);
    box-sizing: border-box;
    align-items: stretch;        /* IMPORTANT */
    background: transparent !important;
    padding: 5px;
}

/* remove ALL hover background bleed */
#kboard-thumbnail-list table tr:hover,
#kboard-thumbnail-list table tr:hover td{
    background: transparent !important;
}

/* =====================================================
   4. TABLE CELL RESET (REMOVE TABLE BEHAVIOR)
===================================================== */
#kboard-thumbnail-list table tr td{
    display: block;              /* KEY */
    width: 100%;
    border: none;
    padding: 0;
    text-align: left;
}

/* =====================================================
   5. THUMBNAIL — SAME SIZE AS TR (FIXED)
===================================================== */
#kboard-thumbnail-list table tr > td.kboard-list-thumbnail{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    align-self: stretch;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;

    
}

/* thumbnail link */
#kboard-thumbnail-list table td.kboard-list-thumbnail a{
    display: block;
    width: 100%;
    height: 100%;
}

/* thumbnail image */
#kboard-thumbnail-list table td.kboard-list-thumbnail img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 0px solid #fff;
    border-radius: 12px;
}

/* =====================================================
   6. CONTENT SPACING
===================================================== */
#kboard-thumbnail-list .kboard-list table td.kboard-list-title,
#kboard-thumbnail-list .kboard-list table td.kboard-list-date{
    padding: 5px 10px 0;
}

/* title */
#kboard-thumbnail-list .kboard-list table td.kboard-list-title a{
    display: block;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.35;
    letter-spacing: -0.02em;
    color: #231815;
    font-family: 'Pretendard', sans-serif !important;
	padding-top: 0px;
}

/*  Serial Number */
#kboard-thumbnail-list .kboard-list tbody td.kboard-list-sn{
    text-align: left;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.6;
    color: #62727C;
    padding: 10px;
    padding-bottom: 0px;
    font-family: 'Pretendard', sans-serif !important;
}

/*  Price */
#kboard-thumbnail-list .kboard-list tbody td.kboard-list-price{
    text-align: right;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.6;
    color: #62727C;
    padding: 10px;
    padding-bottom: 0px;
    font-family: 'Pretendard', sans-serif !important;
}

/* title ellipsis */
#kboard-thumbnail-list .kboard-list table td.kboard-list-title .kboard-thumbnail-cut-strings{
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* date */
#kboard-thumbnail-list .kboard-list table td.kboard-list-date{
    font-weight: 400;
    font-size: 16px;
    line-height: 1.6;
    color: #666;
    padding-bottom: 10px;
    font-family: 'Pretendard', sans-serif !important;
}

/* =====================================================
   7. PAGINATION
===================================================== */
#kboard-thumbnail-list .kboard-pagination{
    padding: 90px 0 0;
}

}
#kboard-thumbnail-list .kboard-pagination .kboard-pagination-pages li {
  padding: 5px;
  border: 1px solid #dddddd;
  border-radius: 8px;
}

#kboard-thumbnail-list .kboard-pagination .kboard-pagination-pages li a{
    background-color: transparent !important;
    color: #6D7681 !important;
    font-weight: 400;
    font-size: 16px;
    height: 36px;
    padding: 4px 11px;
    border: 1px solid #dddddd !important;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}

#kboard-thumbnail-list .kboard-pagination .kboard-pagination-pages li.active a{
    color: #FFF !important;
    background: #E81F18 !important;
    border-color: 1px solid #E81F18;
    border-radius: 4px;
}

/* =====================================================
   8. MOBILE CONTENT OFF
===================================================== */
.kboard-mobile-contents{
    display: none !important;
}

/* =====================================================
   9. BUTTON
===================================================== */
a.kboard-thumbnail-button-small,
input.kboard-thumbnail-button-small,
button.kboard-thumbnail-button-small{
    display: inline-flex;
    height: 40px;
    padding: 0 14px;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    background-color: #009273 !important;
    font-size: 16px;
    font-weight: 400;
}

/* =========================================
   KBOARD THUMBNAIL HARD OVERRIDE (REAL FIX)
========================================= */

/* TABLE 구조 완전 해체 */
#kboard-thumbnail-list table,
#kboard-thumbnail-list tbody,
#kboard-thumbnail-list tr,
#kboard-thumbnail-list td{
    display: block !important;
    width: 100% !important;
}

/* 3 column grid */
#kboard-thumbnail-list tbody{
    display: flex !important;
    flex-wrap: wrap;
    gap: 25px;
}

/* each item */
#kboard-thumbnail-list tbody tr{
    width: calc((100% - 50px) / 3) !important;
    margin: 0 !important;
    background: none !important;
}

/* hover background 제거 */
#kboard-thumbnail-list tbody tr:hover{
    background: transparent !important;
}

/* thumbnail cell */
#kboard-thumbnail-list td.kboard-list-thumbnail{
    width: 100% !important;
}

/* kill 130px span */
#kboard-thumbnail-list .kboard-thumbnail,
#kboard-thumbnail-list .kboard-thumbnail span{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* thumbnail ratio */
#kboard-thumbnail-list td.kboard-list-thumbnail{
    aspect-ratio: 5 / 5;
    overflow: hidden;
}

/* image HARD override */
#kboard-thumbnail-list img{
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover;
    display: block;
}

/* link fill */
#kboard-thumbnail-list td.kboard-list-thumbnail a{
    display: block;
    width: 100%;
    height: 100%;
}

/* =========================================
   KBOARD THUMBNAIL RESPONSIVE
========================================= */

/* Tablet – 2 columns */
@media (max-width: 1024px){
    #kboard-thumbnail-list tbody tr{
        width: calc((100% - 25px) / 2) !important;
    }
}

/* Mobile – 1 column */
@media (max-width: 640px){
    #kboard-thumbnail-list tbody{
        gap: 20px;
    }

    #kboard-thumbnail-list tbody tr{
        width: 100% !important;
    }

    /* text size tuning */
    #kboard-thumbnail-list .kboard-list table td.kboard-list-title a{
        font-size: 18px;
    }

    #kboard-thumbnail-list .kboard-list table td.kboard-list-date{
        font-size: 15px;
    }
}

/* 공지사항 */
/* =====================================================
   1. HIDE UNNECESSARY KBOARD ELEMENTS
===================================================== */
#notice #kboard-default-list .kboard-default-poweredby,
#notice #kboard-default-list .kboard-list .kboard-list-user,
#notice #kboard-default-list .kboard-list .kboard-list-vote,
#notice #kboard-default-list .kboard-list .kboard-list-view,
#notice #kboard-default-list .kboard-list-header .kboard-total-count,
#notice #kboard-default-list .kboard-list-header .kboard-sort,
#notice #kboard-document #kboard-default-document .kboard-default-poweredby
{
    display: none !important;
}

#notice #kboard-default-list .kboard-list thead {
    height: 55px !important;
    background: #fafafa !important;
    border-top: 2px solid #747474;
}

/* =====================================================
   Ntice PAGINATION
===================================================== */
#notice #kboard-default-list .kboard-pagination{
    padding: 90px 0 0;
    margin-bottom: 25px;
}

}
#notice #kboard-default-list .kboard-pagination .kboard-pagination-pages li {
  padding: 5px;
  border: 1px solid #dddddd;
  border-radius: 8px;
}

#notice #kboard-default-list .kboard-pagination .kboard-pagination-pages li a{
    background-color: transparent !important;
    color: #6D7681 !important;
    font-weight: 400;
    font-size: 16px;
    height: 36px;
    padding: 4px 11px;
    border: 1px solid #dddddd !important;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}

#notice #kboard-default-list .kboard-pagination .kboard-pagination-pages li.active a{
    color: #FFF !important;
    background: #E81F18 !important;
    border-color: 1px solid #E81F18;
    border-radius: 4px;
}
#notice #kboard-default-list .kboard-search {
    text-align: right;
}