.editeur-page-container { padding: 20px; background-color: #f0f2f5; min-height: 100vh; } .editeur-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; background: white; padding: 10px 20px; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); } .header-left, .header-right { display: flex; align-items: center; gap: 15px; } .editeur-layout { display: grid; grid-template-columns: 1fr 300px; gap: 20px; } .editeur-main { display: flex; flex-direction: column; gap: 20px; } .titre-input { width: 100%; font-size: 2em; padding: 10px; border: 1px solid #ccc; border-radius: 4px; } .page-builder { background: white; min-height: 400px; border-radius: 8px; padding: 20px; display: flex; flex-direction: column; gap: 15px; border: 1px dashed #ccc; } .empty-builder { text-align: center; color: #888; margin-top: 50px; } .builder-item { border: 1px solid #e0e0e0; border-radius: 6px; background: #fff; overflow: hidden; } .item-controls { background: #f8f9fa; padding: 8px 15px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #eee; } .comp-name { font-weight: bold; font-size: 0.9em; color: #555; } .controls-right { display: flex; gap: 5px; } .item-content { padding: 15px; } .comp-edit { display: flex; flex-direction: column; gap: 8px; } .comp-edit label { font-size: 0.85em; font-weight: 600; color: #666; } .comp-edit input, .comp-edit textarea, .comp-edit select { padding: 8px; border: 1px solid #ddd; border-radius: 4px; font-family: inherit; } .hint { font-size: 0.85em; color: #888; font-style: italic; } .editeur-sidebar { display: flex; flex-direction: column; gap: 20px; } .sidebar-section { background: white; padding: 15px; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); } .sidebar-section h3 { margin-top: 0; font-size: 1.1em; border-bottom: 1px solid #eee; padding-bottom: 10px; margin-bottom: 15px; } .sidebar-field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 15px; } .sidebar-field label { font-size: 0.9em; font-weight: 600; } .components-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; } .comp-tool { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 10px; border: 1px solid #eee; border-radius: 6px; cursor: pointer; transition: background 0.2s; } .comp-tool:hover { background: #f0f7ff; border-color: #0055bb; } .comp-tool span { font-size: 0.8em; margin-top: 5px; } .templates-grid { display: grid; grid-template-columns: 1fr; gap: 10px; } .templates-grid wcs-button { width: 100%; } /* Preview styles */ .preview-container { background: #fdfdfd; min-height: 100vh; font-family: 'Avenir', sans-serif; color: #333; } .preview-container.sncf-voyageurs { --wcs-primary: #0088ce; --wcs-primary-hover: #006699; } .preview-toolbar { background: #2d2d2d; color: white; padding: 10px 40px; display: flex; align-items: center; gap: 20px; position: sticky; top: 0; z-index: 1000; box-shadow: 0 2px 10px rgba(0,0,0,0.3); } .preview-toolbar h2 { margin: 0; font-size: 1.2rem; font-weight: 300; } .preview-content { max-width: 900px; margin: 0 auto; padding: 60px 20px; background: white; min-height: calc(100vh - 56px); box-shadow: 0 0 30px rgba(0,0,0,0.05); } .preview-content h1 { font-size: 2.5rem; font-weight: 800; color: #333; } .preview-content h2 { font-size: 2rem; margin-top: 1.5em; } .preview-content h3 { font-size: 1.5rem; margin-top: 1.2em; } .preview-content p { line-height: 1.6; margin-bottom: 1.2em; } /* Nouveaux styles pour une fidélité accrue aux images SNCF */ .preview-titre { color: var(--wcs-primary); margin-top: 1.5em; margin-bottom: 0.5em; letter-spacing: -0.02em; } h1.preview-titre { font-size: 2.8rem; font-weight: 900; text-transform: uppercase; border-bottom: 4px solid var(--wcs-primary); padding-bottom: 15px; margin-bottom: 40px; } .preview-paragraphe { white-space: pre-line; font-size: 1.1rem; color: #444; margin-bottom: 1.5rem; } .preview-divider { margin: 40px 0; --wcs-divider-color: #eee; } .preview-card { border: 1px solid #e0e0e0; border-radius: 8px; margin-bottom: 20px; transition: transform 0.2s, box-shadow 0.2s; } .preview-card:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.08); } .card-titre { margin: 0 0 12px 0; color: var(--wcs-primary); font-size: 1.3rem; font-weight: 700; } .card-contenu { margin: 0; font-size: 1rem; color: #555; line-height: 1.5; } .preview-accordion { margin-bottom: 15px; border: 1px solid #eee; border-radius: 4px; } .accordion-content { padding: 20px; background: #f9f9f9; border-top: 1px solid #eee; } .accordion-content p { margin: 0; color: #444; } .preview-progress { margin: 20px 0; height: 12px; } .preview-alerte { margin-bottom: 15px; } .preview-comp wcs-button { margin-top: 15px; margin-right: 10px; --wcs-button-border-radius: 4px; font-weight: 700; } .cms-page-editor { display: grid; grid-template-columns: 1fr 260px; gap: 16px; } .cms-builder { background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; padding: 16px; display: flex; flex-direction: column; gap: 14px; } .cms-empty { color: #8a8a8a; text-align: center; padding: 24px 10px; } .cms-block { border: 1px solid #e5e7eb; border-radius: 8px; overflow: hidden; } .cms-block-header { background: #f8fafc; padding: 10px 12px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e5e7eb; } .cms-block-title { font-weight: 600; font-size: 14px; color: #374151; } .cms-block-actions { display: flex; gap: 6px; } .cms-block-body { padding: 12px; } .cms-sidebar { background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; padding: 14px; height: fit-content; } .cms-block-list { display: flex; flex-direction: column; gap: 8px; } .cms-block-add { border: 1px dashed #cbd5f5; border-radius: 8px; padding: 8px 10px; cursor: pointer; background: #f8faff; font-size: 13px; text-align: left; } .cms-block-add:hover { border-color: #4f46e5; } .cms-form { display: flex; flex-direction: column; gap: 8px; } .cms-label { font-size: 12px; font-weight: 600; color: #4b5563; } .cms-input, .cms-select, .cms-textarea { border: 1px solid #d1d5db; border-radius: 6px; padding: 8px 10px; font-size: 13px; } .cms-checkbox { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #374151; } .sidebar-hint { color: #6b7280; font-size: 12px; margin: 0; } @media (max-width: 900px) { .editeur-layout, .cms-page-editor { grid-template-columns: 1fr; } .editeur-header { flex-direction: column; align-items: stretch; gap: 12px; } .preview-toolbar { padding: 10px 16px; } .preview-content { padding: 30px 16px; } } /* ========================================================================== DARK MODE ========================================================================== */ body.dark-mode .editeur-page-container, [data-theme="dark"] .editeur-page-container { background-color: #0b111e; color: #f8fafc; } body.dark-mode .editeur-header, [data-theme="dark"] .editeur-header { background: #151f30; border: 1px solid #243247; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); } body.dark-mode .page-builder, [data-theme="dark"] .page-builder { background: #151f30; border-color: #243247; } body.dark-mode .builder-item, [data-theme="dark"] .builder-item { border-color: #243247; background: #0e1726; } body.dark-mode .item-controls, [data-theme="dark"] .item-controls { background: #151f30; border-bottom-color: #243247; } body.dark-mode .comp-name, [data-theme="dark"] .comp-name { color: #94a3b8; } body.dark-mode .comp-edit label, [data-theme="dark"] .comp-edit label { color: #94a3b8; } body.dark-mode .comp-edit input, body.dark-mode .comp-edit textarea, body.dark-mode .comp-edit select, [data-theme="dark"] .comp-edit input, [data-theme="dark"] .comp-edit textarea, [data-theme="dark"] .comp-edit select { background: #0b111e; border-color: #243247; color: #f8fafc; } body.dark-mode .sidebar-section, [data-theme="dark"] .sidebar-section { background: #151f30; border: 1px solid #243247; color: #f8fafc; } body.dark-mode .sidebar-section h3, [data-theme="dark"] .sidebar-section h3 { border-bottom-color: #243247; color: #f8fafc; } body.dark-mode .comp-tool, [data-theme="dark"] .comp-tool { border-color: #243247; background: #0e1726; color: #f8fafc; } body.dark-mode .comp-tool:hover, [data-theme="dark"] .comp-tool:hover { background: #1a2a42; border-color: #38bdf8; } body.dark-mode .cms-builder, [data-theme="dark"] .cms-builder { background: #151f30; border-color: #243247; } body.dark-mode .cms-block, [data-theme="dark"] .cms-block { border-color: #243247; } body.dark-mode .cms-block-header, [data-theme="dark"] .cms-block-header { background: #0e1726; border-bottom-color: #243247; } body.dark-mode .cms-block-title, [data-theme="dark"] .cms-block-title { color: #f8fafc; } body.dark-mode .cms-sidebar, [data-theme="dark"] .cms-sidebar { background: #151f30; border-color: #243247; } body.dark-mode .cms-block-add, [data-theme="dark"] .cms-block-add { border-color: #243247; background: #0e1726; color: #38bdf8; } body.dark-mode .cms-block-add:hover, [data-theme="dark"] .cms-block-add:hover { background: #1a2a42; } body.dark-mode .cms-label, [data-theme="dark"] .cms-label { color: #94a3b8; } body.dark-mode .cms-input, body.dark-mode .cms-select, body.dark-mode .cms-textarea, [data-theme="dark"] .cms-input, [data-theme="dark"] .cms-select, [data-theme="dark"] .cms-textarea { background: #0b111e; border-color: #243247; color: #f8fafc; } body.dark-mode .cms-checkbox, [data-theme="dark"] .cms-checkbox { color: #f8fafc; } body.dark-mode .titre-input, [data-theme="dark"] .titre-input { background: #151f30; border-color: #243247; color: #f8fafc; }