/* Application installable : mise en page allégée des simulateurs */
.is-app { background: #F6F7F9; color: #1B1F26; padding-bottom: env(safe-area-inset-bottom); }
.app-bar { position: sticky; top: 0; z-index: 20; display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 8px; padding: calc(env(safe-area-inset-top) + 10px) 16px 10px; background: #0B1432; color: #fff; }
.app-title { font-size: 1rem; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.app-brand { font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; opacity: .7; }
.app-back { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: #fff; font-size: 1.5rem; text-decoration: none; background: rgba(255,255,255,.12); }
.app-main { max-width: 760px; margin: 0 auto; padding: 18px 16px 28px; }
.app-intro h1 { font-family: var(--serif); font-size: 1.7rem; line-height: 1.2; margin: 6px 0 10px; }
.app-intro p { color: #4A5260; }
.app-install[hidden], .app-ios[hidden] { display: none; }
.app-grid { display: grid; gap: 12px; grid-template-columns: 1fr; margin-top: 18px; }
@media (min-width: 600px) { .app-grid { grid-template-columns: 1fr 1fr; } }
.app-tile { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; background: #fff; border-radius: 14px; border-top: 4px solid #9CC9E6; text-decoration: none; color: inherit; box-shadow: 0 6px 20px -14px rgba(0,0,0,.4); }
.app-tile strong { font-family: var(--serif); font-size: 1.1rem; }
.app-tile span:last-child { font-size: .84rem; color: #5B6270; line-height: 1.4; }
.app-tile.c2 { border-top-color: #A8DCC8; } .app-tile.c3 { border-top-color: #C7B8E8; } .app-tile.c4 { border-top-color: #F0B9A3; }
.app-tile.c5 { border-top-color: #F2D58A; } .app-tile.c6 { border-top-color: #A9CFE0; } .app-tile.c7 { border-top-color: #E8B5C8; }
.app-tool h1 { font-family: var(--serif); font-size: 1.45rem; line-height: 1.25; margin: 4px 0 6px; }
.app-lead { color: #4A5260; margin: 0 0 14px; }
.is-app .tool-card { margin-bottom: 14px; }
.app-foot { max-width: 760px; margin: 0 auto; padding: 8px 16px 32px; font-size: .74rem; line-height: 1.5; color: #6A7280; }
.app-foot a { color: inherit; }
.app-tile .tool-theme { font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: #8A6D1E; }
.app-desk{font-size:.85rem;color:#6A7280}@media(max-width:700px){.app-desk{display:none}}

.app-cta { text-align: center; padding: 22px 18px; margin: 4px 0 18px; border-radius: 16px; background: #0B1432; color: #fff; }
.app-cta p { margin: 0 0 14px; font-size: 1rem; line-height: 1.5; color: #fff; }
.app-cta-btn { font-size: 1.1rem !important; padding: 16px 34px !important; min-height: 56px; display: inline-flex; align-items: center; background: #C9A24B !important; color: #0B1432 !important; font-weight: 700; border-radius: 999px; box-shadow: 0 10px 26px -10px rgba(201,162,75,.8); }
.app-cta { display: flex; align-items: center; justify-content: space-between; gap: 18px; text-align: left; }
.app-cta p { margin: 0; flex: 1; }
.app-cta-btn { flex: none; white-space: nowrap; box-shadow: 0 0 10px rgba(201,162,75,.6), 0 0 26px rgba(201,162,75,.4) !important; }
.app-cta-btn:hover, .app-cta-btn:focus-visible { background: #F6E3AE !important; box-shadow: 0 0 12px #E0BC66, 0 0 34px rgba(224,188,102,.9) !important; }
@media (max-width: 520px) { .app-cta { flex-direction: column; text-align: center; } .app-cta p { flex: none; } }
/* v30 : bouton à droite, même sur téléphone, avec signal lumineux léger */
.app-cta { flex-direction: row !important; text-align: left !important; gap: 12px; padding: 18px 16px; }
.app-cta p { flex: 1 !important; font-size: .92rem; }
.app-cta-btn { font-size: .85rem !important; padding: 12px 16px !important; min-height: 0 !important; letter-spacing: .04em; animation: ctaGlow 3s ease-in-out infinite; box-shadow: 0 0 8px rgba(201,162,75,.4) !important; }
@keyframes ctaGlow { 0%,100% { box-shadow: 0 0 5px rgba(201,162,75,.3); } 50% { box-shadow: 0 0 15px rgba(224,188,102,.75); } }
@media (min-width: 521px) { .app-cta-btn { font-size: 1rem !important; padding: 15px 28px !important; } .app-cta p { font-size: 1rem; } }
@media (prefers-reduced-motion: reduce) { .app-cta-btn { animation: none; } }
@media (max-width: 520px) { .app-cta-btn { white-space: normal !important; max-width: 124px; text-align: center; line-height: 1.25; padding: 12px 14px !important; } .app-cta p { font-size: .88rem; } }
@media (max-width: 520px) { .app-cta-btn { max-width: 150px; font-size: .78rem !important; letter-spacing: 0; padding: 12px 10px !important; } }

/* v31 : bouton « Installer l'application » centré et lumineux */
.app-intro { text-align: center; }
.app-install { display: flex; justify-content: center; margin: 22px 0 6px; }
.app-install[hidden] { display: none; }
#app-install { font-size: 1.05rem; padding: 16px 34px; border-radius: 999px; border: 0; cursor: pointer; background: #C9A24B; color: #0B1432; font-weight: 700; animation: ctaGlow 3s ease-in-out infinite; box-shadow: 0 0 8px rgba(201,162,75,.4); transition: background .2s, box-shadow .2s; }
#app-install:hover, #app-install:focus-visible { background: #F6E3AE; box-shadow: 0 0 12px #E0BC66, 0 0 34px rgba(224,188,102,.9); }
.app-ios, .app-desk { text-align: center; }
@media (prefers-reduced-motion: reduce) { #app-install { animation: none; } }
