:root {
  --pp-bg: #eef1f7;
  --pp-surface: rgba(255, 255, 255, 0.78);
  --pp-surface-strong: rgba(255, 255, 255, 0.9);
  --pp-line: rgba(255,255,255,.22);
  --pp-border: rgba(148,163,184,.22);
  --pp-text: #182235;
  --pp-muted: #5d6a80;
  --pp-brand: #263B8F;
  --pp-brand-2: #314cb5;
  --pp-accent: #f0b24a;
  --pp-shadow: 0 20px 60px rgba(17, 24, 39, 0.12);
  --pp-shadow-soft: 0 12px 28px rgba(17, 24, 39, 0.08);
  --pp-glow: 0 0 0 1px rgba(92, 122, 255, 0.08), 0 0 28px rgba(80, 106, 224, 0.10);
  --pp-radius-xl: 30px;
  --pp-radius-lg: 22px;
  --pp-radius-md: 16px;
  --pp-font: 'Vazirmatn', Vazir, system-ui, sans-serif;
}

body.product-page {
  background:
    radial-gradient(circle at 10% 0%, rgba(67, 93, 170, 0.10), transparent 36%),
    radial-gradient(circle at 100% 0%, rgba(240, 178, 74, 0.08), transparent 24%),
    linear-gradient(180deg, #f6f7fb 0%, #edf1f7 100%);
  color: var(--pp-text);
  font-family: var(--pp-font);
  direction: rtl;
}

body.product-page p,
body.product-page li,
body.product-page a,
body.product-page span,
body.product-page div,
body.product-page input,
body.product-page button,
body.product-page textarea,
body.product-page select {
  font-family: var(--pp-font);
}

body.product-page h1,
body.product-page h2,
body.product-page h3,
body.product-page h4,
body.product-page h5,
body.product-page h6 {
  font-family: var(--pp-font) !important;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.product-page .breadcrumbs {
  margin-top: 52px;
  padding: 18px 0 16px;
  min-height: auto;
  background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.46));
  border-bottom: 1px solid rgba(148,163,184,.10);
}

.product-page .breadcrumbs h2 {
  font-size: 13px !important;
  font-weight: 700;
  margin: 0;
  color: var(--pp-brand);
  padding-top: 0;
}

.product-page .breadcrumbs ol,
.product-page .breadcrumbs li,
.product-page .breadcrumbs a {
  font-size: 12.5px;
  color: var(--pp-muted);
}
.product-page .breadcrumbs a { color: var(--pp-accent); }

.pp-shell {
  padding: 24px 0 44px;
}

.pp-hero {
  position: relative;
  overflow: hidden;
  border-radius: 34px;
  background:
    radial-gradient(circle at 15% 15%, rgba(255,255,255,.10), transparent 18%),
    radial-gradient(circle at 85% 84%, rgba(240,178,74,.10), transparent 22%),
    linear-gradient(135deg, #2f3955 0%, #344165 44%, #43527c 100%);
  box-shadow: 0 28px 80px rgba(29, 41, 72, 0.22);
  padding: 34px;
}

.pp-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.05), transparent 38%);
  pointer-events: none;
}

.pp-hero-grid {
  display: grid;
  grid-template-columns: 1.04fr .96fr;
  gap: 28px;
  align-items: stretch;
}

.pp-sidecard,
.pp-slider-card {
  position: relative;
  z-index: 1;
}

.pp-sidecard {
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-radius: 24px;
  padding: 20px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 16px 40px rgba(10, 15, 30, .12);
}

.pp-minihead {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 16px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 11.5px;
  color: rgba(255,255,255,.86);
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.12);
}

.pp-side-title {
  font-size: 22px !important;
  line-height: 1.9;
  color: #fff;
  margin: 6px 0 12px;
}

.pp-side-text {
  font-size: 14px;
  line-height: 2.15;
  color: rgba(255,255,255,.84);
  margin-bottom: 16px;
}

.pp-spec-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0 22px;
}

.pp-chip {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  padding: 11px 12px;
  min-height: 74px;
  box-shadow: 0 0 0 1px rgba(255,255,255,.02), 0 0 22px rgba(73, 106, 255, 0.07);
}

.pp-chip-label {
  font-size: 11px;
  color: rgba(255,255,255,.62);
  margin-bottom: 4px;
}

.pp-chip-value {
  font-size: 13px;
  line-height: 1.9;
  color: #fff;
  font-weight: 700;
}

.pp-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.btn-brand,
.btn-outline-brand,
.btn-ghost-brand {
  border-radius: 16px;
  font-size: 13px;
  font-weight: 700;
  padding: 13px 18px;
  border: none;
  text-decoration: none;
  transition: .22s ease;
  box-shadow: 0 12px 24px rgba(15,23,42,.08);
}

.btn-brand {
  background: linear-gradient(135deg, var(--pp-brand), var(--pp-brand-2));
  color: #fff;
}
.btn-brand:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 18px 34px rgba(49,76,181,.28); }

.btn-outline-brand {
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.20);
}
.btn-outline-brand:hover { color: #fff; transform: translateY(-2px); background: rgba(255,255,255,.13); box-shadow: 0 0 0 1px rgba(240,178,74,.20), 0 0 20px rgba(240,178,74,.10); }

.btn-ghost-brand {
  background: rgba(255,255,255,.94);
  color: var(--pp-text);
}
.btn-ghost-brand:hover { color: var(--pp-brand); transform: translateY(-2px); }

.pp-slider-card {
  border-radius: 28px;
  overflow: hidden;
  min-height: 100%;
  background: rgba(14,20,36,.30);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 24px 60px rgba(18,25,46,.20), 0 0 28px rgba(68,97,210,.10);
}

.pp-slider-card .carousel,
.pp-slider-card .carousel-inner,
.pp-slider-card .carousel-item {
  height: 100%;
  min-height: 510px;
}

.pp-slider-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pp-slider-card .carousel-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11,19,32,.12), rgba(11,19,32,.54) 78%, rgba(11,19,32,.72));
}

.pp-slider-card .carousel-caption {
  right: 8%;
  left: 8%;
  bottom: 24px;
  padding: 18px 20px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(22,34,66,.74), rgba(55,71,122,.64));
  border: 1px solid rgba(255,255,255,.12);
  text-align: right;
  backdrop-filter: blur(10px);
}
.pp-slider-card .carousel-caption h5 {
  color: #fff;
  font-size: 17px !important;
  margin-bottom: 6px;
}
.pp-slider-card .carousel-caption p {
  color: rgba(255,255,255,.84);
  font-size: 12.8px;
  margin: 0;
}
.pp-slider-card .carousel-indicators [data-bs-target] {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.25);
}
.pp-slider-card .carousel-indicators .active {
  background: var(--pp-accent);
  border-color: var(--pp-accent);
}

.pp-section {
  margin-top: 24px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.74));
  border: 1px solid rgba(148,163,184,.16);
  box-shadow: var(--pp-shadow);
  padding: 28px;
}

.pp-split {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 20px;
}

.pp-card {
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(245,247,252,.82));
  border: 1px solid rgba(148,163,184,.14);
  border-radius: 22px;
  padding: 20px;
  box-shadow: var(--pp-shadow-soft);
}
.pp-card.glow-soft { box-shadow: var(--pp-shadow-soft), 0 0 0 1px rgba(76,106,230,.05), 0 0 26px rgba(76,106,230,.08); }

.pp-section-title {
  color: var(--pp-brand);
  font-size: 18px !important;
  margin: 0 0 14px;
}

.pp-kicker {
  color: var(--pp-accent);
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 10px;
}

.pp-body,
.pp-list li,
.pp-table,
.pp-brief {
  font-size: 13.5px;
  line-height: 2.15;
  color: var(--pp-text);
}

.pp-body p:last-child { margin-bottom: 0; }
.pp-muted { color: var(--pp-muted); }

.pp-feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.pp-feature-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px dashed rgba(148,163,184,.22);
  font-size: 13px;
  line-height: 2;
}
.pp-feature-list li:last-child { border-bottom: none; }
.pp-feature-list i { color: var(--pp-accent); font-size: 14px; margin-top: 6px; }

.pp-table-wrap { overflow-x: auto; }
.table.pp-table {
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 520px;
}
.table.pp-table thead th {
  background: linear-gradient(180deg, rgba(38,59,143,.08), rgba(38,59,143,.04));
  color: var(--pp-brand);
  font-size: 12.5px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(148,163,184,.16);
  white-space: nowrap;
}
.table.pp-table td {
  font-size: 12.8px;
  color: var(--pp-text);
  padding: 12px 14px;
  border-bottom: 1px solid rgba(148,163,184,.12);
  background: rgba(255,255,255,.45);
}
.table.pp-table tr:last-child td { border-bottom: none; }

.pp-note {
  border-right: 3px solid var(--pp-accent);
  background: linear-gradient(135deg, rgba(240,178,74,.08), rgba(255,255,255,.72));
}

.pp-sketch {
  position: relative;
  min-height: 290px;
  overflow: hidden;
}
.pp-sketch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(1) contrast(1.12) brightness(.96);
  mix-blend-mode: normal;
}
.pp-sketch::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.10), transparent 20%),
    linear-gradient(180deg, rgba(15,23,42,.06), rgba(15,23,42,.18));
  pointer-events: none;
}

.pp-cta {
  margin-top: 24px;
  border-radius: 28px;
  padding: 28px;
  background: linear-gradient(135deg, rgba(30,43,79,.98), rgba(42,58,108,.95));
  color: #fff;
  box-shadow: 0 22px 64px rgba(20,29,58,.24), 0 0 36px rgba(76,106,230,.08);
}
.pp-cta h3 {
  color: #fff;
  font-size: 19px !important;
  margin-bottom: 10px;
}
.pp-cta p {
  color: rgba(255,255,255,.84);
  font-size: 13.5px;
  line-height: 2.05;
  margin-bottom: 16px;
}

.pp-badge-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.pp-badge {
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.88);
  font-size: 11.5px;
  border: 1px solid rgba(255,255,255,.12);
}

@media (max-width: 1199px) {
  .pp-hero-grid,
  .pp-split { grid-template-columns: 1fr; }
  .pp-slider-card .carousel, .pp-slider-card .carousel-inner, .pp-slider-card .carousel-item { min-height: 420px; }
}

@media (max-width: 767px) {
  .product-page .breadcrumbs { margin-top: 50px; padding-top: 12px; padding-bottom: 12px; }
  .pp-shell { padding-top: 16px; }
  .pp-hero { padding: 18px; border-radius: 24px; }
  .pp-sidecard { padding: 14px; }
  .pp-side-title { font-size: 18px !important; }
  .pp-side-text, .pp-body, .pp-list li, .pp-table, .pp-brief, .pp-cta p { font-size: 12.8px; }
  .pp-spec-grid { grid-template-columns: 1fr; }
  .pp-actions { flex-direction: column; }
  .pp-slider-card .carousel, .pp-slider-card .carousel-inner, .pp-slider-card .carousel-item { min-height: 290px; }
  .pp-slider-card .carousel-caption { right: 5%; left: 5%; bottom: 14px; padding: 12px 14px; }
  .pp-slider-card .carousel-caption h5 { font-size: 14px !important; }
  .pp-section, .pp-cta { padding: 18px; border-radius: 22px; }
  .pp-card { padding: 16px; border-radius: 18px; }
  .pp-sketch { min-height: 220px; }
}


/* ===== Hero refinement v5: باریک‌تر، خلوت‌تر، ظریف‌تر ===== */
.pp-hero.pp-hero-compact{padding:16px 18px;border-radius:28px;}
.pp-hero-grid.pp-hero-grid-tight{grid-template-columns:1.08fr .92fr;gap:14px;align-items:stretch;}
.pp-sidecard.pp-sidecard-compact{padding:14px 15px 13px;border-radius:20px;}
.pp-slider-card.pp-slider-card-compact{border-radius:22px;}
.pp-slider-card.pp-slider-card-compact .carousel,
.pp-slider-card.pp-slider-card-compact .carousel-inner,
.pp-slider-card.pp-slider-card-compact .carousel-item{min-height:332px;}
.pp-sidecard-compact .pp-minihead{margin-bottom:8px;padding:5px 10px;font-size:10.4px;box-shadow:0 0 0 1px rgba(255,255,255,.04),0 0 14px rgba(107,136,255,.06);}
.pp-sidecard-compact .pp-side-title{font-size:15.2px !important;line-height:1.85;margin:2px 0 8px;letter-spacing:-.01em;}
.pp-sidecard-compact .pp-side-text{font-size:12.1px;line-height:1.9;margin-bottom:10px;color:rgba(255,255,255,.86);}
.pp-scan-points{display:grid;gap:6px;margin:0 0 10px;}
.pp-scan-item{display:flex;align-items:flex-start;gap:7px;padding:7px 9px;border-radius:13px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);box-shadow:0 0 0 1px rgba(255,255,255,.018),0 0 14px rgba(80,106,224,.045);font-size:11.7px;color:#fff;line-height:1.8;}
.pp-scan-item i{color:var(--pp-accent);font-size:12px;transform:translateY(4px);}
.pp-spec-grid.pp-spec-grid-compact{margin:10px 0 12px;gap:7px;}
.pp-spec-grid-compact .pp-chip{padding:8px 10px;min-height:58px;border-radius:15px;box-shadow:0 0 0 1px rgba(255,255,255,.02),0 0 14px rgba(77,107,229,.06);}
.pp-spec-grid-compact .pp-chip-label{font-size:9.8px;}
.pp-spec-grid-compact .pp-chip-value{font-size:11.4px;line-height:1.7;}
.pp-actions.pp-actions-hero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
.pp-actions-hero .btn{padding:9px 10px;font-size:11.4px;border-radius:13px;box-shadow:0 7px 16px rgba(15,23,42,.08);}
.pp-actions-hero .btn-outline-brand{box-shadow:0 0 0 1px rgba(240,178,74,.09),0 0 14px rgba(240,178,74,.06);}
.pp-page-note.pp-page-note-compact{font-size:10.8px;line-height:1.85;margin-top:8px;color:rgba(255,255,255,.68);}
.pp-slider-card.pp-slider-card-compact .carousel-caption{right:7%;left:7%;bottom:14px;padding:11px 13px;border-radius:15px;box-shadow:0 0 0 1px rgba(255,255,255,.04),0 0 16px rgba(75,105,228,.10);}
.pp-slider-card.pp-slider-card-compact .carousel-caption h5{font-size:13.4px !important;margin-bottom:3px;}
.pp-slider-card.pp-slider-card-compact .carousel-caption p{font-size:10.7px;line-height:1.75;margin-bottom:0;}
.pp-slider-card.pp-slider-card-compact .carousel-indicators{margin-bottom:.22rem;}
.pp-slider-card.pp-slider-card-compact .carousel-indicators [data-bs-target]{width:8px;height:8px;box-shadow:0 0 10px rgba(240,178,74,.10);}

@media (max-width:1199.98px){
  .pp-actions.pp-actions-hero{grid-template-columns:1fr;}
  .pp-slider-card.pp-slider-card-compact .carousel,
  .pp-slider-card.pp-slider-card-compact .carousel-inner,
  .pp-slider-card.pp-slider-card-compact .carousel-item{min-height:300px;}
}
@media (max-width:767.98px){
  .pp-hero.pp-hero-compact{padding:14px;}
  .pp-sidecard.pp-sidecard-compact{padding:13px;}
  .pp-sidecard-compact .pp-side-title{font-size:14.2px !important;}
  .pp-sidecard-compact .pp-side-text,.pp-scan-item{font-size:11.7px;}
  .pp-slider-card.pp-slider-card-compact .carousel,
  .pp-slider-card.pp-slider-card-compact .carousel-inner,
  .pp-slider-card.pp-slider-card-compact .carousel-item{min-height:248px;}
}
