/* Brand mark: keep the full name below the logo on desktop and mobile. */
.site-header {
  min-height: 136px;
}

.header-logo {
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  height: auto;
  min-height: 126px;
  padding: 3px 0;
  text-align: center;
}

.header-logo img {
  width: 78px;
  height: 78px;
}

.header-wordmark {
  display: flex;
  align-items: center;
  gap: 2px;
  text-transform: uppercase;
}

.header-wordmark strong {
  font-size: 17.5px;
  line-height: 1.05;
}

.header-wordmark small {
  font-size: 12.5px;
  line-height: 1.1;
  letter-spacing: .15em;
}

@media (max-width: 700px) {
  .site-header {
    min-height: 126px;
    padding-block: 4px;
    gap: 8px;
  }

  .header-logo {
    min-height: 115px;
  }

  .header-logo img {
    width: 65px;
    height: 65px;
  }

  .header-wordmark strong {
    font-size: 15px;
  }

  .header-wordmark small {
    font-size: 11.25px;
  }
}

/* Cinematic, scroll-led layer inspired by editorial hospitality sites. */
html {
  scroll-behavior: smooth;
}

body {
  overflow-x: clip;
}

.site-header {
  transition: background-color .35s ease, box-shadow .35s ease, transform .35s ease;
}

.site-header.is-scrolled {
  background: color-mix(in srgb, #fffaf4 92%, transparent);
  box-shadow: 0 10px 40px rgba(72, 21, 34, .11);
  backdrop-filter: blur(16px);
}

.hero {
  min-height: min(900px, 92svh);
  isolation: isolate;
}

.hero-copy > *,
.hero-gallery {
  opacity: 0;
  transform: translateY(32px);
  animation: hero-arrive .85s cubic-bezier(.2,.75,.25,1) forwards;
}

.hero-copy > :nth-child(2) { animation-delay: .10s; }
.hero-copy > :nth-child(3) { animation-delay: .18s; }
.hero-copy > :nth-child(4) { animation-delay: .26s; }
.hero-copy > :nth-child(5) { animation-delay: .34s; }
.hero-gallery { animation-delay: .20s; }

@keyframes hero-arrive {
  to { opacity: 1; transform: translateY(0); }
}

.hero-photo {
  will-change: transform;
  transition: transform .18s linear;
}

.hero-stamp {
  animation: stamp-float 5s ease-in-out infinite;
}

@keyframes stamp-float {
  0%, 100% { transform: translateY(0) rotate(-4deg); }
  50% { transform: translateY(-10px) rotate(-1deg); }
}

.facts {
  position: relative;
  z-index: 2;
}

.fact strong {
  display: inline-block;
  transition: transform .35s ease, color .35s ease;
}

.fact:hover strong {
  transform: translateY(-4px) scale(1.06);
  color: var(--wine);
}

.reveal {
  opacity: 0;
  transform: translateY(54px);
  transition: opacity .8s cubic-bezier(.2,.75,.25,1), transform .8s cubic-bezier(.2,.75,.25,1);
}

.reveal.from-side {
  transform: translateX(50px);
}

.reveal.is-visible {
  opacity: 1;
  transform: none;
}

.taste-card {
  transform-origin: center;
  transition: transform .55s cubic-bezier(.2,.75,.25,1), box-shadow .55s ease;
}

.taste-card:hover {
  transform: translateY(-9px) rotate(.3deg);
  box-shadow: 0 24px 60px rgba(72, 21, 34, .18);
}

.taste-card img,
.about-photo,
.gallery img {
  transition: transform .9s cubic-bezier(.2,.75,.25,1);
}

.taste-card:hover img,
.about-photo-wrap:hover .about-photo,
.gallery figure:hover img {
  transform: scale(1.055);
}

.beyond {
  position: relative;
  overflow: hidden;
}

.beyond::before {
  content: "VIENNA";
  position: absolute;
  inset-inline-start: -2vw;
  top: 50%;
  color: rgba(255,255,255,.045);
  font-size: clamp(96px, 21vw, 330px);
  font-weight: 900;
  letter-spacing: -.06em;
  line-height: .7;
  transform: translateY(-50%);
  pointer-events: none;
}

.whatsapp-button {
  transition: transform .3s ease, box-shadow .3s ease, background-color .3s ease;
}

.whatsapp-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(30, 120, 70, .24);
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .reveal { opacity: 1; transform: none; }
}

.booking-day small{color:var(--wine);font-size:11px;font-weight:800}.booking-pending-count{color:#9a5b16!important;background:#fff3d6!important}.booking-loading,.booking-load-error{padding:38px 18px;text-align:center;color:var(--muted)}.booking-load-error{color:#8a263e}.booking-tour-action:disabled{cursor:not-allowed;opacity:.55;background:#8c817a}.booking-modal-open{overflow:hidden}.booking-modal-overlay{position:fixed;inset:0;z-index:1000;background:#271217b8;backdrop-filter:blur(8px);padding:18px;overflow:auto}.booking-modal-overlay[hidden]{display:none}.booking-modal{position:relative;width:min(680px,100%);margin:4vh auto;background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:clamp(24px,5vw,42px);box-shadow:0 30px 90px #16070b66}.booking-modal-close{position:absolute;top:16px;left:16px;width:42px;height:42px;border-radius:50%;background:var(--sand-light);color:var(--wine-dark);font-size:28px;line-height:1;cursor:pointer}.booking-modal-kicker{margin:0 0 8px;color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.14em}.booking-modal h3{margin:0;color:var(--wine-dark);font:700 clamp(28px,5vw,40px)/1.1 Georgia,serif}.booking-modal-summary{margin:16px 0 24px;color:var(--muted);line-height:1.7}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-form label{display:grid;gap:7px;color:var(--ink);font-size:14px;font-weight:800}.booking-form input,.booking-form textarea{width:100%;border:1px solid #4e242b2e;border-radius:12px;background:#fff;padding:12px 14px;color:var(--ink);font:inherit;outline:none}.booking-form input:focus,.booking-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #b8894f24}.booking-form-wide{grid-column:1/-1}.booking-consent{grid-template-columns:auto 1fr!important;align-items:start;font-weight:500!important;line-height:1.5}.booking-consent input{width:18px;height:18px;margin-top:2px}.booking-submit{border:0;border-radius:999px;background:var(--wine);color:#fff;min-height:52px;padding:14px 22px;font-size:16px;font-weight:900;cursor:pointer}.booking-submit:hover{background:var(--wine-dark)}.booking-submit:disabled{opacity:.6;cursor:wait}.booking-form-message{min-height:24px;margin:0;color:var(--wine);font-weight:800}.booking-date-inquiry{display:block;text-align:center;margin:24px auto 0;color:var(--wine);font-weight:800;text-decoration:underline;text-underline-offset:5px}@media(max-width:620px){.booking-form{grid-template-columns:1fr}.booking-form-wide{grid-column:1}.booking-modal{margin:0 auto;border-radius:22px}.booking-modal-overlay{padding:10px}}

@media (max-width: 700px) {
  .hero {
    min-height: auto;
  }
  .reveal,
  .reveal.from-side {
    transform: translateY(28px);
  }
  .taste-card:hover {
    transform: none;
  }
}

/* The appointment list follows the reference's day strip and dated tour rows. */
.booking-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 24px 12px;
}

.booking-month {
  margin: 0;
  color: var(--wine-dark);
  font-size: 22px;
}

.booking-navigation {
  display: flex;
  gap: 8px;
}

.booking-navigation button {
  width: 40px;
  height: 40px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: white;
  color: var(--wine);
  font-size: 22px;
  cursor: pointer;
}

.booking-navigation button:disabled {
  opacity: .35;
  cursor: default;
}

.booking-days {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  padding: 8px 24px 18px;
  border-bottom: 1px solid var(--line);
}

.booking-day {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 84px;
  padding: 10px 4px;
  border: 1px solid transparent;
  border-radius: 16px;
  background: #fff;
  color: var(--muted);
  font: inherit;
  cursor: pointer;
}

.booking-day strong {
  font-size: 27px;
  line-height: 1;
}

.booking-day span {
  font-size: 14px;
}

.booking-day[aria-pressed="true"] {
  border: 2px solid var(--wine);
  background: #76213a12;
  color: var(--wine-dark);
}

.booking-day:hover,
.booking-day:focus-visible {
  outline: 2px solid var(--wine);
  outline-offset: 2px;
}

.booking-date-group {
  border-bottom: 1px solid var(--line);
  padding: 18px 24px 22px;
}

.booking-date-group.is-selected {
  background: #fffaf4;
}

.booking-date-group h4 {
  margin: 0 0 18px;
  color: var(--wine-dark);
  font-size: 17px;
}

.booking-date-empty {
  margin: 0;
  padding: 22px 16px;
  border: 1px dashed var(--line);
  border-radius: 16px;
  background: #fff;
  color: var(--muted);
  text-align: center;
  font-size: 16px;
}

.booking-tour-card {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  margin-top: 12px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: white;
  box-shadow: 0 4px 16px #48152213;
}

.booking-time {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.booking-time strong {
  font-size: 22px;
  color: var(--wine-dark);
}

.booking-time span {
  font-size: 13px;
  color: var(--muted);
}

.booking-tour-information h5 {
  margin: 0 0 8px;
  color: var(--wine-dark);
  font-size: 19px;
}

.booking-tour-details {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.booking-tour-details span {
  padding: 5px 10px;
  border-radius: 8px;
  background: #76213a11;
  color: var(--wine);
  font-size: 14px;
}

.booking-tour-action,
.booking-date-inquiry {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 12px;
  background: var(--wine);
  color: white;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.booking-date-inquiry {
  margin: 18px 24px 24px;
}

.booking-tour-action:hover,
.booking-date-inquiry:hover,
.booking-tour-action:focus-visible,
.booking-date-inquiry:focus-visible {
  background: var(--wine-dark);
  color: white;
}

.calendar-card.booking-enabled .calendar-coming-soon,
.calendar-card.booking-enabled .calendar-privacy-note {
  display: none;
}

@media (max-width: 700px) {
  .booking-toolbar {
    padding: 18px 16px 8px;
  }

  .booking-month {
    font-size: 19px;
  }

  .booking-days {
    gap: 4px;
    padding: 6px 12px 14px;
  }

  .booking-day {
    min-height: 76px;
    border-radius: 12px;
  }

  .booking-day strong {
    font-size: 22px;
  }

  .booking-day span {
    font-size: 12px;
  }

  .booking-date-group {
    padding: 16px 14px 20px;
  }

  .booking-tour-card {
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
  }

  .booking-tour-action {
    grid-column: 1 / -1;
  }

  .booking-date-inquiry {
    display: flex;
    margin: 16px 14px 20px;
  }
}

.booking-step[hidden]{display:none!important}.booking-step{display:grid;gap:15px}.booking-step-label{font-weight:900;color:var(--wine);margin:0}.booking-step p{line-height:1.65}.booking-modes{border:0;padding:0;display:grid;gap:10px}.booking-modes legend{font-weight:800;margin-bottom:10px}.booking-modes label{display:flex;align-items:flex-start;gap:12px;border:1px solid #4e242b33;border-radius:14px;padding:14px;background:white;font-weight:500}.booking-modes input{width:20px;flex:none;margin-top:3px}.booking-price-note{background:#f7eedf;border-radius:12px;padding:12px;margin:0}.booking-step-actions{display:flex;gap:12px;align-items:center;justify-content:space-between}.booking-next-step,.booking-step-actions button{border:0;border-radius:999px;padding:12px 22px;cursor:pointer;font:inherit;font-weight:800;background:var(--wine);color:white}.booking-step-actions .booking-back-step{background:#eadcc9;color:var(--wine)}.booking-policy-link{color:var(--wine);text-decoration:underline}.booking-review{font-weight:800}.booking-step .booking-consent{display:flex;flex-direction:row;gap:10px}.booking-step .booking-consent input{width:18px;flex:none}.booking-step .booking-form-message{margin:0}

/* The booking flow follows the reference site's four consecutive screens. */
.calendar-card.booking-wizard-host{overflow:visible;background:#fff;border:1px solid #e9e0d7;border-radius:14px;box-shadow:0 14px 40px #2d211d15}
.tour-wizard{max-width:640px;margin:auto;padding:clamp(20px,4vw,36px);color:#342923}
.tour-wizard h3{text-align:center;color:#a4d9e2;font-size:clamp(30px,5vw,43px);font-weight:700;margin:0 0 22px}
.tour-progress{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:2px solid #ddd7cf;margin-bottom:25px;gap:3px}
.tour-progress span{text-align:center;font-size:13px;color:#8d7065;padding:10px 2px;line-height:1.2}
.tour-progress span.active{border-bottom:3px solid #ca705a;color:#a35445;font-weight:800}
.tour-step[hidden]{display:none!important}.tour-step{min-height:370px}.tour-step h4{color:#9d6759;font-size:21px;margin:0 0 22px}.tour-step p{line-height:1.7}
.tour-count{border:1px solid #ddd4cc;border-radius:8px;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;gap:12px;font-weight:700}
.tour-counter{display:flex;align-items:center;gap:12px;direction:ltr}.tour-counter button{border:1px solid #d6b4a8;border-radius:5px;color:#af6a5b;background:#fff4ef;width:30px;height:30px;cursor:pointer}.tour-counter output{min-width:20px;text-align:center}
.tour-hint{font-size:13px;color:#7c706b;margin:10px 0 22px}.tour-choice{border:0;padding:0;display:grid;gap:12px}.tour-choice legend{font-weight:800;margin-bottom:12px}.tour-choice label{display:flex;align-items:flex-start;gap:10px;border:1px solid #ded5cc;padding:13px;border-radius:7px;line-height:1.6;cursor:pointer}.tour-choice input{accent-color:#c96f57;margin-top:5px;flex:none}.tour-choice span{font-size:14px}
.tour-month-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.tour-month-nav button{border:1px solid #ded4cb;border-radius:6px;width:36px;height:36px;background:#fff;cursor:pointer}.tour-month-nav button:disabled{opacity:.4}.tour-weekdays,.tour-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}.tour-weekdays{font-size:12px;margin-bottom:9px}.tour-month-grid button{aspect-ratio:1;border:1px solid #9fdae4;border-radius:6px;background:#f7fdfe;color:#2d211d;cursor:pointer}.tour-month-grid button:disabled{border-color:#e7e1dd;background:#f6f2ee;color:#b5aba6;cursor:default}.tour-month-grid button[aria-pressed="true"]{background:#add9e4;border-color:#65b5c5;font-weight:900}.tour-times{min-height:95px;text-align:center;padding:20px 0}.tour-times strong{display:block;margin-bottom:12px}.tour-times button{border:1px solid #8bc7d5;border-radius:6px;background:#d1eef5;min-width:140px;padding:7px;cursor:pointer}.tour-times button[aria-pressed="true"]{background:#85c9dc;font-weight:900}
.tour-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tour-fields label{font-size:14px;font-weight:700;display:grid;gap:7px}.tour-fields .wide{grid-column:1/-1}.tour-fields input,.tour-fields textarea{border:1px solid #d8cfc8;border-radius:6px;background:#fff;padding:12px;width:100%;min-width:0}.tour-fields input:focus,.tour-fields textarea:focus{outline:2px solid #9fd2db}
.tour-summary{border:1px solid #e4d9cf;border-radius:8px;padding:16px;margin-bottom:22px}.tour-summary p{margin:4px 0}.tour-agree{display:flex;align-items:flex-start;gap:10px;margin:20px 0;line-height:1.6}.tour-agree input{margin-top:6px;accent-color:#ca705a;flex:none}.tour-agree a{color:#83263d;text-decoration:underline}.tour-error{color:#a92d32;min-height:24px;font-weight:700;margin:8px 0}.tour-wizard-footer{border-top:1px solid #e5ded7;padding-top:18px;display:flex;justify-content:space-between}.tour-wizard-footer button{border:0;border-radius:6px;padding:12px 25px;cursor:pointer;font-weight:800}.tour-next{background:#cc7057;color:#fff;margin-right:auto}.tour-next:disabled{opacity:.6}.tour-back{background:#efe5dd;color:#733e37}.tour-demo-note{background:#e9f5f7;border:1px solid #a6d5dc;border-radius:7px;padding:12px;line-height:1.5;margin-bottom:16px}
@media(max-width:600px){.tour-wizard{padding:18px}.tour-progress span{font-size:11px}.tour-fields{grid-template-columns:1fr}.tour-fields .wide{grid-column:1}.tour-month-grid{gap:4px}.tour-month-grid button{font-size:13px}}

.booking-entry-button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:12px 24px;border-radius:7px;background:#cb715a;color:#fff;font-weight:800;text-decoration:none}.booking-entry-button:hover{background:#a75140;color:#fff}.hero-actions .booking-entry-button{min-width:210px}@media(max-width:760px){.hero-actions .booking-entry-button{width:100%}}

/* The header keeps the brand centered after removing its booking CTA. */
.site-header > .header-logo { grid-column: 2; }
.policy-teaser { padding-block: 55px; }
.policy-page-link { display: inline-flex; gap: .5em; align-items: center; margin-top: 20px; padding: 13px 20px; border-radius: 7px; background: #cb715a; color: white; font-weight: 800; text-decoration: none; }
.policy-page-link:hover, .policy-page-link:focus-visible { background: #a75140; color: white; }

.site-header nav .recommendations-nav-button{position:relative;padding:8px 0;background:transparent;border:0;border-radius:0;color:inherit;font:inherit;font-size:inherit;font-weight:700;cursor:pointer}.site-header nav .recommendations-nav-button::after{content:"";position:absolute;right:0;bottom:2px;width:0;height:2px;background:var(--wine);transition:width .18s}.site-header nav .recommendations-nav-button:hover::after,.site-header nav .recommendations-nav-button:focus-visible::after{width:100%}.hero-whatsapp{margin-top:14px}
#recommendations-panel{position:fixed;inset:0 auto 0 0;margin:0;width:min(420px,92vw);max-width:92vw;height:100dvh;max-height:100dvh;box-sizing:border-box;border:0;padding:24px;background:#fff;color:#253b31;overflow-y:auto;text-align:right;font-size:1rem;line-height:1.65}
#recommendations-panel::backdrop{background:#0007}.rec-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}.rec-heading h2{font-size:1.5rem;margin:0}.rec-heading button{background:transparent;border:1px solid #ccc;border-radius:50%;width:44px;height:44px;cursor:pointer;font-size:1.1rem}.rec-item{border-bottom:1px solid #ddd;padding:18px 0}.rec-item summary{font-size:1.1rem;font-weight:700;cursor:pointer}.rec-item p{margin:12px 0}.rec-price{font-size:.9rem}.rec-contact{display:inline-block;background:#253b31;color:#fff!important;padding:10px 16px;border-radius:8px;text-decoration:none;font-weight:600}.recommendations-nav-button:focus-visible,.rec-contact:focus-visible,.rec-item summary:focus-visible{outline:3px solid #bc7b2b;outline-offset:3px}

.liquor-card{background:#253b31;color:#fff;display:flex;align-items:center;min-height:220px}.liquor-card h3,.liquor-card p,.liquor-card span{color:#fff!important}

/* Shared header navigation: all six actions stay together at every size. */
.site-header {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 0;
  padding: 4px clamp(12px, 4vw, 64px) 10px;
  min-height: 0;
}
.site-header > .header-logo {
  grid-column: 1;
  grid-row: 1;
  justify-self: center;
}
.site-header nav {
  display: flex;
  grid-column: 1;
  grid-row: 2;
  justify-self: center;
  justify-content: center;
  align-items: center;
  gap: clamp(12px, 3vw, 32px);
  max-width: 100%;
  font-size: 14px;
}
.site-header nav > a,
.site-header nav > button { white-space: nowrap; }
.site-header nav .header-whatsapp-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 18px;
  border-radius: 999px;
  background: var(--whatsapp);
  color: #fff;
  font-weight: 700;
}
.site-header nav .header-whatsapp-link::after { content: none; }
.site-header nav .header-whatsapp-link:hover { background: #294f3c; }
footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  text-align: center;
}
footer .footer-links { justify-content: center; margin-inline: auto; }
footer .footer-copyright { margin: 0; font-size: 12px; line-height: 1.6; }
@media (max-width: 700px) {
  .site-header { padding: 4px 12px 10px; }
  .site-header > .header-logo { min-height: 68px; }
  .site-header .header-logo img { width: 46px; height: 46px; }
  .site-header .header-wordmark strong { font-size: 12px; }
  .site-header .header-wordmark small { font-size: 8px; }
  .site-header nav {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-self: stretch;
    justify-items: center;
    width: 100%;
    max-width: 500px;
    margin-inline: auto;
    gap: 4px 8px;
    overflow: visible;
    padding: 4px 0;
    font-size: clamp(11px, 3vw, 13px);
    line-height: 1.4;
  }
  .site-header nav > a,
  .site-header nav > button { display: block; min-width: 0; text-align: center; }
  .site-header nav .header-whatsapp-link { display: inline-flex; padding: 8px 12px; }
  .hero-whatsapp { display: none; }
}

/* The tasting cards remain still and cannot slide into neighboring cards. */
#experience .taste-card,
#experience .taste-card:hover,
#experience .taste-card img,
#experience .taste-card:hover img {
  transform: none;
  animation: none;
  transition: none;
}
#experience .taste-card:last-child { grid-column: 2; }
.tour-photo-break { padding-block: 24px 48px; }
.tour-photo-break figure { margin: 0; }
.tour-photo-break img {
  display: block;
  width: 100%;
  max-width: 960px;
  height: auto;
  margin-inline: auto;
  border-radius: 22px;
}
@media (max-width: 760px) {
  #experience .taste-card:last-child {
    grid-column: 1 / -1;
    justify-self: center;
    width: calc((100% - 14px) / 2);
  }
  .tour-photo-break { padding-block: 16px 32px; }
}

/* Separate destinations within one compact contact pill; recommendations on the left. */
.site-header nav { direction: rtl; }
.site-header nav .header-social-links { display: inline-flex; align-items: stretch; flex-shrink: 0; border-radius: 999px; border: 1px solid #fff3; }
.site-header nav .header-social-links a { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 12px; color: #fff; font-size: 12px; font-weight: 700; white-space: nowrap; text-decoration: none; }
.site-header nav .header-social-links a::after { content: none; }
.header-social-links .social-whatsapp { background: var(--whatsapp); border-radius: 0 999px 999px 0; }
.header-social-links .social-instagram { background: #8c345e; border-radius: 999px 0 0 999px; }
.site-header nav .header-social-links a:hover { filter: brightness(1.12); }
.site-header nav .header-social-links a:focus-visible { outline: 3px solid #bc7b2b; outline-offset: 3px; }
@media (max-width: 700px) {
 .site-header nav { grid-template-columns: minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr); }
 .site-header nav .header-social-links { grid-column: 2; grid-row: 2; }
 .site-header nav .recommendations-nav-button { grid-column: 3; grid-row: 2; min-height: 44px; }
 .site-header nav > a { min-height: 44px; display: flex; align-items: center; justify-content: center; }
 .site-header nav .header-social-links a { padding: 8px; font-size: 11px; }
}

.tour-private-note { margin: 16px 0 0; padding: 14px 16px; border: 1px solid #dacdbb; border-radius: 12px; background: #fffaf2; font-size: 14px; line-height: 1.8; }
.tour-private-note a { color: var(--wine); text-decoration: underline; font-weight: 700; }
.tour-private-note a:focus-visible { outline: 3px solid #bc7b2b; outline-offset: 3px; }

/* Icon-only contact links at the physical top-right corner. */
.site-header { position: relative; }
.site-header > .header-social-links { position: absolute; top: 16px; right: 18px; display: flex; gap: 8px; direction: rtl; }
.site-header > .header-social-links a { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 10px; border-radius: 50%; color: #fff; box-shadow: 0 3px 10px #0001; }
.site-header > .header-social-links .social-whatsapp { background: #226c45; }
.site-header > .header-social-links .social-instagram { background: linear-gradient(135deg, #6941c6, #c13584, #df7046); }
.site-header > .header-social-links svg { width: 24px; height: 24px; }
.site-header > .header-social-links a:hover { filter: brightness(1.12); }
.site-header > .header-social-links a:focus-visible { outline: 3px solid #bc7b2b; outline-offset: 3px; }
@media (max-width: 700px) {
 .site-header > .header-social-links { top: 14px; right: 10px; gap: 4px; }
 .site-header > .header-logo { width: calc(100% - 196px); }
 .site-header .header-wordmark { display: none; }
 .site-header nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Three centered navigation rows requested by the owner. */
.site-header nav {
 display: grid !important;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 width: min(100%, 420px);
 justify-self: center;
 justify-items: center;
 column-gap: 24px;
 row-gap: 2px;
}
.site-header nav > a[href="#about"] { grid-column: 1; grid-row: 1; }
.site-header nav > a[href="#calendar"] { grid-column: 2; grid-row: 1; }
.site-header nav > a[href="#experience"] { grid-column: 1 / -1; grid-row: 2; justify-self: center; }
.site-header nav > a[href="#details"] { grid-column: 1; grid-row: 3; }
.site-header nav > .recommendations-nav-button { grid-column: 2; grid-row: 3; }
@media (max-width: 700px) {
 .site-header nav { grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, 360px); gap: 0 16px; }
}

/* Compact right-hand navigation and a warm, lively backdrop. */
.site-header { min-height: 126px; padding-block: 12px; background: linear-gradient(120deg,#fffaf0f5,#f8e8d9f5); border-bottom: 1px solid #dfc8ad; }
.header-menu { position: absolute; top: 16px; left: 18px; right: auto; z-index: 50; }
.menu-toggle { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 10px; border: 1px solid #d6b7a0; border-radius: 14px; background: #fffaf4; color: #652f3e; cursor: pointer; box-shadow: 0 4px 14px #783e2410; }
.menu-toggle:hover, .menu-toggle[aria-expanded="true"] { background: #652f3e; color: #fff; }
.site-header .header-menu nav { display: none !important; position: absolute; top: 52px; left: 0; right: auto; width: min(280px,calc(100vw - 32px)); padding: 10px; margin: 0; background: #fffaf4; border: 1px solid #dfc8ad; border-radius: 18px; box-shadow: 0 16px 44px #43291f24; }
.site-header .header-menu.is-open nav { display: flex !important; flex-direction: column; align-items: stretch; gap: 2px; }
.site-header .header-menu nav > a, .site-header .header-menu nav > button { display: flex; align-items: center; justify-content: flex-start; text-align: right; min-height: 48px; padding: 12px 16px; border-radius: 10px; color: #482d25; font-size: 16px; font-weight: 700; text-decoration: none; }
.site-header .header-menu nav > a::after, .site-header .header-menu nav > button::after { content: none; }
.site-header .header-menu nav > a:hover, .site-header .header-menu nav > button:hover { background: #f3e0cf; }
.menu-toggle:focus-visible, .site-header .header-menu nav > a:focus-visible { outline: 3px solid #bc7b2b; outline-offset: 3px; }
body { background: radial-gradient(ellipse at 95% 12%,#efbb8e40,transparent 38%),radial-gradient(ellipse at 5% 45%,#b3ccae35,transparent 36%),#fff7ed; }
.hero { background: radial-gradient(ellipse at 85% 20%,#ecc19565,transparent 60%),radial-gradient(ellipse at 10% 95%,#b6cbb34d,transparent 52%),#fff7ed; }
.hero h1, .section-heading h2, .about-copy h2 { font-family: Arial,"Noto Sans Hebrew",sans-serif; letter-spacing: -.025em; }
@media (max-width: 700px) { .header-menu { left: 10px; right: auto; top: 14px; } .site-header { min-height: 124px; } }

/* A bright apricot section with readable dark type. */
.beyond { color: #492e24; background: radial-gradient(ellipse at 5% 10%,#fff4c9a6,transparent 52%),linear-gradient(125deg,#fff0d9,#f3c8a9 60%,#eedac1); }
.beyond::before { color: #a9682920; }
.beyond h2 { color: #492e24; font-family: Arial,"Noto Sans Hebrew",sans-serif; }
.beyond .beyond-lead, .beyond .benefit-list p { color: #583b2e; }
.beyond .section-kicker.light { color: #814b25; }
.beyond .benefit-list > div { border-color: #80522c35; }
.beyond .benefit-list span { color: #794720; border-color: #80522c50; background: #fff6e54d; }
.beyond .beyond-image-wrap { box-shadow: 0 24px 65px #8b552a2b; }

/* Transparent captions keep the tasting photographs visible. */
#experience { background: radial-gradient(ellipse at 8% 12%,#e3b77966,transparent 48%),radial-gradient(ellipse at 95% 80%,#eccab26b,transparent 45%),linear-gradient(140deg,#fff7e9,#f4e2ca); }
#experience .taste-card { background: #f3dfc7; border-color: #bd8d5940; box-shadow: 0 12px 32px #80552a21; }
#experience .taste-card::after { background: none; }
#experience .taste-card > div { left: 10px; right: 10px; bottom: 10px; padding: 14px; border-radius: 14px; background: transparent; border: 0; color: #fff; box-shadow: none; backdrop-filter: none; text-shadow: 0 1px 3px #000, 0 2px 8px #000c; }
#experience .taste-card h3 { color: #fff; font-family: Arial,"Noto Sans Hebrew",sans-serif; }
#experience .taste-card p { color: #fff !important; }
#experience .taste-card span { color: #fff !important; }
#experience .liquor-card h3 { color: #4d3020 !important; }
@media (hover: hover) { #experience .taste-card:hover { box-shadow: 0 16px 42px #80552a40; border-color: #a87943; } }
@media (max-width:760px) { #experience .taste-card > div { padding: 10px; left: 7px; right: 7px; bottom: 7px; } }

.price-cancellation-note { font-size: 14px; line-height: 1.7; color: #481522; margin: 12px 0 0; text-align: right; }

.facts .meeting-fact { grid-column: 1 / -1; padding: 20px 24px; text-align: center; border-top: 1px solid #ffffff30; }
.facts .meeting-fact strong { display: block; font-size: 22px; margin-bottom: 8px; }
.facts .meeting-fact span { display: block; line-height: 1.7; font-size: 15px; }

.feedback-section { padding-block: 50px; }.feedback-section > p { line-height: 1.8; }.feedback-form { display: grid; gap: 16px; max-width: 640px; margin: 24px auto; }.feedback-form label { display: grid; gap: 7px; }.feedback-form input,.feedback-form select,.feedback-form textarea { width: 100%; font: inherit; border: 1px solid #cdb4a4; border-radius: 10px; background: #fff; color: #2d211d; padding: 12px; }.feedback-form .feedback-consent { display: flex; align-items: flex-start; line-height: 1.7; }.feedback-consent input { width: 20px; height: 20px; flex: none; margin-top: 5px; }.feedback-form button { background: #76213a; color: white; border: none; border-radius: 30px; padding: 15px; font: inherit; font-weight: bold; cursor: pointer; }.feedback-form button:disabled { opacity: .6; }.feedback-form .feedback-trap { display: none; }.feedback-list { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); }.feedback-review { border: 1px solid #dccabd; border-radius: 16px; padding: 20px; background: #fffaf4; }.feedback-review p { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8; }

/* Customer messages, published with permission and without identifying details. */
.whatsapp-testimonials { padding-block: 56px; }
.testimonial-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; align-items: start; }
.testimonial-card { margin: 0; padding: 28px; border: 1px solid #b8894f40; border-radius: 22px; background: #fffaf2; box-shadow: 0 10px 30px #48152208; }
.testimonial-quote-mark { display: block; font-family: Georgia,serif; font-size: 58px; line-height: .8; color: #b8894f; margin-bottom: 16px; }
.testimonial-card blockquote { margin: 0; }
.testimonial-card blockquote p { font-size: 17px; line-height: 1.9; color: #481522; white-space: pre-line; overflow-wrap: anywhere; margin: 0; }
.testimonial-card figcaption { margin-top: 22px; padding-top: 16px; border-top: 1px solid #b8894f30; font-size: 13px; line-height: 1.7; color: #74645b; }
@media (max-width: 900px) { .testimonial-grid { grid-template-columns: 1fr; gap: 16px; } .testimonial-card { padding: 24px; } .whatsapp-testimonials { padding-block: 38px; } }

.weather-note { margin-top: 12px; line-height: 1.8; }
.weather-note strong { font-weight: 700; }

/* Responsive readability pass: retain the existing palette and typefaces. */
.beyond .benefit-list strong { color: #492e24; }
.fact:hover strong { color: #f2cb91; }
.hero-copy, .about-copy, .families-copy, .faq-list, .calendar-intro { min-width: 0; }
.footer-links { flex-wrap: wrap; }
.testimonial-grid { align-items: stretch; margin-top: 32px; }
.testimonial-card { display: flex; flex-direction: column; }
.testimonial-card blockquote { flex: 1; }
.info-card.important > ul { grid-template-columns: minmax(0, 1fr); }
.info-card.important .weather-note { margin-top: 0; line-height: 1.8; }
.tour-fields input, .tour-fields textarea, .booking-form input, .booking-form textarea { font-size: 16px; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #bc7b2b; outline-offset: 4px; }

@media (min-width: 761px) and (max-width: 1000px) {
  .hero { grid-template-columns: minmax(0, 1fr); min-height: auto; }
  .hero-copy { max-width: 680px; }
  .hero-gallery { width: min(100%, 600px); min-height: 560px; justify-self: center; }
  .about, .families-inner, .beyond-inner, .calendar-section, .faq { grid-template-columns: minmax(0, 1fr); gap: 44px; }
  .about-photo-wrap, .families-photo, .beyond-image-wrap { width: min(100%, 520px); margin-inline: auto; }
  .section-heading, .details-heading { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .calendar-intro, .faq-intro { position: static; }
  .details-grid { grid-template-columns: minmax(0, 1fr); }
  .price-card { min-height: 420px; }
  .testimonial-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 760px) {
  /* Captions flow below photographs so long Hebrew copy cannot cover or escape them. */
  #experience .taste-card { display: flex; flex-direction: column; aspect-ratio: auto; background: #fffaf2; }
  #experience .taste-card img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
  #experience .taste-card::after { content: none; }
  #experience .taste-card > div { position: static; padding: 16px; text-shadow: none; color: #481522; }
  #experience .taste-card h3 { color: #481522; font-size: 21px; line-height: 1.35; }
  #experience .taste-card p { color: #583b2e !important; font-size: 15px; line-height: 1.7; }
  #experience .taste-card span { color: #814b25 !important; }
  .section-heading h2, .about-copy h2, .details-heading h2, .families-copy h2,
  .calendar-intro h2, .faq-intro h2, .beyond h2 { font-size: clamp(30px, 8.5vw, 42px); line-height: 1.2; letter-spacing: -.02em; }
  .final-cta-content h2 { font-size: clamp(36px, 10vw, 50px); line-height: 1.15; }
  .testimonial-card { padding: 22px; }
  .testimonial-card blockquote p { font-size: 16px; line-height: 1.85; }
  .testimonial-grid { margin-top: 24px; }
  .tour-counter button, .tour-month-nav button { width: 44px; height: 44px; }
  .tour-counter { gap: 8px; }
}

@media (max-width: 480px) {
  .taste-preview { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  #experience .taste-card:last-child { grid-column: auto; width: 100%; justify-self: stretch; }
  #experience .taste-card img { aspect-ratio: 4 / 3; }
  .hero h1 { font-size: clamp(38px, 12vw, 58px); line-height: 1.12; }
  .hero-gallery { min-height: clamp(340px, 115vw, 480px); }
  .hero-photo-city { left: 0; }
  .social-photo { height: 260px; }
  .social-photo-large { height: 420px; }
  .tour-count { flex-wrap: wrap; }
}

/* Upright Hebrew typography and stable portrait captions. */
body { --site-hebrew-font: Arial, "Noto Sans Hebrew", sans-serif; }
h1, h2, h3, h4, h5, h6, .hero h1 span, .card-label,
.about-caption, .about-caption strong, .about-copy blockquote,
.beyond-quote, .calendar-coming-soon h3, .booking-modal h3 {
  font-family: var(--site-hebrew-font);
  font-style: normal;
  letter-spacing: normal;
}
h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; text-wrap: balance; }
p, li, blockquote { overflow-wrap: break-word; }
.section-kicker, .booking-modal-kicker { letter-spacing: normal; }
.about-photo-wrap { transform: none; padding-bottom: 18px; }
.about-caption {
  position: static;
  transform: none;
  display: block;
  direction: rtl;
  text-align: center;
  padding: 18px 8px 4px;
  margin: 0;
}
.about-caption strong {
  display: block;
  font-size: clamp(21px, 3vw, 28px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--wine);
}
.beyond-image-wrap { transform: none; padding-bottom: 14px; }
.beyond-quote {
  position: static;
  transform: none;
  margin: 0;
  padding: 18px 10px 4px;
  line-height: 1.65;
  text-align: right;
}
@media (max-width: 760px) { .about-photo-wrap { padding-bottom: 12px; } }

/* Equal emphasis for all practical tour information. */
.info-card.important > ul { gap: 0; }
.info-card.important > ul > li {
  margin: 0;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
  font-size: 16px;
  line-height: 1.8;
  color: var(--ink);
}
.info-card.important > ul > li:last-child { border-bottom: 0; }
.info-card.important > ul > li > strong {
  display: block;
  color: var(--wine-dark);
  font-weight: 700;
  margin-bottom: 4px;
}

/* Four equally spaced items in reading order at every screen width. */
.beyond .benefit-list {
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  border-top: 0;
}
.beyond .benefit-list > div,
.beyond .benefit-list > div:nth-child(odd) {
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 14px;
  padding: 18px 0;
  margin: 0;
  border-left: 0;
  border-bottom: 1px solid #80522c35;
  align-items: start;
}
.beyond .benefit-list p { margin: 0; line-height: 1.75; }
.beyond .benefit-list strong { margin-bottom: 4px; }

/* Larger header brand mark, with room for the social and menu buttons. */
.site-header .header-logo img {
  width: 112px;
  height: 112px;
  object-fit: contain;
  flex-shrink: 0;
}
@media (max-width: 700px) {
  .site-header .header-logo img {
    width: 88px;
    height: 88px;
  }
}

/* A restrained two-line wordmark below the logo on all screen sizes. */
.site-header > .header-logo { gap: 6px; }
.site-header .header-wordmark {
  display: flex;
  flex-direction: column;
  gap: 3px;
  direction: ltr;
  text-transform: none;
  color: #652f3e;
}
.site-header .header-wordmark strong {
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: .025em;
}
.site-header .header-wordmark small {
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: .12em;
}
@media (max-width: 700px) {
  .site-header .header-wordmark strong { font-size: 13px; }
  .site-header .header-wordmark small { font-size: 10px; }
}

.tour-fields select, .tour-referral select {
  border: 1px solid #d8cfc8;
  border-radius: 6px;
  background: #fff;
  padding: 12px;
  width: 100%;
  min-width: 0;
  font: inherit;
  font-size: 16px;
  color: #2d211d;
}
.tour-fields select:focus, .tour-referral select:focus { outline: 2px solid #9fd2db; }

.tour-referral { flex-wrap: wrap; gap: 10px; }
.tour-referral select { max-width: 100%; }

/* Compact tasting photographs: shorter cards and photographs at each breakpoint. */
@media (min-width: 761px) {
  #experience .taste-card { aspect-ratio: 4 / 3; }
}
@media (min-width: 481px) and (max-width: 760px) {
  #experience .taste-card img { aspect-ratio: 4 / 3; }
}
@media (max-width: 480px) {
  #experience .taste-card img { aspect-ratio: 16 / 9; }
}

/* Selected typography: expressive headings and readable Hebrew body text. */
body { --site-hebrew-font: "Assistant", Arial, sans-serif; font-family: var(--site-hebrew-font); }
button, input, select, textarea { font-family: "Assistant", Arial, sans-serif; }
.hero h1, .hero h1 span, .section-heading h2, .about-copy h2,
.details-heading h2, .families-copy h2, .calendar-intro h2,
.faq-intro h2, .beyond h2, .final-cta-content h2,
#experience .taste-card h3 {
  font-family: "Suez One", "Assistant", Arial, sans-serif;
  font-weight: 400; font-style: normal; letter-spacing: normal;
}

/* Shorter landing page spacing without reducing readability or photographs. */
.section-shell { padding-block: 60px; }
.tour-photo-break { padding-block: 20px; }
@media (max-width: 760px) { .section-shell { padding-block: 42px; } }

/* Compact reviews, with the complete original text available on demand. */
.testimonial-card { padding: 18px; border-radius: 16px; }
.testimonial-grid { gap: 14px; }
.testimonial-quote-mark { font-size: 34px; margin-bottom: 8px; }
.testimonial-card blockquote p { font-size: 16px; line-height: 1.6; }
.testimonial-card:not(.review-open) blockquote p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
.testimonial-card figcaption { margin-top: 10px; padding-top: 8px; }
.review-expand { background: transparent; color: #76213a; border: 0; padding: 10px 0; font: inherit; text-decoration: underline; min-height: 44px; cursor: pointer; }
.feedback-form { gap: 10px; margin-block: 16px; }
.feedback-form textarea { min-height: 90px; }
.social-photo, .social-photo-large { height: 300px; }
@media (max-width:760px) {
 .testimonial-card { padding: 16px; }
 #experience .taste-card img { aspect-ratio: 2 / 1; }
 #experience .taste-card > div { padding: 10px 12px; }
 .social-photo, .social-photo-large { height: 210px; }
}

/* Remove decorative bullets and unused height in practical details. */
#details .info-card > ul li::before { content: none; display: none; }
#details .info-card > ul li { padding-inline-start: 0; padding-inline-end: 0; padding-block: 10px; }
#details .details-grid { gap: 14px; margin-top: 24px; align-items: start; }
#details .price-card, #details .info-card { min-height: 0; height: auto; padding: 24px; }
#details .price-card ul, #details .info-card ul { margin-top: 14px; }
#details .price-card .booking-entry-button { margin-top: 16px; }
#details .price-card small { margin-top: 10px; }
#details .inclusion-grid { gap: 16px; margin-top: 16px; }
@media (max-width:760px) {
 #details .details-grid { gap: 12px; margin-top: 18px; }
 #details .price-card, #details .info-card { padding: 20px; }
}

/* Tighten the practical heading and the closing photograph-to-feedback flow. */
#details .info-card.important { padding-top: 18px; }
#details .info-card.important .card-label { margin-bottom: 0; line-height: 1.25; }
#details .info-card.important > ul { margin-top: 4px; }
#details .info-card.important > ul > li:first-child { padding-top: 4px; }
.final-cta { min-height: 380px; }
.final-cta-content { padding-block: 38px; }
.final-cta-content > p { margin-bottom: 12px; }
.final-cta-content > span { margin-top: 16px; }
.final-cta-content .whatsapp-button { margin-top: 20px; }
#feedback.feedback-section { padding-top: 24px; padding-bottom: 18px; }
#feedback .feedback-form { margin-bottom: 0; }
#feedback .feedback-form > [role="status"]:empty { margin: 0; }
footer { padding-top: 20px; }
@media(max-width:760px) {
 .final-cta { min-height: 340px; }
 .final-cta-content { padding-block: 30px; }
 #feedback.feedback-section { padding-top: 20px; padding-bottom: 14px; }
 footer { padding-top: 16px; }
}

/* Fine spacing adjustments requested across the tasting and inclusion sections. */
#testimonials { padding-bottom: 28px; }
#testimonials + .social { padding-top: 28px; }
#details .info-card.included .card-label { margin: 0; line-height: 1.25; }
#details .inclusion-grid { margin-top: 10px; gap: 12px; }
#details .inclusion-grid > div { padding-block: 10px; }
#details .inclusion-grid p { margin-top: 5px; margin-bottom: 0; }
@media(min-width:761px) { #experience .taste-card { aspect-ratio: 3 / 2; } }
@media(max-width:760px) {
 #experience .taste-card img { aspect-ratio: 9 / 4; }
 #testimonials { padding-bottom: 20px; }
 #testimonials + .social { padding-top: 20px; }
}

/* Smaller photo surfaces and paired tasting cards to shorten mobile scrolling. */
#experience .taste-preview { gap: 12px; margin-top: 24px; }
@media(min-width:761px) { #experience .taste-card { aspect-ratio: 16 / 9; } }
.social-gallery { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 24px; align-items: stretch; }
.social-photo, .social-photo-large { height: 230px; margin: 0; }
.about-photo { height: 340px; aspect-ratio: auto; }
.families-photo img { height: 340px; aspect-ratio: auto; }
@media(max-width:760px) {
 #experience .taste-preview { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
 #experience .taste-card img { aspect-ratio: 4 / 3; }
 #experience .taste-card > div { padding: 10px; }
 #experience .taste-card h3 { font-size: 18px; line-height: 1.3; }
 #experience .taste-card p { font-size: 14px; line-height: 1.5; }
 #experience .taste-card:last-child { grid-column: 1 / -1; width: calc((100% - 10px) / 2); justify-self: center; }
 .social-photo, .social-photo-large { height: 140px; }
 .about-photo, .families-photo img { height: 270px; }
}

/* Slightly closer inclusion items, keeping the existing type sizes. */
#details .inclusion-grid { gap: 8px; margin-top: 8px; }
#details .inclusion-grid > div { padding-block: 6px; }
#details .inclusion-grid p { margin-top: 3px; }

/* Consistent compact practical labels. */
#details .info-card.important > ul > li { padding-block: 7px; }
#details .info-card.important > ul > li > strong { color: inherit; font-size: inherit; font-weight: 700; }
#details .info-card.important .weather-note { margin-top: 0; }

/* Slightly larger, more legible header branding. */
.site-header .header-logo img { width: 124px; height: 124px; }
.site-header .header-wordmark strong { font-size: 18px; }
.site-header .header-wordmark small { font-size: 13px; letter-spacing: .07em; }
@media (max-width: 700px) {
 .site-header .header-logo img { width: 98px; height: 98px; }
 .site-header .header-wordmark strong { font-size: 15px; }
 .site-header .header-wordmark small { font-size: 12px; }
}

/* Compact FAQ aligned with the surrounding sections. */
.faq.section-shell { padding-block: 36px; gap: 28px; }
.faq-intro h2 { font-size: clamp(28px, 3vw, 40px); line-height: 1.2; }
.faq-intro > p:not(.section-kicker) { margin: 12px 0; }
.faq-list summary { padding: 14px 0 14px 36px; font-size: 17px; line-height: 1.45; }
.faq-list summary::before { top: 8px; font-size: 26px; }
.faq-list details p { margin: 0 0 14px; padding-left: 28px; font-size: 15px; line-height: 1.65; }
@media (max-width: 760px) {
 .faq.section-shell { padding-block: 28px; gap: 20px; }
 .faq-intro h2 { font-size: 28px; }
 .faq-list summary { padding-block: 12px; font-size: 16px; }
 .faq-list summary::before { top: 6px; }
}

/* Natural photo proportions give equal-height portraits without cropping or empty bands. */
.social-gallery { width: min(100%, 430px); margin-inline: auto; grid-template-columns: 693fr 997fr 693fr; align-items: start; gap: clamp(8px, 1.6vw, 20px); }
.social-gallery .social-photo { height: auto; grid-column: auto; margin: 0; background: transparent; border-radius: 18px; overflow: hidden; box-shadow: 0 8px 24px #481d2514; }
.social-gallery .social-photo img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; object-position: center; border-radius: 0; }
@media(max-width:760px) {
 .social-gallery { grid-template-columns: 693fr 997fr 693fr; gap: 8px; }
 .social-gallery .social-photo { height: auto; grid-column: auto; border-radius: 12px; }
}

/* Unified guest reviews. */
.reviews-all,.review-write{margin-top:24px;border-top:1px solid var(--line,#eadac4);padding-top:20px}
.reviews-all>summary,.review-write>summary{cursor:pointer;color:var(--wine,#76213a);font-size:18px;font-weight:800;min-height:44px;display:flex;align-items:center;gap:12px;width:fit-content;list-style:none}
.reviews-all>summary::-webkit-details-marker,.review-write>summary::-webkit-details-marker{display:none}
.reviews-all[open]>summary span{transform:rotate(45deg)}
.reviews-all .testimonial-grid{margin-top:22px}.reviews-all .testimonial-card blockquote p{-webkit-line-clamp:unset;max-height:none;overflow:visible;display:block}
.reviews-all .review-expand{display:none}.review-rating{color:#b8894f;letter-spacing:3px}.reviews-more{border:1px solid #76213a;border-radius:24px;background:transparent;color:#76213a;padding:12px 20px;font:inherit;cursor:pointer;margin-top:16px}.reviews-more[hidden]{display:none}.reviews-load-status{color:#74645b}.feedback-section{padding-block:0}.review-write>p{max-width:640px;line-height:1.8}.review-write summary{font-size:16px}.testimonial-card figcaption{line-height:1.6}
/* Generous controls for opening reviews, forms, and recommendation details. */
.reviews-all>summary,.review-write>summary{font-size:21px;min-height:60px;padding:16px 22px;border:1px solid #dbc1ad;border-radius:14px;background:#fff8ef;width:100%;justify-content:space-between;line-height:1.5}
.review-write>summary::after{content:'＋';font-size:25px;font-weight:500;margin-inline-start:12px}.review-write[open]>summary::after{content:'−'}
.testimonial-card .review-expand{font-size:17px;min-height:48px;padding:10px 14px;line-height:1.5}
.rec-item>summary{font-size:20px;min-height:56px;padding-block:15px;line-height:1.5}
.policy-page-link{font-size:19px;min-height:52px;display:inline-flex;align-items:center;gap:10px;padding:12px 18px}
.reviews-all>summary:focus-visible,.review-write>summary:focus-visible,.review-expand:focus-visible,.rec-item>summary:focus-visible{outline:3px solid #b8894f;outline-offset:4px}
@media(max-width:620px){.reviews-all>summary,.review-write>summary{font-size:19px;padding:15px 16px}}

/* Tour information: accessible questions, collapsed until opened. */
#details .tour-questions { margin-top: 16px; display: grid; gap: 9px; min-width: 0; }
#details .tour-question { border: 1px solid #4e242b26; border-radius: 13px; background: #fffaf4; overflow: hidden; }
#details .tour-question > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 14px 16px; cursor: pointer; list-style: none; color: var(--wine-dark, #4e242b); font: 700 17px/1.5 Assistant, sans-serif; }
#details .tour-question > summary::-webkit-details-marker { display: none; }
#details .tour-question > summary::after { content: '+'; flex: none; font: 400 26px/1 sans-serif; }
#details .tour-question[open] > summary::after { content: '−'; }
#details .tour-question > summary:hover { background: #f5ecdf; }
#details .tour-question > summary:focus-visible { outline: 3px solid #bc7b2b; outline-offset: -3px; border-radius: 12px; }
#details .tour-question[open] > summary { background: #f5ecdf; }
#details .tour-answer { padding: 0 16px 16px; }
#details .tour-answer p { margin: 12px 0 0; line-height: 1.8; font-size: 16px; }

.tour-review-edit { display: flex; flex-wrap: wrap; gap: 10px; margin-block: 14px; }
.tour-review-edit button { min-height: 44px; border: 1px solid #4e242b33; border-radius: 10px; padding: 10px 14px; background: #fffaf4; color: #4e242b; font: inherit; font-weight: 700; cursor: pointer; }
.tour-review-edit button:focus-visible { outline: 3px solid #bc7b2b; outline-offset: 3px; }
#tour-summary span { overflow-wrap: anywhere; unicode-bidi: plaintext; }

/* Keep the email delivery notice readable after booking. */
.tour-hint.tour-email-notice{font-size:20px;line-height:1.75;color:#51433d}
