/* Bonjour, France — adjustments layered on top of the mirrored america.gov styles. */

/* Header logo: america.gov's flag mark is kept as-is; only its "America.gov" lettering is swapped
   for « Bonjour, France » in the same serif style. React owns the SVG, so this is done in CSS. */
.site-home-link > svg {
  clip-path: inset(-2px 124px -2px 0);
  margin-right: -122px;
}
/* the flag mark keeps its size and place, painted as the French tricolour */
[data-slot="header-flag"] g[clip-path] { display: none; }
.site-home-link > svg {
  background:
    linear-gradient(#DDE0E5, #DDE0E5) 10.33px 1px / 10.34px 0.75px no-repeat,
    linear-gradient(#DDE0E5, #DDE0E5) 10.33px 17.25px / 10.34px 0.75px no-repeat,
    linear-gradient(90deg, #1D49BB 0 33.34%, #fff 33.34% 66.67%, #E64133 66.67% 100%) 0 1px / 31px 17px no-repeat;
  box-shadow: none;
}
.site-home-link > svg [data-slot="header-flag"] > rect { fill: none; stroke: rgb(0 0 0 / .08); stroke-width: .5px; }
.site-home-link::after {
  content: "";
  flex: none;
  width: 134px;
  height: 20px;
  background: var(--bf-logo-color, #0b1a33);
  -webkit-mask: url(wordmark-header.svg) left center / contain no-repeat;
  mask: url(wordmark-header.svg) left center / contain no-repeat;
}

/* Footer wordmark */
svg[viewBox="0 0 1390 263.577"] {
  background: currentColor;
  -webkit-mask: url(wordmark-footer.svg) center / contain no-repeat;
  mask: url(wordmark-footer.svg) center / contain no-repeat;
}
svg[viewBox="0 0 1390 263.577"] > * { display: none; }

/* Only one language: hide the language picker */
[data-slot="site-footer"] [data-bf-lang],
[data-slot="site-footer"] button[role="combobox"],
[data-slot="site-footer"] select { display: none !important; }

/* Paragraphs removed from the legal pages */
.type-body-m.text-text-secondary:empty { display: none; }

/* Vote section (classes from the mirrored design, spacing below) */
#bf-vote { padding-bottom: 7.5rem; }
@media (max-width: 767px) { #bf-vote { padding-bottom: 6rem; } }
#bf-vote .bf-count { font-variant-numeric: tabular-nums; }
#bf-vote .bf-star { width: 1.125rem; height: 1.125rem; flex: none; }

/* Mistral status panel (download consent + progress), styled like the site's sheets */
.bf-panel {
  position: fixed;
  z-index: 2147483000;
  left: 50%;
  bottom: calc(max(1.25rem, env(safe-area-inset-bottom)) + 6.5rem);
  transform: translateX(-50%);
  width: min(28rem, calc(100vw - 2rem));
  padding: 1.25rem 1.25rem 1rem;
  border-radius: 1.5rem;
  background: #fff;
  color: #0b1a33;
  box-shadow: 0 1px 2px rgb(0 0 0 / .06), 0 12px 40px rgb(0 0 0 / .16);
  font: 400 0.9375rem/1.45 "Helvetica Now Text", system-ui, sans-serif;
}
.bf-panel[hidden] { display: none; }
.bf-panel h2 { margin: 0 0 .375rem; font: 500 1.0625rem/1.3 "Helvetica Now Display", system-ui, sans-serif; letter-spacing: -.01em; }
.bf-panel p { margin: 0 0 .75rem; color: rgb(11 26 51 / .72); }
.bf-panel .bf-actions { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: flex-end; }
.bf-panel button {
  min-height: 2.75rem; padding: 0 1.125rem; border-radius: 999px; border: 0; cursor: pointer;
  font: 700 .9375rem/1 "Helvetica Now Display", system-ui, sans-serif; letter-spacing: -.01em;
}
.bf-panel .bf-primary { background: #000; color: #fff; }
.bf-panel .bf-primary:hover { background: rgb(0 0 0 / .85); }
.bf-panel .bf-secondary { background: rgb(11 26 51 / .06); color: #0b1a33; }
.bf-panel button:focus-visible { outline: none; box-shadow: 0 0 0 2px #fff, 0 0 0 4px #0b1a33; }
.bf-bar { height: .375rem; border-radius: 999px; background: rgb(11 26 51 / .08); overflow: hidden; margin: .25rem 0 .5rem; }
.bf-bar > i { display: block; height: 100%; width: 0; background: #0b1a33; transition: width .3s ease-out; }
@media (prefers-reduced-motion: reduce) { .bf-bar > i { transition: none; } }
[data-slot="site-footer"] div.relative.inline-block:has(> select) { display: none !important; }

/* "Mistral" byline on answers generated by Mistral */
.bf-by {
  display: inline-flex; align-items: center; gap: .5rem; align-self: flex-start;
  font: 500 .875rem/1 "Helvetica Now Text", system-ui, sans-serif; color: rgb(11 26 51 / .72);
}
.bf-by img { width: 18px; height: 18px; flex: none; }

/* Mistral on the privacy tile */
.bf-mistral-privacy {
  position: absolute; left: 50%; bottom: 8%; transform: translateX(-50%); z-index: 5;
  display: inline-flex; align-items: center; gap: .5rem; white-space: nowrap;
  padding: .5rem .875rem .5rem .625rem; border-radius: 999px;
  background: rgb(255 255 255 / .94); color: #0b1a33;
  box-shadow: 0 1px 2px rgb(0 0 0 / .12), 0 8px 24px rgb(0 0 0 / .25);
  font: 400 .875rem/1 "Helvetica Now Text", system-ui, sans-serif; pointer-events: none;
}
.bf-mistral-privacy img { width: 22px; height: 22px; flex: none; }
.bf-mistral-privacy strong { font-weight: 600; }

/* footer wink */
.bf-wink { display: block; margin-top: .375rem; font-weight: 400; font-size: .875rem; line-height: 1.4; opacity: .75; }
.bf-wink a { text-decoration: underline; text-underline-offset: 4px; }
.bf-wink a:hover { opacity: .7; }

/* closing manifesto: actions, share links, signature */
.bf-actions-row { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; }
.bf-share-links { font-size: .9375rem; color: rgb(11 26 51 / .7); }
.bf-share-links a, .bf-share-links button { color: inherit; text-decoration: underline; text-underline-offset: 4px; background: none; border: 0; padding: 0; font: inherit; cursor: pointer; }
.bf-share-links a:hover, .bf-share-links button:hover { color: #0b1a33; }
.bf-share-links--open { outline: 2px solid rgb(11 26 51 / .15); outline-offset: 6px; border-radius: 8px; }
.bf-signature { font: 500 1rem/1.3 "Rhymes Text", Georgia, serif; color: #0b1a33; text-decoration: underline; text-decoration-color: rgb(11 26 51 / .3); text-underline-offset: 5px; }
.bf-signature:hover { text-decoration-color: currentColor; }
.bf-signature--hero { position: relative; z-index: 2; align-self: center; margin-top: 1.25rem; font-size: .9375rem; opacity: .8; }
.bf-wink-cta { display: block; margin-top: .375rem; }

/* photo credits */
.bf-credit-btn {
  position: absolute; right: .625rem; bottom: .625rem; z-index: 6;
  width: 1.75rem; height: 1.75rem; border-radius: 999px; border: 0; cursor: pointer;
  display: grid; place-items: center;
  background: rgb(255 255 255 / .92); color: #0b1a33; box-shadow: 0 1px 3px rgb(0 0 0 / .25);
  font: 600 .875rem/1 "Rhymes Text", Georgia, serif; font-style: italic;
  opacity: 0; transition: opacity .15s ease-out;
}
.bf-credit-host:hover > .bf-credit-btn, .bf-credit-btn:focus-visible { opacity: 1; }
.bf-credit-btn:focus-visible { outline: none; box-shadow: 0 0 0 2px #fff, 0 0 0 4px #0b1a33; }
@media (hover: none) { .bf-credit-btn { display: none; } }
.bf-credit-pop { position: fixed; inset: 0; z-index: 2147483001; display: grid; place-items: end center; padding: 1rem; background: rgb(11 26 51 / .28); }
.bf-credit-pop[hidden] { display: none; }
.bf-credit-card {
  width: min(30rem, 100%); margin-bottom: max(.5rem, env(safe-area-inset-bottom));
  padding: 1.25rem 1.25rem 1rem; border-radius: 1.5rem; background: #fff; color: #0b1a33;
  box-shadow: 0 12px 40px rgb(0 0 0 / .2); font: 400 .9375rem/1.45 "Helvetica Now Text", system-ui, sans-serif;
  max-height: 80vh; overflow: auto;
}
@media (min-width: 768px) { .bf-credit-pop { place-items: center; } }
.bf-credit-card h2 { margin: 0 0 .5rem; font: 500 1.0625rem/1.3 "Helvetica Now Display", system-ui, sans-serif; }
.bf-credit-item + .bf-credit-item { margin-top: .75rem; padding-top: .75rem; border-top: 1px solid rgb(11 26 51 / .08); }
.bf-credit-card p { margin: .125rem 0; color: rgb(11 26 51 / .75); }
.bf-credit-card .bf-credit-name { color: #0b1a33; font-weight: 500; }
.bf-credit-card a { color: #0b1a33; text-decoration: underline; text-underline-offset: 3px; }
.bf-credit-foot { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 1rem; }
.bf-credit-close { min-height: 2.75rem; padding: 0 1.125rem; border-radius: 999px; border: 0; background: #000; color: #fff; font: 700 .9375rem/1 "Helvetica Now Display", system-ui, sans-serif; cursor: pointer; }
.bf-credit-close:focus-visible { outline: none; box-shadow: 0 0 0 2px #fff, 0 0 0 4px #0b1a33; }

/* "Poser la question à Mistral" — primary button inside the chat answer */
a.bf-mistral-cta {
  display: inline-block; margin: .25rem 0; white-space: nowrap;
  padding: .875rem 1.25rem; border-radius: 999px;
  background: #000; color: #fff !important; text-decoration: none !important;
  font: 700 .9375rem/1 "Helvetica Now Display", system-ui, sans-serif; letter-spacing: -.01em;
}
a.bf-mistral-cta:hover { background: rgb(0 0 0 / .85); }
a.bf-mistral-cta:focus-visible { outline: none; box-shadow: 0 0 0 2px #fff, 0 0 0 4px #0b1a33; }
a.bf-mistral-cta svg { color: #fff; vertical-align: -3px; margin-left: .25rem; }
a.bf-mistral-cta span { text-decoration: none !important; display: inline !important; white-space: nowrap; }


/* credited photos: no native callout, long-press shows the credit */
img[src*="/address-change."],img[src*="/camp-apache."],img[src*="/camp-brookchar."],img[src*="/camp-hoyer."],img[src*="/camp-winn."],img[src*="/campground."],img[src*="/child-future."],img[src*="/child-passport."],img[src*="/crowd."],img[src*="/family."],img[src*="/goose-island."],img[src*="/grandstaff."],img[src*="/hotdog-bottom."],img[src*="/hotdog-top."],img[src*="/housing."],img[src*="/medicare."],img[src*="/military-service."],img[src*="/name-change."],img[src*="/national-park."],img[src*="/new-business."],img[src*="/new-job."],img[src*="/passport."],img[src*="/passport-cover, passport-book, passport-card, passport-thumbnail."],img[src*="/pharmacy-lakeside."],img[src*="/pharmacy-ridgeview."],img[src*="/pharmacy-town-center."],img[src*="/privacy."],img[src*="/roadmap-desktop."],img[src*="/sand-flats."],img[src*="/social-security."],img[src*="/veteran-care."]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
