/* ============================================================
   VENTURALINE RESPONSIVE STYLES
   Minimal changes - adapts existing layout for mobile
   ============================================================ */

/* ============================================================
   HAMBURGER BUTTON - Hidden on desktop
   ============================================================ */
.resp-hamburger {
	display: none;
	background: #074687;
	color: #fff;
	border: none;
	font-size: 18px;
	width: 34px;
	height: 28px;
	cursor: pointer;
	border-radius: 3px;
	flex-shrink: 0;
	line-height: 28px;
	text-align: center;
}

.resp-hamburger:hover {
	background: #0a5eb3;
}

/* ============================================================
   MOBILE CLOSE BUTTON - Hidden on desktop
   ============================================================ */
.mobile-menu-close {
	display: none;
	position: absolute;
	top: 5px;
	right: 5px;
	background: #074687;
	color: #fff;
	border: none;
	width: 28px;
	height: 28px;
	font-size: 18px;
	cursor: pointer;
	border-radius: 3px;
	z-index: 1001;
}

/* ============================================================
   MENU OVERLAY - Hidden by default
   ============================================================ */
#menu-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
	z-index: 998;
}

#menu-overlay.active {
	display: block;
}

body.menu-open {
	overflow: hidden;
}

/* ============================================================
   MOBILE BREAKPOINT: 900px
   ============================================================ */
@media screen and (max-width: 900px) {
	
	/* Show hamburger */
	.resp-hamburger {
		display: block;
	}
	
	/* Show close button in sidebar */
	.mobile-menu-close {
		display: block;
	}
	
	/* Hide badge table */
	.title-bar-table {
		display: none !important;
	}
	
	/* Hide A+ logo */
	.title-bar > div[style*="float:right"] {
		display: none !important;
	}
	
	/* ========== SLIDE-OUT SIDEBAR ========== */
	.leftcol {
		position: fixed !important;
		top: 0 !important;
		left: -260px !important;
		width: 250px !important;
		height: 100% !important;
		background: #fff !important;
		z-index: 999 !important;
		overflow-y: auto !important;
		transition: left 0.25s ease !important;
		box-shadow: 2px 0 8px rgba(0,0,0,0.3) !important;
		padding-top: 35px !important;
	}
	
	.leftcol.show-mobile {
		left: 0 !important;
	}
	
	.leftcol .browse_bar_mid {
		width: 100% !important;
	}
	
	/* ========== MAIN CONTENT FULL WIDTH ========== */
	.centertb {
		width: 100% !important;
	}
	
	#contenttb {
		width: 100% !important;
	}
	
	/* ========== HEADER - WRAP TO 2 ROWS ========== */
	.header {
		display: flex !important;
		flex-wrap: wrap !important;
		padding: 5px 8px !important;
		gap: 5px;
		align-items: center;
	}
	
	/* Row 1: hamburger, search, login */
	.header-left {
		order: 1;
		flex: 1 1 auto;
		display: flex !important;
		align-items: center;
	}
	
	.header-right {
		order: 2;
		flex-shrink: 0;
		display: flex !important;
	}
	
	/* Row 2: nav links (full width, scrollable) */
	.header-center {
		order: 3;
		flex: 1 0 100% !important;
		width: 100% !important;
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		border-top: 1px solid #ddd;
		padding-top: 5px;
		margin-top: 3px;
	}
	
	.header-center::-webkit-scrollbar {
		height: 0;
	}
	
	/* Make nav links scrollable */
	.header-link {
		flex-shrink: 0;
	}
	
	.header-link > a {
		padding: 6px 10px !important;
		font-size: 12px !important;
		white-space: nowrap;
	}
	
	/* ========== SLIDES GRID ========== */
	.grid-container {
		width: 100% !important;
		max-width: 100% !important;
		padding: 8px !important;
		gap: 8px !important;
		box-sizing: border-box;
	}
	
	.grid-container > div {
		width: auto !important;
	}
	
	.grid-container > div img {
		width: 100%;
		height: auto;
		border-radius: 4px;
	}
	
	/* ========== PRODUCT CAROUSELS ========== */
	.fp_pics_row_wrapper {
		margin: 0 8px !important;
	}
	
	.fp_pics_row {
		display: flex !important;
		gap: 8px;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		padding: 4px 0;
	}
	
	.fp_pics_row::-webkit-scrollbar {
		height: 0;
	}
	
	/* Product cards in carousel - 2+ visible */
	.fp_bpics_td {
		flex: 0 0 calc(50% - 4px) !important;
		width: calc(50% - 4px) !important;
		min-width: 140px !important;
		max-width: 200px !important;
		height: auto !important;
		scroll-snap-align: start;
		border-radius: 6px;
	}
	
	/* Featured products grid */
	.fp_tpics_row {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 8px !important;
		padding: 0 8px;
	}
	
	.fp_tpics_td {
		flex: 1 1 calc(50% - 4px) !important;
		width: calc(50% - 4px) !important;
		min-width: 140px !important;
		max-width: 50% !important;
		height: auto !important;
		border-radius: 6px;
	}
	
	/* Carousel arrows */
	.fp_arrows {
		flex-shrink: 0;
		width: 32px;
		height: 32px;
		border-radius: 50%;
	}
	
	.fp_arrows img {
		width: 10px;
	}
}

/* ============================================================
   TABLET/PHONE BREAKPOINT: 768px
   ============================================================ */
@media screen and (max-width: 768px) {
	
	/* Hide tagline */
	.resp-hide-sm {
		display: none !important;
	}
	
	/* Smaller title */
	.title_admin {
		font-size: 16px !important;
	}
	
	/* Smaller search */
	.input_search {
		width: 100px !important;
		padding: 4px 6px !important;
		font-size: 13px !important;
	}
	
	.button_search {
		padding: 4px 8px !important;
		font-size: 12px !important;
	}
	
	/* Smaller nav links */
	.header-link > a {
		padding: 5px 8px !important;
		font-size: 11px !important;
	}
	
	/* ========== FOOTER - STACK VERTICALLY ========== */
	.footer {
		position: relative !important;
		display: block !important;
	}
	
	.footer_main {
		display: none !important;
	}
	
	.footer_container {
		display: block !important;
		padding: 0 10px !important;
		position: relative !important;
	}
	
	.footer_box {
		display: block !important;
		width: 100% !important;
		float: none !important;
		text-align: center;
		padding: 12px 0 !important;
		border-bottom: 1px solid #e5e5e5;
	}
	
	.footer_box:last-child {
		border-bottom: none;
	}
	
	.footer_title {
		display: inline-block !important;
		width: auto !important;
		margin-bottom: 8px !important;
	}
	
	.footer_box ul {
		text-align: center;
		padding: 0 !important;
		margin: 0 !important;
		list-style: none !important;
	}
	
	.footer_box li {
		display: inline-block;
		padding: 3px 10px !important;
	}
	
	.footer_box li a {
		font-size: 13px !important;
	}
	
	/* ========== FOOTER COPYRIGHT - FIX OVERLAP ========== */
	.foot {
		display: block !important;
		position: relative !important;
		float: none !important;
		clear: both !important;
		text-align: center;
		padding: 15px 10px !important;
		margin: 0 !important;
		background: #f9f9f9;
		border-top: 1px solid #ddd;
		z-index: 1;
	}
	
	.footer_left,
	.footer_right {
		float: none !important;
		width: 100% !important;
		text-align: center !important;
		display: block !important;
		position: relative !important;
	}
	
	.footer_left p,
	.footer_right p {
		margin: 5px 0 !important;
		font-size: 12px !important;
	}
}

/* ============================================================
   PHONE BREAKPOINT: 576px
   ============================================================ */
@media screen and (max-width: 576px) {
	
	/* Single column slides */
	.grid-container {
		grid-template-columns: 1fr !important;
		max-width: 320px !important;
		margin: 0 auto !important;
	}
	
	/* Smaller search */
	.input_search {
		width: 80px !important;
	}
	
	/* Smaller nav */
	.header-link > a {
		padding: 5px 6px !important;
		font-size: 10px !important;
	}
	
	/* Product cards - still 2 per row */
	.fp_bpics_td {
		flex: 0 0 calc(50% - 4px) !important;
		min-width: 120px !important;
	}
	
	.fp_tpics_td {
		flex: 1 1 calc(50% - 4px) !important;
		min-width: 120px !important;
	}
	
	/* Footer links stack */
	.footer_box li {
		display: block;
		padding: 6px 0 !important;
	}
	
	/* Cookies bar */
	.cookies_subcontainer {
		text-align: center !important;
		padding: 10px !important;
	}
	
	.cookies_subcontainer p {
		display: block !important;
		margin: 0 0 10px 0 !important;
		font-size: 12px !important;
	}
	
	#cookies-btn {
		display: inline-block !important;
	}
}

/* ============================================================
   SMALL PHONE: 400px
   ============================================================ */
@media screen and (max-width: 400px) {
	
	.title-bar-logo img {
		max-height: 26px;
	}
	
	.title_admin {
		font-size: 14px !important;
	}
	
	.resp-hamburger {
		width: 30px;
		height: 24px;
		font-size: 14px;
		line-height: 24px;
	}
	
	.input_search {
		width: 60px !important;
		font-size: 12px !important;
	}
	
	.button_search {
		padding: 3px 6px !important;
		font-size: 11px !important;
	}
	
	.header-link > a {
		padding: 4px 4px !important;
		font-size: 9px !important;
	}
}

/* ============================================================
   TOUCH DEVICES
   ============================================================ */
@media (hover: none) and (pointer: coarse) {
	.resp-hamburger,
	.mobile-menu-close {
		min-width: 44px;
		min-height: 44px;
	}
	
	.header-link > a {
		min-height: 44px;
		display: flex;
		align-items: center;
	}
	
	.fp_arrows {
		min-width: 44px;
		min-height: 44px;
	}
	
	.MainMenu, .SubMenu, .SubMenu2 {
		min-height: 44px;
	}
}

/* ============================================================
   PRINT
   ============================================================ */
@media print {
	.resp-hamburger,
	#menu-overlay,
	.mobile-menu-close,
	#cookies_bar {
		display: none !important;
	}
	
	.leftcol {
		position: static !important;
		left: auto !important;
		width: auto !important;
	}
}
