/* Koh Tao Thailand — built-in events calendar */
.kt-events { min-height: 320px; }
.kte-bar { display: flex; flex-wrap: wrap; gap: 14px 20px; align-items: center; justify-content: space-between; margin-bottom: 26px; }
.kte-ranges { display: flex; gap: 8px; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 2px; max-width: 100%; }
.kte-ranges::-webkit-scrollbar { display: none; }
.kte-ranges .filter-chip { white-space: nowrap; flex: none; }
.kte-selects { display: flex; gap: 10px; flex-wrap: wrap; }
.kte-sel { display: flex; flex-direction: column; gap: 4px; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-40, rgba(29,29,31,.45)); }
.night .kte-sel { color: rgba(255, 255, 255, .45); }
.kte-sel select { font: inherit; font-size: 14px; letter-spacing: 0; text-transform: none; font-weight: 500; padding: 9px 34px 9px 14px; border-radius: 12px; border: 1px solid rgba(29, 29, 31, .15); background: #fff; color: var(--ink); max-width: 210px; -webkit-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2357c4e5' stroke-width='2'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; }
.night .kte-sel select { background-color: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .2); color: #fff; }
.night .kte-sel select option { color: #1d1d1f; }
.kte-day { margin: 34px 0 14px; font-size: 14px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); }
.night .kte-day { color: var(--cyan); }
.kte-list > .kte-day:first-child { margin-top: 0; }
.kte-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 14px; align-items: start; }
.kte-card { display: flex; gap: 16px; padding: 14px; border-radius: var(--radius-sm, 18px); border: 1px solid var(--line); background: #fff; color: var(--ink); align-items: flex-start; }
.night .kte-card { background: rgba(255, 255, 255, .03); border-color: var(--night-line); color: #fff; }
.kte-img { flex: none; width: 104px; aspect-ratio: 4 / 5; border-radius: 12px; overflow: hidden; background: rgba(87, 196, 229, .12); }
.kte-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kte-noimg::after { content: '✦'; }
.kte-noimg { display: flex; align-items: center; justify-content: center; color: var(--cyan); font-size: 26px; }
.kte-body { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 6px; }
.kte-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 13px; font-weight: 600; }
.kte-time { color: var(--accent); }
.night .kte-time { color: var(--gold); }
.kte-venue { opacity: .7; }
.kte-name { margin: 0; font-size: 18px; line-height: 1.25; font-weight: 700; letter-spacing: -.01em; overflow-wrap: anywhere; }
.kte-tags { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; }
.kte-tags .chip { font-size: 10px; padding: 4px 9px; }
.kte-rep { font-size: 12px; opacity: .65; }
.kte-extra { display: none; flex-direction: column; gap: 12px; margin-top: 4px; }
.kte-card.open .kte-extra { display: flex; }
.kte-desc { font-size: 14px; line-height: 1.55; opacity: .82; overflow-wrap: anywhere; }
.kte-desc a { text-decoration: underline; }
.kte-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.kte-more { align-self: flex-start; margin-top: 2px; padding: 0; border: 0; background: none; font: inherit; font-size: 13px; font-weight: 700; color: var(--accent); cursor: pointer; }
.night .kte-more { color: var(--cyan); }
.kte-empty { padding: 30px; border-radius: var(--radius-sm, 18px); border: 1px dashed var(--night-line, rgba(0,0,0,.15)); text-align: center; opacity: .8; }
@media (max-width: 600px) {
  .kte-cards { grid-template-columns: 1fr; }
  .kte-img { width: 84px; }
  .kte-selects { width: 100%; }
  .kte-sel { flex: 1; }
  .kte-sel select { max-width: none; width: 100%; }
  .kte-name { font-size: 17px; }
}
/* promos band */
.promo-band { background: #eaf8f7; border-top: 5px solid #46c6c0; border-bottom: 1px solid rgba(70,198,192,.35); }
.promo-band .kicker { color: #16807b; }
.promo-band .h-display { color: #333; }
.promo-band .section-head a { color: #16807b; }
.promo-band .kte-card { background: #fff; border: 1px solid rgba(70,198,192,.35); box-shadow: 0 10px 26px rgba(22,128,123,.08); }
.promo-band .kte-time { color: #16807b; }
.promo-band .chip { background: rgba(70,198,192,.18); color: #16807b; }
.promo-band .kte-more { color: #16807b; }
.promo-badge { display: inline-flex; align-items: center; gap: 6px; background: #46c6c0; color: #333; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; border-radius: 99px; padding: 6px 12px; margin-bottom: 12px; }
/* /promos band */
