/*
Theme Name: TAKES
Theme URI: https://andreasusenbenz.de
Author: Andreas Usenbenz
Description: Die Website als aufgeschlagenes Heft. Papiergrund, roter TAKES-Schriftzug, Zeitungsschrift, Hefte zum Durchblättern, Arbeiten als Kontaktabzug. Für WooCommerce und Germanized.
Version: 1.12.6
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: takes
*/

/* ---------- Schriften (lokal, SIL Open Font License) ---------- */
@font-face{font-family:"TAKES Display";font-style:normal;font-weight:900;font-stretch:62%;font-display:swap;src:url(assets/fonts/archivo-condensed-normal-900-latin.woff2) format("woff2");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:"TAKES Display";font-style:normal;font-weight:900;font-stretch:62%;font-display:swap;src:url(assets/fonts/archivo-condensed-normal-900-latin-ext.woff2) format("woff2");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:"Source Serif 4";font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/source-serif-4-normal-400-700-latin.woff2) format("woff2");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:"Source Serif 4";font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/source-serif-4-normal-400-700-latin-ext.woff2) format("woff2");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:"Source Serif 4";font-style:italic;font-weight:400 700;font-display:swap;src:url(assets/fonts/source-serif-4-italic-400-700-latin.woff2) format("woff2");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:"Source Serif 4";font-style:italic;font-weight:400 700;font-display:swap;src:url(assets/fonts/source-serif-4-italic-400-700-latin-ext.woff2) format("woff2");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:"Libre Franklin";font-style:normal;font-weight:400 800;font-display:swap;src:url(assets/fonts/libre-franklin-normal-400-800-latin.woff2) format("woff2");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:"Libre Franklin";font-style:normal;font-weight:400 800;font-display:swap;src:url(assets/fonts/libre-franklin-normal-400-800-latin-ext.woff2) format("woff2");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}

/* ---------- Grundlagen ---------- */
:root{
  --paper:#f4f4f1; --paper-2:#e9e8e3; --ink:#1b1b1a; --ink-2:#686761; --line:#d6d5cf;
  --red:#d43a2c; --red-dark:#b02c20; --sky:#a9d3d9; --sky-ink:#13292c; --table:#d9c4a0;
  --sheet:#121110; --sheet-2:#1d1b19; --sheet-ink:#e9e4da; --grease:#e0412f;
  --display:"TAKES Display","Archivo Narrow","Helvetica Neue Condensed","Arial Narrow",sans-serif;
  --head:"Source Serif 4","Iowan Old Style",Georgia,"Times New Roman",serif;
  --text:"Source Serif 4","Iowan Old Style",Georgia,"Times New Roman",serif;
  --ui:"Libre Franklin","Franklin Gothic Medium","Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --pad:clamp(16px,3.4vw,48px);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.55 var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer;padding:0}
a{color:inherit;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--ink);color:var(--paper);padding:8px 12px;font:600 14px var(--ui)}
.skip:focus{left:8px}
#main:focus{outline:none}
.in{padding-left:max(var(--pad),env(safe-area-inset-left,0px));padding-right:max(var(--pad),env(safe-area-inset-right,0px));max-width:1680px;margin-left:auto;margin-right:auto}
.label{font:600 12px/1.3 var(--ui);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);margin:0}
.lead{font-size:clamp(19px,1.7vw,23px);max-width:36em;margin:0}
.more{font:700 14px var(--ui);text-decoration:none;border-bottom:2px solid var(--red);padding-bottom:2px;white-space:nowrap}
.more:hover{color:var(--red)}
.after{margin:24px 0 0}
.after.big{font-size:20px;max-width:32em;margin-top:32px}
.admin-note{background:#fff3cd;color:#5c4400;padding:10px 14px;font:500 14px var(--ui)}

/* ---------- Kopf ---------- */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:41;background:var(--paper)}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:color-mix(in srgb,var(--paper) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid transparent;transition:border-color .2s}
.admin-bar .top{top:32px}
@media (max-width:782px){.admin-bar .top{top:0}}
.top.scrolled{border-bottom-color:var(--line)}
.top .in{display:flex;align-items:center;gap:20px;height:60px;font:500 14px var(--ui)}
.brand{font:800 13.5px var(--ui);letter-spacing:.09em;text-decoration:none;margin-right:auto;white-space:nowrap}
.brand small{font:italic 400 15px var(--text);letter-spacing:0;color:var(--ink-2);margin-left:10px}
.nav{display:flex;gap:clamp(14px,2.2vw,30px)}
.nav a{text-decoration:none;color:var(--ink-2);padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover{color:var(--ink)}
.nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--red)}
.nav a.takes{color:var(--red);font-weight:700}
.bag{display:flex;align-items:center;gap:8px;font-weight:600;white-space:nowrap;text-decoration:none}
.bag-n{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:var(--ink);color:var(--paper);font-size:12.5px;transition:transform .2s,background .2s}
.bag-n.bump{transform:scale(1.3);background:var(--red)}
.menu-btn{display:none;font-weight:600}

/* ---------- Schriftzug und Überschriften ---------- */
.stage-wrap{padding-top:clamp(8px,1.5vw,20px)}
.word{margin:0;font:900 clamp(96px,23vw,360px)/.76 var(--display);font-stretch:62%;letter-spacing:-.025em;color:var(--red);text-transform:uppercase;white-space:nowrap}
.word .num{color:var(--ink)}
.word-sub{display:flex;justify-content:space-between;gap:8px 20px;flex-wrap:wrap;font:700 14px var(--ui);margin:12px 0 0;padding-bottom:clamp(20px,3vw,36px)}
.word-sub span:last-child{color:var(--ink-2);font-weight:500}
.headline{margin:0;font:700 clamp(56px,9vw,150px)/.92 var(--head);font-variation-settings:"opsz" 60;letter-spacing:-.025em;color:var(--ink);text-wrap:balance}
.headline + .word-sub{margin-top:16px}
.page-head{padding-top:clamp(16px,3vw,40px)}
.stage-wrap .lead{margin:-8px 0 clamp(28px,4vw,48px)}

/* ---------- Bühne ---------- */
.stage{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(22px,4vw,64px);align-items:start;padding-bottom:clamp(40px,6vw,88px)}
.stage > *{min-width:0}
.still img{width:100%}
.viewer{position:relative}
.vframe{position:relative;background:var(--paper-2);overflow:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.vframe img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:opacity .35s ease}
.vframe img.off{opacity:0}
.vframe .hit{position:absolute;top:0;bottom:0;width:35%;z-index:2}
.vframe .hit.l{left:0;cursor:w-resize}.vframe .hit.r{right:0;cursor:e-resize}
.vbar{display:flex;align-items:center;gap:14px;margin-top:12px;font:600 13px var(--ui);flex-wrap:wrap}
.vbar .count{font-variant-numeric:tabular-nums;color:var(--ink-2);min-width:58px}
.vbar .prog{flex:1;height:2px;background:var(--line);position:relative;min-width:40px}
.vbar .prog i{position:absolute;inset:0 auto 0 0;width:0;background:var(--red);transition:width .3s}
.vbtn{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid var(--ink);border-radius:50%;transition:background .15s,color .15s}
.vbtn:hover{background:var(--ink);color:var(--paper)}
.vbtn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}

.vsound{font:600 12.5px var(--ui);color:var(--ink-2);white-space:nowrap;padding:8px 0}
.vsound:hover{color:var(--ink)}
.vsound[aria-pressed="false"]{text-decoration:line-through}
.thumbs{display:flex;gap:6px;margin-top:12px;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}
.thumbs button{flex:none;width:72px;aspect-ratio:3/2;overflow:hidden;opacity:.55;transition:opacity .15s;outline-offset:1px}
.thumbs button img{width:100%;height:100%;object-fit:cover}
.thumbs button[aria-current="true"]{opacity:1;outline:2px solid var(--red)}
.thumbs button:hover{opacity:1}

.side .side-title{margin:4px 0 0;font:700 clamp(36px,3.6vw,54px)/1 var(--head);font-variation-settings:"opsz" 60;letter-spacing:-.015em}
.side .places{font:600 14px var(--ui);color:var(--ink-2);margin:10px 0 22px}
.poem{font-style:italic;font-size:clamp(17px,1.45vw,21px);line-height:1.45;margin:0 0 26px}
.poem p{margin:0 0 .6em}
.buybox{border-top:1px solid var(--ink);padding-top:16px;display:grid;gap:12px}
.buyrow{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap}
.buybox .price,.buybox .price *,.abo-buy .price,.abo-buy .price *{color:inherit!important}
.buybox .price{font:700 28px var(--head);font-variant-numeric:tabular-nums;color:var(--ink)!important}
.buybox .price del{font-size:.65em;color:var(--ink-2);margin-right:6px}
.buybox .price ins{text-decoration:none}
.buybox .legal{font:500 13px/1.5 var(--ui);color:var(--ink-2)}
.buybox .legal p,.buybox .legal div{margin:0}
.buybox .legal a{color:inherit}
.buybox form.cart{margin:0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.buybox form.cart .quantity{display:none}
.cta,.buybox .single_add_to_cart_button,.woocommerce .buybox button.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;background:var(--red);color:#fff;font:700 15px var(--ui);letter-spacing:.01em;text-decoration:none;border:0;border-radius:0;transition:background .15s,transform .1s}
.cta:hover,.buybox .single_add_to_cart_button:hover{background:var(--red-dark);color:#fff}
.cta:active{transform:translateY(1px)}
.cta.line{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.cta.line:hover{background:var(--ink);color:var(--paper)}
.cta.loading{opacity:.7;pointer-events:none}
.specs{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;margin:16px 0 0;font:14px var(--ui)}
.specs dt{color:var(--ink-2)}.specs dd{margin:0}
.stock{display:inline-flex;align-items:center;gap:8px;font:600 13px var(--ui)}
.stock::before{content:"";width:8px;height:8px;border-radius:50%;background:#3d9a5b}
.stock.low::before{background:#e19a1c}
.stock.out::before{background:var(--red)}

/* ---------- Abschnitte ---------- */
.sec{padding-top:clamp(48px,7vw,104px);padding-bottom:clamp(48px,7vw,104px)}
.sec-h{display:flex;justify-content:space-between;align-items:end;gap:12px 24px;flex-wrap:wrap;margin-bottom:clamp(20px,3vw,36px)}
.sec-h h2{margin:0;font:700 clamp(38px,5vw,76px)/.95 var(--head);font-variation-settings:"opsz" 60;letter-spacing:-.02em;text-wrap:balance}
.sec-h p{margin:0;max-width:28em;color:var(--ink-2)}

/* Heft-Reihe */
.issues{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2.4vw,36px)}
.issue{text-decoration:none;display:block;min-width:0}
.issue .cov{aspect-ratio:3/4;overflow:hidden;background:var(--paper-2);box-shadow:0 1px 0 var(--line)}
.issue .cov img{width:100%;height:100%;object-fit:cover}
.issue .meta{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:14px;font:900 clamp(26px,2.4vw,34px)/.95 var(--display);font-stretch:62%;letter-spacing:-.01em;text-transform:uppercase;transition:color .15s}
.issue:hover .meta{color:var(--red)}
.issue .meta span{font:600 14px var(--ui);text-transform:none;color:var(--ink);margin-left:auto}
.issue .sub{font:500 13.5px var(--ui);color:var(--ink-2);margin-top:4px}
.issue.current .cov{outline:2px solid var(--red);outline-offset:5px}
.tag{display:inline-block;font:700 11px var(--ui);letter-spacing:.06em;text-transform:uppercase;background:var(--red);color:#fff;padding:3px 7px;margin-left:8px;align-self:center}
.taxnote{margin:18px 0 0;font:500 13px var(--ui);color:var(--ink-2)}
.taxnote a{color:inherit}
ul.products .takes-card-li{list-style:none}

/* Abo */
.abo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--sky);color:var(--sky-ink)}
.abo > div{padding:clamp(32px,5vw,80px) max(var(--pad),env(safe-area-inset-left,0px));display:flex;flex-direction:column;justify-content:center;gap:18px}
.abo .label{color:inherit}
.abo h2{margin:0;font:700 clamp(40px,5vw,80px)/.95 var(--head);font-variation-settings:"opsz" 60;letter-spacing:-.02em}
.abo ul{margin:0;padding:0;list-style:none;font:600 15px var(--ui);display:grid;gap:6px}
.abo li::before{content:"✓  "}
.abo-buy{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.abo-buy .price{font:700 24px var(--head)}
.abo .cta{background:var(--sky-ink)}
.abo .taxnote{color:inherit;opacity:.75;margin:0}
.abo img{width:100%;height:100%;object-fit:cover;min-height:340px}

/* Fotografie-Teaser */
.intro-photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(20px,4vw,64px);align-items:end;margin-bottom:clamp(24px,3vw,40px)}
.intro-photo .headline{font-size:clamp(52px,7vw,112px)}
.intro-photo p{margin:0;font-size:clamp(22px,2.3vw,32px);line-height:1.25}
.intro-photo p em{color:var(--red)}

/* ---------- Fotogrid: Kontaktbogen, Reihen bündig, gleiche Abstände, kein Hover ---------- */
.film{--gap:clamp(6px,.9vw,12px);--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--grease:#e0412f;background:#121110;color:#e9e4da;padding:clamp(16px,2vw,28px) var(--gap) clamp(20px,2.6vw,32px);position:relative}
.film::before,.film::after{content:"";position:absolute;left:0;right:0;height:7px;background:repeating-linear-gradient(90deg,transparent 0 12px,#2d2a26 12px 22px)}
.film::before{top:4px}.film::after{bottom:4px}
.sheet-edge{display:flex;justify-content:space-between;gap:12px;font:500 10.5px var(--mono);letter-spacing:.18em;color:#8a8378;margin:6px 4px 14px}
.sheet{--row:clamp(180px,26vw,400px);display:flex;flex-wrap:wrap;gap:var(--gap);margin:0;padding:0;list-style:none}
.sheet li{flex:var(--r) 1 calc(var(--r) * var(--row));min-width:0;position:relative}
.sheet.is-justified li{flex:none}
.sheet a{position:relative;display:block;aspect-ratio:var(--r);overflow:hidden;background:#1d1b19;cursor:zoom-in}
.sheet img{width:100%;height:100%;object-fit:cover;display:block}
.sheet .frame-no{position:absolute;left:8px;bottom:6px;font:600 11px/1 var(--mono);letter-spacing:.08em;color:var(--grease);text-shadow:0 1px 2px rgba(0,0,0,.6);pointer-events:none}
.sheet .frame-no i{font-style:normal;margin-inline:4px}
.sheet .frame-exif{display:none}
.sheet.reveal li{opacity:0;transition:opacity .6s;transition-delay:var(--d,0s)}
.sheet.reveal li.shown{opacity:1}
@media (max-width:700px){.sheet{--row:clamp(140px,44vw,240px)}}
@media (prefers-reduced-motion:reduce){.sheet.reveal li{opacity:1;transition:none}}
.sheet-page .lead-prose{margin-bottom:28px}

/* ---------- Journal ---------- */
.journal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px clamp(16px,3vw,40px)}
.post{border-top:1px solid var(--ink);padding-top:14px;text-decoration:none;min-width:0;display:block}
.post img{width:100%;aspect-ratio:3/2;object-fit:cover;margin-bottom:12px}
.post h3{margin:6px 0 8px;font:700 clamp(22px,2vw,28px)/1.15 var(--head);font-variation-settings:"opsz" 40}
.post:hover h3{color:var(--red)}
.post p{margin:0;font-size:16px;color:var(--ink-2)}
.pager{margin-top:40px;font:600 15px var(--ui)}
.pager .nav-links{display:flex;gap:16px;flex-wrap:wrap}
.pager .current{color:var(--red)}

/* Beitrag */
.article-h{padding-top:clamp(24px,4vw,56px);max-width:1100px}
.article-title{font-size:clamp(40px,6vw,92px);margin-top:12px}
.article-img{margin:clamp(24px,4vw,48px) auto 0}
.article-img img{width:100%}
.article-body{max-width:760px;padding-top:clamp(24px,4vw,48px)}
.article-nav{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:40px;padding-bottom:72px;font:600 15px var(--ui);max-width:760px}
.article-nav a{text-decoration:none}
.article-nav a:hover{color:var(--red)}

/* Fließtext */
.prose{max-width:760px}
.prose > *:first-child{margin-top:0}
.prose p,.prose ul,.prose ol{margin:0 0 1.1em}
.prose h2,.prose h3{font-family:var(--head);font-weight:700;line-height:1.1;margin:1.6em 0 .5em}
.prose h2{font-size:32px}.prose h3{font-size:24px}
.prose img,.prose figure{margin:1.6em 0}
.prose blockquote{margin:1.6em 0;padding:0;font:italic 600 clamp(26px,2.6vw,36px)/1.2 var(--head);color:var(--red)}
.prose a{color:var(--ink);text-decoration-color:var(--red);text-decoration-thickness:2px}
.prose-page .prose{padding-bottom:clamp(48px,7vw,96px);padding-top:clamp(16px,2vw,24px)}

/* Manifest */

/* Kontakt */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(24px,5vw,80px);padding-bottom:clamp(48px,7vw,104px);align-items:start}
.contact > *{min-width:0}
.contact .intro{font-size:clamp(22px,2.2vw,30px);line-height:1.3;margin:0}
.wpcf7 form{display:grid;gap:18px}
.wpcf7 form p{margin:0}
.wpcf7 label{display:block;font:600 13px var(--ui);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 textarea{display:block;width:100%;margin-top:6px;background:transparent;border:0;border-bottom:1.5px solid var(--ink);border-radius:0;padding:10px 0;font:400 19px var(--text);color:var(--ink);text-transform:none;letter-spacing:0}
.wpcf7 textarea{min-height:170px;resize:vertical;border:1.5px solid var(--ink);padding:12px}
.wpcf7 input:focus,.wpcf7 textarea:focus{outline:none;border-color:var(--red)}
.wpcf7 .wpcf7-acceptance label,.wpcf7 .wpcf7-list-item label{display:flex;gap:12px;align-items:flex-start;text-transform:none;letter-spacing:0;font:500 14px/1.45 var(--ui);color:var(--ink);cursor:pointer}
.wpcf7 .wpcf7-list-item{margin:0}
.wpcf7 input[type=checkbox],.woocommerce-form__input-checkbox,.wc-block-components-checkbox__input{appearance:none;-webkit-appearance:none;flex:none;width:24px;height:24px;margin:0;border:2px solid var(--ink);background:var(--paper);display:inline-grid;place-items:center;cursor:pointer;border-radius:0}
.wpcf7 input[type=checkbox]:checked,.woocommerce-form__input-checkbox:checked{background:var(--red);border-color:var(--red)}
.wpcf7 input[type=checkbox]:checked::after,.woocommerce-form__input-checkbox:checked::after{content:"";width:6px;height:12px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:translateY(-1px) rotate(45deg)}
.wpcf7 input[type=submit]{justify-self:start;min-height:52px;padding:0 28px;background:var(--red);color:#fff;border:0;border-radius:0;font:700 15px var(--ui);cursor:pointer}
.wpcf7 input[type=submit]:hover{background:var(--red-dark)}
.wpcf7 .wpcf7-spinner{margin-left:12px}
.wpcf7 .wpcf7-not-valid-tip{font:600 13px var(--ui);color:var(--red);margin-top:6px}
.wpcf7 form .wpcf7-response-output{margin:0;padding:12px 14px;border:1.5px solid var(--ink);font:500 14px var(--ui)}

/* ---------- Newsletter + Fuß ---------- */

.foot{background:var(--ink);color:#8d8b85;font:500 13px var(--ui);border-top:1px solid #33322f}
.foot .in{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding-top:22px;padding-bottom:calc(22px + env(safe-area-inset-bottom,0px))}
.foot nav{display:flex;gap:8px 20px;flex-wrap:wrap}
.foot a{text-decoration:none}.foot a:hover{color:var(--paper)}

/* Ausgabenseite */
.inside{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px clamp(16px,3vw,40px)}
.inside > div{border-top:1px solid var(--ink);padding-top:12px}
.inside b{display:block;font:700 clamp(28px,3vw,42px)/1.05 var(--head);font-variation-settings:"opsz" 60;margin:4px 0 6px}
.inside p{margin:0;font-size:16px;color:var(--ink-2)}
.colophon{max-width:38em;font-size:16px;color:var(--ink-2);margin-top:clamp(28px,4vw,48px)}
.colophon p{margin:0 0 .8em}

/* ---------- Vollansicht ---------- */
.lb{position:fixed;inset:0;z-index:90;background:rgba(14,13,12,.97);color:var(--sheet-ink)}
.lb figure{margin:0;height:100%;display:grid;place-items:center;padding:64px clamp(16px,8vw,110px)}
.lb img{max-width:100%;max-height:calc(100vh - 128px);max-height:calc(100dvh - 128px);width:auto;height:auto;object-fit:contain;transition:opacity .25s;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.lb img.swap{opacity:0}
.lb figcaption{position:absolute;left:max(var(--pad),env(safe-area-inset-left,0px));right:max(var(--pad),env(safe-area-inset-right,0px));bottom:calc(22px + env(safe-area-inset-bottom,0px));display:flex;justify-content:space-between;gap:16px;font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#9a958c}
#lb-exif:not(:empty){margin-right:18px;color:var(--sheet-ink)}
#lb-count{color:var(--grease)}
.lb button{position:absolute;color:var(--sheet-ink);transition:color .12s}
.lb button:hover{color:var(--grease)}
.lb .lb-nav{top:50%;transform:translateY(-50%);padding:14px 10px}
.lb .lb-nav svg{display:block;width:60px;height:28px;fill:none;stroke:currentColor;stroke-width:3.5}
.lb .prev{left:clamp(4px,1.5vw,24px)}.lb .next{right:clamp(4px,1.5vw,24px)}
.lb .lb-x{top:calc(18px + env(safe-area-inset-top,0px));right:max(var(--pad),env(safe-area-inset-right,0px));padding:6px 0;font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#9a958c}
@media (max-width:700px){
  .lb figure{padding:56px 8px 96px}
  .lb img{max-height:calc(100dvh - 160px)}
  .lb .lb-nav{top:auto;bottom:44px;transform:none}
  .lb .lb-nav svg{width:48px;height:22px}
  .lb figcaption{bottom:16px}
}
@media (prefers-reduced-motion:reduce){.sheet img,.sheet.reveal li,.lb img{transition:none}.sheet.reveal li{opacity:1;transform:none}}

/* ---------- Tasche ---------- */
.scrim{position:fixed;inset:0;background:rgba(27,27,26,.35);z-index:70;opacity:0;transition:opacity .25s}
.scrim.on{opacity:1}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--paper);z-index:71;transform:translateX(100%);visibility:hidden;transition:transform .32s cubic-bezier(.2,.7,.2,1),visibility 0s .32s;display:flex;flex-direction:column;padding:calc(18px + env(safe-area-inset-top,0px)) max(22px,env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) 22px;font-family:var(--ui)}
.drawer.on{transform:none;visibility:visible;transition:transform .32s cubic-bezier(.2,.7,.2,1);box-shadow:-20px 0 40px -20px rgba(0,0,0,.3)}
.drawer-h{display:flex;justify-content:space-between;align-items:center;font:800 15px var(--ui);text-transform:uppercase;letter-spacing:.04em;padding-bottom:14px;border-bottom:1px solid var(--ink)}
.drawer-h button{font:600 13px var(--ui);text-transform:none;letter-spacing:0}
.drawer-body{flex:1;display:flex;flex-direction:column;min-height:0}
.cart-list{flex:1;overflow-y:auto;margin:0;padding:0;list-style:none}
.cart-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}
.cart-item img{width:64px;height:auto;aspect-ratio:3/4;object-fit:cover}
.cart-item b{display:block;font-size:15px}
.cart-item small{display:block;color:var(--ink-2);font-size:13px}
.cart-item .rm{font-size:12.5px;color:var(--ink-2)}
.cart-item .p{font-weight:700;font-size:15px;font-variant-numeric:tabular-nums}
.cart-empty{padding:40px 0;text-align:center;color:var(--ink-2)}
.cart-empty p{margin:0 0 16px}
.upsell{background:var(--paper-2);padding:12px 14px;margin:14px 0 0;font:500 13.5px var(--ui);display:flex;justify-content:space-between;align-items:center;gap:10px}
.upsell a{font-weight:700;color:var(--red);white-space:nowrap}
.cart-f{border-top:1px solid var(--ink);padding-top:14px;margin-top:14px;display:grid;gap:10px}
.cart-f .taxnote{margin:0;font-size:12.5px}
.sum{display:flex;justify-content:space-between;font-weight:800;font-size:18px;font-variant-numeric:tabular-nums}
.cart-f .cta{width:100%}
.cart-f .more{justify-self:center}

.toast{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));transform:translate(-50%,16px);opacity:0;z-index:95;background:var(--ink);color:var(--paper);padding:12px 18px;font:600 14px var(--ui);transition:.25s;pointer-events:none;max-width:calc(100% - 32px);text-align:center}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* ---------- Warenkorb, Kasse, Konto (WooCommerce) ---------- */
.shop-flow{padding-bottom:clamp(48px,7vw,104px);font-family:var(--ui);font-size:16px}
.shop-flow h2,.shop-flow h3,.shop-flow .wc-block-components-title{font-family:var(--head)!important;font-weight:700!important;letter-spacing:-.01em}
.shop-flow input[type=text],.shop-flow input[type=email],.shop-flow input[type=tel],.shop-flow input[type=password],.shop-flow input[type=number],.shop-flow select,.shop-flow textarea{border-radius:0!important;border-color:var(--ink-2)!important;background:#fff}
.shop-flow .button,.shop-flow button.button,.shop-flow .checkout-button,.shop-flow #place_order,.shop-flow .wc-block-components-button:not(.is-link),.shop-flow .wc-block-cart__submit-button{background:var(--red)!important;color:#fff!important;border-radius:0!important;font:700 15px var(--ui)!important;min-height:52px;padding:0 26px!important;border:0!important}
.shop-flow .button:hover,.shop-flow #place_order:hover,.shop-flow .wc-block-components-button:not(.is-link):hover{background:var(--red-dark)!important}
.shop-flow table.shop_table{border-radius:0;border-color:var(--line)}
.shop-flow a{color:var(--ink)}
.shop-flow .wc-block-components-product-name{font-family:var(--display);font-stretch:62%;font-weight:900;text-transform:uppercase;font-size:22px;text-decoration:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--red)!important;font-family:var(--ui);background:var(--paper-2)!important}
.woocommerce-message::before,.woocommerce-info::before{color:var(--red)!important}

/* ---------- Schmal ---------- */
@media (max-width:900px){
  .stage,.abo,.intro-photo,.contact{grid-template-columns:1fr}
  .issues{grid-template-columns:repeat(2,minmax(0,1fr))}
  .journal,.inside{grid-template-columns:1fr}
  
  .abo img{min-height:240px;max-height:420px}
}
@media (max-width:700px){
  .nav{display:none}
  .nav.open{display:flex;flex-direction:column;position:absolute;top:60px;left:0;right:0;background:var(--paper);padding:10px max(16px,env(safe-area-inset-left,0px)) 18px;border-bottom:1px solid var(--line);gap:4px;font-size:20px}
  .menu-btn{display:block}
  .brand small{display:none}
  .vbar .prog{display:none}
  .thumbs button{width:56px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
.admin-bar .drawer{top:32px}
@media (max-width:782px){.admin-bar .drawer{top:46px}}
.shop-flow .wc-block-components-product-metadata__description,.shop-flow .wc-block-components-product-metadata .wc-block-components-product-details{display:none}
.shop-flow .wc-block-cart-item__product .wc-block-components-product-name{font-size:24px!important;line-height:1!important;color:var(--ink)!important}
@media (max-width:1020px){.brand small{display:none}}

/* ---------- 1.0.3: Kaufbox mit Bezahl-Plugins ---------- */
.buybox{display:flex;flex-direction:column;gap:12px}
.buybox .legal{display:contents}
.buybox .pricerow{order:1}
.buybox .legal > *{order:2;margin:0}
.buybox .actions{order:3;align-items:stretch}
.buybox .legal > :is(.ppc-button-wrapper,[id^="ppc-button"],[id*="express-checkout"],[class*="express-checkout"],.wc-stripe-product-checkout-container,#wc-stripe-payment-request-wrapper,.wcpay-payment-request-wrapper){order:4;margin-top:6px}
.buybox .legal > :is(p,div,span):not(.ppc-button-wrapper){font:500 13px/1.5 var(--ui);color:var(--ink-2)}
.buybox form.cart,.woocommerce div.product .buybox form.cart{margin:0!important;display:flex}
.buybox .actions .cta,.buybox .actions .single_add_to_cart_button{min-height:52px;height:52px;margin:0!important;line-height:1}
.buybox .ppc-button-wrapper{max-width:420px}
.takes-stock{display:inline-flex;align-items:center;gap:8px;font:600 13px var(--ui);color:var(--ink)}
.takes-stock::before{content:"";width:8px;height:8px;border-radius:50%;background:#3d9a5b}
.takes-stock.low::before{background:#e19a1c}
.takes-stock.out::before{background:var(--red)}

/* ---------- 1.0.3: Brevo-Formular ---------- */

/* ---------- 1.1: Vollbild-Auftakt ---------- */
.hero{position:relative;height:100vh;height:100svh;min-height:440px;margin-top:-61px;background:#111;overflow:hidden;color:#fff;isolation:isolate}
.admin-bar .hero{height:calc(100vh - 32px);height:calc(100svh - 32px)}
.hero > img,.hero noscript img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.3s ease}
.hero > img.on,.hero noscript img{opacity:1}
.hero > img.kb{animation:takes-kb 9s ease-out forwards}
@keyframes takes-kb{from{transform:scale(1.06)}to{transform:scale(1)}}
.hero::before{content:"";position:absolute;inset:0 0 auto;height:140px;background:linear-gradient(rgba(0,0,0,.42),transparent);z-index:900;pointer-events:none}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(0,0,0,.6));z-index:900;pointer-events:none}
.hero .hit{position:absolute;top:0;bottom:0;width:50%;z-index:901}
.hero .hit.l{left:0;cursor:w-resize}.hero .hit.r{right:0;cursor:e-resize}
.hero-cap{position:absolute;left:max(var(--pad),env(safe-area-inset-left,0px));right:max(var(--pad),env(safe-area-inset-right,0px));bottom:calc(26px + env(safe-area-inset-bottom,0px));z-index:902;display:flex;justify-content:space-between;align-items:end;gap:16px 28px;flex-wrap:wrap;pointer-events:none}
.hero-cap > *{pointer-events:auto}
.frame-no{font:500 12px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.85);text-shadow:0 1px 2px rgba(0,0,0,.5)}
.frame-no b{color:#ff6a54;font-weight:600;margin-right:10px}
.hero-take{display:flex;align-items:center;gap:14px;text-decoration:none;color:#fff;font:600 14px var(--ui);text-shadow:0 1px 3px rgba(0,0,0,.5)}
.hero-take img{width:44px;height:58px;object-fit:cover;box-shadow:0 6px 18px rgba(0,0,0,.45);transition:transform .2s}
.hero-take:hover img{transform:translateY(-3px)}
.hero-take span{display:grid;line-height:1.3}
.hero-take small{font-weight:500;opacity:.8;font-size:12.5px}
.hero-down{position:absolute;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:902;width:44px;height:44px;border:1px solid rgba(255,255,255,.7);border-radius:50%;color:#fff;display:grid;place-items:center;font:500 18px var(--ui)}
.hero-down:hover{background:#fff;color:var(--ink)}
.hero-prog{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--red);z-index:903}
.hero-prog.run{transition:width linear}
.after-hero{height:clamp(28px,4vw,56px)}
body.has-hero .top{transition:background .25s,border-color .2s,color .25s}
body.has-hero .top:not(.scrolled){background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;color:#fff}
body.has-hero .top:not(.scrolled) .nav a{color:rgba(255,255,255,.85);text-shadow:0 1px 2px rgba(0,0,0,.4)}
body.has-hero .top:not(.scrolled) .nav a.takes{color:#fff;border-bottom-color:var(--red)}
body.has-hero .top:not(.scrolled) :is(.brand,.brand small,.menu-btn,.bag){color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4)}
body.has-hero .top:not(.scrolled) .bag-n{background:#fff;color:var(--ink)}
@media (max-width:700px){.hero-down{display:none}.hero-cap{flex-direction:column;align-items:flex-start}body.has-hero .nav.open a{color:var(--ink);text-shadow:none}}
@media (prefers-reduced-motion:reduce){.hero > img.kb{animation:none}}

/* ---------- 1.1: Newsletter schlank (nur E-Mail) ---------- */

/* ---------- 1.1: Kasse ---------- */
.news-note{color:var(--ink-2)}
.news-note a{color:inherit}

/* ---------- 1.3: Kaufbox-Knöpfe bündig ---------- */
.buybox .actions{justify-content:flex-start;gap:12px}
.buybox .actions > *,.buybox .actions form.cart,.buybox .actions form.cart > *{margin-left:0!important;margin-right:0!important;padding-left:0;float:none!important}
.buybox .actions form.cart .single_add_to_cart_button{padding:0 26px!important}

/* ---------- 1.3: Rezensionen ---------- */
.rating{display:inline-flex;align-items:center;gap:8px;margin:-12px 0 20px;font:600 13px var(--ui);text-decoration:none;color:var(--ink-2)}
.rating .stars{color:var(--red);letter-spacing:2px;font-size:15px}
.rating .stars .off{color:var(--line)}
.rating:hover{color:var(--ink)}
.reviews-sec #reviews{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start;font-family:var(--ui)}
.reviews-sec #reviews > *{min-width:0}
.reviews-sec .woocommerce-Reviews-title{display:none}
.reviews-sec ol.commentlist{list-style:none;margin:0;padding:0}
.reviews-sec ol.commentlist li{border-top:1px solid var(--ink);padding:16px 0 20px;margin:0}
.reviews-sec ol.commentlist li img.avatar{display:none}
.reviews-sec .comment-text{margin:0!important;padding:0!important;border:0!important}
.reviews-sec .comment-text .description p{font:italic 400 clamp(19px,1.7vw,23px)/1.45 var(--text);margin:8px 0 0;color:var(--ink)}
.reviews-sec .comment-text .meta{font:500 13px var(--ui);color:var(--ink-2);margin:6px 0 0}
.reviews-sec .comment-text .meta strong{color:var(--ink)}
.reviews-sec .star-rating{color:var(--red)}
.reviews-sec .woocommerce-noreviews{color:var(--ink-2);margin:0}
.reviews-sec #review_form_wrapper{background:var(--paper-2);padding:clamp(18px,2.4vw,28px)}
.reviews-sec .comment-reply-title{display:block;font:700 24px/1.1 var(--head);margin:0 0 12px}
.reviews-sec .comment-form{display:grid;gap:14px;margin:0}
.reviews-sec .comment-form p{margin:0}
.reviews-sec .comment-form label{display:block;font:600 12px var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-bottom:6px}
.reviews-sec .comment-form :is(input[type=text],input[type=email],textarea){width:100%;background:var(--paper);border:0;border-bottom:1.5px solid var(--ink);border-radius:0;padding:10px 0;font:400 18px var(--text)}
.reviews-sec .comment-form textarea{border:1.5px solid var(--ink);padding:10px;min-height:120px}
.reviews-sec .comment-form-cookies-consent{display:flex;gap:10px;align-items:flex-start;font:500 13px var(--ui)}
.reviews-sec .comment-form-cookies-consent label{text-transform:none;letter-spacing:0;font:500 13px var(--ui);margin:0}
.reviews-sec p.stars a{color:var(--red)!important}
.reviews-sec .form-submit input[type=submit]{min-height:52px;padding:0 26px;background:var(--red);color:#fff;border:0;border-radius:0;font:700 15px var(--ui);cursor:pointer}
.reviews-sec .form-submit input[type=submit]:hover{background:var(--red-dark)}
.reviews-sec .woocommerce-verification-required{font:500 14px var(--ui);color:var(--ink-2)}
@media (max-width:900px){.reviews-sec #reviews{grid-template-columns:1fr}}

/* ---------- 1.3: Warenkorb ---------- */
.flow .page-head .headline{font-size:clamp(44px,6vw,92px)}
.shop-flow .alignwide,.shop-flow .alignfull,.shop-flow .wp-block-woocommerce-cart,.shop-flow .wp-block-woocommerce-checkout{margin-left:0!important;margin-right:0!important;max-width:100%!important;width:auto!important}
.shop-flow .wp-block-woocommerce-cart-cross-sells-block h2,.shop-flow .cross-sells > h2{font:700 clamp(26px,2.6vw,36px)/1.05 var(--head)!important;margin:40px 0 18px}
.shop-flow :is(.wp-block-woocommerce-cart-cross-sells-block,.cross-sells) :is(.wc-block-components-product-rating,.star-rating,.wc-block-grid__product-rating){display:none!important}
.shop-flow :is(.wp-block-woocommerce-cart-cross-sells-block,.cross-sells) :is(.wc-block-components-product-name,.wc-block-grid__product-title,.woocommerce-loop-product__title,h3){font:900 26px/.95 var(--display)!important;font-stretch:62%!important;text-transform:uppercase;color:var(--ink)!important;text-decoration:none}
.shop-flow :is(.wp-block-woocommerce-cart-cross-sells-block,.cross-sells) :is(.wc-block-components-product-price,.price){font:700 18px var(--head)!important;color:var(--ink)!important}
.shop-flow :is(.wp-block-woocommerce-cart-cross-sells-block,.cross-sells) :is(.wp-block-button__link,.wc-block-components-product-button__button,a.button){border-radius:0!important;background:var(--red)!important;color:#fff!important;font:700 14px var(--ui)!important;min-height:46px;padding:0 20px!important;border:0!important}
.shop-flow :is(.wp-block-woocommerce-cart-cross-sells-block,.cross-sells) img{aspect-ratio:3/4;object-fit:cover}
.buybox form.cart::before,.buybox form.cart::after,.buybox .actions::before,.buybox .actions::after{content:none!important;display:none!important}

/* ---------- 1.4: Manifest mit mehreren Bildern ---------- */

.prose .wp-block-image{margin:1.6em 0}
.prose .wp-block-image img{width:100%;height:auto}
.prose .film{margin:2em 0}

/* ---------- 1.5: Manifest mit breitem Querformat ---------- */

.after-hero{scroll-margin-top:61px}
.admin-bar .after-hero{scroll-margin-top:93px}

.frame-no a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5)}
.frame-no a:hover{border-bottom-color:#fff}
.hero-cap .frame-no{pointer-events:auto}

/* 1.7.1: erstes Bild kommt vom Server, das Script blendet darüber */
.hero > .hero-first{position:absolute;inset:0;z-index:0}
.hero > .hero-first img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- 1.7.2: Manifest zweispaltig, Text links, Foto rechts ---------- */
.manifest-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:start;padding-top:clamp(8px,1.6vw,20px);padding-bottom:clamp(48px,7vw,104px)}
.manifest-cols > *{min-width:0}
.manifest-cols .body{max-width:640px}
.manifest-cols .body p{margin:0 0 1.1em}
.manifest-cols .body > p:first-child{font-size:clamp(22px,2.1vw,28px);line-height:1.3}
.manifest-cols .body blockquote{margin:1.4em 0;padding:0;font:italic 600 clamp(26px,2.6vw,38px)/1.15 var(--head);font-variation-settings:"opsz" 60;color:var(--red)}
.manifest-cols .manifest-photo{margin:0;position:sticky;top:84px;justify-self:end;width:100%}
.manifest-cols .manifest-photo img{width:100%;height:auto;display:block}
@media (max-width:900px){.manifest-cols{grid-template-columns:1fr}.manifest-cols .manifest-photo{position:static;order:-1}}

/* ---------- 1.8: Handy ---------- */
/* Kopfzeile sicher über allem, Menü-Knopf mit großer Tippfläche */
.top{z-index:1000}
.menu-btn{min-height:44px;min-width:44px;padding:10px 12px;margin:-10px -4px -10px 0;display:none;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer;position:relative;z-index:2}
.bag{min-height:44px;touch-action:manipulation}
@media (max-width:700px){.menu-btn{display:inline-flex}}
.scrim{z-index:1100}.drawer{z-index:1101}.lb{z-index:1200}.toast{z-index:1300}
/* Auftakt: volle Bildschirmhöhe (iPhone mit schwebender Safari-Leiste), auch unter der Statusleiste */
.hero{height:100vh;height:100lvh}
body.has-hero::before,body.home::before{background:transparent}
/* Kontaktbogen: schwarz, ohne Filmstreifen */
.film::before,.film::after{content:none!important;display:none!important}
.film{padding:var(--gap)}
.sheet-edge{margin:2px 2px 12px}
.admin-bar .hero{height:calc(100vh - 32px);height:calc(100lvh - 32px)}
.hero{margin-top:calc(-61px - env(safe-area-inset-top,0px))}
/* Manifest: erste Texthälfte neben dem Foto, zweite darunter über die volle Breite, zweispaltig */
.manifest-cols{grid-template-areas:"a photo" "b b"}
.manifest-cols .body-a{grid-area:a}
.manifest-cols .manifest-photo{grid-area:photo}
.manifest-cols .body-b{grid-area:b;max-width:none;column-count:2;column-gap:clamp(28px,5vw,80px)}
.manifest-cols .body-b > *{break-inside:avoid}
.manifest-cols .body-b > :first-child{margin-top:0}
.manifest-cols .manifest-photo{position:static}
@media (max-width:900px){.manifest-cols{grid-template-areas:"photo" "a" "b"}.manifest-cols .body-b{column-count:1}}

/* Offenes Menü am Handy: Kopfzeile hell, Schrift dunkel (auch auf der Startseite) */
.top:has(.nav.open){background:var(--paper)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.top:has(.nav.open) :is(.brand,.brand small,.menu-btn,.bag){color:var(--ink)!important;text-shadow:none!important}
.top .nav.open a{color:var(--ink)!important;text-shadow:none!important;padding:10px 0}
.top .nav.open a.takes{color:var(--red)!important}
.top:has(.nav.open) :is(.bag-n,.bag .n){background:var(--ink)!important;color:var(--paper)!important}

/* ---------- 1.8.1 ---------- */
/* Footer immer am unteren Rand, auch auf kurzen Seiten */
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body > main{flex:1 0 auto}
body > .foot{flex-shrink:0}
/* Pfeil nach unten ist ein Link */
a.hero-down{text-decoration:none}
/* Manifest: links Text über die ganze Höhe, rechts Foto und direkt darunter der Rest */
.manifest-cols{grid-template-areas:"a photo" "a b";grid-template-rows:auto 1fr;row-gap:clamp(20px,2.4vw,32px)}
.manifest-cols .body-b{column-count:1;max-width:640px}
.manifest-cols .body p,.manifest-cols .body-b > p:first-child{font-size:inherit;line-height:inherit}
.manifest-cols .body-a > p:first-child{font-size:clamp(22px,2.1vw,28px);line-height:1.3}
@media (max-width:900px){.manifest-cols{grid-template-areas:"photo" "a" "b";grid-template-rows:auto}}
.manifest-cols .body p{font-size:18px;line-height:1.55}
.manifest-cols .body-a > p:first-child{font-size:clamp(22px,2.1vw,28px);line-height:1.3}

/* 1.8.2: Plattform-Icons im Footer */
.foot a.social{display:inline-flex;align-items:center;gap:7px}
.foot .social-icon{width:15px;height:15px;fill:currentColor;flex:none}

/* ---------- 1.10.2 / 1.10.3: Fußzeile fix am unteren Rand, Newsletter offen und kompakt ---------- */
body{padding-bottom:var(--foot-h,64px)}
.foot{position:fixed;left:0;right:0;bottom:0;z-index:50;max-height:88vh;overflow-y:auto;overscroll-behavior:contain;background:var(--ink);box-shadow:0 -1px 0 #33322f}
.foot .in{padding-top:18px}
.foot-news{border-bottom:1px solid #33322f;color:var(--paper)}
.foot .in.foot-news-in{display:grid;justify-content:normal;padding-top:clamp(16px,2vw,28px);padding-bottom:clamp(16px,2vw,28px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,64px);align-items:end}
.foot-news h2{margin:0;font:700 clamp(18px,1.9vw,29px)/1.05 var(--head);font-variation-settings:"opsz" 60;letter-spacing:-.02em;color:var(--paper)}
.foot-news h2 span{color:var(--red)}
.foot-news-text p{margin:12px 0 0;color:#bdbbb4;max-width:26em;font:400 16px/1.45 var(--serif,Georgia,serif)}
.foot-news .tnews{display:grid;gap:14px;margin:0}
.foot-news .news-field{display:flex;gap:0;border-bottom:2px solid var(--paper)}
.foot-news .news-field:focus-within{border-bottom-color:var(--red)}
.foot-news input[type=email]{flex:1;min-width:0;background:transparent;border:0;border-radius:0;padding:14px 0;margin:0;font:500 18px var(--ui);color:var(--paper);box-shadow:none}
.foot-news input[type=email]::placeholder{color:#8d8b85}
.foot-news input[type=email]:focus{outline:none}
.foot-news .tnews-go{background:none;border:0;padding:0 4px;font:700 15px var(--ui);color:var(--paper);cursor:pointer;white-space:nowrap}
.foot-news .tnews-go:hover,.foot-news .tnews-go:focus-visible{color:var(--red);outline:none}
.foot-news .tnews-go:disabled{opacity:.5;cursor:default}
.foot-news .consent{font-size:14px}
.foot-news .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.foot-news .consent{display:flex;gap:12px;align-items:center;font:500 14px/1.4 var(--ui);color:var(--paper);cursor:pointer;text-transform:none;letter-spacing:0}
.foot-news .consent input{flex:none;appearance:none;-webkit-appearance:none;width:17px;height:17px;margin:0;border:1.5px solid #bdbbb4;border-radius:0;background:transparent;display:grid;place-items:center;cursor:pointer;transition:background .15s,border-color .15s}
.foot-news .consent:hover input{border-color:var(--red)}
.foot-news .consent input:checked{background:var(--red);border-color:var(--red)}
.foot-news .consent input:checked::after{content:"";width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.foot-news .consent input:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.foot-news .consent a{color:var(--paper);text-decoration:underline;text-underline-offset:2px}
.foot-news .tnews[data-state=consent] .consent input{border-color:var(--red)}
.tnews-msg{margin:0;min-height:0;font:600 13.5px/1.4 var(--ui);color:#bdbbb4}
.tnews-msg:empty{display:none}
.tnews[data-state=error] .tnews-msg,.tnews[data-state=consent] .tnews-msg{color:#ff8a78}
.tnews[data-state=done] .tnews-msg{color:var(--paper)}
.tnews-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.foot-news .admin-note{margin:0;padding:16px var(--gut,20px);color:#ffcf6b}
@media (max-width:900px){.foot .in.foot-news-in{grid-template-columns:1fr;align-items:start}}
.foot nav{display:flex;gap:8px 20px;flex-wrap:wrap}
.cover-front{display:block;max-width:min(520px,100%);margin:0 auto 0 0}
.cover-front img{width:100%;height:auto;display:block;box-shadow:0 14px 40px rgba(0,0,0,.18)}
/* Telefon und Tablet (auch quer) sowie niedrige Fenster: Fußzeile am Seitenende, nicht fix. */
@media (max-width:760px),(max-height:700px),(hover:none){
  body{padding-bottom:0}
  .foot{position:static;max-height:none;overflow:visible;box-shadow:none}
}
/* Startseite: Fußzeile gleitet erst nach dem Vollbild-Foto herein (nur wo sie fix ist). */
@media (min-width:761px) and (min-height:701px) and (hover:hover){
  html.foot-gate .foot{transform:translateY(100%);visibility:hidden;transition:transform .55s cubic-bezier(.2,.7,.2,1),visibility 0s linear .55s}
  html.foot-gate.foot-in .foot{transform:none;visibility:visible;transition:transform .55s cubic-bezier(.2,.7,.2,1),visibility 0s linear 0s}
}
@media (prefers-reduced-motion:reduce){html.foot-gate .foot,html.foot-gate.foot-in .foot{transition:none}}

/* ---------- 1.11.4: Kaufbox wie im Entwurf ---------- */
.buybox .pricerow{align-items:baseline;gap:6px 16px}
.buybox .price-legal{font:500 13px/1.4 var(--ui);color:var(--ink-2);margin-left:-8px}
.buybox .price-legal a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.buybox .pricerow .takes-stock{align-self:center}
.buybox .actions{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
.buybox .actions .cta,.buybox .actions .cta.line,.buybox .actions .single_add_to_cart_button{box-sizing:border-box;height:52px;min-height:52px;padding:0 24px!important;display:inline-flex;align-items:center;justify-content:center;font:700 15px/1 var(--ui);letter-spacing:.01em;white-space:nowrap;text-decoration:none}
.buybox .actions .cta.line{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.buybox .actions .cta.line:hover{background:var(--ink);color:var(--paper)}
.buybox .specs{margin:2px 0 0;order:5}
.buybox .pay{max-width:420px;order:6}
.buybox .pay > *{margin:0 0 8px}

/* ---------- 1.11.5: Fotohinweis unter dem Manifest-Foto ---------- */
.manifest-photo figcaption{margin-top:10px;font:500 12px/1.4 var(--ui);letter-spacing:.04em;color:var(--ink-2)}

/* ---------- 1.11.6 ---------- */
/* Arbeiten: unter dem Schlusssatz so viel Raum wie am Ende des Manifests */
.after.big{margin-bottom:clamp(48px,7vw,104px)}
/* Vollansicht: zwei Bilder übereinander, das neue blendet erst ein, wenn es ganz geladen ist */
.lb figure > img{grid-area:1/1;transition:opacity .45s ease}
.lb figure > img.swap{opacity:0;pointer-events:none}

/* ---------- 1.11.7: Shop-Kacheln mit Preis und Knopf ---------- */
.issue{display:flex;flex-direction:column;min-width:0}
.issue-link{display:block;text-decoration:none;color:inherit}
.issue-link:hover .meta{color:var(--red)}
.issue:hover .meta{color:inherit}
.issue-link:hover .meta{color:var(--red)}
.issue-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin-top:12px}
.issue-price .price{font:700 20px var(--head);font-variant-numeric:tabular-nums;color:var(--ink)}


.issue-buy{margin-top:10px}
.issue-buy form{margin:0}
.issue-buy .cta{box-sizing:border-box;height:44px;min-height:44px;padding:0 18px;font:700 14px/1 var(--ui);width:100%;display:flex;align-items:center;justify-content:center;text-decoration:none}
.issue-buy .cta.line{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.issue-buy .cta.line:hover{background:var(--ink);color:var(--paper)}
.issue-buy .takes-stock{min-height:44px}
.issue .meta{justify-content:flex-start}
/* ---------- 1.11.9: „Mehr Informationen“ neben „In die Tasche“ ---------- */
.issue-buy{display:flex;flex-wrap:wrap;gap:8px}
.issue-buy > *{flex:1 1 140px;min-width:0}
.issue-buy .cta{padding:0 10px;font-size:13.5px;white-space:nowrap}
.issue-buy .takes-stock{flex:1 1 140px;display:flex;align-items:center}
/* ---------- 1.11.12: Preise nie im WooCommerce-Oliv ---------- */
.issue-price .price,.issue-price .price *,.takes-product .price,.takes-product .price *,.drawer .price,.drawer .amount{color:var(--ink)!important}
/* ---------- 1.11.13 ---------- */
/* Kein Zoom beim Bildwechsel im Auftakt */
.hero > img.kb{animation:none}
/* iPhone: Bildzähler, Pfeil und Fortschritt über Safaris unterer Leiste halten */
@supports (height:100svh){
  .hero-cap{bottom:calc(26px + env(safe-area-inset-bottom,0px) + 100lvh - 100svh)}
  .hero-down{bottom:calc(22px + env(safe-area-inset-bottom,0px) + 100lvh - 100svh)}
  .hero-prog{bottom:calc(100lvh - 100svh)}
}

/* ---------- 1.11.17: weißer Kontaktbogen über die volle Breite, Einzelbilder mit weißem Rand ---------- */
.film.film-white{background:transparent;color:var(--ink);width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:0;padding:0 max(var(--pad),env(safe-area-inset-right,0px)) 0 max(var(--pad),env(safe-area-inset-left,0px));box-sizing:border-box}
.prose .film.film-white{margin-top:2em;margin-bottom:2em}
.film-white .sheet li{background:#fff;padding:8px 8px 0;box-sizing:border-box;box-shadow:0 1px 3px rgba(27,27,26,.08)}
.film-white .sheet a{background:#eceae4}
.film-white .sheet .frame-no{display:none}
.film-white .sheet .frame-exif{display:block;min-height:28px;padding:7px 0 0;font:500 11px/1.3 var(--mono);letter-spacing:.04em;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.takes-photo{margin:2em 0;background:#fff;padding:10px;box-shadow:0 1px 3px rgba(27,27,26,.08)}
.takes-photo a{display:block;cursor:zoom-in}
.takes-photo img{display:block;width:100%;height:auto}
.takes-photo figcaption{display:flex;justify-content:space-between;gap:6px 16px;flex-wrap:wrap;padding:9px 0 0;font:500 11px/1.4 var(--mono);letter-spacing:.04em;color:var(--ink-2)}
.takes-photo figcaption .cap{font:400 14px/1.4 var(--serif,Georgia,serif);letter-spacing:0;color:var(--ink)}
.sheet-page .film.film-white{width:auto;max-width:none;margin-left:0;margin-right:0;padding:0}

/* ---------- 1.11.18 ---------- */
/* Weißer Bogen: reinweißer Rand, Fotos füllen ihr Feld, darunter die Nummer */
.film-white .sheet a{background:#fff}
.film-white .sheet img,.prose .film-white .sheet img{margin:0;width:100%;height:100%;max-width:none;object-fit:cover}
.film-white .sheet .frame-exif{display:none}
.film-white .sheet .frame-cap{display:block;min-height:26px;padding:6px 0 0;font:600 11px/1.3 var(--mono);letter-spacing:.08em;color:var(--red)}
.film-white .sheet .frame-cap i{font-style:normal;margin-inline:4px}
.prose .takes-photo img{margin:0}
/* Vollansicht hell: Papiergrund, Foto mit weißem Rand, schlichte Pfeile */
.lb{background:rgba(244,244,241,.98);color:var(--ink)}
.lb figure > img{background:#fff;padding:clamp(8px,1vw,14px);box-sizing:border-box;box-shadow:0 2px 24px rgba(27,27,26,.12)}
.lb figcaption{color:var(--ink-2)}
#lb-exif:not(:empty){color:var(--ink)}
#lb-count{color:var(--red)}
.lb button,.lb .lb-x{color:var(--ink)}
.lb button:hover{color:var(--red)}
.lb .lb-nav svg{stroke-width:2}
.sec .film.film-white{width:auto;max-width:none;margin-left:0;margin-right:0;padding:0}
/* Vollansicht: alle Angaben rechts (links sitzt die Glocke der Push-Benachrichtigungen) */
.lb figcaption{justify-content:flex-end;text-align:right}
.lb figcaption > span{display:inline-flex;gap:18px;align-items:baseline}
#lb-title:not(:empty){margin-right:18px}
/* ---------- 1.12.1: Startseite unten rechts gebündelt, links Platz für Cookie-Symbol und Brevo-Glocke ---------- */
.hero-cap{justify-content:flex-end;align-items:center;gap:20px;left:auto}
.hero-cap .frame-no{order:0;white-space:nowrap}
.hero-cap .frame-no b{margin-right:0}
.hero-cap .frame-no b + span{margin-left:10px}
.hero-cap .hero-take{order:1}
@media (max-width:700px){.hero-cap{flex-direction:row;align-items:center;justify-content:flex-end;left:auto;gap:14px}.hero-cap .hero-take small{display:none}}
/* ---------- 1.12.2: CCM19-Symbol unten links ausblenden, die Einstellungen öffnet der Link im Footer ---------- */
.ccm-settings-summoner:not(.ccm-settings-summoner--link){display:none!important}
/* ---------- 1.12.4: Widerrufsformular und Widerrufsbutton (Germanized) im TAKES-Look ---------- */
.order-withdrawal-request{display:grid;gap:18px;max-width:640px;margin:0}
.order-withdrawal-request .eu-owb-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}
.order-withdrawal-request .form-row{margin:0;padding:0;width:auto;float:none}
.order-withdrawal-request .form-row-full,.order-withdrawal-request .form-row-wide,.order-withdrawal-request .form-row-submit,.order-withdrawal-request .eu-owb-woocommerce-withdrawal-order-details,.order-withdrawal-request table,.order-withdrawal-request .eu-owb-notice-wrapper{grid-column:1/-1}
.order-withdrawal-request label{display:block;font:600 13px var(--ui);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}
.order-withdrawal-request label .required{color:var(--red);text-decoration:none;border:0}
.order-withdrawal-request label .optional{text-transform:none;letter-spacing:0;font-weight:500}
.order-withdrawal-request input[type=text],.order-withdrawal-request input[type=email],.order-withdrawal-request input[type=tel],.order-withdrawal-request input[type=number],.order-withdrawal-request textarea,.order-withdrawal-request select{display:block;width:100%;margin-top:6px;background:transparent;border:0;border-bottom:1.5px solid var(--ink);border-radius:0;padding:10px 0;font:400 17px/1.4 var(--serif,Georgia,serif);color:var(--ink);box-shadow:none}
.order-withdrawal-request textarea{min-height:140px;resize:vertical;border:1.5px solid var(--ink);padding:12px}
.order-withdrawal-request input:focus,.order-withdrawal-request textarea:focus,.order-withdrawal-request select:focus{outline:none;border-color:var(--red)}
.order-withdrawal-request .checkbox,.order-withdrawal-request label.woocommerce-form__label-for-checkbox{display:flex;gap:12px;align-items:flex-start;text-transform:none;letter-spacing:0;font:500 15px/1.45 var(--ui);color:var(--ink);cursor:pointer}
.order-withdrawal-request mark{background:none;color:var(--ink);font-weight:700}
.order-withdrawal-request table{width:100%;border-collapse:collapse;font:500 15px var(--ui)}
.order-withdrawal-request th{text-align:left;font:700 11px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);padding:8px 8px 8px 0;border-bottom:1.5px solid var(--ink)}
.order-withdrawal-request td{padding:12px 8px 12px 0;border-bottom:1px solid var(--line);vertical-align:middle}
.order-withdrawal-request .quantity input{width:64px;text-align:center}
.order-withdrawal-request .hidden{display:none}
.order-withdrawal-request button[type=submit],.eu-owb-order-withdraw-from-contract-button a{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;background:var(--red)!important;color:#fff!important;border:0;border-radius:0;font:700 15px var(--ui);letter-spacing:.01em;text-decoration:none;cursor:pointer;box-shadow:none}
.order-withdrawal-request button[type=submit]:hover,.eu-owb-order-withdraw-from-contract-button a:hover{background:var(--red-dark,#b32f23)!important}
.eu-owb-order-withdraw-from-contract-button{text-align:left!important;margin:1.4em 0}
.order-withdrawal-request .woocommerce-info,.order-withdrawal-request .woocommerce-error,.order-withdrawal-request .woocommerce-message{margin:0;padding:14px 16px;border:0;border-left:3px solid var(--red);background:#fff;color:var(--ink);font:500 15px/1.5 var(--ui);list-style:none}
@media (max-width:640px){.order-withdrawal-request .eu-owb-form-fields{grid-template-columns:1fr}}
/* ---------- 1.12.6: Knöpfe im Warenkorb-Block (leerer Warenkorb „New in store“, Cross-Sells) im TAKES-Look ---------- */
.wp-block-woocommerce-cart .wp-block-button__link,
.wp-block-woocommerce-cart .wc-block-components-product-button a,
.wp-block-woocommerce-cart a.add_to_cart_button,
.wp-block-woocommerce-cart a.added_to_cart,
.wp-block-woocommerce-cart .wc-block-grid__product .wp-block-button__link {
  background:var(--red)!important;
  color:#fff!important;
  border:0!important;
  border-radius:0!important;
  font:700 14px var(--ui)!important;
  letter-spacing:.01em;
  box-shadow:none!important;
  padding:12px 20px!important;
  min-height:44px;
  display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none;
}
.wp-block-woocommerce-cart .wp-block-button__link:hover,
.wp-block-woocommerce-cart a.add_to_cart_button:hover,
.wp-block-woocommerce-cart .wc-block-components-product-button a:hover{
  background:var(--red-dark,#b32f23)!important;color:#fff!important;
}
/* „added_to_cart“ (Warenkorb ansehen) als Umriss, damit es sich vom roten Hauptknopf abhebt */
.wp-block-woocommerce-cart a.added_to_cart{
  background:transparent!important;color:var(--ink)!important;border:1px solid var(--ink)!important;
}
.wp-block-woocommerce-cart a.added_to_cart:hover{background:var(--ink)!important;color:var(--paper)!important;}
