/* ===== Imports ===== */
@import url('./tokens.css');
@import url('./reset.css');

/* ===== Fonts (lokal, latin + latin-ext) ===== */
@font-face {
  font-family: 'Bodoni Moda';
  src: url('/assets/fonts/bodoni-moda-bold-italic.woff2') format('woff2');
  font-weight: 700 800; font-style: italic; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Bodoni Moda';
  src: url('/assets/fonts/bodoni-moda-bold-italic-ext.woff2') format('woff2');
  font-weight: 700 800; font-style: italic; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Playfair Display';
  src: url('/assets/fonts/playfair-regular.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  src: url('/assets/fonts/playfair-italic.woff2') format('woff2');
  font-weight: 400; font-style: italic; font-display: swap;
}
@font-face {
  font-family: 'Playfair Display';
  src: url('/assets/fonts/playfair-regular-ext.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/inter-regular.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/inter-medium.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/inter-regular-ext.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ===== Utility ===== */
.skiplink {
  position: absolute; top: -40px; left: 0;
  background: var(--ink); color: var(--paper-white);
  padding: 8px 12px; z-index: 100;
}
.skiplink:focus { top: 0; }

.brand-logo { width: 140px; height: 28px; display: inline-block; color: inherit; }

/* ===== Hero ===== */
.hero {
  position: relative; min-height: 60vh; height: clamp(420px, 60vh, 720px);
  display: grid; place-items: start center;
  background: var(--burgundy-deep); overflow: hidden;
  color: var(--paper-white);
}
.hero-bg { position: absolute; inset: 0; z-index: 0; }
.hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.hero::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: rgba(20, 8, 14, 0.45);
  pointer-events: none;
}
.hero-logo {
  position: relative; z-index: 2; padding-top: clamp(48px, 10vh, 120px);
  width: min(88vw, 820px); color: var(--paper-white);
}
.hero-logo svg { width: 100%; height: auto; aspect-ratio: 2277.31 / 449.2; }

/* ===== Claim (Blumen frisch am Tisch) ===== */
.claim {
  display: grid; grid-template-columns: 1fr;
  background: linear-gradient(135deg, var(--rose-pale) 0%, var(--peach-pale) 100%);
}
.claim-text {
  padding: var(--s-7) var(--content-pad);
  display: grid; align-content: center; gap: var(--s-4);
}
.claim-text h1 {
  font-family: var(--font-display);
  font-size: clamp(48px, 8vw, 80px); line-height: 1.05; letter-spacing: -0.01em;
}
.claim-text p { font-size: 17px; max-width: 36ch; }
.claim-image img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4/3; }
@media (min-width: 900px) {
  .claim { grid-template-columns: 1fr 1fr; min-height: 80vh; }
  .claim-image img { aspect-ratio: auto; }
}

/* ===== Buttons (Canva-Style: Outline-Pill mit unterstrichener Schrift) ===== */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 12px 28px; min-height: 40px;
  font: 500 12px/1 var(--font-sans); text-transform: uppercase; letter-spacing: 0.12em;
  border-radius: var(--r-pill); transition: background 180ms, color 180ms, border-color 180ms;
  cursor: pointer; user-select: none; width: fit-content;
  text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px;
}
.btn-outline { background: transparent; color: var(--ink); border: 1.2px solid var(--ink); }
.btn-outline:hover, .btn-outline:focus-visible { background: var(--ink); color: var(--paper-white); }
.btn-light { color: var(--paper-white); border-color: var(--paper-white); }
.btn-light:hover, .btn-light:focus-visible { background: var(--paper-white); color: var(--ink); }

/* ===== Service Sections ===== */
.service { display: grid; grid-template-columns: 1fr; padding: var(--s-7) 0; gap: var(--s-5); }
.service-image { padding: 0 var(--s-5); }
.service-image img { width: 100%; height: auto; max-height: 620px; object-fit: cover; aspect-ratio: 1/1; }
.service-text {
  padding: var(--s-6) var(--s-5);
  display: grid; align-content: center; gap: var(--s-4);
}
.service-text h2 { font-size: clamp(42px, 6.5vw, 88px); line-height: 1; }
.service-text .h2-tight { letter-spacing: -0.04em; }
.service-text p { font-size: 17px; max-width: 36ch; }

.service-hochzeiten { background: linear-gradient(135deg, var(--peach-pale), var(--cream)); }
.service-grabschmuck { background: linear-gradient(135deg, #DDB0BB, #E8C5CB); color: var(--ink); }
.service-event       { background: linear-gradient(135deg, var(--rose-soft), var(--peach)); }
.service-hochzeiten .service-text,
.service-grabschmuck .service-text,
.service-event .service-text { background: transparent; }

@media (min-width: 900px) {
  .service { grid-template-columns: 1fr 1fr; gap: var(--s-4); align-items: center; padding: var(--s-7) var(--s-6); }
  .service-image { padding: 0; }
  .service-image img { aspect-ratio: 1/1; max-height: 620px; height: auto; }
}

/* ===== About ===== */
.about {
  display: grid; grid-template-columns: 1fr; padding: var(--s-7) 0; gap: var(--s-5);
  background: linear-gradient(135deg, var(--rose-pale), var(--peach-pale));
}
.about-text {
  padding: var(--s-6) var(--s-5);
  display: grid; align-content: center; gap: var(--s-4);
}
.about-text h2 { font-size: clamp(44px, 6vw, 80px); font-style: italic; line-height: 1; }
.about-text h2 em { font-style: italic; display: block; }
.about-text p { font-size: 17px; max-width: 40ch; }
.about-image { padding: 0 var(--s-5); }
.about-image img { width: 100%; height: auto; max-height: 620px; object-fit: cover; object-position: center top; aspect-ratio: 4/3; }
@media (min-width: 900px) {
  .about { grid-template-columns: 1fr 1fr; gap: var(--s-4); align-items: center; padding: var(--s-7) var(--s-6); }
  .about-image { padding: 0; }
  .about-image img { aspect-ratio: 4/3; }
}

/* ===== Sortiment ===== */
.sortiment {
  background: var(--cream-pale); padding: var(--s-8) var(--content-pad);
  display: grid; gap: var(--s-7); justify-items: center;
}
.sortiment-title { font-size: clamp(40px, 5.5vw, 72px); text-align: center; line-height: 1; }
.sortiment-list {
  list-style: none; padding: 0; margin: 0;
  display: grid; gap: var(--s-6); width: 100%; max-width: var(--maxw);
  grid-template-columns: 1fr; justify-items: center;
}
.sortiment-card { text-align: center; display: grid; gap: var(--s-3); justify-items: center; max-width: 360px; }
.sortiment-card picture {
  width: 240px; aspect-ratio: 1/1; border-radius: 50%; overflow: hidden;
  box-shadow: var(--sh-2);
}
.sortiment-card img { width: 100%; height: 100%; object-fit: cover; }
.sortiment-card h3 { font-family: var(--font-display); font-style: italic; font-weight: 700; font-size: 32px; letter-spacing: -0.01em; }
.sortiment-card p { color: var(--ink-soft); max-width: 28ch; }
@media (min-width: 900px) { .sortiment-list { grid-template-columns: repeat(3, 1fr); } }

/* ===== Voucher ===== */
.voucher-banner {
  background: linear-gradient(135deg, var(--peach), var(--rose-soft));
  padding: var(--s-7) var(--content-pad); text-align: center;
  display: grid; gap: var(--s-3); justify-items: center;
}
.voucher-banner h2 { font-size: clamp(32px, 4vw, 48px); }

/* ===== Footer ===== */
.site-footer {
  background: var(--burgundy-deep); color: var(--paper-white);
  padding: var(--s-7) var(--content-pad) var(--s-5);
  display: grid; gap: var(--s-7); justify-items: center; text-align: center;
}

/* ===== Kontaktkarten (im Footer) ===== */
.contact-cards {
  display: grid; grid-template-columns: 1fr; gap: var(--s-5);
  width: 100%; max-width: var(--maxw); margin: 0 auto;
}
.contact-card {
  border: 1px solid var(--accent-rose); padding: var(--s-6);
  border-radius: var(--r-sm); background: transparent;
  text-align: center;
}
.contact-card h3 {
  font-family: var(--font-sans); font-size: 14px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--paper-white);
  margin-bottom: var(--s-4);
}
.contact-card address {
  font-style: normal; line-height: 1.9; font-size: 17px;
  font-family: 'Playfair Display', Georgia, serif;
}
.contact-card a { border-bottom: 1px solid rgba(254, 254, 254, 0.5); transition: color 160ms, border-color 160ms; }
.contact-card a:hover, .contact-card a:focus-visible { color: var(--accent-rose); border-color: var(--accent-rose); }
.contact-card .delivery-areas {
  margin-top: var(--s-4); padding-top: var(--s-3);
  border-top: 1px solid rgba(232, 154, 171, 0.25);
  font-family: var(--font-sans);
  font-size: 12px; line-height: 1.6; color: rgba(254, 254, 254, 0.72);
  letter-spacing: 0.02em;
}
.hours { display: grid; grid-template-columns: 1fr; gap: var(--s-2); margin: 0; font-family: 'Playfair Display', Georgia, serif; }
.hours dt {
  font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  font-size: 14px; color: var(--accent-rose); margin-top: var(--s-3);
  font-family: var(--font-sans);
}
.hours dt:first-of-type { margin-top: 0; }
.hours dd { margin: 0; line-height: 1.6; font-size: 17px; }
@media (min-width: 700px) { .contact-cards { grid-template-columns: 1fr 1fr; gap: var(--s-6); } }

.footer-brand { color: var(--paper-white); display: inline-block; margin-top: var(--s-4); }
.footer-brand .brand-logo { width: 360px; height: 72px; max-width: 80vw; }

.social-row {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-wrap: wrap; gap: var(--s-8); justify-content: center; align-items: flex-end;
}
.social-row > li > a, .social-follow {
  display: inline-grid; gap: var(--s-2); justify-items: center;
}
.social-row > li > a {
  font-family: var(--font-display); font-style: italic;
  font-size: 18px; color: var(--accent-rose); letter-spacing: 0;
  text-transform: none;
  transition: color 160ms;
}
.social-row img { width: 48px; height: 48px; }
.social-row .icon-review { width: 56px; height: 48px; }
.social-follow { gap: var(--s-2); }
.social-follow .social-label {
  font-family: var(--font-display); font-style: italic;
  font-size: 18px; color: var(--accent-rose);
}
.social-follow .social-icons { display: inline-flex; gap: var(--s-4); align-items: center; }
.social-follow .social-icons a img { width: 40px; height: 40px; }

.footer-legal {
  color: var(--paper-white); font-size: 14px; line-height: 1.8;
  font-family: 'Playfair Display', Georgia, serif;
}
.footer-legal p { margin: 0; }

.footer-bottom {
  display: flex; flex-wrap: wrap; gap: var(--s-3); justify-content: center; align-items: center;
  font-size: 13px; color: rgba(254, 254, 254, 0.6);
  border-top: 1px solid rgba(232, 154, 171, 0.18); padding-top: var(--s-4); width: 100%;
  max-width: var(--maxw);
}
.footer-bottom a:hover { color: var(--accent-rose); }
.lang-switcher-footer a[aria-current="page"] { color: var(--accent-rose); }

/* ===== Quick-CTA Floating Action Buttons (Anrufen + WhatsApp) ===== */
.quick-cta {
  position: fixed; bottom: 20px; right: 20px; z-index: 60;
  display: inline-flex; gap: 8px;
  pointer-events: none;
  /* Dezent ausblenden wenn Footer sichtbar — JS schaltet .quick-cta--hidden */
  transition: opacity 220ms ease, transform 220ms ease;
}
.quick-cta--hidden {
  opacity: 0; transform: translateY(8px); pointer-events: none;
}
.quick-cta__btn {
  pointer-events: auto;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 11px 18px 11px 14px; min-height: 44px;
  border-radius: var(--r-pill);
  color: var(--paper-white);
  background: var(--burgundy-deep);
  border: 1px solid rgba(232, 154, 171, 0.32);
  box-shadow: 0 8px 20px rgba(42, 15, 27, 0.28), 0 2px 6px rgba(42, 15, 27, 0.16);
  font: 500 14px/1 var(--font-sans); letter-spacing: 0.02em;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}
.quick-cta__btn:hover, .quick-cta__btn:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(42, 15, 27, 0.36), 0 3px 8px rgba(42, 15, 27, 0.2);
  background: #3a1828;
}
.quick-cta__call svg { color: var(--accent-rose); }
.quick-cta__wa   svg { color: #4ade80; }
.quick-cta__btn svg { flex-shrink: 0; }

/* Desktop: Labels sichtbar */
@media (min-width: 700px) {
  .quick-cta { bottom: 24px; right: 24px; gap: 10px; }
}

/* Mobile: kompakter, runde Icon-Buttons */
@media (max-width: 699px) {
  .quick-cta { bottom: 14px; right: 14px; gap: 8px; }
  .quick-cta__btn {
    padding: 0; width: 44px; height: 44px; min-height: 44px;
    justify-content: center;
    border-radius: 50%;
  }
  .quick-cta__btn svg { width: 20px; height: 20px; }
  .quick-cta__label {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
    clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
  }
}

/* Cross-Link "Mehr zum Thema ↗" neben Anfragen-Buttons */
.btn-link {
  display: inline-block;
  margin-left: var(--s-3);
  font: 500 13px/1 var(--font-sans);
  letter-spacing: 0.04em;
  color: var(--ink-soft);
  border-bottom: 1px solid currentColor;
  text-decoration: none;
  padding-bottom: 2px;
  transition: color 160ms;
}
.btn-link:hover, .btn-link:focus-visible { color: var(--ink); }

/* ===== Service-Landing-Pages (Hochzeiten / Grabschmuck / Eventfloristik) ===== */
.service-page { background: var(--paper-white); color: var(--ink); }

.service-page-hero {
  position: relative; min-height: clamp(260px, 38vh, 400px);
  display: grid; place-items: center;
  padding: clamp(48px, 8vh, 96px) var(--content-pad);
  text-align: center;
  background: linear-gradient(135deg, var(--rose-pale), var(--peach-pale));
}
.service-page-hero.hero-grabschmuck { background: linear-gradient(135deg, #DDB0BB, #E8C5CB); }
.service-page-hero.hero-event { background: linear-gradient(135deg, var(--rose-soft), var(--peach)); }

.service-page-hero h1 {
  font-family: var(--font-display); font-weight: 800; font-style: italic;
  font-size: clamp(40px, 6vw, 72px); line-height: 1; letter-spacing: -0.02em;
  margin-bottom: var(--s-3);
}
.service-page-hero p { font-size: 18px; max-width: 56ch; margin: 0 auto; }

.breadcrumb {
  font-family: var(--font-sans); font-size: 13px; letter-spacing: 0.04em;
  color: var(--ink-soft); padding: var(--s-3) var(--content-pad);
  background: var(--cream-pale);
}
.breadcrumb a { color: inherit; border-bottom: 1px dotted currentColor; transition: color 160ms; }
.breadcrumb a:hover { color: var(--burgundy); }
.breadcrumb-sep { margin: 0 var(--s-2); opacity: 0.5; }

.service-content {
  max-width: 760px; margin: 0 auto;
  padding: var(--s-7) var(--content-pad);
}
.service-content h2 {
  font-family: var(--font-display); font-weight: 700; font-style: italic;
  font-size: clamp(28px, 3.6vw, 40px); line-height: 1.15;
  margin-top: var(--s-7); margin-bottom: var(--s-3);
}
.service-content h2:first-child { margin-top: 0; }
.service-content h3 {
  font-family: var(--font-display); font-weight: 700; font-style: italic;
  font-size: clamp(20px, 2.4vw, 24px);
  margin-top: var(--s-5); margin-bottom: var(--s-2);
}
.service-content p { font-size: 17px; line-height: 1.75; margin-bottom: var(--s-3); }
.service-content ul { padding-left: var(--s-5); margin-bottom: var(--s-3); }
.service-content li { font-size: 17px; line-height: 1.75; margin-bottom: var(--s-2); }
.service-content a { color: var(--burgundy); border-bottom: 1px solid currentColor; }
.service-content a:hover { color: var(--accent-rose); }

.service-gallery {
  display: grid; grid-template-columns: 1fr; gap: var(--s-3);
  margin: var(--s-6) 0;
}
.service-gallery picture { display: block; }
.service-gallery img {
  width: 100%; height: auto; aspect-ratio: 4/5; object-fit: cover;
  border-radius: var(--r-sm);
}
@media (min-width: 700px) {
  .service-gallery { grid-template-columns: 1fr 1fr 1fr; gap: var(--s-4); }
}

.service-faq { margin-top: var(--s-7); padding-top: var(--s-5); border-top: 1px solid rgba(42, 24, 32, 0.12); }
.service-faq details {
  border-bottom: 1px solid rgba(42, 24, 32, 0.08);
  padding: var(--s-3) 0;
}
.service-faq summary {
  cursor: pointer; list-style: none; font-weight: 500; font-size: 17px;
  display: flex; justify-content: space-between; align-items: center;
}
.service-faq summary::-webkit-details-marker { display: none; }
.service-faq summary::after {
  content: "+"; font-size: 24px; color: var(--ink-soft); transition: transform 220ms;
}
.service-faq details[open] summary::after { transform: rotate(45deg); }
.service-faq details p { margin-top: var(--s-2); color: var(--ink-soft); font-size: 16px; line-height: 1.7; }

.service-cta {
  margin-top: var(--s-6); padding: var(--s-5);
  background: var(--cream-pale); border-radius: var(--r-md);
  text-align: center;
}
.service-cta h2 { margin-top: 0; }
.service-cta .btn { margin-top: var(--s-3); }

@media (max-width: 699px) {
  .service-page-hero { padding: var(--s-6) var(--s-5); min-height: 220px; }
  .service-content { padding: var(--s-5) var(--s-5); }
}

/* ===== Legal-Seiten (Impressum/Datenschutz/404): Playfair Regular statt Bodoni Bold-Italic ===== */
.legal h1, .legal h2, .legal h3, .legal h4 {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 400; font-style: normal;
  line-height: 1.25; letter-spacing: 0;
}
.legal h1 { font-size: clamp(32px, 5vw, 44px); margin-bottom: var(--s-4); }
.legal h2 { font-size: clamp(20px, 2.6vw, 26px); margin-top: var(--s-6); margin-bottom: var(--s-2); }
.legal p, .legal ul, .legal address { margin-bottom: var(--s-3); line-height: 1.65; }
.legal { max-width: 760px; margin: 0 auto; padding: var(--s-7) var(--content-pad); }
.legal a { color: var(--burgundy); border-bottom: 1px solid currentColor; transition: color 160ms; }
.legal a:hover { color: var(--accent-rose); }
.legal ul { padding-left: var(--s-5); }
.legal .back { margin-top: var(--s-6); }

/* ===== Mobile-Optimierung (Plan: sorted-churning-quill) ===== */
@media (max-width: 700px) {
  /* Hero: kompakt — nur leicht größer als das Logo selbst */
  .hero      { min-height: 0; height: auto; }
  .hero-logo { width: min(78vw, 360px); padding: 32px 24px 28px; }

  /* Sektion-Bilder Full-Bleed, Portrait-Ratio */
  .claim-image, .service-image, .about-image { padding: 0; }
  .claim-image img, .service-image img, .about-image img {
    aspect-ratio: 4/5; max-height: none;
  }

  /* Kompaktere Sektion-Paddings */
  .claim, .service, .about { padding: var(--s-5) 0; gap: var(--s-4); }
  .claim-text, .service-text, .about-text { padding: var(--s-4) var(--s-5); }
  .sortiment { padding: var(--s-6) var(--s-5); gap: var(--s-5); }

  /* Heading-Skalen für Mobile */
  .claim-text h1     { font-size: clamp(48px, 13vw, 64px); }
  .service-text h2,
  .about-text h2,
  .sortiment-title   { font-size: clamp(36px, 10vw, 52px); }
  .sortiment-card h3 { font-size: 26px; }

  /* Footer Social-Row: drei nebeneinander, fluider Gap */
  .social-row {
    gap: var(--s-5);
    width: 100%; max-width: 360px;
    flex-wrap: nowrap;
  }
  .social-follow .social-icons { gap: var(--s-3); }
  .social-row img          { width: 36px; height: 36px; }
  .social-row .icon-review { width: 44px; height: 36px; }
  .social-follow .social-icons a img { width: 30px; height: 30px; }

  /* Labels darunter dürfen umbrechen */
  .social-row > li > a { font-size: 16px; }
  .social-follow .social-label { font-size: 16px; }

  /* Footer-Bottom vertikal stacken, lesbarer */
  .footer-bottom { flex-direction: column; gap: var(--s-2); }
  .footer-brand .brand-logo { width: 280px; height: 56px; }

  /* Touch-Targets ≥44px für Buttons */
  .btn { min-height: 44px; padding: 14px 24px; }
  .contact-card a, .footer-bottom a { padding: 4px 0; }
}

/* Sortiment zweispaltig auf größeren Phones (480-700px) */
@media (min-width: 480px) and (max-width: 699px) {
  .sortiment-list { grid-template-columns: 1fr 1fr; }
  .sortiment-card { max-width: none; }
  .sortiment-card picture { width: 200px; }
}

/* Touch-Geräte: Hover-Effekte zurücknehmen, damit kein „stuck"-Highlight */
@media (hover: none) {
  .btn-outline:hover { background: transparent; color: var(--ink); }
  .btn-light:hover   { background: transparent; color: var(--paper-white); }
  .contact-card a:hover { color: var(--paper-white); border-color: rgba(254, 254, 254, 0.5); }
  .footer-bottom a:hover { color: rgba(254, 254, 254, 0.6); }
}

/* Reduced-Motion: zusätzlich Translate/Transform absichern */
@media (prefers-reduced-motion: reduce) {
  .quick-cta__btn:hover,
  .quick-cta__btn:focus-visible {
    transform: none !important;
    filter: none !important;
  }
}
