/* Landmark and attraction-type collections share the Tours green palette. */
.landmark-archive { --blue:#214e36; --blue-dark:#143e30; --green:#78ad57; --line:#dce5dc; --muted:#657368; background:#f6f7f2; color:#173f34; }
.landmark-archive .landmark-hero { position:relative; padding:var(--hero-top) 0 58px; overflow:hidden; background:radial-gradient(ellipse at 90% 10%,#48724b70,transparent 55%),linear-gradient(120deg,#082d2b,#214e36); }
.landmark-archive .tours-hero__bg { background:radial-gradient(circle at 20% 80%,#c7eb9310,transparent 50%); }
.landmark-archive .tours-hero__content { position:relative; z-index:1; }
.landmark-archive .landmark-hero > .container,
.landmark-archive .tours-layout .container,
.landmark-archive .attraction-collection > .container { width:min(1440px,calc(100% - 64px)); max-width:none; }
.landmark-hero .eyebrow { display:inline-flex; gap:9px; color:#d0ed9d; font-size:11px; font-weight:800; letter-spacing:.12em; }
.landmark-archive .landmark-hero h1 { max-width:950px; margin:18px 0; font-size:clamp(38px,4.5vw,64px); letter-spacing:-.045em; line-height:1.08; color:#fffefa; overflow-wrap:anywhere; }
.landmark-archive .landmark-hero p { max-width:710px; color:#cadbd0; font-size:17px; line-height:1.75; }
.landmark-hero__description { max-width:780px; color:#cadbd0; }
.landmark-hero__description a { color:#d0ed9d; text-decoration:underline; text-underline-offset:3px; }
.landmark-hero__description p + p { margin-top:12px; }
.landmark-hero__breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:26px; color:#b6cbbd; font-size:12px; }
.landmark-hero__breadcrumb a:hover { color:#d0ed9d; }
.landmark-hero__bottom { display:flex; align-items:center; flex-wrap:wrap; gap:20px 32px; margin-top:30px; padding-top:24px; border-top:1px solid #ffffff26; }
.landmark-hero__note { display:inline-flex; align-items:center; gap:10px; color:#c7d9c8; font-size:13px; }
.landmark-hero__note i { color:#d0ed9d; }
.landmark-hero__link { display:inline-flex; align-items:center; gap:14px; padding:11px 17px; border:1px solid #d0ed9d66; border-radius:9px; color:#e4f6bf; font-size:12px; font-weight:800; text-decoration:none; transition:background .2s; }
.landmark-hero__link:hover { background:#d0ed9d; color:#143e30; }
.landmark-archive .tours-layout { padding:36px 0 80px; }
.landmark-archive .tours-wrap { grid-template-columns:300px minmax(0,1fr); gap:28px; }
.landmark-archive .tours-results { min-width:0; scroll-margin-top:110px; }
.landmark-archive .results-count { margin:0; color:#627365; font-size:13px; }
.landmark-archive .landmark-sidebar { padding:22px; border:1px solid #dce5dc; border-radius:18px; top:120px; }
.landmark-archive .sidebar-header { color:#173f34; gap:10px; }
.landmark-archive .sidebar-header i,
.landmark-archive .filter-group__head i { color:#376743; }
.landmark-archive .sidebar-reset { text-decoration:none; color:#376743; white-space:nowrap; }
.landmark-archive .filter-group { border-color:#e7ece3; }
.landmark-archive .filter-group__head { color:#637466; font-size:10px; letter-spacing:.1em; }
.landmark-search,
.landmark-select summary { box-sizing:border-box; width:100%; min-width:0; min-height:46px; padding:12px 14px; border:1px solid #dce5dc; border-radius:9px; background:#f7f9f4; color:#244b36; font:inherit; font-size:13px; }
.landmark-search::placeholder { color:#657368; }
.landmark-select { position:relative; }
.landmark-select summary { display:flex; align-items:center; justify-content:space-between; gap:10px; font-weight:600; cursor:pointer; list-style:none; }
.landmark-select summary span { min-width:0; overflow-wrap:anywhere; }
.landmark-select summary::-webkit-details-marker { display:none; }
.landmark-select summary i { color:#637466; font-size:11px; transition:transform .2s; }
.landmark-select[open] summary i { transform:rotate(180deg); }
.landmark-select[open] summary { border-color:#78ad57; }
.landmark-select__options { margin-top:8px; padding:5px; border:1px solid #dce5dc; border-radius:9px; max-height:220px; overflow:auto; background:#fff; }
.landmark-archive .ms-option:hover,
.landmark-archive .check-row:hover { background:#edf3e6; color:#214e36; }
.landmark-archive input[type=checkbox] { accent-color:#376743; }
.landmark-filter-empty { font-size:13px; color:#657368; padding:8px; }
.landmark-types { min-width:0; padding:0 0 24px; border:0; border-bottom:1px solid #e7ece3; }
.landmark-types legend { float:none; padding:0; }
.landmark-types .check-list { max-height:260px; overflow:auto; }
.landmark-archive .landmark-apply { display:inline-flex; margin-top:22px; min-height:46px; border-radius:9px; background:#214e36; color:#fff; font-size:13px; }
.landmark-archive .landmark-apply:hover { background:#356647; }
.landmark-archive .results-sort { flex-wrap:wrap; margin-left:auto; }
.landmark-archive .results-sort label { font-size:12px; color:#637466; font-weight:700; }
.landmark-archive .results-sort select { width:auto; min-width:160px; border-color:#dce5dc; border-radius:9px; background-color:#f7f9f4; color:#244b36; }
.landmark-sort-apply { padding:10px 14px; min-height:44px; border:1px solid #dce5dc; border-radius:9px; background:#fff; color:#214e36; font:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.landmark-sort-apply:hover { background:#edf3e6; }
.landmark-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:stretch; }
.landmark-card { min-width:0; height:470px; border:1px solid #dce5dc; border-radius:18px; overflow:hidden; background:#143e30; box-shadow:0 5px 18px #173f340a; transition:transform .2s,box-shadow .2s,border-color .2s; }
.landmark-card:is(:hover,:focus-within) { transform:translateY(-4px); border-color:#9fbd84; box-shadow:0 18px 38px #173f3426; }
.landmark-card__link { position:relative; display:flex; align-items:flex-end; width:100%; height:100%; isolation:isolate; background:radial-gradient(circle at 75% 15%,#78ad5770,transparent 65%),#143e30; color:#fff; text-decoration:none; }
.landmark-card__link::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#051e1a12 0%,#051e1a12 22%,#082d2b80 43%,#06271de8 72%,#06271df7 100%); }
.landmark-card__image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.landmark-card:hover .landmark-card__image { transform:scale(1.04); }
.landmark-card__type { position:absolute; top:20px; left:20px; max-width:calc(100% - 40px); padding:7px 11px; border:1px solid #ffffff52; border-radius:999px; background:#082d2b88; color:#fffefa; font-size:10px; font-weight:700; line-height:1.5; letter-spacing:.04em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; backdrop-filter:blur(8px); }
.landmark-card__content { display:flex; flex-direction:column; justify-content:flex-end; padding:88px 22px 22px; width:100%; min-width:0; box-sizing:border-box; }
.landmark-card__location { display:flex; align-items:center; gap:7px; margin-bottom:10px; color:#d0ed9d; font-size:11px; font-weight:700; line-height:1.5; letter-spacing:.025em; overflow-wrap:anywhere; }
.landmark-card__location i { flex-shrink:0; }
.landmark-card__title { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin:0 0 12px; color:#fffefa; font-family:'Manrope',sans-serif; font-size:clamp(21px,1.8vw,26px); font-weight:800; line-height:1.22; letter-spacing:-.025em; overflow-wrap:anywhere; text-shadow:0 2px 16px #031c1850; }
.landmark-card__description { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:42px; margin:0 0 20px; color:#d2ddd4; font-size:12px; line-height:1.75; overflow-wrap:anywhere; }
.landmark-card__footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:16px; border-top:1px solid #ffffff38; color:#e1eadf; font-size:12px; font-weight:700; }
.landmark-card__arrow { display:grid; place-items:center; flex:0 0 44px; height:44px; border:1px solid #d0ed9d; border-radius:9px; background:#d0ed9d; color:#173f34; font-size:24px; transition:background .2s; }
.landmark-card:hover .landmark-card__arrow { background:#e4f6bf; }
.landmark-card:focus-within { outline:3px solid #78ad57; outline-offset:4px; }
.landmark-pagination { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; margin-top:38px; }
.landmark-pagination .page-numbers { display:inline-flex; min-width:44px; height:44px; align-items:center; justify-content:center; box-sizing:border-box; padding:0 13px; border-radius:9px; border:1px solid #dce5dc; background:#fff; color:#376743; text-decoration:none; font-size:13px; font-weight:700; }
.landmark-pagination a:hover { border-color:#78ad57; background:#edf3e6; }
.landmark-pagination .current { background:#214e36; border-color:#214e36; color:#fff; }
.landmark-pagination .dots { border-color:transparent; background:transparent; padding:0; min-width:20px; }
.landmark-empty { background:#fff; border:1px solid #dce5dc; border-radius:18px; }
.landmark-archive .no-results__icon { background:#edf3e6; color:#376743; }
.landmark-archive .no-results__title { color:#173f34; }
.landmark-archive :is(a,button,input,select,summary):focus-visible { outline:3px solid #78ad57; outline-offset:3px; }
.landmark-archive .attraction-collection { padding:48px 0 80px; scroll-margin-top:90px; }
.attraction-type-archive .dp-section-head { margin-bottom:28px; }
.attraction-type-archive .dp-section-head h2 { color:#173f34; font-size:clamp(28px,3vw,40px); }
.attraction-type-archive .dp-section-head p { color:#657368; max-width:660px; }
.attraction-type-archive .eyebrow--light { color:#376743; }
.attraction-type-archive .attraction-type-empty { border-color:#dce5dc; }
.attraction-type-archive .attraction-type-empty h3 { color:#173f34; }
@media (min-width:861px) {
  .landmark-sidebar { max-height:calc(100dvh - 140px); overflow-y:auto; scrollbar-width:thin; scrollbar-color:#b9cab8 transparent; }
  .landmark-sidebar .filter-group { margin-bottom:24px; padding-bottom:24px; border-bottom:1px solid #e7ece3; }
  .landmark-sidebar .landmark-types { margin-bottom:0; padding-bottom:0; border-bottom:0; }
}
@media (max-width:1150px) and (min-width:861px) {
  .landmark-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .attraction-type-archive .landmark-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:1000px) {
  .landmark-archive .landmark-hero > .container,
  .landmark-archive .tours-layout .container,
  .landmark-archive .attraction-collection > .container { width:calc(100% - 40px); }
  .landmark-archive .tours-wrap { grid-template-columns:260px minmax(0,1fr); gap:20px; }
}
@media (max-width:860px) {
  .landmark-archive .tours-wrap { grid-template-columns:minmax(0,1fr); }
  .landmark-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .landmark-archive .landmark-sidebar { position:static; transform:none; width:auto; border-radius:18px; box-shadow:none; overflow:visible; }
  .landmark-archive .tours-layout { padding-top:28px; }
  .landmark-sidebar form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .landmark-sidebar .sidebar-header { grid-column:1/-1; margin-bottom:0; }
  .landmark-sidebar .filter-group { margin:0; padding:0; border:0; }
  .landmark-sidebar .landmark-apply { align-self:end; margin:0; }
}
@media (max-width:560px) {
  .landmark-archive .landmark-hero { padding-bottom:40px; }
  .landmark-archive .landmark-hero p { font-size:15px; }
  .landmark-archive .landmark-hero > .container,
  .landmark-archive .tours-layout .container,
  .landmark-archive .attraction-collection > .container { width:calc(100% - 32px); }
  .landmark-hero__bottom { align-items:flex-start; flex-direction:column; gap:18px; }
  .landmark-grid { grid-template-columns:minmax(0,1fr); }
  .landmark-card { height:460px; }
  .landmark-card__title { font-size:25px; }
  .landmark-sidebar form { grid-template-columns:1fr; }
  .landmark-archive .results-sort { width:100%; }
  .landmark-archive .results-sort select { flex:1; min-width:0; }
}
@media (prefers-reduced-motion:reduce) {
  .landmark-archive *, .landmark-archive *::before, .landmark-archive *::after { transition:none !important; scroll-behavior:auto !important; }
}
