/* ========================================
   FLEXIPETS BESTELLBOX
======================================== */

.flexipets-order-wrapper{
    margin:50px 0;
}

.flexipets-order-wrapper .fp-order-box{

    background:#ffffff;

    border-radius:30px;

    padding:40px;

    border:1px solid #efe8ff;

    box-shadow:
        0 10px 40px rgba(155,118,255,.12);

}

/* ========================================
   BADGE
======================================== */

.flexipets-order-wrapper .fp-badge{

    display:inline-block;

    padding:12px 24px;

    border-radius:999px;

    background:#f1ebff;

    color:#9b76ff;

    font-size:14px;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

    margin-bottom:20px;
}

/* ========================================
   HEADER
======================================== */

.flexipets-order-wrapper .fp-order-header h2{

    font-size:48px;

    line-height:1;

    margin:0 0 20px;

    color:#222;
}

.flexipets-order-wrapper .fp-order-header p{

    color:#666;

    font-size:18px;

    line-height:1.6;

    margin-bottom:35px;
}

/* ========================================
   GRID
======================================== */

.flexipets-order-wrapper .fp-order-grid{

    display:grid;

    grid-template-columns:
        2fr 2fr 1fr 2fr;
    gap:20px;
}

/* ========================================
   FELDER
======================================== */

.flexipets-order-wrapper .fp-field label{

    display:block;

    margin-bottom:10px;

    font-weight:700;

    color:#222;
}

.flexipets-order-wrapper .fp-field input,
.flexipets-order-wrapper .fp-field select{

    width:100%;

    padding:16px;

    border:2px solid #ece7ff;

    border-radius:16px;

    background:#fff;

    font-size:16px;

    transition:all .2s ease;
}

.flexipets-order-wrapper .fp-field input:focus,
.flexipets-order-wrapper .fp-field select:focus{

    outline:none;

    border-color:#9b76ff;

    box-shadow:
        0 0 0 4px rgba(155,118,255,.15);
}

/* ========================================
   INFO BOX
======================================== */

.flexipets-order-wrapper .fp-order-info{

    margin-top:30px;

    padding:18px;

    border-radius:18px;

    background:#fff8e7;

    border:1px solid #ffd97b;

    display:flex;

    gap:15px;

    align-items:flex-start;
}

.flexipets-order-wrapper .fp-info-icon{

    color:#f6a500;

    font-size:24px;

    margin-top:2px;

    flex-shrink:0;
}

/* ========================================
   BUTTON
======================================== */

.flexipets-order-wrapper #fp-add-cart{

    width:100%;

    margin-top:30px;

    border:none;

    border-radius:18px;

    padding:18px;

    font-size:20px;

    font-weight:700;

    color:#fff;

    cursor:pointer;

    background:
        linear-gradient(
            90deg,
            #c68dff,
            #8d72ff
        );

    transition:all .25s ease;
}

.flexipets-order-wrapper #fp-add-cart:hover{

    transform:translateY(-2px);

    box-shadow:
        0 10px 30px rgba(155,118,255,.25);
}

.flexipets-order-wrapper #fp-add-cart i{

    margin-right:10px;
}

/* ========================================
   TYPOGRAFIE
======================================== */

.flexipets-order-wrapper strong{

    color:#222;
}

/* ========================================
   RESPONSIVE
======================================== */

@media(max-width:900px){

    .flexipets-order-wrapper .fp-order-grid{

        grid-template-columns:1fr;
    }

    .flexipets-order-wrapper .fp-order-header h2{

        font-size:34px;
    }

    .flexipets-order-wrapper .fp-order-box{

        padding:25px;
    }
}

/* ========================================
   FLEXIPETS INTRO
======================================== */

#fp-intro-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.75);
    z-index:999999;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:16px;
    backdrop-filter:blur(4px);
    overflow-y:auto;
}

body.fp-intro-open{
    overflow:hidden;
}

#fp-intro-modal{
    background:
        radial-gradient(circle at 15% 20%, rgba(255,190,230,.45) 0%, transparent 25%),
        radial-gradient(circle at 85% 15%, rgba(180,150,255,.35) 0%, transparent 25%),
        radial-gradient(circle at 75% 80%, rgba(255,220,120,.25) 0%, transparent 20%),
        linear-gradient(135deg,#ffffff 0%,#fcf8ff 100%);

    width:100%;
    max-width:860px;
    max-height:min(88vh, 720px);

    border-radius:24px;
    overflow:hidden;
    overflow-y:auto;
    position:relative;

    box-shadow:0 20px 50px rgba(0,0,0,.22);
    border:2px solid #f1e7ff;
}

#fp-close{
    position:absolute;
    right:18px;
    top:14px;

    border:none;
    background:none;

    font-size:30px;
    line-height:1;
    cursor:pointer;

    color:#333;
    z-index:3;
}

.fp-intro-content{
    display:flex;
    gap:28px;
    padding:28px 32px 24px;
    align-items:center;
}

.fp-left{
    flex:1.15;
    min-width:0;
}

.fp-right{
    flex:0.85;
    display:flex;
    align-items:center;
    justify-content:center;
}

.fp-right img{
    max-width:100%;
    max-height:min(34vh, 240px);
    width:auto;
    height:auto;
    object-fit:contain;
}

.fp-badge{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 12px;
    margin-bottom:10px;
    border-radius:999px;
    background:rgba(177,140,255,.14);
    color:#6d28d9;
    font:800 13px/1 'Baloo 2', system-ui, sans-serif;
}

.fp-title{
    text-align:left !important;
    display:block;
    width:100%;

    font-size:clamp(34px, 4.8vw, 48px);
    font-weight:900;
    line-height:1.02;

    margin:0;

    color:#222;
    text-transform:uppercase;
}

.fp-subtitle{
    margin-top:12px;

    font-size:17px;
    line-height:1.45;

    color:#555;
}

.fp-divider{
    margin:18px 0;

    height:1px;

    background:#eee;
}

.fp-steps{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px 18px;
}

.fp-step{
    display:flex;
    gap:10px;
    align-items:flex-start;
}

.fp-step-number{
    width:34px;
    height:34px;
    min-width:34px;

    border-radius:50%;

    background:#b18cff;
    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-weight:700;
    font-size:14px;
}

.fp-step-title{
    font-weight:700;
    color:#222;
    margin-bottom:2px;
    font-size:14px;
    line-height:1.25;
}

.fp-step-text{
    color:#666;
    font-size:12px;
    line-height:1.35;
}

.fp-buttons{
    display:flex;
    gap:12px;
    margin-top:18px;
}

.fp-start-btn{
    flex:1;

    border:none;
    border-radius:999px;

    padding:12px 18px;

    font-weight:700;
    font-size:16px;

    color:#fff;

    cursor:pointer;

    background:
        linear-gradient(
            90deg,
            #c38cff,
            #8c6cff
        );
}

.fp-checkbox{
    display:block;

    margin-top:12px;

    text-align:center;

    color:#777;
    font-size:13px;
}

.fp-decoration{
    position:absolute;
    border-radius:50%;
    z-index:0;
}

.fp-ball1{
    width:140px;
    height:140px;
    background:rgba(255,160,220,.25);
    top:50px;
    right:120px;
}

.fp-ball2{
    width:70px;
    height:70px;
    background:rgba(180,140,255,.25);
    top:180px;
    right:320px;
}

.fp-ball3{
    width:90px;
    height:90px;
    background:rgba(255,220,120,.25);
    bottom:120px;
    right:180px;
}

.fp-ball4{
    width:40px;
    height:40px;
    background:rgba(120,220,255,.25);
    top:100px;
    left:50%;
}

.fp-star{
    position:absolute;
    font-size:42px;
    z-index:0;
    animation:floatStar 4s ease-in-out infinite;
}

.fp-star1{
    top:80px;
    right:280px;
}

.fp-star2{
    top:220px;
    right:90px;
}

.fp-star3{
    bottom:90px;
    right:320px;
}

@keyframes floatStar{
    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-12px);
    }
}

.fp-left,
.fp-right{
    position:relative;
    z-index:2;
}

.fp-video-btn{
    flex:1;

    display:flex;
    align-items:center;
    justify-content:center;

    gap:12px;

    background:white;
    border:2px solid #ece7ff;

    border-radius:60px;

    padding:18px 25px;

    font-size:18px;
    font-weight:600;

    color:#333;

    cursor:pointer;

    transition:all .25s ease;
}

.fp-video-btn:hover{
    background:#f8f4ff;
    border-color:#b18cff;
    transform:translateY(-2px);
}

.fp-video-btn i{
    color:#9f75ff;
    font-size:24px;
}

@media(max-width:900px){

    .fp-intro-content{
        flex-direction:column;
        padding:24px 22px 20px;
        gap:18px;
        align-items:stretch;
    }

    .fp-right img{
        max-height:180px;
    }

    .fp-title{
        font-size:38px;
        text-align:center !important;
    }

    .fp-subtitle{
        font-size:16px;
        text-align:center;
    }

    .fp-steps{
        grid-template-columns:1fr;
    }

    .fp-buttons{
        flex-direction:column;
    }
}

@media(max-width:768px){

    #fp-intro-overlay{

        padding:10px;

        align-items:flex-start;

        overflow-y:auto;
    }

.fp-step-number{

    width:32px;
    height:32px;
    min-width:32px;

    font-size:16px;
}

    #fp-intro-modal{

        width:100%;

        max-height:92vh;

        margin:8px auto;

        overflow-y:auto;

        border-radius:18px;
    }

    #fp-close{

        position:sticky;

        top:10px;

        float:right;

        z-index:999999;

        font-size:42px;

        background:#fff;

        border-radius:50%;

        width:50px;

        height:50px;

        line-height:50px;
    }

    .fp-intro-content{

        padding:18px 16px 16px;
    }

    .fp-title{

        font-size:34px !important;

        text-align:center !important;
    }

    .fp-subtitle{

        font-size:16px;

        text-align:center;
    }

    .fp-right{

        display:none;
    }



.fp-right{
    display:none;
}

}

@media(max-width:768px){

    .fp-steps{

        gap:10px;
    }

}

@media(max-width:768px){

    #fp-close{

        top:15px;
        right:15px;

        width:42px;
        height:42px;

        font-size:30px;

        line-height:42px;

        padding:0;
    }

}

@media(max-width:768px){

    .fp-decoration,
    .fp-star{

        display:none;
    }

}

@media(max-width:768px){

    .fp-steps{

        width:100%;

        max-width:420px;

        margin:0 auto;

        gap:12px;
    }

    .fp-step{

        justify-content:flex-start;

        align-items:flex-start;

        text-align:left;
    }

    .fp-step-content{

        text-align:left;
    }

    .fp-step-title{

        text-align:left;

        margin-bottom:2px;
    }

    .fp-step-text{

        text-align:left;
    }

}

@media(max-width:768px){

    .fp-steps{

        padding-left:25px;
    }

}

@media(max-width:768px){

    .fp-step{

        gap:14px;
    }

    .fp-step-number{

        width:32px;
        height:32px;
        min-width:32px;

        font-size:16px;
    }

}

@media(max-width:768px){

    .fp-steps{

        display:flex;
        flex-direction:column;
    }

    .fp-step:nth-child(1){ order:1; }
    .fp-step:nth-child(2){ order:4; }
    .fp-step:nth-child(3){ order:2; }
    .fp-step:nth-child(4){ order:5; }
    .fp-step:nth-child(5){ order:3; }
    .fp-step:nth-child(6){ order:6; }

}


.fp-hero-text{
    display:block;
}

@media (max-width:1024px){
    .fp-hero-text{
        display:none;
    }
}

@media (max-width:1024px) and (orientation:landscape){

    #fp-intro-modal{

        max-height:88vh;

        overflow-y:auto;
    }

    .fp-intro-content{

        padding:18px 24px;
        gap:20px;
    }

    .fp-title{

        font-size:38px;
    }

    .fp-subtitle{

        font-size:16px;

        margin-bottom:12px;
    }

    .fp-right img{
        max-height:min(72vh, 200px);
    }

    .fp-steps{

        gap:8px 14px;
    }

    .fp-step{

        margin-bottom:0;
    }

    .fp-buttons{

        margin-top:12px;
    }

    #fp-close{

    position:absolute;

    top:15px;

    right:15px;

    z-index:9999999;

    cursor:pointer;

}

}

@media (max-width:1024px) and (orientation:landscape){

    .fp-steps{

        display:grid;

        grid-template-columns:1fr 1fr;

        gap:15px 30px;
    }

}


.fp-cart-meta{
    font-size:14px;
    color:#777;
    line-height:1.5;
    margin-top:8px;
}

.fp-cart-meta strong{
    color:#444;
}

.wc-block-components-product-details span{
    font-size:13px !important;
    }




.fp-logo-wrap{
    margin-bottom:20px;
}

.fp-logo{
    max-width:220px;
    height:auto;
    display:block;
}

/* ==================================
   SUCCESS BOX
================================== */

.fp-success-box{

    display:flex;
    gap:20px;

    background:#ecfff3;

    border:2px solid #a7e7be;

    border-radius:24px;

    padding:25px;

    margin-bottom:30px;

    align-items:center;
}

.fp-success-icon{

    font-size:42px;

    color:#28a745;
}

.fp-success-content h3{

    margin:0 0 8px 0;

    font-size:24px;
}

.fp-success-content p{

    margin:0 0 15px 0;

    color:#666;
}

.fp-success-buttons{

    display:flex;
    gap:12px;
}

.fp-btn-primary,
.fp-btn-secondary{

    padding:12px 20px;

    border-radius:14px;

    text-decoration:none;

    font-weight:700;

    transition:.2s;
}

.fp-btn-primary{

    background:#8c6cff;

    color:#fff;
}

.fp-btn-secondary{

    background:#fff;

    border:2px solid #ece7ff;

    color:#444;
}

.fp-btn-primary:hover,
.fp-btn-secondary:hover{

    transform:translateY(-2px);
}

/* ==========================
   SUCCESS POPUP
========================== */

#fp-success-overlay{

    position:fixed !important;
    inset:0 !important;

    background:
        radial-gradient(
            circle at top left,
            rgba(181,109,255,.35),
            transparent 40%
        ),
        radial-gradient(
            circle at bottom right,
            rgba(126,98,255,.35),
            transparent 40%
        ),
        rgba(17,17,24,.82) !important;

    backdrop-filter:blur(12px) !important;
    -webkit-backdrop-filter:blur(12px) !important;

    z-index:99999 !important;

    display:flex;
    align-items:center;
    justify-content:center;
}

#fp-success-modal::after{

    content:"🐾";

    position:absolute;

    top:40px;
    right:80px;

    font-size:40px;

    opacity:.08;

    transform:rotate(15deg);
}
#fp-success-modal{

   background: linear-gradient(180deg, #bbadf3 0%, #fff 100%);
    width: 100%;
    max-width: 760px;

    

    border-radius:30px;

    padding:20px;

    position:relative;

    text-align:center;

    box-shadow:
        0 30px 80px rgba(50,50,93,.15);

    animation:fpSlideUp .3s ease;
}

#fp-success-close{

    position:absolute;

    top:20px;
    right:25px;

    border:none;
    background:none;

    font-size:38px;
    font-weight:300;

    cursor:pointer;

    color:#222;

    transition:.2s;
}

#fp-success-close:hover{

    transform:scale(1.1);
}

.fp-success-icon{

    width:120px;
    height:120px;

    margin:0 auto 30px;

    border-radius:50%;

    background: linear-gradient(85deg, #a653e3, #b299ef);

    display:flex;
    align-items:center;
    justify-content:center;

    color:#fff;
    font-size:60px;
}

#fp-success-modal h2{

    font-size:54px;

    margin:0 0 15px;

    color:#2b2450;
}

#fp-success-modal p{

    font-size:24px;

    color:#6f7085;

    margin-bottom:40px;
}

.fp-success-details{

    display:grid;

    grid-template-columns:
        repeat(3,1fr);

    gap:20px;

    margin-bottom:40px;
}

.fp-success-details > div{

    background:#faf8ff;

    border:2px solid #eee7ff;

    border-radius:20px;

    padding:25px 15px;
}

.fp-success-details strong{

    display:block;

    color:#777;

    font-size:15px;

    margin-bottom:10px;
}

.fp-success-details span{

    font-size:30px;
    font-weight:700;

    color:#8c6cff;
}

.fp-success-buttons{

    display:flex;
    gap:20px;

    justify-content:center;
}

.fp-btn-primary,
.fp-btn-secondary{

    min-width:260px;

    padding:18px 28px;

    border-radius:20px;

    text-decoration:none;

    font-size:22px;
    font-weight:700;

    transition:.2s;
}

.fp-btn-primary{

    background:linear-gradient(
        90deg,
        #b56dff,
        #7e62ff
    );

    color:#fff;

    box-shadow:
        0 12px 25px rgba(126,98,255,.25);
}

.fp-btn-primary:hover{

    transform:translateY(-3px);
}

.fp-btn-secondary{

    background:#fff;

    border:2px solid #d9cfff;

    color:#433f55;
}

.fp-btn-secondary:hover{

    transform:translateY(-3px);
}

@keyframes fpFadeIn{

    from{
        opacity:0;
    }

    to{
        opacity:1;
    }
}

@keyframes fpSlideUp{

    from{
        opacity:0;
        transform:translateY(20px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

@media(max-width:768px){

    #fp-success-modal{

        padding:30px;
        border-radius:25px;
    }

    #fp-success-modal h2{

        font-size:34px;
    }

    .fp-success-details{

        grid-template-columns:1fr;
    }

    .fp-success-buttons{

        flex-direction:column;
    }

    .fp-btn-primary,
    .fp-btn-secondary{

        min-width:auto;
        width:100%;
    }
}



.fp-hero-text{

    text-align:center;

    margin:40px 0 25px;

    font-size:56px;

    font-weight:900;

    line-height:1.1;

    color:#2b2450;

    letter-spacing:-1px;

    text-shadow:
        0 2px 10px rgba(140,108,255,.12);
}

/* Farbverlauf in der Schrift */

.fp-hero-text {
    position: absolute;
    top: 70px;
    right: 210px;
    z-index: 999999;
    font-size: 52px;
    font-weight: 900;
    font-family: "Baloo 2", "Fredoka", sans-serif;
    letter-spacing: -1px;
    transform: rotate(0deg);
    
    /* Der sichtbare Text im Vordergrund erhält den Verlauf */
    background: linear-gradient(180deg, #9d7cff 0%, #8c6cff 35%, #7556f8 70%, #5d3ff0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Die magische 3D-Ebene darunter */
.fp-hero-text::after {
    content: attr(data-text);
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    
    /* Verhindert Transparenz für den Schatten-Block */
    -webkit-text-fill-color: #5d3ff0; 
    
    /* Erzeugt die abgerundete, dicke Plastizität (Bubble-Look) */
    -webkit-text-stroke: 6px #5d3ff0;
    
    /* Mehrstufiger, extrem plastischer 3D-Schatten nach unten-vorne */
    text-shadow: 
        1px 1px 0px #4a2ec2,
        2px 2px 0px #4a2ec2,
        3px 3px 0px #3b22a6,
        4px 4px 0px #3b22a6,
        5px 5px 0px #2d1880,
        6px 6px 0px #2d1880,
        /* Weicher Schatten für den schwebenden Effekt */
        6px 10px 15px rgba(0, 0, 0, 0.4);
}

/* ==========================
   TOTAL BAR
========================== */

.fp-total-bar{

    margin-top:25px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

    background:linear-gradient(
        135deg,
        #ffffff,
        #faf7ff
    );

    border:1px solid #ece7ff;

    border-radius:25px;

    padding:20px 25px;

    box-shadow:
        0 10px 30px rgba(140,108,255,.08);
}

.fp-total-label{

    font-size:20px;

    font-weight:800;

    color:#2b2450;
}

.fp-total-sub{

    font-size:13px;

    color:#888;

    margin-top:3px;
}

.fp-total-price{

    font-size:34px;

    font-weight:900;

    color:#8c6cff;

    line-height:1;
}

/* Mobile */

@media(max-width:768px){

    .fp-total-bar{

        flex-direction:column;

        text-align:center;
    }

    .fp-total-price{

        font-size:30px;
    }

}

/* ==========================
   QUANTITY DISCOUNTS
========================== */

.fp-quantity-discount-box{

    margin-top:22px;

    background:linear-gradient(
        135deg,
        #fff7e8,
        #f5efff
    );

    border:1px solid #efe4ff;

    border-radius:24px;

    padding:22px;

    box-shadow:
        0 10px 28px rgba(140,108,255,.08);
}

.fp-quantity-discount-title{

    font-size:20px;

    font-weight:900;

    color:#2b2450;

    margin-bottom:14px;
}

.fp-quantity-discount-list{

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:10px;
}

.fp-quantity-discount-item{

    background:#fff;

    border-radius:18px;

    padding:14px 10px;

    text-align:center;

    border:1px solid #f0eaff;
}

.fp-quantity-discount-item strong{

    display:block;

    font-size:17px;

    color:#8c6cff;

    margin-bottom:4px;
}

.fp-quantity-discount-item span{

    font-size:13px;

    color:#666;

    font-weight:700;
}

@media(max-width:768px){

    .fp-quantity-discount-list{

        grid-template-columns:1fr 1fr;
    }

}

.fp-summary-discount{

    margin-top:8px;

    font-size:14px;

    font-weight:700;

    color:#27ae60;

    text-align:right;

}

.fp-total-detailed{
    display:block;
}

.fp-summary-line,
.fp-summary-final{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}

.fp-summary-line{
    font-size:18px;
    margin-bottom:10px;
}

.fp-summary-line strong{
    font-size:22px;
    color:#2b2b2b;
}

.fp-discount-line{
    color:#8c6cff;
}

.fp-discount-line strong{
    color:#8c6cff;
}

.fp-summary-separator{
    height:1px;
    background:#ece7ff;
    margin:14px 0;
}

.fp-summary-final span{
    font-size:22px;
    font-weight:800;
}

.fp-summary-final strong{
    font-size:42px;
    font-weight:900;
    color:#8c6cff;
}



/* =================================
   FLEXICOINS BOX
================================= */
.fp-coins-box{
    background:linear-gradient(135deg,#fff7e8,#f5efff);
    border:1px solid #efe4ff;
    border-radius:26px;
    padding:22px;
    margin:22px 0;
    box-shadow:0 10px 28px rgba(140,108,255,.10);
}
.fp-coins-title{
    font-size:22px;
    font-weight:900;
    color:#2b2450;
    margin-bottom:8px;
}
.fp-coins-count{
    font-size:20px;
    color:#555;
    margin-bottom:14px;
}
.fp-coins-count strong{
    font-size:38px;
    color:#8c6cff;
}
.fp-coins-message{
    background:#fff;
    border-radius:16px;
    padding:12px 14px;
    margin:12px 0;
    font-weight:700;
    color:#6f55d9;
}
.fp-daily-coin-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:none;
    border-radius:999px;
    padding:14px 22px;
    background:linear-gradient(135deg,#9b7cff,#7e61ff);
    color:#fff;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 10px 25px rgba(126,97,255,.28);
    text-decoration:none;
}
}
.fp-daily-coin-done{
    font-weight:800;
    color:#6f55d9;
}
.fp-album-product-link{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    margin-top:12px;
    padding:10px 14px;
    border-radius:999px;
    background:linear-gradient(135deg,#9b7cff,#7e61ff);
    color:#fff !important;
    font-size:13px;
    font-weight:900;
    text-decoration:none;
    box-shadow:0 8px 18px rgba(126,97,255,.25);
}


/* =================================
   FLEXIPETS MARKETPLACE
================================= */

.fp-album-sell-link{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    margin-top:8px;
    padding:10px 14px;
    border-radius:999px;
    background:linear-gradient(135deg,#ffd66b,#ff9f43);
    color:#fff !important;
    font-size:13px;
    font-weight:900;
    text-decoration:none;
    box-shadow:0 8px 18px rgba(255,159,67,.25);
}

.fp-marketplace-page{
    max-width:var(--fp-page-max-width, 1320px);
    width:var(--fp-page-width, 100%);
    margin:40px auto;
    padding:0 var(--fp-page-gutter, 20px);
}

.fp-marketplace-hero,
.fp-marketplace-create{
    background:linear-gradient(135deg,#fff7e8,#f5efff);
    border-radius:34px;
    padding:30px;
    margin-bottom:28px;
    box-shadow:0 14px 34px rgba(140,108,255,.10);
}

.fp-marketplace-hero h1{
    margin:0 0 8px 0;
    font-size:42px;
    color:#2b2450;
}

.fp-marketplace-hero p{
    margin:0;
    font-weight:700;
    color:#655d80;
}

.fp-marketplace-message,
.fp-marketplace-error{
    border-radius:22px;
    padding:16px 20px;
    margin-bottom:20px;
    font-weight:900;
}

.fp-marketplace-message{
    background:#f0ecff;
    color:#6f55d9;
}

.fp-marketplace-error{
    background:#ffecec;
    color:#d94f4f;
}

.fp-marketplace-form{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.fp-marketplace-form label{
    display:flex;
    flex-direction:column;
    gap:8px;
    font-weight:900;
    color:#2b2450;
}

.fp-marketplace-form input,
.fp-marketplace-form select,
.fp-marketplace-form textarea{
    border:none;
    border-radius:18px;
    padding:14px 16px;
    background:#fff;
    box-shadow:inset 0 0 0 1px #ece7ff;
    font-size:16px;
}

.fp-marketplace-form textarea{
    grid-column:1/-1;
}

.fp-marketplace-form button,
.fp-marketplace-buy{
    border:none;
    border-radius:999px;
    padding:14px 22px;
    background:linear-gradient(135deg,#9b7cff,#7e61ff);
    color:#fff;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 10px 25px rgba(126,97,255,.28);
}

.fp-marketplace-form button{
    grid-column:1/-1;
    justify-self:start;
}

.fp-marketplace-list h2{
    font-size:32px;
    color:#2b2450;
}

.fp-marketplace-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
    gap:24px;
}

.fp-marketplace-card{
    background:#f7f5f3;
    border-radius:30px;
    padding:20px;
    box-shadow:0 12px 30px rgba(0,0,0,.06);
    overflow:hidden;
}

.fp-marketplace-status-sold{
    opacity:.72;
}

.fp-marketplace-image{
    height:170px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:12px;
}

.fp-marketplace-image img{
    max-width:100%;
    max-height:170px;
    object-fit:contain;
}

.fp-marketplace-card h3{
    margin:0 0 8px 0;
    font-size:24px;
    color:#2b2450;
}

.fp-marketplace-seller,
.fp-marketplace-shipping,
.fp-marketplace-total,
.fp-marketplace-note{
    font-size:14px;
    font-weight:700;
    color:#655d80;
    margin-top:6px;
}

.fp-marketplace-price{
    margin-top:12px;
    font-size:28px;
    font-weight:900;
    color:#8c6cff;
}

.fp-marketplace-description{
    background:#fff;
    border-radius:16px;
    padding:12px;
    font-size:14px;
    color:#555;
}

.fp-marketplace-sold{
    margin-top:14px;
    border-radius:999px;
    background:#fff;
    color:#8c6cff;
    font-weight:900;
    padding:10px 14px;
    text-align:center;
}

.fp-marketplace-contact{
    margin-top:14px;
    background:#fff;
    border-radius:18px;
    padding:14px;
    font-size:13px;
    color:#444;
}

@media(max-width:768px){
    .fp-marketplace-form{
        grid-template-columns:1fr;
    }

    .fp-marketplace-hero h1{
        font-size:32px;
    }
}


/* =================================
   FLEXIPETS ALBUM - PLUGIN VERSION
================================= */

.fp-album-page{
    max-width:var(--fp-page-max-width, 1320px);
    width:var(--fp-page-width, 100%);
    margin:40px auto;
    padding:0 var(--fp-page-gutter, 22px) 50px;
}

.fp-album-container{
    width:100%;
}

.fp-album-hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(260px,360px);
    gap:26px;
    align-items:stretch;
    margin-bottom:28px;
}

.fp-album-hero > div:first-child{
    background:linear-gradient(135deg,#fff7e8,#f5efff);
    border-radius:38px;
    padding:34px;
    box-shadow:0 18px 44px rgba(140,108,255,.12);
}

.fp-album-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#fff;
    border-radius:999px;
    padding:9px 16px;
    color:#7e61ff;
    font-weight:900;
    margin-bottom:12px;
    box-shadow:0 8px 20px rgba(126,97,255,.10);
}

.fp-album-hero h1{
    margin:0;
    font-size:56px;
    line-height:1;
    color:#2b2450;
}

.fp-album-hero p{
    max-width:640px;
    margin:14px 0 0;
    color:#655d80;
    font-size:17px;
    font-weight:700;
}

.fp-album-hero-coins .fp-coins-box{
    height:100%;
    margin:0;
}

.fp-success-message,
.fp-login-box{
    background:#fff;
    border-radius:28px;
    padding:22px;
    margin:22px 0;
    box-shadow:0 12px 30px rgba(0,0,0,.06);
    color:#2b2450;
}

.fp-progress-wrapper{
    background:#fff;
    border-radius:28px;
    padding:18px 22px;
    margin-bottom:24px;
    box-shadow:0 12px 30px rgba(0,0,0,.06);
}

.fp-progress-info{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    margin-bottom:12px;
    color:#2b2450;
    font-weight:900;
}

.fp-progress-info span{
    color:#8c6cff;
}

.fp-progress-bar{
    height:16px;
    background:#f0ecff;
    border-radius:999px;
    overflow:hidden;
}

.fp-progress-fill{
    height:100%;
    border-radius:999px;
    background:linear-gradient(135deg,#9b7cff,#ffd66b);
}

.fp-album-filter-bar{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin:26px 0;
}

.fp-album-filter{
    border:none;
    border-radius:999px;
    background:#fff;
    color:#2b2450;
    padding:12px 18px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(0,0,0,.06);
    transition:.22s ease;
}

.fp-album-filter span{
    display:inline-flex;
    margin-left:8px;
    padding:3px 8px;
    border-radius:999px;
    background:#f0ecff;
    color:#8c6cff;
    font-size:12px;
}

.fp-album-filter:hover,
.fp-album-filter.active{
    color:#fff;
    background:linear-gradient(135deg,#9b7cff,#7e61ff);
    transform:translateY(-2px);
    box-shadow:0 12px 30px rgba(126,97,255,.24);
}

.fp-album-filter:hover span,
.fp-album-filter.active span{
    background:rgba(255,255,255,.22);
    color:#fff;
}

.fp-album-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(170px,1fr));
    gap:18px;
}

.fp-album-card{
    position:relative;
    background:#fff;
    border-radius:30px;
    padding:14px;
    box-shadow:0 14px 34px rgba(0,0,0,.08);
    transition:.25s ease;
    overflow:hidden;
}

.fp-album-card:hover{
    transform:translateY(-5px);
    box-shadow:0 18px 44px rgba(126,97,255,.18);
}

.fp-album-card.fp-pet-locked{
    background:linear-gradient(135deg,#f8f7fb,#eeeeF8);
}

.fp-album-card-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
    min-height:26px;
    margin-bottom:8px;
}

.fp-album-card-category,
.fp-album-card-owned{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:5px 9px;
    font-size:11px;
    font-weight:900;
}

.fp-album-card-category{
    background:#f0ecff;
    color:#7e61ff;
}

.fp-album-card-owned{
    background:#fff7e8;
    color:#ff9f43;
}

.fp-album-image{
    display:flex;
    align-items:center;
    justify-content:center;
    height:150px;
    background:linear-gradient(135deg,#f8f6ff,#fff7e8);
    border-radius:24px;
    margin-bottom:12px;
}

.fp-album-image img{
    width:100%;
    height:130px;
    object-fit:contain;
    transition:.25s ease;
}

.fp-album-card:hover .fp-album-image img{
    transform:scale(1.06);
}

.fp-pet-locked .fp-album-image img{
    filter:grayscale(1) opacity(.42);
}

.fp-album-content h3{
    margin:0 0 8px;
    color:#2b2450;
    font-size:20px;
    line-height:1.1;
}

.fp-album-rarity,
.fp-album-owned,
.fp-album-locked-text{
    font-size:13px;
    color:#655d80;
    font-weight:800;
}

.fp-album-stats{
    display:grid;
    gap:4px;
    margin:10px 0;
    font-size:12px;
    color:#655d80;
    font-weight:800;
}

.fp-album-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:12px;
}

.fp-album-product-link,
.fp-album-sell-link{
    flex:1 1 auto;
    min-width:120px;
}

.fp-login-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:16px;
}

.fp-login-button,
.fp-register-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    padding:13px 20px;
    text-decoration:none;
    font-weight:900;
}

.fp-login-button{
    color:#fff !important;
    background:linear-gradient(135deg,#9b7cff,#7e61ff);
}

.fp-register-button{
    color:#7e61ff !important;
    background:#f0ecff;
}

@media(max-width:900px){
    .fp-album-hero{
        grid-template-columns:1fr;
    }

    .fp-album-hero h1{
        font-size:44px;
    }

    .fp-album-grid{
        grid-template-columns:repeat(auto-fill,minmax(145px,1fr));
        gap:14px;
    }

    .fp-album-image{
        height:125px;
    }

    .fp-album-image img{
        height:110px;
    }
}

@media(max-width:560px){
    .fp-album-page{
        padding:0 14px 40px;
    }

    .fp-album-hero > div:first-child{
        padding:24px;
        border-radius:30px;
    }

    .fp-album-filter-bar{
        gap:8px;
    }

    .fp-album-filter{
        padding:10px 13px;
        font-size:13px;
    }
}

/* =================================
   FLEXIPETS USER DASHBOARD
================================= */

.fp-user-dashboard,
.fp-orders-box,
.fp-coin-shop{
    background:#fff;
    border-radius:28px;
    padding:28px;
    box-shadow:0 14px 40px rgba(0,0,0,.08);
    margin-bottom:28px;
}

.fp-dashboard-hero{
    background:linear-gradient(135deg,#f5efff,#fff7e8);
    border-radius:26px;
    padding:26px;
    margin-bottom:22px;
}

.fp-dashboard-hero h2{
    margin:0 0 8px 0;
    font-size:32px;
    color:#2b2450;
}

.fp-dashboard-hero p{
    margin:0;
    color:#6b6680;
    font-weight:600;
}

.fp-dashboard-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:16px;
    margin-bottom:24px;
}

.fp-dashboard-card{
    background:#f7f5f3;
    border-radius:24px;
    padding:20px;
    text-align:center;
    border:1px solid #efeaff;
}

.fp-dashboard-card span{
    display:block;
    font-size:28px;
    margin-bottom:8px;
}

.fp-dashboard-card strong{
    display:block;
    font-size:34px;
    line-height:1;
    color:#8c6cff;
}

.fp-dashboard-card em{
    display:block;
    margin-top:8px;
    font-style:normal;
    color:#615b75;
    font-weight:800;
}

.fp-dashboard-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.fp-dashboard-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:13px 18px;
    border-radius:999px;
    background:linear-gradient(135deg,#9b7cff,#7e61ff);
    color:#fff !important;
    text-decoration:none;
    font-weight:900;
    box-shadow:0 10px 24px rgba(126,97,255,.22);
}

.fp-orders-list{
    display:grid;
    gap:12px;
}

.fp-order-card{
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr auto;
    gap:14px;
    align-items:center;
    background:#f7f5f3;
    border-radius:20px;
    padding:16px;
}

.fp-order-card a{
    color:#8c6cff;
    font-weight:900;
    text-decoration:none;
}

.fp-coin-shop-placeholder{
    background:#f7f5f3;
    border-radius:22px;
    padding:22px;
    border:1px dashed #cbbcff;
    color:#5b5570;
}

@media(max-width:768px){
    .fp-user-dashboard,
    .fp-orders-box,
    .fp-coin-shop{
        padding:20px;
    }

    .fp-order-card{
        grid-template-columns:1fr;
    }
}

/* ==========================
   FLEXIPETS COIN SHOP
========================== */

.fp-coin-shop{
    max-width:var(--fp-page-max-width, 1320px);
    width:var(--fp-page-width, 100%);
    margin:0 auto;
    box-sizing:border-box;
}

.fp-coin-shop-message{
    padding:14px 18px;
    border-radius:18px;
    margin:18px 0;
    font-weight:800;
}

.fp-coin-shop-message-success{
    background:#eefaf1;
    color:#207a3b;
}

.fp-coin-shop-message-error{
    background:#fff0f0;
    color:#b32626;
}

.fp-coin-shop-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:24px;
    margin-top:24px;
}

.fp-coin-shop-card{
    background:#f7f5f3;
    border-radius:30px;
    padding:22px;
    box-shadow:0 12px 30px rgba(0,0,0,.06);
    text-align:center;
}

.fp-coin-shop-image img{
    width:100%;
    height:150px;
    object-fit:contain;
    margin-bottom:14px;
}

.fp-coin-shop-card h3{
    margin:8px 0 10px;
    font-size:22px;
    line-height:1.15;
}

.fp-coin-shop-price{
    display:inline-block;
    background:#fff;
    border-radius:999px;
    padding:8px 16px;
    font-weight:900;
    color:#8c6cff;
    margin-bottom:12px;
}

.fp-coin-shop-desc{
    font-size:14px;
    color:#666;
    min-height:40px;
    margin-bottom:16px;
}

.fp-coin-shop-buy{
    width:100%;
    border:none;
    border-radius:999px;
    padding:13px 18px;
    background:linear-gradient(135deg,#9b7cff,#7e61ff);
    color:#fff;
    font-weight:900;
    cursor:pointer;
}

.fp-coin-shop-buy:disabled{
    opacity:.45;
    cursor:not-allowed;
}

.fp-coin-shop-placeholder{
    background:#f7f5f3;
    padding:24px;
    border-radius:24px;
}

/* ==========================
   FLEXIPETS COIN SHOP SUCCESS
========================== */

.fp-coin-shop-success-card{
    display:flex;
    gap:22px;
    align-items:flex-start;
    background:linear-gradient(135deg,#fff7e8,#f5efff);
    border:1px solid #efe4ff;
    border-radius:30px;
    padding:26px;
    margin:22px 0;
    box-shadow:0 16px 40px rgba(140,108,255,.12);
}

.fp-coin-shop-success-icon{
    width:64px;
    height:64px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:22px;
    background:#fff;
    font-size:34px;
    flex:0 0 auto;
    box-shadow:0 8px 22px rgba(0,0,0,.06);
}

.fp-coin-shop-success-content h3{
    margin:0 0 8px;
    font-size:28px;
    color:#2b2450;
}

.fp-coin-shop-success-content p{
    margin:0 0 14px;
    color:#4d4860;
}

.fp-coin-shop-success-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin:16px 0;
}

.fp-coin-shop-success-grid div{
    background:#fff;
    border-radius:20px;
    padding:16px;
    border:1px solid #f0eaff;
}

.fp-coin-shop-success-grid span{
    display:block;
    font-size:13px;
    color:#777;
    margin-bottom:4px;
    font-weight:700;
}

.fp-coin-shop-success-grid strong{
    display:block;
    font-size:24px;
    color:#8c6cff;
}

.fp-coin-shop-success-note{
    background:#fff;
    border-radius:18px;
    padding:12px 14px;
    font-weight:800;
}

.fp-coin-shop-success-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:16px;
}

.fp-coin-shop-success-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 18px;
    border-radius:999px;
    background:linear-gradient(135deg,#9b7cff,#7e61ff);
    color:#fff;
    font-weight:900;
    text-decoration:none;
}

.fp-coin-shop-success-actions a:nth-child(2){
    background:#fff;
    color:#7e61ff;
    border:1px solid #efe4ff;
}

@media(max-width:768px){
    .fp-coin-shop-success-card{
        flex-direction:column;
    }

    .fp-coin-shop-success-grid{
        grid-template-columns:1fr;
    }
}

/* ==========================
   FLEXIPETS MODULE SYSTEM
========================== */

.fp-module-disabled-box,
.fp-module-test-badge{
    margin:20px 0;
    padding:16px 20px;
    border-radius:18px;
    font-weight:800;
}

.fp-module-disabled-box{
    background:#fff4f4;
    color:#8a2a2a;
    border:1px solid #ffd1d1;
}

.fp-module-test-badge{
    background:#fff7dd;
    color:#7a5600;
    border:1px solid #ffe49a;
    text-align:center;
}


/* =================================
   FLEXIPETS ACHIEVEMENTS
================================= */

.fp-achievements-box{
    background:#ffffff;
    border-radius:28px;
    padding:28px;
    box-shadow:0 16px 40px rgba(0,0,0,.06);
}

.fp-achievements-box h2{
    margin-top:0;
    font-size:30px;
}

.fp-achievement-unlocked-message{
    background:linear-gradient(135deg,#fff7d8,#f1eaff);
    border:1px solid #eadcff;
    border-radius:20px;
    padding:16px 18px;
    margin-bottom:20px;
    font-weight:800;
    color:#6b4cff;
}

.fp-achievements-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:18px;
}

.fp-achievement-card{
    background:#f7f5f3;
    border-radius:24px;
    padding:20px;
    display:flex;
    gap:16px;
    border:2px solid transparent;
}

.fp-achievement-card.is-unlocked{
    background:linear-gradient(135deg,#fff7e8,#f5efff);
    border-color:#9b7cff;
}

.fp-achievement-card.is-locked{
    opacity:.78;
}

.fp-achievement-icon{
    width:54px;
    height:54px;
    border-radius:18px;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    flex:0 0 54px;
    box-shadow:0 8px 20px rgba(0,0,0,.06);
}

.fp-achievement-content h3{
    margin:0 0 6px 0;
    font-size:20px;
    color:#2b2450;
}

.fp-achievement-content p{
    margin:0 0 10px 0;
    color:#666;
    font-size:14px;
}

.fp-achievement-progress-text{
    font-size:13px;
    font-weight:800;
    color:#8c6cff;
    margin-bottom:5px;
}

.fp-achievement-progress{
    height:9px;
    border-radius:99px;
    background:#e7e2f5;
    overflow:hidden;
    margin-bottom:10px;
}

.fp-achievement-progress div{
    height:100%;
    background:linear-gradient(90deg,#9b7cff,#ffc857);
    border-radius:99px;
}

.fp-achievement-reward{
    font-weight:800;
    color:#6b4cff;
    font-size:14px;
}

.fp-achievement-status{
    margin-top:6px;
    font-size:13px;
    font-weight:800;
}

@media(max-width:768px){
    .fp-achievements-box{
        padding:20px;
    }

    .fp-achievement-card{
        padding:16px;
    }
}


/* =================================
   FLEXIPETS MISSIONS / PROFILE
================================= */

.fp-collector-profile,
.fp-missions-box{
    background:#fff;
    border-radius:28px;
    padding:28px;
    box-shadow:0 14px 40px rgba(0,0,0,.06);
    margin-bottom:30px;
}

.fp-missions-list{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:18px;
    margin-top:22px;
}

.fp-mission-card{
    background:#f7f5f3;
    border-radius:24px;
    padding:20px;
    border:2px solid transparent;
}

.fp-mission-card.fp-mission-completed{
    border-color:#9b7cff;
    background:#f3efff;
}

.fp-mission-head{
    display:flex;
    gap:14px;
    align-items:flex-start;
    margin-bottom:16px;
}

.fp-mission-icon{
    font-size:34px;
    line-height:1;
}

.fp-mission-head strong{
    display:block;
    font-size:20px;
    color:#2b2b2b;
}

.fp-mission-head p{
    margin:6px 0 0;
    color:#666;
}

.fp-mission-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-top:16px;
}

.fp-mission-footer span{
    font-weight:800;
    color:#9b7cff;
}

.fp-profile-achievements{
    margin-top:30px;
}

@media(max-width:768px){
    .fp-collector-profile,
    .fp-missions-box{
        padding:20px;
    }

    .fp-mission-footer{
        flex-direction:column;
        align-items:flex-start;
    }
}

/* =================================
   FLEXIPETS LEADERBOARDS
================================= */
.fp-leaderboards-box{
    background:#fff;
    border-radius:28px;
    padding:28px;
    box-shadow:0 12px 35px rgba(0,0,0,.06);
}
.fp-leaderboards-box h2{
    margin-top:0;
}
.fp-leaderboards-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:20px;
    margin-top:24px;
}
.fp-leaderboard-card{
    background:linear-gradient(135deg,#f7f5ff,#fff7e8);
    border-radius:22px;
    padding:20px;
    border:1px solid #eee7ff;
}
.fp-leaderboard-card h3{
    margin-top:0;
    margin-bottom:14px;
    font-size:20px;
}
.fp-leaderboard-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.fp-leaderboard-row{
    display:grid;
    grid-template-columns:48px 1fr auto;
    gap:10px;
    align-items:center;
    background:#fff;
    border-radius:16px;
    padding:10px 12px;
}
.fp-leaderboard-rank{
    font-weight:900;
    color:#9b7cff;
}
.fp-leaderboard-name{
    font-weight:700;
    color:#2b2b2b;
}
.fp-leaderboard-value{
    color:#7e61ff;
    white-space:nowrap;
}


/* =================================
   FLEXIPETS COLLECTOR PROFILE V2
================================= */

.fp-profile-hero{
    display:flex;
    gap:24px;
    align-items:center;
    background:linear-gradient(135deg,#f7f5ff,#fff7e8);
    border-radius:28px;
    padding:24px;
    margin-bottom:24px;
    border:1px solid #eee7ff;
}

.fp-profile-avatar img{
    width:110px;
    height:110px;
    border-radius:999px;
    object-fit:cover;
    background:#fff;
    box-shadow:0 10px 26px rgba(0,0,0,.10);
}

.fp-profile-kicker{
    display:inline-flex;
    background:#fff;
    border-radius:999px;
    padding:7px 12px;
    font-weight:900;
    color:#8c6cff;
    margin-bottom:8px;
}

.fp-profile-hero-text h2{
    margin:0 0 6px;
    font-size:34px;
}

.fp-profile-hero-text p{
    margin:0 0 14px;
    color:#666;
}

.fp-profile-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.fp-profile-actions a{
    background:#8c6cff;
    color:#fff;
    text-decoration:none;
    padding:10px 14px;
    border-radius:999px;
    font-weight:900;
    box-shadow:0 8px 22px rgba(140,108,255,.25);
    transition:transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease;
}

.fp-profile-actions a:hover,
.fp-profile-actions a:focus-visible{
    color:#fff;
    background:#6f52e8;
    transform:translateY(-1px);
    box-shadow:0 12px 26px rgba(111,82,232,.28);
}

.fp-profile-sections{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:22px;
    margin-top:26px;
}

.fp-profile-section{
    background:#f7f5f3;
    border-radius:24px;
    padding:20px;
}

.fp-profile-section h3{
    margin-top:0;
    margin-bottom:16px;
}

.fp-profile-pet-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(110px,1fr));
    gap:12px;
}

.fp-profile-pet-card{
    background:#fff;
    border-radius:18px;
    padding:12px;
    text-align:center;
    text-decoration:none;
    color:#2b2b2b;
    box-shadow:0 8px 18px rgba(0,0,0,.04);
}

.fp-profile-pet-card img{
    width:80px;
    height:80px;
    object-fit:contain;
    display:block;
    margin:0 auto 8px;
}

.fp-profile-pet-card strong,
.fp-profile-pet-card span{
    display:block;
}

.fp-profile-pet-card span{
    color:#8c6cff;
    font-weight:900;
}

.fp-profile-achievement-list,
.fp-profile-offer-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.fp-profile-achievement-item,
.fp-profile-offer-item{
    background:#fff;
    border-radius:16px;
    padding:12px;
    display:flex;
    gap:12px;
    align-items:flex-start;
}

.fp-profile-achievement-item span{
    font-size:28px;
    line-height:1;
}

.fp-profile-achievement-item strong,
.fp-profile-achievement-item em,
.fp-profile-offer-item strong,
.fp-profile-offer-item span{
    display:block;
}

.fp-profile-achievement-item em,
.fp-profile-offer-item span{
    color:#666;
    font-style:normal;
    margin-top:3px;
}

.fp-leaderboard-name{
    font-weight:800;
    color:#2b2b2b;
    text-decoration:none;
}

.fp-leaderboard-name:hover{
    color:#8c6cff;
}

@media(max-width:768px){
    .fp-profile-hero{
        flex-direction:column;
        align-items:flex-start;
    }

    .fp-profile-hero-text h2{
        font-size:28px;
    }
}

/* =================================
   FLEXIPETS KARTENDUELL ALPHA
================================= */
.fp-card-duel-box{
    background:#f7f5f3;
    border-radius:34px;
    padding:28px;
    box-shadow:0 18px 45px rgba(0,0,0,.06);
    margin:20px 0;
}
.fp-card-duel-box h2{margin-top:0;}
.fp-card-duel-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:18px;
    margin:22px 0;
}
.fp-card-duel-field label{
    display:block;
    font-weight:800;
    margin-bottom:8px;
}
.fp-card-duel-field select{
    width:100%;
    border:none;
    border-radius:16px;
    padding:14px 16px;
    background:#fff;
    font-size:16px;
}
.fp-card-duel-button{
    border:none;
    border-radius:999px;
    background:linear-gradient(135deg,#9b7cff,#7e61ff);
    color:#fff;
    font-weight:900;
    padding:15px 26px;
    cursor:pointer;
    box-shadow:0 12px 28px rgba(126,97,255,.25);
}
.fp-card-duel-result{
    background:#fff;
    border-radius:28px;
    padding:24px;
    margin-top:26px;
}
.fp-card-duel-message{
    padding:14px 18px;
    border-radius:16px;
    margin:14px 0;
    font-weight:800;
}
.fp-card-duel-error{background:#fff0f0;color:#b00020;}
.fp-card-duel-reveal{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:18px;
    margin:20px 0;
}
.fp-card-duel-pet-card{
    background:#f7f5f3;
    border-radius:24px;
    padding:18px;
    text-align:center;
}
.fp-card-duel-pet-card img{
    max-width:140px;
    height:140px;
    object-fit:contain;
    display:block;
    margin:8px auto 12px;
}
.fp-card-duel-pet-card strong,
.fp-card-duel-pet-card span{display:block;}
.fp-card-duel-battle{
    border:1px solid #eee8ff;
    border-radius:22px;
    padding:18px;
    margin-top:16px;
}
.fp-card-duel-phase{
    background:#faf9ff;
    border-radius:16px;
    padding:12px 14px;
    margin:10px 0;
}
.fp-card-duel-phase strong,
.fp-card-duel-phase span{display:block;}
.fp-card-duel-phase.winner-player{border-left:5px solid #9b7cff;}
.fp-card-duel-phase.winner-opponent{border-left:5px solid #ff8a8a;}
.fp-card-duel-phase.winner-draw{border-left:5px solid #cccccc;}
@media(max-width:768px){
    .fp-card-duel-box{padding:20px;}
}


/* =================================
   FLEXIPETS KARTENDUELL WIZARD
================================= */
.fp-card-duel-wizard .fp-card-duel-intro{
    color:#5f5a6f;
    font-weight:600;
    line-height:1.5;
}

.fp-duel-progress{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:22px 0 28px;
}

.fp-duel-progress span{
    background:#fff;
    border:1px solid #eee8ff;
    color:#7a748a;
    border-radius:999px;
    padding:9px 13px;
    font-size:13px;
    font-weight:900;
}

.fp-duel-progress span.active{
    background:linear-gradient(135deg,#9b7cff,#7e61ff);
    color:#fff;
    box-shadow:0 10px 22px rgba(126,97,255,.22);
}

.fp-duel-stage{
    display:none;
    background:#fff;
    border-radius:28px;
    padding:24px;
    animation:fpDuelFadeIn .35s ease both;
}

.fp-duel-stage.active{
    display:block;
}

@keyframes fpDuelFadeIn{
    from{
        opacity:0;
        transform:translateY(14px) scale(.985);
    }
    to{
        opacity:1;
        transform:translateY(0) scale(1);
    }
}

.fp-duel-pet-select-grid,
.fp-duel-trait-grid,
.fp-duel-tactic-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:16px;
    margin:22px 0;
}

.fp-duel-pet-option input{
    display:none;
}

.fp-duel-pet-option-card,
.fp-duel-trait-choice,
.fp-duel-tactic{
    display:block;
    width:100%;
    min-height:100%;
    background:#f7f5f3;
    border:2px solid transparent;
    border-radius:24px;
    padding:18px;
    text-align:center;
    cursor:pointer;
    transition:.25s;
}

.fp-duel-pet-option-card img{
    width:120px;
    height:120px;
    object-fit:contain;
    display:block;
    margin:0 auto 12px;
}

.fp-duel-pet-option-card strong,
.fp-duel-pet-option-card small,
.fp-duel-trait-choice strong,
.fp-duel-trait-choice span,
.fp-duel-tactic small{
    display:block;
}

.fp-duel-pet-option input:checked + .fp-duel-pet-option-card,
.fp-duel-trait-choice.active,
.fp-duel-tactic.active{
    border-color:#9b7cff;
    background:#f4efff;
    box-shadow:0 14px 30px rgba(126,97,255,.14);
    transform:translateY(-3px);
}

.fp-duel-trait-choice,
.fp-duel-tactic{
    border:none;
    font:inherit;
}

.fp-duel-trait-choice strong{
    font-size:19px;
    color:#2b2450;
    margin-bottom:8px;
}

.fp-duel-trait-choice span{
    font-size:28px;
    font-weight:900;
    color:#9b7cff;
}

.fp-duel-tactic{
    font-weight:900;
    font-size:19px;
}

.fp-duel-tactic small{
    font-size:13px;
    color:#665f78;
    margin-top:6px;
}

.fp-duel-dice-area{
    text-align:center;
    margin:28px 0;
}

/* 3D dice styles: assets/css/card-duel-dice.css */

.fp-duel-dice-result,
.fp-duel-wheel-result{
    margin-top:16px;
    font-weight:900;
    color:#2b2450;
}

.fp-duel-versus{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    margin:22px 0;
}

.fp-duel-versus > div{
    background:#f7f5f3;
    border-radius:24px;
    padding:20px;
    text-align:center;
}

.fp-duel-counter{
    font-size:52px;
    font-weight:900;
    color:#9b7cff;
    line-height:1.1;
    margin-top:10px;
}

.fp-duel-hidden-opponent div{
    font-size:52px;
    font-weight:900;
    color:#bbb4c9;
    line-height:1.1;
    margin-top:10px;
}

.fp-duel-energy-bar{
    height:16px;
    background:#eee8ff;
    border-radius:999px;
    overflow:hidden;
    margin:18px 0 24px;
}

.fp-duel-energy-bar span{
    display:block;
    width:0%;
    height:100%;
    background:linear-gradient(135deg,#9b7cff,#ffb86b);
    border-radius:999px;
    transition:.12s;
}

.fp-duel-wheel-wrap{
    display:flex;
    justify-content:center;
    margin:24px 0 10px;
}

.fp-duel-wheel{
    width:210px;
    height:210px;
    border-radius:50%;
    background:
        conic-gradient(
            #9b7cff 0 20%,
            #ffb86b 20% 40%,
            #73e0d1 40% 60%,
            #ffd56b 60% 80%,
            #ff8ab3 80% 100%
        );
    position:relative;
    box-shadow:0 20px 45px rgba(0,0,0,.14);
    transition:transform 1.8s cubic-bezier(.16,.8,.22,1);
}

.fp-duel-wheel:after{
    content:'';
    position:absolute;
    inset:52px;
    background:#fff;
    border-radius:50%;
    box-shadow:inset 0 0 0 2px rgba(0,0,0,.05);
}

.fp-duel-wheel span{
    position:absolute;
    left:50%;
    top:50%;
    z-index:2;
    transform-origin:0 0;
    font-size:12px;
    font-weight:900;
    color:#fff;
    text-shadow:0 1px 2px rgba(0,0,0,.25);
}

.fp-duel-wheel span:nth-child(1){transform:rotate(10deg) translate(46px) rotate(-10deg);}
.fp-duel-wheel span:nth-child(2){transform:rotate(82deg) translate(46px) rotate(-82deg);}
.fp-duel-wheel span:nth-child(3){transform:rotate(154deg) translate(46px) rotate(-154deg);}
.fp-duel-wheel span:nth-child(4){transform:rotate(226deg) translate(42px) rotate(-226deg);}
.fp-duel-wheel span:nth-child(5){transform:rotate(298deg) translate(46px) rotate(-298deg);}

.fp-duel-tactic-animation{
    display:flex;
    justify-content:center;
    gap:12px;
    margin:30px 0;
}

.fp-duel-tactic-animation span{
    width:26px;
    height:70px;
    background:linear-gradient(180deg,#9b7cff,#ffb86b);
    border-radius:999px;
    animation:fpTacticPulse .65s ease-in-out infinite alternate;
}

.fp-duel-tactic-animation span:nth-child(2){animation-delay:.12s;}
.fp-duel-tactic-animation span:nth-child(3){animation-delay:.24s;}

@keyframes fpTacticPulse{
    from{
        transform:scaleY(.35);
        opacity:.55;
    }
    to{
        transform:scaleY(1);
        opacity:1;
    }
}

.fp-duel-card-reveal-demo{
    display:flex;
    justify-content:center;
    gap:24px;
    margin:28px 0;
    perspective:800px;
}

.fp-duel-card-back{
    width:130px;
    height:180px;
    border-radius:24px;
    background:linear-gradient(135deg,#9b7cff,#7e61ff);
    color:#fff;
    font-size:70px;
    font-weight:900;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 18px 38px rgba(126,97,255,.25);
    animation:fpCardFloat 1.7s ease-in-out infinite alternate;
}

.fp-duel-card-back:nth-child(2){
    animation-delay:.22s;
}

@keyframes fpCardFloat{
    from{
        transform:rotateY(-8deg) translateY(0);
    }
    to{
        transform:rotateY(8deg) translateY(-10px);
    }
}

.fp-card-duel-final-reveal{
    margin-bottom:24px;
    animation:fpDuelFinalReveal .5s ease both;
}

@keyframes fpDuelFinalReveal{
    from{
        opacity:0;
        transform:scale(.98);
    }
    to{
        opacity:1;
        transform:scale(1);
    }
}

.fp-card-duel-button:disabled{
    opacity:.45;
    cursor:not-allowed;
    transform:none;
}

@media(max-width:768px){
    .fp-duel-stage{
        padding:18px;
    }

    .fp-duel-versus{
        grid-template-columns:1fr;
    }

    .fp-duel-wheel{
        width:180px;
        height:180px;
    }

    .fp-duel-card-back{
        width:110px;
        height:150px;
        font-size:58px;
    }
}

/* ==================================================
   FLEXIPETS REDESIGN V1 - PLUGIN MODULE POLISH
================================================== */
:root{
    --fp-purple:#9b7cff;
    --fp-purple-dark:#7448f1;
    --fp-pink:#ff72aa;
    --fp-yellow:#ffc233;
    --fp-blue:#55b7ff;
    --fp-green:#67c65f;
    --fp-panel:#fffaf5;
    --fp-text:#202235;
    --fp-muted:#6f7285;
    --fp-border:rgba(88,68,130,.12);
    --fp-shadow:0 18px 44px rgba(91,62,140,.14);
    --fp-soft-shadow:0 10px 24px rgba(91,62,140,.10);
}

.fp-user-dashboard,
.fp-orders-box,
.fp-coins-box,
.fp-album-page,
.fp-marketplace-wrap,
.fp-achievements-wrap,
.fp-missions-wrap,
.fp-leaderboards-wrap,
.fp-collector-profile,
.fp-card-duel-box,
.fp-coin-shop-wrap{
    font-family:'Poppins',sans-serif;
    color:var(--fp-text);
}

.fp-user-dashboard,
.fp-card-duel-box,
.fp-achievements-wrap,
.fp-missions-wrap,
.fp-leaderboards-wrap,
.fp-collector-profile,
.fp-coin-shop-wrap,
.fp-orders-box{
    background:
        radial-gradient(circle at 15% 5%, rgba(255,114,170,.14), transparent 28%),
        radial-gradient(circle at 90% 10%, rgba(155,124,255,.14), transparent 32%),
        rgba(255,250,245,.72);
    border:1px solid rgba(255,255,255,.9);
    border-radius:34px;
    box-shadow:var(--fp-shadow);
    padding:28px;
    margin:0 auto 28px;
}

.fp-dashboard-hero{
    background:
        linear-gradient(90deg,rgba(255,255,255,.72),rgba(255,241,249,.62)),
        radial-gradient(circle at 85% 35%, rgba(255,194,51,.25), transparent 22%);
    border-radius:30px;
    border:1px solid rgba(155,124,255,.12);
    box-shadow:var(--fp-soft-shadow);
    padding:34px;
    margin-bottom:24px;
}

.fp-dashboard-hero h2{
    font-family:'Baloo 2','Poppins',sans-serif;
    color:var(--fp-purple-dark);
    font-size:38px;
    margin:0 0 6px;
}

.fp-dashboard-hero p{
    color:#5f6273;
    margin:0;
    font-size:18px;
}

.fp-dashboard-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:18px;
    margin:22px 0;
}

.fp-dashboard-card{
    background:rgba(255,255,255,.82);
    border:1px solid rgba(155,124,255,.12);
    border-radius:26px;
    box-shadow:var(--fp-soft-shadow);
    padding:24px 18px;
    text-align:center;
    transition:.22s ease;
}
.fp-dashboard-card:hover{transform:translateY(-4px);box-shadow:var(--fp-shadow);}
.fp-dashboard-card span{font-size:34px;display:block;margin-bottom:8px;}
.fp-dashboard-card strong{display:block;font-size:28px;line-height:1;color:#22243a;margin-bottom:8px;}
.fp-dashboard-card em{font-style:normal;color:#626579;font-weight:800;font-size:14px;}

.fp-dashboard-actions{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:14px;
    margin-top:24px;
}
.fp-dashboard-actions a:not(.fp-dashboard-action-card),
.fp-card-duel-button,
.fp-daily-coin-button,
.fp-coin-shop-buy,
.fp-mission-claim-button{
    min-height:54px;
    border:0;
    border-radius:19px;
    background:linear-gradient(135deg,var(--fp-purple),var(--fp-purple-dark));
    color:#fff!important;
    font-weight:900;
    text-decoration:none!important;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    box-shadow:var(--fp-soft-shadow);
    cursor:pointer;
    transition:.22s ease;
}
.fp-dashboard-actions a:not(.fp-dashboard-action-card):hover,
.fp-card-duel-button:hover,
.fp-daily-coin-button:hover,
.fp-coin-shop-buy:hover,
.fp-mission-claim-button:hover{transform:translateY(-3px);}

/* Dashboard V2 (account tab) */
.fp-account-v2{
    position:relative;
    overflow:hidden;
}
.fp-account-v2-decor{
    position:absolute;
    inset:0;
    pointer-events:none;
    overflow:hidden;
}
.fp-v2-bg-ball{
    position:absolute;
    border-radius:50%;
}
.fp-ball-a{
    width:180px;
    height:180px;
    top:-40px;
    right:-30px;
    background:radial-gradient(circle, rgba(255,114,170,.35), transparent 70%);
}
.fp-ball-b{
    width:220px;
    height:220px;
    bottom:-80px;
    left:-60px;
    background:radial-gradient(circle, rgba(155,124,255,.28), transparent 72%);
}
.fp-v2-star{
    position:absolute;
    color:rgba(255,194,51,.55);
    font-size:22px;
}
.fp-star-a{top:18%;left:12%;}
.fp-star-b{bottom:22%;right:16%;}
.fp-v2-kicker{
    display:inline-flex;
    padding:8px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.82);
    border:1px solid rgba(155,124,255,.14);
    color:var(--fp-purple-dark);
    font-weight:900;
    font-size:12px;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin-bottom:12px;
}
.fp-account-v2-content{
    position:relative;
    z-index:1;
}
.fp-dashboard-stats{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
    gap:16px;
    margin:22px 0 26px;
}
.fp-dashboard-stat{
    background:rgba(255,255,255,.82);
    border:1px solid rgba(155,124,255,.12);
    border-radius:26px;
    box-shadow:var(--fp-soft-shadow);
    padding:20px 16px;
    text-align:center;
    transition:.22s ease;
}
.fp-dashboard-stat:hover{
    transform:translateY(-4px);
    box-shadow:var(--fp-shadow);
}
.fp-dashboard-stat span{
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
    color:var(--fp-purple);
    margin-bottom:8px;
}
.fp-dashboard-stat strong{
    display:block;
    font-size:28px;
    line-height:1;
    color:#22243a;
    margin-bottom:6px;
}
.fp-dashboard-stat small{
    display:block;
    font-size:13px;
    font-weight:800;
    color:#626579;
}
.fp-dashboard-section-title{
    font-family:'Baloo 2','Poppins',sans-serif;
    color:var(--fp-purple-dark);
    font-size:24px;
    margin:10px 0 16px;
}
.fp-dashboard-actions a.fp-dashboard-action-card{
    min-height:0;
    border-radius:22px;
    background:rgba(255,255,255,.84);
    border:1px solid rgba(155,124,255,.14);
    color:var(--fp-text)!important;
    box-shadow:var(--fp-soft-shadow);
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr);
    gap:14px;
    align-items:center;
    padding:16px 18px;
    text-align:left;
    justify-content:stretch;
}
.fp-dashboard-actions a.fp-dashboard-action-card:hover{
    transform:translateY(-3px);
    box-shadow:var(--fp-shadow);
    color:var(--fp-text)!important;
}
.fp-dashboard-action-icon{
    width:56px;
    height:56px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--fp-purple),var(--fp-purple-dark));
    color:#fff;
    font-size:22px;
    box-shadow:var(--fp-soft-shadow);
}
.fp-dashboard-action-card strong{
    display:block;
    font-size:16px;
    color:#22243a;
    margin-bottom:4px;
}
.fp-dashboard-action-card em{
    display:block;
    font-style:normal;
    font-size:13px;
    font-weight:700;
    color:#626579;
}

/* Album polish */
.fp-album-page{
    background:transparent!important;
}
.fp-album-container{
    background:linear-gradient(135deg,rgba(255,250,245,.82),rgba(255,242,249,.72));
    border-radius:34px;
    box-shadow:var(--fp-shadow);
    border:1px solid rgba(255,255,255,.9);
    padding:30px!important;
}
.fp-album-container h1{
    font-family:'Baloo 2','Poppins',sans-serif;
    color:var(--fp-purple-dark);
    font-size:48px;
}
.fp-album-filter button,
.fp-album-filters button,
.fp-category-filter button{
    border-radius:999px!important;
    padding:10px 18px!important;
    border:1px solid rgba(155,124,255,.18)!important;
    background:rgba(255,255,255,.8)!important;
    font-weight:800!important;
}
.fp-album-filter button.active,
.fp-album-filters button.active,
.fp-category-filter button.active{
    background:linear-gradient(135deg,var(--fp-purple),var(--fp-purple-dark))!important;
    color:#fff!important;
}
.fp-album-card{
    border-radius:24px!important;
    background:rgba(255,255,255,.78)!important;
    border:1px solid rgba(155,124,255,.14)!important;
    box-shadow:var(--fp-soft-shadow)!important;
    overflow:hidden;
}
.fp-album-card img{filter:drop-shadow(0 14px 12px rgba(80,50,40,.12));}

/* Coins */
.fp-coins-box{
    background:linear-gradient(135deg,#fff8e7,#fff2fb)!important;
    border:1px solid rgba(255,255,255,.95)!important;
    border-radius:28px!important;
    box-shadow:var(--fp-soft-shadow)!important;
}
.fp-coins-title{font-weight:900;color:var(--fp-purple-dark);font-size:20px;}
.fp-coins-count strong{font-size:42px;color:#23243a;}
.fp-coins-message,.fp-daily-coin-done{border-radius:18px;background:rgba(103,198,95,.13);padding:12px 16px;font-weight:800;color:#2b8732;}

/* Card duel */
.fp-card-duel-box{
    overflow:hidden;
    position:relative;
}
.fp-card-duel-box::before{
    content:'';
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 18% 12%, rgba(255,194,51,.16), transparent 24%),
        radial-gradient(circle at 82% 18%, rgba(85,183,255,.14), transparent 28%);
    pointer-events:none;
}
.fp-card-duel-box > *{position:relative;z-index:1;}
.fp-card-duel-box h2{
    font-family:'Baloo 2','Poppins',sans-serif;
    color:var(--fp-purple-dark);
    font-size:42px;
    margin-bottom:8px;
}
.fp-card-duel-intro{color:#606375;font-size:17px;line-height:1.55;max-width:900px;}
.fp-duel-progress{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin:24px 0;
}
.fp-duel-progress span{
    flex:1 1 105px;
    text-align:center;
    padding:12px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.7);
    color:#7b7e92;
    font-weight:900;
    font-size:13px;
    border:1px solid rgba(155,124,255,.12);
}
.fp-duel-progress span.active{background:linear-gradient(135deg,var(--fp-purple),var(--fp-purple-dark));color:#fff;box-shadow:var(--fp-soft-shadow);}
.fp-duel-stage{
    background:rgba(255,255,255,.72);
    border:1px solid rgba(155,124,255,.12);
    border-radius:30px;
    padding:28px;
    box-shadow:var(--fp-soft-shadow);
}
.fp-duel-stage h3{font-size:26px;color:#25263c;margin-top:0;}
.fp-duel-pet-select-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin:20px 0;}
.fp-duel-pet-option input{display:none;}
.fp-duel-pet-option-card{display:flex;flex-direction:column;align-items:center;text-align:center;border-radius:24px;border:2px solid transparent;background:rgba(255,250,245,.86);padding:18px;box-shadow:var(--fp-soft-shadow);cursor:pointer;transition:.2s ease;}
.fp-duel-pet-option-card img{height:130px;width:100%;object-fit:contain;filter:drop-shadow(0 14px 12px rgba(80,50,40,.13));}
.fp-duel-pet-option input:checked + .fp-duel-pet-option-card{border-color:var(--fp-purple);box-shadow:0 0 0 5px rgba(155,124,255,.16),var(--fp-shadow);transform:translateY(-3px);}
.fp-duel-dice-area{text-align:center;margin:26px 0;}
/* 3D dice styles: assets/css/card-duel-dice.css */
.fp-duel-dice-result{font-weight:900;color:#303145;margin-top:16px;font-size:18px;}
.fp-duel-trait-grid,.fp-duel-tactic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:22px 0;}
.fp-duel-trait-choice,.fp-duel-tactic{border:2px solid rgba(155,124,255,.16);border-radius:22px;background:#fff;padding:18px;box-shadow:var(--fp-soft-shadow);font-weight:900;cursor:pointer;transition:.2s ease;color:#25263c;}
.fp-duel-trait-choice span{display:block;font-size:28px;color:var(--fp-purple-dark);margin-top:8px;}
.fp-duel-trait-choice.active,.fp-duel-tactic.active{border-color:var(--fp-purple);background:linear-gradient(135deg,#fff,#f5edff);box-shadow:0 0 0 5px rgba(155,124,255,.13),var(--fp-soft-shadow);}
.fp-duel-versus{display:grid;grid-template-columns:1fr 1fr;gap:18px;text-align:center;margin:22px 0;}
.fp-duel-versus > div{border-radius:24px;background:rgba(255,255,255,.86);padding:24px;box-shadow:var(--fp-soft-shadow);}
.fp-duel-counter{font-size:56px;font-weight:900;color:var(--fp-purple-dark);}
.fp-duel-hidden-opponent div{font-size:56px;color:#7f8192;font-weight:900;}
.fp-duel-energy-bar{height:18px;background:rgba(0,0,0,.08);border-radius:999px;overflow:hidden;margin:20px 0;}
.fp-duel-energy-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--fp-yellow),var(--fp-pink),var(--fp-purple));border-radius:999px;transition:.18s linear;}
.fp-duel-wheel-wrap{display:flex;justify-content:center;margin:26px 0;}
.fp-duel-wheel{width:230px;height:230px;border-radius:50%;background:conic-gradient(#9b7cff 0 20%,#ffc233 20% 40%,#55b7ff 40% 60%,#ff72aa 60% 80%,#67c65f 80% 100%);box-shadow:var(--fp-shadow);position:relative;transition:transform 1.85s cubic-bezier(.18,.9,.24,1);display:grid;place-items:center;color:#fff;font-weight:900;text-shadow:0 2px 8px rgba(0,0,0,.2);border:10px solid #fff;}
.fp-duel-wheel span{position:absolute;font-size:14px;}
.fp-duel-wheel span:nth-child(1){top:28px;left:94px}.fp-duel-wheel span:nth-child(2){right:26px;top:95px}.fp-duel-wheel span:nth-child(3){bottom:38px;right:60px}.fp-duel-wheel span:nth-child(4){bottom:38px;left:44px}.fp-duel-wheel span:nth-child(5){left:30px;top:95px}
.fp-duel-wheel-result{text-align:center;font-weight:900;font-size:20px;color:var(--fp-purple-dark);margin-bottom:16px;}
.fp-duel-tactic-animation{display:flex;justify-content:center;gap:18px;margin:42px 0;}
.fp-duel-tactic-animation span{width:34px;height:80px;border-radius:999px;background:linear-gradient(180deg,var(--fp-purple),var(--fp-blue));animation:fpPulseBars .8s ease-in-out infinite alternate;}
.fp-duel-tactic-animation span:nth-child(2){animation-delay:.15s}.fp-duel-tactic-animation span:nth-child(3){animation-delay:.3s}
@keyframes fpPulseBars{from{transform:scaleY(.35);opacity:.45}to{transform:scaleY(1);opacity:1}}
.fp-duel-card-reveal-demo{display:flex;justify-content:center;gap:22px;margin:28px 0;}
.fp-duel-card-back{width:150px;height:210px;border-radius:24px;background:linear-gradient(135deg,var(--fp-purple),var(--fp-pink));color:#fff;font-size:82px;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:var(--fp-shadow);animation:fpCardFloat 1.8s ease-in-out infinite alternate;}
.fp-duel-card-back:nth-child(2){animation-delay:.35s}
@keyframes fpCardFloat{from{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-10px) rotate(2deg)}}
.fp-card-duel-result{background:rgba(255,255,255,.82);border-radius:30px;padding:28px;box-shadow:var(--fp-soft-shadow);margin-bottom:24px;}
.fp-card-duel-result h3{font-size:34px;color:var(--fp-purple-dark);}
.fp-card-duel-reveal{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:22px 0;}
.fp-card-duel-pet-card{background:rgba(255,250,245,.88);border-radius:24px;padding:20px;text-align:center;box-shadow:var(--fp-soft-shadow);}
.fp-card-duel-pet-card img{height:170px;width:100%;object-fit:contain;filter:drop-shadow(0 15px 13px rgba(80,50,40,.13));}
.fp-card-duel-phase{background:rgba(255,255,255,.8);border-radius:18px;padding:14px 16px;margin:10px 0;border-left:6px solid var(--fp-purple);}

@media(max-width:768px){
    .fp-user-dashboard,.fp-card-duel-box,.fp-achievements-wrap,.fp-missions-wrap,.fp-leaderboards-wrap,.fp-collector-profile,.fp-coin-shop-wrap,.fp-orders-box{padding:18px;border-radius:26px;}
    .fp-dashboard-hero h2,.fp-card-duel-box h2{font-size:32px;}
    .fp-duel-versus{grid-template-columns:1fr;}
    .fp-duel-progress span{flex:1 1 140px;}
}

/* moved to assets/css/flexipets-um-forms.css */
