/* Dubai Build Insider — pre-purchase review and partner pages.
   Additions only; everything else comes from styles.css. */

/* WhatsApp is the primary contact route in the UAE. #128C7E keeps white text at an
   accessible contrast where the brighter #25D366 would not. */
.btn-wa{ background:#128C7E; border-color:#128C7E; color:#fff; }
.btn-wa:hover{ background:#0E6F63; border-color:#0E6F63; color:#fff; }
.btn-wa svg{ width:20px; height:20px; fill:currentColor; vertical-align:-4px; margin-right:9px; flex:none; }
.cta-pair{ display:flex; gap:14px; flex-wrap:wrap; margin-top:26px; align-items:center; }
.wa-or{ display:flex; align-items:center; gap:14px; margin:22px 0 18px; color:#6E6A63; font-size:.9rem; }
.wa-or::before,.wa-or::after{ content:""; flex:1; height:1px; background:rgba(0,0,0,.12); }

.ep-hero{ padding-top:clamp(36px,6vw,72px); padding-bottom:clamp(28px,4vw,56px); }
.ep-hero h1{ font-size:clamp(2rem,4.2vw,3.3rem); line-height:1.1; margin:18px 0 16px; }
.ep-hero .lead{ max-width:58ch; }
.ep-hero img{ width:100%; height:clamp(260px,40vw,500px); object-fit:cover; border-radius:18px; display:block; }
.ep-paid{ margin-top:22px; padding:16px 20px; border-left:3px solid var(--sage); background:var(--sage-soft); border-radius:0 12px 12px 0; max-width:54ch; font-size:.96rem; color:var(--ink-2); }
.ep-paid b{ display:block; font-family:var(--serif); font-weight:500; font-size:1.12rem; color:var(--ink); margin-bottom:2px; }

.ep-questions{ list-style:none; padding:0; margin:26px 0 0; display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); }
.ep-questions li{ padding:18px 20px; background:#fff; border:1px solid rgba(0,0,0,.07); border-radius:14px; font-size:.97rem; color:var(--ink-2); }
.ep-questions li b{ display:block; font-family:var(--serif); font-weight:500; font-size:1.12rem; color:var(--ink); margin-bottom:4px; }

.ep-flow{ list-style:none; padding:0; margin:26px 0 0; display:grid; gap:10px; counter-reset:ep; }
.ep-flow li{ counter-increment:ep; display:grid; grid-template-columns:34px 1fr; gap:14px; align-items:start; padding:14px 18px; background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:14px; font-size:.96rem; color:var(--ink-2); }
.ep-flow li::before{ content:counter(ep); width:30px; height:30px; border-radius:50%; background:var(--sage-soft); color:var(--sage-deep); display:grid; place-items:center; font-size:.85rem; font-weight:600; }
.ep-flow li b{ color:var(--ink); font-weight:600; }

.ep-two{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:24px; }
.ep-two .card h3{ font-size:1.15rem; }
.ep-two ul{ margin:10px 0 0; padding-left:1.1em; color:var(--ink-2); font-size:.96rem; display:grid; gap:8px; }

.ep-fee{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(20px,4vw,48px); align-items:center; }
.ep-fee .amt{ font-family:var(--serif); font-size:clamp(1.5rem,2.6vw,2rem); line-height:1.2; color:var(--sage-deep); }

.ep-form .card{ padding:clamp(22px,3vw,34px); }
.ep-form .card:hover{ transform:none; }
.ep-form label.f{ display:block; font-size:.86rem; font-weight:500; color:var(--ink-2); margin-bottom:6px; }
.ep-form label.f small{ font-weight:400; color:var(--ink-3); }
.ep-form .form-row{ gap:16px; }
.ep-form .fs{ border:0; padding:0; margin:0; min-width:0; }
.ep-form .fs legend{ padding:0; font-size:.86rem; font-weight:500; color:var(--ink-2); margin-bottom:6px; }
.ep-msg{ padding:16px 18px; border-radius:14px; font-size:.96rem; }
.ep-msg[hidden]{ display:none; }
.ep-msg.ok{ background:var(--sage-soft); border:1px solid var(--sage); color:var(--sage-deep); }
.ep-msg.ok b{ display:block; font-family:var(--serif); font-weight:500; font-size:1.15rem; margin-bottom:4px; }
.ep-msg.bad{ background:#FBF1EF; border:1px solid #D9A9A1; color:#7A2A22; }
.ep-msg.bad a{ color:inherit; text-decoration:underline; }
.ep-field-err{ color:#8a2f2f; font-size:.88rem; margin-top:6px; }
.ep-field-err[hidden]{ display:none; }

.ep-share{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:clamp(20px,3vw,30px); }
.ep-share .url{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:10px; }
.ep-share .url code{ flex:1; min-width:220px; padding:.8em 1em; background:var(--paper-2); border:1px solid var(--line); border-radius:10px; font-size:.9rem; overflow-wrap:anywhere; }
.ep-share textarea{ width:100%; margin-top:10px; min-height:190px; resize:vertical; font-size:.95rem; line-height:1.55; }
.ep-share .acts{ display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }

.ep-sticky{ display:none; }
@media (max-width:960px){
  .ep-fee,.ep-two{ grid-template-columns:1fr; }
}
@media (max-width:760px){
  .ep-hero .hero-grid{ display:block; }
  .ep-hero img{ height:220px; margin-top:24px; }
  .ep-hero .cta-pair .btn{ width:100%; justify-content:center; text-align:center; }
  .ep-sticky{ position:fixed; left:0; right:0; bottom:0; z-index:96; padding:10px 14px calc(10px + env(safe-area-inset-bottom)); background:rgba(246,243,238,.97); border-top:1px solid rgba(0,0,0,.08); display:flex; gap:10px; }
  .ep-sticky a{ flex:1; text-align:center; justify-content:center; padding-left:12px; padding-right:12px; font-size:.92rem; }
  body.has-ep-sticky{ padding-bottom:78px; }
  body.has-ep-sticky .wa-fab{ display:none; }
}
@media print{ .ep-sticky{ display:none !important; } }

/* WhatsApp is the main route. Header button and the ghost button inside the dark band. */
.nav-cta .btn-wa{ white-space:nowrap; }
.cta-band .btn-wa{ background:#fff; border-color:#fff; color:#0E6F63; }
.cta-band .btn-wa:hover{ background:#F3F1EB; border-color:#F3F1EB; color:#0E6F63; }
