/*Theme Name: Première Fois MamanTheme URI: https://premierefoismaman.frAuthor: Première Fois MamanAuthor URI: https://premierefoismaman.frDescription: Thème WordPress professionnel pour le site de référence sur la maternité. Optimisé SEO, E-E-A-T, YMYL et Core Web Vitals. Architecture sémantique avec 1200+ pages.Version: 2.0.0Requires at least: 6.0Tested up to: 6.9Requires PHP: 8.0License: GNU General Public License v2 or laterLicense URI: http://www.gnu.org/licenses/gpl-2.0.htmlText Domain: pfmTags: maternité, grossesse, bébé, santé, blog, accessibility-ready, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready*//* ========================================================================== DESIGN SYSTEM - Variables CSS (Modern CSS Custom Properties) ========================================================================== */:root { /* ------------------------------------------------------------------------- PALETTE DE COULEURS Inspirée maternité : doux, rassurant, professionnel ------------------------------------------------------------------------- */ --pfm-primary-50: #FAF5FF; --pfm-primary-100: #F3E8FF; --pfm-primary-200: #E9D5FF; --pfm-primary-300: #D8B4FE; --pfm-primary-400: #B794F6; --pfm-primary-500: #9360F7; --pfm-primary-600: #7C3AED; --pfm-primary-700: #6D28D9; --pfm-primary-800: #5B21B6; --pfm-primary-900: #4C1D95; --pfm-secondary-50: #FAF5FF; --pfm-secondary-100: #F3E8FF; --pfm-secondary-200: #E9D5FF; --pfm-secondary-300: #D8B4FE; --pfm-secondary-400: #C084FC; --pfm-secondary-500: #A855F7; --pfm-secondary-600: #9333EA; --pfm-secondary-700: #7C3AED; --pfm-secondary-800: #6B21A8; --pfm-secondary-900: #581C87; --pfm-accent-50: #F0FDFA; --pfm-accent-100: #CCFBF1; --pfm-accent-200: #99F6E4; --pfm-accent-300: #5EEAD4; --pfm-accent-400: #2DD4BF; --pfm-accent-500: #14B8A6; --pfm-accent-600: #0D9488; --pfm-accent-700: #0F766E; --pfm-accent-800: #115E59; --pfm-accent-900: #134E4A; --pfm-gray-50: #FAFAF9; --pfm-gray-100: #F5F5F4; --pfm-gray-200: #E7E5E4; --pfm-gray-300: #D6D3D1; --pfm-gray-400: #A8A29E; --pfm-gray-500: #78716C; --pfm-gray-600: #57534E; --pfm-gray-700: #44403C; --pfm-gray-800: #292524; --pfm-gray-900: #1C1917; --pfm-success: #10B981; --pfm-warning: #F59E0B; --pfm-error: #EF4444; --pfm-info: #3B82F6; --pfm-trust: #0EA5E9; --pfm-medical: #059669; --pfm-verified: #8B5CF6; /* ------------------------------------------------------------------------- TYPOGRAPHIE ------------------------------------------------------------------------- */ --pfm-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; --pfm-font-serif: 'Merriweather', Georgia, 'Times New Roman', serif; --pfm-font-display: 'DM Serif Display', Georgia, serif; --pfm-font-mono: 'JetBrains Mono', 'Fira Code', monospace; --pfm-text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem); --pfm-text-sm: clamp(0.875rem, 0.8rem + 0.375vw, 1rem); --pfm-text-base: clamp(1rem, 0.925rem + 0.375vw, 1.125rem); --pfm-text-lg: clamp(1.125rem, 1rem + 0.625vw, 1.25rem); --pfm-text-xl: clamp(1.25rem, 1.1rem + 0.75vw, 1.5rem); --pfm-text-2xl: clamp(1.5rem, 1.3rem + 1vw, 1.875rem); --pfm-text-3xl: clamp(1.875rem, 1.5rem + 1.875vw, 2.5rem); --pfm-text-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem); --pfm-text-5xl: clamp(3rem, 2.25rem + 3.75vw, 4rem); --pfm-leading-none: 1; --pfm-leading-tight: 1.25; --pfm-leading-snug: 1.375; --pfm-leading-normal: 1.5; --pfm-leading-relaxed: 1.625; --pfm-leading-loose: 2; --pfm-font-light: 300; --pfm-font-normal: 400; --pfm-font-medium: 500; --pfm-font-semibold: 600; --pfm-font-bold: 700; --pfm-font-extrabold: 800; --pfm-tracking-tight: -0.025em; --pfm-tracking-normal: 0; --pfm-tracking-wide: 0.025em; /* ------------------------------------------------------------------------- ESPACEMENTS ------------------------------------------------------------------------- */ --pfm-space-1: 0.25rem; --pfm-space-2: 0.5rem; --pfm-space-3: 0.75rem; --pfm-space-4: 1rem; --pfm-space-5: 1.25rem; --pfm-space-6: 1.5rem; --pfm-space-8: 2rem; --pfm-space-10: 2.5rem; --pfm-space-12: 3rem; --pfm-space-16: 4rem; --pfm-space-20: 5rem; --pfm-space-24: 6rem; --pfm-space-32: 8rem; /* ------------------------------------------------------------------------- LAYOUT ------------------------------------------------------------------------- */ --pfm-container-sm: 640px; --pfm-container-md: 768px; --pfm-container-lg: 1024px; --pfm-container-xl: 1200px; --pfm-container-2xl: 1400px; --pfm-content-width: 720px; --pfm-sidebar-width: 320px; /* ------------------------------------------------------------------------- BORDURES & RADIUS ------------------------------------------------------------------------- */ --pfm-radius-sm: 0.25rem; --pfm-radius-md: 0.5rem; --pfm-radius-lg: 0.75rem; --pfm-radius-xl: 1rem; --pfm-radius-2xl: 1.5rem; --pfm-radius-full: 9999px; --pfm-border-width: 1px; --pfm-border-color: var(--pfm-gray-200); /* ------------------------------------------------------------------------- OMBRES ------------------------------------------------------------------------- */ --pfm-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05); --pfm-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); --pfm-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); --pfm-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --pfm-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); --pfm-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05); /* ------------------------------------------------------------------------- TRANSITIONS ------------------------------------------------------------------------- */ --pfm-transition-fast: 150ms ease; --pfm-transition-base: 200ms ease; --pfm-transition-slow: 300ms ease; --pfm-transition-slower: 500ms ease; /* ------------------------------------------------------------------------- Z-INDEX ------------------------------------------------------------------------- */ --pfm-z-dropdown: 100; --pfm-z-sticky: 200; --pfm-z-fixed: 300; --pfm-z-modal-backdrop: 400; --pfm-z-modal: 500; --pfm-z-popover: 600; --pfm-z-tooltip: 700;}@media (prefers-color-scheme: dark) { :root { --pfm-bg: var(--pfm-gray-900); --pfm-bg-secondary: var(--pfm-gray-800); --pfm-text: var(--pfm-gray-100); --pfm-text-secondary: var(--pfm-gray-400); --pfm-border-color: var(--pfm-gray-700); }}/* ========================================================================== CSS RESET MODERNE (basé sur Josh Comeau's Reset) ========================================================================== */*, *::before, *::after { box-sizing: border-box;}* { margin: 0; padding: 0;}html { overflow-x: hidden; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; scroll-behavior: smooth;}body { overflow-x: hidden; line-height: var(--pfm-leading-normal); font-family: var(--pfm-font-sans); font-size: var(--pfm-text-base); color: var(--pfm-gray-800); background-color: var(--pfm-gray-50); min-height: 100vh;}img, picture, video, canvas, svg { display: block; max-width: 100%; height: auto;}input, button, textarea, select { font: inherit;}p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word;}@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }}/* ========================================================================== TYPOGRAPHIE ========================================================================== */h1, h2, h3, h4, h5, h6 { font-family: var(--pfm-font-display); font-weight: var(--pfm-font-bold); line-height: var(--pfm-leading-tight); color: var(--pfm-gray-900);}h1 { font-size: var(--pfm-text-4xl); letter-spacing: var(--pfm-tracking-tight); margin-bottom: var(--pfm-space-6);}h2 { font-size: var(--pfm-text-3xl); margin-top: var(--pfm-space-12); margin-bottom: var(--pfm-space-4);}h3 { font-size: var(--pfm-text-2xl); margin-top: var(--pfm-space-8); margin-bottom: var(--pfm-space-3);}h4 { font-size: var(--pfm-text-xl); margin-top: var(--pfm-space-6); margin-bottom: var(--pfm-space-2);}h5 { font-size: var(--pfm-text-lg); margin-top: var(--pfm-space-4); margin-bottom: var(--pfm-space-2);}h6 { font-size: var(--pfm-text-base); font-weight: var(--pfm-font-semibold); margin-top: var(--pfm-space-4); margin-bottom: var(--pfm-space-2);}p { margin-bottom: var(--pfm-space-4); color: var(--pfm-gray-700);}.pfm-content { font-family: var(--pfm-font-serif); font-size: var(--pfm-text-lg); line-height: var(--pfm-leading-relaxed);}.pfm-content p { margin-bottom: var(--pfm-space-6);}.pfm-content a:not(.pfm-btn) { color: var(--pfm-primary-600); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; transition: color var(--pfm-transition-fast);}.pfm-content a:not(.pfm-btn):hover { color: var(--pfm-primary-700);}.pfm-content ul, .pfm-content ol { margin-bottom: var(--pfm-space-6); padding-left: var(--pfm-space-6);}.pfm-content li { margin-bottom: var(--pfm-space-2);}.pfm-content blockquote { border-left: 4px solid var(--pfm-primary-300); padding-left: var(--pfm-space-6); margin: var(--pfm-space-8) 0; font-style: italic; color: var(--pfm-gray-600);}/* ========================================================================== LAYOUT PRINCIPAL ========================================================================== */.pfm-container { width: 100%; max-width: var(--pfm-container-xl); margin-inline: auto; padding-inline: var(--pfm-space-4);}@media (min-width: 768px) { .pfm-container { padding-inline: var(--pfm-space-6); }}@media (min-width: 1024px) { .pfm-container { padding-inline: var(--pfm-space-8); }}.pfm-container--narrow { max-width: var(--pfm-content-width);}.pfm-container--wide { max-width: var(--pfm-container-2xl);}.pfm-grid { display: grid; gap: var(--pfm-space-6);}.pfm-grid--2 { grid-template-columns: repeat(1, 1fr);}.pfm-grid--3 { grid-template-columns: repeat(1, 1fr);}.pfm-grid--4 { grid-template-columns: repeat(2, 1fr);}@media (min-width: 768px) { .pfm-grid--2 { grid-template-columns: repeat(2, 1fr); } .pfm-grid--3 { grid-template-columns: repeat(2, 1fr); } .pfm-grid--4 { grid-template-columns: repeat(2, 1fr); }}@media (min-width: 1024px) { .pfm-grid--3 { grid-template-columns: repeat(3, 1fr); } .pfm-grid--4 { grid-template-columns: repeat(4, 1fr); }}.pfm-layout { display: grid; gap: var(--pfm-space-8);}@media (min-width: 1024px) { .pfm-layout--sidebar-right { grid-template-columns: 1fr var(--pfm-sidebar-width); } .pfm-layout--sidebar-left { grid-template-columns: var(--pfm-sidebar-width) 1fr; }}/* ========================================================================== HEADER ========================================================================== */.pfm-header { position: sticky; top: 0; z-index: var(--pfm-z-sticky); background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); border-bottom: 1px solid var(--pfm-gray-100); transition: box-shadow var(--pfm-transition-base);}.pfm-header.is-scrolled { box-shadow: var(--pfm-shadow-md);}.pfm-header__inner { display: flex; align-items: center; justify-content: space-between; height: 72px;}.pfm-header__logo { display: flex; align-items: center; gap: var(--pfm-space-3); text-decoration: none; font-family: var(--pfm-font-display); font-size: var(--pfm-text-xl); font-weight: var(--pfm-font-bold); color: var(--pfm-primary-600);}.pfm-header__logo img { height: 48px; width: auto;}.pfm-header__logo-text { display: none;}@media (min-width: 768px) { .pfm-header__logo-text { display: block; }}.pfm-nav { display: none;}@media (min-width: 1024px) { .pfm-nav { display: flex; align-items: center; gap: var(--pfm-space-1); }}.pfm-nav__link { display: inline-flex; align-items: center; padding: var(--pfm-space-2) var(--pfm-space-4); font-size: var(--pfm-text-sm); font-weight: var(--pfm-font-medium); color: var(--pfm-gray-700); text-decoration: none; border-radius: var(--pfm-radius-md); transition: all var(--pfm-transition-fast);}.pfm-nav__link:hover { color: var(--pfm-primary-600); background-color: var(--pfm-primary-50);}.pfm-nav__link.is-active { color: var(--pfm-primary-700); background-color: var(--pfm-primary-100);}.pfm-nav__dropdown { position: relative;}.pfm-nav__dropdown-content { position: absolute; top: 100%; left: 0; min-width: 220px; padding: var(--pfm-space-2); background: white; border-radius: var(--pfm-radius-lg); box-shadow: var(--pfm-shadow-lg); opacity: 0; visibility: hidden; transform: translateY(-10px); transition: all var(--pfm-transition-base);}.pfm-nav__dropdown:hover .pfm-nav__dropdown-content,.pfm-nav__dropdown:focus-within .pfm-nav__dropdown-content { opacity: 1; visibility: visible; transform: translateY(0);}.pfm-nav__dropdown-link { display: block; padding: var(--pfm-space-3) var(--pfm-space-4); font-size: var(--pfm-text-sm); color: var(--pfm-gray-700); text-decoration: none; border-radius: var(--pfm-radius-md); transition: all var(--pfm-transition-fast);}.pfm-nav__dropdown-link:hover { color: var(--pfm-primary-600); background-color: var(--pfm-primary-50);}.pfm-menu-toggle { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: transparent; border: none; cursor: pointer; border-radius: var(--pfm-radius-md); transition: background var(--pfm-transition-fast);}@media (min-width: 1024px) { .pfm-menu-toggle { display: none; }}.pfm-menu-toggle:hover { background: var(--pfm-gray-100);}.pfm-menu-toggle__icon { width: 24px; height: 24px; position: relative;}.pfm-menu-toggle__line { display: block; position: absolute; width: 100%; height: 2px; background: var(--pfm-gray-700); border-radius: 2px; transition: all var(--pfm-transition-base);}.pfm-menu-toggle__line:nth-child(1) { top: 4px; }.pfm-menu-toggle__line:nth-child(2) { top: 11px; }.pfm-menu-toggle__line:nth-child(3) { top: 18px; }.pfm-menu-toggle.is-active .pfm-menu-toggle__line:nth-child(1) { top: 11px; transform: rotate(45deg);}.pfm-menu-toggle.is-active .pfm-menu-toggle__line:nth-child(2) { opacity: 0;}.pfm-menu-toggle.is-active .pfm-menu-toggle__line:nth-child(3) { top: 11px; transform: rotate(-45deg);}.pfm-nav__list { display: flex; align-items: center; gap: var(--pfm-space-1); list-style: none; margin: 0; padding: 0;}.pfm-nav__item { position: relative;}.pfm-nav__chevron { width: 14px; height: 14px; margin-left: 2px; transition: transform 0.2s;}.pfm-nav__item:hover .pfm-nav__chevron { transform: rotate(180deg);}.pfm-header__search { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: transparent; border: none; border-radius: var(--pfm-radius-md); cursor: pointer; color: var(--pfm-gray-600); transition: all 0.2s;}.pfm-header__search:hover { background: var(--pfm-gray-100); color: var(--pfm-primary-600);}.pfm-header__search svg { width: 20px; height: 20px;}.pfm-header__toggle { position: relative; z-index: 1000; min-width: 44px; min-height: 44px; -webkit-tap-highlight-color: transparent; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 40px; height: 40px; background: transparent; border: none; border-radius: var(--pfm-radius-md); cursor: pointer;}@media (min-width: 1024px) { .pfm-header__toggle { position: relative; z-index: 1000; min-width: 44px; min-height: 44px; -webkit-tap-highlight-color: transparent; display: none; }}.pfm-header__toggle span { display: block; width: 22px; height: 2px; background: var(--pfm-gray-700); border-radius: 2px; transition: all 0.2s;}/* ==========================================================================.pfm-nav.is-open { display: flex !important; flex-direction: column; position: fixed; top: 70px; left: 0; right: 0; bottom: 0; background: white; padding: var(--pfm-space-4); overflow-y: auto; z-index: 9999; animation: slideDown 0.3s ease;}.pfm-nav.is-open .pfm-nav__list { flex-direction: column; align-items: stretch; width: 100%;}.pfm-nav.is-open .pfm-nav__item { width: 100%;}.pfm-nav.is-open .pfm-nav__link { padding: var(--pfm-space-4); font-size: var(--pfm-text-lg); border-bottom: 1px solid var(--pfm-gray-100); border-radius: 0;}.pfm-header__toggle.is-active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px);}.pfm-header__toggle.is-active span:nth-child(2) { opacity: 0;}.pfm-header__toggle.is-active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px);}@keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); }}/* ========================================================================= MEGA MENU ========================================================================== */.pfm-mega { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); min-width: 700px; padding-top: var(--pfm-space-2); opacity: 0; visibility: hidden; transition: all 0.2s;}.pfm-nav__item--mega:hover .pfm-mega,.pfm-nav__item--mega:focus-within .pfm-mega { opacity: 1; visibility: visible;}.pfm-mega__inner { background: white; border-radius: var(--pfm-radius-xl); box-shadow: 0 25px 50px -12px rgba(0,0,0,0.15); padding: var(--pfm-space-6); border: 1px solid var(--pfm-gray-100);}.pfm-mega__columns { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--pfm-space-6);}.pfm-mega__col { min-width: 0;}.pfm-mega__title { font-family: var(--pfm-font-display); font-size: 14px; font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--pfm-primary-600); margin: 0 0 var(--pfm-space-3); padding-bottom: var(--pfm-space-2); border-bottom: 2px solid var(--pfm-primary-100);}.pfm-mega__links { list-style: none; margin: 0; padding: 0;}.pfm-mega__links li { margin: 0;}.pfm-mega__links a { display: block; padding: 6px 0; font-size: 14px; color: var(--pfm-gray-700); text-decoration: none; transition: color 0.15s;}.pfm-mega__links a:hover { color: var(--pfm-primary-600);}.pfm-mega__links .pfm-mega__link--all,.pfm-mega__link--all { color: var(--pfm-primary-600); font-weight: var(--pfm-font-medium);}.pfm-mega__tools { display: flex; gap: var(--pfm-space-3); margin-top: var(--pfm-space-5); padding-top: var(--pfm-space-5); border-top: 1px solid var(--pfm-gray-100);}.pfm-mega__tool { flex: 1; display: flex; align-items: center; gap: var(--pfm-space-2); padding: var(--pfm-space-3); background: var(--pfm-gray-50); border-radius: var(--pfm-radius-lg); font-size: 13px; font-weight: 500; color: var(--pfm-gray-700); text-decoration: none; transition: all 0.2s;}.pfm-mega__tool:hover { background: var(--pfm-primary-50); color: var(--pfm-primary-700);}.pfm-mega__tool-icon { font-size: 16px;}.pfm-mega__featured { display: flex; align-items: center; gap: var(--pfm-space-3); margin-top: var(--pfm-space-4); padding: var(--pfm-space-4); background: linear-gradient(135deg, var(--pfm-primary-50), var(--pfm-secondary-50)); border-radius: var(--pfm-radius-lg); text-decoration: none; transition: all 0.2s;}.pfm-mega__featured:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(236, 72, 153, 0.15);}.pfm-mega__featured-star { color: var(--pfm-primary-500); font-size: 18px;}.pfm-mega__featured strong { font-size: 14px; color: var(--pfm-gray-800);}.pfm-mega__featured span:last-child { font-size: 13px; color: var(--pfm-gray-500);}.pfm-mega--compact { min-width: 720px;}.pfm-mega--compact .pfm-mega__inner { padding: var(--pfm-space-5);}.pfm-mega--compact .pfm-mega__col { min-width: 155px;}.pfm-mega--compact .pfm-mega__links a { white-space: nowrap;}.pfm-search-modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.5); backdrop-filter: blur(4px); z-index: 9999; display: flex; align-items: flex-start; justify-content: center; padding-top: 120px;}.pfm-search-modal[hidden] { display: none;}.pfm-search-modal__inner { position: relative; width: 100%; max-width: 600px; margin: 0 var(--pfm-space-4);}.pfm-search-modal__inner form { display: flex; background: white; border-radius: var(--pfm-radius-xl); box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25); overflow: hidden;}.pfm-search-modal__inner input { flex: 1; padding: var(--pfm-space-5) var(--pfm-space-6); border: none; font-size: 18px; outline: none;}.pfm-search-modal__inner button[type="submit"] { padding: var(--pfm-space-5) var(--pfm-space-6); background: var(--pfm-primary-500); border: none; color: white; cursor: pointer; transition: background 0.2s;}.pfm-search-modal__inner button[type="submit"]:hover { background: var(--pfm-primary-600);}.pfm-search-modal__inner button[type="submit"] svg { width: 24px; height: 24px;}.pfm-search-modal__close { position: absolute; top: -50px; right: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background: white; border: none; border-radius: var(--pfm-radius-full); cursor: pointer; color: var(--pfm-gray-600); transition: all 0.2s;}.pfm-search-modal__close:hover { background: var(--pfm-gray-100); color: var(--pfm-gray-900);}.pfm-search-modal__close svg { width: 20px; height: 20px;}/* ========================================================================== HERO SECTION ========================================================================== */.pfm-hero { position: relative; padding: var(--pfm-space-16) 0; background: linear-gradient(135deg, var(--pfm-primary-50) 0%, var(--pfm-secondary-50) 100%); overflow: hidden;}.pfm-hero--large { padding: var(--pfm-space-24) 0;}.pfm-hero__content { position: relative; z-index: 1; max-width: 720px;}.pfm-hero__badge { display: inline-flex; align-items: center; gap: var(--pfm-space-2); padding: var(--pfm-space-2) var(--pfm-space-4); background: white; border-radius: var(--pfm-radius-full); font-size: var(--pfm-text-sm); font-weight: var(--pfm-font-medium); color: var(--pfm-primary-600); box-shadow: var(--pfm-shadow); margin-bottom: var(--pfm-space-6);}.pfm-hero__title { font-size: var(--pfm-text-5xl); margin-bottom: var(--pfm-space-6); background: linear-gradient(135deg, var(--pfm-primary-700) 0%, var(--pfm-secondary-600) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;}.pfm-hero__description { font-size: var(--pfm-text-xl); color: var(--pfm-gray-600); margin-bottom: var(--pfm-space-8); line-height: var(--pfm-leading-relaxed);}.pfm-hero__actions { display: flex; flex-wrap: wrap; gap: var(--pfm-space-4);}.pfm-hero__pattern { position: absolute; top: 0; right: 0; width: 50%; height: 100%; opacity: 0.1; background-image: radial-gradient(var(--pfm-primary-400) 1px, transparent 1px); background-size: 20px 20px;}/* ========================================================================== BOUTONS ========================================================================== */.pfm-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--pfm-space-2); padding: var(--pfm-space-3) var(--pfm-space-6); font-family: var(--pfm-font-sans); font-size: var(--pfm-text-sm); font-weight: var(--pfm-font-semibold); line-height: 1; text-decoration: none; border: 2px solid transparent; border-radius: var(--pfm-radius-lg); cursor: pointer; transition: all var(--pfm-transition-fast);}.pfm-btn:focus-visible { outline: 2px solid var(--pfm-primary-500); outline-offset: 2px;}.pfm-btn--primary { background: var(--pfm-primary-600); color: white;}.pfm-btn--primary:hover { background: var(--pfm-primary-700); transform: translateY(-1px); box-shadow: var(--pfm-shadow-md);}.pfm-btn--secondary { background: white; color: var(--pfm-primary-600); border-color: var(--pfm-primary-200);}.pfm-btn--secondary:hover { background: var(--pfm-primary-50); border-color: var(--pfm-primary-300);}.pfm-btn--outline { background: transparent; color: var(--pfm-gray-700); border-color: var(--pfm-gray-300);}.pfm-btn--outline:hover { background: var(--pfm-gray-100); border-color: var(--pfm-gray-400);}.pfm-btn--lg { padding: var(--pfm-space-4) var(--pfm-space-8); font-size: var(--pfm-text-base);}.pfm-btn--sm { padding: var(--pfm-space-2) var(--pfm-space-4); font-size: var(--pfm-text-xs);}.pfm-btn--icon { padding: var(--pfm-space-3);}/* ========================================================================== CARDS ========================================================================== */.pfm-card { background: white; border-radius: var(--pfm-radius-xl); overflow: hidden; box-shadow: var(--pfm-shadow); transition: all var(--pfm-transition-base);}.pfm-card:hover { box-shadow: var(--pfm-shadow-lg); transform: translateY(-4px);}.pfm-card__image { aspect-ratio: 16 / 9; object-fit: cover; width: 100%;}.pfm-card__body { padding: var(--pfm-space-6);}.pfm-card__category { display: inline-block; padding: var(--pfm-space-1) var(--pfm-space-3); background: var(--pfm-primary-100); color: var(--pfm-primary-700); font-size: var(--pfm-text-xs); font-weight: var(--pfm-font-semibold); text-transform: uppercase; letter-spacing: 0.05em; border-radius: var(--pfm-radius-full); margin-bottom: var(--pfm-space-3);}.pfm-card__title { font-size: var(--pfm-text-xl); font-family: var(--pfm-font-display); margin-bottom: var(--pfm-space-3);}.pfm-card__title a { color: var(--pfm-gray-900); text-decoration: none; transition: color var(--pfm-transition-fast);}.pfm-card__title a:hover { color: var(--pfm-primary-600);}.pfm-card__excerpt { color: var(--pfm-gray-600); font-size: var(--pfm-text-sm); line-height: var(--pfm-leading-relaxed); margin-bottom: var(--pfm-space-4);}.pfm-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px;}.pfm-card__meta-item { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; font-size: 11px; font-weight: 500; letter-spacing: 0.01em; color: var(--pfm-gray-600); background: var(--pfm-gray-100); border-radius: 100px; transition: all 0.2s ease;}.pfm-card__meta-item svg { width: 12px; height: 12px; opacity: 0.6;}.pfm-card__meta-item--reading { background: var(--pfm-primary-50); color: var(--pfm-primary-700);}.pfm-card__meta-item--reading svg { color: var(--pfm-primary-500); opacity: 1;}.pfm-card__badge-new { display: inline-flex; align-items: center; padding: 4px 10px; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: white; background: linear-gradient(135deg, var(--pfm-primary-500) 0%, var(--pfm-primary-600) 100%); border-radius: 100px;}.pfm-card:hover .pfm-card__meta-item { background: var(--pfm-gray-200);}.pfm-card:hover .pfm-card__meta-item--reading { background: var(--pfm-primary-100);}@media (prefers-color-scheme: dark) { .pfm-card__meta-item { background: var(--pfm-gray-800); color: var(--pfm-gray-400); } .pfm-card__meta-item--reading { background: rgba(236, 72, 153, 0.15); color: var(--pfm-primary-300); } .pfm-card:hover .pfm-card__meta-item { background: var(--pfm-gray-700); } .pfm-card:hover .pfm-card__meta-item--reading { background: rgba(236, 72, 153, 0.25); }}.pfm-card--horizontal { display: grid; grid-template-columns: 1fr;}@media (min-width: 640px) { .pfm-card--horizontal { grid-template-columns: 280px 1fr; }}.pfm-card--horizontal .pfm-card__image { aspect-ratio: 4 / 3;}@media (min-width: 640px) { .pfm-card--horizontal .pfm-card__image { aspect-ratio: auto; height: 100%; }}.pfm-card--featured { position: relative;}.pfm-card--featured .pfm-card__image { aspect-ratio: 21 / 9;}.pfm-card--featured .pfm-card__body { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(to top, rgba(0,0,0,0.8), transparent); color: white; padding: var(--pfm-space-8);}.pfm-card--featured .pfm-card__title a { color: white;}.pfm-card--featured .pfm-card__excerpt { color: var(--pfm-gray-300);}/* ========================================================================== PILLAR PAGE CARDS (Topic Clusters) ========================================================================== */.pfm-pillar-card { position: relative; background: white; border-radius: var(--pfm-radius-2xl); padding: var(--pfm-space-8); box-shadow: var(--pfm-shadow); overflow: hidden; transition: all var(--pfm-transition-base);}.pfm-pillar-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--pfm-primary-500), var(--pfm-secondary-500));}.pfm-pillar-card:hover { box-shadow: var(--pfm-shadow-xl); transform: translateY(-6px);}.pfm-pillar-card__icon { width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; background: var(--pfm-primary-100); border-radius: var(--pfm-radius-xl); margin-bottom: var(--pfm-space-4); font-size: 32px;}.pfm-pillar-card__title { font-size: var(--pfm-text-2xl); margin-bottom: var(--pfm-space-3);}.pfm-pillar-card__description { color: var(--pfm-gray-600); margin-bottom: var(--pfm-space-6);}.pfm-pillar-card__stats { display: flex; gap: var(--pfm-space-6); padding-top: var(--pfm-space-4); border-top: 1px solid var(--pfm-gray-100);}.pfm-pillar-card__stat { text-align: center;}.pfm-pillar-card__stat-value { display: block; font-size: var(--pfm-text-2xl); font-weight: var(--pfm-font-bold); color: var(--pfm-primary-600);}.pfm-pillar-card__stat-label { font-size: var(--pfm-text-xs); color: var(--pfm-gray-500); text-transform: uppercase; letter-spacing: 0.05em;}/* ========================================================================== AUTHOR BOX (E-E-A-T) ========================================================================== */.pfm-author-box { display: flex; gap: var(--pfm-space-6); padding: var(--pfm-space-6); background: var(--pfm-gray-50); border-radius: var(--pfm-radius-xl); border: 1px solid var(--pfm-gray-200);}.pfm-author-box__avatar { flex-shrink: 0;}.pfm-author-box__avatar img { width: 80px; height: 80px; border-radius: var(--pfm-radius-full); object-fit: cover; border: 3px solid white; box-shadow: var(--pfm-shadow);}.pfm-author-box__info { flex: 1;}.pfm-author-box__name { font-size: var(--pfm-text-lg); font-weight: var(--pfm-font-bold); color: var(--pfm-gray-900); margin-bottom: var(--pfm-space-1);}.pfm-author-box__credentials { display: flex; flex-wrap: wrap; gap: var(--pfm-space-2); margin-bottom: var(--pfm-space-3);}.pfm-author-box__credential { display: inline-flex; align-items: center; gap: var(--pfm-space-1); padding: var(--pfm-space-1) var(--pfm-space-2); background: var(--pfm-accent-100); color: var(--pfm-accent-700); font-size: var(--pfm-text-xs); font-weight: var(--pfm-font-medium); border-radius: var(--pfm-radius-sm);}.pfm-author-box__bio { font-size: var(--pfm-text-sm); color: var(--pfm-gray-600); line-height: var(--pfm-leading-relaxed);}.pfm-verified-badge { display: inline-flex; align-items: center; gap: var(--pfm-space-2); padding: var(--pfm-space-2) var(--pfm-space-4); background: var(--pfm-medical); color: white; font-size: var(--pfm-text-sm); font-weight: var(--pfm-font-semibold); border-radius: var(--pfm-radius-full);}.pfm-verified-badge svg { width: 16px; height: 16px;}/* ========================================================================== SIDEBAR ARTICLE - Structure ========================================================================== */.pfm-article__sidebar { position: sticky; top: 100px; align-self: start; display: flex; flex-direction: column; gap: var(--pfm-space-6); max-height: calc(100vh - 120px); overflow-y: auto;}.pfm-article__sidebar::-webkit-scrollbar { width: 4px;}.pfm-article__sidebar::-webkit-scrollbar-track { background: transparent;}.pfm-article__sidebar::-webkit-scrollbar-thumb { background: var(--pfm-gray-200); border-radius: 2px;}.pfm-article__sidebar::-webkit-scrollbar-thumb:hover { background: var(--pfm-gray-300);}.pfm-sidebar-widgets { display: flex; flex-direction: column; gap: var(--pfm-space-6);}/* ========================================================================== TABLE DES MATIÈRES (TOC) - Design compact et moderne ========================================================================== */.pfm-toc { padding: var(--pfm-space-4); background: linear-gradient(135deg, var(--pfm-primary-50) 0%, white 100%); border-radius: var(--pfm-radius-lg); border: 1px solid var(--pfm-primary-100);}.pfm-toc__header { display: flex; align-items: center; gap: var(--pfm-space-2); margin-bottom: var(--pfm-space-3); padding-bottom: var(--pfm-space-3); border-bottom: 1px solid var(--pfm-primary-100);}.pfm-toc__icon { font-size: 1.1rem;}.pfm-toc__title { font-size: var(--pfm-text-sm); font-weight: var(--pfm-font-semibold); color: var(--pfm-primary-700); margin: 0;}.pfm-toc__list { list-style: none; margin: 0; padding: 0; counter-reset: none;}.pfm-toc__item { display: flex; align-items: flex-start; gap: var(--pfm-space-2); margin-bottom: var(--pfm-space-1);}.pfm-toc__number { flex-shrink: 0; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; font-size: 0.7rem; font-weight: var(--pfm-font-semibold); color: var(--pfm-primary-600); background: var(--pfm-primary-100); border-radius: 50%; margin-top: 2px;}.pfm-toc__link { flex: 1; display: block; padding: var(--pfm-space-1) 0; font-size: 0.8rem; line-height: 1.4; color: var(--pfm-gray-600); text-decoration: none; transition: color var(--pfm-transition-fast);}.pfm-toc__link:hover { color: var(--pfm-primary-600);}.pfm-toc__link.is-active { color: var(--pfm-primary-700); font-weight: var(--pfm-font-medium);}.pfm-toc__item:has(.pfm-toc__link.is-active) .pfm-toc__number { background: var(--pfm-primary-500); color: white;}.pfm-toc::-webkit-scrollbar { width: 4px;}.pfm-toc::-webkit-scrollbar-track { background: transparent;}.pfm-toc::-webkit-scrollbar-thumb { background: var(--pfm-primary-200); border-radius: 2px;}.pfm-toc::-webkit-scrollbar-thumb:hover { background: var(--pfm-primary-300);}@media (prefers-color-scheme: dark) { .pfm-toc { background: linear-gradient(135deg, var(--pfm-gray-800) 0%, var(--pfm-gray-900) 100%); border-color: var(--pfm-gray-700); } .pfm-toc__header { border-color: var(--pfm-gray-700); } .pfm-toc__title { color: var(--pfm-primary-300); } .pfm-toc__number { background: var(--pfm-gray-700); color: var(--pfm-primary-300); } .pfm-toc__link { color: var(--pfm-gray-400); } .pfm-toc__link:hover { color: var(--pfm-primary-300); } .pfm-toc__link.is-active { color: var(--pfm-primary-200); } .pfm-toc__item:has(.pfm-toc__link.is-active) .pfm-toc__number { background: var(--pfm-primary-500); color: white; }}/* ========================================================================== BREADCRUMBS ========================================================================== */.pfm-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: var(--pfm-space-2); padding: var(--pfm-space-4) 0; font-size: var(--pfm-text-sm);}.pfm-breadcrumbs__item { display: flex; align-items: center; gap: var(--pfm-space-2);}.pfm-breadcrumbs__link { color: var(--pfm-gray-500); text-decoration: none; transition: color var(--pfm-transition-fast);}.pfm-breadcrumbs__link:hover { color: var(--pfm-primary-600);}.pfm-breadcrumbs__separator { color: var(--pfm-gray-300);}.pfm-breadcrumbs__current { color: var(--pfm-gray-700); font-weight: var(--pfm-font-medium);}/* ========================================================================== FAQ SECTION (Rich Snippets) ========================================================================== */.pfm-faq { margin: var(--pfm-space-12) 0;}.pfm-faq__title { font-size: var(--pfm-text-2xl); margin-bottom: var(--pfm-space-6);}.pfm-faq__item { border: 1px solid var(--pfm-gray-200); border-radius: var(--pfm-radius-lg); margin-bottom: var(--pfm-space-4); overflow: hidden;}.pfm-faq__question { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: var(--pfm-space-5) var(--pfm-space-6); background: white; border: none; font-family: var(--pfm-font-sans); font-size: var(--pfm-text-base); font-weight: var(--pfm-font-semibold); text-align: left; color: var(--pfm-gray-800); cursor: pointer; transition: background var(--pfm-transition-fast);}.pfm-faq__question:hover { background: var(--pfm-gray-50);}.pfm-faq__icon { flex-shrink: 0; width: 24px; height: 24px; transition: transform var(--pfm-transition-base);}.pfm-faq__item.is-open .pfm-faq__icon { transform: rotate(180deg);}.pfm-faq__answer { padding: 0 var(--pfm-space-6) var(--pfm-space-5); color: var(--pfm-gray-600); line-height: var(--pfm-leading-relaxed); display: none;}.pfm-faq__item.is-open .pfm-faq__answer { display: block;}/* ========================================================================== NEWSLETTER ========================================================================== */.pfm-newsletter { padding: var(--pfm-space-12); background: linear-gradient(135deg, var(--pfm-primary-600) 0%, var(--pfm-secondary-600) 100%); border-radius: var(--pfm-radius-2xl); text-align: center; color: white;}.pfm-newsletter__title { font-size: var(--pfm-text-3xl); color: white; margin-bottom: var(--pfm-space-4);}.pfm-newsletter__description { font-size: var(--pfm-text-lg); color: var(--pfm-primary-100); margin-bottom: var(--pfm-space-8); max-width: 500px; margin-inline: auto;}.pfm-newsletter__form { display: flex; flex-direction: column; gap: var(--pfm-space-4); max-width: 400px; margin-inline: auto;}@media (min-width: 640px) { .pfm-newsletter__form { flex-direction: row; }}.pfm-newsletter__input { flex: 1; padding: var(--pfm-space-4); border: 2px solid transparent; border-radius: var(--pfm-radius-lg); font-size: var(--pfm-text-base); outline: none; transition: border-color var(--pfm-transition-fast);}.pfm-newsletter__input:focus { border-color: var(--pfm-primary-300);}.pfm-newsletter__btn { padding: var(--pfm-space-4) var(--pfm-space-8); background: white; color: var(--pfm-primary-600); font-weight: var(--pfm-font-bold); border: none; border-radius: var(--pfm-radius-lg); cursor: pointer; transition: all var(--pfm-transition-fast);}.pfm-newsletter__btn:hover { transform: translateY(-2px); box-shadow: var(--pfm-shadow-lg);}/* ========================================================================== FOOTER ========================================================================== */.pfm-footer { background: var(--pfm-gray-900); color: var(--pfm-gray-300); padding: var(--pfm-space-16) 0 var(--pfm-space-8); margin-top: var(--pfm-space-16);}.pfm-footer__grid { display: grid; gap: var(--pfm-space-8); margin-bottom: var(--pfm-space-12);}@media (min-width: 768px) { .pfm-footer__grid { grid-template-columns: repeat(4, 1fr); }}.pfm-footer__brand { max-width: 300px;}.pfm-footer__logo { font-family: var(--pfm-font-display); font-size: var(--pfm-text-2xl); font-weight: var(--pfm-font-bold); color: white; margin-bottom: var(--pfm-space-4);}.pfm-footer__tagline { font-size: var(--pfm-text-sm); line-height: var(--pfm-leading-relaxed); margin-bottom: var(--pfm-space-6);}.pfm-footer__social { display: flex; gap: var(--pfm-space-4);}.pfm-footer__social-link { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: var(--pfm-gray-800); color: var(--pfm-gray-400); border-radius: var(--pfm-radius-full); transition: all var(--pfm-transition-fast);}.pfm-footer__social-link:hover { background: var(--pfm-primary-600); color: white;}.pfm-footer__title { font-family: var(--pfm-font-sans); font-size: var(--pfm-text-sm); font-weight: var(--pfm-font-bold); text-transform: uppercase; letter-spacing: 0.05em; color: white; margin-bottom: var(--pfm-space-4);}.pfm-footer__links { list-style: none;}.pfm-footer__link { display: block; padding: var(--pfm-space-2) 0; font-size: var(--pfm-text-sm); color: var(--pfm-gray-400); text-decoration: none; transition: color var(--pfm-transition-fast);}.pfm-footer__link:hover { color: white;}.pfm-footer__social-link svg { width: 18px; height: 18px;}.pfm-footer__links { list-style: none; margin: 0; padding: 0;}.pfm-footer__links li { margin: 0;}.pfm-footer__links a { display: block; padding: 6px 0; font-size: 14px; color: var(--pfm-gray-400); text-decoration: none; transition: color 0.15s;}.pfm-footer__links a:hover { color: white;}.pfm-footer__trust { padding: var(--pfm-space-8); margin-top: var(--pfm-space-10); background: var(--pfm-gray-800); border-radius: var(--pfm-radius-xl);}.pfm-footer__trust-header { display: flex; align-items: center; gap: var(--pfm-space-3); margin-bottom: var(--pfm-space-5);}.pfm-footer__trust-icon { font-size: 24px;}.pfm-footer__trust-header h3 { font-size: 16px; font-weight: 700; color: white; margin: 0;}.pfm-footer__trust-list { list-style: none; margin: 0 0 var(--pfm-space-5); padding: 0; display: grid; gap: var(--pfm-space-3);}@media (min-width: 768px) { .pfm-footer__trust-list { grid-template-columns: repeat(2, 1fr); }}.pfm-footer__trust-list li { display: flex; align-items: flex-start; gap: var(--pfm-space-2); font-size: 14px; color: var(--pfm-gray-300); line-height: 1.5;}.pfm-footer__trust-list svg { width: 18px; height: 18px; color: var(--pfm-primary-400); flex-shrink: 0; margin-top: 2px;}.pfm-footer__trust-links { display: flex; flex-wrap: wrap; gap: var(--pfm-space-4); padding-top: var(--pfm-space-5); border-top: 1px solid var(--pfm-gray-700);}.pfm-footer__trust-links a { font-size: 13px; font-weight: 500; color: var(--pfm-primary-400); text-decoration: none; transition: color 0.15s;}.pfm-footer__trust-links a:hover { color: var(--pfm-primary-300);}.pfm-footer__disclaimer { padding: var(--pfm-space-6); margin-top: var(--pfm-space-8); background: rgba(239, 68, 68, 0.1); border: 1px solid rgba(239, 68, 68, 0.2); border-radius: var(--pfm-radius-lg); text-align: center;}.pfm-footer__disclaimer p { margin: 0; font-size: 14px; color: var(--pfm-gray-300);}.pfm-footer__disclaimer p:first-child { margin-bottom: var(--pfm-space-2);}.pfm-footer__disclaimer strong { color: white;}.pfm-footer .pfm-footer__emergency { font-size: 13px; color: var(--pfm-gray-400);}.pfm-footer .pfm-footer__emergency strong { color: var(--pfm-primary-400); font-size: 15px;}.pfm-footer__legal a { font-size: 14px; color: var(--pfm-gray-500); text-decoration: none; transition: color 0.15s;}.pfm-footer__legal a:hover { color: white;}.pfm-footer__social-wrapper { display: flex; align-items: center; justify-content: center; gap: var(--pfm-space-4); padding: var(--pfm-space-6) 0; border-top: 1px solid var(--pfm-gray-800);}.pfm-footer__social-label { font-size: var(--pfm-text-sm); color: var(--pfm-gray-400); font-weight: var(--pfm-font-medium);}.pfm-footer__bottom { padding-top: var(--pfm-space-8); border-top: 1px solid var(--pfm-gray-800); display: flex; flex-direction: column; gap: var(--pfm-space-4); align-items: center;}@media (min-width: 768px) { .pfm-footer__bottom { flex-direction: row; justify-content: space-between; }}.pfm-footer__copyright { font-size: var(--pfm-text-sm); color: var(--pfm-gray-500);}.pfm-footer__legal { display: flex; gap: var(--pfm-space-6);}.pfm-footer__legal-link { font-size: var(--pfm-text-sm); color: var(--pfm-gray-500); text-decoration: none; transition: color var(--pfm-transition-fast);}.pfm-footer__legal-link:hover { color: white;}/* ========================================================================== TRUST SIGNALS (YMYL) ========================================================================== */.pfm-trust-bar { background: var(--pfm-gray-100); padding: var(--pfm-space-3) 0; border-bottom: 1px solid var(--pfm-gray-200);}.pfm-trust-bar__content { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--pfm-space-6); font-size: var(--pfm-text-xs); color: var(--pfm-gray-600);}.pfm-trust-bar__item { display: flex; align-items: center; gap: var(--pfm-space-2);}.pfm-trust-bar__icon { color: var(--pfm-medical);}.pfm-medical-disclaimer { padding: var(--pfm-space-4); background: var(--pfm-info); background: linear-gradient(135deg, rgba(59, 130, 246, 0.1), rgba(139, 92, 246, 0.1)); border: 1px solid rgba(59, 130, 246, 0.2); border-radius: var(--pfm-radius-lg); margin: var(--pfm-space-8) 0;}.pfm-medical-disclaimer__text { font-size: var(--pfm-text-sm); color: var(--pfm-gray-700); margin: 0;}.pfm-medical-disclaimer__text strong { color: var(--pfm-info);}/* ========================================================================== RELATED ARTICLES (Maillage interne) ========================================================================== */.pfm-related { margin: var(--pfm-space-12) 0; padding: var(--pfm-space-8); background: var(--pfm-gray-50); border-radius: var(--pfm-radius-xl);}.pfm-related__title { font-size: var(--pfm-text-xl); margin-bottom: var(--pfm-space-6);}.pfm-related__grid { display: grid; gap: var(--pfm-space-4);}@media (min-width: 768px) { .pfm-related__grid { grid-template-columns: repeat(3, 1fr); }}.pfm-related__item { display: flex; gap: var(--pfm-space-4); padding: var(--pfm-space-4); background: white; border-radius: var(--pfm-radius-lg); text-decoration: none; transition: all var(--pfm-transition-fast);}.pfm-related__item:hover { box-shadow: var(--pfm-shadow-md); transform: translateY(-2px);}.pfm-related__image { flex-shrink: 0; width: 80px; height: 80px; object-fit: cover; border-radius: var(--pfm-radius-md);}.pfm-related__content { flex: 1; min-width: 0;}.pfm-related__link-title { font-size: var(--pfm-text-sm); font-weight: var(--pfm-font-semibold); color: var(--pfm-gray-800); margin-bottom: var(--pfm-space-1); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;}.pfm-related__category { font-size: var(--pfm-text-xs); color: var(--pfm-primary-600);}/* ========================================================================== WEEK/MONTH NAVIGATOR (Programmatic pages) ========================================================================== */.pfm-navigator { display: flex; align-items: center; justify-content: space-between; padding: var(--pfm-space-4); background: white; border-radius: var(--pfm-radius-lg); box-shadow: var(--pfm-shadow); margin: var(--pfm-space-8) 0;}.pfm-navigator__btn { display: flex; align-items: center; gap: var(--pfm-space-2); padding: var(--pfm-space-3) var(--pfm-space-4); color: var(--pfm-gray-600); text-decoration: none; border-radius: var(--pfm-radius-md); transition: all var(--pfm-transition-fast);}.pfm-navigator__btn:hover { color: var(--pfm-primary-600); background: var(--pfm-primary-50);}.pfm-navigator__btn--disabled { opacity: 0.5; pointer-events: none;}.pfm-navigator__current { text-align: center;}.pfm-navigator__label { font-size: var(--pfm-text-xs); color: var(--pfm-gray-500); text-transform: uppercase; letter-spacing: 0.05em;}.pfm-navigator__value { font-size: var(--pfm-text-lg); font-weight: var(--pfm-font-bold); color: var(--pfm-gray-900);}/* ========================================================================== ACCESSIBILITY ========================================================================== */.pfm-skip-link { position: absolute; top: -100%; left: 50%; transform: translateX(-50%); padding: var(--pfm-space-3) var(--pfm-space-6); background: var(--pfm-primary-600); color: white; text-decoration: none; border-radius: var(--pfm-radius-md); z-index: 9999; transition: top var(--pfm-transition-fast);}.pfm-skip-link:focus { top: var(--pfm-space-4);}:focus-visible { outline: 2px solid var(--pfm-primary-500); outline-offset: 2px;}.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;}/* ========================================================================== UTILITIES ========================================================================== */.pfm-text-center { text-align: center; }.pfm-text-left { text-align: left; }.pfm-text-right { text-align: right; }.pfm-mb-0 { margin-bottom: 0; }.pfm-mb-4 { margin-bottom: var(--pfm-space-4); }.pfm-mb-8 { margin-bottom: var(--pfm-space-8); }.pfm-mb-12 { margin-bottom: var(--pfm-space-12); }.pfm-mt-0 { margin-top: 0; }.pfm-mt-4 { margin-top: var(--pfm-space-4); }.pfm-mt-8 { margin-top: var(--pfm-space-8); }.pfm-mt-12 { margin-top: var(--pfm-space-12); }.pfm-hidden { display: none; }@media (max-width: 767px) { .pfm-hidden-mobile { display: none; }}@media (min-width: 768px) { .pfm-hidden-desktop { display: none; }}/* ========================================================================== PAGES INSTITUTIONNELLES (E-E-A-T & Legal) - PREMIUM DESIGN ========================================================================== */.pfm-institutional { background: var(--pfm-gray-50);}.pfm-institutional__hero { position: relative; padding: var(--pfm-space-16) 0; overflow: hidden;}.pfm-institutional__hero--eeat { background: linear-gradient(135deg, var(--pfm-primary-700) 0%, var(--pfm-primary-900) 100%); color: white;}.pfm-institutional__hero--legal { background: linear-gradient(135deg, var(--pfm-gray-700) 0%, var(--pfm-gray-900) 100%); color: white;}.pfm-institutional__hero-content { position: relative; z-index: 1; text-align: center; max-width: 800px; margin: 0 auto;}.pfm-institutional__icon { font-size: 3rem; display: block; margin-bottom: var(--pfm-space-4);}.pfm-institutional__title { font-family: var(--pfm-font-serif); font-size: clamp(2rem, 5vw, 3rem); font-weight: var(--pfm-font-bold); line-height: 1.2; margin-bottom: var(--pfm-space-4);}.pfm-institutional__subtitle { font-size: var(--pfm-text-lg); opacity: 0.9; max-width: 600px; margin: 0 auto;}.pfm-institutional__hero-pattern { position: absolute; inset: 0; opacity: 0.1; background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");}.pfm-institutional__body { padding: var(--pfm-space-12) 0;}.pfm-institutional__grid { display: grid; grid-template-columns: 1fr; gap: var(--pfm-space-8);}@media (min-width: 1024px) { .pfm-institutional__grid { grid-template-columns: 1fr 320px; }}.pfm-institutional__content { background: white; border-radius: var(--pfm-radius-xl); padding: var(--pfm-space-8); box-shadow: var(--pfm-shadow-lg);}.pfm-content--institutional h2 { font-family: var(--pfm-font-serif); font-size: var(--pfm-text-2xl); font-weight: var(--pfm-font-bold); color: var(--pfm-gray-900); margin: var(--pfm-space-8) 0 var(--pfm-space-4); padding-bottom: var(--pfm-space-3); border-bottom: 2px solid var(--pfm-primary-200);}.pfm-content--institutional h2:first-child { margin-top: 0;}.pfm-content--institutional h3 { font-size: var(--pfm-text-xl); font-weight: var(--pfm-font-semibold); color: var(--pfm-gray-800); margin: var(--pfm-space-6) 0 var(--pfm-space-3);}.pfm-content--institutional p { color: var(--pfm-gray-700); line-height: 1.8; margin-bottom: var(--pfm-space-4);}.pfm-content--institutional ul,.pfm-content--institutional ol { margin: var(--pfm-space-4) 0; padding-left: var(--pfm-space-6);}.pfm-content--institutional li { color: var(--pfm-gray-700); line-height: 1.7; margin-bottom: var(--pfm-space-2);}.pfm-content--institutional a:not(.pfm-btn) { color: var(--pfm-primary-600); text-decoration: none; font-weight: var(--pfm-font-medium); border-bottom: 1px solid var(--pfm-primary-200); transition: all var(--pfm-transition-fast);}.pfm-content--institutional a:not(.pfm-btn):hover { color: var(--pfm-primary-700); border-color: var(--pfm-primary-600);}.pfm-content--institutional table { width: 100%; border-collapse: collapse; margin: var(--pfm-space-6) 0; font-size: var(--pfm-text-sm);}.pfm-content--institutional th,.pfm-content--institutional td { padding: var(--pfm-space-3) var(--pfm-space-4); text-align: left; border: 1px solid var(--pfm-gray-200);}.pfm-content--institutional th { background: var(--pfm-gray-100); font-weight: var(--pfm-font-semibold); color: var(--pfm-gray-800);}.pfm-content--institutional tr:nth-child(even) td { background: var(--pfm-gray-50);}.pfm-content--institutional blockquote { margin: var(--pfm-space-6) 0; padding: var(--pfm-space-4) var(--pfm-space-6); background: var(--pfm-primary-50); border-left: 4px solid var(--pfm-primary-500); border-radius: 0 var(--pfm-radius-md) var(--pfm-radius-md) 0; font-style: italic; color: var(--pfm-gray-700);}.pfm-content--institutional hr { border: none; height: 1px; background: var(--pfm-gray-200); margin: var(--pfm-space-8) 0;}.pfm-institutional__updated { display: flex; align-items: center; gap: var(--pfm-space-2); margin-top: var(--pfm-space-8); padding-top: var(--pfm-space-4); border-top: 1px solid var(--pfm-gray-200); font-size: var(--pfm-text-sm); color: var(--pfm-gray-500);}.pfm-institutional__sidebar { display: flex; flex-direction: column; gap: var(--pfm-space-6);}.pfm-sidebar-card { background: white; border-radius: var(--pfm-radius-xl); padding: var(--pfm-space-6); box-shadow: var(--pfm-shadow);}.pfm-sidebar-card__title { display: flex; align-items: center; gap: var(--pfm-space-2); font-size: var(--pfm-text-lg); font-weight: var(--pfm-font-semibold); color: var(--pfm-gray-900); margin-bottom: var(--pfm-space-4);}.pfm-sidebar-card__icon { font-size: 1.25rem;}.pfm-sidebar-nav { display: flex; flex-direction: column; gap: var(--pfm-space-1);}.pfm-sidebar-nav a { display: block; padding: var(--pfm-space-3) var(--pfm-space-4); color: var(--pfm-gray-700); text-decoration: none; border-radius: var(--pfm-radius-md); font-size: var(--pfm-text-sm); transition: all var(--pfm-transition-fast);}.pfm-sidebar-nav a:hover { background: var(--pfm-gray-100); color: var(--pfm-gray-900);}.pfm-sidebar-nav a.is-active { background: var(--pfm-primary-50); color: var(--pfm-primary-700); font-weight: var(--pfm-font-medium);}.pfm-trust-list { list-style: none; padding: 0; margin: 0;}.pfm-trust-list li { display: flex; align-items: flex-start; gap: var(--pfm-space-3); padding: var(--pfm-space-3) 0; font-size: var(--pfm-text-sm); color: var(--pfm-gray-700); border-bottom: 1px solid var(--pfm-gray-100);}.pfm-trust-list li:last-child { border-bottom: none;}.pfm-trust-list svg { flex-shrink: 0; color: var(--pfm-success); margin-top: 2px;}.pfm-sidebar-card--contact p { font-size: var(--pfm-text-sm); color: var(--pfm-gray-600); margin-bottom: var(--pfm-space-4);}.pfm-sidebar-card--social .pfm-social-links { display: flex; gap: var(--pfm-space-3);}.pfm-social-link { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: var(--pfm-radius-full); color: white; transition: transform var(--pfm-transition-fast);}.pfm-social-link:hover { transform: scale(1.1);}.pfm-social-link--facebook { background: #1877f2;}.pfm-social-link--instagram { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);}.pfm-social-link--pinterest { background: #e60023;}.pfm-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--pfm-space-2); padding: var(--pfm-space-3) var(--pfm-space-5); font-size: var(--pfm-text-sm); font-weight: var(--pfm-font-semibold); text-decoration: none; border-radius: var(--pfm-radius-lg); transition: all var(--pfm-transition-fast); cursor: pointer; border: none;}.pfm-btn--primary { background: var(--pfm-primary-600); color: white;}.pfm-btn--primary:hover { background: var(--pfm-primary-700);}.pfm-btn--block { width: 100%;}/* ========================================================================== CONTENT COMPONENTS (Pages institutionnelles) ========================================================================== */.pfm-lead { font-size: var(--pfm-text-xl); color: var(--pfm-gray-700); line-height: var(--pfm-leading-relaxed); margin-bottom: var(--pfm-space-8);}.pfm-divider { border: none; border-top: 1px solid var(--pfm-gray-200); margin: var(--pfm-space-8) 0;}.pfm-list { list-style: none; padding: 0; margin: var(--pfm-space-4) 0;}.pfm-list li { position: relative; padding-left: var(--pfm-space-8); margin-bottom: var(--pfm-space-3); line-height: var(--pfm-leading-relaxed);}.pfm-list--styled li::before { content: "•"; position: absolute; left: var(--pfm-space-3); color: var(--pfm-primary-500); font-weight: bold;}.pfm-list--check li::before { content: "✓"; position: absolute; left: 0; color: var(--pfm-success); font-weight: bold;}.pfm-list--cross li::before { content: "✗"; position: absolute; left: 0; color: var(--pfm-error); font-weight: bold;}.pfm-list--numbered { counter-reset: list-counter;}.pfm-list--numbered li { counter-increment: list-counter;}.pfm-list--numbered li::before { content: counter(list-counter) "."; position: absolute; left: 0; color: var(--pfm-primary-600); font-weight: var(--pfm-font-semibold);}.pfm-list--large li { font-size: var(--pfm-text-lg); margin-bottom: var(--pfm-space-4);}.pfm-highlight-box { padding: var(--pfm-space-6); background: var(--pfm-primary-50); border-left: 4px solid var(--pfm-primary-500); border-radius: var(--pfm-radius-lg); margin: var(--pfm-space-6) 0;}.pfm-highlight-box p:last-child { margin-bottom: 0;}.pfm-highlight-box--warning { background: #fef3c7; border-color: #f59e0b;}.pfm-highlight-box--info { background: #dbeafe; border-color: #3b82f6;}.pfm-highlight-box--success { background: #d1fae5; border-color: #10b981;}.pfm-highlight-box--accent { background: linear-gradient(135deg, var(--pfm-primary-50), var(--pfm-secondary-50)); border-color: var(--pfm-secondary-500);}.pfm-warning-box { padding: var(--pfm-space-6); background: #fef2f2; border: 1px solid #fecaca; border-radius: var(--pfm-radius-lg); margin: var(--pfm-space-6) 0;}.pfm-emergency-box { padding: var(--pfm-space-6); background: linear-gradient(135deg, #fef2f2, #fee2e2); border: 2px solid #ef4444; border-radius: var(--pfm-radius-xl); margin: var(--pfm-space-8) 0;}.pfm-emergency-box h3 { color: #dc2626; margin-bottom: var(--pfm-space-4);}.pfm-emergency-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: var(--pfm-space-6);}.pfm-features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--pfm-space-6); margin: var(--pfm-space-8) 0;}.pfm-features-grid--2col { grid-template-columns: repeat(2, 1fr);}@media (max-width: 768px) { .pfm-features-grid--2col { grid-template-columns: 1fr; }}.pfm-feature { padding: var(--pfm-space-6); background: var(--pfm-gray-50); border-radius: var(--pfm-radius-xl); text-align: center;}.pfm-feature__icon { display: block; font-size: 2.5rem; margin-bottom: var(--pfm-space-4);}.pfm-feature h3,.pfm-feature h4 { margin-bottom: var(--pfm-space-3); color: var(--pfm-gray-900);}.pfm-feature p { color: var(--pfm-gray-600); font-size: var(--pfm-text-sm); margin: 0;}.pfm-comparison-table { margin: var(--pfm-space-6) 0; overflow-x: auto;}.pfm-comparison-table table { width: 100%; border-collapse: collapse; font-size: var(--pfm-text-sm);}.pfm-comparison-table th,.pfm-comparison-table td { padding: var(--pfm-space-4); text-align: left; border-bottom: 1px solid var(--pfm-gray-200);}.pfm-comparison-table th { background: var(--pfm-gray-100); font-weight: var(--pfm-font-semibold); color: var(--pfm-gray-900);}.pfm-comparison-table tr:hover td { background: var(--pfm-gray-50);}.pfm-process { margin: var(--pfm-space-8) 0;}.pfm-process__step { display: flex; gap: var(--pfm-space-6); margin-bottom: var(--pfm-space-6); padding-bottom: var(--pfm-space-6); border-bottom: 1px solid var(--pfm-gray-100);}.pfm-process__step:last-child { border-bottom: none; margin-bottom: 0;}.pfm-process__number { flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; background: var(--pfm-primary-500); color: white; font-size: var(--pfm-text-xl); font-weight: var(--pfm-font-bold); border-radius: var(--pfm-radius-full);}.pfm-process__content h3 { margin-bottom: var(--pfm-space-3); color: var(--pfm-gray-900);}.pfm-engagements { margin: var(--pfm-space-8) 0;}.pfm-engagement { display: flex; gap: var(--pfm-space-6); margin-bottom: var(--pfm-space-6); padding: var(--pfm-space-6); background: var(--pfm-gray-50); border-radius: var(--pfm-radius-xl);}.pfm-engagement__number { flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: var(--pfm-primary-500); color: white; font-size: var(--pfm-text-lg); font-weight: var(--pfm-font-bold); border-radius: var(--pfm-radius-full);}.pfm-engagement__content h3 { margin-bottom: var(--pfm-space-3);}.pfm-two-columns { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--pfm-space-8); margin: var(--pfm-space-6) 0;}@media (max-width: 640px) { .pfm-two-columns { grid-template-columns: 1fr; }}.pfm-info-card { padding: var(--pfm-space-6); background: var(--pfm-gray-50); border-radius: var(--pfm-radius-xl); margin: var(--pfm-space-6) 0;}.pfm-info-card--compact { padding: var(--pfm-space-4);}.pfm-info-card h3 { margin-bottom: var(--pfm-space-4); color: var(--pfm-primary-600);}.pfm-info-table { width: 100%;}.pfm-info-table td { padding: var(--pfm-space-2) 0; border-bottom: 1px solid var(--pfm-gray-200);}.pfm-info-table td:first-child { width: 40%; color: var(--pfm-gray-600);}.pfm-faq { margin: var(--pfm-space-6) 0;}.pfm-faq__item { padding: var(--pfm-space-5); background: var(--pfm-gray-50); border-radius: var(--pfm-radius-lg); margin-bottom: var(--pfm-space-4);}.pfm-faq__item h4 { color: var(--pfm-gray-900); margin-bottom: var(--pfm-space-3);}.pfm-faq__item p:last-child { margin-bottom: 0;}.pfm-sources-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--pfm-space-6); margin: var(--pfm-space-8) 0;}.pfm-source-card { padding: var(--pfm-space-6); background: white; border: 1px solid var(--pfm-gray-200); border-radius: var(--pfm-radius-xl); transition: box-shadow var(--pfm-transition-fast);}.pfm-source-card:hover { box-shadow: var(--pfm-shadow-lg);}.pfm-source-card__icon { font-size: 2rem; display: block; margin-bottom: var(--pfm-space-3);}.pfm-source-card h3 { font-size: var(--pfm-text-lg); margin-bottom: var(--pfm-space-2);}.pfm-source-card__subtitle { color: var(--pfm-gray-600); font-size: var(--pfm-text-sm); margin-bottom: var(--pfm-space-3);}.pfm-source-card__link { display: inline-block; margin-top: var(--pfm-space-4); color: var(--pfm-primary-600); font-weight: var(--pfm-font-medium);}.pfm-team-card { padding: var(--pfm-space-8); background: linear-gradient(135deg, var(--pfm-primary-50), var(--pfm-secondary-50)); border-radius: var(--pfm-radius-2xl); margin: var(--pfm-space-8) 0;}.pfm-team-card h3 { color: var(--pfm-primary-700); margin-bottom: var(--pfm-space-2);}.pfm-team-card__subtitle { color: var(--pfm-gray-600); font-size: var(--pfm-text-lg);}.pfm-quote { padding: var(--pfm-space-6); background: white; border-left: 4px solid var(--pfm-primary-500); border-radius: var(--pfm-radius-lg); margin: var(--pfm-space-6) 0; font-style: italic; color: var(--pfm-gray-700);}.pfm-quote p { margin: 0;}.pfm-team-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--pfm-space-6); margin: var(--pfm-space-8) 0;}.pfm-team-section { padding: var(--pfm-space-6); background: var(--pfm-gray-50); border-radius: var(--pfm-radius-xl);}.pfm-team-section h3 { margin-bottom: var(--pfm-space-4); color: var(--pfm-primary-700);}.pfm-rights-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--pfm-space-4); margin: var(--pfm-space-6) 0;}.pfm-right { padding: var(--pfm-space-4); background: var(--pfm-gray-50); border-radius: var(--pfm-radius-lg);}.pfm-right h4 { margin-bottom: var(--pfm-space-2); font-size: var(--pfm-text-sm);}.pfm-right p { font-size: var(--pfm-text-sm); color: var(--pfm-gray-600); margin: 0;}.pfm-funding-grid { margin: var(--pfm-space-8) 0;}.pfm-funding-card { position: relative; padding: var(--pfm-space-6); padding-left: var(--pfm-space-16); background: var(--pfm-gray-50); border-radius: var(--pfm-radius-xl); margin-bottom: var(--pfm-space-6);}.pfm-funding-card__number { position: absolute; left: var(--pfm-space-6); top: var(--pfm-space-6); display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: var(--pfm-primary-500); color: white; font-weight: var(--pfm-font-bold); border-radius: var(--pfm-radius-full);}.pfm-funding-card h3 { margin-bottom: var(--pfm-space-4);}.pfm-funding-card__commitment { margin-top: var(--pfm-space-4); padding: var(--pfm-space-4); background: white; border-radius: var(--pfm-radius-lg); font-size: var(--pfm-text-sm);}.pfm-contact-card { display: flex; align-items: center; gap: var(--pfm-space-6); padding: var(--pfm-space-8); background: linear-gradient(135deg, var(--pfm-primary-50), var(--pfm-secondary-50)); border-radius: var(--pfm-radius-2xl); margin: var(--pfm-space-6) 0;}.pfm-contact-card__icon { font-size: 3rem;}.pfm-contact-card__content a { font-size: var(--pfm-text-xl); color: var(--pfm-primary-600);}.pfm-contact-reasons { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--pfm-space-6); margin: var(--pfm-space-8) 0;}.pfm-contact-reason { padding: var(--pfm-space-6); background: var(--pfm-gray-50); border-radius: var(--pfm-radius-xl);}.pfm-contact-reason__icon { font-size: 2rem; display: block; margin-bottom: var(--pfm-space-3);}.pfm-contact-reason h3 { margin-bottom: var(--pfm-space-3);}.pfm-social-grid { display: flex; gap: var(--pfm-space-4); flex-wrap: wrap; margin: var(--pfm-space-4) 0;}.pfm-social-card { display: flex; align-items: center; gap: var(--pfm-space-3); padding: var(--pfm-space-4) var(--pfm-space-6); background: var(--pfm-gray-100); border-radius: var(--pfm-radius-lg); text-decoration: none; color: var(--pfm-gray-700); transition: all var(--pfm-transition-fast);}.pfm-social-card:hover { transform: translateY(-2px); box-shadow: var(--pfm-shadow-md);}.pfm-social-card--facebook:hover { background: #1877f2; color: white;}.pfm-social-card--instagram:hover { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); color: white;}.pfm-social-card--pinterest:hover { background: #e60023; color: white;}.pfm-sitemap { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--pfm-space-6);}.pfm-sitemap__section { padding: var(--pfm-space-5); background: var(--pfm-gray-50); border-radius: var(--pfm-radius-xl);}.pfm-sitemap__section h2 { display: flex; align-items: center; gap: var(--pfm-space-2); font-size: var(--pfm-text-lg); margin-bottom: var(--pfm-space-4); padding-bottom: var(--pfm-space-3); border-bottom: 2px solid var(--pfm-primary-200);}.pfm-sitemap__icon { font-size: 1.25rem;}.pfm-sitemap__list { list-style: none; padding: 0; margin: 0;}.pfm-sitemap__list li { margin-bottom: var(--pfm-space-2); font-size: var(--pfm-text-sm);}.pfm-sitemap__list a { color: var(--pfm-primary-600); text-decoration: none;}.pfm-sitemap__list a:hover { text-decoration: underline;}.pfm-sitemap__more { margin-top: var(--pfm-space-4);}.pfm-sitemap__more a { color: var(--pfm-primary-600); font-weight: var(--pfm-font-medium);}.pfm-page-links { margin-top: var(--pfm-space-8); padding-top: var(--pfm-space-6); border-top: 1px solid var(--pfm-gray-200); font-size: var(--pfm-text-sm);}.pfm-page-links a { color: var(--pfm-primary-600);}.pfm-note { padding: var(--pfm-space-3) var(--pfm-space-4); background: var(--pfm-primary-50); border-radius: var(--pfm-radius-md); font-size: var(--pfm-text-sm); margin: var(--pfm-space-4) 0;}.pfm-legal-intro { color: var(--pfm-gray-600); font-size: var(--pfm-text-sm);}.pfm-legal-date { margin-top: var(--pfm-space-8); color: var(--pfm-gray-500); font-size: var(--pfm-text-sm);}.pfm-cta-text { text-align: center; font-size: var(--pfm-text-xl); margin: var(--pfm-space-8) 0;}.pfm-contact-link { text-align: center; color: var(--pfm-gray-600);}.pfm-thanks { text-align: center; color: var(--pfm-gray-600); margin-top: var(--pfm-space-8);}.pfm-btn--outline { background: transparent; border: 2px solid var(--pfm-primary-600); color: var(--pfm-primary-600);}.pfm-btn--outline:hover { background: var(--pfm-primary-600); color: white;}.pfm-credits { text-align: center;}.pfm-credits p { margin-bottom: var(--pfm-space-4);}/* ========================================================================== PRINT STYLES ========================================================================== *//* ========================================================================== PAGE MES DONNÉES - Gestion données utilisateur ========================================================================== */.pfm-mes-donnees__hero { position: relative; padding: var(--pfm-space-12) 0; background: linear-gradient(135deg, var(--pfm-primary-600) 0%, var(--pfm-primary-800) 100%); color: white; text-align: center; overflow: hidden;}.pfm-mes-donnees__hero-content { position: relative; z-index: 1;}.pfm-mes-donnees__icon { font-size: 3rem; margin-bottom: var(--pfm-space-4); display: block;}.pfm-mes-donnees__title { font-size: var(--pfm-text-3xl); font-weight: var(--pfm-font-bold); margin-bottom: var(--pfm-space-2);}.pfm-mes-donnees__subtitle { font-size: var(--pfm-text-lg); opacity: 0.9; max-width: 500px; margin: 0 auto;}.pfm-mes-donnees__hero-pattern { position: absolute; inset: 0; opacity: 0.1; background-image: radial-gradient(circle at 20% 80%, white 2px, transparent 2px), radial-gradient(circle at 80% 20%, white 2px, transparent 2px); background-size: 60px 60px;}.pfm-mes-donnees__body { padding: var(--pfm-space-12) 0; background: var(--pfm-gray-50); min-height: 50vh;}.pfm-mes-donnees__identified { max-width: 800px; margin: 0 auto;}.pfm-mes-donnees__welcome { display: flex; align-items: center; gap: var(--pfm-space-4); padding: var(--pfm-space-6); background: white; border-radius: var(--pfm-radius-xl); box-shadow: var(--pfm-shadow); margin-bottom: var(--pfm-space-6);}.pfm-mes-donnees__welcome-icon { font-size: 2.5rem; flex-shrink: 0;}.pfm-mes-donnees__welcome-text h2 { font-size: var(--pfm-text-xl); font-weight: var(--pfm-font-bold); margin-bottom: var(--pfm-space-1);}.pfm-mes-donnees__welcome-text p { color: var(--pfm-gray-600); margin-bottom: var(--pfm-space-1);}.pfm-mes-donnees__welcome-text small { font-size: var(--pfm-text-xs); color: var(--pfm-gray-400);}.pfm-mes-donnees__access-code { padding: var(--pfm-space-6); background: white; border-radius: var(--pfm-radius-xl); box-shadow: var(--pfm-shadow); margin-bottom: var(--pfm-space-6);}.pfm-mes-donnees__access-code h3 { font-size: var(--pfm-text-lg); font-weight: var(--pfm-font-semibold); margin-bottom: var(--pfm-space-2);}.pfm-mes-donnees__access-code > p { color: var(--pfm-gray-600); font-size: var(--pfm-text-sm); margin-bottom: var(--pfm-space-4);}.pfm-mes-donnees__code-display { display: flex; align-items: center; justify-content: center; gap: var(--pfm-space-4); padding: var(--pfm-space-4); background: linear-gradient(135deg, #fdf2f8, #fce7f3); border-radius: var(--pfm-radius-lg);}.pfm-mes-donnees__code-display code { font-size: var(--pfm-text-2xl); font-weight: var(--pfm-font-bold); color: #db2777; letter-spacing: 2px; font-family: var(--pfm-font-mono);}.pfm-mes-donnees__tools { padding: var(--pfm-space-6); background: white; border-radius: var(--pfm-radius-xl); box-shadow: var(--pfm-shadow); margin-bottom: var(--pfm-space-6);}.pfm-mes-donnees__tools h3 { font-size: var(--pfm-text-lg); font-weight: var(--pfm-font-semibold); margin-bottom: var(--pfm-space-4);}.pfm-mes-donnees__tools-grid { display: grid; gap: var(--pfm-space-3);}.pfm-mes-donnees__tool-card { display: flex; align-items: center; gap: var(--pfm-space-3); padding: var(--pfm-space-4); background: var(--pfm-gray-50); border-radius: var(--pfm-radius-lg); border: 1px solid var(--pfm-gray-200);}.pfm-mes-donnees__tool-icon { font-size: 1.5rem; flex-shrink: 0;}.pfm-mes-donnees__tool-info { flex: 1; min-width: 0;}.pfm-mes-donnees__tool-info h4 { font-size: var(--pfm-text-sm); font-weight: var(--pfm-font-semibold); margin-bottom: var(--pfm-space-1);}.pfm-mes-donnees__tool-info small { font-size: var(--pfm-text-xs); color: var(--pfm-gray-500);}.pfm-mes-donnees__empty { text-align: center; padding: var(--pfm-space-8); color: var(--pfm-gray-500);}.pfm-mes-donnees__empty p { margin-bottom: var(--pfm-space-4);}.pfm-mes-donnees__purchases { padding: var(--pfm-space-6); background: white; border-radius: var(--pfm-radius-xl); box-shadow: var(--pfm-shadow); margin-bottom: var(--pfm-space-6);}.pfm-mes-donnees__purchases h3 { font-size: var(--pfm-text-lg); font-weight: var(--pfm-font-semibold); margin-bottom: var(--pfm-space-4);}.pfm-mes-donnees__purchases-list { display: grid; gap: var(--pfm-space-3);}.pfm-mes-donnees__purchase-card { display: flex; align-items: center; gap: var(--pfm-space-3); padding: var(--pfm-space-4); background: linear-gradient(135deg, #ecfdf5, #d1fae5); border-radius: var(--pfm-radius-lg); border: 1px solid #a7f3d0;}.pfm-mes-donnees__purchase-icon { font-size: 1.5rem; flex-shrink: 0;}.pfm-mes-donnees__purchase-info { flex: 1; min-width: 0;}.pfm-mes-donnees__purchase-info h4 { font-size: var(--pfm-text-sm); font-weight: var(--pfm-font-semibold); margin-bottom: var(--pfm-space-1);}.pfm-mes-donnees__purchase-info small { font-size: var(--pfm-text-xs); color: var(--pfm-gray-500);}.pfm-mes-donnees__actions { padding: var(--pfm-space-6); background: white; border-radius: var(--pfm-radius-xl); box-shadow: var(--pfm-shadow);}.pfm-mes-donnees__actions h3 { font-size: var(--pfm-text-lg); font-weight: var(--pfm-font-semibold); margin-bottom: var(--pfm-space-4);}.pfm-mes-donnees__actions-grid { display: flex; flex-wrap: wrap; gap: var(--pfm-space-3); margin-bottom: var(--pfm-space-4);}.pfm-mes-donnees__rgpd-note { font-size: var(--pfm-text-xs); color: var(--pfm-gray-500);}.pfm-btn--danger { color: var(--pfm-error); border-color: var(--pfm-error);}.pfm-btn--danger:hover { background: #fef2f2;}.pfm-mes-donnees__login { max-width: 700px; margin: 0 auto;}.pfm-mes-donnees__login-intro { text-align: center; margin-bottom: var(--pfm-space-8);}.pfm-mes-donnees__login-intro h2 { font-size: var(--pfm-text-2xl); font-weight: var(--pfm-font-bold); margin-bottom: var(--pfm-space-2);}.pfm-mes-donnees__login-intro p { color: var(--pfm-gray-600);}.pfm-mes-donnees__forms { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--pfm-space-6); margin-bottom: var(--pfm-space-8);}.pfm-mes-donnees__form-card { padding: var(--pfm-space-6); background: white; border-radius: var(--pfm-radius-xl); box-shadow: var(--pfm-shadow);}.pfm-mes-donnees__form-card h3 { display: flex; align-items: center; gap: var(--pfm-space-2); font-size: var(--pfm-text-lg); font-weight: var(--pfm-font-semibold); margin-bottom: var(--pfm-space-2);}.pfm-mes-donnees__form-icon { font-size: 1.25rem;}.pfm-mes-donnees__form-card > p { color: var(--pfm-gray-600); font-size: var(--pfm-text-sm); margin-bottom: var(--pfm-space-4);}.pfm-mes-donnees__form { display: flex; flex-direction: column; gap: var(--pfm-space-4);}.pfm-form-group { display: flex; flex-direction: column; gap: var(--pfm-space-2);}.pfm-form-group label { font-size: var(--pfm-text-sm); font-weight: var(--pfm-font-medium); color: var(--pfm-gray-700);}.pfm-form-group input { padding: var(--pfm-space-3) var(--pfm-space-4); border: 1px solid var(--pfm-gray-300); border-radius: var(--pfm-radius-lg); font-size: var(--pfm-text-base); transition: border-color var(--pfm-transition-fast), box-shadow var(--pfm-transition-fast);}.pfm-form-group input:focus { outline: none; border-color: var(--pfm-primary-500); box-shadow: 0 0 0 3px rgba(147, 96, 247, 0.15);}.pfm-form-group input::placeholder { color: var(--pfm-gray-400);}.pfm-mes-donnees__result { margin-top: var(--pfm-space-4); padding: var(--pfm-space-3) var(--pfm-space-4); border-radius: var(--pfm-radius-lg); font-size: var(--pfm-text-sm);}.pfm-mes-donnees__result--success { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0;}.pfm-mes-donnees__result--error { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca;}.pfm-mes-donnees__info-box { display: flex; gap: var(--pfm-space-4); padding: var(--pfm-space-5); background: linear-gradient(135deg, #fdf2f8, #fce7f3); border-radius: var(--pfm-radius-xl); border: 1px solid #fbcfe8;}.pfm-mes-donnees__info-icon { font-size: 1.5rem; flex-shrink: 0;}.pfm-mes-donnees__info-text h4 { font-size: var(--pfm-text-base); font-weight: var(--pfm-font-semibold); margin-bottom: var(--pfm-space-1); color: #9d174d;}.pfm-mes-donnees__info-text p { font-size: var(--pfm-text-sm); color: #831843;}@media (max-width: 640px) { .pfm-mes-donnees__welcome { flex-direction: column; text-align: center; } .pfm-mes-donnees__code-display { flex-direction: column; } .pfm-mes-donnees__code-display code { font-size: var(--pfm-text-xl); } .pfm-mes-donnees__tool-card, .pfm-mes-donnees__purchase-card { flex-wrap: wrap; } .pfm-mes-donnees__tool-card .pfm-btn, .pfm-mes-donnees__purchase-card .pfm-btn { width: 100%; } .pfm-mes-donnees__actions-grid { flex-direction: column; } .pfm-mes-donnees__actions-grid .pfm-btn { width: 100%; } .pfm-mes-donnees__info-box { flex-direction: column; text-align: center; }}@media print { .pfm-header, .pfm-footer, .pfm-toc, .pfm-newsletter, .pfm-related, .pfm-navigator, .pfm-btn { display: none !important; } body { font-size: 12pt; color: black; background: white; } .pfm-content { max-width: 100%; } a { color: black; text-decoration: underline; } a[href]::after { content: " (" attr(href) ")"; font-size: 10pt; }}