.hwch { box-sizing: border-box; overflow: hidden; }
.hwch *, .hwch *::before, .hwch *::after { box-sizing: border-box; }

/* Header */
.hwch__header { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 40px; }
.hwch__heading { margin: 0; }

/* Arrows */
.hwch__arrows { display: flex; align-items: center; gap: 16px; }
.hwch__arrows--bottom { display: none; justify-content: space-between; margin-top: 20px; }
.hwch button.hwch__arrow { appearance: none; -webkit-appearance: none; background-color: var(--hwch-arrow-bg, transparent); color: var(--hwch-arrow-c, #2b2b2b); border: 0; border-radius: 0; box-shadow: none; text-shadow: none; text-transform: none; padding: 0; margin: 0; min-width: 0; cursor: pointer; line-height: 1; display: inline-flex; align-items: center; justify-content: center; transition: color .25s, background-color .25s, opacity .25s; }
.hwch button.hwch__arrow:hover,
.hwch button.hwch__arrow:focus,
.hwch button.hwch__arrow:active { background-color: var(--hwch-arrow-bg-h, var(--hwch-arrow-bg, transparent)); color: var(--hwch-arrow-c-h, var(--hwch-arrow-c, #2b2b2b)); box-shadow: none; text-decoration: none; }
.hwch button.hwch__arrow:focus:not(:focus-visible) { outline: none; }
.hwch__arrow svg { width: 40px; height: auto; display: block; }
.hwch__arrow.is-disabled { opacity: .35; cursor: default; pointer-events: none; }

/* Arrow position per device (Elementor: Settings > Arrows position) */
.hwch-arrows-top .hwch__arrows--top { display: flex; }
.hwch-arrows-top .hwch__arrows--bottom { display: none; }
.hwch-arrows-bottom .hwch__arrows--top { display: none; }
.hwch-arrows-bottom .hwch__arrows--bottom { display: flex; }
@media (max-width: 1024px) {
	.hwch-arrows-tablet-top .hwch__arrows--top { display: flex; }
	.hwch-arrows-tablet-top .hwch__arrows--bottom { display: none; }
	.hwch-arrows-tablet-bottom .hwch__arrows--top { display: none; }
	.hwch-arrows-tablet-bottom .hwch__arrows--bottom { display: flex; }
}
@media (max-width: 767px) {
	.hwch-arrows-mobile-top .hwch__arrows--top { display: flex; }
	.hwch-arrows-mobile-top .hwch__arrows--bottom { display: none; }
	.hwch-arrows-mobile-bottom .hwch__arrows--top { display: none; }
	.hwch-arrows-mobile-bottom .hwch__arrows--bottom { display: flex; }
}
.hwch__header:not(:has(.hwch__heading)) { justify-content: flex-end; }

/* Body */
.hwch__body { display: flex; gap: 24px; align-items: stretch; }

/* Text column: panels are stacked, only the active one is visible */
.hwch__content { display: grid; flex: none; width: 30%; }
.hwch__panel { grid-area: 1 / 1; display: flex; flex-direction: column; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .4s ease, transform .4s ease, visibility 0s linear .4s; }
.hwch__panel.is-active { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.hwch__title { margin: 0 0 16px; }
.hwch__desc { margin: 0; }
.hwch__desc p:last-child { margin-bottom: 0; }
.hwch .hwch__link { color: var(--hwch-link-c, #2b2b2b); margin-top: auto; padding-top: 24px; display: inline-flex; align-items: center; gap: 10px; text-decoration: none; align-self: flex-start; transition: color .25s; }
.hwch .hwch__link:hover, .hwch .hwch__link:focus { color: var(--hwch-link-ch, var(--hwch-link-c, #2b2b2b)); text-decoration: none; }
.hwch__link svg { width: 20px; height: auto; display: block; }
.hwch__link i { line-height: 1; }

/* Image slider */
.hwch__media { flex: 1 1 auto; width: 100%; min-width: 0; min-height: 0; overflow: hidden; touch-action: pan-y; }
.hwch__track { position: relative; display: flex; gap: var(--hwch-gap, 16px); transition: transform .6s cubic-bezier(.65, 0, .35, 1); will-change: transform; }
.hwch__track.is-instant { transition: none !important; }
.hwch__slide { flex: 0 0 calc((100% - (var(--hwch-n, 2.5) - 1) * var(--hwch-gap, 16px)) / var(--hwch-n, 2.5)); min-width: 0; margin: 0; cursor: pointer; transition: opacity .4s ease; }
.hwch__slide.is-active { cursor: default; }
.hwch__slide img { display: block; width: 100%; height: auto; aspect-ratio: 5 / 4; object-fit: cover; -webkit-user-drag: none; user-select: none; }

.hwch__slide--clone { pointer-events: auto; }

/* Pagination dots (sit between the prev / next arrows in the bottom bar) */
.hwch__arrows--bottom .hwch__dots { flex: 1 1 auto; display: flex; align-items: center; justify-content: center; gap: 10px; }
.hwch button.hwch__dot { appearance: none; -webkit-appearance: none; width: 10px; height: 10px; min-width: 0; padding: 0; margin: 0; border: 0; border-radius: 50%; box-shadow: none; background: var(--hwch-dot-c, #C9C5BE); cursor: pointer; transition: background-color .25s, transform .25s; }
.hwch button.hwch__dot:hover, .hwch button.hwch__dot:focus { background: var(--hwch-dot-ca, #2B2B2B); box-shadow: none; }
.hwch button.hwch__dot.is-active { background: var(--hwch-dot-ca, #2B2B2B); transform: scale(1.1); }
.hwch button.hwch__dot:focus:not(:focus-visible) { outline: none; }
