/* ── ALBUM ── */
.album-layout{display:grid;grid-template-columns:200px 1fr;gap:14px}
.folder-list{display:flex;flex-direction:column;gap:3px}
.fi-item{padding:9px 11px;border-radius:9px;cursor:pointer;font-size:12.5px;font-weight:700;color:var(--muted);transition:all .12s;display:flex;align-items:center;gap:8px;border:1.5px solid transparent;-webkit-user-select:none;user-select:none}
.fi-item:hover{background:var(--dudu-soft);color:var(--dudu-dark)}
.fi-item.active{background:var(--dudu-soft);border-color:var(--dudu);color:var(--dudu-dark)}
.fi-count{font-size:10px;background:var(--border-soft);padding:1px 6px;border-radius:99px;margin-left:auto;flex-shrink:0}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:9px;align-content:start}
.ph-card{border-radius:10px;overflow:hidden;aspect-ratio:1;cursor:pointer;border:2px solid transparent;transition:all .17s;position:relative;background:var(--border-soft)}
.ph-card:hover{transform:scale(1.02);border-color:var(--dudu);box-shadow:var(--sh-md)}
.ph-card img{width:100%;height:100%;object-fit:cover;display:block}
.ph-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(45,31,20,.65),transparent);opacity:0;transition:opacity .17s;display:flex;align-items:flex-end;padding:7px}
.ph-card:hover .ph-overlay{opacity:1}
.ph-name{font-size:10.5px;font-weight:700;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.ph-actions{position:absolute;top:5px;right:5px;opacity:0;transition:opacity .17s;display:flex;gap:3px}
.ph-card:hover .ph-actions,.ph-card:focus-within .ph-actions{opacity:1}
.ph-del{width:25px;height:25px;border-radius:6px;background:rgba(255,255,255,.9);border:none;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;touch-action:manipulation}
.up-area{border:2px dashed var(--border);border-radius:var(--r);padding:32px;text-align:center;cursor:pointer;transition:all .17s}
.up-area:hover{border-color:var(--dudu);background:var(--dudu-soft)}


/* ── LIGHTBOX ── */
.lb{position:fixed;inset:0;background:rgba(10,5,2,.94);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .18s}
.lb.open{opacity:1;pointer-events:all}
.lb-img{max-width:90vw;max-height:82dvh;border-radius:9px;box-shadow:0 20px 70px rgba(0,0,0,.5);object-fit:contain}
.lb-x{position:absolute;top:14px;right:16px;background:rgba(255,255,255,.12);border:none;color:#fff;font-size:22px;cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .12s}
.lb-dl{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.28);color:#fff;padding:8px 20px;border-radius:99px;font-family:'Nunito',sans-serif;font-weight:700;font-size:12.5px;cursor:pointer;text-decoration:none;display:inline-block;white-space:nowrap}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);border:none;color:#fff;font-size:26px;cursor:pointer;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .12s;-webkit-user-select:none;user-select:none;touch-action:manipulation}
.lb-nav:hover{background:rgba(255,255,255,.2)}
.lb-prev{left:14px}.lb-next{right:14px}
.lb-cap{position:absolute;bottom:58px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.55);font-size:12px;font-family:'Nunito',sans-serif;white-space:nowrap;max-width:80vw;overflow:hidden;text-overflow:ellipsis}

/* ══ RECUERDOS ══ */
.mem-layout{display:grid;grid-template-columns:240px 1fr;gap:14px;align-items:start}
.mem-sidebar{display:flex;flex-direction:column;gap:9px}
.album-card{border-radius:14px;overflow:hidden;border:1.5px solid var(--border-soft);background:var(--card);cursor:pointer;transition:all .18s;position:relative}
.album-card:hover{border-color:var(--bubu);box-shadow:var(--sh-md);transform:translateY(-2px)}
.album-card-cover{width:100%;aspect-ratio:16/7;background:linear-gradient(135deg,var(--bubu-soft),var(--dudu-soft));overflow:hidden;position:relative}
.album-card-cover img{width:100%;height:100%;object-fit:cover}
.album-card-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:36px;opacity:.4}
.album-card-body{padding:12px 14px}
.album-card-title{font-weight:800;font-size:14px;margin-bottom:3px}
.album-card-desc{font-size:12px;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.album-card-meta{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:11px;color:var(--muted);font-weight:700}
.album-card-actions{position:absolute;top:7px;right:7px;opacity:0;transition:opacity .13s;display:flex;gap:4px}
.album-card:hover .album-card-actions{opacity:1}
.mem-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;align-content:start}
@media(max-width:780px){
    .mem-grid{
        grid-template-columns:1fr;
    }
}
/* Memory item inside album */
.mem-item-card{border-radius:13px;border:1.5px solid var(--border-soft);background:var(--card);overflow:hidden;transition:all .17s;cursor:pointer}
.mem-item-card:hover{border-color:var(--bubu);box-shadow:var(--sh-md);transform:translateY(-1px)}
.mem-item-media{width:100%;aspect-ratio:4/3;overflow:hidden;position:relative;background:var(--border-soft)}
.mem-item-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.mem-item-card:hover .mem-item-media img{transform:scale(1.03)}
.mem-item-media-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:32px;opacity:.3;background:linear-gradient(135deg,var(--bubu-soft),var(--dudu-soft))}
.mem-item-body{padding:12px 13px}
.mem-item-title{font-weight:800;font-size:13px;margin-bottom:4px}
.mem-item-story{font-size:12px;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-style:italic}
.mem-item-date{font-size:10.5px;color:var(--muted);font-weight:700;margin-top:7px}
/* ── MEMORY DETAIL OVERLAY ── */
.mem-detail-overlay{position:fixed;inset:0;background:rgba(20,10,5,.88);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .22s;padding:16px}
.mem-detail-overlay.open{opacity:1;pointer-events:all}
.mem-detail-modal{background:var(--card);border-radius:20px;max-width:860px;width:100%;max-height:88dvh;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.5);transform:scale(.93) translateY(16px);transition:transform .26s cubic-bezier(.32,1.2,.4,1);display:flex;flex-direction:column}
.mem-detail-overlay.open .mem-detail-modal{transform:scale(1) translateY(0)}
.mem-detail-inner{display:grid;grid-template-columns:1fr 1fr;flex:1;overflow:hidden;min-height:0}
.mem-detail-media{background:#1a0e00;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;min-height:280px}
.mem-detail-img{width:100%;height:100%;object-fit:cover;display:block}
.mem-detail-no-photo{font-size:64px;opacity:.2;color:#fff}
.mem-detail-info{display:flex;flex-direction:column;overflow-y:auto;padding:24px;gap:12px;-webkit-overflow-scrolling:touch}
.mem-detail-title{font-family:'Pacifico',cursive;font-size:20px;color:var(--text);line-height:1.3}
.mem-detail-date{font-size:12px;color:var(--muted);font-weight:700;display:flex;align-items:center;gap:5px}
.mem-detail-story-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-top:4px}
.mem-detail-story{font-size:14px;line-height:1.8;color:var(--text);white-space:pre-wrap;flex:1}
.mem-detail-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border-soft);flex-shrink:0;flex-wrap:wrap}
/* Card flip */
.mem-item-card{border-radius:13px;border:1.5px solid var(--border-soft);background:var(--card);overflow:hidden;transition:all .17s;cursor:pointer}
.mem-item-card:hover{border-color:var(--bubu);box-shadow:var(--sh-md);transform:translateY(-2px) scale(1.01)}
@media(max-width:640px){
  .mem-detail-inner{grid-template-columns:1fr;grid-template-rows:220px 1fr}
  .mem-detail-media{min-height:220px}
  .mem-detail-modal{max-height:92dvh}
  .mem-detail-info{padding:16px}
}
@media(max-width:780px){
  .mem-layout,.plans-layout{grid-template-columns:1fr}
  .mem-sidebar,.plans-layout>div:first-child{display:none}
  .mem-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
  .mem-detail-body{padding:16px}
  .mem-detail-img{max-height:220px}
}

/* ══════════════════════════════════════════════
   RECUERDOS — REDISEÑO MÓVIL (solo ≤780px)
   Álbumes con foto de portada, recuerdos tipo galería,
   detalle como hoja inferior. Escritorio intacto.
   ══════════════════════════════════════════════ */
@media(max-width:780px){

  /* ── Layout: una columna que nunca se sale de la pantalla ── */
  .mem-layout{grid-template-columns:minmax(0,1fr);gap:0}
  #mem-main-content{min-width:0}

  /* ── Cabecera de sección ── */
  #sec-memories .sh{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
  #sec-memories .sh>div:first-child{min-width:0}
  #sec-memories .sh .btn{border-radius:999px;padding:9px 16px;font-size:12.5px;white-space:nowrap;flex-shrink:0}

  /* ── Rejilla: 2 columnas ── */
  .mem-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}

  /* ── ÁLBUM = portada a pantalla completa con el título encima ── */
  .album-card{aspect-ratio:4/5;border:0;border-radius:22px;background:linear-gradient(145deg,var(--bubu),var(--dudu));box-shadow:var(--sh-md);isolation:isolate}
  .album-card:hover{transform:none;box-shadow:var(--sh-md)}
  .album-card:active{transform:scale(.97)}
  .album-card-cover{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;background:none}
  .album-card-cover img{width:100%;height:100%;object-fit:cover;display:block}
  .album-card-cover-placeholder{opacity:1;font-size:56px;padding-bottom:34px;background:linear-gradient(145deg,var(--bubu) 0%,var(--dudu) 100%)}
  .album-card-body{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:46px 13px 13px;background:linear-gradient(to top,rgba(45,31,20,.82) 0%,rgba(45,31,20,.45) 55%,rgba(45,31,20,0) 100%);color:#fff}
  .album-card-title{font-size:13.5px;line-height:1.25;margin:0;color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 6px rgba(0,0,0,.35)}
  .album-card-desc{display:none}
  .album-card-meta{margin-top:7px;font-size:10.5px}
  .album-card-meta span{color:#fff;background:rgba(255,255,255,.2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:3px 9px;border-radius:999px}

  /* botón editar: círculo flotante sobre la foto, siempre visible */
  .album-card-actions{top:9px;right:9px;z-index:2;opacity:1}
  .album-card-actions .ic-btn{width:34px;height:34px;padding:0!important;font-size:14px!important;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.2)}

  /* ── RECUERDOS dentro de un álbum: galería con foto protagonista ── */
  .mem-item-card{position:relative;aspect-ratio:3/4;border:0;border-radius:20px;background:linear-gradient(150deg,var(--dudu),var(--bubu));box-shadow:var(--sh-md);isolation:isolate}
  .mem-item-card:hover{transform:none;box-shadow:var(--sh-md)}
  .mem-item-card:active{transform:scale(.97)}
  .mem-item-media{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;background:none}
  .mem-item-card:hover .mem-item-media img{transform:none}
  .mem-item-media-placeholder{opacity:1;font-size:44px;padding-bottom:40px;background:linear-gradient(150deg,var(--dudu) 0%,var(--bubu) 100%)}
  .mem-item-body{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:46px 12px 12px;background:linear-gradient(to top,rgba(45,31,20,.85) 0%,rgba(45,31,20,.45) 58%,rgba(45,31,20,0) 100%);color:#fff}
  .mem-item-title{font-size:13px;line-height:1.25;margin:0;color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 6px rgba(0,0,0,.35)}
  .mem-item-story{display:none}
  .mem-item-date{margin-top:5px;font-size:10.5px;color:rgba(255,255,255,.82)}
  .mem-item-date:empty{display:none}
  /* el recuerdo más reciente, a lo grande */
  .mem-grid>.mem-item-card:first-child{grid-column:1/-1;aspect-ratio:4/3}
  .mem-grid>.mem-item-card:first-child .mem-item-title{font-size:16px}

  /* ── Cabecera dentro del álbum: ← Álbumes · + Añadir / título grande ── */
  #mem-main-content>div:empty{display:none!important}
  #mem-main-content>div:first-child:not(:empty):not(.empty){display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 10px;margin-bottom:16px!important}
  #mem-main-content>div:first-child:not(:empty):not(.empty)>:nth-child(1){grid-column:1;grid-row:1;justify-self:start}
  #mem-main-content>div:first-child:not(:empty):not(.empty)>:nth-child(3){grid-column:2;grid-row:1;margin-left:0!important}
  #mem-main-content>div:first-child:not(:empty):not(.empty)>:nth-child(2){grid-column:1/-1;grid-row:2;font-size:26px!important;line-height:1.2;overflow-wrap:anywhere}
  #mem-main-content>div:first-child:not(:empty):not(.empty) .btn{border-radius:999px;padding:9px 15px;font-size:12.5px;white-space:nowrap}

  /* ── DETALLE del recuerdo: hoja inferior ── */
  .mem-detail-overlay{align-items:flex-end;padding:0;background:rgba(45,31,20,.72)}
  .mem-detail-modal{position:relative;max-width:none;width:100%;max-height:92dvh;border-radius:26px 26px 0 0;transform:translateY(100%);transition:transform .32s cubic-bezier(.32,1,.4,1);box-shadow:0 -12px 50px rgba(0,0,0,.35)}
  .mem-detail-overlay.open .mem-detail-modal{transform:translateY(0)}
  .mem-detail-modal::before{content:'';position:absolute;top:9px;left:50%;width:42px;height:5px;margin-left:-21px;border-radius:99px;background:rgba(255,255,255,.75);z-index:3;box-shadow:0 1px 4px rgba(0,0,0,.25)}
  .mem-detail-inner{display:block;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .mem-detail-media{flex-shrink:0;min-height:0;aspect-ratio:4/3;max-height:46dvh;background:linear-gradient(145deg,var(--bubu),var(--dudu))}
  .mem-detail-img{height:100%;max-height:none}
  .mem-detail-no-photo{opacity:.6}
  .mem-detail-info{overflow:visible;padding:20px 20px 10px;gap:10px}
  .mem-detail-title{font-size:22px}
  .mem-detail-story{font-size:14.5px;line-height:1.75;flex:none}
  .mem-detail-footer{flex-wrap:nowrap;gap:10px;padding:12px 16px max(14px,env(safe-area-inset-bottom));background:var(--card)}
  .mem-detail-footer .btn{flex:1;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:11px 14px;font-size:13px}
  .mem-detail-footer #mem-detail-edit-btn{background:linear-gradient(135deg,var(--bubu),var(--bubu-dark));color:#fff;border-color:transparent}

  /* ── Modales de álbum y recuerdo: hoja inferior ── */
  #mo-mem-album,#mo-mem-item{align-items:flex-end;padding:0}
  #mo-mem-album .modal,#mo-mem-item .modal{max-width:none!important;max-height:92dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;border-radius:26px 26px 0 0;padding:22px 18px max(22px,env(safe-area-inset-bottom));transform:translateY(100%)}
  #mo-mem-album.open .modal,#mo-mem-item.open .modal{transform:translateY(0)}
  #mem-item-drop{background:var(--cream);border-color:var(--dudu)!important;border-radius:16px!important;padding:22px 16px!important}
}

@media(max-width:360px){
  .mem-grid{gap:10px}
  .album-card-title,.mem-item-title{font-size:12.5px}
  .album-card-cover-placeholder{font-size:46px}
}
