/* Main Styles - Adaptiva Solutions Public Site */

* {
    scroll-behavior: smooth;
}

/* 
   FLUID TYPOGRAPHY SETUP
   Scale the UI based on viewport width (vw) for consistent design proportions.
   Target: 2560px width uses 16px (100%) base size.
   1920px (Full HD) uses ~12px base size preventing "gigantic" elements.
*/
html {
    font-size: 16px; /* Mobile/Base default */
}

@media (min-width: 1024px) {
    html {
        /* 0.625vw = 16px at 2560px width */
        font-size: clamp(12px, 0.625vw, 18px);
    }
}

body {
    font-family: 'Inter', 'Roboto', sans-serif;
}

/* Main content area */
main {
    display: block;
}

/* Sections fill naturally */
main > section {
    display: block;
}

footer {
    flex-shrink: 0;
}

/* Navigation Styles */
.sticky-nav {
    position: sticky;
    top: 0;
    z-index: 50;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.nav-scrolled {
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

/* Responsive Typography - Mobile First */
/* Base styles (mobile) */
h1 { font-size: 1.875rem; } /* 30px */
h2 { font-size: 1.5rem; }   /* 24px */
h3 { font-size: 1.25rem; }  /* 20px */

/* Desktop typography (641px and up) */
@media (min-width: 641px) {
    h1 { font-size: 2.25rem; }  /* 36px */
    h2 { font-size: 1.875rem; } /* 30px */
    h3 { font-size: 1.5rem; }   /* 24px */
}

/* Utility Classes */
.aspect-square {
    aspect-ratio: 1 / 1;
}

/* Mobile-friendly touch targets - Mobile First */
/* Base styles: touch-friendly sizes for mobile */
button, a {
    min-height: 2.75rem; /* iOS recommended touch target */
}

/* Desktop: reset min-height for inline links */
@media (min-width: 769px) {
    a:not(.btn):not([class*="button"]) {
        min-height: auto;
    }
}

/* Markdown Content Styling */
.markdown-content h3 {
    font-size: 1.5rem; /* text-2xl */
    font-weight: 700;
    color: #111827;
    margin-bottom: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

/* --- Adaptiva Coherent Theme --- */

/* Standard Section Backgrounds */
.section-white, .section-gray {
    background-color: #F8FAFC; /* Light Blue/Slate tint for consistency */
}

/* Header Accents */
.section-header-accent {
    height: 0.25rem;
    width: 4rem;
    background-color: #12229D; /* brand-primary */
    margin: 1.5rem auto 0;
    border-radius: 0.125rem;
}

/* Animations */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in {
    animation: fadeIn 0.8s ease-out forwards;
}

@keyframes pulse-slow {
    0%, 100% { transform: scale(1); opacity: 0.1; }
    50% { transform: scale(1.1); opacity: 0.2; }
}

.animate-pulse-slow {
    animation: pulse-slow 4s infinite ease-in-out;
}


/* Unified Card Styling */
.adaptiva-card {
    background-color: #FFFFFF;
    border-radius: 1rem; /* rounded-2xl */
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    height: 100%;
}

.adaptiva-card:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    transform: translateY(-4px);
}

.card-accent-top {
    border-top: 0.25rem solid #12229D;
}

.card-accent-left {
    border-left: 0.5rem solid #12229D;
}

/* Icon Container Styling */
.icon-container-soft {
    width: 4rem;
    height: 4rem;
    background-color: rgba(0, 156, 227, 0.1); /* brand-secondary 10% */
    border: 0.09375rem solid rgba(0, 156, 227, 0.2);
    border-radius: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.icon-container-soft img, 
.icon-container-soft svg {
    width: 2rem !important;
    height: 2rem !important;
    color: #009CE3; /* brand-secondary */
    object-fit: contain;
}

/* Icon Container Styling (Desktop) */
@media (min-width: 768px) {
    .icon-container-soft {
        width: 6.25rem;
        height: 6.25rem;
        border-width: 0.125rem;
        border-radius: 2.25rem; /* even more rounded matching user request */
    }

    .icon-container-soft img, 
    .icon-container-soft svg {
        width: 3.125rem !important;
        height: 3.125rem !important;
    }
}

/* ------------------------------ */

.markdown-content ul {
    list-style-type: none;
    padding-left: 0;
}
.markdown-content li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.5rem;
}
.markdown-content li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #3b82f6; /* Blue shade matching theme */
    font-weight: bold;
}

/* Smooth transitions for mobile menu */
#mobile-menu {
    transition: max-height 0.3s ease-in-out;
}

