/* Original Lives V0.36.5 — SOLO CSS. Perfil ligeramente más grande sin cambios de funciones, JS ni API. */

/* Ventana: 700px en escritorio, punto intermedio entre las versiones 0.36.3 y 0.36.4. */
.ol-contacts-overlay .ol-contacts-dialog{
  width:min(700px,100%);
  max-height:min(840px,calc(100dvh - 24px));
  border-radius:22px;
  border-color:rgba(166,116,230,.59);
  box-shadow:0 27px 82px rgba(0,0,0,.74),0 0 27px rgba(123,56,209,.13),inset 0 1px rgba(255,255,255,.08);
}
.ol-contacts-dialog .ol-contacts-top{
  min-height:55px;
  padding:10px 16px;
  border-bottom-color:rgba(142,107,187,.34);
}
.ol-contacts-dialog .ol-contacts-top strong{font-size:14px}
.ol-contacts-dialog .ol-modal-sparkle{font-size:21px;margin-right:3px}
.ol-contacts-dialog .ol-contacts-close{min-width:36px;height:36px;padding:5px 9px;border-radius:9px}
.ol-contacts-dialog .ol-contacts-content{padding:13px 15px 16px}

/* Identidad: foto y banner más pequeños */
.ol-contacts-content .ol-contact-profile-head{
  min-height:112px;
  padding:13px 15px;
  column-gap:13px;
  row-gap:11px;
  margin-bottom:11px;
  border-radius:17px;
  border-color:rgba(172,117,235,.42);
  box-shadow:inset 0 1px rgba(255,255,255,.08),0 9px 20px rgba(0,0,0,.12);
}
.ol-contacts-content .ol-contact-profile-head:before{width:160px;height:160px;right:-45px;top:-43px;opacity:.58}
.ol-contacts-content .ol-contact-profile-head:after{opacity:.34}
.ol-contacts-content .ol-contact-avatar{
  width:74px;height:74px;
  min-width:74px;
  border-radius:17px;
  border-width:1.5px;
  box-shadow:0 0 0 2px rgba(142,67,255,.10),0 0 13px rgba(156,63,255,.32);
  font-size:28px;
}
.ol-contacts-content .ol-contact-names{gap:3px}
.ol-contacts-content .ol-contact-names strong{font-size:clamp(18px,2.45vw,23px);line-height:1.14;letter-spacing:-.03em}
.ol-contacts-content .ol-contact-names span{font-size:13px;line-height:1.25}
.ol-contacts-content .ol-owner-tag{font-size:11px;padding:5px 10px;border-radius:999px}
.ol-contacts-content .ol361-profile-medallions{gap:4px;margin-top:4px}
.ol-contacts-content .ol361-medallion{width:32px;height:32px;min-width:32px}
.ol-contacts-content .ol361-medallion-face{width:25px;height:25px}
.ol-contacts-content .ol361-medallion-icon{font-size:10px}

/* Bandera de familia sigue siendo clicable, solo ocupa menos espacio. */
.ol-contacts-content .ol-contact-profile-head .ol-v23-family-flag{min-height:88px}
.ol-contacts-content .ol-v23-flag-cloth{gap:7px;padding:12px 20px 11px 13px}
.ol-contacts-content .ol-v23-flag-crest{flex-basis:44px;width:44px;height:44px;border-radius:11px}
.ol-contacts-content .ol-v23-flag-crown{font-size:22px}
.ol-contacts-content .ol-v23-flag-name{font-size:clamp(12px,1.7vw,16px)}
.ol-contacts-content .ol-v23-flag-label{font-size:8px}
.ol-contacts-content .ol-v23-flag-link{font-size:9px}

/* Estado/biografía, que antes aún conservaba padding !important grande. */
.ol-contacts-content .ol-contact-bio{
  margin:0 0 9px!important;
  padding:11px 13px 11px 38px!important;
  border-radius:12px;
  font-size:13.5px;
  line-height:1.45;
  border-color:rgba(83,158,207,.39);
  background:linear-gradient(120deg,rgba(18,35,59,.95),rgba(24,23,56,.8));
}
.ol-contacts-content .ol-contact-bio:before{left:11px;top:6px;font-size:27px}
.ol-contacts-content .ol-v20-no-family{margin:4px 0 8px;font-size:11px}

/* Controles: Info / Acciones / Lazos */
.ol-contacts-content .ol355-profile-tools,
.ol-contacts-content .ol357-profile-tools,
.ol-contacts-content .ol358-profile-tools{gap:6px;margin:8px 0}
.ol-contacts-content .ol355-profile-button,
.ol-contacts-content .ol357-profile-tools .ol355-profile-button,
.ol-contacts-content .ol358-profile-tools .ol355-profile-button,
.ol-contacts-content .ol361-profile-toggle{
  min-width:0;
  min-height:38px;
  padding:8px 12px;
  border-radius:10px;
  font-size:12px;
  font-weight:750;
  box-shadow:none;
}
.ol-contacts-content .ol357-actions-panel:not([hidden]){padding:7px;gap:6px!important;margin-bottom:9px!important}
.ol-contacts-content .ol357-actions-panel>.ol-contact-btn{min-height:34px!important;padding:7px 9px!important;font-size:11px!important}

/* Información y estadísticas */
.ol-contacts-content .ol356-info-holder{margin:0 0 8px}
.ol-contacts-content .ol-contact-stats{gap:6px!important;margin:0 0 9px!important}
.ol-contacts-content .ol-contact-stats>*{
  min-height:48px;
  gap:5px;
  padding:7px!important;
  border-radius:10px!important;
}
.ol-contacts-content .ol-stat-glyph{min-width:21px}
.ol-contacts-content .ol-stat-glyph svg{width:19px;height:19px}
.ol-contacts-content .ol-stat-label{font-size:10px}
.ol-contacts-content .ol-stat-number{font-size:16px}
.ol-contacts-content .ol-stat-text{gap:2px}
.ol-contacts-content .ol349-gift-history{padding:10px;margin:7px 0;border-radius:12px}
.ol-contacts-content .ol349-gift-history h3{font-size:14px;margin-bottom:8px}
.ol-contacts-content .ol349-gift-stats{gap:5px;margin-bottom:7px}
.ol-contacts-content .ol349-gift-stat{padding:7px;border-radius:9px}
.ol-contacts-content .ol349-gift-stat span{font-size:10px}
.ol-contacts-content .ol349-gift-stat strong{font-size:16px}
.ol-contacts-content .ol349-gift-history h4{font-size:12px;margin:10px 0 6px}

/* Álbum: miniaturas pequeñas, sin estirar por todo el ancho. */
.ol-contacts-content .ol358-album-visible{margin:4px 0 10px}
.ol-contacts-content .ol-v20-gallery{
  padding:12px;
  margin:0 0 10px;
  border-radius:13px;
  border-color:rgba(165,113,223,.38);
  background:linear-gradient(140deg,rgba(39,23,68,.85),rgba(22,17,46,.75));
}
.ol-contacts-content .ol-v20-gallery-top{gap:6px;margin-bottom:9px}
.ol-contacts-content .ol-v20-gallery h3{font-size:14px}
.ol-contacts-content .ol-v20-photo-count{font-size:11px;padding:3px 7px}
.ol-contacts-content .ol358-upload-toggle{min-height:31px;padding:5px 9px;border-radius:8px;font-size:11px}
.ol-contacts-content .ol-v20-gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(92px,114px));
  gap:7px;
  justify-content:start;
}
.ol-contacts-content .ol-v20-photo-tile,
.ol-contacts-content .ol-v20-photo-empty{
  width:100%;
  min-height:0;
  aspect-ratio:auto;
  border-radius:9px;
}
.ol-contacts-content .ol-v20-photo-tile img{width:100%;height:108px;min-height:0;flex:0 0 auto;object-fit:cover}
.ol-contacts-content .ol-v20-photo-empty{min-height:108px}
.ol-contacts-content .ol-v20-photo-actions{padding:3px;gap:2px}
.ol-contacts-content .ol-v20-photo-actions button{min-height:25px;padding:3px 4px;font-size:10px;border-radius:5px}
.ol-contacts-content .ol-v20-current{font-size:10px;line-height:1.25}
.ol-contacts-content .ol-v20-gallery-toolbar{margin-top:7px;gap:6px}

/* Los mejores amigos, muro y Lazos también disminuyen de tamaño visual. */
.ol-contacts-content .ol-top8-card{margin-top:11px;padding:12px;border-radius:13px}
.ol-contacts-content .ol-top8-header{margin-bottom:9px;gap:8px}
.ol-contacts-content .ol-top8-header h3{font-size:15px}
.ol-contacts-content .ol-top8-counter{font-size:10px;padding:3px 7px}
.ol-contacts-content .ol-top8-grid{gap:6px}
.ol-contacts-content .ol-top8-tile{gap:3px;padding:5px 2px;border-radius:9px}
.ol-contacts-content .ol-top8-avatar{width:37px;height:37px;border-radius:8px}
.ol-contacts-content .ol-top8-placeholder{min-height:56px;border-radius:9px}
.ol-contacts-content .ol-top8-placeholder-icon svg{width:19px;height:19px}
.ol-contacts-content .ol-top8-name{font-size:9px}
.ol-contacts-content .ol-top8-manage{margin-top:8px;min-height:33px;padding:7px;font-size:11px}
.ol-contacts-content .ol-v341-wall{padding:12px;margin:11px 0 5px;border-radius:13px}
.ol-contacts-content .ol-v341-post{padding:10px;border-radius:11px}
.ol-contacts-content .ol361-profile-section{padding:10px;margin:5px 0 9px;border-radius:12px}
.ol-contacts-content .ol361-section-head{margin-bottom:8px}
.ol-contacts-content .ol361-lazo-row,
.ol-contacts-content .ol361-pending-row{padding:6px 8px;border-radius:9px}

/* Poner la tarjeta por encima de las barras inferiores de móvil sin ocupar más de la pantalla. */
@media(max-width:780px){
  .ol-contacts-content .ol-contact-profile-head{grid-template-columns:auto minmax(0,1fr);row-gap:9px}
  .ol-contacts-content .ol-contact-profile-head .ol-v23-family-flag{grid-column:1/-1;max-width:100%;margin:0}
  .ol-contacts-content .ol-contact-profile-head:not(:has(.ol-v23-family-flag)){min-height:104px}
  .ol-contacts-content .ol-top8-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:560px){
  .ol-contacts-overlay{padding:6px}
  .ol-contacts-overlay .ol-contacts-dialog{max-height:calc(100dvh - 12px);border-radius:17px}
  .ol-contacts-dialog .ol-contacts-top{padding:9px 13px;min-height:49px}
  .ol-contacts-dialog .ol-contacts-content{padding:10px 11px 13px}
  .ol-contacts-content .ol-contact-profile-head{padding:11px;gap:10px;min-height:98px;border-radius:13px}
  .ol-contacts-content .ol-contact-avatar{width:64px;height:64px;min-width:64px;border-radius:13px}
  .ol-contacts-content .ol-contact-names strong{font-size:19px}
  .ol-contacts-content .ol-contact-names span{font-size:12px}
  .ol-contacts-content .ol-owner-tag{font-size:10px;padding:4px 9px}
  .ol-contacts-content .ol355-profile-button,
  .ol-contacts-content .ol357-profile-tools .ol355-profile-button,
  .ol-contacts-content .ol358-profile-tools .ol355-profile-button,
  .ol-contacts-content .ol361-profile-toggle{min-height:36px;padding:7px 8px;font-size:11px;flex:1 1 auto}
  .ol-contacts-content .ol-contact-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ol-contacts-content .ol-v20-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(85px,102px));gap:7px}
  .ol-contacts-content .ol-v20-photo-tile img{height:97px}
  .ol-contacts-content .ol-v20-photo-empty{min-height:97px}
  .ol-contacts-content .ol-top8-header h3{font-size:13px}
  .ol-contacts-content .ol-top8-avatar{width:34px;height:34px}
}
@media(max-width:350px){
  .ol-contacts-content .ol-v20-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(78px,90px))}
  .ol-contacts-content .ol-v20-photo-tile img{height:85px}
  .ol-contacts-content .ol-v20-photo-empty{min-height:85px}
  .ol-contacts-content .ol-v20-gallery-top{flex-wrap:wrap}
}
