/**
 * RosaFood PWA — telepített app (standalone) dizájn
 */

:root.rf-pwa-app-root {
	--rf-pwa-tabbar-h: calc(3.65rem + env(safe-area-inset-bottom, 0px));
}

html.rf-pwa-app-root body,
body.rf-pwa-app {
	--rf-pwa-tabbar-h: calc(3.65rem + env(safe-area-inset-bottom, 0px));
	padding-bottom: var(--rf-pwa-tabbar-h);
	background: #f4f1ea;
}

/* Alsó tab sáv */
.rf-pwa-tabbar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 100002;
	display: none;
	align-items: stretch;
	justify-content: space-around;
	min-height: 3.65rem;
	padding-bottom: env(safe-area-inset-bottom, 0px);
	background: #fff;
	border-top: 1px solid #e8e4dc;
	box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.08);
}

body.rf-pwa-app .rf-pwa-tabbar,
html.rf-pwa-app-root .rf-pwa-tabbar {
	display: flex !important;
}

.rf-pwa-tabbar__item {
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.15rem;
	min-height: 3.65rem;
	padding: 0.35rem 0.25rem 0.45rem;
	text-decoration: none;
	color: #6b6560;
	font-size: 0.625rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	transition: color 0.15s ease;
}

.rf-pwa-tabbar__item.is-active,
.rf-pwa-tabbar__item:hover,
.rf-pwa-tabbar__item:focus-visible {
	color: #d71920;
}

.rf-pwa-tabbar__icon {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.65rem;
	height: 1.65rem;
}

.rf-pwa-tabbar__badge {
	position: absolute;
	top: -0.35rem;
	right: -0.55rem;
	min-width: 1.1rem;
	height: 1.1rem;
	padding: 0 0.25rem;
	border-radius: 999px;
	background: #d71920;
	color: #fff;
	font-size: 0.625rem;
	font-weight: 800;
	line-height: 1.1rem;
	text-align: center;
}

.rf-pwa-tabbar__badge.is-empty {
	display: none;
}

/* Telepítés UI + duplikált elemek elrejtése app módban */
html.rf-pwa-app-root .rf-pwa-install,
html.rf-pwa-app-root .rf-pwa-fab,
html.rf-pwa-app-root .rf-sticky-cart,
html.rf-pwa-app-root .menu-mobile-nav-button,
html.rf-pwa-app-root .rf-header-account-mobile,
html.rf-pwa-app-root .header-cart-mobile,
html.rf-pwa-app-root .rf-header-actions .site-header-cart,
body.rf-pwa-app .rf-pwa-install,
body.rf-pwa-app .rf-pwa-fab,
body.rf-pwa-app .rf-sticky-cart,
body.rf-pwa-app .menu-mobile-nav-button,
body.rf-pwa-app .rf-header-account-mobile,
body.rf-pwa-app .header-cart-mobile,
body.rf-pwa-app .rf-header-actions .site-header-cart {
	display: none !important;
}

body.rf-pwa-app.rf-has-sticky-cart,
body.rf-pwa-app.rfpo-has-sticky.rf-has-sticky-cart {
	padding-bottom: var(--rf-pwa-tabbar-h);
}

body.rf-pwa-app.woocommerce-checkout {
	padding-bottom: 0;
}

body.rf-pwa-app.woocommerce-checkout .rf-pwa-tabbar {
	display: none !important;
}

/* Kompakt app fejléc */
body.rf-pwa-app .site-header.rf-header-larosa {
	position: sticky;
	top: 0;
	z-index: 1000;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

body.rf-pwa-app .rf-header-larosa .header-main {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	min-height: 3.25rem;
	padding-top: 0.35rem;
	padding-bottom: 0;
}

body.rf-pwa-app .rf-header-main__left {
	flex: 1 1 auto;
}

body.rf-pwa-app .rf-header-main__right {
	flex: 0 0 auto;
}

body.rf-pwa-app .rf-header-main__center,
html.rf-pwa-app-root .rf-header-main__center {
	display: block !important;
	flex: 1 1 100%;
	order: 10;
	width: 100%;
	margin: 0 calc(var(--rf-gutter, 1rem) * -1);
	padding: 0;
	border-top: 1px solid #ece8e0;
	background: #faf8f4;
}

body.rf-pwa-app .rf-header-cat-nav__list--compact,
html.rf-pwa-app-root .rf-header-cat-nav__list--compact {
	display: flex !important;
	flex-wrap: nowrap;
	width: max-content;
	min-width: 100%;
}

body.rf-pwa-app .rf-header-cat-nav__list--compact .rf-header-cat-nav__item,
html.rf-pwa-app-root .rf-header-cat-nav__list--compact .rf-header-cat-nav__item {
	flex: 0 0 auto;
	scroll-snap-align: start;
}

body.rf-pwa-app .rf-header-cat-nav__list--app,
html.rf-pwa-app-root .rf-header-cat-nav__list--app {
	display: none !important;
}

body.rf-pwa-app .rf-header-cat-nav__more-panel,
html.rf-pwa-app-root .rf-header-cat-nav__more-panel {
	display: block;
}

body.rf-pwa-app .rf-header-cat-nav__more-panel[hidden],
html.rf-pwa-app-root .rf-header-cat-nav__more-panel[hidden] {
	display: none !important;
}

body.rf-pwa-app .rf-header-cat-nav--inline,
html.rf-pwa-app-root .rf-header-cat-nav--inline {
	border: 0;
}

body.rf-pwa-app .rf-header-cat-nav__scroll,
html.rf-pwa-app-root .rf-header-cat-nav__scroll {
	padding: 0.35rem 0;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

body.rf-pwa-app .rf-header-cat-nav__scroll::-webkit-scrollbar {
	display: none;
}

body.rf-pwa-app .rf-header-cat-nav__list--app .rf-header-cat-nav__item {
	flex: 0 0 auto;
	scroll-snap-align: start;
}

body.rf-pwa-app .rf-header-cat-nav__item a {
	min-width: 4.75rem;
	max-width: 5.25rem;
	padding: 0.35rem 0.35rem 0.45rem;
	border-right: 0;
}

body.rf-pwa-app .rf-header-cat-nav__icon {
	width: 2.35rem;
	height: 2.35rem;
	margin-bottom: 0.15rem;
}

body.rf-pwa-app .rf-header-cat-nav__label {
	font-size: 0.5625rem;
	line-height: 1.1;
}

body.rf-pwa-app .rf-header-cat-nav__desc {
	display: none;
}

/* Lábléc: kompakt app alján */
body.rf-pwa-app .rf-footer {
	padding-bottom: 0.5rem;
}

body.rf-pwa-app .rf-footer__top {
	display: none;
}

body.rf-pwa-app .rf-footer__bottom {
	padding-top: 1rem;
	padding-bottom: 0.5rem;
}

/* Kezdőlap: fejlécben már van kategória sáv — ne legyen dupla */
body.rf-pwa-app.home .home03-cat-nav,
body.rf-pwa-app.front-page .home03-cat-nav {
	display: none;
}

body.rf-pwa-app:not(.home):not(.front-page) .home03-cat-nav {
	position: sticky;
	top: calc(3.25rem + env(safe-area-inset-top, 0px));
	z-index: 900;
	margin-bottom: 0;
}

body.rf-pwa-app .home03-cat-nav__inner {
	max-width: none;
	padding: 0;
}

body.rf-pwa-app .home03-cat-nav__grid,
body.rf-pwa-app .home03-cat-nav__grid--with-more {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	width: max-content;
	min-width: 100%;
}

body.rf-pwa-app .home03-cat-card {
	flex: 0 0 auto;
	width: 5.5rem;
	min-width: 5.5rem;
	min-height: 6.75rem;
	padding: 0.65rem 0.35rem 0.55rem;
	border-right: 1px solid #e8e4dc;
	scroll-snap-align: start;
}

body.rf-pwa-app .home03-cat-card__icon {
	width: 2.75rem;
	height: 2.75rem;
	margin-bottom: 0.15rem;
}

body.rf-pwa-app .home03-cat-card__title {
	font-size: 0.5625rem;
	letter-spacing: 0.04em;
}

body.rf-pwa-app .home03-cat-card__sub {
	font-size: 0.5rem;
	max-width: 5rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

body.rf-pwa-app .home03-cat-card__count {
	display: none;
}

/* Domino / bolt kategória sáv */
body.rf-pwa-app .rf-domino-nav {
	padding: 0;
	margin: 0;
	background: #faf8f4;
	border-bottom: 1px solid #e8e4dc;
}

body.rf-pwa-app .rf-domino-nav__inner {
	padding: 0;
	max-width: none;
}

body.rf-pwa-app .rf-domino-nav__list--primary {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	gap: 0;
	padding: 0.35rem 0;
	margin: 0;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

body.rf-pwa-app .rf-domino-nav__list--primary::-webkit-scrollbar {
	display: none;
}

body.rf-pwa-app .rf-domino-nav__item {
	flex: 0 0 auto;
	scroll-snap-align: start;
}

body.rf-pwa-app .rf-domino-nav__item a {
	min-width: 4.75rem;
	max-width: 5.25rem;
	padding: 0.35rem 0.35rem 0.45rem;
}

body.rf-pwa-app .rf-domino-nav__icon {
	width: 2.35rem;
	height: 2.35rem;
}

body.rf-pwa-app .rf-domino-nav__label {
	font-size: 0.5625rem;
}

body.rf-pwa-app .rf-domino-nav__desc {
	display: none;
}

body.rf-pwa-app .rf-domino-nav--has-more .rf-domino-nav__list--primary .rf-domino-nav__item {
	display: block !important;
}

body.rf-pwa-app .rf-domino-nav__more-toggle,
body.rf-pwa-app .rf-domino-nav__more-panel {
	display: block !important;
}

body.rf-pwa-app .rf-domino-nav__more-panel[hidden] {
	display: none !important;
}

/* PWA: egy kategória sáv a fejlécben — ne duplikálódjon a tartalomban */
body.rf-pwa-app.tax-product_cat .rf-domino-nav--shop,
body.rf-pwa-app.post-type-archive-product .rf-domino-nav--shop,
body.rf-pwa-app.woocommerce-shop .rf-domino-nav--shop {
	display: none !important;
}

body.rf-pwa-app .rf-domino-nav--shop .rf-domino-nav__inner,
body.rf-pwa-app .rf-domino-nav__inner {
	display: block;
	flex-wrap: nowrap;
	max-width: none;
}

body.rf-pwa-app .rf-domino-nav--shop .rf-domino-nav__list--primary {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	gap: 0;
	padding: 0.35rem 0;
	margin: 0;
	width: 100%;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

/* Minden WooCommerce aloldal: app padding + teljes szélesség */
body.rf-pwa-app.woocommerce-page #content,
body.rf-pwa-app.woocommerce-page .site-content,
body.rf-pwa-app.woocommerce-page .content-area {
	max-width: 100%;
}

body.rf-pwa-app .site-content,
body.rf-pwa-app #primary {
	padding-left: 0;
	padding-right: 0;
}

body.rf-pwa-app.single-product .site-content,
body.rf-pwa-app.page .site-content,
body.rf-pwa-app.archive .site-content {
	padding-bottom: 0.5rem;
}

/* Carousel húzás */
.rf-pwa-carousel {
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	overscroll-behavior-x: contain;
	touch-action: pan-x;
	scrollbar-width: none;
	cursor: grab;
}

.rf-pwa-carousel::-webkit-scrollbar {
	display: none;
}

.rf-pwa-carousel.is-dragging {
	cursor: grabbing;
	scroll-snap-type: none;
	scroll-behavior: auto;
	user-select: none;
}

.rf-pwa-carousel.is-dragging a {
	pointer-events: none;
}

@media (display-mode: standalone) {
	html {
		--rf-pwa-tabbar-h: calc(3.65rem + env(safe-area-inset-bottom, 0px));
	}

	html:not(.rf-pwa-app-root) body {
		padding-bottom: var(--rf-pwa-tabbar-h, calc(3.65rem + env(safe-area-inset-bottom, 0px)));
	}

	.rf-pwa-tabbar {
		display: flex !important;
	}

	body:not(.rf-pwa-app) .rf-header-main__center {
		display: block !important;
		flex: 1 1 100%;
		order: 10;
		width: 100%;
	}

	body:not(.rf-pwa-app) .rf-header-cat-nav__list--compact {
		display: flex !important;
	}

	body:not(.rf-pwa-app) .rf-header-cat-nav__list--app {
		display: none !important;
	}

	body:not(.rf-pwa-app) .rf-header-cat-nav__scroll {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
	}

	body:not(.rf-pwa-app) .menu-mobile-nav-button {
		display: none !important;
	}

	body:not(.rf-pwa-app).tax-product_cat .rf-domino-nav--shop {
		display: none !important;
	}
}

/* ==========================================================================
   PWA aloldal sáv (vissza + cím)
   ========================================================================== */

.rf-pwa-subheader {
	display: none;
}

body.rf-pwa-app .rf-pwa-subheader,
html.rf-pwa-app-root .rf-pwa-subheader {
	display: block;
	position: sticky;
	top: calc(env(safe-area-inset-top, 0px) + 3.25rem);
	z-index: 950;
	margin: 0;
	padding: 0.65rem var(--rf-gutter, 1rem);
	background: #faf8f4;
	border-bottom: 1px solid #e8e4dc;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.rf-pwa-subheader__back {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	margin-bottom: 0.35rem;
	color: #d71920;
	text-decoration: none;
	font-size: 0.8125rem;
	font-weight: 700;
}

.rf-pwa-subheader__back svg {
	flex-shrink: 0;
}

.rf-pwa-subheader__title {
	margin: 0;
	font-size: 1.125rem;
	line-height: 1.25;
	font-weight: 800;
	color: #1a1a1a;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

	body.rf-pwa-app.rf-pwa-has-subheader .single-product .product_title,
body.rf-pwa-app.rf-pwa-has-subheader .page .entry-title,
body.rf-pwa-app.rf-pwa-has-subheader .woocommerce-products-header__title {
	display: none;
}

/* ==========================================================================
   Termék oldal
   ========================================================================== */

body.rf-pwa-app.rf-pwa-page-product .content-single-wrapper {
	display: flex;
	flex-direction: column;
	gap: 0;
}

body.rf-pwa-app.rf-pwa-page-product .woocommerce-product-gallery {
	margin-bottom: 0.75rem;
}

body.rf-pwa-app.rf-pwa-page-product .summary.entry-summary {
	padding: 0 var(--rf-gutter, 1rem) 1rem;
}

body.rf-pwa-app.rf-pwa-page-product .woocommerce-Price-amount {
	font-size: 1.35rem;
	font-weight: 800;
	color: #d71920;
}

body.rf-pwa-app.rf-pwa-page-product .rfpo-options {
	margin-bottom: calc(var(--rf-pwa-tabbar-h) + 4.5rem);
}

body.rf-pwa-app.rf-pwa-page-product.rfpo-has-sticky .rfpo-sticky-bar,
html.rf-pwa-app-root.rf-pwa-page-product.rfpo-has-sticky .rfpo-sticky-bar {
	bottom: var(--rf-pwa-tabbar-h);
	padding-bottom: 0.75rem;
	z-index: 100003;
}

body.rf-pwa-app.rf-pwa-page-product .rfpo-options--sheet.is-open {
	bottom: var(--rf-pwa-tabbar-h);
	max-height: min(78vh, calc(100vh - var(--rf-pwa-tabbar-h) - 4rem));
	padding-bottom: 1rem;
}

body.rf-pwa-app.rf-pwa-page-product .woocommerce-tabs,
body.rf-pwa-app.rf-pwa-page-product .related.products {
	padding: 0 var(--rf-gutter, 1rem) 1rem;
}

body.rf-pwa-app.rf-pwa-page-product .related.products ul.products {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

/* ==========================================================================
   Kosár
   ========================================================================== */

body.rf-pwa-app.rf-pwa-page-cart .woocommerce-cart-form,
body.rf-pwa-app.rf-pwa-page-cart .cart-collaterals {
	padding: 0 var(--rf-gutter, 1rem);
}

body.rf-pwa-app.rf-pwa-page-cart .shop_table {
	border: 0;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

body.rf-pwa-app.rf-pwa-page-cart .shop_table thead {
	display: none;
}

body.rf-pwa-app.rf-pwa-page-cart .shop_table tbody tr {
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: 0.5rem 0.75rem;
	padding: 0.85rem;
	border-bottom: 1px solid #ece8e0;
}

body.rf-pwa-app.rf-pwa-page-cart .shop_table .product-thumbnail {
	grid-row: 1 / span 3;
}

body.rf-pwa-app.rf-pwa-page-cart .shop_table .product-remove {
	grid-column: 2;
	justify-self: end;
}

body.rf-pwa-app.rf-pwa-page-cart .cart_totals {
	margin-top: 1rem;
	padding: 1rem;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

body.rf-pwa-app.rf-pwa-page-cart .wc-proceed-to-checkout .checkout-button {
	width: 100%;
	min-height: 3rem;
	border-radius: 999px;
	font-weight: 800;
}

/* ==========================================================================
   Pénztár + rendelés visszaigazolás
   ========================================================================== */

body.rf-pwa-app.rf-pwa-page-checkout .woocommerce {
	padding: 0 var(--rf-gutter, 1rem) 1.5rem;
}

body.rf-pwa-app.rf-pwa-page-checkout .woocommerce-billing-fields,
body.rf-pwa-app.rf-pwa-page-checkout .woocommerce-additional-fields,
body.rf-pwa-app.rf-pwa-page-checkout #order_review {
	background: #fff;
	border-radius: 12px;
	padding: 1rem;
	margin-bottom: 1rem;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

body.rf-pwa-app.rf-pwa-page-checkout form .form-row input.input-text,
body.rf-pwa-app.rf-pwa-page-checkout form .form-row select {
	min-height: 3rem;
	border-radius: 10px;
	font-size: 1rem;
}

body.rf-pwa-app.rf-pwa-page-checkout #place_order {
	width: 100%;
	min-height: 3.25rem;
	border-radius: 999px;
	font-weight: 800;
	font-size: 1rem;
}

body.rf-pwa-app.rf-pwa-page-checkout.woocommerce-order-received .woocommerce-order {
	padding: 0 var(--rf-gutter, 1rem) 2rem;
}

body.rf-pwa-app.rf-pwa-page-checkout.woocommerce-order-received .woocommerce-thankyou-order-received {
	font-size: 1.125rem;
	font-weight: 800;
	color: #2e7d32;
}

/* ==========================================================================
   Fiók
   ========================================================================== */

body.rf-pwa-app.rf-pwa-page-account .woocommerce {
	padding: 0 var(--rf-gutter, 1rem) 1rem;
}

body.rf-pwa-app.rf-pwa-page-account .woocommerce-MyAccount-navigation {
	float: none;
	width: 100%;
	margin-bottom: 1rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

body.rf-pwa-app.rf-pwa-page-account .woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.35rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

body.rf-pwa-app.rf-pwa-page-account .woocommerce-MyAccount-navigation li {
	flex: 0 0 auto;
}

body.rf-pwa-app.rf-pwa-page-account .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 0.55rem 0.85rem;
	border-radius: 999px;
	background: #fff;
	border: 1px solid #e8e4dc;
	font-size: 0.8125rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

body.rf-pwa-app.rf-pwa-page-account .woocommerce-MyAccount-navigation li.is-active a {
	background: #d71920;
	border-color: #d71920;
	color: #fff;
}

body.rf-pwa-app.rf-pwa-page-account .woocommerce-MyAccount-content {
	float: none;
	width: 100%;
	background: #fff;
	border-radius: 12px;
	padding: 1rem;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

/* ==========================================================================
   Étlap / kategória / keresés
   ========================================================================== */

body.rf-pwa-app .woocommerce ul.products {
	padding: 0 var(--rf-gutter, 1rem);
	gap: 0.75rem;
}

body.rf-pwa-app .woocommerce ul.products li.product {
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
	background: #fff;
}

body.rf-pwa-app .woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 0.875rem;
	padding: 0.5rem 0.65rem 0;
}

body.rf-pwa-app .woocommerce ul.products li.product .price {
	padding: 0 0.65rem 0.65rem;
	font-weight: 800;
	color: #d71920;
}

body.rf-pwa-app.search .content-area,
body.rf-pwa-app.rf-pwa-page-static .content-area {
	padding: 0 var(--rf-gutter, 1rem) 1rem;
}

body.rf-pwa-app.rf-pwa-page-static .entry-content {
	background: #fff;
	border-radius: 12px;
	padding: 1.25rem;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	line-height: 1.65;
}

body.rf-pwa-app.rf-pwa-page-static .entry-content h2,
body.rf-pwa-app.rf-pwa-page-static .entry-content h3 {
	margin-top: 1.25rem;
}

/* RFPO mobil lap — tab sáv felett */
body.rf-pwa-app.rfpo-sheet-open .rfpo-sheet-backdrop {
	z-index: 100004;
}

body.rf-pwa-app.rfpo-sheet-open .rfpo-options--sheet {
	z-index: 100005;
	bottom: var(--rf-pwa-tabbar-h);
}

/* Safe area + notch */
@supports (padding: max(0px)) {
	body.rf-pwa-app .site-header.rf-header-larosa {
		padding-top: max(0.35rem, env(safe-area-inset-top));
	}
}
