/* Global SVG constraints */
svg {
    width: 1.5rem !important;
    height: 1.5rem !important;
    max-width: 1.5rem !important;
    max-height: 1.5rem !important;
    flex-shrink: 0 !important;
}

/* Specific size classes */
svg.w-4.h-4 {
    width: 1rem !important;
    height: 1rem !important;
    max-width: 1rem !important;
    max-height: 1rem !important;
}

svg.w-5.h-5 {
    width: 1.25rem !important;
    height: 1.25rem !important;
    max-width: 1.25rem !important;
    max-height: 1.25rem !important;
}

svg.w-6.h-6 {
    width: 1.5rem !important;
    height: 1.5rem !important;
    max-width: 1.5rem !important;
    max-height: 1.5rem !important;
}

/* Logo specific sizing */
.logo svg {
    width: auto !important;
    height: 2.5rem !important;
    max-height: 2.5rem !important;
}

/* Header and navigation icons */
header svg, nav svg {
    width: 1.25rem !important;
    height: 1.25rem !important;
}

/* Footer social icons */
footer .social-icons svg {
    width: 1.25rem !important;
    height: 1.25rem !important;
}

/* Contact info icons */
.contact-info svg {
    width: 1rem !important;
    height: 1rem !important;
    margin-top: 0.25rem;
}

/* Button icons */
button svg {
    width: 1rem !important;
    height: 1rem !important;
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.5rem;
}

/* Ensure proper stroke rendering */
svg[stroke="currentColor"] path {
    vector-effect: non-scaling-stroke;
} 