/*
Theme Name: ZeilenWIND Verlag
Theme URI: https://www.zeilenwindverlag.com/
Author: ZeilenWIND Verlag
Author URI: https://www.zeilenwindverlag.com/
Description: Editoriales Custom-Theme fuer den Literatur- und Musikverlag ZeilenWIND: Fraunces-Display-Typografie mit warmer Papier-Optik, ein Hero mit getrennten Pfaden fuer Literatur und Musik, ein filterbarer Programm-Katalog (Buecher/Musik) mit WooCommerce-Anbindung, Presse-, Autoren- und Verlagsbereich sowie eine DSGVO-bewusste, spamgeschuetzte Kontaktseite (Nonce, Honeypot, Rate-Limit, optional reCAPTCHA v3). Enthaelt umfassendes SEO/LLM-Setup: Meta-/OG-/Twitter-Tags mit echtem Social-Share-Bild, JSON-LD fuer Organization, BreadcrumbList, Book/MusicAlbum/Offer (Produktseiten) und Person (Autor:innen), Sitemap-Verweis in robots.txt sowie einen dynamischen llms.txt-Endpunkt mit echten Produktdaten fuer KI-Crawler.
Version: 1.5.1
Requires at least: 6.0
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: zeilenwind
*/

:root{
  --ink:#1c1b19;
  --paper:#f7f1e4;
  --paper-2:#efe4c9;
  --gold:#b8863f;
  --gold-dark:#8a5f24;
  --petrol:#2f6f6a;
  --petrol-dark:#1d4a46;
  --plum:#7a2f43;
  --line:#ddd0ac;
  --muted:#726a56;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:'Iowan Old Style','Georgia',serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  position:relative;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:0.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.sans{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;}
.display{font-family:'Fraunces',serif;}
a{color:inherit;text-decoration:none;}
svg{display:block;}
img{max-width:100%;}
.wrap{max-width:1140px;margin:0 auto;padding:0 32px;position:relative;z-index:2;}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;position:absolute!important;word-wrap:normal!important;}

header.site-header{
  position:sticky;top:0;z-index:20;
  background:rgba(247,241,228,0.94);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0;flex-wrap:wrap;gap:12px;}
.logo{display:flex;flex-direction:column;line-height:1.15;}
.logo .name{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:23px;}
.logo .name b{color:var(--gold-dark);font-style:normal;}
.logo .tag{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);}
.main-nav ul{display:flex;gap:30px;list-style:none;flex-wrap:wrap;}
.main-nav ul li a{font-size:13px;letter-spacing:0.3px;position:relative;padding-bottom:3px;}
.main-nav ul li a:hover{border-bottom:1px solid var(--gold-dark);}
.main-nav ul li a.cart-icon-link{position:relative;display:inline-flex;align-items:center;padding-bottom:0;}
.main-nav ul li a.cart-icon-link:hover{border-bottom:none;color:var(--gold-dark);}
.cart-count{
  position:absolute;top:-9px;right:-11px;background:var(--gold-dark);color:#fff;
  font-size:10px;line-height:1;padding:3px 5px;border-radius:10px;font-family:sans-serif;min-width:8px;text-align:center;
}
.cta-btn{
  background:var(--ink);color:var(--paper);
  padding:10px 20px;border-radius:2px;font-size:13px;letter-spacing:0.4px;
}

.divider{width:100%;height:20px;display:block;}
.divider path{fill:none;stroke:var(--line);stroke-width:1.4;}

.hero{padding:76px 0 50px;}
.hero-eyebrow{
  text-transform:uppercase;font-size:12px;letter-spacing:3px;color:var(--muted);
  margin-bottom:20px;font-family:inherit;
}
.hero h1{
  font-family:'Fraunces',serif;font-weight:440;font-size:52px;line-height:1.14;
  margin-bottom:26px;max-width:760px;
}
.hero h1 em{font-style:italic;font-weight:560;color:var(--gold-dark);}
.hero h1 em.mus{color:var(--petrol-dark);}
.hero p.lead{font-size:17px;color:var(--muted);max-width:560px;margin-bottom:36px;}

.hero-paths{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:660px;}
.path-card{
  border:1px solid var(--line);padding:24px 22px 22px;background:#fffdf7;
  display:flex;gap:16px;align-items:flex-start;position:relative;
}
.path-card.lit{clip-path:polygon(0 0,100% 0,100% 100%,52% 88%,0 100%);padding-bottom:34px;}
.path-card.mus{border-radius:6px;}
.path-card .icon{width:40px;height:40px;flex:none;display:flex;align-items:center;justify-content:center;}
.path-card.lit .icon{color:var(--gold-dark);}
.path-card.mus .icon{color:var(--petrol-dark);}
.path-card .icon svg{animation:spin 9s linear infinite;}
.path-card.lit .icon svg{animation:none;}
@keyframes spin{to{transform:rotate(360deg);}}
.path-card h3{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:19px;margin-bottom:5px;}
.path-card p{font-size:13px;color:var(--muted);margin:0;}
.path-card .go{font-size:12px;margin-top:10px;display:inline-block;font-family:sans-serif;letter-spacing:0.3px;}
.path-card.lit .go{color:var(--gold-dark);}
.path-card.mus .go{color:var(--petrol-dark);}

section{padding:60px 0;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:34px;gap:20px;flex-wrap:wrap;}
.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:3px;color:var(--muted);margin-bottom:12px;}
h2{font-family:'Fraunces',serif;font-weight:440;font-size:30px;}
.see-all{font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:2px;white-space:nowrap;font-family:sans-serif;}

.manifesto{background:var(--ink);color:var(--paper);position:relative;overflow:hidden;padding:90px 0;}
.manifesto .bigquote{
  position:absolute;top:-40px;left:50%;transform:translateX(-50%);font-family:'Fraunces',serif;
  font-size:260px;color:#2c2a24;line-height:1;user-select:none;z-index:0;
}
.manifesto blockquote{
  position:relative;z-index:1;max-width:740px;margin:0 auto;text-align:center;
  font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:32px;line-height:1.42;
}
.manifesto blockquote em{color:#e0b978;font-style:italic;}
.manifesto blockquote em.mus{color:#79c3bb;}
.manifesto .cite{
  position:relative;z-index:1;text-align:center;margin-top:26px;font-size:12px;letter-spacing:2px;
  text-transform:uppercase;color:#9a927c;font-family:sans-serif;
}

.tabs{display:flex;gap:8px;margin-bottom:34px;}
.tab-btn{
  font-family:sans-serif;font-size:13px;letter-spacing:0.3px;background:transparent;
  border:1px solid var(--line);padding:8px 18px;border-radius:20px;cursor:pointer;color:var(--muted);
}
.tab-btn.active{background:var(--ink);color:var(--paper);border-color:var(--ink);}

.catalog-grid{
  display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:120px;gap:22px;grid-auto-flow:dense;
}
.cat-card{
  background:#fffdf7;border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;
  transition:transform 0.25s ease, box-shadow 0.25s ease;
}
.cat-card:hover{transform:rotate(-0.6deg) translateY(-3px);box-shadow:0 14px 26px rgba(28,27,25,0.14);}
.cat-card.feature{grid-column:span 2;grid-row:span 3;flex-direction:row;}
.cat-card.feature .cover{width:46%;}
.cat-card.feature .cat-body{width:54%;justify-content:center;}
.cat-card:not(.feature){grid-row:span 3;}
.cat-card .cover{
  flex:1;background:var(--paper-2);position:relative;overflow:hidden;
}
.cat-card .cover img{width:100%;height:100%;object-fit:cover;display:block;}
.tape{
  position:absolute;top:-8px;right:18px;width:52px;height:20px;background:rgba(184,134,63,0.35);
  transform:rotate(4deg);box-shadow:0 1px 2px rgba(0,0,0,0.08);
}
.cat-tag{
  position:absolute;bottom:10px;left:10px;font-size:10px;letter-spacing:0.6px;text-transform:uppercase;
  padding:4px 10px;border-radius:12px;font-family:sans-serif;background:rgba(255,253,247,0.92);
}
.cat-tag.book{color:var(--gold-dark);border:1px solid var(--gold);}
.cat-tag.music{color:var(--petrol-dark);border:1px solid var(--petrol);}
.cat-body{padding:16px 18px 18px;flex:1;display:flex;flex-direction:column;}
.cat-body h3{font-family:'Fraunces',serif;font-weight:500;font-size:16px;margin-bottom:4px;}
.cat-card.feature .cat-body h3{font-size:22px;font-style:italic;}
.cat-body .by{font-size:12px;color:var(--muted);margin-bottom:10px;font-family:sans-serif;}
.cat-body .price{font-size:14px;color:var(--gold-dark);margin-top:auto;margin-bottom:10px;font-family:sans-serif;}
.stock{display:inline-block;font-size:11px;padding:3px 9px;border-radius:12px;margin-bottom:10px;width:fit-content;font-family:sans-serif;}
.stock.ok{background:#e4ede1;color:#3d5c34;}
.stock.pre{background:#f1e6d3;color:var(--gold-dark);}
.cat-body a.buy{font-size:12px;border:1px solid var(--ink);padding:8px 14px;border-radius:2px;text-align:center;font-family:sans-serif;width:fit-content;}
.placeholder-card{
  border:1px dashed var(--line);background:transparent;
  display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;
}
.placeholder-card .inner{color:var(--muted);font-size:13px;font-family:sans-serif;}
.placeholder-card .inner b{display:block;color:var(--ink);font-size:15px;margin-bottom:6px;font-weight:500;font-family:'Fraunces',serif;font-style:italic;}

.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding-top:6px;}
.person-card{background:#fffdf7;border:8px solid #fffdf7;box-shadow:0 10px 22px rgba(28,27,25,0.14);padding-bottom:14px;}
.person-card:nth-child(1){transform:rotate(-2.5deg);}
.person-card:nth-child(2){transform:rotate(1.5deg);}
.person-card:nth-child(3){transform:rotate(-1deg);}
.person-photo{width:100%;aspect-ratio:1;background:var(--paper-2);margin-bottom:14px;
  display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--muted);text-align:center;font-family:sans-serif;}
.person-card .name{font-family:'Fraunces',serif;font-style:italic;font-size:18px;margin-bottom:2px;text-align:center;}
.person-card .role{font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;text-align:center;font-family:sans-serif;}
.person-card.lit .role{color:var(--gold-dark);}
.person-card.mus .role{color:var(--petrol-dark);}
.person-card p{font-size:13px;color:var(--muted);padding:0 14px;text-align:center;}
.person-card.placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(0.5deg);}
.person-card.placeholder .person-photo{border:1px dashed var(--line);background:transparent;}

.verlag-intro{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;margin-bottom:44px;align-items:start;}
.verlag-intro p{font-size:16px;color:var(--muted);margin-bottom:16px;max-width:520px;}
.verlag-intro .pull{font-family:'Fraunces',serif;font-style:italic;font-size:22px;color:var(--ink);line-height:1.5;}
.verlag-intro .pull em{color:var(--petrol-dark);font-style:italic;}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.service-card{background:#fffdf7;border:1px solid var(--line);padding:24px 22px;}
.service-card h3{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:17px;margin-bottom:8px;}
.service-card p{font-size:13px;color:var(--muted);margin:0;}
.verlag-cta{margin-top:44px;border-top:1px solid var(--line);padding-top:32px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.verlag-cta p{font-family:'Fraunces',serif;font-style:italic;font-size:18px;max-width:480px;margin:0;}

.press{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.press-quote{background:#fffdf7;border:1px solid var(--line);padding:26px 24px;position:relative;}
.press-quote::before{
  content:"\201C";font-family:'Fraunces',serif;font-size:56px;color:var(--paper-2);position:absolute;top:4px;left:14px;z-index:0;
}
.press-quote p{position:relative;z-index:1;font-family:'Fraunces',serif;font-style:italic;color:var(--ink);margin-bottom:14px;font-size:15px;}
.press-quote .src{font-size:12px;color:var(--muted);font-family:sans-serif;}

.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.contact-info p{font-size:15px;color:var(--muted);margin-bottom:18px;max-width:420px;}
.contact-info .badge{
  display:inline-block;font-size:12px;background:var(--paper-2);color:var(--gold-dark);
  padding:6px 14px;border-radius:20px;margin-bottom:22px;font-family:sans-serif;
}
.contact-form{background:#fffdf7;border:1px solid var(--line);padding:32px;}
.contact-form .field{margin-bottom:20px;}
.contact-form label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px;font-family:sans-serif;}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea{
  width:100%;border:1px solid var(--line);background:#fff;padding:11px 12px;font-size:14px;
  font-family:inherit;color:var(--ink);border-radius:2px;
}
.contact-form textarea{min-height:130px;resize:vertical;}
.contact-form .consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--muted);font-family:sans-serif;}
.contact-form .consent input{margin-top:3px;}
.contact-form button{
  background:var(--ink);color:var(--paper);border:none;padding:13px 28px;font-size:14px;
  letter-spacing:0.4px;border-radius:2px;cursor:pointer;font-family:sans-serif;
}
.contact-form button:hover{background:var(--gold-dark);}
.hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;}
.form-notice{padding:14px 16px;border-radius:2px;font-size:14px;margin-bottom:22px;font-family:sans-serif;}
.form-notice.success{background:#e4ede1;color:#3d5c34;border:1px solid #b9d1ac;}
.form-notice.error{background:#f7e3e1;color:#8a3a2f;border:1px solid #e2b3ab;}

footer.site-footer{background:var(--ink);color:var(--paper);padding:56px 0 28px;}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:40px;}
.site-footer h4{font-size:13px;letter-spacing:1px;margin-bottom:16px;color:#cfc6ab;font-weight:500;text-transform:uppercase;font-family:sans-serif;}
.site-footer p, .site-footer li{color:#b9b1a0;font-size:14px;margin-bottom:8px;list-style:none;font-family:sans-serif;}
.site-footer a:hover{color:#fff;}
.foot-bottom{border-top:1px solid #3a382f;padding-top:22px;font-size:12px;color:#8a8474;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-family:sans-serif;}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price{color:var(--gold-dark);font-family:sans-serif;}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce #respond input#submit,
.woocommerce input.button,
.woocommerce-message a.button{
  background:var(--ink);color:var(--paper)!important;border-radius:2px;font-family:sans-serif;
  border:none;padding:10px 20px;letter-spacing:0.3px;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{background:var(--gold-dark);color:#fff!important;}
.woocommerce span.onsale{background:var(--gold-dark);}
.woocommerce-message,.woocommerce-info{border-top-color:var(--gold-dark);}
.woocommerce-message::before,.woocommerce-info::before{color:var(--gold-dark);}
.cat-body .added_to_cart,
.cat-body a.button.product_type_simple{font-size:12px;border:1px solid var(--ink);padding:8px 14px;border-radius:2px;font-family:sans-serif;display:inline-block;margin-top:4px;}
.cat-body a.button.added{display:none;}

@media (max-width:900px){
  .hero-paths{grid-template-columns:1fr;}
  .catalog-grid{grid-template-columns:repeat(2,1fr);}
  .cat-card.feature{grid-column:span 2;flex-direction:column;}
  .cat-card.feature .cover,.cat-card.feature .cat-body{width:100%;}
  .people-grid,.press,.foot-grid,.service-grid,.verlag-intro,.contact-wrap{grid-template-columns:1fr;}
  .hero h1{font-size:36px;}
  .manifesto blockquote{font-size:24px;}
  .manifesto .bigquote{font-size:160px;}
}

/* Cookie-Consent-Banner */
.zw-cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:9999;
  background:var(--ink);color:var(--paper);
  box-shadow:0 -6px 24px rgba(0,0,0,0.25);
}
.zw-cookie-banner[hidden]{display:none;}
.zw-cookie-inner{
  max-width:1100px;margin:0 auto;padding:18px 24px;
  display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;justify-content:space-between;
}
.zw-cookie-inner p{margin:0;font-size:14px;line-height:1.5;color:var(--paper);max-width:720px;flex:1 1 320px;}
.zw-cookie-inner a{color:var(--gold);text-decoration:underline;}
.zw-cookie-actions{display:flex;gap:10px;flex:0 0 auto;}
.zw-cookie-actions button{
  font-family:sans-serif;font-size:13px;padding:10px 18px;border-radius:2px;border:1px solid var(--paper);
  background:transparent;color:var(--paper);cursor:pointer;white-space:nowrap;
}
#zw-cookie-all{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:600;}
.zw-cookie-actions button:hover{opacity:0.85;}
@media (max-width:640px){
  .zw-cookie-inner{flex-direction:column;align-items:stretch;}
  .zw-cookie-actions{justify-content:stretch;}
  .zw-cookie-actions button{flex:1;}
}
.person-photo img{width:100%;height:100%;object-fit:cover;display:block;}
