.hdm{
  --hdm-columns:4;
  --hdm-accent:var(--e-global-color-primary,#245b45);
  box-sizing:border-box;
  margin-block:1rem;
  color:inherit
}
.hdm *{
  box-sizing:border-box
}
.hdm-page{
  max-width:1200px;
  margin:auto;
  padding:24px
}
.hdm a{
  color:inherit
}
.hdm a:focus-visible,.hdm button:focus-visible,.hdm input:focus-visible,.hdm summary:focus-visible,.hdm textarea:focus-visible,.hdm select:focus-visible{
  outline:3px solid currentColor;
  outline-offset:4px
}
.hdm-title{
  margin-block:0 16px
}
.hdm-grid{
  display:grid;
  grid-template-columns:repeat(var(--hdm-columns),minmax(0,1fr));
  gap:20px
}
.hdm-card{
  border:1px solid #ddd;
  border-radius:8px;
  padding:16px;
  overflow:hidden;
  min-width:0
}
.hdm-card img,.hdm-media,.hdm-video{
  display:block;
  max-width:100%;
  width:100%;
  height:auto
}
.hdm-card h3{
  font-size:1.1em
}
.hdm-button,.hdm button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  min-width:44px;
  padding:10px 16px;
  border:1px solid currentColor;
  border-radius:4px;
  background:var(--hdm-accent);
  color:#fff;
  text-decoration:none;
  cursor:pointer
}
.hdm-badge{
  display:inline-block;
  padding:3px 8px;
  border:1px solid currentColor;
  border-radius:4px;
  font-size:.8em;
  margin:4px
}
.hdm-menu{
  display:flex;
  flex-wrap:wrap;
  gap:8px
}
.hdm-menu-category{
  position:relative
}
.hdm summary{
  cursor:pointer;
  min-height:44px;
  padding:12px
}
.hdm-menu-panel{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  padding:20px;
  background:var(--e-global-color-secondary,#fff);
  color:inherit;
  border:1px solid #ddd
}
.hdm-menu-panel>.hdm-media,.hdm-menu-panel>picture{
  grid-column:1/-1
}
.hdm-menu-panel ul{
  list-style:none;
  padding:0;
  margin:0
}
.hdm-menu-panel li a{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:44px
}
.hdm-logo{
  width:32px;
  height:32px;
  object-fit:contain
}
.hdm-search{
  position:relative
}
.hdm input,.hdm textarea,.hdm select{
  padding:12px;
  min-height:44px;
  max-width:100%
}
.hdm-search input{
  width:100%
}
.hdm-search-results{
  position:absolute;
  z-index:100;
  background:#fff;
  color:#222;
  border:1px solid #ccc;
  width:100%;
  max-height:65vh;
  overflow:auto;
  padding:12px
}
.hdm-search-results [role=option]{
  display:flex;
  gap:12px;
  align-items:center;
  padding:12px;
  cursor:pointer
}
.hdm-search-results [aria-selected=true]{
  outline:2px solid currentColor;
  background:#eee
}
.hdm-search-results img{
  width:40px;
  height:40px;
  object-fit:contain
}
.hdm-search-results h3{
  font-size:.9em;
  text-transform:uppercase;
  margin:12px
}
.hdm-slider{
  position:relative
}
.hdm-slide[hidden]{
  display:none!important
}
.hdm-slide-content{
  padding:20px
}
.hdm-slider[data-transition=fade] .hdm-slide:not([hidden]){
  animation:hdm-fade .35s ease-in
}
.hdm-slider-controls{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px
}
.hdm-tabs,.hdm-filters{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:end;
  margin-block:16px
}
.hdm-tabs a{
  padding:12px;
  border:1px solid currentColor;
  min-height:44px
}
.hdm-profile,.hdm-cta{
  display:flex;
  align-items:center;
  gap:24px
}
.hdm-profile>.hdm-media,.hdm-cta>.hdm-media{
  width:30%;
  max-width:250px
}
.hdm-review{
  padding:16px 0;
  border-bottom:1px solid #ddd
}
.hdm-review-form{
  display:grid;
  gap:16px;
  max-width:650px
}
.hdm-review-form label{
  display:grid;
  gap:6px
}
.hdm-review-form textarea{
  min-height:130px
}
.hdm-honeypot{
  position:absolute!important;
  left:-10000px;
  width:1px;
  height:1px;
  overflow:hidden
}
.hdm-pagination{
  display:flex;
  gap:12px;
  margin-top:20px
}
.hdm-pagination a,.hdm-pagination span{
  padding:12px
}
.hdm-ad small{
  display:block
}
.hdm-sr{
  position:absolute!important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.hdm-ticker{
  display:flex;
  align-items:center;
  gap:16px;
  overflow:hidden
}
.hdm-ticker-track{
  display:flex;
  gap:40px;
  white-space:nowrap;
  animation:hdm-ticker var(--hdm-speed,30s) linear infinite
}
.hdm-ticker[data-direction=right] .hdm-ticker-track{
  animation-direction:reverse
}
.hdm-ticker:hover .hdm-ticker-track,.hdm-ticker:focus-within .hdm-ticker-track,.hdm-ticker[data-paused=true] .hdm-ticker-track{
  animation-play-state:paused
}
.hdm-carousel{
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding-bottom:16px
}
.hdm-carousel>.hdm-card{
  flex:0 0 calc((100% - 60px)/var(--hdm-columns));
  scroll-snap-align:start
}
.hdm-carousel:focus-visible{
  outline:3px solid currentColor
}
@keyframes hdm-ticker{
  from{
  transform:translateX(5%)
}
to{
  transform:translateX(-100%)
}

}
@keyframes hdm-fade{
  from{
  opacity:.3
}
to{
  opacity:1
}

}
@media(min-width:768px){
  .hdm-menu-category[open] .hdm-menu-panel{
  position:absolute;
  z-index:99;
  width:min(650px,85vw);
  max-height:70vh;
  overflow:auto;
  inset-inline-start:0
}

}
@media(max-width:1024px){
  .hdm{
  --hdm-columns:2!important
}

}
@media(max-width:767px){
  .hdm{
  --hdm-columns:1!important
}
.hdm-menu{
  display:block
}
.hdm-menu-panel{
  grid-template-columns:1fr
}
.hdm-profile,.hdm-cta{
  flex-direction:column;
  align-items:stretch
}
.hdm-profile>.hdm-media,.hdm-cta>.hdm-media{
  width:100%
}
.hdm-page{
  padding:16px
}
.hdm-carousel>.hdm-card{
  flex-basis:80%
}

}
@media(prefers-reduced-motion:reduce){
  .hdm-ticker-track{
  animation:none;
  white-space:normal;
  flex-wrap:wrap
}
.hdm *{
  scroll-behavior:auto!important;
  animation:none!important;
  transition:none!important
}

}

.hdm [hidden]{
  display:none!important
}

