/* Tytoń1kg – Dodatki: style strony
   Paleta: akcent #ED7B17 (hover #D16D15), grafit #1D1C1C, tekst #3A3633, tło jasne #FBFAF8, linie #ECE7E1
   Fonty: Alata (nagłówki), Poppins (tekst)  */

:root {
	--t1-accent: #ED7B17;
	--t1-accent-hover: #D16D15;
	--t1-accent-soft: #FFF3E8;
	--t1-ink: #1D1C1C;
	--t1-text: #3A3633;
	--t1-muted: #7F7872;
	--t1-line: #ECE7E1;
	--t1-ground: #FBFAF8;
	--t1-radius: 16px;
	--t1-font-head: Alata, sans-serif;
	--t1-font-text: Poppins, sans-serif;
	--t1-shadow: 0 1px 2px rgba(45, 30, 15, .06), 0 10px 28px -14px rgba(45, 30, 15, .28);
	--t1-shadow-hover: 0 2px 4px rgba(45, 30, 15, .06), 0 22px 40px -18px rgba(45, 30, 15, .38);
}

/* =========================================================
   1. HEADER
   ========================================================= */
.t1-header-cta .elementor-button { white-space: nowrap; }
.t1-header-cta .elementor-button .elementor-button-text { white-space: nowrap; }

/* Submenu: szeroki panel w 2 kolumnach zamiast długiej listy */
@media (min-width: 1025px) {
	.elementor-location-header .hfe-nav-menu > li.menu-item-has-children > .sub-menu {
		width: 600px !important;
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		gap: 2px 6px;
		padding: 12px !important;
		border-radius: 16px !important;
		max-height: calc(100vh - 120px);
		overflow-y: auto;
		overscroll-behavior: contain;
		box-shadow: 0 24px 48px -16px rgba(29, 28, 28, .38), 0 0 0 1px rgba(29, 28, 28, .05) !important;
		left: 50% !important;
		margin-left: -300px;
	}
	/* ostatnie rozwijane menu (Tytoń mocny) wyrównane do prawej, by nie wychodziło poza ekran */
	.elementor-location-header .hfe-nav-menu > li.menu-item-has-children:nth-child(3) > .sub-menu {
		left: auto !important;
		right: -120px;
		margin-left: 0;
	}
	.elementor-location-header .hfe-nav-menu .sub-menu > li { border: 0 !important; }
	.elementor-location-header .hfe-nav-menu .sub-menu a.hfe-sub-menu-item {
		display: flex !important;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start !important;
		text-align: left !important;
		gap: 1px;
		min-height: 48px;
		padding: 8px 12px !important;
		border-radius: 10px;
		font-size: 14px !important;
		line-height: 1.3 !important;
		background: transparent !important;
		transition: background-color .15s ease;
	}
	.elementor-location-header .hfe-nav-menu .sub-menu a.hfe-sub-menu-item:hover,
	.elementor-location-header .hfe-nav-menu .sub-menu a.hfe-sub-menu-item:focus-visible {
		background: var(--t1-accent-soft) !important;
	}
}
.hfe-nav-menu .sub-menu a[data-t1-split] { flex-direction: column !important; align-items: flex-start !important; justify-content: center !important; gap: 1px; }
.hfe-nav-menu .t1-m1 { display: block; font-weight: 600; color: var(--t1-ink); }
.hfe-nav-menu .t1-m2 { display: block; font-size: 12px; font-weight: 400; color: var(--t1-muted); }
.hfe-nav-menu .sub-menu a:hover .t1-m1,
.hfe-nav-menu .sub-menu .current-menu-item .t1-m1 { color: var(--t1-accent); }

/* Menu mobilne: rozwijana lista przewijalna; bez poziomego przewijania strony */
@media (max-width: 1024px) { body { overflow-x: clip; } }
@media (max-width: 1024px) {
	.elementor-location-header .hfe-nav-menu__layout-horizontal .hfe-nav-menu .sub-menu,
	.elementor-location-header .hfe-dropdown .sub-menu {
		max-height: 60vh;
		overflow-y: auto;
	}
	.elementor-location-header .hfe-dropdown .sub-menu a.hfe-sub-menu-item { padding-top: 10px !important; padding-bottom: 10px !important; }
}

/* =========================================================
   2. BANNER GŁÓWNY
   ========================================================= */
.t1-hero .t1-hero__eyebrow .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.t1-hero .t1-hero__eyebrow .elementor-heading-title::before {
	content: "";
	width: 28px;
	height: 2px;
	background: var(--t1-accent);
}
.t1-hero .t1-hero__title .elementor-heading-title span { color: var(--t1-accent); }

.t1-hero .t1-hero__list .elementor-icon-list-items {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, max-content));
	gap: 10px 34px;
}
.t1-hero .t1-hero__list .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.t1-hero .t1-hero__list .elementor-icon-list-item::after { display: none !important; }

.t1-hero .t1-hero__price .elementor-heading-title strong {
	color: var(--t1-accent);
	font-weight: 700;
}
.t1-hero .t1-btn { margin-right: 12px; margin-bottom: 10px; }
.t1-hero .t1-btn .elementor-button, .t1-header-cta .elementor-button { text-decoration: none !important; }
.t1-hero .t1-btn .elementor-button { transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
.t1-hero .t1-btn .elementor-button:hover { transform: translateY(-2px); }

@media (max-width: 767px) {
	.t1-hero .t1-hero__list .elementor-icon-list-items { grid-template-columns: 1fr; gap: 8px; }
	.t1-hero .t1-btn { margin-right: 8px; }
}

/* Nagłówki sekcji na stronie głównej */
.t1-section-title .elementor-heading-title { letter-spacing: -.01em; }

/* =========================================================
   3. KARTA PRODUKTU (skórka „Produkt” widgetu Posty)
   ========================================================= */
.elementor-posts--skin-t1_product .t1-card {
	display: flex;
	background: #fff;
	border-radius: var(--t1-radius);
	overflow: hidden;
	box-shadow: var(--t1-shadow);
	transition: transform .25s ease, box-shadow .25s ease;
}
.elementor-posts--skin-t1_product .t1-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--t1-shadow-hover);
}
.t1-card__link {
	display: flex;
	flex-direction: column;
	width: 100%;
	color: inherit;
	text-decoration: none !important;
}
.t1-card__link:focus-visible { outline: 3px solid var(--t1-accent); outline-offset: -3px; border-radius: var(--t1-radius); }
.t1-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	background: #F3EFEA;
	overflow: hidden;
}
.t1-card__media .t1-card__img {
	display: block;
	width: 100%;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	transition: transform .6s ease;
}
.t1-card:hover .t1-card__img { transform: scale(1.045); }
.t1-card.category-akcesoria .t1-card__media { background: #fff; }
.t1-card.category-akcesoria .t1-card__img { object-fit: contain; padding: 10px; }
.t1-card__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 6px 10px;
	border-radius: 99px;
	background: var(--t1-accent);
	color: #fff;
	font: 600 13px/1 Poppins, sans-serif;
}
.t1-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 12px;
	padding: 18px 20px 20px;
}
.elementor .t1-card__title {
	margin: 0;
	color: var(--t1-ink);
	font-family: var(--t1-font-head);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.3;
}
.t1-card__price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 10px;
	margin-top: auto;
}
.t1-card__now {
	color: var(--t1-accent);
	font-family: Poppins, sans-serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}
.t1-card__old {
	color: var(--t1-muted);
	font-size: 15px;
	white-space: nowrap;
}
.t1-card__btn {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 18px;
	border: 2px solid var(--t1-accent);
	border-radius: 99px;
	color: var(--t1-accent);
	font: 600 14px/1 Poppins, sans-serif;
	transition: background-color .2s ease, color .2s ease;
}
.t1-card__btn::after {
	content: "";
	width: 7px;
	height: 7px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
}
.t1-card:hover .t1-card__btn { background: var(--t1-accent); color: #fff; }

@media (max-width: 767px) {
	.t1-card__body { padding: 14px 16px 16px; gap: 10px; }
	.elementor .t1-card__title { font-size: 16px; }
	.t1-card__now { font-size: 20px; }
}

/* =========================================================
   4. KARUZELA (scroll-snap)
   ========================================================= */
.t1-carousel { position: relative; --t1-cols: 3; }
.elementor-grid-1 .t1-carousel { --t1-cols: 1; }
.elementor-grid-2 .t1-carousel { --t1-cols: 2; }
.elementor-grid-3 .t1-carousel { --t1-cols: 3; }
.elementor-grid-4 .t1-carousel { --t1-cols: 4; }
.elementor-grid-5 .t1-carousel { --t1-cols: 5; }
@media (max-width: 1024px) {
	.elementor-grid-tablet-1 .t1-carousel { --t1-cols: 1.15; }
	.elementor-grid-tablet-2 .t1-carousel { --t1-cols: 2.2; }
	.elementor-grid-tablet-3 .t1-carousel { --t1-cols: 3.2; }
}
@media (max-width: 767px) {
	.elementor-grid-mobile-1 .t1-carousel { --t1-cols: 1.18; }
	.elementor-grid-mobile-2 .t1-carousel { --t1-cols: 2.15; }
}
.t1-carousel .elementor-posts-container.t1-track {
	display: grid;
	grid-auto-flow: column;
	grid-template-columns: none !important;
	grid-auto-columns: calc((100% - (var(--t1-cols) - 1) * var(--grid-column-gap, 30px)) / var(--t1-cols));
	grid-row-gap: 0 !important;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding: 8px 4px 28px;
	margin: -8px -4px -28px;
}
.t1-carousel .t1-track::-webkit-scrollbar { display: none; }
.t1-carousel .t1-track > .t1-card { scroll-snap-align: start; }

.t1-carousel button.t1-carousel__btn {
	position: absolute;
	top: calc(50% - 50px);
	z-index: 3;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 1px solid var(--t1-line);
	border-radius: 50%;
	background: #fff;
	color: var(--t1-ink);
	box-shadow: 0 8px 20px -8px rgba(45, 30, 15, .45);
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, opacity .2s ease;
}
.t1-carousel button.t1-carousel__btn:hover,
.t1-carousel button.t1-carousel__btn:focus-visible {
	background: var(--t1-accent);
	border-color: var(--t1-accent);
	color: #fff;
	outline: none;
}
.t1-carousel button.t1-carousel__btn--prev { left: -23px; }
.t1-carousel button.t1-carousel__btn--prev svg { transform: rotate(180deg); }
.t1-carousel button.t1-carousel__btn--next { right: -23px; }
.t1-carousel.t1-carousel--static button.t1-carousel__btn { display: none; }
@media (max-width: 1240px) {
	.t1-carousel button.t1-carousel__btn--prev { left: 6px; }
	.t1-carousel button.t1-carousel__btn--next { right: 6px; }
}
@media (max-width: 767px) {
	.t1-carousel button.t1-carousel__btn { width: 40px; height: 40px; top: calc(50% - 60px); }
}

/* =========================================================
   5. OPINIE (Elementor Pro – Testimonial Carousel)
   ========================================================= */
.t1-testimonials .elementor-main-swiper { padding: 10px 6px 56px; }
.t1-testimonials .swiper-wrapper { align-items: stretch; }
.t1-testimonials .swiper-slide { height: auto; padding: 0 !important; border: 0 !important; background: transparent !important; }
.t1-testimonials .elementor-testimonial { width: 100% !important; max-width: none !important; margin: 0 !important; }
.t1-testimonials .elementor-testimonial {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 30px 28px 24px !important;
	border: 1px solid var(--t1-line);
	border-radius: var(--t1-radius) !important;
	background: #fff !important;
	box-shadow: var(--t1-shadow);
	text-align: left;
}
.t1-testimonials .elementor-testimonial::before {
	content: "";
	display: block;
	flex: none;
	width: 34px;
	height: 34px;
	margin-bottom: 16px;
	border-radius: 50%;
	background: var(--t1-accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ED7B17' d='M7.2 6C4.9 7.2 3.5 9.4 3.5 12.3V18h6v-6H6.6c.1-1.7.9-2.9 2.4-3.7L7.2 6zm9.5 0c-2.3 1.2-3.7 3.4-3.7 6.3V18h6v-6h-2.9c.1-1.7.9-2.9 2.4-3.7L16.7 6z'/%3E%3C/svg%3E") center / 18px no-repeat;
}
.t1-testimonials .elementor-testimonial__content { padding: 0 !important; margin: 0 !important; }
.t1-testimonials .elementor-testimonial__text {
	color: var(--t1-text) !important;
	font-family: Poppins, sans-serif !important;
	font-size: 16px !important;
	font-style: normal !important;
	letter-spacing: 0 !important;
	line-height: 1.65 !important;
}
.t1-testimonials .elementor-testimonial__footer {
	justify-content: flex-start !important;
	margin-top: auto !important;
	padding-top: 18px;
	border-top: 1px solid var(--t1-line);
}
.t1-testimonials .elementor-testimonial__cite { text-align: left; }
.t1-testimonials .elementor-testimonial__name {
	color: var(--t1-ink) !important;
	font-family: Poppins, sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
}
.t1-testimonials .elementor-testimonial__title { color: var(--t1-muted) !important; font-family: Poppins, sans-serif !important; font-size: 13px !important; }
.t1-testimonials .swiper-pagination-bullets { bottom: 14px !important; }
.t1-testimonials .swiper-pagination-bullet { width: 9px; height: 9px; background: #D8D1C9; opacity: 1; transition: width .25s ease, background-color .25s ease; }
.t1-testimonials .swiper-pagination-bullet-active { width: 26px; border-radius: 99px; background: var(--t1-accent); }

/* =========================================================
   6. KATEGORIE (Flip Box na stronie głównej)
   ========================================================= */
.t1-cats .elementor-flip-box { border-radius: 18px; overflow: hidden; box-shadow: var(--t1-shadow); }
.t1-cats .elementor-flip-box__layer { border-radius: 18px; }
.t1-cats .elementor-flip-box__front .elementor-flip-box__layer__overlay {
	justify-content: flex-end !important;
	align-items: flex-start !important;
	background: linear-gradient(180deg, rgba(20, 16, 12, 0) 35%, rgba(20, 16, 12, .82) 100%) !important;
	padding: 24px !important;
	text-align: left !important;
}
.t1-cats .elementor-flip-box__front .elementor-flip-box__layer__inner { width: 100%; }
.t1-cats .elementor-flip-box__front .elementor-flip-box__layer__title {
	margin: 0 !important;
	color: #fff !important;
	font-family: Alata, sans-serif !important;
	font-size: 22px !important;
	line-height: 1.15 !important;
}
.t1-cats .elementor-flip-box__front .elementor-flip-box__layer__inner::after {
	content: "Zobacz ofertę";
	display: inline-flex;
	margin-top: 12px;
	padding: 7px 14px;
	border-radius: 99px;
	background: var(--t1-accent);
	color: #fff;
	font: 600 13px/1 Poppins, sans-serif;
}
.t1-cats .elementor-flip-box__back { background: var(--t1-ink) !important; }
.t1-cats .elementor-flip-box__back .elementor-flip-box__layer__overlay { padding: 26px !important; text-align: left !important; align-items: flex-start !important; }
.t1-cats .elementor-flip-box__back .elementor-flip-box__layer__title {
	color: #fff !important;
	font-family: Alata, sans-serif !important;
	font-size: 20px !important;
	line-height: 1.2 !important;
	margin-bottom: 10px !important;
}
.t1-cats .elementor-flip-box__back .elementor-flip-box__layer__description {
	color: rgba(255, 255, 255, .82) !important;
	font-family: Poppins, sans-serif !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	margin-bottom: 18px !important;
}
.t1-cats .elementor-flip-box__back .elementor-flip-box__button {
	border: 0 !important;
	border-radius: 99px !important;
	background: var(--t1-accent) !important;
	color: #fff !important;
	padding: 11px 22px !important;
	font: 600 14px/1 Poppins, sans-serif !important;
}

/* =========================================================
   7. FORMULARZ ZAMÓWIENIA
   ========================================================= */
.t1-form .elementor-field-group .elementor-field-textual,
.t1-form .elementor-field-group select {
	min-height: 48px;
	padding: 12px 16px !important;
	border: 1px solid #DDD6CE !important;
	border-radius: 12px !important;
	background: #fff !important;
	color: var(--t1-ink) !important;
	font-family: Poppins, sans-serif;
	font-size: 15px !important;
	box-shadow: 0 1px 2px rgba(45, 30, 15, .04);
	transition: border-color .15s ease, box-shadow .15s ease;
}
.t1-form .elementor-field-group textarea.elementor-field-textual { min-height: 96px; line-height: 1.5; }
.t1-form .elementor-field-group .elementor-field-textual::placeholder { color: #8E877F; opacity: 1; }
.t1-form .elementor-field-group .elementor-field-textual:hover { border-color: #C9BFB4 !important; }
.t1-form .elementor-field-group .elementor-field-textual:focus {
	border-color: var(--t1-accent) !important;
	box-shadow: 0 0 0 4px rgba(237, 123, 23, .16);
	outline: none;
}
.t1-form .elementor-field-label { color: var(--t1-ink); font-family: Poppins, sans-serif; font-size: 14px; font-weight: 600; }
.t1-form .elementor-field-type-radio .elementor-field-subgroup {
	display: grid;
	gap: 8px;
	width: 100%;
}
.t1-form .elementor-field-type-radio .elementor-field-option {
	display: flex !important;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
	padding: 12px 14px;
	border: 1px solid #DDD6CE;
	border-radius: 12px;
	background: #fff;
	cursor: pointer;
	transition: border-color .15s ease, background-color .15s ease;
}
.t1-form .elementor-field-type-radio .elementor-field-option:hover { border-color: #C9BFB4; }
.t1-form .elementor-field-type-radio .elementor-field-option:has(input:checked) { border-color: var(--t1-accent); background: var(--t1-accent-soft); }
.t1-form .elementor-field-type-radio input[type="radio"] { width: 18px; height: 18px; margin: 0; accent-color: var(--t1-accent); cursor: pointer; flex: none; }
.t1-form .elementor-field-type-radio .elementor-field-option label { margin: 0; color: var(--t1-ink); font-size: 14px; cursor: pointer; }
.t1-form .elementor-button[type="submit"] {
	min-height: 50px;
	padding: 14px 34px !important;
	border: 0 !important;
	border-radius: 99px !important;
	background: var(--t1-accent) !important;
	color: #fff !important;
	font: 600 16px/1 Poppins, sans-serif !important;
	box-shadow: 0 10px 22px -10px rgba(237, 123, 23, .7);
	transition: background-color .2s ease, transform .2s ease;
}
.t1-form .elementor-button[type="submit"]:hover { background: var(--t1-accent-hover) !important; transform: translateY(-1px); }
.t1-form .elementor-message { margin-top: 14px; padding: 12px 16px; border-radius: 12px; font-size: 14px; }
.t1-form .elementor-message.elementor-message-success { background: #EEF8EC; color: #24672A; }
.t1-form .elementor-message.elementor-message-danger { background: #FDECEC; color: #A3262B; }
.t1-form .elementor-message::before { display: none; }
.t1-form .elementor-field-group .elementor-field-textual.elementor-error,
.t1-form .elementor-error .elementor-field-textual { border-color: #D9534F !important; }
.t1-form .elementor-field-group .elementor-message.elementor-help-inline { margin-top: 4px; padding: 0; background: none; font-size: 12px; }

/* =========================================================
   8. PODSTRONY KATEGORII
   ========================================================= */
.t1-cat-intro .elementor-widget-container,
.t1-cat-intro .elementor-text-editor {
	max-width: 860px;
	margin: 0 auto;
}
.t1-cat-intro p {
	color: var(--t1-text);
	font-size: 16px;
	line-height: 1.75;
	text-align: left !important;
}
.t1-cat-intro p:first-child { color: var(--t1-ink); font-size: 18px; }
.t1-cat-intro strong { color: var(--t1-ink); font-weight: 600; }

.t1-page-hero .elementor-heading-title { letter-spacing: -.01em; }

/* =========================================================
   9. BLOG
   ========================================================= */
.t1-blog .elementor-post.elementor-post__card {
	border: 0 !important;
	border-radius: var(--t1-radius) !important;
	box-shadow: var(--t1-shadow) !important;
	transition: transform .25s ease, box-shadow .25s ease;
}
.t1-blog .elementor-post.elementor-post__card:hover { transform: translateY(-4px); box-shadow: var(--t1-shadow-hover) !important; }
.t1-blog .elementor-post__thumbnail { position: relative; overflow: hidden; }
.t1-blog .elementor-post__thumbnail img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	transform: none !important;
	transition: scale .6s ease;
}
.t1-blog .elementor-post__card:hover .elementor-post__thumbnail img { scale: 1.045; }
.t1-blog .elementor-post__title { line-height: 1.3 !important; }
.t1-blog .elementor-post__title, .t1-blog .elementor-post__title a { font-family: var(--t1-font-head) !important; font-weight: 400 !important; }
.t1-blog .elementor-post__title a { color: var(--t1-ink) !important; }
.t1-blog .elementor-post__title a:hover { color: var(--t1-accent) !important; }
.t1-blog .elementor-post__excerpt p { color: var(--t1-text) !important; line-height: 1.65 !important; }
.t1-blog .elementor-post__read-more { color: var(--t1-accent) !important; font-weight: 600 !important; }
.t1-blog .elementor-post__meta-data { color: var(--t1-muted) !important; }
.t1-blog .elementor-pagination { margin-top: 36px; }
.t1-blog .elementor-pagination .page-numbers { display: inline-grid; place-items: center; min-width: 40px; height: 40px; margin: 0 3px; border-radius: 99px; color: var(--t1-ink); }
.t1-blog .elementor-pagination .page-numbers.current { background: var(--t1-accent); color: #fff; }

/* =========================================================
   10. PRZYCISK „DO GÓRY”
   ========================================================= */
button.t1-top {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 9990;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--t1-accent);
	color: #fff;
	box-shadow: 0 10px 24px -8px rgba(237, 123, 23, .75);
	cursor: pointer;
	opacity: 0;
	transform: translateY(14px);
	pointer-events: none;
	transition: opacity .25s ease, transform .25s ease, background-color .2s ease;
}
button.t1-top[hidden] { display: grid; }
button.t1-top.is-visible { opacity: 1; transform: none; pointer-events: auto; }
button.t1-top:hover,
button.t1-top:focus-visible { background: var(--t1-accent-hover); color: #fff; outline: none; }
button.t1-top:focus-visible { box-shadow: 0 0 0 4px rgba(237, 123, 23, .3); }
@media (max-width: 767px) { button.t1-top { right: 14px; bottom: 14px; width: 44px; height: 44px; } }

@media (prefers-reduced-motion: reduce) {
	.t1-card, .t1-card__img, .t1-carousel .t1-track, button.t1-top, .t1-hero .t1-btn .elementor-button { transition: none !important; scroll-behavior: auto !important; }
	.t1-card:hover, .t1-card:hover .t1-card__img { transform: none !important; }
}

/* =========================================================
   11. STOPKA
   ========================================================= */
.t1-footer .t1-footer-box .elementor-icon-box-description a { color: rgba(255, 255, 255, .78); text-decoration: none; transition: color .2s ease; }
.t1-footer .t1-footer-box .elementor-icon-box-description a:hover { color: var(--t1-accent); }
.t1-footer .t1-footer-box .elementor-icon-box-description a.footer-btn { display: inline-block; margin-top: 2px; padding: 7px 18px; border: 2px solid rgba(255, 255, 255, .5); border-radius: 99px; color: #fff !important; font-weight: 600; }
.t1-footer .t1-footer-box .elementor-icon-box-description a.footer-btn:hover { border-color: var(--t1-accent); background: var(--t1-accent); }
.t1-footer .t1-footer-box .elementor-icon { transition: background-color .2s ease, color .2s ease; }
.t1-footer .elementor-nav-menu a { text-decoration: none; }

/* =========================================================
   12. POJEDYNCZY PRODUKT
   ========================================================= */
.t1-product .t1-product__desc p { color: var(--t1-text); font-size: 15px; line-height: 1.75; }
.t1-product .t1-product__desc strong { color: var(--t1-ink); font-weight: 600; }
.t1-buybox > .elementor-container { align-items: center; }
.t1-buybox .elementor-text-editor p, .t1-buybox .elementor-widget-text-editor p { margin: 0; }
.t1-buybox .t1-btn .elementor-button { box-shadow: 0 10px 22px -10px rgba(237, 123, 23, .7); text-decoration: none !important; }
.t1-buybox .t1-btn .elementor-button:hover { transform: translateY(-2px); }
.t1-buybox .t1-btn .elementor-button { transition: background-color .2s ease, transform .2s ease; }
@media (max-width: 767px) { .t1-buybox .elementor-column { width: 100% !important; } .t1-buybox .t1-btn { margin-top: 12px; } }

/* =========================================================
   13. IKONY (zestaw z Magnific, SVG)
   ========================================================= */
.t1-iconbox .elementor-icon-box-icon .elementor-icon {
	display: inline-grid;
	place-items: center;
	width: 72px;
	height: 72px;
	padding: 0 !important;
	border-radius: 50% !important;
	background: #fff !important;
	box-shadow: 0 0 0 1px rgba(237, 123, 23, .16), 0 8px 20px -10px rgba(45, 30, 15, .35);
}
.t1-iconbox .elementor-icon-box-icon .elementor-icon svg { width: 38px !important; height: 38px !important; }
.t1-iconbox .elementor-icon-box-icon .elementor-icon svg path[fill="#ED7B17"] { fill: #ED7B17 !important; }
.t1-iconbox .elementor-icon-box-icon .elementor-icon svg path[fill="#FFFFFF"] { fill: #FFFFFF !important; }
.t1-iconbox .elementor-icon-box-icon { flex: none; }

/* Ikony duotone (stopka, strona zamówienia) */
.t1-duo-icon .elementor-icon svg path[fill="#ED7B17"] { fill: #ED7B17 !important; }
.t1-duo-icon .elementor-icon svg path[fill="#FCD5B4"] { fill: #FCD5B4 !important; }
.t1-duo-icon .elementor-icon svg path[fill="#FFFFFF"] { fill: #FFFFFF !important; }
.t1-footer .t1-duo-icon .elementor-icon { background: none !important; box-shadow: none !important; transition: transform .25s ease; }
.t1-footer .t1-duo-icon .elementor-icon svg { width: 58px !important; height: 58px !important; }
.t1-footer .t1-duo-icon:hover .elementor-icon { transform: translateY(-4px) rotate(-4deg); }
.t1-iconbox.t1-duo-icon .elementor-icon-box-icon .elementor-icon svg { width: 42px !important; height: 42px !important; }
@media (prefers-reduced-motion: reduce) { .t1-footer .t1-duo-icon:hover .elementor-icon { transform: none; } }

/* =========================================================
   14. TYPOGRAFIA – jeden system: Alata (nagłówki), Poppins (tekst)
   ========================================================= */
body, button, input, select, textarea { font-family: var(--t1-font-text); }
h1, h2, h3, h4, h5, h6 { font-family: var(--t1-font-head); font-weight: 400; }
.t1-footer .t1-footer-box .elementor-icon-box-title, .t1-footer .t1-footer-box .elementor-icon-box-title a { font-family: var(--t1-font-head) !important; font-weight: 400 !important; font-size: 18px !important; }
.t1-testimonials .elementor-testimonial__name { font-family: var(--t1-font-text) !important; }
.elementor-flip-box__layer__title { font-family: var(--t1-font-head) !important; font-weight: 400 !important; }
