.hotel-showcase-section {
	background: linear-gradient(180deg, #fafafa 0%, #fff 100%);
	padding: 100px 0 80px;
	overflow: hidden;
}

.hotel-card-premium {
	display: flex;
	align-items: center;
	margin-bottom: 100px;
	position: relative;
}

.hotel-card-premium:last-child {
	margin-bottom: 0;
}

.hotel-card-premium.reverse {
	flex-direction: row-reverse;
}

.hotel-img-big {
	flex: 1.15;
	height: 480px;
	position: relative;
	overflow: hidden;
	border-radius: 4px;
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.12);
}

.hotel-img-big img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.hotel-card-premium:hover .hotel-img-big img {
	transform: scale(1.04);
}

.hotel-info-box {
	flex: 0.85;
	background: #fff;
	padding: 48px 44px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.06);
	margin-left: -70px;
	position: relative;
	z-index: 2;
	border-top: 3px solid var(--primary-gold);
}

.hotel-card-premium.reverse .hotel-info-box {
	margin-left: 0;
	margin-right: -70px;
}

.hotel-brand {
	font-size: 11px;
	letter-spacing: 4px;
	color: #aaa;
	text-transform: uppercase;
	display: block;
	margin-bottom: 12px;
	font-weight: 500;
}

.hotel-name {
	font-family: var(--font-serif);
	font-size: 28px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 18px;
	line-height: 1.4;
}

.hotel-tag-group {
	display: flex;
	gap: 8px;
	margin-bottom: 22px;
	flex-wrap: wrap;
}

.hotel-tag {
	font-size: 11px;
	border: 1px solid #e5e5e5;
	padding: 5px 14px;
	border-radius: 2px;
	color: #666;
	background: #fafafa;
	letter-spacing: 0.5px;
}

.hotel-desc {
	font-size: 14px;
	color: #555;
	line-height: 1.9;
	text-align: justify;
	margin-bottom: 0;
}

.hotel-highlight {
	color: var(--primary-gold);
	font-weight: 600;
}

/* RWD 手機版優化 */
@media (max-width: 992px) {

	.hotel-card-premium,
	.hotel-card-premium.reverse {
		flex-direction: column;
		margin-bottom: 50px;
	}

	.hotel-img-big {
		width: 100%;
		height: 260px;
		margin-bottom: -25px;
		z-index: 1;
		border-radius: 8px 8px 0 0;
	}

	.hotel-info-box {
		width: 92%;
		margin: 0 auto !important;
		padding: 28px 24px;
		box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
		border-radius: 0 0 8px 8px;
	}

	.hotel-name {
		font-size: 22px;
	}

	.hotel-desc {
		font-size: 14px;
	}
}

.flight-brand-row {
        display: flex;
        background: #fff;
        border: 1px solid #eee;
        border-radius: 12px;
        margin-bottom: 20px;
        overflow: hidden;
        box-shadow: 0 4px 12px rgba(0,0,0,0.03);
        transition: transform 0.3s ease;
    }
    
    .flight-brand-row:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 15px rgba(0,0,0,0.06);
    }

    /* 左側：品牌資訊 */
    .brand-side {
        width: 180px;
        background: #fcfaf7;
        padding: 24px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        border-right: 1px solid #eee;
        text-align: center;
    }

    .brand-name {
        font-weight: 700;
        color: #1a1a1a;
        font-size: 1.1rem;
        margin-bottom: 2px;
    }

    .brand-code {
        font-size: 10px;
        color: #999;
        letter-spacing: 1px;
        margin-bottom: 12px;
    }

    .flight-no-badge {
        font-size: 11px;
        background: #C5A065;
        color: #fff;
        padding: 2px 10px;
        border-radius: 20px;
    }

    /* 右側：時間排程 */
    .schedule-side {
        flex: 1;
        padding: 10px 0;
    }

    .schedule-item {
        display: flex;
        align-items: center;
        padding: 15px 25px;
    }

    .schedule-item:first-child {
        border-bottom: 1px dashed #eee;
    }

    /* 去回程標籤 */
    .trip-tag {
        font-size: 12px;
        padding: 3px 8px;
        border-radius: 4px;
        margin-right: 20px;
        font-weight: 600;
        min-width: 45px;
        text-align: center;
    }

    .trip-tag.go { background: #C5A065; color: #fff; }
    .trip-tag.return { background: #C5A065; color: #fff; }

    /* 時間路線細節 */
    .trip-info {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 12px;
        flex: 1;
    }

    .trip-time {
        font-size: 1.25rem;
        font-weight: 700;
        color: #1a1a1a;
        font-family: 'Arial', sans-serif;
    }

    .trip-airport {
        font-size: 14px;
        color: #666;
    }

    .trip-arrow {
        color: #C5A065;
        font-size: 14px;
        margin: 0 5px;
    }

    .flight-code {
        margin-left: auto;
        font-size: 13px;
        color: #888;
        background: #f5f5f5;
        padding: 2px 8px;
        border-radius: 4px;
    }

    /* 手機版調整 */
    @media (max-width: 768px) {
        .flight-brand-row {
            flex-direction: column;
        }
        .brand-side {
            width: 100%;
            flex-direction: row;
            justify-content: space-between;
            padding: 12px 20px;
            border-right: none;
            border-bottom: 1px solid #eee;
        }
        .brand-code { display: none; }
        .schedule-item {
            padding: 15px 20px;
            display: grid;
            grid-template-columns: auto 100px 25px 100px 1fr;
            grid-template-rows: auto auto;
            gap: 10px 12px;
            align-items: center;
        }
        .trip-tag {
            grid-column: 1;
            grid-row: 1;
            min-width: auto;
            margin-right: 0;
        }
        .trip-info {
            grid-column: 1 / -1;
            grid-row: 1 / -1;
            display: contents;
        }
        .trip-info .trip-time:nth-child(1) {
            grid-column: 2;
            grid-row: 1;
            font-size: 1rem;
        }
        .trip-info .trip-airport:nth-child(2) {
            grid-column: 2;
            grid-row: 2;
            font-size: 12px;
        }
        .trip-info .trip-arrow {
            grid-column: 3;
            grid-row: 1;
            margin: 0;
        }
        .trip-info .trip-time:nth-child(4) {
            grid-column: 4;
            grid-row: 1;
            font-size: 1rem;
        }
        .trip-info .trip-airport:nth-child(5) {
            grid-column: 4;
            grid-row: 2;
            font-size: 12px;
        }
        .trip-info .flight-code {
            grid-column: 1;
            grid-row: 2;
            margin: 0;
            padding: 0;
            background: none;
            font-size: 12px;
            color: #888;
        }
    }
    /* 每日行程卡片樣式 (來自 1211fit-v2-6D-A.php) */
    .itinerary-card {
        background: #fff;
        border-radius: 8px;
        overflow: hidden;
        margin-bottom: 32px;
        box-shadow: 0 4px 20px rgba(0,0,0,0.04);
        border: 1px solid #f0f0f0;
    }
    .itinerary-card:last-child { margin-bottom: 0; }

    .itinerary-header {
        background: linear-gradient(135deg, #1A1A1A 0%, #2a2a2a 100%);
        padding: 18px 28px;
        border-left: 4px solid var(--primary-gold);
    }
    .day-badge-inline {
        display: inline-block;
        color: var(--primary-gold);
        font-family: var(--font-serif);
        font-weight: 700;
        font-size: 13px;
        letter-spacing: 3px;
        margin-right: 16px;
    }
    .route-text {
        color: #fff;
        font-size: 16px;
        font-weight: 500;
        letter-spacing: 0.5px;
    }

    .itinerary-content {
        display: flex;
        gap: 0;
    }
    .itinerary-img-col {
        flex: 0 0 320px;
        max-width: 320px;
        overflow: hidden;
    }
    .itinerary-img-col img {
        width: 100%;
        height: 100%;
        min-height: 260px;
        object-fit: cover;
        transition: transform 0.6s ease;
    }
    .itinerary-card:hover .itinerary-img-col img {
        transform: scale(1.03);
    }
    .itinerary-text-col {
        flex: 1;
        padding: 32px 36px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .spot-headline {
        font-family: var(--font-serif);
        font-size: 22px;
        font-weight: 700;
        color: #1A1A1A;
        margin-bottom: 14px;
        position: relative;
        padding-left: 16px;
    }
    .spot-headline::before {
        content: '';
        position: absolute;
        left: 0;
        top: 4px;
        width: 3px;
        height: 22px;
        background: var(--primary-gold);
    }
    .spot-narrative {
        font-size: 15px;
        color: #555;
        line-height: 1.85;
        text-align: justify;
        margin-bottom: 20px;
    }
    .info-pills {
        display: flex;
        gap: 20px;
        flex-wrap: wrap;
        padding-top: 16px;
        border-top: 1px solid #f0f0f0;
    }
    .info-pill {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 13px;
        color: #666;
    }
    .info-pill i {
        color: var(--primary-gold);
        font-size: 14px;
        width: 16px;
    }
    .info-pill-hotel {
        font-weight: 500;
        color: #333;
    }

    /* 無圖片版卡片 */
    .itinerary-card.no-img .itinerary-content {
        display: block;
    }
    .itinerary-card.no-img .itinerary-text-col {
        padding: 28px 36px;
    }

    /* 響應式設計 */
    @media (max-width: 768px) {
        .itinerary-content {
            flex-direction: column;
        }
        .itinerary-img-col {
            flex: 0 0 auto;
            max-width: 100%;
        }
        .itinerary-text-col {
            padding: 24px 20px;
        }
        .route-text {
            font-size: 14px;
        }
    }