
  :root {
    --navy: #1C2340; --navy-light: #252D4A; --navy-mid: #2E3760;
    --orange: #E8832A; --orange-light: #F09A50;
    --cream: #FBF9F6; --white: #FFFFFF; --text: #1C2340;
    --muted: #6B7591; --border: #E4E8F0; --section-bg: #F4F1ED; --green: #16a34a;
  }
  * { margin: 0; padding: 0; box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body { font-family: -apple-system,BlinkMacSystemFont,sans-serif; background:#FDF8F2; color: var(--text); overflow-x: hidden; min-height: 100vh; min-height: 100dvh; }

  /* NAV */
  nav { position: fixed; top: 0; left: 0; right: 0; z-index: 200; background:#FDF8F2; height: 68px; display: flex; align-items: center; padding: 0 2.5rem; justify-content: space-between; box-shadow: 0 2px 24px rgba(0,0,0,0.25); }
  .nav-brand { display: flex; align-items: center; gap: 0.9rem; text-decoration: none; }
  .nav-logo { width: 44px; height: 44px; object-fit: contain; background: white; border-radius: 50%; padding: 3px; }
  .nav-name { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 1rem; color:var(--text); line-height: 1.1; }
  .nav-role { font-size: 0.68rem; color: var(--orange); font-weight: 600; letter-spacing: 0.09em; text-transform: uppercase; }
  .nav-links { display: flex; align-items: center; gap: 0.2rem; list-style: none; }
  .nav-links a { color:var(--muted); text-decoration: none; font-size: 0.8rem; font-weight: 500; padding: 0.45rem 0.8rem; border-radius: 7px; transition: all 0.2s; white-space: nowrap; }
  .nav-links a:hover { color:var(--text); background: rgba(255,255,255,0.1); }
  .nav-link-client { background: rgba(232,131,42,0.15); border: 1px solid rgba(232,131,42,0.35); color: var(--orange) !important; font-weight: 600 !important; }
  .nav-social { display: flex; align-items: center; gap: 0.6rem; }
  .nav-social a { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 8px; background: rgba(255,255,255,0.1); transition: background 0.2s; font-size: 1rem; text-decoration: none; }
  .nav-social a:hover { background: rgba(232,131,42,0.3); }

  /* LOGIN */
  #login-screen { min-height: 100vh; min-height: 100dvh; display: flex; align-items: center; justify-content: center; padding: 6rem 2rem 3rem; position: relative; overflow: hidden; }
  #login-screen::before { content: ''; position: absolute; top: -200px; right: -200px; width: 700px; height: 700px; border-radius: 50%; background: radial-gradient(circle, rgba(232,131,42,0.1) 0%, transparent 65%); pointer-events: none; }
  #login-screen::after { content: ''; position: absolute; bottom: -150px; left: -150px; width: 500px; height: 500px; border-radius: 50%; background: radial-gradient(circle, rgba(46,55,96,0.8) 0%, transparent 70%); pointer-events: none; }
  .login-box { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 24px; padding: 3rem 2.5rem; max-width: 420px; width: 100%; position: relative; z-index: 1; backdrop-filter: blur(10px); }
  .login-icon { width: 70px; height: 70px; background: rgba(232,131,42,0.15); border: 1px solid rgba(232,131,42,0.3); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.8rem; margin: 0 auto 1.5rem; }
  .login-title { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 1.8rem; color:var(--text); text-align: center; margin-bottom: 0.4rem; }
  .login-sub { font-size: 0.85rem; color:var(--muted); text-align: center; margin-bottom: 2rem; line-height: 1.6; }
  .login-label { display: block; font-size: 0.78rem; font-weight: 600; color:var(--muted); letter-spacing: 0.07em; text-transform: uppercase; margin-bottom: 0.5rem; }
  .login-input { width: 100%; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.12); border-radius: 10px; padding: 0.85rem 1.1rem; color:var(--text); font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 0.95rem; outline: none; transition: border-color 0.2s; margin-bottom: 1.5rem; }
  .login-input:focus { border-color: var(--orange); }
  .login-input::placeholder { color:var(--muted); }
  .login-btn { width: 100%; background: var(--orange); color:var(--text); border: none; border-radius: 10px; padding: 0.9rem; font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 0.95rem; font-weight: 600; cursor: pointer; transition: background 0.2s, transform 0.15s; }
  .login-btn:hover { background: var(--orange-light); transform: translateY(-1px); }
  .login-error { display: none; background: rgba(220,38,38,0.15); border: 1px solid rgba(220,38,38,0.3); color: #fca5a5; font-size: 0.82rem; padding: 0.65rem 1rem; border-radius: 8px; margin-top: 1rem; text-align: center; }
  .login-hint { font-size: 0.75rem; color:var(--muted); text-align: center; margin-top: 1.5rem; line-height: 1.5; }
  .login-hint a { color: var(--orange); text-decoration: none; }

  /* ── INSCRIPTION ── */
  #signup-screen { min-height: 100vh; min-height: 100dvh; display: none; align-items: center; justify-content: center; padding: 6rem 2rem 3rem; position: relative; overflow: hidden; }
  #signup-screen::before { content: ''; position: absolute; top: -200px; left: -200px; width: 700px; height: 700px; border-radius: 50%; background: radial-gradient(circle, rgba(232,131,42,0.1) 0%, transparent 65%); pointer-events: none; }
  #signup-screen::after { content: ''; position: absolute; bottom: -150px; right: -150px; width: 500px; height: 500px; border-radius: 50%; background: radial-gradient(circle, rgba(46,55,96,0.8) 0%, transparent 70%); pointer-events: none; }
  .signup-box { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 24px; padding: 2.5rem 2.5rem 2rem; max-width: 460px; width: 100%; position: relative; z-index: 1; backdrop-filter: blur(10px); }
  .signup-steps { display: flex; align-items: center; justify-content: center; gap: 0.5rem; margin-bottom: 2rem; }
  .signup-step { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: 700; border: 2px solid rgba(255,255,255,0.12); color:var(--muted); transition: all 0.3s; }
  .signup-step.active { border-color: var(--orange); color: var(--orange); background: rgba(232,131,42,0.15); }
  .signup-step.done { border-color: #16a34a; color:var(--text); background: #16a34a; }
  .signup-step-line { width: 30px; height: 2px; background: rgba(255,255,255,0.1); border-radius: 2px; transition: background 0.3s; }
  .signup-step-line.done { background: #16a34a; }
  .signup-panel { display: none; animation: qFadeUp 0.3s ease forwards; }
  .signup-panel.active { display: block; }
  .signup-title { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 1.3rem; color:var(--text); text-align: center; margin-bottom: 0.3rem; }
  .signup-title em { color: var(--orange); font-style: italic; }
  .signup-sub { font-size: 0.82rem; color:var(--muted); text-align: center; margin-bottom: 1.8rem; line-height: 1.6; }
  .signup-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; }
  .signup-footer { display: flex; gap: 0.7rem; margin-top: 1.5rem; }
  .signup-back { flex: 0 0 auto; background: rgba(255,255,255,0.07); color:var(--muted); border: 1px solid rgba(255,255,255,0.12); border-radius: 10px; padding: 0.85rem 1.2rem; font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 0.9rem; cursor: pointer; transition: all 0.2s; }
  .signup-back:hover { background: rgba(255,255,255,0.12); color:var(--text); }
  .signup-next { flex: 1; }
  .signup-msg { display: none; font-size: 0.82rem; padding: 0.65rem 1rem; border-radius: 8px; margin-bottom: 1rem; text-align: center; }
  .signup-msg.error { display: block; background: rgba(220,38,38,0.15); border: 1px solid rgba(220,38,38,0.3); color: #fca5a5; }
  .signup-msg.success { display: block; background: rgba(22,163,74,0.12); border: 1px solid rgba(22,163,74,0.3); color: #86efac; }
  .signup-success-box { text-align: center; padding: 1rem 0; }
  .signup-success-icon { font-size: 3rem; margin-bottom: 0.8rem; display: block; }
  .signup-success-title { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 1.5rem; color:var(--text); margin-bottom: 0.4rem; }
  .signup-success-pwd { background: rgba(232,131,42,0.15); border: 1px solid rgba(232,131,42,0.3); border-radius: 12px; padding: 1rem; margin: 1.2rem 0; }
  .signup-success-pwd-label { font-size: 0.72rem; font-weight: 700; color:var(--muted); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 0.4rem; }
  .signup-success-pwd-value { font-family: 'DM Sans', monospace; font-size: 1.4rem; color: var(--orange); font-weight: 700; letter-spacing: 0.05em; }
  .signup-link { color: var(--orange); cursor: pointer; text-decoration: none; font-weight: 600; background: none; border: none; font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: inherit; }
  .signup-link:hover { text-decoration: underline; }
  @media (max-width: 500px) { .signup-row { grid-template-columns: 1fr; } .signup-box { padding: 2rem 1.5rem 1.5rem; } }

  /* LEGACY BANNER */
  .legacy-banner { display: none; background: rgba(232,131,42,0.08); border: 1px solid rgba(232,131,42,0.22); border-radius: 12px; padding: 0.85rem 2.5rem 0.85rem 1.1rem; margin-bottom: 1.5rem; position: relative; font-size: 0.82rem; color: var(--text); line-height: 1.55; }
  .legacy-banner .lb-icon { margin-right: 0.4rem; }
  .legacy-banner .lb-close { position: absolute; top: 0.55rem; right: 0.7rem; background: none; border: none; font-size: 1.1rem; cursor: pointer; color: var(--muted); line-height: 1; padding: 0.1rem 0.3rem; border-radius: 4px; transition: color 0.2s; }
  .legacy-banner .lb-close:hover { color: var(--text); }

  /* CLIENT AREA */
  #client-area { display: none; background: var(--cream); min-height: 100vh; min-height: 100dvh; padding-top: 68px; }

  /* HERO */
  .client-hero { background:#FDF8F2; padding: 4rem 2.5rem 3rem; position: relative; overflow: hidden; }
  .client-hero::before { content: ''; position: absolute; top: -100px; right: -100px; width: 400px; height: 400px; border-radius: 50%; background: radial-gradient(circle, rgba(232,131,42,0.1) 0%, transparent 65%); pointer-events: none; }
  .client-hero-inner { max-width: 960px; margin: 0 auto; position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
  .client-badge { display: inline-block; background: rgba(232,131,42,0.15); border: 1px solid rgba(232,131,42,0.3); color: var(--orange); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 0.35rem 0.9rem; border-radius: 20px; margin-bottom: 0.8rem; }
  .client-hero h1 { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: clamp(1.6rem, 3vw, 2.4rem); color:var(--text); margin-bottom: 0.4rem; }
  .client-hero h1 em { font-style: italic; color: var(--orange); }
  .client-hero-sub { color:var(--muted); font-size: 0.88rem; max-width: 460px; line-height: 1.6; }
  .client-logout { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.12); color:var(--muted); padding: 0.5rem 1rem; border-radius: 8px; font-size: 0.8rem; cursor: pointer; font-family: -apple-system,BlinkMacSystemFont,sans-serif; transition: background 0.2s; white-space: nowrap; align-self: flex-start; }
  .client-logout:hover { background: rgba(255,255,255,0.14); color:var(--text); }

  /* CONTAINER */
  .ec-container { max-width: 960px; margin: 0 auto; padding: 2.5rem 2rem 5rem; }

  /* CONTACT RAPIDE */
  .contact-rapide { background:#FDF8F2; border-radius: 18px; padding: 2rem; margin-bottom: 2.5rem; }
  .contact-rapide-title { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 1.1rem; color:var(--text); margin-bottom: 1.2rem; }
  .contact-rapide-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 0.75rem; }
  .contact-btn { display: flex; align-items: center; gap: 0.7rem; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: 12px; padding: 0.85rem 1rem; text-decoration: none; transition: all 0.2s; }
  .contact-btn:hover { background: rgba(255,255,255,0.12); border-color:var(--muted); transform: translateY(-2px); }
  .contact-btn-icon { font-size: 1.3rem; flex-shrink: 0; }
  .contact-btn-label { font-size: 0.68rem; color:var(--muted); letter-spacing: 0.05em; text-transform: uppercase; font-weight: 600; }
  .contact-btn-value { font-size: 0.82rem; color:var(--text); font-weight: 500; margin-top: 1px; }
  .contact-btn.wa { border-color: rgba(37,211,102,0.25); }
  .contact-btn.wa:hover { border-color: rgba(37,211,102,0.5); background: rgba(37,211,102,0.07); }
  .contact-btn.or { border-color: rgba(232,131,42,0.25); }
  .contact-btn.or:hover { border-color: rgba(232,131,42,0.5); background: rgba(232,131,42,0.07); }
  .contact-btn.ig { border-color: rgba(225,48,108,0.25); }
  .contact-btn.ig:hover { border-color: rgba(225,48,108,0.5); background: rgba(225,48,108,0.07); }

  /* SECTION */
  .ec-section { margin-bottom: 2.5rem; }
  .ec-section-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; padding-bottom: 0.7rem; border-bottom: 2px solid var(--border); }
  .ec-section-title { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 1.15rem; color: var(--navy); }
  .btn-add-res { background: var(--orange); color:var(--text); border: none; border-radius: 8px; padding: 0.45rem 1rem; font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 0.78rem; font-weight: 600; cursor: pointer; transition: background 0.2s; display: none; }
  .btn-add-res:hover { background: var(--orange-light); }
  body.admin .btn-add-res { display: block; }

  /* RESOURCE CARDS */
  .resource-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0.9rem; }
  .resource-card { background: white; border: 1px solid var(--border); border-radius: 13px; padding: 1.2rem 1.3rem; display: flex; align-items: center; gap: 0.9rem; text-decoration: none; color: var(--text); transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s; position: relative; }
  .resource-card:hover { transform: translateX(4px); border-color: var(--navy); box-shadow: 0 6px 24px rgba(28,35,64,0.08); }
  .res-icon { width: 42px; height: 42px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; flex-shrink: 0; }
  .ri-v { background: rgba(232,131,42,0.1); }
  .ri-p { background: rgba(220,38,38,0.1); }
  .ri-e { background: rgba(28,35,64,0.07); }
  .res-name { font-weight: 600; font-size: 0.88rem; margin-bottom: 2px; }
  .res-desc { font-size: 0.76rem; color: var(--muted); }
  .res-badge { margin-left: auto; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; padding: 0.2rem 0.55rem; border-radius: 6px; white-space: nowrap; flex-shrink: 0; }
  .rb-v { background: rgba(232,131,42,0.12); color: var(--orange); }
  .rb-p { background: rgba(220,38,38,0.1); color: #dc2626; }
  .rb-e { background: rgba(28,35,64,0.08); color: var(--navy); }
  .del-btn { position: absolute; top: 0.45rem; right: 0.45rem; background: rgba(220,38,38,0.1); border: none; border-radius: 6px; width: 22px; height: 22px; display: none; align-items: center; justify-content: center; cursor: pointer; font-size: 0.7rem; color: #dc2626; }
  .del-btn:hover { background: rgba(220,38,38,0.2); }
  body.admin .del-btn { display: flex; }

  /* EMPTY */
  .empty-state { text-align: center; padding: 2rem; color: var(--muted); font-size: 0.85rem; background: white; border: 2px dashed var(--border); border-radius: 13px; }
  .empty-state .ei { font-size: 1.6rem; margin-bottom: 0.5rem; }

  /* TEXT SECTIONS */
  .text-section { background: white; border: 1px solid var(--border); border-radius: 16px; padding: 1.8rem; margin-bottom: 1.5rem; }
  .text-section-title { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 1.05rem; color: var(--navy); margin-bottom: 1.1rem; padding-bottom: 0.75rem; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; }

  /* FAQ */
  .ec-faq-item { border-bottom: 1px solid var(--border); }
  .ec-faq-item:last-child { border-bottom: none; }
  .ec-faq-q { font-weight: 600; font-size: 0.88rem; color: var(--navy); cursor: pointer; display: flex; align-items: flex-start; justify-content: space-between; gap: 0.8rem; padding: 0.85rem 0; transition: color 0.2s; }
  .ec-faq-q:hover { color: var(--orange); }
  .fq-icon { font-size: 0.75rem; color: var(--muted); flex-shrink: 0; margin-top: 3px; transition: transform 0.25s; }
  .ec-faq-item.open .fq-icon { transform: rotate(180deg); }
  .ec-faq-a { display: none; font-size: 0.84rem; color: var(--muted); line-height: 1.75; padding-bottom: 0.9rem; white-space: pre-line; }
  .ec-faq-item.open .ec-faq-a { display: block; }

  /* RAPPELS */
  .rappel-list { display: flex; flex-direction: column; gap: 0.65rem; }
  .rappel-item { display: flex; align-items: flex-start; gap: 0.65rem; font-size: 0.85rem; color: var(--muted); line-height: 1.65; }
  .ri-icon { font-size: 1rem; flex-shrink: 0; margin-top: 1px; }

  /* MARQUES */
  .marques-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 0.8rem; }
  .marque-card { background: var(--section-bg); border: 1px solid var(--border); border-radius: 11px; padding: 0.9rem 1rem; display: flex; align-items: center; gap: 0.7rem; text-decoration: none; color: var(--text); transition: border-color 0.2s, transform 0.2s; }
  .marque-card:hover { border-color: var(--navy); transform: translateY(-2px); }
  .marque-icon { width: 34px; height: 34px; background: white; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 1rem; border: 1px solid var(--border); flex-shrink: 0; }
  .marque-name { font-weight: 600; font-size: 0.83rem; }
  .marque-tag { font-size: 0.7rem; color: var(--muted); margin-top: 1px; }

  /* TWO COL */
  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-bottom: 1.5rem; }

  /* MODAL */
  .modal-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.55); z-index: 500; align-items: center; justify-content: center; padding: 1.5rem; }
  .modal-overlay.open { display: flex; }
  .modal { background: white; border-radius: 18px; padding: 2rem; width: 100%; max-width: 460px; position: relative; }
  .modal-title { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 1.2rem; color: var(--navy); margin-bottom: 1.4rem; }
  .modal-close { position: absolute; top: 1rem; right: 1rem; background: var(--border); border: none; border-radius: 50%; width: 28px; height: 28px; cursor: pointer; font-size: 0.9rem; display: flex; align-items: center; justify-content: center; color: var(--muted); }
  .form-group { margin-bottom: 0.9rem; }
  .form-label { display: block; font-size: 0.74rem; font-weight: 600; color: var(--muted); letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 0.35rem; }
  .form-input, .form-select { width: 100%; border: 1px solid var(--border); border-radius: 9px; padding: 0.7rem 0.9rem; font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 0.9rem; color: var(--text); outline: none; transition: border-color 0.2s; background: white; }
  .form-input:focus, .form-select:focus { border-color: var(--navy); }
  .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; }
  .modal-footer { display: flex; gap: 0.7rem; justify-content: flex-end; margin-top: 1.3rem; }
  .btn-cancel { background: var(--section-bg); color: var(--muted); border: none; border-radius: 8px; padding: 0.6rem 1.1rem; font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 0.85rem; cursor: pointer; }
  .btn-save { background:#FDF8F2; color:var(--text); border: none; border-radius: 8px; padding: 0.6rem 1.3rem; font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 0.85rem; font-weight: 600; cursor: pointer; transition: background 0.2s; }
  .btn-save:hover { background:#FDF8F2; }

  /* BOOKING CTA */
  .booking-cta { display: flex; align-items: center; justify-content: center; gap: 1rem; background: linear-gradient(135deg, var(--orange) 0%, var(--orange-light) 100%); border-radius: 16px; padding: 1.3rem 2rem; margin-bottom: 2rem; text-decoration: none; transition: all 0.2s; box-shadow: 0 4px 20px rgba(232,131,42,0.25); }
  .booking-cta:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(232,131,42,0.35); }
  .booking-cta-icon { font-size: 1.5rem; flex-shrink: 0; }
  .booking-cta-text { color:var(--text); }
  .booking-cta-title { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 1.05rem; font-weight: 700; margin-bottom: 2px; }
  .booking-cta-sub { font-size: 0.78rem; opacity: 0.85; }
  .booking-cta-arrow { font-size: 1.2rem; color:var(--text); margin-left: auto; flex-shrink: 0; opacity: 0.7; transition: transform 0.2s; }
  .booking-cta:hover .booking-cta-arrow { transform: translateX(4px); opacity: 1; }
  .guide-cta { display: flex; align-items: center; gap: 1rem; background:#FDF8F2; border: 1px solid rgba(255,255,255,0.08); border-radius: 16px; padding: 1.2rem 1.8rem; margin-bottom: 2rem; text-decoration: none; transition: all 0.2s; position: relative; overflow: hidden; }
  .guide-cta::before { content: ''; position: absolute; top: -40px; right: -40px; width: 140px; height: 140px; border-radius: 50%; background: radial-gradient(circle, rgba(232,131,42,0.15) 0%, transparent 65%); pointer-events: none; }
  .guide-cta:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(28,35,64,0.3); border-color: rgba(232,131,42,0.3); }
  .guide-cta-icon { font-size: 1.5rem; flex-shrink: 0; width: 44px; height: 44px; background: rgba(232,131,42,0.15); border: 1px solid rgba(232,131,42,0.3); border-radius: 12px; display: flex; align-items: center; justify-content: center; }
  .guide-cta-text { color:var(--text); position: relative; z-index: 1; }
  .guide-cta-title { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 1.1rem; font-weight: 700; margin-bottom: 2px; line-height: 1.3; }
  .guide-cta-title em { font-style: italic; color: var(--orange); font-size: 1.15em; }
  .guide-cta-sub { font-size: 0.76rem; color:var(--muted); }
  .guide-cta-arrow { font-size: 1.2rem; color: var(--orange); margin-left: auto; flex-shrink: 0; transition: transform 0.2s; position: relative; z-index: 1; }
  .guide-cta:hover .guide-cta-arrow { transform: translateX(4px); }

  /* Fiches grid — responsive */
  @media (max-width: 500px) {
    .fiches-grid-container [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  }

  /* FOOTER */
  footer { background:#FDF8F2; padding: 3rem 2.5rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1.5rem; }
  .footer-brand { display: flex; align-items: center; gap: 0.9rem; }
  .footer-logo { width: 40px; height: 40px; object-fit: contain; background: white; border-radius: 50%; padding: 3px; }
  .footer-name { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 0.95rem; color:var(--text); }
  .footer-role { font-size: 0.68rem; color: var(--orange); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
  .footer-links { display: flex; gap: 1.5rem; list-style: none; flex-wrap: wrap; }
  .footer-links a { color:var(--muted); font-size: 0.8rem; text-decoration: none; transition: color 0.2s; }
  .footer-links a:hover { color:var(--text); }
  .footer-social { display: flex; gap: 0.8rem; }
  .footer-social a { width: 36px; height: 36px; background: rgba(255,255,255,0.08); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 1rem; text-decoration: none; transition: background 0.2s; }
  .footer-social a:hover { background: rgba(232,131,42,0.3); }
  .footer-social a.footer-phone { width: auto; padding: 0 0.9rem; color: var(--orange); font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.02em; white-space: nowrap; }
  .footer-social a.footer-phone:hover { background: rgba(232,131,42,0.18); color: var(--orange-light); }
  .footer-copy { width: 100%; text-align: center; font-size: 0.72rem; color:var(--muted); padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,0.08); }

  /* ── AGE CALCULATOR ── */
  .age-calc-card { background:#FDF8F2; border-radius: 18px; padding: 2rem; }
  .age-calc-inner { display: flex; flex-direction: column; gap: 1.2rem; }
  .age-calc-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
  .age-calc-group label { display: block; font-size: 0.72rem; font-weight: 700; color:var(--muted); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 0.4rem; }
  .age-calc-input, .age-calc-select { width: 100%; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.14); border-radius: 10px; padding: 0.75rem 1rem; color:var(--text); font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 0.9rem; outline: none; transition: border-color 0.2s; }
  .age-calc-input:focus, .age-calc-select:focus { border-color: var(--orange); }
  .age-calc-select option { background:#FDF8F2; }
  .age-calc-btn { background: var(--orange); color:var(--text); border: none; border-radius: 10px; padding: 0.85rem 1.5rem; font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 0.9rem; font-weight: 700; cursor: pointer; transition: background 0.2s, transform 0.15s; align-self: flex-start; }
  .age-calc-btn:hover { background: var(--orange-light); transform: translateY(-1px); }
  .age-result { display: none; background: rgba(232,131,42,0.12); border: 1px solid rgba(232,131,42,0.3); border-radius: 14px; padding: 1.4rem 1.6rem; }
  .age-result.show { display: block; }
  .age-result-main { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 1.5rem; color:var(--text); margin-bottom: 0.3rem; }
  .age-result-main span { color: var(--orange); }
  .age-result-sub { font-size: 0.82rem; color:var(--muted); line-height: 1.6; }
  .age-stages { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 0.5rem; margin-top: 1rem; }
  .age-stage { background: rgba(255,255,255,0.05); border-radius: 9px; padding: 0.65rem 0.8rem; text-align: center; }
  .age-stage-label { font-size: 0.65rem; color:var(--muted); text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600; }
  .age-stage-val { font-size: 0.88rem; color:var(--text); font-weight: 600; margin-top: 2px; }
  .age-stage.active { background: rgba(232,131,42,0.2); border: 1px solid rgba(232,131,42,0.3); }
  .age-stage.active .age-stage-label { color: var(--orange); }

  /* ── FIRST AID KIT ── */
  .fak-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 0.75rem; }
  .fak-item { background: white; border: 1px solid var(--border); border-radius: 12px; padding: 0.9rem 1rem; display: flex; align-items: flex-start; gap: 0.7rem; }
  .fak-icon { font-size: 1.3rem; flex-shrink: 0; margin-top: 1px; }
  .fak-name { font-size: 0.84rem; font-weight: 600; color: var(--navy); margin-bottom: 2px; }
  .fak-use { font-size: 0.72rem; color: var(--muted); line-height: 1.45; }
  .fak-warning { background: rgba(220,38,38,0.06); border: 1px solid rgba(220,38,38,0.18); border-radius: 12px; padding: 0.9rem 1.1rem; display: flex; align-items: flex-start; gap: 0.7rem; margin-top: 1rem; }
  .fak-warning-text { font-size: 0.8rem; color: #9f1239; line-height: 1.6; }

  /* ── AVENTURES PARTAGÉES ── */
  .av-age-gate { background:#FDF8F2; border-radius: 18px; padding: 2.5rem 2rem; text-align: center; }
  #av-content-wrap .av-age-gate { background: transparent; border-radius: 0; padding: 1.2rem 0 1.5rem; border-bottom: 1px solid rgba(255,255,255,0.08); margin-bottom: 1rem; }
  .av-age-gate h3 { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 1.4rem; color:var(--text); margin-bottom: 0.4rem; }
  .av-age-gate h3 em { font-style: italic; color: var(--orange); }
  .av-age-gate p { font-size: 0.85rem; color:var(--muted); margin-bottom: 1.8rem; }
  .av-age-options { display: flex; flex-wrap: wrap; gap: 0.65rem; justify-content: center; }
  .av-age-btn { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); border-radius: 12px; padding: 0.9rem 1.3rem; color:var(--text); font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 0.85rem; font-weight: 600; cursor: pointer; transition: all 0.2s; display: flex; flex-direction: column; align-items: center; gap: 0.3rem; min-width: 110px; }
  .av-age-btn:hover { background: rgba(232,131,42,0.15); border-color: rgba(232,131,42,0.5); }
  .av-age-btn .av-age-emoji { font-size: 1.6rem; }
  .av-age-btn .av-age-label { font-size: 0.72rem; color:var(--muted); font-weight: 500; }

  .av-main { display: none; }
  .av-main.show { display: block; }

  .av-global-bar { background:#FDF8F2; border-radius: 14px; padding: 1.2rem 1.5rem; margin-bottom: 1.2rem; display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
  .av-global-stat { text-align: center; }
  .av-global-num { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 1.5rem; color: var(--orange); font-weight: 700; }
  .av-global-label { font-size: 0.68rem; color:var(--muted); text-transform: uppercase; letter-spacing: 0.07em; font-weight: 600; }
  .av-global-divider { width: 1px; height: 40px; background: rgba(255,255,255,0.1); }
  .av-title-bar { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 0.95rem; color: var(--navy); margin-bottom: 0.7rem; margin-top: 0.2rem; display: flex; align-items: center; gap: 0.5rem; }
  .av-cat-label { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; background: rgba(28,35,64,0.08); color: var(--navy); border-radius: 6px; padding: 0.15rem 0.5rem; margin-left: auto; }

  .av-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 0.55rem; margin-bottom: 1.5rem; }
  .av-item { display: flex; align-items: center; gap: 0.75rem; background: white; border: 1px solid var(--border); border-radius: 11px; padding: 0.7rem 0.9rem; cursor: pointer; transition: all 0.2s; user-select: none; }
  .av-item:hover { border-color: var(--navy); }
  .av-item.done { background: #f0fdf4; border-color: #86efac; }
  .av-item input[type="checkbox"] { width: 17px; height: 17px; flex-shrink: 0; accent-color: var(--orange); cursor: pointer; }
  .av-item-emoji { font-size: 1.2rem; flex-shrink: 0; }
  .av-item-text { font-size: 0.82rem; color: var(--text); line-height: 1.35; font-weight: 500; }
  .av-item.done .av-item-text { color: var(--muted); text-decoration: line-through; }
  .av-item-tip { font-size: 0.68rem; color: var(--muted); font-style: italic; font-weight: 400; display: block; margin-top: 1px; }

  .socio-badge-count { background:#FDF8F2; color:var(--text); border-radius: 20px; padding: 0.2rem 0.65rem; font-size: 0.7rem; font-weight: 700; }
  .socio-trophy { display: none; background: linear-gradient(135deg, #fef9c3, #fef08a); border: 2px solid #facc15; border-radius: 14px; padding: 1rem 1.2rem; margin-top: 1rem; text-align: center; }
  .socio-trophy.show { display: block; }
  .socio-trophy-emoji { font-size: 2rem; }
  .socio-trophy-text { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 1rem; color: #713f12; margin-top: 0.3rem; }

  .av-result-box { background:#FDF8F2; border-radius: 18px; padding: 2rem; margin-top: 1.5rem; text-align: center; }
  .av-result-title { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 1.3rem; color:var(--text); margin-bottom: 0.3rem; }
  .av-result-title em { color: var(--orange); font-style: italic; }
  .av-result-sub { font-size: 0.82rem; color:var(--muted); margin-bottom: 1.2rem; line-height: 1.6; }
  .av-rank-badge { display: inline-block; border-radius: 30px; padding: 0.5rem 1.4rem; font-size: 0.9rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 1rem; }
  .av-progress-wrap { max-width: 360px; margin: 0 auto 1rem; }
  .av-progress-label { font-size: 0.72rem; color:var(--muted); margin-bottom: 0.4rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; }
  .av-progress-bar { height: 8px; background: rgba(255,255,255,0.08); border-radius: 10px; overflow: hidden; }
  .av-progress-fill { height: 100%; border-radius: 10px; transition: width 0.8s cubic-bezier(0.4,0,0.2,1); }
  .av-change-age { background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.12); color:var(--muted); border-radius: 8px; padding: 0.4rem 0.9rem; font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 0.75rem; cursor: pointer; transition: all 0.2s; margin-top: 0.5rem; }
  .av-change-age:hover { color:var(--text); background: rgba(255,255,255,0.12); }

  /* ── GAMIFY SECTION HEADER ── */
  .gamify-header { display: flex; align-items: center; gap: 0.6rem; }
  .gamify-pill { font-size: 0.65rem; font-weight: 700; background: rgba(232,131,42,0.15); color: var(--orange); border: 1px solid rgba(232,131,42,0.3); border-radius: 20px; padding: 0.15rem 0.55rem; letter-spacing: 0.06em; text-transform: uppercase; }

  /* ── QUIZ SPORT CANIN ── */
  .quiz-embed { background:#FDF8F2; border-radius: 18px; overflow: hidden; padding: 2rem; }
  .quiz-intro { text-align: center; padding: 1.5rem 0 2rem; }
  .quiz-intro-tag { display: inline-block; background: rgba(232,131,42,0.15); border: 1px solid rgba(232,131,42,0.35); color: var(--orange); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 0.35rem 1rem; border-radius: 20px; margin-bottom: 1rem; }
  .quiz-intro h2 { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: clamp(1.4rem, 3vw, 2rem); color:var(--text); line-height: 1.25; margin-bottom: 0.7rem; }
  .quiz-intro h2 em { font-style: italic; color: var(--orange); }
  .quiz-intro p { color:var(--muted); font-size: 0.85rem; line-height: 1.7; max-width: 440px; margin: 0 auto 1.8rem; }
  .quiz-btn-start { background: var(--orange); color:var(--text); border: none; border-radius: 12px; padding: 0.9rem 2rem; font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 0.95rem; font-weight: 700; cursor: pointer; transition: all 0.2s; box-shadow: 0 8px 28px rgba(232,131,42,0.35); }
  .quiz-btn-start:hover { background: var(--orange-light); transform: translateY(-2px); box-shadow: 0 12px 36px rgba(232,131,42,0.45); }
  .quiz-prog-wrap { margin-bottom: 1.5rem; }
  .quiz-prog-top { display: flex; justify-content: space-between; margin-bottom: 0.4rem; }
  .quiz-prog-label { font-size: 0.72rem; font-weight: 600; color:var(--muted); letter-spacing: 0.06em; text-transform: uppercase; }
  .quiz-prog-count { font-size: 0.72rem; font-weight: 700; color: var(--orange); }
  .quiz-prog-bar { height: 4px; background: rgba(255,255,255,0.1); border-radius: 10px; overflow: hidden; }
  .quiz-prog-fill { height: 100%; background: var(--orange); border-radius: 10px; transition: width 0.5s cubic-bezier(0.4,0,0.2,1); }
  .quiz-qcard { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.09); border-radius: 16px; padding: 1.8rem 1.8rem 1.4rem; animation: qFadeUp 0.35s ease forwards; }
  @keyframes qFadeUp { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
  .quiz-qnum { font-size: 0.67rem; font-weight: 700; color: var(--orange); letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 0.5rem; }
  .quiz-qtext { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: clamp(1rem, 2.2vw, 1.2rem); color:var(--text); line-height: 1.4; margin-bottom: 1.2rem; }
  .quiz-qhint { font-size: 0.75rem; color:var(--muted); margin-top: -0.8rem; margin-bottom: 1rem; font-style: italic; }
  .quiz-opts { display: flex; flex-direction: column; gap: 0.5rem; }
  .quiz-opts.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
  .quiz-opt { display: flex; align-items: center; gap: 0.85rem; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.09); border-radius: 11px; padding: 0.8rem 1rem; cursor: pointer; transition: all 0.18s; text-align: left; width: 100%; font-family: -apple-system,BlinkMacSystemFont,sans-serif; color:var(--text); }
  .quiz-opt:hover { background: rgba(255,255,255,0.1); border-color: rgba(232,131,42,0.4); }
  .quiz-opt.selected { background: rgba(232,131,42,0.15); border-color: rgba(232,131,42,0.6); }
  .quiz-opt-icon { font-size: 1.2rem; flex-shrink: 0; width: 30px; text-align: center; }
  .quiz-opt-text { font-size: 0.84rem; line-height: 1.4; }
  .quiz-nav { display: flex; justify-content: space-between; align-items: center; margin-top: 1.2rem; }
  .quiz-btn-back { background: rgba(255,255,255,0.07); color:var(--muted); border: 1px solid rgba(255,255,255,0.1); border-radius: 9px; padding: 0.6rem 1.1rem; font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 0.82rem; cursor: pointer; transition: all 0.2s; }
  .quiz-btn-back:hover { background: rgba(255,255,255,0.12); color:var(--text); }
  .quiz-btn-next { background: var(--orange); color:var(--text); border: none; border-radius: 9px; padding: 0.65rem 1.4rem; font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 0.85rem; font-weight: 700; cursor: pointer; transition: all 0.2s; opacity: 0.3; pointer-events: none; }
  .quiz-btn-next.active { opacity: 1; pointer-events: auto; }
  .quiz-btn-next.active:hover { background: var(--orange-light); transform: translateY(-1px); }
  .quiz-results-header { text-align: center; margin-bottom: 1.5rem; }
  .quiz-res-tag { display: inline-block; background: rgba(22,163,74,0.12); border: 1px solid rgba(22,163,74,0.3); color: #4ade80; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.3rem 0.9rem; border-radius: 20px; margin-bottom: 0.9rem; }
  .quiz-results-header h3 { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: clamp(1.3rem, 3vw, 1.9rem); color:var(--text); margin-bottom: 0.4rem; }
  .quiz-results-header h3 em { font-style: italic; color: var(--orange); }
  .quiz-results-header p { color:var(--muted); font-size: 0.82rem; }
  .quiz-sport-cards { display: flex; flex-direction: column; gap: 0.85rem; margin-bottom: 1.5rem; }
  .quiz-sport-card { border-radius: 14px; padding: 1.3rem; border: 1px solid rgba(255,255,255,0.1); display: flex; gap: 1rem; align-items: flex-start; position: relative; transition: transform 0.2s; }
  .quiz-sport-card:hover { transform: translateY(-2px); }
  .quiz-sport-card.qrank-1 { background: linear-gradient(135deg, rgba(232,131,42,0.2), rgba(232,131,42,0.05)); border-color: rgba(232,131,42,0.45); }
  .quiz-sport-card.qrank-2 { background: rgba(46,55,96,0.7); }
  .quiz-sport-card.qrank-3 { background: rgba(255,255,255,0.03); }
  .quiz-sport-rank { position: absolute; top: 0.9rem; right: 1rem; font-size: 0.62rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
  .qrank-1 .quiz-sport-rank { color: var(--orange); }
  .qrank-2 .quiz-sport-rank { color:var(--muted); }
  .qrank-3 .quiz-sport-rank { color:var(--muted); }
  .quiz-sport-emoji { font-size: 2rem; flex-shrink: 0; margin-top: 2px; }
  .quiz-sport-info { flex: 1; min-width: 0; }
  .quiz-sport-name { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 1.1rem; color:var(--text); margin-bottom: 0.25rem; }
  .quiz-sport-desc { font-size: 0.79rem; color:var(--muted); line-height: 1.6; margin-bottom: 0.7rem; }
  .quiz-sport-tags { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 0.6rem; }
  .quiz-sport-tag { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; padding: 0.18rem 0.55rem; border-radius: 5px; }
  .qtag-energy { background: rgba(239,68,68,0.15); color: #f87171; }
  .qtag-calm { background: rgba(167,139,250,0.15); color: #c4b5fd; }
  .qtag-nose { background: rgba(20,184,166,0.15); color: #5eead4; }
  .qtag-water { background: rgba(59,130,246,0.15); color: #93c5fd; }
  .qtag-fun { background: rgba(232,131,42,0.15); color: var(--orange); }
  .qtag-team { background: rgba(251,191,36,0.15); color: #fcd34d; }
  .quiz-score-bar { height: 3px; background: rgba(255,255,255,0.08); border-radius: 10px; overflow: hidden; }
  .quiz-score-fill { height: 100%; background: var(--orange); border-radius: 10px; transition: width 0.9s ease; }
  .quiz-score-label { font-size: 0.67rem; color:var(--muted); margin-bottom: 3px; font-weight: 600; }
  .quiz-cta { background:#FDF8F2; border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; padding: 1.3rem; text-align: center; }
  .quiz-cta p { font-size: 0.82rem; color:var(--muted); margin-bottom: 1rem; line-height: 1.6; }
  .quiz-cta-btns { display: flex; gap: 0.7rem; justify-content: center; flex-wrap: wrap; }
  .quiz-cta-wa { background: #25D366; color:var(--text); text-decoration: none; border-radius: 9px; padding: 0.65rem 1.3rem; font-size: 0.82rem; font-weight: 700; transition: all 0.2s; display: inline-flex; align-items: center; gap: 0.45rem; }
  .quiz-cta-wa:hover { background: #20bf5b; transform: translateY(-1px); }
  .quiz-cta-retry { background: rgba(255,255,255,0.07); color:var(--muted); border: 1px solid rgba(255,255,255,0.1); border-radius: 9px; padding: 0.65rem 1.3rem; font-size: 0.82rem; font-weight: 600; cursor: pointer; font-family: -apple-system,BlinkMacSystemFont,sans-serif; transition: all 0.2s; }
  .quiz-cta-retry:hover { background: rgba(255,255,255,0.12); color:var(--text); }
  @media (max-width: 500px) { .quiz-opts.two-col { grid-template-columns: 1fr; } }
    .nav-links { display: none; }
    nav { padding: 0 1.2rem; }
    .client-hero { padding: 3rem 1.2rem 2rem; }
    .ec-container { padding: 1.5rem 1.2rem 4rem; }
    .two-col { grid-template-columns: 1fr; }
    footer { padding: 2rem 1.2rem; }
  }
  @media (max-width: 600px) {
    .contact-rapide-grid { grid-template-columns: 1fr 1fr; }
    .resource-grid { grid-template-columns: 1fr; }
    .marques-grid { grid-template-columns: 1fr 1fr; }
    .form-row { grid-template-columns: 1fr; }
  }

  
  
  
  
  
  

  
  
  
  
  
  
  
  

  @media (max-width: 900px) {
    .nav-links { display: none !important; }
    .nav-social { display: none !important; }
    
  }

  /* ── ORDRES GAMIFICATION — GAME STYLE ── */
  #ordres-chien .text-section { background: #0f1628; border: 1px solid rgba(255,255,255,0.07); }

  .ordre-cat-tab { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 0.5rem 0.9rem; font-size: 0.73rem; font-weight: 700; cursor: pointer; transition: all 0.2s; color:var(--muted); white-space: nowrap; letter-spacing: 0.03em; }
  .ordre-cat-tab:hover { background: rgba(255,255,255,0.09); color:var(--muted); }
  .ordre-cat-tab.active { background: var(--orange); color:var(--text); border-color: var(--orange); box-shadow: 0 0 12px rgba(232,131,42,0.45); }

  .ordre-cat-content { display: none; }
  .ordre-cat-content.active { display: block; animation: ordresFadeIn 0.25s ease; }
  @keyframes ordresFadeIn { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }

  .ordre-cat-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.6rem; flex-wrap: wrap; gap: 0.5rem; }
  .ordre-cat-title { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 1.05rem; color:var(--text); }

  /* XP Bar */
  .ordre-xp-wrap { margin-bottom: 1.3rem; }
  .ordre-xp-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.35rem; }
  .ordre-xp-label { font-size: 0.67rem; font-weight: 800; color:var(--muted); letter-spacing: 0.1em; text-transform: uppercase; }
  .ordre-xp-val { font-size: 0.67rem; font-weight: 800; color: var(--orange); letter-spacing: 0.05em; }
  .ordre-progress-bar { height: 10px; background: rgba(255,255,255,0.07); border-radius: 10px; overflow: hidden; border: 1px solid rgba(255,255,255,0.06); }
  .ordre-progress-fill { height: 100%; border-radius: 10px; transition: width 0.5s cubic-bezier(0.4,0,0.2,1); box-shadow: 0 0 8px currentColor; }

  /* Items grid */
  .ordre-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0.55rem; }

  .ordre-item {
    display: flex; align-items: center; gap: 0.8rem;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 10px; padding: 0.7rem 0.9rem;
    cursor: pointer; transition: all 0.18s; user-select: none;
    position: relative; overflow: hidden;
  }
  .ordre-item::before { content:''; position:absolute; inset:0; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.02)); opacity:0; transition: opacity 0.2s; pointer-events:none; }
  .ordre-item:hover { background: rgba(255,255,255,0.08); border-color:var(--muted); transform: translateX(3px); }
  .ordre-item:hover::before { opacity:1; }
  .ordre-item.done { background: rgba(22,163,74,0.12); border-color: rgba(22,163,74,0.35); }
  .ordre-item.done:hover { border-color: rgba(22,163,74,0.6); }

  /* Custom checkbox game style */
  .ordre-item input[type="checkbox"] { display:none; }
  .ordre-check-box {
    width: 20px; height: 20px; border-radius: 6px; flex-shrink: 0;
    border: 2px solid rgba(255,255,255,0.2); background: rgba(255,255,255,0.05);
    display: flex; align-items: center; justify-content: center;
    font-size: 0.7rem; transition: all 0.18s; cursor: pointer;
    color: transparent;
  }
  .ordre-item.done .ordre-check-box { background: #16a34a; border-color: #16a34a; color:var(--text); box-shadow: 0 0 8px rgba(22,163,74,0.5); }

  .ordre-item-name { font-weight: 700; font-size: 0.83rem; color:var(--muted); flex: 1; line-height: 1.3; }
  .ordre-item.done .ordre-item-name { color:var(--muted); text-decoration: line-through; }
  .ordre-item-obj { display: none; }

  /* Level badge */
  .ordre-level-badge {
    flex-shrink: 0; font-size: 0.6rem; font-weight: 800; letter-spacing: 0.06em;
    text-transform: uppercase; border-radius: 6px; padding: 0.18rem 0.5rem;
    border: 1px solid;
  }
  .ordre-lvl-1 { background: rgba(22,163,74,0.15); color: #4ade80; border-color: rgba(22,163,74,0.3); }
  .ordre-lvl-2 { background: rgba(234,179,8,0.15); color: #facc15; border-color: rgba(234,179,8,0.3); }
  .ordre-lvl-3 { background: rgba(249,115,22,0.15); color: #fb923c; border-color: rgba(249,115,22,0.3); }
  .ordre-lvl-4 { background: rgba(168,85,247,0.15); color: #c084fc; border-color: rgba(168,85,247,0.3); }
  .ordre-lvl-5 { background: rgba(239,68,68,0.15); color: #f87171; border-color: rgba(239,68,68,0.3); }

  /* Trophy */
  .ordre-trophy { display: none; background: linear-gradient(135deg, rgba(250,204,21,0.12), rgba(251,191,36,0.05)); border: 1px solid rgba(250,204,21,0.3); border-radius: 14px; padding: 1.2rem; margin-top: 1rem; text-align: center; position: relative; overflow: hidden; }
  .ordre-trophy::before { content:''; position:absolute; inset:0; background: radial-gradient(circle at 50% 0%, rgba(250,204,21,0.15), transparent 60%); pointer-events:none; }
  .ordre-trophy.show { display: block; animation: trophyPop 0.4s cubic-bezier(0.34,1.56,0.64,1); }
  @keyframes trophyPop { from { transform:scale(0.85); opacity:0; } to { transform:scale(1); opacity:1; } }
  .ordre-trophy-emoji { font-size: 2.5rem; display: block; margin-bottom: 0.3rem; }
  .ordre-trophy-text { font-family: -apple-system,BlinkMacSystemFont,sans-serif; font-size: 1rem; color: #fde68a; font-weight: 600; }

  .ordre-cat-pill { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; padding: 0.15rem 0.55rem; border-radius: 6px; margin-left: auto; flex-shrink: 0; }

  /* ── PROFILE CARD ── */
  .profile-card{background:white;border:1px solid var(--border);border-radius:18px;padding:2rem;margin-bottom:2rem}
  .profile-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border)}
  .profile-avatar{width:56px;height:56px;border-radius:50%;background:#FDF8F2;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}
  .profile-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;border:3px solid var(--orange);flex-shrink:0}
  .profile-name{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.3rem;color:var(--navy)}
  .profile-sub{font-size:.82rem;color:var(--muted);margin-top:2px}
  .profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}
  .profile-field-label{font-size:.68rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
  .profile-field-value{font-size:.9rem;font-weight:600;color:var(--navy)}
  .profile-field-value.age-auto{color:var(--orange)}
  .photo-upload-client{display:inline-flex;align-items:center;gap:.3rem;background:rgba(232,131,42,.1);color:var(--orange);border:1px solid rgba(232,131,42,.3);border-radius:8px;padding:.3rem .7rem;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:.72rem;font-weight:600;cursor:pointer;margin-top:.4rem;transition:all .15s}
  .photo-upload-client:hover{background:rgba(232,131,42,.2)}
  .payment-banner{border-radius:14px;padding:1.2rem 1.5rem;margin-bottom:2rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
  .payment-banner.paid{background:#f0fdf4;border:1px solid #86efac}
  .payment-banner.unpaid{background:#fef2f2;border:2px solid #fca5a5;animation:pulseRed 2s infinite}
  @keyframes pulseRed{0%,100%{border-color:#fca5a5}50%{border-color:#ef4444}}
  .payment-icon{font-size:1.5rem;flex-shrink:0}
  .payment-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}
  .payment-value{font-size:1.1rem;font-weight:700}
  .payment-banner.paid .payment-label,.payment-banner.paid .payment-value{color:#16a34a}
  .payment-banner.unpaid .payment-label,.payment-banner.unpaid .payment-value{color:#dc2626}
  .payment-banner.unpaid .payment-value{font-size:1.3rem}
  .payment-reminder{position:fixed;inset:0;margin:auto;border:1px solid var(--border);border-top:4px solid var(--orange);border-radius:20px;padding:2rem;width:calc(100% - 2rem);max-width:480px;max-height:calc(100dvh - 2rem);overflow-y:auto;background:#fff;color:var(--navy);box-shadow:0 20px 70px rgba(28,35,64,.25)}
  .payment-reminder::backdrop{background:rgba(28,35,64,.65)}
  .payment-reminder h2{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.35rem;line-height:1.3;margin:0 2rem 1.2rem 0}
  .payment-reminder p{font-size:.95rem;line-height:1.7;margin:0 0 1rem}
  .payment-reminder strong{font-weight:700}
  .payment-reminder .modal-close{width:44px;height:44px;top:.65rem;right:.65rem}
  .payment-reminder .btn-save{width:100%;min-height:46px;margin-top:.5rem}
  .payment-reminder button:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
  @media(max-width:480px){.payment-reminder{padding:1.5rem}.payment-reminder h2{font-size:1.2rem}.payment-reminder p{font-size:.9rem}}
  .forfait-card{background:#FDF8F2;border-radius:14px;padding:1.3rem 1.5rem;margin-bottom:2rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
  .forfait-icon{font-size:1.4rem}
  .forfait-label{font-size:.68rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
  .forfait-value{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.1rem;color:var(--orange);font-weight:700}
  .forfait-sessions{margin-left:auto;text-align:right}
  .forfait-sessions-num{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.5rem;color:var(--text);font-weight:700}
  .forfait-sessions-label{font-size:.68rem;color:var(--muted)}
  .problematique-card{background:rgba(232,131,42,.05);border:1px solid rgba(232,131,42,.2);border-radius:14px;padding:1.3rem 1.5rem;margin-bottom:2rem}
  .problematique-title{font-size:.72rem;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.6rem;display:flex;align-items:center;gap:.4rem}
  .problematique-text{font-size:.9rem;color:var(--text);line-height:1.7}
  .comment-card{background:linear-gradient(135deg,rgba(232,131,42,.06),rgba(232,131,42,.02));border:1px solid rgba(232,131,42,.18);border-radius:16px;padding:1.5rem;margin-bottom:2rem}
  .comment-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem}
  .comment-avatar{width:36px;height:36px;border-radius:50%;background:#FDF8F2;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:var(--orange)}
  .obj-item{margin-bottom:1.2rem}
  .obj-bar{height:8px;background:var(--border);border-radius:10px;overflow:hidden}
  .obj-fill{height:100%;border-radius:10px;transition:width 1s cubic-bezier(.4,0,.2,1)}
  .sess-item{display:flex;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--border);align-items:flex-start}
  .sess-item:last-child{border-bottom:none}
  .sess-badge{display:inline-block;padding:3px 10px;border-radius:6px;font-size:.7rem;font-weight:700;text-transform:uppercase;margin-top:4px}
  .sess-badge.done{background:#f0fdf4;color:#16a34a}.sess-badge.upcoming{background:#FFF4E6;color:#C96A1D}.sess-badge.cancelled{background:#fef2f2;color:#dc2626}
  .doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.8rem}
  .doc-card{background:white;border:1px solid var(--border);border-radius:12px;padding:1rem 1.2rem;display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--text);transition:all .2s}
  .doc-card:hover{transform:translateX(4px);border-color:var(--navy);box-shadow:0 6px 24px rgba(28,35,64,.08)}

  /* ── CLIENT INFO SECTION ── */
  .client-info-card{background:white;border:1px solid var(--border);border-radius:18px;padding:2rem;margin-bottom:2rem}
  .client-info-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem;padding-bottom:.8rem;border-bottom:2px solid var(--border)}
  .client-info-title{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.15rem;color:var(--navy);display:flex;align-items:center;gap:.5rem}
  .client-info-edit{display:inline-flex;align-items:center;gap:.3rem;background:rgba(232,131,42,.1);color:var(--orange);border:1px solid rgba(232,131,42,.3);border-radius:8px;padding:.4rem .85rem;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s}
  .client-info-edit:hover{background:rgba(232,131,42,.2);transform:translateY(-1px)}
  .client-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}
  .client-info-item{}
  .client-info-label{font-size:.68rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
  .client-info-value{font-size:.9rem;font-weight:500;color:var(--navy);word-break:break-word}
  .client-info-value.empty{color:var(--muted);font-style:italic;font-weight:400}
  @media(max-width:600px){.client-info-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:600px){.profile-grid{grid-template-columns:1fr 1fr}.forfait-card{flex-direction:column;text-align:center}.forfait-sessions{margin-left:0;text-align:center}.doc-grid{grid-template-columns:1fr}}

  /* ── EDIT DOG BUTTON ── */
  .dog-edit-btn{display:inline-flex;align-items:center;gap:.3rem;background:rgba(28,35,64,.06);color:var(--navy);border:1px solid var(--border);border-radius:8px;padding:.3rem .7rem;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:.72rem;font-weight:600;cursor:pointer;margin-top:.4rem;margin-left:.4rem;transition:all .15s}
  .dog-edit-btn:hover{background:rgba(232,131,42,.1);color:var(--orange);border-color:rgba(232,131,42,.3)}

  /* ── PROFILE GATE (completeness overlay) ── */
  #profile-gate{display:none;position:fixed;inset:0;z-index:600;background:rgba(28,35,64,.92);backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:1.5rem}
  #profile-gate.open{display:flex}
  .gate-box{background:white;border-radius:24px;padding:2.5rem;max-width:480px;width:100%;position:relative;animation:fadeUp .4s ease}
  .gate-icon{font-size:2.5rem;text-align:center;margin-bottom:.8rem}
  .gate-title{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.4rem;color:var(--navy);text-align:center;margin-bottom:.4rem}
  .gate-sub{font-size:.85rem;color:var(--muted);text-align:center;margin-bottom:1.5rem;line-height:1.6}
  .gate-form .form-group{margin-bottom:.9rem}
  .gate-save{width:100%;background:var(--orange);color:var(--text);border:none;border-radius:10px;padding:.9rem;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}
  .gate-save:hover{background:var(--orange-light);transform:translateY(-1px)}
  .gate-msg{display:none;font-size:.82rem;padding:.65rem 1rem;border-radius:8px;margin-bottom:1rem;text-align:center;background:rgba(220,38,38,.1);color:#dc2626}

  /* ── CLIENT EVENTS ── */
  .cli-evt-card{background:white;border:1px solid var(--border);border-radius:16px;padding:1.4rem 1.5rem;margin-bottom:.8rem;transition:all .2s;position:relative;overflow:hidden}
  .cli-evt-card:hover{border-color:rgba(232,131,42,.3);box-shadow:0 4px 16px rgba(28,35,64,.06)}
  .cli-evt-card.past-evt{opacity:.55}
  .cli-evt-badge{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .6rem;border-radius:6px;margin-bottom:.6rem}
  .cli-evt-badge.upcoming{background:rgba(232,131,42,.1);color:#C96A1D}
  .cli-evt-badge.today{background:rgba(232,131,42,.12);color:var(--orange)}
  .cli-evt-badge.past{background:rgba(107,117,145,.08);color:var(--muted)}
  .cli-evt-badge.registered{background:rgba(22,163,74,.1);color:#16a34a}
  .cli-evt-title{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.1rem;color:var(--navy);margin-bottom:.3rem}
  .cli-evt-meta{font-size:.82rem;color:var(--muted);line-height:1.65;margin-bottom:.8rem}
  .cli-evt-meta strong{color:var(--navy)}
  .cli-evt-spots{font-size:.78rem;font-weight:600;color:var(--orange);margin-bottom:.6rem}
  .cli-evt-spots.full{color:var(--red)}
  .cli-evt-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.2rem;border-radius:10px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s;border:none}
  .cli-evt-btn.register{background:var(--orange);color:var(--text)}
  .cli-evt-btn.register:hover{background:var(--orange-light);transform:translateY(-1px)}
  .cli-evt-btn.cancel{background:rgba(220,38,38,.08);color:var(--red);border:1px solid rgba(220,38,38,.2)}
  .cli-evt-btn.cancel:hover{background:rgba(220,38,38,.15)}
  .cli-evt-btn.full{background:var(--border);color:var(--muted);cursor:default}
  .cli-evt-registered{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;color:#16a34a;margin-right:.8rem}
  .cli-participants{margin-top:.75rem;padding:.65rem .75rem;background:rgba(28,35,64,.035);border:1px solid rgba(28,35,64,.07);border-radius:10px}
  .cli-participants-label{font-size:.68rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.45rem}
  .cli-participants-list{display:flex;flex-wrap:wrap;gap:.4rem}
  .cli-participant-chip{display:inline-flex;align-items:center;gap:.35rem;background:white;border:1px solid var(--border);border-radius:999px;padding:.28rem .55rem;font-size:.74rem;color:var(--navy);line-height:1.25}
  .cli-participant-chip strong{font-weight:700}
  .cli-participant-chip span{color:var(--muted)}

  /* ─── iOS MOBILE POLISH ─── */
  * { -webkit-tap-highlight-color: transparent; }
  html { -webkit-text-size-adjust: 100%; touch-action: pan-x pan-y; }
  body { overscroll-behavior-y: none; touch-action: pan-x pan-y; }
  input, select, textarea { font-size: 16px !important; }
  button { touch-action: manipulation; -webkit-appearance: none; cursor: pointer; }
  a { -webkit-tap-highlight-color: transparent; }
  @supports (padding: env(safe-area-inset-bottom)) {
    body { padding-bottom: env(safe-area-inset-bottom); }
    nav { padding-left: max(2.5rem, env(safe-area-inset-left)); padding-right: max(2.5rem, env(safe-area-inset-right)); }
    footer { padding-bottom: calc(2rem + env(safe-area-inset-bottom)); padding-left: max(2.5rem, env(safe-area-inset-left)); padding-right: max(2.5rem, env(safe-area-inset-right)); }
  }

  /* ── HAMBURGER (universal) ── */
  .nav-hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    padding: 8px;
    background: none;
    border: none;
    z-index: 300;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
  }
  .nav-hamburger span {
    display: block;
    width: 24px;
    height: 2px;
    background: white;
    border-radius: 2px;
    transition: all 0.3s ease;
    pointer-events: none;
  }
  .nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
  .nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* ── MOBILE MENU (universal) ── */
  .mobile-menu {
    display: none;
    position: fixed;
    top: 68px;
    left: 0;
    right: 0;
    background:#FDF8F2;
    border-top: 1px solid rgba(255,255,255,0.08);
    padding: 1rem 1.5rem 1.5rem;
    z-index: 198;
    box-shadow: 0 8px 32px rgba(0,0,0,0.35);
    flex-direction: column;
    gap: 0;
    max-height: calc(100vh - 68px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .mobile-menu.open { display: flex; }
  .mobile-menu a {
    color:var(--muted);
    text-decoration: none;
    font-size: 1rem;
    font-weight: 500;
    padding: 0.85rem 0;
    border-bottom: 1px solid rgba(255,255,255,0.07);
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: color 0.15s;
    font-family: -apple-system,BlinkMacSystemFont,sans-serif;
    min-height: 44px;
  }
  .mobile-menu a:last-of-type { border-bottom: none; }
  .mobile-menu a:hover, .mobile-menu a:active { color:var(--text); }
  .mobile-menu a.mobile-client { color: var(--orange); font-weight: 600; }
  .mobile-menu-social {
    display: flex;
    gap: 0.8rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255,255,255,0.08);
  }
  .mobile-menu-social a {
    border-bottom: none !important;
    width: 44px; height: 44px;
    background: rgba(255,255,255,0.08);
    border-radius: 10px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    padding: 0 !important;
  }

  /* ── SHOW HAMBURGER ON MOBILE ── */
  @media (max-width: 900px) {
    .nav-links { display: none !important; }
    .nav-social { display: none !important; }
    .nav-hamburger { display: flex !important; }
  }

  /* ═══ FORMULAIRE RÉSERVATION ═══ */
  .bw-steps-row{display:flex;align-items:flex-start;gap:0;margin-bottom:1.4rem}
  .bw-step-col{display:flex;flex-direction:column;align-items:center;gap:4px}
  .bw-sdot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;border:2px solid rgba(255,255,255,.15);color:var(--muted);flex-shrink:0;transition:all .3s}
  .bw-sdot.bw-active{border-color:#E8832A;color:#E8832A;background:rgba(232,131,42,.15)}
  .bw-sdot.bw-done{border-color:#16a34a;background:#16a34a;color:var(--text)}
  .bw-sline{flex:1;height:2px;background:rgba(255,255,255,.08);margin:0 4px;margin-top:13px;border-radius:2px;transition:background .3s}
  .bw-sline.bw-done{background:#16a34a}
  .bw-slbl{font-size:11px;color:var(--muted);font-weight:600;white-space:nowrap}
  .bw-slbl.bw-active{color:var(--muted)}
  .bw-lbl{display:block;font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}
  .bw-loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1rem}
  .bw-loc-card{background:rgba(255,255,255,.06);border:2px solid rgba(255,255,255,.1);border-radius:14px;padding:18px 10px;text-align:center;cursor:pointer;transition:all .2s;touch-action:manipulation}
  .bw-loc-card.bw-sel{border-color:#E8832A;background:rgba(232,131,42,.1)}
  .bw-loc-card-icon{font-size:26px;margin-bottom:7px}
  .bw-loc-card-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:3px}
  .bw-loc-card-sub{font-size:11px;color:var(--muted);line-height:1.4}
  .bw-inp{width:100%;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.12);border-radius:11px;padding:12px 14px;color:var(--text);font-size:15px;outline:none;margin-bottom:14px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;transition:border-color .2s}
  .bw-inp:focus{border-color:#E8832A}
  .bw-sel-inp{width:100%;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.12);border-radius:11px;padding:12px 14px;color:var(--text);font-size:15px;outline:none;margin-bottom:14px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;appearance:auto;color-scheme:light;transition:border-color .2s}
  .bw-sel-inp:focus{border-color:#E8832A}
  .bw-sel-inp option{background:#FDF8F2}
  .bw-btn-primary{width:100%;padding:14px;border-radius:12px;background:#E8832A;color:var(--text);border:none;font-size:15px;font-weight:700;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,sans-serif;touch-action:manipulation;transition:background .2s}
  .bw-btn-primary:hover{background:#F09A50}
  .bw-btn-primary:disabled{opacity:.35;cursor:default}
  .bw-btn-sec{width:100%;padding:12px;border-radius:12px;background:rgba(255,255,255,.07);color:var(--muted);border:1.5px solid rgba(255,255,255,.1);font-size:13px;font-weight:600;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,sans-serif;margin-top:8px;touch-action:manipulation}
  .bw-cal-hdr-cell{text-align:center;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;padding:4px 0}
  .bw-mday{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;text-align:center;padding:5px 2px;border-radius:8px;font-size:13px;font-weight:600;color:var(--muted);min-height:34px;cursor:default;transition:all .18s}
  .bw-mday.bw-avail{background:rgba(232,131,42,.12);border:1.5px solid rgba(232,131,42,.25);color:var(--text);cursor:pointer;touch-action:manipulation}
  .bw-mday.bw-avail:hover,.bw-mday.bw-avail:active{background:rgba(232,131,42,.25);border-color:#E8832A}
  .bw-mday.bw-day-sel{background:#E8832A;border:1.5px solid #E8832A;color:var(--text)}
  .bw-day-dot{width:4px;height:4px;border-radius:50%;background:#E8832A;flex-shrink:0}
  .bw-mday.bw-day-sel .bw-day-dot{background:white}
  .bw-tslot{padding:9px 14px;border-radius:9px;border:1.5px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:var(--muted);font-size:14px;font-weight:600;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,sans-serif;touch-action:manipulation;transition:all .15s}
  .bw-tslot:hover{border-color:#E8832A;color:var(--text);background:rgba(232,131,42,.1)}
  .bw-tslot.bw-tsel{border-color:#E8832A;background:rgba(232,131,42,.2);color:var(--text)}
  .bw-tslot.bw-taken{opacity:.25;cursor:default}
  .bw-recap-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px}
  .bw-recap-row:last-child{border-bottom:none}
  .bw-rl{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
  .bw-rv{color:var(--text);font-weight:600;text-align:right}

  /* ── MOBILE OPTIMISATIONS ── */
  @media (max-width: 600px) {
    nav { padding: 0 1rem; height: 60px; }
    .mobile-menu { top: 60px; max-height: calc(100vh - 60px); }
    section { padding: 3rem 1.2rem !important; }
    .hero { min-height: 88vh; min-height: 88dvh; padding: 5rem 1.2rem 2.5rem !important; }
    .hero h1 { font-size: clamp(1.9rem, 7vw, 2.6rem) !important; }
    .hero-sub { font-size: 0.88rem !important; margin: 0.8rem auto 1.6rem !important; }
    .hero-logo { width: 85px !important; height: 85px !important; margin-bottom: 1rem !important; }
    .hero-badge { font-size: 0.63rem !important; margin-bottom: 0.8rem !important; }
    .hero-stats { margin-top: 2rem !important; padding-top: 1.8rem !important; gap: 1.2rem !important; }
    .stat-num { font-size: 1.5rem !important; }
    .section-title { font-size: clamp(1.5rem, 5vw, 2rem) !important; }
    .about-grid, .contact-grid { grid-template-columns: 1fr !important; gap: 2rem !important; }
    .approach-grid { grid-template-columns: 1fr !important; }
    .approach-card { padding: 1.3rem !important; }
    .about-img { height: 260px !important; }
    .about-text { padding-left: 0 !important; }
    .about-img-badge { display: none !important; }
    .temoignages-grid { grid-template-columns: 1fr !important; }
    footer { flex-direction: column; align-items: flex-start; padding: 2rem 1.2rem; gap: 1.2rem; }
    .footer-links { flex-wrap: wrap; gap: 0.8rem 1.2rem; }
    .wof-cards { grid-template-columns: repeat(2, 1fr) !important; gap: 0.6rem !important; }
  }

/* ═══════════════════════════════════════════════
   ESPACE CLIENT — MOBILE APP (moins de 768px)
   Desktop inchangé.
═══════════════════════════════════════════════ */
@media (max-width: 768px) {
  * { -webkit-tap-highlight-color: transparent; box-sizing: border-box; }
  html { -webkit-text-size-adjust: 100%; }
  body { overscroll-behavior-y: none; }
  input, select, textarea { font-size: 16px !important; }
  button { touch-action: manipulation; cursor: pointer; }

  nav { height: 56px !important; padding: 0 1rem !important; }
  .mobile-menu { top: 56px !important; max-height: calc(100dvh - 56px) !important; }
  .nav-logo { width: 36px !important; height: 36px !important; }
  .nav-name { font-size: 0.88rem !important; }
  .nav-role { display: none; }

  #login-screen { padding: 4rem 1.2rem 2rem !important; }
  .login-box { padding: 2rem 1.5rem !important; border-radius: 20px !important; max-width: 100% !important; }
  .login-title { font-size: 1.5rem !important; }
  .login-btn { padding: 1rem !important; min-height: 52px; border-radius: 12px !important; }
  .login-input { padding: 0.95rem 1rem !important; border-radius: 12px !important; margin-bottom: 1.2rem !important; min-height: 48px; }

  #signup-screen { padding: 4rem 1.2rem 2rem !important; }
  .signup-box { padding: 1.8rem 1.3rem 1.5rem !important; border-radius: 20px !important; }
  .signup-row { grid-template-columns: 1fr !important; }
  .signup-back, .signup-next { min-height: 48px; border-radius: 12px !important; }

  #client-area { padding-top: 56px !important; }

  .client-hero { padding: 1.5rem 1.2rem 1.2rem !important; }
  .client-hero-inner { flex-direction: column !important; gap: 0.8rem !important; }
  .client-hero h1 { font-size: 1.4rem !important; }
  .client-hero-sub { font-size: 0.82rem !important; }
  .client-logout { padding: 0.6rem 1rem !important; min-height: 40px; border-radius: 10px !important; }

  .booking-cta, .guide-cta { padding: 1rem 1.2rem !important; border-radius: 14px !important; margin-bottom: 0.8rem !important; }

  .ec-container { padding: 1.2rem 1rem 6rem !important; }

  .contact-rapide { padding: 1.2rem !important; border-radius: 14px !important; margin-bottom: 1.5rem !important; }
  .contact-rapide-grid { grid-template-columns: 1fr 1fr !important; gap: 0.6rem !important; }
  .contact-btn { padding: 0.75rem 0.8rem !important; border-radius: 12px !important; min-height: 60px; flex-direction: column !important; align-items: flex-start !important; gap: 0.3rem !important; touch-action: manipulation; }

  .ec-section { margin-bottom: 1.5rem !important; }
  .ec-section-title { font-size: 1rem !important; }

  .resource-grid { grid-template-columns: 1fr !important; gap: 0.6rem !important; }
  .resource-card { padding: 1rem !important; border-radius: 12px !important; min-height: 56px; touch-action: manipulation; }

  .profile-card { padding: 1.2rem !important; border-radius: 14px !important; margin-bottom: 1.2rem !important; }
  .profile-avatar, .profile-photo { width: 48px !important; height: 48px !important; }
  .profile-grid { grid-template-columns: 1fr 1fr !important; gap: 0.7rem !important; }

  .forfait-card { padding: 1rem 1.2rem !important; border-radius: 12px !important; margin-bottom: 1.2rem !important; }
  .payment-banner { padding: 1rem !important; border-radius: 12px !important; margin-bottom: 1.2rem !important; }

  .doc-grid { grid-template-columns: 1fr !important; gap: 0.6rem !important; }
  .doc-card { padding: 0.9rem 1rem !important; border-radius: 12px !important; min-height: 52px; }

  .client-info-card { padding: 1.2rem !important; border-radius: 14px !important; margin-bottom: 1.2rem !important; }
  .client-info-grid { grid-template-columns: 1fr 1fr !important; gap: 0.7rem !important; }
  .client-info-edit { min-height: 40px; }

  .ordre-items { grid-template-columns: 1fr !important; gap: 0.4rem !important; }
  .ordre-item { padding: 0.8rem !important; border-radius: 12px !important; min-height: 52px; touch-action: manipulation; }
  .ordre-cat-tab { padding: 0.45rem 0.8rem !important; font-size: 0.7rem !important; min-height: 36px; touch-action: manipulation; }

  .ec-faq-q { padding: 0.9rem 1rem !important; font-size: 0.88rem !important; min-height: 52px; display: flex; align-items: center; touch-action: manipulation; cursor: pointer; }
  .ec-faq-a { padding: 0.8rem 1rem !important; font-size: 0.84rem !important; }

  .form-row { grid-template-columns: 1fr !important; }

  #client-area { padding-bottom: env(safe-area-inset-bottom, 0px); }
}


:root{--navy:#1C2340;--navy-light:#FBF6EE;--navy-mid:#F8ECDC;--orange:#E8832A;--orange-light:#F09A50;--cream:#FBF6EE;--text:#1C2340;--muted:#6B7591;--border:#ECE4D8;--section-bg:#FBF6EE;color-scheme:light;--ec-shadow:inset 0 1px 0 #fff,0 8px 32px #7A4A1A10}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;background:radial-gradient(ellipse at 0 0,#FAD7B0,transparent 55%),radial-gradient(ellipse at 100% 65%,#FBE7A6,transparent 65%),#FBF5EC!important;color:var(--text);line-height:1.5;overscroll-behavior-y:auto}
h1,h2,h3,h4,.nav-name,.footer-name,.ec-section-title,.dog-section-title,.login-title,.signup-title{font-family:inherit!important;letter-spacing:-.025em}em{font-style:normal}button,input,select,textarea{font-family:inherit!important}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;transition:background-color .15s,box-shadow .15s}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #3285e2;outline-offset:3px}
body>nav{top:12px;left:20px;right:20px;height:70px;border:1px solid #fff;border-radius:26px;background:linear-gradient(130deg,#ffffffde,#ffffffac);box-shadow:var(--ec-shadow);padding:10px 22px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.nav-name{color:var(--text);font-weight:700}.nav-role{color:var(--muted);font-size:.65rem}.nav-logo{border-radius:15px}.nav-links,.nav-social,#navHamburger,#mobileMenu{display:none!important}.ec-site-link{color:var(--orange);text-decoration:none;font-size:.875rem;font-weight:600;min-height:44px;display:flex;align-items:center}
#login-screen,#signup-screen,#pending-screen{min-height:100dvh;padding:110px 24px 36px;align-items:center;justify-content:center;background:none}#login-screen::before,#login-screen::after{display:none}.login-box,.signup-box,.pending-box{width:min(450px,100%);padding:40px 34px;background:linear-gradient(145deg,#ffffffcf,#ffffff94);border:1px solid #fff;border-radius:38px;box-shadow:inset 0 1px 0 white,0 30px 90px #7A4A1A1F;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.login-icon{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 26px;background:linear-gradient(145deg,#fff,#ffffff88);border-radius:24px;color:var(--orange);font-size:32px;box-shadow:0 9px 25px #B35C171A}.login-title,.signup-title{color:var(--text)!important;font-size:1.9rem;font-weight:750;text-align:center}.login-sub,.signup-sub,.login-hint,.pending-box p{color:var(--muted)!important;line-height:1.6;font-size:.9rem}.login-label{color:var(--muted)!important;text-transform:none;letter-spacing:0;font-size:.8rem;font-weight:600}.login-input,.form-input{background:#ffffffd9!important;border:1px solid #EBE2D5!important;color:var(--text)!important;border-radius:16px!important;min-height:54px!important;font-size:16px!important;box-shadow:inset 0 1px 3px #6B3F1607}.login-input::placeholder,.form-input::placeholder{color:#748197!important}.login-input:focus,.form-input:focus{outline:0;border-color:#F2B77D!important;box-shadow:0 0 0 3px #E8832A1F}.login-btn,.btn-save{background:linear-gradient(180deg,#F4A35C,#E07A22)!important;color:white!important;border:0;border-radius:999px!important;min-height:52px;font-weight:600;box-shadow:0 5px 14px #E8832A33}.login-btn:hover,.btn-save:hover{transform:none!important}.signup-link,.signup-back{color:var(--orange)!important;font-size:.875rem}.login-error,#signup-msg,#pending-error{display:none;border:1px solid #edc9c9;background:#fff1f1;color:#a12525;border-radius:14px;padding:12px;margin:18px 0;font-size:.875rem}.ec-kind{display:flex;padding:5px;gap:5px;background:#EFE4D680;border:1px solid white;border-radius:999px;margin:24px 0}.ec-kind label{flex:1;cursor:pointer;text-align:center;padding:10px 4px;border-radius:999px;color:var(--muted);font-size:.85rem}.ec-kind label:has(input:checked){background:white;color:var(--orange);box-shadow:0 2px 7px #6B3F1617}.ec-kind input{accent-color:var(--orange);margin-right:5px}.ec-login-note{font-size:.75rem;color:var(--muted);margin:12px 0 20px;line-height:1.6}.pending-box{text-align:center}#pending-screen:not([hidden]){display:flex}.pending-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px}.pending-actions button{min-height:48px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--orange)}[hidden]{display:none!important}
.ec-restoring #login-screen{display:none!important}.ec-loader{display:none;min-height:100dvh;align-items:center;justify-content:center;padding:110px 24px}.ec-restoring .ec-loader{display:flex}.ec-loader>div{background:#ffffffbd;border:1px solid #fff;border-radius:28px;padding:32px;text-align:center;box-shadow:var(--ec-shadow)}.ec-spinner{width:26px;height:26px;border:3px solid #F6E3CC;border-top-color:#E8832A;border-radius:50%;animation:ec-spin .7s linear infinite;margin:0 auto 16px}@keyframes ec-spin{to{transform:rotate(360deg)}}
#client-area{padding-top:104px;margin-left:254px;padding-right:20px}.client-hero{background:linear-gradient(130deg,#ffffffd6,#FFF8EFCC)!important;padding:30px!important;margin:0 0 20px;border-radius:30px!important;border:1px solid white;box-shadow:var(--ec-shadow);min-height:0!important}.client-hero-inner{max-width:1160px;gap:20px}.client-hero h1{font-size:2rem!important;line-height:1.2;color:var(--text)!important;font-weight:750}.client-hero h1 em{color:var(--orange)!important}.client-hero-sub{color:var(--muted)!important;max-width:540px}.client-badge{background:#FFEEDD;color:var(--orange)!important;border:0;letter-spacing:.03em}.client-logout{background:#ffffffa8;border:1px solid #EBE2D5!important;color:var(--text)!important;min-height:44px;border-radius:999px!important;font-size:.8rem;padding:10px 16px;white-space:nowrap}
#personal-dashboard>div,.ec-container{max-width:1160px!important;margin:auto;padding:0 0 32px!important}.ec-section{scroll-margin-top:112px}.ec-section-title{color:var(--text)!important;font-weight:750;font-size:1.5rem}.ec-section-sub{color:var(--muted)!important}.ec-section{margin-bottom:34px}.ec-card,.client-info-card,.dog-profile-card,.tools-card,.quiz-card,.age-card,.av-card,.ordres-card{background:#fff!important;border:1px solid #EFE6D9!important;border-radius:24px!important;box-shadow:0 3px 14px #28436805}.client-info-header,.dog-profile-header{background:#FCF6EE!important}.client-info-label{color:var(--muted)}.client-info-value{color:var(--text)}.client-info-edit,.dog-profile-edit{background:#FFF1E0;color:var(--orange)!important;border:0;border-radius:999px;min-height:40px}.legacy-banner{background:#ffffffa8;border-color:#EBE2D5;color:var(--muted);border-radius:18px}.modal-box,.modal-box-dog,.modal-box-info,.modal-content,.payment-reminder{background:#FFFAF4!important;border:1px solid white;border-radius:30px!important;box-shadow:0 24px 90px #19365626;color:var(--text);max-height:90dvh;overflow:auto}.modal-overlay{background:#2B1A0C66!important;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.modal-title,.modal-box h2,.modal-box h3,.form-label{color:var(--text)!important}.modal-close{color:var(--muted)!important;background:#fff!important;border-radius:50%;min-width:42px;min-height:42px}.payment-reminder::backdrop{background:#2B1A0C66}.payment-reminder p{color:var(--muted)}
#client-area [style*="background:var(--orange)"],#client-area [style*="background: var(--orange)"]{color:white!important}#client-area [style*="color:white"]:not(button):not([style*="background:var(--orange)"]){color:var(--text)!important}#client-area section,#client-info-section,#dog-profile,#dash-sessions-block,#fiches-grid-container,#outils{scroll-margin-top:112px}
.ec-navigation{position:fixed;left:20px;top:104px;bottom:20px;width:214px;padding:22px 14px;background:linear-gradient(145deg,#ffffffc9,#FFF6ECB8);border:1px solid #fff;border-radius:28px;box-shadow:var(--ec-shadow);display:flex;flex-direction:column;gap:7px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:150}.ec-navigation>p{font-size:.7rem;letter-spacing:.09em;color:var(--muted);padding:0 12px 14px}.ec-navigation a{display:flex;align-items:center;gap:12px;color:var(--muted);text-decoration:none;padding:12px;border-radius:16px;font-size:.875rem;font-weight:600;min-height:48px}.ec-navigation a[aria-current=true],.ec-navigation a:hover{background:#ffffffd9;color:var(--orange);box-shadow:0 3px 12px #2249700d}.ec-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.ec-dock{display:none}footer{background:none;border-top:1px solid #ffffffac;color:var(--muted);margin-left:254px;margin-top:24px;padding:24px 20px 32px}.footer-name,.footer-links a,.footer-copy{color:var(--muted)!important}.footer-copy{border-color:var(--border)}body:not(.ec-authenticated)>footer{display:none}
@media(max-width:900px){body>nav{top:calc(8px + env(safe-area-inset-top));left:12px;right:12px;height:64px;padding:9px 14px;border-radius:24px}.nav-name{font-size:.85rem!important}.nav-role{font-size:.6rem!important}.nav-logo{width:40px;height:40px}.ec-site-link{font-size:.8rem}.ec-navigation{display:none}#client-area{margin:0;padding:calc(88px + env(safe-area-inset-top)) 12px calc(90px + env(safe-area-inset-bottom))!important}.client-hero{padding:24px 20px!important;border-radius:28px!important}.client-hero-inner{flex-direction:column;align-items:flex-start;gap:16px}.client-hero h1{font-size:1.8rem!important}.client-hero-sub{font-size:.875rem}.client-logout{align-self:flex-start}.ec-container,#personal-dashboard>div{padding:0 0 22px!important}.ec-dock{display:flex;position:fixed;z-index:190;bottom:calc(10px + env(safe-area-inset-bottom));left:12px;right:12px;background:linear-gradient(150deg,#ffffffec,#FFF7EEDB);border:1px solid white;border-radius:36px;box-shadow:inset 0 1px 0 #fff,0 8px 35px #6B3F162B;padding:7px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.ec-dock a{display:flex;flex:1;min-width:0;min-height:54px;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:.65rem;text-decoration:none;color:#546379;border-radius:29px;font-weight:600}.ec-dock a[aria-current=true]{background:linear-gradient(150deg,#fff,#FDE9D3CC);color:#C96A1D;box-shadow:0 2px 8px #A65A1A1C}.ec-section-title{font-size:1.3rem}.login-box,.signup-box,.pending-box{border-radius:34px;padding:32px 24px;width:min(450px,100%)}#login-screen,#signup-screen,#pending-screen{padding:calc(96px + env(safe-area-inset-top)) 20px 30px}.modal-overlay{padding:14px}.modal-box,.modal-box-info,.modal-box-dog{width:100%;padding:24px 20px!important}.form-input{font-size:16px!important}.ec-site-link span{display:none}footer{margin:0;padding-bottom:calc(100px + env(safe-area-inset-bottom))}.ec-section,#client-area section{scroll-margin-top:100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.ec-spinner{border-color:#E8832A}}
@supports not (backdrop-filter:blur(1px)){body>nav,.ec-navigation,.ec-dock,.login-box,.signup-box{background:#FCF6EE}}

#client-area [style*="font-family"],footer [style*="font-family"]{font-family:inherit!important}.login-icon{border:1px solid #fff!important}.ec-site-link{gap:4px}

#client-area [style*="background:#E8832A"]{color:white!important}

/* 20261008 : palette du site public, verre dépoli iOS */
:root{--orange:#E8832A;--orange-light:#F09A50;--navy:#1C2340;--text:#1C2340;--muted:#6B7591;--cream:#FBF9F6;--section-bg:#F4F1ED;--border:#ECE4D8;--ec-gold:#F5C518}
body{background:radial-gradient(ellipse at 0 0,#FAD7B0,transparent 55%),radial-gradient(ellipse at 100% 60%,#FBE7A6,transparent 60%),radial-gradient(ellipse at 40% 110%,#F8CFA6,transparent 55%),#FBF6EE!important}
.client-hero{background:linear-gradient(130deg,#ffffffd9,#fff4e4c7)!important;border:1px solid #fff!important}
.client-hero h1,.ec-section-title{color:var(--navy)!important}
.login-btn,.btn-save{background:linear-gradient(180deg,#F4A35C,#E07A22)!important;box-shadow:0 6px 18px #E8832A40!important}
.ec-ask-btn{display:flex;align-items:center;justify-content:center;gap:.55rem;width:100%;min-height:52px;margin-top:14px;border-radius:999px;border:1px solid #fff;background:linear-gradient(150deg,#ffffffe6,#fff1dccc);color:#C96A1D;font-weight:700;font-size:.95rem;cursor:pointer;box-shadow:inset 0 1px 0 #fff,0 6px 18px #7A4A1A1A;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.ec-ask-btn:hover{background:linear-gradient(150deg,#fff,#ffe9cc)}
.ec-history{margin-top:.4rem}
.ec-history>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.7rem 1rem;border-radius:999px;border:1px solid #fff;background:linear-gradient(150deg,#ffffffd9,#fff4e4c7);box-shadow:inset 0 1px 0 #fff,0 4px 14px #7A4A1A14;color:#C96A1D;font-weight:700;font-size:.85rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.ec-history>summary::-webkit-details-marker{display:none}
.ec-history>summary .ec-chev{transition:transform .25s ease;display:inline-block}
.ec-history[open]>summary .ec-chev{transform:rotate(180deg)}
.ec-history-list{position:relative;padding-left:1.4rem;margin-top:.8rem;max-height:420px;overflow-y:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:y proximity;mask-image:linear-gradient(#000 92%,transparent);-webkit-mask-image:linear-gradient(#000 92%,transparent)}
.ec-history-list>div{scroll-snap-align:start}

/* ===== 20261009 · menus déroulants (liquid glass, palette du site) ===== */
#personal-dashboard>.ec-wrap,.ec-container.ec-wrap{max-width:900px!important;margin:0 auto!important;padding:0 0 24px!important}
.ec-container.ec-wrap{padding-top:0!important}
.ec-top{display:grid;gap:12px;margin-bottom:6px}
.ec-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ec-qbtn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:10px 12px;border-radius:999px;text-decoration:none;font-weight:700;font-size:.9rem;color:#1C2340;background:linear-gradient(180deg,#F4A35C,#E07A22);box-shadow:inset 0 1px 0 #ffffff66,0 8px 20px #E8832A38;text-align:center;line-height:1.2}
.ec-qbtn.alt{color:#8A4F12;background:linear-gradient(150deg,#ffffffec,#fff1dccc);border:1px solid #fff;box-shadow:inset 0 1px 0 #fff,0 6px 18px #7A4A1A1A}
.ec-qbtn span{font-size:1.1rem}
.ec-quick-note{margin:-2px 4px 2px;font-size:.78rem;color:#5A6480;text-align:center}
.ec-quick-note strong{color:#8A4F12}
.ec-group-label{margin:22px 6px 10px;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#8A4F12;font-family:inherit}
.ec-acc{display:block;margin:0 0 12px;border-radius:26px;border:1px solid #fff;background:linear-gradient(150deg,#ffffffe6,#fff6e9c2);box-shadow:inset 0 1px 0 #fff,0 10px 32px #7A4A1A14;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);overflow:hidden;scroll-margin-top:calc(96px + env(safe-area-inset-top,0px))}
.ec-acc>summary{display:flex;align-items:center;gap:14px;padding:14px 16px;min-height:68px;cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent;user-select:none}
.ec-acc>summary::-webkit-details-marker{display:none}
.ec-acc>summary:focus-visible,.ec-cat-head:focus-visible,.ec-faq-q:focus-visible{outline:3px solid #3285e2;outline-offset:-3px;border-radius:18px}
.ec-acc-ico{flex:none;width:44px;height:44px;border-radius:15px;display:grid;place-items:center;font-size:21px;background:linear-gradient(145deg,#FFEBD3,#FFD9AC);box-shadow:inset 0 1px 0 #fff,0 3px 8px #E8832A22}
.ec-acc-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ec-acc-title{font-weight:750;font-size:1.02rem;line-height:1.25;color:#1C2340;letter-spacing:-.01em}
.ec-acc-title em{font-style:italic;color:#8A4F12}
.ec-acc-sub{font-size:.8rem;line-height:1.35;color:#5A6480;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ec-acc-chev{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#C96A1D;background:#ffffffcc;box-shadow:inset 0 1px 0 #fff,0 2px 6px #7A4A1A14;transition:transform .28s ease}
.ec-acc[open]>summary .ec-acc-chev{transform:rotate(180deg)}
.ec-acc[open]>summary{border-bottom:1px solid #F1E3D0}
.ec-acc-body{padding:16px 16px 18px;animation:ecAccIn .26s ease}
@keyframes ecAccIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.ec-acc.sub{margin-bottom:10px;border-radius:20px;background:linear-gradient(150deg,#fffffff0,#fff9f0d6);box-shadow:inset 0 1px 0 #fff,0 4px 16px #7A4A1A10}
.ec-acc.sub>summary{min-height:56px;padding:10px 14px}
.ec-acc.sub .ec-acc-ico{width:36px;height:36px;font-size:18px;border-radius:12px}
.ec-acc.sub .ec-acc-title{font-size:.95rem}
.ec-acc .ec-acc-body .ec-acc.sub{border:1px solid #F3E6D4}
/* contenus existants à l'intérieur : plus de cartes dans les cartes */
.ec-acc-body #dash-sessions-block{border:0!important;border-radius:0!important;margin:0!important;overflow:visible!important}
.ec-acc-body #dash-sessions-list{padding:0!important;background:transparent!important}
.ec-acc-body #fiches-grid-container{background:transparent!important;padding:0!important;margin:0!important;border-radius:0!important}
.ec-acc-body #fiches-grid-container>div:first-child{display:none!important}
.ec-acc-body #profil-card-unified{border-radius:20px!important;margin:0!important;border-bottom:1px solid var(--border)!important;box-shadow:none!important}
.ec-acc-body #profil-card-unified .client-info-title{display:none}
.ec-acc-body #profil-card-unified{border:0!important;padding:0!important;background:transparent!important}
.ec-acc-body #profil-card-unified .client-info-header{justify-content:flex-end;margin:0 0 8px!important;padding:0!important;background:transparent!important;border:0!important}
.ec-acc-body .client-info-card{box-shadow:none!important}
.ec-acc-body .client-info-card .client-info-header{background:transparent!important}
.ec-acc-body .ec-section{margin-bottom:0!important}
.ec-acc-body #dog-profile>*+*{margin-top:12px}
.ec-acc-body #age-calc,.ec-acc-body .age-calc-card{margin-bottom:0}
.ec-acc-body .two-col{margin-bottom:0}
.ec-acc-body #marques-intro{margin-top:0}
.ec-acc-body>p:first-child{margin-top:0}
/* résumé : prochaine séance, forfait, paiement */
#ec-next-card:empty{display:none}
.ec-next{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border-radius:26px;border:1px solid #fff;background:linear-gradient(150deg,#ffffffec,#fff3e2c9);box-shadow:inset 0 1px 0 #fff,0 10px 30px #7A4A1A16;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);text-align:left;font:inherit;color:inherit;cursor:pointer}
.ec-next.empty{cursor:default}
.ec-next-date{flex:none;width:58px;height:62px;border-radius:18px;background:linear-gradient(160deg,#F4A35C,#E07A22);color:#1C2340;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 1px 0 #ffffff66,0 6px 14px #E8832A40}
.ec-next-date b{font-size:1.45rem;line-height:1}
.ec-next-date i{font-style:normal;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-top:3px}
.ec-next-ico{flex:none;width:58px;height:62px;border-radius:18px;display:grid;place-items:center;font-size:1.6rem;background:linear-gradient(145deg,#FFEBD3,#FFD9AC)}
.ec-next-tx{flex:1;min-width:0}
.ec-next-k{font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#8A4F12}
.ec-next-t{font-weight:750;font-size:1rem;color:#1C2340;line-height:1.25;margin-top:1px}
.ec-next-s{font-size:.82rem;color:#5A6480;margin-top:2px}
.ec-next-go{flex:none;color:#C96A1D}
#forfait-section>div:first-child{border-radius:26px!important;border:1px solid #fff!important;background:linear-gradient(150deg,#ffffffe6,#fff6e9c2)!important;box-shadow:inset 0 1px 0 #fff,0 10px 30px #7A4A1A14!important;padding:14px 16px!important}
#forfait-section>div:nth-child(2){display:none!important}
#payment-section>*{border-radius:22px!important;margin:0!important}
.ec-top>*{margin-top:0!important;margin-bottom:0!important}
#payment-section:empty,#forfait-section:empty{display:none}
/* catégories de fiches repliables */
#fiches-grid-container [id^="cat-"].ec-cat>.ec-cat-head{display:flex!important;align-items:center;gap:8px;margin:0 0 4px!important;padding:12px 4px;cursor:pointer;border-bottom:1px solid #F1E3D0;-webkit-tap-highlight-color:transparent}
#fiches-grid-container [id^="cat-"].ec-cat-closed>div:not(.ec-cat-head){display:none!important}
.ec-cat-count{margin-left:auto;font-size:.72rem;font-weight:700;color:#8A4F12;background:#FFF1DE;border-radius:999px;padding:2px 9px}
.ec-cat-chev{display:grid;place-items:center;color:#C96A1D;transition:transform .25s}
.ec-cat:not(.ec-cat-closed) .ec-cat-chev{transform:rotate(180deg)}
.ec-cat>div:nth-child(2){margin-top:10px}
/* en-tête plus compact */
.client-hero{padding:22px 22px!important;margin-bottom:14px!important}
.client-hero h1{font-size:clamp(1.5rem,5.6vw,2.1rem)!important;line-height:1.15}
.client-hero-sub{margin-top:8px!important}
@media(min-width:760px){.ec-top{grid-template-columns:1fr 1fr;align-items:stretch}.ec-quick,.ec-quick-note,#payment-section{grid-column:1/-1}#ec-next-card{grid-column:1;grid-row:3}#forfait-section{grid-column:2;grid-row:3}#payment-section{grid-row:4}.ec-top:has(#forfait-section:empty) #ec-next-card{grid-column:1/-1}.ec-top>#forfait-section>div:first-child,.ec-top>#ec-next-card>.ec-next{height:100%}}
@media(max-width:560px){.ec-acc>summary{padding:12px 12px;gap:12px;min-height:64px}.ec-acc-body{padding:12px 12px 16px}.ec-qbtn{font-size:.82rem;padding:10px 8px}}
#client-area [style*="Playfair"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important}
.payment-banner{display:flex;align-items:center;gap:12px;padding:14px 16px!important;flex-wrap:wrap}
.payment-value{font-size:1.35rem!important;white-space:nowrap;line-height:1.15}
.payment-label{font-size:.7rem!important}
.payment-banner a{margin-left:auto;min-height:44px;display:inline-flex!important;align-items:center}
.modal-overlay{align-items:flex-start!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.modal-overlay>*{margin:auto!important}
#personal-dashboard>.ec-wrap{padding-bottom:0!important}
#personal-dashboard{margin-bottom:0!important;padding-bottom:0!important}
.client-hero .client-badge{font-size:.68rem!important;padding:.25rem .7rem!important}
.client-logout{padding:.5rem 1.1rem!important;font-size:.85rem!important;min-height:44px!important}
@media(max-width:560px){.payment-banner a{width:100%;justify-content:center;margin-left:0}.client-hero{padding:16px 18px!important}.client-hero-sub{font-size:.85rem!important;line-height:1.45!important}.client-hero-inner{gap:10px!important}}
@media(prefers-reduced-motion:reduce){.ec-acc-body{animation:none}.ec-acc-chev,.ec-cat-chev{transition:none}}
