.tour-page { background: #fff; color: #252525; }
.tour-wrap { max-width: 1240px; padding: 0 28px; }
.tour-hero { display: grid; grid-template-columns: 1.2fr 1fr; gap: 42px; align-items: center; padding: 48px 0 32px; }
.tour-kicker { display: block; font-size: 11px; color: #a8241b; font-weight: 700; letter-spacing: .14em; line-height: 1.7; margin-bottom: 14px; }
.tour-page h2 { font-size: clamp(28px, 3vw, 37px); line-height: 1.3; font-weight: 700; margin-bottom: 24px; }
.tour-hero h2 { font-size: clamp(34px, 3.7vw, 46px); }
.tour-page p { color: #62594c; font-size: 15px; line-height: 1.9; margin-bottom: 24px; }
.tour-tags { display: flex; flex-wrap: wrap; gap: 9px; }
.tour-tags span { padding: 7px 11px; background: #faf8f3; border: 1px solid #e0d2b4; border-radius: 20px; font-size: 11px; color: #735f3d; }
.tour-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 26px; }
.tour-button { display: inline-flex; align-items: center; padding: 13px 22px; background: #c92318; color: white; border-radius: 6px; font-size: 14px; font-weight: 700; }
.tour-button:hover { color: white; background: #a42117; }
.tour-actions > a:not(.tour-button) { color: #a8241b; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.tour-visual { min-height: 360px; border-radius: 16px; border: 1px solid #ddcda9; overflow: hidden; background: linear-gradient(145deg, #2525259e, #752014d9), url("https://images.unsplash.com/photo-1518684079-48c6c1a63d59") center / cover; display: grid; place-items: center; padding: 30px; }
.tour-visual > div { display: flex; flex-direction: column; align-items: center; gap: 24px; text-align: center; color: white; }
.tour-visual i { color: #f7d774; font-size: 44px; }
.tour-visual strong { font-size: 27px; line-height: 1.5; }
.tour-visual span { font-size: 13px; letter-spacing: .08em; }
.tour-jump { display: flex; flex-wrap: wrap; gap: 10px; padding: 22px 0 28px; border-bottom: 1px solid #e4dac4; }
.tour-jump a { padding: 9px 15px; border: 1px solid #e0d2b4; border-radius: 24px; color: #665846; font-size: 13px; }
.tour-section { padding: 44px 0; border-bottom: 1px solid #e4dac4; scroll-margin-top: calc(var(--site-header-height, 180px) + 24px); }
.tour-highlights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.tour-highlights article { background: #faf8f3; padding: 27px; border: 1px solid #e0d2b4; border-radius: 12px; }
.tour-highlights i { font-size: 28px; color: #b1261d; margin-bottom: 24px; }
.tour-page h3 { font-size: 21px; line-height: 1.5; font-weight: 700; margin-bottom: 16px; }
.tour-highlights p { margin: 0; font-size: 14px; }
.tour-timeline { list-style: none; padding: 0 0 0 26px; margin: 30px 0; border-left: 2px solid #d8c6a0; }
.tour-timeline li { position: relative; display: flex; align-items: start; gap: 22px; padding: 24px; background: #faf8f3; border: 1px solid #e0d2b4; border-radius: 10px; margin-bottom: 20px; }
.tour-timeline li:before { content: ''; position: absolute; left: -34px; top: 32px; width: 12px; height: 12px; background: #c92318; border-radius: 50%; border: 2px solid white; box-shadow: 0 0 0 2px #d4af37; }
.tour-step-number { font-size: 15px; color: #a8241b; font-weight: 700; padding-top: 5px; }
.tour-timeline p { margin: 0; font-size: 14px; }
.tour-cta { margin: 38px 0 16px; padding: 30px; border: 1px solid #e0d2b4; border-radius: 12px; background: #faf8f3; scroll-margin-top: calc(var(--site-header-height, 180px) + 24px); }
.tour-cta h2 { font-size: 29px; max-width: 800px; }
.tour-page a:focus-visible { outline: 3px solid #d4af37; outline-offset: 4px; }
@media (max-width: 991px) { .tour-hero, .tour-highlights { grid-template-columns: 1fr; gap: 26px; } }
@media (max-width: 575px) { .tour-wrap { padding: 0 20px; } .tour-hero, .tour-section { padding: 32px 0; } .tour-visual { min-height: 280px; } .tour-timeline li, .tour-cta, .tour-highlights article { padding: 22px; } .tour-timeline li { gap: 14px; } }

.page-header { background-image: linear-gradient(#252525a6, #252525a6), url("../img/image2.jpg"); }

/* Real student photos replace the reference decorative remote background. */
.tour-visual { background-image: linear-gradient(145deg, #25252545, #752014ab), url("../img/tour-bkk/student-exposure-04.webp"); }
.tour-gallery { border: 1px solid #e0d2b4; border-radius: 14px; overflow: hidden; background: #faf8f3; }
.tour-gallery .carousel-item img { display: block; width: 100%; height: clamp(260px, 48vw, 620px); object-fit: contain; background: #faf8f3; }
.tour-gallery-caption { display: flex; align-items: center; gap: 20px; padding: 20px 26px; border-top: 1px solid #e0d2b4; }
.tour-gallery-caption > span { color: #a8241b; font-size: 12px; white-space: nowrap; }
.tour-page .tour-gallery-caption h3 { font-size: 17px; margin: 0; }
.tour-gallery .carousel-control-prev, .tour-gallery .carousel-control-next { width: 9%; bottom: 80px; border: 0; background: transparent; color: white; opacity: 1; font-size: 38px; text-shadow: 0 1px 5px #000; }
.tour-photo-picker { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.tour-photo-picker button { border: 1px solid #e0d2b4; background: #faf8f3; border-radius: 7px; overflow: hidden; padding: 3px; cursor: pointer; }
.tour-photo-picker img { display: block; width: 100%; height: 66px; object-fit: contain; }
.tour-page .tour-photo-note { font-size: 12px; margin: 16px 0; }
.tour-enhanced { border: 1px solid #e0d2b4; border-radius: 9px; padding: 20px; background: #faf8f3; }
.tour-enhanced summary { cursor: pointer; color: #a8241b; font-size: 14px; font-weight: 600; }
.tour-enhanced p { font-size: 12px; margin: 18px 0; }
.tour-enhanced > div { display: flex; gap: 20px; flex-wrap: wrap; }
.tour-enhanced a { color: #a8241b; font-size: 13px; font-weight: 600; }
.tour-places { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.tour-places article { display: flex; flex-direction: column; padding: 26px; border: 1px solid #e0d2b4; border-radius: 12px; background: #faf8f3; }
.tour-places i { color: #b1261d; font-size: 28px; margin-bottom: 22px; }
.tour-places article > span { color: #897650; font-size: 11px; margin-bottom: 12px; }
.tour-places h3 { font-size: 20px; }
.tour-places p { font-size: 14px; }
.tour-places a { color: #a8241b; font-size: 13px; font-weight: 600; margin-top: auto; }
.tour-page button:focus-visible, .tour-page summary:focus-visible { outline: 3px solid #d4af37; outline-offset: 3px; }
@media (max-width: 767px) { .tour-places { grid-template-columns: 1fr; } .tour-photo-picker { grid-template-columns: repeat(4, minmax(0, 1fr)); } .tour-gallery-caption { padding: 16px; gap: 12px; } .tour-page .tour-gallery-caption h3 { font-size: 14px; } }

/* Thailand flag replaces the hero photo. */
.tour-visual.tour-thailand-flag { background: #fff; padding: 0; min-height: 0; display: block; aspect-ratio: 3 / 2; }
.thailand-flag { display: block; width: 100%; height: 100%; }
