/* ==========================================================================
   GBV România — footer.css (chunk 2; PORT_MAPPING §6)
   The verse banner (astra_footer_before), Astra's Footer Builder restyled to
   SiteFooter.dc.html, and Astra's scroll-to-top button. Every selector is
   under .gbv-verse, #colophon or #ast-scroll-top. Token variables only.
   Cookie consent (banner skin, „Opțiuni cookie-uri”, to-top lift) is chunk 6
   under TD-004; nothing Complianz-shaped lives here.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Verse banner
   -------------------------------------------------------------------------- */
.gbv-verse {
  background: var(--surface-accent-soft);
  color: var(--text-strong);
  padding: calc(var(--space-12) + var(--space-2)) var(--gutter);   /* 56 px, SiteFooter */
  text-align: center;
}
.gbv-verse__quote {
  max-width: 36ch;
  margin: 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  font-style: normal;
  quotes: none;
}
.gbv-verse__quote::before,
.gbv-verse__quote::after {
  content: none;
}
.gbv-verse__quote p {
  margin: 0;
  font-family: var(--font-body);
  font-style: normal;
  font-weight: var(--fw-light);
  font-size: clamp(1.1875rem, 2.2vw, 1.625rem);                     /* 19–26 px, SiteFooter */
  line-height: 1.45;
  color: var(--text-strong);
}
.gbv-verse__ref {
  display: inline-block;
  margin-top: var(--space-4);
  font-family: var(--font-caption);
  font-style: normal;
  font-weight: var(--fw-regular);
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-caption);
  text-transform: uppercase;
  line-height: 1.2;
  color: var(--gbv-blue-deep);
}
@media (max-width: 921.99px) {
  .gbv-verse {
    padding: var(--space-10) var(--gutter);
  }
}

/* --------------------------------------------------------------------------
   2. Footer shell (blue-deep) and the four-column primary row
   -------------------------------------------------------------------------- */
#colophon {
  background: var(--surface-inverse);
  color: var(--gbv-blue-mist);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  line-height: 1.5;
}
#colophon .site-primary-footer-wrap,
#colophon .site-below-footer-wrap {
  background: transparent;
  border: 0;
  padding: 0;
}
/* Both rows sit in the 1280 container with the design gutter (base.css §2) */
#colophon .ast-builder-grid-row-container-inner {
  box-sizing: border-box;
  width: 100%;
  max-width: calc(var(--container-wide) + 2 * var(--gutter));
  margin: 0 auto;
  padding: 0 var(--gutter);
}
#colophon .site-primary-footer-inner-wrap {
  grid-template-columns: 1.4fr minmax(max-content, 1fr) minmax(max-content, 1fr) 0.8fr;
  gap: var(--space-12);
  padding: calc(var(--space-12) + var(--space-2)) 0 var(--space-10);  /* 56 / 40 px */
  align-items: start;
}
#colophon .site-footer-section {
  display: block;
  padding: 0;
  margin: 0;
}
#colophon .site-footer-primary-section-2,
#colophon .site-footer-primary-section-3,
#colophon .site-footer-primary-section-4 {
  padding-top: var(--footer-col-offset);
}
#colophon .footer-widget-area,
#colophon .footer-widget-area-inner,
#colophon .widget {
  margin: 0;
  padding: 0;
}
#colophon .widget-title {
  display: flex;
  align-items: center;
  min-height: var(--space-6);
  margin: 0 0 calc(var(--space-2) + var(--space-1) / 2);           /* 10 px, SiteFooter */
  font-family: var(--font-caption);
  font-weight: var(--fw-regular);
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-caption);
  text-transform: uppercase;
  line-height: 1.2;
  color: var(--gbv-orange-peach);
}
@media (min-width: 922px) and (max-width: 1279.98px) {
  #colophon .site-primary-footer-inner-wrap {
    gap: var(--space-10);
  }
}
@media (max-width: 921.99px) {
  #colophon .site-primary-footer-inner-wrap {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-8);
    padding: var(--space-10) 0 var(--space-8);
  }
  #colophon .site-footer-primary-section-1,
  #colophon .site-footer-primary-section-4 {
    grid-column: 1 / -1;
  }
}
@media (max-width: 479.98px) {
  #colophon .site-primary-footer-inner-wrap {
    grid-template-columns: 1fr;
    gap: calc(var(--space-6) + var(--space-1));                      /* 28 px */
  }
}

/* --------------------------------------------------------------------------
   3. Links: 28 / 36 / 44 px rows (B6), blue-mist → cream on hover
   -------------------------------------------------------------------------- */
#colophon .widget_nav_menu ul,
#colophon .widget_nav_menu .menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: calc(var(--space-1) / 2);
}
#colophon .widget_nav_menu li {
  margin: 0;
  padding: 0;
}
#colophon .widget_nav_menu a,
#colophon .gbv-brand a {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-height: calc(var(--space-6) + var(--space-1));                /* 28 px */
  color: var(--gbv-blue-mist);
  text-decoration: none;
  transition: color var(--motion-base) ease;
}
#colophon .widget_nav_menu a:hover,
#colophon .widget_nav_menu a:focus-visible,
#colophon .gbv-brand a:hover,
#colophon .gbv-brand a:focus-visible {
  color: var(--gbv-cream);
}
@media (min-width: 922px) {
  #colophon .widget_nav_menu a {
    white-space: nowrap;
  }
}
@media (max-width: 921.99px) {
  #colophon .widget_nav_menu a,
  #colophon .gbv-brand a,
  #colophon .gbv-brand__name,
  #colophon .gbv-brand__line {
    min-height: var(--btn-sm);
  }
}
@media (max-width: 767.98px) {
  #colophon .widget_nav_menu a,
  #colophon .gbv-brand a,
  #colophon .gbv-brand__name,
  #colophon .gbv-brand__line {
    min-height: var(--hit-area);
  }
}

/* --------------------------------------------------------------------------
   4. Brand column ([gbv_brand])
   -------------------------------------------------------------------------- */
#colophon .gbv-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(var(--space-1) / 2);
  font-style: normal;
  font-size: var(--text-sm);
  line-height: 1.5;
}
#colophon .widget .gbv-brand__logo,
#colophon .gbv-brand__logo {
  display: block;
  height: var(--space-10);
  width: auto;
  max-width: 100%;
  margin: 0 0 var(--space-3);
  object-fit: contain;
  object-position: left;
}
#colophon .gbv-brand__name,
#colophon .gbv-brand__line {
  display: inline-flex;
  align-items: center;
  min-height: calc(var(--space-6) + var(--space-1));
}
#colophon .gbv-brand__name {
  font-weight: var(--fw-semibold);
  color: var(--gbv-cream);
}
#colophon .gbv-brand .gbv-contact-links {
  display: contents;
}
#colophon .gbv-brand .gbv-icon {
  width: var(--icon-xs);
  height: var(--icon-xs);
}

/* --------------------------------------------------------------------------
   5. Social column ([gbv_social variant="round"])
   -------------------------------------------------------------------------- */
#colophon .gbv-social {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--space-2) + var(--space-1) / 2);                   /* 10 px */
}
#colophon .gbv-social li {
  margin: 0;
}
#colophon .gbv-social--round .gbv-social__link {
  box-sizing: border-box;
  width: var(--hit-area);
  height: var(--hit-area);
  border-radius: var(--radius-pill);
  border: var(--stroke-hairline) solid var(--gbv-blue-steel);
  color: var(--gbv-cream);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition:
    background-color var(--motion-base) ease,
    color var(--motion-base) ease;
}
#colophon .gbv-social--round .gbv-social__link:hover,
#colophon .gbv-social--round .gbv-social__link:focus-visible {
  background: var(--gbv-blue);
  color: var(--gbv-cream);
}
#colophon .gbv-social--round .gbv-icon {
  width: var(--icon-md);
  height: var(--icon-md);
}

/* --------------------------------------------------------------------------
   6. Bottom strip: orange rule, legal line, ANPC (no SOL)
   -------------------------------------------------------------------------- */
#colophon .site-below-footer-inner-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: calc(var(--space-4) + var(--stroke-bold)) 0 calc(var(--space-6) + var(--stroke-bold));  /* 18 / 26 px */
  border-top: var(--stroke-hairline) solid var(--gbv-orange);
  font-size: var(--text-caption);
  line-height: 1.5;
}
#colophon .site-below-footer-inner-wrap .site-footer-section {
  display: flex;
  align-items: center;
}
#colophon .site-footer-below-section-2 {
  justify-content: flex-end;
}
#colophon .ast-footer-copyright {
  text-align: left;
}
#colophon .ast-footer-copyright p {
  margin: 0;
}
#colophon .gbv-legal-line {
  color: var(--gbv-blue-mist);
}
#colophon .gbv-anpc {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: calc(var(--space-2) + var(--space-1) / 2);                   /* 10 px */
  flex: none;
}
#colophon .gbv-anpc__sal {
  display: inline-flex;
  align-items: center;
  line-height: 0;
  border-radius: var(--radius-xs);
}
#colophon .gbv-anpc__sal img {
  display: block;
  width: var(--anpc-w);                                             /* 250 × 50 frame per ordin */
  height: var(--btn-lg);
  max-width: 100%;
  object-fit: contain;                                              /* 201 × 50 artwork centred, undistorted */
}
#colophon .gbv-anpc__link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  box-sizing: border-box;
  min-height: var(--btn-sm);
  padding: calc(var(--space-1) + var(--stroke-bold)) var(--space-3); /* 6 / 12 px */
  border: var(--stroke-hairline) solid var(--gbv-blue-steel);
  border-radius: var(--radius-sm);
  color: var(--gbv-blue-mist);
  font-weight: var(--fw-regular);
  text-decoration: none;
  white-space: nowrap;
  transition:
    color var(--motion-base) ease,
    border-color var(--motion-base) ease;
}
#colophon .gbv-anpc__link:hover,
#colophon .gbv-anpc__link:focus-visible {
  color: var(--gbv-cream);
  border-color: var(--gbv-cream);
}
@media (max-width: 767.98px) {
  #colophon .site-below-footer-inner-wrap {
    flex-direction: column;
    align-items: flex-start;
  }
  #colophon .site-below-footer-inner-wrap .site-footer-section,
  #colophon .gbv-anpc {
    width: 100%;
  }
  #colophon .gbv-anpc > a {
    flex: 1 1 100%;
    justify-content: center;
    min-height: var(--hit-area);
  }
}

/* --------------------------------------------------------------------------
   7. Astra's scroll-to-top: 48 px, corner 24 / 6, blue, chevron glyph.
   Colours and radii are also set in the Customizer (THEME.md); the shape,
   size, shadow and glyph come from here. Threshold stays Astra's 300 px;
   the lift above the footer strip and the orange swap come from totop.js.
   -------------------------------------------------------------------------- */
#ast-scroll-top {
  position: fixed;
  right: var(--space-6);
  bottom: var(--space-6);
  z-index: var(--z-totop);
  box-sizing: border-box;
  width: var(--space-12);
  height: var(--space-12);
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: var(--radius-xl) var(--radius-sm) var(--radius-sm) var(--radius-sm);
  background: var(--color-brand);
  color: var(--text-on-brand);
  box-shadow: var(--shadow-float);
  cursor: pointer;
  transition:
    background-color var(--motion-base) ease,
    transform var(--motion-press) ease;
}
#ast-scroll-top:hover,
#ast-scroll-top:focus-visible {
  background: var(--color-accent-strong);
  color: var(--text-on-brand);
}
#ast-scroll-top:active {
  transform: scale(0.98);
}
/* Over the footer strip (totop.js sets --footer-strip-h to the visible part
   of the strip and the body class): the button rides above the strip and
   takes the mockup's orange fill; cream on hover. */
body.gbv-footer-strip-visible #ast-scroll-top {
  transform: translateY(calc(-1 * (var(--footer-strip-h, 0px) + var(--space-3))));
  background: var(--color-accent);
  color: var(--text-on-accent);
  transition:
    transform var(--motion-lift) ease,
    background-color var(--motion-base) ease,
    color var(--motion-base) ease;
}
body.gbv-footer-strip-visible #ast-scroll-top:hover,
body.gbv-footer-strip-visible #ast-scroll-top:focus-visible {
  background: var(--gbv-cream);
  color: var(--gbv-blue-deep);
}
body.gbv-footer-strip-visible #ast-scroll-top:active {
  transform: translateY(calc(-1 * (var(--footer-strip-h, 0px) + var(--space-3)))) scale(0.98);
}
#ast-scroll-top .ast-icon,
#ast-scroll-top svg {
  display: none;
}
#ast-scroll-top::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--icon-lg);
  height: var(--icon-lg);
  transform: translate(-50%, -50%);
  background-color: currentColor;
  -webkit-mask: url("../img/icons/chevron-up.svg") center / contain no-repeat;
  mask: url("../img/icons/chevron-up.svg") center / contain no-repeat;
}
@media (prefers-reduced-motion: reduce) {
  #ast-scroll-top,
  body.gbv-footer-strip-visible #ast-scroll-top {
    transition: none;
  }
  #ast-scroll-top:active {
    transform: none;
  }
  body.gbv-footer-strip-visible #ast-scroll-top:active {
    transform: translateY(calc(-1 * (var(--footer-strip-h, 0px) + var(--space-3))));
  }
}
