/* ESY Summit Visual Identity V28 */
:root{
  --summit-bg:#11102a;
  --summit-navy:#1b1a3a;
  --summit-purple:#2a244d;
  --summit-purple-bright:#5b3ea6;
  --summit-teal:#39cda9;
  --summit-teal-dark:#35a995;
  --summit-white:#fefefe;
  --summit-muted:#aab9c4;
  --summit-line:rgba(57,205,169,.24);
  --summit-glass:rgba(27,26,58,.86);
  --summit-shadow:0 24px 70px rgba(4,4,18,.34);
  --navy:var(--summit-navy);
  --orange:var(--summit-teal);
}

html{background:var(--summit-bg)}
body{accent-color:var(--summit-teal)}
::selection{background:var(--summit-teal);color:var(--summit-navy)}

/* Shared brand mark */
.summit-logo-v28,.brand-mark.summit-logo-v28,.footer-mark.summit-logo-v28{
  display:grid!important;place-items:center!important;overflow:hidden!important;
  width:48px!important;height:48px!important;min-width:48px!important;padding:0!important;
  border:1px solid rgba(255,255,255,.16)!important;border-radius:15px!important;
  background:transparent!important;box-shadow:0 10px 30px rgba(0,0,0,.18)!important;
}
.summit-logo-v28 img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.cinematic-brand strong{color:var(--summit-white)!important}
.cinematic-brand small{color:rgba(255,255,255,.62)!important}

/* Public shell and header */
.cinematic-shell,.cinematic-home{background:var(--summit-bg)!important;color:var(--summit-white)}
.cinematic-nav .public-header-inner{
  border-color:var(--summit-line)!important;
  background:linear-gradient(120deg,rgba(27,26,58,.96),rgba(42,36,77,.9))!important;
  box-shadow:0 18px 55px rgba(4,4,18,.38),inset 0 1px rgba(255,255,255,.05)!important;
}
.cinematic-nav.is-scrolled .public-header-inner{background:rgba(20,19,48,.97)!important}
.cinematic-nav .public-nav a{color:#f2f5f7!important}
.cinematic-nav .public-nav a:hover,.cinematic-nav .public-nav a.active{color:var(--summit-teal)!important}
.cinematic-login{border-color:rgba(57,205,169,.34)!important;background:rgba(57,205,169,.08)!important;color:#fff!important}
.cinematic-login:hover{background:var(--summit-teal)!important;color:var(--summit-navy)!important}
.public-menu-toggle{color:#fff!important;border-color:var(--summit-line)!important;background:rgba(255,255,255,.06)!important}

/* Home hero */
.summit-hero{
  background-image:linear-gradient(120deg,rgba(17,16,42,.83),rgba(27,26,58,.74)),url("brand/summit-identity-bg-v28.png")!important;
  background-position:center!important;background-size:cover!important;background-attachment:scroll!important;
}
.summit-hero:before{opacity:.09!important;background-size:72px 72px!important}
.summit-orb-one{border-color:rgba(57,205,169,.45)!important;box-shadow:0 0 120px rgba(57,205,169,.16)!important}
.summit-orb-two{border-color:rgba(119,82,190,.34)!important}
.summit-kicker,.section-number{color:var(--summit-teal)!important}
.summit-title{color:#fff;text-shadow:0 12px 38px rgba(0,0,0,.28)}
.summit-lead{color:#d7e1e6!important}
.summit-button-primary,.btn-accent{
  background:linear-gradient(135deg,var(--summit-teal),var(--summit-teal-dark))!important;
  color:var(--summit-navy)!important;box-shadow:0 12px 30px rgba(57,205,169,.18)!important;
}
.summit-button-primary b{background:var(--summit-navy)!important;color:#fff!important}
.summit-button-ghost{border-color:rgba(255,255,255,.24)!important;background:rgba(255,255,255,.04)!important}
.summit-button-ghost:hover{border-color:var(--summit-teal)!important}
.hero-guest-card,.guest-profile-media{background:linear-gradient(145deg,#453176,#2a244d 50%,#151331)!important}
.hero-guest-card:nth-child(3n+2){background:linear-gradient(145deg,#36c7a6,#1e756e 55%,#153447)!important}
.hero-guest-card>b,.guest-profile-media+b{background:rgba(18,16,46,.9)!important;border-color:var(--summit-line)!important}

/* Public content */
.story-section,.guests-section,.invitation-section{background:var(--summit-bg)!important;color:#fff!important}
.impact-section,.public-soft{background:#171532!important;color:#fff!important}
.story-heading h2,.impact-heading h2,.guests-heading h2,.invitation-card h2{color:#fff!important}
.story-copy p,.guests-heading p,.invitation-card p{color:#bdcbd2!important}
.impact-card{border-color:var(--summit-line)!important;background:linear-gradient(145deg,#211e47,#181633)!important;color:#fff!important}
.impact-card-accent{background:linear-gradient(145deg,#2f786f,#1b4c50 52%,#202044)!important}
.impact-card span,.guest-profile span{color:var(--summit-teal)!important}
.guest-profile h3{color:#fff!important}
.kinetic-strip{background:var(--summit-teal)!important;color:var(--summit-navy)!important}
.invitation-card{border-color:var(--summit-line)!important;background:linear-gradient(140deg,#211e47,#15132f)!important;box-shadow:var(--summit-shadow)}
.summit-dock{border-color:var(--summit-line)!important;background:rgba(25,23,55,.94)!important;box-shadow:var(--summit-shadow)!important}
.summit-dock>a{background:var(--summit-teal)!important;color:var(--summit-navy)!important}
.cinematic-footer,.public-footer{background:#0c0b22!important;border-top:1px solid var(--summit-line)!important}
.cinematic-footer a:hover,.public-footer a:hover{color:var(--summit-teal)!important}

/* Inner public pages */
.public-shell:not(.cinematic-home){background:var(--summit-bg)!important;color:#fff!important}
.public-shell .public-page-heading{background:linear-gradient(145deg,#1b1a3a,#252046)!important;border-bottom-color:var(--summit-line)!important}
.public-page-heading h1,.public-article h1,.public-section-heading h2,.public-intro h2{color:#fff!important}
.public-page-heading p,.public-prose,.public-article-date,.public-result-count,.public-breadcrumb{color:#bdcbd2!important}
.public-section{background:var(--summit-bg)}
.public-story,.public-values>article,.public-contact-grid article,.public-filters,.public-empty{
  background:#201d43!important;border-color:var(--summit-line)!important;color:#fff!important;
}
.public-story h3,.public-values h2,.public-contact-grid h2{color:#fff!important}
.public-story p,.public-values p,.public-contact-grid p{color:#bdcbd2!important}
.public-story-meta>span,.public-values span,.public-contact-grid article>span,.public-kicker{color:var(--summit-teal)!important}
.story-read{border-color:rgba(255,255,255,.1)!important}
.public-contact-band{background:linear-gradient(135deg,#27234e,#164942)!important;border:1px solid var(--summit-line)}

/* Forms, booking and company registration */
.page-shell,.booking-page,.company-page,.forms-page,.summit-form-page{background:var(--summit-bg)!important;color:#fff!important}
.panel,.card,.form-card,.booking-card,.company-card,.summit-form-card,fieldset{
  border-color:var(--summit-line)!important;
}
.form-card,.company-card,.summit-form-card,.booking-card,.booking-shell,.seat-map-shell{
  background:linear-gradient(150deg,#211e47,#17152f)!important;color:#fff!important;box-shadow:var(--summit-shadow)!important;
}
.page-heading h1,.form-card h1,.form-card h2,.company-card h1,.summit-form-card h1,.summit-form-card h2,
.booking-card h1,.booking-card h2,fieldset legend{color:#fff!important}
.page-heading p,.form-intro,.form-note,.field-help{color:#bdcbd2!important}
label,.field>span,.form-grid label,fieldset label{color:#f3f6f8!important}
input:not([type="checkbox"]):not([type="radio"]),select,textarea{
  background:#fff!important;color:#14132f!important;border:1px solid #d8e1e5!important;
  box-shadow:none!important;
}
input::placeholder,textarea::placeholder{color:#69757f!important}
input:focus,select:focus,textarea:focus{border-color:var(--summit-teal)!important;box-shadow:0 0 0 4px rgba(57,205,169,.17)!important;outline:0}
select option{color:#14132f;background:#fff}
.form-progress span.active,.step-indicator .active{background:var(--summit-teal)!important;color:var(--summit-navy)!important}
.form-actions,.dialog-footer{border-color:rgba(255,255,255,.1)!important}
.btn-primary{background:var(--summit-navy)!important;color:#fff!important;border:1px solid var(--summit-line)!important}
.btn-outline,.btn-ghost{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.22)!important}
.btn-outline:hover,.btn-ghost:hover{border-color:var(--summit-teal)!important;color:var(--summit-teal)!important}
.form-message.success,.alert-success{background:rgba(57,205,169,.13)!important;color:#bdfbea!important;border-color:rgba(57,205,169,.3)!important}
.form-message.error,.alert-error{background:rgba(239,68,68,.13)!important;color:#fecaca!important;border-color:rgba(239,68,68,.3)!important}

/* Booking map keeps its familiar shapes while adopting the palette */
.stage,.booking-stage{background:linear-gradient(135deg,#2a244d,#1b1a3a)!important;color:#fff!important;border-color:var(--summit-line)!important}
.seat-block:not(.is-booked):not(.booked),.booking-block:not(.is-booked):not(.booked){background:#39a98d!important;color:#0f1530!important;border-color:#55d5b6!important}
.seat-block.is-booked,.seat-block.booked,.booking-block.is-booked,.booking-block.booked{background:#653d78!important;color:#fff!important;border-color:#805394!important}

/* Authentication */
.auth-page{background:radial-gradient(circle at 20% 18%,rgba(57,205,169,.16),transparent 28%),var(--summit-bg)!important}
.auth-side{background:linear-gradient(145deg,#1b1a3a,#2a244d)!important}
.auth-side:after{background:var(--summit-teal)!important}
.auth-main{background:transparent!important}
.auth-card,.signup-card{border-color:var(--summit-line)!important;box-shadow:var(--summit-shadow)!important}
.auth-heading h2,.signup-card h2{color:var(--summit-navy)!important}
.auth-card label,.signup-card label{color:#30384a!important}
.auth-card .summit-logo-v28{margin-bottom:16px}

/* Dashboard: preserve high-contrast tables and controls */
.dashboard .sidebar{background:linear-gradient(180deg,#1b1a3a,#11102a)!important;border-left:1px solid var(--summit-line)}
.dashboard .side-nav a{color:#e9f0f3!important}
.dashboard .side-nav a:hover,.dashboard .side-nav a.active{background:rgba(57,205,169,.13)!important;color:var(--summit-teal)!important}
.dashboard .dash-main{background:#f4f7f8!important}
.dashboard .dash-header{background:rgba(255,255,255,.92)!important;border-bottom-color:#dce5e8!important}
.dashboard .dash-content{color:#17203a}
.dashboard .panel,.dashboard .card,.dashboard .table-wrap{background:#fff!important;color:#17203a!important;border-color:#dce5e8!important}
.dashboard label,.dashboard .field>span{color:#30384a!important}
.dashboard .btn-primary{background:var(--summit-navy)!important}
.dashboard .btn-accent{color:var(--summit-navy)!important}

/* Consistent focus and scrollbars */
a:focus-visible,button:focus-visible{outline:3px solid var(--summit-teal)!important;outline-offset:3px}
*{scrollbar-color:var(--summit-teal) var(--summit-bg)}

@media(max-width:1050px){
  .cinematic-nav .public-nav{background:rgba(20,19,48,.985)!important;border-color:var(--summit-line)!important}
}
@media(max-width:760px){
  .summit-logo-v28,.brand-mark.summit-logo-v28{width:43px!important;height:43px!important;min-width:43px!important;border-radius:13px!important}
  .cinematic-nav .public-header-inner{padding:8px!important}
  .summit-hero{background-position:58% center!important}
  .summit-title{line-height:1.12!important}
  .public-shell .public-page-heading{padding-top:120px!important}
  .form-card,.company-card,.summit-form-card,.booking-card{border-radius:20px!important}
}
@media(max-width:460px){
  .cinematic-brand strong{font-size:12px!important}
  .summit-logo-v28,.brand-mark.summit-logo-v28{width:40px!important;height:40px!important;min-width:40px!important}
  .summit-button{width:100%;justify-content:space-between}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

