/* ---------- /tomorrowland : Tomorrowland Thailand 2026 ---------- */

/* section scaffold (this page doesn't load sections.css) */
.section{padding:clamp(72px,11vw,140px) 0;}
.tml-alt{background:linear-gradient(180deg,var(--navy-900),var(--ink));}
.sec-head{text-align:center;max-width:680px;margin:0 auto clamp(44px,6vw,72px);}
.sec-head .eyebrow{margin-bottom:22px;}
.sec-head h2{font-family:var(--f-display);text-transform:uppercase;color:#fff;
  font-size:clamp(30px,4.4vw,56px);letter-spacing:.04em;}
.sec-head p{margin-top:20px;color:var(--mist-dim);font-size:17px;line-height:1.7;}
.tml-narrow{max-width:940px;}

/* hero */
.tml-hero{position:relative;min-height:92vh;display:flex;align-items:flex-end;
  padding:150px 0 clamp(48px,7vh,84px);overflow:hidden;}
.tml-hero .media{position:absolute;inset:0;}
.tml-hero .media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(3,32,47,.42) 0%,rgba(3,32,47,.66) 55%,var(--ink) 100%);}
.tml-hero .inner{position:relative;}
.tml-hero h1{font-family:var(--f-display);text-transform:uppercase;color:#fff;
  font-size:clamp(42px,7vw,92px);letter-spacing:.05em;line-height:1.02;margin-top:18px;}
.tml-hero h1 em{font-style:normal;color:var(--aqua);}
.tml-hero .lede{margin:22px 0 30px;max-width:560px;font-size:clamp(15.5px,1.6vw,18px);
  color:var(--mist);line-height:1.7;}
.tml-meta{display:flex;gap:38px;flex-wrap:wrap;margin-bottom:32px;}
.tml-meta div{color:#fff;font-size:14px;letter-spacing:.04em;}
.tml-meta span{display:block;font-family:var(--f-display);text-transform:uppercase;
  color:var(--aqua);font-size:10.5px;letter-spacing:.3em;margin-bottom:7px;}
.tml-ctas{display:flex;gap:16px;flex-wrap:wrap;}
.tml-urgency{margin-top:38px;display:inline-flex;gap:12px;align-items:center;
  background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:2px;
  padding:12px 20px;color:var(--mist);font-size:13.5px;}
.tml-urgency b{color:var(--aqua);font-weight:400;}

/* line-up */
.tml-lineup{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.tml-lineup div{background:rgba(255,255,255,.04);border:1px solid var(--line-soft);
  border-radius:3px;padding:22px 14px;text-align:center;font-family:var(--f-display);
  text-transform:uppercase;letter-spacing:.08em;font-size:14px;color:#fff;}
.tml-lineup-toggle{margin-top:28px;background:none;border:none;cursor:pointer;
  font-family:var(--f-display);text-transform:uppercase;letter-spacing:.24em;
  font-size:12px;color:var(--aqua);padding:4px 0;}
.tml-lineup-toggle:hover{color:#fff;}
.tml-lineup-more{margin-top:18px;border:1px dashed var(--line);border-radius:3px;
  padding:22px 26px;color:var(--mist-dim);font-size:13.5px;line-height:1.9;
  max-height:190px;overflow-y:auto;scrollbar-width:thin;}
@media(max-width:900px){ .tml-lineup{grid-template-columns:repeat(2,1fr);} }

/* at-a-glance table */
.tml-scroll{overflow-x:auto;scrollbar-width:thin;}
.tml-glance{width:100%;min-width:760px;border-collapse:collapse;font-size:14px;color:var(--mist);}
.tml-glance th,.tml-glance td{border:1px solid var(--line-soft);padding:15px 16px;
  text-align:center;vertical-align:middle;line-height:1.5;}
.tml-glance th{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.12em;
  font-weight:400;font-size:15px;color:#fff;background:rgba(23,101,172,.25);}
.tml-glance td:first-child,.tml-glance th:first-child{text-align:left;color:#fff;
  background:rgba(255,255,255,.04);white-space:nowrap;}
.tml-glance .price{font-family:var(--f-display);font-size:19px;color:var(--aqua);letter-spacing:.03em;}
.tml-glance tr:nth-child(even) td:not(:first-child){background:rgba(255,255,255,.025);}

.tml-includes{margin-top:44px;background:rgba(23,101,172,.18);border:1px solid var(--line-soft);
  border-radius:3px;padding:34px 38px;display:grid;grid-template-columns:1fr 2fr;gap:30px;align-items:center;}
.tml-includes h3{font-family:var(--f-display);text-transform:uppercase;color:#fff;
  font-size:20px;letter-spacing:.06em;margin-top:12px;}
.tml-includes ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;}
.tml-includes li{font-size:13.5px;color:var(--mist);padding-left:20px;position:relative;line-height:1.55;}
.tml-includes li::before{content:"✓";position:absolute;left:0;color:var(--aqua);}
@media(max-width:900px){ .tml-includes{grid-template-columns:1fr;}
  .tml-includes ul{grid-template-columns:1fr;} }

/* package tabs */
.tml-tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:44px;}
.tml-tab{padding:14px 28px;border:1px solid var(--line);background:transparent;border-radius:2px;
  font-family:var(--f-display);text-transform:uppercase;letter-spacing:.18em;font-size:12px;
  color:var(--mist);cursor:pointer;transition:.3s;}
.tml-tab:hover{border-color:var(--blue-soft);color:#fff;}
.tml-tab.active{background:var(--blue);border-color:var(--blue);color:#fff;}
.tml-panel{display:none;}
.tml-panel.active{display:block;}

.tml-pkg-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;
  gap:20px;border-bottom:1px solid var(--line-soft);padding-bottom:26px;margin-bottom:32px;}
.tml-pkg-head h3{font-family:var(--f-display);text-transform:uppercase;color:#fff;
  font-size:32px;letter-spacing:.06em;}
.tml-pkg-head .hotel{color:var(--mist-dim);font-size:14px;margin-top:8px;max-width:520px;line-height:1.6;}
.tml-price{font-family:var(--f-display);font-size:30px;color:var(--aqua);text-align:right;letter-spacing:.03em;}
.tml-price small{display:block;font-family:var(--f-body);font-size:11.5px;color:var(--mist-dim);
  letter-spacing:.04em;margin-top:6px;}

.tml-cols{display:grid;grid-template-columns:1fr 1fr;gap:46px;margin-bottom:40px;}
.tml-cols h4{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.24em;
  font-size:11.5px;color:var(--aqua);margin:0 0 14px;font-weight:400;}
.tml-cols ul{list-style:none;margin:0;padding:0;}
.tml-cols li{padding:10px 0 10px 20px;position:relative;font-size:14px;color:var(--mist);
  border-top:1px solid var(--line-soft);line-height:1.6;}
.tml-cols li::before{content:"—";position:absolute;left:0;color:var(--blue-soft);}
.tml-cols .ex li::before{color:var(--mist-dim);}
@media(max-width:900px){ .tml-cols{grid-template-columns:1fr;gap:30px;} }

.tml-itin-label{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.24em;
  font-size:11.5px;color:var(--aqua);margin:0 0 12px;font-weight:400;}
.tml-itin{margin-bottom:34px;}
.tml-itin .row{display:grid;grid-template-columns:96px 1fr;gap:18px;padding:13px 0;
  border-top:1px solid var(--line-soft);}
.tml-itin .row:last-child{border-bottom:1px solid var(--line-soft);}
.tml-itin .day{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.1em;
  color:#fff;font-size:13.5px;padding-top:2px;}
.tml-itin p{font-size:14px;color:var(--mist-dim);line-height:1.65;}

.tml-payment{background:rgba(255,255,255,.04);border-left:2px solid var(--blue-soft);
  border-radius:2px;padding:20px 24px;font-size:14px;color:var(--mist);line-height:1.7;margin-bottom:30px;}
.tml-payment b{color:#fff;font-weight:400;font-family:var(--f-display);text-transform:uppercase;
  letter-spacing:.08em;font-size:12.5px;}

/* terms accordion */
.tml-term{border-bottom:1px solid var(--line-soft);}
.tml-term summary{padding:22px 4px;cursor:pointer;font-family:var(--f-display);
  text-transform:uppercase;letter-spacing:.1em;font-size:16px;color:#fff;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:16px;}
.tml-term summary::-webkit-details-marker{display:none;}
.tml-term summary::after{content:"+";font-size:22px;color:var(--aqua);font-family:var(--f-body);}
.tml-term[open] summary::after{content:"–";}
.tml-term .body{padding:0 4px 24px;color:var(--mist-dim);font-size:14.5px;line-height:1.7;}
.tml-term .body ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;}

/* embedded enquiry */
.tml-enq .enq-form{max-width:760px;margin:0 auto;}
.tml-reserve{margin-top:2px;}

@media(max-width:560px){
  .tml-meta{gap:22px;}
  .tml-glance{font-size:12.5px;}
  .tml-glance th,.tml-glance td{padding:10px 10px;}
  .tml-pkg-head .tml-price{text-align:left;}
}
