/* Complete four-team tournament preview. Loaded after clubpadel.css. */
.cp-bracket{display:block;min-height:460px;padding:40px 42px}
.cp-bracket>div:not(:last-child)::after{content:none}
.cp-bracket>.cp-bracket-main{display:grid;grid-template-columns:1.25fr 1fr .78fr;align-items:center;gap:42px}
.cp-bracket-round{position:relative;display:grid;gap:7px}
.cp-bracket-round>small{position:absolute;bottom:calc(100% + 13px);left:0;z-index:2;width:max-content;margin:0;padding-right:7px;background:#071f4d}
.cp-bracket-round>small,.cp-third-place>small{color:var(--lime);font:700 8px 'Space Grotesk';letter-spacing:.17em}
.cp-match{position:relative;display:grid;gap:5px}
.cp-semifinals .cp-match+.cp-match{margin-top:22px}
.cp-match>span{position:relative}
.cp-semifinals .cp-match>span::after,.cp-final-round .cp-match>span::after,.cp-third-place .cp-match>span::after{content:'';position:absolute;left:100%;top:50%;width:10px;border-top:1px solid #35c9ef}
.cp-semifinals .cp-match::before,.cp-final-round .cp-match::before,.cp-third-place .cp-match::before{content:'';position:absolute;left:calc(100% + 9px);top:calc(25% - 1.25px);bottom:calc(25% - 1.25px);border-left:1px solid #35c9ef}
.cp-semifinals .cp-match::after{content:'';position:absolute;left:calc(100% + 9px);top:50%;width:19px;border-top:1px solid #35c9ef}
.cp-semifinals::after{content:'';position:absolute;top:calc(25% - 5.5px);right:-28px;bottom:calc(25% - 5.5px);border-right:1px solid #35c9ef}
.cp-final-round .cp-match>span::before{content:'';position:absolute;right:100%;top:50%;width:14px;border-top:1px solid #35c9ef}
.cp-final-round .cp-match::after{content:'';position:absolute;left:calc(100% + 9px);top:50%;width:33px;border-top:1px solid #35c9ef}
.cp-final-round .cp-match span,.cp-champion-round>span,.cp-third-winner{border-color:var(--lime)}
.cp-bracket>.cp-third-place{display:grid;grid-template-columns:.72fr 1.25fr .78fr;align-items:center;gap:22px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(83,205,244,.32)}
.cp-third-place .cp-match::after{content:'';position:absolute;left:calc(100% + 9px);top:50%;width:13px;border-top:1px solid #35c9ef}
.cp-third-winner{display:flex;justify-content:space-between;padding:12px;background:rgba(4,25,61,.75);border:1px solid var(--lime);font-size:10px}
.cp-third-winner b{color:var(--lime)}
@media(max-width:680px){.cp-bracket{min-height:420px;padding:28px 15px}.cp-bracket>.cp-bracket-main{grid-template-columns:1.25fr 1fr .8fr;gap:16px}.cp-bracket-round>small{bottom:calc(100% + 9px);padding-right:4px}.cp-semifinals .cp-match>span::after,.cp-final-round .cp-match>span::after{width:5px}.cp-semifinals .cp-match::before,.cp-final-round .cp-match::before{left:calc(100% + 4px)}.cp-semifinals .cp-match::after{left:calc(100% + 4px);width:7px}.cp-semifinals::after{right:-11px}.cp-final-round .cp-match>span::before{width:5px}.cp-final-round .cp-match::after{left:calc(100% + 4px);width:12px}.cp-bracket>.cp-third-place{grid-template-columns:.7fr 1.3fr .8fr;gap:8px;margin-top:24px;padding-top:18px}.cp-third-place .cp-match>span::after{width:4px}.cp-third-place .cp-match::before{left:calc(100% + 3px)}.cp-third-place .cp-match::after{left:calc(100% + 3px);width:5px}.cp-third-winner{padding:9px 6px;font-size:8px}}
