/* pages 630 fonctionnalités */
.dom-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:18px 0}
.dom-card{display:flex;flex-direction:column;gap:4px;background:#fff;border:1.5px solid var(--border);border-radius:18px;padding:14px;text-decoration:none;color:var(--text);transition:transform .12s,box-shadow .12s}
.dom-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.dom-emoji{font-size:26px}
.dom-title{font-weight:800;font-size:17px}
.dom-count{color:var(--accentDeep);font-weight:700;font-size:13px}
.dom-pitch{color:#6b6b6b;font-size:13px;line-height:1.4}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:18px 0}
.feat-card{display:flex;flex-direction:column;gap:6px;background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:13px;text-decoration:none;color:var(--text)}
.feat-card:hover{border-color:var(--accent,#ff7a59)}
.feat-title{font-weight:800}
.feat-promise{color:#6b6b6b;font-size:13px;line-height:1.4}
.feat-tag{align-self:flex-start;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--accentDeep);background:#fff4f0;border-radius:999px;padding:3px 8px}
.fx-label{display:block;margin:10px 0 4px;font-weight:700}
.fx-input{width:100%;margin-top:6px;padding:11px;border-radius:12px;border:1.5px solid var(--border);font:inherit;background:#fff}
.fx-field{margin-bottom:12px}
.fx-key{display:block;font-weight:800;color:var(--accentDeep);font-size:13px;text-transform:uppercase;letter-spacing:.03em}
.fx-field p{margin:4px 0 0;line-height:1.5}
.fx-field ul{margin:6px 0 0;padding-left:20px}
.fx-field li{margin-bottom:4px;line-height:1.45}
.fx-img{width:100%;border-radius:16px;margin-bottom:12px}
/* Ballon de respiration guidee - LEA_CALO630_BREATH_WIDGET_v1 */
.fx-breath{margin:2px 0 18px;text-align:center}
.fx-breath-stage{position:relative;height:250px;display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.fx-breath-halo{position:absolute;width:180px;height:180px;border-radius:50%;
background:radial-gradient(circle at 50% 45%, rgba(255,150,110,.45), rgba(255,190,120,.06) 70%);
opacity:.2;will-change:transform,opacity}
.fx-breath-ball{position:relative;width:180px;height:180px;border-radius:50%;
background:radial-gradient(circle at 38% 32%, #ffd9c2 0%, #ff9d76 45%, #f4713f 100%);
box-shadow:0 18px 42px -14px rgba(224,96,50,.55), inset 0 -10px 26px -12px rgba(150,50,20,.35);
display:flex;align-items:center;justify-content:center;will-change:transform;
transform:scale(.55)}
.fx-breath-count{font-size:40px;font-weight:800;color:#fff;text-shadow:0 2px 10px rgba(150,60,30,.35);
font-variant-numeric:tabular-nums}
.fx-breath-phase{font-size:17px;font-weight:700;min-height:26px}
.fx-breath-meta{color:var(--muted);font-size:14px;margin-top:4px;font-variant-numeric:tabular-nums}
.fx-breath-bar{height:6px;border-radius:6px;background:rgba(0,0,0,.07);margin:12px auto 8px;max-width:340px;overflow:hidden}
.fx-breath-bar-in{height:100%;width:0;border-radius:6px;background:linear-gradient(90deg,#ff9d76,#f4713f)}
.fx-breath-rythme{color:var(--muted);font-size:13px;margin:2px 0 10px}
.fx-breath-row{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}
.fx-breath-btn{border:0;cursor:pointer;font-weight:800;font-size:15px;color:#fff;padding:12px 20px;border-radius:12px;
background:linear-gradient(135deg,#ff8a5c,#f4713f)}
.fx-breath-btn:disabled{opacity:.45;cursor:default}
.fx-breath-btn.ghost{background:#fff;color:var(--text);border:1.5px solid var(--border)}
.fx-breath-sound{color:var(--muted);font-size:14px;display:flex;align-items:center;gap:6px;cursor:pointer}
@media (prefers-reduced-motion:reduce){
.fx-breath-halo{display:none}
}
