/* =====================================================
   DCM Pools & Construction — Shared Stylesheet
   ===================================================== */

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: 'Archivo', 'Helvetica Neue', sans-serif;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
a:hover { color: #3FA9F5; }

::selection { background: #1266B8; color: #fff; }

input, select, textarea { font-family: 'Archivo', sans-serif; }
input::placeholder, textarea::placeholder { color: #5A6673; }

summary { cursor: pointer; list-style: none; }
summary::-webkit-details-marker { display: none; }
details[open] .dcm-plus { transform: rotate(45deg); }

/* ── Image Slot Placeholders ────────────────────── */
.img-slot {
  position: absolute;
  inset: 0;
  background: #111B2A;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px dashed rgba(63, 169, 245, .25);
}

.img-slot img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.img-slot-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: .2em;
  color: #3FA9F5;
  opacity: .45;
  text-align: center;
  padding: 16px;
  pointer-events: none;
  text-transform: uppercase;
  line-height: 1.6;
}

/* ── Navigation Mobile ──────────────────────────── */
@media (max-width: 900px) {
  nav[aria-label="Primary"] a:not([data-keep="true"]) { display: none; }
}

/* ── Animations ─────────────────────────────────── */
@keyframes dcmPulse { 0%, 100% { opacity: .5; } 50% { opacity: 1; } }

/* ── Form Button Hover ──────────────────────────── */
.dcm-btn-primary {
  background: #1266B8;
  border: none;
  color: #fff;
  cursor: pointer;
  font-family: 'Archivo', sans-serif;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: background .15s;
}
.dcm-btn-primary:hover { background: #3FA9F5; }

.dcm-btn-outline {
  border: 1px solid rgba(245, 247, 249, .35);
  color: #F5F7F9;
  background: transparent;
  font-weight: 700;
  letter-spacing: .1em;
  transition: border-color .15s, color .15s;
}
.dcm-btn-outline:hover { border-color: #3FA9F5; color: #3FA9F5; }

/* ── Service cards hover ─────────────────────────── */
.svc-card { transition: background .15s; }
.svc-card:hover { background: #EAECEE !important; }

/* ── Layer button hover ─────────────────────────── */
.layer-btn { transition: background .15s; }
.layer-btn:hover { background: rgba(18, 102, 184, .06) !important; }
