/*
Theme Name: Aïkido Club de Cattenom
Author: Aïkido Club de Cattenom
Description: Thème responsive avec visuels JPEG intégrés, conçu pour WordPress 7.1.4.
Version: 2.2.3
Requires at least: 7.1
Requires PHP: 7.4
Text Domain: aikido-cattenom
*/
:root{--red:#d9001b;--ink:#171717}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font:16px/1.5 Arial,Helvetica,sans-serif}
a{color:var(--red);text-decoration:none}a:hover{text-decoration:underline}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:12px 3vw;background:#fff;border-bottom:1px solid #eee}
.brand{display:flex;align-items:center;gap:12px;font-size:clamp(1.15rem,2vw,1.8rem);font-weight:800;line-height:1.1;color:#111}
.brand small{display:block;color:var(--red);font-size:.7rem;font-style:italic;font-weight:500}
.site-nav{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(8px,1.4vw,22px)}.site-nav a{color:#111;font-size:.9rem;font-weight:700}
.site-nav .join{background:var(--red);color:white;padding:12px 16px;border-radius:9px}
.hero{min-height:450px;display:flex;align-items:center;padding:clamp(30px,5vw,78px);color:#fff;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.15)),url('assets/images/accueil_desk.jpg') center/cover no-repeat}
.hero-inner{max-width:650px}.hero h1{font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.02;margin:0 0 15px;font-weight:800}.hero .tagline{font-size:clamp(1.1rem,2vw,1.6rem);font-style:italic;margin:0 0 24px}
.btn{display:inline-block;background:var(--red);color:white;padding:12px 24px;border-radius:28px;font-weight:700;margin:4px 8px 4px 0}.btn.outline{background:transparent;border:2px solid white}
.practices{padding:18px 2vw 24px}.practice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.practice-card{border:1px solid #ddd;border-radius:7px;overflow:hidden;background:#fff;box-shadow:0 1px 4px #0001}.practice-card img{width:100%;height:155px;object-fit:cover;display:block}.card-body{padding:11px 15px 14px}.card-body h2{font-size:1.2rem;line-height:1.2;margin:0 0 5px}.card-body p{margin:3px 0}
.lower{padding:20px 2vw 28px}.lower-grid{display:grid;grid-template-columns:1fr 1.2fr .85fr;gap:22px}.lower-grid section{padding:8px 16px;border-right:1px solid #ccc}.lower-grid section:last-child{border:0}.lower-grid h2{font-size:1.6rem;color:var(--red);margin:0 0 12px}
.schedule{width:100%;border-collapse:collapse;font-size:.9rem}.schedule td,.schedule th{padding:7px;border-bottom:1px solid #ddd;text-align:left}.schedule th{background:#222;color:#fff}
.news-item{display:flex;gap:10px;align-items:flex-start}.news-item img{width:100px;height:72px;object-fit:cover;border-radius:5px}
.site-footer{background:#171717;color:#fff;padding:22px 3vw}.site-footer a{color:#ff6476}
@media(max-width:950px){.site-header{display:block}.site-nav{margin-top:12px}.practice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lower-grid{grid-template-columns:1fr}.lower-grid section{border:0;border-bottom:1px solid #ddd;padding:14px 0}}
@media(max-width:560px){.hero{min-height:410px;padding:28px 18px;background-position:58% center}.practice-grid{grid-template-columns:1fr}.practice-card img{height:210px}.practices,.lower{padding:18px 14px}.schedule{font-size:.78rem}.schedule td,.schedule th{padding:5px 3px}.site-nav{gap:10px}.site-nav a{font-size:.82rem}}


/* Pages intérieures responsives — Aïkido Cattenom */
.ac-page{--ac-red:#d9001b;--ac-navy:#002950;color:#182b3b;overflow-wrap:anywhere}.ac-page .ac-page-hero{min-height:320px;display:flex;align-items:center;background-color:#e8edf2;background-size:cover;background-position:center;padding:48px max(20px,calc((100vw - 1120px)/2));position:relative}.ac-page .ac-page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(255,255,255,.75) 45%,rgba(255,255,255,.08))}.ac-page .ac-page-hero-inner{position:relative;max-width:620px}.ac-page h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.1;color:#81000d;margin:0 0 14px}.ac-page .ac-page-hero p{font-size:clamp(1.1rem,2vw,1.4rem);margin:0}.ac-page .ac-page-body{width:min(1120px,calc(100% - 36px));margin:0 auto;padding:42px 0 64px;font-size:17px;line-height:1.7}.ac-page .ac-page-body h2{color:#a00013;font-size:clamp(1.5rem,3vw,2rem);margin:34px 0 14px}.ac-page .ac-page-body h3{color:var(--ac-navy)}.ac-page .ac-page-body img{max-width:100%;height:auto;border-radius:12px}.ac-page .ac-page-body .wp-block-columns{gap:24px}.ac-page .ac-page-body .wp-block-button__link,.ac-page .ac-page-body .ac-link{display:inline-block;background:var(--ac-red);color:white;padding:12px 22px;border-radius:9px;text-decoration:none;font-weight:700}.ac-page .ac-page-body .wp-block-button__link:hover,.ac-page .ac-page-body .ac-link:hover{background:#a00013}.ac-page .ac-page-body .wp-block-gallery{gap:14px}.ac-page .ac-page-body .wp-block-cover{min-height:300px}.ac-page .ac-page-body .wp-block-table{overflow-x:auto}.ac-page .ac-page-body .ac-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center;margin:30px 0}.ac-page .ac-page-body .ac-feature img{width:100%;height:300px;object-fit:cover}.ac-page .ac-page-body .ac-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.ac-page .ac-page-body .ac-panel{background:#f2f5f8;border-radius:14px;padding:20px}.ac-page .ac-page-body .ac-panel h3{margin:0 0 8px}.ac-page .ac-page-body .ac-panel p{margin:0}.ac-page .ac-page-body .ac-banner{width:100%;aspect-ratio:21/8;object-fit:cover;border-radius:14px}.ac-page .ac-page-body .ac-note{background:#f2f5f8;padding:22px;border-left:5px solid var(--ac-red);border-radius:8px}.ac-page .ac-page-body .ac-actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.ac-page .ac-page-body .ac-actions .ac-outline{background:white;color:var(--ac-red);border:2px solid var(--ac-red)}.ac-page .ac-page-body .ac-news-item{border-bottom:1px solid #ddd;padding:15px 0}.ac-page .ac-page-body .ac-news-item a{color:#a00013;font-weight:700}@media(max-width:700px){.ac-page .ac-page-hero{min-height:240px;padding:35px 20px}.ac-page .ac-page-hero::before{background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.72))}.ac-page .ac-page-body{width:calc(100% - 28px);padding:26px 0 45px}.ac-page .ac-page-body .ac-feature,.ac-page .ac-page-body .ac-panels{grid-template-columns:1fr}.ac-page .ac-page-body .ac-feature img{height:230px}.ac-page .ac-page-body .ac-banner{aspect-ratio:4/3}.ac-page .ac-page-body .ac-actions{flex-direction:column}.ac-page .ac-page-body .ac-actions a{text-align:center}}

/* Logo officiel du club : responsive, sans modifier les autres pages */
.site-header .brand .club-logo { display:block; width:clamp(48px,5vw,76px); height:clamp(48px,5vw,76px); max-width:100%; object-fit:contain; flex-shrink:0; }
@media (max-width:768px) { .site-header .brand .club-logo { width:52px; height:52px; } }

/* Images de bannière adaptatives : desktop, tablette et mobile. */
.hero{background-image:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.15)),url('assets/images/accueil_desk.jpg')}
.ac-page .ac-page-hero{background-image:var(--ac-hero-desk)}
@media(max-width:950px){.hero{background-image:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.15)),url('assets/images/accueil_tab.jpg')}.ac-page .ac-page-hero{background-image:var(--ac-hero-tab)}}
@media(max-width:560px){.hero{background-image:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.15)),url('assets/images/accueil_mob.jpg')}.ac-page .ac-page-hero{background-image:var(--ac-hero-mob)}}

/* Photos choisies dans la médiathèque (3 formats pour la page d’accueil). */
.hero{background-image:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.15)),var(--ac-hero-desk)}
@media(max-width:950px){.hero{background-image:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.15)),var(--ac-hero-tab)}}
@media(max-width:560px){.hero{background-image:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.15)),var(--ac-hero-mob)}}

/* Aïkitaïso2 : sections adaptatives et portraits issus de la médiathèque. */
.ac2-intro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,48px);margin:25px 0}
.ac2-col{min-width:0}.ac2-col h2,.ac2-benefits h2{color:#a60000;font-size:clamp(23px,2.1vw,31px);line-height:1.2;margin:0 0 18px}
.ac2-col p{font-size:17px;line-height:1.75;margin:0 0 14px}
.ac2-profile{display:flex;align-items:flex-start;gap:20px}.ac2-profile>div{flex:1;min-width:0}
.ac2-profile figure{order:2;width:29%;flex-shrink:0;margin:0}.ac2-profile img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:10px}
.ac2-hours{background:#f9eeee;border-radius:12px;padding:22px 26px;display:flex;gap:24px;justify-content:space-between;align-items:center;margin:26px 0}
.ac2-hours h2{color:#a60000;font-size:clamp(20px,2vw,27px);margin:0}.ac2-hours p{font-size:clamp(19px,2vw,26px);white-space:nowrap;margin:0;background:#f7dada;padding:10px 18px;border-radius:9px}
.ac2-benefits{margin:30px 0 12px}.ac2-benefit-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;text-align:center}.ac2-benefit-grid>div{padding:15px 10px;background:#f6f6f6;border-top:3px solid #dc001c;border-radius:8px;font-weight:600}
@media(max-width:900px){.ac2-intro{grid-template-columns:1fr}.ac2-benefit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.ac2-profile{flex-direction:column}.ac2-profile figure{order:0;width:min(220px,75%)}.ac2-hours{flex-direction:column;align-items:flex-start;gap:12px}.ac2-hours p{white-space:normal}.ac2-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Pied de page commun à toutes les pages */
.ac-footer{background:#171717;color:#fff;border-bottom:9px solid #d9001b;padding:28px max(18px,3vw);}
.ac-footer__inner{max-width:1450px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.ac-footer__identity{display:flex;align-items:center;gap:14px;min-width:220px}.ac-footer__logo{width:74px;height:74px;object-fit:contain;background:#fff;border-radius:50%;padding:3px}.ac-footer__identity strong{font-size:1.45rem;line-height:1.1}
.ac-footer__details{display:grid;gap:8px;font-size:.95rem}.ac-footer__details a{color:#fff}.ac-footer__details a:hover{text-decoration:underline}
.ac-footer__social{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.ac-footer__social strong{background:#d9001b;padding:12px 16px;border-radius:9px;color:#fff;font-size:1.05rem}
.ac-footer__social-link{display:inline-flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:17px;color:#fff!important;transition:transform .2s ease}.ac-footer__social-link:hover{transform:translateY(-3px)}.ac-footer__social-link svg{width:38px;height:38px;fill:currentColor}.ac-footer__instagram{background:linear-gradient(35deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5)}.ac-footer__facebook{background:#1877f2}
@media(max-width:800px){.ac-footer__inner{justify-content:center;text-align:center}.ac-footer__identity{justify-content:center}.ac-footer__social{justify-content:center}}
@media(max-width:480px){.ac-footer__social{width:100%}.ac-footer__social strong{width:100%}.ac-footer__social-link{width:62px;height:62px}}
/* Page Adultes */
.ac-adult-grid{display:grid;grid-template-columns:1.25fr 1fr .95fr;gap:24px;align-items:start}.ac-adult-grid h2{margin-top:0!important}.ac-adult-grid p{margin:0 0 12px}.ac-adult-steps{display:grid;gap:10px}.ac-adult-step{display:flex;gap:12px;align-items:flex-start;padding:13px;border-radius:12px;background:#fff0f0}.ac-adult-step b{flex:0 0 32px;display:grid;place-items:center;background:#d9001b;color:#fff;border-radius:50%;width:32px;height:32px}.ac-adult-step strong{color:#a00013}.ac-adult-photo{width:100%;height:190px!important;object-fit:cover;border-radius:12px;margin-bottom:12px}.ac-adult-pillars{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:28px}.ac-adult-pillar{background:#fff1f1;text-align:center;padding:15px 8px;border-radius:10px;font-weight:700}.ac-adult-pillar span{display:block;color:#d9001b;font-size:1.7rem}
@media(max-width:1050px){.ac-adult-grid{grid-template-columns:1fr 1fr}.ac-adult-photos{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ac-adult-photo{height:170px!important}}
@media(max-width:700px){.ac-adult-grid{grid-template-columns:1fr}.ac-adult-photos{grid-column:auto;grid-template-columns:1fr}.ac-adult-photo{height:230px!important}.ac-adult-pillars{grid-template-columns:repeat(2,1fr)}}

/* Modèles Adultes2 et Enfants2 */
.ac-teacher{display:flex;align-items:center;gap:16px;background:#fff0f0;border-radius:13px;padding:14px;margin:22px 0}
.ac-teacher__portrait{flex:0 0 110px}.ac-teacher__image,.ac-teacher__placeholder{width:110px;height:146px;object-fit:cover;border-radius:9px}
.ac-teacher__placeholder{display:flex;align-items:center;justify-content:center;background:#e5d8d8;color:#6c4141;font-size:13px;text-align:center;padding:10px}
.ac-teacher__tag{background:#d9001b;color:white;font-weight:700;padding:5px 10px;border-radius:6px;font-size:13px}
.ac-page .ac-teacher h3{color:#111;font-size:1.4rem;line-height:1.2;margin:12px 0 5px}.ac-teacher p{margin:0!important;font-weight:700}
.ac-children-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:35px;align-items:start}.ac-children-grid h2{margin-top:0!important}.ac-children-photos{margin-top:22px}.ac-children-photos img{width:100%;max-height:360px;object-fit:cover}
@media(max-width:760px){.ac-children-grid{grid-template-columns:1fr}.ac-teacher__portrait{flex-basis:90px}.ac-teacher__image,.ac-teacher__placeholder{width:90px;height:120px}}

/* Aïkitaïso2 — disposition fidèle à la maquette validée */
.ac-page:has(.ac2-showcase) .ac-page-body{width:min(1480px,calc(100% - 56px));padding:28px 0 36px}
.ac-page:has(.ac2-showcase) .ac-page-hero{min-height:275px;padding:35px max(28px,5vw)}
.ac-page:has(.ac2-showcase) .ac-page-hero h1{color:#b50009;font-size:clamp(3rem,6vw,5.2rem);font-weight:850}
.ac-page:has(.ac2-showcase) .ac-page-hero p{font-size:clamp(1.2rem,2.2vw,1.8rem);max-width:380px;line-height:1.2}
.ac2-showcase{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.ac2-showcase__column{min-width:0}.ac2-showcase__column+.ac2-showcase__column{border-left:1px solid #ccc;padding-left:26px}
.ac-page .ac-page-body .ac2-showcase h2{font-size:clamp(1.4rem,2vw,2rem);line-height:1.2;color:#b40000;margin:0 0 16px}
.ac2-showcase__content{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,30%);gap:18px;align-items:start}
.ac2-showcase__copy p{font-size:clamp(.94rem,1.12vw,1.08rem);line-height:1.45;margin:0 0 8px}
.ac2-showcase__portrait{margin:0;position:relative;align-self:start;border-radius:11px;overflow:hidden;background:#eee}
.ac2-showcase__portrait img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:0!important}
.ac2-showcase__portrait figcaption{background:#dc001b;color:#fff;text-align:center;font-size:.84rem;font-weight:600;line-height:1.3;padding:8px 4px}
.ac2-showcase__empty{aspect-ratio:3/4;display:grid;place-items:center;text-align:center;padding:12px;color:#777;background:#eee;font-size:.85rem}
.ac2-showcase__hours{display:flex;align-items:center;justify-content:space-around;gap:22px;background:#fff0f1;border-radius:12px;margin:30px 0;padding:15px 22px}
.ac-page .ac-page-body .ac2-showcase__hours h2{font-size:clamp(1.15rem,2vw,1.8rem);color:#a80000;margin:0;flex:1}
.ac2-showcase__calendar{font-size:3rem;color:#dc001b;line-height:1}
.ac2-showcase__hours>strong{font-size:clamp(1.1rem,2vw,1.75rem);background:#f9d9dc;border-radius:9px;padding:10px 20px;text-align:center;white-space:nowrap}
.ac2-showcase__benefits{display:grid;grid-template-columns:1.1fr repeat(5,1fr);align-items:center;gap:0;margin-top:25px}
.ac-page .ac-page-body .ac2-showcase__benefits h2{color:#b40000;font-size:clamp(1.5rem,2.5vw,2rem);margin:0}
.ac2-showcase__benefit{text-align:center;border-left:1px solid #ccc;font-size:clamp(.85rem,1.2vw,1.1rem);line-height:1.3;padding:6px}
.ac2-showcase__benefit span{display:block;font-size:2.3rem;line-height:1.1;color:#d9001b;margin-bottom:5px}
/* Footer plus visible sur toutes les pages */
.ac-footer{padding:32px max(20px,3vw);border-bottom:12px solid #d9001b;background:linear-gradient(135deg,#101010,#222)}
.ac-footer__social strong{font-size:1.2rem;padding:16px 20px}
.ac-footer__social-link{width:76px;height:76px;border-radius:19px}
.ac-footer__social-link svg{width:45px;height:45px}
@media(max-width:1000px){.ac2-showcase{grid-template-columns:1fr}.ac2-showcase__column+.ac2-showcase__column{border-left:0;border-top:1px solid #ddd;padding:22px 0 0}.ac2-showcase__benefits{grid-template-columns:repeat(5,1fr)}.ac2-showcase__benefits h2{grid-column:1/-1;margin-bottom:12px!important}}
@media(max-width:650px){.ac-page:has(.ac2-showcase) .ac-page-body{width:calc(100% - 30px)}.ac2-showcase__content{grid-template-columns:1fr}.ac2-showcase__portrait{max-width:250px}.ac2-showcase__hours{flex-wrap:wrap;justify-content:center;text-align:center}.ac2-showcase__hours h2{flex-basis:75%!important}.ac2-showcase__hours>strong{white-space:normal;width:100%}.ac2-showcase__benefits{grid-template-columns:repeat(2,1fr)}.ac2-showcase__benefits h2{grid-column:1/-1}.ac-footer__social-link{width:66px;height:66px}}

/* Enfants2 : bandeau des horaires, dans le style de la page Aïkitaïso2 */
.ac-children-hours{display:flex;align-items:center;gap:22px;margin:26px 0 22px;padding:16px 24px;background:#fff0f1;border-radius:12px}
.ac-children-hours__icon{font-size:3rem;line-height:1;color:#d9001b;flex-shrink:0}
.ac-page .ac-page-body .ac-children-hours h2{flex:1;color:#ae0000;font-size:clamp(1.15rem,2vw,1.75rem);margin:0}
.ac-children-hours strong{background:#f9d9dc;border-radius:9px;padding:12px 22px;color:#111;font-size:clamp(1.15rem,2vw,1.65rem);white-space:nowrap;text-align:center}
@media(max-width:800px){.ac-children-hours{flex-wrap:wrap;justify-content:center;text-align:center}.ac-page .ac-page-body .ac-children-hours h2{flex:1 1 70%}.ac-children-hours strong{width:100%;white-space:normal}}
@media(max-width:480px){.ac-children-hours{padding:16px;gap:12px}}
