/* Natural is the base template defined by the module styles. */
.theme-natural {
  color-scheme: light;
}

/* Editorial — expressive typography, warm paper and magazine-like framing. */
.theme-editorial {
  --forest: #292725;
  --paper: #f6f0e5;
  --clay: #aa4636;
  --line: #d8cfc0;
  --ink: #282522;
  background: #f6f0e5;
}

.theme-editorial .site-header {
  height: 104px;
  color: var(--ink);
  background: var(--paper);
  border-bottom: 1px solid var(--line);
}

.theme-editorial .brand i {
  border-color: var(--ink);
  border-radius: 50%;
}

.theme-editorial .brand strong,
.theme-editorial .section-heading h2,
.theme-editorial .page-hero h1,
.theme-editorial .property-hero h1,
.theme-editorial .linked-page h1,
.theme-editorial .blog-post h1 {
  font-style: italic;
}

.theme-editorial .hero {
  min-height: 720px;
  margin: 0 22px;
  background-position: center;
}

.theme-editorial .hero h1 {
  max-width: 900px;
  font-style: italic;
  letter-spacing: -.045em;
}

.theme-editorial .content-section {
  border-bottom: 1px solid var(--line);
}

.theme-editorial .content-section.soft,
.theme-editorial .property-gallery,
.theme-editorial .property-rooms,
.theme-editorial .booking-calendar {
  background: #eee5d6;
}

.theme-editorial .category-grid > a,
.theme-editorial .property-grid article,
.theme-editorial .post-grid article {
  border: 0;
  box-shadow: 0 18px 50px rgba(65, 48, 37, .08);
}

.theme-editorial .campaign-section,
.theme-editorial .booking,
.theme-editorial .selection-calculator {
  background: #a84636;
}

.theme-editorial .page-hero,
.theme-editorial .property-hero article {
  background: #302c29;
}

.theme-editorial .home-text-block {
  background: #f6f0e5;
}

.theme-editorial .home-text-block span,
.theme-editorial .section-heading span,
.theme-editorial .post-grid small,
.theme-editorial .blog-post header > span {
  color: #aa4636;
}

.theme-editorial .site-footer {
  background: #24211f;
}

/* Air — light, spacious template with rounded cards and cool accents. */
.theme-air {
  --forest: #17343a;
  --paper: #f7faf9;
  --clay: #317887;
  --line: #d9e3e2;
  --ink: #19353a;
  background: #f7faf9;
}

.theme-air .site-header {
  height: 96px;
  color: var(--ink);
  background: rgba(247, 250, 249, .96);
  border-bottom: 1px solid var(--line);
}

.theme-air .brand i {
  border-color: #8aa8aa;
  border-radius: 13px;
  color: #317887;
}

.theme-air .hero {
  min-height: 610px;
  margin: 20px;
  border-radius: 24px;
  overflow: hidden;
  background-position: center;
}

.theme-air .hero h1 {
  max-width: 780px;
  letter-spacing: -.035em;
}

.theme-air .content-section,
.theme-air .seo-copy,
.theme-air .detail-copy,
.theme-air .linked-page {
  max-width: 1440px;
  margin-right: auto;
  margin-left: auto;
}

.theme-air .content-section.soft,
.theme-air .property-gallery,
.theme-air .property-rooms,
.theme-air .booking-calendar {
  max-width: none;
  background: #edf4f3;
}

.theme-air .category-grid > a,
.theme-air .property-grid article,
.theme-air .post-grid article,
.theme-air .campaign-banner,
.theme-air .gallery-photo,
.theme-air .room-card-grid > article,
.theme-air .availability-strip article {
  overflow: hidden;
  border: 0;
  border-radius: 18px;
  box-shadow: 0 18px 55px rgba(25, 64, 68, .09);
}

.theme-air .category-grid > a {
  min-height: 300px;
}

.theme-air .page-hero {
  margin: 20px;
  border-radius: 22px;
  background: linear-gradient(135deg, #17343a, #2e6670);
}

.theme-air .property-hero {
  gap: 18px;
}

.theme-air .property-hero > div,
.theme-air .property-hero article {
  overflow: hidden;
  border-radius: 20px;
}

.theme-air .campaign-section,
.theme-air .selection-calculator,
.theme-air .booking {
  background: linear-gradient(135deg, #17343a, #2c6871);
}

.theme-air .campaign-section {
  max-width: none;
}

.theme-air .home-text-block {
  background: #fff;
}

.theme-air .price-list,
.theme-air .booking-search,
.theme-air .booking-request,
.theme-air .booking-quote,
.theme-air .booking-breakdown {
  border-radius: 16px;
}

.theme-air .site-footer {
  margin: 20px;
  border-radius: 22px;
  background: #132f34;
}

@media (max-width: 760px) {
  .theme-editorial .site-header,
  .theme-air .site-header {
    height: auto;
  }

  .theme-editorial .hero {
    min-height: 610px;
    margin: 0;
  }

  .theme-air .hero,
  .theme-air .page-hero,
  .theme-air .site-footer {
    margin: 10px;
    border-radius: 16px;
  }

  .theme-air .property-hero {
    gap: 10px;
  }
}

/* Showcase additions shared by the configurable visual themes. */
.theme-editorial .site-search > summary,
.theme-air .site-search > summary {
  color: var(--ink);
}

.theme-editorial .header-consultation,
.theme-air .header-consultation {
  color: #fff;
  background: var(--clay);
}

.theme-editorial .catalog-hero,
.theme-air .catalog-hero {
  background-image: linear-gradient(90deg, rgba(24, 30, 28, .93), rgba(24, 30, 28, .28)), var(--catalog-image);
  background-position: center;
  background-size: cover;
}

.theme-editorial .catalog-hero > div > span,
.theme-editorial .catalog-hero h1,
.theme-air .catalog-hero > div > span,
.theme-air .catalog-hero h1 {
  color: #fff;
}

.theme-editorial .catalog-hero aside,
.theme-air .catalog-hero aside {
  background: rgba(26, 34, 31, .7);
}

.theme-editorial .property-actions > a.primary,
.theme-air .property-actions > a.primary {
  color: #fff;
  background: var(--clay);
}

.theme-editorial .blog-hero,
.theme-air .blog-hero {
  margin: 0;
  border-radius: 0;
  background: var(--forest);
}

.theme-editorial .blog-hero h1,
.theme-air .blog-hero h1 {
  color: #fff;
}

.theme-editorial .blog-index .post-grid article,
.theme-air .blog-index .post-grid article {
  border-radius: 0;
}

.theme-editorial .article-hero,
.theme-editorial .article-hero-copy,
.theme-editorial .article-cta,
.theme-editorial .article-help {
  background: #302c29;
}

.theme-air .article-hero,
.theme-air .article-hero-copy,
.theme-air .article-cta,
.theme-air .article-help {
  background: #17343a;
}

.theme-editorial .article-help,
.theme-air .article-help {
  border-color: transparent;
}

.theme-air .related-journal article {
  overflow: hidden;
  border-radius: 18px;
}

.theme-editorial .seo-landing {
  background: #f6f0e5;
}

.theme-air .seo-landing {
  background: #f7faf9;
}

.theme-editorial .landing-hero,
.theme-editorial .landing-contact,
.theme-editorial .landing-cta {
  background: #302c29;
}

.theme-air .landing-hero,
.theme-air .landing-contact,
.theme-air .landing-cta {
  background: #17343a;
}

.theme-air .landing-contact,
.theme-air .landing-gallery a,
.theme-air .landing-related a {
  overflow: hidden;
  border-radius: 18px;
}
