/* ---------- Contact & RFQ page ---------- */
.ene-contact-hero .ene-contact-hero__content { max-width: 780px; }
.ene-contact-hero__title { font-size: clamp(32px, 4vw, 54px); line-height: 1.12; }
.ene-contact-hero__title span { display: block; text-wrap: balance; }

/* Channels */
.ene-contact-channels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.ene-contact-panel {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: clamp(24px, 3vw, 36px);
}
.ene-contact-panel:hover { transform: none; }

.ene-contact-panel__title {
  font-family: var(--font-serif);
  font-size: clamp(26px, 2.6vw, 32px);
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-primary);
}
.ene-contact-panel__title--lg { font-size: clamp(30px, 3.2vw, 40px); }
.ene-contact-panel__title .ene-line { display: block; }

.ene-contact-direct {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-block-start: 14px;
}

.ene-contact-direct__item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 18px;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  background: var(--color-ivory);
  color: inherit;
  text-decoration: none;
  transition: border-color 300ms var(--ease), box-shadow 300ms var(--ease), transform 300ms var(--ease);
}
.ene-contact-direct__item:hover {
  border-color: var(--color-gold-light);
  box-shadow: var(--shadow-card);
  transform: translateY(-2px);
}
.ene-contact-direct__item:focus-visible { outline: 2px solid var(--color-gold); outline-offset: 2px; }

.ene-contact-direct__icon {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 999px;
  background: var(--color-gold-soft);
  color: var(--color-gold);
}

.ene-contact-direct__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ene-contact-direct__title { font-weight: 700; color: var(--color-primary); }
.ene-contact-direct__desc { font-size: 14px; line-height: 1.5; color: var(--color-text-muted); }
.ene-contact-direct__email {
  margin-block-start: 4px;
  font-weight: 700;
  color: var(--color-primary);
  overflow-wrap: anywhere;
  text-align: start;
}

.ene-contact-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-block-start: 10px;
}

.ene-contact-detail {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-ivory);
}
.ene-contact-detail > span:last-child { display: flex; flex-direction: column; gap: 2px; }

.ene-contact-detail__num {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: var(--color-gold-soft);
  font-size: 12px;
  font-weight: 700;
  color: var(--color-primary);
}
.ene-contact-detail__title { font-size: 14px; font-weight: 700; color: var(--color-primary); }
.ene-contact-detail__desc { font-size: 13px; line-height: 1.45; color: var(--color-text-muted); }

/* Follow-up steps */
.ene-contact-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  margin-block-start: clamp(32px, 4vw, 48px);
  text-align: center;
}
.ene-contact-steps::before {
  content: "";
  position: absolute;
  inset-block-start: 24px;
  inset-inline: 12.5%;
  height: 1px;
  background: var(--color-border-strong);
}

.ene-contact-step { position: relative; display: flex; flex-direction: column; align-items: center; }

.ene-contact-step__marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 4px solid var(--color-mist);
  border-radius: 999px;
  background: var(--color-gold-soft);
  box-shadow: 0 0 0 1px var(--color-gold-light);
  font-size: 14px;
  font-weight: 700;
  color: var(--color-primary);
}
.ene-contact-step__title {
  margin-block-start: 16px;
  font-family: var(--font-serif);
  font-size: var(--text-h3);
  font-weight: 700;
  color: var(--color-primary);
}
.ene-contact-step__text {
  margin-block-start: 6px;
  max-width: 230px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-text-muted);
}

.ene-contact-routes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-block-start: clamp(36px, 4vw, 52px);
}
.ene-contact-routes > li { display: flex; }

.ene-contact-route {
  display: flex;
  flex: 1;
  align-items: flex-start;
  gap: 18px;
  padding: clamp(22px, 2.6vw, 30px);
}
.ene-contact-route__body { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.ene-contact-route__body .ene-btn { margin-block-start: 6px; }

/* RFQ intro + thumbnail selections */
.ene-rfq__intro {
  margin-block-start: 8px;
  max-width: 640px;
  line-height: 1.6;
  color: var(--color-text-muted);
}
.ene-rfq__chosen-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

@media (max-width: 1023px) {
  .ene-contact-channels,
  .ene-contact-routes { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767px) {
  .ene-contact-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 36px; }
  .ene-contact-steps::before { display: none; }
  .ene-rfq__chosen-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 599px) {
  .ene-contact-details { grid-template-columns: minmax(0, 1fr); }
  .ene-contact-steps { grid-template-columns: minmax(0, 1fr); }
  .ene-contact-route { flex-direction: column; }
  .ene-contact-direct__item { padding: 14px; gap: 12px; }
  .ene-contact-direct__icon { width: 44px; height: 44px; }
}
/* WordPress adaptation: all presentation overrides are confined to Contact/RFQ. */
body.ene-site .ene-contact-page{font-family:var(--font-sans);color:var(--color-text);background:var(--color-cream)}
body.ene-site .ene-contact-page :is(h1,h2,h3){font-family:var(--font-serif);color:var(--color-primary);line-height:1.2}
.ene-contact-page :is(h1,h2,h3,p){margin:0}
.ene-contact-page .ene-section{border:0}
.ene-contact-page .ene-eyebrow{font:700 12px/1.5 var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--color-gold);margin-bottom:10px}
.ene-contact-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(430px,38vw,610px);overflow:hidden}
.ene-contact-hero__bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.ene-contact-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(249,245,233,.96),rgba(249,245,233,.84) 36%,rgba(249,245,233,.18) 75%,transparent)}
.ene-contact-hero__inner{padding-block:clamp(56px,7vw,100px)}
body.ene-site .ene-contact-hero h1{font-size:clamp(36px,4.5vw,64px);max-width:19ch;line-height:1.12;margin:0;text-wrap:balance}
.ene-contact-hero__content>p{font-size:clamp(16px,1.5vw,20px);line-height:1.7;max-width:700px;margin:0}
.ene-contact-page .ene-contact-center{max-width:760px;margin:0 auto 36px;text-align:center}
.ene-contact-center h2{font-size:clamp(30px,3.3vw,48px)}
.ene-contact-center>p:last-child{color:var(--color-text-muted);margin-top:12px;line-height:1.7}
.ene-contact-page .ene-contact-follow,.ene-contact-page .ene-contact-route-section{background:#f1f3e9}
.ene-contact-page .ene-contact-route-section{padding-block-start:0}
.ene-contact-page .ene-contact-routes{margin-block-start:0}
.ene-contact-page .ene-contact-step__title{margin-top:16px;font-size:clamp(18px,1.6vw,22px)}
.ene-contact-page .ene-contact-step__text{margin-top:6px}
.ene-contact-page .ene-contact-step{transition:transform 300ms var(--ease)}
.ene-contact-page .ene-contact-step:hover{transform:translateY(-5px)}
.ene-contact-step__marker{transition:background 300ms var(--ease),box-shadow 300ms var(--ease)}
.ene-contact-step:hover .ene-contact-step__marker{background:var(--color-gold-light);box-shadow:0 0 0 5px var(--color-gold-soft)}
.ene-contact-page .ene-contact-form-section>.ene-container{max-width:1080px}
.ene-contact-page .ene-form{margin:0;padding:clamp(20px,3vw,38px);border:1px solid var(--color-border);border-radius:14px;background:var(--color-ivory);box-shadow:0 18px 52px rgba(12,55,42,.08);font-family:var(--font-sans);min-width:0}
.ene-contact-page .ene-rfq-form{padding:0}
.ene-contact-page .ene-form label{font-family:var(--font-sans);font-size:14px;line-height:1.6;color:var(--color-primary);min-width:0}
.ene-contact-page .ene-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ene-contact-page .ene-form [data-field] input,.ene-contact-page .ene-form textarea{width:100%;min-width:0;max-width:100%;min-height:50px;margin-top:7px;padding:12px 14px;border:1px solid #9bac9f;border-radius:8px;background:#fff;font:400 16px/1.5 var(--font-sans);color:var(--color-text);box-shadow:none;transition:border-color .2s,box-shadow .2s}
.ene-contact-page .ene-form [data-field] input:focus,.ene-contact-page .ene-form textarea:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 3px rgba(201,154,54,.18)}
.ene-contact-page .ene-form textarea{resize:vertical;min-height:145px}
.ene-contact-page .ene-rfq-section{padding:clamp(22px,3vw,38px);border-bottom:1px solid var(--color-border)}
.ene-contact-page .ene-rfq-section-heading{align-items:flex-start;margin-bottom:24px;gap:16px}
.ene-contact-page .ene-rfq-section-heading h3{font-size:clamp(21px,2vw,28px);margin:0}
.ene-contact-page .ene-rfq-section-heading p{font-family:var(--font-sans);font-size:14px;line-height:1.7;color:var(--color-text-muted);margin:6px 0 0}
.ene-contact-page .ene-rfq-step{background:var(--color-gold-soft);color:var(--color-primary);border:1px solid var(--color-gold-light);width:42px;height:42px;min-width:42px}
.ene-contact-page .ene-rfq-form>.ene-form-grid{padding:24px clamp(22px,3vw,38px) 34px}
.ene-contact-page .ene-privacy{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.65}
.ene-contact-page .ene-submit-quote{display:inline-flex;align-items:center;justify-content:center;font:600 15px/1.5 var(--font-sans);padding:14px 24px;min-height:50px;background:var(--color-primary);border:1px solid var(--color-primary);border-radius:8px;box-shadow:0 5px 16px rgba(6,63,50,.12);transition:transform .25s,background .25s}
.ene-contact-page .ene-submit-quote:hover{transform:translateY(-2px);background:var(--color-primary-900)}
.ene-contact-page .ene-submit-quote:disabled{transform:none;opacity:.75;cursor:wait}
.ene-contact-page .ene-contact-direct__email{font-family:var(--font-sans)}
.ene-contact-page[dir=rtl] .ene-contact-hero:before{background:linear-gradient(270deg,rgba(249,245,233,.96),rgba(249,245,233,.84) 36%,rgba(249,245,233,.18) 75%,transparent)}
.ene-contact-page[dir=rtl] :is(h1,h2,h3){line-height:1.4}
.ene-contact-page[dir=rtl] .ene-eyebrow{letter-spacing:0;text-transform:none}
.ene-contact-page[dir=rtl] .ene-contact-direct__email{align-self:flex-start}
@media(max-width:600px){.ene-contact-hero{min-height:450px;align-items:flex-end}.ene-contact-hero__bg{object-position:62% center}.ene-contact-hero:before,.ene-contact-page[dir=rtl] .ene-contact-hero:before{background:linear-gradient(180deg,rgba(249,245,233,.25),rgba(249,245,233,.92) 52%,rgba(249,245,233,.98))}body.ene-site .ene-contact-page .ene-form-grid{grid-template-columns:1fr}.ene-contact-page .ene-contact-form-section>.ene-container{padding-inline:16px}.ene-contact-page .ene-rfq-section{padding:22px 18px}.ene-contact-page .ene-rfq-form>.ene-form-grid{padding:20px 18px}.ene-contact-page .ene-submit-quote{width:100%}.ene-contact-page .ene-contact-panel{padding:22px}.ene-contact-page .ene-rfq-section-heading{gap:12px}}
@media(prefers-reduced-motion:reduce){.ene-contact-page *, .ene-contact-page *:before{transition:none!important;animation:none!important}.ene-contact-page .ene-contact-step:hover,.ene-contact-page .ene-submit-quote:hover,.ene-contact-direct__item:hover{transform:none}}
