:root{
  --bg:#ffffff;
  --accent:#1a1a1a;
  --muted:#f5f5f5;
  --gold: #c9a77b;
  --gold-hover: #b79460;
  --gold-active: #a67b4f;
  --danger-dark: #8b0000;
  --danger-dark-hover: #a10000;
  --danger-dark-active: #710000;
}

*{
    box-sizing: border-box;

}
html,body{height:100%}
body{
  margin:0;
  font-family: 'Montserrat', sans-serif;
  background:var(--bg);
  color:var(--accent);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
  line-height:1.4;
}

/* Shared layout helpers */
.wrap{max-width:var(--maxw);margin:0 auto}
section{padding:60px 20px}

/* Vertical names (shared) */
.vertical-names{
    position: fixed;
    left: 28px;
    /* top: 0; */
    transform: translateY(-50%) rotate(-90deg);
    transform-origin: left center;
    font-family: 'Playfair Display',serif;
    letter-spacing: 6px;
    font-size: 1.05rem;
    color: var(--accent);
    z-index: 5;
    pointer-events: none;
    bottom: 0px;
    margin: auto;
    width: 100vh;
    text-align: center;

}


/* Gift card shared styles */
.gift{display:flex;justify-content:center;padding:56px 20px 100px;background:#fafafa}
.gift-card{max-width:700px;padding:35px 30px;border-radius:15px;background:#fff;border:2px dashed #d7cfcf;text-align:center}
.acct{font-size:1.25rem;font-weight:600;margin-top:15px}

/* Small shared utilities used across templates */
.info-block{padding:60px 0}

/* ===================================
   BOOTSTRAP OVERRIDES (Generic)
=================================== */

/* Edit Button */
.btn-edit {
  color: var(--gold);
  background-color: transparent;
  border: none;
  padding: 0.25rem 0.35rem;
  font-size: .6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: color 0.2s ease;
}

.btn-edit:hover {
  color: var(--gold-hover);
}

.btn-edit:active {
  color: var(--gold-active);
}

/* Cancel Button */
.btn-cancel {
  color: var(--danger-dark);
  background-color: transparent;
  border: none;
  padding: 0.25rem 0.35rem;
  font-size: .6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: color 0.2s ease;
}

.btn-cancel:hover {
  color: var(--danger-dark-hover);
}

.btn-cancel:active {
  color: var(--danger-dark-active);
}

/* Override Bootstrap primary button */
.btn-primary {
  background-color: var(--gold);
  border-color: var(--gold);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: #b89268;
  border-color: #b89268;
}

/* Customize form focus and border color */
.form-control:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 0.25rem rgba(201, 167, 123, 0.25);
}

/* Customize checkboxes/radios */
.form-check-input:checked {
  background-color: var(--gold);
  border-color: var(--gold);
}

/* Dark button style */
.btn-dark {
  background: var(--gold);
  color:#111;
  border:none;
}

.btn-dark:hover {
  background:#b8945f;
  color:#111;
}

/* ===================================
   DISCRETE FOOTER
=================================== */

.discrete-footer {
    /* margin-top: 60px; */
    padding: 30px 20px;
    /* border-top: 1px solid #e8e8e8; */
    /* background-color: #fafafa; */
    text-align: center;
    font-size: 1rem;
    margin-top: calc(-60px - 0.68rem);

}

.footer-content {
  max-width: 1200px;
  margin: 0 auto;
}

.footer-content p {
    margin: 0;
    font-size: 0.55rem;
    color: #888;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 0.3px;

}

.footer-content a {
  color: var(--gold);
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-content a:hover {
  color: var(--gold-hover);
  text-decoration: underline;
}

.footer-separator {
  margin: 0 8px;
  color: #d0d0d0;
}

/* -----------------------------------
  RESPONSIVE
----------------------------------- */
@media (max-width:780px){
  .timeline{grid-template-columns:1fr 40px 1fr;padding:20px 6px}
  .names{font-size:2.4rem}
  .vertical-names{display:none}
  .hero__card{padding:36px 18px}
  .tl-item{padding:12px 6px}
}
