/* Daytrippa — self-drive guides.
   Palette from the archive header and logo greens (#009562, #26aa7d, #045e3f).
   Display: Arvo, the original guidebook slab. Body: Source Sans 3. */
:root {
  --dt-green: #009562;
  --dt-green-deep: #045e3f;
  --dt-green-mid: #26aa7d;
  --dt-ink: #1c2b24;
  --dt-muted: #5c6f66;
  --dt-paper: #f3faf6;
  --dt-white: #ffffff;
  --dt-line: #d3e6db;
  --dt-radius: 16px;
  --dt-shadow: 0 12px 32px rgba(4, 94, 63, 0.1);
  --dt-header: 4.5rem;
  --dt-page: 80rem;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--dt-paper);
  color: var(--dt-ink);
  font-family: "Source Sans 3", "Segoe UI", sans-serif;
  font-size: 1.2rem;
  line-height: 1.65;
}
img { max-width: 100%; height: auto; }
a { color: var(--dt-green-deep); }
.dt-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: var(--dt-green-deep);
  color: #fff;
  box-shadow: 0 1px 0 rgba(0,0,0,.15);
}
.dt-header-inner {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  max-width: var(--dt-page);
  margin: 0 auto;
  padding: 0.9rem 1.75rem;
}
.dt-brand { display: flex; align-items: center; flex: 0 0 auto; }
.dt-brand img { height: 46px; width: auto; background: #fff; border-radius: 8px; padding: 4px 8px; }
.dt-nav { display: flex; gap: 0.35rem; align-items: center; }
.dt-nav a {
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  padding: 0.4rem 0.7rem;
  border-radius: 999px;
}
.dt-nav a:hover, .dt-nav a[aria-current="page"] { background: var(--dt-green-mid); }
.dt-where, .dt-legacy select {
  font: inherit;
  color: var(--dt-ink);
  background: #fff;
  border: 0;
  border-radius: 999px;
  padding: 0.45rem 0.8rem;
  max-width: 20rem;
}
.dt-search { position: relative; margin-left: auto; flex: 1 1 16rem; max-width: 24rem; }
.dt-search input {
  width: 100%;
  font: inherit;
  border: 0;
  border-radius: 999px;
  padding: 0.5rem 0.9rem;
  color: var(--dt-ink);
}
.dt-searchdrop {
  position: absolute;
  top: calc(100% + 8px);
  left: auto;
  right: 0;
  width: min(40rem, 70vw);
  background: #fff;
  color: var(--dt-ink);
  border-radius: 12px;
  box-shadow: var(--dt-shadow);
  max-height: 28rem;
  overflow: auto;
  z-index: 50;
}
.dt-searchdrop a, .dt-searchdrop .dt-hit {
  display: block;
  padding: 0.55rem 0.8rem;
  text-decoration: none;
  color: var(--dt-ink);
  border-bottom: 1px solid var(--dt-line);
}
.dt-searchdrop a strong, .dt-hit strong { display: block; }
.dt-searchdrop a small, .dt-hit small { color: var(--dt-muted); }
.dt-searchdrop .dt-active, .dt-searchdrop a:hover { background: var(--dt-paper); }
.dt-hamburger {
  display: none;
  margin-left: 0.4rem;
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 8px;
  font-size: 1.4rem;
  line-height: 1;
  padding: 0.25rem 0.5rem;
}
.dt-hero {
  background:
    linear-gradient(160deg, var(--dt-green-deep), var(--dt-green) 55%, #1aa36e);
  color: #fff;
  padding: 2.4rem 1.75rem 2.6rem;
}
.dt-wrap { max-width: var(--dt-page); margin: 0 auto; padding: 0 1.75rem; }
.dt-hero h1 {
  font-family: Arvo, Georgia, serif;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.15;
  margin: 0.35rem 0 0.4rem;
  font-weight: 700;
}
.dt-lede { margin: 0.4rem 0 0; max-width: 52rem; color: #e7f6ef; line-height: 1.5; }
.dt-breadcrumb { font-size: 0.95rem; color: #d7efe4; }
.dt-breadcrumb a { color: #fff; }
.dt-crumb-sep { margin: 0 0.35rem; opacity: 0.7; }
.dt-main { padding: 0 0 3.5rem; }
.dt-footer {
  background: var(--dt-green-deep);
  color: #e7f6ef;
  padding: 2.4rem 1.75rem 2.8rem;
}
.dt-footer a { color: #fff; }
.dt-footer-inner {
  max-width: var(--dt-page);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 1.75rem 3rem;
  align-items: flex-start;
}
.dt-footer img { height: 42px; width: auto; background: #fff; border-radius: 8px; padding: 4px 8px; }
.dt-footer-links, .dt-share { display: flex; flex-wrap: wrap; gap: 0.7rem 1.1rem; }
.dt-share span, .dt-share a { font-weight: 600; }
.dt-credit { width: 100%; font-size: 0.95rem; color: #c9e6d8; }

/* Legacy archive markup, scoped so the old theme cannot restyle the shell. */
.dt-legacy { color: var(--dt-ink); text-align: left; }
.dt-legacy .container,
.dt-legacy #maintext,
.dt-legacy #explore,
.dt-legacy .og-grid,
.dt-legacy #daytrips {
  max-width: var(--dt-page);
  margin-left: auto;
  margin-right: auto;
}
.dt-legacy #maintext {
  margin-top: 2rem;
  margin-bottom: 2rem;
  padding: 0 1.75rem;
  text-align: left;
}
.dt-legacy .container { padding: 0 1.75rem; }
.dt-legacy p { margin: 1rem 0; }
.dt-legacy #maintext p, .dt-legacy .privacy-policy { text-align: left; }
.dt-legacy h2, .dt-legacy h3, .dt-legacy h4 {
  font-family: Arvo, Georgia, serif;
  line-height: 1.2;
  color: var(--dt-green-deep);
}
.dt-legacy #hero { position: relative; background: #0c3d2a; }
.dt-legacy #hero > img { width: 100%; max-height: 68vh; object-fit: cover; display: block; }
.dt-legacy #herowhere {
  position: absolute;
  left: 0; right: 0; bottom: 1.2rem;
  text-align: center;
  color: #fff;
  font-family: Arvo, Georgia, serif;
  font-size: clamp(1.1rem, 2.4vw, 1.7rem);
  text-shadow: 0 1px 2px rgba(0,0,0,.45);
}
.dt-legacy #breadcrumbs { display: none; }
.dt-legacy .row { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 1.5rem; }
.dt-legacy [class*="col-"] { flex: 1 1 22rem; width: auto; max-width: 100%; }
.dt-legacy .col-xs-12,
.dt-legacy .col-sm-12,
.dt-legacy .col-md-12,
.dt-legacy .col-lg-12 { flex: 1 1 100%; }
.dt-legacy #explore {
  border-top: 4px solid var(--dt-green);
  margin: 2rem auto 0;
  padding: 2rem 1.75rem 3rem;
  text-align: center;
}
.dt-legacy #exploretitle { font-family: Arvo, Georgia, serif; font-size: 1.5rem; margin-bottom: 1rem; }
.dt-legacy .location, .dt-legacy .og-grid li {
  position: relative;
  display: block;
  flex: 1 1 24rem;
  max-width: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: var(--dt-radius);
  background: #123528;
  min-height: 14rem;
}
.dt-legacy #explore { display: flex; flex-wrap: wrap; gap: 1.4rem; justify-content: center; }
.dt-legacy #exploretitle, .dt-legacy #explore > span { flex: 1 1 100%; }
.dt-carousel { flex: 1 1 100%; width: 100%; margin: 0; }
.dt-car-row { display: flex; align-items: center; gap: 0.6rem; }
.dt-car-view { overflow: hidden; flex: 1 1 auto; min-width: 0; }
.dt-car-track { display: flex; will-change: transform; }
.dt-car-slide { flex: 0 0 100%; display: flex; gap: 1.4rem; margin: 0; min-width: 0; }
.dt-car-slide .location,
.dt-car-slide figure,
.dt-car-slide img { margin: 0; }
.dt-carousel[data-view="3"] .dt-car-slide .location { flex: 0 0 calc((100% - 2.8rem) / 3); max-width: calc((100% - 2.8rem) / 3); }
.dt-carousel[data-view="1"] .dt-car-slide .location { flex: 1 1 100%; max-width: 100%; }
.dt-car-btn, .dt-car-dot {
  border: 0;
  background: var(--dt-green-deep);
  color: #fff;
  cursor: pointer;
}
.dt-car-btn {
  flex: 0 0 auto;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 999px;
  font-size: 1.8rem;
  line-height: 1;
}
.dt-car-dots { display: flex; justify-content: center; gap: 0.45rem; margin-top: 1rem; }
.dt-car-dot { width: 0.7rem; height: 0.7rem; border-radius: 999px; background: #b7d4c6; padding: 0; }
.dt-car-dot.dt-car-on { background: var(--dt-green); }
.dt-legacy .og-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.4rem;
  list-style: none;
  padding: 0 1.75rem 2.5rem;
  margin: 0 auto;
}
.dt-legacy .location > a, .dt-legacy .og-grid a { display: block; color: #fff; text-decoration: none; }
.dt-legacy .location img, .dt-legacy .og-grid img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
}
.dt-legacy .location img.lochover,
.dt-legacy .og-grid img.lochover {
  display: none;
  width: auto;
  height: auto;
  aspect-ratio: auto;
}
.dt-legacy .locationtext {
  position: absolute;
  left: 0.7rem;
  bottom: 0.7rem;
  right: auto;
  top: auto;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0.45rem 0.9rem;
  background: var(--dt-green-deep);
  color: #fff;
  border-radius: 999px;
  font-family: Arvo, Georgia, serif;
  font-size: 1.05rem;
  line-height: 1.3;
  text-shadow: none;
}
.dt-legacy .lochover { display: none; }
.dt-legacy #daytrips { padding-top: 0.5rem; }
.dt-legacy table { height: auto !important; max-width: 100%; }
.dt-legacy table.dt-data { display: table; width: 100%; border-collapse: collapse; margin: 1rem 0; }
.dt-legacy table.dt-data th, .dt-legacy table.dt-data td {
  border: 1px solid var(--dt-line);
  padding: 0.45rem 0.55rem;
  text-align: left;
  vertical-align: top;
}
.dt-legacy table.dt-gallery, .dt-legacy table.dt-gallery tbody, .dt-legacy table.dt-gallery tr {
  display: flex; flex-wrap: wrap; gap: 0.5rem;
}
.dt-legacy table.dt-gallery td { border: 0; padding: 0; flex: 1 1 9rem; display: block; }
.dt-legacy table.dt-layout, .dt-legacy table.dt-layout tbody, .dt-legacy table.dt-layout tr { display: block; height: auto !important; }
.dt-legacy table.dt-layout td { display: block; width: auto !important; height: auto !important; }
.dt-altpill {
  display: inline-block;
  background: var(--dt-paper);
  border: 1px solid var(--dt-line);
  border-radius: 999px;
  padding: 0.25rem 0.7rem;
  color: var(--dt-muted);
  font-size: 0.9rem;
}
.screen-reader-text, .elementor-screen-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); border: 0;
}
.dt-legacy .wpcf7, .dt-legacy form { text-align: left; }
.dt-legacy input[type="text"], .dt-legacy input[type="email"], .dt-legacy textarea {
  width: 100%;
  max-width: 32rem;
  font: inherit;
  padding: 0.5rem 0.7rem;
  border: 1px solid var(--dt-line);
  border-radius: 8px;
}
.dt-legacy input[type="submit"], .dt-legacy button[type="submit"] {
  background: var(--dt-green);
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: 0.55rem 1rem;
  font: inherit;
  font-weight: 700;
}
@media (max-width: 900px) {
  .dt-hamburger { display: inline-block; }
  .dt-nav, .dt-where, .dt-search { display: none; }
  .dt-header.dt-open .dt-nav,
  .dt-header.dt-open .dt-where,
  .dt-header.dt-open .dt-search {
    display: flex;
    flex: 1 1 100%;
    max-width: none;
  }
  .dt-header.dt-open .dt-header-inner { flex-wrap: wrap; }
  .dt-header.dt-open .dt-nav { flex-direction: column; align-items: flex-start; }
  .dt-legacy [class*="col-"] { flex: 1 1 100%; }
  .dt-legacy .location, .dt-legacy .og-grid li { flex: 1 1 100%; }
  .dt-searchdrop { width: 100%; left: 0; right: 0; }
}
.dt-blog-empty {
  max-width: 40rem;
  margin: 0.5rem 0 0;
  font-size: 1.15rem;
}
.dt-blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(22rem, 1fr));
  gap: 1.4rem;
  margin: 0;
  padding: 0;
}
.dt-blog-card {
  display: flex;
  flex-direction: column;
  background: var(--dt-white);
  border-radius: var(--dt-radius);
  overflow: hidden;
  box-shadow: var(--dt-shadow);
  text-decoration: none;
  color: inherit;
}
.dt-blog-card img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.dt-blog-card div { padding: 1rem 1.15rem 1.25rem; }
.dt-blog-card time { color: var(--dt-muted); font-size: 0.95rem; }
.dt-blog-card h2 {
  font-family: Arvo, Georgia, serif;
  font-size: 1.35rem;
  line-height: 1.25;
  margin: 0.35rem 0;
  color: var(--dt-green-deep);
}
.dt-blog-card p { margin: 0; color: var(--dt-ink); }
