#bo_sch {margin-top:20px; margin-bottom:20px; padding:17px 0 17px;text-align:center; border:1px solid #dbdbdb;
    background:#f7f7f7 url('../images/skin/search_box/bg.gif') no-repeat 80px center;}
#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
#bo_list_total {float:left;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;}

.container {display: grid; grid-template-columns: repeat(auto-fill, minmax(25%, auto));}


a.btn_b05,.btn_b05 {display:inline-block;background: #278507;padding:0 10px;color:#fff;text-decoration:none;border:0;vertical-align:middle;border-radius:5px;}
a.btn_b05:hover, .btn_b05:hover {background:#65c345}
a.btn_b07,.btn_b07 {display:inline-block;background: #558ed5;padding:0 10px;color:#fff;text-decoration:none;border:0;vertical-align:middle;border-radius:5px;}
a.btn_b07:hover, .btn_b07:hover {background:#95bbeb}
/* #text h2 {padding:10px 10px; border-radius:5px; background:#6cb16c; font-size:13px; color:#fff;width:100px;text-align: center;} */

#toy_view {overflow:hidden;}
#toy_view {}
#toy_view .thumbnail {position:relative; float:left; padding:10px; width:270px;height:300px; text-align:center; border:2px solid #e3e3e3; background:#fff;-moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; behavior:url(PIE.htc);}
#toy_view .thumbnail img {margin-top:40px; width:200px;}
#toy_view .thumbnail span {display:inline-block;position:absolute;left:0px;top:0; background:red; padding:10px 20px;}
#toy_view dl {float:right; width:610px; margin:0;}
#toy_view dl dt {margin:7px 0 10px; height:50px; line-height:1.5em; font-weight:bold; font-size:20px; word-break:keep-all;}
#toy_view dl dd {background:none; padding:0; margin:0;}
/* 테이블 스타일 */
#toy_view .table_div {width:100%; border-top:2px dashed #8bbfc1; font-family:'Nanum Gothic';}
#toy_view .table_div table {width:100%; border-collapse:collapse;}
#toy_view .table_div table tbody th {border-bottom:1px solid #cccccc; padding:10px; color:#457a92; text-align:center; background:#e9f0f4;width:70px;}
#toy_view .table_div table tbody td {border-bottom:1px solid #cccccc; padding:10px; line-height:1.6em; word-break:keep-all;}
/* 글자 스타일 */
#toy_view .branch strong {padding:5px 10px; color:#fff; background:#539cd5;}
#toy_view .available {font-size:1.2em; background:#fff9ea;}
#toy_view .available strong {color:red;}

.tbl_frm01 table th {width:120px;text-align: right;padding:5px;}
.tbl_frm01 table td {text-align: left; height:50px;}
#text ul li {font-size: 0.9em;}

#text .item {border:1px solid #ccc; padding:15px; margin:0 20px 20px 0;}
#text .item img {width:100%;}
#text .item dt {color:#313131}
#text .item dl {margin-top:20px;}
#text .item dl dt {text-align:center; padding:0 5px; margin-bottom:10px; height:60px;}
#text .item dl a {font-size:1.2em; }

#text #topBanner {width:900px; margin-bottom:50px; border:1px solid #dadada; border-radius:15px;
    background:#fffcf4 url(/images/sub/common/topBanner_bg_btm.gif) no-repeat left bottom;}
#text #topBanner dl {min-height:200px; padding:40px 50px 20px 140px; border-radius:15px; background:url(/images/sub/common/topBanner_bg_top.gif) no-repeat left top;}
#text #topBanner dl dt {margin-bottom:10px; font-family:'NanumSquare'; font-size:26px; font-weight:bold; color:#444;}
#text #topBanner dl dd {padding-left:0; background:none; font-family:'NanumGothic'; font-size:15px; color:#666; word-break:keep-all;}
#text #topBanner dd {margin-bottom:15px;}
#text #topBanner .btn_go_link a {padding:10px 10px; border-radius:5px; background:#6abd6a; font-size:13px; color:#fff;}



/* 달력 스타일 */
.calendar_box {clear:both; border:1px solid #dadada;}
.calendar_title {overflow:hidden; width:100%;}
/*.calendar_title img {float:left; margin:18px;}*/
.calendar_title div {float:right;overflow:hidden;margin-right:12px;padding-top:30px; padding-right:100px;}
.calendar_title div .cls_ym {font-size:1.5em;font-weight:bold;color:#2E9AFE;}

.calendar_title div p {float:left;color:#ef743e; font-size:25px;font-weight:bold;margin-right:22px;line-height:80px;}
.calendar_title div select {float:right;margin-top:30px;color:#7e7e7e;}
#bo_list table {border-collapse:collapse; word-break:keep-all;}
#bo_list table thead tr {background:#ececec}
#bo_list table thead tr th {height:35px;border:1px solid #dadada;}
#bo_list table thead tr th.sun {color:#d80101}
#bo_list table thead tr th.sat {color:#4567d7}
#bo_list table tbody tr td {padding:6px; border:1px solid #dadada; color:#7f7f7f;}
#bo_list table tbody tr td img.week_info {position:relative;left:0;top:40px;border:0;}
#bo_list table tbody tr td div {overflow:hidden;margin-top:3px;margin-bottom:5px;font-weight:normal;}
#bo_list table .my_info {float:right; font-size:11px; color:#434343;line-height:15px;}
#bo_list table .my_info span {display:block; text-align:right; margin-bottom:0px}


/* Calendar cell base styles */
.calendar-cell {
    position: relative;
    min-height: 80px;
    padding: 8px;
}

/* Common button base styles */
.cal-btn {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 14px;
    text-align: center;
    transition: all 0.2s ease;
    margin-top: 4px;
    width: 100%;
    box-sizing: border-box;
}

/* Rental available button - clickable */
.btn-rental-available {
    background-color: #4a90e2;
    color: white;
    border: 1px solid #357abd;
    cursor: pointer;
}

.btn-rental-available:hover {
    background-color: #357abd;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.btn-rental-available:active {
    transform: translateY(0);
    box-shadow: none;
}

/* Rental closed status - non-clickable */
.status-rental-closed {
    background-color: #9e9e9e;
    color: white;
    border: 1px solid #7e7e7e;
    cursor: default;
    opacity: 0.8;
}

/* Return day indicator - informational */
.status-return-day {
    background-color: #f5f5f5;
    color: #666;
    border: 1px solid #ddd;
    font-weight: normal;
    cursor: default;
}

/* Deadline indicator - informational */
.status-deadline {
    background-color: #f8f9fa;
    color: #999;
    border: 1px dashed #ddd;
    font-style: italic;
    cursor: default;
}

/* Specific implementations */
.btn_b07 {  /* 대여가능 */
    composes: cal-btn btn-rental-available;
}

.btn_b01 {  /* 대여마감 */
    composes: cal-btn status-rental-closed;
}

.btn_b03 {  /* 반납 */
    composes: cal-btn status-return-day;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
    .cal-btn {
        padding: 4px 8px;
        font-size: 12px;
    }

    .calendar-cell {
        min-height: 60px;
        padding: 4px;
    }
}

/* 달력 셀 내부 컨텐츠 스타일 */
.calendar-content {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* 날짜 숫자 스타일 */
.date-number {
    width: 100%;
    text-align: center;
    padding-top: 5px;
}
.holiday-text {
    width: 100%;
    text-align: center;
    font-size: 11px;
    color: #E75A53;
    margin: 2px 0;
}

/* 대여 버튼이 있는 셀들의 테두리 처리 */
.thu:not(:has(.status-rental-closed)):not(:has(.btn-rental-available)) {
    border-right: 1px solid #dadada !important;
}

.fri:not(:has(.status-rental-closed)):not(:has(.btn-rental-available)) {
    border-left: 1px solid #dadada !important;
    border-right: 1px solid #dadada !important;
}

.sat:not(:has(.status-rental-closed)):not(:has(.btn-rental-available)) {
    border-left: 1px solid #dadada !important;
}

.thu:has(.status-rental-closed), .thu:has(.btn-rental-available) {
    border-right: none !important;
}

.fri:has(.status-rental-closed), .fri:has(.btn-rental-available) {
    border-right: none !important;
    border-left: none !important;
}

.sat:has(.status-rental-closed), .sat:has(.btn-rental-available) {
    border-left: none !important;
}

/* 버튼 스타일 */
.cal-btn {
    margin-top: auto;
    margin-bottom: 0;
}

/* apply.php 대여가능시간 */
.rental-time-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.time-section {
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: 10px;
    margin: 5px 0;
}

.time-section.past-day {
    background-color: #f5f5f5;
}

.day-label {
    font-weight: bold;
    margin-bottom: 8px;
    padding-bottom: 5px;
    border-bottom: 1px solid #eee;
}

.time-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.time-option {
    display: flex;
    align-items: center;
    margin-right: 15px;
}

.time-option.unavailable label {
    color: #999;
    text-decoration: line-through;
}

.time-option input[type="radio"] {
    margin-right: 5px;
}

.time-option input[type="radio"]:disabled + label {
    cursor: not-allowed;
}

/* 반납가능시간 */
.return-time-options {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.return-time-options .time-option {
    display: flex;
    align-items: center;
}

.return-time-options input[type="radio"] {
    margin-right: 5px;
}

.return-time-options label {
    cursor: pointer;
}
img.dol-garo { width:173px; height:128px; }
img.dol-sero { width:171px; height:232px; }