
/* DermPrep Idea 9.42 — targeted regression repair */

/* v944: footer spacing ownership retired from v942. */

/* ---- Tomorrow Mode: restore two-column hero + visual ---- */
.tomorrow-hero.dp942-tomorrow-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)!important;
  gap:48px!important;
  align-items:center!important;
}
.dp942-tomorrow-copy{
  min-width:0;
  max-width:660px;
}
.dp942-tomorrow-copy h1{
  max-width:620px!important;
}
.dp942-tomorrow-visual{
  min-width:0;
  padding:28px 30px;
  border-radius:18px;
  background:#0B4A3F;
  color:#F7F1E7;
  box-shadow:0 14px 34px rgba(8,58,50,.08);
}
.dp942-visual-eyebrow{
  margin:0 0 10px!important;
  color:#F07A62!important;
  -webkit-text-fill-color:#F07A62!important;
  font:800 .68rem/1 "DM Sans",sans-serif!important;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.dp942-tomorrow-visual h2{
  margin:0 0 24px!important;
  color:#F7F1E7!important;
  -webkit-text-fill-color:#F7F1E7!important;
  font:600 clamp(1.75rem,2.5vw,2.4rem)/1.05 "Playfair Display",serif!important;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.dp942-time-path{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}
.dp942-time-path span{
  min-height:76px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:2px;
  padding:10px 6px;
  border:1px solid rgba(247,241,231,.26);
  border-radius:12px;
  background:rgba(247,241,231,.06);
  text-align:center;
}
.dp942-time-path b{
  color:#F7F1E7!important;
  -webkit-text-fill-color:#F7F1E7!important;
  font:800 .92rem/1.1 "DM Sans",sans-serif!important;
}
.dp942-time-path small{
  color:rgba(247,241,231,.72)!important;
  -webkit-text-fill-color:rgba(247,241,231,.72)!important;
  font:600 .64rem/1.1 "DM Sans",sans-serif!important;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.dp942-time-path .dp942-tonight{
  border-color:rgba(240,122,98,.75);
}
.dp942-visual-rule{
  height:1px;
  margin:20px 0 16px;
  background:rgba(247,241,231,.16);
}
.dp942-morning{
  display:flex;
  align-items:center;
  gap:12px;
}
.dp942-sun{
  flex:0 0 38px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#F6BF4C;
  color:#083A32!important;
  font-size:18px;
}
.dp942-morning div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.dp942-morning b{
  color:#F7F1E7!important;
  -webkit-text-fill-color:#F7F1E7!important;
  font:800 .82rem/1.2 "DM Sans",sans-serif!important;
}
.dp942-morning small{
  color:rgba(247,241,231,.76)!important;
  -webkit-text-fill-color:rgba(247,241,231,.76)!important;
  font:500 .72rem/1.4 "DM Sans",sans-serif!important;
}

/* ---- Communication Across Levels: actual live response panel contrast ---- */
.dp942-communication-section .dp942-light-response,
.dp942-communication-section .dp942-light-response *,
.dp942-communication-section #audience-output,
.dp942-communication-section #audience-output *{
  color:#173F38!important;
  -webkit-text-fill-color:#173F38!important;
  opacity:1!important;
}
.dp942-communication-section .dp942-light-response,
.dp942-communication-section #audience-output{
  background:#FFFDFC!important;
  border-color:rgba(23,63,56,.16)!important;
}
.dp942-communication-section #audience-output h3{
  color:#0B4A3F!important;
  -webkit-text-fill-color:#0B4A3F!important;
}
.dp942-communication-section .audience-tabs button:not(.active){
  background:#FFFDFC!important;
  color:#173F38!important;
  -webkit-text-fill-color:#173F38!important;
  border-color:#173F38!important;
}
.dp942-communication-section .audience-tabs button.active{
  background:#F07A62!important;
  color:#083A32!important;
  -webkit-text-fill-color:#083A32!important;
  border-color:#F07A62!important;
}

/* ---- Home practice handoff: compact, clearly separate from footer ---- */
#root .bottom{
  min-height:0!important;
  padding:52px max(6vw,32px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:48px!important;
  align-items:center!important;
  border-bottom:1px solid rgba(247,241,231,.18)!important;
}
#root .bottom > div{
  max-width:760px!important;
}
#root .bottom h2{
  margin:0!important;
  font-size:clamp(2.65rem,4.7vw,4.7rem)!important;
  line-height:.98!important;
  letter-spacing:-.04em!important;
}
#root .bottom .handoff-copy{
  margin:14px 0 0!important;
  max-width:52ch;
  color:rgba(247,241,231,.82)!important;
  -webkit-text-fill-color:rgba(247,241,231,.82)!important;
  font-size:.95rem!important;
}
#root .bottom .cta.light{
  min-width:160px;
  text-align:center;
  white-space:nowrap;
}

/* ---- responsive ---- */
@media(max-width:900px){
  .tomorrow-hero.dp942-tomorrow-grid{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  .dp942-tomorrow-copy{max-width:none}
  .dp942-tomorrow-visual{max-width:640px}
}
@media(max-width:767px){
  .dp-footer-compact{
    padding-top:30px!important;
    padding-bottom:24px!important;
  }
  .dp-footer-compact .dp940-compact-top{
    gap:22px!important;
    align-items:start!important;
  }
  .dp942-time-path{
    grid-template-columns:1fr 1fr;
  }
  #root .bottom{
    grid-template-columns:1fr!important;
    gap:24px!important;
    padding:36px 24px!important;
  }
  #root .bottom h2{
    font-size:clamp(2.35rem,11vw,3.6rem)!important;
  }
  #root .bottom .cta.light{
    justify-self:start;
  }
}
