/* Native Core widgets in content positions; header/footer keep existing styles. */
main :is(.nx-core-text-block,.nx-block-image,.nx-block-gallery,.nx-article-list-block,.nx-menu-block,.nx-core-language-switcher,.nx-block-logo,.nx-block-social-networks,.nx-block-address,.nx-block-phone,.nx-block-fax,.nx-contact-widget){min-width:0;background:#fff;border:1px solid #e7e0e2;border-radius:14px;padding:24px;color:#303030;overflow-wrap:anywhere}
main :is(.nx-block-title,.nx-article-list-block>h3,.nx-menu-block>h3,.nx-contact-widget .form-heading h3){margin:0 0 18px;font-size:18px;line-height:1.5;color:var(--crasc-bordeaux)}
main .nx-block-subtitle{margin:0 0 20px;color:#6a6264;font-size:14px;line-height:1.7}
/* Text, image, gallery */
main .nx-core-text-block{line-height:1.8}main .nx-core-text-block p{margin-block:0 16px}main .nx-core-text-block img{max-width:100%;height:auto}main .nx-core-text-block table{display:block;max-width:100%;overflow:auto}main .nx-core-text-block a{color:var(--crasc-bordeaux)}
main .nx-block-image>img{display:block;width:100%;height:auto;border-radius:8px}
main .nx-gallery-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:16px;align-items:start}main .nx-gallery-item{min-width:0;border-radius:8px;overflow:hidden}main .nx-gallery-item img{display:block;width:100%;height:auto}
/* Latest and category articles, list and media modes */
main .nx-article-list-block>ul{list-style:none;margin:0;padding:0}main .nx-article-list-block>ul>li+li{border-block-start:1px solid #eee7e9}main .nx-article-list-block>ul>li>a{display:block;padding:13px 0;text-decoration:none;line-height:1.65;font-size:15px}
main .nx-article-media-list{display:grid;gap:18px}main .nx-article-media-item{display:flex;align-items:start;gap:14px;min-width:0}main .nx-article-media-item+.nx-article-media-item{padding-block-start:18px;border-block-start:1px solid #eee7e9}main .nx-article-media-image{display:block;flex:0 0 86px;overflow:hidden;border-radius:8px;aspect-ratio:4/3}main .nx-article-media-image img{display:block;width:100%;height:100%;object-fit:cover}main .nx-article-media-title{flex:1;min-width:0;font-size:15px;line-height:1.6;font-weight:600;text-decoration:none}main .nx-article-list-block a:hover{color:var(--crasc-bordeaux)}
/* Menu: full hierarchy outside the header */
main .nx-menu-block ul{display:block;list-style:none;margin:0;padding:0}main .nx-menu-block li>a,main .nx-menu-block li>span{display:block;padding:11px 0;line-height:1.6;text-decoration:none}main .nx-menu-block li+li{border-block-start:1px solid #eee7e9}main .nx-menu-block li>ul{padding-inline-start:18px;border-inline-start:2px solid #eee7e9;margin-block:0 10px}main .nx-menu-block a:hover{color:var(--crasc-bordeaux);text-decoration:underline}
/* Languages, logo, social networks */
main .nx-core-language-switcher ul,main .nx-block-social-networks ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}main .nx-core-language-switcher a,main .nx-block-social-networks a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid #e7e0e2;border-radius:8px;text-decoration:none}main .nx-core-language-switcher a.is-active{background:var(--crasc-bordeaux);border-color:var(--crasc-bordeaux);color:#fff}main .nx-block-logo{text-align:center}main .nx-block-logo>img{display:block;max-width:100%;width:auto;height:auto;max-height:110px;object-fit:contain;margin-inline:auto}main .nx-block-social-networks a:hover{background:#f7edef;color:var(--crasc-bordeaux)}
/* Address, telephone, fax */
main .nx-block-address address{font-style:normal;line-height:1.85}main :is(.nx-block-phone,.nx-block-fax)>ul{list-style:none;margin:0;padding:0}main :is(.nx-block-phone,.nx-block-fax) li{display:flex;flex-wrap:wrap;gap:6px 12px;padding-block:10px;line-height:1.6}main :is(.nx-block-phone,.nx-block-fax) li+li{border-block-start:1px solid #eee7e9}main :is(.nx-block-phone,.nx-block-fax) .nx-contact-label{color:#6a6264;font-size:14px}main .nx-block-phone a,main .nx-block-fax .nx-contact-number{direction:ltr;unicode-bidi:isolate;font-weight:600}main .nx-block-phone a{color:var(--crasc-bordeaux);text-decoration:none}
/* Contact: presentation only, Core retains submission and security */
main .nx-contact-widget .public-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}main .nx-contact-widget .public-form label{display:grid;gap:8px;min-width:0;font-size:14px}main .nx-contact-widget .public-field-full{grid-column:1/-1}main .nx-contact-widget :is(input:not([type="hidden"]):not(.public-honeypot),select,textarea){box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:11px 13px;border:1px solid #d9d1d3;border-radius:8px;background:#fff;color:#303030;font:inherit}main .nx-contact-widget textarea{resize:vertical;line-height:1.7}main .nx-contact-widget .public-honeypot{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;opacity:0;pointer-events:none}main .nx-contact-widget .public-alert{padding:14px 16px;margin-block-end:18px;border:1px solid;border-radius:8px;line-height:1.7}main .nx-contact-widget .public-alert-success{color:#235534;background:#f0f8f2;border-color:#bdd8c5}main .nx-contact-widget .public-alert-error{color:#7d2731;background:#fff1f2;border-color:#e5bac0}main .nx-contact-widget button[type="submit"]{min-height:44px;padding:10px 20px;border-radius:8px}
main [data-position-key^="sidebar-"] .nx-contact-widget .public-form{grid-template-columns:minmax(0,1fr)}
main :is(.nx-core-text-block,.nx-block-gallery,.nx-article-list-block,.nx-menu-block,.nx-core-language-switcher,.nx-block-social-networks,.nx-block-phone,.nx-contact-widget) :is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--crasc-bordeaux);outline-offset:3px}
@media(max-width:600px){main :is(.nx-core-text-block,.nx-block-image,.nx-block-gallery,.nx-article-list-block,.nx-menu-block,.nx-core-language-switcher,.nx-block-logo,.nx-block-social-networks,.nx-block-address,.nx-block-phone,.nx-block-fax,.nx-contact-widget){padding:18px}main .nx-contact-widget .public-form{grid-template-columns:minmax(0,1fr)}main .nx-article-media-image{flex-basis:72px}}

/* Latest articles only, media mode: image above title.
   Core uses dotted type classes in compositions, hyphenated in global positions. */
main :is([class~="nx-block-core.latest_articles"],.nx-block-core-latest_articles) .nx-article-media-item{flex-direction:column;align-items:stretch;gap:12px}
main :is([class~="nx-block-core.latest_articles"],.nx-block-core-latest_articles) .nx-article-media-image{flex:0 0 auto;width:100%;aspect-ratio:16/10}
main :is([class~="nx-block-core.latest_articles"],.nx-block-core-latest_articles) .nx-article-media-title{flex:0 0 auto;width:100%}
