/*
 * SleepBaby governed article components.
 * Production-owned and deliberately scoped: this file never styles the theme
 * header, hero, guide rail, comments, related posts, post funnel, or footer.
 */
.sbds-article {
  --sbarg-navy: #142657;
  --sbarg-plum: #402852;
  --sbarg-ink: #30243b;
  --sbarg-teal: #2e8f8b;
  --sbarg-mint: #d9f3e8;
  --sbarg-lavender: #e8ddfb;
  --sbarg-gold: #f2c85b;
  --sbarg-cream: #fffaf4;
}

.sbds-article *,
.sbds-article *::before,
.sbds-article *::after {
  box-sizing: border-box;
}

.sbds-article :is(h2, h3, li)[id],
.sbds-article a[id^="source-"] {
  scroll-margin-top: 112px;
}

.sbds-article sup a {
  border-radius: 999px;
  background: #f1e8f5;
  padding: 0.03rem 0.33rem;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 0.72rem;
  font-weight: 900;
  text-decoration: none;
}

/* Adult-bed immediate answer and numbered cards. */
.sbds-article .sb-answer-strip {
  position: relative;
  margin: 1.45rem 0 2.15rem;
  overflow: hidden;
  border: 1px solid #d8c9e3;
  border-radius: 24px;
  padding: 1.15rem;
  background: linear-gradient(135deg, #fffaf5 0%, #f4edff 52%, #e9f8f3 100%);
  box-shadow: 0 18px 42px rgba(77, 49, 88, 0.11);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

.sbds-article .sb-answer-strip::after {
  position: absolute;
  top: -90px;
  right: -80px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(224, 181, 84, 0.26), rgba(224, 181, 84, 0) 70%);
  content: "";
  pointer-events: none;
}

.sbds-article :is(.sb-answer-strip__eyebrow, .sb-cta-panel__eyebrow, .sb-heavy-eyelids__eyebrow) {
  margin: 0.05rem 0 0.85rem !important;
  color: #9d4f76;
  font-size: 0.72rem !important;
  font-weight: 950;
  letter-spacing: 0.12em;
  line-height: 1.2 !important;
  text-transform: uppercase;
}

.sbds-article .sb-answer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.sbds-article .sb-answer-step {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: start;
  gap: 0.65rem;
  border: 1px solid rgba(91, 61, 105, 0.1);
  border-radius: 18px;
  padding: 0.85rem;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 8px 22px rgba(69, 43, 80, 0.06);
}

.sbds-article .sb-answer-step > span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, #6f4a79, #b85f84);
  box-shadow: 0 7px 16px rgba(111, 74, 121, 0.24);
  color: #fff;
  font-weight: 950;
}

.sbds-article .sb-answer-step p {
  margin: 0.05rem 0 !important;
  color: #514356;
  font-size: 0.86rem !important;
  line-height: 1.42 !important;
}

.sbds-article .sb-answer-step > p:empty {
  display: none !important;
}

.sbds-article .sb-answer-step > p:not(:empty) {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}

.sbds-article .sb-answer-step strong {
  color: #2d2035;
}

/* Adult-bed comparison and observation tables. */
.sbds-article .sb-table-wrap {
  margin: 1.7rem 0 2.2rem;
  overflow: auto;
  border: 1px solid #ded2e5;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 15px 38px rgba(67, 43, 79, 0.09);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  scrollbar-color: #a98bb3 #f5eff6;
}

.sbds-article .sb-table-wrap:focus {
  outline: 4px solid rgba(87, 157, 135, 0.28);
  outline-offset: 3px;
}

.sbds-article :is(.sb-decision-table, .sb-observation-matrix) {
  width: 100%;
  min-width: 650px;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.82rem;
  line-height: 1.45;
}

.sbds-article :is(.sb-decision-table, .sb-observation-matrix) caption {
  padding: 1rem 1.05rem 0.75rem;
  background: linear-gradient(90deg, #fbf7fc, #f1fbf7);
  color: #3b2945;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.15rem;
  font-weight: 800;
  text-align: left;
}

.sbds-article :is(.sb-decision-table, .sb-observation-matrix) thead {
  background: linear-gradient(90deg, #50325f, #71507b);
  color: #fff;
}

/*
 * Clear the production theme's pale cell-level background so the intended
 * dark THEAD surface remains visible behind inherited white text.
 */
.sbds-article :is(.sb-decision-table, .sb-observation-matrix) thead th {
  background: transparent;
  color: #fff;
}

.sbds-article :is(.sb-decision-table, .sb-observation-matrix) th {
  padding: 0.8rem 0.85rem;
  font-size: 0.72rem;
  letter-spacing: 0.03em;
  line-height: 1.3;
  text-align: left;
  text-transform: uppercase;
}

.sbds-article :is(.sb-decision-table, .sb-observation-matrix) td {
  border-bottom: 1px solid #eee5f0;
  padding: 0.85rem;
  background: #fff;
  color: #514556;
  vertical-align: top;
}

.sbds-article :is(.sb-decision-table, .sb-observation-matrix) tbody tr:nth-child(even) td {
  background: #fcf9fd;
}

.sbds-article .sb-table-note {
  margin: -1.35rem 0.45rem 2rem !important;
  border-left: 4px solid #63a891;
  border-radius: 0 13px 13px 0;
  padding: 0.8rem 1rem;
  background: #edf9f5;
  color: #53645e;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 0.8rem !important;
  line-height: 1.45 !important;
}

/* Adult-bed paired cards and safety blocks. */
.sbds-article :is(.sb-bridge-grid, .sb-medical-grid) {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin: 1.55rem 0 2.25rem;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

.sbds-article :is(.sb-bridge-card, .sb-medical-card) {
  border: 1px solid;
  border-radius: 22px;
  padding: 1.05rem;
  box-shadow: 0 13px 32px rgba(60, 41, 72, 0.08);
}

.sbds-article .sb-bridge-card--yes {
  border-color: #bfe5d6;
  background: linear-gradient(145deg, #effbf6, #e4f7ef);
}

.sbds-article .sb-bridge-card--no {
  border-color: #f2cfd8;
  background: linear-gradient(145deg, #fff7f2, #fff0f4);
}

.sbds-article .sb-bridge-card__label,
.sbds-article .sb-medical-card__label {
  margin: 0 0 0.6rem !important;
  font-size: 0.72rem !important;
  font-weight: 950;
  letter-spacing: 0.1em;
  line-height: 1.3 !important;
  text-transform: uppercase;
}

.sbds-article .sb-bridge-card__label {
  color: #4a725f;
}

.sbds-article .sb-bridge-card--no .sb-bridge-card__label {
  color: #9d4e67;
}

.sbds-article .sb-medical-card--prompt {
  border-color: #c9e3f4;
  background: linear-gradient(145deg, #f1f9ff, #e7f4ff);
}

.sbds-article .sb-medical-card--emergency {
  border-color: #efbdc5;
  background: linear-gradient(145deg, #fff3f4, #ffe8eb);
}

.sbds-article .sb-medical-card--prompt .sb-medical-card__label {
  color: #3f7292;
}

.sbds-article .sb-medical-card--emergency .sb-medical-card__label {
  color: #a64258;
}

.sbds-article .sb-heavy-eyelids {
  position: relative;
  margin: 2rem 0;
  border: 1px solid #e4c979;
  border-radius: 22px;
  padding: 1.15rem 1.2rem 1.2rem 4.5rem;
  background: linear-gradient(135deg, #fff9e8, #fff2dc 46%, #f8eef9);
  box-shadow: 0 15px 36px rgba(120, 91, 29, 0.1);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

.sbds-article .sb-heavy-eyelids::before {
  position: absolute;
  top: 1.05rem;
  left: 1.15rem;
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f4d97e, #c48758);
  box-shadow: 0 9px 23px rgba(117, 83, 35, 0.18);
  color: #4b3158;
  content: "☾";
  font-size: 1.65rem;
}

/* Adult-bed FAQ, handoff filter, advice translator, and context links. */
.sbds-article .sb-faq {
  margin: 0.75rem 0;
  overflow: hidden;
  border: 1px solid #e2d7e6;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(59, 39, 70, 0.055);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

.sbds-article .sb-faq summary {
  position: relative;
  padding: 1rem 3.1rem 1rem 1.05rem;
  color: #3d2c46;
  font-weight: 850;
  line-height: 1.35;
  list-style: none;
  cursor: pointer;
}

.sbds-article .sb-faq summary::-webkit-details-marker {
  display: none;
}

.sbds-article .sb-faq summary::after {
  position: absolute;
  top: 50%;
  right: 1.05rem;
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  border-radius: 50%;
  background: #f0e9f5;
  color: #754077;
  content: "+";
  transform: translateY(-50%);
}

.sbds-article .sb-faq[open] summary {
  background: linear-gradient(90deg, #f8f1fb, #eff9f6);
}

.sbds-article .sb-faq[open] summary::after {
  content: "−";
}

.sbds-article .sb-faq__answer {
  padding: 0.15rem 1.05rem 1.05rem;
  color: #5b4f60;
}

.sbds-article .sb-handoff-filter,
.sbds-article .sb-advice-translator {
  position: relative;
  isolation: isolate;
  margin: 1.4rem 0 2.3rem;
  overflow: hidden;
  border: 1px solid #cfbfdb;
  border-radius: 26px;
  padding: 1.2rem;
  background:
    radial-gradient(circle at 92% 12%, rgba(240, 201, 94, 0.28), transparent 24%),
    radial-gradient(circle at 8% 88%, rgba(144, 214, 194, 0.25), transparent 26%),
    linear-gradient(145deg, #fffaf4 0%, #f4eefb 50%, #edf9f5 100%);
  box-shadow: 0 20px 48px rgba(72, 45, 83, 0.12);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

.sbds-article :is(.sb-handoff-filter__eyebrow, .sb-advice-translator__eyebrow, .sb-context-link__eyebrow) {
  margin: 0.05rem 0 0.55rem !important;
  color: #9d4f76;
  font-size: 0.7rem !important;
  font-weight: 950;
  letter-spacing: 0.12em;
  line-height: 1.2 !important;
  text-transform: uppercase;
}

.sbds-article .sb-handoff-filter__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0.2rem 0 1rem !important;
  padding: 0 !important;
  list-style: none !important;
}

.sbds-article .sb-handoff-filter__steps li {
  display: grid;
  grid-template-columns: 40px 1fr;
  align-items: start;
  gap: 0.62rem;
  margin: 0 !important;
  border: 1px solid rgba(86, 56, 100, 0.13);
  border-radius: 19px;
  padding: 0.88rem 0.85rem 0.92rem !important;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 10px 24px rgba(61, 41, 72, 0.07);
}

.sbds-article .sb-handoff-filter__steps li > span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, #6b4a78, #ba6688);
  box-shadow: 0 8px 18px rgba(108, 71, 121, 0.24);
  color: #fff;
  font-weight: 950;
}

.sbds-article .sb-handoff-filter__steps li:nth-child(2) > span {
  background: linear-gradient(135deg, #4e8e7b, #75bba6);
}

.sbds-article .sb-handoff-filter__steps li:nth-child(3) > span {
  background: linear-gradient(135deg, #3f7294, #759fd0);
}

.sbds-article .sb-handoff-filter__stop {
  position: relative;
  margin: 0.9rem 0 0.05rem !important;
  border: 1px solid #edc4cc;
  border-radius: 18px;
  padding: 0.9rem 1rem 0.9rem 3.95rem;
  background: linear-gradient(135deg, #fff5f3, #ffebef);
  color: #5c3e49 !important;
  font-size: 0.82rem !important;
  line-height: 1.5 !important;
}

.sbds-article .sb-handoff-filter__stop::before {
  position: absolute;
  top: 0.88rem;
  left: 1rem;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, #b74f70, #7c4b83);
  color: #fff;
  content: "!";
  font-weight: 950;
}

.sbds-article .sb-advice-translator__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.sbds-article .sb-translator-card {
  overflow: hidden;
  border: 1px solid rgba(95, 65, 107, 0.15);
  border-radius: 19px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 10px 25px rgba(67, 43, 79, 0.07);
}

.sbds-article .sb-translator-card summary {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 58px;
  padding: 0.82rem 3rem 0.82rem 0.92rem;
  color: #432f4b;
  font-weight: 880;
  line-height: 1.35;
  list-style: none;
  cursor: pointer;
}

.sbds-article .sb-translator-card summary::after {
  position: absolute;
  top: 50%;
  right: 0.85rem;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f3eafa, #e6f7f1);
  color: #704979;
  content: "↘";
  transform: translateY(-50%);
}

.sbds-article .sb-translator-card[open] summary::after {
  content: "↑";
}

.sbds-article .sb-translator-card__answer {
  padding: 0.05rem 0.95rem 0.95rem;
  color: #574b5c;
}

.sbds-article .sb-advice-translator__rule {
  margin: 1rem 0 0.05rem !important;
  border-left: 5px solid #dfb653;
  border-radius: 16px;
  padding: 0.85rem 1rem;
  background: rgba(255, 250, 238, 0.94);
  color: #514356;
  font-size: 0.84rem !important;
  line-height: 1.48 !important;
}

.sbds-article .sb-context-link {
  position: relative;
  margin: 1.15rem 0 2rem;
  border: 1px solid #cfe4dd;
  border-radius: 21px;
  padding: 1rem 1.05rem 1rem 4.2rem;
  background: linear-gradient(135deg, #f7fffb, #edf9f5 56%, #f7f0fb);
  box-shadow: 0 14px 34px rgba(59, 91, 78, 0.09);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

.sbds-article .sb-context-link::before {
  position: absolute;
  top: 1.05rem;
  left: 1rem;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, #5f9d89, #7e5a8b);
  color: #fff;
  content: "→";
  font-size: 1.2rem;
  font-weight: 950;
}

.sbds-article .sb-context-link--safety {
  border-color: #efccd5;
  background: linear-gradient(135deg, #fff9f4, #fff0f4 52%, #f5effa);
}

.sbds-article .sb-context-link--safety::before {
  background: linear-gradient(135deg, #b85f84, #7a4f86);
  content: "!";
}

/* Adult-bed resolved figures and final CTA. */
.sbds-article .sb-figure {
  position: relative;
  isolation: isolate;
  margin: 2.25rem -1rem 2.45rem;
  border: 1px solid #e3d8e7;
  border-radius: 28px;
  padding: 0.72rem;
  background: linear-gradient(135deg, #fff, #fbf8fc);
  box-shadow: 0 18px 42px rgba(55, 37, 68, 0.1);
}

.sbds-article .sb-figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 20px;
}

.sbds-article .sb-figure figcaption {
  margin-top: 0.45rem;
  border-radius: 16px;
  padding: 0.72rem 0.85rem 0.62rem;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: inset 4px 0 0 rgba(184, 95, 132, 0.36);
  color: #62566e;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 0.82rem;
  font-weight: 690;
  line-height: 1.45;
  text-align: center;
}

.sbds-article .sb-charm-divider {
  margin: 3rem -2.3rem 2.4rem;
  overflow: hidden;
  filter: drop-shadow(0 13px 22px rgba(67, 41, 78, 0.12));
}

.sbds-article .sb-charm-divider img {
  display: block;
  width: 100%;
  max-height: 185px;
  object-fit: cover;
}

.sbds-article .sb-cta-panel {
  position: relative;
  margin: 1rem 0 2.4rem;
  overflow: hidden;
  border: 1px solid rgba(241, 211, 120, 0.5);
  border-radius: 26px;
  padding: clamp(1.25rem, 3vw, 2rem);
  background:
    radial-gradient(circle at 92% 8%, rgba(244, 218, 128, 0.34), transparent 26%),
    linear-gradient(135deg, #2a203d, #56345f 58%, #35665e);
  box-shadow: 0 25px 60px rgba(43, 32, 61, 0.28);
  color: #fff;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

.sbds-article .sb-cta-panel__heading,
.sbds-article .sb-cta-panel h3 {
  margin: 0.15rem 0 0.75rem;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  line-height: 1.08;
}

.sbds-article .sb-cta-panel > p {
  max-width: 680px;
  color: #f4eaf6;
}

.sbds-article .sb-cta-panel__path {
  margin: 1rem 0 0.75rem !important;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 17px;
  padding: 0.82rem 0.95rem;
  background: rgba(255, 255, 255, 0.1);
  box-shadow: inset 4px 0 0 #f3d87f;
  color: #fff7df !important;
  font-size: 0.84rem !important;
  line-height: 1.5 !important;
}

.sbds-article :is(.sb-cta-panel__trust, .sb-cta-panel__disclosure) {
  color: #e8dfea !important;
  font-size: 0.8rem !important;
  line-height: 1.48 !important;
}

/* Bouncer cards, decoder, Notice/Lift/Flat list, video, and CTA. */
.sbds-article .sb-direct-answer,
.sbds-article .sb-destination-check {
  margin: 0 0 24px;
  border: 2px solid #efc85e;
  border-left: 8px solid var(--sbarg-gold);
  border-radius: 18px;
  padding: 22px 24px;
  background: linear-gradient(135deg, #fff7e2, #fffaf4);
  font-size: 1.06em;
}

.sbds-article .sb-action-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
  margin: 1.4rem 0 2rem;
  padding: 0;
  list-style: none;
  counter-reset: sbarg-step;
}

.sbds-article .sb-action-steps li {
  position: relative;
  margin: 0;
  border: 1px solid rgba(91, 61, 105, 0.14);
  border-radius: 18px;
  padding: 3.35rem 1rem 1rem;
  background: linear-gradient(145deg, #fffaf4, #f7effb 58%, #edf8f5);
  box-shadow: 0 10px 26px rgba(47, 31, 65, 0.08);
  counter-increment: sbarg-step;
}

.sbds-article .sb-action-steps li::before {
  position: absolute;
  top: 0.85rem;
  left: 1rem;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, #6f4a79, #b85f84);
  box-shadow: 0 7px 16px rgba(111, 74, 121, 0.24);
  color: #fff;
  content: counter(sbarg-step);
  font-weight: 950;
}

.sbds-article .sb-right-now-sort {
  margin: 22px 0 34px;
  border: 2px solid #9fd6cf;
  border-left: 8px solid var(--sbarg-teal);
  border-radius: 22px;
  padding: 22px 22px 18px;
  background:
    radial-gradient(circle at 94% 10%, rgba(232, 221, 251, 0.78), transparent 30%),
    linear-gradient(145deg, #f7fffc, #eef8ff 58%, #fff5f8);
  box-shadow: 0 12px 26px rgba(36, 104, 103, 0.1);
}

.sbds-article .sb-right-now-sort__list li {
  border-bottom: 1px solid rgba(46, 143, 139, 0.18);
  padding: 11px 12px 11px 4px;
}

.sbds-article .sb-right-now-sort__list li:last-child {
  border-bottom: 0;
}

.sbds-article .sb-right-now-sort__summary {
  margin: 4px 0 0 !important;
  border: 1px solid #d9cceb;
  border-radius: 14px;
  padding: 13px 14px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--sbarg-plum);
}

.sbds-article .sb-conflicting-advice-decoder {
  margin: 22px 0 30px;
  border: 1px solid #d8cde0;
  border-radius: 20px;
  padding: 22px 23px;
  background: linear-gradient(145deg, #fffaf4, #f7effb 58%, #edf8f5);
  box-shadow: 0 12px 28px rgba(47, 31, 65, 0.09);
}

.sbds-article .sb-conflicting-advice-decoder dt {
  margin: 17px 0 4px;
  color: var(--sbarg-navy);
}

.sbds-article .sb-conflicting-advice-decoder dd {
  margin: 0 0 13px;
  border-bottom: 1px solid #e5dbe8;
  padding: 0 0 13px 18px;
}

.sbds-article .sb-conflicting-advice-decoder dd:last-child {
  margin-bottom: 0;
  border-bottom: 0;
  padding-bottom: 0;
}

.sbds-article .sb-advice-decoder-rule {
  border-color: #c8b6df !important;
  border-left-color: #8d6ab5 !important;
  background: linear-gradient(135deg, #f6efff, #fffaf4) !important;
}

.sbds-article .sleepbaby-cpsc-video .wp-block-embed__wrapper {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  padding-top: 56.25%;
  background: linear-gradient(135deg, var(--sbarg-navy), var(--sbarg-plum));
  box-shadow: 0 16px 36px rgba(39, 28, 61, 0.18);
}

.sbds-article .sleepbaby-cpsc-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.sbds-article :is(.sleepbaby-workshop-cta, .sb-article-cta) {
  position: relative;
  margin: 42px 0 30px;
  overflow: hidden;
  border: 2px solid #e6b84a;
  border-radius: 26px;
  padding: 29px;
  background:
    radial-gradient(circle at 90% 8%, rgba(224, 244, 244, 0.9), transparent 28%),
    linear-gradient(145deg, #fff4df, #f9e8f1 56%, #e2f4ee);
  box-shadow: 0 18px 42px rgba(64, 40, 82, 0.16);
}

.sbds-article :is(.sleepbaby-workshop-cta__eyebrow, .sb-article-cta__eyebrow) {
  margin-bottom: 8px !important;
  color: #8b4564;
  font-size: 12px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.sbds-article :is(.sleepbaby-workshop-cta__heading, .sb-article-cta__heading) {
  margin-bottom: 10px !important;
  color: var(--sbarg-plum);
  font-family: Georgia, serif;
  font-size: clamp(25px, 4vw, 34px);
  line-height: 1.15;
}

.sbds-article :is(.sleepbaby-workshop-cta__button, .sb-article-cta__button),
.sbds-article .sb-cta-panel .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  border-radius: 999px !important;
  padding: 14px 22px !important;
  background: linear-gradient(90deg, #187878, #2d9994) !important;
  box-shadow: 0 8px 20px rgba(24, 120, 120, 0.25);
  color: #fff !important;
  font-weight: 800;
  text-decoration: none !important;
}

.sbds-article :is(.sleepbaby-workshop-cta__disclosure, .sb-article-cta__disclosure) {
  margin: 16px 0 0 !important;
  border: 1px solid #dbcbe2;
  border-radius: 13px;
  padding: 11px 13px;
  background: rgba(255, 255, 255, 0.72);
  color: #51445e;
  font-size: 14px;
  line-height: 1.5;
}

/*
 * Crib handoff toolkit.
 *
 * This deliberately has no oversized outer card. Each bordered tile owns one
 * distinct cue or safety boundary, so every box improves scanning instead of
 * merely wrapping a long bullet list.
 */
.sbds-article .sb-crib-toolkit {
  margin: 1.4rem 0 2.35rem;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

.sbds-article .sb-crib-toolkit__intro {
  margin: 0 0 1rem;
  padding: 0 0.2rem;
}

.sbds-article .sb-crib-toolkit__eyebrow {
  margin: 0 0 0.35rem !important;
  color: #8b466d;
  font-size: 0.7rem !important;
  font-weight: 950;
  letter-spacing: 0.11em;
  line-height: 1.25 !important;
  text-transform: uppercase;
}

.sbds-article .sb-crib-toolkit__intro h3 {
  margin: 0 0 0.45rem !important;
  color: #302238;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.28rem, 3.5vw, 1.75rem) !important;
  line-height: 1.18 !important;
}

.sbds-article .sb-crib-toolkit__intro > p:last-child {
  max-width: 62ch;
  margin: 0 !important;
  color: #5b4d60;
  font-size: 0.88rem !important;
  line-height: 1.5 !important;
}

.sbds-article .sb-crib-toolkit__grid,
.sbds-article .sb-crib-toolkit__no-grid {
  display: grid;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.sbds-article .sb-crib-toolkit__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.72rem;
}

.sbds-article .sb-crib-tool {
  --sbct-bg: #f5effd;
  --sbct-border: #cbb6e0;
  --sbct-icon-bg: #e6d8f6;
  --sbct-icon-ink: #603d70;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-content: start;
  gap: 0.58rem;
  min-height: 116px;
  border: 1.5px solid var(--sbct-border);
  border-radius: 16px;
  padding: 0.78rem;
  background: var(--sbct-bg);
  box-shadow: 0 7px 18px rgba(61, 41, 72, 0.06);
}

.sbds-article .sb-crib-tool:nth-child(2) {
  --sbct-bg: #edf9f5;
  --sbct-border: #a9d8c9;
  --sbct-icon-bg: #d0eee4;
  --sbct-icon-ink: #286f67;
}

.sbds-article .sb-crib-tool:nth-child(3) {
  --sbct-bg: #fff3eb;
  --sbct-border: #efc3a8;
  --sbct-icon-bg: #f9dccb;
  --sbct-icon-ink: #8b4f31;
}

.sbds-article .sb-crib-tool:nth-child(4) {
  --sbct-bg: #eef6ff;
  --sbct-border: #b7d1ee;
  --sbct-icon-bg: #d7e8fa;
  --sbct-icon-ink: #355f88;
}

.sbds-article .sb-crib-tool:nth-child(5) {
  --sbct-bg: #fff9e8;
  --sbct-border: #ead18a;
  --sbct-icon-bg: #f8e8ad;
  --sbct-icon-ink: #795d16;
}

.sbds-article .sb-crib-tool:nth-child(6) {
  --sbct-bg: #fff0f4;
  --sbct-border: #e7b6c5;
  --sbct-icon-bg: #f5d4df;
  --sbct-icon-ink: #8b4960;
}

.sbds-article .sb-crib-tool:nth-child(7) {
  --sbct-bg: #ecf8f8;
  --sbct-border: #a8d5d6;
  --sbct-icon-bg: #cfebeb;
  --sbct-icon-ink: #2d6f71;
  grid-column: span 2;
}

.sbds-article .sb-crib-tool__icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  background: var(--sbct-icon-bg);
  color: var(--sbct-icon-ink);
  font-size: 1rem;
  font-weight: 950;
  line-height: 1;
}

.sbds-article .sb-crib-tool__copy {
  min-width: 0;
}

.sbds-article .sb-crib-tool strong,
.sbds-article .sb-crib-no strong {
  display: block;
  color: #34263d;
  font-size: 0.8rem;
  font-weight: 920;
  line-height: 1.25;
}

.sbds-article .sb-crib-tool small,
.sbds-article .sb-crib-no span {
  display: block;
  margin-top: 0.25rem;
  color: #5d5162;
  font-size: 0.7rem;
  line-height: 1.4;
}

.sbds-article .sb-crib-toolkit__boundary {
  margin: 0.95rem 0 0;
  border-left: 5px solid #a84d66;
  border-radius: 0 18px 18px 0;
  padding: 0.9rem 0.9rem 0.95rem;
  background: linear-gradient(105deg, #fff4f1, #fffaf5 58%, #f6f1fb);
}

.sbds-article .sb-crib-toolkit__boundary-heading {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 0.72rem;
}

.sbds-article .sb-crib-toolkit__boundary-mark {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #f0ccd2;
  color: #7f2f49;
  font-size: 1.25rem;
  font-weight: 950;
  line-height: 1;
}

.sbds-article .sb-crib-toolkit__boundary-heading h3 {
  margin: 0 !important;
  color: #3b2734;
  font-size: 1rem !important;
  line-height: 1.25 !important;
}

.sbds-article .sb-crib-toolkit__boundary-heading p {
  margin: 0 0 0.12rem !important;
  color: #93455d;
  font-size: 0.65rem !important;
  font-weight: 950;
  letter-spacing: 0.09em;
  line-height: 1.2 !important;
  text-transform: uppercase;
}

.sbds-article .sb-crib-toolkit__no-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
}

.sbds-article .sb-crib-no {
  position: relative;
  min-height: 88px;
  border: 1px solid #e8cbc8;
  border-radius: 13px;
  padding: 0.68rem 0.68rem 0.68rem 1.85rem;
  background: rgba(255, 255, 255, 0.82);
}

.sbds-article .sb-crib-no::before {
  position: absolute;
  top: 0.67rem;
  left: 0.62rem;
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #f3d9da;
  color: #8e3c50;
  content: "×";
  font-size: 0.8rem;
  font-weight: 950;
  line-height: 1;
}

.sbds-article .sb-crib-no:nth-child(7) {
  grid-column: span 2;
}

.sbds-article .sb-crib-toolkit__rule {
  margin: 0.75rem 0.15rem 0 !important;
  color: #504255;
  font-size: 0.78rem !important;
  line-height: 1.45 !important;
}

@media (max-width: 720px) {
  .sbds-article .sb-table-wrap::before {
    content: "Swipe to compare →";
    position: sticky;
    left: 0.65rem;
    z-index: 2;
    display: block;
    width: max-content;
    margin: 0.5rem 0.65rem 0.2rem;
    border-radius: 999px;
    padding: 0.28rem 0.55rem;
    background: #f3eaf8;
    color: #6a4773;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.02em;
  }

  .sbds-article .sb-answer-grid,
  .sbds-article .sb-bridge-grid,
  .sbds-article .sb-medical-grid,
  .sbds-article .sb-advice-translator__grid,
  .sbds-article .sb-handoff-filter__steps,
  .sbds-article .sb-action-steps {
    grid-template-columns: 1fr;
  }

  .sbds-article .sb-crib-toolkit__grid,
  .sbds-article .sb-crib-toolkit__no-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sbds-article .sb-crib-tool,
  .sbds-article .sb-crib-no {
    min-height: 0;
  }

  .sbds-article .sb-crib-tool {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 0.48rem;
    padding: 0.7rem;
  }

  .sbds-article .sb-crib-tool__icon {
    width: 30px;
    height: 30px;
    border-radius: 10px;
    font-size: 0.88rem;
  }

  .sbds-article .sb-crib-tool strong,
  .sbds-article .sb-crib-no strong {
    font-size: 0.76rem;
  }

  .sbds-article .sb-crib-tool small,
  .sbds-article .sb-crib-no span {
    font-size: 0.67rem;
  }

  .sbds-article .sb-crib-toolkit__boundary {
    padding: 0.78rem;
  }

  .sbds-article .sb-answer-strip {
    margin: 1.2rem -0.15rem 1.8rem;
    padding: 0.9rem;
  }

  .sbds-article .sb-answer-step {
    grid-template-columns: 38px 1fr;
  }

  .sbds-article .sb-answer-step > span {
    width: 34px;
    height: 34px;
  }

  .sbds-article .sb-handoff-filter,
  .sbds-article .sb-advice-translator {
    margin-right: -0.15rem;
    margin-left: -0.15rem;
    border-radius: 22px;
    padding: 0.9rem;
  }

  .sbds-article .sb-context-link {
    margin-right: -0.05rem;
    margin-left: -0.05rem;
    padding: 0.95rem 0.9rem 0.95rem 3.75rem;
  }

  .sbds-article .sb-cta-panel {
    margin-right: -0.2rem;
    margin-left: -0.2rem;
    border-radius: 22px;
    padding: 1.15rem;
  }

  .sbds-article .sb-figure {
    margin: 1.65rem 0 1.9rem;
    border-radius: 22px;
    padding: 0.45rem;
  }

  .sbds-article .sb-charm-divider {
    margin: 2.5rem -1rem 2rem;
  }

  .sbds-article :is(.sleepbaby-workshop-cta, .sb-article-cta) {
    padding: 24px 18px;
  }

  .sbds-article :is(.sleepbaby-workshop-cta__button, .sb-article-cta__button),
  .sbds-article .sb-cta-panel .wp-block-button__link {
    display: flex !important;
    width: 100%;
    min-height: 56px;
    text-align: center;
  }
}

@media (max-width: 350px) {
  .sbds-article .sb-crib-toolkit__grid,
  .sbds-article .sb-crib-toolkit__no-grid {
    grid-template-columns: 1fr;
  }

  .sbds-article .sb-crib-tool:nth-child(7),
  .sbds-article .sb-crib-no:nth-child(7) {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sbds-article *,
  .sbds-article *::before,
  .sbds-article *::after {
    animation: none !important;
    transition: none !important;
  }
}
