/* FY27 client feedback pass — 6 August 2026
   Loaded last so this remains a small, reviewable layer over the existing
   campaign system. */

/* Early participation bridge */
.campaign-quick-actions {
  padding: clamp(28px, 4vw, 52px) clamp(18px, 4vw, 64px);
  color: var(--text-primary);
  background: var(--bg-page);
  border-bottom: 1px solid var(--border-subtle);
}

.campaign-quick-actions-inner {
  max-width: 1380px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(24px, 5vw, 80px);
}

.campaign-quick-actions-kicker {
  margin: 0 0 10px;
  color: var(--text-accent);
  font-size: clamp(0.75rem, 1vw, 0.9rem);
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.campaign-quick-actions h2 {
  max-width: 780px;
  margin: 0;
  color: var(--text-primary);
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.2vw, 3.8rem);
  line-height: 1.02;
}

.campaign-quick-actions-copy > p:last-child {
  max-width: 760px;
  margin: 14px 0 0;
  color: var(--text-secondary);
  line-height: 1.65;
}

.campaign-quick-actions-links {
  min-width: min(100%, 250px);
  display: grid;
  gap: 10px;
}

.campaign-quick-actions-links a {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 13px 18px;
  border-radius: 6px;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-decoration: none;
  text-transform: uppercase;
}

.campaign-quick-action-primary {
  color: #171e1a;
  background: var(--yellow);
}

.campaign-quick-action-secondary {
  color: var(--text-primary);
  border: 1px solid var(--border-strong);
  background: var(--bg-card);
}

/* One consistent border system: no suburb-specific coloured frames. */
.suburb-tile,
.suburb-tile:hover,
.suburb-tile:focus-visible {
  border-color: var(--border-medium) !important;
}

.suburb-tile:hover,
.suburb-tile:focus-visible {
  box-shadow: var(--shadow-card-hover);
}

.tile-accent-bar {
  display: none !important;
}

/* Prize proposition is a primary campaign message, not a small eyebrow. */
.ps-header {
  max-width: 1380px;
  margin-inline: auto;
}

.ps-kicker {
  max-width: 920px;
  color: var(--text-primary) !important;
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 4.6rem) !important;
  font-weight: 700;
  letter-spacing: -0.035em !important;
  line-height: 0.98;
  text-transform: none !important;
}

.ps-sub {
  margin-top: 14px;
  color: var(--text-secondary);
  font-size: clamp(1rem, 1.4vw, 1.25rem);
}

/* Budget chapter now appears directly after the opening actions. */
.heritage-budget-section--early {
  margin: 0;
  border-block: 1px solid var(--border-subtle);
}

/* Clearer, more certain estimate language and accessible accent colour. */
:root[data-theme="light"] .worthish-accent,
:root[data-theme="light"] .worthish-beds-highlight,
:root[data-theme="light"] .entry-label-badge,
:root[data-theme="light"] .ig-entry-earned {
  color: #006f76 !important;
}

:root[data-theme="dark"] .worthish-accent,
:root[data-theme="dark"] .worthish-beds-highlight,
:root[data-theme="dark"] .entry-label-badge,
:root[data-theme="dark"] .ig-entry-earned {
  color: #ffe512 !important;
}

/* Keep the property chapter light and editorial in the default theme. */
:root[data-theme="light"] .property-showcase-section {
  color: #171e1a;
  background:
    radial-gradient(circle at 88% 8%, rgb(77 159 196 / 10%), transparent 30%),
    linear-gradient(145deg, #f3f6f3, #fffdf6);
  border-color: var(--border-subtle);
}

:root[data-theme="light"] .property-showcase-section::before {
  opacity: 0.12;
}

:root[data-theme="light"] .property-showcase-header h2,
:root[data-theme="light"] .property-showcase-copy h3,
:root[data-theme="light"] .property-showcase-price {
  color: #171e1a;
}

:root[data-theme="light"] .property-showcase-header h2 em,
:root[data-theme="light"] .property-showcase-meta {
  color: #006f76;
}

:root[data-theme="light"] .property-showcase-intro p,
:root[data-theme="light"] .property-showcase-copy h3 span,
:root[data-theme="light"] .property-showcase-footer,
:root[data-theme="light"] .property-showcase-note {
  color: #5f6863;
}

:root[data-theme="light"] .property-showcase-intro > a {
  color: #171e1a;
  border-color: rgb(23 30 26 / 28%);
}

:root[data-theme="light"] .property-showcase-card {
  color: #171e1a;
  border-color: rgb(23 30 26 / 13%);
  background: rgb(255 255 255 / 82%);
  box-shadow: 0 20px 48px rgb(23 30 26 / 9%);
}

:root[data-theme="light"] .property-showcase-card:hover,
:root[data-theme="light"] .property-showcase-card:focus-visible {
  color: #171e1a;
  border-color: rgb(0 111 118 / 38%);
  background: #fff;
}

:root[data-theme="light"] .property-showcase-footer {
  border-color: rgb(23 30 26 / 10%);
}

.contact-office-link {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 14px;
  color: var(--text-primary);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.contact-office-link:hover,
.contact-office-link:focus-visible {
  color: var(--text-accent);
}

.footer-brand-text strong {
  color: var(--text-primary);
  font-size: 0.84rem;
}

@media (max-width: 760px) {
  .campaign-quick-actions-inner {
    grid-template-columns: 1fr;
  }

  .campaign-quick-actions-links {
    width: 100%;
  }

  .ps-kicker {
    font-size: clamp(2rem, 10vw, 3.2rem) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .campaign-quick-actions-links a {
    transition: none !important;
  }
}

/* Refined local-flair property chapter.
   Keep the regional cinematic character while removing the abrupt turquoise
   treatment that competed with the Ray White yellow brand signal. */
:root[data-brand-variant='local'] .property-showcase-section,
:root[data-brand-variant='local'][data-theme='light'] .property-showcase-section {
  color: #f7f5ed;
  background:
    radial-gradient(circle at 88% 8%, rgb(255 229 18 / 10%), transparent 28%),
    radial-gradient(circle at 7% 92%, rgb(217 221 203 / 9%), transparent 30%),
    linear-gradient(145deg, #171e1a, #202824);
  border-color: rgb(255 255 255 / 10%);
}

:root[data-brand-variant='local'][data-theme='light'] .property-showcase-section::before {
  opacity: 0.24;
}

:root[data-brand-variant='local'][data-theme='light'] .property-showcase-header h2,
:root[data-brand-variant='local'][data-theme='light'] .property-showcase-copy h3,
:root[data-brand-variant='local'][data-theme='light'] .property-showcase-price {
  color: #ffffff;
}

:root[data-brand-variant='local'] .property-showcase-header h2 em,
:root[data-brand-variant='local'][data-theme='light'] .property-showcase-header h2 em,
:root[data-brand-variant='local'] .property-showcase-eyebrow {
  color: #ffe512;
}

:root[data-brand-variant='local'] .property-showcase-meta,
:root[data-brand-variant='local'][data-theme='light'] .property-showcase-meta {
  color: #d9ddcb;
}

:root[data-brand-variant='local'][data-theme='light'] .property-showcase-intro p,
:root[data-brand-variant='local'][data-theme='light'] .property-showcase-copy h3 span,
:root[data-brand-variant='local'][data-theme='light'] .property-showcase-footer,
:root[data-brand-variant='local'][data-theme='light'] .property-showcase-note {
  color: rgb(247 245 237 / 68%);
}

:root[data-brand-variant='local'][data-theme='light'] .property-showcase-intro > a {
  color: #ffffff;
  border-color: rgb(255 255 255 / 32%);
}

:root[data-brand-variant='local'] .property-showcase-card,
:root[data-brand-variant='local'][data-theme='light'] .property-showcase-card {
  color: #f7f5ed;
  border-color: rgb(255 255 255 / 12%);
  background: rgb(255 255 255 / 5%);
  box-shadow: 0 22px 56px rgb(0 0 0 / 20%);
}

:root[data-brand-variant='local'] .property-showcase-card:hover,
:root[data-brand-variant='local'] .property-showcase-card:focus-visible,
:root[data-brand-variant='local'][data-theme='light'] .property-showcase-card:hover,
:root[data-brand-variant='local'][data-theme='light'] .property-showcase-card:focus-visible {
  color: #ffffff;
  border-color: rgb(255 229 18 / 48%);
  background: rgb(255 255 255 / 8%);
}

:root[data-brand-variant='local'] .property-showcase-media {
  background: #252d29;
}

:root[data-brand-variant='local'] .property-status--rent {
  color: #171e1a;
  background: #d9ddcb;
}

:root[data-brand-variant='local'][data-theme='light'] .property-showcase-footer {
  border-color: rgb(255 255 255 / 10%);
}
