/* =============================================================
   PAGE SHIMAORÉ — feuille de style
   Même mise en page que les autres rubriques (en-tête coloré,
   barre latérale flottante, sections en cartes, FAQ, sources)
   + le traducteur. Aucune police externe : variables de style.css.
   ============================================================= */

/* -------------------------------------------------------------
   En-tête
   ------------------------------------------------------------- */
.rubrique-shimaore .entete-page.sh-entete{
  background:
    radial-gradient(circle at 88% 18%, rgba(224,165,38,.3) 0, transparent 40%),
    radial-gradient(circle at 8% 110%, rgba(194,65,12,.35) 0, transparent 45%),
    linear-gradient(135deg, #0A5C63 0%, #0D2430 100%);
  color:#fff; border-bottom:0; padding:26px 0 28px;
}
.sh-entete .fil-ariane{ padding:0 0 10px; margin-bottom:14px; border-bottom:0; }
.sh-entete .fil-ariane, .sh-entete .fil-ariane a, .sh-entete .fil-ariane span{ color:rgba(255,255,255,.82); }
.sh-entete .fil-ariane a:hover{ color:#fff; }
.sh-entete .fil-courant{ opacity:1; margin:0; }
.sh-entete .eyebrow{ background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.2); }
.rubrique-shimaore .sh-entete h1{ color:#fff; max-width:none; font-size:clamp(1.75rem, 3.2vw, 2.5rem); line-height:1.15; margin:.35em 0 .3em; }
.rubrique-shimaore .sh-entete p{ color:rgba(255,255,255,.92); max-width:none; }
.sh-entete .entete-maj{ margin-top:12px !important; font-size:.84rem; color:rgba(255,255,255,.72) !important; }
.sh-bandeau{ list-style:none; margin:18px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.sh-bandeau li{ margin:0; padding:11px 16px; border-radius:12px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); border-left:4px solid var(--ylang); }
.sh-bandeau li::before{ content:none !important; }
.sh-bandeau li:nth-child(2){ border-left-color:#b79cf0; }
.sh-bandeau li:nth-child(3){ border-left-color:var(--lagon-vif); }
.sh-bandeau li:nth-child(4){ border-left-color:#f28b82; }
.sh-bandeau strong{ display:block; font-family:var(--f-display); font-size:1.5rem; line-height:1.1; color:#fff; }
.sh-bandeau span{ display:block; font-size:.85rem; color:rgba(255,255,255,.82); margin-top:2px; }

/* -------------------------------------------------------------
   Traducteur (pleine largeur)
   ------------------------------------------------------------- */
.rubrique-shimaore .sh-zone{ padding:26px 0 8px !important; background:linear-gradient(180deg, var(--sable-clair,#fbf8f0), transparent); scroll-margin-top:80px; }
.sh-outil{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); background:#fff; border:1px solid rgba(13,36,48,.08);
  border-top:6px solid #c2410c; border-radius:var(--rayon-lg,26px); box-shadow:0 10px 30px rgba(13,36,48,.08); overflow:hidden; }
.sh-outil-saisie{ padding:22px 24px 24px; }
.sh-outil-resultat{ padding:22px 24px 20px; background:linear-gradient(160deg, #fff7ed, #fbf8f0); border-left:1px dashed rgba(13,36,48,.14); display:flex; flex-direction:column; }
.rubrique-shimaore .sh-outil-titre{ margin:0 0 14px; font-size:1.25rem; line-height:1.25; color:var(--encre); }
.sh-outil-titre::after, .sh-resultat-titre::after{ display:none !important; }
.sh-label{ display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; margin-bottom:6px; font-weight:700; font-size:.9rem; color:var(--lagon-profond); }
.sh-label small{ font-weight:500; color:var(--gris-doux); }
.sh-textarea{ display:block; width:100%; box-sizing:border-box; min-height:132px; padding:12px 14px; resize:vertical; font:inherit; font-size:1.02rem; line-height:1.55;
  color:var(--encre); background:#fff; border:1.5px solid #d9e2e4; border-radius:12px; transition:border-color .15s, box-shadow .15s; }
.sh-textarea::placeholder{ color:#9aa9ad; }
.sh-textarea:focus{ outline:none; border-color:var(--lagon-vif); box-shadow:0 0 0 3px rgba(31,169,160,.2); }
.sh-exemples{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:12px 0 0; }
.sh-exemples > span{ font-size:.82rem; font-weight:700; color:var(--gris-doux); margin-right:2px; }
.sh-exemple{ padding:5px 11px; border-radius:99px; border:1px solid color-mix(in srgb, #c2410c 30%, #fff); background:#fff7ed; color:#9a3412;
  font:inherit; font-size:.86rem; font-weight:600; cursor:pointer; }
.sh-exemple:hover{ background:#c2410c; color:#fff; }
.sh-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.sh-btn{ display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:.6em 1.3em; border-radius:99px; border:2px solid #c2410c; background:#c2410c;
  color:#fff; font:inherit; font-weight:700; cursor:pointer; transition:background .15s; }
.sh-btn:hover{ background:#9a3412; border-color:#9a3412; }
.sh-btn.secondaire{ background:#fff; color:#9a3412; }
.sh-btn.secondaire:hover{ background:#fff7ed; }
.sh-btn:focus-visible, .sh-exemple:focus-visible{ outline:3px solid var(--ylang); outline-offset:2px; }
.rubrique-shimaore .sh-resultat-titre{ margin:0 0 12px; font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#9a3412; }
.sh-resultats{ flex:1; display:flex; flex-direction:column; gap:10px; max-height:420px; overflow-y:auto; }
.sh-vide{ margin:auto 0; color:var(--gris-doux); font-style:italic; }
.sh-res{ padding:12px 14px; background:#fff; border:1px solid #efe3cf; border-left:4px solid var(--lagon-vif); border-radius:12px; }
.sh-res.erreur{ border-left-color:#f87171; }
.sh-res p{ margin:0; }
.sh-res-source{ font-size:.8rem; font-weight:600; color:var(--gris-doux); margin-bottom:4px !important; }
.sh-res-sh{ font-family:var(--f-display); font-size:1.15rem; font-weight:700; color:var(--lagon-profond); }
.sh-res-sh::first-letter{ text-transform:uppercase; }
.sh-drapeau{ font-family:initial; }
.sh-res-pron{ font-style:italic; font-size:.92rem; color:#5c7278; margin-top:2px !important; }
.sh-res-fr{ font-size:.86rem; color:var(--gris-doux); margin-top:6px !important; padding-top:6px; border-top:1px solid #f1e7d6; }
.sh-res-message{ color:#991b1b; }
.sh-inconnu{ color:#b91c1c; font-weight:700; }
.sh-legende{ display:flex; flex-wrap:wrap; gap:4px 16px; margin:12px 0 0; font-size:.8rem; color:var(--gris-doux); }

/* -------------------------------------------------------------
   Contenu : sections en cartes (comme les pages du site)
   ------------------------------------------------------------- */
.rubrique-shimaore .dec-corps{ padding-top:28px !important; }
.rubrique-shimaore .contenu-principal{ min-width:0; }
.rubrique-shimaore .contenu-principal p, .rubrique-shimaore .contenu-principal li{ font-size:1.0625rem; line-height:1.75; color:#1f2d33; }
.rubrique-shimaore .contenu-principal p a, .rubrique-shimaore .contenu-principal li a{ text-decoration:underline; }
.rubrique-shimaore .contenu-principal h2{ scroll-margin-top:90px; }
.rubrique-shimaore .contenu-principal > h2{ font-size:clamp(1.35rem, 2.2vw, 1.75rem); line-height:1.2; margin:1.6em 0 .6em; clear:none; }
.rubrique-shimaore .contenu-principal h3{ margin:1.2em 0 .5em; font-size:1.08rem; color:var(--encre); }
.sit-section{ --c:var(--lagon-profond); display:flow-root; position:relative; margin:0 0 20px; padding:20px 24px 12px;
  background:#fff; border:1px solid rgba(13,36,48,.08); border-top:5px solid var(--c); border-radius:var(--rayon-lg,22px); box-shadow:0 6px 20px rgba(13,36,48,.06); }
.rubrique-shimaore .sit-section > h2{ display:flex; align-items:center; gap:12px; margin:0 0 14px !important; font-size:1.3rem; line-height:1.25; }
.rubrique-shimaore .sit-section > h2::after{ display:none; }
.rubrique-shimaore .sit-section > h3:first-of-type{ margin-top:.4em; }
.sit-icone{ flex:none; display:grid; place-items:center; width:46px; height:46px; border-radius:14px; font-size:1.35rem; background:color-mix(in srgb, var(--c) 13%, #fff); }
.sit-section.c-lagon{ --c:#0A5C63; } .sit-section.c-bleu{ --c:#2563a8; } .sit-section.c-ylang{ --c:#b7791f; }
.sit-section.c-hibiscus{ --c:#b23a48; } .sit-section.c-vert{ --c:#2f8f4e; } .sit-section.c-violet{ --c:#7048c8; }
.sit-puces{ list-style:none; padding:0 !important; margin:6px 0 14px !important; display:grid; gap:8px; }
.sit-puces li{ margin:0 !important; padding:10px 14px 10px 44px !important; position:relative; border-radius:12px; background:#fafbfc; border:1px solid rgba(13,36,48,.06); font-size:.98rem !important; line-height:1.6 !important; }
.sit-puces li::before{ content:attr(data-i); position:absolute; left:13px; top:10px; font-size:1.05rem; }
.sh-note{ display:flow-root; margin:6px 0 12px; padding:10px 14px; border-radius:12px; background:var(--sable-clair,#fbf8f0); border-left:4px solid var(--c, var(--lagon-profond)); font-size:.95rem !important; }

/* Shimaoré / kibushi */
.sh-duo{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:4px 0 16px; }
.sh-duo-carte{ display:flex; flex-direction:column; gap:4px; padding:14px 16px; border-radius:14px; background:color-mix(in srgb, var(--c) 7%, #fff);
  border:1px solid color-mix(in srgb, var(--c) 22%, #fff); border-left:5px solid var(--c); }
.sh-duo-carte strong{ font-family:var(--f-display); font-size:1.1rem; color:var(--c); }
.sh-duo-carte span{ font-size:.94rem; line-height:1.5; }

/* Sons */
.sh-sons{ list-style:none; padding:0 !important; margin:6px 0 14px !important; display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:8px; }
.sh-sons li{ display:flex; align-items:center; gap:12px; margin:0 !important; padding:10px 12px !important; border-radius:12px; background:color-mix(in srgb, var(--c) 6%, #fff);
  border:1px solid color-mix(in srgb, var(--c) 18%, #fff); font-size:.95rem !important; line-height:1.45 !important; }
.sh-sons li::before{ content:none !important; }
.sh-sons b{ flex:none; display:grid; place-items:center; width:42px; height:42px; border-radius:10px; background:var(--c); color:#fff; font-family:var(--f-display); font-size:1.15rem; }

/* Phrases prêtes à l'emploi */
.sh-phrases{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:10px; margin:4px 0 8px; }
.sh-phrase{ display:flex; flex-direction:column; gap:3px; padding:12px 14px; border-radius:14px; background:color-mix(in srgb, var(--c) 6%, #fff);
  border:1px solid color-mix(in srgb, var(--c) 20%, #fff); border-top:4px solid var(--c); }
.sh-phrase-fr{ font-size:.86rem; color:var(--gris-doux); }
.sh-phrase-sh{ font-family:var(--f-display); font-weight:700; font-size:1.12rem; color:var(--encre); }
.sh-phrase-note{ font-size:.74rem; color:#8a5a00; }

/* Tableaux */
.sh-deux-col{ display:grid; grid-template-columns:1fr 1fr; gap:4px 20px; }
.sh-table{ width:100%; border-collapse:collapse; margin:6px 0 14px; font-size:.95rem; background:#fff; border-radius:12px; overflow:hidden; border:1px solid rgba(13,36,48,.08); }
.sh-table caption{ caption-side:top; text-align:left; font-size:.88rem; color:var(--gris-doux); padding:0 0 6px; }
.sh-table th, .sh-table td{ padding:9px 12px; text-align:left; vertical-align:top; border-bottom:1px solid rgba(13,36,48,.07); }
.sh-table th{ background:color-mix(in srgb, var(--c) 12%, #fff); color:var(--nuit); font-size:.84rem; text-transform:uppercase; letter-spacing:.04em; }
.sh-table tbody tr:nth-child(even) td{ background:#fafbfc; }
.sh-table tbody tr:last-child td{ border-bottom:0; }
.sh-nombres{ list-style:none; padding:0 !important; margin:6px 0 14px !important; display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.sh-nombres li{ display:flex; align-items:center; gap:10px; margin:0 !important; padding:6px 10px !important; border-radius:10px; background:#fafbfc; border:1px solid rgba(13,36,48,.07); }
.sh-nombres li::before{ content:none !important; }
.sh-nombres span{ flex:none; display:grid; place-items:center; width:30px; height:30px; border-radius:8px; background:var(--c); color:#fff; font-weight:700; font-size:.9rem; }
.sh-morceau{ display:inline-block; padding:2px 8px; margin:1px 3px 1px 0; border-radius:6px; font-weight:700; font-size:.92rem; }
.sh-morceau.p{ background:#dbeafe; color:#1e40af; }
.sh-morceau.t{ background:#fef3c7; color:#92400e; }
.sh-morceau.r{ background:#f1f5f6; color:#475569; font-weight:500; font-style:italic; }
.sh-morceau.n{ background:#fee2e2; color:#991b1b; }
.rubrique-shimaore .table-responsive{ overflow-x:auto; }

/* -------------------------------------------------------------
   Barre latérale, FAQ, sources
   ------------------------------------------------------------- */
.rubrique-shimaore .dec-sidebar{ display:flex; flex-direction:column; gap:22px; }
.rubrique-shimaore .dec-sidebar .sidebar-bloc{ background:#fff; border:1px solid #e2e8f0; border-radius:14px; padding:18px; }
.rubrique-shimaore .dec-sidebar .sidebar-titre{ display:block; margin:0 0 12px; padding:0; font-family:inherit; font-size:.75rem; font-weight:700;
  letter-spacing:1px; text-transform:uppercase; color:#64748b; }
.rubrique-shimaore .dec-sidebar .sidebar-titre::after{ display:none; }
.dec-sommaire{ list-style:none; margin:0; padding:0; }
.dec-sommaire li{ margin:0; padding:0; }
.dec-sommaire li::before{ content:none !important; }
.dec-sommaire a{ display:block; padding:7px 10px; border-radius:6px; font-size:.9rem; line-height:1.35; color:#0f172a; text-decoration:none; }
.dec-sommaire a:hover, .dec-sommaire a.actif{ background:#e6f4f1; color:#0f766e; }
.dec-sommaire a.actif{ font-weight:600; }
.rubrique-shimaore .dec-hub-grille{ display:grid; grid-template-columns:1fr; gap:10px; margin:0; }
.rubrique-shimaore .dec-hub-carte{ --c:#0A5C63; display:grid; grid-template-columns:40px 1fr; column-gap:12px; row-gap:2px; align-items:center;
  padding:10px 12px; background:#fff; border:1px solid #e2e8f0; border-left:4px solid var(--c); border-radius:12px; text-decoration:none; color:inherit; transition:transform .15s, box-shadow .15s; }
.rubrique-shimaore .dec-hub-carte:hover{ transform:translateY(-2px); box-shadow:0 10px 22px -10px rgba(15,23,42,.2); }
.rubrique-shimaore .dec-hub-icone{ grid-row:span 2; display:grid; place-items:center; width:40px; height:40px; border-radius:10px; font-size:1.2rem; background:color-mix(in srgb, var(--c) 12%, #fff); }
.rubrique-shimaore .dec-hub-titre{ font-weight:700; color:var(--c); font-size:.95rem; }
.rubrique-shimaore .dec-hub-desc{ font-size:.82rem; color:#475569; line-height:1.4; }
.dec-faq details{ display:flow-root; background:#fff; border:1px solid #e2e8f0; border-radius:12px; margin:0 0 10px; padding:0 18px; }
.dec-faq summary{ cursor:pointer; font-weight:700; padding:14px 0; }
.rubrique-shimaore .dec-faq details p{ margin:0 0 14px; line-height:1.65; }
.dec-sources{ display:flow-root; margin-top:30px; padding:16px 18px; background:#fff; border:1px solid #e2e8f0; border-radius:12px; }
.rubrique-shimaore .dec-sources h2{ margin:0 0 8px !important; font-size:.85rem !important; text-transform:uppercase; letter-spacing:.04em; }
.dec-sources h2::after{ display:none !important; }
.dec-sources ul{ margin:0; padding-left:18px; }
.rubrique-shimaore .dec-sources li{ margin-bottom:4px; font-size:.9rem; line-height:1.5; }
.dec-sources a{ text-decoration:underline; font-weight:600; }

@media (min-width:961px){
  .rubrique-shimaore .layout-flottant{ display:flow-root !important; }
  .rubrique-shimaore .layout-flottant > .sidebar{ float:right; width:300px; margin:0 0 28px 36px; position:static; }
  .rubrique-shimaore .layout-flottant > .contenu-principal{ display:block; }
}
@media (max-width:960px){
  .rubrique-shimaore .layout-flottant{ display:flex !important; flex-direction:column; }
  .rubrique-shimaore .layout-flottant > .sidebar{ order:2; float:none; width:auto; margin:30px 0 0; }
  .rubrique-shimaore .layout-flottant > .contenu-principal{ order:1; }
  .rubrique-shimaore .dec-sidebar .bloc-sommaire{ display:none; }
  .sh-outil{ grid-template-columns:1fr; }
  .sh-outil-resultat{ border-left:0; border-top:1px dashed rgba(13,36,48,.14); min-height:160px; }
}
@media (max-width:700px){
  .sh-bandeau{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .sh-duo, .sh-deux-col{ grid-template-columns:1fr; }
  .sit-section{ padding:16px 16px 8px; }
  .rubrique-shimaore .sit-section > h2{ font-size:1.12rem; }
  .sh-outil-saisie, .sh-outil-resultat{ padding:18px 16px; }
  .sh-actions .sh-btn{ flex:1; justify-content:center; }
  .rubrique-shimaore .contenu-principal p, .rubrique-shimaore .contenu-principal li{ font-size:1.02rem; }
}

/* Textes alignés à gauche (pas de grands blancs entre les mots) */
.rubrique-shimaore :is(.entete-page, .contenu-principal, .sh-zone) :is(p, li){ text-align:left; -webkit-hyphens:manual; hyphens:manual; }
