:root{--blue:#3a489b;--dark:#162d68;--yellow:#dddb00;--purple:#7c3aed;--green:#22c55e;--red:#dc2626;--gray:#6b7280;--bg:#f3f4f6;--surface:#fff;--border:#e5e7eb;--radius:16px;}
.cp-page{max-width:900px;margin:0 auto;padding:24px 16px 60px;}
.cp-page-header{text-align:center;margin-bottom:28px;}
.cp-page-header h1{font-size:26px;font-weight:900;color:var(--dark);margin-bottom:8px;}
.cp-page-header p{color:var(--gray);font-size:15px;}

/* ── AUJOURD'HUI ────────────────────────────────────────── */
.cp-today-hero{height:340px;border-radius:var(--radius);background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end;overflow:hidden;margin-bottom:0;}
.cp-today-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(22,45,104,.92) 0%,rgba(0,0,0,.1) 55%);}
.cp-today-hero-content{position:relative;z-index:1;padding:28px;}
.cp-today-hero-nothumb{background:linear-gradient(135deg,var(--blue),var(--dark));border-radius:var(--radius);padding:32px;align-items:flex-start;height:auto;}
.cp-today-tag{display:inline-block;background:var(--yellow);color:var(--dark);font-size:11px;font-weight:900;padding:4px 12px;border-radius:50px;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px;}
.cp-today-title{color:#fff;font-size:24px;font-weight:900;line-height:1.2;margin-bottom:8px;}
.cp-today-author{color:rgba(255,255,255,.75);font-size:14px;font-style:italic;}
.cp-today-content-wrap{background:var(--surface);border-radius:0 0 var(--radius) var(--radius);padding:28px;box-shadow:0 4px 20px rgba(0,0,0,.08);margin-bottom:24px;}
.cp-today-date{font-size:13px;color:var(--gray);font-weight:600;margin-bottom:18px;text-transform:capitalize;}
.cp-today-content{font-size:16px;line-height:1.85;color:#1f2937;}
.cp-today-content p{margin-bottom:16px;}
.cp-today-content img{max-width:100%;border-radius:10px;margin:12px 0;}
.cp-today-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--border);}
.cp-btn-action{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:50px;font-size:13px;font-weight:700;cursor:pointer;border:2px solid var(--blue);color:var(--blue);background:transparent;text-decoration:none;transition:all .15s;}
.cp-btn-action:hover{background:var(--blue);color:#fff;}
.cp-btn-action.cp-favored{border-color:var(--yellow);color:#92400e;background:#fef3c7;}
.cp-btn-full{background:linear-gradient(135deg,var(--blue),var(--dark));color:#fff!important;border-color:transparent;}
.cp-btn-full:hover{opacity:.9;color:#fff!important;}

/* Suggestions */
.cp-suggestions{margin-top:28px;}
.cp-suggestions-title{font-size:16px;font-weight:800;color:var(--dark);margin-bottom:14px;}
.cp-suggestions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;}
.cp-suggestion-card{display:flex;gap:0;background:var(--surface);border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 2px 10px rgba(0,0,0,.08);transition:transform .15s;border-left:4px solid var(--accent);}
.cp-suggestion-card:hover{transform:translateY(-2px);}
.cp-suggestion-img{width:90px;height:100px;background-size:cover;background-position:center;flex-shrink:0;}
.cp-suggestion-img-ph{display:flex;align-items:center;justify-content:center;font-size:32px;}
.cp-suggestion-body{padding:12px;display:flex;flex-direction:column;gap:4px;flex:1;}
.cp-suggestion-cat{font-size:11px;font-weight:800;text-transform:uppercase;}
.cp-suggestion-title{font-size:14px;font-weight:700;color:var(--dark);line-height:1.3;}
.cp-suggestion-excerpt{font-size:12px;color:var(--gray);line-height:1.4;}
.cp-suggestion-link{font-size:12px;font-weight:700;margin-top:auto;}

/* ── PRIÈRES ────────────────────────────────────────────── */
.cp-prieres-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap;}
.cp-prieres-header h1{font-size:24px;font-weight:900;color:var(--dark);margin-bottom:6px;}
.cp-prieres-header p{color:var(--gray);font-size:14px;}
.cp-prieres-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0;}
.cp-prayer-grid{display:grid;gap:16px;}
.cp-prayer-card{background:var(--surface);border-radius:var(--radius);padding:18px;box-shadow:0 2px 10px rgba(0,0,0,.07);border-left:4px solid var(--border);transition:border-color .2s;}
.cp-prayer-card.cp-prayed{border-left-color:var(--green);background:#f0fdf4;}
.cp-prayer-card.cp-mine{border-left-color:var(--blue);}
.cp-prayer-card-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.cp-prayer-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.cp-prayer-meta strong{display:block;font-size:14px;font-weight:700;color:var(--dark);}
.cp-prayer-meta span{font-size:12px;color:var(--gray);}
.cp-prayer-stats{margin-left:auto;}
.cp-prayer-count-badge{background:var(--bg);border-radius:50px;padding:4px 10px;font-size:12px;font-weight:700;color:var(--gray);}
.cp-prayer-card-title{font-size:16px;font-weight:800;color:var(--dark);margin-bottom:8px;}
.cp-prayer-excerpt{font-size:14px;color:var(--gray);margin-bottom:14px;line-height:1.5;}
.cp-btn-pray{width:100%;padding:12px;border-radius:10px;border:2px solid var(--blue);background:transparent;color:var(--blue);font-weight:700;font-size:14px;cursor:pointer;transition:all .15s;}
.cp-btn-pray:hover:not([disabled]){background:var(--blue);color:#fff;}
.cp-btn-prayed{border-color:var(--green)!important;color:#15803d!important;background:#f0fdf4;cursor:default;}
.cp-prayer-mine-badge{text-align:center;padding:8px;font-size:13px;color:var(--blue);font-weight:600;}
/* Prayer embed fallback */
.cp-prayer-embed{background:var(--surface);border-radius:var(--radius);padding:32px;box-shadow:0 2px 10px rgba(0,0,0,.07);}
.cp-prayer-embed-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px;}
.cp-prayer-note{font-size:14px;color:var(--gray);margin-bottom:24px;line-height:1.6;}
.cp-prayer-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;}
.cp-prayer-link-card{display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--bg);border-radius:12px;padding:20px;text-decoration:none;color:inherit;text-align:center;transition:all .15s;}
.cp-prayer-link-card:hover{background:var(--blue);color:#fff;}
.cp-prayer-link-card span:first-child{font-size:28px;}
.cp-prayer-link-card strong{font-size:14px;font-weight:800;}
.cp-prayer-link-card span:last-child{font-size:12px;color:var(--gray);}
.cp-prayer-link-card:hover span:last-child{color:rgba(255,255,255,.8);}

/* ── COURS ──────────────────────────────────────────────── */
.cp-courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;}
.cp-course-card{display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 2px 10px rgba(0,0,0,.07);transition:transform .15s,box-shadow .15s;}
.cp-course-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.12);}
.cp-course-thumb{position:relative;height:165px;background:linear-gradient(135deg,var(--blue),var(--dark));overflow:hidden;}
.cp-course-thumb img{width:100%;height:100%;object-fit:cover;}
.cp-course-thumb-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:52px;}
.cp-course-badge-enrolled{position:absolute;top:10px;right:10px;background:var(--green);color:#fff;padding:4px 10px;border-radius:50px;font-size:11px;font-weight:800;}
.cp-course-body{padding:16px;flex:1;display:flex;flex-direction:column;gap:8px;}
.cp-course-title{font-size:16px;font-weight:800;color:var(--dark);line-height:1.3;}
.cp-course-excerpt{font-size:13px;color:var(--gray);line-height:1.5;flex:1;}
.cp-course-author{display:flex;align-items:center;gap:6px;font-size:13px;color:#374151;}
.cp-course-author-pic{width:24px;height:24px;border-radius:50%;object-fit:cover;}
.cp-course-stats{display:flex;gap:14px;font-size:12px;color:var(--gray);}
.cp-course-cta{display:block;text-align:center;padding:10px;background:linear-gradient(135deg,var(--blue),var(--dark));color:#fff;border-radius:8px;font-weight:700;font-size:13px;margin-top:auto;}

/* ── ÉVÉNEMENTS ─────────────────────────────────────────── */
.cp-events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;}
.cp-event-card{background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.07);transition:transform .15s;}
.cp-event-card:hover{transform:translateY(-2px);}
.cp-event-img-wrap{position:relative;height:190px;background:linear-gradient(135deg,var(--red),#7f1d1d);overflow:hidden;}
.cp-event-img{width:100%;height:100%;object-fit:cover;}
.cp-event-img-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:52px;color:#fff;}
.cp-event-date-pill{position:absolute;top:12px;right:12px;background:rgba(22,45,104,.9);color:#fff;border-radius:10px;padding:8px 12px;text-align:center;backdrop-filter:blur(4px);min-width:50px;}
.cp-event-day{display:block;font-size:22px;font-weight:900;line-height:1;}
.cp-event-month{display:block;font-size:11px;font-weight:700;text-transform:uppercase;opacity:.8;}
.cp-event-body{padding:16px;}
.cp-event-title{font-size:16px;font-weight:800;color:var(--dark);margin-bottom:8px;line-height:1.3;}
.cp-event-title a{color:inherit;text-decoration:none;}
.cp-event-excerpt{font-size:13px;color:var(--gray);margin-bottom:12px;line-height:1.5;}
.cp-event-details{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;}
.cp-event-detail{font-size:13px;color:#374151;display:flex;align-items:center;gap:5px;}
.cp-event-actions{display:flex;gap:8px;flex-wrap:wrap;}
.cp-btn-event-more{flex:1;text-align:center;padding:9px 12px;border:2px solid var(--border);border-radius:8px;font-size:13px;font-weight:700;color:#374151;text-decoration:none;transition:all .15s;}
.cp-btn-event-more:hover{border-color:var(--blue);color:var(--blue);}
.cp-btn-rsvp{flex:1;padding:9px 12px;background:linear-gradient(135deg,var(--blue),var(--dark));color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;transition:opacity .15s;}
.cp-btn-rsvp:hover{opacity:.9;}
.cp-rsvp-ok{flex:1;text-align:center;font-size:13px;font-weight:700;color:var(--green);padding:9px 12px;}

/* ── Shared ─────────────────────────────────────────────── */
.cp-btn-primary{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:linear-gradient(135deg,var(--blue),var(--dark));color:#fff;border-radius:50px;text-decoration:none;font-weight:700;font-size:13px;border:none;cursor:pointer;}
.cp-btn-primary:hover{opacity:.9;color:#fff;}
.cp-btn-outline{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border:2px solid var(--blue);color:var(--blue);border-radius:50px;text-decoration:none;font-weight:700;font-size:13px;background:transparent;}
.cp-btn-outline:hover{background:var(--blue);color:#fff;}
.cp-pagination{margin-top:32px;text-align:center;}
.cp-pagination .page-numbers{display:inline-block;padding:8px 14px;margin:2px;border:1px solid var(--border);border-radius:8px;text-decoration:none;color:#374151;font-size:14px;}
.cp-pagination .page-numbers.current{background:var(--blue);border-color:var(--blue);color:#fff;}
.cp-empty{text-align:center;padding:60px 20px;background:var(--surface);border-radius:var(--radius);box-shadow:0 2px 10px rgba(0,0,0,.06);}
.cp-empty-icon{font-size:56px;display:block;margin-bottom:16px;}
.cp-empty h2{font-size:20px;font-weight:800;color:var(--dark);margin-bottom:8px;}
.cp-empty p{color:var(--gray);font-size:14px;}

@media(max-width:600px){
  .cp-today-hero{height:260px;}
  .cp-today-title{font-size:20px;}
  .cp-courses-grid,.cp-events-grid{grid-template-columns:1fr;}
  .cp-prieres-header{flex-direction:column;}
  .cp-today-actions{flex-direction:column;}
}

/* ── DÉVOTIONNEL ─────────────────────────────────────────── */
.cp-devo-intro{font-size:16px;line-height:1.8;color:#1f2937;margin-bottom:24px;}
.cp-devo-verse{
    background:linear-gradient(135deg,#f0f4ff,#e8ecff);
    border-left:4px solid var(--blue);
    border-radius:0 12px 12px 0;
    padding:20px 24px;margin:24px 0;
}
.cp-devo-verse-text{
    font-size:17px;font-style:italic;color:var(--dark);
    line-height:1.7;font-weight:500;margin-bottom:10px;
}
.cp-devo-verse-ref{font-size:13px;font-weight:700;color:var(--blue);}
.cp-devo-verse-version{font-weight:400;color:var(--gray);}
.cp-devo-section-title{
    font-size:14px;font-weight:800;color:var(--dark);
    text-transform:uppercase;letter-spacing:.5px;
    margin:0 0 12px;display:flex;align-items:center;gap:6px;
}
.cp-devo-reflexion{
    background:#fff;border:1px solid var(--border);
    border-radius:12px;padding:20px 24px;margin:20px 0;
}
.cp-devo-reflexion-text{font-size:15px;line-height:1.8;color:#374151;}
.cp-devo-reflexion-text p{margin-bottom:12px;}
.cp-devo-keywords{
    background:#fffbeb;border:1px solid #fde68a;
    border-radius:12px;padding:16px 20px;margin:16px 0;
}
.cp-devo-keywords p{font-size:14px;color:#92400e;line-height:1.6;}
.cp-devo-author{
    text-align:right;font-size:14px;color:var(--gray);
    font-style:italic;margin-top:16px;padding-top:12px;
    border-top:1px solid var(--border);
}

.cp-suggestion-verse{font-size:12px;font-style:italic;color:#374151;line-height:1.4;margin:4px 0;}
.cp-suggestion-ref{font-size:11px;font-weight:700;display:block;margin:4px 0;}
.cp-suggestion-author{font-size:11px;color:var(--gray);display:block;font-style:italic;}

.cp-devo-temoignage{
    border-left:4px solid #7c3aed;background:#faf5ff;
    border-radius:0 12px 12px 0;padding:20px 24px;margin:20px 0;
    font-size:15px;line-height:1.8;color:#374151;font-style:italic;
}
.cp-devo-temoignage p{margin-bottom:10px;}
.cp-devo-temoignage cite{font-style:normal;font-size:13px;font-weight:700;color:#7c3aed;display:block;margin-top:12px;}
