/* CDO Products editorial actions */
.cdo-editorial-map-action{margin:8px 0 0;padding:0}
.cdo-editorial-map-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none!important}
.cdo-editorial-map-link:hover,.cdo-editorial-map-link:focus,.cdo-editorial-map-link:visited{text-decoration:none!important}
.cdo-editorial-map-link i{margin:0;padding:0;line-height:1}
.cdo-editorial-map-link span{margin:0;padding:0}


/* Calendar grid status/empty states must span the full 7-column calendar.
 * The calendar shell already owns the visible border, so neutral empty states
 * must not draw a second nested outline inside it. */
.cdo-products-wrap .cdo-calendar-grid > .cdo-status{
    grid-column:1 / -1;
    width:100%;
}
.cdo-products-wrap .cdo-calendar-grid > .cdo-status:not(.is-error){
    border:0;
    border-radius:0;
    box-shadow:none;
    background:transparent;
}

/* Editorial Presentation System — semantic checklist.
 * Content owns meaning; Products/LAB-compatible CSS owns visual markers and rhythm. */
.cdo-products-wrap .cdo-editorial-checklist{
    margin:0;
    padding:0;
}
.cdo-products-wrap .cdo-editorial-checklist__group{
    margin:0;
    padding:0;
}
.cdo-products-wrap .cdo-editorial-checklist__group + .cdo-editorial-checklist__group{
    margin-top:24px;
}
.cdo-products-wrap .cdo-editorial-checklist__group > h4{
    margin:0 0 10px;
    padding:0;
}
.cdo-products-wrap .cdo-editorial-checklist__item{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:0 0 8px;
    padding:0;
    list-style:none;
}
.cdo-products-wrap .cdo-editorial-checklist__item:last-child{
    margin-bottom:0;
}
.cdo-products-wrap .cdo-editorial-checklist__marker{
    flex:0 0 18px;
    width:18px;
    margin:0;
    padding:0;
    font-weight:800;
    line-height:inherit;
    text-align:center;
}
.cdo-products-wrap .cdo-editorial-checklist__marker--included{
    color:#00d0d7;
}
.cdo-products-wrap .cdo-editorial-checklist__marker--paid-extra{
    color:#683bcd;
}
.cdo-products-wrap .cdo-editorial-checklist__marker--excluded{
    color:var(--cdo-text-muted,#777);
}
.cdo-products-wrap .cdo-editorial-checklist__marker--important{
    color:#d60051;
}

/* Product interest capture placement contract.
 * Products owns geometry; CRM owns the component internals. */
.cdo-products-interest-capture-slot--post-hero{
    margin-top:15px;
    margin-bottom:30px;
    box-shadow:none;
}


/* Games selector carousel — Products-owned presentation for [cdo_games].
 * All cards remain server-rendered / present in DOM; this only changes viewport behavior. */
.cdo-products-wrap .cdo-games-carousel-shell{
    position:relative;
    min-width:0;
}
.cdo-products-wrap .cdo-game-grid{
    align-items:stretch!important;
}
.cdo-products-wrap .cdo-game-grid > .cdo-image-card{
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    align-self:stretch;
    height:auto;
    min-height:100%;
}
.cdo-products-wrap .cdo-game-grid > .cdo-image-card .cdo-image-card-photo{
    flex:0 0 auto;
}
.cdo-products-wrap .cdo-game-grid > .cdo-image-card .cdo-image-card-body{
    box-sizing:border-box;
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
}
.cdo-products-wrap .cdo-game-card-badge-slot{
    display:flex;
    align-items:flex-start;
    min-height:32px;
    margin-bottom:10px;
}
.cdo-products-wrap .cdo-game-card-badge-slot .cdo-tag{
    margin:0!important;
}
.cdo-products-wrap .cdo-game-grid > .cdo-image-card h3{
    display:-webkit-box;
    min-height:2.24em;
    overflow:hidden;
    line-height:1.12;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}
.cdo-products-wrap .cdo-game-grid > .cdo-image-card .cdo-product-price{
    margin-top:auto;
    padding-top:18px;
}
.cdo-products-wrap .cdo-games-product-selector-grid.cdo-games-display-slider,
.cdo-products-wrap [data-cdo-ssr-selector] .cdo-game-grid.cdo-games-display-slider{
    --cdo-games-carousel-gap:var(--cdo-ds-space-4,16px);
    display:flex!important;
    align-items:stretch!important;
    grid-template-columns:none!important;
    gap:var(--cdo-games-carousel-gap)!important;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding:2px 2px 12px;
}
.cdo-products-wrap .cdo-games-product-selector-grid.cdo-games-display-slider::-webkit-scrollbar,
.cdo-products-wrap [data-cdo-ssr-selector] .cdo-game-grid.cdo-games-display-slider::-webkit-scrollbar{
    display:none;
}
.cdo-products-wrap .cdo-games-product-selector-grid.cdo-games-display-slider > .cdo-image-card,
.cdo-products-wrap [data-cdo-ssr-selector] .cdo-game-grid.cdo-games-display-slider > .cdo-image-card{
    flex:0 0 calc((100% - (3 * var(--cdo-games-carousel-gap))) / 4);
    min-width:0;
    scroll-snap-align:start;
    scroll-snap-stop:normal;
}
.cdo-products-wrap .cdo-games-carousel-head{
    align-items:flex-start;
}
.cdo-products-wrap .cdo-games-carousel-actions{
    display:inline-flex;
    flex:0 0 auto;
    align-items:center;
    gap:10px;
    margin-left:auto;
}
.cdo-products-wrap .cdo-games-carousel-actions[hidden]{
    display:none!important;
}
.cdo-products-wrap .cdo-games-carousel-nav{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    padding:0;
    border:0;
    border-radius:50%;
    background:color-mix(in srgb,var(--cdo-ds-color-heading,#19345b) 7%,var(--cdo-ds-color-surface,#fff));
    color:var(--cdo-ds-color-heading,#19345b);
    box-shadow:none;
    cursor:pointer;
    transition:opacity .15s ease,background .15s ease,color .15s ease;
}
.cdo-products-wrap .cdo-games-carousel-nav:disabled{
    opacity:.28;
    cursor:default;
}
.cdo-products-wrap .cdo-games-carousel-nav:not(:disabled):hover,
.cdo-products-wrap .cdo-games-carousel-nav:not(:disabled):focus-visible{
    background:color-mix(in srgb,var(--cdo-ds-color-heading,#19345b) 12%,var(--cdo-ds-color-surface,#fff));
    color:var(--cdo-ds-color-heading,#19345b);
}
.cdo-products-wrap .cdo-games-carousel-dots{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:10px;
    padding-top:18px;
}
.cdo-products-wrap .cdo-games-carousel-dots[hidden]{
    display:none!important;
}
.cdo-products-wrap .cdo-games-carousel-dot{
    width:8px;
    height:8px;
    padding:0;
    border:0;
    border-radius:999px;
    background:color-mix(in srgb,var(--cdo-ds-color-heading,#19345b) 16%,var(--cdo-ds-color-surface,#fff));
    cursor:pointer;
    transition:width .18s ease,background .18s ease,opacity .18s ease;
}
.cdo-products-wrap .cdo-games-carousel-dot:hover,
.cdo-products-wrap .cdo-games-carousel-dot:focus-visible{
    opacity:.72;
}
.cdo-products-wrap .cdo-games-carousel-dot.is-active{
    width:34px;
    background:var(--cdo-ds-color-primary,#683bcd);
    opacity:1;
}
@media (max-width:1024px){
    .cdo-products-wrap .cdo-games-product-selector-grid.cdo-games-display-slider > .cdo-image-card,
    .cdo-products-wrap [data-cdo-ssr-selector] .cdo-game-grid.cdo-games-display-slider > .cdo-image-card{
        flex-basis:calc((100% - var(--cdo-games-carousel-gap)) / 2);
    }
}
@media (max-width:767px){
    .cdo-products-wrap .cdo-games-product-selector-grid.cdo-games-display-slider,
    .cdo-products-wrap [data-cdo-ssr-selector] .cdo-game-grid.cdo-games-display-slider{
        padding-right:12%;
        scroll-padding-inline:2px;
    }
    .cdo-products-wrap .cdo-games-product-selector-grid.cdo-games-display-slider > .cdo-image-card,
    .cdo-products-wrap [data-cdo-ssr-selector] .cdo-game-grid.cdo-games-display-slider > .cdo-image-card{
        flex-basis:88%;
    }
    .cdo-products-wrap .cdo-games-carousel-actions{display:none!important}
    .cdo-products-wrap .cdo-games-carousel-dots{padding-top:14px}
}
