/* ============================================================
   Dashboard « Ma ruche » — Les Alvéoles-Portails
   Feuille de style scopée sous .sp-ruche
   Charte : clair/parchemin, hexagones à plat, ambre = accent,
   lisible en plein air. Le grade reste un hexagone "tourné".
   ============================================================ */

.sp-ruche{
  --parchemin:#F5EEE0; --creme:#FBF6EA; --kraft:#E9D8B6;
  --ecorce:#2A2017; --noyer:#553A22; --ambre:#E8A83A; --ambre-clair:#F2C766;
  --ambre-texte:#8A5712; --chene:#2D5A27; --chene-clair:#4E8245;
  --granit:#6B7079; --granit-clair:#9097A0; --trait:#D8C8A6;
  --serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --sans:'Montserrat',system-ui,-apple-system,sans-serif;

  max-width:760px;margin:0 auto;padding:8px 16px 40px;
  background:var(--parchemin);color:var(--ecorce);
  font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased;
}
.sp-ruche *{box-sizing:border-box}
.sp-ruche a{text-decoration:none}

/* greeting */
.rk-greet{margin-bottom:16px}
.rk-greet .hi{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--granit);font-weight:700}
.rk-greet h2{font-family:var(--serif);font-weight:700;font-size:1.8rem;color:var(--ecorce);margin:2px 0 0}

/* identity card */
.rk-id{background:linear-gradient(160deg,#FBF6EA,#F0E4CB);border:1px solid var(--trait);border-radius:20px;padding:20px;position:relative;overflow:hidden}
.rk-id::after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;opacity:.07;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='84' height='48' viewBox='0 0 84 48'><path d='M21 0h42l21 12v24l-21 12H21L0 36V12z' fill='none' stroke='%232A2017' stroke-width='2'/></svg>");background-size:42px 24px}
.rk-id__top{display:flex;gap:15px;align-items:center;position:relative;z-index:2}
.rk-avatar{width:64px;height:58px;flex:none;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
  background:linear-gradient(165deg,#6A4A2C,#3C2716);color:var(--ambre-clair);display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-weight:700;font-size:1.5rem}
.rk-name{font-family:var(--serif);font-weight:700;font-size:1.35rem;color:var(--ecorce);line-height:1.1}
.rk-since{font-size:.78rem;color:var(--granit);margin-top:3px}
.rk-badge{margin-left:auto;text-align:center}
.rk-badge__hex{width:54px;height:62px;margin:0 auto 4px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  background:linear-gradient(165deg,#5A3C24,#3C2716);display:flex;align-items:center;justify-content:center}
.rk-badge__hex .mk{width:18px;height:20px;background:var(--ambre-clair);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.rk-badge__lab{font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--granit);font-weight:700}

.rk-grade{margin-top:16px;position:relative;z-index:2}
.rk-grade__top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.rk-grade__name{font-family:var(--serif);font-weight:700;font-size:1.05rem;color:var(--ecorce)}
.rk-grade__count{font-size:.8rem;font-weight:700;color:var(--ambre-texte)}
.rk-bar{height:12px;border-radius:30px;background:#E4D6B6;overflow:hidden;border:1px solid #D2BE92}
.rk-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--ambre),var(--ambre-clair));border-radius:30px}
.rk-next{font-size:.78rem;color:var(--granit);margin-top:8px}
.rk-next b{color:var(--noyer)}

/* stats */
.rk-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.rk-stat{background:var(--creme);border:1px solid var(--trait);border-radius:14px;padding:14px 8px;text-align:center}
.rk-stat .v{font-family:var(--serif);font-weight:800;font-size:1.5rem;color:var(--ecorce);line-height:1}
.rk-stat .l{font-size:.66rem;letter-spacing:.03em;text-transform:uppercase;color:var(--granit);font-weight:700;margin-top:6px}

/* section */
.rk-sec{margin-top:26px}
.rk-sec__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.rk-title{font-family:var(--serif);font-weight:700;font-size:1.2rem;color:var(--ecorce);display:flex;align-items:center;gap:9px;margin:0}
.rk-title .mk{width:14px;height:12px;background:var(--ambre);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
.rk-seeall{font-size:.78rem;font-weight:700;color:var(--ambre-texte)}

/* honeycomb */
.rk-comb{display:flex;justify-content:center;align-items:flex-start;padding:8px 0 42px;flex-wrap:wrap}
.rk-cell{width:78px;height:70px;margin-right:-19px;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
  display:flex;align-items:center;justify-content:center;font-size:1.35rem;background-size:cover;background-position:center;color:#fff}
.rk-cell:last-child{margin-right:0}
.rk-cell:nth-child(even){margin-top:35px}
.rk-cell.nature{background:linear-gradient(165deg,#4E8245,#2D5A27);color:#EAF6E6}
.rk-cell.patrimoine{background:linear-gradient(165deg,#7A5430,#553A22);color:var(--ambre-clair)}
.rk-cell.fresh{box-shadow:0 0 0 3px rgba(232,168,58,.45)}
.rk-cell.empty{background:repeating-linear-gradient(135deg,#EADFC8,#EADFC8 7px,#E2D4B5 7px,#E2D4B5 14px);color:var(--granit-clair);font-size:1.1rem}

/* recent list */
.rk-list{display:flex;flex-direction:column;gap:9px;margin-top:14px}
.rk-item{display:flex;align-items:center;gap:12px;background:var(--creme);border:1px solid var(--trait);border-radius:14px;padding:10px 12px}
.rk-thumb{width:46px;height:42px;flex:none;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);display:flex;align-items:center;justify-content:center;font-size:1.1rem;background-size:cover;background-position:center}
.rk-thumb.nature{background:linear-gradient(165deg,#4E8245,#2D5A27);color:#EAF6E6}
.rk-thumb.patrimoine{background:linear-gradient(165deg,#7A5430,#553A22);color:var(--ambre-clair)}
.rk-info{flex:1;min-width:0}
.rk-iname{font-family:var(--serif);font-weight:600;font-size:.98rem;color:var(--ecorce);line-height:1.15}
.rk-imeta{font-size:.76rem;color:var(--granit);margin-top:2px}
.rk-imeta .pt{color:var(--ambre-texte);font-weight:700}
.rk-chev{color:var(--granit-clair);font-size:1.2rem}

/* empty collection */
.rk-empty{text-align:center;padding:24px 12px;background:var(--creme);border:1px solid var(--trait);border-radius:16px;margin-top:10px}
.rk-empty .eh{width:60px;height:54px;margin:0 auto 12px;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,0 50%);background:repeating-linear-gradient(135deg,#EADFC8,#EADFC8 7px,#E2D4B5 7px,#E2D4B5 14px);display:flex;align-items:center;justify-content:center;color:var(--granit);font-size:1.6rem}
.rk-empty p{color:#4a4034;font-size:.92rem;margin:0}

/* CTAs */
.rk-ctas{display:flex;flex-direction:column;gap:10px;margin-top:24px}
@media(min-width:560px){.rk-ctas{flex-direction:row}.rk-ctas .rk-cta{flex:1}}
.rk-cta{display:flex;align-items:center;justify-content:center;gap:9px;font-family:var(--sans);font-weight:700;font-size:1rem;
  padding:15px;border-radius:13px;border:none;cursor:pointer;transition:transform .15s}
.rk-cta:hover{transform:translateY(-2px)}
.rk-cta--primary{background:var(--ambre);color:#3a2906;box-shadow:0 8px 20px -8px rgba(138,87,18,.55)}
.rk-cta--green{background:var(--chene);color:#F0F7ED}

/* guest / sign */
.rk-guest{text-align:center;padding:34px 18px;background:var(--creme);border:1px solid var(--trait);border-radius:18px}
.rk-guest h2{font-family:var(--serif);font-weight:700;color:var(--ecorce);font-size:1.4rem;margin:0 0 8px}
.rk-guest p{color:#4a4034;margin:0 0 18px}
.rk-sign{text-align:center;margin-top:30px;padding-top:18px;border-top:1px solid var(--trait)}
.rk-sign span{font-family:var(--serif);font-size:.78rem;color:var(--noyer);font-style:italic}
.rk-sign b{font-style:normal;letter-spacing:.1em}

/* ============================================================
   RESPONSIVE — Tablette & Ordinateur
   ============================================================ */

/* Tablette : colonne centrée plus généreuse */
@media (min-width:768px){
  .sp-ruche{max-width:820px}
}

/* Ordinateur : identité + stats côte à côte, captures sur toute la largeur */
@media (min-width:1024px){
  .sp-ruche{max-width:1000px}
  .rk-top{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:18px;align-items:stretch}
  .rk-top .rk-id{margin:0}
  .rk-top .rk-stats{grid-template-columns:1fr;margin-top:0;align-content:start}
  .rk-top .rk-stat{display:flex;align-items:center;justify-content:space-between;text-align:left;padding:14px 16px}
  .rk-top .rk-stat .v{font-size:1.6rem}
  .rk-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}
}
