/* Responsive Styles - Dietetyk Bielsko */

/* ===== GLOBAL MOBILE FIXES ===== */

/* Prevent iOS zoom on input focus (font-size must be >= 16px) */
@media only screen and (max-width: 1023px){
	.default-form input[type="text"],
	.default-form input[type="email"],
	.default-form input[type="tel"],
	.default-form input[type="password"],
	.default-form select,
	.default-form textarea,
	.contact-section .contact-form input,
	.contact-section .contact-form select,
	.contact-section .contact-form textarea{
		font-size:16px;
	}
}

@media only screen and (max-width: 1140px){
	
	.main-header .main-box{
		position:relative;
		margin:0px !important;
	}
	
	.page-title{
		padding:80px 0px;	
	}
	
	.main-menu .navigation > li{
		margin:0px 5px;
	}
	
	.main-menu .navigation > li > a{
		padding-left:8px;
		padding-right:8px;	
	}
	
	
	.page-wrapper{
		overflow:hidden;	
	}
	
	.cart-table tbody tr .prod-column .column-box,
	.cart-table tbody tr .prod-column .column-box h3{
		padding-top:5px !important;	
	}
	
	.events-section .schedule-box{
		overflow-x:auto;
		overflow-y:hidden;	
	}
	
	.events-section .events-table .event-hover-popup{
		bottom:auto;
		top:60px;	
	}
	
	.events-section .events-table .event-hover-popup:after{
		content:'\f0d8';
		position:absolute;
		left:50px;
		bottom:auto;
		top:-13px;
		font-size:32px;
		color:#ffffff;	
	}
	
	.events-section .events-table .table-cell:hover .event-hover-popup{
		margin:0px;
	}
	
	.events-section .events-header h2{
		margin-bottom:30px;	
	}
	
	
}

@media only screen and (min-width: 1025px){
	.hidden-bar.right-align.visible-sidebar{
		right:-400px !important;	
	}
}

@media only screen and (min-width: 768px){
	.main-menu .navigation > li > ul,
	.main-menu .navigation > li > ul > li > ul{
		display:block !important;
		visibility:hidden;
		opacity:0;
	}
}

@media only screen and (max-width: 1023px){
	
	.main-header .main-box .logo-box {
		position:relative;
		left:0px;
		top:0px;
		right:0px;
		bottom:0px;
		width:200px;
		margin:0px;
		text-align:left;
	}
	
	.main-header .main-box .outer-container{
		padding:0;
		display:flex;
		align-items:center;
		justify-content:space-between;
	}

	.main-header .nav-outer,
	.nav-outer .main-menu{
		display:none;
	}

	.main-header .nav-toggler{
		display:block;
		position:fixed;
		top:0;
		right:0;
		margin:0;
		z-index:998;
	}

	/* Bigger touch target for hamburger menu (min 44x44) */
	.main-header .nav-toggler button{
		height:48px;
		width:48px;
		font-size:20px;
		line-height:46px;
		border-radius:0 0 0 6px;
	}

	/* Hide hamburger when sidebar is open */
	.visible-sidebar ~ .page-wrapper .nav-toggler,
	body.sidebar-open .nav-toggler{
		opacity:0;
		pointer-events:none;
	}

	/* Close button top-right corner */
	.hidden-bar .hidden-bar-closer,
	.hidden-bar.right-align .hidden-bar-closer{
		right:0;
		left:auto;
		width:48px;
		height:48px;
		line-height:46px;
		border-radius:0 0 0 6px;
	}

	.hidden-bar .hidden-bar-closer .btn{
		font-size:18px;
	}

	.main-header .main-box .logo-box{
		padding:15px 0px;
		float:none;
	}

	.fluid-section-one .video-column .video-box .image{
		display:block;
	}
	
	.fluid-section-one .video-column .video-box,
	.fluid-section-one .video-column{
		position:relative;
		left:0px;
		right:0px;
		top:0px;
		bottom:0px;
		background:none;
		width:100%;
	}
	
	.fluid-section-one .column{
		width:100%;
		max-width:none;
	}
	
	.fluid-section-one .content-column .content-outer{
		width:100%;
		max-width:none;
	}
	
	.sec-title h2{
		font-size:20px;	
	}
	
	.gallery-single-post .info-column{
		padding-left:15px;	
	}
	
	.sidebar-page-container .blog-section{
		padding-right:0px !important;	
	}
	
	.sidebar-side .sidebar{
		padding-left:0px;	
	}
	
	.two-col-fluid .image-column,
	.two-col-fluid .content-column{
		width:100%;
		position:relative;
	}
	
	.two-col-fluid .image-column{
		background:none !important;	
	}
	
	.two-col-fluid .image-column .image-box{
		display:block;	
	}
	
	.two-col-fluid .content-column .inner-box{
		max-width:none;
		padding:50px 15px 30px;	
	}
	
}

@media only screen and (max-width: 767px){

	/* --- HEADER TOP BAR --- */
	.main-header .header-top{
		padding:8px 0px;
	}

	.main-header .header-top .top-right ul.info-nav{
		float:none;
		left:-10px;
	}

	.header-upper .logo-outer {
		position:relative;
		left:0px;
		top:0px;
		right:0px;
		bottom:0px;
		width:100%;
		margin:0px;
	}

	.default-portfolio-item.masonry-item.big-item,
	.default-portfolio-item.masonry-item.small-item{
		width:100%;
	}

	/* Hide address in header top on mobile - too long */
	.main-header .header-top .top-left ul li:last-child{
		display:none;
	}

	.main-header .header-top .top-left ul li{
		display:block;
		margin:2px 0px;
		line-height:24px;
	}

	/* Bigger touch targets for header links */
	.main-header .header-top .top-left ul li a{
		padding:4px 0px;
		display:inline-block;
	}

	.main-header .header-top .top-left{
		width:100%;
		text-align:center;
	}

	.main-header .header-top .top-right{
		width:100%;
		text-align:center;
	}

	/* "Umów wizytę" button full-width on mobile */
	.main-header .header-top .top-right .theme-btn{
		display:block;
		text-align:center;
		padding:12px 20px;
		font-size:15px;
	}

	.main-header .header-top .top-right ul,
	.main-header .header-top .top-left ul,
	.header-top .social-icon,
	.header-top .top-right ul{
		text-align:center;
		width:100%;
		margin:5px 0px;
		padding:0px;
	}

	/* --- SLIDER: Show CTA on mobile --- */
	.main-slider .tp-caption{
		display:none !important;
	}

	/* --- MOBILE HERO BANNER (replaces hidden slider captions) --- */
	.main-slider{
		position:relative;
	}

	/* --- SECTION TITLES --- */
	.sec-title h2,
	.newsletter-style-one .title-column h2,
	.project-details h2,
	.sec-title.medium h2,
	.appt-section .title-box h2,
	.cart-section .sec-title h2,
	.sidebar-page-container .sec-title h2{
		font-size:22px;
	}

	.sec-title .desc-text{
		font-size:14px;
		padding:0 10px;
	}

	/* --- NEWS --- */
	.news-style-one .image-column{
		margin-bottom:25px;
	}

	/* --- FOOTER --- */
	.main-footer .footer-bottom .pull-left,
	.main-footer .footer-bottom .pull-right{
		width:100%;
		text-align:center;
	}

	.main-footer .footer-bottom .pull-right{
		margin-top:10px;
	}

	.main-footer .footer-nav li{
		margin:5px 10px;
	}

	/* Footer social icons bigger touch targets */
	.main-footer .footer-bottom .footer-social li a{
		display:inline-block;
		width:44px;
		height:44px;
		line-height:44px;
		text-align:center;
	}

	/* Footer columns spacing */
	.main-footer .footer-column{
		margin-bottom:25px;
	}

	/* Footer button full-width */
	.main-footer .footer-widget .btn-style-one{
		display:block;
		text-align:center;
		width:100%;
	}

	/* --- PAGE INFO --- */
	.page-info .pull-left,
	.page-info .pull-right{
		width:100%;
	}

	/* --- CONTACT PAGE --- */
	/* Fix column order - info first, form second on mobile */
	.contact-section .row{
		display:flex;
		flex-direction:column;
	}

	.contact-section .column.info-column{
		order:1;
		float:none !important;
	}

	.contact-section .column.form-column{
		order:2;
		float:none !important;
		margin-top:30px;
	}

	/* Contact info bigger touch targets */
	.info-style-one li{
		padding-left:60px;
	}

	.info-style-one li .icon-box{
		width:44px;
		height:44px;
		line-height:44px;
		font-size:20px;
	}

	/* --- MAP --- */
	.map-section .map-canvas{
		height:300px !important;
	}

	/* --- TWO COL FLUID (contact form on homepage) --- */
	.two-col-fluid .content-column .inner-box{
		padding:30px 15px 20px;
	}

	/* --- EXPERIENCE SECTION --- */
	.experience-section .title-column{
		text-align:center;
		margin-bottom:30px;
	}

	.experience-section .title-column .req-btn{
		display:inline-block;
		padding:12px 24px;
	}

	/* Counter items on mobile */
	.fact-counter .counter-column{
		margin-bottom:20px;
	}

	/* --- BUTTONS: Ensure minimum touch target --- */
	.theme-btn{
		min-height:44px;
		padding:12px 24px;
	}

	.btn-style-one,
	.btn-style-two{
		padding:12px 24px;
		font-size:14px;
	}

	/* --- PRODUCTS (legacy, keep for safety) --- */
	.products-section .shop-upper-box .items-label,
	.products-section .shop-upper-box .sort-by{
		width:100%;
		margin:0px;
	}

	.prod-tabs .reviews-container .rev-header h4,
	.prod-tabs .reviews-container .rev-header .rating{
		font-size:14px;
	}

	.prod-tabs .add-review .rating li::after{
		display:none;
	}

	.prod-tabs .add-review .rating li{
		display:block;
		margin:0px 10px 0px 0px;
	}

	/* --- SCROLL TO TOP BUTTON --- */
	.scroll-to-top{
		width:44px;
		height:44px;
		line-height:44px;
	}

	/* --- HIDDEN BAR SIDEBAR MOBILE --- */
	.hidden-bar.right-align{
		width:280px;
	}

	.hidden-bar .side-menu ul li a{
		padding:12px 20px;
		font-size:16px;
	}

	/* Social icons in sidebar bigger */
	.hidden-bar .social-icons ul li a{
		width:44px;
		height:44px;
		line-height:44px;
		font-size:18px;
	}
}

@media only screen and (max-width: 599px){

	/* Service cards: full width */
	.featured-service{
		margin-bottom:20px;
	}

	/* Icon columns center on small mobile */
	.icon-column-default .inner-box{
		padding:0px 10px;
		text-align:center;
	}

	.icon-column-default .inner-box .icon-box{
		position:relative;
		left:auto;
		top:auto;
		margin:0 auto 15px;
	}

	.icon-column-default .inner-box h3{
		font-size:18px;
	}

	/* About page text */
	.default-section .text-column h2{
		font-size:22px;
	}

	.default-section .text-column h2 span{
		font-size:16px !important;
	}

	/* Page title */
	.page-title{
		padding:50px 0px;
	}

	.page-title h1{
		font-size:22px;
	}

	.page-title h3{
		font-size:14px;
	}

	.prod-tabs .reviews-container .review-box{
		padding:15px 20px;
	}
	
	.prod-tabs .reviews-container .rev-thumb{
		position:relative;
		left:0px;
		top:0px;
		margin-bottom:20px;
	}
	
	.prod-tabs .tab-btns .tab-btn,
	.contact-section .info-tabs .tab-btn{
		display:block;
		float:none;
		width:100%;
		margin:0px 0px 10px;
		text-align:center;
	}
	
	.sidebar-page-container .comments-area .reply-comment{
		margin-left:0px;	
	}
	
	.cart-section .coupon-outer .pull-left,
	.cart-section .coupon-outer .pull-right{
		width:100%;	
	}
	
	.cart-section .coupon-outer .apply-coupon .form-group{
		margin:0px 0px 15px;
		width:100%;	
	}
	
	.cart-section .coupon-outer .apply-coupon .form-group input[type="text"]{
		width:100%;	
	}
	
	.cart-section .coupon-outer .theme-btn{
		width:100%;
		display:block;
		margin:0px 0px 10px;	
	}
	
	.gallery-section .filters li{
		border:1px solid #e0e0e0 !important;
		display:block;
		margin:0px 0px 10px;	
	}
	
	.gallery-section .filters .filter-tabs{
		display:block;
		margin:0px 0px 10px;
		border:none;	
	}
	
	.news-style-one blockquote{
		margin-left:0px;	
	}
	
	.blog-details .post-bottom .share-options strong{
		display:block;	
	}
	
	.blog-details .post-bottom .post-controls{
		padding-top:10px;
		width:100%;	
	}
	
	.blog-details .post-bottom .post-controls li{
		margin:0px 20px 0px 0px;	
	}
	
	.icon-column-default .inner-box{
		padding:0px;
		text-align:center;	
	}
	
	.icon-column-default .inner-box .icon-box,
	.testimonials-section .slide-item .author-thumb{
		position:relative;
		left:0px;
		top:0px;
		margin:0 auto 25px;	
	}
	
	.testimonials-section .slide-item .slide-header{
		padding:30px 20px;
		text-align:center;	
	}
	
	.testimonials-section .slide-item .slide-content{
		padding:15px 20px;
		text-align:center;	
	}
	
	.featured-service .overlay-box .icon-box{
		display:none;	
	}
	
	.featured-service .overlay-box .overlay-inner{
		padding-left:30px;
		text-align:center;	
	}
	
	.team-section .team-thumbs-carousel{
		padding-right:150px;	
	}
	
	.events-section .events-table .event-hover-popup{
		width:270px;
		height:350px;
		overflow:auto;	
	}
	
	.events-section .events-table .event-hover-popup .upper-content .image{
		margin:0px 0px 20px;
		float:none;
		width:100%;	
	}
	
	.events-section .events-table .event-hover-popup .upper-content .image img{
		width:100%;	
	}
}

@media only screen and (max-width: 499px) {

	.main-header .main-box .logo-box .logo img{
		max-width:65%;
	}

	.main-header .main-box .logo-box{
		padding:10px 0px;
	}

	/* Hide "Masz pytanie?" label on small phones */
	.main-header .header-top .top-left ul li .styled-font{
		display:none;
	}

	.page-title h1{
		font-size:20px;
	}

	.page-title h3{
		font-size:13px;
	}

	/* Section titles smaller */
	.sec-title h2{
		font-size:20px;
	}

	/* Experience section counters */
	.fact-counter .count-outer{
		font-size:28px;
	}

	/* Buttons full-width on very small screens */
	.two-col-fluid .theme-btn,
	.experience-section .req-btn{
		display:block;
		width:100%;
		text-align:center;
	}

	/* Contact form textarea shorter */
	.contact-section .contact-form .form-group textarea,
	.default-form textarea{
		height:150px;
	}

	/* Footer text smaller */
	.main-footer .footer-widget .text{
		font-size:13px;
	}

	.main-footer .footer-bottom .copyright{
		font-size:12px;
	}

	.prod-tabs .tabs-container .tab{
		padding:20px 0px;
	}

	.sidebar-page-container .comments-area .reply-comment,
	.blog-details .comments-area .comment .comment-inner,
	.post-details .comments-area .comment .comment-inner{
		padding-left:0px;
	}

	.blog-details .post-author .inner-box{
		padding:20px;
	}

	.blog-details .post-author .inner-box .author-thumb{
		position:relative;
		left:0px;
		top:0px;
		margin-bottom:20px;
	}

	.sidebar-page-container .comments-area .comment-box .author-thumb{
		position:relative;
		left:0px;
		top:0px;
		margin-bottom:20px;
	}

	.accordion-box .block .content .image{
		margin:0px 0px 20px;
		float:none;
		width:100%;
	}

	.accordion-box .block .content .image img{
		display:block;
		width:100%;
	}

	.post-details .gallery-controls .next-btn,
	.post-details .gallery-controls .prev-btn{
		min-width:0px;
		padding:8px 20px;
	}
}
