.rc-booking-calendar{margin:46px 0 36px;padding:28px;background:#f7f4ef;border:1px solid rgba(83,68,56,.16)}
.rc-booking-calendar-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:12px}
.rc-booking-calendar-head h3{margin:0;font-family:"Nanum Myeongjo",serif;font-size:25px;color:#453b33}
.rc-booking-calendar-head p{margin:0;color:#756b63;font-size:14px}
.rc-booking-legend{display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:18px;font-size:13px;color:#61574f}
.rc-booking-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.rc-booking-month{background:#fff;padding:18px;border:1px solid rgba(83,68,56,.14)}
.rc-booking-month h3{text-align:center;margin:0 0 13px;font-family:"Nanum Myeongjo",serif;font-size:20px;color:#493e35}
.rc-booking-weekdays,.rc-booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.rc-booking-weekdays{margin-bottom:5px}
.rc-booking-weekdays span{text-align:center;font-size:12px;font-weight:600;color:#756a61;padding:5px 0}
.rc-booking-weekdays span:first-child{color:#aa5454}
.rc-booking-day{min-height:58px;padding:7px 4px;border:1px solid #e1ddd6;background:#eef5ec;display:flex;flex-direction:column;justify-content:space-between;align-items:center}
.rc-booking-day b{font-size:14px;font-weight:600;color:#4e443c}
.rc-booking-day small{font-size:9px;color:#6e655d;white-space:nowrap}
.rc-booking-day.booked{background:#b96f58;border-color:#b96f58}
.rc-booking-day.booked b,.rc-booking-day.booked small,.rc-booking-day.closed b,.rc-booking-day.closed small{color:#fff}
.rc-booking-day.closed{background:#777;border-color:#777}
.rc-booking-day.past{background:#f2f0ed;border-color:#ece8e3;opacity:.5}
.rc-booking-day.empty{background:transparent;border-color:transparent}
@media(max-width:850px){
 .rc-booking-calendar{padding:18px 12px}
 .rc-booking-calendar-head{display:block}
 .rc-booking-calendar-head p{margin-top:7px}
 .rc-booking-legend{justify-content:flex-start;margin-top:14px}
 .rc-booking-months{grid-template-columns:1fr}
}
@media(max-width:480px){
 .rc-booking-month{padding:10px 7px}
 .rc-booking-weekdays,.rc-booking-days{gap:2px}
 .rc-booking-day{min-height:48px;padding:5px 1px}
 .rc-booking-day b{font-size:13px}
 .rc-booking-day small{font-size:8px}
}
.rc-booking-day .rc-price-old{text-decoration:line-through;color:#9a9189;font-size:8px;line-height:1.1}.rc-booking-day .rc-price-sale{color:#b23b32;font-weight:800;font-size:9px;line-height:1.1}.rc-booking-day .rc-price-sale em{font-style:normal;background:#b23b32;color:#fff;border-radius:8px;padding:1px 3px}.rc-booking-day .rc-price-normal{font-weight:700;color:#51473f;font-size:9px}
@media(max-width:600px){.rc-booking-day .rc-price-old{font-size:7px}.rc-booking-day .rc-price-sale,.rc-booking-day .rc-price-normal{font-size:7px}.rc-booking-day .rc-price-sale em{display:none}}

.rc-price-season{display:inline-block!important;width:max-content;margin:2px auto 0;padding:1px 5px;border-radius:999px;background:#8b5e3c;color:#fff;font-size:10px!important;font-style:normal;font-weight:700}

/* v4.2: 예약 가능과 성수기 표시를 명확히 분리 */
.rc-booking-day .rc-availability{font-size:8px;font-weight:700;color:#477047;line-height:1.05}
.rc-booking-day .rc-price-season{display:inline-block;padding:1px 5px;border-radius:9px;background:#c9972f;color:#fff;font-size:8px;font-weight:800;line-height:1.25;white-space:nowrap}
.rc-booking-day.booked .rc-availability,.rc-booking-day.closed .rc-availability{display:none}
@media(max-width:600px){.rc-booking-day .rc-availability,.rc-booking-day .rc-price-season{font-size:7px;padding:1px 3px}}

/* v5.8: 홈페이지 예약 달력 한 달 보기 + 월 이동 */
.rc-booking-calendar-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:12px 0 16px}
.rc-booking-current-label{text-align:center;font-family:"Nanum Myeongjo",serif;font-size:21px;color:#493e35;white-space:nowrap}
.rc-booking-nav-btn{border:1px solid rgba(83,68,56,.28);background:#fff;color:#51473f;border-radius:999px;padding:9px 15px;font:inherit;font-weight:700;cursor:pointer;transition:.15s ease}
.rc-booking-prev-month{justify-self:start}.rc-booking-next-month{justify-self:end}
.rc-booking-nav-btn:hover:not(:disabled){background:#51473f;color:#fff;transform:translateY(-1px)}
.rc-booking-nav-btn:disabled{opacity:.3;cursor:not-allowed}
.rc-booking-months{display:block;max-width:680px;margin:0 auto}
.rc-booking-month{width:100%}
.rc-booking-month h3{display:none}
.rc-booking-months.is-loading{opacity:.45;pointer-events:none}
@media(max-width:480px){.rc-booking-calendar-nav{gap:6px}.rc-booking-current-label{font-size:18px}.rc-booking-nav-btn{padding:8px 11px}.rc-booking-nav-btn span{display:none}}
.rc-booking-reserve-cta{text-align:center;margin:24px 0 0}.rc-booking-reserve-cta a{display:inline-block;padding:13px 25px;border-radius:999px;background:#5b4636;color:#fff;text-decoration:none;font-weight:800}


/* v7.8.20: 입실·퇴실 날짜 범위 선택 */
.rc-booking-date-link{position:relative;text-decoration:none;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.rc-booking-date-link:hover{transform:translateY(-1px);border-color:#9a7d63}
.rc-booking-date-link.is-selected-range{background:#e8dccd;border-color:#c6a98d;box-shadow:inset 0 0 0 1px rgba(112,79,51,.08)}
.rc-booking-date-link.is-selected-start,
.rc-booking-date-link.is-selected-end{background:#6d523d;border-color:#6d523d;box-shadow:0 4px 12px rgba(73,50,33,.18)}
.rc-booking-date-link.is-selected-start b,
.rc-booking-date-link.is-selected-start small,
.rc-booking-date-link.is-selected-end b,
.rc-booking-date-link.is-selected-end small{color:#fff!important}
.rc-booking-date-link.is-selected-start:after{content:"입실"}
.rc-booking-date-link.is-selected-end:after{content:"퇴실"}
.rc-booking-date-link.is-selected-start:after,
.rc-booking-date-link.is-selected-end:after{position:absolute;right:3px;top:3px;padding:1px 4px;border-radius:999px;background:rgba(255,255,255,.92);color:#5a4230;font-size:8px;font-weight:800;line-height:1.35}
.rc-booking-selection{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:18px auto 0;padding:13px 15px;max-width:680px;border:1px solid #d9c8b7;background:#fff;border-radius:12px;color:#4f4035}
.rc-booking-selection-label{font-size:14px;font-weight:700}
.rc-booking-selection-continue,.rc-booking-selection-reset{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 14px;border-radius:999px;font:inherit;font-size:13px;font-weight:800;cursor:pointer;text-decoration:none}
.rc-booking-selection-continue{background:#5b4636;color:#fff;border:1px solid #5b4636}
.rc-booking-selection-reset{background:#fff;color:#6c594a;border:1px solid #cdbba9}
.rc-booking-selection-continue[hidden],.rc-booking-selection-reset[hidden]{display:none!important}
.rc-booking-legend .selected:before{background:#6d523d}
@media(max-width:600px){
 .rc-booking-selection{display:grid;grid-template-columns:1fr 1fr;padding:11px 10px;gap:8px}
 .rc-booking-selection-label{grid-column:1/-1;text-align:center;font-size:13px}
 .rc-booking-selection-continue,.rc-booking-selection-reset{width:100%;padding:8px 10px}
}
