/* Explore Puncak Frontend UI Safeguards — Typography Reset 0.29.1
 * Font family and font sizes are reset to the original per-component styles.
 * IMPORTANT: Flatsome owns #header completely. This file must never size header/menu/logo text.
 */
:root{
  --ep-ui-green:#08734f;
  --ep-ui-green-hover:#066541;
  --ep-ui-soft:#edf6f1;
  --ep-ui-line:#dce6e0;
  --ep-ui-shell:1180px;
  --ep-ui-radius:12px;
  --ep-ui-control-radius:8px;
  --ep-ui-control-h:48px;
  --ep-ui-tab-h:42px;
}

/* Shared content shell only — never Flatsome .container. */
.epv21-shell,.epvd22-shell,.epv26-shell,.epvh-shell,.ephv-shell,.ep-shell{
  width:min(var(--ep-ui-shell),calc(100% - 40px))!important;
  max-width:var(--ep-ui-shell)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.epv26-page-active .epv26-layout{grid-template-columns:minmax(0,1fr) 320px!important;gap:18px!important}
body.epv26-page-active .epv26-sidebar{width:320px!important;min-width:320px!important;max-width:320px!important;gap:14px!important}
body.epv26-page-active .epv26-gallery,body.epv26-page-active .epv26-gallery-main,body.epv26-page-active .epv26-gallery-side{height:360px!important}

/* Keep controls geometrically consistent without overriding their original typography. */
.ep-btn,.epv21-btn,.epvd22-btn,.epv26-btn{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:var(--ep-ui-control-h)!important;
  height:var(--ep-ui-control-h)!important;
  padding-left:18px!important;
  padding-right:18px!important;
  border-radius:var(--ep-ui-control-radius)!important;
}
.epv26-booking-card .epv26-btn,.epvd22-booking-card .epvd22-btn,.epv21-booking-card .epv21-btn{width:100%!important}
.epv26-booking-tabs button,.epv26-duration-tabs button{min-height:var(--ep-ui-tab-h)!important;border-radius:var(--ep-ui-control-radius)!important}
.epv26-booking-card label>span,.epvd22-booking-card label>span,.epv21-booking-card label>span{min-height:var(--ep-ui-control-h)!important;border-radius:var(--ep-ui-control-radius)!important}

/* Venue hub card image fix retained from 0.26.1+. */
.ephv-property-photo{display:block!important;overflow:hidden!important}
.ephv-property-photo img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}

@media(max-width:1050px){
  .epv21-shell,.epvd22-shell,.epv26-shell,.epvh-shell,.ephv-shell,.ep-shell{width:calc(100% - 32px)!important}
  body.epv26-page-active .epv26-layout{grid-template-columns:minmax(0,1fr) 300px!important;gap:16px!important}
  body.epv26-page-active .epv26-sidebar{width:300px!important;min-width:300px!important;max-width:300px!important}
}
@media(max-width:820px){
  body.epv26-page-active .epv26-layout{grid-template-columns:1fr!important;grid-template-areas:"main" "side"!important}
  body.epv26-page-active .epv26-sidebar{width:100%!important;min-width:0!important;max-width:none!important}
}
@media(max-width:620px){
  .epv21-shell,.epvd22-shell,.epv26-shell,.epvh-shell,.ephv-shell,.ep-shell{width:calc(100% - 22px)!important}
}
