/*
===========================================================
Pose Randomizer Pro v5
Apple UI / TikTok Style
===========================================================
*/

.prp-widget *{
    box-sizing:border-box;
}

.prp-widget{

    --accent:#ff375f;
    --accent-hover:#ff174f;

    --white:#fff;

    --black:#000;

    --radius:28px;

    --shadow:
        0 25px 70px rgba(0,0,0,.45);

    font-family:
    Inter,
    SF Pro Display,
    SF Pro Text,
    system-ui,
    sans-serif;

}

/* =====================================================
BUTTON
===================================================== */

.prp-trigger{

    position:fixed;

    right:20px;

    bottom:20px;

    z-index:999999;

    display:flex;

    align-items:center;

    gap:10px;

    padding:14px 22px;

    border:none;

    border-radius:999px;

    cursor:pointer;

    color:#fff;

    background:

    linear-gradient(
        135deg,
        #ff375f,
        #ff0066
    );

    font-size:15px;

    font-weight:700;

    transition:.35s;

    box-shadow:

    0 15px 40px rgba(255,55,95,.45);

}

.prp-trigger:hover{

    transform:

    translateY(-3px)

    scale(1.03);

}

.prp-trigger:active{

    transform:scale(.96);

}

.prp-trigger-icon{

    font-size:20px;

}

.prp-trigger-text{

    white-space:nowrap;

}

/* =====================================================
MODAL
===================================================== */

.prp-modal{

    position:fixed;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:flex-end;

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:999999;

}

.prp-modal.active{

    opacity:1;

    visibility:visible;

}

.prp-backdrop{

    position:absolute;

    inset:0;

    background:

    rgba(0,0,0,.82);

    backdrop-filter:

    blur(22px);

}

/* =====================================================
CARD
===================================================== */

.prp-sheet{

    position:relative;

    width:100%;

    height:100%;

    max-height:100dvh;

    background:#111;

    overflow:hidden;

    box-shadow:var(--shadow);

    animation:prpScale .35s ease;

    display:flex;

    flex-direction:column;

}

@media(min-width:900px){

.prp-sheet{

    width:min(430px,100vw);

    height:min(900px,100vh);

    border-radius:34px;

    align-items:unset;

}

.prp-modal{

    align-items:center;

}

}

@keyframes prpScale{

from{

opacity:0;

transform:

scale(.92)

translateY(30px);

}

to{

opacity:1;

transform:

scale(1)

translateY(0);

}

}

/* =====================================================
CLOSE
===================================================== */

.prp-close{

    position:absolute;

    left:14px;

    top:14px;

    width:40px;

    height:40px;

    border:none;

    border-radius:50%;

    background:

    rgba(255,255,255,.15);

    color:#fff;

    cursor:pointer;

    backdrop-filter:blur(18px);

    font-size:18px;

    z-index:20;

    transition:.25s;

    display:flex;

    align-items:center;

    justify-content:center;

}

.prp-close:hover{

    transform:scale(1.08);

}

@media(min-width:900px){

.prp-close{

    left:18px;

    top:18px;

    width:48px;

    height:48px;

    font-size:20px;

}

}

/* =====================================================
CONTENT
===================================================== */

.prp-content{

    position:absolute;

    inset:0;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    overflow:hidden;

}

/* =====================================================
CARD IMAGE
===================================================== */

.prp-card{
    position:relative;
    width:100%;
    height:100%;
    overflow:hidden;
    background:#000;
}

.prp-image{

    width:100%;
    height:100%;

    object-fit:cover;

    display:block;

    transform:scale(1);

    transition:
        transform .7s ease;

}

.prp-card:hover .prp-image{

    transform:scale(1.03);

}

/* =====================================================
BOTTOM GRADIENT
===================================================== */

.prp-gradient{

    position:absolute;

    left:0;
    right:0;
    bottom:0;

    height:50%;

    background:
    linear-gradient(
        to top,
        rgba(0,0,0,.92),
        rgba(0,0,0,.55),
        rgba(0,0,0,0)
    );

    pointer-events:none;

}

/* =====================================================
INFO
===================================================== */

.prp-info{

    color:#fff;

    padding: 0 20px 6px 20px;

}

.prp-category{

    display:inline-flex;

    align-items:center;

    padding:5px 12px;

    border-radius:999px;

    margin-bottom:10px;

    background:
        rgba(255,255,255,.15);

    backdrop-filter:blur(18px);

    font-size:12px;

    font-weight:600;

}

.prp-title{

    margin:0;

    font-size:24px;

    line-height:1.2;

    font-weight:800;

    text-shadow:
        0 2px 10px rgba(0,0,0,.45);

}

@media(min-width:900px){

.prp-title{

    font-size:32px;

}

.prp-info{

    padding: 0 24px 8px 24px;

}

.prp-category{

    padding:6px 14px;

    margin-bottom:14px;

    font-size:13px;

}

}

.prp-excerpt{

    margin-top:12px;

    color:

    rgba(255,255,255,.82);

    font-size:15px;

    line-height:1.7;

    max-width:90%;

}

/* =====================================================
BOTTOM ACTIONS
===================================================== */

.prp-actions{

    display:flex;

    gap:10px;

    padding: 0 16px;

}

.prp-btn{

    flex:1;

    height:48px;

    border:none;

    border-radius:16px;

    display:flex;

    justify-content:center;

    align-items:center;

    cursor:pointer;

    text-decoration:none;

    font-size:15px;

    font-weight:700;

    transition:.25s;

}

@media(min-width:900px){

.prp-actions{

    gap:12px;

    padding: 0 20px;

}

.prp-btn{

    height:56px;

    border-radius:18px;

    font-size:16px;

}

}

.prp-random{

    background:#ffffff;

    color:#111;

}

.prp-random:hover{

    transform:translateY(-2px);

}

.prp-read,
.prp-read:link,
.prp-read:visited,
.prp-read:hover,
.prp-read:focus,
.prp-read:active{

    color:#fff;

    background:

    linear-gradient(
        135deg,
        #ff375f,
        #ff0066
    );

    text-decoration:none !important;

    border-bottom:none !important;

    box-shadow:none !important;

    outline:none !important;

}

.prp-read:hover{

    transform:translateY(-2px);

}

/* =====================================================
ACTIONS AREA (сборная секция снизу)
===================================================== */

.prp-actions-area{

    position:absolute;

    left:0;
    right:0;
    bottom:0;

    z-index:15;

    padding: 16px 0 calc(16px + env(safe-area-inset-bottom, 0px)) 0;

    background: linear-gradient(
        to top,
        rgba(0,0,0,0.95) 0%,
        rgba(0,0,0,0.75) 40%,
        rgba(0,0,0,0) 100%
    );

}

@media(min-width:900px){

.prp-actions-area{

    padding-bottom: 22px;

}

}

/* =====================================================
LOADER
===================================================== */

.prp-loader{

    position:absolute;

    inset:0;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    gap:24px;

    color:#fff;

}

.prp-spinner{

    width:56px;

    height:56px;

    border-radius:50%;

    border:3px solid rgba(255,255,255,.15);

    border-top:3px solid #fff;

    animation:prpSpin .8s linear infinite;

}

@media(min-width:900px){

.prp-spinner{

    width:62px;

    height:62px;

    border-width:4px;

}

}

@keyframes prpSpin{

    to{

        transform:rotate(360deg);

    }

}

.prp-loader p{

    font-size:16px;

    opacity:.8;

}

/* =====================================================
ANIMATION
===================================================== */

.prp-fade{

    animation:prpFade .35s ease;

}

@keyframes prpFade{

from{

opacity:0;

transform:translateY(20px);

}

to{

opacity:1;

transform:translateY(0);

}

}