/* RumboCR: Red (feed + contactos). Sistema v4 "Naranja de obra" (DISENO-2026).
   Reusa perfil.css (tokens --r3-*, btn/chips/avatar/secciones/modal/toast/auth-card) */

.btn-sm{font-size:13px;padding:9px 18px}

.rd-intro{padding:6px 0 2px}
.rd-intro h1{font-family:var(--r3-head);font-size:clamp(28px,5.2vw,44px);font-weight:800;letter-spacing:-.03em;line-height:1.04;color:var(--r3-tinta)}
.rd-intro p{font-size:15.5px;color:var(--r3-gris);margin-top:12px;line-height:1.55;max-width:56ch}

/* tabs */
.rd-tabs{display:flex;gap:4px;margin-top:20px;border-bottom:1px solid var(--r3-hair);position:sticky;top:64px;z-index:5;
  background:color-mix(in srgb,#FFFFFF 92%,transparent);backdrop-filter:blur(8px)}
.rd-tab{font-family:var(--r3-head);font-size:15px;font-weight:600;color:var(--r3-gris-2);background:none;border:0;
  border-bottom:2px solid transparent;padding:12px 10px 13px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:color .13s}
.rd-tab.active{color:var(--r3-tinta);font-weight:700;border-bottom-color:var(--r3-accent)}
.rd-badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--r3-accent);color:#fff;
  font-family:var(--r3-head);font-size:11px;font-weight:700;display:none;place-items:center}
.rd-badge.show{display:inline-grid}

.rd-view{margin-top:20px}
.rd-empty{text-align:center;color:var(--r3-gris);font-size:14.5px;padding:52px 20px;line-height:1.6}
.rd-empty b{color:var(--r3-tinta);font-weight:700}

/* composer */
.composer-card{border:1px solid var(--r3-hair);border-radius:var(--r3-card);padding:18px 20px;background:var(--r3-bg);margin-bottom:16px}
.composer-card textarea{width:100%;font-family:var(--r3-body);font-size:15.5px;color:var(--r3-tinta);border:0;outline:none;
  resize:none;background:none;min-height:46px;line-height:1.55}
.composer-row{display:flex;align-items:center;gap:10px;margin-top:10px;border-top:1px solid var(--r3-hair);padding-top:13px}
.composer-row input{flex:1;min-width:0;font-family:var(--r3-body);font-size:13.5px;color:var(--r3-tinta);
  border:1px solid var(--r3-hair);border-radius:var(--r3-in);padding:10px 12px;outline:none;background:var(--r3-bg)}
.composer-row input:focus{border-color:var(--r3-accent)}

/* post */
.post{border:1px solid var(--r3-hair);border-radius:var(--r3-card);padding:20px 22px;background:var(--r3-bg);margin-bottom:14px;
  transition:border-color .15s}
.post:hover{border-color:var(--r3-gris-2)}
.post-head{display:flex;align-items:center;gap:11px}
.rd-ava{width:38px;height:38px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;color:#fff;
  font-family:var(--r3-head);font-size:15px;font-weight:800;
  background:#FF4013;background-size:cover;background-position:center;cursor:pointer;font-family:'Montserrat',system-ui,sans-serif;letter-spacing:.02em;background-size:cover;background-position:center}
.rd-ava.sm{width:30px;height:30px;font-size:13px}
.post-who{flex:1;min-width:0}
.post-name{font-family:var(--r3-head);font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--r3-tinta);cursor:pointer}
.post-name:hover{color:var(--r3-accent)}
.post-time{font-size:12px;color:var(--r3-gris-2)}
.post-text{font-size:15.5px;color:var(--r3-tinta);line-height:1.6;margin-top:12px;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}
.post-link{display:block;margin-top:12px;font-size:13.5px;color:var(--r3-accent);text-decoration:none;
  border:1px solid var(--r3-hair);border-radius:12px;padding:11px 13px;word-break:break-all;transition:border-color .13s}
.post-link:hover{background:var(--r3-bg);border-color:var(--r3-accent)}
.post-actions{display:flex;align-items:center;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--r3-hair)}
.pa-btn{display:inline-flex;align-items:center;gap:7px;font-family:var(--r3-head);font-size:13.5px;font-weight:600;
  color:var(--r3-gris);background:none;border:0;cursor:pointer;border-radius:999px;padding:8px 14px;transition:.13s}
.pa-btn:hover{background:var(--r3-bg-2);color:var(--r3-tinta)}
.pa-btn.on{color:var(--r3-accent);font-weight:700}
.pa-btn.del{margin-left:auto;color:var(--r3-gris-2)}
.pa-btn.del:hover{background:#fdeaea;color:#c0392b}

/* comentarios */
.comments{margin-top:13px;border-top:1px solid var(--r3-hair);padding-top:14px;display:flex;flex-direction:column;gap:11px}
.comment{display:flex;gap:9px}
.comment .c-body{flex:1;min-width:0;background:var(--r3-bg-2);border-radius:12px;padding:10px 14px}
.comment .c-name{font-family:var(--r3-head);font-size:12.5px;font-weight:700;color:var(--r3-tinta)}
.comment .c-text{font-size:13.5px;color:var(--r3-gris);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.comment-form{display:flex;gap:9px;align-items:center}
.comment-form input{flex:1;font-family:var(--r3-body);font-size:13.5px;color:var(--r3-tinta);border:1px solid var(--r3-hair);
  border-radius:999px;padding:10px 16px;outline:none;background:var(--r3-bg)}
.comment-form input:focus{border-color:var(--r3-accent)}

/* directorio + solicitudes */
.member,.req{display:flex;align-items:center;gap:14px;border:1px solid var(--r3-hair);border-radius:12px;
  padding:15px 18px;background:var(--r3-bg);margin-bottom:11px;transition:border-color .13s}
.member:hover,.req:hover{border-color:var(--r3-gris-2)}
.m-main{flex:1;min-width:0}
.m-name{font-family:var(--r3-head);font-size:15.5px;font-weight:700;letter-spacing:-.01em;color:var(--r3-tinta);cursor:pointer}
.m-name:hover{color:var(--r3-accent)}
.m-head{font-size:13px;color:var(--r3-gris);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m-tags{font-size:12px;color:var(--r3-gris-2);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m-actions{display:flex;gap:8px;flex-shrink:0}
.rd-search{width:100%;font-family:var(--r3-body);font-size:14.5px;color:var(--r3-tinta);border:1px solid var(--r3-hair);
  border-radius:999px;padding:12px 18px;outline:none;background:var(--r3-bg);margin-bottom:16px}
.rd-search:focus{border-color:var(--r3-accent)}
.req-label{font-family:var(--r3-head);font-size:14px;font-weight:700;text-transform:none;letter-spacing:0;
  color:var(--r3-accent);margin:24px 0 12px}
.req-label:first-child{margin-top:2px}

/* perfil público */
.rd-back{display:inline-flex;align-items:center;gap:7px;font-family:var(--r3-head);font-size:13.5px;font-weight:600;
  color:var(--r3-gris);background:none;border:0;cursor:pointer;margin-bottom:18px}
.rd-back:hover{color:var(--r3-tinta)}
.pub-head{display:flex;align-items:flex-start;gap:18px}
.pub-ava{width:78px;height:78px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;color:#fff;
  font-family:var(--r3-head);font-size:31px;font-weight:800;
  background:#FF4013;background-size:cover;background-position:center}
.pub-head .h-main{flex:1;min-width:0;padding-top:4px}
.pub-name{font-family:var(--r3-head);font-size:clamp(24px,3.4vw,32px);font-weight:800;letter-spacing:-.03em;line-height:1.06;color:var(--r3-tinta)}
.pub-headline{font-size:15.5px;color:var(--r3-gris);margin-top:6px}
.pub-loc{font-size:13px;color:var(--r3-gris-2);margin-top:4px}
.pub-connect{margin-top:16px}
.ro-section{border:1px solid var(--r3-hair);border-radius:var(--r3-card);padding:20px 22px;margin-top:16px;background:var(--r3-bg)}
.ro-section h3{font-family:var(--r3-head);font-size:17px;font-weight:800;letter-spacing:-.03em;color:var(--r3-tinta);margin-bottom:10px}
.ro-section p{font-size:14.5px;color:var(--r3-gris);line-height:1.6;white-space:pre-wrap}
.ro-row{padding:11px 0;border-top:1px solid var(--r3-hair)}
.ro-row:first-of-type{border-top:0;padding-top:0}
.ro-row .r-t{font-family:var(--r3-head);font-size:14.5px;font-weight:600;color:var(--r3-tinta)}
.ro-row .r-s{font-size:13px;color:var(--r3-gris);margin-top:2px}
.pub-posts-label{font-family:var(--r3-head);font-size:14px;font-weight:700;text-transform:none;letter-spacing:0;
  color:var(--r3-accent);margin:28px 0 12px}
.locked{text-align:center;color:var(--r3-gris);font-size:14px;padding:32px 20px;border:1px dashed var(--r3-hair);
  border-radius:12px;line-height:1.6;background:var(--r3-bg-2)}

/* Modo invitado: se ven miembros y perfiles, las acciones piden cuenta */
body.invitado #composer,
body.invitado .rd-tab[data-tab="requests"],
body.invitado .post-actions{display:none}
.rb-vacio{text-align:center;padding:48px 24px;border:1px solid var(--r3-hair,#E6E1DA);border-radius:14px;background:#fff}
.rb-vacio h3{font-family:'Montserrat',system-ui,sans-serif;font-size:20px;font-weight:800;color:#1C1614}
.rb-vacio p{margin:10px auto 20px;max-width:46ch;color:#5E574F;line-height:1.55;font-size:15px}
body.invitado #btnSignout,
body.invitado #rdSignout{display:none}
.invitadoCTA{display:none}
body.invitado .invitadoCTA{display:inline-flex}

/* Candado antidesplazamiento lateral: si algún elemento se pasa de ancho,
   la página no se puede arrastrar hacia los lados en el teléfono. */
html{overflow-x:hidden;max-width:100%}
body{overflow-x:hidden;max-width:100%;position:relative}
