/* Paper cards — dashboard-style layout (browse + dashboard) */

body.landing-page {
  --paper-card-radius: var(--radius, 16px);
  --paper-primary: var(--blue, #0066ff);
  --paper-primary-dark: var(--blue-dark, #0052cc);
  --paper-success: var(--teal, #00b894);
  --paper-warning: #f59e0b;
  --paper-border: var(--border, #e2e8f0);
  --paper-shadow: var(--shadow, 0 4px 24px rgba(10, 37, 64, 0.08));
  --paper-shadow-lg: var(--shadow-lg, 0 12px 40px rgba(10, 37, 64, 0.12));
}

.papers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 24px;
  width: 100%;
  max-width: 100%;
}

.paper-card {
  background: #fff;
  border-radius: var(--paper-card-radius);
  overflow: hidden;
  box-shadow: var(--paper-shadow);
  transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
  border: 1px solid var(--paper-border);
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.paper-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--paper-shadow-lg);
  border-color: #c5d4e8;
}

.paper-image-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.paper-image {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #f0f7ff 0%, #e8f2ff 100%);
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.paper-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  transition: transform 0.3s;
}

.paper-image-link:hover .paper-image img {
  transform: scale(1.03);
}

.subject-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 5px 12px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #fff;
  text-transform: capitalize;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  z-index: 2;
}

.subject-badge.Maths {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
}

.subject-badge.English {
  background: linear-gradient(135deg, #ec4899, #db2777);
}

.subject-badge.VR,
.subject-badge.Verbal {
  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
}

.paper-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: linear-gradient(135deg, var(--paper-success), #059669);
  color: #fff;
  padding: 5px 12px;
  border-radius: 20px;
  font-size: 0.7rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 5px;
  box-shadow: 0 2px 8px rgba(0, 184, 148, 0.3);
  z-index: 2;
}

.paper-badge.paper-badge-price {
  background: linear-gradient(135deg, var(--paper-primary), var(--paper-primary-dark));
  box-shadow: 0 2px 8px rgba(0, 102, 255, 0.3);
}

.paper-card-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 102, 255, 0.92);
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
}

.paper-content {
  padding: 18px 20px 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.paper-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--navy, #0a2540);
  margin: 0 0 8px;
  line-height: 1.35;
  overflow-wrap: break-word;
}

.paper-card .paper-title a,
.paper-card .paper-title a:hover,
.paper-card .paper-title a:focus,
.paper-card .paper-title a:active {
  color: inherit;
  text-decoration: none !important;
  border-bottom: none;
  box-shadow: none;
}

.paper-card .paper-title a:hover {
  color: var(--paper-primary, #0066ff);
}

.paper-meta {
  font-size: 0.875rem;
  color: var(--text-muted, #5a6b7d);
  margin-bottom: 12px;
  line-height: 1.5;
}

.paper-meta strong {
  color: var(--navy, #0a2540);
  font-weight: 600;
}

.paper-price-bar {
  background: #f0f7ff;
  padding: 10px 14px;
  border-radius: 8px;
  margin-bottom: 12px;
  border-left: 3px solid var(--paper-primary);
  font-size: 0.875rem;
  color: var(--text-muted, #5a6b7d);
}

.paper-price-bar strong,
.paper-price-bar .price-value {
  color: var(--navy, #0a2540);
  font-weight: 700;
}

.paper-price-bar.is-free {
  background: #e6f9f5;
  border-left-color: var(--paper-success);
}

/* Browse /papers — prominent price */
.paper-price-prominent {
  display: block;
  background: linear-gradient(135deg, #f0f7ff 0%, #e8f4ff 100%);
  border: 1px solid #c5d9f5;
  border-radius: var(--radius-sm, 12px);
  padding: 16px 18px;
  margin: 12px 0 16px;
  text-align: center;
}

.paper-price-amount {
  display: block;
  font-family: var(--font-serif, 'DM Serif Display', Georgia, serif);
  font-size: 2.5rem;
  font-weight: 400;
  color: var(--paper-primary, #0066ff);
  line-height: 1;
  letter-spacing: -0.03em;
}

.paper-price-prominent.is-free {
  background: linear-gradient(135deg, #e6f9f5 0%, #d4f5ef 100%);
  border-color: #a7e8d8;
}

.paper-price-prominent.is-free .paper-price-amount {
  color: var(--paper-success, #00b894);
  font-size: 2.25rem;
  font-weight: 700;
  font-family: var(--font-sans, 'Inter', sans-serif);
}

.paper-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid var(--paper-border);
  margin-top: auto;
}

/* Dashboard owned cards — bottom icon toolbar */
.paper-card--dashboard-owned {
  display: flex;
  flex-direction: column;
}

.paper-card--dashboard-owned > .paper-content,
.paper-card--dashboard-owned.paper-card--subject-v2 {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.paper-card--dashboard-owned .paper-content--subject-v2-owned {
  padding: 12px 0 0;
  display: flex;
  flex-direction: column;
}

.paper-card--dashboard-owned .paper-content:not(.paper-content--subject-v2-owned) {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.paper-card-toolbar {
  display: flex;
  align-items: stretch;
  margin-top: auto;
  border-top: 1px solid var(--paper-border);
  background: #f8fafc;
}

.paper-card--subject-v2.paper-card--dashboard-owned .paper-card-toolbar {
  margin-top: 12px;
  border-radius: 0 0 var(--radius-sm, 12px);
}

.paper-card-toolbar-btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 8px;
  border: none;
  border-right: 1px solid var(--paper-border);
  background: transparent;
  color: var(--navy, #0a2540);
  font-size: 1.125rem;
  line-height: 1;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}

.paper-card-toolbar-btn:last-child {
  border-right: none;
}

.paper-card-toolbar-btn:hover {
  background: #eff6ff;
  color: var(--paper-primary, #0066ff);
  text-decoration: none;
}

.paper-card-toolbar-btn--archive:hover {
  background: #f1f5f9;
  color: #64748b;
}

.paper-card--dashboard-owned .paper-actions {
  display: none;
}

.btn-round {
  width: 100%;
  padding: 12px 20px;
  border-radius: 50px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  font-family: inherit;
  box-sizing: border-box;
}

.btn-round:hover {
  transform: translateY(-1px);
  text-decoration: none;
}

.btn-print {
  background: var(--paper-primary);
  color: #fff;
  box-shadow: 0 2px 8px rgba(0, 102, 255, 0.25);
}

.btn-print:hover {
  background: var(--paper-primary-dark);
  color: #fff;
  box-shadow: 0 4px 14px rgba(0, 102, 255, 0.35);
}

.btn-access {
  background: #fff;
  color: var(--paper-primary);
  border: 2px solid var(--paper-primary);
}

.btn-access:hover {
  background: var(--paper-primary);
  color: #fff;
}

.btn-cart {
  background: var(--paper-primary);
  color: #fff;
  box-shadow: 0 2px 8px rgba(0, 102, 255, 0.25);
}

.btn-cart:hover {
  background: var(--paper-primary-dark);
  color: #fff;
}

.btn-cart.is-in-cart,
.other-added-to-cart .btn-round {
  background: var(--paper-success);
  color: #fff;
  cursor: default;
  pointer-events: none;
  box-shadow: 0 2px 8px rgba(0, 184, 148, 0.25);
}

.other-add-to-cart,
.other-added-to-cart {
  width: 100%;
}

/* Revamped subject cards — Maths & English (browse + dashboard) */
.paper-card--maths,
.paper-card--english {
  overflow: hidden;
}

.paper-card--maths .paper-card-hero-link,
.paper-card--english .paper-card-hero-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.paper-card--maths .paper-card-hero,
.paper-card--english .paper-card-hero {
  position: relative;
  min-height: 168px;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.paper-card--maths .paper-card-hero--banner,
.paper-card--english .paper-card-hero--banner {
  padding: 0;
  display: block;
  background: none;
  overflow: hidden;
}

.paper-card--maths .paper-card-hero-img,
.paper-card--english .paper-card-hero-img {
  display: block;
  width: 100%;
  min-height: 168px;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center center;
}

.paper-card--maths .paper-card-hero-badge,
.paper-card--english .paper-card-hero-badge {
  position: absolute;
  z-index: 2;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  border-radius: 999px;
  padding: 6px 12px;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-transform: uppercase;
}

.paper-card--maths .paper-card-hero-badge--subject,
.paper-card--english .paper-card-hero-badge--subject {
  top: 12px;
  left: 12px;
  color: #fff;
  text-transform: capitalize;
}

.paper-card--maths .paper-card-hero-badge--subject {
  background: var(--paper-primary);
  box-shadow: 0 2px 8px rgba(0, 102, 255, 0.35);
}

.paper-card--english .paper-card-hero-badge--subject {
  background: linear-gradient(135deg, #10b981, #047857);
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.35);
}

.paper-card--maths .paper-card-hero-badge--status,
.paper-card--english .paper-card-hero-badge--status {
  top: 12px;
  right: 12px;
  left: auto;
  max-width: calc(100% - 100px);
  text-align: right;
}

.paper-card--maths .paper-card-hero-badge--marking,
.paper-card--english .paper-card-hero-badge--marking {
  background: linear-gradient(135deg, var(--gold, #f5a623), #e09510);
  color: #fff;
  box-shadow: 0 2px 8px rgba(245, 166, 35, 0.35);
}

.paper-card--maths .paper-card-hero-badge--done,
.paper-card--english .paper-card-hero-badge--done {
  background: linear-gradient(135deg, var(--paper-success), #059669);
  color: #fff;
}

.paper-card--maths .paper-card-hero-badge--free,
.paper-card--maths .paper-card-hero-badge--cart,
.paper-card--english .paper-card-hero-badge--free,
.paper-card--english .paper-card-hero-badge--cart {
  background: linear-gradient(135deg, var(--paper-success), #059669);
  color: #fff;
}

.paper-card--maths .paper-school-row,
.paper-card--english .paper-school-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.paper-card--maths .paper-school-icon-wrap,
.paper-card--english .paper-school-icon-wrap {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.paper-card--maths .paper-school-icon-wrap {
  background: #f0f7ff;
}

.paper-card--english .paper-school-icon-wrap {
  background: #ecfdf5;
}

.paper-card--maths .paper-school-icon-wrap img,
.paper-card--english .paper-school-icon-wrap img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.paper-card--maths .paper-school-text,
.paper-card--english .paper-school-text {
  min-width: 0;
  flex: 1;
}

.paper-card--maths .paper-school-label,
.paper-card--english .paper-school-label {
  display: block;
  font-size: 0.75rem;
  color: var(--text-muted, #5a6b7d);
  margin-bottom: 2px;
}

.paper-card--maths .paper-school-name,
.paper-card--english .paper-school-name {
  display: block;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--navy, #0a2540);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.paper-card--maths .paper-card-status,
.paper-card--english .paper-card-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: var(--radius-sm, 12px);
  margin-bottom: 14px;
  font-size: 0.875rem;
}

.paper-card--maths .paper-card-status--active,
.paper-card--english .paper-card-status--active {
  background: #fff8eb;
  border: 1px solid #fde68a;
}

.paper-card--maths .paper-card-status--active .paper-card-status-label,
.paper-card--english .paper-card-status--active .paper-card-status-label {
  color: #b45309;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.paper-card--maths .paper-card-status--active .paper-card-status-meta,
.paper-card--english .paper-card-status--active .paper-card-status-meta {
  color: var(--navy, #0a2540);
  font-weight: 700;
  padding-left: 12px;
  border-left: 1px solid #fde68a;
}

.paper-card--maths .paper-card-status--done,
.paper-card--english .paper-card-status--done {
  background: #e6f9f5;
  border: 1px solid #a7e8d8;
}

.paper-card--maths .paper-card-status--done .paper-card-status-label,
.paper-card--english .paper-card-status--done .paper-card-status-label {
  color: var(--paper-success);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.paper-card--maths .paper-card-status--done .paper-card-status-meta,
.paper-card--english .paper-card-status--done .paper-card-status-meta {
  color: var(--navy, #0a2540);
  font-weight: 700;
}

.paper-card--maths .btn-print i,
.paper-card--english .btn-print i {
  font-size: 1.125rem;
  flex-shrink: 0;
  color: #fff;
}

.paper-card--maths .btn-print,
.paper-card--english .btn-print {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.paper-card--maths .paper-actions .btn-round,
.paper-card--english .paper-actions .btn-round {
  border-radius: 10px;
}

/* Browse purchase band (Maths & English) */
.paper-card--maths .paper-card-divider,
.paper-card--english .paper-card-divider {
  height: 1px;
  background: var(--paper-border);
  margin: 0 0 14px;
}

.paper-card--maths .paper-purchase-band,
.paper-card--english .paper-purchase-band {
  display: flex;
  align-items: stretch;
  gap: 0;
  background: linear-gradient(135deg, #f0f7ff 0%, #e8f4ff 100%);
  border: 1px solid #c5d9f5;
  border-radius: var(--radius-sm, 12px);
  margin-bottom: 14px;
  overflow: hidden;
}

.paper-card--english .paper-purchase-band {
  background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
  border-color: #a7e8d8;
}

.paper-card--maths .paper-purchase-band--free,
.paper-card--english .paper-purchase-band--free {
  background: linear-gradient(135deg, #e6f9f5 0%, #d4f5ef 100%);
  border-color: #a7e8d8;
}

.paper-card--maths .paper-purchase-price,
.paper-card--english .paper-purchase-price {
  flex: 0 0 42%;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid #c5d9f5;
}

.paper-card--english .paper-purchase-price {
  border-right-color: #a7e8d8;
}

.paper-card--english .paper-purchase-band--free .paper-purchase-price,
.paper-card--maths .paper-purchase-band--free .paper-purchase-price {
  border-right-color: #a7e8d8;
}

.paper-card--maths .paper-purchase-price-label,
.paper-card--english .paper-purchase-price-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--paper-primary);
  margin-bottom: 4px;
}

.paper-card--english .paper-purchase-price-label {
  color: #059669;
}

.paper-card--maths .paper-purchase-price-amount,
.paper-card--english .paper-purchase-price-amount {
  font-family: var(--font-serif, 'DM Serif Display', Georgia, serif);
  font-size: 2.25rem;
  font-weight: 400;
  color: var(--paper-primary);
  line-height: 1;
  letter-spacing: -0.03em;
}

.paper-card--english .paper-purchase-price-amount {
  color: #047857;
}

.paper-card--maths .paper-purchase-band--free .paper-purchase-price-amount,
.paper-card--english .paper-purchase-band--free .paper-purchase-price-amount {
  color: var(--paper-success);
  font-family: var(--font-sans, 'Inter', sans-serif);
  font-weight: 700;
}

.paper-card--maths .paper-purchase-perks,
.paper-card--english .paper-purchase-perks {
  flex: 1;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  min-width: 0;
}

.paper-card--maths .paper-purchase-perk,
.paper-card--english .paper-purchase-perk {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--navy, #0a2540);
  line-height: 1.35;
}

.paper-card--maths .paper-purchase-perk i,
.paper-card--english .paper-purchase-perk i {
  color: var(--paper-primary);
  font-size: 1rem;
  flex-shrink: 0;
  width: 18px;
  text-align: center;
}

.paper-card--english .paper-purchase-perk i {
  color: #059669;
}

.paper-card--maths .paper-actions--purchase,
.paper-card--english .paper-actions--purchase {
  padding-top: 0;
  border-top: none;
  margin-top: 0;
}

.paper-card--maths .paper-purchase-btn,
.paper-card--english .paper-purchase-btn {
  border-radius: 10px;
  padding: 14px 20px;
  font-size: 1rem;
  font-weight: 700;
  width: 100%;
}

.paper-card--maths .paper-purchase-btn.btn-cart,
.paper-card--english .paper-purchase-btn.btn-cart {
  box-shadow: 0 4px 14px rgba(0, 102, 255, 0.35);
}

.paper-card--maths .paper-purchase-btn.btn-cart:hover,
.paper-card--english .paper-purchase-btn.btn-cart:hover {
  box-shadow: 0 6px 18px rgba(0, 102, 255, 0.4);
}

.paper-card--maths .paper-content,
.paper-card--english .paper-content {
  padding-bottom: 20px;
}

/* Subject v2 cards (Maths & English) — white panel + V-cut footer */
.paper-card--subject-v2 {
  --subject-v2-primary: #1a2b56;
  --subject-v2-deep: #152347;
  --subject-v2-accent-end: var(--paper-primary, #0066ff);
  position: relative;
  border-color: #d5dce8;
  box-shadow: 0 8px 28px rgba(26, 43, 86, 0.1);
}

.paper-card--english.paper-card--subject-v2 {
  --subject-v2-primary: #065f46;
  --subject-v2-deep: #064e3b;
  --subject-v2-accent-end: #10b981;
  box-shadow: 0 8px 28px rgba(6, 95, 70, 0.1);
}

.paper-card--subject-v2 .paper-card-maths-preview {
  position: relative;
  display: block;
}

.paper-card-maths-white-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.paper-card-maths-white-link:hover {
  text-decoration: none;
  color: inherit;
}

.paper-card-maths-white-link:hover .paper-card-maths-title {
  color: var(--paper-primary);
}

.paper-card--english.paper-card--subject-v2 .paper-card-maths-white-link:hover .paper-card-maths-title {
  color: var(--subject-v2-accent-end, #10b981);
}

.paper-card--subject-v2 .paper-card-maths-tab {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 6;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 72px;
  height: 72px;
  min-width: 72px;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  background: var(--subject-v2-primary, #1a2b56);
  color: #fff;
  border-radius: 0 0 0 12px;
  line-height: 1.05;
  pointer-events: none;
}

.paper-card-maths-tab-line {
  display: block;
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.paper-card-maths-white {
  position: relative;
  z-index: 1;
  background: #fff;
  padding: 14px 16px 16px;
  padding-right: 80px;
}

.paper-card-maths-white-head {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.paper-card-maths-school {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.paper-card-maths-school-icon {
  width: 32px;
  height: 32px;
  object-fit: contain;
  flex-shrink: 0;
}

.paper-card-maths-school-name {
  font-size: 0.875rem;
  font-weight: 800;
  color: var(--subject-v2-primary, #1a2b56);
  line-height: 1.2;
}

.paper-card-maths-title {
  margin: 3.5rem 0 0;
  font-size: 1.125rem;
  font-weight: 800;
  color: var(--subject-v2-primary, #1a2b56);
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.paper-card-maths-title a {
  color: inherit;
  text-decoration: none;
}

.paper-card-maths-title a:hover {
  color: var(--paper-primary);
  text-decoration: none;
}

.paper-card-maths-title-accent {
  display: block;
  width: 56px;
  height: 3px;
  margin: 8px 0 10px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--subject-v2-primary, #1a2b56) 0%, var(--subject-v2-accent-end, #0066ff) 100%);
}

.paper-card-maths-features {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.paper-card-maths-features li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--subject-v2-primary, #1a2b56);
  line-height: 1.3;
}

.paper-card-maths-feature-icon {
  width: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.9rem;
  color: var(--subject-v2-primary, #1a2b56);
  border: none;
  border-radius: 0;
}

.paper-card-maths-navy {
  position: relative;
  overflow: hidden;
  background-color: var(--subject-v2-deep, #152347);
  clip-path: polygon(0 16px, 50% 0, 100% 16px, 100% 100%, 0 100%);
  margin-top: -1px;
}

.paper-card-maths-footer-img {
  display: block;
  width: 100%;
  height: 200px;
  min-height: 200px;
  object-fit: cover;
  object-position: center center;
}

.paper-card-maths-status-badges {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 6;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  max-width: calc(100% - 88px);
  pointer-events: none;
}

/* Dashboard owned cards: status pill on navy footer (not over school name) */
.paper-card--dashboard-owned .paper-card-maths-preview .paper-card-maths-status-badges {
  top: auto;
  bottom: 14px;
  left: 12px;
  max-width: calc(100% - 96px);
  z-index: 6;
}

.paper-card-maths-status-badges .paper-card-hero-badge {
  position: static;
  top: auto;
  right: auto;
  left: auto;
  max-width: 100%;
  font-size: 0.625rem;
  padding: 5px 10px;
  white-space: nowrap;
}

.paper-card--dashboard-owned .paper-card-maths-white-link {
  cursor: pointer;
}

.paper-card--dashboard-owned .paper-card-maths-white-link:hover .paper-card-maths-title {
  color: var(--paper-primary);
}

.paper-card--english.paper-card--dashboard-owned .paper-card-maths-white-link:hover .paper-card-maths-title {
  color: var(--subject-v2-accent-end, #10b981);
}

.paper-card-maths-download {
  position: absolute;
  right: 12px;
  bottom: 10px;
  z-index: 5;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: #fff;
  color: var(--subject-v2-primary, #1a2b56);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.26);
  transition: transform 0.2s, box-shadow 0.2s;
  text-align: center;
  padding: 8px 6px;
}

.paper-card-maths-download:hover {
  transform: scale(1.04);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.3);
  color: var(--subject-v2-primary, #1a2b56);
  text-decoration: none;
}

.paper-card-maths-download i {
  font-size: 1.2rem;
}

.paper-card-maths-download span {
  font-size: 0.4375rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.15;
  text-transform: none;
  max-width: 68px;
}

.paper-card--subject-v2 .paper-content--subject-v2-purchase,
.paper-card--subject-v2 .paper-content--subject-v2-owned {
  padding: 12px 16px 16px;
  overflow: visible;
}

.paper-card--subject-v2 .paper-content--subject-v2-owned .paper-card-status {
  flex-shrink: 0;
  overflow: visible;
}

.paper-card--subject-v2 .paper-content--subject-v2-purchase .paper-card-divider {
  margin-top: 0;
}

.paper-card--subject-v2 .paper-title {
  display: none;
}

.paper-card--subject-v2 .paper-school-row {
  display: none;
}

@media (max-width: 768px) {
  .papers-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .paper-image {
    height: 160px;
  }

  .paper-card--maths .paper-card-hero-img,
  .paper-card--english .paper-card-hero-img {
    min-height: 140px;
    aspect-ratio: 16 / 9;
  }

  .paper-card--maths .paper-card-hero-badge--status,
  .paper-card--english .paper-card-hero-badge--status {
    font-size: 0.625rem;
    padding: 5px 8px;
  }

  .paper-card--maths .paper-purchase-price,
  .paper-card--english .paper-purchase-price {
    flex: 1 1 auto;
    border-right: none;
    border-bottom: 1px solid #c5d9f5;
  }

  .paper-card--english .paper-purchase-price {
    border-bottom-color: #a7e8d8;
  }

  .paper-card--maths .paper-purchase-band,
  .paper-card--english .paper-purchase-band {
    flex-direction: column;
  }

  .paper-card--maths .paper-purchase-price-amount,
  .paper-card--english .paper-purchase-price-amount {
    font-size: 2rem;
  }

  .paper-card-maths-white {
    padding: 12px 14px 14px;
    padding-right: 74px;
  }

  .paper-card-maths-title {
    font-size: 1.05rem;
  }

  .paper-card-maths-footer-img {
    height: 168px;
    min-height: 168px;
  }

  .paper-card-maths-download {
    width: 64px;
    height: 64px;
    right: 10px;
    bottom: 8px;
  }

  .paper-card-maths-navy {
    clip-path: polygon(0 12px, 50% 0, 100% 12px, 100% 100%, 0 100%);
  }
}
