@import url("https://felix-campaigns.felix-komdsign.chatgpt.site/assets/index-DMbvLdRo.css");

@font-face {
  font-family: "Archivo Black";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("https://felix-campaigns.felix-komdsign.chatgpt.site/assets/_vinext_fonts/archivo-black-127ff4bf8365/archivo-black-1536a216.woff2") format("woff2");
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("https://felix-campaigns.felix-komdsign.chatgpt.site/assets/_vinext_fonts/source-sans-3-33c921fbc58a/source-sans-3-e0c1680e.woff2") format("woff2");
}

:root {
  --font-exposure-fallback: "Archivo Black", sans-serif;
  --font-source-sans: "Source Sans 3", sans-serif;
}

/* WordPress shell neutralization: preserve the Campaigns Site geometry exactly. */
body:has(#felix-campaigns),
body:has(.wf-campaign-case) {
  margin: 0 !important;
  padding: 0 !important;
}
body:has(#felix-campaigns) .wp-site-blocks,
body:has(.wf-campaign-case) .wp-site-blocks,
body:has(#felix-campaigns) .wp-block-post-content,
body:has(.wf-campaign-case) .wp-block-post-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* WordPress constrained-layout rules must not resize or centre the imported Campaigns composition. */
body:has(#felix-campaigns) .wp-block-post-content > *,
body:has(.wf-campaign-case) .wp-block-post-content > *,
body:has(#felix-campaigns) .is-layout-constrained > #felix-campaigns,
body:has(.wf-campaign-case) .is-layout-constrained > .wf-campaign-case {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  margin-inline-start: 0 !important;
  margin-inline-end: 0 !important;
  padding: 0 !important;
}

body:has(#felix-campaigns) .has-global-padding,
body:has(.wf-campaign-case) .has-global-padding {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Shared WordPress header bridge. The Campaigns source stylesheet remains the only
   owner of the original menu visuals and hover animation on Campaigns pages. */
body:has(#felix-campaigns) header.wp-block-template-part,
body:has(.wf-campaign-case) header.wp-block-template-part {
  position: static;
  height: 0;
  margin: 0 !important;
}
body:has(#felix-campaigns) header.wp-block-template-part > .site-header,
body:has(.wf-campaign-case) header.wp-block-template-part > .site-header {
  z-index: 90;
}
body:has(.wf-campaign-case) header.wp-block-template-part > .site-header {
  background: linear-gradient(rgba(0,0,0,.56), rgba(0,0,0,.12));
}
body.admin-bar:has(#felix-campaigns) header.wp-block-template-part > .site-header,
body.admin-bar:has(.wf-campaign-case) header.wp-block-template-part > .site-header {
  top: var(--wp-admin--admin-bar--height, 32px);
}

/* Hide the legacy header embedded in the imported Campaigns page content. */
body:has(#felix-campaigns) #felix-campaigns > .site-header,
body:has(#felix-campaigns) #felix-campaigns > .portfolio-mobile-menu,
body:has(.wf-campaign-case) .wf-campaign-case > .case-header,
body:has(.wf-campaign-case) .wf-campaign-case > .portfolio-mobile-menu {
  display: none !important;
}

/* Language selector is a Web Felix addition; keep it separate from the original nav CSS. */
.wf-header-language { display: flex; align-items: center; }
.wf-mobile-language { margin-top: auto; padding-top: 28px; }
.wf-language-menu {
  position: relative;
  flex-shrink: 0;
  font-family: var(--font-source-sans), sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
}
.wf-language-menu summary {
  display: inline-flex;
  align-items: center;
  padding: 8px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.wf-language-menu summary::-webkit-details-marker { display: none; }
.wf-language-current { color: currentColor; transition: color .35s; }
.wf-language-menu summary:hover .wf-language-current { color: var(--red); }
.wf-language-options {
  position: absolute;
  top: calc(100% + 25px);
  right: -4px;
  z-index: 95;
  display: grid;
  justify-items: start;
  width: max-content;
  padding: 4px;
  border: 1px solid rgba(45,52,64,.18);
  background: var(--pastel);
  box-shadow: 0 12px 28px rgba(45,52,64,.1);
}
.wf-language-options a {
  display: block;
  width: 100%;
  padding: 7px 8px !important;
  color: var(--text);
  font: 600 14px/1 var(--font-source-sans), sans-serif;
  text-decoration: none !important;
}
.wf-language-options a:hover,
.wf-language-options a.is-active { color: var(--red) !important; }

@media (max-width: 900px) {
  .wf-mobile-language .wf-language-options {
    right: auto;
    left: 0;
    top: auto;
    bottom: calc(100% + 10px);
  }
}
