:root {
  --pc-pink: #c2185b;
  --pc-pink-dark: #7d1038;
  --pc-pink-soft: #fce4ec;
  --pc-ink: #2b1d24;
  --pc-accent: #f5a623;
}

body { font-family: 'Inter', system-ui, sans-serif; color: var(--pc-ink); }
h1, h2, h3, .navbar-brand { font-family: 'Quicksand', 'Inter', system-ui, sans-serif; }

.bg-pink { background-color: var(--pc-pink) !important; }
.bg-pink-dark { background-color: var(--pc-pink-dark) !important; }
.bg-pink-soft { background-color: var(--pc-pink-soft) !important; }
.text-pink { color: var(--pc-pink) !important; }
.text-pink-dark { color: var(--pc-pink-dark) !important; }
.text-accent { color: var(--pc-accent) !important; }

.btn-pink { background-color: var(--pc-pink); border-color: var(--pc-pink); color: #fff; }
.btn-pink:hover, .btn-pink:focus { background-color: var(--pc-pink-dark); border-color: var(--pc-pink-dark); color: #fff; }

a { color: var(--pc-pink-dark); }
a:hover { color: var(--pc-pink); }

.pc-skip-link {
  position: absolute; left: -9999px; top: 0; background: #fff; color: #000;
  padding: .75rem 1rem; z-index: 2000;
}
.pc-skip-link:focus { left: 0; }

.pc-hero {
  background: linear-gradient(135deg, var(--pc-pink) 0%, var(--pc-pink-dark) 100%);
  color: #fff;
}
.pc-hero .lead { color: rgba(255,255,255,.9); }

.pc-channel-tile {
  border: 1px solid #e9e4f2; transition: transform .15s ease, box-shadow .15s ease;
  color: #2b2036;
}
.pc-channel-tile:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(194,24,91,.15); }
.pc-channel-icon { font-size: 1.8rem; color: var(--pc-pink); }

.pc-sidebar-sticky { position: sticky; top: 80px; }

/* Legacy extracted content — re-skin the old Bluepark markup rather than fight it */
.pc-legacy-content { line-height: 1.65; }
.pc-legacy-content table.grid,
.pc-legacy-content table.options,
.pc-legacy-content table.alternate,
.pc-legacy-content table.alternatet { width: 100%; border-collapse: collapse; }
.pc-legacy-content table.grid td { vertical-align: top; padding: 8px; }
.pc-legacy-content img { max-width: 100%; height: auto; border-radius: .4rem; }
.pc-legacy-content .hrd hr { margin: 1.25rem 0; border-top: 1px solid #e9e4f2; }
.pc-legacy-content .footing,
.pc-legacy-content #product_tabs ul { list-style: none; padding-left: 0; }
.pc-legacy-content h2 { font-size: 1.15rem; margin-top: 1.5rem; }
.pc-legacy-content .last, .pc-legacy-content .gap { display: inline-block; }
.pc-legacy-content .pc-download-btn { margin: .5rem 0 1rem; }

/* Category listing grids (gridp) — reflow into a responsive Bootstrap-like grid */
.pc-legacy-content table.gridp { width: 100%; }
.pc-legacy-content table.gridp td { display: inline-block; width: 100%; max-width: 220px; vertical-align: top; padding: 10px; }
.pc-legacy-content table.gridp tr { display: flex; flex-wrap: wrap; }
.pc-legacy-content .prim img { border: 1px solid #f0edf7; padding: 4px; background: #fff; }

/* AdSense containers — reserve real space for filled ads, collapse placeholders to 0 */
.pc-ad { margin: 1rem 0; }
.pc-ad.pc-ad-placeholder { display: none; }
.pc-ad ins.adsbygoogle:empty { display: none; }

.pc-honeypot { position: absolute; left: -9999px; top: -9999px; }

/* "Shop this on Amazon" affiliate card */
.pc-shop-card { border: 1px solid #f0d9a0; background: #fffdf7; }
.pc-shop-img { width: 64px; height: 64px; object-fit: contain; background: #fff; border: 1px solid #eee; border-radius: .3rem; flex-shrink: 0; }
.pc-shop-title { font-size: .9rem; font-weight: 600; line-height: 1.25; }
.pc-shop-price { font-size: 1.05rem; font-weight: 700; color: var(--pc-pink); margin-top: .25rem; }
.pc-affiliate-note { font-size: .72rem; }

/* Listing-grid thumbnail swapped in from a matched Amazon listing (see
   legacy_fix_listing_thumbnails()) — small corner tag so it reads as a "shop this"
   link rather than looking like the original preserved photo. */
.pc-listing-amazon-thumb { position: relative; display: inline-block; }
.pc-listing-amazon-thumb::after {
  content: "Amazon"; position: absolute; bottom: 4px; right: 4px;
  background: #fff8e6; color: #6a5217; border: 1px solid #f0d9a0;
  font-size: .62rem; font-weight: 600; line-height: 1; padding: 2px 5px; border-radius: .25rem;
}

/* A product page's own primary photo, swapped in from a matched Amazon listing (see
   legacy_fix_content_images()) — capped similar to the original preserved photos'
   sizing rather than rendering at Amazon's native (often much larger) resolution. */
.pc-hero-amazon-img { max-width: 260px; }

/* Button shape/theme category grid (includes/buttons.php) */
.pc-button-cat-card { border: 1px solid #eee; transition: box-shadow .15s ease; }
.pc-button-cat-card:hover { box-shadow: 0 2px 10px rgba(0,0,0,.08); }
.pc-button-cat-img { height: 140px; object-fit: contain; background: #fff; padding: .75rem; }
.pc-button-cat-noimg { height: 140px; background: #f8f7fb; }

/* Bootstrap card-grid re-template for every category listing page
   (render_modern_listing() in extractor.php) */
.pc-listing-card { border: 1px solid #eee; transition: box-shadow .15s ease; }
.pc-listing-card:hover { box-shadow: 0 2px 10px rgba(0,0,0,.08); }
.pc-listing-card-img { height: 180px; object-fit: contain; background: #fff; padding: .75rem; }
.pc-listing-card-noimg { height: 180px; background: #f8f7fb; }
.pc-listing-card-title { min-height: 2.6em; }
.pc-listing-card-price { color: var(--pc-pink); }

@media (max-width: 767.98px) {
  .pc-sidebar-sticky { position: static; }
}


/* ── Catalogue cards & grids ─────────────────────────────────────────────── */
.pc-card { border: 1px solid #f1dfe6; transition: transform .15s ease, box-shadow .15s ease; }
.pc-card:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(194,24,91,.12); }
.pc-card-img { aspect-ratio: 1 / 1; object-fit: contain; background: #fff; padding: .5rem; }
.pc-grid .card-title { line-height: 1.35; }
.pc-hero-img { max-height: 420px; object-fit: contain; background: #fff; }
.pc-cat-list { max-height: 26rem; overflow-y: auto; }

.pc-hero { background: linear-gradient(135deg, var(--pc-pink-soft) 0%, #fff 100%); color: var(--pc-ink); border: 1px solid #f1dfe6; }
.pc-hero .lead { color: var(--pc-ink); }
.pc-hero h1 { color: var(--pc-pink-dark); }

/* ── "Shop this on Amazon" affiliate card ────────────────────────────────── */
.pc-shop-card { border: 1px solid #f0d9a0; background: #fffdf7; }
.pc-shop-img { width: 64px; height: 64px; object-fit: contain; background: #fff; border: 1px solid #eee; border-radius: .3rem; flex-shrink: 0; }
.pc-shop-title { font-size: .9rem; font-weight: 600; line-height: 1.25; }
.pc-shop-price { font-size: 1.05rem; font-weight: 700; color: var(--pc-pink-dark); margin-top: .25rem; }
