/* 
########################################
#       Sections Container Styles      #
######################################## 
*/

:root {
  --section-gap: 40px;
  --section-mt: 50px;

  --bg-glass-a: rgba(255, 255, 255, 0.25);
  --bg-shadow: rgba(0, 0, 0, 0.553);
  --bg-ink-soft: rgba(0, 0, 0, 0.05);

  --tri-gradient: linear-gradient(
    to bottom left,
    var(--bg-glass-a) 0%,
    var(--bg-glass-a) 50%,
    var(--bg-ink-soft) 50%,
    var(--bg-ink-soft) 100%
  );
}

/* Base container (bg triangle + image overlay) */
.sections-container {
  margin-top: var(--section-mt);
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--section-gap);
  overflow: hidden;
  justify-content: center;
  align-items: center;
  background: var(--tri-gradient);
}

/* image layer */
.sections-container::before {
  content: "";
  position: absolute;
  inset: 5%;
  background: var(--section-bg, url("/images/mountains.jpg")) center / cover no-repeat;
  z-index: -1;
}

@media (max-width: 1300px) {
  .sections-container {
    gap: 20px;
    margin-top: 20px;
  }
}

/* Contact bg image override (index uses this) */
.contact-container { --section-bg: url("/images/desert.jpg"); }

/* breathing room so bg shows */
.contact-container {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 80px 0;
}

@media (max-width: 768px) {
  .sections-container { min-height: 500px; }
  .contact-container  { padding: 60px 0; }
}

/* 
########################################
#           Contact Card               #
######################################## 
*/

.contact-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  padding: 20px;
  border: 10px solid rgba(255, 255, 255, 0.5);
  background: white;
  background-clip: padding-box;
  box-shadow: var(--bg-shadow) 0px 5px 15px;

  width: min(520px, 90vw);
}

.contact-section form {
  width: 100%;
  max-width: 500px;
}

.contact-section label {
  font-weight: 500;
  margin-top: 20px;
  display: block;
}

.contact-section input[type="text"],
.contact-section input[type="email"],
.contact-section textarea {
  width: 100%;
  border: none;
  border-bottom: 2px solid #ccc;
  padding: 8px 4px;
  font-size: 1rem;
  font-family: inherit;
  background: transparent;
  outline: none;
  transition: border-color 0.3s ease;
}

.contact-section textarea {
  resize: vertical;
  min-height: 100px;
}

.contact-section input:focus,
.contact-section textarea:focus {
  border-bottom-color: #000;
}

.contact-section input[type="submit"] {
  padding: 10px 30px;
  border: none;
  background: #000;
  color: #fff;
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.3s ease;
  display: block;
  margin: 30px auto 0;
}

.contact-section input[type="submit"]:hover {
  background: #333;
}

/* Animated outline + hover pill */
.box{
  display: inline-block;
  width: 140px;
  padding: 15px;
  text-align: center;
  position: relative;
  overflow: hidden;

  font-weight: 500;

  transition:
    transform 1s ease,
    background-color 1s ease,
    color 1s ease,
    text-shadow 1s ease;
}

.box::before{
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  border-bottom: 4px solid transparent;
  border-left: 4px solid transparent;
  box-sizing: border-box;
  transform: translateX(100%);
  border-radius: inherit;
}

.box::after{
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  border-top: 4px solid transparent;
  border-right: 4px solid transparent;
  box-sizing: border-box;
  transform: translateX(-100%);
  border-radius: inherit;
}

.box:hover{
  transform: translateY(-2px);
  background-color: #1a1a1a;
  color: #f2f2f2;
  text-shadow: none;
}

.box:hover::before,
.box.is-visible::before{
  border-width: 1px;
  border-color: #2626267e;
  height: 100%;
  transform: translateX(0);
  transition: 1s transform linear, 1s height linear 1s;
}

.box:hover::after,
.box.is-visible::after{
  border-width: 1px;
  border-color: #2626267e;
  height: 100%;
  transform: translateX(0);
  transition: 1s transform linear, 1s height linear 1s; /* keep same speed */
}

.box.is-visible{
  box-shadow: 0 5px 15px rgba(0,0,0,0.048);
  text-decoration: none;
}
