/* Shared site rule: align heading/body starts and vertically center visible icons in their shared media row. */
main .kc-icon-grid{align-items:stretch}
main .kc-icon-grid>.kc-aligned-icon-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;grid-row:span 3;row-gap:0;align-items:stretch;align-content:normal}
main .kc-aligned-icon-card>.kc-icon-heading{grid-row:1;padding-bottom:20px;min-width:0}
main .kc-aligned-icon-card>.kc-icon-media{grid-row:2;padding-bottom:24px;min-width:0;display:grid;align-items:center}
main .kc-aligned-icon-card>.kc-icon-body{grid-row:3;min-width:0}
main .kc-icon-media-first>.kc-aligned-icon-card>.kc-icon-media{grid-row:1}
main .kc-icon-media-first>.kc-aligned-icon-card>.kc-icon-heading{grid-row:2}
main .kc-aligned-icon-card .kc-icon-heading>:is(h2,h3,h4){margin:0;min-height:0;order:0}
main .kc-aligned-icon-card .kc-icon-heading>:is(h2,h3,h4)+:is(h2,h3,h4){margin-top:12px}
main .kc-aligned-icon-card .kc-icon-media>figure{margin:0;padding:0;border:0;grid-row:auto}
main .kc-icon-existing-grid .security-card-media{display:grid;align-items:center}
main .kc-icon-existing-grid>.xpel-product-card>figure:has(.kc-icon-artwork){display:grid;align-items:center;align-self:stretch}
main .kc-icon-artwork{position:relative;display:block;max-width:100%;overflow:hidden;flex:none}
main .xpel-product-card .kc-icon-artwork,main .tm-driving-card .kc-icon-artwork{margin-inline:auto}
/* Inline geometry describes the original image's alpha bounds, not a modified image. */
main img.kc-aligned-icon-image{position:absolute!important;display:block!important;max-width:none!important;max-height:none!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;object-fit:fill!important;transform:none!important}
main .kc-aligned-icon-card .kc-icon-body>:first-child,
main .kc-aligned-icon-card .kc-icon-body :is(p,ul,ol):first-child{margin-top:0}
main .kc-aligned-icon-card .kc-icon-body ul:first-child>li:first-child{padding-top:0;margin-top:0}
main .kc-aligned-icon-card .kc-icon-body ul:first-child>li:first-child:before{top:0}
/* Preserve centered five-card groups while sharing their internal rows. */
main .xpel-card-grid.kc-icon-balanced-five{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
main .kc-icon-balanced-five>.kc-aligned-icon-card{grid-column:span 2}
main .kc-icon-balanced-five>.kc-aligned-icon-card:nth-child(4){grid-column:2/span 2}
@media(max-width:1050px){
 main .xpel-card-grid.kc-icon-balanced-five{grid-template-columns:repeat(4,minmax(0,1fr))}
 main .kc-icon-balanced-five>.kc-aligned-icon-card:nth-child(4){grid-column:span 2}
 main .kc-icon-balanced-five>.kc-aligned-icon-card:last-child{grid-column:2/span 2}
}
@media(max-width:700px){
 main .xpel-card-grid.kc-icon-balanced-five{grid-template-columns:1fr}
 main.xpel-about .kc-icon-grid>.kc-aligned-icon-card{display:block;grid-column:auto;grid-row:auto}
 main.xpel-about .kc-icon-grid .kc-icon-artwork{margin-inline:0}
}
@media(max-width:600px){main.tm-page .kc-icon-grid>.kc-aligned-icon-card{display:block;grid-row:auto;grid-column:auto}}
@supports not(grid-template-rows:subgrid){main .kc-icon-grid>.kc-aligned-icon-card{display:block}}
@media print{main .kc-icon-grid>.kc-aligned-icon-card{display:block;break-inside:avoid}}
