/*
Theme Name: Mike's Child Theme
Theme URI: https://olliewp.com
Description: This is Mike's custom child theme.
Author: Mike McAlister
Author URI: https://olliewp.com
Template:     ollie
Version: 1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Tags:         blog, portfolio, entertainment, grid-layout, one-column, two-columns, three-columns, four-columns, block-patterns, block-styles, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, full-width-template, rtl-language-support, style-variations, template-editing, theme-options, translation-ready, wide-blocks
Text Domain: ollie-child
*/

/*
  Consolidated Tagespflege card (BEM). Used by the afrb/template block
  output in the KTPP loop patterns/templates (single-ktpp, taxonomy-amt,
  ktpp-loop-grid-by-amt). Centralised here so pages using the loop pattern
  don't need to carry their own inline <style> block.
*/

h1 {
  text-wrap: balance;
}

.afrb-card {
  height: 100%;
  display: grid;
  /* photo column slightly wider than the 6rem avatar so the
     availability text below it wraps to 2-3 lines, not one word per line */
  grid-template-columns: 9rem 1fr;
  align-content: start;
  gap: var(--wp--preset--spacing--40, 1rem);
}

/* dissolve the header wrapper so avatar + identity become grid items */
.afrb-card__header {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: center;
  grid-column: 1 / -1;
  text-align: center;
  text-wrap: balance;
}

.afrb-card__avatar {
  grid-column: 1;
  flex: 0 0 auto;
  --avatar-size: clamp(5rem, 2.2rem + 4vw, 7rem);
  width: var(--avatar-size);
  height: var(--avatar-size);
  border-radius: 50%;
  object-fit: cover;
  margin: auto;
}

.afrb-card__avatar-link {
  flex: 0 0 auto;
  --avatar-size: clamp(5rem, 2.2rem + 4vw, 7rem);
  width: var(--avatar-size);
  height: var(--avatar-size);
  border-radius: 50%;
  position: relative;
}

.afrb-card__avatar-link::after {
  content: "\270E";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5em;
  color: #fff;
  background: rgba(0, 0, 0, 0.45);
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.15s ease;
  pointer-events: none;
}

.afrb-card__avatar-link:hover::after,
.afrb-card__avatar-link:focus-visible::after {
  opacity: 1;
}

.afrb-card__identity {
  grid-column: 2;
  align-self: center;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.afrb-card__title {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.afrb-card__facility {
  margin: 0;
  font-family: var(--wp--preset--font-family--leckerli-one, cursive);
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 1.1;
  color: var(--wp--preset--color--primary-accent, #6f9b11);
}


.afrb-card__facility-img {
  max-height: 10em;
  float: left;
  margin-right: 1em;
  margin-bottom: .5em;  
  border-radius: 4px;
}

.afrb-card__person {
  margin: 0;
  font-weight: 600;
  color: var(--wp--preset--color--primary-alt-accent);
  font-family: var(--wp--preset--font-family--inter);
  font-size: 1.125rem;
}

.afrb-availability {
  grid-column: 1 / -1;
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  margin: 0;
  font-size: 0.9rem;
}

.afrb-availability__dot {
  flex: 0 0 auto;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  transform: translateY(-0.1ex);
}

.afrb-availability--open .afrb-availability__dot {
  background: var(--wp--preset--color--primary-accent, #6f9b11);
}

.afrb-availability--none .afrb-availability__dot {
  background: #9a9b94;
}

.afrb-availability--none {
  color: var(--wp--preset--color--secondary, #51524e);
}

.afrb-contact {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0.3rem 0.7rem;
  margin: 0;
  font-size: 1rem;
}

.afrb-contact__label {
  font-weight: 600;
  color: var(--wp--preset--color--secondary, #51524e);
}

.afrb-contact__value {
  margin: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.afrb-contact a {
  color: #4d6e0c;
  text-underline-offset: 2px;
  text-overflow: ellipsis;
}

.afrb-contact a:hover {
  color: var(--wp--preset--color--primary-accent, #6f9b11);
}

.afrb-hours {
  grid-column: 1 / -1;
  background: var(--wp--preset--color--primary-alt, #f6fbe0);
  border-radius: var(--wp--preset--border-radius--md, 0.75rem);
  padding: 0.5rem 1rem;
}

.afrb-hours__title {
  margin: 0;
  font-size: 1.2rem;
  letter-spacing: 0.025em;
  color: var(--wp--preset--color--primary-accent, #6f9b11);
}

.afrb-hours__list {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0.4rem 1rem;
  margin: 0;
}

.afrb-hours__addendum {
  font-size: 0.8em;
}

.afrb-hours__row {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: subgrid;
}

.afrb-hours__row > * {
  margin: 0;
}

.afrb-hours__days {
  font-weight: 600;
  white-space: nowrap;
}

.afrb-hours__time {
  white-space: nowrap;
}

.afrb-hours__note {
  color: var(--wp--preset--color--secondary, #51524e);
  font-size: 0.9em;
}

.afrb-hours__single {
  margin: 0;
}

.afrb-card__more {
  grid-column: 1 / -1;
  border: 1px solid var(--wp--preset--color--border-light, #e2e2d9);
  border-radius: var(--wp--preset--border-radius--md, 0.75rem);
  background: var(--wp--preset--color--tertiary, #f5f5f0);
}

.afrb-card__more-summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 1rem;
  font-weight: 600;
  color: var(--wp--preset--color--primary-accent, #6f9b11);
}

.afrb-card__more-summary::-webkit-details-marker {
  display: none;
}

.afrb-card__more-summary::before {
  content: "+";
  width: 1.1em;
  font-weight: 700;
  text-align: center;
}

.afrb-card__more[open] .afrb-card__more-summary::before {
  content: "\2013";
}

.afrb-card__more-body {
  padding: 0 1rem 1rem;
  color: var(--wp--preset--color--secondary, #51524e);
}

.afrb-card a:focus-visible,
.afrb-card__more-summary:focus-visible {
  outline: 2px solid var(--wp--preset--color--primary-accent, #6f9b11);
  outline-offset: 2px;
  border-radius: 0.2rem;
}

:root :where(regenbogen.wp-element-button, regenbogen..wp-block-button__link) {
  background: linear-gradient(135deg in oklch, oklch(0.6 0.3 30), oklch(0.7 0.3 70), oklch(0.85 0.3 110), oklch(0.7 0.3 150), oklch(0.55 0.3 250), oklch(0.45 0.3 310)) 0% 0% / 200% 200%;
  background-size: 200% 200%;
  color: white;
  text-shadow: rgba(0, 0, 0, 0.8) 1px 1px 3px;
  font-weight: bold;
  transition: background-position 1s ease;
}

:root :where(regenbogen..wp-element-button:hover, regenbogen..wp-block-button__link:hover),
a.wp-block-button__link.wp-element-button.rainbow-button:hover {
  background-position: right center !important;
}

/* Amt-Archiv: bei nur einer vertretenen Person das 2-Spalten-Grid
   einspaltig auf Lesbarkeitsmaß zentrieren (progressive enhancement
   via :has(); Browser ohne Support fallen auf 2 Spalten zurück). */
.wp-block-post-template.is-layout-grid:has(> .wp-block-post:only-child) {
  grid-template-columns: minmax(0, 1fr) !important;
  max-width: var(--wp--style--global--content-size, 740px);
  margin-inline: auto;
}

@media screen and (min-width: 600px) {
  .afrb-availability {
    grid-column: 1
  }
  .afrb-contact {
    grid-column: 2
  }
  .afrb-card__header {
    display: contents;
    text-align: unset;
  }
}
/* @media screen and (min-width: 1312px) {
  .afrb-hours {
    grid-column: 2;
  }
} */