/* Ceylon Lanka Trails - custom widget styles */

/* ---------- Island map ---------- */
.clt-mapwrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,56px);align-items:center;width:100%}
.clt-mapwrap.no-list{grid-template-columns:1fr}
@media(max-width:900px){.clt-mapwrap{grid-template-columns:1fr}}
.clt-map svg{width:100%;max-width:430px;margin-inline:auto;display:block;overflow:visible}
.clt-shore{fill:rgba(30,107,87,.1);stroke:#C6A15B;stroke-width:1.2;stroke-dasharray:3 4;opacity:.5}
.clt-land{fill:rgba(30,107,87,.16);stroke:#1E6B57;stroke-width:1.4}
.is-dark .clt-land{fill:rgba(198,161,91,.1);stroke:#E3CFA4}
.clt-route{fill:none;stroke:#C6A15B;stroke-width:1.6;stroke-dasharray:5 5;stroke-linecap:round}
.clt-pin{cursor:pointer;outline:none}
.clt-pin .dot{fill:#0F3D33;stroke:#fff;stroke-width:1.6;transition:.3s}
.is-dark .clt-pin .dot{fill:#C6A15B;stroke:#0F3D33}
.clt-pin .halo{fill:#C6A15B;opacity:0;transition:.3s}
.clt-pin .num{font-family:'DM Mono',monospace;font-size:8px;fill:#fff;font-weight:500;pointer-events:none}
.clt-pin .lbl{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.1em;fill:#0A1C18;text-transform:uppercase;pointer-events:none}
.is-dark .clt-pin .lbl{fill:#fff}
.clt-pin:hover .halo,.clt-pin:focus .halo,.clt-pin.is-on .halo{opacity:.3;r:14}
.clt-pin:hover .dot,.clt-pin:focus .dot,.clt-pin.is-on .dot{fill:#C6A15B;r:6}

.clt-maplist{display:grid;gap:2px}
.clt-maprow{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;
  padding:14px 16px;border-bottom:1px solid rgba(10,28,24,.14);text-align:left;transition:.25s;
  text-decoration:none;color:inherit;cursor:pointer}
.is-dark .clt-maprow{border-color:rgba(255,255,255,.18)}
.clt-maprow:hover,.clt-maprow.is-on{background:rgba(198,161,91,.12);padding-left:24px}
.clt-maprow-name{font-family:Fraunces,Georgia,serif;font-size:1.05rem;font-weight:400;color:#0A1C18}
.is-dark .clt-maprow-name{color:#fff}
.clt-maprow-name em{font-family:'DM Mono',monospace;font-style:normal;font-size:.7rem;color:#C6A15B;letter-spacing:.1em}
.clt-maprow-coord{font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.12em;color:#C6A15B;text-transform:uppercase;white-space:nowrap}

/* ---------- Tour finder ---------- */
.clt-finder{background:#fff;box-shadow:0 24px 60px -30px rgba(10,28,24,.45);border-top:2px solid #C6A15B;
  display:grid;grid-template-columns:repeat(4,1fr) auto;gap:0;width:100%}
.clt-finder .clt-fld{padding:16px 20px;border-right:1px solid rgba(10,28,24,.14);display:flex;flex-direction:column;gap:3px}
.clt-finder label{font-family:'DM Mono',monospace;font-size:.63rem;letter-spacing:.18em;text-transform:uppercase;color:#1E6B57}
.clt-finder select{border:0;background:none;font-family:Inter,sans-serif;font-size:.92rem;color:#0A1C18;padding:0;width:100%;cursor:pointer}
.clt-finder select:focus{outline:none}
.clt-finder button{background:#0F3D33;color:#fff;padding:16px 34px;border:0;cursor:pointer;
  font-family:Inter,sans-serif;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;transition:.3s}
.clt-finder button:hover{background:#C6A15B;color:#0A1C18}
@media(max-width:1080px){.clt-finder{grid-template-columns:1fr 1fr}.clt-finder button{grid-column:span 2}}
@media(max-width:640px){.clt-finder{grid-template-columns:1fr}
  .clt-finder .clt-fld{border-right:0;border-bottom:1px solid rgba(10,28,24,.14)}
  .clt-finder button{grid-column:span 1}}

/* ---------- Island watermark behind sections ---------- */
.clt-watermark{position:relative;isolation:isolate}
.clt-watermark>.clt-wm-svg{position:absolute;top:0;right:0;height:100%;width:auto;max-width:60%;
  pointer-events:none;z-index:-1;opacity:.055;overflow:visible}
.clt-watermark>.clt-wm-svg path{fill:#0F3D33;stroke:none}
.clt-wm-dark>.clt-wm-svg{opacity:.09}
.clt-wm-dark>.clt-wm-svg path{fill:#E3CFA4}
@media(max-width:700px){.clt-watermark>.clt-wm-svg{max-width:82%;opacity:.045}}

/* ---------- Ken Burns on hero backgrounds ---------- */
.clt-kenburns{animation:cltKB 22s ease-out forwards;will-change:transform}
@keyframes cltKB{from{background-size:112%}to{background-size:100%}}

/* ---------- Back to top ---------- */
.clt-totop{position:fixed;right:18px;bottom:150px;z-index:80;width:50px;height:50px;border-radius:50%;
  display:grid;place-items:center;background:#0F3D33;color:#fff;border:0;cursor:pointer;
  opacity:0;pointer-events:none;transform:translateY(10px);transition:.3s;
  box-shadow:0 10px 26px -8px rgba(10,28,24,.55)}
.clt-totop.is-show{opacity:1;pointer-events:auto;transform:none}
.clt-totop:hover{background:#C6A15B;color:#0A1C18}
.clt-totop svg{width:20px;height:20px}
@media(max-width:640px){.clt-totop{bottom:196px;right:14px}}

/* ---------- Skip link ---------- */
.clt-skip{position:absolute;left:-9999px;top:8px;z-index:200;background:#C6A15B;color:#0A1C18;
  padding:10px 18px;font-family:Inter,sans-serif;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}
.clt-skip:focus{left:8px}

/* ---------- Mobile contact bar spacing ---------- */
@media(max-width:640px){body{padding-bottom:58px}}

@media (prefers-reduced-motion:reduce){
  .clt-kenburns{animation:none}
  .clt-maprow,.clt-pin .dot,.clt-pin .halo{transition:none}
}
