/* Your Travel Partner — event card + event facts (shared).
 * Used by: homepage "Upcoming Events" section (extras.js), /events listing and
 * the /events/{slug} detail page. Prefix: ec- */

.ec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:980px){.ec-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.ec-grid{grid-template-columns:1fr;}}

/* ---------------- Card ---------------- */
.ec-card{display:flex;flex-direction:column;background:#fff;border:1px solid #FFE7D1;border-radius:20px;overflow:hidden;
  box-shadow:0 14px 34px -26px rgba(139,26,26,.45);transition:transform .3s,box-shadow .3s,border-color .3s;text-align:left;}
.ec-card:hover{transform:translateY(-5px);box-shadow:0 30px 56px -28px rgba(139,26,26,.45);border-color:#FFC99A;}

.ec-media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:#FFF1E2;}
.ec-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.ec-card:hover .ec-media img{transform:scale(1.05);}
.ec-status{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.95);color:#B84A00;
  box-shadow:0 6px 16px -8px rgba(0,0,0,.35);}
.ec-status::before{content:'';width:6px;height:6px;border-radius:50%;background:#16a34a;}
.ec-past .ec-status{color:#6b7280;}.ec-past .ec-status::before{background:#9ca3af;}
.ec-past .ec-media img{filter:grayscale(.35);}

.ec-body{display:flex;flex-direction:column;padding:18px;flex:1;}
/* Sections are separated by a soft divider so the card reads top-to-bottom:
   title → dates → details → about → actions. */
.ec-body > * + *{margin-top:14px;}
.ec-body > .ec-dates ~ .ec-info,
.ec-body > .ec-info ~ .ec-desc{padding-top:14px;border-top:1px dashed #F3DFC9;}

/* Fixed two-line title so dates line up across cards in a row */
.ec-title{font-family:'Poppins',sans-serif;font-weight:600;font-size:18px;line-height:1.3;color:#1A1A2E;letter-spacing:-.01em;margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;}
.ec-title a{color:inherit;text-decoration:none;}.ec-title a:hover{color:#FF6B00;}

/* Start / End date strip */
.ec-dates{display:flex;align-items:stretch;gap:8px;}
.ec-date{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;background:#FFF5EC;border:1px solid #FFE7D1;border-radius:12px;padding:9px 12px;}
.ec-date-l{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#B84A00;}
.ec-date strong{font-size:15px;font-weight:700;color:#1A1A2E;line-height:1.25;}
.ec-date small{font-size:11.5px;color:rgba(26,26,46,.55);}
.ec-sep{display:flex;align-items:center;color:#FF6B00;flex-shrink:0;}

/* Details grid — Location spans the full width, Organizer + Entry sit side by side */
.ec-info{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;}
.ec-info li{display:flex;align-items:flex-start;gap:9px;min-width:0;}
.ec-info li.ec-wide{grid-column:1 / -1;}
.ec-ico{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#FFF1E2;color:#FF6B00;}
.ec-info li > div{min-width:0;}
.ec-info span{display:block;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(26,26,46,.48);line-height:1.2;}
.ec-info b{display:block;font-size:13.5px;font-weight:600;color:#1A1A2E;line-height:1.3;margin-top:1px;overflow-wrap:anywhere;}
.ec-info .ec-free{color:#047857;}
@media(max-width:420px){.ec-info{grid-template-columns:1fr;}}

.ec-desc{font-size:13px;line-height:1.55;color:rgba(26,26,46,.62);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* Buttons */
.ec-actions{display:flex;gap:8px;margin-top:auto !important;padding-top:16px;flex-wrap:wrap;}
.ec-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 12px;border-radius:11px;font-size:13px;font-weight:600;
  text-decoration:none;cursor:pointer;border:1px solid transparent;font-family:inherit;line-height:1.1;transition:transform .25s,box-shadow .25s,background .25s;white-space:nowrap;}
.ec-btn:hover{transform:translateY(-2px);}
.ec-btn-primary{color:#fff;background:linear-gradient(135deg,#FF6B00,#F5A623);box-shadow:0 12px 24px -12px rgba(255,107,0,.7);}
.ec-btn-ghost{color:#B84A00;background:#fff;border-color:#FFD2A8;}
.ec-btn-ghost:hover{background:#FFF5EC;}

/* ---------------- Detail page facts panel ---------------- */
.ec-facts{background:#fff;border:1px solid #FFE7D1;border-radius:18px;padding:18px;margin:0 0 24px;display:flex;flex-direction:column;gap:16px;
  box-shadow:0 14px 34px -28px rgba(139,26,26,.4);}
.ec-facts .ec-info{grid-template-columns:repeat(2,1fr);gap:14px 18px;}
.ec-facts .ec-info,.ec-facts .ec-actions{border-top:0;padding-top:0;}
.ec-facts > * + *{margin-top:0;}
@media(max-width:620px){.ec-facts .ec-info{grid-template-columns:1fr;}}
.ec-facts .ec-info li.ec-wide{grid-column:auto;}
.ec-facts .ec-actions .ec-btn{flex:0 1 auto;min-width:170px;}
