/* Cours de japonais – styles du site (extension rk-nihongo)
   Les couleurs principales viennent de la palette globale de Kadence (--global-palette1 à 9) ;
   les couleurs propres au flyer sont définies ici. */
@font-face { font-family: "RK Shippori Mincho"; font-weight: 700; font-display: swap;
  src: url("fonts/shippori-mincho-bold-sous-ensemble.woff2") format("woff2"); }
@font-face { font-family: "RK Zen Maru Gothic"; font-weight: 700; font-display: swap;
  src: url("fonts/zen-maru-gothic-bold-sous-ensemble.woff2") format("woff2"); }

:root {
  --rk-vert: var(--global-palette1, #4E6B40);
  --rk-vert-fonce: var(--global-palette2, #3F5934);
  --rk-encre: var(--global-palette3, #1E2420);
  --rk-texte: var(--global-palette5, #3B433D);
  --rk-vert-pale: var(--global-palette7, #EAF0E2);
  --rk-creme: var(--global-palette8, #FBF9F3);
  --rk-vert-titre: #637552;
  --rk-vert-tendre: #C2D5B5;
  --rk-numero: #6E8B5B;
  --rk-jaune: #F2EC9E;
  --rk-vermillon: #B03A22;
  --rk-bordure: #E3E8DB;
  --rk-serif: "Cormorant Garamond", Georgia, serif;
  --rk-kanji: "RK Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  --rk-kana: "RK Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Yu Gothic", sans-serif;
}

/* Sections */
.rk-section { padding-block: clamp(3.5rem, 7vw, 6rem); }
.rk-section-pale { background: var(--rk-vert-pale); }
.rk-section-blanche { background: #fff; border-top: 1px solid var(--rk-bordure); }
.rk-surtitre { font-family: var(--rk-serif); font-style: italic; font-weight: 600; font-size: clamp(1.25rem, 2vw, 1.6rem); color: var(--rk-vert-titre); margin-bottom: .3rem; }
.rk-section h2.wp-block-heading { font-size: clamp(2.1rem, 4vw, 3rem); line-height: 1.08; margin-top: 0; margin-bottom: 2.2rem; }
.rk-section h3.wp-block-heading { font-size: clamp(1.3rem, 2vw, 1.65rem); line-height: 1.2; margin: 0 0 .5rem; }
.rk-lien a { font-weight: 600; color: var(--rk-vert-fonce); }

/* En-tête de page */
.rk-hero { position: relative; overflow: hidden; background: var(--rk-creme); padding-block: clamp(3rem, 8vw, 6rem); }
.rk-hero::before { content: ""; position: absolute; left: 0; top: 0; width: 260px; height: 820px; pointer-events: none;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='820' viewBox='0 0 260 820'><g fill='%23CFDDC2'><rect x='30' y='0' width='28' height='820' rx='6'/><rect x='104' y='60' width='20' height='760' rx='5'/></g><g fill='%23DCE7D1'><rect x='172' y='150' width='14' height='670' rx='4'/></g><g stroke='%23B4C9A2' stroke-width='4' stroke-linecap='round'><line x1='28' y1='160' x2='60' y2='160'/><line x1='28' y1='380' x2='60' y2='380'/><line x1='28' y1='600' x2='60' y2='600'/><line x1='102' y1='250' x2='126' y2='250'/><line x1='102' y1='500' x2='126' y2='500'/><line x1='170' y1='340' x2='188' y2='340'/></g><g fill='%23B9CFA6'><path d='M60 160 C 110 130, 160 140, 205 118 C 160 162, 110 168, 60 160 Z'/><path d='M60 166 C 100 190, 140 220, 158 258 C 118 230, 86 204, 60 166 Z'/><path d='M126 500 C 170 470, 220 480, 258 455 C 216 500, 170 506, 126 500 Z'/></g></svg>") no-repeat; }
.rk-hero::after { content: ""; position: absolute; right: 0; top: 40px; width: 360px; height: 380px; pointer-events: none;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='360' height='380' viewBox='0 0 360 380'><g fill='%23F3B6C2'><ellipse cx='280' cy='40' rx='22' ry='13' transform='rotate(-28 280 40)'/><ellipse cx='340' cy='120' rx='18' ry='11' transform='rotate(35 340 120)'/><ellipse cx='220' cy='160' rx='15' ry='9' transform='rotate(-50 220 160)'/><ellipse cx='310' cy='250' rx='20' ry='12' transform='rotate(18 310 250)'/></g><g fill='%23F8CDD5'><ellipse cx='180' cy='70' rx='12' ry='7' transform='rotate(40 180 70)'/><ellipse cx='250' cy='330' rx='12' ry='7' transform='rotate(-30 250 330)'/></g></svg>") no-repeat; }
.rk-hero > * { position: relative; z-index: 1; }
.rk-titre-hero { font-size: clamp(2.6rem, 6vw, 4.4rem); line-height: 1.03; margin: .2rem 0 .6rem; }
.rk-sous-titre { font-family: var(--rk-serif); font-weight: 600; font-size: clamp(1.35rem, 2.4vw, 1.8rem); margin: 0 0 1rem; color: var(--rk-encre); }
.rk-lead { font-size: 1.12rem; line-height: 1.65; max-width: 36rem; color: var(--rk-texte); }
@media (min-width: 1101px) { .rk-hero-colonnes { padding-left: 7.5rem; } }
@media (max-width: 1100px) { .rk-hero::before { opacity: .45; } }
@media (max-width: 781px) { .rk-hero::before { width: 70px; opacity: .6; } .rk-hero::after { width: 130px; transform: scale(.45); transform-origin: top right; } }

/* Boutons */
.wp-block-button.rk-btn .wp-block-button__link { background: var(--rk-vert); color: #fff; border-radius: 999px; padding: 1rem 1.8rem; font-weight: 600; }
.wp-block-button.rk-btn .wp-block-button__link:hover { background: var(--rk-vert-fonce); }
.wp-block-button.rk-btn-contour .wp-block-button__link { background: transparent; color: var(--rk-vert-fonce); border: 1.5px solid var(--rk-vert); border-radius: 999px; padding: .95rem 1.7rem; font-weight: 600; }
.wp-block-button.rk-btn-sombre .wp-block-button__link { background: var(--rk-encre); color: #fff; border-radius: 999px; padding: 1rem 1.8rem; font-weight: 600; }
@media (max-width: 600px) { .rk-hero .wp-block-buttons, .rk-bandeau .wp-block-buttons { flex-direction: column; align-items: stretch; }
  .rk-hero .wp-block-button, .rk-bandeau .wp-block-button { width: 100%; } .wp-block-button .wp-block-button__link { width: 100%; text-align: center; } }

/* Encart jaune avec le chat */
.rk-encart { position: relative; background: var(--rk-jaune); border-radius: 22px; padding: 2rem 2rem 1.8rem 9.2rem; box-shadow: 0 18px 40px -24px rgba(60, 70, 40, .45); }
.rk-encart::before { content: ""; position: absolute; left: 1.6rem; top: 1.6rem; width: 6.4rem; height: 7.6rem;
  background: url("maneki-neko.png") center / contain no-repeat; }
.rk-encart p { margin: 0; }
.rk-konnichiwa { font-family: var(--rk-kana); font-weight: 700; font-size: clamp(1.6rem, 3vw, 2.3rem); letter-spacing: .12em; color: var(--rk-vermillon); }
.rk-bienvenus { font-family: var(--rk-serif); font-weight: 700; font-size: clamp(1.4rem, 2.4vw, 1.85rem); color: var(--rk-vermillon); margin-bottom: 1.2rem !important; }
.rk-encart-texte { font-family: var(--rk-serif); font-weight: 600; font-size: 1.45rem; line-height: 1.3; color: var(--rk-encre); }
.rk-encart-note { font-size: .95rem; color: #4A4A2E; margin-top: .6rem !important; }
@media (max-width: 600px) { .rk-encart { padding-left: 1.5rem; padding-top: 7.6rem; } .rk-encart::before { width: 4.8rem; height: 5.7rem; top: 1.3rem; } }

/* Atouts */
.rk-bande-atouts { background: #fff; border-block: 1px solid var(--rk-bordure); padding-block: 1.4rem; }
.rk-atout { display: flex; align-items: center; gap: .8rem; }
.rk-atout p { margin: 0; color: var(--rk-texte); font-size: .97rem; }
.rk-kanji { font-family: var(--rk-kanji); font-weight: 700; color: var(--rk-vert); font-size: 1.7rem; line-height: 1; }

/* Grilles (en plus des réglages de mise en page de WordPress) */
.rk-atouts, .rk-cartes, .rk-points, .rk-etapes { display: grid; }
.rk-atouts { grid-template-columns: repeat(auto-fill, minmax(min(16rem, 100%), 1fr)); gap: 1rem 1.5rem; }
.rk-cartes { grid-template-columns: repeat(auto-fill, minmax(min(20rem, 100%), 1fr)); }
.rk-points { grid-template-columns: repeat(auto-fill, minmax(min(15rem, 100%), 1fr)); }
.rk-etapes { grid-template-columns: repeat(auto-fill, minmax(min(17rem, 100%), 1fr)); }

/* Cartes d'objectifs */
.rk-cartes { gap: 1.4rem; }
.rk-carte { background: #fff; border: 1px solid var(--rk-bordure); border-radius: 18px; padding: 1.75rem; }
.rk-carte .rk-kanji { font-size: 2.1rem; margin-bottom: .6rem; }
.rk-carte p:not(.rk-kanji), .rk-point p, .rk-etape p:not(.rk-numero) { margin: 0; font-size: 1rem; line-height: 1.6; color: var(--rk-texte); }

/* Méthode et étapes */
.rk-methode-colonnes { gap: clamp(2rem, 5vw, 3.5rem); }
.rk-points { gap: 1.8rem 2rem; }
.rk-etapes { gap: 1.5rem; }
.rk-numero { font-family: var(--rk-serif); font-weight: 700; font-size: 3.5rem; line-height: 1; color: var(--rk-numero); margin: 0 0 .5rem; }

/* Bandeau vert */
.rk-bandeau { background: var(--rk-vert-tendre); padding-block: 3rem; }
.rk-bandeau p { margin: 0; color: #2D372A; }
.rk-bandeau-titre { font-family: var(--rk-serif); font-weight: 700; font-size: clamp(1.7rem, 3vw, 2.3rem); color: var(--rk-encre) !important; line-height: 1.15; margin-bottom: .3rem !important; }
.rk-bandeau .wp-block-buttons { justify-content: flex-end; }
@media (max-width: 781px) { .rk-bandeau .wp-block-buttons { justify-content: flex-start; } }

/* Photo (à remplacer par un bloc Image) et image arrondie */
.rk-photo { aspect-ratio: 4 / 5; border-radius: 22px; background: var(--rk-bordure); display: flex; align-items: center; justify-content: center; text-align: center; padding: 1.5rem; color: #4A524C; }
.rk-arrondi img { border-radius: 22px; }

/* Questions fréquentes */
.rk-faq { border-top: 1px solid var(--rk-bordure); padding: 1.2rem 0; margin: 0 !important; }
.rk-faq:last-of-type { border-bottom: 1px solid var(--rk-bordure); }
.rk-faq summary { cursor: pointer; font-weight: 600; font-size: 1.1rem; }
.rk-faq p { margin: .8rem 0 0; color: var(--rk-texte); }

/* Formulaire de contact (Contact Form 7) */
.rk-form { display: grid; gap: 1.4rem; max-width: 46rem; }
.rk-form fieldset { border: 0; padding: 0; margin: 0; }
.rk-form legend, .rk-form .rk-label { font-weight: 600; margin-bottom: .55rem; display: block; }
.rk-form .rk-aide { font-weight: 400; color: #4A524C; font-size: .92rem; }
.rk-form input[type="text"], .rk-form input[type="email"], .rk-form input[type="tel"], .rk-form select, .rk-form textarea {
  width: 100%; padding: .8rem 1rem; border: 1px solid #CDD5C4; border-radius: 10px; background: #fff; font: inherit; }
.rk-form textarea { min-height: 8rem; }
.rk-form .rk-deux { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1.2rem; }
.rk-form .wpcf7-checkbox, .rk-form .wpcf7-radio { display: flex; flex-wrap: wrap; gap: .5rem; }
.rk-form .wpcf7-list-item { margin: 0; }
.rk-form .wpcf7-list-item label { display: inline-flex; align-items: center; gap: .45rem; border: 1px solid #CDD5C4; border-radius: 999px; padding: .5rem .95rem; background: #fff; cursor: pointer; }
.rk-form .wpcf7-list-item label:has(input:checked) { background: var(--rk-vert); border-color: var(--rk-vert); color: #fff; }
.rk-form .wpcf7-acceptance .wpcf7-list-item label { border: 0; padding: 0; background: none; color: inherit; align-items: flex-start; }
.rk-form input[type="submit"] { background: var(--rk-vert); color: #fff; border: 0; border-radius: 999px; padding: 1rem 2rem; font-weight: 600; cursor: pointer; justify-self: start; }
.rk-form input[type="submit"]:hover { background: var(--rk-vert-fonce); }

/* Marges latérales des sections pleine largeur (Kadence n'en ajoute pas aux blocs « pleine largeur ») */
.rk-hero, .rk-section, .rk-bande-atouts, .rk-bandeau {
  padding-left: clamp(1.25rem, 5vw, 2.5rem);
  padding-right: clamp(1.25rem, 5vw, 2.5rem);
}
