/* ==========================================================
   Giantess Fiction – Beyond Scale
   Schwarzes Leder · Dunkelrot · Gold
   ========================================================== */

@font-face{font-family:"Anton";src:url(../fonts/anton-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(../fonts/source-serif-4-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(../fonts/source-serif-4-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(../fonts/source-serif-4-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}

:root{
	--leather:#0b0a0a; --coal:#141010; --wine:#4a0b10;
	--crimson:#b5171d; --red:#e8343b;
	--gold:#d2ad66; --gold-hi:#f0d590; --gold-dk:#8a6a30;
	--bone:#ece4d3; --ash:#aa9f8e;
	--head:"Anton","Arial Narrow",Impact,sans-serif;
	--body:"Source Serif 4",Georgia,"Times New Roman",serif;
	--wrap:1200px; --read:42rem; --gutter:clamp(16px,4vw,32px);
	--cut:14px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
	margin:0;color:var(--bone);font:400 1.125rem/1.7 var(--body);
	background:var(--leather) radial-gradient(90% 420px at 50% 0,rgba(150,22,30,.26),transparent 70%) no-repeat;
	overflow-x:clip;-webkit-font-smoothing:antialiased;
}
/* feines Lederkorn */
body::before{
	content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.55;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
img,video,iframe,svg{max-width:100%;height:auto}
a{color:var(--gold);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{color:var(--gold-hi)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

h1,h2,h3,h4,h5,h6{font-family:var(--head);font-weight:400;line-height:1.1;letter-spacing:.015em;margin:0 0 .5em}

.screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link:focus{position:fixed!important;top:8px;left:8px;width:auto;height:auto;margin:0;padding:12px 18px;clip:auto;clip-path:none;background:var(--gold);color:var(--leather);z-index:100;font-family:var(--head)}

.wrap{width:min(100% - 2*var(--gutter),var(--wrap));margin-inline:auto}
.wrap-narrow{width:min(100% - 2*var(--gutter),var(--read));margin-inline:auto}

/* Goldene Schrift wie im Logo */
.gilded{
	color:var(--gold);
	background:linear-gradient(180deg,var(--gold-hi) 0%,var(--gold) 48%,var(--gold-dk) 100%);
	-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
	text-transform:uppercase;letter-spacing:.03em;
}

/* Das Maßband: Trennlinie unter Überschriften */
.ruler{
	height:16px;margin-top:.6rem;
	background:
		repeating-linear-gradient(90deg,var(--gold) 0 1px,transparent 1px 8px) left bottom/100% 6px no-repeat,
		repeating-linear-gradient(90deg,var(--gold) 0 1px,transparent 1px 40px) left bottom/100% 15px no-repeat,
		linear-gradient(var(--gold),var(--gold)) left bottom/100% 1px no-repeat;
	-webkit-mask-image:linear-gradient(90deg,#000 55%,transparent);mask-image:linear-gradient(90deg,#000 55%,transparent);
	opacity:.85;
}
@media (prefers-reduced-motion:no-preference){
	.ruler{animation:measure 1.3s cubic-bezier(.2,.7,.2,1) both}
	@keyframes measure{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
}

/* Abgeschrägter Rahmen (Gold → Wein) */
.frame,.frame-in{clip-path:polygon(var(--cut) 0,calc(100% - var(--cut)) 0,100% var(--cut),100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,var(--cut) 100%,0 calc(100% - var(--cut)),0 var(--cut))}
.frame{padding:1px;background:linear-gradient(155deg,var(--gold) 0,var(--wine) 42%,var(--gold-dk) 100%)}
.frame:hover,.frame:focus-within{background:linear-gradient(155deg,var(--gold-hi),var(--crimson) 50%,var(--gold))}
.frame-in{height:100%;background:linear-gradient(180deg,#191213,var(--coal))}

/* Buttons */
.btn,.search-form button,.comment-form .submit,.wp-block-button__link{
	display:inline-block;cursor:pointer;border:0;text-decoration:none;
	padding:.85em 1.7em;font:400 1rem/1 var(--head);letter-spacing:.1em;text-transform:uppercase;
	color:var(--bone);background:var(--crimson);box-shadow:inset 0 0 0 1px var(--gold);
	clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px);
	transition:background-color .2s,color .2s;
}
.btn:hover,.search-form button:hover,.comment-form .submit:hover{background:var(--red);color:#fff}
.btn--ghost{background:transparent;color:var(--gold)}
.btn--ghost:hover{background:var(--gold);color:var(--leather)}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(11,10,10,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
.site-header::after{content:"";display:block;height:5px;background:linear-gradient(var(--gold-dk),var(--gold-dk)) top/100% 1px no-repeat,linear-gradient(var(--crimson),var(--crimson)) bottom/100% 2px no-repeat}
.site-header__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px;padding-block:8px}
.brand{display:flex;align-items:center;gap:14px;color:var(--gold);text-decoration:none}
.brand__badge{display:block;height:52px;width:auto}
.brand__name{font:400 1.35rem/1 var(--head);letter-spacing:.07em;text-transform:uppercase}
@media (max-width:420px){.brand__name{font-size:1.1rem}.brand__badge{height:46px}}

.primary-nav .menu{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.primary-nav a{position:relative;display:block;padding:.7em .9em;font:400 1rem/1 var(--head);letter-spacing:.09em;text-transform:uppercase;color:var(--bone);text-decoration:none}
.primary-nav a::after{content:"";position:absolute;left:.9em;right:.9em;bottom:.25em;height:2px;background:var(--crimson);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.primary-nav a:hover{color:var(--gold)}
.primary-nav a:hover::after,.primary-nav .current-menu-item>a::after,.primary-nav .current_page_item>a::after{transform:scaleX(1)}
.primary-nav .menu-item-has-children,.primary-nav .page_item_has_children{position:relative}
.primary-nav .sub-menu,.primary-nav .children{display:none;position:absolute;top:100%;left:0;min-width:220px;margin:0;padding:6px;list-style:none;background:var(--coal);border:1px solid var(--gold-dk)}
.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu,.primary-nav li:hover>.children,.primary-nav li:focus-within>.children{display:block}

.nav-toggle{display:none;align-items:center;justify-content:center;width:46px;height:46px;padding:0;background:transparent;border:1px solid var(--gold-dk);color:var(--gold);cursor:pointer}
.nav-toggle__bars{position:relative;display:block;width:22px;height:16px}
.nav-toggle__bars span{position:absolute;left:0;right:0;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
.nav-toggle__bars span:nth-child(1){top:0}.nav-toggle__bars span:nth-child(2){top:7px}.nav-toggle__bars span:nth-child(3){top:14px}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:860px){
	.nav-toggle{display:inline-flex}
	.js .primary-nav{display:none;position:absolute;left:0;right:0;top:100%;max-height:calc(100vh - 80px);overflow:auto;background:var(--leather);border-bottom:1px solid var(--gold-dk)}
	.js .nav-open .primary-nav{display:block}
	.nav-open{overflow:hidden}
	.primary-nav .menu{flex-direction:column;gap:0;padding:8px var(--gutter) 24px}
	.primary-nav a{padding:1em .1em;font-size:1.35rem;border-bottom:1px solid rgba(210,173,102,.16)}
	.primary-nav a::after{display:none}
	.primary-nav .sub-menu,.primary-nav .children{display:block;position:static;border:0;background:none;padding:0 0 0 16px;min-width:0}
}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--leather)}
.hero__img{display:block;width:100%;max-width:1920px;height:min(56.25vw,1080px);margin-inline:auto;object-fit:cover;object-position:50% 50%}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:22%;background:linear-gradient(transparent,var(--leather))}
@media (min-width:1921px){.hero__img{-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}}
@media (max-width:760px){.hero__img{height:min(112vw,620px)}}

.intro{max-width:46rem;margin-block:clamp(8px,2vw,24px) clamp(40px,6vw,72px);text-align:center}
.intro__text{margin:0 0 1.6rem;font:italic 400 clamp(1.25rem,2.6vw,1.6rem)/1.5 var(--body);color:var(--bone)}
.intro__actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:0}

/* ---------- Kacheln ---------- */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,28px);margin-bottom:clamp(56px,8vw,104px)}
@media (max-width:760px){.tiles{grid-template-columns:1fr}}
.tile__in{padding:clamp(22px,3vw,34px)}
.tile__title{font-size:clamp(1.8rem,3vw,2.3rem);color:var(--gold);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35em}
.tile__link{color:inherit;text-decoration:none}
.tile__link::after{content:"";position:absolute;inset:0}
.tile{position:relative}
.tile__link:focus-visible{outline:none}
.tile__link:focus-visible::after{outline:3px solid var(--gold);outline-offset:-6px}
.tile p{margin:0;color:var(--ash);font-size:1.05rem}

/* ---------- Abschnittsköpfe ---------- */
.section-head,.page-head{margin-bottom:clamp(24px,4vw,44px)}
.section-title,.page-title{font-size:clamp(2.4rem,6vw,4.2rem);margin:0}
.page-head{padding-top:clamp(36px,6vw,72px)}
.page-head__desc{max-width:var(--read);margin-top:1rem;color:var(--ash)}
.page-head .ruler,.section-head .ruler{max-width:520px}
.latest{margin-bottom:clamp(56px,8vw,104px)}

/* ---------- Beitragsraster: erster Beitrag groß, dann kleiner ---------- */
.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(16px,2.4vw,32px)}
.grid>.card{grid-column:span 2}
.grid>.card:nth-child(1){grid-column:span 6}
.grid>.card:nth-child(2),.grid>.card:nth-child(3){grid-column:span 3}
@media (max-width:960px){.grid>.card,.grid>.card:nth-child(n){grid-column:span 3}.grid>.card:nth-child(1){grid-column:span 6}}
@media (max-width:620px){.grid>.card,.grid>.card:nth-child(n){grid-column:span 6}}

.card{position:relative}
.card__inner{position:relative;display:flex;flex-direction:column}
.card__media{aspect-ratio:16/10;overflow:hidden;background:#000}
.card__media img{display:block;width:100%;height:100%;object-fit:cover}
.card__ph{display:grid;place-items:center;width:100%;height:100%;background:radial-gradient(70% 90% at 50% 40%,rgba(150,22,30,.45),#0d0909 75%)}
.card__ph img{width:96px;height:auto;opacity:.55;filter:saturate(.8)}
.card__body{padding:20px 22px 26px}
.card__meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 .55rem;font-size:.95rem;font-style:italic;color:var(--ash)}
.card__cat{font:400 .95rem/1.4 var(--head);font-style:normal;letter-spacing:.06em;color:var(--gold)}
.card__title{margin:0 0 .5rem;font-size:clamp(1.5rem,2.4vw,1.85rem);letter-spacing:.02em}
.card__link{color:var(--bone);text-decoration:none}
.card__link::after{content:"";position:absolute;inset:0;z-index:1}
.card__link:hover{color:var(--gold)}
.card__link:focus-visible{outline:none}
.card__link:focus-visible::after{outline:3px solid var(--gold);outline-offset:-5px}
.card__excerpt{margin:0;color:var(--ash);font-size:1.02rem;line-height:1.6}
@media (prefers-reduced-motion:no-preference){
	.card__media img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
	.card:hover .card__media img{transform:scale(1.04)}
}
@media (min-width:761px){
	.grid>.card:first-child .card__inner{display:grid;grid-template-columns:1.35fr 1fr;align-items:stretch}
	.grid>.card:first-child .card__media{aspect-ratio:auto;min-height:340px}
	.grid>.card:first-child .card__body{align-self:center;padding:clamp(24px,4vw,48px)}
	.grid>.card:first-child .card__title{font-size:clamp(2rem,3.6vw,3rem);line-height:1.05}
	.grid>.card:first-child .card__excerpt{font-size:1.15rem}
}
.more{margin:clamp(28px,4vw,44px) 0 0;text-align:center}
.empty{color:var(--ash)}

/* Pagination */
.pagination{margin:clamp(32px,5vw,56px) 0 clamp(56px,8vw,96px)}
.nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center}
.page-numbers{min-width:44px;padding:.7em 1em;text-align:center;font:400 1rem/1 var(--head);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--bone);border:1px solid var(--gold-dk)}
a.page-numbers:hover{color:var(--leather);background:var(--gold)}
.page-numbers.current{background:var(--crimson);border-color:var(--gold)}
.page-numbers.dots{border:0}

/* ---------- Einzelbeitrag / Seite ---------- */
.entry__head{padding-top:clamp(36px,6vw,72px);margin-bottom:clamp(20px,3vw,36px)}
.entry__cats{margin:0 0 .8rem;font:400 1rem/1.4 var(--head);letter-spacing:.08em;text-transform:uppercase}
.entry__cats a{text-decoration:none}
.entry__title{font-size:clamp(2.4rem,7vw,4.6rem);margin:0;overflow-wrap:anywhere;hyphens:auto}
.entry__meta{display:flex;flex-wrap:wrap;gap:4px 18px;margin:1rem 0 0;font-style:italic;color:var(--ash);font-size:1rem}
.entry__media{margin:0 auto clamp(28px,4vw,48px)}
.entry__media img{display:block;width:100%;height:auto;border:1px solid var(--gold-dk)}
.entry-content{margin-bottom:clamp(40px,6vw,72px)}
.entry-content>*{max-width:var(--read);margin-inline:auto;padding-inline:var(--gutter)}
.entry-content>.alignwide{max-width:var(--wrap)}
.entry-content>.alignfull{max-width:none;padding:0;width:100vw;margin-left:calc(50% - 50vw)}
.entry-content p,.entry-content ul,.entry-content ol{margin-top:0;margin-bottom:1.4em}
.entry-content h2{font-size:clamp(1.9rem,4vw,2.6rem);margin-top:1.8em;color:var(--gold)}
.entry-content h3{font-size:clamp(1.5rem,3vw,1.9rem);margin-top:1.6em}
.entry-content h4{font-size:1.3rem;margin-top:1.4em}
.entry-content strong{font-weight:600}
.entry-content blockquote{margin-block:2em;padding:.2em 0 .2em 1.4em;border-left:3px solid var(--crimson);font-style:italic;font-size:1.25rem;color:var(--bone)}
.entry-content blockquote cite{display:block;margin-top:.6em;font-size:.95rem;color:var(--ash)}
.entry-content hr{height:1px;border:0;background:linear-gradient(90deg,transparent,var(--gold-dk),transparent);margin-block:2.5em}
.entry-content figure{margin-block:2em}
.entry-content figcaption,.wp-caption-text{margin-top:.6em;font-size:.92rem;font-style:italic;color:var(--ash)}
.entry-content pre,.entry-content code{font:.92em/1.5 ui-monospace,Menlo,Consolas,monospace;background:#000;color:var(--gold-hi)}
.entry-content code{padding:.1em .35em}
.entry-content pre{padding:1em 1.2em;overflow:auto;border:1px solid var(--gold-dk)}
.entry-content table{width:100%;border-collapse:collapse;font-size:1rem}
.entry-content th,.entry-content td{padding:.6em .8em;border-bottom:1px solid rgba(210,173,102,.25);text-align:left}
.entry-content th{font:400 1rem/1.2 var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
.entry-content .wp-block-image img,.entry-content .wp-block-gallery img{border:1px solid var(--gold-dk)}
.entry__foot{margin-bottom:32px}
.tags a{display:inline-block;margin:0 8px 8px 0;padding:.3em .8em;font-size:.95rem;text-decoration:none;border:1px solid var(--gold-dk)}
.tags a:hover{background:var(--gold);color:var(--leather)}

.post-navigation .nav-links{display:grid;grid-template-columns:1fr 1fr;gap:16px;justify-content:stretch;align-items:start;margin-bottom:48px}
.post-navigation a{display:block;padding:14px 16px;font:400 1.2rem/1.2 var(--head);text-decoration:none;color:var(--bone);border:1px solid var(--gold-dk)}
.post-navigation a:hover{border-color:var(--gold);color:var(--gold)}
.post-navigation .nav-next{text-align:right}
.nav-sub{display:block;margin-bottom:.4em;font:italic 400 .9rem/1 var(--body);color:var(--ash)}
@media (max-width:560px){.post-navigation .nav-links{grid-template-columns:1fr}.post-navigation .nav-next{text-align:left}}

/* ---------- Formulare & Kommentare ---------- */
input[type=text],input[type=email],input[type=url],input[type=search],input[type=password],textarea,select{
	width:100%;padding:.8em 1em;color:var(--bone);background:#0e0b0b;border:1px solid var(--gold-dk);border-radius:0;font:inherit;font-size:1rem}
input::placeholder,textarea::placeholder{color:var(--ash)}
input:focus,textarea:focus,select:focus{border-color:var(--gold);outline:2px solid var(--gold);outline-offset:2px}
.search-form{display:flex;gap:10px;max-width:520px;margin-block:1.4rem}
.search-form input{flex:1;min-width:0}
.comments{margin-bottom:72px}
.comments__title,.comment-reply-title{font-size:1.9rem;color:var(--gold)}
.comment-list,.comment-list .children{list-style:none;margin:0;padding:0}
.comment-list .children{margin-left:clamp(14px,4vw,40px)}
.comment-body{padding:18px 0;border-bottom:1px solid rgba(210,173,102,.2);font-size:1.02rem}
.comment-author{display:flex;align-items:center;gap:12px}
.comment-author img{border:1px solid var(--gold-dk)}
.comment-metadata{font-size:.9rem;font-style:italic}
.comment-metadata a{color:var(--ash);text-decoration:none}
.comment-form label{display:block;margin-bottom:.3em;font-size:.95rem;color:var(--ash)}
.comment-form p{margin:0 0 1.1em}
.comment-form-cookies-consent{display:flex;gap:10px;align-items:baseline}
.comment-form-cookies-consent input{width:auto}

/* ---------- Footer ---------- */
.site-footer{margin-top:auto;padding-top:48px;background:linear-gradient(transparent,#060505 40%)}
.site-footer::before{content:"";display:block;height:5px;background:linear-gradient(var(--crimson),var(--crimson)) top/100% 2px no-repeat,linear-gradient(var(--gold-dk),var(--gold-dk)) bottom/100% 1px no-repeat}
.site-footer__grid{display:flex;flex-wrap:wrap;gap:32px 64px;align-items:flex-start;justify-content:space-between;padding-block:40px}
.site-footer__brand{display:flex;align-items:center;gap:18px}
.site-footer__brand img{width:72px;height:auto}
.site-footer__claim{margin:0;font:400 1.6rem/1 var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.footer-nav .menu{display:flex;flex-wrap:wrap;gap:6px 24px;list-style:none;margin:0;padding:0}
.footer-nav a{font:400 1rem/1.4 var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--bone);text-decoration:none}
.footer-nav a:hover{color:var(--gold)}
.widget__title{font-size:1.2rem;color:var(--gold)}
.site-footer__widgets{font-size:1rem;color:var(--ash)}
.site-footer__legal{margin:0 auto;padding-block:20px 32px;border-top:1px solid rgba(210,173,102,.16);font-size:.92rem;color:var(--ash)}

/* Layout: Footer am Seitenende halten */
body{display:flex;flex-direction:column;min-height:100vh}
.site-main{flex:1 0 auto}

/* WordPress-Kernklassen */
.alignleft{float:left;margin:.3em 1.4em 1em 0}
.alignright{float:right;margin:.3em 0 1em 1.4em}
.aligncenter{display:block;margin-inline:auto}
.sticky,.bypostauthor{display:block}
.gallery-caption{display:block}

@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*,*::before,*::after{animation:none!important;transition:none!important}
}
