/* Page-owned styles for Dania page */

.dania-page {
  overflow-x: hidden;
}

/* Hero section */
.dania-hero {
  position: relative;
  width: 100vw;
  min-height: 80vh;
  display: flex;
  align-items: flex-end;
  background-color: var(--color-dark-green);
}

.dania-hero__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.dania-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.dania-hero__gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(31, 58, 46, 0) 40%, rgba(31, 58, 46, 0.55) 100%);
}

.dania-hero__content {
  position: relative;
  z-index: 1;
  padding-block: var(--space-2xl) var(--space-3xl);
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
}

.dania-hero__label {
  color: var(--color-brick);
  margin-block-end: var(--space-sm);
}

.dania-hero__heading {
  color: var(--color-warm-white);
  font-size: clamp(2.5rem, 6vw, 5.5rem);
  line-height: 0.98;
  letter-spacing: -0.02em;
  max-width: 12ch;
  margin-block-end: var(--space-lg);
  text-wrap: balance;
}

.dania-hero__intro {
  color: var(--color-warm-white);
  max-width: 720px;
  margin-block-end: 0;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.25);
}

/* Generic section spacing */
.dania-section {
  padding-block: var(--space-2xl);
}

@media (min-width: 768px) {
  .dania-section {
    padding-block: var(--space-3xl);
  }
}

@media (min-width: 1024px) {
  .dania-section {
    padding-block: var(--space-4xl);
  }
}

.dania-section--warm-white {
  background-color: var(--color-warm-white);
  color: var(--color-anthracite);
}

.dania-section--light-sand {
  background-color: var(--color-light-sand);
  color: var(--color-anthracite);
}

.dania-section--dark-green {
  background-color: var(--color-dark-green);
  color: var(--color-warm-white);
}

.dania-section--dark-green h2,
.dania-section--dark-green h3,
.dania-section--dark-green p {
  color: var(--color-warm-white);
}

.dania-section--dark-green .label {
  color: var(--color-warm-white);
}

.dania-section--dark-green .image-caption {
  color: var(--color-warm-white-72);
}

/* Philosophy section */
.dania-philosophy {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
}

.dania-philosophy__text {
  max-width: 720px;
  margin-inline: 0;
}

.dania-philosophy__text .label {
  margin-block-end: var(--space-xs);
}

.dania-philosophy__text h2 {
  margin-block-end: var(--space-lg);
}

.dania-philosophy__text p {
  margin-block-end: var(--space-md);
}

.dania-philosophy__text p:last-child {
  margin-block-end: 0;
}

/* Techniques section */
.dania-techniques {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
  align-items: start;
}

.dania-techniques__text {
  max-width: 720px;
  margin-inline: 0;
}

.dania-techniques__text .label {
  margin-block-end: var(--space-xs);
}

.dania-techniques__text h2 {
  margin-block-end: var(--space-lg);
}

.dania-techniques__text p {
  margin-block-end: var(--space-md);
}

.dania-techniques__text p:last-child {
  margin-block-end: 0;
}

.dania-techniques__media {
  width: 100%;
  max-width: 420px;
  margin-inline: 0;
}

.dania-techniques__media .image-frame {
  width: 100%;
}

.dania-techniques__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Dishes section */
.dania-dishes {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

.dania-dishes__header {
  max-width: 720px;
  margin-inline: 0;
}

.dania-dishes__header .label {
  margin-block-end: var(--space-xs);
}

.dania-dishes__header h2 {
  margin-block-end: var(--space-sm);
}

.dania-dishes__note {
  color: var(--color-anthracite-soft);
  margin-block-end: 0;
}

.dania-dishes__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
}

.dania-dish {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
}

.dania-dish h3 {
  margin-block-end: 0;
}

.dania-dish .body-small {
  margin-block-end: 0;
}

.dania-dish__price {
  font-size: var(--text-body-small);
  color: var(--color-anthracite-soft);
  margin-block-start: auto;
  padding-block-start: var(--space-xs);
  border-top: 1px dotted rgba(43, 43, 40, 0.3);
  text-align: right;
}

/* Composition section */
.dania-composition {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
  align-items: start;
}

.dania-composition__text {
  max-width: 720px;
  margin-inline: 0;
}

.dania-composition__text .label {
  margin-block-end: var(--space-xs);
}

.dania-composition__text h2 {
  margin-block-end: var(--space-lg);
}

.dania-composition__text p {
  margin-block-end: var(--space-md);
}

.dania-composition__text p:last-child {
  margin-block-end: 0;
}

.dania-composition__media {
  width: 100%;
  max-width: 420px;
  margin-inline: 0;
}

.dania-composition__media .image-frame {
  width: 100%;
}

.dania-composition__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Table section */
.dania-table {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
  align-items: start;
}

.dania-table__media {
  width: 100%;
  max-width: 420px;
  margin-inline: 0;
}

.dania-table__media .image-frame {
  width: 100%;
}

.dania-table__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dania-table__text {
  max-width: 720px;
  margin-inline: 0;
}

.dania-table__text .label {
  margin-block-end: var(--space-xs);
}

.dania-table__text h2 {
  margin-block-end: var(--space-lg);
}

.dania-table__text p {
  margin-block-end: var(--space-md);
}

.dania-table__text p:last-child {
  margin-block-end: 0;
}

/* Casino section */
.dania-casino {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
  align-items: start;
}

.dania-casino__text {
  max-width: 720px;
  margin-inline: 0;
}

.dania-casino__text .label {
  margin-block-end: var(--space-xs);
}

.dania-casino__text h2 {
  margin-block-end: var(--space-lg);
}

.dania-casino__text p {
  margin-block-end: var(--space-md);
}

.dania-casino__text p:last-child {
  margin-block-end: 0;
}

.dania-casino__media {
  width: 100%;
  max-width: 420px;
  margin-inline: 0;
}

.dania-casino__media .image-frame {
  width: 100%;
}

.dania-casino__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Reservation section */
.dania-reservation {
  text-align: center;
}

.dania-reservation__inner {
  max-width: 720px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
}

.dania-reservation__inner .label {
  margin-block-end: 0;
}

.dania-reservation__inner h2 {
  margin-block-end: 0;
}

.dania-reservation__inner .body-large {
  margin-block-end: 0;
}

.dania-reservation__inner .btn {
  margin-block-start: var(--space-sm);
}

/* Location section */
.dania-location {
  padding-block: var(--space-xl);
}

.dania-location__inner {
  max-width: 720px;
  margin-inline: 0;
}

.dania-location__inner h3 {
  margin-block-end: var(--space-sm);
}

.dania-location__inner p {
  margin-block-end: 0;
  color: var(--color-anthracite-soft);
}

/* Contact section */
.dania-contact {
  padding-block: var(--space-xl);
}

.dania-contact__inner {
  max-width: 720px;
  margin-inline: 0;
}

.dania-contact__inner h3 {
  margin-block-end: var(--space-sm);
}

.dania-contact__inner p {
  margin-block-end: var(--space-sm);
}

.dania-contact__inner p:last-child {
  margin-block-end: 0;
}

.dania-contact__inner a {
  color: var(--color-anthracite);
}

/* Tablet and desktop layouts */
@media (min-width: 768px) {
  .dania-hero__content {
    padding-inline: var(--container-padding-tablet);
  }

  .dania-techniques,
  .dania-composition,
  .dania-table,
  .dania-casino {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-2xl);
  }

  .dania-techniques__text,
  .dania-composition__text,
  .dania-table__text,
  .dania-casino__text {
    max-width: none;
  }

  .dania-techniques__media,
  .dania-composition__media,
  .dania-table__media,
  .dania-casino__media {
    max-width: none;
  }

  .dania-dishes__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-xl);
  }
}

@media (min-width: 1024px) {
  .dania-hero__content {
    padding-inline: var(--container-padding-desktop);
  }

  .dania-philosophy {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px;
  }

  .dania-philosophy__text {
    grid-column: 1 / 8;
    max-width: none;
  }

  .dania-techniques {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px;
  }

  .dania-techniques__text {
    grid-column: 1 / 8;
  }

  .dania-techniques__media {
    grid-column: 9 / 13;
  }

  .dania-dishes__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-xl);
  }

  .dania-composition {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px;
  }

  .dania-composition__text {
    grid-column: 1 / 7;
  }

  .dania-composition__media {
    grid-column: 8 / 13;
  }

  .dania-table {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px;
  }

  .dania-table__media {
    grid-column: 1 / 6;
  }

  .dania-table__text {
    grid-column: 7 / 13;
  }

  .dania-casino {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px;
  }

  .dania-casino__text {
    grid-column: 1 / 7;
  }

  .dania-casino__media {
    grid-column: 8 / 13;
  }

  .dania-location__inner,
  .dania-contact__inner {
    max-width: 720px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .dania-hero__content,
  .dania-section {
    animation: none !important;
    transition: none !important;
  }
}
