/* ============================================================
   Never Shy — Fashion Theme dla PrestaShop 8.2
   Inspiracja: nevershy.pl — elegancka, kobieca bielizna
   Paleta: róż/nude/grafit + białe tło, delikatny akcent
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;1,400&family=Lato:wght@300;400;700&display=swap');

:root {
  --ns-white:    #ffffff;
  --ns-bg:       #fafafa;
  --ns-bg-light: #f5f3f0;
  --ns-border:   #e8e4e0;
  --ns-dark:     #2c2825;
  --ns-text:     #3a3633;
  --ns-muted:    #8a8480;
  --ns-light:    #b8b2ac;
  --ns-pink:     #c9a0a0;
  --ns-pink-d:   #b08080;
  --ns-accent:   #8D90A4;
  --ns-display:  'Playfair Display', Georgia, serif;
  --ns-body:     'Lato', 'Helvetica Neue', Arial, sans-serif;
  --ns-ease:     250ms ease;
}

/* ── Globalne ─────────────────────────────────────────────── */
* { box-sizing: border-box; }

body {
  font-family: var(--ns-body) !important;
  font-weight: 300 !important;
  background: var(--ns-bg) !important;
  color: var(--ns-text) !important;
  -webkit-font-smoothing: antialiased !important;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--ns-display) !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  color: var(--ns-dark) !important;
}

a {
  color: var(--ns-text) !important;
  transition: color var(--ns-ease) !important;
  text-decoration: none !important;
}

a:hover { color: var(--ns-pink) !important; }

/* ── Header ───────────────────────────────────────────────── */
#header {
  background: var(--ns-white) !important;
  box-shadow: 0 1px 0 var(--ns-border) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
}

/* Top bar */
.header-top {
  background: var(--ns-dark) !important;
  padding: 7px 0 !important;
  min-height: unset !important;
}

.header-top *,
.header-top a,
.header-top span,
.header-top .expand-more,
.user-info a,
#_desktop_language_selector *,
#_desktop_currency_selector * {
  color: rgba(255,255,255,0.7) !important;
  font-family: var(--ns-body) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

.header-top a:hover { color: var(--ns-pink) !important; }

/* Nav bar */
.header-nav {
  background: var(--ns-white) !important;
  border-bottom: none !important;
  padding: 4px 0 !important;
  min-height: 64px !important;
  display: flex !important;
  align-items: center !important;
}

/* Logo */
#_desktop_logo .logo {
  max-height: 54px !important;
  width: auto !important;
}

/* Ikony (koszyk, szukaj) */
#header .material-icons {
  color: var(--ns-text) !important;
  font-size: 22px !important;
  vertical-align: middle !important;
}

/* Koszyk — fix wystającego */
.blockcart {
  background: transparent !important;
  height: auto !important;
  line-height: normal !important;
  padding: 0 !important;
}

.blockcart .cart-preview,
.blockcart a.cart-preview-hover,
.blockcart .header {
  background: transparent !important;
  padding: 6px 10px !important;
  color: var(--ns-text) !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: var(--ns-body) !important;
  font-size: 0.8rem !important;
  white-space: nowrap !important;
}

.blockcart .cart-products-count {
  background: var(--ns-pink) !important;
  color: #fff !important;
  font-size: 0.6rem !important;
  font-family: var(--ns-body) !important;
  border-radius: 50% !important;
  min-width: 17px !important;
  height: 17px !important;
  line-height: 17px !important;
  text-align: center !important;
  padding: 0 3px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ── Nawigacja główna ─────────────────────────────────────── */
#_desktop_top_menu {
  background: var(--ns-white) !important;
  border-top: 1px solid var(--ns-border) !important;
  border-bottom: 1px solid var(--ns-border) !important;
}

#_desktop_top_menu .top-menu {
  display: flex !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

#_desktop_top_menu .top-menu > li > a {
  font-family: var(--ns-body) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--ns-text) !important;
  padding: 14px 18px !important;
  display: block !important;
  position: relative !important;
  transition: color var(--ns-ease) !important;
}

#_desktop_top_menu .top-menu > li > a::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 18px !important;
  right: 18px !important;
  height: 2px !important;
  background: var(--ns-pink) !important;
  transform: scaleX(0) !important;
  transition: transform var(--ns-ease) !important;
}

#_desktop_top_menu .top-menu > li > a:hover { color: var(--ns-pink) !important; }
#_desktop_top_menu .top-menu > li > a:hover::after { transform: scaleX(1) !important; }

/* Dropdown */
#_desktop_top_menu .sub-menu,
#_desktop_top_menu .popover {
  border-radius: 0 !important;
  border: 1px solid var(--ns-border) !important;
  box-shadow: 0 6px 24px rgba(0,0,0,0.07) !important;
}

/* ── Slider ───────────────────────────────────────────────── */
.carousel { margin-bottom: 0 !important; }

.carousel .carousel-inner .carousel-item img {
  width: 100% !important;
  object-fit: cover !important;
  max-height: 620px !important;
  min-height: 300px !important;
}

.carousel .carousel-caption {
  background: rgba(44,40,37,0.6) !important;
  padding: 28px 36px !important;
  bottom: 60px !important;
  left: 8% !important;
  right: auto !important;
  max-width: 480px !important;
  text-align: left !important;
  border-left: 3px solid var(--ns-pink) !important;
  border-radius: 0 !important;
}

.carousel .carousel-caption h2 {
  font-family: var(--ns-display) !important;
  font-size: clamp(1.6rem, 2.5vw, 2.8rem) !important;
  font-weight: 400 !important;
  color: #fff !important;
  line-height: 1.2 !important;
  margin-bottom: 12px !important;
}

.carousel .carousel-caption .btn {
  background: var(--ns-pink) !important;
  border-color: var(--ns-pink) !important;
  border-radius: 0 !important;
  font-family: var(--ns-body) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  padding: 11px 28px !important;
}

.carousel .carousel-caption .btn:hover {
  background: var(--ns-pink-d) !important;
  border-color: var(--ns-pink-d) !important;
}

/* ── Sekcje ───────────────────────────────────────────────── */
.featured-products,
#content section {
  padding-top: 52px !important;
  padding-bottom: 52px !important;
}

.featured-products h2,
.products-section-title,
#content h2 {
  font-family: var(--ns-display) !important;
  font-size: 2rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  color: var(--ns-dark) !important;
  padding-bottom: 14px !important;
  margin-bottom: 36px !important;
  border-bottom: 1px solid var(--ns-border) !important;
}

/* ── Karty produktów ──────────────────────────────────────── */
.product-miniature { margin-bottom: 28px !important; }

.product-miniature .card,
.product-miniature article.card {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.product-miniature .card-body {
  padding: 10px 2px 4px !important;
  background: transparent !important;
}

.product-miniature .thumbnail-container {
  background: var(--ns-bg-light) !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  border: none !important;
}

.product-miniature .thumbnail-container img {
  transition: transform 700ms ease !important;
  border-radius: 0 !important;
  width: 100% !important;
}

.product-miniature:hover .thumbnail-container img {
  transform: scale(1.05) !important;
}

.product-miniature .product-title a {
  font-family: var(--ns-display) !important;
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  color: var(--ns-dark) !important;
  letter-spacing: 0.01em !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
}

.product-miniature .product-title a:hover { color: var(--ns-pink) !important; }

.product-miniature .price {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: var(--ns-dark) !important;
  font-family: var(--ns-body) !important;
}

.product-miniature .regular-price {
  color: var(--ns-light) !important;
  text-decoration: line-through !important;
  font-size: 0.82rem !important;
}

/* Etykiety */
.product-flag, .product-flags li {
  border-radius: 0 !important;
  font-family: var(--ns-body) !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 3px 8px !important;
}

.product-flag.new, .product-flags .new {
  background: var(--ns-dark) !important;
  color: #fff !important;
}
.product-flag.on-sale, .product-flags .on-sale {
  background: var(--ns-pink) !important;
  color: #fff !important;
}

/* Quick view */
.product-miniature .quick-view {
  border-radius: 0 !important;
  background: rgba(255,255,255,0.93) !important;
  color: var(--ns-text) !important;
  border: 1px solid var(--ns-border) !important;
  font-family: var(--ns-body) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

.product-miniature .quick-view:hover {
  background: var(--ns-dark) !important;
  color: #fff !important;
  border-color: var(--ns-dark) !important;
}

/* ── Przyciski ────────────────────────────────────────────── */
.btn-primary, .btn-primary:not(:disabled) {
  border-radius: 0 !important;
  background: var(--ns-dark) !important;
  border-color: var(--ns-dark) !important;
  font-family: var(--ns-body) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 13px 28px !important;
  transition: background var(--ns-ease), border-color var(--ns-ease) !important;
}

.btn-primary:hover:not(:disabled) {
  background: var(--ns-pink) !important;
  border-color: var(--ns-pink) !important;
}

.btn-secondary {
  border-radius: 0 !important;
  font-family: var(--ns-body) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.add-to-cart, button.add-to-cart {
  border-radius: 0 !important;
  background: var(--ns-dark) !important;
  border-color: var(--ns-dark) !important;
  font-family: var(--ns-body) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  transition: background var(--ns-ease) !important;
}

.add-to-cart:hover:not(:disabled) {
  background: var(--ns-pink) !important;
  border-color: var(--ns-pink) !important;
}

/* ── Formularze ───────────────────────────────────────────── */
.form-control {
  border-radius: 0 !important;
  border-color: var(--ns-border) !important;
  font-family: var(--ns-body) !important;
  font-size: 0.85rem !important;
  background: var(--ns-bg) !important;
}

.form-control:focus {
  border-color: var(--ns-pink) !important;
  box-shadow: none !important;
  background: #fff !important;
}

label {
  font-family: var(--ns-body) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--ns-muted) !important;
  margin-bottom: 6px !important;
}

/* ── Breadcrumb ───────────────────────────────────────────── */
.breadcrumb {
  background: transparent !important;
  padding: 10px 0 !important;
  border-radius: 0 !important;
  margin-bottom: 12px !important;
}

.breadcrumb-item a {
  font-family: var(--ns-body) !important;
  font-size: 0.75rem !important;
  color: var(--ns-muted) !important;
  text-decoration: none !important;
}

.breadcrumb-item a:hover { color: var(--ns-pink) !important; }
.breadcrumb-item.active { font-size: 0.75rem !important; color: var(--ns-text) !important; }
.breadcrumb-item + .breadcrumb-item::before { color: var(--ns-light) !important; }

/* ── Paginacja ────────────────────────────────────────────── */
.pagination .page-link {
  border-radius: 0 !important;
  color: var(--ns-text) !important;
  border-color: var(--ns-border) !important;
  font-family: var(--ns-body) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
}

.pagination .page-link:hover,
.pagination .page-item.active .page-link {
  background: var(--ns-dark) !important;
  border-color: var(--ns-dark) !important;
  color: #fff !important;
}

/* ── Cards ────────────────────────────────────────────────── */
.card { border-radius: 0 !important; border-color: var(--ns-border) !important; }

/* ── Strona produktu ──────────────────────────────────────── */
.page-product h1 {
  font-family: var(--ns-display) !important;
  font-size: clamp(1.7rem, 3vw, 2.3rem) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  color: var(--ns-dark) !important;
}

.product-manufacturer a {
  font-size: 0.7rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--ns-muted) !important;
}

.current-price .price {
  font-family: var(--ns-body) !important;
  font-size: 1.7rem !important;
  font-weight: 700 !important;
  color: var(--ns-dark) !important;
}

.product-variants .control-label {
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--ns-muted) !important;
  font-family: var(--ns-body) !important;
}

.product-variants-item select,
#quantity_wanted {
  border-radius: 0 !important;
  border-color: var(--ns-border) !important;
}

/* Tabs */
.tabs .nav-tabs { border-bottom: 1px solid var(--ns-border) !important; }

.tabs .nav-tabs .nav-link {
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  font-family: var(--ns-body) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--ns-muted) !important;
  padding: 14px 20px !important;
  margin-bottom: -1px !important;
  background: transparent !important;
}

.tabs .nav-tabs .nav-link.active,
.tabs .nav-tabs .nav-link:hover {
  color: var(--ns-dark) !important;
  border-bottom-color: var(--ns-pink) !important;
  background: transparent !important;
}

/* ── Listing ──────────────────────────────────────────────── */
.category h1 {
  font-family: var(--ns-display) !important;
  font-weight: 400 !important;
}

.products-sort-order .select-title {
  border-radius: 0 !important;
  border-color: var(--ns-border) !important;
  font-family: var(--ns-body) !important;
  font-size: 0.8rem !important;
}

/* ── Alerty ───────────────────────────────────────────────── */
.alert { border-radius: 0 !important; }
.alert-success { border-left: 3px solid #7dab7d !important; }
.alert-danger  { border-left: 3px solid #c07d7d !important; }
.alert-warning { border-left: 3px solid #c8a96e !important; }

/* ── Footer ───────────────────────────────────────────────── */
#footer,
.footer-container,
#footer .footer-container {
  background: var(--ns-dark) !important;
  color: rgba(255,255,255,0.65) !important;
}

#footer .h3, #footer h3, #footer .footer-title, #footer .block-title {
  font-family: var(--ns-body) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.35) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  padding-bottom: 10px !important;
  margin-bottom: 14px !important;
}

#footer a, #footer ul li a, #footer .footer-container a {
  color: rgba(255,255,255,0.58) !important;
  font-family: var(--ns-body) !important;
  font-size: 0.82rem !important;
  transition: color var(--ns-ease) !important;
  text-decoration: none !important;
}

#footer a:hover, #footer ul li a:hover { color: var(--ns-pink) !important; }

#footer .copyright {
  color: rgba(255,255,255,0.22) !important;
  font-size: 0.7rem !important;
  font-family: var(--ns-body) !important;
}

/* Newsletter */
#footer input[type="email"] {
  border-radius: 0 !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  color: #fff !important;
  font-family: var(--ns-body) !important;
  font-size: 0.82rem !important;
}

#footer input[type="email"]::placeholder { color: rgba(255,255,255,0.3) !important; }

#footer .btn-secondary,
#footer button[type="submit"],
#footer .block_newsletter button {
  border-radius: 0 !important;
  background: var(--ns-pink) !important;
  border-color: var(--ns-pink) !important;
  color: #fff !important;
  font-family: var(--ns-body) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

#footer .btn-secondary:hover,
#footer button[type="submit"]:hover,
#footer .block_newsletter button:hover {
  background: var(--ns-pink-d) !important;
  border-color: var(--ns-pink-d) !important;
}

/* ── Responsywność ────────────────────────────────────────── */
@media (max-width: 768px) {
  .carousel .carousel-inner .carousel-item img {
    max-height: 45vh !important;
    min-height: 200px !important;
  }
  .carousel .carousel-caption {
    bottom: 16px !important;
    left: 4% !important;
    right: 4% !important;
    max-width: none !important;
    padding: 14px 18px !important;
  }
  .carousel .carousel-caption h2 { font-size: 1.4rem !important; }
}

@media (max-width: 480px) {
  .carousel .carousel-caption { display: none !important; }
}
