/* Fullbox Vik Icons: theme styling without changing module content or assignments. */
.fe-theme #fullbox .fe-services-module {
  display: block; float: none; width: 100%; max-width: none; margin: 0; padding: 0;
  border-block: 1px solid var(--fe-line, #dce8dd); background: #f5f8f2;
  color: var(--fe-ink, #173628);
  font: calc(14px * var(--fe-text-scale, 1) * var(--fe-font-body-scale, 1))/1.7 FEPreviewSans, Arial, sans-serif;
}
.fe-theme #fullbox .fe-services-module > :is(.moduletable, .fe-services-inner) {
  width: min(100% - 48px, 1200px); max-width: 1200px; margin: 0 auto; padding: 44px 0 48px;
  border: 0; background: transparent;
}
.fe-theme #fullbox .fe-services-module .vikicons-container { width: 100%; margin: 0; padding: 0; }
.fe-theme #fullbox .fe-services-module .vikicons-topdesc { margin: 0 0 26px; padding: 0; text-align: left; }
.fe-theme #fullbox .fe-services-module .vikicons-topdesc p { margin: 0; padding: 0; }
.fe-theme #fullbox .fe-services-module .vikicons-topdesc,
.fe-theme #fullbox .fe-services-module .vikicons-topdesc span,
.fe-theme #fullbox .fe-services-module > :is(.moduletable, .fe-services-inner) > h3 {
  color: var(--fe-deep, #103723);
  font: 700 calc(32px * var(--fe-text-scale, 1) * var(--fe-font-section-heading-scale, 1))/1.2 FEDisplaySans, FEPreviewSans, Arial, sans-serif !important;
  letter-spacing: -.03em; text-transform: none;
}
.fe-theme #fullbox .fe-services-module > :is(.moduletable, .fe-services-inner) > h3 { margin: 0 0 26px; padding: 0; }
.fe-theme #fullbox .fe-services-module .vikicons-inner.container { width: 100%; max-width: none; margin: 0; padding: 0; }
.fe-theme #fullbox .fe-services-module .vikicons-set {
  display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px;
  align-items: stretch; margin: 0; padding: 0;
}
.fe-theme #fullbox .fe-services-module .vikicons-item {
  display: block; float: none; flex: none; width: 100% !important; max-width: none !important;
  min-width: 0; margin: 0; padding: 0; text-align: left;
}
.fe-theme #fullbox .fe-services-module .vikicons-item-inner {
  display: flex; flex-direction: column; width: 100%; min-width: 0; height: 100%; margin: 0; padding: 24px;
  border: 1px solid #dce8d8; border-radius: 16px; background: #fff;
  box-shadow: 0 8px 24px rgb(23 59 35 / 4%); text-align: left; transform: none;
}
.fe-theme #fullbox .fe-services-module .vikicons-item-icon { display: block; margin: 0 0 18px; padding: 0; line-height: 1; }
.fe-theme #fullbox .fe-services-module .vikicons-item-icoelem {
  display: flex; align-items: center; justify-content: center; width: 44px !important; height: 44px !important;
  margin: 0; padding: 0; border: 0 !important; border-radius: 13px !important;
  background: #eaf3e5 !important; color: var(--fe-green, #176b3b) !important; box-shadow: none;
}
.fe-theme #fullbox .fe-services-module .vikicons-item-icoelem > i {
  display: block; width: 23px; height: 23px; margin: 0; padding: 0; color: inherit; line-height: 1;
}
/* SVG backgrounds draw the icons directly; no icon font or CSS mask is required. */
.fe-theme #fullbox .fe-services-module .vikicons-item-icoelem > i:is(.fa-map-marker-alt, .fa-map-marker, .fa-location-dot, .fa-calendar-alt, .fa-calendar, .fa-calendar-days, .fa-car, .fa-phone, .fa-phone-alt) { font-size: 0 !important; }
.fe-theme #fullbox .fe-services-module .vikicons-item-icoelem > i:is(.fa-map-marker-alt, .fa-map-marker, .fa-location-dot, .fa-calendar-alt, .fa-calendar, .fa-calendar-days, .fa-car, .fa-phone, .fa-phone-alt)::before {
  content: "" !important; display: block; width: 100%; height: 100%;
  font-size: 0 !important; line-height: 0; border: 0; box-shadow: none;
  background: transparent var(--fe-service-icon) center / contain no-repeat;
}
.fe-theme #fullbox .fe-services-module i:is(.fa-map-marker-alt, .fa-map-marker, .fa-location-dot) { --fe-service-icon: url('../images/fe-service-location.svg'); }
.fe-theme #fullbox .fe-services-module i:is(.fa-calendar-alt, .fa-calendar, .fa-calendar-days) { --fe-service-icon: url('../images/fe-service-calendar.svg'); }
.fe-theme #fullbox .fe-services-module i.fa-car { --fe-service-icon: url('../images/fe-service-car.svg'); }
.fe-theme #fullbox .fe-services-module i:is(.fa-phone, .fa-phone-alt) { --fe-service-icon: url('../images/fe-service-phone.svg'); }
.fe-theme #fullbox .fe-services-module .vikicons-item-text { width: 100%; min-width: 0; margin: 0; padding: 0; overflow-wrap: anywhere; }
.fe-theme #fullbox .fe-services-module .vikicons-item-text h3 {
  margin: 0 0 10px; padding: 0; color: var(--fe-deep, #103723);
  font: 700 calc(20px * var(--fe-text-scale, 1) * var(--fe-font-section-heading-scale, 1))/1.25 FEDisplaySans, FEPreviewSans, Arial, sans-serif;
  letter-spacing: -.02em; text-transform: none;
}
.fe-theme #fullbox .fe-services-module .vikicons-item-text p { margin: 0; padding: 0; color: var(--fe-muted, #647568); font: inherit; }
.fe-theme #fullbox .fe-services-module .vikicons-item-text p + p { margin-top: 10px; }
.fe-theme #fullbox .fe-services-module .vikicons-item-text a { color: var(--fe-green, #176b3b); text-decoration: underline; text-underline-offset: .18em; }
@media (max-width: 1024px) {
  .fe-theme #fullbox .fe-services-module .vikicons-set { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .fe-theme #fullbox .fe-services-module > :is(.moduletable, .fe-services-inner) { width: calc(100% - 32px); padding: 32px 0; }
  .fe-theme #fullbox .fe-services-module .vikicons-set { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .fe-theme #fullbox .fe-services-module .vikicons-item-inner { padding: 22px; }
}
@media print { .fe-theme #fullbox .fe-services-module { display: none !important; } }
