@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=DM+Serif+Display&display=swap');
:root{--paper:#F7EFE7;--white:#FFF9F3;--ink:#3E2924;--muted:#7B5E53;--line:#E6CDBE;--blue:#B94F36;--navy:#713C30;--coral:#D97956;--mint:#F3D9C9;--shadow:0 18px 46px rgba(105,50,34,.11)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.55}a{color:inherit}body>header,body>header.sitehead{position:sticky;top:0;z-index:999;background:#fff;border-bottom:1px solid var(--line);padding:0 max(20px,calc((100vw - 1340px)/2));min-height:78px;display:flex;align-items:center;gap:35px;justify-content:space-between;box-shadow:0 3px 15px #1a253109}.brand{font-family:'DM Serif Display',sans-serif;font-size:24px;font-weight:800;letter-spacing:-.065em;text-decoration:none;white-space:nowrap;color:var(--navy)}.brand em,.brand span{font-style:normal;color:var(--coral)}body>header nav{display:flex;align-items:center;gap:5px;flex-wrap:wrap}body>header nav a{font-size:12px;font-weight:700;text-decoration:none;color:#435266;padding:11px 12px;border-radius:8px;transition:.15s}body>header nav a:hover,body>header nav a[aria-current=page]{background:#edf1fc;color:var(--blue)}body>header nav a:last-child{background:var(--navy);color:white;margin-left:8px}body>header nav a:last-child:hover{background:var(--blue)}.hero{position:relative;overflow:hidden;background:var(--paper);color:var(--navy);padding:80px max(24px,calc((100vw - 1260px)/2)) 76px;border-bottom:1px solid var(--line)}.hero:after{content:'+';position:absolute;right:7%;top:4%;font:800 450px/1 'DM Serif Display',sans-serif;color:rgba(29,78,216,.045);pointer-events:none}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:var(--blue);display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';width:24px;height:3px;background:var(--coral);display:inline-block}.hero h1{font-family:'DM Serif Display',sans-serif;font-weight:700;font-size:clamp(43px,6vw,83px);line-height:1.02;letter-spacing:-.07em;max-width:890px;margin:22px 0}.hero h1 strong{color:var(--blue)}.hero p{font-size:18px;max-width:650px;color:#5b6776;line-height:1.8}.hero .btn{margin-top:24px}.btn,button.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:13px 20px;background:var(--blue);color:#fff;text-decoration:none;font-weight:800;font-size:14px;cursor:pointer;box-shadow:0 7px 17px #1d4ed82a;transition:transform .15s,background .15s}.btn:hover{background:#173caa;transform:translateY(-2px)}.btn.alt{background:white;color:var(--navy);border:1px solid #cfd6df;box-shadow:none}.wrap{max-width:1310px;margin:auto;padding:60px 24px 90px}.section-title{font-family:'DM Serif Display',sans-serif;font-size:clamp(28px,4vw,45px);font-weight:700;letter-spacing:-.055em;margin:4px 0 28px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:17px}.tile{background:#fff;border:1px solid var(--line);border-radius:13px;padding:28px;min-height:215px;box-shadow:0 4px 20px #1a253106;transition:transform .15s,border-color .15s}.tile:hover{transform:translateY(-4px);border-color:#a8b7e7}.tile small{display:inline-flex;font:800 12px 'DM Serif Display';color:var(--coral);background:#fff1ed;padding:6px 10px;border-radius:6px}.tile h2{font-family:'DM Serif Display',sans-serif;font-size:24px;letter-spacing:-.04em;margin:15px 0 10px}.tile p{font-size:14px;color:var(--muted);line-height:1.75}.tile a{font-size:13px;color:var(--blue);font-weight:800;text-decoration:none}.tile a:hover{text-decoration:underline}footer{padding:30px 24px;background:var(--navy);color:#d4dce8;text-align:center;font-size:12px}.note{color:#65717d;font-size:13px;line-height:1.8}.panel{background:#fff;padding:28px;border:1px solid var(--line);border-radius:12px;margin:18px 0;box-shadow:var(--shadow)}.mapbox{height:560px;background:#e6ecec;border-radius:12px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}.filters{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 20px}.filters input{flex:2;min-width:230px}.filters select{flex:1;min-width:200px}input,select,textarea{padding:14px 16px;border:1px solid #cbd3da;border-radius:9px;font:inherit;background:white;color:var(--ink);max-width:100%}input:focus,select:focus,textarea:focus{outline:3px solid #1d4ed824;border-color:var(--blue)}button{cursor:pointer}.timeline{border-left:2px solid #c9d5f2;padding-left:30px;margin-left:14px}.event{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;margin:18px 0;box-shadow:0 5px 22px #12233a08}.event:before{content:'';position:absolute;left:-40px;top:29px;width:15px;height:15px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 6px var(--paper)}.event small{color:var(--blue);font-weight:800}.event h2{font-family:'DM Serif Display';letter-spacing:-.04em}.atlas-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:stretch}.atlas-visual{position:relative;min-height:430px;background:#dfe9ef;border:1px solid #c8d8e4;border-radius:18px;overflow:hidden}.atlas-visual svg{position:absolute;inset:0;width:100%;height:100%}.atlas-caption{position:absolute;bottom:18px;left:18px;right:18px;padding:15px 17px;border-radius:10px;background:#ffffffea;font-size:12px;font-weight:700;color:#30405a}.hero--home{padding-top:66px;padding-bottom:72px}.hero--home .hero-layout{display:grid;grid-template-columns:1.02fr .98fr;gap:40px;align-items:center}.hero--home:after{display:none}.hero--home h1{font-size:clamp(44px,5.5vw,76px)}.hero-kicker{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.hero-kicker span{border:1px solid #d5dce6;background:#fff;border-radius:50px;padding:7px 12px;color:#526278;font-size:12px;font-weight:700}.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:12px;background:white;overflow:hidden;margin-bottom:56px}.stat-strip>div{padding:24px 28px;border-right:1px solid var(--line)}.stat-strip>div:last-child{border-right:0}.stat-strip strong{display:block;font:700 31px 'DM Serif Display';letter-spacing:-.04em;color:var(--blue)}.stat-strip span{color:var(--muted);font-size:12px;font-weight:700}.section-label{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--coral);text-transform:uppercase}.section-intro{color:var(--muted);max-width:650px;margin:-10px 0 30px}.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:15px}.map-toolbar .chip{background:#fff;border:1px solid var(--line);padding:8px 12px;border-radius:30px;font-size:12px;color:#526172}.feature-band{background:#e6edfa;border:1px solid #cfdaf5;border-radius:14px;padding:35px;margin:50px 0;display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap}.feature-band h2{font:700 31px 'DM Serif Display';letter-spacing:-.04em;margin:0}.feature-band p{margin:7px 0 0;color:#5d6a7b}.feature-band .btn{white-space:nowrap}.mini-label{font-size:11px;color:#677589;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.atlas-legend{display:flex;gap:10px;flex-wrap:wrap}.atlas-legend span{display:flex;gap:6px;align-items:center;font-size:12px;color:#53657b}.atlas-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--coral)}.atlas-legend span:nth-child(2) i{background:var(--blue)}.atlas-legend span:nth-child(3) i{background:#4ba88e}body.heritage-unified{background:var(--paper);color:var(--ink)}body.heritage-unified>header.sitehead{background:white;color:var(--navy);border-color:var(--line)}body.heritage-unified>header.sitehead nav a{color:#435266}body.heritage-unified>header.sitehead nav a:last-child{color:#fff}body.heritage-unified main{max-width:1310px}body.heritage-unified h1,body.heritage-unified h2{font-family:'DM Serif Display',sans-serif;letter-spacing:-.04em}body.heritage-unified .card,body.heritage-unified .panel{border-radius:12px}body.heritage-unified button:not(.btn){border-radius:8px}@media(max-width:1100px){body>header,body>header.sitehead{position:relative;padding:15px 22px}body>header nav{gap:0}.hero--home .hero-layout{grid-template-columns:1fr}.atlas-visual{min-height:350px}.atlas-feature{grid-template-columns:1fr}}@media(max-width:650px){body>header nav a{font-size:11px;padding:7px}.hero{padding:54px 20px}.wrap{padding:40px 18px}.hero h1{font-size:44px}.hero p{font-size:16px}.grid{grid-template-columns:1fr}.stat-strip{grid-template-columns:1fr}.stat-strip>div{border-right:0;border-bottom:1px solid var(--line)}.mapbox{height:400px}.atlas-visual{min-height:280px}}

/* CARTOLLAMAAI V3 — TERRACOTTA ATLAS / design system */
:root{--clay:#B94F36;--clay-dark:#833D2E;--clay-deep:#5B2F29;--apricot:#E7A17B;--sand:#EAD1BA;--cream:#FFF8F0;--paper:#F7EFE7;--line:#E6CDBE;--navy:#713C30;--blue:#B94F36;--coral:#D97956;--ink:#3E2924;--muted:#7B5E53;--shadow:0 18px 46px rgba(105,50,34,.11)}
body{background:var(--paper);color:var(--ink);background-image:radial-gradient(ellipse at 90% 10%,rgba(217,121,86,.09),transparent 45%)}
body>header,body>header.sitehead{background:rgba(255,248,240,.97);border-bottom:1px solid #E6C7B3;box-shadow:0 4px 22px rgba(100,52,37,.07);backdrop-filter:blur(14px);min-height:82px}
.brand{color:var(--clay-deep);letter-spacing:-.04em;font-family:'DM Sans',sans-serif;font-weight:800}
.brand em,.brand span{color:var(--clay)}
body>header nav a{color:#69483C;font-weight:700;border-radius:999px}
body>header nav a:hover,body>header nav a[aria-current=page]{background:#F1D9CA;color:#7F3829}
body>header nav a:last-child{background:var(--clay-dark);color:#fff;border-radius:999px}
body>header nav a:last-child:hover{background:var(--clay)}
.hero{background:linear-gradient(118deg,#F8EDE2 0%,#F3D8C6 57%,#E9B596 100%);border-bottom:1px solid #DAB9A3;isolation:isolate}
.hero:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.42;background-image:repeating-radial-gradient(ellipse at 82% 60%,transparent 0 29px,rgba(138,67,45,.14) 30px 31px,transparent 32px 53px)}
.hero:after{content:'◌';font-family:Georgia,serif;color:rgba(128,59,41,.09);font-size:min(35vw,460px);top:-14%;right:0}
.hero--home{background:linear-gradient(122deg,#F9EDE1 0%,#F2D3BC 53%,#DE9C79 100%)}
.hero--home:after{display:none}
.hero h1,.section-title,.tile h2,.event h2,.feature-band h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;letter-spacing:-.025em}
.hero h1{color:#5C3028;line-height:1.07}
.hero h1 strong{color:#B74C34;font-weight:400;font-style:italic}
.hero p{color:#69493E;font-size:18px}
.eyebrow,.section-label{color:#A34730;letter-spacing:.19em}
.eyebrow:before{background:#D47750}
.btn,button.btn{background:var(--clay);border-radius:999px;box-shadow:0 8px 20px rgba(145,59,39,.19);padding:14px 24px}
.btn:hover{background:#883B2B;box-shadow:0 12px 25px rgba(145,59,39,.22)}
.btn.alt{background:#FFF8F0;border:1px solid #D8AE97;color:#783D2F}
.hero-kicker span{background:#FFF5EC;border-color:#DFBCA5;color:#7D503E}
.wrap{max-width:1310px}
.section-title{color:#6A352B}
.tile,.panel,.event{background:#FFFBF6;border:1px solid #E9CFC0;box-shadow:0 10px 32px rgba(95,48,33,.065);border-radius:20px}
.tile{position:relative;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.tile:before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#B84C35,#D77D57,#E6B18C)}
.tile:hover{transform:translateY(-6px);box-shadow:0 20px 45px rgba(95,48,33,.13);border-color:#D7A68B}
.tile small{background:#F9E1D3;color:#9A422E;border-radius:999px;font-family:'DM Sans',sans-serif}
.tile h2{color:#67382D;font-size:29px}
.tile p,.note{color:#785E53}
.tile a{color:#A84B35}
.stat-strip{border-color:#E4C5B3;border-radius:18px;background:#FFFAF5;box-shadow:0 10px 32px rgba(95,48,33,.05)}
.stat-strip>div{border-color:#E4C5B3}
.stat-strip strong{color:#A94A35;font-family:'DM Serif Display',Georgia,serif;font-size:38px;font-weight:400}
.mapbox{border:1px solid #D8B19A;background:#EBD6C5;border-radius:20px;box-shadow:var(--shadow)}
.atlas-visual{background:linear-gradient(140deg,#E8C8AE,#F6E7D8);border:1px solid #D8B29B;border-radius:24px;box-shadow:0 16px 36px rgba(105,50,34,.12)}
.atlas-caption{background:rgba(255,248,240,.93);color:#654033;border:1px solid #E7CDBB;border-radius:14px}
.map-toolbar .chip{background:#FFF8F0;color:#774E3E;border-color:#E3C2AD}
.feature-band{background:linear-gradient(115deg,#EBC1A7,#F4DED0);border:1px solid #DDAA8C;border-radius:22px}
.feature-band p{color:#725044}
.filters input,.filters select,input,select,textarea{background:#FFFBF7;border:1px solid #DDBCA9;color:#4D3029;border-radius:13px}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(185,79,54,.18);border-color:#B94F36}
.timeline{border-left:3px solid #D6A087}
.event:before{background:#B94F36;box-shadow:0 0 0 7px #F7EFE7}
.event small{color:#A64933}
footer{background:#5B3029;color:#F8E9DE;border-top:5px solid #BD6146}
body.heritage-unified{background:var(--paper);color:var(--ink)}
body.heritage-unified>header.sitehead{background:#FFF8F0;color:var(--clay-deep)}
body.heritage-unified>header.sitehead nav a{color:#69483C}
body.heritage-unified>header.sitehead nav a:last-child{color:#fff}
body.heritage-unified h1,body.heritage-unified h2{font-family:'DM Serif Display',Georgia,serif}
::selection{background:#E9B79A;color:#50291F}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media(max-width:650px){body>header,body>header.sitehead{padding:15px 18px}.hero{padding:55px 20px}.hero h1{font-size:clamp(40px,10vw,56px)}.tile{border-radius:17px}.hero:after{display:none}}

/* V3.1 — charte globale terre cuite : priorité aux anciennes feuilles de style */
:root{--clay:#B94F36;--clay-dark:#713C30;--clay-soft:#D97956;--sand:#EAD1BA;--cream:#F7EFE7;--surface:#FFF9F3;--text:#3E2924;--blue:#B94F36;--navy:#713C30;--coral:#D97956;--paper:#F7EFE7;--ink:#3E2924;--muted:#7B5E53;--line:#E6CDBE}
html body,html body.heritage-unified{background:#F7EFE7!important;color:#3E2924!important}
html body :is(.shell,.auth-shell,.consultation-v123){color:#3E2924}
html body :is(.sitehead,header.sitehead){background:#FFF9F3!important;border-color:#E6CDBE!important;box-shadow:0 5px 22px #713C3010!important}
html body :is(.sitehead,header.sitehead) a{color:#713C30!important}
html body :is(.sitehead,header.sitehead) .brand span{color:#B94F36!important}
html body :is(.sitehead,header.sitehead) nav a:hover{background:#F3D9C9!important;color:#833D2E!important}
html body :is(.sitehead,header.sitehead) nav a[href='/login.html']{background:#833D2E!important;color:#fff!important}
html body :is(.auth-card,.consult-panel,.dictionary,.admin-panel,.answer-zone,.dictionary-results,.section-heading,.tile,.event,.card){background:#FFF9F3!important;color:#3E2924!important;border-color:#E6CDBE!important;box-shadow:0 12px 30px #713C3010!important;border-radius:18px}
html body :is(h1,h2,h3){color:#713C30}
html body :is(.eyebrow,.muted,.section-label){color:#A44C36}
html body :is(button,.btn,input[type=submit],.pagination button){background:#B94F36!important;color:#fff!important;border:1px solid #B94F36!important;border-radius:11px!important}
html body :is(button,.btn,input[type=submit],.pagination button):hover{background:#833D2E!important;border-color:#833D2E!important}
html body :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:#FFFCF8!important;color:#3E2924!important;border:1px solid #DDBCA9!important;border-radius:11px!important}
html body :is(input,select,textarea):focus-visible{outline:3px solid #D9795660!important;border-color:#B94F36!important}
html body :is(.tabs button.selected,.tabs .selected,[aria-selected=true]){background:#833D2E!important;color:#fff!important}
html body a:not(.brand):not(.btn):hover{color:#B94F36}
html body .shell>header{background:linear-gradient(115deg,#F0D1BE,#FFF7EF)!important;color:#713C30!important;border:1px solid #E6CDBE!important;border-radius:22px;padding:24px}
html body .shell>header h1{color:#713C30!important}
html body .heritage-footer,html body>footer{background:#5B3029!important;color:#F8E9DE!important}
html body :is(.consultation-v123,.auth-shell) a{accent-color:#B94F36}
html body .event a.event-link{display:inline-flex;margin-top:10px;padding:9px 15px;background:#B94F36;color:#fff!important;border-radius:10px;text-decoration:none;font-weight:700}
html body .event a.event-link:hover{background:#833D2E}
html body .detail-article{background:#FFF9F3;border:1px solid #E6CDBE;border-radius:22px;padding:clamp(20px,4vw,52px);box-shadow:0 12px 32px #713C3010}
html body .detail-article h2{margin-top:30px}
html body .detail-meta{color:#9C503B;font-weight:700}
html body .detail-back{display:inline-block;margin:24px 0;color:#833D2E;font-weight:700}
@media(max-width:720px){html body .shell>header{padding:18px}html body .sitehead nav{gap:2px}}

/* CartollamaAI V3.2 : formulaires clairs et texte à contraste renforcé */
html body :is(.auth-card,.auth-shell,.consult-panel,.dictionary,.dictionary-results,.quiz-card,.quiz-panel,.modal,.dialog,[role="dialog"],form,.form-card,.panel) {color:#211A17!important;}
html body :is(.auth-card,.consult-panel,.dictionary,.quiz-card,.quiz-panel,.modal,.dialog,[role="dialog"],.form-card) {background-color:#FFF9F3!important;border-color:#D6A78F!important;}
html body :is(form,.auth-card,.consult-panel,.dictionary,.quiz-card,.quiz-panel,.modal,.dialog,[role="dialog"]) :is(p,span,small,legend,dt,dd,li,strong,em,.muted,.hint,.help,.form-text,.form-description,.status,.message) {color:#35231D!important;}
html body :is(form,.auth-card,.consult-panel,.dictionary,.quiz-card,.quiz-panel,.modal,.dialog,[role="dialog"]) :is(label,h1,h2,h3,h4) {color:#211A17!important;}
html body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),textarea,select) {background:#FFFFFF!important;color:#211A17!important;-webkit-text-fill-color:#211A17!important;border:1px solid #B88A77!important;opacity:1!important;}
html body :is(input,textarea)::placeholder {color:#66564D!important;-webkit-text-fill-color:#66564D!important;opacity:1!important;}
html body :is(input,textarea,select):focus-visible {outline:3px solid #D9795660!important;outline-offset:1px;border-color:#A94730!important;}
html body :is(button,.btn,input[type="submit"],[role="button"]) {background:#A94730!important;color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;}
html body :is(button,.btn,input[type="submit"],[role="button"]):disabled {opacity:.62!important;}
html body :is(button,.btn,input[type="submit"],[role="button"]):hover:not(:disabled) {background:#833D2E!important;color:#FFFFFF!important;}
html body :is(.error,.error-message,[role="alert"]) {color:#812B20!important;}
html body :is(.success,.success-message) {color:#275B3A!important;}
html body :is(.auth-card,.consult-panel,.dictionary,.quiz-card,.quiz-panel) a:not(.btn) {color:#833D2E!important;}
html body :is(.auth-card,.consult-panel,.dictionary,.quiz-card,.quiz-panel) a:not(.btn):hover {color:#A94730!important;}
