/* ARTESA project pages — modular Elementor sections shared by Equal Opportunity
   and Excellence projects. The project metadata/status system remains separate
   from these presentation widgets. */
body.artesa-elementor-project #primary.artesa-project-template-shell,
body.artesa-elementor-project .artesa-project-template-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
body.artesa-elementor-project .artesa-project-template-render { width: 100%; }
body.artesa-elementor-project #content,
body.artesa-elementor-project .site-content { background: #E8FAFD; }

.artesa-project-hero,
.artesa-project-stats,
.artesa-project-about,
.artesa-project-media,
.artesa-project-news,
.artesa-project-partners {
  box-sizing: border-box;
  width: min(100%, 1200px);
  margin-inline: auto;
}

/* Hero */
.artesa-project-hero {
  position: relative;
  overflow: hidden;
  min-height: 440px;
  background-color: #024AD8;
  background-size: cover;
  background-position: center;
  border-radius: 0;
  color: #fff;
  box-shadow: none;
}
.artesa-project-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #024AD8;
  opacity: .62;
}
.artesa-project-hero__inner {
  position: relative;
  z-index: 1;
  min-height: inherit;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 44px 48px;
}
.artesa-project-hero__title {
  margin: 0;
  max-width: 900px;
  color: inherit;
  font: 800 clamp(40px,5vw,70px)/1.04 Inter,system-ui,sans-serif;
  letter-spacing: -.03em;
}
.artesa-project-hero__subtitle {
  margin-top: 12px;
  color: rgba(255,255,255,.94);
  font: 600 clamp(18px,2vw,26px)/1.35 Inter,system-ui,sans-serif;
}
.artesa-project-hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.artesa-project-hero__button {
  display:inline-flex; align-items:center; justify-content:center;
  padding:11px 22px; border:2px solid #fff; border-radius:10px;
  font:700 15px/1.2 Inter,system-ui,sans-serif; text-decoration:none;
  transition:.2s ease;
}
.artesa-project-hero__button--primary { background:#fff; color:#024AD8; }
.artesa-project-hero__button--outline { background:transparent; color:#fff; }
.artesa-project-hero__button:hover { transform:translateY(-1px); }
.artesa-project-hero__button--preview { cursor:default; opacity:.72; }

/* Stats strip */
.artesa-project-stats {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:0;
  padding:20px 24px;
  border-radius:0;
  background:#24BDCC;
  box-shadow:none;
}
.artesa-project-stat { min-width:0; padding:6px 18px; text-align:center; border-right:1px solid rgba(255,255,255,.28); }
.artesa-project-stat:last-child { border-right:0; }
.artesa-project-stat__value,.artesa-project-stat__label { display:block; }
.artesa-project-stat__value { color:#fff; font:800 30px/1.1 Inter,system-ui,sans-serif; }
.artesa-project-stat__label { margin-top:6px; color:#E8FAFD; font:600 13px/1.3 Inter,system-ui,sans-serif; }

/* Shared section content. The visible band background now belongs to the
   surrounding Elementor container, so Elementor's Background control works. */
.artesa-project-about,
.artesa-project-media,
.artesa-project-partners {
  padding:32px 36px;
  background:transparent;
  border-radius:0;
}
.artesa-project-shadow-yes .artesa-project-about,
.artesa-project-shadow-yes .artesa-project-media,
.artesa-project-shadow-yes .artesa-project-partners { box-shadow:0 10px 28px rgba(15,23,42,.06); }
.artesa-project-about__title,
.artesa-project-media__title,
.artesa-project-news__title,
body.artesa-elementor-project .artesa-project-partners-heading .elementor-heading-title {
  margin:0 !important;
  color:#024AD8 !important;
  font-family:Inter,system-ui,sans-serif !important;
  font-size:clamp(26px,3vw,36px) !important;
  font-weight:800 !important;
  line-height:1.15 !important;
  letter-spacing:normal !important;
}

/* About: text only or text + image/video. */
.artesa-project-about__text { margin-top:16px; color:#111827; font:400 16px/1.65 Inter,system-ui,sans-serif; }
.artesa-project-about__text > :first-child { margin-top:0; }
.artesa-project-about__text > :last-child { margin-bottom:0; }
.artesa-project-about--has-media {
  display:grid;
  grid-template-areas:"text media";
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:stretch;
  gap:32px;
}
.artesa-project-about--ratio-40-60 { grid-template-columns:minmax(0,2fr) minmax(0,3fr); }
.artesa-project-about--ratio-60-40 { grid-template-columns:minmax(0,3fr) minmax(0,2fr); }
.artesa-project-about--media-left { grid-template-areas:"media text"; }
.artesa-project-about--align-start .artesa-project-about__media { align-self:start; }
.artesa-project-about--align-center .artesa-project-about__media { align-self:center; }
.artesa-project-about--align-end .artesa-project-about__media { align-self:end; }
.artesa-project-about__content { grid-area:text; min-width:0; }
.artesa-project-about__media { grid-area:media; min-width:0; }
.artesa-project-about__media-frame { display:block; width:100%; max-width:100%; border-radius:18px; overflow:hidden; }
.artesa-project-about__media img.artesa-project-about__media-frame { height:auto; object-fit:cover; }
.artesa-project-about__video iframe { display:block; width:100%; aspect-ratio:16/9; height:auto; border:0; }

/* Project media: image, gallery and/or video in one repeatable section. */
.artesa-project-media__items { display:flex; flex-direction:column; gap:20px; margin-top:18px; }
.artesa-project-media__image { width:100%; margin-inline:auto; }
.artesa-project-media__image > a,
.artesa-project-media__image > img { display:block; }
.artesa-project-media__frame { border-radius:16px; }
.artesa-project-media__image img { display:block; width:100%; height:auto; }
.artesa-project-media__video { width:100%; margin-inline:auto; overflow:hidden; }
.artesa-project-media__video iframe { display:block; width:100%; aspect-ratio:16/9; height:auto; border:0; }
.artesa-project-media__gallery-grid {
  --artesa-project-gallery-columns:4;
  display:grid;
  grid-template-columns:repeat(var(--artesa-project-gallery-columns),minmax(0,1fr));
  gap:14px;
}
.artesa-project-media__gallery-grid a { display:block; overflow:hidden; border-radius:14px; }
.artesa-project-media__gallery-grid img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.artesa-project-media__gallery-grid--count-1 { width:100%; margin-inline:auto; }
.artesa-project-media__gallery-carousel-source { display:flex; gap:12px; margin:0; padding:0; }
.artesa-project-media__gallery-carousel-source > figure { flex:0 0 calc((100% - 36px)/4); margin:0; min-width:calc((100% - 36px)/4); }
.artesa-project-media__gallery-carousel-source img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }

/* The article gallery JS converts .artesa-gallery into the same overlay carousel. */
.artesa-project-media .artesa-carousel--gallery { margin:0; max-width:100%; position:relative; width:100%; }
.artesa-project-media .artesa-carousel--gallery .artesa-carousel__track {
  display:flex !important;
  gap:12px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.artesa-project-media .artesa-carousel--gallery .artesa-carousel__track::-webkit-scrollbar { display:none; }
.artesa-project-media .artesa-carousel--gallery .artesa-carousel__slide {
  flex:0 0 calc((100% - 36px)/4) !important;
  min-width:calc((100% - 36px)/4) !important;
  margin:0 !important;
  scroll-snap-align:start;
}
.artesa-project-media .artesa-carousel--gallery .artesa-carousel__slide img {
  display:block; width:100%; aspect-ratio:4/3 !important; height:auto !important; object-fit:cover !important; border-radius:14px;
}
.artesa-project-media .artesa-carousel--gallery .artesa-carousel__controls--overlay {
  display:flex; position:absolute; inset:50% 0 auto; transform:translateY(-50%);
  justify-content:space-between !important; margin:0 !important; pointer-events:none; z-index:6;
}
.artesa-project-media .artesa-carousel--gallery .artesa-carousel__controls--overlay[hidden] {
  display:none !important;
}
.artesa-project-media .artesa-carousel--gallery .artesa-carousel__button {
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; padding:0; border:0; border-radius:50%;
  background:#24BDCC; color:#fff; font-size:20px; line-height:1;
  box-shadow:0 2px 8px rgba(16,24,32,.18); opacity:.9; cursor:pointer; pointer-events:auto;
}
.artesa-project-media .artesa-carousel--gallery .artesa-carousel__button--prev { margin-left:8px; }
.artesa-project-media .artesa-carousel--gallery .artesa-carousel__button--next { margin-right:8px; }
.artesa-project-media .artesa-carousel--gallery .artesa-carousel__button:hover,
.artesa-project-media .artesa-carousel--gallery .artesa-carousel__button:focus-visible { opacity:1; }
.artesa-project-media .artesa-carousel__toolbar { display:flex; justify-content:flex-end; align-items:center; width:100%; margin:0 0 14px; }
.artesa-project-media .artesa-carousel__gallery-open {
  position:static !important; inset:auto !important;
  display:inline-flex; align-items:center;
  padding:8px 14px; border:0; border-radius:999px;
  background:#E8FAFD; color:#024AD8; font:700 12px/1 Inter,system-ui,sans-serif; cursor:pointer;
}
.artesa-project-media .artesa-carousel__gallery-open:hover,
.artesa-project-media .artesa-carousel__gallery-open:focus-visible { background:#024AD8; color:#fff; }
.artesa-project-media .artesa-media-credit--project,
.artesa-project-about .artesa-media-credit--project {
  width:100%; margin-top:8px; color:#65717c; font:400 13px/1.45 Inter,system-ui,sans-serif; text-align:left;
}
.artesa-project-media .artesa-media-credit--project a,
.artesa-project-about .artesa-media-credit--project a { color:#024AD8; text-decoration:none; }
.artesa-project-media .artesa-media-credit--project a:hover,
.artesa-project-about .artesa-media-credit--project a:hover { text-decoration:underline; }

/* News: last 3 by default; JS reveals hidden cards in-place. */
.artesa-project-news { padding:36px 0; background:transparent; }
.artesa-project-news__heading { margin-bottom:18px; }
.artesa-project-news__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.artesa-project-news-card {
  overflow:hidden; display:flex; flex-direction:column; min-width:0;
  background:#fff; border-radius:18px; box-shadow:0 10px 26px rgba(15,23,42,.06);
}
.artesa-project-news-card.is-artesa-hidden { display:none; }
.artesa-project-news-card__media { display:block; background:#dff7fa; }
.artesa-project-news-card__media img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.artesa-project-news-card__body { display:flex; flex:1; flex-direction:column; padding:20px; }
.artesa-project-news-card__date { color:#64748b; font:600 12px/1.2 Inter,system-ui,sans-serif; }
.artesa-project-news-card h3 { margin:8px 0 0; font:800 19px/1.25 Inter,system-ui,sans-serif; }
.artesa-project-news-card h3 a { color:#024AD8; text-decoration:none; }
.artesa-project-news-card p { margin:10px 0 0; color:#334155; font:400 14px/1.55 Inter,system-ui,sans-serif; }
.artesa-project-news-card__link { margin-top:auto; padding-top:16px; color:#024AD8; font:700 13px/1.2 Inter,system-ui,sans-serif; text-decoration:none; }
.artesa-project-news__actions { margin-top:20px; text-align:center; }
.artesa-project-news__button {
  border:1px solid #024AD8; border-radius:999px; padding:10px 18px;
  background:#fff; color:#024AD8; font:700 13px/1.2 Inter,system-ui,sans-serif; cursor:pointer;
}

/* Partners / sponsors: one widget = one semantic group. Repeat it for another group. */
.artesa-project-partners { --artesa-partner-gap:34px; --artesa-partner-duration:28s; }
.artesa-project-partners__viewport { margin-top:0; width:100%; }
.artesa-project-partners__track { display:flex; align-items:center; }
.artesa-project-partners--grid .artesa-project-partners__track { flex-wrap:wrap; gap:var(--artesa-partner-gap); }
.artesa-project-partners--carousel .artesa-project-partners__viewport {
  overflow:hidden;
  width:100%;
}
.artesa-project-partners--carousel .artesa-project-partners__track {
  flex-wrap:nowrap;
  width:max-content;
  min-width:100%;
  gap:0;
  will-change:transform;
}
.artesa-project-partners--carousel[data-autoplay="yes"] .artesa-project-partners__track {
  animation:artesa-project-partners-marquee var(--artesa-partner-duration) linear infinite;
}
.artesa-project-partners--carousel .artesa-project-partners__group {
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:var(--artesa-partner-gap);
  padding-right:var(--artesa-partner-gap);
}
.artesa-project-partners--carousel:hover .artesa-project-partners__track { animation-play-state:paused; }
.artesa-project-partners--carousel .artesa-project-partner {
  width:190px;
  flex:0 0 190px;
  min-width:190px;
}
@keyframes artesa-project-partners-marquee {
  from { transform:translate3d(0,0,0); }
  to { transform:translate3d(calc(-100% / var(--artesa-partner-copies,6)),0,0); }
}
@media (prefers-reduced-motion: reduce) {
  .artesa-project-partners--carousel[data-autoplay="yes"] .artesa-project-partners__track { animation:none; transform:none; }
}
.artesa-project-partner { display:flex; min-height:74px; align-items:center; justify-content:center; }
.artesa-project-partner img { display:block; width:auto; max-width:100%; max-height:70px; object-fit:contain; }
.artesa-project-partner a { display:flex; align-items:center; justify-content:center; width:100%; color:#024AD8; text-decoration:none; font-weight:700; }

@media (max-width:900px) {
  .artesa-project-news__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .artesa-project-media__gallery-grid { --artesa-project-gallery-columns:2 !important; }
  .artesa-project-media .artesa-carousel--gallery .artesa-carousel__slide,
  .artesa-project-media__gallery-carousel-source > figure { flex-basis:calc((100% - 12px)/2) !important; min-width:calc((100% - 12px)/2) !important; }
}

@media (max-width:767px) {
  .artesa-project-hero { min-height:360px; border-radius:20px; }
  .artesa-project-hero__inner { padding:30px 24px; }
  .artesa-project-stats { grid-template-columns:repeat(2,minmax(0,1fr)); padding:16px; }
  .artesa-project-stat { border-right:0; border-bottom:1px solid rgba(255,255,255,.24); }
  .artesa-project-stat:nth-last-child(-n+2) { border-bottom:0; }
  .artesa-project-about,.artesa-project-media,.artesa-project-partners { padding:24px 20px; border-radius:0; }
  .artesa-project-about--has-media {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:20px;
  }
  /* On mobile, preserve the editorial left/right media choice as reading order:
     media-left => media first; media-right => text first. */
  .artesa-project-about__media { order:0; width:100%; }
  .artesa-project-about__content { order:0; width:100%; }
  .artesa-project-about--media-left .artesa-project-about__media { order:-1; }
  .artesa-project-news__grid,.artesa-project-media__gallery-grid { grid-template-columns:1fr; }
  .artesa-project-media .artesa-carousel--gallery .artesa-carousel__slide,
  .artesa-project-media__gallery-carousel-source > figure { flex-basis:calc((100% - 12px)/2) !important; min-width:calc((100% - 12px)/2) !important; }
}

/* Empty dynamic project widgets should not reserve gap inside the Elementor page. */
body.artesa-elementor-project .elementor-widget-artesa_project_stats:not(:has(.artesa-project-stats)),
body.artesa-elementor-project .elementor-widget-artesa_project_about:not(:has(.artesa-project-about)),
body.artesa-elementor-project .elementor-widget-artesa_project_media:not(:has(.artesa-project-media)),
body.artesa-elementor-project .elementor-widget-artesa_project_news:not(:has(.artesa-project-news)),
body.artesa-elementor-project .elementor-widget-artesa_project_partners:not(:has(.artesa-project-partners)) { display:none; }

/* Elementor-only helper for empty modular project sections. */
.elementor-editor-active .artesa-project-editor-placeholder {
  width:min(100%,1200px); margin-inline:auto; padding:22px 26px;
  border:1px dashed rgba(2,74,216,.38); border-radius:18px;
  background:rgba(255,255,255,.72); color:#47647a;
  font:600 14px/1.4 Inter,system-ui,sans-serif; text-align:center;
}


/* v0.21.0 — project pages use site-like full-width bands, while content stays on the site grid. */
body.artesa-elementor-project { overflow-x:hidden; }

/* Hero background/image spans the viewport. Content remains aligned to the site grid. */
body.artesa-elementor-project .artesa-project-hero {
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  border-radius:0;
  box-shadow:none;
}
body.artesa-elementor-project .artesa-project-hero__inner {
  box-sizing:border-box;
  width:min(100%,1200px);
  margin-inline:auto;
}

/* Other project sections remain 1200px content blocks, but their background extends edge-to-edge. */
body.artesa-elementor-project .artesa-project-stats,
body.artesa-elementor-project .artesa-project-about,
body.artesa-elementor-project .artesa-project-media,
body.artesa-elementor-project .artesa-project-news,
body.artesa-elementor-project .artesa-project-partners {
  position:relative;
  isolation:isolate;
  border-radius:0;
}
body.artesa-elementor-project .artesa-project-stats::before,
body.artesa-elementor-project .artesa-project-about::before,
body.artesa-elementor-project .artesa-project-media::before,
body.artesa-elementor-project .artesa-project-news::before,
body.artesa-elementor-project .artesa-project-partners::before {
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  background:inherit;
  pointer-events:none;
}

/* A project section is a band, not a floating card. Shadow remains opt-in but is off by default. */
body.artesa-elementor-project .artesa-project-stats,
body.artesa-elementor-project .artesa-project-about,
body.artesa-elementor-project .artesa-project-media,
body.artesa-elementor-project .artesa-project-news,
body.artesa-elementor-project .artesa-project-partners { box-shadow:none; }
body.artesa-elementor-project .artesa-project-shadow-yes .artesa-project-about,
body.artesa-elementor-project .artesa-project-shadow-yes .artesa-project-media,
body.artesa-elementor-project .artesa-project-shadow-yes .artesa-project-partners {
  box-shadow:0 10px 28px rgba(15,23,42,.06);
}

/* About: Sus/Centru/Jos moves the media itself relative to the text column. */
.artesa-project-about--has-media .artesa-project-about__content { align-self:start; }
.artesa-project-about--align-start .artesa-project-about__media { align-self:start !important; }
.artesa-project-about--align-center .artesa-project-about__media { align-self:center !important; }
.artesa-project-about--align-end .artesa-project-about__media { align-self:end !important; }

/* Media: one item is centred and capped at about two 4-column gallery cells. */
 .artesa-project-media__image,
.artesa-project-media__video,
.artesa-project-media__gallery-grid--count-1 {
  width:100%;
  max-width:50%;
  margin-left:auto;
  margin-right:auto;
}

/* 1/2/3/4 photos fill the available row instead of leaving empty quarter-cells. */
.artesa-project-media__gallery-grid {
  grid-template-columns:repeat(var(--artesa-project-gallery-columns,4),minmax(0,1fr));
}

@media (max-width:767px) {
  body.artesa-elementor-project .artesa-project-hero__inner { width:100%; }
  .artesa-project-media__image,
  .artesa-project-media__video,
  .artesa-project-media__gallery-grid--count-1 { max-width:100% !important; }
}
@media (max-width:900px) {
  .artesa-project-media__gallery-grid--count-1 { --artesa-project-gallery-columns:1 !important; }
}
/* Let full-bleed bands escape the Elementor content column. */
body.artesa-elementor-project [class*="elementor-widget-artesa_project_"] > .elementor-widget-container { overflow:visible; }


/* v0.21.2 — project sections touch each other; separation comes from their own padding/background. */
body.artesa-elementor-project .elementor-element-ae110000 {
  gap:0 !important;
  --gap:0px !important;
  --row-gap:0px !important;
  --column-gap:0px !important;
  padding:0 !important;
}

/* v0.21.4 — real Elementor project pages: section wrappers themselves do not
   add margins. Generated containers are also migrated to explicit gap/padding 0. */
body.artesa-elementor-project .elementor-widget-artesa_project_hero,
body.artesa-elementor-project .elementor-widget-artesa_project_about,
body.artesa-elementor-project .elementor-widget-artesa_project_media,
body.artesa-elementor-project .elementor-widget-artesa_project_news,
body.artesa-elementor-project .elementor-widget-artesa_project_partners,
body.artesa-elementor-project .artesa-project-partners-heading {
  margin-block-end:0 !important;
  margin-bottom:0 !important;
}

/* The partners title remains an ordinary Elementor H2, but receives a class so
   it can visually join the white partners band while staying independently editable. */
body.artesa-elementor-project .artesa-project-partners-heading {
  position:relative;
  isolation:isolate;
  box-sizing:border-box;
  padding:30px 32px 0;
}
body.artesa-elementor-project .artesa-project-partners-heading::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset-block:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  background:#fff;
  pointer-events:none;
}
body.artesa-elementor-project .artesa-project-partners-heading .elementor-heading-title {
  margin:0;
  color:#024AD8;
}
body.artesa-elementor-project .artesa-project-partners-heading + .elementor-widget-artesa_project_partners .artesa-project-partners {
  padding-top:18px;
}
@media (max-width:767px) {
  body.artesa-elementor-project .artesa-project-partners-heading { padding:24px 20px 0; }
}


/* v0.21.5 — partners carousel: keep every repeated sequence on ONE horizontal
   line even when theme/Elementor flex rules leak into the widget. */
body.artesa-elementor-project .artesa-project-partners--carousel .artesa-project-partners__track {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
}
body.artesa-elementor-project .artesa-project-partners--carousel .artesa-project-partners__group {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  align-content:center !important;
}
body.artesa-elementor-project .artesa-project-partners--carousel .artesa-project-partner {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:center !important;
}
body.artesa-elementor-project .artesa-project-partners--carousel .artesa-project-partner a {
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
}
body.artesa-elementor-project .artesa-project-partners--carousel .artesa-project-partner img {
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  object-fit:contain !important;
}

/* v0.21.9 — partner presentation refinements.
   The project section stays in the 1200px content grid. Only the carousel
   viewport escapes to the viewport edges. */
body.artesa-elementor-project .artesa-project-partners--carousel {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  overflow:visible !important;
}
body.artesa-elementor-project .artesa-project-partners--carousel .artesa-project-partners__viewport {
  position:relative !important;
  left:50% !important;
  width:100vw !important;
  max-width:none !important;
  margin-left:-50vw !important;
  margin-right:0 !important;
  overflow:hidden !important;
}

/* A short static grid is centred as a group instead of being anchored left. */
body.artesa-elementor-project .artesa-project-partners--grid .artesa-project-partners__viewport {
  width:100% !important;
}
body.artesa-elementor-project .artesa-project-partners--grid .artesa-project-partners__track {
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Keep the marquee strictly horizontal regardless of Elementor/theme flex rules. */
body.artesa-elementor-project .artesa-project-partners--carousel .artesa-project-partners__track {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
}
body.artesa-elementor-project .artesa-project-partners--carousel .artesa-project-partners__group {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  flex:0 0 auto !important;
  align-items:center !important;
  width:max-content !important;
  min-width:max-content !important;
}
body.artesa-elementor-project .artesa-project-partners--carousel .artesa-project-partner {
  display:flex !important;
  flex:0 0 var(--artesa-partner-item-width,190px) !important;
  width:var(--artesa-partner-item-width,190px) !important;
  min-width:var(--artesa-partner-item-width,190px) !important;
  max-width:var(--artesa-partner-item-width,190px) !important;
  align-items:center !important;
  justify-content:center !important;
}
body.artesa-elementor-project .artesa-project-partners--carousel .artesa-project-partner a {
  display:flex !important;
  width:100% !important;
  align-items:center !important;
  justify-content:center !important;
}
body.artesa-elementor-project .artesa-project-partners--carousel .artesa-project-partner img {
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  object-fit:contain !important;
}


/* v0.21.10 — optional partner label below the logo.
   The logo lives in a fixed-height row so items with and without visible text
   keep every logo on the same horizontal line in both grid and carousel. */
body.artesa-elementor-project .artesa-project-partner,
body.artesa-elementor-project .artesa-project-partner > a,
body.artesa-elementor-project .artesa-project-partner__content {
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
}
body.artesa-elementor-project .artesa-project-partner > a,
body.artesa-elementor-project .artesa-project-partner__content {
  display:flex !important;
  width:100% !important;
}
body.artesa-elementor-project .artesa-project-partner__logo {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:70px !important;
  flex:0 0 70px !important;
}
body.artesa-elementor-project .artesa-project-partner__logo img {
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:70px !important;
  object-fit:contain !important;
}
body.artesa-elementor-project .artesa-project-partner__label,
.artesa-project-partners--labels .artesa-project-partner__label {
  display:flex !important;
  width:100% !important;
  height:34px !important;
  min-height:34px !important;
  margin-top:8px !important;
  align-items:flex-start !important;
  justify-content:center !important;
  text-align:center !important;
  color:var(--artesa-partner-label-color, #111827) !important;
  font-family:var(--artesa-partner-label-font-family, Inter, system-ui, sans-serif) !important;
  font-size:var(--artesa-partner-label-font-size, 13px) !important;
  font-weight:600 !important;
  line-height:1.25 !important;
  white-space:normal !important;
  overflow:hidden !important;
  visibility:visible !important;
  opacity:1 !important;
}
body.artesa-elementor-project .artesa-project-partner__fallback {
  display:block;
  text-align:center;
}

body.artesa-elementor-project .artesa-project-partners--labels .artesa-project-partners__track,
body.artesa-elementor-project .artesa-project-partners--labels .artesa-project-partners__group {
  align-items:flex-start !important;
}


/* v0.21.15 — Elementor-native section backgrounds.
   Each visual band is now a real Elementor container. The custom widget stays
   transparent by default, so changing Style > Background on that container is
   immediately visible. Existing widget-level background controls remain as an
   optional inner override. */
body.artesa-elementor-project .artesa-project-root-container,
body.artesa-elementor-project .artesa-project-section-container {
  box-sizing:border-box;
  width:100%;
  max-width:none;
}

/* The old full-bleed pseudo surfaces are unnecessary inside the new section
   containers; the Elementor container itself paints the full-width band. */
body.artesa-elementor-project .artesa-project-section-container .artesa-project-stats::before,
body.artesa-elementor-project .artesa-project-section-container .artesa-project-about::before,
body.artesa-elementor-project .artesa-project-section-container .artesa-project-media::before,
body.artesa-elementor-project .artesa-project-section-container .artesa-project-news::before,
body.artesa-elementor-project .artesa-project-section-container .artesa-project-partners::before {
  display:none !important;
}

/* Partners heading belongs to the same Elementor band as the logos. Keep the
   text aligned to the 1200px content grid and let the parent container provide
   the background. */
body.artesa-elementor-project .artesa-project-section-partners .artesa-project-partners-heading {
  box-sizing:border-box;
  width:min(100%,1200px);
  margin-left:auto !important;
  margin-right:auto !important;
}
body.artesa-elementor-project .artesa-project-section-partners .artesa-project-partners-heading::before {
  display:none !important;
}

/* Very low-specificity defaults preserve the current visual rhythm immediately
   after migration. Any background selected in Elementor wins over these. */
:where(.artesa-project-section-about),
:where(.artesa-project-section-media),
:where(.artesa-project-section-partners) { background-color:#fff; }
:where(.artesa-project-section-news) { background-color:#E8FAFD; }


/* v0.21.16 — one background owner only.
   About / Media / News / Partners inherit the visual background from their
   parent Elementor container. Old widget-level backgrounds and the historical
   full-width heading surface are intentionally neutralized. */
body.artesa-elementor-project .elementor-widget-artesa_project_about,
body.artesa-elementor-project .elementor-widget-artesa_project_media,
body.artesa-elementor-project .elementor-widget-artesa_project_news,
body.artesa-elementor-project .elementor-widget-artesa_project_partners,
body.artesa-elementor-project .elementor-widget-artesa_project_about > .elementor-widget-container,
body.artesa-elementor-project .elementor-widget-artesa_project_media > .elementor-widget-container,
body.artesa-elementor-project .elementor-widget-artesa_project_news > .elementor-widget-container,
body.artesa-elementor-project .elementor-widget-artesa_project_partners > .elementor-widget-container,
body.artesa-elementor-project .artesa-project-about,
body.artesa-elementor-project .artesa-project-media,
body.artesa-elementor-project .artesa-project-news,
body.artesa-elementor-project .artesa-project-partners,
body.artesa-elementor-project .artesa-project-partners-heading,
body.artesa-elementor-project .artesa-project-partners-heading > .elementor-widget-container {
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}
body.artesa-elementor-project .artesa-project-about::before,
body.artesa-elementor-project .artesa-project-media::before,
body.artesa-elementor-project .artesa-project-news::before,
body.artesa-elementor-project .artesa-project-partners::before,
body.artesa-elementor-project .artesa-project-partners-heading::before {
  display:none !important;
  content:none !important;
}


/* v0.21.17 — final background inheritance hardening.
   The Elementor section/container is the only background owner. Keep every
   internal Partners layer transparent as well, including the full-width
   carousel viewport/track/groups. */
body.artesa-elementor-project .artesa-project-partners__viewport,
body.artesa-elementor-project .artesa-project-partners__track,
body.artesa-elementor-project .artesa-project-partners__group,
body.artesa-elementor-project .artesa-project-partner,
body.artesa-elementor-project .artesa-project-partner > a,
body.artesa-elementor-project .artesa-project-partner__content,
body.artesa-elementor-project .artesa-project-partner__logo {
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}


/* v0.21.18 — Elementor section background is full-bleed, content stays on the
   1200px grid. The section container remains the single background owner; its
   actual computed background is mirrored onto a viewport-wide layer. */
body.artesa-elementor-project .artesa-project-section-container {
  position:relative !important;
  isolation:isolate !important;
  overflow:visible !important;
}
body.artesa-elementor-project .artesa-project-section-container:not(.artesa-project-section-hero)::before {
  content:"" !important;
  position:absolute !important;
  z-index:-1 !important;
  top:0 !important;
  bottom:0 !important;
  left:50% !important;
  width:100vw !important;
  max-width:none !important;
  transform:translateX(-50%) !important;
  background:inherit !important;
  border-radius:0 !important;
  pointer-events:none !important;
}

/* v0.21.19 — actual Elementor containers are the full-bleed bands.
   Previous versions tried to mirror a boxed container background onto a
   pseudo-element. That still left the real Elementor background visibly boxed
   in some layouts. The container itself now escapes the 1200px parent; only its
   project-widget content is constrained back to the site grid. */
body.artesa-elementor-project .artesa-project-section-container {
  box-sizing:border-box !important;
  position:relative !important;
  left:auto !important;
  width:100vw !important;
  max-width:100vw !important;
  min-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  align-self:stretch !important;
  overflow:visible !important;
  isolation:auto !important;
  --width:100vw !important;
  --content-width:100vw !important;
}

/* No synthetic background layer: Style > Background on the Elementor
   container is now literally the edge-to-edge section background. */
body.artesa-elementor-project .artesa-project-section-container::before {
  display:none !important;
  content:none !important;
}

/* Keep the editable content itself on the 1200px site grid. Hero is excluded,
   because its own inner wrapper already constrains the text while the hero
   image/background intentionally spans the viewport. */
body.artesa-elementor-project .artesa-project-section-container:not(.artesa-project-section-hero)
  > :is(.elementor-widget-artesa_project_about,
        .elementor-widget-artesa_project_media,
        .elementor-widget-artesa_project_news,
        .elementor-widget-artesa_project_partners,
        .artesa-project-partners-heading) {
  box-sizing:border-box !important;
  width:min(100%,1200px) !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  align-self:center !important;
}

body.artesa-elementor-project .artesa-project-section-container.artesa-project-section-hero
  > .elementor-widget-artesa_project_hero {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

/* Defensive support for a manually created Elementor container around one of
   our project widgets before the layout-upgrade pass has attached the ARTESA
   section class. The root project container is explicitly excluded. */
body.artesa-elementor-project .e-con:not(.artesa-project-root-container):has(> .elementor-widget-artesa_project_about),
body.artesa-elementor-project .e-con:not(.artesa-project-root-container):has(> .elementor-widget-artesa_project_media),
body.artesa-elementor-project .e-con:not(.artesa-project-root-container):has(> .elementor-widget-artesa_project_news),
body.artesa-elementor-project .e-con:not(.artesa-project-root-container):has(> .elementor-widget-artesa_project_partners) {
  box-sizing:border-box !important;
  width:100vw !important;
  max-width:100vw !important;
  min-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  overflow:visible !important;
  --width:100vw !important;
  --content-width:100vw !important;
}

body.artesa-elementor-project .e-con:not(.artesa-project-root-container):has(> .elementor-widget-artesa_project_about)
  > .elementor-widget-artesa_project_about,
body.artesa-elementor-project .e-con:not(.artesa-project-root-container):has(> .elementor-widget-artesa_project_media)
  > .elementor-widget-artesa_project_media,
body.artesa-elementor-project .e-con:not(.artesa-project-root-container):has(> .elementor-widget-artesa_project_news)
  > .elementor-widget-artesa_project_news,
body.artesa-elementor-project .e-con:not(.artesa-project-root-container):has(> .elementor-widget-artesa_project_partners)
  > :is(.elementor-widget-artesa_project_partners,.artesa-project-partners-heading) {
  box-sizing:border-box !important;
  width:min(100%,1200px) !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  align-self:center !important;
}


/* v0.21.21 — Partners enhancements retained on top of the stable v0.21.19
   full-width section model. */
.artesa-project-partners__title {
  margin:0;
  padding:0 0 18px;
  color:#024AD8;
  font-family:Inter,system-ui,sans-serif;
  font-size:clamp(26px,3vw,36px);
  font-weight:800;
  line-height:1.15;
  letter-spacing:normal;
}
.artesa-project-partners {
  --artesa-partner-logo-height:70px;
}
body.artesa-elementor-project .artesa-project-partner__logo {
  height:var(--artesa-partner-logo-height,70px) !important;
  flex-basis:var(--artesa-partner-logo-height,70px) !important;
}
body.artesa-elementor-project .artesa-project-partner__logo img {
  max-height:var(--artesa-partner-logo-height,70px) !important;
}

/* v0.22.x — Excellence project extensions. “Despre proiect” stays the
   original text + media component; team identity now belongs to the history
   widget, next to the competition record. */
.artesa-project-about__content-body { margin-top:16px; }
.artesa-project-about__content-body .artesa-project-about__text { margin-top:0; }
.artesa-project-about__gallery-button,
.artesa-project-history__button {
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid #024AD8;
  border-radius:999px;
  background:#fff;
  color:#024AD8;
  padding:10px 18px;
  font:700 13px/1.2 Inter,system-ui,sans-serif;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.artesa-project-about__gallery-button:hover,
.artesa-project-about__gallery-button:focus-visible { background:#024AD8; color:#fff; transform:translateY(-1px); }
.artesa-project-history__button {
  font-family:var(--artesa-history-button-font-family,Inter,system-ui,sans-serif) !important;
  font-size:var(--artesa-history-button-font-size,13px) !important;
  font-weight:var(--artesa-history-button-font-weight,700) !important;
  line-height:var(--artesa-history-button-line-height,1.2em) !important;
  color:var(--artesa-history-button-color,#024AD8) !important;
  background:var(--artesa-history-button-background,#fff) !important;
  border-style:var(--artesa-history-button-border-style,solid) !important;
  border-width:var(--artesa-history-button-border-width,1px) !important;
  border-color:var(--artesa-history-button-border-color,#024AD8) !important;
  border-radius:var(--artesa-history-button-radius,999px) !important;
  padding:var(--artesa-history-button-padding,10px 18px) !important;
  margin:var(--artesa-history-button-margin,0) !important;
}
.artesa-project-history__button:hover,
.artesa-project-history__button:focus-visible {
  background:var(--artesa-history-button-hover-background,#024AD8) !important;
  color:var(--artesa-history-button-hover-color,#fff) !important;
  border-color:var(--artesa-history-button-hover-border,#024AD8) !important;
  transform:translateY(-1px);
}
.artesa-project-about__gallery-button { margin-top:14px; }

.artesa-project-history {
  box-sizing:border-box;
  padding:32px 36px;
  background:transparent;
  border-radius:0;
}
.artesa-project-history__title {
  margin:0;
  color:#024AD8;
  font-family:Inter,system-ui,sans-serif;
  font-size:clamp(26px,3vw,36px);
  font-weight:800;
  line-height:1.15;
}
.artesa-project-history__body {
  display:grid;
  grid-template-areas:"history team";
  grid-template-columns:minmax(0,7fr) minmax(200px,3fr);
  column-gap:40px;
  align-items:start;
  margin-top:0;
}
.artesa-project-history--ratio-60-40 .artesa-project-history__body {
  grid-template-columns:minmax(0,3fr) minmax(220px,2fr);
}
.artesa-project-history--team-left .artesa-project-history__body {
  grid-template-areas:"team history";
  grid-template-columns:minmax(200px,3fr) minmax(0,7fr);
}
.artesa-project-history--team-left.artesa-project-history--ratio-60-40 .artesa-project-history__body {
  grid-template-columns:minmax(220px,2fr) minmax(0,3fr);
}
.artesa-project-history--no-team .artesa-project-history__body {
  display:block;
}
.artesa-project-history__main { grid-area:history; min-width:0; }
.artesa-project-history__team {
  grid-area:team;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  row-gap:12px;
  text-align:center;
}
.artesa-project-history--team-align-center .artesa-project-history__team { align-self:center; }
.artesa-project-history--team-align-start .artesa-project-history__team { align-self:start; }
.artesa-project-history__team-logo {
  width:100%;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}
.artesa-project-history__team-logo img {
  display:block;
  width:auto;
  height:auto;
  max-width:240px;
  max-height:220px;
  object-fit:contain;
}
.artesa-project-history__team-meta {
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:2px;
  text-align:center;
}
.artesa-project-history__team-members {
  color:#024AD8;
  font:700 15px/1.35 Inter,system-ui,sans-serif;
  text-align:center;
}
.artesa-project-history__team-founded {
  color:#334155;
  font:600 13px/1.4 Inter,system-ui,sans-serif;
  text-align:center;
}
.artesa-project-history__title + .artesa-project-history__list { margin-top:18px; }
.artesa-project-history__list {
  position:relative;
  display:grid;
  row-gap:12px;
  margin-top:0;
  padding-left:0;
  min-width:0;
}
.artesa-project-history__list::before {
  content:"";
  position:absolute;
  left:83px;
  top:8px;
  bottom:8px;
  width:2px;
  background:#CDEFF4;
}
.artesa-project-history__item {
  position:relative;
  display:grid;
  grid-template-columns:64px 14px minmax(0,1fr);
  column-gap:14px;
  align-items:start;
  min-height:28px;
}
.artesa-project-history__item.is-artesa-hidden { display:none; }
/* The HTML is emitted dot → year → text. Pin every piece to its intended
   column so the year never gets squeezed into the dot column. */
.artesa-project-history__year {
  grid-column:1;
  grid-row:1;
  color:#024AD8;
  font:800 14px/1.45 Inter,system-ui,sans-serif;
  text-align:right;
  white-space:nowrap;
}
.artesa-project-history__dot {
  grid-column:2;
  grid-row:1;
  position:relative;
  z-index:1;
  justify-self:center;
  width:10px;
  height:10px;
  margin-top:5px;
  border-radius:50%;
  background:#024AD8;
  box-shadow:0 0 0 4px var(--artesa-history-dot-ring,#fff);
}
.artesa-project-history__text {
  grid-column:3;
  grid-row:1;
  min-width:0;
  color:#1F2937;
  font:500 14px/1.5 Inter,system-ui,sans-serif;
  white-space:normal;
  overflow-wrap:break-word;
  hyphens:auto;
}
.artesa-project-history__actions { margin-top:20px; }

/* History follows exactly the stable v0.21.19 full-width section model. */
:where(.artesa-project-section-history) { background-color:#fff; }
body.artesa-elementor-project .elementor-widget-artesa_project_history,
body.artesa-elementor-project .elementor-widget-artesa_project_history > .elementor-widget-container,
body.artesa-elementor-project .artesa-project-history {
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}
body.artesa-elementor-project .artesa-project-history::before { display:none !important; content:none !important; }
body.artesa-elementor-project .elementor-widget-artesa_project_history:not(:has(.artesa-project-history)) { display:none; }
body.artesa-elementor-project .artesa-project-section-container:not(.artesa-project-section-hero)
  > .elementor-widget-artesa_project_history {
  box-sizing:border-box !important;
  width:min(100%,1200px) !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  align-self:center !important;
}
body.artesa-elementor-project .e-con:not(.artesa-project-root-container):has(> .elementor-widget-artesa_project_history) {
  box-sizing:border-box !important;
  width:100vw !important;
  max-width:100vw !important;
  min-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  overflow:visible !important;
  --width:100vw !important;
  --content-width:100vw !important;
}
body.artesa-elementor-project .e-con:not(.artesa-project-root-container):has(> .elementor-widget-artesa_project_history)
  > .elementor-widget-artesa_project_history {
  box-sizing:border-box !important;
  width:min(100%,1200px) !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  align-self:center !important;
}

@media (max-width:767px) {
  .artesa-project-history { padding:24px 20px; }
  .artesa-project-history--has-team .artesa-project-history__body,
  .artesa-project-history--team-left .artesa-project-history__body,
  .artesa-project-history--team-left.artesa-project-history--ratio-60-40 .artesa-project-history__body,
  .artesa-project-history--ratio-60-40 .artesa-project-history__body {
    grid-template-areas:"history" "team";
    grid-template-columns:minmax(0,1fr);
    row-gap:28px;
  }
  .artesa-project-history__team,
  .artesa-project-history--team-align-center .artesa-project-history__team,
  .artesa-project-history--team-align-start .artesa-project-history__team {
    align-self:start;
    align-items:center;
    text-align:center;
  }
  .artesa-project-history__team-logo { justify-content:center; }
  .artesa-project-history__team-logo img { max-width:min(240px,80vw); max-height:180px; }
  .artesa-project-history__list::before { left:10px; }
  .artesa-project-history__item {
    grid-template-columns:20px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:10px;
    row-gap:2px;
  }
  .artesa-project-history__year { grid-column:2; grid-row:1; text-align:left; font-size:13px; }
  .artesa-project-history__dot { grid-column:1; grid-row:1 / span 2; justify-self:start; }
  .artesa-project-history__text { grid-column:2; grid-row:2; }
}

/* v0.22.23 — dual-media project widget: image/image, video/video or mixed, with ratio-aware widths. */
.artesa-project-photo-video {
  box-sizing:border-box;
  width:min(100%,1200px);
  margin-inline:auto;
  padding:32px 36px;
  background:transparent;
  border-radius:0;
}
.artesa-project-photo-video__title {
  margin:0 !important;
  color:#024AD8;
  font-family:Inter,system-ui,sans-serif;
  font-size:clamp(26px,3vw,36px);
  font-weight:800;
  line-height:1.15;
  letter-spacing:normal;
}
.artesa-project-photo-video__grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:24px;
}
.artesa-project-photo-video__title + .artesa-project-photo-video__grid { margin-top:18px; }
.artesa-project-photo-video--single .artesa-project-photo-video__grid { grid-template-columns:minmax(0,1fr) !important; }
.artesa-project-photo-video--single .artesa-project-photo-video__item { width:100%; max-width:760px; margin-inline:auto; }
.artesa-project-photo-video__item { min-width:0; }
.artesa-project-photo-video__frame {
  display:block;
  width:100%;
  overflow:hidden;
  border-radius:16px;
  background:transparent;
}
.artesa-project-photo-video__image-file {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 50%;
}
.artesa-project-photo-video__video iframe,
.artesa-project-photo-video__video video {
  display:block;
  width:100%;
  height:100%;
  border:0;
}
.artesa-project-photo-video .artesa-media-credit--project { margin-top:8px; }
body.artesa-elementor-project .elementor-widget-artesa_project_photo_video,
body.artesa-elementor-project .elementor-widget-artesa_project_photo_video > .elementor-widget-container,
body.artesa-elementor-project .artesa-project-photo-video {
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}
body.artesa-elementor-project .elementor-widget-artesa_project_photo_video:not(:has(.artesa-project-photo-video)) { display:none; }
@media (max-width:767px) {
  .artesa-project-photo-video { padding:24px 20px; }
  .artesa-project-photo-video__grid { grid-template-columns:minmax(0,1fr) !important; gap:20px; }
  .artesa-project-photo-video__item { width:100%; max-width:none; margin-inline:0; }
}

/* v0.23.0 — ARTESA NOU: Partners can coexist with the legacy widget while
   keeping the same project-section geometry. */
body.artesa-elementor-project .artesa-project-section-container:not(.artesa-project-section-hero)
  > .elementor-widget-artesa_new_project_partners {
  box-sizing:border-box !important;
  width:min(100%,1200px) !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  align-self:center !important;
}
body.artesa-elementor-project .e-con:not(.artesa-project-root-container):has(> .elementor-widget-artesa_new_project_partners) {
  box-sizing:border-box !important;
  width:100vw !important;
  max-width:100vw !important;
  min-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  overflow:visible !important;
  --width:100vw !important;
  --content-width:100vw !important;
}
body.artesa-elementor-project .e-con:not(.artesa-project-root-container):has(> .elementor-widget-artesa_new_project_partners)
  > .elementor-widget-artesa_new_project_partners {
  box-sizing:border-box !important;
  width:min(100%,1200px) !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  align-self:center !important;
}
body.artesa-elementor-project .elementor-widget-artesa_new_project_partners,
body.artesa-elementor-project .elementor-widget-artesa_new_project_partners > .elementor-widget-container {
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}
body.artesa-elementor-project .elementor-widget-artesa_new_project_partners:not(:has(.artesa-project-partners)) {
  display:none;
}


/* v0.23.2 — ARTESA NOU Partners: make the new widget a first-class
   1200px centred section and make the logo-size controls actively scale the
   image instead of merely increasing a max-height ceiling. */
body.artesa-elementor-project .elementor-widget-artesa_new_project_partners {
  box-sizing:border-box !important;
  width:min(100%,1200px) !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  align-self:center !important;
}
body.artesa-elementor-project .elementor-widget-artesa_new_project_partners > .elementor-widget-container {
  width:100% !important;
}
body.artesa-elementor-project .elementor-widget-artesa_new_project_partners .artesa-project-partners--grid .artesa-project-partners__viewport,
body.artesa-elementor-project .elementor-widget-artesa_new_project_partners .artesa-project-partners--grid .artesa-project-partners__track {
  width:100% !important;
}
body.artesa-elementor-project .elementor-widget-artesa_new_project_partners .artesa-project-partners--grid .artesa-project-partners__track {
  justify-content:center !important;
}
body.artesa-elementor-project .elementor-widget-artesa_new_project_partners .artesa-project-partner__logo {
  height:var(--artesa-partner-logo-height,70px) !important;
  min-height:var(--artesa-partner-logo-height,70px) !important;
  flex:0 0 var(--artesa-partner-logo-height,70px) !important;
}
body.artesa-elementor-project .elementor-widget-artesa_new_project_partners .artesa-project-partner__logo img {
  display:block !important;
  width:auto !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
}


/* v0.23.3 — ARTESA NOU Partners is intentionally usable outside project pages
   too (for example inside articles). Do not depend on body.artesa-elementor-project
   for the geometry or logo-size controls. */
.elementor-widget-artesa_new_project_partners {
  box-sizing:border-box !important;
  width:min(100%,1200px) !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.elementor-widget-artesa_new_project_partners > .elementor-widget-container {
  width:100% !important;
}
.elementor-widget-artesa_new_project_partners .artesa-project-partners--grid .artesa-project-partners__viewport,
.elementor-widget-artesa_new_project_partners .artesa-project-partners--grid .artesa-project-partners__track {
  width:100% !important;
}
.elementor-widget-artesa_new_project_partners .artesa-project-partners--grid .artesa-project-partners__track {
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.elementor-widget-artesa_new_project_partners .artesa-project-partner,
.elementor-widget-artesa_new_project_partners .artesa-project-partner > a,
.elementor-widget-artesa_new_project_partners .artesa-project-partner__content {
  align-items:center !important;
  justify-content:flex-start !important;
}
.elementor-widget-artesa_new_project_partners .artesa-project-partner__logo {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:var(--artesa-partner-logo-height,70px) !important;
  min-height:var(--artesa-partner-logo-height,70px) !important;
  flex:0 0 var(--artesa-partner-logo-height,70px) !important;
}
.elementor-widget-artesa_new_project_partners .artesa-project-partner__logo img {
  display:block !important;
  width:auto !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
}
.elementor-widget-artesa_new_project_partners .artesa-project-partners--carousel .artesa-project-partner {
  display:flex !important;
  flex:0 0 var(--artesa-partner-item-width,190px) !important;
  width:var(--artesa-partner-item-width,190px) !important;
  min-width:var(--artesa-partner-item-width,190px) !important;
  max-width:var(--artesa-partner-item-width,190px) !important;
  align-items:center !important;
  justify-content:center !important;
}
