/*
 * EU-GENIA Academy - visual and responsive refinements
 *
 * Keep project-specific overrides here instead of editing Helix Ultimate or
 * SP Page Builder generated CSS. Many original page values came from the
 * imported demo and include large spacer columns and absolute offsets.
 */

/* DXC brand palette (03_Color Palette ASE.zip): Midnight Blue #0E1020, Royal
   #004AAC, True Blue #4995FF, Canvas #F6F3F0, Sky #A1E6FF, Gold #FFAE41. */
:root {
  --eugenia-ink: #0e1020;
  --eugenia-green: #004aac;
  --eugenia-green-dark: #0e1020;
  --eugenia-mint: rgba(161, 230, 255, 0.25);
  --eugenia-mint-light: #f6f3f0;
  --eugenia-accent: #004aac;
  --eugenia-surface: #ffffff;
  --eugenia-border: rgba(0, 74, 172, 0.16);
  --eugenia-shadow: 0 18px 44px rgba(14, 16, 32, 0.12);
  --eugenia-radius: 22px;
}

@font-face {
  font-family: 'GT Standard L Extended';
  src: url('../fonts/GT-Standard-L-Extended-Medium.otf') format('opentype');
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: 'GT Standard L Extended';
  src: url('../fonts/GT-Standard-L-Extended-Bold.otf') format('opentype');
  font-weight: 700;
  font-display: swap;
}

html {
  scroll-behavior: smooth;
}

body.site {
  color: var(--eugenia-ink);
  font-size: 16px !important;
  line-height: 1.65;
  overflow-wrap: break-word;
}

body.site h1,
body.site h2,
body.site h3,
body.site h4,
body.site h5,
body.site h6 {
  line-height: 1.25;
  overflow-wrap: break-word;
}

body.site p,
body.site .sppb-addon-content > :last-child {
  margin-bottom: 0;
}

.sp-page-builder .page-content {
  overflow: clip;
}

.sp-page-builder .sppb-row-container {
  width: min(calc(100% - 32px), 1140px);
  margin-inline: auto;
}

.sp-page-builder .sppb-row {
  row-gap: 28px;
}

.sppb-btn,
.btn {
  max-width: 100%;
  white-space: normal;
}

.sppb-btn,
.btn {
  font-family: 'GT Standard L Extended', sans-serif;
}

.sppb-btn {
  padding: 12px 24px;
  font-size: 16px !important;
  font-weight: 700;
  line-height: 1.35;
}

.sppb-addon-single-image-container,
.sppb-addon-single-image-container img {
  max-width: 100%;
}

/* Header and navigation --------------------------------------------------- */

#sp-header .logo img {
  max-width: min(250px, 100%);
  object-fit: contain;
}

#sp-header.header-sticky {
  box-shadow: 0 8px 24px rgba(14, 16, 32, 0.12);
}

.eugenia-header-partners {
  display: flex;
  align-items: center;
  align-self: stretch;
  gap: 15px;
  padding-right: 12px;
  padding-left: 12px;
}

.eugenia-header-logo {
  display: block;
  width: auto;
  max-width: 112px;
  object-fit: contain;
}

.eugenia-header-logo-federico {
  height: 24px;
  filter: invert(1);
}

.eugenia-header-logo-dxc {
  height: 25px;
}

.sp-megamenu-parent > li > a,
.sp-megamenu-parent > li > span {
  padding-inline: 14px;
  font-size: 16px !important;
  font-weight: 600;
  line-height: 1.25;
  white-space: nowrap;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a {
  padding: 11px 18px;
  font-size: 15px !important;
  line-height: 1.35;
  white-space: normal;
}

.offcanvas-menu .menu a,
.offcanvas-menu .menu span {
  font-size: 17px !important;
  line-height: 1.4;
}

/* Footer ------------------------------------------------------------------ */

/* A stray inline <style>#sp-bottom{background-color:#00645E}</style> tag is
 * emitted later in the document (source unclear -- not in template_styles,
 * not in presets/custom.css, not in any module's own params; possibly a
 * Helix per-position style cached elsewhere) and wins the cascade over both
 * presets/custom.css and this file for equal-specificity #sp-bottom rules.
 * Force the new brand color here so it can't be silently reverted by that
 * leftover teal value. */
#sp-bottom {
  background-color: #0E1020 !important;
}

#sp-bottom {
  padding: 54px 0 38px;
}

#sp-bottom .row {
  row-gap: 30px;
}

#sp-bottom .sp-module-title {
  margin-bottom: 16px;
  font-size: 20px !important;
  font-weight: 700 !important;
}

#sp-bottom a,
#sp-bottom .sp-contact-info {
  font-size: 15px;
  line-height: 1.55;
}

#sp-bottom .sp-contact-info li {
  display: flex;
  align-items: baseline;
  gap: 8px;
  white-space: normal;
}

/* Home: compact hero and readable introduction -------------------------- */

.itemid-101 #section-id-Yj7Toe6iVGHmjBfbQsGGH {
  position: relative;
  padding: clamp(52px, 7vw, 86px) 16px !important;
  background:
    radial-gradient(circle at 85% 15%, rgba(3, 69, 191, 0.10), transparent 28%),
    linear-gradient(135deg, #edf8f7 0%, #ceedeb 100%);
}

.itemid-101 #section-id-Yj7Toe6iVGHmjBfbQsGGH > .sppb-container-inner {
  position: relative;
  z-index: 1;
  width: min(100%, 1140px);
  margin-inline: auto;
}

.itemid-101 #section-id-Yj7Toe6iVGHmjBfbQsGGH > .sppb-container-inner > .sppb-row {
  justify-content: center;
  row-gap: 24px;
}

/* Empty demo columns previously created 658px of blank space. */
.itemid-101 #column-wrap-id-7Jf8aptT2UmPEfkvQczZs,
.itemid-101 #column-wrap-id-1768985127652,
.itemid-101 #section-id-OvtrpGG3eD2iwlsMwiuTb {
  display: none !important;
}

.itemid-101 #column-wrap-id-1768983505908,
.itemid-101 #column-wrap-id-1768985127653 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

.itemid-101 #sppb-addon-1768384001905 img {
  width: min(100%, 460px);
  margin-inline: auto;
}

.itemid-101 #sppb-addon-kkyn0eJbdy1aC9WKfNy4m .sppb-addon-title {
  max-width: 900px;
  margin-inline: auto !important;
  color: var(--eugenia-green-dark);
  font-size: clamp(34px, 5vw, 58px) !important;
  line-height: 1.08;
  text-wrap: balance;
}

.itemid-101 #section-id-1557305786572 {
  padding: clamp(52px, 6vw, 78px) 0 !important;
}

.itemid-101 #column-wrap-id-1557305786571 {
  margin: 0 !important;
  flex-basis: 100% !important;
  max-width: 100% !important;
}

.itemid-101 #section-id-1702916740766 > .sppb-container-inner > .sppb-row {
  align-items: center;
}

.itemid-101 #column-wrap-id-1702916740767 {
  flex: 0 0 58% !important;
  max-width: 58% !important;
}

.itemid-101 #column-wrap-id-S7UYGg56fOSg7csDz99lt {
  flex: 0 0 42% !important;
  max-width: 42% !important;
}

.itemid-101 #sppb-addon-uBd2McjzwJA-lOSL8ScH3 .sppb-addon-content,
.itemid-101 #sppb-addon-uBd2McjzwJA-lOSL8ScH3 .sppb-addon-content h4,
.itemid-101 #sppb-addon-GG6JzhJGlpRBZFXoVr4M4 .sppb-addon-content,
.itemid-101 #sppb-addon-GG6JzhJGlpRBZFXoVr4M4 .sppb-addon-content h4,
.itemid-101 #sppb-addon-zNoLNXcyoXfAD9HO1csBW h4,
.itemid-101 #sppb-addon-slUP1mdkijX6_MUNJKVrS h4 {
  font-size: clamp(18px, 1.6vw, 21px) !important;
  line-height: 1.55;
}

.itemid-101 #section-id-a3kKj4WPXXVBglUXn5z-n .sppb-container-inner {
  max-width: 900px;
  margin-inline: auto;
}

.itemid-101 #section-id-1769601434847 {
  padding: 42px 0 28px !important;
}

/* Home sector cards: equal columns, equal heights and contained text. */
.itemid-101 #section-id-1558421447996 {
  margin-bottom: 0 !important;
  padding: 12px 0 clamp(58px, 7vw, 88px) !important;
}

.itemid-101 #section-id-1558421447996 > .sppb-row-container > .sppb-row {
  align-items: stretch;
}

.itemid-101 #column-wrap-id-1558421447995,
.itemid-101 #column-wrap-id-1558422327620,
.itemid-101 #column-wrap-id-1702569974899 {
  display: flex;
  flex: 0 0 33.333333% !important;
  max-width: 33.333333% !important;
}

.itemid-101 #section-id-1558421447996 .sppb-column,
.itemid-101 #section-id-1558421447996 .sppb-column-addons,
.itemid-101 #section-id-1558421447996 .sppb-addon-wrapper,
.itemid-101 #section-id-1558421447996 .sppb-addon-image-layouts,
.itemid-101 #section-id-1558421447996 .sppb-addon-content,
.itemid-101 #section-id-1558421447996 .sppb-addon-image-layout-wrap {
  width: 100%;
  height: 100%;
}

/* SP Page Builder paints its own "wrapper_background" (teal) on the addon's
 * outer .clearfix wrapper, one level above the rounded card below. That
 * wrapper has no border-radius of its own, so its square corners peek out
 * from behind the card's rounded corners as small teal triangles. The card
 * already supplies its own background, so the outer wrapper should be
 * transparent. */
.itemid-101 #section-id-1558421447996 .sppb-column-addons .clearfix:has(.eugenia-gradient-card) {
  display: flex;
  width: 100%;
  height: 100%;
  background: transparent !important;
}

.itemid-101 #section-id-1558421447996 .sppb-addon-wrapper:has(.eugenia-gradient-card) {
  display: flex;
  width: 100%;
  height: 100%;
}

.itemid-101 #section-id-1558421447996 .sppb-addon-image-layout-wrap {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--eugenia-radius) !important;
  background: var(--eugenia-green);
  box-shadow: var(--eugenia-shadow);
}

.itemid-101 #section-id-1558421447996 .sppb-addon-image-layout-image {
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.itemid-101 #section-id-1558421447996 .sppb-addon-image-layout-image img {
  width: 100%;
  height: 100%;
  border-radius: 0 !important;
  object-fit: cover;
}

.itemid-101 #section-id-1558421447996 .sppb-addon-image-layout-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 28px 26px 30px;
  border-radius: 0 !important;
}

.itemid-101 #section-id-1558421447996 .sppb-image-layout-title {
  margin-bottom: 14px;
  font-size: 24px !important;
  line-height: 1.2;
}

.itemid-101 #section-id-1558421447996 .sppb-addon-image-layout-text h5 {
  margin-bottom: 10px;
  font-size: 16px !important;
  line-height: 1.5;
  text-align: left !important;
}

/* Module cards (Prompt Engineering / Data & AI Engineering / Sviluppo
 * Agile): DXC's own applied style is a single continuous brand gradient
 * behind the whole row, with each card a light frosted-glass panel on top
 * (dark text, pill button) - not three separate solid-color boxes. The
 * gradient lives on the shared section so it reads as one uninterrupted
 * sweep; !important is needed because SP Page Builder emits the section's
 * own background-color as an inline #id rule of equal-or-higher specificity
 * than a class-scoped override. */
.itemid-101 #section-id-1558421447996 {
  background: linear-gradient(100deg, #FFC982 0%, #FFAE41 28%, #FF7E51 50%, #A1E6FF 72%, #004AAC 100%) !important;
  background-size: 240% 100% !important;
  background-position: center !important;
}

.eugenia-gradient-card {
  position: relative;
  padding: 30px 28px;
  border-radius: var(--eugenia-radius);
  box-shadow: 0 20px 45px rgba(14, 16, 32, 0.18);
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: #0E1020;
  height: 100%;
  box-sizing: border-box;
}

.eugenia-gradient-card h4 {
  margin: 0 0 14px;
  color: #0E1020;
  font-family: 'GT Standard L Extended', sans-serif;
  font-size: 21px;
  line-height: 1.25;
  text-transform: uppercase;
}

.eugenia-gradient-card p {
  margin: 0 0 10px;
  color: #0E1020;
  font-size: 15px;
  line-height: 1.55;
}

.eugenia-gradient-card p:last-of-type {
  margin-bottom: 0;
}

.itemid-101 #section-id-1558421447996 > .sppb-row-container > .sppb-row {
  justify-content: center;
}

/* Mission ----------------------------------------------------------------- */

.itemid-117 .page-content > .sppb-section {
  padding: clamp(56px, 7vw, 88px) 0 !important;
}

.itemid-117 #section-id-1558937635292 {
  background: var(--eugenia-mint-light);
}

.itemid-117 #section-id-3791f6c3-5279-43d1-b250-2af61ea7df06 {
  background: var(--eugenia-surface);
}

.itemid-117 #column-wrap-id-1768475625532 {
  display: none !important;
}

.itemid-117 #column-wrap-id-e2f1249d-af92-46dc-8d45-5d5de75ef387 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

.itemid-117 .sppb-addon-content h4 {
  font-size: clamp(18px, 1.7vw, 22px) !important;
  line-height: 1.55;
}

.itemid-117 #sppb-addon-bce55134-e602-4342-828d-f12e27551b1c img {
  width: 100%;
  max-height: 330px;
  object-fit: contain;
}

.itemid-117 #section-id-1558937691664 {
  padding-block: 58px !important;
}

/* Training model: remove imported spacer/offset tricks ------------------- */

.itemid-118 .sppb-positioned-addon,
.itemid-119 .sppb-positioned-addon {
  position: relative !important;
  inset: auto !important;
  width: auto !important;
  transform: none !important;
}

.itemid-118 [id^="column-wrap-id-"] {
  margin-top: 0 !important;
  margin-left: 0 !important;
}

.itemid-118 .page-content > .sppb-section,
.itemid-118 .page-content > div.sppb-section {
  padding: clamp(52px, 7vw, 88px) 0 !important;
}

.itemid-118 #section-id-1689591480492 {
  background:
    radial-gradient(circle at 85% 20%, rgba(3, 69, 191, 0.10), transparent 30%),
    var(--eugenia-mint-light);
}

.itemid-118 #column-wrap-id-1689591480491,
.itemid-118 #column-wrap-id-1708937452158,
.itemid-118 #column-wrap-id-663a52dd-3382-45f1-bd8a-edf980da8be1,
.itemid-118 #column-wrap-id-1769698823412,
.itemid-118 #column-wrap-id-271cdbbf-c6e1-4ee2-bef2-c988df093e98,
.itemid-118 #column-wrap-id-6e35cdfe-9d9b-4805-b190-83c5575758ca,
.itemid-118 #column-wrap-id-1769698823615 {
  display: none !important;
}

.itemid-118 #column-wrap-id-1769698823273 {
  flex: 0 0 100% !important;
  max-width: 820px !important;
  margin-inline: auto;
  text-align: center;
}

.itemid-118 #section-id-1769698823373,
.itemid-118 #section-id-1768810333294 {
  padding-bottom: 28px !important;
  text-align: center;
}

.itemid-118 #section-id-770dcedf-6d22-46d1-ac6d-4ceaf7c292cc,
.itemid-118 #section-id-6e9df5ac-8963-484d-b65c-9b164d2329a2 {
  padding-top: 18px !important;
}

.itemid-118 #section-id-770dcedf-6d22-46d1-ac6d-4ceaf7c292cc > .sppb-row-container > .sppb-row,
.itemid-118 #section-id-6e9df5ac-8963-484d-b65c-9b164d2329a2 > .sppb-row-container > .sppb-row {
  align-items: stretch;
}

.itemid-118 #section-id-770dcedf-6d22-46d1-ac6d-4ceaf7c292cc .sppb-row > [id^="column-wrap-id-"],
.itemid-118 #section-id-6e9df5ac-8963-484d-b65c-9b164d2329a2 .sppb-row > [id^="column-wrap-id-"] {
  display: flex;
  flex: 0 0 33.333333% !important;
  max-width: 33.333333% !important;
}

.itemid-118 #section-id-770dcedf-6d22-46d1-ac6d-4ceaf7c292cc .sppb-column,
.itemid-118 #section-id-6e9df5ac-8963-484d-b65c-9b164d2329a2 .sppb-column {
  width: 100%;
  padding: 28px 24px !important;
  border: 1px solid var(--eugenia-border);
  border-radius: var(--eugenia-radius);
  background: #ffffff;
  box-shadow: 0 12px 32px rgba(3, 69, 65, 0.08);
}

.itemid-118 #section-id-770dcedf-6d22-46d1-ac6d-4ceaf7c292cc h5,
.itemid-118 #section-id-6e9df5ac-8963-484d-b65c-9b164d2329a2 h5 {
  font-size: 17px !important;
  line-height: 1.5;
}

.itemid-118 #section-id-770dcedf-6d22-46d1-ac6d-4ceaf7c292cc img,
.itemid-118 #section-id-6e9df5ac-8963-484d-b65c-9b164d2329a2 img {
  height: 150px;
  margin-inline: auto;
  object-fit: contain;
}

.itemid-118 #sppb-addon-d518ce21-1f5b-4bbc-b148-f94978db0a2d {
  padding-top: 0 !important;
}

.itemid-118 #section-id-508e8075-b103-47c6-b2a5-7209b977832c {
  padding: 48px 0 !important;
  box-shadow: none !important;
}

.itemid-118 #column-wrap-id-mpRDcvocw22qFR96hrTFt {
  flex: 0 0 100% !important;
  max-width: 900px !important;
  margin: 0 auto !important;
}

.itemid-118 #column-id-mpRDcvocw22qFR96hrTFt {
  padding: clamp(32px, 5vw, 58px) !important;
  border-radius: var(--eugenia-radius);
  background: linear-gradient(135deg, var(--eugenia-green-dark), var(--eugenia-green));
  box-shadow: var(--eugenia-shadow);
}

.itemid-118 #column-id-mpRDcvocw22qFR96hrTFt h4,
.itemid-118 #column-id-mpRDcvocw22qFR96hrTFt h5 {
  color: #ffffff;
}

.itemid-118 #section-id-8c7f60a5-db51-40b5-8496-761c2b2261c4 {
  background: var(--eugenia-green-dark);
}

.itemid-118 #column-wrap-id-e2a69703-086d-4358-b73b-85e388aba45e,
.itemid-118 #column-wrap-id-3pBdxaHtcfT1N4ZqbOY5a {
  display: block !important;
}

.itemid-118 #column-wrap-id-e2a69703-086d-4358-b73b-85e388aba45e {
  flex: 0 0 35% !important;
  max-width: 35% !important;
}

.itemid-118 #column-wrap-id-3pBdxaHtcfT1N4ZqbOY5a {
  flex: 0 0 65% !important;
  max-width: 65% !important;
}

.itemid-118 #column-id-3pBdxaHtcfT1N4ZqbOY5a {
  padding: 0 0 0 36px !important;
}

.itemid-118 #section-id-8c7f60a5-db51-40b5-8496-761c2b2261c4 h1,
.itemid-118 #section-id-8c7f60a5-db51-40b5-8496-761c2b2261c4 h5 {
  color: #ffffff;
}

.itemid-118 #sppb-addon-wrapper-5eecf87c-57d0-447b-a2eb-bc02c09f857f {
  margin-top: 16px !important;
}

/* Curriculum and selections --------------------------------------------- */

.itemid-119 .page-content > .sppb-section {
  padding: clamp(48px, 6vw, 76px) 0 !important;
}

.itemid-119 #section-id-1558597021672 {
  padding: 52px 16px !important;
  background:
    radial-gradient(circle at 15% 15%, rgba(3, 69, 191, 0.10), transparent 30%),
    var(--eugenia-mint-light);
}

.itemid-119 #section-id-1558597021672 > .sppb-container-inner {
  width: min(100%, 1140px);
  margin-inline: auto;
}

.itemid-119 #section-id-1558597021672 > .sppb-container-inner > .sppb-row {
  justify-content: center;
}

.itemid-119 #column-wrap-id-1558597021671,
.itemid-119 #column-wrap-id-M8oxc4Xd8tgNUuDtpYgSk {
  display: none !important;
}

.itemid-119 #column-wrap-id-eE77ncqFx_lNJik0JqAOF {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

.itemid-119 #sppb-addon-1768812089732 img {
  width: min(100%, 520px);
  margin-inline: auto;
}

.itemid-119 #section-id-1558599262907 {
  padding-block: 42px !important;
}

.itemid-119 #section-id-1558599262907 h1 {
  max-width: 920px;
  margin-inline: auto;
  font-size: clamp(30px, 4vw, 46px) !important;
  text-wrap: balance;
}

.itemid-119 #section-id-Oqcvejy7ZQPtatOY7wcEW,
.itemid-119 #section-id-1558604544306 {
  padding-block: 44px !important;
}

.itemid-119 #section-id-Oqcvejy7ZQPtatOY7wcEW > .sppb-row-container > .sppb-row,
.itemid-119 #section-id-1558604544306 > .sppb-row-container > .sppb-row {
  display: grid;
  grid-template-columns: 96px 1fr 96px 1fr 96px 1fr;
  align-items: center;
  gap: 18px;
}

.itemid-119 #section-id-Oqcvejy7ZQPtatOY7wcEW .sppb-row > [id^="column-wrap-id-"],
.itemid-119 #section-id-1558604544306 .sppb-row > [id^="column-wrap-id-"] {
  width: 100% !important;
  max-width: none !important;
}

.itemid-119 .sppb-animated-number {
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 700;
  line-height: 1;
}

.itemid-119 .sppb-animated-number-title {
  margin-top: 6px;
  font-size: 16px;
  line-height: 1.3;
}

.itemid-119 #section-id-1xMW-9yGtZcH-0ED-_SyR > .sppb-row-container > .sppb-row,
.itemid-119 #section-id-1744973426445 > .sppb-row-container > .sppb-row,
.itemid-119 #section-id-e5dedc75-7292-4f1e-bddd-766248e12203 > .sppb-row-container > .sppb-row,
.itemid-119 #section-id-8BM8xnFcpiuJgmaFZTrr6 > .sppb-row-container > .sppb-row {
  align-items: center;
}

.itemid-119 #section-id-1xMW-9yGtZcH-0ED-_SyR .sppb-row > [id^="column-wrap-id-"],
.itemid-119 #section-id-1744973426445 .sppb-row > [id^="column-wrap-id-"],
.itemid-119 #section-id-e5dedc75-7292-4f1e-bddd-766248e12203 .sppb-row > [id^="column-wrap-id-"],
.itemid-119 #section-id-8BM8xnFcpiuJgmaFZTrr6 .sppb-row > [id^="column-wrap-id-"] {
  flex: 0 0 50% !important;
  max-width: 50% !important;
}

.itemid-119 #section-id-1xMW-9yGtZcH-0ED-_SyR h4,
.itemid-119 #section-id-1744973426445 h4,
.itemid-119 #section-id-e5dedc75-7292-4f1e-bddd-766248e12203 h4,
.itemid-119 #section-id-8BM8xnFcpiuJgmaFZTrr6 h4 {
  font-size: clamp(18px, 1.6vw, 21px) !important;
  line-height: 1.55;
}

.itemid-119 #section-id-1768811942753 > .sppb-row-container > .sppb-row {
  align-items: stretch;
}

.itemid-119 #section-id-1768811942753 .sppb-row > [id^="column-wrap-id-"] {
  display: flex;
  flex: 0 0 25% !important;
  max-width: 25% !important;
}

.itemid-119 #section-id-1768811942753 .sppb-column {
  width: 100%;
  padding: 26px 22px !important;
  border: 1px solid var(--eugenia-border);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 10px 28px rgba(3, 69, 65, 0.08);
}

.itemid-119 #section-id-1768811942753 h4,
.itemid-119 #section-id-1768811942753 h5 {
  font-size: 16px !important;
  line-height: 1.5;
}

.itemid-119 #sppb-addon-wrapper-uDaNonhRItS3AqQ8q2BSM {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  margin: 0 !important;
}

.itemid-119 #sppb-addon-uDaNonhRItS3AqQ8q2BSM img {
  width: 100%;
  border-radius: var(--eugenia-radius) !important;
  box-shadow: var(--eugenia-shadow);
}

/* The second, empty map row only duplicated the image with negative offsets. */
.itemid-119 #section-id-1768813734383 {
  display: none !important;
}

/* Application form ------------------------------------------------------- */

.itemid-120 #sp-main-body {
  padding: clamp(42px, 6vw, 72px) 0;
  background: var(--eugenia-mint-light);
}

.itemid-120 #sp-main-body > .container {
  max-width: 980px;
}

.itemid-120 .blog-featured > h1,
.itemid-120 .visforms-form > h1,
.itemid-120 .visforms-form > h2 {
  margin-bottom: 26px;
}

.itemid-120 #visform1 {
  padding: clamp(24px, 5vw, 48px);
  border: 1px solid var(--eugenia-border);
  border-radius: var(--eugenia-radius);
  background: #ffffff;
  box-shadow: var(--eugenia-shadow);
}

.itemid-120 .visforms-form a,
.itemid-120 #visform1 a {
  color: var(--eugenia-green);
  font-weight: 600;
  text-decoration: underline;
}

/* Two-badge step indicator ("1" / "Riepilogo") read as a stray, unlabeled
 * bar rather than a meaningful progress control on a form this short -
 * removed rather than explained. */
.itemid-120 #visform1 .visprogress {
  display: none;
}

.itemid-120 #visform1 .badge {
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 13px;
}

.itemid-120 #visform1 .fieldset-1.active {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 26px;
}

.itemid-120 #visform1 .vis_mandatory,
.itemid-120 #visform1 .field17,
.itemid-120 #visform1 .field43,
.itemid-120 #visform1 .field44,
.itemid-120 #visform1 .field4,
.itemid-120 #visform1 .field50,
.itemid-120 #visform1 .field55,
.itemid-120 #visform1 .field56,
.itemid-120 #visform1 .visBtnCon {
  grid-column: 1 / -1;
}

.itemid-120 #visform1 .visfield-container {
  min-width: 0;
  margin: 0;
}

.itemid-120 #visform1 fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.itemid-120 #visform1 .visCSSlabel,
.itemid-120 #visform1 .visCSSinput {
  float: none !important;
}

.itemid-120 #visform1 .visCSSclear {
  display: none;
}

.itemid-120 #visform1 .visCSSlabel:not(.visCheckbox) {
  display: block;
  width: auto;
  margin: 0 0 7px;
  font-weight: 700;
  line-height: 1.35;
}

.itemid-120 #visform1 .visCSSlabel.visCheckbox {
  display: block;
  width: auto;
  margin: 0;
  font-weight: 400;
  line-height: 1.45;
}

.itemid-120 #visform1 input[type="text"],
.itemid-120 #visform1 input[type="email"],
.itemid-120 #visform1 input[type="number"],
.itemid-120 #visform1 input[type="file"],
.itemid-120 #visform1 select,
.itemid-120 #visform1 textarea {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid #b9cfcd;
  border-radius: 8px;
  background: #ffffff;
  font-size: 16px;
}

.itemid-120 #visform1 input:focus,
.itemid-120 #visform1 select:focus,
.itemid-120 #visform1 textarea:focus {
  border-color: var(--eugenia-green);
  outline: 3px solid rgba(0, 100, 94, 0.14);
  box-shadow: none;
}

.itemid-120 #visform1 .input-append {
  display: flex;
}

.itemid-120 #visform1 .input-append input {
  border-radius: 8px 0 0 8px;
}

.itemid-120 #visform1 .input-append .btn {
  border-radius: 0 8px 8px 0;
}

.itemid-120 #visform1 .field4 [class^="fc-tbx"],
.itemid-120 #visform1 .field50 [class^="fc-tbx"],
.itemid-120 #visform1 .field55 [class^="fc-tbx"],
.itemid-120 #visform1 .field56 [class^="fc-tbx"] {
  grid-column: 1 / -1;
  order: -1;
}

.itemid-120 #visform1 .field4 [class^="fc-tbx"]:empty,
.itemid-120 #visform1 .field50 [class^="fc-tbx"]:empty,
.itemid-120 #visform1 .field55 [class^="fc-tbx"]:empty,
.itemid-120 #visform1 .field56 [class^="fc-tbx"]:empty {
  display: none;
}

.itemid-120 #visform1 .field4 .errorcontainer,
.itemid-120 #visform1 .field50 .errorcontainer,
.itemid-120 #visform1 .field55 .errorcontainer,
.itemid-120 #visform1 .field56 .errorcontainer {
  margin: 0 0 10px;
}

.itemid-120 #visform1 .field4 label.error,
.itemid-120 #visform1 .field50 label.error,
.itemid-120 #visform1 .field55 label.error,
.itemid-120 #visform1 .field56 label.error {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 8px;
  background: #fdecea;
  color: #bf1722;
  font-size: 13px;
  font-weight: 600;
}

.itemid-120 #visform1 .field4,
.itemid-120 #visform1 .field50,
.itemid-120 #visform1 .field55,
.itemid-120 #visform1 .field56 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px 18px;
  padding: 18px;
  border-radius: 12px;
  background: var(--eugenia-mint-light);
}

.itemid-120 #visform1 .field56 .visCustomText {
  grid-column: 1 / -1;
}

.itemid-120 #visform1 .visCheckbox {
  margin: 0;
  line-height: 1.45;
}

.itemid-120 #visform1 input[type="checkbox"] {
  width: 21px;
  height: 21px;
  margin: 0;
  accent-color: var(--eugenia-green);
}

.itemid-120 #visform1 hr {
  margin: 10px 0 2px;
  border-top: 1px solid var(--eugenia-border);
}

.itemid-120 #visform1 .vf-button-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 8px;
}

.itemid-120 #visform1 .vf-button-container .btn {
  min-height: 46px;
  padding: 10px 22px;
  border-color: var(--eugenia-green);
  border-radius: 8px;
  background: var(--eugenia-green);
  color: #ffffff;
  font-weight: 700;
}

/* Summary page: table readability + checkmark treatment for checkbox fields. */

.itemid-120 #visform1_summary {
  width: 100%;
  border-collapse: collapse;
}

.itemid-120 #visform1_summary td {
  padding: 14px 6px;
  border-bottom: 1px solid var(--eugenia-border);
  vertical-align: top;
}

.itemid-120 #visform1_summary .summary-label {
  width: 42%;
  padding-right: 18px;
  color: var(--eugenia-green-dark);
  font-weight: 600;
}

.itemid-120 #visform1_summary .summary-value {
  color: var(--eugenia-ink);
}

.itemid-120 #visform1_summary .summary-value.vf-check-yes,
.itemid-120 #visform1_summary .summary-value.vf-check-no {
  font-weight: 700;
}

.itemid-120 #visform1_summary .summary-value.vf-check-yes {
  color: var(--eugenia-green);
}

.itemid-120 #visform1_summary .summary-value.vf-check-no {
  color: #99a3a2;
}

/* Submit: processing spinner ------------------------------------------- */

.itemid-120 .vf-processing {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: clamp(48px, 8vw, 80px) 16px;
  text-align: center;
}

.itemid-120 .vf-processing p {
  margin: 0;
  color: var(--eugenia-green-dark);
  font-size: 18px;
  font-weight: 600;
}

.itemid-120 .vf-processing .vf-processing-sub {
  color: var(--eugenia-ink);
  font-size: 14px;
  font-weight: 400;
  opacity: 0.75;
}

.itemid-120 .vf-spinner {
  width: 52px;
  height: 52px;
  border: 5px solid var(--eugenia-mint);
  border-top-color: var(--eugenia-green);
  border-radius: 50%;
  animation: vf-spin 0.85s linear infinite;
}

@keyframes vf-spin {
  to {
    transform: rotate(360deg);
  }
}

/* Submit: success card --------------------------------------------------- */

.itemid-120 .vf-success-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: clamp(28px, 5vw, 48px) clamp(16px, 5vw, 40px);
  text-align: center;
}

.itemid-120 .vf-success-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--eugenia-green);
  color: #ffffff;
  font-size: 32px;
  line-height: 1;
  box-shadow: 0 10px 24px rgba(0, 100, 94, 0.28);
}

.itemid-120 .vf-success-title {
  margin: 0;
  color: var(--eugenia-green-dark);
  font-size: clamp(22px, 3vw, 28px) !important;
  font-weight: 700 !important;
}

.itemid-120 .vf-success-sub {
  max-width: 520px;
  margin: 0;
  color: var(--eugenia-ink);
  font-size: 16px;
  line-height: 1.5;
}

.itemid-120 .vf-success-idbox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  margin: 6px 0;
  padding: 18px 36px;
  border: 1px solid var(--eugenia-border);
  border-radius: 16px;
  background: var(--eugenia-mint-light);
}

.itemid-120 .vf-success-idlabel {
  color: var(--eugenia-green-dark);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.itemid-120 .vf-success-idvalue {
  color: var(--eugenia-green-dark);
  font-family: 'Courier New', ui-monospace, monospace;
  font-size: clamp(32px, 6vw, 44px);
  font-weight: 800;
  letter-spacing: 0.03em;
}

.itemid-120 .vf-success-note {
  max-width: 520px;
  margin: 0;
  color: var(--eugenia-ink);
  font-size: 14px;
  line-height: 1.55;
  opacity: 0.85;
}

/* Legal pages: treat heading-tagged paragraphs as readable body copy. */

.itemid-121 .page-content,
.itemid-151 .page-content {
  padding: clamp(42px, 6vw, 72px) 16px;
  background: var(--eugenia-mint-light);
}

.itemid-121 #section-id-1701682985392,
.itemid-151 #section-id-1701682985392 {
  width: min(100%, 960px);
  margin-inline: auto !important;
  padding: clamp(26px, 5vw, 52px) !important;
  border: 1px solid var(--eugenia-border);
  border-radius: var(--eugenia-radius) !important;
  background: #ffffff;
  box-shadow: var(--eugenia-shadow);
}

.itemid-121 #section-id-1701682985392 .sppb-row-container,
.itemid-151 #section-id-1701682985392 .sppb-row-container {
  width: 100%;
}

.itemid-121 #section-id-1701682985392 h4,
.itemid-151 #section-id-1701682985392 h4 {
  margin-bottom: 18px;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65;
}

.itemid-121 #section-id-1701682985392 h4:first-of-type {
  margin-bottom: 30px;
  color: var(--eugenia-green-dark);
  font-size: clamp(22px, 3vw, 30px) !important;
  font-weight: 700 !important;
  line-height: 1.25;
}

.itemid-121 #section-id-1701682985392 h4 strong,
.itemid-151 #section-id-1701682985392 h4 strong {
  color: var(--eugenia-green-dark);
  font-weight: 700;
}

/* Responsive ------------------------------------------------------------- */

@media (max-width: 1199.98px) {
  .sp-megamenu-parent > li > a,
  .sp-megamenu-parent > li > span {
    padding-inline: 9px;
    font-size: 15px !important;
  }

  .itemid-101 #column-wrap-id-1558421447995,
  .itemid-101 #column-wrap-id-1558422327620,
  .itemid-101 #column-wrap-id-1702569974899 {
    flex-basis: 50% !important;
    max-width: 50% !important;
  }
}

@media (max-width: 991.98px) {
  #sp-header {
    height: 64px;
  }

  #sp-header .logo,
  #offcanvas-toggler {
    height: 64px;
    line-height: 64px;
  }

  #sp-header .logo img {
    max-height: 42px;
  }

  .itemid-101 #column-wrap-id-1702916740767,
  .itemid-101 #column-wrap-id-S7UYGg56fOSg7csDz99lt,
  .itemid-119 #section-id-1xMW-9yGtZcH-0ED-_SyR .sppb-row > [id^="column-wrap-id-"],
  .itemid-119 #section-id-1744973426445 .sppb-row > [id^="column-wrap-id-"],
  .itemid-119 #section-id-e5dedc75-7292-4f1e-bddd-766248e12203 .sppb-row > [id^="column-wrap-id-"],
  .itemid-119 #section-id-8BM8xnFcpiuJgmaFZTrr6 .sppb-row > [id^="column-wrap-id-"] {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }

  .itemid-101 #section-id-1702916740766 .sppb-addon-text-block {
    text-align: left !important;
  }

  .itemid-118 #section-id-770dcedf-6d22-46d1-ac6d-4ceaf7c292cc .sppb-row > [id^="column-wrap-id-"],
  .itemid-118 #section-id-6e9df5ac-8963-484d-b65c-9b164d2329a2 .sppb-row > [id^="column-wrap-id-"] {
    flex-basis: 50% !important;
    max-width: 50% !important;
  }

  .itemid-118 #column-wrap-id-e2a69703-086d-4358-b73b-85e388aba45e,
  .itemid-118 #column-wrap-id-3pBdxaHtcfT1N4ZqbOY5a {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }

  .itemid-118 #column-id-3pBdxaHtcfT1N4ZqbOY5a {
    padding: 20px 0 0 !important;
  }

  .itemid-119 #section-id-Oqcvejy7ZQPtatOY7wcEW > .sppb-row-container > .sppb-row,
  .itemid-119 #section-id-1558604544306 > .sppb-row-container > .sppb-row {
    grid-template-columns: 84px 1fr;
  }

  .itemid-119 #section-id-1768811942753 .sppb-row > [id^="column-wrap-id-"] {
    flex-basis: 50% !important;
    max-width: 50% !important;
  }
}

@media (max-width: 767.98px) {
  .sp-page-builder .sppb-row-container {
    width: min(calc(100% - 24px), 1140px);
  }

  .itemid-101 #section-id-Yj7Toe6iVGHmjBfbQsGGH {
    padding-inline: 24px !important;
  }

  .itemid-101 #sppb-addon-kkyn0eJbdy1aC9WKfNy4m .sppb-addon-title {
    padding-inline: 0 !important;
  }

  /* "25 posti gratuiti..." + "In collaborazione con" logo: the logo sits in a
   * flex child with flex:0 0 auto (no shrink), so its 440px-wide image
   * overflows past the viewport edge and gets clipped instead of scaling
   * down. Stack the two blocks and let the logo shrink to the column width. */
  .itemid-101 #sppb-addon-1784734238754 .sppb-addon-content > div {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 22px !important;
  }

  .itemid-101 #sppb-addon-1784734238754 .sppb-addon-content > div > div {
    flex: 1 1 100% !important;
    width: 100% !important;
  }

  .itemid-101 #sppb-addon-1784734238754 .sppb-addon-content img {
    width: min(280px, 100%) !important;
    max-width: 100% !important;
    height: auto !important;
  }

  /* "Candidati Ora" carries its own 20px bottom padding (page builder
   * setting) on top of .eugenia-hero-cta's own margins, so the two hero
   * buttons end up ~75px apart - a lot of dead space over a plain photo
   * background. Tighten both on mobile. */
  .itemid-101 #sppb-addon-1769693913531 {
    padding-bottom: 4px !important;
  }

  .itemid-101 .eugenia-hero-cta {
    margin-top: 10px !important;
    margin-bottom: 6px !important;
  }

  .itemid-101 #column-wrap-id-1558421447995,
  .itemid-101 #column-wrap-id-1558422327620,
  .itemid-101 #column-wrap-id-1702569974899,
  .itemid-118 #section-id-770dcedf-6d22-46d1-ac6d-4ceaf7c292cc .sppb-row > [id^="column-wrap-id-"],
  .itemid-118 #section-id-6e9df5ac-8963-484d-b65c-9b164d2329a2 .sppb-row > [id^="column-wrap-id-"],
  .itemid-119 #section-id-1768811942753 .sppb-row > [id^="column-wrap-id-"] {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }

  .itemid-120 #visform1 .fieldset-1.active {
    grid-template-columns: 1fr;
  }

  .itemid-120 #visform1 .visfield-container,
  .itemid-120 #visform1 .vis_mandatory,
  .itemid-120 #visform1 .visBtnCon {
    grid-column: 1;
  }

  .itemid-120 #visform1 .vf-button-container .btn {
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  body.site {
    font-size: 15px !important;
  }

  #sp-bottom {
    padding-block: 42px 28px;
  }

  .itemid-101 #section-id-1558421447996 .sppb-addon-image-layout-content {
    padding: 24px 20px 26px;
  }

  .itemid-118 #column-id-mpRDcvocw22qFR96hrTFt,
  .itemid-119 #section-id-1768811942753 .sppb-column,
  .itemid-120 #visform1,
  .itemid-121 #section-id-1701682985392,
  .itemid-151 #section-id-1701682985392 {
    border-radius: 14px !important;
  }

  .itemid-120 #visform1 .field4,
  .itemid-120 #visform1 .field55,
  .itemid-120 #visform1 .field56 {
    padding: 14px;
  }
}

/*
 * Link/text contrast fix: the active color preset sets a white link_color
 * globally (meant for the dark teal header/footer), which makes links
 * unreadable inside ordinary light-background content (mint/white sections).
 * Header nav and footer already set their own explicit white colors and are
 * unaffected by this override.
 */
.sp-page-builder .page-content a:not(.sppb-btn):not(.sp-megamenu-parent a) {
  color: var(--eugenia-accent);
  text-decoration-color: currentColor;
}

.sp-page-builder .page-content a:not(.sppb-btn):not(.sp-megamenu-parent a):hover {
  color: var(--eugenia-green-dark);
}

/* Header logo: bold title, slogan on its own line below, vertically centered
 * against the nav menu on the right. */
#sp-logo .sp-column {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

#sp-logo .logo {
  height: auto;
}

#sp-logo .logo a {
  font-family: 'GT Standard L Extended', sans-serif;
  font-weight: 700;
  color: #004AAC;
}

#sp-logo .logo-slogan {
  display: block;
  font-size: 11px;
  line-height: 1.3;
  color: #0E1020;
  opacity: 0.7;
  margin-top: 2px;
}

/* Below iPad width the full spelled-out acronym plus the burger icon don't
 * fit on one header row, pushing the toggler onto a second line. Keep just
 * the short "EU-GENIA Academy" title on phones/small tablets; show the
 * full slogan from iPad (768px) up. */
@media (max-width: 767.98px) {
  #sp-logo .logo-slogan {
    display: none;
  }
}

/* On phones narrower than ~390px (iPhone 12 and similar), "EU-GENIA Academy"
 * at the default size crowds right up against the burger icon with almost
 * no breathing room. Scale it down a little just for these widths. */
@media (max-width: 400px) {
  #sp-logo .logo a {
    font-size: 19px !important;
  }
}

/* Each button's own wrapper div is block-level by default, so the two hero
 * CTAs stacked instead of sitting side by side no matter what display the
 * button itself had. Wrap them in a flex row instead. */
.sppb-addon-wrapper:has(.eugenia-hero-cta) {
  display: inline-flex;
}

/* The buttons' wrapper is inline-flex (see above), which lays it out
 * according to the parent column's text-align. The column defaults to
 * left, so the CTA pair sat left-aligned under the otherwise centered hero
 * heading/text. Center the whole column instead of just the CTA row so
 * everything in the hero column reads as one consistent centered block. */
.sppb-column:has(.eugenia-hero-cta) {
  text-align: center;
}

.eugenia-hero-cta {
  margin-top: 24px;
  margin-right: 7px;
  margin-left: 7px;
  margin-bottom: 14px;
  display: inline-block;
  white-space: nowrap;
}

.eugenia-hero-cta-secondary {
  border: 2px solid #ffffff;
}

/* Card look for .eugenia-card (feature addon doesn't support shadow/radius
 * via its own settings, so it's applied here); equal-height columns so
 * cards with different text lengths still line up at the bottom. */
.sppb-row .eugenia-card {
  background-color: #ffffff;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(3, 69, 65, 0.10);
  padding: 34px 30px;
  box-sizing: border-box;
}

/* Equal-height stretching only makes sense once cards are genuinely
 * side-by-side (>=992px). Below that, SP Page Builder's own responsive
 * column classes wrap unevenly, and forcing height:100% there just pads
 * short cards with ugly empty space instead of aligning anything. */
@media (min-width: 992px) {
  .sppb-row .eugenia-card {
    height: 100%;
  }

  .sp-page-builder .sppb-row:has(.eugenia-card) {
    align-items: stretch;
  }

  .sp-page-builder .sppb-row:has(.eugenia-card) [class*="sppb-col-"] {
    display: flex;
  }

  .sp-page-builder .sppb-row:has(.eugenia-card) .sppb-column {
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  .sp-page-builder .sppb-row:has(.eugenia-card) .sppb-column-addons {
    display: flex;
    flex-direction: column;
    width: 100%;
    flex: 1;
  }

  .sp-page-builder .sppb-row:has(.eugenia-card) .sppb-addon-wrapper:has(.eugenia-card) {
    display: flex;
    flex: 1;
  }
}

.eugenia-card .sppb-addon-title {
  font-size: 20px;
  margin-top: 16px;
}

.eugenia-card .sppb-icon .sppb-icon-container {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.eugenia-card .sppb-icon .sppb-icon-container i {
  font-size: 26px;
}

/* Admission requirement badges: Font Awesome icons otherwise inherit the
 * body's 1.65 line-height. Flexbox then centres that tall typographic line
 * box rather than the visible glyph, leaving the white symbol too low.
 * A fixed square and unit line-height make both axes deterministic; the
 * tiny upward optical correction compensates for the font's baseline. */
.eugenia-cards-grid-2 .eugenia-card .sppb-icon {
  display: flex;
  align-items: center;
}

.eugenia-cards-grid-2 .eugenia-card .sppb-icon .sppb-icon-container {
  display: grid !important;
  place-items: center;
  padding: 0 !important;
  line-height: 0 !important;
}

.eugenia-cards-grid-2 .eugenia-card .sppb-icon .sppb-icon-container i {
  display: grid;
  place-items: center;
  width: 1.25em;
  height: 1.25em;
  margin: 0;
  line-height: 1 !important;
  text-align: center;
}

.eugenia-cards-grid-2 .eugenia-card .sppb-icon .sppb-icon-container i::before {
  display: block;
  line-height: 1;
  transform: translateY(-0.04em);
}

.eugenia-cards-grid-2 .eugenia-card .sppb-icon .sppb-icon-container
  i:is(.fa-graduation-cap, .fa-comments, .fa-hands-holding-circle)::before {
  transform: translate(-0.08em, -0.04em);
}

.sp-page-builder .sppb-row:has(.eugenia-stat) {
  justify-content: center;
}

.eugenia-stat {
  text-align: center;
}

.eugenia-stat .sppb-icon {
  display: flex;
  justify-content: center;
}

.eugenia-stat .sppb-icon .sppb-icon-container {
  display: grid !important;
  place-items: center;
  width: 56px;
  height: 56px;
  padding: 0 !important;
  margin: 0 auto 12px;
  box-sizing: border-box;
  border-radius: 50%;
  background-color: #ffffff;
  line-height: 0 !important;
}

.eugenia-stat .sppb-icon .sppb-icon-container i {
  display: grid;
  place-items: center;
  width: 26px !important;
  height: 26px !important;
  margin: 0;
  font-size: 26px !important;
  line-height: 1 !important;
  text-align: center;
  color: #004AAC;
}

.eugenia-stat .sppb-icon .sppb-icon-container i::before {
  display: block;
  line-height: 1;
  transform: translateY(-0.04em);
}

.eugenia-stat .sppb-icon .sppb-icon-container i.fa-users::before {
  transform: translate(-0.08em, -0.04em);
}

/* Selection cards immediately follow the stable #selezione heading section.
 * Scope the correction to that sibling only, leaving module and requirement
 * cards free to use their independently calibrated icon alignment. */
.itemid-101 #selezione + .sppb-section .eugenia-card .sppb-icon {
  display: flex;
  align-items: center;
}

.itemid-101 #selezione + .sppb-section
  .eugenia-card .sppb-icon .sppb-icon-container {
  display: grid !important;
  place-items: center;
  padding: 0 !important;
  line-height: 0 !important;
}

.itemid-101 #selezione + .sppb-section
  .eugenia-card .sppb-icon .sppb-icon-container i {
  display: grid;
  place-items: center;
  width: 1.25em;
  height: 1.25em;
  margin: 0;
  line-height: 1 !important;
  text-align: center;
}

.itemid-101 #selezione + .sppb-section
  .eugenia-card .sppb-icon .sppb-icon-container i::before {
  display: block;
  line-height: 1;
  transform: translate(-0.04em, -0.04em);
}

.eugenia-stat .sppb-addon-title {
  color: #ffffff;
  text-align: center;
  font-size: 30px;
}

.eugenia-stat .sppb-addon-content {
  text-align: center;
}

/* Hero headline accent: make "Generative AI" pop with a soft gradient +
 * underline glow instead of plain white text. */
.eugenia-highlight {
  background: linear-gradient(90deg, #7cf0d8, #ffffff 60%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 2px 24px rgba(124, 240, 216, 0.35);
}

.eugenia-hero-academy-name {
  display: block;
  margin-bottom: 12px;
  color: #ffffff;
  font-size: clamp(16px, 1.45vw, 24px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Burger icon: dark bars, to stay visible on the (now light) header background */
.burger-icon > span,
#modal-menu-toggler.active .burger-icon > span {
  background-color: #0E1020;
}

/* Helix Ultimate page-title bar: force readable dark text regardless of preset */
.sp-page-title-heading,
.sp-page-title-sub-heading {
  color: var(--eugenia-ink) !important;
}

/* Partner logo strip: three logos of very different native shapes (wide
 * wordmark, circular seal, boxed wordmark) - force them to the same visual
 * height and vertical center so the row doesn't look lopsided. */
.eugenia-partner-logo,
.eugenia-partner-logo img {
  display: block;
  margin-inline: auto;
}

.eugenia-partner-logo img,
.eugenia-partner-logo.eugenia-partner-logo-seal img {
  height: 64px !important;
  width: auto !important;
  max-width: 100%;
  object-fit: contain;
}

.eugenia-partner-logo-dxc img {
  height: 34px !important;
}

.sp-page-builder .sppb-row:has(.eugenia-partner-logo) [class*="sppb-col-"],
.sp-page-builder .sppb-row:has(.eugenia-partner-logo-dxc) [class*="sppb-col-"] {
  display: flex;
  align-items: center;
  justify-content: center;
}

.sp-page-builder .sppb-row:has(.eugenia-partner-logo) .sppb-column,
.sp-page-builder .sppb-row:has(.eugenia-partner-logo) .sppb-column-addons {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Bigger, more confident partner logos + a richer strip background. */
.eugenia-partner-logo img,
.eugenia-partner-logo.eugenia-partner-logo-seal img {
  height: 84px !important;
}

.eugenia-partner-logo-dxc img {
  height: 42px !important;
}

.itemid-101 [id^="section-id-"]:has(.eugenia-partner-logo) {
  background:
    radial-gradient(circle at 15% 20%, rgba(255, 255, 255, 0.06), transparent 35%),
    radial-gradient(circle at 85% 80%, rgba(255, 255, 255, 0.05), transparent 35%),
    linear-gradient(135deg, var(--eugenia-green-dark), var(--eugenia-green)) !important;
}

/* True equal height across ALL cards in a row (not just per flex-wrap line):
 * CSS grid stretches every cell to the tallest cell in the whole grid.
 * The class landed on the outer <section>; the actual columns are two
 * levels down, inside .sppb-row. */
@media (min-width: 768px) {
  .eugenia-cards-grid-2 .sppb-row {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
  }

  .eugenia-cards-grid-2 .sppb-row > [class*="sppb-col-"] {
    max-width: 100% !important;
    flex-basis: auto !important;
    width: 100% !important;
  }

  .eugenia-cards-grid-2 .sppb-column,
  .eugenia-cards-grid-2 .sppb-column-addons {
    height: 100%;
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  .eugenia-cards-grid-2 .sppb-addon-wrapper:has(.eugenia-card) {
    display: flex;
    flex: 1;
    width: 100%;
  }

  /* There's an extra "clearfix" div between the wrapper and the card itself;
   * force every level in between to full width, whatever it's called. */
  .eugenia-cards-grid-2 .sppb-addon-wrapper:has(.eugenia-card) > * {
    width: 100%;
  }

  .eugenia-cards-grid-2 .eugenia-card {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
  }
}

.eugenia-dove-siamo-photo,
.eugenia-dove-siamo-photo .sppb-addon-content,
.eugenia-dove-siamo-photo .sppb-addon-single-image-container {
  width: 100%;
}

.eugenia-dove-siamo-photo img {
  width: 100% !important;
  max-height: 380px;
  object-fit: cover;
  border-radius: var(--eugenia-radius);
  box-shadow: var(--eugenia-shadow);
}

/* "Dove siamo" badges: keep their horizontal position unchanged and remove
 * the small Font Awesome baseline drop with a vertical-only correction. */
.itemid-101 section:has(.eugenia-dove-siamo-photo) + .sppb-section
  .eugenia-card .sppb-icon .sppb-icon-container {
  display: grid !important;
  place-items: center;
  padding: 0 !important;
  line-height: 0 !important;
}

.itemid-101 section:has(.eugenia-dove-siamo-photo) + .sppb-section
  .eugenia-card .sppb-icon .sppb-icon-container i {
  display: grid;
  place-items: center;
  width: 1.25em;
  height: 1.25em;
  margin: 0;
  line-height: 1 !important;
  text-align: center;
}

.itemid-101 section:has(.eugenia-dove-siamo-photo) + .sppb-section
  .eugenia-card .sppb-icon .sppb-icon-container i::before {
  display: block;
  line-height: 1;
  transform: translateY(-0.04em);
}

/* Mobile: several full-bleed sections had no side padding of their own,
 * so text ran edge-to-edge on phones. */
@media (max-width: 767.98px) {
  .sp-page-builder .sppb-row-container {
    padding-inline: 18px;
    box-sizing: border-box;
  }

  .eugenia-card {
    padding: 26px 22px;
  }

  .itemid-101 [id^="section-id-"] > .sppb-container-inner,
  .itemid-101 [id^="section-id-"] > .sppb-row-container {
    padding-inline: 20px;
    box-sizing: border-box;
  }
}

/* "Back to top" button: fixed at a set viewport position, so on phones it
 * ends up floating on top of whatever content (cards, form fields) happens
 * to scroll underneath it, reading as if it belongs to that content instead
 * of being an independent global control. Give it a solid background/shadow
 * so it reads clearly as a floating control, and tuck it further into the
 * corner on small screens so it overlaps card corners less. */
.sp-scroll-up {
  background: var(--eugenia-green-dark);
  box-shadow: 0 6px 16px rgba(3, 69, 65, 0.35);
}

@media (max-width: 767.98px) {
  .sp-scroll-up {
    right: 14px;
    bottom: 14px;
    width: 40px;
    height: 40px;
    line-height: 40px;
  }
}

/* Layout rules for the two hero/intro text blocks, kept here instead of
 * inline styles: SP Page Builder's rich-text editor strips whitespace from
 * multi-token inline CSS values (e.g. "margin:0 auto" -> "margin:0auto") on
 * every save, silently breaking centering/spacing each time someone edits
 * the text. A CSS class survives those edits since it isn't part of the
 * saved HTML content. */
.eugenia-centered-intro {
  margin: 0 auto;
}

.eugenia-hero-text-col {
  flex: 1 1 460px;
  max-width: 620px;
  margin: 0 auto;
}

.eugenia-hero-text-col p {
  margin: 0 0 18px;
}

.eugenia-hero-text-col .eugenia-collab-label {
  margin: 0 0 8px;
}

/* Chi Siamo: responsive click-to-play video + DXC Overview Italia image card. */
.eugenia-video-wrap {
  position: relative;
  max-width: 960px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  border-radius: var(--eugenia-radius);
  overflow: hidden;
  background: #000;
  box-shadow: var(--eugenia-shadow);
}

.eugenia-video-wrap video {
  display: block;
  width: 100%;
  height: 100%;
}

.eugenia-overview-card {
  max-width: 960px;
  margin: 32px auto 0;
  border-radius: var(--eugenia-radius);
  overflow: hidden;
  box-shadow: var(--eugenia-shadow);
}

.eugenia-linkedin-wrap {
  margin: 24px 0 0;
  text-align: center;
}

.eugenia-linkedin-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  border-radius: 9px;
  background: #0a66c2;
  color: #ffffff !important;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(10, 102, 194, 0.2);
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.eugenia-linkedin-button:hover,
.eugenia-linkedin-button:focus-visible {
  background: #084f96;
  color: #ffffff !important;
  transform: translateY(-1px);
}

.eugenia-linkedin-button .fab {
  font-size: 23px;
}

.eugenia-overview-zoom {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: #ffffff;
  cursor: zoom-in;
}

.eugenia-overview-zoom img {
  display: block;
  width: 100%;
  height: auto;
}

.eugenia-overview-zoom-label {
  position: absolute;
  right: 16px;
  bottom: 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 13px;
  border-radius: 7px;
  background: rgba(14, 16, 32, 0.88);
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
}

.eugenia-lightbox[hidden] {
  display: none;
}

.eugenia-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  background: rgba(5, 10, 20, 0.92);
}

.eugenia-lightbox-image {
  display: block;
  max-width: 94vw;
  max-height: 90vh;
  width: auto;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
}

.eugenia-lightbox-close {
  position: fixed;
  top: 18px;
  right: 22px;
  z-index: 1;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 2px solid rgba(255, 255, 255, 0.75);
  border-radius: 50%;
  background: #0e1020;
  color: #ffffff;
  font-size: 30px;
  line-height: 36px;
}

body.eugenia-lightbox-open {
  overflow: hidden;
}

@media (max-width: 991.98px) {
  .eugenia-header-partners {
    margin-left: auto;
    gap: 11px;
    padding-inline: 9px;
  }

  .eugenia-header-logo-federico {
    height: 20px;
  }

  .eugenia-header-logo-dxc {
    height: 21px;
  }
}

@media (max-width: 575.98px) {
  .eugenia-header-partners {
    gap: 7px;
    padding-inline: 5px;
  }

  .eugenia-header-logo-federico {
    height: 14px;
  }

  .eugenia-header-logo-dxc {
    height: 17px;
  }

  .eugenia-overview-zoom-label {
    right: 9px;
    bottom: 9px;
    padding: 7px 9px;
    font-size: 12px;
  }

  .eugenia-lightbox {
    padding: 16px;
  }
}

/* Mobile header: keep Academy name, partner logos and burger on one line.
 * Bootstrap's default row/column gutters plus the very wide display font
 * otherwise make the partner column wrap below the Academy name. */
@media (max-width: 767.98px) {
  #sp-header {
    height: 60px;
  }

  #sp-header .container {
    max-width: 100%;
    padding-right: 12px;
    padding-left: 12px;
  }

  #sp-header .container-inner,
  #sp-header .container-inner > .row {
    height: 100%;
  }

  #sp-header .container-inner > .row {
    --bs-gutter-x: 0;
    flex-wrap: nowrap;
    align-items: center;
  }

  #sp-logo {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0;
  }

  #sp-logo .sp-column,
  #sp-logo .logo,
  #sp-logo .logo a {
    min-width: 0;
  }

  #sp-logo .logo,
  #offcanvas-toggler {
    height: 60px;
    line-height: 60px;
  }

  #sp-logo .logo a {
    display: block;
    overflow: hidden;
    font-size: clamp(15px, 3vw, 20px) !important;
    line-height: 1.05;
    white-space: nowrap;
  }

  .eugenia-header-partners {
    flex: 0 0 auto;
    align-self: stretch;
    margin-left: 8px;
    padding: 0;
    gap: 7px;
  }

  .eugenia-header-logo-federico {
    height: 16px;
    max-width: 72px;
  }

  .eugenia-header-logo-dxc {
    height: 18px;
    max-width: 48px;
  }

  #sp-menu {
    flex: 0 0 35px;
    width: 35px;
    min-width: 35px;
    max-width: 35px;
    margin-left: 8px;
    padding: 0;
  }

  #sp-menu > .sp-column {
    width: 100%;
    justify-content: flex-end !important;
  }

  #offcanvas-toggler,
  body.ltr #offcanvas-toggler.offcanvas-toggler-right {
    margin-right: 0;
    margin-left: 0;
  }
}

@media (max-width: 575.98px) {
  #sp-header {
    height: 54px;
  }

  #sp-header .container {
    padding-right: 9px;
    padding-left: 9px;
  }

  #sp-logo .logo,
  #offcanvas-toggler {
    height: 54px;
    line-height: 54px;
  }

  #sp-logo .logo a {
    font-size: clamp(12px, 3.8vw, 15px) !important;
  }

  .eugenia-header-partners {
    margin-left: 6px;
    gap: 4px;
  }

  .eugenia-header-logo-federico {
    height: clamp(9px, 2.7vw, 11px);
    max-width: 52px;
  }

  .eugenia-header-logo-dxc {
    height: clamp(11px, 3.2vw, 13px);
    max-width: 38px;
  }

  #sp-menu {
    flex-basis: 27px;
    width: 27px;
    min-width: 27px;
    max-width: 27px;
    margin-left: 6px;
  }

  .burger-icon {
    width: 25px;
  }
}

/* Moduli accordion (Percorso Formativo): give the accordion panels the same
 * card language as the rest of the site (radius, shadow, brand colors) and
 * make the rich per-modulo content (obiettivi / argomenti / durata) readable
 * instead of a wall of text. */
.eugenia-moduli-accordion .sppb-panel {
  background: #ffffff;
  border: none;
  border-radius: 16px;
  box-shadow: 0 6px 20px rgba(3, 69, 65, 0.08);
  overflow: hidden;
  margin-bottom: 14px;
}

.eugenia-moduli-accordion .sppb-panel-heading {
  padding: 20px 24px;
  font-family: 'GT Standard L Extended', sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: var(--eugenia-ink, #1a1a1a);
  background: #ffffff;
}

.eugenia-moduli-accordion .sppb-panel-heading.active {
  color: var(--eugenia-green-dark, #034541);
  background: #f4faf9;
}

.eugenia-moduli-accordion .sppb-panel-title {
  flex: 1 1 auto;
}

.eugenia-moduli-accordion .sppb-accordion-icon-wrap {
  color: var(--eugenia-green-dark, #034541);
  font-size: 20px;
  margin-right: 14px;
}

.eugenia-moduli-accordion .sppb-panel-body {
  padding: 4px 24px 26px;
  border-top: 1px solid rgba(3, 69, 65, 0.08);
}

.eugenia-modulo-subhead {
  margin: 18px 0 10px;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--eugenia-green-dark, #034541);
}

.eugenia-modulo-parte {
  padding: 14px 16px;
  background: #f7f9f8;
  border-radius: 10px;
  margin-bottom: 12px;
}

.eugenia-modulo-parte-title {
  font-weight: 700;
  margin: 0 0 6px;
}

.eugenia-modulo-duration {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: var(--eugenia-green-dark, #034541);
}

.eugenia-modulo-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin: 8px 0 0;
  font-size: 13px;
  opacity: 0.8;
}

.eugenia-modulo-meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

@media (max-width: 767.98px) {
  .eugenia-moduli-accordion .sppb-panel-heading {
    padding: 16px 16px;
    font-size: 16px;
  }

  .eugenia-moduli-accordion .sppb-panel-body {
    padding: 4px 16px 20px;
  }

  .eugenia-modulo-meta {
    flex-direction: column;
    gap: 6px;
  }
}

/* Off-canvas mobile menu: brand identity below the nav items, so the menu
 * reads as belonging to EU-GENIA Academy (and its two partner institutions)
 * even once scrolled past the header logo. */
.offcanvas-brand-footer {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid rgba(14, 16, 32, 0.1);
}

.offcanvas-brand-name {
  display: block;
  margin-bottom: 14px;
  font-family: 'GT Standard L Extended', sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #0E1020;
}

.offcanvas-brand-logos {
  display: flex;
  align-items: center;
  gap: 18px;
}

.offcanvas-brand-logos img {
  height: 28px;
  width: auto;
  max-width: 72px;
  object-fit: contain;
}

/* CeSMA's seal is thin, pale line-art that reads as an empty smudge at the
 * same 28px height as the other two (photographic/solid) logos - a little
 * extra size and contrast keeps it actually legible. */
.offcanvas-brand-logo-cesma {
  height: 38px !important;
  filter: contrast(1.35) saturate(1.15);
}

/* federico-ii-logo.png is white artwork meant for a dark background (it's
 * used that way elsewhere, e.g. the homepage partner strip); on this white
 * off-canvas panel it's simply invisible. Invert it to dark instead of
 * sourcing/duplicating a second logo file. */
.offcanvas-brand-logo-invert {
  filter: invert(1);
}

/* Single-row desktop header (Area Riservata included) -------------------- */
/* unina carries an extra "Area Riservata" menu item that the Azure build did
 * not have. At >=1200px the mega-menu runs at full size and the logo row +
 * partner logos + 6 menu items no longer fit the ~1240px header container,
 * so the nav dropped onto a second line. Force the whole header onto one row
 * and reclaim the needed width by tightening the menu and partner spacing. */
@media (min-width: 992px) {
  #sp-header .container-inner > .row {
    flex-wrap: nowrap !important;
    align-items: center;
    column-gap: 6px;
  }
  #sp-menu {
    min-width: 0;
  }
  #sp-menu > .sp-column,
  .sp-megamenu-wrapper,
  .sp-megamenu-parent {
    flex-wrap: nowrap !important;
  }
  .sp-megamenu-parent > li > a,
  .sp-megamenu-parent > li > span {
    padding-inline: 8px;
    font-size: 15px !important;
    white-space: nowrap;
  }
  .eugenia-header-partners {
    gap: 10px;
    padding-left: 6px;
    padding-right: 6px;
    flex: 0 0 auto;
  }
  #sp-logo {
    flex: 0 0 auto;
  }
  #sp-logo .logo a {
    font-size: 22px !important;
    white-space: nowrap;
  }
  #sp-logo .logo-slogan {
    font-size: 10.5px;
    white-space: nowrap;
  }
}

/* ===========================================================================
 * unina server Itemid mapping (auto-generated, additive only)
 * ---------------------------------------------------------------------------
 * The rules above are scoped to the Azure site's menu item IDs (Itemid),
 * e.g. .itemid-120 for the "Candidatura" (VisForms) page. Joomla assigns
 * Itemids as auto-increment numbers, so the unina installation - built
 * separately by the hosting admin - has different numbers for the same
 * pages: Candidatura=131, Privacy=134, Cookie Policy=135 (Home stayed 101
 * on both by coincidence). Without this, the checkbox/captcha/button/field
 * styling for the application form silently didn't apply on unina.
 * Every selector below reuses an ID that's globally unique on this site
 * (#visform1, or SP Page Builder's own random column/section ids), so
 * duplicating them under the unina Itemid is safe: it cannot affect any
 * other page, and the original .itemid-120/121/151 rules are left intact
 * for the Azure build. Do not remove the originals above.
 * ========================================================================= */

.itemid-131 #sp-main-body {
  padding: clamp(42px, 6vw, 72px) 0;
  background: var(--eugenia-mint-light);
}

.itemid-131 #sp-main-body > .container {
  max-width: 980px;
}

.itemid-131 .blog-featured > h1,
.itemid-131 .visforms-form > h1,
.itemid-131 .visforms-form > h2 {
  margin-bottom: 26px;
}

.itemid-131 #visform1 {
  padding: clamp(24px, 5vw, 48px);
  border: 1px solid var(--eugenia-border);
  border-radius: var(--eugenia-radius);
  background: #ffffff;
  box-shadow: var(--eugenia-shadow);
}

.itemid-131 .visforms-form a,
.itemid-131 #visform1 a {
  color: var(--eugenia-green);
  font-weight: 600;
  text-decoration: underline;
}

.itemid-131 #visform1 .visprogress {
  display: none;
}

.itemid-131 #visform1 .badge {
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 13px;
}

.itemid-131 #visform1 .fieldset-1.active {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 26px;
}

.itemid-131 #visform1 .vis_mandatory,
.itemid-131 #visform1 .field17,
.itemid-131 #visform1 .field43,
.itemid-131 #visform1 .field44,
.itemid-131 #visform1 .field4,
.itemid-131 #visform1 .field50,
.itemid-131 #visform1 .field55,
.itemid-131 #visform1 .field56,
.itemid-131 #visform1 .visBtnCon {
  grid-column: 1 / -1;
}

.itemid-131 #visform1 .visfield-container {
  min-width: 0;
  margin: 0;
}

.itemid-131 #visform1 fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.itemid-131 #visform1 .visCSSlabel,
.itemid-131 #visform1 .visCSSinput {
  float: none !important;
}

.itemid-131 #visform1 .visCSSclear {
  display: none;
}

.itemid-131 #visform1 .visCSSlabel:not(.visCheckbox) {
  display: block;
  width: auto;
  margin: 0 0 7px;
  font-weight: 700;
  line-height: 1.35;
}

.itemid-131 #visform1 .visCSSlabel.visCheckbox {
  display: block;
  width: auto;
  margin: 0;
  font-weight: 400;
  line-height: 1.45;
}

.itemid-131 #visform1 input[type="text"],
.itemid-131 #visform1 input[type="email"],
.itemid-131 #visform1 input[type="number"],
.itemid-131 #visform1 input[type="file"],
.itemid-131 #visform1 select,
.itemid-131 #visform1 textarea {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid #b9cfcd;
  border-radius: 8px;
  background: #ffffff;
  font-size: 16px;
}

.itemid-131 #visform1 input:focus,
.itemid-131 #visform1 select:focus,
.itemid-131 #visform1 textarea:focus {
  border-color: var(--eugenia-green);
  outline: 3px solid rgba(0, 100, 94, 0.14);
  box-shadow: none;
}

.itemid-131 #visform1 .input-append {
  display: flex;
}

.itemid-131 #visform1 .input-append input {
  border-radius: 8px 0 0 8px;
}

.itemid-131 #visform1 .input-append .btn {
  border-radius: 0 8px 8px 0;
}

.itemid-131 #visform1 .field4 [class^="fc-tbx"],
.itemid-131 #visform1 .field50 [class^="fc-tbx"],
.itemid-131 #visform1 .field55 [class^="fc-tbx"],
.itemid-131 #visform1 .field56 [class^="fc-tbx"] {
  grid-column: 1 / -1;
  order: -1;
}

.itemid-131 #visform1 .field4 [class^="fc-tbx"]:empty,
.itemid-131 #visform1 .field50 [class^="fc-tbx"]:empty,
.itemid-131 #visform1 .field55 [class^="fc-tbx"]:empty,
.itemid-131 #visform1 .field56 [class^="fc-tbx"]:empty {
  display: none;
}

.itemid-131 #visform1 .field4 .errorcontainer,
.itemid-131 #visform1 .field50 .errorcontainer,
.itemid-131 #visform1 .field55 .errorcontainer,
.itemid-131 #visform1 .field56 .errorcontainer {
  margin: 0 0 10px;
}

.itemid-131 #visform1 .field4 label.error,
.itemid-131 #visform1 .field50 label.error,
.itemid-131 #visform1 .field55 label.error,
.itemid-131 #visform1 .field56 label.error {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 8px;
  background: #fdecea;
  color: #bf1722;
  font-size: 13px;
  font-weight: 600;
}

.itemid-131 #visform1 .field4,
.itemid-131 #visform1 .field50,
.itemid-131 #visform1 .field55,
.itemid-131 #visform1 .field56 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px 18px;
  padding: 18px;
  border-radius: 12px;
  background: var(--eugenia-mint-light);
}

.itemid-131 #visform1 .field56 .visCustomText {
  grid-column: 1 / -1;
}

.itemid-131 #visform1 .visCheckbox {
  margin: 0;
  line-height: 1.45;
}

.itemid-131 #visform1 input[type="checkbox"] {
  width: 21px;
  height: 21px;
  margin: 0;
  accent-color: var(--eugenia-green);
}

.itemid-131 #visform1 hr {
  margin: 10px 0 2px;
  border-top: 1px solid var(--eugenia-border);
}

.itemid-131 #visform1 .vf-button-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 8px;
}

.itemid-131 #visform1 .vf-button-container .btn {
  min-height: 46px;
  padding: 10px 22px;
  border-color: var(--eugenia-green);
  border-radius: 8px;
  background: var(--eugenia-green);
  color: #ffffff;
  font-weight: 700;
}

.itemid-131 #visform1_summary {
  width: 100%;
  border-collapse: collapse;
}

.itemid-131 #visform1_summary td {
  padding: 14px 6px;
  border-bottom: 1px solid var(--eugenia-border);
  vertical-align: top;
}

.itemid-131 #visform1_summary .summary-label {
  width: 42%;
  padding-right: 18px;
  color: var(--eugenia-green-dark);
  font-weight: 600;
}

.itemid-131 #visform1_summary .summary-value {
  color: var(--eugenia-ink);
}

.itemid-131 #visform1_summary .summary-value.vf-check-yes,
.itemid-131 #visform1_summary .summary-value.vf-check-no {
  font-weight: 700;
}

.itemid-131 #visform1_summary .summary-value.vf-check-yes {
  color: var(--eugenia-green);
}

.itemid-131 #visform1_summary .summary-value.vf-check-no {
  color: #99a3a2;
}

.itemid-131 .vf-processing {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: clamp(48px, 8vw, 80px) 16px;
  text-align: center;
}

.itemid-131 .vf-processing p {
  margin: 0;
  color: var(--eugenia-green-dark);
  font-size: 18px;
  font-weight: 600;
}

.itemid-131 .vf-processing .vf-processing-sub {
  color: var(--eugenia-ink);
  font-size: 14px;
  font-weight: 400;
  opacity: 0.75;
}

.itemid-131 .vf-spinner {
  width: 52px;
  height: 52px;
  border: 5px solid var(--eugenia-mint);
  border-top-color: var(--eugenia-green);
  border-radius: 50%;
  animation: vf-spin 0.85s linear infinite;
}

.itemid-131 .vf-success-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: clamp(28px, 5vw, 48px) clamp(16px, 5vw, 40px);
  text-align: center;
}

.itemid-131 .vf-success-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--eugenia-green);
  color: #ffffff;
  font-size: 32px;
  line-height: 1;
  box-shadow: 0 10px 24px rgba(0, 100, 94, 0.28);
}

.itemid-131 .vf-success-title {
  margin: 0;
  color: var(--eugenia-green-dark);
  font-size: clamp(22px, 3vw, 28px) !important;
  font-weight: 700 !important;
}

.itemid-131 .vf-success-sub {
  max-width: 520px;
  margin: 0;
  color: var(--eugenia-ink);
  font-size: 16px;
  line-height: 1.5;
}

.itemid-131 .vf-success-idbox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  margin: 6px 0;
  padding: 18px 36px;
  border: 1px solid var(--eugenia-border);
  border-radius: 16px;
  background: var(--eugenia-mint-light);
}

.itemid-131 .vf-success-idlabel {
  color: var(--eugenia-green-dark);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.itemid-131 .vf-success-idvalue {
  color: var(--eugenia-green-dark);
  font-family: 'Courier New', ui-monospace, monospace;
  font-size: clamp(32px, 6vw, 44px);
  font-weight: 800;
  letter-spacing: 0.03em;
}

.itemid-131 .vf-success-note {
  max-width: 520px;
  margin: 0;
  color: var(--eugenia-ink);
  font-size: 14px;
  line-height: 1.55;
  opacity: 0.85;
}

.itemid-134 .page-content,
.itemid-135 .page-content {
  padding: clamp(42px, 6vw, 72px) 16px;
  background: var(--eugenia-mint-light);
}

.itemid-134 #section-id-1701682985392,
.itemid-135 #section-id-1701682985392 {
  width: min(100%, 960px);
  margin-inline: auto !important;
  padding: clamp(26px, 5vw, 52px) !important;
  border: 1px solid var(--eugenia-border);
  border-radius: var(--eugenia-radius) !important;
  background: #ffffff;
  box-shadow: var(--eugenia-shadow);
}

.itemid-134 #section-id-1701682985392 .sppb-row-container,
.itemid-135 #section-id-1701682985392 .sppb-row-container {
  width: 100%;
}

.itemid-134 #section-id-1701682985392 h4,
.itemid-135 #section-id-1701682985392 h4 {
  margin-bottom: 18px;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65;
}

.itemid-134 #section-id-1701682985392 h4:first-of-type {
  margin-bottom: 30px;
  color: var(--eugenia-green-dark);
  font-size: clamp(22px, 3vw, 30px) !important;
  font-weight: 700 !important;
  line-height: 1.25;
}

.itemid-134 #section-id-1701682985392 h4 strong,
.itemid-135 #section-id-1701682985392 h4 strong {
  color: var(--eugenia-green-dark);
  font-weight: 700;
}

@media (max-width: 767.98px) {
  .itemid-131 #visform1 .fieldset-1.active {
    grid-template-columns: 1fr;

  }
  .itemid-131 #visform1 .visfield-container,
  .itemid-131 #visform1 .vis_mandatory,
  .itemid-131 #visform1 .visBtnCon {
    grid-column: 1;

  }
  .itemid-131 #visform1 .vf-button-container .btn {
    width: 100%;

  }
}

@media (max-width: 575.98px) {
  .itemid-118 #column-id-mpRDcvocw22qFR96hrTFt,
  .itemid-119 #section-id-1768811942753 .sppb-column,
  .itemid-131 #visform1,
  .itemid-134 #section-id-1701682985392,
  .itemid-135 #section-id-1701682985392 {
    border-radius: 14px !important;

  }
  .itemid-131 #visform1 .field4,
  .itemid-131 #visform1 .field55,
  .itemid-131 #visform1 .field56 {
    padding: 14px;

  }
}
