@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: "woodmart-font";
	src: url("//www.dppstore.eu/wp-content/themes/woodmart/fonts/woodmart-font-1-400.woff2?v=8.4.1") format("woff2");
}

@font-face {
	font-family: "star";
	font-weight: 400;
	font-style: normal;
	src: url("//www.dppstore.eu/wp-content/plugins/woocommerce/assets/fonts/star.eot?#iefix") format("embedded-opentype"), url("//www.dppstore.eu/wp-content/plugins/woocommerce/assets/fonts/star.woff") format("woff"), url("//www.dppstore.eu/wp-content/plugins/woocommerce/assets/fonts/star.ttf") format("truetype"), url("//www.dppstore.eu/wp-content/plugins/woocommerce/assets/fonts/star.svg#star") format("svg");
}

@font-face {
	font-family: "WooCommerce";
	font-weight: 400;
	font-style: normal;
	src: url("//www.dppstore.eu/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.eot?#iefix") format("embedded-opentype"), url("//www.dppstore.eu/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.woff") format("woff"), url("//www.dppstore.eu/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.ttf") format("truetype"), url("//www.dppstore.eu/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.svg#WooCommerce") format("svg");
}

:root {
	--wd-text-font: "DM Sans", Arial, Helvetica, sans-serif;
	--wd-text-font-weight: 400;
	--wd-text-color: rgb(118,118,118);
	--wd-text-font-size: 14px;
	--wd-title-font: "Syne", Arial, Helvetica, sans-serif;
	--wd-title-font-weight: 700;
	--wd-title-color: #242424;
	--wd-entities-title-font: "Poppins", Arial, Helvetica, sans-serif;
	--wd-entities-title-font-weight: 500;
	--wd-entities-title-color: #333333;
	--wd-entities-title-color-hover: rgb(51 51 51 / 65%);
	--wd-alternative-font: "Lato", Arial, Helvetica, sans-serif;
	--wd-widget-title-font: "Poppins", 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: "Lato", Arial, Helvetica, sans-serif;
	--wd-header-el-font-weight: 700;
	--wd-header-el-transform: uppercase;
	--wd-header-el-font-size: 13px;
	--wd-otl-style: dotted;
	--wd-otl-width: 2px;
	--wd-primary-color: rgb(9,185,179);
	--wd-alternative-color: rgb(10,36,76);
	--btn-default-bgcolor: #f7f7f7;
	--btn-default-bgcolor-hover: #efefef;
	--btn-accented-bgcolor: #83b735;
	--btn-accented-bgcolor-hover: #74a32f;
	--wd-form-brd-width: 2px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: #E0B252;
	--notices-warning-color: #fff;
	--wd-link-color: #333333;
	--wd-link-color-hover: #242424;
}
.wd-age-verify-wrap {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: #111111;
	background-image: url();
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.wd-promo-popup-wrap {
	--wd-popup-width: 800px;
	--wd-popup-padding: 15px;
}
:is(.woodmart-woocommerce-layered-nav, .wd-product-category-filter) .wd-scroll-content {
	max-height: 223px;
}
.wd-page-title .wd-page-title-bg img {
	object-fit: cover;
	object-position: center center;
}
.wd-footer {
	background-color: #ffffff;
	background-image: none;
}
html .product-image-summary-wrap .product_title, html .wd-single-title .product_title {
	font-weight: 600;
}
h1, h2, h3, h4, h5, h6 {
	font-family: "Playfair Display", Arial, Helvetica, sans-serif;
}
.mfp-wrap.wd-popup-quick-view-wrap {
	--wd-popup-width: 920px;
}
:root{
--wd-container-w: 1222px;
--wd-form-brd-radius: 0px;
--btn-default-color: #333;
--btn-default-color-hover: #333;
--btn-accented-color: #fff;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 0px;
--btn-default-box-shadow: none;
--btn-default-box-shadow-hover: none;
--btn-default-box-shadow-active: none;
--btn-default-bottom: 0px;
--btn-accented-bottom-active: -1px;
--btn-accented-brd-radius: 0px;
--btn-accented-box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .15);
--btn-accented-box-shadow-hover: inset 0 -2px 0 rgba(0, 0, 0, .15);
--wd-brd-radius: 0px;
}

@media (min-width: 1222px) {
section.elementor-section.wd-section-stretch > .elementor-container {
margin-left: auto;
margin-right: auto;
}
}


.wd-page-title {
background-color: #0a0a0a;
}

/**
 * BASE-PREZ-01 — Contor Outlet pe Categorii (real-time)
 * DPP Store — Outlet IT B2B (base.dppstore.eu)
 *
 * Shortcode: [dpp_outlet_counter]
 * Afiseaza un contor in timp real cu numarul de produse publicate
 * din fiecare categorie principala de outlet. Fara detalii de produs.
 *
 * Atribute optionale:
 *   [dpp_outlet_counter title="Produse disponibile acum"]
 */

if ( ! defined( 'ABSPATH' ) ) { exit; }

function dpp_outlet_counter_shortcode( $atts ) {
	$atts = shortcode_atts( array(
		'title'    => 'Produse disponibile acum',
		'subtitle' => 'Stoc actualizat in timp real din programe corporative.',
	), $atts );

	// Categoriile afisate (slug => [nume afisat, iconita]).
	$cats = array(
		'laptopuri'            => array( 'Laptopuri & Workstations', '💻' ),
		'servere'              => array( 'Servere & Data Center',    '🖥️' ),
		'networking'           => array( 'Networking',               '🌐' ),
		'telefoane-tablete'    => array( 'Telefoane & Tablete',      '📱' ),
		'infrastructura-ups'   => array( 'Infrastructura & UPS',     '🔌' ),
		'periferice-accesorii' => array( 'Periferice & Accesorii',   '🖨️' ),
	);

	$total = 0;
	$cards = '';

	foreach ( $cats as $slug => $info ) {
		$term = get_term_by( 'slug', $slug, 'product_cat' );
		$count = ( $term && ! is_wp_error( $term ) ) ? (int) $term->count : 0;
		$total += $count;

		$cards .= '<div class="dpp-oc-card">';
		$cards .= '<div class="dpp-oc-ic">' . $info[1] . '</div>';
		$cards .= '<div class="dpp-oc-num" data-count="' . esc_attr( $count ) . '">0</div>';
		$cards .= '<div class="dpp-oc-lbl">' . esc_html( $info[0] ) . '</div>';
		$cards .= '</div>';
	}

	ob_start();
	?>
	<div class="dpp-oc-wrap">
		<div class="dpp-oc-head">
			<span class="dpp-oc-eyebrow">OUTLET ACTIV</span>
			<h2 class="dpp-oc-title"><?php echo esc_html( $atts['title'] ); ?></h2>
			<p class="dpp-oc-sub"><?php echo esc_html( $atts['subtitle'] ); ?></p>
		</div>
		<div class="dpp-oc-total">
			<span class="dpp-oc-total-num" data-count="<?php echo esc_attr( $total ); ?>">0</span>
			<span class="dpp-oc-total-lbl">produse disponibile in outlet acum</span>
		</div>
		<div class="dpp-oc-grid">
			<?php echo $cards; ?>
		</div>
		<div class="dpp-oc-cta">
			<a href="/categorie-produs/outlet/" class="dpp-oc-btn">Vezi tot catalogul &rarr;</a>
		</div>
	</div>

	<style>
	.dpp-oc-wrap{font-family:'DM Sans',sans-serif;color:#e6edf3;max-width:1200px;margin:0 auto;padding:60px 20px;}
	.dpp-oc-head{text-align:center;margin-bottom:14px;}
	.dpp-oc-eyebrow{display:inline-block;font-size:12px;letter-spacing:.18em;color:#00c9a7;font-weight:600;margin-bottom:12px;}
	.dpp-oc-title{font-family:'Syne',sans-serif;font-size:clamp(28px,4vw,44px);font-weight:700;margin:0 0 10px;color:#fff;line-height:1.1;}
	.dpp-oc-sub{color:#8b949e;font-size:16px;margin:0 auto;max-width:560px;}
	.dpp-oc-total{text-align:center;margin:34px 0 44px;}
	.dpp-oc-total-num{display:block;font-family:'Syne',sans-serif;font-size:clamp(56px,9vw,96px);font-weight:800;line-height:1;color:#00c9a7;text-shadow:0 0 40px rgba(0,201,167,.25);}
	.dpp-oc-total-lbl{display:block;margin-top:6px;color:#8b949e;font-size:14px;letter-spacing:.04em;text-transform:uppercase;}
	.dpp-oc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
	@media(max-width:860px){.dpp-oc-grid{grid-template-columns:repeat(2,1fr);}}
	@media(max-width:520px){.dpp-oc-grid{grid-template-columns:1fr;}}
	.dpp-oc-card{background:linear-gradient(160deg,#161b22 0%,#0d1117 100%);border:1px solid #21262d;border-radius:16px;padding:30px 22px;text-align:center;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;position:relative;overflow:hidden;}
	.dpp-oc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#00c9a7,transparent);opacity:0;transition:opacity .25s ease;}
	.dpp-oc-card:hover{transform:translateY(-4px);border-color:#00c9a7;box-shadow:0 12px 40px rgba(0,201,167,.12);}
	.dpp-oc-card:hover::before{opacity:1;}
	.dpp-oc-ic{font-size:34px;margin-bottom:14px;}
	.dpp-oc-num{font-family:'Syne',sans-serif;font-size:46px;font-weight:800;color:#fff;line-height:1;}
	.dpp-oc-lbl{margin-top:10px;color:#8b949e;font-size:14px;font-weight:500;}
	.dpp-oc-cta{text-align:center;margin-top:42px;}
	.dpp-oc-btn{display:inline-block;background:#00c9a7;color:#0d1117;font-weight:700;font-family:'DM Sans',sans-serif;padding:14px 30px;border-radius:10px;text-decoration:none;transition:background .2s ease,transform .2s ease;}
	.dpp-oc-btn:hover{background:#00e0bb;transform:translateY(-2px);color:#0d1117;}
	</style>

	<script>
	(function(){
		function animate(el){
			var target=parseInt(el.getAttribute('data-count'),10)||0;
			var dur=1400, start=null;
			function step(ts){
				if(!start)start=ts;
				var p=Math.min((ts-start)/dur,1);
				var eased=1-Math.pow(1-p,3);
				el.textContent=Math.floor(eased*target);
				if(p<1)requestAnimationFrame(step);else el.textContent=target;
			}
			requestAnimationFrame(step);
		}
		function run(root){
			var nums=root.querySelectorAll('.dpp-oc-num,.dpp-oc-total-num');
			if('IntersectionObserver' in window){
				var io=new IntersectionObserver(function(entries){
					entries.forEach(function(e){
						if(e.isIntersecting){animate(e.target);io.unobserve(e.target);}
					});
				},{threshold:.4});
				nums.forEach(function(n){io.observe(n);});
			}else{
				nums.forEach(animate);
			}
		}
		if(document.readyState!=='loading')run(document);
		else document.addEventListener('DOMContentLoaded',function(){run(document);});
	})();
	</script>
	<?php
	return ob_get_clean();
}
add_shortcode( 'dpp_outlet_counter', 'dpp_outlet_counter_shortcode' );
