:root {
	--dpwp-accent:       #134E8E;
	--dpwp-accent-hover: #0f3d72;
	--dpwp-bg:           #ffffff;
	--dpwp-bg-paper:     #F5F8FC;
	--dpwp-border:       #E4EBF4;
	--dpwp-ink:          #172536;
	--dpwp-ink-2:        #334155;
	--dpwp-muted:        #66758B;
	--dpwp-badge-bg:     #DC2626;
	--dpwp-font:         'Manrope', system-ui, -apple-system, sans-serif;
	--dpwp-radius:       12px;
	--dpwp-shadow:       0 2px 16px rgba(16,24,40,.08);
}

.dpwp-app { font-family: var(--dpwp-font); box-sizing: border-box; }
.dpwp-app *, .dpwp-app *::before, .dpwp-app *::after { box-sizing: border-box; }

.dpwp-card { background: var(--dpwp-bg) !important; border: 1px solid var(--dpwp-border) !important; border-radius: var(--dpwp-radius) !important; overflow: hidden !important; display: flex !important; flex-direction: column !important; transition: box-shadow .2s, transform .2s !important; position: relative !important; margin: 0 !important; padding: 0 !important; box-shadow: var(--dpwp-shadow) !important; }
.dpwp-card:hover { box-shadow: 0 8px 32px rgba(16,24,40,.12) !important; transform: translateY(-3px) !important; }

.dpwp-image-wrap { position: relative !important; width: 100% !important; padding-top: 75% !important; overflow: hidden !important; background: var(--dpwp-bg-paper) !important; }
.dpwp-image-link { position: absolute !important; inset: 0 !important; display: block !important; text-decoration: none !important; overflow: hidden !important; }
.dpwp-img { width: 100% !important; height: 100% !important; object-fit: contain !important; display: block !important; transition: transform .35s !important; max-width: none !important; max-height: none !important; }
.dpwp-card:hover .dpwp-img { transform: scale(1.04) !important; }
.dpwp-img-placeholder { display: block !important; width: 100% !important; height: 100% !important; background: var(--dpwp-bg-paper) !important; }

.dpwp-badge { position: absolute !important; top: 12px !important; left: 12px !important; z-index: 2 !important; background: var(--dpwp-badge-bg) !important; color: #fff !important; font-family: var(--dpwp-font) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .04em !important; padding: 4px 10px !important; border-radius: 4px !important; line-height: 1.3 !important; }

.dpwp-body { padding: 20px !important; display: flex !important; flex-direction: column !important; gap: 8px !important; flex: 1 !important; }

.dpwp-cat { font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .07em !important; color: var(--dpwp-accent) !important; font-family: var(--dpwp-font) !important; }

.dpwp-name { font-size: 18px !important; font-weight: 700 !important; color: var(--dpwp-ink) !important; text-decoration: none !important; line-height: 1.35 !important; font-family: var(--dpwp-font) !important; display: block !important; }
.dpwp-name:hover { color: var(--dpwp-accent) !important; }

.dpwp-price { display: flex !important; align-items: baseline !important; gap: 8px !important; flex-wrap: wrap !important; margin-top: 4px !important; }
.dpwp-price-old { font-size: 14px !important; color: var(--dpwp-muted) !important; text-decoration: line-through !important; font-family: var(--dpwp-font) !important; }
.dpwp-price-old .woocommerce-Price-amount,
.dpwp-price-old .amount { font-size: inherit !important; color: inherit !important; }
.dpwp-price-now { font-size: 22px !important; font-weight: 800 !important; color: var(--dpwp-ink) !important; font-family: var(--dpwp-font) !important; }
.dpwp-price-now .woocommerce-Price-amount,
.dpwp-price-now .amount { font-size: inherit !important; font-weight: inherit !important; color: inherit !important; }

.dpwp-actions { margin-top: auto !important; padding-top: 12px !important; }
.dpwp-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; background: var(--dpwp-accent) !important; color: #fff !important; font-family: var(--dpwp-font) !important; font-size: 14px !important; font-weight: 600 !important; padding: 12px 20px !important; border-radius: 8px !important; text-decoration: none !important; border: none !important; cursor: pointer !important; transition: background .15s !important; line-height: 1.4 !important; box-shadow: none !important; }
.dpwp-btn:hover { background: var(--dpwp-accent-hover) !important; color: #fff !important; }
.dpwp-btn:focus { outline: none !important; box-shadow: 0 0 0 3px rgba(19,78,142,.22) !important; }

.e-widget-container .dpwp-app,
.elementor-widget-container .dpwp-app { width: 100% !important; }
