:root {
  --minassati-primary: #0F766E;
  --minassati-primary-dark: #0B4F4A;
  --minassati-primary-deep: #073B3A;
  --minassati-accent: #22D3EE;
  --minassati-accent-alt: #14B8A6;
  --minassati-soft: #CCFBF1;
  --minassati-soft-cyan: #CFFAFE;
  --minassati-ink: #123C3A;
  --e-global-color-primary: #0F766E !important;
  --e-global-color-secondary: #0B4F4A !important;
  --e-global-color-accent: #14B8A6 !important;
  --cmsmasters-colors-link: #0F766E !important;
  --cmsmasters-colors-hover: #14B8A6 !important;
}
::selection { background: #99F6E4; color: #073B3A; }
a:focus-visible, button:focus-visible, [role="button"]:focus-visible {
  outline: 3px solid #22D3EE !important;
  outline-offset: 3px;
}
img[src*="Minassati-Logo" i], img[src*="minassati-logo" i] {
  content: url('/minassati-site/minassati-brand/logo-horizontal.svg');
}

/* BEGIN MINASSATI PREMIUM REFINEMENT */
:root {
  --minassati-surface: rgba(255, 255, 255, 0.88);
  --minassati-surface-strong: rgba(255, 255, 255, 0.96);
  --minassati-border: rgba(15, 118, 110, 0.14);
  --minassati-shadow-sm: 0 10px 30px rgba(7, 59, 58, 0.08);
  --minassati-shadow-md: 0 18px 55px rgba(7, 59, 58, 0.14);
  --minassati-shadow-button: 0 12px 30px rgba(15, 118, 110, 0.25);
  --minassati-gradient: linear-gradient(135deg, #0F766E 0%, #14B8A6 58%, #22D3EE 120%);
  --minassati-gradient-dark: linear-gradient(135deg, #073B3A 0%, #0B4F4A 54%, #0F766E 100%);
}

html { scroll-behavior: smooth; }
body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

header,
.elementor-location-header,
.cmsmasters-header-top,
.cmsmasters-header-mid {
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
}

.elementor-location-header,
.cmsmasters-header-mid {
  box-shadow: 0 1px 0 rgba(15, 118, 110, 0.08), 0 12px 35px rgba(7, 59, 58, 0.06);
}

/* Keep the public telephone number on one horizontal line. Elementor's
   generated width rules can otherwise collapse this widget to one character. */
header a[href^="tel:"],
.elementor-location-header a[href^="tel:"],
.cmsmasters-header-top a[href^="tel:"],
.cmsmasters-header-mid a[href^="tel:"] {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: max-content !important;
  max-width: none !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  writing-mode: horizontal-tb !important;
  line-height: 1.25 !important;
}

header :is(.cmsmasters-widget-icon-list-item, .cmsmasters-widget-icon-list-item-value, .cmsmasters-widget-icon-list-item-text-wrap):has(a[href^="tel:"]),
.elementor-location-header :is(.cmsmasters-widget-icon-list-item, .cmsmasters-widget-icon-list-item-value, .cmsmasters-widget-icon-list-item-text-wrap):has(a[href^="tel:"]),
.cmsmasters-header-top :is(.cmsmasters-widget-icon-list-item, .cmsmasters-widget-icon-list-item-value, .cmsmasters-widget-icon-list-item-text-wrap):has(a[href^="tel:"]) {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  flex-wrap: nowrap !important;
  width: auto !important;
  min-width: max-content !important;
  max-width: none !important;
  writing-mode: horizontal-tb !important;
}

.elementor-button,
.cmsmasters-button,
button:not(.dialog-close-button),
input[type="submit"] {
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  box-shadow: var(--minassati-shadow-button) !important;
  transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease !important;
}

.elementor-button:hover,
.cmsmasters-button:hover,
button:not(.dialog-close-button):hover,
input[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(15, 118, 110, 0.32) !important;
  filter: saturate(1.08) brightness(1.02);
}

.elementor-widget-image img,
.cmsmasters-featured-image img,
.elementor-widget-video video {
  transition: transform 320ms cubic-bezier(.2,.75,.2,1), filter 320ms ease;
}

.elementor-widget-image:hover img,
.cmsmasters-featured-image:hover img {
  transform: translateY(-2px) scale(1.008);
  filter: saturate(1.03);
}

.elementor-field,
input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  border-color: rgba(15, 118, 110, 0.18) !important;
  transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.elementor-field:focus,
input:not([type="submit"]):focus,
select:focus,
textarea:focus {
  border-color: #14B8A6 !important;
  box-shadow: 0 0 0 4px rgba(34, 211, 238, 0.15) !important;
  outline: none !important;
}

:is(.elementor-widget-container, .cmsmasters-widget-content):has(> .minassati-contact-stack) {
  overflow: visible;
}

.minassati-contact-stack {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
}

.minassati-contact-stack a {
  color: inherit;
  text-decoration: none;
  transition: color 160ms ease, transform 160ms ease;
}

.minassati-contact-stack a:hover {
  color: #14B8A6;
  transform: translateX(2px);
}

footer,
.elementor-location-footer {
  position: relative;
  isolation: isolate;
}

footer::before,
.elementor-location-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(circle at 12% 10%, rgba(34, 211, 238, 0.12), transparent 28%),
    radial-gradient(circle at 88% 88%, rgba(20, 184, 166, 0.14), transparent 30%);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
/* END MINASSATI PREMIUM REFINEMENT */
