/* Equal-height story cards — preview clamped; full text on hover / focus / tap */
.hwc-stories-page{align-items:stretch}
.hwc-story-card{
  position:relative;
  background:#fff;
  border:1px solid #E6EAF0;
  border-radius:16px;
  padding:22px 18px;
  text-align:center;
  height:100%;
  min-height:400px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  cursor:pointer;
  transition:border-color .2s, box-shadow .2s;
}
.hwc-story-actions{
  position:relative;
  z-index:5; /* above full-review overlay so before/after stays clickable */
  min-height:40px;
  margin-top:12px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hwc-story-action{
  display:inline-block;
  padding:8px 14px;
  border:1px solid #e16b39;
  color:#e16b39;
  border-radius:6px;
  font-size:13px;
  font-weight:600;
  text-decoration:none;
  cursor:pointer;
  pointer-events:auto;
}
.hwc-sr-only{
  position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);
}
.hwc-story-card:hover,
.hwc-story-card.is-open{
  border-color:#e16b39;
  box-shadow:0 10px 28px rgba(28,35,89,.1);
  z-index:2;
}
.hwc-story-name{
  margin:0 0 4px;
  color:#1C2359;
  font-family:Outfit,sans-serif;
  font-size:1.05rem;
  font-weight:700;
}
.hwc-story-hospital{
  margin:0 0 12px;
  color:#e16b39;
  font-family:Outfit,sans-serif;
  font-size:13px;
  font-weight:600;
}
.hwc-story-review{
  margin:0;
  color:#5C5F71;
  font-size:14px;
  line-height:1.65;
  flex:1;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:6;
  line-clamp:6;
  overflow:hidden;
  text-align:left;
}
.hwc-story-stars{
  margin:10px 0 0;
  color:#e16b39;
  font-size:13px;
  letter-spacing:1px;
}
.hwc-story-full{
  position:absolute;
  /* leave bottom strip clear for before/after actions */
  inset:0 0 56px 0;
  background:#fff;
  border-radius:16px 16px 0 0;
  padding:20px 18px 12px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
  z-index:3;
  text-align:left;
}
/* Hover opens full text, but not while pointer is on the action link */
.hwc-story-card:hover:not(:has(.hwc-story-actions:hover)) .hwc-story-full,
.hwc-story-card.is-open .hwc-story-full{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
}
.hwc-story-full-close{
  position:absolute;
  top:8px;right:10px;
  width:32px;height:32px;
  border:0;border-radius:50%;
  background:#EEF3F8;color:#1C2359;
  font-size:20px;line-height:1;cursor:pointer;
}
.hwc-story-full-hospital{
  margin:0 28px 4px 0;
  color:#e16b39;
  font-family:Outfit,sans-serif;
  font-size:12px;font-weight:600;
}
.hwc-story-full-name{
  margin:0 0 10px;
  color:#1C2359;
  font-family:Outfit,sans-serif;
  font-size:1rem;font-weight:700;
}
.hwc-story-full-text{
  margin:0;
  color:#5C5F71;
  font-size:14px;
  line-height:1.65;
  white-space:pre-wrap;
  overflow:auto;
  flex:1;
  -webkit-overflow-scrolling:touch;
  padding-right:4px;
}
.hwc-story-full .hwc-story-stars{margin-top:12px;text-align:center}

.hwc-form label{display:block;margin:0 0 12px;font-size:14px;font-weight:600;color:#1C2359}
.hwc-form input,.hwc-form textarea,.hwc-form select{width:100%;margin-top:6px;padding:12px;border:1px solid #E6EAF0;border-radius:8px;font:inherit;box-sizing:border-box}
.hwc-form h3{margin:0 0 16px;color:#1C2359;font-family:Outfit,sans-serif;font-size:1.25rem}
.hwc-form button[type=submit]{margin-top:8px;padding:14px 20px;background:#e16b39;color:#fff;border:0;border-radius:6px;font-weight:600;width:100%;cursor:pointer;font:inherit}
.hwc-form .hwc-check{display:flex;gap:8px;align-items:flex-start;font-weight:500}
.hwc-form .hwc-check input{width:auto;margin-top:3px}
.hwc-form .hwc-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.hwc-form-msg{margin-top:12px;font-size:14px}
.hwc-form-msg[hidden]{display:none !important}

@media(max-width:991px){
  .hwc-stories-page,.hwc-clips-page{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:575px){
  .hwc-stories-page,.hwc-clips-page{grid-template-columns:1fr !important}
}

/* Journeys: Elementor flex was shrinking the video block so stories overlapped videos */
.elementor-element-1o51184,
.elementor-element-1o51184 > .e-con-inner,
.elementor-element-hwcjvid1,
.elementor-element-hwcjvid1 > .elementor-widget-container,
.hwc-jot-videos,
.hwc-clips-wrap{
  height:auto !important;
  max-height:none !important;
  min-height:0 !important;
  overflow:visible !important;
}
.elementor-element-1o51184 > .e-con-inner{
  flex:0 0 auto !important;
  align-items:stretch !important;
}
.elementor-element-hwcjvid1{
  flex:0 0 auto !important;
  align-self:stretch !important;
  width:100% !important;
}
.hwc-clips-page,
.hwc-stories-page{
  width:100%;
}
.hwc-journey-video{min-width:0}
@media(max-width:767px){
  .elementor-element-1o51184{
    --padding-top:28px !important;
    --padding-bottom:28px !important;
  }
  .elementor-element-hbx2fpg{
    position:relative;
    z-index:1;
    margin-top:8px;
  }
}

/* Shared modal shell (advice / share / rsvp) — class toggle (Elementor strips [hidden]) */
.hwc-modal.hwc-modal--closed{display:none !important}
.hwc-modal{position:fixed;inset:0;z-index:10000}
.hwc-modal-backdrop,.hwc-rsvp-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.5)}
.hwc-modal{display:flex;align-items:flex-end;justify-content:center;padding:12px}
.hwc-modal-sheet,.hwc-rsvp-sheet{
  position:relative;z-index:1;background:#fff;border-radius:16px 16px 8px 8px;
  padding:20px 18px 24px;width:100%;max-width:520px;max-height:min(92vh,820px);
  overflow:auto;-webkit-overflow-scrolling:touch;box-shadow:0 20px 50px rgba(0,0,0,.25)
}
.hwc-modal-close{
  position:absolute;top:10px;right:12px;border:0;background:#EEF3F8;color:#1C2359;
  width:36px;height:36px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer
}
body.hwc-modal-open{overflow:hidden}
/* Hide floating chrome while any HWC modal / RSVP is open */
body.hwc-modal-open .scroll-top,
body.hwc-modal-open .whatsapp,
body.hwc-modal-open [class*="whatsapp"],
body.hwc-modal-open [id*="whatsapp"],
body.hwc-modal-open .ht-ctc,
body.hwc-modal-open .ht-ctc-chat,
body.hwc-modal-open .joinchat,
body.hwc-modal-open .wa__btn_popup,
body.hwc-modal-open a[href*="wa.me"],
body.hwc-modal-open a[href*="api.whatsapp.com"]{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
@media(min-width:700px){
  .hwc-modal{align-items:center;padding:24px}
  .hwc-modal-sheet,.hwc-rsvp-sheet{border-radius:16px}
}

.hwc-rsvp-backdrop{
  position:fixed;inset:0;
  background:rgba(15,23,42,.5);
  display:flex;align-items:flex-end;justify-content:center;
  z-index:10050;
  padding:12px 12px max(16px, env(safe-area-inset-bottom));
  box-sizing:border-box;
}
@media(min-width:700px){.hwc-rsvp-backdrop{align-items:center;padding:24px}}
.hwc-rsvp-sheet{
  background:#fff;border-radius:16px 16px 8px 8px;
  padding:20px 18px max(28px, env(safe-area-inset-bottom));
  width:100%;max-width:420px;
  max-height:min(90vh, 820px);
  overflow:auto;-webkit-overflow-scrolling:touch;
  box-shadow:0 20px 50px rgba(0,0,0,.25);
  box-sizing:border-box;
}
@media(min-width:700px){.hwc-rsvp-sheet{border-radius:16px;padding:24px}}

.hwc-rsvp-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:12px;
}
.hwc-rsvp-actions button{
  width:100%;
  margin:0;
  box-sizing:border-box;
}
.hwc-rsvp-actions .hwc-rsvp-cancel{
  background:#EEF3F8 !important;
  color:#1e618e !important;
}
@media(min-width:700px){
  .hwc-rsvp-actions{flex-direction:row}
  .hwc-rsvp-actions button[type=submit]{flex:1;width:auto}
  .hwc-rsvp-actions .hwc-rsvp-cancel{width:auto;flex:0 0 auto;padding-left:20px;padding-right:20px}
}
