/* PTJ · Lista de Deseos, aislado de los estilos originales de la invitación. */
#ptjWishlistDialog,
#ptjWishlistDialog * { box-sizing: border-box; }

/* Tarjeta exterior, visualmente alineada con Vestimenta */
.ptj-wishlist-card-container {
  position: relative;
}
.ptj-wishlist-card-front {
  width: 100%;
  height: 100%;
  border: 0;
  margin: 0;
  padding: 28px 20px 38px;
  background: transparent;
  color: #fffaf4;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  text-align: center;
}
.ptj-wishlist-card-front:hover { filter: brightness(1.02); }
.ptj-wishlist-card-icon {
  display: inline-flex;
  width: 162px;
  max-width: 72%;
  color: rgba(255,248,241,.98);
  margin-top: 2px;
}
.ptj-wishlist-card-icon svg { width: 100%; height: auto; display: block; }
.ptj-wishlist-card-title {
  display: block;
  font-family: 'Alex Brush', 'Great Vibes', cursive;
  font-size: 56px;
  line-height: .95;
  font-weight: 400;
  letter-spacing: .01em;
  color: #fff8f2;
  text-shadow: 0 1px 1px rgba(0,0,0,.03);
}
.ptj-wishlist-card-subtitle {
  display: block;
  margin-top: 2px;
  font: 11px/1.4 Arial, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255,248,241,.9);
}
.ptj-wishlist-card-front:focus-visible { outline: 2px solid rgba(255,255,255,.9); outline-offset: -7px; }

#ptjWishlistDialog[hidden] {display:none!important;}
#ptjWishlistDialog.ptj-wishlist-overlay { 
  position:fixed; z-index: 2147483000; inset:0; background:rgba(38,29,24,.68);
  display:flex; align-items:center; justify-content:center; padding:16px;
  overscroll-behavior:contain; backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
}
#ptjWishlistDialog .ptj-wishlist-modal {
  position:relative; width:min(100%,490px); max-height:min(92dvh,850px);
  overflow-y:auto; -webkit-overflow-scrolling:touch; 
  border: 1px solid #d6c5ad; border-radius:8px;
  background:#fffaf4; color:#554b42; padding:31px 24px 25px;
  box-shadow:0 25px 70px rgba(22,16,11,.32); font-family:Arial,sans-serif;
}
#ptjWishlistDialog .ptj-wishlist-close {
  position:absolute; top:9px; right:12px; width:39px; height:39px; 
  display:grid; place-items:center; padding:0; border:0; background:transparent; 
  font: 31px/1 Georgia,serif; color:#745f4c; cursor:pointer;
}
#ptjWishlistDialog .ptj-wishlist-modal__head {text-align:center; padding:0 15px 17px; border-bottom:1px solid #e4d6c6; margin-bottom:20px;}
#ptjWishlistDialog .ptj-wishlist-eyebrow { display:block; color:#9c866e; letter-spacing:.22em; font: 10px/1.5 Arial, sans-serif; }
#ptjWishlistDialog .ptj-wishlist-title {
  font-family: 'Luxurious Roman','Times New Roman',Georgia,serif;
  color: #6f5645; font-weight:400; letter-spacing:.01em; line-height:1.15;
  font-size:35px; margin:9px 0 7px;
}
#ptjWishlistDialog .ptj-wishlist-modal__head p {font:14px/1.55 Georgia,serif; margin:0 auto; max-width:340px;color:#7a6d60;}
#ptjWishlistDialog .ptj-wishlist-field {margin-bottom:19px;}
#ptjWishlistDialog .ptj-wishlist-field > label:not(.ptj-wishlist-dropzone) {
  display:block; font:600 13px/1.4 Arial,sans-serif; color:#655245; margin-bottom:9px;
}
#ptjWishlistDialog .ptj-wishlist-field label small {font-size:11px; font-weight:400; color:#948273;}
#ptjWishlistDialog input[type="text"],
#ptjWishlistDialog textarea {
  display:block; width:100%; background:white; border:1px solid #d9c9b7;
  color:#473d35; border-radius:4px; font:14px/1.5 Arial,sans-serif;
  padding:12px 13px; outline-offset:2px; min-height:45px; box-shadow:none;
}
#ptjWishlistDialog textarea { resize:vertical; min-height:93px; }
#ptjWishlistDialog .ptj-wishlist-counter {text-align:right; font:11px/1.3 Arial,sans-serif;color:#937f6e; padding-top:6px;}
#ptjWishlistDialog .ptj-wishlist-dropzone {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-height:122px; border:1px dashed #b9a48a; background:#f7f1e8;
  color:#78634c; border-radius:5px; cursor:pointer; text-align:center; padding:18px 10px;
  font:600 13px/1.4 Arial,sans-serif; gap:7px;
}
#ptjWishlistDialog .ptj-wishlist-dropzone svg {color:#a58b68;}
#ptjWishlistDialog .ptj-wishlist-dropzone small {font-size:11px; font-weight:400;}
#ptjWishlistDialog .ptj-wishlist-file-input {position:absolute; width:1px; height:1px; opacity:0; overflow:hidden;}
#ptjWishlistDialog .ptj-wishlist-limits {margin:9px 0 0;color:#8c796c;font:11px/1.55 Arial,sans-serif;}
#ptjWishlistDialog .ptj-wishlist-file-list {list-style:none; margin:8px 0 0;padding:0;}
#ptjWishlistDialog .ptj-wishlist-file-list li {display:flex; gap:8px; justify-content:space-between; border-bottom:1px solid #eaded1; padding:8px 0; font:11px/1.4 Arial,sans-serif; color:#6b594b;}
#ptjWishlistDialog .ptj-wishlist-file-list li span:first-child {min-width:0; overflow-wrap:anywhere;}
#ptjWishlistDialog .ptj-wishlist-file-list li span:last-child {white-space:nowrap; color:#96806c;}
#ptjWishlistDialog .ptj-wishlist-file-list .ptj-wishlist-file-error {color:#a33e37;}
#ptjWishlistDialog .ptj-wishlist-submit {
  -webkit-appearance:none; appearance:none; border:1px solid #9f886a; background:#92795d;
  color:#fff; padding:14px 19px; min-height:49px; text-transform:none;
  font: 13px/1.2 Arial,sans-serif; letter-spacing:.06em; cursor:pointer;
  border-radius:2px; width:100%; transition: background .2s ease;
  max-width:none; margin:10px 0 7px;
}
#ptjWishlistDialog .ptj-wishlist-submit:hover {background:#745e47;}
#ptjWishlistDialog .ptj-wishlist-submit:disabled {opacity:.6; cursor:wait;}
#ptjWishlistDialog .ptj-wishlist-status {font:12px/1.5 Arial,sans-serif; white-space:pre-line; margin:4px 0; color:#7b5a3f;}
#ptjWishlistDialog .ptj-wishlist-status[data-kind="error"] {color:#9c3f38;}
#ptjWishlistDialog .ptj-wishlist-status[data-kind="ok"] {color:#456a55;}
#ptjWishlistDialog .ptj-wishlist-devnote {font:11px/1.6 Arial,sans-serif; color:#897568; text-align:center; margin:8px 0 0;}
/* El scroll de la invitación se inmoviliza con posición fija y se restaura en JS.
   No cambiar overflow del html: hacerlo provocaba saltos en algunos móviles. */
body.ptj-wishlist-background-locked { position:fixed !important; overflow:hidden !important; }
#ptjWishlistDialog button:focus-visible,
#ptjWishlistDialog input:focus-visible,
#ptjWishlistDialog textarea:focus-visible,
#ptjWishlistDialog .ptj-wishlist-dropzone:focus-within { outline:2px solid #947557; outline-offset:3px; }

@media (max-width:420px) {
  .ptj-wishlist-card-container.flp-Card-container { height: 330px; }
  .ptj-wishlist-card-front { padding: 24px 18px 34px; }
  .ptj-wishlist-card-icon { width: 154px; }
  .ptj-wishlist-card-title { font-size: 50px; }
  #ptjWishlistDialog.ptj-wishlist-overlay {padding:8px; align-items:center;}
  #ptjWishlistDialog .ptj-wishlist-modal {padding:30px 19px 19px; max-height:94dvh;}
  #ptjWishlistDialog .ptj-wishlist-title {font-size:32px;}
}

@media (prefers-reduced-motion:reduce) {
  .ptj-wishlist-card-front,
  #ptjWishlistDialog .ptj-wishlist-submit {transition:none;}
}

/* Identificador familiar reutilizado desde el enlace de invitación */
#ptjWishlistDialog .ptj-wishlist-family {
  display:flex;flex-direction:column;align-items:center;gap:5px;
  margin: 0 0 18px;padding:12px 10px;border:1px solid #e2d1bd;
  background:#f8f0e8;border-radius:5px;color:#6b5546;text-align:center;
}
#ptjWishlistDialog .ptj-wishlist-family span {font:11px/1.2 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;}
#ptjWishlistDialog .ptj-wishlist-family strong {font:normal 20px/1.25 Georgia,serif;overflow-wrap:anywhere;}

/* PTJ Lista de Deseos 1.3 · retroalimentación de procesamiento y subida */
#ptjWishlistDialog .ptj-wishlist-activity[hidden] { display:none !important; }
/* Pantalla de progreso SIEMPRE visible: fuera del scroll interno del modal. */
#ptjWishlistDialog .ptj-wishlist-activity {
  position:absolute; inset:0; z-index:100;
  display:flex; align-items:center; justify-content:center;
  padding:20px; margin:0; gap:0;
  border:0; border-radius:0;
  background:rgba(31,23,19,.58);
  color:#644c3b; font:13px/1.5 Arial,sans-serif;
}
#ptjWishlistDialog .ptj-wishlist-activity__body {
  width:min(330px,100%); min-width:0; flex:none;
  padding:27px 24px 25px; border-radius:12px;
  border:1px solid #e1cfb9; background:#fffaf4;
  box-shadow:0 18px 50px rgba(20,14,10,.23);
  text-align:center;
}
#ptjWishlistDialog .ptj-wishlist-activity__body strong {
  display:block; font-weight:600; font-size:14px;
  margin:12px 0 16px; overflow-wrap:anywhere;
}
#ptjWishlistDialog .ptj-wishlist-activity__body > .ptj-wishlist-spinner {
  width:40px; height:40px; border-width:4px; margin:0 auto;
}
#ptjWishlistDialog .ptj-wishlist-spinner,
#ptjWishlistDialog .ptj-wishlist-submit-spinner {
  display:inline-block; width:23px; height:23px; flex:none;
  border:3px solid rgba(113,88,66,.2); border-top-color:#886c53;
  border-radius:50%; animation:ptj-wishlist-spin .8s linear infinite;
}
#ptjWishlistDialog .ptj-wishlist-progress-track {
  position:relative; overflow:hidden; height:7px; border-radius:999px; background:#dfd0bf;
}
#ptjWishlistDialog .ptj-wishlist-progress-track > span {
  display:block; width:0%; height:100%; border-radius:inherit;
  background:#95795c; transition:width .16s ease;
}
#ptjWishlistDialog .ptj-wishlist-progress-track.ptj-wishlist-indeterminate > span {
  width:40%; animation:ptj-wishlist-slide 1.25s ease-in-out infinite;
}
#ptjWishlistDialog .ptj-wishlist-submit {display:flex; align-items:center; justify-content:center; gap:10px;}
#ptjWishlistDialog .ptj-wishlist-submit-spinner {
  display:none; width:16px; height:16px; border-width:2px;
  border-color:rgba(255,255,255,.32); border-top-color:white;
}
#ptjWishlistDialog .ptj-wishlist-submit.ptj-wishlist-is-busy .ptj-wishlist-submit-spinner {display:inline-block;}
#ptjWishlistDialog .ptj-wishlist-submit.ptj-wishlist-is-busy { opacity:1; cursor:progress; }
@keyframes ptj-wishlist-spin {to {transform:rotate(360deg);}}
@keyframes ptj-wishlist-slide {0% {transform:translateX(-110%);} 100% {transform:translateX(270%);}}
@media(prefers-reduced-motion:reduce) {
 #ptjWishlistDialog .ptj-wishlist-spinner, #ptjWishlistDialog .ptj-wishlist-submit-spinner {animation-duration:1.6s;}
 #ptjWishlistDialog .ptj-wishlist-progress-track.ptj-wishlist-indeterminate > span {animation-duration:2.5s;}
}
