/* ===== Compléments WordPress (contenu dynamique, menus, formulaires, extensions) ===== */
.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;color:var(--vert);padding:10px 16px;border-radius:10px;font-weight:600}
.skip-link:focus{left:16px}
:focus-visible{outline:3px solid var(--terra);outline-offset:2px}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}

/* Menus générés par WordPress */
.nav .menu{display:flex;gap:20px;list-style:none;font-size:14.5px;white-space:nowrap}
.nav .menu a{opacity:.92;padding:6px 0;border-bottom:2px solid transparent}
.nav .menu a:hover,.nav .menu .current-menu-item>a,.nav .menu .current_page_item>a,.nav .menu .current-menu-ancestor>a{opacity:1;border-color:var(--terra)}
.mobile-menu .menu{list-style:none}
.site-footer .menu{list-style:none;display:grid;gap:10px;font-size:15px}
.fbottom .legal ul{list-style:none;display:flex;gap:18px;flex-wrap:wrap}
.site-footer .socials a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08)}
.site-footer .socials a:hover{background:var(--terra)}
.site-footer .socials svg{width:18px;height:18px}
.nav .logo img{height:58px;width:auto}
@media (max-width:1180px){.nav .nav-main{display:none}}
@media (max-width:560px){.btn-account{display:none}}

/* En-tête des pages intérieures */
.page-hero{position:relative;overflow:hidden;background:var(--vert-900);color:#fff;padding:72px 0 80px!important}
.page-hero .wm{position:absolute;right:-110px;top:-90px;width:460px;opacity:.06;pointer-events:none}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{font-size:clamp(32px,4.4vw,52px);max-width:22ch}
.page-hero .lead{color:rgba(255,255,255,.86);margin-top:14px}
.page-hero .eyebrow{color:#fff}
.page-body{padding:64px 0 24px!important}
.narrow{max-width:780px;margin:0 auto}

/* Contenu rédigé dans l'éditeur */
.entry-content{font-size:17px;line-height:1.75;color:var(--texte)}
.entry-content > * + *{margin-top:1.1em}
.entry-content h2{font-size:clamp(24px,3vw,32px);color:var(--vert);margin-top:1.8em}
.entry-content h3{font-size:21px;color:var(--vert);margin-top:1.5em}
.entry-content ul,.entry-content ol{padding-left:1.4em}
.entry-content li + li{margin-top:.4em}
.entry-content li::marker{color:var(--terra)}
.entry-content a{color:var(--terra);text-decoration:underline;text-underline-offset:3px}
.entry-content blockquote{border-left:4px solid var(--terra);background:var(--creme);padding:18px 22px;border-radius:0 var(--r-sm) var(--r-sm) 0;font-weight:600;color:var(--vert)}
.entry-content img{border-radius:var(--r)}
.entry-content figcaption{font-size:13.5px;color:var(--texte-doux);margin-top:8px}
.entry-content table{width:100%;border-collapse:collapse;font-size:15px}
.entry-content th,.entry-content td{border-bottom:1px solid var(--ligne);padding:10px;text-align:left}
.entry-content .wp-block-button__link{background:var(--terra);color:#fff;border-radius:999px;padding:14px 26px;font-weight:600;text-decoration:none}
.has-vert-color{color:var(--vert)}.has-terra-color{color:var(--terra)}.has-vert-background-color{background:var(--vert)}.has-terra-background-color{background:var(--terra)}.has-creme-background-color{background:var(--creme)}.has-vert-50-background-color{background:var(--vert-50)}

/* Photos dynamiques */
.photo.has-img{display:block;background:none}
.photo.has-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}

/* Listes d'articles */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.post-grid .bcard h3 a:hover{color:var(--terra)}
.pagination{margin-top:48px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.pagination .page-numbers{min-width:44px;height:44px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--ligne);padding:0 14px;font-weight:600}
.pagination .current{background:var(--vert);border-color:var(--vert);color:#fff}
.post-meta{font-size:14px;color:var(--texte-doux);margin-top:14px}
.single-thumb{margin:-40px auto 32px;max-width:980px;border-radius:var(--r);overflow:hidden;position:relative;z-index:2;box-shadow:var(--ombre)}
.single-thumb img{width:100%}
.cat-filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}
.cat-filter a{border:1px solid var(--ligne);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600}
.cat-filter a.on,.cat-filter a:hover{background:var(--vert);border-color:var(--vert);color:#fff}
@media (max-width:860px){.post-grid{grid-template-columns:1fr}}

/* Formulaires */
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=search],input[type=number],input[type=url],input[type=date],select,textarea{font:inherit;font-size:15px;width:100%;padding:12px 14px;border:1px solid #cdd9d5;border-radius:var(--r-sm);background:#fff;color:var(--texte)}
input:focus,select:focus,textarea:focus{border-color:var(--vert);outline:2px solid var(--vert-100)}
label{font-weight:600;font-size:14.5px}
button,input[type=submit]{font:inherit}
.search-form{display:flex;gap:10px;max-width:520px}
.search-form .search-submit{background:var(--vert);color:#fff;border:0;border-radius:999px;padding:0 22px;font-weight:600;cursor:pointer}

/* Commentaires */
.comments-area{margin-top:56px}
.comment-list{list-style:none;display:grid;gap:18px}
.comment-body{background:var(--creme);border-radius:var(--r);padding:18px 20px}

/* 404 */
.notfound{text-align:center;padding:96px 0}
.notfound .search-form{margin:24px auto 0}

/* WooCommerce : boutons et notices aux couleurs de l'Atelier */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit,.wc-block-components-button:not(.is-link){background:var(--terra)!important;color:#fff!important;border-radius:999px!important;font-weight:600!important;padding:12px 24px!important;border:0!important}
.woocommerce .button:hover,.wc-block-components-button:not(.is-link):hover{background:#A93A22!important}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notices-wrapper .wc-block-components-notice-banner{border-radius:var(--r-sm)}
.woocommerce-message,.woocommerce-info{border-top-color:var(--vert)!important}
.woocommerce-message::before,.woocommerce-info::before{color:var(--vert)!important}
.woocommerce table.shop_table{border-radius:var(--r-sm);border-color:var(--ligne)}
.woocommerce form .form-row{margin-bottom:14px}
.woocommerce form.login,.woocommerce form.register{border:1px solid var(--ligne)!important;border-radius:var(--r)!important;padding:28px!important}
.woocommerce-page .page-body .woocommerce{max-width:var(--max)}
.u-columns.col2-set{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.u-columns.col2-set::before,.u-columns.col2-set::after{display:none}
.u-columns .col-1,.u-columns .col-2{width:auto!important;float:none!important}
@media (max-width:760px){.u-columns.col2-set{grid-template-columns:1fr}}

/* Tutor LMS : intégration dans la page */
.tutor-wrap,.tutor-container{font-family:Poppins,system-ui,sans-serif}

/* Événements */
.egrid--light .ecard{border:1px solid var(--ligne)}
.ecard h3 a:hover{color:var(--terra)}
.page-hero .facts{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.page-hero .facts span{display:flex;gap:10px;align-items:center;font-size:15px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-sm);padding:10px 14px}
.page-hero .facts svg{width:20px;height:20px;color:#F6B8A8;flex:none}
.page-hero .crumbs{font-size:13.5px;opacity:.8;margin-bottom:14px}
.event-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:48px;align-items:start}
.event-box{position:sticky;top:110px;background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:26px;box-shadow:var(--ombre)}
@media (max-width:900px){.event-layout{grid-template-columns:1fr}.event-box{position:static}}

/* Catalogue et contact */
.hec--light{border:1px solid var(--ligne);box-shadow:var(--ombre)}
.minis a:hover{color:var(--terra)}
.soon--light > div{background:var(--creme);color:var(--texte);border-color:var(--ligne)}
.soon--light .tag{background:var(--vert-50);color:var(--vert)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-cards .ccard p{overflow-wrap:anywhere}
.contact-cta{background:var(--vert);color:#fff;border-radius:var(--r);padding:32px;margin-top:24px}
.contact-cta h3{font-size:22px;margin-bottom:8px}
.contact-cta p{opacity:.9;margin-bottom:18px}
@media (max-width:860px){.contact-grid,.contact-cards{grid-template-columns:1fr}}
.contact-cards{grid-template-columns:1fr}
.contact-form-box{background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:30px;box-shadow:var(--ombre)}

/* Formulaires de l'extension */
.ar-form{display:grid;gap:14px}
.ar-form p{margin:0}
.ar-form label{display:block;margin-bottom:6px}
.ar-form__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ar-form__consent label{font-weight:400;font-size:14px;display:flex;gap:10px;align-items:flex-start}
.ar-form__consent input{margin-top:5px}
.ar-form__consent a{color:var(--terra);text-decoration:underline}
.ar-hp{position:absolute;left:-9999px}
.ar-form__notice{border-radius:var(--r-sm);padding:12px 16px;font-weight:600}
.ar-form__notice--ok{background:var(--vert-50);color:var(--vert)}
.ar-form__notice--err{background:var(--terra-50);color:var(--terra)}
@media (max-width:640px){.ar-form__row{grid-template-columns:1fr}}

/* Encart « bientôt disponible » (formations sans tarif) */
.ar-soon-box{border-radius:var(--r)!important;border:1px solid var(--ligne)!important;box-shadow:var(--ombre)}
.ar-soon-box .tutor-card-body{padding:26px}
.ar-soon-box__label{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--terra);margin-bottom:6px}
.ar-soon-box__price{font-size:22px;font-weight:800;color:var(--vert);line-height:1.25;margin-bottom:12px}
.ar-soon-box__text{font-size:14.5px;color:var(--texte-doux);margin-bottom:12px}
.ar-soon-box__btn{width:100%;justify-content:center}

/* Réservation de consultation (maquette validée) */
.ar-booking{display:grid;gap:24px}
.ar-booking fieldset{border:0;padding:0;margin:0;min-width:0}
.ar-booking legend,.ar-slots h4{font-size:18px;font-weight:600;color:var(--vert);margin-bottom:14px}
.ar-booking__services{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ar-booking__services legend{grid-column:1/-1}
.ar-svc{display:flex;gap:14px;align-items:flex-start;border:1.5px solid var(--ligne);border-radius:var(--r-sm);padding:16px;cursor:pointer;background:#fff;font-weight:400}
.ar-svc:has(input:checked){border-color:var(--vert);background:var(--vert-50)}
.ar-svc input{accent-color:var(--vert);margin-top:5px;width:auto}
.ar-svc span{flex:1}
.ar-svc b{display:block;font-size:15px;color:var(--vert);font-weight:600}
.ar-svc small{display:block;font-size:13px;color:var(--texte-doux)}
.ar-svc em{font-style:normal;font-size:12.5px;color:var(--terra);font-weight:600;text-align:right;max-width:110px}
.ar-booking__picker{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ligne);border-radius:var(--r);overflow:hidden;background:#fff}
.ar-cal{padding:24px;border-right:1px solid var(--ligne)}
.ar-cal__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;color:var(--vert);text-transform:capitalize}
.ar-cal__head button{border:1px solid var(--ligne);background:#fff;width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:18px;color:var(--vert)}
.ar-cal__head button:disabled{opacity:.35;cursor:default}
.ar-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}
.ar-cal__grid.is-loading{opacity:.5}
.ar-cal__grid span,.ar-cal__grid button{aspect-ratio:1;display:grid;place-items:center;border-radius:10px;font:inherit;font-size:14px;border:0;background:none}
.ar-cal__grid .dow{font-size:11.5px;font-weight:600;color:var(--texte-doux);aspect-ratio:auto;padding-bottom:4px}
.ar-cal__grid .av{background:var(--vert-50);color:var(--vert);font-weight:600;cursor:pointer}
.ar-cal__grid .av:hover{outline:2px solid var(--vert)}
.ar-cal__grid .sel{background:var(--terra);color:#fff}
.ar-cal__grid .off{color:#c9d3cf}
.ar-slots{padding:24px}
.ar-slots__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ar-slots__grid button{font:inherit;font-weight:600;font-size:14.5px;border:1.5px solid var(--vert);color:var(--vert);background:#fff;border-radius:10px;padding:10px 0;cursor:pointer}
.ar-slots__grid button.on{background:var(--vert);color:#fff}
.ar-slots__grid .ar-small{grid-column:1/-1}
.ar-modes{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:14px;margin-top:20px}
.ar-modes span{font-weight:600}
.ar-modes label{font-weight:400;display:flex;gap:6px;align-items:center}
.ar-modes input{accent-color:var(--vert);width:auto}
.ar-booking__form{display:grid;gap:14px;background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:24px}
.ar-booking__form label{display:grid;gap:6px}
.ar-booking__form .btn{justify-self:start}
.ar-booking__form .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.ar-small{font-size:13.5px;color:var(--texte-doux)}
.ar-error{color:var(--terra);font-weight:600}
.ar-notice{background:var(--vert-50);color:var(--vert);border-radius:12px;padding:12px 16px;font-weight:600}
@media (max-width:860px){.ar-booking__services,.ar-booking__picker{grid-template-columns:1fr}.ar-cal{border-right:0;border-bottom:1px solid var(--ligne)}}

/* Caisse WooCommerce */
.woocommerce .amount,.woocommerce-Price-amount{font-size:inherit;font-weight:inherit;color:inherit;margin:0}
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:start}
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup{grid-column:1/-1}
.woocommerce-checkout #customer_details{grid-column:1}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{width:100%;float:none}
.woocommerce-checkout #order_review_heading{display:none}
.woocommerce-checkout #order_review{grid-column:2;grid-row:1 / span 3;background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:24px;box-shadow:var(--ombre);position:sticky;top:110px}
.woocommerce-checkout #order_review::before{content:"Votre commande";display:block;font-size:20px;font-weight:600;color:var(--vert);margin-bottom:14px}
.woocommerce-checkout h3{font-size:20px;color:var(--vert);margin-bottom:14px}
.woocommerce-checkout .form-row-first,.woocommerce-checkout .form-row-last{width:48%}
.woocommerce-checkout #payment{background:var(--creme)!important;border-radius:var(--r-sm)!important}
.woocommerce-checkout .order-total{color:var(--vert);font-size:18px}
.woocommerce-checkout .woocommerce-privacy-policy-text{font-size:13px;color:var(--texte-doux)}
@media (max-width:900px){.woocommerce-checkout form.checkout{grid-template-columns:1fr}.woocommerce-checkout #order_review{grid-column:1;grid-row:auto;position:static}}
.woocommerce-billing-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.woocommerce-billing-fields__field-wrapper .form-row{width:auto!important;float:none!important;grid-column:1/-1}
.woocommerce-billing-fields__field-wrapper .form-row-first{grid-column:1}
.woocommerce-billing-fields__field-wrapper .form-row-last{grid-column:2}

/* Pages formation Tutor */
.course-hero .tag-light{margin-bottom:12px;display:inline-block}
.ar-course-page .tutor-course-details-header{display:none}
.ar-course-page .tutor-course-details-page{padding-top:48px;padding-bottom:24px}
.ar-no-thumb .tutor-course-thumbnail,.ar-no-thumb .tutor-course-details-page main > .tutor-ratio{display:none}
.ar-course-page .tutor-single-course-sidebar-more{display:none}
.ar-course-page .tutor-course-details-widget-title,.ar-course-page .tutor-course-details-page h2,.ar-course-page .tutor-course-details-page h3{color:var(--vert)}
.ar-course-page .tutor-accordion-item-header{color:var(--vert);font-weight:600}
.ar-course-page .tutor-card,.ar-course-page .tutor-accordion-item{border-radius:var(--r-sm)}
.ar-course-page .tutor-course-details-page{font-family:Poppins,system-ui,sans-serif}
.ar-course-page .tutor-bundle-author-list,.ar-course-page .tutor-bundle-course-list-desc > p.tutor-mt-4{display:none}
.ar-no-thumb .tutor-bundle-feature-image{display:none}
.ar-course-page .tutor-bundle-course-list-wrapper{border-radius:var(--r-sm)!important;border-color:var(--ligne)!important}
.ar-course-page .tutor-bundle-course-title{color:var(--vert)!important}

/* Barre d'administration : neutralise les règles globales sur img */
#wpadminbar img{display:inline-block!important;max-width:none!important}
#wpadminbar #wp-admin-bar-my-account.with-avatar>a img{width:18px!important;height:18px!important;vertical-align:middle;margin:-3px 0 0 6px;border-radius:50%}
#wpadminbar #wp-admin-bar-user-info img.avatar{width:64px!important;height:64px!important}
/* Les avatars WordPress portent la classe « photo » : on neutralise le bloc photo du thème */
img.avatar.photo{min-height:0!important;display:inline-block;overflow:visible;background:none;border-radius:50%}
#wpadminbar img.avatar.photo{height:auto}
#wpadminbar #wp-admin-bar-user-info img.avatar.photo{height:64px!important}
