/* =====================================================================
   pearl-guide.css — .pbg-* namespaced styles for pearl guide pages
   Editorial, magazine-style feel with premium typography.
   ===================================================================== */

:root{
  --pbg-gold:#C49A3C;
  --pbg-gold-dark:#A37F26;
  --pbg-dark:#18110A;
  --pbg-cream:#fbf4e0;
  --pbg-cream-light:#fffdf7;
  --pbg-text:#2d2418;
  --pbg-text-m:#6b5e49;
  --pbg-border:#e8dcba;
}

.pbg-wrap{
  background:var(--pbg-cream-light);
  color:var(--pbg-text);
  overflow-x:hidden;
}
.pbg-container{
  max-width:980px;
  margin:0 auto;
  padding:0 24px;
}
.pbg-prose{max-width:760px;margin-left:auto;margin-right:auto}

/* ═══ HERO ═══ */
.pbg-hero{
  position:relative;
  padding:100px 24px 88px;
  text-align:center;
  overflow:hidden;
  background:linear-gradient(180deg,#18110A 0%,#2a1f13 60%,#3a2e1e 100%);
  color:#fff7e1;
}
.pbg-hero-bg{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 15% 25%, rgba(196,154,60,.18) 0%, transparent 45%),
    radial-gradient(circle at 85% 75%, rgba(196,154,60,.14) 0%, transparent 50%),
    radial-gradient(circle at 50% 0%, rgba(246,237,216,.08) 0%, transparent 60%);
}
.pbg-hero-inner{position:relative;z-index:1;max-width:820px;margin:0 auto}
.pbg-kicker{
  display:inline-block;
  font-family:var(--sans,'DM Sans',sans-serif);
  font-size:.72rem;font-weight:600;
  color:var(--pbg-gold);
  text-transform:uppercase;
  letter-spacing:.22em;
  padding-bottom:4px;
  border-bottom:1px solid rgba(196,154,60,.3);
}
.pbg-hero-title{
  font-family:var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size:clamp(2.2rem, 5vw, 3.6rem);
  font-weight:500;
  color:#fff7e1;
  margin:18px 0 18px;
  line-height:1.15;
  letter-spacing:.01em;
}
.pbg-hero-title em{
  color:var(--pbg-gold);
  font-style:italic;
  font-weight:400;
}
.pbg-hero-sub{
  font-family:var(--sans,'DM Sans',sans-serif);
  font-size:1.05rem;
  color:#c8b98e;
  margin:0 auto 32px;
  max-width:640px;
  line-height:1.65;
}
.pbg-hero-meta{
  display:inline-flex;
  gap:10px;
  align-items:center;
  font-size:.82rem;
  color:#9b8a5c;
  letter-spacing:.04em;
}
.pbg-hero-meta .dot{opacity:.5}

/* ═══ TOC ═══ */
.pbg-toc{
  background:#fff;
  border-top:1px solid var(--pbg-border);
  border-bottom:1px solid var(--pbg-border);
  padding:22px 0;
  position:sticky;
  top:0;
  z-index:40;
  backdrop-filter:saturate(160%) blur(6px);
  background:rgba(255,253,247,.95);
}
.pbg-toc-title{
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--pbg-gold-dark);
  margin-bottom:10px;
}
.pbg-toc-list{
  list-style:none;
  margin:0;padding:0;
  display:flex;
  gap:28px;
  flex-wrap:wrap;
  font-family:var(--sans,'DM Sans',sans-serif);
  font-size:.9rem;
}
.pbg-toc-list a{
  color:var(--pbg-text);
  text-decoration:none;
  border-bottom:1px solid transparent;
  padding-bottom:2px;
  transition:all .15s ease;
}
.pbg-toc-list a:hover{color:var(--pbg-gold-dark);border-bottom-color:var(--pbg-gold)}

/* ═══ SECTIONS ═══ */
.pbg-section{padding:72px 0;position:relative}
.pbg-section-alt{background:var(--pbg-cream)}
.pbg-section .pbg-kicker{color:var(--pbg-gold-dark);border-bottom-color:rgba(163,127,38,.3)}
.pbg-h2{
  font-family:var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size:clamp(1.8rem, 3.5vw, 2.6rem);
  font-weight:600;
  color:var(--pbg-dark);
  margin:14px 0 10px;
  line-height:1.2;
  letter-spacing:.01em;
  max-width:780px;
}
.pbg-sub{
  font-family:var(--sans,'DM Sans',sans-serif);
  font-size:1.02rem;
  color:var(--pbg-text-m);
  line-height:1.7;
  max-width:680px;
  margin:0 0 40px;
}
.pbg-lead{
  font-family:var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size:1.4rem;
  font-weight:400;
  line-height:1.55;
  color:var(--pbg-dark);
  font-style:italic;
}
.pbg-prose p{
  font-size:1.02rem;
  line-height:1.8;
  color:var(--pbg-text);
  margin:20px 0;
}

/* ═══ TYPE CARDS (4-UP GRID) ═══ */
.pbg-cards-4{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
  margin-top:8px;
}
.pbg-type-card{
  background:#fff;
  border:1px solid var(--pbg-border);
  border-radius:10px;
  padding:28px 26px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.pbg-type-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(24,17,10,.08);
}
.pbg-type-icon{
  display:inline-flex;
  align-items:center;justify-content:center;
  width:48px;height:48px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--pbg-gold) 0%,var(--pbg-gold-dark) 100%);
  color:#fff;
  font-family:var(--serif,'Cormorant Garamond',Georgia,serif);
  font-weight:600;
  font-size:1.05rem;
  letter-spacing:.05em;
  margin-bottom:14px;
}
.pbg-type-card h3{
  font-family:var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size:1.45rem;
  font-weight:600;
  color:var(--pbg-dark);
  margin:0 0 4px;
}
.pbg-type-origin{
  font-size:.82rem;
  color:var(--pbg-gold-dark);
  letter-spacing:.03em;
  margin:0 0 14px;
}
.pbg-type-card ul{
  list-style:none;
  margin:0;padding:0;
  font-size:.92rem;
  line-height:1.7;
  color:var(--pbg-text);
}
.pbg-type-card li{padding:3px 0}
.pbg-type-card li strong{color:var(--pbg-dark);font-weight:600}

/* ═══ CALLOUT ═══ */
.pbg-callout{
  margin:36px 0 0;
  padding:22px 26px;
  background:#fff;
  border-left:4px solid var(--pbg-gold);
  border-radius:4px;
  box-shadow:0 2px 10px rgba(24,17,10,.04);
  font-size:.98rem;
  line-height:1.7;
  color:var(--pbg-text);
}
.pbg-callout strong{color:var(--pbg-dark);font-weight:700}
.pbg-callout-warn{border-left-color:#c96b2c;background:#fff8f0}

/* ═══ TESTS (REAL VS FAKE) ═══ */
.pbg-tests{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.pbg-test{
  background:#fff;
  border:1px solid var(--pbg-border);
  border-radius:10px;
  padding:26px 24px;
  position:relative;
}
.pbg-test-num{
  font-family:var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size:1.6rem;
  color:var(--pbg-gold);
  font-weight:600;
  margin-bottom:10px;
  letter-spacing:.02em;
}
.pbg-test h3{
  font-family:var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size:1.35rem;
  color:var(--pbg-dark);
  margin:0 0 10px;
  font-weight:600;
}
.pbg-test p{
  font-size:.95rem;
  line-height:1.7;
  color:var(--pbg-text);
  margin:0;
}

/* ═══ GRADING ═══ */
.pbg-grades{
  display:flex;
  flex-direction:column;
  gap:28px;
}
.pbg-grade{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:24px;
  background:#fff;
  border-radius:10px;
  padding:26px 26px;
  border:1px solid var(--pbg-border);
}
.pbg-grade-badge{
  width:54px;height:54px;
  border-radius:50%;
  background:var(--pbg-dark);
  color:var(--pbg-gold);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size:1.6rem;
  font-weight:600;
  border:2px solid var(--pbg-gold);
}
.pbg-grade-content h3{
  font-family:var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size:1.5rem;
  color:var(--pbg-dark);
  margin:0 0 2px;
  font-weight:600;
}
.pbg-grade-tag{
  font-size:.78rem;
  color:var(--pbg-gold-dark);
  text-transform:uppercase;
  letter-spacing:.15em;
  margin:0 0 12px;
  font-weight:600;
}
.pbg-grade-content p:not(.pbg-grade-tag){
  font-size:.96rem;
  line-height:1.75;
  color:var(--pbg-text);
  margin:0;
}

/* ═══ LENGTH GUIDE ═══ */
.pbg-lengths{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.pbg-length{
  background:#fff;
  border:1px solid var(--pbg-border);
  border-radius:10px;
  padding:24px 22px;
  text-align:center;
  transition:transform .2s ease;
}
.pbg-length:hover{transform:translateY(-2px)}
.pbg-length-size{
  display:inline-block;
  font-family:var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size:1.6rem;
  color:var(--pbg-gold-dark);
  font-weight:600;
  padding:4px 16px;
  border:1px solid var(--pbg-gold);
  border-radius:20px;
  margin-bottom:12px;
}
.pbg-length h3{
  font-family:var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size:1.35rem;
  color:var(--pbg-dark);
  margin:0 0 10px;
}
.pbg-length p{
  font-size:.9rem;
  line-height:1.6;
  color:var(--pbg-text);
  margin:0;
}

/* ═══ CERTIFICATE ═══ */
.pbg-cert-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}
.pbg-cert-list{
  background:#fff;
  padding:28px 26px;
  border:1px solid var(--pbg-border);
  border-radius:10px;
}
.pbg-cert-list h3{
  font-family:var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size:1.25rem;
  color:var(--pbg-dark);
  margin:0 0 14px;
  font-weight:600;
}
.pbg-cert-list ul{
  list-style:none;
  padding:0;margin:0;
}
.pbg-cert-list li{
  position:relative;
  padding:8px 0 8px 24px;
  font-size:.94rem;
  line-height:1.6;
  color:var(--pbg-text);
  border-bottom:1px solid rgba(232,220,186,.5);
}
.pbg-cert-list li:last-child{border-bottom:none}
.pbg-cert-list li::before{
  content:'✓';
  position:absolute;
  left:0;top:8px;
  color:var(--pbg-gold);
  font-weight:700;
}

/* ═══ PRICE TIERS ═══ */
.pbg-price-tiers{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
}
.pbg-price-tier{
  background:#fff;
  border:1px solid var(--pbg-border);
  border-radius:10px;
  padding:22px 18px;
  position:relative;
  transition:transform .2s ease, box-shadow .2s ease;
}
.pbg-price-tier:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 20px rgba(24,17,10,.08);
}
.pbg-price-range{
  font-family:var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size:1.05rem;
  font-weight:600;
  color:var(--pbg-gold-dark);
  margin-bottom:8px;
  letter-spacing:.01em;
}
.pbg-price-tier h3{
  font-family:var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size:1.2rem;
  color:var(--pbg-dark);
  margin:0 0 10px;
  font-weight:600;
}
.pbg-price-tier p{
  font-size:.88rem;
  line-height:1.6;
  color:var(--pbg-text);
  margin:0;
}

/* ═══ CHECKLIST ═══ */
.pbg-checklist{
  max-width:780px;
  background:#fff;
  border:1px solid var(--pbg-border);
  border-radius:10px;
  padding:30px 28px;
}
.pbg-check{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:12px 0;
  border-bottom:1px solid rgba(232,220,186,.6);
  cursor:pointer;
  font-size:.96rem;
  line-height:1.55;
  color:var(--pbg-text);
}
.pbg-check:last-child{border-bottom:none}
.pbg-check input[type="checkbox"]{
  appearance:none;-webkit-appearance:none;
  width:20px;height:20px;
  border:2px solid var(--pbg-gold);
  border-radius:4px;
  flex-shrink:0;
  margin-top:1px;
  cursor:pointer;
  position:relative;
  transition:all .15s ease;
}
.pbg-check input[type="checkbox"]:checked{
  background:var(--pbg-gold);
}
.pbg-check input[type="checkbox"]:checked::after{
  content:'✓';
  position:absolute;
  top:-3px;left:3px;
  color:#fff;
  font-weight:700;
  font-size:.95rem;
}
.pbg-check input[type="checkbox"]:checked + span{
  text-decoration:line-through;
  color:var(--pbg-text-m);
}

/* ═══ CTA ═══ */
.pbg-cta{
  background:linear-gradient(180deg,#18110A 0%,#2a1f13 100%);
  color:#fff7e1;
  padding:80px 24px;
  text-align:center;
}
.pbg-cta-inner{max-width:700px;margin:0 auto}
.pbg-cta h2{
  font-family:var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size:clamp(1.8rem,3.5vw,2.4rem);
  color:#fff7e1;
  font-weight:500;
  margin:0 0 16px;
  line-height:1.25;
}
.pbg-cta p{
  font-size:1rem;
  line-height:1.7;
  color:#c8b98e;
  margin:0 auto 28px;
  max-width:560px;
}
.pbg-cta-buttons{
  display:inline-flex;
  gap:14px;
  flex-wrap:wrap;
  justify-content:center;
  margin-bottom:28px;
}
.pbg-btn{
  display:inline-flex;
  align-items:center;
  padding:14px 28px;
  border-radius:4px;
  text-decoration:none;
  font-family:var(--sans,'DM Sans',sans-serif);
  font-size:.95rem;
  font-weight:600;
  letter-spacing:.03em;
  transition:all .15s ease;
}
.pbg-btn-gold{
  background:var(--pbg-gold);
  color:#18110A;
  border:1px solid var(--pbg-gold);
}
.pbg-btn-gold:hover{background:var(--pbg-gold-dark);color:#fff}
.pbg-btn-out{
  background:transparent;
  color:var(--pbg-gold);
  border:1px solid var(--pbg-gold);
}
.pbg-btn-out:hover{background:var(--pbg-gold);color:#18110A}
.pbg-cta-related a{
  color:#c8b98e;
  font-size:.92rem;
  text-decoration:none;
  border-bottom:1px solid rgba(200,185,142,.3);
  padding-bottom:2px;
}
.pbg-cta-related a:hover{color:var(--pbg-gold);border-bottom-color:var(--pbg-gold)}

/* ═══ RESPONSIVE ═══ */
@media (max-width:900px){
  .pbg-cards-4{grid-template-columns:1fr}
  .pbg-tests{grid-template-columns:1fr}
  .pbg-lengths{grid-template-columns:repeat(2,1fr)}
  .pbg-cert-grid{grid-template-columns:1fr}
  .pbg-price-tiers{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .pbg-section{padding:52px 0}
  .pbg-hero{padding:70px 20px 60px}
  .pbg-toc-list{gap:18px;font-size:.82rem}
  .pbg-lengths{grid-template-columns:1fr}
  .pbg-price-tiers{grid-template-columns:1fr}
  .pbg-grade{grid-template-columns:1fr;gap:14px}
  .pbg-grade-badge{width:46px;height:46px;font-size:1.35rem}
  .pbg-cta-buttons{flex-direction:column;align-items:stretch}
  .pbg-btn{justify-content:center}
}
