/* ===== V40 — Douceurs ===== */
/* 1. Il y a un an */
.k40-year{display:flex;align-items:center;gap:16px;margin:16px 0;padding:18px 18px;border-radius:22px;cursor:pointer;
 border:1px solid color-mix(in srgb,var(--kd-acc,#f1d58e) 45%,transparent);
 background:radial-gradient(circle at 0% 0%,color-mix(in srgb,var(--kd-acc,#f1d58e) 22%,transparent),transparent 55%),linear-gradient(135deg,var(--kd-h2,#3b0b16),var(--kd-card,#190a0f));
 box-shadow:0 14px 40px -18px var(--kd-acc,#f1d58e);animation:k40in .7s ease both}
.k40-y-orb{flex:0 0 64px;height:64px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;
 font:700 26px/1 Georgia,serif;color:#1a0d08;background:radial-gradient(circle at 35% 30%,#fff,var(--kd-acc,#f1d58e) 55%,color-mix(in srgb,var(--kd-acc,#f1d58e) 60%,#000));
 box-shadow:0 0 22px color-mix(in srgb,var(--kd-acc,#f1d58e) 70%,transparent);animation:k40glow 3.2s ease-in-out infinite}
.k40-y-orb small{font:800 9px/1.2 Inter,sans-serif;letter-spacing:.14em}
.k40-y-body{flex:1;min-width:0;display:flex;flex-direction:column}
.k40-y-body>small{color:var(--kd-acc,#f1d58e);font-size:10px;font-weight:800;letter-spacing:.16em}
.k40-y-body>b{font:22px/1.2 Georgia,serif;color:#fff;margin:5px 0 3px}
.k40-y-date{color:color-mix(in srgb,var(--kd-acc,#f1d58e) 75%,#fff);font-size:13px}
.k40-y-body>p{margin:8px 0 0;color:#e8dfe2;font:15px/1.5 Georgia,serif;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.k40-y-ph{display:flex;gap:6px;margin-top:10px}
.k40-y-ph img{width:54px;height:54px;object-fit:cover;border-radius:12px;border:1px solid #ffffff22}
.k40-y-ph i{width:54px;height:54px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#ffffff14;color:#fff;font-style:normal;font-weight:800}
.k40-year>strong{font-size:24px;color:var(--kd-acc,#f1d58e)}
.k40-y-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.k40-y-grid button{padding:0!important;border-radius:14px!important;overflow:hidden;aspect-ratio:1;position:relative;background:#000!important;width:auto!important;margin:0!important}
.k40-y-grid img{width:100%;height:100%;object-fit:cover;display:block}
.k40-y-grid i{position:absolute;inset:auto 6px 6px auto;color:#fff;font-style:normal}
@keyframes k40in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes k40glow{50%{box-shadow:0 0 34px color-mix(in srgb,var(--kd-acc,#f1d58e) 95%,transparent)}}
/* 2. Pages vides */
.k40-empty{text-align:center}
.k40-e{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 4px}
.k40-e>span{font-size:34px;color:var(--kd-acc,#f1d58e);text-shadow:0 0 18px var(--kd-acc,#f1d58e);animation:k40glowt 3s ease-in-out infinite}
.k40-e>b{font:24px/1.25 Georgia,serif;color:#fff}
.k40-e>p{margin:0 0 6px;font:15px/1.55 Inter,sans-serif;color:#d9ccd0;max-width:300px}
.k40-e>button{width:auto!important;margin:4px 0 0!important}
@keyframes k40glowt{50%{opacity:.6}}
/* 3. Lumière d'ouverture */
.k40-press{transform:scale(.97)!important;transition:transform .15s!important}
.k40-burst{position:fixed;inset:0;z-index:2000;pointer-events:none;overflow:hidden;animation:k40fade 1.25s ease forwards}
.k40-burst i{position:absolute;left:var(--x);top:var(--y);width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;
 background:radial-gradient(circle,#fff 0,var(--c) 22%,color-mix(in srgb,var(--c) 40%,transparent) 48%,transparent 70%);
 animation:k40grow .9s cubic-bezier(.2,.7,.2,1) forwards}
.k40-burst b{position:absolute;left:var(--x);top:var(--y);width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:2px solid var(--c);
 box-shadow:0 0 24px var(--c);animation:k40ring .8s ease-out forwards}
@keyframes k40grow{to{transform:scale(70)}}
@keyframes k40ring{from{opacity:1}to{transform:scale(14);opacity:0}}
@keyframes k40fade{0%,45%{opacity:1}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.k40-year,.k40-y-orb,.k40-e>span{animation:none}}
#photoGrid>.k40-empty{grid-column:1/-1;width:100%;max-width:none}
.k40-mt{display:block;font:24px/1.25 Georgia,serif;color:#fff;margin-bottom:8px}
