/* =========================
   SEPARATORS & STRUCTURE
========================= */

.nan_panel_div_separator {
    width:100%;
    padding:12px;

    margin:20px 0;

    border-radius:10px;

    background:linear-gradient(135deg,#eef2ff,#e0e7ff);
    color:var(--primary-dark);

    font-weight:600;
    text-transform:uppercase;
    letter-spacing:0.5px;
    text-align:center;

    border:1px solid var(--border);
}

.nan_panel_div_standard{
    display:block;
}

.nan_panel_div_challenge{
    margin-top:60px;
}


/* =========================
   TITLES & PRICE
========================= */

.nan_panel_div_title{
    font-size:1.4rem;
    text-align:center;
    font-weight:700;
    color:var(--text);
    margin-bottom:10px;
}

.nan_panel_div_price{
    text-align:center;
    font-size:1.4rem;
    font-weight:700;
    color:var(--accent);

    margin-bottom:10px;
}


/* =========================
   IMAGES
========================= */

.woocommerce img,
.woocommerce-page img{
    display:block;
    margin-left:auto;
    margin-right:auto;

    border-radius:12px;
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
    transition:transform .4s ease;
}

.woocommerce img:hover{
    transform:scale(1.03);
}


/* =========================
   CASHOUT BOX
========================= */

.nan_panel_div_cashout{
    margin:30px auto 50px;
    padding:18px;

    width:100%;
    max-width:600px;

    border-radius:var(--radius);

    background:#fff5f5;
    border:1px solid #fecaca;

    color:#b91c1c;
    font-weight:600;
    text-align:center;

    box-shadow:0 10px 30px rgba(239,68,68,0.1);
}

.nan_span_name_cashout{
    color:var(--text);
    font-weight:500;
}

.nan_span_value_cashout{
    padding:6px 10px;
    border-radius:8px;

    background:#fef3c7;
    color:#92400e;

    font-weight:600;
}


/* =========================
   DESCRIPTION
========================= */

.nan_panel_div_shortdescription{
    text-align:center;
    font-size:0.9rem;
    color:var(--muted);

    margin:25px 0;
    line-height:1.5;
}


/* =========================
   ADD TO CART SECTION
========================= */

.nan_panel_div_addtocart{
    width:100%;
    max-width:400px;
    margin:0 auto 50px;
    text-align:center;
}


/* =========================
   CART FLEX WRAPPER
========================= */

.custom-atc-wrapper{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
}


/* =========================
   QUANTITY INPUT (MODERN)
========================= */

.quantity.buttons_added{
    display:flex;
    align-items:center;

    border:1px solid var(--border);
    border-radius:999px;

    overflow:hidden;
    background:#fff;

    width:260px;

    box-shadow:0 5px 20px rgba(0,0,0,0.05);
}

.quantity.buttons_added input{
    height:44px;
    border:none;
    text-align:center;
    background:transparent;
    font-weight:600;
}

.quantity.buttons_added .qty{
    width:160px;
}

.quantity.buttons_added .minus,
.quantity.buttons_added .plus{
    width:50px;
    height:44px;

    background:var(--bg);
    border:none;

    font-size:1.2rem;
    font-weight:700;

    cursor:pointer;

    transition:all .2s ease;
}

.quantity.buttons_added .minus:hover,
.quantity.buttons_added .plus:hover{
    background:var(--primary);
    color:#fff;
}


/* =========================
   ADD TO CART BUTTON
========================= */

.single_add_to_cart_button{
    width:260px;

    margin-top:12px !important;
    padding:12px;

    border-radius:999px !important;
    border:none !important;

    background:linear-gradient(135deg,var(--primary),var(--primary-dark)) !important;
    color:#fff !important;

    font-weight:600;
    letter-spacing:0.3px;

    transition:all .25s ease;
}

.single_add_to_cart_button:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 30px rgba(99,102,241,0.4);
}

.single_add_to_cart_button:active{
    transform:scale(0.97);
}


/* =========================
   CART LINK
========================= */

.woocommerce a.added_to_cart{
    display:block;
    margin-top:10px;

    color:var(--primary);
    font-weight:500;
}


/* =========================
   REMOVE NUMBER ARROWS
========================= */

.quantity input::-webkit-outer-spin-button,
.quantity input::-webkit-inner-spin-button{
    -webkit-appearance:none;
    margin:0;
}


/* =========================
   BADGES
========================= */

.nan_panel_div_badges{
    text-align:center;
    margin-bottom:20px;
}

.nan_badge{
    display:inline-block !important;

    height:42px !important;
    margin:5px;

    transition:transform .3s ease;
}

.nan_badge:hover{
    transform:scale(1.08);
}

@media(min-width:600px){
    .nan_badge{
        height:46px !important;
    }
}


/* =========================
   CATEGORIES
========================= */

.nan_panel_div_categories{
    text-align:center;
    font-size:0.85rem;

    margin-bottom:25px;
    color:var(--muted);
}

.nan_panel_div_categories > span{
    display:block;
    font-weight:600;
    margin-bottom:5px;
    color:var(--text);
}

.nan_panel_div_categories > a{
    display:inline-block;

    margin:4px;
    padding:6px 10px;

    border-radius:999px;

    background:var(--bg);
    border:1px solid var(--border);

    color:var(--text);
    text-decoration:none;

    transition:all .25s ease;
}

.nan_panel_div_categories > a:hover{
    background:var(--primary);
    color:#fff;
}

/* =========================================================
   v1.5.51 — CHALLENGE DETAILS SHARED WIDTH / ICON RAIL
   The participant capability rail and the cashout card share one
   responsive width. The icon count only controls equal distribution;
   semantic icon identity and challenge logic remain untouched.
========================================================= */
.nan_challenge_details_icon_row,
.beguigo-cashout-card{
    --nan-challenge-details-width:504px;
    width:min(100%, var(--nan-challenge-details-width));
    max-width:var(--nan-challenge-details-width);
    box-sizing:border-box;
    margin-left:auto;
    margin-right:auto;
}

.nan_challenge_details_icon_row{
    display:grid;
    grid-template-columns:repeat(var(--nan-detail-icon-count, 1), minmax(0, 1fr));
    align-items:center;
    justify-items:center;
    column-gap:0;
    min-height:3.15em;
    margin-bottom:20px;
}

.nan_challenge_details_icon_row > .nan_badge,
.nan_challenge_details_icon_row > .beguigo-canonical-icon{
    margin:0 !important;
    justify-self:center;
}

.nan_challenge_details_icon_row > .beguigo-canonical-icon.nan_badge{
    --beguigo-icon-size:2.5em !important;
    width:var(--beguigo-icon-size);
    height:var(--beguigo-icon-size);
    padding:3px;
}

.nan_challenge_details_icon_row > img.nan_badge{
    width:2.5em !important;
    height:2.5em !important;
    object-fit:contain;
}

.beguigo-cashout-card{
    /* Override the historical 80%/420px rules so both rows align exactly. */
    width:min(100%, var(--nan-challenge-details-width)) !important;
    max-width:var(--nan-challenge-details-width) !important;
}

@media(max-width:600px){
    .nan_challenge_details_icon_row,
    .beguigo-cashout-card{
        --nan-challenge-details-width:100%;
        width:100% !important;
        max-width:100% !important;
    }

    .nan_challenge_details_icon_row{
        min-height:2.75em;
    }

    .nan_challenge_details_icon_row > .beguigo-canonical-icon.nan_badge{
        --beguigo-icon-size:2.2em !important;
        padding:2px;
    }

    .nan_challenge_details_icon_row > img.nan_badge{
        width:2.2em !important;
        height:2.2em !important;
    }
}

.nan-capacity--detail{max-width:760px;margin:0 auto 1rem;padding:1rem 1.15rem;border:1px solid color-mix(in srgb,var(--highlight-contrast,#70e1ff) 38%,transparent);border-radius:16px;text-align:center;background:rgba(10,20,36,.72);display:flex;flex-direction:column;gap:.42rem}.nan-capacity--detail .nan-capacity__label{color:var(--highlight-contrast,#70e1ff);font-weight:800;letter-spacing:.055em}.nan-capacity__track{height:7px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.12);margin-top:.25rem}.nan-capacity__track>span{display:block;height:100%;background:currentColor;color:var(--highlight-contrast,#70e1ff)}


/* v1.6.73 — prominent FREE challenge identity on the single challenge page. */
.nan-single-free-promo{
    display:flex;align-items:center;justify-content:center;gap:14px;width:min(100%,760px);box-sizing:border-box;
    margin:0 auto 22px;padding:13px 18px;border:1px solid rgba(16,185,129,.52);border-radius:18px;
    background:radial-gradient(circle at 15% 50%,rgba(52,211,153,.18),transparent 34%),linear-gradient(135deg,rgba(16,185,129,.18),rgba(6,78,59,.08));
    box-shadow:0 14px 36px rgba(16,185,129,.12),inset 0 1px 0 rgba(255,255,255,.05);
    color:#6ee7b7;text-align:left;
}
.nan-single-free-promo__icon{--beguigo-icon-size:42px!important;flex:0 0 auto;margin:0!important}
.nan-single-free-promo__copy{display:flex;flex-direction:column;gap:2px}
.nan-single-free-promo__copy strong{font-size:1rem;font-weight:950;line-height:1.1;text-transform:uppercase;letter-spacing:.06em}
.nan-single-free-promo__copy small{color:inherit;font-size:.82rem;font-weight:750;line-height:1.3}
@media(max-width:600px){.nan-single-free-promo{width:calc(100% - 24px);padding:11px 14px}.nan-single-free-promo__icon{--beguigo-icon-size:36px!important}}
