/* Shared Pattern MAP element utilities.
   Loaded after theme CSS so builder, preview and publish honor element-level edits. */

.iw-es-s { font-size: .85em !important; }
.iw-es-m { font-size: 1em !important; }
.iw-es-l { font-size: 1.18em !important; }
.iw-es-xl { font-size: 1.38em !important; }

h1.iw-es-s,
h2.iw-es-s,
h3.iw-es-s {
  font-size: 1.75rem !important;
}

h1.iw-es-l,
h2.iw-es-l,
h3.iw-es-l {
  font-size: 3rem !important;
}

h1.iw-es-xl,
h2.iw-es-xl,
h3.iw-es-xl {
  font-size: 4.25rem !important;
}

.iw-ew-b { font-weight: 800 !important; }

.iw-ea-l { text-align: left !important; }
.iw-ea-c { text-align: center !important; }
.iw-ea-r { text-align: right !important; }

.iw-ec-primary {
  color: var(--accent-color, var(--iw-c-primary, var(--t-primary, #0e8fb5))) !important;
}

.iw-ec-muted {
  color: var(--t-muted, var(--bs-secondary-color, var(--bs-secondary, #667085))) !important;
  opacity: .78;
}

.iw-ec-ink {
  color: var(--heading-color, var(--t-ink, #101828)) !important;
}

img.iw-fit-cover,
video.iw-fit-cover { object-fit: cover !important; object-position: center center !important; }

img.iw-fit-contain,
video.iw-fit-contain { object-fit: contain !important; object-position: center center !important; }

img.iw-fit-fill,
video.iw-fit-fill { object-fit: fill !important; object-position: center center !important; }

.iw-fit-cover {
  background-size: cover !important;
  background-position: center center !important;
}
.iw-fit-contain {
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.iw-fit-fill {
  background-size: 100% 100% !important;
  background-position: center center !important;
}

.iw-rad-none { border-radius: 0 !important; }
.iw-rad-s { border-radius: 6px !important; }
.iw-rad-m { border-radius: var(--iw-radius, var(--t-radius, 12px)) !important; }
.iw-rad-l { border-radius: calc(var(--iw-radius, var(--t-radius, 12px)) * 2) !important; }

.iw-logo-row { display: inline-flex !important; flex-direction: row !important; align-items: center !important; }
.iw-logo-stack { display: inline-flex !important; flex-direction: column !important; align-items: center !important; }
.iw-logo-icon { display: inline-flex !important; align-items: center !important; justify-content: center !important; }
.iw-logo-gap-tight { gap: 4px !important; }
.iw-logo-gap-loose { gap: 12px !important; }
.iw-logo-pad-tight { padding: 2px 4px !important; }
.iw-logo-pad-normal { padding: 5px 8px !important; }
.iw-logo-align-l { justify-content: flex-start !important; text-align: left !important; }
.iw-logo-align-c { justify-content: center !important; text-align: center !important; }
.iw-logo-align-r { justify-content: flex-end !important; text-align: right !important; }

@media (max-width: 640px) {
  h1.iw-es-s,
  h2.iw-es-s,
  h3.iw-es-s { font-size: 1.5rem !important; }

  h1.iw-es-l,
  h2.iw-es-l,
  h3.iw-es-l { font-size: 2.25rem !important; }

  h1.iw-es-xl,
  h2.iw-es-xl,
  h3.iw-es-xl { font-size: 2.75rem !important; }
}
