.thus-memorial-condolences{
  --thus-memorial-maroon:#4a1017;
  --thus-memorial-maroon-2:#741b24;
  --thus-memorial-gold:#c8a35a;
  --thus-memorial-paper:#f8f3eb;
  --thus-memorial-line:rgba(74,16,23,.17);
  --thus-memorial-muted:#716762;
  --thus-memorial-display:"Cormorant Garamond",Georgia,serif;
  --thus-memorial-sans:"Inter",Arial,sans-serif;
  font-family:var(--thus-memorial-sans);
}
.thus-memorial-condolences *,
.thus-memorial-condolences *::before,
.thus-memorial-condolences *::after{box-sizing:border-box}
.thus-memorial-condolences__grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:28px;
}
.thus-memorial-form,
.thus-memorial-list{
  background:#fff;
  border:1px solid var(--thus-memorial-line);
  padding:38px;
}
.thus-memorial-form{box-shadow:0 24px 70px rgba(30,16,12,.18)}
.thus-memorial-badge{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:24px;
  padding:8px 12px;
  border:1px solid #decba4;
  background:#fffaf0;
  color:#775d27;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:600;
}
.thus-memorial-badge::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--thus-memorial-gold);
}
.thus-memorial-form>label,
.thus-memorial-form__row>label{
  display:block;
  margin:0 0 17px;
}
.thus-memorial-form label>span:first-child{
  display:block;
  margin:0 0 8px;
  color:#5c4c46;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.thus-memorial-form__row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px;
}
.thus-memorial-form input[type="text"],
.thus-memorial-form input[type="email"],
.thus-memorial-form textarea{
  width:100%;
  border:1px solid #d8cec2;
  background:#fcfaf6;
  padding:14px 15px;
  outline:none;
  font:inherit;
  transition:.2s ease;
}
.thus-memorial-form textarea{min-height:180px;resize:vertical}
.thus-memorial-form input:focus,
.thus-memorial-form textarea:focus{
  border-color:var(--thus-memorial-gold);
  box-shadow:0 0 0 3px rgba(200,163,90,.15);
}
.thus-memorial-consent{
  display:flex!important;
  align-items:flex-start;
  gap:10px;
  color:var(--thus-memorial-muted);
  font-size:.82rem;
  line-height:1.55;
}
.thus-memorial-consent input{margin-top:4px;accent-color:var(--thus-memorial-maroon)}
.thus-memorial-consent span{
  display:inline!important;
  margin:0!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font-size:inherit!important;
  font-weight:400!important;
  color:inherit!important;
}
.thus-memorial-privacy{
  color:var(--thus-memorial-muted);
  font-size:.78rem;
  line-height:1.55;
}
.thus-memorial-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border:0;
  background:var(--thus-memorial-maroon);
  color:#fff;
  padding:15px 24px;
  cursor:pointer;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  font-weight:600;
}
.thus-memorial-submit:hover{background:var(--thus-memorial-maroon-2)}
.thus-memorial-submit:disabled{opacity:.55;cursor:not-allowed}
.thus-memorial-form-status{min-height:1.5em;margin:14px 0 0;font-size:.82rem;color:var(--thus-memorial-muted)}
.thus-memorial-form-status.is-error{color:#9d1c1c}
.thus-memorial-form-status.is-success{color:#316c3b}
.thus-memorial-message{
  padding:0 0 25px;
  margin:0 0 25px;
  border-bottom:1px solid var(--thus-memorial-line);
}
.thus-memorial-message:last-child{border:0;margin-bottom:0;padding-bottom:0}
.thus-memorial-message p{
  margin:0 0 10px;
  font-family:var(--thus-memorial-display);
  font-size:1.35rem;
  line-height:1.45;
}
.thus-memorial-message footer{
  color:var(--thus-memorial-muted);
  font-size:.68rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.thus-memorial-loading,
.thus-memorial-empty{
  color:var(--thus-memorial-muted);
  font-family:var(--thus-memorial-display);
  font-size:1.25rem;
}
.thus-memorial-honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
@media(max-width:860px){
  .thus-memorial-condolences__grid{grid-template-columns:1fr}
}
@media(max-width:580px){
  .thus-memorial-form,
  .thus-memorial-list{padding:25px}
  .thus-memorial-form__row{grid-template-columns:1fr;gap:0}
}


/* Structured public-memory cards — version 1.1.0 */
.thus-memorial-message__header{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:18px;
}
.thus-memorial-message__date{
  flex:0 0 70px;
  width:70px;
  min-height:70px;
  display:grid;
  place-items:center;
  align-content:center;
  padding:7px 5px;
  border:1px solid var(--thus-memorial-line);
  background:var(--thus-memorial-paper);
  color:var(--thus-memorial-maroon);
  text-align:center;
  line-height:1;
}
.thus-memorial-message__month,
.thus-memorial-message__year{
  display:block;
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.thus-memorial-message__day{
  display:block;
  margin:2px 0;
  font-family:var(--thus-memorial-display);
  font-size:2rem;
}
.thus-memorial-message__identity{
  min-width:0;
}
.thus-memorial-message__title{
  margin:0 0 6px;
  font-family:var(--thus-memorial-display);
  font-size:1.7rem;
  line-height:1;
}
.thus-memorial-message__meta{
  margin:0;
  color:var(--thus-memorial-muted);
  font-size:.68rem;
  letter-spacing:.08em;
  line-height:1.45;
  text-transform:uppercase;
}
.thus-memorial-message__body{
  margin:0;
  font-family:var(--thus-memorial-display);
  font-size:1.35rem;
  line-height:1.45;
}
@media(max-width:520px){
  .thus-memorial-message__date{
    flex-basis:62px;
    width:62px;
    min-height:62px;
  }
  .thus-memorial-message__day{
    font-size:1.7rem;
  }
}


/* v1.3.0 optional image upload */
.thus-memorial-image-upload input[type="file"],
.thus-memorial-form input[type="file"]{
  width:100%;
  border:1px solid #d8cec2;
  background:#fcfaf6;
  padding:12px;
  color:#5c4c46;
}
.thus-memorial-image-help{
  display:block!important;
  margin-top:6px!important;
  color:var(--thus-memorial-muted)!important;
  font-size:.76rem!important;
  letter-spacing:0!important;
  text-transform:none!important;
  font-weight:400!important;
}
.thus-memorial-message__image{
  display:block;
  margin:14px 0 0;
  overflow:hidden;
  border:1px solid var(--thus-memorial-line);
  background:#eee3d5;
}
.thus-memorial-message__image img{
  display:block;
  width:100%;
  max-height:280px;
  object-fit:cover;
  object-position:center center;
}


/* Image modal for condolence card photos — v1.3.3 */
.thus-memorial-image-modal[hidden]{
  display:none!important;
}
.thus-memorial-image-modal{
  position:fixed;
  inset:0;
  z-index:100000;
  display:grid;
  place-items:center;
  padding:24px;
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease, visibility .18s ease;
}
.thus-memorial-image-modal.is-open{
  opacity:1;
  visibility:visible;
}
.thus-memorial-image-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(20,10,12,.82);
  cursor:pointer;
}
.thus-memorial-image-modal__dialog{
  position:relative;
  z-index:2;
  width:min(1100px,96vw);
  max-height:92vh;
  outline:none;
}
.thus-memorial-image-modal__image{
  display:block;
  width:auto;
  max-width:100%;
  max-height:92vh;
  margin:0 auto;
  object-fit:contain;
  background:#fffaf2;
  box-shadow:0 24px 90px rgba(0,0,0,.45);
}
.thus-memorial-image-modal__close{
  position:absolute;
  top:-18px;
  right:-18px;
  z-index:3;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:999px;
  background:#5a1620;
  color:#fffaf2;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.thus-memorial-image-modal__close:hover,
.thus-memorial-image-modal__close:focus-visible{
  background:#7b2230;
}
body.thus-memorial-image-modal-open{
  overflow:hidden;
}
.thus-memorial-message__image{
  cursor:zoom-in;
}
@media(max-width:640px){
  .thus-memorial-image-modal{
    padding:14px;
  }
  .thus-memorial-image-modal__close{
    top:8px;
    right:8px;
  }
}


/* Read More summary toggle — v1.3.4 */
.thus-memorial-message__toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:.25rem 0 1rem;
  padding:.35rem .7rem;
  border:1px solid currentColor;
  border-radius:2px;
  background:transparent;
  color:inherit;
  font:inherit;
  font-size:.85rem;
  line-height:1;
  cursor:pointer;
}
.thus-memorial-message__toggle:hover,
.thus-memorial-message__toggle:focus-visible{
  background:rgba(90,22,32,.08);
}


/* Expanded Read More full-message protection — v1.3.5 */
.thus-memorial-message__body[data-thus-memorial-managed-excerpt="true"]{
  display:block!important;
  overflow:visible!important;
  max-height:none!important;
  -webkit-line-clamp:unset!important;
  line-clamp:unset!important;
  -webkit-box-orient:unset!important;
}
.thus-memorial-message__body[data-thus-memorial-expanded="true"],
.thus-memorial-message__body.is-expanded{
  display:block!important;
  overflow:visible!important;
  max-height:none!important;
  height:auto!important;
  white-space:normal!important;
  text-overflow:clip!important;
  -webkit-line-clamp:unset!important;
  line-clamp:unset!important;
  -webkit-box-orient:unset!important;
}


/* Message length helper — v1.3.6 */
.thus-memorial-message-help{
  display:block;
  margin-top:.45rem;
  color:rgba(61,48,43,.72);
  font-size:.9rem;
  line-height:1.35;
}
.thus-memorial-form textarea[name="message"]{
  min-height:220px;
}


/* Read More button visibility / plugin setting authority — v1.3.8 */
.thus-memorial-message__toggle[data-thus-memorial-read-more="true"]{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  z-index:3!important;
}
.thus-memorial-message__body[data-thus-memorial-managed-excerpt="true"] + .thus-memorial-message__toggle{
  margin-top:.15rem!important;
}


/* Safe formatted condolence messages — v1.4.1 */
.thus-memorial-message__body p{
  margin:0 0 .85em;
}
.thus-memorial-message__body p:last-child{
  margin-bottom:0;
}
.thus-memorial-message__body ul,
.thus-memorial-message__body ol{
  margin:.65em 0 .85em 1.35em;
  padding:0;
}
.thus-memorial-message__body li{
  margin:.25em 0;
}
.thus-memorial-message__body a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:.14em;
}
