/* ═══════════════════════════════════════════════════════
   CLM — Design System partagé
   Référence : index.html + profil.html
   ═══════════════════════════════════════════════════════ */

/* ── TOKENS ── */
:root {
  --clr-primary:      #f0a500;
  --clr-dark:         #1a1a2e;
  --clr-bg:           #f4f4ef;
  --clr-surface:      #fff;
  --clr-border:       #efefea;
  --clr-border-md:    #e0e0d8;
  --clr-success:      #27ae60;
  --clr-danger:       #e74c3c;
  --clr-link:         #1a6edb;
  --clr-text-muted:   rgba(26,26,46,0.4);
  --clr-text-faint:   rgba(26,26,46,0.3);
  --font-title:       'Bebas Neue', sans-serif;
  --font-body:        'Nunito', sans-serif;
  --radius-xs:        4px;
  --radius-sm:        5px;
  --radius:           8px;
  --radius-md:        12px;
  --radius-lg:        14px;
  --radius-pill:      20px;
  --shadow-sm:        0 1px 4px rgba(0,0,0,0.07);
  --shadow-md:        0 2px 8px rgba(0,0,0,0.08);
  --shadow-modal:     0 20px 60px rgba(0,0,0,0.28);
}

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* ── BODY ── */
body {
  font-family: var(--font-body);
  background: var(--clr-bg);
  color: var(--clr-dark);
  font-size: 14px;
}

/* ════════════════════════════════════════════════════════
   HEADER / NAV
   ════════════════════════════════════════════════════════ */
header {
  background: #fff;
  padding: 14px 0 0;
  text-align: center;
}
.header-inner {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 14px;
  padding: 0 16px;
}
.header-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.logo-title {
  font-family: var(--font-title);
  font-size: 2rem;
  letter-spacing: 3px;
  color: var(--clr-dark);
  line-height: 1;
}
.logo-title em { color: var(--clr-primary); font-style: normal; white-space: nowrap; }
.header-logo { width: auto; max-width: 80px; object-fit: contain; flex-shrink: 0; border-radius: 4px; align-self: stretch; }
.header-auth-line { display: flex; justify-content: flex-end; background: #1a1a2e; margin-top: 8px; padding: 5px 18px; }
.logo-sub {
  margin-top: 3px;
  font-size: 0.65rem;
  color: rgba(26,26,46,0.45);
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.logo-year {
  font-size: 0.65rem;
  color: rgba(26,26,46,0.35);
  font-weight: 700;
  letter-spacing: 1.5px;
  margin-top: 1px;
  text-transform: uppercase;
}

.auth-pseudo { font-size: 0.72rem; font-weight: 800; color: var(--clr-primary); }
.auth-links a {
  color: rgba(255,255,255,0.65);
  font-size: 0.7rem;
  font-weight: 800;
  text-decoration: none;
  padding: 3px 8px;
  border-radius: var(--radius-xs);
  border: 1px solid rgba(255,255,255,0.2);
  margin-left: 4px;
  transition: color 0.15s, background 0.15s;
}
.auth-links a:hover { color: #fff; background: rgba(255,255,255,0.1); }
.btn-login-header {
  background: var(--clr-primary);
  color: var(--clr-dark);
  border: none;
  border-radius: var(--radius-sm);
  padding: 4px 12px;
  font-family: var(--font-body);
  font-weight: 800;
  font-size: 0.7rem;
  cursor: pointer;
}

.header-nav {
  background: #1a1a2e;
  padding: 6px 18px 10px;
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}
.header-nav a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 12px;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(255,255,255,0.2);
  color: rgba(255,255,255,0.65);
  text-decoration: none;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.5px;
  transition: background 0.2s, color 0.2s;
}
.header-nav a:hover { background: rgba(255,255,255,0.1); color: #fff; }
.icon-mono { filter: grayscale(1) invert(1); }
.header-nav a.active {
  background: rgba(240,165,0,0.12);
  color: var(--clr-primary);
  border-color: rgba(240,165,0,0.45);
}
.header-nav a.nav-disabled { color: rgba(255,255,255,0.2); border-color: rgba(255,255,255,0.07); pointer-events: none; cursor: default; }
.header-nav a.nav-disabled:hover { background: none; color: rgba(255,255,255,0.2); }

/* ════════════════════════════════════════════════════════
   FILTER BAR (barre de recherche / filtres sous le header)
   ════════════════════════════════════════════════════════ */
.filter-bar { background: var(--clr-dark); padding: 8px 12px 10px; position: sticky; top: 0; z-index: 100; display: flex; align-items: flex-start; gap: 10px; }
.filter-bar-center { max-width: 700px; margin: 0 auto; width: 100%; }
.filter-col-left { display: flex; flex-direction: column; gap: 5px; flex-shrink: 0; }
.filter-col-mid { flex: 1; min-width: 0; }
.search-input-wrap { width: 100%; position: relative; }
.search-input-wrap input { width: 100%; padding: 9px 36px 9px 12px; border-radius: 6px; border: none; background: rgba(255,255,255,0.1); color: #fff; font-family: var(--font-body); font-size: 0.88rem; font-weight: 600; outline: none; }
.search-input-wrap input::placeholder { color: rgba(255,255,255,0.35); }
#ms-membre-input::placeholder { color: rgba(255,255,255,0.35); }
.search-clear { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); background: none; border: none; color: rgba(255,255,255,0.4); font-size: 1rem; cursor: pointer; display: none; padding: 0; }
.search-clear.visible { display: block; }
.map-toggle-btn { background: rgba(240,165,0,0.12); border: 1px solid rgba(240,165,0,0.35); border-radius: 6px; color: var(--clr-primary); font-size: 0.68rem; font-weight: 800; font-family: var(--font-body); padding: 4px 12px; cursor: pointer; transition: color 0.2s, border-color 0.2s, background 0.2s; }
.mth-btn { padding: 3px 9px; border-radius: var(--radius-md); border: 1px solid rgba(255,255,255,0.18); background: transparent; color: rgba(255,255,255,0.5); font-family: var(--font-body); font-weight: 800; font-size: 0.65rem; cursor: pointer; transition: all 0.15s; }
.mth-btn:hover { background: rgba(255,255,255,0.1); color: #fff; }
.mth-btn.active { background: var(--clr-primary); color: var(--clr-dark); border-color: var(--clr-primary); }
.fav-filter-btn.active { background: var(--clr-primary); color: var(--clr-dark); border-color: var(--clr-primary); }
@media (max-width: 480px) {
  .filter-bar { flex-wrap: wrap; }
  .filter-col-left { flex-direction: row; width: 100%; }
  .filter-col-mid { width: 100%; flex: none; }
}

/* ════════════════════════════════════════════════════════
   MAIN / LAYOUT
   ════════════════════════════════════════════════════════ */
main { max-width: 700px; margin: 0 auto; padding: 16px 12px 60px; }

/* ════════════════════════════════════════════════════════
   SECTION (style cards — profil / marathons)
   ════════════════════════════════════════════════════════ */
.section {
  background: var(--clr-surface);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  margin-bottom: 16px;
  overflow: hidden;
}
.section-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--clr-border);
  flex-wrap: wrap;
}
.section-toggle {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 0.75rem;
  color: rgba(26,26,46,0.4);
  padding: 0 4px;
  margin-right: 4px;
  transition: transform 0.2s;
  flex-shrink: 0;
}
.section-toggle.collapsed { transform: rotate(-90deg); }
.section.collapsed > *:not(.section-header) { display: none !important; }
.section-title {
  font-family: var(--font-title);
  font-size: 1rem;
  letter-spacing: 2px;
  color: var(--clr-dark);
}
.section-count {
  margin-left: auto;
  font-size: 0.65rem;
  font-weight: 800;
  color: var(--clr-text-muted);
  letter-spacing: 1px;
  white-space: nowrap;
}
.section-body  { padding: 12px 16px; }
.section-footer { padding: 10px 16px 14px; border-top: 1px solid var(--clr-border); }
.no-data { color: var(--clr-text-faint); font-size: 0.82rem; padding: 12px 16px; }

/* ════════════════════════════════════════════════════════
   MODAL
   ════════════════════════════════════════════════════════ */
.modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.52);
  z-index: 500;
  align-items: center;
  justify-content: center;
  padding: 12px;
}
.modal-overlay.open { display: flex; }
.modal-box {
  background: var(--clr-surface);
  border-radius: var(--radius-md);
  width: 480px;
  max-width: 96vw;
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow-modal);
}
.modal-header {
  background: var(--clr-dark);
  padding: 14px 18px;
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}
.modal-title {
  font-family: var(--font-title);
  font-size: 1rem;
  letter-spacing: 2px;
  color: #fff;
}
.modal-close {
  background: none;
  border: none;
  color: rgba(255,255,255,0.4);
  font-size: 1.2rem;
  cursor: pointer;
}
.modal-close:hover { color: #fff; }
.modal-body { padding: 20px; overflow-y: auto; flex: 1; }
.modal-footer {
  padding: 12px 20px;
  border-top: 1px solid var(--clr-border);
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  flex-shrink: 0;
}

/* ════════════════════════════════════════════════════════
   FORMULAIRES
   ════════════════════════════════════════════════════════ */
.form-group { margin-bottom: 14px; }
.form-label {
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
  color: rgba(26,26,46,0.5);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: 5px;
}
.form-input {
  width: 100%;
  padding: 9px 12px;
  border: 2px solid var(--clr-border-md);
  border-radius: 7px;
  font-family: var(--font-body);
  font-size: 0.88rem;
  font-weight: 700;
  outline: none;
  transition: border-color 0.2s;
}
.form-input:focus { border-color: var(--clr-primary); }

/* ════════════════════════════════════════════════════════
   BOUTONS COMMUNS
   ════════════════════════════════════════════════════════ */
.abtn {
  padding: 7px 14px;
  border-radius: 6px;
  border: 1px solid var(--clr-border-md);
  background: var(--clr-surface);
  font-family: var(--font-body);
  font-weight: 800;
  font-size: 0.75rem;
  cursor: pointer;
  color: var(--clr-dark);
}
.abtn:not(.abtn-primary):hover { background: var(--clr-bg); }
.abtn-primary { background: var(--clr-dark) !important; color: #fff !important; }
.abtn-primary:hover { background: var(--clr-primary) !important; color: var(--clr-dark) !important; }
.abtn-danger  { background: #fde8e8 !important; color: var(--clr-danger) !important; border-color: #f5c0c0 !important; }

.btn-more {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 18px;
  border-radius: var(--radius-pill);
  border: 1.5px solid var(--clr-border-md);
  background: var(--clr-surface);
  font-family: var(--font-body);
  font-weight: 800;
  font-size: 0.75rem;
  cursor: pointer;
  color: rgba(26,26,46,0.6);
  transition: all 0.15s;
}
.btn-more:hover { border-color: var(--clr-primary); color: var(--clr-dark); }

.btn-edit-inline {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 11px;
  border-radius: var(--radius-pill);
  border: 1.5px solid var(--clr-border-md);
  background: var(--clr-surface);
  font-family: var(--font-body);
  font-weight: 800;
  font-size: 0.68rem;
  cursor: pointer;
  color: rgba(26,26,46,0.6);
  letter-spacing: 0.3px;
  transition: all 0.15s;
  white-space: nowrap;
}
.btn-edit-inline:hover { border-color: var(--clr-primary); color: var(--clr-dark); background: #fffbf0; }

/* ════════════════════════════════════════════════════════
   FILTRES RÉGION
   ════════════════════════════════════════════════════════ */
.mc-filters { display: flex; gap: 5px; flex-wrap: wrap; }
.mc-filter-btn {
  padding: 3px 10px;
  border-radius: var(--radius-pill);
  border: 1.5px solid var(--clr-border-md);
  background: var(--clr-surface);
  font-family: var(--font-body);
  font-weight: 800;
  font-size: 0.65rem;
  cursor: pointer;
  color: rgba(26,26,46,0.55);
  letter-spacing: 0.3px;
  transition: all 0.15s;
  white-space: nowrap;
}
.mc-filter-btn:hover { border-color: var(--clr-primary); color: var(--clr-dark); }
.mc-filter-btn.active { background: var(--clr-primary); color: var(--clr-dark); border-color: var(--clr-primary); }

.mname-link { font-weight: 800; color: #1a1a2e; text-decoration: none; transition: color 0.15s; }
.mname-link:hover { color: var(--clr-primary); text-decoration: underline; }

/* ════════════════════════════════════════════════════════
   MEMBRES
   ════════════════════════════════════════════════════════ */
.membre-line {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 0;
  border-bottom: 1px solid var(--clr-border);
}
.membre-line:last-child { border-bottom: none; }
.membre-info { flex: 1; }
.membre-pseudo { font-size: 0.82rem; font-weight: 800; color: var(--clr-dark); }
.membre-comment { font-size: 0.7rem; color: rgba(26,26,46,0.5); margin-top: 1px; }

/* ════════════════════════════════════════════════════════
   RDV BOUTON COMPTEUR
   ════════════════════════════════════════════════════════ */
.rdv-count-btn {
  background: none;
  border: 1px solid var(--clr-border-md);
  border-radius: var(--radius-sm);
  cursor: pointer;
  padding: 3px 6px;
  font-family: var(--font-body);
  font-size: 0.7rem;
  font-weight: 800;
  color: rgba(26,26,46,0.5);
  transition: all 0.15s;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  white-space: nowrap;
}
.rdv-count-btn:hover { border-color: var(--clr-primary); color: var(--clr-primary); }
.rdv-count-btn.has-members { border-color: var(--clr-primary); color: var(--clr-primary); background: #fffbeb; }

/* ════════════════════════════════════════════════════════
   BADGE PdC
   ════════════════════════════════════════════════════════ */
.pdc-badge {
  background: var(--clr-primary);
  color: var(--clr-dark);
  font-size: 0.6rem;
  font-weight: 800;
  padding: 1px 5px;
  border-radius: 3px;
  margin-left: 5px;
  vertical-align: middle;
  letter-spacing: 0.3px;
}

/* ════════════════════════════════════════════════════════
   MSG
   ════════════════════════════════════════════════════════ */
.msg { text-align: center; padding: 32px 16px; color: var(--clr-text-faint); font-size: 0.85rem; }

/* ════════════════════════════════════════════════════════
   TOAST
   ════════════════════════════════════════════════════════ */
.toast {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: var(--clr-dark);
  color: #fff;
  padding: 10px 20px;
  border-radius: var(--radius);
  font-size: 0.82rem;
  font-weight: 700;
  opacity: 0;
  transition: all 0.3s;
  z-index: 9999;
  pointer-events: none;
  white-space: nowrap;
}
.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.toast.success { background: var(--clr-success); }
.toast.error   { background: var(--clr-danger); }

/* ════════════════════════════════════════════════════════
   FOOTER
   ════════════════════════════════════════════════════════ */
footer {
  border-top: 1px solid #e8e8e0;
  padding: 10px 16px;
  background: var(--clr-bg);
}
.footer-inner {
  max-width: 700px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.footer-nav { display: flex; gap: 4px; }
.footer-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid rgba(26,26,46,0.12);
  color: rgba(26,26,46,0.4);
  text-decoration: none;
  font-size: 0.95rem;
  transition: background 0.2s, color 0.2s;
}
.footer-nav a:hover { background: rgba(26,26,46,0.08); color: var(--clr-dark); }

/* ════════════════════════════════════════════════════════
   RENDU PROGRESSIF — header d'abord, contenu ensuite
   ════════════════════════════════════════════════════════ */
@keyframes clm-reveal          { from { opacity: 0; } to { opacity: 1; } }
@keyframes clm-reveal-fallback { to   { opacity: 1; } }

/* Masqué pendant la vérification auth ; fallback sécurité 2.5s */
body:not(.auth-ready) .page-title,
body:not(.auth-ready) .visitor-hero,
body:not(.auth-ready) #member-hero,
body:not(.auth-ready) .feature-cards,
body:not(.auth-ready) #visitor-features,
body:not(.auth-ready) #visitor-features-cta,
body:not(.auth-ready) .filter-bar,
body:not(.auth-ready) .map-block,
body:not(.auth-ready) main,
body:not(.auth-ready) .section,
body:not(.auth-ready) footer {
  opacity: 0;
  animation: clm-reveal-fallback 0.01s 2.5s linear forwards;
}

/* Révélation en cascade une fois auth-ready */
body.auth-ready .page-title,
body.auth-ready .visitor-hero,
body.auth-ready #member-hero,
body.auth-ready .feature-cards,
body.auth-ready #visitor-features,
body.auth-ready #visitor-features-cta { animation: clm-reveal 0.25s ease both; }
body.auth-ready .filter-bar           { animation: clm-reveal 0.25s ease 0.05s both; }
body.auth-ready .map-block            { animation: clm-reveal 0.25s ease 0.08s both; }
body.auth-ready .section              { animation: clm-reveal 0.25s ease 0.10s both; }

/* ════════════════════════════════════════════════════════
   POPUP RDV — commun marathons / communauté / profil
   ════════════════════════════════════════════════════════ */
.btn-join { width:100%; padding:10px; background:#1a1a2e; color:#fff; border:none; border-radius:8px; font-family:'Nunito',sans-serif; font-weight:800; font-size:0.88rem; cursor:pointer; transition:background 0.2s; margin-top:12px; }
.btn-join:hover { background:#f0a500; color:#1a1a2e; }
.btn-join:disabled { opacity:0.5; cursor:not-allowed; }
.btn-leave { width:100%; padding:10px; background:#fde8e8; color:#e74c3c; border:none; border-radius:8px; font-family:'Nunito',sans-serif; font-weight:800; font-size:0.88rem; cursor:pointer; margin-top:8px; }
.input-comment { width:100%; padding:8px 10px; border:1px solid #e8e8e0; border-radius:6px; font-family:'Nunito',sans-serif; font-size:0.82rem; font-weight:600; outline:none; margin-top:8px; box-sizing:border-box; }
.input-comment:focus { border-color:#f0a500; }
.rdv-details-block { background:#f8f7f2; border-radius:8px; padding:12px 14px; margin-bottom:14px; }
.rdv-details-hdr { display:flex; justify-content:space-between; align-items:center; font-weight:800; font-size:0.72rem; color:rgba(26,26,46,0.5); text-transform:uppercase; letter-spacing:0.5px; margin-bottom:10px; }
.rdv-details-hdr button { background:#1a1a2e; border:none; border-radius:5px; padding:3px 9px; font-size:0.7rem; font-weight:800; cursor:pointer; color:#fff; font-family:'Nunito',sans-serif; transition:background 0.15s; }
.rdv-details-hdr button:hover { background:#f0a500; color:#1a1a2e; }
.rdv-membre-extra { font-size:0.72rem; color:rgba(26,26,46,0.5); margin-top:3px; }
.rdv-membre-extra a { color:#f0a500; font-weight:700; text-decoration:none; }
.rdv-my-info { background:#f0f9f4; border:1px solid #b7e4c7; border-radius:8px; padding:12px 14px; margin-top:14px; }
.rdv-my-info-title { font-weight:800; font-size:0.72rem; color:rgba(26,26,46,0.55); text-transform:uppercase; letter-spacing:0.5px; margin-bottom:10px; }
.rdv-my-info select, .rdv-my-info input[type=text] { width:100%; padding:7px 10px; border:1px solid #d4edda; border-radius:6px; font-size:0.82rem; font-family:'Nunito',sans-serif; font-weight:700; margin-bottom:7px; box-sizing:border-box; outline:none; background:#fff; }
.rdv-my-info select { -webkit-appearance:none; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231a1a2e' stroke-opacity='.4' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 10px center; padding-right:28px; }
.rdv-my-info select:focus, .rdv-my-info input[type=text]:focus { border-color:#27ae60; }
.rdv-my-info .btn-save-info { width:100%; padding:8px; background:#27ae60; color:#fff; border:none; border-radius:6px; font-family:'Nunito',sans-serif; font-weight:800; font-size:0.82rem; cursor:pointer; }
.pdc-edit-form { background:#fff; border:1px solid #ece9e0; border-radius:7px; padding:12px; margin-top:10px; }
.pdc-edit-form .pdc-section-title { font-weight:800; font-size:0.7rem; color:#f0a500; text-transform:uppercase; letter-spacing:0.4px; margin-top:12px; margin-bottom:6px; padding-top:10px; border-top:1px solid #f0efe8; }
.pdc-edit-form .pdc-section-title:first-child { border-top:none; margin-top:0; padding-top:0; }
.pdc-edit-form label { font-size:0.7rem; font-weight:800; color:rgba(26,26,46,0.45); display:block; margin-bottom:3px; }
.pdc-edit-form input[type=text], .pdc-edit-form input[type=url] { width:100%; padding:7px 10px; border:1px solid #e0e0d8; border-radius:5px; font-size:0.82rem; font-family:'Nunito',sans-serif; margin-bottom:7px; box-sizing:border-box; outline:none; }
.pdc-edit-form input[type=text]:focus, .pdc-edit-form input[type=url]:focus { border-color:#f0a500; }
.pdc-edit-form textarea { width:100%; padding:7px 10px; border:1px solid #e0e0d8; border-radius:5px; font-size:0.82rem; font-family:'Nunito',sans-serif; margin-bottom:7px; box-sizing:border-box; outline:none; resize:vertical; min-height:70px; }
.pdc-edit-form textarea:focus { border-color:#f0a500; }
.btn-save-pdc { width:100%; padding:9px; background:#f0a500; color:#1a1a2e; border:none; border-radius:6px; font-family:'Nunito',sans-serif; font-weight:800; font-size:0.82rem; cursor:pointer; margin-top:4px; }
.time-picker { display:flex; align-items:center; gap:4px; margin-bottom:7px; }
.time-sel { padding:5px 8px; border:1px solid #e0e0d8; border-radius:5px; font-size:0.8rem; font-family:'Nunito',sans-serif; font-weight:700; cursor:pointer; outline:none; background:#fff; -webkit-appearance:none; appearance:none; }
.time-sel:focus { border-color:#f0a500; }
.time-sep { font-weight:400; font-size:0.85rem; color:#1a1a2e; }
body.auth-ready main                  { animation: clm-reveal 0.25s ease 0.10s both; }
body.auth-ready footer                { animation: clm-reveal 0.25s ease 0.15s both; }
