/* Memoroam — Detail Modal */
/* DETAIL MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(20,15,10,.55);backdrop-filter:blur(8px);z-index:200;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal-sheet{width:100%;max-width:390px;background:var(--card);border-radius:28px 28px 0 0;padding:0 0 40px;transform:translateY(100%);transition:transform .38s cubic-bezier(.32,.72,0,1);max-height:93vh;overflow-y:auto;}
.modal-overlay.open .modal-sheet{transform:translateY(0);}
.modal-handle{width:36px;height:4px;border-radius:2px;background:rgba(0,0,0,.15);margin:14px auto 0;}
.modal-strip{height:6px;margin-top:16px;}
.modal-body{padding:20px 24px 0;}
.modal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;}
.modal-top-left{display:flex;flex-direction:column;gap:8px;}
.modal-airline-logo{display:flex;align-items:center;gap:12px;}
.modal-airline-logo-img{width:42px;height:42px;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.modal-airline-name{font-size:14px;font-weight:700;color:var(--text);}
.modal-flag{font-size:44px;line-height:1;}
.status-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:50px;font-size:10.5px;font-weight:600;}
.status-upcoming{background:#EEF7F0;color:#4A9E6A;}.status-past{background:#F3F3F3;color:#8A8A8A;}
.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0;}
.modal-route{display:flex;align-items:center;margin-bottom:4px;}
.modal-airport{flex:0 0 auto;}
.modal-code{font-family:'IBM Plex Mono',monospace;font-size:38px;font-weight:600;color:var(--text);letter-spacing:-1px;line-height:1;}
.modal-city{font-size:11.5px;color:var(--muted);margin-top:4px;}
.modal-airport.right{text-align:right;}
.modal-path{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 12px;}
.modal-dur{font-size:11px;font-family:'IBM Plex Mono',monospace;color:var(--muted);font-weight:500;}
.modal-line{display:flex;align-items:center;width:100%;gap:4px;}
.modal-line .dot{width:6px;height:6px;border-radius:50%;background:var(--muted);flex-shrink:0;}
.modal-line .dashes{flex:1;height:1.5px;background:repeating-linear-gradient(90deg,var(--muted) 0,var(--muted) 5px,transparent 5px,transparent 10px);}
.modal-divider{display:flex;align-items:center;margin:18px -24px;}
.modal-divider .notch{width:20px;height:20px;border-radius:50%;background:var(--bg);flex-shrink:0;}
.modal-divider .notch.left{margin-left:-10px;}.modal-divider .notch.right{margin-right:-10px;}
.modal-divider .perforation{flex:1;border-top:2px dashed rgba(0,0,0,.1);}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;padding-bottom:22px;}
.d-label{font-size:9.5px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
.d-value{font-family:'IBM Plex Mono',monospace;font-size:16px;font-weight:600;color:var(--text);}
.d-value.lg{font-size:16px;font-weight:600;}
/* Cities section in modal */
.modal-cities-section{padding:0 0 18px;}
.modal-cities-strip{display:flex;flex-wrap:wrap;gap:6px;}
.modal-city-tag{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:50px;background:rgba(0,0,0,.05);font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;color:var(--text);letter-spacing:.3px;}
.modal-city-tag .mct-dot{width:5px;height:5px;border-radius:50%;background:#4A8C8A;flex-shrink:0;}

.barcode-section{margin:0 24px 20px;background:white;border-radius:14px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px;border:1px solid var(--border);}
.barcode{display:flex;height:48px;align-items:stretch;overflow:hidden;width:100%;}
.bc-bar{background:var(--text);flex-shrink:0;}
.barcode-num{font-family:'IBM Plex Mono',monospace;font-size:9.5px;color:var(--muted);letter-spacing:3px;}

/* Modal action buttons */
.modal-actions{display:flex;gap:10px;padding:0 24px 32px;margin-top:4px;}
.modal-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border-radius:14px;border:1.5px solid var(--border);background:white;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all .18s;}
.modal-icon-btn{width:34px;height:34px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s;flex-shrink:0;}
.modal-edit-btn{background:rgba(0,0,0,.06);color:var(--muted);}
.modal-edit-btn:hover{background:rgba(0,0,0,.11);color:var(--text);}
.modal-delete-btn{background:rgba(201,107,114,.1);color:#C96B72;}
.modal-delete-btn:hover{background:rgba(201,107,114,.2);}
.edit-btn{color:var(--text);}
.edit-btn:hover{background:#f5f0ea;border-color:rgba(0,0,0,.18);}
.delete-btn{color:#C96B72;border-color:rgba(201,107,114,.25);background:#fff8f8;}
.delete-btn:hover{background:#fdeaea;border-color:#C96B72;}
/* ── DELETE WARNING OVERLAY ─────────────────────────────────────────────── */
.del-overlay{
  position:fixed;inset:0;z-index:1200;
  background:rgba(10,8,6,.7);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  display:flex;align-items:flex-end;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity .25s ease;
}
.del-overlay.open{opacity:1;pointer-events:all;}
.del-sheet{
  width:100%;max-width:390px;
  background:var(--card);
  border-radius:24px 24px 0 0;
  padding:0 0 40px;
  transform:translateY(100%);
  transition:transform .35s cubic-bezier(.32,.72,0,1);
  max-height:88vh;
  display:flex;flex-direction:column;
  overflow:hidden;
}
.del-overlay.open .del-sheet{transform:translateY(0);}
/* Handle */
.del-handle{width:36px;height:4px;border-radius:2px;background:rgba(0,0,0,.12);margin:14px auto 0;}
/* Hero header — flag + country name */
.del-hero{padding:20px 22px 14px;border-bottom:1px solid var(--border);}
.del-hero-flag{font-size:32px;line-height:1;margin-bottom:8px;}
.del-hero-country{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--text);line-height:1.1;}
.del-hero-trip-chip{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:8px;
  background:rgba(0,0,0,.05);border-radius:50px;
  padding:5px 12px;font-size:11px;font-weight:600;color:var(--muted);
  font-family:'IBM Plex Mono',monospace;letter-spacing:.3px;
}
.del-hero-trip-chip .chip-dot{width:5px;height:5px;border-radius:50%;background:var(--muted);opacity:.5;}
/* Body scroll area */
.del-body{flex:1;overflow-y:auto;padding:16px 22px 0;}
/* Trip context block */
.del-trip-context{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;
  background:rgba(0,0,0,.03);border:1px solid var(--border);
  border-radius:12px;margin-bottom:16px;
}
.del-trip-route{font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:700;color:var(--text);}
.del-trip-date{font-size:11px;color:var(--muted);margin-top:2px;}
.del-trip-trips-badge{
  font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  color:var(--muted);background:rgba(0,0,0,.06);
  padding:3px 8px;border-radius:50px;white-space:nowrap;
}
/* Section heading */
.del-section-label{
  font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;
  color:var(--muted);margin-bottom:10px;
}
/* Consequences */
.del-consequences{
  display:flex;flex-direction:column;gap:0;
  border:1px solid rgba(201,107,114,.18);
  border-radius:14px;overflow:hidden;
  margin-bottom:16px;
}
.del-cq-row{
  display:flex;align-items:flex-start;gap:10px;
  padding:12px 14px;font-size:12px;color:var(--muted);line-height:1.4;
  background:rgba(201,107,114,.03);
}
.del-cq-row+.del-cq-row{border-top:1px solid rgba(201,107,114,.1);}
.del-cq-icon{
  width:26px;height:26px;border-radius:50%;
  background:rgba(201,107,114,.1);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;margin-top:1px;
}
.del-cq-icon svg{color:#C96B72;}
.del-cq-text strong{display:block;font-size:12px;font-weight:600;color:var(--text);margin-bottom:2px;}
/* Memories section */
.del-memories-section{margin-bottom:16px;}
.del-mem-empty{font-size:12px;color:var(--muted);font-style:italic;padding:4px 0 8px;}
/* Polaroid thumbnails */
.del-pol-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none;}
.del-pol-strip::-webkit-scrollbar{display:none;}
.del-pol-card{
  flex-shrink:0;width:100px;
  background:#FDFAF7;
  border-radius:4px;
  box-shadow:0 3px 12px rgba(0,0,0,.15);
  padding:7px 7px 0;
  transform:rotate(-1deg);
}
.del-pol-card:nth-child(even){transform:rotate(0.8deg);}
.del-pol-photo{
  width:100%;aspect-ratio:1/1;
  border-radius:2px;object-fit:cover;
  background:#e8e4de;display:block;
}
.del-pol-caption{padding:6px 2px 8px;}
.del-pol-caption-city{font-size:9px;font-weight:600;color:#2a2a2a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.del-pol-caption-date{font-size:8px;color:#888;margin-top:1px;}
/* Footer buttons */
.del-footer{padding:16px 22px 0;display:flex;gap:10px;flex-shrink:0;}
.del-btn{
  flex:1;height:50px;border-radius:14px;border:none;
  font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;
  cursor:pointer;transition:all .15s;
}
.del-btn-keep{background:rgba(0,0,0,.06);color:var(--text);}
.del-btn-keep:active{background:rgba(0,0,0,.12);}
.del-btn-delete{background:#C96B72;color:white;}
.del-btn-delete:active{background:#b55c63;}
/* legacy dcb kept for any other usages */
.dcb{flex:1;padding:14px;border-radius:14px;border:none;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;}
.dcb-cancel{background:rgba(0,0,0,.06);color:var(--text);}
.dcb-confirm{background:#C96B72;color:white;}
.delete-confirm-btns{display:flex;gap:10px;}

/* ── Dark Mode ── */
[data-theme="dark"] .barcode-section,
[data-theme="dark"] .modal-action-btn{background:var(--card);}
[data-theme="dark"] .del-pol-card{background:var(--card);}
[data-theme="dark"] .modal-inner{background:var(--card);}
[data-theme="dark"] .dcb-cancel{background:rgba(255,255,255,.08);}
