:root {
  /* --brand: #FF385C; */
  --brand: #222222;
  /* --brand: #FF385C; */
  --bg-btn: #222222;
  --text-btn: #FFFFFF;
  --text-content: #222222;
  /* --bg-brd: #; */
}
.d-none{
  display:none;
}
.d-flex{
  display:flex;
}
.rbl-errors { background: #FEE; border:1px solid #F99; padding:12px; border-radius:8px; margin-bottom:16px; }
.nPageClass{
  color: #0d7fdc;
}
#rblMailBody p{
  margin:0;
  padding:0;
  margin-block-start:0;
  margin-block-end:0;
}
.rbl_mailbox_item { position: relative; }
.rbl_btn_icon{
appearance:none; border:0; background:transparent; padding:6px; border-radius:8px; cursor:pointer;
}
.rbl_btn_icon:hover{ background:#f1f1f1; }
.rbl_mail_actions{ opacity:.0; transition:opacity .15s ease; }
.rbl_mailbox_item:hover .rbl_mail_actions{ opacity:1; } /* aparecen al hover */
.rbl_mailbox_item.unread .rbl_mailbox_subject{ font-weight:700; color:#FF385C; }

.rbl_menu_item_email button.rbl_menu_item_email_item{
  width:100%; text-align:left; background:#fff; border:0; padding:8px 10px; border-radius:8px; cursor:pointer;font-size: 14px;color: var(--text-content);
}
.rbl_menu_item_email button.rbl_menu_item_email_item:hover{ background:var(--bg-btn); color: var(--text-btn); }
  
/* -------------------------
   Reset and Base Styles
------------------------- */
.rbl_account_body {
  /* font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif !important; */
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;

  font-size: 16px;
  line-height: 1.5;
  color: #333333;
  background-color: #fff;
  font-weight: 300;
  width:100%;
  margin: auto;
  padding: 0; 
  /* min-width: 481px; */
}
.rbl_account_dashboard-container h1, 
.rbl_account_dashboard-container h2, 
.rbl_account_dashboard-container h3, 
.rbl_account_dashboard-container h4, 
.rbl_account_dashboard-container h5, 
.rbl_account_dashboard-container h6,
.rbl_account_dashboard-container p, 
.rbl_account_dashboard-container ul, 
.rbl_account_dashboard-container ol, 
.rbl_account_dashboard-container figure,
.rbl_account_dashboard-container blockquote, 
.rbl_account_dashboard-container dl, 
.rbl_account_dashboard-container dd {
  margin: 0;
  padding: 0;
}

/* Manejo de fuente, colores, separacion y grosor de textos */
.rbl_account_dashboard-container h1, 
.rbl_account_dashboard-container h2, 
.rbl_account_dashboard-container h3, 
.rbl_account_dashboard-container h4, 
.rbl_account_dashboard-container h5, 
.rbl_account_dashboard-container h6 {
  margin: 0 0 1em 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 400;
  line-height: 1.2;
  color: #1e1e1e;
}

.rbl_account_dashboard-container ul, 
.rbl_account_dashboard-container ol {
  list-style: none;
}

.rbl_account_dashboard-container a {
  text-decoration: underline;
  /* color: inherit; */
}
.rbl_account_dashboard-container a.elementor-button{
  color: #FFF;
}

.rbl_account_dashboard-container .rbl_account_ocultar-scroll {
  scrollbar-width: none;     /* Firefox */
  -ms-overflow-style: none;  /* Internet Explorer 10+ */
}

.rbl_account_dashboard-container .rbl_account_ocultar-scroll::-webkit-scrollbar {
  display: none;             /* Chrome, Safari, Opera */
}

.rbl_account_dashboard-container .rbl_account_account-section{
  box-sizing:border-box;
}
/* -------------------------
   Main Container
------------------------- */
.rbl_account_dashboard-container {
  background-color: #ffffff;
  border-radius: 16px;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.15);
  width: 100%;
  max-width: 1200px;
  margin: 20px auto;
  min-height: 85dvh;
  display: flex;
  overflow: hidden;
  padding: 0;
}

/* -------------------------
   Sidebar
------------------------- */
.rbl_account_dashboard-container .rbl_account_sidebar {
  width: 300px;
  background-color: #fff;
  border-right: 1px solid #e5e5e5;
  display: flex;
  flex-direction: column;
}
.rbl_account_dashboard-container .rbl_account_profile-header {
  display: flex;
  align-items: center;
  padding: 30px;
  border-bottom: 1px solid #e5e5e5;
}
.rbl_account_dashboard-container .rbl_account_avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background-color: var(--bg-btn);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 26px;
  color: #FFFFFF;
  margin-right: 15px;
}
@media screen and (max-width:1450px){
  .rbl_account_dashboard-container .rbl_account_avatar {
    height: 53px;
  }
}
.rbl_account_dashboard-container .rbl_account_profile-info p {
  margin: 0;
}
.rbl_account_dashboard-container .rbl_account_profile-info .rbl_account_name {
  font-weight: bold;
  font-size: 18px;
  color: var(--text-content);
}
.rbl_account_dashboard-container .rbl_account_profile-info .rbl_account_role {
  font-size: 14px;
  color: #888;
}


/* -------------------------
   rbl_account_Sidebar rbl_account_Menu
------------------------- */
.rbl_account_dashboard-container .rbl_account_menu {
  display: flex;
  flex-direction: column;
  margin-top: 10px;
}
.rbl_account_dashboard-container .rbl_account_menu button {
  background: none;
  border: none;
  padding: 18px 25px;
  text-align: left;
  font-size: 16px;
  color: #444;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.rbl_account_dashboard-container .rbl_account_menu button:hover {
  background-color: #fafafa;
}
.rbl_account_dashboard-container .rbl_account_menu button.active {
  background-color: #fafafa;
  border-left: 5px solid var(--brand);
  color: var(--brand);
  font-weight: 600;
  outline: none;
}

/* -------------------------
   Main Content Area
------------------------- */
.rbl_account_dashboard-container .rbl_account_main-content {
  flex: 1;
  padding: 40px;
  display: flex;
  flex-direction: column;
  animation: fadeIn 0.3s ease-in-out;
  position: relative;
  /*height: 80dvh; */
}
.rbl_account_dashboard-container .rbl_account_main-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}
.rbl_account_dashboard-container .rbl_account_main-header h1 {
  font-size: 36px;
  color: var(--text-content);
  font-weight: bold;
}
.rbl_account_dashboard-container .rbl_account_main-header button {
  background-color: #f7f7f7;
  color: var(--text-content);
  border: 1px solid #ccc;
  padding: 10px 18px;
  border-radius: 10px;
  cursor: pointer;
  font-size: 15px;
  transition: all 0.2s ease;
}
.rbl_account_dashboard-container .rbl_account_main-header button:hover {
  background-color: #f0f0f0;
  border-color: #bbb;
}

/* -------------------------
   User Info Section
------------------------- */
.rbl_account_dashboard-container .rbl_account_user-section {
  display: flex;
  gap: 30px;
  margin-bottom: 20px;
  width: 100%;
}
.rbl_account_dashboard-container .rbl_account_user-card {
  flex: 0 0 35%;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
}
.rbl_account_dashboard-container .rbl_account_user-card-large{
  box-shadow: 0 0px 0px #000;
}
.rbl_account_dashboard-container .rbl_account_user-card-large .rbl_account_change_photo_btn{
  margin-top:-5%;
}
.rbl_account_dashboard-container .rbl_account_avatar-large {
  width: 100px;
  height: 100px;
  background: var(--bg-btn);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  margin-bottom: 15px;
}
.rbl_account_dashboard-container .rbl_account_avatar-large-large {
  font-size: 55px;
  width: 150px;
  height: 150px;
}
.rbl_account_dashboard-container .rbl_account_user-card .rbl_account_username {
  font-size: 22px;
  font-weight: bold;
  color: #333;
  margin-bottom: 5px;
}
.rbl_account_dashboard-container .rbl_account_user-card .rbl_account_user-role {
  font-size: 14px;
  color: #888;
}
.rbl_account_dashboard-container .rbl_account_user-details-panel {
  flex: 1;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.rbl_account_dashboard-container .rbl_account_user-details-panel .rbl_account_detail {
  margin-bottom: 15px;
}
.rbl_account_dashboard-container .rbl_account_user-details-panel .rbl_account_detail label {
  font-weight: bold;
  color: #555;
  display: block;
}
.rbl_account_dashboard-container .rbl_account_user-details-panel .rbl_account_detail span {
  color: #777;
  font-size: 15px;
}

/* -------------------------
   Edit Profile Form
------------------------- */
.rbl_account_dashboard-container input[type="text"],
.rbl_account_dashboard-container input[type="email"],
.rbl_account_dashboard-container input[type="password"] {
    width: 100%;
    padding: 10px;
    font-size: 15px;
    border: 1px solid #ccc;
    border-radius: 6px;
}
.rbl_account_dashboard-container input[type="checkbox"] {
    margin-right: 6px;
}
.rbl_account_dashboard-container input[type="text"],
.rbl_account_dashboard-container input[type="number"],
.rbl_account_dashboard-container input[type="email"],
.rbl_account_dashboard-container input[type="password"],
.rbl_account_dashboard-container textarea {
  width: 100%;
  padding: 10px 12px;
  font-size: 15px;
  border: 1px solid #ccc;
  border-radius: 8px;
  box-sizing: border-box;
}

.rbl_account_dashboard-container input[type="text"]:focus,
.rbl_account_dashboard-container input[type="number"]:focus,
.rbl_account_dashboard-container input[type="email"]:focus,
.rbl_account_dashboard-container input[type="password"]:focus,
.rbl_account_dashboard-container textarea:focus {
  border-color: #008489;
  outline: none;
}

.rbl_account_dashboard-container .rbl_account_form-section {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  padding: 20px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow-y: auto;
/* max-height: calc(75dvh - 160px); */
}
.rbl_account_dashboard-container .rbl_account_form-section label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
  color: #555;
}
.rbl_account_dashboard-container .rbl_account_form-section input {
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 14px;
}
.rbl_account_dashboard-container .rbl_account_form-buttons {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
}
.rbl_account_dashboard-container .rbl_account_form-buttons button {
  flex: 1;
  background-color: #2e2e2e;
  color: #fff;
  border: none;
  padding: 10px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 15px;
  transition: background-color 0.2s;
}
.rbl_account_dashboard-container .rbl_account_form-buttons button:hover {
  background-color: #3d3d3d;
}
.rbl_account_dashboard-container .rbl_account_form-buttons .cancel-btn {
  background-color: #aaa;
}
.rbl_account_dashboard-container .rbl_account_form-buttons .cancel-btn:hover {
  background-color: #888;
}

/* -------------------------
   Section General
------------------------- */
.rbl_account_dashboard-container .rbl_account_section {
  display: none;
  width: 100%;
}
.rbl_account_dashboard-container .rbl_account_section.active {
  display: flex;
  flex-direction: column;
}

/* -------------------------
   Mini User Card
------------------------- */
.rbl_account_dashboard-container .rbl_account_mini-user-card {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 5px rgba(0,0,0,0.1);
  display: flex;
  align-items: center;
  padding: 10px;
  margin-bottom: 20px;
}
.rbl_account_dashboard-container .rbl_account_mini-user-card .rbl_account_avatar-mini {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--bg-btn);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  margin-right: 10px;
}
.rbl_account_dashboard-container .rbl_account_mini-user-card .rbl_account_user-info {
  display: flex;
  flex-direction: column;
}

/* -------------------------
   Scrollable Bookings List
------------------------- */
.rbl_account_dashboard-container .rbl_account_bookings-list {
  overflow-y: auto;
  max-height: calc(87dvh - 160px);
}
/* When the booking list template is rendered inside the dashboard, cancel its
   standalone page layout so it aligns with the other sections. */
.rbl_account_dashboard-container .rbl-my-bookings-wrapper {
  max-width: none;
  margin: 0;
  padding: 0;
}
.rbl_account_dashboard-container .rbl-my-bookings-title {
  font-size: 36px !important;
  font-weight: bold !important;
  color: var(--text-content, #1e1e1e) !important;
  margin-bottom: 30px !important;
}
.rbl_account_dashboard-container .rbl_account_menu button{
  margin-top:0;
  border-radius:0px;
}
/* -------------------------
   Responsive Behavior
------------------------- */
@media (max-width: 1220px) {
  .rbl_account_dashboard-container {
    /* width: calc(100% - 20px); */
    margin: 10px auto;
  }
  .rbl_account_dashboard-container .rbl_account_main-content {
    padding: 20px;
  }
}

@media (max-width: 992px) {
  .rbl_account_dashboard-container {
    flex-direction: column;
    width: 100%;
    margin: 0;
    min-height: 95dvh;
    border-radius: 0;
  }
  .rbl_account_dashboard-container .rbl_account_bookings-list {
    max-height: none;
    overflow-y: visible;
  }
  .rbl_account_dashboard-container .rbl_account_form-section {
    /* background:red; */
    /* padding: 20px; */
    /* width: 100%; */
    /* max-width: 100%; */
    /* box-sizing: border-box; */
    max-height: 65dvh;
    /* padding-top:50px; */
    /* padding-bottom:70px; */
    /* overflow-y: auto; */
  }
  .rbl_account_dashboard-container .rbl_account_sidebar {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #e5e5e5;
  }
  .rbl_account_dashboard-container .rbl_account_menu {
    flex-direction: row;
    justify-content: space-around;
  }
  .rbl_account_dashboard-container .rbl_account_menu button {
    flex: 1;
    text-align: center;
    border-left: none;
    padding: 14px 8px;
    font-size: 14px;
  }
  /* Replace left-border indicator with bottom-border on horizontal menu */
  .rbl_account_dashboard-container .rbl_account_menu button.active {
    border-left: none;
    border-bottom: 3px solid var(--brand);
    padding-bottom: 11px; /* compensate for 3px border so height stays consistent */
  }
  .rbl_account_dashboard-container .rbl_account_main-content {
    width:100%;
    padding: 20px;
    box-sizing:border-box;
  }
}

/* -------------------------
   Mobile mailbox layout
------------------------- */
@media (max-width: 640px) {
  /* ── Tab bar: wrap so buttons don't overflow ── */
  .rbl_mail_tabs {
    flex-wrap: wrap !important;
    gap: 6px !important;
    padding: 10px 0 0 !important;
  }
  /* Inbox / Sent tabs share left space equally */
  .rbl_mail_tabs .rbl_tabbtn {
    flex: 1 1 auto;
    text-align: center;
    min-width: 0;
  }
  /* "Send email" button drops to its own full-width row */
  .rbl_mail_tabs .rbl_tabbtn_email {
    flex: 1 1 100%;
    text-align: center;
    float: none !important;
    margin-left: 0 !important;
  }

  /* ── Email list items: block layout with date on top ── */

  /* Switch to block so inline display:flex doesn't fight us.
     padding needs !important because the base .rbl_mailbox_item rule
     at line ~848 comes AFTER this media query in source order and would
     otherwise win despite the @media condition (same specificity). */
  .rbl_mailbox_item {
    display: block !important;
    position: relative;
    padding: 10px 62px 10px 12px !important; /* 62px right = 34px btn + 10px gap + 18px breathing room */
  }

  /* Date: small muted line at the top */
  .rbl_mailbox_item .rbl_mailbox_header {
    display: block !important;
    width: auto !important;
    margin-bottom: 3px;
  }
  .rbl_mailbox_item .rbl_mailbox_date b {
    font-size: 13px;
    font-weight: 500;
    color: #999;
    white-space: nowrap;
  }

  /* Meta: full width block below date */
  .rbl_mailbox_item .rbl_mailbox_meta {
    display: block !important;
    width: auto !important;
    padding-left: 0 !important;
  }

  /* Button: absolute top-right, z-index ensures the dropdown paints
     above subsequent list items (stacking order, not overflow clipping) */
  .rbl_mailbox_item .rbl_more {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    z-index: 10;
  }

  /* Subject: clamp to 2 lines — no mid-word breaks */
  .rbl_mailbox_subject {
    font-size: 13px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: normal;
    overflow-wrap: normal;
  }

  /* Body preview: clamp to 2 lines, break bare URLs */
  .rbl_mailbox_body {
    font-size: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    overflow-wrap: break-word;
    word-break: break-all;
  }

  /* Kebab button sizing/positioning already handled by the global rule above */

  /* Always show the kebab on touch (no hover on mobile) */
  .rbl_mail_actions {
    opacity: 1 !important;
  }
}
@media (max-width: 768px) {
  .rbl_account_dashboard-container .rbl_account_main-header {
    margin-bottom: 10px;
  }
  .rbl_account_dashboard-container .rbl_account_bookings-list {
    max-height: none;
    overflow-y: visible;
  }
  .rbl_account_dashboard-container .rbl_account_user-section {
    flex-direction: column;
    gap: 20px;
  }

  .rbl_account_dashboard-container .rbl_account_user-card,
  .rbl_account_dashboard-container .rbl_account_user-details-panel {
    max-width: 100%;
    flex: none;
  }

  .rbl_account_dashboard-container .rbl_account_form-section {
    padding: 20px;
    width: 100%;
    box-sizing: border-box;
    /* max-height: calc(70dvh - 160px); */
  }

  .rbl_account_dashboard-container .rbl_account_main-content {
    padding-bottom:30px;
  }
  .rbl_account_dashboard-container{
    padding-bottom:30px;
    min-height: 95dvh;
    border-radius: 0;
    margin:0;
    width:100%;
  }

  .rbl_account_dashboard-container .rbl_account_main-header {
    display:block;
    text-align:left;
  }
  .rbl_account_dashboard-container .rbl_account_main-header h1{
    margin-bottom:15px;
    text-align:left;
  }
}


.rbl_account_dashboard-container .profile-message {
  padding: 12px 18px;
  border-radius: 8px;
  margin-bottom: 15px;
  font-size: 15px;
  text-align: center;
  display: none; /* Oculto por defecto */
}

.rbl_account_dashboard-container .profile-message.success {
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

.rbl_account_dashboard-container .profile-message.error {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}


.rbl_account_dashboard-container #change-password-btn{
  margin-bottom:25px;
}
.rbl_account_dashboard-container .d-none{
  display: none;
}
.rbl_account_dashboard-container #rbl_account_current_password,
.rbl_account_dashboard-container #rbl_account_confirm_new_password{
  margin-bottom:0;
}
.rbl_account_dashboard-container label[for="rbl_account_new_password"]{
  margin-top:15px;
}
.rbl_account_dashboard-container .rbl_account_password_match_status,
.rbl_account_dashboard-container .rbl_account_current_password_status ,
.rbl_account_dashboard-container #rbl_account_password_strength_status , 
.rbl_account_dashboard-container #rbl_account_password_match_status {
  display:block;  
  margin-bottom: 15px; 
  font-size: 14px;
}
.rbl_account_dashboard-container .rbl_account_current_password_status_success,
.rbl_account_dashboard-container .rbl_account_password_match_status_success{
  color:green;
}
.rbl_account_dashboard-container .rbl_account_current_password_status_error,
.rbl_account_dashboard-container .rbl_account_current_password_status_errorT,
.rbl_account_dashboard-container .rbl_account_password_match_status_error {
  color:red;
}

.rbl_account_dashboard-container .rbl_account_profile_image {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

.rbl_account_dashboard-container .rbl_account_change_photo_btn {
  background-color: #f7f7f7;
  color: var(--text-content);
  border: 1px solid #ccc;
  padding: 8px 12px;
  border-radius: 11px;
  cursor: pointer;
  font-size: 12px;
  margin-top: 10px;
}

.rbl_account_dashboard-container .rbl_account_change_photo_btn:hover {
  background-color: #f0f0f0;
  border-color: #bbb;
}

/* Estilo base de la scrollbar */
.rbl_account_custom_scrollbar::-webkit-scrollbar {
  width: 7px; /* ancho de la barra vertical */
  height: 7px; /* alto de la barra horizontal */
}

/* Track (fondo de la barra) */
.rbl_account_custom_scrollbar::-webkit-scrollbar-track {
  /* background: #f1f1f1; color de fondo */
  background: none; /* color de fondo */
  border-radius: 10px;
}

/* Thumb (la parte que se mueve) */
.rbl_account_custom_scrollbar::-webkit-scrollbar-thumb {
  background: #a7a7a7; /* color de la barra */
  border-radius: 10px; /* esquinas redondeadas */
}


#rbl_account_cropper_modal{
  display:none;
  position: fixed;
  top: 0;
  left: 0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.7);
  justify-content:center;
  align-items:center;
  /* z-index:999; */
}
#rbl_account_block_cropper_modal{
  background:#fff;
  padding:20px;
  border-radius:10px;
  max-width:90%;
  max-height:90%;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#rbl_account_block_cropper_modal h3{
  margin-bottom:10px;
}
#rbl_account_content_cropper_image{
  max-width:100%;
  max-height:90%;
  overflow:hidden;
}
#rbl_account_cropper_image{
  max-width:100%;
}
#rbl_account_cropper_buttons{
  margin-top:10px;
  text-align:right;
}
#rbl_account_cropper_buttons #rbl_account_cropper_save{
  background: #2e2e2e;
  color: #FFF;
}
#change-password-btn,
#rbl_account_suggest_password_btn {
  background-color: #f7f7f7;
  color: var(--text-content);
  border-color: #bbbbbb;
}
#change-password-btn:hover,
#rbl_account_suggest_password_btn:hover{
  cursor: pointer;
  background-color: #f0f0f0;
  border-color: #bbbbbb;
}
input[disabled],
input[disabled]:hover{
  cursor: default;
  background:#fafafa;
}

.rbl_mailbox {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  /* padding:5px 20px; */
  padding:5px;
}
.rbl_mailbox_list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.rbl_mailbox_item {
  border-bottom: 1px solid #eee;
  padding: 12px 10.5px;
  justify-content: space-between;
  padding-right: 18px;
}
.rbl_mailbox_item:hover,
.rbl_mailbox_item.unread:hover {
  background:#F5F5F5;
  cursor: pointer;
}
.rbl_mailbox_item:last-child {
  border-bottom: none;
}

/* Kebab (⋯) button in email list rows — desktop + mobile.
   Sits at the end of each row. Uses a subtle circular grey pill so it reads
   as interactive without stealing visual focus from the email content.
   Customizer background/border overrides are neutralised; the brand colour
   is used only for the icon glyph via color. */
.rbl_mailbox_item .rbl_more .rbl_btn_icon.button-primary-modal {
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  background: rgba(0, 0, 0, 0.06) !important;
  border: none !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
  color: var(--bg-btn, #555) !important;
  transition: background 0.15s ease !important;
  box-shadow: none !important;
}
.rbl_mailbox_item .rbl_more .rbl_btn_icon.button-primary-modal:hover,
.rbl_mailbox_item .rbl_more .rbl_btn_icon.button-primary-modal:active {
  background: rgba(0, 0, 0, 0.13) !important;
}
.rbl_mailbox_item.unread{
    background: #FDFDFD;
    font-weight: 500;
}
.rbl_mailbox_item.unread .rbl_mailbox_subject {
  font-weight: bold;
  color: var(--brand);
}
.rbl_mailbox_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.rbl_mailbox_subject {
  font-size: 15px;
}
.rbl_mailbox_date {
  font-size: 12px;
  color: #888;
}
.rbl_mailbox_body {
  margin-top: 0.5px;
  font-size: 14px;
  color: #7b7e83;      
}
.rbl_mailbox_empty {
  text-align: center;
  color: #777;
  padding: 20px 0;
}
.rbl_mailbox_from, .rbl_mailbox_to{
  font-size: .7em;
}

/* ===== Mail View ===== */
.rbl-mail-view{
  --rbl-mail-bg:#ffffff;
  --rbl-mail-text:#1f1f1f;
  --rbl-mail-muted:#6b7280;
  --rbl-mail-border:#e5e7eb;
  --rbl-mail-accent:var(--brand);

  background: var(--rbl-mail-bg);
  color: var(--rbl-mail-text);
  border: 1px solid var(--rbl-mail-border);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 340px;
}

/* Top bar */
.rbl-mail-topbar{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid var(--rbl-mail-border);
  background:#fafafa;
}
.rbl-mail-back{
  appearance:none;
  border:1px solid var(--rbl-mail-border);
  background:#fff;
  padding:8px 12px;
  border-radius:10px;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  transition:transform .06s ease, background .15s ease, border-color .15s ease;
}
.rbl-mail-back:hover{
  background:#f7f7f7;
  border-color:#d1d5db;
}
.rbl-mail-back:active{
  transform:translateY(1px);
}
.rbl-mail-back:focus{
  outline:2px solid var(--rbl-mail-accent);
  outline-offset:2px;
}

/* Header */
.rbl-mail-header{
  padding:18px 18px 10px 18px;
}
.rbl-mail-subject{
  font-size:22px;
  line-height:1.25;
  font-weight:800;
  color: var(--rbl-mail-accent);
  margin-bottom:10px;
  word-break:break-word;
}
.rbl-mail-meta{
  display:grid;
  grid-template-columns: 1fr 1fr auto;
  gap:10px 16px;
  align-items:center;
  padding-bottom:8px;
  border-bottom:1px solid var(--rbl-mail-border);
}
.rbl-mail-from,
.rbl-mail-to,
.rbl-mail-datetime{
  font-size:14px;
  color: var(--rbl-mail-muted);
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.rbl-meta-label{
  color:#374151;
  font-weight:700;
}

/* Body */
.rbl-mail-body{
  padding:16px 18px 22px 18px;
  font-size:16px;
  line-height:1.6;
  color:#111827;
  white-space:pre-wrap;          /* respeta saltos de línea del texto plano */
  word-break:break-word;         /* evita desbordes por palabras largas */
  overflow:auto;
  max-height:60vh;               /* scroll si es largo */
}

/* Divider option (si quieres un separador muy sutil entre mensajes renderizados) */
.rbl-mail-body + .rbl-mail-body{
  border-top:1px dashed var(--rbl-mail-border);
}

/* Responsive */
@media (max-width: 720px){
  .rbl-mail-meta{
    grid-template-columns: 1fr;
  }
  .rbl-mail-subject{
    font-size:20px;
  }
  .rbl-mail-body{
    max-height: 55vh;
  }
}

/* Scrollbar sutil (WebKit) */
.rbl-mail-body::-webkit-scrollbar{
  width:8px;
}
.rbl-mail-body::-webkit-scrollbar-thumb{
  background:#cfd4da;
  border-radius:8px;
}
@media (prefers-color-scheme: dark){
  .rbl-mail-body::-webkit-scrollbar-thumb{
    background:#2b3240;
  }
}


/* -------------------------
   Check-in CTA banner (account section)
------------------------- */
.rbl-account-checkin-cta {
  margin-bottom: 20px;
  padding: 14px 18px;
  border: 1px solid #e0e0e0;
  border-left: 4px solid var(--brand, #2e2e2e);
  border-radius: 0 8px 8px 0;
  background: #f7f7f7;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 20px;
}
.rbl-account-checkin-cta__text {
  flex: 1 1 auto;
  min-width: 0;
}
.rbl-account-checkin-cta .rbl-account-checkin-cta__msg {
  margin: 0 0 4px 0;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  line-height: 1.5;
}
.rbl-account-checkin-cta .rbl-account-checkin-cta__sub {
  margin: 0;
  font-size: 13px;
  color: #666;
  line-height: 1.4;
}
.rbl-account-checkin-cta .rbl-button.small {
  flex-shrink: 0;
  margin-top: 0;
  padding: 8px 18px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 8px;
  white-space: nowrap;
}

.rbl-button.small,
.button-primary-modal{
  border: 1px solid var(--bg-btn);

  padding:8px 12px;
  border-radius:10px;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  transition:transform .06s ease, background .15s ease, border-color .15s ease;
  background-color: var(--bg-btn);
  color:var(--text-btn);

}
.rbl-button.small:focus,
.button-primary-modal:focus,
.rbl-button.small:active,
.button-primary-modal:active,
.rbl-button.small:hover,
.button-primary-modal:hover{
  border: 1px solid #888;
  color:#FFF;
}   
/* .rbl-button.small:active,
.rbl-mail-compose:active,
.button-primary-modal:active, */
.rbl-button.small:focus,
.rbl-mail-compose:focus,
.button-primary-modal:focus{
  border: 1px solid #888;
  color:#888;
  background-color: var(--bg-btn);
}   
/* rbl_tabbtn */
.rbl_mail_tabs {
  margin-bottom: 16px;
}
.rbl_mail_tabs .rbl_tabbtn,
.rbl_tabbtn,
.rbl_tabbtn_email{
  border:1px solid #eee;
  background:var(--bg-btn);
  color: var(--text-btn);
}

.rbl_mail_tabs .rbl_tabbtn:hover,
.rbl_tabbtn:hover,
.rbl_tabbtn_email:hover{
  border:1px solid #eee;
  /* background:var(--bg-btn); color: var(--text-btn); */
}
.rbl-mail-compose{
  --rbl-mail-bg:#ffffff;
  --rbl-mail-text:#1f1f1f;
  --rbl-mail-muted:#6b7280;
  --rbl-mail-border:#e5e7eb;
  --rbl-mail-accent:var(--brand);

  background: var(--rbl-mail-bg);
  color: var(--rbl-mail-text);
  border: 1px solid var(--rbl-mail-border);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 340px;
}
.rbl-mail-compose-body{
  padding:18px 18px 10px 18px;
}

/* #rblComposeSubject{
  border-radius: 8px 8px 0px 0px;
} */
/* #rblComposeBody{
  border-radius: 0px 0px 8px 8px;
} */
#rblComposeBody{
  border-radius: 8px;
  min-height: 70px;
}
#rblComposeSubjectLabel,
#rblComposeBodyLabel{
  margin-top:15px;
}
.disabled{
  background: #F5F5F5;
}
/* Visor del mensaje: restaurar estilos por defecto */
.rbl-mail-body { white-space: normal; } /* deja fluir el HTML */
.rbl-mail-body p { margin: 0 0 1em; }

.rbl-mail-body ul,
.rbl-mail-body ol {
  list-style: revert;      /* vuelve a disc/decimal */
  margin: 0 0 1em 1.5em;   /* identación y separación */
  padding: 0 0 0 .25em;
}

.rbl-mail-body li { margin: .25em 0; }

/* Opcional: anidadas más elegantes */
.rbl-mail-body ol ol  { list-style-type: lower-alpha; }
.rbl-mail-body ul ul  { list-style-type: circle; }

/* Citas, por si usas blockquote */
.rbl-mail-body blockquote{
  margin: 0 0 1em 1em;
  padding-left: 1em;
  border-left: 3px solid #e5e7eb;
  color: #374151;
  font-style: italic;
}
.swal2-actions bottom{
  background-color: #222 !important;
  color: #FFF !important;
}

    
.mce-widget{
  padding: 2px !important;
}

.mce-widget:hover,
.mce-widget button:hover,
.mce-widget i:hover{
  background-color: #f6f6f6 !important;
  color: #000 !important;
}
.mce-widget:hover{
  padding:1px;
  outline: none !important;
  box-shadow: none !important;
  border:1px solid #ccc !important;

}
.select2-selection.select2-selection--single{
  height: 40px !important;
  border-radius: 10px !important;
  border: 1px solid #ccc !important;
  padding: 5px 10px !important;
}
.select2-search__field{
  padding: 5px 10px !important;
  height: 30px !important;
}
.select2-selection__choice__display{
  font-size: 8px !important;
}
/* #wp-rblComposeBody-wrap .mce-edit-area iframe { min-height: 140px !important; } */