
/* DermPrep Idea 9.30 — canonical Pimp Me page endings */
:root{
  --pm930-forest:#0B4A3F;
  --pm930-dark:#083A32;
  --pm930-coral:#F07A62;
  --pm930-cream:#F7F1E7;
  --pm930-paper:#FFFDF8;
  --pm930-text:#173F38;
  --pm930-muted:#62736F;
  --pm930-gold:#B99A5E;
  --pm930-line:#DED6CA;
}

/* Short pages should end when their content ends. */
body.pm930-page{
  min-height:100vh;
  margin:0;
  display:flex;
  flex-direction:column;
  background:var(--pm930-paper);
}
body.pm930-page > .qp-main{flex:0 0 auto;min-height:0!important}
body.pm930-page > .pm930-education,
body.pm930-page > .pm930-continuation,
body.pm930-page > .pm930-site-footer{flex:0 0 auto}

/* Education notice: compact trust layer, not a pseudo-footer. */
.pm930-education{
  background:var(--pm930-dark);
  color:var(--pm930-cream);
  padding:40px 0;
  margin:0!important;
}
.pm930-education p{
  max-width:920px;
  margin:0;
  color:#E5EEEB;
  font-size:.88rem;
  line-height:1.65;
}
.pm930-education strong{color:#fff}

/* Continuation system */
.pm930-continuation{
  background:var(--pm930-paper);
  padding:48px 0 42px;
  border-bottom:1px solid var(--pm930-line);
}
.pm930-continuation-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,.55fr);
  gap:28px;
  align-items:end;
  margin-bottom:22px;
}
.pm930-eyebrow{
  margin:0 0 7px;
  color:var(--pm930-coral);
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.pm930-continuation h2{
  margin:0;
  color:var(--pm930-text);
  font:600 clamp(1.85rem,3.2vw,2.7rem)/1.05 "Playfair Display",Georgia,serif;
  letter-spacing:-.025em;
}
.pm930-continuation-copy{
  margin:0;
  color:var(--pm930-muted);
  font-size:.87rem;
  line-height:1.6;
}
.pm930-skill-row{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:14px 0 0;
}
.pm930-skill-row span{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:5px 9px;
  border:1px solid rgba(240,122,98,.45);
  border-radius:999px;
  color:#9E5142;
  background:#FFF7F3;
  font-size:.59rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.pm930-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.pm930-card{
  display:flex;
  flex-direction:column;
  min-height:148px;
  padding:18px;
  border:1px solid var(--pm930-line);
  border-radius:15px;
  background:#fff;
  color:var(--pm930-text);
  text-decoration:none;
  box-shadow:0 8px 24px rgba(8,58,50,.045);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.pm930-card:hover,
.pm930-card:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(240,122,98,.72);
  box-shadow:0 12px 28px rgba(8,58,50,.075);
}
.pm930-card:focus-visible{
  outline:3px solid rgba(240,122,98,.48);
  outline-offset:3px;
}
.pm930-card-skill{
  color:#A55242;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.pm930-card strong{
  margin-top:10px;
  font:600 1.28rem/1.12 "Playfair Display",Georgia,serif;
}
.pm930-card p{
  margin:7px 0 14px;
  color:var(--pm930-muted);
  font-size:.79rem;
  line-height:1.5;
}
.pm930-card-cta{
  margin-top:auto;
  color:var(--pm930-forest);
  font-size:.76rem;
  font-weight:900;
}
.pm930-browse{
  display:inline-flex;
  margin-top:18px;
  color:var(--pm930-forest);
  font-size:.78rem;
  font-weight:900;
  text-underline-offset:3px;
}

/* Actual global footer: one footer per page. */
.pm930-site-footer{
  margin-top:0!important;
  background:var(--pm930-dark);
  color:#fff;
  padding:30px 0 22px;
}
.pm930-footer-grid{
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
}
.pm930-footer-brand{
  display:flex;
  align-items:center;
  gap:18px;
}
.pm930-footer-brand img{
  display:block;
  width:145px;
  max-width:38vw;
  background:var(--pm930-cream);
  border-radius:8px;
  padding:7px;
}
.pm930-footer-brand p{
  margin:0;
  max-width:560px;
  color:#CBD9D6;
  font-size:.78rem;
  line-height:1.5;
}
.pm930-footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:14px;
}
.pm930-footer-links a{
  color:#E7F0ED;
  font-size:.72rem;
  font-weight:800;
  text-decoration:none;
}
.pm930-footer-links a:hover,
.pm930-footer-links a:focus-visible{color:#FFA18E}
.pm930-copyright{
  margin:22px 0 0;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.18);
  color:#BFD0CC;
  font-size:.7rem;
}

/* Prevent old footer rules/min-height from recreating blank space. */
body.pm930-page .qp-footer{margin-top:0!important}
body.pm930-page .qp-entry,
body.pm930-page .cw-entry,
body.pm930-page .rm-entry,
body.pm930-page .rf-entry,
body.pm930-page .vd-entry,
body.pm930-page .db-entry,
body.pm930-page .am-entry{min-height:0!important;height:auto!important}
body.pm930-page .qp-setup,
body.pm930-page .cw-setup,
body.pm930-page .rm-setup,
body.pm930-page .rf-setup,
body.pm930-page .vd-setup,
body.pm930-page .db-setup,
body.pm930-page .am-setup{min-height:0!important;height:auto!important}

/* Results remain learning-first; score stays metadata. */
body.pm930-page .qp-results .qp-score,
body.pm930-page .rm-results .qp-score{margin-bottom:18px}
body.pm930-page .qp-results h2,
body.pm930-page .rm-results h2{margin-bottom:16px}

/* Responsive QA */
@media(max-width:900px){
  .pm930-continuation-head{grid-template-columns:1fr;gap:10px;align-items:start}
  .pm930-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pm930-footer-grid{grid-template-columns:1fr;align-items:start}
  .pm930-footer-links{justify-content:flex-start}
}
@media(max-width:640px){
  .pm930-education{padding:30px 0}
  .pm930-continuation{padding:38px 0 34px}
  .pm930-grid{grid-template-columns:1fr}
  .pm930-card{min-height:126px}
  .pm930-footer-brand{align-items:flex-start;flex-direction:column}
  .pm930-footer-brand img{width:132px}
}
@media(prefers-reduced-motion:reduce){
  .pm930-card{transition:none}
}
@media print{
  .pm930-continuation,.pm930-site-footer{display:none!important}
  .pm930-education{background:#fff!important;color:#000!important;padding:18px 0!important;border-top:1px solid #999}
  .pm930-education p,.pm930-education strong{color:#000!important}
}


/* Three-state architecture: keep active question sessions distraction-free. */
body.pm930-page.pm930-active-session > .pm930-education,
body.pm930-page.pm930-active-session > .pm930-continuation,
body.pm930-page.pm930-active-session > .pm930-site-footer{
  display:none!important;
}

/* Let the global shell own short-page behavior without stretching educational blocks. */
body.pm930-page > main{
  width:100%;
}
body.pm930-page:not(.pm930-active-session) > .pm930-site-footer{
  margin-top:0!important;
}

/* Remove redundant legacy lower-page spacing when present. */
body.pm930-page main,
body.pm930-page .qp-main,
body.pm930-page .cw-main,
body.pm930-page .rm-main,
body.pm930-page .rf-main{
  margin-bottom:0!important;
  padding-bottom:clamp(24px,3vw,42px)!important;
}

/* Keep page-ending hierarchy quieter than the mode hero. */
.pm930-continuation h2{max-width:720px}
.pm930-continuation .pm930-card strong{font-size:1.18rem}
.pm930-continuation .pm930-card p{max-width:38ch}

/* Footer links retain visible keyboard focus. */
.pm930-footer-links a:focus-visible,
.pm930-copyright a:focus-visible,
.pm930-browse:focus-visible{
  outline:3px solid rgba(240,122,98,.5);
  outline-offset:3px;
  border-radius:4px;
}

/* Avoid orphaned continuation cards at intermediate widths. */
@media (min-width:641px) and (max-width:900px){
  .pm930-grid > .pm930-card:last-child:nth-child(odd){
    grid-column:1 / -1;
    max-width:calc(50% - 6px);
  }
}
