/* =========================================================
   Bativo : Styles & matériaux de salle de bain
   Planches d'ambiance, textures CSS, quiz de style
   (mobile-first, variables de style.css)
   ========================================================= */

/* ---------- Textures (CSS / SVG data URI, aucune image) ---------- */
.sm-tex--microcement {
  background-color: #cfcac2;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.35) 0 18%, transparent 40%),
    radial-gradient(circle at 75% 70%, rgba(0,0,0,.08) 0 20%, transparent 45%),
    radial-gradient(circle at 60% 20%, rgba(255,255,255,.25) 0 10%, transparent 30%);
}
.sm-tex--concrete {
  background-color: #8d8b87;
  background-image:
    radial-gradient(rgba(255,255,255,.18) 1px, transparent 1.5px),
    radial-gradient(rgba(0,0,0,.18) 1px, transparent 1.5px),
    linear-gradient(135deg, rgba(255,255,255,.12), rgba(0,0,0,.12));
  background-size: 9px 9px, 13px 13px, 100% 100%;
  background-position: 0 0, 4px 6px, 0 0;
}
.sm-tex--large {
  background-color: #e9e6e0;
  background-image:
    linear-gradient(#cfcac1 1px, transparent 1px),
    linear-gradient(90deg, #cfcac1 1px, transparent 1px);
  background-size: 100% 50%, 50% 100%;
}
.sm-tex--marble {
  background-color: #f4f2ee;
  background-image:
    linear-gradient(115deg, transparent 38%, rgba(120,120,125,.35) 39%, transparent 41%),
    linear-gradient(140deg, transparent 58%, rgba(150,145,140,.3) 59%, transparent 60.5%),
    linear-gradient(100deg, transparent 72%, rgba(170,160,150,.25) 73%, transparent 74%),
    radial-gradient(circle at 30% 70%, rgba(200,195,190,.35), transparent 50%);
}
.sm-tex--travertine {
  background-color: #dccbb0;
  background-image:
    repeating-linear-gradient(0deg, rgba(160,130,95,.25) 0 1px, transparent 1px 7px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.18) 0 3px, transparent 3px 17px),
    radial-gradient(ellipse 4px 1.5px at 30% 40%, rgba(120,95,65,.45), transparent),
    radial-gradient(ellipse 5px 1.5px at 70% 75%, rgba(120,95,65,.4), transparent);
}
.sm-tex--oak {
  background-color: #d8b98f;
  background-image:
    repeating-linear-gradient(90deg, rgba(140,100,60,.18) 0 2px, transparent 2px 9px, rgba(255,255,255,.12) 9px 11px, transparent 11px 17px),
    linear-gradient(90deg, rgba(0,0,0,.1) 1px, transparent 1px);
  background-size: auto, 34px 100%;
}
.sm-tex--teak {
  background-color: #8a5a36;
  background-image:
    repeating-linear-gradient(90deg, rgba(40,20,5,.22) 0 2px, transparent 2px 7px, rgba(255,210,160,.12) 7px 9px, transparent 9px 14px),
    linear-gradient(90deg, rgba(30,15,5,.45) 2px, transparent 2px);
  background-size: auto, 22px 100%;
}
.sm-tex--slats {
  background-color: #c9a67a;
  background-image: repeating-linear-gradient(90deg, #b8915f 0 10px, #3a2f25 10px 13px);
}
.sm-tex--limewash {
  background-color: #e7ddcc;
  background-image:
    radial-gradient(ellipse at 20% 20%, rgba(255,255,255,.55), transparent 55%),
    radial-gradient(ellipse at 80% 60%, rgba(180,160,130,.35), transparent 55%),
    radial-gradient(ellipse at 40% 90%, rgba(255,255,255,.35), transparent 50%);
}
.sm-tex--tadelakt {
  background-color: #c98e62;
  background-image:
    radial-gradient(ellipse at 25% 25%, rgba(255,230,200,.45), transparent 50%),
    radial-gradient(ellipse at 75% 80%, rgba(110,55,25,.35), transparent 55%);
}
.sm-tex--subway {
  background-color: #f7f7f5;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='20'%3E%3Cg fill='none' stroke='%23b9b9b4' stroke-width='1.2'%3E%3Cpath d='M0 .5h40M0 10.5h40M20 0v10M0 10v10M40 10v10'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 40px 20px;
}
.sm-tex--brick {
  background-color: #8a4b2d;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='20'%3E%3Cg fill='none' stroke='%23d8cbbd' stroke-width='1.6'%3E%3Cpath d='M0 .8h40M0 10.8h40M20 0v10M0 10v10M40 10v10'/%3E%3C/g%3E%3C/svg%3E"),
    linear-gradient(135deg, #9c5634, #6f3a22);
  background-size: 40px 20px, 100% 100%;
}
.sm-tex--grid {
  background-color: #d7dde0;
  background-image:
    linear-gradient(#1c1c1c 3px, transparent 3px),
    linear-gradient(90deg, #1c1c1c 3px, transparent 3px),
    linear-gradient(135deg, rgba(255,255,255,.55), rgba(200,210,215,.2));
  background-size: 100% 33.4%, 33.4% 100%, 100% 100%;
}
.sm-tex--checker {
  background-color: #f1ebdd;
  background-image: conic-gradient(#1a1a1a 25%, transparent 0 50%, #1a1a1a 0 75%, transparent 0);
  background-size: 22px 22px;
}
.sm-tex--cement {
  background-color: #f1ebdd;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Crect width='40' height='40' fill='%23f1ebdd'/%3E%3Cpath d='M0 0h20A20 20 0 0 1 0 20zM40 0v20A20 20 0 0 1 20 0zM0 40V20a20 20 0 0 1 20 20zM40 40H20a20 20 0 0 1 20-20z' fill='%231f3b36'/%3E%3Ccircle cx='20' cy='20' r='6' fill='%237a2e3a'/%3E%3Cpath d='M20 8l3 12-3 12-3-12z' fill='%23c8a45c'/%3E%3C/svg%3E");
  background-size: 40px 40px;
}
.sm-tex--fan {
  background-color: #1f3b36;
  background-image:
    radial-gradient(circle at 50% 100%, transparent 0 5px, #c8a45c 5px 6.5px, transparent 6.5px 10px, #c8a45c 10px 11.5px, transparent 11.5px 15px, #c8a45c 15px 16.5px, transparent 16.5px);
  background-size: 34px 17px;
}
.sm-tex--hexwhite {
  background-color: #b8b4ac;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='34.64'%3E%3Cg fill='%23fbfaf7' stroke='%23b8b4ac' stroke-width='1.4'%3E%3Cpath d='M10 .5l8.66 5v10L10 20.5l-8.66-5v-10z'/%3E%3Cpath d='M0 17.82l8.66 5v10L0 37.82l-8.66-5v-10zM20 17.82l8.66 5v10L20 37.82l-8.66-5v-10z'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 20px 34.64px;
}
.sm-tex--terracotta {
  background-color: #efe4d3;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='52'%3E%3Cg fill='%23c46a3f' stroke='%23efe4d3' stroke-width='2'%3E%3Cpath d='M15 1l13 7.5v15L15 31 2 23.5v-15z'/%3E%3Cpath d='M0 27l13 7.5v15L0 57-13 49.5v-15zM30 27l13 7.5v15L30 57 17 49.5v-15z'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 30px 52px;
}
.sm-tex--zellige {
  background-color: #e8e2d6;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Crect x='1' y='1' width='14' height='14' fill='%232f6f8f'/%3E%3Crect x='17' y='1' width='14' height='14' fill='%233d80a0'/%3E%3Crect x='1' y='17' width='14' height='14' fill='%23286480'/%3E%3Crect x='17' y='17' width='14' height='14' fill='%23357896'/%3E%3Crect x='3' y='3' width='6' height='3' fill='%23fff' opacity='.25'/%3E%3Crect x='20' y='20' width='5' height='3' fill='%23fff' opacity='.2'/%3E%3C/svg%3E");
  background-size: 32px 32px;
}
.sm-tex--zellige-sage {
  background-color: #e8e2d6;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Crect x='1' y='1' width='14' height='14' fill='%23889a84'/%3E%3Crect x='17' y='1' width='14' height='14' fill='%23798c76'/%3E%3Crect x='1' y='17' width='14' height='14' fill='%23929f86'/%3E%3Crect x='17' y='17' width='14' height='14' fill='%23839780'/%3E%3C/svg%3E");
  background-size: 32px 32px;
}
.sm-tex--pebble {
  background-color: #b9b2a5;
  background-image:
    radial-gradient(ellipse 7px 5px at 25% 30%, #e6e0d5 90%, transparent),
    radial-gradient(ellipse 6px 4px at 70% 25%, #8c867b 90%, transparent),
    radial-gradient(ellipse 5px 6px at 50% 70%, #d3ccbf 90%, transparent),
    radial-gradient(ellipse 7px 4px at 85% 80%, #a39c90 90%, transparent);
  background-size: 22px 22px;
}
.sm-tex--mosaic {
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Crect x='.5' y='.5' width='9' height='9' fill='%23a9c4c0'/%3E%3Crect x='10.5' y='.5' width='9' height='9' fill='%23d9e5e2'/%3E%3Crect x='.5' y='10.5' width='9' height='9' fill='%23c3d7d3'/%3E%3Crect x='10.5' y='10.5' width='9' height='9' fill='%238fb0ab'/%3E%3C/svg%3E");
  background-size: 20px 20px;
}
.sm-tex--herringbone {
  background-color: #caa575;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cg fill='none' stroke='%237a5a36' stroke-width='1'%3E%3Cpath d='M0 12l12-12M6 18L18 6M12 24l12-12M0 0l6 6M12 12l6 6M18 0l6 6M6 12l6 6'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 24px 24px;
}
.sm-tex--chrome { background: linear-gradient(135deg, #8b939b 0%, #f5f7f9 35%, #aab2ba 55%, #ffffff 70%, #7b838b 100%); }
.sm-tex--black { background: linear-gradient(135deg, #3a3a3a, #161616 55%, #2a2a2a); }
.sm-tex--brass { background: linear-gradient(135deg, #8f6b2e 0%, #d8b872 35%, #b38b45 55%, #e9cf8f 70%, #8a6428 100%); }
.sm-tex--steel { background: repeating-linear-gradient(90deg, rgba(255,255,255,.18) 0 1px, transparent 1px 3px), linear-gradient(135deg, #9aa1a6, #d9dde0 45%, #a4abb0); }
.sm-tex--gunmetal { background: linear-gradient(135deg, #3d4247 0%, #7c8288 40%, #4b5157 60%, #8d9399 75%, #33383d 100%); }
.sm-tex--copper { background: linear-gradient(135deg, #7a3f22, #d08a5c 40%, #a45a33 60%, #e3a57a 75%, #7a3f22); }
.sm-tex--light-warm { background: radial-gradient(circle at 50% 20%, #fff3d6, #f0c98b 45%, #7a5a3a); }
.sm-tex--light-day { background: linear-gradient(180deg, #ffffff, #e8f1fb 60%, #cfdcea); }
.sm-tex--light-spot { background: radial-gradient(circle at 30% 0, #fff7e2 0 12%, transparent 30%), radial-gradient(circle at 75% 0, #fff7e2 0 10%, transparent 28%), #2b2b2b; }
.sm-tex--light-deco { background: radial-gradient(circle at 50% 45%, #fffaf0 0 18%, #f1dfb8 26%, transparent 36%), #1f3b36; }

/* ---------- Planche d'ambiance ---------- */
.sm-mood {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  grid-template-rows: 70px 70px auto;
  gap: 6px;
  padding: 8px;
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}
.sm-mood__tex {
  display: block;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.06);
  min-height: 0;
}
.sm-mood__tex:first-child { grid-row: 1 / span 2; }
.sm-mood__pal {
  grid-column: 1 / -1;
  display: flex;
  gap: 6px;
  padding-top: 4px;
}
.sm-mood__sw {
  flex: 1;
  height: 34px;
  border-radius: 999px;
  background: var(--sw, #ccc);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.1);
}
.sm-mood__cap {
  grid-column: 1 / -1;
  font-size: .75rem;
  color: var(--c-muted);
  line-height: 1.4;
  margin: 2px 2px 0;
}

/* ---------- Fiches style ---------- */
.sm-styles { display: grid; gap: 1.25rem; margin: 1.5rem 0; }
.sm-style {
  display: grid;
  gap: 1rem;
  padding: 1.1rem;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, var(--c-bg-alt), #fff 60%);
  scroll-margin-top: calc(var(--header-h) + 1rem);
}
.sm-style__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .4rem .8rem; }
.sm-style__head h3 { margin: 0; font-size: 1.2rem; color: var(--c-primary); }
.sm-style__budget {
  font-family: var(--ff-head);
  font-weight: 700;
  font-size: .8rem;
  letter-spacing: .05em;
  color: var(--c-accent-dark);
  background: rgba(249,115,22,.1);
  border-radius: 999px;
  padding: .2rem .65rem;
  white-space: nowrap;
}
.sm-style__lead { margin: 0 0 .8rem; font-size: .95rem; }
.sm-specs { margin: 0; display: grid; gap: .45rem; font-size: .9rem; }
.sm-specs div { display: grid; grid-template-columns: 1fr; gap: .1rem; padding-bottom: .45rem; border-bottom: 1px dashed var(--c-border); }
.sm-specs div:last-child { border-bottom: 0; padding-bottom: 0; }
.sm-specs dt { font-family: var(--ff-head); font-weight: 600; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--c-primary-light); }
.sm-specs dd { margin: 0; color: var(--c-text); line-height: 1.55; }

@media (min-width: 640px) {
  .sm-style { grid-template-columns: 230px 1fr; align-items: start; padding: 1.4rem; }
  .sm-style__head { grid-column: 1 / -1; }
  .sm-specs div { grid-template-columns: 110px 1fr; gap: .8rem; }
}

/* ---------- Notes (points, badges) ---------- */
.sm-dots { letter-spacing: .08em; color: var(--c-accent); white-space: nowrap; font-size: .9rem; }
.sm-dots .off { color: #cbd5e1; }
.sm-table td:first-child { font-weight: 600; color: var(--c-primary); }
.sm-table td small { display: block; font-weight: 400; color: var(--c-muted); }
.sm-table { min-width: 640px; }

/* ---------- Revêtements : cartes ---------- */
.sm-mats { display: grid; gap: .9rem; margin: 1.5rem 0; }
.sm-mat {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: .9rem;
  align-items: start;
  padding: 1rem;
  border: 1px solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
}
.sm-mat__tex { width: 56px; height: 56px; border-radius: 10px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
.sm-mat h3 { margin: 0 0 .3rem; font-size: 1.02rem; color: var(--c-primary); }
.sm-mat p { margin: 0; font-size: .92rem; line-height: 1.65; }
.sm-mat p + p { margin-top: .4rem; }
.sm-tag { display: inline-block; font-size: .72rem; font-weight: 600; padding: .1rem .5rem; border-radius: 999px; margin: 0 .3rem .3rem 0; background: var(--c-bg-alt); color: var(--c-primary-light); border: 1px solid var(--c-border); }
.sm-tag--warn { background: #fff7ed; color: #9a3412; border-color: #fed7aa; }
.sm-tag--ok { background: #f0fdf4; color: #166534; border-color: #bbf7d0; }

/* ---------- Finitions robinetterie ---------- */
.sm-finishes { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .8rem; margin: 1.5rem 0; }
.sm-finish { padding: 1rem; border: 1px solid var(--c-border); border-radius: var(--radius); background: #fff; text-align: center; }
.sm-finish__sw { width: 64px; height: 64px; margin: 0 auto .6rem; border-radius: 50%; box-shadow: 0 6px 14px rgba(11,37,69,.15), inset 0 0 0 1px rgba(0,0,0,.1); }
.sm-finish strong { display: block; font-family: var(--ff-head); color: var(--c-primary); font-size: .95rem; }
.sm-finish p { margin: .35rem 0 0; font-size: .82rem; line-height: 1.5; color: var(--c-muted); }

/* ---------- Calepinage & joints ---------- */
.sm-layouts { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: .8rem; margin: 1.5rem 0; }
.sm-layout { margin: 0; padding: .7rem; border: 1px solid var(--c-border); border-radius: var(--radius); background: #fff; }
.sm-layout svg { display: block; width: 100%; height: auto; border-radius: 6px; }
.sm-layout figcaption { font-size: .82rem; line-height: 1.45; margin-top: .5rem; color: var(--c-muted); }
.sm-layout figcaption strong { display: block; color: var(--c-primary); font-family: var(--ff-head); font-size: .88rem; }
.sm-joints { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: .8rem; margin: 1.5rem 0; }
.sm-joint { text-align: center; font-size: .82rem; color: var(--c-muted); line-height: 1.45; }
.sm-joint__demo {
  height: 84px;
  border-radius: 10px;
  margin-bottom: .45rem;
  background-color: var(--tile);
  background-image: linear-gradient(var(--grout) 3px, transparent 3px), linear-gradient(90deg, var(--grout) 3px, transparent 3px);
  background-size: 28px 28px;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
}
.sm-joint strong { display: block; color: var(--c-primary); font-size: .88rem; }

/* =========================================================
   Quiz
   ========================================================= */
.sm-quiz {
  position: relative;
  margin: 1.5rem 0 2rem;
  padding: 1.1rem;
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 100% 0, rgba(249,115,22,.14), transparent 45%),
    linear-gradient(160deg, var(--c-primary), var(--c-primary-light));
  color: #fff;
  box-shadow: var(--shadow-lg);
  overflow: hidden;
}
.sm-quiz__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; font-size: .8rem; }
.sm-quiz__kicker { font-family: var(--ff-head); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--c-accent-light); }
.sm-quiz__count { color: rgba(255,255,255,.8); white-space: nowrap; }
.sm-quiz__bar { height: 6px; border-radius: 999px; background: rgba(255,255,255,.15); overflow: hidden; margin-bottom: 1.1rem; }
.sm-quiz__bar span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--c-accent), var(--c-accent-light)); border-radius: inherit; transition: width .35s ease; }
.sm-quiz__q { font-family: var(--ff-head); font-size: 1.2rem; line-height: 1.35; margin: 0 0 .3rem; color: #fff; }
.sm-quiz__hint { margin: 0 0 1rem; font-size: .88rem; color: rgba(255,255,255,.78); }
.sm-quiz__opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.sm-opt {
  display: flex;
  flex-direction: column;
  text-align: left;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 14px;
  background: #fff;
  color: var(--c-text);
  cursor: pointer;
  overflow: hidden;
  font: inherit;
  transition: transform var(--tr), border-color var(--tr), box-shadow var(--tr);
}
.sm-opt:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(0,0,0,.25); }
.sm-opt:focus-visible { outline: 3px solid var(--c-accent-light); outline-offset: 2px; }
.sm-opt[aria-pressed="true"] { border-color: var(--c-accent); box-shadow: 0 0 0 3px rgba(249,115,22,.35); }
.sm-opt__vis { display: flex; height: 64px; }
.sm-opt__vis span { flex: 1; }
.sm-opt__txt { padding: .55rem .7rem .7rem; }
.sm-opt__txt strong { display: block; font-family: var(--ff-head); font-size: .9rem; line-height: 1.3; color: var(--c-primary); }
.sm-opt__txt small { display: block; margin-top: .2rem; font-size: .76rem; line-height: 1.4; color: var(--c-muted); }
.sm-quiz__nav { display: flex; justify-content: space-between; align-items: center; gap: .8rem; margin-top: 1rem; }
.sm-quiz__back {
  background: none; border: 0; color: rgba(255,255,255,.85); font: inherit; font-size: .88rem;
  cursor: pointer; padding: .4rem 0; text-decoration: underline; text-underline-offset: 3px;
}
.sm-quiz__back[hidden] { display: none; }
.sm-quiz__back:hover { color: #fff; }
.sm-quiz__panel { animation: smFade .35s ease; }
@keyframes smFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* Résultat */
.sm-res { display: grid; gap: 1rem; }
.sm-res__label { font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: var(--c-accent-light); font-family: var(--ff-head); font-weight: 700; margin: 0; }
.sm-res__title { font-family: var(--ff-head); font-size: 1.6rem; line-height: 1.2; margin: .1rem 0 .35rem; color: #fff; }
.sm-res__tagline { margin: 0; color: rgba(255,255,255,.85); font-size: .95rem; line-height: 1.6; }
.sm-res .sm-mood { box-shadow: 0 12px 30px rgba(0,0,0,.25); border-color: transparent; }
.sm-res__box { background: #fff; color: var(--c-text); border-radius: 14px; padding: 1rem 1.1rem; }
.sm-res__box h4 { margin: 0 0 .6rem; font-family: var(--ff-head); color: var(--c-primary); font-size: .95rem; }
.sm-res__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; font-size: .88rem; line-height: 1.5; }
.sm-res__list li { margin: 0 !important; padding-left: 1.1rem; position: relative; }
.sm-res__list li::before { content: ''; position: absolute; left: 0; top: .5em; width: 7px; height: 7px; border-radius: 50%; background: var(--c-accent); }
.sm-res__list b { color: var(--c-primary); }
.sm-aff { display: grid; gap: .5rem; }
.sm-aff__row { display: grid; grid-template-columns: 7.5rem 1fr 2.6rem; gap: .5rem; align-items: center; font-size: .82rem; }
.sm-aff__track { height: 8px; border-radius: 999px; background: var(--c-bg-alt); overflow: hidden; }
.sm-aff__track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--c-primary-light), var(--c-accent)); transition: width .6s ease; }
.sm-aff__row b { text-align: right; color: var(--c-primary); }
.sm-res__actions { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.sm-res__actions .btn--ghost-light {
  background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.5);
}
.sm-res__actions .btn--ghost-light:hover { border-color: #fff; }
.sm-res__restart { background: none; border: 0; color: rgba(255,255,255,.85); font: inherit; font-size: .88rem; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; padding: .4rem 0; }
.sm-quiz noscript p, .sm-quiz__fallback { color: rgba(255,255,255,.9); }

@media (min-width: 560px) {
  .sm-quiz { padding: 1.6rem; }
  .sm-quiz__opts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sm-opt__vis { height: 76px; }
}
@media (min-width: 760px) {
  .sm-res { grid-template-columns: 1fr 1fr; align-items: start; }
  .sm-res__intro, .sm-res__actions { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  .sm-quiz__panel { animation: none; }
  .sm-opt, .sm-quiz__bar span, .sm-aff__track span { transition: none; }
}

/* Priorité sur .content-grid__main p (texte clair sur fond sombre) */
.sm-quiz .sm-quiz__hint,
.sm-quiz .sm-res__tagline,
.sm-quiz .sm-quiz__fallback { color: rgba(255,255,255,.85); }
.sm-quiz .sm-res__label { color: var(--c-accent-light); }
.sm-quiz .sm-res__box p { color: var(--c-muted); }
