/* =====================================================================
   GM Registro de Pedido — v0.4.8 — INTEGRACIÓN NATIVA CON LA WEB
   Filosofía: el plugin NO impone su propio fondo ni banner. Hereda el
   fondo claro del tema WP. La página de "Pedido Personalizado" se ve
   como cualquier otra página de guiamilitar.es (ej. categorías).
   v0.4.8: hero eliminado, fondo transparente, totales con isla oscura.
   ===================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@500;700&display=swap');

/* ====================================================================
   v0.4.8 — NO se oculta el título de WordPress. La página WP "Pedido
   Personalizado" mantiene su H1 nativo del tema, igual que el resto de
   páginas del sitio. Se conserva la clase body.gmrp-active solo para
   que el cliente pueda hacer ajustes finos desde su tema si lo necesita.
   ==================================================================== */

.gmrp-root, .gmrp-root * { box-sizing: border-box; }

.gmrp-root {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.gmrp-loading { padding: 60px 20px; text-align: center; color: #64748b; }
.gmrp-loading-spinner {
  width: 32px; height: 32px; margin: 0 auto 12px;
  border: 3px solid #e2e8f0; border-top-color: #6366f1;
  border-radius: 50%; animation: gmrpSpin 0.7s linear infinite;
}
@keyframes gmrpSpin { to { transform: rotate(360deg); } }

/* ====================================================================
   BACKGROUND + CONTAINER — TRANSPARENTE / HEREDA DEL TEMA WP
   v0.4.8: ya no aplicamos fondo oscuro propio. El plugin se adapta al
   fondo claro de la web (cabecera verde + body blanco).
   ==================================================================== */
.gmrp-bg {
  background: transparent;
}

/* MÓVIL: SIN padding lateral. Cards van de borde a borde de pantalla. */
.gmrp-container {
  max-width: 100%;
  margin: 0;
  padding: 0 0 60px;
}

/* TABLET: padding lateral pequeño */
@media (min-width: 600px) {
  .gmrp-container { padding: 8px 12px 80px; }
}

/* PC: NO max-width — usa todo el ancho de pantalla con padding mínimo */
@media (min-width: 1024px) {
  .gmrp-container { padding: 16px 28px 80px; }
}

/* ====================================================================
   HERO — ELIMINADO en v0.4.8
   El banner militar oscuro rompía la integración con la web. El aviso
   "no hay que pagar" debe gestionarse desde la propia página WP, junto
   al título "Pedido Personalizado", igual que en otras páginas del sitio.
   ==================================================================== */
.gmrp-hero { display: none !important; }

/* ====================================================================
   FORM GRID — PC 2 cols, móvil 1
   ==================================================================== */
.gmrp-form-grid { display: block; }
@media (min-width: 1024px) {
  .gmrp-form-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 20px;
    align-items: start;
  }
  .gmrp-form-side {
    position: sticky;
    top: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
}

/* ====================================================================
   PRODUCTOS HEADER (banda naranja) — EDGE-TO-EDGE EN MÓVIL
   ==================================================================== */
.gmrp-products-section { margin: 0; }
.gmrp-products-h {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 16px;
  background: linear-gradient(95deg, #f97316, #f59e0b);
  color: #fff;
  margin-bottom: 12px;
  border-radius: 0; /* edge-to-edge en móvil */
}
@media (min-width: 600px) {
  .gmrp-products-h { border-radius: 12px; box-shadow: 0 6px 16px -6px rgba(249,115,22,0.5); }
}
.gmrp-products-h-icon { display: inline-flex; }
.gmrp-products-h-icon svg { stroke: #fff; }
.gmrp-products-h-title {
  margin: 0; font-size: 0.92rem; font-weight: 800;
  letter-spacing: 0.14em; flex: 1; color: #fff;
}
.gmrp-products-h-meta {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.7rem; opacity: 0.92; letter-spacing: 0.08em;
}

.gmrp-products { display: flex; flex-direction: column; gap: 12px; }

/* ====================================================================
   CARDS — EDGE-TO-EDGE EN MÓVIL
   ==================================================================== */
.gmrp-card,
.gmrp-line {
  background: #fff;
  border: 0;
  border-radius: 0; /* edge-to-edge en móvil */
  overflow: hidden;
  box-shadow: 0 1px 0 rgba(0,0,0,0.04);
  animation: gmrpRise 0.45s ease-out both;
}
@media (min-width: 600px) {
  .gmrp-card,
  .gmrp-line {
    border-radius: 14px;
    box-shadow: 0 6px 20px -8px rgba(0,0,0,0.3), 0 1px 2px rgba(0,0,0,0.04);
  }
}

@media (min-width: 1024px) {
  .gmrp-form-side .gmrp-card { margin-bottom: 0; }
}

.gmrp-line.err { box-shadow: 0 0 0 3px rgba(220,38,38,0.5), 0 6px 20px -8px rgba(0,0,0,0.3); }
.gmrp-line-errmsg {
  padding: 8px 14px; background: #fef2f2; color: #991b1b;
  font-size: 0.8rem; font-weight: 600; border-top: 1px solid #fecaca;
}

.gmrp-card-h {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 16px;
  background: #f8fafc;
  border-bottom: 1px solid #e6ebf2;
}
.gmrp-card-icon { display: inline-flex; }
.gmrp-card-icon svg { stroke: #334155; }
.gmrp-card-title-dark {
  margin: 0; font-size: 0.82rem; font-weight: 800;
  letter-spacing: 0.14em; flex: 1; color: #0f172a;
  text-transform: uppercase;
}
.gmrp-card-body { padding: 14px 16px; }

.gmrp-line-h {
  display: flex; align-items: center; justify-content: space-between;
  padding: 8px 14px; background: #f8fafc; border-bottom: 1px solid #e6ebf2;
}
.gmrp-line-h-left { display: flex; align-items: center; gap: 8px; }
.gmrp-line-num-mono {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.68rem; font-weight: 700; color: #64748b; letter-spacing: 0.12em;
}
.gmrp-line-fam { font-size: 0.76rem; font-weight: 600; color: #334155; }
.gmrp-line-remove {
  width: 26px; height: 26px; padding: 0;
  background: #fff; border: 1px solid #cbd5e1;
  color: #64748b; border-radius: 7px; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  transition: all 0.15s ease;
}
.gmrp-line-remove:hover:not(:disabled) { border-color: #f87171; color: #dc2626; }
.gmrp-line-remove:disabled { opacity: 0.3; cursor: not-allowed; }

.gmrp-line-body { padding: 14px 12px; }
@media (min-width: 600px)  { .gmrp-line-body { padding: 16px 18px; } }
@media (min-width: 1024px) { .gmrp-line-body { padding: 22px 26px; } }

/* ====================================================================
   STEP HEADER
   ==================================================================== */
/* ====================================================================
   STEP HEADER — v0.4.11: peso visual más sobrio para no competir con la
   tarjeta de selección de producto, que es la decisión principal.
   ==================================================================== */
.gmrp-step-h {
  display: flex; align-items: center; gap: 10px;
  margin: 18px 0 10px;
}
.gmrp-step-h:first-child { margin-top: 0; }
.gmrp-step-badge {
  display: inline-flex; align-items: center; justify-content: center;
  width: 26px; height: 22px; border-radius: 5px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.62rem; font-weight: 700; color: #fff;
  letter-spacing: 0.04em; box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}
.gmrp-step-orange  { background: linear-gradient(135deg, #f97316, #f59e0b); }
.gmrp-step-amber   { background: linear-gradient(135deg, #eab308, #d97706); }
.gmrp-step-sky     { background: linear-gradient(135deg, #0ea5e9, #2563eb); }
.gmrp-step-emerald { background: linear-gradient(135deg, #10b981, #0d9488); }
.gmrp-step-rose    { background: linear-gradient(135deg, #f43f5e, #db2777); }
.gmrp-step-title {
  margin: 0; font-size: 0.7rem; font-weight: 700;
  letter-spacing: 0.1em; color: #475569; text-transform: uppercase;
}
.gmrp-step-rule {
  flex: 1; height: 1px;
  background: linear-gradient(to right, #e2e8f0, transparent);
}

.gmrp-grp-fields { display: flex; flex-direction: column; gap: 12px; }

/* ====================================================================
   FAMILY LIST — lista vertical. La familia activa expande su configurador
   inline justo debajo, antes de la siguiente familia.
   ==================================================================== */
.gmrp-fam-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Bloque del configurador in-line (aparece debajo de la familia activa) */
.gmrp-fam-config {
  background: #fafbfc;
  border: 2px solid;
  border-radius: 14px;
  padding: 14px 12px;
  margin: 4px 0 6px;
  animation: gmrpRise 0.25s ease-out both;
}
@media (min-width: 600px) {
  .gmrp-fam-config { padding: 18px 22px; }
}
.gmrp-fam-config-orange  { border-color: #fed7aa; background: linear-gradient(180deg, #fff7ed, #ffffff 30%); }
.gmrp-fam-config-amber   { border-color: #fde68a; background: linear-gradient(180deg, #fffbeb, #ffffff 30%); }
.gmrp-fam-config-sky     { border-color: #bae6fd; background: linear-gradient(180deg, #f0f9ff, #ffffff 30%); }
.gmrp-fam-config-emerald { border-color: #a7f3d0; background: linear-gradient(180deg, #ecfdf5, #ffffff 30%); }
.gmrp-fam-config-rose    { border-color: #fecdd3; background: linear-gradient(180deg, #fff1f2, #ffffff 30%); }

/* ====================================================================
   FAMILY CARD — v0.4.11: agrandado para que la selección del tipo de
   producto destaque como la decisión principal del flujo. Antes era
   más pequeña que los step headers que vienen detrás.
   ==================================================================== */
.gmrp-fam-card {
  display: flex; align-items: center; gap: 14px;
  width: 100%; padding: 14px;
  background: #fff;
  border: 2px solid #e6ebf2;
  border-radius: 14px;
  text-align: left; cursor: pointer;
  transition: all 0.18s ease;
  font-family: inherit;
  min-width: 0;
}
@media (min-width: 600px) {
  .gmrp-fam-card { padding: 18px; gap: 18px; border-radius: 16px; }
}
.gmrp-fam-card:hover { border-color: #cbd5e1; transform: translateY(-1px); }
.gmrp-fam-card.on {
  background: #0f172a; color: #fff;
  border-color: #0f172a;
  box-shadow: 0 14px 32px -10px rgba(0,0,0,0.4);
}
.gmrp-fam-photo {
  flex: none; width: 56px; height: 56px;
  border-radius: 10px; overflow: hidden;
  background: #f1f5f9;
  box-shadow: 0 1px 2px rgba(0,0,0,0.08), inset 0 0 0 1px rgba(0,0,0,0.06);
}
@media (min-width: 600px) {
  .gmrp-fam-photo { width: 68px; height: 68px; border-radius: 12px; }
}
.gmrp-fam-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gmrp-fam-text { flex: 1; min-width: 0; overflow: hidden; }

/* Label CON !important para evitar override del tema WP */
.gmrp-root .gmrp-fam-label {
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #0f172a;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: keep-all !important;
  hyphens: none !important;
}
@media (min-width: 600px) {
  .gmrp-root .gmrp-fam-label { font-size: 1.2rem !important; }
}
.gmrp-fam-card.on .gmrp-fam-label { color: #fff !important; }

.gmrp-root .gmrp-fam-sub {
  font-size: 0.84rem !important;
  line-height: 1.35 !important;
  margin-top: 4px !important;
  color: #64748b;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}
.gmrp-fam-card.on .gmrp-fam-sub { color: rgba(255,255,255,0.72); }

.gmrp-root .gmrp-fam-meta {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 0.72rem !important;
  margin-top: 5px !important;
  color: #94a3b8;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.gmrp-fam-card.on .gmrp-fam-meta { color: rgba(255,255,255,0.6); }

.gmrp-fam-check {
  flex: none; width: 28px; height: 28px;
  border-radius: 50%; background: #fff; color: #0f172a;
  display: flex; align-items: center; justify-content: center;
}
.gmrp-fam-check svg { width: 18px; height: 18px; }
.gmrp-fam-chev { flex: none; color: #94a3b8; display: flex; }

/* ====================================================================
   FIELDS, PILLS, INPUTS
   ==================================================================== */
.gmrp-field { margin-bottom: 12px; }
.gmrp-field:last-child { margin-bottom: 0; }
.gmrp-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.gmrp-row-cp { grid-template-columns: 110px 1fr; }
@media (max-width: 480px) {
  .gmrp-row, .gmrp-row-cp { grid-template-columns: 1fr; }
}

.gmrp-label {
  display: block;
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em;
  color: #334155; margin-bottom: 6px; text-transform: uppercase;
}
.gmrp-label-optional::after {
  content: '(opcional)';
  margin-left: 6px; font-size: 0.66rem;
  color: #94a3b8; font-weight: 600;
  text-transform: none; letter-spacing: 0;
}
.gmrp-req { color: #dc2626; margin-left: 2px; font-weight: 700; }
.gmrp-hint { font-size: 0.76rem; color: #64748b; margin: 6px 0 0; }
.gmrp-hint-warn {
  background: #fff7ed; color: #9a3412;
  border: 1px solid #fed7aa; border-radius: 8px;
  padding: 8px 12px; font-weight: 600;
}

.gmrp-input, .gmrp-textarea {
  width: 100%; padding: 11px 13px;
  font-family: inherit; font-size: 0.95rem; color: #0f172a;
  background: #fff; border: 1.5px solid #e2e8f0; border-radius: 10px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  -webkit-appearance: none; appearance: none;
}
.gmrp-input::placeholder, .gmrp-textarea::placeholder { color: #94a3b8; }
.gmrp-input:hover, .gmrp-textarea:hover { border-color: #cbd5e1; }
.gmrp-input:focus, .gmrp-textarea:focus {
  outline: none; border-color: #3b82f6; box-shadow: 0 0 0 4px rgba(59,130,246,0.16);
}
.gmrp-input.err, .gmrp-textarea.err {
  border-color: #dc2626; box-shadow: 0 0 0 4px rgba(220,38,38,0.12);
}
.gmrp-textarea { resize: vertical; min-height: 100px; }

/* ----- Pills ----- */
.gmrp-pill-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 8px;
}

.gmrp-pill {
  display: flex; flex-direction: column; align-items: stretch; text-align: left;
  gap: 2px; padding: 9px 11px;
  background: #fff; border: 2px solid #e2e8f0; border-radius: 9px;
  font-family: inherit; font-weight: 600; color: #1e293b;
  cursor: pointer; transition: all 0.15s ease; min-width: 0;
}
.gmrp-pill:hover:not(.disabled) { border-color: #cbd5e1; transform: translateY(-1px); }

/* Pill desactivada cuando se ha alcanzado el máximo */
.gmrp-pill.disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
  filter: grayscale(40%);
}

/* Hint en el label para campos check con max */
.gmrp-label-hint {
  margin-left: 6px;
  font-size: 0.66rem;
  color: #94a3b8;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  font-style: italic;
}

/* Pill CON miniatura: thumbnail arriba + texto debajo */
.gmrp-pill-img {
  padding: 6px;
  gap: 0;
}
.gmrp-pill-thumb {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 7px;
  overflow: hidden;
  background: #f1f5f9;
  margin-bottom: 6px;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.06);
}
.gmrp-pill-thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.gmrp-pill-img .gmrp-pill-body {
  padding: 0 4px 4px;
  display: flex; flex-direction: column; gap: 2px;
}
.gmrp-pill:not(.gmrp-pill-img) .gmrp-pill-body {
  display: contents;
}

.gmrp-pill-label { font-size: 0.84rem; font-weight: 700; line-height: 1.3; word-break: normal; overflow-wrap: normal; }
.gmrp-pill-row { display: flex; align-items: center; gap: 6px; font-size: 0.7rem; line-height: 1.2; }
.gmrp-pill-spacer { flex: 1; min-width: 0; }
.gmrp-pill-delta { font-weight: 600; white-space: nowrap; color: #475569; }

.gmrp-pill-on-orange  { background: #fff7ed; border-color: #f97316; color: #9a3412; box-shadow: 0 0 0 3px rgba(249,115,22,0.12); }
.gmrp-pill-on-orange .gmrp-pill-delta { color: #c2410c; }
.gmrp-pill-on-amber   { background: #fffbeb; border-color: #f59e0b; color: #92400e; box-shadow: 0 0 0 3px rgba(245,158,11,0.15); }
.gmrp-pill-on-amber .gmrp-pill-delta { color: #b45309; }
.gmrp-pill-on-sky     { background: #f0f9ff; border-color: #0ea5e9; color: #075985; box-shadow: 0 0 0 3px rgba(14,165,233,0.12); }
.gmrp-pill-on-sky .gmrp-pill-delta { color: #0369a1; }
.gmrp-pill-on-emerald { background: #ecfdf5; border-color: #10b981; color: #065f46; box-shadow: 0 0 0 3px rgba(16,185,129,0.12); }
.gmrp-pill-on-emerald .gmrp-pill-delta { color: #047857; }
.gmrp-pill-on-rose    { background: #fff1f2; border-color: #f43f5e; color: #9f1239; box-shadow: 0 0 0 3px rgba(244,63,94,0.12); }
.gmrp-pill-on-rose .gmrp-pill-delta { color: #be123c; }

/* ====================================================================
   QUANTITY, PRICE TILE, FILES
   ==================================================================== */
.gmrp-qty {
  display: grid; grid-template-columns: 42px 1fr 42px;
  border: 2px solid #e2e8f0; border-radius: 10px;
  overflow: hidden; background: #fff; max-width: 200px;
}
.gmrp-qty-btn { background: #f8fafc; border: 0; font-size: 1.05rem; font-weight: 700; color: #1e293b; cursor: pointer; }
.gmrp-qty-btn:hover { background: #eef2f7; }
.gmrp-qty-input {
  border: 0; text-align: center;
  font-family: inherit; font-size: 1rem; font-weight: 800; color: #0f172a; background: #fff;
  font-variant-numeric: tabular-nums; -moz-appearance: textfield;
}
.gmrp-qty-input::-webkit-inner-spin-button, .gmrp-qty-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.gmrp-qty-input:focus { outline: none; box-shadow: inset 0 0 0 2px #3b82f6; }
.gmrp-qty-min { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 0.7rem; color: #64748b; margin: 6px 0 0; }
.gmrp-note { background: #fef3c7; border: 1px solid #fde68a; border-radius: 8px; padding: 8px 12px; font-size: 0.8rem; color: #78350f; }

.gmrp-tile {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 12px 14px; border: 2px solid; border-radius: 11px;
}
.gmrp-tile-orange  { border-color: #fed7aa; background: linear-gradient(135deg, #fff7ed, #fef3c7); }
.gmrp-tile-amber   { border-color: #fde68a; background: linear-gradient(135deg, #fffbeb, #fef3c7); }
.gmrp-tile-sky     { border-color: #bae6fd; background: linear-gradient(135deg, #f0f9ff, #e0f2fe); }
.gmrp-tile-emerald { border-color: #a7f3d0; background: linear-gradient(135deg, #ecfdf5, #d1fae5); }
.gmrp-tile-rose    { border-color: #fecdd3; background: linear-gradient(135deg, #fff1f2, #ffe4e6); }
.gmrp-tile-label { font-size: 0.65rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: #475569; }
.gmrp-tile-total { font-size: 1.4rem; font-weight: 800; color: #0f172a; font-variant-numeric: tabular-nums; line-height: 1.1; }
.gmrp-tile-right { text-align: right; }
.gmrp-tile-unit { font-size: 0.95rem; font-weight: 700; color: #334155; font-variant-numeric: tabular-nums; }
.gmrp-tile-meta { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 0.68rem; color: #64748b; }

.gmrp-files-hint { font-size: 0.76rem; color: #64748b; margin: -2px 0 8px; }
.gmrp-files-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.gmrp-file-slot {
  position: relative; display: block;
  border: 2px dashed #cbd5e1; border-radius: 11px;
  background: #fafbfc; padding: 12px 10px;
  text-align: center; cursor: pointer;
}
.gmrp-file-slot:hover { border-color: #3b82f6; background: #f0f7ff; }
.gmrp-file-slot.filled { border-style: solid; border-color: #cbd5e1; background: #fff; padding: 8px; }
.gmrp-file-input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.gmrp-file-empty-icon {
  display: inline-flex; width: 32px; height: 32px;
  border-radius: 9px;
  background: linear-gradient(135deg, #dbeafe, #bfdbfe); color: #2563eb;
  align-items: center; justify-content: center; margin-bottom: 4px;
}
.gmrp-file-empty-title { font-size: 0.82rem; font-weight: 700; color: #0f172a; }
.gmrp-file-empty-sub { font-size: 0.7rem; color: #64748b; margin-top: 2px; }
.gmrp-file-thumb {
  position: relative; width: 100%; height: 76px;
  border-radius: 8px; overflow: hidden;
  background: #f1f5f9; border: 1px solid #e2e8f0;
  display: flex; align-items: center; justify-content: center;
}
.gmrp-file-thumb img { width: 100%; height: 100%; object-fit: cover; }
.gmrp-file-doc { font-size: 0.85rem; font-weight: 700; color: #475569; }
.gmrp-file-remove {
  position: absolute; top: 4px; right: 4px;
  width: 22px; height: 22px;
  background: rgba(255,255,255,0.95);
  border: 1px solid #cbd5e1; border-radius: 50%;
  font-size: 1rem; line-height: 1; color: #475569;
  cursor: pointer; padding: 0;
  display: flex; align-items: center; justify-content: center;
}
.gmrp-file-remove:hover { background: #fee2e2; border-color: #f87171; color: #dc2626; }
.gmrp-file-name { font-size: 0.7rem; color: #475569; margin-top: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.gmrp-add-product {
  width: 100%; margin-top: 12px;
  padding: 12px;
  background: rgba(59,130,246,0.08);
  border: 2px dashed rgba(147,197,253,0.6); border-radius: 14px;
  color: #93c5fd; font-family: inherit;
  font-size: 0.92rem; font-weight: 700; cursor: pointer;
  display: flex; align-items: center; justify-content: center; gap: 8px;
}
.gmrp-add-product:hover { background: rgba(59,130,246,0.14); color: #bfdbfe; }
.gmrp-add-product-icon {
  display: inline-flex; width: 22px; height: 22px;
  background: #2563eb; color: #fff; border-radius: 7px;
  align-items: center; justify-content: center; font-weight: 700;
}

/* En móvil, "Añadir otro producto" tampoco va al borde — necesita padding lateral */
@media (max-width: 599px) {
  .gmrp-add-product { margin-top: 12px; margin-left: 12px; margin-right: 12px; width: calc(100% - 24px); }
}

/* ====================================================================
   TOTALS (col derecha en PC) — v0.4.8: ISLA OSCURA sobre fondo claro
   El plugin ya no tiene fondo oscuro propio, así que la caja de totales
   pasa a ser una "isla" con su propio degradado oscuro. Mantiene el
   contraste alto en cifras de pago, que son la información crítica.
   ==================================================================== */
.gmrp-totals {
  background: linear-gradient(180deg, #0f172a 0%, #1e293b 100%);
  border: 1px solid rgba(15,23,42,0.12);
  border-radius: 14px;
  padding: 16px 18px;
  display: flex; flex-direction: column; gap: 8px;
  box-shadow: 0 12px 28px -12px rgba(15,23,42,0.35), 0 2px 6px -2px rgba(15,23,42,0.12);
}
@media (max-width: 599px) { .gmrp-totals { margin: 12px; } }

.gmrp-totals-row { display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,0.85); font-size: 0.9rem; }
.gmrp-totals-lbl { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,0.85); }
.gmrp-totals-truck { display: inline-flex; color: rgba(255,255,255,0.85); }
.gmrp-totals-truck svg { width: 16px; height: 16px; stroke: currentColor; }
.gmrp-totals-val { font-weight: 700; color: #fff; font-variant-numeric: tabular-nums; }
.gmrp-totals-val.free { color: #6ee7b7; }
.gmrp-badge-free {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.65rem; padding: 2px 6px;
  background: rgba(16,185,129,0.18); color: #6ee7b7;
  border: 1px solid rgba(16,185,129,0.3); border-radius: 4px;
}
.gmrp-totals-hint { margin-top: -4px; font-size: 0.74rem; color: rgba(255,255,255,0.6); }
.gmrp-totals-rule { height: 1px; background: rgba(255,255,255,0.08); margin: 2px 0; }
.gmrp-totals-grand { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.gmrp-totals-grand-lbl {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.64rem; letter-spacing: 0.14em; color: rgba(255,255,255,0.6);
}
.gmrp-totals-grand-val {
  font-size: 1.5rem; font-weight: 800; color: #fff;
  font-variant-numeric: tabular-nums; line-height: 1.1;
}
.gmrp-totals-grand-meta {
  text-align: right;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.68rem; color: rgba(255,255,255,0.5);
  white-space: pre-line; line-height: 1.4;
}

/* ====================================================================
   SUBMIT
   ==================================================================== */
.gmrp-submit {
  width: 100%; padding: 14px 22px;
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  color: #fff; border: 0; border-radius: 14px;
  font-family: inherit; font-size: 0.95rem; font-weight: 800;
  letter-spacing: 0.08em;
  display: flex; align-items: center; justify-content: center; gap: 10px;
  cursor: pointer;
  box-shadow: 0 14px 32px -14px rgba(99,102,241,0.4);
  transition: all 0.18s ease;
}
@media (max-width: 599px) { .gmrp-submit { margin: 0 12px; width: calc(100% - 24px); } }

.gmrp-submit:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 18px 40px -14px rgba(99,102,241,0.55);
}
.gmrp-submit:disabled { opacity: 0.65; cursor: progress; transform: none; }
.gmrp-submit-icon { display: inline-flex; }
.gmrp-submit-icon svg { width: 18px; height: 18px; stroke: currentColor; }

.gmrp-submit-err {
  background: #fef2f2; color: #991b1b;
  border: 1.5px solid #fecaca; border-radius: 11px;
  padding: 10px 13px; margin: 0 12px 10px;
  font-size: 0.9rem; font-weight: 600; text-align: center;
}
@media (min-width: 600px) { .gmrp-submit-err { margin: 0 0 10px; } }

.gmrp-legal {
  color: #64748b; font-size: 0.72rem;
  text-align: center; margin: 18px 12px 0;
}
.gmrp-legal a { color: #475569; text-decoration: underline; }

/* ====================================================================
   SUCCESS
   ==================================================================== */
.gmrp-success {
  background: #fff;
  border-radius: 18px;
  padding: 32px 24px;
  text-align: center;
  max-width: 700px;
  margin: 0 12px;
  box-shadow: 0 20px 40px -12px rgba(15,23,42,.25);
  animation: gmrpRise 0.5s ease-out both;
}
@media (min-width: 600px) { .gmrp-success { margin: 0 auto; } }
.gmrp-succ-icon {
  display: inline-flex; width: 72px; height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, #4ade80, #16a34a);
  color: #fff; font-size: 2.4rem; font-weight: 800;
  align-items: center; justify-content: center;
  margin-bottom: 16px;
  box-shadow: 0 12px 28px -8px rgba(22,163,74,0.5);
}
.gmrp-succ-title { font-size: 1.5rem; font-weight: 800; margin: 0 0 10px; color: #0f172a; }
.gmrp-succ-id {
  display: inline-block;
  background: #f1f5f9;
  padding: 7px 14px; border-radius: 999px;
  color: #334155; font-size: 0.88rem;
  margin: 0 0 22px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
}
.gmrp-succ-id strong { color: #6366f1; font-weight: 800; font-size: 0.95rem; }
.gmrp-succ-body {
  background: #f8fafc;
  border-left: 4px solid #6366f1;
  padding: 16px 18px;
  border-radius: 9px;
  text-align: left;
  color: #1e293b; font-size: 0.92rem; line-height: 1.55;
  margin-bottom: 16px;
}
.gmrp-succ-body strong { font-weight: 800; color: #0f172a; }
.gmrp-succ-link-inline { font-weight: 700; color: #6366f1; text-decoration: underline; }
.gmrp-succ-pay {
  display: inline-block;
  background: linear-gradient(135deg, rgba(34,197,94,0.12), rgba(16,185,129,0.06));
  border: 1px solid rgba(34,197,94,0.3);
  color: #166534; padding: 9px 14px; border-radius: 9px;
  font-size: 0.86rem; font-weight: 700;
  margin-bottom: 20px;
}
.gmrp-succ-cta {
  display: inline-block;
  padding: 13px 26px;
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  color: #fff; border-radius: 14px;
  text-decoration: none; font-weight: 800;
  letter-spacing: 0.04em;
  box-shadow: 0 12px 24px -10px rgba(99,102,241,0.5);
}

@keyframes gmrpFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@keyframes gmrpRise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }

/* ====================================================================
   v0.4.9 — TABLA DE PRECIOS POR TRAMO
   ==================================================================== */
.gmrp-pricetbl {
  margin-top: 14px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 12px 12px 14px;
}
.gmrp-pricetbl-h {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; margin-bottom: 10px;
  font-size: 0.78rem; font-weight: 700; color: #0f172a;
  letter-spacing: 0.02em;
}
.gmrp-pricetbl-h-meta {
  font-size: 0.68rem; font-weight: 600; color: #64748b;
  font-style: italic;
}
.gmrp-pricetbl-grid {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(auto-fit, minmax(78px, 1fr));
}
.gmrp-pricetbl-cell {
  background: #fff;
  border: 1.5px solid #e2e8f0;
  border-radius: 9px;
  padding: 8px 6px 9px;
  text-align: center;
  transition: all 0.18s ease;
}
.gmrp-pricetbl-cell.on {
  border-width: 2px;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px -6px rgba(0,0,0,0.18);
}
.gmrp-pricetbl-cell-orange.on  { border-color: #f97316; background: linear-gradient(180deg, #fff7ed, #fff); }
.gmrp-pricetbl-cell-amber.on   { border-color: #d97706; background: linear-gradient(180deg, #fffbeb, #fff); }
.gmrp-pricetbl-cell-sky.on     { border-color: #0ea5e9; background: linear-gradient(180deg, #f0f9ff, #fff); }
.gmrp-pricetbl-cell-emerald.on { border-color: #10b981; background: linear-gradient(180deg, #ecfdf5, #fff); }
.gmrp-pricetbl-cell-rose.on    { border-color: #f43f5e; background: linear-gradient(180deg, #fff1f2, #fff); }
.gmrp-pricetbl-range {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.66rem; font-weight: 700; color: #64748b;
  letter-spacing: 0.02em;
}
.gmrp-pricetbl-cell.on .gmrp-pricetbl-range { color: #0f172a; }
.gmrp-pricetbl-price {
  font-size: 1.05rem; font-weight: 800; color: #0f172a;
  margin-top: 2px; line-height: 1.1;
  font-variant-numeric: tabular-nums;
}
.gmrp-pricetbl-unit {
  font-size: 0.65rem; color: #94a3b8; font-weight: 600;
}

/* ====================================================================
   v0.4.9 — BOTÓN "CONFIRMAR ESTE PRODUCTO"
   ==================================================================== */
.gmrp-confirm-product {
  margin-top: 16px;
  width: 100%;
  padding: 14px 18px;
  border: 0;
  border-radius: 12px;
  font-family: inherit;
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
  cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  transition: all 0.18s ease;
  box-shadow: 0 10px 22px -10px rgba(15,23,42,0.4);
}
.gmrp-confirm-product:hover { transform: translateY(-1px); }
.gmrp-confirm-product-orange  { background: linear-gradient(135deg, #f97316, #f59e0b); box-shadow: 0 10px 22px -10px rgba(249,115,22,0.55); }
.gmrp-confirm-product-amber   { background: linear-gradient(135deg, #eab308, #d97706); box-shadow: 0 10px 22px -10px rgba(217,119,6,0.55); }
.gmrp-confirm-product-sky     { background: linear-gradient(135deg, #0ea5e9, #2563eb); box-shadow: 0 10px 22px -10px rgba(37,99,235,0.55); }
.gmrp-confirm-product-emerald { background: linear-gradient(135deg, #10b981, #0d9488); box-shadow: 0 10px 22px -10px rgba(16,185,129,0.55); }
.gmrp-confirm-product-rose    { background: linear-gradient(135deg, #f43f5e, #db2777); box-shadow: 0 10px 22px -10px rgba(244,63,94,0.55); }
.gmrp-confirm-product-icon { display: inline-flex; }

/* ====================================================================
   v0.4.9 — VISTA COLAPSADA DE PRODUCTO CONFIRMADO
   ==================================================================== */
.gmrp-line.confirmed { box-shadow: 0 6px 18px -8px rgba(16,185,129,0.25); }
.gmrp-line-confirmed-badge {
  display: inline-flex; align-items: center;
  margin-left: 8px;
  padding: 3px 8px;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  border-radius: 999px;
  color: #047857;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.gmrp-confirmed-card {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 16px;
  background: linear-gradient(180deg, #ecfdf5, #fff 60%);
  border: 1.5px solid #a7f3d0;
  border-radius: 12px;
}
.gmrp-confirmed-card-orange  { background: linear-gradient(180deg, #fff7ed, #fff 60%); border-color: #fed7aa; }
.gmrp-confirmed-card-amber   { background: linear-gradient(180deg, #fffbeb, #fff 60%); border-color: #fde68a; }
.gmrp-confirmed-card-sky     { background: linear-gradient(180deg, #f0f9ff, #fff 60%); border-color: #bae6fd; }
.gmrp-confirmed-card-emerald { background: linear-gradient(180deg, #ecfdf5, #fff 60%); border-color: #a7f3d0; }
.gmrp-confirmed-card-rose    { background: linear-gradient(180deg, #fff1f2, #fff 60%); border-color: #fecdd3; }
.gmrp-confirmed-photo {
  flex: none; width: 56px; height: 56px;
  border-radius: 10px; overflow: hidden;
  background: #f1f5f9;
  box-shadow: 0 1px 2px rgba(0,0,0,0.08), inset 0 0 0 1px rgba(0,0,0,0.06);
}
.gmrp-confirmed-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gmrp-confirmed-body { flex: 1; min-width: 0; }
.gmrp-confirmed-title {
  font-size: 0.95rem; font-weight: 800; color: #0f172a;
  line-height: 1.2;
}
.gmrp-confirmed-sub {
  font-size: 0.78rem; color: #64748b; margin-top: 3px;
  line-height: 1.4;
}
.gmrp-confirmed-meta {
  margin-top: 6px; font-size: 0.85rem; color: #334155; font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.gmrp-confirmed-x, .gmrp-confirmed-eq { color: #94a3b8; font-weight: 500; }
.gmrp-confirmed-total { color: #0f172a; font-weight: 800; }
.gmrp-confirmed-edit {
  flex: none;
  display: inline-flex; align-items: center;
  padding: 8px 14px;
  background: #fff;
  border: 1.5px solid #cbd5e1;
  border-radius: 9px;
  color: #334155;
  font-family: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.18s ease;
}
.gmrp-confirmed-edit:hover {
  border-color: #94a3b8;
  color: #0f172a;
  background: #f8fafc;
}
@media (max-width: 599px) {
  .gmrp-confirmed-card { flex-wrap: wrap; gap: 10px; padding: 12px; }
  .gmrp-confirmed-photo { width: 48px; height: 48px; }
  .gmrp-confirmed-edit { width: 100%; justify-content: center; padding: 10px; }
}

/* ====================================================================
   v0.4.9 — AVISO "PAGO NO REQUERIDO" debajo del botón submit
   ==================================================================== */
.gmrp-submit-wrap { display: flex; flex-direction: column; gap: 12px; }
.gmrp-pay-notice {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 12px 14px;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  border-radius: 12px;
  color: #065f46;
  font-size: 0.82rem;
  line-height: 1.5;
}
@media (max-width: 599px) { .gmrp-pay-notice { margin: 0 12px; } }
.gmrp-pay-notice-check {
  flex: none;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: linear-gradient(135deg, #4ade80, #16a34a);
  color: #fff; font-weight: 800; font-size: 0.85rem;
  display: flex; align-items: center; justify-content: center;
  margin-top: 1px;
  box-shadow: 0 2px 6px -1px rgba(22,163,74,0.45);
}
.gmrp-pay-notice-text strong {
  color: #047857; letter-spacing: 0.04em;
}

/* ====================================================================
   v0.4.9 — MODAL DE CONFIRMACIÓN DE PEDIDO
   ==================================================================== */
.gmrp-modal-overlay {
  position: fixed; inset: 0; z-index: 99999;
  background: rgba(15, 23, 42, 0.62);
  backdrop-filter: blur(4px);
  display: flex; align-items: center; justify-content: center;
  padding: 16px;
  animation: gmrpFade 0.2s ease-out both;
  overflow-y: auto;
}
.gmrp-modal {
  background: #fff;
  border-radius: 18px;
  width: 100%;
  max-width: 640px;
  max-height: calc(100vh - 32px);
  display: flex; flex-direction: column;
  box-shadow: 0 30px 60px -20px rgba(0,0,0,0.5);
  animation: gmrpRise 0.25s ease-out both;
  overflow: hidden;
}
.gmrp-modal-h {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 20px 22px 16px;
  background: linear-gradient(135deg, #16a34a, #059669);
  color: #fff;
  flex: none;
}
.gmrp-modal-h-icon {
  flex: none; width: 38px; height: 38px;
  border-radius: 10px;
  background: rgba(255,255,255,0.18);
  display: flex; align-items: center; justify-content: center;
  color: #fff;
}
.gmrp-modal-title {
  margin: 0; color: #fff;
  font-size: 1.05rem; font-weight: 800;
  letter-spacing: 0.01em; line-height: 1.25;
}
.gmrp-modal-sub {
  margin: 4px 0 0; color: rgba(255,255,255,0.88);
  font-size: 0.84rem; line-height: 1.4;
}
.gmrp-modal-body {
  padding: 18px 22px 12px;
  overflow-y: auto;
  flex: 1;
}
.gmrp-modal-section { margin-bottom: 18px; }
.gmrp-modal-section:last-child { margin-bottom: 0; }
.gmrp-modal-section-h {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; margin-bottom: 10px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.7rem; font-weight: 700; letter-spacing: 0.12em;
  color: #475569;
}
.gmrp-modal-section-h-meta {
  letter-spacing: 0.05em; color: #94a3b8;
  font-weight: 600;
}
.gmrp-modal-prods { display: flex; flex-direction: column; gap: 10px; }
.gmrp-modal-prod {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
}
.gmrp-modal-prod-photo {
  flex: none; width: 44px; height: 44px;
  border-radius: 8px; overflow: hidden;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.06);
}
.gmrp-modal-prod-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gmrp-modal-prod-body { flex: 1; min-width: 0; }
.gmrp-modal-prod-title { font-size: 0.92rem; font-weight: 800; color: #0f172a; line-height: 1.2; }
.gmrp-modal-prod-sub { font-size: 0.74rem; color: #64748b; margin-top: 2px; line-height: 1.35; }
.gmrp-modal-prod-meta {
  font-size: 0.78rem; color: #475569; margin-top: 4px;
  font-variant-numeric: tabular-nums;
}
.gmrp-modal-prod-total {
  flex: none; font-size: 0.96rem; font-weight: 800; color: #0f172a;
  font-variant-numeric: tabular-nums;
}
.gmrp-modal-totals {
  margin-top: 12px;
  padding: 12px 14px;
  background: #0f172a;
  border-radius: 10px;
  display: flex; flex-direction: column; gap: 6px;
}
.gmrp-modal-total-row {
  display: flex; align-items: center; justify-content: space-between;
  font-size: 0.85rem; color: rgba(255,255,255,0.85);
}
.gmrp-modal-total-val { font-weight: 700; color: #fff; font-variant-numeric: tabular-nums; }
.gmrp-modal-total-val.free { color: #6ee7b7; }
.gmrp-modal-total-grand {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 4px; padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,0.12);
}
.gmrp-modal-total-grand > span:first-child {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.7rem; color: rgba(255,255,255,0.65);
  letter-spacing: 0.12em;
}
.gmrp-modal-total-grand-val {
  font-size: 1.35rem; font-weight: 800; color: #fff;
  font-variant-numeric: tabular-nums;
}
.gmrp-modal-info {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 12px 14px;
  display: flex; flex-direction: column; gap: 7px;
}
.gmrp-modal-info-row {
  display: flex; align-items: baseline; gap: 12px;
  font-size: 0.86rem; line-height: 1.4;
}
.gmrp-modal-info-row-block { flex-direction: column; gap: 2px; align-items: flex-start; }
.gmrp-modal-info-lbl {
  flex: none;
  width: 90px;
  color: #64748b;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.gmrp-modal-info-val {
  flex: 1;
  color: #0f172a;
  font-weight: 600;
  word-wrap: break-word;
  min-width: 0;
}
.gmrp-modal-info-row-block .gmrp-modal-info-val { font-weight: 500; }
.gmrp-modal-pay {
  display: flex; align-items: flex-start; gap: 10px;
  margin-top: 16px;
  padding: 12px 14px;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  border-radius: 10px;
  color: #065f46;
  font-size: 0.85rem;
  line-height: 1.5;
}
.gmrp-modal-pay strong { color: #047857; }
.gmrp-modal-pay-icon {
  flex: none; width: 22px; height: 22px;
  border-radius: 50%;
  background: linear-gradient(135deg, #4ade80, #16a34a);
  color: #fff; font-weight: 800; font-size: 0.85rem;
  display: flex; align-items: center; justify-content: center;
  margin-top: 1px;
  box-shadow: 0 2px 6px -1px rgba(22,163,74,0.45);
}
.gmrp-modal-actions {
  display: flex; gap: 10px;
  padding: 14px 22px 18px;
  border-top: 1px solid #e2e8f0;
  background: #fff;
  flex: none;
}
.gmrp-modal-back {
  flex: none;
  padding: 12px 16px;
  background: #fff;
  border: 1.5px solid #cbd5e1;
  border-radius: 11px;
  color: #334155;
  font-family: inherit;
  font-size: 0.88rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.18s ease;
}
.gmrp-modal-back:hover { background: #f8fafc; border-color: #94a3b8; color: #0f172a; }
.gmrp-modal-go {
  flex: 1;
  padding: 12px 18px;
  background: linear-gradient(135deg, #16a34a, #059669);
  border: 0;
  border-radius: 11px;
  color: #fff;
  font-family: inherit;
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  box-shadow: 0 12px 24px -10px rgba(16,163,74,0.6);
  transition: all 0.18s ease;
}
.gmrp-modal-go:hover { transform: translateY(-1px); box-shadow: 0 16px 30px -12px rgba(16,163,74,0.7); }
.gmrp-modal-go-icon { display: inline-flex; }
@media (max-width: 599px) {
  .gmrp-modal-h { padding: 16px 18px 14px; }
  .gmrp-modal-body { padding: 14px 18px 8px; }
  .gmrp-modal-actions { padding: 12px 18px 14px; flex-direction: column-reverse; }
  .gmrp-modal-back, .gmrp-modal-go { width: 100%; justify-content: center; }
  .gmrp-modal-info-lbl { width: 80px; font-size: 0.7rem; }
}
