.hotels-editorial {
  --editorial-paper: #f3f1e9;
  --editorial-ink: #20342f;
  --editorial-muted: #60746b;
  --editorial-line: #d5ddd5;
  --editorial-panel: #faf9f4;
  --editorial-moss: #275749;
  --editorial-gold: #e8c873;
  color: var(--editorial-ink);
  background: var(--editorial-paper);
  font-family: "DM Sans", sans-serif;
}

/* Stays is a directory spread: preserve the source HTML, refine only its reading rhythm. */
.hotels-editorial > section:first-child {
  padding: clamp(62px, 8vw, 112px) 24px !important;
  text-align: center !important;
  background:
    linear-gradient(90deg, rgba(32,52,47,.98) 0%, rgba(32,52,47,.88) 52%, rgba(32,52,47,.72) 100%),
    var(--editorial-ink) !important;
}
.hotels-editorial > section:first-child > div {
  max-width: 1180px !important;
  margin: 0 auto !important;
}
.hotels-editorial > section:first-child h1 {
  max-width: 920px !important;
  margin: 0 auto 18px !important;
  font: 500 clamp(48px, 7vw, 92px)/.95 Fraunces, Georgia, serif !important;
  letter-spacing: -.065em;
}
.hotels-editorial > section:first-child h1::before {
  content: "THE STAY EDIT";
  display: block;
  margin-bottom: 24px;
  color: var(--editorial-gold);
  font: 500 11px/1 "DM Mono", monospace;
  letter-spacing: .14em;
}
.hotels-editorial > section:first-child p {
  max-width: 680px !important;
  margin: 0 auto !important;
  color: rgba(245,244,238,.76) !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
}

.hotels-editorial > div:has(form[role="search"]) {
  background: var(--editorial-panel) !important;
  border-bottom: 1px solid var(--editorial-line) !important;
  padding: 24px 0 !important;
}
.hotels-editorial form[role="search"] {
  align-items: end !important;
  gap: 14px !important;
}
.hotels-editorial form[role="search"] > div { max-width: 640px; }
.hotels-editorial form[role="search"] { max-width: 1180px !important; margin: 0 auto !important; }
.hotels-editorial form[role="search"] label { margin-bottom: 8px !important; }
.hotels-editorial form[role="search"] input {
  min-height: 48px !important;
  font-size: 16px !important;
}
.hotels-editorial form[role="search"] button,
.hotels-editorial form[role="search"] a {
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.hotels-editorial > div.bg-white.py-16 {
  padding-top: clamp(52px, 7vw, 92px) !important;
  padding-bottom: clamp(64px, 8vw, 112px) !important;
}
.hotels-editorial > div.bg-white.py-16 > div { max-width: 1180px !important; }
.hotels-editorial > div.bg-white.py-16 > div > div.mb-8 {
  padding-bottom: 18px !important;
  margin-bottom: 28px !important;
  border-bottom: 1px solid var(--editorial-line) !important;
}
.hotels-editorial > div.bg-white.py-16 > div > div.mb-8 p {
  color: var(--editorial-muted) !important;
  font: 500 11px/1.3 "DM Mono", monospace !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}
.hotels-editorial > div.bg-white.py-16 .grid { gap: 22px !important; }
.hotels-editorial > div.bg-white.py-16 .group > div {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
.hotels-editorial > div.bg-white.py-16 .group > div > div:last-child {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}
.hotels-editorial > div.bg-white.py-16 .group > div > div:last-child > div:last-child {
  margin-top: auto !important;
}
.hotels-editorial > div.bg-white.py-16 .group h3 {
  font-family: Fraunces, Georgia, serif !important;
  font-size: 27px !important;
  line-height: 1.02 !important;
  letter-spacing: -.04em;
}
.hotels-editorial > div.bg-white.py-16 .group img {
  filter: saturate(.78) contrast(.96) !important;
  transition: transform .45s ease, filter .45s ease !important;
}
.hotels-editorial > div.bg-white.py-16 .group > div > div:first-child {
  min-height: 224px;
}
.hotels-editorial > div.bg-white.py-16 .group > div > div:first-child .bg-gradient-to-t {
  background: linear-gradient(to top, rgba(8,22,18,.9), rgba(8,22,18,.28) 62%, transparent) !important;
}
.hotels-editorial > div.bg-white.py-16 .group h3 {
  color: #fff !important;
  text-shadow: 0 2px 4px rgba(0,0,0,.85), 0 1px 12px rgba(0,0,0,.55);
}
.hotels-editorial > div.bg-white.py-16 .group:hover img {
  filter: saturate(.98) contrast(1) !important;
}
.hotels-editorial > section:last-of-type {
  padding: clamp(58px, 8vw, 104px) 24px !important;
  text-align: left !important;
}
.hotels-editorial > section:last-of-type > div { max-width: 1180px !important; }
.hotels-editorial > section:last-of-type h2 {
  max-width: 640px !important;
  font: 500 clamp(38px, 5vw, 64px)/.96 Fraunces, Georgia, serif !important;
  letter-spacing: -.045em;
}
.hotels-editorial > section:last-of-type p {
  max-width: 540px !important;
  margin-left: 0 !important;
  color: var(--editorial-muted) !important;
}
.hotels-editorial > section:last-of-type a {
  background: var(--editorial-moss) !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.hotels-editorial .line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.hotels-editorial a:focus-visible,
.hotels-editorial button:focus-visible,
.hotels-editorial input:focus-visible {
  outline: 3px solid #a95334;
  outline-offset: 2px;
}

@media (max-width: 767px) {
  .hotels-editorial > section:first-child { padding: 54px 20px !important; }
  .hotels-editorial > section:first-child h1 { font-size: clamp(48px, 14vw, 70px) !important; }
  .hotels-editorial form[role="search"] {
    padding-left: 20px !important;
    padding-right: 20px !important;
    align-items: stretch !important;
  }
  .hotels-editorial form[role="search"] > div,
  .hotels-editorial form[role="search"] button,
  .hotels-editorial form[role="search"] a {
    width: 100%;
    max-width: none;
  }
  .hotels-editorial > div.bg-white.py-16 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .hotels-editorial > section:last-of-type {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* Hotel index: a quiet field-guide spread, with clear separation between
   editorial content, partner inventory and the visitor's saved-stay prompt. */
.hotels-editorial {
  --editorial-paper: #f3f1e8;
  --editorial-ink: #193a32;
  --editorial-muted: #667870;
  --editorial-line: #d4ddd4;
  --editorial-panel: #fbfaf5;
  --editorial-moss: #28594a;
  --editorial-rust: #a75336;
  --editorial-wheat: #e6c477;
  background: var(--editorial-paper);
  color: var(--editorial-ink);
}

.hotels-editorial .hotels-hero {
  background: var(--editorial-ink) !important;
  padding: clamp(4.5rem, 9vw, 8rem) 24px !important;
}
.hotels-editorial .hotels-hero h1 {
  color: var(--editorial-paper) !important;
  font-weight: 500 !important;
  line-height: .95 !important;
}
.hotels-editorial .hotels-hero h1::before {
  content: "THE STAY EDIT";
  display: block;
  margin: 0 0 1.35rem;
  color: var(--editorial-wheat);
  font: 500 .68rem/1.2 "DM Mono", monospace;
  letter-spacing: .14em;
}
.hotels-editorial .hotels-hero p {
  color: #c8d7cd !important;
  line-height: 1.6 !important;
}

.hotels-editorial .hotels-ad-boundary {
  padding: 1.25rem 0 !important;
  background: #e9eee8 !important;
  border-color: var(--editorial-line) !important;
}
.hotels-editorial .hotels-ad-boundary img {
  max-width: 100%;
  height: auto;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.hotels-editorial .hotels-ad-boundary .ad-container {
  max-width: 100%;
}
.hotels-editorial .hotels-favorites-boundary {
  padding: .85rem 1rem !important;
  background: #e5ebe3 !important;
  border-color: var(--editorial-line) !important;
  text-align: center;
}
.hotels-editorial .hotels-favorites-boundary span {
  color: var(--editorial-ink) !important;
  font-size: .88rem;
}
.hotels-editorial .hotels-favorites-boundary a {
  color: var(--editorial-rust) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.hotels-editorial .hotels-search-panel {
  padding: 1.5rem 0 !important;
  background: var(--editorial-panel) !important;
  border-color: var(--editorial-line) !important;
}
.hotels-editorial .hotels-search-panel form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: end !important;
  gap: .65rem !important;
}
.hotels-editorial .hotels-search-panel form > div {
  width: 100%;
  max-width: none;
}
.hotels-editorial .hotels-search-panel label {
  color: var(--editorial-ink) !important;
  font: 500 .66rem/1.3 "DM Mono", monospace !important;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.hotels-editorial .hotels-search-panel input {
  min-height: 3.25rem !important;
  padding: .8rem 1rem !important;
  color: var(--editorial-ink) !important;
  background: #f3f1e8 !important;
  border: 1px solid var(--editorial-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.hotels-editorial .hotels-search-panel input::placeholder { color: #78877f; }
.hotels-editorial .hotels-search-panel button,
.hotels-editorial .hotels-search-panel a {
  min-height: 3.25rem !important;
  padding: .8rem 1.35rem !important;
  border: 1px solid var(--editorial-moss);
  border-radius: 0 !important;
  font: 500 .68rem/1 "DM Mono", monospace !important;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.hotels-editorial .hotels-search-panel button {
  background: var(--editorial-moss) !important;
  color: var(--editorial-panel) !important;
}
.hotels-editorial .hotels-search-panel button:hover { background: var(--editorial-ink) !important; }
.hotels-editorial .hotels-search-panel a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--editorial-moss) !important;
  background: transparent !important;
  text-decoration: none;
}
.hotels-editorial .hotels-search-panel a:hover { background: #e9eee8 !important; }

.hotels-editorial .hotels-results {
  padding: clamp(3.5rem, 7vw, 6rem) 0 clamp(4rem, 8vw, 7rem) !important;
  background: var(--editorial-paper) !important;
}
.hotels-editorial .hotels-results > div { max-width: 1180px !important; }
.hotels-editorial .hotels-results-heading {
  padding: 0 0 1rem;
  margin: 0 0 1.5rem !important;
  border-bottom: 1px solid var(--editorial-line);
}
.hotels-editorial .hotels-results-heading p {
  color: var(--editorial-muted) !important;
  font: 500 .68rem/1.5 "DM Mono", monospace !important;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.hotels-editorial .hotels-results-heading span { color: var(--editorial-ink) !important; }
.hotels-editorial .hotels-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem !important;
}
.hotels-editorial .hotel-card { display: block; color: inherit; text-decoration: none; }
.hotels-editorial .hotel-card > div {
  height: 100% !important;
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
  border: 1px solid var(--editorial-line) !important;
  border-radius: 0 !important;
  background: var(--editorial-panel) !important;
  box-shadow: none !important;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease !important;
}
.hotels-editorial .hotel-card:hover > div {
  transform: translateY(-3px) !important;
  border-color: var(--editorial-moss) !important;
  box-shadow: 0 12px 24px rgba(25,58,50,.09) !important;
}
.hotels-editorial .hotel-card > div > div:first-child {
  position: relative;
  min-height: 0;
  height: 14.5rem;
  flex: 0 0 auto;
  overflow: hidden;
}
.hotels-editorial .hotel-card img {
  filter: saturate(.8) contrast(.98) !important;
  transition: transform .4s ease, filter .4s ease !important;
}
.hotels-editorial .hotel-card:hover img {
  transform: scale(1.025);
  filter: saturate(.95) contrast(1) !important;
}
.hotels-editorial .hotel-card .bg-gradient-to-t {
  background: linear-gradient(to top, rgba(14,39,32,.82), rgba(14,39,32,.12) 64%, transparent) !important;
}
.hotels-editorial .hotel-card .relative h3 {
  color: #fff !important;
  max-width: 100%;
  margin: 0 !important;
  font: 500 clamp(1.5rem, 2vw, 1.8rem)/1.02 Fraunces, Georgia, serif !important;
  letter-spacing: -.035em;
  text-shadow: 0 1px 5px rgba(0,0,0,.35);
}
.hotels-editorial .hotel-card > div > .p-6 {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  padding: 1.25rem !important;
}
.hotels-editorial .hotel-card h3 {
  font-family: Fraunces, Georgia, serif !important;
  letter-spacing: -.035em;
}
.hotels-editorial .hotel-card > div > .p-6 > h3 {
  margin: 0 0 .9rem !important;
  color: var(--editorial-ink) !important;
  font-size: 1.55rem !important;
  line-height: 1.06 !important;
  text-shadow: none !important;
}
.hotels-editorial .hotels-results .hotel-card > div > .p-6 > h3 {
  color: var(--editorial-ink) !important;
  text-shadow: none !important;
}
.hotels-editorial .hotel-location {
  gap: .5rem !important;
  margin-bottom: .75rem !important;
  color: var(--editorial-rust) !important;
  font: 500 .64rem/1.4 "DM Mono", monospace !important;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.hotels-editorial .hotel-location svg { color: var(--editorial-rust); }
.hotels-editorial .hotel-card .line-clamp-2 {
  margin: 0 0 1rem !important;
  color: var(--editorial-muted) !important;
  font-size: .84rem !important;
  line-height: 1.55 !important;
}
.hotels-editorial .hotel-card-meta {
  margin-top: auto !important;
  padding-top: .9rem !important;
  border-color: var(--editorial-line) !important;
}
.hotels-editorial .hotel-card-meta .text-xs { color: var(--editorial-muted) !important; }
.hotels-editorial .hotel-card-meta .text-golf-blue {
  color: var(--editorial-moss) !important;
  font: 500 1.1rem/1 Fraunces, Georgia, serif !important;
}
.hotels-editorial .hotel-card-meta .rounded-full {
  padding: .35rem .55rem !important;
  border-radius: 0 !important;
  background: #e9eee8 !important;
}
.hotels-editorial .hotel-card-meta .rounded-full svg { color: var(--editorial-rust) !important; }

/* No-photo cards use a cartographic print treatment, never a substitute photo. */
.hotels-editorial .hotel-card .hotel-card-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #c7d4c8;
  background: #244b3f;
}
.hotels-editorial .hotel-placeholder-lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: .48;
}
.hotels-editorial .hotel-placeholder-index {
  position: absolute;
  top: 1rem;
  left: 1rem;
  color: #e6c477;
  font: 500 .59rem/1 "DM Mono", monospace;
  letter-spacing: .12em;
}
.hotels-editorial .hotel-placeholder-mark {
  position: relative;
  display: grid;
  width: 4.3rem;
  height: 4.3rem;
  place-items: center;
  border: 1px solid rgba(230,196,119,.72);
  color: #f3f1e8;
  font: 500 2.6rem/1 Fraunces, Georgia, serif;
}

.hotels-editorial .hotels-empty-state {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(3rem, 8vw, 6rem) clamp(1rem, 4vw, 2.5rem) !important;
  background: var(--editorial-panel);
  border: 1px solid var(--editorial-line);
  text-align: left !important;
}
.hotels-editorial .hotels-empty-state > svg {
  width: 3rem !important;
  height: 3rem !important;
  margin: 0 0 1.5rem !important;
  color: var(--editorial-rust) !important;
}
.hotels-editorial .hotels-empty-state h2 {
  margin: 0 0 .75rem !important;
  color: var(--editorial-ink) !important;
  font: 500 clamp(2.2rem, 5vw, 3.4rem)/.98 Fraunces, Georgia, serif !important;
  letter-spacing: -.045em;
}
.hotels-editorial .hotels-empty-state p {
  max-width: 34rem;
  margin: 0 0 1.6rem !important;
  color: var(--editorial-muted) !important;
  font-size: .95rem !important;
  line-height: 1.65;
}
.hotels-editorial .hotels-empty-state a {
  min-height: 3rem;
  padding: .9rem 1.1rem !important;
  background: var(--editorial-moss) !important;
  border-radius: 0 !important;
  font: 500 .68rem/1 "DM Mono", monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.hotels-editorial .hotels-empty-state a:hover { background: var(--editorial-ink) !important; }

.hotels-editorial .hotels-lower-cta {
  padding: clamp(3.5rem, 8vw, 6.5rem) 24px !important;
  background: #e5ebe3 !important;
  border-color: var(--editorial-line) !important;
}
.hotels-editorial .hotels-lower-cta > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .65fr);
  align-items: end;
  gap: 2rem;
  max-width: 1180px !important;
}
.hotels-editorial .hotels-lower-cta h2 {
  max-width: 620px !important;
  margin: 0 0 .8rem !important;
  color: var(--editorial-ink) !important;
  font: 500 clamp(2.5rem, 5.5vw, 4.25rem)/.94 Fraunces, Georgia, serif !important;
  letter-spacing: -.05em;
}
.hotels-editorial .hotels-lower-cta p {
  margin: 0 !important;
  color: var(--editorial-muted) !important;
  font-size: .95rem !important;
  line-height: 1.6;
}
.hotels-editorial .hotels-lower-cta a {
  justify-self: end;
  min-height: 3.25rem;
  padding: 1rem 1.2rem !important;
  background: var(--editorial-moss) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font: 500 .68rem/1 "DM Mono", monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.hotels-editorial .hotels-lower-cta a:hover {
  background: var(--editorial-ink) !important;
  transform: translateY(-2px);
}
.hotels-editorial a:focus-visible,
.hotels-editorial button:focus-visible,
.hotels-editorial input:focus-visible {
  outline: 3px solid var(--editorial-rust) !important;
  outline-offset: 3px;
}

@media (max-width: 900px) {
  .hotels-editorial .hotels-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hotels-editorial .hotels-lower-cta > div { grid-template-columns: 1fr; }
  .hotels-editorial .hotels-lower-cta a { justify-self: start; }
}
@media (max-width: 767px) {
  .hotels-editorial .hotels-search-panel form { grid-template-columns: 1fr; }
  .hotels-editorial .hotels-search-panel form > div,
  .hotels-editorial .hotels-search-panel button,
  .hotels-editorial .hotels-search-panel a { width: 100%; }
  .hotels-editorial .hotels-grid { grid-template-columns: 1fr; }
  .hotels-editorial .hotel-card > div > div:first-child { height: 13rem; }
  .hotels-editorial .hotels-empty-state { margin: 0 .25rem; }
  .hotels-editorial .hotels-lower-cta { padding-left: 20px !important; padding-right: 20px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .hotels-editorial .hotel-card *,
  .hotels-editorial .hotels-lower-cta a { transition-duration: .01ms !important; }
}