/* =============================================================================
   Itzumer Paß – Gutenberg Block Overrides
   ============================================================================= */

/* ─── Reset Gutenberg Defaults ───────────────────────────────────────────────── */

.wp-site-blocks {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ─── Columns Block ──────────────────────────────────────────────────────────── */

.wp-block-columns {
  gap: var(--ip-space-64);
}

/* ─── Cover Block (Hero Images) ──────────────────────────────────────────────── */

.wp-block-cover {
  min-height: var(--ip-hero-height);
}

.wp-block-cover .wp-block-cover__inner-container {
  width: 100%;
  max-width: var(--ip-max-width);
  margin: 0 auto;
  padding: 0 var(--ip-side-padding);
}

/* Force white text inside dark hero cover blocks */
.wp-block-cover.ip-hero--dark .wp-block-heading,
.wp-block-cover.ip-hero--dark h1,
.wp-block-cover.ip-hero--dark h2,
.wp-block-cover.ip-hero--dark h3 {
  color: #FFFFFF !important;
}

/* Eyebrow / kicker paragraph inside hero */
.wp-block-cover.ip-hero--dark .ip-hero__content-box > p,
.wp-block-cover.ip-hero--dark .ip-hero__content-box > .wp-block-paragraph {
  color: var(--ip-color-accent) !important;
  font-family: var(--ip-font-sans) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

/* Hero CTA button — amber fill to match Figma */
.wp-block-cover.ip-hero--dark .wp-block-button__link {
  background-color: #C89650 !important;
  border-color: #C89650 !important;
  color: #FFFFFF !important;
}

/* ─── Image Block ────────────────────────────────────────────────────────────── */

.wp-block-image img {
  border-radius: var(--ip-radius-md);
}

/* ─── Buttons Block ──────────────────────────────────────────────────────────── */

.wp-block-buttons {
  gap: var(--ip-space-16);
}

.wp-block-button__link {
  border-radius: var(--ip-radius-pill) !important;
  font-family: var(--ip-font-sans) !important;
  font-size: var(--ip-size-sm) !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: var(--ip-space-16) var(--ip-space-32) !important;
  transition: background-color var(--ip-transition),
              color var(--ip-transition),
              border-color var(--ip-transition) !important;
}

/* ─── Navigation Block ───────────────────────────────────────────────────────── */

.wp-block-navigation {
  --navigation-layout-justification-setting: space-between;
}

.wp-block-navigation-item__content {
  font-family: var(--ip-font-sans);
  font-size: var(--ip-size-sm);
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ip-color-nav);
  text-decoration: none;
  padding: 0 !important;
}

.wp-block-navigation-item__content:hover {
  color: var(--ip-color-accent);
}

/* ─── Group Block as Hero ────────────────────────────────────────────────────── */

.wp-block-group.is-style-ip-hero-light {
  background-color: var(--ip-color-bg);
  padding: var(--ip-space-80) var(--ip-side-padding);
  text-align: center;
  min-height: var(--ip-hero-height);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* ─── Separator ──────────────────────────────────────────────────────────────── */

.wp-block-separator {
  border-color: var(--ip-color-border);
  border-top-width: 1px;
  margin: var(--ip-space-32) 0;
}

/* ─── Heading alignments ─────────────────────────────────────────────────────── */

.wp-block-heading {
  margin-bottom: var(--ip-space-16);
}

/* ─── Paragraph ──────────────────────────────────────────────────────────────── */

.wp-block-paragraph {
  font-family: var(--ip-font-serif);
  font-size: var(--ip-size-md);
  line-height: 1.7;
  color: var(--ip-color-text);
}

/* ─── Custom Block Patterns ──────────────────────────────────────────────────── */

/* Booking Bar Pattern */
.ip-pattern-booking-bar {
  background-color: var(--ip-color-bg);
  border-top: 1px solid var(--ip-color-border);
}

/* Hero Pattern wrapper */
.ip-pattern-hero-dark {
  position: relative;
}

/* ─── Editor Styles ──────────────────────────────────────────────────────────── */

@media (min-width: 782px) {
  body.block-editor-page .editor-styles-wrapper {
    background-color: var(--ip-color-bg);
  }
}

/* ─── Features Row (dark background) ────────────────────────────────────────── */

.ip-features .wp-block-heading,
.ip-features h4 {
  color: #F5EDE0 !important;
}

.ip-features p,
.ip-features .wp-block-paragraph {
  color: rgba(245, 237, 224, 0.6) !important;
}

/* ─── Booking Bar ────────────────────────────────────────────────────────────── */

.ip-booking-bar {
  display: flex;
  align-items: center;
  background-color: var(--ip-color-bg);
  border-top: 1px solid var(--ip-color-border);
  border-bottom: 1px solid var(--ip-color-border);
  padding: 0 var(--ip-side-padding);
  max-width: 100%;
  height: 78px;
  gap: 0;
}

.ip-booking-bar__field {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 var(--ip-space-32);
  min-width: 180px;
}

.ip-booking-bar__label {
  font-family: var(--ip-font-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ip-color-accent);
}

.ip-booking-bar__value {
  font-family: var(--ip-font-sans);
  font-size: var(--ip-size-sm);
  color: var(--ip-color-text);
  margin-top: 2px;
}

.ip-booking-bar__divider {
  width: 1px;
  height: 38px;
  background-color: var(--ip-color-border);
  flex-shrink: 0;
}

.ip-booking-bar__cta {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: var(--ip-space-8);
  background-color: transparent !important;
  border: 2px solid var(--ip-color-text) !important;
  color: var(--ip-color-text) !important;
  border-radius: var(--ip-radius-pill) !important;
  font-family: var(--ip-font-sans) !important;
  font-size: var(--ip-size-sm) !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: var(--ip-space-12) var(--ip-space-24) !important;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color var(--ip-transition), color var(--ip-transition) !important;
}

.ip-booking-bar__cta:hover {
  background-color: var(--ip-color-text) !important;
  color: var(--ip-color-bg) !important;
}

.ip-booking-bar__cta svg {
  flex-shrink: 0;
}

/* ─── Hero Content Box (centered narrow box with dark overlay) ───────────────── */

.ip-hero__content-box {
  max-width: 480px;
  width: 100%;
  margin: 0 auto;
  padding: var(--ip-space-32);
  background-color: rgba(20, 10, 5, 0.55) !important;
  text-align: center;
}

/* Room card images — ensure they fill their container */
.ip-room-card img,
.ip-rooms .wp-block-column img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  border-radius: var(--ip-radius-md);
}
