/* ==========================================================
   DREAMSPIRE — FOREVER HOME MINIMAL
   ========================================================== */

#panel-diaries{
  --ds-navy:#1F3351;
  --ds-gold:#9B814C;
  --ds-cream:#F8F5EF;
  --ds-paper:#FFFDF9;
  --ds-muted:#697386;
}


/* Hide old diary switch / album remnants */
#panel-diaries .ds-diary-switch,
#panel-diaries #ds-albums{
  display:none !important;
}


/* ==========================================================
   HERO
   ========================================================== */

#panel-diaries .ds-diary-intro{
  max-width:920px !important;

  margin:
    clamp(46px,7vw,90px)
    auto
    clamp(28px,4vw,48px) !important;

  padding:
    0 24px !important;

  text-align:center !important;
}


#panel-diaries .ds-diary-intro .kicker{
  display:block !important;

  margin:0 0 14px !important;

  color:var(--ds-gold) !important;

  font:
    700 10px/1.2
    Inter,
    "DM Sans",
    system-ui,
    sans-serif !important;

  letter-spacing:.22em !important;

  text-transform:uppercase !important;
}


#panel-diaries .ds-diary-intro h2{
  margin:0 !important;

  color:var(--ds-navy) !important;

  font-family:
    "Playfair Display",
    Fraunces,
    Georgia,
    serif !important;

  font-size:
    clamp(52px,7vw,82px) !important;

  font-weight:500 !important;

  line-height:.94 !important;

  letter-spacing:-.05em !important;
}


#panel-diaries .ds-diary-intro h2 em{
  color:var(--ds-gold) !important;
  font-weight:500 !important;
}


#panel-diaries .ds-diary-intro > p{
  max-width:560px !important;

  margin:18px auto 0 !important;

  color:var(--ds-muted) !important;

  font:
    400 15px/1.6
    Inter,
    "DM Sans",
    system-ui,
    sans-serif !important;
}


/* ==========================================================
   APPROVED UPDATES AREA
   ========================================================== */

#panel-diaries #ds-families{
  display:block !important;

  width:min(980px,calc(100% - 36px)) !important;

  margin:0 auto !important;

  padding:0 !important;
}


/* Remove redundant second heading + description */
#panel-diaries #ds-families > h3,
#panel-diaries #ds-families > p:not(.ds-empty){
  display:none !important;
}


/* Approved cards */
#panel-diaries #ds-families .ds-family-grid,
#panel-diaries #ds-families .ds-family-list,
#panel-diaries #ds-families .studio-public-grid{
  margin-top:0 !important;
}


/* Empty state */
#panel-diaries #ds-families .ds-empty{
  max-width:650px !important;

  margin:
    8px auto
    22px !important;

  padding:
    38px 26px !important;

  border:
    1px solid
    rgba(31,51,81,.08) !important;

  border-radius:24px !important;

  background:
    var(--ds-paper) !important;

  color:var(--ds-navy) !important;

  text-align:center !important;

  font:
    500 18px/1.45
    "Playfair Display",
    Georgia,
    serif !important;
}


/* ==========================================================
   SHARE BUTTON
   ========================================================== */

#ds-forever-share-wrap{
  display:flex;

  justify-content:center;

  margin:
    24px auto
    clamp(60px,8vw,96px);
}


#ds-forever-share-button{
  min-height:50px;

  padding:0 23px;

  display:inline-flex;

  align-items:center;
  justify-content:center;

  border:0;

  border-radius:999px;

  background:var(--ds-navy);
  color:#fff;

  font:
    700 13px/1
    Inter,
    "DM Sans",
    system-ui,
    sans-serif;

  cursor:pointer;

  box-shadow:
    0 12px 30px
    rgba(31,51,81,.12);

  transition:
    transform .18s ease,
    box-shadow .18s ease;
}


#ds-forever-share-button:hover{
  transform:translateY(-1px);

  box-shadow:
    0 16px 34px
    rgba(31,51,81,.16);
}


#ds-forever-share-button:active{
  transform:scale(.98);
}


/* ==========================================================
   FORM MODAL
   ========================================================== */

#ds-forever-modal{
  position:fixed;
  inset:0;

  z-index:50000;

  display:none;

  align-items:center;
  justify-content:center;

  padding:
    max(24px,env(safe-area-inset-top))
    18px
    max(24px,env(safe-area-inset-bottom));

  background:
    rgba(18,27,39,.58);

  -webkit-backdrop-filter:
    blur(14px);

  backdrop-filter:
    blur(14px);
}


#ds-forever-modal.is-open{
  display:flex;
}


#ds-forever-modal-card{
  position:relative;

  width:min(650px,100%);

  max-height:
    min(86dvh,820px);

  overflow:auto;

  padding:
    clamp(28px,4vw,42px);

  border-radius:28px;

  background:#FFFDF9;

  box-shadow:
    0 32px 90px
    rgba(8,17,29,.26);
}


#ds-forever-modal-close{
  position:absolute;

  top:17px;
  right:17px;

  width:42px;
  height:42px;

  display:grid;
  place-items:center;

  border:
    1px solid
    rgba(31,51,81,.08);

  border-radius:50%;

  background:#F5F1EA;

  color:var(--ds-navy);

  font-size:22px;

  cursor:pointer;

  z-index:2;
}


/* Existing form stays functional */
#ds-forever-modal #ds-furparent-form{
  display:block !important;

  width:100% !important;

  margin:0 !important;

  padding:0 !important;

  border:0 !important;

  background:transparent !important;

  box-shadow:none !important;
}


#ds-forever-modal
#ds-furparent-form > h3{
  margin:
    0 54px
    8px
    0 !important;

  color:var(--ds-navy) !important;

  font-family:
    "Playfair Display",
    Georgia,
    serif !important;

  font-size:
    clamp(35px,5vw,48px) !important;

  font-weight:500 !important;

  line-height:1 !important;

  letter-spacing:-.035em !important;
}


/* Hide the long old form description */
#ds-forever-modal
#ds-furparent-form > p{
  display:none !important;
}


/* Compact form spacing */
#ds-forever-modal
#ds-furparent-form label{
  margin-top:15px !important;

  color:var(--ds-navy) !important;

  font-size:12px !important;
  font-weight:650 !important;
}


#ds-forever-modal
#ds-furparent-form input,

#ds-forever-modal
#ds-furparent-form textarea{
  min-height:48px !important;

  border:
    1px solid
    rgba(31,51,81,.10) !important;

  border-radius:14px !important;

  background:#FAF7F1 !important;
}


#ds-forever-modal
#ds-furparent-form textarea{
  min-height:110px !important;
}


#ds-forever-modal
#ds-furparent-form button[type="submit"]{
  min-height:50px !important;

  margin-top:18px !important;

  border-radius:999px !important;

  background:var(--ds-navy) !important;

  color:#fff !important;
}


/* permission text = visually secondary */
#ds-forever-modal
#ds-furparent-form input[type="checkbox"]{
  min-height:0 !important;
}


#ds-forever-modal
#ds-furparent-form label:has(input[type="checkbox"]){
  color:#7B8390 !important;

  font-size:10px !important;

  line-height:1.45 !important;
}


body.ds-forever-modal-open{
  overflow:hidden !important;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:720px){

  #panel-diaries .ds-diary-intro{
    margin:
      34px auto
      28px !important;

    padding:
      0 20px !important;
  }


  #panel-diaries .ds-diary-intro h2{
    font-size:
      clamp(48px,14vw,62px) !important;
  }


  #panel-diaries .ds-diary-intro > p{
    font-size:14px !important;
  }


  #panel-diaries #ds-families{
    width:
      calc(100% - 28px) !important;
  }


  #panel-diaries #ds-families .ds-empty{
    padding:
      32px 20px !important;

    font-size:17px !important;
  }


  #ds-forever-modal{
    align-items:flex-end;

    padding:
      12px
      10px
      max(10px,env(safe-area-inset-bottom));
  }


  #ds-forever-modal-card{
    width:100%;

    max-height:91dvh;

    padding:
      29px 20px
      25px;

    border-radius:
      26px 26px
      20px 20px;
  }


  #ds-forever-modal
  #ds-furparent-form > h3{
    font-size:36px !important;
  }

}

/* ==========================================================
   DREAMSPIRE — FOREVER HOME FORM PAGE
   Stable replacement for the old full-screen modal
   ========================================================== */

#ds-forever-form-page[hidden]{
  display:none !important;
}


#ds-forever-form-page{
  width:min(760px,calc(100% - 32px));

  margin:
    34px auto
    80px;

  padding:
    0;

  background:transparent;
}


#ds-forever-form-header{
  margin-bottom:34px;
}


#ds-forever-form-back{
  min-height:44px;

  padding:0 18px;

  border:
    1px solid
    rgba(31,51,81,.10);

  border-radius:999px;

  background:#FFFDF9;

  color:#1F3351;

  font:
    700 13px/1
    Inter,
    "DM Sans",
    system-ui,
    sans-serif;

  cursor:pointer;
}


.ds-forever-form-heading{
  margin-top:42px;
}


.ds-forever-form-heading > span{
  display:block;

  margin-bottom:12px;

  color:#9B814C;

  font:
    700 9px/1.2
    Inter,
    "DM Sans",
    system-ui,
    sans-serif;

  letter-spacing:.22em;

  text-transform:uppercase;
}


.ds-forever-form-heading h2{
  margin:0;

  color:#1F3351;

  font-family:
    "Playfair Display",
    Fraunces,
    Georgia,
    serif;

  font-size:
    clamp(44px,7vw,64px);

  font-weight:500;

  line-height:.98;

  letter-spacing:-.045em;
}


.ds-forever-form-heading p{
  max-width:500px;

  margin:
    14px 0
    0;

  color:#6F7888;

  font:
    400 14px/1.6
    Inter,
    "DM Sans",
    system-ui,
    sans-serif;
}


/* Real existing form */
#ds-forever-form-page
#ds-furparent-form{
  display:block !important;

  width:100% !important;

  margin:0 !important;

  padding:
    30px !important;

  border:
    1px solid
    rgba(31,51,81,.08) !important;

  border-radius:28px !important;

  background:#FFFDF9 !important;

  box-shadow:none !important;

  transform:none !important;

  filter:none !important;
}


#ds-forever-form-page
#ds-furparent-form label{
  display:block;

  margin-top:20px !important;

  margin-bottom:8px !important;

  color:#1F3351 !important;

  font-size:13px !important;

  font-weight:700 !important;
}


#ds-forever-form-page
#ds-furparent-form input,

#ds-forever-form-page
#ds-furparent-form textarea,

#ds-forever-form-page
#ds-furparent-form select{
  width:100% !important;

  font-size:16px !important;

  animation:none !important;
  transition:none !important;

  transform:none !important;

  filter:none !important;

  box-shadow:none !important;
}


#ds-forever-form-page
#ds-furparent-form textarea{
  min-height:140px !important;
}


#ds-forever-form-page
#ds-furparent-form button[type="submit"]{
  min-height:52px !important;

  margin-top:24px !important;

  padding:0 24px !important;

  border:0 !important;

  border-radius:999px !important;

  background:#1F3351 !important;

  color:#fff !important;
}


/* No modal behaviour anymore */
#ds-forever-modal{
  display:none !important;
}


@media(max-width:720px){

  #ds-forever-form-page{
    width:
      calc(100% - 28px);

    margin:
      24px auto
      60px;
  }


  #ds-forever-form-header{
    margin-bottom:24px;
  }


  .ds-forever-form-heading{
    margin-top:32px;
  }


  .ds-forever-form-heading h2{
    font-size:
      clamp(42px,12vw,56px);
  }


  #ds-forever-form-page
  #ds-furparent-form{
    padding:
      24px 18px
      30px !important;

    border-radius:24px !important;
  }

}
