/* Placement and PetXP typography; the application owns media, links and rotation. */
.px-banner-slot{min-width:0;max-width:100%;margin:0;align-self:stretch}
.px-banner-slot.px-container{max-width:var(--px-width)}
.px-banner-slot>.pb-group{border-radius:calc(var(--px-radius) + 4px);overflow:hidden}
.px-banner-slot .pb-copy,.px-banner-slot .pb-html{font-family:var(--px-font)}
.px-banner-slot .pb-copy .pb-copy-heading{font-family:var(--px-font);overflow-wrap:break-word}
.px-banner-slot .pb-copy .pb-copy-body,.px-banner-slot .pb-copy .pb-copy-button{font-family:var(--px-font)}
.px-banner-slot .pb-copy .pb-copy-button{border-radius:var(--px-radius);background:var(--px-primary);color:#fff;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.px-banner-slot .pb-dot.pb-active{background:var(--px-primary)}
.px-banner-slot .pb-prev,.px-banner-slot .pb-next{width:44px;height:44px}
.px-banner-slot .pb-item-composite.pb-layout-below>.pb-link{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(160px,1fr);align-items:center;gap:12px;background:var(--px-soft);padding:24px;color:var(--px-text)}
.px-banner-slot .pb-layout-below>.pb-link>picture{grid-column:2;grid-row:1}
.px-banner-slot .pb-layout-below>.pb-link>picture>img{max-height:180px;object-fit:contain}
.px-banner-slot .pb-layout-below>.pb-link>.pb-copy{grid-column:1;grid-row:1;padding:0;background:transparent;color:var(--px-text);min-width:0}
.px-banner-slot--home_main .pb-item-composite.pb-layout-below>.pb-link{min-height:340px;padding:clamp(24px,3vw,44px);background:#dff1f1}
.px-banner-slot--home_main .pb-layout-below>.pb-link>picture>img{max-height:280px}
.px-banner-slot--home_main .pb-copy .pb-copy-heading{font-size:clamp(28px,3vw,46px)}
.px-home-native-main{min-width:0}
.px-home-native-main>.px-banner-slot,.px-home-native-main .pb-static,.px-home-native-main .pb-static>.pb-item,.px-home-native-main .pb-item-composite.pb-layout-below>.pb-link{height:100%}
.px-home-promos>.px-banner-slot{min-width:0}
.px-home-promos .px-banner-slot .pb-item-composite.pb-layout-below>.pb-link{grid-template-columns:minmax(0,1fr) minmax(60px,.45fr);min-height:160px;padding:20px;gap:10px}
.px-home-promos .px-banner-slot .pb-copy .pb-copy-heading{font-size:21px}
.px-home-promos .px-banner-slot .pb-copy .pb-copy-body{font-size:14px}
.px-home-promos .px-banner-slot .pb-layout-below>.pb-link>picture>img{max-height:140px}
.px-banner-slot--category,.px-banner-slot--blog_stream{grid-column:1/-1}
.px-banner-slot--blog_post{margin-top:28px}
.px-banner-slot--footer{padding-block:24px}
.px-banner-slot--top{padding-block:10px}
.px-banner-slot--top .pb-html{padding:8px 16px;background:var(--px-soft);font-size:14px}
.px-banner-slot--top .pb-html>:first-child{margin-top:0}.px-banner-slot--top .pb-html>:last-child{margin-bottom:0}
@media(max-width:767px){.px-banner-slot .pb-item-composite.pb-layout-below>.pb-link{grid-template-columns:minmax(0,1fr) 96px;padding:20px;gap:12px}.px-banner-slot .pb-layout-below>.pb-link>picture>img{max-height:112px}.px-banner-slot .pb-copy .pb-copy-heading{font-size:21px}.px-banner-slot .pb-copy .pb-copy-body{font-size:14px}.px-banner-slot--home_main .pb-item-composite.pb-layout-below>.pb-link{grid-template-columns:minmax(0,1fr);min-height:0;padding:24px}.px-banner-slot--home_main .pb-layout-below>.pb-link>picture{grid-column:1;grid-row:2}.px-banner-slot--home_main .pb-layout-below>.pb-link>picture>img{max-height:200px}.px-banner-slot--home_main .pb-copy .pb-copy-heading{font-size:30px}}
@media(max-width:639px){.px-home-promos .px-banner-slot .pb-item-composite.pb-layout-below>.pb-link{grid-template-columns:minmax(0,1fr);padding:18px 14px}.px-home-promos .px-banner-slot .pb-layout-below>.pb-link>picture{display:none}.px-home-promos .px-banner-slot .pb-copy .pb-copy-heading{font-size:18px}.px-home-promos .px-banner-slot .pb-copy .pb-copy-body{font-size:13px}.px-banner-slot--footer{padding-block:18px}}
@media(max-width:359px){.px-banner-slot:not(.px-banner-slot--home_main) .pb-item-composite.pb-layout-below>.pb-link{grid-template-columns:minmax(0,1fr) 72px;padding:16px;gap:10px}}

/* Image-only files must not determine the height of the homepage composition.
   Contain keeps baked-in text visible; image+HTML copy retains its own layout. */
.px-banner-slot--home_main .pb-item:not(.pb-item-composite):not(.pb-item-html),.px-home-promos .px-banner-slot .pb-item:not(.pb-item-composite):not(.pb-item-html){position:relative;aspect-ratio:12 / 5;height:auto;min-height:0;background:var(--px-soft)}
.px-banner-slot--home_main .pb-item:not(.pb-item-composite):not(.pb-item-html)>.pb-link,.px-home-promos .px-banner-slot .pb-item:not(.pb-item-composite):not(.pb-item-html)>.pb-link{position:absolute;inset:0;display:block;width:100%;height:100%}
.px-banner-slot--home_main .pb-item:not(.pb-item-composite):not(.pb-item-html)>.pb-link>picture,.px-home-promos .px-banner-slot .pb-item:not(.pb-item-composite):not(.pb-item-html)>.pb-link>picture{display:block;width:100%;height:100%}
.px-banner-slot--home_main .pb-item:not(.pb-item-composite):not(.pb-item-html)>.pb-link img,.px-home-promos .px-banner-slot .pb-item:not(.pb-item-composite):not(.pb-item-html)>.pb-link img{position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:var(--pb-fit,contain)}
@media(max-width:639px){.px-banner-slot--home_main .pb-item:not(.pb-item-composite):not(.pb-item-html){aspect-ratio:4 / 3}.px-home-promos .px-banner-slot .pb-item:not(.pb-item-composite):not(.pb-item-html){aspect-ratio:1 / 1}}

/* Per-placement viewport controls. Collapse composition wrappers as well as the banner. */
.px-banner-slot:is(.px-banner-slot--category,.px-banner-slot--blog_stream,.px-banner-slot--blog_post,.px-banner-slot--footer) .pb-item:not(.pb-item-composite):not(.pb-item-html){position:relative;aspect-ratio:4 / 1;height:auto;min-height:0;background:var(--px-soft)}
.px-banner-slot:is(.px-banner-slot--category,.px-banner-slot--blog_stream,.px-banner-slot--blog_post,.px-banner-slot--footer) .pb-item:not(.pb-item-composite):not(.pb-item-html)>.pb-link{position:absolute;inset:0;display:block;width:100%;height:100%}
.px-banner-slot:is(.px-banner-slot--category,.px-banner-slot--blog_stream,.px-banner-slot--blog_post,.px-banner-slot--footer) .pb-item:not(.pb-item-composite):not(.pb-item-html)>.pb-link>picture{display:block;width:100%;height:100%}
.px-banner-slot:is(.px-banner-slot--category,.px-banner-slot--blog_stream,.px-banner-slot--blog_post,.px-banner-slot--footer) .pb-item:not(.pb-item-composite):not(.pb-item-html)>.pb-link img{position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:var(--pb-fit,contain)}
@media(min-width:768px){
 [data-px-banner-desktop="0"]{display:none!important}
 .px-home-native-main:has(>[data-px-banner-desktop="0"]),.px-home-promos:not(:has(>:not([data-px-banner-desktop="0"]))){display:none}
 .px-home-intro:has(>.px-home-native-main>[data-px-banner-desktop="0"]),.px-home-intro:not(:has(>.px-home-promos>:not([data-px-banner-desktop="0"]))){grid-template-columns:minmax(0,1fr)}
 .px-home-intro:has(>.px-home-native-main>[data-px-banner-desktop="0"]):not(:has(>.px-home-promos>:not([data-px-banner-desktop="0"]))){display:none}
}
@media(max-width:767px){
 .px-banner-slot:is(.px-banner-slot--category,.px-banner-slot--blog_stream,.px-banner-slot--blog_post,.px-banner-slot--footer) .pb-item:not(.pb-item-composite):not(.pb-item-html){aspect-ratio:2 / 1}
 [data-px-banner-mobile="0"]{display:none!important}
 .px-home-native-main:has(>[data-px-banner-mobile="0"]),.px-home-promos:not(:has(>:not([data-px-banner-mobile="0"]))){display:none}
 .px-home-intro:has(>.px-home-native-main>[data-px-banner-mobile="0"]),.px-home-intro:not(:has(>.px-home-promos>:not([data-px-banner-mobile="0"]))){grid-template-columns:minmax(0,1fr)}
 .px-home-intro:has(>.px-home-native-main>[data-px-banner-mobile="0"]):not(:has(>.px-home-promos>:not([data-px-banner-mobile="0"]))){display:none}
}
