:root {
  --ink: #302c25;
  --ink-soft: #70675a;
  --plum: #4d5947;
  --rose: #d0ad68;
  --rose-pale: #f1ead9;
  --cream: #fbf8f0;
  --white: #fff;
  --gold: #ad8749;
  --gold-light: #ddcda9;
}

body {
  background: var(--cream);
  color: var(--ink);
}

.site-header {
  background: rgba(251, 248, 240, 0.96);
  border-bottom-color: rgba(77, 89, 71, 0.16);
  box-shadow: 0 8px 30px rgba(48, 44, 37, 0.06);
}

.brand-subtitle,
.section-kicker,
.service-meta,
.trust-list svg,
.contact-grid svg {
  color: var(--gold);
}

.hero-shade {
  background:
    linear-gradient(
      90deg,
      rgba(38, 39, 31, 0.92) 0%,
      rgba(51, 53, 40, 0.74) 50%,
      rgba(48, 47, 36, 0.25) 100%
    ),
    linear-gradient(180deg, rgba(0, 0, 0, 0.08) 55%, rgba(29, 30, 23, 0.45));
}

.hero {
  background-image: url("../images/recepce.webp");
  background-position: center bottom;
}

.highlights {
  background: var(--cream);
  border-color: rgba(173, 135, 73, 0.28);
  box-shadow: 0 20px 60px rgba(48, 44, 37, 0.12);
}

.highlights .highlight:nth-child(3) {
  order: 1;
}

.highlights .highlight:nth-child(2) {
  order: 2;
}

.highlights .highlight:nth-child(1) {
  order: 3;
}

.highlight + .highlight {
  border-color: rgba(173, 135, 73, 0.2);
}

.highlight {
  border-left: 0 !important;
}

.highlights .highlight:nth-child(2),
.highlights .highlight:nth-child(1) {
  border-left: 1px solid rgba(173, 135, 73, 0.2) !important;
}

.section-title em {
  color: var(--gold);
}

.text-link,
.gallery-item span,
.photo-caption,
.review-controls > button,
.social-links a {
  color: var(--plum);
}

.image-frame {
  background: #e8e1d3;
  box-shadow: 14px 14px 0 -8px rgba(173, 135, 73, 0.28);
}

.image-frame img[src="./images/kosmetika-lenka.webp"] {
  object-position: center 44%;
}

.services-section {
  background: #f3efe5;
}

.service-list .service-row:nth-child(3) {
  order: 1;
}

.service-list .service-row:nth-child(2) {
  order: 2;
}

.service-list .service-row:nth-child(1) {
  order: 3;
}

.service-copy {
  position: relative;
}

.service-meta {
  position: absolute;
  z-index: 0;
  top: -35px;
  right: -15px;
  margin: 0;
  opacity: 0.1;
  pointer-events: none;
}

.service-meta svg {
  width: 135px;
  height: 135px;
  stroke-width: 0.75;
}

.service-copy h3,
.service-copy > p,
.service-copy ul,
.service-copy .text-link {
  position: relative;
  z-index: 1;
}

.standalone-addon-service {
  display: none !important;
}

.service-copy > .service-note {
  border-left: 3px solid var(--gold);
  background: rgba(208, 173, 104, 0.14);
  margin: -6px 0 28px;
  padding: 13px 16px;
  color: #5f5749;
  font-size: 13px;
  line-height: 1.6;
}

.price-section {
  background: #465142;
}

.price-heading .section-title em {
  color: #ead8ad;
}

.price-card {
  background: rgba(255, 255, 255, 0.055);
  border-color: rgba(234, 216, 173, 0.32);
}

.price-tabs {
  border-bottom-color: rgba(234, 216, 173, 0.26);
}

.price-tabs button {
  color: rgba(255, 255, 255, 0.68);
  border-right-color: rgba(234, 216, 173, 0.2);
}

.price-tabs button.active {
  background: #d0ad68;
  color: #2e3329;
}

.price-panel[hidden] {
  display: none !important;
}

.price-group + .price-group {
  margin-top: 42px;
}

.price-group h3 {
  margin: 0 0 10px;
  color: #ead8ad;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.1;
}

.price-row {
  border-top-color: rgba(255, 255, 255, 0.15);
}

.price-row > div {
  min-width: 0;
}

.price-row small {
  display: block;
  max-width: 640px;
  margin-top: 5px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 12px;
  line-height: 1.55;
}

.price-row-detail {
  align-items: start;
}

.price-row strong {
  color: #f1dca7;
}

.price-note {
  margin: 16px 0 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 12px;
  line-height: 1.65;
}

.price-note-highlight {
  border-left: 3px solid #d0ad68;
  background: rgba(208, 173, 104, 0.12);
  margin: 0 0 20px;
  padding: 12px 15px;
  color: #f6ecd3;
}

.price-group-addons {
  border-top: 1px solid rgba(234, 216, 173, 0.28);
  padding-top: 34px;
}

.price-group-addons .price-note {
  margin: 0 0 12px;
}

.voucher,
.booking-section,
.reviews-section {
  background: var(--cream);
}

.gallery-section,
.tour-section,
.contact-section {
  background: #eee9dd;
}

.gallery-grid {
  grid-auto-flow: dense;
}

.gallery-item.item-9 {
  grid-column: span 2;
}

.review-card,
.booking-form {
  background: #f1eadc;
  border-color: var(--gold-light);
}

.booking-form input,
.booking-form select,
.booking-form textarea {
  background: rgba(255, 255, 255, 0.74);
  border-color: #d8cfbd;
}

footer {
  background: #30372e;
}

.mobile-actions {
  background: #465142;
}

@media (max-width: 760px) {
  .hero {
    background-position: 52% bottom;
  }

  .hero-shade {
    background:
      linear-gradient(
        90deg,
        rgba(38, 39, 31, 0.92) 0%,
        rgba(51, 53, 40, 0.77) 75%,
        rgba(48, 47, 36, 0.54) 100%
      ),
      linear-gradient(180deg, transparent 50%, rgba(29, 30, 23, 0.48));
  }

  .highlights .highlight:nth-child(3) {
    border-top: 0;
  }

  .highlights .highlight:nth-child(1) {
    border-top: 1px solid rgba(173, 135, 73, 0.2);
  }

  .highlights .highlight:nth-child(2),
  .highlights .highlight:nth-child(1) {
    border-left: 0 !important;
  }

  .price-row-detail {
    gap: 12px;
  }

  .price-row small {
    font-size: 11px;
  }

  .price-group h3 {
    font-size: 27px;
  }

  .service-meta {
    top: -16px;
    opacity: 0.1;
  }

  .service-meta svg {
    width: 108px;
    height: 108px;
  }
}
