@charset "utf-8";

/* GLOBAL RESPONSIVE PRINCIPLES (Add these if not already present) */
html {
    box-sizing: border-box;
    scroll-behavior: smooth;
}
*, *::before, *::after {
    box-sizing: inherit;
}
img {
    max-width: 100%;
    height: auto;
    display: block; /* Ensures images don't have extra space below them */
}

body {
	font-family: "Lato", sans-serif;
  	font-weight: 600;
	background-color: #FFFFFF;
	padding: 0;
	margin: 0;
}

header {
    position: relative;
    z-index: 10;
    height: 80px;
    padding: 0px 30px;
    box-sizing: border-box;
    margin-bottom: 45px;
}

nav {
    margin: 35px 0;
}

.navi {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 20px;
	text-align: center;
	justify-content: flex-end;
	font-size: 20px;
}

li a, .dropbtn {
	display: inline-block;
	color: #000000;
	text-decoration: none;
	text-align: center;
	padding: 14px 16px;
}

li a:hover, .dropdown:hover .dropbtn {
	background-color: #1BC6CE;
}

li.dropdown {
    display: inline-block;
}

.dropdown-content {
	display: none;
	position: absolute;
	z-index: 2;
	background-color:#1BC6CE;
	min-width: 160px;
}

.dropdown-content a {
	color:#000000;
	display: block;
	text-decoration: none;
	text-align: left;
	padding: 12px 16px;
}

.dropdown:hover .dropdown-content {
    display: block;
}

.dropdown-content a:hover {
	background-color: #000000;
	color: #1BC6CE;
}

#logo {
    margin: 30px 0;
    width: 280px;
    height: 45px;
}

.top-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 2;
}

footer {
    background-color: #000000;
    color: #FFFFFF;
    padding: 40px 35px 20px; /* Overall footer padding */
    text-align: center;
    display: flex;
    flex-direction: column; /* Stacks footer-text and copyright vertically */
    align-items: center; /* Centers items horizontally */
    gap: 20px; /* Space between main footer sections */
}

.footer-text {
    display: flex;
    justify-content: space-between; /* Pushes left nav and right contacts apart */
    align-items: flex-start; /* Aligns content to the top within this container */
    flex-wrap: wrap; /* Allows sections to wrap on smaller screens */
    width: 100%;
    padding: 0px 35px;
}

/* --- Footer Navigation (Left Column - Make Closer) --- */
.nav-footer {
    /* This class is on the <ul> in your HTML. */
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column; /* CRITICAL: Stacks links vertically */
    gap: 0px; /* CRITICAL: Reduce vertical space BETWEEN links */
    text-align: left; /* Align text to the left */
}

.nav-footer li {
    margin-bottom: 0; /* Ensures no extra margin pushes list items apart */
}

.nav-footer li a { /* Target the <a> links inside .nav-footer */
    display: block; /* Make links take full available width for easier clicking */
    color: #FFFFFF;
    text-decoration: none;
    font-size: 16px; /* CRITICAL: Adjust for desired smaller font size */
    padding: 2px 0; /* CRITICAL: Adjust for LESS VERTICAL PADDING around the text */
    line-height: 1.5; /* CRITICAL: Adjust line height if text still feels too spaced vertically */
    text-align: left;
}

.nav-footer li a:hover {
    color: #1BC6CE;
    background-color: transparent; /* No background on hover */
}

/* --- Footer Contacts Alignment (Right Column - Closer and Aligned with Icons) --- */
.footer-contacts {
    display: flex;
    flex-direction: column; /* Stacks "CONTACTS" title and contact lines vertically */
    align-items: flex-start; /* Align contents to the left within its column */
    gap: 5px; /* Space between "CONTACTS" title and the first contact line */
}

.contact-line:hover {
	color: #1BC6CE;
}

.footer-contacts p { /* Styling for the "CONTACTS" title */
    margin: 0;
    font-weight: bold;
    color: #FFFFFF;
}

/* Style for each individual contact line (icon + text) */
.contact-line {
    display: flex; /* CRITICAL: Makes icon and text align horizontally */
    align-items: center; /* CRITICAL: Vertically center the icon and text */
    gap: 8px; /* Space between the icon and the text */
    color: #FFFFFF; /* Color for the contact text */
    font-size: 16px; /* Adjust font size for contact text */
}

.contact-line img {
    height: 40px; /* Adjust icon size as needed */
    width: auto;
    flex-shrink: 0; /* Prevents icon from shrinking on smaller screens */
}

.contact-line span {
    margin: 0; /* Remove any default span margins */
    padding: 0; /* Remove any default span padding */
}

.copyright {
	text-align: center;
	padding: 5px 20px 10px 10px;
	color: #FFFFFF; /* Example: Lighter color for copyright */
}

/* Styles for the main page title (now correctly targeting <h1>) */
h1 {
    text-align: center;
	margin: 150px auto 50px;
    max-width: 800px; /* Adjust this value if you need it wider/narrower on desktop */
    color: #FFFFFF; /* Example dark text color */
    font-size: 70px; /* Large font size for the main heading */
	background-color: #1BC6CE;
	padding: 20px 40px;
	box-sizing: border-box; /* Ensures padding is included in the max-width */
	line-height: 1.2em; /* ADDED: Ensures text has enough vertical space, important for responsiveness */
}

/* Styles for a single course item (the .courses div as provided by user) */
.courses {
    display: flex; /* Makes the image and info side-by-side */
    gap: 30px; /* Space between the image and the text content */
    align-items: flex-start; /* Aligns content to the top */
    background-color: #FFFFFF; /* Light background for the course card */
    border-radius: 8px; /* Slightly rounded corners for the card */
    box-shadow: 0 4px 15px rgba(0,0,0,0.1); /* Subtle shadow effect */
    padding: 25px; /* Padding inside the course card */
    margin: 25px auto 45px; /* Center the course item and add vertical spacing */
    max-width: 900px; /* Max width for a single course card */
    box-sizing: border-box; /* Include padding in element's total width/height */
}

/* Image container within the course item */
.course-img {
    flex: 0 0 35%; /* Image container takes 35% of the width, won't grow/shrink */
    max-width: 35%; /* Ensures it doesn't exceed 35% */
}

.course-img img {
    width: 100%; /* Image fills its container */
    height: auto; /* Maintain aspect ratio */
    display: block; /* Removes extra space below the image */
    border-radius: 6px; /* Rounded corners for the image itself */
}

.courses {
	display: flex;
	gap: 30px;
	align-items: flex-start;
	background-color: #FFFFFF;
	border-radius: 8px;
	box-shadow: 0 4px 15px rgba(0,0,0,0.1);
	padding: 25px;
	margin: 25px auto 45px;
	max-width: 900px;
	box-sizing: border-box;
}

.course-img {
	flex: 0 0 35%;
	max-width: 35%;
}

.course-img img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 6px;
}

.course-info {
	flex: 1;
}

.course-title {
	color: #1BC6CE;
	font-size: 32px;
	margin-top: 0;
	margin-bottom: 10px;
}

.course-price {
	color: #0C6B70;
	font-size: 18px;
	font-weight: bold;
	margin: 5px 0;
}

.course-description {
	color: #000000;
	font-size: 16px;
	margin-bottom: 12px;
}

.buy-now-btn {
	background-color: #000000;
	color: #FFFFFF;
	padding: 12px 25px;
	border: none;
	border-radius: 5px;
	font-seize: 16px;
	cursor: pointer;
}

.buy-now-btn:hover {
	background-color: #1BC6CE;
}

/* --- Medium Devices (Tablets, Larger Phones - Max-width 1024px) --- */
@media (max-width: 1024px) {
    /* Header adjustments */
    header {
        padding: 0 15px; /* Reduce horizontal padding */
        margin-bottom: 30px; /* Adjust bottom margin */
        height: auto; /* Allow header height to adjust if content wraps */
    }
    .top-bar {
        padding: 10px 0; /* Add top/bottom padding */
    }
    #logo {
        width: 200px; /* Scale down logo */
        height: auto;
        margin: 0; /* Adjust logo margin */
    }
    nav {
        margin: 0; /* Adjust nav margin */
    }
    .navi {
        gap: 15px; /* Slightly smaller gap between nav items */
        font-size: 18px; /* Slightly smaller font size for readability */
        flex-wrap: wrap; /* Allow nav items to wrap */
        justify-content: center; /* Center nav items when wrapped */
    }
    li a, .dropbtn {
        padding: 10px 12px; /* Adjust padding for nav items */
    }
    /* Dropdown content needs to be inline when nav wraps */
    .dropdown-content {
        display: none; /* Keep hidden by default */
        position: static; /* Remove absolute positioning */
        min-width: unset; /* Remove min-width constraint */
        width: 100%; /* Take full width */
        box-shadow: none; /* Remove shadow */
        border-top: 1px solid rgba(255,255,255,0.1); /* Optional separator */
        background-color: transparent; /* Make transparent to see header background */
    }
    /* Re-show dropdown on hover/focus - may need JavaScript for full mobile menu experience */
    .dropdown:hover .dropdown-content {
        display: block; /* Still show on hover for larger tablets */
    }
    .dropdown-content a {
        padding: 8px 15px; /* Adjust padding for dropdown links */
        text-align: center; /* Center dropdown links */
        background-color: rgba(27,198,206,0.8); /* Maintain background color for visibility */
        margin-top: 2px; /* Small space between dropdown items */
    }

    /* H1 adjustments */
    h1 {
        font-size: 48px; /* Scale down font size for readability on tablets */
        margin: 100px auto 40px; /* Adjust margins */
        padding: 15px 30px; /* Adjust padding */
        max-width: 90%; /* Ensure it fits smaller screens */
    }

    /* Course block adjustments */
    .courses {
        gap: 20px; /* Reduce gap between image and text */
        padding: 20px; /* Reduce padding */
        margin: 20px auto 30px; /* Adjust vertical margins */
        max-width: 800px; /* Reduce max-width for tablets */
    }
    .course-img {
        flex: 0 0 30%; /* Image takes slightly less space */
        max-width: 30%; /* Ensure it doesn't exceed 30% */
    }
    .course-title {
        font-size: 28px; /* Scale down course title font for readability */
    }
    .course-price {
        font-size: 16px; /* Scale down price font for readability */
    }
    .course-description {
        font-size: 15px; /* Scale down description font for readability */
    }

    /* Footer adjustments */
    footer {
        padding: 30px 15px 15px; /* Reduce footer padding */
        gap: 15px; /* Reduce gap between footer sections */
    }
    .footer-text {
        flex-direction: column; /* Stack footer columns */
        align-items: center; /* Center stacked items */
        padding: 0px 15px; /* Adjust inner padding */
        gap: 20px; /* Space between stacked footer elements */
    }
    .nav-footer, .footer-contacts {
        width: 100%; /* Take full width when stacked */
        text-align: center; /* Center text within columns */
        margin: 0; /* Remove horizontal margins */
    }
    .nav-footer {
        gap: 5px; /* Reduce gap for stacked nav links */
    }
    .nav-footer li a {
        padding: 2px 0; /* Adjust padding for nav links */
        font-size: 15px; /* Smaller font size for nav links */
    }
    .footer-contacts p, .contact-line {
        font-size: 15px; /* Smaller font size for contact info */
    }
    .contact-line img {
        height: 30px; /* Smaller icons */
    }
    .copyright {
        font-size: 0.8em; /* Slightly smaller copyright text */
        padding: 5px 10px; /* Adjust padding */
    }
}

/* --- Smaller Devices (Phones - Max-width 768px) --- */
@media (max-width: 768px) {
    /* Header adjustments */
    header {
        padding: 0 10px; /* Further reduce horizontal padding */
        margin-bottom: 20px;
    }
    
    nav {
        width: 100%; /* Nav takes full width */
        margin: 5px 0; /* Adjust margin */
    }
	
    .navi {
   		display: none;
  }

  	.top-bar {
    	justify-content: center;
    	padding: 10px 20px;
  }

  #logo {
    	margin: 0 auto;
    	display: block;
  }
	
    li a, .dropbtn {
        padding: 8px 10px; /* Further adjust padding */
    }
	
    /* Dropdown will always be visible on small screens and behave like a regular link */
    .dropdown-content {
        display: block; /* Always show dropdown content */
        position: static; /* Not absolutely positioned */
        min-width: unset;
        width: 100%;
        background-color: rgba(27,198,206,0.8); /* Retain background for visibility */
    }
	
    .dropdown:hover .dropdown-content {
        display: block; /* No change on hover as it's always block */
    }
	
    .dropdown-content a {
        padding: 6px 10px;
    }

    /* H1 adjustments */
    h1 {
        font-size: 40px; /* Significantly smaller H1 for phones */
        margin: 60px auto 30px; /* Adjust margins */
        padding: 10px 20px; /* Adjust padding */
        max-width: 95%; /* Take more width on very small screens */
    }

    /* Course block adjustments: Stacked Layout */
    .courses {
        flex-direction: column; /* Stack image and info vertically */
        align-items: center; /* Center content when stacked */
        gap: 15px; /* Reduce gap when stacked */
        padding: 15px; /* Reduce padding */
        margin: 15px auto 25px; /* Adjust vertical margins */
        max-width: 95%; /* Allow courses to take more width */
    }
	
    .course-img {
        flex: none; /* Reset flex to not constrain width */
        max-width: 90%; /* Image takes most of the width */
        width: 100%; /* Ensure it fills available space */
    }
	
    .course-img img {
        height: 250px; /* Set a max height for images on small screens for visual consistency */
        object-fit: cover; /* Maintain aspect ratio and cover space */
    }
	
    .course-info { /* Target the correct class name */
        text-align: center; /* Center text content when stacked */
    }
	
    .course-title {
        font-size: 24px; /* Smaller course title for readability */
    }
	
    .course-price {
        font-size: 16px; /* Keep price consistent or slightly smaller */
    }
	
    .course-description {
        font-size: 14px; /* Smaller description text for readability */
    }

    /* Buy Now button adjustments */
    .buy-now-btn { /* Target the correct class name */
        padding: 10px 20px; /* Adjust padding */
        font-size: 15px; /* Smaller font size */
    }

    /* Footer adjustments */
    footer {
        padding: 20px 10px 10px; /* Further reduce padding */
        gap: 10px; /* Further reduce gap */
   	 	text-align: center;
  	}

  	.footer-text {
    	flex-direction: column;
    	align-items: center;
    	gap: 20px;
  	}

  	.nav-footer,
  	.footer-contacts {
    	align-items: center;
    	text-align: center;
  	}

  	.nav-footer ul {
    	padding: 0;
    	justify-content: center;
  	}

  	.footer-contacts p {
    	margin: 5px 0;
  	}

    .contact-line img {
        height: 25px;
    }
	
    .copyright {
        font-size: 0.75em; /* Smallest copyright text */
        padding: 5px;
    }
}

/* --- Very Small Phones (Max-width 480px) --- */
@media (max-width: 480px) {
    /* Header adjustments */
    header {
        padding: 0 5px;
        margin-bottom: 15px;
    }
	
    #logo {
        width: 120px;
        margin: 5px 0;
    }
	
    .navi {
        font-size: 14px;
        gap: 5px;
    }
	
    li a, .dropbtn {
        padding: 5px 8px;
    }
	
    .dropdown-content a {
        padding: 5px 8px;
    }

    /* H1 adjustments */
    h1 {
        font-size: 30px;
        margin: 40px auto 20px;
        padding: 8px 15px;
    }

    /* Course block adjustments */
    .courses {
        gap: 10px;
        padding: 10px;
        margin: 10px auto 20px;
    }
	
    .course-img img {
        height: 200px;
    }
	
    .course-title {
        font-size: 20px;
    }
	
    .course-price {
        font-size: 15px;
    }
	
    .course-description {
        font-size: 13px;
    }

    /* Buy Now button adjustments */
    .buy-now-btn {
        padding: 8px 15px;
        font-size: 14px;
    }

    /* Footer adjustments */
    footer {
        padding: 15px 5px 5px;
        gap: 8px;
    }
	
    .footer-text {
        padding: 0px 5px;
        gap: 10px;
    }
	
    .nav-footer li a, .footer-contacts p, .contact-line {
        font-size: 13px;
    }
	
    .contact-line img {
        height: 20px;
    }
	
    .copyright {
        font-size: 12px;
    }
}