@charset "UTF-8";
/**
 * Planned disconnections / maintenances.
 *
 * Listing: period · type badge · summary · type visual (photo or default SVG).
 * Visual keys: planned | emergency | chlorination | works | default
 * (resolved from taxonomy term name keywords in .theme).
 */
.disconnects-main-block {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  align-items: stretch;
}
.disconnects-main-block .disconnects-main-block__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  align-items: stretch;
}
.disconnects-main-block .disconnects-main-block__list-title {
  margin: 0 0 0.15rem;
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: clamp(1.15rem, 2.2vw, 1.35rem);
  line-height: 1.3;
  color: var(--navy-blue);
}
.disconnects-main-block > .views-row,
.disconnects-main-block .disconnects-main-block__list > .views-row {
  display: flex;
  min-width: 0;
}
.disconnects-main-block .item-list ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.disconnects-main-block .item-list li,
.disconnects-main-block .views-row {
  display: flex !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  min-width: 0;
}
.disconnects-main-block .item-list li::before,
.disconnects-main-block .views-row::before {
  display: none !important;
  content: none !important;
}
.disconnects-main-block article.disconnect-card {
  --dc-accent: var(--primary-blue);
  --dc-accent-soft: var(--light-blue);
  --dc-surface: color-mix(in srgb, var(--light-blue) 65%, var(--white));
  --dc-warning: #e6a700;
  position: relative;
  display: flex;
  width: 100%;
  margin: 0;
  padding: 0;
  background: var(--white);
  border: 1px solid var(--gray-medium);
  border-radius: 12px;
  box-shadow: 0 2px 10px color-mix(in srgb, var(--navy-blue) 5%, transparent);
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  outline: none !important;
}
.disconnects-main-block article.disconnect-card.contextual-region.focus, .disconnects-main-block article.disconnect-card.contextual-region:focus {
  outline: none !important;
}
.disconnects-main-block article.disconnect-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  z-index: 1;
  width: 4px;
  background: var(--dc-accent);
  opacity: 0.9;
}
.disconnects-main-block article.disconnect-card:hover, .disconnects-main-block article.disconnect-card:focus-within {
  border-color: color-mix(in srgb, var(--dc-accent) 40%, var(--gray-medium));
  box-shadow: 0 8px 22px color-mix(in srgb, var(--dc-accent) 16%, transparent);
}
.disconnects-main-block article.disconnect-card.disconnect-card--visual-planned {
  --dc-accent: #0077c0;
  --dc-accent-soft: #e3f2fd;
  --dc-surface: #edf6fc;
  --dc-warning: #e6a700;
}
.disconnects-main-block article.disconnect-card.disconnect-card--visual-emergency {
  --dc-accent: #c62828;
  --dc-accent-soft: #fdecea;
  --dc-surface: #fff5f5;
  --dc-warning: #d32f2f;
}
.disconnects-main-block article.disconnect-card.disconnect-card--visual-chlorination {
  --dc-accent: #0e8a7d;
  --dc-accent-soft: #e6f7f5;
  --dc-surface: #eef9f8;
  --dc-warning: #0e8a7d;
}
.disconnects-main-block article.disconnect-card.disconnect-card--visual-works {
  --dc-accent: #0b2b5c;
  --dc-accent-soft: #e8eef6;
  --dc-surface: #f0f3f8;
  --dc-warning: #0b2b5c;
}
.disconnects-main-block article.disconnect-card.disconnect-card--visual-default {
  --dc-accent: #0055aa;
  --dc-accent-soft: #e3f2fd;
  --dc-surface: #eef5fb;
  --dc-warning: #e6a700;
}
.disconnects-main-block .disconnect-card__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  width: 100%;
  min-width: 0;
  padding: 0;
}
@media (min-width: 48rem) {
  .disconnects-main-block .disconnect-card__inner {
    grid-template-columns: minmax(11.5rem, 13.5rem) minmax(0, 1fr) 9rem;
    align-items: stretch;
  }
}
@media (min-width: 64rem) {
  .disconnects-main-block .disconnect-card__inner {
    grid-template-columns: minmax(12rem, 14rem) minmax(0, 1fr) 10.5rem;
  }
}
.disconnects-main-block .disconnect-card__when {
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  margin: 0;
  padding: 1.05rem 1.1rem 1rem 1.25rem;
  overflow: hidden;
  background: var(--dc-surface);
  border-bottom: 1px solid color-mix(in srgb, var(--dc-accent) 14%, var(--gray-medium));
}
.disconnects-main-block .disconnect-card__when::before {
  content: "";
  position: absolute;
  top: -0.35rem;
  right: -0.45rem;
  z-index: 0;
  width: 4.25rem;
  height: 4.25rem;
  pointer-events: none;
  opacity: 0.18;
  background: var(--dc-warning);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media (min-width: 48rem) {
  .disconnects-main-block .disconnect-card__when::before {
    top: 0.35rem;
    right: -0.25rem;
    width: 5rem;
    height: 5rem;
    opacity: 0.22;
  }
}
.disconnects-main-block .disconnect-card__when > * {
  position: relative;
  z-index: 1;
}
@media (min-width: 48rem) {
  .disconnects-main-block .disconnect-card__when {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.7rem;
    padding: 1.25rem 1.15rem 1.25rem 1.35rem;
    border-bottom: 0;
    border-right: 1px solid color-mix(in srgb, var(--dc-accent) 14%, var(--gray-medium));
  }
}
.disconnects-main-block .disconnect-card__when-block {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}
.disconnects-main-block .disconnect-card__when-label {
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 0.72rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--dc-accent);
}
.disconnects-main-block .disconnect-card__when-date {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem;
  color: var(--navy-blue);
  line-height: 1.15;
}
.disconnects-main-block .disconnect-card__when-day {
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}
@media (min-width: 48rem) {
  .disconnects-main-block .disconnect-card__when-day {
    font-size: 1.95rem;
  }
}
.disconnects-main-block .disconnect-card__when-month {
  font-family: Roboto, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 0.95rem;
}
@media (min-width: 48rem) {
  .disconnects-main-block .disconnect-card__when-month {
    font-size: 1rem;
  }
}
.disconnects-main-block .disconnect-card__when-date--same {
  font-family: Roboto, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 1rem;
  color: var(--navy-blue);
}
.disconnects-main-block .disconnect-card__when-time {
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.05rem;
  color: var(--dc-accent);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
}
@media (min-width: 48rem) {
  .disconnects-main-block .disconnect-card__when-time {
    font-size: 1.125rem;
  }
}
.disconnects-main-block .disconnect-card__when-arrow {
  display: none;
  width: 0.9rem;
  height: 0.9rem;
  margin: 0.15rem 0;
  background: color-mix(in srgb, var(--dc-accent) 65%, var(--gray-medium));
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M19 12l-7 7-7-7'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M19 12l-7 7-7-7'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media (min-width: 48rem) {
  .disconnects-main-block .disconnect-card__when-arrow {
    display: block;
    align-self: center;
  }
}
.disconnects-main-block .disconnect-card__when-block--empty .disconnect-card__when-empty-text {
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1rem;
  color: var(--navy-blue);
  line-height: 1.35;
}
.disconnects-main-block .disconnect-card__main {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 0;
  padding: 1rem 1.15rem 1.05rem;
}
@media (min-width: 48rem) {
  .disconnects-main-block .disconnect-card__main {
    padding: 1.1rem 1.2rem 1.05rem;
    justify-content: center;
  }
}
.disconnects-main-block .disconnect-card__type {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 0.35rem;
  max-width: 100%;
  margin: 0;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  background: var(--dc-accent-soft);
  color: var(--dc-accent);
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.disconnects-main-block .disconnect-card__type::before {
  content: "";
  flex-shrink: 0;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: currentColor;
}
.disconnects-main-block h2.page-title.disconnect-card__title {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: clamp(1.05rem, 1.8vw, 1.2rem) !important;
  line-height: 1.3 !important;
  text-align: left !important;
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  color: var(--navy-blue);
  overflow-wrap: anywhere;
}
.disconnects-main-block h2.page-title.disconnect-card__title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.15s ease;
}
.disconnects-main-block h2.page-title.disconnect-card__title a:hover, .disconnects-main-block h2.page-title.disconnect-card__title a:focus-visible {
  color: var(--dc-accent);
}
.disconnects-main-block h2.page-title.disconnect-card__title * {
  margin: 0 !important;
  color: inherit;
  font-size: inherit !important;
  line-height: inherit;
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  text-align: left !important;
}
.disconnects-main-block h2.page-title.disconnect-card__title *::after {
  display: none;
}
.disconnects-main-block .disconnect-card__body {
  margin: 0;
  min-width: 0;
}
.disconnects-main-block .field--name-body {
  margin: 0;
  font-family: Roboto, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--gray-dark);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}
.disconnects-main-block .field--name-body p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}
.disconnects-main-block .field--name-body p + p {
  display: none;
}
.disconnects-main-block .field--name-body a {
  color: var(--dc-accent);
  font-family: Roboto, sans-serif;
  font-weight: 600;
  font-style: normal;
  text-decoration: none;
}
.disconnects-main-block .field--name-body a:hover, .disconnects-main-block .field--name-body a:focus {
  text-decoration: underline;
}
.disconnects-main-block .field--name-body strong,
.disconnects-main-block .field--name-body b {
  font-family: Roboto, sans-serif;
  font-weight: 600;
  font-style: normal;
  color: var(--text-dark);
}
.disconnects-main-block .disconnect-card__actions {
  margin-top: 0.2rem;
}
.disconnects-main-block ul.links.inline {
  display: flex;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  list-style: none;
}
.disconnects-main-block ul.links.inline li {
  display: flex !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.disconnects-main-block ul.links.inline li::before {
  display: none !important;
  content: none !important;
}
.disconnects-main-block ul.links.inline li a {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.1rem 0.35rem 0;
  background: transparent;
  color: var(--dc-accent);
  border: 0;
  border-radius: 0;
  font-size: 0.875rem;
  font-family: Roboto, sans-serif;
  font-weight: 600;
  font-style: normal;
  text-decoration: none;
  transition: color 0.15s ease;
}
.disconnects-main-block ul.links.inline li a::after {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  flex-shrink: 0;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  transition: transform 0.15s ease;
}
.disconnects-main-block ul.links.inline li a:hover, .disconnects-main-block ul.links.inline li a:focus-visible {
  color: var(--navy-blue);
  text-decoration: none;
  background: transparent;
  box-shadow: none;
}
.disconnects-main-block ul.links.inline li a:hover::after, .disconnects-main-block ul.links.inline li a:focus-visible::after {
  transform: translateX(3px);
}
.disconnects-main-block .disconnect-card__visual {
  position: relative;
  display: block;
  order: -1;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--dc-surface);
  border-bottom: 1px solid color-mix(in srgb, var(--dc-accent) 12%, var(--gray-medium));
}
@media (min-width: 48rem) {
  .disconnects-main-block .disconnect-card__visual {
    order: 0;
    aspect-ratio: auto;
    align-self: stretch;
    min-height: 100%;
    height: auto;
    border-bottom: 0;
    border-left: 1px solid color-mix(in srgb, var(--dc-accent) 12%, var(--gray-medium));
  }
}
.disconnects-main-block .disconnect-card__visual .disconnect-card__photo,
.disconnects-main-block .disconnect-card__visual .disconnect-card__default-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (min-width: 48rem) {
  .disconnects-main-block .disconnect-card__visual .disconnect-card__photo,
  .disconnects-main-block .disconnect-card__visual .disconnect-card__default-img {
    position: absolute;
    inset: 0;
  }
}
.disconnects-main-block .view-empty {
  margin: 0;
  padding: 1.35rem 1.15rem;
  border: 1px dashed var(--gray-medium);
  border-radius: 12px;
  background: color-mix(in srgb, var(--gray-light) 70%, var(--white));
  text-align: center;
  color: var(--gray-dark);
  font-family: Roboto, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 0.95rem;
  line-height: 1.5;
}
@media (prefers-reduced-motion: reduce) {
  .disconnects-main-block article.disconnect-card {
    transition: none;
  }
  .disconnects-main-block ul.links.inline li a::after {
    transition: none;
  }
}

.node--type-advanced-page .field--name-body .disconnection-intro,
.node--type-page .field--name-body .disconnection-intro {
  max-width: 52rem;
  margin: 0 auto clamp(1.25rem, 3.5vw, 2.25rem);
  text-align: center;
}
.node--type-advanced-page .field--name-body .disconnection-intro p,
.node--type-page .field--name-body .disconnection-intro p {
  margin: 0.75rem 0 0;
  font-size: clamp(0.9375rem, 2.1vw, 1.125rem);
  line-height: 1.7;
  color: var(--text-dark);
}
.node--type-advanced-page .field--name-body .disconnection-types,
.node--type-page .field--name-body .disconnection-types {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17.5rem), 1fr));
  gap: clamp(1rem, 2.5vw, 1.75rem);
  align-items: stretch;
  width: 100%;
  max-width: 72rem;
  margin: clamp(1.5rem, 4vw, 2.75rem) auto;
  padding: 0;
}
.node--type-advanced-page .field--name-body .disconnection-type-card,
.node--type-page .field--name-body .disconnection-type-card {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-width: 0;
  height: 100%;
  padding: clamp(1.15rem, 3vw, 1.85rem);
  border-radius: 14px;
  background: var(--white);
  border: 1px solid color-mix(in srgb, var(--gray-medium) 80%, transparent);
  border-top: 4px solid var(--primary-blue);
  box-shadow: 0 4px 18px color-mix(in srgb, var(--navy-blue) 7%, transparent);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.node--type-advanced-page .field--name-body .disconnection-type-card h3,
.node--type-page .field--name-body .disconnection-type-card h3 {
  margin: 0;
  font-size: clamp(1.05rem, 2.4vw, 1.35rem);
  font-weight: 700;
  line-height: 1.3;
  color: var(--navy-blue);
  text-wrap: balance;
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
}
.node--type-advanced-page .field--name-body .disconnection-type-card p,
.node--type-page .field--name-body .disconnection-type-card p {
  margin: 0;
  font-size: clamp(0.9rem, 1.9vw, 1.02rem);
  line-height: 1.65;
  color: var(--text-dark);
  font-family: Roboto, sans-serif;
  font-weight: 400;
  font-style: normal;
}
.node--type-advanced-page .field--name-body .disconnection-type-card p:last-child,
.node--type-page .field--name-body .disconnection-type-card p:last-child {
  margin-bottom: 0;
}
.node--type-advanced-page .field--name-body .disconnection-type-card:hover,
.node--type-page .field--name-body .disconnection-type-card:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--primary-blue) 35%, var(--gray-medium));
  box-shadow: 0 10px 26px color-mix(in srgb, var(--primary-blue) 14%, transparent);
}
.node--type-advanced-page .field--name-body .disconnection-type-card.warning,
.node--type-page .field--name-body .disconnection-type-card.warning {
  border-top-color: var(--blue-dark);
  background: linear-gradient(160deg, var(--white) 0%, color-mix(in srgb, var(--light-blue) 70%, var(--white)) 100%);
}
.node--type-advanced-page .field--name-body .disconnection-type-card .important-notice,
.node--type-page .field--name-body .disconnection-type-card .important-notice {
  margin-top: auto;
  padding: clamp(0.75rem, 2vw, 1rem);
  border-radius: 10px;
  border-left: 3px solid var(--blue-dark);
  background: color-mix(in srgb, #ff6b6b 10%, var(--white));
  font-size: clamp(0.8125rem, 1.8vw, 0.9375rem);
  line-height: 1.55;
}
.node--type-advanced-page .field--name-body .disconnection-type-card .important-notice strong,
.node--type-page .field--name-body .disconnection-type-card .important-notice strong {
  color: var(--black);
  font-weight: 700;
}
.node--type-advanced-page .field--name-body .disconnection-contact,
.node--type-page .field--name-body .disconnection-contact {
  margin-top: clamp(2rem, 5vw, 3.5rem);
}

@media (max-width: 29.999rem) {
  .node--type-advanced-page .field--name-body .disconnection-types,
  .node--type-page .field--name-body .disconnection-types {
    grid-template-columns: 1fr;
  }
  .node--type-advanced-page .field--name-body .disconnection-type-card:hover,
  .node--type-page .field--name-body .disconnection-type-card:hover {
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .node--type-advanced-page .field--name-body .disconnection-type-card,
  .node--type-page .field--name-body .disconnection-type-card {
    transition: none;
  }
  .node--type-advanced-page .field--name-body .disconnection-type-card:hover,
  .node--type-page .field--name-body .disconnection-type-card:hover {
    transform: none;
  }
}
article.node--type-deconectare.node--view-mode-full,
article.disconnect-full {
  --dc-accent: var(--primary-blue);
  --dc-accent-soft: var(--light-blue);
  --dc-surface: color-mix(in srgb, var(--light-blue) 55%, var(--white));
  --dc-warning: #e6a700;
  max-width: 860px;
  margin: 0.5rem auto 3rem;
  padding: 0;
  background: var(--white);
  border: 1px solid var(--gray-medium);
  border-radius: 14px;
  box-shadow: 0 6px 24px rgba(11, 43, 92, 0.06);
  overflow: hidden;
  outline: none !important;
}
article.node--type-deconectare.node--view-mode-full.contextual-region.focus, article.node--type-deconectare.node--view-mode-full.contextual-region:focus, article.node--type-deconectare.node--view-mode-full.contextual-region:hover,
article.disconnect-full.contextual-region.focus,
article.disconnect-full.contextual-region:focus,
article.disconnect-full.contextual-region:hover {
  outline: none !important;
}
article.node--type-deconectare.node--view-mode-full > .contextual,
article.node--type-deconectare.node--view-mode-full .contextual,
article.disconnect-full > .contextual,
article.disconnect-full .contextual {
  display: none !important;
}
article.node--type-deconectare.node--view-mode-full.disconnect-card--visual-planned,
article.disconnect-full.disconnect-card--visual-planned {
  --dc-accent: #0077c0;
  --dc-accent-soft: #e3f2fd;
  --dc-surface: #edf6fc;
  --dc-warning: #e6a700;
}
article.node--type-deconectare.node--view-mode-full.disconnect-card--visual-emergency,
article.disconnect-full.disconnect-card--visual-emergency {
  --dc-accent: #c62828;
  --dc-accent-soft: #fdecea;
  --dc-surface: #fff5f5;
  --dc-warning: #d32f2f;
}
article.node--type-deconectare.node--view-mode-full.disconnect-card--visual-chlorination,
article.disconnect-full.disconnect-card--visual-chlorination {
  --dc-accent: #0e8a7d;
  --dc-accent-soft: #e6f7f5;
  --dc-surface: #eef9f8;
  --dc-warning: #0e8a7d;
}
article.node--type-deconectare.node--view-mode-full.disconnect-card--visual-works,
article.disconnect-full.disconnect-card--visual-works {
  --dc-accent: #0b2b5c;
  --dc-accent-soft: #e8eef6;
  --dc-surface: #f0f3f8;
  --dc-warning: #0b2b5c;
}
article.node--type-deconectare.node--view-mode-full.disconnect-card--visual-default,
article.disconnect-full.disconnect-card--visual-default {
  --dc-accent: #0055aa;
  --dc-accent-soft: #e3f2fd;
  --dc-surface: #eef5fb;
  --dc-warning: #e6a700;
}
article.node--type-deconectare.node--view-mode-full .node__content,
article.disconnect-full .node__content {
  padding: 0;
}
article.node--type-deconectare.node--view-mode-full .disconnect-full__header,
article.disconnect-full .disconnect-full__header {
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0;
  padding: clamp(1.35rem, 3.5vw, 2rem) clamp(1.2rem, 3.5vw, 2rem);
  overflow: hidden;
  background: var(--dc-surface);
  border-bottom: 1px solid color-mix(in srgb, var(--dc-accent) 12%, var(--gray-medium));
}
article.node--type-deconectare.node--view-mode-full .disconnect-full__header::before,
article.disconnect-full .disconnect-full__header::before {
  content: "";
  position: absolute;
  top: -0.5rem;
  right: -0.35rem;
  z-index: 0;
  width: 7rem;
  height: 7rem;
  pointer-events: none;
  opacity: 0.16;
  background: var(--dc-warning);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media (min-width: 48rem) {
  article.node--type-deconectare.node--view-mode-full .disconnect-full__header::before,
  article.disconnect-full .disconnect-full__header::before {
    top: 0.25rem;
    right: 0.5rem;
    width: 8.5rem;
    height: 8.5rem;
    opacity: 0.2;
  }
}
article.node--type-deconectare.node--view-mode-full .disconnect-full__header > *,
article.disconnect-full .disconnect-full__header > * {
  position: relative;
  z-index: 1;
}
article.node--type-deconectare.node--view-mode-full .disconnect-full__media,
article.disconnect-full .disconnect-full__media {
  position: relative;
  width: 100%;
  aspect-ratio: 21/9;
  min-height: 12rem;
  max-height: 22rem;
  overflow: hidden;
  background: var(--dc-accent-soft);
  border-bottom: 1px solid color-mix(in srgb, var(--dc-accent) 10%, var(--gray-medium));
}
article.node--type-deconectare.node--view-mode-full .disconnect-full__media .disconnect-full__photo,
article.node--type-deconectare.node--view-mode-full .disconnect-full__media .disconnect-full__default-img,
article.disconnect-full .disconnect-full__media .disconnect-full__photo,
article.disconnect-full .disconnect-full__media .disconnect-full__default-img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
article.node--type-deconectare.node--view-mode-full .disconnect-full__eyebrow,
article.disconnect-full .disconnect-full__eyebrow {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 0.4rem;
  margin: 0;
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  background: var(--white);
  border: 1px solid color-mix(in srgb, var(--dc-accent) 22%, var(--gray-medium));
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 0.75rem;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--dc-accent);
}
article.node--type-deconectare.node--view-mode-full .disconnect-full__eyebrow::before,
article.disconnect-full .disconnect-full__eyebrow::before {
  content: "";
  flex-shrink: 0;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: currentColor;
}
article.node--type-deconectare.node--view-mode-full header.disconnect-full__header h1.page-title.disconnect-full__title,
article.disconnect-full header.disconnect-full__header h1.page-title.disconnect-full__title {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: clamp(1.55rem, 3.5vw, 2.15rem);
  line-height: 1.25;
  color: var(--navy-blue);
  text-align: left;
  overflow-wrap: anywhere;
}
article.node--type-deconectare.node--view-mode-full header.disconnect-full__header h1.page-title.disconnect-full__title span,
article.disconnect-full header.disconnect-full__header h1.page-title.disconnect-full__title span {
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
}
article.node--type-deconectare.node--view-mode-full header.disconnect-full__header h1.page-title.disconnect-full__title span::after,
article.disconnect-full header.disconnect-full__header h1.page-title.disconnect-full__title span::after {
  display: none;
}
article.node--type-deconectare.node--view-mode-full .disconnect-full__period,
article.disconnect-full .disconnect-full__period {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
}
@media (min-width: 30rem) {
  article.node--type-deconectare.node--view-mode-full .disconnect-full__period,
  article.disconnect-full .disconnect-full__period {
    grid-template-columns: 1fr 1fr;
  }
}
article.node--type-deconectare.node--view-mode-full .disconnect-full__pill,
article.disconnect-full .disconnect-full__pill {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
  padding: 0.95rem 1.1rem;
  border-radius: 12px;
  background: var(--white);
  border: 1px solid color-mix(in srgb, var(--dc-accent) 18%, var(--gray-medium));
  color: var(--navy-blue);
  box-shadow: 0 1px 4px color-mix(in srgb, var(--navy-blue) 4%, transparent);
}
article.node--type-deconectare.node--view-mode-full .disconnect-full__pill-label,
article.disconnect-full .disconnect-full__pill-label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 0.72rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--dc-accent);
}
article.node--type-deconectare.node--view-mode-full .disconnect-full__pill-label::before,
article.disconnect-full .disconnect-full__pill-label::before {
  content: "";
  flex-shrink: 0;
  width: 0.9rem;
  height: 0.9rem;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") center/contain no-repeat;
}
article.node--type-deconectare.node--view-mode-full .disconnect-full__pill--end .disconnect-full__pill-label::before,
article.disconnect-full .disconnect-full__pill--end .disconnect-full__pill-label::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center/contain no-repeat;
}
article.node--type-deconectare.node--view-mode-full .disconnect-full__pill-date,
article.disconnect-full .disconnect-full__pill-date {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.4rem;
  line-height: 1.15;
  color: var(--navy-blue);
}
article.node--type-deconectare.node--view-mode-full .disconnect-full__pill-day,
article.disconnect-full .disconnect-full__pill-day {
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: clamp(1.65rem, 3vw, 2rem);
  letter-spacing: -0.03em;
}
article.node--type-deconectare.node--view-mode-full .disconnect-full__pill-month,
article.disconnect-full .disconnect-full__pill-month {
  font-family: Roboto, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 1.05rem;
}
article.node--type-deconectare.node--view-mode-full .disconnect-full__pill-date--same,
article.disconnect-full .disconnect-full__pill-date--same {
  font-family: Roboto, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 1.05rem;
  color: var(--navy-blue);
}
article.node--type-deconectare.node--view-mode-full .disconnect-full__pill-time,
article.disconnect-full .disconnect-full__pill-time {
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.15rem;
  color: var(--dc-accent);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
}
article.node--type-deconectare.node--view-mode-full .node__body,
article.disconnect-full .node__body {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
  padding: clamp(1.25rem, 3.5vw, 1.85rem) clamp(1.15rem, 3.5vw, 2rem) clamp(1.5rem, 3.5vw, 2.25rem);
}
article.node--type-deconectare.node--view-mode-full .field--name-body,
article.disconnect-full .field--name-body {
  margin: 0;
  font-family: Roboto, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--text-dark);
}
article.node--type-deconectare.node--view-mode-full .field--name-body p,
article.disconnect-full .field--name-body p {
  margin: 0 0 0.85rem;
  font-size: inherit;
  line-height: inherit;
}
article.node--type-deconectare.node--view-mode-full .field--name-body p:last-child,
article.disconnect-full .field--name-body p:last-child {
  margin-bottom: 0;
}
article.node--type-deconectare.node--view-mode-full .field--name-body a,
article.disconnect-full .field--name-body a {
  color: var(--dc-accent);
  font-family: Roboto, sans-serif;
  font-weight: 600;
  font-style: normal;
  text-decoration: none;
}
article.node--type-deconectare.node--view-mode-full .field--name-body a:hover, article.node--type-deconectare.node--view-mode-full .field--name-body a:focus,
article.disconnect-full .field--name-body a:hover,
article.disconnect-full .field--name-body a:focus {
  color: var(--navy-blue);
  text-decoration: underline;
}
article.node--type-deconectare.node--view-mode-full .field--name-body ul,
article.node--type-deconectare.node--view-mode-full .field--name-body ol,
article.disconnect-full .field--name-body ul,
article.disconnect-full .field--name-body ol {
  margin: 0 0 0.85rem;
  padding-left: 1.35em;
}
article.node--type-deconectare.node--view-mode-full .field--name-body ul li,
article.node--type-deconectare.node--view-mode-full .field--name-body ol li,
article.disconnect-full .field--name-body ul li,
article.disconnect-full .field--name-body ol li {
  margin: 0 0 0.35em;
}
article.node--type-deconectare.node--view-mode-full .field--name-body h2,
article.node--type-deconectare.node--view-mode-full .field--name-body h3,
article.node--type-deconectare.node--view-mode-full .field--name-body h4,
article.disconnect-full .field--name-body h2,
article.disconnect-full .field--name-body h3,
article.disconnect-full .field--name-body h4 {
  margin: 1.35em 0 0.55em;
  color: var(--navy-blue);
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.35;
}
article.node--type-deconectare.node--view-mode-full .disconnect-full__attachments,
article.disconnect-full .disconnect-full__attachments {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  margin: 0;
  padding: 1.25rem clamp(1rem, 2.5vw, 1.5rem);
  border: 1px solid var(--gray-medium);
  border-radius: 12px;
  background: var(--gray-light);
}
article.node--type-deconectare.node--view-mode-full .disconnect-full__attachments .field__label,
article.disconnect-full .disconnect-full__attachments .field__label {
  display: none;
}
article.node--type-deconectare.node--view-mode-full .disconnect-full__attachments-title,
article.disconnect-full .disconnect-full__attachments-title {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  color: var(--navy-blue);
  font-size: 1rem;
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0;
  text-transform: none;
}
article.node--type-deconectare.node--view-mode-full .disconnect-full__attachments-title::before,
article.disconnect-full .disconnect-full__attachments-title::before {
  content: "";
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48'/%3E%3C/svg%3E") center/contain no-repeat;
}
article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments,
article.disconnect-full .field--name-field-media-attachments {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
}
article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments .field__items,
article.disconnect-full .field--name-field-media-attachments .field__items {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
}
article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments .media,
article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments article,
article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments .field--name-field-media-document,
article.disconnect-full .field--name-field-media-attachments .media,
article.disconnect-full .field--name-field-media-attachments article,
article.disconnect-full .field--name-field-media-attachments .field--name-field-media-document {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments .field--name-field-media-document .field__item,
article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments > .field__item > .field__item_element,
article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments > .field__items > .field__item,
article.disconnect-full .field--name-field-media-attachments .field--name-field-media-document .field__item,
article.disconnect-full .field--name-field-media-attachments > .field__item > .field__item_element,
article.disconnect-full .field--name-field-media-attachments > .field__items > .field__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin: 0 !important;
  padding: 0.65rem 0.95rem !important;
  background: var(--white) !important;
  border: 1px solid var(--gray-medium) !important;
  border-radius: 10px;
  font-size: 0.9rem;
  line-height: 1.4;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments .field--name-field-media-document .field__item:hover,
article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments > .field__item > .field__item_element:hover,
article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments > .field__items > .field__item:hover,
article.disconnect-full .field--name-field-media-attachments .field--name-field-media-document .field__item:hover,
article.disconnect-full .field--name-field-media-attachments > .field__item > .field__item_element:hover,
article.disconnect-full .field--name-field-media-attachments > .field__items > .field__item:hover {
  background: var(--light-blue) !important;
  border-color: color-mix(in srgb, var(--dc-accent) 45%, var(--gray-medium)) !important;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--dc-accent) 12%, transparent);
}
article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments > .field__items > .field__item,
article.disconnect-full .field--name-field-media-attachments > .field__items > .field__item {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: block;
}
article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments > .field__items > .field__item:hover,
article.disconnect-full .field--name-field-media-attachments > .field__items > .field__item:hover {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments .file,
article.disconnect-full .field--name-field-media-attachments .file {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  font-size: inherit;
  line-height: inherit;
}
article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments a,
article.disconnect-full .field--name-field-media-attachments a {
  display: inline;
  margin: 0;
  padding: 0;
  color: var(--primary-blue);
  font-family: Roboto, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 0.9rem;
  line-height: 1.4;
  text-decoration: none;
  overflow-wrap: anywhere;
  word-break: break-word;
}
article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments a::before,
article.disconnect-full .field--name-field-media-attachments a::before {
  content: none;
  display: none;
}
article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments a:hover, article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments a:focus,
article.disconnect-full .field--name-field-media-attachments a:hover,
article.disconnect-full .field--name-field-media-attachments a:focus {
  color: var(--blue-dark);
  text-decoration: underline;
  text-underline-offset: 2px;
}
article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments .file > span,
article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments .file + span,
article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments .field__item > span:not(.file),
article.node--type-deconectare.node--view-mode-full .field--name-field-media-attachments span.file-size,
article.disconnect-full .field--name-field-media-attachments .file > span,
article.disconnect-full .field--name-field-media-attachments .file + span,
article.disconnect-full .field--name-field-media-attachments .field__item > span:not(.file),
article.disconnect-full .field--name-field-media-attachments span.file-size {
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  color: var(--gray-dark);
  font-family: Roboto, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 0.8rem;
  line-height: 1.4;
  white-space: nowrap;
}
@media (max-width: 47.999rem) {
  article.node--type-deconectare.node--view-mode-full,
  article.disconnect-full {
    margin-top: 0;
    border-radius: 12px;
  }
}

.maintenance-calendar {
  --mc-border: var(--gray-medium);
  --mc-surface: color-mix(in srgb, var(--light-blue) 42%, var(--white));
  --mc-ink: var(--navy-blue);
  --mc-muted: var(--gray-dark);
  margin: 0;
  padding: 1.5rem 1.15rem 1.6rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--light-blue) 55%, var(--white)) 0%, var(--white) 42%), var(--white);
  border: 1px solid var(--mc-border);
  border-radius: 14px;
  box-shadow: 0 4px 18px color-mix(in srgb, var(--navy-blue) 6%, transparent);
}
@media (min-width: 48rem) {
  .maintenance-calendar {
    padding: 1.75rem 1.4rem 1.85rem;
  }
}

.maintenance-calendar__toolbar {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1rem;
}
@media (min-width: 48rem) {
  .maintenance-calendar__toolbar {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.25rem;
  }
}

.maintenance-calendar__heading {
  min-width: 0;
}

.maintenance-calendar__title {
  margin: 0 0 0.25rem;
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: clamp(1.2rem, 2.4vw, 1.45rem);
  line-height: 1.25;
  color: var(--mc-ink);
}

.maintenance-calendar__meta {
  margin: 0;
  font-family: Roboto, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 0.9rem;
  line-height: 1.4;
  color: var(--mc-muted);
}

.maintenance-calendar__nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
}

.maintenance-calendar__month {
  margin: 0;
  min-width: 9.5rem;
  text-align: center;
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1rem;
  color: var(--mc-ink);
  text-transform: capitalize;
}

.maintenance-calendar__nav-btn,
.maintenance-calendar__today-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  margin: 0;
  padding: 0 0.85rem;
  border: 1px solid var(--mc-border);
  border-radius: 10px;
  background: var(--white);
  color: var(--mc-ink);
  font-family: Roboto, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 0.95rem;
  line-height: 1;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.maintenance-calendar__nav-btn:hover, .maintenance-calendar__nav-btn:focus-visible,
.maintenance-calendar__today-btn:hover,
.maintenance-calendar__today-btn:focus-visible {
  border-color: color-mix(in srgb, var(--primary-blue) 45%, var(--mc-border));
  background: color-mix(in srgb, var(--light-blue) 55%, var(--white));
  outline: none;
}
.maintenance-calendar__nav-btn:focus-visible,
.maintenance-calendar__today-btn:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-blue) 25%, transparent);
}

.maintenance-calendar__nav-btn {
  font-size: 1.35rem;
}

.maintenance-calendar__today-btn {
  margin-left: 0.2rem;
}

.maintenance-calendar__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.maintenance-calendar__filter {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 2.5rem;
  margin: 0;
  padding: 0.35rem 0.8rem;
  border: 1px solid var(--mc-border);
  border-radius: 999px;
  background: var(--white);
  color: var(--mc-ink);
  font-family: Roboto, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 0.82rem;
  line-height: 1.2;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.maintenance-calendar__filter:hover, .maintenance-calendar__filter:focus-visible {
  border-color: color-mix(in srgb, var(--primary-blue) 40%, var(--mc-border));
  outline: none;
}
.maintenance-calendar__filter:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-blue) 25%, transparent);
}
.maintenance-calendar__filter.is-active {
  border-color: color-mix(in srgb, var(--primary-blue) 55%, var(--mc-border));
  background: color-mix(in srgb, var(--light-blue) 70%, var(--white));
  color: var(--primary-blue);
}

.maintenance-calendar__filter-swatch {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--mc-swatch, var(--primary-blue));
  flex: 0 0 auto;
}

.maintenance-calendar__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 64rem) {
  .maintenance-calendar__layout {
    grid-template-columns: minmax(0, 1.45fr) minmax(16rem, 0.9fr);
    gap: 1.15rem;
    align-items: start;
  }
}

.maintenance-calendar__grid-wrap {
  min-width: 0;
  padding: 0.75rem;
  background: var(--white);
  border: 1px solid var(--mc-border);
  border-radius: 12px;
}

.maintenance-calendar__weekdays,
.maintenance-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.3rem;
}

.maintenance-calendar__weekdays {
  margin-bottom: 0.35rem;
}

.maintenance-calendar__weekday {
  display: block;
  padding: 0.25rem 0;
  text-align: center;
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mc-muted);
}

.maintenance-calendar__cell {
  min-width: 0;
  min-height: 3.1rem;
  margin: 0;
  padding: 0.35rem 0.25rem 0.4rem;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: default;
}
@media (min-width: 48rem) {
  .maintenance-calendar__cell {
    min-height: 3.6rem;
    padding: 0.4rem 0.35rem 0.45rem;
  }
}

.maintenance-calendar__cell--pad {
  visibility: hidden;
  pointer-events: none;
}

.maintenance-calendar__day {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.25rem;
  background: color-mix(in srgb, var(--light-blue) 18%, var(--white));
  border-color: color-mix(in srgb, var(--gray-medium) 70%, transparent);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}
.maintenance-calendar__day:hover, .maintenance-calendar__day:focus-visible {
  border-color: color-mix(in srgb, var(--primary-blue) 45%, var(--mc-border));
  background: color-mix(in srgb, var(--light-blue) 45%, var(--white));
  outline: none;
}
.maintenance-calendar__day:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-blue) 22%, transparent);
}
.maintenance-calendar__day.has-events {
  background: var(--white);
  border-color: color-mix(in srgb, var(--primary-blue) 22%, var(--mc-border));
}
.maintenance-calendar__day.is-today {
  box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--primary-blue) 55%, transparent);
}
.maintenance-calendar__day.is-selected {
  border-color: var(--primary-blue);
  background: color-mix(in srgb, var(--light-blue) 65%, var(--white));
  box-shadow: 0 4px 14px color-mix(in srgb, var(--primary-blue) 14%, transparent);
}

.maintenance-calendar__day-num {
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 0.88rem;
  line-height: 1;
  color: var(--mc-ink);
  padding-left: 0.15rem;
}

.maintenance-calendar__markers {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.2rem;
  min-height: 0.7rem;
  padding-left: 0.15rem;
}

.maintenance-calendar__pill {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  flex: 0 0 auto;
}

.maintenance-calendar__more {
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 0.65rem;
  line-height: 1;
  color: var(--mc-muted);
}

.maintenance-calendar__panel {
  min-width: 0;
  padding: 1rem;
  background: var(--white);
  border: 1px solid var(--mc-border);
  border-radius: 12px;
  min-height: 12rem;
}
@media (min-width: 64rem) {
  .maintenance-calendar__panel {
    position: sticky;
    top: 5.5rem;
    max-height: min(70vh, 34rem);
    overflow: auto;
  }
}

.maintenance-calendar__panel-title {
  margin: 0 0 0.85rem;
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 0.95rem;
  line-height: 1.35;
  color: var(--mc-ink);
  text-transform: capitalize;
}

.maintenance-calendar__panel-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.maintenance-calendar__empty {
  margin: 0;
  font-family: Roboto, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 0.9rem;
  line-height: 1.45;
  color: var(--mc-muted);
}

.maintenance-calendar__event {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding: 0.8rem 0.85rem 0.85rem 0.95rem;
  border: 1px solid color-mix(in srgb, var(--mc-accent, var(--primary-blue)) 22%, var(--mc-border));
  border-radius: 10px;
  background: color-mix(in srgb, var(--mc-accent, var(--primary-blue)) 6%, var(--white));
}
.maintenance-calendar__event::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  border-radius: 10px 0 0 10px;
  background: var(--mc-accent, var(--primary-blue));
}

.maintenance-calendar__event-type {
  display: inline-flex;
  align-self: flex-start;
  margin: 0;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--mc-accent, var(--primary-blue)) 14%, var(--white));
  color: var(--mc-accent, var(--primary-blue));
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 0.7rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.maintenance-calendar__event-title {
  margin: 0;
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 0.95rem;
  line-height: 1.35;
}
.maintenance-calendar__event-title a {
  color: var(--mc-ink);
  text-decoration: none;
}
.maintenance-calendar__event-title a:hover, .maintenance-calendar__event-title a:focus-visible {
  color: var(--primary-blue);
  text-decoration: underline;
  text-underline-offset: 2px;
  outline: none;
}

.maintenance-calendar__event-time {
  margin: 0;
  font-family: Roboto, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 0.8rem;
  line-height: 1.4;
  color: var(--mc-muted);
}

.maintenance-calendar__event-link {
  margin-top: 0.2rem;
  font-family: Roboto, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 0.82rem;
  color: var(--primary-blue);
  text-decoration: none;
}
.maintenance-calendar__event-link:hover, .maintenance-calendar__event-link:focus-visible {
  text-decoration: underline;
  text-underline-offset: 2px;
  outline: none;
}

.maintenance-calendar__legend-wrap {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.55rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0.75rem 0 0;
  padding: 0.5rem 0.6rem;
  border: 1px solid color-mix(in srgb, var(--mc-border) 85%, transparent);
  border-radius: 10px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--light-blue) 28%, var(--white)) 0%, color-mix(in srgb, var(--light-blue) 10%, var(--white)) 100%);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.maintenance-calendar__legend-wrap::-webkit-scrollbar {
  height: 4px;
}
.maintenance-calendar__legend-wrap::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--primary-blue) 35%, transparent);
  border-radius: 999px;
}

.maintenance-calendar__legend-title {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding-right: 0.7rem;
  flex: 0 0 auto;
  font-family: Roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 0.72rem;
  line-height: 1;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--mc-ink);
  white-space: nowrap;
}
.maintenance-calendar__legend-title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 1rem;
  transform: translateY(-50%);
  background: color-mix(in srgb, var(--mc-border) 90%, var(--primary-blue));
}

.maintenance-calendar__legend {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.4rem;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  flex: 0 0 auto;
}

.maintenance-calendar__legend-item {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center;
  position: static !important;
  flex: 0 0 auto;
  gap: 0.35rem;
  box-sizing: border-box;
  margin: 0 !important;
  margin-bottom: 0 !important;
  padding: 0.3rem 0.55rem 0.3rem 0.45rem !important;
  min-height: 1.75rem;
  list-style: none !important;
  border: 1px solid color-mix(in srgb, var(--mc-border) 75%, transparent);
  border-radius: 999px;
  background: var(--white);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--navy-blue) 4%, transparent);
  font-family: Roboto, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 0.78rem !important;
  line-height: 1 !important;
  color: var(--mc-ink) !important;
  white-space: nowrap;
}
.maintenance-calendar__legend-item::before, .maintenance-calendar__legend-item::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  position: static !important;
  box-shadow: none !important;
  transform: none !important;
}

.maintenance-calendar__legend-dot {
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  margin: 0;
  border-radius: 50%;
  flex: 0 0 auto;
  align-self: center;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--white) 85%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--navy-blue) 10%, transparent);
}

.maintenance-calendar__legend-label {
  display: block;
  margin: 0;
  padding: 0;
  line-height: 1;
}

.content-area .maintenance-calendar__legend,
.content-wrapper .maintenance-calendar__legend,
.node__content .maintenance-calendar__legend,
.field__item .maintenance-calendar__legend,
.block__content .maintenance-calendar__legend,
.views-element-container .maintenance-calendar__legend {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.content-area .maintenance-calendar__legend > li,
.content-wrapper .maintenance-calendar__legend > li,
.node__content .maintenance-calendar__legend > li,
.field__item .maintenance-calendar__legend > li,
.block__content .maintenance-calendar__legend > li,
.views-element-container .maintenance-calendar__legend > li {
  margin: 0 !important;
  margin-bottom: 0 !important;
  padding: 0.3rem 0.55rem 0.3rem 0.45rem !important;
  position: static !important;
  font-size: 0.78rem !important;
  line-height: 1 !important;
  color: var(--mc-ink) !important;
}

.content-area .maintenance-calendar__legend > li::before,
.content-wrapper .maintenance-calendar__legend > li::before,
.node__content .maintenance-calendar__legend > li::before,
.field__item .maintenance-calendar__legend > li::before,
.block__content .maintenance-calendar__legend > li::before,
.views-element-container .maintenance-calendar__legend > li::before,
.content-area .maintenance-calendar__legend-wrap li::before,
.content-wrapper .maintenance-calendar__legend-wrap li::before,
.node__content .maintenance-calendar__legend-wrap li::before,
.field__item .maintenance-calendar__legend-wrap li::before,
.block__content .maintenance-calendar__legend-wrap li::before,
.views-element-container .maintenance-calendar__legend-wrap li::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

.maintenance-calendar-view,
.block-apa-maintenance-calendar {
  margin-block: 0.75rem 1.25rem;
}

@media (max-width: 47.999rem) {
  .maintenance-calendar {
    padding: 1.35rem 0.95rem 1.45rem;
    border-radius: 12px;
  }
  .maintenance-calendar__grid-wrap {
    padding: 0.55rem;
  }
  .maintenance-calendar__day-num {
    font-size: 0.8rem;
  }
  .maintenance-calendar__pill {
    width: 0.38rem;
    height: 0.38rem;
  }
  .maintenance-calendar__legend-wrap {
    gap: 0.45rem;
    padding: 0.45rem 0.5rem;
  }
  .maintenance-calendar__legend-item {
    padding: 0.28rem 0.5rem 0.28rem 0.4rem !important;
    gap: 0.3rem;
    min-height: 1.65rem;
  }
}
