/* Gigs, la mascotte animée qui répond aux questions (Cloudflare Workers AI via /api/gigs). */
#gigs-widget{position:fixed;bottom:22px;right:22px;z-index:9999;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
#gigs-toggle{display:block;width:84px;height:84px;padding:0;border-radius:50%;border:3px solid #00f2fe;box-shadow:0 0 20px rgba(0,242,254,.5),0 0 40px rgba(168,85,247,.3);cursor:pointer;overflow:hidden;background:#0f172a;animation:gigs-float 3s ease-in-out infinite;transition:box-shadow .3s ease}
#gigs-toggle:hover,#gigs-toggle:focus-visible{box-shadow:0 0 28px rgba(0,242,254,.9);outline:none}
@keyframes gigs-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
#gigs-toggle video,.gigs-avatar-large video{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
#gigs-badge{position:absolute;bottom:98px;right:0;background:linear-gradient(135deg,#0891b2,#7c3aed);color:#fff;padding:8px 14px;border-radius:16px 16px 2px 16px;font-size:13px;font-weight:600;white-space:nowrap;box-shadow:0 4px 15px rgba(0,0,0,.3);pointer-events:none;transition:opacity .3s}
#gigs-widget.is-open #gigs-badge,#gigs-widget.badge-hidden #gigs-badge{opacity:0}
#gigs-chatbox{display:none;width:350px;max-width:calc(100vw - 32px);height:500px;max-height:calc(100vh - 140px);background:#0f172a;border:1px solid rgba(0,242,254,.35);border-radius:18px;box-shadow:0 12px 40px rgba(0,0,0,.7),0 0 25px rgba(124,58,237,.25);flex-direction:column;overflow:hidden;position:absolute;bottom:105px;right:0}
#gigs-widget.is-open #gigs-chatbox{display:flex}
.gigs-header{background:linear-gradient(90deg,#1e293b,#0f172a);padding:12px 15px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(0,242,254,.2)}
.gigs-avatar-large{width:58px;height:58px;border-radius:50%;border:2px solid #00f2fe;overflow:hidden;flex-shrink:0;background:#000}
.gigs-title strong{display:block;margin:0;color:#fff;font-size:16px}
.gigs-title span{color:#00f2fe;font-size:12px}
.gigs-controls{margin-left:auto;display:flex;align-items:center;gap:8px}
.gigs-btn-icon{background:rgba(255,255,255,.08);border:1px solid rgba(0,242,254,.3);color:#fff;border-radius:8px;padding:4px 8px;font-size:15px;cursor:pointer}
.gigs-btn-icon:hover{background:rgba(0,242,254,.2)}
.gigs-close{background:none;border:0;color:#94a3b8;font-size:24px;line-height:1;cursor:pointer;padding:0 4px}
#gigs-messages{flex:1;padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}
.gigs-msg{max-width:82%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.gigs-msg.bot{background:#1e293b;color:#f8fafc;align-self:flex-start;border-bottom-left-radius:3px;border:1px solid rgba(0,242,254,.15)}
.gigs-msg.user{background:linear-gradient(135deg,#0284c7,#7c3aed);color:#fff;align-self:flex-end;border-bottom-right-radius:3px}
.gigs-msg a{color:#38bdf8;text-decoration:underline}
.gigs-msg.wait{color:#94a3b8;font-style:italic}
.gigs-quick{display:flex;gap:6px;padding:0 14px 10px;overflow-x:auto}
.gigs-quick button{background:rgba(0,242,254,.1);border:1px solid rgba(0,242,254,.3);color:#38bdf8;border-radius:14px;padding:5px 10px;font-size:12px;cursor:pointer;white-space:nowrap}
.gigs-input-area{display:flex;padding:10px;background:#1e293b;border-top:1px solid rgba(255,255,255,.08);margin:0}
#gigs-input{flex:1;min-width:0;background:#0f172a;border:1px solid #334155;color:#fff;padding:10px 12px;border-radius:10px;outline:none;font-size:16px}
#gigs-input:focus{border-color:#00f2fe}
#gigs-send{background:#00f2fe;color:#0f172a;border:0;padding:0 16px;margin-left:8px;border-radius:10px;font-weight:bold;cursor:pointer}
#gigs-send:disabled{opacity:.5;cursor:wait}
.gigs-note{margin:0;padding:0 14px 8px;color:#64748b;font-size:11px}
@media (max-width:520px){#gigs-widget{bottom:14px;right:14px}#gigs-toggle{width:68px;height:68px}#gigs-badge{bottom:80px}#gigs-chatbox{bottom:84px;height:460px}}
@media (prefers-reduced-motion:reduce){#gigs-toggle{animation:none}}
@media print{#gigs-widget{display:none}}

/* Banner « L'avis de Gigs : Gemini 4 Argon » (Actualités IA page and home page) */
.argon-banner{position:relative;display:grid;grid-template-columns:96px 1fr;gap:22px;align-items:center;padding:26px;border-radius:16px;color:#f7f3ea;text-decoration:none;overflow:hidden;background:linear-gradient(135deg,#1e3048 0%,#2b2f66 55%,#4a2c86 100%);border:1px solid rgba(255,255,255,.14);box-shadow:0 22px 44px -18px rgba(30,48,72,.55);transition:transform .2s ease,box-shadow .2s ease}
.argon-banner::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(0,242,254,.28),transparent 70%);pointer-events:none}
.argon-banner:hover,.argon-banner:focus-visible{transform:translateY(-3px);box-shadow:0 28px 52px -18px rgba(30,48,72,.7);outline:none}
.argon-banner:focus-visible{outline:3px solid #f2b09a;outline-offset:4px}
.argon-avatar{width:96px;height:96px;border-radius:50%;overflow:hidden;border:3px solid #00f2fe;box-shadow:0 0 0 5px rgba(0,242,254,.14),0 0 28px rgba(0,242,254,.45);background:#0f172a;position:relative;z-index:1}
.argon-avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.argon-text{display:flex;flex-direction:column;gap:10px;position:relative;z-index:1;min-width:0}
.argon-kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#f2b09a}
.argon-text strong{font:700 clamp(22px,2.6vw,30px)/1.15 Georgia,serif;letter-spacing:-.02em;color:#fff}
.argon-chips{display:flex;flex-wrap:wrap;gap:7px}
.argon-chip{font-size:12px;font-weight:650;padding:5px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.2)}
.argon-plus{background:rgba(86,200,140,.2);color:#b8f0d2}
.argon-moins{background:rgba(242,176,154,.18);color:#ffd2c2}
.argon-cta{font-size:14px;font-weight:700;color:#00f2fe}
.home-news{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
@media(max-width:760px){.argon-banner{grid-template-columns:1fr;padding:22px;gap:14px}.argon-avatar{width:76px;height:76px}.home-news{grid-template-columns:1fr;gap:24px}}
@media(prefers-reduced-motion:reduce){.argon-banner{transition:none}.argon-banner:hover{transform:none}}
.banner-stack{display:flex;flex-direction:column;gap:18px}
.dots-banner{position:relative;display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center;padding:24px 26px;border-radius:16px;color:#fff4e4;text-decoration:none;overflow:hidden;background:linear-gradient(135deg,#1c2536 0%,#3b2a3d 55%,#8a3b2e 100%);box-shadow:0 22px 44px -20px rgba(70,28,20,.6);transition:transform .2s ease,box-shadow .2s ease}
.dots-banner:hover,.dots-banner:focus-visible{transform:translateY(-3px);box-shadow:0 28px 52px -18px rgba(70,28,20,.7);outline:none}
.dots-banner:focus-visible{outline:3px solid #f6c28b;outline-offset:4px}
.dots-art img{display:block;width:150px;height:auto}
.dots-text{display:flex;flex-direction:column;gap:10px;min-width:0}
.dots-kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#f6c28b}
.dots-text strong{font:700 clamp(20px,2.3vw,26px)/1.18 Georgia,serif;letter-spacing:-.02em;color:#fff}
.dots-cta{font-size:14px;font-weight:700;color:#ffb184}
@media(max-width:760px){.dots-banner{grid-template-columns:1fr;padding:22px;gap:12px}.dots-art img{width:120px}}
@media(prefers-reduced-motion:reduce){.dots-banner{transition:none}.dots-banner:hover{transform:none}}
.dots-floating-teaser{position:fixed;bottom:24px;left:24px;z-index:9998;text-decoration:none;display:flex;flex-direction:column;align-items:center;cursor:pointer;user-select:none}
.dots-speech-bubble{background:#faf6f0;color:#222;border:2px solid #222;border-radius:14px;padding:8px 14px;font:13.5px/1.3 system-ui,-apple-system,sans-serif;margin-bottom:6px;box-shadow:3px 3px 0 #222;position:relative;white-space:nowrap;transition:transform .2s ease,background-color .2s ease}
.dots-speech-bubble::after{content:"";position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);border-width:8px 7px 0;border-style:solid;border-color:#222 transparent;display:block;width:0}
.dots-character-wrapper{animation:dotsBounce 2.2s infinite ease-in-out;transform-origin:bottom center}
.dots-floating-teaser:hover .dots-speech-bubble,.dots-floating-teaser:focus-visible .dots-speech-bubble{transform:translateY(-4px) scale(1.03);background:#fff}
.dots-floating-teaser:hover .dots-character-wrapper{animation-duration:.7s}
.dots-floating-teaser:focus-visible{outline:3px solid #8a3b2e;outline-offset:4px;border-radius:12px}
@keyframes dotsBounce{0%,100%{transform:translateY(0) scale(1,1)}15%{transform:translateY(0) scale(1.06,.94)}45%{transform:translateY(-18px) scale(.96,1.04)}75%{transform:translateY(0) scale(1.03,.97)}}
@media(max-width:600px){.dots-floating-teaser{bottom:16px;left:12px}.dots-speech-bubble{font-size:12px;padding:6px 10px;white-space:normal;max-width:150px;text-align:center}.dots-character-wrapper img{width:70px;height:auto}}
@media(prefers-reduced-motion:reduce){.dots-character-wrapper{animation:none}.dots-speech-bubble{transition:none}}
.dots-floating-teaser{animation:dotsIn .5s ease 3s both}
@keyframes dotsIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:600px){.dots-speech-bubble{display:none}}
@media(prefers-reduced-motion:reduce){.dots-floating-teaser{animation:none}}
.dots-character-wrapper img{display:block;width:92px;height:auto;filter:drop-shadow(0 6px 6px rgba(0,0,0,.18))}
.dots-speech-bubble{animation:dotsBubbleOut .6s ease 9s forwards}
.dots-floating-teaser:hover .dots-speech-bubble,.dots-floating-teaser:focus-visible .dots-speech-bubble{animation:none;opacity:1}
@keyframes dotsBubbleOut{to{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.dots-speech-bubble{animation:none}}
.dots-floating-teaser{bottom:18px;left:18px}
.dots-speech-bubble{font-size:12px;padding:6px 10px;border-width:2px;box-shadow:2px 2px 0 #222;border-radius:12px}
.dots-character-wrapper svg{width:64px;height:64px}
@media(max-width:600px){.dots-floating-teaser{bottom:14px;left:10px}.dots-character-wrapper svg{width:52px;height:52px}}
