/* ============================================================
   pages.css — page-specific components for product / compare /
   bundle pages. Tokens only. Loads after components.css.
   ============================================================ */

/* Shared section heading helpers (product / bundle / compare) */
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.section-heading > div{max-width:640px}
.section-title{font-size:var(--h2);margin-top:10px}
.heading-link{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);white-space:nowrap}
.ptype{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}

/* ---- Breadcrumb (product ol/li) ---- */
.breadcrumb{padding:20px 0 0}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.breadcrumb li{display:flex;align-items:center;gap:8px}
.breadcrumb li + li::before{content:"/";color:var(--line-2)}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--blue)}

/* ============================================================
   PRODUCT DETAIL
   ============================================================ */
.product-hero{padding:24px 0 12px}
.product-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:44px;align-items:center}
@media (max-width:900px){.product-hero-grid{grid-template-columns:1fr;gap:28px}}
.product-title{font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.02;margin:14px 0}
.product-blurb{font-size:1.08rem;line-height:1.6;color:var(--muted);max-width:520px;margin-bottom:22px}
.product-price{margin:0 0 14px}
.product-price .price-now{font-size:2rem}
.product-rating{display:flex;align-items:center;gap:8px;font-size:.95rem;color:var(--muted);margin-bottom:22px}
.product-rating .stars{color:var(--lime)}
.product-rating b{color:var(--text)}
.product-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.product-truth{color:var(--faint)!important}

.included-list{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:12px 28px;margin-top:18px;max-width:760px}
@media (max-width:640px){.included-list{grid-template-columns:1fr}}
.included-list li{position:relative;padding-left:28px;color:var(--muted);line-height:1.5}
.included-list li::before{content:"";position:absolute;left:0;top:.5em;width:14px;height:14px;border-radius:50%;background:rgba(47, 139, 255,.16);box-shadow:inset 0 0 0 1px var(--blue)}

.install-steps{list-style:none;display:grid;gap:14px;margin-top:18px;max-width:760px;counter-reset:step}
.install-steps li{display:flex;gap:16px;align-items:flex-start}
.step-num{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--lime);color:var(--lime);font-family:var(--font-mono);font-size:.85rem;display:flex;align-items:center;justify-content:center}
.step-body{color:var(--muted);line-height:1.55;padding-top:5px}

/* Product gallery reuses .gallery-grid from components.css */
.product-gallery .section-heading{margin-top:8px}

.product-reviews .review-grid{margin-top:8px}
.review-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line-2);font-family:var(--font-display);color:var(--lime);font-size:.9rem;margin-right:10px}
.product-reviews .review-card figcaption{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.product-reviews .review-card .review-meta{display:flex;flex-direction:column}
.product-reviews .review-card .review-meta small{color:var(--faint);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase}
.review-link{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin-left:auto}

/* ============================================================
   COMPARE PAGE
   ============================================================ */
.compare-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
@media (max-width:820px){.compare-grid{grid-template-columns:1fr}}
.compare-item{display:flex;flex-direction:column;gap:16px}
.compare-meta{display:flex;flex-direction:column;gap:8px}
.compare-meta h3{font-size:1.2rem}
.compare-meta h3 a{color:var(--text)}
.compare-meta h3 a:hover{color:var(--lime)}
.compare-meta .actions{display:flex;gap:10px;margin-top:4px}
.compare-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:44px;padding-top:28px;border-top:1px solid var(--line)}

/* ============================================================
   BUNDLE PAGE
   ============================================================ */
.bundle-offer h1{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:800;letter-spacing:-.03em}
.bundle-offer h1 em{color:var(--lime);font-style:normal}
.bundle-inside-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:900px){.bundle-inside-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.bundle-inside-grid{grid-template-columns:1fr}}
.bundle-mini{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}
.bundle-mini-media{display:block;aspect-ratio:16/10;overflow:hidden}
.bundle-mini-media img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.bundle-mini:hover .bundle-mini-media img{transform:scale(1.04)}
.bundle-mini-body{padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.bundle-mini-body h3{font-size:1.05rem}
.bundle-mini-body h3 a{color:var(--text)}
.bundle-mini-price{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.06em;color:var(--lime)}
