/* SportNutrition · mejoras v74 (archivo aparte, usa la paleta lima / grafito del sitio) */

/* --- Botón "Agregar" sobre la foto de cada tarjeta --- */
.card .tile { position: relative; }
.sn74-qa {
  position: absolute; right: 8px; bottom: 8px; z-index: 3;
  display: inline-flex; align-items: center; gap: 6px;
  min-height: 44px; min-width: 44px; padding: 0 14px 0 12px;
  border: 1px solid #0006; border-radius: 999px;
  background: #C1FF72; color: #0b0c0a;
  font: 700 13px/1 inherit; letter-spacing: .02em; text-transform: uppercase;
  box-shadow: 0 2px 10px #0007, inset 0 1px #fff9;
  cursor: pointer; -webkit-tap-highlight-color: transparent;
  transition: transform .15s ease-out, background-color .15s ease-out;
}
.sn74-qa > span:first-child { font-size: 20px; line-height: 1; font-weight: 800; }
.sn74-qa:hover { background: #d6ff9f; }
.sn74-qa:active { transform: scale(.97); }
.sn74-qa:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.sn74-qa.wait { opacity: .7; cursor: progress; }
.sn74-qa.done { background: #fff; }
@media (max-width: 640px) {
  .sn74-qa { right: 6px; bottom: 6px; padding: 0 12px 0 10px; font-size: 12px; }
}

/* --- Aviso breve --- */
.sn74-toast {
  position: fixed; left: 50%; bottom: 84px; z-index: 2147483000;
  transform: translate(-50%, 12px); opacity: 0; pointer-events: none;
  display: flex; gap: 14px; align-items: center; max-width: min(92vw, 520px);
  padding: 12px 16px; border-radius: 14px;
  background: #101110; color: #fff; border: 1px solid #C1FF7288;
  box-shadow: 0 8px 28px #000b; font-size: 14px; line-height: 1.35;
  transition: opacity .2s ease-out, transform .2s ease-out;
}
.sn74-toast.on { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.sn74-toast a { color: #C1FF72; font-weight: 700; white-space: nowrap; text-decoration: underline; }

/* --- Selector de presentación y sabor --- */
.sn74-lock { overflow: hidden; }
.sn74-ov {
  position: fixed; inset: 0; z-index: 2147483001; display: grid; place-items: end center;
  background: #000a; padding: 0;
}
.sn74-dlg {
  width: 100%; max-width: 440px; max-height: 92dvh; overflow: auto;
  background: #121311; color: #fff; border: 1px solid #ffffff2e; border-radius: 18px 18px 0 0;
  padding: 20px 18px calc(20px + env(safe-area-inset-bottom));
  box-shadow: 0 -10px 40px #000c;
}
.sn74-dlg h2 { margin: 0 0 14px; font-size: 18px; line-height: 1.25; }
.sn74-dlg .fld { display: block; margin: 0 0 12px; }
.sn74-dlg .fld span { display: block; margin: 0 0 6px; font-size: 13px; opacity: .85; }
.sn74-dlg select {
  width: 100%; min-height: 48px; padding: 0 12px; border-radius: 12px;
  background: #1c1d1b; color: #fff; border: 1px solid #ffffff40; font: inherit;
}
.sn74-pr { margin: 4px 0 14px; font-size: 22px; font-weight: 800; color: #C1FF72; min-height: 28px; }
.sn74-hint { margin: 0 0 12px; color: #ffd27a; font-size: 14px; }
.sn74-act { display: flex; gap: 10px; flex-wrap: wrap; }
.sn74-act .btn { flex: 1 1 140px; justify-content: center; }
@media (min-width: 700px) {
  .sn74-ov { place-items: center; padding: 20px; }
  .sn74-dlg { border-radius: 18px; padding-bottom: 20px; }
}

/* --- Barra superior de ofertas --- */
.sn74-top {
  position: relative; display: flex; align-items: center; justify-content: center;
  min-height: 38px; padding: 6px 44px; text-align: center;
  background: #C1FF72; color: #0b0c0a; font-size: 13.5px; font-weight: 600; line-height: 1.25;
}
.sn74-top[hidden] { display: none; }
html .sn74-top p, html .sn74-top p * { margin: 0; color: #0b0c0a !important; opacity: 1 !important; font-size: inherit; }
html .sn74-top p[hidden] { display: none; }
html .sn74-top a { color: #0b0c0a; text-decoration: underline; font-weight: 800; margin-left: 6px; }
html .sn74-res[hidden], html .sn74-top[hidden], html .sn74-hint[hidden] { display: none; }
.sn74-top-x {
  position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
  width: 44px; height: 44px; border: 0; background: transparent; color: inherit;
  font-size: 22px; line-height: 1; cursor: pointer;
}
.sn74-top-x:focus-visible, .sn74-top a:focus-visible { outline: 2px solid #0b0c0a; outline-offset: 2px; }
@media (max-width: 640px) { .sn74-top { min-height: 52px; font-size: 13px; padding: 6px 40px 6px 14px; } }

/* --- Bloque de herramientas en la home --- */
.sn74-tools { padding-block: 28px; }
.sn74-tools-grid { display: grid; gap: 14px; grid-template-columns: 1fr; }
@media (min-width: 760px) { .sn74-tools-grid { grid-template-columns: 1fr 1fr; } }
.sn74-tool {
  display: flex; flex-direction: column; gap: 8px; padding: 22px 20px;
  border: 1px solid #ffffff2e; border-radius: 16px; color: #fff; text-decoration: none;
  background: linear-gradient(180deg, #ffffff12, #0000 45%), #101110;
  transition: border-color .15s ease-out, transform .15s ease-out;
}
.sn74-tool:hover { border-color: #C1FF72aa; }
.sn74-tool:active { transform: scale(.99); }
.sn74-tool:focus-visible { outline: 3px solid #C1FF72; outline-offset: 3px; }
.sn74-tool b { font-size: 20px; line-height: 1.2; }
.sn74-tool span { opacity: .85; line-height: 1.4; }
.sn74-tool em { font-style: normal; color: #C1FF72; font-weight: 700; margin-top: 4px; }

/* --- Calculadora y guía --- */
.sn74-form { display: grid; gap: 14px; align-content: start; }
.sn74-form .fld { display: block; }
.sn74-form .fld span { display: block; margin: 0 0 6px; font-size: 14px; opacity: .9; }
.sn74-form input, .sn74-form select {
  width: 100%; min-height: 48px; padding: 0 12px; border-radius: 12px; font: inherit;
  background: #1c1d1b; color: #fff; border: 1px solid #ffffff40;
}
.sn74-form input[aria-invalid="true"] { border-color: #ff8a7a; }
.sn74-err { margin: 0; color: #ffb3a8; font-size: 14px; }
.sn74-res h2 { margin: 0 0 6px; font-size: 16px; opacity: .85; font-weight: 600; }
.sn74-big { margin: 0 0 6px; font-size: clamp(32px, 7vw, 46px); font-weight: 800; color: #C1FF72; line-height: 1.05; }
.sn74-res .cta { margin-top: 16px; display: flex; gap: 10px; flex-wrap: wrap; }
.sn74-note { font-size: 13px; opacity: .8; line-height: 1.45; }
.sn74-steps { display: grid; gap: 12px; margin: 14px 0 0; padding: 0; list-style: none; }
@media (min-width: 760px) { .sn74-steps { grid-template-columns: 1fr 1fr; } }
.sn74-steps li { padding: 16px; border: 1px solid #ffffff2e; border-radius: 14px; background: #101110; }
.sn74-steps a { color: #C1FF72; font-weight: 700; }
.sn74-steps b { display: block; margin-bottom: 4px; }

@media (prefers-reduced-motion: reduce) {
  .sn74-qa, .sn74-toast, .sn74-tool { transition: none; }
}

/* --- Tarjetas de herramientas: titulos y enlaces en mayuscula --- */
.sn74-tool b { font-size: clamp(20px, 2.4vw, 24px); text-transform: uppercase; letter-spacing: .02em; line-height: 1.15; }
.sn74-tool em { font-size: 15px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }

/* --- Verde metalico texturado en botones --- */
html .btn:not(.btn-ghost):not(.btn-ghost-d),
html .sn-button-primary,
html .sn65-desktop-links > a,
html summary.sn65-nav-button,
html .sn74-qa {
  background-color: #a9e85a;
  background-image:
    repeating-linear-gradient(90deg, #ffffff14 0 1px, #0000 1px 3px),
    linear-gradient(180deg, #f1ffd0 0%, #d3ff8f 22%, #b5f55e 48%, #8fd53c 52%, #aeea58 78%, #d0ff8c 100%);
  color: #0b0c0a;
  border-color: #5f8f1f;
  box-shadow: inset 0 1px 0 #ffffffcc, inset 0 -2px 0 #4f7a1a66, 0 2px 8px #0006;
  text-shadow: 0 1px 0 #ffffff80;
}
html .btn:not(.btn-ghost):not(.btn-ghost-d):hover,
html .sn-button-primary:hover,
html .sn65-desktop-links > a:hover,
html summary.sn65-nav-button:hover,
html .sn74-qa:hover {
  background-image:
    repeating-linear-gradient(90deg, #ffffff1c 0 1px, #0000 1px 3px),
    linear-gradient(180deg, #fbffe8 0%, #e2ffab 22%, #c4ff72 48%, #9fe047 52%, #bff269 78%, #e0ffa6 100%);
}

/* === Igualar a la tipografia y el ritmo del sitio (Source Sans 3, titulos peso 500 en mayuscula) === */
.sn74-top, .sn74-qa, .sn74-toast, .sn74-dlg, .sn74-dlg *, .sn74-form input, .sn74-form select, .sn74-form button { font-family: "Source Sans 3", Arial, sans-serif; }
.sn74-top { flex-direction: column; gap: 2px; padding: 8px 48px; }
html .sn74-top p, html .sn74-top p * { font-size: 12.5px; font-weight: 600; letter-spacing: .03em; line-height: 1.35; }
html .sn74-top p b { font-weight: 700; text-transform: uppercase; }
html .sn74-top p:last-of-type { font-weight: 500; }
.sn74-qa { font-size: 13px; font-weight: 600; line-height: 1.3; letter-spacing: 0; text-transform: uppercase; }
.sn74-qa > span:first-child { font-weight: 600; font-size: 18px; }
.sn74-tool b { font-size: 22px; font-weight: 500; letter-spacing: .015em; line-height: 1.2; text-transform: uppercase; }
.sn74-tool span { font-size: 16px; line-height: 1.55; }
.sn74-tool em { font-size: 13px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; }
.sn74-dlg h2 { font-size: 22px; font-weight: 500; letter-spacing: .015em; text-transform: uppercase; line-height: 1.2; }
.sn74-dlg .fld span { font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: 0; opacity: 1; }
.sn74-pr { font-weight: 500; font-size: 26px; letter-spacing: .015em; }
.sn74-hint { font-size: 14px; }
.sn74-toast { font-size: 14px; line-height: 1.5; }
.sn74-big { font-weight: 500; letter-spacing: .015em; }
.sn74-res h2 { font-weight: 500; letter-spacing: .015em; }
.sn74-note, .sn74-err { font-size: 14px; line-height: 1.55; }
.sn74-steps b { font-weight: 600; text-transform: uppercase; letter-spacing: .015em; }
.sn74-steps li { font-size: 16px; line-height: 1.55; }
@media (max-width: 640px) { .sn74-top { padding: 8px 40px 8px 14px; } html .sn74-top p, html .sn74-top p * { font-size: 12px; } }

/* === Barra de arriba: mas fina y delicada === */
.sn74-top { min-height: 0; gap: 0; padding: 4px 40px; }
html .sn74-top p, html .sn74-top p * { font-size: 11.5px; line-height: 1.3; letter-spacing: .02em; }
html .sn74-top p { font-weight: 500; }
html .sn74-top p b { font-weight: 600; }
.sn74-top-x { width: 32px; height: 32px; font-size: 18px; right: 6px; }
@media (max-width: 640px) { .sn74-top { padding: 4px 34px 4px 12px; } html .sn74-top p, html .sn74-top p * { font-size: 11px; } }

/* === Tarjetas de herramientas con el mismo formato que la barra "Que queres mejorar" === */
.sn74-tools { padding-inline: 0; }
.sn74-tool {
  background: #20291d; background-image: none;
  border: 1px solid rgba(197, 215, 179, .15); border-radius: 18px;
  padding: 18px 20px; gap: 10px; box-shadow: none;
}
.sn74-tool:hover { border-color: rgba(197, 215, 179, .35); }
.sn74-tool em {
  align-self: flex-start; margin-top: 6px; padding: 8px 14px; border-radius: 999px;
  font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: uppercase; color: #0b0c0a;
  background-color: #a9e85a;
  background-image:
    repeating-linear-gradient(90deg, #ffffff14 0 1px, #0000 1px 3px),
    linear-gradient(180deg, #f1ffd0 0%, #d3ff8f 22%, #b5f55e 48%, #8fd53c 52%, #aeea58 78%, #d0ff8c 100%);
  border: 1px solid #5f8f1f;
  box-shadow: inset 0 1px 0 #ffffffcc, inset 0 -2px 0 #4f7a1a66, 0 2px 8px #0006;
  text-shadow: 0 1px 0 #ffffff80;
}

html .wrap.sn74-tools { padding-inline: 0; }

/* === Verde metalico real, sin sombras exteriores === */
html .btn:not(.btn-ghost):not(.btn-ghost-d),
html .sn-button-primary,
html .sn65-desktop-links > a,
html summary.sn65-nav-button,
html .sn74-qa,
html .sn74-tool em {
  background-color: #8fd048;
  background-image:
    repeating-linear-gradient(90deg, #ffffff12 0 1px, #0000 1px 3px),
    linear-gradient(180deg, #eaffc4 0%, #c1ff72 30%, #84cc3f 50%, #6fb832 54%, #93d84a 76%, #c3f581 100%);
  border: 1px solid #7fb23f;
  color: #0b0c0a;
  box-shadow: inset 0 1px 0 #ffffffb3;
  text-shadow: none;
  filter: none;
}
html .btn:not(.btn-ghost):not(.btn-ghost-d):hover,
html .sn-button-primary:hover,
html .sn65-desktop-links > a:hover,
html summary.sn65-nav-button:hover,
html .sn74-qa:hover {
  background-image:
    repeating-linear-gradient(90deg, #ffffff1a 0 1px, #0000 1px 3px),
    linear-gradient(180deg, #f4ffd9 0%, #d2ff91 30%, #94dc4d 50%, #7cc83a 54%, #a2e45a 76%, #d0f99a 100%);
}

/* === Celular === */
@media (max-width: 640px) {
  .sn74-top { padding: 4px 34px 4px 10px; }
  html .sn74-top p, html .sn74-top p * { font-size: 10.5px; line-height: 1.3; letter-spacing: 0; }
  .sn74-qa { right: 6px; bottom: 6px; min-width: 44px; width: 44px; height: 44px; padding: 0; justify-content: center; gap: 0; }
  .sn74-qa > span:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .sn74-qa > span:first-child { font-size: 24px; font-weight: 500; }
}

/* === Botones verdes lisos, letra negra (sin metal, sin sombra) === */
html .btn:not(.btn-ghost):not(.btn-ghost-d),
html .sn-button-primary,
html .sn65-desktop-links > a,
html summary.sn65-nav-button,
html .sn74-qa,
html .sn74-tool em {
  background: #C1FF72; background-image: none;
  border: 0; box-shadow: none; text-shadow: none; color: #0b0c0a;
}
html .btn:not(.btn-ghost):not(.btn-ghost-d):hover,
html .sn-button-primary:hover,
html .sn65-desktop-links > a:hover,
html summary.sn65-nav-button:hover,
html .sn74-qa:hover { background: #d6ff9f; background-image: none; }

/* === Barra de envios: una sola tira fina === */
.sn74-top { min-height: 0; padding: 3px 36px; }
html .sn74-top p, html .sn74-top p * { font-size: 11.5px; line-height: 1.4; font-weight: 600; letter-spacing: .02em; margin: 0; }
.sn74-top .m { display: none; }
@media (max-width: 640px) {
  .sn74-top { padding: 3px 30px 3px 8px; min-height: 0; }
  .sn74-top .d { display: none; }
  .sn74-top .m { display: inline; }
  html .sn74-top p, html .sn74-top p * { font-size: 10.5px; }
}

/* === Asi trabajamos: informativo, sin enlaces === */
.sn74-how { padding-block: 28px; }
.sn74-how h2.sec { margin-bottom: 18px; }
.sn74-how-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; grid-template-columns: repeat(4, 1fr); }
.sn74-how-grid li { background: #20291d; border: 1px solid rgba(197, 215, 179, .15); border-radius: 18px; padding: 18px 20px; }
.sn74-how-grid .n { display: block; color: #C1FF72; font-weight: 600; font-size: 13px; letter-spacing: .06em; margin-bottom: 8px; }
.sn74-how-grid b { display: block; font-size: 18px; font-weight: 500; letter-spacing: .015em; text-transform: uppercase; line-height: 1.2; margin-bottom: 6px; }
.sn74-how-grid p { margin: 0; font-size: 15px; line-height: 1.45; opacity: .85; }
@media (max-width: 900px) { .sn74-how-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) {
  .sn74-how { padding-block: 18px; }
  .sn74-how-grid { gap: 10px; }
  .sn74-how-grid li { padding: 12px 14px; border-radius: 14px; }
  .sn74-how-grid b { font-size: 14px; margin-bottom: 0; }
  .sn74-how-grid p { display: none; }
}

/* === Marcas: la mitad de tamano === */
html body .sn-brand-section h2.sec { font-size: 24px; margin-bottom: 8px; }
html body .sn-brands-moving .bchip { grid-template-rows: 28px 10px !important; row-gap: 2px !important; padding: 6px !important; min-width: 0 !important; }
html body .sn-brands-moving .bchip img { width: 56px !important; height: 28px !important; max-width: 56px !important; max-height: 28px !important; }
html body .sn-brands-moving .sn-brand-name { font-size: 8px !important; line-height: 10px !important; height: 10px !important; }
html body .sn-brands-moving .sn-brand-controls { display: none !important; }

/* === Celular: mas resumido === */
@media (max-width: 640px) {
  .sn74-tool span { display: none; }
  .sn74-tool { padding: 12px 14px; gap: 6px; }
  .sn74-tool b { font-size: 16px; }
  .sn74-tool em { margin-top: 2px; padding: 6px 12px; }
  .sn74-tools { padding-block: 14px; }
  .sn74-steps li { font-size: 14px; padding: 12px; }
  .sn74-note { font-size: 13px; }
}

/* === Asi trabajamos con imagenes === */
.sn74-how-grid li { padding: 0 0 16px; overflow: hidden; }
.sn74-how-grid img { display: block; width: 100%; height: 120px; object-fit: cover; margin: 0 0 14px; }
.sn74-how-grid .n, .sn74-how-grid b, .sn74-how-grid p { margin-inline: 18px; }
.sn74-how-grid p { margin-bottom: 0; }
@media (max-width: 640px) {
  .sn74-how-grid li { padding: 0 0 10px; }
  .sn74-how-grid img { height: 64px; margin-bottom: 8px; }
  .sn74-how-grid .n, .sn74-how-grid b { margin-inline: 12px; }
}

/* === Tres tarjetas iguales en una fila === */
.sn74-tools-grid { grid-template-columns: repeat(3, 1fr); align-items: stretch; }
@media (max-width: 900px) { .sn74-tools-grid { grid-template-columns: 1fr; } }
.sn74-tools-grid > .sn-goals {
  display: flex; flex-direction: column; gap: 10px; margin: 0; max-width: none; width: auto;
  padding: 18px 20px; background: #20291d; border: 1px solid rgba(197, 215, 179, .15); border-radius: 18px;
}
.sn74-tools-grid > .sn-goals h2 { margin: 0; font-size: 22px; font-weight: 500; letter-spacing: .015em; text-transform: uppercase; line-height: 1.2; }
.sn74-tools-grid > .sn-goals form { display: flex; flex-direction: column; gap: 10px; margin: 0; flex: 1; }
.sn74-tools-grid > .sn-goals select { width: 100%; }
.sn74-tools-grid > .sn-goals .btn, .sn74-tool em { margin-top: auto; align-self: flex-start; }
.sn74-tool span { flex: 1; }
@media (max-width: 640px) {
  .sn74-tools-grid > .sn-goals { padding: 12px 14px; gap: 6px; }
  .sn74-tools-grid > .sn-goals h2 { font-size: 16px; }
}

/* === Marcas: la caja del tamano del logo, y al final de la pagina === */
html body .sn-brands-moving .bchip { width: auto !important; flex: 0 0 auto !important; min-width: 0 !important; padding: 6px 10px !important; }

/* === Menu Medicion corporal === */
.sn74-med-panel { min-width: 280px; padding: 14px 16px; display: grid; gap: 6px; }
.sn74-med-panel p { margin: 0; font-size: 14px; line-height: 1.4; text-transform: none; }
.sn74-med-panel a { margin-top: 6px; }
.sn74-med-panel small { font-size: 12px; opacity: .75; line-height: 1.35; text-transform: none; }

/* === Enlaces de seccion iguales a "5 guias gratis" === */
html .sh > a { font-size: 12px; font-weight: 600; color: #d2ffac; text-transform: uppercase; text-decoration: underline; text-underline-offset: 3px; letter-spacing: normal; }

/* === Botones de ebook: texto mas grande, caja mas compacta === */
html .sn-ebook-library .btn { font-size: 14px; padding: 8px 16px; width: auto; align-self: flex-start; justify-self: start; min-height: 0; }

/* === Agregar: chico y discreto === */
.sn74-qa { width: 32px; height: 32px; min-width: 32px; min-height: 32px; padding: 0; gap: 0; justify-content: center; right: 8px; bottom: 8px; }
.sn74-qa > span:first-child { font-size: 20px; font-weight: 500; line-height: 1; }
.sn74-qa > span:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 640px) {
  .sn74-qa { width: 40px; height: 40px; min-width: 40px; min-height: 40px; }
  html .sn73-home-categories { display: none; }
}

/* === Tarjeta de objetivo dentro de la fila (gana a los estilos viejos) === */
html body .sn74-tools-grid > .sn-goals { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 10px !important; margin: 0 !important; max-width: none !important; width: auto !important; padding: 18px 20px !important; min-height: 0 !important; }
html body .sn74-tools-grid > .sn-goals h2 { margin: 0 !important; font-size: 22px !important; white-space: normal !important; }
html body .sn74-tools-grid > .sn-goals form { display: flex !important; flex-direction: column !important; gap: 10px !important; width: 100% !important; margin: 0 !important; padding: 0 !important; flex: 1 !important; background: none !important; border: 0 !important; }
html body .sn74-tools-grid > .sn-goals select { width: 100% !important; min-width: 0 !important; flex: none !important; }
html body .sn74-tools-grid > .sn-goals .btn { width: auto !important; flex: none !important; align-self: flex-start !important; margin-top: auto !important; white-space: nowrap !important; }
@media (max-width: 640px) { html body .sn74-tools-grid > .sn-goals { padding: 12px 14px !important; gap: 6px !important; } html body .sn74-tools-grid > .sn-goals h2 { font-size: 16px !important; } }

/* === Tarjeta de objetivo propia (igual a las otras dos) === */
.sn74-goal select { width: 100%; min-height: 44px; padding: 0 12px; border-radius: 12px; background: #1c1d1b; color: #fff; border: 1px solid #ffffff40; font: inherit; font-size: 14px; }
.sn74-goal button { align-self: flex-start; margin-top: auto; padding: 8px 14px; border: 0; border-radius: 999px; background: #C1FF72; color: #0b0c0a; font: inherit; font-size: 13px; font-weight: 600; text-transform: uppercase; cursor: pointer; }
.sn74-goal button:hover { background: #d6ff9f; }
.sn74-goal button:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
@media (max-width: 640px) { .sn74-goal select { min-height: 40px; } }

/* === Todos los botones verdes: lisos (gana a los estilos viejos) === */
html body a.btn:not(.btn-ghost):not(.btn-ghost-d),
html body button.btn:not(.btn-ghost):not(.btn-ghost-d),
html body .sn-button-primary,
html body .sn-library-card .btn {
  background: #C1FF72 !important; background-image: none !important;
  box-shadow: none !important; text-shadow: none !important; color: #0b0c0a !important;
}
html body a.btn:not(.btn-ghost):not(.btn-ghost-d):hover,
html body button.btn:not(.btn-ghost):not(.btn-ghost-d):hover,
html body .sn-library-card .btn:hover { background: #d6ff9f !important; background-image: none !important; }
html body .sn-ebook-library .sn-library-card .btn, html body .sn-ebook-library a.btn {
  font-size: 14px !important; padding: 8px 16px !important; width: auto !important; min-height: 0 !important; height: auto !important;
  align-self: flex-start !important; justify-self: start !important; flex: none !important; display: inline-flex !important; margin-top: auto;
}

/* === Botones lisos: especificidad alta para ganar al CSS base === */
html.sn-redesign61.sn-redesign61.sn-redesign61.sn-redesign61.sn-redesign61 body .btn.btn:not(.out):not(.ghost):not(.btn-ghost):not(.btn-ghost-d),
html.sn-redesign61.sn-redesign61.sn-redesign61.sn-redesign61.sn-redesign61 body .sn-button-primary.sn-button-primary,
html.sn-redesign61.sn-redesign61.sn-redesign61.sn-redesign61.sn-redesign61 body .sn-books .btn.btn,
html.sn-redesign61.sn-redesign61.sn-redesign61.sn-redesign61.sn-redesign61 body .sn-library-card .btn.btn,
html.sn-redesign61.sn-redesign61.sn-redesign61.sn-redesign61.sn-redesign61 body .sn-ebook-library .btn.btn {
  background: #C1FF72 !important; background-image: none !important; background-color: #C1FF72 !important;
  box-shadow: none !important; text-shadow: none !important; color: #0b0c0a !important; border: 0 !important;
}
html.sn-redesign61.sn-redesign61.sn-redesign61.sn-redesign61.sn-redesign61 body .btn.btn:not(.out):not(.ghost):not(.btn-ghost):not(.btn-ghost-d):hover,
html.sn-redesign61.sn-redesign61.sn-redesign61.sn-redesign61.sn-redesign61 body .sn-library-card .btn.btn:hover { background: #d6ff9f !important; background-image: none !important; }
html.sn-redesign61.sn-redesign61.sn-redesign61.sn-redesign61.sn-redesign61 body .sn-ebook-library .sn-library-card .btn.btn, html.sn-redesign61.sn-redesign61.sn-redesign61.sn-redesign61.sn-redesign61 body .sn-books .btn.btn {
  font-size: 14px !important; padding: 8px 16px !important; width: auto !important; min-height: 0 !important; height: auto !important;
  align-self: flex-start !important; justify-self: start !important; flex: none !important; display: inline-flex !important;
}
