/* RP Manager Frontend - scoped */
.rpm-front *, .rpm-front *::before, .rpm-front *::after{box-sizing:border-box;}
.rpm-front{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif; color:#0f172a;}
.rpm-wrap{max-width:980px;margin:18px auto;padding:0 12px;}

/*
  Dashboard (PC): some themes/page-builders wrap shortcodes in a narrow container.
  So max-width alone won't help. We "bleed" the dashboard container to near-viewport width
  (without touching the public reservation form), while keeping the same visual spacing.
*/
.rpm-wrap--dash{max-width:980px;}
@media (min-width: 992px){
  .rpm-wrap--dash{
    /* Break out of theme containers and match the screen width (with safe gutters) */
    max-width:none !important;
    width:min(1840px, calc(100vw - 40px));
    position:relative;
    left:50%;
    transform:translateX(-50%);
    margin:18px 0;
    padding:0 12px;
    overflow-x:clip;
  }
}

/* =======================================================================
   UI overrides (Update 348)
   - Proximos filtros: look más premium (glass + gradient ring)
   - Enlaces del evento (sharebox): nunca se sale en móvil
   NOTE: Solo estilos. No afecta funciones.
   ======================================================================= */

/* [Dashboard] Enlaces del evento: nunca se sale del ancho en móvil */
.rpm-front .rpm-sharebox{max-width:100% !important;}
.rpm-front .rpm-sharebox__row{
  width:100% !important;
  max-width:100% !important;
  display:flex !important;
  gap:10px !important;
  align-items:stretch !important;
}
.rpm-front .rpm-sharebox__input{
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 1% !important; /* allows flex shrink in Safari/iOS */
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.rpm-front .rpm-sharebox__row .rpm-btn{
  flex: 0 0 auto !important;
  max-width: 100% !important;
}
@media (max-width: 900px){
  .rpm-front .rpm-sharebox__row{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .rpm-front .rpm-sharebox__input{width:100% !important;}
  .rpm-front .rpm-sharebox__row .rpm-btn{width:100% !important; justify-content:center !important;}
}
.rpm-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;box-shadow:0 12px 24px rgba(15,23,42,.06);overflow:hidden}
.rpm-card__header{padding:18px 18px 10px;border-bottom:1px solid rgba(15,23,42,.06)}
.rpm-card__header h2{margin:0 0 6px;font-size:20px;letter-spacing:-.02em}
.rpm-card__header p{margin:0;color:rgba(15,23,42,.65);font-size:13px;line-height:1.4}

.rpm-tools__body{padding:16px 18px 18px}
.rpm-grid--tools{grid-template-columns:1fr;gap:12px}
@media (min-width: 760px){ .rpm-grid--tools{grid-template-columns:1fr 1fr} }
.rpm-tools__listhead{display:flex;gap:8px;align-items:baseline;justify-content:space-between;flex-wrap:wrap}


.rpm-loginbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.rpm-brand{font-weight:800;letter-spacing:-.02em;font-size:14px}
.rpm-loginbar__right{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.rpm-loginbar__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rpm-loginbar__right .rpm-user{font-size:13px;color:rgba(15,23,42,.7);margin-right:0;white-space:nowrap}
.rpm-loginbar__actions .rpm-btn{padding:8px 12px;font-size:13px;border-radius:12px;line-height:1}

@media (max-width: 520px){
  .rpm-loginbar__right{width:100%;justify-content:space-between}
  .rpm-loginbar__actions{gap:6px}
}

.rpm-form{padding:16px 18px 18px}
.rpm-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width: 760px){ .rpm-grid{grid-template-columns:1fr 1fr} }
.rpm-field label{display:block;font-size:12px;font-weight:700;margin:0 0 6px;color:rgba(15,23,42,.78)}
.rpm-field--full{grid-column:1/-1}
.rpm-field input,.rpm-field select,.rpm-field textarea{
  width:100%;border:1px solid rgba(15,23,42,.14);border-radius:12px;padding:12px 12px;
  font-size:13px;outline:none;background:#fff;
}
.rpm-readonly{
  width:100%;
  border:1px solid rgba(15,23,42,.14);
  border-radius:12px;
  padding:12px 12px;
  font-size:13px;
  font-weight:800;
  background:rgba(15,23,42,.03);
}
.rpm-field textarea{resize:vertical;min-height:88px}
.rpm-field input:focus,.rpm-field select:focus,.rpm-field textarea:focus{border-color:rgba(99,102,241,.65);box-shadow:0 0 0 4px rgba(99,102,241,.12)}
.rpm-field input.is-locked,.rpm-field input:disabled{opacity:.85;cursor:not-allowed}
.rpm-hint{display:block;margin-top:6px;font-size:11px;color:rgba(15,23,42,.55)}

/* Mobile-first polish for the reservation form (bigger tap targets + avoid iOS zoom) */
@media (max-width: 520px){
  .rpm-wrap{margin:12px auto;padding:0 10px;}
  .rpm-card{border-radius:22px;}
  .rpm-card__header{padding:16px 14px 10px;}
  .rpm-card__header h2{font-size:22px;}
  .rpm-card__header p{font-size:13px;}

  .rpm-form{padding:14px;}
  .rpm-grid{gap:8px;}
  .rpm-field label{font-size:13px;}
  .rpm-field input,.rpm-field select,.rpm-field textarea,.rpm-readonly{font-size:16px; padding:13px 12px; border-radius:14px;}
  .rpm-field input,.rpm-field select{min-height:46px;}
  .rpm-field textarea{min-height:110px;}
  .rpm-hint{font-size:12px;}

  .rpm-actions{margin-top:12px;}
  .rpm-btn{padding:13px 14px;border-radius:14px;font-size:16px;}
  .rpm-alert{margin:12px 14px 0;}
}

.rpm-actions{margin-top:14px}
.rpm-footnote{margin-top:10px;text-align:center;font-size:11px;color:rgba(15,23,42,.55)}
.rpm-footnote--dash{margin-top:14px}

/* SSL / secure checkout badge (purely visual) */
.rpm-ssl-badge{margin-top:8px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:rgba(15,23,42,.7)}
.rpm-ssl-badge span{line-height:1.2}
.rpm-ssl-badge__icon{font-size:14px}

.rpm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;
  padding:11px 14px;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer;
  /* Default button style must remain visible even if the theme overrides links */
  background:#fff !important;
  color:#0f172a !important;
  border:1px solid rgba(15,23,42,.22) !important;
}
.rpm-btn:not(.rpm-btn--primary):not(.rpm-btn--danger):not(.rpm-btn--whatsapp):hover{background:rgba(15,23,42,.03) !important}
.rpm-front a.rpm-btn,
.rpm-front button.rpm-btn{
  /* Force our button colors even if the site theme has aggressive link/button rules */
  text-decoration:none !important;
  -webkit-tap-highlight-color: transparent;
}

.rpm-btn--primary{background:#2563eb !important;color:#fff !important}
.rpm-btn--primary:hover{filter:brightness(1.05)}

.rpm-btn--cta{display:block;width:100%;padding:18px 18px;font-size:18px;font-weight:800;border-radius:16px;line-height:1.1;text-align:center;box-shadow:0 14px 28px rgba(15,23,42,.18);margin:14px 0 0}
.rpm-btn--primary:active{transform:translateY(1px)}

/* After-reservation success screen (public form)
   Keep it spacious and mobile-friendly. */
.rpm-after-reserve{
  padding:14px 18px 18px;
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:stretch;
}
.rpm-after-reserve .rpm-btn--cta{ margin:0; }
.rpm-after-reserve .rpm-after-hint{ margin:0; text-align:center; }

.rpm-after-reserve .rpm-after-emailhint{ font-size:13px; line-height:1.35; opacity:.92; }
.rpm-after-reserve .rpm-after-secondary{ margin:0; }

/* Frontend: edit event - access types responsive (mobile cards) */
.rpm-tablewrap--edit-access{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  max-width:100%;
}
.rpm-tablewrap--edit-access table{min-width:0 !important; width:100% !important;}
.rpm-event-inline-editor__tablewrap{max-width:100%;}

@media (max-width: 720px){
  .rpm-tablewrap--edit-access table thead{display:none !important;}
  .rpm-tablewrap--edit-access table,
  .rpm-tablewrap--edit-access table tbody,
  .rpm-tablewrap--edit-access table tr,
  .rpm-tablewrap--edit-access table td{display:block !important; width:100% !important;}
  .rpm-tablewrap--edit-access table tr{
    border:1px solid rgba(15,23,42,.10) !important;
    border-radius:16px !important;
    padding:10px 12px !important;
    margin:10px 0 !important;
    background:rgba(15,23,42,.03) !important;
  }
  .rpm-tablewrap--edit-access table td{
    border:none !important;
    padding:8px 0 !important;
    display:flex !important;
    gap:10px !important;
    align-items:center !important;
    justify-content:space-between !important;
  }
  .rpm-tablewrap--edit-access table td::before{
    content:attr(data-label);
    font-size:12px;
    font-weight:700;
    color:rgba(15,23,42,.65);
    flex:0 0 42%;
  }
  .rpm-tablewrap--edit-access table td:last-child::before{content:""; flex:0 0 0;}
  .rpm-tablewrap--edit-access table input[type="text"],
  .rpm-tablewrap--edit-access table input[type="number"],
  .rpm-tablewrap--edit-access table select{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }
  .rpm-tablewrap--edit-access table input[type="checkbox"]{
    width:22px !important;
    height:22px !important;
  }
}

/* Frontend: inline editor (landing) - stack nicely on mobile */
@media (max-width: 720px){
  .rpm-event-inline-editor__head{
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
  }
  .rpm-event-inline-editor__btns{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .rpm-event-inline-editor__btns .rpm-btn{width:100% !important;}
  .rpm-event-inline-editor__inline2{flex-direction:column !important;}
  .rpm-event-inline-editor__inline2 input{width:100% !important;}
  .rpm-event-inline-editor__inline{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .rpm-event-inline-editor__inline select,
  .rpm-event-inline-editor__inline input{width:100% !important;}
  .rpm-event-inline-editor .rpm-actions .rpm-btn{width:100% !important;}
}

/* Frontend: edit event (panel + landing) - collapse forced 3-column inline grids on mobile */
@media (max-width: 720px){
  .rpm-front .rpm-grid[style*="repeat(3"]{grid-template-columns:1fr !important;}
}

.rpm-btn--ghost{background:#fff !important;color:#0f172a !important;border-color:rgba(15,23,42,.22) !important}
.rpm-btn--ghost:hover{background:rgba(15,23,42,.03)}
/* Event landing: "Ver organizadora" button (match landing aesthetic) */
.rpm-placehero__organizer{margin:10px 0 0; display:flex; flex-wrap:wrap; gap:10px; align-items:center;}
.rpm-btn--organizer{
  border-radius:999px !important;
  padding:10px 14px !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:-.01em;
  background:linear-gradient(135deg, rgba(37,99,235,.14), rgba(37,99,235,.04)) !important;
  border-color:rgba(37,99,235,.30) !important;
  box-shadow:0 14px 30px rgba(37,99,235,.18);
  transition:transform .14s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease, filter .18s ease;
}
.rpm-btn--organizer::after{
  content:"↗";
  font-weight:900;
  opacity:.75;
  margin-left:2px;
}
.rpm-btn--organizer:hover{
  background:linear-gradient(135deg, rgba(37,99,235,.18), rgba(37,99,235,.06)) !important;
  border-color:rgba(37,99,235,.40) !important;
  transform:translateY(-1px);
  box-shadow:0 16px 34px rgba(37,99,235,.22);
}
.rpm-btn--organizer:active{transform:translateY(0);}
.rpm-btn--organizer:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:2px;}
@media (max-width: 520px){
  .rpm-placehero__organizer{margin-top:8px;}
}
.rpm-btn--danger{background:#dc2626 !important;color:#fff !important;border-color:#dc2626 !important}
.rpm-btn--danger:hover{background:#b91c1c !important;border-color:#b91c1c !important}
.rpm-btn--block{width:100%}
.rpm-btn--tiny{padding:7px 10px;border-radius:10px;font-size:12px;font-weight:800}

/* Inline action buttons (table + cards): wrap nicely on small screens */
.rpm-actions-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
@media (max-width: 760px){
  .rpm-actions-inline{justify-content:flex-start}
}

/* WhatsApp button (kept readable across themes) */
.rpm-btn--whatsapp{
  background:#16a34a !important;
  border-color:#16a34a !important;
  color:#fff !important;
}
.rpm-btn--whatsapp:hover{filter:brightness(1.05)}

.rpm-alert{border-radius:14px;padding:12px 14px;margin:12px 18px 0;font-size:13px}
.rpm-alert--success{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.25)}
.rpm-alert--danger{background:rgba(239,68,68,.10);border:1px solid rgba(239,68,68,.25)}
.rpm-alert--warning{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.28)}

.rpm-dash{display:flex;flex-direction:column;gap:12px}
.rpm-dash__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.rpm-dash__title h2{margin:0;font-size:20px;letter-spacing:-.02em}
.rpm-sub{margin:6px 0 0;color:rgba(15,23,42,.65);font-size:13px}
@media (max-width: 520px){ .rpm-dash__top{flex-direction:column} }

/* Dashboard: main section buttons (Por evento / Crear evento / Corte / RPs / etc.) */
.rpm-dash__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
@media (max-width: 720px){
  .rpm-dash__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .rpm-dash__actions .rpm-btn{
    width:100%;
    aspect-ratio:1/1;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    white-space:normal;
    line-height:1.15;
    padding:10px 8px;
    border-radius:16px;
  }
}

.rpm-kpis{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
@media (max-width: 520px){ .rpm-kpis{grid-template-columns:1fr; } }
.rpm-kpi{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:12px 14px;box-shadow:0 8px 16px rgba(15,23,42,.04)}
.rpm-kpi__label{font-size:11px;color:rgba(15,23,42,.6);font-weight:800}
.rpm-kpi__value{font-size:18px;font-weight:900;margin-top:4px}

.rpm-filters{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:12px;box-shadow:0 8px 16px rgba(15,23,42,.04)}
.rpm-filterbar__row{display:flex;gap:8px;align-items:center}
.rpm-filterbar__q{flex:1}
.rpm-filterbar__q input{width:100%;border:1px solid rgba(15,23,42,.14);border-radius:14px;padding:12px 12px;font-size:14px}
.rpm-filterbar__btn{white-space:nowrap}
.rpm-filterbar__toggle{white-space:nowrap}
@media (max-width: 520px){
  .rpm-filterbar__row{flex-direction:column;align-items:stretch}
  .rpm-filterbar__btn,.rpm-filterbar__toggle{width:100%}
}
.rpm-grid--filters{grid-template-columns:1fr;gap:10px}
@media (min-width: 760px){ .rpm-grid--filters{grid-template-columns:1fr 1fr 1fr} }

.rpm-empty{padding:16px 14px;background:#fff;border:1px dashed rgba(15,23,42,.18);border-radius:16px;text-align:center;color:rgba(15,23,42,.65)}

.rpm-tablewrap{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;overflow:auto;box-shadow:0 10px 20px rgba(15,23,42,.04);-webkit-overflow-scrolling:touch}
.rpm-table{border-collapse:separate;border-spacing:0;width:100%;min-width:980px}
.rpm-table th{position:sticky;top:0;background:#fff;z-index:1}
.rpm-table th,.rpm-table td{padding:12px 10px;border-bottom:1px solid rgba(15,23,42,.06);font-size:13px;vertical-align:top}
.rpm-table th{font-size:12px;color:rgba(15,23,42,.55);text-transform:uppercase;letter-spacing:.06em}
.rpm-row:hover td{background:rgba(15,23,42,.02)}
.rpm-details td{background:rgba(15,23,42,.02)}
.rpm-details__box{display:grid;gap:6px;padding:10px 6px}

/* Refund request highlight (dashboard) */
.rpm-card--row.rpm-refund-requested{outline:3px solid rgba(250,204,21,.9);outline-offset:2px}
tr.rpm-refund-requested td{border-top:2px solid rgba(250,204,21,.85);border-bottom:2px solid rgba(250,204,21,.85)}
tr.rpm-refund-requested td:first-child{border-left:2px solid rgba(250,204,21,.85);border-top-left-radius:12px;border-bottom-left-radius:12px}
tr.rpm-refund-requested td:last-child{border-right:2px solid rgba(250,204,21,.85);border-top-right-radius:12px;border-bottom-right-radius:12px}

/* Refund request: small action button attached to the highlighted reservation */
.rpm-refund-alertbar{margin:10px 0 2px}
.rpm-refund-alert-btn{white-space:normal;line-height:1.25;text-align:center}
.rpm-refund-alert-btn .rpm-refund-alert-title{display:block;font-weight:700}
.rpm-refund-alert-btn .rpm-refund-alert-sub{display:block;margin-top:10px;font-size:12px;opacity:.9;line-height:1.35}

/* Dashboard mini refunds: WhatsApp number (make it clearly visible) */
.rpm-refunds-mini__wa{color:rgba(22,163,74,1);font-weight:800}

/* Mobile safety: ensure detail fields are always interactable above any accidental overlays */
.rpm-details__box{position:relative}
.rpm-details__box textarea,
.rpm-details__box input,
.rpm-details__box select{position:relative;z-index:2;pointer-events:auto !important}

.rpm-inline{display:flex;gap:8px;align-items:center}
.rpm-inline2{display:flex;gap:8px;align-items:center}
.rpm-select--sm{padding:8px 10px;border-radius:10px;font-size:12px}
.rpm-multiselect{min-width:240px;max-width:420px;height:96px}
.rpm-input{border:1px solid rgba(15,23,42,.14);border-radius:12px;padding:10px 10px;font-size:14px}
.rpm-input--sm{padding:8px 10px;border-radius:10px;font-size:12px}
.rpm-consume{display:flex;gap:8px;align-items:center}
.rpm-consume--inline{gap:8px}
.rpm-mini{font-size:11px;margin-top:6px}
.rpm-muted{color:rgba(15,23,42,.62)}

.rpm-cards{display:none}
@media (max-width: 760px){
  .rpm-tablewrap{display:none}
  .rpm-cards{display:flex;flex-direction:column;gap:12px}
  .rpm-card--row{padding:14px;border-radius:18px}
  .rpm-card--row.rpm-refund-requested{outline:3px solid rgba(250,204,21,.9);outline-offset:2px}
  tr.rpm-refund-requested td{border-top:2px solid rgba(250,204,21,.85);border-bottom:2px solid rgba(250,204,21,.85)}
  tr.rpm-refund-requested td:first-child{border-left:2px solid rgba(250,204,21,.85);border-top-left-radius:12px;border-bottom-left-radius:12px}
  tr.rpm-refund-requested td:last-child{border-right:2px solid rgba(250,204,21,.85);border-top-right-radius:12px;border-bottom-right-radius:12px}


  /* Frontend Edit Evento: la tabla de "Tipos de acceso" debe verse también en móvil */
  .rpm-tablewrap--edit-access{display:block}

  /* Antro/Admin: "Gestionar RPs" only renders a table (no cards). Keep it visible on mobile. */
  .rpm-card--tools[data-rpm-section="rps"] .rpm-tablewrap{display:block}
  /* Antro/Admin: Cupones uses a table; keep it visible on mobile. */
  .rpm-card--tools[data-rpm-section="coupons"] .rpm-tablewrap{display:block}



  /* Mobile: tabla de RPs visible (sin columna fija para no tapar info) */
  .rpm-card--tools[data-rpm-section="rps"] .rpm-table{min-width:760px}
  .rpm-card--tools[data-rpm-section="rps"] .rpm-table td:last-child{min-width:160px}
  .rpm-card--tools[data-rpm-section="rps"] .rpm-btn{white-space:nowrap}


}
.rpm-rowhead{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px}
.rpm-rowtitle{font-size:16px;font-weight:900;letter-spacing:-.02em}
.rpm-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:800;background:rgba(99,102,241,.12);color:rgba(99,102,241,1)}
.rpm-rowmeta{display:flex;flex-wrap:wrap;gap:8px;color:rgba(15,23,42,.62);font-size:12px;margin-top:4px}
.rpm-rowgrid{display:grid;grid-template-columns:1fr;gap:12px}
.rpm-rowfoot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}

/* Mobile: prevent action buttons from getting clipped; stack them cleanly */
@media (max-width: 760px){
  .rpm-rowfoot{display:grid;grid-template-columns:1fr;align-items:stretch}
  .rpm-rowfoot .rpm-pill{width:100%}
  .rpm-rowfoot .rpm-inline{width:100%}
  .rpm-rowfoot .rpm-pay-form{width:100%}
  .rpm-rowfoot .rpm-pay-form button{width:100%}
  .rpm-rowfoot .rpm-btn{width:100%}
}
.rpm-pill{background:rgba(15,23,42,.03);border:1px solid rgba(15,23,42,.08);padding:10px 12px;border-radius:14px;font-size:13px}
.rpm-toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);background:#0f172a;color:#fff;padding:10px 12px;border-radius:999px;font-size:13px;font-weight:800;box-shadow:0 14px 30px rgba(15,23,42,.25);z-index:9999;opacity:0;pointer-events:none;transition:opacity .18s ease}
.rpm-toast.is-show{opacity:1}


.rpm-cons-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:900;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.22);color:rgba(5,150,105,1);margin-left:8px;white-space:nowrap}
.rpm-rp-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:900;background:rgba(15,23,42,.06);border:1px solid rgba(15,23,42,.10);color:rgba(15,23,42,.72);margin-left:8px;white-space:nowrap}
.rpm-paid-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:900;background:rgba(22,163,74,.10);border:1px solid rgba(22,163,74,.22);color:rgba(22,163,74,.95);margin-left:8px;white-space:nowrap}

/* Payment badges (customer payment: PAGADO / PENDIENTE) */
.rpm-pay-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:900;border:1px solid rgba(15,23,42,.10);background:rgba(15,23,42,.06);color:rgba(15,23,42,.78);white-space:nowrap}
.rpm-pay-badge--paid{background:rgba(22,163,74,.10);border-color:rgba(22,163,74,.22);color:rgba(22,163,74,.95)}
.rpm-pay-badge--pending{background:rgba(220,38,38,.08);border-color:rgba(220,38,38,.22);color:rgba(185,28,28,.95)}

@media (max-width: 520px){
  .rpm-card--row .rpm-inline2{flex-direction:column;align-items:stretch}
  .rpm-card--row .rpm-inline2 button{width:100%}
  .rpm-consume{gap:8px}
  .rpm-consume--inline{flex-wrap:wrap}
  .rpm-consume--inline .rpm-input{flex:1 1 100%}
  .rpm-consume--inline .rpm-btn{width:100%}
  .rpm-btn--tiny{padding:10px 12px;font-size:14px}
  .rpm-rowhead{gap:10px}
  .rpm-rowtitle{font-size:16px}
}


/* Share link box */
.rpm-sharebox{margin-top:10px;background:rgba(15,23,42,.03);border:1px dashed rgba(15,23,42,.18);padding:10px 12px;border-radius:12px}
.rpm-sharebox__label{font-size:12px;font-weight:700;color:rgba(15,23,42,.78);margin-bottom:6px}
.rpm-sharebox__row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rpm-sharebox__input{flex:1;min-width:220px;font-size:12px}

/* Mobile: prevent share links from overflowing the viewport */
@media (max-width: 520px){
  .rpm-sharebox__row{flex-direction:column;align-items:stretch;gap:10px}
  .rpm-sharebox__input{min-width:0;width:100%}
  .rpm-sharebox__row .rpm-btn{width:100%;justify-content:center}
}

/* Lugar public page (frontend bonito + CTA) */
.rpm-placepage .rpm-card{overflow:hidden}
.rpm-placehero{display:grid;grid-template-columns:1fr;gap:14px;padding:16px}
@media (min-width: 900px){ .rpm-placehero{grid-template-columns: 1fr 1.1fr;gap:18px;padding:18px} }
.rpm-placehero__media img{width:100%;height:auto;display:block;border-radius:18px;box-shadow:0 16px 30px rgba(15,23,42,.10);position:relative;z-index:0;}
.rpm-placehero__content{display:flex;flex-direction:column;gap:10px}
.rpm-placehero__title{margin:0;font-size:26px;letter-spacing:-.03em;line-height:1.1}
@media (max-width: 520px){ .rpm-placehero__title{font-size:22px} }
.rpm-placehero__badges{display:flex;flex-wrap:wrap;gap:8px}
.rpm-placebadge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;background:rgba(15,23,42,.06);border:1px solid rgba(15,23,42,.10);color:rgba(15,23,42,.78)}
.rpm-placehero__desc{color:rgba(15,23,42,.78);font-size:13px;line-height:1.55}
.rpm-placehero__desc p{margin:0 0 10px}
.rpm-placehero__cta{margin-top:6px}

/* Collapsible form under CTA */
.rpm-collapsible{display:none}
.rpm-placeform{border-top:1px solid rgba(15,23,42,.06);padding:16px 16px 18px;background:rgba(15,23,42,.015)}

/* When the reservation form shortcode is embedded inside the place page, remove its outer wrapper spacing */
.rpm-placeform .rpm-wrap{max-width:none;margin:0;padding:0}
.rpm-placeform .rpm-card{box-shadow:none}

/* Button state */
.rpm-placepage [data-rpm-toggle].is-open{filter:brightness(1.03)}

/* Re-mostrar QR (para reenviar al cliente) */
.rpm-qrbox{margin-top:10px;background:#fff;border:1px dashed rgba(15,23,42,.18);padding:12px;border-radius:14px;text-align:center}
.rpm-qrbox img{display:block;margin:0 auto;max-width:260px;width:100%;height:auto;border-radius:16px;background:#fff}
.rpm-qrbox.blur-qr{position:relative;overflow:hidden}
.rpm-qrbox.blur-qr img{filter:blur(7px);transform:scale(1.03)}
.rpm-qrbox.blur-qr .rpm-qrpause-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:14px;text-align:center;font-weight:800;letter-spacing:.2px;background:rgba(0,0,0,.55);color:#fff;border-radius:14px}
.rpm-qrbox.blur-qr .rpm-qrpause-overlay::before{content:"\1F512  ";margin-right:6px}
.rpm-qrbox__actions{margin-top:10px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
@media (max-width: 520px){
  .rpm-qrbox img{max-width:240px}
}


/* Textareas */
.rpm-textarea{
  width:100%;
  box-sizing:border-box;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:10px;
  font: inherit;
  background: #fff;
  /* Mobile safety: some themes/plugins set aggressive pointer-events/user-select rules */
  pointer-events:auto !important;
  -webkit-user-select:text;
  user-select:text;
  touch-action:manipulation;
}
.rpm-textarea:focus{
  outline:none;
  border-color: rgba(0,0,0,.28);
}

/* Small badges */
.rpm-badge{
  display:inline-block;
  font-size:11px;
  line-height:1;
  padding:6px 8px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.15);
  background: rgba(0,0,0,.04);
  margin-left:8px;
  white-space:nowrap;
}
.rpm-badge--danger{
  border-color: rgba(180,0,0,.25);
  background: rgba(180,0,0,.08);
}

.rpm-badge--courtesy{
  border-color: rgba(0,0,0,.85);
  background: #000;
  color: #fff;
}

/* Status history (inside reservation card/details) */
.rpm-history{margin-top:6px;padding:10px 12px;border-radius:12px;background:rgba(15,23,42,.03);border:1px solid rgba(15,23,42,.08)}
.rpm-history__compact{font-size:13px;margin-bottom:6px}
.rpm-history__list{margin:0;padding-left:18px;font-size:12px}
.rpm-history__list li{margin:4px 0}
.rpm-history__step{font-weight:700}

/* Quick status buttons */
.rpm-quick-status{display:flex;gap:6px;flex-wrap:wrap}

/* Access types (tickets) selector in reservation form */
.rpm-access-list{display:flex;flex-direction:column;gap:10px}
.rpm-access-item{background:rgba(15,23,42,.03);border:1px solid rgba(15,23,42,.10);border-radius:14px;padding:12px 14px}
.rpm-access-item--soldout{opacity:.6}
.rpm-access-item--soldout .rpm-access-left{cursor:not-allowed}
.rpm-access-item--soldout .rpm-access-cap{font-weight:900;color:rgba(180,0,0,.9)}
.rpm-access-row{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}
.rpm-access-left{display:flex;gap:8px;align-items:center;flex:1;min-width:200px;cursor:pointer}
.rpm-access-left input[type=checkbox]{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  width:22px;
  height:22px;
  min-width:22px;
  border:2px solid rgba(15,23,42,.22);
  border-radius:7px;
  background:#fff;
  margin:0;
  display:inline-grid;
  place-content:center;
  flex:0 0 22px;
  transform:none !important;
  box-shadow:0 1px 0 rgba(15,23,42,.06);
}
.rpm-access-left input[type=checkbox]::after{
  content:"";
  width:10px;
  height:10px;
  border-radius:4px;
  background:rgba(37,99,235,1);
  transform:scale(0);
  transition:transform .12s ease;
}
.rpm-access-left input[type=checkbox]:checked{border-color:rgba(37,99,235,1)}
.rpm-access-left input[type=checkbox]:checked::after{transform:scale(1)}
.rpm-access-left input[type=checkbox]:focus-visible{outline:2px solid rgba(37,99,235,.35);outline-offset:2px}
.rpm-access-name{font-weight:900}
.rpm-access-price{font-weight:800;color:rgba(15,23,42,.78)}
.rpm-access-right{display:flex;gap:8px;align-items:center}
.rpm-access-right .rpm-access-qty{width:96px}
.rpm-access-qtyselect{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  padding-right:34px;
  cursor:pointer;
  font-weight:900;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(15,23,42,.55) 50%),
    linear-gradient(135deg, rgba(15,23,42,.55) 50%, transparent 50%),
    linear-gradient(to right, transparent, transparent);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50%,
    100% 0;
  background-size:6px 6px, 6px 6px, 2.5em 2.5em;
  background-repeat:no-repeat;
}
.rpm-access-qtyselect:disabled{
  cursor:not-allowed;
  opacity:.65;
}
.rpm-access-sub{font-weight:800;white-space:nowrap}
.rpm-access-qtywrap,.rpm-access-subwrap{display:flex;align-items:center;gap:6px}
.rpm-access-label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:rgba(15,23,42,.55)}
.rpm-access-cap{margin-top:6px;font-size:12px;color:rgba(15,23,42,.72)}
.rpm-access-summary{margin-top:8px;padding:10px 12px;border-radius:12px;background:rgba(15,23,42,.04);border:1px dashed rgba(15,23,42,.18)}


/* Coupons */
.rpm-coupon{
  margin-top: 10px;
  padding: 8px 10px;
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,.10);
  background: #ffffff;
}
.rpm-coupon__controls{
  display: flex;
  gap: 6px;
  align-items: center;
}
.rpm-coupon__controls input{
  flex: 1;
  min-width: 0;
}
.rpm-coupon__status{
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(15,23,42,.03);
  border: 1px solid rgba(15,23,42,.08);
  font-size: 12px;
}
.rpm-coupon__status.is-error,
.rpm-coupon-status.is-error{
  background: rgba(239,68,68,.10);
  border-color: rgba(239,68,68,.25);
}
.rpm-coupon__status.is-success,
.rpm-coupon-status.is-success{
  background: rgba(16,185,129,.12);
  border-color: rgba(16,185,129,.25);
}

.rpm-access-total--detailed .rpm-access-totals,
.rpm-access-total .rpm-access-totals{
  display: grid;
  gap: 6px;
}
.rpm-access-totalrow{
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
.rpm-access-tlabel{
  color: rgba(15,23,42,.75);
}
.rpm-access-totalrow--big{
  font-size: 1.06em;
}

@media (max-width: 520px){
  .rpm-coupon__controls{
    flex-direction: column;
    align-items: stretch;
  }
  .rpm-coupon__controls .rpm-btn,
  .rpm-coupon__controls button{
    width: 100%;
  }
}
.rpm-access-sline{font-size:13px;line-height:1.35}
.rpm-access-specs{margin-top:6px;font-size:12px;color:rgba(15,23,42,.72);line-height:1.35}
.rpm-access-total{margin-top:8px;font-size:14px}
@media (max-width: 520px){
  .rpm-access-left{min-width:unset;width:100%}
  .rpm-access-right{width:100%;justify-content:space-between}
  .rpm-access-right .rpm-access-qty{flex:1;max-width:140px}
  .rpm-access-item{padding:12px 12px}
  .rpm-access-left input[type=checkbox]{transform:none !important}
}


/* Standalone public landing (bypass theme header/footer) */
body.rpm-standalone{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(1200px 600px at 15% 10%, rgba(99,102,241,.25), transparent 60%),
    radial-gradient(900px 500px at 85% 30%, rgba(236,72,153,.18), transparent 60%),
    radial-gradient(800px 500px at 50% 90%, rgba(16,185,129,.16), transparent 60%),
    linear-gradient(180deg, #0b1020 0%, #0a0f1e 50%, #090d18 100%);
}
body.rpm-standalone .rpm-wrap{max-width:1100px;margin:0 auto;padding:36px 14px 70px}
body.rpm-standalone .rpm-front{color:#0b1220}
body.rpm-standalone .rpm-card{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 30px 80px rgba(0,0,0,.35);
  border-radius:26px;
}
body.rpm-standalone a{color:inherit}

/* Place page polish */
.rpm-placepage .rpm-placehero{padding:18px}
@media (min-width: 900px){ .rpm-placepage .rpm-placehero{padding:22px} }

.rpm-placehero__media{
  position:relative;
  border-radius:22px;
  overflow:hidden;
  background:rgba(15,23,42,.06);
}
.rpm-placehero__media img{
  width:100%;
  height:auto;
  display:block;
  border-radius:0;
  box-shadow:none;
  transform:scale(1.01);
}
.rpm-placehero__media:after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.26) 100%);
  pointer-events:none;
  z-index:1;
}

/* Countdown (Place page): "cuánto falta para el evento" */
.rpm-countdown{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(15,23,42,.76);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  box-shadow:0 14px 32px rgba(0,0,0,.22);
  backdrop-filter:saturate(140%) blur(10px);
}
.rpm-countdown--overlay{
  position:absolute;
  top:12px;
  left:12px;
  right:12px;
  z-index:3;
}
.rpm-countdown--inline{
  position:relative;
  margin:0 0 12px;
}
.rpm-countdown__label{
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.86;
  margin-bottom:2px;
}
.rpm-countdown__time{
  display:flex;
  gap:8px;
  align-items:baseline;
  font-variant-numeric:tabular-nums;
}
.rpm-countdown__seg{display:flex;align-items:baseline;gap:5px}
.rpm-countdown__num{font-size:18px;font-weight:900;line-height:1}
.rpm-countdown__unit{font-size:12px;opacity:.85;line-height:1}
.rpm-countdown__end{
  font-size:12px;
  opacity:.92;
  white-space:nowrap;
}
.rpm-countdown--started .rpm-countdown__end{font-weight:800;opacity:1}
@media (max-width: 520px){
  .rpm-countdown{padding:9px 10px;border-radius:14px;gap:10px}
  .rpm-countdown__num{font-size:16px}
  .rpm-countdown__end{font-size:11px}
}



.rpm-placehero__title{
  font-size:34px;
  letter-spacing:-.04em;
}
@media (max-width: 520px){ .rpm-placehero__title{font-size:26px} }

.rpm-placebadge{
  background:rgba(17,24,39,.06);
  border-color:rgba(17,24,39,.10);
  color:rgba(17,24,39,.86);
}

.rpm-placehero__cta .rpm-btn{
  padding:13px 14px;
  border-radius:14px;
  font-size:15px;
}
.rpm-placehero__cta .rpm-btn.is-open{
  background:#0b1220 !important;
  filter:brightness(1.08);
}

/* Make the embedded form feel like a "sheet" */
.rpm-placeform{
  padding:2px 0 18px;
  border-top:1px solid rgba(15,23,42,.08);
}
.rpm-placeform .rpm-card{box-shadow:none;border-radius:0;border-left:0;border-right:0;border-bottom:0}
.rpm-placeform .rpm-form{padding-top:16px}



/* Past events highlight (Dashboard -> Por evento) */
.rpm-row--past td{
  border-top:1px solid rgba(220,38,38,.55) !important;
  border-bottom:1px solid rgba(220,38,38,.55) !important;
  background:rgba(220,38,38,.04) !important;
}
.rpm-row--past td:first-child{border-left:1px solid rgba(220,38,38,.55) !important;}
.rpm-row--past td:last-child{border-right:1px solid rgba(220,38,38,.55) !important;}

.rpm-card--row.rpm-card--past{
  box-shadow:0 0 0 2px rgba(220,38,38,.55) !important;
}

.rpm-pastnote{
  margin-top:8px;
  padding:10px 12px;
  border:1px solid rgba(220,38,38,.30);
  background:rgba(220,38,38,.06);
  border-radius:14px;
  font-size:12px;
  line-height:1.35;
  color:rgba(185,28,28,1);
}

.rpm-btn--disabled{
  opacity:.45;
  cursor:not-allowed !important;
  pointer-events:none !important;
}

/* ------------------------------------------------------------
   Floating / modal prompt: Acceder / Crear cuenta
   ------------------------------------------------------------ */
.rpm-authprompt-overlay{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:99999;
  width:min(420px, calc(100vw - 24px));
}
.rpm-authprompt-overlay.is-hidden{display:none !important;}

/* Full-screen modal variant (used for checkout auth gate) */
.rpm-authprompt-overlay--modal{
  left:0;
  top:0;
  right:0;
  bottom:0;
  width:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(2px);
}
.rpm-authprompt-overlay--modal .rpm-authprompt{
  width:min(420px, calc(100vw - 36px));
}

.rpm-authprompt{
  position:relative;
  width:100%;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(15,23,42,.12);
  border-radius:18px;
  box-shadow:0 18px 45px rgba(0,0,0,.18);
  padding:14px 14px 12px;
  backdrop-filter:blur(10px);
}
.rpm-authprompt.is-hidden{display:none !important;}

.rpm-authprompt__close{
  position:absolute;
  right:10px;
  top:8px;
  width:30px;
  height:30px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.12);
  background:rgba(15,23,42,.03);
  cursor:pointer;
  font-size:18px;
  line-height:28px;
  text-align:center;
  color:rgba(15,23,42,.75);
}
.rpm-authprompt__close:hover{background:rgba(15,23,42,.06)}

.rpm-authprompt__title{
  font-weight:800;
  font-size:13px;
  letter-spacing:-.01em;
  color:rgba(15,23,42,.92);
  padding-right:38px;
}
.rpm-authprompt__desc{
  margin-top:4px;
  font-size:12px;
  line-height:1.35;
  color:rgba(15,23,42,.70);
}

.rpm-authprompt__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:10px;
}
@media (max-width: 520px){
  /* Mobile: use a stable bottom-sheet modal to avoid jumping while scrolling/keyboard */
  .rpm-authprompt-overlay{
    inset:0;
    right:0;left:0;top:0;bottom:0;
    width:auto;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    padding:12px 12px calc(env(safe-area-inset-bottom) + 86px);
    background:rgba(15,23,42,.45);
    -webkit-backdrop-filter:blur(3px);
    backdrop-filter:blur(3px);
  }
  .rpm-authprompt{
    width:100%;
    max-width:520px;
    max-height:86vh;
    max-height:86svh;
    overflow:auto;
    border-radius:18px;
  }
  .rpm-authprompt__grid{grid-template-columns:1fr;}
}

.rpm-authprompt__subtitle{
  font-size:12px;
  font-weight:800;
  letter-spacing:-.01em;
  color:rgba(15,23,42,.88);
  margin-bottom:6px;
}
.rpm-authprompt__label{
  display:block;
  font-size:11px;
  color:rgba(15,23,42,.70);
  margin:8px 0 0;
}
.rpm-authprompt__input{
  width:100%;
  margin-top:5px;
  border:1px solid rgba(15,23,42,.12);
  border-radius:12px;
  padding:10px 10px;
  background:rgba(15,23,42,.02);
  font-size:13px;
  outline:none;
}
.rpm-authprompt__input:focus{
  border-color:rgba(15,23,42,.30);
  background:rgba(15,23,42,.01);
}
.rpm-authprompt__btn{
  width:100%;
  margin-top:10px;
  border-radius:12px;
  padding:10px 12px;
}
.rpm-authprompt__note{
  margin-top:10px;
  font-size:11px;
  color:rgba(15,23,42,.55);
}

.rpm-authprompt__hint{
  margin-top:8px;
  font-size:11px;
  color:rgba(15,23,42,.65);
}
.rpm-authprompt__status{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.12);
  font-size:12px;
  line-height:1.25;
}
.rpm-authprompt__status.is-error{
  background:rgba(239,68,68,.08);
  border-color:rgba(239,68,68,.25);
}
.rpm-authprompt__status.is-success{
  background:rgba(34,197,94,.08);
  border-color:rgba(34,197,94,.25);
}
.rpm-card--authgate{
  margin-top:14px;
}

/* Generic read-more collapsible (no JS) */
.rpm-readmore{margin-top:8px; width:100%;}
.rpm-readmore > summary{cursor:pointer; list-style:none; display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border-radius:999px; border:1px solid rgba(15,23,42,.14); background:rgba(15,23,42,.04); font-size:12px; font-weight:800; color:rgba(15,23,42,.86); user-select:none;}
.rpm-readmore > summary::-webkit-details-marker{display:none;}
.rpm-readmore[open] > summary{margin-bottom:8px;}
.rpm-readmore__content{font-size:12px; line-height:1.45; color:rgba(15,23,42,.84);}
.rpm-readmore__content p{margin:0 0 8px;}
.rpm-readmore--alert{max-width:560px;}
.rpm-readmore--alert > summary{background:rgba(245,158,11,.10); border-color:rgba(245,158,11,.32);}
.rpm-readmore--card{margin-top:0;}
.rpm-readmore--card > summary{margin-bottom:0;}
.rpm-org-register-collapse > summary{margin-bottom:10px;}
.rpm-readmore__content--card{padding-top:4px;}

/* Update 2: Public membership purchase (Crear cuenta de Organizadora) */
.rpm-membership__grid{display:grid;grid-template-columns:1fr;gap:12px;padding:16px;}
.rpm-membership__grid .rpm-field{display:flex;flex-direction:column;gap:6px}
.rpm-membership__grid label{font-size:12px;font-weight:800;letter-spacing:0.01em;color:rgba(15,23,42,.82)}
.rpm-membership__grid input,.rpm-membership__grid select{padding:11px 12px;border-radius:14px;border:1px solid rgba(15,23,42,.12);background:#fff;font-size:13px;}
.rpm-membership__grid input:focus,.rpm-membership__grid select:focus{outline:none;border-color:rgba(59,130,246,.6);box-shadow:0 0 0 4px rgba(59,130,246,.12)}
.rpm-membership__note{padding:0 16px 16px;color:rgba(15,23,42,.68);font-size:12px;line-height:1.4}
.rpm-membership__note strong{color:rgba(15,23,42,.84)}
.rpm-membership__cta{padding:0 16px 16px}
.rpm-membership__cta .rpm-btn{width:100%}
.rpm-membership__status{margin-top:12px}

@media(min-width:720px){
  .rpm-membership__grid{grid-template-columns:1fr 1fr;}
  .rpm-membership__grid .rpm-field--full{grid-column:1 / -1;}
}

/* Mis accesos: password collapse (no-JS) */
.rpm-ig-collapse summary{ cursor:pointer; }
.rpm-ig-collapse summary::-webkit-details-marker{ display:none; }
.rpm-ig-collapse > summary{ list-style:none; }


/* Mis accesos: event title bigger */
.rpm-ig-access-eventtitle{
  margin-top:10px;
  font-size:clamp(20px,5.6vw,30px) !important;
  font-weight:950 !important;
  letter-spacing:-0.02em;
  line-height:1.12;
  opacity:1 !important;
  word-break:break-word;
}


/* RPM anti-spam honeypot (hidden field) */
.rpm-hp{ position:absolute !important; left:-9999px !important; top:auto !important; width:1px !important; height:1px !important; overflow:hidden !important; }


/* Dashboard pagination */
.rpm-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin-top:14px;
  flex-wrap:wrap;
}
.rpm-page{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:32px;
  height:32px;
  padding:0 10px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.12);
  background:rgba(15,23,42,.02);
  color:rgba(15,23,42,.78);
  font-size:12px;
  font-weight:700;
  text-decoration:none;
  line-height:1;
}
.rpm-page:hover{
  background:rgba(15,23,42,.04);
  border-color:rgba(15,23,42,.18);
  text-decoration:none;
}
.rpm-page.is-current{
  background:rgba(15,23,42,.10);
  border-color:rgba(15,23,42,.20);
  color:rgba(15,23,42,.92);
  cursor:default;
}
.rpm-page--arrow{
  min-width:32px;
  padding:0 8px;
  font-size:16px;
  font-weight:900;
}
.rpm-page--dots{
  border:none;
  background:transparent;
  min-width:auto;
  padding:0 4px;
  color:rgba(15,23,42,.45);
}

/* -------------------------------------------------------------------------
   Shortcode: [rpm_proximos_eventos] (MVP)
   ------------------------------------------------------------------------- */
.rpm-proximos__grid,
.rpm-events-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}
@media (min-width: 760px){
  .rpm-proximos__grid,
  .rpm-events-grid{grid-template-columns:1fr 1fr;}
}
@media (min-width: 1024px){
  .rpm-proximos__grid,
  .rpm-events-grid{grid-template-columns:1fr 1fr 1fr;}
}

/* Marketplace-style cards (scoped to this shortcode wrapper) */
.rpm-proximos--market .rpm-event-card{
  position:relative;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  box-shadow:0 16px 34px rgba(15,23,42,.07);
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.rpm-proximos--market .rpm-event-card:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 46px rgba(15,23,42,.10);
  border-color:rgba(15,23,42,.16);
}
.rpm-proximos--market .rpm-event-card__link{
  display:block;
  color:inherit;
  text-decoration:none;
}
.rpm-proximos--market .rpm-event-card__link:hover{
  text-decoration:none;
}

.rpm-proximos--market .rpm-event-card__media{
  position:relative;
  background:rgba(15,23,42,.05);
  aspect-ratio: 16 / 9;
  overflow:hidden;
}
.rpm-proximos--market .rpm-event-card__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.22) 65%, rgba(0,0,0,.34) 100%);
  pointer-events:none;
}
.rpm-proximos--market .rpm-event-card__img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.01);
}
.rpm-proximos--market .rpm-event-card__img--empty{
  width:100%;
  height:100%;
  background:linear-gradient(135deg, rgba(15,23,42,.04), rgba(15,23,42,.14));
}

.rpm-proximos--market .rpm-event-card__date{
  position:absolute;
  left:12px;
  top:12px;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  padding:10px 10px;
  border-radius:18px;
  background:rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color:#fff;
  min-width:62px;
}
.rpm-proximos--market .rpm-event-card__day{font-size:18px;font-weight:950;line-height:1}
.rpm-proximos--market .rpm-event-card__mon{font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;line-height:1}
.rpm-proximos--market .rpm-event-card__time{font-size:11px;font-weight:900;opacity:.95;line-height:1.1}

.rpm-proximos--market .rpm-event-card__badges{
  position:absolute;
  right:12px;
  top:12px;
  z-index:2;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.rpm-proximos--market .rpm-badge{
  margin-left:0;
  border-radius:999px;
  padding:7px 10px;
  font-size:11px;
  font-weight:950;
  letter-spacing:.02em;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.45);
  color:#fff;
}
.rpm-proximos--market .rpm-badge--featured{
  background:rgba(16,185,129,.18);
  border-color:rgba(16,185,129,.28);
  color:#ecfdf5;
}
.rpm-proximos--market .rpm-badge--sponsored{
  background:rgba(250,204,21,.18);
  border-color:rgba(250,204,21,.28);
  color:#fffbeb;
}
.rpm-proximos--market .rpm-badge--info{
  background:rgba(99,102,241,.18);
  border-color:rgba(99,102,241,.28);
  color:#eef2ff;
}

.rpm-proximos--market .rpm-event-card__body{
  padding:14px 14px 16px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.rpm-proximos--market .rpm-event-card__when{
  font-size:12px;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(15,23,42,.70);
}
.rpm-proximos--market .rpm-event-card__title{
  font-size:17px;
  font-weight:975;
  letter-spacing:-.03em;
  line-height:1.15;
  color:rgba(15,23,42,.96);
}
@media (max-width: 520px){
  .rpm-proximos--market .rpm-event-card__title{font-size:16px}
}

.rpm-proximos--market .rpm-event-card__meta{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:13px;
  color:rgba(15,23,42,.72);
}
.rpm-proximos--market .rpm-event-card__meta-item{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.rpm-proximos--market .rpm-event-card__venue::before{content:"\1F4CD";opacity:.88}
.rpm-proximos--market .rpm-event-card__org::before{content:"\1F3AD";opacity:.88}
.rpm-proximos--market .rpm-event-card__org-label{font-weight:900;color:rgba(15,23,42,.78)}

.rpm-proximos--market .rpm-event-card__footer{margin-top:8px;display:flex;align-items:center;justify-content:flex-start}

/* Smaller button variant used inside cards */
.rpm-btn--mini{padding:10px 12px;border-radius:14px;font-size:13px;font-weight:950}


/* Proximos eventos: filtros y UX (Update 4) */
.rpm-proximos--market .rpm-proximos__filters{
  margin: 0 0 14px;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.9);
  box-shadow: 0 12px 26px rgba(15,23,42,.06);
}
.rpm-proximos--market .rpm-proximos__filters-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}
.rpm-proximos--market .rpm-proximos__search{
  flex: 1 1 260px;
  min-width: 200px;
}
.rpm-proximos--market .rpm-proximos__range{
  flex: 0 0 auto;
  min-width: 170px;
}
.rpm-proximos--market .rpm-proximos__category{
  flex: 0 0 auto;
  min-width: 190px;
}
.rpm-proximos--market .rpm-proximos__clear{
  flex: 0 0 auto;
  white-space: nowrap;
}
.rpm-proximos--market .rpm-proximos__filters-meta{
  margin-top: 10px;
  font-size: 12px;
  color: rgba(15,23,42,.62);
}

.rpm-proximos__pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin: 18px 0 6px;
}
.rpm-proximos__pager-info{
  font-size:12px;
  font-weight:800;
  color: rgba(15,23,42,.62);
  letter-spacing:.01em;
}
.rpm-proximos__pager-btn{
  padding: 7px 12px;
  min-height: 34px;
  border-radius: 999px;
  line-height: 1;
}
.rpm-proximos__pager-btn.is-disabled{
  opacity: .45;
  pointer-events: none;
}
@media (max-width: 520px){
  .rpm-proximos__pager{gap:8px}
  .rpm-proximos__pager-info{font-size:11px}
  .rpm-proximos__pager-btn{padding:7px 10px}
}

.rpm-proximos--market .rpm-proximos__noresults{
  margin-top: 14px;
}
@media (max-width: 520px){
  .rpm-proximos--market .rpm-proximos__filters{padding: 12px}
  .rpm-proximos--market .rpm-proximos__search{flex-basis: 100%; min-width: 0}
  .rpm-proximos--market .rpm-proximos__range{flex:1 1 140px; min-width: 140px}
  .rpm-proximos--market .rpm-proximos__category{flex:1 1 140px; min-width: 140px}
}

/* -------------------------------------------------------------------------
   Shortcode: [rpm_proximos_eventos] — UI PRO (premium marketplace look)
   Scoped to wrapper class: .rpm-proximos--pro
   ------------------------------------------------------------------------- */

.rpm-proximos--pro{--rpm-proximos-radius:26px}

/* Filters: modern, compact, with icon fields */

.rpm-proximos--pro .rpm-proximos__filters{
  padding: 10px;
  border-radius: 18px;
  /* Light + subtle 3D (requested) */
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.96));
  border: 1px solid rgba(15,23,42,.08);
  box-shadow:
    0 14px 34px rgba(15,23,42,.12),
    0 1px 0 rgba(255,255,255,.70) inset;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.rpm-proximos--pro .rpm-proximos__filters-row{gap:10px; align-items: stretch}
.rpm-proximos--pro .rpm-proximos__field{
  display:flex;
  align-items:center;
  gap:8px;
  padding: 10px 12px;
  border-radius: 18px;
  /* Prevent long selected labels (e.g. “Todas las fechas / categorías”) from visually escaping the pill */
  overflow: hidden;
  min-height: 44px;
  background: rgba(15,23,42,.03);
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 10px 18px rgba(15,23,42,.06);
  transition: box-shadow .14s ease, border-color .14s ease, background .14s ease;
}
.rpm-proximos--pro .rpm-proximos__field:focus-within{
  background: rgba(255,255,255,.92);
  border-color: rgba(37,99,235,.32);
  box-shadow: 0 12px 26px rgba(37,99,235,.12);
}
.rpm-proximos--pro .rpm-proximos__field-ic{opacity:.70;font-size:13px;line-height:1}
.rpm-proximos--pro .rpm-proximos__field--search{flex: 1 1 280px; min-width: 200px}
.rpm-proximos--pro .rpm-proximos__field--range{flex: 0 0 auto; min-width: 160px}
.rpm-proximos--pro .rpm-proximos__field--category{flex: 0 0 auto; min-width: 190px}

.rpm-proximos--pro .rpm-proximos__field .rpm-input{
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  /* In a flex row (icon + control), width:100% can overflow; use flex sizing instead */
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  color: rgba(15,23,42,.92) !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}
.rpm-proximos--pro .rpm-proximos__field select.rpm-input{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  padding-right: 22px !important;
  background-image: none !important;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rpm-proximos--pro .rpm-proximos__field--range,
.rpm-proximos--pro .rpm-proximos__field--category{position: relative; padding-right: 36px}
.rpm-proximos--pro .rpm-proximos__field--range::after,
.rpm-proximos--pro .rpm-proximos__field--category::after{
  content: "▾";
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  opacity: .55;
  font-size: 12px;
  pointer-events: none;
}
.rpm-proximos--pro .rpm-proximos__field .rpm-input:focus{outline:none}
.rpm-proximos--pro .rpm-proximos__field .rpm-input::placeholder{color: rgba(15,23,42,.48)}

.rpm-proximos--pro .rpm-proximos__clear{
  padding: 10px 12px;
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,250,252,.95));
  color: rgba(15,23,42,.92);
  box-shadow: 0 12px 22px rgba(15,23,42,.10);
  height: 44px;
  display:inline-flex;
  align-items:center;
  gap: 6px;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.rpm-proximos--pro .rpm-proximos__clear:hover{transform: translateY(-1px)}
.rpm-proximos--pro .rpm-proximos__filters-meta{margin-top: 8px; font-weight: 800; font-size: 12px; color: rgba(15,23,42,.60)}
.rpm-proximos--pro .rpm-proximos__filters-label{opacity:.85}

/* Proximos eventos: stronger styling to survive theme overrides (mobile first) */
.rpm-front.rpm-proximos--pro .rpm-proximos__filters{
  background: rgba(255,255,255,.78) !important;
  border: 1px solid rgba(255,255,255,.55) !important;
  box-shadow:
    0 18px 48px rgba(15,23,42,.16),
    0 1px 0 rgba(255,255,255,.70) inset !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}
.rpm-front.rpm-proximos--pro .rpm-proximos__field{
  background: rgba(255,255,255,.70) !important;
  border-color: rgba(15,23,42,.10) !important;
  box-shadow: 0 12px 26px rgba(15,23,42,.10) !important;
}
.rpm-front.rpm-proximos--pro .rpm-proximos__field:focus-within{
  background: rgba(255,255,255,.92) !important;
}
.rpm-front.rpm-proximos--pro .rpm-proximos__field-ic{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(15,23,42,.06);
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 8px 14px rgba(15,23,42,.08);
}

/* Strong resets to avoid theme styling making selects look broken */
.rpm-front.rpm-proximos--pro .rpm-proximos__field select.rpm-input{
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  color: rgba(15,23,42,.92) !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Desktop: align filters nicely in a single row */
@media (min-width: 860px){
  .rpm-front.rpm-proximos--pro .rpm-proximos__filters-row{
    display: grid !important;
    grid-template-columns: 1fr 180px 210px auto;
    align-items: stretch;
  }
  .rpm-front.rpm-proximos--pro .rpm-proximos__field{min-width: 0}
  .rpm-front.rpm-proximos--pro .rpm-proximos__clear{justify-self: end}
}
.rpm-front.rpm-proximos--pro .rpm-proximos__clear{
  border-color: rgba(15,23,42,.10) !important;
  box-shadow: 0 14px 30px rgba(15,23,42,.14) !important;
}

@media (max-width: 520px){
  .rpm-proximos--pro .rpm-proximos__filters{padding: 10px}
  .rpm-proximos--pro .rpm-proximos__field--search{flex-basis: 100%; min-width: 0}
  .rpm-proximos--pro .rpm-proximos__field--range{flex:1 1 140px; min-width: 140px}
  .rpm-proximos--pro .rpm-proximos__field--category{flex:1 1 140px; min-width: 140px}
  .rpm-proximos--pro .rpm-proximos__clear{flex: 1 1 100%; width: 100%; justify-content: center}
}
@media (max-width: 380px){
  .rpm-proximos--pro .rpm-proximos__clear-text{display:none}
}

/* =============================
   User Portal: Mis boletos QR
   Shortcode: [rpm_mis_boletos_portal]
   ============================= */
.rpm-ubp{margin: 12px 0 0}
/* Center [rpm_mis_boletos_portal] only on X axis (no vertical centering) */
.rpm-ubp.rpm-ubp--screen-center{
  min-height: 0;
  display:block !important;
  width:100% !important;
  max-width:100%;
  margin:12px auto 0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box;
  float:none !important;
  text-align:center;
}
.rpm-ubp.rpm-ubp--screen-center > .rpm-ubp__bar,
.rpm-ubp.rpm-ubp--screen-center > .rpm-ubp__panel,
.rpm-ubp.rpm-ubp--screen-center > .rpm-alert{
  width: min(100%, 760px);
  margin-left:auto !important;
  margin-right:auto !important;
}
/* Extra hardening when shortcode is placed inside a header builder */
header .rpm-ubp.rpm-ubp--screen-center,
.site-header .rpm-ubp.rpm-ubp--screen-center,
.elementor-location-header .rpm-ubp.rpm-ubp--screen-center{
  margin-left:auto !important;
  margin-right:auto !important;
  width:100% !important;
}
.rpm-ubp.rpm-ubp--screen-center .rpm-ubp__panel,
.rpm-ubp.rpm-ubp--screen-center .rpm-alert{
  text-align:center;
}
.rpm-ubp.rpm-ubp--screen-center .rpm-ubp__item{ text-align:left; }

/* Top buttons (small, IG-like) */
.rpm-ubp__bar{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  width:100%;
  padding: 0 10px;
  margin: 0 auto 12px;
}
.rpm-ubp__bar::-webkit-scrollbar{display:none}
.rpm-ubp__bar{scrollbar-width:none}

/* Override RPM button sizing just for this portal */
.rpm-front .rpm-ubp .rpm-btn.rpm-ubp__btn{
  flex: 0 0 auto;
  width:auto;
  min-width: 0;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1;
  min-height: 34px;
  white-space:nowrap;
}

.rpm-ubp__panel{
  padding: 14px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.96));
  border: 1px solid rgba(15,23,42,.08);
  box-shadow:
    0 14px 34px rgba(15,23,42,.12),
    0 1px 0 rgba(255,255,255,.70) inset;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.rpm-ubp__list{display:flex;flex-direction:column;gap:10px}
.rpm-ubp__item{
  display:flex;align-items:center;gap:12px;
  padding: 12px;
  border-radius: 18px;
  text-decoration:none !important;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 12px 24px rgba(15,23,42,.08);
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.rpm-ubp__item:hover{transform: translateY(-1px); box-shadow: 0 16px 30px rgba(15,23,42,.12); border-color: rgba(37,99,235,.18)}
.rpm-ubp__date{
  flex:0 0 auto;
  padding: 9px 10px;
  border-radius: 14px;
  background: rgba(15,23,42,.06);
  color: rgba(15,23,42,.85);
  font-weight: 950;
  font-size: 12px;
  letter-spacing: .06em;
}
.rpm-ubp__meta{display:flex;flex-direction:column;gap:2px;flex: 1 1 auto;min-width:0}
.rpm-ubp__event{font-weight: 950; color: rgba(15,23,42,.95); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.rpm-ubp__org{font-weight: 850; font-size: 12px; color: rgba(15,23,42,.60); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.rpm-ubp__go{
  flex:0 0 auto;
  padding: 8px 10px;
  border-radius: 16px;
  background: rgba(37,99,235,.10);
  color: #2563eb;
  font-weight: 950;
  font-size: 12px;
}

@media (max-width: 520px){
  /* Keep buttons side-by-side on mobile; allow horizontal scroll if needed */
  .rpm-front .rpm-ubp .rpm-btn.rpm-ubp__btn{padding: 8px 10px; font-size: 13px}
  .rpm-ubp__item{padding: 12px}
}

/* Cards: tighter, more premium */
.rpm-proximos--pro .rpm-event-card{
  border-radius: var(--rpm-proximos-radius);
  border: 1px solid transparent;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, rgba(99,102,241,.22), rgba(16,185,129,.18), rgba(250,204,21,.16)) border-box;
  box-shadow: 0 20px 54px rgba(15,23,42,.10);
}
.rpm-proximos--pro .rpm-event-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 28px 70px rgba(15,23,42,.14);
}

.rpm-proximos--pro .rpm-event-card__media{aspect-ratio: 4 / 5}
@media (min-width: 760px){
  .rpm-proximos--pro .rpm-event-card__media{aspect-ratio: 16 / 11}
}
.rpm-proximos--pro .rpm-event-card__media::after{
  background: linear-gradient(180deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,.18) 60%, rgba(0,0,0,.28) 100%);
}
.rpm-proximos--pro .rpm-event-card__img{transition: transform .22s ease}
.rpm-proximos--pro .rpm-event-card:hover .rpm-event-card__img{transform: scale(1.06)}

.rpm-proximos--pro .rpm-event-card__date{
  left: 14px;
  top: 14px;
  border-radius: 20px;
  background: rgba(15,23,42,.68);
}

.rpm-proximos--pro .rpm-badge{
  padding: 8px 12px;
  border-radius: 999px;
  box-shadow: 0 10px 22px rgba(0,0,0,.18);
}
.rpm-proximos--pro .rpm-badge--sponsored{
  background: linear-gradient(135deg, rgba(250,204,21,.26), rgba(245,158,11,.18));
  border-color: rgba(250,204,21,.32);
}
.rpm-proximos--pro .rpm-badge--featured{
  background: linear-gradient(135deg, rgba(16,185,129,.22), rgba(34,197,94,.16));
  border-color: rgba(16,185,129,.32);
}

.rpm-proximos--pro .rpm-event-card__body{padding: 16px 16px 18px; gap: 10px}
.rpm-proximos--pro .rpm-event-card__when{
  display: inline-flex;
  align-self: flex-start;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(15,23,42,.04);
  border: 1px solid rgba(15,23,42,.06);
  font-size: 12px;
}
.rpm-proximos--pro .rpm-event-card__title{font-size: 18px; line-height: 1.12}
@media (max-width: 520px){
  .rpm-proximos--pro .rpm-event-card__title{font-size: 17px}
}

.rpm-proximos--pro .rpm-event-card__meta{gap: 10px}
.rpm-proximos--pro .rpm-event-card__meta-item{gap: 10px; line-height: 1.25}
.rpm-proximos--pro .rpm-event-card__org::before{content:""; display:none;}
.rpm-proximos--pro .rpm-event-card__venue::before{opacity: .9}

.rpm-proximos--pro .rpm-org-avatar{
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .06em;
  background: rgba(99,102,241,.12);
  border: 1px solid rgba(99,102,241,.18);
  color: rgba(15,23,42,.92);
  flex: 0 0 auto;
}
.rpm-proximos--pro .rpm-org-link{
  color: rgba(15,23,42,.86);
  font-weight: 900;
  text-decoration: none;
  max-width: 100%;
}
.rpm-proximos--pro .rpm-event-card__org .rpm-org-link{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rpm-proximos--pro a.rpm-org-link:hover{opacity: .92; text-decoration: underline}

.rpm-proximos--pro .rpm-event-card__footer{margin-top: 0}
.rpm-proximos--pro .rpm-event-card__footer--actions{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.rpm-proximos--pro .rpm-event-card__footer--actions .rpm-btn--mini{padding: 14px 14px; border-radius: 18px; width: 100%; justify-content:center}
@media (max-width: 520px){.rpm-proximos--pro .rpm-event-card__footer--actions{grid-template-columns:1fr}}

/* ================================
   Organizadoras (Stories style)
   Shortcode: [rpm_organizadoras_stories]
   ================================ */
.rpm-orgstories{margin: 10px 0 18px; position:relative; overflow:hidden; box-sizing:border-box; width:100%; max-width:100%;}
.rpm-orgstories::before,
.rpm-orgstories::after{
  content:"";
  position:absolute;
  top: 0;
  bottom: 0;
  width: 28px;
  pointer-events:none;
  z-index: 2;
  opacity: 0;
  transition: opacity .18s ease;
}
.rpm-orgstories::before{left:0; background: linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,0));}
.rpm-orgstories::after{right:0; background: linear-gradient(270deg, rgba(0,0,0,.55), rgba(0,0,0,0));}
body.rpm-theme-light .rpm-orgstories::before{background: linear-gradient(90deg, rgba(255,255,255,.85), rgba(255,255,255,0));}
body.rpm-theme-light .rpm-orgstories::after{background: linear-gradient(270deg, rgba(255,255,255,.85), rgba(255,255,255,0));}

.rpm-orgstories--scrollable::before,
.rpm-orgstories--scrollable::after{opacity: .8;}

.rpm-orgstories__hint{
  position:absolute;
  top: 46px;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 18px;
  font-weight: 900;
  z-index: 3;
  pointer-events:none;
  opacity: 0;
  background: rgba(0,0,0,.45);
  color: rgba(255,255,255,.92);
  box-shadow: 0 10px 22px rgba(0,0,0,.20);
}
body.rpm-theme-light .rpm-orgstories__hint{background: rgba(255,255,255,.88); color: rgba(15,23,42,.85); box-shadow: 0 10px 22px rgba(15,23,42,.12);}
.rpm-orgstories__hint--left{left: 6px;}
.rpm-orgstories__hint--right{right: 6px;}

@keyframes rpmOrgHintPulse{0%,100%{transform: translateY(-50%) translateX(0);}50%{transform: translateY(-50%) translateX(2px);}}
@keyframes rpmOrgHintPulseL{0%,100%{transform: translateY(-50%) translateX(0);}50%{transform: translateY(-50%) translateX(-2px);}}

.rpm-orgstories--hint .rpm-orgstories__hint{opacity: .75;}
.rpm-orgstories--hint.rpm-orgstories--dir-right .rpm-orgstories__hint--right{animation: rpmOrgHintPulse 1.1s ease-in-out infinite;}
.rpm-orgstories--hint.rpm-orgstories--dir-left .rpm-orgstories__hint--left{animation: rpmOrgHintPulseL 1.1s ease-in-out infinite;}
.rpm-orgstories__track{
  display:flex;
  gap: 14px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 10px 14px 6px;
  scroll-padding-left: 14px;
  scroll-padding-right: 14px;
  overscroll-behavior-x: contain;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.rpm-orgstories__track::-webkit-scrollbar{display:none;}
.rpm-orgstories__track{scrollbar-width:none;}

.rpm-orgstory{
  flex: 0 0 auto;
  width: 86px;
  text-align: center;
  text-decoration: none;
  color: inherit;
  scroll-snap-align: start;
  outline: none;
}

@media (max-width: 420px){
  .rpm-orgstory{width: 76px;}
  .rpm-orgstory__ring{width: 64px; height: 64px;}
  .rpm-orgstory__initials{font-size: 20px;}
  .rpm-orgstory__name{font-size: 13px; max-width: 76px;}
  .rpm-orgstories__hint{top: 41px;}
}

/* Tighter on very small screens (prevents circles from "salirse" del contenedor) */
@media (max-width: 420px){
  .rpm-orgstories__track{gap: 12px; padding: 10px 12px 6px; scroll-padding-left: 12px; scroll-padding-right: 12px;}
  .rpm-orgstory{width: 78px;}
  .rpm-orgstory__ring{width: 66px; height: 66px;}
  .rpm-orgstory__name{max-width: 78px; font-size: 13px;}
}
.rpm-orgstory__ring{
    display:block;
  box-sizing:border-box;
width: 72px;
  height: 72px;
  border-radius: 999px;
  padding: 3px;
  margin: 0 auto;
  background: conic-gradient(from 180deg, #f58529, #dd2a7b, #8134af, #515bd4, #f58529);
  box-shadow: 0 14px 30px rgba(0,0,0,.14);
  transition: transform .14s ease, box-shadow .14s ease;
}
body.rpm-theme-light .rpm-orgstory__ring{box-shadow: 0 14px 30px rgba(15,23,42,.12);}

.rpm-orgstory__inner{
  width: 100%;
  height: 100%;
  border-radius: 999px;
  background: rgba(0,0,0,0.25);
  border: 2px solid rgba(11,15,25,0.78);
  overflow: hidden;
  display:flex;
  align-items:center;
  justify-content:center;

  box-sizing:border-box;
}
body.rpm-theme-light .rpm-orgstory__inner{background: rgba(255,255,255,0.94); border-color: rgba(15,23,42,0.12);}

.rpm-orgstory__img{width:100%; height:100%; max-width:none; max-height:none; object-fit:cover; display:block; border-radius:50%;
}

.rpm-orgstory__initials{font-weight: 950; font-size: 22px; letter-spacing: .06em; color: rgba(232,236,244,0.92);}
body.rpm-theme-light .rpm-orgstory__initials{color: rgba(15,23,42,.86);}

.rpm-orgstory__name{
  display: inline-block;
  margin-top: 8px;
  padding: 3px 7px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 950;
  line-height: 1.15;
  opacity: 1;
  max-width: 86px;
  background: rgba(0,0,0,.62);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.96);
  text-shadow: 0 1px 2px rgba(0,0,0,.45);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.rpm-theme-light .rpm-orgstory__name{
  background: rgba(248,250,252,.95);
  border: 1px solid rgba(15,23,42,.14);
  color: rgba(15,23,42,.92);
  text-shadow: none;
}

.rpm-orgstory--placeholder{pointer-events:none; opacity: .14;}
.rpm-orgstory--placeholder .rpm-orgstory__ring{background: transparent; box-shadow: none;}
.rpm-orgstory--placeholder .rpm-orgstory__inner{background: transparent; border-color: rgba(148,163,184,.28); border-style: dashed;}
.rpm-orgstory--placeholder .rpm-orgstory__name{background: transparent; border: 0; padding: 0; min-height: 16px;}

.rpm-orgstory:hover .rpm-orgstory__ring{transform: translateY(-1px); box-shadow: 0 16px 34px rgba(0,0,0,.18);}
.rpm-orgstory:focus-visible .rpm-orgstory__ring{outline: 3px solid rgba(99,102,241,.45); outline-offset: 3px;}
.rpm-orgstories__track--drag{cursor: grabbing;}


/* Auth prompt: single column when registration is disabled */
.rpm-authprompt__grid--single{grid-template-columns:1fr !important;}


/* --- RPM OrgStories: lock block height, prevent page horizontal overflow, improve label visibility --- */
.rpm-orgstories{max-width:100vw; overflow:hidden; }
.rpm-orgstories, .rpm-orgstories *{box-sizing:border-box;}
/* Keep the block height stable even with many organizers */
.rpm-orgstories{ --rpm-orgstories-h: 122px; height: var(--rpm-orgstories-h); }
.rpm-orgstories__track{
  height: var(--rpm-orgstories-h);
  max-height: var(--rpm-orgstories-h);
  min-height: var(--rpm-orgstories-h);
  align-items:flex-start;
  flex-wrap:nowrap;
  /* IMPORTANT: prevent the track from affecting page width */
  max-width:100%;
  min-width:0;
}
/* Story card should never wrap names into multiple lines (prevents height growth) */
.rpm-orgstory__name{
  display:inline-block;
  margin-top: 6px;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(0,0,0,0.35);
  color: rgba(255,255,255,0.95);
  font-weight: 800;
  letter-spacing: .1px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.85);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 84px;
  line-height: 1.1;
}
body.rpm-theme-light .rpm-orgstory__name{
  background: rgba(255,255,255,0.75);
  color: rgba(15,23,42,0.92);
  text-shadow: none;
}
/* Keep placeholders subtle */
.rpm-orgstory--placeholder{opacity:.25;}
/* Mobile: a bit shorter */
@media (max-width: 420px){
  .rpm-orgstories{ --rpm-orgstories-h: 116px; }
  .rpm-orgstory__name{max-width: 78px; font-size: 13px;}
}




/* === Media embeds on event landing (YouTube/Spotify) === */
.rpm-front .rpm-placehero__mediaembeds{
  margin-top: 14px;
  display: grid;
  gap: 12px;
}
.rpm-front .rpm-media-embed iframe{
  max-width: 100%;
}
.rpm-front .rpm-media-embed .wp-embedded-content{
  width: 100% !important;
}


/* === Media embeds on event landing (YouTube/Spotify) === */
.rpm-front .rpm-placehero__mediaembeds{
  margin-top: 14px;
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr;
  width: 100%;
  max-width: 100%;
  justify-items: stretch;
}

.rpm-front .rpm-media-embed{
  width: 100%;
  max-width: 100%;
  overflow: hidden; /* evita que se salga en iPhone */
}

.rpm-front .rpm-media-embed > *{
  width: 100% !important;
  max-width: 100% !important;
}

.rpm-front .rpm-media-embed iframe,
.rpm-front .rpm-media-embed embed,
.rpm-front .rpm-media-embed object{
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

.rpm-front .rpm-media-embed .wp-embedded-content{
  width: 100% !important;
  max-width: 100% !important;
}

/* Si está activo SO Media Embedder, que no reduzca/descadre dentro de RP */
.rpm-front .rpm-media-embed .so-me-wrap{
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}


/* ------------------------------------------------------------
   Inline editor en landing del evento (solo organizador)
   Mobile-first: evita desbordes y acomoda botones/inputs
------------------------------------------------------------- */
.rpm-front .rpm-event-inline-editor .rpm-hint{display:block; line-height:1.35;}

/* Wrap para tablas dentro del editor (accesos) */
.rpm-front .rpm-event-inline-editor__tablewrap{max-width:100%;}

@media (max-width: 760px){
  /* Encabezado: texto + botones */
  .rpm-front .rpm-event-inline-editor__head{
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:10px !important;
  }
  .rpm-front .rpm-event-inline-editor__btns{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
  }
  .rpm-front .rpm-event-inline-editor__btns .rpm-btn,
  .rpm-front .rpm-event-inline-editor__btns a{
    width:100% !important;
    text-align:center;
    justify-content:center;
  }

  /* Filas inline (horarios / comision) */
  .rpm-front .rpm-event-inline-editor__inline,
  .rpm-front .rpm-event-inline-editor__inline2{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .rpm-front .rpm-event-inline-editor__inline select,
  .rpm-front .rpm-event-inline-editor__inline input,
  .rpm-front .rpm-event-inline-editor__inline2 input{
    width:100% !important;
  }

  /* Checkbox de eliminar flyer */
  .rpm-front .rpm-event-inline-editor__check{align-items:flex-start !important;}

  /* Imagen flyer */
  .rpm-front .rpm-event-inline-editor img{max-width:100% !important; height:auto !important;}

  /* Tabla accesos: scroll horizontal en mobile */
  .rpm-front .rpm-event-inline-editor__tablewrap{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    border:1px solid rgba(15,23,42,.08);
    border-radius:14px;
  }
  .rpm-front .rpm-event-inline-editor__tablewrap table{
    min-width:760px;
  }
  .rpm-front .rpm-event-inline-editor__tablewrap th,
  .rpm-front .rpm-event-inline-editor__tablewrap td{
    vertical-align:top;
  }

  /* Boton guardar full width */
  .rpm-front .rpm-event-inline-editor .rpm-actions .rpm-btn{
    width:100% !important;
  }
}


/* Update 354: Courtesy email modal (organizer-only) */
.rpm-courtesy-modal{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(0,0,0,.68);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.rpm-courtesy-modal__inner{
  width:min(460px, 100%);
  background:#0b0b0b;
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  box-shadow:0 20px 70px rgba(0,0,0,.55);
  padding:16px;
}
.rpm-courtesy-modal__title{
  font-weight:800;
  letter-spacing:.2px;
  font-size:18px;
  margin:0 0 6px 0;
}
.rpm-courtesy-modal__desc{
  opacity:.86;
  font-size:13px;
  line-height:1.35;
  margin:0 0 12px 0;
}
.rpm-courtesy-modal__input{
  width:100% !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.06) !important;
  color:#fff !important;
  padding:12px 12px !important;
  outline:none !important;
}
.rpm-courtesy-modal__input::placeholder{ color:rgba(255,255,255,.55); }
.rpm-courtesy-modal__err{
  margin-top:10px;
  background:rgba(255,0,80,.12);
  border:1px solid rgba(255,0,80,.25);
  color:#ffd6e4;
  padding:10px 12px;
  border-radius:14px;
  font-size:13px;
}
.rpm-courtesy-modal__actions{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  margin-top:12px;
}
.rpm-btn--courtesy{
  margin-top:12px;
}

/* =======================================================================
   Update 373 — Mobile container fix (Reservas del evento)
   - Evita overflow horizontal que "encoge" la página en móviles
   - Solo estilos del contenedor/inputs/select
   ======================================================================= */

.rpm-front .rpm-dash__title{
  width:100%;
  max-width:100%;
}

/* Texto largo (títulos con emojis) debe romper líneas en móvil */
.rpm-front .rpm-dash__title h2,
.rpm-front .rpm-dash__title .rpm-sub,
.rpm-front .rpm-dash__title .rpm-sub strong{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
}

/* El switch (select) puede empujar el viewport; forzamos shrink + wrap */
.rpm-front .rpm-event-switch{
  max-width:100%;
}

@media (max-width: 640px){
  /* Clave: evita que elementos anchos expandan el layout del body */
  .rpm-front .rpm-dash__title{
    overflow-x:hidden;
  }

  /* Que el switch respete bordes del teléfono */
  .rpm-front .rpm-event-switch{
    display:flex !important;
    width:100% !important;
    margin-left:0 !important;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
  }
  .rpm-front .rpm-event-switch select.rpm-input{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  /* Inputs con URLs: que se encojan sin forzar overflow */
  .rpm-front .rpm-sharebox__row,
  .rpm-front .rpm-sharebox__input{
    max-width:100% !important;
  }
  .rpm-front .rpm-sharebox__input{
    min-width:0 !important;
  }
}

/* ==========================================================
   SoundOffMX: RP Dashboard visual upgrade (CSS only)
   Encapsulado: solo afecta la página con [rpm_rp_dashboard]
   ========================================================== */

/* Dashboard wrapper: define palette vars (safe defaults) */
.rpm-front.rpm-wrap--dash{
  --so-card: #F8F9FA;
  --so-ink: #0b1220;
  --so-muted: rgba(11,18,32,.66);
}

/* Make cards feel more "3D" without touching markup */
.rpm-front.rpm-wrap--dash .rpm-card,
.rpm-front.rpm-wrap--dash .rpm-tablewrap,
.rpm-front.rpm-wrap--dash .rpm-filters,
.rpm-front.rpm-wrap--dash .rpm-kpi{
  box-shadow: 0 10px 26px rgba(2,6,23,.06) !important;
  border-color: rgba(15,23,42,.10) !important;
}

/* Dashboard actions: grid like SoundOff cards (desktop + mobile) */
.rpm-front.rpm-wrap--dash .rpm-dash__actions{
  display:grid !important;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  gap: 14px !important;
  margin-top: 14px !important;
}

@media (max-width: 720px){
  .rpm-front.rpm-wrap--dash .rpm-dash__actions{
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
}

/* Only style dashboard toggle buttons (no functional buttons elsewhere) */
.rpm-front.rpm-wrap--dash .rpm-dash__actions .rpm-btn[data-rpm-toggle]{
  background: var(--so-card) !important;
  color: var(--so-ink) !important;
  border: 1px solid rgba(15,23,42,.12) !important;
  border-radius: 18px !important;
  padding: 18px 14px !important;
  min-height: 120px;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  text-align: center !important;
  white-space: normal !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  box-shadow: 0 12px 26px rgba(2,6,23,.07) !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}

/* Icon box */
.rpm-front.rpm-wrap--dash .rpm-dash__actions .rpm-btn[data-rpm-toggle]::before{
  content: "";
  width: 60px;
  height: 60px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(15,23,42,.04);
  box-shadow: inset 0 0 0 1px rgba(15,23,42,.06);
  color: var(--so-clr, #38bdf8);
  font-size: 26px;
  line-height: 1;
}

.rpm-front.rpm-wrap--dash .rpm-dash__actions .rpm-btn[data-rpm-toggle]:hover{
  transform: translateY(-4px);
  background: #0f172a !important;
  border-color: rgba(255,255,255,.22) !important;
  color: #fff !important;
  box-shadow: 0 18px 40px rgba(2,6,23,.18) !important;
}

.rpm-front.rpm-wrap--dash .rpm-dash__actions .rpm-btn[data-rpm-toggle]:hover::before{
  background: var(--so-clr, #38bdf8);
  color: #fff;
  box-shadow: 0 0 16px var(--so-glow, rgba(56,189,248,.45));
}

.rpm-front.rpm-wrap--dash .rpm-dash__actions .rpm-btn[data-rpm-toggle]:focus-visible{
  outline: 3px solid rgba(56,189,248,.45);
  outline-offset: 3px;
}

/* Per-button colors + icons (no external libs needed) */
.rpm-front.rpm-wrap--dash .rpm-dash__actions .rpm-btn[data-rpm-toggle="events"]{--so-clr:#38bdf8; --so-glow: rgba(56,189,248,.45);} 
.rpm-front.rpm-wrap--dash .rpm-dash__actions .rpm-btn[data-rpm-toggle="events"]::before{content:"📅";}

.rpm-front.rpm-wrap--dash .rpm-dash__actions .rpm-btn[data-rpm-toggle="create_event"]{--so-clr:#4ade80; --so-glow: rgba(74,222,128,.40);} 
.rpm-front.rpm-wrap--dash .rpm-dash__actions .rpm-btn[data-rpm-toggle="create_event"]::before{content:"➕";}

.rpm-front.rpm-wrap--dash .rpm-dash__actions .rpm-btn[data-rpm-toggle="report"]{--so-clr:#fbbf24; --so-glow: rgba(251,191,36,.45);} 
.rpm-front.rpm-wrap--dash .rpm-dash__actions .rpm-btn[data-rpm-toggle="report"]::before{content:"📈";}

.rpm-front.rpm-wrap--dash .rpm-dash__actions .rpm-btn[data-rpm-toggle="refunds"]{--so-clr:#fb7185; --so-glow: rgba(251,113,133,.40);} 
.rpm-front.rpm-wrap--dash .rpm-dash__actions .rpm-btn[data-rpm-toggle="refunds"]::before{content:"💸";}

.rpm-front.rpm-wrap--dash .rpm-dash__actions .rpm-btn[data-rpm-toggle="rps"]{--so-clr:#f472b6; --so-glow: rgba(244,114,182,.40);} 
.rpm-front.rpm-wrap--dash .rpm-dash__actions .rpm-btn[data-rpm-toggle="rps"]::before{content:"👥";}

.rpm-front.rpm-wrap--dash .rpm-dash__actions .rpm-btn[data-rpm-toggle="coupons"]{--so-clr:#a78bfa; --so-glow: rgba(167,139,250,.40);} 
.rpm-front.rpm-wrap--dash .rpm-dash__actions .rpm-btn[data-rpm-toggle="coupons"]::before{content:"🏷️";}

.rpm-front.rpm-wrap--dash .rpm-dash__actions .rpm-btn[data-rpm-toggle="logs"]{--so-clr:#60a5fa; --so-glow: rgba(96,165,250,.40);} 
.rpm-front.rpm-wrap--dash .rpm-dash__actions .rpm-btn[data-rpm-toggle="logs"]::before{content:"🧾";}

/* Keep titles readable across themes */
.rpm-front.rpm-wrap--dash .rpm-dash__title h2{color: var(--so-ink) !important;}
.rpm-front.rpm-wrap--dash .rpm-sub{color: var(--so-muted) !important;}


/* =======================================================================
   Update 2026-02-06 (UI-only)
   1) Dashboard organizer action buttons horizontal on desktop
   2) [rpm_proximos_eventos] full-width container on desktop
   ======================================================================= */

/* 1) Dashboard actions: keep buttons in one horizontal row on desktop */
@media (min-width: 721px){
  .rpm-dash__actions{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    padding-bottom:2px;
  }
  .rpm-dash__actions .rpm-btn{
    flex:0 0 auto !important;
    width:auto !important;
    white-space:nowrap;
  }
}

/* 2) [rpm_proximos_eventos]: full width on desktop (same breakout approach as dashboard) */
@media (min-width: 992px){
  .rpm-wrap.rpm-proximos{
    max-width:none !important;
    width:min(1840px, calc(100vw - 40px));
    position:relative;
    left:50%;
    transform:translateX(-50%);
    margin:18px 0;
    padding:0 12px;
    overflow-x:clip;
  }
}

/* =======================================================================
   Hotfix 2026-02-06b (UI-only)
   - Corrige layout de botones del dashboard en desktop (organizador)
   - Mantiene [rpm_proximos_eventos] full-width en desktop
   ======================================================================= */

/* 1) Dashboard organizer/admin: el bloque de botones debe ocupar TODO el ancho en PC */
@media (min-width: 721px){
  .rpm-front.rpm-wrap--dash .rpm-dash__top{
    display:block !important;
  }
  .rpm-front.rpm-wrap--dash .rpm-dash__title{
    margin-bottom:12px !important;
  }
  .rpm-front.rpm-wrap--dash .rpm-dash__actions{
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)) !important;
    gap:12px !important;
    justify-items:stretch !important;
    align-items:stretch !important;
    margin-top:12px !important;
  }
  .rpm-front.rpm-wrap--dash .rpm-dash__actions .rpm-btn[data-rpm-toggle]{
    width:100% !important;
  }
}

/* 2) [rpm_proximos_eventos]: full-width real en PC */
@media (min-width: 992px){
  .rpm-front.rpm-wrap.rpm-proximos{
    max-width:none !important;
    width:min(1840px, calc(100vw - 40px));
    position:relative;
    left:50%;
    transform:translateX(-50%);
    margin:18px 0;
    padding:0 12px;
    overflow-x:clip;
  }
}


/* ------------------------------------------------------------
   Private event toggle (create/edit/landing inline editor)
   Fixes giant checkbox on mobile + clarifies copy
------------------------------------------------------------- */
.rpm-private-toggle{
  margin-top:2px;
  border:1px solid rgba(15,23,42,.10);
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(248,250,252,.95));
  border-radius:14px;
  padding:12px;
}
.rpm-private-toggle__label{
  display:flex !important;
  align-items:flex-start !important;
  gap:12px;
  margin:0 !important;
  cursor:pointer;
}
.rpm-field .rpm-private-toggle__label > input[type="checkbox"]{
  -webkit-appearance:none;
  appearance:none;
  width:22px !important;
  min-width:22px;
  max-width:22px;
  height:22px;
  min-height:22px;
  margin:1px 0 0 0;
  padding:0 !important;
  border-radius:7px;
  border:2px solid rgba(15,23,42,.35) !important;
  background:#fff !important;
  box-shadow:none !important;
  position:relative;
  flex:0 0 22px;
}
.rpm-field .rpm-private-toggle__label > input[type="checkbox"]::after{
  content:"";
  position:absolute;
  left:6px;
  top:2px;
  width:5px;
  height:11px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg) scale(0);
  transition:transform .14s ease;
}
.rpm-field .rpm-private-toggle__label > input[type="checkbox"]:checked{
  background:linear-gradient(180deg, #2563eb, #1d4ed8) !important;
  border-color:#1d4ed8 !important;
}
.rpm-field .rpm-private-toggle__label > input[type="checkbox"]:checked::after{
  transform:rotate(45deg) scale(1);
}
.rpm-field .rpm-private-toggle__label > input[type="checkbox"]:focus-visible{
  outline:2px solid rgba(37,99,235,.30);
  outline-offset:2px;
}
.rpm-private-toggle__copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.rpm-private-toggle__title{
  font-weight:800;
  color:#0f172a;
  line-height:1.2;
}
.rpm-private-toggle__subtitle{
  font-size:12px;
  line-height:1.3;
  color:rgba(15,23,42,.62);
}
.rpm-private-toggle__help{
  margin-top:8px;
  padding-top:8px;
  border-top:1px dashed rgba(15,23,42,.10);
  font-size:12px;
  line-height:1.35;
  color:rgba(15,23,42,.72);
}
@media (max-width: 520px){
  .rpm-private-toggle{padding:13px;}
  .rpm-private-toggle__title{font-size:14px;}
  .rpm-private-toggle__subtitle,
  .rpm-private-toggle__help{font-size:12.5px;}
}


/* Landing CTA legal/operational note (visual only) */
.rpm-legal-note{margin-top:10px;padding:10px 12px;border:1px solid rgba(15,23,42,.10);border-radius:12px;background:rgba(15,23,42,.03);font-size:11.5px;line-height:1.42;color:rgba(15,23,42,.72);text-align:left}.rpm-legal-note strong{color:#0f172a;font-weight:700}@media (max-width:520px){.rpm-legal-note{font-size:11px;padding:10px 11px;line-height:1.4}}


/* External ticket email gate (landing/form) */
.rpm-extgate-wrap{ margin-top: 10px; }
.rpm-extgate-trigger{ box-shadow: 0 12px 26px rgba(15,23,42,.14); }
.rpm-extgate-note{
  margin-top:8px;
  font-size:12px;
  line-height:1.4;
  color:rgba(15,23,42,.72);
  background:rgba(15,23,42,.03);
  border:1px solid rgba(15,23,42,.08);
  border-radius:12px;
  padding:8px 10px;
}
.rpm-extgate-card{
  margin-top:10px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:14px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
  padding:12px;
  box-shadow: 0 14px 30px rgba(15,23,42,.08);
}
.rpm-extgate-head{ margin-bottom:10px; }
.rpm-extgate-kicker{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(37,99,235,.20);
  background:rgba(37,99,235,.06);
  color:#1d4ed8;
  font-weight:700;
  font-size:11px;
}
.rpm-extgate-title{
  margin-top:8px;
  color:#0f172a;
  font-weight:800;
  line-height:1.2;
  font-size:15px;
}
.rpm-extgate-sub{
  margin-top:4px;
  font-size:12px;
  line-height:1.4;
  color:rgba(15,23,42,.70);
}
.rpm-extgate-form{ margin:0; }
.rpm-extgate-field label{
  display:block;
  margin:0 0 6px;
  color:#0f172a;
  font-weight:700;
  font-size:12px;
}
.rpm-extgate-field .rpm-input,
.rpm-extgate-field input[type="email"]{
  width:100%;
}
.rpm-extgate-consent{
  margin:10px 0 0;
  padding:9px 10px;
  border:1px solid rgba(37,99,235,.14);
  border-radius:10px;
  background:rgba(37,99,235,.04);
  color:rgba(15,23,42,.78);
  font-size:12px;
  line-height:1.35;
}
.rpm-extgate-consent strong{ color:#0f172a; }
.rpm-extgate-check{
  margin:10px 0 0;
  display:flex;
  align-items:flex-start;
  gap:8px;
  cursor:pointer;
  color:rgba(15,23,42,.82);
  font-size:13px;
  line-height:1.35;
}
.rpm-extgate-check input[type="checkbox"]{
  margin-top:2px;
  flex:0 0 auto;
}
.rpm-extgate-actions{
  margin-top:10px;
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.rpm-extgate-actions .rpm-btn{ flex: 1 1 220px; justify-content:center; }
.rpm-extgate-actions .rpm-extgate-skip{ flex: 0 0 auto; }
.rpm-extgate-privacy{
  margin-top:8px;
  padding-top:8px;
  border-top:1px dashed rgba(15,23,42,.10);
  font-size:11.5px;
  line-height:1.35;
  color:rgba(15,23,42,.64);
}
@media (max-width: 520px){
  .rpm-extgate-card{ padding:11px; }
  .rpm-extgate-title{ font-size:14px; }
  .rpm-extgate-actions .rpm-btn{ width:100%; flex:1 1 100%; }
  .rpm-extgate-actions .rpm-extgate-skip{ order:2; }
}


/* === Update 381: Landing dark mode + premium gallery visuals (event landing only) === */
/* Event landing only (standalone): dark shell without touching business logic */
body.rpm-standalone .rpm-placepage{
  color:#e6edf7;
}
body.rpm-standalone .rpm-placepage .rpm-placecard{
  background:
    radial-gradient(900px 340px at 15% 0%, rgba(59,130,246,.12), transparent 65%),
    radial-gradient(700px 280px at 90% 8%, rgba(236,72,153,.08), transparent 70%),
    rgba(8,12,20,.82);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 26px 60px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(12px) saturate(115%);
}
body.rpm-standalone .rpm-placepage .rpm-card{
  background:rgba(8,12,20,.78);
  border-color:rgba(255,255,255,.10);
  box-shadow:0 16px 34px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.03);
}
body.rpm-standalone .rpm-placepage .rpm-card__header{
  border-bottom-color:rgba(255,255,255,.08);
}
body.rpm-standalone .rpm-placepage .rpm-card__header h2,
body.rpm-standalone .rpm-placepage .rpm-card__header h3,
body.rpm-standalone .rpm-placepage .rpm-placehero__title,
body.rpm-standalone .rpm-placepage .rpm-sharebox__label{
  color:#f8fbff;
}
body.rpm-standalone .rpm-placepage .rpm-card__header p,
body.rpm-standalone .rpm-placepage .rpm-placehero__desc,
body.rpm-standalone .rpm-placepage .rpm-placehero__desc *{
  color:rgba(230,237,247,.86);
}
body.rpm-standalone .rpm-placepage .rpm-mini,
body.rpm-standalone .rpm-placepage .rpm-muted,
body.rpm-standalone .rpm-placepage .rpm-hint,
body.rpm-standalone .rpm-placepage .rpm-footnote,
body.rpm-standalone .rpm-placepage .rpm-ssl-badge,
body.rpm-standalone .rpm-placepage .rpm-card__header .rpm-muted{
  color:rgba(230,237,247,.72) !important;
}

/* Hero */
body.rpm-standalone .rpm-placepage .rpm-placehero{
  background:linear-gradient(180deg, rgba(255,255,255,.01), rgba(255,255,255,0));
}
body.rpm-standalone .rpm-placepage .rpm-placehero__media{
  background:rgba(3,7,13,.85);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 22px 42px rgba(0,0,0,.32);
}
body.rpm-standalone .rpm-placepage .rpm-placehero__media:after{
  background:
    linear-gradient(180deg, rgba(2,6,12,0) 34%, rgba(2,6,12,.58) 100%),
    linear-gradient(0deg, rgba(59,130,246,.08), rgba(59,130,246,0));
}
body.rpm-standalone .rpm-placepage .rpm-placebadge{
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.10);
  color:rgba(248,250,252,.92);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}

/* Buttons on landing */
body.rpm-standalone .rpm-placepage .rpm-btn--ghost{
  background:rgba(255,255,255,.03) !important;
  color:#f8fbff !important;
  border-color:rgba(255,255,255,.14) !important;
}
body.rpm-standalone .rpm-placepage .rpm-btn--ghost:hover{
  background:rgba(255,255,255,.07) !important;
  border-color:rgba(255,255,255,.20) !important;
}
body.rpm-standalone .rpm-placepage .rpm-btn--organizer{
  color:#eff6ff !important;
  background:linear-gradient(135deg, rgba(59,130,246,.24), rgba(37,99,235,.10)) !important;
  border-color:rgba(96,165,250,.34) !important;
  box-shadow:0 16px 34px rgba(30,64,175,.20);
}
body.rpm-standalone .rpm-placepage .rpm-btn--organizer:hover{
  background:linear-gradient(135deg, rgba(59,130,246,.28), rgba(37,99,235,.12)) !important;
  border-color:rgba(147,197,253,.44) !important;
  box-shadow:0 18px 38px rgba(30,64,175,.26);
}

/* Share links / external blocks */
body.rpm-standalone .rpm-placepage .rpm-sharebox{
  background:rgba(255,255,255,.02);
  border-color:rgba(255,255,255,.14);
}

/* Reservation form "sheet" in dark mode */
body.rpm-standalone .rpm-placepage .rpm-placeform{
  border-top-color:rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,0));
}
body.rpm-standalone .rpm-placepage .rpm-placeform .rpm-card{
  background:rgba(6,10,17,.78);
  border-color:rgba(255,255,255,.10);
}
body.rpm-standalone .rpm-placepage .rpm-field label{
  color:rgba(241,245,249,.90);
}
body.rpm-standalone .rpm-placepage .rpm-field input,
body.rpm-standalone .rpm-placepage .rpm-field select,
body.rpm-standalone .rpm-placepage .rpm-field textarea,
body.rpm-standalone .rpm-placepage .rpm-input,
body.rpm-standalone .rpm-placepage .rpm-readonly{
  background:rgba(255,255,255,.03);
  color:#f8fbff;
  border-color:rgba(255,255,255,.14);
}

/* Safari desktop: make date input text/icon visible on dark landing */
body.rpm-standalone .rpm-placepage input[type="date"]{
  color-scheme: dark;
  -webkit-text-fill-color:#f8fbff;
}
body.rpm-standalone .rpm-placepage input[type="date"]::-webkit-datetime-edit,
body.rpm-standalone .rpm-placepage input[type="date"]::-webkit-datetime-edit-fields-wrapper,
body.rpm-standalone .rpm-placepage input[type="date"]::-webkit-datetime-edit-text,
body.rpm-standalone .rpm-placepage input[type="date"]::-webkit-datetime-edit-month-field,
body.rpm-standalone .rpm-placepage input[type="date"]::-webkit-datetime-edit-day-field,
body.rpm-standalone .rpm-placepage input[type="date"]::-webkit-datetime-edit-year-field{
  color:#f8fbff;
}
body.rpm-standalone .rpm-placepage input[type="date"]::-webkit-calendar-picker-indicator{
  filter: invert(1);
  opacity: .85;
}

body.rpm-standalone .rpm-placepage .rpm-readonly{
  background:rgba(255,255,255,.04);
}
body.rpm-standalone .rpm-placepage .rpm-field input::placeholder,
body.rpm-standalone .rpm-placepage .rpm-field textarea::placeholder,
body.rpm-standalone .rpm-placepage .rpm-input::placeholder{
  color:rgba(226,232,240,.52);
}
body.rpm-standalone .rpm-placepage .rpm-field input:focus,
body.rpm-standalone .rpm-placepage .rpm-field select:focus,
body.rpm-standalone .rpm-placepage .rpm-field textarea:focus,
body.rpm-standalone .rpm-placepage .rpm-input:focus{
  border-color:rgba(96,165,250,.55);
  box-shadow:0 0 0 4px rgba(59,130,246,.15);
}

/* Access list card styling in landing form */
body.rpm-standalone .rpm-placepage .rpm-access-item{
  background:rgba(255,255,255,.02);
  border-color:rgba(255,255,255,.10);
}
body.rpm-standalone .rpm-placepage .rpm-access-sline,
body.rpm-standalone .rpm-placepage .rpm-access-total{
  color:rgba(248,250,252,.92);
}
body.rpm-standalone .rpm-placepage .rpm-access-specs{
  color:rgba(226,232,240,.70);
}
body.rpm-standalone .rpm-placepage .rpm-access-left input[type=checkbox]{
  background:rgba(255,255,255,.02);
  border-color:rgba(255,255,255,.25);
}
body.rpm-standalone .rpm-placepage .rpm-access-left input[type=checkbox]:checked{
  border-color:rgba(96,165,250,.95);
  background:rgba(59,130,246,.14);
}

/* Alerts + QR block readability on dark */
body.rpm-standalone .rpm-placepage .rpm-alert{
  color:rgba(248,250,252,.95);
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
}
body.rpm-standalone .rpm-placepage .rpm-alert--success{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.34);}
body.rpm-standalone .rpm-placepage .rpm-alert--danger{background:rgba(239,68,68,.10);border-color:rgba(239,68,68,.30);}
body.rpm-standalone .rpm-placepage .rpm-alert--warning{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.34);}
body.rpm-standalone .rpm-placepage .rpm-qrbox{
  background:rgba(255,255,255,.02);
  border-color:rgba(255,255,255,.16);
}

/* Embedded YouTube / Spotify on landing */
body.rpm-standalone .rpm-placepage .rpm-media-embed{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  padding:8px;
  box-shadow:0 14px 28px rgba(0,0,0,.18);
}
body.rpm-standalone .rpm-placepage .rpm-media-embed iframe,
body.rpm-standalone .rpm-placepage .rpm-media-embed .wp-embedded-content{
  border-radius:12px;
  overflow:hidden;
  background:rgba(0,0,0,.25);
}


/* Dark landing: inline editor 'Tipos de acceso' table readability */
body.rpm-standalone .rpm-placepage .rpm-tablewrap--edit-access{
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  overflow:hidden;
  background:rgba(255,255,255,.02);
}
body.rpm-standalone .rpm-placepage .rpm-tablewrap--edit-access table,
body.rpm-standalone .rpm-placepage .rpm-access-types-table{
  background:transparent !important;
  color:#f8fbff;
}
body.rpm-standalone .rpm-placepage .rpm-tablewrap--edit-access table thead th,
body.rpm-standalone .rpm-placepage .rpm-access-types-table thead th{
  background:rgba(255,255,255,.04) !important;
  color:rgba(248,250,252,.92) !important;
  border-color:rgba(255,255,255,.10) !important;
}
body.rpm-standalone .rpm-placepage .rpm-tablewrap--edit-access table td,
body.rpm-standalone .rpm-placepage .rpm-tablewrap--edit-access table th,
body.rpm-standalone .rpm-placepage .rpm-access-types-table td,
body.rpm-standalone .rpm-placepage .rpm-access-types-table th{
  background:transparent !important;
  color:rgba(241,245,249,.92) !important;
  border-color:rgba(255,255,255,.08) !important;
}
body.rpm-standalone .rpm-placepage .rpm-tablewrap--edit-access table td::before{
  color:rgba(226,232,240,.78) !important;
}
body.rpm-standalone .rpm-placepage .rpm-tablewrap--edit-access table input[type="text"],
body.rpm-standalone .rpm-placepage .rpm-tablewrap--edit-access table input[type="number"],
body.rpm-standalone .rpm-placepage .rpm-tablewrap--edit-access table select,
body.rpm-standalone .rpm-placepage .rpm-access-types-table input[type="text"],
body.rpm-standalone .rpm-placepage .rpm-access-types-table input[type="number"],
body.rpm-standalone .rpm-placepage .rpm-access-types-table select{
  background:rgba(255,255,255,.03) !important;
  color:#f8fbff !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:10px;
}
body.rpm-standalone .rpm-placepage .rpm-tablewrap--edit-access table input[type="checkbox"]{
  accent-color:#3b82f6;
}
body.rpm-standalone .rpm-placepage .rpm-tablewrap--edit-access table input::placeholder{
  color:rgba(226,232,240,.50);
}
body.rpm-standalone .rpm-placepage .rpm-tablewrap--edit-access table .rpm-btn--ghost,
body.rpm-standalone .rpm-placepage .rpm-access-types-table .rpm-btn--ghost{
  background:rgba(255,255,255,.03) !important;
  color:#f8fbff !important;
  border-color:rgba(255,255,255,.14) !important;
}
body.rpm-standalone .rpm-placepage .rpm-tablewrap--edit-access table .rpm-btn--ghost:hover,
body.rpm-standalone .rpm-placepage .rpm-access-types-table .rpm-btn--ghost:hover{
  background:rgba(255,255,255,.07) !important;
  border-color:rgba(255,255,255,.20) !important;
}

/* === Hotfix: dark landing readability for access types / coupon / legal note (mobile) === */
body.rpm-standalone .rpm-placepage .rpm-access-name,
body.rpm-standalone .rpm-placepage .rpm-access-sub,
body.rpm-standalone .rpm-placepage .rpm-access-total,
body.rpm-standalone .rpm-placepage .rpm-access-totalrow,
body.rpm-standalone .rpm-placepage .rpm-access-totalrow strong,
body.rpm-standalone .rpm-placepage .rpm-access-totalrow strong *,
body.rpm-standalone .rpm-placepage .rpm-access-summary,
body.rpm-standalone .rpm-placepage .rpm-coupon,
body.rpm-standalone .rpm-placepage .rpm-coupon__status,
body.rpm-standalone .rpm-placepage .rpm-legal-note{
  color:#f8fbff;
}

body.rpm-standalone .rpm-placepage .rpm-access-price{
  color:rgba(248,250,252,.92) !important;
}
body.rpm-standalone .rpm-placepage .rpm-access-label{
  color:rgba(226,232,240,.72) !important;
}
body.rpm-standalone .rpm-placepage .rpm-access-cap{
  color:rgba(226,232,240,.78) !important;
}
body.rpm-standalone .rpm-placepage .rpm-access-summary{
  background:rgba(255,255,255,.025);
  border-color:rgba(255,255,255,.14);
}

/* Qty select inside access card (not covered by generic .rpm-field selectors) */
body.rpm-standalone .rpm-placepage .rpm-access-qtyselect,
body.rpm-standalone .rpm-placepage .rpm-access-right .rpm-access-qty,
body.rpm-standalone .rpm-placepage .rpm-access-right select,
body.rpm-standalone .rpm-placepage .rpm-access-right input{
  background-color:rgba(255,255,255,.03) !important;
  color:#f8fbff !important;
  border-color:rgba(255,255,255,.14) !important;
}
body.rpm-standalone .rpm-placepage .rpm-access-qtyselect{
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(226,232,240,.70) 50%),
    linear-gradient(135deg, rgba(226,232,240,.70) 50%, transparent 50%),
    linear-gradient(to right, transparent, transparent) !important;
}
body.rpm-standalone .rpm-placepage .rpm-access-qtyselect option{
  background:#0b1220;
  color:#f8fbff;
}

/* Coupon box & discount input in dark landing */
body.rpm-standalone .rpm-placepage .rpm-coupon{
  background:rgba(255,255,255,.025) !important;
  border-color:rgba(255,255,255,.12) !important;
}
body.rpm-standalone .rpm-placepage .rpm-coupon .rpm-mini,
body.rpm-standalone .rpm-placepage .rpm-coupon label{
  color:rgba(241,245,249,.88) !important;
}
body.rpm-standalone .rpm-placepage .rpm-coupon__controls input{
  background:rgba(255,255,255,.03) !important;
  color:#f8fbff !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:10px;
}
body.rpm-standalone .rpm-placepage .rpm-coupon__controls input::placeholder{
  color:rgba(226,232,240,.52) !important;
}
body.rpm-standalone .rpm-placepage .rpm-coupon__status{
  background:rgba(255,255,255,.03);
  border-color:rgba(255,255,255,.10);
}
body.rpm-standalone .rpm-placepage .rpm-coupon__status.is-error,
body.rpm-standalone .rpm-placepage .rpm-coupon-status.is-error{
  color:#fee2e2;
}
body.rpm-standalone .rpm-placepage .rpm-coupon__status.is-success,
body.rpm-standalone .rpm-placepage .rpm-coupon-status.is-success{
  color:#d1fae5;
}

/* Totals block and helper copy */
body.rpm-standalone .rpm-placepage .rpm-access-tlabel{
  color:rgba(226,232,240,.80) !important;
}
body.rpm-standalone .rpm-placepage [data-rpm-access-total],
body.rpm-standalone .rpm-placepage [data-rpm-coupon-discount],
body.rpm-standalone .rpm-placepage [data-rpm-coupon-total],
body.rpm-standalone .rpm-placepage [data-rpm-access-qty]{
  color:#f8fbff !important;
}

/* Legal note card near CTA */
body.rpm-standalone .rpm-placepage .rpm-legal-note{
  background:rgba(255,255,255,.025) !important;
  border-color:rgba(255,255,255,.10) !important;
  color:rgba(230,237,247,.82) !important;
}
body.rpm-standalone .rpm-placepage .rpm-legal-note strong{
  color:#f8fbff !important;
}


/* ------------------------------------------------------------
   Loading overlay (post-auth / submit)
   - Shown while the system restores + submits the reservation
   - Portaled to <body> by JS to avoid iOS/Safari clipping
   ------------------------------------------------------------ */
.rpm-loading-overlay{
  position:fixed;
  inset:0;
  z-index:100500;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 18px calc(env(safe-area-inset-bottom) + 18px);
  background:rgba(0,0,0,.55);
  -webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px);
}
.rpm-loading-overlay.is-hidden{display:none !important;}
.rpm-loading-card{
  width:min(420px, calc(100vw - 36px));
  background:rgba(255,255,255,.96);
  border:1px solid rgba(15,23,42,.12);
  border-radius:18px;
  box-shadow:0 18px 45px rgba(0,0,0,.18);
  padding:16px 16px 14px;
  text-align:center;
}
.rpm-loading-title{
  font-weight:900;
  font-size:13px;
  letter-spacing:-.01em;
  color:rgba(15,23,42,.92);
  margin-top:10px;
}
.rpm-loading-desc{
  margin-top:6px;
  font-size:12px;
  line-height:1.35;
  color:rgba(15,23,42,.70);
}
.rpm-spinner{
  width:34px;
  height:34px;
  border-radius:999px;
  border:3px solid rgba(15,23,42,.16);
  border-top-color:rgba(15,23,42,.65);
  margin:0 auto;
  animation:rpmSpin .85s linear infinite;
}
@keyframes rpmSpin{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}
