#cookie-consent {
  position: fixed;
  left: 20px;
  right: 20px;
  bottom: 20px;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: 920px;
  margin: auto;
  padding: 20px 22px;
  border: 1px solid var(--line);
  background: var(--paper);
  box-shadow: 0 12px 40px #20121d2b;
  color: var(--ink);
}
#cookie-consent strong { font-family: 'Playfair Display', Georgia, serif; font-size: 1.2rem; color: var(--wine); }
#cookie-consent p { margin: 4px 0 0; font-size: .875rem; line-height: 1.5; color: var(--muted); }
#cookie-consent a { text-decoration: underline; }
.cookie-actions { display: flex; gap: 10px; flex-shrink: 0; }
.cookie-actions button { min-height: 44px; padding: 9px 16px; border: 1px solid var(--wine); background: transparent; color: var(--wine); font: inherit; cursor: pointer; }
.cookie-actions .cookie-accept { background: var(--wine); color: #fff; }
@media (max-width: 650px) {
  #cookie-consent { left: 10px; right: 10px; bottom: 10px; display: block; padding: 18px; }
  .cookie-actions { margin-top: 14px; }
  .cookie-actions button { flex: 1; }
}
.service-detail-link { display: inline-flex; align-items: center; min-height: 44px; margin: 0 0 18px; font-size: .875rem; text-decoration: underline; text-underline-offset: 4px; }
.text-link, footer > a { display: inline-flex; align-items: center; min-height: 44px; }
.faq { border-top: 1px solid var(--line); }
.faq-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 34px; }
.faq-list details { margin: 0; padding: 20px 0; }
.faq-list summary { font-family: 'Playfair Display', Georgia, serif; font-size: 1.2rem; color: var(--wine); }
.faq-list p { color: var(--muted); }
@media (max-width: 760px) { .faq-list { grid-template-columns: 1fr; } }
