/* Final responsive layer. Keep phone layout rules in one predictable place. */
html,
body {
	max-width: 100%;
	overflow-x: hidden;
}

img,
svg,
video,
iframe {
	max-width: 100%;
}

/* Give homepage shortcodes a definite width so Elementor calculates their
   height from the final responsive layout, including stacked trust cards. */
body.home .elementor-widget-shortcode {
	width: 100%;
}

/* Taller, responsive desktop hero; the phone breakpoint below remains square. */
.tka-hero-slider .tka-hero {
	height: clamp(520px, 46vw, 700px);
}

/* Trust benefits: four aligned columns on desktop, overridden below for phones. */
.tka-trust {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	padding: 12px clamp(20px, 5vw, 90px) !important;
	border-right: 0;
	border-left: 0;
	border-radius: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.tka-trust > span {
	min-width: 0;
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	align-items: center;
	justify-content: initial;
	gap: 10px;
	padding: 8px 10px;
}

.tka-trust .tka-trust-icon {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	margin: 0;
	border-radius: 11px;
	background: #e8f5ef;
	color: #08745c;
}

.tka-trust .tka-trust-icon .tka-svg-icon {
	display: block;
	width: 22px;
	height: 22px;
}

.tka-trust .tka-trust-icon-rating {
	background: #fff3d5;
	color: #e69500;
}

.tka-trust .tka-trust-icon-payment {
	background: #eaf0ff;
	color: #3a5da8;
}

.tka-trust .tka-trust-icon-returns {
	background: #f2ebff;
	color: #7652b5;
}

.tka-trust .tka-trust-copy {
	min-width: 0;
	display: grid;
	gap: 2px;
}

.tka-trust .tka-trust-copy b,
.tka-trust .tka-trust-copy small {
	display: block;
	margin: 0;
	line-height: 1.25;
}

.tka-trust .tka-trust-copy b {
	font-size: 13px;
}

.tka-trust .tka-trust-copy small {
	color: #68776f;
	font-size: 10px;
}

@media (min-width: 1025px) {
	.tka-trust {
		min-height: 150px !important;
		padding: 26px clamp(28px, 5vw, 100px) !important;
		gap: clamp(20px, 3vw, 54px);
	}

	.tka-trust > span {
		grid-template-columns: 64px minmax(0, 1fr);
		gap: 15px;
		padding: 10px 12px;
	}

	.tka-trust .tka-trust-icon {
		width: 64px;
		height: 64px;
		border-radius: 17px;
	}

	.tka-trust .tka-trust-icon .tka-svg-icon {
		width: 33px;
		height: 33px;
		stroke-width: 1.9;
	}

	.tka-trust .tka-trust-copy {
		gap: 5px;
	}

	.tka-trust .tka-trust-copy b {
		font-size: 15px;
	}

	.tka-trust .tka-trust-copy small {
		font-size: 11px;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.tka-trust {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding-block: 12px !important;
	}
}

@media (max-width: 767px) {
	:root {
		--tka-mobile-gutter: 14px;
	}

	.tka-shell,
	html.tka-compact-layout .tka-shell {
		width: calc(100% - (var(--tka-mobile-gutter) * 2));
		max-width: none;
		min-width: 0;
	}

	/* Header: retain navigation, basket and a usable product search. */
	.tka-header,
	html.tka-compact-layout .tka-header {
		height: auto;
		min-height: 126px;
	}

	.admin-bar .tka-header {
		top: 46px;
	}

	.tka-header-row,
	html.tka-compact-layout .tka-header-row {
		display: flex;
		flex-wrap: wrap;
		align-content: center;
		gap: 8px;
		padding: 9px 0 11px;
	}

	.tka-icon-button {
		flex: 0 0 42px;
	}

	.tka-logo,
	html.tka-compact-layout .tka-logo {
		min-width: 0;
		margin-right: auto;
	}

	.tka-actions {
		flex: 0 0 auto;
	}

	.tka-actions > a,
	html.tka-compact-layout .tka-actions > a {
		min-width: 42px;
		height: 42px;
	}

	.tka-search,
	html.tka-compact-layout .tka-search {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		order: 10;
		display: flex;
		flex: 1 0 100%;
		width: 100%;
		height: 44px;
	}

	.tka-search input {
		min-width: 0;
		padding: 0 12px;
		font-size: 16px;
	}

	.tka-search > button {
		flex: 0 0 44px;
		width: 44px;
	}

	.tka-search-results {
		top: 49px;
	}

	.tka-announcement .tka-shell {
		min-height: 42px;
		padding: 5px 32px 5px 0;
		gap: 7px;
		line-height: 1.25;
	}

	.tka-announcement a {
		flex: none;
	}

	.tka-quick-track {
		justify-content: flex-start;
		padding-inline: 2px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	/* Full-bleed hero with a phone-friendly image ratio. */
	.tka-hero-slider,
	.tka-hero-slides,
	.tka-hero-slider .tka-hero.tka-shell,
	html.tka-compact-layout .tka-hero-slider .tka-hero.tka-shell {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.tka-hero-slider .tka-hero.tka-shell,
	html.tka-compact-layout .tka-hero-slider .tka-hero {
		height: auto !important;
		min-height: 0 !important;
		aspect-ratio: 1 / 1;
		margin: 0;
		border-radius: 0;
	}

	.tka-hero-slider .tka-hero-art,
	.tka-hero-slider .tka-hero-art picture,
	.tka-hero-slider .tka-hero-art img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.tka-trust,
	html.tka-compact-layout .tka-trust {
		width: 100%;
		max-width: 100%;
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
		padding: 14px var(--tka-mobile-gutter) !important;
		background: #fffaf0;
	}

	.tka-trust > span,
	html.tka-compact-layout .tka-trust > span {
		width: 100%;
		min-width: 0;
		display: grid;
		grid-template-columns: 44px minmax(0, 1fr);
		align-items: center;
		gap: 12px;
		min-height: 66px;
		padding: 10px 12px;
		border: 1px solid #dce8e1;
		border-radius: 13px;
		background: #fff;
		box-shadow: 0 5px 14px rgba(20, 75, 58, .06);
		white-space: normal;
	}

	.tka-trust .tka-trust-icon {
		display: grid;
		width: 44px;
		height: 44px;
		place-items: center;
		margin: 0;
		border-radius: 12px;
		background: #e8f5ef;
		color: #08745c;
	}

	.tka-trust .tka-trust-icon .tka-svg-icon {
		width: 23px;
		height: 23px;
	}

	.tka-trust .tka-trust-icon-rating {
		background: #fff3d5;
		color: #e69500;
	}

	.tka-trust .tka-trust-icon-shipping {
		background: #e6f6f0;
		color: #08745c;
	}

	.tka-trust .tka-trust-icon-payment {
		background: #eaf0ff;
		color: #3a5da8;
	}

	.tka-trust .tka-trust-icon-returns {
		background: #f2ebff;
		color: #7652b5;
	}

	.tka-trust .tka-trust-copy {
		display: grid;
		gap: 3px;
	}

	.tka-trust .tka-trust-copy b {
		margin: 0;
		font-size: 13px;
		line-height: 1.2;
	}

	.tka-trust .tka-trust-copy small {
		font-size: 11px;
		line-height: 1.25;
		color: #68776f;
	}

	/* Sections and cards. */
	.tka-section {
		padding-top: 48px;
		padding-bottom: 48px;
	}

	.tka-section-head {
		min-width: 0;
		margin-bottom: 22px;
		gap: 14px;
	}

	.tka-section-head h2,
	.tka-about h2 {
		font-size: clamp(30px, 9vw, 36px);
		overflow-wrap: anywhere;
	}

	.tka-product-grid,
	.tka-product-grid-four,
	html.tka-compact-layout .tka-product-grid,
	html.tka-compact-layout .tka-product-grid-four {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.tka-scroll-row {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
		overflow: visible;
		scroll-snap-type: none;
	}

	.tka-scroll-row .tka-product-card {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		scroll-snap-align: none;
	}

	.tka-product-card .tka-product-media {
		aspect-ratio: 4 / 3;
	}

	.tka-product-card .tka-product-media img {
		padding: 18px;
	}

	.tka-product-card .tka-product-body {
		padding: 16px;
	}

	.tka-product-card .tka-product-body h3 {
		height: auto;
		min-height: 0;
		font-size: 16px;
	}

	.tka-product-card .tka-add-button {
		min-height: 46px;
		font-size: 13px;
	}

	.tka-product-body h3,
	.tka-product-body h3 a,
	.tka-add-button {
		overflow-wrap: anywhere;
	}

	.tka-add-button {
		gap: 5px;
		padding-inline: 9px;
	}

	.tka-carousel-track {
		grid-auto-columns: min(72vw, 250px);
		-webkit-overflow-scrolling: touch;
	}

	.tka-promo-grid,
	.tka-daily-banners,
	.tka-newsletter > .tka-shell,
	.tka-footer-grid,
	html.tka-compact-layout .tka-promo-grid,
	html.tka-compact-layout .tka-newsletter > .tka-shell,
	html.tka-compact-layout .tka-footer-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.tka-promo {
		min-height: 250px;
		padding: 25px 20px;
	}

	.tka-promo h2 {
		font-size: 29px;
	}

	.tka-fresh-market-head,
	.tka-daily-head,
	.tka-fish-head {
		align-items: flex-end;
		gap: 10px;
	}

	.tka-fresh-market-head h2,
	.tka-daily-head h2,
	.tka-fish-head h2 {
		min-width: 0;
		font-size: 26px;
		line-height: 1.12;
		overflow-wrap: anywhere;
	}

	.tka-fresh-market-head > a,
	.tka-daily-head > a,
	.tka-fish-head > a {
		flex: none;
		white-space: nowrap;
	}

	.tka-fresh-tabs,
	.tka-fish-tabs {
		max-width: calc(100% + (var(--tka-mobile-gutter) * 2));
		overflow-x: auto;
		overscroll-behavior-inline: contain;
		-webkit-overflow-scrolling: touch;
	}

	.tka-about,
	html.tka-compact-layout .tka-about {
		grid-template-columns: minmax(0, 1fr);
		width: calc(100% - (var(--tka-mobile-gutter) * 2));
		margin-bottom: 50px;
	}

	.tka-about article {
		min-width: 0;
		padding: 32px 20px;
	}

	.tka-newsletter form > div {
		height: auto;
		min-height: 54px;
	}

	.tka-newsletter button {
		flex: none;
		padding-inline: 12px;
	}

	.tka-footer-bottom {
		align-items: flex-start;
	}

	/* Dialogs and drawers must never exceed the visual viewport. */
	.tka-drawer {
		width: min(390px, 92vw);
	}

	.tka-qv-dialog {
		width: calc(100% - 20px);
		max-height: calc(100dvh - 20px);
	}

	.tka-qv-summary {
		min-width: 0;
		padding: 24px 18px;
	}

	.tka-qv-actions {
		flex-wrap: wrap;
	}

	.tka-qv-add {
		min-width: 140px;
	}

	.tka-qc aside {
		width: 100%;
		max-width: 100%;
	}
}

@media (max-width: 359px) {
	.tka-logo strong {
		font-size: 13px;
	}

	.tka-logo-mark {
		width: 32px;
		height: 32px;
	}

	.tka-product-grid,
	.tka-product-grid-four,
	.tka-fresh-products-grid,
	.tka-daily-products-grid,
	.tka-fish-products-grid,
	html.tka-compact-layout .tka-product-grid,
	html.tka-compact-layout .tka-product-grid-four {
		grid-template-columns: minmax(0, 1fr);
	}

	.tka-newsletter form > div {
		align-items: stretch;
		flex-direction: column;
		gap: 6px;
		background: transparent;
		padding: 0;
	}

	.tka-newsletter input[type="email"],
	.tka-newsletter button {
		min-height: 48px;
		border-radius: 9px;
	}
}

/* Mobile header overlap fix: keep the two-row header in normal flow. */
@media (max-width: 767px) {
	.tka-header,
	html.tka-compact-layout .tka-header,
	.admin-bar .tka-header {
		position: relative;
		top: auto;
	}
}

/* Stable mobile header: one navigation row plus full-width search row. */
@media(max-width:767px){
  .tka-header-row,html.tka-compact-layout .tka-header-row{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;align-content:center;column-gap:6px;row-gap:8px;flex-wrap:nowrap}
  .tka-header-row>.tka-icon-button{grid-column:1;grid-row:1}
  .tka-header-row>.tka-logo,html.tka-compact-layout .tka-header-row>.tka-logo{grid-column:2;grid-row:1;justify-self:start;margin:0;min-width:0}
  .tka-header .tka-logo .tka-brand-image,html.tka-compact-layout .tka-header .tka-logo .tka-brand-image{width:128px!important;height:51px!important;max-width:100%;object-fit:cover}
  .tka-header-row>.tka-actions,html.tka-compact-layout .tka-header-row>.tka-actions{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:center;gap:2px;min-width:0}
  .tka-header .tka-live-viewers{min-height:31px;padding:3px 5px;gap:4px}
  .tka-header .tka-live-eye{width:22px;height:22px}
  .tka-header .tka-live-eye svg{width:15px;height:15px}
  .tka-header .tka-live-pulse{display:none}
  .tka-header .tka-live-copy strong{min-width:20px;font-size:11px}
  .tka-header .tka-live-copy small{display:none}
  .tka-header .tka-actions>.tka-cart-link{min-width:38px!important;width:38px;height:40px}
  .tka-header-row>.tka-search,html.tka-compact-layout .tka-header-row>.tka-search{grid-column:1/-1;grid-row:2;order:initial;position:relative;inset:auto;display:flex;width:100%;min-width:0}
}
@media(max-width:359px){.tka-header .tka-logo .tka-brand-image,html.tka-compact-layout .tka-header .tka-logo .tka-brand-image{width:112px!important;height:45px!important}.tka-header .tka-live-eye{display:none}.tka-header .tka-live-viewers{padding-inline:6px}}

/* Homepage mobile product sections: always two cards per row. */
@media(max-width:767px){
  body.home .tka-product-grid,body.home .tka-product-grid-four,body.home .tka-fresh-products-grid,body.home .tka-snacks-products-grid,body.home .tka-daily-products-grid,body.home .tka-fish-products-grid,body.home .tka-scroll-row,html.tka-compact-layout body.home .tka-product-grid,html.tka-compact-layout body.home .tka-product-grid-four{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;overflow:visible!important;scroll-snap-type:none!important}
  body.home .tka-product-grid>.tka-product-card,body.home .tka-scroll-row>.tka-product-card{width:auto!important;max-width:none!important;min-width:0!important;scroll-snap-align:none!important}
  body.home .tka-product-card .tka-product-media{aspect-ratio:1/1;min-height:0}
  body.home .tka-product-card .tka-product-media img{padding:8px}
  body.home .tka-product-card .tka-product-body{padding:11px 10px 10px}
  body.home .tka-product-card .tka-product-body h3{min-height:34px;margin-bottom:7px;font-size:12px;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
  body.home .tka-product-card .tka-price{height:auto;min-height:24px;font-size:14px}
  body.home .tka-product-card .tka-add-button{min-height:38px;margin-top:8px;padding:0 9px;font-size:10px}
  body.home .tka-product-card .tka-wishlist{right:6px;top:6px;width:30px;height:30px}
  body.home .tka-product-card .tka-quick-view{right:6px;top:42px;width:30px;height:30px}
  body.home .tka-product-card .tka-badge{left:7px;top:7px;padding:4px 7px;font-size:9px}
}

/* Offers heading: button sits beside the heading */
#mega-offers .tka-offers-head{align-items:center}
#mega-offers .tka-offers-head>a.tka-offers-head-button{background:linear-gradient(135deg,#ffd05a,#f4a61d);color:#173f35;font-weight:900;min-height:50px;padding:12px 22px;white-space:nowrap;box-shadow:0 8px 18px rgba(244,166,29,.28)}
#mega-offers .tka-offers-head>a.tka-offers-head-button:hover{background:linear-gradient(135deg,#ffd05a,#f4a61d);filter:brightness(1.04)}

/* Notices: keep the status icon beside the text, not over it. */
body .woocommerce-message,
body .woocommerce-info,
body.single-product .woocommerce-message{padding-left:3.2em}
body .woocommerce-message::before,
body .woocommerce-info::before{top:50%;left:1.2em;transform:translateY(-50%)}

/* Mobile: stop off-screen content from widening the page. */
.tka-reference-related>div{position:relative}
