/* files/style.css */

/* Google Fonts: Poppins is loaded via CDN in HTML head */
body {
    font-family: 'Poppins', sans-serif;
    background-color: #000000; /* Black background */
    color: #FFFFFF; /* Default text color: White */
    line-height: 1.6;
    margin: 0;
    padding: 0;
    scroll-behavior: smooth; /* Smooth scroll for anchor links */
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* --- Header --- */
.header {
    background-color: #000000;
    padding: 15px 0;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 5px rgba(255, 69, 0, 0.2); /* Subtle orange shadow */
}

.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo-link {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.logo {
    height: 40px; /* Adjust as needed */
    width: auto;
}

.nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 30px;
}

.nav-link {
    color: #FFFFFF;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.05em;
    transition: color 0.0s; /* No animation */
}

.nav-link:hover {
    color: #FF4500; /* Orange on hover */
}

/* --- Hero Section --- */
.hero-section {
    background-size: cover;
    background-position: center;
    height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    padding: 20px;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6); /* Dark overlay */
    z-index: 1;
}

.hero-content {
    position: relative;
    z-index: 2;
    max-width: 800px;
}

.hero-quote {
    font-family: 'Poppins', sans-serif; /* Using Poppins for quote too */
    font-size: 2.8em;
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 20px;
    line-height: 1.3;
    position: relative;
    padding: 0 20px;
}

.hero-quote::before, .hero-quote::after {
    content: '"';
    font-size: 1.5em;
    position: absolute;
    color: #FF4500;
    opacity: 0.8;
}

.hero-quote::before {
    left: 0;
    top: 0;
}

.hero-quote::after {
    right: 0;
    bottom: 0;
}

.author-name {
    font-size: 1.2em;
    color: #FF4500;
    font-weight: 600;
    display: block;
    margin-top: 10px;
}

/* --- Featured Article Section --- */
.featured-article-section {
    background-color: #1a1a1a;
    padding: 80px 0;
}

.featured-article {
    display: flex;
    gap: 40px;
    align-items: center;
}

.featured-image-col {
    flex: 1;
    min-width: 400px;
}

.featured-image {
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-radius: 8px;
}

.featured-content-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.article-title {
    font-size: 2.5em;
    color: #FF4500;
    margin-bottom: 20px;
    line-height: 1.2;
}

.article-excerpt {
    font-size: 1.1em;
    color: #E0E0E0;
    margin-bottom: 30px;
}

.cta-button {
    background-color: #FF4500;
    color: #FFFFFF;
    padding: 15px 30px;
    border: none;
    border-radius: 5px;
    font-size: 1.1em;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none; /* Important: no underline */
    display: inline-block;
    transition: background-color 0.0s; /* No animation */
}

.cta-button:hover {
    background-color: #E63900;
}

/* --- Main Content Article --- */
.main-content-article {
    padding: 80px 20px;
    background-color: #000000;
}

.main-article-heading {
    font-size: 3em;
    color: #FF4500;
    text-align: center;
    margin-bottom: 30px;
    line-height: 1.2;
}

.article-meta {
    text-align: center;
    color: #999999;
    font-size: 0.9em;
    margin-bottom: 50px;
}

.main-content-article p {
    font-size: 1.1em;
    line-height: 1.8;
    margin-bottom: 25px;
    color: #E0E0E0;
}

.main-content-article h2 {
    font-size: 2.2em;
    color: #FF4500;
    margin-top: 60px;
    margin-bottom: 25px;
    border-bottom: 2px solid rgba(255, 69, 0, 0.3);
    padding-bottom: 10px;
}

.main-content-article h3 {
    font-size: 1.8em;
    color: #FFFFFF;
    margin-top: 40px;
    margin-bottom: 20px;
}

.main-content-article strong {
    color: #FF4500;
}

/* --- General Section Styles --- */
.section-block {
    padding: 100px 0;
}

.black-bg {
    background-color: #000000;
}

.orange-gradient-bg {
    background: linear-gradient(45deg, #FF4500, #E63900); /* Orange gradient */
    color: #FFFFFF;
}

.section-title {
    font-size: 2.8em;
    text-align: center;
    margin-bottom: 20px;
    color: #FFFFFF; /* Default for all section titles */
}

.section-block.black-bg .section-title {
    color: #FF4500;
}

.section-description {
    font-size: 1.2em;
    text-align: center;
    max-width: 800px;
    margin: 0 auto 60px auto;
    color: #E0E0E0;
}

/* --- Post Grid (for Knowledge Hub and Latest Insights) --- */
.posts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 blocks in 1 row */
    gap: 30px;
}

.post-card {
    background-color: #1a1a1a;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%; /* Ensure equal height */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

.post-image-placeholder {
    width: 100%;
    height: 200px;
    background-color: #333;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.post-card h3 {
    font-size: 1.5em;
    color: #FF4500;
    margin: 20px 20px 10px 20px;
    line-height: 1.3;
}

.post-date {
    display: block;
    font-size: 0.85em;
    color: #999999;
    margin: 0 20px 15px 20px;
}

.post-excerpt {
    font-size: 1em;
    color: #CCCCCC;
    margin: 0 20px 20px 20px;
    flex-grow: 1; /* Pushes content to bottom for equal height */
}

/* --- Ideas Lab Grid (3 blocks) --- */
.grid-3-col {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.idea-card {
    background-color: #1a1a1a;
    border-radius: 8px;
    padding: 30px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%; /* Ensure equal height */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

.idea-icon {
    font-size: 3.5em;
    color: #FF4500;
    margin-bottom: 20px;
}

.idea-title {
    font-size: 1.6em;
    color: #FFFFFF;
    margin-bottom: 15px;
}

.idea-description {
    font-size: 1em;
    color: #CCCCCC;
    flex-grow: 1;
}

/* --- Innovation Tools Grid (4 blocks) --- */
.grid-4-col {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 blocks in 1 row */
    gap: 30px;
}

.tool-card {
    background-color: rgba(0, 0, 0, 0.3); /* Slightly transparent black over orange gradient */
    border-radius: 8px;
    padding: 30px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%; /* Ensure equal height */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.tool-icon {
    font-size: 3.5em;
    color: #FFFFFF;
    margin-bottom: 20px;
}

.tool-title {
    font-size: 1.6em;
    color: #FFFFFF;
    margin-bottom: 15px;
}

.tool-description {
    font-size: 1em;
    color: #E0E0E0;
    flex-grow: 1;
}

/* --- About Author Section --- */
.about-author {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

.author-photo {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    object-fit: cover;
    border: 5px solid #FFFFFF;
    margin-bottom: 30px;
}

.author-name {
    font-size: 2.5em;
    color: #FFFFFF;
    margin-bottom: 15px;
}

.author-bio {
    font-size: 1.1em;
    color: #E0E0E0;
    line-height: 1.7;
}

/* --- Team Blog / Author Wall --- */
.team-blog {
    padding: 100px 0;
}

.author-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 blocks in 1 row */
    gap: 30px;
}

.author-card {
    background-color: #1a1a1a;
    border-radius: 8px;
    padding: 30px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%; /* Ensure equal height */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

.team-author-photo {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #FF4500;
    margin-bottom: 20px;
}

.team-author-name {
    font-size: 18px;
    color: #FFFFFF;
    margin-bottom: 5px;
}

.team-author-role {
    font-size: 1em;
    color: #999999;
    margin-bottom: 20px;
}

.achievement-badges {
    list-style: none;
    padding: 0;
    margin: auto 0 0 0; /* Pushes badges to bottom */
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    text-align: left;
}

.achievement-badges li {
    font-size: 0.95em;
    color: #FF4500;
    display: flex;
    align-items: center;
    gap: 8px;
}

.achievement-badges li i {
    color: #FFFFFF;
    font-size: 1.1em;
}

/* --- Testimonials Grid (3 blocks) --- */
.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.testimonial-card {
    background-color: rgba(0, 0, 0, 0.3);
    border-radius: 8px;
    padding: 30px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%; /* Ensure equal height */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.testimonial-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #FFFFFF;
    margin-bottom: 20px;
}

.testimonial-text {
    font-size: 1.05em;
    color: #E0E0E0;
    line-height: 1.6;
    margin-bottom: 20px;
    font-style: italic;
    flex-grow: 1;
}

.testimonial-author {
    font-weight: 600;
    color: #FF4500;
    display: block;
    margin-top: auto; /* Pushes author to bottom */
}

/* --- Stats Section (3 blocks) --- */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    text-align: center;
}

.stat-item {
    background-color: #1a1a1a;
    border-radius: 8px;
    padding: 40px 20px;
    height: 100%; /* Ensure equal height */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

.stat-icon {
    font-size: 4em;
    color: #FF4500;
    margin-bottom: 20px;
}

.stat-number {
    font-size: 3em;
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 10px;
}

.stat-label {
    font-size: 1.2em;
    color: #E0E0E0;
    margin: 0;
}

/* --- Footer Section --- */
.footer-section {
    background-color: #1a1a1a;
    padding: 60px 0 30px 0;
    color: #CCCCCC;
    font-size: 0.95em;
}

.footer-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 columns */
    gap: 40px;
    border-bottom: 1px solid rgba(255, 69, 0, 0.2);
    padding-bottom: 40px;
    margin-bottom: 30px;
}

.footer-col h4 {
    font-size: 1.4em;
    color: #FF4500;
    margin-bottom: 25px;
}

.tag-cloud {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tag-cloud li a {
    background-color: #333333;
    color: #FFFFFF;
    padding: 8px 15px;
    border-radius: 20px;
    text-decoration: none;
    font-size: 0.9em;
    transition: background-color 0.0s, color 0.0s; /* No animation */
}

.tag-cloud li a:hover {
    background-color: #FF4500;
    color: #FFFFFF;
}

.comment-feed {
    list-style: none;
    padding: 0;
}

.comment-feed li {
    margin-bottom: 20px;
}

.comment-feed li:last-child {
    margin-bottom: 0;
}

.comment-author {
    font-weight: 600;
    color: #FF4500;
    display: block;
    margin-bottom: 5px;
}

.comment-text {
    color: #E0E0E0;
    font-size: 0.9em;
}

.footer-logo-link {
    display: inline-block;
    margin-bottom: 20px;
}

.footer-logo {
    height: 45px;
}

.gdpr-notice {
    font-size: 0.9em;
    line-height: 1.6;
    margin-bottom: 20px;
    color: #B0B0B0;
}

.footer-legal-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
}

.footer-legal-links li a {
    color: #FF4500;
    text-decoration: underline;
    font-size: 0.9em;
    transition: color 0.0s; /* No animation */
}

.footer-legal-links li a:hover {
    color: #FFFFFF;
}

.copyright {
    font-size: 0.85em;
    color: #999999;
    margin-top: 20px;
}

/* --- Loading Spinner for Infinite Scroll --- */
.loading-spinner {
    border: 4px solid rgba(255, 255, 255, 0.3);
    border-top: 4px solid #FF4500;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin 0.0s linear infinite; /* No actual animation, but keeps the structure */
    margin: 50px auto;
    display: none; /* Hidden by default, shown by JS */
}

ul.tag-cloud li {
    margin-bottom: 20px;
}

/* Placeholder for animation if it were allowed, but it's not */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* --- Responsive Design --- */
@media (max-width: 992px) {
    .header-container {
        flex-direction: column;
        gap: 15px;
    }

    .nav-list {
        flex-wrap: wrap;
        justify-content: center;
        gap: 15px 25px;
    }

    .hero-quote {
        font-size: 2.2em;
    }

    nav.nav-menu {
        display: none;
    }

    .featured-article {
        flex-direction: column;
    }

    .featured-image-col {
        min-width: unset;
        width: 100%;
    }

    .featured-image {
        height: 300px;
    }

    .article-title {
        font-size: 2em;
    }

    .main-article-heading {
        font-size: 2.5em;
    }

    .posts-grid,
    .grid-3-col,
    .grid-4-col,
    .author-grid,
    .testimonials-grid,
    .stats-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 blocks per row */
    }

    .section-title {
        font-size: 2.2em;
    }

    .section-description {
        font-size: 1.1em;
    }

    .footer-columns {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .hero-section {
        height: 60vh;
    }

    .hero-quote {
        font-size: 1.8em;
        margin: 0;
    }



    .author-name {
        font-size: 1em;
    }

    .featured-article-section,
    .section-block,
    .main-content-article {
        padding: 40px 20px;
    }

    

    .tool-card, .testimonial-card {
        height: auto;
    }

    .article-title {
        font-size: 1.8em;
    }

    .main-article-heading {
        font-size: 2em;
    }

    .main-content-article h2 {
        font-size: 1.8em;
    }

    .main-content-article h3 {
        font-size: 1.5em;
    }

    .posts-grid,
    .grid-3-col,
    .grid-4-col,
    .author-grid,
    .testimonials-grid,
    .stats-grid {
        grid-template-columns: 1fr; /* 1 block per row */
    }

    .section-title {
        font-size: 1.8em;
    }

    .section-description {
        font-size: 1em;
    }

    .footer-columns {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .tag-cloud {
        justify-content: center;
    }

    .comment-feed li {
        text-align: left;
    }

    .gdpr-notice-col .logo-link {
        display: block;
    }

    .footer-legal-links {
        align-items: center;
    }
}
/* New styles for .secureTermsHub content */
.secureTermsHub {
    /* Padding for the content wrapper */
    padding: 80px 20px; 
    /* Max width for readability, centered */
    max-width: 900px; 
    margin: 0 auto;
    /* Default text color for this section */
    color: #E0E0E0; 
    /* Default line height for better readability */
    line-height: 1.7;
}

.secureTermsHub h1 {
    /* Heading 1 styles */
    font-size: 2.5em; /* Not too large, relative to base font size */
    color: #FF4500; /* Primary accent color */
    margin-top: 0;
    margin-bottom: 30px;
    line-height: 1.2;
    font-weight: 700;
}

.secureTermsHub h2 {
    /* Heading 2 styles */
    font-size: 2em; /* Slightly smaller than h1 */
    color: #FFFFFF; /* White for contrast */
    margin-top: 50px;
    margin-bottom: 20px;
    line-height: 1.3;
    font-weight: 600;
    /* Subtle bottom border for separation */
    border-bottom: 1px solid rgba(255, 69, 0, 0.3); 
    padding-bottom: 10px;
}

.secureTermsHub h3 {
    /* Heading 3 styles */
    font-size: 1.7em; /* Smaller than h2 */
    color: #FF4500; /* Accent color for sub-headings */
    margin-top: 40px;
    margin-bottom: 15px;
    line-height: 1.4;
    font-weight: 600;
}

.secureTermsHub h4 {
    /* Heading 4 styles */
    font-size: 1.4em; /* Smaller than h3 */
    color: #FFFFFF; /* White for deeper sub-headings */
    margin-top: 30px;
    margin-bottom: 10px;
    line-height: 1.5;
    font-weight: 500;
}

.secureTermsHub h5 {
    /* Heading 5 styles */
    font-size: 1.2em; /* Smallest heading, useful for minor sections */
    color: #FF4500; /* Accent color */
    margin-top: 25px;
    margin-bottom: 8px;
    line-height: 1.6;
    font-weight: 500;
}

.secureTermsHub p {
    /* Paragraph styles */
    font-size: 1.05em; /* Standard paragraph text size */
    margin-bottom: 20px;
    /* Inherit color from parent .secureTermsHub */
    color: inherit; 
}

.secureTermsHub ul {
    /* Unordered list styles */
    list-style: disc; /* Default disc style */
    margin-top: 20px;
    margin-bottom: 20px;
    padding-left: 25px; /* Indent list items */
    /* Inherit color from parent .secureTermsHub */
    color: inherit; 
}

.secureTermsHub li {
    /* List item styles */
    margin-bottom: 10px; /* Spacing between list items */
    line-height: 1.6;
    /* Inherit color from parent .secureTermsHub */
    color: inherit; 
}

/* Responsive adjustments for smaller screens */
@media (max-width: 768px) {
    .secureTermsHub {
        padding: 60px 15px; /* Adjust padding for smaller screens */
    }

    .secureTermsHub h1 {
        font-size: 2em;
        margin-bottom: 25px;
    }

    .secureTermsHub h2 {
        font-size: 1.7em;
        margin-top: 40px;
        margin-bottom: 15px;
    }

    .secureTermsHub h3 {
        font-size: 1.4em;
        margin-top: 30px;
        margin-bottom: 10px;
    }

    .secureTermsHub h4 {
        font-size: 1.2em;
        margin-top: 25px;
        margin-bottom: 8px;
    }

    .secureTermsHub h5 {
        font-size: 1.1em;
        margin-top: 20px;
        margin-bottom: 5px;
    }

    .secureTermsHub p {
        font-size: 1em;
        margin-bottom: 15px;
    }

    .secureTermsHub ul {
        padding-left: 20px;
    }

    .secureTermsHub li {
        margin-bottom: 8px;
    }
}
