.txt.short.has-txt {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: block !important;
    white-space: normal !important; /* Ensures text wraps instead of staying on one line */
}

/* Optional: Add some padding if the text touches the borders after expanding */
.txt.short.has-txt p {
    margin-bottom: 10px;
}

/*
	Custom CSS
	Please make sure your CSS rules are 
	more particular / have higher priority
	then other page styles
*/
 #events h3   {
	/* add your css rule here */
}


 #events p.duration, #events div.duration   {
	/* add your css rule here */
}


 #events p.description, #events div.description   {
	/* add your css rule here */
}


 #events .selectedEvent   {
	/* add your css rule here */
}


 #events input.reserve_time_btn   {
	/* add your css rule here */
}


 #events input.select_another_btn   {
	/* add your css rule here */
}


 #eventForm #start_date-block-container h3, #eventForm #timeline-container h3   {
	/* add your css rule here */
}


 #eventForm #save_button   {
	/* add your css rule here */
}


 div.ui-widget-content   {
	/* add your css rule here */
}


 div.ui-widget-header   {
	/* add your css rule here */
}


 #timeline-container table.timeline   {
	/* add your css rule here */
}


 .timeline td.not_worked_time   {
	/* add your css rule here */
}


 .timeline td.free_time   {
	/* add your css rule here */
}


 .timeline td.selected_time   {
	/* add your css rule here */
}


 .timeline td.reserved_time   {
	/* add your css rule here */
}


 div#loading   {
	/* add your css rule here */
}


 #start_date-block-container .zend_form dt, start_date-block-container .zend_form dt b, start_date-block-container .zend_form dd label   {
	/* add your css rule here */
}

/* =========================================================
   MEMBERSHIP ONLY — align cards + buttons (does NOT touch Hourly)
   
   ========================================================= */

/* Desktop: make membership cards equal height + pin button to bottom */
@media (min-width: 992px) {
  .sb-membership .sb-card,
  .sb-memberships .sb-card,
  .sb-subscription .sb-card,
  .sb-subscriptions .sb-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
  }

  /* Let the main content take space; button/footer sits at bottom */
  .sb-membership .sb-card__body,
  .sb-memberships .sb-card__body,
  .sb-subscription .sb-card__body,
  .sb-subscriptions .sb-card__body {
    flex: 1 1 auto !important;
  }

  .sb-membership .sb-btn,
  .sb-memberships .sb-btn,
  .sb-subscription .sb-btn,
  .sb-subscriptions .sb-btn {
    margin-top: auto !important;
  }

  /* If descriptions differ, this helps alignment without stretching everything */
  .sb-membership .txt.short.has-txt,
  .sb-memberships .txt.short.has-txt,
  .sb-subscription .txt.short.has-txt,
  .sb-subscriptions .txt.short.has-txt {
    min-height: 110px !important;
    height: auto !important;
  }
}

/* Mobile: NO equal-height (prevents the “stretched” look) */
@media (max-width: 991px) {
  .sb-membership .sb-card,
  .sb-memberships .sb-card,
  .sb-subscription .sb-card,
  .sb-subscriptions .sb-card {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .sb-membership .txt.short.has-txt,
  .sb-memberships .txt.short.has-txt,
  .sb-subscription .txt.short.has-txt,
  .sb-subscriptions .txt.short.has-txt {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    white-space: normal !important;
  }
}

/* =========================================================
   MEMBERSHIP ONLY — force equal card heights (no Hourly impact)
   Desktop + mobile safe
   ========================================================= */

@media (min-width: 992px) {

  /* Cover all membership wrappers SimplyBook uses */
  .sb-membership .sb-card,
  .sb-memberships .sb-card,
  .sb-subscription .sb-card,
  .sb-subscriptions .sb-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
  }

  /* Make the inner body stretch */
  .sb-membership .sb-card .sb-card__body,
  .sb-memberships .sb-card .sb-card__body,
  .sb-subscription .sb-card .sb-card__body,
  .sb-subscriptions .sb-card .sb-card__body,
  .sb-membership .sb-card .sb-service__body,
  .sb-memberships .sb-card .sb-service__body,
  .sb-subscription .sb-card .sb-service__body,
  .sb-subscriptions .sb-card .sb-service__body {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
  }

  /* Normalize TITLE height (this is usually what causes the remaining unevenness) */
  .sb-membership .sb-card h3,
  .sb-memberships .sb-card h3,
  .sb-subscription .sb-card h3,
  .sb-subscriptions .sb-card h3 {
    min-height: 56px !important;
  }

  /* Normalize DESCRIPTION height (increase if still uneven) */
  .sb-membership .sb-card .txt,
  .sb-memberships .sb-card .txt,
  .sb-subscription .sb-card .txt,
  .sb-subscriptions .sb-card .txt {
    min-height: 130px !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  /* Keep Subscribe button pinned to bottom */
  .sb-membership .sb-btn,
  .sb-memberships .sb-btn,
  .sb-subscription .sb-btn,
  .sb-subscriptions .sb-btn,
  .sb-membership .sb-card button,
  .sb-memberships .sb-card button,
  .sb-subscription .sb-card button,
  .sb-subscriptions .sb-card button {
    margin-top: auto !important;
  }
}
/* Nuvork office photo availability — November 2026 */
.membership-item:has(:is(#membership1,#membership15,#membership16,#membership3,#membership2,#membership4)) .excerpt-info > .preloader {position:relative!important;}
.membership-item:has(:is(#membership1,#membership15,#membership16,#membership3,#membership2,#membership4)) .excerpt-info > .preloader::after {position:absolute;left:12px;right:12px;bottom:12px;z-index:2;padding:12px 14px;border-radius:7px;color:#fff;font:700 14px/1.5 Arial,sans-serif;text-align:center;white-space:pre-line;box-sizing:border-box;box-shadow:0 2px 10px #0005;pointer-events:none;}
.membership-item:has(:is(#membership15,#membership3)) .excerpt-info > .preloader::after {content:"ALL RENTED";background:#512d33;}
.membership-item:has(#membership2) .excerpt-info > .preloader::after {content:"AVAILABLE NOW";background:#174c3c;}
@media(max-width:767px){.membership-item:has(:is(#membership1,#membership15,#membership16,#membership3,#membership2,#membership4)) .excerpt-info > .preloader::after{font-size:13px;padding:10px;left:8px;right:8px;bottom:8px;}}

.membership-item:has(#membership1) .excerpt-info > .preloader::after{content:"AVAILABLE DECEMBER 1, 2026";background:#795416;}

.membership-item:has(#membership16) .excerpt-info > .preloader::after{content:"AVAILABLE NOW";background:#174c3c;}

.membership-item:has(#membership4) .excerpt-info > .preloader::after{content:"AVAILABLE NOW — $249/MONTH";background:#174c3c;}

/* Homepage Book button opens membership plans. */
body:has(.nuvork-book-memberships) #main-buttons a.book{display:none!important;}
.nuvork-membership-cta{text-align:center!important;margin:0 0 24px!important;}
a.nuvork-book-memberships{display:inline-flex!important;align-items:center;justify-content:center;min-height:50px;min-width:180px;padding:14px 28px;background:#1d4c5d!important;color:#fff!important;border:0;border-radius:5px;font:700 18px/1.3 Arial,sans-serif;text-decoration:none!important;box-shadow:0 3px 10px #0002;}
a.nuvork-book-memberships:hover,a.nuvork-book-memberships:focus-visible{background:#123541!important;outline:2px solid #b69c61;outline-offset:3px;}

/* Mobile Book Now over the conference room photo. */
@media(max-width:767px){
body:has(.nuvork-book-memberships){padding-bottom:0!important;}
body:has(.nuvork-book-memberships) #main-buttons{display:block!important;min-height:240px!important;}
body:has(.nuvork-book-memberships) #main-content{position:relative!important;overflow:visible!important;}
body:has(.nuvork-book-memberships) #content-view .col-sm-4:has(#about-us){position:static!important;}
body:has(.nuvork-book-memberships) #about-us{overflow:visible!important;}
body:has(.nuvork-book-memberships) .nuvork-membership-cta{position:absolute!important;top:-100px!important;bottom:auto!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:200px!important;max-width:calc(100vw - 40px)!important;margin:0!important;z-index:20!important;}
body:has(.nuvork-book-memberships) a.nuvork-book-memberships{display:flex!important;width:100%!important;box-sizing:border-box!important;min-height:54px!important;border:2px solid #fff!important;box-shadow:0 4px 20px #0006!important;}
}

/* Membership pages use plan-specific Subscribe buttons, not hourly booking. */
#sb_main.page--membership #main-buttons a.book{display:none!important;}

/* Disable the built-in hourly hero CTA across all booking routes. */
#main-buttons a.book{display:none!important;pointer-events:none!important;}

/* Release the mobile CTA from the description panel containing block. */
@media(max-width:767px){body:has(.nuvork-book-memberships) #about-us{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}body:has(.nuvork-book-memberships) .nuvork-membership-cta{min-width:0!important;max-width:200px!important;}}
