:root{--zarca-primary:#0a3e43;--zarca-accent:#c9a44c;--zarca-accent-dk:#b08f3c;--zarca-bg:#f5f5f5;--zarca-white:#fff;--zarca-text:#2f2f2f;--zarca-muted:#6b6b6b;--zarca-error:#d32f2f;--zarca-success:#2e7d32;--zarca-radius:16px;--zarca-shadow:0 8px 30px rgba(0,0,0,.10);}
.zarca-funnel-wrap,.zarca-lottery-wrap,.zarca-checkout-wrap,.zarca-testpack-wrap,.zarca-wallet-account{direction:rtl;font-family:'IRANSans','Tahoma',sans-serif;color:var(--zarca-text);}
.zarca-funnel-card{background:#fff;border-radius:var(--zarca-radius);box-shadow:var(--zarca-shadow);padding:36px;max-width:480px;margin:0 auto;}
.zarca-input{width:100%;padding:14px 16px;border:1.5px solid #ddd;border-radius:12px;font-size:14px;font-family:inherit;color:var(--zarca-text);background:#fafafa;box-sizing:border-box;transition:border-color .2s,box-shadow .2s;}
.zarca-input:focus{border-color:var(--zarca-accent);box-shadow:0 0 0 3px rgba(201,164,76,.20);outline:none;}
.zarca-form-group{margin-bottom:14px;}.zarca-form-group label{display:block;margin-bottom:5px;font-size:13px;color:var(--zarca-muted);}
.zarca-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:15px 20px;border:none;border-radius:14px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:8px;}
.zarca-btn:hover{transform:translateY(-2px);}
.zarca-btn-primary{background:linear-gradient(135deg,var(--zarca-accent),var(--zarca-accent-dk));color:#fff;box-shadow:0 6px 20px rgba(176,143,60,.35);}
.zarca-btn-secondary{background:var(--zarca-primary);color:#fff;}
.zarca-btn-link{background:none;border:none;color:var(--zarca-accent-dk);font-size:13px;cursor:pointer;font-family:inherit;text-decoration:underline;margin-top:8px;display:block;text-align:center;}
.zarca-spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:zarca-spin .7s linear infinite;}
@keyframes zarca-spin{to{transform:rotate(360deg);}}
.zarca-msg{padding:10px 14px;border-radius:10px;font-size:13px;margin-top:10px;}
.zarca-msg.success{background:#e8f5e9;color:var(--zarca-success);}
.zarca-msg.error{background:#ffebee;color:var(--zarca-error);}
.zarca-funnel-title{font-size:22px;font-weight:800;color:var(--zarca-primary);margin-bottom:6px;}
.zarca-funnel-sub{font-size:13px;color:var(--zarca-muted);margin-bottom:20px;}
.zarca-otp-timer{font-size:12px;color:var(--zarca-muted);margin:8px 0;text-align:center;}
.zarca-otp-input{font-size:22px;letter-spacing:8px;text-align:center;}
.zarca-success-icon{font-size:48px;text-align:center;margin-bottom:12px;}
.zf-coupon-box{background:#fff8e1;border:1.5px dashed var(--zarca-accent);border-radius:10px;padding:12px 16px;text-align:center;margin-top:14px;font-size:15px;}
.zf-coupon-box strong{font-size:20px;color:var(--zarca-accent-dk);letter-spacing:2px;display:block;margin-top:4px;}
.zarca-checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:900px;margin:0 auto;}
.zc-section-title{font-size:18px;font-weight:700;color:var(--zarca-primary);margin-bottom:16px;}
.zc-cart-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eee;font-size:14px;}
.zc-cart-total{display:flex;justify-content:space-between;padding:12px 0;font-weight:700;font-size:16px;}
.zc-wallet-box{background:#fff8e1;border-radius:12px;padding:14px;margin-bottom:14px;}
.zc-gateway{display:block;padding:10px 14px;border:1.5px solid #ddd;border-radius:10px;margin-bottom:8px;cursor:pointer;font-size:14px;}
.zc-balance-badge{background:var(--zarca-accent);color:#fff;border-radius:20px;padding:2px 10px;font-size:12px;margin-right:8px;}
.zw-balance-card{background:linear-gradient(135deg,var(--zarca-primary),#1a5e65);color:#fff;border-radius:var(--zarca-radius);padding:30px;text-align:center;margin-bottom:24px;}
.zw-balance-label{font-size:14px;opacity:.8;}
.zw-balance-amount{font-size:36px;font-weight:800;margin:8px 0 16px;}
.zw-txn-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid #f5f5f5;font-size:14px;}
.zw-txn-row.credit .zw-txn-amount{color:var(--zarca-success);font-weight:700;}
.zw-txn-row.debit .zw-txn-amount{color:var(--zarca-error);font-weight:700;}
.zw-txn-date{font-size:11px;color:var(--zarca-muted);}
.zc-cart-bubble{position:fixed;bottom:24px;left:24px;z-index:9999;background:var(--zarca-accent);color:#fff;border:none;border-radius:50px;padding:12px 20px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 6px 24px rgba(0,0,0,.25);font-family:inherit;}
.zc-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10000;opacity:0;pointer-events:none;transition:opacity .3s;}
.zc-drawer-overlay.open{opacity:1;pointer-events:all;}
.zc-drawer{position:fixed;top:0;left:-400px;width:380px;height:100%;background:#fff;z-index:10001;transition:left .3s ease;box-shadow:-4px 0 30px rgba(0,0,0,.15);display:flex;flex-direction:column;direction:rtl;}
.zc-drawer.open{left:0;}
.zc-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #eee;}
.zc-drawer-title{font-size:16px;font-weight:700;}
.zc-drawer-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--zarca-muted);}
.zc-drawer-body{flex:1;overflow-y:auto;padding:16px;}
.zc-item{display:flex;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f0f0f0;}
.zc-item-img{width:64px;height:64px;object-fit:cover;border-radius:8px;}
.zc-item-name{font-size:13px;font-weight:600;margin-bottom:4px;}
.zc-item-price{font-size:13px;color:var(--zarca-accent-dk);}
.zc-item-qty{display:flex;align-items:center;gap:8px;margin-top:8px;}
.zc-qty-btn{background:#f5f5f5;border:none;width:28px;height:28px;border-radius:8px;cursor:pointer;font-size:16px;font-weight:700;}
.zc-drawer-footer{padding:16px;border-top:1px solid #eee;}
.zc-fs-progress{height:6px;background:#eee;border-radius:3px;margin-bottom:6px;}
.zc-fs-fill{height:100%;background:var(--zarca-accent);border-radius:3px;transition:width .3s;}
.zarca-success-msg-box{background:#fff8e1;border-left:4px solid var(--zarca-accent);padding:20px 24px;border-radius:12px;margin-bottom:24px;direction:rtl;}
.zarca-success-audio{width:100%;margin-bottom:12px;}
.zl-campaign-badge{text-align:center;font-size:15px;font-weight:700;color:var(--zarca-primary);background:#fff8e1;border-radius:40px;padding:8px 20px;display:inline-block;margin-bottom:16px;}
@media(max-width:640px){.zarca-checkout-grid{grid-template-columns:1fr;}.zarca-funnel-card{padding:24px 18px;}.zc-drawer{width:100%;left:-100%;}.zc-cart-bubble{bottom:16px;left:16px;}}

/* =============================================================================
   FIX START — Place Order Button: scoped overrides to prevent theme CSS from
   stripping the gradient, flex layout, or font from the submit button.
   Using .zarca-submit-wrap as a specificity anchor avoids !important abuse
   while still winning over most theme rules.
   ============================================================================= */
.zarca-submit-wrap { display: block; width: 100%; }
.zarca-submit-wrap .zarca-btn.zarca-btn-primary,
.zarca-submit-wrap #zc-submit-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 15px 20px !important;
    background: linear-gradient(135deg, var(--zarca-accent), var(--zarca-accent-dk)) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    font-family: inherit !important;
    cursor: pointer !important;
    box-shadow: 0 6px 20px rgba(176,143,60,.35) !important;
    transition: transform .2s, box-shadow .2s !important;
    text-decoration: none !important;
    margin-top: 8px !important;
}
.zarca-submit-wrap .zarca-btn.zarca-btn-primary:hover,
.zarca-submit-wrap #zc-submit-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 26px rgba(176,143,60,.45) !important;
}
.zarca-submit-wrap .zarca-btn.zarca-btn-primary:disabled,
.zarca-submit-wrap #zc-submit-btn:disabled {
    opacity: 0.7 !important;
    cursor: not-allowed !important;
    transform: none !important;
}
/* FIX END — Place Order Button */

/* =============================================================================
   FIX START — Side Cart: ensure overlay correctly covers entire viewport and
   that the drawer uses the correct IDs (#zarca-cart-overlay, #zarca-cart-drawer)
   in addition to the existing class-based rules.
   ============================================================================= */
#zarca-cart-overlay { position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10000;opacity:0;pointer-events:none;transition:opacity .3s; }
#zarca-cart-overlay.open { opacity:1;pointer-events:all; }
#zarca-cart-drawer { position:fixed;top:0;right:-400px;left:auto;width:380px;height:100%;background:#fff;z-index:10001;transition:right .3s ease;box-shadow:4px 0 30px rgba(0,0,0,.15);display:flex;flex-direction:column;direction:rtl; }
#zarca-cart-drawer.open { right:0; }
@media(max-width:640px){
    #zarca-cart-drawer { width:100%;right:-100%; }
    #zarca-cart-drawer.open { right:0; }
}
/* FIX END — Side Cart */
