/*
Theme Name: The Pretty Girl Files
Theme URI: https://theprettygirlfiles.com
Author: The Pretty Girl Files
Description: Custom editorial theme — case-file aesthetic, pink & Bodoni Moda, for The Pretty Girl Files beauty blog.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: pgf
*/

:root{
  --pink: #E72A76;
  --pink-deep: #B8195C;
  --paper: #F9C3D8;
  --paper-dark: #F4A9C6;
  --ink: #1C1414;
  --blush: #F6D3E0;
  --silver: #C7C6CE;
  --wine: #7A1030;
  --line: rgba(28,20,20,.15);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Fraunces', serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--pink); color:var(--paper);}

.mono{font-family:'Space Mono', monospace;}
.hand{font-family:'Caveat', cursive;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}

/* ===== NAV ===== */
nav.pgf-nav{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:center;
  padding: 22px 5vw;
  background:linear-gradient(100deg, var(--pink) 0%, var(--pink-deep) 100%);
  box-shadow:0 4px 18px -6px rgba(184,25,92,.55);
}
.pgf-logo{
  font-family:'Bodoni Moda', serif;
  font-weight:700;
  font-style:italic;
  font-size:32px;
  letter-spacing:.01em;
  color:#fff;
  display:flex; align-items:center; gap:11px;
  line-height:1;
}
.pgf-logo .dot{width:7px; height:7px; border-radius:50%; background:#fff; display:inline-block; margin-top:2px;}

/* ===== HERO ===== */
.pgf-hero{
  position:relative;
  min-height:70vh;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding: 60px 5vw 100px;
}
.pgf-eyebrow{
  font-family:'Space Mono', monospace;
  font-size:11px; letter-spacing:.25em; text-transform:uppercase;
  color:var(--wine);
  border:1px solid var(--wine);
  padding:5px 14px;
  margin-bottom:26px;
  transform:rotate(-1.5deg);
  background:var(--paper);
}
.pgf-folder-wrap{ position:relative; width:min(880px, 92vw); }
.pgf-folder-back{
  position:absolute; top:14px; left:2%; width:96%; height:100%;
  background:var(--paper-dark); border:1px solid var(--line); transform:rotate(-1.2deg); z-index:1;
}
.pgf-folder{
  position:relative; z-index:2; background:#FFFCF6; border:1px solid var(--line);
  box-shadow: 0 30px 60px -20px rgba(28,20,20,.35);
  padding: 54px 6vw 60px; transform:rotate(0.4deg);
}
.pgf-folder-tab{
  position:absolute; top:-26px; left:40px; background:var(--pink); color:#fff;
  font-family:'Space Mono', monospace; font-size:11px; letter-spacing:.15em; text-transform:uppercase;
  padding:8px 20px 10px; transform:rotate(-2deg); box-shadow:0 6px 14px rgba(231,42,118,.35);
}
.pgf-stamp{
  position:absolute; top:36px; right:5%; border:2.5px solid var(--wine); color:var(--wine);
  font-family:'Big Shoulders Display', sans-serif; font-weight:900; font-size:14px; letter-spacing:.15em;
  padding:8px 14px; transform:rotate(9deg); opacity:.85; mix-blend-mode:multiply;
}
.pgf-hero h1{
  font-family:'Fraunces', serif; font-weight:600; font-style:italic;
  font-size:clamp(2.4rem, 6.4vw, 5rem); line-height:.98; margin:8px 0 22px; max-width:780px;
}
.pgf-hero h1 .straight{font-style:normal; font-weight:400;}
.pgf-hero h1 .accent{color:var(--pink);}
.pgf-hero p.lede{
  font-family:'Space Mono', monospace; font-size:14px; line-height:1.7; max-width:480px;
  color:rgba(28,20,20,.75); margin-bottom:30px; border-left:2px solid var(--pink); padding-left:16px;
}
.pgf-btn{
  font-family:'Space Mono', monospace; font-size:12px; letter-spacing:.1em; text-transform:uppercase;
  background:var(--pink); color:#fff; border:none; padding:14px 26px; cursor:pointer;
  box-shadow:4px 4px 0 var(--ink); transition:transform .15s ease, box-shadow .15s ease; display:inline-block;
}
.pgf-btn:hover{transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--ink);}

/* ===== marquee ===== */
.pgf-marquee{
  background:var(--ink); color:var(--paper); overflow:hidden; white-space:nowrap; padding:12px 0;
  border-top:1px solid var(--pink); border-bottom:1px solid var(--pink);
}
.pgf-marquee-track{
  display:inline-block; font-family:'Space Mono', monospace; font-size:12px; letter-spacing:.2em;
  text-transform:uppercase; animation: pgf-scroll 32s linear infinite;
}
.pgf-marquee-track span{margin:0 22px; color:var(--pink);}
@keyframes pgf-scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* ===== sections ===== */
.pgf-section{ position:relative; z-index:1; padding: 90px 5vw; }
.pgf-section-head{
  display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:48px; flex-wrap:wrap; gap:14px;
  border-bottom:1.5px solid var(--ink); padding-bottom:18px;
}
.pgf-section-head .num{ font-family:'Space Mono', monospace; font-size:12px; color:var(--pink); letter-spacing:.15em; }
.pgf-section-head h2{
  font-family:'Fraunces', serif; font-weight:400; font-style:italic; font-size:clamp(1.8rem,4vw,3rem); margin:6px 0 0;
}

/* departments */
.pgf-departments{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(210px,1fr)); gap:1px;
  background:var(--ink); border:1px solid var(--ink);
}
.pgf-dept{ background:var(--paper); padding:34px 24px; transition:.25s ease; cursor:pointer; position:relative; overflow:hidden; display:block; }
.pgf-dept:hover{background:var(--pink); color:#fff;}
.pgf-dept:hover .pgf-dept-no{color:var(--blush);}
.pgf-dept-no{font-family:'Space Mono', monospace; font-size:11px; color:var(--pink); transition:.25s ease;}
.pgf-dept h3{font-family:'Fraunces', serif; font-weight:600; font-size:22px; margin:10px 0 8px;}
.pgf-dept p{font-family:'Space Mono', monospace; font-size:12px; line-height:1.6; opacity:.75; margin:0;}

/* file grid */
.pgf-files-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:34px; }
.pgf-file-card{ background:#FFFCF6; border:1px solid var(--line); position:relative; padding-bottom:6px; transition:transform .25s ease, box-shadow .25s ease; display:block; }
.pgf-file-card:hover{ transform:translateY(-6px); box-shadow:0 20px 34px -16px rgba(28,20,20,.3); }
.pgf-file-thumb{ height:190px; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; border-bottom:1px solid var(--line); background-size:cover; background-position:center; }
.pgf-file-thumb .verdict{
  position:absolute; top:12px; right:12px; font-family:'Space Mono', monospace; font-size:9.5px; letter-spacing:.12em; text-transform:uppercase;
  padding:5px 9px; border:1.5px solid #fff; color:#fff; transform:rotate(-4deg);
}
.v-verified{background:rgba(231,42,118,.9);}
.v-promising{background:rgba(122,16,48,.75);}
.v-unproven{background:rgba(28,20,20,.6);}
.v-myth{background:rgba(28,20,20,.75);}
.pgf-file-body{padding:20px 20px 8px;}
.pgf-file-body .tag{ font-family:'Space Mono', monospace; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--pink); }
.pgf-file-body h3{ font-family:'Fraunces', serif; font-weight:500; font-style:italic; font-size:20px; line-height:1.25; margin:8px 0 10px; }
.pgf-file-body p{ font-family:'Space Mono', monospace; font-size:12px; line-height:1.7; color:rgba(28,20,20,.7); margin:0 0 16px; }
.pgf-file-foot{ display:flex; justify-content:space-between; align-items:center; font-family:'Space Mono', monospace; font-size:10px; letter-spacing:.08em; padding:0 20px 18px; color:rgba(28,20,20,.5); }
.pgf-thumb-fallback{ background:linear-gradient(155deg,#F6D3E0 0%, #E72A76 90%); width:100%; height:100%; }

/* manifesto */
.pgf-manifesto{ background:var(--ink); color:var(--paper); padding:110px 5vw; text-align:center; position:relative; }
.pgf-manifesto h2{ font-family:'Fraunces', serif; font-weight:400; font-style:italic; font-size:clamp(1.7rem, 4.6vw, 3.4rem); line-height:1.25; max-width:900px; margin:0 auto; }
.pgf-manifesto .accent{color:var(--pink); font-weight:600;}
.pgf-manifesto .sign{ font-family:'Caveat', cursive; font-size:28px; color:var(--pink); margin-top:34px; display:block; }

/* join */
.pgf-join{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
@media(max-width:800px){.pgf-join{grid-template-columns:1fr;}}
.pgf-join-copy h2{ font-family:'Fraunces', serif; font-weight:400; font-style:italic; font-size:clamp(1.7rem,3.6vw,2.6rem); margin:0 0 18px; line-height:1.15; }
.pgf-join-copy p{ font-family:'Space Mono', monospace; font-size:13px; line-height:1.8; color:rgba(28,20,20,.7); max-width:420px; }
.pgf-join-form{ background:#FFFCF6; border:1px solid var(--ink); padding:38px; position:relative; }
.pgf-join-form label{ display:block; font-family:'Space Mono', monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; margin-bottom:8px; color:rgba(28,20,20,.6); }
.pgf-join-form input{ width:100%; border:none; border-bottom:1.5px solid var(--ink); background:transparent; padding:10px 4px; margin-bottom:26px; font-family:'Fraunces', serif; font-size:16px; color:var(--ink); }
.pgf-join-form input:focus{outline:2px solid var(--pink); outline-offset:4px;}

/* footer */
footer.pgf-footer{ padding:60px 5vw 34px; border-top:1px solid var(--line); }
.pgf-close-seal{ display:flex; flex-direction:column; align-items:center; margin-bottom:44px; }
.pgf-seal-img{ width:64px; height:64px; border-radius:50%; overflow:hidden; box-shadow:0 10px 22px -8px rgba(122,16,48,.45); margin-bottom:10px; }
.pgf-seal-img img{ width:100%; height:100%; object-fit:cover; }
.pgf-seal-label{ font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--wine); font-family:'Space Mono', monospace; }
.pgf-foot-row{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; }
.pgf-foot-sign{ font-family:'Caveat', cursive; font-size:22px; color:var(--wine); }
.pgf-foot-links{ display:flex; gap:20px; align-items:center; font-family:'Space Mono', monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.pgf-foot-links a{opacity:.7;}
.pgf-foot-links a:hover{opacity:1; color:var(--pink);}
.pgf-old-heart{ display:inline-flex; flex-direction:column; align-items:center; gap:2px; font-family:'Space Mono', monospace; font-weight:700; font-size:20px; color:var(--pink); transform:rotate(-6deg); line-height:1; margin-left:4px; }
.pgf-old-heart small{ font-size:8px; letter-spacing:.14em; text-transform:uppercase; color:var(--wine); font-weight:400; }

/* single post */
.pgf-single{ max-width:760px; margin:0 auto; padding:70px 5vw; }
.pgf-single .tag{ font-family:'Space Mono', monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--pink); }
.pgf-single h1{ font-family:'Fraunces', serif; font-weight:500; font-style:italic; font-size:clamp(2rem,4.5vw,3.2rem); line-height:1.15; margin:10px 0 20px; }
.pgf-single .verdict-badge{ display:inline-block; font-family:'Space Mono', monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; padding:8px 16px; color:#fff; margin-bottom:30px; }
.pgf-single .featured{ margin-bottom:34px; }
.pgf-single .entry-content{ font-family:'Fraunces', serif; font-size:18px; line-height:1.75; }
.pgf-single .entry-content p{ margin:0 0 22px; }
.pgf-single .entry-content h2{ font-style:italic; font-weight:600; margin:44px 0 16px; }

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .pgf-marquee-track{animation:none;}
}
