/* Sprint 37 - Wizard rediseño */
.wizard37-container { max-width:900px; margin:2rem auto; padding:0 1rem; }
.wizard37-card { background:#fff; border-radius:16px; box-shadow:0 4px 20px rgba(0,0,0,.06); padding:2.5rem; margin-bottom:1.5rem; }
.wizard37-card__title { font-family:'Playfair Display',serif; font-size:1.75rem; color:#C9184A; margin:0 0 .5rem; line-height:1.2; }
.wizard37-card__subtitle { color:#6B7280; font-size:1rem; margin:0 0 2rem; }
.wizard37-field { margin-bottom:1.5rem; }
.wizard37-field label { display:block; font-weight:600; color:#1F1F1F; margin-bottom:.5rem; font-size:1rem; }
.wizard37-field input[type="text"], .wizard37-field textarea, .wizard37-field select {
    width:100%; padding:.85rem 1rem; border:2px solid #E5E7EB; border-radius:10px;
    font-size:1rem; transition:all .15s; font-family:inherit;
}
.wizard37-field input:focus, .wizard37-field textarea:focus, .wizard37-field select:focus {
    outline:none; border-color:#C9184A; box-shadow:0 0 0 3px rgba(201,24,74,.1);
}
.wizard37-field textarea { min-height:140px; resize:vertical; line-height:1.5; }
.wizard37-help { color:#6B7280; font-size:.875rem; margin-top:.35rem; }
.wizard37-counter { float:right; color:#9CA3AF; font-size:.875rem; }
.wizard37-counter.warn { color:#D97706; }

/* Cards de privacidad */
.wizard37-privacy-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; }
.wizard37-privacy-card { position:relative; padding:1.5rem; border:2px solid #E5E7EB; border-radius:14px; cursor:pointer; transition:all .15s; background:#fff; }
.wizard37-privacy-card:hover { border-color:#C9184A; transform:translateY(-2px); box-shadow:0 8px 24px rgba(201,24,74,.08); }
.wizard37-privacy-card.is-locked { opacity:.65; cursor:not-allowed; }
.wizard37-privacy-card.is-locked:hover { transform:none; border-color:#E5E7EB; box-shadow:none; }
.wizard37-privacy-card input[type="radio"] { position:absolute; opacity:0; pointer-events:none; }
.wizard37-privacy-card input[type="radio"]:checked + .wizard37-privacy-card__content { color:inherit; }
.wizard37-privacy-card:has(input:checked) { border-color:#C9184A; background:linear-gradient(135deg,#FFF1F5,#FFFFFF); }
.wizard37-privacy-card__icon { font-size:2.5rem; margin-bottom:.5rem; display:block; }
.wizard37-privacy-card__title { font-weight:700; font-size:1.1rem; color:#1F1F1F; margin-bottom:.35rem; }
.wizard37-privacy-card__desc { font-size:.875rem; color:#6B7280; line-height:1.5; }
.wizard37-privacy-card__lock { position:absolute; top:.75rem; right:.75rem; background:#FEF3C7; color:#D97706; padding:.25rem .6rem; border-radius:99px; font-size:.75rem; font-weight:600; }

/* Opciones avanzadas (sorpresa, fecha) */
.wizard37-advanced { margin-top:2rem; padding-top:2rem; border-top:1px solid #E5E7EB; }
.wizard37-advanced__title { font-size:1rem; font-weight:600; color:#374151; margin-bottom:1rem; }
.wizard37-toggle-card { display:flex; gap:1rem; padding:1.25rem; background:#F9FAFB; border-radius:12px; margin-bottom:1rem; border:1px solid #E5E7EB; }
.wizard37-toggle-card.is-locked { opacity:.7; background:#FAFAFA; }
.wizard37-toggle-card input[type="checkbox"] { width:20px; height:20px; flex-shrink:0; margin-top:.25rem; }
.wizard37-toggle-card__content { flex:1; }
.wizard37-toggle-card__title { font-weight:600; color:#1F1F1F; margin-bottom:.25rem; }
.wizard37-toggle-card__desc { font-size:.875rem; color:#6B7280; line-height:1.5; }
.wizard37-toggle-card__lock { display:inline-block; background:#FEF3C7; color:#D97706; padding:.15rem .5rem; border-radius:99px; font-size:.7rem; font-weight:600; margin-left:.5rem; }

/* Media unificado (step 4) */
.wizard37-media-section { margin-bottom:2rem; padding-bottom:2rem; border-bottom:1px solid #E5E7EB; }
.wizard37-media-section:last-child { border-bottom:none; padding-bottom:0; margin-bottom:0; }
.wizard37-media-section__title { font-size:1.125rem; font-weight:700; color:#1F1F1F; margin-bottom:.5rem; display:flex; align-items:center; gap:.5rem; }

/* Music tracks dropdown */
.wizard37-music-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:.75rem; }
.wizard37-music-track { position:relative; padding:1rem; border:2px solid #E5E7EB; border-radius:10px; cursor:pointer; transition:all .15s; }
.wizard37-music-track:hover { border-color:#C9184A; }
.wizard37-music-track:has(input:checked) { border-color:#C9184A; background:#FFF1F5; }
.wizard37-music-track input { position:absolute; opacity:0; pointer-events:none; }
.wizard37-music-track__title { font-weight:600; font-size:.95rem; color:#1F1F1F; margin-bottom:.25rem; }
.wizard37-music-track__meta { font-size:.8rem; color:#6B7280; }
.wizard37-music-track__play { display:inline-flex; align-items:center; gap:.25rem; padding:.35rem .75rem; background:#C9184A; color:#fff; border:none; border-radius:99px; font-size:.8rem; cursor:pointer; margin-top:.5rem; }
.wizard37-music-track__play.is-playing { background:#D4A24C; }

/* Botones nav */
.wizard37-nav { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:2rem; }
.wizard37-btn { padding:.85rem 1.75rem; border-radius:10px; border:none; font-weight:600; font-size:1rem; cursor:pointer; transition:all .15s; text-decoration:none; display:inline-flex; align-items:center; gap:.5rem; }
.wizard37-btn--primary { background:linear-gradient(135deg,#C9184A,#A30E37); color:#fff; }
.wizard37-btn--primary:hover { transform:translateY(-1px); box-shadow:0 4px 12px rgba(201,24,74,.3); }
.wizard37-btn--secondary { background:#F3F4F6; color:#374151; }
.wizard37-btn--secondary:hover { background:#E5E7EB; }
.wizard37-btn--large { padding:1.15rem 2.5rem; font-size:1.125rem; }

/* Preview */
.wizard37-preview { background:#FFFBF5; border:1px solid #FED7AA; border-radius:14px; padding:1.5rem; }
.wizard37-preview__title { font-family:'Playfair Display',serif; font-size:1.5rem; color:#C9184A; margin:0 0 .5rem; }
.wizard37-preview__message { font-size:1rem; color:#374151; line-height:1.7; white-space:pre-wrap; min-height:50px; }
.wizard37-preview__meta { display:flex; gap:1rem; margin-top:1rem; padding-top:1rem; border-top:1px dashed #FED7AA; font-size:.875rem; color:#6B7280; }

/* Plantilla cards */
.wizard37-template-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:1rem; }
.wizard37-template-card { border:2px solid #E5E7EB; border-radius:12px; padding:1rem; cursor:pointer; transition:all .15s; text-align:center; }
.wizard37-template-card:hover { border-color:#C9184A; }
.wizard37-template-card:has(input:checked) { border-color:#C9184A; background:#FFF1F5; box-shadow:0 4px 12px rgba(201,24,74,.1); }
.wizard37-template-card input { position:absolute; opacity:0; pointer-events:none; }
.wizard37-template-card__icon { font-size:2.5rem; }
.wizard37-template-card__name { font-weight:600; margin-top:.5rem; font-size:.95rem; }
.wizard37-template-card__lock { font-size:.7rem; background:#FEF3C7; color:#D97706; padding:.15rem .5rem; border-radius:99px; display:inline-block; margin-top:.25rem; }

/* Categorias */
.wizard37-category-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:.75rem; margin-bottom:1.5rem; }
.wizard37-category-card { border:2px solid #E5E7EB; border-radius:12px; padding:.85rem; cursor:pointer; transition:all .15s; text-align:center; }
.wizard37-category-card:hover { border-color:#C9184A; }
.wizard37-category-card:has(input:checked) { border-color:#C9184A; background:#FFF1F5; }
.wizard37-category-card input { position:absolute; opacity:0; pointer-events:none; }
.wizard37-category-card__icon { font-size:1.75rem; }
.wizard37-category-card__name { font-weight:500; margin-top:.35rem; font-size:.85rem; }

@media (max-width:640px) {
    .wizard37-card { padding:1.5rem; }
    .wizard37-card__title { font-size:1.4rem; }
    .wizard37-privacy-cards { grid-template-columns:1fr; }
    .wizard37-nav { flex-direction:column; }
    .wizard37-btn { width:100%; justify-content:center; }
}


/* Sprint 37 - estilos adicionales para coherencia con layout user */
.wizard37-container { max-width:960px; margin:0 auto; padding:1rem; }
.wizard37-step2-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:start; }
.wizard37-preview-col { position:sticky; top:1rem; }
.wizard37-preview-col__heading { font-size:.85rem; color:#9CA3AF; text-transform:uppercase; letter-spacing:.05em; margin:0 0 .5rem; }
.wizard37-preview__recipient { font-size:.875rem; color:#6B7280; margin-bottom:.5rem; }
.wizard37-mini-lock { font-size:.7rem; background:#FEF3C7; color:#D97706; padding:.2rem .6rem; border-radius:99px; margin-left:.5rem; }
.wizard37-help-box { background:#F9FAFB; padding:1rem; border-radius:8px; }
.wizard37-help-info { background:#FFFBEB; padding:1rem; border-radius:8px; border:1px solid #FDE68A; }
.wizard37-input-inline { padding:.5rem; border:1px solid #E5E7EB; border-radius:8px; width:100%; font-family:inherit; }
.wizard37-summary-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:.75rem; margin-bottom:1.5rem; }
.wizard37-summary-item { padding:1rem; background:#F9FAFB; border-radius:10px; }
.wizard37-summary-item--highlight { background:#FEF3C7; }
.wizard37-summary-item__label { font-size:.75rem; color:#6B7280; text-transform:uppercase; letter-spacing:.04em; margin-bottom:.25rem; }
.wizard37-summary-item--highlight .wizard37-summary-item__label { color:#D97706; }
.wizard37-summary-item__value { font-weight:600; color:#1F1F1F; }
.wizard37-success-note { text-align:center; color:#065F46; padding:1rem; background:#F0FDF4; border-radius:10px; border:1px solid #BBF7D0; }
@media (max-width:768px) {
    .wizard37-step2-grid { grid-template-columns:1fr; }
    .wizard37-preview-col { position:static; }
}


/* Mobile improvements - wizard37-mobile-fix */
.wizard37-container { padding: 1rem 0.75rem; }
.wizard37-card { padding: 1.5rem 1.25rem; margin-bottom: 1rem; }
.wizard37-card__title { font-size: 1.5rem; line-height: 1.2; margin-bottom: 0.5rem; }
.wizard37-card__subtitle { font-size: 0.95rem; margin-bottom: 1.25rem; }
@media (max-width: 768px) {
    .wizard37-container { padding: 0.5rem; }
    .wizard37-card { padding: 1.25rem 1rem; border-radius: 12px; }
    .wizard37-card__title { font-size: 1.25rem; }
    .wizard37-step2-grid { grid-template-columns: 1fr; gap: 1rem; }
    .wizard37-preview-col { position: static; }
    .wizard37-field { margin-bottom: 1rem; }
    .wizard37-field input, .wizard37-field textarea { font-size: 16px; padding: 0.7rem; }
    .wizard37-privacy-cards { grid-template-columns: 1fr; gap: 0.75rem; }
    .wizard37-music-grid { grid-template-columns: 1fr 1fr; gap: 0.5rem; }
    .wizard37-nav { flex-direction: column; gap: 0.75rem; }
    .wizard37-btn { width: 100%; justify-content: center; }
    .wizard37-summary-grid { grid-template-columns: 1fr; }
}
.wizard-progress { margin-bottom: 1rem; }


/* Wizard progress - FORCED (sobrescribe cualquier estilo previo) */
.wizard-progress { max-width: 900px !important; margin: 1rem auto 1.5rem !important; padding: 0 1rem !important; list-style: none !important; }
.wizard-progress__bar { height: 6px !important; background: #E5E7EB !important; border-radius: 99px !important; overflow: hidden !important; margin-bottom: 1rem !important; }
.wizard-progress__fill { height: 100% !important; background: linear-gradient(90deg, #C9184A, #D4A24C) !important; transition: width .3s ease !important; }
.wizard-progress__steps, ol.wizard-progress__steps { display: flex !important; justify-content: space-between !important; align-items: flex-start !important; list-style: none !important; list-style-type: none !important; padding: 0 !important; margin: 0 !important; gap: .5rem !important; counter-reset: none !important; }
.wizard-progress__steps li { list-style: none !important; list-style-type: none !important; }
.wizard-progress__steps li::marker { content: '' !important; display: none !important; }
.wizard-progress__step { display: flex !important; flex-direction: column !important; align-items: center !important; gap: .35rem !important; flex: 1 !important; min-width: 0 !important; text-align: center !important; list-style: none !important; }
.wizard-progress__num { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 36px !important; height: 36px !important; border-radius: 50% !important; background: #E5E7EB !important; color: #9CA3AF !important; font-weight: 700 !important; font-size: .95rem !important; transition: all .2s !important; flex-shrink: 0 !important; }
.wizard-progress__label { font-size: .8rem !important; color: #6B7280 !important; font-weight: 500 !important; line-height: 1.2 !important; }
.wizard-progress__step.is-done .wizard-progress__num { background: #10B981 !important; color: #fff !important; }
.wizard-progress__step.is-active .wizard-progress__num { background: #C9184A !important; color: #fff !important; box-shadow: 0 0 0 4px rgba(201,24,74,.15) !important; transform: scale(1.1) !important; }
.wizard-progress__step.is-active .wizard-progress__label { color: #C9184A !important; font-weight: 700 !important; }


/* Mobile fix - oculta sidebar y elimina espacio blanco */
@media (max-width: 768px) {
    .user-sidebar { display: none !important; }
    .user-layout { display: block !important; grid-template-columns: none !important; padding: 0 !important; margin: 0 !important; }
    .user-main { margin-left: 0 !important; padding: 0 !important; width: 100% !important; min-height: auto !important; }
    .user-content { padding: 0.75rem !important; min-height: auto !important; }
    .user-header { padding: 0.75rem 1rem !important; }
    body.user-body { padding-top: 0 !important; margin-top: 0 !important; }
    .wizard37-container { padding: 0.5rem !important; }
    .wizard37-card { padding: 1rem !important; margin-bottom: 0.75rem !important; }
}


/* Video embed responsive */
.video-embed { position: relative; width: 100%; max-width: 700px; margin: 1.5rem auto; }
.video-embed--youtube { aspect-ratio: 16/9; }
.video-embed--youtube iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 12px; }
.video-embed--tiktok, .video-embed--instagram { max-width: 500px; min-height: 600px; }
.video-embed--tiktok iframe, .video-embed--instagram iframe { width: 100%; max-width: 500px; min-height: 600px; border: 0; }

/* Edit form: video URL preview */
.video-url-preview { margin-top: .75rem; padding: 1rem; background: #F9FAFB; border-radius: 8px; min-height: 60px; border: 1px dashed #D1D5DB; }
.video-url-preview .video-embed { margin: 0; max-width: 100%; }
.video-url-error { color: #DC2626; font-size: .85rem; padding: .35rem 0; }
.video-url-ok { color: #059669; font-size: .85rem; padding: .35rem 0; }

/* Photo upload preview */
.photo-upload-preview { margin-top: .75rem; max-width: 400px; }
.photo-upload-preview img { width: 100%; border-radius: 12px; }
.photo-current { display: flex; align-items: flex-start; gap: 1rem; flex-wrap: wrap; }
.photo-current__img { max-width: 200px; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,.08); }


/* === Edit page: galeria de fotos === */
.ded-photos-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: .75rem; margin: .75rem 0 1rem; }
.ded-photo-item { position: relative; aspect-ratio: 1/1; border-radius: 10px; overflow: hidden; cursor: pointer; box-shadow: 0 2px 6px rgba(0,0,0,.08); display: block; }
.ded-photo-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ded-photo-item__delete { position: absolute; inset: auto 0 0 0; padding: .35rem .5rem; background: rgba(0,0,0,.7); color: #fff; font-size: .8rem; display: flex; align-items: center; gap: .35rem; cursor: pointer; }
.ded-photo-item__delete input { margin: 0; }
.ded-photo-item:has(input:checked) { outline: 3px solid #DC2626; outline-offset: -3px; }
.ded-photo-item:has(input:checked) img { opacity: .5; }
.ded-photo-item:has(input:checked) .ded-photo-item__delete { background: #DC2626; font-weight: 700; }
@media (max-width: 600px) {
    .ded-photos-grid { grid-template-columns: repeat(3, 1fr); }
}
