/* EPI Contact Shortcode Styles - Theme aware */
:root{
  --epi-bg-1: var(--ast-global-color-7, #0C141C);
  --epi-bg-2: var(--ast-global-color-5, #1A232D);
  --epi-text: var(--ast-global-color-0, #ffffff);
  --epi-muted: var(--ast-global-color-3, #A3B1C6);
  --epi-line: var(--ast-global-color-2, #3A4959);
  --epi-accent: var(--ast-global-color-1, #D82929);
  --epi-accent-strong: var(--ast-global-color-1, #ff3c3c);
}

.epi-contact-wrap{
  background: radial-gradient(1200px 600px at 50% 0%, rgba(216,41,41,0.08), transparent 60%) , linear-gradient(180deg, var(--epi-bg-1), var(--epi-bg-2));
  color: var(--epi-text);
  padding: clamp(24px, 5vw, 64px);
  border-radius: 16px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
}

.epi-contact-inner{max-width:1200px;margin:0 auto;}

.epi-contact-title{
  font-weight:700;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin:0 0 8px;
}

.epi-title-underline{
  display:block;
  width:120px;height:3px;background:var(--epi-accent);
  box-shadow:0 0 16px var(--epi-accent);
  margin: 6px 0 18px;
}

.epi-contact-seo{
  color: var(--epi-muted);
  max-width: 900px;
  line-height: 1.6;
  margin-bottom: 28px;
}

.epi-contact-form .epi-grid{
  display:grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap:16px;
}

.epi-field{display:flex;flex-direction:column;gap:6px;}
.epi-field label{font-size:.9rem;color:var(--epi-muted);}
.epi-field input,
.epi-field textarea{
  background:rgba(255,255,255,.02);
  color: var(--epi-text);
  border:1px solid var(--epi-line);
  border-radius:10px;
  padding:12px 14px;
  outline:none;
  transition:border .2s ease, box-shadow .2s ease;
}
.epi-field input:focus, .epi-field textarea:focus{
  border-color: var(--epi-accent);
  box-shadow: 0 0 0 3px rgba(216,41,41,.2);
}

.epi-field--message{grid-column:2/-1; grid-row:1/ span 3;}
@media (max-width: 900px){
  .epi-contact-form .epi-grid{grid-template-columns:1fr;}
  .epi-field--message{grid-column:1/-1; grid-row:auto;}
}

.epi-field--consent label{display:flex;align-items:center;gap:8px;color:var(--epi-muted);font-size:.9rem;}
.epi-field--hp{position:absolute;left:-9999px;visibility:hidden;} /* honeypot */

.epi-actions{display:flex;justify-content:flex-end;margin-top:8px;}
.epi-btn{
  appearance: none;
  background: var(--epi-accent);
  color: #fff;
  border: none;
  border-radius: 12px;
  padding: 12px 22px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(216,41,41,.35);
  transition: transform .08s ease, box-shadow .2s ease, background .2s ease;
}
.epi-btn:hover{box-shadow: 0 10px 24px rgba(216,41,41,.45);}
.epi-btn:active{transform: translateY(1px);}

.epi-feedback{margin-left:auto;margin-top:10px;font-size:.95rem;color:var(--epi-muted);min-height:1.2em;}

@media (prefers-reduced-motion: no-preference){
  .epi-contact-wrap::before{
    content:"";
    position:absolute;inset:-30%;
    background: radial-gradient(40% 40% at 75% 20%, rgba(216,41,41,.08), transparent 60%),
                radial-gradient(30% 30% at 15% 80%, rgba(255,255,255,.04), transparent 60%);
    animation: epiFloat 18s ease-in-out infinite;
    pointer-events:none;
  }
  @keyframes epiFloat { 0%{transform:translateY(0)} 50%{transform:translateY(-10px)} 100%{transform:translateY(0)}}
}
