/* Dynamic Sizing Adjustments for Agentic SEO Manager */
/* This file contains size adjustments to make elements slightly smaller and more dynamic */

/* Global size scaling variables */
:root {
    --scale-factor: 0.85; /* Reduce all sizes by 15% */
    --font-scale: 0.9; /* Reduce font sizes by 10% */
    --spacing-scale: 0.8; /* Reduce padding/margins by 20% */
    --container-scale: 0.9; /* Reduce container sizes by 10% */
}

/* Dynamic font sizing using clamp() for responsive scaling */
body {
    font-size: clamp(0.8rem, 1.4vw, 1rem);
    line-height: clamp(1.4, 1.6, 1.8);
}

/* Headings with dynamic sizing */
h1 {
    font-size: clamp(1.6rem, 4vw, 2.2rem);
    margin: clamp(0.8rem, 2vw, 1.2rem) 0;
}

h2 {
    font-size: clamp(1.3rem, 3.2vw, 1.8rem);
    margin: clamp(0.6rem, 1.8vw, 1rem) 0;
}

h3 {
    font-size: clamp(1.1rem, 2.8vw, 1.5rem);
    margin: clamp(0.5rem, 1.5vw, 0.8rem) 0;
}

h4 {
    font-size: clamp(1rem, 2.4vw, 1.3rem);
    margin: clamp(0.4rem, 1.2vw, 0.7rem) 0;
}

h5, h6 {
    font-size: clamp(0.9rem, 2vw, 1.1rem);
    margin: clamp(0.3rem, 1vw, 0.6rem) 0;
}

/* Container and layout adjustments */
.container {
    max-width: min(90vw, 1100px);
    padding: clamp(0.8rem, 2vw, 1.5rem);
}

/* Card and section sizing */
.card, .profile-card, .workflow-card, .tool-card, .pricing-card, .contact-card, .analysis-card, .feature-card {
    padding: clamp(1rem, 3vw, 1.8rem) !important;
    margin: clamp(0.6rem, 1.5vw, 1rem) 0 !important;
    border-radius: clamp(0.4rem, 1vw, 0.8rem) !important;
}

/* Button sizing adjustments */
.button, .btn, .btn-primary, .btn-secondary, button {
    padding: clamp(0.5rem, 1.5vw, 0.8rem) clamp(0.8rem, 2.5vw, 1.4rem) !important;
    font-size: clamp(0.8rem, 1.8vw, 0.95rem) !important;
    border-radius: clamp(0.3rem, 0.8vw, 0.5rem) !important;
    min-height: clamp(2rem, 5vw, 2.8rem) !important;
    min-width: clamp(4rem, 12vw, 7rem) !important;
}

/* Form elements */
.form-input, .form-control, input, textarea, select {
    padding: clamp(0.4rem, 1.2vw, 0.7rem) clamp(0.6rem, 1.8vw, 1rem) !important;
    font-size: clamp(0.8rem, 1.6vw, 0.9rem) !important;
    border-radius: clamp(0.2rem, 0.6vw, 0.4rem) !important;
    min-height: clamp(2rem, 4vw, 2.5rem) !important;
}

.form-group {
    margin-bottom: clamp(0.8rem, 2vw, 1.2rem) !important;
}

.form-label {
    font-size: clamp(0.75rem, 1.4vw, 0.85rem) !important;
    margin-bottom: clamp(0.3rem, 0.8vw, 0.5rem) !important;
}

/* Hero section adjustments */
.hero {
    padding: clamp(2rem, 6vw, 4rem) 0 !important;
    min-height: auto !important;
}

.hero-copy {
    padding-right: clamp(0.8rem, 2.5vw, 1.5rem) !important;
}

.hero h1 {
    font-size: clamp(1.8rem, 5vw, 2.8rem) !important;
    line-height: clamp(2.2rem, 6vw, 3.2rem) !important;
}

.hero p {
    font-size: clamp(0.9rem, 2.2vw, 1.1rem) !important;
    line-height: clamp(1.3rem, 3vw, 1.6rem) !important;
}

/* Navigation and header */
.site-header {
    padding: clamp(0.6rem, 1.5vw, 1rem) 0 !important;
}

.nav-link {
    padding: clamp(0.3rem, 1vw, 0.6rem) clamp(0.6rem, 1.5vw, 1rem) !important;
    font-size: clamp(0.8rem, 1.6vw, 0.9rem) !important;
}

/* Logo sizing */
.a1-logo, .a1-logo-header, .a1-logo-footer {
    max-width: clamp(80px, 15vw, 140px) !important;
    max-height: clamp(30px, 6vw, 50px) !important;
}

/* Footer adjustments */
.site-footer {
    padding: clamp(1.5rem, 4vw, 2.5rem) 0 !important;
}

.footer-links li a {
    padding: clamp(0.2rem, 0.8vw, 0.4rem) clamp(0.4rem, 1.2vw, 0.8rem) !important;
    font-size: clamp(0.75rem, 1.4vw, 0.85rem) !important;
}

/* Profile and dashboard specific adjustments */
.profile-section {
    padding: clamp(1.2rem, 3vw, 2rem) !important;
    margin: clamp(0.8rem, 2vw, 1.2rem) 0 !important;
}

.dashboard-widget {
    padding: clamp(1rem, 2.5vw, 1.6rem) !important;
    margin: clamp(0.5rem, 1.2vw, 0.8rem) !important;
}

/* Icon sizing */
.icon, i[class*="fa"] {
    font-size: clamp(0.8rem, 2vw, 1.1rem) !important;
}

.icon-large {
    font-size: clamp(1.2rem, 3vw, 1.8rem) !important;
}

/* Table adjustments */
table {
    font-size: clamp(0.75rem, 1.4vw, 0.85rem) !important;
}

th, td {
    padding: clamp(0.4rem, 1vw, 0.7rem) clamp(0.6rem, 1.5vw, 1rem) !important;
}

/* Modal and popup adjustments */
.modal-content, .popup-content {
    padding: clamp(1.2rem, 3vw, 2rem) !important;
    max-width: min(85vw, 600px) !important;
}

/* Alert and message boxes */
.alert, .message {
    padding: clamp(0.6rem, 1.5vw, 1rem) clamp(0.8rem, 2vw, 1.2rem) !important;
    font-size: clamp(0.8rem, 1.6vw, 0.9rem) !important;
    margin: clamp(0.4rem, 1vw, 0.6rem) 0 !important;
}

/* Responsive breakpoint adjustments */
@media (max-width: 1200px) {
    :root {
        --scale-factor: 0.8;
        --font-scale: 0.85;
        --spacing-scale: 0.75;
    }
}

@media (max-width: 768px) {
    :root {
        --scale-factor: 0.75;
        --font-scale: 0.8;
        --spacing-scale: 0.7;
    }
    
    .container {
        padding: clamp(0.6rem, 1.5vw, 1rem);
    }
    
    .card, .profile-card, .workflow-card {
        padding: clamp(0.8rem, 2.5vw, 1.2rem) !important;
    }
}

@media (max-width: 480px) {
    :root {
        --scale-factor: 0.7;
        --font-scale: 0.75;
        --spacing-scale: 0.65;
    }
    
    .hero {
        padding: clamp(1.5rem, 4vw, 2.5rem) 0 !important;
    }
    
    .button, .btn {
        padding: clamp(0.4rem, 1.2vw, 0.6rem) clamp(0.6rem, 2vw, 1rem) !important;
        font-size: clamp(0.75rem, 1.6vw, 0.85rem) !important;
    }
}

/* High contrast and accessibility adjustments */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Print styles with smaller sizing */
@media print {
    body {
        font-size: 10pt !important;
    }
    
    .container {
        max-width: 100% !important;
        padding: 0.5cm !important;
    }
    
    .card, .profile-card {
        padding: 0.3cm !important;
        margin: 0.2cm 0 !important;
    }
}