/**
 * Mobile Styles
 *
 * All mobile-specific styles consolidated in one file
 * for better organization and maintainability
 *
 * @package Pohadkozeme
 * @version 3.2.0
 */

/* ============================================================================
   MOBILE: Max-width 768px
   ============================================================================ */
@media (max-width: 768px) {

	/* Header & Branding */
	.site-header {
		margin-bottom: 25px;
	}

	.site-branding {
		padding: 20px 15px 25px;
	}

	.site-branding-inner {
		gap: 10px;
	}

	.site-logo img {
		max-height: 40px;
	}

	.site-title {
		font-size: 26px;
	}

	/* Navigation */
	.main-navigation {
		position: relative;
	}

	.main-navigation a {
		padding: 0 15px;
		display: block;

	}

	.main-navigation ul ul a {
		padding-left: 30px;
		font-size: 15px;
	}

	.main-navigation ul ul ul a {
		padding-left: 45px;
	}

	.night .main-navigation a {
		border-bottom-color: #333;
	}

	/* Header Actions - Inline with menu toggle */
	.header-actions {
		position: absolute;
		right: 0;
		top: 8px;
		flex-direction: row;
		gap: 8px;
		height: auto;
	}

	.main-navigation .search-field {
		width: 1px;
		height: 36px;
		font-size: 14px;
	}

	.main-navigation .search-field:focus {
		width: 150px;
	}

	.dark-mode-toggle-btn,
	.font-size-toggle-btn,
	.search-trigger-btn,
    .member-access-btn {
		width: 36px;
		height: 36px;
		font-size: 18px;
	}

	/* Icon styles for mobile - ensure emoji display correctly */
	.dark-mode-icon,
	.font-size-icon,
	.search-icon,
    .member-access-icon {
		font-size: 18px;
		line-height: 1;
	}
    
    
	/* Search Modal on Mobile */
	.search-modal {
		padding: 20px 10px;
	}

	.search-modal-container {
		width: 100%;
		max-height: calc(100vh - 40px);
		border-radius: 6px;
	}

	.search-modal-header {
		padding: 16px;
		flex-wrap: nowrap;
	}

	.search-modal-input-wrapper {
		flex: 1 1 auto;
        overflow: hidden;
	}

	.search-modal-submit {
		flex: 0 0 auto;
	}

	.search-modal-input {
		font-size: 16px;
		padding: 12px 12px 12px 0;
	}

	.search-modal-body {
		padding: 16px;
	}

	/* List layout for better mobile UX */
	.search-stories-grid {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}

	.search-story-card {
		display: flex;
		flex-direction: row;
		align-items: flex-start;
	}

	.search-story-thumb,
	.search-story-thumb-square {
		width: 80px;
		min-width: 80px;
		height: 80px;
		padding-bottom: 0;
		flex-shrink: 0;
	}

	.search-story-info {
		flex: 1;
		padding: 8px 12px;
	}

	.search-story-title {
		font-size: 15px;
		margin-bottom: 4px;
		-webkit-line-clamp: 2;
	}

	.search-story-meta {
		font-size: 13px;
		gap: 10px;
	}

	.search-story-meta .meta-item {
		gap: 1px;
	}

	.search-story-meta .meta-item .icon {
		width: 12px;
		height: 12px;
	}

	.search-result-item {
		flex-direction: column;
	}

	.search-result-thumb {
		width: 100%;
		height: 150px;
	}

	.search-modal-shortcuts {
		flex-direction: column;
		gap: 8px;
	}

	.search-modal-footer {
		padding: 12px 16px;
	}

	/* Back to Top Button */
	.back-to-top {
		width: 45px;
		height: 45px;
		bottom: 20px;
		right: 20px;
		font-size: 20px;
	}

	/* Font Size Controls */
	.font-size-controls {
		justify-content: center;
	}

	.font-size-controls .label {
		display: none;
	}

	.font-size-controls button {
		padding: 10px 20px;
		font-size: 16px;
	}

	/* Reading Time */
	.reading-time {
		font-size: 13px;
		padding: 6px 12px;
	}

	/* Swipe Navigation */
	.swipe-indicator {
		width: 50px;
		height: 50px;
		font-size: 20px;
	}

	.swipe-indicator.left {
		left: 10px;
	}

	.swipe-indicator.right {
		right: 10px;
	}

	/* Night Reading Mode */
	.night-reading-toggle .text {
		display: none;
	}

	.night-reading-toggle {
		padding: 8px 12px;
	}

	body.night-reading-mode .entry-content,
	body.night-reading-mode .post-content {
		font-size: 18px;
	}

	/* Membership Banner */
	.membership-banner {
		padding: 25px 15px;
	}

	.membership-banner-container {
		flex-direction: column;
		text-align: center;
	}

	.membership-banner-title {
		font-size: 22px;
	}

	.membership-banner-description {
		font-size: 14px;
	}

	.membership-banner-button {
		padding: 12px 24px;
		font-size: 14px;
	}

	.membership-banner-close {
		top: -10px;
		right: 0px;
	}

	/* Daily Story Card */
	.daily-story-header {
		flex-direction: column;
		gap: 10px;
		align-items: flex-start;
	}

	.daily-story-title {
		font-size: 18px;
	}

	.daily-story-content {
		padding: 15px;
	}

	/* Favorites */
	.favorites-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.favorite-button .favorite-text {
		display: none;
	}

	/* Age Category Badge */
	.age-category-badge {
		font-size: 13px;
		padding: 6px 12px;
	}

	/* Post Navigation */
	.post-navigation .nav-links {
		flex-direction: column;
	}

	.post-navigation .nav-previous,
	.post-navigation .nav-next {
		max-width: 100%;
		text-align: left;
	}
}

/* ============================================================================
   MOBILE: Max-width 600px
   ============================================================================ */
@media (max-width: 600px) {

	.site-logo img {
		max-height: 35px;
	}


	.main-navigation a {
		padding: 7px 12px;
		line-height: 38px;
	}

	.main-navigation .search-field:focus {
		width: 120px;
	}

	/* Search Modal - hide footer on very small screens */
	.search-modal-footer {
		display: none;
	}
    .member-access-btn .icon {
        left: -5px
    }
}

/* ============================================================================
   MOBILE: Max-width 400px
   ============================================================================ */
@media (max-width: 400px) {

	.site-branding {
		padding: 8px 10px 25px;
	}

	.site-logo img {
		max-height: 30px;
	}
    
	.main-navigation a {
		padding: 7px 10px;
		line-height: 36px;
	}

	.dark-mode-toggle-btn,
	.font-size-toggle-btn,
	.search-trigger-btn,
    .member-access-btn {
		width: 34px;
		height: 34px;
		font-size: 16px;
	}
    
    .member-access-btn .icon {
        left: -2px
    }
    

	/* Icon styles for very small mobiles */
	.dark-mode-icon,
	.font-size-icon,
	.search-icon,
    .member-access-icon {
		font-size: 16px;
	}
    
    .main-navigation.member-access-btn {}

	.main-navigation .search-field {
		height: 34px;
	}

	.main-navigation .search-field:focus {
		width: 100px;
	}
}

/* Mobile */
@media (max-width: 768px) {
	.favorites-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.favorite-button .favorite-text {
		display: none;
	}

	.age-category-badge {
		font-size: 13px;
		padding: 6px 12px;
	}
    
    	.search-modal {
		padding: 20px 10px;
	}

	.search-modal-container {
		max-height: calc(100vh - 40px);
		border-radius: 6px;
	}

	.search-modal-header {
		padding: 16px;
	}

	.search-modal-input {
		font-size: 16px;
		padding: 12px 12px 12px 0;
	}

	.search-modal-body {
		padding: 16px;
	}

	.search-result-item {
		flex-direction: column;
	}

	.search-result-thumb {
		width: 100%;
		height: 150px;
	}

	.search-modal-shortcuts {
		flex-direction: column;
		gap: 8px;
	}


    	.error-404 {
		padding: 40px 15px;
	}

	.error-404-code {
		font-size: 80px;
	}

	.error-404-title {
		font-size: 24px;
	}

	.error-404-description {
		font-size: 16px;
	}

	.error-404-search {
		padding: 20px;
	}

	.error-404-search h3 {
		font-size: 18px;
	}

	.error-404-suggestions h3 {
		font-size: 20px;
	}

	.error-404-posts {
		grid-template-columns: 1fr;
		gap: 20px;
	}


	.error-404-button {
		width: 100%;
		text-align: center;
	}
}

@media (max-width: 480px) {
	.search-modal-footer {
		display: none;
	}
}

@media screen and (max-width: 768px) {
    .member-access-icon {
    position: relative;
        left: -10px;
        top -3px;
    }
}
