/**
 * PSC Jappo - Elementor Styles
 */
:root {
    --psc-bleu-roi: #1E3A8A;
    --psc-bleu-clair: #3B82F6;
    --psc-jaune: #F59E0B;
    --psc-blanc: #FFFFFF;
    --psc-gris-clair: #F3F4F6;
    --psc-gris-fonce: #1F2937;
}

/* Sections Elementor */
.elementor-section.elementor-section-boxed > .elementor-container { max-width: 1200px; }
.elementor-section.elementor-section-full_width { padding: 0; }
body.elementor-template-canvas { background: var(--psc-blanc); }
body.elementor-page .site-main { padding-top: 0; }

/* Boutons PSC */
.elementor-widget-button .elementor-button {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    border-radius: 8px;
    transition: all 0.3s ease;
    padding: 15px 35px;
}
.elementor-widget-button .elementor-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

/* Titres */
.elementor-widget-heading .elementor-heading-title { font-family: 'Montserrat', sans-serif; }
.psc-titre-section { color: var(--psc-bleu-roi); font-weight: 700; position: relative; padding-bottom: 15px; }
.psc-titre-section::after { content: ''; position: absolute; bottom: 0; left: 0; width: 60px; height: 4px; background: var(--psc-jaune); border-radius: 2px; }
.psc-titre-section.text-center::after { left: 50%; transform: translateX(-50%); }

/* Sections prédéfinies */
.psc-section-bleu { background: linear-gradient(135deg, var(--psc-bleu-roi) 0%, var(--psc-bleu-clair) 100%); }
.psc-section-gris { background: var(--psc-gris-clair); }
.psc-hero-section { position: relative; min-height: 80vh; display: flex; align-items: center; background-size: cover; background-position: center; }
.psc-hero-section .elementor-background-overlay { background: linear-gradient(135deg, rgba(30, 58, 138, 0.9) 0%, rgba(59, 130, 246, 0.85) 100%); }

/* Cartes */
.psc-card { background: var(--psc-blanc); border-radius: 16px; overflow: hidden; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08); transition: all 0.3s ease; }
.psc-card:hover { transform: translateY(-8px); box-shadow: 0 15px 40px rgba(30, 58, 138, 0.15); }

/* Icon Box PSC */
.elementor-widget-icon-box.psc-icon-box .elementor-icon { background: linear-gradient(135deg, var(--psc-jaune) 0%, #FCD34D 100%); border-radius: 16px; color: var(--psc-bleu-roi); }
.elementor-widget-icon-box.psc-icon-box .elementor-icon-box-title { color: var(--psc-bleu-roi); font-weight: 700; }

/* Compteurs */
.elementor-widget-counter .elementor-counter-number-wrapper { font-family: 'Montserrat', sans-serif; font-weight: 800; color: var(--psc-jaune); }
.elementor-widget-counter .elementor-counter-title { font-family: 'Open Sans', sans-serif; }
.psc-stats-section .elementor-widget-counter .elementor-counter-number-wrapper { font-size: 48px; }

/* Formulaires */
.elementor-form .elementor-field-textual { border: 2px solid var(--psc-gris-clair); border-radius: 8px; padding: 15px; transition: border-color 0.3s; }
.elementor-form .elementor-field-textual:focus { border-color: var(--psc-bleu-clair); outline: none; }
.elementor-form .elementor-button { background: var(--psc-jaune); color: var(--psc-bleu-roi); font-weight: 600; border-radius: 8px; }

/* Responsive */
@media (max-width: 992px) {
    .psc-hero-section { min-height: 60vh; }
    .elementor-widget-counter .elementor-counter-number-wrapper { font-size: 36px; }
}
@media (max-width: 576px) {
    .psc-hero-section { min-height: 50vh; }
}
