/* =========================================================
   PARLASONIC CART & CHECKOUT — DESIGN SYSTEM
   امضای طراحی: موج صدا (Soundwave) — برگرفته از لوگوی برند
   ========================================================= */

:root{
    --pcc-ease: cubic-bezier(.16,1,.3,1);
    --pcc-ease-soft: cubic-bezier(.4,0,.2,1);
}

/* ---------- Overlay ---------- */
#pcc-overlay{
    position:fixed;
    inset:0;
    background:radial-gradient(circle at 70% 30%, rgba(212,175,55,.06), transparent 55%), rgba(4,4,4,.72);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
    z-index:99998;
    opacity:0;
    visibility:hidden;
    transition:.5s var(--pcc-ease-soft);
}
#pcc-overlay.active{
    opacity:1;
    visibility:visible;
}

/* ---------- Signature: Soundwave ---------- */
.pcc-soundwave{
    display:inline-flex;
    align-items:center;
    gap:4px;
    height:18px;
}
.pcc-soundwave span{
    display:block;
    width:3px;
    border-radius:3px;
    background:linear-gradient(180deg,var(--pcc-gold-light,#F2D77A),var(--pcc-gold,#D4AF37));
    animation:pccWave 1s ease-in-out infinite;
}
.pcc-soundwave span:nth-child(1){ height:6px;  animation-delay:-0.9s; }
.pcc-soundwave span:nth-child(2){ height:14px; animation-delay:-0.7s; }
.pcc-soundwave span:nth-child(3){ height:18px; animation-delay:-0.5s; }
.pcc-soundwave span:nth-child(4){ height:10px; animation-delay:-0.3s; }
.pcc-soundwave span:nth-child(5){ height:15px; animation-delay:-0.1s; }
@keyframes pccWave{
    0%,100%{ transform:scaleY(.35); opacity:.55; }
    50%{ transform:scaleY(1); opacity:1; }
}

.pcc-state{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:18px;
    padding:70px 20px;
    text-align:center;
}
.pcc-state .pcc-soundwave{ height:26px; gap:5px; }
.pcc-state .pcc-soundwave span{ width:4px; }
.pcc-state-title{
    color:#fff;
    font-size:16px;
    font-weight:800;
}
.pcc-state-sub{
    color:#8a8a8a;
    font-size:13.5px;
    line-height:1.9;
    max-width:230px;
}
.pcc-btn-retry{
    background:transparent;
    border:1px solid var(--pcc-gold,#D4AF37);
    color:var(--pcc-gold,#D4AF37);
    border-radius:12px;
    padding:9px 22px;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    transition:.25s ease;
}
.pcc-btn-retry:hover{
    background:var(--pcc-gold,#D4AF37);
    color:#141208;
}

/* ---------- Floating Icon ---------- */
#pcc-floating-icon{
    position:fixed;
    bottom:28px;
    left:28px;
    width:60px;
    height:60px;
    border-radius:20px;
    background:linear-gradient(155deg,#1c1a12,#0c0b08);
    border:1px solid rgba(212,175,55,.35);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--pcc-gold,#D4AF37);
    cursor:pointer;
    box-shadow:0 20px 40px -12px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.02) inset;
    z-index:99997;
    transition:.45s var(--pcc-ease);
}
#pcc-floating-icon:hover{
    transform:translateY(-5px) scale(1.04);
    border-color:rgba(212,175,55,.7);
    box-shadow:0 26px 50px -10px rgba(212,175,55,.28), 0 0 0 1px rgba(255,255,255,.03) inset;
}
#pcc-badge{
    position:absolute;
    top:-7px;
    right:-7px;
    background:linear-gradient(135deg,var(--pcc-gold,#D4AF37),var(--pcc-gold-light,#F2D77A));
    color:#111;
    font-size:11px;
    font-weight:900;
    min-width:21px;
    height:21px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2.5px solid #0b0a07;
    box-shadow:0 4px 10px rgba(0,0,0,.35);
}

/* ---------- Drawer ---------- */
#pcc-drawer{
    position:fixed;
    top:0;
    right:0;
    width:420px;
    max-width:94vw;
    height:100vh;
    background:linear-gradient(180deg,#131311 0%, #0d0d0b 100%);
    border-left:1px solid rgba(212,175,55,.14);
    box-shadow:-30px 0 80px rgba(0,0,0,.55);
    z-index:99999;
    display:flex;
    flex-direction:column;
    transform:translateX(105%);
    transition:.55s var(--pcc-ease);
}
#pcc-drawer.active{
    transform:translateX(0);
}

.pcc-drawer-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:26px 28px 20px;
    position:relative;
}
.pcc-drawer-header::after{
    content:"";
    position:absolute;
    bottom:0;
    right:28px;
    left:28px;
    height:1px;
    background:linear-gradient(90deg, rgba(212,175,55,.5), transparent 75%);
}
.pcc-drawer-header h3{
    color:#fff;
    font-size:20px;
    font-weight:800;
    margin:0;
    letter-spacing:-.2px;
    display:flex;
    align-items:center;
    gap:12px;
}
#pcc-close{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    color:#ccc;
    width:36px;
    height:36px;
    border-radius:50%;
    font-size:19px;
    cursor:pointer;
    line-height:1;
    transition:.3s var(--pcc-ease-soft);
}
#pcc-close:hover{
    background:var(--pcc-gold,#D4AF37);
    border-color:var(--pcc-gold,#D4AF37);
    color:#111;
    transform:rotate(90deg);
}

#pcc-drawer-body{
    flex:1;
    overflow-y:auto;
    padding:22px 28px;
    scrollbar-width:thin;
    scrollbar-color:rgba(212,175,55,.35) transparent;
}
#pcc-drawer-body::-webkit-scrollbar{ width:5px; }
#pcc-drawer-body::-webkit-scrollbar-thumb{ background:rgba(212,175,55,.35); border-radius:10px; }

/* ---------- Loyalty reminder banner (Parla Loyalty integration) ---------- */
.pcc-loyalty-notice{
    display:flex;
    align-items:center;
    gap:10px;
    background:linear-gradient(155deg, rgba(212,175,55,.14), rgba(212,175,55,.04));
    border:1px solid rgba(212,175,55,.35);
    color:var(--pcc-gold-light,#F2D77A);
    font-size:13px;
    font-weight:700;
    line-height:1.8;
    padding:12px 14px;
    border-radius:14px;
    margin-bottom:20px;
}
.pcc-loyalty-notice .pcc-soundwave{ height:14px; flex-shrink:0; }
.pcc-loyalty-notice .pcc-soundwave span{ width:2.5px; }

.pcc-items{
    display:flex;
    flex-direction:column;
    gap:20px;
}
.pcc-item{
    display:flex;
    align-items:flex-start;
    gap:16px;
    padding-bottom:20px;
    border-bottom:1px solid rgba(255,255,255,.055);
    position:relative;
    opacity:0;
    animation:pccItemIn .5s var(--pcc-ease) forwards;
}
@keyframes pccItemIn{
    from{ opacity:0; transform:translateY(10px); }
    to{ opacity:1; transform:translateY(0); }
}
.pcc-item-thumb{
    position:relative;
    border-radius:16px;
    padding:2px;
    background:linear-gradient(155deg, rgba(212,175,55,.25), rgba(212,175,55,0));
}
.pcc-item-thumb img{
    width:68px;
    height:68px;
    object-fit:cover;
    border-radius:14px;
    background:var(--pcc-card,#171717);
    display:block;
}
.pcc-item-info{
    flex:1;
    display:flex;
    flex-direction:column;
    gap:10px;
    padding-top:2px;
}
.pcc-item-title{
    color:#f2f2f2;
    font-size:14.5px;
    font-weight:700;
    line-height:1.55;
}
.pcc-item-qty-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.pcc-qty-control{
    display:flex;
    align-items:center;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    overflow:hidden;
}
.pcc-qty-control button{
    background:transparent;
    border:none;
    color:#ddd;
    width:30px;
    height:30px;
    cursor:pointer;
    font-size:15px;
    transition:.2s;
}
.pcc-qty-control button:hover{
    background:var(--pcc-gold,#D4AF37);
    color:#111;
}
.pcc-qty-input{
    width:28px;
    text-align:center;
    background:transparent;
    border:none;
    color:#fff;
    font-size:13px;
    font-weight:700;
    font-variant-numeric:tabular-nums;
}
.pcc-item-price{
    color:var(--pcc-gold,#D4AF37);
    font-weight:800;
    font-size:14px;
    font-variant-numeric:tabular-nums;
}
.pcc-item-remove{
    background:none;
    border:none;
    color:#666;
    font-size:17px;
    cursor:pointer;
    line-height:1;
    padding:4px;
    transition:.25s;
    flex-shrink:0;
}
.pcc-item-remove:hover{
    color:#e0574f;
    transform:rotate(90deg) scale(1.1);
}

.pcc-drawer-footer{
    padding:22px 28px 28px;
    position:relative;
}
.pcc-drawer-footer::before{
    content:"";
    position:absolute;
    top:0;
    right:28px;
    left:28px;
    height:1px;
    background:linear-gradient(90deg, rgba(212,175,55,.5), transparent 75%);
}
.pcc-subtotal-row{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    margin-bottom:18px;
    color:#bbb;
    font-size:14px;
}
.pcc-subtotal-row strong{
    color:#fff;
    font-size:23px;
    font-weight:800;
    font-variant-numeric:tabular-nums;
}
.pcc-subtotal-row strong bdi{ color:var(--pcc-gold,#D4AF37); }
.pcc-btn-checkout{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    width:100%;
    padding:17px;
    border-radius:16px;
    background:linear-gradient(135deg,var(--pcc-gold,#D4AF37),var(--pcc-gold-light,#F2D77A));
    color:#141208 !important;
    font-weight:800;
    font-size:15.5px;
    text-decoration:none;
    overflow:hidden;
    transition:.4s var(--pcc-ease);
    box-shadow:0 15px 35px -10px rgba(212,175,55,.45);
}
.pcc-btn-checkout::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.55) 50%, transparent 70%);
    transform:translateX(-120%);
    transition:.7s ease;
}
.pcc-btn-checkout:hover{
    transform:translateY(-3px);
    box-shadow:0 22px 45px -8px rgba(212,175,55,.6);
}
.pcc-btn-checkout:hover::before{
    transform:translateX(120%);
}

@media(max-width:480px){
    #pcc-floating-icon{
        bottom:18px;
        left:18px;
        width:54px;
        height:54px;
        border-radius:17px;
    }
}


/* =========================================================
   ORDER BUMP (صفحه چک‌اوت)
   ========================================================= */
.pcc-order-bump{
    margin:26px 0;
    padding:4px;
    border-radius:22px;
    background:linear-gradient(155deg, rgba(212,175,55,.5), rgba(212,175,55,.05));
}
.pcc-bump-headline{
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--pcc-gold,#D4AF37);
    font-weight:800;
    font-size:14px;
    margin:16px 18px 14px;
}
.pcc-bump-box{
    display:flex;
    align-items:center;
    gap:16px;
    cursor:pointer;
    padding:16px;
    margin:0 4px 4px;
    border-radius:18px;
    background:var(--pcc-card,#171717);
    transition:.3s var(--pcc-ease-soft);
}
.pcc-bump-box:hover{
    background:#1c1c1a;
}
.pcc-bump-box input[type="checkbox"]{
    appearance:none;
    -webkit-appearance:none;
    width:22px;
    height:22px;
    border-radius:7px;
    border:2px solid rgba(212,175,55,.5);
    flex-shrink:0;
    cursor:pointer;
    position:relative;
    transition:.25s;
}
.pcc-bump-box input[type="checkbox"]:checked{
    background:linear-gradient(135deg,var(--pcc-gold,#D4AF37),var(--pcc-gold-light,#F2D77A));
    border-color:var(--pcc-gold,#D4AF37);
}
.pcc-bump-box input[type="checkbox"]:checked::after{
    content:"";
    position:absolute;
    top:3px;
    right:7px;
    width:5px;
    height:10px;
    border:solid #141208;
    border-width:0 2.5px 2.5px 0;
    transform:rotate(45deg);
}
.pcc-bump-thumb img{
    width:58px;
    height:58px;
    object-fit:cover;
    border-radius:13px;
}
.pcc-bump-info{
    flex:1;
    display:flex;
    flex-direction:column;
    gap:5px;
}
.pcc-bump-name{
    color:#fff;
    font-weight:700;
    font-size:14px;
}
.pcc-bump-price{
    color:var(--pcc-gold,#D4AF37);
    font-weight:800;
    font-size:14px;
    font-variant-numeric:tabular-nums;
}


/* =========================================================
   CHECKOUT PAGE
   ========================================================= */
.woocommerce-checkout #payment,
.woocommerce-checkout-review-order,
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading{
    background:linear-gradient(180deg,#141412,#101010) !important;
    border-radius:26px;
    padding:28px !important;
    border:1px solid rgba(255,255,255,.055);
    box-shadow:0 30px 70px -30px rgba(0,0,0,.5);
}
/* هر جدول یا ظرف داخلی که ممکنه پس‌زمینه‌ی سفید جداگانه‌ی خودش رو از
   قالب به ارث برده باشه، صریحاً بی‌رنگ می‌شه تا پس‌زمینه‌ی تیره‌ی بالا
   همه‌جا دیده بشه، نه فقط دور تا دورش */
.woocommerce-checkout #order_review table,
.woocommerce-checkout #order_review .shop_table,
.woocommerce-checkout-review-order-table{
    background:transparent !important;
}

.woocommerce-checkout h3{
    color:#fff !important;
    font-weight:800 !important;
    display:flex;
    align-items:center;
    gap:12px;
}

.woocommerce-checkout .form-row label{
    color:#c9c9c9 !important;
    font-size:13.5px;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea{
    background:rgba(255,255,255,.035) !important;
    border:1px solid rgba(255,255,255,.1) !important;
    color:#fff !important;
    border-radius:14px !important;
    padding:13px 16px !important;
    transition:.3s var(--pcc-ease-soft) !important;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus{
    border-color:var(--pcc-gold,#D4AF37) !important;
    box-shadow:0 0 0 3px rgba(212,175,55,.14) !important;
    outline:none !important;
}

.woocommerce-checkout .wc_payment_methods{
    padding:0 !important;
}
.woocommerce-checkout .wc_payment_method{
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.07);
    border-radius:16px;
    padding:14px 16px !important;
    margin-bottom:10px !important;
    transition:.25s;
}
.woocommerce-checkout .wc_payment_method label{
    color:#fff !important;
    font-weight:600;
}
.woocommerce-checkout .payment_box{
    background:transparent !important;
    color:#aaa !important;
    font-size:13px;
}

.woocommerce-checkout #place_order{
    position:relative;
    width:100%;
    padding:18px !important;
    border-radius:16px !important;
    background:linear-gradient(135deg,var(--pcc-gold,#D4AF37),var(--pcc-gold-light,#F2D77A)) !important;
    color:#141208 !important;
    font-weight:800 !important;
    font-size:16.5px !important;
    border:none !important;
    overflow:hidden;
    box-shadow:0 20px 45px -12px rgba(212,175,55,.45) !important;
    transition:.4s var(--pcc-ease) !important;
}
.woocommerce-checkout #place_order:hover{
    transform:translateY(-3px);
    box-shadow:0 26px 55px -10px rgba(212,175,55,.6) !important;
}

.woocommerce-checkout-review-order-table{
    border-collapse:separate !important;
    border-spacing:0 !important;
    background:transparent !important;
}
.woocommerce-checkout-review-order-table thead,
.woocommerce-checkout-review-order-table tbody,
.woocommerce-checkout-review-order-table tfoot,
.woocommerce-checkout-review-order-table tr{
    background:transparent !important;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td{
    color:#ddd !important;
    background:transparent !important;
    border-color:rgba(255,255,255,.07) !important;
    padding:13px 4px !important;
}
.woocommerce-checkout-review-order-table .product-name{
    color:#f0f0f0 !important;
}
.woocommerce-checkout-review-order-table .amount{
    color:var(--pcc-gold,#D4AF37) !important;
    font-weight:800;
    font-variant-numeric:tabular-nums;
}
.woocommerce-checkout-review-order-table tfoot .order-total .amount{
    font-size:20px;
}

/* روش‌های ارسال داخل جدول خلاصه‌ی سفارش — قبلاً هیچ رنگی نداشت،
   همرنگ پس‌زمینه و ناخوانا می‌شد */
.woocommerce-checkout-review-order-table #shipping_method{
    background:transparent !important;
    margin:0 !important;
    padding:0 !important;
}
.woocommerce-checkout-review-order-table #shipping_method li{
    background:transparent !important;
    color:#ddd !important;
    padding:6px 0 !important;
}
.woocommerce-checkout-review-order-table #shipping_method li label{
    color:#ddd !important;
}
.woocommerce-checkout-review-order-table #shipping_method li input[type="radio"]{
    accent-color:var(--pcc-gold,#D4AF37);
}

/* =========================================================
   فرم کد تخفیف در چک‌اوت — همیشه نمایان (بدون نیاز به کلیک/باز شدن
   جداگانه)، تا هیچ‌وقت به صفحه‌ی دیگه‌ای وابسته نباشه
   ========================================================= */
.woocommerce-checkout .woocommerce-form-coupon-toggle{
    display:none !important;
}
.woocommerce-checkout .woocommerce-form-coupon{
    display:block !important;
    background:linear-gradient(180deg,#141412,#101010) !important;
    border:1px solid rgba(212,175,55,.25) !important;
    border-radius:20px !important;
    padding:22px !important;
    margin:0 0 24px !important;
}
.woocommerce-checkout .woocommerce-form-coupon p{
    color:#c9c9c9 !important;
}
.woocommerce-checkout .woocommerce-form-coupon .input-text{
    background:rgba(255,255,255,.035) !important;
    border:1px solid rgba(255,255,255,.1) !important;
    color:#fff !important;
    border-radius:14px !important;
    padding:13px 16px !important;
}
.woocommerce-checkout .woocommerce-form-coupon .input-text:focus{
    border-color:var(--pcc-gold,#D4AF37) !important;
    box-shadow:0 0 0 3px rgba(212,175,55,.14) !important;
    outline:none !important;
}
.woocommerce-checkout .woocommerce-form-coupon button[name="apply_coupon"]{
    background:linear-gradient(135deg,var(--pcc-gold,#D4AF37),var(--pcc-gold-light,#F2D77A)) !important;
    color:#141208 !important;
    font-weight:800 !important;
    border:none !important;
    border-radius:14px !important;
    padding:13px 22px !important;
    cursor:pointer;
    transition:.3s var(--pcc-ease-soft) !important;
}
.woocommerce-checkout .woocommerce-form-coupon button[name="apply_coupon"]:hover{
    transform:translateY(-2px);
}


/* =========================================================
   انیمیشن پرواز به سبد (Fly to Cart)
   ========================================================= */
.pcc-flyer{
    position:fixed;
    z-index:999999;
    pointer-events:none;
    object-fit:cover;
    box-shadow:0 15px 35px rgba(0,0,0,.4);
    transition:top .8s var(--pcc-ease),
               left .8s var(--pcc-ease),
               width .8s var(--pcc-ease-soft),
               height .8s var(--pcc-ease-soft),
               opacity .8s ease,
               border-radius .8s ease;
}
@keyframes pccPulse{
    0%{ transform:scale(1); }
    35%{ transform:scale(1.22); box-shadow:0 0 0 10px rgba(212,175,55,0); }
    100%{ transform:scale(1); }
}
#pcc-floating-icon.pcc-pulse{
    animation:pccPulse .5s var(--pcc-ease);
}


/* =========================================================
   نوار چسبان افزودن سریع (فقط موبایل)
   ========================================================= */
#pcc-sticky-bar{
    display:none;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:99996;
    align-items:center;
    gap:13px;
    padding:13px 18px;
    padding-bottom:calc(13px + env(safe-area-inset-bottom));
    background:linear-gradient(180deg,#161613,#0e0e0c);
    border-top:1px solid rgba(212,175,55,.22);
    box-shadow:0 -15px 40px rgba(0,0,0,.4);
    transform:translateY(105%);
    transition:.45s var(--pcc-ease);
}
#pcc-sticky-bar.active{
    transform:translateY(0);
}
.pcc-sticky-thumb img{
    width:48px;
    height:48px;
    object-fit:cover;
    border-radius:12px;
    flex-shrink:0;
    border:1px solid rgba(212,175,55,.25);
}
.pcc-sticky-info{
    flex:1;
    display:flex;
    flex-direction:column;
    gap:2px;
    overflow:hidden;
}
.pcc-sticky-title{
    color:#fff;
    font-size:12.5px;
    font-weight:700;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.pcc-sticky-price{
    color:var(--pcc-gold,#D4AF37);
    font-size:13px;
    font-weight:800;
    font-variant-numeric:tabular-nums;
}
#pcc-sticky-add{
    flex-shrink:0;
    padding:12px 20px;
    border-radius:13px;
    border:none;
    background:linear-gradient(135deg,var(--pcc-gold,#D4AF37),var(--pcc-gold-light,#F2D77A));
    color:#141208;
    font-weight:800;
    font-size:13px;
    cursor:pointer;
    white-space:nowrap;
    transition:.3s var(--pcc-ease-soft);
}
#pcc-sticky-add:active{
    transform:scale(.94);
}

@media(max-width:768px){
    #pcc-sticky-bar{
        display:flex;
    }
}

@media (prefers-reduced-motion: reduce){
    *{
        animation-duration:.001ms !important;
        transition-duration:.001ms !important;
    }
}