/* Start custom CSS *//* ============================================================
   TDB Contact Page — "Sunset Horizon"
   Warm coral/orange/gold on dark · Playfair Display + Lora
   ============================================================ */

/* === GAP FIX (Elementor HTML Widget) === */
.tdb-contact-page {
  margin-top: -40px;
}
.elementor-widget-container:has(> .tdb-contact-page) { padding: 0 !important; margin: 0 !important; }
.elementor-widget:has(.tdb-contact-page) { padding: 0 !important; margin: 0 !important; width: 100% !important; max-width: 100% !important; }
.elementor-widget-wrap:has(.tdb-contact-page) { padding: 0 !important; margin: 0 !important; }
.elementor-element-populated:has(.tdb-contact-page) { padding: 0 !important; margin: 0 !important; }
.elementor-column:has(.tdb-contact-page) { padding: 0 !important; width: 100% !important; }
.elementor-container:has(.tdb-contact-page) { padding: 0 !important; margin: 0 auto !important; max-width: 100% !important; }
.elementor-row:has(.tdb-contact-page) { padding: 0 !important; margin: 0 !important; }
.elementor-section:has(.tdb-contact-page) { padding: 0 !important; margin: 0 !important; }
.elementor:has(.tdb-contact-page) > .elementor-section-wrap > .elementor-section { padding: 0 !important; margin: 0 !important; }
@media only screen and (max-width: 767px) {
  .content_wrapper .section_wrapper:has(.tdb-contact-page),
  .container:has(.tdb-contact-page) {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* === RESET & TOKENS === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  /* Sunset dark palette */
  --night:#0F0A07;
  --night-mid:#1A120D;
  --night-warm:#231810;
  --surface:#2C1E14;
  --surface-light:#3A2A1C;
  /* Sunset accents */
  --coral:#FF6B4A;
  --coral-soft:rgba(255,107,74,.15);
  --coral-glow:rgba(255,107,74,.35);
  --orange:#FF8C42;
  --gold:#FFB84D;
  --gold-dk:#E5A030;
  --amber:#FFCC66;
  --rose:#E8525A;
  /* Neutrals */
  --white:#FFFFFF;
  --cream:#F5EDE3;
  --sand:#C4AD94;
  --stone:#8A7665;
  --text:#E8DDD0;
  --text-dim:#A69580;
  /* Typography */
  --font-display:'Playfair Display',Georgia,serif;
  --font-body:'Lora','Times New Roman',serif;
  /* Spacing */
  --sp-xs:.5rem;--sp-sm:1rem;--sp-md:1.5rem;--sp-lg:2.5rem;--sp-xl:4rem;
  /* Shapes */
  --radius:8px;--radius-lg:16px;--radius-xl:24px;
  /* Shadows */
  --glow-sm:0 0 20px rgba(255,107,74,.1);
  --glow-md:0 0 40px rgba(255,107,74,.12);
  --shadow-card:0 4px 24px rgba(0,0,0,.5);
  --shadow-warm:0 4px 30px rgba(255,140,66,.08);
}

html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-body);color:var(--text);background:var(--night);line-height:1.75;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--coral);text-decoration:none;transition:color .25s,filter .25s}
a:hover{color:var(--gold);filter:drop-shadow(0 0 6px rgba(255,140,66,.3))}
.ctc-container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--sp-md)}

/* === FLOATING EMBERS === */
.ctc-embers{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.ctc-ember{position:absolute;border-radius:50%;opacity:0;animation:emberFloat linear infinite}
@keyframes emberFloat{
  0%{transform:translateY(0) scale(.4);opacity:0}
  8%{opacity:.8}
  40%{opacity:.5}
  100%{transform:translateY(-110vh) translateX(30px) scale(.8);opacity:0}
}
.ctc-ember--1{width:4px;height:4px;left:10%;bottom:-8px;background:var(--coral);box-shadow:0 0 8px var(--coral-soft);animation-duration:9s;animation-delay:0s}
.ctc-ember--2{width:6px;height:6px;left:25%;bottom:-10px;background:var(--orange);box-shadow:0 0 10px rgba(255,140,66,.2);animation-duration:12s;animation-delay:1.5s}
.ctc-ember--3{width:3px;height:3px;left:42%;bottom:-6px;background:var(--gold);box-shadow:0 0 6px rgba(255,184,77,.2);animation-duration:8s;animation-delay:3s}
.ctc-ember--4{width:5px;height:5px;left:58%;bottom:-10px;background:var(--coral);box-shadow:0 0 8px var(--coral-soft);animation-duration:14s;animation-delay:2s}
.ctc-ember--5{width:4px;height:4px;left:75%;bottom:-8px;background:var(--orange);box-shadow:0 0 8px rgba(255,140,66,.15);animation-duration:10s;animation-delay:4.5s}
.ctc-ember--6{width:3px;height:3px;left:90%;bottom:-6px;background:var(--gold);box-shadow:0 0 6px rgba(255,184,77,.2);animation-duration:7s;animation-delay:6s}
.ctc-ember--7{width:5px;height:5px;left:5%;bottom:-8px;background:var(--amber);box-shadow:0 0 10px rgba(255,204,102,.15);animation-duration:11s;animation-delay:7s}
.ctc-ember--8{width:3px;height:3px;left:50%;bottom:-6px;background:var(--rose);box-shadow:0 0 6px rgba(232,82,90,.15);animation-duration:13s;animation-delay:0.5s}

/* === LIGHT RAYS (warm) === */
.ctc-lightrays{position:absolute;top:0;left:0;right:0;height:100%;overflow:hidden;pointer-events:none;z-index:0}
.ctc-lightray{position:absolute;top:-20%;width:50px;height:140%;background:linear-gradient(180deg,rgba(255,140,66,.04) 0%,transparent 100%);transform-origin:top center;animation:ctcRayPulse 8s ease-in-out infinite}
.ctc-lightray:nth-child(1){left:15%;transform:rotate(8deg);animation-delay:0s;width:40px;background:linear-gradient(180deg,rgba(255,107,74,.03) 0%,transparent 100%)}
.ctc-lightray:nth-child(2){left:42%;transform:rotate(-5deg);animation-delay:2s;width:70px;opacity:.6}
.ctc-lightray:nth-child(3){left:68%;transform:rotate(10deg);animation-delay:4s;width:50px;background:linear-gradient(180deg,rgba(255,184,77,.03) 0%,transparent 100%)}
.ctc-lightray:nth-child(4){left:85%;transform:rotate(-12deg);animation-delay:1s;width:60px;opacity:.4}
@keyframes ctcRayPulse{0%,100%{opacity:.3}50%{opacity:.7}}

/* === DECO CIRCLE === */
.ctc-deco-circle{position:absolute;border-radius:50%;pointer-events:none;z-index:0}

/* === SECTION HEADING === */
.ctc-section-heading{text-align:center;margin-bottom:var(--sp-lg)}
.ctc-section-heading h2{
  font-family:var(--font-display);font-size:clamp(1.6rem,3.5vw,2.6rem);
  font-weight:700;color:var(--white);margin-bottom:var(--sp-xs);
  letter-spacing:-.01em;font-style:italic;
}
.ctc-section-heading h2::after{
  content:'';display:block;width:60px;height:2px;margin:14px auto 0;
  background:linear-gradient(90deg,var(--coral),var(--gold));border-radius:2px;
  box-shadow:0 0 12px rgba(255,107,74,.15);
}
.ctc-section-heading p{color:var(--text-dim);max-width:620px;margin:0 auto;font-size:1rem}

/* ============================================================
   HERO
   ============================================================ */
.ctc-hero{
  position:relative;
  background:
    radial-gradient(ellipse 80% 60% at 50% 110%, rgba(255,107,74,.12) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 80% 20%, rgba(255,184,77,.06) 0%, transparent 60%),
    radial-gradient(ellipse 40% 30% at 15% 60%, rgba(232,82,90,.04) 0%, transparent 60%),
    linear-gradient(175deg, var(--night) 0%, var(--night-mid) 40%, var(--night-warm) 70%, var(--surface) 100%);
  color:var(--white);padding:calc(var(--sp-xl) + 2.5rem) 0 calc(var(--sp-xl) + 1.5rem);
  text-align:center;overflow:hidden;
}
/* Horizon glow line */
.ctc-hero::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg, transparent 5%, rgba(255,107,74,.2) 30%, rgba(255,184,77,.3) 50%, rgba(255,107,74,.2) 70%, transparent 95%);
  box-shadow:0 0 30px rgba(255,140,66,.15);
}
.ctc-hero .ctc-container{position:relative;z-index:2}
.ctc-hero__badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,107,74,.08);border:1px solid rgba(255,107,74,.2);
  padding:8px 22px;border-radius:50px;font-size:.78rem;font-weight:600;
  letter-spacing:.08em;margin-bottom:var(--sp-md);backdrop-filter:blur(8px);
  color:var(--coral);text-transform:uppercase;font-family:var(--font-body);
  box-shadow:var(--glow-sm);
}
.ctc-hero h1{
  font-family:var(--font-display);font-size:clamp(2.2rem,5.5vw,4rem);
  font-weight:700;line-height:1.1;margin-bottom:var(--sp-sm);
  letter-spacing:-.01em;font-style:italic;color:#FFFFFF;
  text-shadow:0 0 60px rgba(255,107,74,.1);
}
.ctc-hero__sub{
  font-size:clamp(1rem,2vw,1.15rem);color:var(--sand);
  max-width:600px;margin:0 auto;line-height:1.8;font-weight:400;
}

/* Wave */
.ctc-wave{display:block;width:100%;height:auto;margin-top:-1px}

/* ============================================================
   GET IN TOUCH
   ============================================================ */
.ctc-touch{padding:var(--sp-xl) 0;background:var(--night);position:relative;overflow:hidden}
.ctc-touch-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-lg);align-items:start}

/* Left column */
.ctc-touch-intro h3{
  font-family:var(--font-display);font-size:1.5rem;font-weight:700;
  color:var(--white);margin-bottom:var(--sp-sm);font-style:italic;
}
.ctc-touch-intro p{color:var(--text-dim);font-size:.92rem;line-height:1.85;margin-bottom:var(--sp-md)}

.ctc-contact-cards{display:flex;flex-direction:column;gap:10px}
.ctc-contact-card{
  display:flex;align-items:center;gap:14px;
  background:var(--night-warm);border:1px solid rgba(255,107,74,.06);
  border-radius:var(--radius-lg);padding:14px 18px;
  transition:all .3s;text-decoration:none;
}
.ctc-contact-card:hover{border-color:rgba(255,107,74,.2);transform:translateX(4px);box-shadow:var(--glow-sm)}
.ctc-contact-card__icon{
  width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(255,107,74,.08);border:1px solid rgba(255,107,74,.12);
  font-size:1.1rem;flex-shrink:0;
}
.ctc-contact-card__info{flex:1;min-width:0}
.ctc-contact-card__label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--stone);font-weight:700;font-family:var(--font-body)}
.ctc-contact-card__value{font-size:.9rem;color:var(--cream);font-weight:500}
.ctc-contact-card__value a{color:var(--coral)}

/* Social */
.ctc-social{display:flex;gap:10px;margin-top:var(--sp-md);flex-wrap:wrap}
.ctc-social-link{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--night-warm);border:1px solid rgba(255,107,74,.08);
  border-radius:50px;padding:8px 16px;font-size:.82rem;font-weight:600;
  color:var(--sand);transition:all .25s;font-family:var(--font-body);
}
.ctc-social-link:hover{border-color:var(--coral);color:var(--coral);background:rgba(255,107,74,.06);box-shadow:var(--glow-sm)}
.ctc-social-link svg{width:16px;height:16px;fill:currentColor;flex-shrink:0}

/* Right column — form */
.ctc-form-card{
  background:var(--night-mid);border:1px solid rgba(255,107,74,.08);
  border-radius:var(--radius-xl);padding:var(--sp-lg);
  box-shadow:var(--shadow-card);position:relative;overflow:hidden;
}
.ctc-form-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg, var(--coral), var(--orange), var(--gold), var(--orange), var(--coral));
  background-size:200% 100%;
  animation:ctcFormGlow 4s ease-in-out infinite;
}
@keyframes ctcFormGlow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.ctc-form-card h3{
  font-family:var(--font-display);font-size:1.3rem;font-weight:700;
  color:var(--white);margin-bottom:4px;font-style:italic;
}
.ctc-form-card > p{color:var(--text-dim);font-size:.85rem;margin-bottom:var(--sp-md)}

/* === EVEREST FORMS THEME OVERRIDE === */
.ctc-everest-form{text-align:left}
.ctc-everest-form .everest-forms{font-family:var(--font-body)!important}

/* Labels */
.ctc-everest-form .evf-field-label,
.ctc-everest-form .everest-forms .evf-field-label label{
  font-size:.78rem!important;font-weight:700!important;text-transform:uppercase!important;
  letter-spacing:.08em!important;color:var(--sand)!important;margin-bottom:6px!important;
  font-family:var(--font-body)!important;
}

/* Inputs, selects, textareas */
.ctc-everest-form .everest-forms input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.ctc-everest-form .everest-forms select,
.ctc-everest-form .everest-forms textarea{
  width:100%!important;background:var(--night-warm)!important;color:var(--cream)!important;
  border:1px solid rgba(255,107,74,.1)!important;border-radius:var(--radius)!important;
  padding:12px 16px!important;font-size:.9rem!important;font-family:var(--font-body)!important;
  transition:border-color .25s,box-shadow .25s!important;outline:none!important;
  -webkit-appearance:none!important;
}
.ctc-everest-form .everest-forms input:focus,
.ctc-everest-form .everest-forms select:focus,
.ctc-everest-form .everest-forms textarea:focus{
  border-color:var(--coral)!important;box-shadow:0 0 0 3px rgba(255,107,74,.08)!important;
}
.ctc-everest-form .everest-forms ::placeholder{color:var(--stone)!important}

/* Field containers */
.ctc-everest-form .evf-field{margin-bottom:var(--sp-sm)!important}
.ctc-everest-form .evf-field-container{padding:0!important}

/* Descriptions & sub-labels */
.ctc-everest-form .evf-field-description,
.ctc-everest-form .evf-field-sublabel,
.ctc-everest-form .everest-forms .evf-field-description,
.ctc-everest-form .everest-forms .evf-field-sublabel,
.ctc-everest-form .everest-forms .evf-field label,
.ctc-everest-form .everest-forms .evf-field .evf-field-description p,
.ctc-everest-form .everest-forms .evf-field span,
.ctc-everest-form .everest-forms .evf-field-container label.evf-field-label span{color:#FFFFFF!important;font-size:.82rem!important}

/* Required asterisk */
.ctc-everest-form .evf-field-label .required{color:var(--coral)!important}

/* Submit button */
.ctc-everest-form .everest-forms input[type="submit"],
.ctc-everest-form .everest-forms button[type="submit"],
.ctc-everest-form .everest-forms .evf-submit-container input,
.ctc-everest-form .everest-forms .evf-submit-container button{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;
  background:linear-gradient(135deg,var(--coral),var(--orange))!important;color:var(--white)!important;
  font-family:var(--font-display)!important;font-weight:700!important;
  padding:14px 32px!important;border-radius:50px!important;font-size:1rem!important;
  letter-spacing:.02em!important;border:none!important;cursor:pointer!important;font-style:italic!important;
  box-shadow:0 4px 20px rgba(255,107,74,.25)!important;
  transition:all .3s cubic-bezier(.23,1,.32,1)!important;margin-top:var(--sp-xs)!important;
}
.ctc-everest-form .everest-forms input[type="submit"]:hover,
.ctc-everest-form .everest-forms button[type="submit"]:hover,
.ctc-everest-form .everest-forms .evf-submit-container input:hover,
.ctc-everest-form .everest-forms .evf-submit-container button:hover{
  transform:translateY(-2px)!important;box-shadow:0 8px 32px rgba(255,107,74,.4)!important;
}

/* Error messages */
.ctc-everest-form .everest-forms .evf-error{color:var(--coral)!important;font-size:.8rem!important}

/* Success message */
.ctc-everest-form .everest-forms .everest-forms-notice--success{
  background:rgba(255,184,77,.08)!important;border:1px solid rgba(255,184,77,.2)!important;
  color:var(--gold)!important;border-radius:var(--radius-lg)!important;padding:var(--sp-md)!important;
}

/* Checkbox & radio */
.ctc-everest-form .everest-forms input[type="checkbox"],
.ctc-everest-form .everest-forms input[type="radio"]{accent-color:var(--coral)!important}

/* Remove default Everest Forms backgrounds & borders */
.ctc-everest-form .everest-forms .evf-container,
.ctc-everest-form .everest-forms .evf-container .evf-field-container{
  background:transparent!important;border:none!important;box-shadow:none!important;
}
/* ============================================================
   GETTING TO TDB
   ============================================================ */
.ctc-getting{
  padding:var(--sp-xl) 0;
  background:linear-gradient(180deg,var(--night-mid),var(--night-warm));
  position:relative;overflow:hidden;
}
.ctc-getting-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-lg);align-items:start}

/* Map */
.ctc-map-card{
  background:var(--night-mid);border:1px solid rgba(255,107,74,.06);
  border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-card);
}
.ctc-map-card iframe{width:100%;height:380px;border:none;display:block;filter:saturate(.6) brightness(.75) contrast(1.1) sepia(.2)}
.ctc-map-card__footer{
  padding:14px 18px;display:flex;align-items:center;justify-content:space-between;
  border-top:1px solid rgba(255,107,74,.06);
}
.ctc-map-card__gps{font-size:.8rem;color:var(--stone);font-family:monospace}
.ctc-map-card__link{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.82rem;font-weight:600;color:var(--coral);
  font-family:var(--font-body);
}

/* Transport tabs */
.ctc-transport-card{
  background:var(--night-mid);border:1px solid rgba(255,107,74,.06);
  border-radius:var(--radius-xl);box-shadow:var(--shadow-card);overflow:hidden;
}
.ctc-transport-intro{padding:var(--sp-md) var(--sp-md) 0}
.ctc-transport-intro p{color:var(--text-dim);font-size:.9rem;line-height:1.8}

.ctc-transport-tabs{display:flex;gap:0;border-bottom:1px solid rgba(255,107,74,.08);margin-top:var(--sp-sm)}
.ctc-transport-tab{
  flex:1;padding:12px;text-align:center;font-family:var(--font-display);
  font-weight:700;font-size:.88rem;color:var(--stone);cursor:pointer;
  border:none;background:transparent;transition:all .25s;position:relative;font-style:italic;
}
.ctc-transport-tab::after{
  content:'';position:absolute;bottom:0;left:20%;right:20%;height:2px;
  background:linear-gradient(90deg,var(--coral),var(--orange));border-radius:2px;transform:scaleX(0);transition:transform .25s;
}
.ctc-transport-tab:hover{color:var(--sand)}
.ctc-transport-tab.active{color:var(--coral)}
.ctc-transport-tab.active::after{transform:scaleX(1);box-shadow:0 0 8px rgba(255,107,74,.15)}

.ctc-transport-panel{display:none;padding:var(--sp-md)}
.ctc-transport-panel.active{display:block}
.ctc-transport-panel p{color:var(--text-dim);font-size:.88rem;line-height:1.85;margin-bottom:var(--sp-sm)}
.ctc-transport-panel p:last-child{margin-bottom:0}
.ctc-transport-panel strong{color:var(--cream)}

.ctc-route-card{
  background:var(--night-warm);border:1px solid rgba(255,107,74,.06);
  border-radius:var(--radius-lg);padding:14px 18px;margin-bottom:10px;
  border-left:3px solid var(--coral);
}
.ctc-route-card__title{font-family:var(--font-display);font-size:.92rem;font-weight:700;color:var(--cream);margin-bottom:4px;font-style:italic}
.ctc-route-card__detail{font-size:.82rem;color:var(--text-dim);line-height:1.7}
.ctc-route-card__time{
  display:inline-block;background:rgba(255,107,74,.1);color:var(--coral);
  font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:50px;
  margin-top:6px;font-family:var(--font-body);
}

.ctc-link-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--sp-sm)}
.ctc-ext-link{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--night-warm);border:1px solid rgba(255,107,74,.1);
  border-radius:50px;padding:8px 16px;font-size:.82rem;font-weight:600;
  color:var(--coral);transition:all .25s;font-family:var(--font-body);
}
.ctc-ext-link:hover{background:rgba(255,107,74,.06);border-color:var(--coral);color:var(--gold);box-shadow:var(--glow-sm)}

/* ============================================================
   BOTTOM CTA
   ============================================================ */
.ctc-bottom-cta{
  background:
    radial-gradient(ellipse 60% 50% at 50% 100%, rgba(255,107,74,.06) 0%, transparent 70%),
    radial-gradient(ellipse 40% 30% at 30% 40%, rgba(255,184,77,.03) 0%, transparent 60%),
    linear-gradient(160deg,var(--night),var(--surface));
  color:var(--white);padding:var(--sp-xl) 0;text-align:center;
  position:relative;overflow:hidden;
  border-top:1px solid rgba(255,107,74,.06);
}
.ctc-bottom-cta .ctc-container{position:relative;z-index:1}
.ctc-bottom-cta h2{
  font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.2rem);
  font-weight:700;margin-bottom:var(--sp-xs);color:var(--white);font-style:italic;
}
.ctc-bottom-cta p{color:var(--text-dim);margin-bottom:var(--sp-md);font-size:1rem}
.ctc-cta-btn{
  display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(135deg,var(--coral),var(--orange));color:var(--white);
  font-family:var(--font-display);font-weight:700;padding:16px 36px;border-radius:50px;
  font-size:1rem;letter-spacing:.02em;box-shadow:0 4px 20px rgba(255,107,74,.25);
  transition:all .3s cubic-bezier(.23,1,.32,1);font-style:italic;
}
.ctc-cta-btn:hover{color:var(--white);filter:none;transform:translateY(-3px);box-shadow:0 8px 32px rgba(255,107,74,.4)}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:768px){
  .ctc-touch-grid,.ctc-getting-content{grid-template-columns:1fr}
  .ctc-map-card iframe{height:280px}
}
@media(max-width:480px){
  .ctc-social{gap:6px}
  .ctc-social-link{padding:6px 12px;font-size:.78rem}
  .ctc-link-list{flex-direction:column}
}/* End custom CSS */