
:root{--bg:#100d0b;--paper:#f7efe4;--ink:#261d18;--muted:#786a61;--gold:#c69b62;--gold2:#86613f;--line:rgba(198,155,98,.28)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--paper);font-family:Inter,system-ui,sans-serif;overflow-x:hidden}img{max-width:100%;display:block}.site-header{position:fixed;inset:18px 18px auto;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(16,13,11,.62);backdrop-filter:blur(18px)}.logo{font-family:'Cormorant Garamond',serif;font-size:1.55rem;color:#fff;text-decoration:none}.nav{display:flex;gap:8px;align-items:center}.nav a{color:#f7efe4;text-decoration:none;padding:10px 14px;border-radius:999px;font-size:.95rem}.nav a:hover,.nav-cta{background:rgba(255,255,255,.1)}.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:1.5rem}.section{padding:110px 6vw}.hero{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;gap:6vw;align-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 15% 20%,rgba(198,155,98,.18),transparent 32%),linear-gradient(135deg,#100d0b,#211710 58%,#100d0b)}.hero-bg-orb{position:absolute;border-radius:50%;filter:blur(28px);opacity:.45}.hero-bg-orb.one{width:320px;height:320px;background:#7e5030;right:18%;top:17%}.hero-bg-orb.two{width:220px;height:220px;background:#d9b079;left:8%;bottom:8%}.hero-content,.hero-art{position:relative;z-index:2}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-size:.78rem;font-weight:800}.h1,h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;line-height:.95;margin:0 0 20px}h1{font-size:clamp(3.4rem,8vw,7.8rem);max-width:900px}h2{font-size:clamp(2.5rem,5vw,5.2rem)}h3{font-size:2rem}.lead{font-size:1.22rem;line-height:1.8;color:#e3d5c5;max-width:690px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;text-decoration:none;font-weight:800;transition:.25s}.btn.primary{background:linear-gradient(135deg,var(--gold),#f1d19b);color:#20150f}.btn.ghost{border:1px solid var(--line);color:#fff}.btn:hover{transform:translateY(-3px)}.hero-art{min-height:620px}.hero-img{width:min(520px,100%);height:680px;object-fit:cover;border-radius:42% 42% 12% 12%;box-shadow:0 40px 100px rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.15);margin:auto}.floating-card{position:absolute;left:0;bottom:70px;padding:18px 22px;border-radius:24px;background:rgba(247,239,228,.92);color:var(--ink);box-shadow:0 28px 60px rgba(0,0,0,.28)}.floating-card span{display:block;color:var(--gold2);font-size:.8rem;text-transform:uppercase;letter-spacing:.15em}.intro,.categories,.prints,.contact{background:var(--paper);color:var(--ink)}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:start;max-width:1180px;margin:auto}.text-block{font-size:1.12rem;line-height:1.9;color:var(--muted)}.section-head{max-width:980px;margin:0 auto 48px;text-align:center}.section-head p{color:var(--muted);font-size:1.05rem}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1180px;margin:auto}.category-card{min-height:300px;padding:32px;border-radius:34px;background:#fff;color:var(--ink);text-decoration:none;border:1px solid #eadcc8;box-shadow:0 30px 80px rgba(59,42,28,.08);transition:.35s;position:relative;overflow:hidden}.category-card:before{content:'';position:absolute;inset:auto -20% -40% -20%;height:160px;background:radial-gradient(circle,var(--gold),transparent 60%);opacity:.18}.category-card:hover{transform:translateY(-8px)}.category-card span{color:var(--gold2);font-weight:800}.gallery-section,.lineart{background:#15100d}.masonry{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:20px}.art-tile{position:relative;border:0;padding:0;background:none;border-radius:30px;overflow:hidden;cursor:pointer;color:#fff;box-shadow:0 30px 80px rgba(0,0,0,.32)}.art-tile img{width:100%;height:100%;object-fit:cover;transition:.5s}.art-tile:hover img{transform:scale(1.06)}.art-tile span{position:absolute;left:18px;bottom:18px;padding:10px 14px;border-radius:999px;background:rgba(16,13,11,.65);backdrop-filter:blur(10px)}.tall{grid-row:span 2}.wide{grid-column:span 2}.product-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.product{display:grid;grid-template-columns:190px 1fr;gap:22px;background:#fff;border:1px solid #eadcc8;border-radius:30px;overflow:hidden;box-shadow:0 30px 80px rgba(59,42,28,.08)}.product img{width:100%;height:100%;min-height:230px;object-fit:cover}.product div{padding:24px}.product p{color:var(--muted);line-height:1.7}.product strong{color:var(--gold2)}.dark-panel{max-width:1180px;margin:50px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:20px}.dark-panel div{padding:32px;border:1px solid rgba(255,255,255,.12);border-radius:32px;background:rgba(255,255,255,.06)}.contact-card{max-width:860px;margin:auto;text-align:center;background:#fff;border-radius:40px;padding:64px 38px;box-shadow:0 30px 90px rgba(59,42,28,.12)}.contact-card p{color:var(--muted);font-size:1.1rem}.contact-card small{display:block;margin-top:16px;color:var(--muted)}footer{text-align:center;padding:46px 20px;color:#d9c8b8;border-top:1px solid rgba(255,255,255,.1)}footer strong{font-family:'Cormorant Garamond',serif;font-size:2rem;color:#fff}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.86);display:none;align-items:center;justify-content:center;z-index:100;padding:30px}.lightbox.open{display:flex}.lightbox img{max-height:86vh;border-radius:20px}.lightbox button{position:absolute;right:24px;top:20px;background:#fff;border:0;border-radius:50%;width:44px;height:44px;font-size:30px;cursor:pointer}.reveal{opacity:0;transform:translateY(26px);transition:.8s ease}.reveal.visible{opacity:1;transform:none}.delay{transition-delay:.18s}@media(max-width:900px){.nav{display:none;position:absolute;right:0;top:62px;flex-direction:column;background:rgba(16,13,11,.95);padding:16px;border-radius:24px;align-items:stretch}.nav.open{display:flex}.nav-toggle{display:block}.hero,.split,.category-grid,.product-grid,.dark-panel{grid-template-columns:1fr}.hero{padding-top:130px}.hero-art{min-height:auto}.hero-img{height:520px}.masonry{grid-template-columns:1fr 1fr}.product{grid-template-columns:1fr}.section{padding:84px 5vw}}@media(max-width:560px){
  h1{
    font-size:3.1rem;
  }

  .site-header{
    position:fixed;
    top:10px;
    left:10px;
    right:10px;
    bottom:auto;
    inset:10px 10px auto 10px;
  }

  .hero{
    display:block;
    min-height:0 !important;
    height:auto !important;
    padding:120px 20px 70px !important;
    overflow:hidden;
  }

  .hero-content{
    width:100%;
    max-width:100%;
  }

  .hero-content h1{
    font-size:clamp(3rem, 15vw, 4.4rem);
  }

  .hero-art{
    min-height:0 !important;
    height:auto !important;
    margin-top:44px;
  }

  .hero-img{
    width:100% !important;
    max-width:360px !important;
    height:auto !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    border-radius:36px !important;
    margin:0 auto !important;
  }

  .floating-card{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    margin:18px auto 0 !important;
    width:max-content;
    max-width:100%;
  }

  .hero-bg-orb{
    display:none !important;
  }

  .masonry{
    grid-template-columns:1fr;
    grid-auto-rows:330px;
  }

  .wide{
    grid-column:span 1;
  }

  .actions{
    flex-direction:column;
  }

  .btn{
    width:100%;
  }
}


footer .legal-links a{color:#f7efe4;text-decoration:none;border-bottom:1px solid rgba(247,239,228,.35)}
footer .legal-links a:hover{color:var(--gold)}
.legal-main{background:var(--paper);color:var(--ink);padding:140px 6vw 80px;min-height:100vh}
.legal-card{max-width:980px;margin:0 auto;background:#fff;border:1px solid #eadcc8;border-radius:34px;padding:44px;box-shadow:0 30px 80px rgba(59,42,28,.08)}
.legal-card h1{color:var(--ink);font-size:clamp(2.8rem,6vw,5.4rem)}
.legal-card pre{white-space:pre-wrap;font-family:Inter,system-ui,sans-serif;line-height:1.75;color:var(--muted);font-size:1rem}
@media(max-width:560px){.legal-card{padding:28px 20px;border-radius:24px}.legal-main{padding-top:120px}}

.legal-dark-hero section {
    max-width: 900px;
    margin: 0 auto;
    padding: 40px 20px;
}

.datenschutz-page section {
    max-width: 900px;
    margin: 0 auto;
    padding: 40px 20px;
}

.social-links a {
  color: var(--gold);
  font-weight: 700;
  text-decoration: none;
}

.social-links a:hover {
  color: #fff;
}

.legal-dark-hero {
    display: flex;
    justify-content: center;
}

.datenschutz-page {
    display: flex;
    justify-content: center;
}

.cookie-banner{
  position:fixed;
  left:24px;
  right:24px;
  bottom:24px;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  max-width:1120px;
  margin:0 auto;
  padding:22px 24px;
  border:1px solid rgba(234,220,200,.9);
  border-radius:26px;
  background:rgba(255,255,255,.94);
  box-shadow:0 24px 80px rgba(59,42,28,.18);
  backdrop-filter:blur(14px);
}
.cookie-banner.is-visible{display:flex}
.cookie-content strong{
  display:block;
  margin-bottom:6px;
  color:var(--ink,#2d2926);
  font-size:1.05rem;
}
.cookie-content p{
  margin:0;
  color:var(--muted,#756d66);
  line-height:1.55;
}
.cookie-actions{
  display:flex;
  gap:10px;
  flex-shrink:0;
}
.cookie-btn{
  border:0;
  border-radius:999px;
  padding:12px 18px;
  font-weight:700;
  cursor:pointer;
  transition:.2s ease;
}
.cookie-primary{
  background:var(--gold,#8b6f56);
  color:#fff;
}
.cookie-secondary{
  background:#f2eadf;
  color:var(--ink,#2d2926);
}
.cookie-btn:hover{
  transform:translateY(-1px);
}
@media(max-width:720px){
  .cookie-banner{
    flex-direction:column;
    align-items:flex-start;
    left:14px;
    right:14px;
    bottom:14px;
    padding:20px;
  }
  .cookie-actions{
    width:100%;
  }
  .cookie-btn{
    flex:1;
  }
}


/* Einheitliche Rechtseiten */
.legal-hero{
  min-height: 100vh;
  padding: 150px 6vw 80px;
  background:
    radial-gradient(circle at 10% 10%, rgba(194,147,91,.16), transparent 34%),
    radial-gradient(circle at 90% 0%, rgba(118,83,55,.12), transparent 30%),
    var(--paper);
}
.legal-wrap{
  max-width: 1040px;
  margin: 0 auto;
}
.legal-wrap h1{
  margin-bottom: 26px;
}
.legal-panel{
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(194,147,91,.28);
  border-radius: 34px;
  padding: clamp(24px, 4vw, 46px);
  box-shadow: 0 30px 90px rgba(59,42,28,.10);
}
.legal-panel pre{
  white-space: pre-wrap;
  font-family: Inter, system-ui, sans-serif;
  font-size: 1rem;
  line-height: 1.78;
  color: var(--muted);
  margin: 0;
}
footer .legal-links a{
  color: #f7efe4;
  text-decoration: none;
  border-bottom: 1px solid rgba(247,239,228,.35);
}
footer .legal-links a:hover{ color: var(--gold); }

/* DSGVO Cookie Consent */
.cookie-modal[hidden]{display:none!important}
.cookie-modal{
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(18,14,10,.48);
  backdrop-filter: blur(10px);
}
.cookie-box{
  width: min(760px, 100%);
  background: rgba(255,255,255,.96);
  color: var(--ink);
  border: 1px solid rgba(234,220,200,.92);
  border-radius: 32px;
  padding: clamp(24px, 4vw, 38px);
  box-shadow: 0 34px 110px rgba(0,0,0,.28);
}
.cookie-box h2{
  margin: 0 0 10px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.2rem, 5vw, 3.6rem);
}
.cookie-text p:not(.eyebrow){
  color: var(--muted);
  line-height: 1.65;
}
.cookie-options{
  display: grid;
  gap: 12px;
  margin: 24px 0;
}
.cookie-option{
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 16px;
  border: 1px solid rgba(194,147,91,.28);
  border-radius: 20px;
  background: #fffaf2;
}
.cookie-option input{
  margin-top: 5px;
  width: 18px;
  height: 18px;
  accent-color: var(--gold);
}
.cookie-option strong{
  display: block;
}
.cookie-option small{
  display: block;
  color: var(--muted);
  margin-top: 3px;
  line-height: 1.45;
}
.cookie-option.locked{
  opacity: .78;
}
.cookie-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}
.cookie-btn{
  border: 0;
  border-radius: 999px;
  padding: 13px 18px;
  font-weight: 800;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease;
}
.cookie-btn:hover{ transform: translateY(-1px); }
.cookie-primary{
  background: var(--gold);
  color: #21170f;
}
.cookie-secondary{
  background: #efe3d2;
  color: var(--ink);
}
.cookie-settings{
  position: fixed;
  left: 18px;
  bottom: 18px;
  z-index: 9999;
  border: 1px solid rgba(234,220,200,.5);
  border-radius: 999px;
  padding: 10px 14px;
  background: rgba(59,42,28,.88);
  color: #fff;
  font-size: .85rem;
  cursor: pointer;
  box-shadow: 0 14px 45px rgba(0,0,0,.16);
}
@media(max-width:720px){
  .cookie-actions{ flex-direction: column; }
  .cookie-btn{ width: 100%; }
  .legal-hero{ padding-top: 125px; }
}


/* FIX: Impressum & Datenschutz gleiche Optik wie Startseite */
body{
  background: var(--paper) !important;
}

/* Header immer gleich */
.site-header{
  background: transparent !important;
}

/* Legal Seiten Layout angleichen */
.legal-hero{
  background: var(--paper) !important;
}

/* Menü Farben */
.nav a{
  color: var(--ink) !important;
}
.nav a:hover{
  color: var(--gold) !important;
}


/* Aktiver Menüpunkt */
.nav a{
  position: relative;
}

.nav a.is-active::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-7px;
  height:2px;
  border-radius:999px;
  background:var(--gold);
}
.nav a.nav-cta::after{
  display:none;
}




/* Gold-Menü mit animiertem aktiven Unterstrich */
.nav a{
  color: var(--gold) !important;
  position: relative;
  font-weight: 650;
  transition: transform .25s ease, opacity .25s ease, text-shadow .25s ease;
}

.nav a::after{
  content:"";
  position:absolute;
  left:50%;
  right:auto;
  bottom:-8px;
  width:0;
  height:2px;
  border-radius:999px;
  background:var(--gold);
  transform:translateX(-50%);
  opacity:0;
  transition: width .32s ease, height .32s ease, opacity .32s ease;
}

.nav a:hover{
  color: var(--gold) !important;
  opacity: .86;
  transform: translateY(-1px);
  text-shadow: 0 0 18px rgba(194,147,91,.28);
}

.nav a:hover::after{
  width:42%;
  opacity:.55;
}

.nav a.is-active{
  color: var(--gold) !important;
  font-weight: 800;
}

.nav a.is-active::after{
  width:72%;
  height:3px;
  opacity:1;
}

.nav a.nav-cta::after{
  display:block;
}


/* Impressum & Datenschutz exakt im Stil des Kunstwelt-Bereichs */
body.legal-kunstwelt-page{
  background: var(--paper) !important;
}

.legal-kunstwelt-page .site-header{
  background: transparent !important;
}

.legal-kunstwelt-section{
  min-height: 100vh;
  padding-top: 150px;
  align-items: start;
}

.legal-kunstwelt-section .section-copy{
  position: sticky;
  top: 130px;
}

.legal-kunstwelt-card{
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(194,147,91,.24);
  border-radius: 34px;
  padding: clamp(24px,4vw,44px);
  box-shadow: 0 30px 90px rgba(59,42,28,.10);
  backdrop-filter: blur(12px);
}

.legal-kunstwelt-card pre{
  white-space: pre-wrap;
  margin: 0;
  font-family: Inter, system-ui, sans-serif;
  font-size: 1rem;
  line-height: 1.78;
  color: var(--muted);
}

.legal-kunstwelt-page footer{
  margin-top: 0;
}

@media(max-width: 900px){
  .legal-kunstwelt-section{
    padding-top: 125px;
  }
  .legal-kunstwelt-section .section-copy{
    position: static;
  }
}


/* FINAL FIX: Impressum & Datenschutz im gleichen dunklen Look wie Startseite */
body.legal-dark-page{
  background:#17100b !important;
  color:#f8efe5 !important;
}

body.legal-dark-page .site-header{
  background:rgba(22,15,10,.78) !important;
  border-color:rgba(214,178,106,.20) !important;
  backdrop-filter:blur(18px);
}

body.legal-dark-page .logo{
  color:#f8efe5 !important;
}

body.legal-dark-page .nav a{
  color:var(--gold) !important;
}

.legal-dark-hero{
  min-height:100vh;
  padding:150px 6vw 90px;
  background:
    radial-gradient(circle at 12% 78%, rgba(214,178,106,.28), transparent 15%),
    radial-gradient(circle at 76% 22%, rgba(214,178,106,.16), transparent 20%),
    linear-gradient(180deg, rgba(23,16,11,.94), rgba(18,13,9,.98)),
    #17100b !important;
  position:relative;
  overflow:hidden;
}

.legal-dark-hero::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.16;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:100% 7px;
  pointer-events:none;
}

.legal-dark-inner{
  position:relative;
  z-index:1;
  max-width:1120px;
  margin:0 auto;
}

.legal-dark-inner .eyebrow{
  color:var(--gold) !important;
}

.legal-dark-inner h1{
  max-width:900px;
  margin:0 0 18px;
  color:#f8efe5 !important;
  font-size:clamp(4rem,10vw,8rem);
  line-height:.92;
}

.legal-dark-subtitle{
  max-width:720px;
  margin:0 0 42px;
  color:rgba(248,239,229,.82);
  font-size:1.12rem;
  line-height:1.75;
}

.legal-dark-card{
  max-width:980px;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(214,178,106,.26);
  border-radius:34px;
  padding:clamp(24px,4vw,48px);
  box-shadow:0 30px 100px rgba(0,0,0,.28);
  backdrop-filter:blur(16px);
}

.legal-dark-card pre{
  white-space:pre-wrap;
  margin:0;
  font-family:Inter, system-ui, sans-serif;
  font-size:1rem;
  line-height:1.85;
  color:rgba(248,239,229,.82);
}

body.legal-dark-page footer{
  margin-top:0 !important;
  background:#17100b !important;
  color:#f8efe5 !important;
}

body.legal-dark-page footer p{
  color:rgba(248,239,229,.72) !important;
}

@media(max-width:720px){
  .legal-dark-hero{
    padding:125px 22px 70px;
  }
  .legal-dark-inner h1{
    font-size:clamp(3.2rem,16vw,5.8rem);
  }
}


/* FINAL FIX: Unterstrich exakt unter dem Menütext */
.nav a{
  position: relative !important;
  display: inline-block !important;
}

.nav a::after{
  content:"";
  position:absolute;
  left:0 !important;
  right:0 !important;
  bottom:-8px !important;
  width:0;
  height:2px;
  margin:auto;
  border-radius:999px;
  background:var(--gold);
  transform:none !important;
  opacity:0;
  transition:width .32s ease, height .32s ease, opacity .32s ease;
}

.nav a:hover::after{
  width:60%;
  opacity:.55;
}

.nav a.is-active::after{
  width:80%;
  height:3px;
  opacity:1;
}


/* FIX: Footer Links besser sichtbar */
footer{
  color: #e8dccb !important;
}

footer p{
  color: rgba(232,220,203,0.7) !important;
}

footer a{
  color: var(--gold) !important;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(214,178,106,0.4);
  transition: all .2s ease;
}

footer a:hover{
  color: #fff !important;
  border-bottom: 1px solid var(--gold);
}


/* Animierte Galerie im Bereich Handgezeichnete Portraits */
.portrait-showcase{
  overflow:hidden;
}

.portrait-cinematic-gallery{
  perspective: 1200px;
}

.portrait-cinematic-gallery .art-tile{
  will-change: transform;
  transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease, border-color .35s ease, filter .35s ease;
}

.portrait-cinematic-gallery .art-tile::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(135deg, rgba(214,178,106,.22), transparent 36%, rgba(255,255,255,.08));
  opacity:0;
  transition:opacity .35s ease;
}

.portrait-cinematic-gallery .art-tile:hover{
  transform: translateY(-12px) rotateX(2deg) rotateY(-2deg) scale(1.025);
  box-shadow:0 38px 100px rgba(0,0,0,.38);
  border-color:rgba(214,178,106,.75);
  z-index:5;
}

.portrait-cinematic-gallery .art-tile:hover::before{
  opacity:1;
}

.portrait-cinematic-gallery .art-tile img{
  transition: transform .8s cubic-bezier(.2,.8,.2,1), filter .35s ease;
}

.portrait-cinematic-gallery .art-tile:hover img{
  transform:scale(1.08);
  filter:saturate(1.08) contrast(1.04);
}

.portrait-cinematic-gallery .art-tile span{
  z-index:2;
  transition: transform .35s ease, background .35s ease;
}

.portrait-cinematic-gallery .art-tile:hover span{
  transform:translateY(-3px);
  background:rgba(23,16,11,.82);
}

@media (prefers-reduced-motion: reduce){
  .portrait-cinematic-gallery .art-tile,
  .portrait-cinematic-gallery .art-tile img{
    transition:none;
  }
}


/* Neue eigenständige Bereiche: LineArt, Brandmalerei, Lesezeichen */
.category-section{
  padding: clamp(90px, 10vw, 150px) 6vw;
  background: var(--paper);
  color: var(--ink);
}

.category-section.dark-category{
  background:#17100b;
  color:#f8efe5;
}

.category-section.dark-category h2,
.category-section.dark-category h3{
  color:#f8efe5;
}

.category-section.dark-category p{
  color:rgba(248,239,229,.72);
}

.feature-grid{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap: clamp(28px, 5vw, 72px);
  align-items:center;
}

.feature-grid.reverse{
  grid-template-columns:1.1fr .9fr;
}

.feature-copy{
  background:rgba(255,255,255,.70);
  border:1px solid rgba(194,147,91,.22);
  border-radius:34px;
  padding:clamp(24px,4vw,44px);
  box-shadow:0 28px 80px rgba(59,42,28,.10);
}

.feature-copy h3{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(2rem,4vw,3.6rem);
  margin:0 0 14px;
}

.feature-copy p{
  color:var(--muted);
  line-height:1.75;
}

.text-link{
  display:inline-block;
  margin-top:18px;
  color:var(--gold);
  font-weight:800;
  text-decoration:none;
  border-bottom:2px solid rgba(214,178,106,.55);
}

.category-gallery{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}

.category-gallery img{
  width:100%;
  height:360px;
  object-fit:cover;
  border-radius:30px;
  border:1px solid rgba(194,147,91,.22);
  box-shadow:0 30px 90px rgba(59,42,28,.14);
  transition:transform .35s ease, box-shadow .35s ease;
  background:#fff;
}

.category-gallery img:hover{
  transform:translateY(-8px) scale(1.02);
  box-shadow:0 38px 110px rgba(59,42,28,.22);
}

.brand-grid{
  max-width:1180px;
  margin:0 auto;
  grid-template-columns:repeat(4,1fr);
}

.brand-grid img{
  height:340px;
}

@media(max-width: 980px){
  .feature-grid,
  .feature-grid.reverse{
    grid-template-columns:1fr;
  }

  .brand-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width: 560px){
  .category-gallery,
  .brand-grid{
    grid-template-columns:1fr;
  }

  .category-gallery img,
  .brand-grid img{
    height:300px;
  }
}

/* Menü bei vielen Punkten kompakter */
.nav{
  gap: clamp(12px, 1.6vw, 28px);
}

.nav a{
  white-space:nowrap;
}

@media(max-width: 1100px){
  .nav a{
    font-size:.82rem;
  }
}


/* Brandmalerei Galerie – finale echte Bilder */
.brand-grid{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:22px;
}

.brand-grid img{
  width:100%;
  height:360px;
  object-fit:cover;
  border-radius:32px;
  filter:brightness(.94) saturate(.98);
  border:1px solid rgba(214,178,106,.28);
  box-shadow:0 30px 90px rgba(0,0,0,.28);
  transition:transform .45s cubic-bezier(.2,.8,.2,1), filter .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.brand-grid img:hover{
  transform:translateY(-10px) scale(1.035);
  filter:brightness(1.05) saturate(1.05);
  border-color:rgba(214,178,106,.72);
  box-shadow:0 42px 120px rgba(0,0,0,.42);
}

@media(max-width:900px){
  .brand-grid{
    grid-template-columns:repeat(2, 1fr);
  }
}

@media(max-width:560px){
  .brand-grid{
    grid-template-columns:1fr;
  }

  .brand-grid img{
    height:320px;
  }
}


/* LineArt Bereich – finales großes Motiv */
.lineart-feature{
  background:#17100b;
  color:#f8efe5;
}

.lineart-feature h2,
.lineart-feature h3{
  color:#f8efe5;
}

.lineart-feature .section-head p:not(.eyebrow),
.lineart-copy p{
  color:rgba(248,239,229,.72);
}

.lineart-layout{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:clamp(28px,5vw,72px);
  align-items:center;
}

.lineart-image-card{
  overflow:hidden;
  border-radius:36px;
  border:1px solid rgba(214,178,106,.30);
  box-shadow:0 34px 110px rgba(0,0,0,.42);
  background:#fff;
}

.lineart-image-card img{
  width:100%;
  object-fit:cover;
  display:block;
  filter:brightness(.96) saturate(.98);
  transition:transform .7s cubic-bezier(.2,.8,.2,1), filter .35s ease;
}

.lineart-image-card:hover img{
  transform:scale(1.035);
  filter:brightness(1.04) saturate(1.04);
}

.lineart-copy{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(214,178,106,.24);
  border-radius:34px;
  padding:clamp(24px,4vw,44px);
  box-shadow:0 28px 90px rgba(0,0,0,.28);
  backdrop-filter:blur(14px);
}

.lineart-copy h3{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(2rem,4vw,3.6rem);
  margin:0 0 14px;
}

@media(max-width:900px){
  .lineart-layout{
    grid-template-columns:1fr;
  }

  .lineart-image-card img{
    height:520px;
  }
}

@media(max-width:560px){
  .lineart-image-card img{
    height:420px;
  }
}


/* Angebot-Karten: LineArt, Brandmalerei und Lesezeichen getrennt */
.offer-grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:22px;
  max-width:1500px;
  margin:52px auto 0;
}

.offer-card{
  min-height:250px;
  padding:34px 30px;
  border-radius:34px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(194,147,91,.18);
  color:var(--ink);
  text-decoration:none;
  box-shadow:0 26px 80px rgba(59,42,28,.10);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease, background .35s ease;
}

.offer-card span{
  display:block;
  color:var(--gold);
  font-weight:900;
  letter-spacing:.08em;
  margin-bottom:10px;
}

.offer-card h3{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(1.8rem,2.2vw,2.8rem);
  line-height:1;
  margin:0 0 18px;
  color:var(--ink);
}

.offer-card p{
  color:var(--muted);
  line-height:1.55;
  margin:0;
}

.offer-card:hover{
  transform:translateY(-10px);
  border-color:rgba(214,178,106,.58);
  box-shadow:0 38px 110px rgba(59,42,28,.18);
  background:#fff;
}

@media(max-width:1250px){
  .offer-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media(max-width:820px){
  .offer-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:560px){
  .offer-grid{
    grid-template-columns:1fr;
  }

  .offer-card{
    min-height:auto;
  }
}


/* Mockup-Umsetzung: Angebot mit 5 Bild-Karten */
.mockup-offers{
  display:grid !important;
  grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
  gap:18px !important;
  max-width:1500px;
  margin:56px auto 0;
}

.offer-card-image{
  position:relative;
  overflow:hidden;
  min-height:470px;
  display:flex !important;
  flex-direction:column;
  padding:28px !important;
  border-radius:28px !important;
  background:linear-gradient(180deg, #fffaf2 0%, #f5efe5 100%) !important;
  color:var(--ink) !important;
  text-decoration:none;
  border:1px solid rgba(214,178,106,.22);
  box-shadow:0 26px 70px rgba(59,42,28,.13);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.offer-card-image span{
  color:var(--gold);
  font-weight:900;
  letter-spacing:.08em;
  margin-bottom:8px;
}

.offer-card-image h3{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(1.65rem,1.8vw,2.35rem);
  line-height:1;
  margin:0 0 12px;
  color:var(--ink);
}

.offer-card-image p{
  color:var(--muted);
  line-height:1.45;
  margin:0 0 18px;
  min-height:58px;
}

.offer-card-image img{
  width:100%;
  height:230px;
  object-fit:contain;
  margin:auto 0 22px;
  filter:drop-shadow(0 18px 24px rgba(59,42,28,.13));
  transition:transform .5s cubic-bezier(.2,.8,.2,1), filter .35s ease;
}

.offer-card-image em{
  align-self:center;
  font-style:normal;
  background:var(--gold);
  color:#1d140d;
  padding:12px 20px;
  border-radius:999px;
  font-weight:800;
}

.offer-card-image:hover{
  transform:translateY(-10px);
  border-color:rgba(214,178,106,.7);
  box-shadow:0 38px 110px rgba(59,42,28,.22);
}

.offer-card-image:hover img{
  transform:scale(1.05) rotate(-1deg);
  filter:drop-shadow(0 24px 30px rgba(59,42,28,.2));
}

/* Lesezeichen Bereich mit gelieferten Bildern */
.lesezeichen-feature{
  background:var(--paper);
  color:var(--ink);
}

.bookmark-layout{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:clamp(28px,5vw,70px);
  align-items:center;
}

.bookmark-copy{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(194,147,91,.22);
  border-radius:34px;
  padding:clamp(24px,4vw,44px);
  box-shadow:0 28px 80px rgba(59,42,28,.10);
}

.bookmark-copy h3{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(2rem,4vw,3.6rem);
  line-height:1;
  margin:0 0 14px;
}

.bookmark-copy p{
  color:var(--muted);
  line-height:1.75;
}

.bookmark-gallery{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
}

.bookmark-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(194,147,91,.24);
  border-radius:34px;
  background:#fff;
  padding:0;
  cursor:pointer;
  box-shadow:0 30px 90px rgba(59,42,28,.14);
  transition:transform .4s ease, box-shadow .4s ease, border-color .35s ease;
}

.bookmark-card img{
  width:100%;
  height:420px;
  object-fit:cover;
  display:block;
  transition:transform .65s cubic-bezier(.2,.8,.2,1), filter .35s ease;
}

.bookmark-card.wide img{
  height:360px;
}

.bookmark-card span{
  position:absolute;
  left:20px;
  bottom:20px;
  padding:10px 15px;
  border-radius:999px;
  background:rgba(23,16,11,.74);
  color:#f8efe5;
  font-weight:800;
  font-size:.9rem;
  backdrop-filter:blur(10px);
}

.bookmark-card:hover{
  transform:translateY(-8px);
  border-color:rgba(214,178,106,.66);
  box-shadow:0 40px 115px rgba(59,42,28,.22);
}

.bookmark-card:hover img{
  transform:scale(1.04);
  filter:saturate(1.05) contrast(1.03);
}

@media(max-width:1250px){
  .mockup-offers{
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  }
}

@media(max-width:900px){
  .mockup-offers{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
  .bookmark-layout{
    grid-template-columns:1fr;
  }
}

@media(max-width:560px){
  .mockup-offers{
    grid-template-columns:1fr !important;
  }
  .offer-card-image{
    min-height:auto;
  }
  .bookmark-card img,
  .bookmark-card.wide img{
    height:320px;
  }
}


/* Datenschutz Reparatur: Text sichtbar */
.legal-readable{
  min-height:100vh;
  padding:150px 6vw 90px;
}
.legal-readable .legal-dark-inner{
  max-width:1100px;
  margin:0 auto;
}
.legal-readable .legal-dark-card{
  max-width:100%;
}
.legal-readable pre{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  white-space:pre-wrap;
  color:rgba(248,239,229,.84) !important;
  font-family:Inter, system-ui, sans-serif;
  font-size:1rem;
  line-height:1.82;
}


/* FINAL: Datenschutzseite sichtbar und vollständig */
body.datenschutz-visible-page{
  background:#17100b !important;
  color:#f8efe5 !important;
}

.datenschutz-page{
  min-height:100vh;
  padding:150px 6vw 90px;
  background:
    radial-gradient(circle at 18% 18%, rgba(214,178,106,.16), transparent 24%),
    linear-gradient(180deg, #17100b, #120d09);
}

.datenschutz-card{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  max-width:1100px;
  margin:0 auto;
  padding:clamp(26px,4vw,54px);
  border-radius:34px;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(214,178,106,.28);
  box-shadow:0 34px 110px rgba(0,0,0,.32);
  backdrop-filter:blur(16px);
  color:rgba(248,239,229,.86) !important;
}

.datenschutz-card *{
  display:revert;
  visibility:visible !important;
  opacity:1 !important;
}

.datenschutz-card h1{
  display:block !important;
  font-family:"Cormorant Garamond", Georgia, serif;
  color:#f8efe5 !important;
  font-size:clamp(3.4rem,8vw,7rem);
  line-height:.95;
  margin:0 0 32px;
}

.datenschutz-card h2{
  display:block !important;
  font-family:"Cormorant Garamond", Georgia, serif;
  color:#f8efe5 !important;
  font-size:clamp(1.9rem,3vw,3rem);
  margin:38px 0 14px;
}

.datenschutz-card p{
  display:block !important;
  font-family:Inter, system-ui, sans-serif;
  color:rgba(248,239,229,.86) !important;
  font-size:1rem;
  line-height:1.82;
  margin:0 0 18px;
  white-space:normal;
}

.prices {
  background: #17100b;
  color: #f8efe5;
}

.prices .section-head h2 {
  color: #f8efe5;
}

.price-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 28px;
}

.price-card {
  background: rgba(255,255,255,.075);
  border: 1px solid rgba(214,178,106,.28);
  border-radius: 34px;
  padding: clamp(24px, 4vw, 44px);
  box-shadow: 0 34px 110px rgba(0,0,0,.28);
}

.price-card h3 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.3rem, 4vw, 4rem);
  margin: 0 0 26px;
  color: #f8efe5;
}

.price-card h4 {
  margin: 30px 0 14px;
  color: var(--gold);
  font-size: 1.05rem;
  letter-spacing: .04em;
}

.price-card h4 small {
  color: rgba(248,239,229,.65);
  font-weight: 500;
}

.price-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.price-card li {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px 18px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(214,178,106,.16);
}

.price-card li span {
  color: rgba(248,239,229,.86);
}

.price-card li strong {
  color: #f8efe5;
  white-space: nowrap;
}

.price-card li em {
  grid-column: 1 / -1;
  color: rgba(248,239,229,.58);
  font-style: normal;
  font-size: .9rem;
}

@media (max-width: 900px) {
  .price-grid {
    grid-template-columns: 1fr;
  }
}

/* MOBILE FIX: Hero darf unter 560px nicht oval/abgeschnitten werden */
@media (max-width: 560px) {
  .section {
    padding-left: 20px;
    padding-right: 20px;
  }

  .hero {
    min-height: auto !important;
    padding-top: 110px !important;
    padding-bottom: 70px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 42px !important;
    overflow: visible !important;
    border-radius: 0 !important;
  }

  .hero-content,
  .hero-art {
    width: 100% !important;
    max-width: 100% !important;
  }

  .hero-content h1 {
    font-size: clamp(3rem, 14vw, 4.6rem) !important;
  }

  .hero-art {
    min-height: auto !important;
  }

  .hero-img {
    width: 100% !important;
    max-width: 360px !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    border-radius: 34px !important;
  }

  .floating-card {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    margin: 18px auto 0 !important;
    width: fit-content !important;
  }

  .hero-bg-orb {
    display: none !important;
  }
}

/* Cookie-Modal responsive */
@media (max-width: 720px) {
  .cookie-modal {
    align-items: flex-start !important;
    justify-content: center !important;
    padding: 14px !important;
    overflow-y: auto !important;
  }

  .cookie-box {
    width: 100% !important;
    max-width: 100% !important;
    max-height: calc(100vh - 28px) !important;
    overflow-y: auto !important;
    border-radius: 22px !important;
    padding: 22px 18px !important;
  }

  .cookie-box h2 {
    font-size: 2.2rem !important;
  }

  .cookie-actions {
    flex-direction: column !important;
  }

  .cookie-btn {
    width: 100% !important;
  }
}

@media (max-width: 420px) {
  .cookie-box {
    padding: 18px 14px !important;
    border-radius: 18px !important;
  }

  .cookie-option {
    padding: 12px !important;
  }

  .cookie-box h2 {
    font-size: 1.9rem !important;
  }
}

.cookie-modal{
  position: fixed;
  inset: 0;
  z-index: 99999;

  display: flex !important;
  align-items: center;
  justify-content: center;

  padding: 16px;

  background: rgba(18,14,10,.65);
  backdrop-filter: blur(10px);

  overflow-y: auto;
}

.cookie-box{
  width: 100%;
  max-width: 640px;

  max-height: 90vh;
  overflow-y: auto;

  background: rgba(255,255,255,.96);
  color: var(--ink);

  border-radius: 28px;
  padding: 24px;

  box-shadow: 0 34px 110px rgba(0,0,0,.28);

  -webkit-overflow-scrolling: touch;
}

/* MOBILE FIX */
@media (max-width: 560px){

  .cookie-modal{
    align-items: flex-start !important;
    padding: 12px;
  }

  .cookie-box{
    margin-top: 20px;
    max-height: 85vh;
    padding: 20px 16px;
    border-radius: 22px;
  }

  .cookie-actions{
    flex-direction: column;
    gap: 10px;
  }

  .cookie-btn{
    width: 100%;
  }
}

/* ===== FINAL COOKIE FIX SAMSUNG / MOBILE ===== */

.cookie-modal[hidden] {
  display: none !important;
}

.cookie-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  padding: 10px !important;
  background: rgba(18,14,10,.45) !important;
  backdrop-filter: blur(4px) !important;
  overflow: hidden !important;
}

.cookie-box {
  width: 100% !important;
  max-width: 520px !important;
  max-height: 72svh !important;
  overflow-y: auto !important;
  padding: 14px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.97) !important;
  color: var(--ink) !important;
  -webkit-overflow-scrolling: touch !important;
}

.cookie-box h2 {
  font-size: 1.55rem !important;
  line-height: 1.05 !important;
  margin: 0 0 6px !important;
}

.cookie-text p:not(.eyebrow) {
  font-size: .88rem !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}

.cookie-options {
  gap: 8px !important;
  margin: 12px 0 !important;
}

.cookie-option {
  padding: 10px !important;
  border-radius: 14px !important;
  gap: 10px !important;
}

.cookie-option small {
  font-size: .78rem !important;
  line-height: 1.25 !important;
}

.cookie-actions {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}

.cookie-btn {
  width: 100% !important;
  padding: 10px 12px !important;
  font-size: .9rem !important;
}

.cookie-settings {
  z-index: 999998 !important;
}

/* ===== COOKIE MOBILE KOMPAKT FIX ===== */
@media (max-width: 600px) {
  .cookie-modal {
    align-items: center !important;
    justify-content: center !important;
    padding: 8px !important;
    overflow: hidden !important;
  }

  .cookie-box {
    width: calc(100vw - 24px) !important;
    max-width: 390px !important;
    max-height: 76dvh !important;
    overflow-y: auto !important;
    border-radius: 20px !important;
    padding: 16px 14px !important;
  }

  .cookie-box .eyebrow {
    font-size: .62rem !important;
    letter-spacing: .14em !important;
    margin-bottom: 6px !important;
  }

  .cookie-box h2 {
    font-size: 2rem !important;
    line-height: .95 !important;
    margin-bottom: 10px !important;
  }

  .cookie-text p:not(.eyebrow) {
    font-size: .9rem !important;
    line-height: 1.35 !important;
  }

  .cookie-options {
    gap: 8px !important;
    margin: 12px 0 !important;
  }

  .cookie-option {
    padding: 9px 10px !important;
    border-radius: 14px !important;
    gap: 8px !important;
  }

  .cookie-option input {
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
  }

  .cookie-option strong {
    font-size: .9rem !important;
  }

  .cookie-option small {
    font-size: .78rem !important;
    line-height: 1.2 !important;
  }

  .cookie-actions {
    gap: 8px !important;
  }

  .cookie-btn {
    padding: 9px 12px !important;
    font-size: .85rem !important;
  }
}

/* ===== MOBILE HEADER BESSER SICHTBAR ===== */
@media (max-width: 900px) {
  .site-header {
    background: rgba(23, 16, 11, 0.88) !important;
    border: 1px solid rgba(214, 178, 106, 0.35) !important;
    box-shadow: 0 14px 40px rgba(0,0,0,.28) !important;
    backdrop-filter: blur(18px) !important;
  }

  .site-header .logo,
  .nav-toggle {
    color: #f8efe5 !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.45);
  }

  .nav-toggle {
    background: rgba(255,255,255,.08) !important;
    border-radius: 999px !important;
    width: 42px !important;
    height: 42px !important;
  }
}