/* =====================================================================
   parteco.in — Design System CSS
   Signal-orange + charcoal palette
   ===================================================================== */

/* ── CSS Variables ── */
/*:root {*/
/*  --pt-bg:             #F4F5F7;*/
/*  --pt-surface:        #FFFFFF;*/
/*  --pt-dark:           #14181F;*/
/*  --pt-dark-elevated:  #1D232D;*/
/*  --pt-dark-border:    #2B323D;*/
/*  --pt-accent:         #FF6A39;*/
/*  --pt-accent-dark:    #E2551F;*/
/*  --pt-accent-soft:    #FFE7DC;*/
/*  --pt-success:        #1F9D6B;*/
/*  --pt-success-soft:   #DFF5EA;*/

/*  --pt-text:           #14181F;*/
/*  --pt-text-muted:     #6B7280;*/
/*  --pt-border:         #E5E7EB;*/
/*  --pt-radius:         10px;*/
/*  --pt-radius-lg:      16px;*/
/*  --pt-shadow:         0 2px 12px rgba(0,0,0,.06);*/
/*  --pt-shadow-hover:   0 6px 24px rgba(0,0,0,.12);*/
/*}*/


:root {
  /* Refined light palette — higher contrast than before */
  --pt-bg:             #FAFAF8;
  --pt-surface:        #FFFFFF;
  --pt-dark:           #11151C;
  --pt-dark-elevated:  #1A2029;
  --pt-accent:         #FF5A1F;
  --pt-accent-dark:    #E0470F;
  --pt-accent-soft:    #FFF1EA;
  --pt-success:        #157A4D;
  --pt-success-soft:   #E6F6EE;
    --pt-warning:        #C8870A;
  --pt-warning-soft:   #FBEFD6;
  --pt-danger:         #D63B3B;
  --pt-danger-soft:    #FBE2E2;
  --pt-text:           #14181F;
  --pt-text-muted:     #5B6470;
  --pt-border:         #E3E5E8;
  --pt-radius:         12px;
  --pt-radius-lg:       18px;
  --pt-shadow:         0 1px 2px rgba(17,21,28,.04), 0 4px 16px rgba(17,21,28,.06);
  --pt-shadow-hover:   0 4px 8px rgba(17,21,28,.06), 0 12px 32px rgba(17,21,28,.10);

  --font-display: 'Plus Jakarta Sans', 'Inter', sans-serif;
  --font-body:    'Inter', sans-serif;
  --font-mono:    'JetBrains Mono', monospace;
}

/* ── Base ── */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  /*background: var(--pt-bg);*/
  color: var(--pt-text);
  line-height: 1.6;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

a { color: var(--pt-accent); text-decoration: none; }
a:hover { color: var(--pt-accent-dark); }

img { max-width: 100%; height: auto; }

.text-accent { color: var(--pt-accent) !important; }
.bg-accent   { background: var(--pt-accent) !important; }

/* ── Logo ── */
.pt-logo { display: flex; align-items: baseline; gap: 0; text-decoration: none; }
.pt-logo-text { font-size: 1.5rem; font-weight: 800; color: var(--pt-dark); letter-spacing: -0.5px; }
.pt-logo-accent { color: var(--pt-accent); }
.pt-logo-dot { font-size: 1.5rem; font-weight: 800; color: var(--pt-accent); }
.pt-logo-in { font-size: 1rem; font-weight: 700; color: var(--pt-text-muted); }

/* ── Header / Navbar ── */
.pt-header { background: var(--pt-surface); box-shadow: 0 1px 0 var(--pt-border); z-index: 1030; }
.pt-navbar  { padding: .75rem 0; }
.pt-nav-link { font-size: .875rem; font-weight: 500; color: var(--pt-text) !important; padding: .4rem .75rem !important; border-radius: 6px; transition: background .15s, color .15s; }
.pt-nav-link:hover { background: var(--pt-accent-soft); color: var(--pt-accent) !important; }
.navbar-toggler { border: none; padding: .25rem; }
.navbar-toggler:focus { box-shadow: none; }

/* ── Search ── */
.pt-search-form { max-width: 520px; }
.pt-search-input { border: 1.5px solid var(--pt-border); border-right: none; border-radius: var(--pt-radius) 0 0 var(--pt-radius) !important; font-size: .875rem; padding: .5rem 1rem; background: var(--pt-bg); }
.pt-search-input:focus { border-color: var(--pt-accent); box-shadow: none; background: var(--pt-surface); }
.pt-search-btn { background: var(--pt-accent); color: #fff; border: none; border-radius: 0 var(--pt-radius) var(--pt-radius) 0 !important; padding: .5rem 1.1rem; font-size: 1rem; transition: background .15s; }
.pt-search-btn:hover { background: var(--pt-accent-dark); color: #fff; }

/* ── Icon buttons ── */
.pt-icon-btn { background: none; border: none; color: var(--pt-text); cursor: pointer; padding: .4rem; border-radius: 8px; transition: background .15s, color .15s; display: inline-flex; align-items: center; position: relative; text-decoration: none; }
.pt-icon-btn:hover { background: var(--pt-accent-soft); color: var(--pt-accent); }
.pt-icon-btn.dropdown-toggle::after { display: none; }
.pt-cart-badge { position: absolute; top: 0; right: 0; background: var(--pt-accent); color: #fff; font-size: .65rem; font-weight: 700; width: 16px; height: 16px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }

/* ── Buttons ── */
.pt-btn-accent { background: var(--pt-accent); color: #fff; border: none; border-radius: var(--pt-radius); font-weight: 600; transition: background .15s, transform .1s; }
.pt-btn-accent:hover { background: var(--pt-accent-dark); color: #fff; transform: translateY(-1px); }
.pt-login-btn { border-color: var(--pt-border); color: var(--pt-text); border-radius: var(--pt-radius); font-weight: 500; }
.pt-login-btn:hover { border-color: var(--pt-accent); color: var(--pt-accent); }

/* ── Dropdown ── */
.pt-dropdown { border: 1px solid var(--pt-border); border-radius: var(--pt-radius); box-shadow: var(--pt-shadow-hover); min-width: 200px; }
.pt-dropdown .dropdown-item { font-size: .875rem; padding: .5rem 1rem; border-radius: 6px; transition: background .1s; }
.pt-dropdown .dropdown-item:hover { background: var(--pt-accent-soft); color: var(--pt-accent); }

/* ── Breadcrumb ── */
.pt-breadcrumb { background: none; padding: 0; margin: 0; font-size: .8125rem; }
.pt-breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: var(--pt-text-muted); }
.pt-breadcrumb a { color: var(--pt-text-muted); }
.pt-breadcrumb a:hover { color: var(--pt-accent); }

/* ── Cards ── */
.pt-card { background: var(--pt-surface); border: 1px solid var(--pt-border); border-radius: var(--pt-radius-lg); box-shadow: var(--pt-shadow); transition: box-shadow .2s, transform .2s; overflow: hidden; }
.pt-card:hover { box-shadow: var(--pt-shadow-hover); transform: translateY(-2px); }

/* ── Product card ── */
.pt-product-card { display: flex; flex-direction: column; height: 100%; }
.pt-product-img-wrap { position: relative; background: var(--pt-bg); aspect-ratio: 1; overflow: hidden; }
.pt-product-img-wrap img { width: 100%; height: 100%; object-fit: contain; padding: 1rem; transition: transform .3s; }
.pt-product-card:hover .pt-product-img-wrap img { transform: scale(1.05); }
.pt-product-badge { position: absolute; top: .6rem; left: .6rem; font-size: .65rem; font-weight: 700; padding: .2rem .5rem; border-radius: 4px; text-transform: uppercase; letter-spacing: .5px; }
.pt-badge-oem  { background: var(--pt-accent-soft); color: var(--pt-accent); }
.pt-badge-gen  { background: var(--pt-success-soft); color: var(--pt-success); }
.pt-badge-afm  { background: var(--pt-bg); color: var(--pt-text-muted); border: 1px solid var(--pt-border); }
.pt-product-body { padding: 1rem; display: flex; flex-direction: column; flex: 1; }
.pt-product-brand { font-size: .7rem; font-weight: 600; color: var(--pt-text-muted); text-transform: uppercase; letter-spacing: .5px; margin-bottom: .25rem; }
.pt-product-name { font-size: .9375rem; font-weight: 600; color: var(--pt-text); line-height: 1.4; margin-bottom: .25rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pt-product-partnumber { font-size: .75rem; color: var(--pt-text-muted); font-family: monospace; margin-bottom: .5rem; }
.pt-product-price { font-size: 1.125rem; font-weight: 700; color: var(--pt-text); margin-top: auto; }
.pt-product-mrp { font-size: .8rem; color: var(--pt-text-muted); text-decoration: line-through; }
.pt-product-discount { font-size: .75rem; font-weight: 700; color: var(--pt-success); margin-left: .25rem; }
.pt-product-footer { padding: .75rem 1rem; border-top: 1px solid var(--pt-border); background: var(--pt-bg); }
.pt-add-btn { width: 100%; background: var(--pt-accent); color: #fff; border: none; border-radius: 8px; font-size: .875rem; font-weight: 600; padding: .5rem; cursor: pointer; transition: background .15s; display: flex; align-items: center; justify-content: center; gap: .4rem; }
.pt-add-btn:hover { background: var(--pt-accent-dark); }
.pt-oos-badge { width: 100%; text-align: center; font-size: .8rem; color: var(--pt-text-muted); padding: .5rem; }

/* ── Section headings ── */
.pt-section-heading { font-size: 1.375rem; font-weight: 700; color: var(--pt-text); position: relative; padding-bottom: .5rem; }
.pt-section-heading::after { content: ''; position: absolute; bottom: 0; left: 0; width: 36px; height: 3px; background: var(--pt-accent); border-radius: 2px; }
.pt-section-subtitle { color: var(--pt-text-muted); font-size: .9rem; margin-top: .25rem; }

/* =====================================================================
   Hero Banner — parteco.in
   Uses all banners table columns:
   desktop_image / mobile_image / image (fallback) / alt_text / title / link_url
   ===================================================================== */

/* ── Wrapper ──────────────────────────────────────────────────────── */
.pt-hero-wrap {
  width: 100%;
  overflow: hidden;
  background: var(--pt-dark);
}

/* ── Shared image style ───────────────────────────────────────────── */
.pt-hero-img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* ── Single banner ────────────────────────────────────────────────── */
.pt-hero-single {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* ── Carousel slide ───────────────────────────────────────────────── */
.carousel-item {
  position: relative;
}

/* ── Overlay (text + CTA on top of image) ────────────────────────── */
.pt-hero-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding-bottom: 2.5rem;
  /* gradient: transparent top → dark bottom */
  background: linear-gradient(
    to top,
    rgba(14, 18, 26, 0.82) 0%,
    rgba(14, 18, 26, 0.35) 50%,
    rgba(14, 18, 26, 0.05) 100%
  );
}

.pt-hero-body {
  max-width: 560px;
}

.pt-hero-eyebrow {
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: var(--pt-accent);
  margin-bottom: .4rem;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}
.pt-hero-eyebrow::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 2px;
  background: var(--pt-accent);
  border-radius: 2px;
}

.pt-hero-title {
  font-size: clamp(1.6rem, 4vw, 2.5rem);
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  margin-bottom: .5rem;
  text-shadow: 0 2px 12px rgba(0,0,0,.3);
}

.pt-hero-sub {
  font-size: .9rem;
  color: rgba(255,255,255,.8);
  margin-bottom: 0;
  line-height: 1.6;
}

.pt-hero-cta {
  font-weight: 700;
  font-size: .9rem;
  border-radius: 8px;
  padding: .55rem 1.5rem;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  transition: transform .15s, box-shadow .15s;
}
.pt-hero-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255,106,57,.35);
}

/* ── Custom dot indicators ────────────────────────────────────────── */
.pt-carousel-dots {
  position: absolute;
  bottom: 1rem;
  right: 1.25rem;
  z-index: 10;
  display: flex;
  gap: 6px;
  align-items: center;
}

.pt-carousel-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.45);
  padding: 0;
  cursor: pointer;
  transition: background .2s, transform .2s, width .25s;
}
.pt-carousel-dot.active {
  background: var(--pt-accent);
  width: 22px;
  border-radius: 4px;
}
.pt-carousel-dot:hover:not(.active) {
  background: rgba(255,255,255,.75);
}

/* ── Custom prev/next arrows ──────────────────────────────────────── */
.pt-carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(4px);
  color: #fff;
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .2s, transform .2s;
}
.pt-carousel-arrow:hover {
  background: rgba(255,255,255,.3);
  transform: translateY(-50%) scale(1.08);
}
.pt-carousel-prev { left: 1rem; }
.pt-carousel-next { right: 1rem; }

/* ── Default static hero (no banners) ────────────────────────────── */
.pt-hero-default {
  padding: 0;
}
.pt-hero-static {
  position: relative;
  width: 100%;
  height: 420px;
  background: linear-gradient(135deg, #14181F 0%, #1D232D 100%);
  overflow: hidden;
}
.pt-hero-static::before {
  /* subtle geometric pattern */
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 20% 50%, rgba(255,106,57,.08) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(255,106,57,.05) 0%, transparent 40%);
}
.pt-hero-static .pt-hero-overlay {
  background: none;
  align-items: center;
  padding-bottom: 0;
}

/* ── Post Requirement CTA bar ─────────────────────────────────────── */
.pt-req-bar {
  background: var(--pt-dark-elevated, #1D232D);
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
  padding: .65rem 0;
}
.pt-req-bar-text {
  font-size: .875rem;
  color: rgba(255,255,255,.7);
}

/* ── Hero banner (homepage) ── */

/* ── Segment cards ── */
.pt-segment-card { background: var(--pt-surface); border: 1.5px solid var(--pt-border); border-radius: var(--pt-radius-lg); padding: 1.5rem 1rem; text-align: center; cursor: pointer; transition: border-color .2s, box-shadow .2s, transform .2s; display: block; text-decoration: none; color: var(--pt-text); }
.pt-segment-card:hover { border-color: var(--pt-accent); box-shadow: 0 4px 20px rgba(255,106,57,.12); transform: translateY(-3px); color: var(--pt-text); }
.pt-segment-icon { font-size: 2rem; color: var(--pt-accent); margin-bottom: .75rem; display: block; }
.pt-segment-name { font-weight: 600; font-size: .9375rem; }

/* ── Vehicle finder widget ── */
.pt-finder { background: var(--pt-dark-elevated); border-radius: var(--pt-radius-lg); padding: 1.75rem; }
.pt-finder-title { font-size: 1.125rem; font-weight: 700; color: #fff; margin-bottom: 1.25rem; }
.pt-finder-title span { color: var(--pt-accent); }
.pt-finder select { background: var(--pt-dark-border); color: #fff; border: 1px solid #3D4755; border-radius: 8px; font-size: .875rem; padding: .6rem .9rem; }
.pt-finder select:focus { border-color: var(--pt-accent); box-shadow: 0 0 0 3px rgba(255,106,57,.2); outline: none; }
.pt-finder select option { background: var(--pt-dark-elevated); }
.pt-finder-btn { background: var(--pt-accent); color: #fff; border: none; border-radius: 8px; font-weight: 700; padding: .6rem 1.5rem; width: 100%; font-size: .9375rem; transition: background .15s; cursor: pointer; }
.pt-finder-btn:hover { background: var(--pt-accent-dark); }
.pt-finder-btn:disabled { opacity: .5; cursor: not-allowed; }

/* ── Category sidebar (catalog) ── */
.pt-sidebar-card { background: var(--pt-surface); border: 1px solid var(--pt-border); border-radius: var(--pt-radius-lg); overflow: hidden; }
.pt-sidebar-head { background: var(--pt-dark); color: #fff; font-weight: 700; font-size: .875rem; padding: .75rem 1rem; }
.pt-sidebar-list { list-style: none; margin: 0; padding: .5rem; }
.pt-sidebar-list li a { display: block; padding: .45rem .75rem; border-radius: 6px; font-size: .875rem; color: var(--pt-text); transition: background .15s, color .15s; }
.pt-sidebar-list li a:hover, .pt-sidebar-list li a.active { background: var(--pt-accent-soft); color: var(--pt-accent); font-weight: 500; }
.pt-sidebar-list li a .badge { float: right; margin-top: .1rem; }

/* ── Price range filter ── */
.pt-filter-label { font-size: .8rem; font-weight: 600; color: var(--pt-text-muted); text-transform: uppercase; letter-spacing: .5px; padding: .75rem 1rem .25rem; display: block; }
.pt-filter-body  { padding: .5rem 1rem 1rem; }
.form-range::-webkit-slider-thumb { background: var(--pt-accent); }
.form-range::-moz-range-thumb     { background: var(--pt-accent); }
.pt-sort-select { font-size: .875rem; border: 1px solid var(--pt-border); border-radius: 8px; padding: .4rem .75rem; }
.pt-sort-select:focus { border-color: var(--pt-accent); box-shadow: none; outline: none; }

/* ── Pagination ── */
.pt-pagination .page-link { border-color: var(--pt-border); color: var(--pt-text); border-radius: 8px !important; margin: 0 2px; font-size: .875rem; }
.pt-pagination .page-link:hover { background: var(--pt-accent-soft); border-color: var(--pt-accent); color: var(--pt-accent); }
.pt-pagination .page-item.active .page-link { background: var(--pt-accent); border-color: var(--pt-accent); color: #fff; }

/* ── Store card ── */
.pt-store-card { display: flex; flex-direction: column; height: 100%; }
.pt-store-logo-wrap { width: 60px; height: 60px; border-radius: 10px; overflow: hidden; background: var(--pt-bg); border: 1px solid var(--pt-border); flex-shrink: 0; }
.pt-store-logo-wrap img { width: 100%; height: 100%; object-fit: cover; }
.pt-store-badge { font-size: .65rem; font-weight: 700; padding: .2rem .55rem; border-radius: 4px; background: var(--pt-success-soft); color: var(--pt-success); }

/* ── Product detail ── */
.pt-gallery-main { aspect-ratio: 1; background: var(--pt-bg); border-radius: var(--pt-radius-lg); overflow: hidden; display: flex; align-items: center; justify-content: center; border: 1px solid var(--pt-border); }
.pt-gallery-main img { max-height: 380px; object-fit: contain; padding: 1.5rem; }
.pt-gallery-thumb { width: 72px; height: 72px; border: 2px solid var(--pt-border); border-radius: 8px; overflow: hidden; cursor: pointer; background: var(--pt-bg); transition: border-color .15s; flex-shrink: 0; }
.pt-gallery-thumb img { width: 100%; height: 100%; object-fit: contain; padding: .3rem; }
.pt-gallery-thumb.active, .pt-gallery-thumb:hover { border-color: var(--pt-accent); }
.pt-detail-price { font-size: 1.875rem; font-weight: 800; color: var(--pt-text); }
.pt-detail-mrp { font-size: .9375rem; color: var(--pt-text-muted); text-decoration: line-through; }
.pt-detail-discount { font-size: .875rem; font-weight: 700; color: var(--pt-success); }
.pt-qty-input { width: 60px; text-align: center; border: 1.5px solid var(--pt-border); border-radius: 8px; font-size: 1rem; font-weight: 600; padding: .4rem; }
.pt-qty-btn { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; background: var(--pt-bg); border: 1.5px solid var(--pt-border); border-radius: 8px; cursor: pointer; font-size: 1.1rem; transition: border-color .15s; }
.pt-qty-btn:hover { border-color: var(--pt-accent); color: var(--pt-accent); }
.pt-add-cart-btn { background: var(--pt-accent); color: #fff; border: none; border-radius: var(--pt-radius); font-weight: 700; font-size: 1rem; padding: .75rem 2rem; transition: background .15s; }
.pt-add-cart-btn:hover { background: var(--pt-accent-dark); }
.pt-spec-table th { font-size: .8125rem; font-weight: 600; color: var(--pt-text-muted); text-transform: uppercase; letter-spacing: .4px; width: 40%; background: var(--pt-bg); }
.pt-spec-table td { font-size: .875rem; }

/* ── Tags / pills ── */
.pt-tag { display: inline-block; font-size: .75rem; font-weight: 500; padding: .25rem .65rem; border-radius: 20px; background: var(--pt-accent-soft); color: var(--pt-accent); margin: .15rem; }

/* ── Alert / Toast ── */
.pt-toast-container { position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 9999; }

/* ── No results ── */
.pt-empty { text-align: center; padding: 4rem 1rem; }
.pt-empty-icon { font-size: 3.5rem; color: var(--pt-border); margin-bottom: 1rem; }
.pt-empty h5 { font-weight: 600; color: var(--pt-text-muted); }

/* ── Footer ── */
.pt-footer { background: var(--pt-dark); color: rgba(255,255,255,.85); margin-top: 4rem; }
.pt-footer-top { padding: 3rem 0 2rem; }
.pt-footer-bottom { border-top: 1px solid var(--pt-dark-border); padding: 1.25rem 0; }
.pt-footer-heading { font-size: .8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: rgba(255,255,255,.5); margin-bottom: 1rem; }
.pt-footer-links { margin: 0; }
.pt-footer-links li + li { margin-top: .4rem; }
.pt-footer-links a { font-size: .875rem; color: rgba(255,255,255,.7); transition: color .15s; }
.pt-footer-links a:hover { color: var(--pt-accent); }
.pt-footer-brand .pt-logo-text { font-size: 1.75rem; color: #fff; }
.pt-footer-brand .pt-logo-in  { color: rgba(255,255,255,.5); }
.pt-social { width: 34px; height: 34px; border-radius: 50%; background: var(--pt-dark-border); color: rgba(255,255,255,.7); display: inline-flex; align-items: center; justify-content: center; font-size: .875rem; transition: background .15s, color .15s; }
.pt-social:hover { background: var(--pt-accent); color: #fff; }

/* ── Utility ── */
.gap-2  { gap: .5rem; }
.gap-3  { gap: 1rem; }
.text-muted { color: var(--pt-text-muted) !important; }
.fw-semibold { font-weight: 600; }

.btn-pt-accent {
    background-color: var(--pt-accent);
    border-color: var(--pt-accent);
    color: #fff;
}

.btn-pt-accent:hover {
    background-color: #e85f30;
    border-color: #e85f30;
    color: #fff;
}


/* ── Responsive ───────────────────────────────────────────────────── */
@media (max-width: 767px) {
  .pt-hero-img {
    height: 260px;
  }
  .pt-hero-static {
    height: 280px;
  }
  .pt-hero-title {
    font-size: 1.375rem;
  }
  .pt-hero-overlay {
    padding-bottom: 1.25rem;
  }
  .pt-carousel-arrow {
    width: 32px;
    height: 32px;
    font-size: .9rem;
  }
  .pt-carousel-prev { left: .5rem; }
  .pt-carousel-next { right: .5rem; }
  .pt-req-bar {
    padding: .5rem 0;
  }
}

@media (max-width: 400px) {
  .pt-hero-img {
    height: 220px;
  }
}

/* ── Responsive ── */
@media (max-width: 991px) {
  .pt-hero-inner { min-height: 280px; }
  .pt-hero-content { padding: 1.75rem; }
}
@media (max-width: 767px) {
  .pt-section-heading { font-size: 1.15rem; }
  .pt-detail-price { font-size: 1.5rem; }
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
