
/* ===== DP SHOP Custom Theme based on dp-shop.com.pl ===== */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700&display=swap');

:root {
  --dp-accent: #bf78ee;
  --dp-accent-dark: #a855d4;
  --dp-dark: #1d1d1f;
  --dp-bg: #fafafa;
  --dp-text: #111111;
  --dp-white: #ffffff;
  --dp-font: 'Open Sans', sans-serif;
}

body {
  font-family: var(--dp-font) !important;
  background: var(--dp-bg) !important;
  color: var(--dp-text) !important;
  font-size: 13px;
}

/* HEADER */
#header { background: var(--dp-white) !important; box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important; }
.header-top { background: var(--dp-dark) !important; color: var(--dp-white) !important; font-size: 12px; text-align: center; padding: 6px 0; }
.header-banner, .header-banner p { background: var(--dp-dark) !important; color: var(--dp-white) !important; text-align: center; font-size: 12px; font-weight: 500; padding: 6px !important; margin: 0 !important; }
#header .logo img, .logo img { max-height: 55px; width: auto; }

/* NAVIGATION */
#header .header-nav, .header-nav, nav.header-nav,
#_desktop_top_menu, #top-menu, .top-menu,
.header-nav ul, nav ul { background: var(--dp-dark) !important; }

#top-menu > li > a,
#top-menu li a,
.top-menu > li > a,
.top-menu li a,
#_desktop_top_menu a,
.header-nav a,
nav a {
  color: #ffffff !important;
  font-weight: 500 !important;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 12px 16px;
}
#top-menu > li > a:hover,
#top-menu li a:hover,
#_desktop_top_menu a:hover {
  color: var(--dp-accent) !important;
  background: rgba(255,255,255,0.05) !important;
  text-decoration: none !important;
}
.popover, .dropdown-menu { border: none !important; box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important; border-radius: 0 0 8px 8px !important; }
.dropdown-menu a { color: var(--dp-dark) !important; background: white !important; }
.dropdown-menu a:hover { color: var(--dp-accent) !important; }

/* BUTTONS — all variants */
.btn-primary, .add-to-cart, button.add-to-cart,
.btn[data-button-action="add-to-cart"],
.ajax_add_to_cart_button, .exclusive,
button[data-button-action],
.product-list-actions .btn,
.product-add-to-cart .btn,
.btn-warning, input[type="submit"].btn {
  background: var(--dp-accent) !important;
  border-color: var(--dp-accent) !important;
  color: var(--dp-white) !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  font-family: var(--dp-font) !important;
  transition: all 0.2s ease !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 12px;
}
.btn-primary:hover, .add-to-cart:hover, button.add-to-cart:hover,
.ajax_add_to_cart_button:hover, .exclusive:hover {
  background: var(--dp-accent-dark) !important;
  border-color: var(--dp-accent-dark) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(191,120,238,0.4) !important;
}
.btn-secondary { border-color: var(--dp-accent) !important; color: var(--dp-accent) !important; background: transparent !important; }
.btn-secondary:hover { background: var(--dp-accent) !important; color: var(--dp-white) !important; }

/* CART BUTTON sticky on mobile */
@media (max-width: 768px) {
  .product-add-to-cart { position: sticky; bottom: 0; background: white; padding: 12px; z-index: 100; box-shadow: 0 -4px 12px rgba(0,0,0,0.1); }
}

/* PRODUCT CARDS */
.product-miniature { background: var(--dp-white) !important; border: 1px solid #eeeeee !important; border-radius: 10px !important; overflow: hidden; transition: box-shadow 0.2s ease, transform 0.2s ease; }
.product-miniature:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.1) !important; transform: translateY(-3px); }
.product-miniature .product-title a { color: var(--dp-text) !important; font-weight: 600; font-size: 13px; }
.product-miniature .product-title a:hover { color: var(--dp-accent) !important; }
.product-miniature .price { color: var(--dp-dark) !important; font-weight: 700; font-size: 15px; }

/* BADGES */
.product-flag { background: #b6f000 !important; color: #1d1d1f !important; font-size: 10px !important; font-weight: 700 !important; text-transform: uppercase; padding: 3px 8px !important; border-radius: 4px !important; }
.product-flag.on-sale, .product-flag.discount { background: var(--dp-accent) !important; color: var(--dp-white) !important; }

/* SECTION TITLES */
.products-section-title, h2.h3, .section-title, .block-title { font-family: var(--dp-font) !important; font-weight: 700 !important; color: var(--dp-dark) !important; text-transform: uppercase; letter-spacing: 1px; font-size: 18px; }
.featured-products .products-section-title { text-align: center; margin-bottom: 24px; }
.featured-products .products-section-title::after { content: ''; display: block; width: 50px; height: 3px; background: var(--dp-accent); margin: 8px auto 0; border-radius: 2px; }

/* SEARCH */
.search-widget input { border: 1px solid #e0e0e0 !important; border-radius: 20px !important; padding: 8px 16px !important; font-family: var(--dp-font) !important; }
.search-widget button { background: var(--dp-accent) !important; border: none !important; color: var(--dp-white) !important; }

/* FOOTER */
#footer, .footer-container { background: var(--dp-dark) !important; color: #aaaaaa !important; }
#footer a { color: #cccccc !important; font-size: 13px; }
#footer a:hover { color: var(--dp-accent) !important; }
#footer h4, #footer .h4, #footer .footer-block h2, #footer .footer-block .h3, #footer .block-title { color: var(--dp-white) !important; font-weight: 700 !important; text-transform: uppercase; font-size: 13px; letter-spacing: 1px; }

/* CART */
.cart-preview .cart-products-count { background: var(--dp-accent) !important; color: var(--dp-white) !important; }

/* PAGINATION */
.page-link { color: var(--dp-accent) !important; border-color: #eeeeee !important; }
.page-item.active .page-link { background: var(--dp-accent) !important; border-color: var(--dp-accent) !important; color: var(--dp-white) !important; }

/* BREADCRUMBS */
.breadcrumb { background: transparent !important; padding: 8px 0 !important; }
.breadcrumb-item a { color: var(--dp-accent) !important; }

/* FORMS */
input, select, textarea { border-radius: 6px !important; border: 1px solid #e0e0e0 !important; font-family: var(--dp-font) !important; }
input:focus, select:focus, textarea:focus { border-color: var(--dp-accent) !important; box-shadow: 0 0 0 3px rgba(191,120,238,0.15) !important; outline: none !important; }

/* PRICE */
.product-price-and-shipping .price { color: var(--dp-dark) !important; font-weight: 700; }
.product-price-and-shipping .regular-price { text-decoration: line-through; color: #999 !important; }

/* LINKS */
a:hover { color: var(--dp-accent) !important; }

/* SIDEBAR */
#left-column a:hover { color: var(--dp-accent) !important; }

/* MOBILE */
@media (max-width: 768px) {
  #header .logo img { max-height: 40px; }
  .add-to-cart { width: 100% !important; }
}
