/* SaezByTim: interface mobile-first, identique sur ordinateur */
:root{color-scheme:dark}*{box-sizing:border-box}
html{scroll-behavior:smooth}body{max-width:520px!important;width:100%;margin:0 auto!important;padding:14px 14px 94px!important;line-height:1.5;min-height:100vh}
main{min-width:0}section{margin:13px 0!important;padding:16px!important;border-radius:16px!important;min-width:0}
h1,h2,h3{line-height:1.2;overflow-wrap:anywhere}h1{font-size:26px!important}h2{font-size:22px}p,a,small{overflow-wrap:anywhere}
button,input,select,textarea{font:inherit;max-width:100%}input:not([type=checkbox]):not([type=color]):not([type=radio]),select,textarea{min-height:44px}button{min-height:42px}form label{max-width:100%}
.site-header{display:flex;flex-direction:column;align-items:stretch!important;gap:12px!important}.site-header h1{margin:0}
.mini-podium{justify-content:flex-start}.podium-label{display:block;flex-basis:100%}
.site-tabs{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,520px);z-index:3000;margin:0!important;padding:8px 6px calc(8px + env(safe-area-inset-bottom));display:flex;justify-content:space-around;gap:2px;overflow-x:auto;background:#202430;box-shadow:0 -8px 28px #07090dbb;border-radius:16px 16px 0 0}
.site-tab{display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal!important;flex:1;min-width:56px;min-height:52px;padding:8px 5px!important;font-size:11px!important;line-height:1.2;border-radius:10px!important}
.site-tab[aria-current=page]{background:#bb6685}
.timeline{padding-bottom:6px;scroll-snap-type:x proximity}.concert-point{scroll-snap-align:start;min-width:155px!important;width:155px!important}
.directory-filter{display:grid!important;grid-template-columns:1fr!important;gap:4px}.directory-filter label{min-width:0!important;margin:5px 0}
#concert-map{height:420px!important;max-width:100%}.map-controls{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}.map-controls label{min-width:0!important;margin:5px 0}
.signup-form .signup-field{grid-template-columns:1fr!important;gap:5px!important}
@media(min-width:850px){body{max-width:560px!important;padding-top:28px!important}.site-tabs{width:560px}}

/* Login: identical compact card on desktops and phones */
.login-card{width:100%;max-width:100%;margin:18px 0!important;padding:22px!important}
.login-intro{color:#c9bfca;margin:0 0 20px}
.login-form{display:flex;flex-direction:column;gap:8px;width:100%}
.login-form label{display:block;width:100%;font-size:14px;font-weight:600;margin:7px 0 0}
.login-form input{display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:12px!important;background:#fdfdfd;color:#151821;border:1px solid #c5bdc6;border-radius:9px;min-height:48px}
.login-form input:focus{outline:3px solid #d68da4;outline-offset:2px}
.login-form button{width:100%;min-height:48px;margin:15px 0 0!important;border-radius:9px;font-weight:700}
@media(min-width:850px){body{max-width:560px!important}.login-card{max-width:100%}}

/* Onglets clairement visibles sous le logo sur PC comme sur mobile */
.site-tabs{position:sticky!important;top:0!important;bottom:auto!important;left:auto!important;transform:none!important;width:100%!important;max-width:100%!important;margin:12px 0 18px!important;border-radius:12px!important;box-shadow:0 5px 22px #080a0eaa!important;padding:7px!important}
.site-tab{min-width:0;flex:1 0 auto;white-space:nowrap!important;font-size:12px!important}
@media(max-width:520px){.site-tabs{overflow-x:auto;justify-content:flex-start}.site-tab{flex:0 0 auto;min-width:74px}}

/* Podium façon F1 : mobile-first, uniquement sur l'accueil */
.f1-podium{background:#242733!important;text-align:center;padding:17px 10px!important}
.f1-podium h2{font-size:20px;margin:2px 0 5px}.f1-podium>p{font-size:12px;color:#eab0c4;margin:0 0 15px}
.f1-stands{display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:end;gap:6px;margin:12px auto 14px;max-width:410px}
.f1-place{display:flex;align-items:center;flex-direction:column;justify-content:flex-end;min-width:0}
.f1-medal{font-size:22px}.f1-initials{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:#b66185;color:white;font-weight:800;font-size:16px;border:2px solid #eab0c4}
.f1-place strong{font-size:12px;margin:7px 0;color:#f7f7fa;white-space:nowrap}
.f1-step{display:grid;place-items:center;width:100%;height:52px;background:linear-gradient(#737886,#4a4d5b);border-radius:9px 9px 2px 2px;font-size:29px;font-weight:900;color:white}
.place-1 .f1-step{height:104px;background:linear-gradient(#d4ac53,#8b642f)}
.place-2 .f1-step{height:74px}.place-3 .f1-step{height:49px;background:linear-gradient(#b47956,#795037)}
.f1-podium>a{display:inline-block;margin:7px 0 0;color:#f2b1c7;text-decoration:none;font-size:13px;font-weight:700}

.concert-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.action-chip{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;background:#a85878;border:1px solid #c97799;border-radius:10px;padding:8px 11px;min-height:40px;font-size:12px;font-weight:700}
.action-chip:hover,.action-chip:focus-visible{background:#ca7699;color:#fff}
.action-chip.generic{background:#464050;border-color:#71677a;color:#e4d3dc}
.action-chip.unavailable{background:#34353d;border:1px solid #41434b;color:#84848e;opacity:.55;cursor:not-allowed;pointer-events:none;filter:grayscale(1)}

.share-panel textarea,.share-panel input{display:block;width:100%;box-sizing:border-box;margin:6px 0 16px;padding:12px;border-radius:9px;background:#f9f9fb;color:#151821;border:1px solid #d2bfc7}.share-panel button{display:block;width:100%;min-height:46px;border-radius:10px}.share-panel label{font-weight:650}

/* Navigation visible, boutons au lieu de liens roses dispersés */
.site-tabs{position:sticky!important;top:0!important;z-index:1000;display:flex!important;flex-wrap:wrap;justify-content:center;overflow:visible!important;gap:6px!important;background:#242734!important;padding:9px!important;border:1px solid #424451;border-radius:14px!important}
.site-tab{flex:1 1 90px!important;white-space:nowrap!important;text-align:center;background:#343743!important;border:1px solid #454857!important;padding:12px 9px!important;color:#fff!important;font-weight:700;border-radius:9px!important;text-decoration:none!important}
.site-tab[aria-current=page]{background:#ba6586!important;border-color:#e4a0b8!important;color:#fff!important}
@media(max-width:520px){.site-tab{flex:1 1 78px!important;font-size:12px!important;padding:11px 6px!important}}

/* Liens sans soulignement sur toutes les pages, avec focus clavier visible */
a,a:link,a:visited,a:hover,a:active{text-decoration:none!important}
a:hover{color:#ffd0e0}
a:focus-visible{outline:2px solid #f0a5b9;outline-offset:3px;border-radius:5px}

/* Frise épurée : date, présences et indicateur de source uniquement */
.timeline-markers{min-height:30px;display:flex;gap:7px;justify-content:center;align-items:center;margin:4px 0}
.source-dot{display:inline-grid;place-items:center;width:26px;height:26px;color:#e6a2b9!important;border:1px solid #bc698b;border-radius:50%;font-size:17px;text-decoration:none!important}
.attending-fans{min-height:36px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center}
.special-note{display:inline-block;position:relative}.special-note summary{cursor:pointer;list-style:none;font-size:21px}.special-note summary::-webkit-details-marker{display:none}
.special-note[open] span{display:block;position:absolute;left:50%;transform:translateX(-50%);bottom:35px;width:min(230px,75vw);padding:10px;background:#3a3040;color:white;border:1px solid #e2a3ba;border-radius:9px;z-index:100;font-size:13px;text-align:left;box-shadow:0 5px 20px #0008}
