/* ═══════════════════════════════════════════════════════════
   EP Off-Plan Manager — Frontend Widgets v2.1
   Font: Plus Jakarta Sans (loaded via wp_head filter)
═══════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400&display=swap');

/* ── TOKENS ─────────────────────────────────────────────── */
:root {
  --ep-red:       #E8192C;
  --ep-red-dk:    #C8131F;
  --ep-red-soft:  rgba(232,25,44,.08);
  --ep-black:     #0D0D0D;
  --ep-dark:      #1A1A1A;
  --ep-navy:      #0F1923;
  --ep-white:     #FFFFFF;
  --ep-off:       #F7F8FA;
  --ep-border:    #EAEDF0;
  --ep-text:      #1A1A1A;
  --ep-muted:     #6B7280;
  --ep-light:     #9CA3AF;
  --ep-wa:        #25D366;
  --ep-wa-dk:     #1DA851;
  --ep-shadow-sm: 0 1px 4px rgba(0,0,0,.06);
  --ep-shadow:    0 4px 20px rgba(0,0,0,.08);
  --ep-shadow-lg: 0 16px 48px rgba(0,0,0,.14);
  --ep-radius:    10px;
  --ep-radius-sm: 6px;
  --ep-font:      'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ep-ease:      cubic-bezier(0.4, 0, 0.2, 1);
  --ep-spring:    cubic-bezier(0.34, 1.56, 0.64, 1);
  --ep-t:         0.28s;
  --ep-section-py: 96px;
  --ep-section-px: clamp(20px, 5vw, 60px);
}

/* ── RESET INSIDE PLUGIN COMPONENTS ─────────────────────── */
.ep-hero *, .ep-highlights-strip *, .ep-description-block *,
.ep-gallery-carousel *, .ep-amenities-wrap *, .ep-floorplans *,
.ep-payment-wrap *, .ep-location-wrap *, .ep-dev-band *,
.ep-enquiry-wrap *, .ep-grid * {
  box-sizing: border-box;
}

/* ── SCROLL REVEAL ───────────────────────────────────────── */
.ep-reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.7s var(--ep-ease), transform 0.7s var(--ep-ease);
}
.ep-reveal.ep-visible { opacity: 1; transform: none; }
.ep-reveal-left  { opacity: 0; transform: translateX(-32px); transition: opacity 0.7s var(--ep-ease), transform 0.7s var(--ep-ease); }
.ep-reveal-left.ep-visible  { opacity: 1; transform: none; }
.ep-reveal-right { opacity: 0; transform: translateX(32px);  transition: opacity 0.7s var(--ep-ease), transform 0.7s var(--ep-ease); }
.ep-reveal-right.ep-visible { opacity: 1; transform: none; }
.ep-reveal-d1 { transition-delay: 0.1s; }
.ep-reveal-d2 { transition-delay: 0.2s; }
.ep-reveal-d3 { transition-delay: 0.3s; }
.ep-reveal-d4 { transition-delay: 0.4s; }

/* ── SHARED BUTTONS ─────────────────────────────────────── */
.ep-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 26px; border-radius: var(--ep-radius-sm);
  font-family: var(--ep-font); font-size: 13px; font-weight: 700;
  letter-spacing: .04em; text-decoration: none;
  border: none; cursor: pointer;
  transition: all var(--ep-t) var(--ep-ease);
  white-space: nowrap;
}
.ep-btn svg { flex-shrink: 0; }

.ep-btn-red {
  background: var(--ep-red); color: #fff;
  box-shadow: 0 4px 16px rgba(232,25,44,.32);
}
.ep-btn-red:hover {
  background: var(--ep-red-dk); color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(232,25,44,.42);
}

.ep-btn-outline-dark {
  background: transparent;
  border: 1.5px solid var(--ep-border);
  color: var(--ep-text);
}
.ep-btn-outline-dark:hover {
  border-color: var(--ep-red); color: var(--ep-red);
  background: var(--ep-red-soft);
}

.ep-btn-outline-light {
  background: rgba(255,255,255,.08);
  border: 1.5px solid rgba(255,255,255,.25);
  color: #fff; backdrop-filter: blur(8px);
}
.ep-btn-outline-light:hover {
  border-color: rgba(255,255,255,.6);
  background: rgba(255,255,255,.15);
}

.ep-btn-wa {
  background: var(--ep-wa); color: #fff;
  box-shadow: 0 4px 16px rgba(37,211,102,.3);
}
.ep-btn-wa:hover {
  background: var(--ep-wa-dk); color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(37,211,102,.4);
}

.ep-btn-wa-ghost {
  background: transparent;
  border: 1.5px solid var(--ep-wa);
  color: var(--ep-wa-dk);
}
.ep-btn-wa-ghost:hover { background: var(--ep-wa); color: #fff; }

/* ── SHARED TYPOGRAPHY ──────────────────────────────────── */
.ep-eyebrow {
  font-family: var(--ep-font); font-size: 11px; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase; color: var(--ep-red);
  margin: 0 0 12px; display: flex; align-items: center; gap: 10px;
}
.ep-eyebrow::before {
  content: ''; display: block; width: 28px; height: 2px;
  background: var(--ep-red); border-radius: 2px; flex-shrink: 0;
}

.ep-section-title {
  font-family: var(--ep-font);
  font-size: clamp(26px, 3.5vw, 42px);
  font-weight: 800; color: var(--ep-black);
  line-height: 1.1; letter-spacing: -.02em;
  margin: 0 0 16px;
}
.ep-section-title span { color: var(--ep-red); }
.ep-section-title.light { color: #fff; }

.ep-section-body {
  font-family: var(--ep-font);
  font-size: 15px; line-height: 1.8;
  color: var(--ep-muted); margin: 0;
}
.ep-no-data { font-size: 13px; color: var(--ep-muted); padding: 24px 0; font-style: italic; }

/* ── BADGES ─────────────────────────────────────────────── */
.ep-badge {
  font-family: var(--ep-font); font-size: 10px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  padding: 5px 12px; border-radius: 4px;
  display: inline-flex; align-items: center; gap: 5px;
}
.ep-badge-red     { background: var(--ep-red); color: #fff; }
.ep-badge-gold    { background: linear-gradient(135deg,#C9973A,#E8C16A); color: #fff; }
.ep-badge-outline { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.25); color: #fff; backdrop-filter: blur(8px); }

/* ══════════════════════════════════════════════════════════
   HERO
══════════════════════════════════════════════════════════ */
.ep-hero {
  position: relative;
  min-height: 100svh;
  display: flex; flex-direction: column; justify-content: flex-end;
  overflow: hidden; background: var(--ep-navy);
  font-family: var(--ep-font);
}

.ep-hero-media { position: absolute; inset: 0; }
.ep-hero-carousel, .ep-hero-bg { position: absolute; inset: 0; }

.ep-hero-slide {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  opacity: 0;
  transition: opacity 1.2s var(--ep-ease);
}
.ep-hero-slide.active { opacity: 1; }
.ep-hero-bg { background-size: cover; background-position: center; opacity: .4; }

.ep-hero-overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(to top,  rgba(10,10,15,.98) 0%,  rgba(10,10,15,.65) 40%, transparent 75%),
    linear-gradient(to right, rgba(10,10,15,.5) 0%, transparent 60%);
}

.ep-hero-content {
  position: relative; z-index: 2;
  padding: 100px var(--ep-section-px) 72px;
  max-width: 1280px; margin: 0 auto; width: 100%;
}

.ep-hero-badges { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 20px; }

.ep-hero-dev {
  font-size: 11px; font-weight: 700; letter-spacing: .2em;
  text-transform: uppercase; color: var(--ep-red);
  margin-bottom: 12px; display: flex; align-items: center; gap: 8px;
}
.ep-hero-dev::before {
  content: ''; width: 24px; height: 2px;
  background: var(--ep-red); border-radius: 2px;
}

.ep-hero-title {
  font-family: var(--ep-font);
  font-size: clamp(42px, 8vw, 88px);
  font-weight: 800; color: #fff;
  line-height: 1; letter-spacing: -.03em;
  margin: 0 0 10px;
}

.ep-hero-sub {
  font-size: 15px; font-weight: 400;
  color: rgba(255,255,255,.5); letter-spacing: .02em;
  margin: 0 0 40px; max-width: 480px;
}

/* Stats bar */
.ep-hero-stats {
  display: flex;
  max-width: 640px; margin: 0 0 40px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--ep-radius);
  overflow: hidden;
  background: rgba(255,255,255,.04);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.ep-hstat {
  flex: 1; padding: 20px 22px;
  border-right: 1px solid rgba(255,255,255,.08);
  transition: background var(--ep-t) var(--ep-ease);
}
.ep-hstat:last-child { border-right: none; }
.ep-hstat:hover { background: rgba(255,255,255,.07); }
.ep-hstat-val {
  font-size: 21px; font-weight: 800; color: #fff;
  line-height: 1; margin-bottom: 5px;
}
.ep-hstat-key {
  font-size: 10px; font-weight: 500;
  letter-spacing: .12em; text-transform: uppercase;
  color: rgba(255,255,255,.38);
}

/* CTAs */
.ep-hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }

/* Carousel controls */
.ep-carousel-prev, .ep-carousel-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 48px; height: 48px; border-radius: 50%;
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2);
  color: #fff; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  backdrop-filter: blur(8px);
  transition: all var(--ep-t) var(--ep-ease); z-index: 5;
}
.ep-carousel-prev { left: 24px; }
.ep-carousel-next { right: 24px; }
.ep-carousel-prev:hover, .ep-carousel-next:hover {
  background: var(--ep-red);
  border-color: var(--ep-red);
  transform: translateY(-50%) scale(1.08);
}

.ep-carousel-dots {
  position: absolute; bottom: 28px; left: 50%;
  transform: translateX(-50%);
  display: flex; gap: 8px; z-index: 5;
}
.ep-dot {
  width: 6px; height: 6px; border-radius: 3px;
  background: rgba(255,255,255,.35); border: none;
  cursor: pointer; padding: 0;
  transition: all 0.35s var(--ep-ease);
}
.ep-dot.active {
  width: 24px; background: var(--ep-red);
}

.ep-slide-caption {
  position: absolute; bottom: 12px; left: 20px;
  font-size: 12px; color: rgba(255,255,255,.55);
  font-family: var(--ep-font);
}

@media(max-width:768px){
  .ep-carousel-prev, .ep-carousel-next { display: none; }
  .ep-hero-stats { flex-wrap: wrap; }
  .ep-hstat { flex: 0 0 50%; }
  .ep-hstat:nth-child(2) { border-right: none; }
}

/* ══════════════════════════════════════════════════════════
   HIGHLIGHTS STRIP
══════════════════════════════════════════════════════════ */
.ep-highlights-strip {
  background: var(--ep-black);
  display: flex; align-items: stretch;
  border-bottom: 1px solid rgba(255,255,255,.06);
  font-family: var(--ep-font);
}
.ep-hl-item {
  flex: 1; display: flex; align-items: center; gap: 14px;
  padding: 22px 28px;
  border-right: 1px solid rgba(255,255,255,.06);
  transition: background var(--ep-t) var(--ep-ease);
}
.ep-hl-item:last-child { border-right: none; }
.ep-hl-item:hover { background: rgba(255,255,255,.04); }

.ep-hl-icon {
  width: 40px; height: 40px; flex-shrink: 0;
  background: rgba(232,25,44,.12);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: var(--ep-red);
  transition: background var(--ep-t) var(--ep-ease);
}
.ep-hl-item:hover .ep-hl-icon { background: rgba(232,25,44,.2); }

.ep-hl-val {
  font-size: 15px; font-weight: 700; color: #fff; line-height: 1.2;
}
.ep-hl-key {
  font-size: 10px; font-weight: 500;
  letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.35); margin-top: 3px;
}

@media(max-width:900px){
  .ep-highlights-strip { flex-wrap: wrap; }
  .ep-hl-item { flex: 0 0 50%; border-right: none; border-bottom: 1px solid rgba(255,255,255,.06); }
}
@media(max-width:480px){ .ep-hl-item { flex: 0 0 100%; } }

/* ══════════════════════════════════════════════════════════
   DESCRIPTION BLOCK
══════════════════════════════════════════════════════════ */
.ep-description-block {
  padding: var(--ep-section-py) var(--ep-section-px);
  max-width: 1280px; margin: 0 auto;
  font-family: var(--ep-font);
}
.ep-description-block p {
  font-size: 15px; line-height: 1.85; color: var(--ep-muted);
  margin: 0 0 18px; max-width: 760px;
}
.ep-description-block p:last-child { margin-bottom: 0; }

/* ══════════════════════════════════════════════════════════
   GALLERY CAROUSEL
══════════════════════════════════════════════════════════ */
.ep-gallery-carousel {
  position: relative; width: 100%;
  height: var(--ep-gallery-h, 560px);
  overflow: hidden;
  background: var(--ep-black);
  font-family: var(--ep-font);
}
.ep-gallery-track {
  position: relative; width: 100%;
  height: calc(100% - 80px);
}
.ep-gallery-slide {
  position: absolute; inset: 0;
  opacity: 0; transition: opacity .7s var(--ep-ease);
}
.ep-gallery-slide.active { opacity: 1; }
.ep-gallery-slide img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
.ep-gallery-caption {
  position: absolute; bottom: 0; left: 0; right: 0;
  background: linear-gradient(transparent, rgba(0,0,0,.75));
  color: #fff; font-size: 13px;
  padding: 32px 24px 14px;
  font-family: var(--ep-font);
}

.ep-gallery-thumbs {
  display: flex; gap: 8px; padding: 10px 12px;
  background: #111; height: 80px; overflow-x: auto;
  scrollbar-width: none;
}
.ep-gallery-thumbs::-webkit-scrollbar { display: none; }

.ep-thumb-btn {
  flex-shrink: 0; width: 100px; height: 60px;
  border: 2px solid transparent; border-radius: 5px;
  overflow: hidden; cursor: pointer; padding: 0;
  background: #222;
  transition: border-color var(--ep-t) var(--ep-ease),
              opacity var(--ep-t) var(--ep-ease);
  opacity: .6;
}
.ep-thumb-btn img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ep-thumb-btn.active { border-color: var(--ep-red); opacity: 1; }
.ep-thumb-btn:hover { opacity: .85; }

.ep-gallery-placeholder {
  background: var(--ep-off); border: 1px solid var(--ep-border);
  border-radius: var(--ep-radius); padding: 60px;
  text-align: center; font-size: 13px; color: var(--ep-muted);
  font-family: var(--ep-font);
}

/* ══════════════════════════════════════════════════════════
   PROJECTS / DEVELOPERS GRID
══════════════════════════════════════════════════════════ */
.ep-grid {
  display: grid;
  grid-template-columns: repeat(var(--ep-cols, 4), 1fr);
  gap: 24px;
  font-family: var(--ep-font);
}
@media(max-width:1100px){ .ep-grid { grid-template-columns: repeat(2,1fr); } }
@media(max-width:580px)  { .ep-grid { grid-template-columns: 1fr; } }

.ep-card-wrap {
  position: relative; border-radius: var(--ep-radius);
  overflow: hidden;
  border: 1px solid var(--ep-border);
  background: var(--ep-white);
  box-shadow: var(--ep-shadow-sm);
  transition: transform var(--ep-t) var(--ep-ease),
              box-shadow var(--ep-t) var(--ep-ease),
              border-color var(--ep-t) var(--ep-ease);
}
.ep-card-wrap:hover {
  transform: translateY(-6px);
  box-shadow: var(--ep-shadow-lg);
  border-color: transparent;
}
.ep-card-img {
  width: 100%; height: 220px;
  object-fit: cover; display: block;
  transition: transform 0.6s var(--ep-ease);
}
.ep-card-wrap:hover .ep-card-img { transform: scale(1.04); }
.ep-card-img-ph { width: 100%; height: 220px; background: var(--ep-off); }

.ep-golden-badge {
  position: absolute; top: 14px; left: 14px;
  background: linear-gradient(135deg,#C9973A,#E8C16A);
  color: #fff; font-size: 9px; font-weight: 700;
  padding: 4px 10px; border-radius: 4px;
  letter-spacing: .1em; text-transform: uppercase;
  z-index: 3; box-shadow: 0 2px 8px rgba(0,0,0,.2);
  font-family: var(--ep-font);
}
.ep-status-badge {
  position: absolute; top: 14px; right: 14px;
  background: rgba(0,0,0,.6); color: #fff;
  font-size: 9px; font-weight: 600;
  padding: 4px 10px; border-radius: 4px;
  letter-spacing: .06em; z-index: 3;
  backdrop-filter: blur(6px);
  font-family: var(--ep-font);
}
.ep-card-body { padding: 18px 20px 20px; }
.ep-card-title {
  font-size: 16px; font-weight: 800;
  margin: 0 0 6px; line-height: 1.2;
  font-family: var(--ep-font);
}
.ep-card-title a { text-decoration: none; color: var(--ep-black); transition: color var(--ep-t) var(--ep-ease); }
.ep-card-title a:hover { color: var(--ep-red); }

.ep-card-loc {
  font-size: 12px; color: var(--ep-muted);
  margin: 0 0 10px;
  display: flex; align-items: center; gap: 4px;
  font-family: var(--ep-font);
}
.ep-card-price {
  font-size: 15px; font-weight: 800; color: var(--ep-red);
  margin: 0 0 4px; font-family: var(--ep-font);
}
.ep-card-meta {
  font-size: 12px; color: var(--ep-muted);
  margin: 0 0 16px; font-family: var(--ep-font);
}
.ep-card-cta {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 11px; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: var(--ep-red);
  text-decoration: none;
  font-family: var(--ep-font);
  transition: gap var(--ep-t) var(--ep-ease);
}
.ep-card-cta:hover { gap: 10px; }
.ep-card-cta::after {
  content: '→'; font-size: 13px;
}

.ep-dev-logo {
  width: 100%; height: 120px;
  object-fit: contain; padding: 24px;
  background: var(--ep-off); display: block;
}

/* ══════════════════════════════════════════════════════════
   AMENITIES — HORIZONTAL SCROLLABLE TAGS + PANEL
══════════════════════════════════════════════════════════ */
.ep-amenities-wrap {
  font-family: var(--ep-font);
  padding: var(--ep-section-py) 0;
}

/* Scrollable tag strip */
.ep-amenity-tags-row {
  display: flex; gap: 10px;
  overflow-x: auto; padding: 4px 0 16px;
  scrollbar-width: none;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  position: relative;
}
.ep-amenity-tags-row::-webkit-scrollbar { display: none; }

/* Fade edges to hint scroll */
.ep-amenity-tags-outer {
  position: relative; overflow: hidden;
  padding: 0 var(--ep-section-px);
}
.ep-amenity-tags-outer::after {
  content: '';
  position: absolute; right: 0; top: 0; bottom: 0;
  width: 80px;
  background: linear-gradient(to left, var(--ep-white), transparent);
  pointer-events: none; z-index: 2;
}

.ep-amenity-tag {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 18px; border-radius: 50px;
  border: 1.5px solid var(--ep-border);
  background: var(--ep-white); color: var(--ep-text);
  font-size: 13px; font-weight: 600;
  white-space: nowrap; cursor: pointer;
  transition: all var(--ep-t) var(--ep-ease);
  flex-shrink: 0;
  box-shadow: var(--ep-shadow-sm);
}
.ep-amenity-tag svg, .ep-amenity-tag img.ep-amenity-tag-icon {
  width: 16px; height: 16px; flex-shrink: 0;
  color: var(--ep-muted); object-fit: contain;
  transition: color var(--ep-t) var(--ep-ease);
}
.ep-amenity-tag:hover {
  border-color: var(--ep-red);
  color: var(--ep-red);
  background: var(--ep-red-soft);
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(232,25,44,.15);
}
.ep-amenity-tag:hover svg { color: var(--ep-red); }
.ep-amenity-tag.active {
  border-color: var(--ep-red);
  background: var(--ep-red);
  color: #fff;
  box-shadow: 0 4px 16px rgba(232,25,44,.35);
}
.ep-amenity-tag.active svg { color: #fff; }

/* Amenity panel area */
.ep-amenity-panels-wrap {
  padding: 0 var(--ep-section-px);
  margin-top: 8px;
}
.ep-amenity-panel {
  display: none;
  animation: ep-panel-in 0.4s var(--ep-ease) both;
}
.ep-amenity-panel.active { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-radius: var(--ep-radius); overflow: hidden; box-shadow: var(--ep-shadow-lg); }
@keyframes ep-panel-in {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: none; }
}
@media(max-width:768px){ .ep-amenity-panel.active { grid-template-columns: 1fr; } }

.ep-amenity-img-wrap {
  overflow: hidden; min-height: 320px; max-height: 420px;
  background: var(--ep-off);
}
.ep-amenity-img-wrap img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform 0.6s var(--ep-ease);
}
.ep-amenity-panel:hover .ep-amenity-img-wrap img { transform: scale(1.03); }

.ep-amenity-content {
  background: var(--ep-white);
  padding: 48px 44px;
  display: flex; flex-direction: column; justify-content: center;
  border: 1px solid var(--ep-border);
  border-left: none;
}
@media(max-width:768px){ .ep-amenity-content { padding: 32px 28px; border-left: 1px solid var(--ep-border); border-top: none; } }

.ep-amenity-number {
  font-size: 11px; font-weight: 700; letter-spacing: .18em;
  text-transform: uppercase; color: var(--ep-red);
  margin-bottom: 12px;
}
.ep-amenity-name {
  font-size: clamp(20px,2.5vw,28px); font-weight: 800;
  color: var(--ep-black); margin: 0 0 16px; line-height: 1.2;
}
.ep-amenity-desc {
  font-size: 15px; line-height: 1.8; color: var(--ep-muted);
  margin: 0;
}

/* No image fallback */
.ep-amenity-panel.active.ep-no-img { grid-template-columns: 1fr; }
.ep-amenity-panel.active.ep-no-img .ep-amenity-content {
  border-left: 1px solid var(--ep-border);
  padding: 40px;
}

/* ══════════════════════════════════════════════════════════
   FLOOR PLANS
══════════════════════════════════════════════════════════ */
.ep-floorplans {
  font-family: var(--ep-font);
  padding: var(--ep-section-py) var(--ep-section-px);
  max-width: 1280px; margin: 0 auto;
}

.ep-fp-tabs {
  display: flex; gap: 4px;
  border-bottom: 2px solid var(--ep-border);
  margin-bottom: 40px; flex-wrap: wrap;
  padding-bottom: 0;
}
.ep-fp-tab {
  padding: 12px 24px;
  background: none; border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  font-family: var(--ep-font);
  font-size: 13px; font-weight: 700;
  letter-spacing: .02em; color: var(--ep-muted);
  cursor: pointer;
  border-radius: 4px 4px 0 0;
  transition: color var(--ep-t) var(--ep-ease),
              background var(--ep-t) var(--ep-ease),
              border-color var(--ep-t) var(--ep-ease);
}
.ep-fp-tab:hover { color: var(--ep-text); background: var(--ep-off); }
.ep-fp-tab.active {
  color: var(--ep-red); border-bottom-color: var(--ep-red);
  background: transparent;
}

.ep-fp-panel { display: none; }
.ep-fp-panel.active {
  display: block;
  animation: ep-panel-in 0.4s var(--ep-ease) both;
}

.ep-fp-layout {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 64px; align-items: start;
}
@media(max-width:900px){ .ep-fp-layout { grid-template-columns: 1fr; gap: 36px; } }

.ep-fp-img {
  width: 100%; border-radius: var(--ep-radius);
  border: 1px solid var(--ep-border); display: block;
  box-shadow: var(--ep-shadow);
}
.ep-fp-img-ph {
  width: 100%; aspect-ratio: 4/3;
  background: var(--ep-off); border: 1px solid var(--ep-border);
  border-radius: var(--ep-radius);
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; color: var(--ep-light);
  text-transform: uppercase; letter-spacing: .08em;
}

.ep-fp-specs-col {}
.ep-fp-heading {
  font-size: 22px; font-weight: 800;
  color: var(--ep-black); margin: 0 0 24px;
}

.ep-fp-table { width: 100%; border-collapse: collapse; margin-bottom: 28px; }
.ep-fp-table tr { border-bottom: 1px solid var(--ep-border); }
.ep-fp-table tr:last-child { border-bottom: none; }
.ep-fp-table td { padding: 14px 0; font-size: 14px; }
.ep-fp-td-label {
  color: var(--ep-muted); font-weight: 500;
  font-size: 12px; letter-spacing: .04em;
  text-transform: uppercase; width: 48%;
}
.ep-fp-td-val { font-weight: 700; color: var(--ep-text); text-align: right; }
.ep-fp-price-row .ep-fp-td-val {
  color: var(--ep-red);
  font-size: 16px; font-weight: 800;
}

.ep-fp-actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* ══════════════════════════════════════════════════════════
   PAYMENT PLAN
══════════════════════════════════════════════════════════ */
.ep-payment-wrap {
  background: var(--ep-black);
  padding: var(--ep-section-py) var(--ep-section-px);
  font-family: var(--ep-font);
}
.ep-payment-inner { max-width: 1280px; margin: 0 auto; }

.ep-payment-header { text-align: center; margin-bottom: 56px; }
.ep-payment-label {
  font-size: 11px; font-weight: 700; letter-spacing: .18em;
  text-transform: uppercase; color: rgba(255,255,255,.35);
  display: flex; align-items: center; justify-content: center; gap: 12px;
  margin-bottom: 12px;
}
.ep-payment-label::before,
.ep-payment-label::after {
  content: ''; height: 1px; width: 40px;
  background: rgba(255,255,255,.15);
}

.ep-payment-grid {
  display: grid;
  grid-template-columns: repeat(var(--ep-pay-cols, 3), 1fr);
  gap: 2px;
  border-radius: var(--ep-radius); overflow: hidden;
}
@media(max-width:700px){ .ep-payment-grid { grid-template-columns: 1fr; } }

.ep-payment-card {
  background: rgba(255,255,255,.04);
  padding: 48px 40px;
  position: relative; overflow: hidden;
  transition: background var(--ep-t) var(--ep-ease);
}
.ep-payment-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 2px;
  background: transparent;
  transition: background var(--ep-t) var(--ep-ease);
}
.ep-payment-card:hover { background: rgba(255,255,255,.07); }
.ep-payment-card:hover::before { background: var(--ep-red); }

.ep-payment-num {
  position: absolute; top: 24px; right: 28px;
  font-size: 80px; font-weight: 800;
  color: rgba(255,255,255,.04); line-height: 1;
  user-select: none; letter-spacing: -.04em;
}
.ep-payment-pct {
  font-size: clamp(52px,6vw,72px); font-weight: 800;
  color: var(--ep-white); line-height: 1;
  margin-bottom: 8px; letter-spacing: -.02em;
}
.ep-payment-pct-sign { font-size: .45em; vertical-align: super; }
.ep-payment-when {
  font-size: 11px; font-weight: 700; letter-spacing: .18em;
  text-transform: uppercase; color: var(--ep-red);
  margin-bottom: 12px;
}
.ep-payment-desc {
  font-size: 14px; line-height: 1.7;
  color: rgba(255,255,255,.4);
}
.ep-payment-ctas {
  display: flex; justify-content: center; gap: 12px;
  margin-top: 48px; flex-wrap: wrap;
}

/* ══════════════════════════════════════════════════════════
   LOCATION
══════════════════════════════════════════════════════════ */
.ep-location-wrap {
  font-family: var(--ep-font);
  padding: var(--ep-section-py) var(--ep-section-px);
  max-width: 1280px; margin: 0 auto;
}
.ep-location-grid {
  display: grid; grid-template-columns: 1.1fr 0.9fr;
  gap: 56px; align-items: start;
}
@media(max-width:900px){ .ep-location-grid { grid-template-columns: 1fr; } }

.ep-location-map {
  aspect-ratio: 4/3;
  border-radius: var(--ep-radius); overflow: hidden;
  border: 1px solid var(--ep-border);
  box-shadow: var(--ep-shadow);
}
.ep-location-map iframe { width: 100%; height: 100%; display: block; }
.ep-map-ph {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, #E8F0E8, #D0E4D0);
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; color: var(--ep-muted);
  text-transform: uppercase; letter-spacing: .08em;
}

.ep-dist-table { width: 100%; border-collapse: collapse; }
.ep-dist-table tr {
  border-bottom: 1px solid var(--ep-border);
  transition: background var(--ep-t) var(--ep-ease);
}
.ep-dist-table tr:last-child { border-bottom: none; }
.ep-dist-table tr:hover { background: var(--ep-off); }
.ep-dist-table td { padding: 16px 8px; font-size: 14px; vertical-align: middle; }

.ep-dist-place-cell { display: flex; align-items: center; gap: 10px; }
.ep-dist-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--ep-red); flex-shrink: 0;
  box-shadow: 0 0 0 3px rgba(232,25,44,.15);
}
.ep-dist-place { font-weight: 500; color: var(--ep-text); }
.ep-dist-time {
  font-size: 14px; font-weight: 800;
  color: var(--ep-red); text-align: right;
  white-space: nowrap;
}

/* ══════════════════════════════════════════════════════════
   DEVELOPER BAND
══════════════════════════════════════════════════════════ */
.ep-dev-band {
  display: flex; align-items: center; gap: 48px; flex-wrap: wrap;
  padding: 56px var(--ep-section-px);
  border-top: 1px solid var(--ep-border);
  max-width: 1280px; margin: 0 auto;
  font-family: var(--ep-font);
}

.ep-dev-logo {
  height: 52px; width: auto; max-width: 160px;
  object-fit: contain; flex-shrink: 0;
}
.ep-dev-logo-ph {
  width: 140px; height: 52px;
  background: var(--ep-black); border-radius: var(--ep-radius-sm);
  display: flex; align-items: center; justify-content: center;
  font-size: 17px; font-weight: 800; color: #fff;
  letter-spacing: .08em; flex-shrink: 0;
  font-family: var(--ep-font);
}

.ep-dev-divider {
  width: 1px; height: 60px;
  background: var(--ep-border); flex-shrink: 0;
}

.ep-dev-info { flex: 1; min-width: 200px; }
.ep-dev-name {
  font-size: 20px; font-weight: 800;
  color: var(--ep-black); margin: 0 0 4px;
}
.ep-dev-tagline {
  font-size: 13px; font-weight: 500;
  color: var(--ep-muted); margin: 0 0 6px;
}
.ep-dev-body {
  font-size: 13px; color: var(--ep-muted);
  line-height: 1.65; max-width: 420px; margin: 0;
}

.ep-dev-stats {
  display: flex; gap: 0; flex-shrink: 0;
  border: 1px solid var(--ep-border); border-radius: var(--ep-radius);
  overflow: hidden;
}
.ep-dev-stat {
  text-align: center; padding: 16px 24px;
  border-right: 1px solid var(--ep-border);
  transition: background var(--ep-t) var(--ep-ease);
}
.ep-dev-stat:last-child { border-right: none; }
.ep-dev-stat:hover { background: var(--ep-off); }
.ep-dev-stat-val {
  font-size: 24px; font-weight: 800;
  color: var(--ep-black); line-height: 1;
}
.ep-dev-stat-val span { color: var(--ep-red); }
.ep-dev-stat-lbl {
  font-size: 10px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--ep-muted); margin-top: 4px;
}

/* ══════════════════════════════════════════════════════════
   ENQUIRY SECTION
══════════════════════════════════════════════════════════ */
.ep-enquiry-wrap {
  background: var(--ep-off);
  border-top: 3px solid var(--ep-red);
  padding: var(--ep-section-py) 0;
  font-family: var(--ep-font);
}
.ep-enquiry-inner {
  display: grid; grid-template-columns: 1fr 480px;
  gap: 72px; align-items: start;
  max-width: 1280px; margin: 0 auto;
  padding: 0 var(--ep-section-px);
}
@media(max-width:1100px){ .ep-enquiry-inner { grid-template-columns: 1fr; gap: 48px; } }

.ep-enquiry-copy .ep-section-title { margin-bottom: 16px; }
.ep-enquiry-copy .ep-section-body { margin-bottom: 36px; max-width: 480px; }

.ep-trust-list {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 0;
}
.ep-trust-list li {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 14px 0; border-bottom: 1px solid var(--ep-border);
}
.ep-trust-list li:last-child { border-bottom: none; }

.ep-trust-icon-box {
  width: 36px; height: 36px; flex-shrink: 0;
  background: var(--ep-red-soft); border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: var(--ep-red);
}
.ep-trust-text-wrap strong {
  display: block; font-size: 13px; font-weight: 700;
  color: var(--ep-text); margin-bottom: 2px;
}
.ep-trust-text-wrap span { font-size: 12px; color: var(--ep-muted); }

.ep-enquiry-form-card {
  background: var(--ep-white);
  border: 1px solid var(--ep-border);
  border-radius: var(--ep-radius);
  padding: 36px;
  box-shadow: var(--ep-shadow-lg);
  position: sticky; top: 84px;
}
.ep-form-title {
  font-size: 22px; font-weight: 800;
  color: var(--ep-black); margin: 0 0 4px;
}
.ep-form-sub {
  font-size: 12px; color: var(--ep-muted);
  margin: 0 0 24px; line-height: 1.5;
}
.ep-form-sub strong { color: var(--ep-red); }
.ep-form-placeholder {
  background: var(--ep-off);
  border: 1.5px dashed var(--ep-border);
  border-radius: var(--ep-radius-sm);
  padding: 24px; text-align: center;
  font-size: 13px; color: var(--ep-muted);
}

/* ══════════════════════════════════════════════════════════
   FLOATING WHATSAPP
══════════════════════════════════════════════════════════ */
.ep-wa-float {
  position: fixed; bottom: 28px; right: 28px; z-index: 9999;
  display: flex; align-items: center; gap: 10px;
  background: var(--ep-wa); color: #fff;
  padding: 14px 22px; border-radius: 50px;
  text-decoration: none; font-family: var(--ep-font);
  font-size: 13px; font-weight: 700;
  box-shadow: 0 6px 24px rgba(37,211,102,.5);
  transition: transform var(--ep-t) var(--ep-spring),
              box-shadow var(--ep-t) var(--ep-ease);
  animation: ep-wa-bounce 3s 2s ease-in-out infinite;
}
.ep-wa-float:hover {
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 12px 32px rgba(37,211,102,.6);
  color: #fff;
}
@keyframes ep-wa-bounce {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-4px); }
}


/* ══════════════════════════════════════════════════════════
   HERO — TRUST BADGES
══════════════════════════════════════════════════════════ */
.ep-hero-trust {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin-top: 24px;
}
.ep-trust-badge {
  display: inline-flex; align-items: center; gap: 7px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  backdrop-filter: blur(10px);
  color: rgba(255,255,255,.85);
  font-size: 12px; font-weight: 600;
  padding: 7px 14px; border-radius: 50px;
  font-family: var(--ep-font);
  transition: all var(--ep-t) var(--ep-ease);
}
.ep-trust-badge svg { color: #4ade80; flex-shrink: 0; }
.ep-trust-badge:hover {
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.3);
}

/* ══════════════════════════════════════════════════════════
   INVESTMENT HIGHLIGHTS GRID
══════════════════════════════════════════════════════════ */
.ep-inv-highlights {
  background: var(--ep-black);
  padding: var(--ep-section-py) var(--ep-section-px);
  font-family: var(--ep-font);
}
.ep-inv-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 2px;
  max-width: 1280px; margin: 0 auto;
}
.ep-inv-card {
  background: rgba(255,255,255,.04);
  padding: 36px 28px;
  display: flex; flex-direction: column; align-items: flex-start;
  position: relative; overflow: hidden;
  transition: background var(--ep-t) var(--ep-ease);
  border-top: 2px solid transparent;
}
.ep-inv-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--ep-red);
  transform: scaleX(0); transform-origin: left;
  transition: transform 0.4s var(--ep-ease);
}
.ep-inv-card:hover { background: rgba(255,255,255,.08); }
.ep-inv-card:hover::before { transform: scaleX(1); }

.ep-inv-icon {
  width: 44px; height: 44px; margin-bottom: 20px;
  background: rgba(232,25,44,.12); border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  color: var(--ep-red);
  transition: background var(--ep-t) var(--ep-ease);
}
.ep-inv-card:hover .ep-inv-icon { background: rgba(232,25,44,.22); }

.ep-inv-value {
  font-family: var(--ep-font);
  font-size: clamp(24px,3vw,36px); font-weight: 800;
  color: #fff; line-height: 1; margin-bottom: 6px;
  letter-spacing: -.02em;
}
.ep-inv-label {
  font-size: 12px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: rgba(255,255,255,.5);
}
.ep-inv-sub {
  font-size: 11px; color: rgba(255,255,255,.3);
  margin-top: 4px; font-weight: 400;
}

@media(max-width:600px){ .ep-inv-grid { grid-template-columns: repeat(2,1fr); } }

/* ══════════════════════════════════════════════════════════
   EDITORIAL / STORYTELLING SECTION
══════════════════════════════════════════════════════════ */
.ep-editorial {
  background: var(--ep-white);
  padding: var(--ep-section-py) 0;
  font-family: var(--ep-font);
}
.ep-editorial-inner {
  display: grid; grid-template-columns: 1fr 1fr;
  max-width: 1280px; margin: 0 auto;
  padding: 0 var(--ep-section-px);
  gap: 80px; align-items: center;
}
@media(max-width:900px){ .ep-editorial-inner { grid-template-columns: 1fr; gap: 48px; } }

.ep-editorial-img {
  position: relative;
}
.ep-editorial-img img,
.ep-editorial-img-ph {
  width: 100%; aspect-ratio: 3/4;
  object-fit: cover; display: block;
  border-radius: var(--ep-radius);
  background: var(--ep-off);
}
.ep-editorial-stats {
  position: absolute; bottom: -24px; right: -24px;
  background: var(--ep-black);
  border-radius: var(--ep-radius); overflow: hidden;
  display: flex; box-shadow: var(--ep-shadow-lg);
}
@media(max-width:600px){
  .ep-editorial-stats { position: static; margin-top: 16px; border-radius: var(--ep-radius); }
}
.ep-editorial-stat {
  padding: 20px 24px; text-align: center;
  border-right: 1px solid rgba(255,255,255,.08);
}
.ep-editorial-stat:last-child { border-right: none; }
.ep-editorial-stat-val {
  font-size: 22px; font-weight: 800; color: #fff; line-height: 1;
}
.ep-editorial-stat-lbl {
  font-size: 10px; font-weight: 600; letter-spacing: .1em;
  text-transform: uppercase; color: rgba(255,255,255,.4); margin-top: 4px;
}

.ep-editorial-content { padding-left: 8px; }
.ep-editorial-quote {
  position: relative; margin: 0 0 28px;
  padding: 0 0 0 28px;
  border-left: 3px solid var(--ep-red);
  font-size: clamp(20px,2.5vw,28px); font-weight: 700;
  color: var(--ep-black); line-height: 1.35;
  letter-spacing: -.01em; font-style: normal;
}
.ep-editorial-quote-mark {
  position: absolute; left: -20px; top: -16px;
  font-size: 80px; color: var(--ep-red); opacity: .15;
  font-family: Georgia, serif; line-height: 1; user-select: none;
}
.ep-editorial-body { font-size: 15px; line-height: 1.85; color: var(--ep-muted); }
.ep-editorial-body p { margin-bottom: 14px; }
.ep-editorial-body p:last-child { margin-bottom: 0; }

/* ══════════════════════════════════════════════════════════
   MASTERPLAN WITH HOTSPOTS
══════════════════════════════════════════════════════════ */
.ep-masterplan {
  background: var(--ep-off);
  padding: var(--ep-section-py) var(--ep-section-px);
  font-family: var(--ep-font);
}
.ep-masterplan-header {
  text-align: center;
  max-width: 640px; margin: 0 auto 48px;
}

.ep-masterplan-wrap {
  position: relative; max-width: 1280px; margin: 0 auto;
  border-radius: var(--ep-radius); overflow: hidden;
  box-shadow: var(--ep-shadow-lg);
  user-select: none;
}
.ep-masterplan-img {
  width: 100%; display: block;
  border-radius: var(--ep-radius);
}

/* Hotspot */
.ep-hotspot {
  position: absolute; transform: translate(-50%, -50%);
  cursor: pointer; z-index: 5;
}
.ep-hotspot-dot {
  width: 14px; height: 14px; background: var(--ep-red);
  border: 2.5px solid #fff; border-radius: 50%;
  display: block; position: relative; z-index: 2;
  box-shadow: 0 2px 8px rgba(0,0,0,.3);
}
.ep-hotspot-pulse {
  position: absolute; top: 50%; left: 50%;
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(232,25,44,.3);
  transform: translate(-50%,-50%);
  animation: ep-pulse 2s ease-out infinite;
}
@keyframes ep-pulse {
  0%   { transform: translate(-50%,-50%) scale(0.5); opacity: 1; }
  100% { transform: translate(-50%,-50%) scale(2.2); opacity: 0; }
}
.ep-hotspot-card {
  position: absolute; bottom: calc(100% + 12px); left: 50%;
  transform: translateX(-50%) translateY(6px);
  background: var(--ep-black); color: #fff;
  font-size: 12px; font-weight: 600; letter-spacing: .04em;
  padding: 8px 14px; border-radius: 6px;
  white-space: nowrap; pointer-events: none;
  display: flex; align-items: center; gap: 6px;
  opacity: 0; transition: all 0.25s var(--ep-ease);
  box-shadow: var(--ep-shadow);
}
.ep-hotspot-card::after {
  content: ''; position: absolute; top: 100%; left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: var(--ep-black);
}
.ep-hotspot:hover .ep-hotspot-card {
  opacity: 1; transform: translateX(-50%) translateY(0);
}

/* ══════════════════════════════════════════════════════════
   ROI CALCULATOR
══════════════════════════════════════════════════════════ */
.ep-roi-wrap {
  background: var(--ep-black);
  padding: var(--ep-section-py) 0;
  font-family: var(--ep-font);
}
.ep-roi-inner {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 80px; align-items: center;
  max-width: 1280px; margin: 0 auto;
  padding: 0 var(--ep-section-px);
}
@media(max-width:900px){ .ep-roi-inner { grid-template-columns: 1fr; gap: 48px; } }

.ep-roi-left .ep-eyebrow { color: rgba(255,255,255,.45); }
.ep-roi-left .ep-eyebrow::before { background: rgba(255,255,255,.2); }
.ep-roi-disclaimer {
  font-size: 11px; color: rgba(255,255,255,.25);
  line-height: 1.6; margin-top: 24px;
}

.ep-roi-card {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--ep-radius); padding: 36px;
  backdrop-filter: blur(12px);
}

.ep-roi-field { margin-bottom: 24px; }
.ep-roi-field label {
  display: block; font-size: 11px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.5); margin-bottom: 12px;
}
.ep-roi-input-wrap {
  display: flex; align-items: center; gap: 16px;
}
.ep-roi-slider {
  flex: 1; -webkit-appearance: none; appearance: none;
  height: 4px; background: rgba(255,255,255,.15);
  border-radius: 2px; outline: none; cursor: pointer;
}
.ep-roi-slider::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none;
  width: 18px; height: 18px; border-radius: 50%;
  background: var(--ep-red); cursor: pointer;
  border: 2px solid #fff;
  box-shadow: 0 2px 8px rgba(232,25,44,.4);
  transition: transform var(--ep-t) var(--ep-ease);
}
.ep-roi-slider::-webkit-slider-thumb:hover { transform: scale(1.2); }
.ep-roi-amount-display {
  font-size: 14px; font-weight: 700; color: #fff;
  white-space: nowrap; min-width: 100px; text-align: right;
}

.ep-roi-results {
  background: rgba(0,0,0,.3);
  border-radius: var(--ep-radius-sm); padding: 20px;
  margin-bottom: 24px;
  border: 1px solid rgba(255,255,255,.08);
}
.ep-roi-result-item {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.07);
}
.ep-roi-result-item:last-child { border-bottom: none; padding-bottom: 0; }
.ep-roi-result-label {
  font-size: 12px; color: rgba(255,255,255,.45); font-weight: 500;
}
.ep-roi-result-val {
  font-size: 14px; font-weight: 700; color: #fff;
}
.ep-roi-result-highlight .ep-roi-result-label { color: rgba(255,255,255,.7); }
.ep-roi-result-big {
  font-size: 20px; color: #4ade80;
}

.ep-roi-ctas { display: flex; gap: 10px; }
@media(max-width:480px){ .ep-roi-ctas { flex-direction: column; } }

/* ══════════════════════════════════════════════════════════
   STICKY CTA BAR
══════════════════════════════════════════════════════════ */
.ep-sticky-cta {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 1000;
  background: rgba(10,10,14,.95);
  border-top: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  padding: 14px 0;
  transform: translateY(100%);
  transition: transform 0.42s var(--ep-ease);
  font-family: var(--ep-font);
}
.ep-sticky-cta.ep-sticky-visible { transform: none; }

.ep-sticky-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; max-width: 1280px; margin: 0 auto;
  padding: 0 var(--ep-section-px);
}
.ep-sticky-info { display: flex; flex-direction: column; gap: 2px; }
.ep-sticky-title {
  font-size: 16px; font-weight: 800; color: #fff; line-height: 1;
  letter-spacing: -.01em;
}
.ep-sticky-meta { font-size: 12px; color: rgba(255,255,255,.45); font-weight: 500; }
.ep-sticky-actions { display: flex; gap: 10px; align-items: center; flex-shrink: 0; }
.ep-sticky-btn { padding: 11px 22px; font-size: 12px; }

@media(max-width:768px){
  .ep-sticky-info { display: none; }
  .ep-sticky-actions { width: 100%; }
  .ep-sticky-btn { flex: 1; justify-content: center; }
}
@media(max-width:400px){
  .ep-sticky-btn-label { display: none; }
  .ep-sticky-btn { padding: 12px; }
}
