/*
 * artssemblage 3.9.55 — ajustements visuels minimaux sur la base stable 3.9.21.
 * Cette couche ne modifie aucun gabarit ni comportement : elle redessine
 * uniquement les composants existants après le chargement des styles historiques.
 */
:root{
    --ink:#261f2e;
    --paper:#f8f6f2;
    --white:#fff;
    --coral:#e96854;
    --plum:#55315f;
    --yellow:#f2c959;
    --mint:#91c8b3;
    --rose:#f9dfd9;
    --light-mint:#e3f0eb;
    --line:1px solid rgba(38,31,46,.15);
    --shadow:none;
    --radius:20px;
    --surface:rgba(255,255,255,.86);
    --surface-line:rgba(38,31,46,.12);
    --soft-shadow:none;
    --strong-shadow:none;
    --ease:cubic-bezier(.2,.75,.25,1);
}

/* Aucune ombre decorative sur les surfaces du theme. */
:where(
    .site-header,.brand-mark,.menu-toggle,.primary-nav,
    .wp-block-button__link,.button,
    .sidebar-card,.audio-card,.exhibition-card,.map-card,.empty-state,
    .post-card,.artssemblage-service-card,.artssemblage-home-news .wp-block-post,
    .arts-exposition-card,.arts-exposition-catalogue .arts-audio-search__field,
    .arts-exposition-native-info,.arts-exposition-info-block,
    .entry-content>img,.native-block-page__image,.wp-block-post-featured-image img,
    .artssemblage-page-body>.artssemblage-cartography-intro,
    .artssemblage-cartography-filters,.artssemblage-cartography-frame,
    .artssemblage-cartography-pick-position,.artssemblage-map-dialog,
    .artssemblage-cartography-map .leaflet-control-zoom,
    .artssemblage-cartography-map .leaflet-popup-content-wrapper,
    .arts-audio-search__field,.arts-audio-card,.arts-audio-empty,
    .arts-audio-player-card,.arts-audio-player-card__media,.arts-audio-platform,
    .arts-audio-sticky,.arts-audio-sticky__cover,.arts-audio-sticky__play,
    .arts-audio-toast,.arts-audio-feed-badge
){box-shadow:none!important}

html{scroll-padding-top:100px}
body{
    background:
        radial-gradient(circle at 92% 4%,rgba(242,201,89,.11),transparent 29rem),
        radial-gradient(circle at 4% 28%,rgba(145,200,179,.1),transparent 26rem),
        var(--paper);
    font-family:"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",Arial,sans-serif;
    font-size:17px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}
::selection{background:var(--yellow);color:var(--ink)}
h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:800;text-wrap:wrap}
a{transition:color .2s ease,background-color .2s ease,opacity .2s ease}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}

/* Actions et libellés */
:where(.wp-block-button__link,.button){
    min-height:48px;
    padding:12px 20px;
    background:transparent;
    color:var(--ink);
    border:1px solid currentColor;
    border-radius:4px;
    box-shadow:none;
    font-weight:750;
    transition:color .18s ease,border-color .18s ease;
}
.wp-block-button>.wp-block-button__link{background:transparent!important;color:var(--ink)!important;border:1px solid var(--ink)!important;box-shadow:none!important}
.wp-block-button__link:hover,.button:hover{background:transparent!important;color:var(--ink)!important;border-color:var(--ink)!important;box-shadow:none;transform:none}
.wp-block-button__link:active,.button:active{background:transparent!important;box-shadow:none;transform:none}
.has-encre-background-color :is(.wp-block-button__link,.button),.has-prune-background-color :is(.wp-block-button__link,.button),.section--plum :is(.wp-block-button__link,.button),.site-footer :is(.wp-block-button__link,.button),.audio-card :is(.wp-block-button__link,.button){color:#fff!important;border-color:rgba(255,255,255,.78)!important}
.has-ivoire-background-color :is(.wp-block-button__link,.button),.has-blanc-background-color :is(.wp-block-button__link,.button),.has-corail-background-color :is(.wp-block-button__link,.button),.has-jaune-background-color :is(.wp-block-button__link,.button),.has-menthe-background-color :is(.wp-block-button__link,.button),.has-rose-background-color :is(.wp-block-button__link,.button),.has-vert-clair-background-color :is(.wp-block-button__link,.button){color:var(--ink)!important;border-color:var(--ink)!important}
:where(.eyebrow){
    margin-bottom:30px;
    padding:7px 12px;
    background:rgba(242,201,89,.82);
    border:0;
    border-radius:3px;
    box-shadow:none;
    font-size:13px;
    font-weight:750;
    line-height:1.35;
    letter-spacing:.1em;
}

/* En-tête et navigation */
.site-header{
    background:rgba(248,246,242,.82);
    border-bottom:1px solid rgba(38,31,46,.09);
    box-shadow:0 8px 30px rgba(38,31,46,.04);
    -webkit-backdrop-filter:blur(18px) saturate(1.2);
    backdrop-filter:blur(18px) saturate(1.2);
}
.header-inner{min-height:88px}
.site-branding{gap:14px}
.brand-mark{
    overflow:hidden;
    background:linear-gradient(145deg,#f07b65,var(--coral));
    border:0;
    border-radius:15px;
    box-shadow:none;
}
.site-title{font-size:1.12rem;font-weight:800;letter-spacing:-.02em}
.site-description{margin-top:1px;color:rgba(38,31,46,.63);font-size:.72rem;letter-spacing:.015em}
.primary-menu{font-weight:700}
.primary-menu a{padding:9px 11px;border-radius:10px;transition:background-color .2s ease,color .2s ease}
.primary-menu a:hover{background:rgba(85,49,95,.08);color:var(--plum);text-decoration:none}
@media(min-width:1381px){
    .primary-menu>.menu-item-has-children{
        border-radius:10px;
        transition:background-color .2s ease,color .2s ease;
    }
    .primary-menu>.menu-item-has-children:hover,
    .primary-menu>.menu-item-has-children:focus-within,
    .primary-menu>.menu-item-has-children.is-submenu-open,
    .primary-menu>.menu-item-has-children.current-menu-ancestor{
        background:rgba(85,49,95,.08);
        color:var(--plum);
    }
    .primary-menu>.menu-item-has-children:hover>a,
    .primary-menu>.menu-item-has-children:focus-within>a,
    .primary-menu>.menu-item-has-children.is-submenu-open>a,
    .primary-menu>.menu-item-has-children.current-menu-ancestor>a{
        background:transparent;
        color:inherit;
        text-decoration:none;
    }
}
.menu-toggle{
    background:transparent;
    color:var(--coral);
    border:0;
    border-radius:0;
    box-shadow:none;
    transition:none;
}
.menu-toggle:hover{background:transparent;color:var(--coral);transform:none;box-shadow:none}
.menu-toggle__lines i{background:var(--coral)}

/* En-têtes, contenus et surfaces partagées */
.page-hero,.exposition-hero{
    background:linear-gradient(135deg,rgba(249,223,217,.58),rgba(255,255,255,.12) 55%,rgba(227,240,235,.44));
    border-bottom:1px solid var(--surface-line);
}
.page-hero h1,.exposition-hero h1{font-weight:800;letter-spacing:-.05em}
.section--plum{background:linear-gradient(135deg,#43254d,var(--plum));color:#fff}
.section--yellow{background:linear-gradient(135deg,#f7d875,var(--yellow))}
.entry-content{min-width:0}
.entry-content>img,.native-block-page__image{border:0;border-radius:24px;box-shadow:var(--soft-shadow)}
.entry-content h2{letter-spacing:-.035em}
.sidebar-card,.audio-card,.exhibition-card,.map-card,.empty-state{
    background:var(--surface);
    border:1px solid var(--surface-line);
    border-radius:var(--radius);
    box-shadow:var(--soft-shadow);
}
.sidebar-card,.audio-card,.exhibition-card{padding:26px}
.audio-card{background:linear-gradient(145deg,#482752,var(--plum));color:#fff;border-color:transparent;box-shadow:none}
.audio-card .button{background:transparent;color:#fff;border-color:rgba(255,255,255,.78);box-shadow:none}
.map-card{border:0}
.tags a,.platforms a{
    padding:6px 12px;
    background:rgba(255,255,255,.5);
    border:1px solid currentColor;
    font-size:.8rem;
    transition:background-color .2s ease,transform .2s var(--ease);
}
.tags a:hover,.platforms a:hover{background:var(--white);transform:translateY(-1px)}
.pagination .page-numbers{
    display:grid;
    min-width:42px;
    min-height:42px;
    padding:8px 12px;
    place-items:center;
    background:rgba(255,255,255,.65);
    border:1px solid var(--surface-line);
    border-radius:12px;
}
.pagination .current{background:var(--yellow);border-color:transparent}

/* Articles */
.post-card{
    background:var(--surface);
    border:1px solid var(--surface-line);
    border-radius:var(--radius);
    box-shadow:var(--soft-shadow);
    transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s ease;
}
.post-card:hover{transform:none;border-color:rgba(38,31,46,.2);box-shadow:none}
.post-card__image{border-bottom:0}
.post-card__body{padding:25px}
.post-card h2{letter-spacing:-.025em}
.post-meta{color:var(--plum);font-size:.74rem;letter-spacing:.075em}
.post-card__more{color:var(--coral)}

/* Accueil */
.artssemblage-home-hero:not(.has-background){background:linear-gradient(140deg,rgba(249,223,217,.72),rgba(248,246,242,.92) 48%,rgba(227,240,235,.74))}
.artssemblage-home-services:not(.has-background){background:rgba(255,255,255,.32)}
.artssemblage-home-news:not(.has-background){background:rgba(227,240,235,.32)}
.artssemblage-home-cta:not(.has-background){background:linear-gradient(135deg,#482752,var(--plum));color:#fff}
:where(.artssemblage-service-card){
    border:1px solid var(--surface-line);
    border-radius:var(--radius);
    box-shadow:var(--soft-shadow);
    transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
:where(.artssemblage-service-card:hover){transform:none;box-shadow:none}
:where(.artssemblage-service-card:not(.has-background)){background:rgba(255,255,255,.9)}
.artssemblage-service-card>p:first-child{color:var(--plum);font-size:.8rem;letter-spacing:.065em;text-transform:uppercase}
.artssemblage-service-card>p:last-child a{color:var(--coral);text-decoration:none}
.artssemblage-home-news .wp-block-post{border:1px solid var(--surface-line);border-radius:var(--radius);box-shadow:var(--soft-shadow);overflow:hidden}

/* Catalogue et fiches d'exposition */
.arts-exposition-catalogue .arts-audio-search__field{
    background:rgba(255,255,255,.88);
    border:1px solid var(--surface-line);
    border-radius:14px;
    box-shadow:var(--soft-shadow);
}
.arts-exposition-catalogue .arts-audio-search input:focus{outline:3px solid var(--yellow);outline-offset:2px}
.arts-exposition-catalogue .arts-audio-empty{background:var(--surface);border:1px solid var(--surface-line);border-radius:var(--radius)}
.arts-exposition-card{
    background:var(--surface);
    border:1px solid var(--surface-line);
    border-radius:var(--radius);
    box-shadow:var(--soft-shadow);
    transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
.arts-exposition-card:hover{transform:none;box-shadow:none}
.arts-exposition-card__visual{border-bottom:0}
.arts-exposition-card__date{color:var(--plum);letter-spacing:.075em}
.arts-exposition-card__title{letter-spacing:-.02em}
.arts-exposition-card strong{color:var(--coral);text-decoration:none}
.arts-exposition-card mark{padding:.06em .18em;background:rgba(242,201,89,.75);border-radius:4px}
.arts-exposition-page-hero{
    background:linear-gradient(135deg,#f7d875,var(--yellow) 50%,#edbc43)!important;
    border-bottom:0;
}
.arts-exposition-page-hero__inner>.wp-block-post-title{font-weight:800;letter-spacing:-.05em}
.arts-exposition-page-hero__media .wp-block-post-featured-image img{border:0;border-radius:24px;box-shadow:var(--strong-shadow)}
.arts-exposition-tags a{background:rgba(255,255,255,.68);border:1px solid currentColor}
.arts-exposition-native-info,.arts-exposition-info-block{
    background:rgba(255,255,255,.9);
    border:1px solid var(--surface-line);
    border-radius:18px;
    box-shadow:var(--soft-shadow);
}
.arts-exposition-native-info__title:after,.arts-exposition-info-card__title:after{height:4px;border-radius:99px}

/* Cartographie */
.artssemblage-page-body>.artssemblage-cartography-intro{border-radius:var(--radius);box-shadow:var(--soft-shadow)}
.artssemblage-page-body>.artssemblage-cartography-intro::before{height:5px;background:linear-gradient(90deg,var(--mint),var(--yellow))}
.artssemblage-cartography-intro__kicker{letter-spacing:.12em}
.artssemblage-cartography-filters{
    padding:16px;
    background:linear-gradient(135deg,#482752,var(--plum));
    border:0;
    border-top:0;
    border-radius:18px;
    box-shadow:none;
}
.artssemblage-cartography-filterbar{
    background:rgba(255,255,255,.95);
    border:0;
    border-radius:12px;
    overflow:hidden;
}
.artssemblage-cartography-filterbar__podcast{border-left:1px solid var(--surface-line)}
.artssemblage-cartography-filterbar input:focus,.artssemblage-cartography-filterbar input:focus-visible,.artssemblage-cartography-filterbar select:focus,.artssemblage-cartography-filterbar select:focus-visible{box-shadow:inset 0 -3px var(--coral)}
.artssemblage-cartography-reset{
    border:1px solid rgba(255,255,255,.35);
    border-radius:12px;
    transition:background-color .2s ease,border-color .2s ease,transform .2s var(--ease);
}
.artssemblage-cartography-reset:hover{transform:translateY(-1px)}
.artssemblage-cartography-frame{border:0;border-radius:22px;box-shadow:var(--strong-shadow)}
.artssemblage-cartography-map{font-family:"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",Arial,sans-serif}
.artssemblage-cartography-map .leaflet-control-zoom{overflow:hidden;border:1px solid var(--surface-line);border-radius:11px;box-shadow:var(--soft-shadow)}
.artssemblage-cartography-map .leaflet-control-zoom a{background:rgba(255,255,255,.94);border-bottom:1px solid var(--surface-line)}
.artssemblage-cartography-map .leaflet-control-attribution{background:rgba(255,255,255,.88)}
.artssemblage-cartography-loading{background:rgba(248,246,242,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.artssemblage-cartography-pick-position{background:var(--yellow);border:0;border-radius:3px;box-shadow:var(--soft-shadow)}
.artssemblage-cartography-pick-position button{background:rgba(255,255,255,.8);border:0;border-radius:3px}
.artssemblage-map-dialog{
    background:rgba(248,246,242,.98);
    border:1px solid var(--surface-line);
    border-radius:18px;
    box-shadow:var(--strong-shadow);
}
.artssemblage-map-dialog__close,.artssemblage-cartography-map .leaflet-popup-close-button{
    background:rgba(255,255,255,.9)!important;
    border:1px solid var(--surface-line)!important;
    border-radius:10px!important;
}
.artssemblage-map-pin__shape{background:var(--coral);border:2px solid #fff;border-radius:10px;box-shadow:0 8px 18px rgba(38,31,46,.28)}
.artssemblage-map-pin__shape::after{background:#fff;border:0;border-radius:50%}
.artssemblage-user-location__symbol{border-color:#fff;box-shadow:0 0 0 2px rgba(38,31,46,.4),0 5px 12px rgba(38,31,46,.2)}
.artssemblage-user-location__label{background:#fff;border:1px solid var(--surface-line);border-radius:7px;box-shadow:0 4px 12px rgba(38,31,46,.1)}
.artssemblage-map-cluster span{background:var(--yellow);border:2px solid #fff;border-radius:50%;box-shadow:0 8px 20px rgba(38,31,46,.22)}
.artssemblage-cartography-map .leaflet-popup-content-wrapper{background:rgba(248,246,242,.98);border:1px solid var(--surface-line);border-radius:18px;box-shadow:var(--strong-shadow)}
.artssemblage-map-group__header{background:linear-gradient(135deg,#f7d875,var(--yellow));border-bottom:1px solid var(--surface-line)}
.artssemblage-map-group__item{border-bottom:1px solid var(--surface-line);transition:background-color .2s ease}
.artssemblage-map-group__item:hover{background:rgba(255,255,255,.7)}
.artssemblage-map-group__thumb{background:var(--rose);border:0;border-radius:11px}
.artssemblage-cartography-list{border-color:var(--surface-line)}
.artssemblage-cartography-list__location{background:rgba(227,240,235,.78);border-color:var(--surface-line)}
.artssemblage-cartography-list__location button{border:1px solid var(--surface-line);border-radius:10px;transition:background-color .2s ease,transform .2s var(--ease)}
.artssemblage-cartography-list__location button:hover{transform:translateY(-1px)}
.artssemblage-cartography-list ul{border-color:var(--surface-line)}
.artssemblage-cartography-list li{background:rgba(255,255,255,.76);border-color:var(--surface-line)}
.artssemblage-cartography-list__distance{background:rgba(242,201,89,.82);border:0;border-radius:3px}
.artssemblage-cartography-message{background:rgba(242,201,89,.82);border:0;border-radius:3px}

/* Pied de page */
.site-footer{background:linear-gradient(135deg,#211a29,#3b2343);color:#fff}
.footer-title{margin-bottom:6px;letter-spacing:-.035em}
.footer-bottom{border-top-color:rgba(255,255,255,.14)}
.footer-menu a{color:rgba(255,255,255,.78);text-decoration:none}
.footer-menu a:hover{color:#fff}
.copyright,.footer-menu a{font-size:.82rem}

@media(max-width:1380px){
    body.menu-open .site-header{
        -webkit-backdrop-filter:none;
        backdrop-filter:none;
    }
    .primary-nav{
        background:rgba(248,246,242,.97);
        border-left:1px solid var(--surface-line);
        box-shadow:-22px 0 60px rgba(38,31,46,.14);
        -webkit-backdrop-filter:blur(18px);
        backdrop-filter:blur(18px);
    }
    .primary-menu li{border-bottom:1px solid var(--surface-line)}
    .primary-menu a{border-radius:0}
    .nav-scrim:not([hidden]){
        background:rgba(38,31,46,.13);
        -webkit-backdrop-filter:blur(14px) saturate(.78);
        backdrop-filter:blur(14px) saturate(.78);
    }
}
@media(max-width:760px){
    body{font-size:16px}
    .header-inner{min-height:76px}
    .menu-toggle{width:46px;height:46px}
    .wp-block-group>.eyebrow{display:block;width:fit-content;max-width:100%;margin-left:0!important;margin-right:auto!important;text-align:center;white-space:normal}
    .artssemblage-cartography-filterbar__podcast{border-top:1px solid var(--surface-line);border-left:0}
    .sidebar-card,.audio-card,.exhibition-card{padding:22px}
}
@media(prefers-reduced-motion:reduce){
    .post-card,.artssemblage-service-card,.arts-exposition-card,.wp-block-button__link,.button,.menu-toggle{transform:none!important}
}
