/* Global tweaks */
:root {
  --brand-primary: #0d6efd;
  --brand-secondary: #6c757d;
}

html, body { height: 100%; }
body { display: flex; flex-direction: column; }

.object-fit-cover { object-fit: cover; width: 100%; height: 100%; }

/* Hero sections */
.hero-gradient {
  background-image:
    linear-gradient(rgba(0,0,0,0.6), rgba(155, 155, 155, 0.3)),
    url('../images/bg.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.hero-surface { background: #f8f9fa; }

/* Flip cards */
.flip-card { perspective: 1000px; }
.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 0.6s ease;
}
.flip-card:hover .flip-card-inner,
.flip-card:focus-within .flip-card-inner,
.flip-card.is-flipped .flip-card-inner { transform: rotateY(180deg); }

.flip-card-front,
.flip-card-back {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden; /* Safari */
}
.flip-card-front { position: relative; }
.flip-card-back {
  position: absolute;
  inset: 0;
  transform: rotateY(180deg);
  background: #ffffff;
}

/* Utilities */
.ratio-1x1 { aspect-ratio: 1 / 1; }
.ratio-16x9 { aspect-ratio: 16 / 9; }

/* Footer spacing when page is short */
footer { margin-top: auto; }
