/* Reusable premium itinerary template — intended for future itinerary pages. */
.tla-itinerary-template {
  --tla-ink:#151A1C;
  --tla-blue:#24364A;
  --tla-gold:#9A743E;
  --tla-clay:#8A5A3A;
  --tla-red:#A7563D;
  --tla-sand:#C7B79B;
  --tla-paper:#F5F1E8;
  --tla-line:rgba(21,26,28,.16);
  background:var(--tla-paper);
  color:var(--tla-ink);
  font-family:"Source Serif 4",Georgia,serif;
  overflow:hidden;
}
.tla-itinerary-template * { box-sizing:border-box; }
.tla-itinerary-template img { display:block; width:100%; height:auto; }
.tla-i-container { width:min(1200px,calc(100% - 40px)); margin-inline:auto; }
.tla-itinerary-template .itn-breadcrumbs { width:min(1200px,calc(100% - 40px)); display:flex; align-items:center; gap:9px; margin:0 auto; padding:18px 0; color:var(--tla-blue); font:11px Merriweather,serif; }
.tla-itinerary-template .itn-breadcrumbs a { color:var(--tla-clay); text-decoration:none; }
.tla-itinerary-template .itn-breadcrumbs i { font-size:9px; }
.tla-i-kicker { margin:0 0 15px; color:var(--tla-clay); font:700 10px Merriweather,serif; letter-spacing:.18em; text-transform:uppercase; }
.tla-i-kicker--light { color:var(--tla-sand); }
.tla-i-title, .tla-i-heading, .tla-i-day-title { font-family:"Cormorant Garamond",Georgia,serif; font-weight:600; line-height:1; }
.tla-i-title { max-width:780px; margin:0; color:var(--tla-paper); font-size:clamp(48px,7vw,88px); }
.tla-i-heading { margin:0; color:var(--tla-ink); font-size:clamp(38px,4.5vw,60px); }
.tla-i-copy { font-size:17px; line-height:1.72; }
.tla-i-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:13px 18px; border:1px solid var(--tla-gold); background:var(--tla-gold); color:var(--tla-ink); font:700 11px Merriweather,serif; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.tla-i-button--outline { border-color:var(--tla-paper); background:transparent; color:var(--tla-paper); }
.tla-i-button--dark { border-color:var(--tla-blue); color:var(--tla-blue); }
.tla-i-hero { position:relative; min-height:690px; display:flex; align-items:end; background:var(--tla-ink); background-image:linear-gradient(90deg,rgba(21,26,28,.88) 0%,rgba(21,26,28,.61) 49%,rgba(21,26,28,.2) 100%),var(--tla-hero-image); background-position:center; background-size:cover; }
.tla-i-hero-inner { width:min(1200px,calc(100% - 40px)); margin:0 auto; padding:122px 0 78px; }
.tla-i-hero--compact { min-height:460px; background-image:linear-gradient(90deg,rgba(21,26,28,.96),rgba(36,54,74,.92)); }
.tla-i-hero-copy { max-width:640px; margin:25px 0 0; color:var(--tla-paper); font-size:clamp(17px,2vw,21px); line-height:1.55; }
.tla-i-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.tla-i-journey-strip { border-bottom:1px solid var(--tla-sand); background:var(--tla-paper); }
.tla-i-journey-strip-inner { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.tla-i-journey-fact { min-height:115px; padding:25px 28px; border-left:1px solid var(--tla-sand); }
.tla-i-journey-fact:last-child { border-right:1px solid var(--tla-sand); }
.tla-i-journey-fact span { display:block; margin-bottom:8px; color:var(--tla-clay); font:700 9px Merriweather,serif; letter-spacing:.14em; text-transform:uppercase; }
.tla-i-journey-fact strong { display:block; color:var(--tla-ink); font:600 25px/1.08 "Cormorant Garamond",Georgia,serif; }
.tla-i-intro { padding:104px 0 80px; }
.tla-i-intro-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr); gap:66px; align-items:end; }
.tla-i-intro-grid .tla-i-copy { max-width:700px; margin:25px 0 0; }
.tla-i-quote { margin:0; padding:3px 0 3px 25px; border-left:3px solid var(--tla-gold); color:var(--tla-blue); font:500 26px/1.25 "Cormorant Garamond",Georgia,serif; }
.tla-i-section { padding:88px 0; }
.tla-i-section--dark { background:var(--tla-ink); color:var(--tla-paper); }
.tla-i-section--dark .tla-i-heading { color:var(--tla-paper); }
.tla-i-section--dark .tla-i-copy { color:var(--tla-paper); }
.tla-i-route-header { display:flex; justify-content:space-between; align-items:end; gap:35px; margin-bottom:42px; }
.tla-i-route-header .tla-i-copy { max-width:480px; margin:0; }
.tla-i-days { border-top:1px solid var(--tla-sand); }
.tla-i-day { display:grid; grid-template-columns:150px minmax(0,1fr) minmax(280px,.78fr); gap:40px; padding:42px 0; border-bottom:1px solid var(--tla-sand); }
.tla-i-day-number { color:var(--tla-clay); font:700 10px Merriweather,serif; letter-spacing:.16em; text-transform:uppercase; }
.tla-i-day-number strong { display:block; margin-top:9px; color:var(--tla-ink); font:600 44px/1 "Cormorant Garamond",Georgia,serif; letter-spacing:0; }
.tla-i-day-title { margin:0 0 13px; color:var(--tla-ink); font-size:clamp(30px,3vw,40px); }
.tla-i-day-copy { margin:0; font-size:16px; line-height:1.68; }
.tla-i-day-stay { margin-top:20px; padding-top:16px; border-top:1px solid var(--tla-line); }
.tla-i-day-stay span { display:block; margin-bottom:5px; color:var(--tla-clay); font:700 9px Merriweather,serif; letter-spacing:.13em; text-transform:uppercase; }
.tla-i-day-stay strong { display:block; color:var(--tla-blue); font:600 23px/1.14 "Cormorant Garamond",Georgia,serif; }
.tla-i-day-media { align-self:stretch; min-height:245px; overflow:hidden; background:var(--tla-sand); }
.tla-i-day-media img { width:100%; height:100%; object-fit:cover; }
.tla-i-stays { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; border:1px solid rgba(245,241,232,.32); background:rgba(245,241,232,.32); margin-top:37px; }
.tla-i-stay { padding:28px; background:var(--tla-ink); }
.tla-i-stay span { display:block; color:var(--tla-sand); font:700 9px Merriweather,serif; letter-spacing:.14em; text-transform:uppercase; }
.tla-i-stay h3 { margin:12px 0 12px; color:var(--tla-paper); font:600 30px/1.04 "Cormorant Garamond",Georgia,serif; }
.tla-i-stay p { margin:0; color:var(--tla-paper); font-size:15px; line-height:1.62; }
.tla-i-price-section { padding:96px 0; background:var(--tla-blue); color:var(--tla-paper); }
.tla-i-price-section .tla-i-heading { color:var(--tla-paper); }
.tla-i-price-section .tla-i-copy { max-width:660px; margin:18px 0 0; color:var(--tla-paper); }
.tla-i-pricing { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:42px; }
.tla-i-price { min-height:205px; padding:28px; border:1px solid rgba(245,241,232,.45); background:var(--tla-blue); }
.tla-i-price--feature { background:var(--tla-paper); border-color:var(--tla-paper); color:var(--tla-ink); }
.tla-i-price-label { display:block; font:700 10px Merriweather,serif; letter-spacing:.13em; text-transform:uppercase; }
.tla-i-price--feature .tla-i-price-label { color:var(--tla-clay); }
.tla-i-price-amount { display:block; margin:15px 0 9px; font:600 clamp(44px,5vw,64px)/.9 "Cormorant Garamond",Georgia,serif; }
.tla-i-price-note { display:block; max-width:200px; font-size:14px; line-height:1.45; }
.tla-i-offer { display:flex; gap:17px; align-items:flex-start; margin-top:28px; padding:22px 0; border-top:1px solid rgba(245,241,232,.35); border-bottom:1px solid rgba(245,241,232,.35); }
.tla-i-offer i { padding-top:4px; color:var(--tla-sand); }
.tla-i-offer strong { display:block; margin-bottom:4px; font:600 25px/1 "Cormorant Garamond",Georgia,serif; }
.tla-i-offer p { margin:0; font-size:15px; line-height:1.5; }
.tla-i-details { padding:88px 0; }
.tla-i-details-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; border:1px solid var(--tla-sand); background:var(--tla-sand); }
.tla-i-detail { padding:32px; background:var(--tla-paper); }
.tla-i-detail h3 { margin:0 0 16px; color:var(--tla-ink); font:600 32px/1 "Cormorant Garamond",Georgia,serif; }
.tla-i-detail ul { margin:0; padding-left:18px; }
.tla-i-detail li { margin:10px 0; line-height:1.5; }
.tla-i-detail p { margin:0; line-height:1.65; }
.tla-i-enquiry { padding:98px 0; background:var(--tla-paper); border-top:1px solid var(--tla-sand); }
.tla-i-enquiry-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:65px; align-items:start; }
.tla-i-enquiry-copy .tla-i-copy { max-width:480px; margin:22px 0; }
.tla-i-enquiry-link { color:var(--tla-clay); font:700 11px Merriweather,serif; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.tla-i-form { padding:34px; border:1px solid var(--tla-sand); background:var(--tla-paper); }
.tla-i-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.tla-i-form label { display:grid; gap:7px; color:var(--tla-ink); font:700 10px Merriweather,serif; letter-spacing:.07em; text-transform:uppercase; }
.tla-i-form input, .tla-i-form select, .tla-i-form textarea { width:100%; padding:12px; border:1px solid var(--tla-sand); background:var(--tla-paper); color:var(--tla-ink); font:16px "Source Serif 4",Georgia,serif; }
.tla-i-form .tla-i-wide { grid-column:1/-1; }
.tla-i-form button { margin-top:20px; cursor:pointer; }
.tla-i-form-status { min-height:1.4em; margin:14px 0 0; }
.tla-i-honey { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.tla-itinerary-template .tla-i-section--sand { background:var(--tla-sand,#f5f1e8); }
.tla-itinerary-template .tla-i-link-intro { max-width:720px; margin-top:16px; }
.tla-itinerary-template .tla-i-link-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:34px; }
.tla-itinerary-template .tla-i-link-card { min-height:238px; display:flex; flex-direction:column; align-items:flex-start; gap:18px; padding:28px; background:var(--tla-ink,#151a1c); color:var(--tla-ivory,#f5f1e8); text-decoration:none; border:1px solid var(--tla-ink,#151a1c); transition:background-color .2s ease,color .2s ease; }
.tla-itinerary-template .tla-i-link-card:hover { background:var(--tla-rust,#8a5a3a); border-color:var(--tla-rust,#8a5a3a); }
.tla-itinerary-template .tla-i-link-card span { color:var(--tla-gold,#9a743e); font:600 .74rem/1 "Merriweather",serif; letter-spacing:.14em; }
.tla-itinerary-template .tla-i-link-card strong { font:600 clamp(1.5rem,2vw,2rem)/1.05 "Cormorant Garamond",serif; }
.tla-itinerary-template .tla-i-link-card small { display:block; color:var(--tla-sand,#f5f1e8); font:400 .9rem/1.6 "Source Serif 4",serif; opacity:.88; }
.tla-itinerary-template .tla-i-link-card i { margin-top:auto; color:var(--tla-gold,#9a743e); }
.tla-itinerary-template .tla-i-detail-list { margin:28px 0 0; padding:0; list-style:none; border-top:1px solid rgba(21,26,28,.17); }
.tla-itinerary-template .tla-i-detail-list li { padding:18px 0 18px 34px; position:relative; border-bottom:1px solid rgba(21,26,28,.17); color:var(--tla-navy,#24364a); font:400 1rem/1.6 "Source Serif 4",serif; }
.tla-itinerary-template .tla-i-detail-list li::before { content:""; position:absolute; left:0; top:28px; width:14px; height:1px; background:var(--tla-gold,#9a743e); }
.tla-itinerary-template .tla-i-faq { margin-top:30px; border-top:1px solid rgba(21,26,28,.17); }
.tla-itinerary-template .tla-i-faq details { border-bottom:1px solid rgba(21,26,28,.17); padding:0; }
.tla-itinerary-template .tla-i-faq summary { cursor:pointer; list-style:none; padding:22px 40px 22px 0; position:relative; color:var(--tla-navy,#24364a); font:600 clamp(1.12rem,2vw,1.42rem)/1.35 "Cormorant Garamond",serif; }
.tla-itinerary-template .tla-i-faq summary::-webkit-details-marker { display:none; }
.tla-itinerary-template .tla-i-faq summary::after { content:"+"; position:absolute; right:0; top:17px; color:var(--tla-rust,#8a5a3a); font:400 1.8rem/1 "Cormorant Garamond",serif; }
.tla-itinerary-template .tla-i-faq details[open] summary::after { content:"−"; }
.tla-itinerary-template .tla-i-faq p { max-width:820px; margin:0 0 22px; color:var(--tla-navy,#24364a); font:400 1rem/1.7 "Source Serif 4",serif; }
@media (max-width: 900px) {
  .tla-i-day { grid-template-columns:110px minmax(0,1fr); }
  .tla-i-day-media { grid-column:2; }
  .tla-i-intro-grid, .tla-i-enquiry-grid { grid-template-columns:1fr; gap:35px; }
  .tla-i-stays { grid-template-columns:1fr; }
}
@media (max-width: 650px) {
  .tla-i-container, .tla-i-hero-inner { width:min(100% - 28px,1200px); }
  .tla-itinerary-template .itn-breadcrumbs { width:min(100% - 28px,1200px); overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
  .tla-i-hero { min-height:570px; background-image:linear-gradient(90deg,rgba(21,26,28,.85),rgba(21,26,28,.53)),var(--tla-hero-image); }
  .tla-i-hero--compact { min-height:390px; background-image:linear-gradient(90deg,rgba(21,26,28,.96),rgba(36,54,74,.92)); }
  .tla-i-hero-inner { padding:82px 0 54px; }
  .tla-i-actions { display:grid; grid-template-columns:1fr 1fr; }
  .tla-i-button { min-height:44px; min-width:0; padding:11px 8px; font-size:9px; }
  .tla-i-journey-strip-inner { grid-template-columns:1fr 1fr; }
  .tla-i-journey-fact { min-height:94px; padding:18px; border-bottom:1px solid var(--tla-sand); }
  .tla-i-intro, .tla-i-section, .tla-i-price-section, .tla-i-details, .tla-i-enquiry { padding:57px 0; }
  .tla-i-route-header { display:block; margin-bottom:30px; }
  .tla-i-route-header .tla-i-copy { margin-top:16px; }
  .tla-i-day { display:block; padding:31px 0; }
  .tla-i-day-number { margin-bottom:14px; }
  .tla-i-day-number strong { display:inline; margin-left:7px; font-size:31px; }
  .tla-i-day-media { min-height:0; margin-top:22px; aspect-ratio:16/10; }
  .tla-i-pricing, .tla-i-details-grid, .tla-i-form-grid { grid-template-columns:1fr; }
  .tla-itinerary-template .tla-i-link-grid { grid-template-columns:1fr; gap:10px; margin-top:24px; }
  .tla-itinerary-template .tla-i-link-card { min-height:0; padding:22px; gap:12px; }
  .tla-i-price { min-height:0; }
  .tla-i-form { padding:22px 16px; }
}
