/* SIN DOM v1.20 — Cup Journey + interaction / typography refinements.
   Uses permanent brand tokens; no new SVG-drawn UI iconography. */
@import url('brand-tokens.css');
.header .brand{display:inline-flex;align-items:center;min-width:0;line-height:1}
.sd-v120-brand-logo{display:block!important;width:clamp(170px,20vw,235px)!important;height:auto!important;max-height:62px;object-fit:contain;object-position:left center;flex-shrink:0}
.header-inner{gap:24px}
.sd-v18-title h1{letter-spacing:-.06em!important}
.sd-v18-title h1 em{color:var(--sd-brand-white)!important;text-shadow:0 7px 35px #275da477}
/* Cup pulse must have the same optical typography as the other ranking tiles. */
.sd-pulse-cell.sd-cup-tile{background:transparent;border:0;color:inherit;text-align:left;cursor:pointer;min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;padding:inherit;font:inherit}
.sd-pulse-cell.sd-cup-tile>strong{font-family:var(--sd-font-display);font-size:clamp(15px,1.7vw,22px)!important;line-height:1.18;white-space:nowrap;letter-spacing:-.06em}
.sd-pulse-cell.sd-cup-tile>strong small{font-family:var(--sd-font-body);font-size:10px!important;display:block;margin-top:4px;font-weight:800;letter-spacing:.09em;white-space:nowrap;color:#b7cbed}
.sd-pulse-cell.sd-cup-tile:hover>strong{color:var(--sd-brand-gold)}
.sd-v18-card-footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
.sd-v120-time-tv{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;max-width:calc(100% - 22px);text-align:left}
.sd-v120-tv{font-size:11px;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:1px solid currentColor;padding-left:8px;font-weight:750;letter-spacing:.02em}
.sd-v120-forward{flex:0 0 auto;font-size:21px}
.sd-v120-goals{padding:24px 0 60px}
.sd-v120-goals h2{font:800 24px/1.1 var(--sd-font-display);color:var(--sd-brand-white);margin-bottom:20px}
.sd-v120-goals>div{padding:12px 0;border-bottom:1px solid #5275a344;color:#fff;display:flex;gap:14px;align-items:center}
.sd-v120-goals>div strong{font:900 24px var(--sd-font-display);color:var(--sd-brand-gold)}
.sd-v120-cup-cta{padding:24px 0 60px}
.sd-v120-cup-cta button{border:1px solid var(--sd-brand-gold);padding:16px 22px;background:#103c94;color:white;font:800 13px var(--sd-font-display);cursor:pointer}
/* Standings league marks are displayed as original artwork without a cropping badge. */
.sd-standing-card .standing-top .comp-badge{height:auto!important;min-height:42px!important;max-height:66px!important;width:90px!important;max-width:90px!important;border:0!important;padding:0!important;background:transparent!important;border-radius:0!important;clip-path:none!important;overflow:visible!important}
.sd-standing-card .standing-top .comp-badge .comp-logo{height:56px!important;max-height:56px!important;width:88px!important;max-width:88px!important;object-fit:contain!important;object-position:center center!important;border:0!important}
.sd-standing-card .standing-top .comp-badge .comp-logo-fallback{background:#0c2f69;color:white;font-weight:900;padding:10px}
/* Bulgarian Cup journey. A deliberate editorial bracket, no ornamental SVG icons. */
.sd-v120-cup-page{--cup-ink:#06152f;background:linear-gradient(180deg,#071329 0%,#0c2350 65%,#071329 100%);color:#f7f9ff;min-height:100vh;padding-bottom:110px}
.sd-v120-cup-hero{position:relative;overflow:hidden;min-height:400px;border-bottom:2px solid #dbb96e;background:radial-gradient(ellipse at 92% 12%,#3267ac88 0%,transparent 38%),linear-gradient(112deg,#06152f 13%,#103c94 80%)}
.sd-v120-cup-hero::before{content:"1914";position:absolute;right:-2%;top:18px;font:900 clamp(95px,20vw,270px)/1 var(--sd-font-display);color:#76baff13;letter-spacing:-.08em;pointer-events:none}
.sd-v120-cup-hero::after{content:"";position:absolute;right:0;bottom:-50px;width:30vw;height:calc(100% + 100px);background:repeating-linear-gradient(125deg,transparent 0 36px,#d7b77617 37px 44px,transparent 46px 130px);transform:skewX(-8deg);pointer-events:none}
.sd-v120-cup-hero-inner{display:flex;align-items:center;justify-content:space-between;min-height:400px;padding:55px 0;gap:20px;position:relative;z-index:1}
.sd-v120-cup-hero h1{font:900 clamp(36px,6.8vw,90px)/.96 var(--sd-font-display);letter-spacing:-.075em;margin:14px 0 22px;color:#fff;text-transform:uppercase}
.sd-v120-cup-hero h1 em{font-style:normal;color:#ddb86f}
.sd-v120-cup-hero p{max-width:540px;color:#bed5f2;font-size:15px;line-height:1.65;margin:0 0 22px}
.sd-v120-cup-action{font:800 clamp(10px,1.7vw,14px) var(--sd-font-display);letter-spacing:-.01em;text-align:left;background:#ddb86f;color:#06152f;border:0;clip-path:polygon(0 0,96% 0,100% 50%,96% 100%,0 100%);padding:18px 36px 18px 20px;cursor:pointer;max-width:100%;transition:transform .22s ease,filter .22s ease}
.sd-v120-cup-action:not(:disabled):hover{transform:translateX(5px);filter:brightness(1.08)}
.sd-v120-cup-action:disabled{opacity:.58;cursor:default}
.sd-v120-cup-trophy{object-fit:contain;object-position:center;height:clamp(150px,22vw,285px);width:clamp(140px,24vw,340px);filter:drop-shadow(0 24px 26px #0009);transform:rotate(5deg)}
.sd-v120-cup-body{padding-top:45px}
.sd-v120-cup-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:23px}
.sd-v120-cup-section-head h2{font:900 clamp(21px,3.8vw,43px)/1.05 var(--sd-font-display);letter-spacing:-.055em;color:#fff;margin:8px 0 0}
.sd-v120-cup-section-head>span{font-size:11px;color:#e8c98e;font-weight:900;letter-spacing:.09em;white-space:nowrap}
.sd-v120-bracket-scroll{overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-color:#ddb86f #08172d;scrollbar-width:thin;padding:0 0 25px}
.sd-v120-bracket{display:grid;grid-template-columns:repeat(4,minmax(265px,1fr));column-gap:25px;min-width:1150px;align-items:start;position:relative}
.sd-v120-round{scroll-snap-align:start;display:flex;flex-direction:column;gap:12px;position:relative}
.sd-v120-round>h3{font:800 16px/1.2 var(--sd-font-display);color:#ddb86f;border-bottom:2px solid #ddb86f;padding:14px 0;margin:0 0 5px;white-space:nowrap}
.sd-v120-round>h3 small{float:right;font:800 10px var(--sd-font-body);color:#8eadd8;letter-spacing:.05em}
.sd-cup-fixture{min-height:83px;padding:11px 13px 9px;position:relative;border:1px solid #2c4d7b;background:linear-gradient(145deg,#122e5b,#081b37);clip-path:polygon(0 0,97% 0,100% 17%,100% 100%,0 100%);transition:border-color .25s ease,transform .25s ease}
.sd-cup-fixture::after{content:"";position:absolute;right:-21px;top:50%;width:20px;height:1px;background:#5e8bb9}
.sd-v120-round:last-child .sd-cup-fixture::after{display:none}
.sd-cup-fixture.is-levski{border-color:#ddb86f;background:linear-gradient(145deg,#164aa3,#102651);box-shadow:inset 5px 0 #ddb86f}
.sd-cup-fixture:hover{transform:translateY(-2px);border-color:#ddb86f}
.sd-cup-club{display:flex;align-items:center;gap:8px;min-height:28px;font:750 11px/1.28 var(--sd-font-body);color:#e3efff;text-transform:uppercase}
.sd-cup-club+.sd-cup-club{border-top:1px solid #4f709250}
.sd-cup-club .team-crest{max-width:23px!important;max-height:23px!important;width:23px!important;height:23px!important;flex:0 0 23px!important}
.sd-cup-fixture>small{display:block;font-size:9px;color:#e7c58a;margin-top:5px;letter-spacing:.04em}
.sd-cup-score{position:absolute;right:18px;top:24px;font:900 15px var(--sd-font-display);color:#edc472}
.sd-v120-round:nth-child(2) .sd-cup-fixture{margin-bottom:57px;min-height:90px}
.sd-v120-round:nth-child(3) .sd-cup-fixture{margin-bottom:183px;min-height:100px}
.sd-v120-round:nth-child(4) .sd-cup-fixture{min-height:115px}
.sd-v120-cup-champion{margin-top:25px;border-top:2px solid #ddb86f;padding:25px 0;display:flex;align-items:center;gap:15px}
.sd-v120-cup-champion img{width:70px;height:70px;object-fit:contain}
.sd-v120-cup-champion strong{font:900 14px var(--sd-font-display);color:#fff}
.sd-v120-cup-champion small{font-size:10px;color:#ddb86f}
.sd-v120-cup-footer{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px}
.sd-v120-cup-footer a{color:#ddb86f;text-decoration:none;font-weight:850;font-size:12px}
.sd-v120-cup-footer a:hover{text-decoration:underline}
@media(max-width:900px){.sd-v120-brand-logo{width:190px!important}.sd-v120-cup-hero-inner{min-height:350px}.sd-v120-cup-hero h1{font-size:clamp(32px,7vw,55px)}.sd-v120-cup-hero p{font-size:12px}.sd-v120-cup-trophy{width:32vw;height:170px}.sd-v120-bracket{grid-template-columns:repeat(4,270px);min-width:1155px}}
@media(max-width:540px){.sd-v120-brand-logo{width:174px!important}.sd-v120-cup-hero-inner{align-items:flex-start;min-height:390px;padding:48px 0 32px}.sd-v120-cup-hero-inner>div{position:relative;z-index:2}.sd-v120-cup-hero h1{font-size:clamp(29px,8.4vw,45px)}.sd-v120-cup-hero p{max-width:260px;font-size:12px}.sd-v120-cup-trophy{position:absolute;right:-25px;bottom:13px;width:155px;height:155px;opacity:.43;filter:drop-shadow(0 18px 22px #0009)}.sd-v120-cup-action{font-size:10px;max-width:290px}.sd-v120-cup-section-head>span{font-size:9px}.sd-v120-bracket{grid-template-columns:repeat(4,262px);min-width:1125px}.sd-pulse-cell.sd-cup-tile>strong{font-size:clamp(14px,3.65vw,22px)!important}}
@media(prefers-reduced-motion:reduce){.sd-v120-cup-action,.sd-cup-fixture{transition:none!important;transform:none!important}}
/* Keep the site-width gutter when the special hero also sets vertical padding. */
.sd-v120-cup-hero-inner{padding-inline:clamp(20px,4.6vw,68px)!important}
@media(max-width:380px){.sd-v120-cup-hero-inner{padding-inline:16px!important}}
.sd-v120-matches-cup-action{margin:20px 0 15px;display:inline-block}
/* Printed football-bracket connectors, supplied as one reusable local raster asset. */
.sd-v120-bracket{width:1150px!important;min-width:1150px!important;grid-template-columns:repeat(4,265px)!important;column-gap:30px!important;position:relative!important}
.sd-v120-bracket::before{content:"";position:absolute;inset:0;background:url('assets/brand/cup-bracket-connectors.png') 0 0 / 1150px 850px no-repeat;opacity:.85;pointer-events:none}
.sd-v120-round{z-index:1}
.sd-cup-fixture::after{display:none!important}
.sd-v120-round:nth-child(2){padding-top:43px}
.sd-v120-round:nth-child(2) .sd-cup-fixture{margin-bottom:88px}
.sd-v120-round:nth-child(3){padding-top:133px}
.sd-v120-round:nth-child(3) .sd-cup-fixture{margin-bottom:268px}
.sd-v120-round:nth-child(4){padding-top:315px}
