/* =====================================================
CENCRAFT STORE
===================================================== */

:root {
--cc-primary: #00d4ff;
--cc-primary-hover: #00b8dd;


--cc-card: #1b2536;

--cc-text: #ffffff;
--cc-muted: #9ca3af;


}

/* =====================================================
ASTRA RESET
===================================================== */

.cc-store .site-content,
.cc-store .content-area,
.cc-store #primary,
.cc-store article {
width: 100% !important;
max-width: 100% !important;
}

.cc-store #secondary,
.cc-store .widget-area {
display: none !important;
}

.cc-store .ast-container {
width: 100% !important;
max-width: 100% !important;
padding: 0 30px !important;
}

/* =====================================================
GLOBAL STORE WRAPPER
===================================================== */

.cc-store-container {

width: 100%;

margin: 0 auto;

padding: 60px 20px 80px;

    max-width: 1400px;

    margin: 0 auto;

    padding: 60px 20px 80px;

    display: flex;
    flex-direction: column;
    align-items: center;

}

.cc-store-nav,
.cc-store-hero,
.cc-store-grid,
.cc-products-grid,
.cc-product-layout {

    width: 100%;

}

/* =====================================================
BREADCRUMBS
===================================================== */

.cc-store-nav {

    width: 100%;

    max-width: 1400px;

    margin: 0 auto 40px;

    display: flex;
    align-items: center;
    gap: 10px;

    justify-content: flex-start;

    font-size: 13px;

    opacity: .75;
}

.cc-store-nav a {

    color: var(--cc-primary);

    text-decoration: none;
}

.cc-store-nav a:hover {

    color: #fff;
}

.cc-store-nav span {

    color: #999;
}

.cc-store-nav strong {

    color: #666;

    font-weight: 600;
}


/* =====================================================
HERO
===================================================== */

.cc-store-hero {

    text-align: center;

    width: 100%;

    margin: 0 auto 60px;
}

.cc-store-hero h1 {

    font-size: 72px;

    font-weight: 800;

    margin: 0 0 15px;

    color: #000;
}

.cc-store-hero p {

    font-size: 20px;

    color: #555;

    margin: 0;
}

/* =====================================================
SERVER / CATEGORY CARDS
===================================================== */

/* =====================================================
SERVER / CATEGORY CARDS
===================================================== */

.cc-store-grid {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 30px !important;

    width: fit-content !important;
    margin: 0 auto !important;
}

.cc-store-grid-wrapper {
    text-align: center;
}

.cc-store-card {
width: 300px;
height: 240px;


background: var(--cc-card);

border-radius: 16px;

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

text-decoration: none;

transition: .2s ease;


}

.cc-store-card:hover {
transform: translateY(-6px);


box-shadow:
    0 20px 40px rgba(0,0,0,.2);


}

.cc-store-card h2 {
color: white;
font-size: 40px;
margin: 0;
}

.cc-store-card span {
margin-top: 12px;
color: var(--cc-primary);
}

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

.cc-products-grid {

    width: 100%;

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

    flex-wrap: wrap;

    gap: 30px;

    margin: 0 auto;

}

/* =====================================================
PRODUCT CARD
===================================================== */

.cc-product-card {


width: 340px;

background: var(--cc-card);

border-radius: 16px;

overflow: hidden;

text-decoration: none;

display: flex;
flex-direction: column;

transition: .2s ease;

box-shadow:
    0 10px 25px rgba(0,0,0,.15);


}

.cc-product-card:hover {


transform: translateY(-6px);

box-shadow:
    0 20px 40px rgba(0,0,0,.25);


}

.cc-product-image {
height: 220px;
overflow: hidden;
}

.cc-product-image img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

.cc-product-content {
padding: 25px;
text-align: center;
}

.cc-product-content h3 {
color: white;
font-size: 28px;
margin: 0 0 15px;
}

.cc-price {
color: var(--cc-primary);
font-size: 42px;
font-weight: 800;
}

.cc-view-btn {
margin: 0 25px 25px;


background: var(--cc-primary);

color: #000;

text-align: center;

padding: 14px;

border-radius: 10px;

font-weight: 700;
}

.cc-view-cart {

    display: block;

    width: 100%;

    margin-top: 50px;

    text-align: center;

}

/* =====================================================
PRODUCT PAGE
===================================================== */

.cc-product-layout {
display: grid;


grid-template-columns:
    minmax(0,1fr) 380px;

gap: 40px;


}

.cc-product-main {
background: var(--cc-card);


border-radius: 16px;

padding: 40px;

color: white;


}

.cc-product-main h1 {
font-size: 56px;
margin-bottom: 25px;
}

.cc-product-description {
line-height: 1.8;
}

.cc-product-sidebar {
background: var(--cc-card);


border-radius: 16px;

padding: 25px;

position: sticky;

top: 100px;

height: fit-content;


}

.cc-product-image-large img {
width: 100%;
border-radius: 12px;
}

.cc-product-price {
text-align: center;


font-size: 48px;
font-weight: 800;

color: var(--cc-primary);

margin: 25px 0;


}

.cc-product-cart {
display: none !important;
}

.cc-product-cart .single_add_to_cart_button {
width: 100%;
}

.cc-product-info {
margin-top: 25px;


display: flex;
flex-direction: column;

gap: 12px;

color: rgba(255,255,255,.8);


}

/* =====================================================
BUTTONS
===================================================== */

.single_add_to_cart_button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {


background: var(--cc-primary) !important;
color: #000 !important;

border: none !important;

border-radius: 10px !important;

font-weight: 700 !important;

padding: 14px 24px !important;


}

.single_add_to_cart_button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {


background: var(--cc-primary-hover) !important;


}

/* =====================================================
FIX ADD TO CART / GOOGLE PAY SPACING
===================================================== */
.cc-product-cart form.cart {
    margin-bottom: 20px;
}

.cc-product-cart .wc-payment-request-wrapper {
    margin-top: 15px;
}

.cc-product-cart .wc-payment-request-button {
    margin-top: 15px !important;
}

.cc-product-cart .single_add_to_cart_button {
    width: 100%;
}


/* =====================================================
HIDE WOOCOMMERCE CRAP
===================================================== */

.woocommerce-breadcrumb,
.product_meta,
.related.products,
.up-sells,
.widget_shopping_cart,
.woocommerce-tabs,
.woocommerce-result-count,
.woocommerce-ordering {
display: none !important;
}

/* =====================================================
ALERTS
===================================================== */
.woocommerce-notices-wrapper {
    margin-bottom: 30px;
}

.woocommerce-message,
.woocommerce-error,
.woocommerce-info {

    border: none !important;

    border-radius: 12px !important;

    padding: 18px 22px !important;

    margin-bottom: 15px !important;

    box-shadow:
        0 10px 25px rgba(0,0,0,.10);

    font-weight: 600;
}
/* =====================================================
SUCCESS ALERTS
===================================================== */
.woocommerce-message {

    background: #dcfce7 !important;

    color: #166534 !important;

    border-left: 5px solid #22c55e !important;
}
/* =====================================================
ERROR ALERTS
===================================================== */


.woocommerce-error {

    background: #fee2e2 !important;

    color: #991b1b !important;

    border-left: 5px solid #ef4444 !important;
}
/* =====================================================
INFO ALERTS
===================================================== */

.woocommerce-info {

    background: #dbeafe !important;

    color: #1e40af !important;

    border-left: 5px solid #3b82f6 !important;
}
/* =====================================================
ICONS TO ALERTS
===================================================== */
.woocommerce-message::before {
    content: "✓ ";
    font-weight: 700;
    padding-right: 20px !important;
    left: 2px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.woocommerce-error::before {
    display: none !important;
}

.woocommerce-info::before {
    content: "ⓘ ";
    font-weight: 700;
    padding-right: 20px !important;
    left: 2px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;

}


/* =====================================================
MOBILE
===================================================== */

@media (max-width: 1000px) {

    .cc-product-layout {
        grid-template-columns: 1fr;
    }

    .cc-product-sidebar {
        position: static;
    }

}

@media (max-width: 768px) {

    .cc-store-hero h1 {
        font-size: 48px;
    }

    .cc-store-hero p {
        font-size: 18px;
    }

    .cc-store-card,
    .cc-product-card {
        width: 100%;
        max-width: 340px;
    }

}


/* =========================================
PRODUCT ACTIONS
========================================= */
.cc-product-actions {
    display: flex;
    gap: 12px;

    margin-top: 25px;
}

.cc-view-btn,
.cc-add-btn {

    flex: 1;

    height: 54px;

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

    background: var(--cc-primary);

    color: #000 !important;

    border-radius: 12px;

    font-weight: 700;

    text-decoration: none !important;
}

.cc-view-btn:hover,
.cc-add-btn:hover {
    background: var(--cc-primary-hover);
}

.cc-view-btn {

    background: var(--cc-primary);

    color: #000 !important;

}

.cc-add-btn {

    background: transparent !important;

    border: 2px solid var(--cc-primary);

    color: var(--cc-primary) !important;

}

.cc-add-btn:hover {

    background: var(--cc-primary) !important;

    color: #000 !important;

}

/* =====================================================
STORE ALERTS
===================================================== */

.woocommerce-notices-wrapper {
    max-width: 1400px;
    margin: 0 auto 40px;
}

.woocommerce-message,
.woocommerce-error,
.woocommerce-info {

    position: relative;

    display: flex !important;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    width: 100%;

    padding: 22px 24px !important;

    border-radius: 16px !important;

    box-sizing: border-box;
}

/* remove WooCommerce float nonsense */
.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-info .button {

    float: none !important;
    position: relative; !important
    margin: 0 !important;
    padding-left: 65px !important;

    flex-shrink: 0;
}

/* close button */
.cc-alert-close {

    position: absolute;

    top: 12px;
    right: 16px;

    cursor: pointer;

    font-size: 22px;
    line-height: 1;

    opacity: .7;
}

.cc-alert-close:hover {
    opacity: 1;
}




/* CART PAGE */

.cc-cart-page {
    max-width: 1400px;
    margin: 0 auto;
    padding: 40px 20px;
    display: grid;
    grid-template-columns: 2fr 400px;
    gap: 40px;
    align-items: start;
}

.cc-cart-title {
    margin-bottom: 30px;
}

.cc-cart-items {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.cc-cart-card {
    background: #fff;
    border-radius: 12px;
    padding: 24px;
    display: flex;
    align-items: center;
    gap: 20px;
    box-shadow: 0 5px 20px rgba(0,0,0,.08);
}

.cc-cart-image img {
    width: 96px;
    height: 96px;
    object-fit: contain;
}

.cc-cart-details {
    flex: 1;
}

.cc-cart-product-name {
    margin: 0 0 10px;
    font-size: 22px;
}

.cc-cart-product-name a {
    color: inherit;
    text-decoration: none;
}

.cc-cart-price {
    font-size: 24px;
    font-weight: 700;
    color: #16c5f3;
    margin-top: 10px;
}

.cc-cart-actions {
    display: flex;
    align-items: center;
}

.cc-remove-item {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #ff4d4f;
    color: #fff;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    transition: .2s ease;
}

.cc-remove-item:hover {
    transform: scale(1.05);
}

/* Coupon */

.cc-cart-coupon {
    margin-top: 25px;
    display: flex;
    gap: 12px;
}

.cc-cart-coupon input {
    flex: 1;
}

/* Sidebar */

.cc-cart-sidebar {
    background: transparent;
    padding: 0;
}

/* Cart Totals Card */

.cc-cart-sidebar .cart_totals {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 5px 20px rgba(0,0,0,.08);
    position: sticky;
    top: 100px;
}

.cc-cart-sidebar .cart_totals h2 {
    margin-bottom: 20px;
}

/* Fix WooCommerce Table */

.cc-cart-sidebar .shop_table {
    width: 100%;
    border: 0 !important;
    border-collapse: collapse;
}

.cc-cart-sidebar .shop_table th,
.cc-cart-sidebar .shop_table td {
    color: #222 !important;
    border: 0 !important;
    padding: 14px 0;
    font-size: 16px;
}

.cc-cart-sidebar .shop_table tr {
    border-bottom: 1px solid #e5e7eb;
}

.cc-cart-sidebar .shop_table tr:last-child {
    border-bottom: none;
}

.cc-cart-sidebar .amount,
.cc-cart-sidebar bdi {
    color: #16c5f3 !important;
    font-weight: 700;
}

/* Checkout Buttons */

.woocommerce-cart .checkout-button,
.woocommerce-cart .button {
    background: #16c5f3 !important;
    border-radius: 8px !important;
}

.woocommerce-cart .checkout-button {
    margin-top: 20px;
}

/* Mobile */

@media (max-width: 991px) {

    .cc-cart-page {
        grid-template-columns: 1fr;
    }

    .cc-cart-card {
        flex-direction: column;
        text-align: center;
    }

    .cc-cart-sidebar .cart_totals {
        position: static;
    }
}
/* THANK YOU PAGE */

.cc-thankyou-page {
    max-width: 1400px;
    margin: 0 auto;
    padding: 40px 20px;
}

.cc-success-banner {
    background: #fff;
    border-radius: 12px;
    padding: 40px;
    text-align: center;
    box-shadow: 0 5px 20px rgba(0,0,0,.08);
    margin-bottom: 30px;
}

.cc-success-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    background: #16c5f3;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    font-weight: 700;
}

.cc-success-banner h1 {
    margin: 0 0 10px;
    font-size: 42px;
}

.cc-order-summary {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.cc-summary-item {
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,.08);
}

.cc-summary-item span {
    display: block;
    font-size: 13px;
    text-transform: uppercase;
    opacity: .7;
}

.cc-summary-item strong {
    display: block;
    margin-top: 6px;
}

.cc-content-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 30px;
}

.cc-card {
    background: #fff;
    border-radius: 12px;
    padding: 25px;
    margin-bottom: 25px;
    box-shadow: 0 5px 20px rgba(0,0,0,.08);
}

.cc-product-card {
    display: flex;
    justify-content: space-between;
    padding: 15px 0;
    border-bottom: 1px solid #eee;
}

.cc-product-card:last-child {
    border-bottom: none;
}

.cc-success {
    color: #16c5f3;
}

.cc-server-ip {
    font-size: 24px;
    font-weight: 700;
    margin: 15px 0;
    color: #16c5f3;
}

@media (max-width: 991px) {
}

.cc-order-items-table {
    margin-top: 20px;
}

.cc-order-items-header,
.cc-order-items-row {
    display: grid;
    grid-template-columns: 1fr 120px 120px;
    gap: 20px;
    align-items: center;
}

.cc-order-items-header {
    padding: 15px 20px;
    border-bottom: 2px solid #e5e7eb;
    font-weight: 700;
}

.cc-order-items-row {
    padding: 15px 20px;
    border-bottom: 1px solid #e5e7eb;
}

.cc-order-items-row:last-child {
    border-bottom: none;
}

.cc-item-qty {
    text-align: center;
}

.cc-item-price {
    text-align: right;
    color: #16c5f3;
    font-weight: 700;
}

.cc-success-banner h1 {
    text-align: center;
    font-size: 42px;
    font-weight: 700;
}