.bf-portrait-contest{--portrait-red:#E3013A;--portrait-text:#171b20;--portrait-muted:#5f6770;--portrait-border:#dfe4e8;--portrait-bg:#f5f8fa;--portrait-white:#ffffff;--portrait-shell:1360px;background:var(--portrait-bg);color:var(--portrait-text);}.portrait-contest{width:100%;overflow:hidden;}.portrait-shell{width:min(calc(100% - 48px), var(--portrait-shell));margin-inline:auto;}.portrait-hero{position:relative;min-height:365px;display:flex;align-items:center;overflow:hidden;background:#eef5f8;}.portrait-hero__media{position:absolute;inset:0;z-index:0;}.portrait-hero__media img{width:100%;height:100%;display:block;object-fit:fill;object-position:center;}.portrait-hero__overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg, rgb(197 230 252) 0%, rgb(190 227 252) 27%, rgb(194 228 249 / 87%) 47%, rgb(195 228 251 / 14%) 72%, rgb(195 229 252 / 3%) 100%);}.portrait-hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0, 1fr) 280px;gap:50px;align-items:center;padding-top:45px;padding-bottom:45px;}.portrait-hero__copy{max-width:790px;}.portrait-hero__kicker{margin:0 0 8px;color:var(--portrait-red);font-size:16px;font-weight:800;line-height:1.2;letter-spacing:0.06em;text-transform:uppercase;}.portrait-hero__title{margin:0;color:#101418;font-size:clamp(42px, 4.8vw, 68px);font-weight:900;line-height:0.98;letter-spacing:-0.035em;}.portrait-hero__intro{max-width:720px;margin:20px 0 0;color:#252b31;font-size:18px;line-height:1.45;}.portrait-hero__notice{display:inline-flex;align-items:center;gap:10px;margin:22px 0 0;padding:0;color:#303840;font-size:15px;line-height:1.4;}.portrait-hero__notice-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;font-size:18px;}.portrait-hero__event-logo{display:flex;align-items:center;justify-content:center;}.portrait-hero__event-logo img{display:block;width:auto;max-width:260px;max-height:190px;object-fit:contain;}.portrait-candidates{padding:34px 0 48px;background:linear-gradient(90deg, rgb(197 230 252) 0%, rgb(190 227 252) 27%, rgb(194 228 249 / 87%) 47%, rgb(195 228 251 / 64%) 72%, rgb(195 229 252 / 21%) 100%);}.portrait-section-title{margin:0 0 24px;font-family:inherit;font-size:32px;line-height:1.15;color:#161a1e;}.portrait-grid{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:18px;}.portrait-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--portrait-white);border:1px solid var(--portrait-border);border-radius:7px;box-shadow:0 1px 2px rgba(15, 23, 42, 0.03),0 7px 20px rgba(15, 23, 42, 0.035);}.portrait-card__media{position:relative;overflow:hidden;aspect-ratio:4 / 3;background:#e7ebee;}.portrait-card__region{position:absolute;top:0px;left:0px;z-index:2;padding:7px;color:#fff;background:rgb(41 126 137 / 100%);border-radius:0px 0px 6px;font-size:11px;font-weight:700;}.portrait-card__region{display:inline-flex;align-items:center;gap:2px;}.portrait-card__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;}.portrait-card__icon svg{display:block;}.portrait-card__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 0.3s ease;}@media (hover: hover){.portrait-card:hover .portrait-card__media img{transform:scale(1.025);}}.portrait-card__content{flex:1;display:flex;flex-direction:column;padding:10px 14px 12px;}.portrait-card__name{color:#000;font-family:inherit;font-size:19px;font-weight:900;line-height:1.3;margin:5px 0px;text-transform:uppercase;}.portrait-card__description{flex:1;margin:7px 0 14px;color:#343b42;font-size:14px;line-height:1.3;}.portrait-card__actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:auto;}.portrait-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:5px;font-size:14px;font-weight:700;line-height:1.1;text-align:center;text-decoration:none;transition:background-color 0.2s ease,border-color 0.2s ease,color 0.2s ease,transform 0.15s ease;}.portrait-button:hover, .portrait-button:focus{text-decoration:none;}.portrait-button:active{transform:translateY(1px);}.portrait-button--read{color:#22828a;background:#ffffff;border:1px solid #22828a;}.portrait-button--read:hover, .portrait-button--read:focus-visible{color:#111418;background:#f1f4f6;border-color:#6f7b85;}.portrait-button--vote{color:#ffffff;background:var(--portrait-red);border:1px solid var(--portrait-red);}.portrait-button--vote:hover, .portrait-button--vote:focus-visible{color:#ffffff;background:#e3013A;border-color:#e3013A;}.portrait-button:focus-visible{outline:3px solid rgba(227, 6, 19, 0.24);outline-offset:2px;}.portrait-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;}.portrait-button__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;}.portrait-button__icon svg{display:block;}.portrait-empty{margin:0;padding:35px;background:#ffffff;border:1px solid var(--portrait-border);border-radius:6px;text-align:center;}.portrait-partners{padding:34px 0 46px;background:#ffffff;border-top:1px solid #e3e7ea;}.portrait-partners__title{display:flex;align-items:center;gap:24px;margin:0 0 30px;color:#181c20;font-family:inherit;font-size:26px;line-height:1.2;text-align:center;font-weight:900;text-transform:uppercase;}.portrait-partners__title::before, .portrait-partners__title::after{content:"";flex:1;height:1px;background:#29818b;}.portrait-partners__grid{display:grid;grid-template-columns:repeat(6, minmax(0, 1fr));gap:30px;align-items:center;}.portrait-partner{min-width:0;display:flex;align-items:center;justify-content:center;min-height:80px;}.portrait-partner a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;}.portrait-partner img{display:block;width:auto;max-width:100%;max-height:70px;object-fit:contain;transition:opacity 0.2s ease;}.portrait-partner a:hover img{opacity:0.78;}@media (max-width: 1100px){.portrait-shell{width:min(calc(100% - 36px), var(--portrait-shell));}.portrait-hero__inner{grid-template-columns:minmax(0, 1fr) 210px;gap:25px;}.portrait-hero__event-logo img{max-width:200px;max-height:150px;}.portrait-grid{grid-template-columns:repeat(3, minmax(0, 1fr));}.portrait-partners__grid{grid-template-columns:repeat(4, minmax(0, 1fr));}}@media (max-width: 700px){.portrait-button{gap:4px;}.portrait-button__icon svg{width:13px;height:13px;}.portrait-shell{width:calc(100% - 24px);}.portrait-card__region{top:0px;left:0px;padding:4px 7px;font-size:9px;}.portrait-hero{min-height:0;align-items:stretch;height:280px;}.portrait-hero__media img{object-position:center bottom;}.portrait-hero__overlay{background:linear-gradient(90deg, rgb(197 230 252) 0%, rgb(190 227 252) 27%, rgb(194 228 249 / 87%) 47%, rgb(195 228 251 / 14%) 72%, rgb(195 229 252 / 3%) 100%);}.portrait-hero__inner{min-height:430px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:26px;padding-bottom:32px;}.portrait-hero__event-logo{order:-1;width:100%;justify-content:center;margin-bottom:4px;}.portrait-hero__event-logo img{max-width:135px;max-height:100px;}.portrait-hero__copy{max-width:100%;}.portrait-hero__kicker{margin-bottom:5px;font-size:13px;letter-spacing:0.07em;}.portrait-hero__title{max-width:330px;font-size:clamp(37px, 11vw, 40px);line-height:0.98;}.portrait-hero__intro{max-width:340px;margin-top:14px;font-size:15px;line-height:1.38;}.portrait-hero__notice{max-width:340px;margin-top:15px;font-size:12px;line-height:1.35;}.portrait-hero__notice-icon{font-size:16px;}.portrait-candidates{padding:20px 0 32px;}.portrait-section-title{margin-bottom:15px;font-size:27px;}.portrait-grid{grid-template-columns:repeat(2, minmax(0, 1fr));gap:10px;}.portrait-card{border-radius:6px;}.portrait-card__media{aspect-ratio:4 / 3;}.portrait-card__content{padding:8px;}.portrait-card__name{font-size:17px;line-height:1.05;}.portrait-card__description{display:-webkit-box;overflow:hidden;min-height:32px;margin:5px 0 9px;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:12px;line-height:1.3;}.portrait-card__actions{gap:6px;}.portrait-button{min-width:0;min-height:35px;padding:6px 4px;font-size:10.5px;line-height:1.05;white-space:nowrap;}.portrait-partners{padding:27px 0 34px;}.portrait-partners__title{gap:12px;margin-bottom:22px;font-size:20px;}.portrait-partners__grid{grid-template-columns:repeat(2, minmax(0, 1fr));gap:20px 24px;}.portrait-partner{min-height:60px;}.portrait-partner img{max-height:55px;}}@media (max-width: 390px){.portrait-shell{width:calc(100% - 18px);}.portrait-grid{gap:8px;}.portrait-card__content{padding:7px;}.portrait-card__name{font-size:16px;}.portrait-card__description{font-size:11.5px;}.portrait-button{font-size:9.5px;}}@media (prefers-reduced-motion: reduce){.portrait-card__media img, .portrait-button, .portrait-partner img{transition:none;}}.portrait-candidates__header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:24px;}.portrait-candidates__header .portrait-section-title{margin:0;}.portrait-filters{flex:0 0 auto;}.portrait-filters__state{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;opacity:0;pointer-events:none;}.portrait-filters__toggle{display:none;}.portrait-filters__panel{display:flex;align-items:flex-end;gap:12px;}.portrait-filter-field{min-width:190px;}.portrait-filter-field--search{min-width:230px;}.portrait-filter-field label{display:block;margin:0 0 5px;color:#3f464d;font-size:11px;font-weight:700;line-height:1.2;}.portrait-filter-field select, .portrait-filter-field input{width:100%;height:40px;padding:7px 11px;color:#252b30;background:#fff;border:1px solid #cbd2d8;border-radius:5px;font:inherit;font-size:13px;}.portrait-filter-field select:focus-visible, .portrait-filter-field input:focus-visible{outline:3px solid rgba(227, 1, 58, 0.16);outline-offset:1px;border-color:var(--portrait-red);}.portrait-filter-search{position:relative;}.portrait-filter-search__icon{position:absolute;top:50%;left:11px;display:flex;color:#69727a;transform:translateY(-50%);pointer-events:none;}.portrait-filter-search input{padding-left:35px;}.portrait-filter-count{min-width:76px;margin:0 0 10px;color:var(--portrait-muted);font-size:12px;line-height:1;white-space:nowrap;}.portrait-filter-count strong{color:var(--portrait-red);font-size:16px;}.portrait-filter-empty{margin:18px 0 0;padding:24px;background:#fff;border:1px solid var(--portrait-border);border-radius:7px;text-align:center;}@media (max-width: 700px){.portrait-candidates__header{display:block;margin-bottom:14px;}.portrait-candidates__header .portrait-section-title{margin-bottom:14px;}.portrait-filters{width:100%;background:#fff;border:1px solid var(--portrait-border);border-radius:6px;overflow:hidden;}.portrait-filters__toggle{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;color:#171b20;background:#fff;border-radius:6px;font-size:14px;font-weight:800;cursor:pointer;user-select:none;}.portrait-filters__toggle:focus-visible{outline:3px solid rgba(227, 1, 58, 0.18);outline-offset:-3px;}.portrait-filters__chevron{flex:0 0 auto;display:flex;transition:transform 0.2s ease;}.portrait-filters__panel{display:none;padding:14px;border-top:1px solid #e5e8eb;}.portrait-filters__state:checked ~ .portrait-filters__panel{display:block;}.portrait-filters__state:checked + .portrait-filters__toggle .portrait-filters__chevron{transform:rotate(180deg);}.portrait-filter-field, .portrait-filter-field--search{width:100%;min-width:0;}.portrait-filter-field + .portrait-filter-field{margin-top:14px;}.portrait-filter-count{margin:16px 0 0;padding-top:13px;border-top:1px solid #e5e8eb;}}/* Formulaire de protection par mot de passe */.portrait-vote:has(.post-password-form) {display: flex;align-items: center; justify-content: center;min-height: 65vh;padding: 40px 15px;}.portrait-vote__error:has(.post-password-form) {max-width: 520px;margin: 0 auto;padding: 35px;background: #fff;border: 1px solid #e1e5e9;border-radius: 10px;box-shadow: 0 8px 30px rgba(0,0,0,.06);}.portrait-vote__error:has(.post-password-form) h1 {margin: 0 0 20px;font-size: 30px;font-weight: 800;color: #171b20;}.post-password-form p {font-size: 14px;line-height: 1.6;color: #555;}.post-password-form label {display: block;margin: 20px 0 12px;font-weight: 700;}.post-password-form input[type="password"] {display: block;width: 100%;height: 46px;margin-top: 8px;padding: 10px 14px;border: 1px solid #cbd2d8;border-radius: 5px;background: #fff;font-size: 16px;}.post-password-form input[type="password"]:focus {outline: 2px solid #e3013a;outline-offset: 1px;}.post-password-form input[type="submit"] { min-height: 46px;padding: 12px 26px;border: 0;border-radius: 5px;
background: #e3013a; color: #fff;font-size: 14px;font-weight: 700;cursor: pointer;}.post-password-form input[type="submit"]:hover {background: #bd002e;}.portrait-card:hover{box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03), 0px 7px 20px rgb(15 23 42 / 42%);}
.portrait-partners__carousel{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:12px;}.portrait-partners__grid{display:flex;align-items:stretch;min-width:0;gap:22px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px 0 8px;}.portrait-partners__grid::-webkit-scrollbar{display:none;}.portrait-partners__grid:focus-visible{outline:2px solid var(--portrait-red);outline-offset:-2px;}.portrait-partners__grid .portrait-partner{box-sizing:border-box;flex:0 0 calc((100% - 66px) / 4);min-width:0;min-height:94px;scroll-snap-align:start;border: 1px solid #227d87;  border-radius: 6px;padding: 20px 10px;}.portrait-partners__grid .portrait-partner img{max-width:100%;max-height:72px;object-fit:contain;}.portrait-partners__carousel .portrait-partners__arrow{display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid #29818b;border-radius:50%;background:#fff;color:#29818b;cursor:pointer;}.portrait-partners__arrow:hover:not(:disabled){border-color:var(--portrait-red);color:var(--portrait-red);}.portrait-partners__arrow:focus-visible{outline:3px solid var(--portrait-red);outline-offset:2px;}.portrait-partners__arrow:disabled{opacity:.35;cursor:default;}.portrait-partners__carousel.is-single .portrait-partners__arrow{visibility:hidden;}@media (max-width:1100px){.portrait-partners__grid .portrait-partner{flex-basis:calc((100% - 44px) / 3);}}@media (max-width:700px){.portrait-partners__carousel{grid-template-columns:32px minmax(0,1fr) 32px;gap:6px;}.portrait-partners__grid{gap:12px;}.portrait-partners__grid .portrait-partner{flex-basis:calc((100% - 12px) / 2);min-height:74px;}.portrait-partners__grid .portrait-partner img{max-height:55px;}.portrait-partners__carousel .portrait-partners__arrow{width:32px;height:32px;}.portrait-partners__arrow svg{width:19px;height:19px;}}@media (prefers-reduced-motion:reduce){.portrait-partners__grid{scroll-behavior:auto;}}@media (max-width: 600px){.portrait-hero__overlay {background: linear-gradient(90deg, rgb(197 230 252) 0%, rgb(190 227 252) 27%, rgb(194 228 249 / 87%) 47%, rgb(181 216 234 / 66%) 72%, rgb(189 226 250 / 14%) 100%);}.portrait-hero {height: 220px;}.portrait-hero__intro {margin-top: 10px;font-size: 12px;line-height: 1.18;}.portrait-vote__error:has(.post-password-form) {padding: 25px 20px;}.post-password-form input[type="submit"] {width: 100%;  }.portrait-hero__title {font-size: clamp(37px, 11vw, 38px);}}.portrait-partners__grid.is-transform-carousel{display:block;overflow:hidden;scroll-snap-type:none;scroll-behavior:auto;touch-action:pan-y;}.portrait-partners__grid.is-transform-carousel .portrait-partners__inner{display:flex;align-items:stretch;gap:22px;width:100%;will-change:transform;}.portrait-partners__grid.is-transform-carousel .portrait-partners__inner>.portrait-partner{flex:0 0 calc((100% - 66px) / 4);scroll-snap-align:none;}@media(max-width:1100px){.portrait-partners__grid.is-transform-carousel .portrait-partners__inner>.portrait-partner{flex-basis:calc((100% - 44px) / 3);}}@media(max-width:700px){.portrait-partners__grid.is-transform-carousel .portrait-partners__inner{gap:12px;}.portrait-partners__grid.is-transform-carousel .portrait-partners__inner>.portrait-partner{flex-basis:calc((100% - 12px) / 2);}}
