/* ==========================================================================
   EMDC Conferences Theme — Design System
   Ported from the emdcon.org homepage/about.html mockups.
   All selectors are prefixed "emdc-" to avoid collisions with Neve's own
   classes or other plugins active on the network.
   ========================================================================== */

:root{
  --emdc-black:#111827;
  --emdc-orange:#EA580C;
  --emdc-orange-dark:#C2410C;
  --emdc-orange-tint:#FFF1E9;
  --emdc-bg:#F9FAFB;
  --emdc-gray-light:#D2D5DA;
  --emdc-gray-dark:#6D7280;
  --emdc-white:#FFFFFF;
  --emdc-radius:14px;
  --emdc-max:1180px;
}

/* ---------- Base ---------- */
body{
  font-family:'DM Sans', sans-serif;
  color:var(--emdc-black);
  background:var(--emdc-bg);
  line-height:1.6;
}
.emdc-wrap{max-width:var(--emdc-max);margin:0 auto;padding:0 24px;}
.emdc-eyebrow{
  color:var(--emdc-orange-dark);font-weight:700;font-size:0.78rem;
  letter-spacing:2.2px;text-transform:uppercase;margin:0 0 10px;
}
.emdc-section-title{font-size:clamp(1.5rem, 2.8vw, 2.1rem);font-weight:900;margin:0 0 16px;letter-spacing:-0.4px;}

/* ---------- Buttons ---------- */
.emdc-btn, .wp-block-button.emdc-btn-white .wp-block-button__link{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-weight:700;font-size:0.95rem;
  padding:12px 26px;border-radius:999px;
  border:2px solid transparent;
  transition:transform .15s ease, background .2s ease, color .2s ease, border-color .2s ease;
  cursor:pointer;text-decoration:none;
}
.emdc-btn-solid{background:var(--emdc-orange);color:var(--emdc-white);}
.emdc-btn-solid:hover{background:var(--emdc-orange-dark);transform:translateY(-2px);color:var(--emdc-white);}
.emdc-btn-outline{background:transparent;color:var(--emdc-black);border-color:var(--emdc-gray-light);}
.emdc-btn-outline:hover{border-color:var(--emdc-orange);color:var(--emdc-orange-dark);transform:translateY(-2px);}
.emdc-btn-outline-onhero{border-color:rgba(255,255,255,0.55);color:#fff;}
.emdc-btn-white, .wp-block-button.emdc-btn-white .wp-block-button__link{background:var(--emdc-white);color:var(--emdc-orange-dark);}
.emdc-btn-white:hover, .wp-block-button.emdc-btn-white .wp-block-button__link:hover{background:var(--emdc-black);color:var(--emdc-white);transform:translateY(-2px);}

/* ---------- Header / Nav ---------- */
.emdc-site-header{
  background:var(--emdc-orange);
  position:sticky;top:0;z-index:50;
  box-shadow:0 2px 14px rgba(17,24,39,0.12);
}
.emdc-nav-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 24px;max-width:var(--emdc-max);margin:0 auto;
  position:relative;
}
.emdc-logo-mark{display:flex;align-items:center;gap:10px;color:var(--emdc-white);text-decoration:none;}
.emdc-logo-mark .emdc-mark{
  width:40px;height:40px;border-radius:10px;background:var(--emdc-white);
  display:flex;align-items:center;justify-content:center;
  font-weight:900;color:var(--emdc-orange);font-size:1.05rem;
}
.emdc-logo-img{display:flex;align-items:center;justify-content:center;background:var(--emdc-white);border-radius:10px;padding:4px;width:40px;height:40px;}
.emdc-logo-img img{max-width:100%;max-height:100%;object-fit:contain;}
.emdc-word{font-weight:900;font-size:1.35rem;letter-spacing:0.5px;display:block;color:var(--emdc-white);}
.emdc-tag{display:block;font-size:0.68rem;font-weight:500;color:#FFE4D3;letter-spacing:2px;text-transform:uppercase;}

.emdc-primary-nav{display:flex;align-items:center;gap:22px;}
.emdc-primary-nav ul{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0;} /* safety net if a <ul> wrapper ever reappears */
.emdc-primary-nav .emdc-nav-item{position:relative;}
.emdc-primary-nav .emdc-nav-item > a{
  display:inline-flex;align-items:center;gap:4px;
  color:var(--emdc-white);font-weight:700;font-size:0.92rem;
  padding:8px 2px;border-bottom:2px solid transparent;
  transition:border-color .2s ease, opacity .2s ease;
  text-decoration:none;
}
.emdc-primary-nav .emdc-nav-item > a:hover,
.emdc-primary-nav .emdc-nav-item:hover > a{border-bottom-color:var(--emdc-white);}
.emdc-caret{width:9px;height:9px;stroke:var(--emdc-white);stroke-width:2.5;margin-top:2px;transition:transform .15s ease;}
.emdc-primary-nav .emdc-nav-item:hover .emdc-caret{transform:rotate(180deg);}

.emdc-dropdown{
  display:none;position:absolute;top:100%;left:0;
  background:var(--emdc-white);min-width:250px;
  border-radius:10px;box-shadow:0 18px 34px rgba(17,24,39,0.16);
  padding:10px;margin-top:12px;
  border:1px solid var(--emdc-gray-light);
  z-index:60;
}
.emdc-nav-item:hover .emdc-dropdown{display:block;}
.emdc-dropdown a{
  display:block;color:var(--emdc-black);font-weight:500;font-size:0.88rem;
  padding:9px 12px;border-radius:7px;white-space:nowrap;text-decoration:none;
}
.emdc-dropdown a:hover{background:var(--emdc-orange-tint);color:var(--emdc-orange-dark);}

.emdc-nav-toggle{display:none;background:none;border:0;color:var(--emdc-white);font-size:1.6rem;cursor:pointer;}

@media (max-width:680px){
  .emdc-primary-nav{
    position:absolute;top:100%;left:0;right:0;background:var(--emdc-orange-dark);
    flex-direction:column;align-items:flex-start;padding:18px 24px;gap:6px;
    display:none;
  }
  .emdc-primary-nav.emdc-nav-open{display:flex;}
  .emdc-primary-nav ul{flex-direction:column;align-items:flex-start;gap:6px;}
  .emdc-primary-nav .emdc-nav-item{width:100%;}
  .emdc-primary-nav .emdc-nav-item > a{width:100%;justify-content:space-between;padding:10px 2px;}
  .emdc-dropdown{
    display:none;position:static;box-shadow:none;border:0;background:rgba(0,0,0,0.12);
    margin:0 0 6px;width:100%;
  }
  .emdc-nav-item-open .emdc-dropdown{display:block;}
  .emdc-nav-item:hover .emdc-dropdown{display:none;}
  .emdc-nav-item-open:hover .emdc-dropdown{display:block;}
  .emdc-dropdown a{color:#fff;}
  .emdc-dropdown a:hover{background:rgba(255,255,255,0.14);color:#fff;}
  .emdc-nav-toggle{display:block;}
}

/* ---------- Homepage Hero ---------- */
.emdc-hero{
  background:linear-gradient(180deg, var(--emdc-orange) 0%, #D9500A 100%);
  color:var(--emdc-white);
  padding:56px 24px 68px;
  text-align:center;
}
.emdc-hero-logo{
  display:inline-flex;background:var(--emdc-white);border-radius:22px;padding:16px;
  box-shadow:0 18px 40px rgba(0,0,0,0.18);margin-bottom:24px;
}
.emdc-hero-logo img{width:88px;height:88px;display:block;object-fit:contain;}
.emdc-hero-eyebrow{color:#FFE4D3;}
.emdc-hero h1{font-size:clamp(2rem, 4.4vw, 3.1rem);font-weight:900;margin:0 0 14px;letter-spacing:-0.5px;color:var(--emdc-white);}
.emdc-hero p{max-width:640px;margin:0 auto 28px;font-size:1.05rem;color:#FFE9DC;}
.emdc-hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:36px;}
.emdc-hero-network{display:flex;align-items:center;max-width:520px;margin:0 auto 8px;padding:0 2px;}
.emdc-hero-network .emdc-node{width:10px;height:10px;border-radius:50%;background:var(--emdc-white);opacity:0.9;}
.emdc-hero-network .emdc-line{flex:1;height:2px;background:repeating-linear-gradient(90deg, rgba(255,255,255,0.85) 0 6px, transparent 6px 12px);margin:0 6px;}
.emdc-hero-network-labels{display:flex;justify-content:space-between;max-width:520px;margin:0 auto;padding:0 2px;}
.emdc-hero-network-labels .emdc-lbl{font-size:0.7rem;letter-spacing:2px;color:#FFE4D3;text-transform:uppercase;font-weight:700;}

/* ---------- Interior Page Hero (breadcrumb style) ---------- */
.emdc-page-hero{
  background:linear-gradient(180deg, var(--emdc-orange) 0%, #D9500A 100%);
  color:var(--emdc-white);
  padding:48px 24px 56px;
}
.emdc-page-hero-inner{
  max-width:var(--emdc-max);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:40px;
}
.emdc-page-hero-copy{flex:1;text-align:center;}
.emdc-crumb{font-size:0.82rem;color:#FFE4D3;margin-bottom:14px;}
.emdc-crumb a{font-weight:700;color:#FFE4D3;text-decoration:none;}
.emdc-crumb a:hover{text-decoration:underline;}
.emdc-page-hero h1{font-size:clamp(1.9rem, 4vw, 2.7rem);font-weight:900;margin:0 0 14px;letter-spacing:-0.5px;color:var(--emdc-white);}
.emdc-page-hero p{max-width:640px;margin:0 auto;font-size:1.05rem;color:#FFE9DC;font-weight:400;}
.emdc-page-hero-logo{
  flex-shrink:0;background:var(--emdc-white);border-radius:24px;padding:18px;
  box-shadow:0 18px 40px rgba(0,0,0,0.18);
}
.emdc-page-hero-logo img{width:132px;height:132px;display:block;object-fit:contain;}
@media (max-width:820px){
  .emdc-page-hero-inner{flex-direction:column;text-align:center;}
  .emdc-page-hero-logo{order:-1;}
}

/* ---------- Interior page content (block editor output) ---------- */
.emdc-page-content{padding:56px 0;}
.emdc-page-content h2{font-size:1.7rem;font-weight:900;margin:36px 0 14px;}
.emdc-page-content h3{font-size:1.3rem;font-weight:900;margin:28px 0 12px;}
.emdc-page-content p{color:var(--emdc-gray-dark);font-size:1.02rem;margin-bottom:16px;}
.emdc-page-content a{color:var(--emdc-orange-dark);font-weight:700;}

/* ---------- Callouts (Vision / Ethos style) ---------- */
.emdc-callout{
  background:var(--emdc-black);color:var(--emdc-white);border-radius:20px;
  padding:36px 40px;position:relative;overflow:hidden;margin:20px 0;
}
.emdc-callout::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 85% 0%, rgba(234,88,12,0.35), transparent 55%);
}
.emdc-callout p{position:relative;font-size:1.15rem;font-weight:700;line-height:1.5;margin:0;color:var(--emdc-white);}
.emdc-callout-label{position:relative;color:#FFB08A;font-size:0.78rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;}

/* ---------- Card grids (speakers / sponsors block patterns) ---------- */
.emdc-card-grid{display:grid;gap:22px;margin:28px 0;}
.emdc-card-grid-3{grid-template-columns:repeat(3, 1fr);}
.emdc-card-grid-4{grid-template-columns:repeat(4, 1fr);}
.emdc-card{
  background:var(--emdc-white);border:1px solid var(--emdc-gray-light);border-radius:var(--emdc-radius);
  padding:22px;text-align:center;
}
.emdc-card-photo img{border-radius:50%;width:110px;height:110px;object-fit:cover;margin:0 auto 14px;}
.emdc-card h4{margin:0 0 4px;font-size:1.05rem;font-weight:900;}
.emdc-card-meta{color:var(--emdc-gray-dark);font-size:0.88rem;margin:0;}
.emdc-sponsor-logo{
  background:var(--emdc-white);border:1px solid var(--emdc-gray-light);border-radius:var(--emdc-radius);
  padding:24px;display:flex;align-items:center;justify-content:center;
}
.emdc-sponsor-logo img{max-width:100%;max-height:60px;object-fit:contain;}
@media (max-width:900px){
  .emdc-card-grid-3, .emdc-card-grid-4{grid-template-columns:repeat(2, 1fr);}
}
@media (max-width:600px){
  .emdc-card-grid-3, .emdc-card-grid-4{grid-template-columns:1fr;}
}

/* ---------- Schedule pattern ---------- */
.emdc-schedule-day{
  background:var(--emdc-bg);border:1px solid var(--emdc-gray-light);border-radius:var(--emdc-radius);
  padding:28px 30px;margin-bottom:20px;
}
.emdc-schedule-day h3{margin-top:0;}
.emdc-schedule-row{
  display:flex;gap:20px;padding:14px 0;border-top:1px solid var(--emdc-gray-light);
}
.emdc-schedule-row:first-of-type{border-top:none;}
.emdc-schedule-time{
  flex:0 0 160px;font-weight:700;color:var(--emdc-orange-dark);margin:0;font-size:0.9rem;
}
.emdc-schedule-detail{margin:0;color:var(--emdc-gray-dark);}
@media (max-width:600px){
  .emdc-schedule-row{flex-direction:column;gap:4px;}
}

/* ---------- CTA band (Registration pattern) ---------- */
.emdc-cta-band{
  background:linear-gradient(180deg, var(--emdc-orange) 0%, #D9500A 100%);
  color:var(--emdc-white);text-align:center;padding:56px 24px;border-radius:var(--emdc-radius);margin:36px 0;
}
.emdc-cta-band h2{margin:0 0 12px;color:var(--emdc-white);}
.emdc-cta-band p{margin:0 0 26px;color:#FFE9DC;}

/* ---------- Footer ---------- */
.emdc-site-footer{
  background:var(--emdc-black);color:#D1D5DB;padding:44px 24px 26px;
}
.emdc-footer-row{
  max-width:var(--emdc-max);margin:0 auto;
  display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;
}
.emdc-site-footer a{color:#E5E7EB;}
.emdc-footer-logo .emdc-mark{background:var(--emdc-orange);color:#fff;}
.emdc-footer-logo .emdc-word{color:#fff;}
.emdc-footer-tagline{color:#9CA3AF;font-size:0.88rem;margin-top:12px;white-space:nowrap;max-width:100%;}
@media (max-width:900px){
  .emdc-footer-tagline{white-space:normal;max-width:340px;}
}
.emdc-footer-social{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.emdc-footer-social a{
  width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.08);
  display:flex;align-items:center;justify-content:center;
  transition:background .2s ease, transform .2s ease;
}
.emdc-footer-social a:hover{background:var(--emdc-orange);transform:translateY(-2px);}
.emdc-footer-social svg{width:17px;height:17px;}
.emdc-foot-links-list{list-style:none;display:flex;gap:22px;flex-wrap:wrap;font-size:0.9rem;margin:0;padding:0;}
.emdc-foot-links-list a:hover{color:var(--emdc-orange);}
.emdc-foot-bottom{
  max-width:var(--emdc-max);margin:30px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,0.12);
  font-size:0.8rem;color:#9CA3AF;text-align:center;
}
