* {
    margin: 0;
    padding: 0;
    font-family: 'Arial', sans-serif;
}

.tour-options-header-card {
    background: #c75000;
    color: #fff;
    margin-bottom: 1rem;
}

.el-card {
    border-radius: 0;
    border: 1px solid #e3e3e3;
}

.el-button {
    padding: 0;
}

.el-button--primary,
.el-button--primary:focus,
.el-button--primary:hover {
    background-color: #fff;
    border-color: #fff;
    color: #0a0a0a;
}

.el-input.is-active .el-input__inner,
.el-input__inner:focus {
    border-color: #c75000;
}

.el-date-table td.today span,
.el-date-table td.available:hover,
.el-date-picker__header-label.active,
.el-date-picker__header-label:hover {
    color: #c75000;
}

.el-date-table td.current:not(.disabled) span {
    background-color: #c75000;
}
.el-date-picker__header {
    margin: 12px 12px 0;
}
.el-picker-panel__content {
    margin: 0 15px 15px;
}
.options-select-box {
    min-width: 200px;
    height: 48px;
    padding: 0px 10px;
    width: 98%;
}
.tour-option-choose-from {
    text-align: center;
    font-size: 26px;
    margin: 30px 0;
}

.options-select-date-box .el-input__inner {
    height: 48px;
}

.options-select-date-box .el-date-editor.el-input,
.options-select-date-box .el-date-editor.el-input__inner {
    width: 95%;
}

.tour-options-list-card {
    margin-top: 20px;
}

.el-collapse {
    border: none;
}

.options-select-box>span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: auto;
}

.options-select-box .traveler-summary {
    flex: 1;
    text-align: left;
    margin-left: 4px;
}

.options-select-box .icon-left {
    flex-shrink: 0;
    margin-right: 4px;
}

.options-select-box .icon-right {
    flex-shrink: 0;
    margin-left: 4px;
}

.el-collapse-item__header {
    border: none;
    padding: 12px 0;
    padding-right: 15px;
    background: none;
    min-height: 48px;
    height: auto;
    color: #000;
    cursor: auto;
}

.el-collapse-item__wrap {
    background: none;
}

.el-collapse-item__wrap {
    border: none;
}

.el-input__inner {
    border: none;
}

.el-input-number__decrease,
.el-input-number__increase {
    border: 1px solid #DCDFE6;
    border-radius: 4px;
}

.el-icon-minus,
.el-icon-plus {
    font-weight: bold;
}

.el-input-number__decrease:hover,
.el-input-number__increase:hover {
    color: #c75000;
}

.el-collapse-item__content {
    padding: 0 0 0 30px;
    padding-bottom: 25px;
    font-size: 16px;
    color: #000;
}

.tour-option-title-container {
    display: flex;
    width: 100%;
    font-size: 20px;
    padding-right: 15px;
    flex-wrap: wrap;
}

.tour-option-title {
    flex: 1;
}

.tour-option-price {
    text-align: left;
    font-weight: bold;
    margin-left: 10px;
}

/* 确保标题和描述右边的价格容器对齐 */
.tour-option-price-container {
    flex-shrink: 0;
    width: 200px;
    text-align: left;
}

.tour-option-title-price-container {
    width: 180px;
}

/* 隐藏折叠面板的默认箭头 */
.el-collapse-item__header .el-collapse-item__arrow {
    display: none;
}

.tour-option-price-value {
    color: #c10202;
}

.tour-options-list-card .el-card__body,
.el-main {
    padding: 10px 20px 5px;
}

/* 选中时的card背景色 */
.tour-option-selected {
    /* background-color: #f5f5f5; */
}

/* 调整radio按钮的位置 */
.tour-option-radio {
    margin-right: 10px;
    margin-top: 10px;
}

/* 隐藏radio按钮旁边的label文本 */
.tour-option-radio .el-radio__label {
    display: none;
}

/* 设置每行选项之间的间距为40px */
.tour-option-item {
    margin-bottom: 40px;
    /* cursor: pointer; */
    position: relative;
}
.tour-option-item>.el-card {
    border: 2px solid #d1d1d1;
    border-radius: 10px;
}
.tour-option-item>.el-card:hover {
    border-color: #c75000;
}
.tour-option-item>.el-card.tour-option-item-visible {
    border: 2px solid #c75000;
}
.el-date-picker {
    width: 500px;
}
.el-date-picker .el-picker-panel__content {
    width: 92%;
}
.el-picker-panel__icon-btn {
    font-size: 20px;
    width: 50px;
    height: 45px;
}
.el-date-table {
    font-size: 20px;
}
.el-date-table td div {
    height: 50px;
}
.tour-option-remain-people {
    position: absolute;
    top: -14px;
    left: 20px;
    padding: 5px 20px;
    border-radius: 8px;
    font-size: 17px;
    color: #c10000;
    border: 2px solid #e3e3e3;
    background-color: #fff;
}
.el-date-picker__header-label {
    font-size: 20px;
    line-height: 63px;
}
.cursor-not-allowed {
    cursor: not-allowed;
}

/* 移除最后一个元素的底部间距 */
.tour-option-item:last-child {
    margin-bottom: 0;
}

/* 不可选中的选项样式 */
.tour-option-item-disabled {
    /* cursor: not-allowed; */
    /* pointer-events: none; */
    /* opacity: 0.6; */
}

/* 下一个可预订日期提示样式 */
.next-available-date-tip {
    font-size: 20px;
    color: #c10202;
    position: relative;
    left: 30px;
    flex-basis: 100%;
    opacity: 1;
    isolation: isolate;
    z-index: 1;
}

.el-radio__inner {
    border: 2px solid #a3a3a3;
}

.el-radio.disabled-radio .el-radio__inner {
    background: #dbdbdb;
}
.el-input__inner {
    color: #000;
}
.el-radio__input.is-checked .el-radio__inner {
    background-color: #c75000;
    border-color: #c75000;
}

.tour-option-content-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.tour-option-description {
    flex: 1;
}

.book-now-button {
    width: 150px;
    height: 48px;
    background: #c75000;
    border-radius: 30px;
    color: #fff;
    font-size: 17px;
    border: none;
}

.book-now-button:hover {
    background: #a53a01;
    color: #fff;
}

.el-popover {
    padding: 20px;
}

.count-popup-content [class*=" el-icon-"],
[class^=el-icon-] {
    line-height: 38px;
}

.count-popup-content {
    min-width: 250px;
    padding: 10px;
}

.el-input-number {
    width: 130px;
}

.count-popup-row {
    border-bottom: 1px solid #d1d1d1;
    padding-bottom: 15px;
}

.update-search-btn {
    width: 100%;
    height: 48px;
    background: #c75000;
    border-radius: 10px;
    color: #fff;
    border: none;
}

.update-search-btn:hover {
    background: #a53a01;
    color: #fff;
}

.tour-option-price-container .el-button--primary:focus,
.tour-option-price-container .el-button--primary:hover {
    background: #a53a01;
    color: #fff;
}

.tour-option-price-container div {
    margin-bottom: 10px;
}

.origin-price {
    text-decoration: line-through;
    font-size: 14px;
}

.tour-option-out-range-tips {
    color: #c10202;
    font-size: 14px;
}

.options-select-date-box .el-date-editor .el-icon-circle-close {
    transform: translateX(-20px);
}

.options-select-date-box input::placeholder {
    color: #000;
}

.el-input__prefix,
.el-input__suffix {
    color: #000;
}

.el-collapse-item__header {
    line-height: 33px;
}

.tour-option-header-title {
    font-size: 24px;
}

.tour-option-radio-container {
    width: 30px;
}

.el-popover {
    border-radius: 15px;
    box-shadow: 0 0px 20px 0 rgba(0, 0, 0, 0.3);
}

.folding-symbol {
    height: 0;
    text-align: right;
    transform: translate(10px, -10px);
}

.folding-symbol i {
    transition: transform 0.3s ease;
}

.options-select-people-box .el-button {
    border: none;
    font-size: 17px;
}
.options-select-date-box .el-input {
    font-size: 17px;
}
.tour-option-header-select-box .el-row--flex {
    justify-content: space-between;
}
.options-select-people-box, .options-select-date-box {
    width: 55%;
}
.tour-option-total-price-detail {
    font-size: 20px;
    font-weight: bold;
}
.pointer-events-none {
    pointer-events: none;
}
.el-collapse-item__header.focusing:focus:not(:hover) {
    color: #000;
}
.el-input {
    font-size: 20px;
}
.el-button {
    font-size: 20px;
}
.el-input--prefix .el-input__inner {
    padding-left: 36px;
}
.el-date-table td span {
    width: 30px;
    height: 30px;
    line-height: 30px;
}
/* 闪烁动画效果 */
@keyframes blink-shadow {
    0% {
        box-shadow: inset 0 0px 0 0 rgba(187, 0, 0, 0.7);
    }

    25% {
        box-shadow: inset 0 0px 15px 0 rgba(187, 0, 0, 0.7);
    }

    50% {
        box-shadow: inset 0 0px 0px 0 rgba(187, 0, 0, 0.7);
    }

    75% {
        box-shadow: inset 0 0px 15px 0 rgba(187, 0, 0, 0.7);
    }

    100% {
        box-shadow: inset 0 0px 0 0 rgba(187, 0, 0, 0.7);
    }
}

.flicking-animate {
    box-shadow: inset 0 0px 0 0 rgba(187, 0, 0, 0.7);
    animation: blink-shadow 1s ease-in-out 1;
    /* 1秒完成闪烁两次，只执行一次 */
}

/* week-calendar */
.week-calendar {
    display: flex;
    align-items: center;
    border-radius: 4px;
    font-family: Arial, sans-serif;
    user-select: none;
    gap: 10px;
}

.nav-btn {
    border: 1px solid #d2d2d2;
    font-size: 30px;
    color: #c75000;
    cursor: pointer;
    padding: 0 20px;
    height: 80px;
    font-weight: bold;
    background: none;
    border-radius: 10px;
    transition: all 0.3s ease;
}
.nav-btn i {
    font-weight: bold;
}
.nav-btn:hover {
    color: #fff;
    background: linear-gradient(180deg, #c75000 0%, #e66f1f 100%);
    border: 1px solid #e66f1f;
}

.days-container {
    display: flex;
    flex: 1;
    justify-content: space-around; /* 等间距分布 */
    gap: 10px;
    transition: all 0.3s ease;
}

.day-item {
    flex: 1;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 2px;
    cursor: pointer;
    color: #333;
    flex-direction: column;
    height: 80px;
    border: 1px solid #d2d2d2;
    border-radius: 10px;
    gap: 3px;
    font-size: 18px;
}

.day-item:hover {
    background: linear-gradient(180deg, #c75000 0%, #e66f1f 100%);
    color: #fff;
    border: 1px solid #e66f1f;
}

.day-item.active {
    background: linear-gradient(180deg, #c75000 0%, #e66f1f 100%);
    color: white;
    border: 1px solid #e66f1f;
}

.date-text {
    /* 确保文字在一行显示 */
    white-space: nowrap; 
}

/* 过去日期禁用样式 */
.day-item.disabled {
    opacity: 0.4;
    cursor: not-allowed !important;
    pointer-events: none;
    background-color: #f5f5f5;
    border-color: #e0e0e0;
}

.day-item.disabled .date-text {
    color: #999;
}
.day-item .date-text {
    font-size: 24px;
    font-weight: bold;
}
.next-available-date-tip .clickable {
    cursor: pointer;
    text-decoration: underline;
    font-weight: bold;
    text-decoration-skip-ink: none;
}

/** 调整日期的顺序Start */
/* 确保容器开启 Flex 布局 */
.el-date-picker__header {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
}

/* 1. 左侧按钮：上一年 */
.el-date-picker__prev-btn.el-icon-d-arrow-left {
    display: none;
    order: 1;
}

/* 2. 左侧按钮：上一月 */
.el-date-picker__prev-btn.el-icon-arrow-left {
    order: 2;
}

/* 3. 中间内容：月份 (January) */
.el-date-picker__header-label:nth-of-type(2) {
    order: 3;
    margin-left: auto; /* 月份和年份之间的间距 */
}

/* 4. 中间内容：年份 (2026) */
.el-date-picker__header-label:nth-of-type(1) {
    order: 4;
    margin-right: auto;
}

/* 5. 右侧按钮：下一月 */
.el-date-picker__next-btn.el-icon-arrow-right {
    order: 5;
}

/* 6. 右侧按钮：下一年 */
.el-date-picker__next-btn.el-icon-d-arrow-right {
    display: none;
    order: 6;
}

/* 消除 ElementUI 默认的部分绝对定位或浮动干扰 */
.el-date-picker__header-label {
    margin: 0 5px;
}
.el-date-picker__prev-btn, .el-date-picker__next-btn {
    float: none !important; /* 禁用浮动，让 flex 生效 */
    position: static !important; /* 禁用绝对定位 */
    margin: 0 5px !important;
}
/** 调整日期的顺序END */

/* week-calendar */

@media screen and (min-width: 1000px) {
    .tour-options-header-card {
        /* padding-right: 200px; */
    }
}
@media screen and (min-width: 900px) {
    .tour-option-description {
        padding-right: 20px;
    }
}
@media screen and (max-width: 1200px) {
    .tour-option-header-row {
        display: block;
    }
    
    .tour-options-header-card {
        padding: 0 0 20px;
    }

    .tour-option-header-title {
        text-align: center;
    }

    .tour-option-header-select-box {
        margin-top: 20px;
    }

    .options-select-date-box .el-input__inner {
        width: 100%;
        font-size: 20px;
    }
    .options-select-people-box .el-button {
        font-size: 20px;
    }
}
@media screen and (max-width: 900px) {

    .tour-option-content-row {
        display: block;
        padding-left: 20px;
    }

    .tour-option-title-container {
        padding-right: 0;
        flex-wrap: wrap;
        font-size: 24px;
    }
    .el-picker-panel__icon-btn {
        font-size: 20px;
    }
    .el-date-picker__header-label {
        font-size: 20px;
    }
    .tour-option-price-container {
        text-align: left;
        width: auto;
        margin-top: 10px;
    }
    .el-date-picker {
        font-size: 20px;
    }
    .el-date-table {
        font-size: 17px;
    }
    .el-popover {
        font-size: 17px;
    }
    .update-search-btn {
        font-size: 20px;
    }
    .tour-option-price {
        text-align: left;
    }

    .el-collapse-item__header {
        height: auto;
    }

    .tour-option-price {
        margin-left: 0;
    }

    .el-collapse-item__content {
        padding: 0;
        font-size: 20px;
    }

    .tour-options-list-card .el-card__body,
    .el-main {
        padding: 10px 10px 10px;
    }

    .tour-option-title {
        display: inline;
    }

    .el-avatar,
    .el-cascader-panel,
    .el-radio,
    .el-radio--medium.is-bordered .el-radio__label,
    .el-radio__label {
        font-size: 30px;
    }

    .tour-options-header-card .el-card__body,
    .el-main {
        padding: 10px 20px;
    }

    .options-select-date-box,
    .options-select-people-box {
        width: 100%;
    }

    .options-select-date-box .el-date-editor.el-input,
    .options-select-date-box .el-date-editor.el-input__inner {
        width: 98%;
    }

    .options-select-box {
        width: 98%;
        min-width: 0;
    }

    .tour-option-title-price-container {
        width: 100%;
        padding-left: 20px;
    }

    .tour-option-single-price-container .tour-option-price-detail {
        margin-right: 10px;
    }

    .tour-option-total-price-detail {
        font-size: 20px;
    }

    .tour-option-book-now-button-container {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 5px;
        transform: translateX(-10px);
    }

    .tour-option-radio-container {
        width: 20px;
    }

    .next-available-date-tip {
        left: 20px;
    }
    .book-now-button {
        font-size: 20px;
    }
    .tour-option-remain-people {
        padding: 2px 20px;
        font-size: 20px;
    }
    .day-item .date-text,
    .day-item .weekday-text {
        display: block;
        text-align: center;
    }
    
    .day-item .weekday-text {
        margin-top: 0;
    }
}

@media screen and (max-width: 600px) {
    .el-date-picker {
        width: 100%;
    }
    .tour-option-header-select-date-box-container {
        display: block;
    }

    .tour-option-header-select-date-box-container div:nth-child(2) {
        margin-top: 20px;
    }
    .nav-btn {
        padding: 0 15px;
    }
}