:root{
  --ec-bg:#020914;--ec-panel:#071424;--ec-panel2:#0a1a2d;--ec-card:#081522;--ec-line:#17436b;--ec-line2:#1c6fa9;
  --ec-text:#f4fbff;--ec-muted:#9eb5c9;--ec-blue:#19b7ff;--ec-blue2:#0066ff;--ec-cyan:#10f0ff;--ec-green:#26e7c7;--ec-purple:#9657ff;--ec-red:#ff315d;
}
html.ec-fullscreen-mode,body.ec-fullscreen-mode{margin:0!important;padding:0!important;width:100%!important;min-height:100%!important;overflow-x:hidden!important;background:var(--ec-bg)!important;color:var(--ec-text)!important}
body.ec-fullscreen-mode>*:not(.ec-wrap):not(.ec-modal-backdrop):not(.ec-edit-form):not(.ec-settings-modal):not(.ec-add-modal):not(.ec-upcoming-day-modal):not(.ec-upcoming-add-modal):not(.ec-one-access-modal):not(.one-access-modal):not(.one-access-overlay):not(#one-access-modal):not(#one-access-root){display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
body.ec-fullscreen-mode .ec-wrap{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;position:relative!important;z-index:2147483000!important;width:100%!important;min-height:100vh!important;margin:0!important;padding:24px!important;box-sizing:border-box!important;background:radial-gradient(circle at 82% 12%,rgba(0,117,255,.24),transparent 30%),radial-gradient(circle at 12% 85%,rgba(0,214,255,.14),transparent 25%),linear-gradient(135deg,#020712 0%,#061426 52%,#020813 100%)!important;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.ec-wrap *{box-sizing:border-box}.ec-wrap a{text-decoration:none}.ec-app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;max-width:1480px;margin:0 auto}.ec-sidebar{min-height:calc(100vh - 48px);border:1px solid rgba(32,151,255,.22);background:linear-gradient(180deg,rgba(7,22,38,.96),rgba(2,10,20,.98));border-radius:26px;padding:24px 18px;box-shadow:0 26px 80px rgba(0,0,0,.4),inset 0 0 45px rgba(0,149,255,.06);display:flex;flex-direction:column;gap:22px;position:sticky;top:24px}.ec-brand{display:flex;align-items:center;gap:14px;padding:4px 6px 14px}.ec-brand-icon{width:48px;height:48px;border:2px solid var(--ec-blue);border-radius:14px;display:grid;place-items:center;box-shadow:0 0 22px rgba(25,183,255,.38);font-size:26px;color:var(--ec-blue)}.ec-brand-title{font-weight:950;letter-spacing:.02em;font-size:30px;line-height:.9;color:#fff}.ec-brand-title span{color:var(--ec-blue)}.ec-brand-sub{font-size:14px;color:var(--ec-blue);font-weight:700;margin-top:5px}.ec-nav-list{display:flex;flex-direction:column;gap:11px}.ec-nav-item{display:flex;align-items:center;gap:14px;color:#d8e8f7;border:1px solid transparent;border-radius:14px;padding:14px 16px;font-weight:750;font-size:16px}.ec-nav-item.is-active,.ec-nav-item:hover{background:linear-gradient(90deg,rgba(0,102,255,.34),rgba(0,183,255,.08));border-color:rgba(25,183,255,.55);box-shadow:0 0 24px rgba(0,102,255,.25);color:#fff}.ec-nav-ico{width:21px;text-align:center;color:#d9f5ff}.ec-user{margin-top:auto;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:12px}.ec-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#1598ff,#1325a8);box-shadow:0 0 22px rgba(25,183,255,.3);font-weight:900}.ec-user strong{display:block;color:#fff}.ec-user span{display:block;color:var(--ec-muted);font-size:13px}.ec-main{border:1px solid rgba(32,151,255,.22);background:linear-gradient(180deg,rgba(4,13,26,.76),rgba(2,9,19,.9));border-radius:26px;min-width:0;padding:28px;box-shadow:0 28px 90px rgba(0,0,0,.42),inset 0 0 70px rgba(0,119,255,.06)}.ec-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.ec-hero h2{margin:0;color:#fff;font-size:clamp(38px,5vw,64px);line-height:.95;font-weight:950;letter-spacing:-.065em}.ec-hero h2 span{color:var(--ec-blue)}.ec-hero p{display:none}.ec-btn,.ec-btn-light,.ec-reset,.ec-edit-toggle,.ec-share{appearance:none;border:0;cursor:pointer;border-radius:18px;font-weight:850;font-size:16px;min-height:50px;padding:0 25px;color:#fff;background:linear-gradient(135deg,var(--ec-blue),var(--ec-blue2));box-shadow:0 10px 28px rgba(0,111,255,.35),inset 0 1px 0 rgba(255,255,255,.35);display:inline-flex;align-items:center;justify-content:center;gap:9px}.ec-btn-light{border-radius:999px;font-size:18px;min-height:58px;padding:0 30px}.ec-btn-light:before{content:'+';font-size:28px;font-weight:300;line-height:1}.ec-reset{background:rgba(255,255,255,.08);box-shadow:none;border:1px solid rgba(255,255,255,.11);color:#fff}.ec-notice{border:1px solid rgba(38,231,199,.38);color:#bafff4;background:rgba(38,231,199,.1);border-radius:18px;padding:14px 18px;margin-bottom:16px;font-weight:800}.ec-filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.1fr) auto auto;gap:22px;align-items:center;background:rgba(2,11,22,.62);border:1px solid rgba(35,100,151,.35);border-radius:24px;padding:26px;margin-bottom:22px;box-shadow:inset 0 0 40px rgba(0,102,255,.05)}.ec-filters select,.ec-form input,.ec-form select,.ec-form textarea,.ec-edit-form input,.ec-edit-form select,.ec-edit-form textarea{width:100%;min-height:54px;border-radius:18px;border:1px solid rgba(95,162,218,.38);background:#06111f;color:#fff;padding:0 18px;font-size:16px;outline:none;box-shadow:inset 0 0 20px rgba(0,0,0,.18)}.ec-filters select:focus,.ec-form input:focus,.ec-form select:focus,.ec-form textarea:focus,.ec-edit-form input:focus,.ec-edit-form select:focus,.ec-edit-form textarea:focus{border-color:var(--ec-blue);box-shadow:0 0 0 4px rgba(25,183,255,.12)}.ec-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.ec-card{position:relative;min-width:0;border:1px solid rgba(48,132,196,.42);background:linear-gradient(180deg,rgba(8,23,38,.98),rgba(5,15,26,.98));border-radius:22px;padding:12px;overflow:hidden;box-shadow:0 14px 35px rgba(0,0,0,.34),inset 0 0 35px rgba(0,156,255,.055);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;cursor:pointer}.ec-card:before{content:'';position:absolute;inset:0;border-radius:22px;pointer-events:none;background:linear-gradient(135deg,transparent 0 86%,var(--ec-cyan) 86% 87%,transparent 88%)}.ec-card:hover{transform:translateY(-5px);border-color:rgba(25,183,255,.9);box-shadow:0 22px 55px rgba(0,0,0,.45),0 0 30px rgba(25,183,255,.16)}.ec-imgbox{position:relative;aspect-ratio:3/4;border-radius:16px;overflow:hidden;background:#04101d;border:1px solid rgba(255,255,255,.08)}.ec-horizontal .ec-imgbox{aspect-ratio:4/3}.ec-imgbox img{width:100%;height:100%;object-fit:cover;display:block}.ec-card .ec-imgbox:after{content:'⋮';position:absolute;right:10px;top:10px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(3,11,22,.76);backdrop-filter:blur(10px);color:#fff;font-size:24px;line-height:1}.ec-card-body{padding:16px 6px 4px}.ec-date{display:inline-flex;align-items:center;gap:7px;color:#82dfff;font-size:14px;font-weight:750;background:transparent;padding:0;margin-bottom:12px}.ec-date:before{content:'▣';font-size:12px;color:var(--ec-blue)}.ec-card h3{margin:0 0 13px;color:#fff;font-size:18px;line-height:1.25;font-weight:880}.ec-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.ec-meta span{font-size:13px;color:#d9f1ff;background:rgba(25,183,255,.08);border:1px solid rgba(25,183,255,.22);border-radius:999px;padding:4px 10px}.ec-meta span:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ec-blue);margin-right:6px}.ec-card-actions{display:flex;gap:8px;flex-wrap:wrap}.ec-edit-toggle,.ec-share{min-height:36px;border-radius:999px;font-size:13px;padding:0 14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);box-shadow:none}.ec-edit-toggle:before{content:'✎'}.ec-empty{grid-column:1/-1;border:1px dashed rgba(25,183,255,.45);border-radius:22px;padding:34px;text-align:center;color:var(--ec-muted);background:rgba(255,255,255,.03)}.ec-inline-timeline{margin-top:24px;border:1px solid rgba(48,132,196,.34);background:rgba(4,15,27,.78);border-radius:22px;padding:22px}.ec-inline-timeline h2{margin:0 0 18px;color:#fff;font-size:24px}.ec-inline-timeline h2:before{content:'⌁ ';color:var(--ec-blue)}.ec-inline-timeline section{display:block}.ec-inline-timeline h3{color:#d7e9f7;font-size:14px;margin:12px 0 8px}.ec-timeline-row{display:flex;gap:10px;flex-wrap:wrap}.ec-year-dot{border:1px solid rgba(25,183,255,.38);background:rgba(25,183,255,.08);color:#dff8ff;border-radius:999px;padding:9px 13px;cursor:pointer}.ec-add-panel{margin-top:24px}.ec-form{border:1px solid rgba(48,132,196,.34);background:rgba(4,15,27,.88);border-radius:24px;padding:24px;display:grid;gap:16px;color:#fff}.ec-form-head h2{font-size:30px;margin:0 0 5px}.ec-form-head p{color:var(--ec-muted);margin:0}.ec-dropzone{min-height:170px;border:1px dashed rgba(25,183,255,.55);border-radius:22px;background:rgba(25,183,255,.05);display:grid;place-items:center;text-align:center;padding:25px;cursor:pointer;color:#d9f4ff}.ec-dropzone input{display:none}.ec-drop-icon{font-size:46px;color:var(--ec-blue)}.ec-dropzone strong{display:block}.ec-dropzone em{display:block;color:var(--ec-muted);font-style:normal;margin-top:5px}.ec-dropzone.is-dragover{background:rgba(25,183,255,.16);box-shadow:0 0 28px rgba(25,183,255,.18)}.ec-form label,.ec-edit-form label{font-weight:800;color:#dceeff;display:grid;gap:8px}.ec-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ec-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(8px);z-index:2147483645;display:none}.ec-modal-backdrop.is-open{display:block}.ec-edit-form{position:fixed!important;z-index:2147483646!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%) scale(.98)!important;width:min(780px,94vw)!important;max-height:90vh!important;overflow:auto!important;border:1px solid rgba(25,183,255,.48)!important;background:linear-gradient(180deg,#07172a,#040c17)!important;border-radius:26px!important;padding:26px!important;display:none!important;box-shadow:0 35px 90px rgba(0,0,0,.7),0 0 40px rgba(25,183,255,.16)!important;color:#fff!important}.ec-edit-form.is-open{display:grid!important;gap:15px!important;transform:translate(-50%,-50%) scale(1)!important}.ec-edit-form h2{margin:0 0 8px;font-size:34px;color:#fff}.ec-edit-close,.ec-close{position:absolute;right:18px;top:16px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;font-size:28px;cursor:pointer}.ec-viewer{position:fixed;inset:0;z-index:2147483644;background:rgba(0,0,0,.86);display:none;align-items:center;justify-content:center;padding:26px;backdrop-filter:blur(12px)}.ec-viewer.is-open{display:flex}.ec-viewer-card{width:min(1180px,94vw);max-height:90vh;display:grid;grid-template-columns:minmax(0,1fr) 380px;background:linear-gradient(180deg,#07172a,#040c17);border:1px solid rgba(25,183,255,.38);border-radius:26px;overflow:hidden;box-shadow:0 35px 90px rgba(0,0,0,.72),0 0 50px rgba(25,183,255,.14)}.ec-viewer-image-wrap{display:grid;place-items:center;background:#020812;min-height:70vh;padding:20px}.ec-viewer img{max-width:100%;max-height:82vh;object-fit:contain;border-radius:16px}.ec-viewer-info{padding:30px;color:#fff}.ec-viewer-date{color:var(--ec-blue);font-weight:900;margin-bottom:14px}.ec-viewer-info h2{font-size:34px;line-height:1.05;margin:0 0 14px;color:#fff}.ec-viewer-meta{color:#d8e9f6;margin-bottom:18px}.ec-viewer-desc{color:var(--ec-muted);line-height:1.55}.ec-nav{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;border:1px solid rgba(25,183,255,.4);background:rgba(5,20,36,.75);color:#fff;font-size:42px;cursor:pointer}.ec-prev{left:24px}.ec-next{right:24px}.ec-login-box{max-width:680px;margin:40px auto;padding:24px;border-radius:22px;background:#071424;color:#fff;text-align:center}.ec-public{min-height:100vh;background:#020914;color:#fff;padding:32px;text-align:center}.ec-public img{max-width:100%;max-height:80vh;border-radius:20px}.ec-mobile-top{display:none}
@media(max-width:1180px){.ec-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.ec-app-shell{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:900px){body.ec-fullscreen-mode .ec-wrap{padding:0!important}.ec-app-shell{display:block;max-width:none}.ec-sidebar{display:none}.ec-main{border-radius:0;min-height:100vh;border:0;padding:18px 12px 96px}.ec-mobile-top{display:flex;position:sticky;top:0;z-index:20;align-items:center;justify-content:space-between;margin:-18px -12px 14px;padding:14px 12px;background:rgba(2,9,19,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(25,183,255,.16)}.ec-mobile-brand{font-weight:950;font-size:22px;color:#fff}.ec-mobile-brand span{color:var(--ec-blue)}.ec-mobile-add{width:44px;height:44px;border-radius:14px;border:1px solid rgba(25,183,255,.45);background:rgba(25,183,255,.12);color:#fff;font-size:26px;display:grid;place-items:center}.ec-hero{display:block;margin:10px 2px 18px}.ec-hero h2{font-size:44px}.ec-hero .ec-btn-light{display:none}.ec-filters{grid-template-columns:1fr;gap:12px;padding:14px;border-radius:20px}.ec-filters .ec-btn,.ec-reset{width:100%}.ec-gallery{grid-template-columns:1fr 1fr;gap:12px}.ec-card{border-radius:18px;padding:8px}.ec-imgbox{border-radius:13px}.ec-card h3{font-size:15px}.ec-card-body{padding:12px 2px 2px}.ec-date{font-size:12px;margin-bottom:7px}.ec-meta span{font-size:11px}.ec-edit-toggle,.ec-share{min-height:32px;font-size:12px}.ec-inline-timeline,.ec-form{border-radius:20px;padding:16px}.ec-grid-2{grid-template-columns:1fr}.ec-viewer{padding:8px}.ec-viewer-card{grid-template-columns:1fr;width:100%;max-height:94vh;border-radius:20px}.ec-viewer-image-wrap{min-height:auto;max-height:62vh;padding:10px}.ec-viewer img{max-height:60vh}.ec-viewer-info{padding:18px}.ec-viewer-info h2{font-size:26px}.ec-nav{width:42px;height:42px;font-size:34px}.ec-prev{left:8px}.ec-next{right:8px}.ec-edit-form{width:94vw!important;border-radius:20px!important;padding:18px!important}.ec-edit-form h2{font-size:28px}.ec-brand-title{font-size:24px}}
@media(max-width:560px){.ec-gallery{grid-template-columns:1fr}.ec-hero h2{font-size:39px}.ec-main{padding-left:10px;padding-right:10px}.ec-card{padding:10px}.ec-imgbox{aspect-ratio:3/4}.ec-horizontal .ec-imgbox{aspect-ratio:4/3}}

/* v1.0.7 — finition MYDEX : plus proche de la maquette bleue */
body.ec-fullscreen-mode .ec-wrap{
  padding:20px!important;
  background:
    radial-gradient(circle at 85% 0%,rgba(0,112,255,.30),transparent 34%),
    radial-gradient(circle at 0% 100%,rgba(0,220,255,.16),transparent 34%),
    linear-gradient(135deg,#020712 0%,#06182d 48%,#020813 100%)!important;
}
.ec-app-shell{max-width:1540px;gap:22px;align-items:start}
.ec-sidebar{width:260px;min-height:calc(100vh - 40px);border-radius:24px;background:linear-gradient(180deg,rgba(8,24,43,.92),rgba(2,12,24,.98));border-color:rgba(36,153,255,.28)}
.ec-brand-icon{position:relative;font-size:0;border-radius:13px;border-color:#20c8ff}
.ec-brand-icon:before,.ec-brand-icon:after{content:'';position:absolute;width:25px;height:32px;border:2px solid #20c8ff;border-radius:7px;box-shadow:0 0 18px rgba(32,200,255,.45)}
.ec-brand-icon:before{transform:rotate(-8deg);left:9px;top:8px}.ec-brand-icon:after{transform:rotate(8deg);right:9px;bottom:8px}
.ec-main{padding:30px 30px 26px;border-radius:24px;background:linear-gradient(180deg,rgba(4,13,26,.83),rgba(2,9,19,.94));}
.ec-hero{margin-bottom:28px}.ec-hero h2{font-size:clamp(46px,5vw,68px);letter-spacing:-.075em}.ec-btn-light{min-width:240px}
.ec-notice{position:fixed;right:26px;top:26px;z-index:2147483647;margin:0;border-radius:999px;padding:12px 18px;background:rgba(7,31,48,.92);box-shadow:0 12px 34px rgba(0,0,0,.38);animation:ecToast 4s ease forwards}@keyframes ecToast{0%,78%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-10px);pointer-events:none}}
.ec-filters{grid-template-columns:minmax(210px,1fr) minmax(250px,1.2fr) 150px 150px auto;position:relative;padding:24px;border-radius:24px;gap:20px;background:linear-gradient(180deg,rgba(5,16,31,.88),rgba(3,12,25,.92));}
.ec-filters:after{content:'▦  ☰';justify-self:end;white-space:pre;display:flex;align-items:center;justify-content:center;height:54px;min-width:112px;border-radius:17px;border:1px solid rgba(68,150,217,.36);color:#dff6ff;letter-spacing:16px;padding-left:18px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 25px rgba(0,102,255,.08)}
.ec-filters select,.ec-form input,.ec-form select,.ec-form textarea,.ec-edit-form input,.ec-edit-form select,.ec-edit-form textarea{
  appearance:none!important;-webkit-appearance:none!important;
  background:linear-gradient(180deg,#07182a,#04101e)!important;color:#effaff!important;border-color:rgba(76,143,203,.46)!important;
  box-shadow:inset 0 0 24px rgba(0,0,0,.28),0 8px 24px rgba(0,0,0,.14)!important;
}
.ec-filters select{background-image:linear-gradient(45deg,transparent 50%,#b8eaff 50%),linear-gradient(135deg,#b8eaff 50%,transparent 50%),linear-gradient(180deg,#07182a,#04101e)!important;background-position:calc(100% - 22px) 24px,calc(100% - 14px) 24px,0 0!important;background-size:8px 8px,8px 8px,100% 100%!important;background-repeat:no-repeat!important;padding-right:48px!important}
.ec-reset{background:rgba(255,255,255,.075)!important;border:1px solid rgba(255,255,255,.14)!important;color:#f2f8ff!important}.ec-btn{border-radius:17px}
.ec-gallery{gap:22px}.ec-card{border-radius:22px;padding:13px;background:linear-gradient(180deg,rgba(7,24,41,.98),rgba(4,15,27,.98));border-color:rgba(55,135,196,.46)}
.ec-card:before{background:linear-gradient(135deg,transparent 0 91%,rgba(16,240,255,.05) 91% 93%,var(--ec-cyan) 93% 94%,transparent 95%);opacity:.95}
.ec-card:hover{transform:translateY(-4px) scale(1.01)}
.ec-imgbox{background:#030b15;border:1px solid rgba(107,184,245,.18);box-shadow:0 16px 35px rgba(0,0,0,.24);aspect-ratio:4/5}.ec-horizontal .ec-imgbox{aspect-ratio:4/3}
.ec-imgbox img{object-fit:fill!important;background:#050b13!important;padding:0!important}
.ec-card .ec-imgbox:after{width:34px;height:34px;right:9px;top:9px;background:rgba(4,14,27,.82);border:1px solid rgba(255,255,255,.08)}
.ec-date{font-size:14px;color:#5fd4ff}.ec-card h3{font-size:18px;font-weight:860;letter-spacing:-.02em}.ec-meta span{background:rgba(26,183,255,.09);border-color:rgba(26,183,255,.28)}
.ec-edit-toggle{background:rgba(255,255,255,.065)!important;border-color:rgba(255,255,255,.16)!important;color:#fff!important}.ec-edit-toggle:hover{background:rgba(25,183,255,.16)!important;border-color:rgba(25,183,255,.45)!important}
.ec-inline-timeline{margin-top:22px;border-radius:22px;background:linear-gradient(180deg,rgba(5,18,34,.90),rgba(3,12,24,.94));}
.ec-inline-timeline section{position:relative}.ec-timeline-row{position:relative;padding:22px 48px 4px;display:flex;justify-content:space-between;gap:16px}.ec-timeline-row:before{content:'';position:absolute;left:50px;right:50px;top:40px;height:1px;background:linear-gradient(90deg,transparent,rgba(110,190,255,.45),transparent)}.ec-year-dot{position:relative;z-index:1;min-width:54px;text-align:center;background:#06172a;border-color:rgba(74,152,219,.42)}
@media(max-width:1180px){.ec-filters{grid-template-columns:1fr 1fr auto auto}.ec-filters:after{display:none}.ec-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){body.ec-fullscreen-mode .ec-wrap{padding:0!important}.ec-main{padding:16px 12px 92px!important}.ec-hero h2{font-size:42px}.ec-filters{grid-template-columns:1fr;gap:12px;padding:13px}.ec-gallery{grid-template-columns:1fr 1fr;gap:12px}.ec-imgbox{aspect-ratio:3/4}.ec-imgbox img{object-fit:contain!important}.ec-card:before{display:none}.ec-card h3{font-size:15px}.ec-notice{top:12px;right:12px;left:12px;text-align:center}.ec-timeline-row{padding:10px 0 0;justify-content:flex-start}.ec-timeline-row:before{display:none}}
@media(max-width:560px){.ec-gallery{grid-template-columns:1fr}.ec-hero h2{font-size:36px}.ec-card{border-radius:20px}.ec-imgbox{aspect-ratio:3/4}}

/* v1.0.8 — logo configurable, menu mobile, filtres pliables */
.ec-brand-logo{width:48px;height:48px;object-fit:contain;border-radius:14px;filter:drop-shadow(0 0 18px rgba(25,183,255,.35));flex:0 0 auto}
.ec-mobile-brand{display:flex;align-items:center;gap:10px;min-width:0}
.ec-mobile-brand .ec-brand-logo{width:38px;height:38px;border-radius:11px}
.ec-mobile-brand .ec-brand-title{font-size:22px;line-height:1;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-mobile-brand .ec-brand-title span{color:var(--ec-blue)}
.ec-mobile-menu,.ec-sidebar-close,.ec-sidebar-overlay,.ec-filter-toggle{display:none}
@media(max-width:900px){
  .ec-mobile-top{display:grid!important;grid-template-columns:48px minmax(0,1fr) 48px;gap:10px;align-items:center}
  .ec-mobile-menu,.ec-mobile-add{width:44px;height:44px;border-radius:14px;border:1px solid rgba(25,183,255,.45);background:rgba(25,183,255,.12);color:#fff;font-size:24px;display:grid!important;place-items:center;box-shadow:0 0 24px rgba(25,183,255,.12)}
  .ec-sidebar{display:flex!important;position:fixed!important;z-index:2147483602!important;top:0!important;left:0!important;bottom:0!important;width:min(82vw,310px)!important;height:100vh!important;min-height:100vh!important;border-radius:0 26px 26px 0!important;transform:translateX(-105%);transition:transform .22s ease;box-shadow:30px 0 90px rgba(0,0,0,.62), inset 0 0 45px rgba(0,149,255,.06)!important}
  .ec-wrap.ec-menu-open .ec-sidebar{transform:translateX(0)}
  .ec-sidebar-close{display:grid!important;position:absolute;right:12px;top:12px;width:38px;height:38px;border-radius:13px;border:1px solid rgba(25,183,255,.35);background:rgba(255,255,255,.07);color:#fff;font-size:26px;place-items:center;z-index:2}
  .ec-sidebar-overlay{position:fixed;inset:0;z-index:2147483601;background:rgba(0,0,0,.56);backdrop-filter:blur(4px);border:0;padding:0;margin:0;display:none!important}.ec-wrap.ec-menu-open .ec-sidebar-overlay{display:block!important}
  .ec-filter-toggle{display:flex!important;width:100%;min-height:52px;align-items:center;justify-content:space-between;margin:0 0 12px;border-radius:18px;border:1px solid rgba(25,183,255,.36);background:linear-gradient(135deg,rgba(25,183,255,.16),rgba(0,102,255,.10));color:#fff;font-weight:900;font-size:16px;padding:0 16px}.ec-filter-toggle:after{content:'⌄';font-size:22px;color:#9deaff}.ec-filter-toggle.is-open:after{content:'⌃'}
  .ec-filters[data-ec-filters]{display:none!important}.ec-filters[data-ec-filters].is-open{display:grid!important}
  .ec-hero{padding-top:4px}.ec-hero h2{font-size:36px!important;letter-spacing:-.06em}.ec-gallery{margin-top:14px}
}
.ec-card-swiss{border-color:rgba(0,255,255,.28)}
.ec-source-pill{display:inline-flex;align-items:center;border:1px solid rgba(0,190,255,.35);border-radius:999px;padding:8px 12px;color:#8feaff;background:rgba(0,160,255,.10);font-weight:800;font-size:12px}

/* v1.0.10 — paramètres front + suppression */
.ec-nav-item{appearance:none;border:0;text-align:left;width:100%;font:inherit;cursor:pointer}
.ec-settings-modal{
  position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) scale(.96);z-index:1000002;
  width:min(520px,calc(100vw - 28px));padding:28px;border-radius:24px;
  background:linear-gradient(180deg,#08182d,#030b16);border:1px solid rgba(43,181,255,.35);
  box-shadow:0 30px 100px rgba(0,0,0,.65),0 0 40px rgba(0,174,255,.22);color:#fff;
  opacity:0;pointer-events:none;transition:.18s ease;
}
.ec-settings-modal.is-open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.ec-settings-modal h2{margin:0 0 12px;font-size:30px;line-height:1;color:#fff}
.ec-settings-modal p{margin:0 0 18px;color:#b7c9dd;font-weight:700;line-height:1.45}
.ec-settings-modal small{display:block;margin-top:14px;color:#7f96aa;font-weight:700;line-height:1.35}
.ec-settings-close{position:absolute;right:16px;top:14px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff;font-size:24px;cursor:pointer}
.ec-edit-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:10px}
.ec-danger{border:1px solid rgba(255,82,82,.45);background:rgba(255,82,82,.12);color:#ff8585;border-radius:999px;padding:13px 18px;font-weight:900;cursor:pointer;box-shadow:none}
.ec-danger:hover{background:rgba(255,82,82,.2)}
@media(max-width:760px){.ec-settings-modal{padding:22px;border-radius:20px}.ec-settings-modal h2{font-size:24px}.ec-edit-actions{display:grid;grid-template-columns:1fr}.ec-danger,.ec-edit-actions .ec-btn{width:100%}}

/* v1.0.11 — lisibilité formulaires + paramètres au premier plan */
.ec-settings-modal{
  z-index:2147483647!important;
  background:linear-gradient(180deg,#07182c 0%,#030914 100%)!important;
  color:#fff!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.ec-settings-modal.is-open{display:block!important;opacity:1!important;pointer-events:auto!important;visibility:visible!important}
.ec-settings-modal .ec-btn{color:#fff!important;text-decoration:none!important}
.ec-settings-close:hover,.ec-nav-item:hover,.ec-nav-item:focus{color:#fff!important;background:linear-gradient(90deg,rgba(0,102,255,.42),rgba(0,183,255,.14))!important;border-color:rgba(25,183,255,.7)!important}
.ec-edit-form select,
.ec-form select,
.ec-filters select{
  color:#fff!important;
  background-color:#06111f!important;
  -webkit-text-fill-color:#fff!important;
  color-scheme:dark!important;
}
.ec-edit-form select option,
.ec-form select option,
.ec-filters select option{
  background:#06111f!important;
  color:#fff!important;
}
.ec-edit-form input,
.ec-edit-form textarea,
.ec-form input,
.ec-form textarea{
  color:#fff!important;
  background:#06111f!important;
  -webkit-text-fill-color:#fff!important;
}
.ec-edit-form input[type="file"]{
  min-height:0!important;
  padding:12px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.06)!important;
  border:1px dashed rgba(25,183,255,.45)!important;
  color:#dff7ff!important;
  box-shadow:none!important;
}
.ec-edit-form input[type="file"]::file-selector-button{
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,var(--ec-blue),var(--ec-blue2));
  color:#fff;
  padding:10px 16px;
  font-weight:900;
  margin-right:12px;
  cursor:pointer;
}
.ec-file-replace{background:rgba(25,183,255,.045);border:1px solid rgba(25,183,255,.18);border-radius:18px;padding:14px!important}
.ec-grid-single-mobile{grid-template-columns:1fr!important}
@media(max-width:760px){.ec-settings-modal{top:50%!important;left:50%!important;width:calc(100vw - 24px)!important;max-height:86vh!important;overflow:auto!important}.ec-edit-form select,.ec-form select,.ec-filters select{font-size:16px!important}}


/* v1.0.12 — correction paramètres + suppression des trois points */
.ec-card .ec-imgbox:after{content:none!important;display:none!important}
.ec-settings-modal{
  position:fixed!important;
  z-index:2147483647!important;
  left:50%!important;top:50%!important;
  transform:translate(-50%,-50%) scale(.96)!important;
  width:min(560px,calc(100vw - 28px))!important;
  max-height:88vh!important;overflow:auto!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
}
.ec-settings-modal.is-open{
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  transform:translate(-50%,-50%) scale(1)!important;
}
.ec-modal-backdrop{z-index:2147483645!important;background:rgba(0,0,0,.58)!important;backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important}
.ec-nav-item[data-ec-settings-open]{color:#d8e8f7!important;background:transparent!important;border:1px solid transparent!important}
.ec-nav-item[data-ec-settings-open]:hover,.ec-nav-item[data-ec-settings-open]:focus{color:#fff!important;background:linear-gradient(90deg,rgba(0,102,255,.34),rgba(0,183,255,.08))!important;border-color:rgba(25,183,255,.55)!important}

/* v1.0.13 — Ajouter une carte en pop-up drag & drop pleine fenêtre */
.ec-add-panel{display:none!important}
.ec-add-modal{
  position:fixed!important;z-index:2147483647!important;left:50%!important;top:50%!important;
  transform:translate(-50%,-50%) scale(.96)!important;width:min(760px,calc(100vw - 28px))!important;
  max-height:90vh!important;overflow:auto!important;padding:28px!important;border-radius:28px!important;
  background:radial-gradient(circle at 18% 0%,rgba(26,183,255,.22),transparent 35%),linear-gradient(180deg,#07182c 0%,#030914 100%)!important;
  border:1px solid rgba(43,181,255,.42)!important;box-shadow:0 34px 120px rgba(0,0,0,.72),0 0 54px rgba(0,174,255,.24)!important;
  color:#fff!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:.18s ease!important;
}
.ec-add-modal.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate(-50%,-50%) scale(1)!important}
.ec-add-close{position:absolute;right:18px;top:16px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff;font-size:26px;cursor:pointer;z-index:2}
.ec-add-modal .ec-quick-form{box-shadow:none!important;border:0!important;background:transparent!important;padding:0!important;margin:0!important}
.ec-add-modal .ec-form-head h2{font-size:34px!important;margin:0 46px 8px 0!important;color:#fff!important;line-height:1!important}
.ec-add-modal .ec-form-head p{color:#a9c7df!important;font-weight:800!important;margin:0 0 18px!important}
.ec-add-modal .ec-dropzone{min-height:330px!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;border-radius:26px!important;border:2px dashed rgba(38,199,255,.55)!important;background:linear-gradient(180deg,rgba(25,183,255,.10),rgba(0,102,255,.045))!important;box-shadow:inset 0 0 50px rgba(25,183,255,.08)!important;cursor:pointer!important;text-align:center!important}
.ec-add-modal .ec-dropzone.is-dragover{border-color:#28e6ff!important;background:rgba(25,183,255,.18)!important;box-shadow:inset 0 0 70px rgba(25,183,255,.18),0 0 34px rgba(25,183,255,.18)!important}
.ec-add-modal .ec-drop-icon{width:70px;height:70px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,var(--ec-blue),var(--ec-blue2));box-shadow:0 18px 44px rgba(0,119,255,.35);font-size:36px;margin-bottom:16px}
.ec-add-modal .ec-dropzone strong{font-size:22px!important;color:#fff!important}.ec-add-modal .ec-dropzone em{color:#83a9c6!important;font-style:normal!important;margin-top:8px!important;font-weight:800!important}
.ec-add-modal label{color:#dff7ff!important;font-weight:900!important}.ec-add-modal input[type=date]{margin-top:8px!important}
.ec-add-modal .ec-btn{width:100%!important;margin-top:12px!important}
@media(max-width:760px){.ec-add-modal{width:calc(100vw - 18px)!important;max-height:92vh!important;border-radius:24px!important;padding:22px!important}.ec-add-modal .ec-dropzone{min-height:52vh!important}.ec-add-modal .ec-form-head h2{font-size:28px!important}.ec-add-modal .ec-dropzone strong{font-size:18px!important}}


/* v1.0.14 — correction pop-ups invisibles */
.ec-add-modal,.ec-settings-modal{display:block!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;isolation:isolate!important;}
.ec-add-modal.is-open,.ec-settings-modal.is-open{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;}
.ec-modal-backdrop{z-index:2147483500!important;}
.ec-add-modal,.ec-settings-modal{z-index:2147483647!important;}
.ec-nav-item[data-ec-settings-open]{color:#d8e8f7!important;background:transparent!important;border:1px solid transparent!important;}
.ec-nav-item[data-ec-settings-open]:hover,.ec-nav-item[data-ec-settings-open]:focus{color:#fff!important;background:linear-gradient(90deg,rgba(0,102,255,.34),rgba(0,183,255,.08))!important;border-color:rgba(25,183,255,.55)!important;}
.ec-card .ec-imgbox:after{content:none!important;display:none!important;}

/* v1.0.15 — correction fermeture popups + menu gauche */
.ec-modal-backdrop:not(.is-open){display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
body:not(.ec-modal-open) .ec-modal-backdrop{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;}
.ec-nav-item[data-ec-add-open],
.ec-nav-item[data-ec-settings-open]{color:#d8e8f7!important;background:transparent!important;border:1px solid transparent!important;}
.ec-nav-item[data-ec-add-open]:hover,
.ec-nav-item[data-ec-add-open]:focus,
.ec-nav-item[data-ec-add-open]:active,
.ec-nav-item[data-ec-settings-open]:hover,
.ec-nav-item[data-ec-settings-open]:focus,
.ec-nav-item[data-ec-settings-open]:active{color:#fff!important;background:linear-gradient(90deg,rgba(0,102,255,.34),rgba(0,183,255,.10))!important;border-color:rgba(25,183,255,.55)!important;}
.ec-nav-item[data-ec-add-open].is-active,
.ec-nav-item[data-ec-settings-open].is-active{background:linear-gradient(90deg,rgba(0,102,255,.52),rgba(0,183,255,.16))!important;color:#fff!important;}

/* v1.0.16 - compte utilisateur cliquable */
.ec-user-wrap{position:relative;margin-top:auto}
.ec-user{width:100%;appearance:none;border:1px solid rgba(255,255,255,.10);cursor:pointer;text-align:left;color:inherit}
.ec-user:hover,.ec-user:focus{background:rgba(25,183,255,.10);border-color:rgba(25,183,255,.38);outline:none;box-shadow:0 0 22px rgba(25,183,255,.12)}
.ec-avatar{overflow:hidden;flex:0 0 46px;color:#fff}
.ec-avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.ec-user-text{min-width:0;display:block;flex:1}
.ec-user-text strong,.ec-user-text span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ec-user-arrow{margin-left:auto;color:#84dfff;font-size:18px;line-height:1;transition:transform .18s ease}
.ec-user[aria-expanded="true"] .ec-user-arrow{transform:rotate(180deg)}
.ec-account-menu{position:absolute;left:0;right:0;bottom:calc(100% + 10px);display:none;padding:10px;border-radius:16px;background:linear-gradient(180deg,#07172a,#030a14);border:1px solid rgba(25,183,255,.35);box-shadow:0 18px 50px rgba(0,0,0,.55),0 0 25px rgba(25,183,255,.12);z-index:20}
.ec-account-menu.is-open{display:grid;gap:7px}
.ec-account-menu a{display:flex;align-items:center;min-height:42px;padding:0 12px;border-radius:12px;color:#e9f7ff!important;font-weight:800;text-decoration:none!important;border:1px solid transparent}
.ec-account-menu a:hover{background:rgba(25,183,255,.11);border-color:rgba(25,183,255,.25);color:#fff!important}
@media (max-width:760px){.ec-account-menu{position:static;margin-top:10px}.ec-user-wrap{margin-top:16px}}

/* v1.0.17 - accès public sans afficher les cartes privées */
.ec-card .ec-imgbox:after{content:none!important;display:none!important}
.ec-login-hero-btn:before{content:none!important}
.ec-public-home{grid-column:1/-1;display:grid;grid-template-columns:1.25fr .95fr;gap:20px;width:100%}
.ec-public-card{border:1px solid rgba(25,183,255,.28);background:linear-gradient(180deg,rgba(7,22,42,.94),rgba(3,10,21,.96));border-radius:24px;padding:26px;box-shadow:0 18px 48px rgba(0,0,0,.32),inset 0 0 45px rgba(25,183,255,.055);color:#eaf8ff}
.ec-public-intro{min-height:260px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 90% 10%,rgba(25,183,255,.20),transparent 34%),linear-gradient(180deg,rgba(7,22,42,.96),rgba(3,10,21,.96))}
.ec-public-kicker{display:inline-flex;width:max-content;border:1px solid rgba(25,183,255,.38);border-radius:999px;padding:7px 12px;color:#8ae7ff;background:rgba(25,183,255,.08);font-weight:850;font-size:13px;margin-bottom:16px}
.ec-public-card h3{margin:0 0 12px;color:#fff;font-size:clamp(26px,3vw,42px);line-height:1;font-weight:950;letter-spacing:-.04em}
.ec-public-card p{margin:0;color:#a9c4d8;font-size:17px;line-height:1.55;max-width:720px}
.ec-public-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.ec-public-login h3{font-size:26px}.ec-public-login .piiwii-passkey-login-wrap{margin:10px 0}.ec-public-login .button,.ec-public-login button,.ec-public-login a.piiwii-google-button{width:100%;min-height:50px;border-radius:16px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;text-decoration:none!important}.ec-classic-login{display:block;margin-top:12px;color:#8ae7ff;font-weight:800;text-align:center}.ec-public-preview{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(90deg,rgba(0,102,255,.16),rgba(16,240,255,.06))}.ec-public-preview span{color:#8ae7ff;font-weight:900}.ec-public-preview strong{color:#fff;font-size:18px}.ec-public-preview em{color:#9eb5c9;font-style:normal}
.ec-login-link{cursor:pointer;text-decoration:none!important;width:100%;color:inherit!important}.ec-guest-wrap .ec-avatar{background:linear-gradient(135deg,#19b7ff,#0066ff);color:#fff}
@media (max-width:760px){.ec-public-home{grid-template-columns:1fr}.ec-public-card{padding:22px}.ec-public-preview{display:block}.ec-public-preview strong,.ec-public-preview em{display:block;margin-top:8px}.ec-login-hero-btn{display:none!important}}

/* v1.0.18 public profile / sharing */
.ec-settings-block{margin:16px 0;padding:16px;border:1px solid rgba(87,204,255,.22);border-radius:18px;background:rgba(4,19,40,.72)}
.ec-settings-block h3{margin:0 0 10px;color:#e9fbff;font-size:16px;letter-spacing:.02em}
.ec-profile-share-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:8px 0 12px}
.ec-switch-line{display:flex!important;align-items:center;gap:10px;color:#dff8ff!important;font-weight:700!important;margin:0!important}
.ec-switch-line input{width:18px;height:18px;accent-color:#37d9ff}
.ec-share-line{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}
.ec-share-line input{flex:1;min-width:220px;background:#061a33!important;border:1px solid rgba(87,204,255,.35)!important;color:#dff8ff!important;border-radius:12px!important;padding:11px 12px!important}
.ec-public-profile-shell{min-height:100vh;padding:28px;max-width:1320px;margin:0 auto;width:100%}
.ec-public-profile-head{display:flex;align-items:center;gap:20px;justify-content:space-between;margin-bottom:26px;padding:20px;border:1px solid rgba(87,204,255,.18);border-radius:24px;background:linear-gradient(135deg,rgba(8,28,57,.88),rgba(2,10,25,.82));box-shadow:0 20px 55px rgba(0,0,0,.32)}
.ec-public-profile-head h1{margin:0;color:#f2fdff;font-size:clamp(24px,4vw,44px);line-height:1.05}
.ec-public-profile-head p{margin:6px 0 0;color:#86dfff}
.ec-public-gallery .ec-card-actions,.ec-public-gallery .ec-edit-form{display:none!important}
@media(max-width:760px){.ec-public-profile-shell{padding:12px}.ec-public-profile-head{align-items:flex-start;flex-direction:column;border-radius:20px}.ec-share-line input{min-width:100%}.ec-profile-share-form .ec-btn{width:100%}}

/* v1.0.19 - partage placé dans le menu Profil */
.ec-account-share{margin:6px 0;padding:12px;border-radius:14px;background:rgba(25,183,255,.08);border:1px solid rgba(25,183,255,.22);color:#e9f7ff}
.ec-account-share strong{display:block;margin-bottom:8px;font-size:13px;letter-spacing:.02em;color:#fff}
.ec-account-share .ec-profile-share-form{display:grid;gap:8px;margin:0 0 10px!important;padding:0!important;background:transparent!important;border:0!important}
.ec-account-share .ec-switch-line{display:flex!important;align-items:center;gap:8px;margin:0!important;color:#cfeeff!important;font-weight:800;font-size:13px;line-height:1.2}
.ec-account-share input[type="checkbox"]{width:auto!important;min-width:16px;height:16px;accent-color:#19b7ff}
.ec-mini-btn{height:34px;border:0;border-radius:10px;background:linear-gradient(135deg,#19b7ff,#356bff);color:#fff!important;font-weight:900;cursor:pointer;box-shadow:0 8px 22px rgba(25,183,255,.2)}
.ec-share-mini{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center}
.ec-share-mini input{min-width:0;width:100%;height:34px;border-radius:10px;border:1px solid rgba(25,183,255,.25);background:#030b16;color:#bfefff;padding:0 8px;font-size:11px;font-weight:700}
.ec-share-mini button{height:34px;border:1px solid rgba(25,183,255,.35);border-radius:10px;background:rgba(25,183,255,.12);color:#e9f7ff;font-weight:900;cursor:pointer;padding:0 10px}
.ec-share-mini button:hover{background:rgba(25,183,255,.22);color:#fff}
@media(max-width:760px){.ec-share-mini{grid-template-columns:1fr}.ec-account-share{padding:10px}.ec-mini-btn,.ec-share-mini button{width:100%}}

/* v1.0.21 - ajout multiple */
.ec-multi-toggle{display:flex!important;align-items:center!important;gap:12px!important;border:1px solid rgba(25,183,255,.22)!important;background:rgba(25,183,255,.07)!important;border-radius:18px!important;padding:13px 16px!important;color:#e6f8ff!important;cursor:pointer!important}
.ec-multi-toggle input{width:20px!important;height:20px!important;min-height:auto!important;accent-color:#19b7ff!important;box-shadow:none!important;padding:0!important}
.ec-multi-toggle span{font-weight:900!important}
.ec-dropzone input[data-ec-multi-file],.ec-dropzone input[data-ec-single-file]{display:none!important}
.ec-multi-list{display:grid;gap:12px;max-height:260px;overflow:auto;padding-right:4px}
.ec-multi-row{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;align-items:center;border:1px solid rgba(25,183,255,.22);background:rgba(255,255,255,.045);border-radius:18px;padding:10px}
.ec-multi-thumb{width:70px;height:70px;border-radius:14px;overflow:hidden;background:#020914;border:1px solid rgba(255,255,255,.1)}
.ec-multi-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ec-multi-date{display:grid!important;gap:7px!important;color:#dff7ff!important;font-weight:900!important;min-width:0!important}
.ec-multi-date strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:#9cc9e6}
.ec-multi-date input{min-height:46px!important;border-radius:14px!important}
@media(max-width:760px){.ec-multi-list{max-height:32vh}.ec-multi-row{grid-template-columns:58px minmax(0,1fr)}.ec-multi-thumb{width:58px;height:58px}}

/* v1.0.22 - progression import multiple */
.ec-progress-modal{position:fixed!important;z-index:2147483647!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(620px,94vw)!important;max-height:86vh!important;overflow:auto!important;border:1px solid rgba(25,183,255,.52)!important;background:linear-gradient(180deg,#071a30,#04101f)!important;border-radius:26px!important;padding:26px!important;color:#fff!important;box-shadow:0 38px 100px rgba(0,0,0,.76),0 0 44px rgba(25,183,255,.18)!important;display:none!important}
.ec-progress-modal.is-open{display:block!important}
.ec-progress-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.ec-progress-head h2{margin:0;color:#fff;font-size:28px;line-height:1.05}.ec-progress-head p{margin:7px 0 0;color:#9cc9e6;font-weight:700}.ec-progress-percent{font-size:30px;font-weight:950;color:#62d9ff;text-shadow:0 0 18px rgba(25,183,255,.38)}
.ec-progress-track{height:16px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(25,183,255,.22);overflow:hidden;margin:14px 0}.ec-progress-bar{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#1677ff,#19b7ff,#65f7ff);box-shadow:0 0 18px rgba(25,183,255,.5);transition:width .18s ease}
.ec-progress-current{display:grid;gap:5px;margin:14px 0 16px;color:#dff8ff}.ec-progress-current strong{color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-progress-list{display:grid;gap:8px;margin-top:12px;max-height:260px;overflow:auto;padding-right:4px}.ec-progress-file{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045);border-radius:14px;padding:10px;color:#c9e8f7}.ec-progress-file span:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-progress-file em{font-style:normal;color:#8fb8d2;font-size:12px;font-weight:800}.ec-progress-file.is-active{border-color:rgba(25,183,255,.55);background:rgba(25,183,255,.09)}.ec-progress-file.is-done{border-color:rgba(38,231,199,.28)}.ec-progress-file.is-error{border-color:rgba(255,90,120,.42);background:rgba(255,90,120,.08)}
.ec-progress-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.ec-progress-actions button{min-height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);color:#fff;padding:0 18px;font-weight:900;cursor:pointer}.ec-progress-actions .ec-progress-close{display:none}.ec-progress-modal.is-finished .ec-progress-close{display:inline-flex;align-items:center}.ec-progress-modal.is-running .ec-progress-cancel{display:none}


/* v1.0.23 - année paquet + dates rapides */
.ec-batch-year{display:grid!important;gap:8px!important;border:1px solid rgba(25,183,255,.20)!important;background:rgba(255,255,255,.045)!important;border-radius:18px!important;padding:13px 16px!important;color:#e6f8ff!important;font-weight:900!important}
.ec-batch-year input{max-width:170px!important;min-height:46px!important;border-radius:14px!important}
.ec-batch-year small{color:#9cc9e6!important;font-weight:700!important}
.ec-multi-date input[data-ec-day-month]{min-height:46px!important;border-radius:14px!important;letter-spacing:.06em!important;font-weight:900!important}
.ec-multi-date input.is-invalid{border-color:#ff5a78!important;box-shadow:0 0 0 3px rgba(255,90,120,.16)!important}

/* v1.0.24 — import multiple fiable + doublons */
.ec-progress-modal.is-open{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;position:fixed!important;z-index:2147483647!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important}
.ec-duplicate-warning{margin-top:10px;border:1px solid rgba(255,190,70,.45);background:rgba(255,190,70,.10);border-radius:14px;padding:10px;gap:6px;color:#ffe2a3}
.ec-duplicate-warning strong{font-size:13px;color:#ffd27a!important}
.ec-duplicate-warning span{font-size:12px;color:#f5dba8}
.ec-duplicate-warning select{width:100%;min-height:42px;border-radius:12px;background:#06111f;color:#fff;border:1px solid rgba(255,190,70,.35);padding:0 12px;margin-top:5px}
.ec-multi-date input.is-invalid{border-color:#ff5d7a!important;box-shadow:0 0 0 4px rgba(255,93,122,.16)!important}
.ec-batch-year{border:1px solid rgba(25,183,255,.25);background:rgba(25,183,255,.06);border-radius:18px;padding:14px}
.ec-batch-year small{color:#9cc9e6;font-weight:700;margin-top:4px}


/* v1.0.25 — correction mode paquet, dates JJ.MM et barre de progression */
.ec-is-hidden{display:none!important;visibility:hidden!important;pointer-events:none!important;}
.ec-form:not(.ec-is-multi) [data-ec-batch-year-wrap],
.ec-form:not(.ec-is-multi) .ec-multi-list{display:none!important;}
.ec-form.ec-is-multi [data-ec-batch-year-wrap]{display:grid!important;}
.ec-multi-toggle{position:relative!important;user-select:none!important;background:rgba(25,183,255,.09)!important;border-color:rgba(25,183,255,.34)!important;}
.ec-multi-toggle input[type="checkbox"]{appearance:none!important;-webkit-appearance:none!important;width:24px!important;height:24px!important;min-width:24px!important;border-radius:8px!important;border:2px solid rgba(117,224,255,.85)!important;background:#030b16!important;display:inline-grid!important;place-items:center!important;box-shadow:0 0 0 3px rgba(25,183,255,.08)!important;cursor:pointer!important;opacity:1!important;position:static!important;margin:0!important;}
.ec-multi-toggle input[type="checkbox"]:checked{background:linear-gradient(135deg,#1677ff,#19b7ff)!important;border-color:#6ef0ff!important;}
.ec-multi-toggle input[type="checkbox"]:checked::after{content:'✓';color:#fff;font-weight:950;font-size:16px;line-height:1;}
.ec-multi-toggle span{color:#f1fbff!important;}
.ec-batch-year input[type="number"]{display:block!important;color:#fff!important;background:#06111f!important;-webkit-text-fill-color:#fff!important;border:1px solid rgba(25,183,255,.35)!important;}
.ec-multi-date input[data-ec-day-month]{display:block!important;color:#fff!important;background:#06111f!important;-webkit-text-fill-color:#fff!important;border:1px solid rgba(25,183,255,.32)!important;}
.ec-progress-modal{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;}
.ec-progress-modal.is-open{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;}

/* v1.0.26 — doublons lisibles + verso dans la même carte */
.ec-duplicate-previews{display:grid;gap:8px;margin-top:8px}
.ec-duplicate-preview{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;align-items:center;background:rgba(255,255,255,.055);border:1px solid rgba(255,190,70,.22);border-radius:12px;padding:7px;color:#fff}
.ec-duplicate-preview img,.ec-no-preview{width:54px;height:42px;border-radius:8px;object-fit:cover;background:#03101f;display:grid;place-items:center;color:#ffd27a;font-weight:900}
.ec-duplicate-preview b{display:block;font-size:12px;line-height:1.15;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ec-duplicate-preview small{display:block;font-size:11px;color:#ffdca0;margin-top:3px}
.ec-double-badge{position:absolute;right:10px;bottom:10px;border:1px solid rgba(25,183,255,.45);background:rgba(2,10,20,.75);backdrop-filter:blur(9px);color:#dff8ff;font-size:11px;font-weight:900;border-radius:999px;padding:6px 9px;box-shadow:0 0 18px rgba(25,183,255,.16)}
.ec-flip-btn{margin-top:18px;appearance:none;border:1px solid rgba(25,183,255,.45);background:linear-gradient(135deg,rgba(0,102,255,.30),rgba(25,183,255,.14));color:#fff;min-height:44px;border-radius:999px;padding:0 18px;font-weight:900;cursor:pointer;box-shadow:0 0 24px rgba(25,183,255,.12)}

/* v1.0.29 - dates sur plusieurs jours + calendrier */
.ec-date-range{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end}
.ec-date-range.ec-is-hidden{display:none!important}
.ec-multi-date input[name="ec_dates_end[]"]{margin-top:8px;opacity:.9}
.ec-multi-date input[name="ec_dates_end[]"]:before{content:'Fin'}
.ec-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:34px 0 16px}
.ec-section-head h2{margin:0;font-size:clamp(1.35rem,2.4vw,2.2rem);color:#eaf7ff;text-shadow:0 0 22px rgba(18,150,255,.35)}
.ec-section-head p{margin:6px 0 0;color:#88a9c9}
.ec-calendar-panel{margin-top:34px;padding:22px;border:1px solid rgba(58,159,255,.22);border-radius:28px;background:linear-gradient(180deg,rgba(9,27,54,.88),rgba(5,13,28,.92));box-shadow:0 24px 80px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.05)}
.ec-calendar-year-select select{min-width:130px;background:#061426;color:#dff4ff;border:1px solid rgba(91,180,255,.35);border-radius:14px;padding:11px 14px}
.ec-calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ec-month{border:1px solid rgba(72,160,255,.16);border-radius:20px;background:rgba(4,17,37,.62);padding:14px;min-width:0}
.ec-month h3{margin:0 0 10px;color:#dff6ff;font-size:1rem;letter-spacing:.03em}
.ec-weekdays,.ec-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.ec-weekdays span{font-size:.68rem;color:#5f82a5;text-align:center;font-weight:800}
.ec-day{position:relative;aspect-ratio:1/1;border:1px solid rgba(255,255,255,.055);border-radius:10px;background:rgba(255,255,255,.03);color:#7e9dbb;font-size:.72rem;overflow:hidden;padding:0;cursor:default;display:flex;align-items:flex-start;justify-content:flex-start}
.ec-day>span{position:relative;z-index:2;padding:4px;font-weight:800;text-shadow:0 1px 3px #000}
.ec-day-empty{background:transparent;border-color:transparent}
.ec-day.has-event{cursor:pointer;border-color:rgba(20,183,255,.55);background:radial-gradient(circle at 50% 50%,rgba(8,168,255,.22),rgba(2,10,22,.85));box-shadow:0 0 18px rgba(17,161,255,.18)}
.ec-day.has-event:hover{transform:translateY(-1px);box-shadow:0 0 25px rgba(17,161,255,.36)}
.ec-day img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.64;filter:saturate(1.1)}
.ec-day em{position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:99px;background:#20d6ff;box-shadow:0 0 15px #20d6ff;transform:translate(-50%,-50%)}
.ec-day b{position:absolute;right:3px;bottom:3px;z-index:3;font-size:.6rem;background:#00aaff;color:white;border-radius:999px;padding:1px 4px;box-shadow:0 0 10px rgba(0,170,255,.7)}
@media (max-width: 980px){.ec-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ec-date-range{grid-template-columns:1fr}}
@media (max-width: 620px){.ec-calendar-panel{padding:14px;border-radius:22px}.ec-calendar-grid{grid-template-columns:1fr}.ec-section-head{align-items:flex-start;flex-direction:column}.ec-month{padding:12px}.ec-day{border-radius:9px}}

/* v1.0.30 — écrans séparés */
.ec-app-view{display:none!important;}
.ec-app-view.is-active{display:block!important;}
.ec-calendar-panel{margin-top:0!important;}
.ec-nav-ico{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.ec-inline-timeline,.ec-timeline{display:none!important;}


/* v1.0.31 — calendrier réparé + filtres automatiques */
.ec-filters[data-ec-auto-filter]{
  grid-template-columns:minmax(170px,1fr) minmax(220px,1.1fr)!important;
  align-items:center!important;
}
.ec-filters[data-ec-auto-filter]::after{display:none!important;content:none!important;}
.ec-filters[data-ec-auto-filter] .ec-btn,
.ec-filters[data-ec-auto-filter] .ec-reset{display:none!important;}
.ec-filters[data-ec-auto-filter] select{
  color:#f4fbff!important;
  -webkit-text-fill-color:#f4fbff!important;
  background-color:#061426!important;
}
.ec-filters[data-ec-auto-filter] select option,
.ec-calendar-year-select select option{
  background:#061426!important;
  color:#f4fbff!important;
}
.ec-app-view{display:none!important;min-width:0!important;}
.ec-app-view.is-active{display:block!important;}
.ec-app-view[data-ec-view="calendar"]{width:100%!important;}
.ec-app-view[data-ec-view="calendar"].is-active{display:block!important;}
.ec-app-view[data-ec-view="calendar"] .ec-calendar-panel{
  margin-top:0!important;
  width:100%!important;
  min-height:calc(100vh - 100px);
  padding:22px!important;
  border:1px solid rgba(58,159,255,.22)!important;
  border-radius:28px!important;
  background:linear-gradient(180deg,rgba(9,27,54,.88),rgba(5,13,28,.92))!important;
  box-shadow:0 24px 80px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.ec-calendar-year-select select{
  appearance:none!important;
  -webkit-appearance:none!important;
  min-width:150px!important;
  min-height:46px!important;
  background:#061426!important;
  color:#dff4ff!important;
  -webkit-text-fill-color:#dff4ff!important;
  border:1px solid rgba(91,180,255,.42)!important;
  border-radius:14px!important;
  padding:11px 42px 11px 14px!important;
  background-image:linear-gradient(45deg,transparent 50%,#b8eaff 50%),linear-gradient(135deg,#b8eaff 50%,transparent 50%),linear-gradient(180deg,#07182a,#04101e)!important;
  background-position:calc(100% - 22px) 20px,calc(100% - 14px) 20px,0 0!important;
  background-size:8px 8px,8px 8px,100% 100%!important;
  background-repeat:no-repeat!important;
}
.ec-calendar-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;}
.ec-month{min-width:0!important;}
.ec-month h3{color:#dff6ff!important;}
.ec-day{font-family:inherit!important;}
.ec-day.has-event{cursor:pointer!important;}
@media(max-width:980px){.ec-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:620px){
  .ec-calendar-grid{grid-template-columns:1fr!important;}
  .ec-app-view[data-ec-view="calendar"] .ec-calendar-panel{padding:14px!important;border-radius:22px!important;}
  .ec-section-head{align-items:flex-start!important;flex-direction:column!important;}
  .ec-filters[data-ec-auto-filter]{grid-template-columns:1fr!important;}
}

/* v1.0.32 — calendrier remis en grille compacte + boutons menu propres */
.ec-nav-list button.ec-nav-item,
.ec-nav-list .ec-nav-item{
  appearance:none!important;
  -webkit-appearance:none!important;
  background:transparent!important;
  color:#d8e8f7!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
}
.ec-nav-list button.ec-nav-item:hover,
.ec-nav-list button.ec-nav-item:focus{
  background:linear-gradient(90deg,rgba(0,102,255,.34),rgba(0,183,255,.08))!important;
  border-color:rgba(25,183,255,.55)!important;
  color:#fff!important;
  outline:none!important;
}
.ec-nav-list button.ec-nav-item.is-active,
.ec-nav-list .ec-nav-item.is-active{
  background:linear-gradient(90deg,rgba(0,102,255,.52),rgba(0,183,255,.16))!important;
  border-color:rgba(25,183,255,.62)!important;
  color:#fff!important;
  box-shadow:0 0 24px rgba(0,102,255,.25)!important;
}
.ec-calendar-panel{overflow:hidden!important;}
.ec-calendar-grid{
  align-items:start!important;
  grid-auto-rows:auto!important;
}
.ec-month{
  align-self:start!important;
  min-height:auto!important;
  height:auto!important;
}
.ec-days{align-items:start!important;}
.ec-day{min-height:0!important;}
.ec-calendar-panel .ec-section-head{margin:0 0 16px!important;}
.ec-app-view[data-ec-view="calendar"] .ec-calendar-panel{min-height:0!important;}
.ec-calendar-year-select select:focus{outline:none!important;box-shadow:0 0 0 3px rgba(25,183,255,.18)!important;}

/* v1.0.33 — pagination galerie + choix du nombre d'éléments */
.ec-filters[data-ec-auto-filter]{
  grid-template-columns:minmax(170px,1fr) minmax(220px,1.1fr) auto!important;
}
.ec-per-page{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  color:#dff4ff!important;
  font-weight:800!important;
  white-space:nowrap!important;
  margin:0!important;
}
.ec-per-page span{color:#aac4dc!important;font-size:14px!important;line-height:1!important;display:inline!important;}
.ec-per-page select{
  width:auto!important;
  min-width:96px!important;
  height:54px!important;
  min-height:54px!important;
  padding-left:16px!important;
  padding-right:44px!important;
}
.ec-pagination{
  margin-top:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  padding:18px;
  border:1px solid rgba(48,132,196,.34);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(5,16,31,.78),rgba(3,12,25,.88));
  box-shadow:inset 0 0 34px rgba(0,102,255,.06);
}
.ec-page-numbers{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;}
.ec-page-link,.ec-page-num,.ec-page-dots{
  min-width:44px;
  min-height:42px;
  padding:0 14px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(82,159,223,.32);
  background:rgba(255,255,255,.045);
  color:#dff4ff!important;
  font-weight:850;
}
.ec-page-num.is-active{
  background:linear-gradient(135deg,var(--ec-blue),var(--ec-blue2));
  color:#fff!important;
  border-color:rgba(25,183,255,.75);
  box-shadow:0 0 22px rgba(25,183,255,.22);
}
.ec-page-link.is-disabled{
  opacity:.35;
  pointer-events:none;
}
.ec-page-dots{border-color:transparent;background:transparent;min-width:22px;padding:0;color:#7ea4c3!important;}
@media(max-width:900px){
  .ec-filters[data-ec-auto-filter]{grid-template-columns:1fr!important;}
  .ec-per-page{justify-content:space-between!important;width:100%!important;}
  .ec-per-page select{flex:1!important;}
  .ec-pagination{gap:10px;padding:14px;margin-top:16px;}
  .ec-page-link{width:100%;}
}


/* v1.0.36 - miniatures homogènes + vraie icône calendrier uniquement */
.ec-date:before{content:none!important;display:none!important;}
.ec-card .ec-imgbox:after{display:none!important;content:none!important;}
.ec-imgbox,
.ec-horizontal .ec-imgbox{
  aspect-ratio:3/4!important;
  width:100%!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:linear-gradient(180deg,#030b16,#061321)!important;
}
.ec-imgbox img{
  width:100%!important;
  height:100%!important;
  object-fit:fill!important;
  object-position:center center!important;
}
.ec-double-badge{
  position:absolute!important;
  right:10px!important;
  bottom:10px!important;
  top:auto!important;
  left:auto!important;
  z-index:4!important;
  min-width:34px!important;
  height:28px!important;
  padding:0 9px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  font-size:13px!important;
  font-weight:900!important;
  color:#e8fbff!important;
  background:rgba(3,14,29,.78)!important;
  border:1px solid rgba(95,212,255,.48)!important;
  box-shadow:0 0 18px rgba(25,183,255,.22)!important;
  backdrop-filter:blur(10px)!important;
}

/* v1.0.37 - événements à venir */
.ec-upcoming-panel .ec-form{
  margin-bottom:22px!important;
}
.ec-upcoming-add{
  padding:18px!important;
  border-radius:26px!important;
  border:1px solid rgba(82,159,223,.24)!important;
  background:rgba(255,255,255,.035)!important;
  box-shadow:inset 0 0 30px rgba(0,102,255,.05)!important;
}
.ec-upcoming-title{
  margin:24px 0 14px!important;
  color:#e8fbff!important;
  font-size:20px!important;
  font-weight:950!important;
}
.ec-pending-badge{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  padding:5px 10px!important;
  margin-bottom:8px!important;
  border-radius:999px!important;
  color:#081525!important;
  background:linear-gradient(135deg,#b8ecff,#78d8ff)!important;
  font-size:12px!important;
  font-weight:950!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
}
.ec-validate-btn{
  background:linear-gradient(135deg,#46e6a7,#19b7ff)!important;
  border-color:rgba(108,244,194,.65)!important;
}
.ec-upcoming-gallery .ec-card{
  outline:1px solid rgba(120,216,255,.22)!important;
}

/* v1.0.39 - À venir : choix par date avant modification */
.ec-upcoming-day-modal{
  position:fixed!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%) scale(.96)!important;
  width:min(980px,calc(100vw - 24px))!important;
  max-height:88vh!important;
  overflow:auto!important;
  padding:26px!important;
  border-radius:28px!important;
  background:linear-gradient(180deg,#07172a,#030a14)!important;
  border:1px solid rgba(25,183,255,.42)!important;
  box-shadow:0 32px 90px rgba(0,0,0,.70),0 0 38px rgba(25,183,255,.16)!important;
  z-index:2147483647!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.ec-upcoming-day-modal.is-open{visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:translate(-50%,-50%) scale(1)!important;}
.ec-upcoming-close{position:absolute!important;right:16px!important;top:14px!important;width:42px!important;height:42px!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.16)!important;background:rgba(255,255,255,.08)!important;color:#fff!important;font-size:26px!important;cursor:pointer!important;}
.ec-upcoming-day-modal h2{margin:0 48px 6px 0!important;color:#fff!important;font-size:30px!important;line-height:1.05!important;}
.ec-upcoming-day-modal p{margin:0 0 18px!important;color:#a9c7df!important;font-weight:800!important;}
.ec-upcoming-day-list{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:18px!important;}
.ec-upcoming-choice{display:flex!important;flex-direction:column!important;overflow:hidden!important;border-radius:22px!important;background:rgba(255,255,255,.045)!important;border:1px solid rgba(82,159,223,.28)!important;box-shadow:inset 0 0 28px rgba(0,102,255,.045)!important;}
.ec-upcoming-choice-img{aspect-ratio:3/4!important;width:100%!important;background:#041020!important;}
.ec-upcoming-choice-img img{width:100%!important;height:100%!important;object-fit:fill!important;display:block!important;}
.ec-upcoming-choice-body{padding:14px!important;display:grid!important;gap:8px!important;}
.ec-upcoming-choice-body strong{color:#fff!important;font-weight:950!important;font-size:16px!important;line-height:1.15!important;}
.ec-upcoming-choice-body span{color:#8fe8ff!important;font-weight:900!important;font-size:13px!important;}
.ec-upcoming-choice-actions{display:grid!important;gap:8px!important;margin-top:4px!important;}
.ec-upcoming-choice-actions form{margin:0!important;}
.ec-upcoming-choice-actions .ec-btn,.ec-upcoming-choice-actions .ec-danger{width:100%!important;min-height:42px!important;justify-content:center!important;}
@media(max-width:760px){.ec-upcoming-day-modal{padding:20px!important;border-radius:22px!important;max-height:90vh!important}.ec-upcoming-day-list{grid-template-columns:1fr!important}.ec-upcoming-day-modal h2{font-size:24px!important}}

/* v1.0.40 — À venir = même logique que le calendrier normal */
.ec-upcoming-head{align-items:center!important;margin-top:0!important}
.ec-upcoming-add-btn{min-height:48px!important;border-radius:999px!important;padding:0 22px!important}
.ec-upcoming-add{display:none!important;margin:0 0 18px!important}
.ec-upcoming-add.is-open{display:block!important}
.ec-upcoming-viewer.ec-upcoming-day-modal{width:auto!important;max-width:none!important;max-height:none!important;padding:26px!important;background:rgba(0,0,0,.86)!important;border:0!important;border-radius:0!important;box-shadow:none!important;inset:0!important;left:0!important;top:0!important;transform:none!important;display:none!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;position:fixed!important}
.ec-upcoming-viewer.ec-upcoming-day-modal.is-open{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:none!important}
.ec-upcoming-viewer-card{width:min(1180px,94vw)!important;max-height:90vh!important;display:grid!important;grid-template-columns:minmax(0,1fr) 380px!important}
.ec-upcoming-viewer .ec-viewer-image-wrap{display:grid!important;place-items:center!important;background:#020812!important;min-height:70vh!important;padding:20px!important}
.ec-upcoming-viewer [data-ec-upcoming-img]{max-width:100%!important;max-height:82vh!important;object-fit:contain!important;border-radius:16px!important}
.ec-upcoming-count{margin:16px 0;color:#8fe8ff;font-weight:900}
.ec-upcoming-viewer .ec-upcoming-choice-actions{display:grid!important;gap:10px!important;margin-top:16px!important}
.ec-upcoming-viewer .ec-upcoming-choice-actions form{margin:0!important}
.ec-upcoming-viewer .ec-upcoming-choice-actions .ec-btn,.ec-upcoming-viewer .ec-upcoming-choice-actions .ec-danger{width:100%!important;min-height:46px!important;justify-content:center!important}
.ec-upcoming-viewer .ec-danger{appearance:none;border:0;cursor:pointer;border-radius:18px;font-weight:850;font-size:16px;padding:0 20px;color:#fff;background:linear-gradient(135deg,#f43f5e,#991b1b);box-shadow:0 10px 28px rgba(244,63,94,.25)}
.ec-upcoming-viewer .ec-upcoming-close{z-index:3!important}
.ec-upcoming-viewer .ec-nav{z-index:2!important}
@media(max-width:900px){.ec-upcoming-head{align-items:flex-start!important}.ec-upcoming-viewer.ec-upcoming-day-modal{padding:8px!important}.ec-upcoming-viewer-card{grid-template-columns:1fr!important;width:100%!important;max-height:94vh!important;border-radius:20px!important}.ec-upcoming-viewer .ec-viewer-image-wrap{min-height:auto!important;max-height:58vh!important;padding:10px!important}.ec-upcoming-viewer [data-ec-upcoming-img]{max-height:56vh!important}.ec-upcoming-viewer .ec-viewer-info{padding:18px!important}.ec-upcoming-viewer .ec-viewer-info h2{font-size:26px!important}.ec-upcoming-viewer .ec-upcoming-choice-actions{grid-template-columns:1fr!important}.ec-upcoming-add-btn{width:100%!important}}


/* v1.0.43 — À venir public + ajout complet en vraie pop-up */
body.ec-fullscreen-mode>*:not(.ec-wrap):not(.ec-modal-backdrop):not(.ec-edit-form):not(.ec-settings-modal):not(.ec-add-modal):not(.ec-upcoming-day-modal):not(.ec-upcoming-add-modal):not(.ec-one-access-modal):not(.one-access-modal):not(.one-access-overlay):not(#one-access-modal):not(#one-access-root){display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.ec-upcoming-add-modal{width:min(820px,calc(100vw - 28px))!important;max-height:92vh!important;overflow:auto!important}
.ec-upcoming-add-modal .ec-pending-form{gap:14px!important}
.ec-upcoming-add-modal .ec-dropzone{min-height:150px!important;padding:22px!important}
.ec-upcoming-add-modal .ec-drop-icon{width:52px!important;height:52px!important;border-radius:18px!important;font-size:30px!important;margin-bottom:10px!important}
.ec-upcoming-add-modal .ec-dropzone strong{font-size:18px!important}
.ec-upcoming-add-modal textarea{min-height:110px!important;padding-top:14px!important;resize:vertical!important}
.ec-upcoming-add-modal small,.ec-edit-form small{color:#8db5ce!important;font-weight:800!important}
.ec-upcoming-no-image{display:none;width:100%;min-height:280px;border:1px dashed rgba(143,232,255,.35);border-radius:18px;place-items:center;color:#8fe8ff;font-weight:950;background:rgba(25,183,255,.055)}
.ec-upcoming-details{display:none;flex-wrap:wrap;gap:8px;margin:10px 0 12px;color:#dff8ff;font-weight:900;background:rgba(25,183,255,.07);border:1px solid rgba(25,183,255,.18);border-radius:16px;padding:10px 12px;line-height:1.45}
.ec-upcoming-details span,.ec-upcoming-address-link,.ec-upcoming-contact-copy{display:inline-flex;align-items:center;min-height:28px}
.ec-upcoming-address-link,.ec-upcoming-contact-copy{color:#ffffff;text-decoration:none;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.20);border-radius:999px;padding:3px 9px}
.ec-upcoming-address-link:hover,.ec-upcoming-contact-copy:hover{text-decoration:underline;background:rgba(255,255,255,.16)}
.ec-upcoming-contact-copy{appearance:none;cursor:pointer;font:inherit;font-weight:900}
@media(max-width:760px){.ec-upcoming-add-modal .ec-dropzone{min-height:130px!important}.ec-upcoming-add-modal .ec-dropzone strong{font-size:16px!important}.ec-upcoming-no-image{min-height:160px}.ec-upcoming-details{font-size:13px}.ec-upcoming-head{display:grid!important;grid-template-columns:1fr!important}}


/* v1.0.44 — formulaire À venir simplifié + connexion One Access */
.ec-simple-required{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
.ec-options-drawer{border:1px solid rgba(143,232,255,.18)!important;background:rgba(255,255,255,.045)!important;border-radius:18px!important;overflow:hidden!important;margin:2px 0 0!important}
.ec-options-drawer summary{list-style:none!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:15px 16px!important;color:#e9fbff!important;font-weight:950!important;user-select:none!important}
.ec-options-drawer summary::-webkit-details-marker{display:none!important}
.ec-options-drawer summary span{display:flex!important;align-items:center!important;gap:10px!important}
.ec-options-drawer summary span:before{content:'＋';display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:rgba(25,183,255,.18);color:#8fe8ff;font-weight:950}
.ec-options-drawer[open] summary span:before{content:'−'}
.ec-options-drawer summary small{font-size:12px!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:#8db5ce!important;background:rgba(143,232,255,.09)!important;border:1px solid rgba(143,232,255,.18)!important;border-radius:999px!important;padding:5px 9px!important}
.ec-options-drawer-body{display:grid!important;gap:14px!important;padding:0 16px 16px!important}
.ec-one-access-trigger{cursor:pointer!important;border:0!important;text-decoration:none!important}
.ec-nav-item.ec-one-access-trigger{width:100%!important;text-align:left!important;background:transparent!important}
.ec-one-access-user{width:100%!important;border:0!important;background:transparent!important;text-align:left!important;cursor:pointer!important}
.ec-one-access-modal{display:none;position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) scale(.98);width:min(520px,calc(100vw - 28px));max-height:90vh;overflow:auto;background:#07111f;color:#fff;border:1px solid rgba(143,232,255,.24);border-radius:26px;box-shadow:0 28px 90px rgba(0,0,0,.55);padding:24px;z-index:2147483647}
.ec-one-access-modal.is-open{display:block;visibility:visible;opacity:1;pointer-events:auto}
.ec-one-access-card{display:grid;gap:14px}
.ec-one-access-card form{margin:0!important}
.ec-one-access-card input:not([type="checkbox"]):not([type="radio"]),.ec-one-access-card select{width:100%;min-height:48px;border-radius:14px;border:1px solid rgba(143,232,255,.18);background:rgba(255,255,255,.08);color:#fff;padding:0 14px}
.ec-one-access-card button,.ec-one-access-card input[type="submit"]{min-height:46px;border-radius:999px;border:0;cursor:pointer;font-weight:900}
.ec-one-access-fallback{padding:16px;border:1px dashed rgba(143,232,255,.3);border-radius:18px;background:rgba(25,183,255,.07);color:#dff8ff}
.ec-one-access-fallback p{margin:.45rem 0 0;color:#9fc7d9;font-weight:750;line-height:1.45}
@media(max-width:760px){.ec-options-drawer summary{padding:14px!important}.ec-options-drawer-body{padding:0 12px 14px!important}.ec-one-access-modal{padding:20px;border-radius:22px}}

body.ec-fullscreen-mode>.ec-one-access-modal.is-open{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}

/* v1.0.45 — flyer obligatoire dehors + calendrier à venir démarré au mois actuel */
.ec-upcoming-head-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important;flex-wrap:wrap!important}
.ec-btn-ghost{background:rgba(255,255,255,.075)!important;border:1px solid rgba(143,232,255,.24)!important;box-shadow:none!important;color:#dff8ff!important}
.ec-upcoming-past-btn{min-height:48px!important;border-radius:999px!important;padding:0 20px!important;white-space:nowrap!important}
.ec-required-flyer{min-height:132px!important;background:rgba(25,183,255,.065)!important;border-color:rgba(143,232,255,.6)!important}
.ec-required-flyer:before{content:'Obligatoire';position:absolute;right:14px;top:12px;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#07111f;background:#8fe8ff;border-radius:999px;padding:5px 8px;box-shadow:0 8px 18px rgba(25,183,255,.18)}
.ec-required-flyer{position:relative!important}
.ec-calendar-upcoming .ec-day-today{border-color:#8fe8ff!important;background:linear-gradient(135deg,rgba(143,232,255,.24),rgba(25,183,255,.08))!important;box-shadow:0 0 0 2px rgba(143,232,255,.22),0 0 26px rgba(25,183,255,.25)!important;color:#fff!important}
.ec-calendar-upcoming .ec-day-today span:after{content:'Aujourd’hui';position:absolute;left:50%;bottom:5px;transform:translateX(-50%);font-size:8px;font-weight:950;letter-spacing:.02em;color:#8fe8ff;text-transform:uppercase;white-space:nowrap;pointer-events:none}
.ec-calendar-upcoming .ec-day-today span{position:relative!important;z-index:2!important}
.ec-calendar-upcoming .ec-month-current h3:after{content:none!important;display:none!important}
@media(max-width:900px){.ec-upcoming-head-actions{width:100%!important;display:grid!important;grid-template-columns:1fr!important}.ec-upcoming-past-btn,.ec-upcoming-add-btn{width:100%!important}.ec-calendar-upcoming .ec-day-today span:after{display:none!important}.ec-calendar-upcoming .ec-month-current h3:after{content:none!important;display:none!important}}


/* v1.0.46 — Aujourd’hui lisible + multi-flyers + navigation jour/événement */
.ec-calendar-upcoming .ec-day-today span:after{content:none!important;display:none!important}
.ec-today-pill{
  position:absolute!important;
  left:50%!important;
  bottom:4px!important;
  transform:translateX(-50%)!important;
  z-index:5!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  max-width:calc(100% - 8px)!important;
  padding:2px 5px!important;
  border-radius:999px!important;
  background:rgba(2,10,22,.74)!important;
  border:1px solid rgba(143,232,255,.45)!important;
  color:#8fe8ff!important;
  font-size:7px!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  pointer-events:none!important;
  box-shadow:0 0 12px rgba(25,183,255,.22)!important;
}
.ec-day-thumbs{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:grid!important;
  grid-template-columns:repeat(var(--ec-day-count,1),minmax(0,1fr))!important;
  gap:1px!important;
  overflow:hidden!important;
  opacity:.74!important;
}
.ec-day-thumbs img{position:static!important;inset:auto!important;width:100%!important;height:100%!important;object-fit:cover!important;opacity:1!important;filter:saturate(1.08)!important;border-radius:0!important}
.ec-day-thumbs em{position:static!important;align-self:center!important;justify-self:center!important;transform:none!important;width:8px!important;height:8px!important;border-radius:99px!important;background:#20d6ff!important;box-shadow:0 0 15px #20d6ff!important}
.ec-day.has-event>img,.ec-day.has-event>b{display:none!important}
.ec-day.has-event>span{z-index:6!important;background:rgba(2,10,22,.58)!important;border-radius:0 0 8px 0!important;padding:4px 6px!important;color:#fff!important}
.ec-upcoming-viewer-card{position:relative!important;overflow:hidden!important}
.ec-upcoming-event-nav{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:8!important;
  width:48px!important;
  height:64px!important;
  border-radius:18px!important;
  border:1px solid rgba(143,232,255,.34)!important;
  background:rgba(2,10,22,.72)!important;
  color:#fff!important;
  font-size:40px!important;
  font-weight:800!important;
  line-height:1!important;
  cursor:pointer!important;
  display:none;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 14px 35px rgba(0,0,0,.38),0 0 20px rgba(25,183,255,.16)!important;
  backdrop-filter:blur(10px)!important;
}
.ec-upcoming-event-prev{left:14px!important}
.ec-upcoming-event-next{right:14px!important}
.ec-upcoming-event-nav:hover,.ec-upcoming-day-nav:hover{background:rgba(25,183,255,.24)!important;border-color:rgba(143,232,255,.7)!important}
.ec-upcoming-day-nav{z-index:7!important}
@media(max-width:900px){
  .ec-today-pill{font-size:0!important;width:8px!important;height:8px!important;padding:0!important;bottom:5px!important;border-radius:999px!important;background:#8fe8ff!important}
  .ec-upcoming-event-nav{width:40px!important;height:54px!important;font-size:32px!important;border-radius:16px!important;top:38%!important}
  .ec-upcoming-event-prev{left:8px!important}.ec-upcoming-event-next{right:8px!important}
}

/* v1.0.47 — compteur total par jour + en-tête À venir simplifié */
.ec-calendar-upcoming .ec-day-thumbs{
  grid-template-columns:1fr!important;
  opacity:.72!important;
}
.ec-calendar-upcoming .ec-day-total-badge{
  position:absolute!important;
  right:4px!important;
  bottom:4px!important;
  z-index:8!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  border-radius:999px!important;
  background:rgba(2,10,22,.84)!important;
  border:1px solid rgba(143,232,255,.62)!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
  box-shadow:0 0 14px rgba(25,183,255,.35)!important;
  backdrop-filter:blur(8px)!important;
}
.ec-calendar-upcoming .ec-today-pill{
  left:auto!important;
  right:4px!important;
  top:4px!important;
  bottom:auto!important;
  transform:none!important;
  max-width:calc(100% - 28px)!important;
}
.ec-calendar-upcoming .ec-day.has-event>span{
  min-width:18px!important;
  text-align:left!important;
}
.ec-calendar-upcoming .ec-calendar-year-select-compact{
  display:flex!important;
  justify-content:flex-end!important;
  margin:0 0 14px!important;
}
.ec-upcoming-head h2{margin-bottom:0!important}
.ec-upcoming-head p{max-width:560px!important}
@media(max-width:900px){
  .ec-upcoming-head{gap:12px!important}
  .ec-upcoming-head-actions{
    width:100%!important;
    display:flex!important;
    grid-template-columns:none!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
  }
  .ec-upcoming-past-btn,
  .ec-upcoming-add-btn{
    width:auto!important;
    flex:1 1 0!important;
    min-width:0!important;
    min-height:40px!important;
    height:40px!important;
    padding:0 10px!important;
    border-radius:999px!important;
    font-size:13px!important;
    line-height:1!important;
    white-space:nowrap!important;
    justify-content:center!important;
  }
  .ec-calendar-upcoming .ec-today-pill{
    left:auto!important;
    right:5px!important;
    top:5px!important;
    bottom:auto!important;
    transform:none!important;
  }
  .ec-calendar-upcoming .ec-day-total-badge{
    right:4px!important;
    bottom:4px!important;
    min-width:17px!important;
    height:17px!important;
    padding:0 4px!important;
    font-size:9px!important;
  }
}


/* v1.0.48 — Aujourd’hui remis en bas + compteur événements visible */
.ec-calendar-upcoming .ec-day.has-event > b.ec-day-total-badge{
  display:inline-flex!important;
  position:absolute!important;
  right:4px!important;
  bottom:4px!important;
  z-index:12!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  border-radius:999px!important;
  background:rgba(2,10,22,.88)!important;
  border:1px solid rgba(143,232,255,.68)!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
  box-shadow:0 0 14px rgba(25,183,255,.38)!important;
  backdrop-filter:blur(8px)!important;
}
.ec-calendar-upcoming .ec-today-pill{
  position:absolute!important;
  left:4px!important;
  right:auto!important;
  top:auto!important;
  bottom:4px!important;
  transform:none!important;
  z-index:11!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:auto!important;
  max-width:calc(100% - 30px)!important;
  padding:2px 5px!important;
  border-radius:999px!important;
  background:rgba(2,10,22,.78)!important;
  border:1px solid rgba(143,232,255,.45)!important;
  color:#8fe8ff!important;
  font-size:7px!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  pointer-events:none!important;
  box-shadow:0 0 12px rgba(25,183,255,.24)!important;
}
.ec-calendar-upcoming .ec-day-today > span{
  position:relative!important;
  z-index:13!important;
}
.ec-calendar-upcoming .ec-day.has-event.ec-day-today > span{
  background:rgba(2,10,22,.62)!important;
}
@media(max-width:900px){
  .ec-calendar-upcoming .ec-today-pill{
    left:4px!important;
    right:auto!important;
    top:auto!important;
    bottom:4px!important;
    transform:none!important;
    width:auto!important;
    height:auto!important;
    max-width:calc(100% - 28px)!important;
    padding:2px 4px!important;
    font-size:6.5px!important;
    border-radius:999px!important;
    background:rgba(2,10,22,.78)!important;
  }
  .ec-calendar-upcoming .ec-day.has-event > b.ec-day-total-badge{
    right:4px!important;
    bottom:4px!important;
    min-width:17px!important;
    height:17px!important;
    padding:0 4px!important;
    font-size:9px!important;
  }
}


/* v1.0.50 — aperçu des flyers au survol dans les calendriers */
.ec-calendar-panel,
.ec-calendar-grid,
.ec-month,
.ec-days{
  overflow:visible!important;
}
.ec-day.has-event{
  overflow:visible!important;
}
.ec-day.has-event:hover,
.ec-day.has-event:focus-visible{
  z-index:80!important;
}
.ec-day-thumbs{
  border-radius:inherit!important;
  pointer-events:none!important;
}
.ec-day-hover-preview{
  position:absolute!important;
  left:50%!important;
  bottom:calc(100% + 10px)!important;
  transform:translateX(-50%) translateY(4px) scale(.98)!important;
  z-index:120!important;
  display:block!important;
  width:min(320px,calc(100vw - 36px))!important;
  max-height:280px!important;
  overflow:auto!important;
  padding:10px!important;
  border-radius:18px!important;
  border:1px solid rgba(143,232,255,.42)!important;
  background:rgba(2,10,22,.94)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.48),0 0 28px rgba(25,183,255,.18)!important;
  backdrop-filter:blur(14px)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .14s ease,transform .14s ease,visibility .14s ease!important;
}
.ec-day-hover-preview::after{
  content:''!important;
  position:absolute!important;
  left:50%!important;
  bottom:-7px!important;
  width:13px!important;
  height:13px!important;
  transform:translateX(-50%) rotate(45deg)!important;
  background:rgba(2,10,22,.94)!important;
  border-right:1px solid rgba(143,232,255,.35)!important;
  border-bottom:1px solid rgba(143,232,255,.35)!important;
}
.ec-day.has-event:hover .ec-day-hover-preview,
.ec-day.has-event:focus-visible .ec-day-hover-preview{
  opacity:1!important;
  visibility:visible!important;
  transform:translateX(-50%) translateY(0) scale(1)!important;
}
.ec-day-hover-preview strong{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  margin:0 0 8px!important;
  color:#eafcff!important;
  font-size:12px!important;
  font-weight:950!important;
  line-height:1.1!important;
  text-align:left!important;
  text-shadow:none!important;
}
.ec-day-hover-grid{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(64px,1fr))!important;
  gap:7px!important;
}
.ec-day-hover-thumb{
  display:block!important;
  position:relative!important;
  aspect-ratio:3/4!important;
  min-height:78px!important;
  border-radius:11px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.10)!important;
  background:linear-gradient(135deg,rgba(25,183,255,.18),rgba(255,255,255,.04))!important;
  box-shadow:0 8px 18px rgba(0,0,0,.28)!important;
}
.ec-day-hover-thumb img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  opacity:1!important;
  filter:saturate(1.06)!important;
  border-radius:0!important;
}
.ec-day-hover-thumb em{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:9px!important;
  height:9px!important;
  transform:translate(-50%,-50%)!important;
  border-radius:999px!important;
  background:#20d6ff!important;
  box-shadow:0 0 16px #20d6ff!important;
}
@media(max-width:760px){
  .ec-day-hover-preview{display:none!important;}
}


/* v1.0.51 — survol sans slide + pop-up À venir scrollable sur mobile */
.ec-day-hover-preview{
  width:auto!important;
  min-width:96px!important;
  max-width:min(260px,calc(100vw - 32px))!important;
  max-height:none!important;
  overflow:visible!important;
  padding:9px!important;
}
.ec-day-hover-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(46px,58px))!important;
  justify-content:center!important;
  align-items:start!important;
  gap:6px!important;
  max-width:242px!important;
}
.ec-day-hover-thumb{
  width:58px!important;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:3/4!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#020914!important;
}
.ec-day-hover-thumb img{
  position:static!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  background:#020914!important;
  display:block!important;
}
.ec-day-hover-preview strong{
  margin-bottom:7px!important;
  text-align:center!important;
  font-size:11px!important;
}
@media(max-width:900px){
  .ec-upcoming-viewer.ec-upcoming-day-modal{
    align-items:flex-start!important;
    justify-content:center!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    padding:8px!important;
  }
  .ec-upcoming-viewer-card{
    display:block!important;
    width:100%!important;
    max-height:none!important;
    min-height:0!important;
    overflow:visible!important;
    border-radius:20px!important;
  }
  .ec-upcoming-viewer .ec-viewer-image-wrap{
    min-height:0!important;
    max-height:none!important;
    padding:8px!important;
  }
  .ec-upcoming-viewer [data-ec-upcoming-img]{
    max-height:44vh!important;
    width:auto!important;
    height:auto!important;
    object-fit:contain!important;
  }
  .ec-upcoming-viewer .ec-viewer-info{
    padding:14px!important;
  }
  .ec-upcoming-viewer .ec-upcoming-choice-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin-top:12px!important;
    padding-bottom:12px!important;
  }
  .ec-upcoming-viewer .ec-upcoming-choice-actions .ec-btn,
  .ec-upcoming-viewer .ec-upcoming-choice-actions .ec-danger{
    min-height:42px!important;
  }
  .ec-upcoming-viewer .ec-viewer-info h2{
    font-size:23px!important;
    margin-bottom:8px!important;
  }
  .ec-upcoming-count{
    margin:10px 0!important;
  }
  .ec-upcoming-details,
  .ec-viewer-desc{
    font-size:13px!important;
    line-height:1.4!important;
  }
  .ec-upcoming-day-nav{
    position:fixed!important;
    top:50%!important;
  }
}

/* v1.0.52 — dates début/fin sur une ligne dans le pop-up À venir */
.ec-upcoming-date-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px!important;align-items:end!important}
.ec-upcoming-date-row label{min-width:0!important}
.ec-upcoming-date-row input[type="date"]{width:100%!important;min-width:0!important}
@media(max-width:480px){.ec-upcoming-date-row{gap:8px!important}.ec-upcoming-date-row label{font-size:12px!important}.ec-upcoming-date-row small{display:block!important;margin-top:2px!important;font-size:10px!important}.ec-upcoming-date-row input[type="date"]{font-size:12px!important;padding-left:10px!important;padding-right:10px!important}}

/* v1.0.53 – améliorations À venir */
.ec-upcoming-filters{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  margin:0 0 14px!important;
}
.ec-filter-chip{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  text-decoration:none!important;
  font-weight:900!important;
  font-size:13px!important;
  color:#dff8ff!important;
  background:rgba(143,232,255,.08)!important;
  border:1px solid rgba(143,232,255,.18)!important;
}
.ec-filter-chip.is-active{
  color:#02101d!important;
  background:#8fe8ff!important;
  border-color:#8fe8ff!important;
}
.ec-upcoming-status{
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:100%!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  font-size:12px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  margin:0 0 10px!important;
  border:1px solid rgba(143,232,255,.26)!important;
  color:#8fe8ff!important;
  background:rgba(143,232,255,.1)!important;
}
.ec-upcoming-status.is-validated{color:#86efac!important;background:rgba(34,197,94,.12)!important;border-color:rgba(34,197,94,.35)!important}
.ec-upcoming-status.is-pending{color:#fde68a!important;background:rgba(245,158,11,.12)!important;border-color:rgba(245,158,11,.35)!important}
.ec-upcoming-status.is-past{color:#cbd5e1!important;background:rgba(148,163,184,.12)!important;border-color:rgba(148,163,184,.3)!important}
.ec-upcoming-status.is-rejected{color:#fecdd3!important;background:rgba(244,63,94,.12)!important;border-color:rgba(244,63,94,.35)!important}
.ec-upcoming-public-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:12px 0 14px!important;
}
.ec-upcoming-public-actions .ec-btn{
  min-height:38px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  font-size:13px!important;
  box-shadow:none!important;
}
.ec-reject-btn{
  background:linear-gradient(135deg,#fb7185,#be123c)!important;
  color:#fff!important;
  border:0!important;
}
.ec-upcoming-empty{margin-top:12px!important}
@media(max-width:760px){
  .ec-upcoming-filters{gap:6px!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:4px!important;margin-bottom:10px!important}
  .ec-filter-chip{flex:0 0 auto!important;min-height:32px!important;font-size:12px!important;padding:0 11px!important}
  .ec-upcoming-public-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .ec-upcoming-public-actions .ec-btn{width:100%!important;min-height:38px!important;font-size:12px!important;padding:0 8px!important}
}

/* v1.0.54 - notifications admin événements à valider */
.ec-profile-pending-badge{
  min-width:22px;height:22px;padding:0 7px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#ff4d4d,#ff9b2f);color:#fff;font-size:12px;font-weight:950;line-height:1;
  box-shadow:0 8px 22px rgba(255,90,50,.34);margin-left:auto;
}
.ec-user-wrap.has-pending-events .ec-user{border-color:rgba(255,145,56,.45);box-shadow:0 0 24px rgba(255,111,36,.12)}
.ec-account-pending{margin:6px 0;padding:10px;border-radius:14px;background:rgba(255,145,56,.09);border:1px solid rgba(255,145,56,.26);color:#fff}
.ec-account-pending-head{gap:10px;justify-content:space-between;background:rgba(255,145,56,.08)!important;border-color:rgba(255,145,56,.25)!important}
.ec-account-pending-head span{display:grid;gap:3px;min-width:0}.ec-account-pending-head strong{font-size:13px;color:#fff}.ec-account-pending-head em{font-style:normal;color:#ffd0aa;font-size:12px;font-weight:850}
.ec-account-pending-head b{min-width:24px;height:24px;border-radius:999px;background:linear-gradient(135deg,#ff4d4d,#ff9b2f);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;box-shadow:0 8px 18px rgba(255,90,50,.28)}
.ec-account-pending-list{display:grid;gap:6px;margin-top:8px}.ec-account-pending-list a{display:grid!important;grid-template-columns:auto 1fr;column-gap:8px;row-gap:2px;min-height:0!important;padding:8px 9px!important;background:rgba(0,0,0,.13);border-color:rgba(255,255,255,.06)!important}
.ec-account-pending-list a span{grid-row:1/3;color:#ffcfaa;font-size:11px;font-weight:950;align-self:center}.ec-account-pending-list a strong{color:#fff;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-account-pending-list a em{font-style:normal;color:#9fc0d8;font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ec-upcoming-choice-actions{gap:12px!important;margin-top:16px!important;border-top:1px solid rgba(255,255,255,.10);padding-top:14px}
.ec-upcoming-admin-validation,.ec-upcoming-admin-tools{display:grid;gap:8px;padding:10px;border-radius:14px;border:1px solid rgba(25,183,255,.20);background:rgba(25,183,255,.06)}
.ec-upcoming-admin-validation{border-color:rgba(255,145,56,.32);background:rgba(255,145,56,.08)}
.ec-upcoming-admin-validation>strong,.ec-upcoming-admin-tools>strong{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#cdefff}
.ec-upcoming-admin-validation>strong{color:#ffd0aa}.ec-upcoming-admin-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center}.ec-upcoming-admin-row form{margin:0}.ec-upcoming-admin-row .ec-btn,.ec-upcoming-admin-row .ec-danger{width:100%;justify-content:center;min-height:42px;padding:10px 12px}
.ec-validate-btn{background:linear-gradient(135deg,#21c774,#00a85a)!important}.ec-reject-btn{background:linear-gradient(135deg,#ff4d4d,#c92626)!important}
@media(max-width:760px){.ec-account-pending-list a strong,.ec-account-pending-list a em{white-space:normal}.ec-upcoming-admin-row{grid-template-columns:1fr}.ec-profile-pending-badge{margin-left:6px}}


/* v1.0.57 — bouton Google Agenda séparé + anti-flash au chargement */
.ec-upcoming-calendar-action{margin-top:14px;padding-top:14px;border-top:1px solid rgba(87,204,255,.18);display:flex;justify-content:flex-start}
.ec-google-calendar-btn{display:inline-flex!important;align-items:center!important;gap:12px!important;min-height:52px!important;padding:0 18px!important;border-radius:16px!important;text-decoration:none!important;color:#fff!important;background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(25,183,255,.08))!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 12px 30px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.16)!important;font-weight:950!important}
.ec-google-calendar-btn:hover{border-color:rgba(66,133,244,.65)!important;background:linear-gradient(135deg,rgba(66,133,244,.22),rgba(52,168,83,.10))!important;transform:translateY(-1px)}
.ec-google-g{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#4285f4;font-weight:950;font-family:Arial,sans-serif;box-shadow:0 4px 14px rgba(0,0,0,.22)}
@media(max-width:560px){.ec-upcoming-calendar-action{justify-content:stretch}.ec-google-calendar-btn{width:100%;justify-content:center!important;min-height:50px!important}}

/* v1.0.61 — filtres calendrier À venir + icône galerie + partage WhatsApp renforcé */
.ec-calendar-upcoming .ec-calendar-year-select-compact{
  display:flex!important;
  justify-content:flex-end!important;
  margin:-4px 0 14px!important;
}
.ec-calendar-focus-month .ec-calendar-grid{
  grid-template-columns:1fr!important;
}
.ec-calendar-focus-month .ec-month{
  width:min(920px,100%)!important;
  margin:0 auto!important;
  padding:22px!important;
  border-color:rgba(143,232,255,.30)!important;
  box-shadow:0 20px 60px rgba(0,0,0,.22),0 0 28px rgba(25,183,255,.10)!important;
}
.ec-calendar-focus-month .ec-month h3{
  font-size:1.35rem!important;
  margin-bottom:14px!important;
}
.ec-calendar-focus-month .ec-weekdays,.ec-calendar-focus-month .ec-days{
  gap:8px!important;
}
.ec-calendar-focus-month .ec-day{
  aspect-ratio:auto!important;
  min-height:74px!important;
  border-radius:14px!important;
  font-size:.92rem!important;
}
.ec-calendar-weekend-focus .ec-weekend-focus-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
.ec-calendar-weekend-focus .ec-weekend-card{
  border:1px solid rgba(143,232,255,.24)!important;
  border-radius:24px!important;
  padding:16px!important;
  background:linear-gradient(180deg,rgba(10,32,62,.72),rgba(4,16,34,.88))!important;
  box-shadow:0 18px 55px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.ec-calendar-weekend-focus .ec-weekend-card h3{
  margin:0 0 12px!important;
  color:#dff6ff!important;
  font-size:1.1rem!important;
}
.ec-calendar-weekend-focus .ec-day{
  aspect-ratio:auto!important;
  min-height:260px!important;
  border-radius:18px!important;
  font-size:1.2rem!important;
}
.ec-calendar-weekend-focus .ec-day>span{
  padding:8px 10px!important;
  font-size:1.1rem!important;
}
.ec-calendar-weekend-focus .ec-day-thumbs{
  opacity:.82!important;
}
.ec-nav-item .ec-nav-ico{
  font-size:18px!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
@media(max-width:760px){
  .ec-calendar-focus-month .ec-month{padding:14px!important}
  .ec-calendar-focus-month .ec-day{min-height:52px!important;border-radius:11px!important;font-size:.78rem!important}
  .ec-calendar-focus-month .ec-weekdays,.ec-calendar-focus-month .ec-days{gap:5px!important}
  .ec-calendar-weekend-focus .ec-weekend-focus-grid{grid-template-columns:1fr!important;gap:12px!important}
  .ec-calendar-weekend-focus .ec-day{min-height:190px!important}
  .ec-calendar-upcoming .ec-calendar-year-select-compact{justify-content:flex-start!important;margin:0 0 12px!important}
}


/* v1.0.62 — mode week-end : vraies cartes avec flyer lisible */
.ec-calendar-weekend-focus .ec-weekend-card{
  min-height:360px!important;
  display:flex!important;
  flex-direction:column!important;
}
.ec-calendar-weekend-focus .ec-day{
  flex:1 1 auto!important;
  min-height:310px!important;
  display:grid!important;
  grid-template-rows:auto 1fr!important;
  place-items:center!important;
  padding:46px 18px 22px!important;
  overflow:hidden!important;
  background:radial-gradient(circle at 50% 44%,rgba(25,183,255,.14),rgba(2,10,22,.86))!important;
}
.ec-calendar-weekend-focus .ec-day>span{
  position:absolute!important;
  left:14px!important;
  top:12px!important;
  z-index:12!important;
  border-radius:999px!important;
  background:rgba(2,10,22,.74)!important;
  border:1px solid rgba(143,232,255,.34)!important;
  padding:5px 10px!important;
}
.ec-calendar-weekend-focus .ec-day-thumbs{
  position:relative!important;
  inset:auto!important;
  z-index:2!important;
  width:min(210px,52%)!important;
  height:250px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  opacity:1!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:rgba(2,10,22,.68)!important;
  border:1px solid rgba(143,232,255,.22)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.34),0 0 24px rgba(25,183,255,.14)!important;
}
.ec-calendar-weekend-focus .ec-day-thumbs img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  background:rgba(2,10,22,.88)!important;
}
.ec-calendar-weekend-focus .ec-day-total-badge{
  right:14px!important;
  bottom:14px!important;
  z-index:14!important;
  min-width:30px!important;
  height:30px!important;
  padding:0 9px!important;
  font-size:14px!important;
}
.ec-calendar-weekend-focus .ec-today-pill{
  left:14px!important;
  bottom:14px!important;
  z-index:14!important;
  font-size:10px!important;
  padding:4px 8px!important;
}
.ec-calendar-weekend-focus .ec-day-hover-preview{
  display:none!important;
}
@media(max-width:760px){
  .ec-calendar-weekend-focus .ec-weekend-card{min-height:300px!important;padding:12px!important}
  .ec-calendar-weekend-focus .ec-day{min-height:250px!important;padding:42px 12px 18px!important}
  .ec-calendar-weekend-focus .ec-day-thumbs{width:min(190px,70%)!important;height:210px!important}
  .ec-calendar-weekend-focus .ec-day-total-badge{right:10px!important;bottom:10px!important;min-width:26px!important;height:26px!important;font-size:12px!important}
}

/* v1.0.63 — week-end compact, flyer entier + menu simplifié */
.ec-nav-ico-svg svg{
  width:18px!important;
  height:18px!important;
  display:block!important;
  fill:none!important;
  stroke:#dff8ff!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  filter:drop-shadow(0 0 8px rgba(25,183,255,.22))!important;
}
.ec-nav-item:hover .ec-nav-ico-svg svg,
.ec-nav-item.is-active .ec-nav-ico-svg svg{
  stroke:#8fe8ff!important;
}
.ec-calendar-weekend-focus .ec-weekend-focus-grid{
  grid-template-columns:repeat(auto-fit,minmax(230px,300px))!important;
  justify-content:flex-start!important;
  align-items:start!important;
  gap:14px!important;
}
.ec-calendar-weekend-focus .ec-weekend-card{
  min-height:0!important;
  padding:12px!important;
  border-radius:20px!important;
}
.ec-calendar-weekend-focus .ec-weekend-card h3{
  margin:0 0 10px!important;
  font-size:1rem!important;
}
.ec-calendar-weekend-focus .ec-day{
  min-height:0!important;
  height:auto!important;
  aspect-ratio:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:42px 12px 14px!important;
  overflow:hidden!important;
}
.ec-calendar-weekend-focus .ec-day-thumbs{
  position:relative!important;
  inset:auto!important;
  width:min(190px,82%)!important;
  height:clamp(220px,28vw,270px)!important;
  max-height:270px!important;
  border-radius:16px!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(2,10,22,.82)!important;
}
.ec-calendar-weekend-focus .ec-day-thumbs img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:0!important;
  background:rgba(2,10,22,.9)!important;
}
.ec-calendar-weekend-focus .ec-day>span{
  left:10px!important;
  top:10px!important;
  padding:5px 9px!important;
}
.ec-calendar-weekend-focus .ec-day-total-badge{
  right:10px!important;
  bottom:10px!important;
}
.ec-calendar-weekend-focus .ec-today-pill{
  left:10px!important;
  bottom:10px!important;
  transform:none!important;
}
@media(max-width:760px){
  .ec-calendar-weekend-focus .ec-weekend-focus-grid{
    grid-template-columns:minmax(0,1fr)!important;
    max-width:360px!important;
    margin-inline:auto!important;
    gap:12px!important;
  }
  .ec-calendar-weekend-focus .ec-weekend-card{
    padding:10px!important;
    border-radius:18px!important;
  }
  .ec-calendar-weekend-focus .ec-weekend-card h3{
    font-size:.95rem!important;
    margin-bottom:8px!important;
  }
  .ec-calendar-weekend-focus .ec-day{
    min-height:0!important;
    padding:38px 10px 12px!important;
  }
  .ec-calendar-weekend-focus .ec-day-thumbs{
    width:min(210px,76%)!important;
    height:280px!important;
    max-height:58vh!important;
  }
}


/* v1.0.65 — année suivante toujours disponible dans À venir */
.ec-calendar-weekend-focus .ec-weekend-focus-grid{
  grid-template-columns:repeat(auto-fit,minmax(340px,1fr))!important;
  width:100%!important;
  max-width:none!important;
  gap:18px!important;
  justify-content:stretch!important;
  align-items:stretch!important;
}
.ec-calendar-weekend-focus .ec-weekend-card{
  width:100%!important;
  min-height:clamp(430px,42vw,620px)!important;
  padding:16px!important;
  display:flex!important;
  flex-direction:column!important;
  border-radius:22px!important;
}
.ec-calendar-weekend-focus .ec-weekend-card h3{
  margin:0 0 12px!important;
  font-size:1.08rem!important;
}
.ec-calendar-weekend-focus .ec-day{
  flex:1 1 auto!important;
  width:100%!important;
  min-height:clamp(370px,36vw,550px)!important;
  padding:46px 16px 18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.ec-calendar-weekend-focus .ec-day-thumbs{
  width:min(390px,88%)!important;
  height:clamp(340px,34vw,520px)!important;
  max-height:none!important;
  border-radius:18px!important;
  background:rgba(2,10,22,.86)!important;
  box-shadow:0 18px 46px rgba(0,0,0,.28)!important;
}
.ec-calendar-weekend-focus .ec-day-thumbs img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:rgba(2,10,22,.92)!important;
}
.ec-calendar-weekend-focus .ec-day-total-badge{
  right:14px!important;
  bottom:14px!important;
}
.ec-calendar-weekend-focus .ec-today-pill{
  left:14px!important;
  bottom:14px!important;
}
@media(min-width:1100px){
  .ec-calendar-weekend-focus .ec-weekend-focus-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .ec-calendar-weekend-focus .ec-day-thumbs{
    width:min(420px,78%)!important;
    height:clamp(380px,32vw,560px)!important;
  }
}
@media(max-width:760px){
  .ec-calendar-weekend-focus .ec-weekend-focus-grid{
    grid-template-columns:1fr!important;
    max-width:none!important;
    width:100%!important;
    margin-inline:0!important;
    gap:14px!important;
  }
  .ec-calendar-weekend-focus .ec-weekend-card{
    min-height:0!important;
    padding:12px!important;
  }
  .ec-calendar-weekend-focus .ec-day{
    min-height:clamp(330px,72vw,480px)!important;
    padding:42px 10px 14px!important;
  }
  .ec-calendar-weekend-focus .ec-day-thumbs{
    width:min(330px,92%)!important;
    height:clamp(310px,70vw,450px)!important;
    max-height:64vh!important;
  }
}

/* v1.0.66 - réglage ordre galerie */
.ec-settings-form{display:grid;gap:12px;margin-top:12px}
.ec-settings-form label{display:grid;gap:8px;color:#dff8ff;font-weight:800}
.ec-settings-form select{width:100%;border:1px solid rgba(87,204,255,.35)!important;background:#061a33!important;color:#e9fbff!important;border-radius:14px!important;padding:12px 14px!important;font-weight:800!important}
.ec-settings-form .ec-btn{justify-self:start}
@media(max-width:760px){.ec-settings-form .ec-btn{width:100%}}

/* v1.0.67 - séparation modération publique / participation personnelle */
.ec-upcoming-participation-box{display:grid;gap:8px;padding:10px;border-radius:14px;border:1px solid rgba(34,197,94,.28);background:rgba(34,197,94,.08)}
.ec-upcoming-participation-box>strong{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#bfffd2}
.ec-attended-btn{background:linear-gradient(135deg,#21c774,#00a85a)!important;color:#fff!important}
.ec-not-attended-btn{background:linear-gradient(135deg,#475569,#1e293b)!important;color:#fff!important}
.ec-upcoming-participation-box .ec-upcoming-admin-row{grid-template-columns:1fr!important}

/* v1.0.69 – logos de catégories */
.ec-meta .ec-cat-logo-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:38px!important;height:30px!important;padding:3px 8px!important;background:rgba(25,183,255,.10)!important;border:1px solid rgba(25,183,255,.28)!important;border-radius:999px!important;overflow:hidden!important}
.ec-meta .ec-cat-logo-badge:before{display:none!important;content:none!important}
.ec-meta .ec-cat-logo-badge img{max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important;display:block!important}
.ec-meta .ec-cat-text:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ec-blue);margin-right:6px}
.ec-cat-float{position:absolute;left:10px;top:10px;z-index:3;width:42px;height:42px;border-radius:14px;background:rgba(3,11,22,.78);border:1px solid rgba(25,183,255,.36);backdrop-filter:blur(10px);box-shadow:0 8px 22px rgba(0,0,0,.34);display:grid;place-items:center;padding:6px;pointer-events:none}
.ec-cat-float img{max-width:100%;max-height:100%;width:auto!important;height:auto!important;object-fit:contain!important;display:block!important}
.ec-card .ec-cat-float + .ec-double-badge{right:10px}
@media(max-width:900px){.ec-cat-float{left:8px;top:8px;width:34px;height:34px;border-radius:11px;padding:5px}.ec-meta .ec-cat-logo-badge{width:34px;height:26px}}


/* MyDex 1.0.72 – badges catégories plus lisibles et visibles aussi dans les pop-ups */
.ec-meta .ec-cat-logo-badge{width:60px!important;height:42px!important;padding:5px 10px!important;border-radius:16px!important;background:rgba(25,183,255,.12)!important}
.ec-meta .ec-cat-logo-badge img{max-width:48px!important;max-height:32px!important;width:auto!important;height:auto!important;object-fit:contain!important}
.ec-viewer-meta,.ec-upcoming-viewer .ec-viewer-meta{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;margin:0 0 18px!important;color:#d8e9f6!important}
.ec-meta-rich{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important}
.ec-cat-full-badge,.ec-location-chip,.ec-place-chip{display:inline-flex!important;align-items:center!important;gap:8px!important;min-height:38px!important;border-radius:999px!important;padding:5px 11px!important;background:rgba(25,183,255,.10)!important;border:1px solid rgba(25,183,255,.28)!important;color:#eaf8ff!important;font-size:13px!important;font-weight:850!important;line-height:1.15!important}
.ec-cat-full-badge img{width:32px!important;height:32px!important;max-width:44px!important;object-fit:contain!important;display:block!important;border-radius:8px!important;flex:0 0 auto!important}
.ec-cat-full-badge span,.ec-location-chip,.ec-place-chip{white-space:normal!important}
.ec-location-chip{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.14)!important}
.ec-place-chip{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.12)!important}
@media(max-width:900px){.ec-meta .ec-cat-logo-badge{width:52px!important;height:38px!important;padding:5px 8px!important}.ec-meta .ec-cat-logo-badge img{max-width:42px!important;max-height:29px!important}.ec-cat-full-badge,.ec-location-chip,.ec-place-chip{min-height:34px!important;font-size:12px!important;padding:4px 9px!important}.ec-cat-full-badge img{width:28px!important;height:28px!important}}

/* v1.0.75 — navigation mois/week-end sur Événements à venir */
.ec-upcoming-period-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  margin:4px 0 16px!important;
}
.ec-upcoming-period-nav strong{
  min-width:min(360px,70vw)!important;
  text-align:center!important;
  color:#eaffff!important;
  font-size:1rem!important;
  font-weight:950!important;
  letter-spacing:.01em!important;
}
.ec-period-arrow{
  width:38px!important;
  height:38px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  font-size:28px!important;
  line-height:1!important;
  font-weight:900!important;
  color:#02101d!important;
  background:#8fe8ff!important;
  border:1px solid rgba(143,232,255,.9)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.18),0 0 22px rgba(143,232,255,.16)!important;
}
.ec-period-arrow:hover{
  transform:translateY(-1px)!important;
  filter:brightness(1.05)!important;
}
@media(max-width:520px){
  .ec-upcoming-period-nav{gap:8px!important;margin:2px 0 12px!important}
  .ec-upcoming-period-nav strong{min-width:0!important;flex:1!important;font-size:.88rem!important;line-height:1.2!important}
  .ec-period-arrow{width:34px!important;height:34px!important;font-size:24px!important;flex:0 0 34px!important}
}


/* v1.0.76 — flèches de période intégrées dans le titre du calendrier */
.ec-upcoming-period-nav{display:none!important}
.ec-calendar-upcoming .ec-month-current h3:after{content:none!important;display:none!important}
.ec-focus-title{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) 44px!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  margin:0 0 14px!important;
}
.ec-focus-title strong{
  text-align:center!important;
  color:#eaffff!important;
  font-size:1.35rem!important;
  font-weight:950!important;
  line-height:1.15!important;
  letter-spacing:.01em!important;
}
.ec-focus-title .ec-period-arrow{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  justify-self:center!important;
}
.ec-focus-title-month{
  margin-bottom:14px!important;
}
.ec-focus-title-weekend{
  max-width:980px!important;
  margin:0 auto 14px!important;
  padding:0 4px!important;
}
.ec-calendar-focus-month .ec-month > .ec-focus-title + .ec-weekdays{
  margin-top:0!important;
}
@media(max-width:520px){
  .ec-focus-title{
    grid-template-columns:36px minmax(0,1fr) 36px!important;
    gap:6px!important;
    margin-bottom:10px!important;
  }
  .ec-focus-title strong{
    font-size:1.05rem!important;
  }
  .ec-focus-title .ec-period-arrow{
    width:34px!important;
    height:34px!important;
    flex-basis:34px!important;
    font-size:24px!important;
  }
}


/* v1.0.78 — navigation événement mobile + swipe jour */
@media(max-width:900px){
  .ec-upcoming-viewer .ec-upcoming-day-nav{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .ec-upcoming-viewer .ec-upcoming-event-nav{
    top:calc(8px + 22vh)!important;
    transform:translateY(-50%)!important;
    width:42px!important;
    height:56px!important;
    border-radius:18px!important;
    background:rgba(2,10,22,.68)!important;
    border-color:rgba(143,232,255,.42)!important;
  }
  .ec-upcoming-viewer .ec-upcoming-event-prev{left:10px!important;}
  .ec-upcoming-viewer .ec-upcoming-event-next{right:10px!important;}
  .ec-upcoming-viewer-card::after{
    content:'Swipe gauche/droite pour changer de jour';
    display:block;
    margin:0 14px 12px;
    color:#8fa9bd;
    font-size:11px;
    text-align:center;
    pointer-events:none;
  }
}
@media(min-width:901px){
  .ec-upcoming-viewer .ec-upcoming-day-nav{
    pointer-events:auto!important;
    cursor:pointer!important;
  }
}


/* v1.0.82 — verrouillage des cases calendrier : une image ne doit jamais agrandir une case */
.ec-calendar-upcoming .ec-day{
  min-width:0!important;
  min-height:0!important;
  contain:layout paint!important;
}
.ec-calendar-upcoming:not(.ec-calendar-focus-month):not(.ec-calendar-weekend-focus) .ec-day{
  aspect-ratio:1/1!important;
  height:auto!important;
  max-height:none!important;
  overflow:hidden!important;
}
.ec-calendar-upcoming:not(.ec-calendar-focus-month):not(.ec-calendar-weekend-focus) .ec-day.has-event:hover,
.ec-calendar-upcoming:not(.ec-calendar-focus-month):not(.ec-calendar-weekend-focus) .ec-day.has-event:focus-visible{
  overflow:visible!important;
  contain:layout!important;
}
.ec-calendar-focus-month .ec-day{
  height:74px!important;
  min-height:74px!important;
  max-height:74px!important;
  overflow:hidden!important;
}
.ec-calendar-focus-month .ec-day.has-event:hover,
.ec-calendar-focus-month .ec-day.has-event:focus-visible{
  overflow:visible!important;
}
.ec-calendar-upcoming .ec-day-thumbs{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  min-width:0!important;
  min-height:0!important;
  z-index:1!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:inherit!important;
  pointer-events:none!important;
}
.ec-calendar-upcoming .ec-day-thumbs img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:inherit!important;
}
.ec-calendar-focus-month .ec-day-thumbs img{
  object-fit:cover!important;
}
.ec-calendar-upcoming .ec-day-hover-preview{
  position:absolute!important;
  left:50%!important;
  bottom:calc(100% + 10px)!important;
  transform:translateX(-50%) translateY(4px) scale(.98)!important;
  z-index:120!important;
  display:none!important;
  width:auto!important;
  min-width:96px!important;
  max-width:min(260px,calc(100vw - 32px))!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
.ec-calendar-upcoming .ec-day.has-event:hover .ec-day-hover-preview,
.ec-calendar-upcoming .ec-day.has-event:focus-visible .ec-day-hover-preview{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  transform:translateX(-50%) translateY(0) scale(1)!important;
}
.ec-calendar-upcoming .ec-day-hover-thumb,
.ec-calendar-upcoming .ec-day-hover-thumb img{
  max-width:58px!important;
  max-height:78px!important;
}
.ec-calendar-focus-month .ec-day>span{
  z-index:6!important;
}
.ec-calendar-focus-month .ec-today-pill{
  z-index:7!important;
}

/* Le mode week-end garde ses grandes cartes, mais le flyer reste quand même contraint */
.ec-calendar-weekend-focus .ec-day{
  contain:none!important;
  overflow:hidden!important;
}
.ec-calendar-weekend-focus .ec-day-thumbs{
  position:relative!important;
  inset:auto!important;
  display:flex!important;
  overflow:hidden!important;
}
.ec-calendar-weekend-focus .ec-day-thumbs img{
  position:static!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
@media(max-width:760px){
  .ec-calendar-focus-month .ec-day{
    height:58px!important;
    min-height:58px!important;
    max-height:58px!important;
  }
}


/* v1.0.83 — filtre À venir par catégories */
.ec-upcoming-filter-row{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 14px!important;
  position:relative!important;
}
.ec-upcoming-filter-row .ec-upcoming-filters{
  margin:0!important;
  flex:1 1 auto!important;
}
.ec-upcoming-category-filter{
  position:relative!important;
  flex:0 0 auto!important;
  z-index:45!important;
}
.ec-upcoming-category-filter summary{
  list-style:none!important;
  cursor:pointer!important;
  min-height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border-radius:999px!important;
  padding:0 15px!important;
  color:#eaffff!important;
  border:1px solid rgba(143,232,255,.26)!important;
  background:rgba(255,255,255,.045)!important;
  font-weight:900!important;
  white-space:nowrap!important;
  user-select:none!important;
}
.ec-upcoming-category-filter summary::-webkit-details-marker{display:none!important}
.ec-upcoming-category-filter summary:after{
  content:'⌄';
  font-size:13px!important;
  opacity:.8!important;
  margin-left:2px!important;
}
.ec-upcoming-category-filter[open] summary{
  background:#8fe8ff!important;
  color:#02101d!important;
  border-color:#8fe8ff!important;
}
.ec-upcoming-category-filter[open] summary:after{content:'⌃'}
.ec-upcoming-category-filter summary b{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:20px!important;
  height:20px!important;
  padding:0 6px!important;
  border-radius:999px!important;
  background:rgba(2,10,22,.78)!important;
  color:#8fe8ff!important;
  font-size:12px!important;
}
.ec-upcoming-category-panel{
  position:absolute!important;
  right:0!important;
  top:calc(100% + 10px)!important;
  width:min(420px,calc(100vw - 28px))!important;
  padding:12px!important;
  border-radius:20px!important;
  border:1px solid rgba(143,232,255,.28)!important;
  background:rgba(2,10,22,.96)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.46),0 0 30px rgba(25,183,255,.12)!important;
  backdrop-filter:blur(16px)!important;
}
.ec-upcoming-category-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.ec-upcoming-category-choice{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:44px!important;
  padding:7px 9px!important;
  border-radius:14px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  background:rgba(255,255,255,.045)!important;
  color:#eaf8ff!important;
  font-size:13px!important;
  font-weight:850!important;
  cursor:pointer!important;
}
.ec-upcoming-category-choice.is-checked{
  border-color:rgba(143,232,255,.65)!important;
  background:rgba(25,183,255,.16)!important;
}
.ec-upcoming-category-choice input{
  accent-color:#8fe8ff!important;
  flex:0 0 auto!important;
}
.ec-upcoming-category-choice img{
  width:30px!important;
  height:30px!important;
  object-fit:contain!important;
  border-radius:8px!important;
  flex:0 0 auto!important;
}
.ec-upcoming-category-choice span{
  min-width:0!important;
  line-height:1.15!important;
}
.ec-upcoming-category-actions{
  display:flex!important;
  gap:8px!important;
  justify-content:flex-end!important;
  margin-top:10px!important;
}
.ec-upcoming-category-actions .ec-btn{
  min-height:34px!important;
  padding:0 13px!important;
  font-size:12px!important;
}
@media(max-width:700px){
  .ec-upcoming-filter-row{
    align-items:stretch!important;
    gap:8px!important;
  }
  .ec-upcoming-filter-row .ec-upcoming-filters{
    flex-wrap:wrap!important;
  }
  .ec-upcoming-category-filter{
    margin-left:auto!important;
  }
  .ec-upcoming-category-filter summary{
    min-height:36px!important;
    padding:0 12px!important;
    font-size:12px!important;
  }
  .ec-upcoming-category-panel{
    right:0!important;
    width:calc(100vw - 28px)!important;
  }
  .ec-upcoming-category-grid{
    grid-template-columns:1fr!important;
  }
}

/* v1.0.84 — mobile : pas de bouton + dans l’onglet À venir */
@media(max-width:900px){
  .ec-wrap.ec-current-view-upcoming .ec-mobile-add:not(.ec-mobile-login){
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}


/* v1.0.85 — mobile : compte collé en bas + menu compte vers le haut + onglet Swiss Explorer */
.ec-swiss-explorer-menu{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  min-height:56px!important;
  padding:10px 12px!important;
  border-radius:18px!important;
  border:1px solid rgba(25,183,255,.24)!important;
  background:linear-gradient(90deg,rgba(25,183,255,.10),rgba(0,102,255,.06))!important;
  color:#f2fbff!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-decoration:none!important;
  box-shadow:inset 0 0 24px rgba(25,183,255,.045)!important;
}
.ec-swiss-explorer-menu:hover,
.ec-swiss-explorer-menu:focus{
  background:linear-gradient(90deg,rgba(0,102,255,.32),rgba(0,183,255,.11))!important;
  border-color:rgba(25,183,255,.58)!important;
  color:#fff!important;
  box-shadow:0 0 24px rgba(0,102,255,.22)!important;
  outline:none!important;
}
.ec-swiss-explorer-icon{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  border-radius:14px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:rgba(25,183,255,.12)!important;
  border:1px solid rgba(143,232,255,.24)!important;
  font-size:21px!important;
}
.ec-swiss-explorer-icon img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
  padding:5px!important;
}
.ec-swiss-explorer-label{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
@media(max-width:900px){
  .ec-sidebar{
    overflow:visible!important;
    padding:58px 16px 16px!important;
    gap:14px!important;
  }
  .ec-nav-list{
    flex:0 0 auto!important;
    gap:9px!important;
  }
  .ec-swiss-explorer-menu{
    margin-top:auto!important;
    min-height:54px!important;
    padding:9px 11px!important;
  }
  .ec-user-wrap,
  .ec-guest-wrap{
    margin-top:8px!important;
    flex:0 0 auto!important;
    position:relative!important;
  }
  .ec-account-menu{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:calc(100% + 10px)!important;
    top:auto!important;
    margin:0!important;
    max-height:min(68vh,520px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    z-index:2147483604!important;
  }
}
@media(max-width:390px){
  .ec-sidebar{width:min(88vw,310px)!important;padding-left:12px!important;padding-right:12px!important;}
  .ec-swiss-explorer-menu{letter-spacing:.04em!important;font-size:14px!important;}
}


/* v1.0.86 — menu mobile compact : logo en haut, 4 icônes rapides, compte visible */
.ec-quick-icons-menu{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  margin-top:auto!important;
  padding:8px!important;
  border-radius:20px!important;
  border:1px solid rgba(25,183,255,.24)!important;
  background:linear-gradient(90deg,rgba(25,183,255,.09),rgba(0,102,255,.045))!important;
  box-shadow:inset 0 0 24px rgba(25,183,255,.045)!important;
}
.ec-quick-icon-link{
  min-width:0!important;
  height:54px!important;
  border-radius:16px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:rgba(25,183,255,.10)!important;
  border:1px solid rgba(143,232,255,.24)!important;
  color:#eefdff!important;
  text-decoration:none!important;
  font-size:24px!important;
  box-shadow:inset 0 0 18px rgba(25,183,255,.05)!important;
}
.ec-quick-icon-link:hover,
.ec-quick-icon-link:focus{
  background:linear-gradient(135deg,rgba(0,102,255,.28),rgba(0,183,255,.12))!important;
  border-color:rgba(25,183,255,.58)!important;
  box-shadow:0 0 24px rgba(0,102,255,.20),inset 0 0 18px rgba(25,183,255,.07)!important;
  outline:none!important;
}
.ec-quick-icon-link img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
  padding:7px!important;
}
.ec-quick-icon-link span{
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
}
.ec-quick-icon-link.is-empty{
  opacity:.46!important;
  pointer-events:none!important;
}
@media(max-width:900px){
  .ec-sidebar{
    overflow:visible!important;
    padding:18px 16px calc(26px + env(safe-area-inset-bottom,0px))!important;
    gap:12px!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
  }
  .ec-brand{
    min-height:48px!important;
    align-items:center!important;
    padding:0 52px 8px 4px!important;
    margin:0!important;
    gap:12px!important;
  }
  .ec-brand .ec-brand-logo,
  .ec-brand .ec-brand-icon{
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
    border-radius:13px!important;
  }
  .ec-brand-title{font-size:25px!important;line-height:.9!important;}
  .ec-brand-sub{font-size:14px!important;margin-top:4px!important;white-space:nowrap!important;}
  .ec-sidebar-close{
    top:18px!important;
    right:14px!important;
  }
  .ec-nav-list{
    flex:0 0 auto!important;
    gap:7px!important;
    margin-top:0!important;
  }
  .ec-nav-item{
    min-height:50px!important;
    padding:11px 14px!important;
    font-size:16px!important;
    border-radius:14px!important;
  }
  .ec-quick-icons-menu{
    margin-top:auto!important;
    gap:8px!important;
    padding:8px!important;
  }
  .ec-quick-icon-link{
    height:50px!important;
    border-radius:15px!important;
  }
  .ec-user-wrap,
  .ec-guest-wrap{
    margin-top:8px!important;
    margin-bottom:0!important;
    flex:0 0 auto!important;
    position:relative!important;
  }
  .ec-user{
    min-height:64px!important;
    padding:10px!important;
  }
  .ec-account-menu{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:calc(100% + 10px)!important;
    top:auto!important;
    margin:0!important;
    max-height:min(58dvh,420px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    z-index:2147483604!important;
  }
}
@media(max-width:390px){
  .ec-sidebar{width:min(88vw,310px)!important;padding-left:12px!important;padding-right:12px!important;}
  .ec-brand{padding-right:48px!important;}
  .ec-brand-title{font-size:22px!important;}
  .ec-brand-sub{font-size:13px!important;}
  .ec-nav-item{min-height:48px!important;padding:10px 12px!important;}
  .ec-quick-icons-menu{gap:7px!important;padding:7px!important;}
  .ec-quick-icon-link{height:46px!important;border-radius:14px!important;}
  .ec-user{min-height:60px!important;}
}


/* v1.0.87 — liens rapides : icônes plus grandes, sans cadre extérieur, compte rapproché */
.ec-quick-icons-menu{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
  gap:10px!important;
  margin-bottom:0!important;
}
.ec-quick-icon-link{
  height:58px!important;
  border-radius:18px!important;
  background:rgba(25,183,255,.10)!important;
  border:1px solid rgba(143,232,255,.30)!important;
  box-shadow:inset 0 0 20px rgba(25,183,255,.055)!important;
}
.ec-quick-icon-link img{
  padding:6px!important;
}
.ec-quick-icon-link span{
  font-size:29px!important;
}
.ec-user-wrap,
.ec-guest-wrap{
  margin-top:0!important;
}
.ec-sidebar .ec-quick-icons-menu + .ec-user-wrap,
.ec-sidebar .ec-quick-icons-menu + .ec-guest-wrap{
  margin-top:-8px!important;
}
@media(max-width:900px){
  .ec-quick-icons-menu{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:10px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    margin-top:auto!important;
  }
  .ec-quick-icon-link{
    height:64px!important;
    min-height:64px!important;
    border-radius:18px!important;
  }
  .ec-quick-icon-link img{
    padding:6px!important;
  }
  .ec-quick-icon-link span{
    font-size:31px!important;
  }
  .ec-sidebar .ec-quick-icons-menu + .ec-user-wrap,
  .ec-sidebar .ec-quick-icons-menu + .ec-guest-wrap{
    margin-top:2px!important;
  }
}
@media(max-width:390px){
  .ec-quick-icons-menu{
    gap:8px!important;
  }
  .ec-quick-icon-link{
    height:60px!important;
    min-height:60px!important;
    border-radius:17px!important;
  }
  .ec-quick-icon-link span{
    font-size:29px!important;
  }
}


/* v1.0.88 — icônes rapides sans tour, image pleine, carrées et plus grandes */
.ec-quick-icons-menu{
  align-items:center!important;
}
.ec-quick-icon-link{
  aspect-ratio:1 / 1!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:14px!important;
  overflow:hidden!important;
}
.ec-quick-icon-link:hover,
.ec-quick-icon-link:focus{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:none!important;
}
.ec-quick-icon-link img{
  width:100%!important;
  height:100%!important;
  padding:0!important;
  margin:0!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
  border-radius:14px!important;
}
.ec-quick-icon-link span{
  width:100%!important;
  height:100%!important;
  border-radius:14px!important;
  background:rgba(25,183,255,.10)!important;
}
@media(min-width:901px){
  .ec-quick-icons-menu{
    grid-template-columns:repeat(4,54px)!important;
    gap:5px!important;
    justify-content:space-between!important;
  }
  .ec-quick-icon-link{
    width:54px!important;
    height:54px!important;
    min-height:54px!important;
    border-radius:13px!important;
  }
  .ec-quick-icon-link img,
  .ec-quick-icon-link span{
    border-radius:13px!important;
  }
  .ec-sidebar .ec-quick-icons-menu + .ec-user-wrap,
  .ec-sidebar .ec-quick-icons-menu + .ec-guest-wrap{
    margin-top:-10px!important;
  }
}
@media(max-width:900px){
  .ec-quick-icons-menu{
    gap:9px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .ec-quick-icon-link{
    height:auto!important;
    min-height:0!important;
    border-radius:16px!important;
  }
  .ec-quick-icon-link img,
  .ec-quick-icon-link span{
    border-radius:16px!important;
  }
}
@media(max-width:390px){
  .ec-quick-icons-menu{gap:7px!important;}
  .ec-quick-icon-link{
    height:auto!important;
    min-height:0!important;
    border-radius:15px!important;
  }
  .ec-quick-icon-link img,
  .ec-quick-icon-link span{
    border-radius:15px!important;
  }
}

/* v1.0.89 — refonte UI desktop MyDex : dashboard premium + cartes 16:9 */
:root{
  --ec-89-bg:#020817;
  --ec-89-panel:#071426;
  --ec-89-panel-2:#081a2f;
  --ec-89-card:#071629;
  --ec-89-card-2:#05111f;
  --ec-89-line:rgba(48,139,218,.36);
  --ec-89-line-soft:rgba(69,154,231,.20);
  --ec-89-blue:#0b8cff;
  --ec-89-blue-2:#1367ff;
  --ec-89-cyan:#19c8ff;
  --ec-89-text:#f6fbff;
  --ec-89-muted:#9fb6ca;
}

html.ec-fullscreen-mode,
body.ec-fullscreen-mode{
  background:#020817!important;
}
body.ec-fullscreen-mode .ec-wrap.ec-app,
.ec-wrap.ec-app{
  width:100%!important;
  min-height:100dvh!important;
  margin:0!important;
  padding:14px!important;
  color:var(--ec-89-text)!important;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif!important;
  background:
    radial-gradient(circle at 16% 0%, rgba(0,132,255,.18), transparent 34%),
    radial-gradient(circle at 90% 10%, rgba(25,200,255,.08), transparent 30%),
    linear-gradient(180deg,#020817 0%,#01050d 100%)!important;
  overflow-x:hidden!important;
}

.ec-wrap.ec-app .ec-app-shell{
  width:100%!important;
  max-width:none!important;
  min-height:calc(100dvh - 28px)!important;
  display:grid!important;
  grid-template-columns:300px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:stretch!important;
  margin:0!important;
}

.ec-wrap.ec-app .ec-sidebar{
  width:300px!important;
  min-height:calc(100dvh - 28px)!important;
  height:calc(100dvh - 28px)!important;
  position:sticky!important;
  top:14px!important;
  overflow:visible!important;
  padding:32px 18px 24px!important;
  border-radius:18px!important;
  border:1px solid rgba(31,129,217,.38)!important;
  background:
    linear-gradient(180deg, rgba(7,22,41,.98), rgba(3,12,25,.98)),
    radial-gradient(circle at 18% 0%, rgba(25,200,255,.12), transparent 38%)!important;
  box-shadow:0 28px 80px rgba(0,0,0,.42), inset 0 0 50px rgba(0,140,255,.055)!important;
  gap:26px!important;
  z-index:30!important;
}

.ec-wrap.ec-app .ec-brand{
  min-height:64px!important;
  padding:0 10px 14px!important;
  gap:14px!important;
  align-items:center!important;
}
.ec-wrap.ec-app .ec-brand-logo,
.ec-wrap.ec-app .ec-brand-icon{
  width:48px!important;
  height:48px!important;
  flex:0 0 48px!important;
  border-radius:13px!important;
  border-color:rgba(25,200,255,.85)!important;
  box-shadow:0 0 26px rgba(25,200,255,.32), inset 0 0 18px rgba(25,200,255,.10)!important;
}
.ec-wrap.ec-app .ec-brand-title{
  color:#fff!important;
  font-size:30px!important;
  font-weight:950!important;
  line-height:.92!important;
  letter-spacing:.015em!important;
  text-transform:uppercase!important;
}
.ec-wrap.ec-app .ec-brand-title span,
.ec-wrap.ec-app .ec-brand-sub{
  color:var(--ec-89-cyan)!important;
}
.ec-wrap.ec-app .ec-brand-sub{
  margin-top:6px!important;
  font-size:13px!important;
  font-weight:850!important;
}

.ec-wrap.ec-app .ec-nav-list{
  gap:13px!important;
}
.ec-wrap.ec-app .ec-nav-item{
  width:100%!important;
  min-height:58px!important;
  padding:0 20px!important;
  border-radius:12px!important;
  display:flex!important;
  align-items:center!important;
  gap:15px!important;
  color:#dcecff!important;
  font-size:16px!important;
  font-weight:850!important;
  letter-spacing:.005em!important;
  border:1px solid transparent!important;
  background:transparent!important;
  box-shadow:none!important;
}
.ec-wrap.ec-app .ec-nav-item:hover,
.ec-wrap.ec-app .ec-nav-item:focus{
  color:#fff!important;
  background:linear-gradient(90deg, rgba(13,93,196,.48), rgba(11,140,255,.12))!important;
  border-color:rgba(25,200,255,.42)!important;
  box-shadow:0 0 28px rgba(11,140,255,.18), inset 0 1px 0 rgba(255,255,255,.04)!important;
  outline:none!important;
}
.ec-wrap.ec-app .ec-nav-item.is-active,
.ec-wrap.ec-app .ec-nav-list button.ec-nav-item.is-active{
  color:#fff!important;
  background:linear-gradient(90deg, rgba(10,111,228,.68), rgba(25,200,255,.13))!important;
  border-color:rgba(25,200,255,.70)!important;
  box-shadow:0 0 32px rgba(11,140,255,.22), inset 0 0 26px rgba(11,140,255,.08)!important;
}
.ec-wrap.ec-app .ec-nav-ico{
  width:23px!important;
  min-width:23px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#e8f8ff!important;
  opacity:.96!important;
}
.ec-wrap.ec-app .ec-nav-ico-svg svg{
  width:22px!important;
  height:22px!important;
  fill:currentColor!important;
}

.ec-wrap.ec-app .ec-quick-icons-menu{
  margin-top:auto!important;
  display:grid!important;
  grid-template-columns:repeat(4,54px)!important;
  gap:7px!important;
  justify-content:space-between!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.ec-wrap.ec-app .ec-quick-icon-link{
  width:54px!important;
  height:54px!important;
  min-height:54px!important;
  border-radius:13px!important;
  overflow:hidden!important;
  background:rgba(25,200,255,.08)!important;
  border:1px solid rgba(25,200,255,.16)!important;
}
.ec-wrap.ec-app .ec-user-wrap,
.ec-wrap.ec-app .ec-guest-wrap{
  position:relative!important;
  z-index:80!important;
  margin-top:-6px!important;
  flex:0 0 auto!important;
}
.ec-wrap.ec-app .ec-user{
  width:100%!important;
  min-height:78px!important;
  padding:12px!important;
  border-radius:16px!important;
  background:rgba(8,27,50,.78)!important;
  border:1px solid rgba(25,200,255,.24)!important;
  box-shadow:inset 0 0 24px rgba(0,140,255,.055)!important;
}
.ec-wrap.ec-app .ec-user strong{
  color:#fff!important;
  font-size:16px!important;
  font-weight:950!important;
}
.ec-wrap.ec-app .ec-user-text span{
  color:#b8cbe0!important;
  font-size:14px!important;
}
.ec-wrap.ec-app .ec-avatar{
  width:54px!important;
  height:54px!important;
  flex:0 0 54px!important;
}
.ec-wrap.ec-app .ec-account-menu{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:calc(100% + 12px)!important;
  top:auto!important;
  margin:0!important;
  max-height:min(62dvh,480px)!important;
  overflow:auto!important;
  z-index:999!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#07182c,#030a14)!important;
  border:1px solid rgba(25,200,255,.42)!important;
  box-shadow:0 22px 60px rgba(0,0,0,.62),0 0 28px rgba(25,200,255,.14)!important;
}

.ec-wrap.ec-app .ec-main{
  min-width:0!important;
  min-height:calc(100dvh - 28px)!important;
  border-radius:18px!important;
  padding:42px 40px 30px!important;
  border:1px solid rgba(31,129,217,.32)!important;
  background:
    linear-gradient(180deg, rgba(4,14,28,.84), rgba(2,9,19,.96)),
    radial-gradient(circle at 0% 0%, rgba(11,140,255,.11), transparent 42%)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.40), inset 0 0 70px rgba(0,140,255,.045)!important;
}
.ec-wrap.ec-app .ec-mobile-top{
  display:none!important;
}

.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-hero{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin:0 0 28px!important;
  padding:0!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-hero h2{
  margin:0!important;
  color:#fff!important;
  font-size:clamp(44px,4.1vw,62px)!important;
  line-height:1.02!important;
  font-weight:950!important;
  letter-spacing:-.055em!important;
  text-shadow:0 14px 40px rgba(0,0,0,.28)!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-hero h2 span{
  color:var(--ec-89-cyan)!important;
  text-shadow:0 0 24px rgba(25,200,255,.28)!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-hero p{
  display:block!important;
  margin:12px 0 0!important;
  color:#aebed0!important;
  font-size:16px!important;
  font-weight:650!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-btn-light{
  min-width:236px!important;
  min-height:56px!important;
  border-radius:14px!important;
  padding:0 27px!important;
  margin-top:1px!important;
  background:linear-gradient(135deg,#0ea5ff 0%,#125dff 100%)!important;
  box-shadow:0 15px 38px rgba(12,106,255,.34), inset 0 1px 0 rgba(255,255,255,.35)!important;
  font-size:16px!important;
  font-weight:900!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-btn-light:before{
  content:'+'!important;
  font-size:26px!important;
  font-weight:300!important;
  margin-right:2px!important;
}

.ec-wrap.ec-app .ec-filter-toggle{
  display:none!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-filters[data-ec-auto-filter]{
  display:grid!important;
  grid-template-columns:minmax(240px,370px) minmax(260px,410px) minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:24px!important;
  width:100%!important;
  margin:0 0 22px!important;
  padding:20px 24px!important;
  border-radius:18px!important;
  border:1px solid rgba(58,139,214,.31)!important;
  background:rgba(5,17,32,.72)!important;
  box-shadow:inset 0 0 34px rgba(11,140,255,.045)!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-filters[data-ec-auto-filter]::before,
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-filters[data-ec-auto-filter]::after{
  display:none!important;
  content:none!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-filters select{
  min-height:58px!important;
  height:58px!important;
  border-radius:12px!important;
  border:1px solid rgba(83,151,213,.34)!important;
  background-color:#061426!important;
  background-image:linear-gradient(45deg,transparent 50%,#c5edff 50%),linear-gradient(135deg,#c5edff 50%,transparent 50%),linear-gradient(180deg,#07182d,#051120)!important;
  background-position:calc(100% - 25px) 26px,calc(100% - 16px) 26px,0 0!important;
  background-size:9px 9px,9px 9px,100% 100%!important;
  background-repeat:no-repeat!important;
  color:#f5fbff!important;
  -webkit-text-fill-color:#f5fbff!important;
  font-size:15px!important;
  font-weight:820!important;
  padding:0 50px 0 20px!important;
  box-shadow:inset 0 0 22px rgba(0,0,0,.20)!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-per-page{
  grid-column:4!important;
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  margin:0!important;
  color:#d3e3f3!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-per-page span{
  color:#aebed0!important;
  font-size:14px!important;
  font-weight:800!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-per-page select{
  width:96px!important;
  min-width:96px!important;
  text-align:left!important;
}

.ec-wrap.ec-app #ec-gallery.ec-gallery{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:stretch!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card{
  min-width:0!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:18px!important;
  border:1px solid rgba(51,133,204,.42)!important;
  background:linear-gradient(180deg,rgba(7,22,39,.98),rgba(3,12,24,.99))!important;
  box-shadow:0 18px 40px rgba(0,0,0,.31), inset 0 0 26px rgba(11,140,255,.035)!important;
  cursor:pointer!important;
  transform:none!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card:before,
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card:after{
  display:none!important;
  content:none!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card:hover{
  transform:translateY(-4px)!important;
  border-color:rgba(25,200,255,.72)!important;
  box-shadow:0 22px 54px rgba(0,0,0,.42),0 0 30px rgba(25,200,255,.13)!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-imgbox,
.ec-wrap[data-ec-gallery]:not(.ec-app) .ec-gallery > .ec-card .ec-imgbox{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16 / 9!important;
  display:block!important;
  border-radius:18px 18px 0 0!important;
  border:0!important;
  border-bottom:1px solid rgba(69,154,231,.20)!important;
  background:#020a14!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-imgbox img,
.ec-wrap[data-ec-gallery]:not(.ec-app) .ec-gallery > .ec-card .ec-imgbox img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center center!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-card-body{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  padding:15px 16px 16px!important;
  min-height:218px!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-date{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  width:max-content!important;
  margin:0 0 10px!important;
  color:var(--ec-89-cyan)!important;
  font-size:15px!important;
  line-height:1.1!important;
  font-weight:900!important;
  background:transparent!important;
  padding:0!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-date:before{
  display:none!important;
  content:none!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card h3{
  margin:0 0 14px!important;
  color:#f7fbff!important;
  font-size:18px!important;
  line-height:1.24!important;
  font-weight:900!important;
  letter-spacing:-.015em!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 16px!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-meta span:not(.ec-location){
  min-height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:5px 12px!important;
  border-radius:999px!important;
  background:rgba(25,200,255,.07)!important;
  border:1px solid rgba(25,200,255,.24)!important;
  color:#e5f5ff!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1.1!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-meta .ec-cat-logo-badge{
  width:auto!important;
  min-width:46px!important;
  height:34px!important;
  padding:4px 10px!important;
  border-radius:999px!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-meta .ec-cat-logo-badge:before{
  display:none!important;
  content:none!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-meta .ec-cat-logo-badge img{
  max-width:34px!important;
  max-height:24px!important;
  object-fit:contain!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-meta .ec-cat-text:before{
  content:''!important;
  display:inline-block!important;
  width:8px!important;
  height:8px!important;
  flex:0 0 8px!important;
  border-radius:50%!important;
  margin:0 1px 0 0!important;
  background:var(--ec-89-cyan)!important;
  box-shadow:0 0 10px rgba(25,200,255,.30)!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-meta .ec-location{
  flex:0 0 100%!important;
  width:100%!important;
  min-height:0!important;
  margin:3px 0 0!important;
  padding:12px 0 0!important;
  border:0!important;
  border-top:1px solid rgba(92,151,205,.24)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#b8cbe0!important;
  font-size:14px!important;
  font-weight:750!important;
  line-height:1.35!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-meta .ec-location:before{
  content:'📍'!important;
  width:auto!important;
  height:auto!important;
  display:inline!important;
  margin-right:7px!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-card-actions{
  margin-top:auto!important;
  display:flex!important;
  width:100%!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-edit-toggle{
  width:100%!important;
  min-height:45px!important;
  border-radius:10px!important;
  padding:0 18px!important;
  color:#f3faff!important;
  background:rgba(7,26,48,.82)!important;
  border:1px solid rgba(80,145,204,.30)!important;
  box-shadow:inset 0 0 18px rgba(11,140,255,.04)!important;
  font-size:15px!important;
  font-weight:880!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-edit-toggle:hover{
  background:rgba(11,140,255,.16)!important;
  border-color:rgba(25,200,255,.48)!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-edit-toggle:before{
  content:'✎'!important;
  margin-right:8px!important;
  color:#dff7ff!important;
}

.ec-wrap.ec-app .ec-pagination{
  margin:24px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:14px!important;
}
.ec-wrap.ec-app .ec-page-link{
  display:none!important;
}
.ec-wrap.ec-app .ec-page-numbers{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
}
.ec-wrap.ec-app .ec-page-num,
.ec-wrap.ec-app .ec-page-dots{
  min-width:40px!important;
  min-height:40px!important;
  padding:0 12px!important;
  border-radius:10px!important;
  border:1px solid transparent!important;
  background:transparent!important;
  color:#c8d8e8!important;
  font-size:16px!important;
  font-weight:850!important;
}
.ec-wrap.ec-app .ec-page-num.is-active{
  color:#fff!important;
  background:linear-gradient(135deg,#0ea5ff,#125dff)!important;
  border-color:rgba(25,200,255,.55)!important;
  box-shadow:0 10px 26px rgba(11,140,255,.26)!important;
}
.ec-wrap.ec-app .ec-page-dots{
  color:#9fb6ca!important;
}
.ec-wrap.ec-app .ec-pagination:before,
.ec-wrap.ec-app .ec-pagination:after{
  color:#91a8bd!important;
  font-size:28px!important;
  line-height:1!important;
}
.ec-wrap.ec-app .ec-pagination:before{content:'‹';}
.ec-wrap.ec-app .ec-pagination:after{content:'›';}

@media(max-width:1500px){
  .ec-wrap.ec-app .ec-app-shell{grid-template-columns:286px minmax(0,1fr)!important;}
  .ec-wrap.ec-app .ec-sidebar{width:286px!important;}
  .ec-wrap.ec-app #ec-gallery.ec-gallery{gap:18px!important;}
  .ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-card-body{padding:14px!important;}
}
@media(max-width:1280px){
  .ec-wrap.ec-app #ec-gallery.ec-gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-filters[data-ec-auto-filter]{grid-template-columns:minmax(220px,1fr) minmax(240px,1fr) auto!important;}
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-per-page{grid-column:3!important;}
}
@media(max-width:1060px){
  .ec-wrap.ec-app .ec-app-shell{grid-template-columns:260px minmax(0,1fr)!important;gap:14px!important;}
  .ec-wrap.ec-app .ec-sidebar{width:260px!important;}
  .ec-wrap.ec-app .ec-main{padding:30px 24px!important;}
  .ec-wrap.ec-app #ec-gallery.ec-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-hero h2{font-size:42px!important;}
}

@media(max-width:900px){
  body.ec-fullscreen-mode .ec-wrap.ec-app,
  .ec-wrap.ec-app{
    padding:0!important;
    min-height:100dvh!important;
  }
  .ec-wrap.ec-app .ec-app-shell{
    display:block!important;
    min-height:100dvh!important;
  }
  .ec-wrap.ec-app .ec-sidebar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    width:min(86vw,320px)!important;
    height:100dvh!important;
    min-height:100dvh!important;
    padding:20px 16px calc(22px + env(safe-area-inset-bottom,0px))!important;
    border-radius:0 22px 22px 0!important;
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
    overflow:visible!important;
  }
  .ec-wrap.ec-app.ec-menu-open .ec-sidebar{
    transform:translateX(0)!important;
  }
  .ec-wrap.ec-app .ec-sidebar-overlay{
    z-index:2147483601!important;
  }
  .ec-wrap.ec-app .ec-mobile-top{
    display:flex!important;
    position:sticky!important;
    top:0!important;
    z-index:25!important;
    align-items:center!important;
    justify-content:space-between!important;
    margin:0!important;
    padding:12px 14px!important;
    background:rgba(2,9,19,.92)!important;
    border-bottom:1px solid rgba(25,200,255,.16)!important;
    backdrop-filter:blur(14px)!important;
  }
  .ec-wrap.ec-app .ec-main{
    min-height:100dvh!important;
    border-radius:0!important;
    border:0!important;
    padding:0 12px 92px!important;
    background:linear-gradient(180deg,rgba(4,14,28,.86),rgba(2,9,19,.98))!important;
    box-shadow:none!important;
  }
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-hero{
    display:block!important;
    margin:22px 2px 18px!important;
  }
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-hero h2{
    font-size:38px!important;
    letter-spacing:-.052em!important;
  }
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-hero .ec-btn-light{
    display:none!important;
  }
  .ec-wrap.ec-app .ec-filter-toggle{
    display:flex!important;
    width:100%!important;
    min-height:48px!important;
    justify-content:center!important;
    align-items:center!important;
    margin:0 0 12px!important;
    border-radius:14px!important;
    border:1px solid rgba(25,200,255,.28)!important;
    background:rgba(25,200,255,.08)!important;
    color:#e6f8ff!important;
    font-weight:900!important;
  }
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-filters[data-ec-auto-filter]{
    display:none!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:14px!important;
    border-radius:16px!important;
  }
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-filters[data-ec-auto-filter].is-open{
    display:grid!important;
  }
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-per-page{
    grid-column:auto!important;
    justify-self:stretch!important;
    justify-content:space-between!important;
    width:100%!important;
  }
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-per-page select{
    flex:1 1 auto!important;
    width:auto!important;
  }
  .ec-wrap.ec-app #ec-gallery.ec-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }
  .ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-card-body{
    min-height:190px!important;
    padding:13px!important;
  }
  .ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card h3{
    font-size:16px!important;
  }
  .ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-date,
  .ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-meta .ec-location{
    font-size:13px!important;
  }
  .ec-wrap.ec-app .ec-account-menu{
    bottom:calc(100% + 10px)!important;
    max-height:min(58dvh,420px)!important;
  }
}
@media(max-width:700px){
  .ec-wrap.ec-app #ec-gallery.ec-gallery{
    grid-template-columns:1fr!important;
  }
  .ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-card-body{
    min-height:0!important;
  }
  .ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card h3{
    font-size:18px!important;
  }
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-hero h2{
    font-size:36px!important;
  }
  .ec-wrap.ec-app .ec-page-numbers{gap:8px!important;}
  .ec-wrap.ec-app .ec-pagination:before,
  .ec-wrap.ec-app .ec-pagination:after{display:none!important;content:none!important;}
}


/* v1.0.90 — corrections visuelles : bleu plus profond, relief, vignettes restaurées, sidebar fixe, menu mobile par logo */
:root{
  --ec-90-bg:#01050d;
  --ec-90-panel:#030b18;
  --ec-90-panel-2:#041326;
  --ec-90-card:#041224;
  --ec-90-card-2:#020a15;
  --ec-90-line:rgba(28,105,181,.34);
  --ec-90-line-soft:rgba(43,126,206,.18);
  --ec-90-blue:#086fe8;
  --ec-90-blue-2:#0c48d8;
  --ec-90-cyan:#00b8ff;
  --ec-90-text:#f7fbff;
  --ec-90-muted:#a6b7ca;
}
html.ec-fullscreen-mode,
body.ec-fullscreen-mode{background:#01050d!important;}
body.ec-fullscreen-mode .ec-wrap.ec-app,
.ec-wrap.ec-app{
  background:
    radial-gradient(circle at 14% 0%, rgba(0,86,185,.16), transparent 34%),
    radial-gradient(circle at 88% 8%, rgba(0,184,255,.055), transparent 30%),
    linear-gradient(180deg,#01050d 0%,#00040a 100%)!important;
}
.ec-wrap.ec-app .ec-sidebar{
  border-color:rgba(20,92,165,.38)!important;
  background:
    radial-gradient(circle at 18% 0%, rgba(0,121,215,.10), transparent 38%),
    linear-gradient(180deg, rgba(4,15,30,.99), rgba(1,7,16,.99))!important;
  box-shadow:0 28px 82px rgba(0,0,0,.48), inset 0 0 46px rgba(0,84,180,.045)!important;
}
.ec-wrap.ec-app .ec-main{
  border-color:rgba(20,92,165,.32)!important;
  background:
    radial-gradient(circle at 0% 0%, rgba(0,92,190,.08), transparent 42%),
    linear-gradient(180deg, rgba(3,11,23,.91), rgba(1,6,14,.98))!important;
  box-shadow:0 28px 92px rgba(0,0,0,.46), inset 0 0 66px rgba(0,84,180,.035)!important;
}
.ec-wrap.ec-app .ec-nav-item.is-active,
.ec-wrap.ec-app .ec-nav-list button.ec-nav-item.is-active{
  background:linear-gradient(90deg,rgba(5,69,150,.82),rgba(0,126,220,.15))!important;
  border-color:rgba(0,184,255,.58)!important;
  box-shadow:0 14px 34px rgba(0,36,94,.28),0 0 22px rgba(0,104,220,.16), inset 0 1px 0 rgba(255,255,255,.07)!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-hero p{
  display:block!important;
  color:#aebccb!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-hero h2 span,
.ec-wrap.ec-app .ec-brand-title span,
.ec-wrap.ec-app .ec-brand-sub{color:var(--ec-90-cyan)!important;}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-btn-light,
.ec-wrap.ec-app .ec-page-num.is-active{
  background:linear-gradient(135deg,#087ef4 0%,#0b47d8 100%)!important;
  box-shadow:0 16px 36px rgba(4,72,184,.34), inset 0 1px 0 rgba(255,255,255,.32), inset 0 -12px 22px rgba(0,0,0,.16)!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-filters[data-ec-auto-filter]{
  border-color:rgba(38,104,174,.34)!important;
  background:linear-gradient(180deg,rgba(3,13,26,.84),rgba(2,9,19,.78))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035), inset 0 0 38px rgba(0,84,180,.04), 0 14px 34px rgba(0,0,0,.18)!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-filters select{
  border-color:rgba(56,132,207,.44)!important;
  background-color:#031020!important;
  background-image:linear-gradient(45deg,transparent 50%,#d8f4ff 50%),linear-gradient(135deg,#d8f4ff 50%,transparent 50%),linear-gradient(180deg,#071a30 0%,#031020 54%,#020a15 100%)!important;
  color:#f6fbff!important;
  -webkit-text-fill-color:#f6fbff!important;
  box-shadow:0 12px 26px rgba(0,0,0,.27), inset 0 1px 0 rgba(255,255,255,.08), inset 0 -16px 25px rgba(0,0,0,.20), 0 0 0 1px rgba(0,184,255,.055)!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-filters select:hover,
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-filters select:focus{
  border-color:rgba(0,184,255,.62)!important;
  box-shadow:0 14px 30px rgba(0,0,0,.30), 0 0 0 4px rgba(0,184,255,.085), inset 0 1px 0 rgba(255,255,255,.10), inset 0 -16px 25px rgba(0,0,0,.20)!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card{
  border-color:rgba(35,105,177,.40)!important;
  background:linear-gradient(180deg,rgba(4,16,31,.99),rgba(2,9,19,.99))!important;
  box-shadow:0 18px 42px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.025), inset 0 0 26px rgba(0,84,180,.035)!important;
}
/* Retour à la taille de vignette précédente : vertical par défaut, horizontal seulement si la carte est marquée horizontale. */
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-imgbox,
.ec-wrap[data-ec-gallery]:not(.ec-app) .ec-gallery > .ec-card .ec-imgbox{
  width:calc(100% - 20px)!important;
  margin:10px 10px 0!important;
  aspect-ratio:3 / 4!important;
  border-radius:16px!important;
  border:1px solid rgba(255,255,255,.075)!important;
  background:#020a14!important;
  overflow:hidden!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card.ec-horizontal .ec-imgbox,
.ec-wrap[data-ec-gallery]:not(.ec-app) .ec-gallery > .ec-card.ec-horizontal .ec-imgbox{
  aspect-ratio:4 / 3!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-imgbox img,
.ec-wrap[data-ec-gallery]:not(.ec-app) .ec-gallery > .ec-card .ec-imgbox img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-card-body{
  padding:14px 16px 16px!important;
  min-height:0!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-date{color:var(--ec-90-cyan)!important;}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-meta span:not(.ec-location){
  background:linear-gradient(180deg,rgba(0,184,255,.095),rgba(0,74,170,.055))!important;
  border-color:rgba(0,184,255,.24)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055)!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-edit-toggle{
  min-height:46px!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#08213c 0%,#041225 58%,#020a15 100%)!important;
  border:1px solid rgba(58,134,210,.42)!important;
  box-shadow:0 12px 24px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.09), inset 0 -12px 20px rgba(0,0,0,.18), 0 0 0 1px rgba(0,184,255,.04)!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-edit-toggle:hover,
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-edit-toggle:focus{
  background:linear-gradient(180deg,#0a2a4d 0%,#06182e 58%,#020a15 100%)!important;
  border-color:rgba(0,184,255,.60)!important;
  box-shadow:0 14px 30px rgba(0,0,0,.30),0 0 0 4px rgba(0,184,255,.075), inset 0 1px 0 rgba(255,255,255,.11), inset 0 -12px 20px rgba(0,0,0,.18)!important;
  outline:none!important;
}
@media(min-width:901px){
  .ec-wrap.ec-app .ec-app-shell{
    display:block!important;
    padding-left:318px!important;
    min-height:calc(100dvh - 28px)!important;
  }
  .ec-wrap.ec-app .ec-sidebar{
    position:fixed!important;
    top:14px!important;
    left:14px!important;
    bottom:14px!important;
    width:300px!important;
    height:auto!important;
    min-height:0!important;
    max-height:calc(100dvh - 28px)!important;
    overflow:visible!important;
    align-self:auto!important;
  }
  .ec-wrap.ec-app .ec-main{
    width:100%!important;
    min-height:calc(100dvh - 28px)!important;
  }
}
@media(max-width:900px){
  .ec-wrap.ec-app .ec-app-shell{
    display:block!important;
    padding-left:0!important;
    min-height:100dvh!important;
  }
  .ec-wrap.ec-app .ec-mobile-top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 48px!important;
    gap:10px!important;
    align-items:center!important;
    justify-content:normal!important;
    background:rgba(1,6,14,.94)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .ec-wrap.ec-app .ec-mobile-menu{display:none!important;}
  .ec-wrap.ec-app .ec-mobile-brand-toggle{
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    border:0!important;
    background:transparent!important;
    color:inherit!important;
    padding:0!important;
    margin:0!important;
    text-align:left!important;
    cursor:pointer!important;
  }
  .ec-wrap.ec-app .ec-mobile-brand{
    justify-content:flex-start!important;
    min-width:0!important;
    width:100%!important;
  }
  .ec-wrap.ec-app .ec-mobile-brand .ec-brand-title{
    max-width:calc(100vw - 118px)!important;
  }
  .ec-wrap.ec-app .ec-sidebar{
    position:fixed!important;
    z-index:2147483605!important;
    background:linear-gradient(180deg,#041022,#010712)!important;
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .ec-wrap.ec-app .ec-sidebar-overlay{
    z-index:2147483602!important;
    background:rgba(0,0,0,.58)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .ec-wrap.ec-app #ec-gallery.ec-gallery{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-imgbox{
    width:calc(100% - 18px)!important;
    margin:9px 9px 0!important;
    aspect-ratio:3 / 4!important;
  }
  .ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card.ec-horizontal .ec-imgbox{
    aspect-ratio:4 / 3!important;
  }
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-filters select{
    min-height:54px!important;
    height:54px!important;
  }
}


/* v1.0.91 — mode modification optionnel + miniatures paysage tournées en galerie */
.ec-wrap.ec-app .ec-sidebar-settings-panel{
  width:100%!important;
  max-height:0!important;
  opacity:0!important;
  visibility:hidden!important;
  overflow:hidden!important;
  margin:-10px 0 0!important;
  padding:0 12px!important;
  border:1px solid rgba(0,184,255,0)!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,rgba(2,12,25,.96),rgba(1,7,16,.98))!important;
  box-shadow:none!important;
  transition:max-height .22s ease,opacity .18s ease,visibility .18s ease,margin .22s ease,padding .22s ease,border-color .22s ease,box-shadow .22s ease!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-panel.is-open{
  max-height:520px!important;
  opacity:1!important;
  visibility:visible!important;
  margin:-2px 0 0!important;
  padding:14px!important;
  border-color:rgba(0,184,255,.24)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 14px 32px rgba(0,0,0,.28)!important;
}
.ec-wrap.ec-app [data-ec-settings-open].is-open{
  color:#fff!important;
  background:linear-gradient(90deg,rgba(6,68,146,.72),rgba(0,184,255,.13))!important;
  border-color:rgba(0,184,255,.58)!important;
  box-shadow:0 0 30px rgba(0,83,190,.20),inset 0 1px 0 rgba(255,255,255,.045)!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:8px!important;
  margin:0 0 10px!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-head strong{
  color:#f7fcff!important;
  font-size:15px!important;
  font-weight:950!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-head span{
  color:#6fa4c7!important;
  font-size:11px!important;
  font-weight:850!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-form{
  display:grid!important;
  gap:10px!important;
  margin:0!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-form label{
  color:#dcefff!important;
  font-size:12px!important;
  font-weight:850!important;
  display:grid!important;
  gap:6px!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-form select{
  min-height:42px!important;
  height:42px!important;
  border-radius:12px!important;
  padding:0 12px!important;
  font-size:13px!important;
  font-weight:850!important;
  color:#f1fbff!important;
  background:linear-gradient(180deg,#071a31,#031022)!important;
  border:1px solid rgba(0,184,255,.30)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), inset 0 -12px 22px rgba(0,0,0,.16), 0 8px 18px rgba(0,0,0,.18)!important;
}
.ec-wrap.ec-app .ec-setting-check,
.ec-settings-form .ec-setting-check{
  display:flex!important;
  align-items:center!important;
  grid-template-columns:none!important;
  gap:10px!important;
  padding:10px 11px!important;
  min-height:42px!important;
  border-radius:12px!important;
  border:1px solid rgba(0,184,255,.22)!important;
  background:rgba(0,184,255,.06)!important;
  color:#e8f8ff!important;
  cursor:pointer!important;
}
.ec-wrap.ec-app .ec-setting-check input,
.ec-settings-form .ec-setting-check input{
  width:18px!important;
  height:18px!important;
  min-height:0!important;
  accent-color:#00b8ff!important;
  margin:0!important;
  box-shadow:none!important;
}
.ec-wrap.ec-app .ec-setting-check span,
.ec-settings-form .ec-setting-check span{
  font-size:13px!important;
  font-weight:900!important;
}
.ec-wrap.ec-app .ec-sidebar-save{
  width:100%!important;
  min-height:42px!important;
  height:42px!important;
  border-radius:12px!important;
  font-size:13px!important;
  padding:0 14px!important;
  margin-top:2px!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-sync{
  margin-top:11px!important;
  padding-top:11px!important;
  border-top:1px solid rgba(255,255,255,.07)!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-sync a{
  color:#40ceff!important;
  font-size:13px!important;
  font-weight:950!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-sync small{
  display:block!important;
  margin-top:4px!important;
  color:#7894aa!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:750!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-card-actions,
.ec-wrap[data-ec-gallery]:not(.ec-app) .ec-gallery > .ec-card .ec-card-actions{
  display:none!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-imgbox,
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card.ec-horizontal .ec-imgbox,
.ec-wrap[data-ec-gallery]:not(.ec-app) .ec-gallery > .ec-card .ec-imgbox,
.ec-wrap[data-ec-gallery]:not(.ec-app) .ec-gallery > .ec-card.ec-horizontal .ec-imgbox{
  aspect-ratio:3 / 4!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card.ec-horizontal .ec-imgbox img,
.ec-wrap[data-ec-gallery]:not(.ec-app) .ec-gallery > .ec-card.ec-horizontal .ec-imgbox img{
  transform:rotate(90deg) scale(1.34)!important;
  transform-origin:center center!important;
  object-fit:cover!important;
  object-position:center center!important;
  will-change:transform!important;
}
.ec-image-edit-toggle{
  position:absolute!important;
  right:10px!important;
  bottom:10px!important;
  z-index:8!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:0!important;
  border-radius:14px!important;
  border:1px solid rgba(97,207,255,.55)!important;
  background:linear-gradient(180deg,#0b80e8 0%,#0456bd 58%,#04357d 100%)!important;
  color:#fff!important;
  font-size:19px!important;
  font-weight:950!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
  cursor:pointer!important;
  box-shadow:0 12px 24px rgba(0,0,0,.34),0 0 0 1px rgba(0,184,255,.16),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -10px 18px rgba(0,0,0,.22)!important;
  text-shadow:0 1px 0 rgba(0,0,0,.32)!important;
}
.ec-image-edit-toggle:hover,
.ec-image-edit-toggle:focus{
  transform:translateY(-1px)!important;
  outline:none!important;
  border-color:rgba(127,224,255,.85)!important;
  background:linear-gradient(180deg,#18a6ff 0%,#0768db 58%,#043a8f 100%)!important;
  box-shadow:0 15px 30px rgba(0,0,0,.42),0 0 0 4px rgba(0,184,255,.14),inset 0 1px 0 rgba(255,255,255,.30),inset 0 -10px 18px rgba(0,0,0,.20)!important;
}
.ec-wrap.ec-app .ec-card .ec-imgbox .ec-double-badge{
  top:10px!important;
  right:10px!important;
  bottom:auto!important;
  z-index:7!important;
}
@media(max-width:900px){
  .ec-wrap.ec-app .ec-sidebar-settings-panel.is-open{
    max-height:560px!important;
    padding:14px!important;
  }
  .ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card.ec-horizontal .ec-imgbox{
    aspect-ratio:3 / 4!important;
  }
  .ec-image-edit-toggle{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    right:10px!important;
    bottom:10px!important;
  }
}

/* v1.0.92 — réglage modifier on/off, scrollbar invisible, miniatures sans rognage */
.ec-wrap.ec-app .ec-sidebar-save,
.ec-settings-form .ec-sidebar-save{
  display:none!important;
}
.ec-wrap.ec-app .ec-setting-status,
.ec-settings-form .ec-setting-status{
  display:block!important;
  min-height:14px!important;
  margin:-3px 2px 0!important;
  color:#6ed7ff!important;
  font-size:11px!important;
  font-weight:850!important;
  line-height:1.2!important;
}
.ec-wrap.ec-app .ec-setting-status.is-error,
.ec-settings-form .ec-setting-status.is-error{
  color:#ff8b8b!important;
}
.ec-wrap.ec-app .ec-setting-status.is-saved,
.ec-settings-form .ec-setting-status.is-saved{
  color:#89f7d6!important;
}
.ec-wrap.ec-app .ec-setting-switch,
.ec-settings-form .ec-setting-switch{
  position:relative!important;
  justify-content:space-between!important;
  padding:9px 10px 9px 12px!important;
}
.ec-wrap.ec-app .ec-setting-switch input,
.ec-settings-form .ec-setting-switch input{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:42px!important;
  min-width:42px!important;
  height:24px!important;
  min-height:24px!important;
  border-radius:999px!important;
  border:1px solid rgba(116,154,190,.34)!important;
  background:linear-gradient(180deg,#061323,#020a14)!important;
  box-shadow:inset 0 2px 6px rgba(0,0,0,.45),0 1px 0 rgba(255,255,255,.05)!important;
  position:relative!important;
  cursor:pointer!important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
.ec-wrap.ec-app .ec-setting-switch input:before,
.ec-settings-form .ec-setting-switch input:before{
  content:''!important;
  position:absolute!important;
  width:18px!important;
  height:18px!important;
  left:3px!important;
  top:2px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#f6fbff,#92acc7)!important;
  box-shadow:0 2px 7px rgba(0,0,0,.42)!important;
  transition:transform .16s ease,background .16s ease!important;
}
.ec-wrap.ec-app .ec-setting-switch input:checked,
.ec-settings-form .ec-setting-switch input:checked{
  border-color:rgba(0,205,255,.72)!important;
  background:linear-gradient(180deg,#08a6ff,#0355c6)!important;
  box-shadow:0 0 0 3px rgba(0,184,255,.12),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -8px 16px rgba(0,0,0,.25)!important;
}
.ec-wrap.ec-app .ec-setting-switch input:checked:before,
.ec-settings-form .ec-setting-switch input:checked:before{
  transform:translateX(18px)!important;
  background:linear-gradient(180deg,#fff,#cbf5ff)!important;
}
.ec-edit-form{
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.ec-edit-form::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}
.ec-wrap.ec-app .ec-image-edit-toggle,
.ec-wrap[data-ec-gallery]:not(.ec-app) .ec-image-edit-toggle{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:scale(.92)!important;
}
.ec-wrap.ec-app.ec-edit-mode-active .ec-image-edit-toggle,
.ec-wrap[data-ec-gallery].ec-edit-mode-active .ec-image-edit-toggle,
body.ec-edit-mode-active .ec-image-edit-toggle{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:scale(1)!important;
}
.ec-wrap.ec-app.ec-edit-mode-active .ec-image-edit-toggle:hover,
.ec-wrap.ec-app.ec-edit-mode-active .ec-image-edit-toggle:focus,
body.ec-edit-mode-active .ec-image-edit-toggle:hover,
body.ec-edit-mode-active .ec-image-edit-toggle:focus{
  transform:translateY(-1px)!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-imgbox img,
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card.ec-horizontal .ec-imgbox img,
.ec-wrap[data-ec-gallery]:not(.ec-app) .ec-gallery > .ec-card .ec-imgbox img,
.ec-wrap[data-ec-gallery]:not(.ec-app) .ec-gallery > .ec-card.ec-horizontal .ec-imgbox img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:fill!important;
  object-position:center center!important;
  transform:none!important;
  rotate:none!important;
  padding:0!important;
  margin:0!important;
  background:#020a14!important;
}
@media(max-width:900px){
  .ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-imgbox img,
  .ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card.ec-horizontal .ec-imgbox img{
    object-fit:fill!important;
    transform:none!important;
  }
}

/* v1.0.93 — corrections réglages : select lisible + panneau mobile utilisable */
.ec-wrap select,
.ec-wrap.ec-app select,
.ec-settings-form select,
.ec-sidebar-settings-form select{
  color-scheme:dark!important;
}
.ec-wrap select option,
.ec-wrap.ec-app select option,
.ec-settings-form select option,
.ec-sidebar-settings-form select option,
.ec-wrap.ec-app .ec-sidebar-settings-form select option{
  background:#061426!important;
  color:#e9fbff!important;
}
.ec-wrap select option:checked,
.ec-wrap.ec-app select option:checked,
.ec-settings-form select option:checked,
.ec-sidebar-settings-form select option:checked{
  background:#075fd0!important;
  color:#fff!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-title{
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-close{
  display:grid!important;
  place-items:center!important;
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  border:1px solid rgba(128,207,255,.26)!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,rgba(9,35,66,.96),rgba(3,13,26,.98))!important;
  color:#dff6ff!important;
  font-size:22px!important;
  line-height:1!important;
  font-weight:850!important;
  padding:0!important;
  cursor:pointer!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 18px rgba(0,0,0,.18)!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-close:hover,
.ec-wrap.ec-app .ec-sidebar-settings-close:focus{
  color:#fff!important;
  border-color:rgba(0,184,255,.62)!important;
  background:linear-gradient(180deg,rgba(0,122,255,.70),rgba(4,46,105,.98))!important;
  outline:none!important;
}
@media(max-width:900px){
  .ec-wrap.ec-app .ec-sidebar{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
  }
  .ec-wrap.ec-app.ec-sidebar-settings-open .ec-quick-icons-menu,
  .ec-wrap.ec-app.ec-sidebar-settings-open .ec-user-wrap,
  .ec-wrap.ec-app.ec-sidebar-settings-open .ec-guest-wrap{
    display:none!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-panel.is-open{
    flex:1 1 auto!important;
    max-height:none!important;
    min-height:0!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    margin:0!important;
    padding:16px!important;
    border-radius:20px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-head{
    align-items:center!important;
    margin-bottom:16px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-head strong{
    font-size:19px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-head span{
    font-size:12px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-close{
    display:grid!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    border-radius:15px!important;
    font-size:26px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-form{
    gap:14px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-form label{
    font-size:15px!important;
    gap:9px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-form select{
    min-height:54px!important;
    height:54px!important;
    border-radius:16px!important;
    padding:0 16px!important;
    font-size:16px!important;
    font-weight:850!important;
  }
  .ec-wrap.ec-app .ec-setting-switch,
  .ec-settings-form .ec-setting-switch{
    min-height:58px!important;
    border-radius:16px!important;
    padding:12px 13px 12px 15px!important;
  }
  .ec-wrap.ec-app .ec-setting-switch span,
  .ec-settings-form .ec-setting-switch span{
    font-size:16px!important;
  }
  .ec-wrap.ec-app .ec-setting-switch input,
  .ec-settings-form .ec-setting-switch input{
    width:54px!important;
    min-width:54px!important;
    height:31px!important;
    min-height:31px!important;
  }
  .ec-wrap.ec-app .ec-setting-switch input:before,
  .ec-settings-form .ec-setting-switch input:before{
    width:25px!important;
    height:25px!important;
    left:3px!important;
    top:2px!important;
  }
  .ec-wrap.ec-app .ec-setting-switch input:checked:before,
  .ec-settings-form .ec-setting-switch input:checked:before{
    transform:translateX(23px)!important;
  }
  .ec-wrap.ec-app .ec-setting-status,
  .ec-settings-form .ec-setting-status{
    font-size:13px!important;
    min-height:18px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-sync{
    margin-top:16px!important;
    padding-top:16px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-sync a{
    display:block!important;
    min-height:48px!important;
    padding:13px 14px!important;
    border-radius:15px!important;
    border:1px solid rgba(0,184,255,.28)!important;
    background:rgba(0,184,255,.08)!important;
    font-size:15px!important;
    color:#8fe8ff!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-sync small{
    font-size:12px!important;
    line-height:1.35!important;
    margin-top:8px!important;
  }
}


/* v1.0.94 — paramètres mobile compacts sous le bouton, sans gros panneau scrollable */
@media(max-width:900px){
  .ec-wrap.ec-app.ec-sidebar-settings-open .ec-quick-icons-menu{
    display:grid!important;
  }
  .ec-wrap.ec-app.ec-sidebar-settings-open .ec-user-wrap,
  .ec-wrap.ec-app.ec-sidebar-settings-open .ec-guest-wrap{
    display:block!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-panel.is-open{
    flex:0 0 auto!important;
    max-height:150px!important;
    min-height:0!important;
    overflow:visible!important;
    -webkit-overflow-scrolling:auto!important;
    overscroll-behavior:auto!important;
    margin:-5px 0 0!important;
    padding:8px!important;
    border-radius:14px!important;
    border-color:rgba(0,184,255,.22)!important;
    background:linear-gradient(180deg,rgba(3,15,31,.88),rgba(1,8,18,.94))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 8px 18px rgba(0,0,0,.18)!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-head{
    display:none!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-form{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    margin:0!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-form label:not(.ec-setting-switch){
    display:grid!important;
    gap:0!important;
    font-size:0!important;
    line-height:0!important;
    margin:0!important;
    color:transparent!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-form select{
    width:100%!important;
    min-height:38px!important;
    height:38px!important;
    border-radius:11px!important;
    padding:0 34px 0 10px!important;
    font-size:12px!important;
    line-height:38px!important;
    font-weight:850!important;
    color:#f3fbff!important;
    -webkit-text-fill-color:#f3fbff!important;
    background-color:#061426!important;
    background-image:linear-gradient(45deg,transparent 50%,#bdeeff 50%),linear-gradient(135deg,#bdeeff 50%,transparent 50%),linear-gradient(180deg,#081b33,#03101f)!important;
    background-position:calc(100% - 17px) 16px,calc(100% - 11px) 16px,0 0!important;
    background-size:6px 6px,6px 6px,100% 100%!important;
    background-repeat:no-repeat!important;
    border:1px solid rgba(0,184,255,.30)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05),inset 0 -8px 15px rgba(0,0,0,.17),0 5px 12px rgba(0,0,0,.16)!important;
  }
  .ec-wrap.ec-app .ec-setting-switch,
  .ec-settings-form .ec-setting-switch{
    min-height:38px!important;
    height:38px!important;
    border-radius:11px!important;
    padding:7px 8px 7px 10px!important;
    margin:0!important;
    gap:8px!important;
    background:rgba(0,184,255,.055)!important;
    border-color:rgba(0,184,255,.22)!important;
  }
  .ec-wrap.ec-app .ec-setting-switch span,
  .ec-settings-form .ec-setting-switch span{
    font-size:12px!important;
    line-height:1!important;
    font-weight:900!important;
    white-space:nowrap!important;
  }
  .ec-wrap.ec-app .ec-setting-switch input,
  .ec-settings-form .ec-setting-switch input{
    width:40px!important;
    min-width:40px!important;
    height:23px!important;
    min-height:23px!important;
  }
  .ec-wrap.ec-app .ec-setting-switch input:before,
  .ec-settings-form .ec-setting-switch input:before{
    width:17px!important;
    height:17px!important;
    left:3px!important;
    top:2px!important;
  }
  .ec-wrap.ec-app .ec-setting-switch input:checked:before,
  .ec-settings-form .ec-setting-switch input:checked:before{
    transform:translateX(17px)!important;
  }
  .ec-wrap.ec-app .ec-setting-status,
  .ec-settings-form .ec-setting-status{
    display:none!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-sync{
    display:none!important;
  }
}


/* v1.0.95 — mobile : tri et Activer modifier sur la même ligne sous Paramètres */
@media(max-width:900px){
  .ec-wrap.ec-app .ec-sidebar-settings-panel.is-open{
    max-height:78px!important;
    padding:8px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 104px!important;
    align-items:center!important;
    gap:7px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-form label:not(.ec-setting-switch){
    grid-column:1!important;
    min-width:0!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-form select{
    min-width:0!important;
    width:100%!important;
    height:36px!important;
    min-height:36px!important;
    line-height:36px!important;
    font-size:11px!important;
    padding-left:8px!important;
    padding-right:28px!important;
    background-position:calc(100% - 15px) 15px,calc(100% - 9px) 15px,0 0!important;
  }
  .ec-wrap.ec-app .ec-setting-switch,
  .ec-settings-form .ec-setting-switch{
    grid-column:2!important;
    width:104px!important;
    min-width:104px!important;
    max-width:104px!important;
    height:36px!important;
    min-height:36px!important;
    padding:6px 6px 6px 8px!important;
    gap:5px!important;
    justify-content:space-between!important;
  }
  .ec-wrap.ec-app .ec-setting-switch span,
  .ec-settings-form .ec-setting-switch span{
    font-size:9.8px!important;
    letter-spacing:-.25px!important;
    line-height:1!important;
    max-width:60px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .ec-wrap.ec-app .ec-setting-switch input,
  .ec-settings-form .ec-setting-switch input{
    width:32px!important;
    min-width:32px!important;
    height:19px!important;
    min-height:19px!important;
  }
  .ec-wrap.ec-app .ec-setting-switch input:before,
  .ec-settings-form .ec-setting-switch input:before{
    width:14px!important;
    height:14px!important;
    left:2px!important;
    top:2px!important;
  }
  .ec-wrap.ec-app .ec-setting-switch input:checked:before,
  .ec-settings-form .ec-setting-switch input:checked:before{
    transform:translateX(14px)!important;
  }
}

/* v1.0.96 — fiche technique desktop sombre, proche de la référence */
.ec-technical-viewer{
  background:rgba(0,6,18,.76)!important;
  backdrop-filter:blur(11px)!important;
  -webkit-backdrop-filter:blur(11px)!important;
  padding:38px 92px!important;
  align-items:center!important;
  justify-content:center!important;
}
.ec-technical-viewer.is-open{display:flex!important}
.ec-technical-viewer .ec-viewer-card{
  width:min(1260px,calc(100vw - 260px))!important;
  max-height:min(820px,calc(100vh - 76px))!important;
  display:grid!important;
  grid-template-columns:minmax(360px,500px) minmax(0,1fr)!important;
  gap:0!important;
  padding:28px!important;
  overflow:hidden!important;
  border-radius:28px!important;
  border:1px solid rgba(0,168,255,.58)!important;
  background:linear-gradient(145deg,#07182f 0%,#030b18 56%,#020711 100%)!important;
  box-shadow:0 38px 100px rgba(0,0,0,.78),0 0 0 1px rgba(255,255,255,.025) inset,0 0 58px rgba(0,166,255,.18)!important;
}
.ec-technical-viewer .ec-viewer-image-wrap{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  padding:0!important;
  border-radius:20px!important;
  border:1px solid rgba(0,183,255,.45)!important;
  background:radial-gradient(circle at 50% 0%,rgba(0,183,255,.10),transparent 58%),#020915!important;
  box-shadow:0 0 34px rgba(0,183,255,.22),inset 0 0 24px rgba(0,0,0,.42)!important;
  overflow:hidden!important;
  align-self:stretch!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.ec-technical-viewer .ec-viewer-image-wrap img,
.ec-technical-viewer .ec-viewer img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:calc(min(820px,100vh - 76px) - 58px)!important;
  object-fit:contain!important;
  border-radius:18px!important;
  display:block!important;
  background:#020915!important;
}
.ec-technical-viewer .ec-viewer-info{
  min-width:0!important;
  padding:5px 2px 2px 38px!important;
  color:#eef7ff!important;
  overflow:auto!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.ec-technical-viewer .ec-viewer-info::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
.ec-technical-viewer .ec-viewer-date{
  margin:0 0 10px!important;
  color:#00c8ff!important;
  font-size:15px!important;
  line-height:1.1!important;
  letter-spacing:.04em!important;
  font-weight:950!important;
  text-shadow:0 0 16px rgba(0,200,255,.24)!important;
}
.ec-technical-viewer .ec-viewer-info h2{
  margin:0 0 18px!important;
  color:#f6fbff!important;
  font-size:clamp(30px,2.75vw,44px)!important;
  line-height:1.04!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
}
.ec-technical-viewer .ec-viewer-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  align-items:center!important;
  margin:0 0 22px!important;
  color:#e7f5ff!important;
}
.ec-technical-viewer .ec-viewer-meta .ec-cat-full-badge,
.ec-technical-viewer .ec-viewer-meta .ec-location-chip,
.ec-technical-viewer .ec-viewer-meta .ec-place-chip,
.ec-technical-viewer .ec-viewer-meta span:not(.ec-cat-full-badge span){
  min-height:40px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:0 15px!important;
  border-radius:999px!important;
  border:1px solid rgba(0,184,255,.26)!important;
  background:linear-gradient(180deg,rgba(8,27,48,.86),rgba(3,13,25,.92))!important;
  color:#e7f7ff!important;
  font-size:13px!important;
  font-weight:850!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 20px rgba(0,0,0,.22)!important;
}
.ec-technical-viewer .ec-viewer-panel{
  border:1px solid rgba(0,184,255,.42)!important;
  background:linear-gradient(180deg,rgba(8,25,44,.88),rgba(4,14,27,.92))!important;
  border-radius:18px!important;
  padding:18px 18px!important;
  margin:0 0 18px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 18px 34px rgba(0,0,0,.22)!important;
}
.ec-technical-viewer .ec-viewer-panel h3{
  margin:0 0 14px!important;
  color:#f8fbff!important;
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
}
.ec-technical-viewer .ec-viewer-detail-row{
  display:flex!important;
  align-items:flex-start!important;
  gap:14px!important;
  padding:7px 0!important;
  color:#dcecff!important;
}
.ec-technical-viewer .ec-viewer-detail-icon{
  width:24px!important;
  min-width:24px!important;
  height:24px!important;
  display:grid!important;
  place-items:center!important;
  color:#00c8ff!important;
  font-size:20px!important;
  line-height:1!important;
  text-shadow:0 0 15px rgba(0,200,255,.32)!important;
}
.ec-technical-viewer .ec-viewer-detail-row strong{
  display:block!important;
  color:#b6c7d7!important;
  font-size:13px!important;
  line-height:1.15!important;
  font-weight:850!important;
  margin:0 0 3px!important;
}
.ec-technical-viewer .ec-viewer-detail-row em{
  display:block!important;
  color:#f4f9ff!important;
  font-size:14px!important;
  line-height:1.28!important;
  font-style:normal!important;
  font-weight:650!important;
}
.ec-technical-viewer .ec-viewer-desc{
  color:#dbe8f5!important;
  line-height:1.48!important;
  font-size:15px!important;
  font-weight:500!important;
  white-space:pre-wrap!important;
}
.ec-technical-viewer .ec-viewer-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr 1.25fr!important;
  gap:14px!important;
  margin-top:20px!important;
}
.ec-technical-viewer .ec-viewer-action,
.ec-technical-viewer .ec-flip-btn{
  min-height:52px!important;
  border-radius:15px!important;
  border:1px solid rgba(142,210,255,.20)!important;
  background:linear-gradient(180deg,rgba(14,32,54,.90),rgba(5,16,31,.96))!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 -10px 18px rgba(0,0,0,.20),0 10px 22px rgba(0,0,0,.22)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  font-size:15px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.ec-technical-viewer .ec-viewer-close-action{
  border-color:rgba(0,184,255,.52)!important;
  background:linear-gradient(135deg,#008cff,#0b56ff)!important;
  box-shadow:0 14px 30px rgba(0,103,255,.34),inset 0 1px 0 rgba(255,255,255,.22)!important;
}
.ec-technical-viewer .ec-flip-btn{
  width:100%!important;
  margin-top:12px!important;
}
.ec-technical-viewer .ec-close{
  top:max(32px,calc((100vh - 820px)/2 + 18px))!important;
  right:max(34px,calc((100vw - 1260px)/2 + 20px))!important;
  width:44px!important;
  height:44px!important;
  z-index:2147483648!important;
  border-radius:50%!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background:rgba(8,19,34,.86)!important;
  color:#c8d8e8!important;
  font-size:23px!important;
  line-height:1!important;
  box-shadow:0 10px 24px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.ec-technical-viewer .ec-nav{
  width:70px!important;
  height:70px!important;
  border-radius:50%!important;
  border:1px solid rgba(0,184,255,.42)!important;
  background:rgba(3,15,29,.82)!important;
  color:#fff!important;
  font-size:50px!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:0 16px 38px rgba(0,0,0,.36),0 0 24px rgba(0,184,255,.14)!important;
}
.ec-technical-viewer .ec-prev{left:max(28px,calc(50% - 735px))!important}
.ec-technical-viewer .ec-next{right:max(28px,calc(50% - 735px))!important}
.ec-technical-viewer .ec-nav:after{
  position:absolute!important;
  top:78px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  color:#b9c8d8!important;
  font-size:13px!important;
  font-weight:800!important;
  text-align:center!important;
  letter-spacing:.01em!important;
  text-shadow:0 3px 10px rgba(0,0,0,.55)!important;
}
.ec-technical-viewer .ec-prev:after{content:'Précédent'!important}
.ec-technical-viewer .ec-next:after{content:'Suivant'!important}

@media(max-width:1100px){
  .ec-technical-viewer{padding:20px 60px!important}
  .ec-technical-viewer .ec-viewer-card{width:min(980px,calc(100vw - 140px))!important;grid-template-columns:minmax(310px,420px) minmax(0,1fr)!important;padding:22px!important}
  .ec-technical-viewer .ec-viewer-info{padding-left:26px!important}
  .ec-technical-viewer .ec-viewer-actions{grid-template-columns:1fr!important;gap:10px!important}
}
@media(max-width:900px){
  .ec-technical-viewer{padding:10px!important;background:rgba(0,6,18,.88)!important}
  .ec-technical-viewer .ec-viewer-card{
    width:100%!important;
    max-height:94vh!important;
    grid-template-columns:1fr!important;
    padding:12px!important;
    border-radius:22px!important;
    overflow:auto!important;
    scrollbar-width:none!important;
  }
  .ec-technical-viewer .ec-viewer-card::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
  .ec-technical-viewer .ec-viewer-image-wrap{
    height:auto!important;
    max-height:52vh!important;
    min-height:0!important;
    border-radius:16px!important;
  }
  .ec-technical-viewer .ec-viewer-image-wrap img,
  .ec-technical-viewer .ec-viewer img{
    width:100%!important;
    height:auto!important;
    max-height:50vh!important;
    object-fit:contain!important;
  }
  .ec-technical-viewer .ec-viewer-info{
    padding:16px 2px 2px!important;
    overflow:visible!important;
  }
  .ec-technical-viewer .ec-viewer-info h2{font-size:28px!important;margin-bottom:14px!important}
  .ec-technical-viewer .ec-viewer-meta{gap:7px!important;margin-bottom:14px!important}
  .ec-technical-viewer .ec-viewer-panel{padding:14px!important;border-radius:16px!important;margin-bottom:12px!important}
  .ec-technical-viewer .ec-viewer-actions{grid-template-columns:1fr!important;gap:10px!important;margin-top:12px!important}
  .ec-technical-viewer .ec-viewer-action{min-height:48px!important}
  .ec-technical-viewer .ec-nav{width:48px!important;height:48px!important;font-size:35px!important;top:42%!important}
  .ec-technical-viewer .ec-prev{left:12px!important}
  .ec-technical-viewer .ec-next{right:12px!important}
  .ec-technical-viewer .ec-nav:after{display:none!important}
  .ec-technical-viewer .ec-close{top:16px!important;right:16px!important;width:38px!important;height:38px!important;font-size:21px!important}
}


/* v1.0.97 — fiche technique mobile galerie retravaillée */
.ec-mobile-viewer-layout,
.ec-mobile-back-nav{
  display:none!important;
}

@media(max-width:900px){
  .ec-technical-viewer{
    padding:0!important;
    align-items:stretch!important;
    justify-content:center!important;
    background:rgba(1,8,20,.96)!important;
  }
  .ec-technical-viewer .ec-viewer-card.ec-viewer-desktop-layout{
    display:none!important;
  }
  .ec-technical-viewer .ec-mobile-viewer-layout{
    display:block!important;
    width:100%!important;
    min-height:100vh!important;
    padding:20px 18px 34px!important;
    overflow-y:auto!important;
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
    position:relative!important;
  }
  .ec-technical-viewer .ec-mobile-viewer-layout::-webkit-scrollbar{
    width:0!important;
    height:0!important;
    display:none!important;
  }
  .ec-technical-viewer .ec-nav{
    display:none!important;
  }
  .ec-technical-viewer .ec-close{
    top:18px!important;
    right:18px!important;
    width:56px!important;
    height:56px!important;
    border-radius:50%!important;
    border:1px solid rgba(128,186,255,.26)!important;
    background:rgba(9,21,38,.72)!important;
    color:#f4f9ff!important;
    font-size:24px!important;
    box-shadow:0 12px 28px rgba(0,0,0,.3)!important;
  }
  .ec-mobile-back-nav{
    display:none!important;
    position:fixed!important;
    top:18px!important;
    left:18px!important;
    z-index:2147483648!important;
    width:56px!important;
    height:56px!important;
    border-radius:50%!important;
    border:1px solid rgba(128,186,255,.26)!important;
    background:rgba(9,21,38,.72)!important;
    color:#f4f9ff!important;
    font-size:30px!important;
    line-height:1!important;
    box-shadow:0 12px 28px rgba(0,0,0,.3)!important;
  }
  .ec-technical-viewer.ec-mobile-details-open .ec-mobile-back-nav{
    display:grid!important;
    place-items:center!important;
  }
  .ec-mobile-viewer-stage,
  .ec-mobile-details-screen{
    display:none!important;
  }
  .ec-technical-viewer:not(.ec-mobile-details-open) .ec-mobile-viewer-stage{
    display:block!important;
  }
  .ec-technical-viewer.ec-mobile-details-open .ec-mobile-details-screen{
    display:block!important;
  }
  .ec-mobile-viewer-poster{
    margin-top:44px!important;
    border-radius:0!important;
    overflow:visible!important;
    text-align:center!important;
  }
  .ec-mobile-viewer-poster img{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    border-radius:0!important;
    display:block!important;
    margin:0 auto!important;
    background:transparent!important;
  }
  .ec-mobile-viewer-dots{
    display:flex!important;
    justify-content:center!important;
    gap:10px!important;
    margin:10px 0 4px!important;
  }
  .ec-mobile-viewer-dots span{
    width:24px!important;
    height:6px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.2)!important;
  }
  .ec-mobile-viewer-dots span.is-active{
    background:#11aaff!important;
  }
  .ec-mobile-summary-card,
  .ec-mobile-summary-panel,
  .ec-mobile-info-panel,
  .ec-mobile-desc-panel,
  .ec-mobile-actions-panel{
    border:1px solid rgba(0,171,255,.34)!important;
    background:linear-gradient(140deg,rgba(5,18,38,.98) 0%,rgba(2,10,22,.98) 100%)!important;
    box-shadow:0 18px 45px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05),0 0 26px rgba(0,144,255,.08)!important;
  }
  .ec-mobile-summary-card{
    border-radius:30px!important;
    padding:24px 22px 22px!important;
    margin:-16px 10px 0!important;
    position:relative!important;
    z-index:3!important;
  }
  .ec-mobile-summary-panel{
    border-radius:30px!important;
    padding:24px 22px 22px!important;
    margin:0 0 22px!important;
  }
  .ec-mobile-details-header{
    display:block!important;
    padding:70px 8px 18px!important;
  }
  .ec-mobile-details-header h2{
    margin:0!important;
    color:#ffffff!important;
    font-size:46px!important;
    line-height:1!important;
    font-weight:950!important;
    letter-spacing:-.04em!important;
  }
  .ec-mobile-summary-card .ec-viewer-date,
  .ec-mobile-summary-panel .ec-viewer-date{
    color:#19b9ff!important;
    font-size:18px!important;
    font-weight:950!important;
    margin:0 0 10px!important;
  }
  .ec-mobile-summary-card h2,
  .ec-mobile-summary-panel h2{
    margin:0 0 20px!important;
    color:#fff!important;
    font-size:32px!important;
    line-height:1.05!important;
    font-weight:950!important;
    letter-spacing:-.04em!important;
  }
  .ec-mobile-summary-chips{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:12px!important;
    margin:0 0 18px!important;
  }
  .ec-mobile-info-chip{
    min-height:54px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 20px!important;
    border-radius:18px!important;
    border:1px solid rgba(29,162,255,.36)!important;
    background:rgba(4,20,38,.78)!important;
    color:#eef8ff!important;
    font-size:18px!important;
    font-weight:800!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
  }
  .ec-mobile-address-button{
    width:100%!important;
    min-height:64px!important;
    padding:0 20px!important;
    border-radius:20px!important;
    border:1px solid rgba(29,162,255,.28)!important;
    background:rgba(4,20,38,.78)!important;
    color:#eef8ff!important;
    font-size:17px!important;
    font-weight:750!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    text-align:left!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
  }
  .ec-mobile-address-button:after{
    content:'›'!important;
    font-size:30px!important;
    line-height:1!important;
    color:#a9cfff!important;
  }
  .ec-mobile-details-button{
    width:100%!important;
    min-height:78px!important;
    margin-top:18px!important;
    padding:0 24px!important;
    border-radius:26px!important;
    border:0!important;
    background:linear-gradient(135deg,#1e99ff,#1760ff)!important;
    color:#fff!important;
    font-size:22px!important;
    font-weight:900!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:16px!important;
    box-shadow:0 18px 36px rgba(20,95,255,.34),inset 0 1px 0 rgba(255,255,255,.22)!important;
  }
  .ec-mobile-details-button span{font-size:30px!important;line-height:1!important}
  .ec-mobile-details-peek{
    display:grid!important;
    place-items:center!important;
    width:42px!important;
    height:42px!important;
    margin:16px auto 0!important;
    border:0!important;
    background:transparent!important;
    color:#1fb7ff!important;
    font-size:42px!important;
    line-height:1!important;
    text-shadow:0 0 18px rgba(31,183,255,.45)!important;
  }
  .ec-mobile-info-panel,
  .ec-mobile-desc-panel,
  .ec-mobile-actions-panel{
    border-radius:26px!important;
    padding:22px 22px!important;
    margin:0 0 22px!important;
  }
  .ec-mobile-info-panel h3,
  .ec-mobile-desc-panel h3,
  .ec-mobile-actions-panel h3{
    margin:0 0 16px!important;
    color:#fff!important;
    font-size:22px!important;
    line-height:1.15!important;
    font-weight:900!important;
  }
  .ec-mobile-info-panel .ec-viewer-detail-row{
    gap:16px!important;
    padding:18px 0!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
  }
  .ec-mobile-info-panel .ec-viewer-detail-row:first-of-type{
    border-top:0!important;
    padding-top:8px!important;
  }
  .ec-mobile-info-panel .ec-viewer-detail-icon{
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    font-size:28px!important;
    margin-top:4px!important;
  }
  .ec-mobile-info-panel .ec-viewer-detail-row strong{
    font-size:18px!important;
    color:#9db2c8!important;
    margin-bottom:8px!important;
  }
  .ec-mobile-info-panel .ec-viewer-detail-row em{
    font-size:20px!important;
    line-height:1.32!important;
    color:#f7fbff!important;
    font-weight:700!important;
  }
  .ec-mobile-desc-panel .ec-viewer-desc{
    font-size:18px!important;
    line-height:1.55!important;
    color:#e9f3ff!important;
  }
  .ec-mobile-actions-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
  }
  .ec-mobile-action{
    min-height:84px!important;
    border-radius:18px!important;
    padding:14px 10px!important;
    flex-direction:column!important;
    gap:10px!important;
    font-size:17px!important;
    line-height:1.15!important;
    text-align:center!important;
  }
  .ec-mobile-action span{
    font-size:26px!important;
    line-height:1!important;
  }
}

/* v1.0.97 — fiche galerie/calendrier mobile, sans toucher à À venir */
.ec-technical-viewer .ec-mobile-viewer-layout,
.ec-technical-viewer .ec-mobile-back-nav{
  display:none!important;
}
.ec-technical-viewer .ec-viewer-desktop-layout{
  display:grid!important;
}
@media(max-width:900px){
  .ec-technical-viewer{
    display:none!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    padding:0!important;
    background:radial-gradient(circle at 50% -10%,rgba(0,139,255,.12),transparent 34%),#010611!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  .ec-technical-viewer.is-open{display:block!important}
  .ec-technical-viewer::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
  .ec-technical-viewer .ec-viewer-desktop-layout,
  .ec-technical-viewer > .ec-nav{
    display:none!important;
  }
  .ec-technical-viewer .ec-mobile-viewer-layout{
    display:block!important;
    width:100%!important;
    min-height:100dvh!important;
    color:#fff!important;
  }
  .ec-technical-viewer .ec-close{
    position:fixed!important;
    top:22px!important;
    right:24px!important;
    width:64px!important;
    height:64px!important;
    border-radius:999px!important;
    z-index:2147483649!important;
    border:1px solid rgba(116,175,229,.32)!important;
    background:rgba(4,14,27,.78)!important;
    color:#fff!important;
    font-size:42px!important;
    font-weight:300!important;
    line-height:1!important;
    box-shadow:0 14px 34px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.08)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
  }
  .ec-technical-viewer .ec-mobile-back-nav{
    display:none!important;
    position:fixed!important;
    top:22px!important;
    left:24px!important;
    width:64px!important;
    height:64px!important;
    border-radius:999px!important;
    z-index:2147483649!important;
    border:1px solid rgba(116,175,229,.32)!important;
    background:rgba(4,14,27,.78)!important;
    color:#fff!important;
    font-size:38px!important;
    font-weight:600!important;
    line-height:1!important;
    box-shadow:0 14px 34px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.08)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
  }
  .ec-technical-viewer.ec-mobile-details-open .ec-mobile-back-nav{display:grid!important;place-items:center!important}
  .ec-technical-viewer.ec-mobile-details-open .ec-mobile-viewer-stage{display:none!important}
  .ec-mobile-viewer-stage{
    min-height:100dvh!important;
    padding:0 0 32px!important;
    background:linear-gradient(180deg,#020713 0%,#020713 60%,#000511 100%)!important;
    overflow:hidden!important;
  }
  .ec-mobile-viewer-poster{
    width:100%!important;
    min-height:58dvh!important;
    max-height:74dvh!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    background:#020711!important;
    overflow:hidden!important;
  }
  .ec-mobile-viewer-poster img{
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    max-height:74dvh!important;
    object-fit:contain!important;
    border-radius:0!important;
    background:#020711!important;
    display:block!important;
  }
  .ec-mobile-viewer-dots{
    display:flex!important;
    justify-content:center!important;
    gap:10px!important;
    margin:-26px 0 16px!important;
    position:relative!important;
    z-index:3!important;
  }
  .ec-mobile-viewer-dots span{
    width:24px!important;
    height:6px!important;
    border-radius:999px!important;
    background:rgba(161,183,203,.32)!important;
    box-shadow:0 0 10px rgba(0,0,0,.42)!important;
  }
  .ec-mobile-viewer-dots span.is-active{
    background:#04c4ff!important;
    box-shadow:0 0 16px rgba(4,196,255,.48)!important;
  }
  .ec-mobile-summary-card{
    position:relative!important;
    z-index:4!important;
    margin:0 18px!important;
    padding:24px 22px 28px!important;
    border-radius:28px!important;
    border:1px solid rgba(0,184,255,.48)!important;
    background:linear-gradient(180deg,rgba(6,21,39,.96),rgba(3,12,25,.98))!important;
    box-shadow:0 -10px 40px rgba(0,0,0,.38),0 0 38px rgba(0,166,255,.14),inset 0 1px 0 rgba(255,255,255,.055)!important;
  }
  .ec-mobile-summary-card:after{
    content:''!important;
    position:absolute!important;
    left:50%!important;
    bottom:-25px!important;
    width:104px!important;
    height:44px!important;
    transform:translateX(-50%)!important;
    border-radius:0 0 60px 60px!important;
    border-bottom:1px solid rgba(0,184,255,.38)!important;
    background:radial-gradient(circle at 50% 0,rgba(0,184,255,.20),transparent 62%)!important;
    pointer-events:none!important;
  }
  .ec-mobile-summary-card .ec-viewer-date,
  .ec-mobile-summary-panel .ec-viewer-date{
    color:#00c8ff!important;
    font-size:20px!important;
    letter-spacing:.12em!important;
    font-weight:950!important;
    margin:0 0 12px!important;
    text-shadow:0 0 16px rgba(0,200,255,.26)!important;
  }
  .ec-mobile-summary-card .ec-viewer-date:before,
  .ec-mobile-summary-panel .ec-viewer-date:before{
    content:'📅'!important;
    margin-right:10px!important;
    font-size:22px!important;
    filter:hue-rotate(150deg) saturate(1.8)!important;
  }
  .ec-mobile-summary-card h2,
  .ec-mobile-summary-panel h2{
    margin:0 0 18px!important;
    color:#fff!important;
    font-size:clamp(34px,9vw,54px)!important;
    line-height:1.04!important;
    font-weight:950!important;
    letter-spacing:.01em!important;
    text-shadow:0 4px 24px rgba(0,0,0,.44)!important;
  }
  .ec-mobile-summary-chips{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    flex-wrap:wrap!important;
    margin:0 0 18px!important;
  }
  .ec-mobile-info-chip{
    min-height:52px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    border-radius:999px!important;
    border:1px solid rgba(0,184,255,.32)!important;
    background:linear-gradient(180deg,rgba(8,27,48,.92),rgba(4,13,27,.96))!important;
    color:#f5fbff!important;
    padding:0 22px!important;
    font-size:20px!important;
    font-weight:900!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 22px rgba(0,0,0,.26)!important;
  }
  .ec-mobile-info-chip[data-ec-mobile-time-chip]:before{content:'◷';color:#00c8ff;font-size:25px;line-height:1}
  .ec-mobile-info-chip[data-ec-mobile-type-chip]:before{content:'◇';color:#00c8ff;font-size:25px;line-height:1}
  .ec-mobile-info-chip[data-ec-mobile-location-chip]:before{content:'⌖';color:#00c8ff;font-size:26px;line-height:1}
  .ec-mobile-address-button{
    width:100%!important;
    min-height:70px!important;
    margin:8px 0 20px!important;
    padding:0 54px 0 58px!important;
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    border-radius:20px!important;
    border:1px solid rgba(54,110,155,.36)!important;
    background:linear-gradient(180deg,rgba(7,24,42,.88),rgba(5,15,31,.96))!important;
    color:#eef7ff!important;
    font-size:20px!important;
    font-weight:900!important;
    text-align:left!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 12px 28px rgba(0,0,0,.24)!important;
  }
  .ec-mobile-address-button:before{
    content:'⌖'!important;
    position:absolute!important;
    left:22px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    color:#00c8ff!important;
    font-size:30px!important;
    font-weight:700!important;
  }
  .ec-mobile-address-button:after{
    content:'›'!important;
    position:absolute!important;
    right:22px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    color:#a7bed4!important;
    font-size:44px!important;
    font-weight:400!important;
  }
  .ec-mobile-details-button{
    width:100%!important;
    min-height:76px!important;
    border:0!important;
    border-radius:22px!important;
    background:linear-gradient(135deg,#029bff,#0c53ff)!important;
    color:#fff!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:18px!important;
    font-size:24px!important;
    font-weight:950!important;
    box-shadow:0 14px 32px rgba(0,104,255,.38),inset 0 1px 0 rgba(255,255,255,.24)!important;
  }
  .ec-mobile-details-button span{font-size:42px!important;line-height:1!important;font-weight:400!important}
  .ec-mobile-details-peek{
    position:absolute!important;
    left:50%!important;
    bottom:-29px!important;
    width:64px!important;
    height:44px!important;
    transform:translateX(-50%)!important;
    border:0!important;
    background:transparent!important;
    color:#02c7ff!important;
    font-size:40px!important;
    line-height:1!important;
    text-shadow:0 0 18px rgba(2,199,255,.55)!important;
    z-index:5!important;
  }
  .ec-mobile-details-screen{
    display:none!important;
    min-height:100dvh!important;
    padding:130px 18px 34px!important;
    background:radial-gradient(circle at 88% 14%,rgba(0,184,255,.16),transparent 28%),linear-gradient(180deg,#010712,#020815 100%)!important;
  }
  .ec-technical-viewer.ec-mobile-details-open .ec-mobile-details-screen{display:block!important}
  .ec-mobile-details-header h2{
    margin:0 4px 28px!important;
    color:#fff!important;
    font-size:clamp(42px,12vw,62px)!important;
    line-height:1!important;
    font-weight:950!important;
    letter-spacing:-.025em!important;
  }
  .ec-mobile-summary-panel,
  .ec-mobile-info-panel,
  .ec-mobile-desc-panel,
  .ec-mobile-actions-panel{
    border-radius:26px!important;
    border:1px solid rgba(0,184,255,.42)!important;
    background:linear-gradient(180deg,rgba(6,21,39,.92),rgba(3,12,25,.96))!important;
    box-shadow:0 18px 42px rgba(0,0,0,.32),0 0 28px rgba(0,166,255,.10),inset 0 1px 0 rgba(255,255,255,.05)!important;
    padding:26px!important;
    margin:0 0 24px!important;
  }
  .ec-mobile-summary-panel{padding:28px!important}
  .ec-mobile-summary-chips--details{margin-bottom:0!important}
  .ec-mobile-info-panel h3,
  .ec-mobile-desc-panel h3,
  .ec-mobile-actions-panel h3{
    margin:0 0 26px!important;
    color:#fff!important;
    font-size:27px!important;
    font-weight:950!important;
    line-height:1.15!important;
    letter-spacing:-.01em!important;
  }
  .ec-mobile-info-panel .ec-viewer-detail-row{
    display:flex!important;
    align-items:flex-start!important;
    gap:22px!important;
    padding:22px 0!important;
    border-bottom:1px solid rgba(151,184,214,.18)!important;
  }
  .ec-mobile-info-panel .ec-viewer-detail-row:last-child{border-bottom:0!important;padding-bottom:0!important}
  .ec-mobile-info-panel .ec-viewer-detail-icon{
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    color:#00c8ff!important;
    font-size:38px!important;
    display:grid!important;
    place-items:center!important;
    text-shadow:0 0 18px rgba(0,200,255,.28)!important;
  }
  .ec-mobile-info-panel .ec-viewer-detail-row strong{
    color:#95a7ba!important;
    display:block!important;
    font-size:23px!important;
    line-height:1.15!important;
    font-weight:850!important;
    margin-bottom:10px!important;
  }
  .ec-mobile-info-panel .ec-viewer-detail-row em{
    color:#fff!important;
    display:block!important;
    font-size:25px!important;
    line-height:1.3!important;
    font-style:normal!important;
    font-weight:850!important;
  }
  .ec-mobile-desc-panel .ec-viewer-desc{
    color:#f1f7ff!important;
    font-size:25px!important;
    line-height:1.52!important;
    font-weight:500!important;
    white-space:pre-wrap!important;
  }
  .ec-mobile-actions-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
  }
  .ec-mobile-actions-grid .ec-mobile-action{
    min-height:84px!important;
    border-radius:16px!important;
    border:1px solid rgba(142,210,255,.25)!important;
    background:linear-gradient(180deg,rgba(14,32,54,.92),rgba(5,16,31,.98))!important;
    color:#fff!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 -12px 20px rgba(0,0,0,.2),0 12px 24px rgba(0,0,0,.22)!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
    padding:0 12px!important;
    font-size:20px!important;
    font-weight:950!important;
    cursor:pointer!important;
    white-space:nowrap!important;
  }
  .ec-mobile-actions-grid .ec-mobile-action span{font-size:28px!important;line-height:1!important}
}
@media(max-width:520px){
  .ec-technical-viewer .ec-close,
  .ec-technical-viewer .ec-mobile-back-nav{
    width:48px!important;
    height:48px!important;
    top:18px!important;
  }
  .ec-technical-viewer .ec-close{right:18px!important;font-size:32px!important}
  .ec-technical-viewer .ec-mobile-back-nav{left:18px!important;font-size:30px!important}
  .ec-mobile-viewer-poster{min-height:55dvh!important;max-height:70dvh!important}
  .ec-mobile-viewer-poster img{max-height:70dvh!important}
  .ec-mobile-summary-card{margin:0 12px!important;padding:22px 18px 26px!important;border-radius:24px!important}
  .ec-mobile-summary-card .ec-viewer-date,
  .ec-mobile-summary-panel .ec-viewer-date{font-size:16px!important}
  .ec-mobile-summary-card h2,
  .ec-mobile-summary-panel h2{font-size:38px!important}
  .ec-mobile-info-chip{min-height:44px!important;font-size:16px!important;padding:0 16px!important}
  .ec-mobile-address-button{min-height:62px!important;font-size:16px!important;padding-left:50px!important}
  .ec-mobile-details-button{min-height:66px!important;font-size:20px!important}
  .ec-mobile-details-screen{padding:96px 14px 28px!important}
  .ec-mobile-details-header h2{font-size:44px!important;margin-bottom:24px!important}
  .ec-mobile-summary-panel,
  .ec-mobile-info-panel,
  .ec-mobile-desc-panel,
  .ec-mobile-actions-panel{padding:22px!important;border-radius:22px!important;margin-bottom:18px!important}
  .ec-mobile-info-panel h3,
  .ec-mobile-desc-panel h3,
  .ec-mobile-actions-panel h3{font-size:24px!important;margin-bottom:18px!important}
  .ec-mobile-info-panel .ec-viewer-detail-row{gap:18px!important;padding:18px 0!important}
  .ec-mobile-info-panel .ec-viewer-detail-icon{width:38px!important;min-width:38px!important;font-size:32px!important}
  .ec-mobile-info-panel .ec-viewer-detail-row strong{font-size:18px!important;margin-bottom:8px!important}
  .ec-mobile-info-panel .ec-viewer-detail-row em{font-size:20px!important}
  .ec-mobile-desc-panel .ec-viewer-desc{font-size:20px!important}
  .ec-mobile-actions-grid{gap:10px!important}
  .ec-mobile-actions-grid .ec-mobile-action{min-height:66px!important;font-size:15px!important;padding:0 8px!important;gap:8px!important}
  .ec-mobile-actions-grid .ec-mobile-action span{font-size:22px!important}
}


/* v1.0.98 — correction fiche mobile galerie/calendrier : moins de marges, flèches, pages compactes */
@media(max-width:900px){
  .ec-technical-viewer.is-open{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    background:radial-gradient(circle at 82% 12%,rgba(0,184,255,.12),transparent 26%),#010611!important;
  }
  .ec-technical-viewer .ec-mobile-viewer-layout{
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
  }
  .ec-mobile-viewer-stage{
    height:100dvh!important;
    min-height:100dvh!important;
    padding:0!important;
    overflow:hidden!important;
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    background:#010611!important;
  }
  .ec-mobile-viewer-poster{
    width:100vw!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    flex:0 1 auto!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    overflow:visible!important;
    background:#010611!important;
  }
  .ec-mobile-viewer-poster img{
    width:100vw!important;
    max-width:none!important;
    height:auto!important;
    max-height:calc(100dvh - 250px)!important;
    min-height:0!important;
    object-fit:contain!important;
    object-position:top center!important;
    margin:0!important;
    border-radius:0!important;
    display:block!important;
  }
  .ec-mobile-viewer-dots{
    margin:-12px 0 8px!important;
    height:8px!important;
    flex:0 0 auto!important;
  }
  .ec-mobile-viewer-dots span{width:20px!important;height:5px!important}
  .ec-mobile-summary-card{
    flex:0 0 auto!important;
    margin:0 10px 16px!important;
    padding:16px 16px 20px!important;
    border-radius:22px!important;
    max-height:245px!important;
    overflow:hidden!important;
  }
  .ec-mobile-summary-card .ec-viewer-date{
    font-size:15px!important;
    letter-spacing:.10em!important;
    margin:0 0 7px!important;
  }
  .ec-mobile-summary-card .ec-viewer-date:before{font-size:17px!important;margin-right:7px!important}
  .ec-mobile-summary-card h2{
    font-size:clamp(26px,8vw,36px)!important;
    line-height:1.03!important;
    margin:0 0 10px!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  .ec-mobile-summary-chips{
    gap:8px!important;
    margin:0 0 10px!important;
    flex-wrap:nowrap!important;
    overflow:hidden!important;
  }
  .ec-mobile-info-chip{
    min-height:34px!important;
    height:34px!important;
    padding:0 12px!important;
    font-size:14px!important;
    gap:7px!important;
    white-space:nowrap!important;
    max-width:33%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .ec-mobile-info-chip[data-ec-mobile-time-chip]:before,
  .ec-mobile-info-chip[data-ec-mobile-type-chip]:before,
  .ec-mobile-info-chip[data-ec-mobile-location-chip]:before{font-size:18px!important;flex:0 0 auto!important}
  .ec-mobile-address-button{
    min-height:46px!important;
    height:46px!important;
    margin:4px 0 10px!important;
    padding:0 38px 0 42px!important;
    border-radius:15px!important;
    font-size:14px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .ec-mobile-address-button:before{left:15px!important;font-size:22px!important}
  .ec-mobile-address-button:after{right:14px!important;font-size:30px!important}
  .ec-mobile-details-button{
    min-height:52px!important;
    height:52px!important;
    border-radius:17px!important;
    font-size:18px!important;
    gap:10px!important;
  }
  .ec-mobile-details-button span{font-size:30px!important}
  .ec-mobile-details-peek{display:none!important}

  /* Flèches précédent / suivant visibles sur mobile */
  .ec-technical-viewer.is-open > .ec-nav{
    display:grid!important;
    place-items:center!important;
    position:fixed!important;
    top:36dvh!important;
    width:46px!important;
    height:46px!important;
    border-radius:999px!important;
    z-index:2147483648!important;
    border:1px solid rgba(116,175,229,.38)!important;
    background:rgba(4,14,27,.72)!important;
    color:#fff!important;
    font-size:40px!important;
    line-height:1!important;
    box-shadow:0 12px 30px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.08)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
  }
  .ec-technical-viewer.is-open > .ec-prev{left:10px!important}
  .ec-technical-viewer.is-open > .ec-next{right:10px!important}
  .ec-technical-viewer.ec-mobile-details-open > .ec-nav{display:none!important}

  .ec-technical-viewer .ec-close,
  .ec-technical-viewer .ec-mobile-back-nav{
    width:46px!important;
    height:46px!important;
    top:14px!important;
    z-index:2147483650!important;
  }
  .ec-technical-viewer .ec-close{right:14px!important;font-size:31px!important}
  .ec-technical-viewer .ec-mobile-back-nav{left:14px!important;font-size:29px!important}

  /* Page détails : compacte, sans gros scroll visible */
  .ec-technical-viewer.ec-mobile-details-open{
    overflow:hidden!important;
  }
  .ec-technical-viewer.ec-mobile-details-open .ec-mobile-viewer-layout{
    overflow:hidden!important;
  }
  .ec-mobile-details-screen{
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    padding:74px 12px 12px!important;
    display:none!important;
    background:radial-gradient(circle at 90% 12%,rgba(0,184,255,.14),transparent 24%),linear-gradient(180deg,#010610,#020814 100%)!important;
  }
  .ec-technical-viewer.ec-mobile-details-open .ec-mobile-details-screen{
    display:flex!important;
    flex-direction:column!important;
    gap:9px!important;
  }
  .ec-mobile-details-header h2{
    font-size:34px!important;
    line-height:1!important;
    margin:0 2px 4px!important;
  }
  .ec-mobile-summary-panel,
  .ec-mobile-info-panel,
  .ec-mobile-desc-panel,
  .ec-mobile-actions-panel{
    border-radius:18px!important;
    padding:12px 14px!important;
    margin:0!important;
    flex:0 0 auto!important;
  }
  .ec-mobile-summary-panel .ec-viewer-date{
    font-size:14px!important;
    margin:0 0 4px!important;
    letter-spacing:.09em!important;
  }
  .ec-mobile-summary-panel .ec-viewer-date:before{font-size:16px!important;margin-right:6px!important}
  .ec-mobile-summary-panel h2{
    font-size:30px!important;
    line-height:1.04!important;
    margin:0 0 8px!important;
    display:-webkit-box!important;
    -webkit-line-clamp:1!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  .ec-mobile-summary-panel .ec-mobile-summary-chips{margin:0!important;gap:7px!important;flex-wrap:nowrap!important;overflow:hidden!important}
  .ec-mobile-info-panel h3,
  .ec-mobile-desc-panel h3,
  .ec-mobile-actions-panel h3{
    font-size:20px!important;
    line-height:1.1!important;
    margin:0 0 8px!important;
  }
  .ec-mobile-info-panel .ec-viewer-detail-row{
    gap:12px!important;
    padding:8px 0!important;
    border-bottom:1px solid rgba(151,184,214,.14)!important;
  }
  .ec-mobile-info-panel .ec-viewer-detail-icon{
    width:28px!important;
    min-width:28px!important;
    height:28px!important;
    font-size:25px!important;
  }
  .ec-mobile-info-panel .ec-viewer-detail-row strong{
    font-size:13px!important;
    margin-bottom:2px!important;
    line-height:1.05!important;
  }
  .ec-mobile-info-panel .ec-viewer-detail-row em{
    font-size:15px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:calc(100vw - 76px)!important;
  }
  .ec-mobile-desc-panel .ec-viewer-desc{
    font-size:15px!important;
    line-height:1.32!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    white-space:normal!important;
  }
  .ec-mobile-actions-grid{gap:8px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .ec-mobile-actions-grid .ec-mobile-action{
    min-height:46px!important;
    height:46px!important;
    border-radius:13px!important;
    font-size:13px!important;
    padding:0 6px!important;
    gap:6px!important;
  }
  .ec-mobile-actions-grid .ec-mobile-action span{font-size:18px!important}
}
@media(max-width:380px){
  .ec-mobile-viewer-poster img{max-height:calc(100dvh - 230px)!important}
  .ec-mobile-summary-card{padding:13px 13px 16px!important;max-height:225px!important}
  .ec-mobile-summary-card h2{font-size:28px!important}
  .ec-mobile-info-chip{font-size:12px!important;padding:0 9px!important;min-height:31px!important;height:31px!important}
  .ec-mobile-address-button{height:42px!important;min-height:42px!important;font-size:13px!important;margin-bottom:8px!important}
  .ec-mobile-details-button{height:48px!important;min-height:48px!important;font-size:16px!important}
  .ec-mobile-details-screen{padding:66px 10px 10px!important;gap:7px!important}
  .ec-mobile-details-header h2{font-size:30px!important}
  .ec-mobile-summary-panel h2{font-size:25px!important}
  .ec-mobile-info-panel .ec-viewer-detail-row{padding:6px 0!important}
  .ec-mobile-desc-panel .ec-viewer-desc{-webkit-line-clamp:1!important}
}


/* v1.0.99 — fiche mobile galerie/calendrier : plein écran réel, sans marges, une vue front + une vue détails compacte */
@media(max-width:900px){
  .ec-technical-viewer.is-open{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
    background:radial-gradient(circle at 82% 7%,rgba(0,184,255,.13),transparent 23%),#010611!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .ec-technical-viewer .ec-mobile-viewer-layout{
    position:absolute!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .ec-technical-viewer .ec-viewer-desktop-layout{display:none!important}
  .ec-mobile-viewer-stage{
    position:absolute!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    display:block!important;
    overflow:hidden!important;
    background:#010611!important;
  }
  .ec-technical-viewer.ec-mobile-details-open .ec-mobile-viewer-stage{display:none!important}
  .ec-mobile-viewer-poster{
    position:absolute!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100vw!important;
    height:calc(100dvh - 212px)!important;
    min-height:0!important;
    max-height:none!important;
    padding:0!important;
    margin:0!important;
    display:block!important;
    overflow:hidden!important;
    background:#010611!important;
  }
  .ec-mobile-viewer-poster:after{
    content:''!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    height:34%!important;
    background:linear-gradient(180deg,rgba(1,6,17,0),#010611 96%)!important;
    pointer-events:none!important;
    z-index:2!important;
  }
  .ec-mobile-viewer-poster img,
  .ec-technical-viewer .ec-mobile-viewer-poster img[data-ec-viewer-img]{
    width:100vw!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    min-width:100vw!important;
    min-height:100%!important;
    object-fit:cover!important;
    object-position:top center!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    display:block!important;
    background:#010611!important;
  }
  .ec-mobile-viewer-dots{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:218px!important;
    height:8px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:9px!important;
    z-index:10!important;
  }
  .ec-mobile-viewer-dots span{width:22px!important;height:5px!important;border-radius:999px!important;background:rgba(143,169,191,.36)!important}
  .ec-mobile-viewer-dots span.is-active{background:#02c8ff!important;box-shadow:0 0 14px rgba(2,200,255,.55)!important}
  .ec-mobile-summary-card{
    position:absolute!important;
    left:12px!important;
    right:12px!important;
    bottom:14px!important;
    width:auto!important;
    height:198px!important;
    max-height:none!important;
    min-height:0!important;
    margin:0!important;
    padding:14px 16px 15px!important;
    border-radius:22px!important;
    overflow:hidden!important;
    z-index:11!important;
    border:1px solid rgba(0,184,255,.48)!important;
    background:linear-gradient(180deg,rgba(6,21,39,.98),rgba(3,12,25,.995))!important;
    box-shadow:0 -12px 38px rgba(0,0,0,.45),0 0 34px rgba(0,166,255,.14),inset 0 1px 0 rgba(255,255,255,.06)!important;
  }
  .ec-mobile-summary-card:after{display:none!important}
  .ec-mobile-summary-card .ec-viewer-date{
    margin:0 0 6px!important;
    font-size:15px!important;
    line-height:1.1!important;
    letter-spacing:.12em!important;
  }
  .ec-mobile-summary-card .ec-viewer-date:before{font-size:16px!important;margin-right:7px!important}
  .ec-mobile-summary-card h2{
    margin:0 0 9px!important;
    font-size:clamp(27px,8.2vw,36px)!important;
    line-height:1.02!important;
    letter-spacing:-.018em!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:1!important;
    overflow:hidden!important;
  }
  .ec-mobile-summary-chips{
    margin:0 0 9px!important;
    gap:8px!important;
    flex-wrap:nowrap!important;
    overflow:hidden!important;
  }
  .ec-mobile-info-chip{
    height:34px!important;
    min-height:34px!important;
    max-width:33%!important;
    padding:0 11px!important;
    border-radius:999px!important;
    gap:7px!important;
    font-size:14px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .ec-mobile-info-chip[data-ec-mobile-time-chip]:before,
  .ec-mobile-info-chip[data-ec-mobile-type-chip]:before,
  .ec-mobile-info-chip[data-ec-mobile-location-chip]:before{font-size:17px!important;flex:0 0 auto!important}
  .ec-mobile-address-button{
    height:42px!important;
    min-height:42px!important;
    margin:0 0 9px!important;
    padding:0 36px 0 40px!important;
    border-radius:15px!important;
    font-size:14px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .ec-mobile-address-button:before{left:14px!important;font-size:20px!important}
  .ec-mobile-address-button:after{right:13px!important;font-size:28px!important}
  .ec-mobile-details-button{
    height:50px!important;
    min-height:50px!important;
    border-radius:16px!important;
    font-size:18px!important;
    gap:10px!important;
  }
  .ec-mobile-details-button span{font-size:29px!important}
  .ec-mobile-details-peek{display:none!important}

  .ec-technical-viewer .ec-close,
  .ec-technical-viewer .ec-mobile-back-nav{
    position:fixed!important;
    width:50px!important;
    height:50px!important;
    top:16px!important;
    border-radius:999px!important;
    z-index:2147483650!important;
    border:1px solid rgba(116,175,229,.36)!important;
    background:rgba(4,14,27,.74)!important;
    color:#fff!important;
    box-shadow:0 14px 34px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.08)!important;
    backdrop-filter:blur(9px)!important;
    -webkit-backdrop-filter:blur(9px)!important;
  }
  .ec-technical-viewer .ec-close{right:16px!important;font-size:32px!important;line-height:1!important}
  .ec-technical-viewer .ec-mobile-back-nav{left:16px!important;font-size:30px!important;line-height:1!important}
  .ec-technical-viewer.is-open > .ec-nav{
    display:grid!important;
    place-items:center!important;
    position:fixed!important;
    top:calc((100dvh - 212px) / 2)!important;
    transform:translateY(-50%)!important;
    width:50px!important;
    height:50px!important;
    border-radius:999px!important;
    z-index:2147483649!important;
    border:1px solid rgba(116,175,229,.36)!important;
    background:rgba(4,14,27,.70)!important;
    color:#fff!important;
    font-size:40px!important;
    line-height:1!important;
    box-shadow:0 12px 30px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.08)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
  }
  .ec-technical-viewer.is-open > .ec-prev{left:10px!important}
  .ec-technical-viewer.is-open > .ec-next{right:10px!important}
  .ec-technical-viewer.ec-mobile-details-open > .ec-nav{display:none!important}

  .ec-mobile-details-screen{
    position:absolute!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    padding:78px 12px 12px!important;
    background:radial-gradient(circle at 88% 12%,rgba(0,184,255,.16),transparent 25%),linear-gradient(180deg,#010610,#020814 100%)!important;
  }
  .ec-technical-viewer.ec-mobile-details-open .ec-mobile-details-screen{
    display:grid!important;
    grid-template-rows:auto auto minmax(0,1fr) auto auto!important;
    gap:8px!important;
  }
  .ec-mobile-details-header h2{
    margin:0 2px 4px!important;
    font-size:34px!important;
    line-height:1!important;
    letter-spacing:-.03em!important;
  }
  .ec-mobile-summary-panel,
  .ec-mobile-info-panel,
  .ec-mobile-desc-panel,
  .ec-mobile-actions-panel{
    margin:0!important;
    border-radius:18px!important;
    padding:12px 14px!important;
    overflow:hidden!important;
  }
  .ec-mobile-summary-panel{min-height:0!important}
  .ec-mobile-summary-panel .ec-viewer-date{font-size:13px!important;line-height:1.05!important;margin:0 0 4px!important;letter-spacing:.09em!important}
  .ec-mobile-summary-panel .ec-viewer-date:before{font-size:15px!important;margin-right:6px!important}
  .ec-mobile-summary-panel h2{
    font-size:28px!important;
    line-height:1.02!important;
    margin:0 0 7px!important;
    -webkit-line-clamp:1!important;
  }
  .ec-mobile-summary-panel .ec-mobile-summary-chips{margin:0!important;gap:7px!important;flex-wrap:nowrap!important;overflow:hidden!important}
  .ec-mobile-info-panel{min-height:0!important}
  .ec-mobile-info-panel h3,
  .ec-mobile-desc-panel h3,
  .ec-mobile-actions-panel h3{
    font-size:18px!important;
    line-height:1.05!important;
    margin:0 0 7px!important;
  }
  .ec-mobile-info-panel .ec-viewer-detail-row{
    gap:10px!important;
    padding:6px 0!important;
    border-bottom:1px solid rgba(151,184,214,.15)!important;
  }
  .ec-mobile-info-panel .ec-viewer-detail-icon{
    width:25px!important;
    min-width:25px!important;
    height:25px!important;
    font-size:22px!important;
  }
  .ec-mobile-info-panel .ec-viewer-detail-row strong{
    font-size:12px!important;
    line-height:1.05!important;
    margin:0 0 2px!important;
  }
  .ec-mobile-info-panel .ec-viewer-detail-row em{
    font-size:13.5px!important;
    line-height:1.12!important;
    max-width:calc(100vw - 74px)!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .ec-mobile-desc-panel .ec-viewer-desc{
    font-size:13.5px!important;
    line-height:1.22!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    white-space:normal!important;
  }
  .ec-mobile-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
  .ec-mobile-actions-grid .ec-mobile-action{
    height:43px!important;
    min-height:43px!important;
    border-radius:13px!important;
    font-size:12.5px!important;
    padding:0 5px!important;
    gap:5px!important;
    white-space:nowrap!important;
  }
  .ec-mobile-actions-grid .ec-mobile-action span{font-size:17px!important}
}
@media(max-width:380px){
  .ec-mobile-viewer-poster{height:calc(100dvh - 198px)!important}
  .ec-mobile-viewer-dots{bottom:204px!important}
  .ec-mobile-summary-card{left:9px!important;right:9px!important;bottom:10px!important;height:188px!important;padding:12px 13px 13px!important;border-radius:19px!important}
  .ec-mobile-summary-card h2{font-size:26px!important;margin-bottom:7px!important}
  .ec-mobile-info-chip{height:31px!important;min-height:31px!important;font-size:12px!important;padding:0 9px!important}
  .ec-mobile-address-button{height:39px!important;min-height:39px!important;font-size:12.5px!important;margin-bottom:7px!important}
  .ec-mobile-details-button{height:46px!important;min-height:46px!important;font-size:16px!important}
  .ec-technical-viewer.is-open > .ec-nav{top:calc((100dvh - 198px) / 2)!important;width:46px!important;height:46px!important}
  .ec-mobile-details-screen{padding:68px 9px 9px!important}
  .ec-technical-viewer.ec-mobile-details-open .ec-mobile-details-screen{gap:6px!important}
  .ec-mobile-details-header h2{font-size:29px!important;margin-bottom:2px!important}
  .ec-mobile-summary-panel,.ec-mobile-info-panel,.ec-mobile-desc-panel,.ec-mobile-actions-panel{padding:10px 11px!important;border-radius:16px!important}
  .ec-mobile-summary-panel h2{font-size:24px!important;margin-bottom:5px!important}
  .ec-mobile-info-panel h3,.ec-mobile-desc-panel h3,.ec-mobile-actions-panel h3{font-size:16px!important;margin-bottom:5px!important}
  .ec-mobile-info-panel .ec-viewer-detail-row{padding:5px 0!important}
  .ec-mobile-info-panel .ec-viewer-detail-icon{width:22px!important;min-width:22px!important;font-size:20px!important}
  .ec-mobile-info-panel .ec-viewer-detail-row strong{font-size:11px!important}
  .ec-mobile-info-panel .ec-viewer-detail-row em{font-size:12px!important;max-width:calc(100vw - 62px)!important}
  .ec-mobile-desc-panel .ec-viewer-desc{font-size:12px!important;line-height:1.15!important;-webkit-line-clamp:1!important}
  .ec-mobile-actions-grid .ec-mobile-action{height:39px!important;min-height:39px!important;font-size:11px!important}
}


/* v1.0.100 — mobile galerie/calendrier : bouton détails visible + double-tap image plein écran */
@media(max-width:900px){
  .ec-technical-viewer.is-open{
    height:var(--ec-mobile-vh,100vh)!important;
    max-height:var(--ec-mobile-vh,100vh)!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .ec-technical-viewer .ec-mobile-viewer-layout,
  .ec-mobile-viewer-stage{
    height:var(--ec-mobile-vh,100vh)!important;
    max-height:var(--ec-mobile-vh,100vh)!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .ec-mobile-viewer-poster{
    height:calc(var(--ec-mobile-vh,100vh) - 278px)!important;
    max-height:calc(var(--ec-mobile-vh,100vh) - 278px)!important;
    min-height:260px!important;
  }
  .ec-mobile-viewer-poster img,
  .ec-technical-viewer .ec-mobile-viewer-poster img[data-ec-viewer-img]{
    object-fit:cover!important;
    object-position:top center!important;
  }
  .ec-mobile-viewer-dots{
    bottom:calc(264px + env(safe-area-inset-bottom,0px))!important;
  }
  .ec-mobile-summary-card{
    left:10px!important;
    right:10px!important;
    bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;
    height:244px!important;
    max-height:244px!important;
    padding:12px 14px 12px!important;
    border-radius:21px!important;
  }
  .ec-mobile-summary-card .ec-viewer-date{
    font-size:14px!important;
    margin:0 0 5px!important;
  }
  .ec-mobile-summary-card h2{
    font-size:clamp(25px,7.4vw,32px)!important;
    line-height:1!important;
    margin:0 0 8px!important;
  }
  .ec-mobile-summary-chips{
    margin:0 0 8px!important;
    gap:7px!important;
  }
  .ec-mobile-info-chip{
    height:31px!important;
    min-height:31px!important;
    font-size:12.5px!important;
    padding:0 9px!important;
  }
  .ec-mobile-address-button{
    height:38px!important;
    min-height:38px!important;
    margin:0 0 8px!important;
    font-size:12.5px!important;
    padding-left:38px!important;
  }
  .ec-mobile-details-button{
    height:48px!important;
    min-height:48px!important;
    display:flex!important;
    width:100%!important;
    font-size:16px!important;
    border-radius:16px!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .ec-technical-viewer.is-open > .ec-nav{
    top:calc((var(--ec-mobile-vh,100vh) - 278px) / 2)!important;
  }
  .ec-technical-viewer.ec-mobile-image-zoom .ec-mobile-viewer-stage{
    background:#000!important;
  }
  .ec-technical-viewer.ec-mobile-image-zoom .ec-mobile-viewer-poster{
    top:0!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    height:var(--ec-mobile-vh,100vh)!important;
    max-height:var(--ec-mobile-vh,100vh)!important;
    min-height:0!important;
    background:#000!important;
    z-index:20!important;
  }
  .ec-technical-viewer.ec-mobile-image-zoom .ec-mobile-viewer-poster:after,
  .ec-technical-viewer.ec-mobile-image-zoom .ec-mobile-summary-card,
  .ec-technical-viewer.ec-mobile-image-zoom .ec-mobile-viewer-dots{
    display:none!important;
  }
  .ec-technical-viewer.ec-mobile-image-zoom .ec-mobile-viewer-poster img,
  .ec-technical-viewer.ec-mobile-image-zoom .ec-mobile-viewer-poster img[data-ec-viewer-img]{
    width:100vw!important;
    height:var(--ec-mobile-vh,100vh)!important;
    min-height:0!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:#000!important;
  }
  .ec-technical-viewer.ec-mobile-image-zoom.is-open > .ec-nav{
    top:50%!important;
    z-index:2147483651!important;
  }
  .ec-technical-viewer.ec-mobile-image-zoom .ec-close{
    z-index:2147483652!important;
  }
}
@media(max-width:380px){
  .ec-mobile-viewer-poster{
    height:calc(var(--ec-mobile-vh,100vh) - 258px)!important;
    max-height:calc(var(--ec-mobile-vh,100vh) - 258px)!important;
    min-height:230px!important;
  }
  .ec-mobile-viewer-dots{bottom:calc(246px + env(safe-area-inset-bottom,0px))!important}
  .ec-mobile-summary-card{
    height:228px!important;
    max-height:228px!important;
    bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;
    padding:10px 12px!important;
  }
  .ec-mobile-summary-card h2{font-size:24px!important;margin-bottom:6px!important}
  .ec-mobile-info-chip{height:29px!important;min-height:29px!important;font-size:11.5px!important;padding:0 8px!important}
  .ec-mobile-address-button{height:36px!important;min-height:36px!important;margin-bottom:7px!important;font-size:12px!important}
  .ec-mobile-details-button{height:44px!important;min-height:44px!important;font-size:15px!important}
  .ec-technical-viewer.is-open > .ec-nav{top:calc((var(--ec-mobile-vh,100vh) - 258px) / 2)!important}
}



/* v1.0.102 — À venir desktop : fiche technique large, sombre, image à gauche, infos à droite */
@media(min-width:901px){
  .ec-upcoming-viewer.ec-upcoming-day-modal{
    padding:30px!important;
    background:radial-gradient(circle at 68% 8%,rgba(0,123,255,.13),transparent 28%),rgba(0,4,12,.86)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .ec-upcoming-viewer.ec-upcoming-day-modal .ec-upcoming-viewer-card{
    width:min(1540px,88vw)!important;
    height:min(820px,84vh)!important;
    max-height:min(820px,84vh)!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.22fr) minmax(420px,.78fr)!important;
    gap:0!important;
    overflow:hidden!important;
    border-radius:28px!important;
    border:1px solid rgba(0,176,255,.72)!important;
    background:
      linear-gradient(90deg,rgba(4,14,28,.92),rgba(5,17,33,.96) 56%,rgba(2,10,22,.98)),
      radial-gradient(circle at 84% 14%,rgba(0,176,255,.14),transparent 28%)!important;
    box-shadow:0 36px 110px rgba(0,0,0,.78),0 0 55px rgba(0,132,255,.18),inset 0 1px 0 rgba(255,255,255,.05)!important;
  }
  .ec-upcoming-viewer .ec-viewer-image-wrap{
    height:100%!important;
    min-height:0!important;
    width:100%!important;
    padding:22px 70px!important;
    display:grid!important;
    place-items:center!important;
    overflow:hidden!important;
    background:linear-gradient(180deg,#061225,#020914)!important;
    border-right:1px solid rgba(0,176,255,.32)!important;
  }
  .ec-upcoming-viewer [data-ec-upcoming-img]{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    display:block!important;
    border-radius:18px!important;
    background:#020812!important;
    box-shadow:0 18px 56px rgba(0,0,0,.42),0 0 0 1px rgba(0,176,255,.18)!important;
  }
  .ec-upcoming-viewer .ec-upcoming-no-image{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    border-radius:18px!important;
    background:rgba(0,13,27,.72)!important;
  }
  .ec-upcoming-viewer .ec-viewer-info{
    height:100%!important;
    min-height:0!important;
    padding:34px 46px 22px 42px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    overflow:auto!important;
    scrollbar-width:none!important;
    color:#fff!important;
    background:radial-gradient(circle at 92% 8%,rgba(0,176,255,.13),transparent 31%)!important;
  }
  .ec-upcoming-viewer .ec-viewer-info::-webkit-scrollbar{width:0!important;height:0!important}
  .ec-upcoming-viewer .ec-viewer-date{
    color:#00c7ff!important;
    font-size:14px!important;
    font-weight:950!important;
    letter-spacing:.04em!important;
    margin:0 0 10px!important;
    line-height:1.1!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
  }
  .ec-upcoming-viewer .ec-viewer-date:before{
    content:'▣'!important;
    font-size:13px!important;
    color:#00c7ff!important;
  }
  .ec-upcoming-viewer .ec-upcoming-status{
    align-self:flex-start!important;
    order:2!important;
    margin:0 0 16px!important;
    min-height:34px!important;
    padding:0 15px!important;
    border-radius:999px!important;
    font-size:12px!important;
    font-weight:950!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 8px 22px rgba(0,0,0,.22)!important;
  }
  .ec-upcoming-viewer .ec-upcoming-status.is-validated,
  .ec-upcoming-viewer .ec-upcoming-status.is-upcoming{
    color:#89ffb0!important;
    border-color:rgba(42,230,112,.62)!important;
    background:rgba(18,126,57,.22)!important;
  }
  .ec-upcoming-viewer .ec-viewer-info h2{
    order:3!important;
    margin:0 0 18px!important;
    font-size:clamp(30px,2.25vw,40px)!important;
    line-height:1.02!important;
    letter-spacing:-.02em!important;
    color:#fff!important;
    text-shadow:0 2px 16px rgba(0,0,0,.35)!important;
  }
  .ec-upcoming-viewer .ec-viewer-meta{
    order:4!important;
    margin:0 0 12px!important;
    display:flex!important;
    flex-wrap:wrap!important;
    gap:10px!important;
  }
  .ec-upcoming-viewer .ec-meta-rich{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:10px!important;
  }
  .ec-upcoming-viewer .ec-cat-full-badge,
  .ec-upcoming-viewer .ec-location-chip,
  .ec-upcoming-viewer .ec-upcoming-hero-address-link{
    min-height:38px!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:8px!important;
    padding:0 14px!important;
    border-radius:999px!important;
    color:#eaf8ff!important;
    background:rgba(5,24,44,.72)!important;
    border:1px solid rgba(0,176,255,.32)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 20px rgba(0,0,0,.2)!important;
    font-weight:900!important;
    font-size:14px!important;
    line-height:1!important;
  }
  .ec-upcoming-viewer .ec-cat-full-badge img{
    width:18px!important;
    height:18px!important;
    object-fit:contain!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }
  .ec-upcoming-viewer .ec-location-chip{
    display:none!important;
  }
  .ec-upcoming-viewer .ec-upcoming-hero-address{
    order:5!important;
    margin:0 0 20px!important;
    display:flex!important;
  }
  .ec-upcoming-viewer .ec-upcoming-hero-address-link{
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    color:#fff!important;
    text-decoration:none!important;
  }
  .ec-upcoming-viewer .ec-upcoming-details{
    order:6!important;
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    gap:0!important;
    margin:0 0 18px!important;
    padding:16px 18px!important;
    border-radius:20px!important;
    color:#fff!important;
    background:linear-gradient(180deg,rgba(5,23,43,.76),rgba(3,13,27,.84))!important;
    border:1px solid rgba(0,176,255,.32)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
  }
  .ec-upcoming-viewer .ec-upcoming-details span,
  .ec-upcoming-viewer .ec-upcoming-address-link,
  .ec-upcoming-viewer .ec-upcoming-contact-copy{
    width:100%!important;
    min-height:34px!important;
    padding:6px 0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#fff!important;
    text-decoration:none!important;
    font-size:15px!important;
    font-weight:900!important;
    line-height:1.25!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:left!important;
  }
  .ec-upcoming-viewer .ec-upcoming-details span+span,
  .ec-upcoming-viewer .ec-upcoming-details span+.ec-upcoming-address-link,
  .ec-upcoming-viewer .ec-upcoming-address-link+.ec-upcoming-contact-copy,
  .ec-upcoming-viewer .ec-upcoming-details span+.ec-upcoming-contact-copy{
    border-top:1px solid rgba(151,184,214,.13)!important;
  }
  .ec-upcoming-viewer .ec-upcoming-contact-copy{
    appearance:none!important;
    cursor:pointer!important;
    font-family:inherit!important;
  }
  .ec-upcoming-viewer .ec-viewer-desc{
    order:7!important;
    margin:0 0 16px!important;
    color:#f2f8ff!important;
    font-size:15px!important;
    font-weight:650!important;
    line-height:1.45!important;
    max-height:66px!important;
    overflow:hidden!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
  }
  .ec-upcoming-viewer .ec-upcoming-count{
    order:8!important;
    margin:0 0 14px!important;
    color:#35d9ff!important;
    font-size:16px!important;
    font-weight:950!important;
  }
  .ec-upcoming-viewer .ec-upcoming-public-actions{
    order:9!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
    margin:0 0 16px!important;
    width:100%!important;
  }
  .ec-upcoming-viewer .ec-upcoming-public-actions .ec-btn{
    min-height:46px!important;
    width:100%!important;
    justify-content:center!important;
    border-radius:14px!important;
    border:1px solid rgba(0,176,255,.28)!important;
    background:rgba(4,18,35,.78)!important;
    color:#fff!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 9px 20px rgba(0,0,0,.20)!important;
    font-size:14px!important;
    font-weight:950!important;
    padding:0 12px!important;
  }
  .ec-upcoming-viewer .ec-upcoming-public-actions [data-ec-upcoming-link]{display:none!important}
  .ec-upcoming-viewer .ec-upcoming-calendar-action{
    order:10!important;
    width:100%!important;
    margin:0 0 16px!important;
    padding:14px 0 0!important;
    border-top:1px solid rgba(87,204,255,.18)!important;
  }
  .ec-upcoming-viewer .ec-google-calendar-btn{
    width:100%!important;
    min-height:52px!important;
    justify-content:center!important;
    border-radius:16px!important;
    background:rgba(4,18,35,.84)!important;
    border:1px solid rgba(0,176,255,.26)!important;
  }
  .ec-upcoming-viewer .ec-upcoming-choice-actions{
    order:11!important;
    width:100%!important;
    display:grid!important;
    gap:12px!important;
    margin:0!important;
    padding:0!important;
    border-top:0!important;
  }
  .ec-upcoming-viewer .ec-upcoming-participation-box,
  .ec-upcoming-viewer .ec-upcoming-admin-validation,
  .ec-upcoming-viewer .ec-upcoming-admin-tools{
    width:100%!important;
    display:grid!important;
    gap:10px!important;
    padding:12px!important;
    border-radius:18px!important;
    border:1px solid rgba(0,176,255,.26)!important;
    background:rgba(4,18,35,.62)!important;
  }
  .ec-upcoming-viewer .ec-upcoming-participation-box>strong,
  .ec-upcoming-viewer .ec-upcoming-admin-validation>strong,
  .ec-upcoming-viewer .ec-upcoming-admin-tools>strong{
    margin:0!important;
    color:#35d9ff!important;
    font-size:12px!important;
    text-transform:uppercase!important;
    letter-spacing:.08em!important;
    font-weight:950!important;
  }
  .ec-upcoming-viewer .ec-upcoming-admin-row{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
    width:100%!important;
  }
  .ec-upcoming-viewer .ec-upcoming-participation-box .ec-upcoming-admin-row{
    grid-template-columns:1fr!important;
  }
  .ec-upcoming-viewer .ec-upcoming-admin-row .ec-btn,
  .ec-upcoming-viewer .ec-upcoming-admin-row .ec-danger,
  .ec-upcoming-viewer .ec-upcoming-participation-box .ec-btn{
    min-height:52px!important;
    height:52px!important;
    border-radius:15px!important;
    font-size:16px!important;
    font-weight:950!important;
    width:100%!important;
    justify-content:center!important;
  }
  .ec-upcoming-viewer .ec-upcoming-admin-tools .ec-btn{
    background:linear-gradient(135deg,#099bff,#004ee8)!important;
    color:#fff!important;
    border:0!important;
    box-shadow:0 14px 28px rgba(0,94,255,.28)!important;
  }
  .ec-upcoming-viewer .ec-upcoming-admin-tools .ec-danger{
    background:linear-gradient(135deg,#ef334d,#8f1022)!important;
    color:#fff!important;
    border:0!important;
    box-shadow:0 14px 28px rgba(216,40,60,.25)!important;
  }
  .ec-upcoming-viewer .ec-upcoming-close{
    position:absolute!important;
    top:24px!important;
    right:30px!important;
    z-index:2147483652!important;
    width:46px!important;
    height:46px!important;
    border-radius:999px!important;
    border:1px solid rgba(116,175,229,.32)!important;
    background:rgba(3,12,25,.74)!important;
    color:#fff!important;
    font-size:28px!important;
    line-height:1!important;
    box-shadow:0 12px 34px rgba(0,0,0,.32)!important;
  }
  .ec-upcoming-viewer .ec-upcoming-day-nav,
  .ec-upcoming-viewer .ec-upcoming-event-nav{
    width:58px!important;
    height:58px!important;
    border-radius:999px!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid rgba(116,175,229,.38)!important;
    background:rgba(4,14,27,.72)!important;
    color:#fff!important;
    font-size:42px!important;
    line-height:1!important;
    box-shadow:0 14px 34px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.07)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
  }
  .ec-upcoming-viewer .ec-upcoming-day-nav.ec-prev{left:32px!important}
  .ec-upcoming-viewer .ec-upcoming-day-nav.ec-next{right:32px!important}
  .ec-upcoming-viewer .ec-upcoming-event-nav{
    position:absolute!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:5!important;
  }
  .ec-upcoming-viewer .ec-upcoming-event-prev{left:26px!important}
  .ec-upcoming-viewer .ec-upcoming-event-next{right:26px!important}
}
@media(min-width:901px) and (max-width:1240px){
  .ec-upcoming-viewer.ec-upcoming-day-modal .ec-upcoming-viewer-card{
    width:94vw!important;
    grid-template-columns:minmax(0,1fr) minmax(360px,420px)!important;
  }
  .ec-upcoming-viewer .ec-viewer-image-wrap{padding:18px 42px!important}
  .ec-upcoming-viewer .ec-viewer-info{padding:28px 30px 20px!important}
}

@media(min-width:901px){
  .ec-upcoming-viewer .ec-upcoming-choice-actions[style*="display: none"],
  .ec-upcoming-viewer .ec-upcoming-participation-box[style*="display: none"],
  .ec-upcoming-viewer .ec-upcoming-admin-validation[style*="display: none"],
  .ec-upcoming-viewer .ec-upcoming-admin-tools[style*="display: none"],
  .ec-upcoming-viewer .ec-upcoming-event-nav[style*="display: none"],
  .ec-upcoming-viewer .ec-upcoming-day-nav[style*="display: none"],
  .ec-upcoming-viewer .ec-upcoming-no-image[style*="display: none"],
  .ec-upcoming-viewer .ec-upcoming-status[style*="display: none"],
  .ec-upcoming-viewer .ec-upcoming-public-actions .ec-btn[style*="display: none"]{
    display:none!important;
  }
}


/* v1.0.102 — À venir desktop : correction anti-rognage + fenêtre mieux proportionnée */
@media (min-width:901px){
  .ec-upcoming-viewer.ec-upcoming-day-modal{
    padding:22px!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    background:radial-gradient(circle at 70% 6%,rgba(0,118,255,.13),transparent 30%),rgba(0,4,12,.88)!important;
  }
  .ec-upcoming-viewer.ec-upcoming-day-modal .ec-upcoming-viewer-card{
    width:min(1500px,86vw)!important;
    height:calc(100vh - 130px)!important;
    height:calc(100dvh - 130px)!important;
    max-height:760px!important;
    min-height:0!important;
    grid-template-columns:minmax(0,56%) minmax(410px,44%)!important;
    overflow:hidden!important;
    border-radius:27px!important;
    border:1px solid rgba(0,176,255,.68)!important;
    background:linear-gradient(90deg,rgba(4,14,28,.93),rgba(5,17,33,.97) 54%,rgba(2,10,22,.985))!important;
  }
  .ec-upcoming-viewer .ec-viewer-image-wrap{
    padding:22px 52px!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:linear-gradient(180deg,#061225,#020914)!important;
  }
  .ec-upcoming-viewer [data-ec-upcoming-img]{
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    border-radius:16px!important;
    display:block!important;
    flex:0 1 auto!important;
  }
  .ec-upcoming-viewer .ec-viewer-info{
    padding:26px 42px 22px!important;
    overflow:hidden!important;
    height:100%!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .ec-upcoming-viewer .ec-viewer-date{font-size:13px!important;margin:0 0 8px!important}
  .ec-upcoming-viewer .ec-upcoming-status{min-height:30px!important;padding:0 13px!important;margin:0 0 12px!important;font-size:11px!important}
  .ec-upcoming-viewer .ec-viewer-info h2{font-size:clamp(29px,2vw,38px)!important;margin:0 0 14px!important;line-height:1.05!important}
  .ec-upcoming-viewer .ec-viewer-meta{margin:0 0 10px!important;gap:8px!important}
  .ec-upcoming-viewer .ec-cat-full-badge,
  .ec-upcoming-viewer .ec-upcoming-hero-address-link{
    min-height:35px!important;
    padding:0 13px!important;
    font-size:13px!important;
  }
  .ec-upcoming-viewer .ec-upcoming-hero-address{margin:0 0 14px!important}
  .ec-upcoming-viewer .ec-upcoming-details{
    margin:0 0 12px!important;
    padding:13px 16px!important;
    border-radius:18px!important;
  }
  .ec-upcoming-viewer .ec-upcoming-details span,
  .ec-upcoming-viewer .ec-upcoming-address-link,
  .ec-upcoming-viewer .ec-upcoming-contact-copy{
    min-height:28px!important;
    padding:4px 0!important;
    font-size:14px!important;
    line-height:1.2!important;
  }
  .ec-upcoming-viewer .ec-viewer-desc{
    margin:0 0 12px!important;
    max-height:44px!important;
    -webkit-line-clamp:2!important;
    font-size:14px!important;
    line-height:1.35!important;
  }
  .ec-upcoming-viewer .ec-upcoming-count{font-size:15px!important;margin:0 0 10px!important}
  .ec-upcoming-viewer .ec-upcoming-public-actions{gap:9px!important;margin:0 0 12px!important}
  .ec-upcoming-viewer .ec-upcoming-public-actions .ec-btn{min-height:42px!important;height:42px!important;border-radius:13px!important;font-size:13px!important}
  .ec-upcoming-viewer .ec-upcoming-calendar-action{margin:0 0 12px!important;padding:12px 0 0!important}
  .ec-upcoming-viewer .ec-google-calendar-btn{min-height:46px!important;height:46px!important;border-radius:15px!important}
  .ec-upcoming-viewer .ec-upcoming-choice-actions{gap:10px!important}
  .ec-upcoming-viewer .ec-upcoming-participation-box,
  .ec-upcoming-viewer .ec-upcoming-admin-validation,
  .ec-upcoming-viewer .ec-upcoming-admin-tools{
    padding:10px!important;
    gap:8px!important;
    border-radius:16px!important;
  }
  .ec-upcoming-viewer .ec-upcoming-participation-box>strong,
  .ec-upcoming-viewer .ec-upcoming-admin-validation>strong,
  .ec-upcoming-viewer .ec-upcoming-admin-tools>strong{font-size:11px!important}
  .ec-upcoming-viewer .ec-upcoming-admin-row{gap:10px!important}
  .ec-upcoming-viewer .ec-upcoming-admin-row .ec-btn,
  .ec-upcoming-viewer .ec-upcoming-admin-row .ec-danger,
  .ec-upcoming-viewer .ec-upcoming-participation-box .ec-btn{
    height:45px!important;
    min-height:45px!important;
    border-radius:14px!important;
    font-size:14px!important;
  }
  .ec-upcoming-viewer .ec-upcoming-close{
    top:18px!important;
    right:24px!important;
  }
  .ec-upcoming-viewer .ec-upcoming-day-nav{width:52px!important;height:52px!important;font-size:38px!important}
  .ec-upcoming-viewer .ec-upcoming-event-nav{width:52px!important;height:52px!important;font-size:38px!important}
  .ec-upcoming-viewer .ec-upcoming-day-nav.ec-prev{left:26px!important}
  .ec-upcoming-viewer .ec-upcoming-day-nav.ec-next{right:26px!important}
  .ec-upcoming-viewer .ec-upcoming-event-prev{left:18px!important}
  .ec-upcoming-viewer .ec-upcoming-event-next{right:18px!important}
}
@media (min-width:901px) and (max-height:820px){
  .ec-upcoming-viewer.ec-upcoming-day-modal .ec-upcoming-viewer-card{
    height:calc(100vh - 92px)!important;
    height:calc(100dvh - 92px)!important;
    max-height:none!important;
  }
  .ec-upcoming-viewer .ec-viewer-image-wrap{padding:16px 44px!important}
  .ec-upcoming-viewer .ec-viewer-info{padding:22px 36px 18px!important}
  .ec-upcoming-viewer .ec-viewer-info h2{font-size:31px!important;margin-bottom:12px!important}
  .ec-upcoming-viewer .ec-upcoming-status{margin-bottom:10px!important}
  .ec-upcoming-viewer .ec-upcoming-hero-address{margin-bottom:11px!important}
  .ec-upcoming-viewer .ec-upcoming-details{padding:10px 14px!important;margin-bottom:10px!important}
  .ec-upcoming-viewer .ec-viewer-desc{display:none!important}
  .ec-upcoming-viewer .ec-upcoming-public-actions .ec-btn{height:38px!important;min-height:38px!important}
  .ec-upcoming-viewer .ec-google-calendar-btn{height:42px!important;min-height:42px!important}
  .ec-upcoming-viewer .ec-upcoming-admin-row .ec-btn,
  .ec-upcoming-viewer .ec-upcoming-admin-row .ec-danger,
  .ec-upcoming-viewer .ec-upcoming-participation-box .ec-btn{height:40px!important;min-height:40px!important}
}


/* v1.0.103 — À venir desktop : finitions référence (néon, icônes, détails sans séparateurs) */
@media (min-width:901px){
  .ec-upcoming-viewer.ec-upcoming-day-modal{
    background:
      radial-gradient(circle at 77% 7%,rgba(0,176,255,.20),transparent 23%),
      radial-gradient(circle at 14% 88%,rgba(0,98,255,.12),transparent 28%),
      linear-gradient(180deg,rgba(0,7,17,.94),rgba(0,3,10,.96))!important;
  }
  .ec-upcoming-viewer.ec-upcoming-day-modal .ec-upcoming-viewer-card{
    border-color:rgba(0,183,255,.82)!important;
    background:
      radial-gradient(circle at 84% 9%,rgba(0,170,255,.16),transparent 27%),
      radial-gradient(circle at 13% 50%,rgba(0,87,180,.10),transparent 38%),
      linear-gradient(90deg,rgba(3,13,28,.98),rgba(3,16,33,.98) 55%,rgba(2,10,23,.99))!important;
    box-shadow:
      0 32px 95px rgba(0,0,0,.82),
      0 0 0 1px rgba(0,168,255,.10),
      0 0 44px rgba(0,174,255,.22),
      inset 0 1px 0 rgba(255,255,255,.07)!important;
  }
  .ec-upcoming-viewer .ec-viewer-image-wrap{
    padding:14px 24px!important;
    background:
      radial-gradient(circle at 50% 50%,rgba(0,153,255,.10),transparent 54%),
      linear-gradient(180deg,#061225 0%,#020712 100%)!important;
    box-shadow:inset -1px 0 0 rgba(0,176,255,.34), inset 0 0 40px rgba(0,102,255,.08)!important;
  }
  .ec-upcoming-viewer [data-ec-upcoming-img]{
    border-radius:16px!important;
    box-shadow:
      0 20px 55px rgba(0,0,0,.55),
      0 0 0 1px rgba(0,186,255,.26),
      0 0 24px rgba(0,186,255,.16)!important;
    background:#010611!important;
  }
  .ec-upcoming-viewer .ec-viewer-info{
    background:
      radial-gradient(circle at 88% 8%,rgba(0,190,255,.17),transparent 30%),
      radial-gradient(circle at 16% 88%,rgba(0,83,190,.10),transparent 30%),
      rgba(2,11,24,.42)!important;
  }
  .ec-upcoming-viewer .ec-viewer-date:before{
    content:''!important;
    width:15px!important;
    height:15px!important;
    flex:0 0 15px!important;
    background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%3E%3Crect%20x%3D%274%27%20y%3D%275%27%20width%3D%2716%27%20height%3D%2715%27%20rx%3D%273%27%20stroke%3D%27%2300c7ff%27%20stroke-width%3D%272%27%2F%3E%3Cpath%20d%3D%27M8%203v4M16%203v4M4%2010h16%27%20stroke%3D%27%2300c7ff%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E")!important;
    background-size:contain!important;
    background-repeat:no-repeat!important;
    background-position:center!important;
    filter:drop-shadow(0 0 6px rgba(0,199,255,.55))!important;
  }
  .ec-upcoming-viewer .ec-upcoming-status{
    position:relative!important;
    overflow:hidden!important;
    border:1px solid rgba(66,255,129,.55)!important;
    color:#a7ffbd!important;
    background:
      linear-gradient(180deg,rgba(37,171,78,.36),rgba(7,86,41,.25)),
      repeating-linear-gradient(135deg,rgba(255,255,255,.09) 0,rgba(255,255,255,.09) 1px,transparent 1px,transparent 7px)!important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.20),
      inset 0 -1px 0 rgba(0,0,0,.20),
      0 0 0 1px rgba(42,230,112,.10),
      0 0 20px rgba(42,230,112,.20)!important;
    text-shadow:0 0 10px rgba(120,255,164,.35)!important;
  }
  .ec-upcoming-viewer .ec-upcoming-status:after{
    content:''!important;
    position:absolute!important;
    inset:1px!important;
    border-radius:inherit!important;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent)!important;
    opacity:.35!important;
    pointer-events:none!important;
  }
  .ec-upcoming-viewer .ec-upcoming-details{
    background:linear-gradient(180deg,rgba(5,22,42,.82),rgba(2,11,24,.92))!important;
    border-color:rgba(0,176,255,.34)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 0 20px rgba(0,176,255,.08)!important;
  }
  .ec-upcoming-viewer .ec-upcoming-details span,
  .ec-upcoming-viewer .ec-upcoming-address-link,
  .ec-upcoming-viewer .ec-upcoming-contact-copy{
    border-top:0!important;
    border-bottom:0!important;
    box-shadow:none!important;
  }
  .ec-upcoming-viewer .ec-upcoming-details span+span,
  .ec-upcoming-viewer .ec-upcoming-details span+.ec-upcoming-address-link,
  .ec-upcoming-viewer .ec-upcoming-address-link+.ec-upcoming-contact-copy,
  .ec-upcoming-viewer .ec-upcoming-details span+.ec-upcoming-contact-copy{
    border-top:0!important;
  }
  .ec-upcoming-viewer .ec-upcoming-public-actions .ec-btn,
  .ec-upcoming-viewer .ec-google-calendar-btn,
  .ec-upcoming-viewer .ec-upcoming-admin-row .ec-btn,
  .ec-upcoming-viewer .ec-upcoming-admin-row .ec-danger,
  .ec-upcoming-viewer .ec-upcoming-participation-box .ec-btn{
    position:relative!important;
    overflow:hidden!important;
    background:linear-gradient(180deg,rgba(8,31,57,.92),rgba(3,15,31,.98))!important;
    border:1px solid rgba(0,176,255,.30)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 11px 22px rgba(0,0,0,.23),0 0 13px rgba(0,168,255,.07)!important;
    text-shadow:0 1px 8px rgba(0,0,0,.45)!important;
  }
  .ec-upcoming-viewer .ec-upcoming-public-actions .ec-btn:after,
  .ec-upcoming-viewer .ec-google-calendar-btn:after,
  .ec-upcoming-viewer .ec-upcoming-admin-row .ec-btn:after,
  .ec-upcoming-viewer .ec-upcoming-admin-row .ec-danger:after{
    content:''!important;
    position:absolute!important;
    inset:0!important;
    background:linear-gradient(120deg,rgba(255,255,255,.10),transparent 38%,rgba(0,174,255,.07))!important;
    opacity:.75!important;
    pointer-events:none!important;
  }
  .ec-upcoming-viewer .ec-upcoming-admin-tools .ec-btn{
    background:linear-gradient(180deg,#067bdb,#0044ba)!important;
    border:1px solid rgba(98,194,255,.32)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 14px 26px rgba(0,72,220,.26),0 0 18px rgba(0,124,255,.18)!important;
  }
  .ec-upcoming-viewer .ec-upcoming-admin-tools .ec-danger{
    background:linear-gradient(180deg,#b92238,#760b1a)!important;
    border:1px solid rgba(255,107,130,.30)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 14px 26px rgba(140,8,27,.28),0 0 18px rgba(255,40,78,.12)!important;
  }
  .ec-upcoming-viewer .ec-upcoming-public-actions [data-ec-upcoming-whatsapp]::before,
  .ec-upcoming-viewer .ec-upcoming-public-actions [data-ec-upcoming-facebook]::before,
  .ec-upcoming-viewer .ec-upcoming-public-actions [data-ec-upcoming-copy]::before{
    content:''!important;
    width:18px!important;
    height:18px!important;
    flex:0 0 18px!important;
    display:inline-block!important;
    margin-right:8px!important;
    background:currentColor!important;
    background-repeat:no-repeat!important;
    background-position:center!important;
    background-size:contain!important;
  }
  .ec-upcoming-viewer .ec-upcoming-public-actions [data-ec-upcoming-whatsapp]::before{
    background:#25d366!important;
    -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M16%203C9%203%203.4%208.6%203.4%2015.6c0%202.2.6%204.4%201.7%206.3L3%2029l7.3-1.9c1.8%201%203.8%201.5%205.9%201.5%207%200%2012.6-5.6%2012.6-12.6S23%203%2016%203Zm0%2022.9c-1.8%200-3.5-.5-5-1.4l-.4-.3-4.3%201.1%201.2-4.2-.3-.4c-1-1.6-1.5-3.3-1.5-5.1%200-5.6%204.7-10.3%2010.4-10.3%205.6%200%2010.3%204.7%2010.3%2010.4%200%205.5-4.8%2010.2-10.4%2010.2Zm5.7-7.7c-.3-.2-1.8-.9-2.1-1-.3-.1-.5-.2-.7.2-.2.3-.8%201-.9%201.2-.2.2-.3.2-.6.1-1.8-.9-3-1.6-4.2-3.6-.3-.6.3-.5.9-1.7.1-.2%200-.4%200-.6l-.9-2.1c-.2-.5-.5-.4-.7-.4h-.6c-.2%200-.6.1-.9.4-.3.3-1.2%201.1-1.2%202.8%200%201.6%201.2%203.2%201.4%203.4.2.3%202.4%203.7%205.8%205.1.8.4%201.5.6%202%20.7.8.3%201.6.2%202.2.1.7-.1%201.8-.8%202.1-1.5.3-.7.3-1.4.2-1.5-.1-.1-.3-.2-.6-.4Z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat!important;
    mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M16%203C9%203%203.4%208.6%203.4%2015.6c0%202.2.6%204.4%201.7%206.3L3%2029l7.3-1.9c1.8%201%203.8%201.5%205.9%201.5%207%200%2012.6-5.6%2012.6-12.6S23%203%2016%203Zm0%2022.9c-1.8%200-3.5-.5-5-1.4l-.4-.3-4.3%201.1%201.2-4.2-.3-.4c-1-1.6-1.5-3.3-1.5-5.1%200-5.6%204.7-10.3%2010.4-10.3%205.6%200%2010.3%204.7%2010.3%2010.4%200%205.5-4.8%2010.2-10.4%2010.2Zm5.7-7.7c-.3-.2-1.8-.9-2.1-1-.3-.1-.5-.2-.7.2-.2.3-.8%201-.9%201.2-.2.2-.3.2-.6.1-1.8-.9-3-1.6-4.2-3.6-.3-.6.3-.5.9-1.7.1-.2%200-.4%200-.6l-.9-2.1c-.2-.5-.5-.4-.7-.4h-.6c-.2%200-.6.1-.9.4-.3.3-1.2%201.1-1.2%202.8%200%201.6%201.2%203.2%201.4%203.4.2.3%202.4%203.7%205.8%205.1.8.4%201.5.6%202%20.7.8.3%201.6.2%202.2.1.7-.1%201.8-.8%202.1-1.5.3-.7.3-1.4.2-1.5-.1-.1-.3-.2-.6-.4Z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat!important;
    filter:drop-shadow(0 0 7px rgba(37,211,102,.35))!important;
  }
  .ec-upcoming-viewer .ec-upcoming-public-actions [data-ec-upcoming-facebook]::before{
    background:#1877f2!important;
    -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M18.4%2028V17.1h3.7l.6-4.3h-4.3v-2.7c0-1.2.3-2.1%202.1-2.1h2.3V4.2c-.4-.1-1.8-.2-3.3-.2-3.3%200-5.6%202-5.6%205.7v3.1h-3.7v4.3h3.7V28h4.5Z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat!important;
    mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M18.4%2028V17.1h3.7l.6-4.3h-4.3v-2.7c0-1.2.3-2.1%202.1-2.1h2.3V4.2c-.4-.1-1.8-.2-3.3-.2-3.3%200-5.6%202-5.6%205.7v3.1h-3.7v4.3h3.7V28h4.5Z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat!important;
    filter:drop-shadow(0 0 7px rgba(24,119,242,.35))!important;
  }
  .ec-upcoming-viewer .ec-upcoming-public-actions [data-ec-upcoming-copy]::before{
    background:#00c7ff!important;
    -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%3E%3Crect%20x%3D%278%27%20y%3D%278%27%20width%3D%2711%27%20height%3D%2711%27%20rx%3D%272.5%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%2F%3E%3Crect%20x%3D%275%27%20y%3D%275%27%20width%3D%2711%27%20height%3D%2711%27%20rx%3D%272.5%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20opacity%3D%27.65%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat!important;
    mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%3E%3Crect%20x%3D%278%27%20y%3D%278%27%20width%3D%2711%27%20height%3D%2711%27%20rx%3D%272.5%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%2F%3E%3Crect%20x%3D%275%27%20y%3D%275%27%20width%3D%2711%27%20height%3D%2711%27%20rx%3D%272.5%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20opacity%3D%27.65%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat!important;
    filter:drop-shadow(0 0 7px rgba(0,199,255,.35))!important;
  }
  .ec-upcoming-viewer .ec-google-g{
    width:23px!important;
    height:23px!important;
    flex:0 0 23px!important;
    border-radius:6px!important;
    color:transparent!important;
    font-size:0!important;
    background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2040%2040%27%3E%3Crect%20x%3D%277%27%20y%3D%276%27%20width%3D%2726%27%20height%3D%2728%27%20rx%3D%274%27%20fill%3D%27%23fff%27%2F%3E%3Cpath%20fill%3D%27%231a73e8%27%20d%3D%27M11%206h18a4%204%200%200%201%204%204v5H7v-5a4%204%200%200%201%204-4Z%27%2F%3E%3Cpath%20fill%3D%27%2334a853%27%20d%3D%27M7%2015h6v19h-2a4%204%200%200%201-4-4V15Z%27%2F%3E%3Cpath%20fill%3D%27%23fbbc04%27%20d%3D%27M27%2015h6v15a4%204%200%200%201-4%204h-2V15Z%27%2F%3E%3Cpath%20fill%3D%27%23ea4335%27%20d%3D%27M13%206h14v5H13z%27%2F%3E%3Ctext%20x%3D%2720%27%20y%3D%2729%27%20text-anchor%3D%27middle%27%20font-family%3D%27Arial%2C%20sans-serif%27%20font-size%3D%2715%27%20font-weight%3D%27800%27%20fill%3D%27%231f2937%27%3E31%3C%2Ftext%3E%3C%2Fsvg%3E")!important;
    background-size:contain!important;
    background-repeat:no-repeat!important;
    background-position:center!important;
    box-shadow:0 0 10px rgba(255,255,255,.14)!important;
  }
}
@media (min-width:901px) and (max-height:820px){
  .ec-upcoming-viewer .ec-viewer-image-wrap{padding:12px 22px!important}
}


/* v1.0.104 — À venir : réglages menu + libellés compacts */
.ec-wrap.ec-app .ec-sidebar-upcoming-toggle{
  margin-top:11px!important;
}
.ec-wrap.ec-app .ec-sidebar-upcoming-toggle a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:0 12px!important;
  border-radius:12px!important;
  border:1px solid rgba(0,184,255,.26)!important;
  color:#dff7ff!important;
  background:linear-gradient(180deg,rgba(6,32,60,.96),rgba(2,12,26,.98))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 8px 18px rgba(0,0,0,.16)!important;
  font-size:13px!important;
  font-weight:950!important;
  text-decoration:none!important;
}
.ec-wrap.ec-app .ec-sidebar-upcoming-toggle a:hover,
.ec-wrap.ec-app .ec-sidebar-upcoming-toggle a:focus{
  color:#fff!important;
  border-color:rgba(0,184,255,.62)!important;
  background:linear-gradient(180deg,rgba(0,111,235,.72),rgba(3,31,75,.98))!important;
  outline:none!important;
}
.ec-upcoming-head .ec-upcoming-head-actions .ec-upcoming-past-btn{
  display:none!important;
}
.ec-upcoming-filter-row .ec-filter-chip,
.ec-upcoming-category-filter summary{
  letter-spacing:0!important;
}
@media(max-width:700px){
  .ec-upcoming-filter-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:6px!important;
  }
  .ec-upcoming-filter-row .ec-upcoming-filters{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    overflow:visible!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
  }
  .ec-upcoming-filter-row .ec-filter-chip{
    min-height:34px!important;
    padding:0 10px!important;
    font-size:12px!important;
    flex:0 0 auto!important;
  }
  .ec-upcoming-category-filter{
    margin-left:0!important;
    min-width:0!important;
  }
  .ec-upcoming-category-filter summary{
    min-height:34px!important;
    padding:0 10px!important;
    font-size:12px!important;
  }
}
@media(max-width:900px){
  .ec-wrap.ec-app .ec-sidebar-settings-panel.is-open{
    max-height:124px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-upcoming-toggle{
    margin-top:7px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-upcoming-toggle a{
    min-height:34px!important;
    height:34px!important;
    border-radius:11px!important;
    font-size:12px!important;
    padding:0 10px!important;
  }
}
@media(max-width:390px){
  .ec-upcoming-filter-row .ec-filter-chip,
  .ec-upcoming-category-filter summary{
    padding-left:8px!important;
    padding-right:8px!important;
    font-size:11px!important;
  }
}


/* v1.0.105 — paramètres desktop plus compacts, toggle lisible et bouton passé visible */
@media(min-width:901px){
  .ec-wrap.ec-app .ec-sidebar-settings-panel.is-open{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding:11px!important;
    margin:-4px 0 0!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-head{
    align-items:center!important;
    margin:0 0 8px!important;
    gap:6px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-head strong{
    font-size:13px!important;
    line-height:1.05!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-head span{
    font-size:9.5px!important;
    line-height:1.05!important;
    letter-spacing:.055em!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-close{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    border-radius:10px!important;
    font-size:18px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-form{
    display:grid!important;
    gap:7px!important;
    margin:0!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-form label:not(.ec-setting-switch){
    display:grid!important;
    gap:4px!important;
    margin:0!important;
    font-size:11px!important;
    line-height:1.1!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-form select{
    min-height:34px!important;
    height:34px!important;
    border-radius:10px!important;
    padding:0 10px!important;
    font-size:12px!important;
    line-height:34px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-form label.ec-setting-check.ec-setting-switch,
  .ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-check.ec-setting-switch{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    grid-template-columns:none!important;
    gap:9px!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:34px!important;
    min-height:34px!important;
    margin:0!important;
    padding:0 10px!important;
    border-radius:10px!important;
    box-sizing:border-box!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-form label.ec-setting-switch input,
  .ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-switch input{
    order:0!important;
    flex:0 0 auto!important;
    width:38px!important;
    min-width:38px!important;
    height:22px!important;
    min-height:22px!important;
    margin:0!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-form label.ec-setting-switch input:before,
  .ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-switch input:before{
    width:16px!important;
    height:16px!important;
    left:3px!important;
    top:2px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-form label.ec-setting-switch input:checked:before,
  .ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-switch input:checked:before{
    transform:translateX(16px)!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-form label.ec-setting-switch span,
  .ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-switch span{
    order:1!important;
    display:block!important;
    font-size:12px!important;
    line-height:1!important;
    max-width:none!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
  }
  .ec-wrap.ec-app .ec-setting-status:empty,
  .ec-settings-form .ec-setting-status:empty{
    display:none!important;
    min-height:0!important;
    height:0!important;
    margin:0!important;
  }
  .ec-wrap.ec-app .ec-setting-status,
  .ec-settings-form .ec-setting-status{
    min-height:0!important;
    margin:0!important;
    font-size:10.5px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-upcoming-toggle{
    margin-top:7px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-upcoming-toggle a{
    min-height:34px!important;
    height:34px!important;
    border-radius:10px!important;
    padding:0 10px!important;
    font-size:12px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-sync{
    display:block!important;
    margin-top:8px!important;
    padding-top:8px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-sync a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:30px!important;
    padding:0 8px!important;
    border-radius:10px!important;
    border:1px solid rgba(0,184,255,.20)!important;
    background:rgba(0,184,255,.05)!important;
    font-size:11.5px!important;
    line-height:1!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-sync small{
    display:none!important;
  }
}

/* MyDex 1.0.112 — aperçu invité du calendrier et paramètres désactivés */
.ec-nav-item-disabled{
  opacity:.48!important;
  cursor:not-allowed!important;
  filter:grayscale(.35);
  pointer-events:none!important;
}
.ec-guest-calendar{position:relative!important;overflow:hidden!important}
.ec-guest-calendar .ec-calendar-grid{filter:saturate(.78);opacity:.84}
.ec-guest-calendar .ec-month{position:relative}
.ec-guest-calendar .ec-day{position:relative;overflow:hidden}
.ec-guest-fake-day{background:linear-gradient(145deg,rgba(51,121,188,.24),rgba(119,65,165,.2))!important;border-color:rgba(112,184,255,.35)!important}
.ec-guest-fake-event{
  position:absolute;left:7px;right:7px;bottom:7px;height:12px;border-radius:999px;
  background:linear-gradient(90deg,rgba(44,189,255,.95),rgba(175,79,255,.9),rgba(255,130,65,.9));
  filter:blur(3px);opacity:.82;box-shadow:0 0 16px rgba(79,168,255,.42)
}
.ec-guest-calendar-lock{
  margin:20px auto 0;max-width:560px;padding:20px 22px;border-radius:22px;
  border:1px solid rgba(116,192,255,.26);background:rgba(4,15,31,.88);
  box-shadow:0 18px 55px rgba(0,0,0,.28);text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:8px
}
.ec-guest-calendar-lock-icon{font-size:1.45rem}
.ec-guest-calendar-lock strong{font-size:1.05rem;color:#fff}
.ec-guest-calendar-lock span{color:rgba(222,239,255,.7);font-size:.9rem;margin-bottom:5px}
@media(max-width:620px){
  .ec-guest-calendar-lock{padding:18px 14px;border-radius:18px}
  .ec-guest-fake-event{left:5px;right:5px;bottom:5px;height:9px}
}

/* MyDex 1.0.113 — aperçu invité de la galerie avec fausses cartes floutées */
.ec-guest-gallery-card{
  pointer-events:none!important;
  user-select:none!important;
  cursor:default!important;
  opacity:.82;
}
.ec-guest-gallery-card:hover{transform:none!important;box-shadow:0 14px 35px rgba(0,0,0,.34),inset 0 0 35px rgba(0,156,255,.055)!important}
.ec-guest-gallery-card .ec-imgbox:after{content:'🔒'!important;font-size:15px!important}
.ec-guest-gallery-card .ec-card-body{
  filter:blur(3.8px);
  opacity:.68;
}
.ec-guest-card-image{
  position:relative;
  overflow:hidden;
  filter:blur(5px) saturate(.8);
  transform:scale(1.035);
}
.ec-guest-card-image:before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.12),transparent 38%,rgba(0,0,0,.24));
  z-index:2;
}
.ec-guest-card-shape{position:absolute;display:block;z-index:1}
.ec-guest-card-shape-a{left:-8%;right:-8%;bottom:-4%;height:48%;clip-path:polygon(0 74%,24% 30%,42% 63%,62% 12%,100% 74%,100% 100%,0 100%);background:rgba(8,25,48,.72)}
.ec-guest-card-shape-b{width:46%;height:46%;border-radius:50%;right:7%;top:8%;background:rgba(255,215,124,.58);box-shadow:0 0 45px rgba(255,181,78,.35)}
.ec-guest-card-shape-c{left:10%;right:10%;bottom:12%;height:14%;border-radius:999px;background:rgba(255,255,255,.14)}
.ec-guest-card-mountain{background:linear-gradient(155deg,#70b8ea 0%,#365b9d 42%,#132a48 100%)}
.ec-guest-card-concert{background:radial-gradient(circle at 50% 20%,#ff8b45 0 10%,transparent 35%),linear-gradient(145deg,#7f225f,#271342 60%,#071426)}
.ec-guest-card-city{background:linear-gradient(155deg,#e99472 0%,#794d83 44%,#17233f 100%)}
.ec-guest-card-festival{background:radial-gradient(circle at 30% 24%,#ffca5d 0 12%,transparent 38%),linear-gradient(145deg,#df4e72,#66246f 55%,#13223e)}
.ec-guest-card-lake{background:linear-gradient(160deg,#8bd9da 0%,#2e8c9c 46%,#163b55 100%)}
.ec-guest-card-night{background:radial-gradient(circle at 70% 20%,#945cff 0 12%,transparent 40%),linear-gradient(145deg,#14245d,#331047 58%,#06101f)}
.ec-guest-card-castle{background:linear-gradient(155deg,#e3bd84 0%,#866b78 44%,#263245 100%)}
.ec-guest-card-road{background:linear-gradient(160deg,#e9a45e 0%,#76506d 42%,#193345 100%)}
.ec-guest-gallery-lock{
  grid-column:1/-1;
  margin:4px auto 0;
  width:min(560px,100%);
  padding:20px 22px;
  border-radius:22px;
  border:1px solid rgba(116,192,255,.26);
  background:rgba(4,15,31,.92);
  box-shadow:0 18px 55px rgba(0,0,0,.32);
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}
.ec-guest-gallery-lock-icon{font-size:1.45rem}
.ec-guest-gallery-lock strong{font-size:1.05rem;color:#fff}
.ec-guest-gallery-lock span{color:rgba(222,239,255,.7);font-size:.9rem;margin-bottom:5px}
@media(max-width:620px){
  .ec-guest-gallery-lock{padding:18px 14px;border-radius:18px}
  .ec-guest-gallery-card:nth-of-type(n+5){display:none!important}
}

/* v1.0.114 — identité Affiche et page publique autonome */
.ec-nav-item.ec-nav-affiche{
  min-height:68px;
  padding:8px 10px;
  justify-content:center;
  overflow:hidden;
}
.ec-nav-item.ec-nav-affiche img{
  display:block;
  width:100%;
  max-width:205px;
  height:52px;
  object-fit:contain;
}
.ec-affiche-head-brand{
  min-width:0;
  display:flex;
  align-items:center;
}
.ec-affiche-head-logo{
  display:block;
  width:min(620px,100%);
  max-height:190px;
  object-fit:contain;
  object-position:left center;
}
.ec-affiche-shell{
  width:min(1540px,100%);
  margin:0 auto;
}
.ec-affiche-app .ec-affiche-main{
  width:100%;
  min-height:calc(100vh - 40px);
}
.ec-affiche-app .ec-upcoming-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:28px!important;
}
body.ec-affiche-standalone .ec-affiche-app{
  min-height:100vh;
}
body.ec-affiche-standalone .ec-affiche-app .ec-main{
  margin:0 auto;
}
@media(max-width:900px){
  .ec-nav-item.ec-nav-affiche{min-height:64px}
  .ec-nav-item.ec-nav-affiche img{height:48px;max-width:190px}
  .ec-affiche-app .ec-affiche-main{
    min-height:100vh;
    border:0!important;
    border-radius:0!important;
    padding:14px 12px 86px!important;
  }
  .ec-affiche-app .ec-upcoming-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .ec-affiche-head-brand{justify-content:center}
  .ec-affiche-head-logo{
    width:min(560px,100%);
    max-height:150px;
    object-position:center;
  }
}
@media(max-width:560px){
  .ec-affiche-head-logo{max-height:118px}
  .ec-affiche-app .ec-affiche-main{padding-left:8px!important;padding-right:8px!important}
}

/* Lisibilité du logo original Affiche sur l'interface sombre */
.ec-nav-item.ec-nav-affiche{
  background:rgba(247,250,255,.97)!important;
  border-color:rgba(127,80,255,.34)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.2)!important;
}
.ec-nav-item.ec-nav-affiche:hover,
.ec-nav-item.ec-nav-affiche.is-active{
  background:#fff!important;
  border-color:rgba(255,70,139,.68)!important;
  box-shadow:0 0 26px rgba(157,67,255,.22)!important;
}
.ec-affiche-head-brand{
  padding:10px 18px;
  border-radius:24px;
  background:rgba(247,250,255,.97);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 18px 45px rgba(0,0,0,.23),0 0 30px rgba(147,76,255,.08);
}
@media(max-width:560px){
  .ec-affiche-head-brand{padding:7px 10px;border-radius:18px}
}

/* v1.0.115 — intégration propre du logo Affiche sur fond sombre */
.ec-nav-item.ec-nav-affiche{
  min-height:58px!important;
  padding:9px 14px!important;
  justify-content:flex-start!important;
  gap:13px!important;
  overflow:visible!important;
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
.ec-nav-item.ec-nav-affiche:hover,
.ec-nav-item.ec-nav-affiche.is-active{
  background:linear-gradient(90deg,rgba(0,102,255,.34),rgba(0,183,255,.08))!important;
  border-color:rgba(25,183,255,.55)!important;
  box-shadow:0 0 24px rgba(0,102,255,.25)!important;
}
.ec-nav-affiche-icon{
  width:36px;
  height:42px;
  flex:0 0 36px;
  display:grid;
  place-items:center;
  overflow:visible;
  filter:drop-shadow(0 0 9px rgba(185,67,255,.35));
}
.ec-nav-affiche-icon img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:contain!important;
  display:block!important;
}
.ec-nav-affiche-label{
  color:#eaf6ff;
  font-size:16px;
  font-weight:800;
  letter-spacing:.01em;
}
.ec-nav-item.ec-nav-affiche.is-active .ec-nav-affiche-label,
.ec-nav-item.ec-nav-affiche:hover .ec-nav-affiche-label{color:#fff}

.ec-affiche-head-brand{
  min-width:0;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.ec-affiche-head-logo{
  display:block;
  width:min(470px,42vw)!important;
  max-width:100%!important;
  height:auto!important;
  max-height:126px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.26)) drop-shadow(0 0 16px rgba(120,58,255,.12));
}
.ec-affiche-app .ec-upcoming-head{
  min-height:132px;
  padding:0 2px 8px!important;
}
body.ec-affiche-standalone .ec-affiche-app .ec-upcoming-head{
  padding-top:4px!important;
}
@media(max-width:900px){
  .ec-nav-item.ec-nav-affiche{min-height:54px!important;padding:7px 12px!important}
  .ec-nav-affiche-icon{width:34px;height:38px;flex-basis:34px}
  .ec-affiche-head-logo{
    width:min(470px,92vw)!important;
    max-height:116px!important;
    object-position:center!important;
  }
  .ec-affiche-app .ec-upcoming-head{min-height:0;padding-bottom:4px!important}
}
@media(max-width:560px){
  .ec-affiche-head-logo{width:min(410px,94vw)!important;max-height:98px!important}
}

/* v1.0.116 — Affiche s'ouvre sur une mosaïque de flyers, calendrier en vue secondaire */
.ec-affiche-view-switch{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  padding:5px!important;
  border-radius:16px!important;
  border:1px solid rgba(119,205,255,.20)!important;
  background:rgba(3,15,31,.76)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 12px 30px rgba(0,0,0,.18)!important;
}
.ec-affiche-view-button{
  min-height:42px!important;
  padding:0 15px!important;
  border-radius:12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  color:rgba(225,243,255,.72)!important;
  text-decoration:none!important;
  border:1px solid transparent!important;
  background:transparent!important;
  font-size:13px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease!important;
}
.ec-affiche-view-button span{font-size:17px!important;line-height:1!important}
.ec-affiche-view-button:hover{
  color:#fff!important;
  border-color:rgba(121,211,255,.25)!important;
  background:rgba(255,255,255,.055)!important;
}
.ec-affiche-view-button.is-active{
  color:#fff!important;
  border-color:rgba(84,207,255,.62)!important;
  background:linear-gradient(135deg,rgba(0,122,255,.94),rgba(93,54,255,.82))!important;
  box-shadow:0 8px 22px rgba(0,102,255,.27),inset 0 1px 0 rgba(255,255,255,.20)!important;
}
.ec-affiche-posters-panel{
  width:100%!important;
  margin:0!important;
  padding:20px!important;
  border-radius:28px!important;
  border:1px solid rgba(90,174,255,.18)!important;
  background:linear-gradient(180deg,rgba(8,29,57,.88),rgba(3,15,32,.92))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 22px 65px rgba(0,0,0,.18)!important;
}
.ec-affiche-posters-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(205px,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
.ec-affiche-poster-card{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative!important;
  display:block!important;
  width:100%!important;
  aspect-ratio:3 / 4!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  cursor:pointer!important;
  text-align:left!important;
  border-radius:20px!important;
  border:1px solid rgba(132,206,255,.20)!important;
  background:linear-gradient(160deg,rgba(13,35,65,.98),rgba(2,10,22,.98))!important;
  box-shadow:0 14px 34px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.045)!important;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease!important;
}
.ec-affiche-poster-card:hover,
.ec-affiche-poster-card:focus-visible{
  transform:translateY(-5px)!important;
  border-color:rgba(84,207,255,.72)!important;
  box-shadow:0 22px 48px rgba(0,0,0,.38),0 0 26px rgba(70,122,255,.17)!important;
  outline:none!important;
}
.ec-affiche-poster-media{
  position:absolute!important;
  inset:0!important;
  display:grid!important;
  place-items:center!important;
  padding:10px!important;
  background:radial-gradient(circle at 50% 18%,rgba(77,101,160,.16),transparent 48%),#040d1c!important;
}
.ec-affiche-poster-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:12px!important;
  filter:none!important;
  transform:none!important;
}
.ec-affiche-poster-placeholder{
  color:rgba(224,241,255,.55)!important;
  font-size:13px!important;
  font-weight:800!important;
}
.ec-affiche-poster-overlay{
  position:absolute!important;
  z-index:2!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  min-height:30%!important;
  padding:42px 14px 13px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  align-items:flex-start!important;
  gap:6px!important;
  color:#fff!important;
  background:linear-gradient(180deg,transparent,rgba(1,7,17,.76) 48%,rgba(1,7,17,.96))!important;
  pointer-events:none!important;
  opacity:.96!important;
}
.ec-affiche-poster-overlay strong{
  width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:900!important;
  text-shadow:0 2px 10px rgba(0,0,0,.75)!important;
}
.ec-affiche-poster-date{
  display:inline-flex!important;
  align-items:center!important;
  min-height:25px!important;
  padding:0 9px!important;
  border-radius:999px!important;
  color:#04111f!important;
  background:rgba(157,238,255,.94)!important;
  box-shadow:0 5px 16px rgba(0,0,0,.22)!important;
  font-size:11px!important;
  font-weight:950!important;
  letter-spacing:.01em!important;
}
.ec-affiche-posters-empty{margin:0!important}

@media(min-width:1200px){
  .ec-affiche-posters-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
}
@media(min-width:901px) and (max-width:1199px){
  .ec-affiche-posters-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .ec-affiche-app .ec-upcoming-head-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:9px!important;
  }
  .ec-affiche-view-switch{width:100%!important;min-width:0!important}
  .ec-affiche-view-button{flex:1 1 0!important;padding:0 10px!important}
  .ec-affiche-app .ec-upcoming-add-btn{width:auto!important;min-width:92px!important;flex:none!important}
  .ec-affiche-posters-panel{padding:14px!important;border-radius:22px!important}
  .ec-affiche-posters-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
  .ec-affiche-poster-card{border-radius:16px!important}
  .ec-affiche-poster-media{padding:7px!important}
  .ec-affiche-poster-media img{border-radius:10px!important}
  .ec-affiche-poster-overlay{padding:32px 10px 10px!important}
  .ec-affiche-poster-overlay strong{font-size:12px!important}
  .ec-affiche-poster-date{min-height:22px!important;padding:0 7px!important;font-size:10px!important}
}
@media(max-width:620px){
  .ec-affiche-app .ec-upcoming-head-actions{grid-template-columns:1fr!important}
  .ec-affiche-app .ec-upcoming-add-btn{width:100%!important;min-width:0!important}
  .ec-affiche-posters-panel{padding:10px!important;border-radius:18px!important}
  .ec-affiche-posters-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .ec-affiche-poster-card{border-radius:14px!important}
  .ec-affiche-poster-media{padding:5px!important}
  .ec-affiche-poster-overlay{padding:28px 8px 8px!important}
  .ec-affiche-poster-overlay strong{font-size:11px!important}
}
.ec-affiche-posters-period{margin:0 0 12px!important}
.ec-affiche-posters-period .ec-focus-title{
  width:min(520px,100%)!important;
  margin:0 auto!important;
}


/* v1.0.118 — menu MyDex rétractable + notation communautaire d'Affiche */
.ec-sidebar-launcher{
  display:none!important;
  position:fixed!important;
  top:18px!important;
  left:18px!important;
  z-index:2147483610!important;
  width:58px!important;
  height:58px!important;
  padding:5px!important;
  border-radius:17px!important;
  border:1px solid rgba(0,184,255,.52)!important;
  background:linear-gradient(180deg,rgba(5,22,42,.98),rgba(1,8,18,.98))!important;
  box-shadow:0 14px 34px rgba(0,0,0,.42),0 0 24px rgba(0,145,255,.20),inset 0 1px 0 rgba(255,255,255,.10)!important;
  cursor:pointer!important;
  transition:left .24s ease,transform .2s ease,opacity .2s ease,border-color .2s ease!important;
}
.ec-sidebar-launcher:hover,
.ec-sidebar-launcher:focus-visible{
  transform:translateY(-2px) scale(1.035)!important;
  border-color:rgba(61,217,255,.92)!important;
  outline:none!important;
}
.ec-sidebar-launcher img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  border-radius:12px!important;
}

@media(min-width:901px){
  .ec-wrap.ec-app .ec-app-shell{
    padding-left:0!important;
  }
  .ec-wrap.ec-app .ec-main{
    width:100%!important;
    padding-left:92px!important;
  }
  .ec-wrap.ec-app .ec-sidebar{
    transform:translateX(calc(-100% - 34px))!important;
    opacity:0!important;
    pointer-events:none!important;
    transition:transform .24s ease,opacity .2s ease!important;
    z-index:2147483605!important;
  }
  .ec-wrap.ec-app.ec-menu-open .ec-sidebar{
    transform:translateX(0)!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  .ec-wrap.ec-app .ec-sidebar-launcher{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .ec-wrap.ec-app.ec-menu-open .ec-sidebar-launcher{
    left:326px!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:scale(.92)!important;
  }
  .ec-wrap.ec-app .ec-sidebar-overlay{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:2147483601!important;
    border:0!important;
    background:rgba(0,3,9,.62)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .2s ease,visibility .2s ease!important;
  }
  .ec-wrap.ec-app.ec-menu-open .ec-sidebar-overlay{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
}

.ec-affiche-poster-card{position:relative!important}
.ec-affiche-rating-badge{
  position:absolute!important;
  top:10px!important;
  right:10px!important;
  z-index:4!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:28px!important;
  padding:0 9px!important;
  border-radius:999px!important;
  color:#06101d!important;
  background:linear-gradient(135deg,#ffe56f,#ffb72b)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.34)!important;
  font-size:12px!important;
  font-weight:950!important;
}
.ec-upcoming-rating-box{
  display:grid!important;
  gap:10px!important;
  margin:4px 0 2px!important;
  padding:14px 16px!important;
  border-radius:16px!important;
  border:1px solid rgba(255,196,52,.24)!important;
  background:linear-gradient(180deg,rgba(255,197,45,.075),rgba(4,15,29,.72))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.ec-upcoming-rating-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.ec-upcoming-rating-head strong{color:#fff!important;font-size:14px!important}
.ec-upcoming-rating-head span{color:#ffd76a!important;font-size:13px!important;font-weight:850!important;text-align:right!important}
.ec-upcoming-rating-form{display:grid!important;gap:6px!important;margin:0!important}
.ec-upcoming-rating-stars{display:flex!important;align-items:center!important;gap:5px!important}
.ec-upcoming-rating-stars button{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:38px!important;
  height:38px!important;
  padding:0!important;
  border:0!important;
  border-radius:10px!important;
  color:#516176!important;
  background:rgba(8,25,45,.82)!important;
  font-size:25px!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:transform .14s ease,color .14s ease,background .14s ease!important;
}
.ec-upcoming-rating-stars button:hover:not(:disabled),
.ec-upcoming-rating-stars button:focus-visible:not(:disabled){
  transform:translateY(-2px) scale(1.06)!important;
  color:#ffe26b!important;
  background:rgba(255,190,38,.14)!important;
  outline:none!important;
}
.ec-upcoming-rating-stars button.is-selected{
  color:#ffd447!important;
  background:rgba(255,190,38,.16)!important;
  text-shadow:0 0 16px rgba(255,193,30,.34)!important;
}
.ec-upcoming-rating-stars button.is-community:not(.is-selected){color:#b99b42!important}
.ec-upcoming-rating-stars button:disabled{cursor:default!important;opacity:.55!important}
.ec-upcoming-rating-form small{min-height:17px!important;color:#9fb1c4!important;font-size:12px!important}
.ec-upcoming-rating-login{color:#8fe7ff!important;font-weight:850!important;text-decoration:none!important}
.ec-upcoming-rating-login:hover{text-decoration:underline!important}

@media(max-width:900px){
  .ec-upcoming-rating-head{align-items:flex-start!important;flex-direction:column!important;gap:3px!important}
  .ec-upcoming-rating-head span{text-align:left!important}
  .ec-upcoming-rating-stars{justify-content:space-between!important;width:100%!important}
  .ec-upcoming-rating-stars button{width:42px!important;height:42px!important}
  .ec-affiche-rating-badge{top:7px!important;right:7px!important;min-height:24px!important;padding:0 7px!important;font-size:10px!important}
}

/* v1.0.119 — Affiche : flyers complets, notation uniquement dans la fiche et switch instantané */
.ec-affiche-rating-badge{
  display:none!important;
}
.ec-affiche-poster-media{
  padding:0!important;
}
.ec-affiche-poster-media img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:fill!important;
  object-position:center center!important;
  border-radius:0!important;
}
.ec-affiche-mode-panel{
  display:none!important;
  width:100%!important;
}
.ec-affiche-mode-panel.is-active{
  display:block!important;
}


/* v1.0.121 — Affiche : rendu intégral garanti, sans balise image recadrable */
.ec-affiche-poster-media.has-image{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background-color:#040d1c!important;
  background-size:100% 100%!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  transform:none!important;
  clip-path:none!important;
}
.ec-affiche-poster-media.has-image::before,
.ec-affiche-poster-media.has-image::after{
  display:none!important;
  content:none!important;
}

/* v1.0.122 — identité harmonisée Galerie / Calendrier, sur le modèle d'Affiche */
.ec-nav-item.ec-nav-branded{
  min-height:58px!important;
  padding:9px 14px!important;
  justify-content:flex-start!important;
  gap:13px!important;
  overflow:visible!important;
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
.ec-nav-item.ec-nav-branded:hover,
.ec-nav-item.ec-nav-branded.is-active{
  background:linear-gradient(90deg,rgba(0,102,255,.34),rgba(0,183,255,.08))!important;
  border-color:rgba(25,183,255,.55)!important;
  box-shadow:0 0 24px rgba(0,102,255,.25)!important;
}
.ec-nav-brand-icon{
  width:38px!important;
  height:42px!important;
  flex:0 0 38px!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
  filter:drop-shadow(0 0 9px rgba(185,67,255,.30));
}
.ec-nav-brand-icon img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:contain!important;
}
.ec-nav-brand-label{
  color:#eaf6ff!important;
  font-size:16px!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
}
.ec-nav-item.ec-nav-branded:hover .ec-nav-brand-label,
.ec-nav-item.ec-nav-branded.is-active .ec-nav-brand-label{color:#fff!important}

.ec-section-brand{
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.ec-section-brand-logo{
  display:block!important;
  width:min(560px,47vw)!important;
  max-width:100%!important;
  height:auto!important;
  max-height:126px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.28)) drop-shadow(0 0 16px rgba(120,58,255,.12));
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-hero.ec-gallery-hero{
  min-height:132px!important;
  align-items:center!important;
  padding:0 2px 8px!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-gallery-head-logo{
  width:min(560px,47vw)!important;
}
.ec-calendar-panel .ec-section-head.ec-section-head-branded{
  align-items:center!important;
  min-height:126px!important;
  margin:0 0 18px!important;
  padding:0 2px 4px!important;
}
.ec-calendar-panel .ec-calendar-head-logo{
  width:min(560px,47vw)!important;
}
.ec-calendar-panel .ec-section-head.ec-section-head-branded > div{
  min-width:0!important;
  flex:1 1 auto!important;
}
.ec-calendar-panel .ec-section-head.ec-section-head-branded .ec-calendar-year-select{
  flex:0 0 auto!important;
  align-self:center!important;
}

@media(max-width:900px){
  .ec-nav-item.ec-nav-branded{min-height:54px!important;padding:7px 12px!important}
  .ec-nav-brand-icon{width:34px!important;height:38px!important;flex-basis:34px!important}
  .ec-section-brand-logo{
    width:min(520px,92vw)!important;
    max-height:112px!important;
    object-position:center!important;
  }
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-hero.ec-gallery-hero{
    display:flex!important;
    align-items:center!important;
    min-height:0!important;
    margin:18px 0 14px!important;
    padding-bottom:4px!important;
  }
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-gallery-head-logo,
  .ec-calendar-panel .ec-calendar-head-logo{
    width:min(520px,92vw)!important;
  }
  .ec-calendar-panel .ec-section-head.ec-section-head-branded{
    min-height:0!important;
    align-items:center!important;
    flex-direction:column!important;
    padding-bottom:4px!important;
  }
  .ec-calendar-panel .ec-section-head.ec-section-head-branded .ec-calendar-year-select{
    align-self:flex-end!important;
  }
}
@media(max-width:560px){
  .ec-section-brand-logo,
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-gallery-head-logo,
  .ec-calendar-panel .ec-calendar-head-logo{
    width:min(430px,94vw)!important;
    max-height:94px!important;
  }
}


/* v1.0.123 — identité MyDex complète, paramètres et proportions harmonisées */
.ec-wrap.ec-app .ec-brand,
.ec-wrap.ec-app .ec-mobile-brand{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:0!important;
}
.ec-wrap.ec-app .ec-brand{
  min-height:82px!important;
  padding:0 4px 14px!important;
}
.ec-wrap.ec-app .ec-brand-full-logo{
  display:block!important;
  width:min(252px,100%)!important;
  height:72px!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:drop-shadow(0 9px 18px rgba(0,0,0,.30)) drop-shadow(0 0 12px rgba(108,73,255,.13))!important;
}
.ec-wrap.ec-app .ec-mobile-brand .ec-brand-full-logo{
  width:min(210px,calc(100vw - 118px))!important;
  height:46px!important;
  object-position:left center!important;
}

/* Le bouton flottant reprend exactement l’icône carrée liée au nouveau logo MyDex. */
.ec-sidebar-launcher{
  padding:4px!important;
  overflow:hidden!important;
}
.ec-sidebar-launcher img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:13px!important;
}

/* Les quatre icônes de navigation occupent le même cadre sans jamais être rognées. */
.ec-nav-brand-icon,
.ec-nav-affiche-icon,
.ec-nav-settings-icon{
  width:40px!important;
  height:44px!important;
  flex:0 0 40px!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
.ec-nav-brand-icon img,
.ec-nav-affiche-icon img,
.ec-nav-settings-icon img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  clip-path:none!important;
}
/* Un léger retrait garantit que la base et les traits latéraux de Galerie restent entièrement visibles. */
.ec-nav-gallery .ec-nav-brand-icon img{padding:2px!important;box-sizing:border-box!important}
.ec-nav-calendar .ec-nav-brand-icon img{padding:2px!important;box-sizing:border-box!important}
.ec-nav-settings-icon{
  filter:drop-shadow(0 0 9px rgba(27,205,255,.25));
}
.ec-nav-settings-icon img{padding:1px!important;box-sizing:border-box!important}
.ec-nav-settings-label{
  color:#eaf6ff!important;
  font-size:16px!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
}
.ec-nav-item:hover .ec-nav-settings-label,
.ec-nav-item.is-open .ec-nav-settings-label{color:#fff!important}

/* Affiche, Galerie et Calendrier utilisent désormais exactement le même cadre visuel. */
.ec-affiche-head-logo,
.ec-section-brand-logo,
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-gallery-head-logo,
.ec-calendar-panel .ec-calendar-head-logo{
  display:block!important;
  width:min(470px,42vw)!important;
  height:126px!important;
  max-width:100%!important;
  max-height:126px!important;
  object-fit:contain!important;
  object-position:left center!important;
  image-rendering:auto!important;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.27)) drop-shadow(0 0 14px rgba(120,58,255,.10))!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-hero.ec-gallery-hero,
.ec-affiche-app .ec-upcoming-head,
.ec-calendar-panel .ec-section-head.ec-section-head-branded{
  min-height:132px!important;
}

@media(max-width:900px){
  .ec-nav-brand-icon,
  .ec-nav-affiche-icon,
  .ec-nav-settings-icon{
    width:36px!important;
    height:40px!important;
    flex-basis:36px!important;
  }
  .ec-affiche-head-logo,
  .ec-section-brand-logo,
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-gallery-head-logo,
  .ec-calendar-panel .ec-calendar-head-logo{
    width:min(470px,92vw)!important;
    height:116px!important;
    max-height:116px!important;
    object-position:center!important;
  }
  .ec-wrap.ec-app .ec-brand-full-logo{
    width:min(238px,100%)!important;
    height:68px!important;
  }
}
@media(max-width:560px){
  .ec-affiche-head-logo,
  .ec-section-brand-logo,
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-gallery-head-logo,
  .ec-calendar-panel .ec-calendar-head-logo{
    width:min(410px,94vw)!important;
    height:98px!important;
    max-height:98px!important;
  }
}

/* Galerie 1.0.129 : même sélecteur multi-catégories que dans Affiche. */
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-filters[data-ec-auto-filter]{
  grid-template-columns:minmax(240px,370px) minmax(260px,410px) minmax(230px,auto)!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-gallery-category-filter{
  width:100%!important;
  min-width:0!important;
  z-index:80!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-gallery-category-filter summary{
  width:100%!important;
  min-height:58px!important;
  height:58px!important;
  justify-content:space-between!important;
  border-radius:12px!important;
  padding:0 20px!important;
  border-color:rgba(56,132,207,.44)!important;
  background:linear-gradient(180deg,#071a30 0%,#031020 54%,#020a15 100%)!important;
  color:#f6fbff!important;
  box-shadow:0 12px 26px rgba(0,0,0,.27),inset 0 1px 0 rgba(255,255,255,.08),inset 0 -16px 25px rgba(0,0,0,.20),0 0 0 1px rgba(0,184,255,.055)!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-gallery-category-filter[open] summary{
  border-color:rgba(0,184,255,.72)!important;
  background:linear-gradient(180deg,#0b3151,#06213b)!important;
  color:#fff!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-gallery-category-panel{
  left:0!important;
  right:auto!important;
  width:min(460px,calc(100vw - 28px))!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-per-page{
  grid-column:auto!important;
}
@media(max-width:1180px){
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-filters[data-ec-auto-filter]{
    grid-template-columns:1fr 1fr!important;
  }
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-per-page{grid-column:1/-1!important;}
}
@media(max-width:760px){
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-filters[data-ec-auto-filter]{grid-template-columns:1fr!important;}
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-gallery-category-panel{left:50%!important;right:auto!important;transform:translateX(-50%)!important;}
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-per-page{grid-column:auto!important;}
}


/* v1.0.133 — position et typographie des compteurs du calendrier privé */
.ec-calendar-year-select{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:9px;
}
.ec-month-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 10px;
}
.ec-month-head h3{
  margin:0!important;
  min-width:0;
}
.ec-calendar-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:29px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(91,180,255,.35);
  background:linear-gradient(135deg,rgba(22,119,255,.22),rgba(25,183,255,.10));
  color:#dff6ff;
  font-size:.72rem;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 0 18px rgba(25,183,255,.11),inset 0 1px 0 rgba(255,255,255,.06);
}
.ec-calendar-count-number{
  font-size:1.22em;
  font-weight:950;
  line-height:.9;
}
.ec-calendar-count-label{
  font-size:.92em;
  font-weight:850;
}
.ec-calendar-year-count{
  min-height:42px;
  padding-inline:13px;
  font-size:.82rem;
  gap:5px;
}
.ec-calendar-year-count .ec-calendar-count-number{
  font-size:1.48em;
}
.ec-month-count{
  min-height:26px;
  padding:4px 8px;
  font-size:.69rem;
  gap:4px;
}
.ec-month-count .ec-calendar-count-number{
  font-size:1.42em;
}
@media(max-width:620px){
  .ec-calendar-year-select{width:100%;justify-content:flex-end}
  .ec-calendar-year-select select{flex:0 1 130px}
  .ec-calendar-year-count{min-height:40px;padding-inline:11px}
  .ec-month-head{gap:8px}
  .ec-month-count{font-size:.65rem;padding-inline:7px}
}

/* Galerie : titre éditable dès l'ajout et panneau complet avant validation. */
.ec-single-title.ec-is-hidden{display:none!important}
.ec-gallery-options-drawer{margin-top:2px!important;margin-bottom:2px!important}
.ec-gallery-options-drawer summary span:before{content:'⌄'!important;font-size:20px!important;line-height:1!important;transition:transform .18s ease!important}
.ec-gallery-options-drawer[open] summary span:before{content:'⌃'!important}
.ec-multi-date input[name="ec_titles[]"]{margin-top:8px!important;min-height:46px!important;border-radius:14px!important}


/* v1.0.135 — barre de défilement invisible dans le pop-up Ajouter une carte */
.ec-add-modal{
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.ec-add-modal::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}


/* v1.0.136 — Galerie calée sur la maquette PC/mobile + double affichage mobile */
.ec-gallery-desktop-top,
.ec-gallery-mobile-view-switch{display:none}

@media(min-width:901px){
  /* Sur la Galerie, la navigation latérale laisse place à l'en-tête horizontal de la maquette. */
  .ec-wrap.ec-app.ec-current-view-gallery .ec-app-shell{
    display:block!important;
    padding-left:0!important;
    max-width:1540px!important;
    margin:0 auto!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-sidebar,
  .ec-wrap.ec-app.ec-current-view-gallery .ec-sidebar-launcher,
  .ec-wrap.ec-app.ec-current-view-gallery .ec-sidebar-overlay{
    display:none!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-main{
    width:100%!important;
    min-height:calc(100dvh - 40px)!important;
    margin:20px auto!important;
    padding:24px 26px 28px!important;
    border-radius:20px!important;
    border:1px solid rgba(41,113,198,.38)!important;
    background:
      radial-gradient(circle at 13% 0%,rgba(0,95,205,.12),transparent 34%),
      linear-gradient(180deg,rgba(2,9,20,.98),rgba(1,6,14,.99))!important;
    box-shadow:0 26px 80px rgba(0,0,0,.44),inset 0 0 70px rgba(0,90,190,.035)!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-desktop-top{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:24px!important;
    min-height:72px!important;
    padding:0 6px 20px!important;
    margin:0 0 18px!important;
    border-bottom:1px solid rgba(39,108,187,.24)!important;
  }
  .ec-gallery-desktop-mydex-logo{
    display:block!important;
    width:260px!important;
    height:66px!important;
    object-fit:contain!important;
    object-position:left center!important;
    filter:drop-shadow(0 8px 16px rgba(0,0,0,.30))!important;
  }
  .ec-wrap.ec-app .ec-gallery-desktop-add{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:208px!important;
    min-height:54px!important;
    padding:0 24px!important;
    border-radius:14px!important;
    border:1px solid rgba(27,194,255,.72)!important;
    background:linear-gradient(135deg,#087ce9 0%,#174fdf 56%,#4a16ab 100%)!important;
    color:#fff!important;
    font-size:15px!important;
    font-weight:900!important;
    box-shadow:0 12px 30px rgba(26,75,218,.32),inset 0 1px 0 rgba(255,255,255,.28)!important;
  }
  .ec-wrap.ec-app .ec-gallery-desktop-add:before{
    content:'+'!important;
    margin-right:13px!important;
    font-size:26px!important;
    font-weight:300!important;
    line-height:1!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-app-view[data-ec-view="gallery"] .ec-hero.ec-gallery-hero{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:178px!important;
    margin:0 0 18px!important;
    padding:12px 28px!important;
    overflow:hidden!important;
    border-radius:18px!important;
    border:1px solid rgba(27,105,197,.35)!important;
    background:
      radial-gradient(circle at 22% 58%,rgba(128,0,255,.19),transparent 31%),
      radial-gradient(circle at 76% 86%,rgba(32,0,255,.18),transparent 33%),
      linear-gradient(135deg,#02081a 0%,#050522 52%,#080321 100%)!important;
    box-shadow:inset 0 0 55px rgba(54,56,255,.075)!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-app-view[data-ec-view="gallery"] .ec-hero.ec-gallery-hero:after{
    content:''!important;
    position:absolute!important;
    inset:auto -8% -58% 42%!important;
    height:145px!important;
    transform:rotate(-7deg)!important;
    background:linear-gradient(90deg,transparent,rgba(0,93,255,.28),rgba(255,0,213,.50),transparent)!important;
    filter:blur(18px)!important;
    pointer-events:none!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-head-brand{
    position:relative!important;
    z-index:2!important;
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-head-logo{
    width:min(1020px,86vw)!important;
    height:150px!important;
    max-height:150px!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-hero > .ec-btn-light{display:none!important}

  .ec-wrap.ec-app.ec-current-view-gallery .ec-app-view[data-ec-view="gallery"] .ec-filters[data-ec-auto-filter]{
    grid-template-columns:minmax(230px,280px) minmax(250px,320px) minmax(0,1fr) auto!important;
    min-height:72px!important;
    margin:0 0 18px!important;
    padding:10px 16px!important;
    gap:16px!important;
    border-radius:16px!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-app-view[data-ec-view="gallery"] .ec-filters select,
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-category-filter summary{
    min-height:52px!important;
    height:52px!important;
    border-radius:13px!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-app-view[data-ec-view="gallery"] .ec-per-page select{
    width:84px!important;
    min-width:84px!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery #ec-gallery.ec-gallery{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:22px!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery #ec-gallery.ec-gallery > .ec-card{
    border-radius:17px!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery #ec-gallery.ec-gallery > .ec-card .ec-imgbox,
  .ec-wrap.ec-app.ec-current-view-gallery #ec-gallery.ec-gallery > .ec-card.ec-horizontal .ec-imgbox{
    width:calc(100% - 18px)!important;
    margin:9px 9px 0!important;
    aspect-ratio:148 / 210!important;
    border-radius:13px!important;
    background:#020915!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery #ec-gallery.ec-gallery > .ec-card .ec-imgbox img,
  .ec-wrap.ec-app.ec-current-view-gallery #ec-gallery.ec-gallery > .ec-card.ec-horizontal .ec-imgbox img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
    background:#020915!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery #ec-gallery.ec-gallery > .ec-card .ec-card-body{
    padding:12px 14px 14px!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery #ec-gallery.ec-gallery > .ec-card h3{
    font-size:17px!important;
    line-height:1.22!important;
  }
}

@media(min-width:901px) and (max-width:1180px){
  .ec-wrap.ec-app.ec-current-view-gallery #ec-gallery.ec-gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media(max-width:900px){
  .ec-wrap.ec-app.ec-current-view-gallery .ec-main{
    padding:0 12px 22px!important;
    background:linear-gradient(180deg,#010711,#01050c)!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-mobile-top{
    margin:0 -12px 10px!important;
    padding:12px 12px 10px!important;
    border-bottom:1px solid rgba(31,101,177,.28)!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-mobile-brand .ec-brand-full-logo{
    width:min(190px,calc(100vw - 104px))!important;
    height:42px!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-mobile-add{
    width:42px!important;
    height:42px!important;
    border-radius:13px!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-app-view[data-ec-view="gallery"] .ec-hero.ec-gallery-hero{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:108px!important;
    margin:4px 0 10px!important;
    padding:2px 0!important;
    overflow:hidden!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-head-brand{
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-head-logo{
    width:min(450px,100%)!important;
    height:104px!important;
    max-height:104px!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-filter-toggle{
    display:flex!important;
    min-height:52px!important;
    margin:0 0 10px!important;
    border-radius:13px!important;
    border-color:rgba(21,124,224,.46)!important;
    background:linear-gradient(180deg,rgba(4,39,73,.90),rgba(2,22,43,.94))!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-filter-toggle:before{
    content:'☷'!important;
    color:#16d5ff!important;
    margin-right:10px!important;
    font-size:19px!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-app-view[data-ec-view="gallery"] .ec-filters[data-ec-auto-filter]{
    margin:0 0 10px!important;
    padding:12px!important;
    border-radius:14px!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-mobile-view-switch{
    display:grid!important;
    grid-template-columns:auto 1fr 1.35fr!important;
    align-items:center!important;
    gap:6px!important;
    width:100%!important;
    min-height:46px!important;
    margin:0 0 12px!important;
    padding:5px!important;
    border:1px solid rgba(36,105,177,.32)!important;
    border-radius:13px!important;
    background:rgba(3,13,27,.86)!important;
  }
  .ec-gallery-mobile-view-switch > span{
    padding:0 7px!important;
    color:#7f98b2!important;
    font-size:11px!important;
    font-weight:850!important;
    text-transform:uppercase!important;
    letter-spacing:.05em!important;
  }
  .ec-gallery-mobile-view-switch button{
    min-width:0!important;
    min-height:36px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    padding:0 8px!important;
    border:1px solid transparent!important;
    border-radius:9px!important;
    background:transparent!important;
    color:#9eb3c8!important;
    cursor:pointer!important;
  }
  .ec-gallery-mobile-view-switch button i{
    color:#25d5ff!important;
    font-size:17px!important;
    font-style:normal!important;
  }
  .ec-gallery-mobile-view-switch button b{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:12px!important;
    font-weight:900!important;
  }
  .ec-gallery-mobile-view-switch button.is-active{
    color:#fff!important;
    border-color:rgba(26,164,255,.54)!important;
    background:linear-gradient(135deg,rgba(5,99,207,.55),rgba(95,16,172,.32))!important;
    box-shadow:0 0 18px rgba(21,111,255,.16)!important;
  }

  /* Mode liste : vignettes A5 à gauche, contenu compact à droite. */
  .ec-wrap.ec-app.ec-gallery-mode-list #ec-gallery.ec-gallery{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-list #ec-gallery.ec-gallery > .ec-card{
    position:relative!important;
    display:grid!important;
    grid-template-columns:88px minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    gap:10px!important;
    min-height:118px!important;
    height:auto!important;
    padding:7px!important;
    border-radius:13px!important;
    overflow:hidden!important;
    transform:none!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-list #ec-gallery.ec-gallery > .ec-card .ec-imgbox,
  .ec-wrap.ec-app.ec-gallery-mode-list #ec-gallery.ec-gallery > .ec-card.ec-horizontal .ec-imgbox{
    grid-column:1!important;
    grid-row:1!important;
    width:88px!important;
    height:112px!important;
    margin:0!important;
    aspect-ratio:148 / 210!important;
    border-radius:9px!important;
    border:1px solid rgba(57,118,185,.28)!important;
    background:#020914!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-list #ec-gallery.ec-gallery > .ec-card .ec-imgbox img,
  .ec-wrap.ec-app.ec-gallery-mode-list #ec-gallery.ec-gallery > .ec-card.ec-horizontal .ec-imgbox img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
    background:#020914!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-list #ec-gallery.ec-gallery > .ec-card .ec-card-body{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    min-height:112px!important;
    padding:6px 30px 4px 0!important;
    justify-content:center!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-list #ec-gallery.ec-gallery > .ec-card .ec-date{
    margin:0 0 7px!important;
    color:#7fdcff!important;
    font-size:11px!important;
    line-height:1.15!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-list #ec-gallery.ec-gallery > .ec-card h3{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    margin:0 0 8px!important;
    color:#fff!important;
    font-size:15px!important;
    line-height:1.18!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-list #ec-gallery.ec-gallery > .ec-card .ec-meta{
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:5px!important;
    margin-top:0!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-list #ec-gallery.ec-gallery > .ec-card .ec-meta span{
    max-width:100%!important;
    font-size:10px!important;
    line-height:1.15!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-list #ec-gallery.ec-gallery > .ec-card .ec-location{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-list #ec-gallery.ec-gallery > .ec-card .ec-image-edit-toggle{
    right:5px!important;
    bottom:5px!important;
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    border-radius:9px!important;
    font-size:14px!important;
  }

  /* Mode grandes cartes : une carte à la fois, glissement gauche/droite natif. */
  .ec-wrap.ec-app.ec-gallery-mode-cards [data-ec-gallery-results]{
    overflow:hidden!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-cards #ec-gallery.ec-gallery{
    display:flex!important;
    grid-template-columns:none!important;
    gap:12px!important;
    width:calc(100% + 12px)!important;
    margin-right:-12px!important;
    padding:0 12px 10px 0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-left:0!important;
    overscroll-behavior-x:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    touch-action:pan-x pan-y!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-cards #ec-gallery.ec-gallery::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
  .ec-wrap.ec-app.ec-gallery-mode-cards #ec-gallery.ec-gallery > .ec-card{
    flex:0 0 calc(100vw - 36px)!important;
    width:calc(100vw - 36px)!important;
    max-width:430px!important;
    min-width:0!important;
    height:auto!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    border-radius:17px!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-cards #ec-gallery.ec-gallery > .ec-card .ec-imgbox,
  .ec-wrap.ec-app.ec-gallery-mode-cards #ec-gallery.ec-gallery > .ec-card.ec-horizontal .ec-imgbox{
    width:calc(100% - 16px)!important;
    margin:8px 8px 0!important;
    aspect-ratio:148 / 210!important;
    border-radius:13px!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-cards #ec-gallery.ec-gallery > .ec-card .ec-imgbox img,
  .ec-wrap.ec-app.ec-gallery-mode-cards #ec-gallery.ec-gallery > .ec-card.ec-horizontal .ec-imgbox img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
    background:#020914!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-cards #ec-gallery.ec-gallery > .ec-card .ec-card-body{
    padding:13px 15px 15px!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-cards #ec-gallery.ec-gallery > .ec-card h3{
    font-size:18px!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-cards .ec-pagination{
    margin-top:10px!important;
  }
}

@media(max-width:380px){
  .ec-gallery-mobile-view-switch{grid-template-columns:1fr 1.25fr!important}
  .ec-gallery-mobile-view-switch > span{display:none!important}
  .ec-wrap.ec-app.ec-gallery-mode-list #ec-gallery.ec-gallery > .ec-card{
    grid-template-columns:78px minmax(0,1fr)!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-list #ec-gallery.ec-gallery > .ec-card .ec-imgbox,
  .ec-wrap.ec-app.ec-gallery-mode-list #ec-gallery.ec-gallery > .ec-card.ec-horizontal .ec-imgbox{
    width:78px!important;
    height:108px!important;
  }
}


/* v1.0.137 — finition Galerie : menu via logo, filtres avec vraies icônes et mobile propre */
html.ec-fullscreen-mode,
body.ec-fullscreen-mode{
  min-height:100%!important;
  background:
    radial-gradient(circle at 14% -8%,rgba(15,92,205,.16),transparent 34%),
    radial-gradient(circle at 92% 18%,rgba(100,23,210,.10),transparent 28%),
    linear-gradient(180deg,#010611 0%,#01040b 100%)!important;
  background-attachment:fixed!important;
}
.ec-wrap.ec-app.ec-current-view-gallery{
  background:transparent!important;
}
.ec-gallery-desktop-menu-toggle{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:5px 8px!important;
  border:1px solid transparent!important;
  border-radius:14px!important;
  background:transparent!important;
  box-shadow:none!important;
  cursor:pointer!important;
  transition:border-color .18s ease,background .18s ease,transform .18s ease!important;
}
.ec-gallery-desktop-menu-toggle:hover,
.ec-gallery-desktop-menu-toggle:focus-visible{
  border-color:rgba(31,180,255,.35)!important;
  background:rgba(13,91,163,.12)!important;
  outline:none!important;
}
.ec-gallery-desktop-menu-toggle:active{transform:scale(.985)!important}

/* Icônes SVG homogènes : aucun caractère Unicode dépendant du téléphone. */
.ec-gallery-filter-icon,
.ec-gallery-select-chevron,
.ec-filter-toggle-icon,
.ec-filter-toggle-chevron,
.ec-gallery-mobile-view-switch button i{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
}
.ec-gallery-filter-icon svg,
.ec-gallery-select-chevron svg,
.ec-filter-toggle-icon svg,
.ec-filter-toggle-chevron svg,
.ec-gallery-mobile-view-switch button i svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.ec-gallery-filter-icon{
  width:22px!important;
  height:22px!important;
  color:#18d6ff!important;
}
.ec-gallery-select-chevron{
  width:18px!important;
  height:18px!important;
  color:#b9d7ed!important;
  pointer-events:none!important;
  transition:transform .18s ease!important;
}
.ec-gallery-select{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  margin:0!important;
}
.ec-gallery-select > .ec-gallery-filter-icon{
  position:absolute!important;
  left:17px!important;
  z-index:2!important;
  pointer-events:none!important;
}
.ec-gallery-select > .ec-gallery-select-chevron{
  position:absolute!important;
  right:16px!important;
  z-index:2!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-gallery-select select{
  width:100%!important;
  min-width:0!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  background-image:linear-gradient(180deg,#07182d,#051120)!important;
  padding-left:52px!important;
  padding-right:48px!important;
}
.ec-wrap.ec-app .ec-gallery-category-filter summary{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:0 48px 0 17px!important;
  list-style:none!important;
}
.ec-wrap.ec-app .ec-gallery-category-filter summary::-webkit-details-marker{display:none!important}
.ec-wrap.ec-app .ec-gallery-category-filter summary:after{display:none!important;content:none!important}
.ec-wrap.ec-app .ec-gallery-category-filter summary > .ec-gallery-select-chevron{
  position:absolute!important;
  right:16px!important;
}
.ec-wrap.ec-app .ec-gallery-category-filter[open] summary > .ec-gallery-select-chevron{
  transform:rotate(180deg)!important;
}
.ec-gallery-category-label{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* Le nombre reste entièrement visible, même avec les styles natifs Samsung/Chrome. */
.ec-per-page-select-wrap{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  flex:0 0 100px!important;
  width:100px!important;
  min-width:100px!important;
}
.ec-per-page-select-wrap > .ec-gallery-select-chevron{
  position:absolute!important;
  right:13px!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-per-page-select-wrap select,
.ec-wrap.ec-app.ec-current-view-gallery .ec-app-view[data-ec-view="gallery"] .ec-per-page-select-wrap select{
  box-sizing:border-box!important;
  display:block!important;
  width:100px!important;
  min-width:100px!important;
  max-width:100px!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  background-image:linear-gradient(180deg,#07182d,#051120)!important;
  padding:0 39px 0 18px!important;
  text-align:left!important;
  text-indent:0!important;
  overflow:visible!important;
  font-variant-numeric:tabular-nums!important;
}

@media(min-width:901px){
  .ec-wrap.ec-app.ec-current-view-gallery .ec-sidebar{
    display:flex!important;
    position:fixed!important;
    z-index:2147483620!important;
    left:18px!important;
    top:18px!important;
    bottom:18px!important;
    width:min(330px,calc(100vw - 36px))!important;
    height:auto!important;
    transform:translateX(calc(-100% - 34px))!important;
    opacity:0!important;
    pointer-events:none!important;
    transition:transform .22s ease,opacity .18s ease!important;
    box-shadow:24px 0 80px rgba(0,0,0,.60),0 0 40px rgba(18,131,255,.12)!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery.ec-menu-open .ec-sidebar{
    transform:translateX(0)!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-sidebar-overlay{
    display:none!important;
    position:fixed!important;
    inset:0!important;
    z-index:2147483610!important;
    background:rgba(0,4,11,.66)!important;
    backdrop-filter:blur(5px)!important;
    -webkit-backdrop-filter:blur(5px)!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery.ec-menu-open .ec-sidebar-overlay{display:block!important}
  .ec-wrap.ec-app.ec-current-view-gallery .ec-main{
    width:calc(100% - 40px)!important;
    max-width:1600px!important;
    margin:20px auto!important;
  }
  .ec-gallery-desktop-mydex-logo{
    width:270px!important;
    height:64px!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-app-view[data-ec-view="gallery"] .ec-filters[data-ec-auto-filter]{
    grid-template-columns:minmax(245px,300px) minmax(265px,330px) minmax(22px,1fr) auto!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-per-page{
    min-width:290px!important;
  }
}

@media(max-width:900px){
  .ec-wrap.ec-app.ec-current-view-gallery .ec-filter-toggle{
    position:relative!important;
    display:grid!important;
    grid-template-columns:25px minmax(0,1fr) 22px!important;
    align-items:center!important;
    gap:11px!important;
    width:100%!important;
    padding:0 17px!important;
    text-align:left!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-filter-toggle:before,
  .ec-wrap.ec-app.ec-current-view-gallery .ec-filter-toggle:after{
    display:none!important;
    content:none!important;
  }
  .ec-filter-toggle-icon{width:23px!important;height:23px!important;color:#1ad9ff!important}
  .ec-filter-toggle-chevron{width:20px!important;height:20px!important;color:#b8d7eb!important;transition:transform .18s ease!important}
  .ec-filter-toggle.is-open .ec-filter-toggle-chevron{transform:rotate(180deg)!important}
  .ec-filter-toggle-label{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    color:#f4f9ff!important;
    font-size:15px!important;
    font-weight:900!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-app-view[data-ec-view="gallery"] .ec-filters[data-ec-auto-filter]{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-select,
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-category-filter{
    width:100%!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-app-view[data-ec-view="gallery"] .ec-gallery-select select,
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-category-filter summary{
    min-height:50px!important;
    height:50px!important;
    border-radius:12px!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-per-page{
    width:100%!important;
    display:grid!important;
    grid-template-columns:auto 100px 1fr!important;
    gap:10px!important;
    justify-content:stretch!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-per-page > span:last-child{text-align:left!important}

  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-mobile-view-switch{
    grid-template-columns:auto minmax(92px,.85fr) minmax(145px,1.15fr)!important;
    gap:5px!important;
    min-height:52px!important;
    padding:5px!important;
    overflow:hidden!important;
  }
  .ec-gallery-mobile-view-switch > span{
    padding:0 8px!important;
    font-size:10px!important;
  }
  .ec-gallery-mobile-view-switch button{
    min-height:40px!important;
    gap:8px!important;
    padding:0 10px!important;
    border-radius:10px!important;
  }
  .ec-gallery-mobile-view-switch button i{
    width:21px!important;
    height:21px!important;
    font-size:0!important;
  }
  .ec-gallery-mobile-view-switch button b{
    font-size:12px!important;
    letter-spacing:0!important;
  }
  .ec-gallery-mobile-view-switch button.is-active{
    border-color:rgba(31,178,255,.70)!important;
    background:linear-gradient(135deg,rgba(2,116,220,.72),rgba(91,28,188,.48))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 7px 20px rgba(6,74,184,.20)!important;
  }
}

@media(max-width:420px){
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-mobile-view-switch{
    grid-template-columns:minmax(88px,.78fr) minmax(142px,1.22fr)!important;
  }
  .ec-gallery-mobile-view-switch > span{display:none!important}
  .ec-gallery-mobile-view-switch button b{font-size:11.5px!important}
}

/* Ajustements de priorité pour les anciens styles du sélecteur multiple. */
.ec-wrap.ec-app .ec-gallery-category-filter summary{
  justify-content:flex-start!important;
}
.ec-wrap.ec-app .ec-gallery-category-filter summary b{
  margin-left:auto!important;
  margin-right:8px!important;
}
@media(min-width:901px){
  .ec-wrap.ec-app.ec-current-view-gallery .ec-sidebar-close{
    display:grid!important;
    place-items:center!important;
  }
}


/* v1.0.138 — commande mobile compacte : filtres + bouton on/off d'affichage */
.ec-gallery-mobile-toolbar{display:block}
.ec-gallery-mobile-mode-toggle{display:none}

@media(max-width:900px){
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-mobile-toolbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(142px,.72fr)!important;
    align-items:stretch!important;
    gap:8px!important;
    width:100%!important;
    margin:0 0 10px!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-mobile-toolbar .ec-filter-toggle{
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    height:48px!important;
    margin:0!important;
    padding:0 12px!important;
    border-radius:13px!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-mobile-toolbar .ec-filter-toggle-icon{
    flex:0 0 21px!important;
    width:21px!important;
    height:21px!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-mobile-toolbar .ec-filter-toggle-chevron{
    flex:0 0 18px!important;
    width:18px!important;
    height:18px!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-mobile-toolbar .ec-filter-toggle-label{
    font-size:13px!important;
    line-height:1!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-mobile-mode-toggle{
    appearance:none!important;
    display:grid!important;
    grid-template-columns:22px minmax(0,1fr) 38px!important;
    align-items:center!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    height:48px!important;
    margin:0!important;
    padding:0 9px!important;
    border:1px solid rgba(38,136,223,.50)!important;
    border-radius:13px!important;
    background:linear-gradient(180deg,rgba(5,39,72,.94),rgba(2,20,39,.97))!important;
    color:#f5f9ff!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
    cursor:pointer!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-mobile-mode-toggle:focus-visible{
    outline:2px solid #1bd6ff!important;
    outline-offset:2px!important;
  }
  .ec-gallery-mobile-mode-toggle strong{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    text-align:left!important;
    font-size:12.5px!important;
    font-weight:900!important;
    line-height:1!important;
  }
  .ec-gallery-mode-icon{
    display:grid!important;
    place-items:center!important;
    width:22px!important;
    height:22px!important;
    color:#19d7ff!important;
  }
  .ec-gallery-mode-icon svg{
    display:block!important;
    width:100%!important;
    height:100%!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .ec-gallery-mode-icon-cards{display:none!important}
  .ec-gallery-mobile-mode-toggle.is-cards .ec-gallery-mode-icon-list{display:none!important}
  .ec-gallery-mobile-mode-toggle.is-cards .ec-gallery-mode-icon-cards{display:grid!important}
  .ec-gallery-mode-switch{
    position:relative!important;
    display:block!important;
    width:38px!important;
    height:22px!important;
    border-radius:999px!important;
    border:1px solid rgba(52,207,255,.66)!important;
    background:linear-gradient(135deg,#078ce9,#6233d1)!important;
    box-shadow:0 0 13px rgba(16,153,255,.26),inset 0 1px 0 rgba(255,255,255,.22)!important;
    transition:background .18s ease,border-color .18s ease!important;
  }
  .ec-gallery-mode-switch > span{
    position:absolute!important;
    top:2px!important;
    right:2px!important;
    width:16px!important;
    height:16px!important;
    border-radius:50%!important;
    background:#fff!important;
    box-shadow:0 2px 7px rgba(0,0,0,.38)!important;
    transition:right .18s ease,left .18s ease,transform .18s ease!important;
  }
  .ec-gallery-mobile-mode-toggle.is-cards .ec-gallery-mode-switch{
    border-color:rgba(100,132,165,.48)!important;
    background:#071725!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)!important;
  }
  .ec-gallery-mobile-mode-toggle.is-cards .ec-gallery-mode-switch > span{
    right:auto!important;
    left:2px!important;
  }
  /* L'ancien sélecteur à deux boutons n'est plus utilisé. */
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-mobile-view-switch{display:none!important}
}

@media(max-width:420px){
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-mobile-toolbar{
    grid-template-columns:minmax(0,1fr) 132px!important;
    gap:6px!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-mobile-toolbar .ec-filter-toggle{
    padding:0 10px!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-mobile-toolbar .ec-filter-toggle-label{
    font-size:12px!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-mobile-mode-toggle{
    grid-template-columns:20px minmax(0,1fr) 34px!important;
    gap:5px!important;
    padding:0 7px!important;
  }
  .ec-gallery-mobile-mode-toggle strong{font-size:11.5px!important}
  .ec-gallery-mode-switch{width:34px!important;height:20px!important}
  .ec-gallery-mode-switch > span{width:14px!important;height:14px!important}
}


/* =========================================================
   MyDex 1.0.139 — fiche événement mobile unifiée
   Le flyer reste visible et la fiche de détails devient une
   bottom-sheet scrollable, sans second écran cassé.
   ========================================================= */
@media (max-width:900px){
  .ec-technical-viewer.ec-mobile-detail-v2{
    --ec-mobile-sheet-top:50dvh;
    background:
      radial-gradient(circle at 18% 8%,rgba(43,42,176,.22),transparent 31%),
      radial-gradient(circle at 88% 24%,rgba(0,189,255,.13),transparent 27%),
      #01050d!important;
    overflow:hidden!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-viewer-desktop-layout{display:none!important}
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-viewer-layout{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:transparent!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-viewer-stage,
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-details-open .ec-mobile-viewer-stage{
    display:block!important;
    position:absolute!important;
    inset:0 0 auto 0!important;
    width:100%!important;
    height:56dvh!important;
    min-height:0!important;
    overflow:hidden!important;
    background:#01050d!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-viewer-stage:after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    inset:auto 0 0!important;
    height:24dvh!important;
    pointer-events:none!important;
    background:linear-gradient(180deg,transparent 0%,rgba(1,5,13,.46) 44%,#01050d 100%)!important;
    z-index:2!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-viewer-poster{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:max(16px,env(safe-area-inset-top)) 14px 24px!important;
    display:grid!important;
    place-items:center!important;
    overflow:hidden!important;
    background:transparent!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-viewer-poster img{
    width:100%!important;
    height:100%!important;
    max-width:620px!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    display:block!important;
    padding:0!important;
    margin:0!important;
    border:1px solid rgba(116,177,230,.22)!important;
    border-radius:22px!important;
    background:#020711!important;
    box-shadow:0 22px 70px rgba(0,0,0,.64),0 0 34px rgba(27,111,255,.10)!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-viewer-dots,
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-summary-card,
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-details-header,
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-back-nav,
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-details-button,
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-details-peek{
    display:none!important;
  }

  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-details-screen,
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-details-open .ec-mobile-details-screen{
    display:block!important;
    position:absolute!important;
    inset:var(--ec-mobile-sheet-top) 0 0!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:28px 13px calc(22px + env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    border-radius:30px 30px 0 0!important;
    border:1px solid rgba(55,177,255,.30)!important;
    border-bottom:0!important;
    background:
      radial-gradient(circle at 90% 0%,rgba(117,37,255,.17),transparent 30%),
      linear-gradient(180deg,rgba(7,19,35,.985),rgba(2,8,18,.998) 42%)!important;
    box-shadow:0 -20px 55px rgba(0,0,0,.54),0 -1px 34px rgba(0,151,255,.14),inset 0 1px 0 rgba(255,255,255,.055)!important;
    z-index:20!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-details-screen::-webkit-scrollbar{display:none!important}
  .ec-mobile-detail-v2 .ec-mobile-sheet-handle{
    position:absolute!important;
    top:10px!important;
    left:50%!important;
    width:48px!important;
    height:5px!important;
    margin:0!important;
    transform:translateX(-50%)!important;
    border-radius:999px!important;
    background:linear-gradient(90deg,#15cbff,#7a44ff)!important;
    box-shadow:0 0 14px rgba(21,203,255,.35)!important;
  }

  .ec-mobile-detail-v2 .ec-mobile-summary-panel{
    margin:0!important;
    padding:4px 3px 17px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-summary-panel .ec-viewer-date{
    display:flex!important;
    align-items:center!important;
    width:max-content!important;
    min-height:29px!important;
    margin:0 0 9px!important;
    padding:0 10px!important;
    border:1px solid rgba(20,204,255,.30)!important;
    border-radius:999px!important;
    background:rgba(3,25,43,.78)!important;
    color:#6fe6ff!important;
    font-size:12px!important;
    font-weight:900!important;
    line-height:1!important;
    letter-spacing:.075em!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-summary-panel .ec-viewer-date:before{font-size:14px!important;margin-right:6px!important}
  .ec-mobile-detail-v2 .ec-mobile-summary-panel h2{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    margin:0 0 12px!important;
    color:#f7fbff!important;
    font-size:clamp(28px,8.5vw,38px)!important;
    font-weight:950!important;
    line-height:1.02!important;
    letter-spacing:-.035em!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-summary-chips--details{
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:7px!important;
    margin:0!important;
    overflow:visible!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-summary-chips--details .ec-mobile-info-chip{
    display:inline-flex!important;
    align-items:center!important;
    width:auto!important;
    max-width:100%!important;
    height:32px!important;
    min-height:32px!important;
    padding:0 10px!important;
    border:1px solid rgba(129,165,202,.20)!important;
    border-radius:10px!important;
    background:rgba(7,20,36,.88)!important;
    color:#d6e5f3!important;
    font-size:12.5px!important;
    font-weight:800!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .ec-mobile-detail-v2 .ec-mobile-info-panel,
  .ec-mobile-detail-v2 .ec-mobile-desc-panel,
  .ec-mobile-detail-v2 .ec-mobile-actions-panel{
    margin:0 0 11px!important;
    padding:15px!important;
    overflow:visible!important;
    border:1px solid rgba(89,157,214,.22)!important;
    border-radius:20px!important;
    background:linear-gradient(145deg,rgba(8,24,43,.92),rgba(4,13,27,.97))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 12px 30px rgba(0,0,0,.18)!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-info-panel{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-info-panel h3,
  .ec-mobile-detail-v2 .ec-mobile-desc-panel h3{
    grid-column:1/-1!important;
    margin:0 0 2px!important;
    color:#f2f8ff!important;
    font-size:15px!important;
    font-weight:950!important;
    line-height:1.1!important;
    letter-spacing:.01em!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-info-panel .ec-viewer-detail-row{
    display:flex!important;
    align-items:flex-start!important;
    gap:10px!important;
    min-width:0!important;
    min-height:74px!important;
    margin:0!important;
    padding:11px!important;
    border:1px solid rgba(89,157,214,.16)!important;
    border-radius:15px!important;
    background:rgba(1,9,20,.52)!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-info-panel .ec-viewer-detail-row--wide{grid-column:1/-1!important;min-height:68px!important}
  .ec-mobile-detail-v2 .ec-mobile-info-panel .ec-viewer-detail-icon{
    display:grid!important;
    place-items:center!important;
    flex:0 0 34px!important;
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    margin:0!important;
    border:1px solid rgba(24,207,255,.28)!important;
    border-radius:11px!important;
    background:linear-gradient(145deg,rgba(0,170,255,.16),rgba(115,40,255,.12))!important;
    color:#28d9ff!important;
    font-size:0!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-info-panel .ec-viewer-detail-icon svg{
    display:block!important;
    width:19px!important;
    height:19px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-info-panel .ec-viewer-detail-row > span:last-child{min-width:0!important;display:block!important}
  .ec-mobile-detail-v2 .ec-mobile-info-panel .ec-viewer-detail-row strong{
    display:block!important;
    margin:1px 0 5px!important;
    color:#7893ab!important;
    font-size:10.5px!important;
    font-weight:950!important;
    line-height:1!important;
    letter-spacing:.09em!important;
    text-transform:uppercase!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-info-panel .ec-viewer-detail-row em{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    max-width:none!important;
    margin:0!important;
    overflow:hidden!important;
    color:#f0f6fc!important;
    font-size:13.5px!important;
    font-style:normal!important;
    font-weight:800!important;
    line-height:1.22!important;
    white-space:normal!important;
    text-overflow:ellipsis!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-desc-panel .ec-viewer-desc{
    display:block!important;
    max-height:none!important;
    margin:9px 0 0!important;
    overflow:visible!important;
    color:#bdcddd!important;
    font-size:14px!important;
    line-height:1.5!important;
    white-space:pre-line!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-actions-panel{padding:8px!important;background:rgba(4,15,29,.90)!important}
  .ec-mobile-detail-v2 .ec-mobile-actions-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-actions-grid .ec-mobile-action{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:0 7px!important;
    border:1px solid rgba(66,179,255,.25)!important;
    border-radius:14px!important;
    background:linear-gradient(145deg,rgba(10,39,65,.94),rgba(8,19,41,.98))!important;
    color:#eaf6ff!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important;
    font-size:12px!important;
    font-weight:900!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-actions-grid .ec-mobile-action:first-child{
    border-color:rgba(28,199,255,.42)!important;
    background:linear-gradient(135deg,rgba(0,139,221,.35),rgba(72,43,180,.34))!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-action-icon{
    display:grid!important;
    place-items:center!important;
    flex:0 0 20px!important;
    width:20px!important;
    height:20px!important;
    font-size:0!important;
    color:#39dcff!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-action-icon svg{
    display:block!important;
    width:19px!important;
    height:19px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-action-label{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .ec-mobile-detail-v2 .ec-mobile-action-confirm{font-size:11px!important;color:#7df3cf!important}

  .ec-technical-viewer.ec-mobile-detail-v2 .ec-close{
    display:grid!important;
    place-items:center!important;
    position:fixed!important;
    top:max(14px,env(safe-area-inset-top))!important;
    right:14px!important;
    width:44px!important;
    height:44px!important;
    border:1px solid rgba(152,190,226,.28)!important;
    border-radius:15px!important;
    background:rgba(3,13,27,.78)!important;
    color:#fff!important;
    box-shadow:0 10px 28px rgba(0,0,0,.40),inset 0 1px 0 rgba(255,255,255,.07)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
    font-size:29px!important;
    font-weight:400!important;
    line-height:1!important;
    z-index:2147483650!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2.is-open > .ec-nav{
    display:grid!important;
    place-items:center!important;
    position:fixed!important;
    top:27dvh!important;
    width:42px!important;
    height:48px!important;
    margin:0!important;
    transform:translateY(-50%)!important;
    border:1px solid rgba(118,170,220,.25)!important;
    border-radius:14px!important;
    background:rgba(3,13,27,.68)!important;
    color:#fff!important;
    box-shadow:0 10px 25px rgba(0,0,0,.37)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
    font-size:36px!important;
    line-height:1!important;
    z-index:2147483649!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2.is-open > .ec-prev{left:8px!important}
  .ec-technical-viewer.ec-mobile-detail-v2.is-open > .ec-next{right:8px!important}
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-details-open > .ec-nav{display:grid!important}
}
@media (max-width:390px){
  .ec-technical-viewer.ec-mobile-detail-v2{--ec-mobile-sheet-top:48dvh}
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-viewer-stage,
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-details-open .ec-mobile-viewer-stage{height:54dvh!important}
  .ec-mobile-detail-v2 .ec-mobile-info-panel,
  .ec-mobile-detail-v2 .ec-mobile-desc-panel{padding:12px!important;border-radius:17px!important}
  .ec-mobile-detail-v2 .ec-mobile-info-panel .ec-viewer-detail-row{min-height:69px!important;padding:9px!important;gap:8px!important}
  .ec-mobile-detail-v2 .ec-mobile-info-panel .ec-viewer-detail-icon{width:31px!important;min-width:31px!important;height:31px!important}
  .ec-mobile-detail-v2 .ec-mobile-info-panel .ec-viewer-detail-icon svg{width:17px!important;height:17px!important}
  .ec-mobile-detail-v2 .ec-mobile-actions-grid .ec-mobile-action{height:45px!important;min-height:45px!important;font-size:11px!important;gap:5px!important;padding:0 5px!important}
}


/* =========================================================
   MyDex 1.0.140 — panneau de détails mobile coulissant
   La fiche se rabat vers le bas et se relève au doigt.
   ========================================================= */
@media (max-width:900px){
  .ec-technical-viewer.ec-mobile-detail-v2{
    --ec-mobile-sheet-position:var(--ec-mobile-sheet-top);
  }
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-sheet-collapsed{
    --ec-mobile-sheet-position:calc(100dvh - 72px);
  }
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-viewer-stage,
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-details-open .ec-mobile-viewer-stage{
    height:100dvh!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-viewer-poster{
    padding:
      max(16px,env(safe-area-inset-top))
      14px
      calc(100dvh - var(--ec-mobile-sheet-position) + 18px)
      14px!important;
    transition:padding-bottom .34s cubic-bezier(.22,.8,.22,1)!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-sheet-collapsed .ec-mobile-viewer-poster{
    padding-top:max(16px,env(safe-area-inset-top))!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-viewer-stage:after{
    height:calc(100dvh - var(--ec-mobile-sheet-position) + 10px)!important;
    transition:height .34s cubic-bezier(.22,.8,.22,1),opacity .25s ease!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-sheet-collapsed .ec-mobile-viewer-stage:after{
    height:105px!important;
    opacity:.42!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-details-screen,
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-details-open .ec-mobile-details-screen{
    inset:auto 0 0!important;
    top:var(--ec-mobile-sheet-position)!important;
    bottom:0!important;
    height:calc(100dvh - var(--ec-mobile-sheet-position))!important;
    min-height:72px!important;
    padding:61px 13px calc(22px + env(safe-area-inset-bottom))!important;
    transition:
      top .34s cubic-bezier(.22,.8,.22,1),
      height .34s cubic-bezier(.22,.8,.22,1),
      border-radius .28s ease,
      box-shadow .28s ease!important;
    will-change:top,height!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-sheet-collapsed .ec-mobile-details-screen{
    overflow:hidden!important;
    border-radius:24px 24px 0 0!important;
    box-shadow:0 -12px 34px rgba(0,0,0,.42),0 -1px 25px rgba(0,151,255,.12)!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-sheet-dragging .ec-mobile-details-screen,
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-sheet-dragging .ec-mobile-viewer-poster,
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-sheet-dragging .ec-mobile-viewer-stage:after,
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-sheet-no-transition .ec-mobile-details-screen,
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-sheet-no-transition .ec-mobile-viewer-poster,
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-sheet-no-transition .ec-mobile-viewer-stage:after{
    transition:none!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-sheet-handle{
    appearance:none!important;
    -webkit-appearance:none!important;
    position:absolute!important;
    top:8px!important;
    left:50%!important;
    display:grid!important;
    grid-template-columns:34px auto 18px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    width:142px!important;
    height:44px!important;
    margin:0!important;
    padding:0 12px!important;
    transform:translateX(-50%)!important;
    border:1px solid rgba(76,190,255,.30)!important;
    border-radius:999px!important;
    background:linear-gradient(135deg,rgba(8,41,69,.98),rgba(31,20,77,.98))!important;
    color:#eefaff!important;
    box-shadow:0 8px 24px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.07)!important;
    cursor:grab!important;
    touch-action:none!important;
    user-select:none!important;
    -webkit-user-select:none!important;
    z-index:3!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-sheet-handle:active{cursor:grabbing!important}
  .ec-mobile-detail-v2 .ec-mobile-sheet-grip{
    display:block!important;
    width:34px!important;
    height:5px!important;
    margin:0!important;
    border-radius:999px!important;
    background:linear-gradient(90deg,#15cbff,#7a44ff)!important;
    box-shadow:0 0 13px rgba(21,203,255,.30)!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-sheet-label{
    display:block!important;
    font-size:12px!important;
    font-weight:950!important;
    line-height:1!important;
    letter-spacing:.01em!important;
    white-space:nowrap!important;
  }
  .ec-mobile-detail-v2 .ec-mobile-sheet-chevron{
    display:block!important;
    width:18px!important;
    height:18px!important;
    fill:none!important;
    stroke:#54dcff!important;
    stroke-width:2.1!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    transition:transform .28s ease!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-sheet-collapsed .ec-mobile-sheet-chevron{
    transform:rotate(180deg)!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-sheet-collapsed .ec-mobile-details-screen > :not(.ec-mobile-sheet-handle){
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-sheet-collapsed.is-open > .ec-nav{
    top:50dvh!important;
  }
}


/* =========================================================
   MyDex 1.0.141 — flyer mobile réellement redimensionné
   Le haut du panneau pilote directement la hauteur du flyer.
   ========================================================= */
@media (max-width:900px){
  .ec-technical-viewer.ec-mobile-detail-v2{
    --ec-mobile-sheet-position:50dvh;
    --ec-mobile-poster-center:25dvh;
    height:var(--ec-mobile-vh,100dvh)!important;
    max-height:var(--ec-mobile-vh,100dvh)!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-viewer-layout,
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-viewer-stage,
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-details-open .ec-mobile-viewer-stage{
    width:100vw!important;
    height:var(--ec-mobile-vh,100dvh)!important;
    max-height:var(--ec-mobile-vh,100dvh)!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-viewer-poster{
    inset:0 0 auto!important;
    width:100vw!important;
    height:var(--ec-mobile-sheet-position)!important;
    min-height:260px!important;
    max-height:none!important;
    box-sizing:border-box!important;
    padding:max(16px,env(safe-area-inset-top)) 14px 14px!important;
    display:grid!important;
    place-items:center!important;
    overflow:hidden!important;
    transition:height .34s cubic-bezier(.22,.8,.22,1),padding .34s cubic-bezier(.22,.8,.22,1)!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-viewer-poster img,
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-viewer-poster img[data-ec-viewer-img]{
    display:block!important;
    justify-self:center!important;
    align-self:center!important;
    width:calc(100vw - 28px)!important;
    min-width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    margin:0!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
    border-radius:20px!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-viewer-stage:after{
    inset:auto 0 auto!important;
    top:max(120px,calc(var(--ec-mobile-sheet-position) - 150px))!important;
    bottom:auto!important;
    width:100%!important;
    height:150px!important;
    transition:top .34s cubic-bezier(.22,.8,.22,1),opacity .25s ease!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2 .ec-mobile-details-screen,
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-details-open .ec-mobile-details-screen{
    top:var(--ec-mobile-sheet-position)!important;
    height:calc(var(--ec-mobile-vh,100dvh) - var(--ec-mobile-sheet-position))!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2.is-open > .ec-nav,
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-sheet-collapsed.is-open > .ec-nav{
    top:var(--ec-mobile-poster-center)!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-sheet-collapsed .ec-mobile-viewer-poster{
    padding-bottom:10px!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-sheet-collapsed .ec-mobile-viewer-poster img,
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-sheet-collapsed .ec-mobile-viewer-poster img[data-ec-viewer-img]{
    border-radius:18px!important;
  }
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-sheet-dragging .ec-mobile-viewer-poster,
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-sheet-dragging .ec-mobile-viewer-stage:after,
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-sheet-no-transition .ec-mobile-viewer-poster,
  .ec-technical-viewer.ec-mobile-detail-v2.ec-mobile-sheet-no-transition .ec-mobile-viewer-stage:after{
    transition:none!important;
  }
}


/* =========================================================
   MyDex 1.0.143 — en-tête unifié + menu inférieur balayable
   Direction artistique alignée sur DriveDex.
   ========================================================= */
.ec-wrap.ec-app .ec-sidebar-launcher,
.ec-wrap.ec-app .ec-gallery-desktop-top,
.ec-wrap.ec-app .ec-mobile-top{
  display:none!important;
}

.ec-wrap.ec-app .ec-app-shell{
  display:block!important;
  width:100%!important;
  max-width:1600px!important;
  margin:0 auto!important;
  padding:0!important;
}

.ec-wrap.ec-app .ec-main,
.ec-wrap.ec-app.ec-current-view-gallery .ec-main{
  width:calc(100% - 40px)!important;
  max-width:1600px!important;
  min-height:calc(100dvh - 40px)!important;
  margin:20px auto!important;
  padding:20px 24px 126px!important;
  border-radius:22px!important;
}

/* Le menu gauche devient toujours un tiroir superposé. */
.ec-wrap.ec-app .ec-sidebar,
.ec-wrap.ec-app.ec-current-view-gallery .ec-sidebar{
  display:flex!important;
  position:fixed!important;
  z-index:2147483620!important;
  left:18px!important;
  top:18px!important;
  bottom:18px!important;
  width:min(330px,calc(100vw - 36px))!important;
  height:auto!important;
  min-height:0!important;
  overflow:auto!important;
  transform:translateX(calc(-100% - 36px))!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:transform .23s ease,opacity .18s ease!important;
  box-shadow:24px 0 80px rgba(0,0,0,.62),0 0 42px rgba(18,131,255,.13)!important;
}
.ec-wrap.ec-app.ec-menu-open .ec-sidebar,
.ec-wrap.ec-app.ec-current-view-gallery.ec-menu-open .ec-sidebar{
  transform:translateX(0)!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.ec-wrap.ec-app .ec-sidebar-overlay,
.ec-wrap.ec-app.ec-current-view-gallery .ec-sidebar-overlay{
  display:block!important;
  position:fixed!important;
  inset:0!important;
  z-index:2147483610!important;
  border:0!important;
  background:rgba(0,4,11,.68)!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .2s ease,visibility .2s ease!important;
}
.ec-wrap.ec-app.ec-menu-open .ec-sidebar-overlay,
.ec-wrap.ec-app.ec-current-view-gallery.ec-menu-open .ec-sidebar-overlay{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* Barre supérieure persistante. */
.ec-unified-topbar{
  position:sticky!important;
  top:0!important;
  z-index:2147482000!important;
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) 58px!important;
  align-items:center!important;
  gap:14px!important;
  min-height:70px!important;
  margin:0 0 22px!important;
  padding:7px 10px!important;
  border:1px solid rgba(45,126,220,.30)!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at 12% 0%,rgba(28,143,255,.13),transparent 33%),
    linear-gradient(180deg,rgba(5,18,35,.97),rgba(2,10,22,.985))!important;
  box-shadow:0 14px 38px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.05)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}

.ec-unified-menu-button,
.ec-top-profile-button{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  min-height:54px!important;
  margin:0!important;
  padding:5px!important;
  border:1px solid rgba(38,175,255,.50)!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,rgba(8,33,60,.98),rgba(3,15,31,.99))!important;
  color:#fff!important;
  box-shadow:0 10px 25px rgba(0,0,0,.34),0 0 18px rgba(0,139,255,.12),inset 0 1px 0 rgba(255,255,255,.08)!important;
  cursor:pointer!important;
  text-decoration:none!important;
}
.ec-unified-menu-button:hover,
.ec-unified-menu-button:focus-visible,
.ec-top-profile-button:hover,
.ec-top-profile-button:focus-visible{
  border-color:rgba(75,218,255,.92)!important;
  outline:none!important;
  transform:translateY(-1px)!important;
}
.ec-unified-menu-button img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  border-radius:11px!important;
}
.ec-unified-title{
  min-width:0!important;
  text-align:center!important;
  color:#fff!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
  text-shadow:0 0 22px rgba(56,181,255,.15)!important;
  white-space:nowrap!important;
}
.ec-unified-title span{color:#28b8ff!important}

.ec-top-account{
  position:relative!important;
  width:54px!important;
  height:54px!important;
  justify-self:end!important;
}
.ec-top-profile-avatar{
  display:grid!important;
  place-items:center!important;
  width:43px!important;
  height:43px!important;
  overflow:hidden!important;
  border-radius:50%!important;
  background:linear-gradient(135deg,#1598ff,#3c1db7)!important;
  color:#fff!important;
  font-size:18px!important;
  font-weight:950!important;
  box-shadow:0 0 19px rgba(25,183,255,.28)!important;
}
.ec-top-profile-avatar img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.ec-top-profile-settings-badge{
  position:absolute!important;
  right:-4px!important;
  bottom:-4px!important;
  display:grid!important;
  place-items:center!important;
  width:22px!important;
  height:22px!important;
  padding:3px!important;
  overflow:hidden!important;
  border:2px solid #051426!important;
  border-radius:50%!important;
  background:#0c7fe7!important;
  box-shadow:0 4px 12px rgba(0,0,0,.42)!important;
}
.ec-top-profile-settings-badge img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
.ec-top-profile-login{justify-self:end!important}

.ec-top-account-menu{
  position:absolute!important;
  z-index:2147482050!important;
  top:calc(100% + 12px)!important;
  right:0!important;
  display:none!important;
  width:220px!important;
  padding:8px!important;
  border:1px solid rgba(55,151,239,.38)!important;
  border-radius:17px!important;
  background:linear-gradient(180deg,rgba(7,25,46,.995),rgba(2,11,23,.998))!important;
  box-shadow:0 22px 58px rgba(0,0,0,.58),0 0 25px rgba(0,126,255,.10)!important;
}
.ec-top-account-menu.is-open{
  display:grid!important;
  gap:5px!important;
}
.ec-top-account-menu a,
.ec-top-account-menu button{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-height:43px!important;
  margin:0!important;
  padding:8px 11px!important;
  border:1px solid transparent!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#eaf5ff!important;
  font:inherit!important;
  font-size:13px!important;
  font-weight:820!important;
  text-align:left!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
.ec-top-account-menu a:hover,
.ec-top-account-menu button:hover,
.ec-top-account-menu a:focus-visible,
.ec-top-account-menu button:focus-visible{
  border-color:rgba(43,171,255,.35)!important;
  background:rgba(22,104,183,.20)!important;
  outline:none!important;
}
.ec-top-account-menu button span{
  display:grid!important;
  place-items:center!important;
  width:24px!important;
  height:24px!important;
}
.ec-top-account-menu button span img{
  width:21px!important;
  height:21px!important;
  object-fit:contain!important;
}

/* Menu inférieur à deux panneaux : Ajouter à gauche, navigation au centre. */
.ec-swipe-bottom-menu{
  position:fixed!important;
  z-index:2147482500!important;
  left:50%!important;
  right:auto!important;
  bottom:14px!important;
  width:min(1180px,calc(100vw - 32px))!important;
  height:78px!important;
  margin:0!important;
  padding:7px 9px!important;
  overflow:hidden!important;
  border:1px solid rgba(42,82,133,.78)!important;
  border-radius:24px!important;
  transform:translateX(-50%)!important;
  background:linear-gradient(180deg,rgba(5,19,36,.985),rgba(3,12,25,.995))!important;
  box-shadow:inset 0 0 24px rgba(0,0,0,.22),0 16px 38px rgba(0,0,0,.45),0 0 22px rgba(0,116,255,.09)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  box-sizing:border-box!important;
}
.ec-swipe-bottom-viewport{
  width:100%!important;
  height:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:smooth!important;
  overscroll-behavior-x:contain!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x!important;
}
.ec-swipe-bottom-viewport::-webkit-scrollbar{display:none!important}
.ec-swipe-bottom-track{
  display:flex!important;
  width:100%!important;
  height:100%!important;
  align-items:stretch!important;
}
.ec-swipe-bottom-page{
  flex:0 0 100%!important;
  width:100%!important;
  height:100%!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:6px!important;
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
  box-sizing:border-box!important;
}
.ec-swipe-bottom-page-add{
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
}
.ec-swipe-bottom-item{
  appearance:none!important;
  -webkit-appearance:none!important;
  min-width:0!important;
  min-height:0!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  margin:0!important;
  padding:6px 10px!important;
  border:0!important;
  border-radius:17px!important;
  background:transparent!important;
  color:#e7effc!important;
  text-decoration:none!important;
  box-shadow:none!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
  font:inherit!important;
}
.ec-swipe-bottom-item:hover,
.ec-swipe-bottom-item:focus-visible{
  background:rgba(18,78,140,.22)!important;
  outline:none!important;
}
.ec-swipe-bottom-item.is-active{
  border:1px solid rgba(40,166,255,.92)!important;
  background:linear-gradient(180deg,rgba(12,83,156,.74),rgba(5,42,88,.82))!important;
  box-shadow:inset 0 0 18px rgba(28,146,255,.18),0 0 16px rgba(0,151,255,.20)!important;
}
.ec-swipe-bottom-icon{
  width:31px!important;
  height:31px!important;
  flex:0 0 31px!important;
  display:grid!important;
  place-items:center!important;
  color:#4aa4ff!important;
  filter:drop-shadow(0 0 7px rgba(25,132,255,.24))!important;
}
.ec-swipe-bottom-icon svg{
  width:28px!important;
  height:28px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.ec-swipe-bottom-image-icon img{
  display:block!important;
  width:31px!important;
  height:31px!important;
  object-fit:contain!important;
}
.ec-swipe-bottom-item strong{
  min-width:0!important;
  max-width:100%!important;
  color:inherit!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:850!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.ec-swipe-bottom-add-wide{
  grid-column:1/-1!important;
  width:100%!important;
  flex-direction:row!important;
  gap:12px!important;
  border:1px solid rgba(100,211,255,.72)!important;
  border-radius:17px!important;
  background:linear-gradient(135deg,#087ce9 0%,#174fdf 56%,#5a22bd 100%)!important;
  color:#fff!important;
  box-shadow:0 0 24px rgba(31,103,255,.25),inset 0 1px 0 rgba(255,255,255,.32)!important;
}
.ec-swipe-bottom-add-wide .ec-swipe-bottom-icon{
  color:#fff!important;
  filter:drop-shadow(0 0 7px rgba(255,255,255,.18))!important;
}
.ec-swipe-bottom-add-wide strong{
  font-size:14px!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.ec-swipe-bottom-item:active{transform:scale(.985)!important}
.ec-swipe-bottom-menu:not(.is-ready) .ec-swipe-bottom-viewport{visibility:hidden!important}
.ec-swipe-bottom-menu.is-ready .ec-swipe-bottom-viewport{visibility:visible!important}

@media(max-width:900px){
  .ec-wrap.ec-app .ec-main,
  .ec-wrap.ec-app.ec-current-view-gallery .ec-main{
    width:100%!important;
    min-height:var(--ec-mobile-vh,100dvh)!important;
    margin:0!important;
    padding:0 12px 112px!important;
    border:0!important;
    border-radius:0!important;
  }
  .ec-wrap.ec-app .ec-sidebar,
  .ec-wrap.ec-app.ec-current-view-gallery .ec-sidebar{
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:min(88vw,320px)!important;
    height:var(--ec-mobile-vh,100dvh)!important;
    border-radius:0 24px 24px 0!important;
    transform:translateX(-105%)!important;
  }
  .ec-wrap.ec-app.ec-menu-open .ec-sidebar,
  .ec-wrap.ec-app.ec-current-view-gallery.ec-menu-open .ec-sidebar{
    transform:translateX(0)!important;
  }
  .ec-unified-topbar{
    top:0!important;
    grid-template-columns:52px minmax(0,1fr) 52px!important;
    min-height:66px!important;
    gap:8px!important;
    margin:0 -12px 16px!important;
    padding:max(7px,env(safe-area-inset-top)) 10px 7px!important;
    border-width:0 0 1px!important;
    border-radius:0!important;
  }
  .ec-unified-menu-button,
  .ec-top-profile-button{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    border-radius:14px!important;
  }
  .ec-top-account{width:48px!important;height:48px!important}
  .ec-top-profile-avatar{width:38px!important;height:38px!important}
  .ec-top-profile-settings-badge{width:20px!important;height:20px!important}
  .ec-unified-title{font-size:25px!important}
  .ec-top-account-menu{
    top:calc(100% + 9px)!important;
    right:-2px!important;
    width:min(220px,calc(100vw - 24px))!important;
  }
  body .ec-swipe-bottom-menu,
  body.admin-bar .ec-swipe-bottom-menu{
    bottom:max(6px,env(safe-area-inset-bottom))!important;
    width:calc(100vw - 16px)!important;
    height:82px!important;
    padding:6px 8px!important;
    border-radius:25px!important;
  }
  .ec-swipe-bottom-page{gap:3px!important}
  .ec-swipe-bottom-item{
    flex-direction:column!important;
    gap:4px!important;
    padding:5px 2px!important;
    border-radius:18px!important;
  }
  .ec-swipe-bottom-icon{
    width:29px!important;
    height:29px!important;
    flex-basis:29px!important;
  }
  .ec-swipe-bottom-icon svg{width:27px!important;height:27px!important}
  .ec-swipe-bottom-image-icon img{width:29px!important;height:29px!important}
  .ec-swipe-bottom-item strong{font-size:10.5px!important}
  .ec-swipe-bottom-page-add .ec-swipe-bottom-add-wide{
    flex-direction:row!important;
    gap:10px!important;
    padding:7px 14px!important;
  }
  .ec-swipe-bottom-page-add .ec-swipe-bottom-add-wide strong{font-size:13px!important}
  html.ec-native-webview body .ec-swipe-bottom-menu,
  html.ec-native-webview body.admin-bar .ec-swipe-bottom-menu{
    bottom:-1px!important;
  }
}
@media(max-width:390px){
  .ec-swipe-bottom-item strong{font-size:9.5px!important}
}
@media (display-mode:standalone) and (max-width:900px),
       (display-mode:fullscreen) and (max-width:900px){
  body .ec-swipe-bottom-menu,
  body.admin-bar .ec-swipe-bottom-menu{bottom:0!important}
}
html.ec-standalone-active body .ec-swipe-bottom-menu,
html.ec-standalone-active body.admin-bar .ec-swipe-bottom-menu{bottom:0!important}


/* =========================================================
   MyDex 1.0.144 — en-tête fixe façon DriveDex + souris PC
   ========================================================= */
.ec-wrap.ec-app .ec-main,
.ec-wrap.ec-app.ec-current-view-gallery .ec-main{
  width:100%!important;
  max-width:none!important;
  min-height:100dvh!important;
  margin:0!important;
  padding:94px 24px 126px!important;
  border-radius:0!important;
}

.ec-unified-topbar{
  position:fixed!important;
  z-index:2147483000!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  min-height:76px!important;
  grid-template-columns:64px minmax(0,1fr) 64px!important;
  gap:10px!important;
  margin:0!important;
  padding:8px 14px!important;
  border:0!important;
  border-bottom:1px solid rgba(45,126,220,.30)!important;
  border-radius:0!important;
  background:rgba(3,12,25,.94)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.34)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}
body.admin-bar .ec-unified-topbar{top:32px!important}

.ec-unified-menu-button,
.ec-top-profile-button{
  width:60px!important;
  height:60px!important;
  min-width:60px!important;
  min-height:60px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.ec-unified-menu-button:hover,
.ec-unified-menu-button:focus-visible,
.ec-top-profile-button:hover,
.ec-top-profile-button:focus-visible{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.ec-unified-menu-button img{
  width:58px!important;
  height:58px!important;
  max-width:none!important;
  object-fit:contain!important;
  border-radius:17px!important;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.32))!important;
}
.ec-unified-title{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  height:60px!important;
  padding:0!important;
  text-decoration:none!important;
}
.ec-unified-title img{
  display:block!important;
  width:auto!important;
  height:42px!important;
  max-width:min(280px,48vw)!important;
  object-fit:contain!important;
  filter:drop-shadow(0 0 14px rgba(91,87,255,.18))!important;
}
.ec-top-account{
  width:60px!important;
  height:60px!important;
}
.ec-top-profile-avatar{
  width:56px!important;
  height:56px!important;
  border:2px solid rgba(66,171,255,.34)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.32),0 0 16px rgba(25,183,255,.14)!important;
}
.ec-top-profile-settings-badge{
  right:-2px!important;
  bottom:-2px!important;
}
.ec-top-account-menu{top:calc(100% + 9px)!important}

/* Aucun ancien logo MyDex ne doit réapparaître à côté du bouton Ajouter. */
.ec-gallery-desktop-top,
.ec-mobile-top{display:none!important}

/* Sur ordinateur, le dock se change uniquement avec les flèches gauche/droite. */
@media (hover:hover) and (pointer:fine){
  .ec-swipe-bottom-viewport{
    overflow-x:hidden!important;
    cursor:default!important;
    touch-action:auto!important;
  }
  .ec-swipe-bottom-item{
    pointer-events:auto!important;
    cursor:pointer!important;
  }
}

@media (max-width:782px){
  body.admin-bar .ec-unified-topbar{top:46px!important}
}
@media (max-width:700px){
  .ec-wrap.ec-app .ec-main,
  .ec-wrap.ec-app.ec-current-view-gallery .ec-main{
    padding-top:82px!important;
  }
  .ec-unified-topbar{
    min-height:70px!important;
    grid-template-columns:56px minmax(0,1fr) 56px!important;
    padding:7px 8px!important;
  }
  .ec-unified-menu-button,
  .ec-top-profile-button,
  .ec-top-account{
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
    min-height:54px!important;
  }
  .ec-unified-menu-button img{
    width:54px!important;
    height:54px!important;
    border-radius:16px!important;
  }
  .ec-top-profile-avatar{
    width:51px!important;
    height:51px!important;
  }
  .ec-unified-title{height:54px!important}
  .ec-unified-title img{
    height:34px!important;
    max-width:48vw!important;
  }
}

/* =========================================================
   MyDex 1.0.145 — en-tête plus compact et collé en haut
   ========================================================= */
/* La barre WordPress est masquée dans l'application : ne jamais réserver sa hauteur. */
body.admin-bar .ec-unified-topbar,
.ec-fullscreen-mode.admin-bar .ec-unified-topbar,
html.ec-standalone-active body.admin-bar .ec-unified-topbar{
  top:0!important;
}

.ec-unified-topbar{
  min-height:64px!important;
  grid-template-columns:54px minmax(0,1fr) 54px!important;
  gap:8px!important;
  padding:4px 12px!important;
}
.ec-unified-menu-button,
.ec-top-profile-button,
.ec-top-account{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  min-height:54px!important;
}
.ec-unified-menu-button img{
  width:52px!important;
  height:52px!important;
  border-radius:15px!important;
}
.ec-top-profile-avatar{
  width:50px!important;
  height:50px!important;
}
.ec-unified-title{
  height:54px!important;
}
.ec-unified-title img{
  height:31px!important;
  max-width:min(220px,42vw)!important;
}
.ec-wrap.ec-app .ec-main,
.ec-wrap.ec-app.ec-current-view-gallery .ec-main{
  padding-top:72px!important;
}

/* Le navigateur ne doit pas lancer le glisser natif des liens/images du dock. */
.ec-swipe-bottom-viewport,
.ec-swipe-bottom-viewport *{
  -webkit-user-select:none!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
}
.ec-swipe-bottom-viewport a,
.ec-swipe-bottom-viewport button,
.ec-swipe-bottom-viewport img,
.ec-swipe-bottom-viewport svg{
  -webkit-user-drag:none!important;
}

@media(max-width:700px){
  body.admin-bar .ec-unified-topbar{top:0!important}
  .ec-unified-topbar{
    min-height:58px!important;
    grid-template-columns:48px minmax(0,1fr) 48px!important;
    gap:6px!important;
    padding:2px 8px!important;
  }
  .ec-unified-menu-button,
  .ec-top-profile-button,
  .ec-top-account{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
  }
  .ec-unified-menu-button img{
    width:47px!important;
    height:47px!important;
    border-radius:14px!important;
  }
  .ec-top-profile-avatar{
    width:45px!important;
    height:45px!important;
  }
  .ec-unified-title{height:48px!important}
  .ec-unified-title img{
    height:27px!important;
    max-width:43vw!important;
  }
  .ec-wrap.ec-app .ec-main,
  .ec-wrap.ec-app.ec-current-view-gallery .ec-main{
    padding-top:64px!important;
  }
}

/* =========================================================
   MyDex 1.0.146 — vraie page d'accueil
   ========================================================= */
.ec-nav-home-icon{
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 34px!important;
  color:#55b8ff!important;
}
.ec-nav-home-icon svg{
  width:28px!important;
  height:28px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.ec-home-view{
  width:100%!important;
  min-width:0!important;
}
.ec-home-dashboard{
  width:min(1180px,100%)!important;
  margin:0 auto!important;
  padding:18px 0 18px!important;
  color:#f7fbff!important;
}
.ec-home-dashboard *{box-sizing:border-box!important}
.ec-home-hero{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)!important;
  min-height:360px!important;
  overflow:hidden!important;
  border:1px solid rgba(42,143,255,.36)!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 82% 18%,rgba(14,114,255,.22),transparent 33%),
    radial-gradient(circle at 15% 88%,rgba(255,130,28,.13),transparent 34%),
    linear-gradient(135deg,rgba(4,20,40,.98),rgba(2,12,26,.96))!important;
  box-shadow:0 24px 62px rgba(0,0,0,.33),inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.ec-home-hero:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  opacity:.18!important;
  background-image:
    linear-gradient(115deg,transparent 0 54%,rgba(40,134,255,.34) 54.3% 55%,transparent 55.3%),
    linear-gradient(115deg,transparent 0 65%,rgba(255,119,19,.25) 65.3% 66%,transparent 66.3%)!important;
}
.ec-home-hero-copy{
  position:relative!important;
  z-index:2!important;
  align-self:center!important;
  padding:48px 34px 44px!important;
}
.ec-home-kicker{
  display:inline-flex!important;
  align-items:center!important;
  min-height:31px!important;
  padding:6px 13px!important;
  border:1px solid rgba(255,143,24,.55)!important;
  border-radius:999px!important;
  background:rgba(255,132,17,.08)!important;
  color:#ff9f2f!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.13em!important;
}
.ec-home-hero h1{
  margin:18px 0 10px!important;
  color:#fff!important;
  font-size:clamp(35px,4.6vw,62px)!important;
  line-height:1.02!important;
  letter-spacing:-.04em!important;
}
.ec-home-hero p{
  max-width:620px!important;
  margin:0!important;
  color:#9fb1cb!important;
  font-size:17px!important;
  line-height:1.55!important;
}
.ec-home-hero-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:11px!important;
  margin-top:27px!important;
}
.ec-home-primary-action,
.ec-home-secondary-action{
  min-height:49px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  padding:10px 18px!important;
  border-radius:15px!important;
  text-decoration:none!important;
  font:inherit!important;
  cursor:pointer!important;
}
.ec-home-primary-action{
  border:1px solid rgba(34,164,255,.74)!important;
  background:linear-gradient(135deg,#037ee3,#1154b5)!important;
  color:#fff!important;
  box-shadow:0 12px 25px rgba(0,110,230,.23),inset 0 1px 0 rgba(255,255,255,.2)!important;
}
.ec-home-secondary-action{
  border:1px solid rgba(126,157,198,.3)!important;
  background:rgba(9,28,51,.78)!important;
  color:#dce8fa!important;
}
.ec-home-primary-action:hover,
.ec-home-secondary-action:hover{transform:translateY(-1px)!important}
.ec-home-hero-visual{
  position:relative!important;
  z-index:1!important;
  min-width:0!important;
  min-height:360px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  padding:28px 28px 25px 8px!important;
}
.ec-home-hero-visual.has-image img:not(.ec-home-empty-logo){
  position:relative!important;
  z-index:2!important;
  width:min(100%,420px)!important;
  height:290px!important;
  object-fit:cover!important;
  object-position:center!important;
  border:1px solid rgba(86,171,255,.28)!important;
  border-radius:23px!important;
  box-shadow:0 28px 42px rgba(0,0,0,.42)!important;
  transform:rotate(1.4deg)!important;
}
.ec-home-hero-glow{
  position:absolute!important;
  z-index:0!important;
  left:18%!important;
  right:5%!important;
  bottom:14%!important;
  height:44%!important;
  border-radius:50%!important;
  background:radial-gradient(ellipse,rgba(24,142,255,.35),rgba(255,126,24,.12) 48%,transparent 72%)!important;
  filter:blur(18px)!important;
}
.ec-home-hero-caption{
  position:absolute!important;
  z-index:3!important;
  right:42px!important;
  bottom:37px!important;
  width:min(72%,280px)!important;
  padding:11px 14px!important;
  border:1px solid rgba(99,163,235,.28)!important;
  border-radius:14px!important;
  background:rgba(3,14,29,.86)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.34)!important;
  backdrop-filter:blur(10px)!important;
}
.ec-home-hero-caption span,
.ec-home-hero-caption strong{display:block!important}
.ec-home-hero-caption span{
  color:#68baff!important;
  font-size:10px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.1em!important;
}
.ec-home-hero-caption strong{
  margin-top:3px!important;
  overflow:hidden!important;
  color:#f5f9ff!important;
  font-size:14px!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
.ec-home-hero-visual.is-empty{
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  color:#8fa7c8!important;
}
.ec-home-empty-logo{
  width:210px!important;
  height:210px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 20px 38px rgba(0,0,0,.38))!important;
}
.ec-home-stats{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  margin:16px 0 28px!important;
}
.ec-home-stat-card{
  min-height:104px!important;
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  padding:17px 20px!important;
  border:1px solid rgba(59,124,201,.31)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(10,31,56,.94),rgba(4,17,34,.94))!important;
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
}
.ec-home-stat-card:hover{
  border-color:rgba(49,161,255,.58)!important;
  transform:translateY(-2px)!important;
}
.ec-home-stat-icon{
  width:54px!important;
  height:54px!important;
  flex:0 0 54px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(63,161,255,.28)!important;
  border-radius:17px!important;
  background:rgba(19,78,139,.22)!important;
  color:#48adff!important;
  font-size:26px!important;
}
.ec-home-stat-upcoming .ec-home-stat-icon{
  border-color:rgba(255,143,28,.3)!important;
  background:rgba(255,128,18,.09)!important;
  color:#ff9c2f!important;
}
.ec-home-stat-card span:last-child{min-width:0!important}
.ec-home-stat-card strong,
.ec-home-stat-card small{display:block!important}
.ec-home-stat-card strong{
  color:#fff!important;
  font-size:31px!important;
  line-height:1!important;
}
.ec-home-stat-card small{
  margin-top:6px!important;
  color:#91a8ca!important;
  font-size:12px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
.ec-home-section{
  margin-top:22px!important;
  padding:22px!important;
  border:1px solid rgba(42,111,185,.28)!important;
  border-radius:27px!important;
  background:linear-gradient(145deg,rgba(5,22,41,.92),rgba(3,14,28,.95))!important;
  box-shadow:0 18px 44px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.ec-home-section-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-bottom:17px!important;
}
.ec-home-section-head span{
  color:#4baeff!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.13em!important;
}
.ec-home-section-head h2{
  margin:4px 0 0!important;
  color:#fff!important;
  font-size:27px!important;
  line-height:1.1!important;
  letter-spacing:-.025em!important;
}
.ec-home-section-head>a{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  color:#67b8ff!important;
  font-size:13px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.ec-home-section-head>a b{font-size:20px!important;line-height:1!important}
.ec-home-memory-row{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:13px!important;
}
.ec-home-memory-card{
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid rgba(71,128,192,.28)!important;
  border-radius:19px!important;
  background:#07182d!important;
  color:#fff!important;
  text-decoration:none!important;
}
.ec-home-memory-card:hover{
  border-color:rgba(50,161,255,.58)!important;
  transform:translateY(-2px)!important;
}
.ec-home-memory-image{
  height:176px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,#102845,#071626)!important;
}
.ec-home-memory-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.ec-home-memory-image>span{
  color:#4caaff!important;
  font-size:42px!important;
}
.ec-home-memory-info{
  min-width:0!important;
  padding:12px 13px 14px!important;
}
.ec-home-memory-info small,
.ec-home-memory-info strong,
.ec-home-memory-info span{display:block!important}
.ec-home-memory-info small{
  color:#56b0fb!important;
  font-size:10px!important;
  font-weight:800!important;
}
.ec-home-memory-info strong{
  min-height:39px!important;
  margin-top:5px!important;
  overflow:hidden!important;
  color:#f7fbff!important;
  font-size:15px!important;
  line-height:1.28!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}
.ec-home-memory-info span{
  margin-top:7px!important;
  overflow:hidden!important;
  color:#8399ba!important;
  font-size:11px!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
.ec-home-event-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:13px!important;
}
.ec-home-event-card{
  display:grid!important;
  grid-template-columns:124px minmax(0,1fr)!important;
  min-height:126px!important;
  overflow:hidden!important;
  border:1px solid rgba(67,126,194,.28)!important;
  border-radius:19px!important;
  background:#07182d!important;
  color:#fff!important;
  text-decoration:none!important;
}
.ec-home-event-card:hover{
  border-color:rgba(255,143,28,.48)!important;
  transform:translateY(-2px)!important;
}
.ec-home-event-image{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:#10243d!important;
}
.ec-home-event-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.ec-home-event-image>span{color:#ff9b2a!important;font-size:37px!important}
.ec-home-event-image b{
  position:absolute!important;
  left:8px!important;
  bottom:8px!important;
  max-width:calc(100% - 16px)!important;
  padding:5px 8px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:9px!important;
  background:rgba(2,12,25,.83)!important;
  color:#fff!important;
  font-size:9px!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  backdrop-filter:blur(7px)!important;
}
.ec-home-event-info{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:14px!important;
}
.ec-home-event-info strong{
  overflow:hidden!important;
  color:#f8fbff!important;
  font-size:15px!important;
  line-height:1.3!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
}
.ec-home-event-info span{
  margin-top:9px!important;
  overflow:hidden!important;
  color:#8198ba!important;
  font-size:11px!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
.ec-home-empty-panel{
  min-height:112px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:16px!important;
  padding:17px!important;
  border:1px dashed rgba(79,149,225,.32)!important;
  border-radius:18px!important;
  background:rgba(9,31,55,.45)!important;
}
.ec-home-empty-panel>span{
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:15px!important;
  background:rgba(40,134,228,.15)!important;
  color:#53b0fa!important;
  font-size:26px!important;
}
.ec-home-empty-panel strong,
.ec-home-empty-panel p{display:block!important;margin:0!important}
.ec-home-empty-panel strong{color:#fff!important;font-size:15px!important}
.ec-home-empty-panel p{margin-top:4px!important;color:#8ca2c2!important;font-size:12px!important}
.ec-home-empty-panel button,
.ec-home-empty-panel a{
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px 14px!important;
  border:1px solid rgba(57,157,245,.5)!important;
  border-radius:13px!important;
  background:rgba(17,73,132,.55)!important;
  color:#dff2ff!important;
  font:inherit!important;
  font-size:12px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.ec-home-guest{
  min-height:calc(100dvh - 210px)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  padding:48px 22px!important;
  text-align:center!important;
}
.ec-home-guest>img{
  width:180px!important;
  height:180px!important;
  object-fit:contain!important;
  margin-bottom:18px!important;
  filter:drop-shadow(0 25px 42px rgba(0,0,0,.4))!important;
}
.ec-home-guest h1{
  max-width:760px!important;
  margin:18px 0 10px!important;
  color:#fff!important;
  font-size:clamp(34px,5vw,60px)!important;
  letter-spacing:-.04em!important;
}
.ec-home-guest p{
  max-width:680px!important;
  margin:0 0 24px!important;
  color:#9aaeca!important;
  font-size:16px!important;
  line-height:1.55!important;
}
.ec-home-guest-features{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:10px!important;
  margin-top:24px!important;
}
.ec-home-guest-features span{
  padding:9px 13px!important;
  border:1px solid rgba(67,133,207,.27)!important;
  border-radius:999px!important;
  background:rgba(7,29,52,.72)!important;
  color:#a9bdd8!important;
  font-size:12px!important;
}
.ec-home-guest-features b{margin-right:5px!important;color:#4eb0ff!important}

@media(max-width:980px){
  .ec-home-hero{grid-template-columns:minmax(0,1fr) 360px!important}
  .ec-home-memory-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ec-home-event-grid{grid-template-columns:1fr!important}
  .ec-home-event-card{grid-template-columns:150px minmax(0,1fr)!important}
}
@media(max-width:700px){
  .ec-home-dashboard{padding:6px 0 8px!important}
  .ec-home-hero{
    grid-template-columns:1fr!important;
    min-height:0!important;
    border-radius:24px!important;
  }
  .ec-home-hero-copy{padding:29px 20px 17px!important}
  .ec-home-kicker{min-height:27px!important;padding:5px 10px!important;font-size:9px!important}
  .ec-home-hero h1{margin-top:14px!important;font-size:36px!important}
  .ec-home-hero p{font-size:14px!important;line-height:1.48!important}
  .ec-home-hero-actions{margin-top:19px!important}
  .ec-home-primary-action,
  .ec-home-secondary-action{min-height:45px!important;padding:8px 13px!important;font-size:12px!important}
  .ec-home-hero-visual{
    min-height:235px!important;
    padding:7px 18px 18px!important;
  }
  .ec-home-hero-visual.has-image img:not(.ec-home-empty-logo){
    width:100%!important;
    height:225px!important;
    border-radius:18px!important;
    transform:none!important;
  }
  .ec-home-hero-caption{
    right:28px!important;
    bottom:29px!important;
    width:calc(100% - 56px)!important;
  }
  .ec-home-empty-logo{width:145px!important;height:145px!important}
  .ec-home-stats{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    margin:10px 0 18px!important;
  }
  .ec-home-stat-card{
    min-height:90px!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:6px!important;
    padding:10px 5px!important;
    border-radius:17px!important;
    text-align:center!important;
  }
  .ec-home-stat-icon{
    width:31px!important;
    height:31px!important;
    flex-basis:31px!important;
    border-radius:10px!important;
    font-size:17px!important;
  }
  .ec-home-stat-card strong{font-size:21px!important}
  .ec-home-stat-card small{margin-top:3px!important;font-size:8px!important;letter-spacing:.04em!important}
  .ec-home-section{
    margin-top:13px!important;
    padding:16px!important;
    border-radius:22px!important;
  }
  .ec-home-section-head{align-items:center!important;margin-bottom:13px!important}
  .ec-home-section-head h2{font-size:21px!important}
  .ec-home-section-head>a{font-size:11px!important}
  .ec-home-memory-row{
    display:flex!important;
    gap:10px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    padding-bottom:3px!important;
    scrollbar-width:none!important;
  }
  .ec-home-memory-row::-webkit-scrollbar{display:none!important}
  .ec-home-memory-card{
    flex:0 0 72%!important;
    scroll-snap-align:start!important;
  }
  .ec-home-memory-image{height:190px!important}
  .ec-home-event-card{grid-template-columns:112px minmax(0,1fr)!important;min-height:113px!important}
  .ec-home-empty-panel{
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:12px!important;
  }
  .ec-home-empty-panel button,
  .ec-home-empty-panel a{grid-column:1/-1!important;width:100%!important}
  .ec-home-guest{min-height:calc(100dvh - 170px)!important;padding:30px 15px!important}
  .ec-home-guest>img{width:135px!important;height:135px!important}
  .ec-home-guest h1{font-size:34px!important}
}
@media(max-width:390px){
  .ec-home-memory-card{flex-basis:78%!important}
  .ec-home-section{padding:14px!important}
  .ec-home-hero-copy{padding-left:17px!important;padding-right:17px!important}
}

/* =========================================================
   MyDex 1.0.147 — dépôt d'image partout dans la Galerie
   ========================================================= */
.ec-gallery-global-drop{
  position:fixed!important;
  z-index:2147482800!important;
  inset:72px 18px 108px!important;
  display:grid!important;
  place-items:center!important;
  padding:22px!important;
  border:2px dashed rgba(63,176,255,.78)!important;
  border-radius:28px!important;
  background:rgba(2,13,29,.78)!important;
  box-shadow:inset 0 0 70px rgba(15,120,255,.14),0 0 45px rgba(0,0,0,.34)!important;
  backdrop-filter:blur(13px)!important;
  -webkit-backdrop-filter:blur(13px)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:scale(.985)!important;
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease!important;
}
.ec-gallery-global-drop.is-open{
  opacity:1!important;
  visibility:visible!important;
  transform:scale(1)!important;
}
.ec-gallery-global-drop-card{
  min-width:min(430px,90vw)!important;
  display:grid!important;
  justify-items:center!important;
  gap:8px!important;
  padding:30px 28px!important;
  border:1px solid rgba(80,180,255,.44)!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,rgba(8,35,66,.98),rgba(3,17,35,.98))!important;
  color:#fff!important;
  text-align:center!important;
  box-shadow:0 22px 55px rgba(0,0,0,.43),0 0 28px rgba(20,137,255,.18)!important;
}
.ec-gallery-global-drop-card>span{
  width:62px!important;
  height:62px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(70,177,255,.58)!important;
  border-radius:19px!important;
  background:linear-gradient(135deg,#0786ef,#2751d3)!important;
  color:#fff!important;
  font-size:40px!important;
  line-height:1!important;
  box-shadow:0 0 24px rgba(24,143,255,.28)!important;
}
.ec-gallery-global-drop-card strong{
  margin-top:5px!important;
  color:#fff!important;
  font-size:24px!important;
  line-height:1.15!important;
}
.ec-gallery-global-drop-card em{
  color:#9eb5d3!important;
  font-size:14px!important;
  font-style:normal!important;
}
[data-ec-add-dropzone].has-preloaded-file{
  border-color:rgba(61,193,255,.95)!important;
  box-shadow:0 0 0 3px rgba(26,144,255,.16),0 0 25px rgba(23,133,255,.2)!important;
}
@media(max-width:700px){
  .ec-gallery-global-drop{inset:60px 8px 92px!important;border-radius:22px!important}
  .ec-gallery-global-drop-card{min-width:0!important;width:100%!important;padding:24px 18px!important}
  .ec-gallery-global-drop-card strong{font-size:20px!important}
}


/* =========================================================
   MyDex 1.0.148 — accueil plus propre, largeur mobile et
   calendrier harmonisé avec Galerie / Affiche.
   ========================================================= */

/* Accueil : le libellé et le nom du dernier souvenir sortent de la photo. */
.ec-home-hero-memory-card{
  position:relative!important;
  z-index:2!important;
  width:min(100%,420px)!important;
  min-width:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  gap:9px!important;
  padding:13px!important;
  border:1px solid rgba(75,158,244,.31)!important;
  border-radius:23px!important;
  background:linear-gradient(180deg,rgba(8,29,52,.96),rgba(3,14,28,.98))!important;
  box-shadow:0 28px 42px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.045)!important;
}
.ec-home-hero-memory-label{
  display:block!important;
  padding:0 2px!important;
  color:#68baff!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.11em!important;
}
.ec-home-hero-memory-card > img,
.ec-home-hero-visual.has-image .ec-home-hero-memory-card > img:not(.ec-home-empty-logo){
  position:relative!important;
  z-index:1!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:246px!important;
  margin:0!important;
  border:1px solid rgba(86,171,255,.24)!important;
  border-radius:16px!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
  box-shadow:none!important;
}
.ec-home-hero-memory-title{
  display:block!important;
  min-width:0!important;
  padding:1px 2px 0!important;
  overflow:hidden!important;
  color:#f5f9ff!important;
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:850!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}

/* Calendrier privé : en-tête autonome, puis contenu dans sa propre carte. */
.ec-app-view[data-ec-view="calendar"] .ec-calendar-panel.ec-calendar-private{
  width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.ec-calendar-private .ec-calendar-section-head{
  width:100%!important;
  min-height:132px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  margin:0 0 15px!important;
  padding:0 2px 4px!important;
}
.ec-calendar-private .ec-calendar-head-brand{
  width:100%!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.ec-calendar-private .ec-calendar-head-logo{
  display:block!important;
  width:min(470px,42vw)!important;
  height:126px!important;
  max-height:126px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.ec-calendar-private .ec-calendar-body{
  width:100%!important;
  padding:22px!important;
  overflow:hidden!important;
  border:1px solid rgba(58,159,255,.22)!important;
  border-radius:28px!important;
  background:linear-gradient(180deg,rgba(9,27,54,.88),rgba(5,13,28,.92))!important;
  box-shadow:0 24px 80px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.05)!important;
}

@media(max-width:900px){
  /* Gouttières plus fines : l'application utilise réellement la largeur du téléphone. */
  .ec-wrap.ec-app .ec-main,
  .ec-wrap.ec-app.ec-current-view-gallery .ec-main{
    padding-left:6px!important;
    padding-right:6px!important;
  }

  .ec-home-dashboard,
  .ec-app-view[data-ec-view="gallery"],
  .ec-app-view[data-ec-view="calendar"],
  .ec-app-view[data-ec-view="upcoming"]{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  .ec-home-hero,
  .ec-home-section,
  .ec-calendar-private .ec-calendar-body{
    width:100%!important;
    max-width:none!important;
  }

  .ec-home-hero-visual{
    align-items:stretch!important;
    padding:7px 10px 14px!important;
  }
  .ec-home-hero-memory-card{
    width:100%!important;
    max-width:none!important;
    padding:10px!important;
    gap:8px!important;
    border-radius:19px!important;
  }
  .ec-home-hero-memory-card > img,
  .ec-home-hero-visual.has-image .ec-home-hero-memory-card > img:not(.ec-home-empty-logo){
    width:100%!important;
    height:225px!important;
    border-radius:15px!important;
  }
  .ec-home-hero-memory-title{font-size:14px!important}

  /* Galerie : aucune carte ne déborde ni ne se fait rogner sur les côtés. */
  .ec-wrap.ec-app.ec-current-view-gallery .ec-app-view[data-ec-view="gallery"] .ec-hero.ec-gallery-hero{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    overflow:visible!important;
  }
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-head-logo{
    width:min(470px,calc(100vw - 12px))!important;
    max-width:100%!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-cards [data-ec-gallery-results]{
    width:100%!important;
    overflow:hidden!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-cards #ec-gallery.ec-gallery{
    width:calc(100% + 6px)!important;
    margin-right:-6px!important;
    padding-right:6px!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-cards #ec-gallery.ec-gallery > .ec-card{
    flex-basis:calc(100vw - 20px)!important;
    width:calc(100vw - 20px)!important;
    max-width:470px!important;
  }

  /* Même présence visuelle que Galerie et Affiche pour le titre Calendrier. */
  .ec-calendar-private .ec-calendar-section-head{
    min-height:0!important;
    grid-template-columns:1fr!important;
    justify-items:center!important;
    gap:8px!important;
    margin:4px 0 12px!important;
    padding:2px 0 0!important;
  }
  .ec-calendar-private .ec-calendar-head-brand{
    justify-content:center!important;
  }
  .ec-calendar-private .ec-calendar-head-logo{
    width:min(470px,calc(100vw - 12px))!important;
    height:104px!important;
    max-height:104px!important;
    object-position:center!important;
  }
  .ec-calendar-private .ec-calendar-year-select{
    width:100%!important;
    justify-content:center!important;
    padding:0 4px!important;
  }
  .ec-calendar-private .ec-calendar-body{
    padding:10px!important;
    border-radius:22px!important;
  }
  .ec-calendar-private .ec-calendar-grid{gap:12px!important}
}

@media(max-width:560px){
  .ec-home-hero{border-radius:21px!important}
  .ec-home-section{padding-left:12px!important;padding-right:12px!important}
  .ec-calendar-private .ec-calendar-head-logo,
  .ec-wrap.ec-app.ec-current-view-gallery .ec-gallery-head-logo,
  .ec-affiche-head-logo{
    width:min(430px,calc(100vw - 12px))!important;
    max-width:100%!important;
    height:98px!important;
    max-height:98px!important;
  }
  .ec-calendar-private .ec-calendar-body{
    padding:7px!important;
    border-radius:20px!important;
  }
  .ec-calendar-private .ec-month{
    padding:10px!important;
    border-radius:17px!important;
  }
}

/* =========================================================
   MyDex 1.0.149 — orientation explicite des flyers.
   Portrait par défaut ; Swiss Explorer reste inchangé.
   ========================================================= */

.ec-format-picker{
  min-width:0!important;
  display:grid!important;
  gap:9px!important;
  margin:12px 0!important;
  padding:13px!important;
  border:1px solid rgba(57,155,237,.32)!important;
  border-radius:17px!important;
  background:linear-gradient(180deg,rgba(8,28,49,.82),rgba(4,16,30,.88))!important;
}
.ec-format-picker legend{
  padding:0 5px!important;
  color:#f2f7ff!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:900!important;
}
.ec-format-options{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
}
.ec-format-option{
  min-width:0!important;
  margin:0!important;
  cursor:pointer!important;
}
.ec-format-option input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.ec-format-option span{
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:8px 10px!important;
  border:1px solid rgba(73,132,190,.46)!important;
  border-radius:13px!important;
  background:rgba(5,18,34,.88)!important;
  color:#a9bad0!important;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease!important;
}
.ec-format-option span i{
  color:#58cfff!important;
  font-size:25px!important;
  line-height:1!important;
  font-style:normal!important;
}
.ec-format-option span b{
  font-size:14px!important;
  line-height:1!important;
  font-weight:900!important;
}
.ec-format-option input:checked + span{
  border-color:rgba(42,177,255,.95)!important;
  background:linear-gradient(135deg,rgba(5,132,238,.86),rgba(63,62,221,.78))!important;
  color:#fff!important;
  box-shadow:0 0 0 2px rgba(42,177,255,.14),0 12px 25px rgba(10,80,170,.24)!important;
}
.ec-format-option input:focus-visible + span{
  outline:2px solid #8fe8ff!important;
  outline-offset:2px!important;
}
.ec-format-picker > small{
  color:#91a8c4!important;
  font-size:11px!important;
  line-height:1.35!important;
}

/* Galerie personnelle uniquement :
   le portrait remplit toute sa vignette sans rognage.
   object-fit:fill peut légèrement déformer l'image, comme demandé. */
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card.ec-vertical:not(.ec-card-swiss) .ec-imgbox,
.ec-wrap[data-ec-gallery]:not(.ec-app) .ec-gallery > .ec-card.ec-vertical:not(.ec-card-swiss) .ec-imgbox{
  width:100%!important;
  height:auto!important;
  aspect-ratio:3 / 4!important;
  overflow:hidden!important;
}
.ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card.ec-vertical:not(.ec-card-swiss) .ec-imgbox img,
.ec-wrap[data-ec-gallery]:not(.ec-app) .ec-gallery > .ec-card.ec-vertical:not(.ec-card-swiss) .ec-imgbox img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:fill!important;
  object-position:center!important;
  transform:none!important;
  padding:0!important;
  margin:0!important;
}

/* En mode liste mobile, on conserve la petite case existante,
   mais le portrait la remplit entièrement. */
@media(max-width:700px){
  .ec-wrap.ec-app.ec-gallery-mode-list #ec-gallery.ec-gallery > .ec-card.ec-vertical:not(.ec-card-swiss) .ec-imgbox{
    width:88px!important;
    height:112px!important;
    aspect-ratio:auto!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-list #ec-gallery.ec-gallery > .ec-card.ec-vertical:not(.ec-card-swiss) .ec-imgbox img{
    object-fit:fill!important;
  }

  .ec-wrap.ec-app.ec-gallery-mode-cards #ec-gallery.ec-gallery > .ec-card.ec-vertical:not(.ec-card-swiss) .ec-imgbox{
    width:calc(100% - 16px)!important;
    height:auto!important;
    margin:8px 8px 0!important;
    aspect-ratio:148 / 210!important;
  }
  .ec-wrap.ec-app.ec-gallery-mode-cards #ec-gallery.ec-gallery > .ec-card.ec-vertical:not(.ec-card-swiss) .ec-imgbox img{
    object-fit:fill!important;
  }
}
@media(max-width:380px){
  .ec-wrap.ec-app.ec-gallery-mode-list #ec-gallery.ec-gallery > .ec-card.ec-vertical:not(.ec-card-swiss) .ec-imgbox{
    width:78px!important;
    height:108px!important;
  }
}



/* MyDex 1.0.150 — rotation mobile verrouillée par défaut. */
.ec-settings-form .ec-setting-rotation-help{
  display:block;
  margin:-5px 4px 4px;
  color:#8fa7c5;
  font-size:12px;
  line-height:1.35;
}
@media (max-width:900px){
  .ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-rotation-help{
    grid-column:1 / -1;
    margin:-7px 8px 2px;
    font-size:11px;
  }
}


/* =========================================================
   MyDex 1.0.151 — menu latéral épuré et notifications profil
   ========================================================= */
/* Le tiroir peut défiler, mais sa barre reste totalement invisible. */
.ec-wrap.ec-app .ec-sidebar,
.ec-wrap.ec-app.ec-current-view-gallery .ec-sidebar{
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.ec-wrap.ec-app .ec-sidebar::-webkit-scrollbar,
.ec-wrap.ec-app.ec-current-view-gallery .ec-sidebar::-webkit-scrollbar{
  display:none!important;
  width:0!important;
  height:0!important;
}

/* Le menu gauche ne contient plus les doublons Accueil / Galerie / Calendrier / Affiche. */
.ec-wrap.ec-app .ec-nav-list-clean{
  gap:10px!important;
}
.ec-wrap.ec-app .ec-nav-share-icon{
  display:grid!important;
  place-items:center!important;
  width:31px!important;
  height:31px!important;
  flex:0 0 31px!important;
  color:#77dcff!important;
}
.ec-wrap.ec-app .ec-nav-share-icon svg{
  display:block!important;
  width:27px!important;
  height:27px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.ec-wrap.ec-app [data-ec-share-profile-open].is-open{
  color:#fff!important;
  background:linear-gradient(90deg,rgba(6,68,146,.72),rgba(0,184,255,.13))!important;
  border-color:rgba(0,184,255,.58)!important;
  box-shadow:0 0 30px rgba(0,83,190,.20),inset 0 1px 0 rgba(255,255,255,.045)!important;
}

/* Partage de profil sorti du menu Mon compte et placé dans son propre panneau latéral. */
.ec-wrap.ec-app .ec-sidebar-share-panel{
  width:100%!important;
  max-height:0!important;
  opacity:0!important;
  visibility:hidden!important;
  overflow:hidden!important;
  margin:-10px 0 0!important;
  padding:0 12px!important;
  border:1px solid rgba(0,184,255,0)!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,rgba(2,12,25,.96),rgba(1,7,16,.98))!important;
  box-shadow:none!important;
  transition:max-height .22s ease,opacity .18s ease,visibility .18s ease,margin .22s ease,padding .22s ease,border-color .22s ease,box-shadow .22s ease!important;
}
.ec-wrap.ec-app .ec-sidebar-share-panel.is-open{
  max-height:390px!important;
  opacity:1!important;
  visibility:visible!important;
  overflow:visible!important;
  margin:-2px 0 0!important;
  padding:14px!important;
  border-color:rgba(0,184,255,.24)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 14px 32px rgba(0,0,0,.28)!important;
}
.ec-wrap.ec-app .ec-sidebar-profile-share{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.ec-wrap.ec-app.ec-sidebar-share-open .ec-quick-icons-menu,
.ec-wrap.ec-app.ec-sidebar-share-open .ec-user-wrap,
.ec-wrap.ec-app.ec-sidebar-share-open .ec-guest-wrap{
  opacity:.32!important;
}

/* Le petit rond Réglages sous la photo disparaît. Une pastille n'apparaît que s'il y a réellement quelque chose à valider. */
.ec-top-profile-settings-badge{
  display:none!important;
}
.ec-top-profile-notification-badge{
  position:absolute!important;
  z-index:3!important;
  top:-3px!important;
  right:-4px!important;
  display:grid!important;
  place-items:center!important;
  min-width:22px!important;
  height:22px!important;
  padding:0 6px!important;
  border:2px solid #03101f!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#ff4d73,#ff8b35)!important;
  color:#fff!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:950!important;
  box-shadow:0 5px 14px rgba(0,0,0,.48),0 0 16px rgba(255,83,88,.34)!important;
}

/* Le profil du haut devient le centre des événements à valider. */
.ec-top-account-menu.has-moderation{
  width:min(340px,calc(100vw - 24px))!important;
  max-height:min(70vh,520px)!important;
  overflow:auto!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.ec-top-account-menu.has-moderation::-webkit-scrollbar{
  display:none!important;
  width:0!important;
  height:0!important;
}
.ec-top-account-pending{
  display:grid!important;
  gap:6px!important;
  margin:2px 0!important;
  padding:7px!important;
  border:1px solid rgba(0,184,255,.22)!important;
  border-radius:14px!important;
  background:rgba(0,119,255,.07)!important;
}
.ec-top-account-menu .ec-top-account-pending-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  min-height:52px!important;
  padding:8px 9px!important;
  border-color:rgba(0,184,255,.22)!important;
  background:rgba(0,184,255,.08)!important;
}
.ec-top-account-pending-head > span{
  display:grid!important;
  gap:3px!important;
  min-width:0!important;
}
.ec-top-account-pending-head strong{
  color:#fff!important;
  font-size:13px!important;
  font-weight:950!important;
}
.ec-top-account-pending-head em{
  color:#8fc8e8!important;
  font-size:11px!important;
  font-style:normal!important;
  font-weight:800!important;
}
.ec-top-account-pending-head b{
  display:grid!important;
  place-items:center!important;
  min-width:25px!important;
  height:25px!important;
  padding:0 7px!important;
  border-radius:999px!important;
  background:#168fff!important;
  color:#fff!important;
  font-size:11px!important;
  box-shadow:0 0 14px rgba(22,143,255,.30)!important;
}
.ec-top-account-pending-list{
  display:grid!important;
  gap:5px!important;
}
.ec-top-account-menu .ec-top-account-pending-list a{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:2px 9px!important;
  min-height:0!important;
  padding:8px 9px!important;
  border:1px solid rgba(255,255,255,.06)!important;
  background:rgba(255,255,255,.025)!important;
}
.ec-top-account-pending-list a > span{
  grid-row:1 / span 2!important;
  align-self:center!important;
  color:#65d7ff!important;
  font-size:10px!important;
  font-weight:950!important;
}
.ec-top-account-pending-list a > strong{
  min-width:0!important;
  overflow:hidden!important;
  color:#f3f9ff!important;
  font-size:12px!important;
  font-weight:900!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.ec-top-account-pending-list a > em{
  min-width:0!important;
  overflow:hidden!important;
  color:#779bb6!important;
  font-size:10px!important;
  font-style:normal!important;
  font-weight:750!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

@media(max-width:700px){
  .ec-top-profile-notification-badge{
    top:-2px!important;
    right:-3px!important;
    min-width:20px!important;
    height:20px!important;
    padding:0 5px!important;
    font-size:10px!important;
  }
  .ec-top-account-menu.has-moderation{
    right:-2px!important;
    width:min(330px,calc(100vw - 16px))!important;
  }
  .ec-wrap.ec-app .ec-sidebar-share-panel.is-open{
    max-height:310px!important;
    padding:10px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-share-panel .ec-sidebar-settings-head{
    display:flex!important;
  }
}


/* =========================================================
   MyDex 1.0.152 — import intelligent, parcours Affiche → souvenir,
   recherche universelle et marges symétriques des flyers mobiles.
   ========================================================= */
.ec-format-smart-line{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}
.ec-format-smart-line small{color:#77dafd!important;font-size:11px!important;line-height:1.35!important;font-weight:800!important}
.ec-format-auto-reset{appearance:none!important;border:1px solid rgba(70,183,244,.35)!important;background:rgba(7,71,125,.42)!important;color:#dff8ff!important;border-radius:999px!important;padding:6px 10px!important;font-size:10px!important;font-weight:900!important;white-space:nowrap!important;cursor:pointer!important}
.ec-format-picker.is-detected{border-color:rgba(37,201,255,.56)!important;box-shadow:0 0 0 3px rgba(37,201,255,.08)!important}
.ec-multi-smart-badge{display:inline-flex!important;width:max-content!important;align-items:center!important;min-height:23px!important;padding:3px 8px!important;border-radius:999px!important;background:rgba(35,118,190,.18)!important;border:1px solid rgba(58,165,236,.28)!important;color:#8faec9!important;font-size:10px!important;font-weight:900!important}
.ec-multi-smart-badge.is-detected{color:#93f3dc!important;border-color:rgba(54,220,184,.34)!important;background:rgba(26,151,124,.14)!important}
.ec-global-search-button{appearance:none!important;border:1px solid rgba(73,161,233,.28)!important;background:rgba(5,20,38,.72)!important;color:#ccecff!important;border-radius:999px!important;min-height:42px!important;padding:0 15px!important;display:flex!important;align-items:center!important;gap:8px!important;font-size:12px!important;font-weight:900!important;cursor:pointer!important;justify-self:end!important}
.ec-global-search-button svg,.ec-global-search-field svg{width:19px!important;height:19px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important}
.ec-global-search{position:fixed!important;inset:0!important;z-index:2147483647!important;display:none!important;align-items:flex-start!important;justify-content:center!important;padding:8vh 16px 30px!important}
.ec-global-search.is-open{display:flex!important}.ec-global-search-backdrop{position:absolute!important;inset:0!important;border:0!important;background:rgba(0,3,10,.82)!important;backdrop-filter:blur(12px)!important}
.ec-global-search-panel{position:relative!important;z-index:2!important;width:min(760px,100%)!important;max-height:84vh!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;border:1px solid rgba(56,177,255,.44)!important;border-radius:25px!important;background:linear-gradient(180deg,#07172a,#030b16)!important;box-shadow:0 35px 100px rgba(0,0,0,.72),0 0 45px rgba(0,151,255,.12)!important;color:#fff!important}
.ec-global-search-panel>header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:18px 20px 12px!important}.ec-global-search-panel>header strong{display:block!important;font-size:21px!important}.ec-global-search-panel>header span{display:block!important;margin-top:3px!important;color:#829bb4!important;font-size:11px!important;font-weight:750!important}.ec-global-search-panel>header button{appearance:none!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.06)!important;color:#fff!important;width:38px!important;height:38px!important;border-radius:50%!important;font-size:25px!important;cursor:pointer!important}
.ec-global-search-field{margin:0 18px!important;display:flex!important;align-items:center!important;gap:10px!important;border:1px solid rgba(51,174,255,.47)!important;border-radius:17px!important;background:#020b16!important;padding:0 14px!important;color:#54d3ff!important;box-shadow:0 0 0 4px rgba(25,183,255,.06)!important}.ec-global-search-field input{width:100%!important;height:54px!important;min-height:54px!important;border:0!important;outline:0!important;background:transparent!important;color:#fff!important;font-size:16px!important}.ec-global-search-summary{padding:11px 21px 8px!important;color:#8da5bd!important;font-size:11px!important;font-weight:800!important}
.ec-global-search-results{min-height:100px!important;overflow:auto!important;padding:0 12px 14px!important;scrollbar-width:none!important}.ec-global-search-results::-webkit-scrollbar{display:none!important}.ec-global-search-result{display:grid!important;grid-template-columns:58px minmax(0,1fr) 24px!important;align-items:center!important;gap:12px!important;margin:5px 0!important;padding:9px!important;border:1px solid transparent!important;border-radius:16px!important;color:#fff!important;background:rgba(255,255,255,.025)!important}.ec-global-search-result:hover{border-color:rgba(45,184,255,.36)!important;background:rgba(21,117,194,.13)!important}.ec-global-search-result>img,.ec-global-search-placeholder{width:58px!important;height:58px!important;border-radius:11px!important;object-fit:cover!important;background:#020812!important;display:grid!important;place-items:center!important;color:#55d4ff!important;font-size:25px!important}.ec-global-search-result span{display:block!important;color:#55d3ff!important;font-size:10px!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.06em!important}.ec-global-search-result strong{display:block!important;margin:2px 0!important;color:#fff!important;font-size:14px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.ec-global-search-result small{display:block!important;color:#8da4bb!important;font-size:11px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.ec-global-search-result>b{color:#5edcff!important;font-size:24px!important}.ec-global-search-empty{padding:35px 18px!important;text-align:center!important;color:#91a9c0!important}
.ec-top-account-memories{border-top:1px solid rgba(255,255,255,.08)!important;padding-top:7px!important}.ec-top-account-memory-list{display:grid!important;gap:7px!important;padding:5px 7px 8px!important}.ec-top-account-memory-list article{display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;gap:8px!important;padding:8px!important;border-radius:12px!important;background:rgba(18,87,141,.12)!important;border:1px solid rgba(49,149,220,.16)!important}.ec-top-account-memory-list article>img{width:42px!important;height:52px!important;border-radius:8px!important;object-fit:cover!important;grid-row:1/3!important}.ec-top-account-memory-list article span{display:block!important;color:#64d7ff!important;font-size:9px!important;font-weight:900!important}.ec-top-account-memory-list article strong{display:block!important;color:#fff!important;font-size:11px!important;line-height:1.2!important}.ec-memory-prompt-actions{grid-column:2!important;display:flex!important;gap:5px!important;flex-wrap:wrap!important}.ec-memory-prompt-actions form{margin:0!important}.ec-memory-prompt-actions button{appearance:none!important;border:1px solid rgba(62,180,245,.36)!important;background:linear-gradient(135deg,#077bd8,#064eaa)!important;color:#fff!important;border-radius:999px!important;padding:5px 8px!important;font-size:9px!important;font-weight:900!important;cursor:pointer!important}.ec-memory-prompt-actions button.is-muted{background:rgba(255,255,255,.05)!important;color:#a9bbca!important;border-color:rgba(255,255,255,.10)!important}.ec-planned-badge{position:absolute!important;left:9px!important;top:9px!important;z-index:5!important;padding:5px 9px!important;border-radius:999px!important;background:rgba(8,118,224,.9)!important;color:#fff!important;font-size:10px!important;font-weight:950!important;box-shadow:0 5px 18px rgba(0,0,0,.35)!important}
@media(max-width:700px){.ec-global-search-button{width:42px!important;height:42px!important;min-width:42px!important;padding:0!important;justify-content:center!important}.ec-global-search-button span{display:none!important}.ec-global-search{padding:58px 8px 12px!important}.ec-global-search-panel{max-height:calc(100vh - 72px)!important;border-radius:20px!important}.ec-global-search-panel>header{padding:14px 14px 10px!important}.ec-global-search-field{margin:0 10px!important}.ec-global-search-results{padding-left:6px!important;padding-right:6px!important}.ec-format-smart-line{align-items:flex-start!important;flex-direction:column!important}.ec-wrap.ec-app.ec-gallery-mode-cards [data-ec-gallery-results]{width:100%!important;overflow:hidden!important;padding:0 4px!important}.ec-wrap.ec-app.ec-gallery-mode-cards #ec-gallery.ec-gallery{width:100%!important;margin:0!important;padding:0 10px 10px!important;gap:12px!important;scroll-padding-inline:10px!important}.ec-wrap.ec-app.ec-gallery-mode-cards #ec-gallery.ec-gallery > .ec-card{flex:0 0 calc(100% - 2px)!important;width:calc(100% - 2px)!important;max-width:none!important;box-sizing:border-box!important;margin:0!important}.ec-wrap.ec-app.ec-gallery-mode-cards #ec-gallery.ec-gallery > .ec-card .ec-imgbox,.ec-wrap.ec-app.ec-gallery-mode-cards #ec-gallery.ec-gallery > .ec-card.ec-horizontal .ec-imgbox,.ec-wrap.ec-app.ec-gallery-mode-cards #ec-gallery.ec-gallery > .ec-card.ec-vertical .ec-imgbox{width:calc(100% - 16px)!important;margin:8px 8px 0!important;box-sizing:border-box!important}}


/* Barre supérieure à quatre zones uniquement quand la recherche est présente. */
.ec-unified-topbar.has-global-search{
  grid-template-columns:54px minmax(0,1fr) auto 54px!important;
}
.ec-top-account-menu.has-notifications{
  width:min(340px,calc(100vw - 24px))!important;
  max-height:min(70vh,520px)!important;
  overflow:auto!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.ec-top-account-menu.has-notifications::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
@media(max-width:700px){
  .ec-unified-topbar.has-global-search{
    grid-template-columns:54px minmax(0,1fr) 42px 54px!important;
    gap:6px!important;
  }
  .ec-unified-topbar.has-global-search .ec-unified-title img{
    max-width:100%!important;
  }
  .ec-top-account-menu.has-notifications{
    right:-2px!important;
    width:min(330px,calc(100vw - 16px))!important;
  }
}


/* MyDex 1.0.153 — recherche dans les barres de filtres et marges desktop symétriques. */
.ec-context-search-button{
  flex:0 0 auto!important;
  justify-content:center!important;
  white-space:nowrap!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-filters[data-ec-auto-filter]{
  grid-template-columns:minmax(220px,1fr) minmax(240px,1.1fr) auto auto!important;
}
.ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-gallery-search-button{
  min-height:58px!important;
  height:58px!important;
  min-width:148px!important;
  padding:0 18px!important;
  border-radius:12px!important;
}
.ec-upcoming-filter-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  min-width:0!important;
}
.ec-upcoming-filter-actions .ec-upcoming-category-filter{margin-left:0!important}
.ec-upcoming-search-button{
  min-height:46px!important;
  height:46px!important;
  padding:0 16px!important;
}
.ec-calendar-head-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.ec-calendar-search-button{
  min-height:48px!important;
  height:48px!important;
  padding:0 16px!important;
}

/* Le cadre de l'image garde exactement la même marge à gauche et à droite sur ordinateur.
   Le type Portrait/Paysage et le traitement Swiss Explorer restent inchangés. */
@media(min-width:701px){
  .ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card .ec-imgbox,
  .ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card.ec-horizontal .ec-imgbox,
  .ec-wrap.ec-app #ec-gallery.ec-gallery > .ec-card.ec-vertical .ec-imgbox{
    width:calc(100% - 20px)!important;
    max-width:calc(100% - 20px)!important;
    margin:10px 10px 0!important;
    box-sizing:border-box!important;
  }
}

@media(max-width:1180px){
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-filters[data-ec-auto-filter]{
    grid-template-columns:1fr 1fr!important;
  }
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-gallery-search-button{width:100%!important}
}
@media(max-width:760px){
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-filters[data-ec-auto-filter]{grid-template-columns:1fr!important}
  .ec-wrap.ec-app .ec-app-view[data-ec-view="gallery"] .ec-gallery-search-button{
    width:100%!important;
    min-width:0!important;
    min-height:50px!important;
    height:50px!important;
  }
  .ec-calendar-private .ec-calendar-section-head{justify-items:stretch!important}
  .ec-calendar-private .ec-calendar-head-brand{justify-content:center!important}
  .ec-calendar-head-actions{
    width:100%!important;
    justify-content:center!important;
    padding:0 4px!important;
  }
  .ec-calendar-head-actions .ec-calendar-year-select{width:auto!important;padding:0!important}
  .ec-calendar-search-button{
    width:46px!important;
    min-width:46px!important;
    height:46px!important;
    min-height:46px!important;
    padding:0!important;
  }
  .ec-calendar-search-button span{display:none!important}
  .ec-upcoming-filter-row{grid-template-columns:minmax(0,1fr) auto!important}
  .ec-upcoming-filter-actions{gap:6px!important}
  .ec-upcoming-search-button{
    width:36px!important;
    min-width:36px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0!important;
  }
  .ec-upcoming-search-button span{display:none!important}
}

/* =========================================================
   MyDex 1.0.154 — aperçu du dernier souvenir en portrait.
   Le flyer reste entier et centré ; les côtés reprennent une
   copie floutée et assombrie de la même image.
   ========================================================= */
.ec-home-hero-memory-image{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  height:246px!important;
  min-width:0!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(86,171,255,.24)!important;
  border-radius:16px!important;
  background:#04101f!important;
  box-shadow:none!important;
  isolation:isolate!important;
}
.ec-home-hero-memory-image > img,
.ec-home-hero-visual.has-image .ec-home-hero-memory-card .ec-home-hero-memory-image > img:not(.ec-home-empty-logo){
  position:relative!important;
  z-index:2!important;
  display:block!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:none!important;
}
.ec-home-hero-memory-card.is-landscape .ec-home-hero-memory-image > img,
.ec-home-hero-visual.has-image .ec-home-hero-memory-card.is-landscape .ec-home-hero-memory-image > img:not(.ec-home-empty-logo){
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.ec-home-hero-memory-card.is-portrait .ec-home-hero-memory-image{
  padding:9px 0!important;
}
.ec-home-hero-memory-blur{
  position:absolute!important;
  z-index:0!important;
  inset:-22px!important;
  display:block!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  filter:blur(22px) brightness(.46) saturate(.9)!important;
  transform:scale(1.12)!important;
  opacity:.92!important;
}
.ec-home-hero-memory-card.is-portrait .ec-home-hero-memory-image::after{
  content:""!important;
  position:absolute!important;
  z-index:1!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(2,10,22,.34),rgba(2,10,22,.03) 33%,rgba(2,10,22,.03) 67%,rgba(2,10,22,.34))!important;
  pointer-events:none!important;
}
.ec-home-hero-memory-card.is-portrait .ec-home-hero-memory-image > img,
.ec-home-hero-visual.has-image .ec-home-hero-memory-card.is-portrait .ec-home-hero-memory-image > img:not(.ec-home-empty-logo){
  width:auto!important;
  height:100%!important;
  max-width:76%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  border:1px solid rgba(215,237,255,.22)!important;
  border-radius:12px!important;
  box-shadow:0 12px 30px rgba(0,0,0,.42)!important;
}

@media(max-width:900px){
  .ec-home-hero-memory-image{height:225px!important}
  .ec-home-hero-memory-card.is-portrait .ec-home-hero-memory-image > img,
  .ec-home-hero-visual.has-image .ec-home-hero-memory-card.is-portrait .ec-home-hero-memory-image > img:not(.ec-home-empty-logo){
    max-width:72%!important;
  }
}

/* =========================================================
   MyDex 1.0.155 — menu latéral structuré, réglages lisibles
   et pied de menu réellement collé en bas.
   ========================================================= */
.ec-wrap.ec-app .ec-sidebar,
.ec-wrap.ec-app.ec-current-view-gallery .ec-sidebar{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  align-content:stretch!important;
  gap:0!important;
  width:min(390px,calc(100vw - 28px))!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  top:14px!important;
  bottom:14px!important;
  left:14px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(37,151,255,.34)!important;
  border-radius:25px!important;
  background:linear-gradient(180deg,rgba(4,18,36,.99),rgba(1,8,18,.995))!important;
  box-shadow:0 24px 70px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.04)!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.ec-wrap.ec-app .ec-sidebar::-webkit-scrollbar,
.ec-wrap.ec-app.ec-current-view-gallery .ec-sidebar::-webkit-scrollbar,
.ec-wrap.ec-app .ec-sidebar-main::-webkit-scrollbar{
  display:none!important;
  width:0!important;
  height:0!important;
}
.ec-wrap.ec-app .ec-sidebar-main{
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:14px!important;
  padding:20px 22px 18px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.ec-wrap.ec-app .ec-sidebar-footer{
  box-sizing:border-box!important;
  position:relative!important;
  z-index:4!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:12px!important;
  margin:0!important;
  padding:14px 22px calc(18px + env(safe-area-inset-bottom,0px))!important;
  border-top:1px solid rgba(50,146,236,.18)!important;
  background:linear-gradient(180deg,rgba(2,13,27,.97),rgba(1,7,16,.995))!important;
  box-shadow:0 -16px 30px rgba(0,0,0,.18)!important;
}
.ec-wrap.ec-app .ec-sidebar-main>.ec-brand{
  box-sizing:border-box!important;
  flex:0 0 auto!important;
  width:100%!important;
  min-height:86px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  margin:0!important;
  padding:7px 64px 8px 0!important;
}
.ec-wrap.ec-app .ec-sidebar-main>.ec-brand .ec-brand-full-logo{
  display:block!important;
  width:min(270px,100%)!important;
  max-width:100%!important;
  height:74px!important;
  max-height:74px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.ec-wrap.ec-app .ec-sidebar-close{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:absolute!important;
  z-index:20!important;
  top:20px!important;
  right:20px!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(81,184,255,.42)!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,rgba(10,35,64,.98),rgba(3,14,29,.99))!important;
  color:#fff!important;
  font:900 31px/1 system-ui,-apple-system,"Segoe UI",sans-serif!important;
  text-align:center!important;
  text-indent:0!important;
  box-shadow:0 10px 24px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.08)!important;
  cursor:pointer!important;
}
.ec-wrap.ec-app .ec-sidebar-close>span{
  display:block!important;
  width:100%!important;
  height:100%!important;
  line-height:42px!important;
  text-align:center!important;
  transform:translateY(-1px)!important;
}
.ec-wrap.ec-app .ec-sidebar-close:hover,
.ec-wrap.ec-app .ec-sidebar-close:focus-visible{
  border-color:rgba(92,215,255,.85)!important;
  background:linear-gradient(180deg,rgba(7,105,205,.96),rgba(3,42,91,.99))!important;
  outline:none!important;
  box-shadow:0 0 0 4px rgba(0,184,255,.12),0 12px 28px rgba(0,0,0,.36)!important;
}
.ec-wrap.ec-app .ec-nav-list-clean{
  flex:0 0 auto!important;
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;
  margin:0!important;
}
.ec-wrap.ec-app .ec-nav-list-clean .ec-nav-item{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  min-height:58px!important;
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
  padding:12px 16px!important;
  border-radius:16px!important;
}
.ec-wrap.ec-app .ec-nav-list-clean .ec-nav-item>span:last-child,
.ec-wrap.ec-app .ec-nav-list-clean .ec-nav-settings-label{
  min-width:0!important;
  overflow:visible!important;
  white-space:normal!important;
  text-overflow:clip!important;
  line-height:1.25!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-panel,
.ec-wrap.ec-app .ec-sidebar-share-panel{
  box-sizing:border-box!important;
  flex:0 0 auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  max-height:0!important;
  margin:0!important;
  padding:0 16px!important;
  overflow:hidden!important;
  opacity:0!important;
  visibility:hidden!important;
  border:1px solid transparent!important;
  border-radius:18px!important;
  transform:none!important;
  transition:max-height .22s ease,opacity .18s ease,visibility .18s ease,padding .22s ease,border-color .22s ease!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-panel.is-open,
.ec-wrap.ec-app .ec-sidebar-share-panel.is-open{
  width:100%!important;
  max-height:900px!important;
  margin:0!important;
  padding:16px!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
  border-color:rgba(47,156,244,.26)!important;
  background:linear-gradient(180deg,rgba(4,20,40,.96),rgba(1,10,22,.98))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 16px 34px rgba(0,0,0,.24)!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-head{
  width:100%!important;
  min-width:0!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 14px!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-title{
  min-width:0!important;
  display:grid!important;
  gap:3px!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-title strong{
  color:#fff!important;
  font-size:17px!important;
  line-height:1.15!important;
  font-weight:950!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-title span{
  color:#7dc8f3!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-close{
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-form{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:11px!important;
  margin:0!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-field{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:7px!important;
  margin:0!important;
  color:#e7f5ff!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:900!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-field>span{
  display:block!important;
  min-width:0!important;
  overflow:visible!important;
  white-space:normal!important;
  text-overflow:clip!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-form select{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  height:auto!important;
  padding:10px 38px 10px 13px!important;
  overflow:visible!important;
  white-space:normal!important;
  text-overflow:clip!important;
  font-size:13px!important;
  line-height:1.3!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-check,
.ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-switch{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  min-height:52px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:0!important;
  padding:11px 12px 11px 14px!important;
  overflow:hidden!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-switch>span{
  order:1!important;
  flex:1 1 auto!important;
  min-width:0!important;
  display:block!important;
  overflow:visible!important;
  white-space:normal!important;
  text-overflow:clip!important;
  font-size:13px!important;
  line-height:1.28!important;
  font-weight:900!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-switch>input[type="checkbox"]{
  order:2!important;
  flex:0 0 46px!important;
  width:46px!important;
  min-width:46px!important;
  height:26px!important;
  min-height:26px!important;
  margin:0!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-switch>input[type="checkbox"]:before{
  width:20px!important;
  height:20px!important;
  left:3px!important;
  top:2px!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-switch>input[type="checkbox"]:checked:before{
  transform:translateX(20px)!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-rotation.is-unavailable{
  opacity:.72!important;
  cursor:not-allowed!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-rotation input:disabled{
  cursor:not-allowed!important;
  filter:saturate(.6)!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-rotation-help{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  display:block!important;
  margin:-2px 0 0!important;
  padding:0 3px!important;
  overflow:visible!important;
  color:#91a9c6!important;
  font-size:12px!important;
  line-height:1.45!important;
  font-weight:650!important;
  white-space:normal!important;
  text-overflow:clip!important;
}
.ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-status{
  width:100%!important;
  min-height:16px!important;
  margin:-2px 0 0!important;
  padding:0 3px!important;
  white-space:normal!important;
}
.ec-wrap.ec-app .ec-sidebar-action-button{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:11px 0 0!important;
  padding:10px 14px!important;
  overflow:visible!important;
  border:1px solid rgba(54,166,245,.34)!important;
  border-radius:13px!important;
  background:linear-gradient(180deg,rgba(7,40,75,.98),rgba(2,17,35,.99))!important;
  color:#effbff!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:950!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:normal!important;
  text-overflow:clip!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.ec-wrap.ec-app .ec-sidebar-action-button+.ec-sidebar-action-button{margin-top:9px!important}
.ec-wrap.ec-app .ec-sidebar-action-button:hover,
.ec-wrap.ec-app .ec-sidebar-action-button:focus-visible{
  border-color:rgba(72,211,255,.72)!important;
  background:linear-gradient(180deg,rgba(8,101,199,.92),rgba(4,42,91,.99))!important;
  color:#fff!important;
  outline:none!important;
}
.ec-wrap.ec-app .ec-sidebar-footer .ec-quick-icons-menu{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:center!important;
  gap:11px!important;
  margin:0!important;
  padding:0!important;
}
.ec-wrap.ec-app .ec-sidebar-footer .ec-quick-icon-link{
  width:100%!important;
  max-width:72px!important;
  justify-self:center!important;
  aspect-ratio:1/1!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
}
.ec-wrap.ec-app .ec-sidebar-footer .ec-user-wrap,
.ec-wrap.ec-app .ec-sidebar-footer .ec-guest-wrap{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  display:block!important;
  position:relative!important;
  flex:0 0 auto!important;
  margin:0!important;
  opacity:1!important;
}
.ec-wrap.ec-app .ec-sidebar-footer .ec-user{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  min-height:72px!important;
  margin:0!important;
  padding:10px 13px!important;
  border-radius:17px!important;
}
.ec-wrap.ec-app .ec-sidebar-footer .ec-user-text strong,
.ec-wrap.ec-app .ec-sidebar-footer .ec-user-text span{
  overflow:visible!important;
  white-space:normal!important;
  text-overflow:clip!important;
  line-height:1.18!important;
}
.ec-wrap.ec-app.ec-sidebar-settings-open .ec-sidebar-footer,
.ec-wrap.ec-app.ec-sidebar-share-open .ec-sidebar-footer,
.ec-wrap.ec-app.ec-sidebar-settings-open .ec-quick-icons-menu,
.ec-wrap.ec-app.ec-sidebar-settings-open .ec-user-wrap,
.ec-wrap.ec-app.ec-sidebar-settings-open .ec-guest-wrap,
.ec-wrap.ec-app.ec-sidebar-share-open .ec-quick-icons-menu,
.ec-wrap.ec-app.ec-sidebar-share-open .ec-user-wrap,
.ec-wrap.ec-app.ec-sidebar-share-open .ec-guest-wrap{
  display:grid!important;
  opacity:1!important;
  visibility:visible!important;
}
.ec-wrap.ec-app.ec-sidebar-settings-open .ec-user-wrap,
.ec-wrap.ec-app.ec-sidebar-settings-open .ec-guest-wrap,
.ec-wrap.ec-app.ec-sidebar-share-open .ec-user-wrap,
.ec-wrap.ec-app.ec-sidebar-share-open .ec-guest-wrap{
  display:block!important;
}

@media(max-width:900px){
  .ec-wrap.ec-app .ec-sidebar,
  .ec-wrap.ec-app.ec-current-view-gallery .ec-sidebar{
    top:0!important;
    bottom:0!important;
    left:0!important;
    width:min(92vw,410px)!important;
    height:var(--ec-mobile-vh,100dvh)!important;
    min-height:0!important;
    max-height:var(--ec-mobile-vh,100dvh)!important;
    border-width:0 1px 0 0!important;
    border-radius:0 25px 25px 0!important;
  }
  .ec-wrap.ec-app .ec-sidebar-main{
    gap:13px!important;
    padding:max(14px,env(safe-area-inset-top)) 16px 14px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-footer{
    gap:11px!important;
    padding:12px 16px calc(14px + env(safe-area-inset-bottom,0px))!important;
  }
  .ec-wrap.ec-app .ec-sidebar-main>.ec-brand{
    min-height:88px!important;
    padding:8px 58px 8px 2px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-main>.ec-brand .ec-brand-full-logo{
    width:min(285px,100%)!important;
    height:78px!important;
    max-height:78px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-close{
    top:max(14px,env(safe-area-inset-top))!important;
    right:15px!important;
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    border-radius:15px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-close>span{line-height:44px!important}
  .ec-wrap.ec-app .ec-nav-list-clean .ec-nav-item{
    min-height:60px!important;
    padding:13px 15px!important;
    font-size:17px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-panel.is-open,
  .ec-wrap.ec-app .ec-sidebar-share-panel.is-open{
    max-height:1000px!important;
    padding:15px!important;
    overflow:visible!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-form{
    grid-template-columns:minmax(0,1fr)!important;
    gap:11px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-check,
  .ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-switch{
    min-height:56px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-action-button{
    min-height:48px!important;
    font-size:14px!important;
  }
  .ec-wrap.ec-app .ec-sidebar-footer .ec-quick-icons-menu{gap:10px!important}
  .ec-wrap.ec-app .ec-sidebar-footer .ec-quick-icon-link{max-width:70px!important}
  .ec-wrap.ec-app .ec-sidebar-footer .ec-user{min-height:76px!important}
}

@media(max-width:390px){
  .ec-wrap.ec-app .ec-sidebar,
  .ec-wrap.ec-app.ec-current-view-gallery .ec-sidebar{width:min(94vw,366px)!important}
  .ec-wrap.ec-app .ec-sidebar-main{padding-left:13px!important;padding-right:13px!important}
  .ec-wrap.ec-app .ec-sidebar-footer{padding-left:13px!important;padding-right:13px!important}
  .ec-wrap.ec-app .ec-sidebar-main>.ec-brand{padding-right:54px!important}
  .ec-wrap.ec-app .ec-sidebar-main>.ec-brand .ec-brand-full-logo{height:70px!important;max-height:70px!important}
  .ec-wrap.ec-app .ec-sidebar-close{right:12px!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
  .ec-wrap.ec-app .ec-sidebar-close>span{line-height:40px!important}
  .ec-wrap.ec-app .ec-nav-list-clean .ec-nav-item{min-height:56px!important;padding:11px 13px!important;font-size:16px!important}
  .ec-wrap.ec-app .ec-sidebar-settings-panel.is-open,
  .ec-wrap.ec-app .ec-sidebar-share-panel.is-open{padding:13px!important}
  .ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-switch>span{font-size:12.5px!important}
  .ec-wrap.ec-app .ec-sidebar-footer .ec-quick-icons-menu{gap:8px!important}
  .ec-wrap.ec-app .ec-sidebar-footer .ec-user{min-height:70px!important}
}

@media(min-width:901px) and (max-height:820px){
  .ec-wrap.ec-app .ec-sidebar-main{gap:10px!important;padding-top:14px!important;padding-bottom:12px!important}
  .ec-wrap.ec-app .ec-sidebar-main>.ec-brand{min-height:66px!important;padding-top:2px!important;padding-bottom:3px!important}
  .ec-wrap.ec-app .ec-sidebar-main>.ec-brand .ec-brand-full-logo{height:58px!important;max-height:58px!important}
  .ec-wrap.ec-app .ec-sidebar-close{top:14px!important}
  .ec-wrap.ec-app .ec-nav-list-clean .ec-nav-item{min-height:50px!important;padding-top:9px!important;padding-bottom:9px!important}
  .ec-wrap.ec-app .ec-sidebar-footer{gap:9px!important;padding-top:10px!important;padding-bottom:12px!important}
  .ec-wrap.ec-app .ec-sidebar-footer .ec-quick-icon-link{max-width:58px!important}
  .ec-wrap.ec-app .ec-sidebar-footer .ec-user{min-height:62px!important}
}

/* Mobile settings form: final specificity guard against legacy two-column rules. */
@media(max-width:900px){
  .ec-wrap.ec-app .ec-sidebar-main .ec-sidebar-settings-panel.is-open .ec-sidebar-settings-form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    gap:11px!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
  .ec-wrap.ec-app .ec-sidebar-main .ec-sidebar-settings-panel.is-open .ec-sidebar-settings-form > .ec-setting-field,
  .ec-wrap.ec-app .ec-sidebar-main .ec-sidebar-settings-panel.is-open .ec-sidebar-settings-form > label,
  .ec-wrap.ec-app .ec-sidebar-main .ec-sidebar-settings-panel.is-open .ec-sidebar-settings-form > small{
    box-sizing:border-box!important;
    grid-column:1 / -1!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
  }
  .ec-wrap.ec-app .ec-sidebar-main .ec-sidebar-settings-panel.is-open .ec-sidebar-settings-form > label.ec-setting-field{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:7px!important;
    padding:0!important;
    height:auto!important;
    min-height:0!important;
    background:transparent!important;
    border:0!important;
    color:#e7f5ff!important;
    font-size:13px!important;
    line-height:1.25!important;
    font-weight:850!important;
    text-align:left!important;
  }
  .ec-wrap.ec-app .ec-sidebar-main .ec-sidebar-settings-panel.is-open .ec-sidebar-settings-form > label.ec-setting-field > span{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    color:#e7f5ff!important;
    font-size:13px!important;
    line-height:1.25!important;
    font-weight:850!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .ec-wrap.ec-app .ec-sidebar-main .ec-sidebar-settings-panel.is-open .ec-sidebar-settings-form > label.ec-setting-field select{
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:46px!important;
    padding:10px 42px 10px 13px!important;
    font-size:13px!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .ec-wrap.ec-app .ec-sidebar-main .ec-sidebar-settings-panel.is-open .ec-sidebar-settings-form > label.ec-setting-check.ec-setting-switch{
    box-sizing:border-box!important;
    display:flex!important;
    grid-column:1 / -1!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:56px!important;
    padding:11px 13px!important;
    margin:0!important;
  }
  .ec-wrap.ec-app .ec-sidebar-main .ec-sidebar-settings-panel.is-open .ec-sidebar-settings-form > label.ec-setting-check.ec-setting-switch > span{
    display:block!important;
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:none!important;
    color:#effbff!important;
    font-size:13px!important;
    line-height:1.28!important;
    font-weight:850!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    text-align:left!important;
  }
  .ec-wrap.ec-app .ec-sidebar-main .ec-sidebar-settings-panel.is-open .ec-sidebar-settings-form > label.ec-setting-check.ec-setting-switch .ec-switch{
    flex:0 0 auto!important;
    margin:0!important;
  }
  .ec-wrap.ec-app .ec-sidebar-main .ec-sidebar-settings-panel.is-open .ec-sidebar-settings-form > .ec-settings-rotation-help{
    display:block!important;
    padding:0 2px!important;
    color:#9db1ce!important;
    font-size:12.5px!important;
    line-height:1.42!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
}


/* =========================================================
   MyDex 1.0.156 — pied du menu mobile réellement au bord,
   interrupteur rotation toujours utilisable et repli portrait.
   ========================================================= */
@media(max-width:900px){
  .ec-wrap.ec-app .ec-sidebar,
  .ec-wrap.ec-app.ec-current-view-gallery .ec-sidebar{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    inset:0 auto 0 0!important;
    top:0!important;
    right:auto!important;
    bottom:0!important;
    left:0!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:100vh!important;
    min-height:100dvh!important;
    max-height:100vh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
  }
  .ec-wrap.ec-app .ec-sidebar-main{
    flex:1 1 0!important;
    min-height:0!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  .ec-wrap.ec-app .ec-sidebar-footer{
    position:relative!important;
    inset:auto!important;
    flex:0 0 auto!important;
    width:100%!important;
    min-height:0!important;
    margin-top:auto!important;
    padding-bottom:max(12px,env(safe-area-inset-bottom,0px))!important;
    transform:none!important;
  }
  .ec-wrap.ec-app .ec-sidebar-footer .ec-quick-icons-menu{
    flex:0 0 auto!important;
    margin:0!important;
  }
  .ec-wrap.ec-app .ec-sidebar-footer .ec-user-wrap,
  .ec-wrap.ec-app .ec-sidebar-footer .ec-guest-wrap{
    flex:0 0 auto!important;
    margin:0!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-rotation,
  .ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-rotation.is-unavailable{
    opacity:1!important;
    cursor:pointer!important;
  }
  .ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-rotation input,
  .ec-wrap.ec-app .ec-sidebar-settings-form .ec-setting-rotation input:disabled{
    opacity:1!important;
    cursor:pointer!important;
    filter:none!important;
    pointer-events:auto!important;
  }
}
.ec-orientation-fallback{
  display:none;
}
@media(max-width:1100px) and (orientation:landscape){
  html.ec-orientation-lock-fallback .ec-orientation-fallback{
    position:fixed!important;
    inset:0!important;
    z-index:2147483647!important;
    display:grid!important;
    place-items:center!important;
    padding:28px!important;
    background:linear-gradient(180deg,#031126,#010712)!important;
    color:#fff!important;
    text-align:center!important;
  }
  html.ec-orientation-lock-fallback .ec-orientation-fallback>div{
    width:min(440px,100%)!important;
    display:grid!important;
    justify-items:center!important;
    gap:12px!important;
    padding:28px!important;
    border:1px solid rgba(70,181,255,.45)!important;
    border-radius:24px!important;
    background:rgba(4,20,40,.96)!important;
    box-shadow:0 24px 70px rgba(0,0,0,.5)!important;
  }
  html.ec-orientation-lock-fallback .ec-orientation-fallback span{
    display:grid!important;
    place-items:center!important;
    width:64px!important;
    height:64px!important;
    border-radius:18px!important;
    background:rgba(0,132,255,.18)!important;
    border:1px solid rgba(63,190,255,.38)!important;
    color:#8de8ff!important;
    font-size:36px!important;
  }
  html.ec-orientation-lock-fallback .ec-orientation-fallback strong{
    font-size:24px!important;
    line-height:1.1!important;
  }
  html.ec-orientation-lock-fallback .ec-orientation-fallback p{
    margin:0!important;
    color:#bdd0e6!important;
    font-size:16px!important;
    line-height:1.45!important;
  }
}
