/* =========================================================
   Didelio V2.1 — Motion, Audience, Reach & Authority
   ========================================================= */

:root{
  --growth-navy:#101d39;
  --growth-ink:#14213d;
  --growth-saffron:#f4c95d;
  --growth-cyan:#27bfc2;
  --growth-line:#dce5ef;
  --growth-soft:#f5f8fc;
}

/* Motion foundations */
.home-hero-copy,.home-data-card,.home-count-card,.home-ips-card,.home-data-feature-grid>article,
.home-level-card,.home-territory-links>a,.guide-card,.blog-card-public,.static-content-card,.card,
.ips-ranking-card,.ips-distribution-card,.partner-card-public{
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background-color .28s ease;
}
.home-count-card:hover,.home-ips-card:hover,.home-data-feature-grid>article:hover,.home-level-card:hover,
.home-territory-links>a:hover,.guide-card:hover,.blog-card-public:hover,.static-content-card:hover,
.card:hover,.partner-card-public:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(20,33,61,.10);
}

.home-hero-copy{isolation:isolate}
.home-hero-copy:before{
  content:"";position:absolute;left:-110px;bottom:-150px;width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(244,201,93,.14),rgba(244,201,93,0) 68%);
  animation:growthFloat 7s ease-in-out infinite;pointer-events:none
}
.home-hero-copy:after{animation:growthFloatReverse 8.5s ease-in-out infinite}
.home-data-card:before{
  content:"";position:absolute;left:20px;top:22px;width:7px;height:7px;border-radius:50%;background:var(--growth-cyan);
  box-shadow:0 0 0 0 rgba(39,191,194,.35);animation:growthPulse 2.6s ease-out infinite
}
.home-kicker,.data-card-label,.section-kicker,.static-eyebrow{position:relative}
.home-kicker:after,.data-card-label:after{
  content:"";display:inline-block;width:5px;height:5px;margin-left:8px;border-radius:50%;background:currentColor;vertical-align:middle;
  animation:growthPulseOpacity 2.2s ease-in-out infinite
}

/* Reveal */
.growth-reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
.growth-reveal.is-visible{opacity:1;transform:none}

/* Charts / tables */
.line-chart-wrap,.ips-distribution-card,.ips-ranking-table,.public-article-content table{
  position:relative;overflow:visible
}
.line-chart .chart-line{
  stroke-dasharray:1400;stroke-dashoffset:1400;animation:growthDrawLine 1.25s cubic-bezier(.22,.8,.3,1) forwards
}
.line-chart .chart-dot{cursor:pointer;transform-box:fill-box;transform-origin:center;transition:r .18s ease,filter .18s ease,transform .18s ease}
.line-chart .chart-dot:hover,.line-chart .chart-dot.is-hovered{r:8;filter:drop-shadow(0 4px 7px rgba(20,33,61,.28));transform:scale(1.03)}
.line-chart .chart-value{transition:font-weight .18s ease,fill .18s ease}.line-chart .chart-dot:hover+text{font-weight:900;fill:var(--growth-ink)}
.ips-distribution-track{overflow:hidden}.ips-distribution-track i{transform-origin:left center;animation:growthBarIn .8s ease both;transition:filter .2s ease,transform .2s ease}
.ips-distribution-bars>div:hover .ips-distribution-track i{filter:brightness(.92);transform:scaleY(1.18)}
.ips-ranking-row:not(.ips-ranking-row-head),.public-article-content tbody tr{
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease
}
.ips-ranking-row:not(.ips-ranking-row-head):hover,.public-article-content tbody tr:hover{
  transform:translateX(3px);background:#fffdf7;box-shadow:0 8px 22px rgba(20,33,61,.07)
}
.ips-ranking-row:not(.ips-ranking-row-head):hover .ranking-ips{transform:scale(1.08);color:#8b6504}
.ranking-ips{transition:transform .18s ease,color .18s ease}

/* Tooltip */
.growth-tooltip{
  position:fixed;z-index:99999;max-width:min(320px,calc(100vw - 24px));padding:9px 12px;border-radius:10px;
  background:#0f1d38;color:#fff;font:700 12px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;
  box-shadow:0 12px 30px rgba(0,0,0,.2);pointer-events:none;opacity:0;transform:translateY(4px);
  transition:opacity .14s ease,transform .14s ease
}
.growth-tooltip.is-visible{opacity:1;transform:none}

/* Newsletter */
.growth-page-modules{padding:34px 0 6px;background:linear-gradient(180deg,rgba(245,248,252,0),#f5f8fc)}
.growth-newsletter{
  position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);gap:30px;
  align-items:center;border:1px solid #d8e1ec;border-radius:22px;background:linear-gradient(135deg,#101d39 0%,#1a315a 72%,#23466f 100%);
  color:#fff;padding:28px 30px;box-shadow:0 18px 42px rgba(16,29,57,.13)
}
.growth-newsletter:after{content:"";position:absolute;right:-90px;top:-130px;width:310px;height:310px;border-radius:50%;background:radial-gradient(circle,rgba(39,191,194,.32),transparent 69%);animation:growthFloatReverse 8s ease-in-out infinite;pointer-events:none}
.growth-newsletter-home{margin:0 0 12px;padding:22px 26px;grid-template-columns:minmax(0,1fr) minmax(430px,.9fr)}
.growth-newsletter-copy,.growth-newsletter-form{position:relative;z-index:1}
.growth-newsletter h2{margin:6px 0 8px;color:#fff;font-size:clamp(1.3rem,2.2vw,1.85rem);letter-spacing:-.025em}
.growth-newsletter p{margin:0;color:#cbd7e8;line-height:1.65}
.growth-eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:900;color:#f6d67f}
.growth-eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--growth-saffron);box-shadow:0 0 0 0 rgba(244,201,93,.32);animation:growthPulse 2.5s infinite}
.growth-newsletter-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 10px;align-items:end}
.growth-email-field{display:grid;gap:6px}.growth-email-field>span{font-size:.72rem;font-weight:800;color:#dce6f4}
.growth-email-field input{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.18);border-radius:11px;background:#fff;color:#14213d;padding:12px 13px;font:inherit;outline:none;transition:box-shadow .18s ease,border-color .18s ease}
.growth-email-field input:focus{border-color:#f4c95d;box-shadow:0 0 0 4px rgba(244,201,93,.18)}
.growth-newsletter-form>button{border:0;border-radius:11px;background:var(--growth-saffron);color:#14213d;font:900 .9rem/1 system-ui,sans-serif;padding:14px 17px;cursor:pointer;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}
.growth-newsletter-form>button:hover{transform:translateY(-2px);filter:brightness(1.02);box-shadow:0 8px 22px rgba(244,201,93,.22)}
.growth-consent{grid-column:1/-1;display:flex;gap:8px;align-items:flex-start;color:#cbd7e8;font-size:.72rem;line-height:1.45}.growth-consent input{margin-top:2px;accent-color:#f4c95d}
.growth-newsletter-form>small{grid-column:1/-1;color:#9fb0c8;font-size:.68rem}.growth-newsletter-form a{color:#f6d67f}
.growth-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Share / reach */
.growth-engagement{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 18px;padding:17px 20px;border:1px solid #dbe4ee;border-radius:16px;background:#fff;box-shadow:0 10px 26px rgba(20,33,61,.055)}
.growth-engagement>div:first-child{display:grid;gap:4px}.growth-engagement strong{color:#14213d;font-size:.92rem}
.growth-share-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.growth-share-actions button,.growth-share-actions a,.growth-embed-toolbar button,.growth-citation-example button{
  appearance:none;border:1px solid #d5dfeb;border-radius:9px;background:#fff;color:#233452;text-decoration:none;padding:8px 10px;font:800 .74rem/1 system-ui,sans-serif;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease
}
.growth-share-actions button:hover,.growth-share-actions a:hover,.growth-embed-toolbar button:hover,.growth-citation-example button:hover{transform:translateY(-2px);border-color:#b7c7da;background:#f8fbff}
.growth-share-actions [data-growth-share="native"]{background:#14213d;color:#fff;border-color:#14213d}

/* Embeddable controls */
.growth-embeddable{padding-bottom:42px!important}
.growth-embed-toolbar{position:absolute;left:0;right:0;bottom:3px;display:flex;justify-content:flex-end;gap:8px;z-index:3}
.growth-embed-toolbar button{background:#fff9e8;border-color:#eed999;color:#5f4a0a}
.growth-modal-backdrop{position:fixed;inset:0;z-index:100000;background:rgba(7,16,34,.58);display:grid;place-items:center;padding:20px}
.growth-modal{width:min(720px,100%);max-height:min(82vh,720px);overflow:auto;background:#fff;border-radius:20px;box-shadow:0 26px 80px rgba(0,0,0,.28);padding:24px;color:#14213d}
.growth-modal-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.growth-modal-head h2{margin:4px 0 6px}.growth-modal-close{border:0;background:#eef3f8;border-radius:50%;width:34px;height:34px;font-size:19px;cursor:pointer}
.growth-code{display:block;width:100%;box-sizing:border-box;min-height:155px;margin:16px 0 10px;padding:13px;border:1px solid #d8e1ec;border-radius:11px;background:#f7f9fc;color:#26354e;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}
.growth-modal-actions{display:flex;gap:9px;flex-wrap:wrap}.growth-modal-actions button{border:0;border-radius:10px;background:#14213d;color:#fff;padding:10px 14px;font-weight:850;cursor:pointer}.growth-modal-actions a{padding:10px 14px;font-weight:800;color:#14213d}

/* Authority pages */
.growth-widget-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 28px}.growth-widget-catalog article{background:#fff;border:1px solid #dce5ef;border-radius:18px;padding:23px;transition:transform .22s ease,box-shadow .22s ease}.growth-widget-catalog article:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(20,33,61,.09)}
.growth-widget-catalog article>span{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border-radius:10px;background:#fff5d7;color:#7c5d08;font-weight:900;font-size:.75rem}.growth-widget-catalog h2{font-size:1.15rem;margin:13px 0 8px}.growth-widget-catalog p{color:#56657c;line-height:1.65}.growth-widget-catalog a{font-weight:850}
.growth-citation-example{display:flex;align-items:center;gap:12px;margin-top:18px;padding:14px;border:1px solid #dce5ef;border-radius:12px;background:#f8fafc}.growth-citation-example code{flex:1;white-space:normal;line-height:1.6}

/* Results */
.growth-result{border-left:4px solid #27bfc2}.growth-result-error{border-left-color:#d85f5f}.growth-result-active{border-left-color:#6ba56d}

/* Embed document */
.embed-page{margin:0;background:#f4f7fb;color:#14213d;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.embed-shell{box-sizing:border-box;width:100%;min-height:100vh;background:#fff;border:1px solid #dbe4ee;border-radius:16px;padding:20px;overflow:hidden}
.embed-head{margin-bottom:16px}.embed-head>span{text-transform:uppercase;letter-spacing:.1em;color:#806313;font-weight:900;font-size:.66rem}.embed-head h1{font-size:1.3rem;letter-spacing:-.025em;margin:5px 0}.embed-head p{margin:0;color:#647089;font-size:.84rem}.embed-footer{margin-top:16px;padding-top:13px;border-top:1px solid #e4eaf1}.embed-footer a{color:#284b7a;font-weight:850;font-size:.78rem;text-decoration:none}.embed-footer a:hover{text-decoration:underline}
.embed-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.embed-kpis>div{padding:15px;border-radius:13px;background:#f7f9fc;border:1px solid #e1e7ee}.embed-kpis span,.embed-kpis small{display:block;color:#68778d;font-size:.72rem}.embed-kpis strong{display:block;margin:5px 0;color:#14213d;font-size:1.35rem}.embed-line-chart{padding-bottom:0!important}
.embed-ranking{display:grid;gap:6px}.embed-ranking-row{display:grid;grid-template-columns:30px minmax(0,1fr) 62px;gap:10px;align-items:center;padding:9px 10px;border-radius:10px;background:#f7f9fc;color:#14213d;text-decoration:none;transition:transform .15s ease,background .15s ease}.embed-ranking-row:hover{transform:translateX(3px);background:#fff7df}.embed-ranking-row>span{font-weight:900;color:#8490a1}.embed-ranking-row strong{font-size:.82rem;min-width:0}.embed-ranking-row strong small{display:block;margin-top:2px;color:#768297;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.embed-ranking-row>b{text-align:right;color:#8b6504}.embed-empty{padding:20px;background:#f7f9fc;border-radius:12px;color:#647089}

@keyframes growthFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(18px,-12px,0)}}
@keyframes growthFloatReverse{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-15px,13px,0)}}
@keyframes growthPulse{0%{box-shadow:0 0 0 0 rgba(244,201,93,.38)}70%{box-shadow:0 0 0 10px rgba(244,201,93,0)}100%{box-shadow:0 0 0 0 rgba(244,201,93,0)}}
@keyframes growthPulseOpacity{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}
@keyframes growthDrawLine{to{stroke-dashoffset:0}}
@keyframes growthBarIn{from{transform:scaleX(.02);opacity:.45}to{transform:scaleX(1);opacity:1}}

@media(max-width:900px){
  .growth-newsletter,.growth-newsletter-home{grid-template-columns:1fr}.growth-newsletter-form{grid-template-columns:minmax(0,1fr) auto}
  .growth-engagement{align-items:flex-start;flex-direction:column}.growth-share-actions{justify-content:flex-start}
  .growth-widget-catalog{grid-template-columns:1fr}.embed-kpis{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:620px){
  .growth-newsletter,.growth-newsletter-home{padding:22px 20px}.growth-newsletter-form{grid-template-columns:1fr}.growth-newsletter-form>button{width:100%}
  .growth-consent,.growth-newsletter-form>small{grid-column:1}.growth-share-actions [data-growth-share="linkedin"],.growth-share-actions [data-growth-share="facebook"],.growth-share-actions [data-growth-share="x"]{display:none}
  .growth-citation-example{align-items:flex-start;flex-direction:column}.embed-kpis{grid-template-columns:1fr}.embed-shell{border-radius:0;border-left:0;border-right:0}.growth-modal{padding:20px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important}
  .home-hero-copy:before,.home-hero-copy:after,.home-data-card:before,.home-kicker:after,.data-card-label:after,.growth-eyebrow i,.growth-newsletter:after,.line-chart .chart-line,.ips-distribution-track i{animation:none!important}
  .growth-reveal{opacity:1!important;transform:none!important;transition:none!important}
  .home-hero-copy,.home-data-card,.home-count-card,.home-ips-card,.card,.static-content-card{transition:none!important}
}

/* V2.1 final — interactions étendues */
.growth-fiche-embed{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:10px 0 14px;padding:13px 150px 13px 16px!important;border:1px solid #dce5ef;border-radius:14px;background:linear-gradient(90deg,#fffdf7,#f7fbff)}
.growth-fiche-embed>div{display:grid;gap:2px}.growth-fiche-embed span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#8b6504}.growth-fiche-embed strong{font-size:.86rem;color:#14213d}
.growth-fiche-embed .growth-embed-toolbar{left:auto;right:10px;bottom:50%;transform:translateY(50%)}
.ips-gauge-marker{cursor:pointer;transition:filter .18s ease,box-shadow .18s ease,transform .18s ease}
.ips-gauge-marker:hover{filter:brightness(1.16);box-shadow:0 5px 16px rgba(16,29,57,.34);transform:translate(-50%,-50%) scale(1.2)}
.static-main table tbody tr,.establishment-page table tbody tr{transition:background .18s ease,box-shadow .18s ease,transform .18s ease}
.static-main table tbody tr:hover,.establishment-page table tbody tr:hover{background:#fffaf0;box-shadow:inset 3px 0 0 #f4c95d;transform:translateX(2px)}
.static-main table tbody td,.establishment-page table tbody td{transition:color .18s ease,background .18s ease}
.static-main table tbody tr:hover td,.establishment-page table tbody tr:hover td{color:#14213d}
@media(max-width:700px){.growth-fiche-embed{padding:13px 16px 54px!important}.growth-fiche-embed .growth-embed-toolbar{left:12px;right:auto;bottom:10px;transform:none}}
