/* CVW 2026 — componente migrate din macheta aprobată v3. */

/* ---------- butoane ---------- */

.sf-cvw-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 22px;
  border: 2px solid transparent;
  border-radius: var(--cvw-radius);
  font: 800 16px/1 var(--cvw-font-family);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}

.sf-cvw-btn--red {
  color: #fff;
  background: var(--cvw-red);
}

.sf-cvw-btn--red:hover {
  background: var(--cvw-red-dark);
}

.sf-cvw-btn--outline {
  color: var(--cvw-text);
  background: transparent;
  border-color: currentColor;
}

.sf-cvw-btn--outline-light {
  color: #fff;
  background: transparent;
  border-color: rgba(255, 255, 255, 0.55);
}

.sf-cvw-btn--outline-light:hover {
  border-color: #fff;
}

.sf-cvw-btn svg {
  flex: none;
  width: 18px;
  height: 18px;
}

.sf-cvw-arrow-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--cvw-red-dark);
  font-weight: 800;
  text-decoration: none;
}

.sf-cvw-arrow-link:hover {
  text-decoration: underline;
}


/* ---------- bara grupului ---------- */

.sf-cvw-group-bar {
  color: var(--cvw-on-dark-2);
  font-size: 14px;
  background: var(--cvw-charcoal);
}

.sf-cvw-group-bar .sf-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 50px;
  gap: 24px;
}

.sf-cvw-brands {
  display: flex;
  align-items: center;
  gap: 22px;
}

.sf-cvw-brands span {
  font-size: 13px;
  letter-spacing: 0.02em;
}

.sf-cvw-brands a {
  display: block;
  opacity: 0.85;
}

.sf-cvw-brands a:hover {
  opacity: 1;
}

.sf-cvw-brands img {
  width: auto;
  height: 28px;
}

.sf-cvw-brands img.sf-cvw-brand--shop {
  height: 30px;
}

.sf-cvw-quick-contact {
  display: flex;
  gap: 22px;
}

.sf-cvw-quick-contact a {
  color: var(--cvw-on-dark);
  text-decoration: none;
}

.sf-cvw-quick-contact a:hover {
  color: #fff;
}


/* ---------- antet ---------- */

/*
 * Eliminăm cutiile intermediare doar pentru template-part-ul
 * care conține headerul CVW.
 */
.wp-site-blocks > header.wp-block-template-part:has(.sf-cvw-header),
.wp-site-blocks > header.wp-block-template-part
  .wp-block-group:has(.sf-cvw-header),
.wp-block-lazyblock-df-header {
  display: contents;
}

/* Doar headerul alb rămâne sticky. */
.sf-cvw-header {
  position: sticky;
  top: var(--cvw-admin-bar-offset, 0px);
  z-index: 20;
  background: #fff;
  box-shadow: 0 1px 0 var(--cvw-line);
}


body.admin-bar {
  --cvw-admin-bar-offset: 32px;
}

.sf-cvw-header::after {
  content: "";
  display: block;
  height: 4px;
  background: var(--cvw-red);
}

.sf-cvw-header .sf-container {
  display: flex;
  align-items: center;
  min-height: 78px;
  gap: 28px;
}

.sf-cvw-logo img {
  width: auto;
  height: 30px;
}

.sf-cvw-nav {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
}

.sf-cvw-nav a {
  padding: 10px 12px;
  border-radius: var(--cvw-radius);
  color: var(--cvw-text);
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
}

.sf-cvw-nav a:hover,
.sf-cvw-nav a[aria-current] {
  color: var(--cvw-red-dark);
}

.sf-cvw-nav a[aria-current] {
  box-shadow: inset 0 -3px 0 var(--cvw-red);
}

.sf-cvw-nav .sf-cvw-btn {
  margin-left: 10px;
  padding: 13px 18px;
  color: #fff;
}

.sf-cvw-nav .sf-cvw-btn:hover {
  color: #fff;
}

.sf-cvw-menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 8px;
  border: 0 !important;
  border-radius: var(--cvw-radius);
  outline: 0;
  color: var(--cvw-text);
  background: transparent;
  box-shadow: none !important;
  appearance: none;
  cursor: pointer;
  line-height: 0;
}

.sf-cvw-menu-toggle:hover {
  color: var(--cvw-red-dark);
  background: var(--cvw-paper);
}

.sf-cvw-menu-toggle:focus,
.sf-cvw-menu-toggle:focus-visible {
  border: 0 !important;
  outline: 0;
  background: var(--cvw-paper);
  box-shadow: none !important;
}

.sf-cvw-menu-toggle svg {
  display: block;
  width: 28px;
  height: 28px;
}


/* ---------- hero video ---------- */

.sf-cvw-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  background: var(--cvw-charcoal);
}

.sf-cvw-hero video,
.sf-cvw-hero .sf-cvw-poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sf-cvw-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    90deg,
    rgba(20, 22, 25, 0.86) 0%,
    rgba(20, 22, 25, 0.62) 45%,
    rgba(20, 22, 25, 0.12) 100%
  );
}

.sf-cvw-hero .sf-container {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: clamp(520px, 74vh, 720px);
  padding-block: 72px;
}

.sf-cvw-hero .sf-cvw-eyebrow-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--cvw-on-dark);
  font-size: 15px;
  font-weight: 700;
}

.sf-cvw-hero .sf-cvw-eyebrow-brand img {
  width: 26px;
  height: 26px;
}

.sf-cvw-hero h1 {
  max-width: 15ch;
  margin: 18px 0 20px;
  font-size: clamp(38px, 5.4vw, 68px);
}

.sf-cvw-hero .sf-cvw-lead {
  max-width: 52ch;
  color: var(--cvw-on-dark);
  font-size: clamp(17px, 1.6vw, 20px);
}

.sf-cvw-hero .sf-cvw-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.sf-cvw-film-trigger {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 40px;
  padding: 0;
  border: 0;
  color: #fff;
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  text-align: left;
  text-decoration: none;
  background: none;
  cursor: pointer;
}

.sf-cvw-film-trigger i {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 2px solid rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
}

.sf-cvw-film-trigger i svg {
  width: 18px;
  height: 18px;
  margin-left: 3px;
}

.sf-cvw-film-trigger:hover i {
  border-color: var(--cvw-red);
  background: var(--cvw-red);
}

.sf-cvw-film-trigger small {
  display: block;
  color: var(--cvw-on-dark-2);
  font-size: 14px;
  font-weight: 400;
}


/* ---------- cifre ---------- */

.sf-cvw-stats {
  position: relative;
  overflow: hidden;
  color: #fff;
  background: var(--cvw-charcoal);
}

.sf-cvw-stats::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 4px;
  background: var(--cvw-red);
}

.sf-cvw-stats .sf-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

.sf-cvw-stats .sf-container > div {
  padding: 34px 24px;
  border-left: 1px solid var(--cvw-charcoal-3);
}

.sf-cvw-stats .sf-container > div:first-child {
  padding-left: 0;
  border-left: 0;
}

.sf-cvw-stats b {
  display: block;
  font-size: clamp(34px, 3.6vw, 46px);
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.sf-cvw-stats span {
  display: block;
  margin-top: 8px;
  color: var(--cvw-on-dark-2);
  font-size: 15px;
  line-height: 1.4;
}


/* ---------- secțiuni ---------- */

.sf-cvw-section {
  padding-block: 88px;
}

.sf-cvw-section--paper {
  background: var(--cvw-paper);
}

.sf-cvw-section--dark {
  color: #fff;
  background: var(--cvw-charcoal);
}

.sf-cvw-section-header {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 40px;
}

.sf-cvw-section-header h2 {
  font-size: clamp(30px, 3.2vw, 42px);
}

.sf-cvw-section-header p {
  max-width: 58ch;
  margin-top: 12px;
  color: var(--cvw-text-2);
}

.sf-cvw-section--dark .sf-cvw-section-header p {
  color: var(--cvw-on-dark-2);
}

.sf-cvw-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  color: var(--cvw-red-dark);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.sf-cvw-eyebrow::before {
  content: "";
  width: 22px;
  height: 4px;
  background: var(--cvw-red);
}

.sf-cvw-section--dark .sf-cvw-eyebrow {
  color: #ff5a72;
}


/* ---------- taburi de aplicații ---------- */

.sf-cvw-tabs {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  margin-bottom: 32px;
  border-bottom: 2px solid var(--cvw-line);
  scrollbar-width: none;
}

.sf-cvw-tabs button {
  margin-bottom: -2px;
  padding: 16px 18px;
  border: 0;
  border-bottom: 4px solid transparent;
  color: var(--cvw-text-2);
  font: 800 17px/1 var(--cvw-font-family);
  white-space: nowrap;
  background: none;
  cursor: pointer;
}

.sf-cvw-tabs button[aria-selected="true"] {
  border-bottom-color: var(--cvw-red);
  color: var(--cvw-text);
}

.sf-cvw-tab-intro {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.sf-cvw-tab-intro p {
  max-width: 60ch;
  color: var(--cvw-text-2);
}


/* ---------- carduri de produs ---------- */

.sf-cvw-products-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.sf-cvw-product-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--cvw-line);
  border-radius: var(--cvw-radius);
  text-decoration: none;
  background: #fff;
  transition: border-color 0.2s;
}

.sf-cvw-product-card:hover {
  border-color: var(--cvw-text-2);
}

.sf-cvw-product-card .sf-cvw-media {
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: var(--cvw-paper);
}

.sf-cvw-product-card .sf-cvw-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sf-cvw-product-card .sf-cvw-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 8px;
  padding: 20px 22px 22px;
}

.sf-cvw-product-card h3 {
  font-size: 20px;
}

.sf-cvw-product-card p {
  color: var(--cvw-text-2);
  font-size: 16px;
  line-height: 1.5;
}

.sf-cvw-product-card .sf-cvw-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 12px;
}

.sf-cvw-brand {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--cvw-text-2);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.sf-cvw-brand img {
  width: auto;
  height: 16px;
}

.sf-cvw-arrow {
  color: var(--cvw-red);
  font-weight: 900;
}


/* ---------- companiile grupului ---------- */

.sf-cvw-companies {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.sf-cvw-company-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 30px 28px;
  border-top: 4px solid var(--cvw-red);
  border-radius: var(--cvw-radius);
  background: #fff;
}

.sf-cvw-company-card .sf-cvw-company-logo {
  display: flex;
  align-items: center;
  height: 62px;
}

.sf-cvw-company-card .sf-cvw-company-logo img {
  width: auto;
  max-width: 220px;
  max-height: 62px;
}

.sf-cvw-company-card h3 {
  font-size: 20px;
}

.sf-cvw-company-card ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  color: var(--cvw-text-2);
  font-size: 16px;
  list-style: none;
}

.sf-cvw-company-card li {
  display: flex;
  gap: 10px;
}

.sf-cvw-company-card li::before {
  content: "";
  flex: none;
  width: 7px;
  height: 7px;
  margin-top: 9px;
  border-radius: 50%;
  background: var(--cvw-red);
}

.sf-cvw-company-card .sf-cvw-company-site {
  margin-top: auto;
  padding-top: 8px;
  color: var(--cvw-red-dark);
  font-weight: 800;
  text-decoration: none;
}


/* ---------- producție proprie ---------- */

.sf-cvw-production {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: 56px;
}

.sf-cvw-production p {
  margin-top: 16px;
  color: var(--cvw-on-dark-2);
}

.sf-cvw-production .sf-cvw-list {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.sf-cvw-production .sf-cvw-list div {
  display: flex;
  align-items: baseline;
  gap: 14px;
}

.sf-cvw-production .sf-cvw-list b {
  color: #fff;
}

.sf-cvw-mosaic {
  display: grid;
  grid-template-rows: 1fr 1fr;
  grid-template-columns: 1.3fr 1fr;
  gap: 10px;
  aspect-ratio: 4 / 3;
}

.sf-cvw-mosaic img {
  width: 100%;
  height: 100%;
  border-radius: 4px;
  object-fit: cover;
}

.sf-cvw-mosaic img:first-child {
  grid-row: span 2;
}


/* ---------- portofoliu ---------- */

.sf-cvw-portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.sf-cvw-project-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--cvw-radius);
  color: #fff;
  aspect-ratio: 4 / 3;
  background: var(--cvw-charcoal);
}

.sf-cvw-project-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sf-cvw-project-card .sf-cvw-copy {
  position: absolute;
  inset: auto 0 0;
  padding: 60px 20px 18px;
  background: linear-gradient(
    transparent,
    rgba(16, 18, 21, 0.92)
  );
}

.sf-cvw-project-card b {
  display: block;
  font-size: 19px;
}

.sf-cvw-project-card span {
  display: block;
  margin-top: 4px;
  color: var(--cvw-on-dark);
  font-size: 15px;
  line-height: 1.4;
}

.sf-cvw-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 28px;
}

.sf-cvw-filters button {
  padding: 11px 16px;
  border: 1px solid var(--cvw-line);
  border-radius: 99px;
  color: var(--cvw-text);
  font: 700 15px/1 var(--cvw-font-family);
  background: #fff;
  cursor: pointer;
}

.sf-cvw-filters button[aria-pressed="true"] {
  border-color: var(--cvw-charcoal);
  color: #fff;
  background: var(--cvw-charcoal);
}


/* ---------- sectoare ---------- */

.sf-cvw-sectors {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--cvw-line);
  border-radius: var(--cvw-radius);
  background: var(--cvw-line);
}

.sf-cvw-sectors div {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 22px 20px;
  font-size: 16px;
  font-weight: 700;
  background: #fff;
}

.sf-cvw-sectors svg {
  flex: none;
  width: 26px;
  height: 26px;
  color: var(--cvw-red);
}


/* ---------- știri ---------- */

.sf-cvw-news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.sf-cvw-news-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-decoration: none;
}

.sf-cvw-news-card img {
  width: 100%;
  border-radius: var(--cvw-radius);
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.sf-cvw-news-card small {
  color: var(--cvw-red-dark);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.sf-cvw-news-card h3 {
  font-size: 19px;
  line-height: 1.3;
}

.sf-cvw-news-card:hover h3 {
  text-decoration: underline;
}


/* ---------- formular ---------- */

.sf-cvw-contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 56px;
}

.sf-cvw-contact-details {
  display: grid;
  gap: 22px;
  margin-top: 28px;
}

.sf-cvw-contact-details div {
  display: flex;
  gap: 14px;
}

.sf-cvw-contact-details svg {
  flex: none;
  width: 22px;
  height: 22px;
  margin-top: 3px;
  color: var(--cvw-red);
}

.sf-cvw-contact-details b {
  display: block;
}

.sf-cvw-contact-details span,
.sf-cvw-contact-details a {
  color: var(--cvw-text-2);
  text-decoration: none;
}

.sf-cvw-section--dark .sf-cvw-contact-details span,
.sf-cvw-section--dark .sf-cvw-contact-details a {
  color: var(--cvw-on-dark-2);
}

form.sf-cvw-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 18px;
  padding: 32px;
  border: 1px solid var(--cvw-line);
  border-radius: var(--cvw-radius);
  color: var(--cvw-text);
  background: #fff;
}

.sf-cvw-form h3 {
  grid-column: 1 / -1;
  font-size: 24px;
}

.sf-cvw-form label {
  display: grid;
  gap: 6px;
  font-size: 15px;
  font-weight: 700;
}

.sf-cvw-form .sf-cvw-field--full {
  grid-column: 1 / -1;
}

.sf-cvw-form input,
.sf-cvw-form select,
.sf-cvw-form textarea {
  width: 100%;
  padding: 13px 14px;
  border: 1px solid #c9cbce;
  border-radius: var(--cvw-radius);
  color: var(--cvw-text);
  font: 400 16px/1.4 var(--cvw-font-family);
  background: #fff;
}

.sf-cvw-form textarea {
  min-height: 120px;
  resize: vertical;
}

.sf-cvw-form .sf-cvw-consent {
  display: flex;
  grid-column: 1 / -1;
  align-items: flex-start;
  gap: 10px;
  color: var(--cvw-text-2);
  font-size: 14px;
  font-weight: 400;
}

.sf-cvw-form .sf-cvw-consent input {
  width: auto;
  margin-top: 3px;
}

.sf-cvw-form .sf-cvw-btn {
  grid-column: 1 / -1;
  justify-self: start;
}


/* ---------- subsol ---------- */

.sf-cvw-footer {
  color: var(--cvw-on-dark-2);
  font-size: 15px;
  background: var(--cvw-charcoal);
}

.sf-cvw-footer::before {
  content: "";
  display: block;
  height: 4px;
  background: var(--cvw-red);
}

.sf-cvw-footer .sf-cvw-footer-top {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 40px;
  padding-block: 64px 44px;
}

.sf-cvw-footer .sf-cvw-footer-logo {
  width: auto;
  height: 30px;
}

.sf-cvw-footer h4 {
  margin-bottom: 14px;
  color: #fff;
  font-size: 15px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.sf-cvw-footer ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sf-cvw-footer a {
  text-decoration: none;
}

.sf-cvw-footer a:hover {
  color: #fff;
}

.sf-cvw-footer .sf-cvw-footer-description {
  max-width: 34ch;
  margin-top: 18px;
  line-height: 1.55;
}

.sf-cvw-footer .sf-cvw-footer-brands {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 28px;
  padding-block: 26px;
  border-top: 1px solid var(--cvw-charcoal-3);
}

.sf-cvw-footer .sf-cvw-footer-brands img {
  width: auto;
  height: 34px;
}

.sf-cvw-footer .sf-cvw-card-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px;
  padding-block: 22px;
  border-top: 1px solid var(--cvw-charcoal-3);
  font-size: 14px;
}

.sf-cvw-footer .sf-cvw-footer-anpc {
  display: flex;
  gap: 10px;
}

.sf-cvw-footer .sf-cvw-footer-anpc a {
  padding: 6px 10px;
  border: 1px solid var(--cvw-charcoal-3);
  border-radius: 4px;
  font-size: 12px;
}


/* ---------- pagini interioare ---------- */

.sf-cvw-page-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  background: var(--cvw-charcoal);
}

.sf-cvw-page-hero .sf-container {
  position: relative;
  z-index: 1;
  padding-block: 56px 60px;
}

.sf-cvw-page-hero h1 {
  max-width: 22ch;
  font-size: clamp(34px, 4.2vw, 54px);
}

.sf-cvw-page-hero p {
  max-width: 62ch;
  margin-top: 16px;
  color: var(--cvw-on-dark);
  font-size: 18px;
}

.sf-cvw-page-hero .sf-cvw-page-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0.22;
  object-fit: cover;
}

.sf-cvw-breadcrumbs {
  margin-bottom: 18px;
  color: var(--cvw-on-dark-2);
  font-size: 14px;
}

.sf-cvw-breadcrumbs a {
  text-decoration: none;
}

.sf-cvw-breadcrumbs a:hover {
  color: #fff;
}

.sf-cvw-videos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

.sf-cvw-video-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--cvw-radius);
  color: #fff;
  aspect-ratio: 16 / 9;
  background: var(--cvw-charcoal);
}

.sf-cvw-video-card img {
  width: 100%;
  height: 100%;
  opacity: 0.75;
  object-fit: cover;
}

.sf-cvw-video-card .sf-cvw-copy {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px;
  background: linear-gradient(
    transparent 40%,
    rgba(16, 18, 21, 0.85)
  );
}

.sf-cvw-video-card b {
  font-size: 22px;
}

.sf-cvw-video-card span {
  color: var(--cvw-on-dark);
  font-size: 15px;
}

.sf-cvw-video-card .sf-cvw-play {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--cvw-red);
  transform: translate(-50%, -60%);
}

.sf-cvw-video-card .sf-cvw-play svg {
  width: 24px;
  height: 24px;
  margin-left: 4px;
  color: #fff;
}

.sf-cvw-placeholder {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 5px 9px;
  border-radius: 4px;
  color: var(--cvw-text);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.03em;
  background: #fff;
}

.sf-cvw-category-section {
  scroll-margin-top: 110px;
}

.sf-cvw-category-section + .sf-cvw-category-section {
  margin-top: 72px;
}

.sf-cvw-category-section .sf-cvw-section-header {
  margin-bottom: 28px;
}

.sf-cvw-catalog-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 28px 32px;
  border-left: 6px solid var(--cvw-red);
  border-radius: var(--cvw-radius);
  background: var(--cvw-paper);
}

.sf-cvw-catalog-cta b {
  display: block;
  font-size: 22px;
}

.sf-cvw-catalog-cta span {
  color: var(--cvw-text-2);
}


/* ---------- pagina de produs ---------- */

.sf-cvw-product-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 48px;
}

.sf-cvw-product-hero .sf-cvw-media img {
  width: 100%;
  border-radius: var(--cvw-radius);
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.sf-cvw-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.sf-cvw-facts div {
  padding: 12px 16px;
  border: 1px solid var(--cvw-charcoal-3);
  border-radius: var(--cvw-radius);
  background: var(--cvw-charcoal-2);
}

.sf-cvw-facts b {
  display: block;
  font-size: 20px;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}

.sf-cvw-facts span {
  color: var(--cvw-on-dark-2);
  font-size: 14px;
}

.sf-cvw-product-nav {
  position: sticky;
  top: calc(var(--cvw-admin-bar-offset, 0px) + 82px);
  z-index: 10;
  border-bottom: 1px solid var(--cvw-line);
  background: #fff;
}

.sf-cvw-product-nav .sf-container {
  display: flex;
  gap: 4px;
  overflow-x: auto;
}

.sf-cvw-product-nav a {
  padding: 16px 14px;
  border-bottom: 3px solid transparent;
  color: var(--cvw-text-2);
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.sf-cvw-product-nav a:first-child {
	padding-left: 0;
}

.sf-cvw-product-nav a:hover {
  border-bottom-color: var(--cvw-red);
  color: var(--cvw-text);
}

.sf-cvw-product-nav .sf-cvw-btn {
  align-self: center;
  margin-left: auto;
  padding: 10px 16px;
  border-bottom: 0;
  color: #fff;
  font-size: 15px;
}

.sf-cvw-product-page [id] {
  scroll-margin-top: 150px;
}

.sf-cvw-flow {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sf-cvw-flow::before {
  content: "";
  position: absolute;
  top: 23px;
  right: 24px;
  left: 24px;
  height: 4px;
  background: linear-gradient(
    90deg,
    #3a8dde 0 70%,
    #8a6a3d 70% 100%
  );
}

.sf-cvw-flow li {
  position: relative;
  padding-right: 18px;
}

.sf-cvw-flow .sf-cvw-flow-node {
  position: relative;
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border: 4px solid var(--cvw-charcoal);
  border-radius: 50%;
  font-size: 18px;
  font-weight: 900;
  background: #fff;
}

.sf-cvw-flow h3 {
  margin: 18px 0 8px;
  font-size: 18px;
}

.sf-cvw-flow p {
  color: var(--cvw-text-2);
  font-size: 15px;
  line-height: 1.5;
}

.sf-cvw-flow-legend {
  display: flex;
  gap: 22px;
  margin-top: 28px;
  color: var(--cvw-text-2);
  font-size: 14px;
}

.sf-cvw-flow-legend span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.sf-cvw-flow-legend i {
  display: block;
  width: 26px;
  height: 4px;
}

.sf-cvw-two-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
}

.sf-cvw-rich-text p + p {
  margin-top: 16px;
}

.sf-cvw-rich-text p {
  color: var(--cvw-text-2);
}

.sf-cvw-rich-text--lead {
  margin-top: 14px;
}

.sf-cvw-benefits {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

.sf-cvw-benefits > div {
  padding: 28px;
  border: 1px solid var(--cvw-line);
  border-radius: var(--cvw-radius);
  background: #fff;
}

.sf-cvw-benefits h3 {
  margin-bottom: 16px;
  font-size: 19px;
}

.sf-cvw-benefits ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sf-cvw-benefits li {
  display: flex;
  gap: 12px;
  font-size: 16px;
}

.sf-cvw-benefits li svg {
  flex: none;
  width: 20px;
  height: 20px;
  margin-top: 3px;
  color: var(--cvw-red);
}

.sf-cvw-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--cvw-line);
  border-radius: var(--cvw-radius);
}

.sf-cvw-table-wrap table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
  font-variant-numeric: tabular-nums;
}

.sf-cvw-table-wrap th {
  padding: 14px 16px;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-align: left;
  background: var(--cvw-charcoal);
}

.sf-cvw-table-wrap td {
  padding: 12px 16px;
  border-top: 1px solid var(--cvw-line);
}

.sf-cvw-table-wrap tbody tr:nth-child(even) td {
  background: var(--cvw-paper);
}

.sf-cvw-table-wrap td:first-child {
  font-weight: 800;
}

.sf-cvw-note {
  margin-top: 12px;
  color: var(--cvw-text-2);
  font-size: 14px;
}

.sf-cvw-schema {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: 40px;
  margin-top: 48px;
}

.sf-cvw-schema img {
  border: 1px solid var(--cvw-line);
  border-radius: var(--cvw-radius);
  background: #fff;
}

.sf-cvw-schema ol {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 22px;
  color: var(--cvw-text-2);
  font-size: 15px;
}


/* ---------- despre ---------- */

.sf-cvw-timeline {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.sf-cvw-timeline div {
  padding-top: 18px;
  border-top: 4px solid var(--cvw-red);
}

.sf-cvw-timeline b {
  display: block;
  font-size: 34px;
  font-weight: 900;
}

.sf-cvw-timeline p {
  margin-top: 8px;
  color: var(--cvw-text-2);
}

.sf-cvw-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.sf-cvw-values div {
  padding: 26px;
  border-radius: var(--cvw-radius);
  background: var(--cvw-charcoal-2);
}

.sf-cvw-values h3 {
  margin-bottom: 10px;
  font-size: 20px;
}

.sf-cvw-values p {
  color: var(--cvw-on-dark-2);
}

.sf-cvw-wide-photo {
  width: 100%;
  border-radius: var(--cvw-radius);
  aspect-ratio: 21 / 9;
  object-fit: cover;
}


/* ---------- modal film ---------- */

.sf-cvw-modal {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(10, 11, 13, 0.92);
}

.sf-cvw-modal video {
  width: min(1100px, 100%);
  border-radius: 4px;
  aspect-ratio: 16 / 9;
  background: #000;
}

.sf-cvw-modal button {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  font-size: 24px;
  background: #fff;
  cursor: pointer;
}

/* ---------- corecții homepage / hero ---------- */

/*
 * Elimină paddingul și marginile introduse de template-ul WordPress
 * în jurul conținutului homepage-ului.
 */
body.home .wp-site-blocks > main#wp--skip-link--target,
body.home .wp-site-blocks > main#wp--skip-link--target > .wp-block-group {
  margin-block-start: 0 !important;
  padding-block: 0 !important;
}

/* Elimină titlul automat „Homepage”. */
body.home main#wp--skip-link--target > h1,
body.home main#wp--skip-link--target .wp-block-post-title {
  display: none !important;
}

/* Elimină spațiul dintre wrapperul Lazy Block și header. */
body.home main#wp--skip-link--target > *:has(.sf-cvw-hero),
body.home .wp-block-lazyblock-cvw-hero {
  margin-block-start: 0 !important;
  padding-block: 0 !important;
}

/*
 * Elimină outline-ul dreptunghiular de pe butonul filmului.
 * Focusul de tastatură rămâne vizibil numai pe cercul play.
 */
.sf-cvw-film-trigger:focus,
.sf-cvw-film-trigger:active,
.sf-cvw-film-trigger:focus-visible {
  outline: 0;
  box-shadow: none;
}

.sf-cvw-film-trigger:focus-visible i {
  border-color: var(--cvw-red);
  box-shadow: 0 0 0 3px rgba(237, 0, 45, 0.28);
}

/* ---------- pagina Contact: date și companii ---------- */

.sf-cvw-contact-company-title {
  margin: 0;
  font-size: 28px;
  line-height: 1.2;
}

.sf-cvw-contact-detail p {
  margin: 0;
}

.sf-cvw-contact-companies {
  display: grid;
  gap: 0;
  margin-top: 36px;
  border-bottom: 1px solid var(--cvw-line);
}

.sf-cvw-contact-company {
  display: grid;
  grid-template-columns: 138px minmax(0, 1fr);
  column-gap: 28px;
  align-items: center;
  min-width: 0;
  padding: 20px 0;
  border-top: 1px solid var(--cvw-line);
}

.sf-cvw-contact-company__logo {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 138px;
  min-width: 0;
}

.sf-cvw-contact-company__logo img {
  display: block;
  width: auto;
  max-width: 122px;
  height: 42px;
  max-height: 42px;
  object-fit: contain;
  object-position: left center;
}

.sf-cvw-contact-company p {
  min-width: 0;
  margin: 0;
}

.sf-cvw-contact-company b {
  display: block;
  margin: 0 0 4px;
  color: var(--cvw-text);
  font-size: 17px;
  line-height: 1.3;
}

.sf-cvw-contact-company span {
  display: block;
  color: var(--cvw-text-2);
  font-size: 15px;
  line-height: 1.5;
}

/* ---------- hartă sediu ---------- */

.sf-cvw-map-section {
  position: relative;
  padding: 0;
  overflow: hidden;
}

.sf-cvw-map-link {
  position: relative;
  display: block;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
}

.sf-cvw-map-image {
  display: block;
  width: 100%;
  max-width: none;
  aspect-ratio: 21 / 7;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.7);
  transition:
    filter 0.35s ease,
    transform 0.5s ease;
}

.sf-cvw-map-link::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(20, 22, 25, 0.08);
  pointer-events: none;
  transition: background-color 0.35s ease;
}

.sf-cvw-map-link:hover .sf-cvw-map-image {
  filter: saturate(0.9);
  transform: scale(1.015);
}

.sf-cvw-map-link:hover::after {
  background: rgba(20, 22, 25, 0.15);
}

.sf-cvw-map-button {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  white-space: nowrap;
  transform: translate(-50%, -50%);
}

.sf-cvw-map-button svg {
  width: 20px;
  height: 20px;
  flex: none;
}

/* ---------- corecție overlay header cu imagine ---------- */

/*
 * Anulează opacity: .22 din regula veche.
 * Imaginea trebuie afișată normal, iar întunecarea este controlată
 * exclusiv prin overlay.
 */
.sf-cvw-page-hero.sf-cvw-page-hero--image .sf-cvw-page-hero-bg {
  opacity: 1;
  filter: saturate(0.82);
}

/*
 * Overlay mai luminos, apropiat de macheta aprobată.
 */
.sf-cvw-page-hero.sf-cvw-page-hero--image::after {
  display: block;
  background:
    linear-gradient(
      90deg,
      rgba(20, 22, 25, 0.52) 0%,
      rgba(20, 22, 25, 0.42) 52%,
      rgba(20, 22, 25, 0.32) 100%
    );
}

/* ---------- header pagini interioare ---------- */

.sf-cvw-page-hero.sf-cvw-page-hero--image .sf-cvw-page-hero-bg {
  opacity: 1;
  filter: saturate(0.82);
}

/*
 * Overlay puțin mai închis decât varianta anterioară,
 * dar fără să revenim la aspectul foarte întunecat inițial.
 */
.sf-cvw-page-hero.sf-cvw-page-hero--image::after {
  display: block;
  background:
    linear-gradient(
      90deg,
      rgba(20, 22, 25, 0.58) 0%,
      rgba(20, 22, 25, 0.48) 52%,
      rgba(20, 22, 25, 0.36) 100%
    );
}


/* ---------- breadcrumb ---------- */

.sf-cvw-breadcrumbs {
  margin: 0 0 18px;
  color: var(--cvw-on-dark);
  font-size: 17px;
  line-height: 1.5;
}

.sf-cvw-breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sf-cvw-breadcrumbs li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
}

.sf-cvw-breadcrumbs li:not(:last-child)::after {
  content: "/";
  color: var(--cvw-on-dark-2);
}

.sf-cvw-breadcrumbs a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}

.sf-cvw-breadcrumbs a:hover {
  color: #fff;
}

.sf-cvw-breadcrumbs li[aria-current="page"] {
  color: #fff;
}

.sf-cvw-company-card .sf-cvw-company-tax-id {
  margin: 0;
  color: var(--cvw-text-2);
  font-size: 14px;
  line-height: 1.5;
}

/* ---------- misiune și valori ---------- */

.sf-cvw-mission-title {
  max-width: 26ch;
}

/* ---------- sediu și producție ---------- */

.sf-cvw-film-trigger--light {
  margin: 0;
  color: var(--cvw-text);
}

.sf-cvw-film-trigger--light i {
  border-color: var(--cvw-red);
  background: var(--cvw-red);
  color: #fff;
}

.sf-cvw-film-trigger--light small {
  color: var(--cvw-text-2);
}

.sf-cvw-film-trigger--light:hover i {
  background: var(--cvw-red-dark);
  border-color: var(--cvw-red-dark);
}

.sf-cvw-facility-gallery {
  margin-top: 22px;
}

.sf-cvw-facility-gallery img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--cvw-radius);
  object-fit: cover;
}


/* ---------- modal film ---------- */

.sf-cvw-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(10, 11, 13, 0.92);
}

.sf-cvw-modal video {
  width: min(1100px, 100%);
  max-height: calc(100vh - 40px);
  aspect-ratio: 16 / 9;
  border-radius: 4px;
  background: #000;
}

.sf-cvw-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  display: grid;
  width: 44px;
  height: 44px;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: var(--cvw-text);
  font: inherit;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

body.sf-cvw-modal-open {
  overflow: hidden;
}

/* ---------- galerie video ---------- */

.sf-cvw-videos {
  display: grid;
  gap: 22px;
}

.sf-cvw-videos--one {
  grid-template-columns: minmax(0, 1fr);
}

.sf-cvw-videos--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sf-cvw-videos--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-cvw-video-card {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: var(--cvw-radius);
  background: var(--cvw-charcoal);
  color: #fff;
  font: inherit;
  text-align: left;
  aspect-ratio: 16 / 9;
  cursor: pointer;
}

.sf-cvw-video-card img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  opacity: 0.75;
  transition:
    opacity 0.3s ease,
    transform 0.4s ease;
}

.sf-cvw-video-card:not(:disabled):hover img {
  opacity: 0.62;
  transform: scale(1.02);
}

.sf-cvw-video-card .sf-cvw-play {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  width: 72px;
  height: 72px;
  place-items: center;
  border-radius: 50%;
  background: var(--cvw-red);
  transform: translate(-50%, -50%);
}

.sf-cvw-video-card .sf-cvw-play svg {
  width: 24px;
  height: 24px;
  margin-left: 4px;
  color: #fff;
}

.sf-cvw-video-card.is-video-missing {
  cursor: default;
}

.sf-cvw-video-card .sf-cvw-placeholder {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 5px 9px;
  border-radius: 4px;
  background: #fff;
  color: var(--cvw-text);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.sf-cvw-section-header {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 32px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}

.sf-cvw-section-header h2 {
  margin: 0;
  font-size: clamp(30px, 3.2vw, 42px);
}

.sf-cvw-section-header p {
  max-width: 58ch;
  margin: 12px 0 0;
  color: var(--cvw-text-2);
}

.sf-cvw-products-categories {
  padding-top: 72px;
}

.sf-cvw-product-card .sf-cvw-media {
  position: relative;
  aspect-ratio: 16 / 10;
  background: var(--cvw-paper);
  overflow: hidden;
}

.sf-cvw-product-card .sf-cvw-media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.sf-cvw-product-card .sf-cvw-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 8px;
  padding: 18px 22px 20px;
}

.sf-cvw-product-card h3 {
  margin: 0;
  font-size: 20px;
}

.sf-cvw-product-card p {
  margin: 0;
  color: var(--cvw-text-2);
  font-size: 16px;
  line-height: 1.5;
}

.sf-cvw-product-card .sf-cvw-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 10px;
}

.sf-cvw-category-section .sf-cvw-section-header > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.sf-cvw-category-section .sf-cvw-eyebrow {
  margin-bottom: 0;
}



.sf-cvw-project-card {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: var(--cvw-radius);
  color: #fff;
  aspect-ratio: 4 / 3;
  text-decoration: none;
  background: var(--cvw-charcoal);
}

a.sf-cvw-project-card:hover {
  color: #fff;
}

a.sf-cvw-project-card:hover img {
  transform: scale(1.03);
}

a.sf-cvw-project-card img {
  transition: transform 0.35s ease;
}

/* ---------- pagina single lucrare ---------- */

.sf-cvw-project-pager {
  border-bottom: 1px solid var(--cvw-line);
  background: #fff;
}

.sf-cvw-project-pager .sf-container {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 24px;
  min-height: 72px;
}

.sf-cvw-project-pager__link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  max-width: min(100%, 420px);
  padding-block: 18px;
  color: var(--cvw-text);
  text-decoration: none;
}

.sf-cvw-project-pager__link--next {
  margin-left: auto;
  text-align: right;
}

.sf-cvw-project-pager__label {
  display: block;
  color: var(--cvw-text-2);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.sf-cvw-project-pager__link strong {
  display: block;
  margin-top: 2px;
  font-size: 17px;
  line-height: 1.3;
}

.sf-cvw-project-pager__link:hover strong {
  color: var(--cvw-red-dark);
}

.sf-cvw-project-page .sf-cvw-page-hero .sf-cvw-eyebrow::before {
  background: var(--cvw-red);
}

/* ---------- arhive taxonomie (categorie produs / lucrare) ---------- */

.sf-cvw-taxonomy-page .sf-cvw-page-hero .sf-cvw-eyebrow::before {
  background: var(--cvw-red);
}

.sf-cvw-taxonomy-empty {
  margin: 0;
  color: var(--cvw-text-2);
  font-size: 18px;
}

/* ARTICOLE */
/* ---------- pagina single articol (știri) ---------- */

.sf-cvw-article-page .sf-cvw-page-hero .sf-cvw-eyebrow::before {
  background: var(--cvw-red);
}

.sf-cvw-article-meta {
  margin-top: 14px;
  color: var(--cvw-on-dark-2, rgba(255, 255, 255, 0.72));
  font-size: 15px;
  font-weight: 700;
}

.sf-cvw-article-content {
  max-width: 760px;
}

.sf-cvw-article-content > * + * {
  margin-top: 1.1em;
}

.sf-cvw-article-content h2 {
  margin-top: 1.6em;
  font-size: 28px;
  line-height: 1.25;
}

.sf-cvw-article-content h3 {
  margin-top: 1.35em;
  font-size: 20px;
  font-weight: 800;
}

.sf-cvw-article-content p,
.sf-cvw-article-content li {
  color: var(--cvw-text-2);
  font-size: 17px;
  line-height: 1.65;
}

.sf-cvw-article-content ul,
.sf-cvw-article-content ol {
  padding-left: 1.25em;
}

.sf-cvw-article-content .wp-block-image,
.sf-cvw-article-content .wp-block-gallery {
  margin-top: 1.75em;
  margin-bottom: 1.75em;
}

.sf-cvw-article-content .wp-block-image img,
.sf-cvw-article-content .wp-block-gallery img {
  border-radius: var(--cvw-radius);
  border: 1px solid var(--cvw-line);
}

.sf-cvw-article-content .wp-block-image figcaption,
.sf-cvw-article-content .wp-block-gallery figcaption {
  margin-top: 8px;
  color: var(--cvw-text-2);
  font-size: 14px;
}

.sf-cvw-news-page .sf-cvw-page-hero .sf-cvw-eyebrow::before {
  background: var(--cvw-red);
}

.sf-cvw-news-page .navigation.pagination {
  margin-top: 40px;
}

/* ---------- slider galerie articole (știri) ---------- */

.sf-cvw-article-slider {
  position: relative;
  margin: 1.75em 0 2.5em;
  max-width: none;
}

.sf-cvw-article-slider__viewport {
  overflow: hidden;
  border: 1px solid var(--cvw-line);
  border-radius: var(--cvw-radius);
  background: #fff;
}

.sf-cvw-article-slider__track {
  margin: 0;
}

.sf-cvw-article-slider__slide {
  margin: 0;
}

.sf-cvw-article-slider__slide[hidden] {
  display: none !important;
}

.sf-cvw-article-slider__slide img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.sf-cvw-article-slider__controls {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin-top: 12px;
  box-sizing: border-box;
}

.sf-cvw-article-slider.is-cvw-single .sf-cvw-article-slider__controls {
  display: none !important;
}

.sf-cvw-article-slider__btn {
  display: inline-flex !important;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 42px;
  min-width: 42px;
  height: 42px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--cvw-line);
  border-radius: 999px;
  background: #fff;
  color: var(--cvw-text);
  font-size: 20px;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

.sf-cvw-article-slider__btn:hover,
.sf-cvw-article-slider__btn:focus-visible {
  border-color: var(--cvw-red);
  color: var(--cvw-red-dark);
  outline: none;
}

.sf-cvw-article-slider__dots {
  display: flex !important;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
}

.sf-cvw-article-slider__dot {
  display: inline-block;
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: var(--cvw-line);
  cursor: pointer;
}

.sf-cvw-article-slider__dot.is-active {
  background: var(--cvw-red);
}

.sf-cvw-article-slider--overlay .sf-cvw-article-slider__controls {
  position: absolute;
  inset: 0 0 auto 0;
  height: calc(100% - 28px);
  margin: 0;
  padding: 0 10px;
  pointer-events: none;
}

.sf-cvw-article-slider--overlay .sf-cvw-article-slider__btn {
  pointer-events: auto;
  background: rgba(255, 255, 255, 0.92);
}

.sf-cvw-article-slider--overlay .sf-cvw-article-slider__dots {
  position: absolute;
  right: 0;
  bottom: -28px;
  left: 0;
  pointer-events: auto;
}

.sf-cvw-article-slider--overlay .sf-cvw-article-slider__controls {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0 10px;
  pointer-events: none;
}

.sf-cvw-article-slider--overlay .sf-cvw-article-slider__btn {
  pointer-events: auto;
  background: rgba(255, 255, 255, 0.92);
}

.sf-cvw-article-slider--overlay .sf-cvw-article-slider__dots {
  position: absolute;
  right: 0;
  bottom: -5px;
  left: 0;
  pointer-events: auto;
}