@import url('https://cdn.jsdelivr.net/npm/vanilla-calendar-pro@3.1.0/styles/layout.css');

/* 달력 셀을 다시 그릴 때 브라우저가 포커스/스크롤 앵커를 임의로 보정하지 않도록 한다. */
.vcp-date-picker-wrapper {
    overflow-anchor: none;
}

/* 모달 안의 날짜 입력은 공통 래퍼 너비를 사용하고, 팝오버가 열려도
   입력 요소가 뷰포트 전체로 이동하지 않도록 고정 위치 스타일을 무효화한다. */
.modal .date-picker-full-width,
.modal .spot-price-date-picker,
.modal .date-picker-full-width > .vcp-date-picker-wrapper,
.modal .spot-price-date-picker > .vcp-date-picker-wrapper {
    width: 100% !important;
}

.modal .vcp-date-picker-wrapper > input {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
}

.modal .date-picker-full-width .vcp-date-picker-wrapper > input,
.modal .spot-price-date-picker .vcp-date-picker-wrapper > input {
    width: 100% !important;
}

[data-vc-theme='cpt-custom'].vc {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    border: 1px solid #d8e1ea;
    border-radius: 16px;
    color: #111827;
    overflow: hidden;
}

[data-vc-theme='cpt-custom'].vc[data-vc-input] {
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.14);
}

[data-vc-theme='cpt-custom'].vc [tabindex="0"]:focus-visible,
[data-vc-theme='cpt-custom'].vc button:focus-visible,
[data-vc-theme='cpt-custom'].vc:focus-visible {
    outline-color: #1677ff;
}

[data-vc-theme='cpt-custom'] .vc-arrow {
    background-color: transparent;
}

[data-vc-theme='cpt-custom'] .vc-arrow:before {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iIzIxMzQ1NyIgZD0iTTEyIDE2Yy0uMyAwLS41LS4xLS43LS4zbC02LTZjLS40LS40LS40LTEgMC0xLjRzMS0uNCAxLjQgMGw1LjMgNS4zIDUuMy01LjNjLjQtLjQgMS0uNCAxLjQgMHMuNCAxIDAgMS40bC02IDZjLS4yLjItLjQuMy0uNy4zIi8+PC9zdmc+");
    content: var(--tw-content);
}

@media (hover: hover) and (pointer: fine) {
    [data-vc-theme='cpt-custom'] .vc-arrow:hover:before {
        opacity: 0.6;
    }
}

[data-vc-theme='cpt-custom'] .vc-header__content,
[data-vc-theme='cpt-custom'] .vc-month,
[data-vc-theme='cpt-custom'] .vc-year {
    color: #111827;
}

[data-vc-theme='cpt-custom'] .vc-month:disabled,
[data-vc-theme='cpt-custom'] .vc-year:disabled {
    color: #94a3b8;
    opacity: 0.9;
}

@media (hover: hover) and (pointer: fine) {
    [data-vc-theme='cpt-custom'] .vc-month:hover,
    [data-vc-theme='cpt-custom'] .vc-year:hover {
        color: #1677ff;
    }
}

[data-vc-theme='cpt-custom'] .vc-months__month,
[data-vc-theme='cpt-custom'] .vc-years__year {
    --tw-bg-opacity: 1;
    background-color: rgb(248 250 252 / var(--tw-bg-opacity));
    color: #111827;
}

@media (hover: hover) and (pointer: fine) {
    [data-vc-theme='cpt-custom'] .vc-months__month:hover,
    [data-vc-theme='cpt-custom'] .vc-years__year:hover {
        --tw-bg-opacity: 1;
        background-color: rgb(229 241 255 / var(--tw-bg-opacity));
        color: #1677ff;
    }
}

[data-vc-theme='cpt-custom'] .vc-months__month[data-vc-months-month-selected],
[data-vc-theme='cpt-custom'] .vc-years__year[data-vc-years-year-selected] {
    --tw-bg-opacity: 1;
    background-color: rgb(22 119 255 / var(--tw-bg-opacity));
    color: #fff;
}

[data-vc-theme='cpt-custom'] .vc-week-number,
[data-vc-theme='cpt-custom'] .vc-week-numbers__title,
[data-vc-theme='cpt-custom'] .vc-week__day {
    color: #475569;
}

[data-vc-theme='cpt-custom'] button.vc-week__day[data-vc-week-day-off],
[data-vc-theme='cpt-custom'] .vc-week__day[data-vc-week-day-off] {
    color: #ef4444;
}

[data-vc-theme='cpt-custom'] .vc-date__btn {
    background-color: transparent;
    color: #1f2937;
    font-size: 1rem;
    font-weight: 500;
}

@media (hover: hover) and (pointer: fine) {
    [data-vc-theme='cpt-custom'] .vc-date__btn:hover {
        background-color: #f1f5f9;
    }
}

[data-vc-theme='cpt-custom'] .vc-date[data-vc-date-today] .vc-date__btn {
    background-color: #eef6ff;
    color: #1677ff;
}

[data-vc-theme='cpt-custom'] .vc-date[data-vc-date-hover] .vc-date__btn {
    background-color: #e5f1ff;
}

[data-vc-theme='cpt-custom'] .vc-date[data-vc-date-hover='first'] .vc-date__btn,
[data-vc-theme='cpt-custom'] .vc-date[data-vc-date-hover='last'] .vc-date__btn {
    background-color: #bae6fd;
}

[data-vc-theme='cpt-custom'] .vc-date[data-vc-date-selected] .vc-date__btn {
    background-color: #1677ff;
    color: #fff;
}

[data-vc-theme='cpt-custom'] .vc-date[data-vc-date-selected][data-vc-date-month='prev'] .vc-date__btn,
[data-vc-theme='cpt-custom'] .vc-date[data-vc-date-selected][data-vc-date-month='next'] .vc-date__btn {
    background-color: #bfdbfe;
    color: #1d4ed8;
}

[data-vc-theme='cpt-custom'] .vc-date[data-vc-date-weekend] .vc-date__btn,
[data-vc-theme='cpt-custom'] .vc-date[data-vc-date-holiday] .vc-date__btn {
    color: #ef4444;
}

[data-vc-theme='cpt-custom'] .vc-date[data-vc-date-month='prev'] .vc-date__btn,
[data-vc-theme='cpt-custom'] .vc-date[data-vc-date-month='next'] .vc-date__btn,
[data-vc-theme='cpt-custom'] .vc-date[data-vc-date-disabled] .vc-date__btn {
    color: #94a3b8;
}

[data-vc-theme='cpt-custom'] .vc-date[data-vc-date-weekend][data-vc-date-selected] .vc-date__btn,
[data-vc-theme='cpt-custom'] .vc-date[data-vc-date-holiday][data-vc-date-selected] .vc-date__btn {
    color: #fff;
}

[data-vc-theme='cpt-custom'] .vc-date__popup {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    color: #111827;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.14);
}

[data-vc-theme='cpt-custom'] .vc-date-range-tooltip {
    --tw-bg-opacity: 1;
    background-color: rgb(248 250 252 / var(--tw-bg-opacity));
    color: #475569;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.12);
}

[data-vc-theme='cpt-custom'] .vc-time {
    border-color: #d8e1ea;
}

[data-vc-theme='cpt-custom'] .vc-time__hour input,
[data-vc-theme='cpt-custom'] .vc-time__minute input {
    --tw-bg-opacity: 1;
    background-color: rgb(248 250 252 / var(--tw-bg-opacity));
    color: #111827;
}

[data-vc-theme='cpt-custom'] .vc-time__keeping {
    color: #475569;
}

[data-vc-theme='cpt-custom'] .vc-time__range input {
    --tw-bg-opacity: 1;
    background-color: rgb(248 250 252 / var(--tw-bg-opacity));
}

[data-vc-theme='cpt-custom'] .vc-date.vc-date-month-start .vc-date__btn { font-size: 0.875rem; }
