/**
 * @file
 * Accessible 4-Column Footer Component Styles (adlapo_b5).
 *
 * Designed as a friendly, light, premium pharmacy footer
 * (No black/heavy background, excellent WCAG AAA contrast > 11:1).
 */

.adl-footer {
  background-color: #f7f6f9; /* Freundlicher, edler heller Hintergrund */
  color: #2c3038;
  margin-top: auto;
  border-top: 4px solid var(--adl-purple);
  padding-top: 3.5rem;
}

.adl-footer h2,
.adl-footer h3,
.adl-footer h4,
.adl-footer .footer-title {
  color: var(--adl-purple);
  font-size: 1.1875rem;
  font-weight: 700;
  margin-bottom: 1.25rem;
  position: relative;
  padding-bottom: 0.5rem;
}

.adl-footer h2::after,
.adl-footer h3::after,
.adl-footer h4::after,
.adl-footer .footer-title::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 36px;
  height: 3px;
  background-color: var(--adl-green-brand);
  border-radius: var(--adl-radius-sm);
}

.adl-footer p,
.adl-footer .adl-footer__text {
  color: #495057;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 0.75rem;
}

.adl-footer__owner {
  color: #5c636a;
  font-size: 0.875rem;
}

.adl-footer a,
.adl-footer .adl-footer__link {
  color: var(--adl-text-main);
  text-decoration: none;
  transition: color 0.15s ease, text-decoration 0.15s ease;
}

.adl-footer a:hover,
.adl-footer a:focus,
.adl-footer .adl-footer__link:hover,
.adl-footer .adl-footer__link:focus {
  color: var(--adl-purple);
  text-decoration: underline;
}

.adl-footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.adl-footer ul li {
  margin-bottom: 0.5rem;
}

.adl-footer ul li a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0;
  color: #495057;
  font-size: 0.9375rem;
  font-weight: 500;
}

.adl-footer ul li a::before {
  content: '\F285'; /* Bootstrap Icon Chevron Right */
  font-family: 'bootstrap-icons';
  font-size: 0.75rem;
  color: var(--adl-purple);
  transition: transform 0.15s ease;
}

.adl-footer ul li a:hover::before {
  transform: translateX(3px);
}

.adl-footer ul li a:hover,
.adl-footer ul li a:focus {
  color: var(--adl-purple);
}

/* Footer Contact Items (Spalte 1) */
.adl-footer__contact-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  color: #333a42;
  font-size: 0.9375rem;
  line-height: 1.45;
}

.adl-footer__contact-icon {
  color: var(--adl-purple);
  font-size: 1.15rem;
  margin-top: 0.1rem;
  flex-shrink: 0;
}

/* Footer Opening Hours Table (Spalte 3 - 100% Dynamic from Drupal View) */
.adl-footer .office-hours-status {
  display: none !important;
}

.adl-footer .office-hours {
  background-color: #ffffff;
  border: 1px solid rgba(112, 0, 110, 0.1);
  border-radius: var(--adl-radius-md);
  padding: 0.75rem 0.85rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  overflow: hidden;
  max-width: 100%;
}

.adl-footer .office-hours__table {
  font-size: 0.84rem;
  margin-bottom: 0;
  width: 100%;
  display: block;
}

.adl-footer .office-hours__table thead {
  display: none;
}

.adl-footer .office-hours__table tbody {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  width: 100%;
}

.adl-footer .office-hours__item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  padding: 0.4rem 0.5rem;
  border-radius: 6px;
  border-bottom: 1px dashed #e9ecef;
  transition: background-color 0.2s ease;
  width: 100%;
}

.adl-footer .office-hours__item:last-child {
  border-bottom: none;
}

.adl-footer .office-hours__table td {
  padding: 0;
  border: none;
  background: transparent !important;
}

.adl-footer .office-hours__item-label {
  font-weight: 600;
  color: #2b303a;
  flex: 0 0 auto;
  max-width: 55%;
}

.adl-footer .office-hours__item-slots {
  font-weight: 600;
  color: #495057;
  text-align: right;
  flex: 1 1 auto;
}

.adl-footer .office-hours__item-comments {
  flex: 0 0 100%;
  width: 100%;
  font-size: 0.735rem;
  color: var(--adl-purple);
  line-height: 1.35;
  margin-top: 0.25rem;
  font-style: italic;
  font-weight: 500;
  white-space: normal !important;
  word-break: break-word;
}

.adl-footer .office-hours__item-comments:empty {
  display: none;
}

.adl-footer .office-hours__item-current {
  background-color: rgba(112, 0, 110, 0.07) !important;
  color: var(--adl-purple);
}

.adl-footer .office-hours__item-current .office-hours__item-label,
.adl-footer .office-hours__item-current .office-hours__item-slots {
  color: var(--adl-purple);
  font-weight: 700;
}

/* ==========================================================================
   Footer Bottom Bar
   ========================================================================== */
.adl-footer-bottom {
  background-color: #eeebf3; /* Harmonisch abgestimmter Abschluss */
  border-top: 1px solid rgba(112, 0, 110, 0.08);
  padding: 1.25rem 0;
  margin-top: 3rem;
  font-size: 0.875rem;
  color: #555a64;
}

.adl-footer-bottom__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.adl-footer-bottom a {
  color: #555a64;
  text-decoration: underline;
}

.adl-footer-bottom a:hover,
.adl-footer-bottom a:focus {
  color: var(--adl-purple);
}

.adl-footer-bottom__links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}
