@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: "woodmart-font";
	src: url("//cacellular.co.za/wp-content/themes/woodmart/fonts/woodmart-font-1-400.woff2?v=7.6.0") format("woff2");
}

:root {
	--wd-text-font: "Roboto", Arial, Helvetica, sans-serif;
	--wd-text-font-weight: 400;
	--wd-text-color: #777777;
	--wd-text-font-size: 14px;
	--wd-title-font: "Hind", Arial, Helvetica, sans-serif;
	--wd-title-font-weight: 600;
	--wd-title-color: #242424;
	--wd-entities-title-font: "Hind", Arial, Helvetica, sans-serif;
	--wd-entities-title-font-weight: 600;
	--wd-entities-title-color: #333333;
	--wd-entities-title-color-hover: rgb(51 51 51 / 65%);
	--wd-alternative-font: "Raleway", Arial, Helvetica, sans-serif;
	--wd-widget-title-font: "Hind", Arial, Helvetica, sans-serif;
	--wd-widget-title-font-weight: 600;
	--wd-widget-title-transform: uppercase;
	--wd-widget-title-color: #333;
	--wd-widget-title-font-size: 16px;
	--wd-header-el-font: "Hind", Arial, Helvetica, sans-serif;
	--wd-header-el-font-weight: 600;
	--wd-header-el-transform: uppercase;
	--wd-header-el-font-size: 13px;
	--wd-primary-color: rgb(230,0,0);
	--wd-alternative-color: #fbbc34;
	--wd-link-color: #333333;
	--wd-link-color-hover: #242424;
	--btn-default-bgcolor: #f7f7f7;
	--btn-default-bgcolor-hover: #efefef;
	--btn-accented-bgcolor: rgb(221,51,51);
	--btn-accented-bgcolor-hover: rgba(0,0,0,0.4);
	--wd-form-brd-width: 1px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: #E0B252;
	--notices-warning-color: #fff;
	--wd-sticky-btn-height: 60px;
}
.woodmart-woocommerce-layered-nav .wd-scroll-content {
	max-height: 280px;
}
.wd-popup.wd-age-verify {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: rgb(255,255,255);
	background-image: url(https://cacellular.co.za/wp-content/uploads/2021/08/black-friday-popup.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	--wd-popup-width: 800px;
}
.header-banner {
	background-color: rgb(219,50,50);
	background-image: none;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.page-title-default {
	background-color: rgb(255,255,255);
	background-image: none;
	background-size: cover;
	background-position: center center;
}
.footer-container {
	background-color: rgb(43,43,43);
	background-image: none;
}
html .product.category-grid-item .wd-entities-title, html .product.category-grid-item.cat-design-replace-title .wd-entities-title, html .wd-masonry-first .category-grid-item:first-child .wd-entities-title, html .product.wd-cat .wd-entities-title {
	font-size: 16px;
}
.woodmart-archive-shop:not(.single-product) .main-page-wrapper {
	background-color: rgb(255,255,255);
	background-image: none;
}
.single-product .main-page-wrapper {
	background-color: rgb(255,255,255);
	background-image: none;
}
.woodmart-archive-blog .main-page-wrapper {
	background-color: rgb(255,255,255);
	background-image: none;
}
.wd-popup.popup-quick-view {
	--wd-popup-width: 920px;
}

@media (max-width: 1024px) {
	:root {
		--wd-sticky-btn-height: 95px;
	}

}

@media (max-width: 768.98px) {
	:root {
		--wd-sticky-btn-height: 42px;
	}

}
:root{
--wd-container-w: 1222px;
--wd-form-brd-radius: 35px;
--btn-default-color: #333;
--btn-default-color-hover: #333;
--btn-accented-color: #fff;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 35px;
--btn-default-box-shadow: none;
--btn-default-box-shadow-hover: none;
--btn-accented-brd-radius: 35px;
--btn-accented-box-shadow: none;
--btn-accented-box-shadow-hover: none;
--wd-brd-radius: 0px;
}

@media (min-width: 1222px) {
[data-vc-full-width]:not([data-vc-stretch-content]),
:is(.vc_section, .vc_row).wd-section-stretch {
padding-left: calc((100vw - 1222px - var(--wd-sticky-nav-w) - var(--wd-scroll-w)) / 2);
padding-right: calc((100vw - 1222px - var(--wd-sticky-nav-w) - var(--wd-scroll-w)) / 2);
}
}

rs-slides :is([data-type=text],[data-type=button]) {
font-family: Roboto !important;
}
rs-slides :is(h1,h2,h3,h4,h5,h6)[data-type=text] {
font-family: Hind !important;
}

/* =========================================
   CACELL WOODMART CLEANUP OVERRIDES
========================================= */

/* ---------- 1) CATEGORY / SHOP SIDEBAR FIX ---------- */
:is(.shop-sidebar,.sidebar-container,.area-sidebar-shop,.widget-area){
    box-sizing:border-box;
}

:is(.shop-sidebar,.sidebar-container,.area-sidebar-shop,.widget-area) .widget{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    overflow:hidden;
    margin:28px 0;
}

:is(.shop-sidebar,.sidebar-container,.area-sidebar-shop,.widget-area) 
:is(.price_slider_wrapper,.ui-slider){
    width:100%;
    max-width:100%;
    box-sizing:border-box;
}

:is(.shop-sidebar,.sidebar-container,.area-sidebar-shop,.widget-area) .ui-slider{
    margin:15px 0 20px;
}

:is(.shop-sidebar,.sidebar-container,.area-sidebar-shop,.widget-area) 
:is(select,input,button){
    max-width:100%;
    box-sizing:border-box;
}

:is(.shop-sidebar,.sidebar-container,.area-sidebar-shop,.widget-area) .widget-title{
    margin-bottom:18px;
    line-height:1.3;
}

/* ---------- 2) PRODUCT GRID FIX ---------- */
.product-grid-item{
    padding-bottom:20px!important;
    display:flex;
    flex-direction:column;
    height:auto!important;
}

.product-grid-item .product-title{
    min-height:58px!important;
    line-height:1.4;
    margin-bottom:8px;
}

.product-grid-item .price{
    margin:8px 0 10px;
}

.product-grid-item .stock,
.product-grid-item .wd-product-stock{
    margin:6px 0;
}

.product-grid-item .wrap-buttons,
.product-grid-item .wd-product-bottom-actions{
    margin-top:10px!important;
}

.product-grid-item .product-element-top{
    margin-bottom:12px;
}

/* ---------- 3) CATEGORY TITLE BAR ---------- */
.page-title,
.page-title-default,
.title-design-centered,
.shop-title,
.woocommerce-products-header{
    position:relative;
}

.page-title :is(h1,.title,.entry-title,.woocommerce-products-header__title,
.breadcrumbs,.breadcrumbs a,.yoast-breadcrumb,.yoast-breadcrumb a,nav,nav a){
    color:#fff!important;
}

.page-title:before{
    opacity:.35!important;
}

.page-title-default,
.woocommerce-products-header{
    background:#111!important;
}

/* ---------- 4) BREADCRUMBS ---------- */
:is(.rank-math-breadcrumb,.woocommerce-breadcrumb,.site-breadcrumbs,.breadcrumbs){
    line-height:1.5;
}

/* ---------- 5) WOOCOMMERCE NOTICES ---------- */
.woocommerce :is(.woocommerce-error,.woocommerce-info,.woocommerce-message){
    background:#fff!important;
    color:#000!important;
}

/* ---------- 6) WAITING TIME TEXT ---------- */
.variation-WaitingTime :is(.item-variation-name,
.item-variation-value p,
.item-variation-value h3){
    color:#e31e24!important; /* Standardized to CaCell Red */
    font-size:14px;
}

/* ---------- 7) STICKY ADD TO CART ALIGNMENT ---------- */
.wd-sticky-btn,
.wd-sticky-btn *{
    box-sizing:border-box;
}

.wd-sticky-btn-container.container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 15px;
    padding: 10px 15px;
}

.wd-sticky-btn-content {
    display: flex;
    align-items: center;
    flex: 1;
}

.wd-sticky-btn-cart {
    display: flex;
    align-items: center;
    gap: 10px;
}

.wd-sticky-btn-cart form.cart {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0 !important;
}

.wd-sticky-btn img {
    max-height: 50px !important; /* Slightly smaller for better bar fit */
    width: auto !important;
    object-fit: contain;
}

/* ---------- 8) CATEGORY MENU WRAP ---------- */
.whb-header-bottom,
.whb-header-bottom .whb-flex-row,
.whb-header-bottom .whb-header-bottom-inner{
    height:auto!important;
    min-height:30px!important;
    overflow:visible!important;
}

.whb-header-bottom #menu-master-menu{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
}

.whb-header-bottom #menu-master-menu>li>a{
    display:flex;
    align-items:center;
    padding:10px 0!important;
}

/* ---------- 9) FILTER BY BRAND ---------- */
select[multiple].dropdown_layered_nav_brand{
    min-height:120px!important;
    max-height:320px;
    overflow-y:auto;
    width:100%;
}

.dropdown_layered_nav_brand{
    border-radius:0!important;
}

/* ---------- 10) VARIATION MISSING HIGHLIGHTS ---------- */

/* Force buttons to be clickable for JS even when variation is missing */
.wd-buy-now-btn.disabled, 
.single_add_to_cart_button.disabled,
.wc-variation-selection-needed {
    pointer-events: all !important;
    cursor: pointer !important;
}

/* The Glow and Shake Animation */
.custom-attention-shake {
    animation: custom-shake 0.5s cubic-bezier(.36,.07,.19,.97) both;
    border: 2px solid #e31e24 !important;
    background-color: #fffafa;
}

.custom-attention-shake select {
    border-color: #e31e24 !important;
    box-shadow: 0 0 5px rgba(227, 30, 36, 0.5);
}

@keyframes custom-shake {
    10%, 90% { transform: translate3d(-1px, 0, 0); }
    20%, 80% { transform: translate3d(2px, 0, 0); }
    30%, 50%, 70% { transform: translate3d(-4px, 0, 0); }
    40%, 60% { transform: translate3d(4px, 0, 0); }
}

/* ---------- 11) MISC BUTTON FIXES ---------- */
.ctc_woo_place, .cacell-button-wrapper {
    margin: 0 !important;
    display: flex !important;
    align-items: center;
}

/* ---------- 12) RESPONSIVE ---------- */
@media (max-width: 768px) {
    .wd-sticky-btn-container.container {
        flex-direction: column;
        gap: 5px;
    }
    .wd-sticky-btn-content {
        display: none !important;
    }
    .wd-sticky-btn-cart {
        width: 100%;
        justify-content: center;
    }
}@media (min-width: 1025px) {
	/* Product Header Title font size*/
.title-size-default .entry-title {
    font-size: 34px;
}



/* Product Titles font size*/
.category-grid-item .category-title {
    margin-bottom: 0;
    color: #333;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.5;
}

.wd-action-btn.wd-style-text{display:none}

/* Page Title styles */
.page-title {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

/* Making the site full width */
.container {
	max-width: 95% !important;
}

/* Menu hover styles */
.wd-header-nav.wd-header-main-nav.text-left.wd-design-1.navigation-style-default,
#menu-new-main-menu {
	height: 100%;
}

#menu-new-main-menu > li {
	display: flex;
	align-items: center;
}

#menu-new-main-menu > li:hover {
	background-color: #e60000;
}

#menu-new-main-menu > li > a {
	transition: inherit;
	transition-duration: 1.5s;
/*	font-family: roboto;
	font-weight: 500;
	font-size: 13px; */
}

#menu-new-main-menu > li:hover > a,
#menu-new-main-menu > li:hover > a::after {
	color: #fff
}


/* Updating the spacing for the mega menu */
.ca-mega-menu-column .wpb_wrapper {
	padding-top: 15px;
}

.wd-dropdown-menu.wd-design-full-width {
	padding-top: 0;
}

.ca-header-contact-button {
	border: 2px solid #000;
	border-radius: 100px !important;
}

.ca-header-contact-button:hover {
	background-color: #e60000;
	border-color: #e60000;
	color: #fff !important;
}

.ca-custom-login-button {
	background-color: #e60000 !important;
	border-radius: 100px !important;
	color: #fff !important;
	font-size: 10px;
	padding: 5px 15px;
}

.site-content.shop-content-area {
	margin-top: 25px;
}

/* Borders on Menu */
.whb-row.whb-header-bottom.whb-sticky-row.whb-without-bg.whb-without-border.whb-color-dark.whb-flex-flex-middle {
	border-top: 1px solid #ffffff;
	border-bottom: 1px solid #bbbbbb; /* #e60000; */
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

.wd-dropdown-menu.wd-dropdown.wd-design-full-width.color-scheme-dark.sub-menu-dropdown {
	margin-top: 1px !important;
}

/* Search Icon */

.wd-header-search {
	background-color: #e60000;
	border-radius: 50%;
}

.search-button-icon {
	color: #fff;
}

/* Home Cards */

.ca-home-cards img {
	max-width: 80%;
}

/* Vodacom Contract Offers */
div[data-id="1b2be4e"] > div > div > div:first-child {
	padding-left: calc((100vw - 1222px - var(--wd-scroll-w)) / 2) !important;
	padding-right: calc((100vw - 1222px - var(--wd-scroll-w)) / 2) !important;
}

div[data-id="1b2be4e"] > div > div > div:last-child {
	width: 1536px;
	max-width: 1536px;
	left: -413.2px;
	position: relative;
}

/* Product Text and Price Spacing */

/*.wd-entities-title{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 200px;
}
*/

.wd-entities-title{
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.product-grid-item .price{
	padding-top: 20px; !important;
}
.product-grid-item .quick-shop-wrapper {
    overflow-y: auto;
    max-height: 220px;
}
/* The Glow and Shake Animation */
.custom-attention-shake {
    animation: shake 0.5s cubic-bezier(.36,.07,.19,.97) both;
    transform: translate3d(0, 0, 0);
    border: 2px solid #e31e24 !important; /* CaCell Red */
    border-radius: 5px;
    background-color: #fffafa;
}

@keyframes shake {
    10%, 90% { transform: translate3d(-1px, 0, 0); }
    20%, 80% { transform: translate3d(2px, 0, 0); }
    30%, 50%, 70% { transform: translate3d(-4px, 0, 0); }
    40%, 60% { transform: translate3d(4px, 0, 0); }
}
}

@media (max-width: 576px) {
	/* ---------- 8) MOBILE FIX ---------- */
@media (max-width: 768px) {
    .wd-sticky-btn .wd-sticky-add-to-cart {
        flex-wrap: wrap;
        gap: 12px;
        padding: 12px 15px;
    }

    .wd-sticky-btn .wd-sticky-add-to-cart-left,
    .wd-sticky-btn .wd-sticky-product,
    .wd-sticky-btn .wd-sticky-add-to-cart-right,
    .wd-sticky-btn form.cart {
        width: 100%;
        flex-wrap: wrap;
    }

    .wd-sticky-btn .single_add_to_cart_button,
    .wd-sticky-btn .wd-buy-now-btn {
        flex: 1 1 100%;
        width: 100%;
    }

    .product-grid-item .product-title {
        min-height: auto !important;
    }

    .product-grid-item {
        padding-bottom: 16px !important;
    }
}
}

