/* Explore Puncak Hotel & Venue Hub — Hub + Field Contract v2 v0.24.0 */
:root{--ephv-deep:#0b4b37;--ephv-green:#0d6849;--ephv-soft:#f3f8f4;--ephv-text:#17372c;--ephv-muted:#687a71;--ephv-line:#dce7df;--ephv-paper:#fff;--ephv-shadow:0 10px 28px rgba(18,61,44,.055);--ephv-radius:12px}
body.ephv-page-active #main{padding:0!important;background:#fff!important}body.ephv-page-active .ep-floating-whatsapp{display:none!important}
.ephv-root,.ephv-root *{box-sizing:border-box}.ephv-root{overflow:hidden;background:#fff;color:var(--ephv-text);font-family:Calibri,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.5}.ephv-root a{text-decoration:none!important;color:inherit}.ephv-root svg{display:block;width:22px;height:22px;fill:currentColor;flex:none}.ephv-root img{display:block;max-width:100%}.ephv-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
/* shared hero: only specialize hotel finder controls; geometry remains owned by frontend.css */
.ephv-page-active .ep-shared-hero-hotel_venue{margin-bottom:70px}.ephv-page-active .ep-shared-hero-hotel_venue .ep-hero-copy{width:min(760px,68%)!important}.ephv-page-active .ep-shared-hero-hotel_venue .ep-finder{grid-template-columns:repeat(3,minmax(0,1fr)) auto!important}.ephv-page-active .ep-shared-hero-hotel_venue .ep-finder input[type=date]{font-family:Calibri,"Segoe UI",Arial,sans-serif!important;font-size:15px!important;color:#68776f!important;border:0!important;background:transparent!important;box-shadow:none!important}.ep-hv-intent-toggle{display:inline-grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:24px;padding:5px;border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 10px 24px rgba(0,0,0,.08)}.ep-hv-intent-toggle button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:165px;min-height:44px;padding:8px 14px;border:0;border-radius:9px;background:transparent;color:#124632;font:700 14px Calibri,"Segoe UI",Arial;cursor:pointer}.ep-hv-intent-toggle button.is-active{background:#0d704d;color:#fff;box-shadow:0 7px 16px rgba(4,85,56,.18)}
.ephv-section{padding:12px 0 24px}.ephv-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:14px}.ephv-section-head h2{margin:0;color:#133d30;font-size:29px;line-height:1.1;font-weight:800;letter-spacing:-.015em}.ephv-section-head p{margin:5px 0 0;color:#6e7d75;font-size:14px}.ephv-section-head>a{padding-bottom:4px;color:#0b6043;font-size:13px;font-weight:800;white-space:nowrap}
.ephv-need-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ephv-need-card{display:grid;grid-template-columns:46px 1fr 18px;align-items:center;gap:11px;min-height:96px;padding:15px;border:1px solid #dfe8e2;border-radius:10px;background:#fff;box-shadow:var(--ephv-shadow);transition:.18s ease}.ephv-need-card:hover{transform:translateY(-2px);border-color:#b8d0c1}.ephv-need-card>svg{width:42px;height:42px;padding:10px;border-radius:50%;background:#eef7ef;color:#0b6747}.ephv-need-card strong{display:block;font-size:15px}.ephv-need-card small{display:block;margin-top:3px;color:#718078;font-size:12px;line-height:1.4}.ephv-need-card b{color:#0b6747;font-size:18px}
.ephv-properties{padding-top:18px}.ephv-property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.ephv-property-card{overflow:hidden;border:1px solid #dfe8e2;border-radius:10px;background:#fff;box-shadow:0 9px 24px rgba(17,59,43,.045)}.ephv-property-photo{position:relative;display:block;height:190px;overflow:hidden;background:#eef4ef}.ephv-property-photo img{width:100%;height:100%;object-fit:cover}.ephv-property-photo>span{position:absolute;left:12px;top:12px;padding:5px 9px;border-radius:999px;background:#0c724d;color:#fff;font-size:11px;font-weight:800}.ephv-property-body{padding:14px 15px}.ephv-property-card h3{margin:0 0 10px;font-size:18px;line-height:1.2;font-weight:800}.ephv-property-summary{margin:-2px 0 10px;color:#66766e;font-size:13px;line-height:1.45}.ephv-property-meta{display:flex;gap:10px 14px;flex-wrap:wrap;color:#68786f;font-size:12px}.ephv-property-meta span{display:flex;align-items:center;gap:5px}.ephv-property-meta svg{width:15px;height:15px;color:#0b6848}.ephv-property-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:16px}.ephv-property-footer small{display:block;color:#839088;font-size:10px}.ephv-property-footer strong{display:inline-block;color:#0a6544;font-size:19px;line-height:1.05}.ephv-property-footer>div>span{margin-left:3px;color:#66766e;font-size:10px}.ephv-property-footer>a{display:grid;place-items:center;width:38px;height:38px;border:1px solid #c9dbd0;border-radius:50%;color:#0a6746;font-size:20px;font-weight:800}
.ephv-empty-state{display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:18px;padding:24px;border:1px solid #dfe8e2;border-radius:12px;background:linear-gradient(180deg,#fbfefc,#f4faf6);box-shadow:var(--ephv-shadow)}.ephv-empty-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#e5f4e7;color:#0b6747}.ephv-empty-icon svg{width:28px;height:28px}.ephv-empty-state h3{margin:0 0 5px;font-size:21px}.ephv-empty-state p{max-width:620px;margin:0;color:#6d7c74;font-size:14px}.ephv-empty-actions{display:flex;gap:8px;flex-wrap:wrap}.ephv-empty-actions a{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border-radius:999px;background:#0d704d;color:#fff;font-size:12px;font-weight:800}.ephv-empty-actions a.is-secondary{border:1px solid #c5d9cd;background:#fff;color:#0d6447}.ephv-empty-actions svg{width:16px;height:16px}
.ephv-consult{margin-top:10px;padding:40px 0;background-position:center;background-size:cover;color:#fff}.ephv-consult-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:42px;align-items:center}.ephv-consult-copy>small{font-size:11px;font-weight:800;letter-spacing:.14em}.ephv-consult h2{margin:7px 0 10px;color:#fff;font-size:34px;line-height:1.08;font-weight:800}.ephv-consult-copy p{max-width:530px;margin:0 0 16px;color:#d8e7df;font-size:15px}.ephv-consult-copy>a{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:999px;background:#0aa158;color:#fff;font-size:13px;font-weight:800}.ephv-consult-copy>a svg{width:18px;height:18px}.ephv-trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:17px;border-radius:12px;background:rgba(255,255,255,.95);color:#173c30}.ephv-trust-grid>div{display:flex;align-items:center;gap:11px;min-height:68px;padding:9px}.ephv-trust-grid>div>svg{width:40px;height:40px;padding:9px;border-radius:50%;background:#e3f4e4;color:#0c6a47}.ephv-trust-grid strong{display:block;font-size:13px}.ephv-trust-grid small{display:block;margin-top:2px;color:#718078;font-size:11px}
.ephv-faq{padding:32px 0 38px}.ephv-eyebrow{margin-bottom:5px;color:#6b9a64;font-size:11px;font-weight:800;letter-spacing:.14em}.ephv-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.ephv-faq details{border:1px solid #dfe7e2;border-radius:8px;background:#fff}.ephv-faq summary{position:relative;padding:12px 34px 12px 12px;color:#27483b;font-size:13px;font-weight:700;cursor:pointer;list-style:none}.ephv-faq summary::-webkit-details-marker{display:none}.ephv-faq summary:after{content:"+";position:absolute;right:13px;top:9px;color:#0b6546;font-size:20px}.ephv-faq details[open] summary:after{content:"−"}.ephv-faq details p{margin:0;padding:0 12px 12px;color:#6d7d75;font-size:13px;line-height:1.5}
.ephv-final-cta{padding:26px 0;background:linear-gradient(90deg,#e9f6e8,#f6fbf5);border-top:1px solid #dce9df}.ephv-final-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.ephv-final-inner small{color:#5c8d61;font-size:10px;font-weight:800;letter-spacing:.14em}.ephv-final-inner h2{margin:4px 0 5px;font-size:24px;line-height:1.15}.ephv-final-inner p{margin:0;color:#65776d;font-size:13px}.ephv-final-inner>div:last-child{display:flex;gap:9px;flex-wrap:wrap}.ephv-final-inner a{display:inline-flex;align-items:center;gap:7px;padding:11px 15px;border-radius:8px;background:#0b704c;color:#fff;font-size:12px;font-weight:800}.ephv-final-inner a.is-secondary{border:1px solid #0b704c;background:#fff;color:#0b704c}.ephv-final-inner svg{width:16px;height:16px}
@media(max-width:1050px){.ephv-shell{width:calc(100% - 32px)}.ephv-need-grid{grid-template-columns:repeat(2,1fr)}.ephv-property-grid{grid-template-columns:repeat(2,1fr)}.ephv-page-active .ep-shared-hero-hotel_venue .ep-hero-copy{width:min(680px,74%)!important}}
@media(max-width:820px){.ephv-page-active .ep-shared-hero-hotel_venue{margin-bottom:28px}.ephv-page-active .ep-shared-hero-hotel_venue .ep-finder{grid-template-columns:1fr!important}.ep-hv-intent-toggle{margin-top:18px}.ephv-consult-grid{grid-template-columns:1fr}.ephv-empty-state{grid-template-columns:58px 1fr}.ephv-empty-actions{grid-column:1/-1}.ephv-final-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.ephv-root{font-size:15px}.ephv-shell{width:calc(100% - 22px)}.ep-hv-intent-toggle{display:grid;width:100%}.ep-hv-intent-toggle button{min-width:0}.ephv-section-head{align-items:flex-start}.ephv-section-head h2{font-size:24px}.ephv-section-head>a{font-size:11px}.ephv-need-grid,.ephv-property-grid,.ephv-faq-grid{grid-template-columns:1fr}.ephv-need-card{min-height:88px}.ephv-property-photo{height:210px}.ephv-empty-state{display:flex;align-items:flex-start;flex-direction:column;padding:20px}.ephv-empty-actions{width:100%}.ephv-empty-actions a{justify-content:center;width:100%}.ephv-consult{padding:32px 0}.ephv-consult h2{font-size:29px}.ephv-trust-grid{grid-template-columns:1fr}.ephv-final-inner>div:last-child,.ephv-final-inner a{width:100%}.ephv-final-inner a{justify-content:center}}
