/* * citebi-profil.css * Feuille de style responsive pour la page profil Citebi * * INSTALLATION : * Ajouter dans functions.php du thème enfant : * * add_action('wp_enqueue_scripts', function() { * if (is_page_template('citebi-profil-template.php')) { * wp_enqueue_style( * 'citebi-profil', * get_stylesheet_directory_uri() . '/citebi-profil.css', * [], '1.0.0' * ); * } * }); */ /* ════════════════════════════════════════════════════ VARIABLES & RESET ════════════════════════════════════════════════════ */ :root { --cb-orange: #E07B39; --cb-orange-light: #FDF0E7; --cb-orange-dark: #B85E22; --cb-teal: #1A6B5A; --cb-teal-light: #E6F4F0; --cb-teal-dark: #0E4538; --cb-gold: #C8900A; --cb-gold-light: #FFF8E6; --cb-bg-page: #F4F0EB; --cb-bg-card: #FFFFFF; --cb-text-primary: #1C1C1C; --cb-text-secondary:#5A5A5A; --cb-text-muted: #8A8A8A; --cb-border: #E8E3DC; --cb-radius-card: 16px; --cb-radius-sm: 10px; --cb-radius-pill: 100px; --cb-shadow: 0 2px 12px rgba(0,0,0,0.06); --cb-font-main: 'Sora', sans-serif; --cb-font-body: 'DM Sans', sans-serif; --cb-topbar-h: 60px; --cb-page-max: 560px; --cb-page-px: 16px; } /* Masquer les éléments Elementor/WP inutiles sur cette page */ .citebi-profil-page .site-header, .citebi-profil-page .elementor-section:not(.cb-keep), .citebi-profil-page footer.site-footer { display: none !important; } .citebi-profil-page { font-family: var(--cb-font-body); background-color: var(--cb-bg-page); color: var(--cb-text-primary); min-height: 100vh; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } *, *::before, *::after { box-sizing: border-box; } img { max-width: 100%; height: auto; display: block; } a { text-decoration: none; color: inherit; } ul { list-style: none; padding: 0; margin: 0; } button { cursor: pointer; font-family: inherit; } /* ════════════════════════════════════════════════════ ANIMATIONS ════════════════════════════════════════════════════ */ @keyframes cb-fade-up { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } } .cb-animate { opacity: 0; animation: cb-fade-up 0.45s ease forwards; animation-delay: var(--delay, 0s); } /* ════════════════════════════════════════════════════ TOPBAR ════════════════════════════════════════════════════ */ .cb-topbar { background: var(--cb-bg-card); border-bottom: 1px solid var(--cb-border); padding: 0 var(--cb-page-px); height: var(--cb-topbar-h); display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 200; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); } .cb-logo { font-family: var(--cb-font-main); font-weight: 700; font-size: 20px; color: var(--cb-teal); letter-spacing: -0.5px; } .cb-logo span { color: var(--cb-orange); } .cb-topbar-actions { display: flex; align-items: center; gap: 12px; } .cb-notif-btn, .cb-menu-btn { position: relative; background: none; border: none; padding: 8px; color: var(--cb-text-secondary); display: flex; align-items: center; justify-content: center; border-radius: 8px; transition: background 0.15s; -webkit-tap-highlight-color: transparent; } .cb-notif-btn:hover, .cb-menu-btn:hover { background: var(--cb-teal-light); color: var(--cb-teal); } .cb-notif-badge { position: absolute; top: 3px; right: 3px; background: var(--cb-orange); color: white; font-family: var(--cb-font-main); font-size: 9px; font-weight: 700; min-width: 16px; height: 16px; padding: 0 4px; border-radius: var(--cb-radius-pill); display: flex; align-items: center; justify-content: center; line-height: 1; } /* ════════════════════════════════════════════════════ LAYOUT ════════════════════════════════════════════════════ */ .cb-page-wrap { max-width: var(--cb-page-max); margin: 0 auto; padding: 0 var(--cb-page-px) 80px; } .cb-section-title { font-family: var(--cb-font-main); font-size: 16px; font-weight: 600; color: var(--cb-text-primary); margin: 24px 0 12px; } .cb-section-title--first { margin-top: 20px; } .cb-section-head { display: flex; align-items: center; gap: 8px; margin: 24px 0 12px; } .cb-section-head-icon { width: 28px; height: 28px; border-radius: 8px; background: var(--cb-teal-light); display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .cb-section-head-title { font-family: var(--cb-font-main); font-size: 15px; font-weight: 600; color: var(--cb-text-primary); } /* ════════════════════════════════════════════════════ CARD BASE ════════════════════════════════════════════════════ */ .cb-card { background: var(--cb-bg-card); border-radius: var(--cb-radius-card); box-shadow: var(--cb-shadow); border: 1px solid var(--cb-border); overflow: hidden; } /* ════════════════════════════════════════════════════ PROFIL CARD ════════════════════════════════════════════════════ */ .cb-profile-card { padding: 20px; display: flex; align-items: center; gap: 16px; } .cb-avatar-wrap { position: relative; flex-shrink: 0; } .cb-avatar { width: 72px; height: 72px; border-radius: 50%; background: linear-gradient(135deg, var(--cb-orange-light), #FCDAB0); display: flex; align-items: center; justify-content: center; font-family: var(--cb-font-main); font-size: 22px; font-weight: 700; color: var(--cb-orange-dark); border: 3px solid var(--cb-orange); } .cb-avatar--img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; border: 3px solid var(--cb-orange); } .cb-avatar-edit { position: absolute; bottom: 0; right: 0; width: 22px; height: 22px; background: var(--cb-teal); border-radius: 50%; border: 2px solid white; display: flex; align-items: center; justify-content: center; transition: background 0.15s; } .cb-avatar-edit:hover { background: var(--cb-teal-dark); } .cb-profile-info { flex: 1; min-width: 0; } .cb-profile-name { font-family: var(--cb-font-main); font-size: 19px; font-weight: 700; color: var(--cb-text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .cb-profile-location { display: flex; align-items: center; gap: 4px; font-size: 13px; color: var(--cb-text-muted); margin: 3px 0 8px; } .cb-badge-citoyen { display: inline-flex; align-items: center; gap: 5px; background: var(--cb-orange); color: white; font-family: var(--cb-font-main); font-size: 11px; font-weight: 600; padding: 4px 10px; border-radius: var(--cb-radius-pill); letter-spacing: 0.2px; } /* ════════════════════════════════════════════════════ POINTS CARD ════════════════════════════════════════════════════ */ .cb-points-card { padding: 20px; background: linear-gradient(135deg, #FFF8EE 0%, #FFF0D8 100%); border-color: #F0D9B0; } .cb-points-row { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; } .cb-points-coin { width: 58px; height: 58px; border-radius: 50%; background: linear-gradient(145deg, #FFD05A, #E07B39); display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 4px 14px rgba(224,123,57,0.35); } .cb-points-number { font-family: var(--cb-font-main); font-size: 34px; font-weight: 700; color: var(--cb-orange-dark); line-height: 1; } .cb-points-number span { font-size: 16px; font-weight: 600; margin-left: 4px; } .cb-points-level { display: flex; align-items: center; gap: 5px; font-size: 13px; color: var(--cb-gold); font-weight: 500; margin-top: 5px; } .cb-level-medal { display: inline-block; color: white; font-size: 9px; font-weight: 700; font-family: var(--cb-font-main); padding: 2px 7px; border-radius: var(--cb-radius-pill); } .cb-progress-label { font-size: 12px; color: var(--cb-text-secondary); margin-bottom: 7px; } .cb-progress-label strong { color: var(--cb-orange-dark); font-weight: 600; } .cb-progress-bar-bg { height: 8px; background: #E8D5B8; border-radius: var(--cb-radius-pill); overflow: hidden; } .cb-progress-bar-fill { height: 100%; border-radius: var(--cb-radius-pill); transition: width 0.9s cubic-bezier(.22,1,.36,1); } /* ════════════════════════════════════════════════════ CONTRIBUTIONS ════════════════════════════════════════════════════ */ .cb-contributions-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; } .cb-stat-card { background: var(--cb-bg-card); border-radius: var(--cb-radius-sm); border: 1px solid var(--cb-border); padding: 14px; display: flex; align-items: center; gap: 12px; box-shadow: var(--cb-shadow); } .cb-stat-icon { width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .cb-stat-icon.orange { background: var(--cb-orange-light); } .cb-stat-icon.teal { background: var(--cb-teal-light); } .cb-stat-icon.gold { background: var(--cb-gold-light); } .cb-stat-icon.blue { background: #EAF1FB; } .cb-stat-label { font-size: 11px; color: var(--cb-text-muted); margin-bottom: 3px; line-height: 1.2; } .cb-stat-value { font-family: var(--cb-font-main); font-size: 15px; font-weight: 700; color: var(--cb-text-primary); } .cb-stat-value small { font-size: 12px; font-weight: 500; } .cb-stat-value.orange { color: var(--cb-orange-dark); } .cb-stat-value.teal { color: var(--cb-teal); } .cb-stat-value.gold { color: var(--cb-gold); } /* ════════════════════════════════════════════════════ AVANTAGES ════════════════════════════════════════════════════ */ .cb-avantages-list { display: flex; flex-direction: column; gap: 8px; } .cb-avantage-item { display: flex; align-items: center; gap: 12px; padding: 13px 14px; background: var(--cb-bg-card); border-radius: var(--cb-radius-sm); border: 1px solid var(--cb-border); box-shadow: var(--cb-shadow); transition: border-color 0.2s, transform 0.15s; -webkit-tap-highlight-color: transparent; } .cb-avantage-item:hover { border-color: var(--cb-orange); } .cb-avantage-item:active { transform: scale(0.98); } .cb-avantage-icon { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .cb-avantage-icon.orange { background: var(--cb-orange-light); } .cb-avantage-icon.teal { background: var(--cb-teal-light); } .cb-avantage-icon.gold { background: var(--cb-gold-light); } .cb-avantage-text { flex: 1; min-width: 0; } .cb-avantage-title { font-size: 13px; font-weight: 600; color: var(--cb-text-primary); } .cb-avantage-sub { font-size: 11px; color: var(--cb-text-muted); margin-top: 1px; } .cb-avantage-arrow { color: var(--cb-text-muted); font-size: 18px; } /* ════════════════════════════════════════════════════ HISTORIQUE ════════════════════════════════════════════════════ */ .cb-historique-list { display: flex; flex-direction: column; } .cb-histo-item { display: flex; align-items: center; gap: 10px; padding: 13px 16px; border-bottom: 1px solid var(--cb-border); transition: background 0.15s; -webkit-tap-highlight-color: transparent; } .cb-histo-item:last-child { border-bottom: none; } .cb-histo-item:hover { background: #FAF7F3; } .cb-histo-date { font-size: 11px; color: var(--cb-text-muted); min-width: 75px; flex-shrink: 0; } .cb-histo-badge { display: inline-flex; align-items: center; background: var(--cb-teal); color: white; font-family: var(--cb-font-main); font-size: 10px; font-weight: 700; padding: 3px 7px; border-radius: var(--cb-radius-pill); white-space: nowrap; flex-shrink: 0; } .cb-histo-label { flex: 1; font-size: 13px; color: var(--cb-text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .cb-histo-arrow { color: var(--cb-text-muted); font-size: 16px; flex-shrink: 0; } .cb-voir-tout { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 14px; width: 100%; color: var(--cb-teal); font-size: 13px; font-weight: 600; background: none; border: none; border-top: 1px solid var(--cb-border); font-family: var(--cb-font-body); transition: background 0.15s; -webkit-tap-highlight-color: transparent; } .cb-voir-tout:hover { background: var(--cb-teal-light); } .cb-empty-state { padding: 20px 16px; font-size: 13px; color: var(--cb-text-muted); text-align: center; } /* ════════════════════════════════════════════════════ CTA BUTTONS ════════════════════════════════════════════════════ */ .cb-cta-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 32px; } .cb-btn-cta { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 15px 10px; border-radius: 14px; font-family: var(--cb-font-main); font-size: 13px; font-weight: 600; border: none; transition: transform 0.15s, box-shadow 0.15s, background 0.15s; -webkit-tap-highlight-color: transparent; text-align: center; line-height: 1.2; } .cb-btn-cta:active { transform: scale(0.97); } .cb-btn-primary { background: var(--cb-orange); color: white; box-shadow: 0 4px 14px rgba(224,123,57,0.35); } .cb-btn-primary:hover { background: var(--cb-orange-dark); } .cb-btn-secondary { background: var(--cb-teal); color: white; box-shadow: 0 4px 14px rgba(26,107,90,0.25); } .cb-btn-secondary:hover { background: var(--cb-teal-dark); } /* ════════════════════════════════════════════════════ RESPONSIVE — MOBILE SMALL (< 380px) ════════════════════════════════════════════════════ */ @media (max-width: 380px) { :root { --cb-page-px: 12px; } .cb-profile-name { font-size: 16px; } .cb-points-number { font-size: 28px; } .cb-points-coin { width: 48px; height: 48px; } .cb-histo-date { display: none; } .cb-histo-label { font-size: 12px; } .cb-btn-cta { font-size: 12px; padding: 13px 8px; gap: 5px; } .cb-btn-cta svg { display: none; } .cb-contributions-grid { grid-template-columns: 1fr; } .cb-stat-card[style*="span 2"] { grid-column: span 1; } } /* ════════════════════════════════════════════════════ RESPONSIVE — TABLETTE (481px – 768px) ════════════════════════════════════════════════════ */ @media (min-width: 481px) and (max-width: 768px) { :root { --cb-page-px: 24px; --cb-page-max: 600px; } .cb-profile-name { font-size: 20px; } .cb-points-number { font-size: 38px; } .cb-avatar, .cb-avatar--img { width: 84px; height: 84px; } .cb-contributions-grid { gap: 12px; } .cb-stat-card { padding: 16px; } .cb-histo-date { min-width: 90px; font-size: 12px; } .cb-histo-label { font-size: 14px; } .cb-btn-cta { font-size: 14px; padding: 16px 14px; } } /* ════════════════════════════════════════════════════ RESPONSIVE — DESKTOP (769px+) ════════════════════════════════════════════════════ */ @media (min-width: 769px) { :root { --cb-page-px: 32px; --cb-page-max: 680px; } .cb-topbar { padding: 0 32px; } .cb-profile-card { padding: 24px; gap: 20px; } .cb-avatar, .cb-avatar--img { width: 88px; height: 88px; font-size: 26px; } .cb-profile-name { font-size: 22px; } .cb-points-number { font-size: 40px; } .cb-contributions-grid { gap: 14px; } .cb-stat-card { padding: 18px; gap: 14px; } .cb-stat-icon { width: 44px; height: 44px; border-radius: 12px; } .cb-histo-item { padding: 15px 20px; gap: 14px; } .cb-histo-date { min-width: 100px; font-size: 12px; } .cb-histo-label { font-size: 14px; } .cb-cta-row { gap: 14px; } .cb-btn-cta { font-size: 14px; padding: 17px 16px; border-radius: 16px; } /* Avantages en 2 colonnes sur desktop */ .cb-avantages-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; } } /* ════════════════════════════════════════════════════ DARK MODE (préférence système) ════════════════════════════════════════════════════ */ @media (prefers-color-scheme: dark) { :root { --cb-bg-page: #1A1814; --cb-bg-card: #242018; --cb-text-primary: #F0EBE3; --cb-text-secondary: #A89E92; --cb-text-muted: #6E6860; --cb-border: #352F27; --cb-shadow: 0 2px 12px rgba(0,0,0,0.25); --cb-orange-light: #3A2318; --cb-teal-light: #0E2820; --cb-gold-light: #2A2008; } .cb-points-card { background: linear-gradient(135deg, #2A2010 0%, #231C0E 100%); border-color: #3A2E18; } .cb-progress-bar-bg { background: #3A3020; } .cb-histo-item:hover { background: #2A2520; } .cb-avantage-item:hover { border-color: var(--cb-orange); } .cb-voir-tout:hover { background: #1A2820; } } /* ════════════════════════════════════════════════════ ACCESSIBILITÉ — focus visible ════════════════════════════════════════════════════ */ .cb-notif-btn:focus-visible, .cb-menu-btn:focus-visible, .cb-avatar-edit:focus-visible, .cb-avantage-item:focus-visible, .cb-histo-item:focus-visible, .cb-voir-tout:focus-visible, .cb-btn-cta:focus-visible { outline: 2px solid var(--cb-teal); outline-offset: 2px; } /* Réduire les animations si l'utilisateur le préfère */ @media (prefers-reduced-motion: reduce) { .cb-animate { animation: none; opacity: 1; } .cb-progress-bar-fill { transition: none; } }

Warning: Trying to access array offset on false in /htdocs/wp-content/plugins/wp-smart-preloader/inc/wsp-option_page.php on line 91