/* RESPONSIVE MOBILE — inicio
 * Fase 5 — Bottom Navigation global (mockup Alt A)
 * Solo ≤1024px. Desktop ≥1025px: oculto.
 * RESPONSIVE MOBILE — fin (cabecera) */

@import url("../tokens/kasalia-rwd-tokens.css");

@media (max-width: 1024px) {
  /* RESPONSIVE MOBILE — inicio */

  body.kasalia-has-rwd-bnav {
    padding-bottom: var(--rwd-bnav-stack);
  }

  /* Listado móvil: una sola barra inferior (bnav canónica) */
  body.kasalia-has-rwd-bnav.kasalia-mobile-listing {
    padding-bottom: var(--rwd-bnav-stack);
  }

  .rwd-bnav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: var(--rwd-bnav-z);
    background: var(--rwd-bnav-bg);
    border-top: 1px solid var(--rwd-bnav-border);
    box-shadow: var(--rwd-bnav-shadow);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  .rwd-bnav__list {
    list-style: none;
    margin: 0;
    padding: 0 var(--rwd-space-xs);
    display: flex;
    align-items: stretch;
    justify-content: space-around;
    min-height: var(--rwd-bnav-h);
  }

  .rwd-bnav__item {
    flex: 1;
    display: flex;
    min-width: 0;
  }

  .rwd-bnav__btn {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--rwd-space-xxs);
    min-height: var(--rwd-bnav-h);
    min-width: var(--rwd-touch-target-min);
    color: var(--rwd-bnav-fg);
    font-size: var(--rwd-font-xs);
    font-weight: 600;
    letter-spacing: 0.01em;
    text-decoration: none;
    padding: var(--rwd-space-xxs);
    border-radius: var(--rwd-space-xs);
    position: relative;
    border: 0;
    background: transparent;
    cursor: pointer;
    font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  }

  .rwd-bnav__btn[aria-current="page"],
  .rwd-bnav__btn.is-active {
    color: var(--rwd-bnav-fg-active);
  }

  .rwd-bnav__icon {
    width: var(--rwd-space-md);
    height: var(--rwd-space-md);
    display: grid;
    place-items: center;
    flex-shrink: 0;
    overflow: visible;
  }

  .rwd-bnav__icon svg {
    width: 22px;
    height: 22px;
    max-width: 100%;
    max-height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    overflow: visible;
    display: block;
  }

  /* Corazón favoritos — path Material (fill), simétrico */
  .rwd-bnav__icon--heart svg,
  .rwd-bnav__icon--heart svg path {
    fill: currentColor;
    stroke: none;
  }

  .rwd-bnav__label {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .rwd-bnav__badge {
    position: absolute;
    top: var(--rwd-space-xs);
    right: calc(50% - var(--rwd-space-md));
    min-width: var(--rwd-space-sm);
    height: var(--rwd-space-sm);
    padding: 0 var(--rwd-space-xxs);
    border-radius: 999px;
    background: var(--primary, #174f2b);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: var(--rwd-space-sm);
    text-align: center;
  }

  .rwd-bnav__badge[hidden] {
    display: none;
  }

  /* CTA Crear — elevado Alt A; speed-dial v2 */
  .rwd-bnav__btn--cta {
    color: var(--rwd-bnav-fg-active);
  }

  .rwd-bnav__scrim {
    position: fixed;
    inset: 0;
    z-index: calc(var(--rwd-bnav-z) - 1);
    background: rgba(17, 24, 39, 0.42);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
  }

  .rwd-bnav__scrim.is-open {
    opacity: 1;
    pointer-events: auto;
  }

  .rwd-bnav__create-menu {
    position: fixed;
    left: 50%;
    bottom: calc(var(--rwd-bnav-stack) + var(--rwd-space-sm));
    transform: translateX(-50%) translateY(var(--rwd-space-xs));
    z-index: calc(var(--rwd-bnav-z) + 1);
    display: flex;
    flex-direction: column;
    gap: var(--rwd-space-xs);
    min-width: min(280px, calc(100vw - var(--rwd-space-md) * 2));
    padding: var(--rwd-space-xs);
    border-radius: calc(var(--rwd-space-sm) + var(--rwd-space-xxs));
    background: var(--rwd-bnav-bg);
    border: 1px solid var(--rwd-bnav-border);
    box-shadow: var(--rwd-bnav-shadow);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
  }

  .rwd-bnav__create-menu.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
  }

  .rwd-bnav__create-option {
    display: flex;
    align-items: center;
    gap: var(--rwd-space-sm);
    min-height: var(--rwd-touch-target-min);
    padding: var(--rwd-space-xs) var(--rwd-space-sm);
    border-radius: var(--rwd-space-xs);
    color: var(--rwd-bnav-fg);
    text-decoration: none;
    font-size: var(--rwd-font-sm, 14px);
    font-weight: 600;
    font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  }

  .rwd-bnav__create-option:hover,
  .rwd-bnav__create-option:focus-visible {
    background: rgba(23, 79, 43, 0.08);
    color: var(--rwd-bnav-fg-active);
    outline: none;
  }

  .rwd-bnav__create-option-icon {
    width: var(--rwd-space-md);
    height: var(--rwd-space-md);
    display: grid;
    place-items: center;
    flex-shrink: 0;
    color: var(--primary, #174f2b);
  }

  .rwd-bnav__create-option-icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  body.kasalia-rwd-bnav-create-open {
    overflow: hidden;
  }

  .rwd-bnav__btn--cta .rwd-bnav__icon {
    width: var(--rwd-space-xl);
    height: var(--rwd-space-xl);
    border-radius: 50%;
    background: var(--primary, #174f2b);
    color: #fff;
    box-shadow: 0 4px 14px rgba(23, 79, 43, 0.35);
    margin-top: calc(-1 * var(--rwd-bnav-cta-lift));
    border: 3px solid var(--rwd-bnav-bg);
  }

  .rwd-bnav__btn--cta .rwd-bnav__icon svg {
    stroke: #fff;
  }

  .rwd-bnav__btn--cta .rwd-bnav__label {
    color: var(--rwd-bnav-fg-active);
    margin-top: var(--rwd-space-xxs);
  }

  body.kasalia-pdetail-embed .rwd-bnav {
    display: none !important;
  }

  body.kasalia-pdetail-embed.kasalia-has-rwd-bnav {
    padding-bottom: 0;
  }

  /* RESPONSIVE MOBILE — fin */
}

@media (min-width: 1025px) {
  .rwd-bnav {
    display: none !important;
  }
}

/* Toast + modal capture — global (inline speed-dial + fallback grabar-short) */
.rwd-toast {
  position: fixed;
  left: 50%;
  bottom: calc(var(--rwd-bnav-stack, 72px) + var(--rwd-space-md, 16px));
  transform: translateX(-50%);
  z-index: calc(var(--rwd-bnav-z, 1200) + 4);
  max-width: min(360px, calc(100vw - var(--rwd-space-md, 16px) * 2));
  padding: var(--rwd-space-xs, 8px) var(--rwd-space-sm, 12px);
  border-radius: var(--rwd-space-xs, 8px);
  background: var(--ink, #172016);
  color: #fff;
  font-size: var(--rwd-font-sm, 14px);
  font-weight: 600;
  line-height: 1.45;
  text-align: center;
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.18);
  pointer-events: none;
}

.rwd-toast.is-error {
  background: #b42318;
}

.rwd-toast.is-success {
  background: var(--primary, #174f2b);
}

.rwd-toast.is-info {
  background: var(--ink, #172016);
}

@media (min-width: 1025px) {
  .rwd-toast {
    bottom: var(--rwd-space-xl, 32px);
  }
}

.rwd-bnav-capture__file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.rwd-bnav-capture-modal {
  position: fixed;
  inset: 0;
  z-index: calc(var(--rwd-bnav-z, 1200) + 3);
  display: grid;
  place-items: end center;
  padding: var(--rwd-space-sm, 12px);
  padding-bottom: calc(var(--rwd-bnav-stack, 72px) + var(--rwd-space-sm, 12px));
}

.rwd-bnav-capture-modal[hidden] {
  display: none !important;
}

.rwd-bnav-capture-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17, 24, 39, 0.45);
}

.rwd-bnav-capture-modal__sheet {
  position: relative;
  width: min(420px, 100%);
  background: var(--rwd-bnav-bg, #fff);
  border: 1px solid var(--rwd-bnav-border, rgba(23, 79, 43, 0.14));
  border-radius: calc(var(--rwd-space-sm, 12px) + var(--rwd-space-xxs, 4px));
  box-shadow: var(--rwd-bnav-shadow, 0 8px 24px rgba(17, 24, 39, 0.12));
  padding: var(--rwd-space-md, 16px);
}

.rwd-bnav-capture-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rwd-space-sm, 12px);
  margin-bottom: var(--rwd-space-sm, 12px);
}

.rwd-bnav-capture-modal__title {
  margin: 0;
  font-size: var(--rwd-font-md, 16px);
  font-weight: 700;
  color: var(--ink, #172016);
}

.rwd-bnav-capture-modal__close {
  width: var(--rwd-touch-target-min, 44px);
  height: var(--rwd-touch-target-min, 44px);
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--muted, #6b7280);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.rwd-bnav-capture-modal__lead {
  margin: 0 0 var(--rwd-space-md, 16px);
  color: var(--muted, #6b7280);
  font-size: var(--rwd-font-sm, 14px);
  line-height: 1.5;
}

.rwd-bnav-capture-modal__label {
  display: block;
  margin-bottom: var(--rwd-space-xxs, 4px);
  font-size: var(--rwd-font-sm, 14px);
  font-weight: 600;
  color: var(--ink, #172016);
}

.rwd-bnav-capture-modal__select {
  width: 100%;
  min-height: var(--rwd-touch-target-min, 44px);
  margin-bottom: var(--rwd-space-md, 16px);
  font-size: 16px;
  border: 1px solid var(--rwd-bnav-border, rgba(23, 79, 43, 0.14));
  border-radius: var(--rwd-space-xs, 8px);
  padding: var(--rwd-space-xs, 8px);
  background: var(--white, #fff);
}

.rwd-bnav-capture-modal__actions {
  display: flex;
  flex-direction: column;
  gap: var(--rwd-space-xs, 8px);
}

.rwd-bnav-capture-modal__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--rwd-touch-target-min, 44px);
  padding: 0 var(--rwd-space-md, 16px);
  border-radius: var(--rwd-space-xs, 8px);
  border: none;
  background: var(--primary, #174f2b);
  color: #fff;
  font-weight: 600;
  font-size: var(--rwd-font-sm, 14px);
  text-decoration: none;
  cursor: pointer;
}

.rwd-bnav-capture-modal__btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.rwd-bnav-capture-modal__btn--ghost {
  background: transparent;
  color: var(--primary, #174f2b);
  border: 1px solid var(--rwd-bnav-border, rgba(23, 79, 43, 0.14));
}

.rwd-bnav-capture-modal__body--center {
  text-align: center;
}

body.kasalia-rwd-bnav-capture-open {
  overflow: hidden;
}

@media (min-width: 1025px) {
  .rwd-bnav-capture-modal {
    place-items: center;
    padding-bottom: var(--rwd-space-md, 16px);
  }
}
