/* ═══════════════════════════════════════════════════════════════════
   Fabbio Soddu Fotografie – PREMIUM LAYER
   Wird NACH main.css geladen und hebt Design/Interaktion an,
   ohne die bestehende Cream-&-Gold-Markenidentität zu ändern.
═══════════════════════════════════════════════════════════════════ */

:root {
  --c-gold-1: #E7CE92;
  --c-gold-2: #C9A96E;
  --c-gold-3: #A07840;
  --grad-gold: linear-gradient(135deg, #E7CE92 0%, #C9A96E 46%, #A07840 100%);
  --ease-lux: cubic-bezier(0.16, 1, 0.3, 1);
  --shadow-xl: 0 30px 80px rgba(44, 26, 14, 0.22);
}

/* ── Feinschliff global ─────────────────────────────────────────── */
html { scroll-behavior: smooth; }
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
::selection { background: rgba(201, 169, 110, 0.35); color: #1A0F05; }

/* Feine Film-Körnung für einen edlen, fotografischen Look */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9990;
  pointer-events: none;
  opacity: 0.035;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; }
}

/* ── HERO: cinematisch ──────────────────────────────────────────── */
.hero-bg {
  transform: scale(1.1);
  animation: kenburns 26s ease-in-out infinite alternate;
}
@keyframes kenburns {
  from { transform: scale(1.1)  translate3d(0, 0, 0); }
  to   { transform: scale(1.18) translate3d(-1.5%, -1.8%, 0); }
}
.hero-overlay {
  background:
    radial-gradient(130% 90% at 50% -10%, rgba(26,15,5,0) 42%, rgba(26,15,5,0.4) 100%),
    linear-gradient(to bottom, rgba(26,15,5,0.28) 0%, rgba(26,15,5,0.34) 45%, rgba(26,15,5,0.74) 100%);
}
.hero-content { animation: none; }
.hero-content > * { opacity: 0; animation: luxeUp 1s var(--ease-lux) forwards; }
.hero-eyebrow  { animation-delay: 0.15s; }
.hero-title    { animation-delay: 0.32s; }
.hero-subtitle { animation-delay: 0.52s; }
.hero-content .btn { animation-delay: 0.72s; }
@keyframes luxeUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }

.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  color: var(--c-gold-1);
  letter-spacing: 0.45em;
  font-weight: 400;
}
.hero-eyebrow::before, .hero-eyebrow::after {
  content: "";
  width: 34px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--c-gold-2));
}
.hero-eyebrow::after { background: linear-gradient(90deg, var(--c-gold-2), transparent); }

.hero-title {
  font-size: clamp(2.9rem, 9vw, 6.5rem);
  letter-spacing: -0.015em;
  text-shadow: 0 6px 44px rgba(0, 0, 0, 0.5);
}
.hero-title em, .hero-title i { font-style: italic; color: var(--c-gold-1); }
@media (min-width: 1200px) { .hero-title { font-size: 6.75rem; } }

.hero-scroll { backdrop-filter: blur(2px); }

/* ── Buttons: Gold-Verlauf + Glanz ──────────────────────────────── */
.btn { position: relative; overflow: hidden; letter-spacing: 0.16em; }
.btn--primary {
  background: var(--grad-gold);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 8px 26px rgba(160, 120, 64, 0.3);
}
.btn--primary:hover {
  background: var(--grad-gold);
  transform: translateY(-2px);
  box-shadow: 0 16px 44px rgba(160, 120, 64, 0.42);
}
.btn--primary::after {
  content: "";
  position: absolute;
  top: 0; left: -130%;
  width: 55%; height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,0.5), transparent);
  transform: skewX(-18deg);
  pointer-events: none;
}
.btn--primary:hover::after { animation: sheen 0.9s var(--ease-lux); }
@keyframes sheen { to { left: 150%; } }
.btn--outline { border-width: 1.5px; }
.btn--outline:hover { box-shadow: 0 10px 30px rgba(160,120,64,0.28); transform: translateY(-1px); }

/* ── Section-Header: Gold-Linien + größere Titel ────────────────── */
.section-eyebrow { display: inline-flex; align-items: center; gap: 0.9rem; }
.section-eyebrow::before, .section-eyebrow::after {
  content: ""; width: 26px; height: 1px; background: var(--c-accent); opacity: 0.55;
}
.section-title { font-size: clamp(1.9rem, 4.6vw, 3rem); letter-spacing: -0.015em; }
.section-divider { background: var(--grad-gold); height: 2px; }

/* ── Galerie-Karten: Premium-Hover ──────────────────────────────── */
.gallery-card {
  border-radius: 14px;
  overflow: hidden;
  background: var(--c-bg-card);
  box-shadow: 0 6px 30px rgba(44, 26, 14, 0.08);
  transition: transform 0.55s var(--ease-lux), box-shadow 0.55s var(--ease-lux);
}
.gallery-card:hover { transform: translateY(-7px); box-shadow: var(--shadow-xl); }
.gallery-card__img-wrap { position: relative; overflow: hidden; }
.gallery-card__img-wrap img { transition: transform 1s var(--ease-lux); }
.gallery-card:hover .gallery-card__img-wrap img { transform: scale(1.09); }
.gallery-card__img-wrap::after {
  content: "";
  position: absolute; inset: 0;
  box-shadow: inset 0 0 0 0 rgba(201,169,110,0);
  transition: box-shadow 0.5s var(--ease-lux);
  pointer-events: none;
}
.gallery-card:hover .gallery-card__img-wrap::after { box-shadow: inset 0 0 0 2px rgba(201,169,110,0.9); }
.gallery-card__hover span { letter-spacing: 0.16em; text-transform: uppercase; font-size: 0.72rem; }
.gallery-card__title { transition: color 0.3s; }
.gallery-card:hover .gallery-card__title { color: var(--c-accent-dark); }

/* ── Blog-/Social-/Liked-Karten: dezenter Lift ──────────────────── */
.blog-teaser-card, .social-card {
  transition: transform 0.45s var(--ease-lux), box-shadow 0.45s var(--ease-lux);
}
.blog-teaser-card:hover, .social-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-xl);
}
.blog-teaser-card__img { overflow: hidden; }
.blog-teaser-card__img img { transition: transform 1s var(--ease-lux); }
.blog-teaser-card:hover .blog-teaser-card__img img { transform: scale(1.07); }
.liked-item__img { overflow: hidden; }
.liked-item__img img { transition: transform 1.1s var(--ease-lux); }
.liked-item:hover .liked-item__img img { transform: scale(1.1); }

/* ── Dunkler CTA: reicher Gold-Glow ─────────────────────────────── */
.section--cta-dark {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(70% 120% at 50% -20%, rgba(201,169,110,0.16), transparent 60%),
    linear-gradient(160deg, #1A0F05 0%, #241608 58%, #160C03 100%);
}
.cta-dark__eyebrow { color: var(--c-gold-1); letter-spacing: 0.4em; }
.cta-dark__divider { background: var(--grad-gold); }
.cta-dark__btn { position: relative; overflow: hidden; letter-spacing: 0.14em; }
.cta-dark__btn:hover { box-shadow: 0 16px 44px rgba(201,169,110,0.28); }

/* ── Scroll-Reveal: geschmeidiger ───────────────────────────────── */
.reveal { opacity: 0; transform: translateY(34px); transition: opacity 1s var(--ease-lux), transform 1s var(--ease-lux); }
.reveal.visible { opacity: 1; transform: none; }
.reveal-lux { opacity: 0; transform: translateY(34px); transition: opacity 1s var(--ease-lux), transform 1s var(--ease-lux); }
.reveal-lux.visible { opacity: 1; transform: none; }

/* ── Nav-Feinschliff im Scroll-Zustand ──────────────────────────── */
.site-header.scrolled { box-shadow: 0 8px 34px rgba(44, 26, 14, 0.1); }

/* ── Footer: Partner-Referenz ───────────────────────────────────── */
.footer-partner {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-text-muted);
  margin-top: 0.75rem;
}
.footer-partner a {
  color: var(--c-accent);
  border-bottom: 1px solid transparent;
  transition: color 0.25s, border-color 0.25s;
}
.footer-partner a:hover { color: var(--c-accent-dark); border-color: var(--c-accent-dark); }
