/* Nur die ausgewählten Anpassungen auf Basis des ursprünglichen Designs. */

.fixit-hero-rating {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
  color: #d9dde5;
  font-size: .875rem;
  text-decoration: none;
}

.fixit-hero-rating>span:first-child {
  color: #fbbc04;
  letter-spacing: 2px;
}

.fixit-hero-rating:hover {
  text-decoration: underline;
}

.fixit-review-rating {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin: 14px 0 22px;
}

.home-reviews .fixit-review-rating .google-stars {
  margin: 0;
  color: #fbbc04;
  font-size: 1.45rem;
  letter-spacing: 2px;
  line-height: 1.4;
}

.fixit-review-rating>span:last-child {
  color: #dce0e7;
  font-size: .95rem;
}

html body:not(.admin-body) .home-reviews .review-card,html body:not(.admin-body) .home-reviews .review-card:hover {
  background: #171b24 !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  border-radius: 18px;
  padding: 28px;
}

.home-reviews .review-card .btn-secondary {
  background: transparent;
  color: #ececf3;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 10px;
  min-height: 48px;
}

.home-reviews .review-card .btn-secondary:hover {
  background: rgba(255,255,255,.06);
  border-color: #a78bfa;
}

html body:not(.admin-body) .cta-box {
  background: #1c172a !important;
  background-image: none !important;
  border: 1px solid rgba(167,139,250,.24);
  color: #fff;
  border-radius: 20px;
  box-shadow: none !important;
}

html body:not(.admin-body) .cta-box p {
  color: #c4bfd0;
}

html body:not(.admin-body) .cta-box .btn:not(.btn-secondary) {
  background: #a78bfa;
  color: #141020;
  border-radius: 10px;
}

html body:not(.admin-body) .cta-box .btn:not(.btn-secondary):hover {
  background: #c4b5fd;
}

html body:not(.admin-body) .cta-box .btn-secondary {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,.22);
  border-radius: 10px;
}

html body:not(.admin-body) .cta-box .btn-secondary:hover {
  background: rgba(255,255,255,.06);
}

.nav-links .shop-cart-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 44px;
  min-height: 44px;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: #d8dbe1 !important;
}

.nav-links .shop-cart-link:hover {
  color: #fff !important;
  background: rgba(255,255,255,.06) !important;
}

.fixit-cart-icon {
  display: block;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

.fixit-cart-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.shop-cart-count[hidden] {
  display: none !important;
}

.nav-links .shop-cart-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  font-size: .75rem;
  border-radius: 20px;
  background: #a78bfa;
  color: #141020;
  margin-left: 0;
}

.fixit-hero-rating:focus-visible,.nav-links .shop-cart-link:focus-visible {
  outline: 2px solid #c4b5fd;
  outline-offset: 4px;
}

@media (max-width:620px) {
  html body:not(.admin-body) .home-reviews .review-card {
    padding: 22px;
  }
  .fixit-review-rating {
    gap: 10px;
  }
}

/* Einheitlicher Footer; Farben und Typografie des Originaldesigns. */

.site-footer.fixit-unified-footer .footer-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr 1.2fr .8fr;
  gap: 32px;
  align-items: start;
}

.fixit-unified-footer .footer-grid> * {
  min-width: 0;
}

.fixit-unified-footer .footer-brand {
  grid-column: auto;
}

.fixit-unified-footer .footer-brand p {
  max-width: 300px;
}

.fixit-unified-footer .footer-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
  font-size: .9rem;
  line-height: 1.5;
}

.fixit-unified-footer .footer-links a {
  overflow-wrap: anywhere;
  padding: 3px 0;
}

.fixit-unified-footer .footer-links b {
  margin-bottom: 8px;
}

.fixit-unified-footer a:focus-visible {
  outline: 2px solid #a78bfa;
  outline-offset: 4px;
}

@media (max-width:960px) {
  .site-footer.fixit-unified-footer .footer-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 30px;
  }
}

@media (max-width:620px) {
  .site-footer.fixit-unified-footer .footer-grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .fixit-unified-footer .footer-links {
    gap: 5px;
  }
  .fixit-unified-footer .footer-links a {
    padding: 7px 0;
  }
  .fixit-unified-footer .footer-bottom {
    padding-bottom: 48px;
  }
}

@media print {
  .site-footer.fixit-unified-footer {
    display: none !important;
  }
}

/* Chat stays inside the visible mobile viewport, including keyboard space. */
@media(max-width:620px) {
  html body:not(.admin-body) #fixit-ai.ai-panel {
    bottom:calc(68px + var(--chat-keyboard-offset, 0px)) !important;
    height:min(590px, calc(var(--chat-visible-height, 100dvh) - 88px));
    max-height:calc(var(--chat-visible-height, 100dvh) - 88px);
  }
  .ai-panel { grid-template-rows:auto minmax(0,1fr) auto auto; }
  .ai-title, .ai-title > div { min-width:0; }
  .ai-header { gap:8px; padding:12px; }
  .ai-title { gap:8px; }
  .ai-mark { flex-shrink:0; width:30px; height:30px; }
  .ai-title strong { font-size:.9rem; }
  .ai-header-actions { flex-shrink:0; }
  .ai-input { font-size:16px; }
  .ai-privacy { font-size:12px; }
  .fixit-form-editing:not(.fixit-chat-open) .ai-toggle { visibility:hidden; pointer-events:none; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .reveal { opacity:1; transform:none; transition:none; }
  .ai-typing span { animation:none; }
}


/* V2.4.19: konsistente Google-Bewertung */
.fixit-hero-rating > strong,
.fixit-review-rating > strong {
  color:#fff;
  font-size:.95rem;
}
.fixit-hero-rating .fixit-rating-stars {
  color:#fbbc04;
  letter-spacing:2px;
}
.fixit-review-rating > span:last-child {
  color:#dce0e7;
  font-size:.95rem;
}
