/* =========================================================
   GALERÍA MANUAL (estilo IG) - CSS COMPLETO
   ========================================================= */

/* ===== GRID TIPO INSTAGRAM ===== */
.galeria-ig-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:4px;
}

@media (min-width: 992px){
  .galeria-ig-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:6px;
  }
}

.galeria-ig-item{
  position:relative;
  border:0;
  padding:0;
  background:transparent;
  cursor:pointer;
  width:100%;
}

.galeria-ig-media{
  position:relative;
  width:100%;
  padding-top:100%;
  overflow:hidden;
  border-radius:12px;
  background:#f2f2f2;
}

.galeria-ig-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.galeria-ig-overlay{
  position:absolute;
  inset:0;
  border-radius:12px;
  background:linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0));
  opacity:0;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:10px;
  transition:opacity .18s ease;
}

.galeria-ig-item:hover .galeria-ig-overlay{ opacity:1; }

.galeria-ig-meta-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#fff;
  font-size:13px;
  font-weight:700;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(0,0,0,.35);
  backdrop-filter: blur(6px);
}


/* ================== MODAL (LOOK IG) ================== */
.galeria-ig-modal{
  position:fixed;
  inset:0;
  display:none;
  z-index:9999;
  font-family:system-ui, -apple-system, Segoe UI, Roboto, Arial;
}

.galeria-ig-modal.is-open{ display:block; }

.galeria-ig-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.75);
}

.galeria-ig-modal-dialog{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(1040px, calc(100vw - 28px));
  height:min(720px, calc(100vh - 28px));
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 18px 70px rgba(0,0,0,.45);
}

.galeria-ig-modal-close{
  position:absolute;
  right:10px;
  top:10px;
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  cursor:pointer;
  z-index:5;
}

.galeria-ig-modal-content{
  width:100%;
  height:100%;
  display:flex;
}

/* MEDIA */
.galeria-ig-modal-media{
  flex: 1 1 auto;
  background:#0b0b0b;
  display:flex;
  align-items:center;
  justify-content:center;
}

.galeria-ig-modal-media img{
  width:100%;
  height:100%;
  object-fit:contain;
}

/* SIDE */
.galeria-ig-modal-side{
  width:380px;
  flex:0 0 380px;
  background:#fff;
  display:flex;
  flex-direction:column;
  height:100%;
  border-left:1px solid #eee;
  min-height:0;
}

.galeria-ig-modal-header{
  padding:14px 14px 12px;
  border-bottom:1px solid #f0f0f0;
}

.galeria-ig-modal-user{
  display:flex;
  align-items:center;
  gap:10px;
}

.galeria-ig-modal-avatar{
  width:36px;
  height:36px;
  border-radius:999px;
  background:#111;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:12px;
  letter-spacing:.02em;
}

.galeria-ig-modal-userinfo strong{
  display:block;
  font-size:14px;
  line-height:1.15;
}

.galeria-ig-modal-location{
  display:block;
  margin-top:2px;
  font-size:12px;
  color:#6b7280;
}

.galeria-ig-modal-body{
  padding:14px;
  overflow:auto;
  -webkit-overflow-scrolling: touch;
  flex:1 1 auto;
  min-height:0;
}

.galeria-ig-modal-title{
  margin:0 0 10px;
  font-size:16px;
  font-weight:800;
  letter-spacing:-0.01em;
  line-height:1.25;
}

.galeria-ig-modal-desc-wrap{
  margin:0;
  font-size:14px;
  line-height:1.45;
  color:#222;
}

.galeria-ig-modal-desc{
  display:-webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;  /* colapsado */
  overflow:hidden;
}

.galeria-ig-modal.is-expanded .galeria-ig-modal-desc{
  -webkit-line-clamp: unset;
}

.galeria-ig-modal-toggle{
  display:inline-flex;
  border:0;
  background:transparent;
  padding:0;
  margin-top:8px;
  color:#00458a;
  font-weight:800;
  cursor:pointer;
}

.galeria-ig-modal-ref{
  margin-top:12px;
  font-size:13px;
  color:#4b5563;
}

/* FOOTER sticky (CTAs siempre visibles) */
.galeria-ig-modal-footer{
  padding:12px 14px 14px;
  border-top:1px solid #f0f0f0;
  background:#fff;
}

.galeria-ig-modal-cta{
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* ===== BOTONES: acabado más profesional ===== */
.galeria-btn{
  width:100%;
  min-height:46px;
  padding:12px 14px;
  border-radius:14px;
  font-weight:800;
  font-size:14px;
  letter-spacing:-0.01em;
  text-decoration:none;

  border:1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 26px rgba(0,0,0,.10);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease, background-color .15s ease, border-color .15s ease;
  user-select:none;
  -webkit-tap-highlight-color: transparent;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.galeria-btn:focus-visible{
  outline: 3px solid rgba(0,69,138,.25);
  outline-offset: 2px;
}

.galeria-btn:active{
  transform: translateY(1px) scale(0.99);
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}

/* Hover solo en dispositivos con ratón */
@media (hover: hover) and (pointer: fine){
  .galeria-btn:hover{
    transform: translateY(-1px);
    box-shadow:0 16px 36px rgba(0,0,0,.14);
  }
}

.galeria-btn-primary{
  background: linear-gradient(180deg, #1a1a1a, #0b0b0b);
  border-color: rgba(0,0,0,.55);
  color:#fff;
}

.galeria-btn-whatsapp{
  background: linear-gradient(180deg, #2fe070, #1fbf5a);
  border-color: rgba(0,0,0,.08);
  color:#fff;
}

.galeria-btn-secondary{
  background:#fff;
  border-color: rgba(0,0,0,.10);
  color:#111;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}

@media (hover: hover) and (pointer: fine){
  .galeria-btn-whatsapp:hover{ filter: brightness(.98) saturate(.95); }
  .galeria-btn-primary:hover{ filter: brightness(1.04); }
  .galeria-btn-secondary:hover{ filter: brightness(.99); }
}

.galeria-ig-modal-note{
  margin:10px 0 0;
  font-size:12px;
  line-height:1.35;
  color:#6b7280;
}

/* ===== MOBILE: full screen, columna, scroll real ===== */
@media (max-width: 768px){
  .galeria-ig-modal-dialog{
    left:0;
    top:0;
    transform:none;
    width:100vw;
    height:100vh;
    border-radius:0;
  }

  .galeria-ig-modal-content{
    flex-direction:column;
  }

  .galeria-ig-modal-media{
    flex:0 0 auto;
    height:44vh;
  }

  .galeria-ig-modal-side{
    width:100%;
    flex:1 1 auto;
    border-left:0;
    border-top:1px solid #eee;
    min-height:0;
  }
}
