.quote-page,
.quote-page * {
    box-sizing: border-box !important;
}

html:has(.quote-page) {
    height: 100%;
    background: #F4F5F7;
}

body:has(> .quote-page) {
    min-height: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: #F4F5F7;
}

body:has(> .quote-page) > .header,
body:has(> .quote-page) > .footer-information {
    flex-shrink: 0;
    width: 100%;
}

.quote-page {
    --starr-navy: #1E3361;
    --starr-text: #002F5E;
    --starr-background: #002F5E;
    --starr-muted: #6B7280;
    --starr-border: #C9C9C9;
    --starr-bg: #F4F5F7;
    --starr-placeholder: #9AA0A6;
    --starr-red: #E10600;
    --starr-font: 'Aptos', 'Microsoft JhengHei', 'PingFang TC', 'Noto Sans TC', sans-serif;
    --starr-font-bold: 'Aptos-Bold', 'Aptos', 'Microsoft JhengHei', 'PingFang TC', 'Noto Sans TC', sans-serif;
    width: 100%;
    flex: 1 0 auto;
    background: var(--starr-bg);
    padding: 90px 0 80px;
    font-family: var(--starr-font);
    color: var(--starr-text);
    -webkit-font-smoothing: antialiased;
}

.quote-card {
    width: 1100px;
    max-width: 100%;
    margin: 0 auto;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 6px 24px rgba(16, 24, 40, 0.08);
}

.quote-card-header {
    background: var(--starr-navy);
    color: #fff;
    text-align: center;
    font-family: var(--starr-font-bold);
    font-size: 36px;
    line-height: 36px;
    padding: 42px 40px;
    letter-spacing: 0;
}

.quote-card-body {
    padding: 50px 40px 80px;
}

.quote-row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -12px 22px;
    align-items: flex-start;
}

.quote-field {
    padding: 0 10px;
    min-width: 0;
    float: none;
}

.quote-col-1 {
    width: 25%;
}

.quote-col-2 {
    width: 50%;
}

.quote-row-2 .quote-field {
    width: 50%;
}

.quote-row-4 .quote-field {
    width: 25%;
}

.quote-smarttrip .quote-row-main .quote-field:first-child {
    width: 50%;
}

.quote-smarttrip .quote-row-main .quote-field:nth-child(2),
.quote-smarttrip .quote-row-main .quote-field:nth-child(3) {
    width: 25%;
}

.quote-smarttrip .quote-row-promo .quote-field {
    width: 25%;
}

.quote-smarttrip .quote-row-promo .quote-field-placeholder {
    display: none;
}

.quote-smarttrip-note {
    margin: -10px 0 22px;
    color: var(--starr-text);
    font-family: var(--starr-font);
    font-size: 13px;
    line-height: 1.5;
    font-weight: 400;
}

.quote-smarttrip-note span {
    display: block;
    max-width: 50%;
}

.quote-smarttrip .quote-note {
    padding: 0 10px;
    margin: 4px 0 20px;
}



.quote-field-placeholder {
    visibility: hidden;
}

.quote-label {
    display: block;
    font-family: var(--starr-font-bold);
    font-size: 14px;
    line-height: 14px;
    text-transform: uppercase;
    color: var(--starr-text);
    margin-bottom: 9px;
}

.quote-label .required {
    color: var(--starr-red);
    margin-left: 2px;
    font-weight: 400;
}

.quote-page input.quote-input,
.quote-page select.quote-select {
    display: block;
    width: 100% !important;
    max-width: 100%;
    height: 45px !important;
    border: 1px solid var(--starr-border) !important;
    border-radius: 4px;
    padding: 0 12px !important;
    font-family: var(--starr-font-bold);
    font-size: 14px;
    font-weight: 700;
    color: var(--starr-text);
    background-color: #fff !important;
    outline: none;
}

.quote-page input.quote-input::placeholder {
    font-family: var(--starr-font);
    font-weight: 400;
    color: var(--starr-placeholder);
}

.quote-page select.quote-select {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%2300205C' stroke-width='1.6' d='M1.5 1.5L6 6l4.5-4.5'/></svg>");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 32px !important;
    cursor: pointer;
}

/* 英文版：下拉框内容用大写显示（中文无影响） */
body.en .quote-page select.quote-select {
    text-transform: uppercase;
}

.quote-page input.quote-date {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'><rect x='3.5' y='5' width='17' height='15.5' rx='2' stroke='%23667085' stroke-width='1.6'/><path d='M8 3.5v3M16 3.5v3M3.5 10h17' stroke='%23667085' stroke-width='1.6'/></svg>");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px !important;
    cursor: pointer;
}

.quote-page input.quote-input:focus,
.quote-page select.quote-select:focus {
    border-color: var(--starr-navy) !important;
}

.quote-page input.quote-input:disabled,
.quote-page input.quote-input[disabled],
.quote-page input.quote-input.quote-date:disabled,
.quote-page input.quote-input.quote-date[disabled],
.quote-page select.quote-select:disabled,
.quote-page select.quote-select[disabled],
.quote-page input#date_end:disabled,
.quote-page input#date_end[disabled] {
    background: #EEEEEE !important;
    background-color: #EEEEEE !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'><rect x='3.5' y='5' width='17' height='15.5' rx='2' stroke='%23A3A3A3' stroke-width='1.6'/><path d='M8 3.5v3M16 3.5v3M3.5 10h17' stroke='%23A3A3A3' stroke-width='1.6'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    border: 1px solid #C9C9C9 !important;
    border-color: #C9C9C9 !important;
    color: #A3A3A3 !important;
    -webkit-text-fill-color: #A3A3A3 !important;
    opacity: 1 !important;
    cursor: not-allowed;
}

.quote-page input.quote-input:disabled::placeholder,
.quote-page input.quote-input[disabled]::placeholder {
    color: #A3A3A3 !important;
    -webkit-text-fill-color: #A3A3A3 !important;
}

.plan-type-toggle {
    display: flex;
    height: 45px;
    width: 100%;
    border: 1px solid #C9C9C9;
    border-radius: 4px;
    overflow: hidden;
    background: #fff;
}

.plan-type-btn {
    flex: 1;
    height: 45px;
    border: 0;
    border-radius: 0;
    background: #fff;
    color: var(--starr-text);
    font-family: var(--starr-font);
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    cursor: pointer;
    padding: 0 8px;
}

.plan-type-btn + .plan-type-btn {
    border-left: 1px solid #C9C9C9;
}

.plan-type-btn.active {
    background: var(--starr-background);
    border-color: var(--starr-background);
    color: #fff;
    font-family: var(--starr-font-bold);
    font-weight: 700;
}

.quote-note {
    color: var(--starr-text);
    font-family: var(--starr-font);
    font-size: 14px;
    line-height: 1.2;
    margin: 10px 0 0;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
}

.quote-submit {
    display: block;
    width: 100%;
    height: 55px;
    margin-top: 65px;
    background: var(--starr-background);
    color: #fff;
    border: 0;
    border-radius: 4px;
    font-family: var(--starr-font-bold);
    font-size: 16px;
    text-transform: uppercase;
    cursor: pointer;
}

.quote-submit:hover {
    background: #001a4a;
}

.quote-submit.disable-btn,
.quote-submit[disabled] {
    background: #98a2b3;
    cursor: not-allowed;
}

.quote-field.has-error .quote-input,
.quote-field.has-error .quote-select,
.quote-field.has-error .plan-type-btn:not(.active) {
    border-color: var(--starr-red) !important;
}

.quote-error {
    display: block;
    color: var(--starr-red);
    font-size: 14px;
    margin-top: 6px;
}

.quote-tip {
    font-size: 14px;
    margin-top: 6px;
    word-break: break-all;
}

.travel_des {
    width: 100%;
}

.ui-datepicker {
    z-index: 30 !important;
}

/* @media (max-width: 1100px) {

    .quote-col-1,
    .quote-col-2,
    .quote-row-2 .quote-field,
    .quote-row-4 .quote-field {
        width: 50%;
        margin-bottom: 16px;
    }
} */
