/*
 * Patch 002 — v0.2.0 shell restoration
 * Isolated selectors only. Page/content styles are not changed.
 */

:root {
  --rr-v020-navy: #0f2340;
  --rr-v020-navy-900: #0a1a30;
  --rr-v020-gold: #c9a84c;
  --rr-v020-white: #ffffff;
  --rr-v020-border-dark: rgba(255,255,255,.12);
  --rr-v020-font-body: "DM Sans", "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --rr-v020-font-display: "Playfair Display", Georgia, serif;
  --rr-v020-container: 1180px;
}

/* Blocksy shell is no longer visible while Patch 002 owns header/footer. */
#header.ct-header,
header#header.ct-header,
#footer.ct-footer,
footer#footer.ct-footer,
.ct-footer {
  display: none !important;
}

.rr-v020-container {
  width: min(calc(100% - 40px), var(--rr-v020-container));
  margin-inline: auto;
}

.rr-v020-header {
  position: relative;
  z-index: 80;
  background: var(--rr-v020-navy);
  color: var(--rr-v020-white);
  font-family: var(--rr-v020-font-body);
}

.rr-v020-header__utility {
  background: var(--rr-v020-navy-900);
  border-bottom: 1px solid rgba(201,168,76,.18);
}

.rr-v020-header__utility-inner {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  font-size: .78rem;
}

.rr-v020-header__utility a {
  color: rgba(255,255,255,.85);
  text-decoration: none;
}

.rr-v020-header__main {
  min-height: 78px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 2rem;
}

.rr-v020-brand {
  display: inline-flex;
  align-items: center;
  gap: .72rem;
  color: var(--rr-v020-white);
  text-decoration: none;
  white-space: nowrap;
}

.rr-v020-brand__mark {
  width: 36px;
  height: 36px;
  fill: none;
  stroke: var(--rr-v020-gold);
  stroke-width: 2;
}

.rr-v020-brand__mark-inner {
  fill: var(--rr-v020-gold);
  stroke: none;
  opacity: .36;
}

.rr-v020-brand__text {
  display: flex;
  flex-direction: column;
  line-height: 1;
}

.rr-v020-brand__text strong {
  color: var(--rr-v020-white);
  font-family: var(--rr-v020-font-display);
  font-size: 1.25rem;
  letter-spacing: .02em;
}

.rr-v020-brand__text small {
  margin-top: .24rem;
  color: var(--rr-v020-gold);
  font-size: .59rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.rr-v020-nav {
  justify-self: center;
}

.rr-v020-nav__list {
  display: flex;
  align-items: center;
  gap: 1.3rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rr-v020-nav__list a {
  color: rgba(255,255,255,.86);
  font-size: .88rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.rr-v020-nav__list a:hover,
.rr-v020-nav__item.is-current > a {
  color: var(--rr-v020-gold);
}

.rr-v020-header__actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.rr-v020-language {
  display: flex;
  gap: .4rem;
}

.rr-v020-language__item {
  color: rgba(255,255,255,.62);
  font-size: .68rem;
  font-weight: 700;
  text-decoration: none;
}

.rr-v020-language__item.is-current {
  color: var(--rr-v020-gold);
}

.rr-v020-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: .72rem 1.05rem;
  border: 1px solid transparent;
  font-family: var(--rr-v020-font-body);
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

.rr-v020-btn--gold {
  background: var(--rr-v020-gold);
  color: var(--rr-v020-navy-900);
}

.rr-v020-btn--gold:hover {
  background: #dfbd5d;
  color: var(--rr-v020-navy-900);
}

.rr-v020-header__cta {
  font-size: .82rem;
}

.rr-v020-nav-toggle {
  display: none;
  align-items: center;
  gap: .6rem;
  background: transparent;
  border: 0;
  padding: .5rem 0;
  color: var(--rr-v020-white);
  font: inherit;
  cursor: pointer;
}

.rr-v020-nav-toggle__icon {
  width: 23px;
  display: grid;
  gap: 4px;
}

.rr-v020-nav-toggle__icon span {
  display: block;
  height: 2px;
  background: currentColor;
}

/* Compact v0.2.0 footer. */
.rr-v020-footer {
  position: relative;
  z-index: 5;
  margin: 0 !important;
  padding: 3.4rem 0 1.4rem;
  background: var(--rr-v020-navy-900);
  color: rgba(255,255,255,.70);
  font-family: var(--rr-v020-font-body);
}

.rr-v020-footer .rr-v020-brand {
  margin-bottom: 1rem;
}

.rr-v020-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr .8fr .8fr;
  gap: 3rem;
}

.rr-v020-footer__brand p {
  max-width: 420px;
  margin: .4rem 0;
}

.rr-v020-footer__areas {
  color: var(--rr-v020-gold);
  font-weight: 600;
}

.rr-v020-footer__nav,
.rr-v020-footer__meta {
  display: flex;
  flex-direction: column;
  gap: .7rem;
}

.rr-v020-footer__nav a,
.rr-v020-footer__meta a {
  color: rgba(255,255,255,.78);
  text-decoration: none;
}

.rr-v020-footer__nav a:hover,
.rr-v020-footer__meta a:hover {
  color: var(--rr-v020-gold);
}

.rr-v020-footer__bottom {
  margin-top: 2.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--rr-v020-border-dark);
  font-size: .76rem;
}

/*
 * Neutralize old custom footer if a cache/plugin causes it to survive
 * despite remove_action(). We do not delete any code or database content.
 */
#robuste-footer {
  display: none !important;
}

@media (max-width: 1100px) {
  .rr-v020-header__main {
    grid-template-columns: auto auto 1fr;
    gap: 1rem;
  }

  .rr-v020-nav-toggle {
    display: inline-flex;
    justify-self: end;
  }

  .rr-v020-nav {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    display: none;
    padding: 1rem 20px 1.4rem;
    background: var(--rr-v020-navy);
    border-top: 1px solid var(--rr-v020-border-dark);
  }

  .rr-v020-nav.is-open {
    display: block;
  }

  .rr-v020-nav__list {
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    width: min(100%, var(--rr-v020-container));
    margin-inline: auto;
  }

  .rr-v020-nav__list a {
    display: block;
    padding: .7rem 0;
  }

  .rr-v020-header__actions {
    justify-self: end;
  }

  .rr-v020-header__cta {
    display: none;
  }
}

@media (max-width: 680px) {
  .rr-v020-container {
    width: min(calc(100% - 28px), var(--rr-v020-container));
  }

  .rr-v020-header__utility-inner {
    justify-content: flex-end;
  }

  .rr-v020-header__utility-inner span {
    display: none;
  }

  .rr-v020-header__main {
    min-height: 68px;
    grid-template-columns: 1fr auto;
  }

  .rr-v020-nav-toggle {
    grid-column: 2;
  }

  .rr-v020-header__actions {
    display: none;
  }

  .rr-v020-footer__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}


/* ═══════════════════════════════════════════════════════
   PATCH 003 — shell spacing / full-bleed / utility contact
   Applied by Robuste Renovation Patch 003 installer.
   ═══════════════════════════════════════════════════════ */

/* Thin separators: visual boundary without a large blank gap. */
#rr-v020-header {
  border-bottom: 3px solid var(--rb-cream, #F5F1EA);
}

#rr-v020-footer {
  border-top: 3px solid var(--rb-cream, #F5F1EA);
}

/* The utility row now carries real contact data only. */
.rr-v020-header__utility-inner {
  justify-content: flex-end !important;
}

.rr-v020-header__utility-contact {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 1.15rem;
  min-height: 34px;
  color: rgba(255,255,255,.86);
  font-size: .78rem;
}

.rr-v020-header__utility-contact a,
.rr-v020-header__utility-contact span {
  color: rgba(255,255,255,.86);
  text-decoration: none;
  white-space: nowrap;
}

.rr-v020-header__utility-contact a:hover {
  color: var(--rr-v020-gold);
}

/*
 * Migrated rb-* pages: the visual first and last dark blocks run edge-to-edge,
 * while their inner .rb-container still keeps readable content width.
 */
body.rb-migrated-page {
  overflow-x: clip;
}

body.rb-migrated-page .rb-hero,
body.rb-migrated-page .rb-cta {
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: none;
  margin-left: -50vw;
  margin-right: -50vw;
}

/* Keep only a hairline separation between the final CTA and footer. */
body.rb-migrated-page .rb-cta {
  margin-bottom: 0;
}

/* Footer tagline must remain readable on navy. */
.rr-v020-footer__brand > p:not(.rr-v020-footer__areas) {
  color: rgba(255,255,255,.86) !important;
  opacity: 1 !important;
}

/* Slightly stronger footer link/text contrast, without making it visually heavy. */
.rr-v020-footer__nav a,
.rr-v020-footer__meta a {
  color: rgba(255,255,255,.84);
}

@media (max-width: 680px) {
  .rr-v020-header__utility-contact {
    width: 100%;
    gap: .45rem .9rem;
    justify-content: flex-end;
    font-size: .72rem;
  }

  .rr-v020-header__utility-contact span {
    display: none;
  }
}
