/*
Theme Name: PGS – Platin Grading Service
Theme URI: https://platin-grading-service.de
Author: PGS
Author URI: https://platin-grading-service.de
Description: Dunkles, Apple-inspiriertes Theme fuer den Platin Grading Service. Alle 8 Seiten (DE/EN) inkl. Header & Footer im Platin-Design. Reines CSS, keine externen Frameworks.
Version: 2.18.5
License: GNU General Public License v2 or later
Text Domain: pgs-platin
*/

/* ===== Globale dunkle Basis (verhindert weisse Hintergruende) ===== */
html{background:#070708;}
body{
  margin:0;padding:0;background:#070708;color:#D6D6DC;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
*{box-sizing:border-box;}
img{max-width:100%;height:auto;}
a{color:#86A8FF;}

/* Seiteninhalt rahmenlos, volle Breite */
.pgs-site{width:100%;overflow-x:hidden;}
.pgs-main{display:block;width:100%;}

/* ===== Schutz gegen fremde Plugin-/Theme-Linkfarben =====
   Helle Platin-Buttons MUESSEN dunklen Text behalten,
   Ghost-Buttons hellen Text. Mit !important gegen Ueberschreibungen. */
.btn-p, .btn-p *, .pgs-btn-primary, .pgs-btn-primary *, .gp-btn-primary, .gp-btn-primary *{color:#0C0C0D !important;}
.btn-p svg *, .pgs-btn-primary svg *, .gp-btn-primary svg *{stroke:#0C0C0D !important;}
.btn-g, .pgs-btn-ghost, .gp-btn-ghost{color:#F4F4F6 !important;}
.btn-g svg *, .pgs-btn-ghost svg *, .gp-btn-ghost svg *{stroke:#86A8FF !important;}

/* WordPress Admin-Bar nicht ueber dem Sticky-Header */
@media screen and (max-width:782px){.admin-bar .pgs-hd{top:46px;}}
@media screen and (min-width:783px){.admin-bar .pgs-hd{top:32px;}}

/* ===== Einheitlicher Platin/Metallic-Look + Aurora-Lichtschleier =====
   Vereinheitlicht die hellen Theme-Buttons mit dem Premium-Look aus Shop/Checkout. */
:root{--pgs-metal:linear-gradient(105deg,#9aa0ad 0%,#e9ebf0 16%,#ffffff 30%,#c3c7d1 46%,#9aa0ad 60%,#eef0f4 76%,#c3c7d1 92%);}
.btn-p,.pgs-btn-primary,.gp-btn-primary{position:relative;overflow:hidden;isolation:isolate;
  background:var(--pgs-metal) !important;background-size:200% 100% !important;
  box-shadow:0 14px 40px -20px rgba(214,214,220,.55),inset 0 1px 0 rgba(255,255,255,.65),0 0 0 1px rgba(91,140,255,.18) !important;
  animation:pgs-metalshift 6s ease-in-out infinite;}
.btn-p>*,.pgs-btn-primary>*,.gp-btn-primary>*{position:relative;z-index:2;}
.btn-p::after,.pgs-btn-primary::after,.gp-btn-primary::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;
  background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.85) 50%,transparent 62%);
  transform:translateX(-130%);animation:pgs-sheen 6s ease-in-out infinite;}
.btn-p:hover,.pgs-btn-primary:hover,.gp-btn-primary:hover{transform:translateY(-2px);
  box-shadow:0 20px 50px -18px rgba(91,140,255,.4),inset 0 1px 0 rgba(255,255,255,.7),0 0 0 1px rgba(91,140,255,.4) !important;}
@keyframes pgs-sheen{0%{transform:translateX(-130%)}55%{transform:translateX(130%)}100%{transform:translateX(130%)}}
@keyframes pgs-metalshift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media (prefers-reduced-motion:reduce){
  .btn-p,.pgs-btn-primary,.gp-btn-primary{animation:none}
  .btn-p::after,.pgs-btn-primary::after,.gp-btn-primary::after{animation:none;display:none}
}

/* ===== PGS Motion: sanfter Scroll-Reveal (Apple-Stil) =====
   Aktiv nur mit JS (html.pgs-motion, gesetzt von assets/js/pgs-motion.js).
   Ohne JS oder mit "Bewegung reduzieren" bleibt alles sofort sichtbar.
   Dynamische Bereiche (Shop, Pop Report, Live Stats, Status) sind ausgenommen.
   Karten animieren als Ganzes – ihr Innenleben wird per :not() ausgenommen. */
html.pgs-motion :is(.pgs-home,.gp-grading,.pgs-scale,.pgs-faq,.pgs-about,.pgs-news,.pgs-article,.pgs-legal,.pgs-pvp)
  :is(h1,h2,h3,p,img,figure,table,[class*="card"],[class*="badge"],[class*="crit"],[class*="tile"]):not(.pgs-in):not(.pgs-ticker *):not(:is([class*="card"],[class*="badge"],[class*="crit"],[class*="tile"]) *){
  opacity:0;transform:translateY(18px);
}
html.pgs-motion :is(.pgs-home,.gp-grading,.pgs-scale,.pgs-faq,.pgs-about,.pgs-news,.pgs-article,.pgs-legal,.pgs-pvp)
  :is(h1,h2,h3,p,img,figure,table,[class*="card"],[class*="badge"],[class*="crit"],[class*="tile"]){
  transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);
}
html.pgs-motion .pgs-in{opacity:1 !important;transform:none !important;}
@media (prefers-reduced-motion:reduce){
  html.pgs-motion :is(.pgs-home,.gp-grading,.pgs-scale,.pgs-faq,.pgs-about,.pgs-news,.pgs-article,.pgs-legal,.pgs-pvp)
    :is(h1,h2,h3,p,img,figure,table,[class*="card"],[class*="badge"],[class*="crit"],[class*="tile"]){
    opacity:1 !important;transform:none !important;transition:none !important;
  }
}

/* ============== CCCon Event-Banner (Startseite, zwischen Hero & Warum PGS) ============== */
.pgs-cccon-wrap{margin:56px auto 16px;max-width:1240px;padding:0 24px}
.pgs-cccon{
  position:relative;display:block;text-decoration:none;color:inherit;
  border-radius:22px;overflow:hidden;
  background:linear-gradient(180deg,#0e1014 0%,#080a0d 100%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 30px 80px -30px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.02) inset;
  transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .35s;
}
.pgs-cccon:hover, .pgs-cccon:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 40px 90px -30px rgba(217,170,40,.28), 0 0 0 1px rgba(217,170,40,.28) inset;
  border-color:rgba(217,170,40,.4);
  outline:none;
}
.pgs-cccon-media{position:relative;display:block;width:100%;aspect-ratio:1200/220;overflow:hidden}
.pgs-cccon-media img, .pgs-cccon-media picture{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.pgs-cccon-ind{
  position:absolute;top:12px;right:12px;z-index:3;
  width:36px;height:36px;border-radius:50%;
  background:rgba(0,0,0,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;color:#fff;
  transition:background .25s, border-color .25s, color .25s, transform .25s;
}
.pgs-cccon-ind svg{width:14px;height:14px;transition:transform .25s}
.pgs-cccon:hover .pgs-cccon-ind{background:rgba(217,170,40,.95);color:#0a0a0a;border-color:#f1d977}
.pgs-cccon:hover .pgs-cccon-ind svg{transform:translate(2px,-2px)}
@media (max-width:720px){
  .pgs-cccon-wrap{margin:36px auto 8px;padding:0 16px}
  .pgs-cccon{border-radius:18px}
  .pgs-cccon-media{aspect-ratio:1200/300}
  .pgs-cccon-ind{width:32px;height:32px;top:10px;right:10px}
}
