/* Memoroam — Memories: Lightbox, Polaroid Flow, Date Pickers, Success Flash */

/* Memory lightbox */
.mem-lightbox{position:fixed;inset:0;z-index:900;background:rgba(0,0,0,.9);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s;max-width:390px;left:50%;margin-left:-195px;}
@media(max-width:390px){.mem-lightbox{left:0;margin-left:0;}}
.mem-lightbox.open{opacity:1;pointer-events:all;}
.mem-lb-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;cursor:pointer;color:white;transition:background .15s;z-index:2;}
.mem-lb-close:active{background:rgba(255,255,255,.2);}
/* Polished action pills below the polaroid */
.mem-lb-actions{
  display:flex;justify-content:center;gap:12px;
  margin-top:24px;
}
.mem-lb-action{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.82);
  font-family:'DM Sans',sans-serif;
  font-size:12px;font-weight:500;
  letter-spacing:.25px;
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease, transform .15s ease, color .2s ease;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 4px 14px rgba(0,0,0,.22);
}
.mem-lb-action svg{opacity:.72;transition:opacity .2s ease;flex-shrink:0;}
.mem-lb-action:hover{
  background:rgba(255,255,255,.09);
  border-color:rgba(255,255,255,.2);
  color:white;
  transform:translateY(-1px);
}
.mem-lb-action:hover svg{opacity:1;}
.mem-lb-action:active{transform:translateY(0);}
.mem-lb-action-del{color:rgba(232,128,112,.9);}
.mem-lb-action-del:hover{
  background:rgba(192,57,43,.14);
  border-color:rgba(192,57,43,.32);
  color:rgba(248,170,158,1);
}
.mem-lb-edit-panel{position:absolute;bottom:0;left:0;right:0;background:rgba(14,10,8,.98);border-radius:20px 20px 0 0;padding:22px 22px 36px;opacity:0;pointer-events:none;transform:translateY(24px);transition:opacity .22s,transform .28s cubic-bezier(.32,.72,0,1);z-index:10;}
.mem-lb-edit-panel.open{opacity:1;pointer-events:all;transform:translateY(0);}
.mem-lb-edit-title{font-family:'Playfair Display',serif;font-size:16px;font-weight:700;color:white;text-align:center;margin-bottom:16px;}
.mem-lb-edit-label{font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:6px;}
.mem-lb-edit-textarea{width:100%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 12px;font-family:'DM Sans',sans-serif;font-size:13px;color:white;resize:none;outline:none;box-sizing:border-box;margin-bottom:14px;}
.mem-lb-edit-textarea::placeholder{color:rgba(255,255,255,.25);}
.mem-lb-edit-charcount{font-size:10px;color:rgba(255,255,255,.25);text-align:right;margin-top:-10px;margin-bottom:14px;}
.mem-lb-edit-save{width:100%;padding:13px;border-radius:12px;border:none;background:#4A8C8A;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;color:white;cursor:pointer;transition:opacity .15s;}
.mem-lb-edit-save:hover{opacity:.88;}
.mem-lb-edit-cancel{width:100%;padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:none;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;color:rgba(255,255,255,.4);cursor:pointer;margin-top:8px;transition:all .15s;}
.mem-lb-frame{background:white;padding:14px 14px 52px;border-radius:2px;width:272px;box-shadow:0 28px 80px rgba(0,0,0,.65);transform:scale(.86) rotate(-1.5deg);transition:transform .32s cubic-bezier(.34,1.56,.64,1);position:relative;}
.mem-lightbox.open .mem-lb-frame{transform:scale(1) rotate(-0.5deg);}
.mem-lb-tape{position:absolute;top:-12px;left:50%;transform:translateX(-50%);width:60px;height:20px;border-radius:1px;background:rgba(230,215,180,.72);background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(200,185,150,.3) 2px,rgba(200,185,150,.3) 3px);box-shadow:0 1px 3px rgba(0,0,0,.1);}
.mem-lb-photo{width:100%;aspect-ratio:1;overflow:hidden;position:relative;}
.mem-lb-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.mem-lb-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.2) 100%);pointer-events:none;}
.mem-lb-caption{padding:10px 2px 0;display:flex;flex-direction:column;gap:4px;}
.mem-lb-city{font-family:'Playfair Display',serif;font-size:15px;color:#5a5040;font-style:italic;}
.mem-lb-date{font-family:'IBM Plex Mono',monospace;font-size:9px;color:#a09880;letter-spacing:.04em;}
.mem-lb-trip{font-family:'IBM Plex Mono',monospace;font-size:8.5px;color:#C9A55A;letter-spacing:.04em;margin-top:1px;}
.mem-lb-note{font-family:'DM Sans',sans-serif;font-size:11px;color:#8a7a68;margin-top:6px;line-height:1.4;font-style:italic;}
/* Delete confirm panel */
.mem-lb-del-panel{position:absolute;bottom:0;left:0;right:0;background:rgba(14,10,8,.98);border-radius:20px 20px 0 0;padding:22px 22px 36px;opacity:0;pointer-events:none;transform:translateY(24px);transition:opacity .22s,transform .28s cubic-bezier(.32,.72,0,1);z-index:10;}
.mem-lb-del-panel.open{opacity:1;pointer-events:all;transform:translateY(0);}
.mem-lb-del-icon{width:42px;height:42px;border-radius:50%;background:rgba(192,57,43,.15);border:1.5px solid rgba(192,57,43,.3);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-size:18px;}
.mem-lb-del-title{font-family:'Playfair Display',serif;font-size:16px;font-weight:700;color:white;text-align:center;margin-bottom:4px;}
.mem-lb-del-sub{font-size:11px;color:rgba(255,255,255,.38);text-align:center;margin-bottom:20px;line-height:1.5;}
.mem-lb-del-btns{display:flex;gap:10px;}
.mem-lb-del-cancel{flex:1;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;color:rgba(255,255,255,.6);cursor:pointer;transition:all .15s;}
.mem-lb-del-cancel:hover{background:rgba(255,255,255,.1);}
.mem-lb-del-confirm{flex:1;padding:12px;border-radius:12px;border:none;background:#C0392B;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;color:white;cursor:pointer;transition:opacity .15s;}
.mem-lb-del-confirm:hover{opacity:.88;}

/* ══════════════════════════════════════════════════
   POLAROID MEMORY FLOW — Screens 2, 3, 4
   Full-screen overlay stack, slides in from bottom
══════════════════════════════════════════════════ */

/* ── Base overlay shell ── */
.pmf-overlay{
  position:fixed;inset:0;z-index:700;
  background:var(--bg);
  display:flex;flex-direction:column;
  transform:translateY(100%);
  transition:transform .42s cubic-bezier(.32,.72,0,1);
  max-width:390px;left:50%;margin-left:-195px;
  pointer-events:none;
}
@media(max-width:390px){.pmf-overlay{left:0;margin-left:0;}}
.pmf-overlay.open{transform:translateY(0);pointer-events:all;}

/* ── Top nav row ── */
.pmf-nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:52px 20px 0;flex-shrink:0;
}
.pmf-step{
  font-family:'IBM Plex Mono',monospace;
  font-size:10px;font-weight:600;color:var(--muted);letter-spacing:1.2px;
  text-transform:uppercase;
}
.pmf-close{
  width:32px;height:32px;border-radius:50%;
  background:rgba(0,0,0,.07);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:var(--muted);
  transition:background .15s;
}
.pmf-close:active{background:rgba(0,0,0,.13);}

/* ── SCREEN 2: Photo Confirm ── */
#pmfConfirm{background:#FDFAF7;}

.pmf-polaroid-stage{
  flex:1;display:flex;align-items:center;justify-content:center;
  padding:28px 32px 12px;min-height:0;overflow:hidden;
}
.pmf-polaroid-frame{
  background:white;
  padding:12px 12px 48px;
  border-radius:2px;
  width:min(240px, 62vw);
  box-shadow:0 3px 8px rgba(0,0,0,.07), 0 18px 48px rgba(0,0,0,.18), 0 32px 64px rgba(0,0,0,.10);
  transform:rotate(-1.4deg);
  position:relative;
  flex-shrink:1;
}
.pmf-pol-tape{
  position:absolute;top:-10px;left:50%;transform:translateX(-50%);
  width:56px;height:18px;border-radius:1px;
  background:rgba(230,215,180,.72);
  box-shadow:0 1px 3px rgba(0,0,0,.09);
  background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(200,185,150,.35) 2px,rgba(200,185,150,.35) 3px);
  z-index:5;
}
.pmf-pol-photo{
  width:100%;aspect-ratio:1;border-radius:1px;overflow:hidden;position:relative;
  background:#e8e0d4;
}
.pmf-pol-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.pmf-pol-photo-placeholder{
  width:100%;height:100%;
  background:linear-gradient(180deg,#7AAFD8 0%,#9AC8DC 18%,#AACCC0 30%,#82B082 42%,#5E9852 56%,#487840 68%,#38602E 82%,#28481E 100%);
  position:relative;
}
.pmf-pol-photo-placeholder::before{
  content:'';position:absolute;top:9%;right:22%;
  width:24px;height:24px;border-radius:50%;
  background:radial-gradient(circle,#FFF5A0 0%,#FFD840 50%,transparent 78%);
  box-shadow:0 0 18px 7px rgba(255,210,40,.28);
}
.pmf-pol-vignette{
  position:absolute;inset:0;
  background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.24) 100%);
  pointer-events:none;
}
.pmf-pol-caption{padding:9px 2px 0;}
.pmf-pol-city{
  font-family:'Playfair Display',serif;font-size:13px;color:#c0b8a8;font-style:italic;
}
.pmf-pol-date{
  font-family:'IBM Plex Mono',monospace;font-size:7.5px;color:#d0c8b8;margin-top:3px;letter-spacing:.03em;
}
.pmf-pol-note{
  font-size:7px;color:#d8d0c0;font-style:italic;margin-top:3px;
  border-bottom:1px dashed rgba(180,168,148,.4);padding-bottom:2px;
}

/* helper hint */
.pmf-helper{
  display:flex;align-items:flex-start;gap:10px;
  margin:20px 22px 0;
  padding:12px 14px;
  background:rgba(201,165,90,.06);
  border:1px solid rgba(201,165,90,.18);
  border-radius:12px;
}
.pmf-helper-icon{
  width:28px;height:28px;flex-shrink:0;border-radius:50%;
  background:rgba(201,165,90,.12);border:1px solid rgba(201,165,90,.24);
  display:flex;align-items:center;justify-content:center;
  font-size:12px;color:#C9A55A;margin-top:1px;
}
.pmf-helper-txt{font-size:11px;color:var(--muted);line-height:1.55;}
.pmf-helper-txt strong{color:var(--text);font-weight:600;}

.pmf-divider{height:1px;margin:16px 22px 0;background:linear-gradient(to right,var(--border),transparent 80%);}

/* action area */
.pmf-actions{padding:16px 18px max(36px, env(safe-area-inset-bottom, 36px));display:flex;flex-direction:column;gap:10px;flex-shrink:0;}
.pmf-btn-confirm{
  background:var(--text);border-radius:16px;padding:16px 18px;
  display:flex;align-items:center;justify-content:space-between;
  cursor:pointer;border:none;width:100%;text-align:left;
  font-family:'DM Sans',sans-serif;
  box-shadow:0 6px 22px rgba(28,24,18,.18);
  transition:transform .15s,opacity .15s;
}
.pmf-btn-confirm:active{transform:scale(.98);opacity:.9;}
.pmf-btn-confirm-left{display:flex;flex-direction:column;gap:3px;}
.pmf-btn-confirm-label{font-size:14px;font-weight:600;color:white;letter-spacing:.01em;}
.pmf-btn-confirm-sub{font-size:9.5px;color:rgba(255,255,255,.38);font-weight:300;}
.pmf-btn-confirm-arrow{
  width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.pmf-btn-secondary{
  width:100%;padding:14px 18px;
  border:1.5px solid var(--border);background:white;border-radius:14px;
  display:flex;align-items:center;justify-content:center;gap:9px;
  cursor:pointer;font-family:'DM Sans',sans-serif;
  transition:background .15s,border-color .15s,transform .15s;
  box-shadow:0 1px 4px rgba(0,0,0,.05);
}
.pmf-btn-secondary:hover{border-color:rgba(0,0,0,.2);background:#faf7f4;}
.pmf-btn-secondary:active{background:#f5f0ea;transform:scale(.98);}
.pmf-btn-secondary-icon{font-size:17px;flex-shrink:0;line-height:1;}
.pmf-btn-secondary-wrap{display:flex;align-items:center;gap:5px;}
.pmf-btn-secondary-label{font-size:13px;font-weight:600;color:var(--text);}
.pmf-btn-secondary-sub{display:none;}

/* ── Polaroid clickable hint ── */
.pmf-polaroid-frame{cursor:zoom-in;}
.pmf-s4-pol-frame{cursor:zoom-in;}

/* ── Photo lightbox ── */
.pmf-lightbox{
  position:fixed;inset:0;z-index:900;
  background:rgba(0,0,0,.92);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity .25s;
  max-width:390px;left:50%;margin-left:-195px;
}
@media(max-width:390px){.pmf-lightbox{left:0;margin-left:0;}}
.pmf-lightbox.open{opacity:1;pointer-events:all;}
.pmf-lightbox-frame{
  background:white;padding:14px 14px 56px;border-radius:2px;
  width:290px;
  box-shadow:0 24px 80px rgba(0,0,0,.6);
  transform:scale(.88) rotate(-1deg);
  transition:transform .3s cubic-bezier(.34,1.56,.64,1);
  position:relative;
}
.pmf-lightbox.open .pmf-lightbox-frame{transform:scale(1) rotate(-0.5deg);}
.pmf-lightbox-tape{
  position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  width:62px;height:20px;border-radius:1px;
  background:rgba(230,215,180,.75);
  background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(200,185,150,.35) 2px,rgba(200,185,150,.35) 3px);
  box-shadow:0 1px 3px rgba(0,0,0,.12);z-index:5;
}
.pmf-lightbox-photo{
  width:100%;height:260px;overflow:hidden;border-radius:1px;position:relative;
}
.pmf-lightbox-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.pmf-lightbox-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.22) 100%);pointer-events:none;}
.pmf-lightbox-caption{padding:10px 3px 0;}
.pmf-lightbox-city{font-family:'Playfair Display',serif;font-size:14px;color:#9a9080;font-style:italic;}
.pmf-lightbox-close{
  position:absolute;top:16px;right:16px;
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:white;font-size:16px;
  transition:background .15s;
}
.pmf-lightbox-close:active{background:rgba(255,255,255,.22);}

/* ── Date picker modal ── */
.pmf-datepicker{
  position:fixed;inset:0;z-index:800;
  display:flex;flex-direction:column;justify-content:flex-end;align-items:center;
  opacity:0;pointer-events:none;transition:opacity .22s;
  max-width:390px;left:50%;margin-left:-195px;
}
@media(max-width:390px){.pmf-datepicker{left:0;margin-left:0;}}
.pmf-datepicker.open{opacity:1;pointer-events:all;}
.pmf-datepicker-bg{position:absolute;inset:0;background:rgba(0,0,0,.45);}
.pmf-datepicker-sheet{
  width:100%;background:white;border-radius:24px 24px 0 0;
  padding:18px 20px 48px;position:relative;z-index:1;
  transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1);
}
.pmf-datepicker.open .pmf-datepicker-sheet{transform:translateY(0);}
.pmf-dp-handle{width:36px;height:4px;border-radius:2px;background:rgba(0,0,0,.12);margin:0 auto 18px;}
.pmf-dp-title{font-family:'Playfair Display',serif;font-size:18px;color:var(--text);margin-bottom:16px;}
.pmf-dp-title em{font-style:italic;color:var(--muted);}
.pmf-dp-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.pmf-dp-month{font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:600;color:var(--text);}
.pmf-dp-arrow{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--border);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:background .15s;}
.pmf-dp-arrow:active{background:rgba(0,0,0,.06);}
.pmf-dp-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:6px;}
.pmf-dp-wd{font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);text-align:center;padding:4px 0;}
.pmf-dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;min-height:231px;align-content:start;}
.pmf-dp-day{height:36px;width:100%;border-radius:8px;border:none;background:none;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--text);cursor:pointer;transition:background .12s;display:flex;align-items:center;justify-content:center;box-sizing:border-box;}
.pmf-dp-day:hover{background:rgba(0,0,0,.06);}
.pmf-dp-day.today{color:#C9A55A;font-weight:700;}
.pmf-dp-day.selected{background:var(--text);color:white;font-weight:700;}
.pmf-dp-day.other-month{color:var(--muted);opacity:.4;}
.pmf-dp-day:empty{cursor:default;}
.pmf-dp-confirm{
  margin-top:16px;width:100%;background:var(--text);border:none;border-radius:12px;
  padding:14px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;color:white;
  cursor:pointer;transition:opacity .15s;
}
.pmf-dp-confirm:active{opacity:.85;}

/* ── SCREEN 3: Trip Selector ── */
#pmfTripSelect{background:#FDFAF7;}

.pmf-s3-heading{padding:16px 22px 0;}
.pmf-s3-title{
  font-family:'Playfair Display',serif;font-size:22px;font-weight:700;
  color:var(--text);line-height:1.15;
}
.pmf-s3-title em{font-style:italic;color:var(--muted);}
.pmf-s3-line{margin-top:10px;height:1px;background:linear-gradient(to right,var(--border),transparent 80%);}

.pmf-s3-body{flex:1;overflow-y:auto;padding:6px 16px 120px;-webkit-overflow-scrolling:touch;}

.pmf-section-lbl{
  font-size:8.5px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;
  color:var(--muted);margin:16px 0 10px 2px;
}

/* Trip selector cards */
.pmf-trip-card{
  border-radius:14px;margin-bottom:10px;
  cursor:pointer;position:relative;overflow:hidden;
  background:#FDFAF7;
  border:1px solid rgba(0,0,0,.07);
  box-shadow:0 2px 12px rgba(0,0,0,.07);
  transition:transform .2s,box-shadow .2s;
  display:flex;
}
.pmf-trip-card:active{transform:scale(.985);}
.pmf-trip-card.selected{
  box-shadow:0 0 0 2px #C9A55A, 0 4px 18px rgba(0,0,0,.12)!important;
  transform:translateY(-1px);
}
.pmf-trip-card.recommended{
  box-shadow:0 0 0 2px #4A8C8A, 0 4px 20px rgba(74,140,138,.18)!important;
}
.pmf-rec-badge{
  position:absolute;bottom:10px;right:10px;
  background:#4A8C8A;color:white;
  font-size:9px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;
  padding:3px 7px;border-radius:20px;
  font-family:'DM Sans',sans-serif;
  pointer-events:none;
}
.pmf-tc-accent{width:5px;flex-shrink:0;border-radius:0;}
.pmf-tc-body{flex:1;padding:13px 14px 12px;}

.pmf-tc-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px;}
.pmf-tc-name{
  font-family:'Playfair Display',serif;font-size:15px;font-weight:700;
  color:var(--text);line-height:1.2;
}
.pmf-tc-name span{
  display:block;font-family:'DM Sans',sans-serif;
  font-size:9.5px;font-weight:400;color:var(--muted);margin-top:2px;
}
.pmf-tc-route{display:flex;align-items:center;gap:6px;margin-bottom:8px;}
.pmf-tc-iata{font-family:'IBM Plex Mono',monospace;font-size:19px;font-weight:700;color:var(--text);letter-spacing:-.5px;}
.pmf-tc-arrow{color:var(--muted);font-size:11px;flex:1;text-align:center;}
.pmf-tc-dest{text-align:right;}
.pmf-tc-sub{font-size:8px;color:var(--muted);font-weight:400;margin-top:1px;}
.pmf-tc-divider{width:100%;height:1px;margin-bottom:8px;background:repeating-linear-gradient(to right,rgba(0,0,0,.08) 0,rgba(0,0,0,.08) 4px,transparent 4px,transparent 8px);}
.pmf-tc-meta{display:flex;gap:14px;}
.pmf-tcm-lbl{font-size:6.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:2px;opacity:.7;}
.pmf-tcm-val{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--text);font-weight:600;}
/* locked overlay */
.pmf-tc-locked{
  position:absolute;inset:0;border-radius:14px;
  background:rgba(240,235,227,.82);backdrop-filter:blur(2px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  cursor:not-allowed;
}
.pmf-tc-lock-emoji{font-size:20px;}
.pmf-tc-lock-date{font-size:9px;color:var(--muted);font-family:'IBM Plex Mono',monospace;letter-spacing:.04em;}
/* Accent strip colours */
.pmf-tc-london .pmf-tc-accent {background:#2C4A7C;}
.pmf-tc-ny     .pmf-tc-accent {background:#2E7D6B;}
.pmf-tc-paris  .pmf-tc-accent {background:#7C3D8C;}
.pmf-tc-miami  .pmf-tc-accent {background:#2E6B5A;}
.pmf-tc-tokyo  .pmf-tc-accent {background:#8C2E44;}
.pmf-tc-dubai  .pmf-tc-accent {background:#8C6B2E;}
.pmf-tc-grey   .pmf-tc-accent {background:#8A7D72;}

/* ── SCREEN 4: Add Details ── */
#pmfDetails{background:#FDFAF7;}

.pmf-s4-polaroid-area{
  flex-shrink:0;display:flex;justify-content:center;
  padding:24px 24px 18px;
}
.pmf-s4-pol-frame{
  background:white;padding:10px 10px 38px;border-radius:2px;
  box-shadow:0 12px 40px rgba(0,0,0,.16),0 3px 10px rgba(0,0,0,.09);
  transform:rotate(-1.2deg);width:220px;position:relative;
}
.pmf-s4-pol-pin{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  width:14px;height:14px;border-radius:50%;
  background:radial-gradient(circle at 38% 34%,#e6e6e6,#9e9e9e);
  box-shadow:0 2px 5px rgba(0,0,0,.25);z-index:5;
}
.pmf-s4-pol-pin::after{
  content:'';position:absolute;bottom:-5px;left:50%;transform:translateX(-50%);
  width:2px;height:5px;background:#9a9a9a;border-radius:1px;
}
.pmf-s4-pol-photo{width:100%;height:154px;overflow:hidden;border-radius:1px;background:#e8e0d4;}
.pmf-s4-pol-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.pmf-s4-pol-photo-bg{
  width:100%;height:100%;
  background:linear-gradient(180deg,#72AAD0 0%,#90C0DC 22%,#B2D4C8 34%,#8AB882 44%,#6AA060 55%,#548048 68%,#3E6035 80%,#2C4826 100%);
  position:relative;
}
.pmf-s4-pol-caption{padding:10px 3px 0;}
.pmf-s4-pol-city{font-family:'Playfair Display',serif;font-size:13.5px;color:#1C1812;line-height:1.15;}
.pmf-s4-pol-city em{font-style:italic;color:#b0a898;font-size:10px;display:block;margin-top:1px;}
.pmf-s4-pol-date{font-family:'IBM Plex Mono',monospace;font-size:8px;color:#b8b0a0;margin-top:4px;}
.pmf-s4-pol-note{font-size:7.5px;color:#c0b8a8;margin-top:4px;font-style:italic;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}

/* Form section */
.pmf-s4-form{flex:1;overflow-y:auto;padding:0 18px 120px;-webkit-overflow-scrolling:touch;}
.pmf-s4-form-divider{height:1px;margin:0 0 16px;background:linear-gradient(to right,var(--border),transparent 80%);}

/* Trip banner */
.pmf-trip-banner{
  border-radius:13px;padding:12px 14px;margin-bottom:16px;
  display:flex;align-items:center;justify-content:space-between;
  position:relative;overflow:hidden;
  background:#F5F1EC;
  border:1px solid rgba(0,0,0,.07);
  border-left:4px solid #2C4A7C;
  cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}
.pmf-trip-banner::before{display:none;}
.pmf-banner-name{font-family:'Playfair Display',serif;font-size:14px;color:var(--text);line-height:1.2;}
.pmf-banner-name span{display:block;font-family:'DM Sans',sans-serif;font-size:9.5px;font-weight:400;color:var(--muted);margin-top:2px;}
.pmf-banner-change{font-size:9px;color:var(--muted);background:rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.1);border-radius:7px;padding:3px 8px;cursor:pointer;flex-shrink:0;}

/* Field blocks */
.pmf-field-block{margin-bottom:16px;}
.pmf-field-lbl{font-size:9px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin-bottom:8px;display:block;}

/* Date tap */
.pmf-date-tap{
  background:white;border:1.5px solid var(--border);border-radius:12px;
  padding:12px 14px;display:flex;align-items:center;justify-content:space-between;
  cursor:pointer;position:relative;overflow:hidden;
}
.pmf-date-tap::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#C9A55A;border-radius:3px 0 0 3px;}
.pmf-date-tap-left{display:flex;align-items:center;gap:10px;padding-left:6px;}
.pmf-date-tap-icon{font-size:15px;opacity:.4;}
.pmf-date-tap-value{font-family:'IBM Plex Mono',monospace;font-size:14px;color:var(--text);letter-spacing:.01em;}
.pmf-date-tap-change{font-size:9px;color:#4A8C8A;background:rgba(74,140,138,.08);border:1px solid rgba(74,140,138,.18);border-radius:7px;padding:3px 8px;}

/* Inline calendar (memory flow) */
.pmf-inline-cal{background:white;border:1.5px solid var(--border);border-radius:14px;padding:14px 12px 10px;overflow:hidden;}
.pmf-ical-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.pmf-ical-month{font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;color:var(--text);letter-spacing:.3px;}
.pmf-ical-arrow{background:none;border:none;cursor:pointer;color:var(--muted);padding:4px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .12s;}
.pmf-ical-arrow:active{background:rgba(0,0,0,.06);}
.pmf-ical-arrow[disabled]{opacity:.25;pointer-events:none;}
.pmf-ical-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:2px;}
.pmf-ical-weekdays div{font-size:9px;font-weight:600;color:var(--muted);text-align:center;padding:3px 0;letter-spacing:.5px;}
.pmf-ical-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.pmf-ical-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:12px;font-weight:500;color:var(--text);cursor:pointer;background:none;border:none;transition:background .12s;font-family:'DM Sans',sans-serif;}
.pmf-ical-day:hover:not(.empty):not(.selected):not([disabled]){background:rgba(0,0,0,.06);}
.pmf-ical-day.empty{cursor:default;}
.pmf-ical-day.today{color:#C96B72;font-weight:700;}
.pmf-ical-day.selected{background:var(--text);color:white;}
.pmf-ical-day.out-of-range{opacity:.18;pointer-events:none;}
.pmf-ical-sel{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--muted);text-align:center;margin-top:8px;min-height:16px;letter-spacing:.2px;}

/* City pills (memory flow) */
.pmf-city-pills{display:flex;flex-wrap:wrap;gap:8px;}
.pmf-city-pill{
  display:flex;align-items:center;gap:6px;
  background:white;border:1.5px solid var(--border);border-radius:20px;
  padding:8px 14px;cursor:pointer;transition:all .15s;
  font-family:'DM Sans',sans-serif;font-size:12px;color:var(--text);
}
.pmf-city-pill:active{transform:scale(.97);}
.pmf-city-pill.selected{border-color:#4A8C8A;background:rgba(74,140,138,.06);}
.pmf-city-pill-dot{width:6px;height:6px;border-radius:50%;background:var(--border);flex-shrink:0;transition:background .15s;}
.pmf-city-pill.selected .pmf-city-pill-dot{background:#4A8C8A;}
.pmf-city-pill-name{font-weight:500;}
.pmf-city-pill-flag{font-size:13px;flex-shrink:0;}

/* Location dropdown */
.pmf-loc-dropdown{
  display:flex;align-items:center;gap:10px;
  background:white;border:1.5px solid var(--border);border-radius:12px;
  padding:10px 14px;cursor:pointer;transition:border-color .15s;
}
.pmf-loc-dropdown:active{opacity:.85;}
.pmf-loc-dropdown.open{border-color:#4A8C8A;border-radius:12px 12px 0 0;border-bottom-color:var(--border);}
.pmf-loc-dropdown-pin{font-size:14px;flex-shrink:0;}
.pmf-loc-dropdown-text{flex:1;display:flex;flex-direction:column;gap:1px;}
.pmf-loc-dropdown-city{font-size:13px;font-weight:600;color:var(--text);}
.pmf-loc-dropdown-country{font-size:10px;color:var(--muted);letter-spacing:.2px;}
.pmf-loc-dropdown-chevron{color:var(--muted);flex-shrink:0;transition:transform .2s;}
.pmf-loc-dropdown.open .pmf-loc-dropdown-chevron{transform:rotate(180deg);}

.pmf-loc-list-wrap{
  display:none;background:white;border:1.5px solid var(--border);border-top:none;
  border-radius:0 0 12px 12px;overflow:hidden;
}
.pmf-loc-list-wrap.open{display:block;border-color:#4A8C8A;border-top:none;}
.pmf-loc-search{
  display:flex;align-items:center;gap:9px;
  padding:8px 14px;border-bottom:1px solid var(--border);
}
.pmf-loc-input{
  flex:1;font-size:12px;color:var(--text);background:none;border:none;outline:none;
  font-family:'DM Sans',sans-serif;
}
.pmf-loc-input::placeholder{color:var(--muted);}
.pmf-loc-list{max-height:180px;overflow-y:auto;overscroll-behavior:contain;}
.pmf-loc-item{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;cursor:pointer;transition:background .1s;
  font-size:12px;color:var(--text);font-family:'DM Sans',sans-serif;
}
.pmf-loc-item:active{background:rgba(74,140,138,.08);}
.pmf-loc-item.selected{background:rgba(74,140,138,.1);font-weight:600;color:#4A8C8A;}
.pmf-loc-item+.pmf-loc-item{border-top:1px solid rgba(0,0,0,.04);}
.pmf-loc-item-check{width:16px;text-align:center;font-size:11px;color:#4A8C8A;flex-shrink:0;}

/* Note field */
.pmf-note-field{background:white;border:1.5px solid var(--border);border-radius:12px;padding:12px 14px;}
.pmf-note-textarea{
  width:100%;border:none;outline:none;resize:none;
  font-family:'DM Sans',sans-serif;font-size:13px;color:var(--text);
  line-height:1.6;min-height:48px;background:none;
}
.pmf-note-textarea::placeholder{color:var(--muted);}
.pmf-note-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid var(--border);}
.pmf-note-hint{font-size:9px;color:var(--muted);font-style:italic;}
.pmf-char-pill{background:rgba(201,165,90,.10);border-radius:10px;padding:2px 7px;font-size:9px;color:#C9A55A;font-weight:600;font-family:'IBM Plex Mono',monospace;}

/* ── Save Memory Confirmation overlay ── */
.pmf-confirm-overlay{position:fixed;inset:0;z-index:850;background:rgba(28,23,19,.45);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;max-width:390px;left:50%;margin-left:-195px;opacity:0;pointer-events:none;transition:opacity .28s;}
@media(max-width:390px){.pmf-confirm-overlay{left:0;margin-left:0;}}
.pmf-confirm-overlay.open{opacity:1;pointer-events:all;}
.pmf-confirm-sheet{width:100%;background:#F5F0EA;border-radius:24px 24px 0 0;padding:0 0 36px;transform:translateY(100%);transition:transform .38s cubic-bezier(.32,.72,0,1);}
.pmf-confirm-overlay.open .pmf-confirm-sheet{transform:translateY(0);}
.pmf-confirm-handle{width:36px;height:4px;border-radius:2px;background:rgba(0,0,0,.12);margin:14px auto 18px;}
.pmf-confirm-pol-wrap{display:flex;justify-content:center;margin-bottom:18px;padding:0 24px;}
.pmf-confirm-pol{background:white;padding:10px 10px 38px;border-radius:2px;width:180px;box-shadow:0 12px 40px rgba(0,0,0,.15);transform:rotate(-1.2deg);position:relative;}
.pmf-confirm-pol-img{width:100%;aspect-ratio:1;overflow:hidden;background:#e8e4dc;}
.pmf-confirm-pol-img img{width:100%;height:100%;object-fit:cover;display:block;}
.pmf-confirm-pol-caption{padding:8px 2px 0;display:flex;flex-direction:column;gap:3px;}
.pmf-confirm-pol-city{font-family:'Playfair Display',serif;font-size:10px;font-weight:700;color:#1C1713;line-height:1.2;}
.pmf-confirm-pol-city em{display:block;font-style:normal;font-size:8.5px;color:#8A7D72;font-family:'DM Sans',sans-serif;font-weight:400;}
.pmf-confirm-pol-date{font-family:'IBM Plex Mono',monospace;font-size:7.5px;color:#8A7D72;}
.pmf-confirm-pol-note{font-size:8px;color:#8A7D72;font-style:italic;line-height:1.3;margin-top:1px;}
.pmf-confirm-pol-tape{position:absolute;top:-11px;left:50%;transform:translateX(-50%);width:52px;height:18px;border-radius:1px;background:rgba(220,200,160,.7);background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(190,170,130,.25) 2px,rgba(190,170,130,.25) 3px);box-shadow:0 1px 3px rgba(0,0,0,.12);}
.pmf-confirm-text{text-align:center;padding:0 24px 18px;}
.pmf-confirm-title{font-family:'Playfair Display',serif;font-size:18px;font-weight:700;color:#1C1713;margin-bottom:4px;}
.pmf-confirm-sub{font-size:12px;color:#8A7D72;line-height:1.5;}
.pmf-confirm-btns{display:flex;gap:10px;padding:0 20px;}
.pmf-confirm-cancel{flex:1;height:50px;border-radius:14px;border:1.5px solid rgba(0,0,0,.1);background:transparent;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;color:#8A7D72;cursor:pointer;transition:all .15s;}
.pmf-confirm-cancel:hover{background:rgba(0,0,0,.04);}
.pmf-confirm-save{flex:2;height:50px;border-radius:14px;border:none;background:#4A7C6F;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;color:rgba(255,255,255,.92);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .15s;letter-spacing:.01em;}
.pmf-confirm-save:hover{opacity:.88;}

/* Save CTA */
.pmf-save-btn{
  margin-top:16px;background:var(--text);border-radius:14px;padding:16px 18px;
  display:flex;align-items:center;justify-content:space-between;
  cursor:pointer;border:none;width:100%;text-align:left;
  font-family:'DM Sans',sans-serif;
  box-shadow:0 6px 22px rgba(28,24,18,.18);
  transition:transform .15s,opacity .15s;
}
.pmf-save-btn:active{transform:scale(.98);opacity:.9;}
.pmf-save-label{font-size:15px;font-weight:600;color:white;letter-spacing:.01em;}
.pmf-save-sub{font-size:9.5px;color:rgba(255,255,255,.35);margin-top:2px;font-weight:300;}
.pmf-save-icon{
  width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);
  display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;
}

/* ── SUCCESS flash — Lottie-driven email-sent animation with polished celebration finale ── */
.pmf-success{
  position:fixed;inset:0;z-index:900;
  background:radial-gradient(ellipse at center, #1f2535 0%, #161a27 55%, #0e1119 100%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:22px;opacity:0;pointer-events:none;
  transition:opacity .45s cubic-bezier(.22,1,.36,1);
  max-width:390px;left:50%;margin-left:-195px;
  overflow:hidden;
}
@media(max-width:390px){.pmf-success{left:0;margin-left:0;}}
.pmf-success.show{opacity:1;pointer-events:all;}

/* Layered warm glow — blue core + gold halo, blooms as the check lands */
.pmf-success-glow{
  position:absolute;top:50%;left:50%;
  width:560px;height:560px;margin:-280px 0 0 -280px;
  border-radius:50%;
  background:
    radial-gradient(circle at center,
      rgba(230,201,122,.20) 0%,
      rgba(230,201,122,.08) 18%,
      transparent 40%),
    radial-gradient(circle at center,
      rgba(52,120,243,.24) 0%,
      rgba(52,120,243,.10) 32%,
      transparent 66%);
  opacity:0;transform:scale(.55);pointer-events:none;
  filter:blur(20px);
}
.pmf-success.show .pmf-success-glow{
  animation:pmfSucGlow 2.2s cubic-bezier(.22,1,.36,1) 2.4s forwards;
}
@keyframes pmfSucGlow{
  0%  {opacity:0;  transform:scale(.55);}
  55% {opacity:1;  transform:scale(1.04);}
  100%{opacity:.9; transform:scale(1);}
}

/* Wraps the Lottie and all the celebration layers so they stay co-centered */
.pmf-suc-lottie-wrap{
  position:relative;
  width:280px;height:280px;
  z-index:2;
}

/* Lottie container — plays envelope + polaroid drop, stops at frame 90 (3.0s) */
.pmf-suc-lottie{
  position:absolute;inset:0;
  pointer-events:none;
}
.pmf-suc-lottie svg{display:block;width:100%;height:100%;}

/* CSS-driven check that replaces the Lottie's jerky check animation */
.pmf-suc-check{
  position:absolute;top:50%;left:50%;
  width:92px;height:92px;margin:-46px 0 0 -46px;
  opacity:0;transform:scale(0);
  pointer-events:none;
  z-index:2;
  will-change:transform,opacity;
}
.pmf-success.show .pmf-suc-check{
  animation:
    pmfSucCheckIn .55s cubic-bezier(.22,.85,.32,1.04) 2.95s forwards,
    pmfSucCheckBreath 3.2s ease-in-out 3.9s infinite;
}
@keyframes pmfSucCheckIn{
  0%   {opacity:0;transform:scale(0);}
  65%  {opacity:1;transform:scale(1.06);}
  100% {opacity:1;transform:scale(1);}
}
@keyframes pmfSucCheckBreath{
  0%,100%{transform:scale(1);}
  50%    {transform:scale(1.035);}
}

.pmf-suc-check-svg{
  width:100%;height:100%;display:block;
  overflow:visible;
  filter:drop-shadow(0 6px 16px rgba(52,120,243,.42)) drop-shadow(0 2px 4px rgba(0,0,0,.25));
}
.pmf-suc-check-circle{
  fill:#3578F3;
}
.pmf-suc-check-mark{
  fill:none;
  stroke:#ffffff;
  stroke-width:7.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:60;
  stroke-dashoffset:60;
}
.pmf-success.show .pmf-suc-check-mark{
  animation:pmfSucMarkDraw .42s cubic-bezier(.4,.0,.2,1) 3.3s forwards;
}
@keyframes pmfSucMarkDraw{
  to{stroke-dashoffset:0;}
}

/* Gold halos expanding outward from the check — three, staggered, ride with the circle entry */
.pmf-suc-halo{
  position:absolute;top:50%;left:50%;
  width:96px;height:96px;margin:-48px 0 0 -48px;
  border-radius:50%;
  border:2px solid rgba(230,201,122,.65);
  opacity:0;transform:scale(.8);
  pointer-events:none;
  box-shadow:0 0 18px rgba(230,201,122,.35);
}
.pmf-success.show .pmf-suc-halo-1{animation:pmfSucHalo 1.4s cubic-bezier(.22,.7,.3,1) 3.1s forwards;}
.pmf-success.show .pmf-suc-halo-2{animation:pmfSucHalo 1.6s cubic-bezier(.22,.7,.3,1) 3.3s forwards;}
.pmf-success.show .pmf-suc-halo-3{animation:pmfSucHalo 1.8s cubic-bezier(.22,.7,.3,1) 3.5s forwards;}
@keyframes pmfSucHalo{
  0%  {opacity:.8;transform:scale(.8); border-color:rgba(230,201,122,.7); box-shadow:0 0 18px rgba(230,201,122,.35);}
  60% {opacity:.35;}
  100%{opacity:0; transform:scale(3.2);border-color:rgba(230,201,122,0);  box-shadow:0 0 0    rgba(230,201,122,0);}
}

/* Drifting gold stardust — subtle, luxurious, each particle eases outward and dims */
.pmf-suc-stardust{
  position:absolute;top:50%;left:50%;
  width:0;height:0;pointer-events:none;
}
.pmf-suc-dust{
  position:absolute;top:0;left:0;
  width:4px;height:4px;border-radius:50%;
  background:#F2D77A;
  box-shadow:0 0 7px rgba(242,215,122,.95), 0 0 14px rgba(242,215,122,.55);
  opacity:0;
  transform:translate(-50%,-50%) scale(.3);
}
.pmf-success.show .pmf-suc-dust{
  animation:pmfSucDust 1.8s cubic-bezier(.22,.7,.3,1) var(--dd,3.5s) forwards;
}
@keyframes pmfSucDust{
  0%  {opacity:0;transform:translate(-50%,-50%) scale(.3);}
  25% {opacity:1;transform:translate(calc(-50% + var(--dx)*.4), calc(-50% + var(--dy)*.4)) scale(1);}
  100%{opacity:0;transform:translate(calc(-50% + var(--dx)),     calc(-50% + var(--dy)))     scale(.6);}
}

/* Title — gold shimmer sweep, arrives right when the check settles */
.pmf-success-title{
  font-family:'Playfair Display',serif;font-size:24px;font-weight:700;color:white;
  letter-spacing:.3px;
  opacity:0;transform:translateY(12px);
  position:relative;z-index:3;
}
.pmf-success.show .pmf-success-title{
  animation:pmfSucTitleIn .7s cubic-bezier(.2,.7,.3,1) 3.45s forwards;
}
@keyframes pmfSucTitleIn{to{opacity:1;transform:translateY(0);}}

.pmf-success-title .pmf-title-text{
  background:linear-gradient(100deg, #fff 0%, #fff 35%, #E6C97A 50%, #fff 65%, #fff 100%);
  background-size:250% 100%;
  background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.pmf-success.show .pmf-title-text{
  animation:pmfSucTitleShimmer 2.2s ease-out 3.85s forwards;
}
@keyframes pmfSucTitleShimmer{
  from{background-position:100% 0;}
  to  {background-position:-100% 0;}
}

.pmf-success-title .pmf-title-star{
  display:inline-block;color:#E6C97A;
  text-shadow:0 0 8px rgba(230,201,122,.55);
}
.pmf-success.show .pmf-title-star{
  animation:pmfSucStar 2.3s ease-in-out 3.85s infinite;
}
@keyframes pmfSucStar{
  0%,100%{transform:scale(1)   rotate(0deg);  text-shadow:0 0 8px  rgba(230,201,122,.55);}
  50%    {transform:scale(1.3) rotate(22deg); text-shadow:0 0 20px rgba(230,201,122,.95);}
}

/* Subtitle — rises just after the title so the two feel like one continuous phrase */
.pmf-success-sub{
  font-size:12.5px;color:rgba(255,255,255,.48);
  letter-spacing:.5px;
  opacity:0;transform:translateY(6px);
  position:relative;z-index:3;
}
.pmf-success.show .pmf-success-sub{
  animation:pmfSucSubIn .6s cubic-bezier(.2,.7,.3,1) 3.7s forwards;
}
@keyframes pmfSucSubIn{to{opacity:1;transform:translateY(0);}}

/* ── Dark Mode ── */
[data-theme="dark"] .mem-lb-frame,
[data-theme="dark"] .pmf-s2-pol,
[data-theme="dark"] .pmf-s4-pol,
[data-theme="dark"] .pmf-confirm-pol{background:var(--card);}
[data-theme="dark"] #pmfConfirm,
[data-theme="dark"] #pmfTripSelect,
[data-theme="dark"] #pmfDetails{background:var(--card);}
[data-theme="dark"] .pmf-s3-wrapper{background:var(--card);border-radius:24px 24px 0 0;}
[data-theme="dark"] .pmf-inline-cal,
[data-theme="dark"] .pmf-note-field,
[data-theme="dark"] .pmf-loc-field,
[data-theme="dark"] .pmf-trip-dropdown,
[data-theme="dark"] .pmf-trip-dropdown-list{background:var(--card);}
[data-theme="dark"] .mem-lb-behind{background:rgba(26,23,20,.82);}
[data-theme="dark"] .mem-detail-sheet{background:var(--card);}
[data-theme="dark"] .pmf-btn-confirm,
[data-theme="dark"] .pmf-save-btn{background:#0F0C09;box-shadow:0 6px 22px rgba(0,0,0,.45);}
[data-theme="dark"] .pmf-btn-secondary{background:var(--card);border-color:var(--border);box-shadow:0 1px 4px rgba(0,0,0,.25);}
[data-theme="dark"] .pmf-btn-secondary:hover{background:#2C2820;border-color:rgba(255,255,255,.18);}
[data-theme="dark"] .pmf-btn-secondary:active{background:#322D24;}
[data-theme="dark"] .pmf-trip-banner{background:var(--card);border-color:var(--border);box-shadow:0 2px 8px rgba(0,0,0,.25);}
[data-theme="dark"] .pmf-banner-change{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);}
