/*!
 * home.css — front page. Exact from index.dc.html.
 */
.cav-home{ overflow-x:hidden; }

/* rise-in + cover bob */
@keyframes ca-rise{ from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }
@keyframes ca-bob{ 0%,100%{translate:0 0} 50%{translate:0 -10px} }
.ca-rise{ opacity:0; animation:ca-rise .7s cubic-bezier(.22,.7,.3,1) both; }
/* Schwebe-Animation auf die KARTE (nicht das Bild) — sonst wandert das Cover
   innerhalb der overflow:hidden-Karte hoch und reißt eine weiße Lücke auf. */
.ca-hero-cover{ animation:ca-bob 5s ease-in-out infinite; will-change:translate; }
@media(prefers-reduced-motion:reduce){ .ca-rise{opacity:1;animation:none;} .ca-hero-cover{animation:none;} }

/* "Herz" highlight */
.ca-herz{ position:relative; white-space:nowrap; }
.ca-herz::after{ content:""; position:absolute; left:-3px; right:-3px; bottom:3px; height:11px; border-radius:7px 9px 8px 7px; background:rgba(217,164,65,0.5); z-index:-1; transform:rotate(-0.6deg); }

.cav-home .ca-textlink svg{ transition:transform .22s ease; }
.cav-home .ca-textlink:hover svg{ transform:translateX(4px); }

/* originale + category tile hover */
.cav-orig-card{ transition:transform .15s; }
.cav-orig-card:hover{ transform:translateY(-4px); }
.cav-cat-tile{ transition:filter .15s; }
.cav-cat-tile:hover{ filter:brightness(1.06); }

/* .cav-hcard-Karten-Styles (Titel-Klemmer + Buy/Actions) leben jetzt zentral in
   cav-core/assets/css/cav-shop.css (global geladen → auch Buchberater/Finder). */

/* responsive grids */
.ca-grid4{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.ca-grid6{ display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
@media(max-width:980px){
  .ca-hero{ grid-template-columns:1fr !important; }
  .ca-hero>div:last-child{ min-height:380px !important; order:-1; }
  .ca-grid4{ grid-template-columns:repeat(2,1fr); }
  .ca-grid6{ grid-template-columns:repeat(3,1fr); }
  .ca-entsteht{ grid-template-columns:1fr !important; }
}
@media(max-width:560px){
  .ca-grid4{ grid-template-columns:1fr 1fr; }
  .ca-grid6{ grid-template-columns:1fr 1fr; }
  .cav-hero-h1{ font-size:40px !important; }
  /* Hero covers: shrink to fit the phone column + drop the reserved empty height (was a big gap). */
  .ca-hero > div:last-child{ min-height:0 !important; }
  .ca-hero .ca-cover{ width:118px !important; }
}
@media(max-width:400px){
  .cav-hero-h1{ font-size:34px !important; }
  .ca-hero .ca-cover{ width:104px !important; }
}

/* (.cav-hcard__buy/__actions/__details/__addbtn/__lbl-* → verschoben nach
   cav-core/assets/css/cav-shop.css, damit die Karte überall gleich lädt.) */

/* „Aus dem Magazin"-Grid: 3 Spalten Desktop → 2 Tablet → 1 Mobile (statt fix inline-3er). */
.ca-grid-mag{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media(max-width:980px){ .ca-grid-mag{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px){ .ca-grid-mag{ grid-template-columns:1fr; } }

/* Mobile: Produkt-Showcases der Startseite als horizontaler Swipe-Carousel (wie Amazon-Startseiten-
   Reihen) — eine große Karte im Fokus, die nächste lugt hervor. Ruhig statt gedrängtes 2er-Raster. */
@media(max-width:640px){
  .ca-grid4{
    display:flex; grid-template-columns:none;
    overflow-x:auto; scroll-snap-type:x mandatory;
    gap:14px; margin:0 -20px; padding:2px 20px 12px;
    -webkit-overflow-scrolling:touch; scrollbar-width:none;
  }
  .ca-grid4::-webkit-scrollbar{ display:none; }
  .ca-grid4 > *{ scroll-snap-align:start; flex:0 0 79%; }
}

/* Social-Proof (Amazon, verlinkt — rechtssicher) */
.ca-proof{ background:#fff; border:1px solid rgba(140,136,130,0.16); border-radius:22px; padding:44px 30px; box-shadow:0 20px 46px -30px rgba(42,58,82,0.35); text-align:center; }
.ca-proof__stars{ color:var(--cav-honey); letter-spacing:5px; font-size:26px; line-height:1; margin:14px 0 6px; }
.ca-proof__line{ font-size:17px; color:var(--cav-ink-2); margin:0 0 22px; }
.ca-proof__line strong{ color:var(--cav-navy); }

/* „Warum direkt bei uns?"-Vorteile */
.ca-why-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.ca-why-card{ background:#fff; border:1px solid rgba(140,136,130,0.16); border-radius:18px; padding:26px 20px; box-shadow:0 14px 34px -28px rgba(42,58,82,0.3); text-align:center; }
.ca-why-ic{ font-size:32px; line-height:1; }
.ca-why-card h3{ font-family:'Fredoka',sans-serif; font-weight:600; font-size:18px; color:var(--cav-navy); margin:12px 0 6px; }
.ca-why-card p{ font-size:14.5px; color:var(--cav-ink-2); line-height:1.5; margin:0; }
@media(max-width:900px){ .ca-why-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .ca-why-grid{ grid-template-columns:1fr; } }

/* ---------- Hero-Filmband: endloses Cover-Laufband (weiße Karten) ---------- */
.cav-hero-reel{ position:relative; width:100%; min-width:0; padding:40px 0; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%); }
.cav-hero-reel__track{ display:flex; width:max-content; animation:cav-reel 54s linear infinite; }
.cav-hero-reel:hover .cav-hero-reel__track{ animation-play-state:paused; }
/* Karte = Produktkarten-Cover-Look (wie „Unsere Originale" unten): weiße Karte,
   16px Rand, PDF-Badge oben links, Cover 3:4 mit runden Ecken. */
.cav-hero-reel__card{ flex:none; box-sizing:border-box; position:relative; width:250px; margin-right:18px;
  background:#fff; border:1px solid rgba(140,136,130,0.16); border-radius:16px; padding:16px;
  box-shadow:0 12px 30px -18px rgba(42,58,82,0.3); transition:transform .22s ease; }
.cav-hero-reel__card:hover{ transform:translateY(-6px); }
.cav-hero-reel__card img{ display:block; width:100%; aspect-ratio:3/4; height:auto; object-fit:cover; border-radius:11px; background:var(--cav-cover-bg); }
.cav-hero-reel__pdf{ position:absolute; top:24px; left:24px; z-index:2; display:inline-flex; align-items:center; gap:5px; background:#fff; color:var(--cav-teal); font-size:11px; font-weight:800; padding:5px 11px; border-radius:999px; box-shadow:0 6px 14px -6px rgba(42,58,82,0.4); }
@keyframes cav-reel{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media(prefers-reduced-motion:reduce){ .cav-hero-reel__track{ animation:none; } }
@media(max-width:900px){ .cav-hero-reel__card{ width:190px; } }
