:root {
  --et-event-accent:#1F59F9;
  --et-event-accent-hover:#1949cc;
  --et-event-bg-soft:#EEF4FF;
  --et-event-radius-lg:22px;
  --et-event-radius-md:18px;
}

/* TOP SECTION (desktop defaults) */
.et-event-top.et-mh-single-top {
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-areas: "crumb crumb" "head head";
  column-gap:32px;
  padding-top:clamp(24px,3.5vw,48px);
  padding-bottom:30px;
  position:relative;
}
.et-event-top .et-breadcrumbs {
  grid-area:crumb;
  margin:0 0 30px;
  padding-bottom:10px;
  position:relative;
  font-size:0;
}
.et-event-top .et-breadcrumbs a {
  font-size:16px; color:#75787b; text-decoration:none; font-weight:400; transition:color .18s;
}
.et-event-top .et-breadcrumbs a:hover { color:#3459af; }
.et-event-top .et-breadcrumbs .current { font-size:16px; color:#3c3c3c; font-weight:400; }
.et-event-top .et-breadcrumbs .sep { font-size:16px; opacity:.55; margin:0 4px; }
.et-event-top .et-breadcrumbs:after {
  content:""; position:absolute; left:0; bottom:0; width:140px; height:1px;
  background:linear-gradient(90deg,#d8dde3 0%,#e6e9ee 55%,rgba(230,233,238,0)100%);
}
.et-event-archive-head { grid-area:head; }
.et-event-archive-title {
  margin:0;
  font-size:38px;
  line-height:1.05;
  font-weight:600;
  letter-spacing:-0.3px;
  color:#000;
}
@media (max-width:640px){
  .et-event-archive-title { font-size:32px; }
}
.et-event-tagline {
  margin:14px 0 0;
  font-size:15px;
  line-height:1.5;
  color:#333;
  max-width:880px;
}
.et-event-tagline p { margin:0; }

.et-event-article-meta {
  display:flex;
  flex-wrap:wrap;
  gap:14px 22px;
  align-items:center;
  font-size:13px;
  line-height:1.3;
  color:#666;
  margin-top:18px;
}
.et-event-article-meta .et-event-top-cta {
  background:var(--et-event-accent);
  color:#fff;
  padding:8px 18px 9px;
  font-size:12px;
  font-weight:600;
  text-decoration:none;
  border-radius:24px;
  transition:.18s;
}
.et-event-article-meta .et-event-top-cta:hover { background:var(--et-event-accent-hover); }
.et-event-share-inline {
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
@media (max-width:680px){
  .et-event-share-inline {
    order:99; width:100%; margin-left:0; justify-content:flex-start;
  }
}
.et-mh-share-label { font-size:11px; font-weight:600; letter-spacing:.6px; text-transform:uppercase; color:#666; }
.et-mh-share-btn {
  width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid #d5dbe1; background:#fff; color:#4a5662;
  border-radius:50%; cursor:pointer; text-decoration:none;
  transition:background .18s,color .18s,border-color .18s, box-shadow .18s;
  position:relative; font-weight:600; font-size:13px;
}
.et-mh-share-btn:hover,
.et-mh-share-btn:focus-visible {
  background:var(--et-event-accent);
  color:#fff;
  border-color:var(--et-event-accent);
  box-shadow:0 4px 16px -4px rgba(21,74,220,.45);
}
.et-event-share-copy.is-copied {
  background:#17d45f;
  border-color:#17d45f;
  color:#fff;
}
.et-event-share-copy.is-copied:after {
  content:"Copiat!";
  position:absolute;
  bottom:calc(100% + 6px);
  background:#17d45f;
  color:#fff;
  font-size:11px;
  padding:4px 8px 5px;
  border-radius:6px;
  white-space:nowrap;
  animation:etCopy 1.4s ease forwards;
}
@keyframes etCopy {
  0%{opacity:0;transform:translateY(4px);}
  12%{opacity:1;transform:translateY(0);}
  80%{opacity:1;}
  100%{opacity:0;transform:translateY(-4px);}
}

/* QUAD HERO (desktop/tablet defaults) */
.et-event-quad-wrap {
  --quad-gap:40px;
  --card-width-percent:60%;
  --colW: calc( (100% - (3 * var(--quad-gap))) / 4 );
  --row-h: calc(var(--colW) * 3 / 4);
  position:relative;
  padding-bottom:clamp(60px,10vw,140px);
}
.et-event-quad-row {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:var(--quad-gap);
  align-items:start;
  margin:0;
}
.et-event-img-slot {
  position:relative;
  border-radius:var(--et-event-radius-md);
  overflow:hidden;
  aspect-ratio:4/3;
}
.et-event-extra-img {
  width:100%; height:100%; object-fit:cover; display:block; border-radius:var(--et-event-radius-md);
}

.et-event-img--featured { display:flex; align-items:center; justify-content:center; overflow:visible; }
.et-event-featured-circle {
  --circle-size:260px;
  width:var(--circle-size); height:var(--circle-size);
  border:20px solid #fff;
  border-radius:50%;
  background:transparent;
  overflow:hidden;
  margin:0 auto;
  transform:translateY(4px);
  z-index:30;
}
.et-event-featured-img { width:100%; height:100%; object-fit:cover; display:block; border-radius:50%; }

.et-event-quad-card {
  --card-overlap:150px;
  --card-width: clamp(640px, var(--card-width-percent), 960px);
  --card-center-col2: calc( (var(--colW) * 1.5) + var(--quad-gap) );
  --panel-pad-top: clamp(108px,17vw,136px);
  --panel-pad-x: clamp(44px,4.2vw,74px);
  --panel-pad-bottom: clamp(12px,1.3vw,19px);
  position:relative;
  width:var(--card-width);
  max-width:100%;
  background:#fff;
  border:none;
  border-radius:var(--et-event-radius-lg);
  padding:20px;
  margin-top:calc(-1 * var(--card-overlap));
  margin-left:calc(var(--card-center-col2) - (var(--card-width)/2));
  text-align:center;
  z-index:20;
}
.et-event-quad-card-base {
  background:var(--et-event-bg-soft);
  border-radius:calc(var(--et-event-radius-lg) - 4px);
  padding:var(--panel-pad-top) var(--panel-pad-x) var(--panel-pad-bottom);
  position:relative;
}

.et-event-eyebrow {
  font-size:14px; font-weight:500; letter-spacing:.35px;
  color:#9B9B9B; display:inline-flex; align-items:center; gap:6px; margin:0 0 10px;
}
.et-event-eyebrow-icon { font-size:15px; line-height:1; color:var(--et-event-accent); transform:translateY(-1px); }
.et-event-card-title { font-size:30px; line-height:1.16; font-weight:600; margin:0 0 26px; color:#000; letter-spacing:-0.25px; }
.et-event-card-summary { font-size:16px; line-height:1.6; color:#75787B; margin:0 0 20px; }
.et-event-card-summary p { margin:0 0 1.15em; }
.et-event-card-summary p:last-child { margin-bottom:0; }
.et-event-card-cta { display:flex; justify-content:center; }
.et-event-add-calendar {
  background:var(--et-event-accent); color:#fff;
  font-size:15px; font-weight:600;
  text-decoration:none; border:1px solid var(--et-event-accent);
  padding:13px 32px 14px; border-radius:40px;
  display:inline-flex; align-items:center; gap:10px; transition:.18s;
}
.et-event-add-calendar:hover,
.et-event-add-calendar:focus-visible { background:var(--et-event-accent-hover); border-color:var(--et-event-accent-hover); }

.et-event-quad-info {
  --meta-width:330px;
  --meta-gap-left: clamp(32px,3vw,60px);
  --meta-gap-top:10px;
  --meta-overlap-up:0px;
  --_card-width: clamp(640px, var(--card-width-percent), 960px);
  position:absolute;
  top:250px;
  left:calc( ((var(--colW) * 1.5) + var(--quad-gap)) + (var(--_card-width)/2) + var(--meta-gap-left) );
  width:var(--meta-width);
  max-width:100%;
  margin:0;
  padding:0;
  z-index:45;
}
.et-event-meta-standalone { position:relative; }
.et-event-meta-grid {
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:1fr 1fr; gap:26px 54px;
  font-size:15px; line-height:1.35;
}
.et-event-meta-grid .meta-full { grid-column:1 / -1; }
.et-event-meta-label {
  font-size:13px; font-weight:600; letter-spacing:.4px; color:var(--et-event-accent); margin:0 0 4px; display:block;
}
.et-event-meta-value a {
  color:inherit; text-decoration:none; border-bottom:1px solid rgba(31,89,249,.25); white-space:nowrap;
}
.et-event-meta-value a:hover { color:var(--et-event-accent); border-color:var(--et-event-accent); }
.et-event-meta-address { font-size:12px; color:#666; line-height:1.3; }

/* CONTENT & TAGS */
.et-event-content {
  font-size:16px; line-height:1.65; color:#555;
  margin-bottom:clamp(70px,8vw,120px);
}
.et-event-content p { margin:0 0 1.25em; }
.et-event-content h2,
.et-event-content h3 {
  font-weight:600; line-height:1.25; color:#000; margin:2.2em 0 .9em;
}
.et-event-content a {
  color:var(--et-event-accent); text-decoration:underline; text-underline-offset:3px; font-weight:500;
}
.et-event-content a:hover { color:var(--et-event-accent-hover); }

.et-event-tags {
  margin:0 0 clamp(60px,8vw,120px);
  display:flex; gap:14px; flex-wrap:wrap; font-size:14px;
}
.et-event-tags-label { font-weight:600; color:#000; }
.et-event-tags-list { list-style:none; padding:0; margin:0; display:flex; gap:10px; flex-wrap:wrap; }
.et-event-tags-list a {
  display:inline-block; background:#f0f4ff; color:#000; border:1px solid #d2dbec;
  font-size:13px; font-weight:500; padding:8px 14px 9px; border-radius:18px; text-decoration:none; transition:.18s;
}
.et-event-tags-list a:hover { background:var(--et-event-accent); color:#fff; border-color:var(--et-event-accent); }

/* FALLBACK HERO (DETAILS) */
.et-event-fallback-hero { margin-bottom:clamp(60px,7vw,110px); }
.et-event-fallback-thumb {
  width:100%; max-width:900px; margin:0 auto 30px; border-radius:28px; overflow:hidden;
}
.et-event-fallback-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.et-event-fallback-head { max-width:880px; margin:0 auto 24px; text-align:center; }
.et-event-fallback-title { font-size:38px; line-height:1.08; font-weight:600; margin:0 0 16px; }
.et-event-fallback-excerpt { font-size:18px; line-height:1.5; color:#555; margin:0; }

.et-event-single a:focus-visible { outline:2px solid var(--et-event-accent); outline-offset:2px; border-radius:4px; }

/* RESPONSIVE (desktop -> tablet) */
@media (max-width:1200px){
  .et-event-quad-row { --quad-gap:34px; }
  .et-event-quad-info { --meta-width:310px; }
}
@media (max-width:1100px){
  .et-event-quad-row { --quad-gap:32px; }
  .et-event-quad-info { --meta-width:300px; }
}
@media (max-width:1050px){
  .et-event-quad-info {
    position:static;
    width:100%; max-width:100%;
    margin:38px 0 0 0;
  }
  .et-event-meta-grid { gap:24px 40px; }
  .et-event-quad-wrap { padding-bottom:clamp(50px,8vw,110px); }
}
@media (max-width:900px){
  .et-event-quad-row { --quad-gap:28px; }
  .et-event-featured-circle { --circle-size:clamp(200px,32vw,240px); transform:none; }
  .et-event-quad-card { --card-overlap:120px; margin-left:0; } /* stop left calc drifting on tablet */
}

/* Previous mobile rules used 2 columns; replace with a SIMPLE STACK on phones */
@media (max-width:760px){
  .et-event-quad-row {
    grid-template-columns: 1fr;
    --quad-gap:16px;
    --colW: 100%;
    --row-h: auto;
  }
  .et-event-quad-card {
    width:100%;
    max-width:100%;
    margin-top:18px;
    margin-left:0;            /* center inside container */
    --card-overlap:0;         /* no overlap on mobile */
    text-align:center;
  }
  .et-event-quad-card-base {
    padding: clamp(46px, 14vw, 72px) 20px 22px;
  }
  .et-event-featured-circle {
    --circle-size: clamp(180px, 58vw, 240px);
    transform:none;
  }
  .et-event-meta-grid { grid-template-columns:1fr; gap:22px; }
}

/* EXTRA small phones refinements */
@media (max-width:480px){
  .et-event-featured-circle { --circle-size: clamp(160px, 60vw, 220px); }
}

/* Reduce motion */
@media (prefers-reduced-motion:reduce){
  * { transition:none !important; }
}

/* CONTENT inner helpers */
.et-event-content { margin-bottom:clamp(70px,8vw,120px); }
.et-event-content-inner {
  max-width:880px;
  margin:0 auto;
  font-size:16px;
  line-height:1.65;
  color:#555;
}
.et-event-content-inner p { margin:0 0 1.25em; }
.et-event-content-inner h2,
.et-event-content-inner h3 {
  font-weight:600;
  line-height:1.25;
  color:#000;
  margin:2.2em 0 .9em;
}
.et-event-content-inner a {
  color:var(--et-event-accent);
  text-decoration:underline;
  text-underline-offset:3px;
  font-weight:500;
}
.et-event-content-inner a:hover { color:var(--et-event-accent-hover); }

/* FALLBACK DETAILS GRID (dup blocks kept for completeness) */
.et-event-fallback-hero--details {
  margin-bottom:clamp(60px,7vw,110px);
}
.et-event-fallback-details-grid {
  display:grid;
  grid-template-columns:minmax(260px,480px) minmax(0,1fr);
  gap:clamp(42px,5vw,80px);
  align-items:start;
}
@media (max-width:900px){
  .et-event-fallback-details-grid {
    grid-template-columns:1fr;
    gap:36px;
  }
}
.et-event-fallback-thumb {
  margin:0;
  width:100%;
  max-width:none;
  border-radius:18px;
  overflow:hidden;
  aspect-ratio:4/3;
  background:#f2f4f7;
}
.et-event-fallback-thumb img.et-event-featured-img {
  width:100%;height:100%;object-fit:cover;display:block;border-radius:18px;
}
.et-event-fallback-thumb-ph {
  width:100%;height:100%;background:linear-gradient(135deg,#f0f3f6,#d8dde3);border-radius:18px;
}

.et-event-fallback-info-only {
  position:relative;
  font-size:15px;
  line-height:1.5;
  color:#555;
  display:flex;
  flex-direction:column;
  gap:38px;
}

.ef-row {
  display:flex;
  flex-wrap:wrap;
  gap:54px;
}
.ef-row-1 .ef-block,
.ef-row-2 .ef-block {
  flex:1 1 180px;
  min-width:160px;
}
.ef-row-3 .ef-block {
  flex:1 1 100%;
}

.ef-block {
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:15px;
}
.ef-label {
  font-size:18px;
  font-weight:600;
  color:var(--et-event-accent);
  line-height:1.2;
}
.ef-value {
  color:#5d6369;
  font-size:15px;
}
.ef-value a {
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid rgba(31,89,249,.3);
  padding-bottom:1px;
}
.ef-value a:hover {
  color:var(--et-event-accent);
  border-color:var(--et-event-accent);
}

.ef-row-3 { margin-top:8px; }
.ef-location .ef-label { margin-bottom:6px; }

.ef-actions {
  display:flex;
  gap:20px;
  flex-wrap:wrap;
}
.ef-add-calendar {
  background:var(--et-event-accent);
  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  padding:12px 26px 13px;
  border-radius:34px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--et-event-accent);
  transition:.18s;
}
.ef-add-calendar:hover {
  background:var(--et-event-accent-hover);
  border-color:var(--et-event-accent-hover);
}

@media (max-width:640px){
  .ef-row { gap:40px 36px; }
  .ef-label { font-size:17px; }
  .ef-value { font-size:14.5px; }
}

/* COPY TOAST ANIM REUSE */
.et-event-share-copy.is-copied:after,
.et-event-fallback-share-btn.is-copied:after {
  animation:etCopy 1.4s ease forwards;
}

/* (Guard) CONTENT container inside .container */
.et-event-content.container {
  font-size:16px;
  line-height:1.65;
  color:#555;
  margin-bottom:clamp(70px,8vw,120px);
}
/* Prevent full-width blocks from breaking container */
.et-event-content.container .alignfull {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.et-event-content-inner { all:unset; }

/* =========================
   MOBILE-ONLY: TOP LIKE NEWS
   ========================= */

/* Avoid overlapping fixed mobile header (if present) */
@media (max-width: 991.98px) {
  .et-event-top.et-mh-single-top {
    padding-top: calc(var(--mob-hdr-height, 58px) + 16px);
  }
}

/* Rebuild top grid like Single News on small phones */
@media (max-width: 640px) {
  .et-event-top.et-mh-single-top.et-mh-top {
    grid-template-areas:
      "crumb crumb"
      "title logo"
      "tagline tagline"
      "meta meta";
    grid-template-columns: 1fr auto;
    row-gap: 8px;
    padding-bottom: var(--single-mh-gap, 30px);
  }

  /* Breadcrumbs underline strip */
  .et-event-top.et-mh-single-top .et-breadcrumbs {
    grid-area: crumb;
    margin: 0 0 var(--single-mh-gap, 30px);
    position: relative;
    padding-bottom: 10px;
    font-size: 0;
  }
  .et-event-top.et-mh-single-top .et-breadcrumbs::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 140px;
    height: 1px;
    background: linear-gradient(90deg, #d8dde3 0%, #e6e9ee 55%, rgba(230, 233, 238, 0) 100%);
    border-radius: 1px;
  }

  /* Make header transparent to grid so its children place into areas */
  .et-event-top.et-mh-single-top .et-cat-archive-head { display: contents; }

  /* Title area */
  .et-event-top.et-mh-single-top .et-cat-archive-title,
  .et-event-top.et-mh-single-top .et-event-archive-title {
    grid-area: title;
    margin: 0;
    text-align: left;
    align-self: center;
  }

  /* Tagline area */
  .et-event-top.et-mh-single-top .et-event-tagline,
  .et-event-top.et-mh-single-top .et-mediahub-tagline {
    grid-area: tagline;
    margin: 6px 0 0;
    max-width: 100%;
  }

  /* Meta area */
  .et-event-top.et-mh-single-top .et-event-article-meta {
    grid-area: meta;
    margin-top: 10px;
    gap: 12px 18px;
  }

  /* Logo (not used on events, but keep parity) */
  .et-event-top.et-mh-single-top .et-mh-logo-wrap {
    grid-area: logo;
    width: 90px;
    justify-self: end;
    display: none !important;
  }
}

/* Share row parity on small screens (same as news) */
@media (max-width: 680px) {
  .et-event-share-inline {
    margin-left: 0;
    justify-content: flex-start;
    order: 99;
    width: 100%;
    gap: 10px;
  }
  .et-mh-share-btn { width: 40px; height: 40px; }
}