/*
 * CouponCodes / PromoCodes.Guru Final Premium UX Audit v3.4
 * --------------------------------------------------------
 * Last-mile presentation layer for the Laravel commercial engine.
 * Goals:
 *   - restore the wider /us-style public canvas
 *   - remove tiny/unreadable typography
 *   - prevent dark-surface contrast regressions caused by generic rules
 *   - fix header action overlap/blank green buttons
 *   - fix homepage benefit overlap, empty-panel stretch and dark search panel
 *   - unify public, shopper/auth and admin visual quality
 * UI only: no route, DB, provider, queue, verification or affiliate logic.
 */

:root {
  --pcg-f-navy: #071d2f;
  --pcg-f-navy-2: #0a2940;
  --pcg-f-navy-3: #12314a;
  --pcg-f-green: #087a55;
  --pcg-f-green-dark: #065f43;
  --pcg-f-green-bright: #0a9b61;
  --pcg-f-mint: #e3f5ee;
  --pcg-f-mint-2: #f2faf6;
  --pcg-f-bg: #f7f6f2;
  --pcg-f-card: #ffffff;
  --pcg-f-text: #16212c;
  --pcg-f-muted: #5c6b78;
  --pcg-f-soft: #8794a0;
  --pcg-f-line: #e6e2d9;
  --pcg-f-line-2: #d8d2c4;
  --pcg-f-public-max: 1540px;
  --pcg-f-admin-max: 1680px;
  --pcg-f-radius: 16px;
  --pcg-f-radius-lg: 20px;
  --pcg-f-shadow: 0 8px 26px rgba(7,29,47,.07);
  --pcg-f-shadow-hover: 0 18px 42px rgba(7,29,47,.12);
}

/* ==============================================================
   1. GLOBAL FOUNDATION — PUBLIC / USER / AUTH
   ============================================================= */
.pcg-premium-v3 {
  font-family: "Plus Jakarta Sans", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 16px;
  line-height: 1.58;
  color: var(--pcg-f-text);
  background: var(--pcg-f-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Restore the mature commercial /us canvas. Do not force the narrow 1420px layer. */
.pcg-premium-v3 .container,
.pcg-premium-v3 .container-xxl,
.pcg-premium-v3 .container-xl,
.pcg-premium-v3 .container-lg,
.pcg-premium-v3 .container-md,
.pcg-premium-v3 .container-sm,
.pcg-premium-v3 .cc-shell {
  width: min(calc(100% - 48px), var(--pcg-f-public-max));
  max-width: var(--pcg-f-public-max) !important;
  margin-inline: auto;
}

.pcg-premium-v3 h1,
.pcg-premium-v3 h2,
.pcg-premium-v3 h3,
.pcg-premium-v3 h4,
.pcg-premium-v3 h5,
.pcg-premium-v3 h6 {
  color: var(--pcg-f-navy);
  font-weight: 700;
  letter-spacing: -.025em;
}

/* Readability floor for ordinary supporting text. */
.pcg-premium-v3 p { font-size: 15px; line-height: 1.65; color: var(--pcg-f-muted) !important; }
.pcg-premium-v3 small,
.pcg-premium-v3 .small { font-size: 12px; line-height: 1.48; }
.pcg-premium-v3 .text-muted { color: var(--pcg-f-muted) !important; }
.pcg-premium-v3 .pcg-eyebrow,
.pcg-premium-v3 .pcg-breadcrumbs,
.pcg-premium-v3 .pcg-directory-breadcrumbs,
.pcg-premium-v3 .pcg-input-help,
.pcg-premium-v3 .form-text { font-size: 12.5px; line-height: 1.5; }

/* Common premium cards across public + shopper areas. */
.pcg-premium-v3 .pcg-coupon-card,
.pcg-premium-v3 .pcg-category-card,
.pcg-premium-v3 .pcg-store-tile,
.pcg-premium-v3 .pcg-process-card,
.pcg-premium-v3 .pcg-home-trust-card,
.pcg-premium-v3 .pcg-home-editorial-card,
.pcg-premium-v3 .pcg-saving-tip-card,
.pcg-premium-v3 .pcg-side-card,
.pcg-premium-v3 .pcg-table-card,
.pcg-premium-v3 .pcg-form-card,
.pcg-premium-v3 .pcg-metric,
.pcg-premium-v3 .pcg-empty-state,
.pcg-premium-v3 .card {
  border-color: var(--pcg-f-line);
  border-radius: var(--pcg-f-radius);
  box-shadow: var(--pcg-f-shadow);
}

.pcg-premium-v3 .pcg-coupon-card:hover,
.pcg-premium-v3 .pcg-category-card:hover,
.pcg-premium-v3 .pcg-store-tile:hover {
  transform: translateY(-2px);
  box-shadow: var(--pcg-f-shadow-hover);
}

/* Commercial /us typography parity for content pages. */
.pcg-premium-v3 .pcg-directory-page,
.pcg-premium-v3 .pcg-editorial-page,
.pcg-premium-v3 .pcg-store-page,
.pcg-premium-v3 .pcg-deals-page,
.pcg-premium-v3 .pcg-authority-copy,
.pcg-premium-v3 .pcg-trust-body { font-size: 16px; }

.pcg-premium-v3 .pcg-section { padding-block: 40px; }
.pcg-premium-v3 .pcg-section-tight { padding-block: 28px; }
.pcg-premium-v3 .pcg-section-head { gap: 18px; margin-bottom: 24px; }
.pcg-premium-v3 .pcg-section-head h2 { font-size: clamp(27px,2vw,34px); line-height: 1.15; }
.pcg-premium-v3 .pcg-section-head p { font-size: 15px; }

.pcg-premium-v3 .pcg-directory-hero h1,
.pcg-premium-v3 .pcg-page-hero h1,
.pcg-premium-v3 .pcg-deals-hero h1,
.pcg-premium-v3 .pcg-authority-hero h1,
.pcg-premium-v3 .pcg-trust-hero h1 {
  font-size: clamp(38px,4.3vw,64px);
  line-height: 1.02;
  letter-spacing: -.045em;
}
.pcg-premium-v3 .pcg-directory-hero p,
.pcg-premium-v3 .pcg-page-hero p,
.pcg-premium-v3 .pcg-deals-hero p,
.pcg-premium-v3 .pcg-authority-hero p,
.pcg-premium-v3 .pcg-trust-hero p {
  font-size: clamp(16px,1.4vw,18px);
  line-height: 1.68;
}

.pcg-premium-v3 .pcg-coupon-title,
.pcg-premium-v3 .pcg-coupon-title-link,
.pcg-premium-v3 .pcg-coupon-card h3 { font-size: 15.8px; line-height: 1.42; font-weight: 750; }
.pcg-premium-v3 .pcg-coupon-card p,
.pcg-premium-v3 .pcg-coupon-desc { font-size: 13.5px; line-height: 1.58; }
.pcg-premium-v3 .pcg-store-tile-name { font-size: 15.5px; }
.pcg-premium-v3 .pcg-category-card h3,
.pcg-premium-v3 .pcg-category-card strong { font-size: 15px; line-height: 1.35; }
.pcg-premium-v3 .pcg-category-card p,
.pcg-premium-v3 .pcg-category-card small { font-size: 12.5px; line-height: 1.45; }
.pcg-premium-v3 .pcg-pill,
.pcg-premium-v3 .pcg-badge,
.pcg-premium-v3 .pcg-guru-score-pill,
.pcg-premium-v3 .pcg-guru-verified-badge,
.pcg-premium-v3 .pcg-filter-chip { font-size: 12px; line-height: 1.3; }

/* Forms, filters, search and buttons — one premium scale everywhere. */
.pcg-premium-v3 label,
.pcg-premium-v3 .form-label,
.pcg-premium-v3 .pcg-field label { font-size: 14px; font-weight: 700; color: var(--pcg-f-navy); }
.pcg-premium-v3 input:not([type="checkbox"]):not([type="radio"]),
.pcg-premium-v3 select,
.pcg-premium-v3 textarea,
.pcg-premium-v3 .form-control,
.pcg-premium-v3 .form-select,
.pcg-premium-v3 .pcg-search-input {
  min-height: 46px;
  font-size: 15px;
  line-height: 1.4;
  color: var(--pcg-f-text);
  border-color: var(--pcg-f-line-2);
  border-radius: 10px;
}
.pcg-premium-v3 textarea { min-height: 120px; }
.pcg-premium-v3 .btn,
.pcg-premium-v3 button:not(.cc-account):not(.cc-mobile-toggle):not(.cc-hero-arrow) {
  min-height: 42px;
  font-size: 14px;
  font-weight: 700;
  border-radius: 10px;
}

/* Tables are readable on user/public data screens. */
.pcg-premium-v3 table,
.pcg-premium-v3 .table { font-size: 14px; color: var(--pcg-f-text); }
.pcg-premium-v3 .table > :not(caption) > * > *,
.pcg-premium-v3 table th,
.pcg-premium-v3 table td { padding: 14px 16px; vertical-align: middle; }
.pcg-premium-v3 th,
.pcg-premium-v3 .table thead th { font-size: 12.5px; font-weight: 800; letter-spacing: .035em; }

/* ==============================================================
   2. GLOBAL HEADER — FIX OVERLAP / INVISIBLE CTA
   ============================================================= */
.pcg-premium-v3 .cc-header {
  background: rgba(255,255,255,.98);
  border-bottom-color: var(--pcg-f-line);
  box-shadow: 0 3px 18px rgba(7,29,47,.045);
}
.pcg-premium-v3 .cc-header-inner {
  height: 76px;
  gap: 20px;
  overflow: visible;
}
.pcg-premium-v3 .cc-brand { gap: 10px; flex: 0 0 auto; }
.pcg-premium-v3 .cc-brand-mark { width: 40px; height: 40px; font-size: 13px; border-radius: 10px; }
.pcg-premium-v3 .cc-brand-name { font-size: 18px; line-height: 1; color: var(--pcg-f-navy); }
.pcg-premium-v3 .cc-brand-badge {
  margin-left: 6px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1;
  color: var(--pcg-f-green-dark) !important;
  background: #effaf5;
  border-color: #c8eadc;
}
.pcg-premium-v3 .cc-nav { gap: 22px; margin-left: auto; }
.pcg-premium-v3 .cc-nav a { font-size: 14px; line-height: 1.2; color: var(--pcg-f-text) !important; }
.pcg-premium-v3 .cc-nav a:hover { color: var(--pcg-f-green) !important; }
.pcg-premium-v3 .cc-header-actions { gap: 10px; margin-left: 10px; flex: 0 0 auto; }
.pcg-premium-v3 .cc-header-search {
  width: clamp(245px,20vw,330px);
  height: 44px;
  flex: 0 1 330px;
  border-color: var(--pcg-f-line-2);
}
.pcg-premium-v3 .cc-header-search input { min-height: 0; height: 100%; font-size: 13.5px; border-radius: 0; }
.pcg-premium-v3 .cc-header-search button {
  min-height: 0 !important;
  width: 48px;
  height: 100%;
  padding: 0;
  border-radius: 0 !important;
  color: #fff !important;
  background: var(--pcg-f-green) !important;
}
.pcg-premium-v3 .cc-country {
  min-height: 42px;
  padding: 0 2px;
  font-size: 13px;
  color: var(--pcg-f-navy) !important;
  white-space: nowrap;
}
.pcg-premium-v3 .cc-submit {
  min-width: 126px;
  height: 44px;
  padding-inline: 18px;
  justify-content: center;
  font-size: 13.5px;
  line-height: 1;
  color: #fff !important;
  background: var(--pcg-f-green) !important;
  border-radius: 10px;
  white-space: nowrap;
}
.pcg-premium-v3 .cc-submit:hover { color: #fff !important; background: var(--pcg-f-green-dark) !important; }
.pcg-premium-v3 .cc-account,
.pcg-premium-v3 .cc-mobile-toggle { min-height: 0; width: 40px; height: 40px; color: var(--pcg-f-navy) !important; }
.pcg-premium-v3 .cc-account-menu a,
.pcg-premium-v3 .cc-account-menu button { font-size: 13.5px; }

/* ==============================================================
   3. HOMEPAGE — FINAL TYPOGRAPHY / SPACING / CONTRAST AUDIT
   ============================================================= */
body.cc-home-page {
  --cc-home-max: var(--pcg-f-public-max);
  --cc-home-section-gap: 24px;
  font-size: 16px;
  line-height: 1.58;
}
body.cc-home-page .cc-shell { width: min(calc(100% - 48px), var(--cc-home-max)); max-width: var(--cc-home-max); }
body.cc-home-page .cc-home > .cc-shell { margin-bottom: var(--cc-home-section-gap); }
body.cc-home-page .cc-card { border-color: var(--pcg-f-line); border-radius: 16px; box-shadow: var(--pcg-f-shadow); }

/* Hero remains bold, but all support text is readable and never overlaps. */
body.cc-home-page .cc-hero {
  grid-template-columns: minmax(430px,.76fr) minmax(0,1.24fr);
  gap: 38px;
  padding-top: 34px;
  margin-bottom: 28px !important;
}
body.cc-home-page .cc-hero-copy { min-width: 0; padding: 14px 4px; }
body.cc-home-page .cc-hero-copy h1 { font-size: clamp(56px,4.5vw,72px); line-height: .98; margin-bottom: 20px; }
body.cc-home-page .cc-hero-copy > p { font-size: 16px; line-height: 1.68; max-width: 610px; }
body.cc-home-page .cc-benefits {
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 16px;
  max-width: 760px;
  margin-top: 26px;
}
body.cc-home-page .cc-benefits > div { align-items: flex-start; gap: 8px; min-width: 0; }
body.cc-home-page .cc-benefits span { min-width: 0; }
body.cc-home-page .cc-benefits strong { font-size: 12.5px; line-height: 1.25; color: var(--pcg-f-navy); white-space: normal; }
body.cc-home-page .cc-benefits small {
  font-size: 10.75px;
  line-height: 1.35;
  color: #778692;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.cc-home-page .cc-benefits b { width: 30px; height: 30px; font-size: 13px; flex: 0 0 30px; }
body.cc-home-page .cc-hero-carousel { height: 328px; }
body.cc-home-page .cc-hero-details h2 { font-size: 25px; color: var(--pcg-f-navy); }
body.cc-home-page .cc-hero-details > p { font-size: 13.5px; color: var(--pcg-f-muted) !important; }
body.cc-home-page .cc-hero-price strong { font-size: 25px; }
body.cc-home-page .cc-guru-pill { font-size: 11.5px; }

/* Stats and headings */
body.cc-home-page .cc-stats { min-height: 84px; padding-inline: 34px; background: var(--pcg-f-navy); }
body.cc-home-page .cc-stats strong { font-size: 19px; color: #fff; }
body.cc-home-page .cc-stats small { font-size: 11.5px; color: #d2dde5; }
body.cc-home-page .cc-section-head { min-height: 40px; margin-bottom: 17px; }
body.cc-home-page .cc-section-head h2 { font-size: 22px; line-height: 1.18; color: var(--pcg-f-navy); }
body.cc-home-page .cc-section-head a { font-size: 12.5px; color: var(--pcg-f-green) !important; }
body.cc-home-page .cc-heading-inline > span,
body.cc-home-page .cc-section-head > div > small { font-size: 11.5px; }

/* Categories */
body.cc-home-page .cc-categories { padding: 22px; }
body.cc-home-page .cc-category { min-height: 148px; padding: 14px 10px; }
body.cc-home-page .cc-category-icon { height: 68px; font-size: 40px; }
body.cc-home-page .cc-category strong { font-size: 13.5px; line-height: 1.35; color: var(--pcg-f-navy); }
body.cc-home-page .cc-category small { font-size: 11.5px; color: var(--pcg-f-green); margin-top: 7px; }

/* Top-rated + compact search panel. */
body.cc-home-page .cc-top-grid {
  grid-template-columns: minmax(0,4.35fr) minmax(300px,.95fr);
  gap: 20px;
  align-items: start !important;
}
body.cc-home-page .cc-top-panel { align-self: start; padding: 22px 20px 20px; }
body.cc-home-page .cc-deal-card { min-height: 398px; padding: 14px; }
body.cc-home-page .cc-deal-card h3 { font-size: 15px; line-height: 1.4; }
body.cc-home-page .cc-deal-card > p { font-size: 12.5px; line-height: 1.55; }
body.cc-home-page .cc-store-name,
body.cc-home-page .cc-score-line { font-size: 11.5px; }
body.cc-home-page .cc-score-line em { font-size: 10.5px; }
body.cc-home-page .cc-price strong { font-size: 18.5px; }
body.cc-home-page .cc-view-btn { height: 40px; font-size: 12.5px; color: #fff !important; }

body.cc-home-page .cc-trending {
  align-self: start !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 20px 18px 16px;
  color: #fff;
  background: linear-gradient(180deg,var(--pcg-f-navy) 0%,#082744 100%);
}
body.cc-home-page .cc-trending h2 { font-size: 16.5px; color: #fff !important; }
body.cc-home-page .cc-trending a { color: #eaf4fa !important; }
body.cc-home-page .cc-trend-row { min-height: 56px; padding-block: 8px; color: #eaf4fa !important; }
body.cc-home-page .cc-trend-row strong { font-size: 13px; color: #fff !important; }
body.cc-home-page .cc-trend-row small { font-size: 10.5px; color: #a9c1d2 !important; }
body.cc-home-page .cc-trend-row > b { font-size: 11.5px; color: #d9e7ef; }
body.cc-home-page .cc-trend-row > span { font-size: 15px; }
body.cc-home-page .cc-trend-row > em { color: #34d399; }
body.cc-home-page .cc-trend-all { display: block; margin-top: 10px; font-size: 11.5px; color: #76ddb8 !important; }
body.cc-home-page .cc-trending-empty {
  display: grid;
  place-items: center;
  gap: 7px;
  min-height: 92px;
  padding: 15px 8px 10px;
  text-align: center;
  color: #dce8ef;
}
body.cc-home-page .cc-trending-empty b { font-size: 24px; }
body.cc-home-page .cc-trending-empty strong { font-size: 12.5px; color: #fff; }
body.cc-home-page .cc-trending-empty small { font-size: 10.5px; color: #9fb5c5; }

/* Middle section: do not stretch an empty deals panel to blog height. */
body.cc-home-page .cc-middle-grid {
  grid-template-columns: minmax(0,3.9fr) minmax(320px,1.15fr);
  gap: 20px;
  align-items: start !important;
}
body.cc-home-page .cc-newest-panel,
body.cc-home-page .cc-blog-panel { align-self: start; padding: 22px; }
body.cc-home-page .cc-tabs { gap: 7px; }
body.cc-home-page .cc-tabs span { font-size: 11.5px; padding: 7px 11px; }
body.cc-home-page .cc-offer-card { min-height: 284px; padding: 15px; }
body.cc-home-page .cc-store-line strong { font-size: 13px; }
body.cc-home-page .cc-store-line small { font-size: 11px; }
body.cc-home-page .cc-offer-main h3 { font-size: 14px; line-height: 1.45; }
body.cc-home-page .cc-offer-actions a { font-size: 12px; }
body.cc-home-page .cc-blog-panel .cc-section-head h2 { font-size: 20px; }
body.cc-home-page .cc-blog-item strong { font-size: 13.5px; line-height: 1.42; color: var(--pcg-f-navy); }
body.cc-home-page .cc-blog-item small { font-size: 11px; color: #7d8b96; }

/* Elegant zero-data state instead of large blank white boxes. */
body.cc-home-page .cc-home-empty {
  grid-column: 1 / -1;
  display: grid;
  place-items: center;
  gap: 6px;
  min-height: 118px;
  padding: 22px;
  border: 1px dashed #d9e2de;
  border-radius: 12px;
  background: #fafcfb;
  text-align: center;
}
body.cc-home-page .cc-home-empty b { font-size: 28px; line-height: 1; }
body.cc-home-page .cc-home-empty strong { font-size: 14px; color: var(--pcg-f-navy); }
body.cc-home-page .cc-home-empty small { max-width: 520px; font-size: 12px; color: var(--pcg-f-muted); }
body.cc-home-page .cc-home-empty-compact { min-height: 76px; padding: 14px 18px; }
body.cc-home-page .cc-home-empty-compact b { font-size: 20px; }

/* Lower panels */
body.cc-home-page .cc-pop-title strong { font-size: 13px; }
body.cc-home-page .cc-popular-card .cc-price strong { font-size: 17.5px; }
body.cc-home-page .cc-popular-card > small { font-size: 11.5px; }
body.cc-home-page .cc-popular-card > a { font-size: 12px; color: #fff !important; }
body.cc-home-page .cc-voted-row strong { font-size: 13px; }
body.cc-home-page .cc-voted-row small { font-size: 11px; }

/* Newsletter — explicit dark/green-surface contrast. */
body.cc-home-page .cc-newsletter {
  min-height: 112px;
  padding: 22px 28px;
  gap: 22px;
  color: #fff;
  background: linear-gradient(100deg,#087a55 0%,#0a9b61 100%);
}
body.cc-home-page .cc-newsletter h2 { font-size: 20px; color: #fff !important; }
body.cc-home-page .cc-newsletter p { font-size: 13px; color: #e8fff5 !important; }
body.cc-home-page .cc-newsletter input { height: 46px; min-height: 46px; font-size: 13.5px; color: var(--pcg-f-text); }
body.cc-home-page .cc-newsletter button { height: 46px; min-height: 46px; font-size: 12.5px; color: #fff !important; }
body.cc-home-page .cc-newsletter form small { font-size: 10.5px; color: #d2f2e5 !important; }
body.cc-home-page .cc-news-points { font-size: 11.5px; color: #f2fff9; }
body.cc-home-page .cc-news-points span { color: #f2fff9; }

/* Trust + verified */
body.cc-home-page .cc-trust-strip { min-height: 86px; padding: 17px 22px; }
body.cc-home-page .cc-trust-strip strong { font-size: 12.5px; color: var(--pcg-f-navy); }
body.cc-home-page .cc-trust-strip small { font-size: 11px; color: var(--pcg-f-muted); }
body.cc-home-page .cc-verified { min-height: 182px; padding: 30px 40px; }
body.cc-home-page .cc-verified h2 { font-size: 32px; color: var(--pcg-f-green) !important; }
body.cc-home-page .cc-verified p { font-size: 13px; color: var(--pcg-f-muted) !important; }
body.cc-home-page .cc-verified-features strong { font-size: 12.5px; color: var(--pcg-f-navy); }
body.cc-home-page .cc-verified-features small { font-size: 10.5px; color: #7f8d97; }

/* ==============================================================
   4. GLOBAL FOOTER — FIX INVISIBLE COPY ON EVERY PUBLIC PAGE
   ============================================================= */
.pcg-premium-v3 .cc-footer {
  margin-top: 0;
  padding: 46px 0 26px;
  background: linear-gradient(135deg,#061a2b 0%,#08263c 100%);
  color: #dbe5ec;
}
.pcg-premium-v3 .cc-footer-grid { gap: 40px; }
.pcg-premium-v3 .cc-footer-brand { color: #fff !important; }
.pcg-premium-v3 .cc-footer-brand strong { font-size: 18px; color: #fff !important; }
.pcg-premium-v3 .cc-footer p { font-size: 13px; line-height: 1.65; color: #b9cad6 !important; }
.pcg-premium-v3 .cc-footer small { font-size: 11px; line-height: 1.5; color: #91a7b8 !important; }
.pcg-premium-v3 .cc-footer h3 { margin-bottom: 11px; font-size: 13px; color: #fff !important; }
.pcg-premium-v3 .cc-footer a:not(.cc-footer-brand) { font-size: 13px; line-height: 1.4; color: #cedae3 !important; margin-block: 5px; }
.pcg-premium-v3 .cc-footer a:not(.cc-footer-brand):hover { color: #fff !important; }
.pcg-premium-v3 .cc-socials span { font-size: 12px; color: #d7e3eb; }
.pcg-premium-v3 .cc-footer-subscribe {
  padding: 18px;
  background: rgba(255,255,255,.055);
  border-color: rgba(255,255,255,.10);
}
.pcg-premium-v3 .cc-footer-subscribe h3 { color: #fff !important; }
.pcg-premium-v3 .cc-footer-subscribe p { font-size: 12px; color: #b9cad6 !important; }
.pcg-premium-v3 .cc-footer-subscribe input { min-height: 40px; height: 40px; font-size: 12.5px; }
.pcg-premium-v3 .cc-footer-subscribe button { min-height: 40px; height: 40px; font-size: 11.5px; color: #fff !important; }
.pcg-premium-v3 .cc-footer-subscribe small { color: #91a7b8 !important; }

/* ==============================================================
   5. SHOPPER DASHBOARD / AUTH — SAME MATURE SCALE
   ============================================================= */
.pcg-premium-v3 .pcg-dashboard-shell { grid-template-columns: 270px minmax(0,1fr); gap: 28px; }
.pcg-premium-v3 .pcg-dashboard-nav { padding: 14px; border-radius: 18px; }
.pcg-premium-v3 .pcg-dashboard-nav a { padding: 13px 15px; font-size: 14.5px; line-height: 1.35; }
.pcg-premium-v3 .pcg-dashboard-main > h1 { font-size: clamp(32px,2.4vw,40px); }
.pcg-premium-v3 .pcg-dashboard-main .pcg-section-head h2 { font-size: 24px; }
.pcg-premium-v3 .pcg-metric { padding: 22px; }
.pcg-premium-v3 .pcg-metric strong { font-size: 30px; }
.pcg-premium-v3 .pcg-metric span { font-size: 13.5px; }
.pcg-premium-v3 .pcg-metric-hint { font-size: 12.5px; }

.pcg-premium-v3 .pcg-auth-shell { max-width: 540px; }
.pcg-premium-v3 .pcg-auth-shell .pcg-form-card { padding: 32px; border-radius: 20px; }
.pcg-premium-v3 .pcg-auth-shell h1 { font-size: 32px; }
.pcg-premium-v3 .pcg-auth-shell p { font-size: 14.5px; }

/* ==============================================================
   6. ADMIN — FULL READABILITY / PREMIUM CONTROL CENTER
   ============================================================= */
.pcg-premium-v3-admin {
  font-family: "Plus Jakarta Sans", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  color: var(--pcg-f-text);
  background: #f4f6f4;
}
.pcg-premium-v3-admin p { font-size: 14.5px; line-height: 1.62; color: var(--pcg-f-muted); }
.pcg-premium-v3-admin small,
.pcg-premium-v3-admin .small { font-size: 12px; line-height: 1.48; }
.pcg-premium-v3-admin .pcg-admin-topbar { height: 72px; padding-inline: 26px; }
.pcg-premium-v3-admin .pcg-admin-topbar-title { font-size: 17px; color: var(--pcg-f-navy); }
.pcg-premium-v3-admin .pcg-admin-view-site,
.pcg-premium-v3-admin .pcg-admin-profile-btn { font-size: 14px; }
.pcg-premium-v3-admin .pcg-admin-shell { grid-template-columns: 260px minmax(0,1fr); min-height: calc(100vh - 72px); }
.pcg-premium-v3-admin .pcg-admin-sidebar { background: linear-gradient(180deg,var(--pcg-f-navy) 0%,#08263c 100%); }
.pcg-premium-v3-admin .pcg-admin-nav-group-toggle { font-size: 12.5px; color: #9cb2c1; }
.pcg-premium-v3-admin .pcg-admin-nav-link { min-height: 43px; padding: 10px 13px; font-size: 14.5px; color: #c0d0db; }
.pcg-premium-v3-admin .pcg-admin-nav-link:hover { color: #fff; background: rgba(255,255,255,.06); }
.pcg-premium-v3-admin .pcg-admin-nav-link[aria-current="page"] { color: #effff8; }
.pcg-premium-v3-admin .pcg-admin-main { width: 100%; max-width: var(--pcg-f-admin-max); margin-inline: auto; padding: 32px 34px 46px; }
.pcg-premium-v3-admin .pcg-admin-page-header h1 { font-size: clamp(31px,2.1vw,36px); }
.pcg-premium-v3-admin .pcg-admin-page-header-desc { font-size: 15px; }
.pcg-premium-v3-admin .pcg-admin-breadcrumb,
.pcg-premium-v3-admin .pcg-admin-breadcrumb a { font-size: 12.5px; }
.pcg-premium-v3-admin .pcg-admin-panel-head h2,
.pcg-premium-v3-admin .pcg-overview-section-head h2,
.pcg-premium-v3-admin .pcg-overview-heading-row h2,
.pcg-premium-v3-admin .pcg-overview-quick h2,
.pcg-premium-v3-admin .pcg-form-section-title { font-size: 19px; line-height: 1.3; }
.pcg-premium-v3-admin .pcg-overview-metric strong,
.pcg-premium-v3-admin .pcg-admin-kpi strong { font-size: 30px; }
.pcg-premium-v3-admin .pcg-overview-metric span,
.pcg-premium-v3-admin .pcg-admin-kpi span { font-size: 14px; }
.pcg-premium-v3-admin .pcg-overview-metric small,
.pcg-premium-v3-admin .pcg-admin-kpi small { font-size: 12px; }
.pcg-premium-v3-admin table,
.pcg-premium-v3-admin .table { font-size: 14px; }
.pcg-premium-v3-admin th,
.pcg-premium-v3-admin .table thead th { font-size: 12.5px; }
.pcg-premium-v3-admin .table > :not(caption) > * > * { padding: 14px 15px; }
.pcg-premium-v3-admin .pcg-field label,
.pcg-premium-v3-admin .form-label { font-size: 14px; }
.pcg-premium-v3-admin .pcg-field input,
.pcg-premium-v3-admin .pcg-field select,
.pcg-premium-v3-admin .pcg-field textarea,
.pcg-premium-v3-admin .form-control,
.pcg-premium-v3-admin .form-select { min-height: 44px; font-size: 14.5px; }
.pcg-premium-v3-admin .pcg-input-help,
.pcg-premium-v3-admin .form-text { font-size: 12.5px; }
.pcg-premium-v3-admin .btn { min-height: 42px; font-size: 13.5px; }
.pcg-premium-v3-admin .pcg-badge { font-size: 11.5px; }
.pcg-premium-v3-admin .pcg-overview-status-label,
.pcg-premium-v3-admin .pcg-overview-row-action,
.pcg-premium-v3-admin .pcg-overview-performance-totals > span,
.pcg-premium-v3-admin .pcg-overview-activity-row time { font-size: 12.5px; }
.pcg-premium-v3-admin .pcg-overview-status-row strong,
.pcg-premium-v3-admin .pcg-overview-attention-row,
.pcg-premium-v3-admin .pcg-overview-activity-row strong { font-size: 14px; }

/* ==============================================================
   7. RESPONSIVE — KEEP TYPE READABLE, PRESERVE WIDTH
   ============================================================= */
@media (max-width: 1599px) and (min-width: 1200px) {
  /* Deliberately no 1420px clamp: this restores the wider pre-v3.3 feel. */
  .pcg-premium-v3 .container,
  .pcg-premium-v3 .container-xxl,
  .pcg-premium-v3 .container-xl,
  .pcg-premium-v3 .container-lg,
  .pcg-premium-v3 .container-md,
  .pcg-premium-v3 .container-sm,
  .pcg-premium-v3 .cc-shell,
  body.cc-home-page .cc-shell {
    width: min(calc(100% - 40px), 1540px);
    max-width: 1540px !important;
  }

  .pcg-premium-v3 .cc-header-inner { gap: 16px; }
  .pcg-premium-v3 .cc-nav { gap: 18px; }
  .pcg-premium-v3 .cc-nav a { font-size: 13.5px; }
  .pcg-premium-v3 .cc-header-search { width: clamp(220px,18vw,285px); flex-basis: 285px; }
  .pcg-premium-v3 .cc-brand-badge { font-size: 11px; padding-inline: 8px; }
  .pcg-premium-v3 .cc-submit { min-width: 118px; padding-inline: 14px; font-size: 13px; }

  body.cc-home-page .cc-hero { grid-template-columns: minmax(390px,.72fr) minmax(0,1.28fr); gap: 30px; }
  body.cc-home-page .cc-hero-copy h1 { font-size: clamp(52px,4.25vw,66px); }
  body.cc-home-page .cc-hero-copy > p { font-size: 15px; }
  body.cc-home-page .cc-benefits { gap: 12px; }
  body.cc-home-page .cc-benefits strong { font-size: 12px; }
  body.cc-home-page .cc-benefits small { font-size: 10.25px; }
  body.cc-home-page .cc-section-head h2 { font-size: 21px; }
  body.cc-home-page .cc-category strong { font-size: 13px; }
  body.cc-home-page .cc-category small { font-size: 10.75px; }
  body.cc-home-page .cc-deal-card h3 { font-size: 14px; }
  body.cc-home-page .cc-deal-card > p { font-size: 12px; }
  body.cc-home-page .cc-store-name,
  body.cc-home-page .cc-score-line { font-size: 10.75px; }
  body.cc-home-page .cc-view-btn { font-size: 11.5px; }
  body.cc-home-page .cc-trend-row strong { font-size: 12px; }
  body.cc-home-page .cc-trend-row small { font-size: 10px; }
  body.cc-home-page .cc-store-line strong { font-size: 12px; }
  body.cc-home-page .cc-store-line small { font-size: 10.5px; }
  body.cc-home-page .cc-offer-main h3 { font-size: 13px; }
  body.cc-home-page .cc-blog-item strong { font-size: 12.5px; }
  body.cc-home-page .cc-blog-item small { font-size: 10.5px; }
  body.cc-home-page .cc-footer p,
  body.cc-home-page .cc-footer a:not(.cc-footer-brand) { font-size: 12.5px; }
}

@media (max-width: 1199px) {
  .pcg-premium-v3 .cc-header-actions { margin-left: auto; }
  .pcg-premium-v3 .cc-brand-badge { display: none; }
  body.cc-home-page .cc-hero { grid-template-columns: 1fr; }
  body.cc-home-page .cc-benefits { max-width: 780px; }
  body.cc-home-page .cc-top-grid,
  body.cc-home-page .cc-middle-grid { grid-template-columns: 1fr; }
  body.cc-home-page .cc-trending { width: 100%; }
  .pcg-premium-v3 .pcg-dashboard-shell { grid-template-columns: 1fr; }
  .pcg-premium-v3-admin .pcg-admin-shell { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .pcg-premium-v3 { font-size: 15px; }
  .pcg-premium-v3 .container,
  .pcg-premium-v3 .container-xxl,
  .pcg-premium-v3 .container-xl,
  .pcg-premium-v3 .container-lg,
  .pcg-premium-v3 .container-md,
  .pcg-premium-v3 .container-sm,
  .pcg-premium-v3 .cc-shell,
  body.cc-home-page .cc-shell { width: min(calc(100% - 28px), 720px); }

  body.cc-home-page .cc-hero-copy h1 { font-size: clamp(42px,12vw,54px); }
  body.cc-home-page .cc-hero-copy > p { font-size: 14.5px; }
  body.cc-home-page .cc-benefits { grid-template-columns: 1fr 1fr; }
  body.cc-home-page .cc-benefits strong { font-size: 12px; }
  body.cc-home-page .cc-benefits small { font-size: 10.5px; }
  body.cc-home-page .cc-section-head h2 { font-size: 20px; }
  body.cc-home-page .cc-category strong { font-size: 13px; }
  body.cc-home-page .cc-category small { font-size: 10.5px; }
  body.cc-home-page .cc-deal-card h3 { font-size: 13px; }
  body.cc-home-page .cc-deal-card > p { font-size: 11.5px; }
  body.cc-home-page .cc-footer-grid { gap: 26px; }
  body.cc-home-page .cc-footer p,
  body.cc-home-page .cc-footer a:not(.cc-footer-brand) { font-size: 12px; }

  .pcg-premium-v3-admin { font-size: 15px; }
  .pcg-premium-v3-admin .pcg-admin-main { padding: 22px 16px 34px; }
  .pcg-premium-v3-admin .pcg-admin-page-header h1 { font-size: 28px; }
  .pcg-premium-v3-admin table,
  .pcg-premium-v3-admin .table { font-size: 13.5px; }
}

/* ==============================================================
   8. COMMERCIAL DARK-SURFACE SAFETY + MICROCOPY FLOOR
   ============================================================= */
/* Generic v3.3 paragraph color must never wash out text on dark commercial blocks. */
.pcg-premium-v3 .pcg-deals-hero h1,
.pcg-premium-v3 .pcg-trust-hero h1,
.pcg-premium-v3 .pcg-newsletter-panel h2 { color: #fff !important; }
.pcg-premium-v3 .pcg-deals-hero-grid > div:first-child > p { color: #bfd0dc !important; }
.pcg-premium-v3 .pcg-trust-hero-copy > p { color: rgba(236,247,249,.82) !important; }
.pcg-premium-v3 .pcg-newsletter-copy > p { color: rgba(235,246,249,.82) !important; font-size: 16px; }
.pcg-premium-v3 .pcg-newsletter-benefits span { font-size: 12px; color: rgba(255,255,255,.9); }
.pcg-premium-v3 .pcg-deals-hero-trust strong { font-size: 12.5px; color: #fff; }
.pcg-premium-v3 .pcg-deals-hero-trust small { font-size: 11.5px; color: #b8c8d3; }
.pcg-premium-v3 .pcg-trust-hero .pcg-breadcrumbs { font-size: 12.5px; color: rgba(232,244,247,.76); }
.pcg-premium-v3 .pcg-trust-eyebrow,
.pcg-premium-v3 .pcg-trust-reviewed,
.pcg-premium-v3 .pcg-trust-principle > span,
.pcg-premium-v3 .pcg-trust-live-stats span,
.pcg-premium-v3 .pcg-trust-live-stats > p,
.pcg-premium-v3 .pcg-trust-help span { font-size: 12px; }
.pcg-premium-v3 .pcg-trust-principle p { font-size: 13px; color: rgba(233,245,247,.72) !important; }

/* Frequently-used microcopy that was still below a premium readability floor. */
.pcg-premium-v3 .pcg-live-pill,
.pcg-premium-v3 .pcg-hero-store-origin,
.pcg-premium-v3 .pcg-hero-score span,
.pcg-premium-v3 .pcg-hero-score small,
.pcg-premium-v3 .pcg-home .pcg-stat-label,
.pcg-premium-v3 .pcg-category-best,
.pcg-premium-v3 .pcg-store-tile-best,
.pcg-premium-v3 .pcg-directory-stats small,
.pcg-premium-v3 .pcg-featured-store-count,
.pcg-premium-v3 .pcg-premium-category-meta span,
.pcg-premium-v3 .pcg-saving-tip-card div > span,
.pcg-premium-v3 .pcg-expiry-countdown > span,
.pcg-premium-v3 .pcg-store-identity-meta span,
.pcg-premium-v3 .pcg-discount-box small,
.pcg-premium-v3 .pcg-authority-tip > span,
.pcg-premium-v3 .pcg-field-error,
.pcg-premium-v3 .pcg-wizard-review-list dt,
.pcg-premium-v3 .pcg-slider-count,
.pcg-premium-v3 .pcg-feedback-question,
.pcg-premium-v3 .pcg-deals-eyebrow,
.pcg-premium-v3 .pcg-deals-toolbar span,
.pcg-premium-v3 .pcg-deal-image-fallback small,
.pcg-premium-v3 .pcg-deal-discount small,
.pcg-premium-v3 .pcg-deal-expiry,
.pcg-premium-v3 .pcg-deal-store small,
.pcg-premium-v3 .pcg-deal-verified,
.pcg-premium-v3 .pcg-deal-review-status,
.pcg-premium-v3 .pcg-deal-price-row small,
.pcg-premium-v3 .pcg-deal-price-row del,
.pcg-premium-v3 .pcg-deal-trust-row > span,
.pcg-premium-v3 .pcg-deal-feedback > span,
.pcg-premium-v3 .pcg-deal-feedback button,
.pcg-premium-v3 .pcg-premium-pagination p,
.pcg-premium-v3 .pcg-pagination-links a,
.pcg-premium-v3 .pcg-pagination-links > span,
.pcg-premium-v3 .pcg-newsletter-consent,
.pcg-premium-v3 .pcg-newsletter-fineprint,
.pcg-premium-v3 .pcg-newsletter-error,
.pcg-premium-v3 .pcg-newsletter-message,
.pcg-premium-v3 .pcg-trust-toc > span,
.pcg-premium-v3 .pcg-trust-toc a,
.pcg-premium-v3 .pcg-trust-toc a span,
.pcg-premium-v3 .pcg-trust-item p,
.pcg-premium-v3 .pcg-trust-callout p,
.pcg-premium-v3 .pcg-trust-related > span,
.pcg-premium-v3 .pcg-trust-related a { font-size: 12px; }

.pcg-premium-v3 .pcg-deal-actions .btn,
.pcg-premium-v3 .pcg-newsletter-input-row button { font-size: 13px; }
.pcg-premium-v3 .pcg-newsletter-form-card > p { font-size: 13px; }
.pcg-premium-v3 .pcg-newsletter-input-row input { font-size: 14px; }

/* Filled CTAs must always retain white labels, even when rendered as <a>. */
.pcg-premium-v3 a.btn-pcg-green,
.pcg-premium-v3 .btn-pcg-green,
.pcg-premium-v3 a.btn-success,
.pcg-premium-v3 .btn-success { color: #fff !important; }

/* Admin tiny-status components. */
.pcg-premium-v3-admin .pcg-admin-profile-role,
.pcg-premium-v3-admin .pcg-metric-hint,
.pcg-premium-v3-admin .pcg-input-help,
.pcg-premium-v3-admin .pcg-field-optional,
.pcg-premium-v3-admin .pcg-integration-status-grid span,
.pcg-premium-v3-admin .pcg-connection-note,
.pcg-premium-v3-admin .pcg-security-callout span,
.pcg-premium-v3-admin .pcg-overview-live,
.pcg-premium-v3-admin .pcg-overview-attention-count,
.pcg-premium-v3-admin .pcg-overview-empty-activity span,
.pcg-premium-v3-admin .pcg-newsletter-admin-stats article div > span,
.pcg-premium-v3-admin .pcg-newsletter-status { font-size: 12px; }
.pcg-premium-v3-admin .pcg-security-callout span { color: rgba(255,255,255,.82); }

/* Additional contrast guards for mature commercial content blocks. */
.pcg-premium-v3 .pcg-directory-hero-panel h1 { color: #fff !important; }
.pcg-premium-v3 .pcg-directory-hero-panel p,
.pcg-premium-v3 .pcg-directory-hero-copy > p { color: #c6d2dc !important; }
.pcg-premium-v3 .pcg-authority-summary h2,
.pcg-premium-v3 .pcg-authority-summary h3 { color: #fff !important; }
.pcg-premium-v3 .pcg-authority-summary p { color: #d8e4ec !important; }
.pcg-premium-v3 .pcg-trust-help h2 { color: #fff !important; }
.pcg-premium-v3 .pcg-trust-help p { color: rgba(235,246,248,.78) !important; font-size: 13px; }
