/*
Theme Name:   Blocksy Child – CcShop
Template:     blocksy
Version:      2.0
Description:  CcShop Premium CC Card Design — style
*/

/* ══════════════════════════════════════════
   GLOBAL
══════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }

/* RED BORDER / OUTLINE — COMPLETE FIX */
*, *:focus, *:active, *::before, *::after {
    outline: none !important;
    -webkit-tap-highlight-color: transparent !important;
}

:root {
    --bg:       #060c1a;
    --bg2:      #0a1128;
    --bg3:      #0f1735;
    --border:   rgba(255,255,255,0.07);
    --border2:  rgba(255,255,255,0.13);
    --text:     #e2e8ff;
    --text2:    #7986b0;
    --text3:    #3d4a6a;
    --green:    #00e676;
    --red:      #ff4444;
    --blue:     #4fc3f7;
    --accent:   #5c6bc0;
}

body {
    background: var(--bg) !important;
    color: var(--text) !important;
    font-family: 'Inter', 'Segoe UI', system-ui, sans-serif !important;
}

/* Stars bg */
.cc-stars-bg {
    position: fixed; inset: 0;
    pointer-events: none; z-index: 0; overflow: hidden;
}

/* ══════════════════════════════════════════
   NAVIGATION
══════════════════════════════════════════ */
.ct-header, header.ct-header {
    background: rgba(6,12,26,0.95) !important;
    border-bottom: 1px solid var(--border) !important;
    backdrop-filter: blur(12px) !important;
    box-shadow: none !important;
}
.ct-header a, .ct-header .ct-menu > li > a {
    color: rgba(255,255,255,0.75) !important;
    font-weight: 500 !important;
}
.ct-header a:hover, .ct-header .ct-menu > li > a:hover {
    color: var(--blue) !important;
}

/* ══════════════════════════════════════════
   SINGLE PRODUCT — BLOCKSY HERO KILL
══════════════════════════════════════════ */
.single-product .ct-hero,
.single-product .hero-section,
.single-product .ct-breadcrumbs,
.single-product .woocommerce-breadcrumb,
.single-product .ct-page-header,
.single-product [class*="hero"],
.woocommerce-page .ct-hero,
body.single-product .ct-hero-container {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}
.single-product #main,
.single-product .site-main,
.single-product .content-area {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
.single-product .woocommerce-notices-wrapper,
.single-product .woocommerce-product-gallery,
.single-product .entry-title,
.single-product .product_title { display: none !important; }

/* WooCommerce wrapper on single */
.single-product .woocommerce,
.single-product div.product {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

/* ══════════════════════════════════════════
   SINGLE PRODUCT PAGE LAYOUT
══════════════════════════════════════════ */
.ccs-single-page {
    position: relative; z-index: 1;
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px 24px 60px;
}

.ccs-back-btn {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 13px; color: var(--text2);
    text-decoration: none;
    padding: 6px 0; margin-bottom: 20px;
    transition: color 0.15s;
}
.ccs-back-btn:hover { color: var(--text); }

.ccs-single-grid {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 20px;
    align-items: start;
}

/* Left */
.ccs-single-title {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #fff !important;
    margin: 0 0 6px !important;
    line-height: 1.3 !important;
}
.ccs-single-sub {
    font-size: 13px;
    color: var(--text2);
    margin-bottom: 20px;
}
.ccs-single-sub strong { color: var(--text); }

/* Info boxes */
.ccs-info-box {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 14px;
}
.ccs-info-box-title {
    padding: 11px 16px;
    font-size: 10px; font-weight: 700;
    color: var(--text3);
    text-transform: uppercase; letter-spacing: 0.9px;
    border-bottom: 1px solid var(--border);
}
.ccs-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.ccs-info-cell {
    padding: 13px 16px;
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}
.ccs-info-cell:nth-child(2n) { border-right: none; }
.ccs-info-cell:nth-last-child(-n+2) { border-bottom: none; }
.ccs-ic-label {
    font-size: 10px; color: var(--text3);
    text-transform: uppercase; letter-spacing: 0.8px;
    margin-bottom: 5px;
}
.ccs-ic-val {
    font-size: 14px; font-weight: 700; color: var(--text);
}
.ccs-ic-val.ccs-green { color: var(--green); }
.ccs-ic-val.ccs-red   { color: var(--red); }

/* Included data flags */
.ccs-flags-wrap {
    padding: 14px 16px;
    display: flex; flex-wrap: wrap; gap: 8px;
}
.ccs-data-flag {
    font-size: 11px; font-weight: 600;
    padding: 4px 10px; border-radius: 5px;
    background: var(--bg3);
    border: 1px solid var(--border2);
    color: var(--text2);
}

/* ══════════════════════════════════════════
   CARD PREVIEW PANEL (Right)
══════════════════════════════════════════ */
.ccs-preview-panel {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 18px;
    position: sticky;
    top: 70px;
}
.ccs-pp-header {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 14px;
}
.ccs-pp-title { font-size: 13px; font-weight: 700; color: var(--text); }
.ccs-live-badge {
    display: flex; align-items: center; gap: 5px;
    font-size: 10px; font-weight: 700;
    padding: 3px 10px; border-radius: 20px;
    background: rgba(0,230,118,0.08);
    color: var(--green);
    border: 1px solid rgba(0,230,118,0.2);
}
.ccs-live-dot {
    width: 6px; height: 6px;
    background: var(--green); border-radius: 50%;
    animation: ccsPulse 1.5s ease-in-out infinite;
}
@keyframes ccsPulse { 0%,100%{opacity:1} 50%{opacity:0.35} }

/* Stats grid */
.ccs-stats-grid {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 8px; margin-bottom: 14px;
}
.ccs-stat-box {
    background: var(--bg3);
    border-radius: 9px; padding: 11px 12px;
}
.ccs-stat-lbl {
    font-size: 9px; color: var(--text3);
    text-transform: uppercase; letter-spacing: 0.8px; margin-bottom: 4px;
}
.ccs-stat-val {
    font-size: 15px; font-weight: 800; color: #fff;
}
.ccs-stat-val.ccs-green { color: var(--green); }
.ccs-stat-val .woocommerce-Price-amount,
.ccs-stat-val .amount { font-size: 15px !important; font-weight: 800 !important; color: #fff !important; }
.ccs-stat-active {
    display: flex; align-items: center; gap: 5px;
    font-size: 13px; font-weight: 700; color: var(--green);
}

/* Buy button */
.ccs-buy-wrap .single_add_to_cart_button,
.ccs-buy-wrap button.button,
.ccs-buy-wrap .button {
    width: 100% !important;
    padding: 14px !important;
    background: linear-gradient(135deg, #3949ab, #5e35b1) !important;
    border: none !important;
    border-radius: 10px !important;
    color: #fff !important;
    font-size: 14px !important; font-weight: 700 !important;
    cursor: pointer !important;
    display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important;
    letter-spacing: 0.3px !important;
    transition: all 0.2s !important;
    box-shadow: 0 4px 20px rgba(57,73,171,0.35) !important;
    text-decoration: none !important;
}
.ccs-buy-wrap .single_add_to_cart_button:hover,
.ccs-buy-wrap button.button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 28px rgba(57,73,171,0.5) !important;
}
.ccs-buy-wrap .quantity { display: none !important; }

/* ══════════════════════════════════════════
   VISUAL CARD (shared: loop + single)
══════════════════════════════════════════ */
.ccs-vcard {
    width: 100%; aspect-ratio: 1.7;
    border-radius: 12px; padding: 16px 18px;
    position: relative; overflow: hidden;
    display: flex; flex-direction: column; justify-content: space-between;
    margin-bottom: 14px;
    transition: transform 0.2s;
}
.ccs-vcard:hover { transform: scale(1.01); }

.ccs-vcard.ccs-blue   { background: linear-gradient(135deg,#0d2557 0%,#1a3a8c 55%,#0a1a45 100%); }
.ccs-vcard.ccs-red    { background: linear-gradient(135deg,#6b1212 0%,#9c1f1f 55%,#4a0c0c 100%); }
.ccs-vcard.ccs-gold   { background: linear-gradient(135deg,#4a3000 0%,#7a5200 55%,#3a2200 100%); }
.ccs-vcard.ccs-green  { background: linear-gradient(135deg,#0a3020 0%,#145a38 55%,#062015 100%); }
.ccs-vcard.ccs-navy   { background: linear-gradient(135deg,#0a1a4a 0%,#12267a 55%,#060f30 100%); }

.ccs-vc-shine {
    position: absolute; inset: 0;
    background: linear-gradient(105deg,transparent 35%,rgba(255,255,255,0.04) 50%,transparent 65%);
}
.ccs-vc-glow {
    position: absolute; top: -50px; right: -50px;
    width: 160px; height: 160px; border-radius: 50%;
    background: radial-gradient(circle,rgba(180,200,255,0.1),transparent 70%);
}
.ccs-vc-inner {
    position: relative; z-index: 2;
    height: 100%; display: flex; flex-direction: column; justify-content: space-between;
}
.ccs-vc-top { display: flex; justify-content: space-between; align-items: flex-start; }
.ccs-vc-bank {
    font-size: 9px; font-weight: 700;
    color: rgba(255,255,255,0.5);
    text-transform: uppercase; letter-spacing: 1.2px;
}
.ccs-vc-level { font-size: 12px; font-weight: 700; color: #fff; }
.ccs-vc-wifi  { font-size: 14px; color: rgba(255,255,255,0.3); }
.ccs-vc-chip  {
    width: 34px; height: 26px; border-radius: 4px;
    background: linear-gradient(135deg,#c08030,#e0a848,#a06828);
}
.ccs-vc-number {
    font-size: 13px; font-weight: 600;
    color: rgba(255,255,255,0.88);
    letter-spacing: 2.5px; font-family: 'Space Grotesk', 'Courier New', monospace;
}
.ccs-vc-bottom {
    display: flex; justify-content: space-between; align-items: flex-end;
}
.ccs-vc-lbl {
    font-size: 7px; color: rgba(255,255,255,0.35);
    text-transform: uppercase; letter-spacing: 0.8px;
    display: block; margin-bottom: 2px;
}
.ccs-vc-val { font-size: 10px; font-weight: 700; color: #fff; }
.ccs-net-visa  { font-size: 15px; font-weight: 900; font-style: italic; color: #fff; }
.ccs-net-mc    { font-size: 12px; font-weight: 900; color: #f79e1b; }
.ccs-net-disc  { font-size: 12px; font-weight: 800; color: #f0a030; }
.ccs-net-amex  { font-size: 11px; font-weight: 800; color: #90caf9; }

/* ══════════════════════════════════════════
   SHOP HERO SECTION
══════════════════════════════════════════ */
.ccs-shop-hero {
    position: relative; z-index: 1;
    text-align: center;
    padding: 20px 20px 36px;
}
.ccs-verified-badge {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 6px 18px;
    border: 1px solid rgba(0,230,118,0.25);
    border-radius: 20px;
    font-size: 12px; color: var(--green);
    background: rgba(0,230,118,0.06);
    margin-bottom: 22px;
}
.ccs-verified-dot {
    width: 7px; height: 7px;
    background: var(--green); border-radius: 50%;
    animation: ccsPulse 1.8s infinite;
}
.ccs-hero-title {
    font-size: 46px !important; font-weight: 800 !important;
    color: #fff !important; line-height: 1.15 !important;
    margin: 0 0 14px !important;
    letter-spacing: -1px;
    font-family: 'Space Grotesk', sans-serif !important;
}
.ccs-accent { color: var(--blue); }
.ccs-hero-sub {
    font-size: 15px; color: var(--text2);
    max-width: 420px; margin: 0 auto 32px;
    line-height: 1.6;
}

/* Filter tabs */
.ccs-filter-tabs {
    display: flex; gap: 8px;
    justify-content: center; flex-wrap: wrap;
}
.ccs-tab {
    padding: 8px 20px; border-radius: 22px;
    font-size: 13px; font-weight: 600;
    cursor: pointer;
    border: 1px solid var(--border2);
    background: transparent; color: var(--text2);
    transition: all 0.2s;
}
.ccs-tab:hover { border-color: rgba(255,255,255,0.22); color: var(--text); }
.ccs-tab.active {
    background: rgba(255,255,255,0.1);
    border-color: rgba(255,255,255,0.28); color: #fff;
}

/* ══════════════════════════════════════════
   SHOP PAGE — PRODUCT LOOP
══════════════════════════════════════════ */
.woocommerce-page .site-main,
body.post-type-archive-product .site-main,
body.woocommerce .site-main {
    background: transparent !important;
    padding: 0 !important;
    max-width: 100% !important;
}

.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
    margin: 0 auto !important;
    padding: 20px !important;
    max-width: 1400px !important;
    position: relative; z-index: 1;
    align-items: start !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    background: #0b1220 !important;
    border: 1px solid rgba(255,255,255,0.06) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important; float: none !important;
    display: block !important;
    height: auto !important;
    min-height: auto !important;
    align-self: start !important;
    transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s !important;
}
.woocommerce ul.products li.product:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(255,255,255,0.12) !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.5) !important;
}

.woocommerce ul.products li.product::before,
.woocommerce ul.products li.product::after {
    display: none !important;
    content: none !important;
}

/* Hide default WC thumbnail */
.woocommerce ul.products li.product a img { display: none !important; }

/* Loop link area */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
    display: block !important;
    text-decoration: none !important;
    padding: 0 !important;
    margin: 0 !important;
    flex: none !important;
    height: auto !important;
}

/* Loop card wrap */
.ccs-loop-card-wrap {
    padding: 0 !important;
    margin: 0 !important;
}

/* Card visual in loop */
.ccs-vcard {
    aspect-ratio: 1.65 !important;
    border-radius: 10px !important;
    margin: 0 !important;
    padding: 12px !important;
    margin-bottom: 0 !important;
}

/* Title — hide WC default */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    display: none !important;
}

/* Loop meta area */
.ccs-loop-meta {
    padding: 6px 10px 12px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Product title inside meta */
.ccs-loop-product-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #fff;
    margin-bottom: 4px !important;
    line-height: 1.3 !important;
}

.ccs-loop-badges { display: flex; justify-content: flex-end; margin-bottom: 4px; }
.ccs-curr-badge {
    font-size: 10px; font-weight: 700;
    padding: 3px 9px; border-radius: 6px;
    background: rgba(76,195,247,0.1); color: var(--blue);
    border: 1px solid rgba(76,195,247,0.2);
}

.ccs-loop-sub {
    font-size: 11px !important;
    color: #94a3b8 !important;
    margin-bottom: 6px !important;
}

.ccs-loop-badge-row {
    display: flex; gap: 4px !important;
    flex-wrap: wrap; margin-bottom: 8px !important;
}
.ccs-badge {
    font-size: 9px !important;
    font-weight: 700;
    padding: 3px 7px !important;
    border-radius: 5px;
}
.ccs-badge-refund   { background: rgba(0,230,118,0.1); color: var(--green); border: 1px solid rgba(0,230,118,0.2); }
.ccs-badge-norefund { background: rgba(255,68,68,0.1);  color: var(--red);   border: 1px solid rgba(255,68,68,0.2); }
.ccs-badge-type     { background: rgba(255,255,255,0.08) !important; color: #e2e8f0 !important; border: 1px solid rgba(255,255,255,0.15) !important; }
.ccs-badge-cardtype { background: rgba(255,255,255,0.08) !important; color: #e2e8f0 !important; border: 1px solid rgba(255,255,255,0.15) !important; }

.ccs-loop-flags {
    display: flex; gap: 4px !important;
    flex-wrap: wrap; margin-bottom: 6px;
}
.ccs-flag {
    font-size: 9px !important;
    font-weight: 600;
    padding: 2px 5px !important;
    border-radius: 4px;
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    color: #cbd5e1 !important;
}

/* Price row in loop */
.ccs-loop-prices {
    background: rgba(255,255,255,0.03) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow: 0 0 20px rgba(79,195,247,0.08) !important;
    border-radius: 8px !important;
    padding: 8px !important;
    margin-top: 8px !important;
    margin-bottom: 8px !important;
    display: flex !important;
    gap: 8px !important;
    justify-content: space-between !important;
}
.ccs-loop-price-cell { flex: 1; }
.ccs-loop-price-lbl {
    font-size: 8px !important;
    color: #8fb3ff !important;
    font-weight: 700 !important;
    text-transform: uppercase; letter-spacing: 0.8px !important;
    margin-bottom: 3px;
    text-shadow: 0 0 8px rgba(79,195,247,0.6) !important;
}
.ccs-loop-price-val {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #fff !important;
    text-shadow: 0 0 12px rgba(255,255,255,0.35) !important;
}
.ccs-loop-bal {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #22c55e !important;
    text-shadow: 0 0 12px rgba(34,197,94,0.6) !important;
}

/* WC price in loop — hide default */
.woocommerce ul.products li.product .price {
    display: none !important;
}

.ccs-loop-unlock {
    font-size: 10px !important;
    color: var(--text3);
    margin-top: 4px !important;
    margin-bottom: 4px;
}

/* Buy Now button */
.ccs-buy-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    background: linear-gradient(135deg, #1d4ed8, #2563eb) !important;
    border: none !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 11px 18px !important;
    border-radius: 8px !important;
    width: 100% !important;
    height: 42px !important;
    margin-top: 8px !important;
    text-decoration: none !important;
    transition: all 0.15s !important;
    box-shadow: 0 4px 14px rgba(37,99,235,0.35) !important;
    cursor: pointer !important;
}
.ccs-buy-btn:hover {
    background: linear-gradient(135deg, #1e40af, #1d4ed8) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(37,99,235,0.5) !important;
    color: #fff !important;
}

/* WC default button — hide */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
    display: none !important;
}

/* Remove extra meta */
.woocommerce ul.products li.product .product_meta,
.woocommerce ul.products li.product .posted_in,
.woocommerce ul.products li.product .tagged_as,
.woocommerce ul.products li.product .sku_wrapper {
    display: none !important;
}

/* WC result count / ordering */
.woocommerce-result-count,
.woocommerce-ordering {
    background: var(--bg2) !important;
    border: 1px solid var(--border) !important;
    border-radius: 8px !important;
    padding: 7px 14px !important;
    color: var(--text2) !important;
    font-size: 13px !important;
    margin: 0 24px 16px !important;
    position: relative; z-index: 1;
}
.woocommerce-ordering select {
    background: transparent !important;
    color: var(--text2) !important;
    border: none !important; outline: none !important;
}

/* ══════════════════════════════════════════
   FOOTER
══════════════════════════════════════════ */
.ct-footer {
    background: #060d1f !important;
    border-top: 1px solid var(--border) !important;
    color: var(--text3) !important;
    position: relative; z-index: 1;
}

/* ══════════════════════════════════════════
   SCROLLBAR
══════════════════════════════════════════ */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: #060c1a; }
::-webkit-scrollbar-thumb { background: #1a2540; border-radius: 3px; }

/* ══ WHITE HERO REMOVE ══ */
body.single-product .hero-section,
body.single-product .page-title,
body.single-product .ct-breadcrumbs,
body.single-product .entry-header,
body.single-product .ct-page-title,
body.single-product [class*="hero"],
body.single-product [class*="page-title"],
body.single-product .woocommerce-breadcrumb,
body.single-product nav.woocommerce-breadcrumb,
body.single-product .ct-container > h1,
body.single-product .product_title.entry-title,
body.single-product .ct-main-content-inner > .ct-container:first-child,
body.single-product #hero-section,
body.single-product .blocksy-breadcrumb { display:none!important; }

body.single-product,
body.single-product .site-main,
body.single-product .ct-container,
body.single-product #primary,
body.single-product .content-area,
body.single-product main#main { background:transparent!important; padding-top:0!important; margin-top:0!important; }

body.single-product div.product { display:block!important; padding:0!important; margin:0!important; background:transparent!important; }

body.single-product .woocommerce-product-gallery,
body.single-product .entry-summary,
body.single-product .woocommerce-tabs,
body.single-product .related,
body.single-product .up-sells,
body.single-product .product_meta,
body.single-product .woocommerce-breadcrumb { display:none!important; }

/* ══ SINGLE PRODUCT LAYOUT ══ */
.ccshop-single-wrap {
    min-height:100vh; background:#060d1f;
    padding:40px 24px 80px; position:relative; z-index:1;
}
.ccshop-card-layout {
    max-width:1000px !important; margin:0 auto;
    display:grid; grid-template-columns:380px 1fr !important;
    gap:30px !important; align-items:start;
}

/* LEFT CARD */
.ccshop-card-left { position:sticky; top:90px; }

.cc-visual-card {
    width:100%; aspect-ratio:1.586;
    border-radius:16px !important; position:relative; overflow:hidden;
    box-shadow:0 30px 80px rgba(0,0,0,0.65) !important;
    margin-bottom:20px; transition:transform .3s;
}
.cc-visual-card:hover { transform:scale(1.02) rotate(-1deg); }

.cc-visual-card.brand-visa       { background:linear-gradient(135deg,#0d1b4b 0%,#1a2d7a 50%,#0a1535 100%); }
.cc-visual-card.brand-mastercard { background:linear-gradient(135deg,#2d0808 0%,#5a1010 40%,#3d0a1a 100%); }
.cc-visual-card.brand-amex       { background:linear-gradient(135deg,#0a2010 0%,#124a24 50%,#0a1a08 100%); }
.cc-visual-card.brand-discover   { background:linear-gradient(135deg,#2a1800 0%,#5a3600 40%,#3a2000 100%); }
.cc-visual-card.brand-default,
.cc-visual-card                  { background:linear-gradient(135deg,#1a1f3a 0%,#2a1f4e 40%,#1a3a5c 100%); }

.cc-shine { position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,255,255,0.1) 0%,transparent 60%); }
.cc-glow  { position:absolute; top:-60px; right:-60px; width:200px; height:200px; border-radius:50%; background:rgba(139,92,246,0.2); }

.cc-card-inner { position:relative; z-index:1; padding:20px 22px; height:100%; display:flex; flex-direction:column; justify-content:space-between; }
.cc-top-row    { display:flex; justify-content:space-between; align-items:flex-start; }
.cc-issuer-name { font-size:10px; font-weight:700; color:rgba(255,255,255,0.55); letter-spacing:1.5px; text-transform:uppercase; margin-bottom:3px; }
.cc-card-level  { font-size:13px; color:rgba(255,255,255,0.9); font-weight:500; }
.cc-chip-icon   { width:36px; height:28px; border-radius:5px; background:linear-gradient(135deg,#d4af37,#f5d97f,#c9a227); }
.cc-card-number {
    font-size:18px !important; letter-spacing:4px !important;
    color:rgba(255,255,255,0.88); font-family:'Space Grotesk',monospace;
}
.cc-bottom-row  { display:flex; justify-content:space-between; align-items:flex-end; }
.cc-field       { display:flex; flex-direction:column; }
.cc-field-label { font-size:8px; color:rgba(255,255,255,0.35); text-transform:uppercase; letter-spacing:1px; margin-bottom:3px; }
.cc-field-value { font-size:12px; font-weight:600; color:rgba(255,255,255,0.88); }
.cc-network-badge { font-family:'Space Grotesk',sans-serif; font-size:18px; font-weight:700; font-style:italic; color:#fff; }

.cc-balance-display  { background:rgba(10,18,40,0.8); border:1px solid rgba(255,255,255,0.08); border-radius:14px; padding:18px 20px; text-align:center; }
.cc-balance-label    { font-size:10px; font-weight:700; color:#334155; text-transform:uppercase; letter-spacing:1px; margin-bottom:6px; }
.cc-balance-amount   { font-family:'Space Grotesk',sans-serif; font-size:34px !important; font-weight:700; color:#22c55e; }

/* RIGHT DETAILS */
.ccshop-card-right { display:flex; flex-direction:column; gap:0; }

.cc-badges-row { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:14px; }
.cc-badge          { font-size:11px; font-weight:700; padding:4px 11px; border-radius:6px; }
.cc-badge-currency { background:rgba(59,130,246,0.15); color:#60a5fa; }
.cc-badge-norefund { background:rgba(239,68,68,0.12);  color:#f87171; }
.cc-badge-refund   { background:rgba(34,197,94,0.12);  color:#4ade80; }
.cc-badge-type     { background:rgba(255,255,255,0.05); color:#64748b; border:1px solid rgba(255,255,255,0.08); }

.cc-product-title {
    font-family:'Space Grotesk',sans-serif!important;
    font-size:24px!important; font-weight:700!important;
    color:#fff!important; line-height:1.3!important;
    margin:0 0 10px!important; padding:0!important;
}
.cc-product-sub   { font-size:14px; color:#94a3b8; margin-bottom:20px; }

.cc-info-table { background:#0a1228 !important; border:1px solid rgba(255,255,255,0.07); border-radius:14px; overflow:hidden; margin-bottom:16px; }
.cc-info-row   { display:flex; justify-content:space-between; align-items:center; padding:11px 16px; border-bottom:1px solid rgba(255,255,255,0.05); }
.cc-info-row:last-child { border-bottom:none; }
.cc-info-label { font-size:12px; color:#475569; font-weight:500; }
.cc-info-value { font-size:13px; color:#e2e8f0; font-weight:500; }
.text-green { color:#22c55e!important; }
.text-red   { color:#f87171!important; }

.cc-data-flags { display:flex; gap:5px; flex-wrap:wrap; margin-bottom:20px; }
.cc-flag { background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.07); border-radius:6px; padding:4px 10px; font-size:11px; color:#475569; }

.cc-price-section { background:#0a1228 !important; border:1px solid rgba(255,255,255,0.07); border-radius:14px; padding:20px; margin-bottom:14px; }
.cc-price-label   { font-size:10px; font-weight:700; color:#334155; text-transform:uppercase; letter-spacing:1px; margin-bottom:4px; }
.cc-price-amount,
.cc-price-amount .woocommerce-Price-amount {
    font-family:'Space Grotesk',sans-serif!important;
    font-size:34px!important; font-weight:800!important; color:#fff!important;
}

body.single-product .ccshop-card-right .single_add_to_cart_button,
body.single-product .ccshop-card-right .button.alt {
    width:100%!important;
    background:linear-gradient(135deg,#2563eb,#3b82f6)!important;
    color:#fff!important; font-size:17px!important; font-weight:700!important;
    padding:14px 24px!important; height:56px!important;
    border-radius:14px!important; border:none!important;
    box-shadow:0 4px 20px rgba(59,130,246,0.3)!important; margin-top:12px!important;
}
body.single-product .ccshop-card-right .quantity { display:none!important; }

.cc-unlock-hint { display:flex; align-items:center; gap:7px; font-size:12px; color:#334155; justify-content:center; margin-top:10px; }

/* Remove Blocksy second nav white area on single product */
body.single-product .ct-header-bottom-bar,
body.single-product .ct-header-middle-bar,
body.single-product .ct-header-top-bar,
body.single-product .ct-header ~ .ct-container:first-of-type,
body.single-product .ct-page-header,
body.single-product [data-row="bottom"],
body.single-product .ct-secondary-nav,
body.single-product nav[class*="secondary"],
body.single-product .ct-header + div:not(.ccshop-single-wrap) {
    display: none !important;
}
body.single-product .ct-main-content-inner { padding-top: 0 !important; }

body.single-product .ct-header [class*="row"]:empty,
body.single-product .ct-header ~ *:not(.site-main):not(footer),
body.single-product .ct-header + .ct-main-content > *:first-child:not(.ccshop-single-wrap),
body.single-product .ct-header__inner ~ *:empty {
    display: none !important;
    height: 0 !important; padding: 0 !important; margin: 0 !important;
}

body.single-product .site-main > .ct-container,
body.single-product .entry-header,
body.single-product .woocommerce-notices-wrapper { display: none !important; }

/* Hide shop page title */
.woocommerce-page h1.page-title,
body.post-type-archive-product h1.page-title,
.woocommerce .page-title,
.ct-page-title-has-bg,
body.woocommerce h1.woocommerce-products-header__title { display: none !important; }

/* Hide Buy Card page title hero */
body.page-id-120 .ct-hero,
body.page-id-120 .page-header,
body.page-id-120 .ct-page-title,
body.page-id-120 [class*="hero"],
body.page-id-120 .entry-header,
body.page-id-120 h1.page-title,
body.page-id-120 .ct-breadcrumbs {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Remove empty shop header space */
.woocommerce-products-header,
.woocommerce-products-header__title,
.term-description,
.page-description {
    display: none !important;
}

body.post-type-archive-product .site-main,
body.woocommerce-shop .site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Hide Buy Card page title */
.page-id-120 .entry-title,
.page-id-120 h1.entry-title,
.woocommerce-products-header__title {
    display: none !important;
}

body.page-id-101 .ct-container-full[data-vertical-spacing*=top] { padding-top: 0 !important; }
body.page-id-101 .ct-container-full[data-vertical-spacing*=bottom] { padding-bottom: 0 !important; }
body.page-id-101 .site-main { padding-top: 0 !important; margin-top: 0 !important; }
body.page-id-101 .entry-content.is-layout-constrained { padding: 0 !important; margin: 0 !important; }
body.page-id-101 .entry-content > p:empty,
body.page-id-101 .wp-block-paragraph:empty { display: none !important; margin: 0 !important; padding: 0 !important; }
body.page-id-101 p { margin-block-end: 0 !important; }

/* stats-bar hide */
.stats-bar { display: none !important; }

/* ══════════════════════════════════════════
   ULTIMATE MEMBER — RED BORDER COMPLETE FIX
══════════════════════════════════════════ */
.um, .um *,
.um-field, .um-field *,
.um-field input,
.um-field input:focus,
.um-field input:active,
.um-field textarea,
.um-field select,
.um-profile, .um-profile *,
.um-account, .um-account *,
.um-form, .um-form *,
[class*="um-"],
[class*="um-"]:focus,
[class*="um-"]:active,
[class*="um-"]:hover {
    outline: none !important;
    box-shadow: none !important;
}

.um-field.error input,
.um-field.error select,
.um-field.error textarea,
.um .um-field-error,
.um-field-error {
    border-color: rgba(255,68,68,0.4) !important;
    outline: none !important;
    box-shadow: none !important;
}

.um-profile-photo,
.um-profile-photo *,
.um-profile-photo-img,
.um-cover-add,
.um-cover-e,
.um-profile-photo-overlay,
.um-profile-body,
.um-profile-main,
.um-viewing,
.um-editing,
#um-profile-photo {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

:focus-visible {
    outline: 2px solid rgba(79,195,247,0.5) !important;
    outline-offset: 2px !important;
}

/* ══════════════════════════════════════════
   RESPONSIVE — MOBILE/TABLET
══════════════════════════════════════════ */
@media (max-width: 1200px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    }
}

@media (max-width: 900px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        padding: 12px !important;
        gap: 12px !important;
    }
    .ccshop-card-layout {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
    .ccshop-card-left { position: static; }
}

@media (max-width: 768px) {
    .ccs-hero-title { font-size: 30px !important; }
    .ccs-single-grid { grid-template-columns: 1fr !important; }
    .ccs-preview-panel { position: static; }

    .ccs-vcard {
        aspect-ratio: 1.75 !important;
        padding: 12px 14px !important;
    }
    .ccs-vc-bank   { font-size: 7px !important; }
    .ccs-vc-level  { font-size: 10px !important; }
    .ccs-vc-chip   { width: 24px !important; height: 18px !important; }
    .ccs-vc-number { font-size: 10px !important; letter-spacing: 1.2px !important; }
    .ccs-vc-lbl    { font-size: 6px !important; }
    .ccs-vc-val    { font-size: 9px !important; }
    .ccs-net-visa,
    .ccs-net-mc,
    .ccs-net-disc,
    .ccs-net-amex  { font-size: 11px !important; }

    .ccs-loop-prices { flex-direction: row !important; }
    .ccs-loop-price-val,
    .ccs-loop-bal   { font-size: 14px !important; }

    .ccshop-single-wrap { padding: 16px 12px 40px !important; }
    .cc-product-title   { font-size: 20px !important; }
    .cc-balance-amount  { font-size: 26px !important; }
    .cc-price-amount,
    .cc-price-amount .woocommerce-Price-amount { font-size: 26px !important; }
    .cc-card-number     { font-size: 14px !important; letter-spacing: 2px !important; }

    .ccd-stats   { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
    .ccd-actions { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
    .ccd-main    { padding: 16px 12px 40px !important; }
    .ccd-hero    { padding: 20px 16px !important; }
    .ccd-bal-amount { font-size: 30px !important; }
}

@media (max-width: 600px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: 1fr !important;
        padding: 8px !important;
        gap: 10px !important;
    }
}

@media (max-width: 480px) {
    .ccs-hero-title  { font-size: 26px !important; }
    .ccs-filter-tabs { gap: 6px; }
    .ccs-tab { padding: 6px 14px; font-size: 12px; }
    .ccs-vc-number   { font-size: 9px !important; letter-spacing: 0.8px !important; }
    .ccd-stats,
    .ccd-actions     { grid-template-columns: 1fr !important; }
    .ccd-hero-title  { font-size: 19px !important; }
    .ccd-bal-amount  { font-size: 26px !important; }
}

/* ══════════════════════════════════════════
   ULTIMATE MEMBER PROFILE — MOBILE FIX
══════════════════════════════════════════ */

/* Profile page wrapper — full width, centered */
.um-profile,
.um-profile-body,
.um-profile-main,
.um-viewing,
.um-editing,
#um_profile,
.um {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    left: auto !important;
    right: auto !important;
    position: relative !important;
    float: none !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Profile cover area */
.um-profile-photo,
.um-cover,
.um-cover-e,
.um-profile-headerv2,
.um-profile-header {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Profile nav tabs */
.um-profile-nav,
.um-profile-nav-item,
.um .um-profile-nav {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    box-sizing: border-box !important;
}

/* Profile content area */
.um-profile-content,
.um-field-area,
.um-col-1,
.um-col-2 {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
}

/* Fix page container যাতে UM page overflow না করে */
body.um-page-profile,
body[class*="um-page"] {
    overflow-x: hidden !important;
}

body.um-page-profile .site-content,
body.um-page-profile .ct-container,
body.um-page-profile main,
body.um-page-profile .entry-content,
body[class*="um-page"] .site-content,
body[class*="um-page"] .ct-container,
body[class*="um-page"] main {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Mobile specific */
@media (max-width: 768px) {
    .um-profile,
    .um-profile-body,
    .um {
        width: 100% !important;
        max-width: 100vw !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .um-cover-e {
        height: 120px !important;
    }

    .um-profile-photo img,
    .um-avatar {
        width: 80px !important;
        height: 80px !important;
    }

    .um-name,
    .um-profile-username {
        font-size: 18px !important;
    }

    .um-profile-nav {
        display: flex !important;
        overflow-x: auto !important;
        white-space: nowrap !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .um-profile-nav-item a {
        padding: 10px 14px !important;
        font-size: 13px !important;
    }
}
/* LOGIN PAGE FIX */
body.page-id-0 .um {
    max-width: 450px !important;
    margin: 40px auto !important;
}

.um-form {
    max-width: 450px !important;
    margin: 0 auto !important;
}

.um-col-alt,
.um-col-main {
    width: 100% !important;
    float: none !important;
}

.um-button,
.um input[type=submit] {
    width: 100% !important;
}
.ccs-loop-badge-row{
    margin-bottom:0 !important;
}
[data-id="account"] {
    display: none !important;
}