/* =========================================================
   ABOUT & CONTACT – Content only (NAV comes from site.css)
   ========================================================= */

*, *::before, *::after{ box-sizing:border-box; }
html, body{ overflow-x:hidden; }

body.page-template-template-about-contact,
body.page-template-template-about-contact-php{
  overflow-x:hidden;
}

/* Escape theme container */
.db-ac-page{
  width:100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  min-height:100vh !important;
  padding:20px !important;

  background:#f1ede7 !important;
  color:#bf0101 !important;

  font-family:"Atkinson Hyperlegible Mono", ui-monospace, SFMono-Regular, Menlo, Monaco,
              Consolas, "Liberation Mono", "Courier New", monospace !important;
  font-weight:500 !important;
  font-size:14px !important;

  line-height:1.35 !important;
  letter-spacing:.02em !important;
}

/* =========================================================
   STACK – true center
   ========================================================= */
.db-ac-stack{
  width:100% !important;
  padding-top:190px !important;

  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;

  gap:70px !important;

  --acW: 440px;
}

/* TEXT */
.db-ac-text{
  width: var(--acW) !important;
  max-width: calc(100vw - 40px) !important;
  text-align:left !important;
  text-wrap:balance;
}

/* =========================================================
   FORM
   ========================================================= */
.db-ac-form{
  width: var(--acW) !important;
  max-width: calc(100vw - 40px) !important;

  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
}

.db-ac-form > label{
  display:block !important;
  margin:18px 0 4px 0 !important;
}

.db-ac-form > label::after{
  content: ":" !important;
}

.db-ac-form input,
.db-ac-form textarea,
.db-ac-form button{
  width:100% !important;
  box-sizing:border-box !important;

  padding:7px 9px !important;
  border:1px solid #999 !important;
  background:#fff !important;

  font-family:inherit !important;
  font-size:14px !important;
  font-weight:500 !important;
  line-height:1.35 !important;
  color:#111 !important;
}

.db-ac-form textarea{
  height:210px !important;
  resize:none !important;
}

.db-ac-form button{
  margin-top:14px !important;
  cursor:pointer !important;
  transition: background-color .08s ease, color .08s ease, border-color .08s ease, opacity .08s ease !important;
}

.db-ac-form button:hover{
  opacity:.85 !important;
}

.db-ac-form button:active{
  background:#bf0101 !important;
  border-color:#bf0101 !important;
  color:#f1ede7 !important;
  opacity:1 !important;
}

/* =========================================================
   NOTE
   ========================================================= */
.db-ac-note{
  width: var(--acW) !important;
  max-width: calc(100vw - 40px) !important;
  text-align:left !important;
}

.db-ac-note--err{
  opacity:.85 !important;
}

/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width:640px){
  .db-ac-stack{
    padding-top:120px !important;
    gap:46px !important;
  }

  .db-ac-form > label{
    margin-top:14px !important;
  }
}