/* Final narrowly scoped public-site mini fixes. Loaded after the existing polish styles. */

/* The grey breathing space belongs to the homepage only. */
.public-main{border-top:0!important}
.page-home .public-main{border-top:30px solid #f0f0f0!important}

/* Keep the cart icon visually aligned with the navigation text. */
.cart-link svg{width:20px!important;height:20px!important}
.cart-link b{top:-7px!important;right:-8px!important}

/* Enlarge the decorative circle in the international GCP block without changing the block itself. */
.trust-section:after{
  top:-42px;
  right:-34px;
  width:168px;
  height:168px;
  background:#1e6da7;
  opacity:.48;
}

/* Keep “(Online)” a full-size part of the GCP refresher title. */
.course-hero-copy h1 small{
  display:block;
  margin-top:4px;
  font-size:1em;
  font-weight:400;
  line-height:1.05;
}

/* Vimeo consent replaces the placeholder node with a bare iframe. Keep all course videos consistent. */
.course-page .video-frame,
.course-page iframe[src*="player.vimeo.com"]{
  display:block;
  width:100%;
  max-width:none;
  min-height:460px;
  aspect-ratio:16/9;
  margin:18px 0 0;
  padding:0;
  border:0;
  border-radius:8px;
}
.course-page .vimeo-consent{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  padding:34px;
}

/* The video frame owns the top margin. The iframe itself fills it with no offset. */
.course-page .video-frame{position:relative;margin-top:18px;aspect-ratio:16/9;min-height:0;height:auto;padding:0;overflow:hidden}
.course-page .video-frame iframe[src*="player.vimeo.com"]{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;max-height:none;margin:0;padding:0;border:0;aspect-ratio:auto}

/* Video markers sit directly beside the relevant chapter title. */
.curriculum-video-badge{
  display:inline-flex!important;
  align-items:center;
  width:auto!important;
  margin:0 0 0 10px!important;
  padding:4px 10px!important;
  border-radius:999px;
  background:#7b2631!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:.04em;
  text-transform:uppercase;
  vertical-align:middle;
  transform:translateY(-2px);
}

/* Match the approved course-card hover on testimonials and benefit cards. */
.testimonial-grid article,
.benefit-grid article{
  transition:transform .2s ease,box-shadow .2s ease;
}
.testimonial-grid article:hover,
.benefit-grid article:hover{
  transform:translateY(-3px)!important;
  box-shadow:7px 10px 22px rgba(20,36,51,.16)!important;
}

/* Legal pages: bring the first section closer to the hero. */
.page-terms-and-conditions .content-page,
.page-datenschutz .content-page,
.page-impressum .content-page{padding-top:48px!important}

/* About: the introductory “Praxisnahe GxP-Schulungen …” section is normal editorial text, not a card. */
.page-ueber-uns .content-page section:first-child{
  grid-column:1/-1;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-align:left;
}
.page-ueber-uns .content-page section:first-child:before{display:none!important}
.page-ueber-uns .content-page section:nth-child(1) h2,
.page-ueber-uns .content-page section:nth-child(2) h2{
  font-size:28px!important;
  line-height:1.25;
}

/* Preserve the explanatory copy and six-reasons panel above the three value cards. */
.page-ueber-uns .content-page section:nth-child(2){grid-column:1/span 4;grid-row:2}
.page-ueber-uns .content-page section:nth-child(3){grid-column:5/span 2;grid-row:2;align-self:stretch}

/* Desktop order requested: Vision | Versprechen | Mission. Existing CMS order is Mission | Vision | Versprechen. */
.page-ueber-uns .content-page section:nth-child(5){grid-column:1/span 2;grid-row:3}
.page-ueber-uns .content-page section:nth-child(6){grid-column:3/span 2;grid-row:3}
.page-ueber-uns .content-page section:nth-child(4){grid-column:5/span 2;grid-row:3}
.page-ueber-uns .content-page section:nth-child(4),
.page-ueber-uns .content-page section:nth-child(5),
.page-ueber-uns .content-page section:nth-child(6){
  min-height:330px;
  padding:34px 28px;
  border:1px solid #e1e4e7;
  border-radius:7px;
  background:#fff;
  box-shadow:0 5px 16px rgba(20,50,78,.045);
  text-align:center;
  align-self:stretch;
}

/* Subtle grey symbols for Mission, Vision and Promise. */
.page-ueber-uns .content-page section:nth-child(4):before,
.page-ueber-uns .content-page section:nth-child(5):before,
.page-ueber-uns .content-page section:nth-child(6):before{
  display:block!important;
  position:static!important;
  width:auto!important;
  height:auto!important;
  margin:0 0 16px!important;
  background:none!important;
  color:#7d8b99;
  font-size:36px;
  line-height:1;
}
.page-ueber-uns .content-page section:nth-child(4):before{content:"◆"}
.page-ueber-uns .content-page section:nth-child(5):before{content:"◉"}
.page-ueber-uns .content-page section:nth-child(6):before{content:"✓"}

@media(max-width:950px){
  .course-page .video-frame,
  .course-page iframe[src*="player.vimeo.com"]{min-height:0;height:auto}
  .page-ueber-uns .content-page section:nth-child(4),
  .page-ueber-uns .content-page section:nth-child(5),
  .page-ueber-uns .content-page section:nth-child(6){grid-row:auto;min-height:0}
  .page-ueber-uns .content-page section:nth-child(5){grid-column:1/span 3}
  .page-ueber-uns .content-page section:nth-child(6){grid-column:4/span 3}
  .page-ueber-uns .content-page section:nth-child(4){grid-column:1/-1}
}

@media(max-width:700px){
  .page-home .public-main{border-top-width:20px!important}
  .page-terms-and-conditions .content-page,
  .page-datenschutz .content-page,
  .page-impressum .content-page{padding-top:26px!important}
  .page-ueber-uns .content-page section:nth-child(n){grid-column:1;grid-row:auto}
  .trust-section:after{width:118px;height:118px;top:-30px;right:-28px}
}

@media(prefers-reduced-motion:reduce){
  .testimonial-grid article,
  .benefit-grid article{transition:none}
  .testimonial-grid article:hover,
  .benefit-grid article:hover{transform:none!important}
}

/* Active brochure downloads should look actionable; absent brochures render no placeholder. */
.brochure-button{opacity:1}


/* Cart and checkout polish */
.cart-page{
  max-width:1100px;
  padding-left:28px;
  padding-right:28px;
}
.cart-row{
  grid-template-columns:150px minmax(0,1fr) auto;
  gap:34px;
  padding:32px;
}
.cart-thumb{height:105px}
.cart-total{padding:28px 6px 20px}
.checkout-form section{
  background:#f8fbfd;
  border-color:#d7e2ea;
  box-shadow:0 6px 18px rgba(20,50,78,.045);
}
.checkout-form .field input,
.checkout-form .field select,
.checkout-form textarea{
  background:#fff;
}
.checkout-form .participant-fields{
  background:rgba(255,255,255,.6);
}
.bank-transfer-speed-note{
  max-width:760px;
  padding:12px 15px;
  border-left:3px solid var(--blue);
  background:#f2f8fb;
  color:var(--text);
}

@media(max-width:700px){
  .cart-page{padding-left:16px;padding-right:16px}
  .cart-row{grid-template-columns:90px 1fr;gap:18px;padding:20px}
  .cart-thumb{height:72px}
}
