/* =========================================================
   Raíz Chiapas — estilos comunes (carrito, WhatsApp, avisos)
   Cada propuesta redefine las variables --rc-* en su propio CSS.
   ========================================================= */
:root {
  --rc-ambar: #d8901a;
  --rc-ambar-claro: #f3c165;
  --rc-cafe: #4b2e1e;
  --rc-tinta: #111111;
  --rc-papel: #ffffff;
  --rc-radio: .75rem;
}

/* ---------- botón primario común ---------- */
.rc-btn-primario {
  --bs-btn-color: #fff; --bs-btn-bg: var(--rc-tinta); --bs-btn-border-color: var(--rc-tinta);
  --bs-btn-hover-color: #111; --bs-btn-hover-bg: var(--rc-ambar); --bs-btn-hover-border-color: var(--rc-ambar);
  --bs-btn-active-bg: var(--rc-ambar); --bs-btn-active-border-color: var(--rc-ambar); --bs-btn-active-color: #111;
  --bs-btn-disabled-bg: #777; --bs-btn-disabled-border-color: #777;
  font-weight: 600; letter-spacing: .02em;
}

/* ---------- leyenda + envío ---------- */
.rc-mas-envio { font-size: .72em; font-weight: 600; color: var(--rc-cafe); background: color-mix(in srgb, var(--rc-ambar) 22%, transparent);
  border-radius: 999px; padding: .1em .55em; white-space: nowrap; vertical-align: middle; }
.rc-aviso-envio { background: color-mix(in srgb, var(--rc-ambar) 14%, transparent); border-left: 3px solid var(--rc-ambar);
  padding: .55rem .75rem; border-radius: .4rem; color: inherit; }
.rc-badge-envio { background: var(--rc-ambar); color: #111; font-weight: 600; }
.rc-envio-tag { color: var(--rc-cafe); font-weight: 600; }
[data-bs-theme="dark"] .rc-mas-envio, [data-bs-theme="dark"] .rc-envio-tag { color: var(--rc-ambar-claro); }

/* ---------- WhatsApp flotante (siempre visible) ---------- */
.rc-whatsapp { position: fixed; right: 18px; bottom: 18px; z-index: 1080; display: flex; align-items: center; gap: .6rem; text-decoration: none; }
.rc-whatsapp-btn { width: 70px; height: 70px; border-radius: 50%; background: #25d366; color: #fff; display: grid; place-items: center;
  font-size: 2.3rem; box-shadow: 0 10px 28px rgba(0,0,0,.35); position: relative; transition: transform .2s; }
.rc-whatsapp-btn::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 3px solid #25d366; animation: rc-pulso 2s infinite; }
.rc-whatsapp:hover .rc-whatsapp-btn { transform: scale(1.07); }
.rc-whatsapp-txt { background: #fff; color: #111; padding: .5rem .9rem; border-radius: 999px; font-weight: 600; font-size: .9rem;
  box-shadow: 0 6px 20px rgba(0,0,0,.2); white-space: nowrap; }
@keyframes rc-pulso { 0% { transform: scale(1); opacity: .8 } 100% { transform: scale(1.55); opacity: 0 } }
@media (max-width: 575.98px) { .rc-whatsapp-txt { display: none; } .rc-whatsapp-btn { width: 64px; height: 64px; font-size: 2.1rem; } }
@media (prefers-reduced-motion: reduce) { .rc-whatsapp-btn::after { animation: none; } }

/* ---------- carrito lateral ---------- */
.rc-carrito { --bs-offcanvas-width: 420px; }
.rc-linea-img { object-fit: cover; flex-shrink: 0; }
.rc-carrito-pie { border-top: 2px solid var(--rc-tinta); }
.rc-vacio i { color: var(--rc-ambar); }
.min-w-0 { min-width: 0; }

/* ---------- toasts ---------- */
.rc-toast { background: var(--rc-tinta); color: #fff; }
.rc-toast .btn-close { filter: invert(1); }
#rcToasts { z-index: 1090; }

/* ---------- vista rápida ---------- */
.rc-modal .modal-content { border: 0; border-radius: var(--rc-radio); overflow: hidden; }
.rc-vista-img { position: relative; }
.rc-vista-mini { position: absolute; left: 16px; bottom: 16px; width: 84px; height: 84px; object-fit: cover; cursor: pointer; border: 3px solid #fff; }
.rc-kicker { letter-spacing: .14em; color: var(--rc-ambar); font-weight: 700; font-size: .72rem; }

/* ---------- checkout ---------- */
.rc-opcion { cursor: pointer; transition: border-color .15s, background .15s; }
.rc-opcion:has(input:checked) { border-color: var(--rc-ambar) !important; background: color-mix(in srgb, var(--rc-ambar) 10%, transparent); }
.rc-pasos li { padding: .3rem 0; color: var(--bs-secondary-color); }
.rc-pasos li.hecho { color: inherit; font-weight: 600; }
.rc-pasos li.hecho i { color: var(--rc-ambar); }
.rc-metodo { display: flex; align-items: center; gap: .6rem; }
.rc-metodo i { font-size: 1.4rem; width: 1.6rem; text-align: center; }

/* ---------- utilidades ---------- */
.rc-bn { filter: grayscale(1) contrast(1.05); transition: filter .5s; }
.rc-bn-hover:hover .rc-bn, .rc-bn-hover:focus-within .rc-bn { filter: grayscale(0); }
.rc-ratio-4x5 { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.rc-ratio-1 { aspect-ratio: 1; object-fit: cover; width: 100%; }
.rc-prototipo { font-size: .78rem; }

/* ---------- opciones de envío (sin cotizador) ---------- */
.rc-envio-op { display: flex; gap: 1rem; align-items: flex-start; padding: .9rem 0; border-top: 1px solid color-mix(in srgb, currentColor 18%, transparent); }
.rc-envio-op:first-of-type { border-top: 0; }
.rc-envio-op i { font-size: 1.7rem; color: var(--rc-ambar); line-height: 1; }
.rc-envio-op strong { display: block; margin-bottom: .2rem; }
.rc-envio-op p { margin: 0; font-size: .88rem; opacity: .8; }
.rc-icono-envio { color: var(--rc-ambar); }
