/* ============================================================
   RYUKEN DOJO — Thème Papier Japonais (clair)
   ============================================================ */


/* ── Variables ──────────────────────────────────────────── */
:root {
  --bg:        #f4ede0;
  --bg-alt:    #ece4d0;
  --card:      #faf6ee;
  --ink:       #19140d;
  --ink-s:     #241d13;
  --text:      #1c1610;
  --text-s:    #4a3e2e;
  --muted:     #7a6a52;
  --gold:      #8a6c22;
  --gold-l:    #b8922e;
  --gold-bg:   rgba(138,108,34,0.07);
  --red:       #a82218;
  --border:    rgba(30,18,5,0.12);
  --border-s:  rgba(30,18,5,0.06);
  --on-dark:   #f0e8d5;
  --on-dark-m: #9a8a72;
  --font-display: 'Cinzel', serif;
  --font-body:    'Cormorant Garamond', serif;
  --font-jp:      'Noto Serif JP', serif;
  --nav-h:    78px;
  --transition: 0.3s cubic-bezier(0.4,0,0.2,1);
}

/* ── Reset ──────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:17px}
body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-weight:400;line-height:1.85;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

/* subtle grain */
body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.022'/%3E%3C/svg%3E");pointer-events:none;z-index:9999}

/* ── Typographie ────────────────────────────────────────── */
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:0.07em;line-height:1.2;color:var(--text)}
h1{font-size:clamp(2.2rem,5vw,3.6rem)}
h2{font-size:clamp(1.55rem,3vw,2.3rem)}
h3{font-size:clamp(1.05rem,2vw,1.4rem)}
h4{font-size:0.88rem;letter-spacing:0.2em}
p{margin-bottom:1.4em;color:var(--text-s)}
p:last-child{margin-bottom:0}

/* ── Utilitaires ────────────────────────────────────────── */
.container{width:min(1140px,92vw);margin:0 auto}
.section{padding:clamp(60px,8vw,110px) 0}

.section-label{font-family:var(--font-display);font-size:0.62rem;letter-spacing:0.35em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;display:flex;align-items:center;gap:0.7rem}
.section-label::before{content:'';display:inline-block;width:28px;height:1px;background:var(--gold);flex-shrink:0}
.section-label.center{justify-content:center}
.section-label.center::after{content:'';display:inline-block;width:28px;height:1px;background:var(--gold);flex-shrink:0}

.divider{border:none;border-top:1px solid var(--border);margin:0}

.btn{display:inline-block;font-family:var(--font-display);font-size:0.68rem;letter-spacing:0.22em;text-transform:uppercase;padding:.85em 2.2em;border:1px solid var(--gold);color:var(--gold);background:transparent;transition:var(--transition);cursor:pointer}
.btn:hover{background:var(--gold);color:#fff}
.btn-red{border-color:var(--red);color:var(--red)}
.btn-red:hover{background:var(--red);color:#fff}

/* ── Navigation ─────────────────────────────────────────── */
#navbar{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);display:flex;align-items:center;background:rgba(244,237,224,0.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.nav-inner{width:min(1200px,95vw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.nav-brand{display:flex;align-items:center;gap:.9rem;flex-shrink:0}
.nav-brand img{height:46px;width:auto}
.nav-brand-text{display:flex;flex-direction:column;line-height:1.1}
.nav-brand-name{font-family:var(--font-display);font-size:.88rem;letter-spacing:.16em;color:var(--text);text-transform:uppercase}
.nav-brand-jp{font-family:var(--font-jp);font-size:.68rem;color:var(--muted);letter-spacing:.08em}

.nav-links{display:flex;align-items:center;gap:.2rem;list-style:none}
.nav-links>li{position:relative}
.nav-links>li>a,.nav-links>li>button{font-family:var(--font-display);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:.5rem .85rem;background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:.3rem;transition:color var(--transition);white-space:nowrap}
.nav-links>li>a:hover,.nav-links>li>button:hover,.nav-links>li>a.active{color:var(--text)}

.dropdown-arrow{font-size:.5rem;transition:transform var(--transition)}
.dropdown.open .dropdown-arrow{transform:rotate(180deg)}
.dropdown-menu{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%) translateY(-6px);min-width:225px;background:var(--card);border:1px solid var(--border);box-shadow:0 8px 40px rgba(0,0,0,.1);padding:.4rem 0;list-style:none;opacity:0;visibility:hidden;transition:opacity var(--transition),transform var(--transition),visibility var(--transition)}
.dropdown.open .dropdown-menu,.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dropdown-menu li a{display:block;padding:.6rem 1.4rem;font-family:var(--font-display);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border-left:2px solid transparent;transition:color var(--transition),background var(--transition),border-color var(--transition)}
.dropdown-menu li a:hover,.dropdown-menu li a.active{color:var(--text);background:var(--bg-alt);border-left-color:var(--gold)}

.hamburger{display:none;background:none;border:1px solid var(--border);color:var(--text);padding:.4rem .65rem;cursor:pointer;font-size:1rem;line-height:1}
#mobile-nav{display:none;position:fixed;top:var(--nav-h);left:0;right:0;background:var(--card);border-bottom:1px solid var(--border);z-index:999;padding:.5rem 0 1.5rem;box-shadow:0 8px 30px rgba(0,0,0,.08);animation:slideDown .25s ease}
#mobile-nav.open{display:block}
@keyframes slideDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.mobile-nav-list{list-style:none;padding:0 1.2rem}
.mobile-nav-list a,.mobile-nav-list button{display:block;padding:.75rem 0;font-family:var(--font-display);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border-s);background:none;border-left:none;border-right:none;border-top:none;width:100%;text-align:left;cursor:pointer;transition:color var(--transition)}
.mobile-nav-list a:hover,.mobile-nav-list button:hover{color:var(--text)}
.mobile-sub{list-style:none;display:none;padding-left:1rem}
.mobile-sub.open{display:block}
.mobile-sub a{font-size:.62rem;border-bottom-color:var(--border-s)}

/* ── Hero ────────────────────────────────────────────────── */
.hero{position:relative;height:100svh;min-height:580px;display:flex;align-items:flex-end;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.52) saturate(.8);transform:scale(1.04);transition:transform 9s ease}
.hero.loaded .hero-bg{transform:scale(1)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,14,6,.92) 0%,rgba(20,14,6,.48) 45%,rgba(20,14,6,.06) 100%)}
.hero-content{position:relative;z-index:1;padding:0 0 clamp(50px,7vh,90px);width:min(1140px,92vw);margin:0 auto}
.hero-jp{font-family:var(--font-jp);font-size:clamp(2.5rem,7vw,6rem);color:#b8922e;letter-spacing:.2em;line-height:1;margin-bottom:.3rem;font-weight:300}
.hero-title{font-size:clamp(2.8rem,6vw,5.2rem);font-weight:700;letter-spacing:.14em;margin-bottom:.4rem;color:#f4ede0;text-shadow:0 2px 40px rgba(0,0,0,.5)}
.hero-subtitle{font-family:var(--font-display);font-size:clamp(.62rem,1.4vw,.76rem);letter-spacing:.38em;text-transform:uppercase;color:#b8922e;margin-bottom:2rem}
.hero-desc{max-width:500px;font-size:1.05rem;color:rgba(240,232,213,.75);margin-bottom:2.5rem;font-style:italic}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.hero .btn{border-color:#b8922e;color:#b8922e}
.hero .btn:hover{background:#b8922e;color:#19140d}
.hero .btn-red{border-color:rgba(200,80,60,.8);color:rgba(220,100,80,1)}
.hero .btn-red:hover{background:var(--red);color:#fff;border-color:var(--red)}
.scroll-indicator{position:absolute;bottom:2.5rem;right:3rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:.52rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(200,168,76,.45);writing-mode:vertical-lr}
.scroll-line{width:1px;height:38px;background:linear-gradient(to bottom,rgba(200,168,76,.55),transparent);animation:scrollPulse 2.2s ease infinite}
@keyframes scrollPulse{0%,100%{opacity:.25}50%{opacity:1}}

/* ── À propos ────────────────────────────────────────────── */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);align-items:center}
.about-image-wrap{position:relative}
.about-image-wrap img{width:100%;aspect-ratio:3/2;object-fit:cover}
.about-image-wrap::before{content:'';position:absolute;inset:-10px -10px 10px 10px;border:1px solid var(--border);z-index:-1}
.about-image-wrap::after{content:'瀧剣道場';position:absolute;bottom:0;right:-28px;font-family:var(--font-jp);font-size:.7rem;letter-spacing:.2em;color:var(--gold);writing-mode:vertical-rl;padding:.8rem .4rem;background:var(--card);border:1px solid var(--border)}

/* ── Disciplines ─────────────────────────────────────────── */
.disciplines-section{background:var(--bg-alt)}
.disciplines-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--border)}

.discipline-card{background:var(--card);padding:clamp(26px,3.5vw,46px);border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.85rem;transition:background var(--transition)}
.discipline-card:hover{background:var(--bg)}

/* Kanji sur une seule ligne, alignés à gauche */
.discipline-kanji{font-family:var(--font-jp);font-size:1.6rem;color:var(--gold);line-height:1;white-space:nowrap;letter-spacing:.1em;transition:color var(--transition);display:block}
.discipline-card:hover .discipline-kanji{color:var(--gold-l)}

.discipline-card h3{font-size:.92rem;letter-spacing:.14em;color:var(--text)}
.discipline-card p{font-size:.91rem;color:var(--muted);line-height:1.75;margin:0;flex:1}
.discipline-link{font-family:var(--font-display);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.4rem;transition:gap var(--transition)}
.discipline-link::after{content:'→'}
.discipline-card:hover .discipline-link{gap:.85rem}

/* ── Horaires (fond sombre) ─────────────────────────────── */
.schedule-section{background:var(--bg)}
.schedule-section h2,.schedule-section h3{color:var(--text)}
.schedule-section p{color:var(--text-s)}
.schedule-section .section-label{color:var(--gold)}
.schedule-section .section-label::before{background:var(--gold)}
.schedule-days-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3.5vw,50px)}
.schedule-day{border-left:2px solid var(--border);padding-left:1.4rem;margin-bottom:0}

.schedule-day-name{font-family:var(--font-display);font-size:.63rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem;padding-bottom:.4rem;border-bottom:1px solid var(--border)}
.schedule-entry{display:flex;align-items:baseline;gap:.7rem;padding:.28rem 0;font-size:.88rem;color:var(--muted)}
.schedule-time{font-family:var(--font-display);font-size:.7rem;color:var(--text);white-space:nowrap;min-width:96px;flex-shrink:0}

.contact-item-label{font-family:var(--font-display);font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:#b8922e;margin-bottom:.25rem}
.contact-item-value{font-size:1rem;color:var(--on-dark);line-height:1.7}
.contact-item-value a:hover{color:#b8922e}

/* ── Partenaires ────────────────────────────────────────── */
.partners-row{display:flex;align-items:center;justify-content:center;gap:clamp(30px,6vw,80px);flex-wrap:wrap}
.partner-logo{max-height:150px;width:auto;opacity:.6;filter:grayscale(.2) sepia(.08);transition:opacity var(--transition),filter var(--transition)}
.partner-logo:hover{opacity:.85;filter:grayscale(0) sepia(0)}

/* ── Page Header (bannières) ─────────────────────────────── */
.page-header{position:relative;overflow:hidden;padding:clamp(90px,13vw,170px) 0 clamp(60px,8vw,100px);margin-top:var(--nav-h)}
.page-header-bg{position:absolute;inset:0;background-size:cover;background-position:center 35%;
  /* Photo plus visible : filtre très léger */
  filter:brightness(.58) saturate(.82)}
.page-header-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,14,6,.18) 0%,rgba(20,14,6,.60) 100%)}
.page-header-content{position:relative;z-index:1}
.page-header-content .section-label{color:#b8922e}
.page-header-content .section-label::before{background:#b8922e}
.page-header-jp{font-family:var(--font-jp);font-size:clamp(2rem,5vw,3.8rem);color:#b8922e;line-height:1;margin-bottom:.5rem;font-weight:300}
.page-header h1{color:#f0e8d5;margin-bottom:.8rem}
.page-header .sub{color:rgba(200,185,165,.85);font-style:italic;font-size:1.05rem;max-width:520px;margin:0}

/* ── Contenu discipline ─────────────────────────────────── */
.content-section{padding:clamp(50px,7vw,100px) 0}
.content-2col{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:clamp(40px,6vw,80px);align-items:start}
.content-body{max-width:780px}
.content-body p{font-size:1.02rem;line-height:1.9}
.content-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem;margin-top:2.5rem}
.content-images img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform var(--transition)}
.content-images img:hover{transform:scale(1.015)}

.quote-block{border-left:3px solid var(--gold);padding:1.4rem 1.8rem;margin:2.2rem 0;background:var(--gold-bg);font-style:italic;font-size:1.1rem;color:var(--text);line-height:1.75}
.quote-block cite{display:block;margin-top:.7rem;font-family:var(--font-display);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-style:normal}

/* ── Sidebar ────────────────────────────────────────────── */
.sidebar{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:calc(var(--nav-h) + 1.5rem)}
.sidebar-card{background:var(--bg-alt);border:1px solid var(--border);padding:1.6rem}
.sidebar-card h4{font-family:var(--font-display);font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;padding-bottom:.7rem;border-bottom:1px solid var(--border)}
.sidebar-schedule-item{display:flex;flex-direction:column;padding:.45rem 0;border-bottom:1px solid var(--border-s);font-size:.85rem}
.sidebar-schedule-item:last-child{border:none}
.sidebar-day{font-family:var(--font-display);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:.15rem}
.sidebar-entries{color:var(--muted);line-height:1.7}

/* ── Contact ────────────────────────────────────────────── */
.contact-page-intro{padding:clamp(50px,7vw,80px) 0 clamp(24px,3vw,36px);margin-top:var(--nav-h);background:var(--bg-alt);border-bottom:1px solid var(--border)}
.contact-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);align-items:start;padding:clamp(36px,4vw,56px) 0}
.contact-detail{border-left:2px solid var(--border);padding-left:1.3rem}
.contact-detail-label{font-family:var(--font-display);font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:.3rem}
.contact-detail-value{font-size:1rem;color:var(--text-s);line-height:1.65}
.contact-detail-value a:hover{color:var(--gold)}
.contact-form{display:flex;flex-direction:column;gap:1.4rem}
.form-group{display:flex;flex-direction:column;gap:.35rem}
.form-group label{font-family:var(--font-display);font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.form-group input,.form-group textarea,.form-group select{background:var(--card);border:1px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:1rem;padding:.8rem 1rem;outline:none;transition:border-color var(--transition);width:100%;resize:vertical}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--muted);font-style:italic}
.form-group input:focus,.form-group textarea:focus{border-color:var(--gold)}
.form-notice{font-size:.82rem;color:var(--muted);font-style:italic;line-height:1.6;margin-top:.5rem}
.map-img{width:100%;border:1px solid var(--border);filter:saturate(.5) brightness(.92);transition:filter var(--transition)}
.map-img:hover{filter:saturate(.9) brightness(1)}

/* ── Événements ─────────────────────────────────────────── */
.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.2rem;margin-top:2.5rem}
.event-card{background:var(--card);border:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column;gap:0;transition:border-color var(--transition),box-shadow var(--transition)}
.event-card:hover{border-color:var(--gold);box-shadow:0 4px 24px rgba(138,108,34,.08)}
.event-card-img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;filter:saturate(.8);transition:filter var(--transition)}
.event-card:hover .event-card-img{filter:saturate(1)}
.event-card-body{padding:1.5rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.event-date{font-family:var(--font-display);font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.event-title{font-family:var(--font-display);font-size:1.05rem;color:var(--text)}
.event-desc{font-size:.9rem;color:var(--muted);line-height:1.7;margin:0}
.event-tag{display:inline-block;font-family:var(--font-display);font-size:.52rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red);border:1px solid var(--red);padding:.2em .55em;align-self:flex-start}

/* ── Footer ─────────────────────────────────────────────── */
footer{background:var(--ink);border-top:3px solid var(--gold);padding:clamp(40px,6vw,70px) 0 clamp(20px,3vw,35px)}
.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(28px,5vw,55px);margin-bottom:2.5rem}
.footer-brand{display:flex;flex-direction:column;gap:0}

.footer-tagline{font-size:.88rem;color:var(--on-dark-m);font-style:italic;max-width:260px;line-height:1.6}
.footer-col h4{font-family:var(--font-display);font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:#b8922e;margin-bottom:1.1rem;padding-bottom:.65rem;border-bottom:1px solid rgba(200,168,76,.2)}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:.45rem}
.footer-links a{font-size:.85rem;color:var(--on-dark-m);display:flex;align-items:center;gap:.45rem;transition:color var(--transition)}
.footer-links a::before{content:'—';color:rgba(200,168,76,.28);font-size:.65rem}
.footer-links a:hover{color:var(--on-dark)}

.footer-bottom{border-top:1px solid rgba(200,168,76,.15);padding-top:1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.footer-copy{font-size:.68rem;letter-spacing:.08em;color:var(--on-dark-m)}
.footer-partners{display:flex;align-items:center;gap:2rem}
.footer-partners img{max-height:50px;opacity:.4;filter:grayscale(.8) brightness(1.4);transition:opacity var(--transition),filter var(--transition)}
.footer-partners img:hover{opacity:.85;filter:grayscale(0) brightness(1)}

/* ── Reveal ─────────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}

/* ── Responsive ─────────────────────────────────────────── */

/* Tablette large (≤1024px) */
@media(max-width:1024px){
  .event-featured,.event-featured.reverse{grid-template-columns:1fr 1.2fr}
}

/* Tablette (≤900px) */
@media(max-width:900px){
  .nav-links{display:none}
  .hamburger{display:block}

  .about-grid{grid-template-columns:1fr}
  .about-image-wrap{order:-1}
  .about-image-wrap::after{display:none}
  .about-image-wrap::before{display:none}

  .disciplines-grid{grid-template-columns:1fr 1fr}
  .schedule-days-grid{grid-template-columns:1fr}

  .footer-inner{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}

  .content-2col{grid-template-columns:1fr}
  .sidebar{position:static!important}

  /* Events featured */
  .event-featured,.event-featured.reverse{grid-template-columns:1fr}
  .event-featured-img{min-height:260px!important}
  .event-featured.reverse .event-featured-img{order:0}
  .event-featured.reverse .event-featured-body{order:0}

  /* Page header texte */
  .page-header-jp{font-size:clamp(1.5rem,4vw,2.5rem)}

  /* Hero texte */
  .hero-desc{max-width:100%}

  /* Contact grid reste en 2 col jusqu'à 700 */
}

/* Mobile (≤700px) */
@media(max-width:700px){
  .contact-main-grid{grid-template-columns:1fr}

  /* Réduire padding sections */
  .section{padding:clamp(40px,6vw,70px) 0}

  /* Plannings */
  .schedule-days-grid{grid-template-columns:1fr}
}

/* Petit mobile (≤600px) */
@media(max-width:600px){
  html{font-size:16px}

  .footer-inner{grid-template-columns:1fr}
  .disciplines-grid{grid-template-columns:1fr}
  .content-images{grid-template-columns:1fr}

  .hero-actions{flex-direction:column;align-items:flex-start}
  .scroll-indicator{display:none}
  .footer-bottom{flex-direction:column;align-items:flex-start}

  /* Disciplines: kanji plus petit sur mobile */
  .discipline-kanji{font-size:1.3rem}
  .discipline-card{padding:clamp(20px,4vw,32px)}

  /* Page header plus compact */
  .page-header{padding:clamp(70px,10vw,110px) 0 clamp(40px,6vw,60px)}

  /* About image moins haute */
  .about-image-wrap img{aspect-ratio:4/3}

  /* Sidebar cards padding réduit */
  .sidebar-card{padding:1.2rem}

  /* Event featured body padding réduit */
  .event-featured-body{padding:clamp(20px,5vw,32px)}

  /* Footer bottom */
  .footer-bottom{flex-direction:column;align-items:flex-start}

  /* Nav brand texte raccourci */
  .nav-brand-name{font-size:.78rem}
  .nav-brand-jp{font-size:.6rem}
  .nav-brand img{height:38px}
}

.footer-col a[href="contact.html"]{transition:background .3s,color .3s}
.footer-col a[href="contact.html"]:hover{background:#b8922e;color:#fff}


@media(max-width:900px){
}

/* ── Section affiliations (accueil) ─────────────────────── */
.affil-section {
  background: var(--bg-alt);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: clamp(32px,4vw,56px) 0;
}
.affil-grid {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(40px,8vw,100px);
  flex-wrap: wrap;
}
.affil-logo-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .8rem;
}
.affil-logo {
  max-height: 90px;
  width: auto;
  filter: grayscale(.2) saturate(.9);
  transition: filter var(--transition), transform var(--transition);
}
.affil-logo:hover { filter: grayscale(0) saturate(1); transform: scale(1.04); }
.affil-name {
  font-family: var(--font-display);
  font-size: .58rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--muted);
}

/* ── Sélecteur de langue (5 langues) ─────────────────── */
.lang-selector{display:flex;align-items:center;gap:1px;margin-left:.6rem;flex-shrink:0}
.lang-btn{font-family:var(--font-display);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:none;border:1px solid transparent;padding:.28em .5em;cursor:pointer;transition:color var(--transition),border-color var(--transition);line-height:1;border-radius:0}
.lang-btn:hover{color:var(--text);border-color:var(--border)}
.lang-btn--active{color:var(--gold);border-color:var(--gold)}
@media(max-width:900px){.lang-selector{display:none}}

/* ── Sélecteur de langue mobile ──────────────────────────── */
.mobile-lang-row{display:flex;gap:.35rem;padding:.8rem 0;border-bottom:1px solid var(--border-s)}
.mobile-lang-btn{font-size:.62rem!important;letter-spacing:.12em;padding:.3rem .5rem!important;border:1px solid var(--border)!important;border-radius:2px!important;transition:color var(--transition),border-color var(--transition)!important}
.mobile-lang-btn.lang-btn--active{color:var(--gold)!important;border-color:var(--gold)!important;font-weight:700!important}
