/* Artisan Local 63 — thèmes saisonniers V29. Le thème normal ne modifie rien. */
body.theme-halloween{--orange:#f18a25;--soft:#fff7ef;--line:#eadcd5}
body.theme-halloween .hero,body.theme-halloween .cta{background:linear-gradient(115deg,#251a35,#432549 62%,#6c3b25)}
body.theme-halloween .eyebrow,body.theme-halloween .eyebrow.dark{color:#dc7420}
body.theme-halloween .site-header{border-bottom:3px solid #ed8a28}
body.theme-halloween .hero::after{content:"";position:absolute;right:5%;top:10%;width:95px;height:95px;border-radius:50%;background:#f5bb70;opacity:.17;pointer-events:none}
body.theme-halloween .hero{position:relative}
body.theme-halloween .section.soft,body.theme-halloween .social-section{background:#fff8f1}
body.theme-noel{--orange:#b92f40;--soft:#f2f8f5;--line:#d9e8df}
body.theme-noel .hero,body.theme-noel .cta{background:linear-gradient(110deg,#103d35,#1b5a48 70%,#17433b)}
body.theme-noel .hero h1 em{color:#ffe0a1}
body.theme-noel .site-header{border-bottom:3px solid #bb3d49}
body.theme-noel .section.soft,body.theme-noel .social-section{background:#f3faf7}
body.theme-noel .btn:not(.light){color:#fff!important}
body.theme-ete{--orange:#edaa32;--soft:#f0fbfa;--line:#d9eae8}
body.theme-ete .hero,body.theme-ete .cta{background:linear-gradient(115deg,#125467,#167a83 70%,#3199a2)}
body.theme-ete .site-header{border-bottom:3px solid #f2ba51}
body.theme-ete .section.soft,body.theme-ete .social-section{background:#f0fbfa}
body.theme-ete .hero h1 em{color:#ffe19c}
/* Administration — choix visuels */
.al63-themes-admin>.panel{padding:26px}.al63-theme-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:14px;margin:18px 0 24px}
.al63-theme-choice{display:flex;flex-direction:column;gap:8px;border:2px solid #e2e8ef;border-radius:16px;padding:13px;background:white;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.al63-theme-choice:has(input:checked){border-color:#d78919;box-shadow:0 0 0 3px #ed951729}.al63-theme-choice input{accent-color:#d78919;align-self:flex-start}.al63-theme-choice strong{font-size:17px}.al63-theme-choice small{color:#637383;line-height:1.4}
.al63-theme-preview{height:88px;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(125deg,#172b3a,#ed9517)}
.al63-theme-preview i{width:21px;height:21px;border-radius:6px;background:#ffffffb5}.theme-preview-halloween{background:linear-gradient(125deg,#241936,#e87924)}.theme-preview-noel{background:linear-gradient(125deg,#135340,#c43949)}.theme-preview-ete{background:linear-gradient(125deg,#147d8b,#f6c45b)}.theme-preview-auto{background:linear-gradient(110deg,#172b3a 0 25%,#e87924 25% 50%,#c43949 50% 75%,#f6c45b 75%)}
@media(max-width:650px){.al63-themes-admin>.panel{padding:16px}.al63-theme-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V30 — immersive seasonal visuals, isolated from controls and content. */
.al63-season-canvas{position:fixed;inset:0;z-index:4;pointer-events:none;opacity:.75}
body.theme-halloween,body.theme-noel,body.theme-ete{transition:background-color .35s ease,color .35s ease}
body.theme-halloween .hero,body.theme-noel .hero,body.theme-ete .hero{position:relative;isolation:isolate;overflow:hidden}
body.theme-halloween .hero::before,body.theme-noel .hero::before,body.theme-ete .hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-size:cover;animation:al63Atmosphere 13s ease-in-out infinite alternate}
body.theme-halloween .hero::before{background:radial-gradient(circle at 83% 23%,#ffb65b77 0 6%,transparent 6.5%),radial-gradient(ellipse at 75% 95%,#d7633966,transparent 48%),radial-gradient(ellipse at 8% 10%,#672c7a88,transparent 65%)}
body.theme-halloween .hero::after{width:140px;height:140px;right:11%;top:9%;background:#ffcf80;opacity:.3;box-shadow:0 0 70px 18px #ef963f80;animation:al63Moon 7s ease-in-out infinite alternate}
body.theme-noel .hero::before{background:radial-gradient(circle at 84% 10%,#fff5ca66,transparent 28%),radial-gradient(ellipse at 20% 95%,#58aa8c88,transparent 58%),repeating-linear-gradient(115deg,transparent 0 110px,#ffffff09 111px 112px)}
body.theme-ete .hero::before{background:radial-gradient(circle at 83% 17%,#ffe69d99 0 7%,#ffe69d33 12%,transparent 28%),radial-gradient(ellipse at 75% 100%,#78d6c588,transparent 50%),radial-gradient(ellipse at 10% 10%,#3cb6d288,transparent 55%)}
body.theme-noel .site-header{box-shadow:0 4px 22px #174f4020}
body.theme-halloween .site-header{box-shadow:0 4px 22px #5e265620}
body.theme-ete .site-header{box-shadow:0 4px 22px #147d8b20}
body.theme-halloween .hero .btn,body.theme-noel .hero .btn,body.theme-ete .hero .btn{transition:transform .25s,box-shadow .25s}
body.theme-halloween .hero .btn:hover,body.theme-noel .hero .btn:hover,body.theme-ete .hero .btn:hover{transform:translateY(-3px);box-shadow:0 12px 30px #0003}
body.theme-noel .hero h1,body.theme-halloween .hero h1,body.theme-ete .hero h1{text-shadow:0 3px 20px #0002}
@keyframes al63Atmosphere{from{transform:scale(1) translateX(-1%);opacity:.8}to{transform:scale(1.09) translateX(1%);opacity:1}}
@keyframes al63Moon{from{transform:translateY(0);opacity:.24}to{transform:translateY(13px);opacity:.4}}
@media(max-width:700px){.al63-season-canvas{opacity:.5}body.theme-halloween .hero::after{width:70px;height:70px;right:3%;top:5%}}
@media(prefers-reduced-motion:reduce){.al63-season-canvas{display:none!important}body.theme-halloween .hero::before,body.theme-noel .hero::before,body.theme-ete .hero::before,body.theme-halloween .hero::after{animation:none!important}}
.al63-motion-option{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid #dce5eb;border-radius:12px;margin:0 0 18px;background:#f7fafc}.al63-motion-option input{margin-top:5px;accent-color:#d78919}.al63-motion-option span{display:grid;gap:5px}.al63-motion-option small{color:#617282;line-height:1.5}
/* V31 — cinematic seasonal accents. Decorative layers never block interactions. */
.al63-season-decor{position:fixed;inset:0;z-index:3;pointer-events:none;overflow:hidden;contain:layout paint;opacity:.9}
.al63-season-decor .al63-decor-item{position:absolute;display:block;will-change:transform;pointer-events:none}
body.theme-noel .al63-garland{position:absolute;top:0;left:0;right:0;height:38px;background:repeating-linear-gradient(90deg,transparent 0 47px,#234b39 48px 51px,transparent 52px 96px);opacity:.75}
body.theme-noel .al63-bulb{top:9px;width:11px;height:16px;border-radius:48% 48% 55% 55%;background:var(--bulb);box-shadow:0 0 12px 3px var(--bulb);animation:al63Twinkle 2.8s ease-in-out infinite alternate;animation-delay:var(--delay)}
body.theme-halloween .al63-bat{top:var(--top);left:var(--left);width:28px;height:13px;background:#28152e;clip-path:polygon(0 35%,15% 0,35% 35%,50% 12%,65% 35%,85% 0,100% 35%,85% 95%,65% 60%,50% 95%,35% 60%,15% 95%);opacity:.5;animation:al63BatFlight var(--duration) ease-in-out infinite alternate;animation-delay:var(--delay)}
body.theme-ete .al63-sun-glow{position:absolute;right:-170px;top:-190px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#ffdf8040 0,#ffd75b1e 35%,transparent 70%);animation:al63SunPulse 8s ease-in-out infinite alternate}
body.theme-ete .al63-sun-ray{position:absolute;right:32px;top:0;width:2px;height:230px;transform-origin:top center;transform:rotate(var(--angle));background:linear-gradient(#ffdf8850,transparent);opacity:.4;animation:al63Twinkle 5s ease-in-out infinite alternate;animation-delay:var(--delay)}
body.theme-noel .hero,body.theme-halloween .hero,body.theme-ete .hero{background-size:170% 170%;animation:al63HeroGradient 18s ease-in-out infinite alternate}
body.theme-noel .hero .wrap,body.theme-halloween .hero .wrap,body.theme-ete .hero .wrap{position:relative;z-index:1}
@keyframes al63Twinkle{from{opacity:.35;filter:brightness(.75)}to{opacity:1;filter:brightness(1.25)}}
@keyframes al63BatFlight{from{transform:translate3d(-20px,8px,0) rotate(-12deg)}to{transform:translate3d(75px,-24px,0) rotate(9deg)}}
@keyframes al63SunPulse{from{transform:scale(.92);opacity:.5}to{transform:scale(1.14);opacity:.9}}
@keyframes al63HeroGradient{from{background-position:0 30%}to{background-position:100% 65%}}
@media(max-width:700px){.al63-season-decor{opacity:.55}body.theme-noel .al63-garland{height:22px}body.theme-ete .al63-sun-glow{width:240px;height:240px;right:-100px;top:-90px}}
@media(prefers-reduced-motion:reduce){.al63-season-decor{display:none!important}body.theme-noel .hero,body.theme-halloween .hero,body.theme-ete .hero{animation:none!important}}
/* V32: Halloween silhouettes are rendered by canvas, not angular CSS polygons. */
body.theme-halloween .al63-bat{display:none!important}
body.theme-halloween .al63-season-canvas{opacity:.72}
@media(max-width:700px){body.theme-halloween .al63-season-canvas{opacity:.55}}
