/* Retrato de regalo en el paso de fotos (assets/js/retrato.js) */
.cm-ret{margin:18px 0 4px;padding:16px;border-radius:16px;background:linear-gradient(135deg,#F3EFFF 0%,#FFF0F0 100%);border:1px solid #E4DAF7;position:relative;overflow:hidden}
.cm-ret[hidden]{display:none}
.cm-ret-cab{display:flex;gap:12px;align-items:flex-start}
.cm-ret-ico{flex:none;width:42px;height:42px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:1.35rem;box-shadow:0 4px 12px rgba(124,92,191,.15)}
.cm-ret-cab strong{display:block;font-family:'Nunito',sans-serif;font-size:1rem;color:#1A1A2E;line-height:1.3;margin-bottom:3px}
.cm-ret .cm-ret-d{display:block;font-size:.86rem;color:#5B5873;line-height:1.45;font-weight:400}
.cm-ret .cm-ret-n{display:inline;font:inherit;color:inherit}
.cm-ret-cab b{color:#7C5CBF}
.cm-ret-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}
.cm-ret-email{width:100%;min-width:0;padding:11px 14px;border:1.5px solid #D9CEF3;border-radius:50px;font-size:16px;background:#fff;color:#1A1A2E}
.cm-ret-email:focus{outline:none;border-color:#7C5CBF;box-shadow:0 0 0 3px rgba(124,92,191,.15)}
.cm-ret .cm-ret-btn{border:none!important;border-radius:50px!important;padding:11px 18px!important;background:#FF6B6B!important;color:#fff!important;width:auto;height:auto;line-height:1.2;font-weight:800;font-family:'Nunito',sans-serif;font-size:.92rem;cursor:pointer;white-space:nowrap;box-shadow:0 6px 16px rgba(255,107,107,.35)}
.cm-ret .cm-ret-btn:hover{background:#E55A5A!important}
.cm-ret .cm-ret-btn:disabled{opacity:.7;cursor:wait}
.cm-ret-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.cm-ret-acepta{grid-column:1/-1;display:flex;gap:8px;align-items:flex-start;font-size:.78rem;color:#5B5873;line-height:1.4;cursor:pointer}
.cm-ret-acepta input{margin-top:2px;flex:none;width:16px;height:16px;accent-color:#7C5CBF}
.cm-ret-acepta a{color:#7C5CBF}
.cm-ret-err{grid-column:1/-1;margin:0;color:#D64545;font-size:.82rem;font-weight:600}
.cm-ret-barra{height:6px;border-radius:6px;background:rgba(124,92,191,.15);margin-top:10px;overflow:hidden}
.cm-ret-barra i{display:block;height:100%;width:40%;border-radius:6px;background:linear-gradient(90deg,#7C5CBF,#FF6B6B);animation:cmRetBarra 1.6s ease-in-out infinite}
@keyframes cmRetBarra{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}
.cm-ret-pincel{animation:cmRetPincel 1.2s ease-in-out infinite}
@keyframes cmRetPincel{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
.cm-ret-hecho{display:flex;gap:14px;align-items:center;background:linear-gradient(135deg,#FFF8DB 0%,#FFF0F0 100%);border-color:#F6E2A6;animation:cmRetIn .5s ease}
.cm-ret-img{flex:none;width:112px;height:112px;border-radius:14px;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.15);border:3px solid #fff}
.cm-ret-img img{width:100%;height:100%;object-fit:cover;display:block}
.cm-ret-txt strong{display:block;font-family:'Nunito',sans-serif;font-size:1rem;color:#1A1A2E;margin-bottom:4px}
@keyframes cmRetIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@media (max-width:480px){
    .cm-ret-form{grid-template-columns:1fr}
    .cm-ret .cm-ret-btn{width:100%}
    .cm-ret-img{width:92px;height:92px}
}
