/* PsicoCurator Pro — Public v2 | 6 layouts + carrusel */
.psicocurator-feed{
    --psc-accent:#4A90D9;
    --psc-font:inherit;
    font-family:var(--psc-font);
}

/* ════════════════════════════════════════════════════
   LAYOUT: CARD
════════════════════════════════════════════════════ */
.psicocurator-layout--card{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:24px;
}

.psc-feed-card{
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 2px 18px rgba(0,0,0,.07);
    border:1px solid #edf0f8;
    display:flex;
    flex-direction:column;
    transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s;
}
.psc-feed-card:hover{
    transform:translateY(-6px);
    box-shadow:0 14px 40px rgba(0,0,0,.13);
}

.psc-feed-card__img-wrap{
    display:block;overflow:hidden;height:200px;flex-shrink:0;position:relative;
}
.psc-feed-card__img-wrap img{
    width:100%;height:100%;object-fit:cover;
    transition:transform .5s cubic-bezier(.22,1,.36,1);
}
.psc-feed-card:hover .psc-feed-card__img-wrap img{transform:scale(1.06)}
.psc-feed-card__badge-refl{
    position:absolute;top:10px;right:10px;
    background:rgba(46,204,113,.92);color:#fff;
    font-size:10px;font-weight:700;padding:3px 9px;border-radius:20px;
}

.psc-feed-card__body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}
.psc-feed-card__tag{
    font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;
    padding:3px 10px;border-radius:20px;display:inline-block;width:fit-content;
}
.psc-feed-card__title{
    display:block;font-size:16px;font-weight:700;line-height:1.4;
    color:#1a1f2e;text-decoration:none;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.psc-feed-card__title:hover{color:var(--psc-accent)}
.psc-feed-card__excerpt{
    font-size:14px;color:#64748b;line-height:1.7;margin:0;flex:1;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.psc-meta-time{font-size:11px;color:#94a3b8;font-weight:600}

.psc-source-btn{
    display:inline-flex;align-items:center;gap:6px;
    background:var(--psc-accent);color:#fff!important;
    text-decoration:none!important;padding:9px 18px;
    border-radius:8px;font-size:13px;font-weight:700;
    margin-top:auto;width:fit-content;
    transition:opacity .2s,transform .2s;
}
.psc-source-btn:hover{opacity:.88;transform:translateX(3px)}

/* ════════════════════════════════════════════════════
   LAYOUT: MAGAZINE
════════════════════════════════════════════════════ */
.psicocurator-layout--magazine{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
    gap:0;
    border:1px solid #e5e9f5;
    border-radius:16px;
    overflow:hidden;
}

.psc-mag-card{
    display:flex;flex-direction:column;
    border-right:1px solid #e5e9f5;border-bottom:1px solid #e5e9f5;
    background:#fff;transition:background .2s;
}
.psc-mag-card:hover{background:#f9faff}

.psc-mag-card__img-wrap{
    display:block;position:relative;overflow:hidden;height:200px;flex-shrink:0;
}
.psc-mag-card__img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.psc-mag-card:hover .psc-mag-card__img-wrap img{transform:scale(1.05)}
.psc-mag-card__no-img{height:100%;display:flex;align-items:center;justify-content:center;font-size:48px}
.psc-mag-card__overlay{
    position:absolute;bottom:0;left:0;right:0;
    background:linear-gradient(transparent,rgba(10,15,30,.72));
    padding:30px 14px 12px;
    display:flex;justify-content:space-between;align-items:flex-end;
}
.psc-mag-card__source{color:#fff;font-size:11px;font-weight:700;
    background:rgba(255,255,255,.18);padding:2px 9px;border-radius:20px;
    backdrop-filter:blur(4px);}
.psc-mag-card__time{color:rgba(255,255,255,.75);font-size:10px}

.psc-mag-card__body{padding:16px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.psc-mag-card__title{
    font-size:15px;font-weight:700;color:#1a1f2e;text-decoration:none;line-height:1.4;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.psc-mag-card__title:hover{color:var(--psc-accent)}
.psc-mag-card__refl-hint{font-size:11px;color:#2ECC71;font-weight:700;margin:0}
.psc-mag-card__excerpt{
    font-size:13px;color:#64748b;line-height:1.65;margin:0;flex:1;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.psc-source-link{
    font-size:13px;color:var(--psc-accent);font-weight:700;text-decoration:none;margin-top:auto;
}
.psc-source-link:hover{text-decoration:underline}

/* ════════════════════════════════════════════════════
   LAYOUT: MINIMAL
════════════════════════════════════════════════════ */
.psicocurator-layout--minimal{display:flex;flex-direction:column;gap:0}

.psc-minimal-card{
    display:flex;gap:16px;padding:20px 0;
    border-bottom:1px solid #eef0f8;align-items:flex-start;
    transition:background .2s;padding-left:8px;
}
.psc-minimal-card:last-child{border-bottom:none}
.psc-minimal-card:hover{background:#fafbff;margin:0 -8px;padding-left:16px}

.psc-minimal-card__line{width:3px;min-height:64px;border-radius:4px;flex-shrink:0;margin-top:4px}
.psc-minimal-card__body{display:flex;flex-direction:column;gap:5px;flex:1}
.psc-minimal-card__source{
    font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
}
.psc-minimal-card__title{
    font-size:16px;font-weight:700;color:#1a1f2e;text-decoration:none;line-height:1.4;
}
.psc-minimal-card__title:hover{color:var(--psc-accent)}
.psc-minimal-card__excerpt{font-size:13px;color:#64748b;line-height:1.6;margin:0}
.psc-minimal-card__foot{display:flex;align-items:center;gap:16px;margin-top:4px}

/* ════════════════════════════════════════════════════
   LAYOUT: CARRUSEL
════════════════════════════════════════════════════ */
.psicocurator-layout--carousel{overflow:hidden;position:relative}

.psc-carousel{position:relative}

/* Viewport: recorta el overflow del track */
.psc-carousel__viewport{
    overflow:hidden;
    border-radius:12px;
}

.psc-carousel__track{
    display:flex;
    gap:20px;
    transition:transform .5s cubic-bezier(.22,1,.36,1);
    will-change:transform;
    /* En modo fade la transición la maneja JS con animate() */
}

/* Cada tarjeta del carrusel — ancho calculado por JS según `visible` */
.psc-carousel__track .psc-feed-card{
    flex-shrink:0;
    /* El width lo pone el JS dinámicamente */
}

/* Flechas */
.psc-carousel__btn{
    position:absolute;top:40%;transform:translateY(-50%);
    background:rgba(255,255,255,.95);border:1.5px solid #dde3ee;
    width:44px;height:44px;border-radius:50%;
    font-size:26px;color:#1a1f2e;cursor:pointer;z-index:10;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 2px 14px rgba(0,0,0,.14);
    transition:all .2s;line-height:1;
}
.psc-carousel__btn:hover{background:var(--psc-accent);color:#fff;border-color:var(--psc-accent);box-shadow:0 4px 16px rgba(0,0,0,.2)}
.psc-carousel__btn:disabled{opacity:.3;cursor:not-allowed}
.psc-carousel__btn--prev{left:-22px}
.psc-carousel__btn--next{right:-22px}
@media(max-width:640px){
    .psc-carousel__btn--prev{left:4px}
    .psc-carousel__btn--next{right:4px}
}

/* Dots */
.psc-carousel__dots{display:flex;justify-content:center;gap:6px;margin-top:16px}
.psc-carousel__dot{
    width:8px;height:8px;border-radius:50%;
    background:#dde3ee;border:none;cursor:pointer;
    transition:all .28s;padding:0;
}
.psc-carousel__dot--active{background:var(--psc-accent);width:22px;border-radius:4px}

/* Barra de progreso autoplay */
.psc-carousel__autobar-wrap{
    height:3px;background:#eef0f8;border-radius:3px;margin-top:10px;overflow:hidden;
}
.psc-carousel__autobar{
    height:100%;width:0%;
    background:linear-gradient(90deg,var(--psc-accent),color-mix(in srgb,var(--psc-accent) 70%,#7B5EA7));
    border-radius:3px;
}

/* ════════════════════════════════════════════════════
   LAYOUT: GRID HERO
════════════════════════════════════════════════════ */
.psc-grid-hero{
    display:grid;
    grid-template-columns:1fr 340px;
    grid-template-rows:auto;
    gap:20px;
}
.psc-hero-main{
    grid-column:1;grid-row:1/3;
    background:#fff;border-radius:16px;overflow:hidden;
    display:flex;flex-direction:column;
    box-shadow:0 2px 18px rgba(0,0,0,.07);
    border:1px solid #edf0f8;
}
.psc-hero-main__img{display:block;height:280px;overflow:hidden}
.psc-hero-main__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.psc-hero-main:hover .psc-hero-main__img img{transform:scale(1.04)}
.psc-hero-main__body{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1}
.psc-hero-main__title{
    font-size:22px;font-weight:800;color:#1a1f2e;text-decoration:none;line-height:1.3;
}
.psc-hero-main__title:hover{color:var(--psc-accent)}
.psc-hero-main__excerpt{font-size:15px;color:#64748b;line-height:1.75;margin:0;flex:1}

.psc-hero-side{
    grid-column:2;display:flex;flex-direction:column;gap:12px;
}
.psc-hero-side-card{
    display:flex;gap:12px;background:#fff;border-radius:12px;
    padding:12px;border:1px solid #edf0f8;
    box-shadow:0 2px 10px rgba(0,0,0,.05);align-items:center;
    transition:transform .2s,box-shadow .2s;
}
.psc-hero-side-card:hover{transform:translateX(3px);box-shadow:0 4px 16px rgba(0,0,0,.1)}
.psc-hero-side-card__img{width:72px;height:72px;border-radius:8px;object-fit:cover;flex-shrink:0}
.psc-hero-side-card__title{
    font-size:14px;font-weight:700;color:#1a1f2e;text-decoration:none;line-height:1.35;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.psc-hero-side-card__title:hover{color:var(--psc-accent)}
.psc-feed-card__tag--xs{font-size:10px;padding:2px 7px}

@media(max-width:768px){
    .psc-grid-hero{grid-template-columns:1fr}
    .psc-hero-main,.psc-hero-side{grid-column:1;grid-row:auto}
}

/* ════════════════════════════════════════════════════
   LAYOUT: MASONRY
════════════════════════════════════════════════════ */
.psicocurator-layout--masonry{
    columns:3 280px;column-gap:20px;
}
.psc-masonry-card{
    break-inside:avoid;margin-bottom:20px;
    background:#fff;border-radius:14px;overflow:hidden;
    box-shadow:0 2px 16px rgba(0,0,0,.07);
    border:1px solid #edf0f8;
    transition:transform .25s,box-shadow .25s;
    display:inline-block;width:100%;
}
.psc-masonry-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,.12)}
.psc-masonry-card__img{width:100%;display:block;object-fit:cover}
.psc-masonry-card__body{padding:16px;display:flex;flex-direction:column;gap:8px}
.psc-masonry-card__title{
    font-size:15px;font-weight:700;color:#1a1f2e;text-decoration:none;line-height:1.4;
}
.psc-masonry-card__title:hover{color:var(--psc-accent)}
.psc-masonry-card__excerpt{font-size:13px;color:#64748b;line-height:1.65;margin:0}

/* ════════════════════════════════════════════════════
   BLOQUE DE ATRIBUCIÓN (dentro del post)
════════════════════════════════════════════════════ */
.psicocurator-reflection{
    background:linear-gradient(135deg,#F0FFF4,#ECFDF5);
    border:1.5px solid #A7F3D0;border-left:5px solid #2ECC71;
    border-radius:12px;padding:20px 24px;margin:24px 0;font-family:var(--psc-font,inherit);
}
.psicocurator-reflection__label{
    font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;
    color:#059669;margin-bottom:10px;
}
.psicocurator-reflection p{font-size:15px;line-height:1.75;color:#1a1f2e;margin:0 0 8px}
.psicocurator-reflection p:last-child{margin-bottom:0}

.psicocurator-excerpt-block{
    background:#F8FAFF;border:1.5px solid #E0EAFB;
    border-left:4px solid var(--psc-accent,#4A90D9);
    border-radius:10px;padding:18px 22px;margin:20px 0;font-family:var(--psc-font,inherit);
}
.psicocurator-excerpt-block__label{
    font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;
    color:#64748b;margin-bottom:10px;
}
.psicocurator-excerpt-block p{font-size:15px;line-height:1.75;color:#374151;margin:0 0 8px}
.psicocurator-excerpt-block p:last-child{margin-bottom:0}

.psicocurator-attribution{margin:28px 0 16px;font-family:var(--psc-font,inherit)}
.psicocurator-attribution__inner{
    background:linear-gradient(135deg,#EBF4FF,#F0F7FF);
    border:1.5px solid #BDD7F5;border-left:5px solid var(--psc-accent,#4A90D9);
    border-radius:12px;padding:18px 22px;
    display:flex;align-items:center;gap:16px;flex-wrap:wrap;
}
.psicocurator-attribution__icon{font-size:26px;flex-shrink:0}
.psicocurator-attribution__text{flex:1;min-width:180px}
.psicocurator-attribution__label{margin:0 0 3px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#64748b}
.psicocurator-attribution__source{margin:0;font-size:14px;color:#1a1f2e}
.psicocurator-attribution__source a{color:var(--psc-accent,#4A90D9);text-decoration:none;font-weight:700}
.psicocurator-attribution__source a:hover{text-decoration:underline}
.psicocurator-btn-source{
    display:inline-flex;align-items:center;gap:6px;
    background:var(--psc-accent,#4A90D9);color:#fff!important;
    text-decoration:none!important;padding:10px 20px;border-radius:9px;
    font-size:14px;font-weight:700;white-space:nowrap;flex-shrink:0;
    transition:opacity .2s,transform .2s;
}
.psicocurator-btn-source:hover{opacity:.88;transform:translateX(3px)}

/* ════════════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════════════ */
@media(max-width:640px){
    .psicocurator-layout--card,
    .psicocurator-layout--magazine{grid-template-columns:1fr}
    .psicocurator-layout--masonry{columns:1}
    .psicocurator-attribution__inner{flex-direction:column;text-align:center}
    .psicocurator-btn-source{width:100%;justify-content:center}
}
