:root{
  --tsg-primary:#3B1E7B;
  --tsg-secondary:#DA4816;
  --tsg-surface:#F3F3F3;
  --tsg-max:1640px;
  --tsg-text:#2d2250;
  --tsg-muted:#6e687d;
  --tsg-white:#fff;
  --tsg-shadow:0 24px 70px rgba(32,14,76,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.tsg-site-shell{margin:0;background:#fff;color:var(--tsg-text);font-family:Poppins,Arial,sans-serif;overflow-x:hidden}
.tsg-site-shell a{color:inherit}
.tsg-site-shell img{max-width:100%;height:auto}
.tsg-container{width:min(var(--tsg-max),calc(100% - 64px));margin-inline:auto}
.tsg-main{min-height:50vh}
.tsg-skip-link{position:fixed;left:12px;top:-60px;z-index:10000;background:#fff;color:#111;padding:12px 16px;border-radius:8px}.tsg-skip-link:focus{top:12px}
.tsg-header{position:relative;z-index:100;background:#fff;border-bottom:1px solid rgba(59,30,123,.05)}
.tsg-header__inner{height:130px;display:flex;align-items:center;gap:44px}
.tsg-brand{display:flex;align-items:center;gap:14px;text-decoration:none;flex:0 0 auto}
.tsg-brand img{width:62px;max-height:88px;object-fit:contain;display:block}
.tsg-brand__text{display:flex;flex-direction:column;line-height:1;font-family:Montserrat,Arial,sans-serif;color:#777}
.tsg-brand__text small{font-size:11px;font-weight:600;letter-spacing:.07em}
.tsg-brand__text strong{font-size:19px;color:var(--tsg-primary);margin-top:5px;letter-spacing:.02em}
.tsg-nav{display:flex;align-items:center;justify-content:center;gap:30px;flex:1;min-width:0}
.tsg-nav__item{position:relative;display:flex;align-items:center;min-height:130px}
.tsg-nav__link{font-size:13px;font-weight:600;text-decoration:none;color:var(--tsg-primary);white-space:nowrap;transition:.2s ease;display:inline-flex;align-items:center}
.tsg-nav__link:hover,.tsg-nav__item:focus-within>.tsg-nav__link{color:var(--tsg-secondary)}
.tsg-nav__link.is-accent{border:2px solid var(--tsg-secondary);color:var(--tsg-secondary);padding:11px 18px;border-radius:999px}
.tsg-nav__link.is-accent:hover{background:var(--map-b);color:#fff}
.tsg-submenu{position:absolute;left:50%;top:calc(100% - 12px);transform:translate(-50%,10px);width:310px;background:#fff;border-top:4px solid var(--tsg-secondary);box-shadow:0 22px 58px rgba(31,16,70,.16);padding:12px;opacity:0;visibility:hidden;pointer-events:none;transition:.18s ease;z-index:120}
.tsg-nav__item:hover>.tsg-submenu,.tsg-nav__item:focus-within>.tsg-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.tsg-submenu a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 14px;border-radius:8px;color:var(--tsg-primary);text-decoration:none;font-size:12px;font-weight:600;white-space:normal;line-height:1.35}
.tsg-submenu a:hover{background:#f6f3fb;color:var(--tsg-secondary)}
.tsg-submenu b{font-size:17px;color:var(--tsg-secondary);font-weight:500}
.tsg-header__tools{display:flex;align-items:center;gap:12px;flex:0 0 auto;margin-left:auto}
.tsg-icon-btn,.tsg-menu-btn{appearance:none;border:0;background:transparent;color:var(--tsg-primary);width:38px;height:38px;display:grid;place-items:center;padding:8px;cursor:pointer;text-decoration:none}
.tsg-icon-btn svg,.tsg-menu-btn svg,.tsg-contact-line svg,.tsg-newsletter h2 svg,.tsg-quicklinks svg,.tsg-civil-card svg,.tsg-elected-card__placeholder svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tsg-menu-btn{display:none}
.tsg-mobile-nav{background:#fff;border-top:1px solid #eee;border-bottom:1px solid #eee;box-shadow:0 18px 40px rgba(0,0,0,.08)}
.tsg-mobile-nav__inner{display:grid;padding:16px 0 24px;max-height:calc(100vh - 98px);overflow:auto}
.tsg-mobile-nav__group{padding:8px 0;border-bottom:1px solid #ece9f2}
.tsg-mobile-nav a{text-decoration:none;color:var(--tsg-primary)}
.tsg-mobile-nav__parent{display:flex;font-weight:800;padding:11px 0;font-size:14px;letter-spacing:.015em}
.tsg-mobile-nav__children{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding:2px 0 8px}
.tsg-mobile-nav__children a{padding:9px 0;font-size:12px;font-weight:500;line-height:1.35;color:#5c536c}
.tsg-mobile-nav__children a:hover{color:var(--tsg-secondary)}
.tsg-search-panel{position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 18px 40px rgba(0,0,0,.10);border-top:1px solid #eee;padding:24px 0}
.tsg-search-panel label{display:block;color:var(--tsg-primary);font-weight:700;margin-bottom:8px}
.tsg-search-row{display:grid;grid-template-columns:1fr auto auto;gap:10px}
.tsg-search-row input{border:1px solid #d8d4e2;padding:14px 16px;border-radius:8px;font:inherit}
.tsg-search-row button{border:0;background:var(--map-a);color:#fff;padding:0 22px;border-radius:8px;font-weight:700;cursor:pointer}
.tsg-search-row .tsg-search-close{background:#eee;color:#333;font-size:22px;width:48px;padding:0}

/* Adobe XD home */
.tsg-hero{padding:72px 0 46px}
.tsg-hero__grid{display:grid;grid-template-columns:minmax(0,1.26fr) minmax(500px,.94fr);gap:66px;align-items:start}
.tsg-hero__copy{padding-top:72px}
.tsg-hero h1{margin:0;color:var(--tsg-secondary);font-family:"Kannada MN",Georgia,"Times New Roman",serif;font-size:clamp(52px,4.15vw,78px);line-height:1.02;font-weight:700;letter-spacing:.02em;max-width:880px}
.tsg-hero__copy>p{margin:34px 0 0;max-width:860px;color:var(--tsg-primary);font-size:16px;line-height:1.72;font-weight:400}
.tsg-hero__visual{height:666px;background:linear-gradient(145deg,var(--tsg-primary) 4%,#6c285c 52%,var(--tsg-secondary) 100%);overflow:hidden;display:flex;align-items:flex-end;justify-content:center;position:relative}
.tsg-hero__visual:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 68% 14%,rgba(255,255,255,.08),transparent 35%);pointer-events:none}
.tsg-hero__visual img{display:block;max-height:650px;width:auto;max-width:88%;object-fit:contain;object-position:center bottom;transform:translateY(4px)}
.tsg-quicklinks{margin-top:86px;display:grid;grid-template-columns:repeat(4,1fr);border-radius:12px;overflow:hidden;background:linear-gradient(90deg,var(--tsg-secondary) 0%,#be3c2c 45%,var(--tsg-primary) 100%);box-shadow:0 16px 34px rgba(58,30,123,.09)}
.tsg-quicklinks a{min-height:92px;display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;color:#fff;text-decoration:none;font-size:13px;font-weight:600;padding:16px 14px;position:relative}
.tsg-quicklinks a:not(:last-child):after{content:"";position:absolute;right:0;top:24%;width:1px;height:52%;background:rgba(255,255,255,.8)}
.tsg-quicklinks svg{width:26px;height:26px;flex:0 0 26px}

.tsg-services{padding:0 0 48px}
.tsg-services__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.tsg-service-card{min-height:448px;background:var(--tsg-surface);text-decoration:none;display:flex;flex-direction:column;align-items:stretch;overflow:hidden;color:var(--tsg-primary);transition:transform .2s ease,box-shadow .2s ease}
.tsg-service-card:hover{transform:translateY(-4px);box-shadow:var(--tsg-shadow)}
.tsg-service-card__copy{text-align:center;padding:28px 22px 8px;min-height:154px}
.tsg-service-card h2{margin:0 0 12px;font-size:23px;line-height:1.12;font-weight:700;color:var(--tsg-primary)}
.tsg-service-card p{margin:0 auto;max-width:270px;font-size:11px;line-height:1.5;color:var(--tsg-primary)}
.tsg-service-card>img{display:block;margin-top:auto;width:100%;height:290px;object-fit:cover;object-position:center bottom}

.tsg-news-feature{padding:0 0 50px}
.tsg-news-feature__inner{min-height:458px;background:linear-gradient(102deg,var(--tsg-primary) 0%,#793052 51%,var(--tsg-secondary) 100%);display:grid;grid-template-columns:1fr 1.02fr;align-items:center;overflow:hidden;color:#fff}
.tsg-news-feature__art{height:100%;min-height:458px;position:relative;display:flex;align-items:center;justify-content:center}
.tsg-blob{position:absolute;width:330px;height:300px;overflow:hidden;border:6px solid #fff;border-radius:48% 52% 44% 56% / 54% 43% 57% 46%;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.tsg-blob img{width:100%;height:100%;object-fit:cover}
.tsg-blob--one{transform:rotate(-8deg) translateX(-85px);z-index:1}
.tsg-blob--two{transform:rotate(-2deg);z-index:3}
.tsg-blob--three{transform:rotate(8deg) translateX(82px);z-index:2}
.tsg-news-feature__copy{padding:60px 70px 60px 24px}
.tsg-news-feature h2{font-size:50px;line-height:1.05;margin:0 0 20px;font-weight:700;color:#fff}
.tsg-news-feature p{font-size:18px;line-height:1.52;max-width:650px;margin:0 0 34px}
.tsg-pill-button{display:inline-flex;align-items:center;justify-content:center;min-width:215px;min-height:58px;background:#fff;color:var(--tsg-primary)!important;text-decoration:none;border-radius:999px;font-size:15px;font-weight:600;padding:15px 28px;transition:.2s ease}
.tsg-pill-button:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.16)}

.tsg-home-agenda{padding:0 0 78px}
.tsg-home-agenda__grid{display:grid;grid-template-columns:300px 1fr;gap:72px;align-items:start}
.tsg-home-agenda__intro{padding-top:16px}
.tsg-home-agenda__intro h2{margin:0 0 28px;color:var(--tsg-secondary);font-size:46px;line-height:1;font-weight:700}
.tsg-home-agenda__intro p{margin:0;color:var(--tsg-primary);font-size:18px;line-height:1.48}
.tsg-event-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px}
.tsg-event-card{position:relative;min-width:0}
.tsg-event-card__image{height:190px;overflow:hidden;background:#eee}
.tsg-event-card__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.tsg-event-card:hover .tsg-event-card__image img{transform:scale(1.025)}
.tsg-event-tag{display:inline-block;background:var(--tsg-secondary);color:#fff;font-size:10px;font-weight:600;padding:5px 9px;margin-top:-23px;position:relative;z-index:2}
.tsg-event-dates{display:flex;align-items:center;gap:10px;margin-top:10px;color:#202020;font-size:12px;line-height:1.2}
.tsg-event-dates b{color:var(--tsg-secondary);font-size:16px}
.tsg-event-card h3{font-size:19px;line-height:1.22;color:var(--tsg-primary);margin:8px 0 0;font-weight:700}

/* Generic pages */
.tsg-page-hero{padding:82px 0 62px;background:#fff}
.tsg-page-hero__line{display:block;width:72px;height:6px;background:rgba(218,72,22,.14);margin-bottom:22px}
.tsg-page-hero h1{font-family:Poppins,Arial,sans-serif;margin:0;color:#191919;font-size:clamp(44px,4vw,72px);line-height:1.05;font-weight:700;letter-spacing:-.025em;max-width:1200px}
.tsg-page-hero p{max-width:980px;color:var(--tsg-primary);font-size:17px;line-height:1.65;margin:25px 0 0}
.tsg-section{padding:60px 0 90px}
.tsg-editor-content{font-size:17px;line-height:1.75;color:#3a3743;max-width:1080px}
.tsg-editor-content--wide{max-width:none}
.tsg-page-extra{margin-bottom:52px}
.tsg-editor-content h2,.tsg-editor-content h3{color:var(--tsg-primary);font-family:Poppins,Arial,sans-serif;line-height:1.2}
.tsg-editor-content h2{font-size:38px}.tsg-editor-content h3{font-size:28px}
.tsg-editor-content a{color:var(--tsg-secondary)}
.tsg-editor-content .wp-block-image img{border-radius:4px}
.tsg-eyebrow{display:inline-block;color:var(--tsg-secondary);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}
.tsg-eyebrow--light{color:#fff}

/* Rich editable content pages */
.tsg-content-hero{padding:54px 0 24px;background:#fff}
.tsg-content-hero__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);min-height:430px;background:#f6f4f8;overflow:hidden}
.tsg-content-hero__copy{padding:66px 68px;display:flex;flex-direction:column;justify-content:center}
.tsg-content-hero__copy h1{font-family:Poppins,Arial,sans-serif;margin:0;color:#17131f;font-size:clamp(44px,4vw,70px);line-height:1.03;font-weight:700;letter-spacing:-.025em}
.tsg-content-hero__copy>p{margin:24px 0 0;color:var(--tsg-primary);font-size:17px;line-height:1.65;max-width:720px}
.tsg-content-hero__media{min-height:430px;overflow:hidden;background:linear-gradient(135deg,var(--tsg-primary),var(--tsg-secondary))}
.tsg-content-hero__media img{width:100%;height:100%;min-height:430px;object-fit:cover;display:block}
.tsg-content-hero--article .tsg-content-hero__copy{padding-top:54px;padding-bottom:54px}
.tsg-article__meta{font-size:12px!important;font-weight:700!important;color:var(--tsg-secondary)!important;text-transform:uppercase;letter-spacing:.08em;margin:0 0 16px!important}
.tsg-article__content{margin-inline:auto}
.tsg-back-link{max-width:1080px;margin:38px auto 0;font-weight:700}.tsg-back-link a{color:var(--tsg-secondary);text-decoration:none}
.tsg-content-intro{max-width:980px!important;margin:0 0 44px!important}
.tsg-content-intro h2{font-size:clamp(34px,3vw,48px)!important;margin:8px 0 16px!important;color:var(--tsg-primary)!important}
.tsg-content-intro>p:not(.tsg-block-eyebrow){font-size:18px;line-height:1.72;color:#514a5d;margin-bottom:0}
.tsg-block-eyebrow{margin:0!important;color:var(--tsg-secondary)!important;font-size:12px!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.12em}
.tsg-info-columns{gap:22px!important;margin:0 0 28px!important;align-items:stretch!important}
.tsg-info-columns>.wp-block-column{display:flex}
.tsg-info-card{width:100%;min-height:220px;background:var(--tsg-surface);padding:30px!important;border-top:4px solid var(--tsg-secondary);display:flex;flex-direction:column;box-shadow:0 10px 34px rgba(39,20,79,.045)}
.tsg-info-card h3{font-size:24px!important;margin:0 0 13px!important;color:var(--tsg-primary)!important}
.tsg-info-card p{font-size:14px;line-height:1.65;color:#625b6e;margin-top:0}
.tsg-info-card .tsg-card-link{margin-top:auto!important;padding-top:10px}.tsg-info-card .tsg-card-link a{font-weight:700;text-decoration:none;color:var(--tsg-secondary)}
.tsg-editable-note{margin:32px 0!important;background:#fff8ec;padding:22px 26px!important;border-left:5px solid var(--tsg-secondary);max-width:1100px!important}
.tsg-editable-note p{margin:0!important;font-size:14px;line-height:1.65;color:#5d4e45}
.tsg-block-button .wp-block-button__link{background:var(--tsg-primary)!important;color:#fff!important;border-radius:999px!important;padding:14px 24px!important;font-weight:700!important;text-decoration:none!important}
.tsg-block-button .wp-block-button__link:hover{background:var(--tsg-secondary)!important}

/* Elected */
.tsg-elected-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:80px;align-items:start}
.tsg-summary{position:sticky;top:22px;display:flex;flex-direction:column;gap:14px;font-size:15px}
.tsg-summary strong{font-size:14px;margin-bottom:8px;color:#222}
.tsg-summary a{text-decoration:none;color:#26242b;padding-left:17px;position:relative}
.tsg-summary a:before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;background:#f19a7c;border-radius:50%}
.tsg-elected-search{margin-bottom:70px}
.tsg-elected-search h2,.tsg-elected-group h2{color:var(--tsg-secondary);font-size:44px;line-height:1.1;margin:0 0 26px}
.tsg-elected-search__grid{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:18px;align-items:end}
.tsg-elected-search label{display:grid;gap:8px;font-weight:700;font-size:13px;color:#222}
.tsg-elected-search input{min-height:54px;border:1px solid #ddd;padding:0 16px;font:inherit;font-weight:400}
.tsg-elected-search button{min-height:54px;border:1px solid var(--tsg-secondary);background:#fff;color:#222;font-weight:700;padding:0 24px;cursor:pointer}
.tsg-elected-group{padding:20px 0 68px;scroll-margin-top:40px}
.tsg-elected-group__intro{max-width:900px;color:#555;line-height:1.7;margin-top:-8px;margin-bottom:30px}
.tsg-elected-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.tsg-elected-card{border:1px solid #eceaf1;background:#fff;display:grid;grid-template-columns:150px 1fr;grid-column:span 2;min-height:230px;transition:.2s ease}
.tsg-elected-card:hover{box-shadow:var(--tsg-shadow);transform:translateY(-2px)}
.tsg-elected-card img{width:150px;height:100%;object-fit:cover}
.tsg-elected-card__placeholder{width:150px;min-height:230px;display:grid;place-items:center;background:linear-gradient(145deg,#eee9f7,#f8f5fb);color:var(--tsg-primary)}
.tsg-elected-card__placeholder svg{width:60px;height:60px}
.tsg-elected-card__body{padding:22px}
.tsg-elected-card h3{font-size:22px;margin:0 0 5px;color:#222}
.tsg-elected-card__role{font-weight:700;color:var(--tsg-secondary);margin:0 0 12px}
.tsg-elected-card p{font-size:13px;line-height:1.55;margin:5px 0}
.tsg-elected-card__text{font-size:13px;line-height:1.6;color:#555;margin-top:10px}
.tsg-elected-card__text p{margin:0}.tsg-elected-card[hidden]{display:none!important}

/* Civil */
.tsg-civil__intro{max-width:1040px;margin-bottom:60px}
.tsg-civil__intro h2{font-size:50px;color:var(--tsg-primary);margin:8px 0 20px}
.tsg-civil__intro p{font-size:17px;line-height:1.7;color:#48434f;max-width:930px}
.tsg-civil__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-bottom:60px}
.tsg-civil-card{min-height:330px;text-decoration:none;background:linear-gradient(145deg,#fff7b8 0%,#f1b64a 56%,#a44b2a 100%);padding:34px;border-radius:2px;color:#3a1809;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;transition:.2s ease}
.tsg-civil-card:nth-child(2){background:linear-gradient(145deg,#fff7b8,#e5b94a 58%,#7c3d26)}
.tsg-civil-card:nth-child(3){background:linear-gradient(145deg,#f7e1a5,#c77c3f 58%,#3b1e7b)}
.tsg-civil-card:hover{transform:translateY(-5px);box-shadow:var(--tsg-shadow)}
.tsg-civil-card__icon{position:absolute;right:26px;top:24px;width:90px;height:90px;color:rgba(59,30,123,.75)}
.tsg-civil-card h3{font-size:30px;line-height:1.08;margin:0 0 18px}
.tsg-civil-card>span:last-child{font-size:13px;font-weight:700}

/* News */
.tsg-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.tsg-news-card{border:1px solid #eceaf1;background:#fff;overflow:hidden}
.tsg-news-card__image{display:block;height:240px;overflow:hidden;background:#eee}
.tsg-news-card__image img{width:100%;height:100%;object-fit:cover;transition:.25s ease}
.tsg-news-card:hover .tsg-news-card__image img{transform:scale(1.03)}
.tsg-news-card__body{padding:26px}
.tsg-news-card time{font-size:12px;color:var(--tsg-secondary);font-weight:700}
.tsg-news-card h2{font-size:23px;line-height:1.25;margin:10px 0 12px}.tsg-news-card h2 a{text-decoration:none;color:var(--tsg-primary)}
.tsg-news-card p{color:#666;line-height:1.6;font-size:14px;margin:0}
.tsg-empty-panel{grid-column:1/-1;padding:50px;background:#f7f6f9;text-align:center}
.tsg-event-grid--page{grid-template-columns:repeat(4,1fr)}

/* Démarches */
.tsg-demarches-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.tsg-demarche-card{display:grid;grid-template-columns:250px 1fr;background:var(--tsg-surface);text-decoration:none;min-height:300px;overflow:hidden;transition:.2s ease}
.tsg-demarche-card:hover{transform:translateY(-4px);box-shadow:var(--tsg-shadow)}
.tsg-demarche-card>img{width:100%;height:100%;object-fit:cover;object-position:center bottom}
.tsg-demarche-card>div{padding:34px;align-self:center}
.tsg-demarche-card h2{font-size:28px;color:var(--tsg-primary);margin:0 0 14px}
.tsg-demarche-card p{font-size:14px;line-height:1.6;color:#615b6d;margin:0 0 24px}
.tsg-demarche-card span{font-weight:700;color:var(--tsg-secondary);font-size:13px}

/* Vivre / contact */
.tsg-vivre-hero{min-height:540px;background-size:cover;background-position:center;display:flex;align-items:flex-end;color:#fff;padding:80px 0}
.tsg-vivre-hero h1{font-size:clamp(50px,5vw,82px);margin:8px 0 18px;line-height:1}.tsg-vivre-hero p{font-size:20px;max-width:700px;margin:0}
.tsg-contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.tsg-contact-card{padding:38px;background:#f7f6f9;border-left:5px solid var(--tsg-secondary)}
.tsg-contact-card h2{color:var(--tsg-primary);font-size:28px;margin:0 0 18px}.tsg-contact-card p{line-height:1.7}.tsg-contact-card a{color:var(--tsg-primary);font-weight:700}
.tsg-empty{color:#777;font-size:14px}

/* Footer */
.tsg-footer{background:var(--tsg-primary);color:#fff;padding-top:64px}
.tsg-footer__main{display:grid;grid-template-columns:1.25fr 1fr .65fr;gap:72px;align-items:center;padding-bottom:54px}
.tsg-footer__identity{display:grid;grid-template-columns:170px 1fr;gap:32px;align-items:start}
.tsg-footer__crest{width:150px;max-height:190px;object-fit:contain}
.tsg-footer h2{color:#fff;font-size:23px;margin:0 0 14px;line-height:1.2}
.tsg-footer p{font-size:12px;line-height:1.55;margin:5px 0;color:#fff}
.tsg-footer__address{margin-top:20px!important}
.tsg-contact-line{display:flex;align-items:center;gap:10px}.tsg-contact-line svg{width:20px;height:20px}.tsg-contact-line a{color:#fff;text-decoration:none}
.tsg-newsletter h2{display:flex;align-items:center;gap:15px;font-size:36px;font-weight:400}.tsg-newsletter h2 svg{width:42px;height:42px}
.tsg-newsletter__field{display:grid;grid-template-columns:1fr 46px;background:#fff;border-radius:999px;overflow:hidden;margin-top:10px;max-width:430px}
.tsg-newsletter__field input{min-height:52px;border:0;padding:0 24px;font:inherit;font-size:13px;color:var(--tsg-secondary);outline:0}.tsg-newsletter__field button{border:0;background:#fff;color:var(--tsg-secondary);font-size:24px;cursor:pointer}
.tsg-form-message{margin-top:10px!important;color:#fff7b8!important}
.tsg-footer__social{justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.tsg-social-row{display:flex;gap:16px;margin-bottom:18px}.tsg-social-row a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--tsg-secondary);text-decoration:none;font-weight:800;font-size:19px}
.tsg-footer-link{font-size:13px;color:#fff!important;text-decoration:none}
.tsg-footer__bottom{background:#fff;color:var(--tsg-secondary)}
.tsg-footer__bottom-inner{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.tsg-footer__bottom a{color:var(--tsg-secondary)!important;text-decoration:none;font-size:10px;font-weight:600}

@media(max-width:1400px){
  .tsg-nav{gap:20px}.tsg-nav__link{font-size:11px}.tsg-submenu a{font-size:12px}
  .tsg-hero__grid{grid-template-columns:minmax(0,1.1fr) minmax(430px,.9fr);gap:42px}.tsg-hero__visual{height:610px}.tsg-hero__copy{padding-top:58px}.tsg-quicklinks{margin-top:68px}
  .tsg-event-grid{gap:22px}.tsg-event-card__image{height:165px}
  .tsg-footer__main{gap:40px}.tsg-footer__identity{grid-template-columns:130px 1fr}.tsg-footer__crest{width:120px}
}
@media(max-width:1120px){
  .tsg-container{width:min(var(--tsg-max),calc(100% - 40px))}
  .tsg-header__inner{height:98px;gap:18px}.tsg-brand img{width:52px}.tsg-brand__text{display:none}.tsg-nav{display:none}.tsg-header__tools{margin-left:auto}.tsg-menu-btn{display:grid;margin-left:2px}
  .tsg-content-hero__grid{grid-template-columns:1fr minmax(340px,.85fr);min-height:360px}.tsg-content-hero__copy{padding:48px 42px}.tsg-content-hero__media,.tsg-content-hero__media img{min-height:360px}
  .tsg-hero{padding-top:40px}.tsg-hero__grid{grid-template-columns:1fr;gap:34px}.tsg-hero__copy{padding-top:20px}.tsg-hero h1{font-size:64px;max-width:900px}.tsg-hero__visual{height:560px}.tsg-quicklinks{margin-top:45px}
  .tsg-services__grid{grid-template-columns:repeat(2,1fr)}
  .tsg-news-feature__inner{grid-template-columns:1fr 1fr}.tsg-blob{width:245px;height:235px}.tsg-news-feature h2{font-size:42px}.tsg-news-feature__copy{padding-right:40px}
  .tsg-home-agenda__grid{grid-template-columns:1fr;gap:30px}.tsg-home-agenda__intro p{max-width:400px}.tsg-event-grid{grid-template-columns:repeat(2,1fr)}.tsg-event-card__image{height:240px}
  .tsg-elected-layout{grid-template-columns:1fr}.tsg-summary{position:static;display:none}.tsg-elected-search__grid{grid-template-columns:1fr 1fr}.tsg-elected-grid{grid-template-columns:1fr}.tsg-elected-card{grid-column:auto}
  .tsg-news-grid{grid-template-columns:repeat(2,1fr)}.tsg-event-grid--page{grid-template-columns:repeat(2,1fr)}
  .tsg-demarches-grid{grid-template-columns:1fr}
  .tsg-footer__main{grid-template-columns:1fr 1fr}.tsg-footer__social{grid-column:1/-1;justify-self:start;align-items:flex-start}
}
@media(max-width:720px){
  .tsg-container{width:calc(100% - 28px)}
  .tsg-header__inner{height:82px;gap:12px}.tsg-brand img{width:46px}.tsg-header__tools{gap:6px;margin-left:auto;justify-content:flex-end}.tsg-icon-btn,.tsg-menu-btn{width:36px;height:36px}
  .tsg-mobile-nav__inner{max-height:calc(100vh - 82px)}.tsg-mobile-nav__children{grid-template-columns:1fr}
  .tsg-content-hero{padding:18px 0 8px}.tsg-content-hero__grid{grid-template-columns:1fr}.tsg-content-hero__copy{padding:36px 24px}.tsg-content-hero__copy h1{font-size:40px}.tsg-content-hero__copy>p{font-size:15px;margin-top:18px}.tsg-content-hero__media{min-height:250px;max-height:300px}.tsg-content-hero__media img{min-height:250px;height:280px}.tsg-info-columns{display:grid!important;grid-template-columns:1fr}.tsg-info-card{min-height:0;padding:24px!important}.tsg-content-intro>p:not(.tsg-block-eyebrow){font-size:16px}
  .tsg-search-row{grid-template-columns:1fr 48px}.tsg-search-row button[type=submit]{grid-column:1/-1;min-height:46px;grid-row:2}.tsg-search-row .tsg-search-close{grid-column:2;grid-row:1}
  .tsg-hero{padding:28px 0 30px}.tsg-hero__copy{padding-top:8px}.tsg-hero h1{font-size:45px;line-height:1.04}.tsg-hero__copy>p{font-size:14px;line-height:1.62;margin-top:24px}.tsg-hero__visual{height:430px}.tsg-hero__visual img{max-height:420px;max-width:95%}
  .tsg-quicklinks{grid-template-columns:1fr 1fr;margin-top:32px}.tsg-quicklinks a{min-height:84px;font-size:12px}.tsg-quicklinks a:nth-child(2):after{display:none}
  .tsg-services{padding-bottom:28px}.tsg-services__grid{grid-template-columns:1fr;gap:10px}.tsg-service-card{min-height:420px}.tsg-service-card>img{height:275px}
  .tsg-news-feature{padding-bottom:34px}.tsg-news-feature__inner{grid-template-columns:1fr}.tsg-news-feature__art{min-height:330px}.tsg-blob{width:190px;height:180px}.tsg-blob--one{transform:rotate(-8deg) translateX(-55px)}.tsg-blob--three{transform:rotate(8deg) translateX(55px)}.tsg-news-feature__copy{padding:34px 26px 42px}.tsg-news-feature h2{font-size:38px}.tsg-news-feature p{font-size:15px}.tsg-pill-button{min-height:52px}
  .tsg-home-agenda{padding-bottom:50px}.tsg-home-agenda__intro h2{font-size:40px}.tsg-home-agenda__intro p{font-size:16px}.tsg-event-grid{grid-template-columns:1fr}.tsg-event-card__image{height:245px}
  .tsg-page-hero{padding:48px 0 36px}.tsg-page-hero h1{font-size:40px}.tsg-page-hero p{font-size:15px}.tsg-section{padding:42px 0 62px}
  .tsg-elected-search h2,.tsg-elected-group h2{font-size:34px}.tsg-elected-search__grid{grid-template-columns:1fr}.tsg-elected-card{grid-template-columns:1fr}.tsg-elected-card img,.tsg-elected-card__placeholder{width:100%;height:260px;min-height:260px}.tsg-elected-card__placeholder svg{width:75px;height:75px}
  .tsg-civil__intro h2{font-size:38px}.tsg-civil__cards{grid-template-columns:1fr}.tsg-civil-card{min-height:260px}
  .tsg-news-grid,.tsg-event-grid--page{grid-template-columns:1fr}.tsg-news-card__image{height:220px}
  .tsg-demarche-card{grid-template-columns:1fr}.tsg-demarche-card>img{height:230px}.tsg-demarche-card>div{padding:26px}
  .tsg-vivre-hero{min-height:430px;padding:50px 0}.tsg-vivre-hero h1{font-size:48px}.tsg-vivre-hero p{font-size:16px}
  .tsg-contact-grid{grid-template-columns:1fr}
  .tsg-footer{padding-top:46px}.tsg-footer__main{grid-template-columns:1fr;gap:42px}.tsg-footer__identity{grid-template-columns:100px 1fr;gap:22px}.tsg-footer__crest{width:95px}.tsg-newsletter h2{font-size:30px}.tsg-footer__social{grid-column:auto}.tsg-footer__bottom-inner{justify-content:flex-start;padding:14px 0}
}

/* Illustration assets from the original Adobe XD file keep their proportions in interior heroes. */
.tsg-content-hero__media.is-illustration{background:linear-gradient(145deg,#f5f2f8,#eee9f3);display:flex;align-items:center;justify-content:center;padding:34px}
.tsg-content-hero__media.is-illustration img{object-fit:contain;min-height:0;height:auto;max-height:360px;width:100%}

/* =========================================================
   V1.3 — Modern refresh, green identity & editable layout
   ========================================================= */
body.tsg-site-shell{background:#fdfcfe}

/* Header: contemporary glass effect when enabled. */
body.tsg-sticky-header .tsg-header{position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:box-shadow .25s ease,background .25s ease;border-bottom:0}
body.admin-bar.tsg-sticky-header .tsg-header{top:32px}
.tsg-header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--tsg-secondary) 20%,var(--tsg-green) 50%,var(--tsg-primary) 80%,transparent);opacity:.22;pointer-events:none}
.tsg-header.is-scrolled{box-shadow:0 14px 42px rgba(40,22,72,.09)}
.tsg-icon-btn,.tsg-menu-btn{border-radius:12px;transition:background .2s ease,color .2s ease,transform .2s ease}
.tsg-icon-btn:hover,.tsg-menu-btn:hover{background:rgba(143,175,116,.14);color:var(--tsg-green-dark);transform:translateY(-1px)}

/* Hero: the quick-action rail now shares the same bottom baseline as the image. */
.tsg-hero{padding-top:64px;padding-bottom:var(--tsg-section-space)}
.tsg-hero__grid{grid-template-columns:minmax(0,1fr) minmax(500px,var(--tsg-hero-media-width));gap:var(--tsg-hero-gap);align-items:stretch}
.tsg-hero__copy{height:var(--tsg-hero-height);padding-top:72px;display:flex;flex-direction:column;min-width:0}
body.tsg-quicklinks-bottom .tsg-quicklinks{margin-top:auto}
.tsg-hero__visual{height:var(--tsg-hero-height);border-radius:var(--tsg-image-radius);background:linear-gradient(145deg,var(--tsg-primary) 0%,var(--tsg-green-dark) 51%,var(--tsg-secondary) 100%);box-shadow:0 28px 70px rgba(44,22,80,.13);isolation:isolate}
.tsg-hero__visual:before{content:"";position:absolute;width:64%;aspect-ratio:1;right:-20%;top:-20%;border-radius:50%;background:radial-gradient(circle,rgba(143,175,116,.48) 0%,rgba(143,175,116,.14) 43%,transparent 71%);filter:blur(2px);z-index:-1;pointer-events:none}
.tsg-hero__visual:after{background:radial-gradient(circle at 67% 15%,rgba(255,255,255,.13),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.05))}
.tsg-hero__visual img{max-width:var(--tsg-hero-image-scale);max-height:calc(var(--tsg-hero-height) - 12px);filter:drop-shadow(0 24px 28px rgba(0,0,0,.16))}
.tsg-quicklinks{margin-top:54px;border-radius:var(--tsg-card-radius);background:linear-gradient(100deg,var(--tsg-secondary) 0%,#9d493a 35%,var(--tsg-green-dark) 66%,var(--tsg-primary) 100%);box-shadow:0 20px 50px rgba(49,25,86,.13);border:1px solid rgba(255,255,255,.22)}
.tsg-quicklinks a{transition:background .2s ease,transform .2s ease}
.tsg-quicklinks a:hover{background:rgba(255,255,255,.10);transform:translateY(-2px)}

/* Consistent premium rounding across photographic surfaces. */
.tsg-service-card,.tsg-news-feature__inner,.tsg-content-hero__grid,.tsg-demarche-card,.tsg-news-card,.tsg-elected-card,.tsg-contact-card{border-radius:var(--tsg-card-radius)}
.tsg-event-card__image,.tsg-news-card__image,.tsg-content-hero__media,.tsg-demarche-card>img,.tsg-editor-content img,.tsg-media-rounded{border-radius:var(--tsg-image-radius)}
.tsg-service-card{overflow:hidden;border:1px solid rgba(59,30,123,.07);box-shadow:0 10px 34px rgba(45,24,75,.045);position:relative}
.tsg-service-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--tsg-secondary);z-index:2}
.tsg-service-card:nth-child(even):before{background:var(--tsg-green)}
.tsg-service-card>img{border-radius:0 0 var(--tsg-card-radius) var(--tsg-card-radius)}
.tsg-service-card:hover{transform:translateY(-6px);box-shadow:0 24px 62px rgba(42,20,79,.11)}
.tsg-event-card__image,.tsg-news-card__image{box-shadow:0 12px 34px rgba(42,24,70,.07)}
.tsg-content-hero__grid{box-shadow:0 18px 58px rgba(42,23,73,.07)}
.tsg-editor-content .wp-block-image img{border-radius:var(--tsg-image-radius)}

/* Green from the minaret becomes a real secondary identity color. */
.tsg-page-hero__line{width:92px;height:7px;border-radius:999px;background:linear-gradient(90deg,var(--tsg-secondary),var(--tsg-green))}
.tsg-eyebrow,.tsg-block-eyebrow{color:var(--tsg-green-dark)!important}
.tsg-info-card:nth-child(even){border-top-color:var(--tsg-green)}
.tsg-contact-card:nth-child(even){border-left-color:var(--tsg-green)}
.tsg-pill-button{box-shadow:inset 0 0 0 1px rgba(82,110,65,.18)}
.tsg-pill-button:hover{color:var(--tsg-green-dark)!important}
.tsg-news-feature__inner{background:linear-gradient(110deg,var(--tsg-primary) 0%,var(--tsg-green-dark) 50%,var(--tsg-secondary) 100%)}
.tsg-footer{background:linear-gradient(118deg,var(--tsg-primary) 0%,#45265f 42%,var(--tsg-green-dark) 100%)}
.tsg-footer__bottom{border-top:4px solid var(--tsg-green)}

/* Section rhythm is managed in WordPress. */
.tsg-services{padding-bottom:var(--tsg-section-space)}
.tsg-news-feature{padding-bottom:var(--tsg-section-space)}
.tsg-home-agenda{padding-bottom:calc(var(--tsg-section-space) + 28px)}

/* Light entrance motion. JS adds .is-visible only when the module enters the viewport. */
body.tsg-motion-enabled .tsg-reveal{opacity:0;transform:translateY(var(--tsg-motion-distance));transition:opacity var(--tsg-motion-speed) cubic-bezier(.2,.75,.25,1),transform var(--tsg-motion-speed) cubic-bezier(.2,.75,.25,1)}
body.tsg-motion-enabled .tsg-reveal.is-visible{opacity:1;transform:none}
body.tsg-motion-enabled .tsg-hero__visual{background-size:150% 150%;animation:tsgHeroGradient 11s ease-in-out infinite alternate}
body.tsg-motion-enabled .tsg-hero__visual img{animation:tsgMinaretEnter 850ms cubic-bezier(.2,.75,.25,1) both}
body.tsg-motion-enabled .tsg-hero__visual:before{animation:tsgGreenGlow 8s ease-in-out infinite alternate}
@keyframes tsgMinaretEnter{from{opacity:0;transform:translateY(28px) scale(.985)}to{opacity:1;transform:translateY(4px) scale(1)}}
@keyframes tsgHeroGradient{0%{background-position:0% 30%}100%{background-position:100% 70%}}
@keyframes tsgGreenGlow{0%{transform:translate3d(-10px,-5px,0) scale(.94);opacity:.68}100%{transform:translate3d(12px,12px,0) scale(1.07);opacity:1}}

/* Small progressive delays, kept deliberately subtle. */
body.tsg-motion-enabled .tsg-service-card:nth-child(2),body.tsg-motion-enabled .tsg-event-card:nth-child(2){transition-delay:70ms}
body.tsg-motion-enabled .tsg-service-card:nth-child(3),body.tsg-motion-enabled .tsg-event-card:nth-child(3){transition-delay:140ms}
body.tsg-motion-enabled .tsg-service-card:nth-child(4),body.tsg-motion-enabled .tsg-event-card:nth-child(4){transition-delay:210ms}

@media(max-width:1120px){
  .tsg-hero__grid{grid-template-columns:1fr;gap:34px}
  .tsg-hero__copy{height:auto;padding-top:20px}
  body.tsg-quicklinks-bottom .tsg-quicklinks{margin-top:45px}
  .tsg-hero__visual{height:min(var(--tsg-hero-height),560px)}
  .tsg-hero__visual img{max-height:548px}
}
@media(max-width:782px){body.admin-bar.tsg-sticky-header .tsg-header{top:46px}}
@media(max-width:720px){
  .tsg-hero{padding-top:28px}
  .tsg-hero__copy{padding-top:8px}
  .tsg-hero__visual{height:430px;border-radius:min(var(--tsg-image-radius),24px)}
  .tsg-hero__visual img{max-height:420px;max-width:95%}
  .tsg-quicklinks{margin-top:32px;border-radius:min(var(--tsg-card-radius),22px)}
  .tsg-service-card,.tsg-news-feature__inner,.tsg-content-hero__grid,.tsg-demarche-card,.tsg-news-card,.tsg-elected-card,.tsg-contact-card{border-radius:min(var(--tsg-card-radius),22px)}
}
@media(prefers-reduced-motion:reduce){
  body.tsg-motion-enabled .tsg-reveal{opacity:1!important;transform:none!important;transition:none!important}
  body.tsg-motion-enabled .tsg-hero__visual,body.tsg-motion-enabled .tsg-hero__visual img,body.tsg-motion-enabled .tsg-hero__visual:before{animation:none!important}
  .tsg-site-shell *{scroll-behavior:auto!important}
}

/* V1.3.1 — hard visual refresh / cache-safe overrides */
.tsg-hero__grid{align-items:stretch!important}
.tsg-hero__copy{height:var(--tsg-hero-height)!important;display:grid!important;grid-template-rows:auto auto 1fr auto!important;align-content:stretch!important;padding-top:72px!important}
.tsg-hero__copy>p{margin-bottom:0!important}
body.tsg-quicklinks-bottom .tsg-quicklinks{margin-top:0!important;align-self:end!important;width:100%!important}
.tsg-hero__visual{position:relative!important;overflow:hidden!important;border-radius:var(--tsg-image-radius)!important;background:linear-gradient(145deg,var(--tsg-primary) 0%,#4d396c 28%,var(--tsg-green-dark) 58%,var(--tsg-secondary) 100%)!important}
.tsg-hero__visual:before{z-index:0!important;right:-8%!important;top:-10%!important;width:72%!important;background:radial-gradient(circle,rgba(143,175,116,.68) 0%,rgba(143,175,116,.24) 42%,transparent 72%)!important}
.tsg-hero__visual:after{z-index:0!important;content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(125deg,rgba(255,255,255,.09),transparent 32%),radial-gradient(circle at 68% 15%,rgba(255,255,255,.18),transparent 30%)!important}
.tsg-hero__visual img{position:relative!important;z-index:2!important}
.tsg-quicklinks{overflow:hidden!important;border-radius:var(--tsg-card-radius)!important;background:linear-gradient(100deg,var(--tsg-secondary) 0%,#b54931 33%,var(--tsg-green-dark) 68%,var(--tsg-primary) 100%)!important}
.tsg-service-card img,.tsg-event-card__image,.tsg-news-card__image,.tsg-content-hero__media img,.tsg-editor-content img,.tsg-demarche-card img{border-radius:var(--tsg-image-radius)!important}
.tsg-service-card,.tsg-event-card,.tsg-news-card,.tsg-info-card,.tsg-demarche-card,.tsg-contact-card,.tsg-elected-card{border-radius:var(--tsg-card-radius)!important}
.tsg-service-card:nth-child(2n){box-shadow:inset 0 4px 0 var(--tsg-green),0 14px 34px rgba(42,23,73,.06)!important}
.tsg-page-hero__line{background:linear-gradient(90deg,var(--tsg-secondary),var(--tsg-green),var(--tsg-primary))!important}
@media(max-width:1120px){.tsg-hero__copy{height:auto!important;display:flex!important;padding-top:20px!important}body.tsg-quicklinks-bottom .tsg-quicklinks{margin-top:45px!important;align-self:auto!important}}


/* V1.3.2 — cartes démarches illustrées */
.tsg-demarche-card{
  background:linear-gradient(145deg,rgba(59,30,123,.055),rgba(255,255,255,.98) 64%)!important;
  border:1px solid rgba(59,30,123,.09);
}
.tsg-demarches-grid .tsg-demarche-card:nth-child(even),
.tsg-demarche-card.is-green{
  background:linear-gradient(145deg,rgba(143,175,116,.13),rgba(255,255,255,.98) 66%)!important;
  border-color:rgba(82,110,65,.14);
}


/* =========================================================
   V1.3.3 — Service cards premium, palette Adobe XD d'origine
   =========================================================
   Fond pastel violet / vert comme la maquette validée.
   Violet #3B1E7B + orange #DA4816 restent les couleurs de marque.
*/
.tsg-services__grid{gap:22px!important;align-items:stretch}
.tsg-service-card{
  min-height:590px!important;
  display:flex!important;
  flex-direction:column!important;
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate;
  border:1px solid rgba(82,110,65,.18)!important;
  border-top:5px solid var(--tsg-green)!important;
  background:
    radial-gradient(circle at 86% 16%,rgba(143,175,116,.16),transparent 31%),
    linear-gradient(145deg,#fbfff9 0%,#eff8eb 52%,#fff 100%)!important;
  box-shadow:0 16px 44px rgba(54,30,94,.075)!important;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease!important;
}
/* Cartes 2 et 4 : pastel violet — Signaler une anomalie reste violet. */
.tsg-service-card:nth-child(even){
  box-shadow:0 16px 44px rgba(54,30,94,.075)!important;
  border-color:rgba(59,30,123,.13)!important;
  border-top-color:#8764d8!important;
  background:
    radial-gradient(circle at 84% 17%,rgba(104,72,190,.11),transparent 31%),
    linear-gradient(145deg,#fcfaff 0%,#f2edff 52%,#fff 100%)!important;
}
.tsg-service-card:before{display:none!important}
.tsg-service-card:after{
  content:"";position:absolute;inset:auto -18% 86px -18%;height:46%;z-index:-1;
  border-radius:50% 50% 0 0/48% 48% 0 0;
  background:rgba(143,175,116,.075);pointer-events:none;
}
.tsg-service-card:nth-child(even):after{background:rgba(91,57,177,.055)}
.tsg-service-card:hover{transform:translateY(-7px)!important;box-shadow:0 26px 70px rgba(48,24,88,.13)!important}
.tsg-service-card__copy{padding:38px 34px 10px!important;min-height:185px!important;text-align:center!important}
.tsg-service-card h2{font-size:clamp(24px,1.55vw,31px)!important;line-height:1.12!important;margin-bottom:16px!important;color:var(--tsg-primary)!important;letter-spacing:-.02em}
.tsg-service-card p{max-width:330px!important;font-size:14px!important;line-height:1.62!important;color:#493c69!important}
.tsg-service-card__art{display:flex;align-items:flex-end;justify-content:center;flex:1;min-height:275px;padding:0 20px 6px;overflow:hidden}
.tsg-service-card__art img{
  width:100%!important;height:auto!important;max-height:310px!important;object-fit:contain!important;object-position:center bottom!important;
  display:block!important;margin:0 auto!important;border-radius:0!important;
  filter:drop-shadow(0 14px 20px rgba(49,28,76,.08));
  transform:translateZ(0);image-rendering:auto;
}
/* CTA : couleurs fortes de la maquette Adobe d'origine, violet + orange. */
.tsg-service-card__cta{
  margin:8px 22px 22px;min-height:62px;padding:11px 13px 11px 24px;border-radius:18px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:linear-gradient(105deg,var(--tsg-secondary),#c63c2c);color:#fff!important;
  font-size:14px;font-weight:700;box-shadow:0 12px 28px rgba(218,72,22,.17);
}
.tsg-service-card:nth-child(even) .tsg-service-card__cta{
  background:linear-gradient(105deg,var(--tsg-primary),#5f2fc0);
  box-shadow:0 12px 28px rgba(59,30,123,.18)
}
.tsg-service-card__cta b{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;background:#fff;font-size:23px;font-weight:500}
.tsg-service-card .tsg-service-card__cta b{color:var(--tsg-secondary)}
.tsg-service-card:nth-child(even) .tsg-service-card__cta b{color:var(--tsg-primary)}

/* Palette globale recentrée sur les couleurs de la première maquette XD. */
.tsg-news-feature__inner{background:linear-gradient(108deg,var(--tsg-primary) 0%,#6a2b61 54%,var(--tsg-secondary) 100%)!important}
.tsg-footer{background:linear-gradient(118deg,var(--tsg-primary) 0%,#4f256d 72%,#3a245d 100%)!important}
.tsg-quicklinks{background:linear-gradient(100deg,var(--tsg-secondary) 0%,#b43c2d 42%,var(--tsg-primary) 100%)!important}
.tsg-hero__visual{background:linear-gradient(145deg,var(--tsg-primary) 0%,#5b2b69 52%,var(--tsg-secondary) 100%)!important}
.tsg-hero__visual:before{background:radial-gradient(circle,rgba(143,175,116,.48) 0%,rgba(143,175,116,.12) 42%,transparent 72%)!important}

@media(max-width:1120px){
  .tsg-services__grid{gap:18px!important}
  .tsg-service-card{min-height:560px!important}
  .tsg-service-card__art img{max-height:300px!important}
}
@media(max-width:720px){
  .tsg-services__grid{gap:22px!important}
  .tsg-service-card{min-height:0!important;border-radius:28px!important}
  .tsg-service-card__copy{padding:34px 24px 10px!important;min-height:0!important}
  .tsg-service-card h2{font-size:31px!important;line-height:1.12!important}
  .tsg-service-card p{font-size:15px!important;line-height:1.55!important;max-width:430px!important}
  .tsg-service-card__art{min-height:330px;padding:12px 18px 0!important}
  .tsg-service-card__art img{max-height:340px!important;width:100%!important}
  .tsg-service-card__cta{margin:14px 18px 18px;min-height:60px;border-radius:17px;padding-left:20px;font-size:14px}
}

/* =========================================================
   V1.5.0 — RETOUR STRICT À LA MAQUETTE ADOBE XD
   Référence : artboard 89410fb2-605e-486d-b214-76b608798790
   Palette source : violet #3B1E7B / orange #DA4816
   ========================================================= */
body.tsg-xd-reference{--tsg-primary:#3B1E7B;--tsg-secondary:#DA4816;--tsg-surface:#F3F3F3;--tsg-text:#1C0C3A;background:#fff;color:#1C0C3A}
body.tsg-xd-reference .tsg-container{width:min(1640px,calc(100% - 64px))}

/* Header source XD : blason seul, navigation légère et aérée. */
body.tsg-xd-reference .tsg-header{background:#fff;border-bottom:0;box-shadow:none}
body.tsg-xd-reference .tsg-header__inner{height:118px;gap:58px}
body.tsg-xd-reference .tsg-brand img{width:58px;max-height:88px}
body.tsg-xd-reference .tsg-brand__text{display:none!important}
body.tsg-xd-reference .tsg-nav{justify-content:flex-start;gap:42px}
body.tsg-xd-reference .tsg-nav__item{min-height:118px}
body.tsg-xd-reference .tsg-nav__link{font-size:13px;font-weight:500;color:#3B1E7B}
body.tsg-xd-reference .tsg-nav__link.is-accent{padding:8px 17px;border:2px solid #DA4816;border-radius:999px;color:#DA4816;background:#fff}
body.tsg-xd-reference .tsg-header__tools{gap:10px}
body.tsg-xd-reference .tsg-icon-btn,body.tsg-xd-reference .tsg-menu-btn{color:#3B1E7B}

/* Accueil : proportions et alignements de l'artboard Adobe XD. */
body.tsg-layout-home .tsg-hero{padding:20px 0 46px!important}
body.tsg-layout-home .tsg-hero__grid{grid-template-columns:minmax(0,1.23fr) minmax(520px,.95fr)!important;gap:70px!important;align-items:stretch!important}
body.tsg-layout-home .tsg-hero__copy{height:666px!important;padding-top:105px!important;display:grid!important;grid-template-rows:auto auto 1fr auto!important;align-content:stretch!important}
body.tsg-layout-home .tsg-hero h1{max-width:850px!important;margin:0!important;color:#DA4816!important;font-family:"Kannada MN",Georgia,"Times New Roman",serif!important;font-size:clamp(58px,4.1vw,79px)!important;line-height:1.00!important;letter-spacing:.018em!important;font-weight:700!important}
body.tsg-layout-home .tsg-hero__copy>p{max-width:850px!important;margin:36px 0 0!important;color:#3B1E7B!important;font-size:16px!important;line-height:1.72!important;font-weight:400!important}
body.tsg-layout-home .tsg-hero__visual{height:666px!important;border-radius:0!important;background:linear-gradient(135deg,#3B1E7B 0%,#733153 54%,#DA4816 100%)!important;box-shadow:none!important;overflow:hidden!important;display:flex!important;align-items:flex-end!important;justify-content:center!important}
body.tsg-layout-home .tsg-hero__visual:before{display:none!important}
body.tsg-layout-home .tsg-hero__visual:after{display:none!important}
body.tsg-layout-home .tsg-hero__visual img{position:relative!important;z-index:1!important;width:auto!important;height:auto!important;max-width:99%!important;max-height:660px!important;object-fit:contain!important;object-position:center bottom!important;padding:0!important;transform:translateY(2px)!important;filter:none!important}
body.tsg-layout-home .tsg-quicklinks{margin-top:0!important;align-self:end!important;width:100%!important;min-height:92px!important;border-radius:11px!important;border:0!important;overflow:hidden!important;background:linear-gradient(90deg,#DA4816 0%,#B63D2F 44%,#3B1E7B 100%)!important;box-shadow:none!important}
body.tsg-layout-home .tsg-quicklinks a{min-height:92px!important;padding:16px 14px!important;gap:12px!important;color:#fff!important;font-size:13px!important;font-weight:600!important;transform:none!important;background:transparent!important}
body.tsg-layout-home .tsg-quicklinks a:not(:last-child):after{top:24%!important;height:52%!important;background:rgba(255,255,255,.88)!important}
body.tsg-layout-home .tsg-quicklinks svg{width:27px!important;height:27px!important}

/* Les quatre cartes sont volontairement fidèles à la maquette : gris clair, sans pastels ni CTA. */
body.tsg-layout-home .tsg-services{padding:0 0 44px!important}
body.tsg-layout-home .tsg-services__grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;align-items:stretch!important}
body.tsg-layout-home .tsg-service-card{min-height:448px!important;border:0!important;border-radius:0!important;background:#F3F3F3!important;box-shadow:none!important;color:#3B1E7B!important;overflow:hidden!important;transform:none!important;display:flex!important;flex-direction:column!important}
body.tsg-layout-home .tsg-service-card:before,body.tsg-layout-home .tsg-service-card:after{display:none!important}
body.tsg-layout-home .tsg-service-card:hover{transform:translateY(-2px)!important;box-shadow:0 10px 28px rgba(59,30,123,.06)!important}
body.tsg-layout-home .tsg-service-card__copy{padding:28px 20px 6px!important;min-height:156px!important;text-align:center!important}
body.tsg-layout-home .tsg-service-card h2{margin:0 0 12px!important;color:#3B1E7B!important;font-size:23px!important;line-height:1.12!important;font-weight:700!important;letter-spacing:0!important}
body.tsg-layout-home .tsg-service-card p{margin:0 auto!important;max-width:280px!important;color:#3B1E7B!important;font-size:11px!important;line-height:1.5!important}
body.tsg-layout-home .tsg-service-card__art{display:flex!important;align-items:flex-end!important;justify-content:center!important;flex:1!important;min-height:286px!important;padding:0 8px!important;overflow:hidden!important}
body.tsg-layout-home .tsg-service-card__art img{display:block!important;width:100%!important;height:auto!important;max-height:292px!important;object-fit:contain!important;object-position:center bottom!important;margin:0 auto!important;border-radius:0!important;filter:none!important}
body.tsg-layout-home .tsg-service-card__cta{display:none!important}

/* Bloc actualités : gradient et géométrie de la maquette source. */
body.tsg-layout-home .tsg-news-feature{padding:0 0 46px!important}
body.tsg-layout-home .tsg-news-feature__inner{min-height:458px!important;border-radius:0!important;box-shadow:none!important;background:linear-gradient(102deg,#3B1E7B 0%,#7B3151 51%,#DA4816 100%)!important;grid-template-columns:1fr 1.02fr!important;color:#fff!important}
body.tsg-layout-home .tsg-news-feature__art{min-height:458px!important}
body.tsg-layout-home .tsg-news-feature__copy{padding:60px 70px 60px 24px!important}
body.tsg-layout-home .tsg-news-feature h2{font-size:50px!important;color:#fff!important}
body.tsg-layout-home .tsg-news-feature p{font-size:18px!important;color:#fff!important;max-width:650px!important}
body.tsg-layout-home .tsg-pill-button{min-width:215px!important;min-height:58px!important;background:#fff!important;color:#3B1E7B!important;border-radius:999px!important;box-shadow:none!important}

/* Agenda source : titre à gauche, quatre cartes à droite. */
body.tsg-layout-home .tsg-home-agenda{padding:0 0 78px!important}
body.tsg-layout-home .tsg-home-agenda__grid{grid-template-columns:300px 1fr!important;gap:72px!important;align-items:start!important}
body.tsg-layout-home .tsg-home-agenda__intro h2{color:#DA4816!important;font-size:46px!important}
body.tsg-layout-home .tsg-home-agenda__intro p{color:#3B1E7B!important;font-size:18px!important}
body.tsg-layout-home .tsg-event-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:34px!important}
body.tsg-layout-home .tsg-event-card__image{height:190px!important;border-radius:0!important;box-shadow:none!important}
body.tsg-layout-home .tsg-event-card h3{color:#3B1E7B!important}
body.tsg-layout-home .tsg-event-tag{background:#DA4816!important}

/* Footer de l'artboard : violet plein, barre blanche légale. */
body.tsg-xd-reference .tsg-footer{background:#3B1E7B!important;color:#fff!important}
body.tsg-xd-reference .tsg-footer__bottom{background:#fff!important;border-top:0!important;color:#DA4816!important}
body.tsg-xd-reference .tsg-footer__bottom a{color:#DA4816!important}

/* Légère animation d'entrée : elle ne change ni les couleurs ni la disposition source. */
body.tsg-layout-home.tsg-motion-enabled .tsg-hero__visual{animation:none!important;background-size:auto!important}
body.tsg-layout-home.tsg-motion-enabled .tsg-hero__visual:before{animation:none!important}
body.tsg-layout-home.tsg-motion-enabled .tsg-hero__visual img{animation:tsgXDMinaret .7s cubic-bezier(.2,.75,.25,1) both!important}
@keyframes tsgXDMinaret{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(2px)}}

@media(max-width:1120px){
  body.tsg-xd-reference .tsg-header__inner{height:98px;gap:24px}
  body.tsg-xd-reference .tsg-brand img{width:54px}
  body.tsg-layout-home .tsg-hero__grid{grid-template-columns:1fr!important;gap:28px!important}
  body.tsg-layout-home .tsg-hero__copy{height:auto!important;padding-top:28px!important;display:flex!important}
  body.tsg-layout-home .tsg-quicklinks{margin-top:42px!important;align-self:auto!important}
  body.tsg-layout-home .tsg-hero__visual{height:560px!important}
  body.tsg-layout-home .tsg-hero__visual img{max-height:554px!important}
  body.tsg-layout-home .tsg-services__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.tsg-layout-home .tsg-home-agenda__grid{grid-template-columns:1fr!important;gap:30px!important}
  body.tsg-layout-home .tsg-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:720px){
  body.tsg-xd-reference .tsg-container{width:calc(100% - 32px)}
  body.tsg-xd-reference .tsg-header__inner{height:104px;gap:12px}
  body.tsg-xd-reference .tsg-brand img{width:55px}
  body.tsg-layout-home .tsg-hero{padding-top:14px!important}
  body.tsg-layout-home .tsg-hero__copy{padding-top:8px!important}
  body.tsg-layout-home .tsg-hero h1{font-size:47px!important;line-height:1.02!important}
  body.tsg-layout-home .tsg-hero__copy>p{font-size:15px!important;line-height:1.6!important;margin-top:24px!important}
  body.tsg-layout-home .tsg-quicklinks{grid-template-columns:repeat(2,1fr)!important;border-radius:10px!important}
  body.tsg-layout-home .tsg-quicklinks a{min-height:70px!important;justify-content:flex-start!important;padding:14px 16px!important}
  body.tsg-layout-home .tsg-quicklinks a:nth-child(2):after{display:none!important}
  body.tsg-layout-home .tsg-hero__visual{height:430px!important}
  body.tsg-layout-home .tsg-hero__visual img{max-height:426px!important;max-width:100%!important}
  body.tsg-layout-home .tsg-services__grid{grid-template-columns:1fr!important;gap:14px!important}
  body.tsg-layout-home .tsg-service-card{min-height:430px!important}
  body.tsg-layout-home .tsg-service-card__copy{padding:28px 22px 8px!important}
  body.tsg-layout-home .tsg-service-card h2{font-size:27px!important}
  body.tsg-layout-home .tsg-service-card p{font-size:13px!important;max-width:340px!important}
  body.tsg-layout-home .tsg-service-card__art img{max-height:300px!important}
  body.tsg-layout-home .tsg-news-feature__inner{grid-template-columns:1fr!important}
  body.tsg-layout-home .tsg-news-feature__copy{padding:34px 28px 42px!important}
  body.tsg-layout-home .tsg-news-feature h2{font-size:38px!important}
  body.tsg-layout-home .tsg-event-grid{grid-template-columns:1fr!important;gap:28px!important}
}


/* V1.5.1 — arrondis globaux + couleurs pilotées depuis WordPress */
body.tsg-xd-reference .tsg-hero__visual,
body.tsg-xd-reference .tsg-content-hero__grid,
body.tsg-xd-reference .tsg-content-hero__media,
body.tsg-xd-reference .tsg-news-feature__inner,
body.tsg-xd-reference .tsg-news-card,
body.tsg-xd-reference .tsg-demarche-card,
body.tsg-xd-reference .tsg-info-card,
body.tsg-xd-reference .tsg-elected-card,
body.tsg-xd-reference .tsg-contact-card,
body.tsg-xd-reference .tsg-civil-card,
body.tsg-xd-reference .tsg-event-card,
body.tsg-xd-reference .tsg-procedure-card,
body.tsg-xd-reference .tsg-portal-table,
body.tsg-xd-reference .tsg-admin-panel{border-radius:var(--tsg-card-radius,28px)!important;overflow:hidden}
body.tsg-xd-reference .tsg-quicklinks{border-radius:var(--tsg-card-radius,28px)!important;background:linear-gradient(90deg,var(--tsg-quickbar-start,#DA4816) 0%,var(--tsg-quickbar-end,#3B1E7B) 100%)!important}
body.tsg-xd-reference .tsg-news-feature__inner{background:linear-gradient(102deg,var(--tsg-newsbar-start,#3B1E7B) 0%,var(--tsg-newsbar-end,#DA4816) 100%)!important}
body.tsg-xd-reference .tsg-footer{background:var(--tsg-footer-bg,#3B1E7B)!important}
body.tsg-layout-home .tsg-service-card{border-radius:var(--tsg-card-radius,28px)!important;overflow:hidden!important}
body.tsg-layout-home .tsg-service-card:nth-child(1){background:var(--tsg-service-card-1,#F3F3F3)!important}
body.tsg-layout-home .tsg-service-card:nth-child(2){background:var(--tsg-service-card-2,#F3F3F3)!important}
body.tsg-layout-home .tsg-service-card:nth-child(3){background:var(--tsg-service-card-3,#F3F3F3)!important}
body.tsg-layout-home .tsg-service-card:nth-child(4){background:var(--tsg-service-card-4,#F3F3F3)!important}
body.tsg-layout-home .tsg-service-card__art img,
body.tsg-xd-reference .tsg-news-card__image,
body.tsg-xd-reference .tsg-news-card__image img,
body.tsg-xd-reference .tsg-event-card__image,
body.tsg-xd-reference .tsg-event-card__image img,
body.tsg-xd-reference .tsg-content-hero__media img,
body.tsg-xd-reference .tsg-editor-content .wp-block-image img{border-radius:var(--tsg-image-radius,28px)!important}
body.tsg-xd-reference .tsg-procedure-catalog .tsg-procedure-card{background:var(--tsg-procedure-card-a,#F7F4FC)!important}
body.tsg-xd-reference .tsg-procedure-catalog .tsg-procedure-card:nth-child(even){background:var(--tsg-procedure-card-b,#F4F8F1)!important}
body.tsg-xd-reference .tsg-page-hero__line{border-radius:999px!important}
@media(max-width:760px){body.tsg-xd-reference .tsg-quicklinks,body.tsg-layout-home .tsg-service-card,body.tsg-xd-reference .tsg-news-feature__inner{border-radius:calc(var(--tsg-card-radius,28px) * .82)!important}}

/* V1.5.2 — Carte interactive de Tsingoni */
.tsg-explore-map{padding:var(--tsg-section-space,50px) 0 72px;background:linear-gradient(180deg,#fff 0%,#fcfbfe 100%)}
.tsg-explore-map__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:28px}
.tsg-explore-map__heading>div:first-child{max-width:720px}
.tsg-explore-map__eyebrow{display:inline-block;margin-bottom:10px;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--tsg-secondary)}
.tsg-explore-map__heading h2{margin:0;color:var(--tsg-primary);font-family:Poppins,Montserrat,sans-serif;font-size:clamp(34px,3vw,54px);line-height:1.05;font-weight:700}
.tsg-explore-map__heading p{margin:14px 0 0;color:#665d73;font-size:16px;line-height:1.7;max-width:670px}
.tsg-map-filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.tsg-map-filters button{appearance:none;border:1px solid rgba(59,30,123,.14);background:#fff;color:var(--tsg-primary);border-radius:999px;padding:10px 15px;font:600 13px Poppins,sans-serif;cursor:pointer;transition:.2s ease;min-height:42px}
.tsg-map-filters button:hover,.tsg-map-filters button.is-active{background:var(--tsg-primary);border-color:var(--tsg-primary);color:#fff;transform:translateY(-1px)}
.tsg-map-shell{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.5fr);gap:18px;align-items:stretch}
.tsg-map-detail,.tsg-map-canvas{border-radius:var(--tsg-card-radius,28px);overflow:hidden;min-width:0}
.tsg-map-detail{position:relative;display:flex;flex-direction:column;background:linear-gradient(155deg,var(--tsg-map-panel-start,#3B1E7B) 0%,#71305d 54%,var(--tsg-map-panel-end,#DA4816) 100%);color:#fff;box-shadow:0 20px 54px rgba(59,30,123,.12)}
.tsg-map-detail:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-80px;bottom:-90px;background:rgba(255,255,255,.08);pointer-events:none}
.tsg-map-detail__media{height:190px;overflow:hidden;background:rgba(255,255,255,.08)}
.tsg-map-detail__media img{width:100%;height:100%;object-fit:cover;display:block}
.tsg-map-detail__body{position:relative;z-index:1;display:flex;flex-direction:column;flex:1;padding:32px 34px 28px}
.tsg-map-detail__category{align-self:flex-start;border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:8px 13px;font-size:12px;font-weight:600;background:rgba(255,255,255,.08)}
.tsg-map-detail h3{margin:22px 0 12px;color:#fff;font:700 clamp(27px,2.3vw,38px)/1.08 Poppins,sans-serif}
.tsg-map-detail p{margin:0;color:rgba(255,255,255,.82);font-size:15px;line-height:1.7}
.tsg-map-detail__link{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;width:max-content;max-width:100%;padding:12px 12px 12px 17px;border-radius:999px;background:#fff;color:var(--tsg-primary);font-weight:700;text-decoration:none}
.tsg-map-detail__link span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--tsg-secondary);color:#fff}
.tsg-map-detail__nav{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:30px;color:rgba(255,255,255,.75);font-size:12px}
.tsg-map-detail__nav button{width:38px;height:38px;border:1px solid rgba(255,255,255,.38);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;font-size:17px}
.tsg-map-detail__nav button:hover{background:#fff;color:var(--tsg-primary)}
.tsg-map-detail__nav span{margin:0 2px}
.tsg-map-canvas{position:relative;background:#fff;border:1px solid rgba(59,30,123,.08);box-shadow:0 20px 54px rgba(30,20,50,.07);min-height:520px;padding:20px}
.tsg-map-canvas:after{content:"";position:absolute;width:290px;height:290px;border-radius:50%;right:-65px;top:-72px;background:rgba(218,72,22,.045);pointer-events:none}
.tsg-map-canvas__label{position:absolute;z-index:4;left:26px;top:22px;background:rgba(255,255,255,.9);backdrop-filter:blur(7px);border:1px solid rgba(59,30,123,.08);box-shadow:0 8px 25px rgba(59,30,123,.07);padding:9px 12px;border-radius:10px;color:var(--tsg-primary);font-size:12px;font-weight:700}
.tsg-map-canvas__label small{font-weight:500;color:var(--tsg-secondary);margin-left:4px}
.tsg-map-controls{position:absolute;z-index:5;right:24px;top:20px;display:flex;flex-direction:column;gap:7px}
.tsg-map-controls button{width:38px;height:38px;border-radius:50%;border:1px solid rgba(59,30,123,.14);background:#fff;color:var(--tsg-primary);font-size:20px;font-weight:600;cursor:pointer;box-shadow:0 6px 16px rgba(59,30,123,.08)}
.tsg-map-controls button:hover{background:var(--tsg-primary);color:#fff}
.tsg-map-viewport{height:455px;overflow:hidden;border-radius:calc(var(--tsg-card-radius,28px) - 8px);display:grid;place-items:center;background:radial-gradient(circle at 88% 18%,rgba(218,72,22,.055),transparent 32%),#fff}
.tsg-map-stage{position:relative;width:min(100%,900px);transform-origin:center center;transition:transform .28s cubic-bezier(.2,.75,.25,1)}
.tsg-map-shape{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 24px rgba(59,30,123,.05))}
.tsg-map-shape path{fill:var(--tsg-map-fill,#F9E9E3);stroke:rgba(218,72,22,.08);stroke-width:2}
.tsg-map-marker{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:5px;border:0;background:transparent;color:var(--tsg-primary);cursor:pointer;z-index:3;padding:3px;min-width:88px}
.tsg-map-marker span{position:relative;width:26px;height:26px;border:8px solid var(--marker-accent,var(--tsg-map-marker,#3B1E7B));background:#fff;border-radius:50%;box-shadow:0 6px 16px rgba(59,30,123,.2);transition:.2s ease}
.tsg-map-marker span:after{content:"";position:absolute;inset:-13px;border:2px solid var(--marker-accent,var(--tsg-map-marker,#3B1E7B));border-radius:50%;opacity:0;transform:scale(.65)}
.tsg-map-marker b{padding:3px 7px;border-radius:7px;background:rgba(255,255,255,.84);box-shadow:0 3px 8px rgba(255,255,255,.5);font-size:12px;line-height:1.2;text-align:center;white-space:nowrap;color:var(--marker-accent,var(--tsg-primary))}
.tsg-map-marker:hover span,.tsg-map-marker.is-active span{transform:scale(1.14)}
.tsg-map-marker.is-active span:after{opacity:.42;animation:tsgMapPulse 1.65s ease-out infinite}
@keyframes tsgMapPulse{0%{transform:scale(.7);opacity:.5}75%,100%{transform:scale(1.45);opacity:0}}
.tsg-map-legend{position:absolute;left:26px;right:26px;bottom:18px;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:15px;color:#6e6676;font-size:11px}
.tsg-map-legend span{display:flex;align-items:center;gap:7px}.tsg-map-legend i{width:9px;height:9px;border-radius:50%;background:var(--tsg-map-marker)}
.tsg-map-place-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.tsg-map-place{appearance:none;text-align:left;border:1px solid rgba(59,30,123,.1);background:#fff;border-radius:18px;padding:16px 17px;cursor:pointer;min-width:0;transition:.2s ease;box-shadow:0 7px 24px rgba(59,30,123,.04)}
.tsg-map-place:before{content:"";display:block;width:34px;height:3px;border-radius:999px;background:var(--place-accent,var(--tsg-primary));margin-bottom:12px}
.tsg-map-place span{display:block;color:#8a8190;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.tsg-map-place strong{display:block;color:var(--tsg-primary);font-size:14px;line-height:1.35;margin:4px 0 8px}
.tsg-map-place small{color:var(--tsg-secondary);font-size:11px;font-weight:600}
.tsg-map-place:hover,.tsg-map-place.is-active{border-color:var(--place-accent,var(--tsg-primary));transform:translateY(-2px);box-shadow:0 12px 28px rgba(59,30,123,.08)}
.tsg-map-marker[hidden],.tsg-map-place[hidden]{display:none!important}
@media(max-width:1050px){.tsg-explore-map__heading{align-items:flex-start;flex-direction:column}.tsg-map-filters{justify-content:flex-start}.tsg-map-shell{grid-template-columns:1fr}.tsg-map-detail{min-height:330px}.tsg-map-detail__media{height:230px}.tsg-map-canvas{min-height:500px}.tsg-map-place-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.tsg-explore-map{padding:38px 0 52px}.tsg-explore-map__heading{margin-bottom:18px}.tsg-map-filters{gap:6px;overflow-x:auto;flex-wrap:nowrap;width:100%;padding-bottom:4px}.tsg-map-filters button{white-space:nowrap}.tsg-map-detail__body{padding:26px 23px 22px}.tsg-map-detail__media{height:190px}.tsg-map-canvas{padding:12px;min-height:410px}.tsg-map-viewport{height:380px}.tsg-map-canvas__label{left:16px;top:15px}.tsg-map-controls{right:16px;top:14px}.tsg-map-marker b{font-size:9px;max-width:105px;white-space:normal}.tsg-map-marker span{width:22px;height:22px;border-width:7px}.tsg-map-legend{left:16px;right:16px;bottom:12px}.tsg-map-legend small{display:none}.tsg-map-place-list{grid-template-columns:1fr 1fr;gap:8px}.tsg-map-place{padding:13px}.tsg-map-place strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.tsg-map-marker.is-active span:after{animation:none}.tsg-map-stage,.tsg-map-place,.tsg-map-marker span{transition:none}}

/* ==========================================================
   V1.6.0 — Carte immersive / navigation municipale
   Nouveau design indépendant de l'ancienne carte illustrative
   ========================================================== */
.tsg-map360{--map-a:var(--tsg-map-panel-start,#3B1E7B);--map-b:var(--tsg-map-panel-end,#DA4816);--map-pin:var(--tsg-map-marker,#3B1E7B);padding:calc(var(--tsg-section-space,50px) + 14px) 0 82px;background:linear-gradient(180deg,#fff 0%,#fbfafc 52%,#fff 100%)}
.tsg-map360__heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);gap:32px;align-items:end;margin-bottom:26px}
.tsg-map360__heading>div:first-child{max-width:790px}
.tsg-map360__eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--tsg-secondary);font:700 12px/1 Poppins,sans-serif;letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px}
.tsg-map360__eyebrow:before{content:"";width:30px;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--map-b),var(--map-a))}
.tsg-map360__heading h2{margin:0;color:var(--tsg-primary);font:700 clamp(36px,3.5vw,58px)/1.04 Poppins,sans-serif;letter-spacing:-.035em}
.tsg-map360__heading p{max-width:760px;margin:14px 0 0;color:#665d73;font-size:16px;line-height:1.72}
.tsg-map360__hint{justify-self:end;align-self:end;display:flex;gap:10px;align-items:center;padding:12px 14px;border:1px solid rgba(59,30,123,.10);border-radius:16px;background:#fff;color:#71687c;font-size:12px;line-height:1.45;box-shadow:0 12px 34px rgba(59,30,123,.05)}
.tsg-map360__hint span{width:10px;height:10px;border-radius:50%;background:var(--tsg-green,#8FAF74);box-shadow:0 0 0 6px rgba(143,175,116,.14);flex:0 0 auto}
.tsg-map360__frame{position:relative;isolation:isolate;height:clamp(590px,63vw,760px);min-height:590px;border-radius:34px;overflow:hidden;background:#e9ecef;border:1px solid rgba(59,30,123,.10);box-shadow:0 30px 90px rgba(35,25,55,.12)}
.tsg-map360__frame:before{content:"";position:absolute;inset:0;z-index:20;pointer-events:none;border:1px solid rgba(255,255,255,.55);border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.tsg-map360__map{position:absolute;inset:0;z-index:1;background:#e7ece4}
.tsg-map360 .leaflet-container{font-family:Poppins,Montserrat,sans-serif;background:#e7ece4}
.tsg-map360 .leaflet-control-container .leaflet-top,.tsg-map360 .leaflet-control-container .leaflet-bottom{z-index:450}
.tsg-map360 .leaflet-control-zoom{display:none}
.tsg-map360 .leaflet-control-attribution{display:none}
.tsg-map360 .leaflet-tile-pane{filter:saturate(.9) contrast(.98)}
.tsg-map360__topbar{position:absolute;z-index:550;left:22px;right:22px;top:20px;display:flex;align-items:center;justify-content:space-between;gap:14px;pointer-events:none}
.tsg-map360__search,.tsg-map360__view{pointer-events:auto}
.tsg-map360__search{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr) 34px;align-items:center;width:min(520px,64%);height:54px;padding:0 10px 0 15px;border-radius:18px;background:rgba(255,255,255,.92);border:1px solid rgba(59,30,123,.10);box-shadow:0 15px 42px rgba(31,21,46,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.tsg-map360__search>span{font-size:22px;color:var(--map-a);transform:translateY(-1px)}
.tsg-map360__search input{min-width:0;width:100%;height:100%;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:#281f38;font:500 14px/1 Poppins,sans-serif;padding:0 10px!important}
.tsg-map360__search input::placeholder{color:#928a9d}
.tsg-map360__search>button{width:32px;height:32px;border:0;border-radius:50%;background:rgba(59,30,123,.07);color:var(--map-a);font-size:20px;cursor:pointer}
.tsg-map360__results{position:absolute;left:0;right:0;top:62px;padding:8px;border-radius:18px;background:rgba(255,255,255,.97);border:1px solid rgba(59,30,123,.08);box-shadow:0 20px 52px rgba(31,21,46,.15);backdrop-filter:blur(18px);max-height:300px;overflow:auto}
.tsg-map360__results button{width:100%;display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center;text-align:left;border:0;background:transparent;border-radius:12px;padding:10px;cursor:pointer;color:#30253f}
.tsg-map360__results button:hover,.tsg-map360__results button:focus-visible{background:#f6f2fb;outline:none}
.tsg-map360__results i{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--result-accent,#3B1E7B) 12%,white);color:var(--result-accent,#3B1E7B);font-style:normal;font-weight:800}
.tsg-map360__results strong{display:block;font-size:13px}.tsg-map360__results small{display:block;margin-top:2px;color:#8b8294;font-size:11px}
.tsg-map360__view{display:flex;align-items:center;gap:4px;padding:5px;border-radius:16px;background:rgba(28,24,34,.78);border:1px solid rgba(255,255,255,.16);box-shadow:0 15px 42px rgba(19,14,26,.18);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.tsg-map360__view button{border:0;background:transparent;color:rgba(255,255,255,.78);padding:10px 13px;border-radius:11px;font:600 11px/1 Poppins,sans-serif;cursor:pointer;transition:.18s ease}
.tsg-map360__view button.is-active{background:#fff;color:#2c223b;box-shadow:0 5px 14px rgba(0,0,0,.12)}
.tsg-map360__controls{position:absolute;z-index:550;right:22px;top:92px;display:flex;flex-direction:column;gap:8px}
.tsg-map360__controls button{width:46px;height:46px;border:1px solid rgba(59,30,123,.10);border-radius:15px;background:rgba(255,255,255,.94);color:var(--tsg-primary);display:grid;place-items:center;font:700 20px/1 Poppins,sans-serif;cursor:pointer;box-shadow:0 12px 28px rgba(31,21,46,.11);backdrop-filter:blur(14px);transition:.18s ease}
.tsg-map360__controls button:hover{transform:translateY(-2px);background:var(--tsg-primary);color:#fff}
.tsg-map360__controls button.is-active{background:var(--tsg-secondary);color:#fff}
.tsg-map360__legend{position:absolute;z-index:550;left:22px;bottom:22px;display:flex;gap:7px;align-items:center;max-width:calc(100% - 44px);padding:7px;border-radius:18px;background:rgba(255,255,255,.91);border:1px solid rgba(59,30,123,.09);box-shadow:0 14px 40px rgba(31,21,46,.13);backdrop-filter:blur(18px);overflow-x:auto;scrollbar-width:none}
.tsg-map360__legend::-webkit-scrollbar{display:none}
.tsg-map360__legend button{display:flex;align-items:center;gap:7px;white-space:nowrap;border:0;background:transparent;color:#665c71;border-radius:12px;padding:7px 10px;font:600 11px/1 Poppins,sans-serif;cursor:pointer;transition:.18s ease}
.tsg-map360__legend button:hover{background:#f5f1f9;color:var(--tsg-primary)}
.tsg-map360__legend button.is-active{background:#241a32;color:#fff}
.tsg-map360__legend i{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--legend,#3B1E7B) 12%,white);border:1px solid color-mix(in srgb,var(--legend,#3B1E7B) 18%,white);color:var(--legend,#3B1E7B);font-style:normal;font-weight:800;transition:.18s ease}
.tsg-map360__legend button.is-active i{background:var(--legend,#3B1E7B);color:#fff;border-color:transparent}
.tsg-map360__zoom-status{position:absolute;z-index:540;left:50%;bottom:88px;transform:translateX(-50%);padding:8px 12px;border-radius:999px;background:rgba(28,24,34,.78);color:#fff;font-size:10px;letter-spacing:.01em;backdrop-filter:blur(12px);opacity:.92;pointer-events:none;transition:.2s ease}
.tsg-map360__spotlight{position:absolute;z-index:560;left:22px;top:92px;width:min(370px,calc(100% - 100px));max-height:calc(100% - 190px);overflow:auto;border-radius:26px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.64);box-shadow:0 24px 65px rgba(31,21,46,.18);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);animation:tsgSpotIn .28s ease both}
@keyframes tsgSpotIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.tsg-map360__spotlight[hidden]{display:none}
.tsg-map360__close{position:absolute;right:12px;top:12px;z-index:2;width:34px;height:34px;border:0;border-radius:50%;background:rgba(24,18,32,.72);color:#fff;font-size:19px;cursor:pointer}
.tsg-map360__photo{height:160px;overflow:hidden;background:#ece8f1}.tsg-map360__photo img{width:100%;height:100%;object-fit:cover;display:block}
.tsg-map360__content{padding:22px 22px 20px}
.tsg-map360__category{display:inline-flex;padding:7px 10px;border-radius:999px;background:color-mix(in srgb,var(--spot-accent,#3B1E7B) 10%,white);color:var(--spot-accent,#3B1E7B);font:700 10px/1 Poppins,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.tsg-map360__spotlight h3{margin:12px 0 8px;color:#21182e;font:700 24px/1.1 Poppins,sans-serif;letter-spacing:-.025em}
.tsg-map360__spotlight p{margin:0;color:#6c6375;font-size:13px;line-height:1.65}
.tsg-map360__meta{display:flex;align-items:flex-start;gap:8px;margin-top:12px;color:#5f566a;font-size:12px;line-height:1.45}.tsg-map360__meta>span:first-child{color:var(--spot-accent,#3B1E7B);font-weight:700}.tsg-map360__meta a{color:inherit;text-decoration:none}
.tsg-map360__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.tsg-map360__action{min-height:42px;display:flex;align-items:center;justify-content:center;border-radius:13px;text-decoration:none!important;font:700 11px/1 Poppins,sans-serif;transition:.18s ease}
.tsg-map360__action.is-google{background:#23202a;color:#fff}.tsg-map360__action.is-waze{background:#eaf9ff;color:#117a9f;border:1px solid #d2eef8}.tsg-map360__action.is-more{grid-column:1/-1;background:linear-gradient(90deg,var(--map-a),var(--map-b));color:#fff}
.tsg-map360__action:hover{transform:translateY(-1px);filter:saturate(1.08)}
.tsg-map360__attribution{position:absolute;z-index:530;right:20px;bottom:6px;font-size:8px;color:rgba(44,34,55,.58);background:rgba(255,255,255,.72);padding:3px 6px;border-radius:5px;pointer-events:none}
.tsg-map-pin{position:relative;width:36px;height:36px;border-radius:13px 13px 13px 5px;transform:rotate(-45deg);background:var(--pin,var(--map-pin,#3B1E7B));border:3px solid #fff;box-shadow:0 9px 22px rgba(30,20,45,.24);display:grid;place-items:center;transition:.2s ease}
.tsg-map-pin>span{transform:rotate(45deg);color:#fff;font:800 13px/1 Poppins,sans-serif}
.tsg-map-pin.is-service{width:30px;height:30px;border-radius:50%;transform:none;border-width:2px}.tsg-map-pin.is-service>span{transform:none;font-size:11px}
.tsg-map-marker-wrap{background:transparent!important;border:0!important}
.tsg-map-marker-wrap.is-selected .tsg-map-pin{transform:rotate(-45deg) scale(1.16);box-shadow:0 0 0 8px color-mix(in srgb,var(--pin,var(--map-pin,#3B1E7B)) 18%,transparent),0 12px 28px rgba(30,20,45,.28)}
.tsg-map-marker-wrap.is-service.is-selected .tsg-map-pin{transform:scale(1.18)}
.tsg-map360 .leaflet-tooltip.tsg-map-tooltip{border:0;border-radius:10px;background:rgba(31,24,41,.88);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18);padding:7px 9px;font:600 10px/1.2 Poppins,sans-serif}
.tsg-map360 .leaflet-tooltip-top:before{border-top-color:rgba(31,24,41,.88)}
.tsg-map360__frame.is-focus{position:fixed;inset:14px;z-index:999999;height:auto;border-radius:28px}
body.tsg-map-focus-open{overflow:hidden}
@media (max-width:980px){
 .tsg-map360__heading{grid-template-columns:1fr}.tsg-map360__hint{justify-self:start}
 .tsg-map360__frame{height:680px}.tsg-map360__view{display:none}.tsg-map360__search{width:min(620px,calc(100% - 70px))}
}
@media (max-width:720px){
 .tsg-map360{padding:38px 0 58px}.tsg-map360__heading{gap:18px;margin-bottom:20px}.tsg-map360__heading h2{font-size:34px}.tsg-map360__hint{font-size:11px}
 .tsg-map360__frame{height:690px;min-height:690px;border-radius:26px}
 .tsg-map360__topbar{left:12px;right:12px;top:12px}.tsg-map360__search{width:100%;height:50px;border-radius:16px}.tsg-map360__controls{right:12px;top:76px;gap:6px}.tsg-map360__controls button{width:42px;height:42px;border-radius:13px}
 .tsg-map360__spotlight{left:12px;right:12px;top:auto;bottom:76px;width:auto;max-height:330px;border-radius:22px}.tsg-map360__photo{height:110px}.tsg-map360__content{padding:18px}.tsg-map360__spotlight h3{font-size:21px}
 .tsg-map360__legend{left:12px;right:12px;bottom:12px;max-width:none;border-radius:15px}.tsg-map360__legend button{padding:6px 8px}.tsg-map360__legend button span{display:none}.tsg-map360__legend button:first-child span{display:inline}
 .tsg-map360__zoom-status{bottom:70px;font-size:9px}.tsg-map360__attribution{display:none}
 .tsg-map360__actions{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){.tsg-map360 *{animation:none!important;transition:none!important}}

/* =========================================================
   V1.6.1 — Carrousel premium de l'accueil
   ========================================================= */
.tsg-showcase{position:relative;overflow:hidden;margin-top:var(--tsg-section-space);background:linear-gradient(135deg,var(--tsg-showcase-start,#2B155C) 0%,#22104e 48%,var(--tsg-showcase-end,#3B1E7B) 100%);color:#fff;padding:78px 0 66px;isolation:isolate}
.tsg-showcase:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 44%,rgba(255,255,255,.095),transparent 34%),linear-gradient(120deg,transparent 0 48%,rgba(255,255,255,.025) 48% 49%,transparent 49% 100%);pointer-events:none;z-index:-1}
.tsg-showcase__glow{position:absolute;border-radius:999px;filter:blur(2px);opacity:.6;z-index:-1;pointer-events:none}
.tsg-showcase__glow--one{width:430px;height:430px;right:-150px;top:-170px;background:radial-gradient(circle,rgba(218,72,22,.34),rgba(218,72,22,0) 68%)}
.tsg-showcase__glow--two{width:380px;height:380px;left:-160px;bottom:-190px;background:radial-gradient(circle,rgba(143,175,116,.25),rgba(143,175,116,0) 68%)}
.tsg-showcase__inner{position:relative}
.tsg-showcase__heading{text-align:center;max-width:850px;margin:0 auto 34px;padding:0 20px}
.tsg-showcase__eyebrow{display:inline-flex;align-items:center;gap:9px;font:600 12px/1 Poppins,sans-serif;letter-spacing:.17em;color:#fff;text-transform:uppercase;margin-bottom:14px}
.tsg-showcase__eyebrow:before{content:"";width:28px;height:2px;border-radius:10px;background:var(--tsg-showcase-accent,#DA4816)}
.tsg-showcase__heading h2{margin:0;font:700 clamp(36px,4.5vw,68px)/.98 Montserrat,Poppins,sans-serif;letter-spacing:-.04em;color:#fff}
.tsg-showcase__heading p{max-width:690px;margin:18px auto 0;font:400 clamp(15px,1.35vw,19px)/1.6 Poppins,sans-serif;color:rgba(255,255,255,.75)}
.tsg-showcase__stage{position:relative;height:610px;outline:none}
.tsg-showcase__stage:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:6px;border-radius:28px}
.tsg-showcase__viewport{position:absolute;inset:0;overflow:hidden;perspective:1400px}
.tsg-showcase-card{--slot:0;--card-scale:.58;--card-opacity:0;position:absolute;left:50%;top:50%;width:clamp(220px,20.5vw,336px);text-decoration:none;color:#fff;transform:translate(calc(-50% + (var(--slot) * clamp(238px,23vw,392px))),-50%) scale(var(--card-scale));transform-origin:center center;opacity:var(--card-opacity);transition:transform .64s cubic-bezier(.2,.75,.2,1),opacity .5s ease,filter .5s ease;filter:saturate(.72) brightness(.72);z-index:1;pointer-events:none;will-change:transform,opacity}
.tsg-showcase-card.is-active{--card-scale:1;--card-opacity:1;filter:none;z-index:5;pointer-events:auto}
.tsg-showcase-card.is-near{--card-scale:.82;--card-opacity:.62;filter:saturate(.72) brightness(.76);z-index:3;pointer-events:auto}
.tsg-showcase-card.is-far{--card-scale:.68;--card-opacity:.28;filter:saturate(.55) brightness(.62);z-index:2;pointer-events:auto}
.tsg-showcase-card.is-hidden{--card-opacity:0;pointer-events:none}
.tsg-showcase-card__media{position:relative;aspect-ratio:3/4.15;border-radius:calc(var(--tsg-card-radius) + 2px);overflow:hidden;background:#f3f3f3;box-shadow:0 22px 55px rgba(8,3,25,.38);border:1px solid rgba(255,255,255,.16);transition:box-shadow .35s ease,border-color .35s ease,transform .35s ease}
.tsg-showcase-card.is-active .tsg-showcase-card__media{border:4px solid rgba(255,255,255,.9);box-shadow:0 30px 70px rgba(8,3,25,.48),0 0 0 2px color-mix(in srgb,var(--tsg-showcase-accent,#DA4816) 68%,transparent)}
.tsg-showcase-card__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 50%,rgba(13,5,34,.58) 100%);pointer-events:none}
.tsg-showcase-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease}
.tsg-showcase-card:hover .tsg-showcase-card__media img{transform:scale(1.035)}
.tsg-showcase-card__tag{position:absolute;left:16px;top:16px;z-index:2;display:inline-flex;align-items:center;min-height:29px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.9);color:var(--tsg-primary);font:700 10px/1 Poppins,sans-serif;letter-spacing:.09em;box-shadow:0 8px 20px rgba(0,0,0,.1)}
.tsg-showcase-card__open{position:absolute;right:15px;bottom:15px;z-index:2;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--tsg-showcase-accent,#DA4816);color:#fff;font:600 22px/1 Poppins,sans-serif;box-shadow:0 10px 26px rgba(0,0,0,.24);transform:translateY(5px);opacity:0;transition:opacity .3s ease,transform .3s ease}
.tsg-showcase-card.is-active .tsg-showcase-card__open{opacity:1;transform:none}
.tsg-showcase-card__meta{text-align:center;padding:18px 12px 0;transition:opacity .35s ease}
.tsg-showcase-card__meta h3{margin:0;color:#fff;font:700 clamp(20px,2vw,31px)/1.05 Montserrat,Poppins,sans-serif;letter-spacing:-.03em;text-wrap:balance}
.tsg-showcase-card__meta p{margin:10px 0 0;color:rgba(255,255,255,.67);font:400 13px/1.5 Poppins,sans-serif;min-height:40px}
.tsg-showcase-card:not(.is-active) .tsg-showcase-card__meta h3{font-size:20px;color:rgba(255,255,255,.74)}
.tsg-showcase-card:not(.is-active) .tsg-showcase-card__meta p{color:rgba(255,255,255,.38)}
.tsg-showcase__arrow{position:absolute;top:48%;z-index:9;width:54px;height:54px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(20,8,54,.75);backdrop-filter:blur(10px);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 16px 30px rgba(6,2,20,.25);transition:background .25s ease,transform .25s ease,border-color .25s ease}
.tsg-showcase__arrow span{font:300 40px/1 Montserrat,sans-serif;transform:translateY(-2px)}
.tsg-showcase__arrow.is-prev{left:calc(50% - clamp(230px,20vw,370px))}
.tsg-showcase__arrow.is-next{right:calc(50% - clamp(230px,20vw,370px))}
.tsg-showcase__arrow:hover{background:var(--tsg-showcase-accent,#DA4816);border-color:transparent;transform:scale(1.06)}
.tsg-showcase__arrow:focus-visible,.tsg-showcase__dots button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.tsg-showcase__footer{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:-4px;position:relative;z-index:10}
.tsg-showcase__dots{display:flex;align-items:center;gap:8px}
.tsg-showcase__dots button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.32);cursor:pointer;transition:width .25s ease,background .25s ease}
.tsg-showcase__dots button.is-active{width:28px;background:var(--tsg-showcase-accent,#DA4816)}
.tsg-showcase__hint{font:500 11px/1.2 Poppins,sans-serif;color:rgba(255,255,255,.5);letter-spacing:.03em}.tsg-showcase__hint span{color:#fff}
@media(max-width:1100px){.tsg-showcase__stage{height:560px}.tsg-showcase-card{width:clamp(215px,30vw,310px);transform:translate(calc(-50% + (var(--slot) * clamp(205px,31vw,330px))),-50%) scale(var(--card-scale))}.tsg-showcase__arrow.is-prev{left:8%}.tsg-showcase__arrow.is-next{right:8%}}
@media(max-width:767px){.tsg-showcase{padding:58px 0 48px}.tsg-showcase__heading{margin-bottom:16px;padding:0 18px}.tsg-showcase__heading h2{font-size:38px}.tsg-showcase__heading p{font-size:14px}.tsg-showcase__stage{height:520px}.tsg-showcase-card{width:min(72vw,290px);transform:translate(calc(-50% + (var(--slot) * 71vw)),-50%) scale(var(--card-scale))}.tsg-showcase-card.is-near{--card-scale:.72;--card-opacity:.34}.tsg-showcase-card.is-far{--card-opacity:0;pointer-events:none}.tsg-showcase__arrow{width:46px;height:46px;top:46%}.tsg-showcase__arrow.is-prev{left:12px}.tsg-showcase__arrow.is-next{right:12px}.tsg-showcase-card__meta h3{font-size:23px}.tsg-showcase-card__meta p{font-size:12px;min-height:36px}.tsg-showcase__footer{margin-top:-8px;flex-direction:column;gap:12px}.tsg-showcase__hint{display:none}}
@media(prefers-reduced-motion:reduce){.tsg-showcase-card,.tsg-showcase-card__media img,.tsg-showcase__arrow,.tsg-showcase-card__open{transition:none!important}}

/* ============================================================
   V1.6.2 — Actualités arrondies + carte annuaire premium Tsingoni
   ============================================================ */
/* Actualités : le conteneur complet est désormais arrondi, pas seulement les images. */
.tsg-news-feature__inner{
  border-radius:36px!important;
  overflow:hidden!important;
  box-shadow:0 24px 70px rgba(48,25,76,.13);
}
.tsg-news-feature__art{overflow:hidden}
.tsg-news-grid{align-items:stretch}
.tsg-news-card{
  border-radius:30px!important;
  overflow:hidden!important;
  box-shadow:0 16px 44px rgba(41,26,64,.08);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.tsg-news-card:hover{transform:translateY(-4px);box-shadow:0 24px 58px rgba(41,26,64,.13);border-color:rgba(59,30,123,.14)}
.tsg-news-card__image{border-radius:0!important}
.tsg-news-card__body{border-radius:0 0 30px 30px}
.tsg-content-hero--article .tsg-content-hero__grid{border-radius:34px!important;overflow:hidden}

/* Carte : grand panneau type dashboard, inspiré de la référence fournie. */
.tsg-map360{padding:calc(var(--tsg-section-space,50px) + 14px) 0 82px;background:#fff}
.tsg-map360__heading{margin-bottom:24px}
.tsg-map360__board{
  padding:14px 14px 18px;
  border-radius:40px;
  background:linear-gradient(145deg,#17151b 0%,#201a28 56%,#18151d 100%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 30px 90px rgba(34,22,51,.16);
  color:#fff;
}
.tsg-map360__frame{
  height:clamp(430px,46vw,560px);
  min-height:430px;
  border-radius:27px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:none;
  background:#242c35;
}
.tsg-map360__frame:before{border-color:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.tsg-map360__topbar{
  display:grid;
  grid-template-columns:auto minmax(260px,480px) auto;
  align-items:center;
  gap:10px;
}
.tsg-map360__map-brand{
  pointer-events:none;
  display:flex;align-items:center;gap:10px;
  min-height:48px;padding:7px 12px;
  border-radius:15px;
  background:rgba(24,20,30,.76);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 12px 30px rgba(0,0,0,.16);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)
}
.tsg-map360__map-brand>i{width:9px;height:9px;border-radius:50%;background:var(--tsg-secondary);box-shadow:0 0 0 5px rgba(218,72,22,.15)}
.tsg-map360__map-brand span{display:flex;flex-direction:column;gap:2px;min-width:0}
.tsg-map360__map-brand strong{font:700 10px/1.1 Poppins,sans-serif;color:#fff;letter-spacing:.01em;white-space:nowrap}
.tsg-map360__map-brand small{font:500 8px/1.1 Poppins,sans-serif;color:rgba(255,255,255,.58);white-space:nowrap}
.tsg-map360__search{width:auto;background:rgba(255,255,255,.94)}
.tsg-map360__view{justify-self:end}
.tsg-map360__controls button{background:rgba(27,23,33,.90);color:#fff;border-color:rgba(255,255,255,.12);box-shadow:0 10px 26px rgba(0,0,0,.16)}
.tsg-map360__controls button:hover{background:var(--tsg-secondary)}
.tsg-map360__legend{background:rgba(25,21,31,.88);border-color:rgba(255,255,255,.10)}
.tsg-map360__legend button{color:rgba(255,255,255,.72)}
.tsg-map360__legend button:hover{background:rgba(255,255,255,.09);color:#fff}
.tsg-map360__legend button.is-active{background:linear-gradient(90deg,var(--tsg-primary),#5a2d8d);color:#fff}
.tsg-map360__zoom-status{background:rgba(18,15,22,.84)}
.tsg-map360__attribution{background:rgba(20,17,25,.72);color:rgba(255,255,255,.55)}

/* Répertoire sous la carte */
.tsg-map360__directory{padding:18px 0 2px}
.tsg-map360__directory-head{
  display:grid;
  grid-template-columns:minmax(180px,250px) minmax(180px,250px) 1fr;
  gap:14px;
  align-items:end;
  padding:0 0 12px;
}
.tsg-map360__directory-head label{display:flex;flex-direction:column;gap:7px}
.tsg-map360__directory-head label>span{font:700 9px/1 Poppins,sans-serif;letter-spacing:.09em;color:rgba(255,255,255,.55)}
.tsg-map360__directory-head select{
  min-height:42px;padding:0 38px 0 13px;
  border-radius:12px;border:1px solid rgba(255,255,255,.10);
  background:#201c24;color:#fff;
  font:500 11px/1 Poppins,sans-serif;
  outline:none
}
.tsg-map360__directory-count{justify-self:end;align-self:center;color:rgba(255,255,255,.52);font:600 10px/1 Poppins,sans-serif}
.tsg-map360__place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tsg-map360__place-card{
  min-width:0;min-height:94px;
  display:grid;grid-template-columns:42px minmax(0,1fr) 30px;align-items:center;gap:11px;
  text-align:left;padding:15px 16px;
  border:1px solid rgba(255,255,255,.10);border-radius:18px;
  background:rgba(255,255,255,.025);color:#fff;
  cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.tsg-map360__place-card:hover,.tsg-map360__place-card:focus-visible{
  transform:translateY(-2px);outline:none;background:rgba(255,255,255,.065);border-color:rgba(255,255,255,.18);box-shadow:0 12px 30px rgba(0,0,0,.13)
}
.tsg-map360__place-card.is-selected{border-color:color-mix(in srgb,var(--tsg-secondary) 65%,white);background:linear-gradient(135deg,rgba(59,30,123,.25),rgba(218,72,22,.13))}
.tsg-map360__place-dot{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--place-accent,#3B1E7B) 24%,#201c24);color:#fff;font:800 13px/1 Poppins,sans-serif;border:1px solid color-mix(in srgb,var(--place-accent,#3B1E7B) 50%,transparent)}
.tsg-map360__place-copy{min-width:0;display:block}
.tsg-map360__place-copy strong{display:block;color:#fff;font:700 12px/1.25 Poppins,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tsg-map360__place-copy small{display:block;margin-top:5px;color:rgba(255,255,255,.48);font:500 9px/1.35 Poppins,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tsg-map360__place-arrow{justify-self:end;color:rgba(255,255,255,.35);font-size:18px;transition:.18s ease}
.tsg-map360__place-card:hover .tsg-map360__place-arrow,.tsg-map360__place-card.is-selected .tsg-map360__place-arrow{color:var(--tsg-secondary);transform:translateX(2px)}
.tsg-map360__place-card[hidden]{display:none!important}

@media (max-width:1100px){
  .tsg-map360__topbar{grid-template-columns:auto minmax(220px,1fr)}
  .tsg-map360__view{display:none}
  .tsg-map360__place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .tsg-news-feature__inner{border-radius:26px!important}
  .tsg-news-card{border-radius:24px!important}
  .tsg-map360__board{padding:9px 9px 14px;border-radius:28px}
  .tsg-map360__frame{height:510px;min-height:510px;border-radius:21px}
  .tsg-map360__topbar{grid-template-columns:1fr;left:11px;right:11px;top:11px}
  .tsg-map360__map-brand{width:max-content;max-width:calc(100% - 60px)}
  .tsg-map360__search{width:100%;height:48px}
  .tsg-map360__controls{top:74px;right:11px}
  .tsg-map360__directory{padding-top:15px}
  .tsg-map360__directory-head{grid-template-columns:1fr 1fr;gap:9px}
  .tsg-map360__directory-count{grid-column:1/-1;justify-self:start;padding-left:2px}
  .tsg-map360__directory-head select{width:100%;min-height:44px}
  .tsg-map360__place-grid{grid-template-columns:1fr;gap:9px}
  .tsg-map360__place-card{min-height:80px;border-radius:16px;padding:12px 13px}
}
@media (prefers-reduced-motion:reduce){.tsg-news-card,.tsg-map360__place-card,.tsg-map360__place-arrow{transition:none!important}}

/* V1.6.4 — état actif plus lisible pour la légende cartographique */
.tsg-map360__legend button[aria-pressed="true"]{box-shadow:0 0 0 3px rgba(255,255,255,.12),0 8px 22px rgba(0,0,0,.12)}
.tsg-map360__legend button.is-active{transform:translateY(-1px)}

/* V1.6.5 — build interne 20260914-165 : cohérence de version et cache assets. */

/* V1.6.7 — correction ciblée : conteneur "Tsingoni à la une" uniquement.
   Le bloc est désormais aligné sur la largeur des autres grands conteneurs de l'accueil,
   plus compact verticalement, sans modifier le fonctionnement du carrousel ni le contenu des cartes. */
body.tsg-layout-home .tsg-showcase,
.tsg-elementor-page .tsg-showcase{
  width:min(var(--tsg-max,1640px),calc(100% - 64px));
  margin:var(--tsg-section-space,50px) auto 0!important;
  border-radius:36px;
  padding:54px 0 44px;
}
body.tsg-layout-home .tsg-showcase__heading,
.tsg-elementor-page .tsg-showcase__heading{
  margin-bottom:22px;
}
body.tsg-layout-home .tsg-showcase__heading h2,
.tsg-elementor-page .tsg-showcase__heading h2{
  font-size:clamp(34px,3.8vw,58px);
}
body.tsg-layout-home .tsg-showcase__stage,
.tsg-elementor-page .tsg-showcase__stage{
  height:520px;
}
body.tsg-layout-home .tsg-showcase-card,
.tsg-elementor-page .tsg-showcase-card{
  width:clamp(215px,18.5vw,300px);
  transform:translate(calc(-50% + (var(--slot) * clamp(220px,20.5vw,350px))),-50%) scale(var(--card-scale));
}
body.tsg-layout-home .tsg-showcase__arrow.is-prev,
.tsg-elementor-page .tsg-showcase__arrow.is-prev{left:calc(50% - clamp(215px,19vw,330px))}
body.tsg-layout-home .tsg-showcase__arrow.is-next,
.tsg-elementor-page .tsg-showcase__arrow.is-next{right:calc(50% - clamp(215px,19vw,330px))}
@media(max-width:1100px){
  body.tsg-layout-home .tsg-showcase,
  .tsg-elementor-page .tsg-showcase{width:calc(100% - 40px);border-radius:30px;padding:48px 0 40px}
  body.tsg-layout-home .tsg-showcase__stage,
  .tsg-elementor-page .tsg-showcase__stage{height:500px}
  body.tsg-layout-home .tsg-showcase-card,
  .tsg-elementor-page .tsg-showcase-card{width:clamp(210px,28vw,285px);transform:translate(calc(-50% + (var(--slot) * clamp(205px,29vw,305px))),-50%) scale(var(--card-scale))}
}
@media(max-width:767px){
  body.tsg-layout-home .tsg-showcase,
  .tsg-elementor-page .tsg-showcase{width:calc(100% - 28px);border-radius:26px;padding:42px 0 34px}
  body.tsg-layout-home .tsg-showcase__stage,
  .tsg-elementor-page .tsg-showcase__stage{height:500px}
  body.tsg-layout-home .tsg-showcase-card,
  .tsg-elementor-page .tsg-showcase-card{width:min(72vw,276px);transform:translate(calc(-50% + (var(--slot) * 71vw)),-50%) scale(var(--card-scale))}
}

/* V1.6.8 — Animation douce des cercles Actualités */
.tsg-news-feature__art{perspective:1000px}
.tsg-blob{will-change:transform,filter;animation:tsgBlobFloat 8.2s ease-in-out infinite;transform-origin:center center}
.tsg-blob::after{content:'';position:absolute;inset:-8px;border-radius:inherit;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.22),transparent 55%);opacity:.7;pointer-events:none;mix-blend-mode:screen;animation:tsgBlobGlow 5.4s ease-in-out infinite}
.tsg-blob--one{animation-delay:0s}.tsg-blob--two{animation-delay:-1.9s}.tsg-blob--three{animation-delay:-3.7s}
body.tsg-layout-home .tsg-blob--one{animation-name:tsgBlobOne!important}
body.tsg-layout-home .tsg-blob--two{animation-name:tsgBlobTwo!important}
body.tsg-layout-home .tsg-blob--three{animation-name:tsgBlobThree!important}
.tsg-news-feature__art:hover .tsg-blob{animation-play-state:paused}
@keyframes tsgBlobFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.015)}}
@keyframes tsgBlobOne{0%,100%{transform:rotate(-8deg) translateX(-85px) translateY(0) scale(1)}50%{transform:rotate(-6deg) translateX(-92px) translateY(-10px) scale(1.02)}}
@keyframes tsgBlobTwo{0%,100%{transform:rotate(-2deg) translateY(0) scale(1)}50%{transform:rotate(1deg) translateY(-12px) scale(1.03)}}
@keyframes tsgBlobThree{0%,100%{transform:rotate(8deg) translateX(82px) translateY(0) scale(1)}50%{transform:rotate(6deg) translateX(88px) translateY(-8px) scale(1.018)}}
@keyframes tsgBlobGlow{0%,100%{opacity:.45;transform:scale(.98)}50%{opacity:.85;transform:scale(1.03)}}
/* V1.6.8 — Etiquette interactive de catégorie sur la carte */
.tsg-map360__selection{position:absolute;z-index:555;right:22px;bottom:22px;display:flex;align-items:center;gap:12px;max-width:min(360px,calc(100% - 44px));padding:12px 14px;border-radius:18px;background:rgba(20,16,27,.82);border:1px solid rgba(255,255,255,.10);box-shadow:0 18px 46px rgba(12,9,18,.26);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:#fff;animation:tsgSelectionIn .24s ease both}
.tsg-map360__selection[hidden]{display:none!important}
.tsg-map360__selection-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--selection-accent,#3B1E7B),color-mix(in srgb,var(--selection-accent,#3B1E7B) 52%,#fff));font-size:22px;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 20px rgba(0,0,0,.18)}
.tsg-map360__selection-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.tsg-map360__selection-copy strong{font:700 14px/1.15 Poppins,sans-serif;color:#fff}
.tsg-map360__selection-copy small{font:500 12px/1.4 Poppins,sans-serif;color:rgba(255,255,255,.72)}
@keyframes tsgSelectionIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.tsg-map360__selection{left:12px;right:12px;bottom:66px;max-width:none;padding:10px 12px;border-radius:16px}.tsg-map360__selection-icon{width:38px;height:38px;flex-basis:38px;font-size:20px}}
@media (prefers-reduced-motion:reduce){.tsg-blob,.tsg-blob::after,.tsg-map360__selection{animation:none!important}}

/* V1.6.10 — micro-animations uniquement, sans changement de disposition */
.tsg-news-feature__art .tsg-blob img{transition:opacity .34s ease,transform .48s ease}
.tsg-news-feature__art .tsg-blob img.is-tsg-switching{opacity:.12;transform:scale(1.025)}
.tsg-map360__photo{position:relative;cursor:default}
.tsg-map360__photo.has-gallery{cursor:pointer}
.tsg-map360__photo img{transition:opacity .28s ease,transform .45s ease}
.tsg-map360__photo img.is-tsg-switching{opacity:.08;transform:scale(1.025)}
.tsg-map360__photo-count{position:absolute;right:10px;bottom:10px;z-index:2;min-width:38px;height:26px;padding:0 9px;border-radius:999px;background:rgba(24,18,32,.68);color:#fff;display:flex;align-items:center;justify-content:center;font:700 10px/1 Poppins,sans-serif;backdrop-filter:blur(8px);pointer-events:none}
@media (prefers-reduced-motion:reduce){.tsg-news-feature__art .tsg-blob img,.tsg-map360__photo img{transition:none!important}}


/* V1.6.11 — Ajustements ciblés uniquement : image carte, boutons et carrousel À la une. */
/* 1) Fiche de lieu : image plus compacte, sans modifier la structure de la carte. */
.tsg-map360__photo{height:124px!important;border-bottom:1px solid rgba(59,30,123,.08)}
.tsg-map360__photo img{object-position:center center}
@media(max-width:720px){.tsg-map360__photo{height:104px!important}}

/* 2) Alignement cohérent des boutons textuels sur l'ensemble de l'interface Tsingoni. */
.tsg-pill-button,
.tsg-service-card__cta,
.tsg-map360__action,
.tsg-block-button .wp-block-button__link,
.tsg-search-row button,
.tsg-elected-search button,
.tsg-map-filters button{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.2;
  vertical-align:middle;
}
.tsg-map360__actions{align-items:stretch}
.tsg-map360__action{padding:0 14px;min-height:44px}
.tsg-pill-button{padding-top:0!important;padding-bottom:0!important}

/* 3) À la une : cartes un peu plus petites, tout en gardant la même disposition. */
body.tsg-layout-home .tsg-showcase__stage,
.tsg-elementor-page .tsg-showcase__stage{height:490px!important}
body.tsg-layout-home .tsg-showcase-card,
.tsg-elementor-page .tsg-showcase-card{
  width:clamp(205px,17vw,276px)!important;
  transform:translate3d(calc(-50% + (var(--slot) * clamp(205px,19vw,326px))),-50%,0) scale(var(--card-scale)) rotateY(calc(var(--slot) * -3deg))!important;
  transition:transform .78s cubic-bezier(.18,.82,.22,1),opacity .55s ease,filter .62s ease!important;
}
body.tsg-layout-home .tsg-showcase-card.is-near,
.tsg-elementor-page .tsg-showcase-card.is-near{--card-scale:.79!important}
body.tsg-layout-home .tsg-showcase-card.is-far,
.tsg-elementor-page .tsg-showcase-card.is-far{--card-scale:.64!important}
body.tsg-layout-home .tsg-showcase__arrow.is-prev,
.tsg-elementor-page .tsg-showcase__arrow.is-prev{left:calc(50% - clamp(205px,18vw,310px))!important}
body.tsg-layout-home .tsg-showcase__arrow.is-next,
.tsg-elementor-page .tsg-showcase__arrow.is-next{right:calc(50% - clamp(205px,18vw,310px))!important}

/* Le petit bouton orange ↗ de la carte active est retiré : la carte entière reste cliquable. */
.tsg-showcase-card__open{display:none!important}

/* 4) Transition plus premium : profondeur, lumière et focus de la carte centrale. */
.tsg-showcase-card__media{transform:translateZ(0);transition:box-shadow .72s ease,border-color .55s ease,transform .72s cubic-bezier(.18,.82,.22,1),filter .55s ease!important}
.tsg-showcase-card:not(.is-active) .tsg-showcase-card__media{transform:scale(.985);filter:saturate(.86)}
.tsg-showcase-card.is-active .tsg-showcase-card__media{
  transform:scale(1)!important;
  animation:tsgShowcaseFocus 820ms cubic-bezier(.18,.82,.22,1) both;
}
.tsg-showcase-card__media:before{
  content:"";
  position:absolute;
  z-index:3;
  inset:-35% -70%;
  background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.22) 50%,transparent 62%);
  transform:translateX(-45%) rotate(5deg);
  opacity:0;
  pointer-events:none;
}
.tsg-showcase-card.is-active .tsg-showcase-card__media:before{animation:tsgShowcaseShine 900ms 90ms ease-out both}
.tsg-showcase-card__media img{transition:transform .9s cubic-bezier(.18,.82,.22,1),filter .6s ease!important}
.tsg-showcase-card:not(.is-active) .tsg-showcase-card__media img{transform:scale(1.055)}
.tsg-showcase-card.is-active .tsg-showcase-card__media img{transform:scale(1)}
@keyframes tsgShowcaseFocus{
  0%{box-shadow:0 18px 45px rgba(8,3,25,.30);filter:brightness(.9)}
  55%{box-shadow:0 34px 82px rgba(8,3,25,.58),0 0 0 6px color-mix(in srgb,var(--tsg-showcase-accent,#DA4816) 14%,transparent);filter:brightness(1.05)}
  100%{box-shadow:0 28px 68px rgba(8,3,25,.48),0 0 0 2px color-mix(in srgb,var(--tsg-showcase-accent,#DA4816) 68%,transparent);filter:none}
}
@keyframes tsgShowcaseShine{
  0%{opacity:0;transform:translateX(-42%) rotate(5deg)}
  28%{opacity:.7}
  100%{opacity:0;transform:translateX(42%) rotate(5deg)}
}

@media(max-width:1100px){
  body.tsg-layout-home .tsg-showcase__stage,.tsg-elementor-page .tsg-showcase__stage{height:470px!important}
  body.tsg-layout-home .tsg-showcase-card,.tsg-elementor-page .tsg-showcase-card{width:clamp(195px,27vw,262px)!important;transform:translate3d(calc(-50% + (var(--slot) * clamp(190px,28vw,285px))),-50%,0) scale(var(--card-scale)) rotateY(calc(var(--slot) * -3deg))!important}
}
@media(max-width:767px){
  body.tsg-layout-home .tsg-showcase__stage,.tsg-elementor-page .tsg-showcase__stage{height:465px!important}
  body.tsg-layout-home .tsg-showcase-card,.tsg-elementor-page .tsg-showcase-card{width:min(68vw,258px)!important;transform:translate3d(calc(-50% + (var(--slot) * 69vw)),-50%,0) scale(var(--card-scale))!important}
}
@media(prefers-reduced-motion:reduce){
  .tsg-showcase-card,.tsg-showcase-card__media,.tsg-showcase-card__media:before,.tsg-showcase-card__media img{animation:none!important;transition:none!important}
}


/* V1.6.12 — Ajustements fins carte + À la une */
/* Carte : boutons/contrôles plus harmonieux, mieux placés et plus arrondis */
.tsg-map360__topbar{left:20px;right:20px;top:20px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.tsg-map360__search{width:min(560px,56vw);height:56px;border-radius:22px;padding:0 12px 0 16px}
.tsg-map360__search>button{border-radius:12px;width:34px;height:34px}
.tsg-map360__view{border-radius:20px;padding:4px;background:rgba(22,17,31,.86);border:1px solid rgba(255,255,255,.10);box-shadow:0 16px 34px rgba(0,0,0,.20)}
.tsg-map360__view button{min-width:72px;height:40px;border-radius:15px;padding:0 16px}
.tsg-map360__controls{right:18px;top:128px;gap:10px}
.tsg-map360__controls button{width:50px;height:50px;border-radius:18px;box-shadow:0 14px 30px rgba(0,0,0,.20)}
.tsg-map360__legend{left:18px;right:290px;bottom:18px;max-width:none;padding:8px 10px;border-radius:22px;gap:8px}
.tsg-map360__legend button{min-height:42px;padding:8px 12px;border-radius:14px}
.tsg-map360__selection{right:18px;bottom:18px;border-radius:22px;min-height:74px}
.tsg-map360__selection-icon{border-radius:16px}
.tsg-map360__spotlight{border-radius:28px;left:18px;top:108px;width:min(368px,calc(100% - 120px));box-shadow:0 22px 54px rgba(0,0,0,.28)}
.tsg-map360__photo{border-top-left-radius:28px;border-top-right-radius:28px;overflow:hidden}
.tsg-map360__photo-count{right:12px;bottom:12px}
.tsg-map360__action{border-radius:16px;min-height:44px}
.tsg-map360__places-grid .tsg-map360__place-card{border-radius:20px}
@media (max-width:1200px){
  .tsg-map360__legend{right:18px;bottom:96px}
  .tsg-map360__selection{left:auto;right:18px;bottom:18px;max-width:min(320px,calc(100% - 36px))}
}
@media (max-width:760px){
  .tsg-map360__topbar{left:12px;right:12px;top:12px;gap:10px}
  .tsg-map360__search{width:100%;height:50px;border-radius:18px}
  .tsg-map360__view{border-radius:16px;padding:3px}
  .tsg-map360__view button{min-width:62px;height:36px;border-radius:12px;padding:0 12px}
  .tsg-map360__spotlight{left:12px;right:12px;top:auto;bottom:88px;width:auto;max-height:336px;border-radius:24px}
  .tsg-map360__controls{right:12px;top:74px;gap:8px}
  .tsg-map360__controls button{width:44px;height:44px;border-radius:15px}
  .tsg-map360__legend{left:12px;right:12px;bottom:12px;border-radius:18px;padding:7px}
  .tsg-map360__selection{left:12px;right:12px;bottom:70px;max-width:none;border-radius:18px;min-height:auto}
}

/* À la une : cartes un peu moins hautes pour éviter qu'elles soient coupées */
body.tsg-layout-home .tsg-showcase,
.tsg-elementor-page .tsg-showcase{padding-top:58px!important;padding-bottom:48px!important}
body.tsg-layout-home .tsg-showcase__heading,
.tsg-elementor-page .tsg-showcase__heading{margin-bottom:24px!important}
body.tsg-layout-home .tsg-showcase__stage,
.tsg-elementor-page .tsg-showcase__stage{height:452px!important}
body.tsg-layout-home .tsg-showcase-card,
.tsg-elementor-page .tsg-showcase-card{width:clamp(186px,18.8vw,248px)!important;transform:translate3d(calc(-50% + (var(--slot) * clamp(182px,18.6vw,280px))),-50%,0) scale(var(--card-scale)) rotateY(calc(var(--slot) * -3deg))!important}
.tsg-showcase-card__media{aspect-ratio:3 / 3.58!important;border-radius:28px!important}
.tsg-showcase-card__tag{left:14px;top:14px;min-height:27px;padding:0 11px}
.tsg-showcase-card__meta{padding:14px 10px 0!important}
.tsg-showcase-card__meta h3{font-size:clamp(18px,1.7vw,26px)!important;line-height:1.02!important}
.tsg-showcase-card__meta p{margin-top:8px!important;font-size:12px!important;min-height:32px!important}
.tsg-showcase-card:not(.is-active) .tsg-showcase-card__meta h3{font-size:18px!important}
.tsg-showcase__arrow{top:44%!important}
.tsg-showcase__arrow.is-prev{left:calc(50% - clamp(196px,16.5vw,286px))!important}
.tsg-showcase__arrow.is-next{right:calc(50% - clamp(196px,16.5vw,286px))!important}
.tsg-showcase__footer{margin-top:8px!important;gap:18px!important}
.tsg-showcase__dots{min-height:14px}
.tsg-showcase__hint{line-height:1.3!important}
@media (max-width:1100px){
  body.tsg-layout-home .tsg-showcase__stage,.tsg-elementor-page .tsg-showcase__stage{height:440px!important}
  body.tsg-layout-home .tsg-showcase-card,.tsg-elementor-page .tsg-showcase-card{width:clamp(182px,25vw,238px)!important;transform:translate3d(calc(-50% + (var(--slot) * clamp(178px,25vw,260px))),-50%,0) scale(var(--card-scale)) rotateY(calc(var(--slot) * -2deg))!important}
  .tsg-showcase__arrow.is-prev{left:calc(50% - clamp(180px,16vw,250px))!important}
  .tsg-showcase__arrow.is-next{right:calc(50% - clamp(180px,16vw,250px))!important}
}
@media (max-width:767px){
  body.tsg-layout-home .tsg-showcase,.tsg-elementor-page .tsg-showcase{padding-top:44px!important;padding-bottom:36px!important}
  body.tsg-layout-home .tsg-showcase__stage,.tsg-elementor-page .tsg-showcase__stage{height:452px!important}
  body.tsg-layout-home .tsg-showcase-card,.tsg-elementor-page .tsg-showcase-card{width:min(64vw,236px)!important;transform:translate3d(calc(-50% + (var(--slot) * 65vw)),-50%,0) scale(var(--card-scale))!important}
  .tsg-showcase-card__media{aspect-ratio:3 / 3.68!important}
  .tsg-showcase__footer{margin-top:2px!important}
}


/* V1.6.13 — Retrait des boutons coulissants du bloc À la une */
body.tsg-layout-home .tsg-showcase__arrow,
.tsg-elementor-page .tsg-showcase__arrow{display:none!important}
body.tsg-layout-home .tsg-showcase__hint,
.tsg-elementor-page .tsg-showcase__hint{display:none!important}
body.tsg-layout-home .tsg-showcase__footer,
.tsg-elementor-page .tsg-showcase__footer{margin-top:2px!important}
