/* styles.css */ body, html { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; } .stAppHeader { visibility: hidden; } /* Conteneur principal */ .block-container { max-width: 1024px !important; padding-left: 2rem; padding-right: 2rem; padding: 0rem 1rem 10rem; } .stVerticalBlock { gap: 0.5rem !important; } /* Lien normal (non visité) */ a { color: #1b5e20; /* vert foncé */ text-decoration: none; } /* Lien visité */ a:visited { color: #388e3c; /* vert moyen */ } /* Lien au survol */ a:hover { color: #145a1a; /* vert encore plus foncé */ text-decoration: underline; } /* Lien actif */ a:active { color: #2e7d32; /* action en cours - nuance */ } /* Couleur des boutons primaires et sliders */ .stButton > button, .stSlider > div > div { background-color: darkgreen !important; color: white !important; border: 1px solid grey; } /* Style pour impression */ @media print { body { font-size: 12pt; color: black; background: white; } nav, footer, .stSidebar { display: none !important; } } /* En-tête large */ .wide-header { width: 100vw; margin-left: calc(-50vw + 50%); background-color: #f9f9f9; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); border-bottom: 1px solid #ddd; text-align: center; padding-top: 1rem; } .titre-header { font-size: 2rem !important; font-weight: bolder !important; color: #555; } /* Accessibilité RGAA pour les onglets */ div[role="radiogroup"] > label { background-color: #eee; color: #333; padding: 0.5em 1em; border-radius: 0.4em; margin-right: 0.5em; cursor: pointer; border: 1px solid #ccc; } div[role="radiogroup"] > label[data-selected="true"] { background-color: #1b5e20 !important; color: white !important; font-weight: bold; border: 2px solid #145a1a; } /* Style du graphique Plotly */ .stPlotlyChart text { font-family: Verdana !important; fill: black !important; font-size: 14px !important; } /* Pied de page */ /* Footer général */ .wide-footer { width: 100vw; margin-left: calc(-50vw + 50%); margin-top: 3rem; /* changé pour matcher */ background-color: #f9f9f9; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); border-top: 1px solid #ddd; text-align: center; padding-top: 1rem; } /* Texte à l'intérieur du footer */ .info-footer { font-size: 1rem !important; color: #333; /* au lieu de #555 */ font-weight: 800; } /* Petit paragraphe sous le footer */ .footer-note { margin-top: 0.5rem; font-size: small; } /* Bloc impact environnemental dans sidebar */ .impact-environnement { margin-top: 1rem; font-size: medium; } /* Div réseau pour impact CO₂ */ #network-usage { font-size: small; margin-top: 1rem; } .decorative-heading { font-size: 1.25rem; font-weight: bold; margin-bottom: 0.5rem; color: #145a1a; /* même couleur que hover, bon contraste */ } /* Override Streamlit file uploader limit text to 100 Ko */ div[data-testid="stFileUploaderDropzoneInstructions"] small { visibility: hidden; } div[data-testid="stFileUploaderDropzoneInstructions"] small::after { content: "Limite 100 Ko par fichier • JSON"; visibility: visible; display: block; font-size: inherit; color: inherit; margin-top: 0.25em; } /* Override Streamlit file uploader limit text to 100 Ko */ div[data-testid="stFileUploaderDropzoneInstructions"] small { visibility: hidden; } div[data-testid="stFileUploaderDropzoneInstructions"] small::after { content: "Limite 100 Ko par fichier • JSON"; visibility: visible; display: block; font-size: inherit; color: inherit; margin-top: 0.25em; } /* Translate Drag and drop and Browse files */ /* Hide original "Drag and drop file here" text */ div[data-testid="stFileUploaderDropzoneInstructions"] .st-emotion-cache-j7qwjs > span:nth-of-type(1) { visibility: hidden; } /* Insert French translation */ div[data-testid="stFileUploaderDropzoneInstructions"] .st-emotion-cache-j7qwjs > span:nth-of-type(1)::after { content: "Glissez-déposez votre fichier ici"; visibility: visible; display: block; font-size: inherit; color: inherit; } /* Hide original "Browse files" button text */ /* Target the button within the dropzone container for uploader */ div[data-testid="stFileUploaderDropzone"] button[data-testid="stBaseButton-secondary"] { color: transparent !important; position: relative; } /* Insert French translation for button */ div[data-testid="stFileUploaderDropzone"] button[data-testid="stBaseButton-secondary"]::after { content: "Parcourir les fichiers"; visibility: visible !important; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: block; font-size: inherit; color: inherit !important; }