/*
 * GFGF Discover editorial polish (#113).
 * Scoped to the four native Gutenberg pages. The Gutenberg content stays editable.
 * Intentionally loaded AFTER style.css and about.css.
 */
.gfgf-discover-shell { background:#f7f9fc; }
.gfgf-discover {
  --discover-navy:#003f83;
  --discover-text:#243d55;
  --discover-muted:#52687c;
  --discover-border:#dbe4ed;
  --discover-radius:12px;
  color:var(--discover-text);
  background:#f7f9fc;
  padding-bottom:0;
}
.gfgf-discover :where(.wp-block-group,.wp-block-image,.wp-block-buttons,.wp-block-heading,p) {
  margin-block-start:0;
  margin-block-end:0;
}
.gfgf-discover__hero-grid > .wp-block-group__inner-container,
.gfgf-discover__cards > .wp-block-group__inner-container,
.gfgf-discover__visual > .wp-block-group__inner-container { display:contents; }
.gfgf-discover__container {
  width:min(1120px,calc(100% - 64px));
  max-width:1120px;
  margin-inline:auto;
}
.gfgf-discover__hero,
.gfgf-discover__hero--onsite,
.gfgf-discover__hero--time,
.gfgf-discover__hero--books {
  overflow:hidden;
  padding:clamp(52px,6vw,86px) 0;
  background:linear-gradient(125deg,#eff5fc 0%,#f9fbfd 75%);
  border-bottom:1px solid var(--discover-border);
}
.gfgf-discover__hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  align-items:center;
  column-gap:clamp(40px,6vw,86px);
  row-gap:30px;
}
.gfgf-discover__hero-copy {min-width:0;}
.gfgf-discover__eyebrow,
.gfgf-discover__kicker {
  color:#426b8b;
  font-weight:800;
  font-size:12px;
  letter-spacing:.105em;
  line-height:1.5;
  text-transform:uppercase;
  margin:0 0 12px;
}
.gfgf-discover__hero-copy h1 {
  color:var(--discover-navy);
  font-size:clamp(34px,3.7vw,54px);
  line-height:1.13;
  letter-spacing:-.027em;
  max-width:630px;
  margin:0 0 20px;
  text-wrap:balance;
}
.gfgf-discover__lead {
  color:var(--discover-muted);
  font-size:clamp(17px,1.5vw,19px);
  line-height:1.65;
  max-width:590px;
  margin:0 0 26px;
}
.gfgf-discover__visual {
  display:grid;
  position:relative;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:10px;
  height:340px;
  min-width:0;
  width:100%;
  margin:0;
}
body .gfgf-discover .gfgf-discover__visual .wp-block-image {
  display:block;
  position:relative;
  width:100%;
  max-width:none;
  min-width:0;
  height:100%;
  aspect-ratio:auto;
  left:auto;
  top:auto;
  transform:none;
  transform-origin:center;
  overflow:hidden;
  margin:0;
  border:0;
  border-radius:10px;
  box-shadow:0 6px 20px rgba(0,40,78,.10);
  background:#dce8f3;
}
body .gfgf-discover .gfgf-discover__visual .wp-block-image:nth-child(1) {
  grid-column:1;grid-row:1 / span 2;
  left:auto;top:auto;transform:none;z-index:auto;
}
body .gfgf-discover .gfgf-discover__visual .wp-block-image:nth-child(2) {
  grid-column:2;grid-row:1;
  left:auto;top:auto;transform:none;z-index:auto;
}
body .gfgf-discover .gfgf-discover__visual .wp-block-image:nth-child(3) {
  grid-column:2;grid-row:2;
  left:auto;top:auto;transform:none;z-index:auto;
}
body .gfgf-discover .gfgf-discover__visual .wp-block-image img {
  display:block;width:100%;height:100%;max-width:none;
  object-fit:cover;object-position:center;
}
.gfgf-discover__section {padding:clamp(46px,5vw,70px) 0;}
.gfgf-discover__section h2,
.gfgf-discover__anchor h2 {
  color:var(--discover-navy);
  font-size:clamp(25px,2.6vw,34px);
  line-height:1.25;
  letter-spacing:-.018em;
  margin:0 0 13px;
}
.gfgf-discover__section-lead {
  max-width:740px;color:var(--discover-muted);
  font-size:17px;line-height:1.65;
  margin:0 0 30px;
}
.gfgf-discover__facts {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;margin:0 0 54px;
}
.gfgf-discover__facts p {
  padding:17px 20px;
  margin:0;
  background:#edf3fa;
  border-left:3px solid #4e88b9;
  border-radius:6px;
  color:#29516e;
  font-size:15px;
  line-height:1.55;
  font-weight:650;
}
.gfgf-discover__cards {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:22px;
  min-width:0;
}
.gfgf-discover__cards--two {
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.gfgf-discover__card {
  display:flex;flex-direction:column;
  min-width:0;min-height:100%;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--discover-border);
  border-radius:var(--discover-radius);
  box-shadow:0 5px 18px rgba(0,41,78,.05);
}
.gfgf-discover__card:hover,
.gfgf-discover__card:focus-within {
  transform:none;
  box-shadow:0 7px 20px rgba(0,41,78,.09);
  border-color:#9db7cf;
}
body .gfgf-discover .gfgf-discover__card .gfgf-discover__card-photo {
  display:block;
  flex:0 0 auto;
  width:100%;
  height:auto;
  aspect-ratio:16 / 10;
  overflow:hidden;
  margin:0;
  border:0;
  border-radius:0;
  background:#e6edf4;
}
body .gfgf-discover .gfgf-discover__card-photo img {
  display:block;width:100%;height:100%;object-fit:cover;
}
.gfgf-discover__card-body {
  display:flex;flex-direction:column;flex:1;
  padding:25px 26px 27px;min-width:0;
}
.gfgf-discover__card h3 {
  color:var(--discover-navy);
  font-size:clamp(21px,2vw,24px);
  line-height:1.3;
  letter-spacing:-.015em;
  margin:0 0 11px;
}
.gfgf-discover__card-text {
  color:var(--discover-muted);
  font-size:16px;
  line-height:1.6;
  margin:0 0 22px;
}
.gfgf-discover__card .wp-block-buttons {
  margin-top:auto;
}
.gfgf-discover__card .wp-block-button__link,
.gfgf-discover__hero-copy .wp-block-button__link,
.gfgf-discover__cta .wp-block-button__link {
  display:inline-flex;
  align-items:center;justify-content:center;
  min-height:46px;
  border-radius:7px;
  border:1px solid var(--discover-navy);
  background:var(--discover-navy);
  color:#fff;
  padding:10px 19px;
  font-size:15px;
  font-weight:700;
  line-height:1.35;
  text-decoration:none;
  box-shadow:none;
}
.gfgf-discover__card .wp-block-button__link:hover,
.gfgf-discover__hero-copy .wp-block-button__link:hover,
.gfgf-discover__cta .wp-block-button__link:hover {
  color:#fff;background:#135b9e;border-color:#135b9e;
}
.gfgf-discover__cta {
  background:#e9f2fa;
  border-top:1px solid var(--discover-border);
  padding:clamp(40px,4vw,55px) 0;
  margin:0;
}
.gfgf-discover__cta h2 {color:var(--discover-navy);line-height:1.2;margin:0 0 14px;}
.gfgf-discover__cta p {
  max-width:740px;color:var(--discover-muted);
  line-height:1.65;margin:0 0 22px;
}
body .gfgf-discover--books .gfgf-discover__card-photo {
  height:auto;aspect-ratio:4/3;
  background:#f0f4f8;padding:18px;
}
body .gfgf-discover--books .gfgf-discover__card-photo img {
  width:100%;height:100%;object-fit:contain;
}
@media(max-width:1000px) {
  .gfgf-discover__hero-grid {grid-template-columns:1fr;gap:30px;}
  .gfgf-discover__visual {height:315px;max-width:660px;margin:0;}
  .gfgf-discover__cards {grid-template-columns:repeat(2,minmax(0,1fr));}
  .gfgf-discover__cards--two {grid-template-columns:repeat(2,minmax(0,1fr));}
  .gfgf-discover__facts {margin-bottom:40px;}
}
@media(max-width:640px) {
  .gfgf-discover__container {width:calc(100% - 36px);}
  .gfgf-discover__hero {padding:42px 0 46px;}
  .gfgf-discover__hero-copy h1 {font-size:clamp(32px,8vw,42px);}
  .gfgf-discover__lead {font-size:17px;}
  .gfgf-discover__visual {height:235px;max-width:440px;gap:7px;}
  .gfgf-discover__facts {grid-template-columns:1fr;gap:10px;margin:0 0 34px;}
  .gfgf-discover__cards,.gfgf-discover__cards--two {grid-template-columns:1fr;gap:17px;}
  .gfgf-discover__card-body {padding:23px 21px 24px;}
  .gfgf-discover__section {padding:40px 0;}
  .gfgf-discover__section-lead {margin-bottom:24px;}
}
@media(prefers-reduced-motion:reduce) {
  .gfgf-discover__card {transition:none;}
}


/* Issue #131 follow-up: keep all three book-ordering CTAs visible across breakpoints.
   Narrow scope: WordPress Books page only; preserve the existing card/button palette.
   WordPress can wrap each CTA in .wp-block-buttons, so enforce box visibility on
   all three nested levels rather than relying on link text in REST responses. */
body.page-id-91 .gfgf-discover__card .wp-block-buttons {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  flex: 0 0 auto;
  width: 100%;
  min-height: 46px;
  margin-top: auto;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body.page-id-91 .gfgf-discover__card .wp-block-buttons .wp-block-button {
  display: block !important;
  position: relative;
  min-height: 46px;
  visibility: visible !important;
  opacity: 1 !important;
}
body.page-id-91 .gfgf-discover__card .wp-block-buttons .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 19px;
  border: 1px solid #003f83;
  border-radius: 7px;
  background: #003f83 !important;
  color: #fff !important;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 700;
  text-decoration: none;
  opacity: 1 !important;
  visibility: visible !important;
  box-shadow: none;
}
body.page-id-91 .gfgf-discover__card .wp-block-buttons .wp-block-button__link:is(:hover,:focus-visible) {
  background: #135b9e !important;
  border-color: #135b9e;
  color: #fff !important;
}
body.page-id-91 .gfgf-discover__card .wp-block-buttons .wp-block-button__link:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 2px;
}

/* Reuse the existing dark-blue GFGF CTA style on the compact ordering layout.
   The page's other card-specific button rules no longer apply to unboxed columns. */
body.page-id-91 .gfgf-books-compact-order-options .wp-block-button__link,
body.page-id-91 .gfgf-books-compact-antiquariat .wp-block-button__link {
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:10px 19px;
  border:1px solid #003f83;
  border-radius:7px;
  background:#003f83 !important;
  color:#fff !important;
  font-size:15px;
  line-height:1.35;
  font-weight:700;
  text-decoration:none;
}
body.page-id-91 .gfgf-books-compact-order-options .wp-block-button__link:hover,
body.page-id-91 .gfgf-books-compact-antiquariat .wp-block-button__link:hover {
  background:#135b9e !important;
  border-color:#135b9e;
  color:#fff !important;
}
body.page-id-91 .gfgf-books-compact-order-options .wp-block-button__link:focus-visible,
body.page-id-91 .gfgf-books-compact-antiquariat .wp-block-button__link:focus-visible {
  outline:3px solid #ffbf47;
  outline-offset:2px;
}


/* Issue 137: Books – two concise, legible ordering paths using the existing
   pale-blue Discover/CTA palette. No tall white cards or new block system. */
body.page-id-91 .gfgf-books-compact-order-options {
  align-items: stretch;
  gap: clamp(16px, 2.5vw, 24px);
}
body.page-id-91 .gfgf-books-compact-order-options .gfgf-discover__order-option {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(20px, 2.6vw, 26px);
  border: 1px solid var(--discover-border, #dbe4ed);
  border-radius: var(--discover-radius, 12px);
  background: #e9f2fa;
}
body.page-id-91 .gfgf-books-compact-order-options .gfgf-discover__order-option h3 {
  color: #003f83;
  font-size: clamp(20px, 2vw, 24px);
  line-height: 1.3;
  margin: 0 0 12px;
}
body.page-id-91 .gfgf-books-compact-order-options .gfgf-discover__order-option .gfgf-discover__card-text {
  color: #395a73;
  line-height: 1.65;
  margin: 0 0 22px;
}
body.page-id-91 .gfgf-books-compact-order-options .gfgf-discover__order-option .wp-block-buttons {
  margin-top: auto;
}

/* Issue 137: a single full-width standard GFGF CTA with two equally prominent
   reading options. Moving ON.LINE into the Discover Gutenberg wrapper makes
   it inherit this existing CTA styling instead of rendering outside the page. */
body.page-id-142 .gfgf-issue137-two-way-reading {
  background: #e9f2fa;
  border-top: 1px solid var(--discover-border, #dbe4ed);
}
body.page-id-142 .gfgf-issue137-two-way-reading .gfgf-discover__cards--two {
  align-items: start;
  gap: clamp(28px, 4vw, 52px);
}
body.page-id-142 .gfgf-issue137-two-way-reading .gfgf-discover__order-option {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  height: 100%;
}
body.page-id-142 .gfgf-issue137-two-way-reading .gfgf-discover__order-option h2 {
  color: #003f83;
  font-size: clamp(24px, 2.4vw, 32px);
  line-height: 1.25;
  margin: 0 0 14px;
}
body.page-id-142 .gfgf-issue137-two-way-reading .gfgf-discover__order-option p:not(.gfgf-discover__kicker) {
  color: #395a73;
  line-height: 1.65;
  margin: 0 0 22px;
}
body.page-id-142 .gfgf-issue137-two-way-reading .gfgf-discover__order-option .wp-block-buttons {
  margin-top: auto;
}
body.page-id-142 .gfgf-issue137-two-way-reading .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 19px;
  border: 1px solid #003f83;
  border-radius: 7px;
  background: #003f83 !important;
  color: #fff !important;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 700;
  text-decoration: none;
  opacity: 1;
}
body.page-id-142 .gfgf-issue137-two-way-reading .wp-block-button__link:hover {
  background: #135b9e !important;
  border-color: #135b9e;
  color: #fff !important;
}
body.page-id-142 .gfgf-issue137-two-way-reading .wp-block-button__link:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 2px;
}
@media (max-width: 640px) {
  body.page-id-91 .gfgf-books-compact-order-options .gfgf-discover__order-option {
    padding: 21px;
  }
  body.page-id-142 .gfgf-issue137-two-way-reading .gfgf-discover__cards--two {
    gap: 35px;
  }
}


/* Issue 141: on Zeitreisen keep all three card actions at the bottom,
   including the non-clickable Radio RIM editorial status. */
.gfgf-discover--time .gfgf-discover__section .gfgf-discover__card-body,
.gfgf-discover--time .gfgf-discover__section .gfgf-discover__card-body > .wp-block-group__inner-container {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: stretch;
  min-height: 0;
}
.gfgf-discover--time .gfgf-discover__section .gfgf-discover__card-body .wp-block-buttons,
.gfgf-discover--time .gfgf-discover__section .gfgf-discover__card-body .gfgf-discover__soon {
  margin-top: auto;
}
.gfgf-discover--time .gfgf-discover__section .gfgf-discover__card-body .gfgf-discover__soon {
  display: flex;
  align-items: center;
  min-height: 46px;
  box-sizing: border-box;
  padding: 10px 0;
  color: var(--discover-muted, #52687c);
  font-size: 14px;
  line-height: 1.35;
  font-weight: 650;
}


/* Issue 141 corrective: WP inserts a nested inner-container around every
   Gutenberg card. Without display:contents that wrapper prevents card-body
   flex:1 from occupying the same height in all three Zeitreisen cards. */
.gfgf-discover--time .gfgf-discover__section .gfgf-discover__card > .wp-block-group__inner-container {
  display: contents;
}
