/*
 * produse.top p15 (design): the old produse.top identity on Journal 3.2.12. Loaded last (pt_p15_design.xml), after the
 * Journal CSS, the skin custom CSS and pt_visual.css (p13). Colors/fonts/grids live in the Journal variables
 * (sql-manual/2026-11-10_31_design.sql); this file only shapes what the variables cannot: header proportions, the
 * home blocks (hero, benefits, category tiles), product card details, footer bands, mobile.
 * !important only where Journal sets !important, an id or inline style.
 */
/* Safety net for the Journal Google font: Journal writes font-family:'Montserrat' with no generic fallback, so when its
   server-side fetch of the Google Fonts CSS fails (no CA bundle, blocked outbound) every text falls back to Times.
   This face only covers weights 1-99: while the real Montserrat faces (400-700) exist they always match first; when
   they are missing, it maps 'Montserrat' to the system sans-serif (bold is synthesized). */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 1 99;
  src: local('Arial'), local('ArialMT'), local('Helvetica Neue'), local('HelveticaNeue'), local('Helvetica'),
    local('Roboto'), local('Segoe UI'), local('Liberation Sans'), local('DejaVu Sans');
}
:root {
  --pt-blue: #005eb8;
  --pt-blue-dark: #004a93;
  --pt-blue-deep: #0b2f5b;
  --pt-red: #ef2809;
  --pt-red-ink: #c81e04;
  --pt-green: #15703c;
  --pt-page: #eeeff1;
  --pt-ink: #212529;
  --pt-muted: #5f646a;
  --pt-line: #e2e4e8;
  --pt-radius: 6px;
  --pt-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);
  --pt-shadow-hover: 0 10px 24px rgba(0, 46, 102, .14);
  --pt-accent: var(--pt-red);
}

/* ------------------------------------------------------------------ header: top bar */
.header-classic .top-bar {
  background: var(--pt-blue);
  border-bottom: 0;
}
.header-classic .top-bar .top-menu .j-menu > li > a {
  color: #fff;
  font-size: 13px;
  font-weight: 500;
}
.header-classic .top-bar .top-menu .j-menu > li > a:hover,
.header-classic .top-bar .top-menu .j-menu > li > a:focus-visible {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.header-classic .top-bar .top-menu .j-menu > li > a::before {
  color: #fff;
  opacity: .9;
}
.header-classic .top-bar .top-menu-7001 .top-menu-item-1 > a::before {
  color: #ff8a7a;
  opacity: 1;
}
html body .header-classic .top-bar .count-badge {
  background: var(--pt-red-ink);
  color: #fff;
}
footer .count-badge {
  color: #d5dce5;
}
.header-classic .top-bar .j-dropdown .j-menu > li > a {
  font-size: 14px;
}

/* ------------------------------------------------------------------ header: logo, search, cart */
.header-classic .mid-bar {
  background: #fff;
  gap: 24px;
}
#logo .header-logo {
  width: auto;
  max-width: 320px;
  max-height: 64px;
  object-fit: contain;
}
.header-classic .desktop-search-wrapper {
  flex: 1 1 auto;
  max-width: 620px;
}
.header-classic .header-search {
  border: 2px solid var(--pt-blue);
  border-radius: var(--pt-radius);
  background: #fff;
  overflow: hidden;
}
.header-classic .header-search .search-input {
  font-size: 15px;
  color: var(--pt-ink);
}
.header-classic .header-search .search-input::placeholder {
  color: var(--pt-muted);
}
.header-classic .header-search .search-button {
  background: var(--pt-red);
  border-radius: 0;
  min-width: 52px;
}
.header-classic .header-search .search-button::before {
  color: #fff;
}
.header-classic .header-search .search-button:hover {
  background: var(--pt-red-ink);
}
.header-classic .classic-cart-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}
.pt-ship-line {
  position: relative;
  z-index: 1; /* above the full-width white .mid-bar::before of Journal */
  white-space: nowrap;
  font-size: 13px;
  line-height: 1.35;
  text-align: right;
  color: var(--pt-ink);
}
.pt-ship-line strong {
  color: var(--pt-red-ink);
  font-weight: 700;
}
.pt-ship-line.is-free {
  color: var(--pt-green);
  font-weight: 600;
}
.header-classic .desktop-cart-wrapper #cart > a,
.header-classic .desktop-cart-wrapper .cart-heading {
  border-radius: var(--pt-radius);
}

/* ------------------------------------------------------------------ header: category menu (blue band) */
.header-classic .desktop-main-menu-wrapper.menu-bar {
  background: var(--pt-blue);
}
.desktop-main-menu-wrapper .main-menu-7003 > .j-menu > .main-menu-item > a,
.desktop-main-menu-wrapper .main-menu > .j-menu > .main-menu-item > a {
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0;
  text-transform: uppercase;
  padding-left: 11px;
  padding-right: 11px;
}
.desktop-main-menu-wrapper #main-menu > .j-menu > .main-menu-item {
  padding-left: 0;
  padding-right: 0;
}
.desktop-main-menu-wrapper #main-menu > .j-menu {
  flex-wrap: nowrap;
  justify-content: space-between;
  width: 100%;
}
.desktop-main-menu-wrapper .main-menu > .j-menu > .main-menu-item > a::before {
  color: #fff;
}
.desktop-main-menu-wrapper .main-menu > .j-menu > .main-menu-item + .main-menu-item {
  border-left: 1px solid rgba(255, 255, 255, .16);
}
.desktop-main-menu-wrapper .main-menu > .j-menu > .main-menu-item:hover > a,
.desktop-main-menu-wrapper .main-menu > .j-menu > .main-menu-item.active > a,
.desktop-main-menu-wrapper .main-menu > .j-menu > .main-menu-item > a:focus-visible {
  background: var(--pt-blue-dark);
  color: #fff;
}
/* "Oferte de sezon" in red, like the old highlighted item */
.desktop-main-menu-wrapper .main-menu > .j-menu > .pt-menu-6 > a {
  background: var(--pt-red-ink);
}
.desktop-main-menu-wrapper .main-menu > .j-menu > .pt-menu-6:hover > a {
  background: #a51903;
}
.desktop-main-menu-wrapper .main-menu .j-dropdown .j-menu > li > a {
  font-size: 14px;
  color: var(--pt-ink);
}
.desktop-main-menu-wrapper .main-menu .j-dropdown .j-menu > li > a:hover {
  color: var(--pt-blue);
}

/* ------------------------------------------------------------------ page */
body {
  background: var(--pt-page);
}
.module-title,
.pt-section-title,
h1.page-title,
.title.page-title {
  font-weight: 700;
  color: var(--pt-ink);
}
.route-common-home .grid-row-top-1 .grid-col,
.route-common-home .site-wrapper {
  background: transparent;
}

/* ------------------------------------------------------------------ home: hero */
.pt-row-hero {
  padding-top: 24px;
}
.pt-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  padding: clamp(28px, 4vw, 56px);
  border-radius: 12px;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 95% 8%, rgba(255, 255, 255, .12) 0 110px, transparent 111px),
    radial-gradient(circle at 62% 120%, rgba(255, 255, 255, .07) 0 160px, transparent 161px),
    linear-gradient(120deg, var(--pt-blue) 0%, var(--pt-blue-dark) 60%, var(--pt-blue-deep) 100%);
}
.pt-hero-kicker {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #cfe3fb;
}
.pt-hero-title {
  margin: 0 0 14px;
  font-size: clamp(28px, 3.4vw, 46px);
  font-weight: 800;
  line-height: 1.08;
  color: #fff;
}
.pt-hero-title span {
  display: block;
  color: #ffd6cf;
}
.pt-hero-sub {
  margin: 0 0 24px;
  max-width: 520px;
  font-size: 16px;
  line-height: 1.55;
  color: #e6f0fb;
}
.pt-hero-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.pt-btn {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 0 22px;
  border-radius: var(--pt-radius);
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .03em;
  text-decoration: none;
  transition: transform .15s ease, background-color .15s ease;
}
.pt-btn:hover {
  transform: translateY(-1px);
  text-decoration: none;
}
.pt-btn-red,
.pt-btn-red:visited {
  background: var(--pt-red-ink);
  color: #fff;
}
.pt-hero a.pt-btn-red:hover,
.pt-hero a.pt-btn-red:focus-visible {
  background: #a51903;
  color: #fff;
}
.pt-btn-ghost,
.pt-btn-ghost:visited {
  border: 2px solid rgba(255, 255, 255, .7);
  color: #fff;
}
.pt-hero a.pt-btn-ghost:hover,
.pt-hero a.pt-btn-ghost:focus-visible {
  background: #fff;
  color: var(--pt-blue);
}
/* Journal colors every a:hover with the link-hover color: keep the ink of these blocks */
.pt-hero-links a:hover,
.pt-cat-tiles a:hover {
  color: var(--pt-ink);
}
.pt-hero-links {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pt-hero-links a {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .96);
  color: var(--pt-ink);
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(0, 20, 50, .18);
  transition: transform .15s ease;
}
.pt-hero-links a:hover {
  transform: translateX(4px);
}
.pt-hero-links strong {
  font-size: 17px;
  color: var(--pt-blue);
}
.pt-hero-links span {
  font-size: 14px;
  font-weight: 700;
  color: var(--pt-red-ink);
}

/* ------------------------------------------------------------------ home: benefits (4 blue boxes) */
.pt-benefits .module-body {
  gap: 16px;
}
.pt-benefits .module-item {
  padding: 0 6px;
}
.pt-benefits .info-block {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border-radius: var(--pt-radius);
  background: var(--pt-blue);
  color: #fff;
}
.pt-benefits .info-block .info-block-title {
  color: #fff;
  font-size: 17px;
  font-weight: 700;
}
.pt-benefits .info-block .info-block-text {
  color: #e6f0fb;
  font-size: 13px;
  font-weight: 500;
}
.pt-benefits .info-block .info-block-img,
.pt-benefits .info-block .info-block-icon,
.pt-benefits .info-block .info-block-content::before,
.pt-benefits .info-block::before {
  color: #ffb4a8;
}

/* ------------------------------------------------------------------ home: category tiles */
.pt-section-title {
  margin: 0 0 16px;
  font-size: 22px;
}
.pt-cat-tiles ul {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pt-cat-tiles a {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: var(--pt-radius);
  overflow: hidden;
  background: #fff;
  box-shadow: var(--pt-shadow);
  text-decoration: none;
  transition: box-shadow .2s ease, transform .2s ease;
}
.pt-cat-tiles a:hover {
  box-shadow: var(--pt-shadow-hover);
  transform: translateY(-2px);
}
.pt-cat-tiles img {
  display: block;
  width: 100%;
  height: auto;
  /* the real home banners are 1000x1000 with the category name already drawn in the picture: show them whole */
  aspect-ratio: 1 / 1;
  object-fit: cover;
  background: #dfe3e8;
}
/* the text label would repeat the name drawn in the picture; the link keeps its name through the img alt */
.pt-cat-tiles span {
  display: none;
}

/* ------------------------------------------------------------------ section titles (product modules) */
.pt-home-products .module-title,
.pt-row-products .module-title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--pt-line);
  font-size: 22px;
}

/* ------------------------------------------------------------------ product card */
.product-thumb {
  border-radius: var(--pt-radius);
  box-shadow: var(--pt-shadow);
  transition: box-shadow .2s ease;
}
.product-thumb:hover {
  box-shadow: var(--pt-shadow-hover);
}
.product-thumb .caption .name {
  justify-content: center;
  text-align: center;
}
.product-thumb .caption .name a {
  color: var(--pt-ink);
  font-weight: 500;
}
.product-thumb .caption .name a:hover {
  color: var(--pt-blue);
}
.product-thumb .caption .price {
  justify-content: center;
}
.product-thumb .price-new,
.product-thumb .price-normal {
  color: var(--pt-green);
  font-weight: 700;
}
.product-thumb .price-old {
  color: #5a5f66;
  font-size: 13px;
}
.product-thumb .rating {
  justify-content: center;
}
/* PRP marker (p08a ::after on the old price): outside the strike-through line */
.price-old::after,
.product-price-old::after {
  display: inline-block;
  margin-left: 4px;
  text-decoration: none;
}
/* product page price */
html body .product-info .product-details .price-group .product-price-new,
html body .product-info .product-details .price-group .product-price {
  color: var(--pt-green);
}

/* minimum 12px: filter counters, sale percentage labels next to the price */
.filter-checkbox .count-badge,
.product-labels-price .product-label strong,
.product-thumb .stats-group {
  font-size: 12px;
}

/* ------------------------------------------------------------------ brands */
.pt-row-brands .module-manufacturers .product-thumb,
.pt-row-brands .manufacturer-thumb {
  box-shadow: none;
}

/* ------------------------------------------------------------------ footer */
footer .grid-row-1 {
  background: var(--pt-red-ink);
  color: #fff;
}
footer .grid-row-1 .pt-about p,
footer .grid-row-1 .module-title,
footer .grid-row-1 .title {
  color: #fff;
}
/* Journal prints the newsletter text colors with !important */
footer .grid-row-1 .module-newsletter .newsletter-text,
footer .grid-row-1 .module-newsletter .checkbox label {
  color: #fff !important;
}
footer .grid-row-1 .pt-about p {
  margin: 0;
  max-width: 560px;
  font-size: 15px;
  line-height: 1.6;
}
footer .grid-row-1 a,
footer .grid-row-1 a:hover,
footer .grid-row-1 a:hover b {
  color: #fff;
  text-decoration: underline;
}
footer .grid-row-1 .newsletter .btn {
  background: var(--pt-blue);
  color: #fff;
}
footer .grid-row-2 {
  background: #26303d;
}
footer .grid-row-3 {
  background: #1d252f;
}
footer .grid-row-2 .module-title {
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
  color: #fff;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
footer .grid-row-2 a,
footer .links-menu .menu-item a .links-text,
footer .grid-row-3 a {
  color: #d5dce5;
  font-size: 14px;
}
html body footer .grid-row-2 a:hover,
html body footer .links-menu .menu-item a:hover .links-text,
html body footer .grid-row-3 a:hover {
  color: #fff;
  text-decoration: underline;
}
footer .grid-row-2 .pt-contact,
footer .grid-row-2 .pt-pay {
  margin: 0;
  padding: 0;
  list-style: none;
  color: #d5dce5;
  font-size: 14px;
  line-height: 2;
}
footer .grid-row-2 .pt-contact-note {
  color: #aab4c0;
}
footer .pt-anpc {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}
footer .pt-anpc img {
  display: block;
  width: 100%;
  max-width: 250px;
  height: auto;
  border-radius: 8px;
  background: #fff;
}
footer .pt-copy {
  margin: 0;
  color: #aab4c0;
  font-size: 13px;
  text-align: right;
}
footer .pt-footer-social a::before {
  color: #fff;
}

/* ------------------------------------------------------------------ other packages' blocks (restyled) */
.pt-cookie-banner__text a,
.pt-cookie-banner__text a:hover {
  color: #8cc4ff;
}
.pt-float {
  bottom: 84px;
}
.pt-category-banner img {
  border-radius: var(--pt-radius);
}

/* ------------------------------------------------------------------ mobile header (Journal switches below 1200px) */
.mobile-header .mobile-bar {
  background: #fff;
  box-shadow: 0 1px 0 var(--pt-line);
}
.mobile-header .mobile-logo-wrapper img {
  width: auto;
  max-height: 44px;
  object-fit: contain;
}
.mobile-header .mobile-top-bar a {
  color: #fff;
}

/* ------------------------------------------------------------------ tablet / phone */
@media (max-width: 1320px) {
  .desktop-main-menu-wrapper #main-menu > .j-menu > .main-menu-item > a::before {
    display: none;
  }
}
@media (max-width: 1100px) {
  .desktop-main-menu-wrapper .main-menu > .j-menu > .main-menu-item > a {
    padding-left: 8px;
    padding-right: 8px;
    font-size: 12px;
  }
  .pt-ship-line {
    display: none;
  }
}
@media (max-width: 900px) {
  .pt-hero {
    grid-template-columns: 1fr;
  }
  .pt-cat-tiles ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  footer .pt-copy {
    text-align: left;
  }
}
@media (max-width: 500px) {
  .pt-row-hero {
    padding-top: 12px;
  }
  .pt-hero {
    gap: 18px;
    padding: 24px 18px;
    border-radius: 10px;
  }
  .pt-hero-sub {
    font-size: 15px;
  }
  .pt-btn {
    flex: 1 1 auto;
    justify-content: center;
  }
  .pt-hero-kicker,
  .pt-hero-links {
    display: none;
  }
  .pt-benefits .info-block {
    padding: 12px 14px;
  }
  .pt-section-title,
  .pt-home-products .module-title {
    font-size: 19px;
  }
}
