/* ==========================================================================
   ResQmed SVG Icon System
   Colors SVG icons using CSS currentColor inheritance
   All icons in this system are Line/Solid variants with NO inline fill
   ========================================================================== */

/* Icon sizing utilities */
.icon-sm  { width: 24px;  height: 24px; }
.icon-md  { width: 48px;  height: 48px; }
.icon-lg  { width: 72px;  height: 72px; }
.icon-xl  { width: 100px; height: 100px; }

/* Icon service card - circle background */
.icon-service-circle {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: rgba(0, 78, 137, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}
.icon-service-circle:hover {
    background-color: var(--resqmed-blue);
}
.icon-service-circle svg {
    width: 40px;
    height: 40px;
    fill: none;
    stroke: var(--resqmed-blue);
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: all 0.3s ease;
}
.icon-service-circle:hover svg {
    stroke: var(--resqmed-white);
}

/* Blue colored icons */
.icon-blue svg,
.icon-blue svg path,
.icon-blue svg circle,
.icon-blue svg rect,
.icon-blue svg polygon,
.icon-blue svg ellipse {
    stroke: var(--resqmed-blue);
    fill: var(--resqmed-blue);
}

/* Red colored icons */
.icon-red svg,
.icon-red svg path,
.icon-red svg circle,
.icon-red svg rect,
.icon-red svg polygon,
.icon-red svg ellipse {
    stroke: var(--resqmed-red);
    fill: var(--resqmed-red);
}

/* White colored icons (for dark backgrounds) */
.icon-white svg,
.icon-white svg path,
.icon-white svg circle,
.icon-white svg rect,
.icon-white svg polygon,
.icon-white svg ellipse {
    stroke: var(--resqmed-white);
    fill: var(--resqmed-white);
}

/* Gray colored icons */
.icon-gray svg,
.icon-gray svg path,
.icon-gray svg circle,
.icon-gray svg rect,
.icon-gray svg polygon,
.icon-gray svg ellipse {
    stroke: var(--resqmed-gray);
    fill: var(--resqmed-gray);
}

/* Line style icons (fill none, stroke colored) */
.icon-line svg {
    fill: none !important;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.icon-line svg path,
.icon-line svg circle,
.icon-line svg rect,
.icon-line svg polygon,
.icon-line svg ellipse {
    fill: none !important;
}

/* Solid style icons (stroke none, fill colored) */
.icon-solid svg {
    stroke: none !important;
}
.icon-solid svg path,
.icon-solid svg circle,
.icon-solid svg rect,
.icon-solid svg polygon,
.icon-solid svg ellipse {
    stroke: none !important;
}

/* Header icon styling */
.header-contact-info-style1 .icon svg {
    width: 100%;
    height: 100%;
    fill: var(--resqmed-blue);
}

/* Footer icon styling */
.footer-style1 .icon svg {
    fill: var(--resqmed-white);
}

/* Service section icon grid */
.service-style1__icon {
    display: flex;
    align-items: center;
    justify-content: center;
}
.service-style1__icon svg {
    width: 60px;
    height: 60px;
}
