/* =========================================================
   FAFECA — Events Module CSS  v2
   ========================================================= */

/* ── Archive filter ──────────────────────────────────────── */
.ev-archive-intro { text-align:center; max-width:700px; margin:0 auto 2rem; color:var(--color-gray,#6B7280); line-height:1.8; }
.ev-filter-bar    { display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; margin-bottom:2.5rem; }
.ev-filter-pill   { padding:.45rem 1.1rem; border-radius:9999px; border:1.5px solid var(--color-border,#E5E7EB); font-size:.83rem; font-weight:600; color:var(--color-gray,#6B7280); text-decoration:none; transition:all .2s; }
.ev-filter-pill:hover,
.ev-filter-pill.active { background:var(--color-primary,#002E6D); color:#fff; border-color:var(--color-primary,#002E6D); }

/* ── Event Grid ──────────────────────────────────────────── */
.ev-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }

/* ── Event Card (archive) ────────────────────────────────── */
.ev-card { background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 2px 16px rgba(0,46,109,.08); display:flex; flex-direction:column; transition:transform .3s ease,box-shadow .3s ease; }
.ev-card:hover { transform:translateY(-6px); box-shadow:0 16px 40px rgba(0,46,109,.16); }

.ev-card__img-wrap { position:relative; display:block; padding-top:58%; overflow:hidden; }
.ev-card__img      { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.ev-card:hover .ev-card__img { transform:scale(1.06); }
.ev-card__img-placeholder { position:absolute; inset:0; background:linear-gradient(135deg,#002E6D,#004DB3); display:flex; align-items:center; justify-content:center; }
.ev-card__img-placeholder i { font-size:3rem; color:rgba(255,255,255,.2); }

.ev-badge { position:absolute; top:.75rem; left:.75rem; font-size:.7rem; font-weight:700; padding:.28rem .85rem; border-radius:9999px; text-transform:uppercase; letter-spacing:.06em; z-index:2; backdrop-filter:blur(8px); }
.ev-badge--upcoming { background:rgba(239,246,255,.95); color:#1D4ED8; }
.ev-badge--ongoing  { background:rgba(240,253,244,.95); color:#15803D; }
.ev-badge--done     { background:rgba(241,245,249,.95); color:#64748B; }

.ev-date-badge { position:absolute; bottom:.75rem; left:.75rem; background:rgba(0,0,0,.6); color:#fff; font-size:.76rem; font-weight:700; padding:.3rem .75rem; border-radius:6px; backdrop-filter:blur(8px); z-index:2; }

.ev-card__body    { padding:1.25rem 1.5rem 1.5rem; display:flex; flex-direction:column; flex:1; }
.ev-card__title   { font-size:1.05rem; font-weight:700; color:var(--color-primary,#002E6D); margin:0 0 .6rem; line-height:1.35; }
.ev-card__title a { color:inherit; text-decoration:none; }
.ev-card__title a:hover { color:var(--color-red,#D71920); }
.ev-card__meta    { display:flex; flex-direction:column; gap:.3rem; margin-bottom:.75rem; }
.ev-meta-item     { font-size:.8rem; color:var(--color-gray,#6B7280); display:flex; align-items:center; gap:.35rem; }
.ev-meta-item i   { color:var(--color-red,#D71920); font-size:.9rem; flex-shrink:0; }
.ev-card__excerpt { font-size:.85rem; color:var(--color-gray,#6B7280); line-height:1.65; margin:0 0 1rem; flex:1; }
.ev-card__actions { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; margin-top:auto; }
.ev-card__btn     { font-size:.82rem; padding:.5rem 1rem; }
.ev-card__more    { font-size:.82rem; font-weight:600; color:var(--color-primary,#002E6D); text-decoration:none; display:inline-flex; align-items:center; gap:.3rem; }
.ev-card__more:hover { color:var(--color-red,#D71920); }

/* ── Event Type Tag (matches blog card-category style) ────── */
.event-type-tag { display:inline-block; background:var(--color-primary,#002E6D); color:#fff; font-size:.78rem; font-weight:700; padding:.28rem .85rem; border-radius:100px; margin-bottom:.5rem; letter-spacing:.02em; }

/* ── Single Event Legacy Hero ────────────────────────────── */
.ev-hero { position:relative; min-height:400px; display:flex; align-items:flex-end; background-color:var(--color-primary,#002E6D); background-size:cover; background-position:center top; }
.ev-hero__overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.78) 40%,rgba(0,0,0,.22) 100%); }
.ev-hero__inner   { position:relative; z-index:1; padding-top:6rem; padding-bottom:2.5rem; }
.ev-breadcrumb    { display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; font-size:.83rem; margin-bottom:1rem; }
.ev-breadcrumb a  { color:rgba(255,255,255,.7); text-decoration:none; }
.ev-breadcrumb span { color:rgba(255,255,255,.4); font-size:.5rem; }
.ev-breadcrumb .current { color:var(--color-red,#D71920); }
.ev-hero__badges  { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:.75rem; }
.ev-hero__cat     { background:var(--color-red,#D71920); color:#fff; font-size:.72rem; font-weight:700; padding:.22rem .75rem; border-radius:100px; text-transform:uppercase; }
.ev-hero__status  { font-size:.72rem; font-weight:700; padding:.22rem .75rem; border-radius:100px; }
.ev-hero__title   { color:#fff; font-size:clamp(1.6rem,4vw,2.5rem); font-weight:800; line-height:1.2; max-width:820px; margin:0 0 .5rem; }
.ev-hero__subtitle{ color:rgba(255,255,255,.8); font-size:1.05rem; margin:0 0 1rem; }
.ev-hero__meta    { display:flex; flex-wrap:wrap; gap:1rem; }
.ev-hero__meta span { color:rgba(255,255,255,.85); font-size:.88rem; display:flex; align-items:center; gap:.35rem; }
.ev-hero__meta i  { color:var(--color-red,#D71920); }

/* ── Single Event Layout ─────────────────────────────────── */
.ev-single__grid  { display:grid; grid-template-columns:1fr 300px; gap:3rem; align-items:start; }
.ev-single__sidebar{ position:sticky; top:calc(var(--header-height,80px) + 2rem); }

/* ── Info Card (sidebar) — redesign ─────────────────────── */
.ev-info-card {
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 4px 32px rgba(0,46,109,.12);
    border:1px solid rgba(0,46,109,.06);
}
.ev-info-card__header {
    background:linear-gradient(135deg,#002E6D 0%,#004aad 100%);
    padding:1.35rem 1.5rem 1.1rem;
    position:relative;
    overflow:hidden;
}
.ev-info-card__header::after {
    content:'';
    position:absolute;
    right:-20px; top:-20px;
    width:100px; height:100px;
    border-radius:50%;
    background:rgba(255,255,255,.06);
}
.ev-info-card__header h3 {
    color:#fff;
    font-size:.9rem;
    font-weight:700;
    margin:0 0 .5rem;
    letter-spacing:.02em;
}
.ev-info-card__badges {
    display:flex;
    flex-wrap:wrap;
    gap:.4rem;
}
.ev-info-card__badges .ev-hero__cat,
.ev-info-card__badges .ev-hero__status {
    font-size:.68rem;
}

.ev-info-list { list-style:none; margin:0; padding:.4rem 0; }
.ev-info-list li {
    display:flex;
    align-items:flex-start;
    gap:.85rem;
    padding:.7rem 1.25rem;
    border-bottom:1px solid #F3F4F6;
    transition:background .15s;
}
.ev-info-list li:last-child { border-bottom:none; }
.ev-info-list li:hover { background:#FAFAFA; }
.ev-info-list__icon {
    width:34px; height:34px;
    border-radius:10px;
    background:transparent;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}
.ev-info-list__icon i { color:var(--color-red,#D71920); font-size:1rem; }
.ev-info-list__body { display:flex; flex-direction:column; }
.ev-info-list__label {
    font-size:.63rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.1em;
    color:#9CA3AF;
    margin-bottom:.12rem;
}
.ev-info-list__value { font-size:.875rem; color:#111827; font-weight:500; line-height:1.4; }
.ev-info-list a { color:var(--color-primary,#002E6D); text-decoration:none; }
.ev-info-list a:hover { text-decoration:underline; }

/* Info card — wide (full-width) variant */
.ev-info-card--wide { }

.ev-info-card__header--wide {
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:1rem;
}

/* Info items grid (full-width card) */
.ev-info-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
    border-top:1px solid #F3F4F6;
}
.ev-info-item {
    display:flex;
    align-items:flex-start;
    gap:.85rem;
    padding:.9rem 1.25rem;
    border-right:1px solid #F3F4F6;
    border-bottom:1px solid #F3F4F6;
    transition:background .15s;
}
.ev-info-item:hover { background:#FAFAFA; }

/* Countdown — wide variant */
.ev-countdown-wrap--wide {
    display:flex;
    align-items:center;
    gap:1.5rem;
    flex-wrap:wrap;
    padding:1rem 1.5rem;
}
.ev-countdown-wrap--wide .ev-countdown-label {
    margin-bottom:0;
    white-space:nowrap;
}
.ev-countdown--wide {
    display:flex;
    gap:1.25rem;
    align-items:center;
}
.ev-countdown--wide .ev-countdown__unit {
    display:flex;
    flex-direction:column;
    align-items:center;
    min-width:52px;
    background:#fff;
    border-radius:10px;
    padding:.5rem .6rem;
    box-shadow:0 2px 8px rgba(0,46,109,.08);
}
.ev-countdown--wide .ev-countdown__num { font-size:1.75rem; }

/* Countdown */
.ev-countdown-wrap {
    padding:.9rem 1.25rem 1rem;
    border-top:1px solid #F3F4F6;
    background:#F8FAFF;
}
.ev-countdown-label {
    font-size:.63rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.1em;
    color:#9CA3AF;
    margin-bottom:.5rem;
    display:flex;
    align-items:center;
    gap:.3rem;
}
.ev-countdown-label i { color:var(--color-red,#D71920); }
.ev-countdown {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:.4rem;
}
.ev-countdown__unit { text-align:center; }
.ev-countdown__num {
    display:block;
    font-size:1.6rem;
    font-weight:800;
    color:var(--color-primary,#002E6D);
    line-height:1;
    font-variant-numeric:tabular-nums;
}
.ev-countdown__lbl {
    display:block;
    font-size:.55rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:#9CA3AF;
    margin-top:.2rem;
}

/* Share row */
.ev-share-row {
    display:flex;
    align-items:center;
    gap:.45rem;
    padding:.85rem 1.25rem;
    border-top:1px solid #F3F4F6;
}
.ev-share-label { font-size:.72rem; font-weight:600; color:#9CA3AF; flex-shrink:0; }
.ev-share-btn {
    width:32px; height:32px;
    border-radius:8px;
    border:1.5px solid #E5E7EB;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#374151;
    font-size:.88rem;
    text-decoration:none;
    transition:all .2s;
    flex-shrink:0;
}
.ev-share-btn:hover { border-color:var(--color-primary,#002E6D); background:var(--color-primary,#002E6D); color:#fff; }

/* Back link */
.ev-back-link {
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    margin-top:1.25rem;
    color:#9CA3AF;
    font-size:.83rem;
    text-decoration:none;
    font-weight:500;
    transition:color .2s;
    padding:.25rem 0;
}
.ev-back-link:hover { color:var(--color-primary,#002E6D); }

.ev-section-anchor { display:block; position:relative; top:-80px; visibility:hidden; }
.ev-tickets-fallback { margin-top:2rem; padding:2rem; background:#F9FAFB; border-radius:12px; }

/* ── Program Timeline — redesign ─────────────────────────── */
.ev-program-timeline {
    position:relative;
    display:flex;
    flex-direction:column;
    gap:0;
}
.ev-program-item {
    display:grid;
    grid-template-columns:80px 20px 1fr;
    gap:0 1rem;
    align-items:stretch;
}
.ev-program-item:last-child { }

/* Time column */
.ev-program-time-col {
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    padding-top:.3rem;
}
.ev-program-time-badge {
    display:inline-block;
    padding:.3rem .6rem;
    background:var(--color-primary,#002E6D);
    color:#fff;
    font-size:.73rem;
    font-weight:700;
    border-radius:8px;
    white-space:nowrap;
    line-height:1.3;
}

/* Connector column */
.ev-program-connector-col {
    display:flex;
    flex-direction:column;
    align-items:center;
}
.ev-program-dot {
    width:18px; height:18px;
    border-radius:50%;
    background:var(--color-red,#D71920);
    border:3px solid #fff;
    box-shadow:0 0 0 2px var(--color-red,#D71920);
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:.32rem;
    z-index:1;
}
.ev-program-dot i { font-size:.5rem; color:#fff; }
.ev-program-line {
    width:2px;
    flex:1;
    background:#E5E7EB;
    margin:4px 0;
    min-height:1.5rem;
}
.ev-program-item:last-child .ev-program-line { background:transparent; }

/* Content */
.ev-program-content {
    background:#fff;
    border-radius:14px;
    padding:1rem 1.25rem;
    margin-bottom:1rem;
    box-shadow:0 1px 6px rgba(0,0,0,.06);
    transition:box-shadow .2s, transform .2s;
}
.ev-program-content:hover {
    box-shadow:0 6px 20px rgba(0,46,109,.1);
    transform:translateY(-2px);
}
.ev-program-content-header {
    display:flex;
    align-items:center;
    gap:.6rem;
    margin-bottom:.3rem;
}
.ev-program-icon {
    width:26px; height:26px;
    border-radius:7px;
    background:rgba(215,25,32,.1);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}
.ev-program-icon i { color:var(--color-red,#D71920); font-size:.7rem; }
.ev-program-content-title { font-size:.95rem; font-weight:700; color:var(--color-primary,#002E6D); line-height:1.3; }
.ev-program-content-desc  { font-size:.84rem; color:#6B7280; margin:.35rem 0 .5rem; line-height:1.65; }
.ev-program-meta  { display:flex; flex-wrap:wrap; gap:.4rem; }
.ev-program-tag   {
    font-size:.72rem;
    font-weight:600;
    padding:.2rem .65rem;
    border-radius:9999px;
    background:#fff;
    color:#374151;
    display:inline-flex;
    align-items:center;
    gap:.3rem;
    border:1px solid #E5E7EB;
}
.ev-program-tag i { font-size:.72rem; }

/* ── Speakers — redesign ─────────────────────────────────── */
.ev-speakers-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
    gap:1.5rem;
}
.ev-speaker-card {
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 2px 14px rgba(0,0,0,.07);
    transition:transform .3s ease, box-shadow .3s ease;
    display:flex;
    flex-direction:column;
}
.ev-speaker-card:hover {
    transform:translateY(-6px);
    box-shadow:0 14px 36px rgba(0,46,109,.15);
}
.ev-speaker-photo {
    width:100%;
    aspect-ratio:1 / 1;
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg,#002E6D,#004aad);
    flex-shrink:0;
}
.ev-speaker-photo img {
    width:100%; height:100%;
    object-fit:cover;
    object-position:top;
    transition:transform .45s ease;
    display:block;
}
.ev-speaker-card:hover .ev-speaker-photo img { transform:scale(1.06); }
.ev-speaker-photo-overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(to top, rgba(0,46,109,.55) 0%, transparent 55%);
    opacity:0;
    transition:opacity .35s;
}
.ev-speaker-card:hover .ev-speaker-photo-overlay { opacity:1; }
.ev-speaker-initials-wrap {
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
}
.ev-speaker-initials {
    font-size:2.5rem;
    font-weight:700;
    color:rgba(255,255,255,.85);
    letter-spacing:.05em;
}
.ev-speaker-body  { padding:1.1rem 1.2rem 1.2rem; display:flex; flex-direction:column; flex:1; }
.ev-speaker-name  { font-size:.95rem; font-weight:700; color:var(--color-primary,#002E6D); margin:0 0 .18rem; line-height:1.3; }
.ev-speaker-role  { font-size:.75rem; font-weight:600; color:var(--color-red,#D71920); margin:0 0 .1rem; }
.ev-speaker-org   {
    font-size:.72rem;
    color:#9CA3AF;
    margin:0 0 .65rem;
    display:flex;
    align-items:center;
    gap:.3rem;
}
.ev-speaker-org::before {
    content:'';
    display:inline-block;
    width:18px;
    height:1.5px;
    background:#D1D5DB;
    flex-shrink:0;
}
.ev-speaker-bio   {
    font-size:.78rem;
    color:#6B7280;
    line-height:1.65;
    margin:0 0 .85rem;
    flex:1;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.ev-speaker-links { display:flex; gap:.4rem; margin-top:auto; }
.ev-speaker-link  {
    width:30px; height:30px;
    border-radius:8px;
    background:#F3F4F6;
    color:#374151;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:.85rem;
    text-decoration:none;
    transition:all .2s;
}
.ev-speaker-link:hover { background:var(--color-primary,#002E6D); color:#fff; }

/* ── Ticket Form ─────────────────────────────────────────── */
.ev-ticket-success {
    background:linear-gradient(135deg,#D1FAE5,#ECFDF5);
    border:1px solid #6EE7B7;
    color:#065F46;
    border-radius:16px;
    padding:2rem;
    text-align:center;
}
.ev-ticket-success i { font-size:2.5rem; display:block; margin-bottom:.5rem; color:#059669; }
.ev-ticket-success h3 { font-size:1.1rem; margin:.5rem 0 .5rem; color:#064E3B; }
.ev-ticket-number {
    font-size:1.2rem;
    font-weight:800;
    letter-spacing:.1em;
    color:var(--color-primary,#002E6D);
    display:block;
    background:#fff;
    padding:.5rem 1rem;
    border-radius:8px;
    margin:.75rem 0;
    border:2px dashed #6EE7B7;
}
.ev-ticket-dl-btn {
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    padding:.6rem 1.25rem;
    background:var(--color-primary,#002E6D);
    color:#fff;
    border-radius:10px;
    font-weight:700;
    text-decoration:none;
    font-size:.9rem;
    transition:opacity .2s;
}
.ev-ticket-dl-btn:hover { opacity:.85; color:#fff; }

/* ── Stand Form ──────────────────────────────────────────── */
.ev-stand-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.ev-stand-form-grid .form-group { margin-bottom:0; }
.ev-stand-full   { grid-column:1/-1; }

/* ── Gallery ─────────────────────────────────────────────── */
.ev-gallery-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:.75rem;
}
.ev-gallery-item {
    position:relative;
    aspect-ratio:4/3;
    overflow:hidden;
    border-radius:12px;
    cursor:pointer;
    background:#F3F4F6;
}
.ev-gallery-item img {
    width:100%; height:100%;
    object-fit:cover;
    display:block;
    transition:transform .4s ease;
}
.ev-gallery-item:hover img { transform:scale(1.08); }
.ev-gallery-overlay {
    position:absolute; inset:0;
    background:rgba(0,0,0,0);
    transition:background .25s;
    display:flex;
    align-items:center;
    justify-content:center;
}
.ev-gallery-item:hover .ev-gallery-overlay { background:rgba(0,0,0,.35); }
.ev-gallery-overlay i { color:#fff; font-size:1.75rem; opacity:0; transition:opacity .25s; }
.ev-gallery-item:hover .ev-gallery-overlay i { opacity:1; }
.ev-video-thumb { }
.ev-video-play  { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.ev-video-play i { font-size:2.5rem; color:#fff; filter:drop-shadow(0 2px 8px rgba(0,0,0,.5)); }

/* ── Lightbox ────────────────────────────────────────────── */
.ev-lightbox { display:none; position:fixed; inset:0; background:rgba(0,0,0,.94); z-index:99999; align-items:center; justify-content:center; }
.ev-lightbox.active { display:flex; }
.ev-lb-inner  { position:relative; max-width:90vw; max-height:90vh; }
.ev-lb-img    { max-width:90vw; max-height:85vh; object-fit:contain; border-radius:8px; display:block; }
.ev-lb-video  { width:80vw; max-width:960px; aspect-ratio:16/9; border-radius:8px; }
.ev-lb-close  { position:fixed; top:1.25rem; right:1.5rem; color:#fff; font-size:2rem; cursor:pointer; background:none; border:none; line-height:1; opacity:.8; }
.ev-lb-close:hover { opacity:1; }
.ev-lb-prev, .ev-lb-next { position:fixed; top:50%; transform:translateY(-50%); color:#fff; font-size:1.4rem; cursor:pointer; background:rgba(255,255,255,.15); border:none; padding:.5rem .8rem; border-radius:10px; line-height:1; transition:background .2s; }
.ev-lb-prev:hover, .ev-lb-next:hover { background:rgba(255,255,255,.3); }
.ev-lb-prev { left:1rem; }
.ev-lb-next { right:1rem; }
.ev-lb-caption { position:fixed; bottom:1.5rem; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.72); font-size:.85rem; }

/* ── Generic popup overlay (used by event forms + donation popup) ────────── */
.ev-popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;pointer-events:none;transition:opacity .25s}
.ev-popup-overlay.open{opacity:1;pointer-events:auto}
.ev-popup-box{background:#fff;border-radius:20px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 32px 64px rgba(0,0,0,.18);transform:translateY(24px);transition:transform .25s}
.ev-popup-overlay.open .ev-popup-box{transform:translateY(0)}
.ev-popup-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border-radius:50%;border:none;background:#f3f4f6;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#6B7280;transition:all .15s;z-index:2}
.ev-popup-close:hover{background:#e5e7eb;color:#111}
.ev-popup-header{display:flex;align-items:center;gap:1rem;padding:1.5rem 1.5rem 0}
.ev-popup-header-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;background:linear-gradient(135deg,var(--color-primary) 0%,#1d4ed8 100%);flex-shrink:0}
.ev-popup-title{font-size:1.2rem;font-weight:800;color:var(--color-primary,#002E6D);margin:0 0 .2rem;line-height:1.25}
.ev-popup-sub{font-size:.82rem;color:#9CA3AF;margin:0}
.ev-popup-body{padding:1.25rem 1.5rem 1.5rem}
.ev-popup-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ev-popup-group{display:flex;flex-direction:column;gap:.4rem}
.ev-popup-group label,.ev-label{font-size:.85rem;font-weight:600;color:#374151}
.ev-input{width:100%;padding:.75rem 1rem;border:1.5px solid #E5E7EB;border-radius:10px;font-size:.92rem;color:#111;font-family:inherit;background:#F9FAFB;transition:border-color .15s;box-sizing:border-box}
.ev-input:focus{outline:none;border-color:#002E6D;background:#fff}
.ev-popup-success{display:flex;align-items:flex-start;gap:1rem;background:#f0fdf4;border:1.5px solid #86efac;border-radius:10px;padding:1rem 1.25rem;margin-bottom:1rem;color:#15803d}
.ev-popup-success i{font-size:1.5rem;flex-shrink:0;margin-top:.1rem}
.ev-popup-success strong{display:block}
.ev-popup-success p{margin:.25rem 0 0;font-size:.875rem}
.ev-popup-error{background:#fef2f2;border:1.5px solid #fca5a5;border-radius:10px;padding:.875rem 1.25rem;margin-bottom:1rem;color:#dc2626;font-size:.875rem}
.ev-popup-payment-info{display:flex;align-items:flex-start;gap:.5rem;background:#FFF7ED;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.82rem;color:#92400E;border:1px solid #FDE68A}
.ev-popup-payment-info i{flex-shrink:0;margin-top:.1rem}
@media(max-width:560px){.ev-popup-row{grid-template-columns:1fr}.ev-popup-header,.ev-popup-body{padding-left:1.25rem;padding-right:1.25rem}}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width:1024px) {
    .ev-grid             { grid-template-columns:repeat(2,1fr); }
    .ev-single__grid     { grid-template-columns:1fr; }
    .ev-single__sidebar  { position:static; }
    .ev-gallery-grid     { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:767px) {
    .ev-grid             { grid-template-columns:1fr; }
    .ev-stand-form-grid  { grid-template-columns:1fr; }
    .ev-stand-full       { grid-column:1; }
    .ev-speakers-grid    { grid-template-columns:repeat(2,1fr); }
    .ev-program-item     { grid-template-columns:60px 16px 1fr; }
}
@media (max-width:480px) {
    .ev-speakers-grid    { grid-template-columns:1fr 1fr; }
    .ev-gallery-grid     { grid-template-columns:1fr 1fr; }
    .ev-program-item     { grid-template-columns:1fr; }
    .ev-program-time-col { flex-direction:row; align-items:center; gap:.5rem; }
    .ev-program-connector-col { display:none; }
    .ev-program-content  { margin-bottom:.75rem; }
}

/* ── Responsive Additions — patches petits écrans ─── */

/* Titre hero plus compact sur tablette */
@media (max-width: 1024px) {
    .ev-single__grid { gap:2rem; }
}

/* Corrections mobile complémentaires */
@media (max-width: 767px) {
    .ev-hero { min-height:320px; }
    .ev-hero__inner { padding-top:5rem; padding-bottom:1.75rem; }
    /* Info card wide : header en colonne */
    .ev-info-card__header--wide { flex-direction:column; gap:.75rem; }
    /* Countdown wide : centré et compact */
    .ev-countdown-wrap--wide { flex-direction:column; align-items:flex-start; gap:.75rem; }
    .ev-countdown--wide { gap:.75rem; }
    .ev-countdown--wide .ev-countdown__unit { min-width:44px; }
    .ev-countdown--wide .ev-countdown__num { font-size:1.5rem; }
    /* Popup form : champs en colonne */
    .ev-popup-row { grid-template-columns:1fr; }
}

/* Très petit écran (≤480px) */
@media (max-width: 480px) {
    .ev-hero__title { font-size:1.4rem; }
    .ev-hero__meta  { flex-direction:column; gap:.5rem; }
    /* Info grid : 1 colonne forcée */
    .ev-info-grid   { grid-template-columns:1fr; }
    /* Bouton standalone : pleine largeur */
    .ev-info-card .btn { width:100%; justify-content:center; }
    /* Countdown : 4 colonnes resserrées */
    .ev-countdown { gap:.25rem; }
    .ev-countdown__num { font-size:1.35rem; }
    /* Galerie : 1 colonne si très petit */
    .ev-gallery-grid { grid-template-columns:1fr; }
}
