/* Base layout */
body {
  margin: 0;
  background-color: #070807;
  background-image: url('fullbg.png');
  background-repeat: repeat-y;
  background-position: center top;
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-style: normal;
  color: #a29095;
  font-size: 22px;
}

.page-container {
  display: flex;
  justify-content: center;
  align-items: stretch;
  min-height: 100vh;
}

/* Edges */
.edge {
  width: 30px;
  background-color: #646866;
  background-image: url('edgebg.png');
  background-repeat: repeat-y;
}

.left-edge {
  order: 1;
}

.right-edge {
  order: 3;
}

/* Main content */
.main-content {
  width: 960px;
  background: transparent;
  display: flex;
  flex-direction: column;
  align-items: center;
  order: 2;
}

/* Header */
header {
  position: relative;
  width: 960px;
  height: 545px;
}

header img {
  width: 100%;
  height: 100%;
  display: block;
}

/* Navigation (now inside header) */
header nav {
  position: absolute;
  bottom: 20px;     /* ← distance from bottom of header image */
  left: 0;
  width: 100%;
  height: 50px;
}

header nav ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
  height: 50px;
}

header nav li {
  flex: 1;
  width: 160px;
}

header nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  text-decoration: none;
  color: #f1ebd8;
  font-family: 'AgencyFBCondensedBold', sans-serif;
  font-size: 30px;
  font-weight: normal;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: background 0.3s ease;
}

header nav a:hover {
  background-image: url('navbg.png');
  background-repeat: no-repeat;
  background-size: cover;
  color: #070807;
}

/* Body text */
main {
  width: 100%;
  margin: -10px 0 40px 0;
  padding-left: 40px;
  padding-right: 40px;
  text-align: left;
}

main p {
    font-family: "Lato", sans-serif;
    font-weight: 300;
    font-style: normal;
    color: #a29095;
    font-size: 22px;
    padding-left: 40px;
    padding-right: 40px;
    text-shadow: 1px 1px 0px #000;
}



/* Footer */
footer {
  width: 100%;
  height: 170px;
  background: url('footer.png') center center no-repeat;
  display: flex;
  align-items: center;      /* centers vertically */
  justify-content: center; /* centers horizontally */
  text-align: center;       /* centers multiline text */
  color: #1f2821;
  margin-bottom: 20px;
}

footer p {
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-shadow: 
      0px 0px 3px #8d8d89,
      0px 0px 2px #8d8d89
}





/* ==============================
   Headings
   ============================== */
h1, h2, h3 {
  font-family: 'AgencyFBCondensedBold', sans-serif;
  text-transform: uppercase;
  font-weight: normal;
  font-style: normal;
  text-align: center;
  text-shadow: 1px 1px 0px #000;
  letter-spacing: 2px;
  border-bottom: 1px dashed #000;
}

h1 { font-size: 32px; color: #697968; }
h2 { font-size: 28px; color: #8e9672; }
h3 { font-size: 24px; color: #c6c3a2; }


/* ==============================
   Links
   ============================== */



main a:link,
main a:visited {
  color: #c4c0a3;
  text-decoration-line: underline;
  text-decoration-style: dashed;
  text-decoration-color: #000;
  font-weight: 300;
}

main a:hover {
  color: #635a58;
  text-decoration-line: underline;
  text-decoration-style: dashed;
  text-decoration-color: #000;
  font-weight: 300 !important;
}

footer p a:link,
footer p a:visited {
  color: #1f2821 !important;
  font-weight: normal;
}

footer p a:hover {
  color: #000 !important;
  font-weight: normal;
}



/* ==============================
   Codes / Images
   ============================== */
#codes {
  width: 650px;
  margin: 0 auto;
  text-align: center;
}

#codes img {
  display: inline-block;
  margin: 4px;
  padding: 4px;
  background-image: url("codebg.png");
  background-position: center;
}

.codesort ul {
  text-align: center;
  margin: 0;
  padding: 0;
}

.codesort li {
  display: inline;
}

img.bio {
  display: block;
  margin: 10px auto;
  max-width: 100%;
  height: auto;
  padding: 4px;
  background-color: #282723;
}



/* ==============================
   Sample Link
   ============================== */

.samplelink {
  width: 600px;
  margin: 0 auto;
  padding: 10px;
  background-color: #0a0d0e;
  color: #697968;
  font-size: 16px;
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-style: normal;
  align-items: center;      /* centers vertically */
  justify-content: center; /* centers horizontally */
  text-align: center;       /* centers multiline text */
}

.copy-button {
  width: 100px;
  margin: 5px auto 0 !important;
  padding: 10px !important;
  background-color: #0a0d0e;
  color: #697968;
  font-size: 16px !important;
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-style: normal;
  text-transform: uppercase;
  text-align: center;
  transition: background 0.2s;
}

.copy-button:hover {
  background-color: #1f2828;
}


/* ==============================
   Forms (Generic)
   ============================== */
textarea,
input,
select,
submit {
  margin: 4px;
  padding: 4px;
  border: 1px solid #96a77c;
  background-color: rgba(0,0,0,.3);
  color: #c6c3a2;
  font-size: 14px;
  font-family: "Mali", sans-serif;
  letter-spacing: 2px;
}

label {
  float: left;
  width: 100px;
}


/* ==============================
   Forms (Custom & Show_ Classes)
   ============================== */
.custom_input {
  display: flex;
  align-items: center;
  margin-bottom: 5px !important;
}

.custom_input label {
  width: 120px;
  text-align: right;
  margin-right: 10px;
}

.custom_input .input,
form[class^="show_"] input[type="text"],
form[class^="show_"] input[type="email"],
form[class^="show_"] input[type="password"],
form[class^="show_"] input[type="url"],
form[class^="show_"] select,
form[class^="show_"] textarea {
  width: 300px;
  margin-bottom: 5px;
  padding: 10px;
  font-size: 14px;
  font-family: "Mali", sans-serif;
  background-color: rgba(0,0,0,.3);
  color: #c6c3a2;
  border: 1px solid #354238;
  box-sizing: border-box;
  outline: none;
  transition: 0.3s ease;
}

.custom_input .input:focus,
form[class^="show_"] input:focus,
form[class^="show_"] select:focus,
form[class^="show_"] textarea:focus {
  background-color: #000;
  color: #c6c3a2;
  border: 1px solid #282723;
}

.custom_input .input::placeholder,
form[class^="show_"] ::placeholder {
  color: #354238;
}

.custom_input input[type="submit"],
form[class^="show_"] input[type="submit"],
form[class^="show_"] input[type="reset"] {
  margin-top: 10px;
  padding: 10px 20px;
  background-color: rgba(0,0,0,.3);
  color: #7c7d73;
  border: 1px solid #354238;
  cursor: pointer;
  transition: background 0.3s;
}

.custom_input input[type="submit"]:hover,
form[class^="show_"] input[type="submit"]:hover,
form[class^="show_"] input[type="reset"]:hover {
  background-color: rgba(0,0,0,.3);
  border: 1px solid #282723;
}

form[class^="show_"] p {
  margin-bottom: 15px;
}

form[class^="show_"] span[class$="_label"] {
  display: block;
  margin-bottom: 5px;
  color: #7c7d73;
}

form[class^="show_"] textarea {
  min-height: 60px;
  resize: vertical;
}

form[class^="show_"] select {
  margin-bottom: 5px;
}

form[class^="show_"] input[type="radio"],
form[class^="show_"] input[type="checkbox"] {
  margin-right: 5px;
  vertical-align: middle;
}

form[class^="show_"] span[class*="_field_label"] {
  margin-left: 5px;
  font-weight: normal;
}

.show_join_email_settings_yes,
.show_join_email_settings_no,
.show_update_email_settings_leave,
.show_update_email_settings_yes,
.show_update_email_settings_no,
.show_join_send_account_info_yes {
  display: block !important;
  margin: 3px 0;
}

.show_join_password_field,
.show_update_password_field,
.show_join_password_field2,
.show_update_password_field2 {
  display: block;
  width: 300px;
}

.show_join_password_field2,
.show_update_password_field2 {
  margin-top: 5px;
}


b {
  color: #c6c3a2;
  font-style: normal;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-size: 22px;
}

i {
  color: #8e9672;
  font-style: italic;
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-size: 22px;
}




/* ======================================================
   WEBRINGS
====================================================== */
#fanlistings {
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 10pt;
  color: #c6c3a2;
}





@font-face {
  font-family: 'AgencyFBCondensedBold';
  src: url('AgencyFBCondensedBold.otf') format('opentype');
}




/* ======================================================
   HIDE EMPTY OPTIONAL FIELDS
====================================================== */
/* usage (can be repeated):
<span class="opt">
Favorite Song(s): <span class="value">$$fan_favorite_song$$</span>
</span>
*/

.opt:has(.value:empty) {
  display: none;
}

.value:empty {
  display: none;
}

.opt {
  display: block;
}




/* ==========================================
   MOBILE-FRIENDLY FALLBACK
   (simple version for phones under 768px)
   ========================================== */
@media (max-width: 768px) {

  /* Make layout single-column */
  .page-container {
    flex-direction: column;
    align-items: center;
  }

  .edge {
    display: none; /* hide decorative side edges */
  }

  .main-content {
    width: 100%;
    max-width: 100%;
  }

  header {
    width: 100%;
    height: auto;
  }

  header img {
    width: 100%;
    height: auto;
  }

  /* Stack nav items vertically or make them wrap */
  header nav {
    position: static;   /* remove absolute positioning */
    width: 100%;
    height: auto;
    margin-top: 10px;
  }

  header nav ul {
    flex-wrap: wrap;
    justify-content: center;
  }

  header nav li {
    width: 45%;
    margin: 2px;
  }

  header nav a {
    font-size: 18px;
    height: 40px;
  }

  /* Body content */
  main {
    margin: 20px 0;
    padding: 0 20px;
  }

  main p {
    font-size: 18px;
    padding: 0;
  }

  /* Footer */
  footer {
    height: auto;
    padding: 20px 0;
    background-size: contain;
  }

  footer p {
    font-size: 12px;
    padding: 0 10px;
  }
}
