/* Dreamspire Diaries 3.4: compact, clearly separated albums and moderated furparent updates */
body.ds-v3.ds-compact #panel-diaries.ds-diaries-v4{display:block!important;min-height:0;overflow:visible;padding:0;background:#FAF8F5}
#panel-diaries .ds-legacy-diary{display:none!important}
.ds-diary-main{max-width:1240px;margin:auto;padding:clamp(22px,4vw,52px)}
.ds-diary-intro{max-width:790px;margin-bottom:24px}.ds-diary-intro .kicker{font-size:11px;letter-spacing:.2em;color:#9B814C}.ds-diary-intro h2{font:normal clamp(38px,5vw,67px)/1.04 Georgia,serif;margin:13px 0;color:#1F3351}.ds-diary-intro em{color:#9B814C;font-style:italic}.ds-diary-intro p{color:#637183;line-height:1.6;max-width:610px}
.ds-diary-switch{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:26px}.ds-diary-switch button{flex:1;min-width:230px;text-align:left;border:1px solid #ddd8cc;border-radius:17px;background:white;padding:17px 20px;color:#1F3351;font-weight:700;font-size:19px;cursor:pointer}.ds-diary-switch button.current{background:#1F3351;color:white;border-color:#1F3351}.ds-diary-switch button span{display:block;font-size:11px;font-weight:400;margin-top:4px;opacity:.8}
.ds-diary-main section[hidden],#ds-album-list[hidden],#ds-album-detail[hidden]{display:none!important}
.ds-diary-main h3{font:normal clamp(25px,3vw,36px)/1.2 Georgia,serif;color:#1F3351;margin:8px 0}.ds-diary-main section>p{color:#647083;margin:0 0 17px;line-height:1.5}.ds-album-grid,.ds-family-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:20px}
.ds-album-tile{display:flex;flex-direction:column;text-align:left;border-radius:19px;border:1px solid #e7e2d7;background:white;overflow:hidden;padding:0 0 20px;color:#1F3351;cursor:pointer}.ds-album-tile>img,.ds-cover-empty{width:100%;aspect-ratio:4/3;object-fit:contain;background:#f6f2eb}.ds-cover-empty{display:grid;place-content:center;color:#877d6b}.ds-album-overline{padding:17px 19px 8px;letter-spacing:.18em;font-size:10px;color:#9B814C}.ds-album-tile strong{font:normal 28px Georgia,serif;padding:14px 19px 4px}.ds-tile-desc{padding:2px 19px;color:#647083;font-size:13px}.ds-small-btn{background:none;border:0;color:#1F3351;text-decoration:underline;margin:0 0 12px;padding:8px 0}.ds-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px}.ds-album-shot{margin:0;background:white;border-radius:13px;overflow:hidden}.ds-album-shot img,.ds-album-shot video{width:100%;height:auto;max-height:520px;object-fit:contain;display:block;background:#f4f1ea}.ds-album-shot figcaption{padding:10px;color:#637183;font-size:12px}
.ds-family-post{background:white;border-radius:18px;border:1px solid #e7e2d7;padding:14px;color:#1F3351}.ds-family-post h4{font:normal 26px Georgia,serif;margin:12px 0 5px}.ds-family-post p{line-height:1.55;overflow-wrap:anywhere}.ds-family-post small{color:#637183}.ds-family-photos{display:flex;gap:7px;overflow-x:auto;scroll-snap-type:x mandatory}.ds-family-photos img{max-height:340px;width:100%;object-fit:contain;scroll-snap-align:start;flex-shrink:0;background:#faf8f5;border-radius:10px}
.ds-furparent-form{max-width:690px;margin:26px 0 0;background:white;border:1px solid #e7e2d7;border-radius:22px;padding:clamp(17px,3vw,30px);display:grid;gap:13px;color:#1F3351}.ds-furparent-form>p{color:#647083}.ds-furparent-form label:not(.ds-consent){display:grid;gap:6px;font-weight:600;font-size:13px}.ds-furparent-form input:not([type=checkbox]),.ds-furparent-form textarea{width:100%;font:inherit;font-size:15px;padding:13px 14px;border:1px solid #d9d7d1;border-radius:11px;background:#fff;color:#1F3351}.ds-furparent-form .ds-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5}.ds-furparent-form .dark-btn{background:#1F3351;color:white;border:0;border-radius:30px;padding:15px;cursor:pointer;font-weight:700}.ds-furparent-form .dark-btn:disabled{opacity:.6;cursor:wait}.ds-empty{padding:22px;background:#f1eee8;border-radius:13px;color:#647083}
.ds-studio-picks{max-height:180px;overflow:auto;display:grid;gap:7px;margin-top:10px;padding:10px;background:#faf8f5;border-radius:8px}.ds-studio-picks label{display:flex;gap:8px;align-items:center}.ds-review-photos{display:flex;gap:8px;overflow-x:auto;margin:12px 0}.ds-review-photos img{height:135px;max-width:200px;object-fit:contain;border-radius:9px;background:#eee}.ds-review-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:15px}
@media(max-width:600px){.ds-diary-main{padding:20px}.ds-diary-switch button{min-width:100%}.ds-diary-intro h2{font-size:39px}}
@media(prefers-reduced-motion:reduce){.ds-album-tile,.ds-diary-switch button{transition:none!important}}

/* Hide Diaries when another chapter is selected */
body.ds-v3.ds-compact #panel-diaries.ds-diaries-v4:not(.active) {display:none!important;}


/* DREAMSPIRE_LITTER_STATUS_V2 */

.ds-album-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  margin:10px 0 5px;
  padding:7px 11px;
  border-radius:999px;
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#1f3351;
  background:#eaf4fb;
  border:1px solid #caddeb;
}

.ds-status-available{
  color:#315f48;
  background:#edf7f0;
  border-color:#c9e1d0;
}

.ds-status-limited{
  color:#755d2b;
  background:#fff8e8;
  border-color:#ead9ad;
}

.ds-status-reserved{
  color:#1f3351;
  background:#edf3fa;
  border-color:#cad7e8;
}

.ds-album-status + strong{
  margin-top:7px;
}

.ds-album-status-field small{
  display:block;
  margin-top:7px;
  opacity:.65;
  font-size:12px;
}

/* DREAMSPIRE LITTER STATUS · PUBLIC */
.ds-litter-status{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin:10px 0 12px;
  padding:7px 11px;
  border:1px solid rgba(155,129,76,.38);
  border-radius:999px;
  background:#fffaf2;
  color:#735d36;
  font:700 10px/1.1 "DM Sans",system-ui,sans-serif;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.ds-litter-status[data-status="reserved"]::before{
  content:"✓";
  margin-right:6px;
}
.ds-litter-status[data-status="available"]::before{
  content:"●";
  margin-right:6px;
}
.ds-litter-status[data-status="limited"]::before{
  content:"◐";
  margin-right:6px;
}
.ds-litter-status-detail{
  margin:8px 0 12px;
}

/* DREAMSPIRE ALBUM STATUS BADGE */
.ds-album-status{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin:10px 0 4px;
  padding:7px 11px;
  border-radius:999px;
  font-size:11px;
  line-height:1;
  font-weight:700;
  letter-spacing:.09em;
}

.ds-album-status-reserved{
  color:#1f3351;
  background:#f4ead7;
  border:1px solid rgba(155,129,76,.35);
}

.ds-album-status-available{
  color:#1f3351;
  background:#eef5ef;
  border:1px solid rgba(31,51,81,.15);
}


/* DREAMSPIRE_ALBUM_CARD_REFINEMENT_V2 */

.ds-album-tile{
  overflow:hidden;
}

.ds-album-tile > strong{
  display:block;
  margin:18px 22px 0;
  color:#1f3351;
  font-size:clamp(26px,3vw,38px);
  line-height:1.05;
  letter-spacing:-.025em;
}

/* Premium compact status — not oversized */
.ds-album-status{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:auto !important;
  max-width:max-content;
  margin:10px 22px 0 !important;
  padding:6px 10px !important;
  border-radius:999px;
  font-family:inherit;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  white-space:nowrap;
  box-shadow:none;
}

.ds-album-status-reserved{
  color:#705d32 !important;
  background:#f6f0e4 !important;
  border:1px solid rgba(155,129,76,.28) !important;
}

.ds-album-status-available{
  color:#294d38 !important;
  background:#edf6ef !important;
  border:1px solid rgba(57,111,75,.20) !important;
}

/* Keep the DOB/parents line visually separate from the story */
.ds-tile-desc{
  display:block;
  margin:13px 22px 22px !important;
  color:#596579;
  font-size:14px;
  line-height:1.58;
  white-space:pre-line;
}

/* Make the actual photo remain the hero */
.ds-album-tile > img{
  display:block;
  width:100%;
}

/* Mobile refinement */
@media (max-width:600px){
  .ds-album-tile > strong{
    margin:16px 17px 0;
    font-size:29px;
  }

  .ds-album-status{
    margin:9px 17px 0 !important;
    padding:6px 9px !important;
    font-size:9px !important;
  }

  .ds-tile-desc{
    margin:12px 17px 18px !important;
    font-size:13px;
    line-height:1.55;
  }
}

/* END DREAMSPIRE_ALBUM_CARD_REFINEMENT_V2 */


/* DREAMSPIRE_PREMIUM_ALBUM_DETAIL_V1 */

/* Remove duplicated detail copy completely */
#ds-album-name,
#ds-album-desc{
  display:none !important;
}

/* Elegant separation between hero and gallery */
#ds-album-back{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:26px 0 30px;
  padding:0;
  border:0;
  background:transparent;
  color:#1f3351;
  font-size:13px;
  font-weight:600;
  letter-spacing:.01em;
  text-decoration:none;
  opacity:.72;
  transition:opacity .18s ease, transform .18s ease;
}

#ds-album-back:hover{
  opacity:1;
  transform:translateX(-2px);
}

/* Photos become the next visual chapter — no unnecessary heading */
#ds-album-photos{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* More refined gallery rhythm */
.ds-album-shot{
  margin:0;
  overflow:hidden;
  border-radius:18px;
  background:#f7f5f0;
  border:1px solid rgba(31,51,81,.08);
  box-shadow:0 8px 30px rgba(31,51,81,.045);
}

.ds-album-shot img,
.ds-album-shot video{
  display:block;
  width:100%;
}

/* Filename-style captions should stay quiet */
.ds-album-shot figcaption{
  padding:11px 14px 13px;
  font-size:11px;
  line-height:1.35;
  color:#7d8490;
  background:#fff;
  border-top:1px solid rgba(31,51,81,.06);
}

/* Detail spacing */
#ds-album-detail{
  padding-bottom:48px;
}

@media (max-width:600px){
  #ds-album-back{
    margin:20px 0 24px;
    font-size:12px;
  }

  .ds-album-shot{
    border-radius:15px;
  }

  .ds-album-shot figcaption{
    padding:9px 11px 11px;
    font-size:10px;
  }
}

/* END DREAMSPIRE_PREMIUM_ALBUM_DETAIL_V1 */

/* DREAMSPIRE_PUBLIC_KITTEN_CAPTIONS_V1 */
.ds-album-shot{
  position:relative;
  overflow:hidden;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(31,51,81,.08);
  box-shadow:0 10px 32px rgba(31,51,81,.05);
}

.ds-album-media-frame{
  position:relative;
  overflow:hidden;
  background:#f4f1ea;
}

.ds-album-media-frame img,
.ds-album-media-frame video{
  display:block;
  width:100%;
  height:auto;
}

.ds-kitten-status{
  position:absolute;
  top:14px;
  left:14px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 11px;
  border-radius:999px;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:9px;
  line-height:1;
  font-weight:800;
  letter-spacing:.14em;
  box-shadow:0 5px 18px rgba(0,0,0,.08);
}

.ds-status-available{
  background:rgba(237,245,237,.94);
  color:#3d6648;
  border:1px solid rgba(61,102,72,.15);
}

.ds-status-reserved{
  background:rgba(244,238,224,.95);
  color:#806a3c;
  border:1px solid rgba(155,129,76,.20);
}

.ds-status-rehomed{
  background:rgba(31,51,81,.91);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
}

.ds-kitten-caption{
  display:grid;
  gap:6px;
  padding:17px 18px 19px !important;
  background:#fff;
  border-top:0 !important;
}

.ds-kitten-name{
  display:block;
  color:#1f3351;
  font-family:Georgia,'Times New Roman',serif;
  font-size:21px;
  line-height:1.08;
  font-weight:500;
  letter-spacing:-.015em;
}

.ds-kitten-character{
  display:block;
  max-width:42ch;
  color:#727986;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:12px;
  line-height:1.55;
}

/* Never show technical UUID filenames as public captions */
.ds-album-shot>figcaption:not(.ds-kitten-caption){
  display:none !important;
}

@media(max-width:600px){
  .ds-album-shot{
    border-radius:16px;
  }

  .ds-kitten-status{
    top:11px;
    left:11px;
    min-height:26px;
    padding:0 10px;
    font-size:8px;
  }

  .ds-kitten-caption{
    padding:14px 15px 16px !important;
  }

  .ds-kitten-name{
    font-size:19px;
  }

  .ds-kitten-character{
    font-size:11.5px;
  }
}
/* END DREAMSPIRE_PUBLIC_KITTEN_CAPTIONS_V1 */


/* DREAMSPIRE_KITTEN_FOREVER_PUBLIC_V1 */

.ds-kitten-forever{
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:8px;
  padding:7px 10px;
  border:1px solid rgba(155,129,76,.25);
  border-radius:999px;
  background:
    linear-gradient(
      135deg,
      rgba(252,248,239,.98),
      rgba(247,241,228,.80)
    );
  color:#1f3351;
  box-shadow:
    0 1px 0 rgba(255,255,255,.85) inset,
    0 6px 18px rgba(31,51,81,.04);
}

.ds-kitten-forever-star{
  color:#9b814c;
  font-size:11px;
  line-height:1;
}

.ds-kitten-forever-label{
  color:#9b814c;
  font-size:8px;
  font-weight:800;
  letter-spacing:.14em;
  line-height:1;
}

.ds-kitten-forever-name{
  color:#1f3351;
  font-size:12px;
  font-weight:700;
  letter-spacing:-.01em;
  line-height:1;
}

@media (max-width:600px){
  .ds-kitten-forever{
    gap:6px;
    padding:6px 9px;
  }

  .ds-kitten-forever-label{
    font-size:7.5px;
  }

  .ds-kitten-forever-name{
    font-size:11.5px;
  }
}
