/*
Theme Name: Pixelwunder Theme
Theme URI: https://pixelwunder-sportfotografie.de
Author: Pixelwunder Sportfotografie
Description: Eigenes Theme im Pixelwunder-Design (dunkel + Gold) für die komplette Website — Blog, Archive, Suche, 404. Die Startseite läuft unabhängig davon über die "Pixelwunder Landingpage"-Plugin-Vorlage und ist von diesem Theme nicht betroffen.
Version: 1.9.23
Requires at least: 5.8
Requires PHP: 7.4
Text Domain: pixelwunder-theme
*/

@font-face{
  font-family:'Bebas Neue';
  src:url('assets/fonts/BebasNeue-Bold.ttf') format('truetype');
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

:root{
  --bg:#0b0b0c; --bg-raised:#141416; --line:#26262a;
  --gold:#f0b637; --gold-dim:#a87f2b;
  --ink:#f4f2ee; --ink-dim:#9c9a97;
  --serif:'Bebas Neue',sans-serif; --sans:'Oswald',sans-serif; --mono:'JetBrains Mono',monospace;
  --size-h1:42px; --size-h2:32px; --size-h3:24px; --size-body:16px; --size-nav:12.5px;
  --pad-section-y:64px;
  --pos-logo-x:0px; --pos-logo-y:0px;
  --pos-page-title-x:0px; --pos-page-title-y:0px;
}

*{box-sizing:border-box;}
html{background:var(--bg);}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-size:var(--size-body);line-height:1.65;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--gold);text-decoration:none;}
a:hover{color:color-mix(in srgb, var(--gold) 80%, white);}
.pxwt-wrap{max-width:1100px;margin:0 auto;padding:0 24px;}

h1,h2,h3,h4{font-family:var(--serif);font-weight:700;color:var(--ink);line-height:1.1;margin:0 0 .5em;}
h1{font-size:var(--size-h1);}
h2{font-size:var(--size-h2);}
h3{font-size:var(--size-h3);}
p{margin:0 0 1.2em;color:var(--ink-dim);}

/* ---- Header ---- */
.pxwt-header{border-bottom:1px solid var(--line);background:var(--bg);}
.pxwt-header-inner{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;max-width:1100px;margin:0 auto;flex-wrap:wrap;gap:16px;}
.pxwt-logo{
  font-family:var(--serif);font-weight:700;font-size:1.4rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--gold);text-decoration:none;
  transform:translate(var(--pos-logo-x),var(--pos-logo-y));
}
.pxwt-nav ul{list-style:none;display:flex;gap:28px;margin:0;padding:0;flex-wrap:wrap;}
.pxwt-nav li{position:relative;}
.pxwt-nav a{color:var(--ink-dim);font-size:var(--size-nav);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;}
.pxwt-nav a:hover{color:var(--gold);}

/* Dropdown-Untermenüs (z.B. Angebote unter "Shop") */
.pxwt-nav .sub-menu{
  display:none;position:absolute;top:100%;left:0;z-index:50;
  flex-direction:column;gap:0;min-width:230px;margin-top:0;
  background:var(--bg-raised);border:1px solid var(--line);padding:8px 0;
}
.pxwt-nav li:hover > .sub-menu,
.pxwt-nav li:focus-within > .sub-menu{display:flex;}
.pxwt-nav .sub-menu li{width:100%;}
.pxwt-nav .sub-menu a{display:block;padding:11px 20px;font-size:.74rem;white-space:nowrap;}
.pxwt-nav .sub-menu a:hover{background:var(--bg);}
.pxwt-nav li.menu-item-has-children > a::after{content:" ▾";font-size:.65em;opacity:.6;}

/* ---- Seitentitel-Balken ---- */
.pxwt-page-header{background:var(--bg-raised);border-bottom:1px solid var(--line);padding:48px 0;}
.pxwt-page-header h1{margin:0;transform:translate(var(--pos-page-title-x),var(--pos-page-title-y));}
.pxwt-page-header .pxwt-eyebrow{font-family:var(--mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:12px;}

/* ---- Content ---- */
.pxwt-content{padding:var(--pad-section-y) 0;}

/* Beitragsliste (Blog/Archiv/Suche) */
.pxwt-post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;}
.pxwt-post-card{background:var(--bg-raised);border:1px solid var(--line);display:flex;flex-direction:column;}
.pxwt-post-card-thumb{aspect-ratio:16/10;background:linear-gradient(150deg,#1c1c1e,#101012);overflow:hidden;}
.pxwt-post-card-thumb img{width:100%;height:100%;object-fit:cover;}
.pxwt-post-card-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1;}
.pxwt-post-card-meta{font-family:var(--mono);font-size:.7rem;color:var(--gold-dim);text-transform:uppercase;letter-spacing:.05em;}
.pxwt-post-card h2{font-size:1.15rem;margin:0;}
.pxwt-post-card h2 a{color:var(--ink);}
.pxwt-post-card h2 a:hover{color:var(--gold);}
.pxwt-post-card p{font-size:.9rem;margin:0;flex:1;}
.pxwt-read-more{font-size:.8rem;color:var(--gold);border-top:1px solid var(--line);padding-top:10px;margin-top:auto;}

/* Einzelner Beitrag / Seite */
.pxwt-single{max-width:760px;margin:0 auto;}
.pxwt-single-meta{font-family:var(--mono);font-size:.75rem;color:var(--gold-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:18px;}
.pxwt-single-thumb{margin-bottom:32px;border:1px solid var(--line);}
.pxwt-entry-content{font-size:var(--size-body);}
.pxwt-entry-content p{color:var(--ink);}
.pxwt-entry-content a{border-bottom:1px solid var(--gold-dim);}
.pxwt-entry-content h2,.pxwt-entry-content h3{margin-top:1.4em;}
.pxwt-entry-content img{margin:1.5em 0;}
.pxwt-entry-content blockquote{border-left:3px solid var(--gold);padding-left:20px;margin:1.5em 0;color:var(--ink-dim);font-style:italic;}

/* Pagination */
.pxwt-pagination{display:flex;gap:10px;margin-top:48px;flex-wrap:wrap;}
.pxwt-pagination a,.pxwt-pagination span{
  padding:10px 16px;border:1px solid var(--line);color:var(--ink-dim);font-size:.85rem;text-decoration:none;
}
.pxwt-pagination a:hover{border-color:var(--gold);color:var(--gold);}
.pxwt-pagination .current{border-color:var(--gold);color:var(--gold);}

/* Suchformular */
.pxwt-search-form{display:flex;gap:10px;margin-bottom:32px;max-width:480px;}
.pxwt-search-form input[type="search"]{
  flex:1;background:var(--bg-raised);border:1px solid var(--line);color:var(--ink);
  padding:12px 14px;font-family:var(--sans);font-size:.95rem;
}
.pxwt-search-form button{
  background:var(--gold);border:1px solid var(--gold);color:#141416;font-weight:600;
  padding:0 20px;cursor:pointer;font-family:var(--sans);
}

/* Portfolio-Seite */
.pxwt-portfolio-content{margin-bottom:24px;}
.pxwt-portfolio-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px;
}
.pxwt-portfolio-tile{display:block;aspect-ratio:1;overflow:hidden;border:1px solid var(--line);}
.pxwt-portfolio-tile img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;}
.pxwt-portfolio-tile:hover img{transform:scale(1.05);}

/* Klassische WordPress-Galerie im Editor ins Design einpassen */
.pxwt-entry-content .wp-block-gallery{gap:4px;}
.pxwt-entry-content .wp-block-image img,
.pxwt-entry-content .blocks-gallery-item img{border:1px solid var(--line);}
.pxwt-entry-content figcaption{color:var(--ink-dim);font-size:.8rem;}

/* Kontaktseite */
.pxwt-contact-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:40px;align-items:start;max-width:1100px;margin:0 auto;}
.pxwt-contact-card{background:var(--bg-raised);border:1px solid var(--line);padding:32px;display:flex;flex-direction:column;gap:0;}
.pxwt-contact-card h3{font-family:var(--serif);font-size:1.3rem;margin:0 0 16px;}
.pxwt-contact-card .pxwt-entry-content{margin-bottom:8px;}
.pxwt-contact-row{display:flex;flex-direction:column;gap:4px;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none;}
.pxwt-contact-label{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gold-dim);}
.pxwt-contact-value{color:var(--ink);font-size:.95rem;}
.pxwt-contact-card .pxwt-btn{margin-top:24px;text-align:center;}

/* ---- Formular-Box ---- */
.pxwt-contact-formbox{
  background:linear-gradient(150deg,#171716 0%,#0e0e0f 100%);
  border:1px solid var(--gold-dim);
  padding:40px;
  position:relative;
  overflow:hidden;
}
.pxwt-contact-formbox::before{
  content:"";position:absolute;top:-30%;right:-15%;width:55%;height:160%;
  background:radial-gradient(circle, rgba(240,182,55,.08) 0%, transparent 70%);
  pointer-events:none;
}
.pxwt-contact-formbox > *{ position:relative; z-index:2; }
.pxwt-contact-formbox h2{font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,2rem);margin:12px 0 12px;}
.pxwt-contact-formbox-lead{color:var(--ink-dim);font-size:.95rem;margin:0 0 28px;max-width:48ch;}

.pxwt-cf7-missing{border:1px dashed var(--line);padding:20px;color:var(--ink-dim);font-size:.85rem;}
.pxwt-cf7-missing code{background:var(--bg);padding:2px 6px;color:var(--gold);}
.pxwt-cf7-missing .pxwt-btn{display:inline-block;margin-top:14px;}

/* ---- Contact Form 7 im Pixelwunder-Design ---- */
.pxwt-cf7-wrap .wpcf7-form p{margin:0 0 18px;}
.pxwt-cf7-wrap .wpcf7-form label{display:block;font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gold-dim);margin-bottom:8px;}
.pxwt-cf7-wrap .wpcf7-form input[type="text"],
.pxwt-cf7-wrap .wpcf7-form input[type="email"],
.pxwt-cf7-wrap .wpcf7-form input[type="tel"],
.pxwt-cf7-wrap .wpcf7-form select,
.pxwt-cf7-wrap .wpcf7-form textarea{
  width:100%;background:var(--bg);border:1px solid var(--line);color:var(--ink);
  padding:13px 14px;font-family:var(--sans);font-size:.92rem;
  transition:border-color .15s;
}
.pxwt-cf7-wrap .wpcf7-form textarea{min-height:140px;resize:vertical;}
.pxwt-cf7-wrap .wpcf7-form input:focus,
.pxwt-cf7-wrap .wpcf7-form select:focus,
.pxwt-cf7-wrap .wpcf7-form textarea:focus{outline:none;border-color:var(--gold);}
.pxwt-cf7-wrap .wpcf7-form input[type="submit"]{
  width:auto;background:var(--gold);color:#141416;font-weight:600;border:1px solid var(--gold);
  padding:14px 32px;cursor:pointer;letter-spacing:.02em;font-size:.9rem;transition:background .15s;
}
.pxwt-cf7-wrap .wpcf7-form input[type="submit"]:hover{background:color-mix(in srgb, var(--gold) 80%, white);}
.pxwt-cf7-wrap .wpcf7-form input[type="submit"]:disabled{opacity:.5;cursor:not-allowed;}
.pxwt-cf7-wrap .wpcf7-spinner{margin-left:10px;}
.pxwt-cf7-wrap .wpcf7-not-valid-tip{color:#e06666;font-size:.78rem;margin-top:6px;}
.pxwt-cf7-wrap .wpcf7-not-valid{border-color:#e06666 !important;}
.pxwt-cf7-wrap .wpcf7-response-output{
  border:1px solid var(--gold-dim) !important;color:var(--ink) !important;
  margin:18px 0 0 !important;padding:12px 16px !important;font-size:.85rem;
}
.pxwt-cf7-wrap .wpcf7-mail-sent-ok{border-color:var(--gold) !important;color:var(--gold) !important;}

@media(max-width:700px){
  .pxwt-contact-grid,.pxwt-about-grid{grid-template-columns:1fr;}
}

/* ---- Buchen-Übersicht: Leistungs-Karten ---- */
.pxwt-booking-intro{padding:80px 0 20px;}
.pxwt-booking-intro-inner{max-width:900px;margin:0 auto;}
.pxwt-booking-grid-section{padding:40px 0 84px;}
.pxwt-booking-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.pxwt-booking-card{
  position:relative;display:flex;flex-direction:column;
  background:var(--bg-raised);border:1px solid var(--line);
  padding:32px 28px;text-decoration:none;transition:border-color .2s,transform .2s;
}
.pxwt-booking-card:hover{border-color:var(--gold);transform:translateY(-4px);}
.pxwt-booking-card-num{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dim);display:block;margin-bottom:18px;}
.pxwt-booking-card h3{font-family:var(--serif);font-size:1.5rem;margin:0 0 10px;color:var(--ink);}
.pxwt-booking-card p{color:var(--ink-dim);font-size:.92rem;margin:0 0 24px;flex:1;}
.pxwt-booking-card-link{font-family:var(--mono);font-size:.78rem;letter-spacing:.03em;color:var(--gold);text-decoration:none;border-top:1px solid var(--line);padding-top:16px;margin-top:auto;}
.pxwt-booking-card:hover .pxwt-booking-card-link{color:var(--gold);}
.pxwt-booking-card-link::after{content:" →";}

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

.pxwt-btn{display:inline-block;background:var(--gold);color:#141416;font-weight:600;text-decoration:none;padding:14px 24px;border:1px solid var(--gold);}

/* WordPress-Standard-Button-Block innerhalb unserer .pxwt-btn-Karten
   auf das Theme-Design zurücksetzen (sonst zeigt WP eine dunkle Pille
   in einem gelben Kasten statt eines einzigen, sauberen Buttons). */
.wp-block-buttons .wp-block-button.pxwt-btn{
  background:none !important;border:none !important;padding:0 !important;
}
.wp-block-buttons .wp-block-button.pxwt-btn .wp-block-button__link{
  display:inline-block;background:var(--gold) !important;color:#141416 !important;
  font-weight:600;text-decoration:none;padding:14px 24px;border:1px solid var(--gold);
  border-radius:0 !important;font-family:var(--sans);
}
.wp-block-buttons .wp-block-button.pxwt-btn .wp-block-button__link:hover{
  background:color-mix(in srgb, var(--gold) 80%, white) !important;
}
.pxwt-btn:hover{background:color-mix(in srgb, var(--gold) 80%, white);color:#141416;}

/* Über-mich-Seite */
.pxwt-about-grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:48px;align-items:start;}
.pxwt-about-portrait{border:1px solid var(--line);overflow:hidden;}
.pxwt-about-portrait-placeholder{
  aspect-ratio:4/5;background:linear-gradient(160deg,#1a1a1c,#0e0e10);
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.pxwt-about-portrait-placeholder span{font-family:var(--mono);font-size:.72rem;color:var(--ink-dim);text-align:center;}

@media(max-width:700px){
  .pxwt-contact-grid,.pxwt-about-grid{grid-template-columns:1fr;}
}

/* 404 */
.pxwt-404{text-align:center;padding:80px 0;}
.pxwt-404 .pxwt-404-code{font-family:var(--serif);font-weight:700;font-size:6rem;color:var(--gold-dim);line-height:1;margin-bottom:16px;}

/* ---- Footer ---- */
.pxwt-footer{border-top:1px solid var(--line);padding:40px 0;text-align:center;}
.pxwt-footer p{margin:0;font-size:.85rem;color:var(--ink-dim);}

@media(max-width:700px){
  .pxwt-header-inner{flex-direction:column;align-items:flex-start;}
}

/* ---- Angebotsseiten (Spieler-Shooting, Social-Media-Betreuung) ---- */
.pxwt-offer-intro-grid{display:grid;grid-template-columns:0.7fr 1.3fr;gap:44px;align-items:start;}
.pxwt-offer-portrait{border:1px solid var(--line);overflow:hidden;}
.pxwt-offer-portrait img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;}
.pxwt-offer-intro-text p{color:var(--ink-dim);font-size:1rem;margin:0 0 18px;}

.pxwt-offer-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;}
.pxwt-offer-chips span{
  border:1px solid var(--gold-dim);color:var(--gold);font-size:.75rem;
  padding:7px 14px;border-radius:999px;font-family:var(--sans);white-space:nowrap;
}

.pxwt-section-eyebrow{font-family:var(--mono);font-size:.72rem;color:var(--gold);letter-spacing:.14em;text-transform:uppercase;display:block;margin-bottom:24px;}

.pxwt-offer-steps-section{background:var(--bg-raised);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.pxwt-offer-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
.pxwt-offer-step-num{font-family:var(--serif);font-weight:700;font-size:1.8rem;color:var(--gold-dim);display:block;margin-bottom:10px;}
.pxwt-offer-step h3{margin:0 0 8px;font-size:1.1rem;}
.pxwt-offer-step p{color:var(--ink-dim);font-size:.9rem;margin:0;}

.pxwt-offer-cards{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:24px;margin-bottom:32px;}
.pxwt-offer-card{background:var(--bg-raised);border:1px solid var(--line);padding:28px;}
.pxwt-offer-card-highlight{border-color:var(--gold-dim);}
.pxwt-offer-card h3{margin:0 0 4px;font-size:1.3rem;}
.pxwt-offer-card-tagline{color:var(--ink-dim);font-size:.85rem;font-style:italic;margin:0 0 18px;}
.pxwt-offer-card ul{list-style:none;margin:0;padding:0;}
.pxwt-offer-card li{position:relative;padding-left:20px;font-size:.88rem;color:var(--ink-dim);margin-bottom:10px;}
.pxwt-offer-card li::before{content:"–";position:absolute;left:0;color:var(--gold-dim);}

.pxwt-offer-price-note{border:1px dashed var(--line);padding:18px 22px;margin-bottom:40px;}
.pxwt-offer-price-note p{margin:0;color:var(--ink-dim);font-size:.88rem;}
.pxwt-offer-price-note strong{color:var(--ink);}

.pxwt-offer-individual-box{
  background:linear-gradient(150deg,#171716 0%,#0e0e0f 100%);
  border:1px solid var(--gold);padding:36px 40px;margin-bottom:40px;
}
.pxwt-offer-individual-box h2{margin:0 0 14px;font-size:1.6rem;}
.pxwt-offer-individual-box p{color:var(--ink-dim);font-size:.95rem;margin:0 0 20px;max-width:70ch;}
.pxwt-offer-topics{display:flex;flex-wrap:wrap;gap:8px 24px;}
.pxwt-offer-topics span{color:var(--gold);font-size:.85rem;}
.pxwt-offer-topics span::before{content:"• ";}

.pxwt-offer-cta{text-align:center;padding:24px 0 8px;}
.pxwt-offer-cta h2{font-size:1.4rem;margin:0 0 20px;}
.pxwt-offer-cta .pxwt-btn{display:inline-block;}

@media(max-width:800px){
  .pxwt-offer-intro-grid{grid-template-columns:1fr;}
  .pxwt-offer-steps{grid-template-columns:1fr;}
  .pxwt-offer-cards{grid-template-columns:1fr !important;}
}

/* ==================================================================
   Angebots-Hero: großer, kraftvoller Einstieg statt Standard-Titel
   ================================================================== */
.pxwt-offer-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#141416 0%,#0b0b0c 65%);border-bottom:1px solid var(--gold-dim);padding:72px 0 84px;}
.pxwt-offer-hero-texture{
  position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:repeating-linear-gradient(115deg, #1c1c1e 0px, #1c1c1e 2px, transparent 2px, transparent 64px);
}
.pxwt-offer-hero-glow{
  position:absolute;top:-20%;right:-10%;width:60%;height:140%;pointer-events:none;
  background:radial-gradient(circle, rgba(240,182,55,.14) 0%, transparent 70%);
}
.pxwt-offer-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr 0.8fr;gap:56px;align-items:center;}
.pxwt-offer-hero-tag{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:18px;}
.pxwt-offer-hero-text h1{font-size:clamp(2.2rem,4.2vw,3.4rem);line-height:1.05;margin:0 0 20px;}
.pxwt-offer-hero-text h1 em{font-style:normal;color:var(--gold);}
.pxwt-offer-hero-text p{color:var(--ink-dim);font-size:1.05rem;max-width:44ch;margin:0 0 28px;}
.pxwt-btn-hero{font-size:.95rem;padding:15px 30px;}

/* ==================================================================
   Zweispaltiger Bereich: Angebotsliste links, Ablauf mit Bildern rechts
   ================================================================== */
.pxwt-split{display:grid !important;grid-template-columns:0.7fr 1.3fr !important;gap:0;}
.pxwt-split-left{border:1px solid var(--line);}
.pxwt-split-card{padding:32px;border-top:1px solid var(--line);}
.pxwt-split-card:first-child{border-top:none;}
.pxwt-split-card h3{margin:0 0 4px;font-size:1.3rem;}
.pxwt-split-card-tagline{color:var(--ink-dim);font-size:.85rem;font-style:italic;margin:0 0 16px;}
.pxwt-split-card .wp-block-buttons{margin-top:16px;}
.pxwt-split-right{padding:64px 48px;}
.pxwt-split-right .pxwt-section-eyebrow{font-size:.85rem;}
.pxwt-tl-row{display:flex;gap:36px;align-items:flex-start;margin-bottom:56px;}
.pxwt-tl-row:last-child{margin-bottom:0;}
.pxwt-tl-row-text{flex:1 1 auto;min-width:0;}
.pxwt-tl-row-text .pxwt-offer-tl-badge{width:54px;height:54px;font-size:1.3rem;}
.pxwt-tl-row-text h3{font-size:1.4rem;margin:0 0 12px;}
.pxwt-tl-row-text p{font-size:1rem;}
.pxwt-tl-image-placeholder{
  flex:0 0 50%;aspect-ratio:4/3;background:#ffffff;border:1px solid var(--line);
}
@media(max-width:900px){
  .pxwt-split{grid-template-columns:1fr !important;}
  .pxwt-split-right{padding:40px 24px;}
  .pxwt-tl-row{flex-direction:column;gap:20px;margin-bottom:40px;}
  .pxwt-tl-image-placeholder{flex-basis:auto;width:100%;}
}

.pxwt-offer-hero-portrait{position:relative;}
.pxwt-offer-hero-portrait-img{
  aspect-ratio:4/5;background-size:cover;background-position:center;
  border:2px solid var(--gold);box-shadow:0 0 0 8px rgba(240,182,55,.08);
}
.pxwt-offer-hero-portrait-placeholder{
  background:linear-gradient(160deg,#1a1a1c,#0e0e10);
  display:flex;align-items:center;justify-content:center;padding:24px;
}
.pxwt-offer-hero-portrait-placeholder span{font-family:var(--mono);font-size:.72rem;color:var(--ink-dim);text-align:center;}
.pxwt-offer-hero-badge{
  position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);
  background:var(--gold);color:#141416;font-family:var(--mono);font-size:.7rem;font-weight:600;
  padding:7px 16px;white-space:nowrap;letter-spacing:.02em;
}

/* ==================================================================
   Story-Bereich: Zitat + Fließtext + Chips
   ================================================================== */
.pxwt-offer-story{padding:80px 0 60px;}
.pxwt-offer-story-inner{max-width:900px;margin:0 auto;}
.pxwt-offer-lead{
  font-family:var(--serif);font-size:1.5rem;line-height:1.4;color:var(--ink);
  border-left:3px solid var(--gold);padding-left:24px;margin:0 0 36px;font-style:italic;
}
.pxwt-offer-story-text p{color:var(--ink-dim);font-size:1.02rem;margin:0 0 18px;max-width:70ch;}
.pxwt-offer-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.pxwt-offer-chips span{
  border:1px solid var(--gold-dim);color:var(--gold);font-size:.78rem;
  padding:8px 16px;border-radius:999px;font-family:var(--sans);white-space:nowrap;
}

/* ==================================================================
   Timeline: nummerierte Schritte mit Verbindungslinie
   ================================================================== */
.pxwt-offer-timeline-section{background:var(--bg-raised);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:72px 0;}
.pxwt-tl-cta{text-align:center;margin-top:56px;padding-top:40px;border-top:1px solid var(--line);}
.pxwt-offer-tl-cta-item h3{margin-bottom:18px;}
.pxwt-offer-tl-cta-item .pxwt-btn{display:inline-block;}
.pxwt-offer-timeline{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:8px;}
.pxwt-offer-tl-item{position:relative;padding-right:24px;margin-bottom:28px;}
.pxwt-offer-tl-badge{
  display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;border:2px solid var(--gold);border-radius:50%;
  font-family:var(--serif);font-weight:700;font-size:1.15rem;color:var(--gold);
  margin:0 0 22px;background:var(--bg-raised);position:relative;z-index:2;
}
.pxwt-offer-tl-line{position:absolute;top:23px;left:46px;right:-8px;height:2px;background:var(--gold-dim);z-index:1;}
.pxwt-offer-tl-last .pxwt-offer-tl-line{display:none;}
.pxwt-offer-tl-item h3{margin:0 0 8px;font-size:1.15rem;}
.pxwt-offer-tl-item p{color:var(--ink-dim);font-size:.9rem;margin:0;}

/* Muss NACH der Basis-.pxwt-offer-timeline-Regel stehen, sonst gewinnt
   diese wegen gleicher !important-Spezifität und späterer Reihenfolge. */
.pxwt-offer-timeline-4{grid-template-columns:repeat(4,1fr) !important;}
@media(max-width:900px){
  .pxwt-offer-timeline-4{grid-template-columns:1fr !important;}
}

@media(max-width:800px){
  .pxwt-offer-timeline{grid-template-columns:1fr !important;}
  .pxwt-offer-tl-item{padding-right:0;}
}

/* ==================================================================
   Pakete: Karten mit Eckband und Preishinweis
   ================================================================== */
.pxwt-offer-packages{padding:80px 0;}
.pxwt-offer-cards{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:28px;margin:32px 0 40px;}
.pxwt-offer-cards-2{grid-template-columns:repeat(2,1fr) !important;}
.pxwt-offer-card{position:relative;background:var(--bg-raised);border:1px solid var(--line);padding:32px;overflow:hidden;transition:transform .2s;display:flex;flex-direction:column;}
.pxwt-offer-card .wp-block-buttons{margin-top:auto;}
.pxwt-offer-card-highlight{border-color:var(--gold);background:linear-gradient(160deg,#171716 0%,#0e0e0f 100%);}
.pxwt-offer-ribbon{
  position:absolute;top:16px;right:-32px;transform:rotate(40deg);
  background:var(--gold);color:#141416;font-size:.68rem;font-weight:700;
  padding:5px 40px;letter-spacing:.03em;text-transform:uppercase;
}
.pxwt-offer-card h3{margin:0 0 4px;font-size:1.4rem;font-family:var(--serif);}
.pxwt-offer-card-tagline{color:var(--ink-dim);font-size:.85rem;font-style:italic;margin:0 0 20px;}
.pxwt-offer-card ul{list-style:none;margin:0;padding:0;}
.pxwt-offer-card li{position:relative;padding-left:26px;font-size:.9rem;color:var(--ink);margin-bottom:12px;}
.pxwt-offer-card li::before{
  content:"";position:absolute;left:0;top:5px;width:14px;height:8px;
  border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg);
}

.pxwt-offer-price-note{
  display:flex;align-items:flex-start;gap:16px;
  border:1px dashed var(--gold-dim);background:rgba(240,182,55,.05);padding:22px 26px;
}
.pxwt-offer-price-icon{
  flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--gold);color:#141416;
  display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:1rem;
}
.pxwt-offer-price-note p{margin:6px 0 0;color:var(--ink-dim);font-size:.92rem;}
.pxwt-offer-price-note strong{color:var(--ink);}

/* ==================================================================
   Individuelles Angebot (Social-Media-Seite)
   ================================================================== */
.pxwt-offer-individual-box-lg{
  position:relative;background:linear-gradient(150deg,#1a1712 0%,#0e0e0f 100%);
  border:1px solid var(--gold);padding:48px;text-align:left;
}
.pxwt-offer-individual-box-lg .pxwt-offer-price-icon{margin-bottom:18px;font-size:1.2rem;}
.pxwt-offer-individual-box-lg h2{font-size:1.9rem;margin:0 0 16px;}
.pxwt-offer-individual-box-lg p{color:var(--ink-dim);font-size:1rem;margin:0 0 24px;max-width:70ch;}
.pxwt-offer-topics{display:flex;flex-wrap:wrap;gap:10px 28px;}
.pxwt-offer-topics span{color:var(--gold);font-size:.9rem;}
.pxwt-offer-topics span::before{content:"• ";}

/* ==================================================================
   CTA-Band am Seitenende
   ================================================================== */
.pxwt-offer-cta-band{background:var(--bg-raised);border-top:1px solid var(--gold-dim);padding:56px 0;}
.pxwt-offer-cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.pxwt-offer-cta-band-inner h2{margin:0 0 8px;font-size:1.8rem;}
.pxwt-offer-cta-band-inner p{margin:0;color:var(--ink-dim);}
.pxwt-btn-lg{padding:16px 34px;font-size:.95rem;white-space:nowrap;}

@media(max-width:800px){
  .pxwt-offer-hero-inner{grid-template-columns:1fr;}
  .pxwt-offer-hero-portrait{max-width:280px;margin:0 auto;}
  .pxwt-offer-cards{grid-template-columns:1fr !important;}
  .pxwt-offer-cta-band-inner{flex-direction:column;align-items:flex-start;}
}

/* ==================================================================
   Galerie-Vorlagen: Foto-Slider (Hoch- und Querformat)
   Ein Foto sichtbar, wischen/Pfeile/Punkte zum Wechseln.
   Name nur auf dem allerersten Foto.
   ================================================================== */
.pxwt-gallery-empty{text-align:center;color:var(--ink-dim);padding:60px 20px;border:1px dashed var(--line);margin:40px 0;}

.pxwt-slider{
  position:relative;margin:40px auto;overflow:hidden;background:#000;
  border:1px solid var(--line);outline:none;
}
.pxwt-slider-hoch{max-width:480px;aspect-ratio:4/5;}
.pxwt-slider-quer{max-width:900px;aspect-ratio:16/9;}

.pxwt-slider-track{display:flex;height:100%;transition:transform .4s ease;}
.pxwt-slide{
  flex:0 0 100%;height:100%;position:relative;
  background-size:cover;background-position:center;
}

.pxwt-slide-nametag{
  position:absolute;left:0;right:0;bottom:0;padding:36px 28px 26px;
  background:linear-gradient(180deg, rgba(11,11,12,0) 35%, rgba(11,11,12,.88) 100%);
}
.pxwt-slide-eyebrow{
  display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);margin-bottom:10px;
}
.pxwt-slide-nametag h1{
  font-family:var(--serif);font-weight:700;font-size:clamp(1.8rem,4.5vw,2.8rem);
  line-height:1.05;margin:0;color:var(--ink);
}

.pxwt-slider-prev,.pxwt-slider-next{
  position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;
  border-radius:50%;background:rgba(11,11,12,.55);border:1px solid var(--gold-dim);
  color:var(--ink);font-size:1.4rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;z-index:3;
}
.pxwt-slider-prev{left:14px;}
.pxwt-slider-next{right:14px;}
.pxwt-slider-prev:hover,.pxwt-slider-next:hover{border-color:var(--gold);color:var(--gold);}

.pxwt-slider-dots{
  position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:6px;z-index:3;
}
.pxwt-slider-dot{
  width:6px;height:6px;border-radius:50%;background:rgba(244,242,238,.35);cursor:pointer;transition:all .2s;
}
.pxwt-slider-dot.is-active{width:16px;border-radius:3px;background:var(--gold);}

@media(max-width:600px){
  .pxwt-slider-hoch,.pxwt-slider-quer{max-width:100%;}
  .pxwt-slider-prev,.pxwt-slider-next{width:34px;height:34px;font-size:1.2rem;}
}

/* ==================================================================
   Galerien-Übersicht: Kachelraster mit Link zu jeder Galerie-Seite
   ================================================================== */
.pxwt-gallery-overview-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px;
}
.pxwt-gallery-overview-tile{
  position:relative;display:block;aspect-ratio:4/5;overflow:hidden;
  background:linear-gradient(160deg,#1a1a1c,#0e0e10);border:1px solid var(--line);
}
.pxwt-gallery-overview-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.pxwt-gallery-overview-tile:hover img{transform:scale(1.06);}
.pxwt-gallery-overview-placeholder{width:100%;height:100%;}
.pxwt-gallery-overview-name{
  position:absolute;left:0;right:0;bottom:0;padding:18px 16px;
  background:linear-gradient(180deg, rgba(11,11,12,0) 40%, rgba(11,11,12,.9) 100%);
}
.pxwt-gallery-overview-name span{
  font-family:var(--serif);font-weight:700;font-size:1.2rem;color:var(--ink);
}
.pxwt-gallery-overview-tile:hover .pxwt-gallery-overview-name span{color:var(--gold);}
