/*
 * Official service logos — clean display, no extra stroke/frame
 */

:root {
    --logo-size-sm: 44px;
    --logo-size-md: 56px;
    --logo-size-lg: 68px;
    --logo-size-xl: 80px;
}

/* Plain logo wrapper — no gradient tile, no border */
body:not(.admin-body) .service-logo-wrap {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    padding: 0;
    margin: 0;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0;
}

body:not(.admin-body) .service-logo-wrap--sm { width: var(--logo-size-sm); height: var(--logo-size-sm); }
body:not(.admin-body) .service-logo-wrap--md { width: var(--logo-size-md); height: var(--logo-size-md); }
body:not(.admin-body) .service-logo-wrap--lg { width: var(--logo-size-lg); height: var(--logo-size-lg); }
body:not(.admin-body) .service-logo-wrap--xl { width: var(--logo-size-xl); height: var(--logo-size-xl); }

body:not(.admin-body) .service-logo-wrap img,
body:not(.admin-body) .service-logo--official {
    width: 100% !important;
    height: 100% !important;
    max-width: 100%;
    max-height: 100%;
    padding: 0 !important;
    margin: 0;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    object-fit: contain !important;
}

/* Strip decorative tile frame when official logo is inside */
body:not(.admin-body) .about-icon-tile:has(.service-logo--official),
body:not(.admin-body) .about-expertise-card__icon:has(.service-logo--official) {
    width: var(--logo-size-md) !important;
    height: var(--logo-size-md) !important;
    flex: 0 0 var(--logo-size-md) !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

body:not(.admin-body) .about-expertise-card__icon:has(.service-logo--official) {
    width: var(--logo-size-lg) !important;
    height: var(--logo-size-lg) !important;
}

body:not(.admin-body) .about-icon-tile:has(.service-logo--official) img,
body:not(.admin-body) .about-expertise-card__icon:has(.service-logo--official) img {
    width: 100% !important;
    height: 100% !important;
}

/* Catalog product logos — see catalog-products.css */

/* Hero master rail */
body:not(.admin-body) .hero-master-rail__card img[src*="official/"],
body:not(.admin-body) .hero-master-rail__card .service-logo--official {
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
}

/* Homepage client slider — sizing handled in smooth-sliders.css */

body:not(.admin-body) .about-enterprise-page .about-rail-viewport {
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 2%, #000 98%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 2%, #000 98%, transparent 100%);
}

body:not(.admin-body) .about-enterprise-page .about-institution-pill .service-logo-wrap--md {
    width: var(--logo-size-lg);
    height: var(--logo-size-lg);
}

/* Snapshot & journey */
body:not(.admin-body) .about-enterprise-page .about-snapshot-stat__top .service-logo-wrap--md {
    width: var(--logo-size-md);
    height: var(--logo-size-md);
}

body:not(.admin-body) .about-enterprise-page .about-journey-step__icon.service-logo-wrap--sm {
    width: var(--logo-size-sm);
    height: var(--logo-size-sm);
}

/* Trusted strip */
body:not(.admin-body) .about-enterprise-page .about-trust-strip .service-logo-wrap--md {
    width: var(--logo-size-md);
    height: var(--logo-size-md);
}

/* Expertise cards — slightly taller for bigger logos */
body:not(.admin-body) .about-enterprise-page .about-expertise-card--v2 {
    min-height: 108px !important;
    gap: 10px !important;
}

body:not(.admin-body) .about-enterprise-page .about-expertise-grid--v2 {
    grid-template-columns: repeat(auto-fill, minmax(156px, 1fr)) !important;
}

/* Generic SVG icons (non-official) keep modest padding */
body:not(.admin-body) .product-visual img[src*="service-icons"]:not(.service-logo--official),
body:not(.admin-body) .product-visual img[src$=".svg"]:not(.service-logo--official),
body:not(.admin-body) .product-visual .amc-visual--service,
body:not(.admin-body) .product-visual .amc-visual--ui {
    padding: 0 !important;
}
