[hidden] { display:none !important; }
nav { display:flex; gap:12px; align-items:center; font-size:14px; white-space:nowrap; }
nav a { text-decoration:none; }
#vue-app .search-panel { max-height:calc(100vh - 48px); overflow-y:auto; scrollbar-width:thin; }
.more-filters { grid-column:1/-1; color:var(--theme-muted); font-size:13px; }
.more-filters summary { display:flex; justify-content:space-between; align-items:center; cursor:pointer; list-style:none; }
.more-filters summary::-webkit-details-marker { display:none; }
.more-filters[open] .disclosure-icon { transform:rotate(45deg); }
.extra-fields { display:grid; gap:16px; padding-top:16px; }
#vue-app .promotion-card .card-heading { grid-template-columns:minmax(0,1fr) minmax(90px,25%); }
#vue-app .promotion-total { display:flex; flex-direction:column; align-items:flex-end; justify-content:flex-start; gap:0; overflow-wrap:anywhere; }
#vue-app .promotion-total .saving-amount { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
#vue-app .promotion-card .applied-offer { grid-template-columns:minmax(0,1fr); }
#vue-app .promotion-card .card-meta { display:inline-flex; width:fit-content; margin:0 0 12px; padding:4px 8px; border-radius:3px; color:var(--theme-label-category-ink); background:var(--theme-label-category-bg); font-size:12px; font-weight:650; }
#vue-app .promotion-card .eligibility-label--dated { color:var(--theme-label-period-ink); background:var(--theme-label-period-bg); }
#vue-app .promotion-card .eligibility-label--future { color:var(--theme-label-upcoming-ink); background:var(--theme-label-upcoming-bg); }
#vue-app .promotion-card .eligibility-label--unstated { color:var(--theme-label-neutral-ink); background:var(--theme-label-neutral-bg); }
#vue-app .promotion-card .eligibility-label--review { color:var(--theme-label-review-ink); background:var(--theme-label-review-bg); }
#vue-app .conditions-label { color:var(--theme-label-condition-ink); background:var(--theme-label-condition-bg); }
#vue-app .promotion-card .eligibility { display:flex; flex-wrap:wrap; }
.promotion-cards { font-size:13px; color:var(--theme-accent); margin-top:6px !important; overflow-wrap:anywhere; }
.promotion-cards a { text-underline-offset:3px; }
.promotion-footer { display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; padding:4px 20px 16px; font-size:12px; color:var(--theme-muted); }
.promotion-footer a { font-weight:600; color:var(--theme-accent) !important; }
.pagination { display:flex; justify-content:center; align-items:center; gap:20px; margin-top:28px; font-size:14px; }
.pagination button { border:1px solid var(--theme-primary); border-radius:999px; background:transparent; color:var(--theme-ink); padding:10px 18px; box-shadow:none; cursor:pointer; }
.pagination button:hover:not(:disabled) { background:var(--theme-primary); color:var(--theme-on-primary); }
.pagination button:disabled { opacity:.45; cursor:default; }
#vue-app .offer-merchants { flex-wrap:wrap; overflow:visible; }
#vue-app .offer-merchant { white-space:normal; max-width:100%; overflow-wrap:anywhere; }
@media(max-width:720px) {
  nav { font-size:13px; }
  #vue-app .search-panel { max-height:none; overflow:visible; }
}

.result-controls { display:flex; align-items:center; justify-content:flex-end; gap:18px; margin-left:auto; }
.savings-toggle { display:flex; align-items:center; gap:8px; color:var(--theme-muted); font-size:13px; cursor:pointer; }
#vue-app #savings-only { appearance:none; flex:0 0 36px; width:36px; min-height:22px; height:22px; padding:3px; margin:0; border-radius:999px; background:var(--theme-accent-muted); box-shadow:none; cursor:pointer; }
#vue-app #savings-only::before { content:''; display:block; width:16px; height:16px; border-radius:50%; background:var(--theme-surface); }
#vue-app #savings-only:checked { background:var(--brand); }
#vue-app #savings-only:checked::before { transform:translateX(14px); }
@media(max-width:720px) { .result-controls { width:100%; justify-content:space-between; } }
@media(max-width:520px) {
  .purchase-form { grid-template-columns:minmax(0,1fr) auto; }
  .purchase-form > .form-field, .purchase-form > .compare-button { grid-column:1/-1; }
  .more-filters { grid-column:1; align-self:center; }
  .more-filters summary { justify-content:flex-start; gap:8px; }
  .result-controls { align-items:stretch; flex-wrap:wrap; gap:10px; }
  #vue-app .promotion-card .card-heading { grid-template-columns:1fr; }
  #vue-app .promotion-total { flex-direction:row; align-items:baseline; justify-content:flex-start; gap:6px; }
}

#vue-app .promotion-card .offer-cashback-badge { margin:0 6px 0 0; padding:0; border-radius:0; color:var(--theme-muted); background:transparent; font-size:12px; font-weight:600; }
#vue-app .promotion-card .offer-value-details { margin-top:3px !important; font-size:12px; }
#vue-app .promotion-card .offer-min-spend-badge { padding:0; border-radius:0; color:var(--theme-muted); background:transparent; font-weight:600; }
#vue-app .promotion-card .offer-merchants { display:flex; align-items:baseline; gap:4px 10px; margin-top:4px; color:var(--theme-muted); font-size:12px; }
#vue-app .promotion-card .offer-merchant-note { color:var(--theme-muted); font-size:inherit; font-weight:600; }

#vue-app .promotion-card .offer-title-line { display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
#vue-app .promotion-card .card-meta { margin-bottom:8px; }

/* Short offer labels share one line and wrap as complete chips. */
#vue-app .promotion-card .offer-badges { display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; }
#vue-app .promotion-card .offer-badges > span { display:inline-flex; align-items:center; max-width:100%; margin:0; padding:3px 7px; border-radius:3px; font-size:12px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
#vue-app .promotion-card .offer-badges > .offer-cashback-badge { color:var(--theme-label-cashback-ink); background:var(--theme-label-cashback-bg); }
#vue-app .promotion-card .offer-badges > .offer-requirements { color:var(--theme-label-neutral-ink); background:var(--theme-label-neutral-bg); }
#vue-app .promotion-card .offer-badges > .offer-eligibility { color:var(--theme-label-review-ink); background:var(--theme-label-review-bg); }
#vue-app .promotion-card .offer-badges > .offer-min-spend-badge { color:var(--theme-label-min-spend-ink); background:var(--theme-label-min-spend-bg); }
#vue-app .promotion-card .offer-badges > .offer-cap-badge { color:var(--theme-label-period-ink); background:var(--theme-label-period-bg); }

#vue-app .promotion-card .applied-offers > .offer-badges { margin-top:0; }

#vue-app .promotion-card .offer-badges > .conditions-label { color:var(--theme-label-condition-ink); background:var(--theme-label-condition-bg); }
