/* Scene sizing driven from controls */
.elrb-fb-scene { position: relative; margin: 0 auto; perspective: 1000px; max-width: 100%; height: 320px; }
.elrb-fb-inner { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform .6s ease; }

.elrb-fb-wrapper[data-trigger="hover"] .elrb-fb-scene:hover .elrb-fb-inner { transform: rotateY(180deg); }
.elrb-fb-wrapper[data-axis="x"][data-trigger="hover"] .elrb-fb-scene:hover .elrb-fb-inner { transform: rotateX(180deg); }
.elrb-fb-wrapper.is-flipped .elrb-fb-inner { transform: rotateY(180deg); }
.elrb-fb-wrapper[data-axis="x"].is-flipped .elrb-fb-inner { transform: rotateX(180deg); }

.elrb-fb-face { position: absolute; inset: 0; display: grid; place-items: center; backface-visibility: hidden; overflow: hidden; }
.elrb-fb-face-inner { box-sizing: border-box; width: 100%; height: 100%; display: grid; gap: 10px; align-content: center; text-align: center; padding: 20px; }

.elrb-front { transform: rotateY(0deg) translateZ(0); }
.elrb-back  { transform: rotateY(180deg); }
.elrb-fb-wrapper[data-axis="x"] .elrb-back { transform: rotateX(180deg); }

.elrb-title { margin: 0; line-height: 1.2; }
.elrb-subtitle { opacity: .9; }
.elrb-content { max-width: 80%; margin: 0 auto; }

/* Button wrap uses flex to align horizontally; per-side wrappers allow separate alignment */
.elrb-btn-wrap { display: flex; }
.elrb-btn-wrap * { box-sizing: border-box; }

.elrb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  text-decoration: none;
  font-weight: 600;
  border-radius: 8px;
  transition: transform .2s ease, opacity .2s ease;
}
.elrb-btn:hover { transform: translateY(-2px); opacity: .95; }

/* Full width when 'justify' alignment is set via inline style */
.elrb-btn-wrap[style*="justify-content:stretch"] .elrb-btn { width: 100%; }
