/* Final public handoff polish. Loaded after the earlier compatibility layers. */

/* Home: introduction stays compact; the calendar becomes its own full row. */
.bbb-home .bbb-home-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
}

.bbb-home .bbb-home-availability {
  grid-column: 1 / -1;
  margin-block-start: 1.25rem !important;
  width: 100%;
}

.bbb-home .bbb-home-availability .bbb-availability {
  height: auto;
}

/* The numbered badges are gone, so reclaim that space inside the cards. */
.bbb-home .bbb-program-teaser-grid .bbb-program-card {
  gap: .45rem;
  grid-template-columns: 1fr;
}

.bbb-home .bbb-program-card > p:not(.bbb-program-index) {
  grid-column: 1;
}

/* Defensive fallbacks for older saved Gutenberg/template-part content. */
.bbb-home .bbb-hero .bbb-block-button-outline-light,
.bbb-reviews-section h2,
.bbb-reviews-section .bbb-reviews-intro,
.bbb-contact-cta > .bbb-eyebrow,
.bbb-site-footer .bbb-footer-brand > p,
.bbb-site-footer a[href="/gyakori-kerdesek/"] {
  display: none !important;
}

.bbb-home .bbb-price-callout {
  display: none !important;
}

/* Minimum-stay exception copy sits with the existing pill instead of looking
 * like a separate warning. */
.bbb-minimum-copy {
  align-self: start;
  max-width: 390px;
  text-align: right;
}

.bbb-minimum-copy .bbb-minimum-note {
  display: inline-block;
}

.bbb-minimum-footnote {
  color: var(--bbb-muted);
  font-size: .72rem;
  line-height: 1.35;
  margin: .38rem 0 0;
}

/* Cleaner service cards and recognisable utility icons. */
.bbb-property-details-header {
  align-items: end;
  margin-bottom: .85rem;
}

.bbb-amenities-grid {
  gap: .7rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bbb-amenity-card--handoff {
	align-items: center;
	background: linear-gradient(135deg, var(--bbb-surface), rgb(30 69 62 / 3%));
	border-color: rgb(30 69 62 / 13%);
	border-left: 3px solid rgb(205 180 116 / 72%);
	border-radius: 14px;
	box-shadow: 0 8px 24px rgb(30 69 62 / 5%);
  display: flex;
	gap: .7rem;
	min-height: 76px;
	padding: .72rem .85rem;
}

.bbb-amenity-card--handoff > div:last-child {
  min-width: 0;
}

.bbb-amenity-card--handoff h3 {
	color: var(--bbb-muted);
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .055em;
	line-height: 1.2;
	margin: 0 0 .14rem;
	text-transform: uppercase;
}

.bbb-amenity-card--handoff p {
	color: var(--bbb-forest);
	font-size: .84rem;
	font-weight: 650;
	line-height: 1.3;
  margin: 0;
}

.bbb-amenity-icon--svg {
  align-items: center;
  display: inline-flex;
	flex: 0 0 38px;
	height: 38px;
  justify-content: center;
	width: 38px;
}

.bbb-amenity-icon--svg svg {
  fill: currentColor;
	height: 19px;
	width: 19px;
}

.bbb-checkin-time,
.bbb-checkin-note {
  display: block;
}

.bbb-checkin-note {
  color: var(--bbb-muted);
  font-size: .72rem;
  line-height: 1.35;
  margin-top: .25rem;
}

/* Review summary now represents both booking platforms. */
.bbb-reviews-heading {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) auto auto;
}

.bbb-reviews-heading > div:first-child .bbb-eyebrow {
  margin-bottom: 0;
}

.bbb-reviews-summaries {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  justify-content: flex-end;
}

.bbb-reviews-summary {
  color: white;
  text-decoration: none;
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.bbb-reviews-summary:hover,
.bbb-reviews-summary:focus-visible {
  background: rgb(255 255 255 / 14%);
  border-color: rgb(255 255 255 / 30%);
  color: white;
  transform: translateY(-1px);
}

.bbb-reviews-source-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

/* Desktop footer: contact and links frame a genuinely centred logo. */
.bbb-footer-grid.bbb-footer-grid--handoff {
  align-items: start;
  display: grid;
  gap: clamp(2rem, 5vw, 5rem);
  grid-template-columns: minmax(0, 1fr) minmax(180px, 240px) minmax(0, 1fr);
}

.bbb-footer-grid--handoff .bbb-footer-brand {
  align-self: start;
  justify-self: center;
  text-align: center;
}

.bbb-footer-grid--handoff .bbb-footer-brand img {
  margin-inline: auto;
  width: min(190px, 100%);
}

.bbb-footer-side {
  display: grid;
  gap: 1.5rem;
}

.bbb-footer-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1rem;
  margin-bottom: 0;
}

@media (max-width: 1020px) {
  .bbb-reviews-heading {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .bbb-reviews-summaries {
    grid-column: 1;
    justify-content: flex-start;
  }

  .bbb-reviews-controls {
    align-self: end;
    grid-column: 2;
    grid-row: 2;
  }
}

@media (max-width: 820px) {
  .bbb-home .bbb-home-grid {
    grid-template-columns: 1fr;
  }

  .bbb-home .bbb-home-availability {
    grid-column: 1;
  }

  /* On phones/tablets the category selector belongs in document flow. */
  .bbb-program-tabs {
    position: static !important;
    top: auto !important;
  }

  .bbb-minimum-copy {
    max-width: 100%;
    text-align: left;
  }

  .bbb-amenities-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bbb-footer-grid.bbb-footer-grid--handoff {
    gap: 2.25rem;
    grid-template-columns: 1fr;
  }

  .bbb-footer-grid--handoff .bbb-footer-brand {
    grid-row: 1;
  }
}

@media (max-width: 560px) {
  .bbb-amenities-grid {
	gap: .5rem;
    grid-template-columns: 1fr;
  }

	.bbb-amenity-card--handoff {
	min-height: 68px;
	padding: .62rem .72rem;
  }

  .bbb-reviews-heading {
    grid-template-columns: 1fr auto;
  }

  .bbb-reviews-heading > div:first-child {
    grid-column: 1 / -1;
  }

  .bbb-reviews-summaries {
    grid-column: 1 / -1;
    width: 100%;
  }

  .bbb-reviews-summary {
    flex: 1 1 145px;
  }

  .bbb-reviews-controls {
    grid-column: 2;
    grid-row: 3;
  }

  .bbb-footer-grid--handoff .bbb-footer-brand img {
    width: 160px;
  }
}

/* Final visual polish round: rebuild hierarchy after the content removals. */
@media (min-width: 821px) {
  .bbb-footer-grid--handoff .bbb-footer-side {
    justify-items: end;
    text-align: right;
  }

  .bbb-footer-grid--handoff .bbb-footer-social-links {
    justify-content: flex-end;
  }

  .bbb-footer-grid--handoff .bbb-footer-links {
    justify-items: end;
  }
}

.bbb-home .bbb-reviews-section .bbb-eyebrow,
.bbb-home .bbb-program-teaser .bbb-eyebrow,
.bbb-booking-page .bbb-price-table > .bbb-eyebrow,
.bbb-contact-page .bbb-contact-form-copy > .bbb-eyebrow {
  font-size: clamp(.95rem, 1.2vw, 1.08rem);
  letter-spacing: .16em;
  line-height: 1.3;
}

.bbb-home .bbb-hero-content .bbb-block-button-primary .wp-block-button__link {
  font-size: 1.04rem;
  min-width: 225px;
  padding-inline: 2.25rem;
}

/* The compact homepage calendar should read as a useful secondary section,
 * not compete visually with the introduction and reviews. */
.bbb-home .bbb-home-availability {
  margin-inline: auto !important;
  max-width: 760px;
}

.bbb-home .bbb-home-availability .bbb-availability {
  padding: clamp(1.15rem, 2vw, 1.55rem);
}

.bbb-home .bbb-availability--compact .bbb-calendar-grid,
.bbb-home .bbb-availability--compact .bbb-calendar-navigation,
.bbb-home .bbb-availability--compact .bbb-calendar-legend {
  margin-inline: auto;
  max-width: 500px;
  width: 100%;
}

.bbb-home .bbb-availability--compact .bbb-calendar-month {
  min-height: 0;
  padding: .8rem;
}

.bbb-home .bbb-availability--compact .bbb-calendar-days > * {
  font-size: .74rem;
  min-height: 36px;
}

/* These labels were useful during the denser booking design, but are now
 * redundant next to the page title and estimate heading. */
.bbb-booking-page .bbb-page-hero .bbb-eyebrow,
.bbb-booking-page .bbb-booking-estimate-heading .bbb-eyebrow {
  display: none !important;
}

@media (max-width: 820px) {
  .bbb-footer-grid--handoff .bbb-footer-contact {
    justify-self: center;
    text-align: center;
    width: 100%;
  }

  .bbb-footer-grid--handoff .bbb-footer-side {
    justify-items: center;
    text-align: center;
  }

  .bbb-footer-grid--handoff .bbb-footer-social-links {
    justify-content: center;
  }

  .bbb-footer-grid--handoff .bbb-footer-links {
    justify-items: center;
  }

  .bbb-home .bbb-home-availability {
    max-width: 680px;
  }
}

@media (max-width: 560px) {
  .bbb-home .bbb-hero-content .bbb-block-button-primary .wp-block-button__link {
    min-width: 200px;
    padding-inline: 1.8rem;
  }

  .bbb-home .bbb-home-availability {
    max-width: 100%;
  }

  .bbb-home .bbb-availability--compact .bbb-calendar-grid,
  .bbb-home .bbb-availability--compact .bbb-calendar-navigation,
  .bbb-home .bbb-availability--compact .bbb-calendar-legend {
    max-width: 100%;
  }
}

/* Production spacing pass: consistent vertical rhythm across homepage sections. */
.bbb-home .bbb-home-grid {
  row-gap: clamp(2.5rem, 5vw, 4rem);
}

.bbb-home .bbb-gallery-teaser,
.bbb-home .bbb-program-teaser {
  padding-block: clamp(4.25rem, 7vw, 6rem);
}

/* Give the compact calendar enough separation from the introduction above it. */
.bbb-home .bbb-home-availability {
  margin-block-start: clamp(2.75rem, 5vw, 4.25rem) !important;
}

/* Rólunk írták is acts as a visual chapter break before the footer CTA. */
.bbb-home .bbb-reviews-section {
  margin-bottom: clamp(5rem, 8vw, 7rem);
  margin-top: clamp(3.5rem, 6vw, 5rem);
}

@media (max-width: 820px) {
  .bbb-home .bbb-gallery-teaser,
  .bbb-home .bbb-program-teaser {
    padding-block: 3.5rem;
  }

  .bbb-home .bbb-home-availability {
    margin-block-start: 2.75rem !important;
  }

  .bbb-home .bbb-reviews-section {
    margin-bottom: 4.5rem;
    margin-top: 3rem;
  }
}
