/* ============================================================
   VanessaPur Signature — Single-Post Statement-Layouts (vps)
   Kategorie-Routing: fashion / beauty / social / video / reel
   Token-basiert (Light+Dark automatisch). Shared: .vp-post-head,
   .vp-author, .vp-gate, .vp-related (aus dem Theme wiederverwendet).
   ============================================================ */
.vps{ --vpbar:76px; }
.admin-bar .vps{ --vpbar:108px; }
.vps *{ box-sizing:border-box; }
.vps.vp-article{ max-width:none; margin:0; width:100%; }
/* Vollbild-Layouts bündig unter den Header (Eltern-Theme gibt .vp-article ein padding-top). */
.vps--fashion.vp-article,
.vps--reel.vp-article,
.vps--beauty.vp-article{ padding-top:0; }

/* Platform-Pill im Eyebrow (Social/Video/Reel) */
.vps .vp-post-head .cat .vps-pill,
.vps .vps-eyebrow .vps-pill{
  display:inline-block; background:var(--pill); color:var(--pillknob);
  font-size:11px; font-weight:700; letter-spacing:.14em; padding:5px 11px;
  border-radius:6px; margin-right:10px; vertical-align:2px;
}

/* Eyebrow / Byline (für Split-Layouts, die .vp-post-head nicht oben nutzen) */
.vps-eyebrow{ font-size:12px; letter-spacing:.26em; color:var(--gold); font-weight:600; margin-bottom:22px; }
.vps-h1{ font-weight:700; color:var(--ink); font-size:clamp(34px,3.4vw,54px); line-height:1.04; letter-spacing:-.015em; margin:0 0 20px; }
.vps-byline{ display:flex; align-items:center; gap:14px; font-size:13px; letter-spacing:.04em; color:var(--muted); margin-bottom:26px; }
.vps-byline b{ color:var(--ink); font-weight:600; }
.vps-byline .dot{ width:4px; height:4px; border-radius:50%; background:var(--gold2); }

/* Serif-Lead */
.vps-lead{ font-family:"Fraunces",Georgia,serif; font-size:23px; line-height:1.5; color:var(--ink); margin:0 0 26px; }

/* ---- Play-Button (Reel-Poster / Video-Poster Fallback) ---- */
.vps-play{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.vps-play span{ width:88px; height:88px; border-radius:50%; background:rgba(255,255,255,.15); backdrop-filter:blur(4px); border:1px solid rgba(255,255,255,.55); position:absolute; }
.vps-play::after{ content:""; width:0; height:0; border-left:26px solid #fff; border-top:17px solid transparent; border-bottom:17px solid transparent; margin-left:8px; filter:drop-shadow(0 2px 12px rgba(0,0,0,.6)); }

/* ============================================================
   FASHION — Editorial Split (sticky Portrait links, Text rechts)
   ============================================================ */
.vps--fashion .vps1{ display:grid; grid-template-columns:1fr 1fr; align-items:start; }
.vps--fashion .vps1__visual{ position:sticky; top:var(--vpbar); height:calc(100vh - var(--vpbar)); overflow:hidden; background:var(--stage1); }
.vps--fashion .vps1__visual img{ width:100%; height:100%; object-fit:cover; object-position:50% 28%; display:block; }
.vps--fashion .vps1__read{ padding:64px clamp(24px,4vw,64px) 80px; max-width:720px; }
.vps--fashion .vps1__read .vp-post-head{ margin:0 0 8px; }
.vps--fashion .vps1__read .vps-lead{ margin-top:8px; }
@media(max-width:980px){
  .vps--fashion .vps1{ grid-template-columns:1fr; }
  .vps--fashion .vps1__visual{ position:relative; top:0; height:78vh; }
  .vps--fashion .vps1__read{ padding:40px clamp(22px,3vw,52px) 60px; max-width:none; }
}

/* ============================================================
   REEL — Bunny 9:16 (randlos links, Spalte = Videobreite), Text rechts
   ============================================================ */
.vps--reel .vpsR{ display:grid; grid-template-columns:calc((100vh - var(--vpbar)) * 0.5625) 1fr; align-items:start; }
.vps--reel .vpsR__stage{ position:sticky; top:var(--vpbar); height:calc(100vh - var(--vpbar)); background:#0e0d0c; overflow:hidden; }
.vps--reel .vpsR__stage iframe,
.vps--reel .vpsR__stage .vpsR__poster{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.vps--reel .vpsR__poster img{ width:100%; height:100%; object-fit:cover; display:block; }
.vps--reel .vpsR__src{ position:absolute; top:16px; left:16px; z-index:2; font-size:10px; letter-spacing:.16em; color:var(--pillknob); background:var(--gold); font-weight:700; padding:6px 11px; border-radius:6px; }
.vps--reel .vpsR__read{ padding:60px clamp(24px,4vw,68px) 84px; }
.vps--reel .vpsR__read .vpsR__inner{ max-width:660px; }
@media(max-width:980px){
  .vps--reel .vpsR{ grid-template-columns:1fr; }
  .vps--reel .vpsR__stage{ position:relative; top:0; height:auto; display:flex; justify-content:center; padding:26px 24px 34px; }
  .vps--reel .vpsR__stage iframe,
  .vps--reel .vpsR__stage .vpsR__poster{ position:relative; width:100%; max-width:380px; aspect-ratio:9/16; height:auto; border-radius:14px; overflow:hidden; box-shadow:var(--shadow); }
  .vps--reel .vpsR__read{ padding:40px clamp(22px,3vw,52px) 60px; }
}

/* ============================================================
   BEAUTY — Cover Story (Vollbild-Cover, Titel im Bild) + Magazin-Text
   ============================================================ */
.vps--beauty .vpsC{ position:relative; min-height:82vh; display:flex; align-items:flex-end; overflow:hidden; background:#000; }
.vps--beauty .vpsC img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 22%; opacity:.92; }
.vps--beauty .vpsC::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(10,9,8,.82) 4%,rgba(10,9,8,.15) 46%,rgba(10,9,8,.42) 100%); }
.vps--beauty .vpsC__in{ position:relative; z-index:2; width:100%; padding:0 clamp(22px,3vw,52px) 8vh; max-width:1120px; margin:0 auto; }
.vps--beauty .vpsC__in .vps-eyebrow{ color:var(--gold2); }
.vps--beauty .vpsC__in .vps-h1{ font-family:"Fraunces",Georgia,serif; font-weight:300; color:#fff; font-size:clamp(40px,6vw,88px); line-height:1; max-width:15ch; }
.vps--beauty .vpsC__in .vps-byline{ color:#e7e0d3; margin-top:26px; }
.vps--beauty .vpsC__in .vps-byline b{ color:#fff; }
.vps--beauty .vpsC__body{ padding:70px 0 10px; }
.vps--beauty .vpsC__body .vp-eng{ margin:0 auto; }
.vps--beauty .vpsC__body .the-content > p:first-of-type::first-letter{
  font-family:"Fraunces",Georgia,serif; float:left; font-size:74px; line-height:.72; padding:8px 12px 0 0; color:var(--gold);
}
.vps--beauty .vpsC__body .the-content h2{ font-family:"Fraunces",Georgia,serif; font-weight:600; }

/* ============================================================
   VIDEO — 16:9 YouTube-Bühne in voller Breite
   ============================================================ */
.vps--video .vps-head-c{ text-align:center; padding-top:8px; }
.vps--video .vps-head-c .vp-post-head{ margin-left:auto; margin-right:auto; }
.vps--video .vpsV__stage{ max-width:1120px; margin:16px auto 0; position:relative; border-radius:10px; overflow:hidden; background:#000; box-shadow:var(--shadow); }
.vps--video .vpsV__ratio{ position:relative; aspect-ratio:16/9; }
.vps--video .vpsV__ratio > iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
/* Klick-zum-Laden: Poster + Play, iFrame lädt erst beim Klick (schneller, edler) */
.vps--video .vpsV__facade{ position:absolute; inset:0; width:100%; height:100%; margin:0; padding:0; border:0; background:#000; cursor:pointer; display:block; }
.vps--video .vpsV__poster{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s ease, opacity .3s ease; }
.vps--video .vpsV__facade:hover .vpsV__poster{ transform:scale(1.03); opacity:.94; }
.vps--video .vpsV__facade .vps-play span{ transition:transform .25s ease, background .25s ease; }
.vps--video .vpsV__facade:hover .vps-play span{ transform:scale(1.08); background:rgba(255,255,255,.24); }
.vps--video .vpsV__watch{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin:24px 0 0; }
.vps--video .vpsV__watch a{ display:inline-flex; align-items:center; gap:9px; padding:13px 24px; border-radius:999px; font-size:13px; letter-spacing:.05em; font-weight:600; }
.vps--video .vpsV__watch .is-yt{ background:var(--gold); color:var(--pillknob); }
.vps--video .vpsV__watch .is-ghost{ border:1px solid var(--line); color:var(--ink); }
.vps--video .vpsV__body{ padding:52px 0 10px; }
.vps--video .vpsV__body .vp-eng{ margin:0 auto; }

/* ============================================================
   SOCIAL — Ratgeber/How-To (Featured-Banner + Lese-Rahmen)
   + Helfer-Klassen für Content (Tipp/Schritt/Glossar/FAQ)
   ============================================================ */
.vps--social .vpsS{ max-width:1200px; margin:0 auto; }
.vps--social .vpsS__head{ max-width:760px; }
.vps--social .vpsS__featured{ position:relative; margin:8px 0 4px; border-radius:12px; overflow:hidden; background:var(--stage1); max-width:960px; }
.vps--social .vpsS__featured img{ width:100%; aspect-ratio:1.91/1; object-fit:cover; object-position:50% 30%; display:block; }
.vps--social .vpsS__grid{ display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:56px; align-items:start; margin-top:40px; }
@media(max-width:960px){ .vps--social .vpsS__grid{ grid-template-columns:1fr; gap:0; margin-top:30px; } }
.vps--social .vpsS__main{ max-width:760px; }
.vps--social .vpsS__main .vp-post-body{ max-width:none; }
.vps--social .vpsS__toc{ position:sticky; top:calc(var(--vpbar) + 20px); background:var(--card); border:1px solid var(--line); border-radius:8px; padding:22px 24px; }
@media(max-width:960px){ .vps--social .vpsS__toc{ position:static; margin:0 0 30px; } }
.vps--social .vpsS__toc .t{ font-size:11px; letter-spacing:.24em; color:var(--gold); font-weight:600; margin-bottom:14px; }
.vps--social .vpsS__toc ol{ list-style:none; margin:0; padding:0; }
.vps--social .vpsS__toc a{ display:block; font-size:14px; color:var(--ink2); padding:8px 0; border-bottom:1px solid var(--line); text-decoration:none; transition:.2s; }
.vps--social .vpsS__toc li:last-child a{ border-bottom:0; }
.vps--social .vpsS__toc a:hover{ color:var(--gold); padding-left:4px; }
.vps--social .the-content h2{ scroll-margin-top:calc(var(--vpbar) + 20px); }

/* Content-Helfer (vom Autor im Beitrag einsetzbar) */
.the-content .vps-tip{ display:flex; gap:16px; background:var(--bg2); border:1px solid var(--line); border-left:3px solid var(--gold); border-radius:8px; padding:20px 22px; margin:28px 0; }
.the-content .vps-tip .k{ font-size:11px; letter-spacing:.2em; color:var(--gold); font-weight:700; margin-bottom:6px; }
.the-content .vps-steps{ counter-reset:step; margin:24px 0; }
.the-content .vps-steps > li{ position:relative; list-style:none; padding:0 0 22px 62px; border-left:2px solid var(--line); margin-left:22px; }
.the-content .vps-steps > li:last-child{ border-left-color:transparent; padding-bottom:0; }
.the-content .vps-steps > li::before{ counter-increment:step; content:counter(step); position:absolute; left:-22px; top:-4px; width:44px; height:44px; border-radius:50%; background:var(--ink); color:var(--bg); display:flex; align-items:center; justify-content:center; font-weight:700; font-family:"Fraunces",Georgia,serif; font-size:19px; }
.the-content .vps-glossary{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin:28px 0; }
@media(max-width:560px){ .the-content .vps-glossary{ grid-template-columns:1fr; } }
.the-content .vps-sym{ display:flex; gap:16px; align-items:flex-start; background:var(--card); border:1px solid var(--line); border-radius:10px; padding:18px; }
.the-content .vps-sym .ic{ width:46px; height:46px; border-radius:50%; background:var(--bg2); display:flex; align-items:center; justify-content:center; font-size:24px; flex:0 0 auto; }
.the-content .vps-faq details{ border-bottom:1px solid var(--line); padding:16px 0; }
.the-content .vps-faq summary{ cursor:pointer; font-weight:600; color:var(--ink); list-style:none; display:flex; justify-content:space-between; gap:16px; }
.the-content .vps-faq summary::-webkit-details-marker{ display:none; }
.the-content .vps-faq summary::after{ content:"+"; color:var(--gold); font-size:22px; }
.the-content .vps-faq details[open] summary::after{ content:"–"; }

/* Stats-Leiste (Reel/Video/Social optional, via Shortcode/Content) */
.the-content .vps-stats,
.vps .vps-stats{ display:flex; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--card); margin:0 0 30px; max-width:480px; }
.vps .vps-stats .s{ flex:1; padding:14px 8px; text-align:center; border-right:1px solid var(--line); }
.vps .vps-stats .s:last-child{ border-right:0; }
.vps .vps-stats .n{ font-weight:700; color:var(--ink); font-size:17px; }
.vps .vps-stats .l{ font-size:10px; letter-spacing:.14em; color:var(--muted); margin-top:3px; text-transform:uppercase; }

/* Actions (View on IG / Follow) */
.vps-actions{ display:flex; flex-wrap:wrap; gap:12px; margin:8px 0 4px; }
.vps-actions a{ display:inline-flex; align-items:center; gap:9px; padding:13px 22px; border-radius:999px; font-size:13px; letter-spacing:.04em; font-weight:600; }
.vps-actions .is-solid{ background:var(--ink); color:var(--bg); }
.vps-actions .is-ghost{ border:1px solid var(--line); color:var(--ink); }

/* Full-bleed Layouts: Shared-Blöcke (Gate/Author/Related) zentriert im Wrap */
.vps-after{ padding-top:8px; }

/* ============================================================
   REELS — Instagram-artige Übersicht (Grid) + Lightbox
   ============================================================ */
.vps--reels .vpsRA__head{ padding:70px 0 30px; }
.vps--reels .vpsRA__ey{ font-size:12px; letter-spacing:.3em; color:var(--gold); font-weight:600; text-transform:uppercase; margin-bottom:12px; }
.vps--reels .vpsRA__title{ margin:0; font-weight:700; color:var(--ink); font-size:clamp(34px,4.6vw,60px); line-height:1.02; letter-spacing:-.02em; }
.vps--reels .vpsRA__empty{ padding:20px 0 90px; color:var(--muted); }

.vpsRA__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; padding-bottom:90px; }
@media(max-width:1100px){ .vpsRA__grid{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:640px){ .vpsRA__grid{ grid-template-columns:repeat(2,1fr); gap:12px; } }

.vpsRA__card{ position:relative; display:block; border-radius:10px; overflow:hidden; background:var(--stage1); text-decoration:none; }
.vpsRA__media{ display:block; position:relative; aspect-ratio:9/16; }
.vpsRA__media img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.vpsRA__card:hover .vpsRA__media img{ transform:scale(1.05); }
.vpsRA__prev{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .35s ease; pointer-events:none; }
.vpsRA__card:hover .vpsRA__prev{ opacity:1; }
.vpsRA__card.is-blank .vpsRA__media{ background:linear-gradient(160deg,var(--stage1),var(--stage2)); }
.vpsRA__play{ position:absolute; top:12px; right:12px; width:0; height:0; border-left:16px solid rgba(255,255,255,.95); border-top:10px solid transparent; border-bottom:10px solid transparent; filter:drop-shadow(0 1px 3px rgba(0,0,0,.5)); }
.vpsRA__cap{ position:absolute; left:0; right:0; bottom:0; padding:28px 14px 12px; color:#fff; font-size:14px; font-weight:600; line-height:1.25; background:linear-gradient(transparent,rgba(0,0,0,.72)); text-shadow:0 1px 6px rgba(0,0,0,.6); }

/* Lightbox */
.vpsLB{ position:fixed; inset:0; z-index:1000; display:none; }
.vpsLB.is-open{ display:block; }
.vpsLB__backdrop{ position:absolute; inset:0; background:rgba(8,7,6,.93); backdrop-filter:blur(6px); }
.vpsLB__x{ position:absolute; top:16px; right:22px; z-index:4; background:none; border:0; color:#fff; font-size:40px; line-height:1; cursor:pointer; opacity:.8; }
.vpsLB__x:hover{ opacity:1; }
.vpsLB__nav{ position:absolute; top:50%; transform:translateY(-50%); z-index:4; width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.25); color:#fff; font-size:26px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.vpsLB__nav:hover{ background:rgba(255,255,255,.2); }
.vpsLB__prev{ left:24px; }
.vpsLB__next{ right:24px; }
.vpsLB__stage{ position:absolute; inset:0; z-index:3; display:flex; align-items:center; justify-content:center; padding:40px; }
.vpsLB__video{ position:relative; height:min(86vh,880px); aspect-ratio:9/16; background:#000; border-radius:14px 0 0 14px; overflow:hidden; box-shadow:0 50px 110px -40px rgba(0,0,0,.9); }
.vpsLB__frame{ position:absolute; inset:0; }
.vpsLB__frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.vpsLB__side{ height:min(86vh,880px); width:360px; background:var(--bg); border-radius:0 14px 14px 0; padding:28px 26px; display:flex; flex-direction:column; overflow:auto; }
.vpsLB__brand{ display:flex; align-items:center; gap:12px; padding-bottom:16px; border-bottom:1px solid var(--line); margin-bottom:18px; }
.vpsLB__av{ width:38px; height:38px; border-radius:50%; background:var(--ink); color:var(--bg); display:flex; align-items:center; justify-content:center; font-family:"Fraunces",Georgia,serif; font-size:18px; flex:0 0 auto; }
.vpsLB__name{ font-weight:600; color:var(--ink); font-size:15px; }
.vpsLB__t{ margin:0 0 12px; font-weight:700; color:var(--ink); font-size:20px; line-height:1.22; letter-spacing:-.01em; }
.vpsLB__c{ margin:0 0 16px; color:var(--ink2); font-size:15px; line-height:1.6; }
.vpsLB__meta{ color:var(--muted); font-size:12px; letter-spacing:.06em; text-transform:uppercase; margin-bottom:auto; }
.vpsLB__links{ margin-top:18px; display:flex; flex-direction:column; gap:10px; }
.vpsLB__ig{ display:none; align-items:center; justify-content:center; padding:13px 20px; border-radius:999px; background:var(--ink); color:var(--bg); font-size:13px; font-weight:600; letter-spacing:.03em; text-decoration:none; }
.vpsLB__tt{ display:none; align-items:center; justify-content:center; padding:13px 20px; border-radius:999px; border:1px solid var(--line); color:var(--ink); font-size:13px; font-weight:600; letter-spacing:.03em; text-decoration:none; }
.vpsLB__tt:hover{ border-color:var(--gold); color:var(--gold); }
.vpsLB__excl{ display:none; align-items:center; justify-content:center; padding:11px 16px; border:1px solid var(--line); border-radius:999px; color:var(--gold); font-size:12px; letter-spacing:.14em; font-weight:600; text-transform:uppercase; }
@media(max-width:820px){
	.vpsLB__stage{ flex-direction:column; padding:0; }
	.vpsLB__video{ height:auto; width:100%; max-height:66vh; border-radius:0; }
	.vpsLB__side{ width:100%; height:auto; border-radius:0; }
	.vpsLB__nav{ display:none; }
}

/* ============================================================
   VIDEOS — Archiv-Übersicht (EN-Grid + DE-Grid darunter), 16:9
   ============================================================ */
.vps--videos .vpsVA__head{ padding:70px 0 34px; }
.vps--videos .vpsVA__ey{ font-size:12px; letter-spacing:.3em; color:var(--gold); font-weight:600; text-transform:uppercase; margin-bottom:12px; }
.vps--videos .vpsVA__title{ margin:0; font-weight:700; color:var(--ink); font-size:clamp(34px,4.6vw,60px); line-height:1.02; letter-spacing:-.02em; }
.vps--videos .vpsVA__sub{ margin:16px 0 0; color:var(--muted); font-size:16px; letter-spacing:.01em; max-width:60ch; }
.vps--videos .vpsVA__empty{ padding:20px 0 60px; color:var(--muted); }

.vpsVA__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:34px 26px; padding-bottom:20px; }
@media(max-width:1100px){ .vpsVA__grid{ grid-template-columns:repeat(2,1fr); gap:30px 22px; } }
@media(max-width:640px){ .vpsVA__grid{ grid-template-columns:1fr; gap:26px; } }

.vpsVA__card{ display:block; text-decoration:none; color:inherit; }
.vpsVA__media{ position:relative; display:block; aspect-ratio:16/9; border-radius:10px; overflow:hidden; background:var(--stage1); box-shadow:0 1px 0 var(--line); }
.vpsVA__poster{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.vpsVA__card:hover .vpsVA__poster{ transform:scale(1.045); }
.vpsVA__card.is-blank .vpsVA__media{ background:linear-gradient(160deg,var(--stage1),var(--stage2)); }
/* zentraler Play-Button (kreisförmig, dezent, hebt sich beim Hover) */
.vpsVA__play{ position:absolute; top:50%; left:50%; width:62px; height:62px; margin:-31px 0 0 -31px; border-radius:50%; background:rgba(18,16,14,.42); border:1px solid rgba(255,255,255,.72); backdrop-filter:blur(3px); transition:transform .25s ease, background .25s ease; }
.vpsVA__play::after{ content:""; position:absolute; top:50%; left:50%; width:0; height:0; margin:-11px 0 0 -6px; border-left:18px solid #fff; border-top:11px solid transparent; border-bottom:11px solid transparent; filter:drop-shadow(0 1px 6px rgba(0,0,0,.5)); }
.vpsVA__card:hover .vpsVA__play{ transform:scale(1.1); background:var(--gold); border-color:var(--gold); }
.vpsVA__card:hover .vpsVA__play::after{ border-left-color:var(--pillknob); }
.vpsVA__cat{ display:block; margin:16px 0 7px; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.vpsVA__t{ margin:0; font-weight:700; color:var(--ink); font-size:19px; line-height:1.28; letter-spacing:-.01em; transition:color .2s ease; }
.vpsVA__card:hover .vpsVA__t{ color:var(--gold); }
.vpsVA__ex{ margin:8px 0 0; color:var(--ink2); font-size:14px; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.vpsVA__date{ display:block; margin-top:10px; font-size:12px; letter-spacing:.05em; color:var(--muted); }

/* Trenner zur zweiten Sprache */
.vpsVA__sep{ display:flex; align-items:center; gap:18px; margin:26px 0 40px; padding-top:44px; border-top:1px solid var(--line); }
.vpsVA__sepPill{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:28px; padding:0 12px; border-radius:6px; background:var(--pill); color:var(--pillknob); font-size:12px; font-weight:700; letter-spacing:.14em; }
.vpsVA__sepTitle{ flex:0 0 auto; margin:0; font-weight:700; color:var(--ink); font-size:clamp(21px,2.2vw,30px); line-height:1.1; letter-spacing:-.01em; }
.vpsVA__sepLine{ flex:1 1 auto; height:1px; background:var(--line); }
.vpsVA__grid--alt{ padding-bottom:96px; }
@media(max-width:640px){ .vpsVA__sep{ flex-wrap:wrap; gap:12px; } .vpsVA__sepLine{ display:none; } }

/* ============================================================
   SOCIAL MEDIA — Plattform-gefiltertes Archiv (Tabs + Grid)
   ============================================================ */
.vps--sm .vpsSA__head{ padding:70px 0 28px; }
.vps--sm .vpsSA__ey{ font-size:12px; letter-spacing:.3em; color:var(--gold); font-weight:600; text-transform:uppercase; margin-bottom:12px; }
.vps--sm .vpsSA__title{ margin:0; font-weight:700; color:var(--ink); font-size:clamp(34px,4.6vw,60px); line-height:1.02; letter-spacing:-.02em; }
.vps--sm .vpsSA__sub{ margin:16px 0 0; color:var(--muted); font-size:16px; max-width:62ch; }

/* Filter-Reiter */
.vpsSA__tabs{ display:flex; flex-wrap:wrap; gap:10px; margin:6px 0 36px; }
.vpsSA__tab{ display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; border:1px solid var(--line); background:transparent; color:var(--ink2); font-family:inherit; font-size:13px; font-weight:600; letter-spacing:.02em; cursor:pointer; transition:.2s; }
.vpsSA__tab span{ font-size:11px; color:var(--muted); background:var(--bg2); padding:2px 7px; border-radius:999px; line-height:1.4; }
.vpsSA__tab:hover{ border-color:var(--gold); color:var(--ink); }
.vpsSA__tab.is-active{ background:var(--ink); color:var(--bg); border-color:var(--ink); }
.vpsSA__tab.is-active span{ background:rgba(255,255,255,.22); color:var(--bg); }
@media(max-width:640px){
  .vpsSA__tabs{ flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:8px; margin-bottom:26px; }
  .vpsSA__tab{ flex:0 0 auto; }
}

/* Grid + Karten */
.vpsSA__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:36px 26px; padding-bottom:96px; }
@media(max-width:1100px){ .vpsSA__grid{ grid-template-columns:repeat(2,1fr); gap:30px 22px; } }
@media(max-width:620px){ .vpsSA__grid{ grid-template-columns:1fr; gap:28px; } }

.vpsSA__card{ display:block; text-decoration:none; color:inherit; }
.vpsSA__media{ position:relative; display:block; aspect-ratio:16/10; border-radius:10px; overflow:hidden; background:var(--stage1); box-shadow:0 1px 0 var(--line); }
.vpsSA__img{ width:100%; height:100%; object-fit:cover; object-position:50% 18%; display:block; transition:transform .6s ease; }
.vpsSA__card:hover .vpsSA__img{ transform:scale(1.045); }

/* Marken-Cover für Beiträge ohne Beitragsbild */
.vpsSA__cover{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:linear-gradient(150deg,var(--stage1),var(--stage2)); }
.vpsSA__cover::before{ content:""; position:absolute; inset:0; background:radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--pl,var(--gold)) 16%, transparent), transparent 60%); }
.vpsSA__cover::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:4px; background:var(--pl,var(--gold)); }
.vpsSA__coverName{ position:relative; font-family:"Fraunces",Georgia,serif; font-weight:500; font-size:clamp(24px,2.2vw,30px); color:var(--ink); letter-spacing:.01em; }

/* Plattform-Badge */
.vpsSA__badge{ position:absolute; top:12px; left:12px; display:inline-flex; align-items:center; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#fff; padding:5px 11px 5px 10px; border-radius:6px; background:rgba(16,14,12,.68); backdrop-filter:blur(3px); }
.vpsSA__badge::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--pl,#fff); margin-right:7px; }

/* Plattform-Akzentfarben */
.vpsSA__badge[data-platform="instagram"],.vpsSA__cover[data-platform="instagram"]{ --pl:#e1306c; }
.vpsSA__badge[data-platform="snapchat"],.vpsSA__cover[data-platform="snapchat"]{ --pl:#f4c20d; }
.vpsSA__badge[data-platform="youtube"],.vpsSA__cover[data-platform="youtube"]{ --pl:#e23b3b; }
.vpsSA__badge[data-platform="tiktok"],.vpsSA__cover[data-platform="tiktok"]{ --pl:#25a3ad; }
.vpsSA__badge[data-platform="pinterest"],.vpsSA__cover[data-platform="pinterest"]{ --pl:#d6335a; }
.vpsSA__badge[data-platform="facebook"],.vpsSA__cover[data-platform="facebook"]{ --pl:#3b6bd6; }
.vpsSA__badge[data-platform="general"],.vpsSA__cover[data-platform="general"]{ --pl:var(--gold); }

.vpsSA__t{ margin:16px 0 0; font-weight:700; color:var(--ink); font-size:18px; line-height:1.3; letter-spacing:-.01em; transition:color .2s ease; }
.vpsSA__card:hover .vpsSA__t{ color:var(--gold); }
.vpsSA__ex{ margin:8px 0 0; color:var(--ink2); font-size:14px; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.vpsSA__date{ display:block; margin-top:10px; font-size:12px; letter-spacing:.05em; color:var(--muted); }
.vpsSA__none{ padding:30px 0 90px; color:var(--muted); }

/* ============================================================
   BEAUTY — Luxus-Hero + Beauty-Grid + Hair-Bereich
   ============================================================ */
.vps--beauty-archive .vpsBA__head{ padding:70px 0 26px; }
.vps--beauty-archive .vpsBA__ey{ font-size:12px; letter-spacing:.3em; color:var(--gold); font-weight:600; text-transform:uppercase; margin-bottom:12px; }
.vps--beauty-archive .vpsBA__title{ margin:0; font-weight:700; color:var(--ink); font-size:clamp(34px,4.6vw,60px); line-height:1.02; letter-spacing:-.02em; }
.vps--beauty-archive .vpsBA__sub{ margin:16px 0 0; color:var(--muted); font-size:16px; max-width:62ch; }

.vpsBA__editLab,.vpsBA__gridLab{ font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); font-weight:600; margin:6px 0 18px; }
.vpsBA__gridLab{ margin-top:4px; }

/* Luxus-Edit — hervorgehobene Karten (Rahmen + Goldakzent), MIT Text wie im Grid */
.vpsBA__hero{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin:0 0 56px; }
@media(max-width:1000px){ .vpsBA__hero{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:620px){ .vpsBA__hero{ grid-template-columns:1fr; } }
.vpsBA__card--lux{ background:var(--card); border:1px solid var(--line); border-top:2px solid var(--gold); border-radius:12px; padding:14px 16px 20px; }
.vpsBA__card--lux .vpsBA__media{ border-radius:8px; }
.vpsBA__card--lux .vpsBA__brand{ margin-top:16px; }
.vpsBA__card--lux .vpsBA__t{ font-size:21px; }

/* Beauty-/Hair-Grid */
.vpsBA__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:36px 26px; padding-bottom:16px; }
@media(max-width:1000px){ .vpsBA__grid{ grid-template-columns:repeat(2,1fr); gap:30px 22px; } }
@media(max-width:620px){ .vpsBA__grid{ grid-template-columns:1fr; gap:28px; } }
/* Hair — untergeordnet: 3:2-Kacheln, 5 pro Reihe, zunächst 2 Reihen + „Mehr laden" */
.vpsBA__grid--hair{ grid-template-columns:repeat(5,1fr); gap:26px 18px; padding-bottom:24px; }
@media(max-width:1180px){ .vpsBA__grid--hair{ grid-template-columns:repeat(4,1fr); } }
@media(max-width:900px){ .vpsBA__grid--hair{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:600px){ .vpsBA__grid--hair{ grid-template-columns:repeat(2,1fr); gap:22px 14px; } }
.vpsBA__card--hair .vpsBA__media{ aspect-ratio:3/2; }
.vpsBA__card--hair .vpsBA__img{ object-position:50% 32%; }
.vpsBA__card--hair .vpsBA__brand{ margin-top:12px; font-size:10px; }
.vpsBA__card--hair .vpsBA__t{ font-size:14px; line-height:1.3; }
.vpsBA__card--hair .vpsBA__date{ margin-top:6px; font-size:11px; }
.vpsBA__card--hair.is-hidden{ display:none; }

/* „Mehr laden"-Button */
.vpsBA__moreWrap{ display:flex; justify-content:center; padding:14px 0 96px; }
.vpsBA__more{ appearance:none; cursor:pointer; font-family:inherit; background:transparent; color:var(--ink);
	border:1px solid var(--line); border-radius:999px; padding:13px 30px; font-size:13px; font-weight:600; letter-spacing:.06em; transition:.2s; }
.vpsBA__more:hover{ border-color:var(--gold); color:var(--gold); }
.vpsBA__card{ display:block; text-decoration:none; color:inherit; }
.vpsBA__media{ position:relative; display:block; aspect-ratio:4/5; border-radius:10px; overflow:hidden; background:var(--stage1); box-shadow:0 1px 0 var(--line); }
.vpsBA__img{ width:100%; height:100%; object-fit:cover; object-position:50% 22%; display:block; transition:transform .6s ease; }
.vpsBA__card:hover .vpsBA__img{ transform:scale(1.045); }
.vpsBA__brand{ display:block; margin:14px 0 6px; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.vpsBA__t{ margin:14px 0 0; font-weight:700; color:var(--ink); font-size:18px; line-height:1.3; letter-spacing:-.01em; transition:color .2s ease; }
.vpsBA__brand + .vpsBA__t{ margin-top:0; }
.vpsBA__card:hover .vpsBA__t{ color:var(--gold); }
.vpsBA__ex{ margin:8px 0 0; color:var(--ink2); font-size:14px; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.vpsBA__date{ display:block; margin-top:9px; font-size:12px; letter-spacing:.05em; color:var(--muted); }

/* ============================================================
   FASHION — Runway-Spreads (Top 5) + Galerie-Grid (Rest)
   Volles Foto (object-fit:contain auf Ton-Fläche), scharfe Kanten.
   ============================================================ */
.vps--fashion-archive .vpsFA__head{ padding:70px 0 30px; }
.vps--fashion-archive .vpsFA__ey{ font-size:12px; letter-spacing:.3em; color:var(--gold); font-weight:600; text-transform:uppercase; margin-bottom:12px; }
.vps--fashion-archive .vpsFA__title{ margin:0; font-weight:700; color:var(--ink); font-size:clamp(34px,4.6vw,60px); line-height:1.02; letter-spacing:-.02em; }
.vps--fashion-archive .vpsFA__sub{ margin:16px 0 0; color:var(--muted); font-size:16px; max-width:62ch; }

/* Runway — alternierende Editorial-Spreads (Top 5), gerahmter Print */
.vpsFA__runway{ margin:22px 0 24px; }
.vpsFA__row{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,3.5vw,56px); align-items:start; padding:40px 0; border-bottom:1px solid var(--line); text-decoration:none; color:inherit; }
.vpsFA__row:first-child{ padding-top:8px; }
/* Standard (ungerade Reihen): Bild links, zur Mitte bündig — Text rechts, lesend */
.vpsFA__rowMedia{ justify-self:end; width:100%; max-width:500px; background:var(--card); border:1px solid var(--line); border-radius:3px; padding:18px; box-shadow:var(--shadow); transition:box-shadow .4s ease, transform .4s ease; }
.vpsFA__rowMedia img{ width:100%; height:auto; display:block; border-radius:2px; }
.vpsFA__row:hover .vpsFA__rowMedia{ transform:translateY(-3px); }
.vpsFA__rowBody{ justify-self:start; text-align:left; max-width:38ch; padding-top:6px; }
/* Gerade Reihen gespiegelt: Text links (rechtsbündig) — Bild rechts, zur Mitte bündig */
.vpsFA__row:nth-child(even) .vpsFA__rowMedia{ order:2; justify-self:start; }
.vpsFA__row:nth-child(even) .vpsFA__rowBody{ justify-self:end; text-align:right; }
.vpsFA__rowT{ margin:12px 0 0; font-family:"Fraunces",Georgia,serif; font-weight:400; color:var(--ink); font-size:clamp(26px,3vw,44px); line-height:1.08; letter-spacing:-.01em; }
.vpsFA__go{ display:inline-block; margin-top:22px; font-size:13px; font-weight:600; letter-spacing:.05em; color:var(--gold); border-bottom:1px solid transparent; }
.vpsFA__row:hover .vpsFA__go{ border-color:var(--gold); }
@media(max-width:860px){ .vpsFA__row{ grid-template-columns:1fr; gap:18px; padding:32px 0; } .vpsFA__row:nth-child(even) .vpsFA__rowMedia{ order:0; justify-self:start; } .vpsFA__rowMedia{ justify-self:start; max-width:440px; } .vpsFA__rowBody, .vpsFA__row:nth-child(even) .vpsFA__rowBody{ justify-self:start; text-align:left; } }

/* Galerie-Grid (Rest) — gerahmt, Bild vollständig */
.vpsFA__gridLab{ font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold); font-weight:600; margin:48px 0 20px; }
.vpsFA__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px 24px; padding-bottom:96px; }
@media(max-width:1000px){ .vpsFA__grid{ grid-template-columns:repeat(2,1fr); gap:26px 20px; } }
@media(max-width:600px){ .vpsFA__grid{ grid-template-columns:1fr; gap:24px; } }
.vpsFA__card{ display:block; text-decoration:none; color:inherit; background:var(--card); border:1px solid var(--line); border-radius:3px; padding:14px; transition:box-shadow .3s ease, transform .3s ease; }
.vpsFA__card:hover{ box-shadow:var(--shadow); transform:translateY(-3px); }
.vpsFA__frame{ display:flex; align-items:center; justify-content:center; aspect-ratio:3/4; overflow:hidden; background:var(--stage1); border-radius:2px; }
.vpsFA__img{ width:100%; height:100%; object-fit:contain; display:block; }
.vpsFA__brand{ display:block; margin:16px 2px 6px; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); font-weight:700; }
.vpsFA__t{ margin:0 2px; font-weight:600; color:var(--ink); font-size:16px; line-height:1.34; letter-spacing:-.005em; transition:color .2s ease; }
.vpsFA__card:hover .vpsFA__t{ color:var(--gold); }
.vpsFA__date{ display:block; margin:8px 2px 2px; font-size:12px; letter-spacing:.04em; color:var(--muted); }

/* ============================================================
   NEWS — Panel (Häppchen) + Lightbox
   ============================================================ */
.vps--news-archive .vpsNews__pageHead{ padding:70px 0 24px; }
.vpsNews{ background:var(--card); border:1px solid var(--line); border-radius:4px; padding:22px 22px 8px; max-width:520px; }
.vps--news-archive .vpsNews{ margin:0 0 90px; }
.vpsNews__head{ display:flex; align-items:center; gap:13px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.vpsNews__avatar{ flex:0 0 auto; width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:"General Sans",system-ui,sans-serif; font-weight:800; font-size:13px; letter-spacing:.02em; color:var(--gold); background:var(--stage1); border:1px solid var(--gold); }
.vpsNews__meta{ display:flex; flex-direction:column; gap:3px; }
.vpsNews__brand{ font-weight:700; color:var(--ink); font-size:16px; letter-spacing:-.01em; }
.vpsNews__sub{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.vpsNews__list{ display:block; }
.vpsNews__item{ display:block; text-decoration:none; color:inherit; padding:16px 0; border-bottom:1px solid var(--line); transition:padding-left .22s ease; }
.vpsNews__item:last-child{ border-bottom:0; }
.vpsNews__item:hover{ padding-left:6px; }
.vpsNews__row{ display:flex; align-items:center; gap:12px; margin-bottom:6px; }
.vpsNews__date{ font-size:12px; letter-spacing:.06em; color:var(--muted); font-weight:600; }
.vpsNews__read{ font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); font-weight:700; }
.vpsNews__t{ display:block; font-family:"Fraunces",Georgia,serif; font-weight:400; color:var(--ink); font-size:16px; line-height:1.34; letter-spacing:-.005em; transition:color .2s ease; }
.vpsNews__item:hover .vpsNews__t{ color:var(--gold); }
.vpsNews__ex{ display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-top:5px; color:var(--ink2); font-size:14px; line-height:1.5; }
.vpsNews__empty{ color:var(--muted); font-size:14px; padding:18px 0; }

/* Lightbox */
.vpsNL{ position:fixed; inset:0; z-index:9999; display:none; }
.vpsNL.is-open{ display:block; }
.vpsNL__backdrop{ position:absolute; inset:0; background:rgba(6,6,8,.72); backdrop-filter:saturate(120%) blur(2px); }
.vpsNL__modal{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:min(620px,calc(100vw - 32px)); max-height:calc(100vh - 64px); overflow:auto; background:var(--card); border:1px solid var(--line2,var(--line)); border-radius:8px; box-shadow:var(--shadow); padding:34px 34px 30px; }
.vpsNL__close{ position:absolute; top:12px; right:14px; width:34px; height:34px; border:0; background:transparent; color:var(--muted); font-size:26px; line-height:1; cursor:pointer; border-radius:6px; transition:color .2s ease, background .2s ease; }
.vpsNL__close:hover{ color:var(--ink); background:var(--stage1); }
.vpsNL__date{ display:block; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); font-weight:600; margin-bottom:10px; }
.vpsNL__title{ margin:0 0 16px; font-family:"Fraunces",Georgia,serif; font-weight:400; color:var(--ink); font-size:clamp(24px,3vw,34px); line-height:1.12; letter-spacing:-.01em; }
.vpsNL__body{ color:var(--ink2); font-size:16px; line-height:1.65; }
.vpsNL__body p{ margin:0 0 14px; }
.vpsNL__body a{ color:var(--gold); }
.vpsNL__body img{ max-width:100%; height:auto; border-radius:4px; }
.vpsNL__body .twitter-tweet{ margin:8px auto !important; }
@media(max-width:560px){ .vpsNL__modal{ padding:26px 20px 22px; } }

/* ============================================================
   SOCIAL-BÜNDEL (X + Instagram) — leicht farblich abgehoben
   ============================================================ */
.vpsSoc{ margin:16px 0 6px; padding:14px 14px 8px; background:var(--stage1); border:1px solid var(--line); border-radius:6px; }
.vpsSoc__h{ display:flex; align-items:center; gap:8px; padding:2px 2px 8px; }
.vpsSoc__lab{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); font-weight:700; }
.vpsSoc__handle{ font-size:12px; color:var(--muted); margin-left:auto; }
.vpsSoc__item{ display:flex; gap:10px; padding:10px 2px; border-top:1px solid var(--line); text-decoration:none; color:inherit; }
.vpsSoc__item:first-of-type{ border-top:0; }
.vpsSoc__badge{ flex:0 0 auto; width:22px; height:22px; border-radius:6px; display:inline-flex; align-items:center; justify-content:center; font-weight:800; font-size:10px; color:#fff; }
.vpsSoc__badge--x{ background:#111; }
.vpsSoc__badge--ig{ background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); }
.vpsSoc__b{ display:block; }
.vpsSoc__tx{ display:block; font-size:13px; line-height:1.45; color:var(--ink2); }
.vpsSoc__item:hover .vpsSoc__tx{ color:var(--ink); }
.vpsSoc__go{ color:var(--gold); font-weight:700; }
.vpsSoc__meta{ display:block; margin-top:2px; font-size:11px; color:var(--muted); }

/* ============================================================
   STARTSEITE — v2: Feature-Look + News/Social-Karte
   ============================================================ */
.vps--home{ }
.vps--home .vp-wrap{ padding-top:20px; padding-bottom:96px; }
.vpsHome__lab{ font-size:12px; letter-spacing:.26em; text-transform:uppercase; color:var(--muted); font-weight:600; padding:24px 0 18px; border-bottom:1px solid var(--line); margin-bottom:28px; }
.vpsHome__two{ display:grid; grid-template-columns:1.5fr 1fr; gap:clamp(28px,3vw,54px); align-items:start; }

/* Feature-Look (ein großes Foto) */
.vpsHome__feat{ position:relative; display:block; aspect-ratio:4/5; overflow:hidden; background:var(--stage1); text-decoration:none; }
.vpsHome__feat img{ width:100%; height:100%; object-fit:cover; object-position:50% 20%; display:block; transition:transform .9s ease; }
.vpsHome__feat:hover img{ transform:scale(1.03); }
.vpsHome__featov{ position:absolute; inset:0; display:flex; align-items:flex-end; background:linear-gradient(to top,rgba(8,7,5,.8) 3%,rgba(8,7,5,.02) 46%); }
.vpsHome__featcat{ display:block; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:#e9cf9c; font-weight:700; }
.vpsHome__featt{ display:block; font-family:"Fraunces",Georgia,serif; font-weight:400; color:#fff; font-size:clamp(24px,2.6vw,36px); line-height:1.08; margin-top:10px; max-width:20ch; }
.vpsHome__featov > *{ margin:0; }
.vpsHome__feat .vpsHome__featov{ padding:30px 32px; flex-direction:column; justify-content:flex-end; }

/* News-Karte auf der Startseite = volle Spaltenbreite */
.vpsHome__side{ position:sticky; top:88px; }
.vpsNews--home{ max-width:none; }

/* Footer der News-Karte */
.vpsNews__foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 0 6px; border-top:1px solid var(--line); margin-top:8px; }
.vpsNews__all{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); font-weight:700; text-decoration:none; }
.vpsNews__follow{ font-size:12px; color:var(--muted); text-decoration:none; }
.vpsNews__follow b{ color:var(--ink); font-weight:600; }

@media(max-width:900px){
  .vpsHome__two{ grid-template-columns:1fr; }
  .vpsHome__side{ position:static; }
  .vpsHome__feat{ aspect-ratio:3/4; }
}

/* ============================================================
   AUTHOR-BOX (Variante A) — editoriale Creme-Karte
   Einheitlich auf allen Artikel-Single-Layouts. Foto als Theme-Asset,
   sonst VP-Monogramm. Marken-Tokens: Fraunces (Serif), Gold-Akzent.
   ============================================================ */
.vp-author.vp-author--card{
  display:block; /* ueberschreibt das display:flex des Eltern-Themes (.vp-author) */
  position:relative; overflow:hidden;
  max-width:760px; margin:52px auto 12px;
  padding:38px 42px 36px;
  background:linear-gradient(158deg,#efe9df,#e3dcce);
  border:1px solid #d1c9bb;
  border-radius:18px;
  box-shadow:0 2px 5px rgba(20,20,20,.05), 0 34px 66px -38px rgba(20,20,20,.4);
}
.vps--social .vp-author--card, .vps1__read .vp-author--card{ margin-left:0; margin-right:auto; }
.vp-author--card::before{
  content:""; position:absolute; left:0; top:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--gold),var(--gold2) 55%,transparent);
}
.vp-author--card .vp-author__mark{
  position:absolute; right:-4px; bottom:-30px; z-index:0;
  font-family:"Fraunces",Georgia,serif; font-weight:600;
  font-size:150px; line-height:1; letter-spacing:-.03em;
  color:var(--gold); opacity:.08; pointer-events:none; user-select:none;
}
.vp-author--card .vp-author__ey{
  position:relative; z-index:1; display:block; margin-bottom:20px;
  font-size:11px; letter-spacing:.28em; text-transform:uppercase;
  color:var(--gold); font-weight:600;
}
.vp-author--card .vp-author__ey::before{
  content:""; display:inline-block; width:26px; height:1px;
  background:var(--gold); vertical-align:middle; margin-right:12px; opacity:.75;
}
.vp-author--card .vp-author__row{
  position:relative; z-index:1; display:flex; gap:26px; align-items:center;
}
.vp-author--card .vp-author__av{
  width:112px; height:112px; flex:0 0 auto; border-radius:50%;
  overflow:hidden; background:#efe9df; display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 0 2px #efe9df, 0 0 0 3px var(--gold);
}
.vp-author--card .vp-author__av img{ width:100%; height:100%; object-fit:cover; display:block; }
.vp-author--card .vp-author__mono{
  font-family:"Fraunces",Georgia,serif; font-weight:600; font-size:40px; color:var(--gold);
}
.vp-author--card .vp-author__name{
  font-family:"Fraunces",Georgia,serif; font-weight:600;
  font-size:28px; line-height:1.05; letter-spacing:-.01em; color:var(--ink);
}
.vp-author--card .vp-author__bio{
  font-size:15px; line-height:1.55; color:var(--ink2); margin:9px 0 0; max-width:44ch;
}
.vp-author--card .vp-author__links{ margin-top:16px; display:flex; flex-wrap:wrap; gap:10px; }
.vp-author--card .vp-author__links a{
  font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:600;
  color:var(--ink2); text-decoration:none;
  padding:8px 15px; border:1px solid var(--line2); border-radius:999px;
  transition:color .25s ease, border-color .25s ease;
}
.vp-author--card .vp-author__links a:hover{ color:var(--gold); border-color:var(--gold); }

/* Dark-Mode: dunkle Karte statt Creme */
:root[data-theme="dark"] .vp-author--card{
  background:linear-gradient(158deg,#1c1813,#131009);
  border-color:#332e27;
  box-shadow:0 34px 70px -34px rgba(0,0,0,.7);
}
:root[data-theme="dark"] .vp-author--card .vp-author__av{ background:#1c1813; box-shadow:0 0 0 2px #1c1813, 0 0 0 3px var(--gold); }
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]):not([data-theme="dark"]) .vp-author--card{
    background:linear-gradient(158deg,#1c1813,#131009);
    border-color:#332e27;
    box-shadow:0 34px 70px -34px rgba(0,0,0,.7);
  }
  :root:not([data-theme="light"]):not([data-theme="dark"]) .vp-author--card .vp-author__av{ background:#1c1813; box-shadow:0 0 0 2px #1c1813, 0 0 0 3px var(--gold); }
}
@media(max-width:560px){
  .vp-author--card{ padding:28px 22px 26px; border-radius:14px; }
  .vp-author--card .vp-author__row{ flex-direction:column; align-items:flex-start; gap:18px; }
  .vp-author--card .vp-author__av{ width:88px; height:88px; }
  .vp-author--card .vp-author__name{ font-size:24px; }
  .vp-author--card .vp-author__mark{ font-size:112px; bottom:-20px; }
}

/* ===== A1: About-Hero linksbündig an Seitengutter (Konsistenz mit Start/Marken) ===== */
.vp-about .vp-wrap{
  max-width:1520px;
  margin-left:0;
  margin-right:auto;
  padding-left:clamp(22px,3vw,52px);
  padding-right:clamp(22px,3vw,52px);
}

/* ============================================================
   NEWS-SEITE [vp_news_page] — Portrait-Feature (Titel unter Bild)
   + geteilter News/Social-Panel rechts, darunter Rubrik-Zeilen.
   ============================================================ */
.vps--newspage .vp-wrap{ padding-top:20px; padding-bottom:96px; }

/* Panel auf der News-Seite (wie Home) volle Breite der Spalte */
.vpsNews--page{ max-width:none; }

/* Top-Block: Portrait links, Ticker rechts */
.vpNP__top{ display:grid; grid-template-columns:580px 1fr; gap:clamp(28px,3.2vw,52px); align-items:start; padding:6px 0 10px; }
@media(max-width:1024px){ .vpNP__top{ grid-template-columns:1fr; gap:26px; } }

.vpNP__hero{ display:block; }
.vpNP__heroArt{ position:relative; display:block; aspect-ratio:4/5; overflow:hidden; border-radius:4px; background:var(--stage1); text-decoration:none; }
.vpNP__heroArt img{ width:100%; height:100%; object-fit:cover; object-position:50% 20%; display:block; transition:transform .9s ease; }
.vpNP__heroArt:hover img{ transform:scale(1.03); }
.vpNP__heroTag{ position:absolute; left:14px; top:14px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#f4ead9; background:rgba(28,24,20,.82); border-radius:12px; padding:5px 12px; font-weight:600; }
@media(max-width:1024px){ .vpNP__hero{ max-width:580px; } }

.vpNP__heroCap{ padding:18px 2px 0; }
.vpNP__kick{ display:block; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); font-weight:700; margin:0 0 9px; }
/* Hohe Spezifität, um die Eltern-Regel für Seiten-H1 (.body h1) zu schlagen.
   Hero-Titel in der Marken-Schrift (General Sans, bold) — passt zu den Rubrik-Titeln. */
.vps--newspage .vpNP__hero .vpNP__heroT{ margin:0 0 14px; font-family:"General Sans","Instrument Sans","Helvetica Neue",Arial,sans-serif; font-weight:700; color:var(--ink); font-size:clamp(28px,2.8vw,40px); line-height:1.08; letter-spacing:-.02em; }
.vpNP__heroBtn{ display:inline-block; font-size:13px; letter-spacing:.02em; text-decoration:none; color:var(--bg); background:var(--ink); border-radius:24px; padding:11px 20px; transition:background .2s ease; }
.vpNP__heroBtn:hover{ background:var(--gold); color:var(--pillknob); }

/* Rubrik-Zeilen */
.vpNP__cat{ padding:32px 0; border-top:1px solid var(--line); }
.vpNP__catHead{ display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin:0 0 20px; }
.vpNP__catT{ display:flex; align-items:baseline; gap:14px; }
.vpNP__no{ font-size:12px; letter-spacing:.14em; color:var(--gold); font-weight:700; }
.vpNP__catHead h2{ margin:0; font-weight:700; color:var(--ink); font-size:clamp(22px,2.3vw,27px); line-height:1.04; letter-spacing:-.015em; }
.vpNP__more{ white-space:nowrap; font-size:13px; letter-spacing:.02em; color:var(--ink); text-decoration:none; border:1px solid var(--line); border-radius:22px; padding:8px 16px; background:var(--card); transition:border-color .2s ease, color .2s ease; }
.vpNP__more:hover{ border-color:var(--gold); color:var(--gold); }
.vpNP__more span{ color:var(--gold); }

.vpNP__row{ display:grid; gap:20px 18px; }
.vpNP__row--fa,.vpNP__row--ba,.vpNP__row--sa{ grid-template-columns:repeat(4,1fr); }
.vpNP__row--ra{ grid-template-columns:repeat(4,1fr); }
.vpNP__row--va{ grid-template-columns:repeat(3,1fr); }
@media(max-width:1000px){
	.vpNP__row--fa,.vpNP__row--ba,.vpNP__row--sa,.vpNP__row--ra{ grid-template-columns:repeat(2,1fr); }
	.vpNP__row--va{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:560px){
	.vpNP__row--fa,.vpNP__row--ba,.vpNP__row--sa,.vpNP__row--va{ grid-template-columns:1fr; }
	.vpNP__row--ra{ grid-template-columns:repeat(2,1fr); gap:12px; }
}

/* News-Seite als WP-Page: innere .vp-wrap neutralisieren, damit die
   äußere Seiten-.vp-wrap (vp-wide) Breite + Randabstand allein steuert
   (kein doppelter Gutter/Max-Width). */
.vp-page .vps--newspage > .vp-wrap{ max-width:none; padding-left:0; padding-right:0; }

/* Journal — Seiten-Eyebrow oben (dezent, wie Archiv-Eyebrows) */
.vpNP__pageHead{ padding:2px 0 22px; }
.vpNP__eyebrow{ display:block; font-size:12px; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.vpNP__pageSub{ display:block; margin-top:8px; font-family:"Fraunces",Georgia,serif; font-weight:400; color:var(--ink); font-size:clamp(20px,2vw,26px); letter-spacing:-.01em; }

/* Brand-Karten (Eltern-Theme .vp-pcard): Porträts oben halten statt mittig
   zu beschneiden — Köpfe bleiben im Bild. Gilt für Home-Markengrid + /our-brands/. */
.vp-pcard img.bg{ object-position:50% 15% !important; }

/* Anklickbare Kategorie-Eyebrow (führt zum Kategorie-Archiv) — erbt das
   Eyebrow-Styling, nur dezenter Hover. Gilt für .cat- und .vps-eyebrow-Kopf. */
.vps .vp-post-head .cat a.vps-cat-link,
.vps .vps-eyebrow a.vps-cat-link{ color:inherit; text-decoration:none; transition:opacity .15s ease; }
.vps .vp-post-head .cat a.vps-cat-link:hover,
.vps .vps-eyebrow a.vps-cat-link:hover{ text-decoration:underline; text-underline-offset:3px; opacity:.8; }
