@media (max-width: 640px) {
	.account-grid {
		grid-template-columns: 1fr;
	}

	.account-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}
}

/* =============================================
   Mobilní layout — pod 640px stohování
   ============================================= */

@media (max-width: 640px) {
	body.single-product {
		padding-bottom: 112px !important;
	}

	.single-product-layout {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1.5rem !important;
	}

	.single-product-gallery-column {
		position: static !important;
		top: auto !important;
		width: 100% !important;
	}

	.single-product-summary-column {
		width: 100% !important;
	}

	.single-product div.product {
		grid-template-columns: 1fr;
		gap: 1.5rem 0;
	}

	.single-product .woocommerce-product-gallery {
		grid-column: 1;
		grid-row: 1;
		position: static;
		display: block !important;
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.single-product .summary {
		grid-column: 1;
		grid-row: 2;
	}

	.single-product .woocommerce-product-gallery__wrapper {
		display: block !important;
		min-height: 280px;
	}

	.single-product .woocommerce-product-gallery__image {
		display: flex !important;
		justify-content: center !important;
	}

	.single-product .woocommerce-product-gallery__image img {
		display: block !important;
		width: auto !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: 340px;
		padding: 1rem;
	}

	.single-product .product_title {
		font-size: 1.5rem !important;
	}

	.single-product form.cart {
		position: fixed !important;
		left: 16px !important;
		right: 16px !important;
		bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
		z-index: 9998 !important;
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 52px !important;
		grid-template-rows: auto auto !important;
		align-items: stretch;
		gap: 10px !important;
		margin: 0 !important;
		padding: 10px !important;
		background: rgba(255, 255, 255, 0.98) !important;
		border: 1px solid #e6e2db !important;
		border-radius: 14px !important;
		box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.08) !important;
		backdrop-filter: blur(10px) !important;
	}

	.single-product .quantity {
		display: block !important;
		flex: 0 0 auto !important;
		width: 100% !important;
		grid-column: 1 / -1 !important;
	}

	.single-product .quantity input[type="number"] {
		box-sizing: border-box !important;
		width: 100% !important;
		height: 46px !important;
		min-height: 46px !important;
	}

	.single-product .single_add_to_cart_button {
		box-sizing: border-box !important;
		width: 100% !important;
		flex: 0 0 auto !important;
		min-height: 46px !important;
		grid-column: 1 !important;
		grid-row: 2 !important;
	}

	.single-product .bookstore-mobile-cart-shortcut {
		grid-column: 2 !important;
		grid-row: 2 !important;
		min-height: 46px !important;
		width: 52px !important;
		padding: 0 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		border: 2px solid #1c1c1c !important;
		border-radius: 10px !important;
		background: #fff !important;
		color: #1c1c1c !important;
		box-sizing: border-box !important;
		font-size: 20px !important;
		line-height: 1 !important;
		box-shadow: none !important;
	}

	.single-product .bookstore-mobile-cart-shortcut::before {
		content: '🛒';
		font-size: 16px;
		line-height: 1;
		filter: grayscale(1) brightness(0.2);
		flex-shrink: 0;
	}

	.single-product .bookstore-mobile-cart-shortcut:hover,
	.single-product .bookstore-mobile-cart-shortcut:active {
		background: #f5f3ee !important;
	}

	.single-product .woocommerce-tabs {
		margin-top: 2.5rem;
	}
}

/* =============================================
   MOBILNÍ OPTIMALIZACE — kompletní sada
   Přidáno 2026-04-02
   Breakpoints:
     900px — tablet
     640px — mobil (hlavní breakpoint)
     480px — malý mobil
     380px — extra malý mobil
   ============================================= */

/* Prevence iOS automatického zvětšení textu */
html {
	-webkit-text-size-adjust: 100%;
}

/* Obrázky nikdy nepřetékají kontejner */
img {
	max-width: 100%;
}

/* ---- HEADER — tablet ---- */

@media (max-width: 900px) {
	/* Search — zmenšit, ale stále viditelný */
	header .wp-block-search {
		flex: 0 1 200px !important;
		width: 200px !important;
		min-width: 100px !important;
	}
}

/* ---- HEADER — mobil ---- */

@media (max-width: 640px) {
	/* Flex kontejner headeru — zalomit search na druhý řádek */
	header .wp-block-group.alignfull {
		flex-wrap: wrap !important;
		padding-left: 1rem !important;
		padding-right: 1rem !important;
		gap: 10px !important;
	}

	/* Logo + název — zabírají automatickou šířku */
	header .wp-block-group.alignfull > .wp-block-group:first-child {
		flex: 1 1 auto !important;
	}

	/* Header ikony (nav + košík) — nepřetahovat */
	.header-icons {
		flex-shrink: 0 !important;
	}

	/* Search — přesunout na celou druhou řadu */
	header .wp-block-search {
		order: 10 !important;
		flex: 0 0 100% !important;
		width: 100% !important;
		margin-top: 0 !important;
	}

	/* Název webu — trochu menší */
	header .wp-block-site-title a {
		font-size: 0.875rem !important;
	}

	/* Logo — trochu menší */
	header .wp-block-site-logo img {
		height: 22px !important;
	}
}

/* ---- HEADER — extra malý mobil ---- */

@media (max-width: 380px) {
	/* Skrýt textový název, zobrazit jen logo */
	header .wp-block-site-title {
		display: none !important;
	}
}

/* ---- SEKCE A MAIN — menší padding na mobilu ---- */

@media (max-width: 640px) {
	section.wp-block-group {
		padding-top: 2rem !important;
		padding-bottom: 2rem !important;
	}

	main.wp-block-group {
		padding-top: 1.5rem !important;
		padding-bottom: 2rem !important;
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}
}

/* ---- FORMULÁŘOVÉ INPUTY — iOS anti-zoom ----
   iOS automaticky zoomuje pokud je font-size < 16px.
   Nastavíme 16px pro všechny inputy na mobilu. */

@media (max-width: 640px) {
	input[type="text"],
	input[type="email"],
	input[type="password"],
	input[type="tel"],
	input[type="number"],
	input[type="search"],
	select,
	textarea {
		font-size: 16px !important;
	}
}

/* ---- PRODUKT GRID — 1 sloupec na mobilu ---- */
/* WC product collection renderuje jako .wp-block-woocommerce-product-template
   uvnitř .wp-block-woocommerce-product-collection.
   display: grid !important přebíjí WC flex layout. */

@media (max-width: 640px) {
	.wp-block-woocommerce-product-collection {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.wp-block-group.shop-layout,
	.wp-block-group.shop-products {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-template {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.625rem !important;
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}

	/* Reset flex vlastností — grid je řídí */
	.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-template > li {
		flex-shrink: 1 !important;
		flex-basis: auto !important;
		max-width: none !important;
		min-width: 0 !important;
		width: 100% !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}
}

/* ---- KARTA PRODUKTU — horizontální layout na mobilu ---- */
/*
   Desktop: vertikální (obálka nahoře, info dole)
   Mobil:   horizontální grid — obálka vlevo | info + tlačítko vpravo

   Struktura (nth-child):
     child 1 = .wc-block-components-product-image  → col 1, span 2 rows
     child 2 = .wp-block-group (název, autor, cena) → col 2, row 1
     child 3 = .wp-block-group (tlačítko)           → col 2, row 2
*/

@media (max-width: 640px) {
	/* Grid 3 sloupce: [obálka 84px] [text] [košík]
	   Název má vlastní řádek, pod ním vlevo autor + cena, vpravo CTA. */
	.wc-block-product {
		display: grid !important;
		grid-template-columns: 84px minmax(0, 1fr) 40px !important;
		grid-template-rows: auto auto auto !important;
		column-gap: 12px !important;
		row-gap: 4px !important;
		padding: 10px !important;
		align-items: start !important;
	}

	/* Hover — na mobilu vypnout translateY (zůstane jen shadow) */
	.wc-block-product:hover {
		transform: none !important;
		box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06) !important;
		border-color: var(--border) !important;
	}

	/* Obálka — první sloupec, přes oba řádky */
	.wc-block-product > .wc-block-components-product-image {
		grid-column: 1 !important;
		grid-row: 1 / 4 !important;
		margin-bottom: 0 !important;
		align-self: start !important;
	}

	/* Obrázek — pevná šířka 84px → výška 126px (2:3) */
	.wc-block-product > .wc-block-components-product-image a {
		width: 84px !important;
		aspect-ratio: 2 / 3 !important;
		height: auto !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		background: #f7f4ef !important;
	}

	.wc-block-product > .wc-block-components-product-image .wc-block-components-product-image__inner-container {
		position: static !important;
		inset: auto !important;
		transform: none !important;
		width: 100% !important;
		height: 100% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		overflow: hidden !important;
	}

	.wc-block-product > .wc-block-components-product-image img {
		position: static !important;
		inset: auto !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center top !important;
		display: block !important;
	}

	/* Rozbalit info skupinu do parent gridu */
	.wc-block-product > .wp-block-group:nth-child(2) {
		display: contents !important;
	}

	/* Název — vlastní řádek přes text + CTA zónu */
	.wc-block-product > .wp-block-group:nth-child(2) > .wp-block-post-title {
		grid-column: 2 / 4 !important;
		grid-row: 1 !important;
		min-width: 0 !important;
	}

	/* Autor/specifikace — vlevo pod názvem */
	.wc-block-product > .wp-block-group:nth-child(2) > .product-variation,
	.wc-block-product > .wp-block-group:nth-child(2) > .wp-block-woocommerce-product-specifications {
		grid-column: 2 !important;
		grid-row: 2 !important;
		min-width: 0 !important;
	}

	/* Cena — vlevo pod autorem */
	.wc-block-product > .wp-block-group:nth-child(2) > .wc-block-components-product-price,
	.wc-block-product > .wp-block-group:nth-child(2) > .wp-block-woocommerce-product-price {
		grid-column: 2 !important;
		grid-row: 3 !important;
		min-width: 0 !important;
	}

	/* Tlačítko skupina — vpravo vedle autora a ceny */
	.wc-block-product > .wp-block-group:nth-child(3) {
		grid-column: 3 !important;
		grid-row: 3 !important;
		flex-grow: 0 !important;
		justify-content: center !important;
		padding: 0 !important;
		align-self: end !important;
		min-width: 0 !important;
	}

	/* Název — doleva, 2 řádky */
	.wc-block-product .wp-block-post-title {
		text-align: left !important;
		font-size: 0.9375rem !important;
		font-weight: 600 !important;
		margin-bottom: 3px !important;
		-webkit-line-clamp: 2 !important;
	}

	.wc-block-product .wp-block-post-title a,
	.wc-block-product .wp-block-post-title a:link,
	.wc-block-product .wp-block-post-title a:visited {
		color: var(--ink) !important;
	}

	/* Autor — doleva */
	.wc-block-product .product-variation td {
		text-align: left !important;
	}

	.wc-block-product .product-variation td p {
		font-size: 0.8125rem !important;
		margin-bottom: 0 !important;
	}

	/* Cena — doleva, kompaktní */
	.wc-block-product .wc-block-components-product-price {
		text-align: left !important;
		font-size: 1rem !important;
		font-weight: 700 !important;
		margin-bottom: 0 !important;
		margin-top: 2px !important;
		align-self: end !important;
	}

	/* Tlačítko — průhledné pozadí, jen ikona */
	.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button {
		width: 40px !important;
		min-height: 40px !important;
		padding: 0 !important;
		gap: 0 !important;
		border-radius: 8px !important;
		box-shadow: none !important;
		background: transparent !important;
		border: none !important;
		color: #111 !important;
	}

	.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button:hover {
		background: transparent !important;
		transform: none !important;
	}

	/* Skrýt text — ponechat jen ikonu 🛒 */
	.wc-block-components-product-button__button::after {
		display: none !important;
		content: '' !important;
	}

	/* Ikona košíku — čistá, bez opacity */
	.wc-block-components-product-button__button::before {
		font-size: 22px !important;
		filter: grayscale(1) brightness(0.2) !important;
	}
}

/* ---- DETAIL PRODUKTU — doplnění pro mobil ---- */

@media (max-width: 640px) {
	/* Záložky — horizontální scroll bez zalamování */
	.single-product .woocommerce-tabs ul.tabs {
		display: flex !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		flex-wrap: nowrap !important;
		scrollbar-width: none !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar {
		display: none !important;
	}

	.single-product .woocommerce-tabs ul.tabs li {
		flex-shrink: 0 !important;
	}

	.single-product .woocommerce-tabs ul.tabs li a {
		padding: 0.55rem 0.35rem !important;
		font-size: 0.68rem !important;
		letter-spacing: 0.02em !important;
		white-space: nowrap !important;
	}

	/* Cena — trochu menší */
	.single-product .price {
		font-size: 1.625rem !important;
	}

	/* Krátký popis — plná šířka (žádné max-width) */
	.single-product .woocommerce-product-details__short-description {
		max-width: 100% !important;
	}

	/* Obsah záložky — plná šířka */
	.single-product .woocommerce-tabs .panel {
		max-width: 100% !important;
	}

	/* Metadata produktu — menší mezery */
	.single-product .product_meta {
		margin-top: 1.25rem !important;
		padding-top: 1.25rem !important;
	}
}

/* ---- KOŠÍK — mobil ---- */

@media (max-width: 640px) {
	/* Sidebar — zrušit sticky, přirozeně pod produkty */
	.wc-block-cart__sidebar {
		position: static !important;
		top: auto !important;
	}

	/* Buňky — menší padding */
	.wc-block-cart-items__row td {
		padding: 16px 6px !important;
	}

	/* Obrázek produktu — menší */
	.wc-block-cart-item__image img {
		width: 54px !important;
	}

	/* Prázdný košík — menší ikona a titul */
	.wc-block-cart__empty-cart__title,
	.wc-block-cart__empty-cart__title.with-empty-cart-icon {
		font-size: 1.05rem !important;
	}

	.wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
		font-size: 1.6rem !important;
		transform: scale(0.5) !important;
	}

	h2.wp-block-heading.has-text-align-center.with-empty-cart-icon.wc-block-cart__empty-cart__title::before {
		font-size: 1.6rem !important;
		transform: scale(0.5) !important;
	}

	/* Doporučené produkty — ještě kompaktnější */
	.cart-empty-recommendations .wp-block-woocommerce-product-collection {
		max-width: 100% !important;
	}

	.cart-empty-recommendations > .wp-block-heading.has-text-align-center,
	section.cart-empty-recommendations h2.wp-block-heading.has-text-align-center {
		font-size: 0.95rem !important;
	}

	.wc-block-grid .wc-block-grid__products {
		gap: 1rem !important;
	}

	.wc-block-grid__product {
		padding: 10px !important;
	}

	.wc-block-grid__product-image {
		width: 68% !important;
		margin-bottom: 10px !important;
	}

	.wc-block-grid__product-title {
		font-size: 0.875rem !important;
	}

	.wc-block-grid__product-price {
		font-size: 0.95rem !important;
		margin-bottom: 10px !important;
	}

	.wc-block-grid__product-add-to-cart .wp-block-button__link {
		min-height: 38px !important;
		font-size: 0.6875rem !important;
		padding: 0 12px !important;
	}
}

/* ---- PŘEHLED OBJEDNÁVEK — doplnění ---- */

@media (max-width: 640px) {
	/* Karta — jednoznačně do sloupce */
	.order-card {
		flex-direction: column !important;
		align-items: stretch !important;
		padding: 14px 16px !important;
		gap: 12px !important;
	}

	.order-left,
	.order-right {
		width: 100% !important;
		min-width: 0 !important;
	}

	.order-top {
		flex-wrap: wrap !important;
		row-gap: 8px !important;
	}

	.order-meta {
		flex-wrap: wrap !important;
		row-gap: 4px !important;
	}

	.order-right {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 10px !important;
	}

	.order-price {
		transform: none !important;
	}

	.order-view-btn {
		width: 100% !important;
		text-align: center !important;
	}
}

/* ---- DETAIL OBJEDNÁVKY — mobil ---- */

@media (max-width: 640px) {
	/* Grid produkty + souhrn — 1 sloupec */
	.order-detail {
		grid-template-columns: 1fr !important;
	}

	/* Souhrn — zrušit sticky */
	.order-summary {
		position: static !important;
		top: auto !important;
	}

	/* Header detailu — stohovat číslo nad cenou */
	.voh-top {
		flex-direction: column !important;
		gap: 10px !important;
	}

	/* Cena — doleva místo doprava */
	.voh-price-wrap {
		align-items: flex-start !important;
	}

	/* Cena — trochu menší */
	.voh-price {
		font-size: 1.375rem !important;
	}

	/* Meta řádky (doprava, platba, doručení) — zalamovat */
	.voh-meta {
		flex-wrap: wrap !important;
		gap: 16px !important;
		margin-top: 12px !important;
	}

	/* Header karta — menší padding */
	.view-order-header {
		padding: 16px !important;
	}
}

/* ---- ADRESY — gridy na 1 sloupec ---- */

@media (max-width: 640px) {
	.order-addresses,
	.my-addresses,
	.address-grid {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}

	.order-address-block,
	.address-card {
		padding: 14px 16px !important;
	}
}

/* ---- MŮJ ÚČET — formuláře na mobilu ---- */

@media (max-width: 640px) {
	/* Formuláře — plná šířka */
	.woocommerce-EditAccountForm,
	.woocommerce-address-fields,
	.address-form {
		max-width: 100% !important;
		padding: 16px !important;
	}

	/* Fieldset hesla — menší padding */
	.woocommerce-MyAccount-content fieldset {
		padding: 14px 16px !important;
	}

	/* Karta — menší padding */
	.account-card {
		padding: 16px !important;
	}
}

/* ---- TOAST — mobil ---- */

@media (max-width: 640px) {
	/* Toast se roztáhne přes celou šířku */
	#bookstore-toast {
		left: 16px !important;
		right: 16px !important;
		bottom: 16px !important;
		max-width: none !important;
	}
}

/* ---- MINI KOŠÍK — mobil ---- */

@media (max-width: 640px) {
	/* Thumbnail — trochu menší */
	.wc-block-mini-cart__products-table .wc-block-cart-item__image img,
	.wc-block-cart-item__image img {
		height: 70px !important;
	}
}

/* ---- NAVIGACE — hamburger touch target ---- */

@media (max-width: 640px) {
	/* WP navigation hamburger — dostatečně velký dotyková plocha */
	.wp-block-navigation__responsive-container-open,
	.wp-block-navigation__responsive-container-close {
		min-width: 44px !important;
		min-height: 44px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}
}

/* ---- TYPOGRAFIE — mobil ---- */

@media (max-width: 640px) {
	/* Nadpis archiv stránky */
	.wp-block-query-title {
		font-size: 1.5rem !important;
	}

	/* Globální h2 (Nové tituly, atd.) */
	h2.wp-block-heading {
		font-size: 1.75rem !important;
	}

	/* Nadpisy na stránkách účtu */
	.woocommerce-MyAccount-content h1,
	.woocommerce-MyAccount-content h2 {
		font-size: 1.125rem !important;
	}
}
