/* Scope the approved layout to shortcode cards, including cards inside prose. */
#main .oc-shortcode-list--compact {
    container: oc-compact-list / inline-size;
    padding: 0 !important; border: 0 !important; border-radius: 0 !important;
    box-shadow: none !important;
}
#main .oc-shortcode-list--compact .oc-shortcode-list__items { gap: 20px !important; }
body.home #main .oc-casino-list .oc-shortcode-list--compact .oc-shortcode-list__items { margin-inline: 24px; }
#main .oc-shortcode-list .oc-compact-cta {
    position: relative; isolation: isolate;
    display: grid !important;
    grid-template-columns: 128px minmax(0, 1fr) 190px !important;
    grid-template-areas: 'brand offer actions' 'terms terms terms';
    grid-template-rows: 1fr auto;
    gap: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #dbe1ed !important;
    border-radius: 8px !important;
    box-shadow: 0 6px 18px #15254108 !important;
    transform: none !important;
    overflow: visible !important;
    letter-spacing: 0;
}
#main .oc-shortcode-list .oc-compact-cta--with-reviews {
    grid-template-columns: 128px minmax(0, 1.3fr) minmax(220px, .9fr) 190px !important;
    grid-template-areas: 'brand offer feedback actions' 'terms terms terms terms';
}
#main .oc-compact-cta > * { min-width: 0; }
#main .oc-compact-cta > .oc-shortcode-row__casino { grid-area: brand !important; }
#main .oc-compact-cta .oc-brand-panel {
    min-height: 0; height: 100%; padding: 34px 10px 18px; gap: 8px;
    border-radius: 7px 0 0 0;
}
#main .oc-compact-cta .oc-rank-corner {
    width: 32px; height: 32px; font-size: 17px; border-radius: 7px 0 6px 0;
}
#main .oc-compact-cta .oc-brand-panel .oc-logo-medallion {
    width: 108px !important; max-width: 100% !important; height: 61px !important;
    min-height: 0 !important; margin: 0 !important; padding: 0 !important;
}
#main .oc-compact-cta .oc-brand-panel .oc-logo-medallion img {
    width: auto !important; max-width: 100% !important;
    height: auto !important; max-height: 61px !important; object-fit: contain !important;
}
#main .oc-compact-cta .oc-casino-meta-rating {
    display: flex; flex-direction: column; align-items: center; gap: 1px;
    margin: 0; color: #fff; font-size: 11px; line-height: 1.4;
}
#main .oc-compact-cta .oc-casino-meta-rating strong { color: inherit; font-size: 24px; }
#main .oc-compact-cta .oc-casino-meta-rating small { color: inherit; font-size: 12px; font-weight: 400; }
#main .oc-compact-cta :is(.oc-brand-panel--all-british, .oc-brand-panel--soft-logo, .oc-brand-panel--prime, .oc-brand-panel--mega, .oc-brand-panel--playzee, .oc-brand-panel--luckster, .oc-brand-panel--magic-red, .oc-brand-panel--yeti, .oc-brand-panel--luna) .oc-casino-meta-rating { color: #24382e; }
#main .oc-compact-cta .oc-brand-panel__trust {
    display: flex; gap: 6px; width: auto; max-width: 100%; padding: 7px 6px;
    border-radius: 5px; box-shadow: none; box-sizing: border-box;
}
#main .oc-compact-cta .oc-brand-panel__trust .oc-uk-flag {
    width: 23px !important; height: 23px !important; flex: 0 0 23px;
}
#main .oc-compact-cta .oc-brand-panel__trust strong { font-size: 11px; line-height: 1.25; }
#main .oc-shortcode-list .oc-compact-cta > .oc-shortcode-row__offer {
    grid-area: offer !important; display: flex !important;
    justify-content: center; gap: 0 !important; padding: 23px 22px !important;
}
#main .oc-compact-cta .oc-shortcode-row__casino-name {
    margin: 0 0 6px; color: #2c8061; font-size: 13px; line-height: 1.4; font-weight: 600;
}
#main .oc-compact-cta .oc-shortcode-row__offer :is(h3, .oc-cta-offer) {
    margin: 0 0 18px !important; font-size: 22px !important;
    line-height: 1.2 !important; font-weight: 700 !important; overflow-wrap: anywhere;
}
#main .oc-compact-cta .oc-shortcode-row__offer :is(h3, .oc-cta-offer) a { color: #301092 !important; text-decoration: none !important; border-bottom: 0 !important; }
/* Stretch the existing offer link without nesting links or adding a second tab stop. */
#main .oc-compact-cta :is(.oc-shortcode-row__offer, .oc-shortcode-row__offer h3, .oc-cta-offer, .oc-offer-link) { position: static !important; }
#main .oc-compact-cta .oc-offer-link::after { content: ''; position: absolute; inset: 0; z-index: 1; border-radius: 8px; }
#main .oc-compact-cta .oc-offer-link:focus-visible::after { outline: 2px solid #8572ba; outline-offset: 3px; }
#main .oc-compact-cta :is(.oc-cta-player-reviews__label, .oc-shortcode-row__actions a, .oc-compare-choice, .oc-compact-cta__terms) { position: relative; z-index: 2; }
#main .oc-compact-cta .oc-shortcode-row__facts {
    display: flex; flex-direction: column; gap: 5px; margin: 0 !important;
    padding: 0 !important; list-style: none;
}
#main .oc-compact-cta .oc-shortcode-row__facts li {
    display: block; position: relative; min-height: 0; margin: 0 !important;
    padding: 0 0 0 22px !important; border: 0; border-radius: 0; background: none;
    color: #536258; font-size: 13px !important; font-weight: 500; line-height: 1.5 !important;
}
#main .oc-compact-cta .oc-shortcode-row__facts li::before {
    content: '\2192'; position: absolute; top: 0; left: 0; width: 15px; height: auto;
    border: 0; border-radius: 0; background: none; color: #2c8061; font-size: 16px; line-height: inherit;
}
#main .oc-compact-cta .oc-cta-player-reviews {
    grid-area: feedback; container-type: normal; margin: 24px 0; padding: 0 22px !important;
    border-left: 1px solid #dce3df; align-self: stretch; align-content: center;
}
#main .oc-compact-cta .oc-cta-player-reviews__label { margin-bottom: 8px; font-size: 14px; line-height: 1.5; }
#main .oc-compact-cta .oc-cta-player-reviews__summary { font-size: 13px !important; line-height: 1.6 !important; overflow-wrap: anywhere; }
#main .oc-compact-cta .oc-cta-player-reviews__full { display: inline; }
#main .oc-compact-cta .oc-cta-player-reviews__short { display: none; }
#main .oc-shortcode-list .oc-compact-cta > .oc-shortcode-row__actions {
    grid-area: actions !important; display: flex !important; flex-direction: column !important;
    justify-content: center !important; gap: 12px; padding: 22px 18px 22px 0 !important;
    align-self: stretch !important; width: auto !important; overflow: visible;
}
#main .oc-compact-cta .oc-shortcode-row__actions .oc-button {
    min-height: 54px !important; height: auto !important; padding: 12px 14px !important;
    border-radius: 6px !important; font-size: 17px !important; line-height: 1.3 !important;
    background: #b9481c !important; color: #fff !important; box-shadow: 0 7px 16px #b9481c20;
}
#main .oc-compact-cta .oc-shortcode-row__actions .oc-button::after { display: none !important; }
#main .oc-compact-cta .oc-shortcode-row__actions .oc-text-link {
    margin: 0; padding: 0; color: #301092 !important; font-size: 13px !important;
    line-height: 1.4 !important; font-weight: 500; text-align: center;
}
#main .oc-compact-cta .oc-compare-choice { gap: 7px; min-height: 28px; margin: 0; font-size: 13px; line-height: 1.4; }
#main .oc-compact-cta .oc-compare-choice input { width: 16px; height: 16px; margin: 0; }
#main .oc-compact-cta:has(input:checked) { outline: 2px solid #8572ba; outline-offset: 2px; }
#main .oc-compact-cta .oc-compact-cta__terms {
    grid-area: terms; margin: 0 !important; padding: 8px 14px !important;
    border: 0; border-top: 1px solid #dbe1ed; border-radius: 0 0 7px 7px;
    background: transparent; color: #646d75; font-size: 12px; line-height: 1.5;
}
#main .oc-compact-cta__terms summary {
    display: list-item; width: fit-content; cursor: pointer; margin: 0; padding: 0;
    color: #356c55; font-size: 12px; font-weight: 600; line-height: 1.5;
}
#main .oc-compact-cta .oc-compact-cta__terms p {
    margin: 8px 0 0 !important; padding: 0; color: #646d75 !important;
    font-size: 12px !important; font-weight: 400 !important; line-height: 1.6 !important;
}
#main .oc-compact-cta :is(a, summary, input):focus-visible { outline: 2px solid #8572ba; outline-offset: 3px; }

/* Respond to the placement width, not just the viewport (article/sidebar layouts). */
@container oc-compact-list (max-width: 1050px) {
    #main .oc-shortcode-list .oc-compact-cta { grid-template-columns: 108px minmax(0, 1fr) 154px !important; }
    #main .oc-shortcode-list .oc-compact-cta--with-reviews { grid-template-columns: 108px minmax(0, 1.3fr) minmax(174px, .9fr) 154px !important; }
    #main .oc-compact-cta .oc-shortcode-row__offer :is(h3, .oc-cta-offer) { font-size: 20px !important; }
    #main .oc-shortcode-list .oc-compact-cta > .oc-shortcode-row__offer { padding: 20px 16px !important; }
    #main .oc-compact-cta .oc-cta-player-reviews { padding-inline: 16px !important; }
}
@container oc-compact-list (max-width: 700px) {
    body.home #main .oc-casino-list .oc-shortcode-list--compact .oc-shortcode-list__items { margin-inline: 8px; }
    #main .oc-shortcode-list .oc-compact-cta {
        grid-template-columns: 105px minmax(0, 1fr) !important;
        grid-template-areas: 'brand name' 'brand heading' 'facts facts' 'feedback feedback' 'actions actions' 'terms terms';
        grid-template-rows: auto auto auto auto auto auto;
    }
    #main .oc-shortcode-list .oc-compact-cta > .oc-shortcode-row__offer { display: contents !important; }
    #main .oc-compact-cta .oc-brand-panel { padding: 34px 8px 16px; }
    #main .oc-compact-cta .oc-brand-panel .oc-logo-medallion { width: 89px !important; height: 54px !important; }
    #main .oc-compact-cta .oc-brand-panel .oc-logo-medallion img { max-height: 54px !important; }
    #main .oc-compact-cta .oc-brand-panel__trust { flex-direction: column; gap: 3px; text-align: center; padding: 4px 6px; }
    #main .oc-compact-cta .oc-shortcode-row__casino-name { grid-area: name; margin: 0; padding: 16px 14px 6px; align-self: end; }
    #main .oc-compact-cta .oc-shortcode-row__offer :is(h3, .oc-cta-offer) { grid-area: heading; margin: 0 !important; padding: 0 14px 16px; font-size: 20px !important; }
    #main .oc-compact-cta .oc-shortcode-row__facts { grid-area: facts; padding: 14px 16px 0 !important; }
    #main .oc-compact-cta .oc-cta-player-reviews { margin: 16px 16px 0; padding: 14px 0 0 !important; border-left: 0; border-top: 1px solid #dce3df; }
    #main .oc-shortcode-list .oc-compact-cta > .oc-shortcode-row__actions {
        display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px;
        padding: 14px 16px !important;
    }
    #main .oc-compact-cta .oc-shortcode-row__actions .oc-button { grid-column: 1 / -1; }
    #main .oc-compact-cta .oc-shortcode-row__actions .oc-text-link { justify-self: start; text-align: left; }
    #main .oc-compact-cta .oc-compare-choice { justify-self: end; }
    #main .oc-compact-cta .oc-compact-cta__terms { padding: 10px 16px !important; }
    #main .oc-compact-cta__terms summary { min-height: 32px; }
}
@media (pointer: coarse) {
    #main .oc-compact-cta :is(.oc-text-link, .oc-compare-choice, summary) { min-height: 44px; align-content: center; }
}
