
.caza-wrap{--caza-navy:#0b1b57;--caza-blue:#2f6df6;--caza-cyan:#2cd4cb;--caza-purple:#b64cff;--caza-bg:#f5f7fb;--caza-text:#1f2a44;--caza-muted:#667085;--caza-border:#e7eaf3;--caza-card:#ffffff;max-width:1180px;margin:0 auto;padding:26px 16px 48px;font-family:var(--caza-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif);background:var(--caza-page-bg,var(--caza-bg));color:var(--caza-text)}
.caza-page-header{margin:0 0 26px}.caza-page-header-main{padding-top:8px}.caza-kicker{display:inline-block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--caza-blue);font-weight:700;margin-bottom:10px}.caza-page-title,.caza-campaign-title{margin:0 0 14px;color:var(--caza-campaign-title-color,var(--caza-navy));font-size:clamp(34px,5vw,58px);line-height:1.02;font-weight:800}.caza-page-intro,.caza-description,.caza-wrap .caza-found-card p{color:var(--caza-description-color,var(--caza-muted));font-size:18px;line-height:1.65;max-width:820px}.caza-page-header:after,.caza-section-heading h2:after{content:"";display:block;width:140px;height:5px;border-radius:999px;background:linear-gradient(90deg,var(--caza-blue),var(--caza-purple));margin-top:14px}
.caza-panel,.caza-found-card{background:var(--caza-card);border:1px solid var(--caza-border);border-radius:26px;padding:22px;box-shadow:0 18px 45px rgba(15,23,42,.06);margin:18px 0}.caza-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:13px 22px;border-radius:999px;border:0;cursor:pointer;text-decoration:none!important;font-weight:700;font-size:15px;background:linear-gradient(135deg,var(--caza-button-bg,var(--caza-blue)),var(--caza-button-active-bg,var(--caza-purple)));color:var(--caza-button-text,#fff)!important;box-shadow:0 14px 32px rgba(47,109,246,.22);transition:transform .18s ease,box-shadow .18s ease}.caza-button:hover,.caza-button:focus{transform:translateY(-1px);box-shadow:0 18px 36px rgba(47,109,246,.28)}.caza-button.caza-button-secondary{background:#eef2ff!important;color:var(--caza-navy)!important;box-shadow:none}.caza-button.caza-button-secondary:hover{background:#e0e7ff!important}
.caza-form{display:grid;gap:16px;max-width:620px}.caza-form label{font-weight:600;color:var(--caza-text)}.caza-form input[type=text],.caza-form input[type=email]{width:100%;padding:13px 14px;border:1px solid #d7ddeb;border-radius:14px;background:#fff;font-size:15px;color:var(--caza-text)}.caza-form input:focus{outline:none;border-color:#90b1ff;box-shadow:0 0 0 4px rgba(47,109,246,.12)}.caza-check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px;color:var(--caza-muted)}
.caza-campaign-grid,.caza-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px}.caza-collectible-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.caza-campaign-card{overflow:hidden;padding:0;display:flex;flex-direction:column;gap:0}.caza-card-body{padding:20px 22px 24px}.caza-card-meta,.caza-meta-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}.caza-badge,.caza-mini-meta{display:inline-flex;align-items:center;min-height:30px;padding:6px 12px;border-radius:999px;background:#eef2ff;color:var(--caza-navy);font-size:13px;font-weight:700}.caza-mini-meta{background:#f4f7fb;color:#52607a;font-weight:600}.caza-campaign-image-link{text-decoration:none;display:block}.caza-campaign-image,.caza-campaign-hero-image{width:100%;display:block;object-fit:cover;border-radius:24px;box-shadow:0 18px 36px rgba(20,37,80,.12)}.caza-campaign-image{aspect-ratio:16/10;border-bottom-left-radius:0;border-bottom-right-radius:0;box-shadow:none}.caza-campaign-hero{margin:0}.caza-campaign-image-placeholder{height:240px}
.caza-campaign-shell{display:grid;gap:24px;align-items:center;margin-bottom:26px}.caza-campaign-summary{background:#fff;border:1px solid var(--caza-border);border-radius:28px;padding:24px;box-shadow:0 18px 42px rgba(15,23,42,.06)}
.caza-item{text-align:center;border:1px solid var(--caza-border);border-radius:22px;padding:16px;background:#fff;box-shadow:0 12px 26px rgba(15,23,42,.04)}.caza-item h3,.caza-wrap .caza-item-title,.caza-wrap .caza-campaign h3{margin:12px 0 8px;color:var(--caza-item-title-color,var(--caza-navy));font-size:21px;line-height:1.2;font-weight:800}.caza-item p{margin:0;color:#68748c;font-size:14px}.caza-img{padding:10px;background:#f8faff;border-radius:18px}.caza-img img{width:100%;height:160px;object-fit:contain;max-width:var(--caza-image-collection-size,140px);margin:0 auto;border-radius:var(--caza-image-radius,18px);box-shadow:var(--caza-image-shadow,0 12px 30px rgba(0,0,0,.10))}.caza-item.is-missing .caza-img img,.caza-item-preview .caza-img img{filter:grayscale(var(--caza-missing-grayscale,100%));opacity:.42}.caza-item.is-found{border-color:#b8f1d1;box-shadow:0 14px 28px rgba(34,197,94,.12)}
.caza-progress-box{margin:14px 0 4px;padding:16px 18px;border-radius:18px;background:#f8faff;border:1px solid var(--caza-border)}.caza-progress-label{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--caza-text);margin-bottom:10px}.caza-progressbar{height:10px;border-radius:999px;background:#e6ebf5;overflow:hidden}.caza-progressbar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--caza-blue),var(--caza-cyan))}.caza-progress{background:#f8faff;border-radius:18px;padding:14px 16px;border:1px solid var(--caza-border)}
.caza-placeholder{height:160px;border:1px dashed #cfd8eb;border-radius:18px;display:flex;align-items:center;justify-content:center;color:#64748b;background:#f8fafc}.caza-notice{margin:16px 0;padding:15px 18px;border-radius:18px;background:#f5f7fb;border:1px solid var(--caza-border);color:#475467}.caza-notice.caza-success{background:#eefaf4;border-color:#ccefd9;color:#12764b}.caza-complete{border-radius:18px;background:#fff8dc;border:1px solid #fde68a;padding:15px 18px;margin:18px 0;font-weight:700;color:#7a5a00}.caza-location{margin:14px auto;padding:12px 16px;border-radius:14px;background:var(--caza-location-bg,#f4f7fb);color:var(--caza-location-text,#334155);font-size:15px;max-width:700px}
.caza-found-card{text-align:center}.caza-found-card img,.caza-detail-img{width:100%;max-width:var(--caza-image-detail-size,340px);height:auto;border-radius:var(--caza-image-radius,18px);box-shadow:var(--caza-image-shadow,0 16px 36px rgba(0,0,0,.14));margin:0 auto 10px}.caza-found-card-large{padding:28px}.caza-info-strip{background:#f8faff}.caza-section{margin-top:24px}.caza-section-heading{display:flex;flex-direction:column;gap:4px;margin-bottom:18px}.caza-section-heading h2{margin:0;color:var(--caza-navy);font-size:28px}.caza-section-heading p{margin:0;color:var(--caza-muted)}.caza-form-card{max-width:760px}.caza-inline-hero-image{margin-bottom:20px;max-width:380px}
.caza-my-collections .caza-panel,.caza-finished .caza-panel{margin-bottom:24px}.caza-completed-campaign .caza-campaign-hero{margin-bottom:18px}
@media (min-width: 880px){.caza-campaign-shell{grid-template-columns:minmax(320px,430px) 1fr}.caza-wrap{padding-top:34px}.caza-page-header-main{padding-top:14px}}
@media (max-width: 699px){.caza-wrap{padding:22px 14px 40px}.caza-page-title,.caza-campaign-title{font-size:40px}.caza-page-intro,.caza-description{font-size:16px}.caza-grid,.caza-campaign-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.caza-collectible-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.caza-card-body,.caza-panel,.caza-found-card{padding:18px}.caza-progress-label{font-size:13px}}
@media (max-width: 420px){.caza-grid,.caza-campaign-grid,.caza-collectible-grid{grid-template-columns:1fr 1fr}.caza-page-title,.caza-campaign-title{font-size:34px}}


/* Consentimientos separados */
.caza-check{
    display:grid;
    grid-template-columns:20px 1fr;
    align-items:start;
    gap:10px;
    width:100%;
    line-height:1.45;
}
.caza-check input[type=checkbox]{
    margin-top:3px;
    width:16px;
    height:16px;
}
.caza-check span{
    display:block;
    min-width:0;
}
.caza-check a{
    color:var(--caza-blue,#2f6df6);
    font-weight:700;
    text-decoration:none;
}
.caza-check a:hover{
    text-decoration:underline;
}


/* Estructura simplificada: Colecciones como página única */
.caza-collection-lookup{
    margin-bottom:26px;
}
.caza-campaign-card.is-not-joined .caza-campaign-image{
    filter:grayscale(.85);
    opacity:.72;
}
.caza-campaign-card.is-joined .caza-campaign-image,
.caza-campaign-card.is-completed .caza-campaign-image{
    filter:none;
    opacity:1;
}
.caza-badge-joined{
    background:#e8f7ff;
    color:#075985;
}
.caza-badge-completed{
    background:#ecfdf3;
    color:#067647;
}
.caza-card-progress{
    margin-top:16px;
}
.caza-signup-inline{
    margin-top:18px;
}
.caza-access-panel{
    background:linear-gradient(180deg,#ffffff,#f8faff);
}


/* Navegación pública y Mis datos */
.caza-public-nav{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin:0 0 24px;
}
.caza-public-nav a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 18px;
    border-radius:999px;
    text-decoration:none!important;
    font-weight:800;
    color:var(--caza-navy,#0b1b57);
    background:#fff;
    border:1px solid var(--caza-border,#e7eaf3);
    box-shadow:0 10px 24px rgba(15,23,42,.05);
}
.caza-public-nav a.is-active{
    color:#fff!important;
    background:linear-gradient(135deg,var(--caza-blue,#2f6df6),var(--caza-purple,#b64cff));
    border-color:transparent;
}
.caza-campaign-image-link{
    position:relative;
    overflow:hidden;
}
.caza-completed-ribbon{
    position:absolute;
    top:18px;
    right:-42px;
    z-index:3;
    transform:rotate(35deg);
    min-width:170px;
    text-align:center;
    padding:9px 16px;
    background:linear-gradient(135deg,#16a34a,#22c55e);
    color:#fff;
    font-size:13px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    box-shadow:0 12px 24px rgba(22,163,74,.25);
}
.caza-profile-campaigns{
    display:grid;
    gap:14px;
}
.caza-profile-row{
    display:grid;
    grid-template-columns:1fr auto auto;
    gap:10px;
    align-items:center;
    padding:14px;
    border:1px solid var(--caza-border,#e7eaf3);
    border-radius:18px;
    background:#f8faff;
}
.caza-profile-row .caza-progressbar{
    grid-column:1 / -1;
}
@media(max-width:560px){
    .caza-public-nav a{
        flex:1 1 auto;
    }
    .caza-profile-row{
        grid-template-columns:1fr;
    }
}


/* Ajustes v0.3.3: colecciones, cinta completada y responsive */
.caza-page-campaigns .caza-campaign-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}

.caza-completed-ribbon{
    top:50%;
    left:50%;
    right:auto;
    transform:translate(-50%,-50%) rotate(-8deg);
    min-width:auto;
    width:max-content;
    max-width:82%;
    padding:12px 26px;
    border-radius:999px;
    background:linear-gradient(135deg,#16a34a,#22c55e);
    box-shadow:0 18px 34px rgba(22,163,74,.28);
    font-size:14px;
    letter-spacing:.08em;
}

.caza-campaign-card.is-completed .caza-campaign-image-link:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(5,25,15,.03),rgba(5,25,15,.14));
    pointer-events:none;
}

@media(max-width:760px){
    .caza-page-campaigns .caza-campaign-grid{
        grid-template-columns:1fr;
    }
}


/* Mis datos: sesión activa */
.caza-profile-session{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
}
.caza-profile-session p{
    margin:.35rem 0 0;
    color:var(--caza-muted,#667085);
}
@media(max-width:640px){
    .caza-profile-session{
        align-items:stretch;
        flex-direction:column;
    }
    .caza-profile-session .caza-button{
        width:100%;
    }
}


/* Colecciona QR v0.3.5 - Perfil visual del participante */
.caza-user-dashboard-card{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto auto;
    gap:18px;
    align-items:center;
    background:#fff;
    border:1px solid var(--caza-border,#e7eaf3);
    border-radius:26px;
    padding:22px;
    box-shadow:0 18px 45px rgba(15,23,42,.06);
    margin-bottom:20px;
}
.caza-user-avatar{
    width:74px;
    height:74px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#fff;
    font-weight:900;
    font-size:30px;
    background:linear-gradient(135deg,var(--caza-blue,#2f6df6),var(--caza-purple,#b64cff));
    box-shadow:0 14px 34px rgba(47,109,246,.25);
}
.caza-user-info h2{
    margin:0 0 4px;
    color:var(--caza-navy,#0b1b57);
}
.caza-user-info p{
    margin:3px 0;
    color:var(--caza-muted,#667085);
}
.caza-user-stats{
    display:flex;
    gap:14px;
}
.caza-user-stats div{
    min-width:116px;
    padding:14px 16px;
    border-left:1px solid var(--caza-border,#e7eaf3);
}
.caza-user-stats span{
    display:block;
    color:var(--caza-muted,#667085);
    font-weight:700;
    font-size:13px;
}
.caza-user-stats strong{
    display:block;
    color:var(--caza-navy,#0b1b57);
    font-size:26px;
    margin-top:4px;
}
.caza-profile-edit-card{
    margin-bottom:20px;
}
.caza-profile-progress-card{
    overflow:hidden;
}
.caza-profile-progress-head{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:flex-start;
    margin-bottom:14px;
}
.caza-profile-progress-head h2{
    margin:0;
    color:var(--caza-navy,#0b1b57);
}
.caza-profile-progress-head p{
    margin:4px 0 0;
    color:var(--caza-purple,#b64cff);
    font-weight:700;
}
.caza-profile-progress-head span{
    color:var(--caza-muted,#667085);
    font-size:14px;
}
.caza-profile-table{
    border:1px solid var(--caza-border,#e7eaf3);
    border-radius:18px;
    overflow:hidden;
}
.caza-profile-table-head,
.caza-profile-table-row{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(180px,.8fr) minmax(120px,.55fr);
    gap:14px;
    align-items:center;
    padding:14px 16px;
}
.caza-profile-table-head{
    background:#fbfcff;
    color:var(--caza-muted,#667085);
    font-weight:800;
    font-size:13px;
}
.caza-profile-table-row{
    color:var(--caza-text,#1f2a44);
    text-decoration:none!important;
    border-top:1px solid var(--caza-border,#e7eaf3);
}
.caza-profile-table-row:hover{
    background:#f8faff;
}
.caza-profile-campaign-cell{
    display:flex;
    gap:12px;
    align-items:center;
}
.caza-profile-campaign-cell img,
.caza-mini-thumb{
    width:48px;
    height:48px;
    border-radius:10px;
    object-fit:cover;
    background:#e8edf8;
}
.caza-profile-progress-cell{
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
    align-items:center;
}
.caza-profile-progress-cell i{
    height:8px;
    background:#e6ebf5;
    border-radius:999px;
    overflow:hidden;
}
.caza-profile-progress-cell b{
    display:block;
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,var(--caza-blue,#2f6df6),var(--caza-cyan,#2cd4cb));
}
.caza-profile-progress-cell em{
    font-style:normal;
    font-weight:800;
    color:var(--caza-navy,#0b1b57);
}
@media(max-width:760px){
    .caza-user-dashboard-card{
        grid-template-columns:1fr;
        text-align:left;
    }
    .caza-user-stats{
        display:grid;
        grid-template-columns:1fr 1fr;
    }
    .caza-user-stats div{
        border-left:0;
        border-top:1px solid var(--caza-border,#e7eaf3);
    }
    .caza-profile-table-head{
        display:none;
    }
    .caza-profile-table-row{
        grid-template-columns:1fr;
        gap:10px;
    }
}

.caza-access-code-panel h3{margin-top:0}.caza-inline-request-code{margin-top:12px}.caza-template-note{font-size:13px;color:#667085}


/* Colecciona QR v0.4.4 - Pistas y ficha de encontrados */
.caza-item-link{
    text-decoration:none!important;
    color:inherit;
    display:block;
}
.caza-item-link:hover{
    transform:translateY(-2px);
}
.caza-hint{
    margin-top:12px;
    text-align:left;
}
.caza-hint summary{
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(47,109,246,.09);
    color:var(--caza-blue,#2f6df6);
    font-weight:800;
    font-size:13px;
    list-style:none;
}
.caza-hint summary::-webkit-details-marker{
    display:none;
}
.caza-hint[open] summary{
    margin-bottom:8px;
}
.caza-hint div{
    padding:12px 14px;
    border:1px solid var(--caza-border,#e7eaf3);
    border-radius:14px;
    background:#fff;
    color:var(--caza-text,#1f2a44);
    font-size:14px;
    line-height:1.5;
}
.caza-item.is-missing .caza-hint div{
    background:rgba(255,255,255,.78);
}


/* Colecciona QR v0.4.9 - Premio directo */
.caza-prize-instructions{
    margin-top:12px;
    padding:14px 16px;
    border-radius:16px;
    background:rgba(255,255,255,.72);
    border:1px solid var(--caza-border,#e7eaf3);
}


/* Colecciona QR v0.5.0 - Imagen visual al completar / ganar */
.caza-complete{
    display:flex;
    align-items:flex-start;
    gap:16px;
    flex-wrap:wrap;
}
.caza-completion-image-wrap{
    flex:0 0 120px;
}
.caza-completion-image{
    width:120px;
    height:auto;
    border-radius:18px;
    display:block;
    box-shadow:0 14px 30px rgba(15,23,42,.12);
}
.caza-completion-copy{
    flex:1 1 260px;
    min-width:0;
}
@media(max-width:640px){
    .caza-complete{
        flex-direction:column;
        align-items:center;
        text-align:left;
    }
    .caza-completion-image-wrap{
        flex:0 0 auto;
    }
}


/* Colecciona QR v0.5.2 - Celebración visible al completar */
.caza-scan-completion-hero{
    margin:0 0 18px;
    padding:18px 18px 16px;
    border-radius:24px;
    background:linear-gradient(135deg,#fff7d6 0%,#fffdf2 100%);
    border:1px solid #f6d976;
    box-shadow:0 18px 34px rgba(122,90,0,.10);
    text-align:center;
}
.caza-scan-completion-hero-image{
    margin:0 auto 12px;
}
.caza-scan-completion-hero-img{
    max-width:140px;
    width:100%;
    height:auto;
    border-radius:20px;
    display:block;
    margin:0 auto;
    box-shadow:0 14px 30px rgba(15,23,42,.12);
}
.caza-scan-completion-kicker{
    display:inline-block;
    margin-bottom:8px;
    padding:6px 12px;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(246,217,118,.9);
    color:#7a5a00;
    font-size:12px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.caza-scan-completion-title{
    margin:0 0 8px;
    font-size:clamp(28px,5vw,38px);
    line-height:1.1;
    color:#7a4d00;
}
.caza-scan-completion-subtitle{
    margin:0;
    color:#7a5a00;
    font-size:15px;
    line-height:1.5;
}
.caza-complete-detail{
    background:#fff8dc;
    color:#7a5a00;
    font-weight:600;
}
.caza-complete-detail .caza-completion-copy p:first-child{
    margin-top:0;
}
@media (max-width:640px){
    .caza-scan-completion-hero{
        padding:16px 14px;
    }
    .caza-scan-completion-hero-img{
        max-width:120px;
    }
    .caza-scan-completion-title{
        font-size:30px;
    }
}


/* Colecciona QR v0.5.3 - Imagen de completado como banner ancho */
.caza-scan-completion-hero{
    overflow:hidden;
    padding:0 0 18px !important;
}
.caza-scan-completion-hero-image{
    margin:0 0 18px !important;
    width:100%;
}
.caza-scan-completion-hero-img{
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    max-height:220px;
    object-fit:cover;
    border-radius:24px 24px 0 0 !important;
    box-shadow:none !important;
}
.caza-scan-completion-hero-copy{
    padding:0 18px;
}
@media (max-width:640px){
    .caza-scan-completion-hero{
        padding-bottom:16px !important;
    }
    .caza-scan-completion-hero-img{
        max-width:none !important;
        max-height:180px;
        border-radius:24px 24px 0 0 !important;
    }
    .caza-scan-completion-hero-copy{
        padding:0 14px;
    }
}
