/* D03 revised 2026-09-23: implement the client-approved Figma primary button, not an accessible
   variant of it. The 1px inset white border that stood here until 2026-09-22 is deliberately gone:
   it was added for contrast and was a visible change to the approved component.
   Spec: docs/WP-DEV-HANDOFF.md §1.4 — fill #978741, radius 4px, padding 16/28, Inter Semi Bold 14
   (15 in the banner), #FFFFFF, uppercase, letter-spacing 6%, line-height 100%, width hugs the text.
   Measured exceptions D03-E01 (label) and D03-E02 (fill vs the greens) are recorded in
   tests/d03-approval.json and asserted in tests/contrast.test.mjs. Do not "fix" them here.
   Gold rules keep --artesicura-gold-rule and are untouched by this file. */
.nav-list .nav-quote,
.nav-mobile-list .nav-quote,
.hero-quote__action,
.quote-banner__button,
.gform-theme--framework.gform-theme.gform_wrapper :is(input[type="submit"], button[type="submit"]).button.gform_button {
  border-radius: 4px;
  padding: 16px 28px;
  background: var(--artesicura-button-fill);
  color: var(--artesicura-button-text);
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .06em;
  text-transform: uppercase;
  /* Real Inter Semi Bold only: a synthesised weight would not be the approved rendering. */
  font-synthesis: none;
}

/* The banner label is the one documented departure: 15px, not 14 (handoff §1.2). */
.quote-banner__button { font-size: 15px; }

/* The submit button is an <input> (Gravity Forms ≤ 2.9) or a <button> (3.1+): both lose their native chrome. */
.gform-theme--framework.gform-theme.gform_wrapper :is(input[type="submit"], button[type="submit"]).button.gform_button { border: 0; cursor: pointer; appearance: none; -webkit-appearance: none; width: auto; height: auto; }

/* Hover and active: the gold deepens, and nothing else changes. A CTA is not a text link, so it
   gets no underline in any state. No transform, no shadow, no border, no size change, so the
   button never shifts and the resting component stays exactly as the client approved it.
   #8F7A2E is a richer, more saturated gold rather than a plain darkening, chosen by Jp on
   2026-09-23 after the 6% step proved almost invisible (dE 3.6). It keeps the brand colour warm
   instead of pulling it toward grey, and sits dE 11.5 from #7C6C34, so the hover can never be
   mistaken for the superseded redesign. Never #7C6C34 itself: that is a redesign, not a state.
   The cost is recorded, not hidden: this step takes the banner's hover boundary to 2.907, which
   widens D03-E02 to the banner on hover. The banner at rest stays compliant at 3.411. */
.nav-list .nav-quote,
.nav-mobile-list .nav-quote,
.hero-quote__action,
.quote-banner__button,
.gform-theme--framework.gform-theme.gform_wrapper :is(input[type="submit"], button[type="submit"]).button.gform_button { transition: background-color 150ms ease; }

.nav-list .nav-quote:is(:hover, :active),
.nav-mobile-list .nav-quote:is(:hover, :active),
.hero-quote__action:is(:hover, :active),
.quote-banner__link:is(:hover, :active) .quote-banner__button,
.gform-theme--framework.gform-theme.gform_wrapper :is(input[type="submit"], button[type="submit"]).button.gform_button:is(:hover, :active) { background: #8F7A2E; }

/* The label must never gain a link underline, in any state or from any ancestor rule. */
.nav-list .nav-quote,
.nav-mobile-list .nav-quote,
.hero-quote__action,
.quote-banner__button,
.nav-list .nav-quote:is(:hover, :focus, :focus-visible, :active),
.nav-mobile-list .nav-quote:is(:hover, :focus, :focus-visible, :active),
.hero-quote__action:is(:hover, :focus, :focus-visible, :active),
.quote-banner__link:is(:hover, :focus, :focus-visible, :active) .quote-banner__button,
.gform-theme--framework.gform-theme.gform_wrapper :is(input[type="submit"], button[type="submit"]).button.gform_button { text-decoration: none; }

@media (prefers-reduced-motion: reduce) {
  .nav-list .nav-quote,
  .nav-mobile-list .nav-quote,
  .hero-quote__action,
  .quote-banner__button,
  .gform-theme--framework.gform-theme.gform_wrapper :is(input[type="submit"], button[type="submit"]).button.gform_button { transition: none; }
}

/* Review page below: samples of each variant, rendered only for a Local administrator.
   The candidate and the alternative also apply under .d03-proposal / .d03-alternative. */

/* Review samples: 46px primary button (16/28 padding, 14px label). .is-* classes mirror the pseudo-classes. */
.d03-sample { display: inline-block; padding: 16px 28px; background: var(--artesicura-button-fill); color: var(--artesicura-button-text); font-size: 14px; font-weight: 600; line-height: 1; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; }
.d03-sample:is(:hover, :active, .is-hover, .is-active) { text-decoration: underline; }
.d03-bg--light .d03-sample:is(:focus-visible, .is-focus) { outline: 3px solid #003D34; outline-offset: 3px; }
.d03-bg--dark .d03-sample:is(:focus-visible, .is-focus) { outline: 2px solid #FFFFFF; outline-offset: 4px; }

/* Baseline sample keeps the superseded pair explicitly, so the comparison stays readable. */
.d03-baseline .d03-sample { background: #978741; color: #FFFFFF; box-shadow: none; }

/* Candidate: #7C6C34 fill, white label; 1px inset white border on greens (no size change). */
.d03-proposal { --artesicura-button-fill: #7C6C34; --artesicura-button-text: #FFFFFF; }
.d03-proposal :is(.nav-quote, .hero-quote__action, .quote-banner__button, .d03-sample) { background: #7C6C34; color: #FFFFFF; text-decoration: none; }
.d03-proposal :is(.hero-quote, .quote-banner, .d03-bg--dark) :is(.hero-quote__action, .quote-banner__button, .d03-sample) { box-shadow: inset 0 0 0 1px #FFFFFF; }
.d03-proposal :is(.nav-quote, .hero-quote__action, .d03-sample):is(:hover, :active, .is-hover, .is-active),
.d03-proposal .quote-banner__link:is(:hover, :active) .quote-banner__button { text-decoration: underline; }
.d03-proposal :is(.nav-quote, .d03-bg--light .d03-sample):is(:focus-visible, .is-focus) { outline: 2px solid #003D34; outline-offset: 4px; }
.d03-proposal :is(.hero-quote__action, .quote-banner__link, .d03-bg--dark .d03-sample):is(:focus-visible, .is-focus) { outline: 2px solid #FFFFFF; outline-offset: 4px; }

/* Alternative for comparison, greens only: light gold fill with institutional green label. */
.d03-alternative .d03-bg--dark .d03-sample { background: #D4C59C; color: #003D34; }

/* Review page layout. */
.d03-review { width: min(1248px, calc(100% - 48px)); margin-inline: auto; padding-block: 48px; }
.d03-review h2 { margin-block: 48px 8px; }
.d03-row { display: flex; flex-wrap: wrap; gap: 24px 32px; align-items: center; padding: 28px 24px; }
.d03-row > h3 { flex: 1 0 100%; margin: 0; font-family: "Inter", sans-serif; font-size: 14px; font-weight: 600; }
.d03-bg--crema { background: #F2F0E9; color: #23282A; }
.d03-bg--bianco { background: #FFFFFF; color: #23282A; }
.d03-bg--verde { background: #003D34; color: #FFFFFF; }
.d03-bg--verde2 { background: #00594B; color: #FFFFFF; }
.d03-state { display: grid; gap: 8px; justify-items: start; font-size: 13px; }
.d03-na { font-size: 13px; max-width: 32ch; }
