/* TP Elementor – content widgets (slider, check list). */

.tpe-slider { position: relative; overflow: hidden; }
.tpe-slider__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.tpe-slider__track::-webkit-scrollbar { display: none; }
.tpe-slider__slide { flex: 0 0 100%; scroll-snap-align: start; }
.tpe-slider__link { display: block; }
.tpe-slider picture { display: block; }
.tpe-slider__img { display: block; width: 100%; height: auto; object-fit: cover; }
.tpe-slider__arrow {
	position: absolute; top: 50%; transform: translateY(-50%);
	width: 44px; height: 44px; border: 0; border-radius: 50%;
	background: rgba(0, 0, 0, .35); color: #fff; font-size: 30px; line-height: 1;
	display: grid; place-items: center; cursor: pointer; transition: background-color .2s;
}
.tpe-slider__arrow:hover { background-color: rgba(0, 0, 0, .55); }
.tpe-slider__arrow--prev { left: 12px; }
.tpe-slider__arrow--next { right: 12px; }
.tpe-slider__dots { position: absolute; left: 0; right: 0; bottom: 12px; display: flex; justify-content: center; gap: 8px; }
.tpe-slider__dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .55); box-shadow: 0 0 0 1px rgba(0, 0, 0, .25); cursor: pointer; }
.tpe-slider__dot[aria-current="true"] { background: #fff; }
@media (max-width: 767px) { .tpe-slider__arrow { display: none; } }

.tpe-checklist { list-style: none; margin: 0; padding: 0; display: grid; row-gap: 10px; }
.tpe-checklist__item { display: flex; align-items: center; column-gap: 15px; }
.tpe-checklist__icon {
	flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%;
	display: grid; place-items: center; background: #ea5d00; color: #fff; fill: #fff; font-size: 18px;
}
.tpe-checklist__icon svg { width: 18px; height: 18px; }
.tpe-checklist__title { font-size: 18px; }
.tpe-checklist__text { margin: 4px 0 0; }

.tpe-cards { --tpe-accent: #0050a5; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 1024px) { .tpe-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .tpe-cards { grid-template-columns: 1fr; gap: 16px; } }
.tpe-card-link {
	display: flex; flex-direction: column; overflow: hidden;
	border: 1px solid #e6e9ef; border-radius: 12px; background: #fff; color: inherit; text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s;
}
a.tpe-card-link:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(16, 40, 80, .12); border-color: transparent; }
.tpe-card-link__media { display: block; overflow: hidden; background: #f3f5f8; }
.tpe-card-link__img { display: block; width: 100%; height: auto; transition: transform .35s ease; }
a.tpe-card-link:hover .tpe-card-link__img { transform: scale(1.04); }
.tpe-card-link__body { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding: 14px 18px; }
.tpe-card-link__text { display: flex; flex-direction: column; min-width: 0; }
.tpe-card-link__title { margin: 0; color: #1d2433; font-size: 17px; font-weight: 600; line-height: 1.3; }
.tpe-card-link__meta { margin-top: 2px; color: #6b7385; font-size: 13px; }
.tpe-card-link__cta { flex: 0 0 auto; color: var(--tpe-accent); font-size: 14px; font-weight: 600; white-space: nowrap; }
.tpe-card-link__cta span { display: inline-block; transition: transform .2s; }
a.tpe-card-link:hover .tpe-card-link__cta span { transform: translateX(4px); }
@media (prefers-reduced-motion: reduce) { .tpe-card-link, .tpe-card-link__img, .tpe-card-link__cta span { transition: none; } }

/* Pro-compatible product grids (wc-archive-products, woocommerce-products, wc-categories). */
.elementor-wc-products ul.products.elementor-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 20px; margin: 0; padding: 0; list-style: none; }
.elementor-wc-products ul.products.elementor-grid::before, .elementor-wc-products ul.products.elementor-grid::after { display: none; }
.elementor-wc-products ul.products.elementor-grid > li.product { width: auto !important; margin: 0 !important; float: none !important; }
.elementor-wc-products .woocommerce-result-count { margin: 0 0 16px; }
@media (max-width: 1024px) { .elementor-wc-products ul.products.elementor-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .elementor-wc-products ul.products.elementor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; } }

/* Product price widget: site blue instead of WooCommerce's default green. */
.woocommerce .elementor-widget-woocommerce-product-price p.price,
.elementor-widget-woocommerce-product-price p.price { margin: 0 0 12px; color: #0050a5 !important; line-height: 1.35; }
.elementor-widget-woocommerce-product-price p.price ins { color: #e94e3c; text-decoration: none; }

/* Share buttons (Pro-compatible "share-buttons"). */
.tpe-share { display: flex; flex-wrap: wrap; gap: 8px; }
.tpe-share__btn { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 4px; background: var(--tpe-share); color: #fff !important; transition: opacity .15s, transform .15s; }
.tpe-share__btn:hover { opacity: .88; transform: translateY(-1px); }
@media (max-width: 767px) { .tpe-share--center-mobile { justify-content: center; } }

.tpe-breadcrumbs ol { margin: 0; padding: 0; list-style: none; font-size: 13px; line-height: 1.7; }
.tpe-breadcrumbs li { display: inline; }
.tpe-breadcrumbs a { color: #0050a5; text-decoration: none; }
.tpe-breadcrumbs a:hover { text-decoration: underline; }
.tpe-breadcrumbs__sep { margin: 0 6px; color: #9aa3b5; }