/* ==========================================================================
   Akadverse Pro — Event Details Widget
   6 template: elegant | card | split | timeline | glass | bold
   ========================================================================== */

/* ═══════════════════════════════════════════════
   BASE — shared across all templates
   ═══════════════════════════════════════════════ */

.akv-evd-wrapper {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.akv-evd-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 36px;
}

/* ── Ornaments ─────────────────────────────────── */
.akv-evd-ornaments {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
}
.akv-evd-orn { position: absolute; line-height: 0; }
.akv-evd-orn img { width: 100%; display: block; }
.akv-evd-orn-top-left     { top: 0;    left: 0;   }
.akv-evd-orn-bottom-right { bottom: 0; right: 0;  }

/* ── Section heading ───────────────────────────── */
.akv-evd-section-head {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.akv-evd-section-title {
  margin: 0;
  font-size: clamp(1.5rem, 4vw, 2.2rem);
  font-weight: 700;
  line-height: 1.2;
}

.akv-evd-section-sub {
  margin: 0;
  font-size: clamp(0.82rem, 2vw, 0.95rem);
  line-height: 1.7;
  opacity: 0.7;
  max-width: 520px;
}

/* ── Cards grid ────────────────────────────────── */
.akv-evd-cards {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 28px;
}

.akv-evd-layout-side-by-side .akv-evd-card { flex: 1 1 300px; max-width: 460px; }
.akv-evd-layout-stacked .akv-evd-card       { width: 100%; max-width: 560px; }
.akv-evd-count-1 .akv-evd-card             { max-width: 560px; }

/* ── Card base ─────────────────────────────────── */
.akv-evd-card {
  --evd-accent: #c9a84c;
  box-sizing: border-box;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.akv-evd-card:hover { transform: translateY(-4px); }

/* ── Icon ──────────────────────────────────────── */
.akv-evd-icon { line-height: 1; }
.akv-evd-icon-emoji { font-size: 2rem; display: block; }
.akv-evd-icon-img   { width: 40px; height: 40px; object-fit: contain; display: block; }

/* ── Common text elements ──────────────────────── */
.akv-evd-name {
  margin: 0;
  font-size: clamp(1.1rem, 3vw, 1.45rem);
  font-weight: 700;
  line-height: 1.25;
}

.akv-evd-date {
  margin: 6px 0;
  font-size: clamp(0.82rem, 2vw, 0.92rem);
  font-weight: 500;
  opacity: 0.75;
}

.akv-evd-meta-row {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 0.83rem;
  line-height: 1.5;
  opacity: 0.75;
  margin: 5px 0;
  text-align: left;
}
.akv-evd-meta-row svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--evd-accent);
}
.akv-evd-meta-row span { flex: 1; }

.akv-evd-venue {
  font-weight: 600;
  font-size: 0.9rem;
  margin: 8px 0 2px;
}

.akv-evd-address span { opacity: 0.75; }

.akv-evd-note {
  font-size: 0.78rem;
  font-style: italic;
  opacity: 0.6;
  margin: 10px 0 0;
  padding: 8px 12px;
  border-left: 2px solid var(--evd-accent);
  border-radius: 0 4px 4px 0;
  text-align: left;
}

/* ── Button group ──────────────────────────────── */
.akv-evd-btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
  justify-content: center;
}

.akv-evd-maps-btn,
.akv-evd-waze-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 18px;
  border-radius: 50px;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s, opacity 0.2s;
}
.akv-evd-maps-btn:hover,
.akv-evd-waze-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.15);
  opacity: 0.92;
}
.akv-evd-maps-btn svg,
.akv-evd-waze-btn svg { width: 14px; height: 14px; flex-shrink: 0; }

/* Responsive */
@media (max-width: 640px) {
  .akv-evd-layout-side-by-side .akv-evd-cards { flex-direction: column; align-items: center; }
  .akv-evd-layout-side-by-side .akv-evd-card  { max-width: 100%; flex: none; width: 100%; }
}


/* ══════════════════════════════════════════════════════════════════════════
   TEMPLATE: elegant
   Kartu mewah — latar putih, garis dekoratif emas, serif
   ══════════════════════════════════════════════════════════════════════════ */
.akv-evd-tpl-elegant .akv-evd-wrapper { background: #faf8f4; }

.akv-evd-tpl-elegant .akv-evd-section-title { font-family: 'Cormorant Garamond','Georgia',serif; font-style: italic; color: #2d1248; }
.akv-evd-tpl-elegant .akv-evd-section-sub   { color: #7a6880; }

.akv-evd-tpl-elegant .akv-evd-card {
  background: #ffffff;
  border: 1px solid rgba(201,168,76,0.22);
  border-radius: 20px;
  padding: clamp(28px,5vw,44px) clamp(24px,4vw,40px);
  box-shadow: 0 8px 32px rgba(45,18,72,0.07), 0 2px 8px rgba(201,168,76,0.06);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.akv-evd-tpl-elegant .akv-evd-elegant-top { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-bottom: 20px; }
.akv-evd-tpl-elegant .akv-evd-icon-emoji  { font-size: 2.4rem; }

.akv-evd-tpl-elegant .akv-evd-elegant-rule {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 80%;
  margin: 4px auto 0;
}
.akv-evd-tpl-elegant .akv-evd-elegant-rule span:not(.akv-evd-accent-dot) {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--evd-accent), transparent);
}
.akv-evd-tpl-elegant .akv-evd-accent-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--evd-accent);
  flex-shrink: 0;
}

.akv-evd-tpl-elegant .akv-evd-elegant-body { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 100%; }
.akv-evd-tpl-elegant .akv-evd-name  { font-family: 'Cormorant Garamond','Georgia',serif; font-size: clamp(1.3rem,3.5vw,1.8rem); color: #2d1248; }
.akv-evd-tpl-elegant .akv-evd-date  { color: var(--evd-accent); font-style: italic; font-family: 'Georgia',serif; font-size: 0.9rem; }
.akv-evd-tpl-elegant .akv-evd-venue { color: #2d1248; font-size: 0.95rem; }
.akv-evd-tpl-elegant .akv-evd-meta-row { justify-content: center; }
.akv-evd-tpl-elegant .akv-evd-location-block { background: rgba(201,168,76,0.05); border: 1px solid rgba(201,168,76,0.15); border-radius: 10px; padding: 12px 16px; margin-top: 10px; width: 100%; box-sizing: border-box; }

.akv-evd-tpl-elegant .akv-evd-maps-btn { background: linear-gradient(135deg, #c9a84c, #e8c96a); color: #1a0a2e; }
.akv-evd-tpl-elegant .akv-evd-waze-btn { background: transparent; color: var(--evd-accent); border: 1px solid rgba(201,168,76,0.4); }


/* ══════════════════════════════════════════════════════════════════════════
   TEMPLATE: card
   Kartu bersih modern — shadow halus, ikon berwarna, chip tanggal
   ══════════════════════════════════════════════════════════════════════════ */
.akv-evd-tpl-card .akv-evd-wrapper { background: #f4f6fb; }

.akv-evd-tpl-card .akv-evd-section-title { color: #1a1a2e; }
.akv-evd-tpl-card .akv-evd-section-sub   { color: #666; }

.akv-evd-tpl-card .akv-evd-card {
  background: #ffffff;
  border-radius: 18px;
  padding: clamp(24px,4vw,36px) clamp(20px,4vw,32px);
  box-shadow: 0 4px 24px rgba(0,0,0,0.07), 0 1px 4px rgba(0,0,0,0.04);
  text-align: left;
  overflow: hidden;
}

/* Top accent bar */
.akv-evd-tpl-card .akv-evd-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--evd-accent);
}

.akv-evd-tpl-card .akv-evd-card-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
}

.akv-evd-tpl-card .akv-evd-icon-badge {
  width: 52px; height: 52px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--evd-accent) 15%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.akv-evd-tpl-card .akv-evd-icon-emoji { font-size: 1.6rem; }

.akv-evd-tpl-card .akv-evd-name { color: #111; font-size: clamp(1.1rem,2.5vw,1.35rem); }

.akv-evd-tpl-card .akv-evd-card-body { display: flex; flex-direction: column; gap: 6px; }

.akv-evd-tpl-card .akv-evd-date-chip {
  display: inline-flex;
  background: color-mix(in srgb, var(--evd-accent) 12%, transparent);
  border-radius: 50px;
  padding: 4px 14px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--evd-accent);
  margin-bottom: 4px;
  width: fit-content;
}

.akv-evd-tpl-card .akv-evd-venue  { color: #222; margin: 6px 0 2px; }
.akv-evd-tpl-card .akv-evd-maps-btn { background: var(--evd-accent); color: #fff; }
.akv-evd-tpl-card .akv-evd-waze-btn { background: #f5f5f5; color: #333; }
.akv-evd-tpl-card .akv-evd-btn-group { justify-content: flex-start; }


/* ══════════════════════════════════════════════════════════════════════════
   TEMPLATE: split
   Dua kolom — angka tanggal besar di kiri, detail di kanan
   ══════════════════════════════════════════════════════════════════════════ */
.akv-evd-tpl-split .akv-evd-wrapper { background: #fff; }

.akv-evd-tpl-split .akv-evd-section-title { color: #1a1a2e; }
.akv-evd-tpl-split .akv-evd-section-sub   { color: #777; }

.akv-evd-tpl-split .akv-evd-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 30px rgba(0,0,0,0.09);
  display: flex;
  flex-direction: row;
  align-items: stretch;
  text-align: left;
  padding: 0;
}

.akv-evd-tpl-split .akv-evd-split-left {
  width: 100px;
  min-width: 100px;
  background: var(--evd-accent);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 20px 12px;
  flex-shrink: 0;
}

.akv-evd-tpl-split .akv-evd-split-date-box { text-align: center; }
.akv-evd-tpl-split .akv-evd-split-day   { display: block; font-size: clamp(2rem,5vw,3rem); font-weight: 900; color: #fff; line-height: 1; }
.akv-evd-tpl-split .akv-evd-split-month { display: block; font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.8); font-weight: 600; }
.akv-evd-tpl-split .akv-evd-split-year  { display: block; font-size: 0.65rem; color: rgba(255,255,255,0.6); }
.akv-evd-tpl-split .akv-evd-icon-emoji  { font-size: 1.4rem; }

.akv-evd-tpl-split .akv-evd-split-right {
  flex: 1;
  padding: clamp(20px,4vw,32px) clamp(16px,3vw,28px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}

.akv-evd-tpl-split .akv-evd-name  { color: #111; font-size: clamp(1rem,2.5vw,1.3rem); margin-bottom: 4px; }
.akv-evd-tpl-split .akv-evd-venue { color: #333; font-size: 0.88rem; }
.akv-evd-tpl-split .akv-evd-maps-btn { background: var(--evd-accent); color: #fff; }
.akv-evd-tpl-split .akv-evd-waze-btn { background: #f0f0f0; color: #444; }
.akv-evd-tpl-split .akv-evd-btn-group { justify-content: flex-start; }

@media (max-width: 400px) {
  .akv-evd-tpl-split .akv-evd-card { flex-direction: column; }
  .akv-evd-tpl-split .akv-evd-split-left { width: 100%; flex-direction: row; padding: 16px 20px; justify-content: center; gap: 16px; }
}


/* ══════════════════════════════════════════════════════════════════════════
   TEMPLATE: timeline
   Kartu berurutan dengan garis & dot di tengah
   ══════════════════════════════════════════════════════════════════════════ */
.akv-evd-tpl-timeline .akv-evd-wrapper { background: #f9f7ff; }

.akv-evd-tpl-timeline .akv-evd-section-title { color: #2d1248; }
.akv-evd-tpl-timeline .akv-evd-section-sub   { color: #7a6880; }

/* Garis tengah vertikal saat berdampingan */
.akv-evd-tpl-timeline .akv-evd-layout-side-by-side.akv-evd-count-2 {
  position: relative;
}
.akv-evd-tpl-timeline .akv-evd-layout-side-by-side.akv-evd-count-2::before {
  content: '';
  position: absolute;
  top: 5%;
  bottom: 5%;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  background: linear-gradient(to bottom, transparent, var(--evd-accent,#c9a84c) 20%, var(--evd-accent,#c9a84c) 80%, transparent);
  opacity: 0.3;
  pointer-events: none;
  z-index: 0;
}

.akv-evd-tpl-timeline .akv-evd-card {
  background: #ffffff;
  border-radius: 16px;
  padding: clamp(24px,4vw,36px) clamp(20px,4vw,32px) clamp(24px,4vw,36px) clamp(28px,5vw,40px);
  box-shadow: 0 6px 24px rgba(45,18,72,0.07);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

/* Dot */
.akv-evd-tpl-timeline .akv-evd-tl-dot {
  position: absolute;
  top: 50%;
  left: -14px;
  transform: translateY(-50%);
  width: 28px; height: 28px;
  background: #fff;
  border: 2px solid var(--evd-accent);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
}
.akv-evd-tpl-timeline .akv-evd-tl-dot-inner {
  width: 10px; height: 10px;
  background: var(--evd-accent);
  border-radius: 50%;
}

/* Alternate: dot kanan untuk kartu ke-2 */
.akv-evd-tpl-timeline .akv-evd-layout-side-by-side .akv-evd-card-2 .akv-evd-tl-dot {
  left: auto;
  right: -14px;
}

.akv-evd-tpl-timeline .akv-evd-tl-content { width: 100%; }
.akv-evd-tpl-timeline .akv-evd-icon        { margin-bottom: 10px; }
.akv-evd-tpl-timeline .akv-evd-name  { color: #2d1248; font-size: clamp(1rem,2.5vw,1.3rem); }
.akv-evd-tpl-timeline .akv-evd-date  { color: var(--evd-accent); font-size: 0.82rem; font-weight: 500; }
.akv-evd-tpl-timeline .akv-evd-venue { color: #333; }

.akv-evd-tpl-timeline .akv-evd-maps-btn { background: var(--evd-accent); color: #fff; }
.akv-evd-tpl-timeline .akv-evd-waze-btn { background: rgba(45,18,72,0.06); color: #2d1248; }
.akv-evd-tpl-timeline .akv-evd-btn-group { justify-content: flex-start; }

@media (max-width: 640px) {
  .akv-evd-tpl-timeline .akv-evd-tl-dot          { left: 50%; right: auto; top: -14px; transform: translateX(-50%); }
  .akv-evd-tpl-timeline .akv-evd-layout-side-by-side.akv-evd-count-2::before { display: none; }
}


/* ══════════════════════════════════════════════════════════════════════════
   TEMPLATE: glass
   Glassmorphism — transparan frosted, blur, shadow halus
   ══════════════════════════════════════════════════════════════════════════ */
.akv-evd-tpl-glass .akv-evd-wrapper {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #c0608a 100%);
  padding: clamp(48px,8vw,80px) clamp(20px,5vw,40px);
}

.akv-evd-tpl-glass .akv-evd-section-title { color: #fff; }
.akv-evd-tpl-glass .akv-evd-section-sub   { color: rgba(255,255,255,0.75); }

.akv-evd-tpl-glass .akv-evd-card {
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 24px;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  padding: clamp(28px,5vw,44px) clamp(24px,4vw,40px);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 8px 32px rgba(0,0,0,0.15), inset 0 1px 0 rgba(255,255,255,0.25);
}

/* Shine overlay */
.akv-evd-tpl-glass .akv-evd-glass-shine {
  position: absolute;
  top: 0; left: 0;
  width: 60%; height: 50%;
  background: linear-gradient(135deg, rgba(255,255,255,0.2), transparent);
  border-radius: 24px 0 100% 0;
  pointer-events: none;
}

.akv-evd-tpl-glass .akv-evd-glass-body { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 6px; }

.akv-evd-tpl-glass .akv-evd-glass-divider {
  width: 60px; height: 1px;
  background: rgba(255,255,255,0.35);
  margin: 12px auto;
}

.akv-evd-tpl-glass .akv-evd-icon-emoji { font-size: 2.4rem; }
.akv-evd-tpl-glass .akv-evd-name   { color: #fff; font-size: clamp(1.1rem,3vw,1.5rem); text-shadow: 0 1px 4px rgba(0,0,0,0.2); }
.akv-evd-tpl-glass .akv-evd-date   { color: rgba(255,255,255,0.85); font-size: 0.85rem; }
.akv-evd-tpl-glass .akv-evd-venue  { color: #fff; font-size: 0.9rem; }
.akv-evd-tpl-glass .akv-evd-meta-row { color: rgba(255,255,255,0.8); justify-content: center; }
.akv-evd-tpl-glass .akv-evd-meta-row svg { color: rgba(255,255,255,0.9); }

.akv-evd-tpl-glass .akv-evd-maps-btn {
  background: rgba(255,255,255,0.25);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.4);
  backdrop-filter: blur(4px);
}
.akv-evd-tpl-glass .akv-evd-waze-btn {
  background: rgba(255,255,255,0.12);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.25);
}

.akv-evd-tpl-glass .akv-evd-note { border-left-color: rgba(255,255,255,0.4); color: rgba(255,255,255,0.75); }


/* ══════════════════════════════════════════════════════════════════════════
   TEMPLATE: bold
   Modern kontras — angka tanggal sangat besar, aksen kuat
   ══════════════════════════════════════════════════════════════════════════ */
.akv-evd-tpl-bold .akv-evd-wrapper { background: #0f0f14; padding: clamp(48px,8vw,80px) clamp(20px,5vw,40px); }

.akv-evd-tpl-bold .akv-evd-section-title { color: #fff; letter-spacing: -0.02em; }
.akv-evd-tpl-bold .akv-evd-section-sub   { color: #888; }

.akv-evd-tpl-bold .akv-evd-card {
  background: #1a1a22;
  border-radius: 16px;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(255,255,255,0.07);
  display: flex;
  flex-direction: column;
  text-align: left;
}

/* Horizontal accent bar */
.akv-evd-tpl-bold .akv-evd-bold-accent-bar {
  height: 4px;
  background: var(--evd-accent);
  width: 100%;
}

.akv-evd-tpl-bold .akv-evd-bold-body {
  display: flex;
  align-items: center;
  gap: 0;
}

/* Giant date on the left */
.akv-evd-tpl-bold .akv-evd-bold-date-block {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: clamp(20px,4vw,32px) clamp(16px,3vw,24px);
  border-right: 1px solid rgba(255,255,255,0.07);
  min-width: 100px;
  flex-shrink: 0;
}

.akv-evd-tpl-bold .akv-evd-bold-day {
  font-size: clamp(3rem,8vw,5.5rem);
  font-weight: 900;
  line-height: 1;
  color: var(--evd-accent);
  letter-spacing: -0.04em;
}

.akv-evd-tpl-bold .akv-evd-bold-month-year {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.akv-evd-tpl-bold .akv-evd-bold-month { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: #aaa; }
.akv-evd-tpl-bold .akv-evd-bold-year  { font-size: 0.65rem; color: #666; }

/* Right info block */
.akv-evd-tpl-bold .akv-evd-bold-info {
  flex: 1;
  padding: clamp(20px,4vw,32px) clamp(16px,3vw,24px);
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.akv-evd-tpl-bold .akv-evd-icon-emoji { font-size: 1.2rem; }
.akv-evd-tpl-bold .akv-evd-name   { color: #fff; font-size: clamp(0.95rem,2.5vw,1.25rem); font-weight: 800; letter-spacing: -0.01em; }
.akv-evd-tpl-bold .akv-evd-venue  { color: #ccc; font-size: 0.85rem; }
.akv-evd-tpl-bold .akv-evd-meta-row { color: #888; }
.akv-evd-tpl-bold .akv-evd-meta-row svg { color: var(--evd-accent); }

.akv-evd-tpl-bold .akv-evd-maps-btn {
  background: var(--evd-accent);
  color: #0f0f14;
  font-weight: 700;
  border-radius: 6px;
}
.akv-evd-tpl-bold .akv-evd-waze-btn {
  background: rgba(255,255,255,0.07);
  color: #ccc;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 6px;
}

.akv-evd-tpl-bold .akv-evd-note { border-left-color: var(--evd-accent); color: #888; }

@media (max-width: 460px) {
  .akv-evd-tpl-bold .akv-evd-bold-body       { flex-direction: column; }
  .akv-evd-tpl-bold .akv-evd-bold-date-block { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.07); width: 100%; flex-direction: row; }
}


/* ── Elementor Editor ──────────────────────────── */
.elementor-editor-active .akv-evd-orn { opacity: 0.4; }
