/* HERO GRADIENT */
.hero-gradient-block {
  padding-top: 140px !important;

  background:
    radial-gradient(ellipse at 30% 0%, rgba(100, 200, 220, 0.95) 0%, rgba(100, 200, 220, 0.70) 26%, rgba(100, 200, 220, 0.24) 44%, rgba(100, 200, 220, 0) 64%),
    radial-gradient(ellipse at 70% 8%, rgba(120, 220, 205, 0.75) 0%, rgba(120, 220, 205, 0.40) 30%, rgba(120, 220, 205, 0.12) 46%, rgba(120, 220, 205, 0) 64%),
    linear-gradient(
      180deg,
      #d6f1f6 0%,
      #e5f8f7 36%,
      #f4fbfb 72%,
      #ffffff 100%
    ) !important;

  background-repeat: no-repeat !important;
}

/* PRICING SECTION */
.pricing-section {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 20px 48px 80px 48px !important;
  box-sizing: border-box !important;

  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 24px !important;
}

/* TUTTE E TRE LE CARD */
.pricing-intro,
.pricing-card-plain,
.pricing-card-featured {
  flex: 0 0 calc((100% - 48px) / 3) !important;
  max-width: calc((100% - 48px) / 3) !important;

  min-height: 610px !important;
  padding: 48px 42px !important;
  border-radius: 28px !important;
  box-sizing: border-box !important;
}

/* SFONDO CARD BASE */
.pricing-intro,
.pricing-card-featured {
  background: #F3F3F3 !important;
	

}

/* CARD EVIDENZIATA */
.pricing-card-plain {
  background:
    radial-gradient(circle at 18% 0%, rgba(255,255,255,0.75) 0%, rgba(255,255,255,0) 42%),
    radial-gradient(circle at 82% 18%, rgba(120,220,205,0.42) 0%, rgba(120,220,205,0) 44%),
    radial-gradient(circle at 22% 88%, rgba(100,200,220,0.34) 0%, rgba(100,200,220,0) 48%),
    linear-gradient(180deg, #eefafa 0%, #e5f8f7 48%, #d8f2f4 100%) !important;

  box-shadow: 0 26px 70px rgba(20, 90, 100, 0.14) !important;
}

/* TITOLI CARD */
.pricing-intro .elementor-heading-title,
.pricing-card-plain .elementor-heading-title,
.pricing-card-featured .elementor-heading-title {
  color: #000000 !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em !important;
}

/* TESTI CARD */
.pricing-intro p,
.pricing-card-plain p,
.pricing-card-featured p {
  color: #4b535a !important;
  font-size: 15.5px !important;
  line-height: 1.6 !important;
}

/* SETUP FEE TEXT */
.pricing-intro .pricing-setup-fee,
.pricing-card-plain .pricing-setup-fee,
.pricing-card-featured .pricing-setup-fee,
.pricing-intro .pricing-setup-fee p,
.pricing-card-plain .pricing-setup-fee p,
.pricing-card-featured .pricing-setup-fee p,
.pricing-intro .pricing-setup-fee .elementor-heading-title,
.pricing-card-plain .pricing-setup-fee .elementor-heading-title,
.pricing-card-featured .pricing-setup-fee .elementor-heading-title {
  color: #000000 !important;
}


/* NEED WEBSITE SECTION */

.pricing-agency-box {
  width: 100% !important;
  max-width: 1184px !important;
  margin: -24px auto 35px auto !important;
  padding: 18px 24px !important;
  box-sizing: border-box !important;

  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 32px !important;

  border-radius: 18px !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(20, 40, 45, 0.06) !important;
  border-top: none !important;
  box-shadow: 0 24px 10px rgba(20, 90, 100, 0.05) !important;
}

/* BLOCCO TESTO SINISTRA */
.pricing-agency-left {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* RESET WIDGET INTERNI */
.pricing-agency-left .elementor-widget,
.pricing-agency-left .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* TITOLO */
.pricing-agency-left .elementor-heading-title {
  color: #17191c !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

/* TESTO */
.pricing-agency-left p {
  color: #5f666d !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  margin: 3px 0 0 0 !important;
  padding: 0 !important;

  max-width: none !important;
  white-space: normal !important;
}

/* BLOCCO LINK DESTRA */
.pricing-agency-button {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;

  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* RESET WIDGET BOTTONE */
.pricing-agency-button .elementor-widget,
.pricing-agency-button .elementor-widget-container,
.pricing-agency-button .elementor-button-wrapper {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* LINK DESTRA */
.pricing-agency-button .elementor-button {
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;

  background: transparent !important;
  color: #17191c !important;

  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-decoration: underline !important;
  white-space: nowrap !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

/* NASCONDI ICONA EVENTUALE */
.pricing-agency-button .elementor-button-icon {
  display: none !important;
}

.pricing-agency-button .elementor-button-text {
  white-space: nowrap !important;
  line-height: 1.2 !important;
}

.pricing-agency-button .elementor-button:hover {
  background: transparent !important;
  color: #0f2e31 !important;
}

/* HOW IT WORKS SECTION - FULL WIDTH BACKGROUND */
.how-section {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 20px 0 140px 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;

  background:
    radial-gradient(
      ellipse at 30% 52%,
      rgba(100, 200, 220, 0.20) 0%,
      rgba(100, 200, 220, 0.12) 18%,
      rgba(100, 200, 220, 0.045) 34%,
      rgba(100, 200, 220, 0) 54%
    ),
    radial-gradient(
      ellipse at 72% 56%,
      rgba(120, 220, 205, 0.16) 0%,
      rgba(120, 220, 205, 0.09) 18%,
      rgba(120, 220, 205, 0.035) 34%,
      rgba(120, 220, 205, 0) 54%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #ffffff 24%,
      #f8fcfc 38%,
      #edf9f7 52%,
      #f8fcfc 66%,
      #ffffff 82%,
      #ffffff 100%
    ) !important;

  background-repeat: no-repeat !important;
}

/* CONTENUTO CENTRATO */
.how-inner {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/* CONTENITORE DELLE CARD */
.how-stack {
  position: relative !important;
  width: 100% !important;
  overflow: visible !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* CARD STICKY */
.how-card1,
.how-card2,
.how-card3 {
  position: sticky !important;
  top: 120px !important;

  width: 100% !important;
  height: calc(100vh - 170px) !important;
  min-height: 560px !important;
  max-height: 660px !important;

  margin: 0 !important;

  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;

  border-radius: 30px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;

  background: #ffffff !important;
  border: 1px solid rgba(20, 40, 45, 0.06) !important;
  box-shadow: 0 30px 90px rgba(20, 40, 45, 0.12) !important;
}

/* CARD SUCCESSIVE SOPRA LE PRECEDENTI */
.how-card1 {
  z-index: 10 !important;
}

.how-card2 {
  z-index: 20 !important;
}

.how-card3 {
  z-index: 30 !important;
}

/* COLONNE SINISTRE */
.how-card-left1,
.how-card-left2,
.how-card-left3 {
  width: 50% !important;
  height: 100% !important;
  box-sizing: border-box !important;
  position: relative !important;

  background: #ffffff !important;
}

/* COLONNE DESTRE */
.how-card-right1,
.how-card-right2,
.how-card-right3 {
  width: 50% !important;
  height: 100% !important;
  padding: 64px !important;
  box-sizing: border-box !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}


/* RESET MINIMO WIDGET HTML */
.how-card-left1 .elementor-widget-html,
.how-card-left2 .elementor-widget-html,
.how-card-left3 .elementor-widget-html,
.how-card-left1 .elementor-widget-container,
.how-card-left2 .elementor-widget-container,
.how-card-left3 .elementor-widget-container {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* CONTENUTO INTERNO CARD SINISTRA */
.how-card-content {
  position: absolute !important;
  inset: 64px !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
}

/* NUMERO + LINEA DECORATIVA */
.how-card-top {
  width: 100% !important;

  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
}

.how-card-top span {
  white-space: nowrap !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  color: #17191c !important;
}

.how-card-line {
  width: 100% !important;
  height: 1px !important;
  background: rgba(20, 40, 45, 0.12) !important;
}

/* BLOCCO TITOLO + TESTO + BOTTONE */
.how-card-main {
  max-width: 520px !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.how-card-main h3 {
  margin: 0 0 18px 0 !important;
  color: #17191c !important;
  font-size: 36px !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
}

.how-card-main p {
  margin: 0 0 42px 0 !important;
  color: #5f666d !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

.how-card-main a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 52px !important;
  padding: 0 28px !important;
  border-radius: 999px !important;

  background: #17191c !important;
  color: #ffffff !important;

  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.how-card-main a:hover {
  background: #0f2e31 !important;
  color: #ffffff !important;
}

/* FAQ SECTION */
.faq-section {
  width: 100% !important;
  padding: 100px 48px 100px 48px !important;
  box-sizing: border-box !important;

  background:
    radial-gradient(circle at 22% 52%, rgba(120, 220, 205, 0.18), rgba(120, 220, 205, 0) 34%),
    radial-gradient(circle at 78% 50%, rgba(100, 200, 220, 0.14), rgba(100, 200, 220, 0) 36%),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #ffffff 18%,
      #f8fcfc 32%,
      #edf8f7 55%,
      #f8fcfc 78%,
      #ffffff 100%
    ) !important;
}

/* FAQ WHITE CARD */
.faq-inner {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 34px !important;
  box-sizing: border-box !important;

  border-radius: 32px !important;
  background: #ffffff !important;

  border: 1px solid rgba(20, 40, 45, 0.06) !important;
  box-shadow: 0 30px 90px rgba(20, 40, 45, 0.08) !important;

  display: grid !important;
  grid-template-columns: 0.85fr 1.15fr !important;
  gap: 64px !important;
  align-items: stretch !important;
}

/* LEFT CTA */
.faq-cta {
  min-height: 390px !important;
  padding: 56px !important;
  box-sizing: border-box !important;

  border-radius: 26px !important;
  background:
    radial-gradient(circle at 28% 28%, rgba(120, 220, 205, 0.16), rgba(120, 220, 205, 0) 42%),
    linear-gradient(135deg, #f7fbfb 0%, #f1f7f7 100%) !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
}

/* CTA TEXT */
.faq-cta .elementor-heading-title {
  color: #17191c !important;
  font-size: 38px !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
  margin: 0 !important;
}

.faq-cta p {
  color: #5f666d !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  margin: 18px 0 32px 0 !important;
}

/* CTA BUTTON */
.faq-cta .elementor-button,
.faq-cta a.elementor-button {
  background: #17191c !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  padding: 15px 26px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: none !important;
}

.faq-cta .elementor-button span,
.faq-cta .elementor-button-text {
  color: #ffffff !important;
}

.faq-cta .elementor-button:hover {
  background: #0f2e31 !important;
  color: #ffffff !important;
}

/* RIGHT FAQ LIST */
.faq-list {
  width: 100% !important;
  min-width: 0 !important;
  padding: 38px 0 !important;
  box-sizing: border-box !important;
}

/* titolo FAQ da Elementor */
/*
.faq-list .elementor-heading-title {
  color: #17191c !important;
  font-size: 34px !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em !important;
  margin: 0 0 24px 0 !important;
}
*/

/* NESTED ACCORDION RESET */
.faq-list .elementor-widget,
.faq-list .elementor-widget-container,
.faq-list .e-n-accordion {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* ITEM */
.faq-list .e-n-accordion-item {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;

  border: none !important;
  border-bottom: 1px solid rgba(20, 40, 45, 0.12) !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

/* SUMMARY / TITLE ROW */
.faq-list .e-n-accordion-item-title {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;

  padding: 24px 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;

  border: none !important;
  background: transparent !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 32px !important;

  list-style: none !important;
  cursor: pointer !important;
}

/* RIMUOVE FRECCIA DEFAULT DEL SUMMARY */
.faq-list .e-n-accordion-item-title::-webkit-details-marker {
  display: none !important;
}

.faq-list .e-n-accordion-item-title::marker {
  display: none !important;
}

/* TEXT WRAPPER */
.faq-list .e-n-accordion-item-title-header {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;

  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* TEXT */
.faq-list .e-n-accordion-item-title-text {
  display: block !important;
  width: 100% !important;
  max-width: none !important;

  color: #17191c !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;

  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* ICONA */
.faq-list .e-n-accordion-item-title-icon {
  flex: 0 0 20px !important;
  width: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  height: 20px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #17191c !important;
  opacity: 0.75 !important;
}

/* SVG ICON */
.faq-list .e-n-accordion-item-title-icon svg {
  width: 12px !important;
  height: 12px !important;
  fill: #17191c !important;
  color: #17191c !important;
}

/* CONTENT */
.faq-list .e-con-full.e-flex.e-con.e-child,
.faq-list .e-n-accordion-item [role="region"] {
  width: 100% !important;
  max-width: none !important;
  padding: 0 52px 24px 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;

  border: none !important;
  background: transparent !important;

  color: #5f666d !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

/* REMOVE OUTLINES */
.faq-list .e-n-accordion,
.faq-list .e-n-accordion-item,
.faq-list .e-n-accordion-item-title {
  outline: none !important;
  box-shadow: none !important;
}


/* =========================
   HERO MAIN TITLE MOTION
========================= */

.hero-main-title {
  position: relative !important;
  z-index: 10 !important;

  transform-origin: center center !important;

  will-change: transform !important;
}



/* =========================
   HERO TITLE LINES
========================= */

.hero-title-line {
  display: block !important;

  width: fit-content !important;
  max-width: 100% !important;

  margin-left: auto !important;
  margin-right: auto !important;

  text-align: center !important;
  white-space: nowrap !important;
}

/* =========================
   TECH INNOVATION GRADIENT
========================= */

.hero-title-line.tech-gradient-line .hero-motion-char {
  color: var(--hero-char-color) !important;
}

/* =========================
   HERO ANIMATED CHARACTERS
========================= */

.hero-motion-char {
  display: inline-block !important;
  position: relative !important;

  color: inherit;

  will-change:
    opacity,
    transform,
    filter;
}


/* FALLBACK SE IL JS NON PARTE */

.hero-title-line.tech-gradient-line {
  color: #176f7d;
}

/* =========================================================
   GOLDPLACE SOLUTIONS SHOWCASE
========================================================= */


/* =========================
   SECTION
========================= */

.solutions-showcase-section {
  position: relative;

  width: 100%;

  padding: 150px 32px 170px;

  background: transparent !important;

  overflow: hidden;

  isolation: isolate;
}


/* soft ambient light */

.solutions-showcase-section::before {
  content: "";

  position: absolute;

  top: 10%;
  left: 50%;

  width: 120vw;
  height: 980px;

  transform: translateX(-50%);

  background:
    radial-gradient(
      ellipse at 26% 28%,
      rgba(122, 225, 211, 0.15) 0%,
      rgba(122, 225, 211, 0.07) 34%,
      rgba(255, 255, 255, 0) 68%
    ),
    radial-gradient(
      ellipse at 82% 72%,
      rgba(99, 66, 116, 0.11) 0%,
      rgba(99, 66, 116, 0.055) 36%,
      rgba(255, 255, 255, 0) 72%
    );

  filter: blur(36px);

  pointer-events: none;

  z-index: -2;
}


/* =========================
   INNER
========================= */

.solutions-showcase-inner {
  position: relative;

  width: 100%;
  max-width: 1240px;

  margin: 0 auto;

  z-index: 1;
}


/* =========================
   INTRO
========================= */

.solutions-showcase-intro {
  display: grid !important;

  grid-template-columns:
    minmax(0, 0.95fr)
    minmax(320px, 0.55fr);

  gap: 80px;

  align-items: end;

  width: 100%;

  margin-bottom: 62px;
}


.solutions-showcase-heading {
  width: 100%;
}


.solutions-showcase-kicker {
  margin-bottom: 22px;
}


.solutions-showcase-kicker,
.solutions-showcase-kicker * {
  font-size: 12px !important;
  font-weight: 650 !important;

  line-height: 1 !important;

  letter-spacing: 0.12em !important;

  text-transform: uppercase !important;

  color: rgba(18, 24, 23, 0.52) !important;
}


.solutions-showcase-title {
  width: 100%;
}


.solutions-showcase-title,
.solutions-showcase-title *,
.solutions-showcase-title .elementor-heading-title {
  font-size: clamp(56px, 5.3vw, 84px) !important;

  font-weight: 500 !important;

  line-height: 0.95 !important;

  letter-spacing: -0.06em !important;

  color: #111817 !important;
}


.solutions-showcase-copy {
  width: 100%;
  max-width: 430px;

  justify-self: end;
}


.solutions-showcase-copy,
.solutions-showcase-copy * {
  font-size: 16px !important;

  line-height: 1.6 !important;

  color: rgba(18, 24, 23, 0.64) !important;
}


/* =========================
   GRID
========================= */

.solutions-showcase-grid {
  position: relative;

  display: grid !important;

  grid-template-columns:
    repeat(2, minmax(0, 1fr)) !important;

  gap: 22px !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  align-items: stretch !important;
  justify-items: stretch !important;
}


/* forza Elementor a non restringere le card */

.solutions-showcase-grid > .showcase-card,
.solutions-showcase-grid .showcase-card {
  width: 100% !important;
  max-width: none !important;

  min-width: 0 !important;

  margin: 0 !important;

  justify-self: stretch !important;
  align-self: stretch !important;

  box-sizing: border-box !important;
}


/* =========================
   CARD BASE
========================= */

.showcase-card {
  position: relative;

  display: grid !important;

  width: 100% !important;

  min-width: 0 !important;

  margin: 0 !important;

  border:
    1px solid
    rgba(255, 255, 255, 0.68);

  border-radius: 32px;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.74),
      rgba(255, 255, 255, 0.42)
    );

  box-shadow:
    0 28px 80px
    rgba(21, 32, 31, 0.08);

  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);

  overflow: hidden;

  box-sizing: border-box !important;

  transition:
    transform 500ms cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 500ms ease,
    border-color 500ms ease;
}


.showcase-card:hover {
  transform: translateY(-5px);

  border-color:
    rgba(255, 255, 255, 0.92);

  box-shadow:
    0 38px 96px
    rgba(21, 32, 31, 0.12);
}


.showcase-card::before {
  content: "";

  position: absolute;

  top: -160px;
  right: -140px;

  width: 380px;
  height: 380px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(255, 255, 255, 0.52) 0%,
      rgba(255, 255, 255, 0) 68%
    );

  pointer-events: none;

  z-index: 0;
}


.showcase-card::after {
  content: "";

  position: absolute;

  left: 0;
  right: 0;
  top: 0;

  height: 1px;

  background:
    linear-gradient(
      90deg,
      rgba(255, 255, 255, 0),
      rgba(255, 255, 255, 0.85),
      rgba(255, 255, 255, 0)
    );

  pointer-events: none;

  z-index: 3;
}


/* =========================
   CARD POSITIONS
========================= */

.showcase-card-commerce {
  grid-column: 1 / -1 !important;
}


.showcase-card-experiences {
  grid-column: 1 / 2 !important;
}


.showcase-card-data {
  grid-column: 2 / 3 !important;
}


.showcase-card-platforms {
  grid-column: 1 / -1 !important;
}


/* =========================
   CARD SIZES
========================= */

.showcase-card-large {
  grid-template-columns:
    minmax(0, 0.88fr)
    minmax(420px, 1.12fr) !important;

  gap: 54px !important;

  min-height: 420px;

  padding: 42px;

  align-items: stretch !important;
}


.showcase-card-small {
  grid-template-columns:
    minmax(0, 0.92fr)
    minmax(220px, 0.78fr) !important;

  gap: 34px !important;

  min-height: 360px;

  padding: 34px;

  align-items: stretch !important;
}


/* =========================
   CARD CONTENT
========================= */

.showcase-card-content {
  position: relative;

  display: flex !important;
  flex-direction: column !important;

  width: 100% !important;
  max-width: none !important;

  min-width: 0 !important;

  margin: 0 !important;

  z-index: 2;
}


.showcase-card-large .showcase-card-content {
  max-width: 510px !important;

  justify-content: center;
}


.showcase-card-small .showcase-card-content {
  min-height: 100%;

  justify-content: flex-start;
}


/* =========================
   CARD INDEX
========================= */

.showcase-card-index {
  margin-bottom: 24px;
}


.showcase-card-index,
.showcase-card-index * {
  font-size: 11px !important;
  font-weight: 650 !important;

  line-height: 1 !important;

  letter-spacing: 0.115em !important;

  text-transform: uppercase !important;

  color: rgba(18, 24, 23, 0.50) !important;
}


/* =========================
   CARD TITLE
========================= */

.showcase-card-title {
  margin-bottom: 18px;
}


.showcase-card-title,
.showcase-card-title *,
.showcase-card-title .elementor-heading-title {
  font-size: 38px !important;

  font-weight: 500 !important;

  line-height: 1.02 !important;

  letter-spacing: -0.05em !important;

  color: #111817 !important;
}


.showcase-card-small .showcase-card-title,
.showcase-card-small .showcase-card-title *,
.showcase-card-small .showcase-card-title .elementor-heading-title {
  font-size: 34px !important;
}


/* =========================
   CARD TEXT
========================= */

.showcase-card-text {
  max-width: 470px;

  margin-bottom: 24px;
}


.showcase-card-text,
.showcase-card-text * {
  font-size: 15.5px !important;

  line-height: 1.58 !important;

  color: rgba(18, 24, 23, 0.63) !important;
}


.showcase-card-text p {
  margin: 0 !important;
}


/* =========================
   CARD LIST
========================= */

.showcase-card-list {
  margin-bottom: 30px;
}


.showcase-card-list,
.showcase-card-list * {
  font-size: 13px !important;
  font-weight: 520 !important;

  line-height: 1.55 !important;

  color: #111817 !important;
}


.showcase-card-list p {
  margin: 0 !important;
}


.showcase-card-list br {
  display: block;

  content: "";

  margin-bottom: 5px;
}


/* =========================
   CARD CTA
========================= */

.showcase-card-cta {
  margin-top: auto;
}


.showcase-card-cta .elementor-button,
.showcase-card-cta a.elementor-button {
  display: inline-flex !important;

  align-items: center !important;
  justify-content: center !important;

  width: fit-content !important;

  min-height: 42px !important;

  padding:
    0
    18px !important;

  border:
    1px solid
    rgba(17, 24, 23, 0.12)
    !important;

  border-radius: 999px !important;

  background: #111817 !important;

  box-shadow:
    0 14px 34px
    rgba(17, 24, 23, 0.16)
    !important;

  font-size: 13px !important;
  font-weight: 650 !important;

  line-height: 1 !important;

  letter-spacing: -0.01em !important;

  color: #ffffff !important;

  transition:
    transform 350ms cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 350ms ease,
    opacity 350ms ease !important;
}


.showcase-card-cta .elementor-button-text {
  color: #ffffff !important;
}


.showcase-card-cta .elementor-button:hover,
.showcase-card-cta a.elementor-button:hover {
  transform: translateY(-2px);

  opacity: 1 !important;

  box-shadow:
    0 18px 44px
    rgba(17, 24, 23, 0.22)
    !important;
}


/* =========================
   CARD VISUAL
========================= */

.showcase-card-visual {
  position: relative;

  display: block !important;

  width: 100% !important;
  max-width: none !important;

  min-width: 0 !important;

  margin: 0 !important;

  border:
    1px solid
    rgba(255, 255, 255, 0.58);

  border-radius: 24px;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.46),
      rgba(255, 255, 255, 0.16)
    );

  box-shadow:
    inset 0 1px 0
    rgba(255, 255, 255, 0.68),
    0 24px 70px
    rgba(21, 32, 31, 0.06);

  overflow: hidden;

  z-index: 2;
}


.showcase-card-large .showcase-card-visual {
  min-height: 330px !important;
}


.showcase-card-small .showcase-card-visual {
  min-height: 100% !important;
}


/* placeholder UI interna */

.showcase-card-visual::before {
  content: "";

  position: absolute;

  inset: 24px;

  border-radius: 20px;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.62),
      rgba(255, 255, 255, 0.20)
    );

  border:
    1px solid
    rgba(255, 255, 255, 0.56);

  box-shadow:
    0 24px 70px
    rgba(21, 32, 31, 0.08);
}


.showcase-card-visual::after {
  content: "";

  position: absolute;

  left: 48px;
  right: 48px;
  bottom: -38px;

  height: 120px;

  border-radius: 999px;

  background:
    rgba(255, 255, 255, 0.28);

  filter: blur(30px);
}


/* =========================
   VISUAL MOCKUP DETAILS
========================= */

.showcase-card-commerce .showcase-card-visual::before {
  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.68),
      rgba(226, 248, 244, 0.30)
    );
}


.showcase-card-experiences .showcase-card-visual::before {
  background:
    radial-gradient(
      circle at 70% 28%,
      rgba(118, 222, 208, 0.22) 0%,
      rgba(255, 255, 255, 0) 34%
    ),
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.66),
      rgba(239, 233, 245, 0.28)
    );
}


.showcase-card-data .showcase-card-visual::before {
  background:
    radial-gradient(
      circle at 32% 72%,
      rgba(118, 222, 208, 0.22) 0%,
      rgba(255, 255, 255, 0) 36%
    ),
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.66),
      rgba(225, 246, 241, 0.30)
    );
}


.showcase-card-platforms .showcase-card-visual::before {
  background:
    radial-gradient(
      circle at 74% 36%,
      rgba(100, 67, 118, 0.14) 0%,
      rgba(255, 255, 255, 0) 38%
    ),
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.66),
      rgba(239, 233, 245, 0.30)
    );
}


/* =========================
   CARD TINTS
========================= */

.showcase-card-commerce {
  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.78),
      rgba(229, 250, 246, 0.44)
    );
}


.showcase-card-experiences {
  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.76),
      rgba(241, 235, 246, 0.42)
    );
}


.showcase-card-data {
  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.76),
      rgba(227, 248, 243, 0.44)
    );
}


.showcase-card-platforms {
  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.76),
      rgba(239, 233, 245, 0.42)
    );
}