/* style.css
   Mini-site d'anniversaire "Camcam" — couleurs festives, responsive
*/

:root{
  /* Thème orange 'sunset' uniforme */
  --bg1: #FFF7F0;
  --accent: #FF7A59; /* orange sunset */
  --accent2: #FF3B6F; /* rose-orangé pour contraste */
  --card-bg: rgba(255,250,247,0.97);
  --muted: #4a2b26;
  --glass: rgba(255,245,240,0.85);
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;font-family:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial; color:var(--muted);background:linear-gradient(135deg,#FFDAB3 0%,#FFB199 45%,#FF7A59 100%);} 

/* Stage and pages */
.stage{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden}
.progress{position:fixed;left:12px;top:12px;background:var(--glass);padding:6px 10px;border-radius:999px;font-weight:600;box-shadow:0 4px 10px rgba(0,0,0,0.08)}

.page{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;transition:opacity .5s,transform .5s}
.page[hidden]{display:none}

.card{width:min(920px,95%);background:var(--card-bg);padding:28px;border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,0.12);text-align:center;transform-origin:center;}
.card.calM{padding-bottom:48px}
h1{margin:0 0 10px;font-size:clamp(20px,4vw,34px);color:#222}
.romantic-title{font-family:'Great Vibes', cursive;font-size:clamp(28px,6vw,48px);color:var(--accent2);margin-bottom:6px}
.lead{font-size:1.05rem;margin-bottom:18px}
.caption,.montage-note{font-size:.9rem;color:#666;margin-top:10px}

/* Images */
.image-wrap{margin:14px auto;max-width:520px;min-height:180px;display:grid;place-items:center}
.image-wrap img{max-width:100%;height:auto;border-radius:10px;transform-origin:center;transition:transform .6s ease,opacity .4s}
.hero-image{max-width:880px;margin:0 auto 14px;display:block}
.hero-image img{width:100%;height:auto;border-radius:14px;box-shadow:0 14px 40px rgba(255,125,90,0.14);transform:scale(1);transition:transform .6s ease,filter .4s}
.hero-image img:hover{transform:scale(1.03) rotate(-0.8deg);filter:brightness(1.03)}
.placeholder{display:none;padding:24px;border:2px dashed #ccc;border-radius:10px;color:#888;background:#fafafa}
.image-wrap img[style*="display:none"] + .placeholder{display:block}

.montage-note{font-weight:700;color:#b33;margin-top:8px}

/* Buttons */
.btn{display:inline-block;margin:8px;padding:12px 18px;border-radius:999px;border:none;background:transparent;color:inherit;cursor:pointer;font-weight:700;backface-visibility:hidden}
.btn.primary{background:linear-gradient(90deg,var(--accent),var(--accent2));color:white;box-shadow:0 8px 18px rgba(255,107,107,0.18);transform:translateY(0);}
.btn.ghost{background:transparent;color:#444}
.btn.restart{background:linear-gradient(90deg,#6BFFB8,#6BD7FF);color:#033}

/* Small devices */
@media (max-width:600px){
  .card{padding:18px;border-radius:12px}
  .lead{font-size:1rem}
  .hero-image{max-width:100%}
}

/* Animations for page transitions */
.enter{animation:enter .55s ease forwards}
.leave{animation:leave .45s ease forwards}
@keyframes enter{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes leave{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-18px) scale(.98)}}

/* Mini diaporama style */
.mini-diapo{height:80px;display:flex;align-items:center;justify-content:center;margin:12px auto}
.slide{padding:8px 16px;border-radius:8px;background:linear-gradient(90deg,#fff,#fff5);box-shadow:0 6px 14px rgba(0,0,0,0.06);transform:rotate(-3deg)}

/* Zoom target (lunettes) */
.zoom-target img{transform:scale(.95)}
.zoom-target.enter img{transform:scale(1.08) rotate(-1.5deg)}

/* Car animation */
.car-wrap{min-height:140px;display:flex;align-items:center;justify-content:center}
.car-wrap img{width:220px;max-width:85%;height:auto;display:block;margin:0 auto;transform:translateX(0);transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.car-wrap.enter img{transform:translateX(0)}

/* Final calm style */
.card.calm{transform:scale(.99)}
.final-hearts{font-size:28px;margin-top:12px;opacity:.9}

/* Confetti simple (positioning) */
#confetti-canvas{position:fixed;inset:0;pointer-events:none;z-index:6}

/* Accessibility focus */
.btn:focus{outline:3px solid rgba(255,200,100,.25);outline-offset:4px}
