/* ═══════════════════ CTA PANEL — composant partagé ═══════════════════
   Panneau flottant (haut droite) : Partager ma réussite / Une astuce à
   partager / Conseils d'un pro, + items optionnels par page via
   window.CTA_PANEL_EXTRA_ITEMS. Voir /public/shared/cta-panel.js */

.ctap-panel{position:fixed;top:14px;right:16px;z-index:1000;width:224px;background:#fdfaf5;border:1px solid rgba(26,22,20,.1);border-radius:14px;box-shadow:0 3px 16px rgba(0,0,0,.1);overflow:hidden;font-family:'DM Sans',system-ui,sans-serif}
.ctap-btn{display:flex;align-items:center;gap:10px;width:100%;padding:11px 15px;background:transparent;border:none;border-bottom:1px solid rgba(26,22,20,.08);text-align:left;cursor:pointer;font-size:13px;font-weight:600;color:#1a1614;font-family:inherit;text-decoration:none;transition:background .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ctap-btn:last-child{border-bottom:none}
.ctap-btn:hover{background:rgba(184,113,58,.1)}
.ctap-ic{font-size:16px;flex-shrink:0}
.ctap-toggle{display:none}

@media (max-width:640px){
  .ctap-panel{width:200px}
  .ctap-btn{font-size:12px;padding:9px 13px}
}
@media (max-width:480px){
  .ctap-panel{width:auto;max-width:44px;transition:max-width .2s ease}
  .ctap-panel.ctap-open{max-width:236px}
  .ctap-panel .ctap-btn{display:none}
  .ctap-panel.ctap-open .ctap-btn{display:flex}
  .ctap-toggle{display:flex;align-items:center;justify-content:center;width:42px;height:38px;background:transparent;border:none;cursor:pointer;font-size:17px}
  .ctap-panel.ctap-open .ctap-toggle{display:none}
}

/* Modales */
.ctap-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(6px);z-index:99000;align-items:center;justify-content:center;padding:20px}
.ctap-modal.open{display:flex}
.ctap-modal-box{background:#fdfaf5;border-radius:17px;padding:24px 22px;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.25);font-family:'DM Sans',system-ui,sans-serif}
.ctap-modal-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.ctap-modal-ttl{font-size:16px;font-weight:800;color:#1a1614}
.ctap-modal-x{background:none;border:none;cursor:pointer;font-size:18px;color:#8a8078;line-height:1}
.ctap-modal-sub{font-size:13px;color:#6b6258;margin-bottom:16px;line-height:1.5}
.ctap-fld{margin-bottom:12px}
.ctap-fld input,.ctap-fld textarea{width:100%;padding:10px 12px;border:1.5px solid rgba(0,0,0,.09);border-radius:8px;font-size:14px;font-family:inherit;color:#1a1714;background:#fff;outline:none;box-sizing:border-box;transition:border-color .15s}
.ctap-fld input:focus,.ctap-fld textarea:focus{border-color:#b8713a}
.ctap-fld textarea{resize:vertical;min-height:80px;line-height:1.5}
.ctap-err{font-size:12px;color:#dc2626;font-weight:700;margin-bottom:8px;min-height:14px}
.ctap-acts{display:flex;gap:8px;justify-content:flex-end}
.ctap-btn-cancel{padding:9px 16px;border-radius:8px;border:1.5px solid rgba(0,0,0,.09);background:transparent;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;color:#6b6258;transition:all .15s}
.ctap-btn-cancel:hover{border-color:#dc2626;color:#dc2626}
.ctap-btn-submit{padding:9px 16px;border-radius:8px;border:none;background:#b8713a;color:#fff;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:opacity .15s}
.ctap-btn-submit:hover{opacity:.85}
.ctap-success{color:#16a34a;font-weight:700;font-size:14px;margin-bottom:14px}
