/* APROPOS.CSS — CSS SPÉCIFIQUE */

/* CARDS HUB — PICTOGRAMMES */

.card-portrait,.card-univers,.card-coulisses{position:relative;overflow:hidden}
.card-portrait::after,.card-univers::after,.card-coulisses::after{content:'';position:absolute;right:15px;top:15px;width:64px;height:64px;opacity:0.22;background-size:contain;background-repeat:no-repeat;background-position:center;transition:opacity 0.4s;z-index:1;pointer-events:none}
.card-portrait:hover::after,.card-portrait:active::after,.card-univers:hover::after,.card-univers:active::after,.card-coulisses:hover::after,.card-coulisses:active::after{opacity:0.45}
.card-portrait::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='35' r='18' fill='none' stroke='%23d4a574' stroke-width='2.5'/%3E%3Cpath d='M20 90C20 70 35 58 50 58C65 58 80 70 80 90' fill='none' stroke='%23d4a574' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.card-univers::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='50,12 88,50 50,88 12,50' fill='none' stroke='%23d4a574' stroke-width='2.5' stroke-linejoin='round'/%3E%3Ccircle cx='50' cy='50' r='7' fill='none' stroke='%23d4a574' stroke-width='2'/%3E%3Ccircle cx='50' cy='12' r='3' fill='none' stroke='%23d4a574' stroke-width='2'/%3E%3Ccircle cx='88' cy='50' r='3' fill='none' stroke='%23d4a574' stroke-width='2'/%3E%3Ccircle cx='50' cy='88' r='3' fill='none' stroke='%23d4a574' stroke-width='2'/%3E%3Ccircle cx='12' cy='50' r='3' fill='none' stroke='%23d4a574' stroke-width='2'/%3E%3C/svg%3E")}
.card-coulisses::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M25 35L10 50L25 65' fill='none' stroke='%23d4a574' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M75 35L90 50L75 65' fill='none' stroke='%23d4a574' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M58 25L42 75' stroke='%23d4a574' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.card-portrait--biographie::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='30' r='16' fill='none' stroke='%23d4a574' stroke-width='2.5'/%3E%3Cpath d='M25 85C25 65 36 56 50 56C64 56 75 65 75 85' fill='none' stroke='%23d4a574' stroke-width='2.5' stroke-linecap='round'/%3E%3Ctext x='50' y='38' text-anchor='middle' font-size='22' font-weight='600' fill='%23d4a574' font-family='serif'%3E%3F%3C/text%3E%3C/svg%3E")}
.card-portrait--parcours::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M15 85C25 65 35 70 50 55C65 40 75 45 85 20' fill='none' stroke='%23d4a574' stroke-width='2.5' stroke-linecap='round'/%3E%3Ccircle cx='15' cy='85' r='4' fill='%23d4a574'/%3E%3Ccircle cx='50' cy='55' r='4' fill='%23d4a574'/%3E%3Ccircle cx='85' cy='20' r='4' fill='%23d4a574'/%3E%3C/svg%3E")}
.card-portrait--principes::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='50,10 61,40 95,40 68,58 78,90 50,72 22,90 32,58 5,40 39,40' fill='none' stroke='%23d4a574' stroke-width='2.5' stroke-linejoin='round'/%3E%3C/svg%3E")}
.card-portrait--souvenirs::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M25 15H75' stroke='%23d4a574' stroke-width='2.5' stroke-linecap='round'/%3E%3Cpath d='M25 85H75' stroke='%23d4a574' stroke-width='2.5' stroke-linecap='round'/%3E%3Cpath d='M28 15C28 45 50 50 50 50C50 50 72 45 72 15' fill='none' stroke='%23d4a574' stroke-width='2.5'/%3E%3Cpath d='M28 85C28 55 50 50 50 50C50 50 72 55 72 85' fill='none' stroke='%23d4a574' stroke-width='2.5'/%3E%3C/svg%3E")}
.card-portrait--essentiels::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Crect x='20' y='30' width='60' height='50' rx='4' fill='none' stroke='%23d4a574' stroke-width='2.5'/%3E%3Cpath d='M35 30V22C35 16 42 12 50 12C58 12 65 16 65 22V30' fill='none' stroke='%23d4a574' stroke-width='2.5'/%3E%3Ccircle cx='50' cy='55' r='8' fill='none' stroke='%23d4a574' stroke-width='2.5'/%3E%3C/svg%3E")}
.card-portrait--gouts::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 85C50 85 15 60 15 38C15 22 28 12 42 18C47 20 50 25 50 25C50 25 53 20 58 18C72 12 85 22 85 38C85 60 50 85 50 85Z' fill='none' stroke='%23d4a574' stroke-width='2.5'/%3E%3C/svg%3E")}
.card-portrait--envies::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 10C32 10 18 24 18 42C18 55 28 62 32 72H68C72 62 82 55 82 42C82 24 68 10 50 10Z' fill='none' stroke='%23d4a574' stroke-width='2.5'/%3E%3Cline x1='36' y1='80' x2='64' y2='80' stroke='%23d4a574' stroke-width='2.5' stroke-linecap='round'/%3E%3Cline x1='38' y1='88' x2='62' y2='88' stroke='%23d4a574' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.card-portrait--adresses::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 10C33 10 20 23 20 40C20 62 50 90 50 90C50 90 80 62 80 40C80 23 67 10 50 10Z' fill='none' stroke='%23d4a574' stroke-width='2.5'/%3E%3Ccircle cx='50' cy='40' r='12' fill='none' stroke='%23d4a574' stroke-width='2.5'/%3E%3C/svg%3E")}
.card-portrait--carnet::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Crect x='22' y='10' width='56' height='80' rx='4' fill='none' stroke='%23d4a574' stroke-width='2.5'/%3E%3Cline x1='35' y1='10' x2='35' y2='90' stroke='%23d4a574' stroke-width='1.5'/%3E%3Cline x1='42' y1='30' x2='68' y2='30' stroke='%23d4a574' stroke-width='2' stroke-linecap='round'/%3E%3Cline x1='42' y1='45' x2='68' y2='45' stroke='%23d4a574' stroke-width='2' stroke-linecap='round'/%3E%3Cline x1='42' y1='60' x2='58' y2='60' stroke='%23d4a574' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
.card-stats,.card-news,.card-plan{position:relative;overflow:hidden}
.card-stats::after,.card-news::after,.card-plan::after{content:'';position:absolute;right:15px;top:15px;width:64px;height:64px;opacity:0.22;background-size:contain;background-repeat:no-repeat;background-position:center;transition:opacity 0.4s;z-index:1;pointer-events:none}
.card-stats:hover::after,.card-stats:active::after,.card-news:hover::after,.card-news:active::after,.card-plan:hover::after,.card-plan:active::after{opacity:0.45}
.card-stats::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Crect x='15' y='55' width='18' height='35' fill='none' stroke='%23d4a574' stroke-width='2.5'/%3E%3Crect x='41' y='30' width='18' height='60' fill='none' stroke='%23d4a574' stroke-width='2.5'/%3E%3Crect x='67' y='15' width='18' height='75' fill='none' stroke='%23d4a574' stroke-width='2.5'/%3E%3C/svg%3E")}
.card-news::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='38' fill='none' stroke='%23d4a574' stroke-width='2.5'/%3E%3Cline x1='50' y1='50' x2='50' y2='25' stroke='%23d4a574' stroke-width='2.5' stroke-linecap='round'/%3E%3Cline x1='50' y1='50' x2='68' y2='58' stroke='%23d4a574' stroke-width='2.5' stroke-linecap='round'/%3E%3Ccircle cx='50' cy='50' r='3' fill='%23d4a574'/%3E%3C/svg%3E")}

/* STATISTIQUES */

.stats-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:12px;margin-bottom:24px}
.stats-grid.large{grid-template-columns:repeat(2, 1fr)}
.stat-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px 16px;text-align:center;transition:all var(--duration-normal) var(--ease-out)}
.stat-card:hover{border-color:var(--color-accent);background:linear-gradient(145deg, var(--color-bg-card) 0%, var(--color-accent-dim) 100%)}
.stat-card-number{font-family:var(--font-display);font-size:2.5rem;font-weight:600;color:var(--color-text);line-height:1;margin-bottom:8px}
.stat-card-number.loading,.stat-highlight-value.loading{color:var(--color-text-muted);animation:pulse-loading 1.2s ease-in-out infinite}
@keyframes pulse-loading{0%,100%{opacity:0.3}50%{opacity:0.8}}
.stat-card-label{font-size:0.75rem;font-weight:500;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-muted)}
.stats-highlights-row{display:grid;grid-template-columns:repeat(2, 1fr);gap:12px;margin-top:12px;margin-bottom:24px}
.stat-highlight{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:16px;text-align:center}
.stat-highlight-value{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--color-accent);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat-highlight-label{font-size:0.65rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.05em}
.section-title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin:32px 0 16px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}
.section-title[data-theme="education"]{color:var(--color-education-accent);border-bottom-color:rgba(106, 168, 196, 0.3)}
.section-title[data-theme="com"]{color:var(--color-communication-accent);border-bottom-color:rgba(200, 200, 204, 0.3)}
.section-title[data-theme="musique"]{color:var(--color-musique-accent);border-bottom-color:rgba(196, 136, 152, 0.3)}
.section-title[data-theme="apropos"]{color:var(--color-accent-hover);border-bottom-color:rgba(212, 165, 116, 0.3)}

/* TIMELINE NEWS */

.timeline-container{position:relative;max-width:900px;margin:0 auto;padding:0 20px 60px}
.timeline-center-line{position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(to bottom, var(--color-border), var(--color-accent), var(--color-border));transform:translateX(-50%)}
.timeline-legend{display:flex;justify-content:center;align-items:center;gap:30px;padding:20px;margin-bottom:20px}
.legend-item{display:flex;align-items:center;gap:8px;font-size:0.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.1em}
.legend-dot{width:8px;height:8px;border-radius:50%}
.legend-item.monde .legend-dot{background:var(--color-accent)}
.legend-item.moi .legend-dot{background:var(--color-accent)}
.legend-center{font-size:0.7rem;color:var(--color-text-muted);opacity:0.5}
.timeline-year-section{margin-bottom:40px}
.timeline-year-marker{text-align:center;margin-bottom:24px;position:relative}
.timeline-year-label{display:inline-block;font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--color-text);background:var(--color-bg);padding:8px 24px;border:1px solid var(--color-border);border-radius:var(--radius-md);position:relative;z-index:2}
.timeline-items-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.timeline-col-monde,.timeline-col-moi{display:flex;flex-direction:column;gap:12px}
.timeline-col-label{font-size:0.65rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-muted);margin-bottom:8px;display:none}
.timeline-item{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px;opacity:0;transform:translateY(20px);transition:all var(--duration-normal) var(--ease-out)}
.timeline-item.show{opacity:1;transform:translateY(0)}
.timeline-item:hover{border-color:var(--color-accent)}
.timeline-item.side-monde{border-left:3px solid var(--color-accent)}
.timeline-item.side-moi{border-left:3px solid var(--color-accent)}
.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:10px}
.timeline-date{font-size:0.7rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase}
.timeline-cat{font-size:0.6rem;color:var(--color-accent);background:var(--color-accent-dim);padding:3px 8px;border-radius:10px;white-space:nowrap}
.timeline-text{font-size:0.875rem;color:var(--color-text-secondary);line-height:1.6}
.timeline-img{display:block;width:100%;max-height:160px;object-fit:cover;border-radius:6px;margin-top:0.5rem}
.timeline-loader{text-align:center;padding:30px;display:none}
.timeline-loader.visible{display:block}
.timeline-loader-text{font-size:0.8rem;color:var(--color-text-muted)}
.timeline-sentinel{height:1px}

/* INTRO TEXT */

.intro-text{max-width:700px;margin:0 auto var(--space-xl);padding:0 var(--space-md)}
.intro-text p{font-size:0.9375rem;color:var(--color-text-secondary);line-height:1.7;text-align:center}

/* CARDS STATS/NEWS */

.card-stats{--card-rgb:212, 165, 116}
.card-stats:hover .card-title{color:var(--color-accent-hover)}
.card-news{--card-rgb:212, 165, 116}
.card-news:hover .card-title{color:var(--color-accent-hover)}
.card-plan{--card-rgb:212, 165, 116}
.card-plan:hover .card-title{color:var(--color-accent-hover)}
.card-plan::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cline x1='20' y1='20' x2='20' y2='80' stroke='%23d4a574' stroke-width='2.5' stroke-linecap='round'/%3E%3Cline x1='20' y1='20' x2='42' y2='20' stroke='%23d4a574' stroke-width='2.5' stroke-linecap='round'/%3E%3Cline x1='20' y1='40' x2='42' y2='40' stroke='%23d4a574' stroke-width='2.5' stroke-linecap='round'/%3E%3Cline x1='20' y1='60' x2='42' y2='60' stroke='%23d4a574' stroke-width='2.5' stroke-linecap='round'/%3E%3Cline x1='20' y1='80' x2='42' y2='80' stroke='%23d4a574' stroke-width='2.5' stroke-linecap='round'/%3E%3Ccircle cx='52' cy='20' r='4' fill='%23d4a574'/%3E%3Ccircle cx='52' cy='40' r='4' fill='%23d4a574'/%3E%3Ccircle cx='52' cy='60' r='4' fill='%23d4a574'/%3E%3Ccircle cx='52' cy='80' r='4' fill='%23d4a574'/%3E%3C/svg%3E")}
.cat-group-title{grid-column:1/-1;font-family:var(--font-display);font-size:0.95rem;color:var(--color-accent);margin:0.8rem 0 0;padding-bottom:0.3rem;border-bottom:1px solid rgba(212,165,116,0.15);font-weight:500}

/* PORTRAIT — BIOGRAPHIE */

.bio-section{padding:var(--space-xl) var(--space-lg)}
.bio-portrait{float:right;width:200px;height:auto;margin:0 0 var(--space-md) var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--color-border)}
.bio-text h2{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin:var(--space-lg) 0 var(--space-md)}
.bio-text h2:first-child{margin-top:0}
.bio-text p{font-size:0.9375rem;color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-md)}

/* EXPLORE GRID */

.explore-section{padding:var(--space-xl) var(--space-lg);border-top:1px solid var(--color-border)}
.explore-section h2{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text);margin-bottom:var(--space-lg);text-align:center}

/* PORTRAIT — PARCOURS */

.parcours-section{padding:var(--space-xl) var(--space-lg)}
.parcours-timeline{position:relative;padding-left:30px}
.parcours-timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom, var(--color-accent), var(--color-border))}
.parcours-item{position:relative;margin-bottom:var(--space-xl)}
.parcours-item::before{content:'';position:absolute;left:-34px;top:4px;width:10px;height:10px;background:var(--color-accent);border-radius:50%;border:2px solid var(--color-bg)}
.parcours-date{font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-accent);margin-bottom:8px}
.parcours-company-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.parcours-company-logo{width:40px;height:40px;object-fit:contain;border-radius:var(--radius-sm);background:#fff;padding:4px}
.parcours-title{font-family:var(--font-display);font-size:1.125rem;color:var(--color-text);margin:0}
.parcours-company{font-size:0.8rem;color:var(--color-text-muted);margin-bottom:12px}
.parcours-desc{font-size:0.875rem;color:var(--color-text-secondary);line-height:1.6}
.parcours-desc .first-sentence{color:var(--color-text)}

/* PORTRAIT — PRINCIPES (TAROT CARDS) */

.principes-section{padding:var(--space-xl) var(--space-lg)}
.principes-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));gap:24px;max-width:1000px;margin:0 auto}
.principes-card{background-color:transparent;width:100%;aspect-ratio:3/4;perspective:1000px;cursor:pointer}
.principes-card-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform 0.6s;transform-style:preserve-3d;border-radius:var(--radius-md);box-shadow:0 4px 8px rgba(0,0,0,0.2)}
.principes-card.flipped .principes-card-inner{transform:rotateY(180deg)}
.principes-card-front,.principes-card-back{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;border:1px solid var(--color-border);background:var(--color-bg-card)}
.principes-card-front{background:linear-gradient(145deg, var(--color-bg-card) 0%, rgba(212, 165, 116, 0.05) 100%)}
.principes-card-back{background:var(--color-bg-card);color:var(--color-text);transform:rotateY(180deg);border-color:var(--color-accent)}
.principes-number{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--color-accent);margin-bottom:16px;opacity:0.8}
.principes-card-front p{font-family:var(--font-display);font-size:1.1rem;line-height:1.4;color:var(--color-text)}
.principes-card-back p{font-size:0.9rem;line-height:1.6;color:var(--color-text-secondary)}
.principes-card:hover .principes-card-inner{box-shadow:0 8px 16px rgba(0,0,0,0.3);border-color:var(--color-accent-hover)}
.principes-card:focus-visible .principes-card-inner{box-shadow:0 0 0 3px var(--color-accent),0 8px 16px rgba(0,0,0,0.3)}
.principes-card:focus{outline:none}

/* ACCESSIBILITÉ — FOCUS VISIBLE */
.btn-control:focus-visible{box-shadow:0 0 0 3px var(--color-accent)}
.btn-control:focus{outline:none}
.wish-tab:focus-visible{box-shadow:0 0 0 3px var(--color-accent)}
.wish-tab:focus{outline:none}
.carnet-filter:focus-visible{box-shadow:0 0 0 3px var(--color-accent)}
.carnet-filter:focus{outline:none}
.wish-lightbox-nav:focus-visible{box-shadow:0 0 0 3px var(--color-accent)}
.wish-lightbox-nav:focus{outline:none}
.adresse-lb-nav:focus-visible{box-shadow:0 0 0 3px var(--color-accent)}
.adresse-lb-nav:focus{outline:none}
.polaroid-btn-flip:focus-visible{box-shadow:0 0 0 3px var(--color-accent)}
.polaroid-btn-flip:focus{outline:none}

/* PORTRAIT — SOUVENIRS */

.souvenirs-section{padding:var(--space-xl) var(--space-lg)}
.souvenirs-controls{display:flex;justify-content:center;gap:12px;margin-bottom:var(--space-lg)}
.btn-control{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);padding:8px 16px;border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);font-family:var(--font-body);font-size:0.85rem}
.btn-control:hover,.btn-control.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}

/* List View */
.souvenirs-view-list .souvenir-period{margin-bottom:var(--space-xl);opacity:0;animation:fadeUp 0.6s var(--ease-out) forwards}
.souvenirs-view-list .souvenir-period:nth-child(1){animation-delay:0.1s}
.souvenirs-view-list .souvenir-period:nth-child(2){animation-delay:0.2s}
.souvenirs-view-list .souvenir-period:nth-child(3){animation-delay:0.3s}
.period-header{display:flex;align-items:center;gap:16px;margin-bottom:var(--space-md)}
.period-years{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--color-accent);white-space:nowrap}
.period-line{flex:1;height:1px;background:var(--color-border)}
.souvenir-intro{font-size:0.875rem;color:var(--color-text-muted);font-style:italic;margin-bottom:var(--space-md);padding-left:var(--space-md);border-left:2px solid var(--color-border)}
.souvenir-list{list-style:none;padding:0;margin:0}
.souvenir-list li{position:relative;padding:8px 0 8px 24px;font-size:0.875rem;color:var(--color-text-secondary);line-height:1.5}
.souvenir-list li::before{content:'—';position:absolute;left:0;color:var(--color-text-muted)}
.souvenir-photos{display:flex;gap:8px;margin-bottom:var(--space-md);overflow-x:auto;padding:8px}
.souvenir-photo{height:100px;width:auto;border-radius:4px;object-fit:cover;flex-shrink:0;border:1px solid var(--color-border);box-shadow:0 2px 6px rgba(0, 0, 0, 0.08);transition:transform 0.2s ease, box-shadow 0.2s ease}
.souvenir-photo:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15)}
.souvenir-note{font-size:0.75rem;color:var(--color-text-muted);text-align:right;margin-top:var(--space-xl);font-style:italic}

/* Scatter View (Polaroids) */
.souvenirs-view-scatter{position:relative;width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;isolation:isolate}
.souvenirs-view-scatter .polaroid-container{position:relative;width:100%;height:120vh;min-height:800px;overflow:hidden;background:rgba(255,255,255,0.02);box-shadow:inset 0 0 100px rgba(0,0,0,0.5)}
.polaroid{position:absolute;background:#fff;padding:12px 12px 30px 12px;box-shadow:0 4px 15px rgba(0,0,0,0.3);width:260px;max-width:80vw;transform-origin:center;transition:transform 0.2s, box-shadow 0.2s;cursor:grab}
.polaroid:active,.polaroid.dragging{cursor:grabbing;box-shadow:0 15px 40px rgba(0,0,0,0.5);transform:scale(1.05) !important}
.polaroid-inner{display:flex;flex-direction:column;align-items:center}
.polaroid img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;background:#eee;pointer-events:none}
.polaroid-caption{font-family:'Courier New', monospace;font-size:0.75rem;color:#333;margin-top:12px;text-align:center;font-weight:600}

/* 3D Flip Support for Polaroids */
.polaroid.polaroid-flip {padding:0;background:transparent;box-shadow:none;perspective:1000px}
.polaroid.polaroid-flip .polaroid-wrapper {position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform 0.6s cubic-bezier(0.4,0,0.2,1);will-change:transform}
.polaroid.polaroid-flip.flipped .polaroid-wrapper {transform:rotateY(180deg)}
.polaroid-front {background:#fff;padding:12px 12px 40px 12px;box-shadow:0 4px 15px rgba(0,0,0,0.3);-webkit-backface-visibility:hidden;backface-visibility:hidden}
.polaroid-back{position:absolute;top:0;left:0;width:100%;height:100%;background:#1a1a1a;padding:20px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:rotateY(180deg);box-shadow:0 4px 15px rgba(0,0,0,0.3);cursor:pointer}
.polaroid-back-title{font-family:var(--font-display);font-size:1.1rem;color:#fff;margin-bottom:8px;font-style:italic;line-height:1.4}
.polaroid-back-desc{font-size:0.8rem;color:rgba(255,255,255,0.75);font-style:italic;margin:0 0 10px;line-height:1.4}
.polaroid-back-period{font-family:'Courier New', monospace;font-size:0.85rem;color:#d4a574;letter-spacing:1px;font-weight:600;margin-top:auto}
.polaroid.polaroid-flip:active .polaroid-wrapper,.polaroid.polaroid-flip.dragging .polaroid-wrapper {box-shadow:none} /* handled by front/back shadows */
.polaroid.polaroid-flip:active .polaroid-front,.polaroid.polaroid-flip.dragging .polaroid-front {box-shadow:0 15px 40px rgba(0,0,0,0.5)}
.polaroid.polaroid-flip:active .polaroid-back,.polaroid.polaroid-flip.dragging .polaroid-back {box-shadow:0 15px 40px rgba(0,0,0,0.5)}
.polaroid-developing{width:100%;aspect-ratio:1;background:linear-gradient(135deg,#2a1f1a 0%,#1a1210 40%,#0f0c08 70%,#1e1510 100%)}

.polaroid-btn-flip {
    position: absolute;
    bottom: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(0, 0, 0, 0.1);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
    font-size: 14px;
    z-index: 10;
    transition: transform 0.2s ease, background 0.2s ease;
    padding: 0;
}
.polaroid-btn-flip:hover {
    transform: scale(1.1) rotate(180deg);
    background: #fff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
.polaroid-back .polaroid-btn-flip {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.2);
}
.polaroid-back .polaroid-btn-flip:hover {
    background: rgba(255, 255, 255, 0.3);
}

/* PORTRAIT — WISHLIST */

.wishlist-section{padding:var(--space-xl) var(--space-lg)}
.wishlist-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--space-lg);justify-content:center}
.wish-tab{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:8px 16px;font-size:0.75rem;color:var(--color-text-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);display:flex;align-items:center;gap:6px}
.wish-tab:hover{border-color:var(--color-accent);color:var(--color-text)}
.wish-tab.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}
.tab-icon{font-size:0.9rem}
.wishlist-grid,.gouts-grid,.essentiels-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:16px}
.wish-card{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-card);border:1px solid var(--color-border);cursor:pointer}
.wish-card img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-normal) var(--ease-out)}
.wish-card:hover img{transform:scale(1.05)}
.wish-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(145deg, var(--color-bg-card) 0%, var(--color-accent-dim) 100%)}
.wish-placeholder-icon{font-size:2rem;opacity:0.5}
.wish-placeholder-text{font-size:0.75rem;color:var(--color-text-muted);text-align:center;padding:0 16px}
.wish-card-category{position:absolute;top:8px;left:8px;font-size:0.6rem;text-transform:uppercase;letter-spacing:0.05em;padding:4px 8px;border-radius:var(--radius-sm);background:rgba(0, 0, 0, 0.6);color:#fff}
.wish-card-priority{position:absolute;top:8px;right:8px;font-size:0.6rem;padding:4px 8px;border-radius:var(--radius-sm)}
.wish-card-priority.bientot{background:rgba(106, 168, 196, 0.9);color:#fff}
.wish-card-priority.unjour{background:rgba(212, 165, 116, 0.9);color:#000}
.wish-card-priority.peutetre{background:rgba(154, 152, 148, 0.9);color:#fff}
.wish-card-overlay{position:absolute;bottom:0;left:0;right:0;padding:16px;background:linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, transparent 100%)}
.wish-card-title{font-family:var(--font-display);font-size:0.9rem;color:#fff;margin-bottom:4px}
.wish-card-meta{font-size:0.7rem;color:rgba(255, 255, 255, 0.7)}
.wish-card-desc{font-size:0.7rem;color:rgba(255, 255, 255, 0.6);margin-top:8px;display:none}
.wish-card:hover .wish-card-desc{display:block}
.wish-card-link{position:absolute;bottom:8px;right:8px;width:28px;height:28px;background:rgba(255, 255, 255, 0.9);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}
.wish-card:hover .wish-card-link{opacity:1}
.wish-card-link svg{width:14px;height:14px;color:var(--color-bg)}
.wish-lightbox{position:fixed;inset:0;background:rgba(0, 0, 0, 0.9);display:none;align-items:center;justify-content:center;z-index:1000;padding:20px;cursor:pointer}
.wish-lightbox.active{display:flex}
.wish-lightbox-inner{max-width:480px;width:100%;max-height:90vh;display:flex;flex-direction:column;border-radius:var(--radius-md);overflow:hidden;overflow-y:auto;background:var(--color-bg-card);border:1px solid var(--color-border);cursor:default}
.wish-lightbox-img{width:100%;object-fit:contain;background:#000;display:block}
.wish-lightbox-info{padding:20px;display:flex;flex-direction:column}
.wish-lightbox-header{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.wish-lightbox-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600}
.wish-lightbox-meta{font-size:0.8rem;color:var(--color-text-muted)}
.wish-lightbox-badges{display:flex;align-items:center;gap:6px;margin-bottom:12px}
.wish-lightbox-category{display:inline-block;font-size:0.65rem;text-transform:uppercase;letter-spacing:0.05em;padding:3px 8px;border-radius:var(--radius-sm);background:var(--color-accent-dim);color:var(--color-accent)}
.wish-lightbox-priority{display:inline-block;font-size:0.65rem;padding:3px 8px;border-radius:var(--radius-sm)}
.wish-lightbox-priority.bientot{background:rgba(106, 168, 196, 0.9);color:#fff}
.wish-lightbox-priority.unjour{background:rgba(212, 165, 116, 0.9);color:#000}
.wish-lightbox-priority.peutetre{background:rgba(154, 152, 148, 0.9);color:#fff}
.wish-lightbox-desc{font-size:0.85rem;color:var(--color-text-secondary);line-height:1.5}
.wish-lightbox-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:0.8rem;color:var(--color-accent);text-decoration:none}
.wish-lightbox-link:hover{text-decoration:underline}
.wish-permalink{color:var(--color-accent);text-decoration:none;font-size:0.8rem;margin-top:12px;align-self:flex-end}
.wish-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255, 255, 255, 0.15);border:none;color:#fff;font-size:2rem;width:48px;height:48px;border-radius:50%;cursor:pointer;display:none;align-items:center;justify-content:center;transition:background var(--duration-fast) var(--ease-out)}
.wish-lightbox-nav:hover{background:rgba(255, 255, 255, 0.3)}
.wish-lightbox-nav.visible{display:flex}
.wish-lightbox-prev{left:20px}
.wish-lightbox-next{right:20px}
.gouts-grid{transition:opacity 0.25s ease}
.gouts-grid.grid-fading{opacity:0}
.empty-state-full{grid-column:1 / -1;text-align:center;padding:var(--space-xl);color:var(--color-text-muted)}

/* ADRESSES */

.adresses-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--space-lg);justify-content:center}
.adresses-filter{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:8px 16px;font-size:0.75rem;color:var(--color-text-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);display:flex;align-items:center;gap:6px;font-family:var(--font-body)}
.adresses-filter:hover{border-color:var(--color-accent);color:var(--color-text)}
.adresses-filter.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}
.adresses-filter-count{font-size:0.6rem;opacity:0.7}
.adresses-filter:focus-visible{box-shadow:0 0 0 3px var(--color-accent)}
.adresses-filter:focus{outline:none}
.adresses-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:16px;transition:opacity 0.25s ease}
.adresses-grid.grid-fading{opacity:0}
.adresse-card{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-card);border:1px solid var(--color-border);cursor:pointer}
.adresse-card img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-normal) var(--ease-out)}
.adresse-card:hover img{transform:scale(1.05)}
.adresse-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(145deg, var(--color-bg-card) 0%, var(--color-accent-dim) 100%)}
.adresse-placeholder-icon{font-size:2rem;opacity:0.5}
.adresse-placeholder-text{font-size:0.75rem;color:var(--color-text-muted);text-align:center;padding:0 16px}
.adresse-rang{position:absolute;top:8px;right:8px;font-family:var(--font-display);font-size:0.85rem;font-weight:700;color:#fff;background:var(--color-accent);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.adresse-card-category{position:absolute;top:8px;left:8px;font-size:0.6rem;text-transform:uppercase;letter-spacing:0.05em;padding:4px 8px;border-radius:var(--radius-sm);background:rgba(0, 0, 0, 0.6);color:#fff}
.adresse-card-overlay{position:absolute;bottom:0;left:0;right:0;padding:16px;background:linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, transparent 100%)}
.adresse-card-title{font-family:var(--font-display);font-size:0.9rem;color:#fff;margin-bottom:2px}
.adresse-arr{font-size:0.7rem;color:rgba(255, 255, 255, 0.7)}
.adresse-lightbox{position:fixed;inset:0;background:rgba(0, 0, 0, 0.9);display:none;align-items:center;justify-content:center;z-index:1000;padding:20px;cursor:pointer}
.adresse-lightbox.active{display:flex}
.adresse-lb-inner{max-width:480px;width:100%;max-height:90vh;display:flex;flex-direction:column;border-radius:var(--radius-md);overflow:hidden;overflow-y:auto;background:var(--color-bg-card);border:1px solid var(--color-border);cursor:default}
.adresse-lb-img{width:100%;object-fit:contain;background:#000;display:block}
.adresse-lb-info{padding:20px;display:flex;flex-direction:column}
.adresse-lb-header{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
.adresse-lb-rang{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-accent)}
.adresse-lb-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600}
.adresse-lb-category{display:inline-block;font-size:0.65rem;text-transform:uppercase;letter-spacing:0.05em;padding:3px 8px;border-radius:var(--radius-sm);background:var(--color-accent-dim);color:var(--color-accent);margin-bottom:12px}
.adresse-lb-adresse{font-size:0.8rem;color:var(--color-text-muted);margin-bottom:8px}
.adresse-lb-desc{font-size:0.85rem;color:var(--color-text-secondary);line-height:1.5}
.adresse-lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255, 255, 255, 0.15);border:none;color:#fff;font-size:2rem;width:48px;height:48px;border-radius:50%;cursor:pointer;display:none;align-items:center;justify-content:center;transition:background var(--duration-fast) var(--ease-out)}
.adresse-lb-nav:hover{background:rgba(255, 255, 255, 0.3)}
.adresse-lb-nav.visible{display:flex}
.adresse-lb-prev{left:20px}
.adresse-lb-next{right:20px}
.adresse-card-link{position:absolute;bottom:8px;right:8px;width:28px;height:28px;background:rgba(255, 255, 255, 0.9);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}
.adresse-card:hover .adresse-card-link{opacity:1}
.adresse-card-link svg{width:14px;height:14px;color:var(--color-bg)}
.adresse-lb-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:0.8rem;color:var(--color-accent);text-decoration:none}
.adresse-lb-link:hover{text-decoration:underline}
.adresse-lb-permalink{color:var(--color-accent);text-decoration:none;font-size:0.8rem;margin-top:12px;align-self:flex-end}

/* PORTRAIT — CARNET */

.seo-carnet,.seo-essentiels,.seo-gouts,.seo-envies,.seo-adresses,.seo-news{display:none}
.carnet-section{padding:var(--space-xl) var(--space-lg)}
.carnet-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--space-lg);justify-content:center}
.carnet-filter{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:6px 14px;font-size:0.7rem;color:var(--color-text-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}
.carnet-filter:hover{border-color:var(--color-accent);color:var(--color-accent)}
.carnet-filter.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}
.carnet-filter-count{font-size:0.6rem;opacity:0.7;margin-left:4px}
.carnet-feed{display:grid;grid-template-columns:1fr;gap:16px}
.carnet-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;transition:all var(--duration-normal) var(--ease-out);opacity:0;transform:translateY(20px);display:flex;flex-direction:column}
.carnet-card.show{opacity:1;transform:translateY(0)}
.carnet-card:hover{border-color:var(--color-accent)}
.carnet-card-date{font-size:0.65rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-muted);margin-bottom:12px}
.carnet-card-content{font-size:0.875rem;color:var(--color-text-secondary);line-height:1.6}
.carnet-card-content.quote{font-style:italic;border-left:3px solid var(--color-accent);padding-left:16px}
.carnet-card-author{font-size:0.75rem;color:var(--color-accent);margin-top:12px}
.carnet-card-image{width:100%;border-radius:var(--radius-sm);margin-bottom:12px;cursor:pointer}
.carnet-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.carnet-tag{font-size:0.7rem;color:var(--color-text-muted);background:var(--color-surface);padding:2px 8px;border-radius:var(--radius-sm);font-weight:600}
.carnet-permalink{color:var(--color-accent);text-decoration:none;font-size:0.8rem;margin-top:12px;align-self:flex-end}
.carnet-card.highlight{animation:carnet-highlight 2s ease-out}
@keyframes carnet-highlight{0%,30%{box-shadow:0 0 0 3px var(--color-accent)}100%{box-shadow:none}}
.carnet-lightbox{position:fixed;inset:0;background:rgba(0, 0, 0, 0.95);display:none;align-items:center;justify-content:center;z-index:1000;padding:20px;cursor:pointer}
.carnet-lightbox.active{display:flex}
.carnet-lightbox img{max-width:100%;max-height:100%;object-fit:contain}
.carnet-loader{text-align:center;padding:30px;display:none;grid-column:1 / -1}
.carnet-loader.visible{display:block}
.carnet-loader-text{font-size:0.8rem;color:var(--color-text-muted)}
.carnet-sentinel{height:1px;grid-column:1 / -1}
.carnet-year-separator{grid-column:1 / -1;display:flex;align-items:center;gap:16px;padding:12px 0 4px}
.carnet-year-label{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--color-text-muted);white-space:nowrap}
.carnet-year-line{flex:1;height:1px;background:var(--color-border)}
.carnet-card.memoriam.show{opacity:0.65}
.carnet-card.memoriam .carnet-card-content{font-size:0.8rem;color:var(--color-text-muted)}
.carnet-card.memoriam .carnet-card-date{border-bottom:1px dashed var(--color-border);padding-bottom:8px}
.carnet-empty{grid-column:1 / -1;text-align:center;padding:var(--space-xl);color:var(--color-text-muted);font-size:0.875rem}
.carnet-card-video{position:relative;width:100%;border-radius:var(--radius-sm);margin-bottom:12px;cursor:pointer;overflow:hidden;aspect-ratio:16 / 9;background:#000}
.carnet-card-video img{width:100%;height:100%;object-fit:cover;display:block}
.carnet-card-video-play{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:56px;height:40px;background:rgba(255, 0, 0, 0.85);border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background var(--duration-fast) var(--ease-out);pointer-events:none}
.carnet-card-video:hover .carnet-card-video-play{background:rgba(255, 0, 0, 1)}
.carnet-card-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}

/* RESPONSIVE */

@media(max-width:600px){
.wish-lightbox-prev{left:8px}
.wish-lightbox-next{right:8px}
.wish-lightbox-nav{width:36px;height:36px;font-size:1.5rem}
.vision-quote{display:none}
.souvenirs-view-scatter .polaroid-container{height:100vh;min-height:500px}
.polaroid{width:130px;padding:8px 8px 24px 8px}
.polaroid-front{padding:8px 8px 30px 8px}
.polaroid-back{padding:12px}
.polaroid-back-title{font-size:0.95rem}
.polaroid-caption{font-size:0.65rem;margin-top:8px}
.polaroid-btn-flip{width:36px;height:36px}
}

@media(min-width:601px){
.stats-grid{grid-template-columns:repeat(3, 1fr);gap:16px}
.stats-grid.large{grid-template-columns:repeat(4, 1fr)}
.stats-highlights-row{grid-template-columns:repeat(3, 1fr);gap:16px}
.stat-card-number{font-size:3rem}
.timeline-col-label{display:block}
.bio-portrait{width:280px}
.wishlist-grid,.gouts-grid,.essentiels-grid{grid-template-columns:repeat(3, 1fr)}
.adresses-grid{grid-template-columns:repeat(3, 1fr)}
.carnet-feed{grid-template-columns:repeat(2, 1fr)}
}

@media(min-width:901px){
.stats-grid{gap:20px}
.stats-grid.large{grid-template-columns:repeat(5, 1fr)}
.stat-card{padding:28px 20px}
.stat-card-number{font-size:3rem}
.stat-highlight{padding:20px}
.stat-highlight-value{font-size:1.1rem}
.stats-highlights-row{grid-template-columns:repeat(6, 1fr)}
.timeline-container{padding:0 40px 80px}
.timeline-items-grid{gap:30px}
.timeline-item{padding:20px}
.bio-portrait{width:320px}
.wishlist-grid,.gouts-grid,.essentiels-grid{grid-template-columns:repeat(4, 1fr)}
.adresses-grid{grid-template-columns:repeat(4, 1fr)}
}
