/* ==========================================================
   Event Country — Professional Header + Main Upgrade
   Safe visual layer only. Does not depend on broken local images.
   ========================================================== */

:root{
  --ecx-pro-orange:#ff6a00;
  --ecx-pro-orange-2:#ff8a1f;
  --ecx-pro-ink:#101828;
  --ecx-pro-muted:#667085;
  --ecx-pro-line:#e6eaf0;
  --ecx-pro-bg:#f6f7fb;
  --ecx-pro-card:#ffffff;
  --ecx-pro-radius:6px;
  --ecx-pro-shadow:0 18px 55px rgba(16,24,40,.10);
  --ecx-pro-soft-shadow:0 10px 28px rgba(16,24,40,.07);
}

html{
  scroll-behavior:smooth;
}

body{
  background:#f6f7fb;
  color:var(--ecx-pro-ink);
}

/* ===================== PROFESSIONAL HEADER ===================== */

.ecx-header{
  position:sticky !important;
  top:0 !important;
  z-index:99999 !important;
  background:rgba(255,255,255,.96) !important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(230,234,240,.9) !important;
  transition:box-shadow .22s ease,border-color .22s ease,background .22s ease;
}

.ecx-header.ecx-header-scrolled{
  box-shadow:0 10px 32px rgba(16,24,40,.08);
  border-bottom-color:rgba(230,234,240,1) !important;
}

.ecx-header-inner{
  width:min(1220px,calc(100% - 32px)) !important;
  min-height:74px !important;
  margin:0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
}

.ecx-brand{
  display:inline-flex !important;
  align-items:center !important;
  gap:11px !important;
  color:var(--ecx-pro-ink) !important;
  text-decoration:none !important;
  font-weight:950 !important;
  letter-spacing:-.035em !important;
  white-space:nowrap !important;
}

.ecx-brand img{
  width:42px !important;
  height:42px !important;
  object-fit:contain !important;
  border-radius:var(--ecx-pro-radius) !important;
  background:linear-gradient(135deg,#fff4e8,#fff) !important;
  box-shadow:0 8px 18px rgba(255,106,0,.13) !important;
}

.ecx-brand span{
  font-size:1.08rem !important;
}

.ecx-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  flex:1 1 auto !important;
  min-width:0 !important;
}

.ecx-nav a{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  padding:0 12px !important;
  border-radius:var(--ecx-pro-radius) !important;
  color:#334155 !important;
  text-decoration:none !important;
  font-size:.92rem !important;
  font-weight:850 !important;
  letter-spacing:-.01em !important;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}

.ecx-nav a:hover{
  background:#fff3e8 !important;
  color:#c75200 !important;
  transform:translateY(-1px);
}

.ecx-header-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
}

.ecx-header-download-btn,
.ecx-download-btn,
.ecx-header-actions a[href*="download"]{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  padding:0 16px !important;
  border-radius:var(--ecx-pro-radius) !important;
  background:linear-gradient(135deg,var(--ecx-pro-orange),var(--ecx-pro-orange-2)) !important;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:950 !important;
  box-shadow:0 14px 28px rgba(255,106,0,.22) !important;
  border:0 !important;
}

.ecx-header-icon{
  width:42px !important;
  height:42px !important;
  border-radius:var(--ecx-pro-radius) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff !important;
  border:1px solid var(--ecx-pro-line) !important;
  color:var(--ecx-pro-ink) !important;
  text-decoration:none !important;
  box-shadow:0 8px 20px rgba(16,24,40,.05) !important;
}

.ecx-menu-btn{
  width:44px !important;
  height:44px !important;
  border-radius:var(--ecx-pro-radius) !important;
  border:1px solid var(--ecx-pro-line) !important;
  background:#fff !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:column !important;
  gap:5px !important;
  cursor:pointer !important;
  box-shadow:0 8px 20px rgba(16,24,40,.05) !important;
}

.ecx-menu-btn span{
  width:18px !important;
  height:2px !important;
  display:block !important;
  background:#101828 !important;
  border-radius:99px !important;
  transition:transform .18s ease,opacity .18s ease;
}

body.ecx-mobile-menu-open .ecx-menu-btn span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}
body.ecx-mobile-menu-open .ecx-menu-btn span:nth-child(2){
  opacity:0;
}
body.ecx-mobile-menu-open .ecx-menu-btn span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

.ecx-mobile-menu{
  width:min(1220px,calc(100% - 32px)) !important;
  margin:0 auto 14px !important;
  padding:12px !important;
  display:none !important;
  background:#fff !important;
  border:1px solid var(--ecx-pro-line) !important;
  border-radius:var(--ecx-pro-radius) !important;
  box-shadow:var(--ecx-pro-shadow) !important;
}

body.ecx-mobile-menu-open .ecx-mobile-menu,
.ecx-mobile-menu.is-open{
  display:grid !important;
  gap:7px !important;
}

.ecx-mobile-menu a{
  min-height:44px !important;
  display:flex !important;
  align-items:center !important;
  padding:0 12px !important;
  border-radius:var(--ecx-pro-radius) !important;
  color:#1f2937 !important;
  text-decoration:none !important;
  font-weight:850 !important;
}

.ecx-mobile-menu a:hover{
  background:#fff3e8 !important;
  color:#c75200 !important;
}

/* ===================== PROFESSIONAL HOME MAIN / HERO ===================== */

.ecx-hero,
.ecx-home-hero{
  position:relative !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 12% 12%,rgba(255,106,0,.18),transparent 30%),
    radial-gradient(circle at 88% 8%,rgba(255,180,90,.18),transparent 30%),
    linear-gradient(180deg,#fff 0%,#f6f7fb 100%) !important;
}

.ecx-hero::before,
.ecx-home-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:auto -10% -120px -10% !important;
  height:240px !important;
  background:rgba(255,255,255,.78) !important;
  transform:rotate(-2deg) !important;
  pointer-events:none !important;
}

.ecx-hero-inner,
.ecx-home-hero-inner{
  position:relative !important;
  z-index:1 !important;
  width:min(1220px,calc(100% - 32px)) !important;
  margin:0 auto !important;
  padding:54px 0 44px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.04fr) minmax(340px,.86fr) !important;
  align-items:center !important;
  gap:30px !important;
}

.ecx-hero-copy,
.ecx-home-hero-copy{
  animation:ecxProLift .55s ease both;
}

.ecx-hero-copy h1,
.ecx-home-hero-copy h1,
.ecx-hero h1{
  max-width:780px !important;
  margin:0 0 18px !important;
  color:#101828 !important;
  font-size:clamp(2.6rem,6vw,5.8rem) !important;
  line-height:.94 !important;
  letter-spacing:-.075em !important;
  font-weight:1000 !important;
}

.ecx-hero-copy p,
.ecx-home-hero-copy p,
.ecx-hero p{
  max-width:690px !important;
  color:#596579 !important;
  font-size:clamp(1rem,1.45vw,1.16rem) !important;
  line-height:1.75 !important;
}

.ecx-kicker,
.ecx-hero-kicker,
.ecx-section-kicker{
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  gap:8px !important;
  margin-bottom:16px !important;
  padding:8px 12px !important;
  border-radius:var(--ecx-pro-radius) !important;
  background:#fff3e8 !important;
  color:#c75200 !important;
  font-size:.78rem !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  border:1px solid rgba(255,106,0,.13) !important;
}

.ecx-hero-actions,
.ecx-home-hero-actions{
  margin-top:26px !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
}

.ecx-hero-actions a,
.ecx-home-hero-actions a{
  min-height:48px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 18px !important;
  border-radius:var(--ecx-pro-radius) !important;
  text-decoration:none !important;
  font-weight:950 !important;
}

.ecx-hero-actions a:first-child,
.ecx-home-hero-actions a:first-child{
  background:linear-gradient(135deg,var(--ecx-pro-orange),var(--ecx-pro-orange-2)) !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(255,106,0,.24) !important;
}

.ecx-hero-actions a:last-child,
.ecx-home-hero-actions a:last-child{
  background:#fff !important;
  color:#101828 !important;
  border:1px solid var(--ecx-pro-line) !important;
  box-shadow:var(--ecx-pro-soft-shadow) !important;
}

.ecx-hero-media,
.ecx-hero-visual,
.ecx-hero-image-wrap{
  animation:ecxProLift .7s ease both;
}

.ecx-hero-image,
#ecxHeroImage{
  min-height:430px !important;
  border-radius:var(--ecx-pro-radius) !important;
  background-size:cover !important;
  background-position:center !important;
  box-shadow:0 24px 70px rgba(16,24,40,.16) !important;
  border:1px solid rgba(255,255,255,.8) !important;
  overflow:hidden !important;
}

.ecx-search-panel{
  width:min(1220px,calc(100% - 32px)) !important;
  margin:-10px auto 26px !important;
  padding:16px !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid var(--ecx-pro-line) !important;
  border-radius:var(--ecx-pro-radius) !important;
  box-shadow:var(--ecx-pro-shadow) !important;
  backdrop-filter:blur(14px) !important;
}

.ecx-search-panel form,
.ecx-search-row,
.ecx-search-fields{
  display:grid !important;
  grid-template-columns:1.3fr 1fr 1fr auto !important;
  gap:10px !important;
  align-items:center !important;
}

.ecx-search-panel input,
.ecx-search-panel select{
  min-height:48px !important;
  border:1px solid var(--ecx-pro-line) !important;
  border-radius:var(--ecx-pro-radius) !important;
  background:#f9fafb !important;
  color:#101828 !important;
  padding:0 14px !important;
  font-weight:750 !important;
  outline:none !important;
}

.ecx-search-panel input:focus,
.ecx-search-panel select:focus{
  border-color:rgba(255,106,0,.55) !important;
  box-shadow:0 0 0 4px rgba(255,106,0,.10) !important;
  background:#fff !important;
}

.ecx-search-panel button,
.ecx-search-btn{
  min-height:48px !important;
  border:0 !important;
  border-radius:var(--ecx-pro-radius) !important;
  background:linear-gradient(135deg,var(--ecx-pro-orange),var(--ecx-pro-orange-2)) !important;
  color:#fff !important;
  font-weight:950 !important;
  padding:0 18px !important;
  cursor:pointer !important;
  box-shadow:0 14px 28px rgba(255,106,0,.22) !important;
}

.ecx-feature-strip,
.ecx-trust-strip{
  width:min(1220px,calc(100% - 32px)) !important;
  margin:0 auto 36px !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
}

.ecx-feature-strip article,
.ecx-feature-card,
.ecx-trust-strip article{
  padding:18px !important;
  background:#fff !important;
  border:1px solid var(--ecx-pro-line) !important;
  border-radius:var(--ecx-pro-radius) !important;
  box-shadow:var(--ecx-pro-soft-shadow) !important;
}

.ecx-section,
.ecx-main-section{
  width:min(1220px,calc(100% - 32px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.ecx-section-head,
.ecx-section-title{
  display:flex !important;
  align-items:end !important;
  justify-content:space-between !important;
  gap:18px !important;
  margin:30px 0 18px !important;
}

.ecx-section-head h2,
.ecx-section-title h2{
  margin:0 !important;
  color:#101828 !important;
  font-size:clamp(1.8rem,3vw,3rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.045em !important;
  font-weight:1000 !important;
}

.ecx-card-grid,
.ecx-events-grid,
.ecx-tours-grid,
.ecx-grid,
[data-ec-tour-grid]{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}

.ecx-card,
.ecx-event-card,
.ecx-tour-card,
.event-card,
.tour-card,
.ecx-blog-card{
  border-radius:var(--ecx-pro-radius) !important;
  background:#fff !important;
  border:1px solid var(--ecx-pro-line) !important;
  box-shadow:var(--ecx-pro-soft-shadow) !important;
  overflow:hidden !important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease !important;
}

.ecx-card:hover,
.ecx-event-card:hover,
.ecx-tour-card:hover,
.event-card:hover,
.tour-card:hover,
.ecx-blog-card:hover{
  transform:translateY(-4px) !important;
  border-color:rgba(255,106,0,.22) !important;
  box-shadow:0 22px 55px rgba(16,24,40,.13) !important;
}

.ecx-card img,
.ecx-event-card img,
.ecx-tour-card img,
.event-card img,
.tour-card img{
  width:100% !important;
  aspect-ratio:16/11 !important;
  object-fit:cover !important;
  display:block !important;
}

@keyframes ecxProLift{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}

/* ===================== RESPONSIVE ===================== */

@media (max-width:1100px){
  .ecx-nav{
    display:none !important;
  }

  .ecx-menu-btn{
    display:inline-flex !important;
  }

  .ecx-hero-inner,
  .ecx-home-hero-inner{
    grid-template-columns:1fr !important;
    padding-top:38px !important;
  }

  .ecx-hero-image,
  #ecxHeroImage{
    min-height:360px !important;
  }

  .ecx-search-panel form,
  .ecx-search-row,
  .ecx-search-fields{
    grid-template-columns:1fr 1fr !important;
  }

  .ecx-card-grid,
  .ecx-events-grid,
  .ecx-tours-grid,
  .ecx-grid,
  [data-ec-tour-grid]{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:720px){
  .ecx-header-inner{
    width:min(100% - 24px,1220px) !important;
    min-height:66px !important;
  }

  .ecx-brand span{
    font-size:1rem !important;
  }

  .ecx-header-download-btn,
  .ecx-download-btn,
  .ecx-header-actions a[href*="download"]{
    display:none !important;
  }

  .ecx-hero-inner,
  .ecx-home-hero-inner,
  .ecx-search-panel,
  .ecx-feature-strip,
  .ecx-section,
  .ecx-main-section{
    width:min(100% - 24px,1220px) !important;
  }

  .ecx-hero-copy h1,
  .ecx-home-hero-copy h1,
  .ecx-hero h1{
    font-size:clamp(2.35rem,12vw,3.7rem) !important;
    letter-spacing:-.065em !important;
  }

  .ecx-search-panel form,
  .ecx-search-row,
  .ecx-search-fields{
    grid-template-columns:1fr !important;
  }

  .ecx-feature-strip,
  .ecx-card-grid,
  .ecx-events-grid,
  .ecx-tours-grid,
  .ecx-grid,
  [data-ec-tour-grid]{
    grid-template-columns:1fr !important;
  }

  .ecx-hero-image,
  #ecxHeroImage{
    min-height:280px !important;
  }
}
