/* [project]/frontend/components/navigation/navigation.module.css [app-client] (css) */
.navigation-module__zv5GRq__header {
  position: fixed;
  inset-inline: 0;
  top: 0;
  z-index: 60;
  padding: 1rem 1rem 0;
  pointer-events: none;
}

.navigation-module__zv5GRq__inner {
  pointer-events: auto;
  width: min(100%, 76rem);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  padding: .55rem .7rem .55rem .95rem;
  border: 1px solid #fffaf480;
  border-radius: 999px;
  background: linear-gradient(135deg, #fffcf8d6 0%, #f7efe5b3 100%);
  box-shadow: 0 18px 52px #5e4a3824, inset 0 1px #ffffff8c;
  backdrop-filter: blur(24px) saturate(145%);
}

.navigation-module__zv5GRq__transparent .navigation-module__zv5GRq__inner {
  background: linear-gradient(135deg, #fffcf8a8 0%, #eee3d685 100%);
}

.navigation-module__zv5GRq__brand {
  display: inline-flex;
  align-items: center;
  color: hsl(var(--foreground));
  text-decoration: none;
}

.navigation-module__zv5GRq__brandLabel {
  font-family: var(--font-display), serif;
  font-size: clamp(1.15rem, 2vw, 1.38rem);
  line-height: 1;
  letter-spacing: .04em;
}

.navigation-module__zv5GRq__actions {
  display: flex;
  align-items: center;
  gap: .45rem;
}

.navigation-module__zv5GRq__localeSwitcher {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .18rem;
  border-radius: 999px;
  background: #fffaf4a8;
  border: 1px solid #ccac7c47;
  box-shadow: 0 10px 24px #65503a0f;
}

.navigation-module__zv5GRq__localeLink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  min-height: 2rem;
  padding: .18rem .48rem;
  border-radius: 999px;
  color: hsl(var(--muted-foreground));
  text-decoration: none;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  transition: background-color .18s, color .18s, transform .18s;
}

.navigation-module__zv5GRq__localeLink:hover {
  color: hsl(var(--foreground));
  transform: translateY(-1px);
}

.navigation-module__zv5GRq__localeLinkActive {
  background: linear-gradient(135deg, #cfa55df5, #efdeb7f0);
  color: #45311ff5;
}

.navigation-module__zv5GRq__activeBadge {
  display: none;
  align-items: center;
  gap: .5rem;
  padding: .7rem .95rem;
  border-radius: 999px;
  background: #fffaf4b3;
  border: 1px solid #ccac7c4d;
  color: hsl(var(--muted-foreground));
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.navigation-module__zv5GRq__activeBadgeDot {
  width: .45rem;
  height: .45rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #cfa55d, #edd8aa);
  box-shadow: 0 0 0 .25rem #dfc6992e;
}

.navigation-module__zv5GRq__toggle {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  min-height: 2.55rem;
  padding: .28rem .3rem .28rem .82rem;
  border: 1px solid #a4835c47;
  border-radius: 999px;
  background: #fffaf4c2;
  color: hsl(var(--foreground));
  cursor: pointer;
  transition: transform .18s, box-shadow .18s, border-color .18s, background-color .18s;
  box-shadow: 0 12px 28px #65503a14;
}

.navigation-module__zv5GRq__toggle:hover {
  transform: translateY(-1px);
  border-color: #a4835c6b;
  box-shadow: 0 16px 34px #65503a1f;
}

.navigation-module__zv5GRq__toggle:focus-visible, .navigation-module__zv5GRq__closeButton:focus-visible, .navigation-module__zv5GRq__ctaLink:focus-visible, .navigation-module__zv5GRq__navItem:focus-visible, .navigation-module__zv5GRq__localeLink:focus-visible, .navigation-module__zv5GRq__brand:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px #d6aa4c47;
}

.navigation-module__zv5GRq__toggleLabel {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.navigation-module__zv5GRq__toggleIcon {
  position: relative;
  width: 1.9rem;
  height: 1.9rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #cfa55df5, #efdeb7f0);
  box-shadow: inset 0 1px #ffffff73;
}

.navigation-module__zv5GRq__toggleLine {
  position: absolute;
  left: 50%;
  width: .95rem;
  height: 2px;
  border-radius: 999px;
  background: #45311feb;
  transform: translateX(-50%);
  transition: top .18s, bottom .18s, width .18s, transform .18s;
}

.navigation-module__zv5GRq__toggleLineTop {
  top: .63rem;
}

.navigation-module__zv5GRq__toggleLineBottom {
  bottom: .63rem;
  width: .7rem;
}

.navigation-module__zv5GRq__toggleOpen .navigation-module__zv5GRq__toggleLineTop {
  top: .9rem;
  transform: translateX(-50%)rotate(45deg);
}

.navigation-module__zv5GRq__toggleOpen .navigation-module__zv5GRq__toggleLineBottom {
  bottom: .88rem;
  width: .95rem;
  transform: translateX(-50%)rotate(-45deg);
}

.navigation-module__zv5GRq__overlay {
  position: fixed;
  inset: 0;
  z-index: 70;
  background: #261c1538;
  backdrop-filter: blur(8px);
}

.navigation-module__zv5GRq__panel {
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: min(50dvh, 30rem);
  min-height: min(18rem, 100dvh - 1rem);
  max-height: calc(100dvh - 1rem);
  border-radius: 0 0 2rem 2rem;
  border: 1px solid #ffffff29;
  border-top: none;
  background: radial-gradient(circle at 12% 15%, #fff7e92e 0%, #0000 18%), radial-gradient(circle at 84% 20%, #e8cd9829 0%, #0000 22%), linear-gradient(160deg, #241a14f0 0%, #664930e0 42%, #bc955cb3 100%);
  overflow: hidden;
  box-shadow: 0 34px 88px #1d140e6b;
}

.navigation-module__zv5GRq__panel:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(#ffffff1f 0%, #0000 26%), radial-gradient(circle at 50% 120%, #fff5e42e 0%, #0000 48%);
  pointer-events: none;
}

.navigation-module__zv5GRq__panelInner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.5rem;
  width: min(100%, 70rem);
  height: 100%;
  margin: 0 auto;
  padding: 1.5rem 1.25rem 1.75rem;
}

.navigation-module__zv5GRq__panelTop {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.navigation-module__zv5GRq__eyebrow {
  margin: 0;
  color: #ffefd6d1;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.navigation-module__zv5GRq__closeButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: .7rem .95rem;
  border: 1px solid #ffffff2e;
  border-radius: 999px;
  background: #fff9f01a;
  color: #fff8f2eb;
  cursor: pointer;
  transition: transform .18s, background-color .18s, border-color .18s;
}

.navigation-module__zv5GRq__closeButton:hover {
  transform: translateY(-1px);
  background: #fff9f029;
  border-color: #ffffff47;
}

.navigation-module__zv5GRq__menu {
  display: grid;
  justify-items: center;
  gap: .35rem;
  text-align: center;
  overflow-y: auto;
  padding-right: .15rem;
}

.navigation-module__zv5GRq__navItem {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .2rem .6rem .45rem;
  color: #fff8f2d6;
  text-decoration: none;
  font-family: var(--font-display), serif;
  font-size: clamp(1.75rem, 4vw, 3.2rem);
  line-height: 1.02;
  letter-spacing: -.03em;
  transition: color .18s, opacity .18s;
}

.navigation-module__zv5GRq__navItem:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, #fff2d333, #eccd92f2, #fff2d333);
  transform: translateX(-50%);
  transition: width .2s;
}

.navigation-module__zv5GRq__navItem:hover, .navigation-module__zv5GRq__navItemActive {
  color: #fffcf8;
}

.navigation-module__zv5GRq__navItem:hover:after, .navigation-module__zv5GRq__navItemActive:after {
  width: calc(100% - 1rem);
}

.navigation-module__zv5GRq__footer {
  display: flex;
  justify-content: center;
}

.navigation-module__zv5GRq__ctaLink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: .8rem 1.3rem;
  border-radius: 999px;
  border: 1px solid #fff1d947;
  background: #fff9f01f;
  color: #fff8f2f0;
  text-decoration: none;
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: transform .18s, background-color .18s, border-color .18s;
}

.navigation-module__zv5GRq__ctaLink:hover {
  transform: translateY(-1px);
  background: #fff9f02e;
  border-color: #fff1d966;
}

@media (width >= 640px) {
  .navigation-module__zv5GRq__header {
    padding-inline: 1.5rem;
  }

  .navigation-module__zv5GRq__panelInner {
    padding-inline: 1.75rem;
  }
}

@media (width >= 900px) {
  .navigation-module__zv5GRq__header {
    padding-top: 1.2rem;
  }

  .navigation-module__zv5GRq__inner {
    padding-inline: 1rem;
  }

  .navigation-module__zv5GRq__panel {
    height: min(48dvh, 31rem);
    min-height: 20rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .navigation-module__zv5GRq__toggle, .navigation-module__zv5GRq__closeButton, .navigation-module__zv5GRq__ctaLink, .navigation-module__zv5GRq__navItem, .navigation-module__zv5GRq__toggleLine {
    transition: none;
  }
}


/* [project]/frontend/components/schedule/schedule.module.css [app-client] (css) */
.schedule-module__znx0HW__section {
  padding: clamp(5rem, 9vw, 7.5rem) 1.5rem;
  background: radial-gradient(circle at 10% 0%, #f7efe4 0%, transparent 32%), radial-gradient(circle at 100% 20%, #f6f0e9 0%, transparent 24%), linear-gradient(180deg, hsl(var(--background)) 0%, hsl(var(--surface)) 100%);
}

.schedule-module__znx0HW__inner {
  width: min(100%, 1180px);
  margin: 0 auto;
  display: grid;
  gap: 2.5rem;
}

.schedule-module__znx0HW__header {
  display: grid;
  gap: 1rem;
  justify-items: center;
  text-align: center;
}

.schedule-module__znx0HW__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .55rem .95rem;
  border: 1px solid hsl(var(--border));
  border-radius: 999px;
  background: hsl(var(--surface) / .88);
  color: hsl(var(--foreground));
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .03em;
  box-shadow: 0 12px 30px hsl(var(--shadow) / .05);
}

.schedule-module__znx0HW__headerText {
  display: grid;
  gap: 1rem;
  max-width: 44rem;
}

.schedule-module__znx0HW__title {
  margin: 0;
  font-family: var(--font-display), serif;
  font-size: clamp(2.8rem, 7vw, 4.75rem);
  line-height: .95;
  letter-spacing: -.03em;
  color: hsl(var(--foreground));
}

.schedule-module__znx0HW__subtitle {
  margin: 0;
  color: hsl(var(--muted-foreground));
  font-size: 1rem;
  line-height: 1.8;
}

.schedule-module__znx0HW__summary {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1rem;
  border-radius: 999px;
  background: linear-gradient(135deg, hsl(var(--accent) / .92) 0%, hsl(var(--surface)) 100%);
  color: hsl(var(--accent-foreground));
  font-size: .9rem;
  font-weight: 700;
}

.schedule-module__znx0HW__timeline {
  position: relative;
  display: grid;
  gap: 1.5rem;
}

.schedule-module__znx0HW__timeline:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 1.1rem;
  width: 1px;
  background: linear-gradient(180deg, hsl(var(--primary) / .1) 0%, hsl(var(--primary) / .35) 20%, hsl(var(--primary) / .35) 80%, hsl(var(--primary) / .1) 100%);
}

.schedule-module__znx0HW__progressLine {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(1.1rem - .5px);
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(180deg, #e8c268 0%, hsl(var(--primary)) 45%, #dcb26a 100%);
  transform-origin: top;
  z-index: 1;
}

.schedule-module__znx0HW__timelineItem {
  position: relative;
  padding-left: 3.5rem;
  z-index: 2;
}

.schedule-module__znx0HW__cardSlot {
  min-width: 0;
}

.schedule-module__znx0HW__marker {
  position: absolute;
  top: 1.75rem;
  left: 0;
  display: grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  border: 1px solid #d7b875;
  border-radius: 999px;
  background: linear-gradient(135deg, #e7bd5a 0%, #e8c592 100%);
  box-shadow: 0 10px 24px #aa85412e;
}

.schedule-module__znx0HW__markerInner {
  color: #3f3227;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.schedule-module__znx0HW__card {
  overflow: hidden;
  border: 1px solid hsl(var(--border));
  border-radius: 2rem;
  background: hsl(var(--surface) / .94);
  box-shadow: 0 22px 58px hsl(var(--shadow) / .08);
  backdrop-filter: blur(16px);
  transition: transform .22s, box-shadow .22s, border-color .22s;
}

.schedule-module__znx0HW__card:hover {
  transform: translateY(-6px);
  border-color: hsl(var(--primary) / .25);
  box-shadow: 0 28px 70px hsl(var(--shadow) / .12);
}

.schedule-module__znx0HW__media {
  position: relative;
  min-height: 15.5rem;
  overflow: hidden;
}

.schedule-module__znx0HW__image {
  -o-object-fit: cover;
  object-fit: cover;
  transition: transform .42s;
}

.schedule-module__znx0HW__card:hover .schedule-module__znx0HW__image {
  transform: scale(1.04);
}

.schedule-module__znx0HW__imageOverlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(#13100c14 0%, #13100c57 100%);
}

.schedule-module__znx0HW__timeBadge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 5rem;
  padding: .7rem .95rem;
  border-radius: 999px;
  background: hsl(var(--surface) / .9);
  color: hsl(var(--foreground));
  font-size: .9rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 14px 34px hsl(var(--shadow) / .12);
}

.schedule-module__znx0HW__cardBody {
  display: grid;
  gap: 1.1rem;
  padding: 1.3rem 1.3rem 1.4rem;
}

.schedule-module__znx0HW__dateBadge {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  width: -moz-fit-content;
  width: fit-content;
  padding: .65rem .95rem;
  border-radius: 999px;
  background: hsl(var(--primary) / .1);
  color: hsl(var(--primary));
  font-size: .88rem;
  font-weight: 700;
}

.schedule-module__znx0HW__copy {
  display: grid;
  gap: .8rem;
}

.schedule-module__znx0HW__cardTitle {
  margin: 0;
  font-family: var(--font-display), serif;
  font-size: clamp(1.9rem, 3vw, 2.4rem);
  line-height: 1;
  color: hsl(var(--foreground));
}

.schedule-module__znx0HW__description {
  margin: 0;
  color: hsl(var(--muted-foreground));
  font-size: .98rem;
  line-height: 1.8;
}

.schedule-module__znx0HW__locationCard {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: start;
  gap: .85rem;
  padding: 1rem;
  border: 1px solid hsl(var(--border));
  border-radius: 1.35rem;
  background: linear-gradient(180deg, hsl(var(--surface)) 0%, hsl(var(--muted)) 100%);
  text-decoration: none;
  transition: transform .18s, border-color .18s, box-shadow .18s;
}

.schedule-module__znx0HW__locationCard:hover {
  transform: translateY(-1px);
  border-color: hsl(var(--primary) / .3);
  box-shadow: 0 16px 34px hsl(var(--shadow) / .08);
}

.schedule-module__znx0HW__locationIcon {
  display: grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 999px;
  background: hsl(var(--primary) / .1);
  color: hsl(var(--primary));
}

.schedule-module__znx0HW__locationText {
  display: grid;
  gap: .2rem;
  min-width: 0;
}

.schedule-module__znx0HW__locationLabel {
  color: hsl(var(--muted-foreground));
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.schedule-module__znx0HW__locationName {
  color: hsl(var(--foreground));
  font-size: 1rem;
}

.schedule-module__znx0HW__locationAddress {
  color: hsl(var(--muted-foreground));
  font-size: .92rem;
  line-height: 1.55;
}

.schedule-module__znx0HW__locationArrow {
  margin-top: .2rem;
  color: hsl(var(--muted-foreground));
  transition: transform .18s, color .18s;
}

.schedule-module__znx0HW__locationCard:hover .schedule-module__znx0HW__locationArrow {
  transform: translate(2px, -2px);
  color: hsl(var(--primary));
}

@media (width >= 960px) {
  .schedule-module__znx0HW__timeline {
    gap: 2rem;
  }

  .schedule-module__znx0HW__timeline:before {
    left: 50%;
    transform: translateX(-50%);
  }

  .schedule-module__znx0HW__progressLine {
    left: calc(50% - 1px);
  }

  .schedule-module__znx0HW__timelineItem {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 6rem minmax(0, 1fr);
    align-items: start;
    padding-left: 0;
  }

  .schedule-module__znx0HW__timelineItemRight {
  }

  .schedule-module__znx0HW__cardSlotLeft {
    grid-column: 1;
  }

  .schedule-module__znx0HW__cardSlotRight {
    grid-column: 3;
  }

  .schedule-module__znx0HW__marker {
    top: 2.25rem;
    left: 50%;
    transform: translateX(-50%);
    width: 2.9rem;
    height: 2.9rem;
  }

  .schedule-module__znx0HW__markerInner {
    font-size: .8rem;
  }

  .schedule-module__znx0HW__media {
    min-height: 18rem;
  }

  .schedule-module__znx0HW__cardBody {
    padding: 1.5rem 1.55rem 1.65rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .schedule-module__znx0HW__card, .schedule-module__znx0HW__image, .schedule-module__znx0HW__locationCard, .schedule-module__znx0HW__locationArrow, .schedule-module__znx0HW__progressLine {
    transition: none;
  }
}


/* [project]/frontend/components/sections/section-backdrop.module.css [app-client] (css) */
.section-backdrop-module__D8eXUq__section {
  position: relative;
  overflow: clip;
  isolation: isolate;
  padding: clamp(5rem, 10vw, 7.75rem) clamp(1.25rem, 3vw, 1.75rem);
}

.section-backdrop-module__D8eXUq__section:before, .section-backdrop-module__D8eXUq__section:after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.section-backdrop-module__D8eXUq__section:after {
  background-image: radial-gradient(circle at 1px 1px, #ffffff2e 1px, #0000 0);
  background-size: 24px 24px;
  mix-blend-mode: soft-light;
  opacity: .34;
}

.section-backdrop-module__D8eXUq__content {
  position: relative;
  z-index: 1;
}

.section-backdrop-module__D8eXUq__schedule {
  background: radial-gradient(circle at 9% 14%, #f7ddc6eb 0%, #0000 28%), radial-gradient(circle at 88% 18%, #cba7762e 0%, #0000 24%), linear-gradient(145deg, #fdf7f1 0%, #f4e4d4 47%, #f1e2d2 100%);
}

.section-backdrop-module__D8eXUq__schedule:before {
  background: linear-gradient(#fffcf74d 0%, #fff6ed24 100%);
}

.section-backdrop-module__D8eXUq__rsvp {
  background: radial-gradient(circle at 18% 12%, #ffffffe0 0%, #0000 28%), radial-gradient(circle at 82% 14%, #e1d7c75c 0%, #0000 24%), linear-gradient(140deg, #fffdfa 0%, #f8f2eb 42%, #f2ebe3 100%);
}

.section-backdrop-module__D8eXUq__rsvp:before {
  background: linear-gradient(#ffffff6b 0%, #ffffff1f 100%);
}

.section-backdrop-module__D8eXUq__gifts {
  background: radial-gradient(circle at 14% 18%, #fff2d9c7 0%, #0000 24%), radial-gradient(circle at 84% 16%, #cfa66633 0%, #0000 22%), linear-gradient(140deg, #fbf7f2 0%, #efe0cf 44%, #e2c7ac 100%);
}

.section-backdrop-module__D8eXUq__gifts:before {
  background: linear-gradient(#fffaf247 0%, #563a220a 100%);
}

.section-backdrop-module__D8eXUq__location {
  background: radial-gradient(circle at 10% 16%, #e9eee2c7 0%, #0000 26%), radial-gradient(circle at 86% 14%, #d6c3a43d 0%, #0000 24%), linear-gradient(145deg, #fbfaf6 0%, #eef1ea 44%, #e7dfd0 100%);
}

.section-backdrop-module__D8eXUq__location:before {
  background: linear-gradient(#ffffff52 0%, #ffffff14 100%);
}

@media (width >= 768px) {
  .section-backdrop-module__D8eXUq__section {
    padding-inline: clamp(1.5rem, 4vw, 2.5rem);
  }
}


/* [project]/frontend/components/accomodation/accommodations.module.css [app-client] (css) */
.accommodations-module__8p3N-W__section {
  padding: clamp(5rem, 9vw, 7rem) 1.5rem;
  background: radial-gradient(circle at top left, #f9f1e6 0%, transparent 28%), linear-gradient(180deg, hsl(var(--background)) 0%, hsl(var(--surface)) 100%);
}

.accommodations-module__8p3N-W__inner {
  width: min(100%, 1120px);
  margin: 0 auto;
  display: grid;
  gap: 2rem;
}

.accommodations-module__8p3N-W__header {
  display: grid;
  gap: 1rem;
  max-width: 42rem;
}

.accommodations-module__8p3N-W__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  width: -moz-fit-content;
  width: fit-content;
  padding: .5rem .85rem;
  border: 1px solid hsl(var(--border));
  border-radius: 999px;
  background: hsl(var(--surface) / .82);
  color: hsl(var(--foreground));
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: .02em;
}

.accommodations-module__8p3N-W__title {
  margin: 0;
  font-family: var(--font-display), serif;
  font-size: clamp(2.5rem, 6vw, 4.25rem);
  line-height: .95;
  letter-spacing: -.02em;
  color: hsl(var(--foreground));
}

.accommodations-module__8p3N-W__subtitle {
  margin: 0;
  color: hsl(var(--muted-foreground));
  font-size: 1rem;
  line-height: 1.75;
}

.accommodations-module__8p3N-W__tags {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.accommodations-module__8p3N-W__tag {
  padding: .55rem .9rem;
  border-radius: 999px;
  background: hsl(var(--accent) / .65);
  color: hsl(var(--accent-foreground));
  font-size: .9rem;
  font-weight: 600;
}

.accommodations-module__8p3N-W__grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr);
}

.accommodations-module__8p3N-W__card {
  --delay: calc(var(--card-index, 0) * 90ms);
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  border: 1px solid hsl(var(--border));
  border-radius: 2rem;
  background: hsl(var(--surface) / .9);
  box-shadow: 0 18px 48px hsl(var(--shadow) / .08);
  backdrop-filter: blur(18px);
  opacity: 0;
  transform: translateY(20px);
  animation: .68s cubic-bezier(.22, 1, .36, 1) forwards accommodations-module__8p3N-W__card-enter;
  animation-delay: var(--delay);
  transition: transform .22s, box-shadow .22s, border-color .22s;
}

.accommodations-module__8p3N-W__card:hover {
  transform: translateY(-8px);
  border-color: hsl(var(--primary) / .28);
  box-shadow: 0 24px 60px hsl(var(--shadow) / .14);
}

.accommodations-module__8p3N-W__media {
  position: relative;
  aspect-ratio: 1 / .68;
  overflow: hidden;
  background: hsl(var(--muted));
}

.accommodations-module__8p3N-W__image {
  -o-object-fit: cover;
  object-fit: cover;
  transition: transform .42s;
}

.accommodations-module__8p3N-W__card:hover .accommodations-module__8p3N-W__image {
  transform: scale(1.04);
}

.accommodations-module__8p3N-W__recommendedBadge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 1;
  padding: .45rem .8rem;
  border-radius: 999px;
  background: hsl(var(--surface) / .9);
  color: hsl(var(--foreground));
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .03em;
  box-shadow: 0 12px 30px hsl(var(--shadow) / .12);
}

.accommodations-module__8p3N-W__body {
  display: grid;
  gap: .9rem;
  padding: 1.15rem 1.15rem 1.25rem;
}

.accommodations-module__8p3N-W__metaRow {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.accommodations-module__8p3N-W__titleGroup {
  display: grid;
  gap: .55rem;
}

.accommodations-module__8p3N-W__cardTitle {
  margin: 0;
  font-size: clamp(1.3rem, 2vw, 1.6rem);
  line-height: 1.15;
  font-weight: 700;
  color: hsl(var(--foreground));
}

.accommodations-module__8p3N-W__distance {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin: 0;
  color: hsl(var(--muted-foreground));
  font-size: .95rem;
  line-height: 1.4;
}

.accommodations-module__8p3N-W__distanceIcon {
  color: hsl(var(--primary));
}

.accommodations-module__8p3N-W__price {
  margin: 0;
  white-space: nowrap;
  color: hsl(var(--foreground));
  font-size: .95rem;
  font-weight: 700;
}

.accommodations-module__8p3N-W__description {
  margin: 0;
  color: hsl(var(--muted-foreground));
  line-height: 1.65;
  font-size: .96rem;
}

.accommodations-module__8p3N-W__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 8.75rem;
  margin-top: .25rem;
  padding: .85rem 1.2rem;
  border-radius: 999px;
  border: 1px solid #cfa8598c;
  background: linear-gradient(135deg, #e1b347 0%, #e0bb7b 100%);
  color: #3a2d22;
  text-decoration: none;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 12px 26px #a6823f2e;
  transition: background .18s, box-shadow .18s, transform .18s;
}

.accommodations-module__8p3N-W__action:hover {
  background: linear-gradient(135deg, #e5ae2e 0%, #dfaf62 100%);
  box-shadow: 0 14px 32px #9b7a3b3d;
  transform: translateY(-1px);
}

.accommodations-module__8p3N-W__action:focus-visible {
  box-shadow: 0 0 0 3px hsl(var(--ring) / .35);
}

.accommodations-module__8p3N-W__notes {
  display: grid;
  gap: .95rem;
  padding: 1.25rem;
  border: 1px solid hsl(var(--border));
  border-radius: 1.75rem;
  background: linear-gradient(180deg, hsl(var(--surface)) 0%, hsl(var(--muted)) 100%);
}

.accommodations-module__8p3N-W__notesHeading {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin: 0;
  color: hsl(var(--foreground));
  font-size: 1rem;
  font-weight: 700;
}

.accommodations-module__8p3N-W__notesList {
  display: grid;
  gap: .75rem;
}

.accommodations-module__8p3N-W__note {
  position: relative;
  margin: 0;
  padding-left: 1rem;
  color: hsl(var(--muted-foreground));
  line-height: 1.6;
}

.accommodations-module__8p3N-W__note:before {
  content: "";
  position: absolute;
  top: .7rem;
  left: 0;
  width: .38rem;
  height: .38rem;
  border-radius: 999px;
  background: hsl(var(--primary));
}

@media (width >= 700px) {
  .accommodations-module__8p3N-W__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .accommodations-module__8p3N-W__notes {
    padding: 1.5rem;
  }
}

@media (width >= 1100px) {
  .accommodations-module__8p3N-W__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  .accommodations-module__8p3N-W__card, .accommodations-module__8p3N-W__image, .accommodations-module__8p3N-W__action {
    animation: none;
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@keyframes accommodations-module__8p3N-W__card-enter {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/*# sourceMappingURL=components_4ea1ed._.css.map*/
