/* About us button styles (if needed nearby) */

.info-right {
    display: flex;
    align-items: center;
    gap: 12px;
    border-radius: 25px;
    border: 1px solid #f0f0f0;
}

.about-us-btn {
    background: white;
    color: #333;
    border: 2px solid #e9ecef;
}

.group-order-btn,
.about-us-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border: none;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.group-order-btn { background: linear-gradient(135deg, #ff6b35 0%, #f7931e 100%); color: white; }
.group-order-btn:hover {  transform: translateY(-2px);  box-shadow: 0 4px 15px rgba(255, 107, 53, 0.3);}

.about-us-btn:hover { background: #f8f9fa; border-color: #dee2e6; transform: translateY(-1px);}

/* About us section modal */
.aboutus-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(5px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}
.aboutus-modal-overlay.active { opacity: 1; visibility: visible; }

.aboutus-modal-content {
    background: white;
    border-radius: 16px;
    max-width: 480px;
    width: 90%;
    max-height: 85vh;
    overflow-y: auto;
    position: relative;
    transform: scale(0.9) translateY(20px);
    transition: all 0.3s ease;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
}
.aboutus-modal-overlay.active .aboutus-modal-content { transform: scale(1) translateY(0); }

.aboutus-modal-content::-webkit-scrollbar { width: 6px; }
.aboutus-modal-content::-webkit-scrollbar-track { background: transparent; margin: 20px 0; }
.aboutus-modal-content::-webkit-scrollbar-thumb { background: #005959; border-radius: 10px; }

.aboutus-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid #e9ecef;
    position: sticky;
    top: 0;
    z-index: 9999;
    background-color: white;
}
.aboutus-modal-title {
    font-size: 20px;
    font-weight: 600;
    color: #333;
    margin: 0;
}
.aboutus-modal-close {
    background: #005959;
    border: none;
    font-size: 16px;
    color: white;
    cursor: pointer;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}
.aboutus-modal-close:hover { background-color: #003636 !important; color: white !important; }

.aboutus-modal-body { padding: 0; }

/* Map and address helpers used inside modal */
.address-box { position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); background: white; border-radius: 8px; padding: 12px 16px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); z-index: 999; width: 250px; }
.map-controls { position: absolute; display: flex; flex-direction: column; gap: 10px; bottom: 10px; left: 10px; background: transparent; z-index: 999; }
.map-controls button { display: flex; align-items: center; justify-content: center; border: 0; color: black; background-color: white; height: 30px; width: 30px; font-weight: 600; }
.map-section {
    position: relative; /* Ensure map doesn't overlap other elements if absolutely positioned */
    width: 100%; /* Or a fixed width */
    height: 250px; /* Adjust as needed */
    background: #e9ecef url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 200"><rect fill="%23f8f9fa" width="400" height="200"/><path d="M50 50h300v100H50z" fill="%23dee2e6"/><circle cx="200" cy="100" r="8" fill="%23007bff"/><text x="200" y="130" text-anchor="middle" fill="%23666" font-size="12">📍</text></svg>') center/cover;
	border-bottom: 1px solid #e9ecef;

}
#mapContainer {
    width: 100%;
    height: 100%; /* Make the map fill its parent .map-section */
    background-color: #f0f0f0; /* Fallback background while map loads */
    overflow: hidden; /* Ensures map content stays within rounded corners */
}


.address-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 4px; }
.address-title { font-weight: 600; font-size: 14px; color: #333; }
.store-status { font-size: 12px; padding: 2px 8px; border-radius: 12px; font-weight: 500; margin-top: 0 !important; }
.store-status.open { background: #d4edda; color: #155724; }
.store-status.closed { background: #f8d7da; color: #721c24; }
.address-text { margin-top: 10px; display: flex; }
.address-name { width: 80%; font-size: 13px; color: #666; line-height: 1.4; }
.address-direction { text-align: end; width: 20%; }


/* Dlievry section */
.business-section-wrapper,
.timing-section-wrapper {
  padding: 15px;
  background-color: #F5F3F1;
  border-radius: 20px;	
}
.section {
	padding: 20px 24px;
	border-bottom: 1px solid #f0f0f0;

}
.section:last-child {
	border-bottom: none;
}

.section-header {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
}

.section-icon {
	color: #333;
	font-size: 16px;
}

.section-title {
	font-size: 16px;
	font-weight: 600;
	color: #333;
	margin: 0;
}

.timing-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.timing-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 0;
	font-size: 14px;
}

.timing-day {
	color: #333;
	font-weight: 500;
}

.timing-hours {
	color: #666;
}

.timing-hours.closed {
	color: #999;
}

/* Business Details Section */
.business-info {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.business-item {
	font-size: 14px;
	line-height: 1.5;
}

.business-item strong {
	color: #333;
	display: block;
	margin-bottom: 2px;
}

.business-item span {
	color: #666;
}

.business-link {
	color: #007bff;
	text-decoration: none;
}

.business-link:hover {
	text-decoration: underline;
}

@media (max-width: 768px) {
    .modal-content { padding: 24px; margin: 20px; }
}


