/* MOD Elements base — loaded only by MOD widgets. */
.mod-el-alert {
	padding: 14px 16px;
	border: 1px solid #e5e7eb;
	background: #fff7ed;
	color: #7c2d12;
	border-radius: 10px;
}

.mod-el-button-wrap { display: block; width: 100%; }
.mod-el-button {
	--mod-button-cut: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	min-height: 42px;
	padding: 12px 24px;
	border: 1px solid currentColor;
	border-radius: 8px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none !important;
	transition-property: color, background-color, border-color, transform, box-shadow, opacity;
	transition-duration: 220ms;
	transition-timing-function: ease;
	cursor: pointer;
}
.mod-el-button--inherit,
.mod-el-button--solid { color: #fff; background: var(--mod-ct-primary, #c1121f); border-color: var(--mod-ct-primary, #c1121f); }
.mod-el-button--solid:hover { color: #fff; background: #111; border-color: #111; }
.mod-el-button--outline { color: var(--mod-ct-primary, #c1121f); background: transparent; border-color: currentColor; }
.mod-el-button--outline:hover { color: #fff; background: var(--mod-ct-primary, #c1121f); border-color: var(--mod-ct-primary, #c1121f); }
.mod-el-button--ghost { color: inherit; background: transparent; border-color: transparent; }
.mod-el-button--pill { border-radius: 999px; }
.mod-el-button--square { border-radius: 0; }
.mod-el-button--skew,
.mod-el-button--sport-cut {
	/* Keep real borders visible on every side. Earlier clip-path buttons could hide side borders. */
	clip-path: none;
	border-radius: 0;
	font-style: italic;
	text-transform: uppercase;
	transform: skewX(-12deg);
	transform-origin: center;
	backface-visibility: hidden;
}
.mod-el-button--skew { color: #111; background: #fff; border-color: currentColor; }
.mod-el-button--skew:hover { color: #fff; background: var(--mod-ct-primary, #c1121f); border-color: var(--mod-ct-primary, #c1121f); }
.mod-el-button--sport-cut { color: #fff; background: var(--mod-ct-primary, #c1121f); border-color: currentColor; }
.mod-el-button--sport-cut:hover { color: #fff; background: #111; border-color: #111; }
.mod-el-button--underline { min-height: auto; padding: 0 0 4px; border: 0; border-bottom: 2px solid currentColor; background: transparent; border-radius: 0; }

.mod-banner {
	--mod-banner-border-color: rgba(255,255,255,.88);
	--mod-banner-shine-opacity: .35;
	position: relative;
	display: block;
	overflow: hidden;
	min-height: 360px;
	isolation: isolate;
	text-decoration: none !important;
	color: #fff;
	background: #111;
}
.mod-banner__image,
.mod-banner__overlay {
	position: absolute;
	inset: 0;
}
.mod-banner__image { z-index: 1; }
.mod-banner__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transform: scale(1);
	transition: transform .75s ease;
}
.mod-banner--zoom:hover .mod-banner__image img,
.mod-banner--zoom.is-hovered .mod-banner__image img { transform: scale(1.08); }
.mod-banner__overlay { z-index: 2; background: rgba(0,0,0,.12); pointer-events: none; }
.mod-banner__content {
	position: relative;
	z-index: 5;
	min-height: inherit;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 40px;
	text-align: center;
}
.mod-banner__subtitle { display: block; margin-bottom: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.mod-banner__title { display: block; margin: 0 0 28px; color: #fff; font-size: clamp(38px, 7vw, 88px); font-weight: 900; line-height: .95; text-transform: uppercase; }
.mod-banner__text { display: block; max-width: 620px; margin-bottom: 24px; }
.mod-banner__button-wrap { position: relative; z-index: 7; }

/* Banner alignment controls. These classes intentionally override preset defaults. */
.elementor-widget-mod_banner.mod-banner-content-align-left .mod-banner__content,
.mod-banner.mod-banner-content-align-left .mod-banner__content { text-align: left; align-items: flex-start; }
.elementor-widget-mod_banner.mod-banner-content-align-center .mod-banner__content,
.mod-banner.mod-banner-content-align-center .mod-banner__content { text-align: center; align-items: center; }
.elementor-widget-mod_banner.mod-banner-content-align-right .mod-banner__content,
.mod-banner.mod-banner-content-align-right .mod-banner__content { text-align: right; align-items: flex-end; }
.elementor-widget-mod_banner.mod-banner-valign-flex-start .mod-banner__content,
.mod-banner.mod-banner-valign-flex-start .mod-banner__content { justify-content: flex-start; }
.elementor-widget-mod_banner.mod-banner-valign-center .mod-banner__content,
.mod-banner.mod-banner-valign-center .mod-banner__content { justify-content: center; }
.elementor-widget-mod_banner.mod-banner-valign-flex-end .mod-banner__content,
.mod-banner.mod-banner-valign-flex-end .mod-banner__content { justify-content: flex-end; }
.mod-banner--diagonal::after {
	content: "";
	position: absolute;
	top: -70%;
	left: -90%;
	z-index: 4;
	width: 42%;
	height: 240%;
	background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.08) 35%, rgba(255,255,255,var(--mod-banner-shine-opacity)) 50%, rgba(255,255,255,.08) 65%, transparent 100%);
	opacity: 0;
	pointer-events: none;
	transform: skewX(-12deg);
}
.mod-banner--diagonal:hover::after,
.mod-banner--diagonal.is-hovered::after { animation: mod-banner-shine .9s ease forwards; }
@keyframes mod-banner-shine { 0% { left: -90%; opacity: 0; } 20% { opacity: 1; } 100% { left: 130%; opacity: 0; } }
.mod-banner--border::before {
	content: "";
	position: absolute;
	inset: 22px;
	z-index: 3;
	border: 2px solid var(--mod-banner-border-color);
	opacity: 0;
	pointer-events: none;
	transform: scale(1.04);
	transition: opacity .45s ease, transform .45s ease;
}
.mod-banner--border:hover::before,
.mod-banner--border.is-hovered::before { opacity: 1; transform: scale(1); }
.mod-banner--button-hover .mod-banner__button-wrap { opacity: 0; transform: translateY(16px); transition: opacity .3s ease, transform .3s ease; }
.mod-banner--button-hover:hover .mod-banner__button-wrap,
.mod-banner--button-hover.is-hovered .mod-banner__button-wrap { opacity: 1; transform: translateY(0); }
.mod-banner--red-sale .mod-banner__overlay { background: rgba(193,18,31,.45); }
.mod-banner--dark-premium .mod-banner__overlay { background: linear-gradient(90deg, rgba(0,0,0,.75), rgba(0,0,0,.25)); }
.mod-banner--clean-sport .mod-banner__overlay { background: rgba(0,0,0,.08); }
.mod-banner--minimal-category .mod-banner__content { justify-content: flex-end; align-items: flex-start; text-align: left; }
.mod-banner--minimal-category .mod-banner__title { font-size: clamp(24px, 4vw, 44px); margin-bottom: 0; }
.mod-banner--split-promo .mod-banner__content { max-width: 55%; align-items: flex-start; text-align: left; }

@media (max-width: 767px) {
	.mod-banner__content { padding: 28px 20px; }
	.mod-banner--split-promo .mod-banner__content { max-width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.mod-banner__image img,
	.mod-banner--border::before,
	.mod-banner--button-hover .mod-banner__button-wrap,
	.mod-el-button { transition: none !important; animation: none !important; }
	.mod-banner--diagonal::after { display: none; }
}
.mod-sticky-ready { transition: transform .25s ease, opacity .25s ease, padding .25s ease; }
.mod-sticky-ready.is-mod-sticky-hidden { transform: translateY(-120%); pointer-events: none; }
.mod-sticky-ready.is-mod-sticky-shrink { transform: scale(.985); }

/* MOD Slider */
.mod-slider{--mod-slider-background:transparent;--mod-slider-fixed-height:560px;--mod-slider-min-height:320px;--mod-slider-aspect-ratio:16/9;--mod-slider-ratio-width:16;--mod-slider-ratio-height:9;--mod-slider-image-fit:cover;--mod-slider-image-position:center center;position:relative;display:block;width:100%;max-width:100%;min-width:0;background:var(--mod-slider-background);color:#fff;border-radius:var(--mod-slider-radius,0);isolation:isolate;box-sizing:border-box}
.mod-slider__viewport{position:relative;display:block;width:100%;max-width:100%;min-width:0;overflow:hidden;background:var(--mod-slider-background);border-radius:inherit;isolation:isolate;box-sizing:border-box;contain:paint}
.mod-slider--height-natural .mod-slider__viewport{height:auto;min-height:0;aspect-ratio:var(--mod-slider-natural-width)/var(--mod-slider-natural-height)}
.mod-slider--height-natural .mod-slider__track{position:absolute;inset:0;width:100%;height:100%;min-height:0}
.mod-slider--height-natural .mod-slider__slide{position:absolute;inset:0;width:100%;height:100%;min-height:0}
.mod-slider--height-fixed .mod-slider__viewport{height:var(--mod-slider-fixed-height);min-height:0}
.mod-slider--height-aspect .mod-slider__viewport{height:auto;aspect-ratio:var(--mod-slider-aspect-ratio,var(--mod-slider-ratio-width)/var(--mod-slider-ratio-height))}
.mod-slider--height-minimum .mod-slider__viewport{height:auto;min-height:var(--mod-slider-min-height)}
.mod-slider--height-auto .mod-slider__viewport{height:auto;min-height:max(var(--mod-slider-min-height),var(--mod-slider-auto-height,320px))}
.mod-slider--height-fixed .mod-slider__track,.mod-slider--height-aspect .mod-slider__track{position:absolute;inset:0;width:100%;height:100%;min-height:0}
.mod-slider--height-fixed .mod-slider__slide,.mod-slider--height-aspect .mod-slider__slide{position:absolute;inset:0;width:100%;height:100%;min-height:0}
.mod-slider--height-minimum .mod-slider__track,.mod-slider--height-auto .mod-slider__track{position:relative;display:grid;width:100%;min-height:inherit}
.mod-slider--height-minimum .mod-slider__slide,.mod-slider--height-auto .mod-slider__slide{position:relative;grid-area:1/1;width:100%;min-height:inherit}
.mod-slider__track{box-sizing:border-box;background:var(--mod-slider-background)}
.mod-slider__slide{display:flex;align-items:center;box-sizing:border-box;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s ease,visibility .55s ease;overflow:hidden;background:var(--mod-slider-background)}
.mod-slider__slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}
.mod-slider__image{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:var(--mod-slider-image-fit);object-position:var(--mod-slider-image-position);transform:none;transition:transform 3.5s ease;z-index:1}
.mod-slider__slide.is-active .mod-slider__image{transform:none}
/* One-slide natural mode behaves like a normal Elementor Image widget: the image itself owns document-flow height. */
.mod-slider--single-natural .mod-slider__viewport{height:auto!important;min-height:0!important;aspect-ratio:auto!important;contain:none;overflow:hidden}
.mod-slider--single-natural .mod-slider__track{position:relative!important;inset:auto!important;display:block!important;width:100%;height:auto!important;min-height:0!important}
.mod-slider--single-natural .mod-slider__slide{position:relative!important;inset:auto!important;display:block!important;width:100%;height:auto!important;min-height:0!important;opacity:1;visibility:visible;overflow:hidden}
.mod-slider--single-natural .mod-slider__image{position:relative!important;inset:auto!important;display:block!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;object-position:center center!important;transform:none!important;z-index:1}
.mod-slider--single-natural .mod-slider__overlay{position:absolute;inset:0;width:auto;height:auto;z-index:2}
.mod-slider--single-natural .mod-slider__content{position:absolute;top:50%;left:0;right:0;z-index:3;transform:translateY(-50%)}

.mod-slider__overlay{position:absolute;inset:0;z-index:2;background:rgba(0,0,0,.28)}
.mod-slider__content{position:relative;z-index:3;padding:56px;max-width:620px;margin-left:clamp(18px,7vw,120px);margin-right:clamp(18px,7vw,120px)}
.mod-slider__subtitle{display:inline-flex;margin-bottom:12px;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.mod-slider__title{margin:0 0 18px;color:#fff;font-size:clamp(34px,5vw,78px);font-weight:900;line-height:.95;text-transform:uppercase;letter-spacing:-.04em}
.mod-slider__description{margin:0 0 28px;max-width:56ch;color:rgba(255,255,255,.86);font-size:clamp(15px,1.4vw,19px);line-height:1.6}
.mod-slider__arrow{position:absolute;top:50%;z-index:5;width:46px;height:46px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(0,0,0,.22);color:#fff;font-size:32px;line-height:1;display:grid;place-items:center;transform:translateY(-50%);cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.mod-slider__arrow:hover{background:rgba(0,0,0,.5);border-color:rgba(255,255,255,.8);transform:translateY(-50%) scale(1.04)}
.mod-slider__arrow--prev{left:20px}.mod-slider__arrow--next{right:20px}
.mod-slider__dots{position:absolute;left:50%;bottom:24px;z-index:6;display:flex;gap:10px;transform:translateX(-50%)}
.mod-slider__dot{width:9px;height:9px;border:0;border-radius:999px;background:rgba(255,255,255,.45);padding:0;cursor:pointer;transition:transform .2s ease,background .2s ease,width .2s ease}
.mod-slider__dot.is-active{width:28px;background:#fff}
@media (max-width:767px){.mod-slider__content{padding:34px 22px;margin-left:0;margin-right:0}.mod-slider__arrow{width:38px;height:38px;font-size:26px}.mod-slider__arrow--prev{left:10px}.mod-slider__arrow--next{right:10px}.mod-slider__dots{bottom:14px}.mod-slider__title{font-size:clamp(30px,11vw,48px)}}

/* MOD Elements Pack v0.2.4-alpha.7 */
.mod-simple-card{background:#fff;border:1px solid var(--mod-ct-border,#e5e7eb);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.mod-simple-card:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(15,23,42,.08)}
.mod-carousel{--mod-carousel-per-view:3;--mod-carousel-gap:20px;position:relative}.mod-carousel__viewport{overflow:hidden}.mod-carousel__track{display:flex;gap:var(--mod-carousel-gap);transition:transform .35s ease;will-change:transform}.mod-carousel__item{flex:0 0 calc((100% - (var(--mod-carousel-gap) * (var(--mod-carousel-per-view) - 1))) / var(--mod-carousel-per-view));min-width:0}.mod-carousel__image{display:block;width:100%;height:280px;object-fit:cover}.mod-carousel__caption{display:block;padding:12px 14px;font-weight:700}.mod-carousel__arrow{position:absolute;top:50%;z-index:4;width:40px;height:40px;border:1px solid rgba(17,17,17,.16);border-radius:999px;background:#fff;color:#111;display:grid;place-items:center;font-size:28px;line-height:1;box-shadow:0 10px 24px rgba(15,23,42,.08);cursor:pointer;transform:translateY(-50%);transition:transform .2s ease,background .2s ease}.mod-carousel__arrow:hover{transform:translateY(-50%) scale(1.05);background:#111;color:#fff}.mod-carousel__arrow--prev{left:10px}.mod-carousel__arrow--next{right:10px}.mod-carousel__dots{display:flex;justify-content:center;gap:8px;margin-top:16px}.mod-carousel__dot{width:8px;height:8px;border:0;border-radius:999px;background:#d1d5db;padding:0;cursor:pointer}.mod-carousel__dot.is-active{width:24px;background:var(--mod-ct-primary,#c1121f)}
.mod-logo-carousel__item{display:flex;align-items:center;justify-content:center;min-height:110px;padding:22px}.mod-logo-carousel__item img{display:block;max-width:100%;max-height:70px;object-fit:contain}.mod-logo-carousel--gray .mod-logo-carousel__item img{filter:grayscale(1);opacity:.72;transition:filter .25s ease,opacity .25s ease}.mod-logo-carousel--gray .mod-logo-carousel__item:hover img{filter:none;opacity:1}
.mod-content-card{padding:28px}.mod-content-card__icon{font-size:34px;color:var(--mod-ct-primary,#c1121f);margin-bottom:16px}.mod-content-card__title{margin:0 0 10px;font-size:22px}.mod-content-card__text{margin:0 0 20px;color:var(--mod-ct-muted,#6b7280);line-height:1.65}
/* MOD Gallery v0.2.15 */
.mod-gallery,.mod-category-grid{--mod-grid-columns:4;--mod-grid-gap:16px;display:grid;grid-template-columns:repeat(var(--mod-grid-columns),minmax(0,1fr));gap:var(--mod-grid-gap)}
.mod-gallery{--mod-gallery-image-height:260px;--mod-gallery-aspect-ratio:1 / 1;align-items:start}
.mod-gallery__item{position:relative;display:flex;min-width:0;flex-direction:column;overflow:hidden;border-radius:14px;background:#f3f4f6;color:inherit;text-decoration:none;isolation:isolate}
.mod-gallery__media{position:relative;display:block;width:100%;min-width:0;overflow:hidden;background:#eef1f4}
.mod-gallery__image{display:block;width:100%;max-width:none;object-fit:cover;object-position:center center;transition-property:transform,opacity,filter;transition-duration:.35s;transition-timing-function:ease}
.mod-gallery--size-fixed_height .mod-gallery__media{height:var(--mod-gallery-image-height)}
.mod-gallery--size-fixed_height .mod-gallery__image,.mod-gallery--size-aspect_ratio .mod-gallery__image{width:100%!important;height:100%!important}
.mod-gallery--size-aspect_ratio .mod-gallery__media{aspect-ratio:var(--mod-gallery-aspect-ratio)}
.mod-gallery--size-original .mod-gallery__media{height:auto;aspect-ratio:auto}
.mod-gallery--size-original .mod-gallery__image{height:auto!important;object-fit:contain}
.mod-gallery__content{position:relative;z-index:2;display:flex;min-width:0;flex-direction:column;gap:6px;padding:16px;background:#fff;transition:background-color .3s ease,color .3s ease}
.mod-gallery__title{margin:0;color:#111827;font-size:18px;line-height:1.3;transition:color .3s ease,transform .3s ease,opacity .3s ease}
.mod-gallery__caption{margin:0;color:#6b7280;font-size:14px;line-height:1.6;transition:color .3s ease,transform .3s ease,opacity .3s ease}
.mod-gallery__caption p{margin:0}.mod-gallery__caption p+p{margin-top:.65em}
.mod-gallery--content-overlay_bottom .mod-gallery__content,.mod-gallery--content-overlay_center .mod-gallery__content{position:absolute;right:0;left:0;z-index:3;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.72));pointer-events:none}
.mod-gallery--content-overlay_bottom .mod-gallery__content{bottom:0;padding-top:52px}
.mod-gallery--content-overlay_center .mod-gallery__content{top:50%;bottom:auto;transform:translateY(-50%);background:rgba(0,0,0,.5)}
.mod-gallery--content-overlay_bottom .mod-gallery__title,.mod-gallery--content-overlay_center .mod-gallery__title{color:#fff}
.mod-gallery--content-overlay_bottom .mod-gallery__caption,.mod-gallery--content-overlay_center .mod-gallery__caption{color:rgba(255,255,255,.86)}
.mod-gallery--masonry.mod-gallery--size-fixed_height .mod-gallery__item:nth-child(3n+2) .mod-gallery__media{height:calc(var(--mod-gallery-image-height) * 1.30)}
.mod-gallery--masonry.mod-gallery--size-fixed_height .mod-gallery__item:nth-child(3n+3) .mod-gallery__media{height:calc(var(--mod-gallery-image-height) * .85)}
.mod-gallery--masonry.mod-gallery--size-aspect_ratio .mod-gallery__item:nth-child(3n+2) .mod-gallery__media{aspect-ratio:4 / 5}
.mod-gallery--masonry.mod-gallery--size-aspect_ratio .mod-gallery__item:nth-child(3n+3) .mod-gallery__media{aspect-ratio:4 / 3}

.mod-tabs__nav{display:flex;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--mod-ct-border,#e5e7eb);margin-bottom:22px}.mod-tabs__button{border:0;border-bottom:3px solid transparent;background:transparent;color:#111;padding:12px 16px;font-weight:800;cursor:pointer}.mod-tabs__button.is-active{color:var(--mod-ct-primary,#c1121f);border-color:var(--mod-ct-primary,#c1121f)}.mod-tabs__panel{display:none}.mod-tabs__panel.is-active{display:block}.mod-tabs__panel>*:first-child{margin-top:0}.mod-tabs__panel>*:last-child{margin-bottom:0}
.mod-accordion{display:grid;gap:12px}.mod-accordion__item{border:1px solid var(--mod-ct-border,#e5e7eb);border-radius:14px;background:#fff;overflow:hidden}.mod-accordion__title{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;border:0;background:transparent;color:#111;padding:18px 20px;font-weight:800;text-align:left;cursor:pointer}.mod-accordion__title span{font-size:24px;line-height:1}.mod-accordion__content{display:none;padding:0 20px 20px;color:var(--mod-ct-muted,#6b7280);line-height:1.65}.mod-accordion__item.is-active .mod-accordion__content{display:block}.mod-accordion__item.is-active .mod-accordion__title span{transform:rotate(45deg)}
.mod-cta-box{padding:44px;border-radius:22px;background:#111;color:#fff}.mod-cta-box__subtitle{margin-bottom:10px;color:var(--mod-ct-primary,#c1121f);font-weight:900;letter-spacing:.1em;text-transform:uppercase}.mod-cta-box__title{margin:0 0 14px;color:inherit;font-size:clamp(30px,5vw,64px);line-height:.98;font-weight:900}.mod-cta-box__text{margin:0 0 26px;color:rgba(255,255,255,.78);line-height:1.65}.mod-icon-box{padding:28px}.mod-icon-box__icon{font-size:42px;color:var(--mod-ct-primary,#c1121f);margin-bottom:18px}.mod-icon-box__title{margin:0 0 10px;font-size:22px}.mod-icon-box__text{margin:0 0 18px;color:var(--mod-ct-muted,#6b7280);line-height:1.65}
.mod-category-card{display:block;text-decoration:none;color:inherit}.mod-category-card__image{width:100%;height:260px;display:block;object-fit:cover;transition:transform .35s ease}.mod-category-card:hover .mod-category-card__image{transform:scale(1.04)}.mod-category-card__body{padding:20px}.mod-category-card__title{margin:0 0 8px;font-size:22px}.mod-category-card__text{color:var(--mod-ct-muted,#6b7280);line-height:1.55}
@media(max-width:1024px){.mod-carousel{--mod-carousel-per-view:2}.mod-gallery,.mod-category-grid{--mod-grid-columns:2}}@media(max-width:767px){.mod-carousel{--mod-carousel-per-view:1}.mod-gallery,.mod-category-grid{--mod-grid-columns:1}.mod-carousel__arrow{width:34px;height:34px;font-size:22px}.mod-cta-box{padding:30px 22px}.mod-tabs__nav{overflow:auto;flex-wrap:nowrap}.mod-tabs__button{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.mod-carousel__track,.mod-simple-card,.mod-gallery__image,.mod-category-card__image{transition:none!important}.mod-simple-card:hover{transform:none}}

/* v0.2.4-alpha.7 shared button positioning refinements. */
.mod-el-button-wrap {
	max-width: 100%;
}
.mod-el-button {
	max-width: 100%;
}

/* v0.2.4-alpha.9 shared button refinements. Keep only Solid + Skew in UI, with optional directional hover fill. */
.mod-el-button {
	--mod-button-hover-fill-start: 5px;
	--mod-button-hover-fill-color: var(--mod-ct-primary, #c1121f);
}
.mod-el-button--hover-fill {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.mod-el-button--hover-fill::before {
	content: "";
	position: absolute;
	z-index: -1;
	background: var(--mod-button-hover-fill-color);
	transition: width var(--mod-button-fill-speed, 280ms) ease, height var(--mod-button-fill-speed, 280ms) ease;
	pointer-events: none;
}
.mod-el-button--hover-fill-left::before,
.mod-el-button--hover-fill-right::before {
	top: 0;
	bottom: 0;
	width: var(--mod-button-hover-fill-start);
	height: 100%;
}
.mod-el-button--hover-fill-left::before { left: 0; }
.mod-el-button--hover-fill-right::before { right: 0; }
.mod-el-button--hover-fill-left:hover::before,
.mod-el-button--hover-fill-right:hover::before,
.mod-el-card:hover .mod-el-button--hover-fill-left::before,
.mod-el-card:hover .mod-el-button--hover-fill-right::before {
	width: 100%;
}
.mod-el-button--hover-fill-top::before,
.mod-el-button--hover-fill-bottom::before {
	left: 0;
	right: 0;
	width: 100%;
	height: var(--mod-button-hover-fill-start);
}
.mod-el-button--hover-fill-top::before { top: 0; }
.mod-el-button--hover-fill-bottom::before { bottom: 0; }
.mod-el-button--hover-fill-top:hover::before,
.mod-el-button--hover-fill-bottom:hover::before,
.mod-el-card:hover .mod-el-button--hover-fill-top::before,
.mod-el-card:hover .mod-el-button--hover-fill-bottom::before {
	height: 100%;
}
.mod-el-button--hover-fill:hover,
.mod-el-card:hover .mod-el-button--hover-fill {
	border-color: var(--mod-button-hover-fill-color);
}

/* v0.2.4-alpha.10 crisp skew buttons without text transform blur. */
.mod-el-button--skew {
	transform: none !important;
	clip-path: polygon(var(--mod-button-cut, 18px) 0, 100% 0, calc(100% - var(--mod-button-cut, 18px)) 100%, 0 100%);
	border-color: transparent !important;
	box-shadow: none;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.mod-el-button--skew::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	clip-path: inherit;
	box-shadow: inset 0 0 0 1px currentColor;
}
.mod-el-button--skew:hover::after { box-shadow: inset 0 0 0 1px currentColor; }
.mod-el-button--skew.mod-el-button--hover-fill::before {
	z-index: -1;
}


/* v0.2.4-alpha.11 banner auto-gap + robust skew button border. */
.mod-banner__content {
	gap: var(--mod-banner-content-gap, 24px);
}
.mod-banner__subtitle,
.mod-banner__title,
.mod-banner__text,
.mod-banner__button-wrap {
	margin-top: 0;
	margin-bottom: 0;
}
.mod-banner__content > *:empty {
	display: none !important;
}
.mod-el-button--skew {
	border-color: transparent !important;
	box-shadow: none !important;
}
.mod-el-button--skew::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 3;
	pointer-events: none;
	background: currentColor;
	clip-path: polygon(var(--mod-button-cut, 18px) 0, 100% 0, calc(100% - var(--mod-button-cut, 18px)) 100%, 0 100%);
	padding: var(--mod-button-border-size, 1px);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
}
.mod-el-button--skew:hover::after,
.mod-el-card:hover .mod-el-button--skew::after {
	background: currentColor;
}

/* v0.2.4-alpha.13: visible skew borders + crisp unskewed text. */
.mod-el-button-wrap {
	display: flex;
	width: 100%;
}
.mod-el-button {
	position: relative;
	z-index: 0;
	isolation: isolate;
}
.mod-el-button__text {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: inherit;
}
.mod-el-button--skew {
	clip-path: none !important;
	transform: skewX(-12deg) translateZ(0) !important;
	transform-origin: center;
	border-color: currentColor !important;
	border-style: solid;
	border-width: var(--mod-button-border-size, 1px);
	overflow: hidden;
	box-shadow: none !important;
	backface-visibility: hidden;
}
.mod-el-button--skew::after {
	display: none !important;
	content: none !important;
}
.mod-el-button--skew .mod-el-button__text {
	transform: skewX(12deg) translateZ(0);
	backface-visibility: hidden;
}
.mod-el-button--skew.mod-el-button--hover-fill::before {
	z-index: 1;
}
.mod-el-button--skew.mod-el-button--hover-fill .mod-el-button__text {
	z-index: 2;
}


/* v0.2.4-alpha.14: banner full-link mode when button is hidden. */
.mod-banner--full-link { cursor: pointer; }

/* v0.2.4-alpha.28: safer fixed fallback for MOD Sticky Effects on Elementor sections/containers. */
.mod-sticky-placeholder { margin: 0 !important; padding: 0 !important; border: 0 !important; pointer-events: none !important; }
.mod-sticky-ready.is-mod-sticky-active { box-sizing: border-box; }
.mod-sticky-ready.is-mod-sticky-active.is-mod-sticky-hidden { transform: translateY(-120%); pointer-events: none; }
.mod-sticky-ready.is-mod-sticky-active.is-mod-sticky-shrink { transform: scale(.985); transform-origin: top center; }


/* v0.2.7: shared MOD button icon support. */
.mod-el-button__icon {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	line-height: 1;
	font-size: 1em;
}
.mod-el-button__icon i { display: block; }
.mod-el-button__icon svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
}
.mod-el-button--skew .mod-el-button__icon {
	transform: skewX(12deg) translateZ(0);
	backface-visibility: hidden;
}
